103
Cercetări Operaţionale Aplicate în Economie Note de curs Lector dr. Sbughea Corina

Cercetari Operationale Aplicate in Economie

Embed Size (px)

DESCRIPTION

suport curs

Citation preview

Page 1: Cercetari Operationale Aplicate in Economie

Cercetări Operaţionale Aplicate în Economie

Note de cursLector dr. Sbughea Corina

Page 2: Cercetari Operationale Aplicate in Economie

“Cercetările Operaţionale reprezintă arta de a câştiga războaie fără a lupta cu adevărat”

Aurther Clarke

Page 3: Cercetari Operationale Aplicate in Economie

Această prelegere se adresează studenţilor specializării Informatică Economică, anul II şi are la bază următoarele materiale:

� “Bazele Cercetării Operaţionale” – Prof.dr. E.Ţigănescu,Prof.dr. D. Mitruţ, (disponibil la http://www.asecib.ase.ro/cursuri_online.htm)

� “Capitole speciale ale Cercetării Operaţionale” – Prof.dr. V. Nica (disponibil la http://www.asecib.ase.ro/cursuri_online.htm)

� “Operations Research Simplified” (disponibil lahttp://www.universalteacherpublications.com/univ/ebooks/or)

� “Modele şi algoritmi de optimizare” – R. Trandafir, Ed. AGIR, Bucureşti, 2004

� “Cercetari operationale. Optimizari in retele. Teorie si aplicatii economice” - G. Ciobanu, V. Mărăcine, V. Nica, D. Mitruţ , Ed. Matrixrom, Bucureşti, 2002

� “Cercetări operaţionale cu aplicaţii în economie: optimizări liniare ”- G. Ciobanu, E. Ţigănescu , Ed. ASE, Bucureşti, 2002

� “Modele, algoritmi şi produse software în cercetarea operationalã” -M. Cocan, Ed. Albastră, Bucureşti, 2008

Page 4: Cercetari Operationale Aplicate in Economie

Tematică� Cercetări Operaţionale: concepte, istoric, metode

� Programare liniară. Forme ale problemei de programare liniară

� Metoda Simplex: funadamente teoretice

� Algoritmul simplex primal – interpretarea economică

� Dualitatea în programarea liniară – fundamente teoretice

� Programarea liniară de tip transport

� Metoda de determinare a soluţiei optime pentru probleme de transport

� Elemente de teoria grafurilor

� Drumuri şi circuite în graf. Matrice ataşate grafurilor

� Drumuri hamiltoniene în graf. Drumuri de valoare optimă în graf

� Modelarea prin reţele - concepte

� Metoda drumului critic (Critical Path Method - C.P.M.)

� Metoda potenţialelor (Metro Potential Method - M.P.M.)

� Metoda PERT (Program Evaluation and Review Technique)

Page 5: Cercetari Operationale Aplicate in Economie

Cercetarea operaţională

� A apărut în perioada celui de-al doilea razboi mondial, când conducerea militară britanică a convocat un grup de oameni de ştiinţă cu scopul studierii alocării eficiente a resurselor pentru operaţiunile militare.

� Cercetările asupra operaţiunilor militare au trezit interesul apoi şi în alte domenii: industrie, transporturi, economie.

� Disciplina Cercetări Operaţionale s-a dezvoltat în legătură cu alte discipline ale conducerii:

� Cibernetica� Management � Informatica � Analiza Sistemelor.

Cercetarea operaţională – “reprezintă şcoala matematică între disciplinele organizării şi conducerii”

Page 6: Cercetari Operationale Aplicate in Economie

� Obiect� utilizarea metodelor matematice şi tehnicilor cantitative în

fundamentarea ştiinţifică a deciziilor manageriale dintr-o organizaţie.

� Instrumente � modelare matematica, � optimizare,� teoria algoritmilor,� teoria grafurilor,� programare matematica, � simulare

Page 7: Cercetari Operationale Aplicate in Economie

Şcoala clasică

� principalii reprezentanţi ai începuturilor organizării ştiinţifice (Taylor, Gantt, Fayol )

� se stabilesc o serie de principii ale conducerii ştiinţifice

� pun pentru prima oară problema abordării raţionale a mecanismului funcţionării unei întreprinderi.

� concepte precum informaţia şi decizia nu sunt utilizate în abordările timpurii

� o abordare excesiv teoretizată

Page 8: Cercetari Operationale Aplicate in Economie

Şcoală neoclasică

� obiectiv: reîntoarcerea la practică

� creşterea dimensiunilor şi complexităţii organizaţiilor economice

� abordarea problemelor informaţional - decizionale cu rezolvări empirice

� circuite informaţionale redundante

� procesul decizional se bazează în mare parte pe improvizaţie

Page 9: Cercetari Operationale Aplicate in Economie

Şcoala comportamentală

� studierea comportamentului uman şi a mecanismului de motivare

� descentralizarea deciziilor

� promovarea încrederii

� accentul pus pe responsabilitate (şi nu pe control)

� procesul decizional – găsirea de soluţii optime

Page 10: Cercetari Operationale Aplicate in Economie

Etape şi procese ale Cercetării Operaţionale:

� Formularea problemei - cunoaşterea realităţii, colectarea informaţiilor despre sistemul studiat, stabilirea obiectivelor.

� Construirea modelului - exprimarea problemei printr-un model matematic, utilizând ecuaţii, relaţii şi formule pentru descrierea proceselor şi contextului real

� Selectarea datelor de intrare adecvate – scopul acestei etape e de a aduna destule date de intrare pentru funcţionarea şi testarea modelului

� Rezolvarea modelului – determinarea soluţiei� Validarea modelului – un model este valid dacă poate oferi o imagine a

comportamentului sistemului� Implementarea soluţiei - o soluţie obţinută prin tehnicile Cercetării

Operaţionale, corect implementată, optimizează activitatea organizaţiei

Page 11: Cercetari Operationale Aplicate in Economie

� Sistem = un ansamblu de elemente (fenomene, obiecte, procese, concepteşi fiinţe), conectate printr-o mulţime de relaţii reciproce, precum şi cu mediul înconjurător şi care acţionează ca un tot unitar, în vederea realizării unor obiective.

� Structura sistemului = mulţimea elementelor şi a relaţiilor dintre acestea

� Starea sistemului = mulţimea caracteristicilor unui sistem, măsurate la un moment de timp dat

Page 12: Cercetari Operationale Aplicate in Economie

� Analiza comportamentului sistemului - conceptul de "cutie neagră“

� Sistemul - este studiat, făcând abstracţie de procesele sale interne: - se analizează modalitatea în care intrările în sistem (impulsurile

din partea mediului înconjurător) sunt transformate în ieşiri din sistem (acţiuni asupra mediului).

� Se descrie mecanismul transformării intrărilor în ieşiri cu ajutorul funcţiilor de transfer, care au diverse forme, particulare, după natura sistemului.

� Sistemul devine cibernetic - când apare reglarea (conexiunea inversă, feedback-ul)

Page 13: Cercetari Operationale Aplicate in Economie

� Este o tehnică versatilă de alocare a unor cantităţi limitate de resurse între anumite activităţi concurente, în aşa fel încât un anumit obiectiv să fie optimizat, cu satisfacerea anumitor restricţii.

� Este aplicată cu succes într-o varietate de probleme de management: producţie, desfacere, transport, analiza investiţiilor, etc.

� S-a demonstrat utilitatea acesteia nu doar în economie şi industrie, ci şi în activitatea organizaţiilor non-profit: sistem sanitar, educaţie, etc.

� Creşte calitatea deciziilor, prin îmbunătăţirea calităţilor analitice ale decidentului

PROGRAMAREA LINIARĂ

Page 14: Cercetari Operationale Aplicate in Economie

Structura modelului general de programare liniară

� mulţimea de activităţi {A1, A2, ... An} care compun sistemul economic analizat

� mulţimea de resurse utilizate {R1, R2, ... Rm}

� relaţiile tehnico-economice dintre acestea

- determinate de tehnologia de fabricaţie corespunzătoare fiecărei activităţi Aj (j=1,...,n)

- caracterizate numeric prin vectorii coloană a(j) de componente (a1j, a2j, ... amj).

Page 15: Cercetari Operationale Aplicate in Economie

- {aij, i = 1,...,m; j = 1,...,n} - coeficienţi tehnici - coeficienţi de consum specific - arată ce cantitate din resursa Ri se consumă pentru

producerea unei unităţi din produsul (serviciul) Pj (ca

rezultat al activităţii Aj).

- Matricea A cu m linii şi n coloane- fiecare linie se referă la o resursă Ri (i = 1,...,m) - fiecare coloană se referă la o activitate Aj (j = 1,...,n).

- Se notează :- xj (j = 1,...,n) rezultatul activităţii Aj într-o perioadă dată - bi (i = 1,...,m) cantităţile disponibile din resursele Ri (i = 1,...,m)

Page 16: Cercetari Operationale Aplicate in Economie

Sistemul restricţiilor tehnico-economice

• cantitatea consumată dintr-o resursă nu poate depăşi cantitatea totală disponibilă din resursa respectivă

• consumul total Rij din resursa Ri pentru efectuarea activităţii Aj este Rij = aij ⋅ xj

Page 17: Cercetari Operationale Aplicate in Economie

- Criteriul de "performanţă" - un indicator (care permite evaluarea eficienţei fiecărei activităţi):

� care măsoară efortul � care măsoară rezultatul� exprimat ca raport între rezultat şi efort

- Conceptul de optim se defineşte ca un vector x∈ Rn, care minimizează sau maximizează o funcţie obiectiv şi, în acelaşi timp, satisface toate restricţiile tehnico-economice

f(x) = c1⋅x1 + c2⋅x2 + ... + cn⋅xn - evaluează performanţa vectorului x

unde fiecare componentă a vectorului linie c = (c1, c2, ..., cn) măsoară eficienţa unei unităţi din rezultatul activităţii Aj

Page 18: Cercetari Operationale Aplicate in Economie

� relaţia (1) - funcţia obiectiv de eficienţă a problemei

� relaţiile (2) - restricţii de tip resurse şi restricţii tehnico-economice de tip calitativ

� relaţia (3) - condiţia de nenegativitate a variabilelor, asigură obţinerea unei soluţii realizabile din punctul de vedere al logicii economice

Modelul general al unei probleme de programare liniară

∈≥⋅

≤⋅

=

=

)3(0

)2(},...,2,1{,

)1()]([

1

1

j

n

j

kjkj

n

j

ijij

x

mki

bxa

bxa

xfoptim

Page 19: Cercetari Operationale Aplicate in Economie

Exemple:Problema folosirii optime a resurselor

Se cunosc:- cantităţile disponibile din fiecare materie primă {bi, i =1,...,m}- coeficienţii tehnologici {aij, i = 1,...,m, j = 1,...,n} (aij reprezintă

cantitatea din materia primă i necesară fabricării unei unităţi din produsul de tipul j)

- cantităţile maxime { , j = 1,...,n} şi minime { , j = 1,...,n} ce pot fi produse din fiecare sortiment

- profiturile unitare {pj, j = 1,...,n} ale fiecărui tip de produs

Se cer:- cantităţile xj care trebuie fabricate din fiecare tip de produs astfel încât

să se obţină profitul maxim, în condiţiile nedepăşirii disponibilurilor din fiecare resursă.

jx jx

Page 20: Cercetari Operationale Aplicate in Economie

Problema matematică echivalentă

-În unele probleme, în loc de profiturile pj se cunosc veniturile unitare vj

sau costurile unitare cj, scopul fiind maximizarea venitului, respectiv minimizarea costurilor.

Page 21: Cercetari Operationale Aplicate in Economie

Problema planului optim de producţie

� restricţiile se referă la maşinile (utilaje) cu care se execută produsele dorite, bi fiind disponibilul de timp al utilajului i

� aij timpul necesar prelucrării unui produs de tipul j pe utilajul i,� scopul - maximizarea producţiei.

( )

=≥

=≤+++

+++=

n1,...,i 0x

m1,...,ibxa...xaxa

x...xxmax

j

inin2i21i1

n21n)1,...,j(x j

Page 22: Cercetari Operationale Aplicate in Economie

Problema dietei� trebuie să se asigure necesarurile {bi, i = 1,...,m} dintr-un număr de

m substanţe esenţiale organismului� având la dispoziţie un număr de n alimente� cunoscându-se cantităţile {aij, i = 1,...,m, j = 1,...,n} din fiecare

substanţă pe care le conţine o unitate de măsură din fiecare aliment

� costurile {cj, j = 1,...,n} unei unităţi de măsură din fiecare aliment

� se determină xj - cantitatea din fiecare aliment ce va intra în meniu

( )

=≥

=≥+++

+++=

n1,...,j 0x

m1,...,ibxa...xaxa

xc...xcxcmin

j

inin2i21i1

nn2211n)1,...,j(

jx

Page 23: Cercetari Operationale Aplicate in Economie

Alocarea optimă a fondurilor financiare

Se cunosc:

- Suma totală disponibilă pentru a fi investită: S

- Investiţiile Ij, cu profiturile unitare pj, unde j=1,n

Se determină suma xj corespunzătoare plasamentului j, a.î.:

njx

Sx

xaxf

j

n

j

j

n

j

jj

≤≤≥

=

⋅=

=

=

1,0

)(max

1

1

Page 24: Cercetari Operationale Aplicate in Economie

Generalizare - Problema de programare matematică( )

( ))3(

)2(

)1(

x,...,x,x

m1,..., ibx,...,x,x

x,...,x,x

n

n21

in21

n21

⊆∈=≤

RU

g

foptim

i

x j

f,gi : Rn → R pot avea orice formă şi proprietăţi

U = orice submulţime a lui Rn -în care se caută minimul sau maximul funcţiei

f în variabilele xi care îndeplinesc restricţiile (2) şi (3)

Se numeşte:

- soluţie a problemei de optimizare = un vector x ∈ Rn care verifică restricţiile

(2)

- soluţie admisibilă a problemei de optimizare = un vector x ∈ Rn care verifică

restricţiile (2) şi (3)

- soluţie optimă a problemei de optimizare = un vector x ∈ Rn care verifică

restricţiile (2) şi (3) şi optimizează funcţia obiectiv pe mulţimea tuturor

vectorilor cu această proprietate

Page 25: Cercetari Operationale Aplicate in Economie

Problema de programare liniară - forma canonică şi forma standard

( ) ( )

≥==⋅++⋅+⋅

⋅++⋅+⋅=

0x,...,x,x

n1,..., ibxa...xaxa

xc...xcxcmaxsaumin

n21

inin2i21i1

nn2211f

Forma standard

Page 26: Cercetari Operationale Aplicate in Economie

Orice problemă de programare liniară poate fi adusă la forma canonică sau la forma standard, utilizând următoarele transformări:

1. Problema de maxim poate fi transformată în problemă de minim şi invers:

max f(x)= -min(-f(x))2. Shimbarea sensului unei inegalităţi se realizează prin înmulţire cu -1:

x ≤≤≤≤b ⇔⇔⇔⇔ -x ≥≥≥≥-b

3. Orice restricţie inegalitate poate fi transformată în egalitate prin introducerea variabilelor

de ecart sau de compensare (care în funcţia obiectiv au coeficienţi nuli):

x ≤≤≤≤b⇔⇔⇔⇔x +y=b sau x ≥≥≥≥b ⇔⇔⇔⇔ x -y=b

4. O restricţie egalitate poate fi transformată în două restricţii inegalitate:

x=b ⇔⇔⇔⇔ x≤≤≤≤b şi x≥≥≥≥b

5. Orice variabilă negativă poate fi transformată într-o variabilă nenegativă:

x=-y, x≤≤≤≤0, y≥≥≥≥0

6.Orice variabilă fără restricţie de semn poate fi înlocuită cu două variabile nenegative:

x=y-z, y,z≥≥≥≥0

Page 27: Cercetari Operationale Aplicate in Economie

Programare liniarăEtapa 1 - Formularea modelului

- transformarea unei probleme reale de decizie ->model de cercetări operaţionale

- Ex 1: O fabrică produce 2 produse P1 si P2, care au profiturile unitare de 50 si 60 u.m. Ambele produse necesită procesarea pe 3 utilaje. Datele din tabel indica numarul disponibil de ore utilaj pe saptamană şi timpul necesar pe fiecare masină, pentru fiecare unitate din P1 si P2. Să se formuleze modelul de programare liniară pentru maximizarea profitului firmei.

P2P1

6050Profit unitar

812743

509432

300121

Timp disponibil(ore utilaj pe saptamana)

ProdusUtilaj

Page 28: Cercetari Operationale Aplicate in Economie

max f=50x1 + 60x2

2x1 + x2≤300

3x1 + 4x2≤509

4x1 + 7x2≤812

x1≥0, x2 ≥ 0

Ipoteze:- aditivitate: totalul input-urilor şi profitul corespunzător

acestora, reprezintă suma input-urilor, respectiv a profiturilor, pe fiecare proces individual

- divizibilitate: se admit şi valori fracţionare pentru cantităţi- proporţionalitate: totalul input-urilor şi profitul

corespunzător acestora este direct proporţional cu nivelul producţiei.

- analiză statică – o singură perioadă de timp

Page 29: Cercetari Operationale Aplicate in Economie

Ex. 2:

� Într-o dietă formată din două alimente se regăsesc 3 substanţe nutriente: tiamina, fosfor şi fier

� Cantitatea din fiecare nutrient (mg/uncie) conţinută de fiecare aliment este:

1.101.20Fier

1.700.75Fosfor

0.100.12 Tiamina

BA

Aliment Nutrient

•Costul per uncie al celor doua alimente este de 2 u.m. respectiv 1.7 u.m.

•Necesarul minim pe zi, de nutrienti in dieta este de cel putin 1.00 mg, 7.50 mg de fosfor şi 10.00 mg de fier

•Să se formuleze modelul de programare liniară min f=2x1 +1.7x2

0.12x1 + 0.10x2 ≥300

0.75x1 + 1.70x2 ≥7.5

1.20x1 + 1.10x2 ≥10.0

x1≥0, x2 ≥ 0

Page 30: Cercetari Operationale Aplicate in Economie

Ex. 3:Managerul unei rafinării trebuie să decidă care este combinaţia optimă a douătehnologii de amestecare, pentru care se cunosc: input-urile disponibile şi output-urile necesare, fiecărui proces de producţie

P2P1

120

4

6

Output

100

5

8

I2I1

Necesar 250300Disponibil

50063B

40026A

Profit InputProces

x1 şi x2 = numărul de procese de producţie de tip A şi B

max f=400x1 + 500x2

6x1 + 3x2≤≤≤≤300

2x1 + 6x2≤≤≤≤250

6x1 + 4x2≥≥≥≥120

8x1 + 5x2≥≥≥≥100

x1≥≥≥≥0, x2 ≥≥≥≥ 0

Page 31: Cercetari Operationale Aplicate in Economie

Forma standard a unei probleme de programare liniară de minim (sau program liniar de minimizare) se prezintă astfel:

≤≤≥

≥≤≤=

=

−∑

=

=

nix

bmibxa

cuxcf

PL

j

ii

n

j

jij

n

j

jj

1,0

0,1,

lerestrictiimin

min

1

1

iar a unui program liniar de maximizare:

≤≤≥

≥≤≤=

=

−∑

=

=

njx

bmibxa

xcf

PL

j

ii

n

j

jij

n

j

jj

1,0

0,1,

conditiileinmax

max

1

1

Metode de soluţionare a problemelor de programare liniară

Page 32: Cercetari Operationale Aplicate in Economie

( ) ( ) AaXxxxnjmiij

T

n ==≤≤≤≤

1121 ;,...,,

( ) ( )b b b L c c c Cm

T

n1 2 1 2, ,..., ; , ,...,= =Τ

PL − min

PL − max

( )

≥=⋅

⋅=

0

min

X

LXA

XCxfT

( )

≥=⋅

⋅=

0

max

X

LXA

XCxfT

Dacă notăm:

Page 33: Cercetari Operationale Aplicate in Economie

Sistemul de restricţii poate fi:� incompatibil� compatibil unic determinat (numai în cazul m=n)� compatibil nedeterminat.

Presupunem că rangul lui A este m. Dacă notăm coloanele matricei A cu atunci restricţiile problemei se transcriu:

A X L⋅ =

a j nj, 1 ≤ ≤

Lxaxaxa n

n =+++ ...2

2

1

1

Page 34: Cercetari Operationale Aplicate in Economie

� Definiţia 1. Un vector X∈Rn, ale cărui componente satisfac

restricţiile unei probleme de programare liniară, se numeşte program

admisibil (soluţie admisibilă sau soluţie posibilă)

� Definiţia 2 Un program admisibil Xo care minimizează (sau

maximizează) funcţia liniară asociată acelei probleme se numeşte

program optim (sau soluţie optimă).

Page 35: Cercetari Operationale Aplicate in Economie

Daca notăm cu U mulţimea soluţiilor posibile ale unei probleme PL

şi notăm cu U o mulţimea programelor optime ale aceleaşi probleme:

Teorema 1. Mulţimile U şi Uo sunt convexe.

{ }0, ≥=∈= XLAXRxUn

( ){ }UXXCXCUXUTT ∈∀⋅≤⋅∈= ;ooo

Page 36: Cercetari Operationale Aplicate in Economie

� Definiţia 3 Un program X=(x1,x2,…xn)T se numeşte program de bază dacă vectorii coloană aj, corespunzători componentelor nenule xj, sunt liniar independenţi.

- Deoarece rangA=m un program de bază are cel mult m componente nenule

� Definiţia 4. Dacă un program de bază are exact m componente nenule (m= rang A), atunci programul de bază se numeşte nedegenerat. În caz contrar, degenerat.

� Definiţia 5. Matricea B de tipul m x m formată din coloanele lui A corespunzătoare componentelor nenule ale unui program de bază

nedegenerat X se numeşte bază a programului X.

Page 37: Cercetari Operationale Aplicate in Economie

� Definiţia 6. Fie C⊂Rn o mulţime convexă, un punct v∈C este vârf al

mulţimii C, dacă nu există nici o pereche de vectori, x1 şi x2 ∈C şi

α ∈(0,1) a.î. v= αx1 +(1- α) x2

� Teorema 2. Orice soluţie posibilă de bază este vârf al mulţimii

soluţiilor posibile şi reciproc.

� Teorema 3. Soluţia optimă a problemei de programare liniară se

află printre vârfurile mulţimii soluţiilor admisibile ale problemei

Page 38: Cercetari Operationale Aplicate in Economie

Metoda grafică� Probleme de decizie cu 2 sau 3 variabile� Multimea sol. admisibile U este convexă� Frontiera lui U este un contur poligonal cu un număr finit de

vârfuri, iar soluţia optimă se găseşte intr-unul din ele

� Etape:1. Se formulează modelul de PL

2. Se rezolvă ecuaţiile asociate inecuaţiilor şi se determină dreptele corespunzatoare în plan

3. Se determină punctele de intersecţie şi mulţimea sol.posibile4. Se calculează funcţia obiectiv în vârfuri

5. Se determină valoarea optimă a funcţiei obiectiv

Page 39: Cercetari Operationale Aplicate in Economie

REZOLVAREA GRAFICĂ A UNEIPROBLEME DE PROGRAMARE LINIARĂ

Se consideră următoarea problemă de programare liniară:

Max f(x)=3x1+6x2

x1+x2≤8

-x1+2x2 ≤4

x2 ≤2

x1,,x20

a) Să se determine mulţimea soluţiilor posibile ale problemei

b) Să se determine mulţimea soluţiilor posibile de bază ale problemei

c) Să se determine mulţimea soluţiilor optime ale problemei

