algoritmul simplex dual În problema transporturilor · algoritmul simplex dual În problema...

16
Prof. univ. dr. Vasile Teodor NICA Catedra de Cibernetică Economică Academia de Studii Economice din Bucureşti Algoritmul Simplex Dual În Problema Transporturilor It is well known that the algorithm used to solve the classical transportation problem is the primal simplex algorithm of the general linear programming, adapted to the special structure of the problem. The paper describes an alternative method, based on the general dual simplex algorithm. The method is useful in analyzing and solving post-optimization instances. Key words: transportation problem, dual simplex algorithm, post- optimality. Introducere În problema clasică de transport, o cantitate Q dintr -un anumit bun, trebuie transportată – la cel mai mic cost de la furnizorii m F F ,..., 1 cu disponibilele m a a ,..., 1 la consumatorii n C C ,..., 1 cu cererile n b b ,..., 1 .În ipoteza îndeplinirii condiţiei de echilibru: n j j m i i b a Q 1 1 (1) rezultă următorul model matematic:

Upload: others

Post on 03-Nov-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Prof. univ. dr. Vasile Teodor NICA

Catedra de Cibernetică Economică

Academia de Studii Economice din Bucureşti

Algoritmul Simplex Dual În Problema Transporturilor

It is well known that the algorithm used to solve the classical

transportation problem is the primal simplex algorithm of the general linear

programming, adapted to the special structure of the problem. The paper

describes an alternative method, based on the general dual simplex

algorithm. The method is useful in analyzing and solving post-optimization

instances.

Key words: transportation problem, dual simplex algorithm, post-

optimality.

Introducere

În problema clasică de transport, o cantitate Q dintr-un anumit bun, trebuie

transportată – la cel mai mic cost – de la furnizorii mFF ,...,1 cu disponibilele

maa ,...,1 la consumatorii nCC ,...,1 cu cererile nbb ,...,1 .În ipoteza îndeplinirii

condiţiei de echilibru:

n

j

j

m

i

i baQ11

(1)

rezultă următorul model matematic:

Page 2: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Vasile Teodor Nica

_________________________________________________________________

0

,...,1

