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:
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
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:
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ă:
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:
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
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)
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
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
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
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.
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
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.
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
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}
+
+
+
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 .
Top Related