Page 40: Cercetari Operationale Aplicate in Economie

Rezolvare

a) Se determină şi se reprezintă grafic dreptele ataşate restricţiilor problemei

2:

)0,4(4;0

)2,0(2;042:

)0,8(8;0

)8,0(8;08:

23

12

21

212

12

21

211

=

−⇒−==⇒==

⇒=+−

⇒==⇒==

⇒=+

xd

xx

xxxxd

xx

xxxxd

Se determină mulţimea punctelor din plan care respectă fiecare restricţie:

-Deoarece punctul O(0,0) verifică prima restricţie, semiplanul S1(care conţine originea) reprezintă mulţimea punctelor de coordonate x1şi x2 care verifică prima inegalitate

- Deoarece punctul O(0,0) verifică a doua restricţie, semiplanul S2 (care conţine originea) reprezintă mulţimea punctelor de coordonate x1şi x2 care verifică a doua inegalitate

-Deoarece punctul O(0,0) nu verifică a treia inegalitate, semiplanul S3 (care nu conţine originea) este mulţimea punctelor ce respectă a treia restricţie

Page 41: Cercetari Operationale Aplicate in Economie

Mulţimea soluţiilor posibile ale problemei este reprezentată de interiorul şi frontiera triunghiului ABC

)2,0(

)2,6(2;62

8

)4,4(4;442

8

21

2

21

31

21

21

21

21

A

Cxxx

xxCdd

Bxxxx

xxBdd

⇒==⇒=

=+⇒=

⇒==⇒=+−

=+⇒=

I

I

b) Mulţimea soluţiilor posibile de bază este {A,B,C}

