SlideShare uma empresa Scribd logo
Programmazione lineare con
LINDO
1

Simone Tino
Tiziana Spata
Università degli Studi di Catania

Corso di Metodi Matematici per
l’Ottimizzazione, 12 CFU
Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
2

LINDO: programmazione lineare
 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/
Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
3

Software di tipo MDI (Multiple Document Interface)
Ogni funzionalità è
implementata
all’interno di una
specifica SDI
(Single Document
Interface):
•
•
•

Formulazione
Report
Altro...

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
4

Imparare ad
usare LINDO

 “<”  “<=” (lo stesso per “>=”)
 Nomi di variabile:

(Linear, INteractive,
and Discrete Optimizer)








- 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

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
Formulazione del problema
5

Passi

Esempio

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

1.

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
LINDO: Windows (1)
6

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
LINDO: Windows (2)
7

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
Programmazione lineare: Esercizio 1
8


Un’azienda produce componenti per
computer. Le varie componenti possono
essere raggruppate in 5 tipi, ognuno delle
quali richiede un certo tempo di
lavorazione su vari macchinari. Il tempo
(in ore) richiesto da ciascun pezzo su
ciascuna macchina, il prodotto (in €)
derivante dalla produzione di ciascun
pezzo e il tempo macchina disponibile nel
prossimo 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

100

60

90

80

60

Profitto
unitario

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
9

Lavorare con la Linea di Comando
LOOK ALL
Meno user-friendly.
Più immediata.
Unica interfaccia utente
se non si dispone di un
sistema operativo
Windows.

ALTER
GO

PIVOT
TABLEU

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

SAVE

Salva il modello in memoria

RETR

Carica un modello in memoria

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
LINDO: Command-line (1)
10

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
LINDO: Command-line (2)
11

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
Programmazione lineare intera: Esercizio 2
12

MAX 2 X + 3 Y
SUBJECT TO
-1.3 X + 3 Y < 9
3 X + 0.9 Y < 18
END
GINT X
GINT Y

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
Programmazione lineare intera: Esercizio 3
13

MAX 7 X1 + 6.2 X2
SUBJECT TO
5 X1 + 4 x2 < 80
4 X1 + 5 X2 < 80
END
GINT X1
GINT X2

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013
Programmazione lineare intera 0-1: Esercizio 4
14

MAX 24 X1 + 21
X3 + 21 X4 +
18 X6 + 9 X7
SUBJECT TO
10 X1 +
6 X3 + 12 X4
+ 18 X6 + 10
END
INT X1
INT X2
INT X3
INT X4
INT X5
INT X6
INT X7

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

X2 + 12
33 X5 +

10 x2 +
+ 24 X5
X7 < 51

4/06/2013
Grazie dell’attenzione
15

RIFERIMENTI
HTTP://WWW.LINDO.COM/INDEX.PHP?OPTION
=COM_CONTENT&VIEW=ARTICLE&ID=24&ITEM
ID=12
HTTP://WWW.LINDO.COM/INDEX.PHP?OPTION
=COM_CONTENT&VIEW=ARTICLE&ID=34&ITEM
ID=15
HTTP://WWW.LINDO.COM/INDEX.PHP?OPTION
=COM_CONTENT&VIEW=ARTICLE&ID=147&ITE
MID=69

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

4/06/2013

Mais conteúdo relacionado

Semelhante a LINDO: Optimization Software

MS VISUAL STUDIO 2005 - Advanced windows application development - Scheda cor...
MS VISUAL STUDIO 2005 - Advanced windows application development - Scheda cor...MS VISUAL STUDIO 2005 - Advanced windows application development - Scheda cor...
MS VISUAL STUDIO 2005 - Advanced windows application development - Scheda cor...
LEN Learning Education Network
 
2 evento metrico 2017
2 evento metrico 20172 evento metrico 2017
2 evento metrico 2017
GUFPI-ISMA
 
Focus Group Open Source 11.02.2011 Fabrizio Marchesano
Focus Group Open Source 11.02.2011 Fabrizio MarchesanoFocus Group Open Source 11.02.2011 Fabrizio Marchesano
Focus Group Open Source 11.02.2011 Fabrizio Marchesano
Roberto Galoppini
 
ECDL/ICDL - INTRODUZIONE ai 4 MODULI/ESAMI del CORSO BASE
ECDL/ICDL - INTRODUZIONE ai 4 MODULI/ESAMI del CORSO BASEECDL/ICDL - INTRODUZIONE ai 4 MODULI/ESAMI del CORSO BASE
ECDL/ICDL - INTRODUZIONE ai 4 MODULI/ESAMI del CORSO BASE
Ist. Superiore Marini-Gioia - Enzo Exposyto
 
Sydav PDF 3D
Sydav PDF 3DSydav PDF 3D
Sydav PDF 3D
Emanuela Corradini
 
ECDL Libre Linuxday Roma
ECDL Libre Linuxday RomaECDL Libre Linuxday Roma
ECDL Libre Linuxday Romatomlabs
 