,...1

)(min

)(

1

1

1 1

ij

j

m

i

ij

i

n

j

ij

m

i

n

j

ijij

x

njbx

miax

xcxz

T

în care ijx este cantitatea de bun livrată de furnizorul iF consumatorului jC la

costul unitar de transport ijc .

(T) este un program liniar cu structură specială [1,2 ] şi ca urmare, metodele de

rezolvare uzuale nu sunt altceva decât adaptări ale unor metode ale programării liniare la această structură.

Astfel, metoda primală este în esenţă algoritmul simplex primal, adaptat la

particularităţile problemei (T). Ea pleacă de la o soluţie admisibilă de bază de start şi în continuare generează o secvenţă finită de soluţii admisibile de bază, din ce în

ce mai bune, în sensul micşorării progresive a valorii funcţiei obiectiv z, ultima

soluţie generată fiind chiar soluţia optimă.

Principala dificultate în aplicarea metodei primale o constituie prezenţa – foarte frecventă – a soluţiilor degenerate, cu consecinţe negative, uneori

semnificative, asupra “lungimii” procesului de optimizare.

Metoda primal duală este mai bine adaptată la tratarea fenomenului degenerării deşi, paradoxal, este mai puţin prezentă în textele de specialitate.

Metoda are la bază reducerea problemei de transport la o problemă de flux de cost

minim în reţeaua bipartită formată de furnizori şi consumatori. Exemplul

reprezentativ îl constituie algoritmul ungar de rezolvare a problemei afectării (caz

particular al problemei de transport cu m = n şi 1ji ba ).

Să considerăm următoarea situaţie de post optimizare. După determinarea

programului optim de transport şi aplicarea acestuia în cursul unei perioade de timp, are loc o modificare a disponibilelor furnizorilor, cantitatea totală oferită Q,

rămânând aceeaşi; de exemplu, un furnizor îşi reduce oferta ca urmare a unor

operaţii planificate de revizii şi reparaţii, deficitul de ofertă fiind acoperit, în

diferite cote, de către ceilalţi furnizori. Pot fi admise şi unele modificări ale cererilor consumatorilor, cererea totală rămânând totuşi neschimbată. Evident,

programul optim de transport corespunzător noii situaţii, se poate obţine rezolvând

problema modificată de sine stătător. Dacă schimbările în disponibile şi cereri nu

Page 3: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Algoritmul simplex dual în problema transporturilor

__________________________________________________________________

sunt de mare amploare,ne putem întreba dacă nu cumva, noul program optim de transport, se poate deduce – cu “mici” modificări – din programul optim anterior.

Din teoria generală a programării liniare se ştie că răspunsul este afirmativ dar

necesită utilizarea algoritmului simplex dual.

Ajungem astfel la chestiunea principială analizată în lucrare: cum

“lucrează” algoritmul simplex dual în cazul problemei de transport?

Articolul este organizat după cum urmează: în secţiunea 1 se introduc

notaţiile necesare şi se reaminteşte conceptul de bază dual admisibilă, concept

prezentat în cadrul specific teoriei reţelelor. În secţiunea 2 se arată cum se trece la o bază dual admisibilă “mai bună” în cazul în care soluţia asociată bazei curente are

componente negative. Algoritmul simplex dual, adaptat la specificul problemei de

transport, este prezentat în secţiunea 3. Lucrarea se încheie cu o ilustrare numerică.

1.Baze dual admisibile ale unei probleme de transport

Următoarele consideraţii sunt, în cea mai parte, reformulări ale unor fapte clasice. Pentru detalii vezi [ 1,3 ].

În general, dacă iF este un furnizor şi jC este un consumator, ambii aleşi arbitrar,

cuplul ),( ji CF se va numi rută (de transport).

Fie I o mulţime de cupluri de indici ),( ji cu mi1 şi nj1 .

Asociem lui I graful bipartit orientat G ( I ) în care:

Nodurile corespund furnizorilor mFF ,...,1 şi consumatorilor

nCC ,...,1 ;

Arcele corespund rutelor de transport ),( ji CF cu Iji ),( .

Definiţia 1. Mulţimea I se numeşte bază a problemei de transport (T) dacă graful asociat G ( I ) este un arbore, adică un graf conex şi fără cicluri.

Deoarece G ( I ) are m + n noduri, urmează că orice bază a problemei (T) are m + n – 1 componente.

Fixăm o bază I a lui (T). Variabilele ijx cu Iji ),( se vor numi, ca de obicei,

variabile bazice; toate celelalte vor fi numite nebazice.

Asociem bazei I doi vectori: o soluţie )()( ijxIx a problemei (T) – nu neapărat

admisibilă – şi un vector )()( ijI aflat în strânsă legătură cu duala:

Page 4: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Vasile Teodor Nica

_________________________________________________________________

njmicvu

vbuavuD

ijji

m

i

n

j

jjii

,...,1;,...,1

),(max)( 1 1

Soluţia )(Ix rezultă din condiţia ca valorile tuturor variabilelor nebazice să fie

zero. Deoarece G ( I ) este un arbore, valorile variabilelor bazice se obţin “din

aproape în aproape”, în mod unic.

Definiţia 2. Baza I se va numi (primal) admisibilă dacă toate

componentele soluţiei asociate )(Ix sunt nenegative, altfel spus dacă )(Ix este o

soluţie admisibilă a problemei (T).

Componentele vectorului )(I vor fi definite prin:

njmivuc jiijij ,...,1;,...,1

unde ),...,,,...,(),( 11 nm vvuuvu este o soluţie a sistemului de ecuaţii liniare:

IjicvuIS ijji ),(:)(

S(I ) este un sistem cu m + n variabile şi m + n – 1 ecuaţii, ale cărui soluţii ),( vu

au forma:

arbitrar ;,...,1,;,...,1, 00 njvvmiuu jjii (2)

unde ),( 00 vu este o soluţie particulară a sistemului.

Astfel, )(I nu depinde de alegerea soluţiei ),( vu a sistemului S(I ).Evident:

0)(I orice soluţie ),( vu a sistemului S(I ) este o soluţie a problemei duale

(D), adică verifică inegalităţile ijji cvu pentru orice Iji ),( .

În consecinţă:

Definiţia 3. Vom spune că baza I este dual admisibilă dacă .0)(I În

acest caz şi soluţia asociată )(Ix se va numi dual admisibilă.

Observăm că şi valoarea funcţiei obiectiv duale într-o soluţie ),( vu a sistemului

S(I) nu depinde de alegerea soluţiei ),( vu . Într-adevăr din (2) rezultă:

Page 5: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Algoritmul simplex dual în problema transporturilor

__________________________________________________________________

)(),()()(),(11

00

1

0

1

0m

i

i

n

j

j

n

j

jj

m

i

ii abvuvbuavu

),( 00 vu

în virtutea condiţiei de echilibru (1). Ca urmare, valoarea ),( vu va fi renotată în

continuare )(I .

Din teoria generală a dualităţii liniare se ştie că:

Dacă I este o bază dual admisibilă atunci )(I este o margine inferioară a

optimului problemei de transport (T).

Prin construcţie, soluţia )(Ix asociată bazei I şi orice soluţie ),( vu a sistemului

S(I) satisfac relaţiile teoremei ecarturilor complementare:

njmivucx jiijij ,...,1,,...,10)( (3)

astfel că:

Dacă baza I este simultan primal şi dual admisibilă atunci )(Ix este o soluţie

optimă a problemei de transport (T).

Ca de obicei componentele dublu indexate ale vectorilor )(Ix şi )(I vor

fi aranjate în două tabele cu m rânduri şi n coloane fiecare.

În tabelul soluţiei )(Ix cele m + n – 1 celule ),( ji CF cu Iji ),( vor fi

evidenţiate prin înscrierea în ele a valorilor ijx ale variabilelor bazice

corespunzătoare, celelalte celule rămânând libere. Este posibil ca unele celule să fie

“ocupate” cu 0; spunem atunci că soluţia )(Ix este degenerată. În celălalt tabel,

celulele ),( ji CF cu Iji ),( - şi în care 0ij - vor fi marcate cu asteriscuri.

Nu este exclus să existe Iji ),( cu 0ij , caz în care baza I se va numi dual

degenerată.

2.Ameliorarea unei soluţii dual admisibile

Scopul secţiunii este demonstrarea următoarei:

Page 6: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Vasile Teodor Nica

_________________________________________________________________

Teoremă Fie I o bază admisibilă a problemei de transport (T).

Presupunem că în soluţia asociată )(Ix există componenta 0pqx .Atunci există

o bază dual admisibilă I’ cu proprietăţile:

Iqpi ),()

)()() IIii

Demonstraţie: În arborele G( I ) eliminăm arcul ),( qp CF .Graful rămas

este reuniunea a doi arbori G1 şi G2 fără noduri sau arce comune, G1 fiind arborele

care conţine nodul Fp, vezi figura 1.

Este clar că oricum am alege nodul Fk într-unul din cei doi arbori şi nodul Cl în

celălalt, prin introducerea arcului ),( lk CF în reuniunea G1 G2 se va obţine un

nou arbore G( I’) corespunzător bazei :

),(),(\ lkqpII (4)

Vom arăta că putem alege (k,l) astfel încât condiţia ii) să fie îndeplinită.

Considerăm o soluţie ),( vu a sistemului S(I ) cu ajutorul căreia s-a

calculat )(I şi construim un nou ansamblu de valori numerice ),( vu astfel

încât vectorul

)( jiijij vuc

F1

F2

F3

F4

C2

C1

C3

C4 Se elimină!

)0( 35x

F1

F2

F3

C1

C2

C3

C4

G1

C5

F4

C5

G2

Figura 1

Page 7: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Algoritmul simplex dual în problema transporturilor

__________________________________________________________________

să aibă proprietăţile:

0pq (5)

0ij pentru toţi ),(\),( qpIji (6)

Pentru îndeplinirea condiţiei (5) va fi suficient să modificăm valoarea din ),( vu a

uneia din variabilele up sau vq. Vom lua, de exemplu:

pp uu şi 0cu qq vv (7)

Mai departe, toate arcele ),(\),(),( qpIjiCF ji cu sunt fie în G1, fie în G2

şi cum G1 şi G2 sunt arbori, satisfacerea condiţiei (6) implică schimbările unice:

ii uu pentru orice Fi în G1 ; jj vv pentru orice Cj în G1 ;

ii uu şi jj vv pentru toţi Fi şi Cj din G2.

Vectorul ’ va avea deci componentele:

.

;

;

12

21

21

Gin si Gin pentru

Gin si Gin pentru

Gin fie Gin fiesunt si daca

jiij

jiij

jiij

ij

CF

CF

CF

(8)

Valorile ij sunt schematic reprezentate în figura 2.

Apoi:

2121 Gin Gin Gin Gin jjii C

jj

C

jj

F

ii

F

ii vbvbuauavu )()(),(

pq

F

i

C

j xIabvu

ij

)(),(

11 Gin Gin

(9)

Page 8: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Vasile Teodor Nica

_________________________________________________________________

Observaţie: dacă în (7) am fi luat pp uu şi qq vv am fi obţinut aceleaşi

valori pentru şi ).,( vu

Din (8) rezultă că ),( vu este o soluţie a dualei (D) dacă şi numai dacă:

12 Gin este si Gin este jiijkl CFmin0 (10)

Pentru aceste valori ale lui , ),( vu este o soluţie “cel puţin la fel de bună” ca şi

),( vu deoarece (9) implică: )(),( Ivu .

Pentru kl , ),( vu devine o soluţie a sistemului S(I’ ) unde

),(),(\ lkqpII , ’ din (8) devine (I’ ) şi ),( vu din (9) devine )(I .

Teorema este demonstrată.

3. Algoritmul simplex dual în problema transporturilor

A) Soluţia )()( ijxIx asociată bazei I’, construită în demonstraţia

teoremei din secţiunea precedentă, se deduce din soluţia )(Ix asociată bazei

“vechi” I într-un mod foarte asemănător cu cel în care se schimbă soluţiile în

algoritmul “primal” uzual de rezolvare a problemelor de transport.

ii uu

ii uu

jj vv jj vv

Cq

Fp

G1

G2

G1 G2

ij

ij

ij

ij

Figura 2

Page 9: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Algoritmul simplex dual în problema transporturilor

__________________________________________________________________

Concret, adăugarea arcului ),( lk CF la arborele G( I ) va crea un unic ciclu ce

conţine arcele ),( qp CF şi ),( lk CF . Graful extins este de asemenea bipartit astfel

că ciclul format va avea un număr par de arce, vezi figura 3. Fixând un sens de parcurgere al ciclului care să coincidă cu sensul de parcurgere al

arcelor ),( qp CF şi ),( lk CF , soluţia )(Ix va avea componentele:

cicludin parte facnu care arce celelalte tepentru toa

;parcurgere de sensului

contrara orientarecu ciclu din arcele tepentru toa

ciclului; al parcurgere

de sensulin orientateciclu din arcele tepentru toa

),(

),(

),(

jiij

jipqij

jipqij

ij

CFx

CFxx

CFxx

x

Prin construcţie:

0pqx şi 0pqkl xx

şi cum:

klpq şi 0kl

relaţiile de complementaritate (3) sunt în continuare verificate.

C3

arcul adăugat

)0( 42

F2

F3

F4

C2

C3

C5

Săgeţile mici arată un sens

de parcurgere al ciclului!

arcul care se elimină

)0( 35x

C4

F4

Figura 3

C3

arcul adăugat

)0( 42

F2

F3

F4

C2

C3

C5

Săgeţile mici arată un sens

de parcurgere al ciclului!

arcul care se elimină

)0( 35x

C4

F4

Figura 3

ciclu F3

F1

F2

C2

C1

C5

Page 10: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Vasile Teodor Nica

_________________________________________________________________

Ciclul amintit se poate recunoaşte şi în tabelul soluţiei )(Ix : el este un “drum

închis” care începe şi sfârşeşte în celula ),( lk CF şi “coteşte în unghi drept” numai

prin celule ),( ji CF cu Iji ),( . Unul din “colţurile” ciclului va fi cu siguranţă

celula ),( qp CF , vezi figura 4.

B) Determinarea lui kl din (10) se poate face în tabelul valorilor ij

