Sunteți pe pagina 1din 66

MELNIC LUCIA ZGAN REMUS

CHIRCOR MIHAEL

CERCETRI OPERAIONALE
FUNDAMENTAREA DECIZIILOR N
MANAGEMENTUL SISTEMELOR DE PRODUCIE

2004
CUPRINS

1. INTRODUCERE
1.1. Scurt istoric al evoluiei tiinei Cercetare Operaional 3
1.2. Teoria Deciziei i Cercetare Operaional 4
1.3. Modelarea matematic n Cercetarea Operaional 5

2. PROGRAMARE LINIAR 7
2.1. Probleme de programare liniar 7
2.1.1. Formularea problemei de programare liniar 7
2.1.2. Forme ale problemei de programare liniar 9
2.1.3. Modelul matematic al problemei de programare liniar 12
2.2. Consideraii generale privind problemele de programare liniar 16
2.2.1. Soluii i fundamente ale problemei de programare liniar 16
2.2.2. Baze ale problemei de programare liniar 20
2.2.3. Interpretarea geometric a problemei de programare liniar 22
2.3. Metoda Simplex 26
2.3.1. Fundamente teoretice n aplicarea metodei Simplex 26
2.3.2. Algoritmul simplex primal 28
2.3.3. Metode de determinare a unei soluii de baz iniiale 35
2.3.4. Interpretarea economic a algoritmului simplex primal 39
2.4. Dualitatea n programarea liniar 41
2.4.1. Problema dual. Fundamente teoretice 41
2.4.2. Algoritmul simplex dual 45
2.4.3. Interpretarea economic a dualitii 49

3. PROGRAMAREA LINIAR DE TIP TRANSPORT 53


3.1. Formularea unei probleme de transport 53
3.2. Exemple de probleme de tip transport 55
3.3. Determinarea unei soluii de baza iniiale a problemei de transport 57
3.4. Metoda de determinare a soluiei optime pentru probleme de transport. 59
Metoda potenialelor.

2
Cercetri operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

4. ELEMENTE DE TEORIA GRAFURILOR


4.1. Fundamente n teoria grafurilor 64
4.1.1. Noiunea de graf 64
4.1.2. Orientare i neorientare n graf 64
4.1.3. Drumuri i circuite n graf 69
4.1.4. Lanuri i circuite n graf 70
4.2. Matrici ataate grafurilor 71
4.2.1. Matricea arcelor (conexiunilor directe) 71
4.2.2. Matricea drumurilor (conexiunilor totale) 73
4.2.3. Descompunerea grafului n componente tari conexe 75
4.3. Drumuri hamiltoniene n graf 78
4.4. Drumuri de valoare optim n graf 87
4.5. Cuplaje. Probleme de repartiie (afectare) 93

5. TEHNICA DIAGRAMELOR DE TIP REEA 97


5.1. Generaliti privind modelarea prin reele 97
5.2. Metoda drumului critic (Critical Path Method - C.P.M.) 99
5.3. Metoda potenialelor (Metro Potential Method - M.P.M.) 106
5.4. Metoda PERT (Program Evaluation and Review Technique) 108
5.5. Tehnica GERT (Graphical Evaluation and Review Technique) 111

6. ELEMENTE DE TEORIA DECIZIEI 114


6.1. Procesul i sistemul decizional al ntreprinderii 114
6.2. Utiliti decizionale 117
6.3. Optimizarea deciziilor n condiii de certitudine 121
6.3.1. Metoda utilitilor globale 121
6.3.2. Metoda Electre 121
6.3.3. Metoda Ledear-ului 122
6.4. Optimizarea deciziilor n condiii de risc 123

BIBLIOGRAFIE 131

3
4
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

CAPITOLUL 1
INTRODUCERE
1.1. Scurt istoric al evoluiei tiinei Cercetare Operaional

Cercetarea operaional ca tiin a aprut ctre sfritul primei jumti a secolului


nostru i s-a dezvoltat spectaculos n special n ultimii ani, n strns legtur cu tiina
organizrii i conducerii, teoria sistemelor, cibernetica, informatica i analiza sistemelor.
coala clasic are marele merit al abordrii unui domeniu nou, considerndu-se
pionier a organizrii tiinifice (F.W. Taylor-1900, H.L.Gantt-1901, A.Fayol-1915) i aceasta
pune pentru prima dat problema abordrii raionale a mecanismului funcionrii unei
ntreprinderi.
n perioada urmtoare se lrgete considerabil problematica organizrii i conducerii,
iar aspectele informaional-decizionale (pn atunci ignorate) i aspectele relaiilor umane dau
un alt sens abordrii mecanismului funcionrii ntreprinderii.
Cercetare operaional exista naintea declanrii celui de al doilea rzboi mondial prin
lucrrile elaborate de Erlang (1917) firele de ateptare, Harrris (1915) gestiunea tiinific
a stocurilor, Vorra (1931) rennoirea echipamentelor.
Utilizarea cercetrii operaionale n practic era dificil de realizat deoarece din punct
de vedere intelectual exista o anumit aversiune fat de modele i de caracterul descriptiv al
tiinei, iar din punct de vedere material datorit complexitii mici a organizailor i talia
relativ modest a ntreprinderilor din aceea perioad, investiiile n mijloace de calcul eficace,
respectiv a ordinatoarelor nu era justificat.
n ceea ce privete procesele de decizie, pentru prima oar se pune n mod riguros i
pe scar larg problema gsirii unor soluii optime sau apropiate de cele optime, n marea
diversitate de probleme organizatorice i de conducere.
Prima aplicaie a cercetrii operaionale moderne la scar larg o constituie aplicarea
regulilor definite de Sir Blackett n timpul celui de al doilea rzboi mondial cu deosebit succes
n Anglia i care a debutat n 1937.
Termenul de Cercetare Operaional (Operational Research)a fost utilizat pentru prima
dat n 1939, fiind legat de contribuia oamenilor de tiin la utilizarea eficient a
radiolocatoarelor n sistemul aprrii antiaeriene al Angliei.
n S.U.A. ptrunderea tiinei cercetrii operaionale (Management Science) n
dezvoltarea problemelor de conducere a industriei se datoreaz celei de-a doua revoluii
industriale i posibilitilor de comercializare a calculatoarelor electronice.
n prezent, mai mult de jumtate din firmele americane au sau folosesc specialiti n
cercetarea operaional.
n 1953 s-a format Societatea American de Cercetri Operaionale, iar n 1957 s-a
constituit Federaia Internaional a Societilor de Cercetri Operaionale. Au aprut reviste
i s-au introdus cursuri i seminarii de cercetare operaional att n S.U.A. ct i n alte ri
ale lumii.
n practic, ntreprinderea poate fi privit ca un sistem ale crui elemente componente
(oameni, capital, materiale, informaie) sunt intercorelate prin fluxuri materiale,
informaionale i energetice ce au un comportament orientat spre atingerea unor obiective
precise.
Cercetrile operaionale au consacrat n domeniul optimizrii deciziei, un mod de
abordare tiinific asupra problemelor ce intervin n cadrul unei ntreprinderi industriale i
totodat nu se concepe conducerea i gestionarea ntreprinderii, fr a face apel la metodele
cercetrii operaionale, mpreun cu celelalte tehnici moderne ca informatica, cibernetica,
teoria sistemelor, statistica.
Obiectul cercetrii operaionale l constituie sistemele i ele i propun elaborarea unor
metode de analiza a operaiilor ndreptate spre un anumit scop, precum i estimarea obiectiv

3
Introducere

a deciziilor ce pot fi adoptate.


Cercetarea operaional este un ansamblu de metode care i propune, n vederea
pregtirii deciziilor, s determine n mod raional soluiile cele mai eficiente.

1.2. Teoria Deciziei i Cercetare Operaional

Creterea productivitii i obinerea rentabilitii ntreprinderii industriale pe termen


lung, ntr-un mediu dinamic i ntr-o continu schimbare, depinde, ntr-o mare msur de
capacitatea managementului ntreprinderii de a anticipa schimbarea i de a adapta decizia
noilor situaii ntr-un mod planificat.
Accelerarea evoluiei tehnologice n industrie, influeneaz i comportamentul
consumatorilor, care se va orienta spre noi concepte i produse, mai inovate, mai atractive i
adaptate modului i ritmului lor de via.
Utilizarea raional a celor patru tipuri de resurse conduc la flexibilitatea organizaiei
i astfel activitatea poate fi planificat n prognoze pentru a releva anumite aspecte
semnificative ale viitorului.
n aceste condiii, managerul trebuie s adopte decizii, fundamentate tiinific i
performant.
Decizia reprezint soluia aleas, din mai multe variante posibile cu scopul atingerii
unui obiectiv prestabilit n condiii de eficien maxim. Este actul deliberat al unui individ
sau al unui grup de oameni investii cu puterea de a alege varianta de concepere/realizare a
unui scop i de a declana aciuni.
Procesul de decizie pornete de la un anumit rezultat care trebuie s fie obinut, iar
decidentul trebuie ca prin prelucrarea diferitelor informaii s aleag cea mai bun variant
pentru atingerea acestuia (fig. 1.1).

Rezultat Obiective Variante Criterii DECIZIE Actiune Rezultat


dorit dorit

Control

Fig.1.1.

Cercetare operaional alturi de Teoria deciziei a absorbit noile dezvoltri n


domeniul activitii de management industrial i al sistemelor economice.
Necesitatea modelrii n managementul produciei industriale rezult din faptul c
efectuarea unor experimente asupra organizaiilor este foarte greu de realizat, dar experimente
de acest fel (de exemplu modificarea parametrilor funcionali) se pot face uor n condiiile
folosirii unui model.
Utilizarea modelelor este impus i de complexitatea sistemelor industriale, care
necesit existena unei activiti desfurat astfel nct deciziile s fie n concordan cu
evoluia eficient a acestora.
Operaia de investigarea a sistemelor reale prin reprezentri convenionale se numete
modelare. Ea reprezint mulimea activitilor care se extind de la simpla prezentare a
problemei la proceduri abstracte i raionale. Ele produc n final premisele cantitative formale
ale dinamicii procesului.
Modelul este o reprezentare izomorfa a realitii ce ofer o imagine intuitiv dar
riguroas n sensul structurii logice a fenomenului studiat.
Modelarea ca metod de fundamentare a deciziilor n activitatea economic ofer
urmtoarele avantaje:
- reprezint riguros fenomenele i legturile lor la nivelul sistemului;
- permite verificarea prin analogie a teoriei cu practica;

4
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

- nlesnete descoperirea unor corelaii ntre fenomene i predeterminarea performanelor


firmei, necesare pentru adoptarea unor decizii raionale;
- reflect teorii ale proceselor cuantificabile i necuantificabile;
- urmrete obinerea unor soluii optime.
Modelarea utilizeaz un suport material fizic (de exemplu simulatoarele), o
reprezentare grafic (de exemplu un grafic reea), un model abstractizat sub forma unui model
matematic. Din impactul ntre modelele fizice cu dispozitive logice de calcul i cele
matematice au rezultat modelele de simulare.
n managementul produciei industrial se aplic toate aceste tipuri de modele, de
exemplu: modelele fizice se pot folosi pentru studiul privind planul general al firmei,
modelele grafice la analiza relaiilor om main, modelele matematice pentru alocarea
resurselor sau analiza proceselor aleatoare.
Corelaia teorie-model-realitate reprezint un aspect logic - privind corespondena
dintre teorie i model i un aspect gnoseologic urmrind corespondena dintre model i
realitate. Modelul intervine ntre teorie i obiectul real i trebuie testat n raport cu realitatea
exprimat ca obiect.
n funcie de modul n care se ajunge la soluia optim exist dou direcii principale
de lucru:
atingerea obiectivului prin deducerea soluiei optime;
atingerea aceluiai obiectiv prin practici oferite de teoria deciziei
Deducerea soluiei se caracterizeaz prin certitudinea rezultatului obinut pe baza unor
informaii obiective i complete. Dificultatea const n formularea problemei ntr-un limbaj
matematic adecvat i n volumul mare al calculelor.
Metoda a doua solicit decidentului s estimeze consecinele posibile ale aciunilor
sale pe baza unor informaii obiective, dar incomplete, introducndu-se n rezolvarea
problemei elemente subiective.
Prima direcie a condus la dezvoltarea unui ansamblu de discipline n cadrul
CERCETRII OPERAIONALE.
A doua direcie de lucru a condus la constituirea unei discipline aparte TEORIA
DECIZIEI.
ntre cele dou direcii exist raporturi strnse, biunivoce, ceea ce a condus la apariia unei
tiine multidisciplinare: TEORIA DECIZIEI i CERCETARE OPERAIONAL
Teoria deciziei este legat intrinsec de cercetarea operaional care poate fi considerat
pregtirea tiinific a deciziilor.

1.3. Modelarea matematic n cercetarea operaional

Condiiile n care se desfoar activitatea analizat din cadrul ntreprinderii, conduc la


un sistem de relaii tip ecuaii i inecuaii ce cuprind variabilele problemei i coeficienii
tehnico economici ce o caracterizeaz. Aceste relaii reprezint restriciile problemei
matematice.
Obiectivul studiului l constituie optimizarea unui anumit rezultat dependent de
aceleai variabile ce figureaz n restricii. Obiectivul este sub forma unei funcii ale crei
valori maxime sau minime le cutm i care se numete funcia obiectiv (scop, eficien).
Restriciile problemei i funcia obiectiv formeaz modelul matematic al problemei.
Modelele matematice se prefer pentru capacitatea lor de condensare riguroas a
esenialului. Modelele cercetrii operaionale se caracterizeaz prin cutarea unei soluii
optime sau apropiate de optim pentru operaia studiat.
Modelele cercetrii operaionale se bazeaz pe o mare diversitate de procedee
matematice i au aplicaii la nivel macro, dar n special la nivel microeconomic. Ele reprezint
principalul instrument pentru optimizarea deciziilor n analiza de sistem.

5
Introducere

Decizia obinut cu ajutorul modelului nu poate fi recomandat nemijlocit pentru


realizare, deoarece modelul face abstracie de o serie de aspecte ale fenomenului studiat.
Principalele faze ale elaborrii unui model matematic ntr-o problema de organizare
conducere sunt urmtoarele:
Prima faz a modelrii este cunoaterea realitii n organismul studiat, n scopul
mbuntirii mecanismului informaional decizional i descrierea logicii proceselor
decizionale, aceast faz avnd un caracter pregtitor;
A doua faz a modelrii constituirea propriu - zis a modeluluiacesta cu ajutorul
unui instrument clasic de modelare.
Elaborarea unui model matematic realmente original reclam, pe lng profunda
cunoatere a realitii care urmeaz a fi modelat, o foarte solid cultur matematic,
imaginaie i talent.
Modelelor clasice ale cercetrii operaionale, sunt diverse funcie de structura
matematica i logic, i variaz de la modele simple cum sunt cele ale programrii liniare, la
modele combinatorice, n probleme de teoria grafelor, analiza drumului critic i programarea
operativ a produciei i pn la modele complexe cum sunt cele ale utilitii sau deciziilor de
grup.
A treia faz a modelrii este confruntarea modelului cu realitatea prin implementarea
rezultatului obinut i eventual experimentarea sa.
Exist o gam larg de probleme tehnico economice care se preteaz a fi modelate
matematic cu ajutorul procedeelor cercetrii operaionale, dintre care putem meniona:
programarea operativ a produciei;
repartizarea raional a resurselor;
gestiunea stocurilor;
ealonarea n timp a activitilor unei investiii.
In contextul celor artate mai sus trebuie subliniat importana metodelor cercetrii
operaionale n fundamentarea i elaborarea deciziilor.
Sarcina cercetrii operaionale este de a pregti decizia i nu de a o adopta .
Conducerea executiv care va lua decizia final trebuie s in seama pe lng
recomandrile cercetrii operaionale i de o serie de factori ce nu pot fi formalizai.
Una din principalele caracteristici ale tuturor metodelor cercetrii operaionale este
faptul c problemele cercetrii operaionale sunt privite, din perspectiv pur teoretic, ca
probleme de matematic pur.
n cele ce urmeaz vom privi metodele cercetrii operaionale strns legate de
problemele practice.
n prezent nu se mai poate concepe conducerea unei activiti tehnico-economice
importante fr a face apel la metodele cercetrii operaionale, bineneles mpreun cu
celelalte tehnici moderne cum ar fi informatica, analiza de sistem .a..

6
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

CAPITOLUL 2
PROGRAMAREA LINIAR
2.1. Probleme de programare liniar

Orice activitate industrial se desfoar n condiiile existenei unor resurse limitate


de materii prime i materiale, de resurse umane, iar folosirea eficient, a acestora, conduce la
rezultate optime att din punct de vedere tehnic ct i economic.
Modelele de programare matematic i mai ales modelele de programare liniar,
constituie o clas special, att n teorie ct i n practica industrial.
Pentru decizii referitoare la structura optim de producie, la cantitatea ce urmeaz a se
produce, la sortimente, abordarea acestora cu modele ale programrii matematice conduce la
rezultate optime.
Programarea matematic reprezint un instrument deosebit de util fundamentrii
deciziilor n practica industrial.

2.1.1. Formularea problemei de programare liniar

Principala problem cu caracter decizional, cu care se confrunt producia o constituie


determinarea structurii optime de producie pe termen mediu i scurt printr-o folosire eficient
a resurselor.
Condiiile n care se desfoar activitatea de producie analizat, conduc la un sistem
de relaii tip ecuaii i inecuaii ce cuprind variabilele problemei i coeficienii tehnico
economici ce o caracterizeaz .
Modelul matematic de programare liniar se constituie din mulimea de activiti
(operaii){A1, A2, ..Aj,.. An}, (j=1,...,n) pentru producerea unei uniti din produsul Pj (ca
rezultat al activitii Aj), mulimea de resurse disponibile materiale, financiare, de capaciti
de producie {b1, b2, ... bm}, (i = 1,...,m) precum i din relaiile tehnico-economice dintre
acestea.
n practica industrial, legtura dintre activiti (operaii) i resurse este determinat de
procesul tehnologic de fabricaie corespunztor realizrii produsului.
Elementele aij, (i = 1,...,m; j = 1,...,n) se numesc coeficieni tehnico-economici, acetia
fiind constani ntr-un interval de timp determinat i arat ce cantitate din resursa bi (i =
1,...,m) se consum pentru producerea unei uniti din produsul Pj.
Toate aceste legturi (restricii) definite de vectorii coloan a(j) se pot organiza ntr-o
matrice A cu m linii i n coloane (2.1); fiecare linie se refer la o resurs bi i fiecare coloan
se refer la o activitate aj.

a11 .........a1n

A Mm.n; A= ( ai,j ), i = 1,..,m, j= 1,...,n; A = (2.1)
a ..........a
m1 mn

b1

m
b2
b R ,b= (2.2)
.

b
m

Notnd cu xj (j = 1,...,n) (2.3) programul activitii aj ntr-o perioad dat i cu bi


cantitile disponibile din resursele bi, se pot scrie matematic restriciile tehnico-economice.
Aceste restricii reprezint restriciile problemei de programare liniar (2.4).

7
Programare liniar

x1

x
x R ,x= 2
n
(2.3)
.

x
n

a11 x1 + a12 x2 + ... + a1n x n b1


a 21 x1 + a 22 x 2 + ... + a 2n x n b2

(2.4)

a m1 x1 + a m2 x 2 + ... + a mn x n bm

Fiecare restricie (inecuaie de tipul ) cuprinde afirmaia prin care cantitatea


consumat dintr-o resurs nu poate depi volumul disponibil din resursa respectiv.
Obiectivul studiului l constituie optimizarea unui anumit rezultat dependent de
aceleai variabile ce figureaz n restricii.
Obiectivul este sub forma unei funcii ale crei valori maxime sau minime le cutam i
care se numete funcia obiectiv (scop, eficien).
n practica industrial, ea reprezint criteriul de performan urmrit: maximizarea
beneficiului, maximizarea produciei marf, minimizarea costului produciei, maximizarea
gradului de ncrcare al utilajelor sau minimizarea timpului de staionare al acestora,
maximizarea veniturilor etc.
Variaia funciei obiectiv arat evoluia volumului activitilor, prin intermediul
coeficienilor c j , ce pot fi costuri unitare n cazul problemelor de minim, sau profituri unitare
pentru probleme de maxim (2.5).

c1

c2
cj R, c Rn c = ; c T = (c1 c 2 ...c j ...c n ) (2.5)
.

c
n

Decizia cu scopul unei eficiene maxime presupune minimizarea efortului i


maximizarea rezultatului,
Conceptul de optim se definete, n acest caz, ca un program (soluie) x Rn care
minimizeaz sau maximizeaz o funcie obiectiv i, n acelai timp, satisface toate restriciile
tehnico-economice.
Presupunnd c fiecare coeficient .cj msoar eficiena unei uniti din rezultatul
activitii Aj, atunci se poate introduce funcia obiectiv liniar (2.6) :

z = c1x1 + c2x2 + ... + cnxn (2.6)

Sintetiznd toate datele de mai sus, obinem urmtorul model (2.7, 2.8, 2.9)de
programare liniar.
Relaiile (2.7), (2.8) i (2.9) constituie mpreun modelul matematic al unei probleme
de programare liniar, avnd fiecare un rol specific:

1. relaia (2.7), denumit funcia obiectiv a problemei, evalueaz eficiena/performana


fiecrei soluii (program) x;

8
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

n (2.7)
min(max) z = c j x j
x j =1
n
aij x j bi 1 i k
j n=1 (2.8)

aij x j bi k +1 i l
j =1
xj 0 1 j n (2.9)

n
2. relaiile (2.8) de tipul aij x j bi reprezint restricii ce coreleaz volumul consumului
j =1
activitilor cu cel al disponibilului pentru fiecare resurs; iar restriciile de tipul
n
aij x j bi impun un consum peste limitele minimale, sunt restricii tehnico-economice
j =1
de tip calitativ;
3. relaia (2.9) xj 0 j = 1,...,n, numit condiia de nenegativitate a variabilelor, asigur
obinerea unei soluii realizabile n practica industrial.
Decizia obinut cu ajutorul modelului nu poate fi recomandat nemijlocit pentru
realizare, deoarece modelul face abstracie de o serie de aspecte ale fenomenului studiat, cele
ce au la baz o serie de factori ce nu pot fi formalizai.
n practica industrial programarea liniar ofer soluii care pot motiva tiinific luarea
unor decizii de natur strategic, tactic sau a unor decizii cu coninut tehnico organizatoric.

2.1.2. Forme ale problemei de programare liniar

O problem de programare liniar este, un caz particular al problemelor de programare


matematic i, innd cont de forma oricrei funcii liniare, se poate defini forma general a
problemei de programare liniar.
Funcia liniar (2.10), notat cu z reprezint funcia obiectiv a problemei.
Relaiile (2.11) reprezint sistemul de restricii ale problemei, iar membrul stng al
fiecrei relaii aste o funcie liniar n variabilele x1, x2,,xn, la fel ca i funcia obiectiv.
Problema de programare liniar const n optimizarea unei funcii liniare cu restricii
liniare.

Forma general a problemei de programare liniar

min(max) z = c1 x1 + c 2 x 2 + ... + c n x n (2.10)


a x + a x + ...a x ( )(= )b
11 1 12 2 1n n 1

a 21 x1 + a 22 x 2 + ...a 2 x n ( )(= )b2


...................................................... (2.11)

a m1 x1 + a m 2 x 2 + ...a mn x n ( )(= )bm

unde: c j R ( j = 1, n), aij R (i = 1, m, j = 1, n), bi R (i = 1, m)


Din analiza mai multor probleme de programare liniara deducem c ntr-o astfel de
problema pot apare restricii scrise sub forma de inegaliti sau egaliti, iar criteriul de
optimizare ales impune n unele cazuri maximizarea iar n alte cazuri minimizarea funciei
obiectiv.

9
Programare liniar

Rezolvarea problemei de programare liniar presupune determinarea valorilor


variabilelor xi, care satisfac restriciile i optimizeaz funcia obiectiv a problemei.

Forma standard a problemei de programare liniar

O problema de programare liniar este dat sub form standard dac toate restriciile
sale sunt date sub form de ecuaii (egaliti) i tuturor variabilelor li se impun condiii de
nenegativitate.
Problema de programare liniar dat n form standard se scrie n mod explicit (2.12):

n
max(min) z = c j x i
j =1
n
a ij x j = b i 1 i m (2.12)
j = 1
xj 0 1 j n

Problema de programare liniar n form standard poate fi scris i sub form


matricial (2.13) :

min(max)c T x c, x R n

Ax = b , unde A M ( R ) m ,n (2.13)
x0 b Rm

unde cT reprezint componentele matricei c transpus.


Sistemul de restricii liniare ( Ax=b ) poate fi un sistem compatibil, compatibil unic
determinat sau nedeterminat de m ecuaii i n necunoscute. Pentru ca problema de optimizare
s aib sens, numrul de ecuaii trebuie s fie mai mic dect numrul de necunoscute
(m<n)(sistem compatibil nedeterminat).

Forma canonic a problemei de programare liniar

O restricie a unei probleme de programare liniar se numete concordant


(neconcordant) dac pentru o inegalitate de tip " (" ") funcia obiectiv este minimizat sau
respectiv pentru o inegalitate de tip " " (" ") funcia obiectiv este maximizat .
O problem de programare liniar este data sub form canonic dac toate restriciile
sale sunt concordante i toate variabilele sunt supuse condiiei de nenegativitate.
Problema de programare liniar dat n form canonic se scrie n mod explicit (2.14):

n
min(max) z = c j x i
j =1
n
a ij x j ( ) b i 1 i m (2.14)
j =1
xj 0 1 j n


Problema de programare liniar n form canonic poate fi scris i sub form
matricial (2.15) :

10
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

min(max)c T x C , x R n

Ax ()b unde A M m ,n (2.15)
x0 b Rm

Orice problem de programare liniar n form general poate fi adus la forma


standard sau canonic cu ajutorul unor transformri elementare efectuate asupra operatorului
aplicat funciei obiectiv restriciilor i variabilelor:

a) o problem de minimizare n form matricial se poate transforma ntr-o problem de


maximizare i invers, schimbnd semnul coeficienilor din funcia obiectiv, astfel:

max c T x = min(c) T x ; min c T x = max(c) T x (2.16)

b) o variabil x arbitrar (variabil creia nu i se impune restricie de semn) se poate nlocui


cu dou variabile nenegative x1, x 2 , prin relaia :

x = x1 x 2 , unde x1 , x 2 0 (2.17)

c) o variabil x supus condiiei de nepozitivitate ( x 0 ) se transform ntr-o variabil


nenegativ prin substituia

x1 = x, unde x1 0 (2.18)

d) Restriciile de tip inecuaie se transform n restricii de tip ecuaii innd cont de


urmtoarele :

a T x b a T x y = b a T x b a T x + y = b
i (2.19)
x0 x, y 0 x0 x, y 0
unde y se numete variabil ecart.
Variabilele ecart nu apar n funcia obiectiv sau astfel spus apar n funcia obiectiv dar
cu coeficieni nuli:

e e
c j = 0 (unde c j = coeficieni ai variabilelor ecart).

e) sensul unei inegaliti se schimb prin nmulirea cu 1.

n aplicaiile practice apar frecvent situaii n care modelul conine simultan restricii
de toate tipurile (concordante, neconcordante, egaliti), problema fiind dat n form
general, iar rezolvarea ei poate fi abordat fr a restrnge generalitate.

Exemplul 2.1

S se scrie formele echivalente ale problemei de programare liniar:

Problema dat este n forma general. Pe baza transformrilor echivalente vom


construi formele echivalente ale problemei iniiale.
Deoarece variabila x3 nu are restricii de semn, o vom nlocui, cu diferena a dou variabile

11
Programare liniar

max(3 x1 x 2 + 2 x3 )

3 x1 x 2 = 4 , (1)
x1 5 x 2 + 2 x3 3, ( 2)

x1 + 4 x3 2, ( 3)
2 x1 + 3 x 2 2 x 3 0 , (4 )

x1 , x 2 0, x3 , oarecare

pozitive: x3 = x4 x5. Pentru ca problema s aib forma standard, toate restriciile trebuie s
fie egaliti, de aceea n restriciile (2), (3) i (4) vom introduce variabilele de egalizare x6, x7,
x8. Forma standard va fi:

max(3 x1 x 2 + 2 x4 2 x5 )

3 x1 x 2 = 4 ,
x1 5 x 2 + 2 x4 2 x5 x6 = 3,

x1 + 4 x4 4 x5 x7 = 2,
2 x1 + 3 x 2 x 4 + x 5 + x 8 = 0 ,

x1 , x 2 ,..., x8 0

Forma canonic se obine transformnd restricia (1) n dou inegaliti i toate


inegalitile le transformm n inegaliti deoarece problema este dat de
maximizare. Astfel, x3 trebuie nlocuit cu diferena x4 x5.
Se obine astfel forma canonic

max(3 x1 x 2 + 2 x4 2 x5 )

3 x1 x 2 4 ,
3 x1 + x 2 4,

x1 + 5 x 2 2 x4 + 2 x5 3,.
x 4 x + 4 x 2,
1 4 5
2 x1 + 3 x 2 x 4 + x 5 0 ,

x1 , x 2 , x 4 , x 5 0

2.1.3. Modelul matematic al problemei de programare liniar

Pentru a nelege modelul matematic al problemelor de programare liniar sub forma


general, vom analiza cteva exemple din practica industrial:

Alocarea optim a resurselor n producia industrial


O firm urmeaz s produc n tipuri de produse Pj , j = 1, n , folosind m tipuri de
resurse Ri i = 1, m .
Se cunosc coeficienii tehnologici aij ; cantitile disponibile bi din resursele Ri ;
profitul unitar cj pentru fiecare produs Pj.
S se ntocmeasc planul optim de producie al firmei astfel nct profitul total realizat
s fie maxim.

12
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Elaborare modelului matematic al problemei

Condiii generale de desfurare a activitii analizate :

- restriciile problemei apar din urmtoarea condiie:


cantitatea totala din resursa i folosit pentru producerea celor n produse nu poate fi mai mare
dect cantitatea disponibila:

n
aij x j bi , i = 1, m (2.20)
j =1

- condiiile de nenegativitate asigur obinerea unei soluii realizabile din punctul de


vedere al logicii practice industriale.

xj 0 , j = 1, n (2.21)

Sistemul de inecuaii (2.20) i (2.21) poate avea o infinitate de soluii, deci putem
organiza procesul de producie pentru realizarea produsului P ntr-o infinitate de moduri dar
respectnd condiiile anterioare .
Acest fapt face evident imposibilitatea practic a managerului de a compara toate
variantele de plan posibile deci este necesar introducerea unui alt criteriu.
Adoptarea unei variante de plan (n fapt fundamentarea deciziei) se face, preferabil, pe
baza unui criteriu economic (cel mai uzual maximizarea profitului sau n alte cazuri
minimizarea costurilor). Aplicarea acestui criteriu economic, presupune cunoaterea profitului
total.
n
Deci : c j x j reprezint profitul total pentru produsele Pj
j =1
Funcia obiectiv (scop, eficien) va fi :

n
max f = c j x j (2.22)
j =1

Deci, modelul de programare liniar ce urmeaz a fi rezolvat pentru determinarea


planului optim de producie astfel nct profitul total realizat s fie maxim este:

n
max f = cjxj
j =1


aij x j bi (2.23)

xj 0

Problema de transport
Un produs omogen P este stocat n m depozite Di, n cantitile ai , i = 1, m i este cerut
de spre a fi transportat la n centre de consum Cj ,n cantitile bj, j = 1, n . Se cunosc costurile
cij pe unitatea de produs transportat de la centrul Di la centrul Cj . Se cere determinarea unui
plan de transport astfel nct costul total de transport s fie minim.

13
Programare liniar

Elaborarea modelului matematic al problemei

Notaii : ai = cantitatea din produs care se afl n depozitul i;


bj = cantitatea cerut de consumatorul j ( 1<j<n);
xij= cantitatea ce urmeaz a fi transportat de la depozitul i
la consumatorul j ;
cij= costul unitar al transportului din depozit la consumator.
Cu aceste notaii se pot exprima urmtoarele mrimi ce ne ajut s stabilim restriciile
problemei i funcia obiectiv:
cantitatea transportat de la depozitele Di la toate cele n centre de consum este cantitatea
sa disponibil:

x
j =1
ij = ai , i = 1, m (2.24)

cantitatea transportat de la toate cele m depozite la consumatorul Cj reprezint necesarul


acestuia, bj , j = 1, n .

x
i =1
ij = bj j = 1, n (2.25)

pentru scrierea modelului se pleac de la forma echilibrat a problemei de transport i


anume cantitatea total expediat de la cele m depozite este egal cu cantitatea sa
disponibil:

m n

a = b
i =1
i
j =1
j (2.26)

variabilele satisfac evident condiia de nenegativitate :

xij 0 (2.27)

funcia obiectiv este urmtoarea :

m n
min cij xij (2.28)
i =1 j =1

Se obine un program liniar, ce se va supune metodelor programrii liniare i poart


denumirea de program de transport :

m n
min( f ) = cij xij
i =1 j =1
n
xij = ai , i = 1, m
j =1 (2.29)
n
xij = bi , j = 1, n
j =1
x 0, i = 1, m, j = 1, n
ij

14
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Problem de repartizare a sarcinilor de producie


ntr-un atelier de montaj echipele E j , j = 1, n , pot monta cu randamente diferite,
produsele Pi , i = 1, m . Activitatea atelierului este caracterizat de urmtoarele date
cunoscute: aij - timpul necesar pentru montajul unei cantiti de produs Pi de ctre echipa
E j ; cij - cheltuielile necesare pentru montajul unei uniti de produs Pi de ctre echipa E j ; bi
- cantitatea planificat din produsul Pi , i = 1, m ; t j - timpul de lucru disponibil al echipei
E j , j = 1, n .
S se stabileasc o repartizare a produselor, echipelor, din atelierul de montaj astfel
nct cheltuielile totale necesare s fie minime.

Elaborarea modelului matematic al problemei:


Variabilele de decizie (necunoscutele) se noteaz cu xij i reprezint cantitatea din
produsul Pi ce trebuie realizat de echipa Ej.
Funcia obiectiv este o funcie de cost, respectiv, cheltuielile celor n echipe, necesare
pentru montajul cantitilor repartizate din cele m produse; funcia trebuie minimizat:

m n
min f = cij xij (2.30)
i =1 j =1

Cantitatea de produse de fiecare tip planificat trebuie realizat:

x
j =1
ij = bi , i = 1, m (2.31)

Oricare echip poate executa produse n limita fondului de timp disponibil:

a x
i =1
ij ij t j , j = 1, n (2.32)

Variabilele xij se supun condiiei de nenegativitate:

xij 0, i = 1, m, j = 1, n (2.33)

Deci, modelul matematic al problemei este:

m n
min f = cij xij
i =1 j =1

n x = b , i = 1, m
j ij i
=1 (2.34)
m
aij xij t j , j = 1, n
i =1
xij 0, i = 1, m, j = 1, n

Problem de utilizare a capacitii utilajelor

15
Programare liniar

O firm produce n tipuri de produse care pot fi fabricate pe m utilaje care au capaciti
de producie limitate pe o anumit perioad. Se cunosc: procentul aij din capacitatea utilajului
i necesar pentru producerea unei uniti din produsul j; profitul unitar cj al produsului j = 1, n .
S se stabileasc un program de fabricaie care s permit utilizarea optim a
capacitii disponibile a celor m utilaje.

Elaborarea modelului matematic al problemei:


Variabilele problemei sunt cantitile de produse fabricate n perioada considerat. Se
noteaz cu xj, numrul de produse de tipul j = 1, n .
Funcia obiectiv este profitul total obinut de firm pentru cele n tipuri produse; funcia
trebuie maximizat:

n
max f = c j x j (2.35)
j =1

Restriciile de capacitate ale celor m utilaje se exprim sub forma:

a
j =1
ij xij 1, i = 1, m (2.36)

Variabilele xj se supun condiiei de nenegativitate:

x j 0, j = 1, n (2.37)

Atunci, modelul matematic al problemei este:

n
max f = j =1
cjxj

m
aij xij 1, i = 1, m (2.38)
j =1
x 0, j = 1, n
j

2.2. Consideraii generale privind problemele de programarea liniar

2.2.1. Soluii i fundamente ale problemei de programare liniar

Fie problema de programare liniar dat n form standard matricial:

min(max)c T x C , x R n

Ax = b , unde A M m ,n (2.39)
x0 b Rm

Sistemul de ecuaii Ax=b are o infinitate de soluii, deci trebuie s se gseasc n


mulimea soluiilor o soluie ce realizeaz valoarea optim (minim sau maxim ) a funciei
obiectiv.

16
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Soluie admisibil
Un vector x = ( x1 x 2 ... x n ) R n care satisface restriciile si condiia de
nenegativitate se numete soluie admisibil sau posibil a problemei de programare liniar.
Mulimea soluiilor admisibile, S, este:

{
S = x R n / Ax = b, x 0 } (2.40)

Sistemul de ecuaii, avnd m ecuaii i n necunoscute, cu m<n i rang A=m are m


necunoscute principale i n-m necunoscute secundare.
O soluie de baz se obine prin anularea celor n-m necunoscute secundare, deci are cel
mult m componente nenule.

Soluie admisibil de baz



Se numete soluie admisibil de baz pentru sistemul Ax=b, vectorul x , ce satisface
condiiile :
a) x soluie a sistemului : Ax=b ;
b) coloanele din A, corespunztoare componentelor lui x nenule, formeaz o
mulime liniar independent.
n cazul cnd o soluie de baz are mai puin de m componente diferite de zero, atunci
ea se numete soluie degenerat, n caz contrar ea fiind nedegenerat.

Soluie optimal
O soluie admisibil care face optim funcia z=min(max)c T x se numete soluie
optimal.
Este posibil ca problema de programare liniara s aib soluie optim unic, s aib
mai multe soluii optime sau s nu admit soluie optim.

Soluie grafic
Acest tip de soluie va fi studiat detaliat n paragraful 2.2.3.

Teoremele i definiiile care urmeaz, specific unele proprieti ale soluiilor


ce justific clasificarea realizat anterior.

Teorema 2.1 (Teorema fundamental a programrii liniare):


Dac problema de programare liniar n form standard admite un program (soluie
admisibil), atunci ea are cel puin un program de baz. Dac problema are un program
optim, atunci are un program optim de baz.

Demonstraie:

Fie xS un program al urmtoarei problemei de programare liniar:

min c T x

Ax = b . (2.41)
x 0

Notm cu p numrul componentelor nenule ale vectorului x.


Fr a restrnge generalitatea problemei putem presupune c cele p componente
nenule sunt chiar primele componente din cele n ale vectorului x adic:

17
Programare liniar

x = ( x1 , x2 , x3 , xp , 0, 0 ,0)T (2.42)

Dac p = 0, atunci x = 0 deci afirmaia teoremei este evident.


Dac p > 0, atunci exist dou posibiliti:
- dac vectorii a1 , a2 , ..ap A corespunztori celor p componente nenule ale lui x
sunt liniari independeni, atunci x este program de baz.
- dac vectorii a1 , a2 , ..ap A corespunztori celor p componente nenule ale
lui x sunt liniari dependeni atunci exist numerele reale: y1, y2,.. yp nu toate nule astfel nct
s fie satisfcut relaia:

a1y1 + a2y2 +..+apyp = 0 (2.43)

Relaia (2.43) se poate scrie sub urmtoarea form echivalent : Ay = 0 cu y 0.


Notm cu y vectorul cu primele p componente nenule i urmtoarele componente n-p
nule: y = (y1, y2 , yp, 0, 0 .0 )T.
Atunci, obinem: A( x + y ) = Ax + Ay = b, ( ) R
Deci, x + y este soluia sistemului Ax=b astfel putem determina valori ale lui
pentru care x + y este program pentru problema (2.41), deci este ndeplinit i condiia: x +
y > 0
Notm: I1 = mulimea indicilor i , 1< i < p , yi > 0;
I2 = mulimea indicilor i , 1< i <p , yi < 0.
Fie:

x x
max ( i ), I 1 min ( i ), I 2
1 = iI1 yi 2 = iI 2 y i (2.44)

, I1 = + , I2 =

Deci pentru oricare [1 , 2 ] , avem ndeplinit condiia: x + y 0, deci vectorul


x + y este program.
Rezult c c T y = 0 ,deoarece n caz contrar alegnd pe de semn contrar valorii lui
c T y , avem urmtoarele: c T ( x + y ) = c T x + c T y < c T x , ceea ce contrazice faptul c x este
program optim. Prin urmare c T ( x + y ) = c T x , adic x+ y este program optim.
Astfel putem alege o valoare 0 pentru care vectorul x + 0y s aib cel mult p-1
componente nenule, deci 0 (1 + 2 ) ( 1 , 2 nu pot fi ambele infinit)
x
n caz particular, = 0 = min ( i ) deci se va obine programul soluie x + 0y cu p-1
yi <0 yi
componente pozitive i astfel vom avea dou cazuri :
Dac coloanele corespunztoare componentelor sunt liniar independente atunci programul
anterior este program de baz.
Dac coloanele corespunztoare componentelor sunt liniar dependente atunci se reia
algoritmul ntr-un numr finit de pai, cel mult p pn se va ajunge la primul caz i se
obine un program optim de baz pentru problema dat.

Definiia 2.1: Fie V un spaiu liniar peste corpul R i x, y doi vectori din V. Mulimea
vectorilor [x, y ] = {X V / X = (1 ) x + y,0 1 } se numete segment al lui V (unete
vectorul x cu vectorul y ).
Definiia 2.2: O mulime M de vectori din V se numete mulime convex dac () x, y
M i
18
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

() [ 0,1] , atunci [ x, y] M .
Deci se poate spune c mulimea M din V este convex, dac odat cu doi vectori x, y
M conine i segmentul determinat de aceti vectori.

Definiia 2.3: Vectorul X M se numete vrf sau punct extrem al mulimii M dac nu
exist vectorii x, y M astfel nct {X = (1 ) x + y,0 1 } . n caz contrar X se
numete punct interior mulimii M .

Definiia 2.4 : Prin combinaie liniar convex a vectorilor x1 ,x2 ,xm M se


nelege o expresie de forma 1x1 + 2x2 + + mxm cu [ 0,1 ] i 1 + 2 + + m = 1
Concluzie: Orice punct interior X al unei mulimi convexe M se poate exprima ca o
combinaie liniar convex de un numr finit de puncte extreme.

Teorema 2.2: Mulimea soluiilor admisibile ale unei probleme de programare liniar
este o mulime convex .

Demonstraie :
Fie mulimea soluiilor admisibile dat de relaia (2.40).
Fie dou soluii: x1 , x2 S. Atunci pentru [0,1] avem

x = x1 +(1- )x2 0 (2.45)

nlocuind relaia (2.45) n relaia (2.40) obinem :

Ax= A[x1 +( 1- )x2]=Ax1 + (1- ) Ax2 = b + (1- )b = b+ b - b = b,

deci mulimea soluiilor problemei de programare liniar este o mulime convex.

Teorema 2.3: Orice soluie admisibil de baz a unei probleme de programare liniar
este vrf sau punct de extrem al mulimii soluiilor admisibile.

Demonstraie.
Presupunem c soluia admisibil de baz x are forma
x=(x1 x2 xm 0 0T.
Aceasta nseamn c xi 0 (i = 1, m), vectorii p1, p2, ,pm sunt liniar independeni i
x satisface sistemul de restricii, deci

x1P1 + x2P2 + + xmpm +0pm+1 + + 0pn = p0 (2.46)

Trebuie artat c x este vrf al mulimii S a soluiilor admisibile.


Presupunem prin absurd c x nu este vrf, ci punct interior, adic exist doi vectori
x' , x' ' S astfel nct: x = x'+(1 )x' ' , (0,1)
Scris pe componente:

x1 = x1' + (1 )x1' , x 2 = x 2' + (1 )x 2'' ,., x m = x m' + (1 )x m'' ,.., 0 = x n' + (1 )x n''

(
ns (0,1) , deci 1 > 0 , iar xi' 0 i = 1, n i xi'' 0 ) (i = 1, n) deoarece
x' , x' ' S , astfel c, din cele n m relaii se obin:
x m' +1 = 0  x n' = 0 ; x m'' +1 = 0  x n'' = 0 i deci vectorii x' , x' ' au formele:

19
Programare liniar

(
x' = x1' x 2'  x m' 0  0 )
T
, (
x' ' = x1'' x 2''  x m'' 0  0 )
T
(2.47)

Exprimm faptul c x' , x' ' S verific restriciile

x1' p1 + x 2' p 2 +  + x m' p m = p0 (2.48)


x1'' p1 + x 2'' p2 +  + x m'' p m = p0 (2.49)

ns vectorii pi ,,pm sunt liniari independeni. Rezult:

x1' = x1'' , x 2' = x 2'' , x m' = x m'' adic x' = x' ' (2.50)

Aceasta nseamn c nu exist vectorii x' , x' ' S astfel ca x = x'+(1 )x' ' (0,1)
prin urmare x este vrf sau punct de extrem n S.

Teorema 2.4: Funcia obiectiv a unei probleme de programare liniar ia valoare


optim ntr-un punct extrem a mulimii convexe M a tuturor soluiilor admisibile ale
problemei de programare liniar.

Demonstraie:
Presupunem c se cere ca funcia obiectiv s fie minimizat.
~
Notam cu M = { xi , i I } mulimea punctelor extremale ale lui M i fie x1 punct
extrem pentru care c T x1 = min{c T xi } = z1
iI
Presupunem prin absurd c aceast afirmaie nu este adevrat, atunci exist x0
{ ~
}
M M astfel nct : c T x0 = z0 < z1, deoarece x0 nu este punct extrem atunci :

x0 = x
iI
i i , I 0 ,
iI
i =1 (2.51)

Dar z0 = c T x0 = i c T ' xi > i c T x1 = cT x1 = z1, ceea ce este o contradicie. Deci


iI iI
x1 este un program minimal pentru problema de programare liniar.

Consecin :
Dac funcia obiectiv ia aceeai valoare optim n mai multe puncte extremale, atunci
orice combinaie liniar convex a acestora este soluie optim a problemei de programare
liniar.

2.2.2. Baze ale problemei de programare liniar

Fie problema de programare liniar n forma standard (2.13), n care matricea A are m
linii i n coloane, iar rang A = m < n. Ecuaiile ce compun sistemul liniar Ax = b sunt liniar
independente, iar sistemul are o infinitate de soluii.
Astfel, n matricea A exist cel puin un grup de m coloane liniar independente, care
formeaz o baz a spaiului Rm.
Definiiile ce urmeaz reprezint fundamente ce stau la baza rezolvrii modelelor de
programare liniar.

Definiia 2.5 Se numete baz a problemei de programare liniar n form standard un grup
de m coloane liniar independente.

20
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Problema (2.13) are un numr finit de baze i anume C nm .


Fie B o baz format cu m coloane, ale matricei A. Matricea A se poate scrie
partiionat sub forma:

[ ] [ ]
A = [B, S ] , cu B = a (i ) iI , S = a ( j ) j J (2.52)

unde prin I i J s-au notat mulimile de indici corespunztori coloanelor din baza B i,
respectiv, a celorlalte coloane:

{
I = i = 1, n a (i ) B } (2.53)
J = {1,2,..., n}/ I

Partiionarea vectorului x al variabilelor problemei este urmtoarea:

xB
x = S , cu x B = [xi ]iI , xS = x j [ ] jJ
(2.54)
x

iar partiionarea vectorul c al coeficienilor funciei obiectiv este:

c B
c = S , cu c B = [ci ]iI , cS = c j [ ] jJ
(2.55)
c

n raport cu baza B aleas, variabilele xi (i I ) se vor numi variabile de baz, iar


x j ( j J ) variabile secundare.
Sistemul de ecuaii Ax = b se poate scrie dup partiionare sub forma:

B

[B, S ] x S = b Bx B + Sx S =b (2.56)
x

Matricea B fiind o baz a spaiului Rm este inversabil. Astfel prin nmulirea relaiei
(2.56) la stnga cu B-1 se obine forma explicit a sistemului de ecuaii:

x B = B 1b B 1 Sx S (2.57)

Notm cu:

B
x = B 1b (2.58)
y Bj = B 1a ( j ) , j = 1, n (2.59)

nlocuind relaiile (2.58) i (2.59) n relaia (2.57) obinem:

B
x B = x y Bj x Bj (2.60)
jJ

Scris pe componente relaia (2.60) devine:

21
Programare liniar

B
xiB = x i y ijB x Bj , i I (2.61)
jJ

Definiia 2.6. Soluia de baz corespunztoare bazei B este:

B
x B = x Rn (2.62)
0

O soluie de baz este o soluie admisibil (program) a unei probleme de programare


B
liniar dac x 0 .

Definiia 2.7 Baza B care satisface condiia

B 1b 0 (2.63)

se numete baz primal admisibil.

innd seama de relaiile (2.54) i (2.55), funcia obiectiv a problemei de programare


liniar, z = c T x , poate fi exprimat prin:

[ ' x
]
B
( )
z = c B c S S = c TB x B + c ST x S = c TB B 1b B 1 Sx S + c TS x S
x
(
z = c B B b c TB ' B 1 S c ST ' x S
T 1
) (2.64)

Notm cu:

B B
z = c TB x (2.65)
z Bj = c TB y Bj , j = 1, n (2.66)

nlocuind relaiile (2.65) i (2.66) n relaia (2.64) obinem:

B
z = z z iB c j x Bj ( ) (2.67)
jJ

B
Definiia 2.7. Constanta z din relaia (2.67) reprezint valoarea funciei obiectiv n soluia
asociat bazei B.

Diferentele z Bj c j ( j J ) se mai numesc costuri reduse i au rolul esenial n


caracterizarea optimalitii unei soluii admisibile de baz a unei probleme de programare
liniar.

2.2.3. Interpretarea geometric a problemei de programare liniar

O interpretare geometric a unei probleme de programare liniara se poate obine


simplu n cazul cnd problema are dou variabile (spaiu R2) i se prezint sub forma
canonic.
22
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Fie modelul de programare liniar (2.11) exprimat n funcie de dou variabile de


decizie x1 i x2.
1) Restriciile unui astfel de model pot fi exprimate prin
a) egaliti : a11 x1 + a12 x 2 = b1

a12 x1 + a 22 x 2 b2
b) inegaliti : sau (2.68)
a 21 x1 + a 22 x 2 b2

2) Condiii de nenegativitate : x1 0, x 2 0 (2.69)

3) Funcia obiectiv (2.10) poate fi: min(max) z = c1 x1 + c 2 x 2 (2.70)

Realiznd o analiz din punct de vedere grafic putem observ urmtoarele :


egalitatea a11 x1 + a12 x 2 = b1 , reprezint o dreapta. Mulimea soluiilor ( x1 x 2 ) , aparine
acestei drepte (d), iar aceast dreapt (curb de nivel), mparte planul (0 x1 x 2 ) n dou
semiplane.
inegalitatea a11 x1 + a12 x 2 < b1 , - mulimea soluiilor fiind reprezentat n acest caz printr-o
arie, dreapta mparte planul (0 x1 x 2 ) n doua semiplane ce au o arie comun i n final
un punct comun.
Pentru aflarea soluiei optime, dac ea exist, trebuie aflat mai nti mulimea
soluiilor admisibile S mulime ce satisface sistemul de restricii i condiiile de
nenegativitate.
n reprezentarea grafic acesta va fi o mulime convex, reprezentat printr-un
domeniu, numit admisibil.

Exemplul 2.2 S se rezolve problema de programare liniar

z = max(2 x1 + x 2 )
2 x x 2
1 2

1x 2 x 2 2
x1 + x 2 5
x1 0 , x 2 0

Pentru determinarea domeniului admisibil se procedeaz n modul urmtor: se afl


domeniul care satisface cele trei restricii i condiiile x1 0, x 2 0 .
Se figureaz dreptele:

(d1) 2x1- x2 = -2, trece prin A1(-1,0), B1(0,2)


(d2) x1- 2x2 = 2, trece prin A2(2,0), B2(0,-1)
(d3) x1+ x2 = 5, trece prin A3(5,0), B3(0,5)

i apoi se ia, n cadranul nti intersecia domeniilor ce reprezint soluiile, respectiv, ale celor
trei inecuaii, fig. 2.1.
Prin intersecia celor trei semiplane s-a obinut domeniul admisibil, ce este o mulime
convex. Coordonatele oricrui punct din acest domeniu satisfac toate restriciile i condiiile
de nenegativitate ale problemei. Conform teoremei 2.4, dac funcia obiectiv i atinge
valoarea maxim, atunci z ia valoarea maxim ntr-un vrf ( punct extrem al mulimii
convexe). Acestea sunt vrfurile poligonului, notate cu: O, A, B, C, D.

23
Programare liniar

Coordonatele acestor puncte se afl uor astfel:

x2
d1

C(1,4)

d2

(D
)
D(0,2)

B (4,1)
d3

0 A(2,0) x1

Fig.2.1

x 2 x2 = 2
B (d 2 )  (d 3 ) 1 B(4,1)
x1 + x2 = 5
2 x 2 x 2 = 2
C (d 1 )  (d 3 ) 1 C (1,4 )
x1 + x 2 = 5

Aflarea soluiei optime se bazeaz pe faptul c funcia obiectiv, avnd dou variabile se
poate reprezenta printr-o dreapt (D).

(D): c1x1 + c2x2 = z

Adus la forma y = mx + n unde m este panta, iar n ordonata la origine, rezult:

c1 z
(D): x 2 = x1 +
c2 c1

c1
care reprezint o mulime de drepte paralele ntre ele, avnd panta constant m =
c2
z
i ordonata la origine variabil, n = .
c1
n problemele de maxim vom alege poziia care are ordonata la origine astfel ca ea s
furnizeze valoarea maxim pentru z.
Analog pentru problemele de minim.

Pentru exemplul de mai sus rezult:


(D) : x2 = -2x1 + z ; se alege acea dreapt ce trece prin unul din vrfuri, ce are m = -2
i ordonata n = z = max
Ea este figurat punctat n figura 2.1. Ordonata la origine maxim corespunde punctului
B deci

x1 = 4 i x2 = 1 z = 2*4 +1*1 = 9 = max

Deoarece panta dreptei (D) este m = -2 = tg , rezult c unghiul = 116,560.

24
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Exemplul 2.3.
Pentru fabricarea a dou produse P1 i P2, o firm dispune de patru tipuri de resurse Ri
( )
1,4 . Cantitile de resurse Ri folosite pentru fabricarea fiecrei uniti din produsele P1 i P2,
n uniti convenionale (tone etc) sunt date n tabelul 2.1.
Se mai cunosc cantitile disponibile ale firmei din fiecare resurs Ri i = 1,4 i ( )
beneficiile pentru fiecare unitate din cele dou produse.
S se determine planul de producie astfel ca beneficiul total s fie maxim.

Tabelul 2.1
Resurse R1 R1 Disponibil
R1 2 2 12
R2 1 2 8
R3 4 0 16
R4 0 4 12
Beneficiu 2 um 3 um

Introducnd variabilele de decizie: x1 = numrul de uniti din produsul P1 i x2 =


numrul de uniti din produsul P2 , rezult urmtorul model matematic de P.L.:

2 x1 + 2 x 2 12
x + 2x 8
1 2
x1 0, x 2 0, z = 2 x1 + 3 x 2 = max
4
1 x 16
4 x 2 12

Soluia grafic (2.2) se obine determinnd domeniul admisibil:

(d 1 )2 x1 + 2 x 2 = 12
(d )x + 2 x = 8
2 1 2

( )
d 3 4 x1 = 16
(d 4 )4 x 2 = 12
(D) 2x1 + 3x2 = z

Se observ c dreptele (d1 ) , (d 2 ) i (d 3 ) sunt concurente n punctul B(4,2), iar


C (d 2 )  (d 3 ) are coordonatele C(2,3).

x2

d3
(D

C(2,3) d4
)

D(0,3)

B(4,2)

d1 d2

0 A(4,0) x1

Fig.2.2

25
Programare liniar

Soluia optim a problemei este:

x1 = 4; x2 = 2 f(x) = 14 = max

Verificm soluia n restriciile problemei.

Rezult c resursele R1, R2 i R3 sunt resurse rare, utilizate n ntregime n timp ce


resursa R4 nu a fost n ntregime utilizat.
Cantitatea din resursa R4, ce rmne disponibil poate fi determinat i ulterior folosit
cunoscnd preul umbr (dual).
Aceast analiz urmeaz a fi detaliat n subcapitolul 2.4.

2.3. Metoda Simplex

Metoda Simplex sau metoda mbuntirilor succesive evit cercetarea exhaustiv


a tuturor soluiilor de baz ale unei probleme de programare liniar, construind succesiv
soluii realizabile de baz din ce n ce mai bune ale modelului pn cnd este obinut o
soluie de baz optim. Prin soluie mai bun nelegnd soluia ce d funciei de eficien
(obiectiv) o valoare mai mic, respectiv mai mare dect cele precedente dup cum funcia de
eficien este de minim sau de maxim.
Deci acest algoritm este o metod de examinare sistematic a programelor de baz ce
d funciei de eficien o valoare optim.
Aceast metod pune n eviden cazul n care problema admite un optim infinit sau
mulimea programelor este vid.

2.3.1. Fundamente teoretice n aplicarea metodei Simplex

Prezentarea metodei simplex se realizeaz pe un model de programare liniar dat n


form standard i n care funcia obiectiv este o funcie de minimizare.

min c T x C , x R n

Ax = b , unde A M m ,n (2.71)
x0 b Rm

B
Fie B o baz primal admisibil extras din matricea A i x = B 1b o soluie de baz
iniial a problemei de programare liniar.
Pentru ordonarea i facilitarea calculelor se utilizeaz n aplicarea practic a
algoritmului tabele ce poart denumirea de tabele simplex.
Aceste tabele sunt tabele simple ce au m+1 linii i n+1 coloane i cuprind coeficienii
numerici al problemei (2.71) corespunztori bazei primal admisibile B (tab 2.2).
Tabelul conine n prima coloan, variabilele de baz (V.B.), n coloana a doua
valoarea variabilelor de baz (V.V.B), iar n urmtoarele n coloane vectorii y Bj , j = 1, n .
Pe ultima linie a tabelului se trece valoarea funciei obiectiv pentru baza B notat cu
B
z i diferenele z Bj c j , j = 1, n .
Acestui tabel se ataeaz o linie deasupra variabilelor x j i o coloan la stnga
coloanei V.B cu coeficienii corespunztori funciei obiectiv c j , j = 1, n .

26
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Tabelul 2.2
cl ... ck ... cj ... cn

CB V.B. V.V.B xl ... xk ... xj ... xn

c1 x1B x1B yB ... ... ... yB


yB yB
11 1k 1j 1n

ci yB ... yB ... yB ...


xiB xiB ik ij yB
i1
in

cl xlB xlB yB ... yB ...


... yB
l1 lk yB ln
lj

cm x mB xmB yB ... yB ... yB ... yB


m1 mk mj mn

zB z 1B - c 1 ... z Bk - c k ... z B - c j ... z B - c


n
j n

Tabelul simplex se ataeaz fiecrei baze B din algoritm i are ca fundamente


rezultatele teoretice ce sunt prezentate n continuare.

Teorema 2.5 Criteriu de optimalitate


Fie B o baz primal admisibil pentru probleme de programare liniar (2.71). Dac
B
z Bj c j 0 , oricare ar fi j J , atunci programul de baz asociat bazei B, x = B 1b este o
soluie optim a problemei de programare liniar considerat.

Teorema 2.6 Criteriu de infinitudine a soluiilor


Fie B o baz primal admisibil pentru probleme de programare liniar (2.71). Dac
exist indicele k J astfel nct z kB ck 0 i yikB 0 , oricare ar fi i I atunci problema
are un optim infinit.

Teorema 2.7 Criteriu de mbuntire a soluiilor


Fie B o baz primal admisibil pentru probleme de programare
liniar 2.71. Fie k J astfel nct z kB ck > 0 (2.72) i I + = iI / yikB > 0 . Pentru { }
indicele i I + determinat cu relaia:

B B
xi xl
min = (2.73)
i I + yikB ylkB

~
B B
se obine un nou program de baz x cel puin la fel de bun ca x , corespunztor unei noi
~ (l )
baze B care are aceleai coloane ca i B, cu excepia coloanei a ce se nlocuiete cu
(k )
coloana a .

Observaii:
~
 Baza B este primal admisibil i verific toate teoremele anterioare.
 Relaia (2.73) reprezint criteriul de ieire din baz i ne arat indicele l I + , al
coloanei a (l ) ce urmeaz s prseasc baza B.

27
Programare liniar

 n cazul n care exist mai muli indici k J pentru care se ndeplinesc (2.72) i (2.73)
atunci se pot construi mai multe baze primal admisibile i fiecare dintre acestea modific
valoarea funciei obiectiv.
Pentru a obine mai repede optimul cutat este indicat a alege acel
indice pentru care se verific relaia.

B B
B xl xl
max (( z j c j ) B ) = ( z kB c ) (2.74)
j J ylk ylkB k

n practic utilizndu-se pentru evitarea calculelor urmtorul criteriu:

B B
max ( z j c j ) = z k ck (2.75)
j J

 Relaia 2.75 reprezint criteriul de intrare n baz i ne arat indicele


k J al coloanei a (k ) ce urmeaz s intre n baza B.
 Elementul ylk din tabelul simplex poart denumirea de pivot.
~
Pentru calculul elementelor tabelului simplex asociat bazei B n raport cu elementele
tabelului simplex asociat bazei B se utilizeaz formulele de schimbare a bazei n cadrul unei
operaii numit pivotare gaussin.
n practic formulele de schimbare a bazei se echivaleaz cu urmtoarele reguli de
transformare a tabelelor simplex :
 Elementele situate pe linia pivotului se mpart la valoarea pivotului ;
 Elementele situate pe coloana pivotului devin zero cu excepia
pivotului ce va avea valoarea unu ;
 Celelalte elemente ale tabelului simplex se transform dup regula
dreptunghiului. Se consider dreptunghiul imaginar a crui diagonal este determinat de
~
elementul yijB i pivotul yijB (fig. 2.3) ; noua valoare yijB se obine mprind la pivot diferena
dintre produsul yijB ylkB i yljB yikB dup formula :

~ yijB ylkB yljB yikB


yijB = (2.76)
ylkB

elementul de
transformat
y B
ij y ikB

y ijB y ikB

pivotul
Fig.2.3

2.3.2. Algoritmul simplex primal.

Rezultatele teoretice obinute anterior permit enunarea algoritmului simplex. Acest


algoritm pentru rezolvarea problemelor de programare liniar date n form standard (2.13)
este diferit n raport cu tipul funciei obiectiv, respectiv, probleme de minimizare sau
maximizare.

28
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Algoritmul simplex primal pentru probleme de minimizare

Pasul 1 : Se determin o baza B primal admisibil.


B B
Pasul 2 : Se determin urmtoarele elemente : x , z , z B B
j c j, y j
Pasul 3 : Se analizeaz toate diferenele z Bj c j :
B
 Dac toate diferenele z Bj c j 0 , j = 1, n atunci programul x este optim.

{
 Dac exist cel puin un indice j J + , J + = j J / z Bj c j > 0 } astfel nct

z Bj c j > 0 se trece la pasul 4.


 Pasul 4 Se determin indicele k J + cu criteriul de intrare n baz
z kB ck = max ( z Bj c j )
j J +

 Dac y kB 0 atunci problema are un optim infinit.


 Dac ()k J + pentru care y kB > 0 se trece la pasul 5.
 Pasul 5: Se determin indicele l I cu criteriul de ieire din baz:
xB xB
i l
min B = B
i I
yij ylk
y B >0
ik
(l ) (k )
Pasul 6 : Se nlocuiete n baza iniial B vectorul a cu vectorul a ,
~
obinndu-se astfel o nou baz B , iar pivotul corespunztor este y lk .
~
Mrimile tabelului simplex corespunztor noii baze B , se vor determina cu ajutorul
unei reguli denumit regula dreptunghiului (pivotare n jurul elementului y lk ), dup care se
trece la Pasul 2.

Algoritmul simplex primal pentru probleme de maximizare

Acest algoritm are paii 1,2,5,6 identici cu algoritmul pentru probleme de minimizare.
Pasul 3 : Se analizeaz toate diferenele z Bj c j :
B
 Dac toate diferenele z Bj c j 0 , j = 1, n atunci programul x este optim.

{
 Dac exist cel puin un indice j J , J = j J / z Bj c j < 0 } astfel nct

z Bj c j < 0 se trece la pasul 4.


 Pasul 4 Se determin indicele k J + cu criteriul de intrare n baz
z kB ck = min ( z Bj c j )
j J

 Dac y kB 0 atunci problema are un optim infinit.


 Dac ()k J + pentru care y kB > 0 se trece la Pasul 5.
Algoritmul simplex poate fi exprimat sintetic sub urmtoarea schem logic ( fig.2.4).

29
Programare liniar

START

Construieste
tabel simplex
initial

Exista
valori pozitive (negative) pe Nu Indica
linia diferentelor? solutia optima STOP

Da

Determina
coloana pivotului

Exista Nu Indica
valori pozitive in coloana solutia optima STOP
pivotului?

Da

Determina
linia pivotului

Calculeaza un nou
tabel simplex

Fig.2.4

Exemplul 2.4 . S se rezolve urmtoarea problem de programare liniar:

x1 x 2 4,
3 x x 18,
1 2

x1 + 2 x 2 6,
x , x 0
1 2
max (2 x1 + x 2 ).

Pentru a aplica algoritmul simplex, vom aduce mai nti problema la forma standard. n acest
scop introducem variabilele ecart x3, x4 i x5:

x1 x 2 + x3 = 4,
3 x x + x = 18,
1 2 4


1 x + 2 x 2 + x5 = 6,
x , x ,..., x 0
1 2 6

max(2 x1 + x 2 ).
Iteraia 1
Pasul 1 Fie B o baz admisibil a problemei format din coloanele matricii A i anume a3, a4
i a5:
1 0 0

3 4 5
(
B = a , a , a = 0 1 0 )
0 0 1

Pasul 2 Baza B este matricea unitate, astfel vom calcula urmtoarele elemente:
B
B 1 = B = I i x = B 1b = b = [4 18 6] ;

30
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

y Bj = B 1 a j = a j , elementele matricii A.
B
z Bj c j = c ' B 1a j c j = (0 0 0 ) a j c j = c j = (2 1 0 0 0)
B
z = c B B 1b = 0.

Cunoscnd toate aceste date, putem forma tabelul simplex iniial ( tab.2.3).
{ }
Pasul 3. Deoarece exist j J , J = j J / z Bj c j < 0 astfel nct z Bj c j < 0 , baza
iniial nu este optim.
Pasul 4 Se determin indicele k J + cu criteriul de intrare n baz
z kB ck = min ( z Bj c j ) =min ( 2,1 )=-2. Deci indicele k = 1, astfel variabila x1 va intra
j J
~
n noua baz B i ()k J + pentru care y kB > 0 .
Pasul 5: Se determina indicele l I cu criteriul de ieire din baz
xB xB
i l 4 18 4
min B = B = min , = ,
1 3 1
i I
yij ylk
y B >0
ik
deci indicele l = 3. Variabila x3 va prsi baza B. Pivotul este y31= 1
Pasul 6: Se nlocuiete n baza iniial B variabila x3 cu variabila x1 obinndu-se astfel o noua
~
baza B ceea ce nsemn c se vor transforma toate mrimile urmtorului tabel simplex cu
regula dreptunghiului.

Interaia 2 Se realizeaz un pivotaj n jurul elementului y42 (tab.2.3).

Interaia 3. Se realizeaz un pivotaj n jurul elementului y53 (tab.2.3).

Interaia 4 Deoarece z j c j 0 pentru toi j, baza actual este optim. Deci programul optim
42 36 14
al problemei noastre este x1 = , x2 = , x3 = , x 4 = 0 , x5 = 0 ( x 4 i x5 au valoarea
5 5 5
0, deoarece sunt variabile secundare).

Interpretare geometric.

Pentru problema examinat mai sus se poate da o interpretare geometric simpl n


spaiu R2.
n planul x1Ox2, mulimea punctelor (x1, x2) care satisfac restricia x1 x 2 4
constituie unul din semiplanele determinate de dreapta (d 1 ) : x1 x 2 = 4 , i anume
semiplanul care conine originea.
Celelalte dou restricii determin analog alte dou semiplane.
Mulimea programelor problemei va fi format din mulimea punctelor din primul
cadran (x1 0, x 2 0 ) care se afl la intersecia celor trei semiplane.
Aceast mulime este poligonul OABCD (fig. 2.5).
Funcia obiectiv este max(2x1 +x2). Ecuaia 2x1 +x2 = z reprezint o familie de drepte
paralele ntre ele.
n figura 2.4 sunt reprezentate punctat cteva din aceste drepte. Pentru z=z2, funcia
obiectiv ia valori mai mari dect pentru z = z1, iar pentru z = z3 valori i mai mari.

31
Programare liniar

Tabelul 2.3

2 1 0 0 0

C B
V.B. V.V.B xl x2 x3 x4 x5

0 x3 4 1 -1 1 0 0

0 x4 18 3 -1 0 1 0

0 x5 6 -1 2 0 0 1

0 -2 -1 0 0 0
2 1 0 0 0
CB V.B. V.V.B xl x2 x3 x4 x5

2 x1 4 1 -1 1 0 0

0 x4 6 0 2 -3 1 0

0 x5 10 0 1
1 1 0

8 0 -3 2 0 0
2 1 0 0 0
CB V.B. V.V.B xl x2 x3 x4 x5

2 x1 7 1 0 -1/2 1/2 0

1 x2 3 0 1 -3/2 1/2 0

0 x5 7 0 0 5/2 -1/2 1

17 0 0 -5/2 -3/2 0

2 1 0 0 0
C B
V.B. V.V.B xl x2 x3 x4 x5

2 x1 42/5 1 0 0 2/5 1/5

1 x2 36/5 0 1 0 1/5 3/5


0 x3 14/5 0 0 1 -2/5 2/5

24 0 0 0 1 1

x2
42 36
C ,
5 5

(d2)

B(7,3)
D (0,3)
(d1)

O (0,0) A(4,0) x1

Fig.2.5

ns, dup cum se vede din figur, nu exist nici un program care s dea funciei
obiectiv valoarea z3 (dreapta 2x1 +x2 =z3 nu intersecteaz poligonul OABCD domeniul
soluiilor).
Cea mai mare valoare pe care o poate lua z pentru punctele din poligonul OABCD se
obine atunci cnd dreapta 2x1 +x2 = z trece prin punctul C. Valoarea lui z n acest caz este 2.
42/5 + 36/5 = 24.

32
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Cnd am aplicat algoritmul simplex, drept baz iniial am luat baza B = (a3, a4, a5).
Variabilele x1 i x2 sunt variabile secundare, deci au valoarea 0; reiese c ne-am gsit n
vrful O (0,0) al poligonului OABCD, iar valoarea funciei obiectiv era z = 0. n continuare,
variabila x1 intr n baz i am obinut programul x1 = 4, x2 = 0.
Geometric aceasta nseamn c din vrful O ne-am deplasat pn n vrful A (4,0) de-a
lungul muchiei OA. n continuare, din vrful A am ajuns n vrful B, mergnd pe muchia AB
(variabila x3 a pstrat tot valoarea 0, deci ne gseam pe dreapta d1). De aici am ajuns n vrful
optim C, urmnd muchia BC.
Valoarea funciei obiectiv a crescut de la 0 la 8, apoi la 17 (n vrful B) i, n sfrit, la
valoarea maxim 24.
Acest lucru este valabil i n cazul general: fiecrei baze admisibile a problemei adus
la forma standard i corespunde un vrf al domeniului soluiilor.
Concluzie: Fiecare iteraie simplex reprezint o deplasare de la un vrf al domeniului
soluiilor, pe o muchie, pn la un vrf, care confer funciei obiectiv o valoare mai bun.

