Manuale per l’Utente 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 Menu Generalità Generalità Impostazione Pannello Iniziale Implem. Probl. 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. F.O. Vincoli Run del SimpLab Il programma consente di risolvere problemi di programmazione lineare utilizzando l’algoritmo del Simplesso in due fasi. Output F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash 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 Criteri generali di implementazione Generalità Impostazione Pannello Iniziale Implem. Probl. F.O. 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. Vincoli Run del SimpLab Output F.O. e var. in base Es. z 3x1 6 x2 Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash 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à Impostazione Pannello Iniziale Implem. Probl. F.O. Vincoli Run del SimpLab Output F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash 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à Il Pannello Iniziale Impostazione Pannello Iniziale All’apertura del file SimpLab.vi verrà visualizzata una schermata con tre voci differenti: Implem. Probl. F.O. Vincoli Run del SimpLab cliccando sul riquadro si accederà alla schermata relativa al programma completo, previsto per affrontare il problema in tutte le sue fasi Output F.O. e var. in base Iterazioni Controlli selezionando questa voce si accederà ad una sottosezione ove sarà possibile importare da file un tableau già esistente Salvataggio Importa Tableau Implem. Tableau Versione flash con questa opzione invece sarà possibile compilare direttamente il tableau Generalità Impostazione Pannello Iniziale Implem. Probl. F.O. La modalità “Implementa Problema” Gli input necessari al programma per la risoluzione di un problema di ottimizzazione sono: -Tipo di problema -Funzione obiettivo -Vincoli Vincoli Run del SimpLab Output F.O. e var. in base Iterazioni 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. Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash 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 = cTx max ! come -z = (-c)T x min ! Generalità Introduzione della F.O. Impostazione Pannello Iniziale Implem. Probl. La F.O. deve essere inserita nel riquadro apposito (mostrato in basso) nel quale le celle corrispondono ai valori dei coefficienti di costo. F.O. Vincoli Run del SimpLab Output F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash 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. Per capire meglio come fare ad aggiungere variabili decisionali cliccare sul pulsante Demo Demo Generalità Introduzione dei vincoli Impostazione I vincoli possono essere introdotti in maniera simile alla F.O. nella Pannello Iniziale apposita finestra (riportata in basso) indicando anche il tipo di uguaglianza/disuguaglianza ( ≤ , = , ≥ ). Implem. Probl. F.O. Vincoli Run del SimpLab Output F.O. e var. in base Iterazioni Controlli Demo Salvataggio Importa Tableau Implem. Tableau Versione flash 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. Generalità Come eseguire il programma Impostazione Pannello Iniziale Implem. Probl. Quando tutti gli input del programma sono stati implementati bisogna far partire il calcolo. F.O. Vincoli Run del SimpLab Output F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash 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à Impostazione Output del SimpLab Pannello Iniziale Implem. Probl. Il programma consente di visualizzare i seguenti risultati: F.O. Vincoli Run del SimpLab Output F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash -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 F.O. e Variabili in base all’ottimo Generalità Impostazione Pannello Iniziale Implem. Probl. 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 F.O. Vincoli Run del SimpLab Es. Output F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash 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. Visualizzazione delle varie iterazioni Generalità Il pulsante Visualizza Tableau situato Front Panel consente di visualizzare i tableau delle varie iterazioni dell’algoritmo specificando Pannello Iniziale quella determinata iterazione a quale delle due fasi appartenga. Impostazione Implem. Probl. F.O. Vincoli Run del SimpLab Quando questo pulsante è in posizione On verrà visualizzato un tableau come quello mostrato in figura Output F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash Numero dell’iterazione visualizzata Fase dell’algoritmo visualizzata: • Fase 0: ricerca della sol. b.a. • Fase 1: ottimizzazione della F.O. Coefficienti di costo (visualizzati col segno cambiato in un problema max !) Risorse (che dinamicamente divengono le var. basiche e la F.O.) Generalità Impostazione Pannello Iniziale Implem. Probl. 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. Vincoli Run del SimpLab Output F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash Visualizza demo aggiunta vincoli Ripeti demo Generalità Impostazione Pannello Iniziale Implem. Probl. F.O. Vincoli 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. Run del SimpLab Output Es. F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash 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à Impostazione Pannello Iniziale Implem. Probl. F.O. 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. Vincoli Run del SimpLab Output F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash 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à Modalità “IMPORTA TABLEAU” (1/2) Impostazione Pannello Iniziale Implem. Probl. F.O. Vincoli Run del SimpLab Output 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. F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash 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à Impostazione Pannello Iniziale Implem. 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: F.O. Vincoli Run del SimpLab Output F.O. e var. in base si seleziona dunque il file sorgente. Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash 2) Si procede alla risoluzione del problema in maniera analoga alla modalità principale (Implementa Problema). Generalità Modalità “IMPLEMENTA TABLEAU” (1/2) Impostazione Pannello Iniziale Implem. Probl. Attraverso questa modalità, attivabile cliccando sul relativo riquadro nel pannello iniziale, si accederà ad una sezione dove sarà possibile inserire un tableau. F.O. Vincoli Run del SimpLab Output F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione flash 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à Impostazione Pannello Iniziale Implem. Probl. F.O. 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; Vincoli Run del SimpLab Output F.O. e var. in base Iterazioni Controlli 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 Salvataggio Importa Tableau Implem. Tableau Versione flash 3)Completare le operazioni come in modalità “Implementa Problema” Generalità La versione fast del SimpLab 1.0 Impostazione Pannello Iniziale Implem. Probl. F.O. Vincoli Run del SimpLab Output F.O. e var. in base Iterazioni Controlli Salvataggio Importa Tableau Implem. Tableau Versione fast 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. Fine Torna a pag Aggiunta variabile Aggiunta vincolo Torna a pag Aggiunta variabile Aggiunta vincolo Torna a pag Aggiungi riga Aggiungi colonna Torna a pag