c) f(A)=12

f(B)=36

f(C)=30

Mulţimea soluţiilor optime este formată din elementele mulţimii soluţiilor posibile de bază, în care funcţia obiectiv îşi atinge valoarea optimă: {B}={(4,4)}

Page 42: Cercetari Operationale Aplicate in Economie

Metoda Simplex

- propusă în 1947 de matematicianul Dantzing

-cea mai utilizată metodă de rezolvare a problemelor de programare matematică

- constă în trecerea de la o soluţie admisibilă de bază, la altă soluţie admisibilă de bază, a.î. să se crească (sau să se scadă) continuu, valoarea funcţiei obiectiv, până se atinge optimul.

Page 43: Cercetari Operationale Aplicate in Economie

Metoda Simplex pentru PPL în formă canonică

� se adaugă fiecărei restricţii câte o variabilă de ecart, a.î. inegalităţile să fie transformate în egalităţi

� în funcţia obiectiv variabilele de ecart vor avea coeficienţi egali cu zero

� din punct de vedere economic, aceste variabile reprezintă cantitatea sau capacitatea rămasă nefolosită.

Fie forma canonică a problemei de maxim:

( )

≥≤⋅

⋅=

0

max

X

LXA

XCxfT

Page 44: Cercetari Operationale Aplicate in Economie

