38
1 OPTIMIZARE COMBINATORIALĂ Conf. univ. dr. Silviu Bârză I. INTRODUCERE Vom presupune că optimizarea funcŃiilor se realizează prin maximizare şi că restricŃiile la care sunt supuse necunoscutele sunt liniare. De asemenea, ca în toate cazurile uzuale, vom presupune că variabilele modelelor sunt nenegative. Astfel, putem scrie problemele generale de programare liniară întregi mixte drept: (MIP) { } p n R y Z x b Gy Ax hy cx + + + + , , max unde n Z + este mulŃimea vectorilor întregi nenegativi de dimensiune n, p R + este mulŃimea vectorilor reali nenegativi de dimensiune p. x=(x 1 , x 2 , …, x n ) şi y=(y 1 , y 2 , …, y p ) sunt variabilele modelului. InstanŃa unei probleme este dată de specificarea datelor c, h, A, G şi b, unde c este un vector de dimensiune n, h este un vector de dimensiune p, A este o matrice n m × , G este o matrice p m × şi b este un vector de dimensiune m. Problema este numită mixtă deoarece sunt prezente atât variabilele întregi (discrete) cât şi cele reale (continue). Putem presupune că toate mulŃimile de date sunt raŃionale, presupunere care devine naturală, chiar dacă se restrânge generalitatea teoretică, datorită implicării calculatoarelor digitale în rezolvarea practică a problemelor de optimizare. MulŃimea { } b Gy Ax R y Z x S n n + = + + , se numeşte regiune admisibilă iar ( ) S y x , soluŃie admisibilă. O instanŃă a problemei este admisibilă dacă S . FuncŃia z=cx+hy este numită funcŃie obiectiv. Un punct admisibil (x 0 ,y 0 ) pentru care hy cx hy cx + + 0 0 pentru orice ( ) S y x , este numită soluŃie optimă, iar valoarea z 0 =cx 0 +hy 0 este valoarea optimă a soluŃiei. O instanŃă admisibilă pentru (MIP) poată să nu aibă o soluŃie optimă şi vom spune că instanŃa este negărginită dacă pentru orice R ω există ( ) S y x , astfel încât cx+hy>ω şi în acest caz vom putea folosi notaŃia = 0 z . Un caz special pentru (MIP), în care nu există variabile continue, poată numele de problemă de programare liniară întreagă (pur întreagă) şi poate fi scrisă prin: (IP) { } n Z x b Ax cx + , max

Optimizare combinatoriala CURS

Embed Size (px)

Citation preview

Page 1: Optimizare combinatoriala CURS

1

OPTIMIZARE COMBINATORIALĂ

Conf. univ. dr. Silviu Bârză

I. INTRODUCERE Vom presupune că optimizarea funcŃiilor se realizează prin maximizare şi că restricŃiile la care sunt supuse necunoscutele sunt liniare. De asemenea, ca în toate cazurile uzuale, vom presupune că variabilele modelelor sunt nenegative. Astfel, putem scrie problemele generale de programare liniară întregi mixte drept:

(MIP) { }pn RyZxbGyAxhycx ++ ∈∈≤++ ,,max

unde nZ + este mulŃimea vectorilor întregi nenegativi de dimensiune n,

pR+ este mulŃimea vectorilor reali nenegativi de dimensiune p. x=(x1, x2, …, xn) şi y=(y1, y2, …, yp) sunt variabilele modelului. InstanŃa unei probleme este dată de specificarea datelor c, h, A, G şi b, unde c este un vector de dimensiune n, h este un vector de dimensiune p, A este o matrice nm× , G este o matrice pm× şi b este un vector de dimensiune m. Problema este numită mixtă deoarece sunt prezente atât variabilele întregi (discrete) cât şi cele reale (continue). Putem presupune că toate mulŃimile de date sunt raŃionale, presupunere care devine naturală, chiar dacă se restrânge generalitatea teoretică, datorită implicării calculatoarelor digitale în rezolvarea practică a problemelor de optimizare. MulŃimea

{ }bGyAxRyZxS nn ≤+∈∈= ++ ,

se numeşte regiune admisibilă iar ( ) Syx ∈, soluŃie admisibilă. O instanŃă a problemei este admisibilă dacă ∅≠S . FuncŃia z=cx+hy este numită funcŃie obiectiv. Un punct admisibil (x0,y0) pentru care hycxhycx +≥+ 00 pentru orice ( ) Syx ∈, este numită soluŃie optimă, iar valoarea z0=cx0+hy0 este valoarea optimă a soluŃiei. O instanŃă admisibilă pentru (MIP) poată să nu aibă o soluŃie optimă şi vom spune că instanŃa este negărginită dacă pentru orice R∈ω există ( ) Syx ∈, astfel încât

cx+hy>ω şi în acest caz vom putea folosi notaŃia ∞=0z . Un caz special pentru (MIP), în care nu există variabile continue, poată numele de problemă de programare liniară întreagă (pur întreagă) şi poate fi scrisă prin:

(IP) { }nZxbAxcx +∈≤ ,max

Page 2: Optimizare combinatoriala CURS

2

Un alt caz special pentru (MIP), în care nu există variabile discrete, este reprezentat de clasica problemă de programare liniară dată sub forma:

(LP) { }pRybGyhy +∈≤ ,max

În foarte multe cazuri practice de optimizare, problemele consideră variabilele întregi ca relaŃii logice şi astfel ele sunt restrânse la valorile 0 şi 1. Se obŃin astfel problemele (0-1 MIP), respectiv (0-1 IP) în care nZx +∈ se înlocuieşte prin nBx∈ , unde Bn este mulŃimea vectorilor binari de dimensiune n. Un caz special de problemă (IP) apare atunci când se consideră N={1, 2, …, n} ca

mulŃime finită de valori şi pentru NF ⊆ definim ( ) ∑ ∈=

Fj jcFc . Notăm cu F~ o

familie de submulŃimi ale lui N şi definim problema

(CP) { }FFFc~

)(max ∈

care este o problemă generică de optimizare combinatorială. Vedem în plus că problemele (0-1 IP) sunt cazuri particulare pentru (CP). Cele mai multe din problemele (CP) practice sunt de fapt probleme de tipul (0-1 IP). O zonă importantă şi largă de aplicare a problemelor (CP) priveşte gestionarea şi utilizarea eficientă a resurselor pentru creşterea efectelor economice. Astfel de probleme includ distribuŃia bunurilor, ordonanŃarea producŃiei, planificarea economică (cum este cazul problemelor de buget), design-ul în diverse activităŃi economice (de exemplu pentru reŃelele de comunicaŃii şi transport) şi, de ce nu, problema înlocuirii utilajelor. În domeniul matematicii, modelele (CP) se aplică la subiecte legate de combinatorică, teoria grafurilor şi logică matematică. AplicaŃii recente au implicat modele combinatoriale în biologia moleculară, fizica energiilor înalte şi cristalografia cu raze X. O serie de probleme de optimizare combinatorială, mai exact de factură 0-1, pot fi considerate drept clasice pentru acest subiect şi dăm în continuare câteva exemple.

I.1. Problema rucsacului 0-1

Presupunem existenŃa a n proiecte, fiecare având un cost aj şi un efect cj. Proiectele de realizează sau nu, fără a fi posibile variate intermediare. Pentru realizarea proiectelor se poate utiliza un buget dat de valoare b. Se pune problema alegerii unei submulŃimi a proiectelor care să maximizeze suma efectelor fără depăşirea bugetului. Din punct de vedere formal problema poate fi dată prin exprimarea

( )

∈=≤∑∑==

nn

n

jjj

n

jjj Bxxxxbxaxc ,,,,max 21

11

Page 3: Optimizare combinatoriala CURS

3

I.2. Problema asocierii Presupunem că există n persoane şi m locuri de muncă ( )mn ≥ . Fiecare loc de muncă trebuie ocupat de o singură persoană, iar o persoană poate ocupa cel mult un loc de muncă, Costul ca persoana j să presteze munca în locul i este cij. Se pune problema asocierii persoanelor la locurile de muncă astfel încât să se minimizeze costul total. Formularea matematică a problemei se face prin introducerea variabilelor Bxij ∈

care este 1 dacă persoana j ocupă locul de muncă i şi 0 altfel. Se obŃine astfel exprimarea :

∈≤= ∑∑∑∑=== =

mnm

iij

n

jij

m

i

n

jijij Bxxxxc ,1,1min

111 1

.

I.3. Problema corespondenŃei (perfecte)

Presupunem că 2n studenŃi trebuie repartizaŃi în n camere duble. Aici fiecare student trebuie asociat la un singur coleg de cameră. Presupunem că evenimentul (i, j), i<j, corespunde cuplării studenŃilor i şi j în aceeaşi cameră, asociere care are ca efect valoarea cij. Se obŃine astfel o formulare matematică:

( )

∈=+ −

><

= +=∑∑∑∑ 12

12

1 1

,2,,2,1,1max nn

ijij

ikki

n

i

n

ijijij Bxnixxxc …ρ

unde ρ poate fi relaŃia “=” sau “≤ ”. Dacă în exprimarea modelului se foloseşte restricŃia cu inegalitate problema este una de corespondenŃă (simplă). Dacă în restricŃii se foloseşte relaŃia de egalitate, atunci problema poartă numele de problema corespondenŃei perfecte.

I.4. Problema comis voiajorului Considerăm o mulŃime de noduri V={1, 2, …, n} şi o mulŃime de arce A. Nodurile reprezintă oraşe iar arcele perechi de oraşe între care există o legătură directă. Pentru fiecare arc (i, j), cij este timpul călătoriei directe între cele două oraşe. Se pune problema găsirii unui tur care: să înceapă în oraşul 1, să se termine tot în oraşul 1, să treacă prin fiecare din celelalte oraşe o singură dată şi să fie realizat într-un timp total minim. Pentru formularea problemei introducem variabilele xij care iau valoarea 1 dacă j

urmează imediat după i în tur şi 0 altfel. Astfel, ABx∈ . CondiŃia ca fiecare oraş să fie vizitat exact o dată este formalizată prin intermediul condiŃiilor: SP-1

( ){ }1

,

=∑∈Ajii

ijx pentru Vj∈

şi

Page 4: Optimizare combinatoriala CURS

4

SP-2 ( ){ }

1,

=∑∈Ajij

ijx pentru Vi∈

Aceste condiŃii asigură nu numai realizarea unui tur ci şi formarea subtururilor

care nu pot fi întregite la un tur. Pentru a evita formarea subtururilor este necesară introducerea unei condiŃii suplimentare, dată pentru orice VU ⊂ cu 22 −≤≤ VU

prin: SP-3

( ){ }1

\,,

≥∑∈∈∈ UVjUiAjiijx

sau echivalent prin: SP-3’

( ){ }1

,,

−≤∑∈∈∈

UxUjUiAji

ij

Folosind restricŃiile specificate, problema comis voiajorului se poate exprima formal prin:

( )

)∑∈

