Documente Academic
Documente Profesional
Documente Cultură
Fie problema PPL standard: Consideram sistemul compatibil AX=D, ,n>m ,rang
,daca:
S- matricea formata din vectorii coloana ale lui A care nu fac parte din baza.
=
Solutia particulara obtinuta din DB completata cu 0 pentru variabilele secundare este o solutie de baza a
sistemului si se numeste solutie de baza corespunzatoare bazei B.
Deci fiecarei baze din A îi corespunde o solutie de baza . Reciproc nu este adevatat. O solutie de baza
poate corespunde mai multor baze. Numarul maxim de solutii de baza ale unui sistem este combinari de n luate
cate .
Exprimand vectorii coloana ai matricei A in functie de vectorii bazei B, se obtine o noua matrice
A numita matricea redusa a matricii A corespunzatoare bazei B.
B,
.
Astfel , coloanele lui AB sunt coordonatele vectorilor in baza B, dati de relatia :
B-1 =
Forma redusa contine o matrice unitate U m formata din coloabele corespunzatoare vectorilor care formeaza baza
B. Pentru determinarea formei reduse se foloseste metoda eliminarii complete prim eliminarea succesiva a câte
unui singur vector din baza. Pentru calcule se aranjeaza totul intr-un singur tabel:
. . . .
. . . .
. . . 0 0 1 0
dh ah1 ah2. ahk.....ahn .
Eh
. . .
.
. . .
.
. . 0 0 0 1
.
dm am1 am2. amk.....amn
Em
Apar astfel calculate coordonatele lui D în bazele succesive obtinute prin înlocuirea în baza a câte unui vector din
A. În final se obtine solutia de baza a sistemului restrictiilor PPL,
X=B-1D=DB.
Daca vectorul Vk intra în baza si vectorul Eh iese, se obtine o noua baza B1 si, cu transformarile de coordonate la
schimbarea bazei datorate aplicarii regulei pivotului ahk 0 se obtin relatiile:
Se pune problema determinarii pentru sistemul compatibil AX=D, ,n>m ,rang A=m,
a acelor solutii de baza pentru care . Cum = atunci
Daca în baza intra vectorul Vk, atunci din baza se scoate vectorul care îndeplineste conditia:
Daca ,
atunci programul nu este optim si programul se îmbunatateste daca vectorul Vk intra în baza.
Observatii:
1) Daca indicele k pentru care se verifica relatia a criteriului de intrare în baza, nu este
unic determinat, atunci pentru o valoare a functiei obiectiv cât mai apropiata de
valoarea minima, se adopta regula:
care "
care "
Algoritmul SIMPLEX oferera solutia optima a PPL. Îl enuntam pentru problema de minim.
- diferentele = ;
Datele se introduc într-un tabel SIMPLEX:
..........
B CB DB V1 V2.......... Vn
....
.................
.................
. . . . . .
. . . . . .
. . . . . .
...............
.............
...
Daca nu, adica atunci programul nu este optim si se aplica criteriul de
d) Daca atunci se aplica criteriul de iesire din baza, adica iese din baza
Se obtine o noua baza B1 si se reia algoritmul de la punctul b), iar iesirea din el are loc fie
la punctul b) (testul de optimalitate), fie la punctul c) (testul de optim infinit).
Deci: algoritmul SIMPLEX va testa conditia de optim pentru programul de baza gasit si,
în caz ca aceasta nu este satisfacuta, va determina un alt program de baza care va
apropia functia obiectiv da valoarea optima, iar în final va determina valoarea optima a
sa.
Observatie:
iii) orice alt element din tabel se transforma dupa regula dreptunghiului
(pivotului) introdusa la metoda eliminarii complete.
Daca matricea sistemului de restrictii nu contine vectorii unitari care alcatuiesc baza canonica necesara
determinarii unei solutii initiale de baza , recurgem la metoda bazei artificiale prin introducerea variabilelor
Orice solutie posibila a problemei initiale este o solutie posibila a programului extins pentru care valorile tuturor
variabilelor artificiale sunt nule si reciproc orice solutie a programului extins în care toate variabilele artificiale sunt
nule, este o solutie a programului initial dupa inlaturarea acestora.
Deci problema initiala are solutii daca si numai daca sistemul extins al restrictiilor are solutii de
forma
2) si cel putin o variabila artificiala este bazica, ea trebuind eliminata astfel:
- daca pe linia variabilei artificiale exista elemente nenule (rang A=m) alegem unul dintre acestea drept
pivot si facem înca o iteratie pentru a o elimina din baza .
elemente nenule (rang A<m), o vom neglija suprimând-o din tabel . Se trece la faza a II-a.
3) problema initiala nu are solutie de baza (vezi exemplul de mai jos)
Faza a II-a . În aceasta faza se elimina din ultimul tabel simplex coloanele variabilelor artificiale si se
continua algoritmul introducând coeficientii functiei obiectiv z=CTX . Daca în baza au mai ramas variabile
artificiale nenule, aceasta este dovada ca problema initiala nu admite solutii (exemplul de mai jos).
Constructia unei baze initiale unitare pentru pornirea algoritmului simplex, în situatia ca nu exista în
matricea sistemului, sau nu este completa, revine deci la a construi o baza artificiala.
Deci, varianta penalizarii modifica functia obiectiv, introducând vectorii artificiali cu acesti coeficienti. Cum
pentru acestia nu exista corespondent în interpretarea economica a rezultatelor, rezulta evident ca, ei vor fi
folositi doar în scopul constructiei bazei artificiale necesare unei baze unitare, primal admisibile , algoritmul
trebuind în final sa-i excluda din programul optim de baza. Asa se explica de ce coeficientii de penalizare au valori
pozitive foarte mari, cu semnul plus la problemele de minim, respectiv minus la cele de maxim.
În iteratiile succesive, algoritmul simplex înlatura bazele pentru care functia obiectiv nu e optima, deci, va
excludere din baza vectorii artificiali. Daca nu, atunci spunem ca P.P.L. initiala nu are solutie posibila de baza si
deci nu are solutie optima.
Observatie :
Daca un vector artificial a fost înlaturat din baza, putem sa nu mai calculam în iteratiile urmatoare coordonatele
lui din matricea redusa a noii baze. Daca însa ne intereseaza inversa bazei optime, pentru verificarea solutiei
optime sau alte calcule care o implica, completam în tabloul simplex si coloanele vectorilor artificiali iesiti din
baza.
Daca problema initiala are program optim de baza, acesta este si pentru problema extinsa program optim de baza
si reciproc.
De aceea este suficient sa rezolvam problema extinsa, plecând de la o solutie primal
admisibila de baza
Exemplu :
Solutie:
a) Aducem P.P.L la forma standard. Introducând y1, y2 variabile de compensare se observa ca matricea sistemului
de restrictii contine doar un vector unitar, y1.
În completarea bazei unitare, se aduna vectorul unitar care lipseste la ecuatia a doua a sistemului, adica
-3 1 0 0 M
B
0 y1 4 1 1 1 0 0 4
M a 18 2 1 0 -1 1 6
zj 18M 2M 3M 0 -M M
3M-
2M+3 0 -M 0
4
1
4 x2 4 1 1 0 0
M a 6 -1 0 -1 1
-3
zj 6M+16 4-M 4 4-3M -M M
7-M 0 4-3M -M 0
B 0 0 0 0 1
0 y1 4 1 1 1 0 0 4
1 a 18 2 1 0 -1 1 6
18 2 3 0 -1 1
2 3 0 -1 0
0 x2 4 1 1 1 0 0
1 a 6 -1 0 -3 -1 1
6 -1 0 -3 -1 1
-1 0 -3 -1 0
Exemplu:
Se aduce modelul la forma standard, aici introducând doua variabile de compensare u,v:
Acest model nu are o baza formata din vectori unitate, deci se introduc si doua variabile artificiale p,q în
completarea bazei canonice,variabile care modifica functia obiectiv, intrând cu coeficienti nenuli, de regula foarte
mari si pozitivi pentru ca în final algoritmul de optimizare sa-i excluda din solutia de baza:
10
4 8 3 0 0 100
0
B u v p q
p 100 4 2 1 3 -1 0 1 0
q 100 8 5 2 7 0 -1 0 1
10
1200 700 300 1000 -100 -100 100
0
NU -696 -292 -997 100 100 0 0
p 100 4/7 -1/7 1/7 0 -1 3/7 1 -3/7
3 8/7 5/7 2/7 1 0 -1/7 0 1/7
10
424/7 -85/7 106/7 3 -100 297/7 *
0
NU 109/7 -58/7 0 100 -297/7 0 *
v 0 4/3 -1/3 1/3 0 -7/3 1 * *
3 4/3 2/3 1/3 1 -1/3 0 * *
4 2 1 3 -1 0
DA 2 7 0 1 0 * *
Solutia problemei este deci: