Professional Documents
Culture Documents
CERCETĂRI
OPERAŢIONALE
IAŞI, 2007
CUPRINS
CUPRINS ............................................................................................. 1
CERCETĂRI OPERAŢIONALE (CO) ............................................... 3
PROGRAMARE LINIARĂ................................................................. 3
MODELUL MATEMATIC ................................................................. 3
METODE DE REZOLVARE A PROBLEMELOR DE PL.............. 11
METODA GRAFICĂ ........................................................................ 11
FORMA STANDARD A PROBLEMEI DE PROGRAMARE
LINIARĂ ........................................................................................... 19
SOLUŢII ALE UNEI PROBLEME DE PL....................................... 22
ALGORITMUL SIMPLEX ............................................................... 28
ETAPELE ALGORITMULUI SIMPLEX PENTRU PROBLEME DE
MAXIM.............................................................................................. 28
ALGORITMUL SIMPLEX PENTRU PROBLEME DE MINIM .... 34
BAZA ARTIFICIALĂ. METODA PENALIZĂRILOR ................... 36
METODA PENALIZĂRII PENTRU PROBLEME DE MINIM ...... 37
METODA PENALIZĂRII PENTRU PROBLEME DE MAXIM .... 38
RESURSE RARE. PREŢ UMBRĂ ................................................... 43
ANALIZA SENZITIVĂ .................................................................... 56
ANALIZA SENZITIVĂ PENTRU COEFICIENŢII DIN FUNCŢIA
OBIECTIV ......................................................................................... 56
ANALIZA SENZITIVĂ PENTRU TERMENII LIBERI DIN
RESTRICŢII ...................................................................................... 69
PROGRAMARE ÎN NUMERE ÎNTREGI ........................................ 76
METODA „RAMIFICĂ ŞI MĂRGINEŞTE” ................................... 78
PROGRAMARE MULTICRITERIALĂ........................................... 91
MODELUL MATEMATIC ............................................................. 100
PROBLEME DE TRANSPORT ŞI PROBLEME DE REPARTIŢIE
.......................................................................................................... 107
PROBLEME DE TRANSPORT...................................................... 107
ETAPA I. SOLUŢIA DE PORNIRE ............................................... 112
ETAPA A II-A. DETERMINAREA SOLUŢIEI OPTIME............. 118
B I B L I O G R A F I E ...................................................................... 128
2
CERCETĂRI OPERAŢIONALE (CO)
PROGRAMARE LINIARĂ
MODELUL MATEMATIC
3
Exemplul 1
O firmă importă componente pentru asamblarea a două
modele de computere personale: PC1 şi PC2.
În urma vânzării unui produs PC1 firma obţine un profit
de 50 u.m (unităţi monetare – lei, euro, $ etc) iar în urma
vânzării unui produs PC2 firma obţine un profit de 40 u.m.
În săptămâna următoare de producţie sunt disponibile 150
de ore pentru asamblare. Asamblarea unui PC1 durează 3 ore iar
a unui PC2 durează 5 ore.
Firma are în stoc numai 20 de monitoare pentru PC2,
adică, pot fi asamblate săptămânal cel mult 20 calculatoare PC2.
Spaţiul total de depozitare este de 30 m2. Un PC1 ocupă
0,8 m2 iar un PC2 ocupă 0,5 m2.
Conducerea firmei doreşte să stabilească planul de
producţie pentru săptămâna următoare (adică să determine
numărul calculatoarelor PC1 şi PC2 care se vor asambla) astfel ca
profitul total să fie maxim.
Se consideră că toate calculatoarele asamblate vor fi
vândute, iar restul resurselor (ambalaje, monitoare pentru PC1,
etc. ) sunt disponibile la firmă.
Pentru obţinerea modelului matematic este utilă
sintetizarea datelor din exemplu în Tabelul 1.
Tabelul 1
Consumuri pentru o
Resurse unitate din: Disponibil
PC1 PC2
Resursa 1(R1)
3 ore 5 ore 150 ore
Asamblare (ore)
Resursa 2 (R2)
Spaţiu de 0,8 m2 0,5 m2 30 m2
depozitare (m2)
Profit unitar (um) 50 um 40 um
4
Etapele de creare a modelului matematic sunt:
Etapa 1. Identificarea variabilelor şi a unităţilor de măsură
Variabilele de decizie sunt necunoscutele problemei.
În problemă se cere planul de producţie adică numărul
calculatoarelor de fiecare fel care se vor asambla. Deci variabile
de decizie (VD) sunt:
x1= numărul de calculatoare PC1
x2= numărul de calculatoare PC2
care se vor asambla săptămâna următoare.
Cu ajutorul V.D se construieşte modelul matematic.
Etapa 2. Exprimarea profitului total, ce trebuie maximizat,
printr-o funcţie numită funcţia obiectiv (FO), deci, criteriul de
performanţă.
Deoarece profitul pentru un PC1 este 50 um iar firma
produce un număr x1 calculatoare PC1, profitul pentru toate cele
x1 calculatoare este 50x1. Similar, profitul pentru toate cele x2
calculatoare PC2 este de 40x2.
Deci funcţia obiectiv FO este:
I. f ( x ) = 50 x1 + 40 x2 = MAX ( um )
Etapa 3. Exprimarea restricţiilor
Restricţiile sau constrângerile sunt condiţii ce trebuie
satisfăcute privind resursele, condiţii de fabricaţie, de vânzare
etc, adică exprimă condiţiile în care se desfăşoară procesul
studiat.
II. Restricţii
• Restricţia privitoare la asamblare (resursa 1)
1. 3 x1 + 5 x2 ≤ 150 ore
• Restricţia privind spaţiul de depozitare (resursa 2)
2. 0.8 x1 + 0.5 x2 ≤ 30 m2
• Restricţia privind numărul de monitoare pentru
PC2 (resursa 3), care condiţionează nr de PC2 ce se
vor asambla:
5
3. x2 ≤ 20
Etapa 4. Condiţii de nenegativitate
Acestea se impun pentru variabilele de decizie, atât
datorită interpretării lor (număr de calculatoare) cât şi datorită
metodei de aflare a soluţiei optime.
III. x1 ≥ 0 , x2 ≥ 0
Rezultă că modelul matematic al problemei, exprimat cu
ajutorul variabilelor de decizie x1 şi x2 este:
I. Funcţia obiectiv:
f ( x ) = 50 x1 + 40 x2 = MAX ( um )
II. Restricţii:
1. 3x1 + 5 x2 ≤ 150 (ore)
2. 0.8 x1 + 0.5 x2 ≤ 30 (m2)
3. x2 ≤ 20 (nr. de monitoare)
III. Condiţii de negativitate
x1 ≥ 0 , x2 ≥ 0
Se va arăta că soluţia optimă a acestei probleme este:
Se vor fabrica un număr de
x1 = 30 calculatoare PC1
x2 = 12 calculatoare PC2
iar profitul maxim este de 1980 um. Această soluţie optimă arată
că pentru nici un alt plan de prducţie nu se poate obţine un profit
mai mare decât 1980 um.
Exemplul 2
O fabrică de jucării produce trei feluri de roboţi de
jucărie.
Pentru producerea primei versiuni de roboţi V1, sunt
necesare 10 minute de fabricare şi ambalare şi 2 kg de plastic, a
doua versiune V2 , are nevoie de 12 minute de fabricare şi
ambalare şi 3 kg de plastic, iar a treia versiune V3 are nevoie de
15 minute de fabricare şi ambalare şi 4 kg plastic.
6
Pentru următorul ciclu de producţie sunt disponibile 8 ore
de fabricare şi ambalare şi 200 kg de plastic.
Profitul este de 1 um pentru fiecare robot V1, 5 um pentru
fiecare robot V2 şi 6 um pentru fiecare robot V3.
Pentru a onora comenzile primite trebuie produse minim
10 bucăţi din fiecare versiune.
Determinaţi cantităţile optime de producţie pentru a
obţine un profit maxim.
Modelul matematic se elaborează cu ajutorul variabilelor
de decizie, deci:
Se identifică variabilele de decizie care dau cantităţile
ce se vor produce:
x1 = numărul de bucăţi din roboţii V1
x2 = numărul de bucăţi din roboţii V2
x = numărul de bucăţi din roboţii V
3 3
7
II. Restricţiile ce exprima utilizarea resurselor, deci
condiţii de fabricaţie şi condiţii de vânzare
1. 10 x1 + 12 x2 + 15 x3 ≤ 480 (minute de fabricare şi
ambalare)
2. 2 x1 + 3x2 + 4 x3 ≤ 200 ( kg de plastic )
3. x1 ≥ 10 bucăţi ( contract V1 )
4. x2 ≥ 10 bucăţi ( contract V2 )
5. x3 ≥ 10 bucăţi ( contract V3 )
III. Condiţii de nenegativitate
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0
În concluzie, modelul matematic al unei probleme de
programare liniară are următoarele elemente principale:
1. Un set de variabile de decizie xi, i = 1, n care
determină ceea ce se cere în problemă, adică va
determina complet decizia ce va fi luată
2. O funcţie obiectiv, care exprimă criteriul de
performanţă adică ceea ce dorim să optimizăm.
Aceasta este o funcţie liniară în variabilele de
decizie, care trebuie maximizată (de exemplu
profitul) sau minimizată (de exemplu costurile de
producţie). FO se mai numeşte funcţie economică.
3. Restricţiile sau constângerile care sunt condiţii ce
trebuie satisfăcute în procesul studiat. Restricţiile
sunt relaţii liniare, ecuaţii sau inecuaţii, pe care le
satisfac variabilele de decizie şi se referă la
utilizarea resurselor: materiale, ore de producţie,
condiţii de fabricaţie, contracte etc.
4. Condiţii de nenegativitate pentru toate variabilele
(necesare în aflarea soluţiei optime).
În cazul general, modelul matematic se poate prezenta în
una din formele:
8
a) Forma dezvoltată
Dacă x1, x2, ... xn sunt variabilele de decizie avem:
I. Funcţia obiectiv
f ( x ) = c1 x1 + c2 x2 + ... + cn xn = ( Max sau Min )
II. Restricţiile
1) a11 x1 + a12 x2 + ... + a1n xn ( <, =, > ) b1
2 ) a21 x1 + a22 x2 + ... + a2 n xn ( <, =, > ) b2
m ) a x + a x + ... + a x ( <, =, > ) b
m1 1 m2 2 mn n m
9
x1
x
X = 2 = ( x1 x2 xn ) ∈ M n1
T
xn
• Matricea coeficienţilor din FO ∈ M 1n
C = ( c1 c2 … cn ) ∈ M 1n
• Matricea coeficienţilor din restricţii
a11 a12 . . a1n
a a22 . . a2 n
A = 21 ∈ M mn
. . . . .
am1 am 2 . . amn
• Matricea termenilor liberi din restricţii cu m linii şi
o coloană
b1
b2
B = ( b1 b2 . . bm ) = . ∈ M m1
T
.
b
m
Forma matriceală a modelului matematic este:
I. ( FO ) f ( x ) = C ⋅ X = Max sau Min
II. Restricţii A ⋅ X ( <, =, > ) B
III. Condiţii de nenegativitate X ≥ 0
c) Forma vectorială
Matricele cu o linie şi n coloane sau cele cu n linii şi o
coloană pot fi considerate elemente ale unui spaţiu vectorial sau
liniar Rn, deci vor fi numite vectori.
Astfel X, C, B sunt vectori: X , C ∈ R n , B ∈ R m
Dacă se introduc, în plus, încă n vectori din Rm, având
drept componente coloanele matricei A, adică
10
a11 a12 a1n b1
a21 a22 a2 n b2
P1 = . ; P2 = . ...; Pn = . , B = P0 = . atunci forma
. . . .
a a a b
m1 m2 mn m
vectorială a problemei de PL este
f ( x ) = CX = OPT ( MAX sau MIN )( FO )
x1 P1 + x2 P2 + .. + xn Pn ( <, =, > ) P0 ( restricţie )
X ≥ 0
METODA GRAFICĂ
11
Se precizează şi cazurile în care: soluţia optimă este
unică, există mai multe soluţii optime, nu există soluţie optimă
ori nu există un optim finit.
Se îndeplinesc mai întâi condiţiile de nenegativitate
x = x1 ≥ 0 şi y = x2 ≥ 0 .
Fie planul ( x1ox2 ) sau ( xoy )
• Condiţia x1 ≥ 0 se compune din
x1 = 0 dreaptă ( axa Ox2 )
x1 > 0 semiplan
x2 = y
x1 = x
•
•
•
•
Figura 1
• Condiţia x2 ≥ 0 se compune din
x2 = 0 dreaptă ( axa Ox1 )
x2 > 0 semiplan
Cum ambele x1 ≥ 0 , x2 ≥ 0 trebuie să fie satisfăcute
simultan, intersectăm semiplanele. Rezultă că soluţia optimă,
dacă există, se află în cadranul I.
12
Cele de mai sus pot fi aplicate pentru orice restricţie adică
o inecuaţie de tipul mx1 + nx2 ≥ ( ≤ ) b .
De exemplu 4 x1 + 2 x2 ≥ 8 înseamnă
4 x1 + 2 x2 = 8 ( reprezintă o dreaptă )
adică o dreaptă împarte
4 x1 + 2 x2 > 8 ( reprezintă un semiplan )
planul ox1x2 în două semiplane.
În toate punctele unuia dintre semiplane este satisfăcută
inecuaţia 4 x1 + 2 x2 > 8 iar în toate punctele celuilalt este
satisfăcută inecuaţia 4 x1 + 2 x2 < 8 . Pentru a vedea ce semiplan
alegem, este suficient să verificăm un singur punct.
Procedăm astfel:
Figurăm dreapta d: 4 x1 + 2 x2 = 8 , prin tăieturi. Când
x2 = 0 ⇒ 4 x1 = 8, x1 = 2 ⇒ A ( 2, 0 ) ;
Când x1 = 0 ⇒ 2 x2 = 8, x2 = 4 ⇒ B ( 0, 4 ) . Dreapta trece
prin punctele A(2,0) şi B(0,4) şi împarte planul în
două regiuni.
x2
B(0,4)
o A(2,0) x1
Figura 2
13
Căutăm regiunea în care este satisfăcută inecuaţia
4 x1 + 2 x2 > 8 . De exemplu C(1,0) nu satisface
inecuaţia, deoarece 4 ⋅1 + 2 ⋅ 0 < 8 , deci nici un punct
din triunghiul AOB nu satisface 4 x1 + 2 x2 > 8 , în
schimb coordonatele tuturor punctelor din aria
haşurată satisfac inecuaţia.
Cel mai uşor se verifică originea O(0,0) adică
4⋅0 + 2⋅0 < 8 .
Bazându-ne pe această consideraţie să rezolvăm problema
de PL din exemplul 1. Reamintim modelul matematic al
problemei:
I. f ( x ) = 50 x1 + 40 x2 = MAX ( FO )
II. Restricţii:
1) 3x1 + 5 x2 ≤ 150 ( ore )
2) 0.8 x1 + 0.5 x2 ≤ 30 ( m 2 )
3) x2 ≤ 20 ( număr de monitoare )
III. Condiţii de nenegativitate: x1 ≥ 0 , x2 ≥ 0
• Condiţiile de nenegativitate sunt satisfăcute în
cadranul I.
• Pentru a satisface restricţiile procedăm asfel: la
fiecare restricţie se ataşează:
O ecuaţie, ce reprezintă o dreaptă;
O inecuaţie strictă ce reprezintă un semiplan;
Se alege semiplanul corespunzător;
Deoarece toate restricţiile trebuie să fie satisfăcute,
intersectează toate ariile.
Se obţine astfel aria admisibilă. Coordonatele tuturor
punctelor acestei arii verifică toate restricţiile şi condiţiile de
nenegativitate.
Mulţimea soluţiilor admisibile (SA) este mulţimea
coordonatelor (x1, x2) ale tuturor punctelor care satisfac toate
14
restricţiile şi condiţiile de nenegativitate. Punctele se află în aria
admisibilă şi pe conturul ei.
Pentru cele 3 restricţii avem reprezentarea din Figura 3:
Restricţia 1: 3 x1 + 5 x2 ≤ 150 ( ore )
Dreapta d1: 3 x1 + 5 x2 = 150 trece prin A1(50,0),
B1(0,30). Inecuaţia 3 x1 + 5 x2 < 150 este satisfăcută
în triunghiul A1OB1 deoarece originea O(0,0)
satisface 3 ⋅ 0 + 5 ⋅ 0 < 180
Dreapta d2: 0.8 x1 + 0.5 x2 = 30 trece prin A2(37,5;0)
şi B2(0,60). Inecuaţia 0.8 x1 + 0.5 x2 < 30 este
satisfăcută în triunghiul A2OB2
Dreapta d3: x2 = 20 este paralelă cu axa ox1.
Inecuaţia x2 < 20 este satisfăcută în aria dintre axa
ox1 şi dreapta x2 = 20 .
Figura 3
15
Aria admisibilă este reprezentată haşurat. Aria admisibilă
are o infinitate de puncte, deci mulţimea soluţiilor admisibile
este în acest caz infinită.
În această mulţime trebuie să alegem acel punct ale cărui
coordonate conferă funcţiei obiectiv valoare cea mai mare. Acel
punct va reprezenta soluţia optimă.
Este clar că trebuie să restrângem mulţimea de puncte în
care să căutăm soluţia optimă, astfel ca această mulţime să fie
finită. Aria admisibilă este o mulţime convexă.
Se cercetează numai vârfurile acestei mulţimi.
Coordonatele vârfurilor poligonului convex, care înconjoară aria
admisibilă constituie mulţimea (x1,x2) a soluţiilor admisibile de
bază. Soluţia optimă se află în unul din vârfurile poligonului.
Figura 4
16
Metoda 1
Se calculează coordonatele vârfurilor O, A2, M, N, B3, şi
apoi se află valoarea funcţiei obiectiv în fiecare vârf. Soluţia
optimă este punctul (x1,x2) care conferă funcţiei obiectiv
valoarea cea mai mare.
Avem:
O(0;0)
A2(37,5;0)
M ∈ d1 ∩ d 2 deci rezolvăm sistemul
3 x1 + 5 x2 = 150
⇒ M(30;12)
0.8 x1 + 0.5 x2 = 30
N ∈ d1 ∩ d3 deci rezolvăm sistemul
3 x1 + 5 x2 = 150 50
⇒ N ; 20
x2 = 20 3
B3(0;20).
Valorile funcţiei obiectiv în aceste puncte sunt:
O ( 0, 0 ) ; f ( O ) = 50 ⋅ 0 + 40 ⋅ 0 = 0
A ( 37,5;0 ) ; f ( A ) = 50 ⋅ 37,5 + 40 ⋅ 0 = 1875
M ( 30,12 ) ; f ( M ) = 50 ⋅ 30 + 40 ⋅12 = 1980
N 50 ; 20 ; f ( N ) = 50 ⋅ 50 + 40 ⋅ 20 = 1633,3
3 3
B3 ( 0, 20 ) ; f ( B3 ) = 50 ⋅ 0 + 40 ⋅ 20 = 800
Rezultă că soluţia optimă este în punctul M(30,12).
Se vor fabrica x1=30 calculatoare PC1 şi x2=12
calculatoare PC2. Profitul maxim obţinut este maxf=1980 um.
Metoda a 2-a
Se caută valoarea maximă a FO, care este tot liniară, deci
acesteia i se poate ataşa o dreaptă:
17
D: 50 x1 + 40 x2 = λ , cu λ = max
unde λ este un parametru deoarece la fiecare pereche (x1,x2)
funcţia obiectiv poate lua o altă valoare, notată λ.
Dorim să găsim λ = max . Deoarece dreapta D nu se poate
reprezenta aflându-i intersecţiile cu axele vom folosi forma
y = mx + n unde m este panta dreptei iar n este tăietura (când
x=0, y=n).
5 λ
Avem 40 x2 = −50 x1 + λ sau D: x2 = − x1 +
4 40
5 λ
Deci panta este − = constant iar n = variabil. Relaţia
4 40
reprezintă o familie de drepte paralele, deoarece toate au aceeaşi
pantă.
Se va alege punctul din aria admisibilă, pentru care
λ
valoarea n = este cea mai mare, deoarece aveam λ = max .
40
Figura 5
18
În figura precedentă se figurează punctat dreapta D. Apoi
se deplaseză D, paralel cu ea însăşi, până la aria admisibilă şi se
alege punctul în care tăietura la origine, n, este cea mai mare
(Figura 5).
Acest punct este M(30;12).
Deci s-a determinat soluţia optimă, adică planul optim de
producţie x1=30, x2=12 şi valoarea maximă a profitului, 1980.
19
De exemplu restricţia iniţială era: x1 + x2 + 4 < x3 . Avem
x1 + x2 − x3 + 4 < 0 apoi x1 + x2 − x3 < −4 ( −1) deci − x1 − x2 + x3 > 4
şi ultima formă a restricţiei îndeplineşte condiţia 1) din FS.
2) O inecuaţie poate fi înlocuită cu o ecuaţie prin introducerea
unei variabile noi, numită variabilă de compensare, echilibrare
sau ecart. Variabila de compensare se adună ori se scade în
membrul stâng al restricţiei, după cum inecuaţia era ≤ sau ≥.
Aceste variabile de compensare introduse în inecuaţii pentru a le
transforma în ecuaţii sunt nenegative şi au interpretări
economice.
De exemplu, în cazul inecuaţiilor:
2 x1 + x2 − 3 x3 ≤ 100
, x1 , x2 , x3 ≥ 0
3
1x + 2 x2 + x3 ≥ 50
se introduc variabilele de compensare x4 cu semnul + şi x5 cu
semnul -:
2 x1 + x2 − 3x3 + x4 = 100
xi ≥ 0, i = 1,5
3x1 + 2 x2 + x3 − x5 = 50
deoarece în prima membrul stâng era mai mic decât membrul
drept iar în a doua inecuaţie, membrul stâng era mai mare decât
în membrul drept.
3) Dacă iniţial în modelul matematic există şi variabile care nu
satisfac de la început condiţiile de nenegativitate, atunci acestea
vor putea fi îndeplinite cu ajutorul unei substituţii, efectuate în
restricţii şi în funcţia obiectiv.
Avem două situaţii:
a) Variabila xi este negativă sau nepozitivă xi ≤ 0 ; în acest
caz substituţia este xi = − xi , xi ≥ 0 ;
b) Variabila xi are semn oarecare adică poate avea valori
pozitive, valori negative ori poate fi zero: xi=oarecare.
Substituţia este xi = xi+ − xi− , xi+ ≥ 0, xi− ≥ 0 .
20
Variabilele nepozitive sau variabilele cu semn oarecare
pot apare în formularea problemelor duale, ataşate problemelor
primale şi au interpretări economice (preţuri umbră). Variabilele
cu semn oarecare pot apare mai ales în programarea
multicriterială, în care variabilele deviaţionale de la obiectivele
propuse care au fost introduse în modelarea obiectivelor, pot lua
valori pozitive, negative sau nule.
De exemplu, pentru problema de PL:
f ( x ) = 2 x1 + x2 + 3x3 = max ,
x1 + 2 x2 + x3 = 15
x1 − 2 x2 + 2 x3 = 18
x1 ≤ 0 , x2 ≥ 0 , x3 = oarecare
x1 = − x1'
se vor efectua substituţiile + −
x1' ≥ 0 , x3+ ≥ 0 , x3− ≥ 0 iar
x3 = x3 − x3
forma standard este:
f ( x ) = −2 x1' + x2 + 3x3+ − 3x3− = max
− x1 + 2 x2 + x3 − x3 = 15
' + −
' + −
− x1 − 2 x2 + 2 x3 − 2 x3 = 18
x1' ≥ 0 , x2 ≥ 0 , x3+ ≥ 0 , x3− ≥ 0 .
În cazul general, forma standard a unei probleme de PL se
poate prezenta în una din formele:
a) FS dezvoltată
f ( x ) = c1 x1 + c2 x2 + ... + cn xn = optim ( max sau min )
a11 x1 + a12 x2 + ... + a1n xn = b1
a21 x1 + a22 x2 + ... + a2 n xn = b2
am1 x1 + am 2 x2 + ... + amn xn = bm
b) FS matriceală
f ( x ) = C ⋅ X = optim
21
A⋅ X = B
X ≥0
c) FS vectorială
f ( x ) = C ⋅ X = optim
x1 P1 + x2 P2 + ... + xn Pn = B
X ≥0
unde A ∈ M mn este matricea coeficienţilor din restricţii, C ∈ M 1n
este matricea linie a coeficienţilor din FO, X ∈ M n1 este matricea
coloană a necunoscutelor iar Pi ∈ M m1 sunt matricele ce au drept
componente coloanele matricei A.
Se observă că restricţiile reprezintă un sistem de m ecuaţii
cu n necunoscute.
Se consideră îndeplinirea următoarelor două ipoteze:
1. numărul m al restricţiilor este strict mai mic decât
numărul n al necunoscutelor;
2. rangul matricei A este m.
Prima ipoteză ne arată că sistemul de ecuaţii ce reprezintă
restricţiile este compatibil nedeterminat, caz în care căutarea
soluţiei optime a problemei are sens.
Ipoteza a 2-a arată că cele m restricţii sunt liniar
independente. În caz contrar se renunţă la ecuaţiile care sunt
combinaţii liniare ale celorlalte.
22
• Sistemul este incompatibil, deci problema de PL
nu are soluţie;
• Sistemul este compatibil unic determinat iar
componentele soluţiei unice sunt nenegative. În
acest caz aceasta este şi soluţia optimă;
• Sistemul satisface ipotezele 1 şi 2 ( m < n şi
rang A = m) deci este compatibil nedeterminat; în
această infinitate de soluţii trebuie aleasă soluţia
optimă, dacă există.
În rezolvarea problemei de PL prin metoda grafică s-a
văzut că există trei tipuri de soluţii.
1. Soluţii admisibile (SA)
Soluţia admisibilă a unei probleme de PL este un vector
x = ( x1 x2 x3 … xn ) care satisface toate restricţiile şi condiţiile de
T
nenegativitate.
Datorită ipotezelor 1 şi 2, sistemul restricţiilor este
compatibil nedeterminat, deci mulţimea soluţiilor este, în
general, infinită.
Este imposibil să se calculeze valoarea funcţiei obiectiv în
toate aceste soluţii admisibile pentru a o alege pe aceea care
conferă funcţiei obiectiv valoarea optimă cerută, deci soluţia
optimă se va căuta într-o submulţime a SA, care să aibă un
număr finit de elemente.
2. Soluţie admisibilă de bază (SAB)
Aceasta este o soluţie care satisface următoarele trei
condiţii:
a) Este soluţie admisibilă.
b) Are cel mult m componente strict pozitive iar celelalte
n-m sunt egale cu zero.
c) Vectorii Pi, ce au drept componente coloane ale matricei
A, care corespund celor m componente nenegative (de la
condiţia b) sunt liniar independenţi.
23
În algoritmul simplex aceşti vectori Pi sunt vectorii bazei
1 0 0
0 1 0
canonice E = ( e1 e2 … em ) adică e1 = . , e2 = . , ..., em = . .
. . .
0 0 1
Din acest motiv variabilele nenegative din SAB se mai
numesc variabile bazice.
Mulţimea SAB are cel mult Cnm elemente.
Dacă o SAB are exact m componente strict pozitive, ea se
numeşte nedegenerată iar dacă are mai puţin de m componente
strict pozitive, ea este degenerată.
3. Soluţie optimă
Aceasta este o soluţie admisibilă care conferă funcţiei
obiectiv valoarea optimă cerută.
În algoritmul simplex soluţia optimă este căutată în
mulţimea SAB.
Exemplu
Fie problema de PL
f ( x ) = 6 x1 + 4 x2 = max
x1 + 3 x2 ≤ 15
4 x1 + 2 x2 ≤ 20
x ≤ 4
1
Se cer:
1) Să se aducă problema la forma standard;
2) Să se afle cel puţin două SAB.
Rezolvare:
1) Adunăm în membrul stâng al fiecărei restricţii câte o
variabilă de compensare
f ( x ) = 6 x1 + 4 x2 = max
24
x1 + 3 x2 + x3 = 15
4 x1 + 2 x2 + x4 = 20
x + x = 4
1 5
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0 .
Sistemul de 3 ecuaţii cu 5 necunoscute al restricţiilor este
compatibil nedeterminat deoarece matricea coeficienţilor
restricţiilor
1 3 1 0 0
A = 4 2 0 1 0 are rang A=3
1 0 0 0 1
unde
1 0 0
∆ pr = 0 1 0 = 1 ≠ 0
0 0 1
Notăm
1 3 1 0 0
P1 = 4 ; P2 = 2 ; P3 = e1 = 0 ; P4 = e2 = 1 ; P5 = e3 = 0
1 0 1
0 0
Necunoscutele x3, x4, x5 devin necunoscute principale iar
x1 şi x2 sunt necunoscute secundare.
Soluţia sistemului de ecuaţii este:
x1 = α ∈ R
x = β ∈ R
2
x3 = 15 − x1 − 3 x2
x = 20 − 4 x − 2 x
4 1 2
x5 = 4 − x1
Deci există o infinate de soluţii. Cum α , β ∈ R putem lua
α = 0 şi β = 0 şi obţinem o SAB
25
x1 = 0
x2 = 0
x0 = x3 = 15
x4 = 20
x =4
5
care verifică toate cele 3 condiţii din definiţia SAB.
a) Verifică restricţiile şi are componente nenegative adică
este admisibilă;
b) Are 3 componente strict pozitive şi 5-3=2 egale cu zero
deci este nedegenerată;
c) Vectorii P3, P4 şi P5, care corespund componentelor
nenule ale soluţiei x3, x4 şi x5 sunt liniar independenţi, deoarece
ei formează baza canonică (au componente egale cu cele din
coloanele matricei unitate).
2) Pentru a găsi altă SAB se vor folosi transformările
elementare într-un sistem de ecuaţii, pentru a obţine
coloanele matricei unitate pe alte locuri, în loc de 3, 4
şi 5.
Aceste transformări se pot efectua fie în sistemul de
ecuaţii, fie în matricea lărgită şi avem:
• Se înmulţeşte o ecuaţie (linie din matrice) cu un
număr nenul;
• Se înmulţeşte o ecuaţie (linie) cu un număr nenul şi
se adună rezultatul la o altă ecuaţie (linie).
Pentru exemplificare, se va obţine coloana (1 0 0)T pentru
variabila x2.
1
Înmulţim prima ecuaţie cu pentru a obţine coeficientul
3
1 pentru x2:
26
1 1
3 x1 + x2 + x3 = 5
3
4 x1 + 2 x2 + x4 = 20
x + x = 4
1 5
Înmulţim prima linie cu (-2) şi adunăm rezultatul la linia a 2-a:
1 1
3 x1 + x2 + 3 x3 = 5
10 2
x1 − x3 + x4 = 10
3 3
x1 + x5 = 4
Soluţia sistemului, cu variabilele bazice x2, x4, x5 iar cele
secundare x1 = 0 şi x3 = 0 este:
x1 = 0 x2 = 5 x3 = 0 x4 = 10 x5 = 4
şi este tot SAB nedegenerată.
Matriceal, putem scrie:
1 1
1 0 0 5
1 3 1 0 0 15 3 3
4 2 0 1 0 20 ∼ 4 2 0 1 0 20 ∼
1 0 0 0 1 4 1 0 0 0 1 4
1 1
3 1 0 0 5
3
10 2
∼ 0 − 1 0 10
3 3
1 0 0 0 1 4
Se pot obţine şi alte SAB, prin folosirea celor două
transformări elementare.
27
ALGORITMUL SIMPLEX
28
• Matricea A a coeficienţilor variabilelor din
restricţii conţine toate coloanele matricei unitate de
ordinul m, I m
În acest caz, SAB se află din restricţii prin anularea
variabilelor nebazice (secundare).
• Matricea A nu conţine toate coloanele matricei Im.
În acest caz se foloseşte metoda bazei artificiale.
c1 c2 . . . cn
Baza CB P0
P1 P2 . . . Pn
zk-ck
• Pe coloana 1 (baza) se scriu vectorii bazei
canonice, în ordinea apariţiei lor în bază deci:
primul este vectorul care are componentele
(1 0 0 … 0 ) , al doilea este cel de componente
T
componentele ( 0 … 0 0 1) .
T
29
• Pe coloanele P1, P2, ..., Pn se scriu respectiv
coloanele matricei A a coeficienţilor variabilelor
din restricţii.
• Pe ultima linie din primul tabel simplex se
calculează diferenţele zk − ck din relaţia:
zk − ck = CB ⋅ Pk − ck
Practic se procedează astfel: se înmulţesc elementele
coloanei CB, pe rând cu elementele coloanelor P1, ..., Pn sumând
rezultatele şi apoi se scade coeficientul ck din FO ce se află
deasupra coloanei Pk, k = 1, n .
De exemplu z1 − c1 = CB ⋅ P1 − c1 , z2 − c2 = CB ⋅ P2 − c2 ,etc.
Etapa III. Se aplică criteriul de optimalitate:
a) Toate diferenţele zk − ck ≥ 0 , soluţia este optimă şi stop.
b) Există şi diferenţe zk − ck < 0 , soluţia de pe coloana P0 nu
este optimă şi trecem la
Etapa IV. Se va efectua o schimbare de bază. Criteriul de intrare
în bază pentru probleme de maxim este
min ( zk − ck ) = zh − ch ( zk − ck < 0 )
k
30
bi bj
min
i
=
aih a jh
(a
ij > 0)
31
Valoarea funcţiei obiectiv se calculează din CB ⋅ P0 şi
odată cu fiecare nouă soluţie găsită ea creşte.
Exemplu
O firmă produce trei produse X, Y, Z folosind trei resurse
R1 un material, R2 ore de prelucrare şi R3 alt material.
Consumurile specifice, cantităţile disponibile din resurse şi
profiturile unitare sunt date în Tabelul 3.
Tabelul 3
Consumuri specifice
Resurse Disponibil
X Y Y
R1 6 4 40
R2 2 1 1 50
R3 8 0 10 60
Profit unitar 80 40 120
Se cere planul de producţie zilnic, pentru cele trei
produse, astfel încât profitul total să fie maxim.
Care este utilizarea resurselor?
Soluţia
• Formăm modelul matematic.
Introducem variabilele de decizie:
x1=numărul de produse X ce se vor fabrica
x2=numărul de produse Y ce se vor fabrica
x3=numărul de produse Z ce se vor fabrica
Modelul matematic este:
f ( x ) = 80 x1 + 40 x2 + 120 x3 = max
6 x1 + 4 x2 ≤ 40
2 x1 + x2 + x3 ≤ 50
8 x + 10 x ≤ 60
1 3
32
6 x1 + 4 x2 + x4 = 40
2 x1 + x2 + x3 + x5 = 50 xi ≥ 0 i = 1, 6
8 x + 10 x + x = 60
1 3 6
33
P2 40 10 3 2 1 0 14 0 0 pt. linia
P5 0 34 −3 10 0 0 − 1 4 1 −1 10 pivotului;
• pt. celelalte linii
P3 120 6 8 10 0 1 0 0 1 10
se aplică regula 2
zk-ck 1120 76 0 0 10 0 12
34
Etapa IV: La probleme de minim se schimbă criteriul de intrare
în bază.
Intră în bază vectorul Ph căruia îi corespunde cea mai
mare valoare pozitivă pe linia zk − ck :
max ( zk − ck ) = zh − ch ( zk − ck > 0 )
k
Exemplu
Să se rezolve problema de programare liniară:
f ( x ) = 4 x1 − 2 x2 − 8 x3 + 12 x4 + 2 x5 = min
3 x1 + 2 x3 + x4 = 4
2 x1 + x2 − x3 = 2
− x + x = 1
1 5
xi ≥ 0 i = 1,5
Soluţie
Matricea coeficienţilor restricţiilor este
3 0 2 1 0
A = 2 1 −1 0 0
−1 0 0 0 1
P1 P2 P3 P4 P5
Baza este ( P4 , P2 , P5 ) iar SAB de pornire se obţine anulând
necunoscutele secundare x1 = 0 , x3 = 0 deci x0 = ( 0 2 0 4 1) .
T
4 -2 -8 12 2
Baza CB P0
P1 P2 P3 P4 P5
P4 12 4 3 0 2 1 0
P2 -2 2 2 1 -1 0 0
P5 2 1 -1 0 0 0 1
zk-ck 26 0 34 0 0
3 1
P3 -8 2 0 1 0
2 2
35
7 1
P2 -2 4 1 0 0
2 2
P5 2 1 -1 0 0 0 1
zk-ck -22 -25 0 0 -17 0
36
METODA PENALIZĂRII PENTRU PROBLEME DE MINIM
37
Se aduce la forma standard:
f ( x ) = 3 x1 + 2 x2 + 2 x3 = min
4 x1 + 2 x2 + x3 − x4 = 80
2 x1 + x3 − x5 = 60
xi ≥ 0 i = 1,5
Se scrie A matricea coeficiemţilor din restricţii:
4 2 1 −1 0
A=
2 0 1 0 −1
Deoarece aceasta nu conţine nici o coloană din I2, se
adaugă doi vectori artificiali ce vor forma baza artificială:
4 2 1 −1 0 1 0
A=
2 0 1 0 −1 0 1
P1 P2 P3 P4 P5 P6a P7a
Problema modificată este:
f ( x ) = 3 x1 + 2 x2 + 2 x3 + M ( x6a + x7a ) = MIN
4 x1 + 2 x2 + x3 − x4 + x6a = 80
2 x1 + x3 − x5 + x7 = 60
a
xi ≥ 0 i=1,5 , x6a ≥ 0 x 7a ≥ 0
38
• În funcţia obiectiv se scade produsul dintre factorul de
penalizare M şi suma variabilelor artificiale introduse.
Exemplu
Problema iniţială de PL este:
f ( x ) = 12 x1 + 16 x2 = max
2 x1 + 3 x2 ≤ 48000
x2 ≥ 10000 x1 ≥ 0, x2 ≥ 0
x ≤ 6000
1
Soluţie
Se aduce problema la forma standard:
f ( x ) = 12 x1 + 16 x2 = max
2 x1 + 3 x2 + x3 = 48000
x2 − x4 = 10000 xi ≥ 0 i = 1,5
x + x = 6000
1 5
Matricea A nu conţine coloana ( 0 1 0 ) şi de aceea se
T
x + x = 6000
1 5
xi ≥ 0 i = 1,5, x6a ≥ 0
În continuare se va aplica algoritmul simplex problemei
modificate. Se poate lucra cu M ori i se poate da lui M o valoare
39
numerică foarte mare. Unele programe pe calculator consideră
M = 900000000 .
Poate apare una din următoarele trei situaţii în rezolvarea
problemei modificate care să conducă la aflarea soluţiei
problemei originale, dacă ea există.
1) Toţi vectorii artificiali au fost eliminaţi din bază. În
acest caz s-a obţinut o SAB de pornire pentru
problema iniţială; se continuă algoritmul simplex şi se
determină, dacă există, soluţia optimă a problemei
iniţiale.
2) Nu toţi vectorii artificiali au ieşit din bază, dar
necunoscutele artificiale care corespund vectorilor
artificiali rămaşi în bază sunt egale cu zero. Rezultă o
soluţie de pornire degenerată pentru problema iniţială
şi se continuă algoritmul simplex.
3) A rămas în bază măcar un vector artificial, căruia îi
corespunde pe coloana lui P0 o variabilă artificială
strict pozitivă şi sunt îndeplinite condiţiile de
optimalitate. În această situaţie problema iniţială nu
are soluţie.
Exemplu
x + x = 6000
1 5
12 16 0 0 0 -M
Bază CB P0
⇓↓ P1 ↓ P2 P3 ⇓ P4 P5 P6a
P3 0 48000 2 3 1 0 0 0
40
← P6a -M 10000 0 1 0 -1 0 1
P5 0 6000 1 0 0 0 1 0
zk-ck -12 -M-16 0 M 0 0
⇐ P3 0 18000 2 0 1 3 0 -3
P2 16 10000 0 1 0 -1 0 1
P5 0 6000 1 0 0 0 1 0
zk-ck -12 0 0 -16 0 16+M
P4 0 6000 23 0 13 1 0 -1
P2 16 16000 23 1 13 0 0 0
⇐
P5 0 6000 1 0 0 0 1 0
←
zk-ck −4 3 0 16 3 0 0 M
1 2
P4 0 2000 0 0 1 − -1
3 3
1 2
P2 16 12000 0 1 0 − 0
3 3
P1 12 6000 1 0 0 0 1 0
16 4
zk-ck 264000 0 0 0 M
3 3
41
Exemplu
Se aplică algoritmul simplex pentru problema precedentă
de minim:
32 2 0 0 M M
Baza CB P0
P2
↓ P1 P3 ⇓ P4 P5 Pa
6 P7a
← P6 M 80
a
4 2 1 -1 0 1 0
P7a
M 60 2 0 1 0 -1 0 1
zk-ck 6M-3 2M-2 2M-2 -M -M 0 0
1 1 1 1
P1 3 20 1 − 0 0
2 4 4 4
1 1 1
⇐ P7a M 20 0 -1 -1 − 1
2 2 2
1 M 5 M 3 M 3
zk-ck 0 -M- - - -M - + 0
2 2 2 2 4 2 4
1 1 1
P1 3 30 1 0 0 − 0
2 2 2
P4 0 40 0 -2 1 1 -2 -1 2
1 3 3
zk-ck 90 0 -2 − 0 - -M -M+
2 2 2
42
-M dacă funcţia obiectiv este de maxim.
Dacă după rezolvare s-au obţinut condiţiile de
optim şi cel puţin o variabilă artificială are în
soluţia optimă o valoare nenulă, atunci problema
iniţială nu are soluţie.
43
optimă a funcţiei obiectiv, dacă se va creşte cu o singură unitate
unitate cantitatea disponibilă din acea resursă (adică termenul
liber din restricţie)
b) Preţul umbră este suma care poate fi plătită în plus faţă de
costul de achiziţie iniţial, pentru cumpărarea unei noi unităţi
dintr-o resursă rară, astfel ca, prin suplimentarea cantităţii
disponibile din acea resursă, beneficiul total să nu scadă, ori
costul total să nu crească.
Aceste interpretări au loc în două condiţii:
1) Soluţia optimă a problemei să fie nedegenerată
2) Intervalele în care sunt valabile interpretările a) şi b)
ale preţurilor umbră sunt determinate de analiza
senzitivă pentru pentru termenii liberi din restricţii.
Se întâlnesc, deci, următoarele tipuri de variabile
I. Variabile de decizie
Acestea determină ceea ce se cere în problemă, adică vor
determina decizia ce va fi luată.
Cu ajutorul lor se elaboreză modelul matematic. Soluţia
optimă se citeşte în ultimul tabel simplex, pe coloana lui P0, când
sunt satisfăcute condiţiile de optimalitate.
O variabilă x j > 0 arată că activitatea j căreia i-a fost
ataşată variabila de decizie este inclusă în program deci se
efectuează ca activitate eficientă.
Dacă x j = 0 atunci activitatea j nu se efectuează ea fiind
nerentabilă.
II. Variabile de compensare, echilibrare sau
ecart
Acestea se introduc pentru aducerea la forma standard, în
restricţii.
Valorile lor optime se citesc odată cu cele ale variabilelor
de decizie, pe coloana lui P0.
• Dacă variabila de compensare din restricţia j,
ataşată resursei Rj, este nulă, atunci restricţia j este
44
satisfăcută cu semnul „=”, resursa Rj a fost
consumată în întregime, deci este o resursă rară.
În general, preţul umbră ataşat unei resurse rare este
nenul.
• Dacă variabila de compensare dintr-o restricţie are,
în soluţia optimă, valoare strict pozitivă atunci
restricţia este satisfăcută ca inegalitate.
În cazul în care aveam „≤”, variabila de
compensare a fost adunată şi valoarea ei arată cât
din membrul drept a rămas neutilizat.
În cazul în care aveam „≥”, variabila de
compensare se mai numeşte surplus sau variabilă
de exces, deoarece ea arată cât s-a realizat în plus
faţă de membrul drept.
Dacă variabila de compensare este strict pozitivă
atunci preţul umbră ataşat resursei este nul deci
prin suplimentarea acelei resurse, valoarea optimă
a funcţiei obiectiv nu se modifică.
III. Variabile duale optime sau preţurile
umbră
Se ataşează restricţiilor deci dau indicaţii asupra
resurselor, conform interpretărilor a) şi b).
Preţurile umbră se citesc pe ultima linie di tabelul
simplex, adică pe linia lui zk-ck
În dreptul coloanelor variabilelor de compensare,
dacă vectorii corespunzători formau baza canonică,
în ordinea vectorilor din matricea unitate
Pe coloanele variabilelor artificiale, tot ordinea
coloanelor din matricea unitate iniţială, făcând
M=0.
În dreptul coloanelor variabilelor de compensare
scăzute pentru aducerea la forma standard, dar
acestei citiri i se va schimba semnul.
45
Observaţie pentru variabilele de decizie
Tot pe linia lui zk-ck din ultimul tabel simplex se citeşte şi
costul redus, în dreptul coloanelor ce corespund variabilelor de
decizie.
Costul redus pentru o variabilă de decizie care are
valoarea zero în soluţia optimă, (ceea ce indică faptul că
activitatea pe care o reprezenta variabila de decizie nu se
efectuează), este cantitatea necesară pentru a creşte (sau micşora)
coeficientul acelei variabile, în funcţia obiectiv, astfel ca după
modificarea acelui coeficient, variabila să aibe valoare strict
pozitivă în noua soluţie optimă.
Dacă variabila de decizie are valoare strict pozitivă în
soluţia optimă, costul redus este nul.
Costul redus pentru o activitate nerealizată mai reprezintă
cantitatea cu care descreşte profitul (creşte costul) dacă o
activitate care nu era folosită este forţată să fie utilizată; de
exemplu dacă x1 = 0 , şi se impune ca restricţie x1 ≥ 1 , profitul va
scădea exact cu valoarea costului redus a variabilei x1.
Exemplu
O fabrică de mobilă produce birouri şi dulapuri, folosind
timpul de asamblare şi lemn.
Consumurile specifice, preţurile de vânzare şi cantităţile
disponibile din resurse sunt date în tabel:
Consum pentru um
Resurse Disponibil
Birou Dulap
Asamblare (min) 10 8 600 min
Lemn (kg) 6 12 600 kg
Preţ de vânzare (um) 15 9
a) Dacă fabrica doreşte să contracteze cel puţin 40 de
birouri, care va fi planul de producţie, preţul maxim de vânzare?
Cum sunt utilizare resursele? Care dintre resurse ar trebui
suplimentată dacă se urmăreşte fabricarea unui număr mai mare
de produse? Care este costul redus?
46
b) Răspundeţi la aceleaşi întrebări dacă se doreşte
contractarea a cel puţin 40 de dulapuri.
Ce decizie va lua managerul; a) sau b)?
c) Care va fi planul de producţie şi preţul maxim de vânzare
dacă în cazul a) preţul dulapurilor este crescut cu 3 um?
x1= numărul de birouri ce se vor fabrica
x2= numărul de dulapuri ce se vor fabrica
Cazul a) model matematic
f ( x ) = 15 x1 + 9 x2 = max
1) 10 x1 + 8 x2 ≤ 600, minute de asamblare
2) 6 x1 + 12 x2 ≤ 600, kg de lemn x1 ≥ 0 x2 ≥ 0
3) x ≥ 4, contract
1
Forma standard este
f ( x ) = 15 x1 + 9 x2 = max
10 x1 + 8 x2 + x3 = 600
6 x1 + 12 x2 + x4 = 600 xi ≥ 0 i = 1,5
x − x = 40
1 5
Forma modificată pentru aplicarea metodei penalizărilor,
se datoreşte faptului că în matricea
10 8 1 0 0 0
A = 6 12 0 1 0 0
1 0 0 0 −1 1
lipseşte coloana P6 , deci forma modificată este
a
f ( x ) = 15 x1 + 9 x2 − Mx6a = MAX
10 x1 + 8 x2 + x3 = 600
6 x1 + 12 x2 + x4 = 600 xi ≥ 0 , i = 1,5 x6 ≥ 0
a
x1 − x5 + x6 = 40
a
Tabelul simplex:
15 9 0 0 0 -M
Baza CB P0
P1 P2 P3 P4 P5 P6a
P3 0 600 10 8 1 0 0 0
47
P4 0 600 6 12 0 1 0 0
Pa
6 -M 40 1 0 0 0 -1 1
zk-ck -M-15 -M-9 0 0 M 0
P3 0 200 0 8 1 0 10 -10
P4 0 360 0 12 0 1 6 -6
P1 15 40 1 0 0 0 -1 1
zk-ck 0 -9 0 0 -15 M+15
4 1
P5 0 20 0 0 1 -1
5 10
36 3
P4 0 240 0 − 1 0 0
5 5
4 1
P1 15 60 1 0 0 0
5 10
zk-ck 900 0 3 1,5 0 0 M
Interpretarea acestui tabel simplex:
• Planul de producţie este: x1 = 60 , x2 = 0 deci se vor
fabrica 60 de birouri iar dulapurile sunt
nerentabile, deci nu se vor produce.
Valoarea maximă a preţului de vânzare este 900 de unitâţi
monetare.
Valorile variabilelor de compensare sunt: x3 = 0 , x4 = 240 ,
x5 = 20 deci s-au consumat toate minutele de asamblare, au rămas
240 kg de lemn din cele 600 kg şi s-au făcut în plus 20 de birouri
faţă de cele 40 contractate.
Preţurile umbră se citesc în dreptul coloanelor matricei
unitate, care au format baza iniţială, făcând M = 0 deci:
• Preţul umbră pentru orele de asamblare este 1,5.
• Preţul umbră pentru lemn este 0
• Preţul umbră al restricţiei a 3-a, ce reprezintă
contractul, este 0, (pentru M=0) ori în dreptul
coloanei ( 0 0 −1) , dar este tot 0 şi cu semn
T
schimbat.
48
Costurile reduse pot fi citite pe coloanele variabilelor de
decizie P1 şi P2 pe linia lui zk-ck deci:
• Costul redus pentru birouri este 0 deoarece ele se
fabrică
• Costul redus pentru dulapuri este 3 deoarece în
acest moment ele sunt nerentabile la preţul de
vânzare 9 um.
Dacă însă preţul de vânzare ar fi 9 + 3 = 12 sau mai mult,
ele pot fi fabricate.
Toate aceste rezultate puteau fi sintetizate în tabelul:
Variabile de decizie Cost redus
60 0
0 3
max f = 90
Variabile de compensare Preţuri umbră
1) 0 1,5
2) 240 0
3) 20 0
În plus rezultă că singura resursă care ar trebui
suplimentată este prima, timpul de asamblare, deoarece dacă am
avea 600+1 minute, valoarea maximă a vânzărilor ar creşte cu
1,5 adică ar deveni 900 + 45 = 945 um.
Însă această proprietate este valabilă doar în intervalul dat
de analiza senzitivă pentru termenul liber 600 din prima
restricţie. Se poate arăta că acesta este [ 400,1000] .
Cazul b) model matematic
f ( x ) = 15 x1 + 9 x2 = max
1) 10 x1 + 8 x2 ≤ 600, minute de asamblare
2) 6 x1 + 12 x2 ≤ 600, kg de lemn x1 ≥ 0, x2 ≥ 0
3) x ≥ 4, contract
1
Forma modificată este în acest caz
f ( x ) = 15 x1 + 9 x2 − Mx6a = MAX
49
10 x1 + 8 x2 + x3 = 600
6 x1 + 12 x2 + x4 = 600 xi ≥ 0 i = 1,5 , x6 ≥ 0
a
x1 − x5 + x6 = 40
a
Tabelul simplex
15 9 0 0 0 -M
Baza CB P0
P1 P2 P3 P4 P5 P6a
P3 0 600 10 8 1 0 0 0
P4 0 600 6 12 0 1 0 0
P6a -M 40 1 0 0 0 -1 1
zk-ck -15 -M+9 0 0 M 0
P3 0 280 10 0 1 0 8 -8
P4 0 120 6 0 0 1 12 -12
P2 9 40 0 1 0 0 -1 1
zk-ck -15 0 0 0 9 9+M
5
P3 0 80 0 0 1 − -12 12
3
1
P1 15 20 1 0 0 2 -2
6
P2 9 40 0 1 0 0 -1 1
zk-ck 660 0 0 0 2,5 21 M-21
Tabelul rezultatelor este:
Variabile de decizie Cost redus
20 0
40 0
max f = 660
Variabile de compensare Preţuri umbră
1) 0 1,5
2) 240 0
3) 20 0
Deci: se vor produce 20 de birouri, 40 de dulapuri,
valoarea maximă a vânzărilor este 660 um, rămân neutilizate 80
minute de asamblare dincele 600, dar restricţiile următoare sunt
50
satisfăcute cu semnul egal deci „lemnul” li „contractul” sunt
resurse rare.
Dacă în loc de 600 kg lemn am avea 601 kg, valoarea
vânzărilor ar creşte cu 2,5 devenind 662,5.
În schimb dacă în loc de 40 dulapuri s-ar contracta 41,
valoarea vânzărilor ar scădea cu 21, devenind 639 um.
Aceste afirmaţii privind preţul umbră au loc doar în
intervalele precizate de analiza senzitivă în care pot varia cele
600 kg lemn şi cele 40 de valori ale contractului.
Costul redus este zero deoarece atât birourile cât şi
dulapurile se fabrică. Intervalul în care este valabil preţul umbră
de 2,5 pentru lemn este acela în care 600 variază în [ 480,640] iar
pentru 40 este [33,3;50] .
c) Dacă preţul dulapurilor devine 12 um, deci creşte cu
cele 3 um specificate de costul redus, fabricarea dulapurilor
devine rentabilă. Avem următoarele două soluţii optime
alternative:
Fie cea prezentată la punctul a
x1 = 60, x2 = 0, max f = 900
Fie
x1 = 40, x2 = 25, max f = 900
Managerul ia decizia să contracteze birourile deoarece
preţul total de vânzare în cazul a) este mai mare decât în cazul b)
al contractării dulapurilor.
Dacă însă, poate creşte preţul de vânzare al dulapurilor,
de la 9 um la 12 um (sau mai mult), atunci poate contracta cele
40 de birouri, pe care le livrează toate la contract, dar poate
fabrica şi 25 de dulapuri, consumând astfel mai bine resursele,
deoarece rămân doar 60 kg lemn..
Exemplu
O firmă poate fabrica două produse A şi B. Costurile de
producţie şi consumurile specifice sunt date în tabel.
51
Trebuie folosite cel puţin 240 de minute de producţie, cel
mult 200 unităţi de material şi trebuiesc produse cel puţin 10
unităţi din produsul A pentru onorarea unui contract. Datele sunt
sintetizate în tabel:
A B Disponibil
R1 ore de producţie 2 4 ≥240
R2 kg de material 1 2 ≤200
R3 vânzare 1 0 ≥10
Cost unitar de producţie 4 2
a) Să se determine planul optim de producţie astfel încât
costul total de producţie să fie minim
b) Care este utilizarea resurselor?
c) Ce se intâmplă dacă fiecare dintre cele trei resurse, este
suplimentată, pe rând cu câte o singură unitate? Dar dacă se
micşorează pe rând cu o unitate?
Ce este mai convenabil să modificăm (presupunând că se
respectă analiza senzitivă)?
Soluţie
Se introduc variabilele de decizie care vor da planul de
producţie:
x1= numărul de produse A ce se vor fabrica
x2= numărul de produse B ce se vor fabrica
Modelul matematic al problemei este:
f ( x ) = 4 x1 + 2 x2 = MIN
Restricţiile
1)2 x1 + 4 x2 ≥ 240 timp de productie
2) x1 + 2 x2 ≤ 200 unitati de material x1 ≥ 0, x2 ≥ 0
3) x ≥ 10 vanzare contract
1 ( )
Forma standard:
f ( x ) = 4 x1 + 2 x2 = MIN
52
1)2 x1 + 4 x2 − x3 = 240
2) x1 + 2 x2 + x4 = 200 xi ≥ 0, i = 1,5
3) x − x = 10
1 5
Din matricea unitate lipsesc coloanele 1 şi 3
2 4 −1 0 0 1 0
A = 1 2 0 1 0 0 0
1 0 0 0 −1 1
0
P1 P2 P3 P4 P5 P6a P7a
Rezultă că în restricţia 1 se va aduna o variabilă artificială
x iar în restricţia 3 se va duna o variabilă x7a ; baza canonică este
a
6
( Paa P4 P7a ) .
În funcţia obiectiv se adună factorul de penalizare M;
înmulţit cu suma celor două variabile artificiale, deci modelul
matematic modificat al problemei este
f ( x ) = 4 x1 + 2 x2 + M ( x6a + x7a ) = MIN
1)2 x1 + 4 x2 − x3 + x6a = 240
2) x1 + 2 x2 + x4 = 200 xi ≥ 0, i = 1,5 , x6a ≥ 0 , x7a ≥ 0
3) x1 − x5 + x7 = 10
a
Tabelul simplex:
4 2 0 0 0 M -M
Baza CB P0
P1 P2 P3 P4 P5 Pa
6 P7a
P6a
M 240 2 4 -1 0 0 1 0
P4 0 200 1 2 0 1 0 0 0
P7a
M 10 1 0 0 0 -1 0 1
zk-ck 3M-4 4M-2 -M 0 -M 0 0
1 1 1
P2 2 60 1 − 0 0 0
2 4 4
1 1
P4 0 80 0 0 1 0 − 0
2 2
P7a M 10 1 0 0 0 -1 0 1
53
1 1
zk-ck M-3 0 − 0 -M -M 0
2 2
1 1 1 1
P2 2 55 0 1 − 0 −
4 2 4 2
1 1
P4 0 80 0 0 1 0 − 0
2 2
P1 4 10 1 0 0 0 -1 0 1
1 1
zk-ck 0 0 − 0 -3 -M 3-M
2 2
Razultatele obţinute prin algoritmul simplex se pot citi din
ultimul tabel: soluţia optimă este pe coloana P0, costurile reduse,
pe linia zk-ck sunt pe coloanele P1 şi P2, costurile reduse sunt
citite în una din formele:
Fie pe coloanele P6a , P4, P7a care au format baza
iniţială; făcând M=0 (pe linia zk-ck)
Fie pe coloana lui P3, ( −1 0 0 ) , dar cu semn
T
1
au valorile, respectiv: , 0, 3.
2
Sistemul tuturor rezultatelor, inclusiv valoarea totală
minimă a costurilor de producţie este:
Variabile de decizie Cost redus
x1 10 0
x2 55 0
min f = 150 um
Variabile de compensare Preţuri umbră
1) 0 0,5
2) 80 0
3) 0 3
Interpretările rezultatelor
• Se vor produce 10 produse A şi 55 produse B
54
• Costul total minim de producţie: 150 um
• Prima resursă, orele de producţie, este resursă rară.
Variabila de compensare este x3 = 0 , restricţia este
satisfăcută cu semnul „=”, resursa este consumată
în întregime, iar preţul umbră asociat este 0,5
um/1oră.
Aceasta înseamnă că dacă în loc de 240 ore avem 241 ore,
costul total minim creşte cu 0,5 la fiecare oră adăugată şi scade
cu 0,5 la fiecare oră scăzută din cele 240 disponibile.
• Resursa a doua, materialul, nu a fost consumată în
întregime deci nu este resursă rară. Din acest
material au rămas un număr de x4 = 80 kg . Preţul
umbră asociat materialului este egal cu zero deci
costul total minim rămâne neschimbat dacă
adăugăm ori scădem un kg la cei 200 existenţi.
Este important de menţionat faptul că dacă în loc de 200
kg de material am fi planificat un număr de 200 − 80 = 120 kg, am
fi realizat exact acelaşi plan de producţie cu acelaşi cost total
minim şi am fi consumat toate cele 120 kg (fără stoc
suplimentar).
• A treia resursă este tot resursă rară.
Variabila de compensare x5 = 0 , restricţia este satisfăcută
cu semnul „=” iar preţul umbră ataşat este egal cu 3.
Aceasta înseamnă că dacă în loc de 10 produse A
contractate, vom avea 11, costul total creşte cu 3 adică devine
153 şi invers, dacă în loc de 10 se contractează un număr de 9
produse A, costul total scade cu 3 adică devine 147.
Toate aceste consideraţii pentru preţurile umbră sunt
adevărate în intervalele date de analiza senzitivă pentru termenii
liberi din restricţii.
55
ANALIZA SENZITIVĂ
56
dintre coeficienţi, astfel încât soluţia optimă să rămână
neschimbată. Aceasta înseamnă că în aceste intervale, valorile
variabilelor optime xi i = 1, n rămân aceleaşi , dar valoarea optimă
a funcţiei obiectiv se poate schimba, din cauza modificării
coeficienţilor variabilelor din funcţia obiectiv în aceste intervale.
Simultan rezultă şi costul redus. Aceste rezultate sunt
valabile pentru problemele nedegenerate deci în care există un
număr de m restricţii iar soluţia optimă conţine m variabile strict
pozitive.
În soluţia optimă, este posibil ca una dintre variabilele de
decizie, xi = 0 . Aceasta înseamnă că activitatea i asociată
variabilei de decitie xi , nu este rentabilă şi nu va fi utilizată. În
ultimul tabel simplex care dădea soluţia optimă, vectorul Pi
corespunzător variabilei xi nu era în bază.
Într-o problemă nedegeneratăde maxim (minim) costul
redus pentru o variabilă de decizie care avea valoarea zero în
soluţia optimă, este cantitatea cu care trebuie crescut (micşorat)
coeficientul său din funcţia obiectiv pentru ca ea să aibă valoare
strict pozitivă, în noua soluţie optimă obţinută după modificarea
coeficientului său din funţia obiectiv. Pentru variabilele de
decizie care au fost strict pozitive, costul redus este zero.
Costul redus pentru o activitate neutilizată ( xi = 0 ) mai
reprezintă cantitatea cu care va descreşte profitul (sau va creşte
costul) dacă o activitate nerentabilă este forţată să fie utilizată
prin impunerea restricţiei xi ≥ 1 . Cazul particular în care atât
variabila de decizie cât şi costul redus asociat ei sunt egale cu
zero, indică existenţa unei soluţii optime alternative.
Costul redus se citeşte pe ultima linie din tabelul simplex,
zk-ck, în dreptul coloanelor vriabilelor de decizie.
Pentru probleme degenerate, în care numărul variabilelor
strict pozitive este mai mic decât numărul restricţiilor, atât
semnificaţiile costului redus cât şi a preţului umbră, nu mai sunt
adevărate.
57
Analiza senzitivă se bazează pe faptul că la un moment
dat variază câte un singur coeficient din funcţia obiectiv,
celelalte mărimi rămânând la valorile iniţiale.
În general, pentru problema iniţială:
f ( x ) = c1 x1 + c2 x2 + ... + cn xn = opt
Ax = P0
x ≥ 0
pentru analiza senzitivă a coeficienţilor c1, c2 ... cn se vor rezolva
un număr de n probleme în care se modifică, pe rând, doar un
coeficient din funcţia obiectiv:
Problema 1
f ( x ) = ( c1 + λ ) x1 + c2 x2 + ... + cn xn = OPT
Ax = P0
x ≥ 0
Problema a 2-a
f ( x ) = c1 x1 + ( c2 + λ ) x2 + ... + cn xn = OPT
Ax = P0
x ≥ 0
...
Problema a n-a
f ( x ) = c1 x1 + c2 x2 + ... + cn −1 xn −1 + ( cn + λ ) xn = OPT
Ax = P0
x ≥ 0
Practic, algoritmul simplex dă simultan soluţia optimă a
problemei iniţiale şi analiza senzitivă a tuturor coeficienţilor din
funcţia obiectiv, cu următoarele modificări:
• Deasupra liniei coeficienţilor din funcţia obiectiv
se mai adaugă n linii ce corespund coeficienţilor
din cele n probleme
58
• Se adaugă n coloane cB ( λ ) , pentru coeficienţii
variabilelor bazice ce se vor introduce doar în
ultimul tabel simplex
• Se calculează încă n linii zk-ck folosind coeficienţii
celor n probleme, respectiv
• Se impun condiţiile de optimalitate pentru toate
cele n probleme şi se obţin intervalele în care pot
varia fiecare dintre coeficienţi, astfel încât soluţia
optimă obţinută pe coloana lui P0 a problemei
iniţiale să rămână optimă
Exemplu
O firmă fabrică trei produse folosind două resurse.
Consumurile specifice, cantităţile disponibile din resurse şi
profiturile unitare sunt date în tabel:
A B C Disponibil
Kg R1 2 3 5 90 kg
Ore R2 1 2 3 50 ore
Profit unitar 3 4 8
59
2 x1 + 3 x2 + 5 x3 ≤ 90
, x1 ≥ 0 , x2 ≥ 0 , x3 ≥ 0
x1 + 2 x2 + 3 x3 ≤ 50
unde variabilele de decizie x1, x2 şi x3 reprezintă respectiv
numărul de produse A, B şi C care se vor fabrica.
Pentru analiza senzitivă a celor trei coeficienţi 3, 4 şi 8 se
rezolvă următoarele trei probleme:
Problema 1
f ( x ) = ( 3 + λ ) x1 + 4 x2 + 8 x3 = max
2 x1 + 3 x2 + 5 x3 ≤ 90
, α ∈ R xi ≥ 0 i = 1, 2, 3
x1 + 2 x2 + 3 x3 ≤ 50
Problema 2
f ( x ) = 3 x1 + ( 4 + β ) x2 + 8 x3 = max
2 x1 + 3 x2 + 5 x3 ≤ 90
xi ≥ 0, i = 1, 2, 3, β ∈ R
x1 + 2 x2 + 3 x3 ≤ 50
Problema 3
f ( x ) = 3 x1 + 4 x2 + ( 8 + γ ) x3 = max
2 x1 + 3 x2 + 5 x3 ≤ 90
xi ≥ 0, i = 1, 2, 3, γ ∈ R
x1 + 2 x2 + 3 x3 ≤ 50
Aici α, β, γ sunt parametri.
Se aduce la forma standard, adunând câte o variabilă de
compensare: x4 în restricţia de material şi x5 în restricţia orelor.
Se adaugă trei linii pentru coeficienţii din funcţia obiectiv
a celor trei produse şi trei coloane pentru coeficienţii variabilelor
bazice.
Tabelul simplex:
3+ λ 4 8 0 0
Probl. Probl. Probl. 3 4 + β 8 0 0
Baza I II III CB P0 3 4 8 + γ 0 0
cI cII cIII 3 4 8 0 0
P1 P2 P3 P4 P5
P4 0 90 2 3 5 1 0
60
P5 0 50 1 2 3 0 1
zk-ck -3 -4 -8 0 0
20 1 1 5
P4 0 − 0 1 −
3 3 3 3
50 1 2 1
P3 8 1 0
3 3 3 3
1 4 8
zk-ck − 0 0
3 3 3
P1 3+ λ 3 3 3 20 1 -1 0 3 -5
P3 8 8 8 + γ 8 10 0 1 1 -1 2
zk-ck 140 0 1 0 1 1
I zk-ck 0 1 − λ 0 1 + 3λ 1 − 5λ
II zk-ck 0 1− β 0 1 1
III zk-ck 0 1 + γ γ 1 − γ 1 + 2γ
S-au obţinut mai întâi toate rezultatele problemei iniţiale:
Variabile de decizie Cost redus
x1 = 20 0
x2 = 0 1
x3 = 10 0
max f = 140
Variabile de compensare Preţuri umbră
1) x4 = 0 1
2) x5 = 0 1
a) Se vor fabrica 20 produse A, produsul B nu se fabrică,
produsele C se vor fabrica 10, ambele resurse sunt rare,
consumate în întregime iar profitul total maxim este 140 um.
b) Costul redus pentru b este 1, deci dacă profitul său unitar
4 creşte cu 1 unitate devenind 5, atunci produsul B se poate
produce.
De fapt la c2 = 5 avem soluţia alternativă, cea precedentă
ori x1 = 30 , x2 = 10 , x3 = 0 , x4 = 0 , x5 = 0 max f = 140 (şi suntem în
intervalul dat de anliza senzitivă)
61
c) Costul pe care îl poate păti în plus la o nouă suplimentare
a resurselor este dat de preţul umbră, deci 1um/kg pentru
material şi 1um/oră pentru producţie (dacă suntem în intervalele
date de anilza senzitivă)
d) Pentru a determina intervalul în care poate varia primul
coeficient, 3 al variabilei x1 pentru ca soluţia optimă de la
punctul a) să rămână neschimbată, se impun condiţiile de
optimalitate la problema I, zk − ck ≥ 0 . Avem:
1 − λ ≥ 0
1 + 3λ ≥ 0
1 − 5λ ≥ 0
1 1 1 1
Din acestea, avem λ ≤ 1 λ ≥ − şi λ ≤ adică − ≤ λ ≤ .
3 5 3 5
Atunci coeficientul 3 + λ al primei probleme va fi cuprins in
1 8 1 16
intervalul dat de 3 − = şi 3 + = .
3 3 5 5
8
Limita inferioara pentru interval este deci = 2,667 iar cea
3
16
superioara este = 3, 2 . Pentru problema a 2-a avem similar:
5
1 − β ≥ 0 deci β ≤ 1 . Intervalul este β ∈ ( −∞,1] deci coeficientul 4
variază într-un interval care nu are limită inferioara iar limita
superioară este 4 + 1 = 5 , adică 4 ∈ ( −∞,5] .
Pentru problema a 3-a avem:
γ ≥ −1
1 + γ ≥ 0 γ ≥ 0
γ ≥ 0 1
deci γ ≤ 1 şi γ ∈ ,1
1 − γ ≥ 0 2
1 + 2γ ≥ 0 γ ≥ 1
2
Atunci coeficientul 8 variaza în [7,5;9] . Rezultatele se pot
prezenta în tabelul:
62
Limita inferioara Valoarea originala Limita superioara
2,667 3 3,2
nu are 4 5
7,5 8 9
Din tabel rezultă că soluţia optimă rămâne neschimbată
când coeficienţii variază în aceste intervale.
În particular x2 = 0 dacă 4 ∈ ( −∞,5] . Rezultă că dacă în loc
de 4 avem c2 = 5 soluţia x2 = 0 se menţine încă, dar rezultă şi
costul redus, egal cu 5 − 4 = 1 , adică pentru c2 = 5 sau mai mult
(de exemplu 5,001), produsul B devine rentabil şi se poate
fabrica, după cum deja s-a menţionat.
Exemplu
La o intreprindere se realizează trei tipuri de aliaje.
Acestea trebuie să conţină, pe lângă materialele principale şi
Carbon, Nichel şi Magneziu. Procentele pentru fiecare tonă de
aliaj sunt date în tabel, unde se specifică şi costurile pe o tonă din
fiecare aliaj.
Aliaj 1 Aliaj 2 Aliaj 3
Carbon 3% 2% 6%
Nichel 6% 3% 1%
Magneziu 8% 3% 1%
cost/1 tonă 18 15 9
Cerinţele de fabricaţie sunt:
• Să se consume cel mult 4 tone de carbon
• Să se folosească cel puţin 3,5 tone de nichel
• Să se utilizeze exact 4 tone de magneziu
Se cer:
a) Să se afle câte tone se vor fabrica din fiecare aliaj astfel
încât costul total de producţie să fie minim
b) Să se interpreteze valorile variabilelor de compensare,
preţurile umbră şi costurile reduse
c) Să se efectueze analiza senzitivă pentru coeficienţii din
funcţia obiectiv
63
d) O tonă din fiecare aliaj se poate vinde cu 30 um.
Formulaţi modelul matematic pentru determinarea planului de
producţie când profitul total este maxim. Şi în acest caz
răspundţi la întrebările a), b) şi c).
Soluţie
a) Se introduc variabilele de decizie xi= numărul de tone din
aliajul i, i=1, 2, 3 care se vor fabrica, pentru a obţine costul total
minim de producţie
Avem
f ( x ) = 18 x1 + 15 x2 + 9 x3 = MIN
1)0,03x1 + 0,02 x2 + 0,06 x3 ≤ 4
2)0,06 x1 + 0,03 x2 + 0,01x3 ≥ 3,5 xi ≥ 0 i = 1, 2,3
3)0,08 x + 0,03 x + 0,01x = 4
1 2 3
64
Forma modificată pentru metoda penalizărilor pentru
problema iniţială este:
f ( x ) = 18 x1 + 15 x2 + 9 x3 + Mx6a + Mx7a = MIN
1)0,03 x1 + 0,02 x2 + 0, 06 x3 + x4 = 4
2)0,06 x1 + 0,03 x2 + 0,01x3 − x5 + x6 = 3,5
a
3)0,08 x1 + 0, 03 x2 + 0,01x3 + x7 = 4
a
65
zk-ck 0 0 -4 0 -1100 -M+1100 -M-600
0 0 −4 − α 0 -1100 -M+1100 -M-600
În ultimul tabel simplex se introduc datele pe coloana cIII
şi se calculează o nouă linie zk-ck.
Din impunerea condiţiilor de optimalitate avem −4 − λ ≤ 0
deci λ ≥ −4 adică λ ∈ [ 4, ∞ ) . Atunci 9 + α are ca limită inferioară
5 iar limită superioara nu are; deci pentru 9 ∈ [5, ∞ ) soluţia optimă
a problemei iniţiale rămâne optimă.
Rezultatele obţinute din algoritmul simplex la care se
adaugă analiza senzitivă şi pentru ceilalţi doi coeficienţi, sunt:
Analiza senzitivă
Limita inferioară Valoarea originală Limita superioară
Nu are 18 40
6,75 15 27
5 9 Nu are
66
faptul că deşi costul 9 um pentru o tonă este cel mai mic dintre
cele trei, (celelalte erau 18 um/1 tonă şi 15 um/1 tonă) totuşi el
trebuie micşorat cu o cantitate egală cu costul său redus, deci să
devină 9 − 4 = 5 um pentru o tonă sau mai puţin pentru a putea
produce aliajul 3.
Valoarea totală minimă a costurilor este 1450 um.
b) Prima resursă, carbonul, nu este consumată în întregime.
Din cele 4 tone disponibile au rămas neutilizate 1,917 t. Celelalte
două resurse au fost consumate în întregime, deci sunt resurse
rare. Preţul umbră asociat nichelului este de 1100 pe o tonă, ceea
ce înseamnă că dacă ne-am afla în intervalul precizat de analiza
senzitivă pentru termenul liber 3,5 şi am dori să creştem cu o
unitate valoarea de 3,5, costul de producţie ar creşte cu 1100
um/1 tonă de nichel. Însă nu ne aflăm în intervalul dat de analiza
senzitivă pentru termeniiliberi din restricţii.
Se poate arăta că aceste intervale sunt
Limita inferioară Valoarea originală Limita superioară
2,08 4 Nu are
3 3,5 4
3,5 4 4,67
Creşterea permisă, pentru a nu modifica esenţial soluţia
optimă, este doar de 0,5 în plus sau în minus faţă de 3,5 şi
proprietatea menţionată a preţului umbră se păstrează numai în
acest interval, deci costul creşte corespunzător cu
sumplimentarea resursei până la 4 tone.
Pentru resursa a 3-a, magneziu, preţul umbră este egal cu
(-600) um pentru o tonă de magneziu deci dacă în loc de 4 tone
se folosesc mai multe, până în 4,67, costul total scade
corespunzător.
c) Analiza senzitivă pentru coeficientul 9 a fost indicată prin
9 ∈ [ 5, ∞ ) deci în acest interval se păstrează soluţia optimă, în
particular x3 = 0 .
67
Costul redus se poate obţine deci şi prin analiza senzitivă,
deoarece pentru a ieşi din interval avem să scădem costul cu 4
um pentru o tonă de carbon.
d) Deoarece o tonă din fiecare aliaj se poate vinde cu 30
um/1 tonă, profitul este respectiv
30 − 18 = 12 um pentru 1t de carbon
30 -15 = 15 um pentru 1t de nichel
30 - 9 = 21 um pentru 1t de magneziu
Modelul matematic al problemei de maxim este
f ( x ) = 12 x1 + 15 x2 + 21x3 = MAX
1)0,03 x1 + 0,02 x2 + 0,06 x3 ≤ 4
2)0,06 x1 + 0,03 x2 + 0,01x3 ≥ 3,5 x1 ≥ 0 , x2 ≥ 0 x3 ≥ 0
3)0,08 x + 0, 03 x + 0,01x = 4
1 2 3
68
iar Analiza senzitivă pentru termenii liberi din restricţii este:
Limita inferioară Valoarea originală Limita superioară
2,67 4 24
Nu are 3,5 4
3,5 4 6
cu interpretări similare.
Acum primul aliaj este nerentabil. Profitul său trebuie să
devină 12 + 21 = 33 um pentru 1 tonă din aliajul 1 pentru ca acesta
să poată fi rentabil, lucru ce rezultă şi din prima linie a analizei
senzitive.
Resursele 1 şi 3 sunt consumate în întregime.
La fiecare suplimentare cu 1 tonă din prima resursă, până
la 24 de tone (deci o suplimentare de 20 t), profitul creşte cu 600
um/t, iar la o suplimentare a resursei a 3-a cu o tonă (doar cu 2 t
este posibil), profitul creşte cu 600 um/1 tonă.
Valorile tuturor variabilelor de decizie şi de compensare
din soluţia optimă nu se schimbă dacă fiecare dintre coeficienţii
din funcţia obiectiv variază în intervalele date de analiza
senzitivă.
În plus dacă se impune fabricarea unei tone din aliajul 1,
adică se introduce şi restricţia x1 ≥ 1 atunci profitul total scade cu
valoarea costului redus, adică devine 2400 − 21 = 2379 um.
69
exemplu cu 500 de unităţi, sperând că beneficiul va creşte cu
10 ⋅ 500 = 5000 um, în cazul unei probleme de maxim.
Acest lucru nu este adevărat. Iniţial, când a rezultat un
anumit preţ umbră strict pozitiv, resursa respectivă era
consumată în întregime (resursă rară). Însă tot suplimentând
cantitatea disponibilă din resursă este posibil ca să nu mai fie
consumată în întregime, adică preţul său umbră să devină egal cu
zero ori să-şi schimbe valoarea. Avem următoarele două
proprietăţi:
1) Analiza senzitivă pentru termenii liberi din restricţii
conţine intervalele în care trebuie să se menţină
fiecare dintre aceşti termeni liberi pentru ca preţul
umbră asociat restricţiei (resursei) să rămână
nemodificat.
Această proprietate are loc atunci când se variază doar un
singur termen liber, ceilalţi rămânând la valorile iniţiale. Tot în
aceste condiţii, mai există încă o caracteristică:
2) Analiza senzitivă pentru termenii liberi din restricţii
stabileşte intervalele în care pot varia fiecare dintre
termenii liberi astfel încât baza din ultimul tabel
simplex să rămână neschimbată. Aceasta înseamnă că
în aceste intervale de variaţie, soluţia optimă conţine
aceleaşi variabile strict pozitive, eventual cu alte
valori.
Ambele proprietăţi menţionate sunt valabile doar pentru
soluţii optime nedegenerate.
Pentru aflarea acestor intervale, din problema iniţială se
obţin alte m probleme (m este numărul restricţiilor). În fiecare
dintre aceste probleme se variază pe rând câte un singur termen
liber, restul datelor fiind neschimbate.
Algoritmul simplex rezolvă simultan determinarea
soluţiei optime a problemei iniţiale şi analiza senzitivă pentru
termenii liberi din restricţii. Sunt necesare următoarele
modificări:
70
• Se introduc în plus un număr de m coloane ale
soluţiilor celor m probleme, pe lângă coloana P0 a
soluţiei problemei iniţiale
• După obţinerea soluţiei optime a problemei iniţiale
se impun condiţii de nenegativitate a soluţiei
optime pentru soluţia fiecăreia dintre cele m
probleme, aflată pe coloanele noi introduse.
Exemplu
O fabrică produce trei produse A, B, C folosind două
tipuri de materie primă M1 şi M2. Consumurile specifice din
resurse, cantităţile disponibile din resurse şi profiturile unitare
sunt date în tabel:
Consumuri specifice
Resurse Disponibil
A B C
Material 1 1 1 1 10
Material 2 2 3 1 18
Profit unitar 10 6 8
Datorită condiţiilor de vânzare, cantitatea fabricată din
produsul B trebuie să fie cel mult un sfert din întreaga producţie.
Se cer:
a) Planul de producţie pentri obţinerea profitului total
maxim
b) Analiza senzitivă pentru termenii liberi din restricţiile ce
se referă la utilizarea materialelor
c) Dacă se poate suplimenta doar unul dintre cele două
material, care din ele se va suplimenta? Cu ce cantitate? Care
este profitul total maxim şi care este planul de producţie?
71
Soluţie
Se notează variabilele de decizie cu
x1 = numarul de produse A care se vor fabrica
x2 = numarul de produse B care se vor fabrica
x = numarul de produse C care se vor fabrica
3
Modelul matematic este pentru problema iniţială:
f ( x ) = 10 x1 + 6 x2 + 8 x3 = MAX
1) x1 + x2 + x3 ≤ 10, pentru materialul 1
2)2 x1 + 3x2 + x3 ≤ 18, pentru materialul 2 x1 ≥ 0 , x2 ≥ 0 x3 ≥ 0
1
3) x2 ≤ ( x1 + x2 + x3 ) , vanzare
4
Restricţiile trebuie aduse la forma standard.
Pentru a treia restricţie avem
4x2 ≤ x1 + x2 + x3
deci
− x1 + 3x2 − x3 ≤ 0
Cele trei probleme pentru efectuarea analizei senzitive
sunt:
I. f ( x ) = 10 x1 + 6 x2 + 8 x3 = MAX
x1 + x2 + x3 ≤ 10 + λ
2 x1 + 3 x2 + x3 ≤ 18 , xi ≥ 0 i = 1,3
− x + 3 x − x ≤ 0
1 2 3
II. f ( x ) = 10 x1 + 6 x2 + 8 x3 = MAX
x1 + x2 + x3 ≤ 10
2 x1 + 3 x2 + x3 ≤ 18 + λ xi ≥ 0 i = 1,3
− x + 3x − x ≤ 0
1 2 3
III. f ( x ) = 10 x1 + 6 x2 + 8 x3 = MAX
x1 + x2 + x3 ≤ 10
2 x1 + 3x2 + x3 ≤ 18 xi ≥ 0 i = 1, 2,3
− x + 3x − x ≤ λ
1 2 3
72
unde λ este un parametru, λ ∈ R .
Aducerea la forma standard a problemei iniţiale se obţine
prin adunarea unor variabile de compensare:
f ( x ) = 10 x1 + 6 x2 + 8 x3 = MAX
x1 + x2 + x3 + x4 = 10
2 x1 + 3x2 + x3 + x5 = 18 xi ≥ 0 i = 1,6
− x + 3x − x + x = 0
1 2 3 6
73
max f = 96
Variabile de compensare Preţ umbră
1) 0 6
2) 0 2
3) 10 0
Avem următoarele interpretări:
Se vor fabrica 8 produse A şi 2 produse C. Produsul B nu
se fabrică. Pentru a putea deveni rentabilă fabricarea lui, profitul
său trebuie să crească de la 6 um la 12 um ori mai mult.
Valoarea maximă a profitului este de 96 um.
Ambele materiale sunt resurse rare şi au respectiv preţul
umbră de 6 um pentru o unitate din materialul 1 şi 2 um pentru o
unitate din al doilea material.
b) Soluţia optimă a problemei I, citită pe coloana PI(λ) este:
x1 = 8 − λ
x = 0
2
x3 = 2 + 2λ
x4 = 0
x5 = 0
x6 = 10 + λ
max f = 10 ( 8 − λ ) + 6 ⋅ 0 + 8 ( 2 + 2λ ) = 96 + 6λ , λ ∈ R
Însă aceasta constituie soluţia optimă dacă are
componentele nenegative: 8 − λ ≥ 0 , 2 + 2λ ≥ 0 , 10 + λ ≥ 0
Din acestea rezultă λ ≤ 8 , λ ≥ −1 , λ ≥ −10 .
Deci λ ∈ [ −1,8] . Atunci termenul liber din prima restricţie
a problemei I, care era 10 + λ va avea limita inferioară
10 + ( −1) = 9 iar limita superioară 10 + 8 = 18 .
Soluţia optimă a problemei II, citită pe coloana PII(λ) este:
74
x1 = 8 + λ
x = 0
2
x3 = 2 − λ
x4 = 0
x5 = 0
x6 = 10
iar
max f = 10 ( 8 + λ ) + 6 ⋅ 0 + ( 2 − λ ) ⋅ 8 = 96 + 2λ
Însă trebuie îndeplinită condiţia de nenegativitate a
soluţiei:
8 + λ ≥ 0, 2 − λ ≥ 0
De aici rezultă λ ≥ −8 şi λ ≤ 2 adică λ ∈ [ −8, 2]
Atunci termenul liber din restricţia a 2-a, care corespunde
problemei II, era 18 + λ şi va avea limita inferioară egală cu
18 − 8 = 10 iar limita superioară egală cu 18 + 2 = 20 .
Analiza senzitivă pentru termenii liberi din restricţii este:
75
Deci suplimentam cu 8 unităţi disponibilul şi avem
max f = 96 + 6 ⋅ 8 = 144 um .
Pentru resursa a 2-a, preţul umbră este de 2 um pentru o
unitate din materialul al doilea, din analiza senzitivă se vede că
acest preţ umbră este valabil numai pentru o creştere de la 18 la
20, deci doar cu 2 unităţi de material şi deci
f ( x ) = 96 + 2λ = 96 + 2 ⋅ 2 = 100 um
În concluzie se va suplimenta doar materialul I, cu 8
unităţi. Soluţia optimă va fi: ( λ = 8 )
x1 = 0
x = 0
2
x3 = 18
x4 = 0
x5 = 0
x6 = 18
max f = 144 um
76
probleme dar găsită prin algoritmul simplex în + . Uneori, prin
rotunjirea unei soluţii aflate în + se poate obţine o „soluţia”
care nu verifică restricţiile, deci care nu este nici măcar o soluţie
adminisibilă.
Pentru determinarea soluţiei optime în numere întregi
avem o programare discretă în sensul că, de exemplu, la metoda
grafică, soluţia optimă este calculată în punctele discrete, din
interiorul ariei admisibile, care au coordonatele numere întregi.
Printre metodele de aflare a soluţiei în numere întregi
nenegative avem:
• metoda „Ramifică şi mărgineşte” („Branch and
Bound”) utilizată de obicei şi în programarea pe
calculator;
• metoda datorată lui R. Gomory;
Ambele metode pot folosi algoritmul simplex în care, la
modelul iniţial, se adaugă restricţii noi, obţinându-se un şir de
probleme, până se se determină soluţia optimă în + ori până se
află că problema nu are soluţie.
Tot în + se caută soluţia optimă la unele probleme la
care răspunsul trebuie ales între „da” şi „nu”. În acest caz
mulţimea soluţiilor este mulţimea {0,1} unde cifra „0” indică
„nu” iar cifra „1” indică „da”.
77
METODA „RAMIFICĂ ŞI MĂRGINEŞTE”
78
Soluţia optimă este acea soluţie admisibilă care conferă
funcţiei obiectiv valoarea cea mai mare la problemele de maxim
ori cea mai mică la problemele de minim. Algoritmul se opreşte
atunci când se găseşte soluţia optimă în + , dacă există.
Exemplu
Să se determine soluţia optimă în numere întregi şi
pozitive pentru problema:
f ( x ) = 6 x1 + 5 x2 = max
2 x1 + 5 x2 ≤ 20
2 x1 + x2 ≤ 6
x1 , x2 ∈ +
Soluţie
Se aplică algoritmul simplex pentru această problemă I şi
se aplică soluţia optimă, în + :
x1 = 1, 25 , x2 = 3,5 , max f = 25
Însă aceasta nu este soluţia căutată în + . Prin rotunjirea
valorilor ar rezulta:
a) x1 = 1 , x2 = 3 , max f = 6 ⋅1 + 5 ⋅ 3 = 21 , dar aceasta nu este
soluţia optimă, fie
b) x1 = 1 , x2 = 4 care însă nu poate fi soluţia deoarece nu
verifică prima restricţie: 2 ⋅1 + 5 ⋅ 4 = 22 < 20 , încât soluţia nu este
nici măcar admisibilă.
Din problema I rezultă alte două probleme: Deoarece
x2 = 3,5 ∈ ( 3, 4 ) iar în intervalul deschis ( 3, 4 ) nu există nici un
număr întreg, soluţia trebuie căutată în afara acestui interval.
Există două posibilităţi: x2 ≤ 3 sau x2 ≥ 4 . De aici rezultă
problema II:
79
Problema II
f ( x ) = 6 x1 + 5 x2 = max
2 x1 + 5 x2 ≤ 20
2 x1 + x2 ≤ 6
x ≤ 3
2
Cu soluţia optimă determinată prin algoiritmul simplex
x1 = 1,5 , x2 = 3 , max f = 24
Problema III
f ( x ) = 6 x1 + 5 x2 = max
2 x1 + 5 x2 ≤ 20
2 x1 + x2 ≤ 6
x ≥ 4
2
Cu soluţia optimă x1 = 0 , x2 = 4 , max f = 20
Aceasta este o soluţie admisibilă deoarece are
componentele numere întregi dar poate să nu fie soluţia optimă.
Trebuie cercetate anumite ramuri acele problemei II în care
x1 = 1,5 ∈ (1, 2 ) . De aici rezultă că x1 se află în afara intervalului
(1, 2 ) adică x1 ≤ 1 sau x1 ≥ 2 . Rezultă problema IV sau V.
Problema IV
f ( x ) = 6 x1 + 5 x2 = max
2 x1 + 5 x2 ≤ 20
2 x + x ≤ 6
1 2
x2 ≤ 3
x1 ≤ 1
Cu soluţia optimă admisibilă în + , x1 = 1 , x2 = 3 , max f = 21
80
Problema V
f ( x ) = 6 x1 + 5 x2 = max
2 x1 + 5 x2 ≤ 20
2 x + x ≤ 6
1 2
x2 ≤ 3
x1 ≥ 2
Cu soluţia optimă admisibilă în + , x1 = 2 , x2 = 2 , max f = 22
81
Problema IV
x1 = 1
x2 = 3
Problema II x1 ≤ 1
max f = 21
x1 = 1,5
x2 ≤ 3 x2 = 3
Problema I max f = 24 Problema V
x1 = 1, 25 x1 = 2
x1 ≤ 2
x2 = 3,5 x2 = 2
max f = 25 max f = 22
Problema III
x2 ≥ 4 x1 = 0
x2 = 4
max f = 20
82
Rezultă şi în acest caz că soluţia optimă căutată este cea
de la problema 3.
Pentru problema de minim se procedează similar.
Problema optimizării transportului mai multor mărfuri de
valoare, masă şi volum diferite se evidenţiată prin problema
rucsacului.
Valoare Bucăţi
Obiect Masa (kg)
(unităţi monetare) disponibile
1 2 8 5
2 4 9 4
3 1 3 7
4 3 7 8
Soluţie
Notăm cu xi - numărul de obiecte i de fiecare tip ce vor fi
încărcate în rucsac, i = 1, 2,3, 4 .
a) modelul matematic este:
83
f ( x ) = 8 x1 + 9 x2 + 3 x3 + 7 x4 = max
2 x1 + 4 x2 + 1x3 + 3 x4 ≤ 20
x ≤ 5
1
x2 ≤ 4
x ≤ 7
3
x4 ≤ 8
xi ∈ + , i = 1, 4
soluţia optimă este: x1 = 5, x2 = 0, x3 = 7, x4 = 1, max f = 68
84
Un alt exemplu în care se cere soluţia optimă în numere
întregi nenegative este o problemă în care se cere planul de
producţie a unor produse indivizibile. Se va arăta încă odată că
soluţia optimă în numere întregi nu poate fi obţinută prin
rotunjirea valorilor variabilelor din soluţia optimă obţinută în
+ , cu algoritmul simplex.
Exemplu
O întreprindere poate fabrica patru produse: A, B, C şi D
folosind 3 resurse, conform tabelului:
R1 – materie primă (kg)
R2 – manoperă directă pe maşină (ore)
R3 - manoperă cu finisarea (ore)
Profitul unitar se măsoară în unităţi monetare
Consum specific
Resursa Disponibil
A B C D
R1 10 15 3 5 100
R2 3 2 7 5 90
R3 2 2 2 2 30
Profit unitar 18 22 8 10
85
xi ≥ 0, xi ∈ + , i = 1, 4
Prin aplicarea algoritmului simplex rezultă soluţia optimă:
x1 = 7,857 bucăţi; x2 = 0 bucăţi; x3 = 7,143 bucăţi; x4 = 0
bucăţi; max f = 198,575 unităţi monetare
86
c) să se verifice dacă există soluţii optime alternative şi
dacă da, care sunt acestea. Care este cea mai
convenabilă soluţie?
Introducem variabilele de decizii reprezentate de numărul de
şoferi care încep lucrul în fiecare zi a săptămânii:
x1 este numărul de şoferi care încep lucrul luni
x2 este numărul de şoferi care încep lucrul marţi
x3 este numărul de şoferi care încep lucrul miercuri
x4 este numărul de şoferi care încep lucrul joi
x5 este numărul de şoferi care încep lucrul vineri
x6 este numărul de şoferi care încep lucrul sâmbătă
x7 este numărul de şoferi care încep lucrul duminică
87
zilnic întreprinderii de transport public de persoane, se verifică
restricţiile:
1) 3+3+0+0+4=10
2) 3+5+0+0+4=12
3) 3+5+1+0+4=13
4) 3+5+1+3+4=16>14
5) 3+5+1+3+0=12
6) 5+1+3+0+0=9
7) 1+3+0+0+4=8
Se constată că numai în ziua de joi există doi şoferi ce pot fi
redistribuiţi altor activităţi.
c) Soluţii alternative
xI = ( 3 5 1 1 2 0 4 ) min f = 16
T
xII = ( 5 3 3 1 2 0 2 ) min f = 16
T
xIII = ( 3 5 1 3 0 2 2 ) min f = 16
T
xIV = ( 3 3 3 1 2 0 4 ) min f = 16
T
Exemplu
Datorită unei conjuncturi favorabile a pieţei, o
întreprindere de prelucrări mecanice se confruntă la un moment
dat cu o supraîncărcare a capacităţii de producţie, motiv pentru
88
care decide ca operaţiile unor loturi de fabricaţie pentru axe cu
diametre mici (strunjire, frezare, rectificare dantură, cementare)
să fie externalizate către alţi producători. Patru firme
Fi , i = 1, 2,3, 4 pot executa imediat oricare dintre operaţiile
aferente loturilor în cauză Pj , j = 1, 2,3, 4 dar costul de execuţie în
care fiecărei întreprinderi Fi care poate executa lotul de piese Pj
este diferit, conform tabelului:
Soluţie
Deoarece fiecare firmă poate executa o singură operaţie
(da) iar pe celelalte nu le execută, se introduc variabilele de
decizie în binar:
1, Fi executa lotul de piese Pj
xi , j
0, Fi nu executa piesa Pj
Pentru formarea modeluluzi matematic este mai simplu să se
introducă necunoscutele în tabel:
P1 P2 P3 P4
F1 x11 x12 x13 x14
F2 x21 x22 x23 x24
F3 x31 x32 x33 x34
F4 x41 x42 x43 x44
89
Modelul matematic este:
Costul total de execuţie:
f ( x ) = 10 x11 + 12 x12 + 11x13 + 12 x14 + 10 x21 + 11x22 + 10 x23 + 12 x24 +
+ 11x31 + 12 x32 + 11x33 + 11x34 + 10 x41 + 11x42 + 11x43 + 12 x44 = min
Restricţiile:
Primele 4 restricţii vor arăta că fiecare firmă trebuie să
execute o anumită operaţie la un lot de piese iar următoarele 4
restricţii indică faptul că toate cele 4 operaţii trebuie executate.
1) x11 + x12 + x13 + x14 = 1
2) x21 + x22 + x23 + x24 = 1
3) x31 + x32 + x33 + x34 = 1
4) x41 + x42 + x43 + x44 = 1
5) x11 + x21 + x31 + x41 = 1
6) x12 + x22 + x32 + x42 = 1
7) x13 + x23 + x33 + x43 = 1
8) x14 + x24 + x34 + x44 = 1
90
În concluzie firma F1execută operaţia 1, firma F2 execută
operaţia 3, firma F3 execută operaţia 4 iar firma F4 execută
operaţia 2. Costul total minim este:
10 ⋅1 + 10 ⋅1 + 11 ⋅1 + 11 ⋅1 = 42 unităţi monetare.
Astfel de exemple se vor mai întâlni şi în cazul problemelor de
repartiţie.
PROGRAMARE MULTICRITERIALĂ
91
2. în programarea lineară, odatăp cu soluţia optimă (adică
valoarea variabilelor de decizie) se obţine şi valoarea
optimă a funcţiei obiectiv, adică rezultă care este, de
exemplu, valoarea maximă a profitului ori nivelul minim
al costurilor; în cadrul programării multicriteriale există o
evaluare numerică pentru fiecare obiectiv. De exemplu,
directorul are ca prim obiectiv obţinerea unui profit brut
de 2 de milioane unităţi monetare lunar. Acest obiectiv
poate fi realizat sau nu;
3. În programarea multicriterială, odată cu soluţia optimă, se
obţin şi valorile deviaţiilor de la realizarea obiectivelor
propuse, adică se specifică măsura în care obiectivele au
fost realizate. În programarea multicriterială nu se poune
această problemă deoarece valoarea optimă a funcţiei
obiectivc rezultă odată cu soluţia optimă.
Pentru exemplificarea etapelor de constuire a modelului
matematic în programarea multicriterială şi pentru a evidenţia
diferenţele dintre programarea lineară şi programarea
multicriterială se consideră următorul exemplu:
Exemplu
O întreprindere poate fabrica trei produse A, B şi C
folosind trei resurse:
- R1 reprezintă kilograme (kg) de materie primă;
- R2 reprezintă ore de manoperă directă;
- R3 reprezintă unităţi monetare (u.m.) disponibile pentru
achiziţia de materie primă investiţii.
Consumurile specifice şi profiturile unitare (brute) pentru
cele trei produse sunt prezentate în tabelul de mai jos:
A B C
R1 (kg) 3 5 4
R2 (ore) 0,4 0,5 0,3
R3 (u.m.) 0,7 0,5 0,8
Profit 5 4 6
92
Faţă de cele de mai sus mai trebuie satisfăcute şi
următoarele condiţii:
să se utilizeze cel mult 500 kg de materie primă;
să se utilizeze cel puţin 42 de ore de manoperă
directă;
costul materiei prime să nu depăşească 60 de untăţi
monetare.
Se cere:
a) să se determine planul optim de producţie utilizând
modelul de programare lineară şi să de termine profitul
total maxim, utilizând modelul de programare lineară;
b) să se determine planul optim de producţie şi modul de
satisfacere a următoarelor obiective, folosind modelul de
programare multicriterială:
O1: să obţină un profit total brut de cel puţin 500 de
unităţi monetare;
O2: să utilizeze exact 50 de ore de manoperă;
O3: să nu cheltuie mai mult de 55 de unităţi monetare
cu materia primă necesară producţiei.
Se consideră că toate obiectivele au ponderi şi priorităţi
egale;
c) să se determine soluţia optimă dacă produsele sunt
indivizibile
d) să se determine soluţia optimă dacă bugetul alocat
procurării de materii prime este de 55 de unităţi monetare.
93
f ( x ) = 5 x1 + 4 x2 + 6 x3 = max
1) 3 x1 + 5 x2 + 4 x3 ≤ 500
2 ) 0, 4 x1 + 0,5 x2 + 0,3 x3 ≥ 42
3) 0,7x1 + 0,5 x2 + 0,8 x3 ≤ 60
Soluţia optimă şi profitul brut maxim care se obţine este
prezentat în tabel:
Variabile de decizie Cost redus
x1= 0 -0,2
x2=80 0
x3=25 0
max f = 470
94
2) se va obţine un profit de exact 500 de unităţi
monetare;
3) se va obţine un profit mai mic de 500 de unităţi
monetare;
Pentru a pune în evidenţă aceste trei situaţii se introduce o
variabilă, numită variabilă deviaţională, de la obiectivul 1,
adică:
5 x1 + 4 x2 + 6 x3 − 500 = d1
95
Mărimile d1+ şi d1− din substituţie se numesc tot variabilke
deviaţionale de la obiectivul profit şi apar în situaţiile care dau şi
semnificaţiile acestor variabile.
1) d1+ > 0; d1− = 0 , rezultă d1 > 0 . Profitul este mai mare de
500 de unităţi monetare cu d1+ ;
2) d1+ = 0; d1− = 0 , rezultă d1 = 0 . Profitul este exact de
500 de unităţi monetare;
3) d1+ = 0; d1− > 0 , rezultă d1 < 0 . Profitul este mai mic de
500 de unităţi monetare cu d1− .
În concluzie, d1+ şi d1− sunt variabile deviaţionalede la
obiectivul profit, prin adaos sau prin liupsă. Similar se
procedează cu celelalte două obiective.
Iniţial, pentru cele trei obiective aveam relaţiile:
O1: 5 x1 + 4 x2 + 6 x3 ≥ 500
O2: 0, 4 x1 + 0,5 x2 + 0,3x3 = 500
O3: 0, 7 x1 + 0,5 x2 + 0,8 x3 ≤ 55
Iar prin introducerea unor perechi de variabile deviaţionale şi
transformarea relaţiilor în ecuaţii, acestea devin:
5 x1 + 4 x2 + 6 x3 + d1− − d1+ = 500
− +
0, 4 x1 + 0,5 x2 + 0,3 x3 + d 2 − d 2 = 50
− +
0, 7 x1 + 0,5 x2 + 0,8 x3 + d 3 − d 3 = 55
Unde:
d1− arata cu ce valoare nu s-a realizat obiectivul de profit de 500 u.m.
+
d1 arata cu ce valoare s-a depasit obiectivul de profit de 500 u.m.
96
d 2 − arata cu ce valoare nu s-a realizat obiectivul de manopera de 50 ore
+
d 2 arata cu ce valoare s-a depasit obiectivul de manopera de 50 ore
d3− arata cu ce valoare nu s-a realizat obiectivul de buget de 50 ore
+
d3 arata cu ce valoare s-a depasit bugetul pentru achitia de materie prima de 55 u.m
97
3x1 + 5 x2 + 4 x3 ≤ 500 (kg material)
4. Condiţiile de nenegativitate:
xi ≥ 0, i = 1, 2,3
d1+ ≥ 0, d1− ≥ 0 , i = 1, 2, 3
Soluţia acesteiu probleme este dată de valorile variabilelor de
decizie xi, care dau planul de producţie şi valorile variabilelor
deviaţionale di + şi di − , i = 1, 2,3 care arată modul de satisfacere a
obiectivelor:
x1 = 18,519
x2 = 74,074
x3 = 18,519
d1+ = 0; d1− = 0 , profitul este de exact 500 unităţi
monetare;
d 2 + = 0; d 2 − = 0 , s-au realizat exact 50 de ore
manoperă;
d3− = 0; d3+ = 9,815 , este necesară depăşirea
bugetului pentru cumpărarea de materii prime cu
9,815 unităţi monetare peste cele 55 unităţi
monetare alocate;
98
x1 = 18, x 2 = 74, x 3 = 19
+ −
d1 = 0; d1 = 0 , profitul este de exact 500 unitati monetare
+ −
d 2 = 0; d 2 = 0,1 se folosesc cu 0,1 mai putine ore decat cele 50
− +
d 3 = 0; d3 = 9,8 este necesar depasirea bugetului de materii prime cu
9,8 u.m. fata de cele 55 u.m. bugetate
99
MODELUL MATEMATIC
100
di − arata cu ce cantitate obiectivul nu a fost realizat prin adaos
+
di arata cu ce cantitate obiectivul nu a fost realizat prin lipsa
Se observă că modelul matematic în programarea
multicriterială pentru exprimarea unui obiectiv conţine două
operaţii:
1) se adaogă o pereche de variabile deviaţionale în
fiecare relaţie ce exprimă un obiectiv, adică:
di - − d i + , i = 1, k ;
2) toate relaţiile ce exprimă obiectivele sunt exprimate
prin egalităţi (sunt ecuaţii).
Cu aceste transformări relaţiile ce exprimă obiectivele pot
fi privite ca restricţii în care variabilele deviaţionale au rolul
variabilelor de compensare.
Pentru modelul matematic mai este necesară formularea
unei funcţii obiectiv. Funcţia obiectiv minimizează suma
variabilelor deviaţionale care deranjează, înmulţite eventual cu
ponderi şi priorităţi. Menţionăm următoarele aspecte asupra
variabilelor deviaţionale care intră în funcţia obiectiv:
• Dacă relaţia iniţială ce exprimă obiectivul i conţine
inegalitatea „ ≤ ” (de exemplu bugetul alocat este ≤ 55 unităţi
monetare), atunci variabila deviaţională care va intra în
funcţia obiectiv este di + (care explimă un buget disponibil
mai mare de 55 u.m.), în timp ce di − este acceptată întrucât
este convenabilă (ea indicând un buget mai mic de 55 u.m.);
• Dacă relaţia iniţială care exprimă obiectivul i are semnul
„=”, atunci în funcţia obiectiv vor intra ambele variabile
deviaţionale di − şi di + . De exemplu, dacă se cere utilizarea
integrală a forşei de muncă, atât folosirea unor persoane în
plus cât şi neutilizarea tuturor celor disponibile n u este
acceptabilă;
101
• Dacă relaţia iniţială care exprimă obiectivul are semnul ” ≥ ”
atunci, în funcţie de obiectiv, va intra numai di − . De exemplu
obiectivul este obţinerea unui profit mai ≥ 10.000 u.m.
Rezultă că, dacă obiectivele au ponderi şi priorităţi egale
(cu 1) atunci funcţia obiectiv care minimizează suma deviaţiilor
care deranjează este:
min ∑ (d i + + d i− )
k
i =1
În cazul general obiectivele pot fi caracterizate de ponderi
şi priorităţi, care sunt coeficienţi ai variabilelor deviaţionale din
funcţia obiectiv.
a) Ponderi (weight) Wi , i = 1, k (coeficienţi care exprimă
importanţa relativă a obiectivelor). Obiectivul cel mai
importanţi, în raport cu ceilalţi. Are ponderea cea mai
mare iar obiectivele mai puţin importante au ponderea
mai redusă.
b) Priorităţile Pi , i = 1, k . Aceasta înseamnă că trebuie să
fie satisfăcut mai întâi obiectivul care are prioritatea 1
şi apoi obiectivul care are prioritatea 2, etc.
Ponderile şi priorităţile pot fi definite chiar şi pentru acelaşi
obiectiv i căruia i s-au asociat variabilele deviaţionale
di + (respectiv Wi + şi Pi + ) şi di − (respectiv Wi − şi Pi − ).
În concluzie, forma cea mai generală a modelului
matematic în programarea multicriterială este:
• Funcţia obiectiv:
k
min ∑ ( Pi +Wi + di+ + Pi −Wi − di− )
i =1
• Obiectivele:
c11 x1 + c12 x2 + ... + c1n xn +d1- + d1+ = g1
...
c x + c x + ... + c x +d - + d + = g
k1 1 k 2 2 kn n k k k
102
• Restricţiile obişnuite:
a11 x1 + a12 x2 + ... + a1n xn (<, =, >)b1
...
a x + c x + ... + c x (<, =, >)b
m1 1 m 2 2 mn n m
• Condiţii de nenegativitate:
xi ≥ 0, i = 1, n , di + ≥ 0, i = 1, k , di − ≥ 0, i = 1, k
După determinarea soluţiei optime, adică a variabilelor de
decizie şi a variabilelor deviaţionale, care arată modul în care au
fost îndeplinite sau nu obiectivele, urmează interpretarea şi
analiza rezultatelor de către management.
Modelul iniţial poate fi modificat prin introducerea unor
restricţii suplimentare, a ponderilor şi priorităţilor, până ce se
obţine o soluţie optimă care să corespundă cel mai bine situaţiei
analizate de către manageri.
În exemplul următor se va obţine o altă soluţie optimă
folosind imnportnaţa relativă a obiectivelor, adică ponderile.
Exemplu
O firmă fabrică doua produse A şi B utilizând două resurse
R1 şi R2 . Consumurile specifice şi profiturile unitare sunt
prezentate în tabel:
Consumuri specifice
Resurse Disponibil
A B
R1 1 2 40
R2 1 1 30
Profit unitar 45 30
103
O3: să producă cel puţin 15 bucăţi produse B.
Rezolvare:
Se introduc mai întâi variabilele de decizii care vor
determina planul de producţie:
x1 reprezintă numărul de produse A care se vor fabrica;
x2 reprezintă numărul de produse B care se vor fabrica.
Iniţial obiectivele au următoare formulare:
O1: 45 x1 + 30 x2 ≥ 720
O2: x1 ≥ 15
O3: x2 ≥ 15
Iar restricţiile sunt:
x1 + 2 x2 ≤ 40
x1 + x2 ≤ 30
Condiţiile de nenegativitate
x1 ≥ 0, x2 ≥ 0
104
Funcţia obiectiv:
min ( d1− + d 2− + d3− )
Obiectivele:
45 x1 + 30 x2 + d1− − d1+ = 720
x1 + d 2− − d 2+ = 15
x2 + d 3− − d3+ = 15
Iar restricţiile sunt:
x1 + 2 x2 ≤ 40
x1 + x2 ≤ 30
Condiţiile de nenegativitate
x1 ≥ 0, x2 ≥ 0, di + ≥ 0, di − ≥ 0, i = 1, 2,3 .
Soluţia optimă a acestei probleme este:
x1 = 15 , adică se vor fabrica 15 bucăţi produse A;
x2 = 12,5 , adică se vor fabrica 12,5 bucăţi produse B;
d1− = 0, d1+ = 330 , obiectivul profit a fost îndeplinit prin
adaos, adică în loc de 720 u.m. se pot obţine
720 + 330 = 1050 u.m.;
d 2− = 0, d 2+ = 0 , deci obiectivul 2 este îndeplinit, se fabrică
exact 15 produse A;
d3− = 2.5, d 3+ = 0 , obiectivul 3 nu este îndeplinit: se vor
produce cu 2.5 produse B mai puţin decât era prevăzut, deci doar
12.5.
Observaţie: Dacă soluţia în numere reale nenegative nu
este satisfăcută deoarece produsele sunt indivizibile, se caută
soluţia în numere întregi nenegative. Aceasta este:
x1 = 15; x2 = 12;
d1− = 0; d1+ = 315;
d 2− = 0; d 2+ = 0;
d3− = 3; d 3+ = 0.
105
b) Modelul matematic în acest caz schimbă doar expresia
funcţiei obiectiv, deoarece în acest caz avem w3 = 5, P3 = 1,
restul ponderilor şi priorităţilor rămânând la fel. Deci:
min ( d1− + d 2− + 5 ⋅ d 3− )
45 x1 + 30 x2 + d1− − d1+ = 720
x1 +d 2− − d 2+ = 15
x2 + + d 3− − d3+ = 15
x + 2x ≤ 40
1 2
x1 + x2 ≤ 30
x1 ≥ 0, x2 ≥ 0, di + ≥ 0, di − ≥ 0, i = 1, 2,3 .
Soluţia optimă în acest caz este:
x1 = 10 , adică se vor fabrica 10 bucăţi produse A;
x2 = 15 , adică se vor fabrica 15 bucăţi produse B, deci
contractul se poate onora, obiectivul 3 fiint îndeplinit;
d1− = 0, d1+ = 180 , se obţine un profit mai mare cu 180 u.m.
decât cel prevăzut;
d 2− = 5, d 2+ = 0 , deci obiectivul 2 nu este îndeplinit, se
fabrică cu 5 produse A mai puţine decât era prevăzut;
d3− = 0, d 3+ = 0 , obiectivul 3 este îndeplinit.
106
PROBLEME DE TRANSPORT ŞI PROBLEME DE
REPARTIŢIE
PROBLEME DE TRANSPORT
107
3. Costul de transport pentru o unitate de produs, de
la fiecare depozit Di la fiecare centru de desfacere
Cj este ci (um), i = 1, n ; j = 1, m .
j
108
Centre de desfacere
Depozite Cantităţi
(destinatari)
(surse) C1 C2 Cn
disponibile
D1 c11
x11 c12
x12 ... c1 n
x1n a1
D2 c21
x21 c22
x22 ... c2 n
x2 n a2
cm1 cm 2
xm1 xm 2
Dm ... cmn
xmn am
Cantităţi
necesare b1 b2 ... bn
(cerere)
∑ a = ∑b
i =1
i
j =1
j
∑ ai < ∑ b j
i =1 j =1
∑a
i =1
i + am +1 = ∑ b j
j =1
109
Dm +1 nu există, costurile de transport de la Dm +1 la oricare centru
Cj sunt egale cu zero. Această linie are aspectul:
∑ a > ∑b
i =1
i
j =1
j
∑ ai > ∑ b j + bn+1
i =1 j =1
110
Modelul matematic pentru o problemă de transport
echilibrată, în care:
m n
∑ a = ∑b
i =1
i
j =1
j
• Restricţiile problemei:
Primele m arată că se transportă toată cantitatea de
produs aflată în depozite
x11 + x12 + ... + x1n = b1
x21 + x22 + ... + x2 n = b2
...
xm1 + xm 2 + ... + xmn = bm
Următoarele n restricţii arată că fiecare centru
primeşte cantitatea necesară de la cele m depozite:
x11 + x21 + ... + xm1 = b1
x12 + x22 + ... + xm 2 = b2
...
x1n + x2 n + ... + xmn = bn
Avem deci un număr de m + n restricţii.
• Condiţiile de nenegativitate
xij ≥ 0 i = 1, m , j = 1, n
Se ştie că o problemă de programare liniară are cel mult
un număr de componente strict pozitive în soluţie egal cu rangul
matricei A al coeficienţilor.
111
Deşi aici numărul de restricţii este m + n , cel puţin una
dintre restricţii este o combinaţie liniară a celorlalte, deci sunt
independente cel mult m + n − 1 .
Rezultă că o soluţie admisibilă conţine cel mult un număr
de m + n − 1 componente strict pozitive.
Se poate arăta că orice problemă de transport admite
soluţie. Rezultă că cele m + n − 1 ecuaţii reprezentate de restricţii
formează totdeauna un sistem compatibil. O astfel de soluţie care
nu este neapărat optimă este, de exemplu:
ai b j
xij = m
(problemă echilibrată)
∑a
i =1
i
112
Pentru aflarea soluţiei de pornire se procedează în felul
următor:
a) Se determină elementul xij din tabel, prin
ai , daca ai < b j
xij = min ( ai , b j ) = b j , daca ai > b j
ai = b j , daca ai = b j
b) Se efectuează următoarele două înlocuiri
ai se inlocuieste cu ai − xij
b j se inlocuieste cu b j − xij
c) Se punctează o linie sau o coloană:
• linia i dacă xij = ai
• coloana j dacă xij = b j
• se punctează sau linia i sau coloana j dacă
xij = ai = b j
Punctele au semnificaţia cifrei 0. Cifra zero nu se
foloseşte decât dacă xij = 0 , adică există o soluţie degenerată cu
mai puţin de m + n − 1 componente strict pozitive.
Elementele soluţiei de pornire xij se pot determina într-o
anumită ordine şi anume:
• Metoda colţului de nord-vest, când se află de
fiecare dată elementul xij situat în tabel în colţul N-
V; apoi după ce se punctează linia şi coloana, se
determină în tabelul rămas, din nou elementul din
colţul N-V, etc.
• Metoda costului minim din tabel.
Se determină mai întâi elementul xij căruia îi corespunde
în tabel costul cij cel mai mic din tabel. În tabelul rămas după
punctare se află, din nou, elementul xij căruia îi corespunde cel
mai mic cost etc.
113
• Metoda costului minim pe linie
• Metoda costului minim pe coloană
La probleme de minim, soluţia de pornire cea mai bună,
în sensul că valoarea costului total ce corespunde acestei soluţii
este mai mică, se obţine aplicând metoda costului minim din
tabel. Dar această soluţie de pornire nu este neapărat soluţia
optimă.
Cele menţionate mai sus pot fi aplicate în următorul caz:
Exemplu
O companie fabrică un anumit produs în patru secţii ale
sale Si , i = 1, 4 . Produsul este transportat în 4 depozite Di , i = 1, 4 .
Costurile de transport pentru o unitate de produs, capacităţile de
producţie ale secţiilor şi capacităţile depozitelor sunt date în
tabel:
D1 D2 D3 D4 Producţie
S1 3 4 2 8 40
S2 3 6 5 7 20
S3 6 5 7 6 35
S4 2 4 5 6 10
Capacitatea 36 18 27 24
Să se determine planul de transport de la secţii la depozite
astfel încât să se obţină un cost total minim.
Soluţie
a) Aflăm soluţia optimă prin programare liniară
• Se verifică echilibrarea:
40 + 20 + 35 + 10 = 36 + 18 + 27 + 24 = 105
• Se introduc variabilele de decizie xij care arată ce
cantităţi vor fi transportate de la sursele Si (care
sunt secţiile) la destinatarii D j (care sunt
depozitele).
114
Deoarece problema este echilibrată, toată marfa de la
secţii va fi transportată în depozite, pentru care se va utiliza
întreaga capacitate.
Variabilele xij precum şi toate datele problemei sunt date
în tabel
D1 D2 D3 D4 Producţie
S1 3 x11 4 x12 2 x13 8 x14 40
S2 3 x21 6 x22 5 x23 7 x24 20
S3 6 x31 5 x32 7 x33 6 x34 35
S4 2 x41 4 x42 5 x43 6 x44 10
Capacitatea 36 18 27 24
Modelul matematic, pentru algoritmul simplex, este:
• Funcţia obiectiv
f ( x ) = 3 x11 + 4 x12 + 2 x13 + 8 x14 + 3 x21 + 6 x22 + 5 x23 + 7 x24 + 6 x31 +
+5 x32 + 7 x33 + 6 x34 + 2 x41 + 4 x42 + 5 x43 + 6 x44 = MIN
• Restricţiile
x11 + x12 + x13 + x14 = 40
x21 + x22 + x23 + x24 = 20
x31 + x32 + x33 + x34 = 35
x41 + x42 + x43 + x44 = 10
x11 + x21 + x31 + x41 = 10
x12 + x22 + x32 + x42 = 18
x13 + x23 + x33 + x43 = 27
x14 + x24 + x34 + x44 = 24
Primele patru restricţii arată că din secţia S1 se transportă
toate cele 40 unităţi de produs, la cele 4 depozite etc, iar
următoarele 4 restricţii arată că în depozitul D1 se poate
transporta produsul de la cele 4 secţii Si, i = 1, 4 , pentru a folosi
capacitatea acestui depozit, de 36 unităţi de produs etc. Avem 8
restricţii din care 4 + 4 − 1 = 7 sunt independente, deci soluţia xij
are cel mult 7 componente strict pozitive.
115
• Condiţiile de nenegativitate
xij ≥ 0 , i, j = 1, 4
Soluţia optimă a acestei probleme de transport este:
x11 = 6 x12 = 7 x13 = 27 x14 = 0
x = 20 x = 0 x = 0 x = 0
21 22 23 24
x31 = 0 x32 = 11 x33 = 0 x34 = 24
x41 = 10 x42 = 0 x43 = 0 x44 = 0
min f = 379 um
Interpretarea acestei soluţii este:
De la secţia S1 se transportă 6 unităţi de produse la D1 , 7
unităţi de produs la D2 , 27 la D3 şi nimic la D4 . Se mai
transportă 20 de la S 2 la D1 , 11 de la S3 la D2 şi 24 de la S3 la
D4 şi 10 de la S 4 la D1 .
Costul minim total este:
5 ⋅ 6 + 4 ⋅ 7 + 2 ⋅ 27 + 3 ⋅ 20 + 5 ⋅ 11 + 6 ⋅ 24 + 2 ⋅ 10 = 391 um
b) Aplicăm algoritmul specific problemelor de transport
pentru aflarea soluţiei de pornire. Se vor aplica primele două
metode, a colţului de NV şi a costului minim din tabel.
1) Soluţia de pornire prin metoda colţului de N-V
Se începe cu determinarea lui x11 , aflat în colţul
NV
x11 = min ( 40,36 ) = 36
Deoarece minimul este pe coloană, se punctează
coloana 1, adică în locul elementelor x21 , x31 şi x41
se pun puncte (care înseamnă 0)
Se înlocuieşte valoarea 40 cu 40 − 36 = 4 şi valoarea
36 cu 36 − 36 = 0
În tabelul rămas, elementul din colţul de NV este x12 .
Acesta va fi egal cu:
x12 = min ( 4,18 ) = 4
116
Se punctează linia deoarece x12 = 4 (pe linie) şi apoi se
înlocuieşte 4 cu 4 − 4 = 0 şi 18 cu 18 − 4 = 14 .
Se continuă cu elementul din colţul NV din tabelul rămas,
acesta fiind x22 = min (14, 20 ) etc.
Soluţia de pornire prin acest procedeu este:
3 36 4 4 2 i 8 i 40
3 i 6 14 5 6 7 i 20
6 i 5 i 7 21 6 14 35
2 i 4 i 5 i 6 10 10
36 18 27 24
Valoarea costului pentru acest plan de transport este:
3 ⋅ 36 + 4 ⋅ 4 + 6 ⋅ 14 + 5 ⋅ 6 + 7 ⋅ 21 + 6 ⋅ 14 + 6 ⋅ 10 = 529 um
2) Aflăm soluţia optimă prin metoda costului minim
din tabel.
Avem două costuri minime egale cu 2. Se determină mai
întâi elementul x13 = min ( 27, 40 ) = 27 . Se punctează coloana 3, se
înlocuiesc respectiv 40 cu 40 − 27 = 13 şi 27 cu 0. În tabelul
rămas, costul minim este 2, care corespunde elementului x41 .
Avem x41 = min ( 36,10 ) = 10 . Se punctează linia 4, se înlocuiesc
respectiv 10 cu 10 − 10 = 0 şi 36 cu 36 − 10 = 26 . Se continuă,
pentru elementul x11 care are costul 3 în tabelul rămas.
Soluţia de pornire prin metoda costului minim din tabel
este:
3 13 4 i 2 27 8 i 40
3 13 6 i 5 i 7 7 20
6 i 5 18 7 i 6 17 35
2 10 4 i 5 i 6 i 10
36 18 27 24
Această soluţie de pornire, nu neapărat optimă, conduce la
costul total de transport:
3 ⋅ 13 + 2 ⋅ 27 + 3 ⋅ 13 + 7 ⋅ 7 + 5 ⋅18 + 6 ⋅ 17 + 2 ⋅ 20 = 413 um
117
Acest cost este mai mic decât cel furnizat de soluţia de
pornire calculată prin metoda colţului de N-V, deci este o soluţie
„mai bună”, dar nu este optimă.
Metodele „costul minim pe linie” sau „costul minim pe
coloană” de aflare a soluţiilor de pornire se obţin similar.
118
pentru a putea satisface restricţia de pe linia i, care cerea ca suma
componentelor pe linia i să fie egală cu ai .
Restricţiile trebuie satisfăcute şi pe coloane. Pe coloana j,
din valoarea unei componente xi j > 0 se va scade θ , adică noua
1
xi1 j xi1 j1
( i1 j ) ( i1 j1 )
Soluţia veche
Soluţia veche se va modifica, după schema:
( i, j )
θ xij1 − θ
xi1 j − θ xi1 j1 + θ
Soluţia nouă
119
S-a plecat dintr-o celulă liberă şi s-au parcurs numai
celule ocupate adică s-a mers pe ciclul celulei libere.
Ciclul unei celule libere ( i, j ) este un drum care pleacă
din celula liberă ( i, j ) şi se intoarce tot la ea, trecând numai prin
celule ocupate şi anume doar câte două pe aceeaşi linie şi câte
două pe aceeaşi coloană.
Ciclul nu este neapărat un dreptunghi. De exemplu, ciclul
celulei libere (1, 2 ) din soluţia de pornire obţinută prin metoda
costului minim din tabel este următorul:
(1,1) (1, 2 )
13
( 2, 4 )
13 7
( 2,1)
18 17
( 3, 2 ) ( 3, 4 )
Ciclul celulei libere (1,2)
Se observă că din celula (1, 2 ) s-a mers în (1,1) ; dar şi
celula (1,3) era ocupată de 27 însă de acolo trebuia mers pe
coloană într-o celulă ocupată, care nu există.
În general pentru soluţia X ( xij ) şi soluţia X ' ( xij' ) avem:
xij = 0 xij' = θ
'
xij1 > 0 xij1 = xij1 − θ
'
xi1 j1 > 0 xi1 j1 = xi1 j1 + θ
x > 0 '
i1 j xi1 j = xi1 j − θ
120
restul componentelor fiind aceleaşi. În acest moment în X ' există
m + n componente strict pozitive, deci una trebuie să se anuleze.
Pentru a satisface şi condiţia de nenegativitate a
componentelor soluţiei X ' se ia θ = min ( xij , xi j ) . 1 1
se anulează.
Rezultă că adoptarea pentru θ a valorii menţionate
reprezintă criteriul de ieşire din bază.
Mai trebuie aflate:
Căsuţa liberă în care va fi plasată valoarea θ deci
criteriul de intrare în bază
Criteriul de optimalitate.
Soluţia X ' este mai bună decât soluţia X dacă pentru X ' ,
valoarea funcţiei obiectiv, f ( X ' ) este mai mică decât f ( X ) :
f (X )≥ f (X')
Valorile componentelor care diferă, rezultă din cele două
figuri, deci avem:
m n m n
f ( X ) − f ( X ' ) = ∑∑ cij xij − ∑∑ cij xij' = cij ⋅ 0 − cij ⋅ θ +
i =1 j =1 i =1 j =1
( ) ( ) ( )
+ cij1 xij1 − cij1 xij1 − θ + ci1 j1 xi1 j1 − ci1 j1 xi1 x j + θ + ci1 j xi1 j − ci1 j xi1 j − θ
121
În acest caz f ( X ) < f ( X ' ) deci X este soluţie optimă.
Dacă însă există şi diferenţe δ ij > 0 , atunci soluţia X ' poate
fi „mai bună” decât X , deci X nu este soluţie optimă.
Această nouă soluţie X ' , va fi cu atât mai bună, cu cât
δ ij > 0 este mai mare.
Alegem celula (k,l), care are cea mai mare valoare
pozitivă pentru δ ij , adică max δ ij = δ kl .
i, j
122
θ = min ( xij , xi j )
1 1
deci cea mai mică valoare pozitivă care anulează una din
componentele soluţiei. Deci una dintre valorile componentelor
soluţiei din ciclul celulei (k,l) se va anula.
Etapa 5 Se modifică valorile componentelor din ciclul celulei
(k,l), conform schemei din „soluţia nouă” şi se obţine astfel o
nouă soluţie X ' .
Algoritmul se repetă începând cu etapa 2, până ce se
obţine soluţia optimă.
Să aplicăm acest algoritm, pentru soluţia de pornire
obţinută prin metoda costului minim din tabel:
Etapa 2 Calculăm δ ij pentru toate celulele libere folosind ciclul
fiecărei celule libere
δ12 = −4 + 3 − 3 + 7 − 6 + 5 = 2
δ14 = −8 + 3 − 3 + 7 = −1
δ 22 = −6 + 7 − 6 + 5 = 0
δ 23 = −5 + 2 − 3 + 3 = −3
δ 31 = −6 + 3 − 7 + 6 = −4
δ 33 = −7 + 2 − 3 + 3 − 7 + 6 = −6
δ 42 = −4 + 2 − 3 + 7 − 6 + 5 = 1
δ 43 = −5 + 2 − 3 + 2 = −4
δ 44 = −6 + 2 − 3 + 7 = 0
Etapa 3 Se determină max ( 2,1) = 2 care corespunde lui δ12 . Deci
θ se va plasa în celula (1,2).
Etapa 4 Se efectuează ciclul celulei (1,2) modificând soluţiile
ocupate din ciclul din figura precedentă
123
(1,1) (1, 2 )
13 − θ θ
( 2, 4 )
13 + θ 7 −θ
(1,3)
18 − θ 17 + θ
( 3, 2 ) ( 3, 4 )
Ciclul căsuţei (1,2) pentru aflarea altei soluţii
Variabila θ > 0 pentru care una din componentele noii
soluţii se anulează, se obţine din:
13 − θ = 0, θ = 13
7 − θ = 0, θ = 7
18 − θ = 0, θ = 18
Avem θ = min (13,7,18 ) = 7
Etapa 5 Se află soluţia nouă şi modificăm valorile soluţiei din
ciclul celulei (1,2) cu θ = 7 iar restul valorilor din soluţia de
pornire rămân aceleaşi: de exemplu x11 = 13 − 7 = 6 , x12 = 6 ,
x24 = 7 − 7 = 0
3 6 4 7 2 27 8 i
3 20 6 i 5 i 7 i
6 i 5 11 7 i 6 24
2 10 4i 5 i i 6
Pentru a vedea dacă aceasta este soluţia optimă se repetă
algoritmul, începând cu etapa 2.
δ13 = −8 + 4 − 5 + 6 = −3
δ 22 = −6 + 4 − 3 + 3 = −2
δ 23 = −5 + 2 − 3 + 3 = −3
124
δ 24 = −2 + 6 − 5 + 4 − 3 + 3 = −2
δ 31 = −6 + 5 − 4 + 3 = −2
δ 33 = −7 + 5 − 4 + 2 = −4
δ 42 = −4 + 2 − 3 + 4 = −1
δ 43 = −5 + 2 − 3 + 2 = −4
δ 44 = −6 + 2 − 3 + 4 − 5 + 6 = −2
Este satisfăcut criteriul de optimalitate, δ ij ≤ 0 ∀i, j
Deci soluţia este optimă.
Costul minim este dat de
3 ⋅ 6 + 4 ⋅ 7 + 2 ⋅ 27 + 3 ⋅ 20 + 5 ⋅ 11 + 6 ⋅ 24 + 2 ⋅ 20 = 379 um
De la S1 se transportă 6 unităţi de produs la D1 , 7 la D2 ,
27 la D3 şi nimic la D4 . De la S2 se transportă 20 unităţi la D1 ;
de la S3 avem 11 la D2 şi 24 la D4 iar de la S 4 se transportă 10
unităţi de produs la S1 , la un cost total minim de 379 um.
Analog se procedează şi în cazul în care problema este
neechilibrată.
Exemplu
Trei maşini M 1 , M 2 şi M 3 pot produce oricare dintre
piesele P1 , P2 şi P3 .
Costurile de produceţie, capacităţile maşinilor şi numărul
de piese necesar de fiecare fel sunt date în tabel.
Piese
Maşini Capacitatea
P1 P2 P3
M1 13 11 12 200
M2 13 15 14 300
M3 10 13 11 200
Necesar 140 100 400
Se cer:
a) Câte piese de fiecare fel va produce fiecare maşină pentru
a realiza producţia necesară la cost minim? Care este costul
minim? Capaciteatea cărei maşini nu este folosită integral?
125
b) Dacă maşina M 2 nu poate executa piesa 3 cu cât creşte
costul de producţie?
c) Dacă se doreşte ca maşinile să fie folosite la capacităţile
maxime, de care piese se vor produce în plus, în ce cantitate?
Care va fi costul minim? Există soluţii optime alternative?
Soluţie
Se verifică în primul rând condiţia de echilibrare
200 + 300 + 200 > 140 + 100 + 400
Problema este neechilibrată deoarece 700 > 640 .
Echilibrarea conduce la 200 + 300 + 200 = 140 + 100 + 400 + 60
Rezultă că la tabelul iniţial se mai adaugă o coloană.
Aceasta corespunde unei piese P4 , fictivă, din care este necesar
să se fabrice 60 de bucăţi. Însă deoarece această piesă P4 nu
există, costurile de fabricaţie, pentru toate cele trei maşini, sunt
nule: c14 = 0 , c24 = 0 , c34 = 0 .
Tabelul astfel completat, în care s-au introdus şi
variabilele de decizie este
P1 P2 P3 P4 Capacitate
M1 13 x11 11 x12 12 13 0
x x14 200
M2 13 x21 15 x22 14 x23 0 x24 300
M3 10 x31 13 x32 11 x33 0 x34 200
Necesar 140 100 400 60
Variabilele de decizie sunt xij :
xij = numarul de piese pe care M i il fabrica din piesa Pj
Variabilele x14 , x24 şi x34 vor arăta căte piese P4 , care nu
există, sunt produse de fiecare dintre cele trei maşini; din acest
fapt va rezulta care dintre maşini nu este folosită la capacitatea
maximă.
a) Aflăm soluţia de pornire prin metoda costului minim din
tabel, care este egal cu 0, deci aflăm mai întâi, de exemplu, x14 .
Se continuă. După aflarea soluţiei de pornire, care are cel mult
126
3 + 4 − 1 = 6 componente strict pozitive, se aplică celelalte etape
ale algoritmului.
Avem
P1 P2 P3 P4
M1 13 i 11 100 12 40 0 60 200
M2 13 i 15 i 14 300 0 i 300
M3 10 140 13 i 11 60 0 i 200
140 100 400 60
Se calculează δ ij :
δ11 = −13 + 12 − 11 + 10 = −2
δ 21 = −13 + 14 − 11 + 10 = 0
δ 23 = −15 + 11 − 12 + 14 = −2
δ 24 = −0 + 14 − 12 + 0 = 2
δ 32 = −13 + 11 + 12 + 11 = −3
δ 24 = −0 + 11 − 12 + 0 = −1
Soluţia nu este optimă. Se plaseză θ în (2,4) deoarece
avem δ 24 = +2 .
Pentru modificarea valorilor din componentele soluţiei
avem ciclul celulei (2,4)
(1,3) (1, 4 )
40 + θ 60 − θ
300 − θ θ
( 2,3) ( 2, 4 )
Ciclul celulei libere (2,4)
127
BIBLIOGRAFIE
128