printr-un procedeu de marcare al rândurilor şi coloanelor acestuia, foarte asemănător cu cel utilizat în algoritmul ungar.

Procedura MARCAJ

START: Se şterge din tabel asteriscul corespunzător celulei ),( qp CF şi se

marchează rândul Fp cu [s].

PASUL ITERATIV: 1) Dintr-un rând Fi , “recent” etichetat, se marchează cu

eticheta [Fi] toate coloanele tabelului, încă neetichetate, care au un asterisc în rândul Fi ;

2) Dintr-o coloană Cj “recent” etichetată se marchează cu [Cj] toate

rândurile tabelului, încă nemarcate şi care au un asterisc în coloana Cj.

La terminarea operaţiei de marcare, “tăiem” cu o linie toate rândurile

etichetate şi toate coloanele neetichetate.

În final:

Celulele haşurate corespund bazei I din figura 1!

- arată “scăderea din” şi “adunarea la”

valorile din celulele respective a mărimii pqx

F2

F3

F4

C2

C3

C5

025x

042

+ -

+ -

+ -

+ şi

Figura 4

Page 11: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Algoritmul simplex dual în problema transporturilor

__________________________________________________________________

netaiat este ijijkl min

Noua soluţie ),( vu a dualei (D) se obţine “algoritmic” astfel:

se scade kl din valorile iu corespunzătoare rândurilor Fi

“tăiate”;

se adaugă kl la valorile jv corespunzătoare coloanelor Cj

“netăiate”.

Tabelul componentelor noului vector )()( ijI se obţine astfel:

se scade kl din valorile ij “netăiate”;

se adaugă kl la valorile ij “tăiate de două ori”;

celelalte componente ij - adică cele “tăiate o singură dată” – rămân

neschimbate.

Cu aceste pregătiri putem enunţa:

Algoritmul simplex dual pentru problema transporturilor

START : Se dă o bază dual admisibilă I împreună cu soluţia asociată )(Ix şi

vectorul )(I , calculat cu ajutorul unei soluţii ),( vu a problemei duale (D).

)(Ix şi )(I sunt astfel alese încât să verifice relaţiile (3) ale teoremei ecarturilor

complementare.

PASUL 1. Dacă soluţia asociată )(Ix are toate componentele nenegative STOP:

ea este o soluţie optimă a problemei de transport (T). În caz contrar se alege o

componentă 0pqx . Dacă sunt mai multe componente negative se poate lua

ijpq xx min .

PASUL 2. În tabelul componentelor lui )(I se aplică procedeul de marcaj pentru

a afla ruta ),( lk CF ce urmează a fi folosită în locul rutei ),( qp CF . Se

actualizează soluţia duală ),( vu şi tabelul [ )(I ] conform instrucţiunilor date în

subsecţiunea B);

