Upload
tiziana-spata
View
173
Download
1
Embed Size (px)
Citation preview
Programmazione lineare con LINDO
Simone TinoTiziana Spata
Università degli Studi di Catania
Corso di Metodi Matematici per l’Ottimizzazione, 12 CFU
4/06/2013
1
Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
LINDO: programmazione lineare
2
4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
Diverse modalità d’accesso
Strumenti avanzati
Semplice ed intuitivo
Risoluzione passo per passo
Report completi
Lindo API integrabili con altri software (es: Excel)
Maggiori informazioni: http://www.lindo.com/
3
Ogni funzionalità è implementata all’interno di una specifica SDI (Single Document Interface):
• Formulazione
• Report
• Altro...
4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
Software di tipo MDI (Multiple Document Interface)
Imparare ad usare LINDO
(Linear, INteractive, and Discrete Optimizer)
“<” “<=” (lo stesso per “>=”)
Nomi di variabile:- Alfanumerici- Limite di 8 caratteri- Il primo carattere deve essere una lettera
I vincoli possono essere rinominati
Interpretazione delle espressioni:- Da sinistra verso destra- Non esistono le parentesi
Possibilità di introdurre commenti: “!” tag
Linguaggio non case-sensitive
Vincoli: a sinistra solo variabili, a destra solo costanti
Se non specificato, le variabili sono intese tutte continue
4
4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
Passi Esempio
4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
1. Funzione oggetto
2. “SUBJECT TO” inizia la formulazione dei vincoli
3. Vincoli
4. “END” termina la formulazione dei vincoli
5. Tipo di variabili
MAX 7 X1 + 6.2 X2
SUBJECT TO
5 X1 + 4 x2 < 80
4 X1 + 5 X2 < 80
END
5
Formulazione del problema
LINDO: Windows (1)
4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
6
LINDO: Windows (2)
4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
7
Programmazione lineare: Esercizio 1
Un’azienda produce componenti percomputer. Le varie componenti possonoessere raggruppate in 5 tipi, ognuno dellequali richiede un certo tempo dilavorazione su vari macchinari. Il tempo(in ore) richiesto da ciascun pezzo suciascuna macchina, il prodotto (in €)derivante dalla produzione di ciascunpezzo e il tempo macchina disponibile nelprossimo mese sono indicati in tabella:
1 2 3 4 5 Ore disponibili
Foratura 2 1,5 1 1 2 200
Taglio 1 2 2,5 2 1 80
Saldatura 2 1 2 1,5 1,5 100
Profitto unitario
100 60 90 80 60
4/06/2013
8
Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
Meno user-friendly.
Più immediata.
Unica interfaccia utente se non si dispone di un sistema operativo Windows.
LOOK ALL
ALTER
GO
PIVOT
TABLEU
SAVE
RETR
9
4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
Stampa il modello in memoria
Modifica il modello in memoria
Risolve il modello in memoria
Risolve un solo passo del modello in memoria
Stampa l’ultima tabella
Salva il modello in memoria
Lavorare con la Linea di Comando
Carica un modello in memoria
LINDO: Command-line (1)
4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
10
LINDO: Command-line (2)
4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
11
Programmazione lineare intera: Esercizio 2
4/06/2013
12
Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
MAX 2 X + 3 Y
SUBJECT TO
-1.3 X + 3 Y < 9
3 X + 0.9 Y < 18
END
GINT X
GINT Y
Programmazione lineare intera: Esercizio 3
4/06/2013
13
Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
MAX 7 X1 + 6.2 X2
SUBJECT TO
5 X1 + 4 x2 < 80
4 X1 + 5 X2 < 80
END
GINT X1
GINT X2
Programmazione lineare intera 0-1: Esercizio 4
4/06/2013
14
Simone Tino, Tiziana Spata: Programmazione lineare con LINDO
MAX 24 X1 + 21 X2 + 12
X3 + 21 X4 + 33 X5 +
18 X6 + 9 X7
SUBJECT TO
10 X1 + 10 x2 +
6 X3 + 12 X4 + 24 X5
+ 18 X6 + 10 X7 < 51
END
INT X1
INT X2
INT X3
INT X4
INT X5
INT X6
INT X7
R I F E R I M E N T I
H T T P : / / W W W . L I N D O . C O M / I N D E X . P H P ? O P T I O N= C O M _ C O N T E N T & V I E W = A R T I C L E & I D = 2 4 & I T E M
I D = 1 2
H T T P : / / W W W . L I N D O . C O M / I N D E X . P H P ? O P T I O N= C O M _ C O N T E N T & V I E W = A R T I C L E & I D = 3 4 & I T E M
I D = 1 5
H T T P : / / W W W . L I N D O . C O M / I N D E X . P H P ? O P T I O N= C O M _ C O N T E N T & V I E W = A R T I C L E & I D = 1 4 7 & I T E
M I D = 6 9
Grazie dell’attenzione
4/06/2013
15
Simone Tino, Tiziana Spata: Programmazione lineare con LINDO