Exemplul 2.5.
O companie produce trei tipuri de produse A, B, C. Fiecare dintre aceste produse
trebuie prelucrate tehnologic aceeai main unealt, timp de 2 ore, 3 ore respectiv 1 or.
Maina unealt este disponibil pentru perioada analizat, 400 ore.
Pentru produsele A i C se folosesc componente speciale, cte o bucat pentru fiecare
produs, firma avnd un stoc disponibil pe perioada analizat de 150 de uniti din aceste
componente. Tot pentru produsele A i C se utilizeaz un aliaj special: pentru o unitate din
produsul A se utilizeaz 2 kg de aliaj special, iar pentru o unitate din produsul C, 4 kg. Stocul
disponibil este de 200 kg din acest aliaj special.
Studiul de pia pentru produsul B arat c se pot vinde pe perioada analizat cel mult
50 de uniti din acest produs.
Beneficiul unitar al produselor A, B i C este respectiv: 8 um (uniti monetare), 5 um,
10 um.
Compania dorete s stabileasc planul de producie care maximizeaz beneficiul total
pe perioada analizat.

Elaborarea modelului matematic


Notm x1 = numrul de produse A
x2 = numrul de produse B
x3 = numrul de produse C
unde x1, x2, x3 pentru modelul analizat reprezint variabilele de decizie.
2 x1 + 3 x 2 + x3 400
x + x 150
1 3

1 4 x3 200
2 x +
x 2 50
x1 0 , x 2 0 , x3 0
z = max(8 x1 + 5 x 2 + 10 x3 )
Se observ c problema nu are form standard.
Introducem variabilele de compensare x4, x5, x6, x7 i nlocuim max(z)=min(-z),
dorind s aplicm algoritmul simplex pentru probleme de minim.
Calculele efectuate sunt grupate n tabelele simplex reunite n tabelul 2.4.
Soluia optim este: x = (100, 50, 0, 50, 50, 0, 0), iar funcia obiectiv este min (f)= -
1050, deci max(z) = 1050
Interpretarea soluiei:
Variabilele de decizie au valorile : x1 = 100, x2 = 50, x3 = 0

33
Programare liniar

2 x1 + 3 x 2 + x3 + x 4 = 400
x + x + x = 150
1 3 5

2
1 x + 4 x 3 + x6 = 200
x 2 + x7 = 50
xi 0 (i = 1,7)
f = min(8 x1 5 x 2 10 x3 )
Matricea coeficienilor tehnico - economici este:
2 3 1 1 0 0 0
1 0 1 0 1 0 0
A=
2 0 4 0 0 1 0

0 1 0 0 0 0 1
Se vor fabrica 100 uniti din produsul A, 50 uniti din produsul B, zero uniti din
produsul C.
Se va obine beneficiul maxim, egal cu 1050 uniti monetare.
Semnificaia variabilelor de compensare rezult din modul cum au fost introduse.
Verificnd restriciile iniiale ale problemei cu soluia optim x1 = 100, x2 = 50, x3 = 0 i
comparnd cu sistemul de restricii n care s-au introdus variabilele de compensare, rezult:
- orele de lucru pe main nu s-au folosit integral, rmnnd disponibile x4 = 50 ore;
- componentele nu s-au folosit integral, rmnnd x5 = 50 uniti.
- stocul de aliaj dup efectuarea prelucrrilor este nul x6 = 0
- este satisfcut condiia de vnzare pentru B, x7 = 0.
Tabelul 2.4

-8 -5 -10 0 0 0 0

C B
V.B. V.V.B xl x2 x3 x4 x5 x6 x7

0 x4 400 2 3 1 1 0 0 0

0 x5 150 1 0 1 0 1 0 0

0 x6 200 2 0 4 0 0 1 0
0 x7 50 0 1 0 0 0 0 1
0 8 5 10 0 0 0 0
-8 -5 -10 0 0 0 0
CB V.B. V.V.B xl x2 x3 x4 x5 x6 x7

0 x4 350 3/2 3 0 1 0 -1/4 0


0 x5 100 1/2 0 1
0 0 -1/4 0
-10 x3 50 1/2 0 1 0 0 1/4 0
0 x7 50 0 1 0 0 0 1
0
-500 3 5 0 0 0 5/2 0
-8 -5 -10 0 0 0 0
CB V.B. V.V.B xl x2 x3 x4 x5 x6 x7
0 x4 200 3/2 0 1 0
0 -1/4 -3
0 x5 100 1/2 0 0 0 1 1/4 0
-10 x3 50 1/2 0 1 0 0 1/4 0
-5 x2 50 0 1 0 0 0 0 1
-750 3 0 0 0 0 5/2 -5
-8 -5 -10 0 0 0 0

C B
V.B. V.V.B xl x2 x3 x4 x5 x6 x7

0 x4 50 0 0 -3 1 0 -1 -3
0 x5 50 0 0 -1 0 1 -1/2 0
-8 x1 100 2 0 0 0
1 0 1/2
-5 x2 50 0 1 0 0 0 0 1
-1050 0 0 -6 0 0 -4 -5

34
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

2.3.3. Metode de determinarea unei soluii de baz iniiale

Algoritmul simplex necesit, pentru pornire, ca problema s fie dat n forma standard
i s aib o soluie admisibil de baz.
Prima dintre condiii se realizeaz folosind transformri utilizate n programarea
liniar.
Pentru cea de-a doua condiie alegerea la ntmplare a unei baze format din m vectori
ai matricei A, conduce la soluii de baz nerealizabile cu care algoritmul simplex nu poate
ncepe.
Gsirea unei baze pur i simplu prin ncercri repetate nu este indicat, aceast cutare
putnd dura foarte mult.
Rezolvarea problemei pleac de la observaia c singura baz pentru care calculul de
mai sus se poate face imediat este matricea unitate, caz n care soluia de baz
corespunztoare este chiar vectorul termenilor liberi.
Aceasta presupune ca problema s aib toi termenii liberi mai mari sau egali cu 0 i n
matricea A s existe toate coloanele matricei unitate.
n acest sens plecm de la observaia c existena unui vector din matricea unitate este
echivalent cu existena unei variabile care apare doar n ecuaia corespunztoare lui 1 din
acel vector, cu coeficientul 1. Acest lucru poate fi obinut n dou moduri:
1) Alegem o nou funcie obiectiv care s-i ating extremul printre soluiile
pozitive chiar pentru y = 0 i n momentul cnd am obinut soluia respectiv pornim cu
aceasta ca soluie iniial algoritmul simplex pentru fosta problem (Metoda celor dou
faze).
2) Adugm la vechea funcie obiectiv noi variabile y cu coeficieni alei astfel
nct aportul variabilelor la valoarea funciei s fie contrar scopului dorit (infinit pozitiv
ntr-o problem de minim i infinit negativ ntr-o problem de maxim) (Metoda
coeficienilor de penalizare)
Vom detalia n continuare cele dou metode:

Metoda celor dou faze


Fie dat problema de programare liniar la forma standard de maxim:

max c T' x

A x = b (2.77)
x0

n care am aranjat deja ca toi termenii liberi s fie pozitivi .

Faza 1
Const n rezolvarea unei probleme de programare liniar auxiliar, asociat problemei
iniiale. Astfel construim problema:

f ( x a ) = min( x ma +1 + x ma + 2 + ... + x ma + n )

Ax + I m x a = b (2.78)
x ,xa 0

unde xa sunt variabilele artificiale ce se introduc n restriciile problemei att ct sunt


necesare n scopul formrii bazei unitare; Im matricea unitate de ordin m.
Rezolvm cu algoritmul simplex aceast problem, pornind rezolvarea de la baza
matrice unitate, putem ajunge la dou situaii:

35
Programare liniar

1. minimul funciei f este strict pozitiv, aceasta fiind echivalent cu faptul c egalitatea Ax +
Imxa = b se poate obine doar pentru Imxa > 0 sau altfel spus Ax > b pentru orice x 0, deci
sistemul Ax = b nu are soluii admisibile i n concluzie problema iniial nu are soluie.
2. minimul funciei f este 0, n acest caz, soluia optim obinut verific Ax = b, fiind n
concluzie o soluie admisibil de baz a primei probleme.

Faza 2
ncepnd de la soluia gsit la Faza 1 se rezolv problema iniial cu algoritmul
simplex. Se ndeprteaz din tabelul simplex toate elementele corespunztoare variabilelor
artificiale (cu excepia celor care rmn n baz), introducnd coeficienii funciei obiectiv din
problema iniial.
Dezavantajul metodei const n faptul c tabelul simplex final de la faza 1 trebuie
modificat pentru a se obine tabelul simplex iniial de la faza 2, eliminndu-se coloanele
corespunztoare lui y i totodat nu vom avea n tabelele simplex ale problemei iniiale
inversa bazei (se gsea n dreptul coloanelor matricei unitate din prima faz) necesar n
anumite variante ale algoritmului simplex.

Metoda coeficienilor de penalizare


Fie problema de programare liniar la forma standard de minimizare:
min c T x

A x = b (2.79)
x0

n care toi termenii liberi sunt pozitivi i matricea A nu conine nici un vector coloan unitar.
Construim problema:

f = max(c T x My)

A x + y = b (2.80)
x, y 0

n care M este o constant presupus foarte mare (mai mare dect orice constant care
ar putea apare n rezolvarea problemei).
Rezolvm problema cu algoritmul simplex pornind rezolvarea de la baza matrice
unitate, putnd ajunge la trei situaii:
1) problema are optim infinit, n acest caz, problema iniial are optim infinit ( nu
prezint interes din punct de vedere tehnico-economic).
2) problema are optim finit i n soluia de baz avem cel puin o variabil din
vectorul y. n acest caz problema iniial nu are soluii admisibile.
3) problema are optim finit i n soluia de baz nu avem nici o variabil din
vectorul y. n acest caz problema iniial are optim finit, soluia optim i maximul
funciei fiind aceleai cu cele ale problemei modificate.
Se remarc faptul c variabilele y nu au aceeai semnificaie economic ca celelalte
variabile, ele fiind introduse doar ca un artificiu de calcul pentru a putea porni algoritmul
simplex.

Observaii :
Dac matricea restriciilor conine vectori unitari, atunci numrul variabilelor
artificiale introduse este egal cu m, numrul vectorilor unitari, indiferent de tipul
funciei obiectiv.

36
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Dac la aplicarea algoritmului simplex, o variabil artificial iese din baz ea nu


va mai intra niciodat, ceea ce arat eliminarea din calculele ulterioare.

Exemplu 2.6
Un atelier de prelucrri mecanice fabric dou produse P1 i P2.
Din structura de dezagregarea produselor se deduce c pentru realizarea produsului P1
sunt necesare 3 componente de tip A i un component de tip B, iar pentru realizarea
produsului P2 sunt necesare 1 component de tip A i 4 componente de tip B.
Atelierul dispune n stoc de 10 componente de tip A. Contractele cu furnizorii
pentru componentele de tip B, arat c se poate realiza aprovizionarea cu acesta n cantitate de
cel puin dou componente B.
Beneficiul unitar pentru produsele P1 i P2 sunt de 2 um, respectiv de 3um.
Se dorete s se stabileasc planul de producie care s maximizeze beneficiul total.

Modelul matematic este urmtorul:

f = max(2 x1 + 3 x 2 )
3 x1 + x 2 10

x1 + 4 x 2 2
x ,x 0
1 2
unde x1 , x 2 , reprezint numrul de produse de tip P1 respectiv P2.
Forma standard a problemei va fi:
(max ) f = 2 x1 + 3 x2
3 x1 + x 2 + x3 = 10

x1 + 4 x 2 x 4 = 2
x ,x ,x ,x 0
1 2 3 4

n matricea A vom introduce variabila x5 cu coeficientul 1 n a doua ecuaie i


mpreun cu coeficienii variabilei x3 n final vom avea de rezolvat problema prin cele dou
metode:
Metoda celor dou faze Metoda coeficienilor de
penalizare
min( x5 ) max(2 x1 + 3 x 2 Mx 5 )
3 x1 + x2 + x3 = 10 3 x1 + x 2 + x3 = 10

x1 + 4 x2 x4 + x5 = 2 x1 + 4 x 2 x 4 + x 5 = 2
x ,x ,x ,x ,x 0 x ,x ,x ,x ,x 0
1 2 3 4 5 1 2 3 4 5

Aplicnd Metoda celor dou faze vom obine succesiv tabele:

0 0 0 0 1
cB xB xB x1 x2 x3 x4 x5
0 x3 10 3 1 1 0 0
1 x5 2 1 4 0 -1 1
2 1 4 0 -1 0
0 0 0 0 1
cB xB xB x1 x2 x3 x4 x5
0 x3 19/2 11/4 0 1 1/4 -1/4
0 x2 1/2 1/4 1 0 -1/4 1/4
0 0 0 0 0 -1

37
Programare liniar

Am obinut optimul egal cu 0 n soluia de baz (x3,x2) care va fi soluia iniial pentru
algoritmul simplex aplicat problemei iniiale n a doua faz.
Eliminm din tabel coloana lui x5, nlocuim valorile coeficienilor funciei obiectiv i
deci i valoarea acesteia, valorile z Bj c j i rezolvm problema n continuare, plecnd de la
baza primal admisibil determinat, cu algoritmul simplex primal, obinnd tabelele de mai
jos:
2 3 0 0
cB xB xB x1 x2 x3 x4
0 x3 19/2 11/4 0 1 1/4
3 x2 1/2 1/4 1 0 -1/4
3/2 -5/4 0 0 -3/4
2 3 0 0
cB xB xB x1 x2 x3 x4
0 x3 4 0 -11 1 3
2 x1 2 1 4 0 -1
4 0 5 0 -2
2 3 0 0
cB xB xB x1 x2 x3 x4
0 x4 4/3 0 -11/3 1/3 1
2 x1 10/3 1 1/3 1/3 0
20/3 0 -7/3 2/3 0
2 3 0 0
cB xB xB x1 x2 x3 x4
0 x4 38 11 0 4 1
3 x2 10 3 1 1 0
30 7 0 3 0

Soluia optim a primei probleme este deci x1 = 0 i x2 = 10 care d un maxim al funciei


egal cu 30.
Aplicnd Metoda coeficienilor de penalizare vom obine succesiv urmtoarele tabele:

2 3 0 0 -M
cB xB xB x1 x2 x3 X4 x5
0 x3 10 3 1 1 0 0
-M x5 2 1 4 0 -1 1
-2M -M -4M 0 M -M
-M-2 -4M-3 0 M 0
2 3 0 0 -M
cB xB xB x1 x2 x3 x4 x5
0 x3 19/2 11/4 0 1 -1/4
3 x2 1/2 1/4 1 0 -1/4 1/4
3/2 -5/4 0 0 -3/4 M+3/4
2 3 0 0 -M
cB xB xB x1 x2 x3 x4 x5
0 x3 4 0 -11 1 3 -3
2 x1 2 1 4 0 -1 1
4 0 5 0 -2 2+M
2 3 0 0 -M
cB xB xB x1 x2 x3 x4 x5
0 x4 4/3 0 -11/3 1/3 1 -1
2 x1 10/3 10/3 1 1/3 0 0
20/3 0 -7/3 2/3 0 M
2 3 0 0 -M
cB xB xB x1 x2 x3 x4 x5
0 x4 38 11 0 4 1 -1
3 x2 10 3 1 1 0 0
30 7 0 3 0 M

38
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

2.3.4. Interpretarea a algoritmului simplex primal

Se consider problema de optimizare a activitii unei firme productoare. Aceasta


realizeaz n produse , cu un profit unitar cj , j = 1, n . Firma utilizeaz mai multe resurse prime
Ri , i = 1, m , disponibile n cantitile limitate bi. Consumurile specifice de resurse pentru
fiecare produs sunt aij , i = 1, m , j = 1, n .
Obiectivul firmei este obinerea unui profit total maxim, cu restriciile ce provin din
consumul integral al resurselor disponibile .
Modelul de optimizare a activitii firmei este reprezentat de problema de programare
liniar n forma standard :

(max) z = c T x

Ax = b (2.81)
x0

n care xj , j = 1, n , este cantitatea din produsul j ce urmeaz a fi fabricat.


Consumarea (utilizarea) integral a resurselor nu este strict, deoarece n lista
operaiilor productive se poate include un numr de operaii fictive (corespunztoare
variabilelor ecart) ale cror valori s reprezinte cantitatea din resurse neconsumat.
n soluia de baz a algoritmului simplex numrul componentelor nenule nu depete
numrul restriciilor.
De aceea, n orice soluie optim a problemei, numrul produselor ce urmeaz a fi
fabricate nu depete numrul resurselor folosite .
Coloanele a(j) din baza B ce corespund operaiilor j le vom numi operaii de baz,
celelalte fiind operaii secundare.
Programul optim prevede obinerea, numai prin operaiile de baz, a produselor, astfel
nct s fie consumate integral resursele disponibile.
O posibilitate de a obine un program mai bun const n identificarea unor operaii
secundare care s nlocuiasc o parte din operaiile de baz curente. Pentru acesta este necesar
un criteriu de comparare a operaiilor secundare cu cele de baz .
n ipoteza c baza B=[a(1), a(2), ..,a(m)], din relaia (2.59)

yBj=B-1a(j) , j = 1, n (2.82)

deducem :

A(j)= ByBj , j = 1, n (2.83)

care se poate scrie

A( j ) = y1Bj A(1) + y 2Bj A( 2 ) + ... + y mj


B ( m)
A (2.84)

Relaia de mai sus are urmtoarea semnificaie din punct de vedere tehnico-economic,
fabricarea unei uniti de produs j este echivalent cu fabricarea cantitilor y1B, j , y 2Bj ,..., y mj
B

din produsele operaiilor de baz. Ca urmare, pentru fabricarea unei uniti din produsul j este
necesar a diminua producia operaiilor de baz cu cantitile y1Bj , y 2Bj ,..., y mj
B
.

39
Programare liniar

Aportul produsului j la creterea profitului firmei poate fi comparat cu aportul valoric


al cantitilor y1B, j , y 2Bj ,..., y mj
B
.
n consecin, dac:

z Bj c j = c1 y1Bj + c2 y 2Bj + ... + c m y mj


B
cj 0 (2.85)

fabricarea produsului j nu este rentabil ntruct nu conduce la o majorarea valorii (profitului)


produciei curente.
Dac pentru toate operaiile secundare avem

z Bj c j 0 , j = 1, n (2.86)

atunci programul de fabricaie curent este optim. Acesta este, criteriul de optimalitate al
algoritmului simplex.
Dac z Bj c j < 0 , atunci activitatea secundar j conduce la o majorare a profitului
realizabil prin programul curent, egal cu ( z Bj c j ) .
Dintre operaiile secundare j J rentabile n raport cu operaiile de baz se va alege
acea operaie k care asigur cea mai mare vitez de cretere a valorii curente a produciei (
interpretarea criteriului de intrare n baz).
O alt problem care se mai pune este stabilirea cantitii din produsul j care se poate
realiza n condiiile date.
Fabricarea unei cantiti din acest produs implic diminuarea produciei din
produsele operaiilor de baz astfel:

x1 = x1B y1Bk , x 2 = x 2B y 2Bk ,..., x m = x mB y mk


B
(2.87)

Evident, desfurarea unei activiti la un nivel negativ este lipsit de sens economic.
Astfel este necesar ca :

xi = xiB yikB 0 , i = 1, m (2.88)

de unde obinem condiia:

xiB
0 = min (2.89)
i yikB
y B >0
ik

Presupunem c valoarea 0 se obine pentru indicele 1. Atunci:

xB
xl = xlB 0 ylkB = xlB l ylkB = 0 (2.90)
ylkB

Ca urmare, operaia l nu va mai fi folosit, iar n locul ei se va utiliza operaia k, care


asigur creterea maxim a valorii curente a produciei i, implicit, maximizeaz profitului
firmei.

40
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Aceasta este interpretarea a criteriului de ieire din baz al algoritmului simplex.


Cazul optimului infinit, ca soluie a problemei de programare liniar, nu este
semnificativ din punct de vedere economic.

2.4. Dualitatea n programarea liniar

2.4.1. Problema dual. Fundamente teoretice.

Problema dual
Dualitatea n programarea liniar ocup un rol important att din punct de vedere
teoretic ct i din punct de vedere practic. Pe teoremele de dualitatea se bazeaz muli
algoritmi de rezolvare a problemelor de programare liniar.
Fie problema de programare liniara dat sub forma general numit problema
primal :

a11 x1 + a12 x 2 + a13 x3 b1


a x + a x + a x = b
21 1 22 2 31 3 2
a31 x1 + a32 x 2 + a33 x3 b3 problema primal (2.91)
x 0 ; x arbitrar ; x 0
1 2 3
(
min c1 x1 + c2 x 2 + c3 x3 )
Numim problem dual a problemei de programare liniara urmtoarea problema de
programare liniara:

(
max b u + b u + b u
1 1 2 2 3 3
)
a11 u1 + a 21 u 2 + a31 u 3 c1

a12 u1 + a 22u 2 + a32u 3 = c2 problema dual (2.92)

a13 u1 + a 23 u 2 + a33 u 3 c3
u1 0 ; u 2 arbitrar ; u 3 0

Observm c duala problemei dualei este chiar problema primal. Datorit legturii
strnse ce se stabilete ntre aceste probleme care sunt duale una celeilalte, vom spune ca
problema (2.91) i problema (2.92) formeaz un cuplu de probleme duale.
Problema dual se obine din problema primal folosind urmtoarele transformri :

- Termenii liberi din problema primal devin coeficieni ai funciei obiectiv din
problema dual.
- Coeficienii funciei obiectiv din problema primal devin termeni liberi n
problema dual.
- O problem de maximizare primal devine problem de minimizare dual.
- Matricea coeficienilor din problema dual este transpusa matricei coeficienilor
din problema primal
- Variabilele duale corespunztoare unor restricii concordante din problema primal
sunt nenegative, iar cele corespunztoare unor restricii primale neconcordante
sunt nepozitive.
- Variabilele primale negative le corespund n problema dual restricii concordante,
iar variabilelor primale pozitive le corespund n problema dual restricii
neconcordante.

41
Programare liniar

- Variabilele duale corespunztoare restriciilor primale care sunt ecuaii, pot fi de


semn oarecare.
- Variabilelor primale oarecare le corespund restricii duale care sunt ecuaii.

Exemplul 2.7 Determinai duala problemei de programare liniar:

f = max(2x1 5x2 + 4x3)


x1 x2 + 4 x3 7
x 5x + 3x = 6
2 1 3

x1 + 2 x3 3
x3 + 2 x1 5x2 8
x1 0, x2 oarecare, x3 0

Conform regulilor de mai sus vom avea:


duala este de minim deoarece primala este de maxim;
variabilele dualei vor fi:
u1 corespunztoare restriciei: x1 x2 + 4x3 7
u2 corespunztoare restriciei: x2 5x1 + 3x3 = 6
u3 corespunztoare restriciei: x1 + 2x3 3
u4 corespunztoare restriciei: x3 + 2x1 - 5x2 8

funcia obiectiv a dualei va fi produsul dintre termenii liberi ai restriciilor primalei cu


variabilele corespunztoare din dual:
g = 7u1 + 6u2 + 3u3 + 8u4
duala va avea 3 restricii, cte variabile are primala, ele obinndu-se astfel:
Prima restricie (asociat variabilei x1)
- termenul stng al restriciei se obine nmulind coeficienii variabilei x1 din cele 4
restricii ale primalei cu variabilele corespunztoare acestora din dual: u1 5u2 + u3 + 2u4
- termenul liber al restriciei va fi coeficientul lui x1 din funcia obiectiv a primalei,
adic b1 = c1 = 2
- deoarece variabila corespunztoare acestei restricii, x1, este negativ, restricia va fi
neconcordant i deoarece duala este problem de minim rezult c va fi cu .
n concluzie, prima restricie va fi: u1 5u2 + u3 + 2u4 2
Analog se vor determina i celelalte dou restricii:
-u1 + u2 - 5u4 = -5
4u1 + 3u2 + 2u3 - u4 4
restriciile de semn ale variabilelor dualei vor fi:
 u1 0, deoarece restricia corespunztoare este neconcordant;
 u2 oarecare, deoarece restricia corespunztoare este egalitate;
 u3 0, deoarece restricia corespunztoare este concordant;
 u4 0, deoarece restricia corespunztoare este neconcordant.
n final, problema dual este:

(min) 7u1 + 6u2 + 3u3 + 8u4


u1 5u 2 + u 3 + 2u 4 4

u1 + u 2 5u 4 = 5
4u + 3u + 2u u 4
1 2 3 4
u1 0, u2 oarecare, u3 0, u4 0

42
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Exemplul 2.8

S se scrie duala problemei de programare liniar dat n form canonic:


max (3 x1 + 2 x 2 + 5 x3 + x 4 )
x x + 3 x + x 15
1 2 3 4

2 x1 x3 x 4 5
x + 2 x x 10
2 3 4

x1 ,..., x 4 0

Se construiete tabelul cu datele problemei iniiale:


max
min 3 2 5 1

u1 1 -1 3 1 15
u2 2 0 -1 -1 5
u3 0 1 2 -1 10
x1 x2 x3 x4

Aadar, problema dual este:

min (15u1 + 5u 2 + 10u 3 )


u + u
1 2 3
u1 + u 3 2

3u1 u 2 + 2u 3 5
u1 u 2 u 3 1

u1 , u 2 , x3 0

Fundamente teoretice
Fr a restrnge din generalitate ne vom ocupa n continuare de cuplul de probleme
duale (2.91) - (2.92), prima fiind considerat problema primal, iar cea de-a doua, problema
dual.
Se noteaz

{
P = x R n Ax = b, x 0 } (2.93)
{ m T
D = u R A u c, u 0 } 2.94)
Mulimile soluiilor admisibile (sau programelor) ale problemei primale (2.91),
respectiv, duale (2.92).
Teorema 2.8. Dac x P i u D , atunci c T x b T u .

Teorema 2.9. Fie x * P , u * D i c T x * b T u * . Atunci x* nu este soluie optim a


problemei primale, iar u* este soluie optim a problemei duale

Propoziia 2.1. Dac L este o matrice antisimetric (LT = -L), atunci sistemul de inegaliti
liniare

43
Programare liniar

l t 0
(2.95)
t 0

are cel puin o soluie t astfel nct

L t > 0 (2.96)

Teorema 2.10. (Teorema fundamental a dualitii) Fie cuplul de probleme duale (2.91) -
(2.92). Atunci una i numai una din urmtoarele situaii este posibil :
a) Ambele probleme au soluii admisibile. n acest caz, ambele probleme au soluii
optime i valori optime ale funciilor obiectiv sunt egale.
b) Una din probleme are soluii admisibile, iar cealalt nu are (este incompatibil). n
acest caz, problema compatibil are optim infinit.
c) Nici una dintre probleme nu are soluii admisibile.

Teorema 2.11. (Teorema ecarturilor complementare). Fie cuplul de probleme duale canonice
(2.91) - (2.92). Atunci x P i u D sunt soluii optime pentru cele dou probleme dac i
numai dac:

( )
u T A x b = 0
(2.97)
T
(
u c AT u = 0 )
Exemplul 2.9
ntr-un atelier mecanic se produc dou de tipuri de piese P1, P2.
Timpii unitari de prelucrarea celor dou piese pe cele dou maini unelte M1, M2,
profitul unitar i disponibilul de timp al mainilor unelte sunt date n tabelul de mai jos:

P1 P2 Disponibil
resurse
M1 4 3 16sp
M2 1 2 6sp
Profit 3um 7um
unitar

Modelul matematic pentru problema dat este:

f = max(3 x1 + 7 x 2 )
4 x + 3 x 16
1 2

x1 + 2 x 2 6
x1 , x 2 0

Mulimea soluiilor admisibile ale problemei (primale) este reprezentat n fig. 2.6.
* *
Problema admite soluia optim x1 = 0 , x 2 = 3 , pentru fiecare funcia obiectiv are
valoarea f max = 21 .

44
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

x2

d1

C(0,3)

B(14/5,8/5)

d2

0 A(4,0) x1

Fig.2.6
Problema dual este:
g = min(16 u 1 + 6 u 2 )
4u + u 3
1 2

3u 1 + 2u 2 7
u 1 , u 2 0

Mulimea soluiilor admisibile ale problemei duale este reprezentat n fig.2.7.

u2

d2
d1

0 A(0,3/4) B(0,7/2) u1

Fig.2.7

* *
Problema admite soluia optim u 1 = 0 , u 2 = 7 / 2 .Valoarea funciei obiectiv este
g min = 21 , evident aceeai ca i n cazul problemei primale.
Din cele artate se constat c prin rezolvarea uneia dintre cele dou probleme duale
se poate determina i soluia celeilalte. Tabelul simplex final corespunztor uneia dintre
probleme conine componentele soluiilor optime ale ambelor probleme.
Aceste rezultate teoretice se utilizeaz n practica industrial n cazul cnd planul de
producie conine o varietate mare de produse ce se fabric n aceleai condiii tehnico
economice.

2.4.2. Algoritmul simplex dual

Fie problema de programare liniar n forma standard

min c T x

Ax = b (2.98)
x 0

unde x, c R , b R m , A M mn , cu rang A = m < n.
n

45
Programare liniar

Duala acestei probleme este :

max b T u
'
A u c (2.99)
u arbitrar

Definiia 2.9 O baz B format cu m coloane liniar independente a lui A se numete dual
admisibil dac sunt satisfcute condiiile

z Bj c j 0, j = 1, n (2.100)

Propoziia 2.2. Dac B este o baz dual admisibil, atunci

u BT = c TB B 1 (2.101)

este o soluie a problemei duale (2.98).

Teorema 2.12. (Teorema de optimalitate). Fie B o baz dual admisibil pentru problema
{ B
}
primal (2.98). Fie mulimea I _ = i I x i < 0 I_=, atunci soluia de baz asociat bazei
B
B, x = B 1b , este o soluie optim a problemei (2.98).

Teorema 2.13. (Teorema de incompatibilitate a problemei primale). Fie B o baz dual


admisibil pentru problema primal (2.92), iar I_, Deci exist i I _ astfel nct
y ijB 0, j J , atunci problema (2.92) nu are soluii.

Teorema 2.14. (Teorema de mbuntire a soluiei) Fie B o baz dual admisibil pentru
problema primal (4.29), iar I_. Dac pentru orice i I _ exist j J astfel nct
y ijB < 0 , i dac se alege l I _ arbitrar, iar k J astfel nct s fie satisfcut condiia :

z Bj c j z kB c k
min B = (2.102)
j
ylj <0
B y lj y lkB

atunci matricea B obinut din B prin nlocuirea coloanei A(l) cu coloana A(k) este o baz
dual admisibil, iar programul dual asociat uB este cel puin la fel de bun ca programul uB

Algoritmul simplex dual

Pentru problema primal de minimizare sau maximizare este:

Pasul 1. Se determin o baz dual admisibil iniial B.

B B
Pasul 2. Se calculeaz x , z , y Bj , z Bj , c j , j = 1, n .

46
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Pasul 3. Se determin mulimea


{
I _ = i I xi < 0
B
}
B
Dac I_, atunci STOP : x este program optim al problemei; astfel se trece la pasul
urmtor.

Pasul 4. Se determin indicele k I _ cu criteriul de ieire din baz

{}
min x i = x l
iI _
B B

Dac y ijB 0, j = 1, n , atunci STOP : problema nu are soluii; astfel se determin indicele
k J cu criteriul de intrare n baz:

z Bj c j z B c
=
k k
min B B
j
yljB <0
y lj y lk

Pasul 5. Fie baza B obinut din B prin nlocuirea coloanei A(l) cu coloana A(k).
Se trece la Pasul 2, nlocuind peste tot baza B cu baza B.

Algoritmul simplex dual poate fi exprimat sintetic sub forma schemei logice din
fig.2.8

START

Construieste
tabel simplex
initial

Exista Nu
variabile de baza cu valori Indica STOP
negative ? solutia optima

Da
Determina
linia pivotului

Exista Nu
valori negative in linia Nu exista STOP
pivotului? solutii

Da
Determina
coloana pivotului

Calculeaza un nou
tabel simplex

Fig.2.8

47
Programare liniar

Exemplul 2.10

S se rezolve problema de programare liniar:

max( 3 x1 2 x 2 )
x 2 x + 3x 4
1 2 3

2
1 x + x 2 x 3 2
x1 , x 2 , x3 0

Se aduce problema la forma standard prin introducerea variabilelor de compensare x4, x5 i se


nmulesc cu 1 cele dou restricii:

max( 3x1 2 x 2 )
x + 2 x 3 x + x = 4
1 2 3 4

2 x1 x 2 + x3 + x5 = 2
x1 ,..., x5 0

Baza iniial B este matricea unitate format cu coloanele A(4), A(5) . Tabelul simplex asociat
are ca variabile de baz pe x4 i x5:

-3 -2 0 0 0
cB V.B. V.V.B. x1 x2 x3 x4 x5
0 x4 -4 -1 2 -1 1 0
0 x5 -2 -2 -1 1 0 1
0 3 2 0 0 0

Baza iniial este dual admisibil deoarece z Bj c j 0 . Se poate aplica deci


algoritmul simplex dual. Soluia asociat bazei B admisibil ntruct: x1 = x 2 = x 3 = 0 ,
x 4 = 4 , x 5 = 2 .
Mulimea I _ = {4,5} . Conform criteriului de ieire din baz avem:
{}
min x i = min{ 4,2} = 4 = x 4 ; se obine l = 4 , deci din baz va iei vectorul A(4).
iI _
B B

Conform criteriului de intrare n baz avem:

z Bj c j 3 0 zB c
min = min , =0= 3 B 3 ;
y4B jj<0 1 1
B
j
y4B j < 0
y4 j y43

se obine k = 3, deci n baz va intra vectorul corespunztor variabilei x3.


Noul tabel simplex este:
-3 -2 0 0 0
cB V.B. V.V.B. x1 x2 x3 x4 x5
0 x4 4 1 -2 1 -1 0
0 x5 -6 -3 1 0 1 1
0 3 2 0 0 0

48
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Soluia nu este optim ntruct x 5 = 6 . Din baz va iei vectorul corespunztor


variabilei x3=5 i va intra vectorul corespunztor variabilei x1. Se obine tabelul simplex :

-3 -2 0 0 0
cB V.B. V.V.B. x1 x2 x3 x4 x5
0 x4 2 0 -5/3 1 -2/3 1/3
-3 x 5 2 1 -1/3 0 -1/3 -1/3
0 0 3 0 1 1

2.4.3 Interpretarea economic a dualitii

Introducerea dualitii este motivat din mai multe puncte de vedere:

Teoretic. Una din problemele centrale ale programrii matematice este caracterizarea
situaiilor n care exist optimul unei probleme i gsirea unor metode prin care s
recunoatem optimalitatea unei soluii.
Teorema fundamental a dualitii i teorema ecarturilor complementare reprezint
rezultate chiar n acest sens, n care se folosete dualitatea.
Practic. Putem rezolva o problem rezolvnd problema dual a acesteia sau cunoscnd soluia
dualei.
n unele cazuri, rezolvarea dualei este mult mai uoar dect rezolvarea primalei, de
exemplu cnd numrul de restricii al primalei este mai mare dect numrul de variabile al
acesteia sau cnd primala necesit mai multe variabile suplimentare dect duala.
Economic. n cele mai multe probleme economice, a cror rezolvare se face printr-un model
de programare liniar, soluia dualei aduce o serie de informaii suplimentare despre problema
studiat.
Semnificaia economic a soluiei dualei depinde de specificul problemei i trebuie gsit de
la caz la caz.
Avnd n vedere c max[f(x)] = min [g(u)], rezult c, dac, cantitatea disponibil din
resursa Ri crete cu o unitate, atunci valoarea funciei obiectiv crete cu ui, deci ui msoar
creterea valorii funciei obiectiv determinat de creterea cu o unitate a cantitii disponibile
bi.
Aceste evaluri obinute dintr-un program optim au fost denumite n literatura de
specialitate "preuri umbr"(shadow price).
Preul umbr ui arat cu ct se modific funcia obiectiv a problemei duale, atunci cnd
termenul liber al restriciei Ri se "relaxeaz" cu o unitate. A "relaxa" are semnificaia de a
spori cantitatea disponibil bi a unei resurse deficitare sau, pentru restriciile de tip calitativ cu
n
limit inferioar impus ( a ij x j bi), de a reduce nivelul termenului liber bi.
j=1
Este evident c, dac o resurs nu este utilizat n ntregime pentru satisfacerea
n
programului optimal xB ( a ij x j < bi), atunci ui = 0 iar funcia obiectiv nu este afectat de
j=1
sporire a cantitii disponibile bi.
Preurile umbr (preuri duale) aduc informaii suplimentare pentru analiza eficienei
economice a resurselor i a diferiilor indicatori economici sau tehnici care apar n restriciile
unei probleme de programare liniar.
Pe baza lor se pot fundamenta deciziile privind alocarea judicioas a resurselor, se pot
stabili msuri de stimulare a consumului raional al resurselor, se determin ct mai corect
nivelul minim i maxim al diferiilor indicatori tehnici i economici de care depinde structura
planului optim.
49
Programare liniar