PASUL 3. Se actualizează soluţia curentă )(Ix pe baza ciclului unic al rutei

),( lk CF determinat conform instrucţiunilor din subsecţiunea A).

Se revine la pasul1 în cadrul unei noi iteraţii.

Page 12: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Vasile Teodor Nica

_________________________________________________________________

4. Ilustrare numerică

Considerăm problema de transport echilibrată cu datele din tabelul1:

C1 C2 C3 C4 C5 Ofertă

F1 15 21 27 3 22 100

F2 18 16 25 12 29 60

F3 6 5 11 4 6 50

F4 21 7 19 14 9 40

Cerere 10 30 120 40 50 Q = 250

Tabelul 1

cu soluţia optimă din tabelul 2a). Costul asociat acestei soluţii este z = 3710.

C1 C2 C3 C4 C5 91v 122v 213v 34v 165v

F1 10 50 40 61u 3 0

F2 30 30 42u 5 11 9

F3 40 10 103u 7 3 17

F4 40 74u 19 2 5 24

Tabelul 2a) Tabelul 2b)

F1 100

F2 60

F3 50

F4 40

C1 10

C2 30

C3 120

C4 40

C5 50

10

50

40

30

30

40

10

40

Figura 5

Page 13: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Algoritmul simplex dual în problema transporturilor