3-SPsau 3-(SP si 2-SP 1,-SP satisfacex minji, A

ijij xc .

II. OPTIMIZARE LINIARĂ DISCRETĂ

Vom studia în cele ce urmează o problemă de optimizare liniară în care o parte sau toate variabilele problemei pot lua numai valori întregi precizate în prealabil. Mai precis, vom considera problema

{ }

∈∈

=

JjSx

x

bAx

xc

jj

T

,

0

inf

(1)

unde , ( )m nA∈ ℝM , rangA=m, J este o submulŃime nevidă a mulŃimii { }n,...,1 , iar jS ,

Jj∈ , sunt submulŃimi nevide date ale mulŃimii numerelor întregi ℤ . O problemă de optimizare de această formă va fi numită problemă de optimizare liniară discretă. Evident, eliminând ultima condiŃie din (1), condiŃie care va fi numită condiŃia de integritate, se obŃine o problemă de optimizare liniară. Dacă { }nJ ,...,1= spunem că (1) este o problemă de optimizare liniară (total) în numere întregi. În caz contrar, (1) este numită problemă de optimizare parŃial în numere întregi sau mixtă. Se poate constata uşor că, fără a restrânge generalitatea, putem presupune că avem

jS = ℤ pentru toŃi Jj∈ . Cu alte cuvinte, este suficient să considerăm problema

Page 5: Optimizare combinatoriala CURS

5

{ }inf

0

,

T

j

c x

Ax b

x

x j J

=

≥ ∈ ∈ ℤ

(2)

unde , ( )m nA∈ ℝM şi rangA=m.

Fie { }0, ≥== xbAxxP

mulŃimea soluŃiilor admisibile ale problemei de optimizare care se obŃine din (2) prin eliminarea (relaxarea) condiŃiei de integritate, adică a problemei

{ }

=

0

inf

x

bAx

xcT

(3)

Fie

{ }JjZxPxxP j ∈∈∈=′ ,,

mulŃimea soluŃiilor admisibile ale problemei (2). Lema 1. Dacă *x este soluŃie optimă a problemei (3) şi dacă Px ′∈* , atunci *x este soluŃie optimă a problemei de optimizare discretă (2). Rezultatul precedent sugerează posibilitatea construirii unui algoritm care să rezolve problema de optimizare discretă. Mai precis, rezolvăm mai întâi problema de optimizare liniară (3). Dacă *x este soluŃie optimă a problemei (3), atunci avem două posibilităŃi: (a) Avem Px ′∈* . În acest caz, conform lemei precedente, rezultă că *x este soluŃie optimă a problemei (2) (STOP).

(b) Avem Px ′∉* . În acest caz se adaugă la restricŃiile care definesc mulŃimea P o restricŃie de secŃionare, restricŃie care elimină din P soluŃii admisibile care nu pot fi soluŃii optime ale problemei (2). Este clar că astfel de soluŃii există, *x fiind evident o astfel de soluŃie.

În secŃiunile următoare se prezintă doi algoritmi datoraŃi lui Gomory, algoritmi care utilizează ideea precedentă.

II.1. Algoritmul ciclic al lui Gomory

Algoritmul ciclic al lui Gomory este destinat rezolvării problemei de optimizare liniară total în numere întregi. Fie B o bază primal şi dual admisibilă pentru problema de optimizare liniară (3). Rezultă că soluŃia de bază corespunzătoare lui B este soluŃie optimă a problemei (3). Sistemul de ecuaŃii Ax=b se poate scrie în formă explicită

BR

∈−= ∑∈

ixyxxj

jBij

Bii ,

Page 6: Optimizare combinatoriala CURS

6

Dacă Bix ∈ℤ , B∈∀i , atunci, din Lema 1 dată în secŃiunea precedentă rezultă că

soluŃia de bază corespunzătoare bazei B este soluŃie optimă pentru problema de optimizare liniară în numere întregi (2). În caz contrar, fie B∈u astfel încât B

ux ∉ℤ . Să introducem notaŃiile â:

( ) 0uBu

Bu fxEx +=

şi ( ) uj

Buj

Buj fyEy += , R∈j

unde prin E(a) am notat partea întreagă a numărului real a. RestricŃia de secŃionare care se obŃine este următoarea

( )∑∈

−≤−Rj

ujuj fxf 0

Adăugând această restricŃie la problema (3), rezultă că urmează să rezolvam problema de optimizare liniară

{ }

( )

≥≥

−=+−

=

+

+∈∑

0,0

inf

1

01

n

unj

juj

T

xx

fxxf

bAx

xc

R

(4)

unde 1+nx este variabila ecart introdusă pentru transformarea restricŃiei de secŃionare în

ecuaŃie. Se constată uşor că pentru problema (4) avem o bază corespunzătoare variabilelor

Bx şi 1+nx . Adăugând tabelului simplex corespunzător lui B pentru problema (3) o linie

suplimentară pentru variabila de bază 1+nx şi o coloană suplimentară corespunzătoare

aceleiaşi variabile obŃinem tabelul simplex pentru problema (4): V.B. V.V.B. …

jx … 1+nx

Bx Bx … Bjy … 0

1+nx 0uf− … ujf− … 1

Bz Bz … j

Bj cz − … 0

Se poate arată că, în anumite condiŃii, acest algoritm este finit.

II.2. Algoritmul mixt al lui Gomory Algoritmul mixt al lui Gomory este destinat pentru rezolvarea problemei de optimizare liniară parŃial în numere întregi. În acest caz vom avea deci { }nJ ,...,1≠ . Fie B o bază primal şi dual admisibilă pentru problema de optimizare liniară (3). Rezultă că soluŃia de bază corespunzătoare lui B este soluŃie optimă a problemei (3). Sistemul de ecuaŃii Ax=b se poate scrie în formă explicită

BR

∈−= ∑∈

ixyxxj

jBij

Bii ,

Page 7: Optimizare combinatoriala CURS

7

Dacă ∅=J∩B sau dacă Bix ∈ℤ pentru otice Ji ∩B∈ , atunci, din Lema 1

rezultă că soluŃia de bază corespunzătoare bazei B este soluŃie optimă pentru problema de optimizare liniară parŃial în numere întregi (2). Dacă există Ju ∩B∈ astfel încât B

ux ∉ℤ , să introducem notaŃiile

J\*RR =

{ }0,** >∈=+Bujyjj RR

şi

{ }0,** <∈=−Bujyjj RR

RestricŃia de secŃionare care se obŃine în acest caz are forma ( ) 0u

jjuj fxd −≤−∑

∈R

unde

( )

>∈−−

≤∈

∈−

=

+

cazuri celelalteîn 0

,11

,1

00

0

0

*

0

0

*

uujuj

u

u

uujuj

Buj

u

u

Buj

ij

ffJjpentruff

fffJjpentruf

jpentruyf

fjpentruy

d

R

R

R

R

Utilizarea restricŃiei de secŃionare obŃinută mai sus se face în acelaşi mod în care s-a procedat la algoritmul ciclic. Se poate de asemenea arăta că, în anumite condiŃii, algoritmul mixt al lui Gomory este finit.

II.3. Algoritmul cu fixare întreagă

Algoritmii ciclic şi mixt ai lui Gomory destinaŃi rezolvării problemelor discrete se bazează pe introducerea de restricŃii suplimentare, deci prin introducerea, la fiecare pas, a unei linii şi coloane suplimentare în tabelul simplex obŃinut la pasul anterior al rezolvării.

Aceste extensii măresc efortul de rezolvare şi de memorare a modelelor de lucru care sunt din ce în ce mai mari.

Ca alternativă la algoritmii de tip Gomory s-a dezvoltat tehnica reducerii succesive a numărului de necunoscute. Considerăm din nou problema discretă (2) şi problema continuă (3) obŃinută prin relaxare.

Fie B o bază primal şi dual admisibilă pentru problema de optimizare liniară (3). Rezultă că soluŃia de bază corespunzătoare lui B este soluŃie optimă a problemei (3).

Dacă Bix ∈ℤ , B∈∀i , atunci, din Lema 1 dată în secŃiunea precedentă rezultă că

soluŃia de bază corespunzătoare bazei B este soluŃie optimă pentru problema de optimizare liniară în numere întregi (2).

Altfel fie i∈B astfel încât Bix ∉ℤ . Considerăm două probleme de programare

liniară obŃinute astfel:

Page 8: Optimizare combinatoriala CURS

8

- se elimină din funcŃia obiectiv toate variabilelor care în baza B au valori întregi :I variabila aleasă B

ix ;

- se înlocuiesc în sistemul de restricŃii toate variabilele care în baza B au valori întregi cu valorile lor effective şi părŃile constante se trec în membru drept.

- Cele două probleme se obŃin substituid în sistemul de restricŃii variabila Bix cu

( )BuE x şi respective ( ) 1B

uE x +

Se rezolvă cele două probleme de programare liniară obŃinute mai sus, care, prin completarea vectorilor soluŃie cu variabile fixate mai sus conduc la vectorii 1x şi 2x . Se

alege kx pentru care { }1 2inf ,T k T Tc x c x c x= . Dacă kx are toate componentele întregi

atunci kx este soluŃie optimă pentru problema de optimizare liniară în numere întregi (2). Altfel se reia procedeul descris mai sus cu kx în loc de Bx .

Facem observaŃia ca acest process se termină totdeauna, deoarece la fiecare aplicare cel puŃin încă o valoare din vectorul soluŃie devine întreagă.

III. DOMENII POLIEDRALE

III.1. Prezentare generală

Spunem că nRP ⊆ este un domeniu poliedral dacă P este o mulŃime de puncte

care satisfac un număr finit de inegalităŃi liniare, deci ( )bAxRxP n ≤∈= , unde (A, b)

este o matrice de dimensiune ( )1+× nm . Un domeniu poliedral este raŃional dacă există o matrice (A’, b’) de dimensiune

( )1' +× nm cu elementele raŃionale astfel încât { }'' bxARxP n ≤∈= .

Un domeniu poliedral nu este mărginit dacă există +∈ω R astfel încât

{ }njoricepentruxRxP jn ,,2,1 …=ω≤≤ω−∈⊆ . Un domeniu poliedral mărginit

este numit politop. O mulŃime de puncte x1, x2, …, xk din Rn se numec afin independente dacă

sistemul de ecuaŃii 01

=λ∑=

k

i

ii x şi 0

1

=λ∑=

k

ii are soluŃia unică λ1=λ2=…=λk=0. Spunem că

un domeniu poliedral P este de dimensiune k (notăm dim(P)=k) dacă numărul maxim de puncte afin independente este k+1; un domeniu poliedral nRP ⊆ este complet

dimensionat dacă dim(P)=n; putem considera prin notaŃie că dacă ∅=P , atunci 1)dim( −=P .

Un punct Px∈ se numeşte punct scufundat al lui P dacă ii bxa < pentru toŃi

=∉Mi , unde { }P xoricepentru ,1 ∈=≤≤==i

i bxamiiM ( ( )ii ba , nu poate fi scris ca o

combinaŃie liniară de linii j pentru care ajx=bj pentru orice Px∈ , linii care formează o submatrice a lui (A, b) notată (A=, b=).

Un punct Px∈ se numeşte punct interior al lui P dacă pentru orice j=1, 2, …, m ajx<bj.

Page 9: Optimizare combinatoriala CURS

9

Relativ la noŃiunile de dimensionare şi punct interior, pot fi prezentate în acest moment două rezultate importante şi anume:

· Dacă nRP ⊆ atunci dim(P)=n-rang(A=, b=).

· Un domeniu poliedral P este complet dimensionat dacă şi numai dacă P are un punct interior.

Domeniile poliedrale pot fi descrise în două moduri: prin feŃe şi prin puncte şi raze extreme. O inegalitate 0π≤πx (notată şi ( )0, ππ ) spunem că este o inegalitate validă

pentru un domeniu poliedral P dacă ea este satisfăcută pentru orice Px∈ . Dacă ( )0, ππ

este o inegalitate validă pentru P, vom numi faŃă a lui P mulŃimea { }0π=π∈= xPxF . O

faŃă este proprie dacă este nevidă şi diferită de P. O inegalitate validă pentru P la care îi corespunde o faŃă nevidă se numeşte inegalitate suport pentru P. O faŃă F a lui P pentru care dim(F)=dim(P)-1 se numeşte un facet pentru P. În reprezentarea domeniilor poliedrale, principalul rezultat este dat de următoarea teoremă (unicitatea implicată este una relativă în sensul neconsiderării multiplicării cu scalari).

Teoremă: a) Un domeniu poliedral complet dimensionat P are o unică reprezentare

minimală printr-o mulŃime finită de t inegalităŃi liniare. În particular, pentru fiecare facet

Fj al lui P există o unică inegalitate jj bxa ≤ reprezentând Fj şi

{ }tibxaRxP iin ,,2,1, …=≤∈= .

b) Dacă dim(P)=n-k, k>0, atunci

{ }tkkkipentrubxakipentrubxaRxP ii

iin +++=≤==∈= ,,2,1,,,2,1 ……

unde pentru j=1, 2, …, k (aj, bj) este o mulŃime maximală de linii liniar independente din (A=, b=) şi pentru j=k+1, k+2, …, k+t (aj, bj) este orice inegalitate din clasa de echivalenŃă a inegalităŃilor reprezentând facetul Fj.

Un punct Px∈ este un punct de extrem pentru P dacă nu există nici o pereche de

puncte 2121 ,, xxPxx ≠∈ pentru care 2

2

11

2

1 xxx += .

Fie { }00 ≤∈= ArRxP n , dacă { } ∅≠≤∈= bAxRxP n atunci { }0\0Pr∈ se

numeşte o rază pentru P. Un punct nRr∈ este o rază a lui P dacă şi numai dacă pentru

orice punct Px∈ are loc { }+∈λλ+=∈ RrxyRy n , . O rază r a lui P este numită rază

extremă dacă şi numai dacă nu există nici o pereche de raze { }0\, 021 Prr ∈ , 21 rr λ≠

pentru orice +∈λ R astfel încât 2

2

11

2

1 rrr += .

Page 10: Optimizare combinatoriala CURS

10

Rezultatele importante în rerpezentarea domeniilor poliedrale prin puncte şi raze extreme sunt date de următoarele enunŃuri:

· x este un punct de extrem al lui P dacă şi numai dacă x este o faŃă de dimensiune 0 a lui P,

· Dacă P este nevidă, r este o rază extremă pentru P dacă şi numai dacă { }+∈λλ Rr

este o faŃă de dimensiune 1 pentru P0

· Un domeniu poliedral are un număr finit de puncte de extrem şi de raze de extrem

Teorema (lui Minkowski): Dacă ∅≠P şi rang A=n atunci

∈≥µ∈≥λ=λµ+λ=∈= ∑∑ ∑∈∈ ∈

JjpentruKkpentrurxxRxP jkKk

kKk Jj

jj

kk

n 0,0,1, ,

unde { } Kkkx ∈ este mulŃimea punctelor de extrem ale lui P şi { } Jj

jr ∈ este mulŃimea

razelor de extrem ale lui P.

III.2. Optimizarea combinatorială în domenii poliedrale La trecerea la optimizarea întreagă şi combinatorială, P este acoperirea convexă a unei muŃimi de numere întregi. În acest caz P poate fi dat fie printr-o descriere implicită a punctelor de extrem, fie printr-o mulŃime de inegalităŃi liniare astfel încât P să fie acoperea convexă a punctelor întregi care satisfac aceste inegalităŃi, fie printr-o descriere a lui P cu inegalităŃi liniare, cu numărul acestora depinzând exponenŃial ca funcŃie de descrierea naturală a lui P. Însă, aplicând aceste descrieri, nu există nici un algoritm evident, cu timp polinomial pentru cele trei probleme enunŃate relativ la P. Pentru exemplificare să considerăm familia politopurilor pentru problema (0-1 IP). O instanŃă este acum specificată prin valorile întregi m şi n, prin matricea (A, b) de dimensiune ( )1+× nm şi un vector scurt nRx∈ sau o inegalitate dată printr-un vector

scurt ( ) 10, +∈ππ nR . Politopul pentru o instanŃă este { }bAxBxconvP n ≤∈= .

Considerănd problema admisibilităŃii mărginite inferior avem:

{ } { } ∅≠π≥π≤∈⇔∅≠π≥π∈ 00 , xbAxRxxRxP nn∩

Această problemă, aşa cum am vazut anterior, este NP-completă şi astfel şi problema admisibilităŃii mărginite inferior pentru familia politopurilor programării întregi 0-1 este tot NP-completă. Folosind afirmaŃia relativă la echivalenŃa problemelor relative la domeniile poliedrale va rezulta că problema validităŃii pentru familia politopurilor programării întregi 0-1 va fi o problemă din CoNP şi astfel ar fi în NP dacă ar fi în

CoNPNP ∩ .

Page 11: Optimizare combinatoriala CURS

11

Pentru problema apartenenŃei la familia politopurilor programării întregi 0-1

presupunem că { }joricepentruxbAxBRxx jnn 1,\ ≤≤∈∈ + , eliminând astfel cazurile

triviale când nBx∈ sau { }joricepentruxbAxRxx jn 1, ≤≤∈∉ + . Dacă dim(P)=n, orice

Px∈ poate fi scris ca o combinaŃie convexă a unei mulŃimi de n+1 vectori binari din P. Prima etapă a unui algoritm nedeterminist pentru rezolvarea problemei apartenenŃei constă în ghicirea vectorilor nj Bx ∈ˆ , j=1, 2, …, n+1. Pentru a doua etapă verificăm întâi dacă toŃi vectorii jx sunt în P (altfel este necesar să revenim la prima etapă) şi apoi considerăm sistemul liniar:

∑+

=

+

=

1

ˆ

1

1

1

1n

ii

n

i

ii xx

Dacă acest sistem are o soluŃie 10 +∈λ nR atunci putem trage concluzia că Px∈ altfel trebuind să revenim la prima etapă.

III.3. Domenii poliedrale întregi

Optimizarea combinatorială în domenii poliedrale întregi are ca principală

problemă studiul regiunilor admisibile de forma { }bAxZxS n ≤∈= + pentru programele

întregi de forma { }Sxcx ∈max , unde (A, b) este o matrice de dimensiune ( )1+× nm cu

elemente întregi. În plus se consideră că se cunoaşte o descriere “frumoasă” pentru

conv(S), unele probleme având proprietatea că { }bAxRxSconv n ≤∈= +)( iar pentru

altele putându-se specifica o mulŃime explicită de restricŃii '' bxA ≤ şi astfel să avem { }'',)( bxAbAxRxSconv n ≤≤∈= . Frecvent în astfel de cazuri obŃinem şi un algoritm

combinatorial eficient pentru rezolvarea problemei de optimizare combinatorială. Vom spune că un domeniu poliedral nevid nRP ⊆ este întreg dacă fiecare din

feŃele sale nevide conŃine un punct întreg. În loc de utilizarea tuturor feŃelor putem considera doar feŃele minimale. Deoarece fiecare faŃă minimală este un punct de extrem pentru domeniul poliedral dacă şi numai dacă rang(A)=n, vom putea spune că un

domeniu poliedral { }bAxRxP n ≤∈= cu rang(A)=n este întreg dacă şi numai dacă toate

punctele sale de extrem sunt întregi. Un sistem de inegaliŃăti liniare bAx ≤ este numit total întreg dual dacă pentru

orice c întreg astfel încât problema de programare liniară { }bAxcxzLP ≤= max peste

domeniul poliedral P este finită şi duala sa { }mRycyAyb +∈≤ ,min are o soluŃie optimă

întreagă. Folosind această noŃiune, avem că dacă bAx ≤ este total întreg dual şi b este

întreg atunci şi domeniul poliedral { }bAxRxP n ≤∈= este întreg.

Principalul rezultat de reprezentare a domeniilor poliedrale este dat de enunŃul:

Page 12: Optimizare combinatoriala CURS

12

PropoziŃie: Pentru un domeniu poliedral întreg complet dimensionat există o unică reprezentare printr-un sistem total întreg dual cu membru drept întreg. În continuare să vedem o serie de caracteristici pentru matricile pentru care rezultă un domeniu poliedral întreg şi pentru care se poate da un algoritm combinatorial eficient pentru rezolvarea problemelor de programare liniară asociate. O matrice A de dimensiune nm× este total unimodulară dacă determinantul fiecărei submatrici pătrate formate din A este –1, 0 sau 1. Pentru o astfel de matrice avem

că ( ) { }bAxRxbP n ≤∈= + este un domeniu poliedral întreg pentru orice mZb∈ pentru

care ( ) ∅≠bP . Acest lucru se poate generaliza pentru optimizarea combinatorială la enunŃul: PropoziŃie: Dacă A este o matrice total unimodulară, b, b’, d, d’ sunt întregi şi

( ) { } ∅≠≤≤≤≤∈= dxdbAxbRxddbbP n ','',,', atunci P(b, b’, d, d’) este un

domeniu poliedral întreg. Exemple de matrici evident unimodulare sunt: � matricile de elemente 0, 1 şi –1 în care în fiecare coloană sau există o singură valoare nenulă, sau există două valori nenule din care una este 1 şi una –1.

� matricile interval � matricile reŃea Matricile interval sunt matricile A de dimensiune nm× şi elemente 0-1 în care, în fiecare coloană valorile 1 sunt consecutive, deci în care dacă aij=akj şi k>i+1 atunci asj=1 pentru orice s pentru care i<s<k. Principial, o matrice reŃea este o matrice în care coloanele reprezintă arcele unei matrici de incidenŃă nod-arc pentru un digraf, după stergerea unei linii şi execuŃia unui număr oarecare de pivotări simplex. Definirea exactă a matricilor reŃea o vom da în continuare împreună cu elementele necesare prezentării ei. Fie D=(V, F) un digraf cu m+1 noduri şi n arce şi A’ matricea de incidenŃă nod-arc a digrafului presupus conex. Vom considera în plus că rang(A’)=m deoarece este convenabil să lucrăm cu matrici cu rangul egal cu numărul de linii. Transformarea lui A’ se realizează prin: 1. Fie A matricea de dimensiune nm× care se obŃine din A’ prin ştergerea oricărei linii. 2. Fie A=(A1, A2) rescrierea lui A în care A1 este o matrice nesingulară a lui A de dimensiune mm× . Arcele (e1, e2, …, em) corespunzătoare coloanelor lui A1 induc un arbore de trecere în D notat prin T=(V, F1).

3. Reprezentarea unei coloane din A2, corespunzătoare unui arc ej=(u, v), este o combinaŃie liniară a coloanelor din A1 şi este dată prin vectorul de incidenŃă ja

pentru unicul drum pj din T de la u la v, definită prin:

−=

altfel

inverssensnieparcurgepadac

directsensnieparcurgepadac

a ij

ij

ij

0

ˆ1

ˆ1⌣

Page 13: Optimizare combinatoriala CURS

13

Dând un arbore orientat T=(V, F2) şi un digraf D=(V, F2) cu |V|=m+1, |F1|=m şi |F2|=n, matricea de incidenŃă arc-drum notată cu M(T, D) corespunzătoare drumurilor din T care au punctele terminale definite prin arcele din F2 se numeşte matrice reŃea. De fapt, matricile date în primele două exemple sunt cazuri particulare de matrici reŃea. Un rezultat important pentru reprezentarea matricilor unimodulare este dat de enunŃul: PropoziŃie: Dacă A este o matrice total unimodulară care nu este de unul din cele trei tipuri date ca exemplu, atunci ea poate fi construită din matrici de cele trei tipuri prin folosirea următoarelor reguli: 1. Transpunere; 2. formatea matricii (A, I), unde I este matrice unitate; 3. ştergerea unei linii sau coloane unitare; 4. multiplicarea cu –1 a unei linii sau coloane; 5. interschimbarea a două linii sau coloane; 6. duplicarea liniilor sau coloanelor; 7. realizarea unei operaŃii pivot; 8. compunerea a două matrici de formă specială.

La regulile enumerate în enunŃul de mai sus consider că trebuie făcute următoarele clarificări: (a) pentru realizarea unei operaŃii pivot.

Presupunem că |aij|=1 şi realizăm următoarele transformări: întâi, dacă aij=-1, multiplicăm linia i cu –1. Renumim linia i prin

ia , apoi pentru fiecare ik ≠ , linia k va avea forma ka , obŃinută prin aplicarea formulei:

−=+

=−

=

=

1

1

0

kjik

kjik

kjk

k

aadacaa

aadacaa

aadaca

a⌣

(b) pentru compunerea a două matrici cu formă specială.

Cele două matrici total unimodulare au formele speciale

10c

aaA şi respectiv

Bdd

b01 unde A este o matrice de dimensiune

( ) ( )21 −×− nm , B este o matrice de dimensiune ( ) ( )21 −×− mn , a este un vector coloană de dimensiune m-1, c este un vector linie de dimensiune n-2, b este un vector linie de dimensiune m-2 şi d este un vector coloană de

dimensiune n-1. Compunerea este definită ca matricea

Bcd

abA, de

dimensiune ( ) ( )42 −+×−+ nmnm .

Page 14: Optimizare combinatoriala CURS

14

Pentru a introduce un alt tip de matrice cu rezultate bune în optimizarea combinatorială să considerăm problemele de grupare/acoperire fracŃionară, probleme care sub anumite aspecte pot fi considerate drept complementare. Problema generală de grupare se defineşte prin:

(FP) { }1,max ≤∈ + AxRxcx n

iar cea de acoperire drept:

(FC) { }1,min ≥∈ + AxRxcx n

având astfel domeniile poliedrale { }1≤∈= + AxRxP nFP şi respectiv { }1≥∈= + AxRxP n

FC

şi pentru ele putându-se asocia problemele duale:

(DFP) { }mRycyAy +∈≥⋅ ,1min

şi respectiv

(DFC) { }mRycyAy +∈≤⋅ ,1max .

La studiul optimalităŃii pentru aceste modele putem considera atât că A nu conŃine coloane cu toate elementele egale cu 0, prin care se elimină nemărginirea pentru (FP) şi (DFC) şi neadmisibilitatea pentru (FC) şi (DFP). De asemenea, putem presupune şi că pentru orice { }nNj ,,2,1 …=∈ , cj>0, pentru că altfel dacă 0≤jc atunci (FP) are în

soluŃia optimă xj=0, iar, pentru (FC), dacă cj<0 atunci problema este nemărginită, iar pentru cj=0 putem considera că xj=1. În aceste probleme se poate realiza şi o eliminare a restricŃiilor, operaŃie care se poate face prin modificarea termenilor liberi. Astfel, pentru eliminarea unei restricŃii de forma j

j bxa ≥ putem pune bj=0 (suma unor numere pozitive este zero dacă toate

numerele sunt 0). În mod similar, pentru eliminarea restricŃiilor de forma jj bxa ≤ ,

considerăm orice valoare ∑=

≥n

iijj ab

1

(şi în acest caz folosim notaŃia ∞=jb ).

În cadrul problemelor de optimizare combinatorială, răspunsul la întrebarea relativă la existenŃa soluŃiilor optime întregi se rezumă, în cazul (FP) şi (FC), la două subiecte şi anume dacă PFP (PFC) reprezintă un politop (domeniu poliedral) întreg şi dacă sistemul de restricŃii ( )0,10,1 ≥≥≥≤ xAxxAx este un sistem total întreg dual. Aşa cum deja am văzut, dacă A este o matrice total unimodulară răspunsurile la aceste întrebări este afirmativ. Fie Mk, 3≥k , familia de matrici de dimensiune kk × de elemente 0-1 pentru care suma pe linii şi pe coloane este egală cu 2 şi care nu conŃin submatrici de forma

Page 15: Optimizare combinatoriala CURS

15

11

11. Vom spune că o matrice cu elemente 0-1 este o matrice echilibrată dacă nu

conŃine nici o submatrice din M2k+1, pentru orice 1≥k . Vom spune că o matrice de elemente 0-1 este total echilibrată dacă ea nu conŃine nici o submatrice din Mk, orice

3≥k . Facem observaŃia că o matrice A din Mk, 3≥k , fără a conŃine submatrici din Ml,

kl <≤3 , corespunde în teoria grafurilor la matricile de incidenŃă nod-arc pentru un ciclu. De asemenea, vom avea că matricile total unimodulare sunt cazuri particulare de matrici echilibrate. Principalele rezultate care se obŃin pentru matricile total echilibrate sunt date de:

Teoremă:

I Dacă A este o matrice total echilibrată atunci { }bAxRx n ≥∈ + este întreg şi

(DFC) are o soluŃie optimă întreagă pentru orice mBb∈ .

II Dacă A este o matrice total echilibrată atunci { }bAxRx n ≤∈ + este întreg şi

(DFP) are o soluŃie optimă întreagă pentru orice { }mb ∞∈ ,1 . Fac observaŃia că matricile de tipul total echilibrate apar în practică în probleme de localizare şi de acoperire mulŃimi. Un caz particular de matrici total echilibrate, şi care nu conŃin submatrici de

forma

=

01

11F se numesc matrici incluziune linii. Aceste matrici sunt importante în

optimizarea combinatorială deoarece, dacă A este o astfel de matrice, atunci (DFC) şi (FC) au o soluŃie optimă întreagă, care poate fi găsită prin algoritmi eficienŃi.

IV. RELAXARE LAGRANGEAN; DUALITATE

Problemele de optimizare combinatorială sunt cazuri particulare de probleme în numere întregi de forma: (IP) { }Sxcxz IP ∈= max

unde c, A şi b sunt cu elemente întregi şi { }bAxZxS n ≤∈= + .

IV.1. Relaxare

Determinarea lui zIP pentru o problemă (IP) este în general costisitoare şi atunci, un mod de abordare mai bun este de a considera problema

( ){ }Sconvxcxz ∈= max*

pentru care putem înlocui conv(S) cu { }bAxRxP n ≤∈= + , rezultanta fiind o problemă de

programare liniară cunoscută sub numele de relaxare a problemei (IP). Această problemă

Page 16: Optimizare combinatoriala CURS

16

permite obŃinerea unei margini superioare pentru zIP, deci o soluŃie zLP pentru problema { }Pxcxz ∈= max pentru care LPIP zz ≤ .

Pentru determinarea condiŃiilor suficiente de optimalitate putem considera şi

problema { }DLP Puubz ∈= min unde { }cuARuP mD ≥∈= + , problemă cunoscută sub

numele de duala slabă a problemei (IP). Aceste noŃiuni dau două moduri fundamentale de determinare a valorii optime zIP şi a marginii superioare pentru zIP.

DefiniŃie. O relaxare a problemei (IP) este orice problemă de maximizare (RIP) ( ){ }RRR Sxxzz ∈= max

care îndeplineşte condiŃiile (RIP1) RSS ⊆

(RIP2) ( )xzcx R≤ pentru Sx∈ Pentru (IP) şi (RIP) este verificat următorul rezultat: PropoziŃie 1. Dacă (RIP) nu este admisibilă atunci (IP) nu este admisibilă; Dacă (IP) este admisibilă, atunci RIP zz ≤ .

DefiniŃie. Dacă pentru un 0>ε fixat, Sx ∈* satisface inegalitatea ε−≥ IPzcx* vom spune că x* este o soluŃie ε-optimală pentru (IP).

Una din metodele de relaxare este de a împărŃi restricŃiile de definire a lui S în condiŃii simple, uşor de manipulat, şi în condiŃii complicate. Relaxarea se obŃine prin eliminarea condiŃiilor complicate din definirea lui S şi includerea lor în funcŃia obiectiv astfel încât să fie satisfăcută condiŃia (RIP2). O astfel de abordare poartă numele de relaxare Lagrangean.

IV.2. Dualitate

Un dezavantaj al utilizării relaxării este dat de faptul că, garantarea unei margini superioare pentru zIP se face doar printr-o soluŃie optimă a problemei relaxate. Acest dezavantaj poate fi eliminat prin utilizarea dualităŃii, deoarece problema duală se defineşte astfel încât orice soluŃie admisibilă dual să conducă la o margine superioară pentru zIP.

DefiniŃie. O problemă duală (slabă) pentru (IP) este orice problemă de minimizare (DIP) ( ){ }DDD Suuzz ∈= min

care satisface condiŃia. (DIP1) cxzD ≥ pentru toŃi Sx∈ şi DSu∈

În plus dacă este satisfăcută condiŃia (DIP2) Dacă ∅≠S şi zIP este mărginită superior atunci

există DSu ∈0 şi Sx ∈0 pentru care ( ) 00 cxuzD = duala se numeşte duală tare a problemei (IP) Pentru dualitatea (IP) avem următorul rezultat:

Page 17: Optimizare combinatoriala CURS

17

PropoziŃia 2. Dacă (DIP) este admisibilă atunci DIP zz ≤ . Dacă (DIP) are valoarea obiectiv nemărginită atunci (IP) nu este admisibilă. Prin rezolvarea dualei tari pentru (IP) găsim zIP deoarece zIP=zD, în timp ce utilizarea dualei slabe pentru (IP) permite aproximarea superioară a valorii zIP. În acest caz IPDD zz −=∆ se numeşte valoarea absolută a spaŃiului dual. În practică, duala slabă este mai uşor de construit, de xemplu, prin considerarea dualei relaxării prin programare liniară a problemei (IP). RelaŃia generală dintre dualitate şi relaxare este dată de următorul enunŃ: PropoziŃia 3. Dacă o problemă este o duală a relaxării problemei (IP), atunci ea este duală pentru (IP)

IV.3. Relaxare Lagrangean şi dualitate

Programul întreg (IP) dat mai sus poate fi rescris (prin evidenŃierea restricŃiilor simple şi a celor complicate) sub forma: (IP)

( )( )

1 1

2 2

max

restrictii complicate

restrictii simple

IP

i

i

n

z cx

A x b m

A x b n m

x Z+

=

≤ − ∈

Pe baza acestei forme, prin eliminarea restricŃiilor 11 bxA ≤ obŃinem o problemă cu n-m1 restricŃii uşor de manipulat şi astfel mai uşor de rezolvat în comparaŃie cu problema iniŃială. O modalitate mai complicată de lucru este de a considera problema (IP) sub forma: (IP(Q))

{ }1 1

2 2

max

, unde

IP

n

z cx

A x b

x Q Q x Z A x b+

=

∈ = ∈ ≤

Acum, prin analogie cu problemele de optimizare continuă cu restricŃii, pentru orice 1mR+∈λ , putem considera problema:

( )( )λLRIP ( ) ( ){ }QxxzzL ∈λ=λ ,max unde ( ) ( )xAbcxxz 11, −λ+=λ

Această formulare este cunoscută în literatura de specialitate drept relaxarea Lagrangean pentru problema (IP). În acest mod, excludem restricŃiile complicate, pe care însă, acum, le includem în funcŃia obiectiv prin intermediul unor termeni de penalitate ( )xAb 11 −λ . Deoarece 0≥λ ,

nesatisfacerea condiŃiilor 11 bxA ≤ face ca penalitatea să fie negativă şi astfel, din punct de vedere intuitiv, aceste condiŃii vor fi satisfăcute pentru λ suficient de mare. Deoarece (LRIP(λ)) este o relaxare a (IP), pentru orice 0≥λ , rezultă că

( ) IPL zz ≥λ . Dacă von considera că λ* este o soluŃie optimă pentru ( )λ≥λ Lz0

min , atunci din

familia infinită de relaxări ( )( ) 0≥λλLRIP obŃinem valoarea zL(λ*) ca margine superioară.

Page 18: Optimizare combinatoriala CURS

18

Problema ( )λ≥λ Lz0

min este numită duala Lagrangean pentru (IP) în raport cu

restricŃiile 11 bxA ≤ . Există două moduri în care se poate rezolva problema (LRIP(λ)). În primul mod, putem privi ( ) ( ) 11, bxAcxz λ+λ−=λ ca o funcŃie afină de x, pentru λ fixat şi astfel, că putem determina zL(λ) prin rezolvarea programului liniar:

( ) ( ) ( ){ }QconvxxzzL ∈λ=λ ,max

unde putem presupune că mulŃimea conv(Q) este un domeniu poliedral raŃional. În al doilea mod, considerăm că zL(λ) se determină prin maximizarea pe o mulŃime de puncte discrete, adică

( ) ( )iQix

L xzz ,max λ=λ∈

şi observăm că pentru xi fixat ( ) ( )iii xAbcxxz 11, −λ+=λ este o funcŃie afină de λ. Din punct de vedere formal, rezolvăm programul liniar:

( ) ( ){ }iL xzwwz ,min λ≥=λ

care arată că zL(λ) este maximul unui număr finit de funcŃii afine, şi astfel este convex şi liniar pe porŃiuni. În alte cuvinte, prin considerarea combinaŃiilor convexe de puncte din Q obŃinem un punct x* din conv(Q) care satisface condiŃiile complicate şi pentru care cx*=zL, adică

( ){ }QconvxbxAcxzL ∈≤= ,max 11

Pentru rezolvare vom considera mulŃimea punctelor de extrem din Q,

{ }KkRx nk ∈∈ + şi mulŃimea razelor de extrem din Q, { }JjRr nj ∈∈ + . Problema

considerată, ( )

( )( )( )xAbcxzz

QconvxLL

11

00maxminmin −λ+=λ=∈≥λ≥λ

se poate scrie ca: ( )( )

( )

1 1

0

1

min max

0 pentru

0

k kL

k K

j

z cx b A x

c A r j J

λλ

λ

λ

≥ ∈

= + −

− ≤ ∈

Ultima problemă se poate rescrie ca: (PL)

( )1 1

1

min

pentru

pentru

0

L

k k

j j

z

A x b cx k K

A r cr j J

η

η λ

λλ

=

+ − ≥ ∈

≥ ∈ ≥

problemă pentru care, prin dualitate, putem asocia şi programul:

Page 19: Optimizare combinatoriala CURS

19

(PLD)

1 1

max

1

0 pentru

0 pentru

k k j jL

k K j J

k

k K

k k j j

k K j J

k

j

z c x r

A x r b

k K

j J

α β

α

α β

α

β

∈ ∈

∈ ∈

= +

=

+ ≤

≥ ∈

≥ ∈

∑ ∑

∑ ∑

Astfel zL se poate calcula folosind programele liniare (PL) şi (PLD). Deoarece:

( ) { }( ) ( ) { }1 1 1 1n nconv S conv Q x R A x b conv Q x R A x b+ += ∈ ≤ ⊆ ∈ ≤∩ ∩

avem că

( ){ }QconvxbxAcxzcxz LSx

IP ∈≤=≤=∈

,maxmax 11

Datorită incluziunii de mai sus, valoarea absolută a spaŃiului dual IPLD zz −=∆

depinde de mărimile relative pentru conv(S), ( ) { }11 bxARxQconv n ≤∈ +∩ şi c,

coeficienŃii funcŃiei obiectiv. Vom avea astfel, ca prim rezultat, că: PropoziŃie 4. zIP=zL pentru toŃi c dacă şi numai dacă:

{ }( ) ( ) { }1111 bxARxQconvbxARxQconv nn ≤∈=≤∈ ++ ∩∩ .

În plus are loc şi:

PropoziŃia 5. { }nL RxbAxcxz +∈≤= ,max pentru toŃi c dacă punctele de extrem

din { }22 bxARx n ≤∈ + sunt întregi.

Un rezultat deosebit de important este dat de următoarea teoremă: Teoremă. zL este o soluŃie ε-optimală pentru problema (IP) ( )ε−= LIP zz dacă şi

numai dacă există 0* ≥λ şi Sx ∈* pentru care ( ) 1*11* δ≤−λ xAb ,

( ) ( ) 2*** , δ−λ≥λ LRIPzxz şi ε≤δ+δ 21 .

Dacă în plus considerăm că valoarea obsolută a spaŃiului dual este 0, punând 021 =ε=δ=δ , obŃinem drept consecinŃă rezultatul:

Corolar. zIP=zL dacă şi numai dacă există 0* ≥λ şi Sx ∈* pentru care ( ) 0*11* =−λ xAb şi ( ) ( )*** , xzzLRIP λ=λ .

V. ALGORITMI DE RELAXARE; BRANCH-AND-BOUND

V.1. Algoritmul general de relaxare

Rezolvările algoritmice pentru problemele de optimizare în numere întregi îşi

propun să găsească o soluŃie optimă sau ε-optimală pentru problema de programare în numere întregi (IP).

Page 20: Optimizare combinatoriala CURS

20

MulŃi algoritmi care lucrează cu duala problemei se bazează pe reducerea sistematică a marginii superioare w* pentru funcŃia obiectiv, producând soluŃia optimă

Sx ∈* doar când IPzw =* . De acest tip sunt şi algoritmii bazaŃi pe relaxare. La fiecare iteraŃie se rezolvă o relaxare a problemei (IP) iar dacă o soluŃie optimă a relaxării nu produce un optim pentru (IP) se îmbunătăŃeşte relaxarea. Un algoritm general bazat pe relaxarea problemei (IP) este: ALGORITM 1 Relaxare generală Pas 0: INIłIALIZARE: Fie 1=t , ∞=*w şi −∞=*z . Se aleg 1

RS , 1RSS ⊆ şi ( )xzR

1 ,

( ) cxxzR ≥1 pentru Sx∈ . Pas 1: REZOLVARE RELAXARE: Se rezolvă problema relaxată.

(RIPt) ( ){ }tRtR

tR Sxxzz ∈= max

Fie xt soluŃia problemei (RIPt). Pas 2: TEST OPTIMALITATE: Dacă Sx t ∈ şi tt

R cxz = ne oprim ** zcxw t == iar xt este soluŃia optimă a problemei (IP); altfel se continuă

Pas 3: ÎMBUNĂTĂłIRE RELAXARE: Se consideră tRzw =* şi tcxz =* . Alegem

tR

tR SS ⊆+1 , 1+⊆ t

RSS şi ( ) ( )xzxz tR

tR ≤+1 , ( ) cxxz t

R ≥+1 pentru Sx∈ astfel încât cel

puŃin una din relaŃii să fie strictă (deci tR

tR SS ≠+1 sau ( ) ( )xzxz t

RtR ≠+1 ). Se

consideră 1+← tt şi se merge la Pas 1. Se poate observa că în cazul acestui algoritm, pentru orice t avem t

RtR zx ≤+1 , însă

în practică, se preferă să considerăm că pentru orice t, ( ) cxxz tR = şi astfel optimalitatea

este atinsă când se produce Sx t ∈ . Într-un astfel de caz, în conformitate cu pasul 3 vom avea că pentru orice t, t

RtR SS ⊂+1 , modul cel mai simplu de construcŃie pentru 1+t

RS fiind

de a considera { }ttR

tR xSS \1 ⊆+ .

V.2. Algoritmul de enumerare

Un alt tip de algoritm care utilizează relaxarea utilizează o abordare enumerativă.

Considerăm că { }niS i ,...,1= este o împărŃire a lui S, adică ∪k

i

iSS1=

= (nu este obligatoriu

ca ( ) kiiS ,1= să formeze o partiŃie , deci ca în plus kji ,1, =∀ , ji ≠ , ∅=ji SS ∩ ) În

această abordare, principalul rezultat folosit este dat de următorul enunŃ: PropoziŃia 1. Fie programul liniar:

(IPi) { }iiIP Sxcxz ∈= max

unde ( ) kiiS ,1= este o împărŃire a lui S. Atunci i

IPki

IP zz,1

max=

=

PropoziŃia 1 exprimă în optimizare principiul "divide et impera", adică, dacă este dificil de rezolvat optimizarea în S, atunci poate fi posibilă rezolvarea problemei prin soluŃionarea optimalităŃii pe spaŃii mai mici Si şi apoi reunirea rezultatelor..

Page 21: Optimizare combinatoriala CURS

21

În practică, divizarea se realizează recursiv putându-se forma o arborescenŃă în care rădăcina este S, fiii rădăcinii reprezintă o împărŃire S1,S2,…,Sk iar dacă un nod este Si el are ca fii nodurile Si1,Si2,…,Sil, unde ( ) lj

ijS ,1= formează o împărŃire pentru Si.

Extremal, divizarea domeniului S poate fi privită ca o enumerare totală a elementelor lui S. O astfel de abordare nu este însă benefică decât în cazul programelor cu număr foarte mic de variabile şi din această cauză, în practică se caută un mod de enumerare care să nu necesite împărŃirea mulŃimii iniŃiale într-un număr prea mare de submulŃimi. Acest lucru poate fi făcut dacă dăm o modalitate prin care să putem stabili când o subîmpărŃire a unei mulŃimi Si nu mai este necesară. Vom spune că "blocăm Si". PropoziŃia 2. Arborele de enumerare poate fi blocat într-un nod corespunzător lui Si dacă are loc una din următoarele condiŃii: 1. ∅=iS ( ne admisibilitate); 2. se cunoaşte o soluŃie optimă pentru (IPi) (optimalitate); 3. IP

iIP zz ≤ (dominanŃa valorii funcŃiei obiectiv).

Pentru a evita rezolvarea problemei (IPi) putem utiliza relaxarea sau dualitatea. La folosirea relaxării, fie (RIPi) relaxarea pentru (IPi) cu i

Ri SS ⊆ şi ( ) cxxz i

R ≥

pentru iSx∈ . Atunci, în locul propoziŃiei 2 se poate folosi următorul rezultat: PropoziŃia 3. Arborele de enumerare poate fi blocat într-un nod corespunzător lui Si dacă are loc una d in următoarele condiŃii: 1. (RIPi) nu este admisibilă; 2. O soluŃie optimă pentru (RIPi) satisface i

iR Sx ∈ şi i

RiR cxz = ;

3. IPiR zz ≤ unde IPz este valoarea unei soluŃii admisibile pentru (IP). La utilizarea dualei, fie (DIPI) duala (slabă) pentru (IPI). Atunci putem utiliza

următorul rezultat: PropoziŃia 4. Arborele de enumerare poate fi blocat într-un nod corespunzător

lui Si dacă are loc una din următoarele condiŃii: 1. Valoarea obiectiv pentru (DIPi) este nemărginită inferior; 2. (DIPi) are o soluŃie admisibilă cu valoarea mai mică sau egală cu IPz . Făcând o paralelă între propoziŃiile 3 şi 4 vedem că înainte de a putea aplica dominanŃa va trebui să rezolvăm efectiv (RIPi) sau să aplicăm dominanŃa în raport cu o soluŃie admisibilă care nu este optimă. Pe de altă parte, (RIPi) poate conduce la o soluŃie admisibilă pentru (IPi) care stabileşte sau îmbunătăŃeşte valoarea IPz . Pe baza rezultatelor date mai sus se poate genera un algoritm de rezolvare prin relaxare enumerativă care este numit frecvent Branch-and-Bound sau enumerare implicită. Pentru prezentarea unui astfel de algoritm general vom considera că L este o

colecŃie de programe întregi (IPi), fiecare de forma { }iiIP Sxcxz ∈= max cu SS i ⊆ şi că

la fiecare problemă din L se asociază o margine superioară iIP

i zz ≥ .

Page 22: Optimizare combinatoriala CURS

22

ALGORITM 4 Algoritm general de tip Branch-and-Bound Pas 0: INIłIALIZARE: L=(IP), S0=S, ∞=0z şi −∞=IPz . Pas 1: TEST TERMINARE: Dacă L este vidă atunci ne oprim, soluŃia x0 care a produs

0cxz IP = este soluŃia optimă, altfel se continuă. Pas 2: SELECTARE PROBLEMĂ ŞI RELAXARE: Se alege o problemă (IPi) din L şi

L←L\{(IPi)}. Se rezolvă relaxarea (RIPi) pentru problema (IPi). Fie iRz valoarea

optimă a relaxării şi iRx soluŃia optimă, dacă există, altfel (RIP

i) nu este admisibilă şi se merge la Pas 1 (are loc condiŃia 1 din propoziŃia 13).

Pas 3: BLOCARE: a) Dacă rezolvarea (RIPi) se face 1. prin algoritm primar, dacă IP