MS VISUAL STUDIO 2005 - Core windows application development - Scheda corso LEN
MS VISUAL STUDIO 2005 - Core windows application development - Scheda corso LENMS VISUAL STUDIO 2005 - Core windows application development - Scheda corso LEN
MS VISUAL STUDIO 2005 - Core windows application development - Scheda corso LEN
LEN Learning Education Network
 
MODELLAZIONE 3D - Blender PER I BENI CULTURALI, corso Unibo Cesena 2016
MODELLAZIONE 3D - Blender PER I BENI CULTURALI, corso Unibo Cesena 2016MODELLAZIONE 3D - Blender PER I BENI CULTURALI, corso Unibo Cesena 2016
MODELLAZIONE 3D - Blender PER I BENI CULTURALI, corso Unibo Cesena 2016
Miki Spigarolo
 
Introduzione al software libero - Giulio Fieramosca
Introduzione al software libero - Giulio FieramoscaIntroduzione al software libero - Giulio Fieramosca
Introduzione al software libero - Giulio Fieramosca
LibreItalia
 
Aggiornare il proprio PC a Windows 10: e perché no?
Aggiornare il proprio PC a Windows 10: e perché no?Aggiornare il proprio PC a Windows 10: e perché no?
Aggiornare il proprio PC a Windows 10: e perché no?
Enzo Contini
 
Case histories sy dav-gestione ricambi
Case histories  sy dav-gestione ricambiCase histories  sy dav-gestione ricambi
Case histories sy dav-gestione ricambi
Emanuela Corradini
 
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouchProgrammiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
Stefano Ottaviani
 
Progetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di Firenze
Progetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di FirenzeProgetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di Firenze
Progetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di Firenze
ProgettoELI4U
 
On demand Webinars
On demand WebinarsOn demand Webinars
15 Odoo come sistema di ticketing ed helpdesk avanzato​
15 Odoo come sistema di ticketing ed helpdesk avanzato​15 Odoo come sistema di ticketing ed helpdesk avanzato​
15 Odoo come sistema di ticketing ed helpdesk avanzato​
Associazione Odoo Italia
 
Progetto ELSA 2019
Progetto ELSA 2019Progetto ELSA 2019
Progetto ELSA 2019
Simone Leandrini
 
La Stampa 3D (3D Print) Cos'è, Come funziona e Perchè
La Stampa 3D (3D Print) Cos'è, Come funziona e PerchèLa Stampa 3D (3D Print) Cos'è, Come funziona e Perchè
La Stampa 3D (3D Print) Cos'è, Come funziona e Perchè
Technology Hub
 
Grafitalia 2013
Grafitalia 2013Grafitalia 2013
Grafitalia 2013
FE Group srl
 
Deploying microsoft windows vista business desktops - Scheda corso LEN
Deploying microsoft windows vista business desktops - Scheda corso LENDeploying microsoft windows vista business desktops - Scheda corso LEN
Deploying microsoft windows vista business desktops - Scheda corso LEN
LEN Learning Education Network
 

Semelhante a LINDO: Optimization Software (20)

MS VISUAL STUDIO 2005 - Advanced windows application development - Scheda cor...
MS VISUAL STUDIO 2005 - Advanced windows application development - Scheda cor...MS VISUAL STUDIO 2005 - Advanced windows application development - Scheda cor...
MS VISUAL STUDIO 2005 - Advanced windows application development - Scheda cor...
 
2 evento metrico 2017
2 evento metrico 20172 evento metrico 2017
2 evento metrico 2017
 
Focus Group Open Source 11.02.2011 Fabrizio Marchesano
Focus Group Open Source 11.02.2011 Fabrizio MarchesanoFocus Group Open Source 11.02.2011 Fabrizio Marchesano
Focus Group Open Source 11.02.2011 Fabrizio Marchesano
 
ECDL/ICDL - INTRODUZIONE ai 4 MODULI/ESAMI del CORSO BASE
ECDL/ICDL - INTRODUZIONE ai 4 MODULI/ESAMI del CORSO BASEECDL/ICDL - INTRODUZIONE ai 4 MODULI/ESAMI del CORSO BASE
ECDL/ICDL - INTRODUZIONE ai 4 MODULI/ESAMI del CORSO BASE
 
Sydav PDF 3D
Sydav PDF 3DSydav PDF 3D
Sydav PDF 3D
 
Grafitalia 2013
Grafitalia 2013Grafitalia 2013
Grafitalia 2013
 
ECDL Libre Linuxday Roma
ECDL Libre Linuxday RomaECDL Libre Linuxday Roma
ECDL Libre Linuxday Roma
 
MS VISUAL STUDIO 2005 - Core windows application development - Scheda corso LEN
MS VISUAL STUDIO 2005 - Core windows application development - Scheda corso LENMS VISUAL STUDIO 2005 - Core windows application development - Scheda corso LEN
MS VISUAL STUDIO 2005 - Core windows application development - Scheda corso LEN
 