__________________________________________________________________

În tabelul 2b) este indicată o soluţie optimă ),( vu a problemei duale (D) şi valorile

ij corespunzătoare. Rutele corespunzătoare bazei optime I sunt puse în evidenţă

prin graful bipartit G(I) din figura 5.

Presupunem că furnizorul F1 îşi diminuează oferta, deficitul fiind

compensat de ceilalţi furnizori în cotele 432 ,, aaa . Pentru moment, vom

presupune că modificările în ofertele furnizorilor sunt mici. În primul rând ne interesează efectul acestor”intenţii de modificare” asupra costului

total de transport.

Din teoria generală a dualităţii liniare rezultă că variaţia costului total:

z = costul “nou” – (costul “vechi” = 3710)

este dată de formula:

432414313212

4321443322

13162)()()(

)(

aaaauuauuauu

aaauauauauz

Remarcăm că, graţie relaţiei (8), z nu depinde de alegerea soluţiei optime duale

),( vu .

În cazul de faţă, z < 0 şi deci ne aşteptăm ca modificările să ducă la o micşorare a costului total al transportului. Concluzia nu este generală; dacă, de exemplu, F2 îşi reduce oferta ( fiind însă susţinut de către ceilalţi furnizori…) variaţia costului total

are expresia:

431424323121 11142)()()( aaaauuauuauuz

din care rezultă că “oferta de compensare” a lui F1 nu este avantajoasă…

Revenind la situaţia iniţială, suntem interesaţi totodată în a determina efectul

modificărilor asupra soluţiei )(Ix din tabelul 2a).

Deoarece G(I ) este un arbore, între furnizorul F1 şi ceilalţi furnizori există

lanţuri unice de arce de legătură:

Între F1 şi F2 există lanţul: 231 FCF ;

Între F1 şi F3 există lanţul: 331 FCF ;

Între F1 şi F4 există lanţul: 45331 FCFCF .

Luând pe rând aceste lanţuri şi transferând ofertele de compensare 432 ,, aaa

către F1, componentele ijx din soluţia optimă )(Ix , corespunzătoare rutelor ce

compun aceste lanţuri, se modifică conform schemei din figura 6. Celelalte

componente din )(Ix rămân neschimbate.

Page 14: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Vasile Teodor Nica

_________________________________________________________________

Se obţine astfel soluţia )(Ix asociată aceleaşi baze I dar corespunzătoare ofertelor

modificate. Ca urmare, )(Ix este o soluţie dual admisibilă. Ea este admisibilă şi în

consecinţă optimă numai dacă:

50050

10010

43243213

4435

aaaaaax

aax

De exemplu, pentru 1032 aa şi 54a - aceasta implicând o scădere a

ofertei furnizorului F1 cu 10 + 10 + 5 = 25 unităţi – problema modificată are soluţia optimă din tabelul 3a):

