Il ableau L algorito del siplesso può essere eseguito utilizzando una tabella, detta ableau, in cui vengono disposti i coefficienti della funzione obiettivo e dei vincoli. ali coefficienti sono quelli delle equazioni (5) in cui tutte le variabili sono state portate al prio ebro: xb i + yijx j = yi0 i = 0,, K, j R coeff. dell obiettivo valore dell obiettivo (soluzione corrente) noi delle variabili in base noi delle variabili fuori base xb L xb r L xb L x j L xk L x0 0 L 0 L 0 L y0j L y0k L y00 xb L 0 L 0 L yj L yk L y0 M M O M M M M M xbr 0 L L 0 L yrj L yrk L yr0 M M M O M M M M xb 0 L 0 L L yj L yk L y0 coeff. delle variabili in base valori delle variabili in base (soluzione corrente) coeff. delle variabili fuori base PL-48
L algorito del siplesso applicato al ableau. Inizializzazione. Costruire il tableau iniziale con una soluzione di base aissibile. 2. Verifica dell ottialità. Se nella riga di x 0 non esistono coefficienti negativi la soluzione corrente è ottia e l algorito terina. Altrienti andare al passo 3. 3. Scelta della variabile entrante in base. Scegliere una variabile fuori base x k tale che y 0k <0 (ad esepio, scegliere il coefficiente più piccolo), ed andare al passo 4. 4. Scelta della variabile uscente dalla base. Se tutti i coefficienti nella colonna di x k sonoy ik 0 i =,..., non esiste ottio finito e l algorito terina. Altrienti calcolare i rapporti yi0 i =,..., yik tra i coeff. dell ultia colonna con i coeff. positivi della colonna di x k, e scegliere la riga r-esia associata al rapporto più piccolo. Il coeff. y rk è il pivot. 5. Pivoting. Portare in base x k al posto di x Br dividendo la riga r-esia per il pivot, quindi sottraendo la nuova riga r alle altre righe del tableau, obiettivo incluso, dopo averla oltiplicata per il corrispondente coeff. della colonna k. In questo odo la nuova colonna k sarà forata da tutti coeff. nulli tranne il coeff. r-esio uguale ad. Scabiare i noi delle variabili x k e. Andare al passo 2. x Br PL-49
L inizializzazione dell algorito del siplesso Il problea dell inizializzazione corrisponde a verificare se il problea di PL aette soluzione, ed in caso positivo a deterinarne una. Inizializzazione con variabili di slack. Un caso seplice è quello in cui tutti i vincoli sono disuguaglianze. [ ] Ax b Ax + Is = b A I x s = b quindi si può scegliere B=I coe base iniziale, corrispondente alla soluzione aissibile xb s b x N = x = 0 In generale, tutte le volte che la atrice A contiene una atrice identica I coe inore x è possibile scegliere B=I coe base iniziale, e ettere nella base iniziale le variabili corrispondenti alle colonne di I. Metodi generali di inizializzazione. Esistono due etodi generali: a) Il etodo a due fasi ( wo-phases Method) b) Il etodo del Big-M (o delle penalità) PL-50
Il etodo a due fasi E un etodo che può essere usato per verificare l esistenza di soluzioni in un sistea di disuguaglianze. E dato il problea (P) ax x c 0 = x Ax = b x 0 I Fase (Definizione e soluzione del problea ausiliario) Si definisce un problea ausiliario (A) in z = y = yi j= Ax + Iy = b x 0 y 0 dove = M M Posto z y = var. x n var. è sepre possibile definire coe soluzione di base iniziale per (A) zb y b z N = x = 0 quindi risolvere (A) con l algorito del siplesso. PL-5
II Fase (Inizializzazione e soluzione del problea originale) Se la soluzione ottia di (A) è tale che z=0, allora nessuna variabile y i, i=,...,, è riasta in base all ottio, ed in tal caso il problea originale (P) aette soluzione. y = x Infatti, sia z la soluzione ottia di (A), con y = 0. Allora Ax + Iy = b Ax = b quindi x è anche soluzione di (P) e può essere usata coe soluzione iniziale per risolvere (P). Se invece z>0, allora qualche variabile y i, i=,...,, è riasta in base all ottio, ed assue valore positivo. In questo caso il problea originale (P) non aette soluzione. Se, infatti, fosse stato possibile deterinare un vettore x tale da soddisfare i vincoli di (P), la soluzione di (A) lo avrebbe certaente utilizzato per annullare (quindi iniizzare) l obiettivo z. PL-52
Il etodo del Big-M Con questo etodo si introducono delle variabili ausiliarie coe nel etodo a due fasi. Quindi si risolve una versione odificata del problea originale, penalizzando nella funzione obiettivo le variabili ausiliarie. E dato il problea (P) ax x c 0 = x Ax = b x 0 Si costruisce una versione odificata (P ) del problea (P) introducendo variabili ausiliarie (una variabile per vincolo) ax c x M y = c x M y Ax + Iy = b x 0 y 0 n i i i= j= = dove M M e M è un coeff. scalare tale che Posto y z = x una soluzione di base iniziale per (P ) è zb y b z N x 0 j M >> ci, b j, aij i, j PL-53
Risolvendo (P ) le variabili y j, penalizzate dai big-m nell obiettivo, sono forzate ad uscire dalla base. Se nella soluzione ottia di (P ) tutte le y j sono fuori base, si ha che y z = Ax Iy b Ax b x = 0 x + = = il vettore x è anche la soluzione ottia di (P). Rispetto al etodo a due fasi risolvere il problea (P ) equivale a risolvere il problea originale (P). PL-54