iR zz ≤ se merge la Pas 1;

2. prin algoritm dual atunci se trece la Pas 1 imediat ce valoarea dualei atinge sau scade sub IPz ;

b) Dacă iiR Sz ∉ se trce la Pas 4

c) Dacă iiR Sz ∈ şi IP

iR zcx > fie i

RIP cxz ← şi eliminăm din L toate

problemele pentru care IPi zz ≤

Dacă iR

iR cxz = se merge la Pas 1 altfel se merge la Pas 4.

Pas 4: DIVIZARE: Fie ( ) kjijS ,1= o împărŃire a lui Si. Pentru i=1,…,k se adaugă la L

problema (IPi) cu iR

ij zz = . În final se trece la Pas 1.

Aplicarea algoritmului de tip Branch-and-Bound impune discutarea unor proprietăti cum ar fi tipurile de divizare, strategiile de dezvoltare a arborelui de enumerare, finitudinea arborelui rezultat, etc. În contextul utilizării relaxărilor la programarea liniară, în relaxarea iniŃială vom

considera { }bAxRxS nLP ≤∈= +0 în loc de S şi de asemenea, în fiecare relaxare realizată

vom considera ( ) cxxzR = . Un prim aspect pe care îl considerăm este cel al CRITERIULUI DE BLOCARE A DIVIZĂRII. În contectul relaxărilor la programarea liniară avem avantajul aplicării directe a condiŃiilor din propoziŃiile 3 şi 4. Presupunem că în nodul i al arborelui de enumerare relaxarea liniară este: (LPi) { }i

LPiLP Sxcxz ∈= max unde { }iini

LP bxARxS ≤∈= +

Presupunând că (LPi) are o soluŃie optimă, pa care o notăm cu xi, condiŃiile de blocare a divizării sunt: 1. ∅=i

LPS (ne admisibilitate);

2. ni Zx +∈ (optimalitate);

3. IPiLP zz ≤ unde IPz este valoarea unei soluŃii cunoscute pentru (IP) (dominanŃa valorică). Pentru această condiŃie putem utiliza şi una mai slabă de tipul

ε+≤ IPiLP zz , pentru o toleranŃă ε dată.

Page 23: Optimizare combinatoriala CURS

23

Un al doilea aspect important este legat de modul de ÎMPĂRłIRE realizat într-un nod al arborelui de enumerare. Datorită utilizării relaxării la programarea liniară, în fiecare nod divizarea se realizează prin adăugarea de restricŃii liniare. Un mod natural de împărŃire este de a

considera 21 SSS ∪= prin care { }01 ddxRxSS n ≤∈= +∩ şi

{ }102 +≥∈= + ddxRxSS n

∩ cu ( ) 10,

+∈ nZdd . Astfel, dacă relaxarea liniară

{ }bAxRxcx n ≤∈ + ,max are soluŃia x0, putem considera ( )0,dd astfel încât

100

0 +<< ddxd . Deoarece 210 SSx ∪∉ acest mod de divizare ne dă posibilitatea

rezolvării problemelor { }iiLP Sxcxz ∈= max pentru care 0

LPiLP zz < (pentru i=1,2).

În aplicaŃiile practice divizarea se face prin intermediul unor alegeri speciale pentru ( )0,dd care în plus formează partiŃii ( 21 SSS ∪= şi ∅=21 SS ∩ ). Două cazuri

speciale sunt dihotomiile: (i) Se consideră (ii) Pentru cazul în care problema conŃine o restricŃie generală de mărginire superioară

de forma Dihotomiile de tipul (i) sunt cunoscute şi sub numele de dihotomii de variabile.

Pentru aceste dihotomii un rezultat important este dat de următorul enunŃ:

PropoziŃia 5. Dacă { }bAxRxP n ≤∈= + este un domeniu mărginit atunci un

arbore de enumerare dezvoltat pe baza dihotomiei de variabile va fi finit dacă în fiecare nod i care necesită împărŃire pentru i

jx neîntreg se alege o dihotomie de forma

[ ] [ ]( )1, +≥≤ ijj

ijj xxxx . În particular, dacă { }[ ]Pxx jj ∈=ω max atunci nici un drum al

arborelui de enumerare nu poate conŃine mai mult de ∑∈

ωNj

j noduri.

Relativ la blocarea enumerării avem următorul rezultat: PropoziŃia 6. Dacă în arborele de enumerare în nodul t cu restricŃiile St are loc

relaŃia { } IPtR zSxcx >∈max atunci în nodul t enumerarea nu poate fi blocată.

O a treia problemă importantă pentru utilizarea algoritmului de tip Branch-and Bound este legată de alegerea nodului prin care se CONTINUĂ EXAMINAREA DETALIATĂ. Conform algoritmului prezentat, acest nod se alege din lista subproblemelor active L (sau echivalent, din lista nodurilor unui arbore parŃial ne blocat sau activ). Strategiile de alegere a nodului de continuare se pot împărŃi în două mari clase: (i) strategii apriorice - reguli care determină de la început ordinea de dezvoltare a

arborelui de enumerare; (ii) Strategii adaptative - reguli prin care alegerea se face prin folosirea unor

informaŃii asupra stării nodurilor active (cum ar fi, de exemplu, mărginirea). Dintre strategiile apriorice vom aminti: (i1) căutarea în profunzime şi (i2) căutarea