C1 C2 C3 C4 C5 C1 C2 C3 C4 C5

F1 10 25 40 F1 10 10 40

F2 30 40 F2 30 40

F3 55 5 F3 70 -10

F4 45 F4 60

Tabelul 3a) Tabelul 3b)

cu costul z’ = 3710 - 2 10 - 16 10 - 13 5 = 3465.

Dacă 1032 aa şi 204a , oferta lui F1 diminuându-se cu 40 unităţi, pentru

problema modificată se obţine soluţia dual admisibilă din tabelul 3b). Soluţia nu

mai este admisibilă şi atunci, costul asociat: z’ = 3710 - 2 10 - 16 10 - 13 20 = 3270 , va reprezenta numai o margine inferioară a costului total minim al problemei modificate.

Aplicăm acestei soluţii algoritmul simplex dual, descris în finalul secţiunii

precedente. Mărimile ij rămân cele asociate soluţiei optime a problemei originale

şi date în tabelul 2b).

Aplicăm procedura de marcaj plecând de la 01035x ; vezi tabelul 4a).

43213 50 aaax

223 30 ax

4333 40 aax

435 10 ax

445 40 ax

F1 F1

C3 F2

F3

F4

C5

Figura 6

Page 15: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Algoritmul simplex dual în problema transporturilor

__________________________________________________________________

iu 9 12 21 -3 16 jv 11 14 23 -1 16

6 3 0 [C3] 4 3 2

4 5 11 9 [C3] 2 5 11 11

-10 7 3 17 0 s -12 7 3 17 2

-7 19 2 5 24 -7 17 3 22

[F1] [F2] [F3] [F1]

Tabelul 4a) Tabelul 4b)

Noua soluţie duală ),( vu şi mărimile jiijij vuc sunt evidenţiate în tabelul

4b).

În tabelul 3b) construim ciclul rutei ),( 24 CF , vezi tabelul 5a).

10 10 40 10 10 40

30 40 20 50

70 -10 60

60 10 50

Tabelul 5a) Tabelul 5b)

“Redistribuind” 1035x pe celelalte colţuri ale ciclului se obţine soluţia dual

admisibilă din tabelul 5b). Noua soluţie are toate componentele nenegative (adică este primal admisibilă) şi ca urmare este o soluţie optimă pentru problema

modificată. În notaţiile secţiunii 2, costul de transport asociat va fi:

.32902)10(3270)()( pqxII

Notă. În lucrarea [4] este descrisă o metodă de rezolvare a problemei de transport

bazată pe determinarea progresivă a unei soluţii optime a problemei duale. Organizarea calculelor este matricială şi total diferită de cea dată în această lucrare.

Asteriscul a fost şters şi

înlocuit cu 0 ijmin{42 netăiate}

+

+

+

Page 16: Algoritmul Simplex Dual În Problema Transporturilor · Algoritmul Simplex Dual În Problema Transporturilor ... transportation problem is the primal simplex algorithm of the general

Vasile Teodor Nica

_________________________________________________________________

BIBLIOGRAFIE

[1] Dantzig, G.B.(1963) - Linear Programming and Extensions, Princeton, New

Jersey, Princeton University Press;

[2] Zidăroiu, C. (1984) -Programare liniară, Editura Tehnică, Bucureşti;

[3]Ahuja, R.K., Magnanti, T.L., Orlin, J.B. (1993) - Network flows: Theory,

Algorithms and Applications, Prentice Hall, Englewood Cliffs, N.J;

[4] Ji, P., Chu, K.F. (2002) - A Dual Matrix Approach to the Transportation

Problem, Asia – Pacific J. of Operational Research, vol.19, no. 1 , May .