bm1...0...0amn...ams...am2am1xn+m

.......................................

br0...1...0arn...ars...ar2ar1xn+r

.......................................

b20...0...0a2n...a2s...a22a21xn+2

b10...0...1a1n...a1s...a12a11xn+1

x0xn+m...xn+r…xn+1xn...xs...x2x1

0...0...0cn...cs...c2c1

-variabilele xi cu i=1,n sunt variabilele decizionale, iar variabilele xn+i , cu i=1,m, sunt de ecart.

- deoarece valorile bi sunt nenegative se poate porni de la soluţia admisibilă de bază obţinută prin egalarea variabilelor decizionale cu zero şi a variabilelor de ecart cu valorile termenilor liberi bi: X=(0,...,0,b1,...,bm)T

Page 45: Cercetari Operationale Aplicate in Economie

� Coloanele matricei extinse (A I), corespunzătoare variabilelor de ecart, formează

matricea unitate (inversabilă) - acestea sunt asociate bazei.

� Notăm � cu XB={ xn+i }, i=1,m, componentele asociate bazei

� cu XN={ xi }, i=1,n, restul componentelor vectorului X.

LXIXAX

XIA s

s

=•+•=))((

Matriceal, restricţiile devin:

unde Xs este vectorul variabilelor de ecart

� metoda Simplex descrie procesul de înlocuire a lui xr∈XB cu un element xs∈XN, spunând că xr iese din bază, iar xs intră în bază.

� această operaţie se numeşte de pivotare, iar elementul din tabel, care se găseşte la intersecţia liniei r cu coloana s, ars, se numeşte pivot.

� linia r şi coloana s, din tabel se vor numi linia şi coloana pivot.

Page 46: Cercetari Operationale Aplicate in Economie

� Actualizarea tabelului se va face după următoarele reguli:1. elementele liniei pivot, arj vor fi înlocuite cu raportul arj / ars, pentru j=1,

n+m;2. elementele coloanei pivot ais vor fi înlocuite cu 0, în afară de pivot care

va fi înlocuit cu 1;3. celelalte elemente vor fi înlocuite cu aij - arj *ais / ars

� aceste reguli realizează eliminarea variabilei xs din toate restricţiile, în afară de restricţia r, iar în ecuaţia r, coeficientul lui xs este egal cu 1.

� regula 1 corespunde normalizării liniei pivot, a.î. elementul pivot să devină 1.

� regula 2 corespunde eliminării tuturor elementelor din coloana pivot, cu excepţia pivotului

� regula 3 calculează complementul Schur pentru restul elementelor din tabel.

Page 47: Cercetari Operationale Aplicate in Economie

� iniţial baza vectorului XB este matricea unitate: B1=I.

� notăm cu Bi baza corespunzătoare fiecărei iteraţii, şi cu zi coloanele tabelului corespunzător iteraţiei i:

(a1 a2 ... am+n ) = (A| I)=Bi (Bi-1A | Bi

-1)= Bi (z1 z2 ... zm+n),

Bi zj =aj.

� notăm ultima coloană a tabelului cu z0(ultima coloană din tabelul iniţial este cea a termenilor liberi):

Bi Z0=L, unde Z0=( z10 z20 ... zm0)T

� vectorul Z0 corespunde soluţiei admisibile de bază curente, pentru baza Bi:

XBi=Z0= Bi-1 L

Page 48: Cercetari Operationale Aplicate in Economie

� determinarea variabilei xr care iese din bază şi a variabilei xs, care intră în bază, se face pe baza condiţiilor de optim şi fezabilitate:

� Condiţia de optim

- în cazul problemei de maxim se calculează diferenţele:

- pentru problemele de minim

cu j=1,...,n+m

- unde , iar valoarea funcţiei obiectiv, asociată soluţiei de bază curente

� Condiţia de fezabilitate

- variabila xr, care va ieşi din bază, corespunde celui mai mic raport pozitiv:

)( jji Zc −−=∆

jji Zc −=∆

∑=

=m

i

ijij zcZ1

B

T

B XcZ =0

}0,min{ 00 >= is

is

i

rs

rz

z

z

z

z

Page 49: Cercetari Operationale Aplicate in Economie

Metoda Simplex pentru PPL în formă standard

� o soluţie iniţială de bază nedegenerată trebuie să aibă exact m componente nenule

� se considera programul iniţial de bază obţinut prin egalarea cu zero a n-m componete

� componentele nenule sunt variabilele principale (XB), asociate bazei

� componentele non-bazice ∈XN sunt variabilele secundare� vectorii a1, a2,...,am formează baza B asociată programului X0

� vectorii am+1, am+2,...,an sunt coloanele matricei N

( )TmxxxX 0,...,0,0,,...,, 21

oooo =

Page 50: Cercetari Operationale Aplicate in Economie

Problema de programare liniară poate fi scrisă astfel:

( )

≥=⋅+⋅

+=

0

max

X

LXNXB

XCXCXf

NB

N

T

NB

T

B

( )

≥=⋅+⋅

=−−−

0

/

01

0

X

LXNXBB

XCXCXf

NB

N

T

NB

T

B

ptr X0:

( )⇔

=⋅+=−−

−−LBXNBX

XCXCXf

NB

N

T

NB

T

B

11

0 0

Page 51: Cercetari Operationale Aplicate in Economie

( )⇔

⋅−==−−

−−NB

N

T

NB

T

B

XNBLBX

XCXCXf11

0 0

( )⇔

⋅−==−⋅−−

−−

−−

NB

N

T

NN

T

B

XNBLBX

XCXNBLBCXf11

110 0)(

( )⇔

=⋅+=−−

−−

−−

LBXNBX

LBCXNBCCXf

NB

T

BN

T

B

T

N

11

110 )(

NBCZT

B

T

N

1−=

Page 52: Cercetari Operationale Aplicate in Economie

( )⇔

=−−=⋅+

−−

LBCXZCXf

LBXNBXT

BN

T

N

T

N

NB

10

11

)(

Condiţia de optim, în cazul problemei de maximizare considerate, este ca toate diferenţele – (cj-zj) ≥ 0 (pentru minim cj-zj≥0).

Page 53: Cercetari Operationale Aplicate in Economie

Dualitate în programarea liniară

� fiecare problemă de programare liniară are asociată o altă problemă de programare liniară, bazată pe aceleaşi date

� problema originală se numeşte primală şi problema asociată acesteia, se numeşte duală

� studiul dualităţii este util:� atunci când se doreşte testarea preciziei soluţiei problemei primale,

� atunci când problema originală conţine un număr mare de restricţii (linii), şi un număr mic de variabile (coloane).

Page 54: Cercetari Operationale Aplicate in Economie

� în problema primală:� o restricţie:

� de tipul: ai1x1 + ai2x2 + … + ainxn ≥≥≥≥ bi într-o problemă de minim

� de tipul: ai1x1 + ai2x2 + … + ainxn ≤≤≤≤ bi într-o problemă de maxim

se numeşte concordantă cu funcţia obiectiv� O restricţie :

� de tipul: ai1x1 + ai2x2 + … + ainxn ≥≥≥≥ bi într-o problemă de maxim

� de tipul: ai1x1 + ai2x2 + … + ainxn ≤≤≤≤ bi într-o problemă de minim

se numeşte neconcordantă cu funcţia obiectiv

Page 55: Cercetari Operationale Aplicate in Economie

Problema duală se construieşte folosind elementele problemei primale şi o serie de reguli:

1. duala unei probleme de minim este o problemă de maxim şi invers.2. fiecărei restricţii din primală îi corespunde o variabilă în duală şi invers.

(numărul variabilelor din primală este egal cu numărul restricţiilor din duală şi invers)

a) unei restricţii conordante îi corespunde o variabilă pozitivă şi inversb) unei restricţii neconordante îi corespunde o variabilă negativă şi inversc) unei restricţii de tip egalitate îi corespunde o variabilă oarecare şi invers

