Sunteți pe pagina 1din 11

SIMPLEX

Fie problema PPL standard: Consideram sistemul compatibil AX=D, ,n>m ,rang

A=m, A=(V1, V2 ,. Vn), ; este solutia sistemului

,daca:

Definitie: Vectorul este o solutie de baza a sistemului ,daca vectorii corespunzatori


coordonatelor nenule ale sale sunt liniari independenti.

Solutia de baza se numeste nedegenerata daca are chiar m coordonate nenule ,in caz contrar
solutia se numeste degenerata.

Daca B baza a matrici A ,deci a spatiului Rm ,notam:

S- matricea formata din vectorii coloana ale lui A care nu fac parte din baza.

XB - variabilele principale (bazice) care insotesc vectorii din baza B

XS - variabilele secundare ( nebazice)

Sistemul se poate scrie: BXB+SXS=D si inmultind la stanga cu B-1 se obtine solutia sistemului :

XB= B-1 D-(B-1S)XS. Pentru XS=0 XB = B-1 D=DB ( coordonate vectorului D in baza B)

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.

Aceasta este nedegenerata pentru componentele DB nenule si degenerata in caz contrar.

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
AB, numita matricea redusa a matricii A corespunzatoare bazei B. .

Astfel , coloanele lui AB sunt coordonatele vectorilor in baza B, dati de relatia :


B-1 =

Forma redusa contine o matrice unitate Um formata din coloabele corespunzatoare vectorilor care formeaza baza

B. Pentru determinarea formei reduse se foloseste metoda eliminarii complete prim eliminarea succesiva a cte
unui singur vector din baza. Pentru calcule se aranjeaza totul intr-un singur tabel:

B D V1 V2. Vk.....Vn E1 E2. Ek....En


E1 d1 a11 a12. a1k.....a1n 1 0 0 0 0 1.......0...............0

E2 d2 a21 a22. a2k.....a2n .

. . . .

. . . .

. . . 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 cte 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

Deci, se poate formula

Criteriul de iesire din baza:

Daca n baza intra vectorul Vk, atunci din baza se scoate vectorul care ndeplineste conditia:

Avem descompunerea: A=(B,S), unde , si corespunzator

descompunerea vectorului n variabile bazice si nebazice , ;

Sistemul de restrictii devine: . Daca

notam atunci solutia sistemului de restrictii devine: sau, scrisa pe

componente, . nlocuind n functia obiectiv, se obtine:

Notam: valoarea functiei obiectiv corespunzatoare programului de baza

si avem: Se pot enunta deci urmatoarele criterii folosite de algoritmul de


optimizare

Criteriul de optim pentru PPL:

Programul de baza este optim pentru problema de minim daca


Observatiie: pentru o problema de maxim, inegalitatea se schimba.

Criteriul de intrare n baza

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 ct mai apropiata de
valoarea minima, se adopta regula:

"Daca intra n baza vectorul Vk pentru

care "

2) La o problema de maxim, avem:

"Daca intra n baza vectorul Vk pentru

care "

Criteriul de optim infinit

Daca si , , atunci spunem ca


PPL admite un optim infinit si algoritmul de optimizare se opreste.

Enuntarea algoritmului SIMPLEX

Algoritmul SIMPLEX oferera solutia optima a PPL. l enuntam pentru problema de minim.

a) Se determina o baza admisibila B si se calculeaza :

- programul de baza corespunzator

- valoarea functiei obiectiv


- diferentele = ;

Datele se introduc ntr-un tabel SIMPLEX:

..........
B CB DB V1 V2.......... Vn
....

.................

.................
. . . . . .

. . . . . .

. . . . . .
...............

.............

...

b) (testul de optim) Daca , atunci programul este optim si


STOP.

Daca nu, adica atunci programul nu este optim si se aplica criteriul de

intrare n baza: intra n baza vectorul Vkpentru care

c) (testul de optim infinit) Daca atunci problema admite un optim


infinit si STOP.

d) Daca atunci se aplica criteriul de iesire din baza, adica iese din baza

vectorul Vh pentru care .

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:

a)Pentru o problema de maxim se schimba semnul inegalitatii n criteriul de optim si inf


devine sup la criteriul de intrare n baza.

b)Daca criteriile decid ca este pivot, atunci tabelul SIMPLEX se transforma dupa
regulile:

i) linia pivotului se mparte cu pivotul.

ii) coloana pivotului se completeaza cu 0 pna se obtine vectorul unitar al bazei


canonice.

iii) orice alt element din tabel se transforma dupa regula dreptunghiului
(pivotului) introdusa la metoda eliminarii complete.

Metoda bazei artificiale ( a celor doua faze si a penalizarii)


Fie forma standard a unei P.P.L.

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

artificiale si se rezolva problema de programare liniara:

Avem urmatorul rezultat teoretic :

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

O astfel de problema se rezolva prin metoda celor doua faze:

Faza I . n aceasta faza se rezolva problema:


La sfrsit putem avea urmatoarele situatii :

1) deci toate variabilele artificiale sunt nule si nici o variabila artificiala nu este bazica fata de
solutia optima. n acest caz dispunem de o solutie de baza a programului extins din care prin nlaturarea
variabilelor artificiale se obtine o solutie de baza a programului initial si se trece la faza a II-a

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 .

- daca pe linia variabilei artificiale nu avem

elemente nenule (rang A<m), o vom neglija suprimnd-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 introducnd 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.

n varianta metodei penalizarilor, problema initiala se nlocuieste cu o problema modificata, pe care o


putem numi problema extinsa:

cu , suficient de mare, numit coeficient de penalizare (pentru max z se scade


).

Deci, varianta penalizarii modifica functia obiectiv, introducnd 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.

Avem urmatorul rezultat teoretic :

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, plecnd de la o solutie primal


admisibila de baza

Exemplu :

Sa se rezolve urmatoarea P.P.L.

a) prin metoda penalizarii.

b) prin metoda celor doua faze.

Solutie:

a) Aducem P.P.L la forma standard. Introducnd 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

variabila artificiala a. . Fie M>0 coeficientul de penalizare cu care intra variabila


artificiala in functia obiectiv. Obtinem problema extinsa:
pentru care aplicam algoritmul simplex:

-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

ntruct toate diferentele , conditia de optim este ndeplinita, algoritmul se opreste,


dar, se observa ca n baza optima a ramas variabila artificiala (de penalizare) a, cu a>0, deci P.P.L nu are solutie.

b) Metoda celor 2 faze

Faza I. Rezolvam P.P.L.:

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

ntruct toate diferentele:


,

P.P.L nu are solutie.

Exemplu:

Se aduce modelul la forma standard, aici introducnd 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, intrnd cu coeficienti nenuli, de regula foarte
mari si pozitivi pentru ca n final algoritmul de optimizare sa-i excluda din solutia de baza:

Pentru acest model, iteratiile simplex sunt prezentate n continuare:

4 8 3 0 0 100 100
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
1200 700 300 1000 -100 -100 100 100
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
424/7 -85/7 106/7 3 -100 297/7 100 *
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:

(min)z=4; = =0; =4/3;u=0;v=4/3.

S-ar putea să vă placă și