Soluia optim obinut prin utilizarea datelor iniiale poate constitui un punct de
plecare pentru analiza economic privind alocarea eficient a resurselor.
Pentru problemele n care se cere maximizarea funciei f(x), indicatorii zj reprezint
costul unitar de fabricaie al produsului j, rezultat din evaluarea coeficienilor aij prin preurile
umbr ataate restricii1or.
Rezult c, prin calcularea diferenei zj-cj, se compar acest cost unitar cu coeficientul
cj (pre unitar, beneficiu unitar etc.) din funcia obiectiv.
Dac exist diferene negative (zj-cj < 0) nseamn c, la activitile respective, preul
umbr al produsului j (costul unitar de fabricaie exprimat n indicatori ui) este mai mic dect
venitul realizat i de aceea activitatea aj este eficient.
Aa se explic faptul c va intra n baz vectorul a(k) ce corespunde diferenei (zj-cj)
minime.
n momentul n care toate diferenele sunt pozitive (zj-cj 0) rezult c nu mai exist
activiti eficiente i prin urmare soluia de baz analizat este optim.
n cazul problemelor de minim, indicatorii zj se pot interpreta ca venituri, exprimate n
preurile umbr ale restriciilor, ce se obin prin realizarea unei uniti din produsul j.
Prin urmare, dac exist diferene pozitive (zj-cj > 0), activitile aj corespunztoare
sunt eficiente, deoarece se realizeaz un venit unitar mai mare dect costul unitar de fabricaie
(zj > cj).
De aceea, va intra n baz activitatea ak, corespunztoare diferenei maxime, iar soluia
de baz se consider optim atunci cnd toate diferenele (zj-cj) sunt nepozitive .

Exemplul 2.11
O firm fabric trei tipuri de produse P1, P2, P3, utiliznd patru tipuri de resurse R1, R2,
R3, R4.
Procesul tehnologic de realizare a celor trei produse, timpul disponibil al fiecrei
resurse, cererea minim i maxim din fiecare produs conform studiului de marketing, precum
i profitul unitar sunt date n tabelul 2.5.

Tabelul 2.5
Produs Cerere Timp de prelucrare pe unitatea de Profitul
produs unitar
min max R1 R2 R3 R4 um/buc
SN 400 FU32 RU320 Banc de
control
P1 20 200 0.10 0.06 0.18 0.13 10
P2 0 100 0.12 0.05 0 0.10 12
P3 70 180 0.15 0.09 0.07 0.08 15
Timp disponibil pe resurs 36 30 37 38 -

S se determine programul de producie astfel nct s se asigure satisfacerea cererii cu


un profit total maxim.

Not m cu x1, x2 x3 variabilele de decizie ce reprezint cantitile din produsele P1, P2


respectiv P3 ce trebuie fabricate astfel nct s se ating obiectivul propus.
Modelul matematic liniar al problemei cuprinde restriciile problemei, ce provin din
limitarea disponibilitii resurselor i a cererii produselor pe pia, funcia obiectiv ce
maximizeaz profitul total i condiiile de nenegativitate care sunt evidente din punct de
vedere economic.

Modelul matematic al problemei este urmtorul:

50
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

f = max(10 x1 + 12 x 2 + 15 x3 )
0.1x + 0.12 x + 0.15 x 36
1 2 3
0.06 x1 + 0.05 x 2 + 0.09 x3 30

0.18 x1 + 0.07 x 2 37

0.13 x1 + 0.1x 2 + 0.08 x3 38
20 x1 200

0 x 2 100
70 x3 180

x1 , x 2 , x 3 0

Programul de producie este dat de variabilele de decizie i este urmtorul:

x1 = 135
x 2 = 100


x3 = 70
F .O. = 3.600u.m

Din produsul P1 se produc 135 uniti, din produsul P2 se produc 100 uniti, din
produsul P3 se produc 70 uniti. n aceste condiii valoarea funciei obiectiv este de 3.600
uniti monetare.
Variabilele de compensare (ecart) arat utilizarea resurselor astfel:
x4 = 0, Y1 = 100 - pre umbr
0.1 135 + 0.12 100 + 0.15 70 = 36 = 36
Prima restricie este satisfcut cu semnul = ceea ce nseamn c resursa R1 este
utilizat n totalitate, deci R2 este o resurs rar resurs a crei lips / indisponibil ar limita
sau modifica.
n acelai timp dac n prima restricie mrim timpul disponibil cu o unitate (din 36u.t.
la 37u.t.), valoarea F.O. se modific n sens pozitiv tocmai cu valoarea preului umbr, deci
profitul va fi de 3.700 u.m.
x5 = 10.6 Y2 = 0 - pre umbr
0.06 135 + 0.05 100 + 0.09 70 = 19.4 < 30 cu 10.6 u.t.
A doua restricie este satisfcut cu semnul <, deci din resursa R2 rmne un timp
disponibil de 10.6 u.t. care nu este utilizat n procesul de producie, astfel resursa R2 nu este o
resurs rar ns lipsa ei poate limita producia, preul ei umbr fiind nul.
x6 = 5.7 Y3 = 0 - pre umbr
0.18 135 + 0.07 100 = 31.3 < 37 cu 5.7 u.t.
A treia restricie este satisfcut cu semnul <, deci din resursa R3 rmne un timp
disponibil de 5.7 u.t. care nu este utilizat n procesul de producie, astfel resursa R3 nu este o
resurs rar ns lipsa ei poate limita producia, preul ei umbr fiind nul.
x7 = 4.85 Y4 = 0 - pre umbr
0.13 135 + 0.1 100 + 0.08 70 = 33.15 < 38 cu 4.85 u.t.
A patra restricie este satisfcut cu semnul <, deci din resursa R4 rmne un timp
disponibil de 4.85 u.t. care nu este utilizat n procesul de producie, astfel resursa R4 nu este o
resurs rar ns lipsa ei poate limita producia, preul ei umbr fiind nul.
x8 = 65 Y5 = 0 - pre umbr
1 135 = 135 < 200 cu 65 uniti de produs P1.

51
Programare liniar

Restricia cinci este satisfcut cu semnul <, deci din produsul P1 rmn nevndute o
cantitate de 65 uniti de produs (u.p), astfel P1 nu este o resurs rar deci are preul umbr
nul.
x9 = 115 Y6 = 0 - pre umbr
1 135 = 135 > 20 cu 115 uniti de produs P1.
Restricia ase este satisfcut cu semnul >, deci produsul P1 are o cerere maxim de
115 u.p., astfel P1 nu este o resurs rar deci are preul umbr nul.
x10 = 0 Y7 = 0 - pre umbr
1 100 = 100 = 100
Restricia apte este satisfcut cu semnul = ceea ce arat c produsul P2 este vndut
n totalitate deci este o resursa rar, deci preul umbr ar trebui s fie nenul. El totui este
nul, lucru uor de explicat din teorema ecarturilor complementare: condiia necesar i
suficient ca dou soluii admisibile X,Y s fie soluii optime respectiv la problema primal i
dual este s fie simultan satisfcute relaiile:
Y T ( P0 AX ) = 0
T
(Y A C ) X = 0
Pentru ca un produs s fie zero este necesar ca un termen sa fie zero sau ambii egali cu
zero. Prin creterea cu o unitate a restriciei n loc de 100 s avem 101 valoarea funciei
obiectiv rmne aceeai F.O.=3.600u.m.
x11 = 110 Y8 = 0 - pre umbr
1 70 = 70 < 180 cu 110 uniti de produs P3
Restricia opt este satisfcut cu semnul <, deci din produsul P3 rmn nevndute o
cantitate de 110 uniti de produs (u.p), astfel P3 nu este o resurs rar deci are preul umbr
nul.
x12 = 0 Y9 = 0 - pre umbr
1 70 = 70 = 70
Restricia apte este satisfcut cu semnul = ceea ce arat c produsul P3 este vndut
n totalitate i cererea maxim este corect deci este o resursa rar, deci preul umbr ar
trebui s fie nenul.
El totui este nul, lucru uor de explicat din teorema ecarturilor complementare. Prin
creterea cu o unitate a restriciei n loc de 70 s avem 71 valoarea funciei obiectiv rmne
aceeai F.O.=3.600u.m.

n concluzie acelai plan de producie se putea face, cu acelai profit i dac restriciile
problemei erau urmtoarele:

f = max(10 x1 + 12 x 2 + 15 x3 )
0.1x + 0.12 x + 0.15 x 36
1 2 3
0.06 x1 + 0.05 x 2 + 0.09 x3 19.4

0.18 x1 + 0.07 x 2 31.3

0.13 x1 + 0.1x 2 + 0.08 x3 33.15
115 x1 135

0 x 2 100
65 x3 70

x1 , x 2 , x 3 0

52
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

CAPITOLUL 3
PROGRAMAREA LINIAR DE TIP TRANSPORT
3.1. Formularea unei probleme de transport

Se consider c un produs este disponibil n m centre productoare (fabrici, depozite)


notate cu Pi (i = 1,m ). Acest produs trebuie transportat la n centre consumatoare (de
desfacere, destinatari), notai cu C j ( j = 1, m ) .
Transportul se poate efectua de la orice Pi la orice C j ( j = 1, m ) , iar costul unitar
de transport este ci j . Acest cost depinde de distantele respective, de mijloacele de transport
folosite i altele, ceea ce se presupune cunoscut.
Se cunosc de asemenea i cantitile disponibile, aflate n cele m centre productoare,
notate cu a i cu (i = 1, m ) i cantitile necesare n cele n centre consumatoare, notate b j cu
( j = 1, n ) .
Se noteaz cu xi j , cantitatea transportat n condiiile de mai sus iar datele problemei
de transport sunt sintetizate conform tabelului 3.1 ce este prezentat mai jos:

Tabelul 3.1
Pi
C1 C2  Cj  Cn ai
Cj
P1 c11 c12  c1 j  c1n a1
P2 c21 c22  c2 j  c2 n a2
       
Pi ci1 ci 2  cij  cin ai
       
Pm cm1 cm 2  cmj  cmn am
bj b1 b2  b j  bn

Caracteristicile unei probleme de transport clasice sunt:

- fiecare centru productor aprovizioneaz cel puin un centru consumator i fiecare centru
consumator este aprovizionat de la cel puin un centru productor;
- pot exista perechi productor - consumator ntre care nu se poate face transfer;
- nu exist limitri n ceea ce privete cantitatea transportat pe fiecare rut;
- fiecrei rute i s-a asociat un cost care nu depinde de sensul de parcurgere.
Obiectivul problemei de transport este gsirea cantitilor care trebuie transportate pe
fiecare rut astfel nct s se asigure necesarul fiecrui centru consumator, n limitele
cantitilor aflate n centru productor, i aceasta cu costuri minime.

Teorema 3.1 : O problem de transport echilibrat admite ntotdeauna programe (soluii);


orice program este mrginit dac valorile sale a i , b j sunt mrginite (finite ).
Numim model matematic echilibrat, dac cantitatea disponibila total este egal cu
cererea total.
Modelul matematic de mai sus se poate nlocui cu un model echivalent n care toate
restriciile sunt ecuaii.

In forma sa matematic modelul problemei de transport se poate scrie ca n relaia 3.1.

53
Programare liniar de tip transport

m n 1
min ci j xi j

i =1 j =1
n 1 _____

xi j a i , i 1, m
m j =1 (3.1)
_______

i =1 xi j b j , j 1, n 1
m, n 1
a i > b j , a i 0 , b j 0
i =1 j =1

Astfel n urma acestor transformri se va obine urmtorul model matematic echilibrat (3.2):

m n 1
min ci j xi j
i =1 j =1
n 1 _____
xi j = a i , i 1, m
j =1 (3.2)
m _______
xi j = b j , j 1, n 1
i =1
xi j 0

Orice problem poate fi transformat ntr-o problem de tipul (3.2). Acest caz este
foarte rar n practic, ns el este cel mai simplu din punct de vedere matematic i astfel va fi
ales pentru formalizarea problemei.
O astfel de problem se numete problem de transport echilibrat.
In practic pot exista urmtoarele cazuri:
m n
- Dac ai < b j , se poate aduga un depozit fictiv Pm+1 care are un disponibil
i =1 j =1

a m +1 , astfel nct costurile de transport de la depozitul Pm+1 la centrele C j sunt


nule.
m n
- Daca ai > b j , se poate aduga un centru fictiv C n +1 ce necesita bn +1 uniti,
i =1 j =1
astfel nct costurile s fie nule.
Numrul total de restricii este de m+n i sunt o combinaie liniar de celelalte, deci
numrul celor independente este de m+n-1.
Orice problema de transport admite soluii admisibile, adic sistemul de ecuaii este
compatibil. O astfel de problema are soluia urmtoare :

ai b j
xi j = n
(3.3)
a
i =1
i

Aplicarea algoritmului simplex este dificil n acest caz datorit numrului foarte mare
de necunoscute i a determinrii soluie admisibile de baz.

ntr-o problem de transport nu poate aprea dect varianta de optim finit, existnd
ntotdeauna soluii admisibile, iar minimul nu este posibil, innd cont c avem de
minimizat o funcie liniar cu toi coeficienii pozitivi pe o mulime de soluii cu toate
componentele pozitive.

54
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Algoritmul specific problemelor de transport au urmtoarele etape:


1. Se determin o soluie admisibila de baza de pornire X, prin folosirea uneia din
urmtoarele metode : coltului N-V, metoda costului minimal, metoda costului minim pe
linie, metoda costului minim pe coloan.
2. Determinarea soluiei optime pornind de la soluia X.

3.2. Exemple de probleme de tip transport

Probleme de transport cu capaciti limitate

Se consider o problem de tip transport n care exist limitri ale capacitilor de


transport pe anumite rute. Se noteaz cu ij > 0 capacitatea maxim ce poate fi transportat
pe ruta de la centru productor i la centrul consumator j.
Modelul matematic al acestei probleme, cu pstrarea semnificaiilor notaiilor
cunoscute, este urmtoarea:

m n
min( cij xij )
i =1 j =1

n x = a , i = 1, m
j ij i
=1 (3.4)
m
xij = b j , j = 1, n
i =1
0 xij ij , i = 1, m, j = 1, n

Condiiile necesare i suficiente de existena a soluiilor pentru problema (3.4) sunt:

m n

ai = b j
i =1 j =1

ij ai , i = 1, m (3.5)
j =1
n
ij b j , j = 1, n
j =1

Acestei probleme i se poate asocia un tabel de forma celui de la problema de transport,


n care se specific i capacitile maxime de transport ij , i = 1, m, j = 1, n .

Tabelul 3.2
Pi / Cj Cl ... Cj ... Cn ai

P1 c1l ... c1j ... c1n


al
1l x1l 1j x1j 1n x1n
... ... ... ... ... ... ...
Pi cil ... cij cin
ai
il xil ij xij in xin
... ... ... ... ... ... ...
cml ... cmj ... cmn
Pm am
ml xml mj xmj mn xmn
bj bl ... bj ... bn

55
Programare liniar de tip transport

Probleme de transport cu centre intermediare

n practica industrial exist cazuri n care transportul direct de la un centru productor


la un centru consumator nu este economic.
Ca urmare, el poate trece prin mai multe centre intermediare, de tranzit, o astfel de
problem numindu-se problem de transport cu centre intermediare sau problem de
transfer.
Se consider p centre intermediare i se noteaz cu k , k = 1, p , capacitile acestora.
Modelul matematic al acestei probleme are forma:

m p
' '
p n
'' ''
min( c ik x ik + c kj x kj )
i =1 k =1 k =1 j =1

p
k xik' = ai , i = 1, m
=1
m
x ' = , k = 1, p
ik k
i =1 (3.6)
n ''
x kj = k , k = 1, p
j =1
n ''
k x kj = b j , j = 1, n
=1
xik' , x kj'' 0, i = 1, m, k = 1, p, j = 1, n

unde:
xik' - reprezint cantitatea ce urmeaz a fi transportat de la centrul productor i la centrul
intermediar k ;
cik' - costul unitar de transport dintre centrele i i k ;
x kj'' - cantitatea ce urmeaz a fi transportat de la centrul k la centrul consumator j ;
c kj'' - costul unitar de transport dintre centrele k i j.
Condiia necesar i suficient de existen a soluiilor pentru problema (3.6) este:

m p n

a =
i =1
i
k =1
k = bj
j =1
(3.7)

Avnd n vedere faptul c fiecare intermediar este att centru destinaie ct i centru
surs, se pot considera urmtoarele dou probleme de transport:

m p
' '
min(i cik xik )
=1 k =1
p
x ' = a , i = 1, m
ik i
k =1 (3.8)
m '
xik = k , k = 1, p
i =1
xik' 0, i = 1, m, k = 1, p

56
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

i
p n
'' ''
min( c kj x kj )
k =1 j =1

n x '' = , k = 1, p
j kj k
=1 (3.9)
p ''
x kj = b j , j = 1, n
k =1
x kj'' 0, k = 1, p, j = 1, n

( ) ( )
' ''
Se poate arta c x ik i x kj reprezint o soluie optim a problemei de transport cu
centre intermediare (3.6) dac i numai dac x ik ( ) este o soluie optim a problemei de
'

( )''
transport (3.8), iar x kj este o soluie a problemei de transport (3.9).
n consecin, rezolvarea problemei (3.6) este echivalent cu rezolvarea celor dou
probleme (3.8) i (3.9).

Probleme de repartiie

ntr-un atelier mecanic exist m utilaje, care au disponibilul de timp a i , i = 1, m .


Pe acestea se vor prelucra n tipuri de piese, n cantitile b j , i = 1, n .
Se cunosc randamentul orar, rij , i cheltuielile de producie, cij , la utilajul i ale piesei
j. Se pune problema de a determina o repartiie a sarcinilor, respectiv a timpului n care
utilajul i prelucreaz piesele de tip j astfel nct cheltuielile totale de producie sa fie minime.
Se noteaz cu xij numrul de ore n care utilajul i prelucreaz piesele de tip j.
Modelul matematic al problemei este de forma (3.10):