în nivel. Căutarea în nivel (i2) consideră întâi toate nodurile unui nivel înainte de a trece la nivelul următor. Această variantă este mai puŃin utilizată deoarece poate conduce la

Page 24: Optimizare combinatoriala CURS

24

creşterea exponenŃială a numărului de probleme din L chiar dacă la terminarea inspectării unui nivel în L toate problemele rămase au dimensiunea redusă cu cel puŃin o variabilă. Căutarea în profunzime (i1) se realizează prin utilizarea tehnicii backtracking. La utilizarea acestei căutări, dacă nodul curent nu este blocat, atunci căutarea se continuă cu unul dintre fiii săi. Dacă în schimb un nod este blocat se foloseşte tehnica backtracking prin care se asigură întoarcerea de la nodul blocat, pe drumul spre rădăcină, până găsim un nod pentru care nu am considerat în căutare toŃi fiii. Utilizarea acestei strategii are ca avantaj obŃinerea imediată a relaxării liniare pentru un fiu din relaxarea pentru părinte, prin adăugarea restricŃiilor de mărginire inferioară şi superioară, şi reoptimizarea. În plus, experienŃa rezolvării problemelor de optimizare întreagă ne indică faptul că soluŃiile admisibile se găsesc cel mai adesea la nodurile mai depărtate de rădăcină. Dintre strategiile adaptative putem da ca exemplu: (ii1) cea mai bună mărginire superioară, (ii2) cea mai bună estimare şi (ii3) îmbunătăŃirea rapidă. Regula celei mai bune mărginiri superioare (ii1) consideră că, la blocarea unui nod, se continuă cu cel care are cea mai largă margine superioară, adică din mulŃimea nodurilor active din L se alege problema i care maximizează iz .

Regula celei mai bune estimări (ii2) indică alegerea unui nod care duce cel mai probabil la soluŃia optimă. În alegere, chiar dacă optimalitatea nu poate fi demonstrată imediat, vom obŃime cea mai mare valoare posibilă pentru IPz , lucru important pentru

blocările ulterioare de noduri. Pentru a aplica această regulă se realizează o estimare iz pentru iz , ( )ii zz ≤ˆ , şi se alege din L problema i care maximizează iz . Regula îmbunătăŃirii rapide (ii3) încearcă, prin utilizarea criteriului

iiIP

i

i zz

zz

ˆmax

−∈L

să găsească rapid o soluŃie x pentru care IPzxc >ˆ , şi nu să încerce să determine o soluŃie

optimă, prin alegerea preferenŃială a nodurilor pentru care diferenŃa ii zz ˆ− este mică, fiind ales nodul i cu IP

i zz ≥ şi nu nodul j cu IPj zz ≤ . Acest mod de alegere poate

deveni o opŃiune implicită odată ce se cunoaşte o soluŃie admisibilă. O a patra problemă importantă pentru algoritmul Nranch-and-Bound este legată de SELECłIA VARIABILEI DE DIVIZARE pentru cazul în care am ales deja un nod activ i pentru care se obŃine xi, soluŃia relaxării liniare a problemei corespunzătoare nodului.

Alegerea variabilei de divizare este restricŃionată la { }ZxNjN ij

i ∉∈= , deci la

variabilele care în soluŃia xi nu au valori întregi. O alegere posibilă se poate realiza prin specificarea unei ordini a variabilelor considerate, ordine dată ca informaŃie de intrare la rezolvarea modelului (regula priorităŃilor specificate utilizator). O altă regulă, cunoscută ca regula degradărilor sau penalitătilor, încearcă o estimare a diminuării valorii iz cauzată de cerinŃa ca xj să fie întreg. Dacă presupunem că

[ ] ij

ij

ijj fxxx +== şi 0>i

jf atunci în dividarea lui xj estimăm diminuarea valorilor ij

ij

ij fpD −− = pentru fiul stâng şi ( )iji

ji

j fpD −= ++ 1 pentru cel drept, unde coeficienŃii

( )ijij pp +− , pot fi specificaŃi iniŃial sau estimaŃi. Folosirea acestor valori conduce la o

alegere pe baza criteriului:

Page 25: Optimizare combinatoriala CURS

25

{ }ijijiNj

DD +−

∈,minmax

Un caz particular se obŃine considerând ( ) ( )1,1, =+− ij

ij pp (deci i

ji

j fD =− şi ij

ij fD −=+ 1 ), criteriul fiind cunoscut drept criteriul neadmisibilităŃii întregi.

Odată stabilită variabila de divizare xj se poate realiza şi o alegere a nodului de continuare (fiul stâng dacă i

ji

j DD +− ≤ şi cel drept altfel), simultan putându-se calcula şi

valoarea iz dacă se presupune că degradările pentru fiecare variabilă sunt independente. Pentru iz se realizează estimarea:

{ }{ }

∑∈

+−− −−=jiNk

ik

ik

ij

iLP

i DDDzz\

,minˆ

dacă se alege fiul stâng şi respectiv: { }

{ }∑

+−+ −−=jiNk

ik

ik

ij

iLP

i DDDzz\

,minˆ

dacă se alege fiul drept.

V.3. Algoritmi heuristici Algoritmii heuristici sau aproximativi reprezintă o alternativă la algoritmii exacŃi ei oferind, într-un timp relativ scurt, o soluŃie bună dar nu neapărat optimă pentru problemele de optimizare discretă. În funcŃie de calitatea cerută pentru rezolvarea unei probleme, soluŃia dată de un astfel de algoritm poate fi considerată ca soluŃie finală sau poate fi utilizată ca intrare pentru un algoritm exact. În descrierea algoritmilor heuristici, într-o mare varietate de cazuri se pot aplica două idei principale: utilizarea metodei Greedy şi căutarea locală (sau interschimbarea).

V.3.1. Algoritmi de tip Greedy Algoritmii din această clasă se aplică frecvent la maximizarea funcŃiilor de mulŃime. Astfel, putem considera o funcŃie reală v(Q) definită pe toate submulŃimile lui N={1,2,…,n} şi să considerăm problema de optimizare ( ){ }NQQv ⊆max .

Ideea utilizată în algoritm este ca plecând de la o mulŃime NQ i ⊆ să adăugăm la

Qi un element din iQN \ care produce cea mai mare creştere pentru valoarea funcŃiei v. Această ideea se concretizează în următorul algoritm:

ALGORITM 6 Algoritm heuristic de tip Greedy pentru maximizarea unei funcŃii de mulŃime

Pas 0: INIłIALIZARE: ∅=0Q , t=1.

Pas 1: ALEGERE ALEMENT SUPLIMENTAR: Fie { }( )jQvj t

tQNjt ∪

1

1\maxarg −

−∈= .

Pas 2: TESTARE CREŞTERE: Dacă { }( ) ( )11 −− ≤ tt QvjQv ∪ ne oprim, Qt-1 este soluŃia greedy căutată, altfel se continuă.

Page 26: Optimizare combinatoriala CURS

26

Pas 3: DEZVOLTARE MULłIME: { }jQQ tt∪

1−← . Dacă Qt=N ne oprim, N este soluŃia greedy căutată, altfel 1+← tt şi se reia de la Pas 1.

V.3.2. Algoritmi de tip căutare locală

Algoritmii din această clasă pleacă de la ideea de a considera o soluŃie admisibilă dată şi de a încerca, printr-un număr limitat de schimbări, să se găsească o soluŃie admisibilă mai bună. Volumul de muncă din acest tip de algoritm va depinde în mod esenŃial de valoarea aleasă pentru k iar în practică, pentru obŃinerea unor forme suficient de rapide ale algoritmului se alege { }3,2,1∈k . Pe baza ideilor prezentate, dând o valoare întreagă pozitivă nk ≤ şi considerând, de exemplu,

( )

≤−∈= ∑∈

kxzBxQNNj

jjn

k pentru nBz∈

(pentru o problemă de optimizare 0-1), obŃinem următoarea formă a algoritmului:

ALGORITM 7 UN ALGORITM DE CĂUTARE LOCALĂ PRIN K

INTERSCHIMĂRI PENTRU ( ){ }nBSxxc ⊆∈max

Pas 1: INIłIALIZARE: Se alege Sx ∈1 , 1←t . Pas 2: TESTARE OPTIMALITATE: Dacă pentru orice ( ) SxNx t

k ∩∈ , ( ) ( )txcxc ≤ ne

oprim, xt este soluŃia căutării locale, altfel se continuă. Pas 3: ÎMBUNĂTĂłIRE SOLUłIE: Fie ( ) SxNx t

kt

∩∈+1 pentru care ( ) ( )tt xcxc >+1 .

1+← tt şi se reia de la Pas 2. Aşa cum ar părea normal, la pasul 3, alegerea lui xt+1 ar trebui făcută încât în acest

punct să obŃinem ( ) ( ) ( ){ }SxNxxcxc tk

t∩∈=+ max1 , dar acest lucru ar conduce la

examinarea completă a mulŃimii ( ) SxN tk ∩ . Din această cauză, aplicarea practică a

algoritmului de căutare locală se face prin comasarea paşilor 2 şi 3, care să permită oprirea iteraŃiei t la primul x pentru care ( ) ( )txcxc > , iar oprirea să se realizeze doar când

în ( ) SxN tk ∩ nu există un astfel de punct.

VI. OPTIMIZARE PROCENTUALĂ

VI.1. Forma generală a modelelor procentuale

Prin intermediul acestor modele se urmăreşte optimizarea unei proprietăŃi pentru un amestec cu păstrarea altora în anumite limite acceptabile. Cuantificarea proprietăŃii pentru care se realizează optimizarea produce funcŃia obiectiv a modelului în timp ce exprimările legate de menŃinerea unor caracteristici în anumite limite produc restricŃiile modelului, cu excepŃia unei singure restricŃii, cea de sumă unitară. Altfel, modelul se poate exprima prin

Page 27: Optimizare combinatoriala CURS

27

=⋅

0

1

22

11

ix

x

bxA

bxA

cxopt

1111

(1)

unde, c este vectorul de dimensiune n al coeficienŃilor funcŃiei obiectiv, funcŃie care cuantifică proprietatea avută în vedere în procesul de optimizare; 11 bxA ≤ şi 22 bxA ≥ reprezintă sistemul de inecuaŃii prin care sunt exprimate alte proprietăŃi dorite pentru amestec în anumite limite, 1A fiind o matrice cu 1m linii şi n coloane, 2A o matrice cu

2m linii şi n coloane, 1b un vector de dimensiune 1m şi 2b un vector de dimensiune 2m ; 1111 este un vector de dimensiune n cu toate componentele egale cu 1 cu ajutorul căruia se exprimă condiŃia de sumă unitară. În plus, se consideră că toate valorile care intervin în exprimarea modelului sunt nenegative, cele din funcŃia obiectiv şi din membrul drept al inecuaŃiilor condiŃii fiind chiar pozitiv definite. În forma extinsă acest model poate fi rescris sub forma:

=≥

=

=≥

=≤

=

=

=

=

nioricex

x

mjpentrubxa

mjpentrubxa

xcopt

i

n

ii

j

n

iiij

j

n

iiij

n

iii

,...,10

1

,...,1

,...,1

1

22

1

2

11

1

1

1

(2)

unde, aşa cum am văzut mai sus pentru coeficienŃii funcŃiei obiectiv şi pentru valorile matricilor 1A şi 2A , şi pentru vectorii 1b şi 2b sunt îndeplinite următoarele condiŃii: - 0>ic pentru orice ni ,...,1= ;

- 01 ≥ija pentru orice ni ,...,1= şi pentru orice 1,...,1 mj = ;

- 02 ≥ija pentru orice ni ,...,1= şi pentru orice 2,...,1 mj = ;

- 01 >jb pentru orice 1,...,1 mj = şi

- 02 >jb pentru orice 2,...,1 mj = .

VI.2. ProprietăŃi directe pentru forma generală a programelor procentuale

Forma prezentată este în fapt una mult mai restrictivă decât cea vizibilă în

exprimările (1) sau (2), însă, condiŃionarea suplimentară este una implicită şi este legată de intervenŃia condiŃiei de sumă unitară.

Page 28: Optimizare combinatoriala CURS

28

Proprietate 1. Dacă x este o soluŃie admisibilă pentru modelul (1), atunci pentru

orice ni ,...,1= avem [ ]1,0∈ix .

Proprietatea 1 ne spune că toate variabilele modelului sunt subunitare şi au suma unitară de unde putem considera că ele reprezintă procente de alocare a unor resurse, de unde şi numele pe care l-am adoptat pentru această clasă de modele.

Proprietatea ne mai spune şi că toate soluŃiile admisibile pentru modelul (1) se găsesc în hipercubul unitate cu un vârf în originea axelor de coordonate şi cu n din laturi pe cele n axe de coordonate ale spaŃiului nR pe care modelul este definit. Această observaŃie ne asigură de faptul că, dacă mulŃimea soluŃiilor admisibile este nenulă atunci este mărginită şi astfel, funcŃia obiectiv are optim finit.

