Gabba Marco – 750228
Programmazione Lineare - Confronti tra metodi
esistenti e un metodo innovativo
Relatore: Prof. Guido Buzzi Ferraris
Correlatore: Ing. Flavio Manenti
Introduzione – il problema della dieta 2
Gabba Marco
Alimento (x) Costo unitario Quantità massima Calorie Proteine Calcio
Pane (x1) 2 4 110 4 2
Latte (x2) 3 8 160 8 285
Uova (x3) 4 3 180 13 54
Carne (x4) 19 2 260 14 80
Dolce (x5) 20 2 420 4 22
Nutrimento Requisito
Calorie [cal] 200
Proteine [g] 50
Calcio [700 g] 700
Introduzione – il problema della dieta 3
Gabba Marco
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
minimizzare 2
soggetta a: 4; 8; 3; 2; 2;
110 160 180 260 420 200;
4
3 4 19
8 13 14 4 50;
20x
x x x x x
x x x x x
x x x x
x x
x
x x
1 2 3 4 5 2 285 54 80 22 700;x x x x x
Costo 38.222
Alimento Quantità
Pane 4
Latte 8
Uova 1.5556
Carne 0
Dolce 0
Costo 40
Alimento Quantità
Pane 4
Latte 8
Uova 2
Carne 0
Dolce 0
MILP
Scopo del lavoro 4
Gabba Marco
Confrontare le prestazioni del metodo dell’Attico con
quelle dei risolutori commerciali disponibili
al fine di
verificare l’efficienza del metodo ed affinare le
prestazioni, per valutare la possibilità di una futura
applicazione ai problemi MILP
Caso Studio
Ottimizzazione di una raffineria 5
Gabba Marco
Caso Studio
Ottimizzazione di una raffineria 6
Gabba Marco
Modello matematico
Tipologie di variabili (61)
• Quantità di materiale “straight-run” e di riciclo alimentato ai
forni.
• Componenti dei vari prodotti di miscelazione.
• Variabili di bilancio
Tipologie di vincoli (26)
• Disponibilità e utilizzo di materie prime, prodotti “straight-
run” e prodotti di cracking.
• Limitazioni di capacità delle apparecchiature
• Specifiche richieste sui prodotti di miscelazione
Simplesso
7
Gabba Marco
1 2
1 2
1 2
1
minimizzare 2
8soggetta a 4
3
2
2 3
0
x x
x x
x x
x
x
1 2
1 2 3
1 2 4
1 5
minimizzare 2
8soggetta a 4
3
2
2 +x 3
x x
x x x
x x x
x
0x
Interior Point 8
Gabba Marco
1
1
1
massimizzare 10
soggetta a: 2 10 100 1,...,
0 1,...,
n j
j
i j i j
j i
n
j
i
j
j
x
x x i n
x j n
Klee - Minty
minimizzare
soggetta a
0
T
c x
Ax b
x
j=
j
n
1
Tminimizzare -μ logx
soggetta a
0
c x
Ax b
x
Barrier Method
Attico
9
Gabba Marco
1x
2x
A
BSimplex
CSimplex
SIMPLEX
METHOD
DEGENERACY
BSimplex
A
BAttic
Di solito si incontra un
punto non vertice,
prevenendo problemi di
degenerazione
ATTIC
METHOD
BAttic
dmax
CSimplex
Attico
Basi matematiche 10
Gabba Marco
Condizioni di Karush, Kuhn, Tucker
0 1,...,
T
i Qi n
J λ s
Jx b
Fattorizzazione avanzata
Vincoli artificiali
Vertici dell’Attico
Caso Studio
Linguaggi e solvers utilizzati 11
Gabba Marco
AMPL
SIMPO
CPLEX
MINOS 5.5
Caso Studio
Linguaggi e solvers utilizzati 12
Gabba Marco
MATLAB
Simplesso
IP
Caso Studio
Linguaggi e solvers utilizzati 13
Gabba Marco
C++
Simplesso
Attico
Caso Studio
Ottimizzazione di una raffineria 14
Gabba Marco
Ulteriore confronto
FIT1D 15
Gabba Marco
1069
87 53
0
200
400
600
800
1000
1200
N°
ite
razio
ni
Confronto prestazioni
SIMPO
CPLEX
Attico
Test della libreria Netlib/LP
Dimensioni: 1026 variabili, 24 vincoli
Conclusioni 16
Gabba Marco
Spostamenti all’interno dell’area accettabile con
tecniche lineari: valutazione di meno vertici.
Non richiesta forma standard: matrici più piccole
Fattorizzazione stabile grazie ai vincoli artificiali
TO DO
Test sui tempi di calcolo (parametro industriale)
Sviluppo algoritmo (pre-processore)
Convalida su problema di supply chain management,
430’000 variabili circa (prof. Bandoni, Plapiqui, UNS)
17
Gabba Marco
GRAZIE PER L’ATTENZIONE!
Applicazioni Pratiche
MILP 18
Gabba Marco
1 1 2 3
1 1 2 3
1 1 2 3
1
1 2 3
minimizzare 2 3 2 3
soggetta a 2
10 5 3 4 0
0
, , 0,1
x y y y
x y y y
x y y y
x
y y y