Manuale per l’Utente Menu Codice sviluppato dagli studenti di TSPC: Amabile Roberto 564/18, Donatantonio Riccardo 564/19, Farace Antonio 564/28, Perfetto Alfonso 564/45 Versione originale: 28 settembre 2004 Revisione del 10 gennaio 2008 Codice sviluppato dagli studenti di TSPC: Amabile Roberto 564/18, Donatantonio Riccardo 564/19, Farace Antonio 564/28, Perfetto Alfonso 564/45 Versione originale: 28 settembre 2004 Revisione del 10 gennaio 2008
Il programma consente di risolvere problemi di programmazione lineare utilizzando l’algoritmo del Simplesso in due fasi. Generalità Il SimpLab 1.0 è stato realizzato in ambiente Labview 7.0 express ed è per questo utilizzabile unicamente da sistemi in grado di supportare la versione utilizzata o versioni superiori. Nel Front Panel è possibile implementare problemi che presentino un numero indefinito di variabili decisionali e con vincoli di qualsiasi tipo a patto che il problema sia risolvibile mediante l’algoritmo del Simplesso standard Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Criteri generali di implementazione Il Front Panel del SimpLab è composto da una serie di caselle nelle quali vanno inseriti vari valori corrispondenti ai coefficienti delle Variabili. N.B. Tutte le variabili sono indicate dalla lettera X. Es. Le celle nelle quali è stato introdotto un valore si colorano di bianco quelle non utilizzate restano in grigio indicando che quella cella non deve essere considerata nell’esecuzione del programma. Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Una volta inserito un valore in una cella questo può essere cambiato facilmente nello stesso modo con cui è stato inserito Importante I valori inseriti possono essere cambiati ma non annullati (cioè quando una cella è diventata bianca non la si può più far tornare grigia). Per questo motivo quando si ha la necessità di implementare un problema diverso da uno appena svolto o di annullare una cella si deve seguire la seguente procedura: 1- Selezionare la voce Operate 2- selezionare la voce Reinitialize all to Default In questo modo tutte le celle verranno annullate e si potrà implementare un nuovo problema Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Il Pannello Iniziale All’apertura del file SimpLab.vi verrà visualizzata una schermata con tre voci differenti: cliccando sul riquadro si accederà alla schermata relativa al programma completo, previsto per affrontare il problema in tutte le sue fasi selezionando questa voce si accederà ad una sottosezione ove sarà possibile importare da file un tableau già esistente con questa opzione invece sarà possibile compilare direttamente il tableau Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
La modalità “Implementa Problema” Gli input necessari al programma per la risoluzione di un problema di ottimizzazione sono: -Tipo di problema -Funzione obiettivo -Vincoli Tipo di problema da risolvere La scelta del tipo di problema da risolvere può essere fatta facilmente cliccando con il cursore in modalità operate value sull’opportuno Indicatore. La scelta può avvenire tra due tipi di problemi: - Min! se si vuole minimizzare la F.O. - Max! se si vuole massimizzare la F.O. NB: SimpLab risolve il caso z = c T x max ! come - z = (-c) T x min ! Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Introduzione della F.O. La F.O. deve essere inserita nel riquadro apposito (mostrato in basso) nel quale le celle corrispondono ai valori dei coefficienti di costo. Importante: Il programma di default dà la possibilità di inserire al massimo 6 coeff. di costo. Questo numero può essere incrementato allungando le celle dal lato sinistro (come indicato dalla freccia) utilizzando il cursore in Modalità position/size/select selezionabile tramite il Tools palette di Labview. Demo Per capire meglio come fare ad aggiungere variabili decisionali cliccare sul pulsante Demo Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Introduzione dei vincoli I vincoli possono essere introdotti in maniera simile alla F.O. nella apposita finestra (riportata in basso) indicando anche il tipo di uguaglianza/disuguaglianza ( ≤, =, ≥ ). Importante: Anche in questo caso il programma di default dà la possibilità di inserire al massimo un certo numero di vincoli. Anche qui il numero può essere incrementato allungando le celle come indicato dalla freccia utilizzando il cursore in Modalità position/size/select selezionabile tramite il Tools palette di Labview. Demo Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Come eseguire il programma Quando tutti gli input del programma sono stati implementati bisogna far partire il calcolo. Il calcolo parte cliccando il pulsante run situato sul margine interno della finestra del programma oppure seguendo la seguente procedura: -Selezionare Operate -Selezionare run Nota Per eseguire rapidamente il programma basta premere simultaneamente ctrl e “R” Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Output del SimpLab Il programma consente di visualizzare i seguenti risultati: -Valore della funzione obiettivo ottimizzata -Visualizzazione dei tableau aggiornati passo passo -Variabili in base e loro valore -Indica l’eventuale presenza di errori durante l’aggiornamento dei tableau e di particolari casi in cui la soluzione non è unica o addirittura assente Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
F.O. e Variabili in base all’ottimo Il programma di default restituisce il valore della funzione obiettivo insieme alle variabili che si trovano in base nel momento in cui si è raggiunta la condizione di ottimo Es. Come detto le variabili decisionali vengono indicate tutte con la lettera X seguita da un pedice che sta ad indicare l’ordine con cui quella variabile è stata introdotta nella F.O. di partenza e/o nei vincoli implementati nel programma. Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Visualizzazione delle varie iterazioni Il pulsante Visualizza Tableau situato Front Panel consente di visualizzare i tableau delle varie iterazioni dell’algoritmo specificando quella determinata iterazione a quale delle due fasi appartenga. Quando questo pulsante è in posizione On verrà visualizzato un tableau come quello mostrato in figura Numero dell’iterazione visualizzata Fase dell’algoritmo visualizzata: Fase 0: ricerca della sol. b.a. Fase 1: ottimizzazione della F.O. Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl. Coefficienti di costo ( visualizzati col segno cambiato in un problema max !) Risorse ( che dinamica- mente divengono le var. basiche e la F.O. )
Attenzione Quando si sceglie di visualizzare le varie iterazioni può capitare che le righe o le colonne visualizzate di default dal programma non siano abbastanza da poter visualizzare interamente il tableau. Per ovviare a questo basta aggiungere colonne o righe allo stesso modo di come veniva fatto per i vincoli. Visualizza demo aggiunta vincoli Ripeti demo Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Problemi mal posti o soluzioni non uniche Il SimpLab dispone di un pannello di controllo che permette all’utente di capire quando il problema che sta trattando non può essere risolto, per particolari motivi, con l’agoritmo del simplesso standard. Il pannello, tramite l’accensione di una spia, ci permette di distinguere vari casi in cui l’algoritmo non dà soluzione. Es. I casi possibili sono: -Nessuna sol ammissibile: la prima fase del simplesso non si chiude con un valore nullo della forma di inammissibilità -Soluzioni infinite: il problema ammette infinite soluzioni -Sol non limitata: il simplesso non riesce a trovare una soluzione diversa da infinito -Sol degenere: l’algoritmo non riesce a trovare una soluzione Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Salvare i risultati ottenuti E’ possibile creare un file sul quale salvare il tableau ottenuto per consentire di memorizzare il risultato ottenuto e/o per utilizzarlo in altre verifiche (es. verifiche di post ottimalità ecc..) Per salvare i dati ottenuti basta cliccare, prima di mandare in run il programma, sull’apposito pulsante Salvare Risultati. Una volta eseguito, il programma chiederà la destinazione del file che si sta creando. Quando il programma non riesce a trovare una soluzione, perché si verificano casi come quelli visti nella slide precedente, il salvataggio non potrà essere effettuato. Importante Il file così creato potrà essere aperto dal blocco note del pc e quindi salvato come file.txt. Questo a sua volta potrà essere aperto da un qualsiasi foglio di calcolo. Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Modalità “IMPORTA TABLEAU” (1/2) Attraverso questa modalità, attivabile cliccando sul relativo riquadro nel pannello iniziale, si accederà ad una sezione dove sarà possibile acquisire un tableau già esistente da un file in formato txt (testo). Questa opzione può servire nel momento in cui si dispone di un tableau, per esempio ottenuto come risultato da una precedente applicazione del programma. N.B. Questa modalità importa solo il tableau ma è comunque possibile inserire, negli appositi riquadri, le variabili che devono entrare in base al primo ciclo. Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Modalità “IMPORTA TABLEAU” (2/2) Comparsa la schermata iniziale, le operazioni da compiere saranno: 1) Caricare il tableau da file; per far ciò cliccare su Operate e quindi su Run; comparirà la seguente schermata: 2) Si procede alla risoluzione del problema in maniera analoga alla modalità principale (Implementa Problema). si seleziona dunque il file sorgente. Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Modalità “IMPLEMENTA TABLEAU” (1/2) Attraverso questa modalità, attivabile cliccando sul relativo riquadro nel pannello iniziale, si accederà ad una sezione dove sarà possibile inserire un tableau. Questa opzione si differenzia dalla modalità principale (Implementa Problema), perché in quest’ultima la compilazione del tableau avviene automaticamente una volta inseriti i vincoli e la funzione obiettivo; in questa sezione invece (Implementa Tableau), l’utente provvede direttamente alla scrittura del tableau by-passando dunque le operazioni di inserimento della funzione obiettivo e dei vincoli. Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Modalità “IMPLEMENTA TABLEAU” (2/2) Una volta visualizzata la schermata relativa alla modalità in esame, le operazioni da effettuare saranno: 1)Compilare il tableau in maniera corretta secondo il metodo del simplesso standard; 2)Se il numero di righe o di colonne del tableau risultano insufficienti per il completo inserimento del tableau, aggiungere le righe o le colonne necessarie come mostrato dalla diapositiva animata (cliccare demo) Demo 3)Completare le operazioni come in modalità “Implementa Problema” Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione flash Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
La versione fast del SimpLab 1.0 La versione fast del SimpLab consente di utilizzare il SimpLab anche su un PC sul quale non vi sia installato (o non sia possibile installare) il Labview 7.0 express. Il Front Panel di questa applicazione risulta pressoché identico a quello della versione completa del programma. Le modalità di implementazione sono esattamente le stesse viste per il programma completo, ma la limitazione di questa applicazione sta nel fatto che in questo non è possibile aumentare il numero di variabili decisionali al di sopra di quelle date di default dal programma. Generalità I mpostazione F.O. Vincoli Output Run del SimpLab F.O. e var. in base Iterazioni Controlli Salvataggio Versione fast Pannello Iniziale Implem. Tableau Importa Tableau I mplem. Probl.
Fine
Torna a pag
Aggiunta variabile Aggiunta vincolo
Torna a pag Aggiunta variabile Aggiunta vincolo
Torna a pag Aggiungi riga Aggiungi colonna