AfirmaŃia făcută se poate rezuma în următorul enunŃ: Proprietate 2. Dacă mulŃimea soluŃiilor admisibile pentru problema (1) este

nevidă, atunci problema are optim finit.

VI.3. Discretizarea formei generale pentru programele procentuale Forma generală nu este întotdeauna utilă în rezolvarea modelelor propuse ca modele procentuale. Acest lucru apare în special atunci când coeficienŃii implicaŃi în matricile de restricŃii sunt relativ mici ca valoare. În astfel de cazuri erorile de aproximare în rezolvarea problemelor cu ajutorul calculatoarelor electronice şi propagarea acestor erori au ca efect apariŃia fenomenelor de neconvergentă în aplicarea algoritmilor de calcul, intrând exact în zonele în care aceşti algoritmi au comportamente contradictorii.

Aceste comportamente pot părea paradoxale, în special în contextul în care, pentru modelele procentuale pentru care existenŃa unei soluŃii admisibile asigură existenŃa soluŃiilor optime. Ele pot fi înlăturate prin utilizarea unor procese de calcul foarte sofisticate în care numerele reale să fie aproximate cu un număr suficient de zecimale încât să se producă foarte greu fenomenul de apariŃie a zerourilor de aproximare.

O a doua modalitate de rezolvare a comportamentelor paradoxale pentru algoritmii clasici de rezolvare a problemelor de programare liniară cu variabile continue este de a realiza modificarea modelelor utilizate. Acest lucru este posibil în special şi datorită faptului că, în practică, precizia finală reŃinută din aplicarea modelului este de maxim 4 cifre semnificative (în general valori exprimate ca procente la sută care în reprezentarea utilă aplicării modelului se dau cu cel mult 2 zecimale).

Programele de optimizare transformate se obŃin prin trecerea din domeniul continuu într-un domeniu discret. Cum mulŃimea soluŃiilor admisibile pentru modelele procentuale generale este una mărginită, acelaşi lucru se va întâmpla şi pentru modelele obŃinute prin transformare şi care vor intra astfel în zona modelelor combinatoriale.

Facem această afirmaŃie deoarece, transformarea pe care o propunem este de a trece de la variabile procentuale la variabile întregi, obŃinându-se astfel, în general probleme de programare liniară întreagă. Cum variabilele modelului original sunt mărginite, rezultă că şi variabilele din modelul obŃinut prin transformare trebuie să fie mărginite şi astfel modelul de programare întreagă este de fapt un model de optimizare combinatorială.

Page 29: Optimizare combinatoriala CURS

29

Modalitatea de transformare pe care o propunem este de multiplicare a fiecărei relaŃii din modelul original prin puterea lui 10 care asigură precizia dorită şi restricŃionarea suplimentară a variabilelor modelului la numere întregi după redefinire.

Dacă vom considera că precizia dorită pentru rezultatele aplicării modelului procentual este de k cifre exacte. Atunci prima etapă în transformarea modelului (1) este de a înmulŃi fiecare relaŃie prin k10=α şi reŃinerea acestei multiplicări în zina variabilelor modelului. Se obŃine astfel formularea:

( )

( )

( )

( )[ ]

=∈

α=α

=α≥α

=α≤α

α

=

=

=

=

nipentrux

x

mjpentrubxa

mjpentrubxa

xcopt

i

n

ii

j

n

iiij

j

n

iiij

n

iii

,...,11,0

,

,...,1

,...,1

1

22

1

2

11

1

1

1

(3)

unde, am introdus ca explicită condiŃia de domeniu implicită rezultată pentru modelul (1) din proprietatea 1. A doua etapă a transformării realizează redenumirea variabilelor modelului, înlocuindu-se ixα prin iy , pentru a se obŃine formularea:

[ ]

=α∈

α=

=α≥

=α≤

=

=

=

=

nipentruy

y

mjpentrubya

mjpentrubya

ycopt

i

n

ii

j

n

iiij

j

n

iiij

n

iii

,...,1,0

,...,1

,...,.1

1

22

1

2

11

1

1

1

(4)

Se poate observa că modelul (4) se poate obŃine direct din modelul (2) prin schimbarea numelui variabilelor, multiplicarea termenilor liberi din sistemul de restricŃii şi înlocuirea condiŃiei de pozitivitate a variabilelor prin condiŃia de domeniu explicită

[ ]α∈ ,0iy pentru ni ,...,1= .

Ultima etapă în transormarea modelului (2) este de a impune condiŃiile de integralitate asupra variabilelor noului model, în acest mod obŃinându-se un model de optimizare conbinatorială care se poate rezolva prin instrumentele specifice acestui tip de optimizare. Modelul este definit în forma compactă prin:

Page 30: Optimizare combinatoriala CURS

30

{ }

α∈

α=⋅

α≥

α≤

ny

y

byA

byA

cyopt

,...,1,0

22

11

1111

(5)

VI.4. ProprietăŃi legate de discretizarea modelelor procentuale

Modelele (2) şi (4) pot fi considerate echivalente din punct de vedere al soluŃiilor

pentru că transformarea care a fost aplicată este de factură liniară. Acest lucru poate fi rezumat în următorul rezultat: Proprietate 3. a) MulŃimea soluŃiilor admisibile pentru modelul (2) este vidă dacă şi numai dacă

mulŃimea soluŃiilor admisibile pentru modelul (4) este vidă. b) MulŃimea soluŃiilor admisibile pentru modelul (2) este nevidă dacă şi numai dacă

mulŃimea soluŃiilor admisibile pentru modelul (4) este nevidă. În plus, dacă x este soluŃie optimă pentru (2) şi dacă y este soluŃie optimă pentru (4), atunci are loc