MODELLAZIONE 3D - Blender PER I BENI CULTURALI, corso Unibo Cesena 2016
MODELLAZIONE 3D - Blender PER I BENI CULTURALI, corso Unibo Cesena 2016MODELLAZIONE 3D - Blender PER I BENI CULTURALI, corso Unibo Cesena 2016
MODELLAZIONE 3D - Blender PER I BENI CULTURALI, corso Unibo Cesena 2016
 
Introduzione al software libero - Giulio Fieramosca
Introduzione al software libero - Giulio FieramoscaIntroduzione al software libero - Giulio Fieramosca
Introduzione al software libero - Giulio Fieramosca
 
Aggiornare il proprio PC a Windows 10: e perché no?
Aggiornare il proprio PC a Windows 10: e perché no?Aggiornare il proprio PC a Windows 10: e perché no?
Aggiornare il proprio PC a Windows 10: e perché no?
 
Case histories sy dav-gestione ricambi
Case histories  sy dav-gestione ricambiCase histories  sy dav-gestione ricambi
Case histories sy dav-gestione ricambi
 
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouchProgrammiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
 
Progetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di Firenze
Progetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di FirenzeProgetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di Firenze
Progetto ELI4U - Milestone 50% - WP3 - Attività 5 - Comune di Firenze
 
On demand Webinars
On demand WebinarsOn demand Webinars
On demand Webinars
 
15 Odoo come sistema di ticketing ed helpdesk avanzato​
15 Odoo come sistema di ticketing ed helpdesk avanzato​15 Odoo come sistema di ticketing ed helpdesk avanzato​
15 Odoo come sistema di ticketing ed helpdesk avanzato​
 
Progetto ELSA 2019
Progetto ELSA 2019Progetto ELSA 2019
Progetto ELSA 2019
 
La Stampa 3D (3D Print) Cos'è, Come funziona e Perchè
La Stampa 3D (3D Print) Cos'è, Come funziona e PerchèLa Stampa 3D (3D Print) Cos'è, Come funziona e Perchè
La Stampa 3D (3D Print) Cos'è, Come funziona e Perchè
 
Grafitalia 2013
Grafitalia 2013Grafitalia 2013
Grafitalia 2013
 
Deploying microsoft windows vista business desktops - Scheda corso LEN
Deploying microsoft windows vista business desktops - Scheda corso LENDeploying microsoft windows vista business desktops - Scheda corso LEN
Deploying microsoft windows vista business desktops - Scheda corso LEN
 

LINDO: Optimization Software

  • 1. Programmazione lineare con LINDO 1 Simone Tino Tiziana Spata Università degli Studi di Catania Corso di Metodi Matematici per l’Ottimizzazione, 12 CFU Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 2. 2 LINDO: programmazione lineare  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/ Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 3. 3 Software di tipo MDI (Multiple Document Interface) Ogni funzionalità è implementata all’interno di una specifica SDI (Single Document Interface): • • • Formulazione Report Altro... Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 4. 4 Imparare ad usare LINDO  “<”  “<=” (lo stesso per “>=”)  Nomi di variabile: (Linear, INteractive, and Discrete Optimizer)       - 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 Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 5. Formulazione del problema 5 Passi Esempio 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 1. Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 6. LINDO: Windows (1) 6 Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 7. LINDO: Windows (2) 7 Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 8. Programmazione lineare: Esercizio 1 8  Un’azienda produce componenti per computer. Le varie componenti possono essere raggruppate in 5 tipi, ognuno delle quali richiede un certo tempo di lavorazione su vari macchinari. Il tempo (in ore) richiesto da ciascun pezzo su ciascuna macchina, il prodotto (in €) derivante dalla produzione di ciascun pezzo e il tempo macchina disponibile nel prossimo 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 100 60 90 80 60 Profitto unitario Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 9. 9 Lavorare con la Linea di Comando LOOK ALL Meno user-friendly. Più immediata. Unica interfaccia utente se non si dispone di un sistema operativo Windows. ALTER GO PIVOT TABLEU 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 SAVE Salva il modello in memoria RETR Carica un modello in memoria Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 10. LINDO: Command-line (1) 10 Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 11. LINDO: Command-line (2) 11 Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 12. Programmazione lineare intera: Esercizio 2 12 MAX 2 X + 3 Y SUBJECT TO -1.3 X + 3 Y < 9 3 X + 0.9 Y < 18 END GINT X GINT Y Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 13. Programmazione lineare intera: Esercizio 3 13 MAX 7 X1 + 6.2 X2 SUBJECT TO 5 X1 + 4 x2 < 80 4 X1 + 5 X2 < 80 END GINT X1 GINT X2 Simone Tino, Tiziana Spata: Programmazione lineare con LINDO 4/06/2013
  • 14. Programmazione lineare intera 0-1: Esercizio 4 14 MAX 24 X1 + 21 X3 + 21 X4 + 18 X6 + 9 X7 SUBJECT TO 10 X1 + 6 X3 + 12 X4 + 18 X6 + 10 END INT X1 INT X2 INT X3 INT X4 INT X5 INT X6 INT X7 Simone Tino, Tiziana Spata: Programmazione lineare con LINDO X2 + 12 33 X5 + 10 x2 + + 24 X5 X7 < 51 4/06/2013