3. coeficienţii funcţiei obiectiv din duală sunt termenii liberi din primală, iar termenii liberi din duală sunt coeficienţii funcţiei obiectiv din primală.

4. matricea coeficienţilor tehnologici din duală este transpusa matricei coeficienţilor tehnologici din primală.

Page 56: Cercetari Operationale Aplicate in Economie

( )min f X C X

A X L

X

T= ⋅⋅ ≥

0

PD

PP

( )maxg Y L Y

A Y C

Y

T

T

= ⋅⋅ ≤≥

0

Y

y

y

ym

=

1

2

M

Page 57: Cercetari Operationale Aplicate in Economie

=≥≥−++

≥++−≥++−

++=

4,3,2,1,0

2

22

132

24min

4321

4321

4321

321

ix

xxxx

xxxx

xxxx

xxxf

i

Exemplu:

( )

=≥≤−+

≤++≤+−−

≤++

++=

3,2,1,0

03

2

42

12

22max

321

321

321

321

321

iy

yyy

yyy

yyy

yyy

yyyYg

i

PP

PD

Page 58: Cercetari Operationale Aplicate in Economie

Teorema 1. Fie X o soluţie posibilă pentru problema (PP) şi Y o soluţieposibilă pentru problema (PD) atunci

( ) ( )YgXf ≥

( ) ( )ooXfYg minmax = ( )oo

YLXT ⋅=⋅TCsau

Teorema 2. Dacă (PP) are optim finit atunci (PD) are optim finitşi avem:

unde Xo este o soluţie optimă pentru (PP) iar Yo o soluţie optimă pentru(PD).

Teorema 3. (teorema ecarturilor complementare)Fie X,Y soluţii ale problemelor (PP), respectiv (PD). Atunci X,Y sunt soluţiioptime dacă şi numai dacă au loc relaţiile:

( ) ( )Y L AX X A Y CT T T⋅ − = ⋅ − =0 0;

Page 59: Cercetari Operationale Aplicate in Economie

PROBLEMA CLASICĂ DE TRANSPORT

� Problema clasică de transport face parte din clasa problemelor modelate prin reţele de transport.

� O reţea de transport modelează situaţia economică în care, dintr-un număr de surse, trebuie transportată o cantitate dintr-o anumită marfă, într-un număr de destinaţii.

Page 60: Cercetari Operationale Aplicate in Economie

� Caracteristicile unei probleme de transport clasice sunt:

1. fiecare sursă aprovizionează cel puţin o destinaţie şi fiecaredestinaţie este aprovizionată de la cel puţin o sursă;

2. pot exista perechi sursă-destinaţie între care nu se poate face transfer (rute blocate);

3. nu există limitări în ceea ce priveşte cantitatea transportată pefiecare rută;

4. se cunosc cantităţile disponibile în fiecare sursă şi cantităţilenecesare în fiecare destinaţie;

5. fiecărei rute i s-a asociat un cost care nu depinde de sensul de parcurgere.

Page 61: Cercetari Operationale Aplicate in Economie

Datele problemei sunt:� m = numărul de surse (furnizori);� n = numărul de destinatari (consumatori);� {Di, i = 1,...,m} = cantităţile disponibile în fiecare sursă;� {Nj, j = 1,...,n} = cantităţile necesare la fiecare sursă;� {cij, i = 1,...,m; j = 1,...,n} = costurile unitare pe fiecare rută (costul

transportării unei unităţi de măsură de la sursa i la destinaţia j).

� Scopul - găsirea acelor cantităţi care trebuie transportate pe fiecare rută astfel încât să se asigure necesarul fiecărei destinaţii, în limitele cantităţilor aflate la surse, cu costul minim posibil.

Page 62: Cercetari Operationale Aplicate in Economie

MMMOMM

disponibil

necesarNn…N

2N

1

Dm

cmn…c

m2c

m1F

m

D2

c2n…c

22c

21F

2

D1

c1n…c

12c

11F

1

Cn…C

2C

1

Destinaţii

Surse

Page 63: Cercetari Operationale Aplicate in Economie

Se notează cu xij - cantitatea care va fi transportată de la sursa i la destinaţia j:

( )

==≥

=≥

=≤

⋅=

∑∑

=

=

= =

n1,...,jm;1,...,i0x

n1,...,jNx

m1,...,iDx

xcmin

ij

j

m

1i

ij

i

n

1j

ij

m

1i

n

1j

ijijf

- problema nu are soluţii admisibile dacă disponibilul total este mai micdecât cererea totală

∑ ∑∑∑= ===

≥≥m

1i

n

1j

j

n

1j

ij

m

1i

i totalacerere NxD totaldisponibil

Page 64: Cercetari Operationale Aplicate in Economie

� Cazuri posibile în practică:

∑∑==

>n

1j

j

m

1i

