b…arb acioru iuliana carmen… · 2009. 7. 21. · probleme de programare liniara… 2.2 forme de...
Post on 21-Jan-2021
3 Views
Preview:
TRANSCRIPT
Cercet¼ari operationale
B¼arb¼acioru Iuliana Carmen
CURSUL 11
Cursul 11
2
Cuprins
2 Programare liniar¼a 52.1 Modelul matematic al unei
probleme de programare liniar¼a . . . . . . . . . . . . . . . . . . . . 62.2 Forme de prezentare a modelului matematic . . . . . . . . . . . . . 62.3 Clasi�carea solutiilor unei probleme de
programare liniar¼a. Propriet¼ati . . . . . . . . . . . . . . . . . . . . 62.4 Metode pentru obtinerea unui program de baz¼a si a unei baze
ortonormate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.5 Algoritmul simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.6 Metode pentru obtinerea unui program de baz¼a initial . . . . . . . 62.7 Dualitatea în programarea liniar¼a . . . . . . . . . . . . . . . . . . . 62.8 Algoritmul simplex dual . . . . . . . . . . . . . . . . . . . . . . . . 62.9 Algoritmul simplex revizuit . . . . . . . . . . . . . . . . . . . . . . 62.10 Modele liniare de tip transport . . . . . . . . . . . . . . . . . . . . 6
2.10.1 Probleme standard de transport . . . . . . . . . . . . . . . 72.10.2 Generaliz¼ari ale problemei transporturilor . . . . . . . . . . 21
Index 29
3
Cursul 11
4
5
Cursul 11
Capitolul 2
Programare liniar¼a
2.1 Modelul matematic al uneiprobleme de programare liniar¼a
2.2 Forme de prezentare a modelului matematic
2.3 Clasi�carea solutiilor unei probleme deprogramare liniar¼a. Propriet¼ati
2.4 Metode pentru obtinerea unui program de baz¼asi a unei baze ortonormate
2.5 Algoritmul simplex
2.6 Metode pentru obtinerea unui program de baz¼ainitial
2.7 Dualitatea în programarea liniar¼a
2.8 Algoritmul simplex dual
2.9 Algoritmul simplex revizuit
2.10 Modele liniare de tip transport
6
Cercet¼ari Operationale B¼arb¼acioru Iuliana Carmen
2.10.1 Probleme standard de transport
Problema standard de transport const¼a în alegerea modalit¼atii de a aprovizionacu marf¼a de la m centre, n consumatori în conditiile:
1. se cunosc cantit¼atile de marf¼a solicitate de �ecare consumator si cele decare dispune �ecare depozit;
2. totalul cererilor este egal cu totalul m¼ar�i disponibile;
3. marfa se expediaz¼a direct consumatorului;
4. costul transportului este proportional cu cantitatea de marf¼a expediat¼a.
Solutia problemei este optim¼a dac¼a asigur¼a aprovizionarea consumatorilor cuminimum de cheltuieli de transport.
Problema a fost enuntat¼a în forma standard de F. L. Hithcock în 1941 sirezolvat¼a printr-o metod¼a care nu utilizeaz¼a propriet¼atile speciale ale problemeidecât în determinarea solutiei initiale.
În 1947, T. C. Koopmans public¼a o lucrare care contine importante îm-bun¼at¼atiri ale metodei de rezolvare, astfel, problemele standard de transport sunttratate sub denumirea de problema Hithcock-Koopmans.
Pentru formularea matematic¼a a problemei de transport vom folosi urm¼a-toarele notatii:
� ai; i 2M = f1; :::;mg�cantitatea de marf¼a disponibil¼a în depozitul i;
� bj ; j 2 N = f1; :::; ng�cantitatea de marf¼a cerut¼a de consumatorul j;
� cij ; i 2 M; j 2 N�costul transportului unei unit¼ati de marf¼a de ladepozitul i la consumatorul j;
� xij ; i 2M; j 2 N�cantitatea de marf¼a expediat¼a de depozitul i consuma-torului j.
Cu aceste notatii, modelul problemei standard de transport este:
7
Cursul 11
min
24Xi2M
Xj2N
cijxij
35Xj2N
xij = ai; i 2M (10.1)
Xi2M
xij = bj ; j 2 N (10.2)
xij � 0; i 2M; j 2 N (10.3)
cu conditia: Xi2M
ai =Xj2N
bj (10.4)
Restrictiile problemei de transport (10.1) si (10.2) pot � scrise sub formamatriceal¼a astfel:
M � x = D
unde M este o matrice de dimensiuni (m+ n) � (mm) ale c¼arei elemente sunt0 sau 1, x un vector cu m � n componente xij ; i 2 M; j 2 N si D un vector cum+ n componente ai; i 2M ; bj ; j 2 N:
Matricea M are urm¼atoarea structur¼a:
M =
0BBBBBBBBBBBBBBBBBBB@
m
8>>>><>>>>:1 1 ::: 1 1 0 ::: 0 ::: 0 0 ::: 0
0 0 ::: 0 1 1 ::: 1 ::: 0 0 ::: 0
: : : : : : : : : : : : :
0 0 ::: 0 0 0 ::: 0 ::: 1 1 ::: 1
n
8>>>><>>>>:1 0 ::: 0 1 0 ::: 0 ::: 1 0 ::: 0
0 1 ::: 0 0 1 ::: 0 ::: 0 1 ::: 0
: : : : : : : : : : : : :
0 0 ::: 1 0 0 ::: 1 ::: 0 0 ::: 1| {z }m�n
1CCCCCCCCCCCCCCCCCCCAConditia (10.4) face ca rangul matricei M s¼a �e m+ n� 1:
Problemele standard de transport se pot rezolva folosind tabele de forma:
8
Cercet¼ari Operationale B¼arb¼acioru Iuliana Carmen
x11c11
x12c12
x1nc1n
a1u1
x21c21
x22c22
x2nc2n
a2u2
xm1cm1
xm2cm2
xmncmn
a1um
b1v1
b2v2
bnvn
Numerele ui; i 2M si vj ; j 2 N sunt multiplicatori simplex sau variabile dinduala problemei :
ui + vj � cij
max
8<:Xi2M
aiui +Xj2N
bjvj
9=;Conform cu de�nitiile date în �Clasi�carea solutiilor unei probleme de pro-
gramare liniar¼a�numim solutie nedegenerat¼a de baz¼a a problemei de transport un
vector x��x�ij
�; i 2M; j 2 N cu (m+ n� 1) componente nenule.
O solutie de baz¼a este degenerat¼a dac¼a vectorul x are mai putin de (m+ n� 1)componente nenule.Rezolvarea unei probleme de transport cere cunoasterea unor metode pentru:
� determinarea unei solutii de baz¼a,
� testarea optimalit¼atii unei solutii,
� îmbun¼at¼atirea unei solutii.
Metode de determinare a unei solutii de baz¼a
În general, pentru determinarea unei solutii de baz¼a se utilizeaz¼a prezentareaconditiilor (10.1) si (10.2) sub forma dat¼a de tabelul standard.
Se alege ca variabil¼a din baz¼a un xpq oarecare si i se atribuie valoarea maxim¼acompatibil¼a cu ecuatiile (10.1) si (10.2), deci:
xpq = min fap; bqg
Pot ap¼area trei cazuri si anume:
9
Cursul 11
� Cazul 1: ap < bq, deci xpq = ap si toate celelalte variabile din linia p vorlua valoarea zero.Atunci se sterge din tabelul 1 linia p, se înlocuieste bq prin b
=q = bq � ap si
se alege alt¼a variabil¼a de baz¼a din tabelul redus, care contine (m� 1) liniisi n coloane;
� Cazul 2: ap > bq, deci xpq = bq si atunci tabelul se reduce stergând coloanaq.În tabelul redus, ap se înlocuieste prin a
=p = ap � bq;
� Cazul 3: ap = bq si tabelul se reduce, stergând �e linia p �e coloana q.Dac¼a tabelul redus nu mai contine linia p, se înlocuieste bq prin bq + " ,
întrucât b=q = ": Dac¼a se sterge coloana q atunci a=p = "; " �ind o m¼arimepozitiv¼a oricât de mic¼a, care dup¼a determinarea solutiei se înlocuieste cuzero. În acest caz se obtine o solutie degenerat¼a de baz¼a.
Se demonstreaz¼a c¼a solutia determinat¼a cu ajutorul algoritmului expus este osolutie de baz¼a. Metoda general¼a de determinare a solutiei de baz¼a poate �partic-ularizat¼a prin �xarea unei reguli de alegere a variabilelor care intr¼a baz¼a. Printreaceste metode cele mai cunoscute sunt: metoda coltului nord-vest, metoda ele-mentului minim si metoda diferentei maxime.
Metoda coltului nord-vest. Regula dup¼a care se decide intrarea în baz¼a avariabilelor este urm¼atoarea: la �ecare pas al aplic¼arii algoritmului intr¼a în baz¼avariabila situat¼a în celula din coltul nord-vest al tabelului. Aceast¼a metod¼a estefolosit¼a pentru g¼asirea solutiei initiale a problemei (2.10.4).
Metoda elementului minim. La �ecare pas k al aplic¼arii algoritmului intr¼aîn baz¼a variabile xpq dac¼a
cpq = mini;jfcijg
i si j apartinând multimilor de indici Mk , respectiv Nk , din pasul k.
Un exemplu de determinare a metodei elementului minim îl constituie deter-minarea solutiei initiale a problemei (2.10.5).
Metoda diferentei maxime. Pentru alegerea variabilei care intr¼a în baz¼ase determin¼a pentru �ecare linie si �ecare coloan¼a costul minim:
cik = minjfcij ; j 2 Ng si cij = min
ifcij ; i 2Mg
10
Cercet¼ari Operationale B¼arb¼acioru Iuliana Carmen
apoi se aleg costurile:
cil = minjfcij ; j 2 N � fkgg si crj = min
ifcij ; i 2M � ftgg
si se calculeaz¼a diferentele �i si �j :
�i = cil � cik si �j = crj � cij
pentru toti i 2M si j 2 N .Se alege diferenta maxim¼a, �xând astfel linia sau coloana în care se situeaz¼a
variabila care va intra în baz¼a.Dac¼a, de exemplu, diferenta maxim¼a se g¼aseste pe linia p, va intra în baz¼a
variabila corespunz¼atoare costului minim din linia p.Dac¼a max
��i; �j
�nu este determinat, adic¼a:
maxi�i = �u = �v = max
j�j
intr¼a în baz¼a variabila care corespunde celui mai mic cost din linia u si coloanav.
În problema (2.10.7), solutia initial¼a s-a determinat prin metoda diferenteimaxime. Metoda coltului nord-vest este cea mai usoar¼a de aplicat, dar prezint¼adezavantajul de a conduce adeseori la o solutie care difer¼a de solutia optim¼a maimult decât cele obtinute prin metoda elementului minim sau metoda diferenteimaxime.
Calculul multiplicatorilor simplex.
Multiplicatorii simplex ui si vj se calculeaz¼a rezolvând sistemul de ecuatii:
cij = ui + vj pentru toti xij 2 B (10.5)
undeB reprezint¼a multimea variabilelor de baz¼a. Sistemul (10.5) contine (m+ n� 1)ecuatii si (m+ n) necunoscute, astfel încât se poate atribui unei necunoscute ovariabil¼a arbitrar¼a. Calculele se simpli�c¼a dac¼a se atribuie valoarea zero multi-plicatorului simplex asociat liniei sau coloanei în care se g¼asesc cele mai multevariabile de baz¼a.
11
Cursul 11
Criteriu de optimalitate.
Din modul în care s-au calculat multiplicatorii simplex, rezult¼a c¼a numerele:
�cij = cij � (ui + vj)
numite costuri comparative, sunt nule pentru toate variabilele din baz¼a.Solutia x� =
�x�ij
�asociat¼a bazei B este optim¼a dac¼a este satisf¼acut¼a conditia:
�cij = cij � (ui + vj) � 0 pentru toti xij 2 B (10.6)
Algoritm pentru determinarea unei solutii îmbun¼at¼atite.
Dac¼a exist¼a costurile comparative �cij negative, se determin¼a:
�cpq = mini;jf�cij < 0g (10.7)
Pasul 1. Se atribuie variabilei xpq o valoare pozitiv¼a, nedeterminat¼a;
Pasul 2. Se construieste un ciclu având primul vârf în celula (p; q) a tabelului si cele-lalte vârfuri situate numai în celule a c¼aror variabile apartin bazei. M¼arimea� se scade din toate valorile asociate vârfurilor pare ale ciclului si se adun¼atuturor variabilelor din vârfurile impare;
Pasul 3. Se determin¼a m¼arimea �, atribuindu-i o valoare egal¼a cu cea mai mic¼adintre valorile variabilelor de baz¼a situate în vârfurile pare. Folosind aceast¼avaloare, se determin¼a solutia modi�cat¼a. Se demonstreaz¼a c¼a ciclul core-spunz¼ator oric¼arei variabile care nu apartine bazei este unic determinat.
Observatia 2.10.1 Dac¼a în dou¼a sau mai multe dintre vârfurile pare ale cicluluiformat pentru modi�carea unei solutii, valorile variabilelor din baz¼a sunt egalesi mai mici decât toate valorile variabilelor din celelalte vârfuri pare, solutiamodi�cat¼a contine mai putin de (m+ n� 1) valori nenule. Pentru ca solutiaobtinut¼a s¼a nu �e o solutie degenerat¼a de baz¼a, vom considera c¼a numai una dinvariabilele care se anuleaz¼a iese din baz¼a, celelalte r¼amânând în baz¼a cu valori nule(vezi exemplul 2.10.4). Este foarte important ca în �ecare iteratie s¼a dispunemde o solutie de baz¼a, în caz contrar multiplicatorii simplex neputând � calculaticu formulele (10.5).
12
Cercet¼ari Operationale B¼arb¼acioru Iuliana Carmen
Observatia 2.10.2 Dac¼a pentru o solutie optim¼a exist¼a costuri comparative nulecorespunz¼atoare unor variabile care nu apartin bazei, problema admite mai multesolutii optime.
Observatia 2.10.3 Dac¼a x� este o solutie realizabil¼a de baz¼a a problemei detransport si �x solutia obtinut¼a din x� prin intrarea în baz¼a a variabilei xpq,relatia dintre valorile functiei obiectiv pentru aceste solutii este:
P (~x) = P (x�) + � � �cpq
unde P (x�) =Pi2M
Pj2N
cijxij si � este valoarea atribuit¼a variabilei xpq.
Exemplul 2.10.4 O anumit¼a marf¼a este depozitat¼a în punctele D1,D2,D3,D4si este solicitat¼a de consumatorii C1,C2,C3,C4,C5,C6: Disponibilul în punctelede depozitare, cererea în punctele de consum si costul transportului unei unit¼atide marf¼a de la depozitul Di; i = 1; :::; 4 la consumatorii Cj ; j = 1; :::; 6 suntconsemnate în tabelul 10.1:
Tabelul 10.1
C1 C2 C3 C4 C5 C6 Disponibil
D1 30 27 15 42 25 10 2200
D2 20 22 20 17 12 22 2000
D3 25 14 10 24 34 8 1000
D4 18 25 28 30 21 28 1300
Cerere 1200 800 700 1300 1000 1500
Se cere organizarea transporturilor necesare aprovizion¼arii consumatorilor astfelîncât costul total al transporturilor s¼a �e minim.
Solutie: Vom folosi metoda coltului N-V pentru determinarea solutiei initialede baz¼a.Variabila corespunz¼atoare p¼atratului situat pe linia 1 si coloana 1 ia valoarea1200, deoarece cererea consumatorului C1 este mai mic¼a decât disponibilul dindepozitul D1: Dup¼a aceast¼a atribuire, tabelul nu mai contine decât coloaneleC2,C3,C4,C5,C6; liniile r¼amân aceleasi, dar disponibilul pe linia D1 este 2200-1200=100. Variabila din coltul N-V al noului tabel este x1;2. Comparând disponi-bilul de 1000 de unit¼ati din linia întâi cu cererea 800 din coloana C2; se atribuievariabilei x1;2 valoarea 800.
13
Cursul 11
Noul tabel contine coloanele C3,C4,C5,C6 si liniile D1,D2,D3,D4; disponibilul dinprima linie �ind 1000-800=200 de unit¼ati. Variabila din coltul N-V este acumx1;3 si valoarea care i se poate atribui este egal¼a cu 200, disponibilul din primalinie. Depozitul D1 �ind golit, iar cererea consumatorului C3 ne�ind satisf¼acut¼aintegral, tabelul pe care se lucreaz¼a acum este format din coloanele C3,C4,C5,C6si liniile D2,D3,D4: Disponibilul din aceste depozite este cel initial, adic¼a egal cu2000, 1000 si respectiv 1300 de unit¼ati, iar cererile nesatisf¼acute înc¼a sunt de 500,1300, 100 si 1300 de unit¼ati. Continuând acelasi rationament, g¼asim x2;3 = 500;x2;4 = 1300; x2;5 = 200; x3;5 = 800; x3;6 = 200 si x4;6 = 1300: Se observ¼a c¼a,luând x4;6 = 1300; se epuizeaz¼a disponibilul din ultimul depozit si se satisface înacelasi timp integral cererea ultimului consumator.Acest rezultat este asigurat de faptul c¼a totalul cantit¼atilor de marf¼a din depoziteeste egal cu totalul cererilor.Solutia determinat¼a prin aceast¼a metod¼a este o solutie de baz¼a.Într-adev¼ar, tabelul 10.2 în care este înregistrat¼a solutia initial¼a contine m = 4linii si n = 6 coloane, iar solutia are m+ n� 1 = 6 + 4� 1 = 9 valori nenule.
Tabelul 10.2
C1 C2 C3 C4 C5 C6 aiui
D1 1200��...
���30
800 ���27
200+�
...15 42 25 10
22000
D2 �15
...20 �10 22
500�� ���20
1300 ���17
200+�
...12 22
20005
D3 �32
...25 �10 14 �32 10 �15 24
800�� ���34
200+�
...8
100027
D4 �59� ���18 �49
���25 �34
���28 �29
���30 �33
���21
...1300��
201300
47
bjvj
120030
80027
70015
130012
10007
1500�19
Multiplicatorii simplex se obtin rezolvând sistemul de ecuatii (10.5).Pentru acest exemplu numeric avem sistemul:
30 = u1 + v1; 20 = u2 + v3; 34 = u3 + v5;
27 = u1 + v2; 17 = u2 + v4; 8 = u3 + v6;
15 = u1 + v3; 12 = u2 + v5; 28 = u4 + v6
14
Cercet¼ari Operationale B¼arb¼acioru Iuliana Carmen
format dintr-un num¼ar de ecuatii egal cu num¼arul variabilelor din baz¼a, avândun num¼ar de necunoscute egal cu suma num¼arului liniilor si coloanelor tabelului.Luând, de exemplu u1 = 0 g¼asim: v1 = 30; v2 = 27; v3 = 15; u2 = 5; v4 = 12;v5 = 7; u3 = 27; v6 = �19 si u4 = 47:În practic¼a nu este necesar s¼a se scrie sistemul de ecuatii.Calculul multiplicatorilor se poate face direct pe tabel¼a.Valorile multiplicatorilor se înregistreaz¼a în ultima linie si coloan¼a a tabelului.Costurile comparative calculate cu formula (10.6) se înregistreaz¼a în tabelul derezolvare a problemei numai dac¼a au valori negative, deoarece numai variabilelecorespunz¼atoare acestor costuri pot conduce, prin intrarea în baz¼a, la o solutieîmbun¼at¼atit¼a.Solutia nu este optim¼a �indc¼a exist¼a �cij < 0: Se observ¼a c¼a: min f�cij < 0g =�c41 = �59 deci se atribuie variabilei x41 valoarea �:Formând ciclul punctat în tabelul 10.2, se determin¼a � punând conditia ca, înurma modi�c¼arii valorilor solutiei, una dintre aceste valori s¼a devin¼a nul¼a (vari-abila corespunz¼atoare iese din baz¼a) si nici una dintre celelalte valori s¼a nu devin¼anegativ¼a.Examinând m¼arimile din care se scade �; se observ¼a c¼a valoarea ce i se poateatribui în aceste conditii este � = 500:Noua solutie, x1; este tot o solutie de baz¼a.
Tabelul 10.3
C1 C2 C3 C4 C5 C6 aiui
D1 700��...
���30
800���27
700���15
���42 �41
����...25 10
22000
D2...20 22 20
130017
700...12 22
2000�54
D3...25 14 10 24
300��...���34
700+�
...8
1000�32
D4 500+� ���18
���25
���28
���30
���21
...800��
281300
�12bjvj
120030
80027
70015
1300�71
100066
150040
Calculând costul total al transportului corespunz¼ator solutiei initiale g¼asim:C0 = 1200 � 30+800 � 27+200 � 15+500 � 20+1300 � 17+200 � 12+800 � 34+200 �8 + 1300 � 26 = 160300
15
Cursul 11
Costul corespunz¼ator solutiei modi�cate este C1 = 130800:Diferenta C1 � C0 = �29500 este egal¼a cu � � �c41 = 500 (�59) = �29500:Aceast¼a observatie înlesneste calculul costurilor asociate solutiilor succesive.Se reia aplicarea algoritmului calculând multiplicatorii simplex si costurile com-parative.Rezultatele sunt înregistrate în tabelul 10.3.Solutia nu este optim¼a deoarece �c15 < 0 si �c16 < 0:Deoarece �c15 < �c16 se ia x15 = � si formând ciclul se g¼aseste � = 300:Dup¼a ce se fac modi�c¼arile indicate, se obtine solutia x2 din tabelul 10.4.
Tabelul 10.4
C1 C2 C3 C4 C5 C6 aiui
D1 400��...
���30
800���27
700���15
���42
300���25 �30
����...10
22000
D2...20 22 20
130017
70012 �5...
222000
�13
D3...25 14 10 24 34
1000
...8
1000�32
D4 800+����18
���25
���28
���30
���21
500��...28
1300�12
bjvj
120030
80027
70015
130030
100025
150040
Tabelul 10.5
C1 C2 C3 C4 C5 C6 aiui
D130
80027
70015 42
300��...
���25
���400+�...10
22000
D220 22 20
130017
700
...12 ...
222000
�13
D325 �11 14 �3 10 �4 24 ...
341000
...
...8
1000�2
D4 120018 �20 25 �5 28 �18 30 �22
� ���21
100��28
130018
bjvj
12000
80027
70015
130030
100025
150010
16
Cercet¼ari Operationale B¼arb¼acioru Iuliana Carmen
Costul C2 asociat solutiei x2 este C2 = C1+� ��c15 = 130800+300 (�41) = 118500:Calculând multiplicatorii simplex si costurile comparative în tabelul 10.4 g¼asimc16 < c26 < 0; deci x2 nu este solutia optim¼a.Se ia x16 = � = 400 si se obtine solutia x3 cu costul C3 = 118500 + 400 (�30) =106500:Solutia x3 se îmbun¼at¼ateste luând x45 = � = 100:Se obtine solutia x4 cu costul C4 = 106500 + 100 (�22) = 104300:
Tabelul 10.6
C1 C2 C3 C4 C5 C6 aiui
D130
800��...
���27
700 ���15
���42
200���25
500+�
...10
22000
D220 ...
22 201300
17700
12 ...22
2000�13
D325 �11
� ���14 �3
���10 �4
���24
���34
1000��8
1000�2
D4 120018 25 28 30
10021 28
1300�4
bjvj
120022
80027
70015
130030
100025
150010
Tabelul 10.7
C1 C2 C3 C4 C5 C6 aiui
D130 27
700��...
15���42
200���25
1300+�
...10
22000
D220 22 ...
201300
17700
12 ...22
2000�15
D325
80014 �3
�10
���24
���34
200��8
1000�2
D4 120018 25 28 30
10021 28
1300�4
bjvj
120022
80016
70015
130030
100025
150010
În tabelul 10.6 avem �c32 < �c34 < �c33 < 0; deci se poate g¼asi o solutie mai bun¼ax5 luând x32 = � = 800:Corespunz¼ator solutiei x5 avem C5 = 104300 + 800 (�11) = 95500:Deoarece nici x5 nu este optim¼a, se calculeaz¼a solutia x6 luând x33 = � = 200:Se observ¼a c¼a x7 este o solutie degenerat¼a de baz¼a, deoarece, luând � = 200; se
17
Cursul 11
anuleaz¼a x15 si x33:Pentru a putea calcula multiplicatorii simplex, una dintre aceste variabile, deexemplu x33; va � considerat¼a ca apartinând bazei, desi are valoarea zero.Testul de optimalitate arat¼a c¼a x7 este solutia optim¼a a problemei.Costul minim al transporturilor este C7 = C5 + 200 (�3) + 200 (�1) = 94700:Pentru veri�care, acest cost se poate calcula direct din tabelul 10.9.Similar g¼asim solutia x7 luând x34 = � = 200:
Tabelul 10.8
C1 C2 C3 C4 C5 C6 aiui
D130 27
500+�
...15
���42
200��...
251500
102200
25
D220 22 ...
201300��...
���17
700+�12 22
200012
D325
80014
200�� ���10
����1�24 34 8
100020
D4 120018 25 28 30
10021 28
130021
bivj
1200�3
800�6
700�10
13005
10000
1500�15
Tabelul 10.9
C1 C2 C3 C4 C5 C6 aiui
D130 27
70015 42 25
150010
22005
D220 22 20
110017
90012 22
2000�7
D325
80014
010
20024 34 8
10000
D4 120018 25 28 30
10021 28
13002
bjvj
120016
80014
70010
100024
100019
15005
18
Cercet¼ari Operationale B¼arb¼acioru Iuliana Carmen
Exemplul 2.10.5 În problema de transport ale c¼arei date sunt consemnate întabelul 10.10, vom determina solutia initial¼a de baz¼a folosind metoda elementuluiminim.
Tabelul 10.10
C1 C2 C3 C4 C5 Disponibil
D1 4 6 7 5 4 800
D2 8 4 5 2 1 800
D3 1 6 4 7 5 350
Cerere 380 520 600 150 300
Solutie: Costul c31 = 1 înseamn¼a c¼a nu se pot face transporturi de la de-pozitul D3 la consumatorul C1: Deoarece
mini;jcij = c25
se atribuie variabilei x25 valoarea 300 si tabelul se reduce stergând coloana C5 siînlocuind disponibilul depozitului D2 prin 800 � 300 = 500 de unit¼ati. În tabelulredus, costul minim este c24; deci se ia x24 = 150: Cererea C4 �ind astfel sat-isf¼acut¼a, noul tabel redus contine numai coloanele C1; C2 si C3 , disponibilul îndepozite �ind de 800; 500� 150 = 350 si respectiv 350.Pentru acest tabel elementul minim nu este unic determinat. Într-adev¼ar, c11 =c22 = c33 = 4; deci oricare dintre variabilele corespunz¼atoare acestor costuri poateintra în baz¼a respectând regulile algoritmului.S¼a lu¼am, de exemplu, x11 = 380: Reducând tabelul si continuând aplicarea algo-ritmului, g¼asim x22 = 350; x33 = 350; x12 = 170 si x13 = 250:Solutia initial¼a astfel determinat¼a este înregistrat¼a în tabelul 10.11. Se veri�c¼acu usurint¼a c¼a s-a obtinut o solutie nedegenerat¼a de baz¼a.Calculând multiplicatorii simplex ui si vj si costurile comparative cij ; se constat¼ac¼a solutia este optim¼a, deoarece �cij � 0 pentru toate variabilele care nu apartinbazei.Deoarece �c23 = 0 si x23 nu apartine bazei, se mai poate g¼asi o solutie corespunz¼a-toare aceluiasi cost total al transporturilor luând x23 = �: Dup¼a formarea cicluluise g¼aseste � = 250 si solutia din tabelul 10.12.Se poate veri�ca direct c¼a C0 = C1 = 7690; deci ambele solutii x0 si x1 conduc laaceeasi valoare a functiei obiectiv. Problema admite dou¼a solutii optime.Propunem ca exercitiu determinarea solutiei initiale a problemei 10.1 prin metodaelementului minim. Se va constata c¼a num¼arul iteratiilor necesare optimiz¼arii
19
Cursul 11
solutiei astfel determinate este mai mic decât în cazul când solutia initial¼a a fostdeterminat¼a prin metoda coltului N-V.
Tabelul 10.12
C1 C2 C3 C4 C5 aiui
D1 3804
4206 7 5 4
8002
D28
1004
2505
1502
3001
8000
D3 1 6350
4 7 5350
�1bjvj
3802
5204
6005
1502
3001
20
Cercet¼ari Operationale B¼arb¼acioru Iuliana Carmen
2.10.2 Generaliz¼ari ale problemei transporturilor
Problemele de transport generalizate se obtin din problema standard înlocuindgrupul de ecuatii (10.1) sau (10.2) prin inegalit¼ati.
Modelul:
min
24Xi2M
Xj2N
cijxij
35 (10.8)
Xj2N
xij = ai; i 2M (10.9)
Xi2M
xij � bj ; j 2 N (10.10)
xij � 0; i 2M; j 2 N
corespunde unei probleme de transport generalizate.Din punct de vedere economic, acest model corespunde cazului în care cererea
total¼a este mai mare decât disponibilul total, adic¼a:Xi2M
ai <Xj2N
bj
Modelul (10.8)-(10.10) se aduce la forma standard, ad¼augând variabile decompensare xm+1;j � 0; j 2 N; în membrul stâng al inegalit¼atilor (10.10).Aceste variabile pot � interpretate ca �ind cantit¼ati de marf¼a expediate de unproduc¼ator �ctiv c¼aruia i se atribuie un disponibil am+1 egal cu excedentul cereriifat¼a de productie, deci:
am+1 =Xj2N
bj �Xi2M
ai
Costurile cm+1;j � 0; j 2 N; asociate variabilelor xm+1;j , pot �nule sau egalecu penaliz¼arile pl¼atite consumatorilor în cazul nesatisfacerii cererii. Obiectivulproblemei devine astfel determinarea solutiei pentru care cheltuielile de transportsi penaliz¼arile sunt minime.
Un tip de probleme care pot � rezolvate prin metoda transporturilor sunt�problemele de alocatie�. Un astfel de exemplu este problema (2.10.6), ea �indo problem¼a de transport cu cereri excedentare.
21
Cursul 11
Modelul:
min
24Xi2M
Xj2N
cijxij
35 (10.11)
Xj2N
xij � ai; i 2M (10.12)
Xi2M
xij = bj ; j 2 N
xij � 0; i 2M; j 2 N (10.13)
corespunde unei probleme de transport în care totalul disponibilit¼atilor de-p¼aseste cererea total¼a, adic¼a: X
i2Mai >
Xj2N
bj
În acest caz se revine la forma standard a problemei de transport, ad¼augând înmembrul stâng al inegalit¼atilor (10.12) variabilele de compensare xi;n+1; i 2M .Aceste variabile pot � interpretate ca �ind cantit¼ati solicitate de consumatorul�ctiv n + 1 sau cantit¼ati neexpediate din disponibilul produc¼atorilor. Cerereaconsumatorului �ctiv este:
bn+1 =Xi2M
ai �Xj2N
bj
Costurile ci;n+1; i 2 M , corespunz¼atoare variabilelor xi;n+1, pot � nule sauegale cu cheltuielile de depozitare a unei unit¼ati de marf¼a la produc¼atorul i 2M .Un exemplu de problem¼a de transport în cazul �supraproductiei�este exemplul(2.10.7).
Exemplul 2.10.6 Patru produse P1; P2; P3; P4 pot � executate pe trei masiniM1;M2;M3 cu rentabilitate diferit¼a. Se cunoaste cantitatea cerut¼a din �ecareprodus, num¼arul de ore necesare pentru executarea �ec¼arui produs, preturile devânzare, costurile de productie ale unei unit¼ati de produs pe �ecare masin¼a sinum¼arul masinilor disponibile. Aceste date sunt continute în tabelul 10.13.
Solutie: Bene�ciul pe or¼a obtinut prin utilizarea unei masini, de exempluM2, pentru executarea unui produs, de exemplu P3, se calculeaz¼a sc¼azând dinpretul de vânzare al produsului pretul s¼au de cost dac¼a este executat de M2 si
22
Cercet¼ari Operationale B¼arb¼acioru Iuliana Carmen
împ¼artind diferenta la num¼arul orelor de lucru.Notând cu �ij ; i = 1; :::; 3; j = 1; :::; 4, bene�ciile, pentru exemplul propus avem
�23 =100� 70
2= 2. Aceste numere vor înlocui costurile cij din problemele de
transport. Cererile vor � exprimate în num¼ar de ore necesare pentru satisfacerealor, iar disponibilit¼atile în num¼ar de ore de lucru ale �ec¼arui tip de masini.Calculând aceste numere, g¼asim un total de 1580 de ore necesare pentru satisfa-cerea tuturor cererilor si 1520 de ore de lucru pentru întregul grup de masini înipoteza c¼a �ecare masin¼a poate � utilizat¼a 16 ore pe zi.
Tabelul 10.13
:
ProdusCerere
pe zi
Nr.de
ore
nece-
sare
pe
unitate
Pret
vân-
zare
Pret de costBene�ciu
pe or¼a
M1 M2 M3 M1 M2 M3
P1 100 4 300 200 280 180 25 5 30
P2 200 3 150 129 120 141 7 10 3
P3 250 2 100 80 70 65 10 15 17,5
P4 80 1 70 55 55 65 15 15 5
Num¼arul masinilor disponibile 30 25 40
AstfelPi2M
ai <Pj2N
bj , deci pentru restabilirea egalit¼atiiPi2M
ai =Pj2N
bj se
admite existenta unui grup de masini �ctive M4 care dispune de 60 de ore delucru zilnic.Bene�ciile realizate din folosirea grupului de masini M4 sunt evident nule.Astfel, problema propus¼a poate � rezolvat¼a prin metoda folosit¼a în problemele detransport, cu deosebirea c¼a obiectivul urm¼arit este determinarea aloc¼arii sarcinilorastfel încât bene�ciul total realizat s¼a �e maxim.Tabelul 10.14 contine o solutie initial¼a, care s-a obtinut folosind metoda elemen-tului maxim al tabelului bene�ciilor.Bene�ciul realizat prin aceast¼a distribuire a sarcinilor este B0 = 25260 de unit¼atimonetare.Multiplicatorii ui si vj se calculeaz¼a ca de obicei, dar criteriul de optimalitate se
23
Cursul 11
modi�c¼a, deoarece scopul urm¼arit este maximalizarea bene�ciului totalPi2M
Pj2N
�ijxij :
Solutia poate � îmbun¼at¼atit¼a dac¼a exist¼a bene�cii comparative
��i = �ij � (ui + vj)
pozitive.
Tabelul 10.14
P1 P2 P3 P4Disponibil
aiui
M125
480��...
���7
���������10
�3...15
480�3
M25
60+� ���10
260��� ���15
80��2
4000
M3 40030 3
24017;5 5
6402;5
M40
500 0 0
60�10
Necesarbjvj
40027;5
60010
50015
8015
Tabelul 10.15
P1 P2 P3 P4Disponibil
aiui
M1 26025
1407 10
8015
480
M25
40010 15 15
400
M3 14030 3
50017;5 5
640
M40
600 0 0
60
Necesarbjvj
400 600 500 80
În problema pe care o rezolv¼am, numai �14 este pozitiv si pentru x14 = � = 80se g¼aseste o nou¼a distribuire a sarcinilor, care aduce un bene�ciu B1 = 25500 de
24
Cercet¼ari Operationale B¼arb¼acioru Iuliana Carmen
unit¼ati b¼anesti.Nici aceast¼a solutie nu este optim¼a, dar printr-o nou¼a iteratie se ajunge la solutiadin tabelul 10.15 care este optim¼a si asigur¼a bene�ciul B2 = 25630 de unit¼atib¼anesti.În solutia optim¼a x42 = 60, ceea ce înseamn¼a c¼a cererea pentru produsul P2 nuva � satisf¼acut¼a.Se vor produce cu 20 de unit¼ati mai putin decât necesarul.
Exemplul 2.10.7 Vom determina solutia initial¼a a unei probleme de transportîn care
Pi2M
ai >Pj2N
bj prin metoda diferentei maxime. Datele problemei sunt
cuprinse în tabelul 10.16.
Tabelul 10.16
C1 C2 C3 C4 Disponibil
D1 8 6 10 5 200
D2 4 4 6 7 800
D3 6 5 3 2 400
D4 5 7 7 4 600
Cerere 500 200 400 500
Solutie: În acest exempluPi2M
ai = 200 siPj2N
bj = 1600 deci disponibilul
este mai mare decât cererea. Pentru a restabili egalitateaPi2M
ai =Pj2N
bj care
asigur¼a obtinerea solutiei initiale de baz¼a, se introduce un consumator �ctiv C5care solicit¼a
Pi2M
ai�Pj2N
bj = 400 de unit¼ati. Costurile aferente transpoturilor de
la depozitele D1�D4 la consumatorul �ctiv C5 pot �nule sau egale cu cheltuielilede depozitare a m¼ar�i în cazul când aceasta r¼amâne neexpediat¼a.Dac¼a dintr-un motiv oarecare, unul dintre depozite trebuie neap¼arat s¼a-si expe-dieze toat¼a marfa, se poate asigura satisfacerea acestui deziderat, luând costultransporturilor de la acel depozit la consumatorul �ctiv de o valoare M , oricâtde mare. Vom rezolva aceast¼a problem¼a în trei variante.Varianta 1. Toate costurile de transport la consumatorul �ctiv sunt nule.
25
Cursul 11
Tabelul pe care se construieste solutia initial¼a este tabelul 10.17.
Tabelul 10.17
C1 C2 C3 C4 C5 aiui
Diferente
1 2 3 4 5
D18 6 10 5
2000
2000
5� === === === ===
D2 5004
2004
06 7
1000
8000
4 0 0 2 2�
D36 5
4003 2 0
400�3
2 1 === === ===
D45 7 7
5004
1000
6000
4 1 1 1 2
bjvj
5004
2004
400+"6
5004
4000
1 1 1 3 2 0
2 1 1 3� 2 0
3 1 3� 1 3 ===
4 1 /// 1 3� ===
5 1 === 1 === ===
Acest tabel s-a obtinut din tabelul 10.16 prin ad¼augarea coloanei C5 corespunz¼a-toare consumatorului �ctiv.Solutia initial¼a de baz¼a se obtine astfel: se calculeaz¼a pe �ecare linie si coloan¼adiferentele dintre cele mai mici costuri si se înregistreaz¼a rezultatele respectivepe o linie si pe o coloan¼a aditional¼a tabelului.Se citeste diferenta maxim¼a.În exemplul ales, aceast¼a diferent¼a este egal¼a cu 5 si se situeaz¼a pe prima linie.Se alege costul minim din linia întâi si se atribuie variabilei corespunz¼atoare val-oarea maxim¼a acceptabil¼a, deci x15 = min fa1; b5g = 200:Se reduce tabelul si se reia aplicarea algoritmului.Diferentele pentru tabelul redus sunt înregistrate pe a doua linie, respectiv pe adoua coloan¼a ad¼augat¼a tabelului.Diferenta maxim¼a este egal¼a cu 3 si se situeaz¼a pe coloana C3:Deoarece c33 = 3 este cel mai mic cost din coloana C3, avem x33 = min fa3; b3g =400:Atribuind acestei variabile valoarea 400, ar trebui s¼a se suprime din tabel linia atreia si coloana a treia, ceea ce ar conduce la o solutie cu mai putin de 8 valori.Aceast¼a situatie se evit¼a folosind metoda perturbatiilor, care const¼a în a ad¼auga
26
Cercet¼ari Operationale B¼arb¼acioru Iuliana Carmen
�e disponibilului, �e cererii o cantitate " foarte mic¼a, considerat¼a nul¼a la sfârsitulaplic¼arii algoritmului. Vom lua b4 = 400 + "; astfel încât consider¼am cererea C3nesatisf¼acut¼a integral si suprim¼am din tabel numai linia a treia.În noul tabel, diferenta maxim¼a nu este unic determinat¼a.Cercetând costurile din coloanele C2 si C4 c¼arora la corespunde diferenta maxim¼a3, se poate alege coloana care contine cel mai mic cost.În exemplul nostru, nici aceast¼a investigatie nu determin¼a unic decizia, deci lu¼amde exemplu, x22 = 200:Continuând aplicarea algoritmului, g¼asim x44 = 500 si x21 = 500:În acest moment, depozitele D2 si D4 mai dispun de câte 100 de unit¼ati, care seatribuie consumatorului �ctiv C5:Solutia nu contine înc¼a num¼arul necesar de variabile în baz¼a din cauza degener¼ariiivite în cursul aplic¼arii algoritmului.Pentru completarea solutiei se satisface cererea consumatorului C3 corespunz¼atorunei variabile care nu a fost înc¼a inclus¼a în baz¼a.Solutia obtinut¼a este o solutie de baz¼a, deci se pot calcula multiplicatorii simplexsi costurile comparative corespunz¼atoare variabilelor care nu apartin bazei suntpozitive, deci solutia este optim¼a.Metoda diferentelor maxime este mult mai laborioas¼a decât celelalte metode dedeterminare a solutiei initiale, dar prezint¼a avantajul de a conduce la o solutiemult mai apropiat¼a de solutia optim¼a si, în unele cazuri, chiar la o solutiieoptim¼a.Din rezolvarea problemei rezult¼a modul cel mai economic de satisfacere a cererilor.Variabilele nenule din coloana C5 arat¼a cantit¼atile de marf¼a r¼amase în depozite.Dup¼a satisfacerea cererilor r¼amân 200 de unit¼ati de marf¼a în depozitul D1 si câte100 de unit¼ati în depozitele D3 si D4:Varianta 2. S¼a presupunem c¼a din motive de ordin economic nu este convenabils¼a r¼amân¼a marf¼a neexpediat¼a în depozitul D4:Pentru rezolvarea problemei cu aceast¼a conditie se ia c45 =M:Solutia din tabelul 10.18 s-a g¼asit prin metoda elementului minim.Folosind testul de optimalitate, se constat¼a c¼a se poate g¼asi o solutie mai bun¼aluând x33 = � = 400: Deoarece în urma acestei modi�c¼ari se anuleaz¼a atât x34 câtsi x43; vom p¼astra în baz¼a una dintre aceste variabile cu valoarea zero. Alegemx34 = 0 deoarece c34 < c43.
27
Cursul 11
Tabelul 10.18
C1 C2 C3 C4 C5Disponibil
aiui
D18 6 10 5
2000
200�1
D2 4004
2004 0 6 7
2000
800�1
D36 5 �2
�
...
���3
���400��...
2 0400
�2
D4 1005 7
...400� �� � �
7
...100 + �
7 M600
0
Necesarbjvj
5005
2005
4007
5004
4001
Solutia din tabelul 10.19 este optim¼a.
Tabelul 10.19
C1 C2 C3 C4 C5Disponibil
aiui
D18 6 10 5
2000
2000
D2 4004
2004 6 7
2000
8000
D36 5
4002
02 0
400�1
D4 1005 7 7
5004 M
6001
Necesarbjvj
5004
2004
4004
5003
4000
Costul total al transporturilor pentru solutia optim¼a a problemei în varianta 1este de 6000 de unit¼ati b¼anesti, iar în variante 2 de 6100 de unit¼ati b¼anesti.În general, optimul unei probleme cu conditii suplimentare are în cele mai multecazuri o valoare mai putin bun¼a decât al aceleiasi probleme în care nu se impunaceste conditii.Varianta 3. S¼a presupunem c¼a depozitele D1 si D4 trebuie s¼a expedieze întreaga
28
Cercet¼ari Operationale B¼arb¼acioru Iuliana Carmen
cantitate de marf¼a disponibil¼a.Solutia acestei probleme se poate g¼asi folosind solutia optim¼a din varianta 2.Înlocuind c11 prin M si luâned u2 = 0 pentru calculul multiplicatorilor simplex,g¼asim c¼a singurul multiplicator modi�cat este u11 si valoarea sa în aceast¼a vari-ant¼a este M: Costurile comparative se modi�c¼a numai pe prima linie si avem
�c11 = 4�M ; �c12 = 2�M ; �c13 = 6�M ; �c14 = 2�M
Deoarece M are o valoare pozitiv¼a arbitrar de mare, toate aceste numere suntnegative.Se poate atribui valoarea � oric¼areia dintre aceste variabile, dar pentru o valoaredeterminat¼a a parametruluiM; �c12 si �c14 iau valorile cele mai mici, deci se poatelua sau x12 = � sau x14 = �:În ambele ipoteze se ajunge la solutia optim¼a printr-o singur¼a iteratie.Problema admite dou¼a solutii care conduc la valoarea minim¼a a functiei obiectiv,acest minim �ind de 6500 de unit¼ati monetare.
29
Index
Algoritmpentru determinarea unei solutii im-
bunatatite, 12
Costuricomparative, 12
Criteriude optimalitate, 12
Metodacoltului nord-vest, 10diferentei maxime, 10
Metodaelementului minim, 10
Metodede determinare a unei solutii de baza,
9Modele
liniare de tip transport, 6Multiplicatori
simplex, 11
Probleme de transportcu capacitati limitate, 21standard, 7
30
top related