[RO]esercizio di programmazione lineare

kikkabis
Salve a tutti, ho un esercizio di programmazione lineare da svolgere, ma non riesco ad ottenere la soluzione esatta :(
Allora la traccia è

min x1
x1 - x2 >= 2
x1 + x2 <=3
x2 >=0

La particolarità di questo esercizio è che x1 NON è vincolata in segno, in tal caso si ha che:

- nella rappresentazione grafica bisogna considerare i valori x1 negativi, quindi la regione ammissibile si trova nel secondo quadrante (detto dalla prof);
- la fomulazione standar finale che ottengo è

min x1 - x5
-x1 + x2 + x3 +x5 = 2
x1 + x2 +x4 - x5 =3
xi >=0 , i=1,...,5

(non so se sia corretta)

Poi bisogna applicare il metodo delle 2fasi in quanto c'è il vincolo di >=
La soluzione ottima (detta dalla prof) è (-2,0) ma a me non esce :'(

Qualcuno più esperto di me mi può aiutare per favore :(

Risposte
kikkabis
Nessuno può aiutarmi!?? :cry:

hamming_burst
x2 mai piace di più averlo in funzione obiettivo (non cambia il problema):

min x1 + 0x2

per il vincolo di non-negatività basta utilizzare la sostituzione:

x1 = x1' - x1''

min x1' - x1'' + 0x2
x1' - x1'' - x2 >= 2
x1' - x1'' + x2 <=3
x1',x1'', x2 >= 0

a me torna (2,0) con ottimo 2

kikkabis
perdonatemi ho sbagliato a scrivere la traccia, il primo vincolo è x1 - x2 >= - 2 , il termine noto è negativo, me ne sono resa conto solo leggendo la risposta :(

min x1
x1 - x2 >= - 2
x1 + x2 <= 3
x2 >=0

kikkabis
Allora ora vi scrivo tutti i miei passaggi, così magari mi dite dove sbaglio:
Forma standard del problema:

- moltiplico per -1 il primo vincolo e cambio verso
- introduco le variabili di slack x3 e x4
- sostituisco x1 con x1-x5

min x1 - x5
-x1 + x2 + x3 +x5 = 2
x1 + x2 +x4 - x5 =3
xi >=0 , i=1,...,5

Applico il Metodo delle 2Fasi

FASE 1 - problema ausiliario

min y1
-x1 + x2 + x3 +x5 + y1 = 2
x1 + x2 +x4 - x5 =3
xi >=0 , y1>=0, i=1,...,5

la matrice di base è la matrice identità prendendo le colonne in corrispondenza di y1 e x4, quindi le variabili in base sono (y1,x4)= (2,3)
il primo tableau mi viene:

x1x2x3x4x5y1
1-1-10-10y1=2
11011x4=31



Entra in base x3, esce dalla base y1, ottenendo:


x1x2x3x4x5y1
000001x2=2
11011x4=12


Costi ridotti tutti positivi, la soluzione trovata è ottima per il problema ausiliario.

FASE 2
considero il problema originario, calcolo i costi ridotti ed ottengo

x1x2x3x4x5
1000-1x2=2
1101x4=12


Entra x5 in base, esce x2, ottenendo:

x1x2x3x4x5
01100x5=2
1101x4=50


Costi ridotti tutti positivi, quindi ottengo soluzione ottima (x4,x5)=(5,2)
valore ottimo -2

In cosa sbaglio :? :cry:

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.