• Non ci sono risultati.

Laboratorio 5 Fondamenti di Ricerca Operativa

N/A
N/A
Protected

Academic year: 2021

Condividi "Laboratorio 5 Fondamenti di Ricerca Operativa"

Copied!
4
0
0

Testo completo

(1)

Laboratorio 5 Fondamenti di Ricerca Operativa

Prof. E. Amaldi

Problema del Set Packing (PLI)

Una giunta comunale deve decidere l’installazione di alcuni inceneritori scegliendo tra 10 aree A

1

, . . . , A

10

nelle vicinanze di 7 citt`a B

1

, . . . , B

7

. La seguente tabella mostra, nelle caselle segnate con “*”, se l’area `e vicina alla citt`a; la penultima riga mostra la capacit`a di ogni impianto (in tonnellate all’anno) e l’ultima il costo di installazione, in milioni di euro:

A

1

A

2

A

3

A

4

A

5

A

6

A

7

A

8

A

9

A

10

B

1

* * * * *

B

2

* * * *

B

3

* * *

B

4

* * * * * * *

B

5

* * * *

B

6

* * *

B

7

* * * * *

Capacit`a 450 720 580 460 660 390 510 1000 830 680

Costo (MEuro) 4 7 8 4 6 9 10 10 8 6

Supponendo che l’amministrazione non voglia piazzare pi` u di un impianto vicino ad ogni citt`a, formulare un modello di Programmazione Lineare Intera che risolve il problema di massimizzare la capacit`a produttiva totale degli impianti aperti, mantenendo il costo totale di installazione inferiore al budget di 25 milioni di euro.

Documento preparato da Pietro Belotti e Leo Liberti

1

(2)

Laboratorio 5 Fondamenti di Ricerca Operativa

Prof. E. Amaldi

Soluzione

Formulazione .

• Indici:

– sia i un indice sull’insieme delle aree (i ≤ m, dove m `e il numero delle aree, m = 10);

– sia j un indice sull’insieme delle citt`a (j ≤ n, dove n `e il numero delle citt`a, n = 7).

• Parametri:

– sia t

ij

= 1 se l’area i `e vicina alla citt`a j e 0 altrimenti (come da tabella nel testo del problema);

– sia c

i

il costo di installazione di un inceneritore sull’area i;

– sia C

i

la capacit`a di smaltimento di un inceneritore costruito sull’area i;

– sia B il budget disponibile (B = 25).

• Variabili: sia x

i

= 1 se un inceneritore viene costruito sull’area i e 0 altrimenti (x

i

∈ {0, 1}).

• Funzione obiettivo:

max X

m

i=1

C

i

x

i

• Vincoli:

– (ogni citt`a servita da non pi` u di un inceneritore) per ogni j ≤ n: P

m

i=1

t

ij

x

i

≤ 1;

– (budget): P

m

i=1

c

i

x

i

≤ B.

File modello in AMPL

# Inceneritori set M;

set N;

param costo{M}>=0;

param t{M,N} binary;

param capacita{M} >= 0;

param budget_max >= 0;

var x{M} binary;

Documento preparato da Pietro Belotti e Leo Liberti

2

(3)

Laboratorio 5 Fondamenti di Ricerca Operativa

Prof. E. Amaldi

maximize cap_totale: sum{i in M} capacita[i] * x[i];

subject to packing{j in N}: sum{i in M} t[i,j] * x[i] <= 1;

subject to budget: sum{i in M} costo[i] * x[i] <= budget_max;

File dati in AMPL

# Inceneritori

set M:=1 2 3 4 5 6 7 8 9 10;

set N:=1 2 3 4 5 6 7;

param costo :=

1 4

2 7

3 8

4 4

5 6

6 9

7 10 8 10 9 8 10 6;

param t : 1 2 3 4 5 6 7 :=

1 0 1 0 1 0 0 0 2 1 1 0 0 0 1 0 3 0 0 0 1 1 0 1 4 0 1 0 0 1 0 0 5 1 0 1 1 0 0 0 6 1 0 0 0 0 0 1 7 1 0 0 1 1 0 1 8 0 1 1 1 0 1 1 9 1 0 1 1 0 1 0 10 0 0 0 1 1 0 1 ; param capacita:=

1 450

2 720

3 580 4 460

5 660

6 390

7 510 8 1000 9 830 10 680;

Documento preparato da Pietro Belotti e Leo Liberti

3

(4)

Laboratorio 5 Fondamenti di Ricerca Operativa

Prof. E. Amaldi

param budget_max := 25;

Soluzione

CPLEX 8.1.0: optimal integer solution; objective 1400 5 MIP simplex iterations

0 branch-and-bound nodes cap_totale = 1400.0000 x [*] :=

1 0.0000 2 1.0000 3 0.0000 4 0.0000 5 0.0000 6 0.0000 7 0.0000 8 0.0000 9 0.0000 10 1.0000

;

Documento preparato da Pietro Belotti e Leo Liberti

4

Riferimenti

Documenti correlati

Una compagnia ferroviaria vende i biglietti per il treno che effettua il percorso dalla citt`a A (Napoli) alla B (Milano) effettuando tre fermate intermedie (Roma, Firenze,

Dunque il versore d = (0, 0, 1) costituisce una direzione di miglioramento per il problema P’.. base

La riga verde e quella bianca sono compatibili, ma la partizione di colonne scelta non consente di sfruttare questo fatto per ridurre.

vertici e punti estremi.. Poiché

L’operazione di pivot consiste nel combinare linearmente le righe di T in modo da ottenere una colonna unitaria in posizione prestabilita.. Operazione

• Una base è un insieme massimale di colonne di A linearmente indipendenti Teorema: k colonne di A sono linearmente indipendenti se e solo se gli archi corrispondenti non

ammettere ottimo finito oppure no, in dipendenza del fatto che lungo ogni semiretta contenuta in P la. funzione obiettivo peggiori, ovvero

La tabella che segue riporta per ciascuno dei due impianti (A e B) le capacità produttive giornaliere (in Kg) dei macchinari in dotazione degli impianti e i prezzi di vendita