m n
min( cij xij )
i =1 j =1

n x a , i = 1, m
j ij i
=1 (3.10)
m
rij xij = b j , j = 1, n
i =1
xij 0, i = 1, m, j = 1, n

3.3. Determinarea unei soluii de baza iniiale a problemei de transport.

Soluia admisibile de baza iniiale, care are cel mult (m+n-1) componente nenule, este
o soluie nedegenerat. Dac numrul soluiilor este mai mic dect (m+n-1) soluia este
degenerat.

Metoda colului Nord-Vest (NV)

Aceast metod se mai numete Metoda diagonalei principale sau Metoda lui
Dantzing.
Metod nu ine cont de costurile de transport cij i numai de cantitile disponibile n
centrele productoare i cererea centrelor consumatoare.

57
Programare liniar de tip transport

Etapele metodei:

Se alege x11 = min (a1b1 ) ( (1,1) fiind colul stnga sus NV). Sunt posibile urmtoarele
cazuri:
1) min(a1 , b1 ) = a1 x11 = a1 , iar x1 j = 0, j = 1, n . Necesarul centrului C1 devine b1 a1 .
2) min(a1 , b1 ) = b1 x11 = b1 , iar xi1 = 0, i = 1, m . Disponibilul centrului P1 devine a1 b1 .
3) a1 = b1 x11 = a1 = b1 , iar x1 j = 0, j = 1, n i xi1 = 0, i = 1, m .

Se elimin de sus n jos sau de la stnga la dreapta prima linie respectiv prima coloan din
tabel. Urmtoarele componente strict pozitive ale soluiei de baz iniiale se determin n mod
analog, considernd colul NV rmas dup eliminarea anterioar.

Exemplul 3.1 :
Pentru problema de transport ale crei date sunt centralizate n tabelul 3.3 s se
determine soluia de baz iniial utiliznd metoda lui Dantzing.

Tabelul 3.3
Q1 Q2 Q3 Q4
P1 7 8 5 3 11
P2 2 4 5 9 11
P3 6 3 1 2 8
5 9 9 7 30

Notm cu xij cantitile ce urmeaz a fi transportate n condiiile indicate n tabelul iniial.


Pasul 1 Problema dat poate fi scris ca n tabelul 3.4.
min(a1 , b1 ) = b1 x11 = min(11,5) = 5 , iar xi1 = 0, i = 1, m i a1' = a1 b1 = 11 5 = 6
(tab.3.5)

x11 x12 x13 x14 11 5 x12 x13 x14 6


x 21 x 22 x 23 x 24 11 0 x 22 x 23 x 24 11
x 31 x32 x33 x 34 8 0 x 32 x33 x 34 8
5 9 9 7 0 9 9 7
tabelul 3.4 tabelul 3.5

Pasul 2 Calculm: min(a1 , b2 ) = a1 x12 = min(6 ,9 ) = 6 , iar x1 j = 0, i = 1, m i


b2' = b2 a1 = 9 6 = 3 (tab.3.6)
Pasul 3 Calculm: min(a 2 , b2 ) = b2 x 22 = min(11,3) = 3 , iar xi 2 = 0, i = 1, m i
a 2' = a 2 b2 = 11 3 = 8 (tab.3.7)

5 6 0 0 0 5 6 0 0 0
0 x 22 x 23 x 24 11 0 3 x 23 x 24 8
0 x 32 x33 x 34 8 0 0 x33 x34 8
0 3 9 7 0 0 9 7

58
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

tabelul 3.6 tabelul 3.7


Pasul 4 Calculm: min(a 2 , b3 ) = a 2 x 23 = min(8,9) = 8 , iar x 2 j = 0, i = 1, m i
b2'' = b3 a 2 = 9 8 = 1 (tab.3.8)
Pasul 3 Calculm: min(a3 , b3 ) = b3 x33 = min(8,1) = 1 , iar xi 3 = 0, i = 1, m i
a3' = a3 b3 = 8 1 = 7 (tab.3.9)

5 6 0 0 0 5 6 0 0 0
0 3 8 0 0 0 3 8 0 0
0 0 x33 x34 8 0 0 1 7 0
0 0 1 7 0 0 0 0
tabelul 3.8 tabelul 3.9

Soluia admisibila de baza X este data de tabelul 3.9 .


Dac notm cu V(X) valoarea funciei de optimizat a problemei date, pentru soluia
admisibil X, avem:
V(X) = 7*6 + 8*6 + 3*4 + 8*5 + 1*1 + 7*2 =150

Metoda costului minimal

Metod ine cont att de costurile de transport cij ct i de cantitile disponibile n


centrele productoare i cererea centrelor consumatoare.

( )
Se alege clk = min cij . Se determin x lk = min(al , bk ) Sunt posibile urmtoarele cazuri:
1) min(al , bk ) = al x lk = al , iar xlj = 0, j = 1, n . Necesarul centrului Cj devine bk al .
2) min(al , bk ) = bk x lk = bk , iar xik = 0, i = 1, m . Disponibilul centrului Pi devine al bk .
3) al = bk x lk = al = bk , iar xlj = 0, j = 1, n i xik = 0, i = 1, m .

Se elimin de sus n jos sau de la stnga la dreapta linia respectiv coloan din tabel.
Se determin n mod analog, considernd variabila de cost minim din subtabelul rmas dup
eliminarea anterioar.
Dac sunt mai multe costuri minime egale, atunci se ia n considerare mai nti variabile care
ia valoare maxim.

3.4. Metoda de determinare a soluiei optime pentru probleme de transport.


Metoda potenialelor.

Generaliti
Rezolvarea problemei de transport prin metoda simplex este, n general, puin
eficient. Cteva dintre motive sunt urmtoarele:
- numrul mare de variabile, egal cu m, n
- absena unei baze iniiale. Varianta de rezolvare prin considerarea unor variabile
auxiliare pentru fiecare linie i coloan i aplicarea metodei celor dou faze este
laborioas;
- apariia frecvent a cazurilor de degenerare datorit numrului mare de elemente
ale matricei coeficienilor A egale cu 0 i 1 .
Metoda potenialelor reprezint o metod special de testare i mbuntire a soluiei unei
probleme de transport.

59
Programare liniar de tip transport

Procesul de mbuntire a unei soluii const n a trece de la o soluie la o alta mai


bun. Pentru aceasta se recurge la problema dual a problemei de transport i anume :

m n
max ai u i + b j v j

i =1 j =1
u i + v j cij , i = 1, m, j = 1, n (3.11)

ui arbitrar , i = 1, m
v j arbitrar , j = 1, n

Conform teoremei ecarturilor complementare aplicat cuplului de probleme duale,


rezult c soluia de baz x ij a problemei primale i soluia (u i , v j ) a problemei duale sunt
optime dac i numai dac satisfac condiiile:

(cij u i v j ) x ij = 0, i = 1, m, j = 1, n ) (3.12)

Pentru ca relaia de mai sus s fie satisfcut este suficient ca (u i , v j ) s fie soluii ale
sistemului

ui + v j = cij , (i, j ) J (3.13)

n care s-a notat mulimea de indici J = {(i, j ) xij este variabila de baz }.
Propoziia 3.1 Sistemul de ecuaii are o infinitate de soluii. Dac (ui0 , v 0j ) este o soluie
particular i k o constant oarecare, atunci orice soluie a sistemului este de forma:

u i = ui0 + k , i = 1, m
0 (3.14)
v j = v j k , j = 1, n
Pentru rezolvarea sistemului se poate fixa arbitrar una dintre necunoscute, fr a
influena optimalitatea soluie problemei de transport; de obicei se alege ui = 0 .
Observaie. Rezolvarea sistemului se poate efectua direct pe tabelul de rezolvare al
problemei. Valorile variabilelor ui i v j se nscriu la marginile tabelului ; din acest motiv ele
se mai numesc i valori marginale .
Algoritmul metodei potenialelor

Pasul 1. Se determin o soluie de baz iniial ( x ij ) .

Pasul 2. Se calculeaz valorile variabilelor duale ui i v j ca soluii ale sistemului de ecuaii


u i + v j = cij , (i, j ) J

Pasul 3. Se calculeaz valorile


ij = ui + v j cij , (i, j ) J
Dac ij 0, (i, j ) J , atunci STOP: soluia ( x ij ) este optim; n caz contrar se trece la
pasul 4

60
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Pasul 4. Se calculeaz cu criteriu de intrare n baz ij = max{ ij (i, j ) J }


Variabila xlk ce va intra n baz .
Se construiete pentru csua (l, k) un ciclu care pornete din csua (l, k), care trece
numai prin csue (i, j) ocupate cu valori x ij > 0 , cu treceri alternative pe linii i coloane, i
care revine la csua (l, k).
Se adopt un sens oarecare de parcurgere al acestui ciclu i se numeroteaz csuele
sale ncepnd cu csua (l, k).

Pasul 5. Se calculeaz criteriul de ieire din baz = x st = min{x ij (i, j ) este csu de rang
par n ciclu }i se determin variabila x st va iei din baz.

Pasul 6. Se determin o nou soluie de baz admisibil (~ xij ) cu ajutorul formulelor de


schimbare a bazei
x ij , (i, j ) are rang par in ciclu
~
xij = x ij + , (i, j ) are rang impar in ciclu
x ij , (i, j ) nu apartine ciclului

Se revine la pasul 2 cu noua soluie de baz obinut.

Observaii :
1) Soluia iniial de baz obinut la pasul 1 al algoritmului depinde de metoda folosit
pentru determinarea ei. Aceasta nu influeneaz, soluia optim a problemei, ci
eventual numrul de iteraii pentru obinerea soluiei optime.

2) Alegerea sensului de parcurgere al ciclului n cadrul pasului 4 al algoritmului este


arbitrar.

3) Tabelele ce se vor construi la aplicarea algoritmului vor fi formate din csue (i, j) ce
pot avea una din configuraiile

cij
cij ij
+(-) xij xij=0

Prima indic o csu corespunztoare unei valori de baz ( xij > 0 ), iar cea de-a doua
o csu corespunztoare unei valori nebazice ( xij = 0 ) , pentru care se calculeaz valoarea
ij .
Simbolurile + sau apar dac csua face parte din ciclul construit la pasul 4 al
algoritmului. Simbolul + indic o csu de rang impar , iar simbolul indic o csu de rang
par.

Exemplul 3.2
Fie date trei fabrici productoare (P1, P2, P3) ale aceluiai produs, care trebuie s
aprovizioneze cu acest produs patru consumatori (C1, C2, C3, C4). n tabelul 3.10 sunt date
cantitile disponibile n centrele productoare (ai), cantitile necesare n centrele
consumatoare (bj) i costurile pe unitatea de transport.
S se determine planul optim de transport n condiiile costurilor minime.

61
Programare liniar de tip transport

Tabelul 3.10
Pi / Cj C1 C2 C3 C4 ai
P1 8 7 3 6 19
P2 4 6 7 3 20
P3 3 4 2 5 16
bj 15 12 14 14 55
3 4
Problema de transport este echilibrat deoarece ai = b j = 55 , iar pentru
i =1 j =1
rezolvarea ei se va aplica metoda potenialelor si pentru determinarea soluiei de baz se va
aplica metoda costului minim din tabel.

Iteraia 1.
Pasul 1. Prin metoda costului minimal se determin soluia de baz iniial iar calculele sunt
prezentate n tabelul 3.11:
Tabelul 3.11
7 12 0 0 19 12
6 0 0 14 20 6 0
2 0 14 0 16 2 0
15 12 14 14
13 0 0
7
0

Se obine urmtoarea soluie de baz iniial :


x11 = 7, x12 = 12, x 21 = 6, x 24 = 14, x 31 = 2, x 33 = 14.
Valoarea funciei obiectiv corespunztoare acestei soluii iniiale este :
z = 8 7 + 7 12 + 4 6 + 3 14 + 2 14 = 240 .
Soluia de baz iniial este nscris n tabelul 3.12 alturi de costurile unitare de
transport date iniial:
Tabelul 3.12
8 7 3 6
7 12 0 0
4 6 7 3
6 0 0 14
3 4 2 5
2 0 14 0

Pasul2. Se rezolv sistemul:


ui + v j = cij , (i, j ) J , unde J = {(1,1), (1,2), (2,1), (2,4), (3,1), (3,3)}, pornind de la u1 = 0
Tabelul 3.13
v1=8 v2=7 v3=7 v4=7
u1=0 8 7 3 4 6 1
7 12 0 0
u2=-4 4 6 -3 7 -4 3
6 0 0 14
u3=-5 3 4 -2 2 5 -3
2 0 14 0

Pasul 3. Valorile ij = ui + v j cij , (i, j ) J sunt scrise n tabelul 3.13.


Deoarece ij 0, (i, j ) J rezult c soluia nu este optim.

62
Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

{ }
Pasul 4. Se calculeaz lk = max ij / ()(i, j ) J = 13 = 4 variabila x13 va intra n baz
Se construiete ciclul : (1,3), (1,1), (3,1), (3,3), (1,3) care este indicat n tabelul 3.13.
Pasul 5. Se determin
{ }
= x st = min xij / (i, j )este casuta de ordin par = min{7,14} = x11 = 7 variabila x11 va
iei din baz.
Pasul 6. Se modific valorile csuelor din ciclul de mai sus:
x13 = 0 + 7 = 7, x11 = 7 7 = 0, x 31 = 2 + 7 = 9, x 33 = 14 7 = 7 .
Noua soluie de baz admisibil este nscris in tabelul 3.14

Tabelul 3.14
v1=4 v2=7 v3=3 v4=3
u1=0 8 -4 7 3 6 -3
7 12 7 0
u2=0 4 6 1 7 -4 3
6 0 0 14
u3=-1 3 4 2 2 5 -3
9 0 7 0

Valoarea funciei obiectiv devine : z = 7 12 + 3 7 + 4 6 + 3 14 + 3 9 + 2 7 = 212


Iteraia a 2
Pasul 2. Se rezolv ui + v j = cij , (i, j ) J , unde J = {(1,2), (1,3), (2,1), (2,4), (3,1), (3,3)}, iar
soluia este indicat n tabelul 3.14.
Pasul 3. Se calculeaz valorile ij = ui + v j cij , (i, j ) J
Deoarece ij 0, (i, j ) J , soluia nu este optim (tab.3.14).
Pasul 4. lk = 23 = 2 variabila x32 va intra n baz .
Se construiete ciclul
(3,2), (3,3), (1,3), (1,2), (3,2) (tab.3.14)
Pasul 5 . = min{7,12} = x 33 = 7 x33 va iei din baz .
Pasul 6. Se modific valorile csuelor din ciclul de mai sus :
x 32 = 0 + 7 = 7, x 33 = 7 7 = 0, x13 = 7 + 7 = 14, x12 = 12 7 = 5 (tab.3.15)
Valoarea funciei obiectiv devine : z = 7 5 + 3 14 + 4 6 + 3 14 + 3 9 + 4 7 = 198

Iteraia 3 .
Rezultatele sunt consemnate n tabelul 3.15, deoarece ij < 0, (i, j ) J rezult c
soluia este optim .

Tabelul 3.15
v1=6 v2=7 v3=3 v4=5
u1=0 8 -2 7 3 6 -1
0 5 14 0
u2=-2 4 6 -1 7 -6 3
6 0 0 14
u3=-3 3 4 2 -2 5 -3
9 7 0 0

S-a obinut soluia optim a problemei de transport :


* * * * *
x 12 = 5, x 13 = 14, x 24 = 14, x 31 = 9, x 32 = 7.
Creia i corespunde costul total al transportului minim z*=198

63
Elemente de teoria grafurilor

CAPITOLUL 4
ELEMENTE DE TEORIA GRAFURILOR
4.1. Fundamente n teoria grafurilor

Teoria grafurilor s-a constituit ca un capitol de sine stttor n cadrul cercetrilor


operaionale, datorit multiplelor avantaje pe care le ofer activitii de planificare i analiza
tehnico - economic.
Cu ajutorul grafurilor se surprind i se analizeaz n detaliu legturile dintre
componentele sistemului tehnico - economic, iar elaborarea modelului este mult mai uoar.

4.1.1. Noiunea de graf

Prin definiie un graf este o pereche (X, U ) unde mulimea X este numit mulimea
nodurilor (sau vrfurilor) iar mulimea U este mulimea muchiilor.

Notaii utilizate :

X = mulime finit i diferit de mulimea vid de orice natur.


X = x1, x2, ..xn - unde xi = elemente numite vrfuri sau noduri
X poate fi infinit, dar numrabil.

U = submulime nevid a produsului cartezian X x X


U= ( xi,xj ) / ( xi,xj) ( xj , xi ) - unde ( xi , xj) = pereche ordonat de vrfuri numit arc.
Arcul u este orientat de la nodul xi, numit extremitatea iniial, la nodul xj, numit extremitatea
final.
A ( xj , xj ) se numete bucl.
G =( X ,U) = graf orientat (digraf)

U = mulime de de arce neorientate care reprezint perechi ordonate de vrfuri din X


U = ( xi,xj ) / ( xi,xj)=( xj , xi ) - ( xi,xj) este un arc neorientat numit muchie
G =( X , U ) = graf neorientat
In practic un graf neorientat se poate nlocui cu un graf orientat astfel: fiecarei muchii
( xi,xj) U i corespund dou arce de semne contrare (x1 , x2) i (x2 , x1).
In cazul n care se asociaz arcelor grafului o valoare sau o funcie valoare v : U R
sau v : U R unde v( xi,xj) R  funcia valoare ataat arcelor.
G ( X, U, v ) = se numete graf valuat ( evaluat, ponderat )

4.1.2. Orientare i neorientare n graf

Cazul grafurilor orientate

Prin urmtorul exemplu vom pune n eviden un graf orientat:


n practica industrial pentru realizarea unei lucrri de investiii sunt necesare o serie
de activiti distincte: alegerea amplasamentului, ntocmirea proiectului, avizarea acestuia,
aprobarea lui, contractarea utilajelor tehnologice, organizarea antierului .a. Aceste activiti
sunt condiionate ntre ele i execuia fiecrei activiti nu poate fi nceput nainte de
terminarea altor activiti. Exist i activiti care se execut n paralel. Pentru realizarea
modelului de graf corespunztor proiectului de investiii se stabilesc condiionrile ntre
activiti. Nodul reprezint momentul n care se termin o activitate i ncepe o alta.

64

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