i ND)1(

• disponibilul total este mai mare decât cererea totală (se va transporta doar necesarul)•problema are soluţie optimă •cantitatea în exces faţă de cerere va rămâne la furnizori, fiind reprezentată de variabilele de abatere din primele m restricţii •pentru echilibrare -aceste cantităţi = cereri ale unui consumator fictiv •costurile unitare pe rutele care ar lega furnizorii de acest consumator sunt 0 • cererea consumatorului fictiv va fi egală cu diferenţa dintre disponibilul şi necesarul total

Page 65: Cercetari Operationale Aplicate in Economie

∑∑==

<n

1j

j

m

1i

i ND)2(

•dacă disponibilul este mai mic decât necesarul - unora dintre consumatori nu li se va satisface toată cererea • cerere nesatisfăcută = disponibilul unui furnizor fictiv • costurile unitare pe rutele care ar lega consumatorii de acest furnizor sunt 0 •disponibilul furnizorului va fi diferenţa dintre necesarul şi disponibilul total

∑∑==

=n

1j

j

m

1i

i ND)3(

• problema echilibrata• toate soluţiile admisibile verifică toate restricţiile cu egal

Page 66: Cercetari Operationale Aplicate in Economie

( )

==≥

==

==

⋅=

∑∑

=

=

= =

n1,...,jm;1,...,i0x

n1,...,jNx

m1,...,iDx

xcmin

ij

j

m

1i

ij

i

n

1j

ij

m

1i

n

1j

ijijf

∑∑==

=n

1j

j

m

1i

i ND

Forma standard a problemei de transport

Rezolvarea problemei de transport:

• nu se poate aplica metoda simplex – un nr. foarte mare de variabile (nxm– cate una pentru fiecare ruta) şi n+m restrictii

Page 67: Cercetari Operationale Aplicate in Economie

Etapa 1.Gasirea unei soluţii iniţiale de bază

� Metoda colţului de nord – vest� se alege ruta din colţul din stânga sus al tabelului, dintre cele neblocate sau nealocate

încă

� Metoda minimului pe linii� se alege ruta de cost minim de pe prima linie, dintre cele neblocate sau nealocate încă

� Metoda minimului pe coloane� se alege ruta de cost minim de pe prima coloană, dintre cele neblocate sau nealocate

încă

� Metoda costului minim� se alege ruta de cost minim din tot tabelul, dintre cele neblocate sau nealocate încă

� Metoda diferenţelor maxime� se calculează pentru fiecare linie şi coloană diferenţele între cele mai mici costuri� pentru liniiile şi coloanele cu diferenţe maxime se caută costul minim

- după fiecare alegere se transportă pe ruta respectivă - maximul posibil (minimul dintre cantitatea care mai e disponibilă la furnizor şi cantitatea care mai e necesară la consumator)- se epuizează disponibilul furnizorului (se blocheaza celelalte rute care pleaca de la acesta) sau necesarul consumatorului (se blocheaza celelalte rute catre acesta) sau ambele

Page 68: Cercetari Operationale Aplicate in Economie

Etapa2. Gasirea soluţiei optime

1. Se asociază fiecărui furnizor Fi o variabilă ui şi fiecărui consumator Cj o variabilă vj;

2. Fiecărei rute (i,j) folosită în soluţia actuală i se asociază ecuaţia ui + vj = cij, rezultând un sistem cu m + n necunoscute (m de ui şi n de vj) şi m + n – 1 ecuaţii;

3. Se găseşte o soluţie particulară a acestui sistem, egalând una din necunoscute cu 0 (pe cea care apare de cele mai multe ori);

4. Se calculează toţi ∆ij = cij –(ui + vj) pentru toate rutele care nu fac parte din soluţie (ceilalţi sunt 0, ţinând cont de modul de calcul pentru ui, i = 1,...,m şi vj, j = 1,...,n)

5. Se analizează ∆ij găsiţi.

• dacă toţi sunt pozitivi soluţia găsită este optimă

• dacă există ∆ij strict negativi atunci soluţia actuală nu este optimă şi ruta corespunzătoare lui ∆ij minim va fi cea care intră în bază (dacă minimul este multiplu se ia una la întâmplare)

Page 69: Cercetari Operationale Aplicate in Economie

6. Se construieşte un circuit, pornind din această rută, trecând doar prin rutele soluţiei, mergând doar pe verticală sau orizontală şi fiecare trecere de la o rută la alta făcându-se doar perpendicular pe trecerea anterioară.

7. Se notează alternativ cu "+" şi "–" rutele circuitului incepând cu + din ruta care va intra în bază

8. Se notează cu θ minimul dintre cantităţile transportate pe rutele notate cu "–" şi ruta pentru care s-a obţinut acest minim este cea care va ieşi din bază;

9. Se scade θ din cantităţile transportate pe rutele notate cu "–" şi se adaugă la cele notate cu "+", rutele care nu sunt pe circuit păstrându-şi valoarea;

10. Se reia algoritmul de la pasul 2 al etapei a II-a

Page 70: Cercetari Operationale Aplicate in Economie

ELEMENTE DE TEORIA GRAFURILOR

� Grafurile - vizualizarea sistemelor şi situaţiilor complexe;

� Componentele sist. - puncte în plan;

� Relaţiile (legăturile, dependenţele, influenţele etc) dintre componente -

arce cu extremităţile în punctele respective;

Page 71: Cercetari Operationale Aplicate in Economie

� Definiţia 1 Se numeşte graf un cuplu G = (X,U) în care X şi U sunt două mulţimi:� X = mulţimea nodurilor grafului � U = mulţimea muchiilor (legăturilor) între două noduri, nu neaparat distincte,

ale grafului.

� Definiţia 2 Se numeşte graf orientat un graf în care s-a dat o orientaretotală muchiilor acestuia.

� a orienta muchia (xi, xj) inseamna a alege un arc de la nodul xi la nodul xj sau invers;

� arcul (xi,xj) este incident spre interior vârfului xj şi incident spre exterior vârfului xi.

� dacă pentru un arc nodul iniţial coincide cu nodul final atunci acesta se numeşte buclă

� xi şi xj se vor numi adiacente dacă există cel puţin unul din arcele (xi,xj) şi (xj,xi).

Page 72: Cercetari Operationale Aplicate in Economie

� geometrică - se reprezentă fiecare nod printr-un punct şi fiecare arc printr-un segment de curbă care are ca extremităţi nodurile arcului şi pe care este trecută o săgeată orientată de la nodul iniţial spre cel final.

� printr-o matrice pătratică booleană, de dimensiune egală cu numărul de noduri, în care o poziţie aij va fi 1 dacă există arcul (xi,xj) şi 0 în caz contrar, numită matricea adiacenţelor directe

Reprezentarea unui graf orientat

Page 73: Cercetari Operationale Aplicate in Economie

Concepte de bază în teoria grafurilor:

1. semigraf interior al unui nod xk:U-k este mulţimea arcelor

incidente spre interior nodului xk;2. semigraf exterior al unui nod xk:U+

k este mulţimea arcelor incidente spre exterior nodului xk;

3. semigradul interior al unui nod xk: este numărul arcelor care sunt incidente spre interior nodului xk = cardinalul lui U-

k

4. semigradul exterior al unui nod xk: este numărul arcelor care sunt incidente spre exterior nodului xk = cardinalul lui U+

k;5. gradul unui nod xk: este suma semigradelor;6. nod izolat: este un nod cu gradul 0;7. nod suspendat: este un nod cu gradul 1;8. arce adiacente: arce care au o extremitate comună;9. drum într-un graf: o mulţime ordonată de noduri ale grafului: (x1,

x2, ..., xk), cu proprietatea că există în graf toate arcele de forma (xi,xi+1) i = 1,...,k-1;

10. lungimea unui drum: este numărul arcelor care îl formează;

Page 74: Cercetari Operationale Aplicate in Economie

11. drum elementar: un drum în care fiecare nod apare o singură dată;

12. drum simplu: un drum în care fiecare arc apare o singură dată;

13. putere de atingere a unui nod xi ∈ X în graful G: numărul de noduri la care se poate ajunge din xi. Puterea de atingere se notează cu p(xi), 1 ≤ i ≤ n

14. drum hamiltonian: un drum elementar care trece prin toate nodurile grafului;

15. drum eulerian: un drum simplu care conţine toate arcele grafului;

16. lanţ: un drum în care arcele nu au neapărat acelaşi sens de parcurgere;

17. circuit: un drum în care nodul iniţial coincide cu cel final;

18. circuit elementar: un drum în care fiecare nod apare o singură dată, cu excepţia celui final, care coincide cu cel iniţial;

19. circuit simplu: un drum în care fiecare arc apare o singură dată;

Page 75: Cercetari Operationale Aplicate in Economie

20. circuit hamiltonian: un circuit care trece prin toate nodurile grafului;

21. ciclu: este un circuit în care arcele nu au neapărat acelaşi sens de parcurgere;

22. ciclu elementar: un ciclu în care fiecare nod apare o singură dată, cu excepţia celui final, care coincide cu cel iniţial;

23. ciclu simplu: un ciclu în care fiecare arc apare o singură dată;

(Într-un graf neorientat noţiunile de drum şi lanţ sunt echivalente şi de asemenea cele de circuit şi ciclu.)

24. graf parţial al unui graf G = (X,U): este un graf G'(X,U') cu U' ⊂ U;

25. subgraf al unui graf G = (X,U): este un graf G'(X',U') unde X' ⊂ X, obtinut prin eliminarea unui numar de vf. si a arcelor incidente cu acestea ;

26. graf complet este un graf in care orice cuplu de vf. e legat cu celputin un arc;

27. graf simetric este un graf in care orice cuplu de vf. e legat cu arcein ambele sensuri;

Page 76: Cercetari Operationale Aplicate in Economie

Găsirea drumurilor într-un graf orientat

Construirea grafului unui sistem:� nodurile=stările posibile ale sist.� arcurile (xi,xj) – sist. poate trece direct din starea xi in xj.� există şi posibilitatea trecerii prin alte stări intermediare -existenţa în

graf a unui drum de la nodul xi la nodul xj.

�A=matricea booleană a adiacenţelor directe – drumurile de lungime 1

Page 77: Cercetari Operationale Aplicate in Economie