relaŃia )()( ywxv =α , xα este soluŃie optimă pentru (4) şi yα1 este soluŃie optimă

pentru (2), unde w(y) este valoarea funcŃiei obiectiv pentru o soluŃie admisibilă y a modelului (4).

VI.5. Monotonia funcŃiei obiectiv având coeficienŃii strict crescători Considerăm în continuare un caz particular al modelelor de forma (5) şi anume

cele în care coeficienŃii funcŃiei obiectiv sunt strict descrescători.

Vectorii din domeniul de lucru, [ ]nα,0 , îi putem ordona conform unei relaŃii de ordine introdusă natural pentru şirurile de valori şi anume, ordinea lexicografică. Astfel, vom spune că vectorii u şi v, ( )nuu ,...,1 , ( )nvv ,...,1 sunt astfel încât "u mai mic

(lexicografic) decât v", scris vu ≺ , dacă există { }1,...,1 −∈ ni astfel încât ii vu < şi orice

{ }1,...,1 −∈ ij , jj vu = .

Cu aceste elemente putem da următoarea caracterizare a funcŃiei obiectiv: PropoziŃie 1. Dacă x şi y sunt soluŃii admisibile pentru problema (5), yx ≺ ,

diferenŃa pe componenta care stabileşte relaŃia de ordine este unitară şi x şi y diferă doar pe componentele i şi k, nki ≤<≤1 , atunci )()( yfxf < . Generalizarea propoziŃiei 1 conduce la următorul rezultat: PropoziŃia 2. Dacă x şi y sunt soluŃii admisibile pentru problema (5) care are coeficienŃii funcŃiei obiectiv strict descrescători şi yx ≺ , atunci )()( yfxf < . ObservaŃie. Această propoziŃie statutează că în condiŃiile date funcŃia obiectiv este monotonă. O consecinŃă firească a propoziŃiei 2 este o posibilă mărginire a valorilor funcŃiei obiectiv pentru problemele de programare procentuală.

Page 31: Optimizare combinatoriala CURS

31

PropoziŃia 3: Fie A mulŃimea soluŃiilor admisibile pentru o problemă de programare procentuală, ∅≠A , pentru care coeficienŃii funcŃiei obiectiv formează un şir strict monoton şi mx , Mx definite ca minim şi maxim a vectorilor din A relativ la ordinea lexicografică dată mai sus. Atunci pentru orice Ax∈ , are lor relaŃia

( ) ( ) ( )Mm xfxfxf ≤≤ .

VI.5. Modele de programare procentuală În continuare ne propunem să prezentăm două modele care pot intra în clasa

programării procentuale, unul cu domenii uniforme şi unul general, cu domenii oarecare pentru necunoscutele modelului.

Modelul cu variabile întregi nenegative, cu domenii mărginite identice pentru toate variabilele (domenii uniforme), cu explicitarea condiŃiei de sumă constantă reprezintă o primă generalizare a modelelor care fac parte din clasa optimizării procentuale. În acelaşi timp ele prezintă o analogie cu modelele de tip rucsac, prin trecere de la domeniu {0,1} la un domeniu {0,1,…,p} cu p număr natural fixat.

Modelul cu variabile întregi nenegative, cu domenii mărginite nu neapărat identice pentru toate variabilele (domenii neuniforme), cu explicitarea condiŃiei de sumă constantă reprezintă o primă generalizare a modelelor cu domenii uniforme.

VI.5.1. Modele întregi cu sumă constantă şi variabile cu domeniu

uniform

Model de optimizare combinatorială cu variabile uniforme şi condiŃie explicită de sumă constantă

Considerăm în continuare un caz particular al modelelor de optimizare

combinatorială în care vom evidenŃia separat o condiŃie particulară cu egalitate şi în care domeniile tuturor variabilelor sunt identice [BAS05a]. Această problemă este una particulară de tipul rucsac general.

Considerăm că variabilele modelului sunt fiecare în domeniul { } Np ∈,...,2,1,0 . Modelul particular considerat este de forma

{ }

=∈

=⋅

nipx

Px

bxA

bxA

cxopt

i ,...,2,1,,...,1,0

22

11

1111

(1)

unde NP∈ . După cum se poate observa acest model este similar ca formă cu modelul (4), cu deosebirea că aici în locul condiŃiei de tip sumă unitară avem o condiŃie de sumă constantă.

Din enunŃarea modelului este clar că se impune suplimentar condiŃia Pnp ≥ . Într-

adevăr, cum orice i , ixp ≥ , prin sumare membru cu membru avem

Page 32: Optimizare combinatoriala CURS

32

Pxpnpn

ii

n

i

=≥= ∑∑−= 11

.

Astfel, dacă Pnp ≥ nu este îndeplinită, atunci problema (5) nu are soluŃii admisibile, deci modelul considerat nu are soluŃii. Datorită similitudinii modelului (1) cu modelul (5) prezentat în paragraful 3.6.3 şi a transformărilor bijective care au dus la transformarea modelului (1) în modelul (4) în paragraful mai sus menŃionat, rezultă că modelul (1) poate fi considerat la rândul său un model de programare procentuală. Modelul (1) este un caz particular de model rucsac general cu variabile uniforme, având condiŃie explicită de sumă constantă. Putem trage astfel următoarea concluzie: PropoziŃie: Clasa modelelor rucsac general cu variabile uniforme şi condiŃie explicită de sumă constantă este subclasă a clasei modelelor procentuale. În continuare, ca în cazul problemelor de programare procentuală putem considera doar problemele în care coeficienŃii funcŃiei obiectiv sunt ordonaŃi. Acest lucru nu restrânge generalitatea, deoarece orice problemă poate fi redusă la una având coeficienŃii funcŃiei obiectiv ordonaŃi prin aplicarea unei permutări asupra variabilelor. De asemenea, vom considera modelul în care optimul căutat este un maxim. Pentru minim se poate proceda similar.

Caracterizări ale soluŃiilor pentru modelul rucsac general cu variabile uniforme şi condiŃie explicită de sumă constantă

În continuare, deoarece ZNPp ⊂∈, , putem determina Nrq ∈, astfel încât

rpqP += şi condiŃia de sumă constantă şi fie scrisă sub forma rpqx +=⋅1 , unde q şi r , se determină pe baza proprietăŃilor de monotonie a vectorilor soluŃie admisibilă pentru problemele de optimizare procentuală şi q reprezintă numărul valorilor ix egale cu p în

vectorii soluŃie admisibilă.

PropoziŃie.

p

Pq , unde [ ]• desemnează partea întragă a unui număr.

Fie 0=t reprezentând numărul minim de valori ix egale cu p într-o soluŃie

admisibilă pentru problema (1) (rel1) Dacă t valori ix sunt egale cu p , atunci restul valorilor ( tn − ) sunt cel

mult egale cu 1−p şi astfel, prin înlocuire în modelul (1) se obŃine

( )( )( )

{ }

+=−∈

=+++

+++++

+

+

+

++

ntipx

Pxxpt

bxxppA

bxxppA

xcxcccp

i

nt

Tnt

Tnt

nnttt

,...,1,1,...,1,0

...

,...,,,...,2

,...,,,...,

......max

1

21

11

1

111

(2)

care prin eliminarea constantelor poate fi redus la

Page 33: Optimizare combinatoriala CURS

33

{ }

−=−∈

=⋅

tnipy

Py

byA

byA

yc

i ,...,1,1,...,1,0

max

22

11

1

(3)

unde ( )tnyyy −= ,...,1 , ( )nt ccc ,...,1+= , 21 , AA se obŃin din 1A , respectiv 2A , prin

eliminarea primelor t coloane, ptPP −= , ∑=

−=t

jijii apbb

1

111 şi ∑=

−=t

jijii apbb

1

222 .

Pentru îndeplinirea condiŃiilor de admisibilitate cu sumă constantă pentru (3) avem acum ( )( ) Pptn ≥−− 1 , deci

( ) Ptpn ≥+−1 Dacă această condiŃie nu este îndeplinită, atunci t se înlocuieşte cu 1+t şi raŃionamentul care a început la paragraful (rel1). Dacă ultima condiŃie este îndeplinită, atunci s-a obŃinut un t astfel încât qt ≤ .

Cum din propoziŃia anterioară avem

p

Pq , rezultă că procedeul descris mai sus pentru

determinarea lui t se poate aplica doar de un numar finit de ori şi astfel constituie un algoritm de determinare a lui q , care produce în plus o reducere a problemei prin restrângerea domeniului variabilelor şi eventual scăderea numărului acestora. ALGORITM Model cu domenii uniforme Pas 1. Se determină o permutare nS∈σ astfel încât ( ) ( ) ( )nccc σσσ ≥≥≥ ...21 . Prin

aplicarea permutării σ la variabilele modelului, fie ( )ii cd σ=1 , ( )Tlln

lll yyyy ,...,, 21= ,

( )ii xy σ=1 , ni ,...,2,1= , nn =1 , ( )11ijeE = , ( )jiij ae σ=1 , mi ,...,2,1= , nj ,...,2,1= ,

bb =1 , PP =1 , QQ =1 şi 1=l . Pas 2. Se consideră modelul

{ }

=∈

=

=

=

llli

l

ln

i

li

lll

ln

i

li

li

niQy

Py

byE

yd

,...,2,1,,...,1,0

min

1

1

şi fie

=

l

ll

Q

Pd .

Pas 3. Se generează ( )Tlll QQy ,...,,0,...,00 = unde numărul valorilor lQ este egal cu ld ,

iar numărul valorilor zero este ll dn − .

Page 34: Optimizare combinatoriala CURS

34

Pas 4. Se verifică sistemul de restricŃii lll byE ≤ pentru ll yy 0= . Dacă sistemul de

restricŃii se verifică se trece la pasul 7, altfel se continuă. Pas 5. Fie 1−← ll dd . Dacă 0≠ld se trece la pasul 3, altfel se continuă. Pas 6. Fie 1−← ll QQ . Dacă 0≠lQ se trece la pasul 2, altfel ne oprim (modelul nu are

soluŃii). Pas 7. Fie lll dnn −=+1 . Dacă 01 =+ln ne oprim (modelul nu are soluŃii), altfel se

continuă.

Pas 8. Considerăm ( )lln

ll ddd 111 ,..., ++ = , ( )Tl

ln

ll yyy 111 ,..., ++ = , ( )11 ++ = l

ijl eE , l

ijlij ee =+1 ,

mi ,...,2,1= , 1,...,1 += lnj , ( )Tlm

lll bbbb 112

11

1 ,...,, ++++ = , ∑++=

+ −=ln

lnj

lij

lli

li eQbb

11

1 ,

mi ,...,2,1= , llll QdPP −=+1 , 11 −=+ ll QQ şi 1+← ll . Dacă 0≠lQ se trece la pasul 2, altfel se continuă.

Pas 9. Se consideră ( )Tll QQQQx 1111 ,...,,...,,...,,0,...,0 −−= , unde numărul de zerouri este

egal cu ln iar numărul de valori jQ este jn , 1,...,1 −= lj . Fie ( )001

0 ,..., nxxx = care

se obŃine aplicând 1−σ la x , deci ( )ii xx 1

0−σ

= , ni ,...,2,1= . 0x este soluŃie optimă.

VI.5.2. Modele întregi cu sumă constantă şi variabile cu domeniu

oarecare Considerăm acum modelul

{ }

1 1

2 2

0,1,..., , 1,2,...,i i

opt cx

A x b

A x b

x P

x p i n

≥ ⋅ = ∈ ⊂ =

1

(4)

cu 1 2, ,..., np p p oarecare. Dacă 1 2 ... np p p p= = = = , atunci avem modelul ( 1). Astfel,

putem considera că acest model este o generalizare a modelului (1). Considerăm că există

{ }, 1, 2,...,i j n∈ , i j≠ astfel încât i jp p≠ .

Pentru simplificarea expunerii considerăm modelul cu forma

{ }

max

0,1,..., , 1,2,...,i i

cx

Ax b

x P

x p i n

≤ ⋅ = ∈ ⊂ =

1

(5)

făcând observaŃia, naturală de altfel, că sistemul (4) se poate aduce la această formă

considerând 1

2

AA

A

=

− ,

1

2

bb

b

=

− şi în plus, dacă optimul este minim prin utilizarea

relaŃiei intre minim şi maxim.

Page 35: Optimizare combinatoriala CURS

35

Acum putem considera o relaxare a modelului (5) prin suprimarea condiŃiei de numere întregi asupra variabilelor modelului şi obŃinem

[ ]

max

0, , 1, 2,...,i i

cx

Ax b

x P

x p i n

≤ ⋅ = ∈ ⊂ =

1

(6)

Din teoremele relative la relaxare avem că soluŃiile întregi ale modelului (5) sunt soluŃii şi pentru (6). Acum putem rescrie (6) şi sub forma

max

1

, 1, 2,...,

0, 1,2,...,i i

i

cx

Ax b

x P

x P

x p i n

x i n

≤ ⋅ ≤− ⋅ ≤ − ≤ =

≥ =

1 (7)

şi considerând

1 1 1

1 1 1

n

A

C

I

= − − −

⋯ şi 1

2

n

b

P

P

d p

p

p

=

obŃinem pentru (7) forma prescurtată

max

0, 1, 2,...,i

cx

Cx d

x i n

≤ ≥ =

(8)

Pentru modelul (8) putem asocia modelul dual

min

0, 1, 2,...,

T

i

du

C u c

u i n

≤ ≥ =

(9)

Considerăm *iα ∈ℕ ,

{ }1 2. . . . , ,..., ni

i

c mmm c p p p

pα = , unde c.m.m.m.c semnifică

cel mai mic multiplu comun şi inmulŃim linia i a sistemului de restricŃii prin iα (echivalent cu a înmulŃi coloana i a matricii C prin iα şi elementul ic prin iα ). Pentru modelul obŃinut asociem duala şi notând i i iy xα= rezultă

Page 36: Optimizare combinatoriala CURS

36

max

1

, 1, 2,...,

0, 1, 2,...,i

i

cy

Ay b

y P

y P

y i n

y i n

β

≤ ⋅ ≤− ⋅ ≤ − ≤ =

≥ =

1 (10)

unde { }1 2. . . . . , ,..., nc mmmc p p pβ = . Folosind în sens invers rescrierile prin care am ajuns

de la (4) la (7) pentru modelul (10) obŃinem, în cazul general,

{ }

1 1

2 2

0,1,..., , 1, 2,...,i

opt cx

A x b

A x b

x P

x i nβ

≥ ⋅ = ∈ ⊂ =

1

(11)

care este de aceeaşi formă cu (1) pentru care am dat o modalitate de rezolvare prin reduceri succesive. ConstrucŃiile de mai sus ne permit să dăm următorul enunŃ : PropoziŃie. Pentru modelul (4) în care coeficienŃii funcŃiei obiectiv sunt descrescători există j, 0 j n≤ ≤ , astfel încât în soluŃia optimă să avem i ix p= pentru

orice 1 i j≤ ≤ şi i ix p< dacă j i n< ≤ .

Această propoziŃie permite construirea unui algoritm de rezolvare pentru (4) prin reduceri succesive la modele cu număr mai mic de variabile sau cu domenii mai reduse pentru variabile, deoarece după aplicarea propoziŃiei pentru (4), fixarea necunoscutelor deja determinate şi renumerotarea necunoscutelor rămase se obtine un model

{ }

1 1

2 2

0,1,..., , 1, 2,...,i i

opt f c z

A z b

A z b

z P

z p i n

′+ ′ ′≤ ′ ′≥ ′⋅ =

′ ′ ∈ ⊂ =

1

(12)

unde 1

j

i ii

f c p=

=∑ , ( )1,...,j nc c c+′ = , ( )1,...,j nz x x+= , 1 2,A A′ ′ se obŃin respectiv din 1 2,A A

prin aliminarea primelor j coloane, 1

k k k

j

x

b b A

x

′ ′′= −

⋮ cu KA′′ formată cu primele j

coloane din kA , 1,2k = , 1

j

ii

P P x=

′ = −∑ şi 1i j ip p +′ = − .

Page 37: Optimizare combinatoriala CURS

37

ALGORITM 4 Model cudomenii neuniforme Pas 1. Se determină o permutare nS∈σ astfel încât ( ) ( ) ( )nccc σσσ ≥≥≥ ...21 . Prin

aplicarea permutării σ la variabilele modelului, fie ( )ii cd σ=1 , ( )Tlln

lll yyyy ,...,, 21= ,

( )ii xy σ=1 , ni ,...,2,1= , nn =1 , ( )11ijeE = , ( )jiij ae σ=1 , mi ,...,2,1= , nj ,...,2,1= ,

bb =1 , PP =1 , ii QQ =1 , ni ,...,2,1= şi 1=l .

Pas 2. Se consideră modelul

{ }

=∈

=

=

=

lli

li

l

ln

i

li

lll

ln

i

li

li

niQy

Py

byE

yd

,...,2,1,,...,1,0

min

1

1

şi fie ld astfel încât ∑∑−=+−=

<≤ln

ldlni

li

ln

ldlni

li QPQ1

.

Pas 3. Se generează ( )Tlln

lldln

lldln

l QQQy ,...,,,0,...,0210 +−+−

= unde numărul valorilor zero

este ll dn − . Pas 4. Se verifică sistemul de restricŃii lll byE ≤ pentru ll yy 0= . Dacă sistemul de

restricŃii se verifică se trece la pasul 7, altfel se continuă. Pas 5. Fie 1−← ll dd . Dacă 0≠ld se trece la pasul 3, altfel se continuă.

Pas 6. Fie din nou ld astfel încât ∑∑−=+−=

<≤ln

ldlni

li

ln

ldlni

li QPQ1

şi 1−← li

li QQ pentru

lll ndni ,...,1+−= . Dacă există i, lll nidn ≤≤+− 1 astfel încât 0≠liQ se trece

la pasul 2, altfel ne oprim (modelul nu are soluŃii). Pas 7. Fie lll dnn −=+1 . Dacă 01 =+ln ne oprim (modelul nu are soluŃii), altfel se

continuă.

Pas 8. Considerăm ( )lln

ll ddd 111 ,..., ++ = , ( )Tl

ln

ll yyy 111 ,..., ++ = , ( )11 ++ = l

ijl eE , l

ijlij ee =+1 ,

mi ,...,2,1= , 1,...,1 += lnj , ( )Tlm

lll bbbb 112

11

1 ,...,, ++++ = , ∑++=

+ −=ln

lnj

lij

lj

li

li eQbb

11

1 ,

mi ,...,2,1= , ∑++=

+ −=ln

lnj

lj

ll QPP11

1 , 11 −=+ li

li QQ pentru 1,...,1 += lni şi 1+← ll .

Dacă 0≠lQ se trece la pasul 2, altfel se continuă.

Page 38: Optimizare combinatoriala CURS

38

Pas 9. Se consideră ( )Tnn

lln

lln

lln

lln

QQQQQQx 11

1

1222

2

1111

1

1,...,,...,,...,,,...,,0,...,0

+

−−

+−−−

+= , unde

numărul de zerouri este egal cu ln . Fie ( )001

0 ,..., nxxx = care se obŃine aplicând 1−σ

la x , deci ( )ii xx 1

0−σ

= , ni ,...,2,1= . 0x este soluŃie optimă pentru modelul

considerat conform rezultatelor din paragraful 4.6.2. Bibliografie [1] S. Bârză, Principalele instrumente utilizate în formularea problemelor de

programare matematică bazată pe combinatorică (retrospectivă). Comunicare la simpozionul ICEC-2002, octombrie 2002,

[2] S. Bârză, Modele cantitative pentru înlocuirea utilajelor, Teză de doctorat, Noiembrie 2005

[3] G.L. Nemhauser, L.A. Wolsey, Integer and combinatorial optimization, John Wiley & Sons Inc, New York, 1999.

[4] R.G. Parker, R.L. Rardin, Discrete Optimization, Academic Press, Boston, 1998 [5] D. Pisinger, Algorithms for Knapsack Problems, Ph.D. Thesis, February 1995