� Ak (cu regulile alg.booleene) – a(i,j)=1 =>exista cel putin un drum de lungime k, de la xi la xj

� Ptr. a afla numarul acestora –regulile obisnuite de adunare si inmultire

� Pentru deciderea existenţei unui drum între oricare două noduri este suficientă calcularea doar a primelor n-1 puteri ale lui A.

� Daca intereseaza doar existenta drumurilor dintre noduri - matricea

conexiunilor totale

� D = A + A2 + ... + An-1 -alg.booleene

dij =

ji

ji

xla x de drum un nici aexist nu adac0

xla x de drum un putin cel aexist adac1((

((

Page 78: Cercetari Operationale Aplicate in Economie

ARBORI. Arborele de valoare optimă

� circuit: un drum în care nodul iniţial coincide cu cel final� ciclu: este echivalentul circuitului într-un graf neorientat� lanţ: este echivalentul drumului într-un graf neorientat� graf conex: este un graf în care între oricare două noduri există cel

puţin un lanţ

� Def: Un arbore este un graf neorientat, finit, conex şi

fără cicluri

Page 79: Cercetari Operationale Aplicate in Economie

Algoritmi pentru găsirea arborelui de valoare optimă

Algoritmul lui Kruskal

1. Dintre toate muchiile grafului se alege muchia de valoare minimă (maximă). Dacă minimul este multiplu se alege la întâmplare una din muchiile respective.

2. Dintre toate muchiile rămase, se alege cea de valoare minimă (maximă), astfel încât să nu se formeze cicluri cu cele deja alese;

3. Se reia algoritmul de la pasul 2 până se colectează n-1 muchii.

Page 80: Cercetari Operationale Aplicate in Economie

Algoritmul lui Sollin

1. Pentru fiecare nod se alege muchia adiacentă de valoare minimă (maximă).

2. Se evidenţiază componentele conexe, existente în graful parţial format din arcele alese până în acest moment.

3. Pentru fiecare componentă conexă se alege muchia adiacentă de valoare minimă (maximă). (muchie adiacentă unei componente conexe = o muchie care are o singură extremitate printre nodurile componentei respective)

4. Se reia algoritmul de la pasul 2 până rămâne o singură componentă conexă. Acesta este arborele optim căutat.

Page 81: Cercetari Operationale Aplicate in Economie

Algoritmul lui Kruskal modificat:

1. Dintre toate muchiile grafului se alege cea de valoare minimă (maximă);

2. Dintre toate muchiile adiacente componentei conexe formată din arcele alese până în acest moment, se alege cea de valoare minimă (maximă);

3. Se reia pasul 2 până se colecţionează n-1 muchii.

Page 82: Cercetari Operationale Aplicate in Economie

Problema de afectare (repartitie)Problema de afectare (repartiţie)

� Corespunde situaţiei practice în care se urmăreşte:� asocierea optimă a elementelor mulţimii X = {x1, x2, ... , xn} cu

elementele mulţimii Y = {y1, y2, ... , ym}

� în condiţiile unor limitări ale posibilităţilor de asociere� fiecare asociere posibilă xi ↔ yj aduce un anumit efect vij (profit,

cost, timp)

Page 83: Cercetari Operationale Aplicate in Economie

Limitările asupra asocierilor:

1.Un element xi poate fi asociat doar cu anumite elemente din Y şi reciproc;

2.Fiecărui element din X i se asociaza cel mult un element din Y şi reciproc.

Asocierea optimă presupune două obiective:

1. Să se facă maximul de asocieri;2. Suma efectelor asocierilor să fie minimă (sau maximă, în funcţie de

semnificaţia acestora).

Page 84: Cercetari Operationale Aplicate in Economie

Definiţia 1: Se numeşte graf bipartit un graf G = (X, U) în care mulţimea nodurilor poate fi împărţită în două submulţimi disjuncte A şi B astfel încât orice arc are extremitatea iniţială în A şi cea finală în B*.

x1

x2

xn

y1

y2

ym

* “Bazele Cercetării Operaţionale” – Prof.dr. E.Ţigănescu, Prof.dr. D. Mitruţ

Page 85: Cercetari Operationale Aplicate in Economie

� Definiţia 2: Se numeşte cuplaj al unui graf bipartit o submulţime de arce W ⊆ U cu proprietatea că nu există două arce adiacente (pentru orice nod există cel mult un arc incident acestuia).

� Definiţia 3: Se numeşte cuplaj maxim un cuplaj cu proprietatea că orice arc care nu face parte din cuplaj este adiacent cu un arc din cuplaj ( ⇔ orice arc vom adăuga, nu mai rămâne cuplaj ⇔ conţine numărul maxim de arce neadiacente)

Page 86: Cercetari Operationale Aplicate in Economie

Definiţia 4: Daca se asociaza fiecărui arc (xi,xj) o valoare vij, se numeşte valoare a unui cuplaj suma valorilor arcelor care îl formează.

Problema de repartiţie este echivalentă matematic:- determinarea unui cuplaj maxim de valoare optimă (minimă sau

maximă) în graful bipartit asociat.

în practică economică:� problema repartizării muncitorilor unei secţii pe utilaje în funcţie de

diferite criterii;� repartizarea angajaţilor pe posturi în funcţie de competenţe;� formarea echipelor de lucru după anumite compatibilităţi între

membrii colectivului.

Page 87: Cercetari Operationale Aplicate in Economie

Algoritmul ungar - determina un cuplaj maxim de valoare minimă

într-un graf bipartit pentru care A=B= n.

Pas1. Se construieşte matricea pătratică asociată grafului, ale cărei elemente au valoarea arcului ij, dacă acesta există, sau ∞, în caz contrar

Pas2. Se identifică valoarea minimă din fiecare linie şi se scade din fiecare element al liniei respective

Pas3. Se identifică valoarea minimă din fiecare coloană şi se scade din fiecare element al coloanei respective (în fiecare linie şi oloană va fi cel puţin un 0)

Pas4. De la cel mai mic număr de zerouri şi de sus în jos, se încadrează în fiecare linie, zeroul din coloana cu cele mai puţine valori de zero şi se barează celelalte de pe linia şi coloana acestuia. (Pe fiecare linie şi coloană va fi cel mult un zero încadrat)

- dacă în final sunt n zerouri – arcele respective formează cuplajul căutat

- dacă sunt mai puţine – se trece la pasul următor

Page 88: Cercetari Operationale Aplicate in Economie

Pas5. Se stabileşte numărul minim posibil de linii şi coloane care să conţină toate zerourile astfel:

- se marcheză liniile care nu au nici un zero încadrat

- se marcheză coloanele care au un zero barat pe linia marcată

- se marchează liniile care au un zero încadrat pe o coloană marcată

- se repetă până nu mai poate fi marcată nici o linie şi nici o coloană

Pas6. Se taie liniile nemarcate şi coloanele marcate

Pas7. Se împart elementele matricei în trei submulţimi:

S1=elementele aflate la intersecţia dintre linii şi coloane netăiate

S2=elementele aflate la intersecţia dintre linii tăiate şi coloane netăiate

sau invers

S3=elementele aflate la intersecţia dintre linii şi coloane tăiate

Page 89: Cercetari Operationale Aplicate in Economie

Pas8. Elementele submulţimii S2 rămân neschimbate, dar din fiecare element al submulţimii S1 se scade minimul din S1, care apoi se adună la elementele submulţimii S3

Pas9. Se reia algoritmul de la pasul 4, până când cuplajul va avea exact n arce

Page 90: Cercetari Operationale Aplicate in Economie

Problema de ordonanţare - Analiza drumului critic

� stabilirea unei ordini de efectuare a activităţilor unui proiect� astfel ca interdependenţele dintre ele să fie respectate în cadrul

resurselor disponibile

� şi durata totală de execuţie a acestuia să fie minimă.

Page 91: Cercetari Operationale Aplicate in Economie

� Proprietăţi:� fiecare activitate este indivizibilă (nu se mai descompune în

subactivităţi);� fiecare activitate are o durată cunoscută;� o activitate, odată începută, nu mai poate fi întreruptă.

Page 92: Cercetari Operationale Aplicate in Economie

Interdependenţele temporale numite relaţii de precedenţă între activităţile A şi B pot fi:

� de tip "terminare – început“: activitatea B nu poate începe decât după un interval de timp tAB de la terminarea activităţii A. Acest interval poate fi egal şi cu zero, caz în care spunem că activitatea A precede direct activitatea B;

� de tip "început – început": activitatea B nu poate începe decât după un interval de timp tAB de la începerea activităţii A. Acest interval poate fi chiar mai mare decât durata activităţii A

� de tip "terminare – terminare": activitatea B nu se poate termina decât după un interval de timp tAB de la terminarea activităţii A sau că activitatea A trebuie terminată cu cel puţin tAB unităţi de timp înaintea terminării activităţii B.

A programa un proiect = a stabili termenele de începere pentru fiecare activitate în parte, ţinând seama de restricţiile impuse de procesul tehnologic, duratele activităţilor şi resursele disponibile.

Page 93: Cercetari Operationale Aplicate in Economie

Metoda drumului critic (MDC)

�modelează un proiect complex prin intermediul unui graf�permite urmărirea îndeplinirii termenului final planificat al procesului, precum şi a termenelor intermediare.Tabel cu coloanele:

�activităţi - denumire sau printr-un simbol (codul activităţii);

�condiţionări - activităţile imediat precedente, prin simbolurile lor; (activităţile de start nu au activităţi precedente);

�durata: pentru fiecare activitate se precizează durata de execuţie, într-o anumită unitate de măsură.

Page 94: Cercetari Operationale Aplicate in Economie

Graful proiectului:� fiecărei activităţi i se asociază un segment orientat numit arc, definit

prin capetele sale;

� fiecărui arc i se asociază o valoare egală cu durata activităţii pe care o reprezintă;

� condiţionarea a două activităţi se reprezintă prin succesiunea a două arce adiacente.

� nodurile grafului vor reprezenta momentele caracteristice ale proiectului, reprezentând stadii de realizare a activităţilor

� există activităţi care se execută în paralel, (pot începe în acelaşi moment şi se pot termina în acelaşi moment) - este interzis ca cele două arce corespunzătoare să aibă ambele extremităţi comune -activitaţi fictive

Page 95: Cercetari Operationale Aplicate in Economie

Etapa1-se calculează pentru fiecare nod al grafului:

1. Termenul cel mai devreme de realizare a evenimentului j=momentul cel mai devreme posibil de terminare a tuturor activităţilor care converg în nodul j=valoarea maximă a drumurilor dintre evenimentul iniţial 1 şi evenimentul j

2. Termenul cel mai târziu de realizare a evenimentului i. =momentul cel mai târziu posibil de începere a activităţilor care pleacă din nodul i astfel încât toate succesiunile de activităţi dintre acest nod şi nodul final să mai poată fi efectuate până la termenul final de realizare al proiectului

Page 96: Cercetari Operationale Aplicate in Economie

Etapa2 – se calculeză:

1. Termenul minim de începere cel mai devreme a activităţii (i.j)

- termenul cel mai devreme de realizare al evenimentului i (o activitate nu poate începe decât după ce se termină toate cele care o preced)

2. Termenul minim de terminare cel mai devreme a activităţii (i.j)

- suma dintre termenul cel mai devreme de începere şi durata activităţii

3. Termenul maxim de terminare cel mai târziu a activităţii (i,j)

- termenul cel mai târziu de realizare a evenimentului j

4. Termenul maxim de începere cel mai târziu a activităţii (i,j)

- diferenţa dintre termenul cel mai târziu de terminare şi durata activităţii

Page 97: Cercetari Operationale Aplicate in Economie

Etapa3 – se calculeză:

1. Rezerva totală de timp (Rt) a unei activităţi (i,j)

= diferenţa dintre termenul cel mai târziu de terminare şi termenul cel mai devreme de terminare

2. Rezerva liberă de timp (Rl) a unei activităţi (i,j)

= intervalul de timp ca parte a rezervei totale de timp, cu care o activitate se poate amâna (sau se poate mări durata activităţii)

3. Rezerva independentă de timp (Ri) a unei activităţi (i,j)

= intervalul în care poate fi plasată o activitate fără a consuma nici din rezervele de timp ale activităţilor ce o preced, nici din cele ale celor ce o succed

Page 98: Cercetari Operationale Aplicate in Economie

-aceste activităţi nu dispun de rezervă de timp - trebuie să înceapă şi să se termine exact la termenele calculate, pentru

a nu depăşi termenul de finalizare al proiectului

-celelalte activităţi pot fi amânate cu rezervele lor de timp - consumarea acestora face ca proiectul să devină rigid.

- drum critic = drumul a cărui lungime este egală cu durata minimă de execuţie a proiectului

- activitate critică = activitatea pentru care Rt=Rl=Ri=0

Page 99: Cercetari Operationale Aplicate in Economie

Graficul Gantt -graficul calendaristic –

- exprimă la scara timpului, prin linii orizontale, durata activităţilor, şi prin linii întrerupte rezervele de timp

-poate fi:

- la termenele cele mai devreme

- la termenele cele mai târzii.

RTijtij1ttij

1îtij0ttij

0îtj1-tj

0ti1-ti

0tj1tj

0ti1ti

0jiSimbol

Rezerva

totală

Termenele

activităţilorIntervalTermenele evenimentelor

Durata

dij

Activitate

Page 100: Cercetari Operationale Aplicate in Economie

Metoda Potenţialelor (Metro Potenţial Method)

� diferenţa dintre metoda drumului critic şi metoda potenţialelor constă în modalitatea de construire a grafului proiectului

� nodurile sunt asociate activităţilor� nodurilor li se asociază valori egale cu duratele activităţilor respective� arcele dintre noduri au semnificaţia succesiunii celor două activităţi pe care le leagă

� pot exista trei tipuri de condiţionări� terminare-început� început – început� terminare – terminare

� calculul termenelor este asemănător cu cel făcut în metoda drumului critic

Page 101: Cercetari Operationale Aplicate in Economie

Metoda PERT (Program Evaluation and Review Tehnique)

- este un procedeu probabilistic (duratele activităţilor nu mai sunt fixe - sunt estimate)

Se cunosc:� aij – durata cea mai optimistă;� mij – durata cea mai probabilă;� bij – durata cea mai pesimistă.

� duratele activităţilor în cazul PERT sunt variabile aleatoare cu o distribuţie de tip β (asimetrică).

� foloseşte un graf cu activităţi pe arce şi cu evenimente în noduri, orientat spre evidenţierea evenimentelor

� întreg procesul de analiză este orientat spre evaluarea probabilităţilor de a atinge un anumit eveniment

� pe baza estimărilor probabilistice se consideră că durata unei activităţi are o distribuţie de tip β� funcţia:

� este unimodală (există o singură valoare mij);� intersectează graficul în două puncte (aij şi bij).

Page 102: Cercetari Operationale Aplicate in Economie

� Se caracterizează prin:� medie:

� dispersie:

6

bm4ad

ijijijij

+⋅+=

2ijij

ij2

6

ab

−=σ

• Drumul critic în acest procedeu se calculează ţinând cont de duratele estimate (medii), în locul duratelor fixe.

• Durata totală a procesului este o variabilă aleatoare cu o distribuţie normală.

Page 103: Cercetari Operationale Aplicate in Economie

Bibliografie� Bazele Cercetării Operaţionale” – Prof.dr. E.Ţigănescu,Prof.dr. D.

Mitruţ, (disponibil la http://www.asecib.ase.ro/cursuri_online.htm)

� “Capitole speciale ale Cercetării Operaţionale” – Prof.dr. V. Nica (disponibil la http://www.asecib.ase.ro/cursuri_online.htm)

� “Operations Research Simplified” (disponibil la http://www.universalteacherpublications.com/univ/ebooks/or)

� “Modele şi algoritmi de optimizare” – R. Trandafir, Ed. AGIR, Bucureşti, 2004

� “Cercetari operationale. Optimizari in retele. Teorie si aplicatii economice” - G. Ciobanu, V. Mărăcine, V. Nica, D. Mitruţ , Ed. Matrixrom, Bucureşti, 2002

� “Cercetări operaţionale cu aplicaţii în economie: optimizări liniare ”- G. Ciobanu, E. Ţigănescu , Ed. ASE, Bucureşti, 2002

� “Modele, algoritmi şi produse software în cercetarea operationalã”-M. Cocan, Ed. Albastră, Bucureşti, 2008