Sunteți pe pagina 1din 66

MELNIC LUCIA CHIRCOR MIHAEL

ZGAN REMUS

CERCETRI OPERAIONALE
FUNDAMENTAREA DECIZIILOR N MANAGEMENTUL SISTEMELOR DE PRODUCIE

2004

CUPRINS
1. INTRODUCERE 1.1. Scurt istoric al evoluiei tiinei Cercetare Operaional 1.2. Teoria Deciziei i Cercetare Operaional 1.3. Modelarea matematic n Cercetarea Operaional 2. PROGRAMARE LINIAR 2.1. Probleme de programare liniar 2.1.1. Formularea problemei de programare liniar 2.1.2. Forme ale problemei de programare liniar 2.1.3. Modelul matematic al problemei de programare liniar 2.2. Consideraii generale privind problemele de programare liniar 2.2.1. Soluii i fundamente ale problemei de programare liniar 2.2.2. Baze ale problemei de programare liniar 2.2.3. Interpretarea geometric a problemei de programare liniar 2.3. Metoda Simplex 2.3.1. Fundamente teoretice n aplicarea metodei Simplex 2.3.2. Algoritmul simplex primal 2.3.3. Metode de determinare a unei soluii de baz iniiale 2.3.4. Interpretarea economic a algoritmului simplex primal 2.4. Dualitatea n programarea liniar 2.4.1. Problema dual. Fundamente teoretice 2.4.2. Algoritmul simplex dual 2.4.3. Interpretarea economic a dualitii 3. PROGRAMAREA LINIAR DE TIP TRANSPORT 3.1. Formularea unei probleme de transport 3.2. Exemple de probleme de tip transport 3.3. Determinarea unei soluii de baza iniiale a problemei de transport 3.4. Metoda de determinare a soluiei optime pentru probleme de transport. Metoda potenialelor. 3 4 5 7 7 7 9 12 16 16 20 22 26 26 28 35 39 41 41 45 49 53 53 55 57 59

Cercetri operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

4. ELEMENTE DE TEORIA GRAFURILOR 4.1. Fundamente n teoria grafurilor 4.1.1. Noiunea de graf 4.1.2. Orientare i neorientare n graf 4.1.3. Drumuri i circuite n graf 4.1.4. Lanuri i circuite n graf 4.2. Matrici ataate grafurilor 4.2.1. Matricea arcelor (conexiunilor directe) 4.2.2. Matricea drumurilor (conexiunilor totale) 4.2.3. Descompunerea grafului n componente tari conexe 4.3. Drumuri hamiltoniene n graf 4.4. Drumuri de valoare optim n graf 4.5. Cuplaje. Probleme de repartiie (afectare) 5. TEHNICA DIAGRAMELOR DE TIP REEA 5.1. Generaliti privind modelarea prin reele 5.2. Metoda drumului critic (Critical Path Method - C.P.M.) 5.3. Metoda potenialelor (Metro Potential Method - M.P.M.) 5.4. Metoda PERT (Program Evaluation and Review Technique) 5.5. Tehnica GERT (Graphical Evaluation and Review Technique) 6. ELEMENTE DE TEORIA DECIZIEI 6.1. Procesul i sistemul decizional al ntreprinderii 6.2. Utiliti decizionale 6.3. Optimizarea deciziilor n condiii de certitudine 6.3.1. Metoda utilitilor globale 6.3.2. Metoda Electre 6.3.3. Metoda Ledear-ului 6.4. Optimizarea deciziilor n condiii de risc BIBLIOGRAFIE 64 64 64 69 70 71 71 73 75 78 87 93 97 97 99 106 108 111 114 114 117 121 121 121 122 123 131

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

CAPITOLUL 1 INTRODUCERE
1.1. Scurt istoric al evoluiei tiinei Cercetare Operaional

Cercetarea operaional ca tiin a aprut ctre sfritul primei jumti a secolului nostru i s-a dezvoltat spectaculos n special n ultimii ani, n strns legtur cu tiina organizrii i conducerii, teoria sistemelor, cibernetica, informatica i analiza sistemelor. coala clasic are marele merit al abordrii unui domeniu nou, considerndu-se pionier a organizrii tiinifice (F.W. Taylor-1900, H.L.Gantt-1901, A.Fayol-1915) i aceasta pune pentru prima dat problema abordrii raionale a mecanismului funcionrii unei ntreprinderi. n perioada urmtoare se lrgete considerabil problematica organizrii i conducerii, iar aspectele informaional-decizionale (pn atunci ignorate) i aspectele relaiilor umane dau un alt sens abordrii mecanismului funcionrii ntreprinderii. Cercetare operaional exista naintea declanrii celui de al doilea rzboi mondial prin lucrrile elaborate de Erlang (1917) firele de ateptare, Harrris (1915) gestiunea tiinific a stocurilor, Vorra (1931) rennoirea echipamentelor. Utilizarea cercetrii operaionale n practic era dificil de realizat deoarece din punct de vedere intelectual exista o anumit aversiune fat de modele i de caracterul descriptiv al tiinei, iar din punct de vedere material datorit complexitii mici a organizailor i talia relativ modest a ntreprinderilor din aceea perioad, investiiile n mijloace de calcul eficace, respectiv a ordinatoarelor nu era justificat. n ceea ce privete procesele de decizie, pentru prima oar se pune n mod riguros i pe scar larg problema gsirii unor soluii optime sau apropiate de cele optime, n marea diversitate de probleme organizatorice i de conducere. Prima aplicaie a cercetrii operaionale moderne la scar larg o constituie aplicarea regulilor definite de Sir Blackett n timpul celui de al doilea rzboi mondial cu deosebit succes n Anglia i care a debutat n 1937. Termenul de Cercetare Operaional (Operational Research)a fost utilizat pentru prima dat n 1939, fiind legat de contribuia oamenilor de tiin la utilizarea eficient a radiolocatoarelor n sistemul aprrii antiaeriene al Angliei. n S.U.A. ptrunderea tiinei cercetrii operaionale (Management Science) n dezvoltarea problemelor de conducere a industriei se datoreaz celei de-a doua revoluii industriale i posibilitilor de comercializare a calculatoarelor electronice. n prezent, mai mult de jumtate din firmele americane au sau folosesc specialiti n cercetarea operaional. n 1953 s-a format Societatea American de Cercetri Operaionale, iar n 1957 s-a constituit Federaia Internaional a Societilor de Cercetri Operaionale. Au aprut reviste i s-au introdus cursuri i seminarii de cercetare operaional att n S.U.A. ct i n alte ri ale lumii. n practic, ntreprinderea poate fi privit ca un sistem ale crui elemente componente (oameni, capital, materiale, informaie) sunt intercorelate prin fluxuri materiale, informaionale i energetice ce au un comportament orientat spre atingerea unor obiective precise. Cercetrile operaionale au consacrat n domeniul optimizrii deciziei, un mod de abordare tiinific asupra problemelor ce intervin n cadrul unei ntreprinderi industriale i totodat nu se concepe conducerea i gestionarea ntreprinderii, fr a face apel la metodele cercetrii operaionale, mpreun cu celelalte tehnici moderne ca informatica, cibernetica, teoria sistemelor, statistica. Obiectul cercetrii operaionale l constituie sistemele i ele i propun elaborarea unor metode de analiza a operaiilor ndreptate spre un anumit scop, precum i estimarea obiectiv 3

Introducere

a deciziilor ce pot fi adoptate. Cercetarea operaional este un ansamblu de metode care i propune, n vederea pregtirii deciziilor, s determine n mod raional soluiile cele mai eficiente. 1.2. Teoria Deciziei i Cercetare Operaional

Creterea productivitii i obinerea rentabilitii ntreprinderii industriale pe termen lung, ntr-un mediu dinamic i ntr-o continu schimbare, depinde, ntr-o mare msur de capacitatea managementului ntreprinderii de a anticipa schimbarea i de a adapta decizia noilor situaii ntr-un mod planificat. Accelerarea evoluiei tehnologice n industrie, influeneaz i comportamentul consumatorilor, care se va orienta spre noi concepte i produse, mai inovate, mai atractive i adaptate modului i ritmului lor de via. Utilizarea raional a celor patru tipuri de resurse conduc la flexibilitatea organizaiei i astfel activitatea poate fi planificat n prognoze pentru a releva anumite aspecte semnificative ale viitorului. n aceste condiii, managerul trebuie s adopte decizii, fundamentate tiinific i performant. Decizia reprezint soluia aleas, din mai multe variante posibile cu scopul atingerii unui obiectiv prestabilit n condiii de eficien maxim. Este actul deliberat al unui individ sau al unui grup de oameni investii cu puterea de a alege varianta de concepere/realizare a unui scop i de a declana aciuni. Procesul de decizie pornete de la un anumit rezultat care trebuie s fie obinut, iar decidentul trebuie ca prin prelucrarea diferitelor informaii s aleag cea mai bun variant pentru atingerea acestuia (fig. 1.1).
Rezultat dorit Obiective Variante Criterii DECIZIE Control Actiune Rezultat dorit

Fig.1.1. Cercetare operaional alturi de Teoria deciziei a absorbit noile dezvoltri n domeniul activitii de management industrial i al sistemelor economice. Necesitatea modelrii n managementul produciei industriale rezult din faptul c efectuarea unor experimente asupra organizaiilor este foarte greu de realizat, dar experimente de acest fel (de exemplu modificarea parametrilor funcionali) se pot face uor n condiiile folosirii unui model. Utilizarea modelelor este impus i de complexitatea sistemelor industriale, care necesit existena unei activiti desfurat astfel nct deciziile s fie n concordan cu evoluia eficient a acestora. Operaia de investigarea a sistemelor reale prin reprezentri convenionale se numete modelare. Ea reprezint mulimea activitilor care se extind de la simpla prezentare a problemei la proceduri abstracte i raionale. Ele produc n final premisele cantitative formale ale dinamicii procesului. Modelul este o reprezentare izomorfa a realitii ce ofer o imagine intuitiv dar riguroas n sensul structurii logice a fenomenului studiat. Modelarea ca metod de fundamentare a deciziilor n activitatea economic ofer urmtoarele avantaje: - reprezint riguros fenomenele i legturile lor la nivelul sistemului; - permite verificarea prin analogie a teoriei cu practica; 4

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

- nlesnete descoperirea unor corelaii ntre fenomene i predeterminarea performanelor firmei, necesare pentru adoptarea unor decizii raionale; - reflect teorii ale proceselor cuantificabile i necuantificabile; - urmrete obinerea unor soluii optime. Modelarea utilizeaz un suport material fizic (de exemplu simulatoarele), o reprezentare grafic (de exemplu un grafic reea), un model abstractizat sub forma unui model matematic. Din impactul ntre modelele fizice cu dispozitive logice de calcul i cele matematice au rezultat modelele de simulare. n managementul produciei industrial se aplic toate aceste tipuri de modele, de exemplu: modelele fizice se pot folosi pentru studiul privind planul general al firmei, modelele grafice la analiza relaiilor om main, modelele matematice pentru alocarea resurselor sau analiza proceselor aleatoare. Corelaia teorie-model-realitate reprezint un aspect logic - privind corespondena dintre teorie i model i un aspect gnoseologic urmrind corespondena dintre model i realitate. Modelul intervine ntre teorie i obiectul real i trebuie testat n raport cu realitatea exprimat ca obiect. n funcie de modul n care se ajunge la soluia optim exist dou direcii principale de lucru: atingerea obiectivului prin deducerea soluiei optime; atingerea aceluiai obiectiv prin practici oferite de teoria deciziei Deducerea soluiei se caracterizeaz prin certitudinea rezultatului obinut pe baza unor informaii obiective i complete. Dificultatea const n formularea problemei ntr-un limbaj matematic adecvat i n volumul mare al calculelor. Metoda a doua solicit decidentului s estimeze consecinele posibile ale aciunilor sale pe baza unor informaii obiective, dar incomplete, introducndu-se n rezolvarea problemei elemente subiective. Prima direcie a condus la dezvoltarea unui ansamblu de discipline n cadrul CERCETRII OPERAIONALE. A doua direcie de lucru a condus la constituirea unei discipline aparte TEORIA DECIZIEI. ntre cele dou direcii exist raporturi strnse, biunivoce, ceea ce a condus la apariia unei tiine multidisciplinare: TEORIA DECIZIEI i CERCETARE OPERAIONAL Teoria deciziei este legat intrinsec de cercetarea operaional care poate fi considerat pregtirea tiinific a deciziilor. 1.3. Modelarea matematic n cercetarea operaional

Condiiile n care se desfoar activitatea analizat din cadrul ntreprinderii, conduc la un sistem de relaii tip ecuaii i inecuaii ce cuprind variabilele problemei i coeficienii tehnico economici ce o caracterizeaz. Aceste relaii reprezint restriciile problemei matematice. Obiectivul studiului l constituie optimizarea unui anumit rezultat dependent de aceleai variabile ce figureaz n restricii. Obiectivul este sub forma unei funcii ale crei valori maxime sau minime le cutm i care se numete funcia obiectiv (scop, eficien). Restriciile problemei i funcia obiectiv formeaz modelul matematic al problemei. Modelele matematice se prefer pentru capacitatea lor de condensare riguroas a esenialului. Modelele cercetrii operaionale se caracterizeaz prin cutarea unei soluii optime sau apropiate de optim pentru operaia studiat. Modelele cercetrii operaionale se bazeaz pe o mare diversitate de procedee matematice i au aplicaii la nivel macro, dar n special la nivel microeconomic. Ele reprezint principalul instrument pentru optimizarea deciziilor n analiza de sistem.

Introducere

Decizia obinut cu ajutorul modelului nu poate fi recomandat nemijlocit pentru realizare, deoarece modelul face abstracie de o serie de aspecte ale fenomenului studiat. Principalele faze ale elaborrii unui model matematic ntr-o problema de organizare conducere sunt urmtoarele: Prima faz a modelrii este cunoaterea realitii n organismul studiat, n scopul mbuntirii mecanismului informaional decizional i descrierea logicii proceselor decizionale, aceast faz avnd un caracter pregtitor; A doua faz a modelrii constituirea propriu - zis a modeluluiacesta cu ajutorul unui instrument clasic de modelare. Elaborarea unui model matematic realmente original reclam, pe lng profunda cunoatere a realitii care urmeaz a fi modelat, o foarte solid cultur matematic, imaginaie i talent. Modelelor clasice ale cercetrii operaionale, sunt diverse funcie de structura matematica i logic, i variaz de la modele simple cum sunt cele ale programrii liniare, la modele combinatorice, n probleme de teoria grafelor, analiza drumului critic i programarea operativ a produciei i pn la modele complexe cum sunt cele ale utilitii sau deciziilor de grup. A treia faz a modelrii este confruntarea modelului cu realitatea prin implementarea rezultatului obinut i eventual experimentarea sa. Exist o gam larg de probleme tehnico economice care se preteaz a fi modelate matematic cu ajutorul procedeelor cercetrii operaionale, dintre care putem meniona: programarea operativ a produciei; repartizarea raional a resurselor; gestiunea stocurilor; ealonarea n timp a activitilor unei investiii. In contextul celor artate mai sus trebuie subliniat importana metodelor cercetrii operaionale n fundamentarea i elaborarea deciziilor. Sarcina cercetrii operaionale este de a pregti decizia i nu de a o adopta . Conducerea executiv care va lua decizia final trebuie s in seama pe lng recomandrile cercetrii operaionale i de o serie de factori ce nu pot fi formalizai. Una din principalele caracteristici ale tuturor metodelor cercetrii operaionale este faptul c problemele cercetrii operaionale sunt privite, din perspectiv pur teoretic, ca probleme de matematic pur. n cele ce urmeaz vom privi metodele cercetrii operaionale strns legate de problemele practice. n prezent nu se mai poate concepe conducerea unei activiti tehnico-economice importante fr a face apel la metodele cercetrii operaionale, bineneles mpreun cu celelalte tehnici moderne cum ar fi informatica, analiza de sistem .a..

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

CAPITOLUL 2 PROGRAMAREA LINIAR


2.1. Probleme de programare liniar

Orice activitate industrial se desfoar n condiiile existenei unor resurse limitate de materii prime i materiale, de resurse umane, iar folosirea eficient, a acestora, conduce la rezultate optime att din punct de vedere tehnic ct i economic. Modelele de programare matematic i mai ales modelele de programare liniar, constituie o clas special, att n teorie ct i n practica industrial. Pentru decizii referitoare la structura optim de producie, la cantitatea ce urmeaz a se produce, la sortimente, abordarea acestora cu modele ale programrii matematice conduce la rezultate optime. Programarea matematic reprezint un instrument deosebit de util fundamentrii deciziilor n practica industrial. 2.1.1. Formularea problemei de programare liniar Principala problem cu caracter decizional, cu care se confrunt producia o constituie determinarea structurii optime de producie pe termen mediu i scurt printr-o folosire eficient a resurselor. Condiiile n care se desfoar activitatea de producie analizat, conduc la un sistem de relaii tip ecuaii i inecuaii ce cuprind variabilele problemei i coeficienii tehnico economici ce o caracterizeaz . Modelul matematic de programare liniar se constituie din mulimea de activiti (operaii){A1, A2, ..Aj,.. An}, (j=1,...,n) pentru producerea unei uniti din produsul Pj (ca rezultat al activitii Aj), mulimea de resurse disponibile materiale, financiare, de capaciti de producie {b1, b2, ... bm}, (i = 1,...,m) precum i din relaiile tehnico-economice dintre acestea. n practica industrial, legtura dintre activiti (operaii) i resurse este determinat de procesul tehnologic de fabricaie corespunztor realizrii produsului. Elementele aij, (i = 1,...,m; j = 1,...,n) se numesc coeficieni tehnico-economici, acetia fiind constani ntr-un interval de timp determinat i arat ce cantitate din resursa bi (i = 1,...,m) se consum pentru producerea unei uniti din produsul Pj. Toate aceste legturi (restricii) definite de vectorii coloan a(j) se pot organiza ntr-o matrice A cu m linii i n coloane (2.1); fiecare linie se refer la o resurs bi i fiecare coloan se refer la o activitate aj.

a11 .........a1n A Mm.n; A= ( ai,j ), i = 1,..,m, j= 1,...,n; A = a ..........a mn m1


b1 b2 ,b= . b m

(2.1)

b R

(2.2)

Notnd cu xj (j = 1,...,n) (2.3) programul activitii aj ntr-o perioad dat i cu bi cantitile disponibile din resursele bi, se pot scrie matematic restriciile tehnico-economice. Aceste restricii reprezint restriciile problemei de programare liniar (2.4).
7

Programare liniar

x1 x n x R ,x= 2 . x n
a11 x1 + a12 x2 + ... + a1n x n b1 a x + a x + ... + a x b 21 1 22 2 2n n 2 a m1 x1 + a m2 x 2 + ... + a mn x n bm

(2.3)

(2.4)

Fiecare restricie (inecuaie de tipul ) cuprinde afirmaia prin care cantitatea consumat dintr-o resurs nu poate depi volumul disponibil din resursa respectiv. Obiectivul studiului l constituie optimizarea unui anumit rezultat dependent de aceleai variabile ce figureaz n restricii. Obiectivul este sub forma unei funcii ale crei valori maxime sau minime le cutam i care se numete funcia obiectiv (scop, eficien). n practica industrial, ea reprezint criteriul de performan urmrit: maximizarea beneficiului, maximizarea produciei marf, minimizarea costului produciei, maximizarea gradului de ncrcare al utilajelor sau minimizarea timpului de staionare al acestora, maximizarea veniturilor etc. Variaia funciei obiectiv arat evoluia volumului activitilor, prin intermediul coeficienilor c j , ce pot fi costuri unitare n cazul problemelor de minim, sau profituri unitare pentru probleme de maxim (2.5). c1 c2 c = ; c T = (c1 c 2 ...c j ...c n ) . c n

cj R, c Rn

(2.5)

Decizia cu scopul unei eficiene maxime presupune minimizarea efortului i maximizarea rezultatului, Conceptul de optim se definete, n acest caz, ca un program (soluie) x Rn care minimizeaz sau maximizeaz o funcie obiectiv i, n acelai timp, satisface toate restriciile tehnico-economice. Presupunnd c fiecare coeficient .cj msoar eficiena unei uniti din rezultatul activitii Aj, atunci se poate introduce funcia obiectiv liniar (2.6) : z = c1x1 + c2x2 + ... + cnxn (2.6)

Sintetiznd toate datele de mai sus, obinem urmtorul model (2.7, 2.8, 2.9)de programare liniar. Relaiile (2.7), (2.8) i (2.9) constituie mpreun modelul matematic al unei probleme de programare liniar, avnd fiecare un rol specific: 1. relaia (2.7), denumit funcia obiectiv a problemei, evalueaz eficiena/performana fiecrei soluii (program) x;

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

min(max) z = c j x j
x j =1

(2.7)

n aij x j bi =1 jn aij x j bi j =1 xj 0
n

1 i k k +1 i l 1 j n

(2.8)

(2.9)

2. relaiile (2.8) de tipul aij x j bi reprezint restricii ce coreleaz volumul consumului


j =1

activitilor cu cel al disponibilului pentru fiecare resurs; iar restriciile de tipul


j =1

aij x j bi impun un consum peste limitele minimale, sunt restricii tehnico-economice

de tip calitativ; 3. relaia (2.9) xj 0 j = 1,...,n, numit condiia de nenegativitate a variabilelor, asigur obinerea unei soluii realizabile n practica industrial. Decizia obinut cu ajutorul modelului nu poate fi recomandat nemijlocit pentru realizare, deoarece modelul face abstracie de o serie de aspecte ale fenomenului studiat, cele ce au la baz o serie de factori ce nu pot fi formalizai. n practica industrial programarea liniar ofer soluii care pot motiva tiinific luarea unor decizii de natur strategic, tactic sau a unor decizii cu coninut tehnico organizatoric.
2.1.2. Forme ale problemei de programare liniar

O problem de programare liniar este, un caz particular al problemelor de programare matematic i, innd cont de forma oricrei funcii liniare, se poate defini forma general a problemei de programare liniar. Funcia liniar (2.10), notat cu z reprezint funcia obiectiv a problemei. Relaiile (2.11) reprezint sistemul de restricii ale problemei, iar membrul stng al fiecrei relaii aste o funcie liniar n variabilele x1, x2,,xn, la fel ca i funcia obiectiv. Problema de programare liniar const n optimizarea unei funcii liniare cu restricii liniare.
Forma general a problemei de programare liniar
min(max) z = c1 x1 + c 2 x 2 + ... + c n x n a x + a x + ...a x ( )(= )b 11 1 12 2 1n n 1 a 21 x1 + a 22 x 2 + ...a 2 x n ( )(= )b2 ...................................................... a m1 x1 + a m 2 x 2 + ...a mn x n ( )(= )bm (2.10)

(2.11)

unde: c j R ( j = 1, n), aij R (i = 1, m, j = 1, n), bi R (i = 1, m) Din analiza mai multor probleme de programare liniara deducem c ntr-o astfel de problema pot apare restricii scrise sub forma de inegaliti sau egaliti, iar criteriul de optimizare ales impune n unele cazuri maximizarea iar n alte cazuri minimizarea funciei obiectiv.

Programare liniar

Rezolvarea problemei de programare liniar presupune determinarea valorilor variabilelor xi, care satisfac restriciile i optimizeaz funcia obiectiv a problemei. Forma standard a problemei de programare liniar

O problema de programare liniar este dat sub form standard dac toate restriciile sale sunt date sub form de ecuaii (egaliti) i tuturor variabilelor li se impun condiii de nenegativitate. Problema de programare liniar dat n form standard se scrie n mod explicit (2.12):
n max(min) z = c j x i j =1 n 1 i m a ij x j = b i j = 1 xj 0 1 j n

(2.12)

Problema de programare liniar n form standard poate fi scris i sub form matricial (2.13) :
min(max)c T x , unde Ax = b x0 c, x R n A M ( R ) m ,n b Rm

(2.13)

unde cT reprezint componentele matricei c transpus. Sistemul de restricii liniare ( Ax=b ) poate fi un sistem compatibil, compatibil unic determinat sau nedeterminat de m ecuaii i n necunoscute. Pentru ca problema de optimizare s aib sens, numrul de ecuaii trebuie s fie mai mic dect numrul de necunoscute (m<n)(sistem compatibil nedeterminat). Forma canonic a problemei de programare liniar

O restricie a unei probleme de programare liniar se numete concordant (neconcordant) dac pentru o inegalitate de tip " (" ") funcia obiectiv este minimizat sau respectiv pentru o inegalitate de tip " " (" ") funcia obiectiv este maximizat . O problem de programare liniar este data sub form canonic dac toate restriciile sale sunt concordante i toate variabilele sunt supuse condiiei de nenegativitate. Problema de programare liniar dat n form canonic se scrie n mod explicit (2.14):
n min(max) z = c j x i j =1 n (2.14) 1 i m a ij x j ( ) b i j =1 xj 0 1 j n Problema de programare liniar n form canonic poate fi scris i sub form matricial (2.15) :

10

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

min(max)c T x Ax ()b x0

unde

C , x R n A M m ,n b Rm

(2.15)

Orice problem de programare liniar n form general poate fi adus la forma standard sau canonic cu ajutorul unor transformri elementare efectuate asupra operatorului aplicat funciei obiectiv restriciilor i variabilelor: a) o problem de minimizare n form matricial se poate transforma ntr-o problem de maximizare i invers, schimbnd semnul coeficienilor din funcia obiectiv, astfel: max c T x = min(c) T x
; min c T x = max(c) T x (2.16)

b) o variabil x arbitrar (variabil creia nu i se impune restricie de semn) se poate nlocui cu dou variabile nenegative x1, x 2 , prin relaia :
x = x1 x 2 , unde x1 , x 2 0

(2.17)

c) o variabil x supus condiiei de nepozitivitate ( x 0 ) se transform ntr-o variabil nenegativ prin substituia

x1 = x, unde x1 0

(2.18)

d) Restriciile de tip inecuaie se transform n restricii de tip ecuaii innd cont de urmtoarele :
a T x y = b a T x + y = b a T x b a T x b i (2.19) x, y 0 x, y 0 x0 x0 unde y se numete variabil ecart. Variabilele ecart nu apar n funcia obiectiv sau astfel spus apar n funcia obiectiv dar cu coeficieni nuli: c j = 0 (unde c j = coeficieni ai variabilelor ecart).
e e

e) sensul unei inegaliti se schimb prin nmulirea cu 1. n aplicaiile practice apar frecvent situaii n care modelul conine simultan restricii de toate tipurile (concordante, neconcordante, egaliti), problema fiind dat n form general, iar rezolvarea ei poate fi abordat fr a restrnge generalitate.

Exemplul 2.1
S se scrie formele echivalente ale problemei de programare liniar: Problema dat este n forma general. Pe baza transformrilor echivalente vom construi formele echivalente ale problemei iniiale. Deoarece variabila x3 nu are restricii de semn, o vom nlocui, cu diferena a dou variabile

11

Programare liniar

max(3 x1 x 2 + 2 x3 ) 3 x1 x 2 = 4 , x1 5 x 2 + 2 x3 3, x1 + 4 x3 2, 2 x1 + 3 x 2 2 x 3 0 , x1 , x 2 0, x3 , oarecare

(1) ( 2) ( 3) (4 )

pozitive: x3 = x4 x5. Pentru ca problema s aib forma standard, toate restriciile trebuie s fie egaliti, de aceea n restriciile (2), (3) i (4) vom introduce variabilele de egalizare x6, x7, x8. Forma standard va fi: max(3 x1 x 2 + 2 x4 2 x5 ) 3 x1 x 2 = 4 , x1 5 x 2 + 2 x4 2 x5 x6 = 3, x1 + 4 x4 4 x5 x7 = 2, 2 x1 + 3 x 2 x 4 + x 5 + x 8 = 0 , x1 , x 2 ,..., x8 0 Forma canonic se obine transformnd restricia (1) n dou inegaliti i toate inegalitile le transformm n inegaliti deoarece problema este dat de maximizare. Astfel, x3 trebuie nlocuit cu diferena x4 x5. Se obine astfel forma canonic
max(3 x1 x 2 + 2 x4 2 x5 ) 3 x1 x 2 4 , 3 x1 + x 2 4, x1 + 5 x 2 2 x4 + 2 x5 3,. x 4 x + 4 x 2, 4 5 1 2 x1 + 3 x 2 x 4 + x 5 0 , x1 , x 2 , x 4 , x 5 0

2.1.3. Modelul matematic al problemei de programare liniar

Pentru a nelege modelul matematic al problemelor de programare liniar sub forma general, vom analiza cteva exemple din practica industrial: Alocarea optim a resurselor n producia industrial O firm urmeaz s produc n tipuri de produse Pj , j = 1, n , folosind m tipuri de

resurse Ri i = 1, m . Se cunosc coeficienii tehnologici aij ; cantitile disponibile bi din resursele Ri ; profitul unitar cj pentru fiecare produs Pj. S se ntocmeasc planul optim de producie al firmei astfel nct profitul total realizat s fie maxim.

12

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Elaborare modelului matematic al problemei Condiii generale de desfurare a activitii analizate : - restriciile problemei apar din urmtoarea condiie: cantitatea totala din resursa i folosit pentru producerea celor n produse nu poate fi mai mare dect cantitatea disponibila:

j =1

aij x j bi , i = 1, m

(2.20)

condiiile de nenegativitate asigur obinerea unei soluii realizabile din punctul de vedere al logicii practice industriale. xj 0 , j = 1, n (2.21)

Sistemul de inecuaii (2.20) i (2.21) poate avea o infinitate de soluii, deci putem organiza procesul de producie pentru realizarea produsului P ntr-o infinitate de moduri dar respectnd condiiile anterioare . Acest fapt face evident imposibilitatea practic a managerului de a compara toate variantele de plan posibile deci este necesar introducerea unui alt criteriu. Adoptarea unei variante de plan (n fapt fundamentarea deciziei) se face, preferabil, pe baza unui criteriu economic (cel mai uzual maximizarea profitului sau n alte cazuri minimizarea costurilor). Aplicarea acestui criteriu economic, presupune cunoaterea profitului total. Deci : c j x j reprezint profitul total pentru produsele Pj
j =1 n

Funcia obiectiv (scop, eficien) va fi : max f = c j x j


j =1 n

(2.22)

Deci, modelul de programare liniar ce urmeaz a fi rezolvat pentru determinarea planului optim de producie astfel nct profitul total realizat s fie maxim este:
n = max f cjxj j =1 aij x j bi xj 0

(2.23)

Problema de transport Un produs omogen P este stocat n m depozite Di, n cantitile ai , i = 1, m i este cerut

de spre a fi transportat la n centre de consum Cj ,n cantitile bj, j = 1, n . Se cunosc costurile cij pe unitatea de produs transportat de la centrul Di la centrul Cj . Se cere determinarea unui plan de transport astfel nct costul total de transport s fie minim.

13

Programare liniar

Elaborarea modelului matematic al problemei Notaii : ai = cantitatea din produs care se afl n depozitul i; bj = cantitatea cerut de consumatorul j ( 1<j<n); xij= cantitatea ce urmeaz a fi transportat de la depozitul i la consumatorul j ; cij= costul unitar al transportului din depozit la consumator. Cu aceste notaii se pot exprima urmtoarele mrimi ce ne ajut s stabilim restriciile problemei i funcia obiectiv: cantitatea transportat de la depozitele Di la toate cele n centre de consum este cantitatea sa disponibil:

x
j =1

ij

= ai ,

i = 1, m

(2.24)

cantitatea transportat de la toate cele m depozite la consumatorul Cj reprezint necesarul acestuia, bj , j = 1, n .

x
i =1

ij

= bj

j = 1, n

(2.25)

pentru scrierea modelului se pleac de la forma echilibrat a problemei de transport i anume cantitatea total expediat de la cele m depozite este egal cu cantitatea sa disponibil:

a = b
i i =1 j =1

(2.26)

variabilele satisfac evident condiia de nenegativitate : xij 0 (2.27)

funcia obiectiv este urmtoarea : min cij xij


i =1 j =1 m n

(2.28)

Se obine un program liniar, ce se va supune metodelor programrii liniare i poart denumirea de program de transport :
m n min( f ) = cij xij i =1 j =1 n xij = ai , i = 1, m j =1 n xij = bi , j = 1, n j =1 x 0, i = 1, m, j = 1, n ij

(2.29)

14

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Problem de repartizare a sarcinilor de producie ntr-un atelier de montaj echipele E j , j = 1, n , pot monta cu randamente diferite,

produsele Pi , i = 1, m . Activitatea atelierului este caracterizat de urmtoarele date cunoscute: aij - timpul necesar pentru montajul unei cantiti de produs Pi de ctre echipa

E j ; cij - cheltuielile necesare pentru montajul unei uniti de produs Pi de ctre echipa E j ; bi - cantitatea planificat din produsul Pi , i = 1, m ; t j - timpul de lucru disponibil al echipei E j , j = 1, n . S se stabileasc o repartizare a produselor, echipelor, din atelierul de montaj astfel nct cheltuielile totale necesare s fie minime. Elaborarea modelului matematic al problemei: Variabilele de decizie (necunoscutele) se noteaz cu xij i reprezint cantitatea din produsul Pi ce trebuie realizat de echipa Ej. Funcia obiectiv este o funcie de cost, respectiv, cheltuielile celor n echipe, necesare pentru montajul cantitilor repartizate din cele m produse; funcia trebuie minimizat:
min f = cij xij
i =1 j =1 m n

(2.30)

Cantitatea de produse de fiecare tip planificat trebuie realizat:

x
j =1

ij

= bi , i = 1, m

(2.31)

Oricare echip poate executa produse n limita fondului de timp disponibil:

a x
i =1

ij ij

t j , j = 1, n

(2.32)

Variabilele xij se supun condiiei de nenegativitate: xij 0, i = 1, m, j = 1, n Deci, modelul matematic al problemei este:
m n min f = cij xij i =1 j =1 n x = b , i = 1, m i ij j =1 m aij xij t j , j = 1, n i =1 xij 0, i = 1, m, j = 1, n

(2.33)

(2.34)

Problem de utilizare a capacitii utilajelor


15

Programare liniar

O firm produce n tipuri de produse care pot fi fabricate pe m utilaje care au capaciti de producie limitate pe o anumit perioad. Se cunosc: procentul aij din capacitatea utilajului i necesar pentru producerea unei uniti din produsul j; profitul unitar cj al produsului j = 1, n . S se stabileasc un program de fabricaie care s permit utilizarea optim a capacitii disponibile a celor m utilaje. Elaborarea modelului matematic al problemei: Variabilele problemei sunt cantitile de produse fabricate n perioada considerat. Se noteaz cu xj, numrul de produse de tipul j = 1, n . Funcia obiectiv este profitul total obinut de firm pentru cele n tipuri produse; funcia trebuie maximizat:
max f = c j x j
j =1 n

(2.35)

Restriciile de capacitate ale celor m utilaje se exprim sub forma:

a
j =1

ij

xij 1, i = 1, m

(2.36)

Variabilele xj se supun condiiei de nenegativitate: x j 0, j = 1, n Atunci, modelul matematic al problemei este:


n cjxj max f = j =1 m aij xij 1, i = 1, m j =1 x 0, j = 1, n j

(2.37)

(2.38)

2.2.

Consideraii generale privind problemele de programarea liniar

2.2.1. Soluii i fundamente ale problemei de programare liniar

Fie problema de programare liniar dat n form standard matricial:


min(max)c T x , unde Ax = b x0
C , x R n A M m ,n b Rm

(2.39)

Sistemul de ecuaii Ax=b are o infinitate de soluii, deci trebuie s se gseasc n mulimea soluiilor o soluie ce realizeaz valoarea optim (minim sau maxim ) a funciei obiectiv.

16

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Soluie admisibil Un vector x = ( x1 x 2 ... x n ) R n care satisface restriciile si condiia de nenegativitate se numete soluie admisibil sau posibil a problemei de programare liniar. Mulimea soluiilor admisibile, S, este: S = x R n / Ax = b, x 0

(2.40)

Sistemul de ecuaii, avnd m ecuaii i n necunoscute, cu m<n i rang A=m are m necunoscute principale i n-m necunoscute secundare. O soluie de baz se obine prin anularea celor n-m necunoscute secundare, deci are cel mult m componente nenule. Soluie admisibil de baz

Se numete soluie admisibil de baz pentru sistemul Ax=b, vectorul x , ce satisface condiiile : a) x soluie a sistemului : Ax=b ; b) coloanele din A, corespunztoare componentelor lui x nenule, formeaz o mulime liniar independent. n cazul cnd o soluie de baz are mai puin de m componente diferite de zero, atunci ea se numete soluie degenerat, n caz contrar ea fiind nedegenerat. Soluie optimal O soluie admisibil care face optim funcia z=min(max)c T x se numete soluie optimal. Este posibil ca problema de programare liniara s aib soluie optim unic, s aib mai multe soluii optime sau s nu admit soluie optim. Soluie grafic Acest tip de soluie va fi studiat detaliat n paragraful 2.2.3.

Teoremele i definiiile care urmeaz, specific unele proprieti ale soluiilor ce justific clasificarea realizat anterior. Teorema 2.1 (Teorema fundamental a programrii liniare): Dac problema de programare liniar n form standard admite un program (soluie admisibil), atunci ea are cel puin un program de baz. Dac problema are un program optim, atunci are un program optim de baz. Demonstraie: Fie xS un program al urmtoarei problemei de programare liniar:
min c T x Ax = b . x 0

(2.41)

Notm cu p numrul componentelor nenule ale vectorului x. Fr a restrnge generalitatea problemei putem presupune c cele p componente nenule sunt chiar primele componente din cele n ale vectorului x adic: 17

Programare liniar

x = ( x1 , x2 , x3 , xp , 0, 0 ,0)T

(2.42)

Dac p = 0, atunci x = 0 deci afirmaia teoremei este evident. Dac p > 0, atunci exist dou posibiliti: - dac vectorii a1 , a2 , ..ap A corespunztori celor p componente nenule ale lui x sunt liniari independeni, atunci x este program de baz. - dac vectorii a1 , a2 , ..ap A corespunztori celor p componente nenule ale lui x sunt liniari dependeni atunci exist numerele reale: y1, y2,.. yp nu toate nule astfel nct s fie satisfcut relaia: a1y1 + a2y2 +..+apyp = 0 (2.43)

Relaia (2.43) se poate scrie sub urmtoarea form echivalent : Ay = 0 cu y 0. Notm cu y vectorul cu primele p componente nenule i urmtoarele componente n-p nule: y = (y1, y2 , yp, 0, 0 .0 )T. Atunci, obinem: A( x + y ) = Ax + Ay = b, ( ) R Deci, x + y este soluia sistemului Ax=b astfel putem determina valori ale lui pentru care x + y este program pentru problema (2.41), deci este ndeplinit i condiia: x + y > 0 Notm: I1 = mulimea indicilor i , 1< i < p , yi > 0; I2 = mulimea indicilor i , 1< i <p , yi < 0. Fie: x ( i ), I 1 max yi 1 = iI1 , I1 = x ( i ), I 2 min 2 = iI 2 y i , I2 = +

(2.44)

Deci pentru oricare [1 , 2 ] , avem ndeplinit condiia: x + y 0, deci vectorul x + y este program. Rezult c c T y = 0 ,deoarece n caz contrar alegnd pe de semn contrar valorii lui c T y , avem urmtoarele: c T ( x + y ) = c T x + c T y < c T x , ceea ce contrazice faptul c x este program optim. Prin urmare c T ( x + y ) = c T x , adic x+ y este program optim. Astfel putem alege o valoare 0 pentru care vectorul x + 0y s aib cel mult p-1 componente nenule, deci 0 (1 + 2 ) ( 1 , 2 nu pot fi ambele infinit) x n caz particular, = 0 = min ( i ) deci se va obine programul soluie x + 0y cu p-1 yi <0 yi componente pozitive i astfel vom avea dou cazuri : Dac coloanele corespunztoare componentelor sunt liniar independente atunci programul anterior este program de baz. Dac coloanele corespunztoare componentelor sunt liniar dependente atunci se reia algoritmul ntr-un numr finit de pai, cel mult p pn se va ajunge la primul caz i se obine un program optim de baz pentru problema dat. Definiia 2.1: Fie V un spaiu liniar peste corpul R i x, y doi vectori din V. Mulimea vectorilor [x, y ] = {X V / X = (1 ) x + y,0 1 } se numete segment al lui V (unete vectorul x cu vectorul y ). Definiia 2.2: O mulime M de vectori din V se numete mulime convex dac () x, y M i 18

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

() [ 0,1] , atunci [ x, y] M . Deci se poate spune c mulimea M din V este convex, dac odat cu doi vectori x, y M conine i segmentul determinat de aceti vectori. Definiia 2.3: Vectorul X M se numete vrf sau punct extrem al mulimii M dac nu exist vectorii x, y M astfel nct {X = (1 ) x + y,0 1 } . n caz contrar X se numete punct interior mulimii M . Definiia 2.4 : Prin combinaie liniar convex a vectorilor x1 ,x2 ,xm M se nelege o expresie de forma 1x1 + 2x2 + + mxm cu [ 0,1 ] i 1 + 2 + + m = 1 Concluzie: Orice punct interior X al unei mulimi convexe M se poate exprima ca o combinaie liniar convex de un numr finit de puncte extreme. Teorema 2.2: Mulimea soluiilor admisibile ale unei probleme de programare liniar este o mulime convex . Demonstraie : Fie mulimea soluiilor admisibile dat de relaia (2.40). Fie dou soluii: x1 , x2 S. Atunci pentru [0,1] avem x = x1 +(1- )x2 0 nlocuind relaia (2.45) n relaia (2.40) obinem : Ax= A[x1 +( 1- )x2]=Ax1 + (1- ) Ax2 = b + (1- )b = b+ b - b = b, deci mulimea soluiilor problemei de programare liniar este o mulime convex. Teorema 2.3: Orice soluie admisibil de baz a unei probleme de programare liniar este vrf sau punct de extrem al mulimii soluiilor admisibile. Demonstraie. Presupunem c soluia admisibil de baz x are forma x=(x1 x2 xm 0 0T. Aceasta nseamn c xi 0 (i = 1, m), vectorii p1, p2, ,pm sunt liniar independeni i x satisface sistemul de restricii, deci x1P1 + x2P2 + + xmpm +0pm+1 + + 0pn = p0 (2.46) (2.45)

Trebuie artat c x este vrf al mulimii S a soluiilor admisibile. Presupunem prin absurd c x nu este vrf, ci punct interior, adic exist doi vectori x' , x' ' S astfel nct: x = x'+(1 )x' ' , (0,1) Scris pe componente:
' '' ' '' ' '' + (1 )x m + (1 )x n x1 = x1' + (1 )x1' , x 2 = x 2 + (1 )x 2 ,., x m = x m ,.., 0 = x n

ns (0,1) , deci 1 > 0 , iar xi' 0 i = 1, n i xi'' 0 x' , x' ' S , astfel c, din cele n m relaii se obin: ' ' '' '' xm +1 = 0  x n = 0 ; x m +1 = 0  x n = 0 i deci vectorii x ' , x ' ' au formele: 19

(i = 1, n)

deoarece

Programare liniar
' x' = x1' x 2

' xm 0

'' x' ' = x1'' x 2

'' xm 0

(2.47)

Exprimm faptul c x' , x' ' S verific restriciile


' ' ' x1 p1 + x 2 p2 +  + xm p m = p0 '' x1 p1

(2.48) (2.49)

'' x2

p2 +  +

'' xm

p m = p0

ns vectorii pi ,,pm sunt liniari independeni. Rezult:


' '' ' '' x1' = x1'' , x 2 = x2 , x m = xm adic x' = x' '

(2.50)

Aceasta nseamn c nu exist vectorii x' , x' ' S astfel ca x = x'+(1 )x' ' (0,1) prin urmare x este vrf sau punct de extrem n S. Teorema 2.4: Funcia obiectiv a unei probleme de programare liniar ia valoare optim ntr-un punct extrem a mulimii convexe M a tuturor soluiilor admisibile ale problemei de programare liniar. Demonstraie: Presupunem c se cere ca funcia obiectiv s fie minimizat. ~ Notam cu M = { xi , i I } mulimea punctelor extremale ale lui M i fie x1 punct extrem pentru care c T x1 = min{c T xi } = z1
iI

Presupunem prin absurd c aceast afirmaie nu este adevrat, atunci exist x0 ~ M M astfel nct : c T x0 = z0 < z1, deoarece x0 nu este punct extrem atunci :

x0 =

x
i iI

, I 0 ,

iI

=1

(2.51)

Dar z0 = c T x0 = i c T ' xi > i c T x1 = cT x1 = z1, ceea ce este o contradicie. Deci


iI iI

x1 este un program minimal pentru problema de programare liniar.

Consecin : Dac funcia obiectiv ia aceeai valoare optim n mai multe puncte extremale, atunci orice combinaie liniar convex a acestora este soluie optim a problemei de programare liniar.
2.2.2. Baze ale problemei de programare liniar

Fie problema de programare liniar n forma standard (2.13), n care matricea A are m linii i n coloane, iar rang A = m < n. Ecuaiile ce compun sistemul liniar Ax = b sunt liniar independente, iar sistemul are o infinitate de soluii. Astfel, n matricea A exist cel puin un grup de m coloane liniar independente, care formeaz o baz a spaiului Rm. Definiiile ce urmeaz reprezint fundamente ce stau la baza rezolvrii modelelor de programare liniar.

Definiia 2.5 Se numete baz a problemei de programare liniar n form standard un grup de m coloane liniar independente.
20

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie


m Problema (2.13) are un numr finit de baze i anume C n . Fie B o baz format cu m coloane, ale matricei A. Matricea A se poate scrie partiionat sub forma:

A = [B, S ] , cu B = a (i ) iI , S = a ( j ) j J

[ ]

[ ]

(2.52)

unde prin I i J s-au notat mulimile de indici corespunztori coloanelor din baza B i, respectiv, a celorlalte coloane:

I = i = 1, n a (i ) B J ={ 1,2,..., n}/ I

}
[ ]

(2.53)

Partiionarea vectorului x al variabilelor problemei este urmtoarea:


xB x = S , cu x B = [xi ]iI , x
xS = x j

jJ

(2.54)

iar partiionarea vectorul c al coeficienilor funciei obiectiv este:

c B c = S , cu c B = [ci ]iI , c

cS = c j

[ ]

jJ

(2.55)

n raport cu baza B aleas, variabilele xi (i I ) se vor numi variabile de baz, iar x j ( j J ) variabile secundare. Sistemul de ecuaii Ax = b se poate scrie dup partiionare sub forma:

[B, S ] x S = b Bx B + Sx S
x

=b

(2.56)

Matricea B fiind o baz a spaiului Rm este inversabil. Astfel prin nmulirea relaiei (2.56) la stnga cu B-1 se obine forma explicit a sistemului de ecuaii:
x B = B 1b B 1 Sx S

(2.57)

Notm cu:
x = B 1b
B

1 ( j ) yB j = B a , j = 1, n

(2.58) (2.59)

nlocuind relaiile (2.58) i (2.59) n relaia (2.57) obinem:


B xB = x yB j xj jJ B

(2.60)

Scris pe componente relaia (2.60) devine:


21

Programare liniar
B B xiB = x i y ij x j ,i I jJ B

(2.61)

Definiia 2.6. Soluia de baz corespunztoare bazei B este: B x B = x Rn 0


B

(2.62)

O soluie de baz este o soluie admisibil (program) a unei probleme de programare liniar dac x 0 .
Definiia 2.7 Baza B care satisface condiia
B 1b 0

(2.63)

se numete baz primal admisibil.

innd seama de relaiile (2.54) i (2.55), funcia obiectiv a problemei de programare liniar, z = c T x , poate fi exprimat prin:
B ' x B T S T 1 1 S S z = c B c S S = cT + cT B x + c S x = c B B b B Sx Sx x T 1 ' 1 T' S z = cB B b cT B B S cS x

(2.64)

Notm cu:
z = cT Bx zB j = cT B
B B

(2.65)
j = 1, n

yB j ,

(2.66)

nlocuind relaiile (2.65) i (2.66) n relaia (2.64) obinem:


z = z z iB c j x B j
jJ B B

(2.67)

Definiia 2.7. Constanta z din relaia (2.67) reprezint valoarea funciei obiectiv n soluia asociat bazei B.

Diferentele z B j c j ( j J ) se mai numesc costuri reduse i au rolul esenial n caracterizarea optimalitii unei soluii admisibile de baz a unei probleme de programare liniar.
2.2.3. Interpretarea geometric a problemei de programare liniar

O interpretare geometric a unei probleme de programare liniara se poate obine simplu n cazul cnd problema are dou variabile (spaiu R2) i se prezint sub forma canonic. 22

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Fie modelul de programare liniar (2.11) exprimat n funcie de dou variabile de decizie x1 i x2. 1) Restriciile unui astfel de model pot fi exprimate prin a) egaliti : a11 x1 + a12 x 2 = b1 b) inegaliti : sau
a12 x1 + a 22 x 2 b2 a 21 x1 + a 22 x 2 b2

(2.68) (2.69) (2.70)

2) Condiii de nenegativitate : x1 0, x 2 0 3) Funcia obiectiv (2.10) poate fi: min(max) z = c1 x1 + c 2 x 2

Realiznd o analiz din punct de vedere grafic putem observ urmtoarele : egalitatea a11 x1 + a12 x 2 = b1 , reprezint o dreapta. Mulimea soluiilor ( x1 x 2 ) , aparine acestei drepte (d), iar aceast dreapt (curb de nivel), mparte planul (0 x1 x 2 ) n dou semiplane. inegalitatea a11 x1 + a12 x 2 < b1 , - mulimea soluiilor fiind reprezentat n acest caz printr-o arie, dreapta mparte planul (0 x1 x 2 ) n doua semiplane ce au o arie comun i n final un punct comun. Pentru aflarea soluiei optime, dac ea exist, trebuie aflat mai nti mulimea soluiilor admisibile S mulime ce satisface sistemul de restricii i condiiile de nenegativitate. n reprezentarea grafic acesta va fi o mulime convex, reprezentat printr-un domeniu, numit admisibil.
Exemplul 2.2 S se rezolve problema de programare liniar
z = max(2 x1 + x 2 ) 2 x x 2 1 2 x 2 x 2 2 1 x1 + x 2 5 x1 0 , x 2 0

Pentru determinarea domeniului admisibil se procedeaz n modul urmtor: se afl domeniul care satisface cele trei restricii i condiiile x1 0, x 2 0 . Se figureaz dreptele: (d1) (d2) (d3) 2x1- x2 = -2, trece prin A1(-1,0), B1(0,2) x1- 2x2 = 2, trece prin A2(2,0), B2(0,-1) x1+ x2 = 5, trece prin A3(5,0), B3(0,5)

i apoi se ia, n cadranul nti intersecia domeniilor ce reprezint soluiile, respectiv, ale celor trei inecuaii, fig. 2.1. Prin intersecia celor trei semiplane s-a obinut domeniul admisibil, ce este o mulime convex. Coordonatele oricrui punct din acest domeniu satisfac toate restriciile i condiiile de nenegativitate ale problemei. Conform teoremei 2.4, dac funcia obiectiv i atinge valoarea maxim, atunci z ia valoarea maxim ntr-un vrf ( punct extrem al mulimii convexe). Acestea sunt vrfurile poligonului, notate cu: O, A, B, C, D. 23

Programare liniar

Coordonatele acestor puncte se afl uor astfel:


x2 d1

C( 1 ,4)

d2

(D )

D(0,2)

B (4, 1 ) d3 0 A(2,0) x1

Fig.2.1

x 2 x2 = 2 B (d 2 )  (d 3 ) 1 x1 + x2 = 5 2 x 2 x 2 = 2 C (d 1 )  (d 3 ) 1 x1 + x 2 = 5

B(4,1) C (1,4 )

Aflarea soluiei optime se bazeaz pe faptul c funcia obiectiv, avnd dou variabile se poate reprezenta printr-o dreapt (D). (D): c1x1 + c2x2 = z Adus la forma y = mx + n unde m este panta, iar n ordonata la origine, rezult: (D): x 2 =
c1 z x1 + c2 c1 c1 c2

care reprezint o mulime de drepte paralele ntre ele, avnd panta constant m = i ordonata la origine variabil, n =

z . c1 n problemele de maxim vom alege poziia care are ordonata la origine astfel ca ea s furnizeze valoarea maxim pentru z. Analog pentru problemele de minim.

Pentru exemplul de mai sus rezult: (D) : x2 = -2x1 + z ; se alege acea dreapt ce trece prin unul din vrfuri, ce are m = -2 i ordonata n = z = max Ea este figurat punctat n figura 2.1. Ordonata la origine maxim corespunde punctului B deci
x1 = 4 i x2 = 1 z = 2*4 +1*1 = 9 = max

Deoarece panta dreptei (D) este m = -2 = tg , rezult c unghiul = 116,560.

24

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Exemplul 2.3. Pentru fabricarea a dou produse P1 i P2, o firm dispune de patru tipuri de resurse Ri 1,4 . Cantitile de resurse Ri folosite pentru fabricarea fiecrei uniti din produsele P1 i P2, n uniti convenionale (tone etc) sunt date n tabelul 2.1. Se mai cunosc cantitile disponibile ale firmei din fiecare resurs Ri i = 1,4 i beneficiile pentru fiecare unitate din cele dou produse. S se determine planul de producie astfel ca beneficiul total s fie maxim.

( )

Tabelul 2.1
Resurse R1 R2 R3 R4 Beneficiu R1 2 1 4 0 2 um R1 2 2 0 4 3 um Disponibil 12 8 16 12

Introducnd variabilele de decizie: x1 = numrul de uniti din produsul P1 i x2 = numrul de uniti din produsul P2 , rezult urmtorul model matematic de P.L.:
2 x1 + 2 x 2 12 x + 2x 8 1 2 4 1 6 x 1 4 x 2 12

x1 0, x 2 0, z = 2 x1 + 3 x 2 = max

Soluia grafic (2.2) se obine determinnd domeniul admisibil:


(d 1 )2 x1 + 2 x 2 = 12 (d )x + 2 x = 8 2 1 2 ( ) d 3 4 x1 = 16 (d 4 )4 x 2 = 12 (D) 2x1 + 3x2 = z

C (d 2 )

Se observ c dreptele (d1 ) , (d 2 ) i (d 3 ) sunt concurente n punctul B(4,2), iar (d 3 ) are coordonatele C(2,3).
x2

d3

(D )

D(0,3)

C(2,3)

d4

B(4,2)

d1 0 A(4,0)

d2 x1

Fig.2.2

25

Programare liniar

Soluia optim a problemei este:


x1 = 4; x2 = 2 f(x) = 14 = max

Verificm soluia n restriciile problemei. Rezult c resursele R1, R2 i R3 sunt resurse rare, utilizate n ntregime n timp ce resursa R4 nu a fost n ntregime utilizat. Cantitatea din resursa R4, ce rmne disponibil poate fi determinat i ulterior folosit cunoscnd preul umbr (dual). Aceast analiz urmeaz a fi detaliat n subcapitolul 2.4.
2.3. Metoda Simplex

Metoda Simplex sau metoda mbuntirilor succesive evit cercetarea exhaustiv a tuturor soluiilor de baz ale unei probleme de programare liniar, construind succesiv soluii realizabile de baz din ce n ce mai bune ale modelului pn cnd este obinut o soluie de baz optim. Prin soluie mai bun nelegnd soluia ce d funciei de eficien (obiectiv) o valoare mai mic, respectiv mai mare dect cele precedente dup cum funcia de eficien este de minim sau de maxim. Deci acest algoritm este o metod de examinare sistematic a programelor de baz ce d funciei de eficien o valoare optim. Aceast metod pune n eviden cazul n care problema admite un optim infinit sau mulimea programelor este vid.
2.3.1. Fundamente teoretice n aplicarea metodei Simplex

Prezentarea metodei simplex se realizeaz pe un model de programare liniar dat n form standard i n care funcia obiectiv este o funcie de minimizare.
min c T x Ax = b , unde x0
C , x R n A M m ,n b Rm

(2.71)

B Fie B o baz primal admisibil extras din matricea A i x = B 1b o soluie de baz iniial a problemei de programare liniar. Pentru ordonarea i facilitarea calculelor se utilizeaz n aplicarea practic a algoritmului tabele ce poart denumirea de tabele simplex. Aceste tabele sunt tabele simple ce au m+1 linii i n+1 coloane i cuprind coeficienii numerici al problemei (2.71) corespunztori bazei primal admisibile B (tab 2.2). Tabelul conine n prima coloan, variabilele de baz (V.B.), n coloana a doua valoarea variabilelor de baz (V.V.B), iar n urmtoarele n coloane vectorii y B j , j = 1, n . Pe ultima linie a tabelului se trece valoarea funciei obiectiv pentru baza B notat cu

i diferenele z B j c j , j = 1, n . Acestui tabel se ataeaz o linie deasupra variabilelor x j i o coloan la stnga

coloanei V.B cu coeficienii corespunztori funciei obiectiv c j , j = 1, n .

26

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Tabelul 2.2
cl CB c1 V.B.
B x1

... ... ...

ck xk yB

... ... ...

cj xj yB
1j

... ... ...

cn xn yB
1n

V.V.B
B x1

xl yB

11

1k

ci

xiB

xiB

yB

i1

...

yB

ik

...

yB
ij

...

yB

in

cl

xlB

xlB

yB

l1

...

yB

lk

...

yB
lj

...

yB

ln

cm

B xm

B xm

yB

m1

...

yB

mk

...

yB

...

mj

yB

mn

zB

B- c ... z1 1

zB -ck k

... z B - c j j

... z B - c n n

Tabelul simplex se ataeaz fiecrei baze B din algoritm i are ca fundamente rezultatele teoretice ce sunt prezentate n continuare.
Teorema 2.5 Criteriu de optimalitate Fie B o baz primal admisibil pentru probleme de programare liniar (2.71). Dac B 1 zB j c j 0 , oricare ar fi j J , atunci programul de baz asociat bazei B, x = B b este o soluie optim a problemei de programare liniar considerat.

Teorema 2.6 Criteriu de infinitudine a soluiilor Fie B o baz primal admisibil pentru probleme de programare liniar (2.71). Dac
B B ck 0 i yik 0 , oricare ar fi i I atunci problema exist indicele k J astfel nct z k are un optim infinit.

Teorema 2.7 Criteriu de mbuntire a soluiilor Fie B o baz primal admisibil pentru probleme de programare

B B ck > 0 (2.72) i I + = iI / yik > 0 . Pentru liniar 2.71. Fie k J astfel nct z k indicele i I + determinat cu relaia:

min
i I +

xi

B yik

xl

B ylk

(2.73)
~ B

se obine un nou program de baz x cel puin la fel de bun ca x , corespunztor unei noi ~ (l ) baze B care are aceleai coloane ca i B, cu excepia coloanei a ce se nlocuiete cu (k ) coloana a . Observaii: ~ Baza B este primal admisibil i verific toate teoremele anterioare. Relaia (2.73) reprezint criteriul de ieire din baz i ne arat indicele l I + , al coloanei a (l ) ce urmeaz s prseasc baza B.
27

Programare liniar

n cazul n care exist mai muli indici k J pentru care se ndeplinesc (2.72) i (2.73) atunci se pot construi mai multe baze primal admisibile i fiecare dintre acestea modific valoarea funciei obiectiv. Pentru a obine mai repede optimul cutat este indicat a alege acel indice pentru care se verific relaia. xl B max (( z j c j ) B ) = j J ylk
B

xl

B ylk

B (zk c ) k

(2.74)

n practic utilizndu-se pentru evitarea calculelor urmtorul criteriu: B B max ( z j c j ) = z k ck j J


Relaia 2.75 reprezint criteriul de intrare n baz i ne arat indicele
a ( k ) ce urmeaz s intre n baza B. ylk din tabelul simplex poart denumirea de pivot. ~ Pentru calculul elementelor tabelului simplex asociat bazei B n raport cu elementele tabelului simplex asociat bazei B se utilizeaz formulele de schimbare a bazei n cadrul unei operaii numit pivotare gaussin. n practic formulele de schimbare a bazei se echivaleaz cu urmtoarele reguli de transformare a tabelelor simplex : Elementele situate pe linia pivotului se mpart la valoarea pivotului ; Elementele situate pe coloana pivotului devin zero cu excepia pivotului ce va avea valoarea unu ; Celelalte elemente ale tabelului simplex se transform dup regula dreptunghiului. Se consider dreptunghiul imaginar a crui diagonal este determinat de k J al coloanei Elementul
B B B elementul yij i pivotul yij (fig. 2.3) ; noua valoare yij se obine mprind la pivot diferena
B B B B ylk i ylj yik dup formula : dintre produsul yij

(2.75)

~ B yij

B B B B yij ylk ylj yik B ylk

(2.76)
elementul de transformat

B ij

B y ik

B y ij

B y ik

pivotul

Fig.2.3
2.3.2. Algoritmul simplex primal.

Rezultatele teoretice obinute anterior permit enunarea algoritmului simplex. Acest algoritm pentru rezolvarea problemelor de programare liniar date n form standard (2.13) este diferit n raport cu tipul funciei obiectiv, respectiv, probleme de minimizare sau maximizare.

28

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Algoritmul simplex primal pentru probleme de minimizare Pasul 1 : Se determin o baza B primal admisibil. B B B Pasul 2 : Se determin urmtoarele elemente : x , z , z B j c j, y j Pasul 3 : Se analizeaz toate diferenele z B j cj :
B Dac toate diferenele z B j c j 0 , j = 1, n atunci programul x este optim.

Dac exist cel puin un indice j J + , J + = j J / z B j cj > 0

astfel nct

zB j c j > 0 se trece la pasul 4. Pasul 4 Se determin indicele k J + cu criteriul de intrare n baz


B ck = max ( z B zk j cj) j J +

B Dac y k 0 atunci problema are un optim infinit. B > 0 se trece la pasul 5. Dac ()k J + pentru care y k Pasul 5: Se determin indicele l I cu criteriul de ieire din baz: xB xB l i min B = B i I yij ylk y B >0 ik

(l ) (k ) Pasul 6 : Se nlocuiete n baza iniial B vectorul a cu vectorul a , ~ obinndu-se astfel o nou baz B , iar pivotul corespunztor este y lk . ~ Mrimile tabelului simplex corespunztor noii baze B , se vor determina cu ajutorul unei reguli denumit regula dreptunghiului (pivotare n jurul elementului y lk ), dup care se trece la Pasul 2.

Algoritmul simplex primal pentru probleme de maximizare


Acest algoritm are paii 1,2,5,6 identici cu algoritmul pentru probleme de minimizare.

Pasul 3 : Se analizeaz toate diferenele z B j cj :


B Dac toate diferenele z B j c j 0 , j = 1, n atunci programul x este optim.

Dac exist cel puin un indice j J , J = j J / z B j cj < 0

astfel nct

zB j c j < 0 se trece la pasul 4. Pasul 4 Se determin indicele k J + cu criteriul de intrare n baz


B zk ck = min ( z B j cj) j J

B 0 atunci problema are un optim infinit. Dac y k

B > 0 se trece la Pasul 5. Dac ()k J + pentru care y k Algoritmul simplex poate fi exprimat sintetic sub urmtoarea schem logic ( fig.2.4).

29

Programare liniar
START

Construieste tabel simplex initial

Exista valori pozitive (negative) pe linia diferentelor?

Nu

Indica solutia optima

STOP

Da Determina coloana pivotului

Exista valori pozitive in coloana pivotului?

Nu

Indica solutia optima

STOP

Da Determina linia pivotului

Calculeaza un nou tabel simplex

Fig.2.4

Exemplul 2.4 . S se rezolve urmtoarea problem de programare liniar:


x1 x 2 4, 3 x x 18, 1 2 x1 + 2 x 2 6, x , x 0 1 2 max (2 x1 + x 2 ).

Pentru a aplica algoritmul simplex, vom aduce mai nti problema la forma standard. n acest scop introducem variabilele ecart x3, x4 i x5:
x1 x 2 + x3 = 4, 3 x x + x = 18, 1 2 4 2 x + x + x5 = 6, 1 2 x , x ,..., x 0 6 1 2 max(2 x1 + x 2 ).

Iteraia 1 Pasul 1 Fie B o baz admisibil a problemei format din coloanele matricii A i anume a3, a4 i a5 : 1 0 0 3 4 5 B = a , a , a = 0 1 0 0 0 1 Pasul 2 Baza B este matricea unitate, astfel vom calcula urmtoarele elemente:

B 1 = B = I i x

= B 1b = b = [4 18 6] ;

30

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

1 yB j = B a j = a j , elementele matricii A.
' 1 zB j c j = c B a j c j = (0 0 0 ) a j c j = c j = ( 2 1 0 0 0) B

= c B B 1b = 0.

Cunoscnd toate aceste date, putem forma tabelul simplex iniial ( tab.2.3).
B Pasul 3. Deoarece exist j J , J = j J / z B j c j < 0 astfel nct z j c j < 0 , baza iniial nu este optim. Pasul 4 Se determin indicele k J + cu criteriul de intrare n baz B zk ck = min ( z B j c j ) =min ( 2,1 )=-2. Deci indicele k = 1, astfel variabila x1 va intra j J

~ B > 0. n noua baz B i ()k J + pentru care y k Pasul 5: Se determina indicele l I cu criteriul de ieire din baz xB xB 4 18 4 l i min B = B = min , = , 1 3 1 i I yij ylk
y B >0 ik

deci indicele l = 3. Variabila x3 va prsi baza B. Pivotul este y31= 1 Pasul 6: Se nlocuiete n baza iniial B variabila x3 cu variabila x1 obinndu-se astfel o noua ~ baza B ceea ce nsemn c se vor transforma toate mrimile urmtorului tabel simplex cu regula dreptunghiului. Interaia 2 Se realizeaz un pivotaj n jurul elementului y42 (tab.2.3). Interaia 3. Se realizeaz un pivotaj n jurul elementului y53 (tab.2.3). Interaia 4 Deoarece z j c j 0 pentru toi j, baza actual este optim. Deci programul optim 42 36 14 , x2 = , x3 = , x 4 = 0 , x5 = 0 ( x 4 i x5 au valoarea 5 5 5 0, deoarece sunt variabile secundare). al problemei noastre este x1 =

Interpretare geometric.
Pentru problema examinat mai sus se poate da o interpretare geometric simpl n spaiu R2. n planul x1Ox2, mulimea punctelor (x1, x2) care satisfac restricia x1 x 2 4 constituie unul din semiplanele determinate de dreapta (d 1 ) : x1 x 2 = 4 , i anume semiplanul care conine originea. Celelalte dou restricii determin analog alte dou semiplane. Mulimea programelor problemei va fi format din mulimea punctelor din primul cadran (x1 0, x 2 0 ) care se afl la intersecia celor trei semiplane. Aceast mulime este poligonul OABCD (fig. 2.5). Funcia obiectiv este max(2x1 +x2). Ecuaia 2x1 +x2 = z reprezint o familie de drepte paralele ntre ele. n figura 2.4 sunt reprezentate punctat cteva din aceste drepte. Pentru z=z2, funcia obiectiv ia valori mai mari dect pentru z = z1, iar pentru z = z3 valori i mai mari. 31

Programare liniar

Tabelul 2.3
2 C
B

1 x2 -1 -1 2 -1 1 x2 -1 2 1 -3 1 x2 0 1 0 0 1 x2 0 1 0 0

0 x3 1 0 0 0 0 x3 1 -3 1 2 0 x3 -1/2 -3/2 5/2 -5/2 0 x3 0 0 1 0

0 x4 0 1 0 0 0 x4 0 1 0 0 0 x4 1/2 1/2 -1/2 -3/2 0 x4 2/5 1/5 -2/5 1

0 x5 0 0 1 0 0 x5 0 0 1 0 0 x5 0 0 1 0 0 x5 1/5 3/5 2/5 1

V.B. x3 x4 x5

V.V.B 4 18 6 0

xl 1 3 -1 -2 2

0 0 0

CB 2 0 0

V.B. V.V.B x1 x4 x5 4 6 10 8

xl 1 0 0 0 2 xl 1 0 0 0 2

CB 2 1 0

V.B. V.V.B x1 x2 x5 7 3 7 17

V.B. V.V.B x1 x2 x3 42/5 36/5 14/5 24

xl 1 0 0 0

2 1 0

x2
42 36 C , 5 5

(d2) B(7,3) (d1)

D (0,3)

O (0,0)

A(4,0)

x1

Fig.2.5 ns, dup cum se vede din figur, nu exist nici un program care s dea funciei obiectiv valoarea z3 (dreapta 2x1 +x2 =z3 nu intersecteaz poligonul OABCD domeniul soluiilor). Cea mai mare valoare pe care o poate lua z pentru punctele din poligonul OABCD se obine atunci cnd dreapta 2x1 +x2 = z trece prin punctul C. Valoarea lui z n acest caz este 2. 42/5 + 36/5 = 24. 32

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Cnd am aplicat algoritmul simplex, drept baz iniial am luat baza B = (a3, a4, a5). Variabilele x1 i x2 sunt variabile secundare, deci au valoarea 0; reiese c ne-am gsit n vrful O (0,0) al poligonului OABCD, iar valoarea funciei obiectiv era z = 0. n continuare, variabila x1 intr n baz i am obinut programul x1 = 4, x2 = 0. Geometric aceasta nseamn c din vrful O ne-am deplasat pn n vrful A (4,0) de-a lungul muchiei OA. n continuare, din vrful A am ajuns n vrful B, mergnd pe muchia AB (variabila x3 a pstrat tot valoarea 0, deci ne gseam pe dreapta d1). De aici am ajuns n vrful optim C, urmnd muchia BC. Valoarea funciei obiectiv a crescut de la 0 la 8, apoi la 17 (n vrful B) i, n sfrit, la valoarea maxim 24. Acest lucru este valabil i n cazul general: fiecrei baze admisibile a problemei adus la forma standard i corespunde un vrf al domeniului soluiilor. Concluzie: Fiecare iteraie simplex reprezint o deplasare de la un vrf al domeniului soluiilor, pe o muchie, pn la un vrf, care confer funciei obiectiv o valoare mai bun.

Exemplul 2.5. O companie produce trei tipuri de produse A, B, C. Fiecare dintre aceste produse trebuie prelucrate tehnologic aceeai main unealt, timp de 2 ore, 3 ore respectiv 1 or. Maina unealt este disponibil pentru perioada analizat, 400 ore. Pentru produsele A i C se folosesc componente speciale, cte o bucat pentru fiecare produs, firma avnd un stoc disponibil pe perioada analizat de 150 de uniti din aceste componente. Tot pentru produsele A i C se utilizeaz un aliaj special: pentru o unitate din produsul A se utilizeaz 2 kg de aliaj special, iar pentru o unitate din produsul C, 4 kg. Stocul disponibil este de 200 kg din acest aliaj special. Studiul de pia pentru produsul B arat c se pot vinde pe perioada analizat cel mult 50 de uniti din acest produs. Beneficiul unitar al produselor A, B i C este respectiv: 8 um (uniti monetare), 5 um, 10 um. Compania dorete s stabileasc planul de producie care maximizeaz beneficiul total pe perioada analizat.
Elaborarea modelului matematic Notm x1 = numrul de produse A x2 = numrul de produse B x3 = numrul de produse C unde x1, x2, x3 pentru modelul analizat reprezint variabilele de decizie. 2 x1 + 3 x 2 + x3 400 x + x 150 1 3 x + 2 1 4 x3 200 x 2 50 x1 0 , x 2 0 , x3 0 z = max(8 x1 + 5 x 2 + 10 x3 ) Se observ c problema nu are form standard. Introducem variabilele de compensare x4, x5, x6, x7 i nlocuim max(z)=min(-z), dorind s aplicm algoritmul simplex pentru probleme de minim. Calculele efectuate sunt grupate n tabelele simplex reunite n tabelul 2.4. Soluia optim este: x = (100, 50, 0, 50, 50, 0, 0), iar funcia obiectiv este min (f)= 1050, deci max(z) = 1050 Interpretarea soluiei: Variabilele de decizie au valorile : x1 = 100, x2 = 50, x3 = 0 33

Programare liniar

2 x1 + 3 x 2 + x3 + x 4 = 400 x + x + x = 150 1 3 5 x + x + x6 = 200 2 4 3 1 x 2 + x7 = 50

xi 0

(i = 1,7)

f = min(8 x1 5 x 2 10 x3 ) Matricea coeficienilor tehnico - economici este: 2 3 1 1 0 0 0 1 0 1 0 1 0 0 A= 2 0 4 0 0 1 0 0 1 0 0 0 0 1 Se vor fabrica 100 uniti din produsul A, 50 uniti din produsul B, zero uniti din produsul C. Se va obine beneficiul maxim, egal cu 1050 uniti monetare. Semnificaia variabilelor de compensare rezult din modul cum au fost introduse. Verificnd restriciile iniiale ale problemei cu soluia optim x1 = 100, x2 = 50, x3 = 0 i comparnd cu sistemul de restricii n care s-au introdus variabilele de compensare, rezult: - orele de lucru pe main nu s-au folosit integral, rmnnd disponibile x4 = 50 ore; - componentele nu s-au folosit integral, rmnnd x5 = 50 uniti. - stocul de aliaj dup efectuarea prelucrrilor este nul x6 = 0 - este satisfcut condiia de vnzare pentru B, x7 = 0. Tabelul 2.4
-8 C
B

-5 x2 3 0 0 1 5 x2 3 0 0 1 5 -5 x2 0 0 0 1 0

-10 x3 1 1 4 0 10 x3 0 0 1 0 0 -10 x3 0 0 1 0 0

0 x4 1 0 0 0 0 0 x4 1 0 0 0 0 0 x4 1 0 0 0 0 0 x4 1 0 0 0 0

0 x5 0 1 0 0 0 0 x5 0 1 0 0 0 0 x5 0 1 0 0 0 0 x5 0 1 0 0 0

0 x6 0 0 1 0 0 0 x6 -1/4 -1/4 1/4 0 5/2 0 x6 -1/4 1/4 1/4 0 5/2 0 x6 -1 -1/2 1/2 0 -4

0 x7 0 0 0 1 0 0 x7 0 0 0 1 0 0 x7 -3 0 0 1 -5 0 x7 -3 0 0 1 -5

V.B. x4 x5 x6 x7

V.V.B 400 150 200 50 0

xl 2 1 2 0 8 -8

0 0 0 0

-5 -10

CB 0 0 -10 0

V.B. V.V.B x4 x5 x3 x7 350 100 50 50 -500

xl 3/2 1/2 1/2 0 3 -8 xl 3/2 1/2 1/2 0 3 -8

CB 0 0 -10 -5

V.B. V.V.B x4 x5 x3 x2 200 100 50 50 -750

-5 -10 x2 0 0 0 1 0 x3 -3 -1 2 0 -6

V.B. V.V.B x4 x5 x1 x2 50 50 100 50 -1050

xl 0 0 1 0 0

0 0 -8 -5

34

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

2.3.3. Metode de determinarea unei soluii de baz iniiale

Algoritmul simplex necesit, pentru pornire, ca problema s fie dat n forma standard i s aib o soluie admisibil de baz. Prima dintre condiii se realizeaz folosind transformri utilizate n programarea liniar. Pentru cea de-a doua condiie alegerea la ntmplare a unei baze format din m vectori ai matricei A, conduce la soluii de baz nerealizabile cu care algoritmul simplex nu poate ncepe. Gsirea unei baze pur i simplu prin ncercri repetate nu este indicat, aceast cutare putnd dura foarte mult. Rezolvarea problemei pleac de la observaia c singura baz pentru care calculul de mai sus se poate face imediat este matricea unitate, caz n care soluia de baz corespunztoare este chiar vectorul termenilor liberi. Aceasta presupune ca problema s aib toi termenii liberi mai mari sau egali cu 0 i n matricea A s existe toate coloanele matricei unitate. n acest sens plecm de la observaia c existena unui vector din matricea unitate este echivalent cu existena unei variabile care apare doar n ecuaia corespunztoare lui 1 din acel vector, cu coeficientul 1. Acest lucru poate fi obinut n dou moduri: Alegem o nou funcie obiectiv care s-i ating extremul printre soluiile 1) pozitive chiar pentru y = 0 i n momentul cnd am obinut soluia respectiv pornim cu aceasta ca soluie iniial algoritmul simplex pentru fosta problem (Metoda celor dou faze). Adugm la vechea funcie obiectiv noi variabile y cu coeficieni alei astfel 2) nct aportul variabilelor la valoarea funciei s fie contrar scopului dorit (infinit pozitiv ntr-o problem de minim i infinit negativ ntr-o problem de maxim) (Metoda coeficienilor de penalizare) Vom detalia n continuare cele dou metode:

Metoda celor dou faze Fie dat problema de programare liniar la forma standard de maxim:
max c T' x A x = b x0

(2.77)

n care am aranjat deja ca toi termenii liberi s fie pozitivi .

Faza 1 Const n rezolvarea unei probleme de programare liniar auxiliar, asociat problemei iniiale. Astfel construim problema:
a a a f ( x a ) = min( x m +1 + x m + 2 + ... + x m + n ) Ax + I m x a = b x ,xa 0

(2.78)

unde xa sunt variabilele artificiale ce se introduc n restriciile problemei att ct sunt necesare n scopul formrii bazei unitare; Im matricea unitate de ordin m. Rezolvm cu algoritmul simplex aceast problem, pornind rezolvarea de la baza matrice unitate, putem ajunge la dou situaii: 35

Programare liniar

1. minimul funciei f este strict pozitiv, aceasta fiind echivalent cu faptul c egalitatea Ax + Imxa = b se poate obine doar pentru Imxa > 0 sau altfel spus Ax > b pentru orice x 0, deci sistemul Ax = b nu are soluii admisibile i n concluzie problema iniial nu are soluie. 2. minimul funciei f este 0, n acest caz, soluia optim obinut verific Ax = b, fiind n concluzie o soluie admisibil de baz a primei probleme.

Faza 2
ncepnd de la soluia gsit la Faza 1 se rezolv problema iniial cu algoritmul simplex. Se ndeprteaz din tabelul simplex toate elementele corespunztoare variabilelor artificiale (cu excepia celor care rmn n baz), introducnd coeficienii funciei obiectiv din problema iniial. Dezavantajul metodei const n faptul c tabelul simplex final de la faza 1 trebuie modificat pentru a se obine tabelul simplex iniial de la faza 2, eliminndu-se coloanele corespunztoare lui y i totodat nu vom avea n tabelele simplex ale problemei iniiale inversa bazei (se gsea n dreptul coloanelor matricei unitate din prima faz) necesar n anumite variante ale algoritmului simplex.
Metoda coeficienilor de penalizare Fie problema de programare liniar la forma standard de minimizare: min c T x A x = b x0

(2.79)

n care toi termenii liberi sunt pozitivi i matricea A nu conine nici un vector coloan unitar. Construim problema:
f = max(c T x My) A x + y = b x, y 0

(2.80)

n care M este o constant presupus foarte mare (mai mare dect orice constant care ar putea apare n rezolvarea problemei). Rezolvm problema cu algoritmul simplex pornind rezolvarea de la baza matrice unitate, putnd ajunge la trei situaii: 1) problema are optim infinit, n acest caz, problema iniial are optim infinit ( nu prezint interes din punct de vedere tehnico-economic). 2) problema are optim finit i n soluia de baz avem cel puin o variabil din vectorul y. n acest caz problema iniial nu are soluii admisibile. 3) problema are optim finit i n soluia de baz nu avem nici o variabil din vectorul y. n acest caz problema iniial are optim finit, soluia optim i maximul funciei fiind aceleai cu cele ale problemei modificate. Se remarc faptul c variabilele y nu au aceeai semnificaie economic ca celelalte variabile, ele fiind introduse doar ca un artificiu de calcul pentru a putea porni algoritmul simplex.

Observaii : Dac matricea restriciilor conine vectori unitari, atunci numrul variabilelor artificiale introduse este egal cu m, numrul vectorilor unitari, indiferent de tipul funciei obiectiv.
36

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Dac la aplicarea algoritmului simplex, o variabil artificial iese din baz ea nu va mai intra niciodat, ceea ce arat eliminarea din calculele ulterioare. Exemplu 2.6 Un atelier de prelucrri mecanice fabric dou produse P1 i P2. Din structura de dezagregarea produselor se deduce c pentru realizarea produsului P1 sunt necesare 3 componente de tip A i un component de tip B, iar pentru realizarea produsului P2 sunt necesare 1 component de tip A i 4 componente de tip B. Atelierul dispune n stoc de 10 componente de tip A. Contractele cu furnizorii pentru componentele de tip B, arat c se poate realiza aprovizionarea cu acesta n cantitate de cel puin dou componente B. Beneficiul unitar pentru produsele P1 i P2 sunt de 2 um, respectiv de 3um. Se dorete s se stabileasc planul de producie care s maximizeze beneficiul total.
Modelul matematic este urmtorul:
f = max(2 x1 + 3 x 2 ) 3 x1 + x 2 10 x1 + 4 x 2 2 x ,x 0 1 2 unde x1 , x 2 , reprezint numrul de produse de tip P1 respectiv P2. Forma standard a problemei va fi: (max ) f = 2 x1 + 3 x2 3 x1 + x 2 + x3 = 10 x1 + 4 x 2 x 4 = 2 x ,x ,x ,x 0 1 2 3 4

n matricea A vom introduce variabila x5 cu coeficientul 1 n a doua ecuaie i mpreun cu coeficienii variabilei x3 n final vom avea de rezolvat problema prin cele dou metode: Metoda celor dou faze Metoda coeficienilor de penalizare min( x5 ) max(2 x1 + 3 x 2 Mx 5 ) 3 x1 + x2 + x3 = 10 3 x1 + x 2 + x3 = 10 x1 + 4 x2 x4 + x5 = 2 x1 + 4 x 2 x 4 + x 5 = 2 x ,x ,x ,x ,x 0 x ,x ,x ,x ,x 0 1 2 3 4 5 1 2 3 4 5 Aplicnd Metoda celor dou faze vom obine succesiv tabele:
cB 0 1 cB 0 0 xB x3 x5 xB x3 x2
xB 10 2 2 xB 19/2 1/2 0

0 x1 3 1 1 0 x1 11/4 1/4 0

0 x2 1 4 4 0 x2 0 1 0

0 x3 1 0 0 0 x3 1 0 0

0 x4 0 -1 -1 0 x4 1/4 -1/4 0

1 x5 0 1 0 1 x5 -1/4 1/4 -1

37

Programare liniar

Am obinut optimul egal cu 0 n soluia de baz (x3,x2) care va fi soluia iniial pentru algoritmul simplex aplicat problemei iniiale n a doua faz. Eliminm din tabel coloana lui x5, nlocuim valorile coeficienilor funciei obiectiv i deci i valoarea acesteia, valorile z B j c j i rezolvm problema n continuare, plecnd de la baza primal admisibil determinat, cu algoritmul simplex primal, obinnd tabelele de mai jos:
cB 0 3 cB 0 2 cB 0 2 cB 0 3 xB x3 x2 xB x3 x1 xB x4 x1 xB x4 x2
xB 19/2 1/2 3/2 xB 4 2 4 xB 4/3 10/3 20/3 xB 38 10 30

2 x1 11/4 1/4 -5/4 2 x1 0 1 0 2 x1 0 1 0 2 x1 11 3 7

3 x2 0 1 0 3 x2 -11 4 5 3 x2 -11/3 1/3 -7/3 3 x2 0 1 0

0 x3 1 0 0 0 x3 1 0 0 0 x3 1/3 1/3 2/3 0 x3 4 1 3

0 x4 1/4 -1/4 -3/4 0 x4 3 -1 -2 0 x4 1 0 0 0 x4 1 0 0

Soluia optim a primei probleme este deci x1 = 0 i x2 = 10 care d un maxim al funciei egal cu 30. Aplicnd Metoda coeficienilor de penalizare vom obine succesiv urmtoarele tabele:
cB 0 -M xB x3 x5
xB 10 2 -2M

cB 0 3 cB 0 2 cB 0 2 cB 0 3

xB x3 x2 xB x3 x1 xB x4 x1 xB x4 x2

xB 19/2 1/2 3/2 xB 4 2 4 xB 4/3 10/3 20/3 xB 38 10 30

2 x1 3 1 -M -M-2 2 x1 11/4 1/4 -5/4 2 x1 0 1 0 2 x1 0 10/3 0 2 x1 11 3 7

3 x2 1 4 -4M -4M-3 3 x2 0 1 0 3 x2 -11 4 5 3 x2 -11/3 1 -7/3 3 x2 0 1 0

0 x3 1 0 0 0 0 x3 1 0 0 0 x3 1 0 0 0 x3 1/3 1/3 2/3 0 x3 4 1 3

0 X4 0 -1 M M 0 x4 -1/4 -3/4 0 x4 3 -1 -2 0 x4 1 0 0 0 x4 1 0 0

-M x5 0 1 -M 0 -M x5 -1/4 1/4 M+3/4 -M x5 -3 1 2+M -M x5 -1 0 M -M x5 -1 0 M

38

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

2.3.4. Interpretarea a algoritmului simplex primal

Se consider problema de optimizare a activitii unei firme productoare. Aceasta realizeaz n produse , cu un profit unitar cj , j = 1, n . Firma utilizeaz mai multe resurse prime

Ri , i = 1, m , disponibile n cantitile limitate bi. Consumurile specifice de resurse pentru fiecare produs sunt aij , i = 1, m , j = 1, n . Obiectivul firmei este obinerea unui profit total maxim, cu restriciile ce provin din consumul integral al resurselor disponibile . Modelul de optimizare a activitii firmei este reprezentat de problema de programare liniar n forma standard :
(max) z = c T x Ax = b x0

(2.81)

n care xj , j = 1, n , este cantitatea din produsul j ce urmeaz a fi fabricat. Consumarea (utilizarea) integral a resurselor nu este strict, deoarece n lista operaiilor productive se poate include un numr de operaii fictive (corespunztoare variabilelor ecart) ale cror valori s reprezinte cantitatea din resurse neconsumat. n soluia de baz a algoritmului simplex numrul componentelor nenule nu depete numrul restriciilor. De aceea, n orice soluie optim a problemei, numrul produselor ce urmeaz a fi fabricate nu depete numrul resurselor folosite . Coloanele a(j) din baza B ce corespund operaiilor j le vom numi operaii de baz, celelalte fiind operaii secundare. Programul optim prevede obinerea, numai prin operaiile de baz, a produselor, astfel nct s fie consumate integral resursele disponibile. O posibilitate de a obine un program mai bun const n identificarea unor operaii secundare care s nlocuiasc o parte din operaiile de baz curente. Pentru acesta este necesar un criteriu de comparare a operaiilor secundare cu cele de baz . n ipoteza c baza B=[a(1), a(2), ..,a(m)], din relaia (2.59)

yBj=B-1a(j) , j = 1, n
deducem :

(2.82)

A(j)= ByBj , j = 1, n
care se poate scrie
B (1) B (2) B ( m) A( j ) = y1 + y2 + ... + y mj A jA jA

(2.83)

(2.84)

Relaia de mai sus are urmtoarea semnificaie din punct de vedere tehnico-economic, B B B fabricarea unei uniti de produs j este echivalent cu fabricarea cantitilor y1 , j , y 2 j ,..., y mj din produsele operaiilor de baz. Ca urmare, pentru fabricarea unei uniti din produsul j este B B B necesar a diminua producia operaiilor de baz cu cantitile y1 j , y 2 j ,..., y mj .

39

Programare liniar

Aportul produsului j la creterea profitului firmei poate fi comparat cu aportul valoric B B B al cantitilor y1 , j , y 2 j ,..., y mj . n consecin, dac:
B B B zB j c j = c1 y 1 j + c 2 y 2 j + ... + c m y mj c j 0

(2.85)

fabricarea produsului j nu este rentabil ntruct nu conduce la o majorarea valorii (profitului) produciei curente. Dac pentru toate operaiile secundare avem

zB j c j 0 , j = 1, n

(2.86)

atunci programul de fabricaie curent este optim. Acesta este, criteriul de optimalitate al algoritmului simplex. Dac z B j c j < 0 , atunci activitatea secundar j conduce la o majorare a profitului realizabil prin programul curent, egal cu ( z B j c j ). Dintre operaiile secundare j J rentabile n raport cu operaiile de baz se va alege acea operaie k care asigur cea mai mare vitez de cretere a valorii curente a produciei ( interpretarea criteriului de intrare n baz). O alt problem care se mai pune este stabilirea cantitii din produsul j care se poate realiza n condiiile date. Fabricarea unei cantiti din acest produs implic diminuarea produciei din produsele operaiilor de baz astfel:
B B B B B x1 = x1B y1 k , x 2 = x 2 y 2 k ,..., x m = x m y mk

(2.87)

Evident, desfurarea unei activiti la un nivel negativ este lipsit de sens economic. Astfel este necesar ca :
B xi = xiB yik 0 , i = 1, m

(2.88)

de unde obinem condiia:

0 = min

xiB

B i yik y B >0 ik

(2.89)

Presupunem c valoarea 0 se obine pentru indicele 1. Atunci:


xB B B xl = xlB 0 ylk = xlB l ylk =0 B ylk

(2.90)

Ca urmare, operaia l nu va mai fi folosit, iar n locul ei se va utiliza operaia k, care asigur creterea maxim a valorii curente a produciei i, implicit, maximizeaz profitului firmei. 40

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Aceasta este interpretarea a criteriului de ieire din baz al algoritmului simplex. Cazul optimului infinit, ca soluie a problemei de programare liniar, nu este semnificativ din punct de vedere economic.
2.4. Dualitatea n programarea liniar

2.4.1. Problema dual. Fundamente teoretice.

Problema dual Dualitatea n programarea liniar ocup un rol important att din punct de vedere teoretic ct i din punct de vedere practic. Pe teoremele de dualitatea se bazeaz muli algoritmi de rezolvare a problemelor de programare liniar. Fie problema de programare liniara dat sub forma general numit problema primal :
a11 x1 + a12 x 2 + a13 x3 b1 a x + a x + a x = b 21 1 22 2 31 3 2 a31 x1 + a32 x 2 + a33 x3 b3 x 0 ; x arbitrar ; x 0 2 3 1 min c x + c x + c 1 1 2 2 3 x3

problema primal

(2.91)

Numim problem dual a problemei de programare liniara urmtoarea problema de programare liniara:
max b u + b u + b u 1 1 2 2 3 3 a11 u1 + a 21 u 2 + a31 u 3 c1 a12 u1 + a 22u 2 + a32u 3 = c2 a13 u1 + a 23 u 2 + a33 u 3 c3 u1 0 ; u 2 arbitrar ; u 3 0

problema dual

(2.92)

Observm c duala problemei dualei este chiar problema primal. Datorit legturii strnse ce se stabilete ntre aceste probleme care sunt duale una celeilalte, vom spune ca problema (2.91) i problema (2.92) formeaz un cuplu de probleme duale. Problema dual se obine din problema primal folosind urmtoarele transformri : Termenii liberi din problema primal devin coeficieni ai funciei obiectiv din problema dual. Coeficienii funciei obiectiv din problema primal devin termeni liberi n problema dual. O problem de maximizare primal devine problem de minimizare dual. Matricea coeficienilor din problema dual este transpusa matricei coeficienilor din problema primal Variabilele duale corespunztoare unor restricii concordante din problema primal sunt nenegative, iar cele corespunztoare unor restricii primale neconcordante sunt nepozitive. Variabilele primale negative le corespund n problema dual restricii concordante, iar variabilelor primale pozitive le corespund n problema dual restricii neconcordante.

41

Programare liniar

- Variabilele duale corespunztoare restriciilor primale care sunt ecuaii, pot fi de semn oarecare. - Variabilelor primale oarecare le corespund restricii duale care sunt ecuaii. Exemplul 2.7 Determinai duala problemei de programare liniar: f = max(2x1 5x2 + 4x3)

x1 x2 + 4 x3 7 x 5x + 3x = 6 2 1 3 x1 + 2 x3 3 x3 + 2 x1 5x2 8 x1 0, x2 oarecare, x3 0
Conform regulilor de mai sus vom avea: duala este de minim deoarece primala este de maxim; variabilele dualei vor fi: corespunztoare restriciei: x1 x2 + 4x3 7 u1 corespunztoare restriciei: x2 5x1 + 3x3 = 6 u2 u3 corespunztoare restriciei: x1 + 2x3 3 corespunztoare restriciei: x3 + 2x1 - 5x2 8 u4 funcia obiectiv a dualei va fi produsul dintre termenii liberi ai restriciilor primalei cu variabilele corespunztoare din dual: g = 7u1 + 6u2 + 3u3 + 8u4 duala va avea 3 restricii, cte variabile are primala, ele obinndu-se astfel: Prima restricie (asociat variabilei x1) - termenul stng al restriciei se obine nmulind coeficienii variabilei x1 din cele 4 restricii ale primalei cu variabilele corespunztoare acestora din dual: u1 5u2 + u3 + 2u4 - termenul liber al restriciei va fi coeficientul lui x1 din funcia obiectiv a primalei, adic b1 = c1 = 2 - deoarece variabila corespunztoare acestei restricii, x1, este negativ, restricia va fi neconcordant i deoarece duala este problem de minim rezult c va fi cu . n concluzie, prima restricie va fi: u1 5u2 + u3 + 2u4 2 Analog se vor determina i celelalte dou restricii: -u1 + u2 - 5u4 = -5 4u1 + 3u2 + 2u3 - u4 4 restriciile de semn ale variabilelor dualei vor fi: u1 0, deoarece restricia corespunztoare este neconcordant; u2 oarecare, deoarece restricia corespunztoare este egalitate; u3 0, deoarece restricia corespunztoare este concordant; u4 0, deoarece restricia corespunztoare este neconcordant. n final, problema dual este: (min) 7u1 + 6u2 + 3u3 + 8u4 u1 5u 2 + u 3 + 2u 4 4 u1 + u 2 5u 4 = 5 4u + 3u + 2u u 4 2 3 4 1

u1 0, u2 oarecare, u3 0, u4 0 42

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Exemplul 2.8 S se scrie duala problemei de programare liniar dat n form canonic: max (3 x1 + 2 x 2 + 5 x3 + x 4 ) x x + 3 x + x 15 1 2 3 4 2 x1 x3 x 4 5 x + 2 x x 10 3 4 2 x1 ,..., x 4 0 Se construiete tabelul cu datele problemei iniiale:
max min u1 u2 u3 3 1 2 0 x1 2 -1 0 1 x2 5 3 -1 2 x3 1 1 -1 -1 x4 15 5 10

Aadar, problema dual este:


min (15u1 + 5u 2 + 10u 3 ) u + u 3 2 1 u1 + u 3 2 3u1 u 2 + 2u 3 5 u1 u 2 u 3 1 u1 , u 2 , x3 0

Fundamente teoretice Fr a restrnge din generalitate ne vom ocupa n continuare de cuplul de probleme duale (2.91) - (2.92), prima fiind considerat problema primal, iar cea de-a doua, problema dual. Se noteaz P = x R n Ax = b, x 0

D = u R A u c, u 0

(2.93) 2.94)

Mulimile soluiilor admisibile (sau programelor) ale problemei primale (2.91), respectiv, duale (2.92). Teorema 2.8. Dac x P i u D , atunci c T x b T u . Teorema 2.9. Fie x * P , u * D i c T x * b T u * . Atunci x* nu este soluie optim a problemei primale, iar u* este soluie optim a problemei duale Propoziia 2.1. Dac L este o matrice antisimetric (LT = -L), atunci sistemul de inegaliti liniare

43

Programare liniar

l t 0 t 0

(2.95)

are cel puin o soluie t astfel nct L t > 0 (2.96)

Teorema 2.10. (Teorema fundamental a dualitii) Fie cuplul de probleme duale (2.91) (2.92). Atunci una i numai una din urmtoarele situaii este posibil : a) Ambele probleme au soluii admisibile. n acest caz, ambele probleme au soluii optime i valori optime ale funciilor obiectiv sunt egale. b) Una din probleme are soluii admisibile, iar cealalt nu are (este incompatibil). n acest caz, problema compatibil are optim infinit. c) Nici una dintre probleme nu are soluii admisibile. Teorema 2.11. (Teorema ecarturilor complementare). Fie cuplul de probleme duale canonice (2.91) - (2.92). Atunci x P i u D sunt soluii optime pentru cele dou probleme dac i numai dac:
T u A x b = 0 T T u c A u = 0

( (

(2.97)

Exemplul 2.9 ntr-un atelier mecanic se produc dou de tipuri de piese P1, P2. Timpii unitari de prelucrarea celor dou piese pe cele dou maini unelte M1, M2, profitul unitar i disponibilul de timp al mainilor unelte sunt date n tabelul de mai jos:
P1 M1 M2 Profit unitar 4 1 3um P2 3 2 7um Disponibil resurse 16sp 6sp

Modelul matematic pentru problema dat este:

f = max(3 x1 + 7 x 2 ) 4 x + 3 x 16 1 2 x1 + 2 x 2 6 x1 , x 2 0
Mulimea soluiilor admisibile ale problemei (primale) este reprezentat n fig. 2.6. Problema admite soluia optim x1 = 0 , x 2 = 3 , pentru fiecare funcia obiectiv are valoarea f max = 21 .
* *

44

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie


x2

d1

C(0,3)

B( 1 4/5,8/5) d2 0 A(4,0) x1

Fig.2.6 Problema dual este:

g = min(16 u 1 + 6 u 2 ) 4u + u 3 1 2 3u 1 + 2u 2 7 u 1 , u 2 0
Mulimea soluiilor admisibile ale problemei duale este reprezentat n fig.2.7.
u2 d2 d1

A(0,3/4)

B(0,7/2)

u1

Fig.2.7 Problema admite soluia optim u 1 = 0 , u 2 = 7 / 2 .Valoarea funciei obiectiv este g min = 21 , evident aceeai ca i n cazul problemei primale. Din cele artate se constat c prin rezolvarea uneia dintre cele dou probleme duale se poate determina i soluia celeilalte. Tabelul simplex final corespunztor uneia dintre probleme conine componentele soluiilor optime ale ambelor probleme. Aceste rezultate teoretice se utilizeaz n practica industrial n cazul cnd planul de producie conine o varietate mare de produse ce se fabric n aceleai condiii tehnico economice.
2.4.2. Algoritmul simplex dual
* *

Fie problema de programare liniar n forma standard


min c T x Ax = b x 0 n unde x, c R , b R m , A M mn , cu rang A = m < n.

(2.98)

45

Programare liniar

Duala acestei probleme este :


max b T u ' A u c u arbitrar

(2.99)

Definiia 2.9 O baz B format cu m coloane liniar independente a lui A se numete dual admisibil dac sunt satisfcute condiiile zB j c j 0, j = 1, n Propoziia 2.2. Dac B este o baz dual admisibil, atunci
T 1 uB = cT BB

(2.100)

(2.101)

este o soluie a problemei duale (2.98). Teorema 2.12. (Teorema de optimalitate). Fie B o baz dual admisibil pentru problema primal (2.98). Fie mulimea I _ = i I x i < 0 I_=, atunci soluia de baz asociat bazei B, x = B 1b , este o soluie optim a problemei (2.98). Teorema 2.13. (Teorema de incompatibilitate a problemei primale). Fie B o baz dual admisibil pentru problema primal (2.92), iar I_, Deci exist i I _ astfel nct B 0, j J , atunci problema (2.92) nu are soluii. y ij Teorema 2.14. (Teorema de mbuntire a soluiei) Fie B o baz dual admisibil pentru problema primal (4.29), iar I_. Dac pentru orice i I _ exist j J astfel nct B y ij < 0 , i dac se alege l I _ arbitrar, iar k J astfel nct s fie satisfcut condiia :
B B zj cj z k ck = min B B j y lk y lj B <0 ylj
B

(2.102)

atunci matricea B obinut din B prin nlocuirea coloanei A(l) cu coloana A(k) este o baz dual admisibil, iar programul dual asociat uB este cel puin la fel de bun ca programul uB Algoritmul simplex dual Pentru problema primal de minimizare sau maximizare este: Pasul 1. Se determin o baz dual admisibil iniial B.
B Pasul 2. Se calculeaz x , z , y B j , z j , c j , j = 1, n . B B

46

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Pasul 3. Se determin mulimea


I _ = i I xi < 0

Dac I_, atunci STOP : x urmtor.

este program optim al problemei; astfel se trece la pasul

Pasul 4. Se determin indicele k I _ cu criteriul de ieire din baz

min x i = x l
iI _

{}
B

B Dac y ij 0, j = 1, n , atunci STOP : problema nu are soluii; astfel se determin indicele

k J cu criteriul de intrare n baz:


B zj cj min B j y lj B <0 ylj B z k ck = B y lk

Pasul 5. Fie baza B obinut din B prin nlocuirea coloanei A(l) cu coloana A(k). Se trece la Pasul 2, nlocuind peste tot baza B cu baza B.

Algoritmul simplex dual poate fi exprimat sintetic sub forma schemei logice din fig.2.8
START

Construieste tabel simplex initial

Exista variabile de baza cu valori negative ? Da Determina linia pivotului

Nu

Indica solutia optima

STOP

Exista valori negative in linia pivotului? Da Determina coloana pivotului

Nu

Nu exista solutii

STOP

Calculeaza un nou tabel simplex

Fig.2.8

47

Programare liniar

Exemplul 2.10 S se rezolve problema de programare liniar:


max( 3 x1 2 x 2 ) x 2 x + 3x 4 1 2 3 2 + x x x 2 3 2 1 x1 , x 2 , x3 0

Se aduce problema la forma standard prin introducerea variabilelor de compensare x4, x5 i se nmulesc cu 1 cele dou restricii:
max( 3x1 2 x 2 ) x + 2 x 3 x + x = 4 1 2 3 4 2 x1 x 2 + x3 + x5 = 2 x1 ,..., x5 0

Baza iniial B este matricea unitate format cu coloanele A(4), A(5) . Tabelul simplex asociat are ca variabile de baz pe x4 i x5:
-3 -2 cB 0 0 V.B. V.V.B. x1 x2 x4 -1 2 -4 x5 -2 -2 -1 3 2 0 0 x3 -1 1 0 0 x4 1 0 0 0 x5 0 1 0

Baza iniial este dual admisibil deoarece z B j c j 0 . Se poate aplica deci algoritmul simplex dual. Soluia asociat bazei B admisibil ntruct: x1 = x 2 = x 3 = 0 , x 4 = 4 , x 5 = 2 . Mulimea I _ = {4,5} . Conform criteriului de ieire din baz avem:
min x i = min{ 4,2} = 4 = x 4 ; se obine l = 4 , deci din baz va iei vectorul A(4).
B B iI _

{}

Conform criteriului de intrare n baz avem:


B zj cj min B j B <0 y4 y4 j j

3 0 zB c , =0= 3 B 3 ; = min j y43 y4B j <0 1 1

se obine k = 3, deci n baz va intra vectorul corespunztor variabilei x3. Noul tabel simplex este:
-3 -2 cB 0 0 V.B. V.V.B. x1 x2 x4 1 -2 4 x5 -6 -3 1 3 2 0 0 x3 1 0 0 0 x4 -1 1 0 0 x5 0 1 0

48

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Soluia nu este optim ntruct x 5 = 6 . Din baz va iei vectorul corespunztor variabilei x3=5 i va intra vectorul corespunztor variabilei x1. Se obine tabelul simplex :
-3 -2 cB 0 0 0 0 x5

V.B. V.V.B. x1 x2 x3 x4 x4 0 -5/3 1 -2/3 1/3 2 x 1 -1/3 0 -1/3 -1/3 -3 5 2 1 0 1 0 0 3

2.4.3 Interpretarea economic a dualitii

Introducerea dualitii este motivat din mai multe puncte de vedere:


Teoretic. Una din problemele centrale ale programrii matematice este caracterizarea situaiilor n care exist optimul unei probleme i gsirea unor metode prin care s recunoatem optimalitatea unei soluii. Teorema fundamental a dualitii i teorema ecarturilor complementare reprezint rezultate chiar n acest sens, n care se folosete dualitatea. Practic. Putem rezolva o problem rezolvnd problema dual a acesteia sau cunoscnd soluia dualei. n unele cazuri, rezolvarea dualei este mult mai uoar dect rezolvarea primalei, de exemplu cnd numrul de restricii al primalei este mai mare dect numrul de variabile al acesteia sau cnd primala necesit mai multe variabile suplimentare dect duala. Economic. n cele mai multe probleme economice, a cror rezolvare se face printr-un model de programare liniar, soluia dualei aduce o serie de informaii suplimentare despre problema studiat. Semnificaia economic a soluiei dualei depinde de specificul problemei i trebuie gsit de la caz la caz. Avnd n vedere c max[f(x)] = min [g(u)], rezult c, dac, cantitatea disponibil din resursa Ri crete cu o unitate, atunci valoarea funciei obiectiv crete cu ui, deci ui msoar creterea valorii funciei obiectiv determinat de creterea cu o unitate a cantitii disponibile bi. Aceste evaluri obinute dintr-un program optim au fost denumite n literatura de specialitate "preuri umbr"(shadow price). Preul umbr ui arat cu ct se modific funcia obiectiv a problemei duale, atunci cnd termenul liber al restriciei Ri se "relaxeaz" cu o unitate. A "relaxa" are semnificaia de a spori cantitatea disponibil bi a unei resurse deficitare sau, pentru restriciile de tip calitativ cu

limit inferioar impus ( a ij x j bi), de a reduce nivelul termenului liber bi.


j=1

Este evident c, dac o resurs nu este utilizat n ntregime pentru satisfacerea programului optimal xB ( a ij x j < bi), atunci ui = 0 iar funcia obiectiv nu este afectat de
j=1 n

sporire a cantitii disponibile bi. Preurile umbr (preuri duale) aduc informaii suplimentare pentru analiza eficienei economice a resurselor i a diferiilor indicatori economici sau tehnici care apar n restriciile unei probleme de programare liniar. Pe baza lor se pot fundamenta deciziile privind alocarea judicioas a resurselor, se pot stabili msuri de stimulare a consumului raional al resurselor, se determin ct mai corect nivelul minim i maxim al diferiilor indicatori tehnici i economici de care depinde structura planului optim. 49

Programare liniar

Soluia optim obinut prin utilizarea datelor iniiale poate constitui un punct de plecare pentru analiza economic privind alocarea eficient a resurselor. Pentru problemele n care se cere maximizarea funciei f(x), indicatorii zj reprezint costul unitar de fabricaie al produsului j, rezultat din evaluarea coeficienilor aij prin preurile umbr ataate restricii1or. Rezult c, prin calcularea diferenei zj-cj, se compar acest cost unitar cu coeficientul cj (pre unitar, beneficiu unitar etc.) din funcia obiectiv. Dac exist diferene negative (zj-cj < 0) nseamn c, la activitile respective, preul umbr al produsului j (costul unitar de fabricaie exprimat n indicatori ui) este mai mic dect venitul realizat i de aceea activitatea aj este eficient. Aa se explic faptul c va intra n baz vectorul a(k) ce corespunde diferenei (zj-cj) minime. n momentul n care toate diferenele sunt pozitive (zj-cj 0) rezult c nu mai exist activiti eficiente i prin urmare soluia de baz analizat este optim. n cazul problemelor de minim, indicatorii zj se pot interpreta ca venituri, exprimate n preurile umbr ale restriciilor, ce se obin prin realizarea unei uniti din produsul j. Prin urmare, dac exist diferene pozitive (zj-cj > 0), activitile aj corespunztoare sunt eficiente, deoarece se realizeaz un venit unitar mai mare dect costul unitar de fabricaie (zj > cj). De aceea, va intra n baz activitatea ak, corespunztoare diferenei maxime, iar soluia de baz se consider optim atunci cnd toate diferenele (zj-cj) sunt nepozitive .
Exemplul 2.11 O firm fabric trei tipuri de produse P1, P2, P3, utiliznd patru tipuri de resurse R1, R2, R3, R4. Procesul tehnologic de realizare a celor trei produse, timpul disponibil al fiecrei resurse, cererea minim i maxim din fiecare produs conform studiului de marketing, precum i profitul unitar sunt date n tabelul 2.5.

Tabelul 2.5
Produs Cerere Timp de prelucrare pe unitatea de produs
SN 400

min

max

R1

FU32

R2

RU320

R3

Banc de control

R4

Profitul unitar um/buc

P1 20 200 P2 0 100 P3 70 180 Timp disponibil pe resurs

0.10 0.12 0.15 36

0.06 0.05 0.09 30

0.18 0 0.07 37

0.13 0.10 0.08 38

10 12 15 -

S se determine programul de producie astfel nct s se asigure satisfacerea cererii cu un profit total maxim. Not m cu x1, x2 x3 variabilele de decizie ce reprezint cantitile din produsele P1, P2 respectiv P3 ce trebuie fabricate astfel nct s se ating obiectivul propus. Modelul matematic liniar al problemei cuprinde restriciile problemei, ce provin din limitarea disponibilitii resurselor i a cererii produselor pe pia, funcia obiectiv ce maximizeaz profitul total i condiiile de nenegativitate care sunt evidente din punct de vedere economic. Modelul matematic al problemei este urmtorul:

50

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

f = max(10 x1 + 12 x 2 + 15 x3 ) 0.1x + 0.12 x + 0.15 x 36 1 2 3 0.06 x1 + 0.05 x 2 + 0.09 x3 30 0.18 x1 + 0.07 x 2 37 0.13 x1 + 0.1x 2 + 0.08 x3 38 20 x1 200 0 x 2 100 70 x3 180 x1 , x 2 , x 3 0 Programul de producie este dat de variabilele de decizie i este urmtorul: x1 = 135 x 2 = 100 x3 = 70 F .O. = 3.600u.m Din produsul P1 se produc 135 uniti, din produsul P2 se produc 100 uniti, din produsul P3 se produc 70 uniti. n aceste condiii valoarea funciei obiectiv este de 3.600 uniti monetare. Variabilele de compensare (ecart) arat utilizarea resurselor astfel: Y1 = 100 - pre umbr x4 = 0, 0.1 135 + 0.12 100 + 0.15 70 = 36 = 36 Prima restricie este satisfcut cu semnul = ceea ce nseamn c resursa R1 este utilizat n totalitate, deci R2 este o resurs rar resurs a crei lips / indisponibil ar limita sau modifica. n acelai timp dac n prima restricie mrim timpul disponibil cu o unitate (din 36u.t. la 37u.t.), valoarea F.O. se modific n sens pozitiv tocmai cu valoarea preului umbr, deci profitul va fi de 3.700 u.m. Y2 = 0 - pre umbr x5 = 10.6 0.06 135 + 0.05 100 + 0.09 70 = 19.4 < 30 cu 10.6 u.t. A doua restricie este satisfcut cu semnul <, deci din resursa R2 rmne un timp disponibil de 10.6 u.t. care nu este utilizat n procesul de producie, astfel resursa R2 nu este o resurs rar ns lipsa ei poate limita producia, preul ei umbr fiind nul. Y3 = 0 - pre umbr x6 = 5.7 0.18 135 + 0.07 100 = 31.3 < 37 cu 5.7 u.t. A treia restricie este satisfcut cu semnul <, deci din resursa R3 rmne un timp disponibil de 5.7 u.t. care nu este utilizat n procesul de producie, astfel resursa R3 nu este o resurs rar ns lipsa ei poate limita producia, preul ei umbr fiind nul. Y4 = 0 - pre umbr x7 = 4.85 0.13 135 + 0.1 100 + 0.08 70 = 33.15 < 38 cu 4.85 u.t. A patra restricie este satisfcut cu semnul <, deci din resursa R4 rmne un timp disponibil de 4.85 u.t. care nu este utilizat n procesul de producie, astfel resursa R4 nu este o resurs rar ns lipsa ei poate limita producia, preul ei umbr fiind nul. Y5 = 0 - pre umbr x8 = 65 1 135 = 135 < 200 cu 65 uniti de produs P1.

51

Programare liniar

Restricia cinci este satisfcut cu semnul <, deci din produsul P1 rmn nevndute o cantitate de 65 uniti de produs (u.p), astfel P1 nu este o resurs rar deci are preul umbr nul. Y6 = 0 - pre umbr x9 = 115 1 135 = 135 > 20 cu 115 uniti de produs P1. Restricia ase este satisfcut cu semnul >, deci produsul P1 are o cerere maxim de 115 u.p., astfel P1 nu este o resurs rar deci are preul umbr nul. x10 = 0 Y7 = 0 - pre umbr 1 100 = 100 = 100 Restricia apte este satisfcut cu semnul = ceea ce arat c produsul P2 este vndut n totalitate deci este o resursa rar, deci preul umbr ar trebui s fie nenul. El totui este nul, lucru uor de explicat din teorema ecarturilor complementare: condiia necesar i suficient ca dou soluii admisibile X,Y s fie soluii optime respectiv la problema primal i dual este s fie simultan satisfcute relaiile: Y T ( P0 AX ) = 0 T (Y A C ) X = 0 Pentru ca un produs s fie zero este necesar ca un termen sa fie zero sau ambii egali cu zero. Prin creterea cu o unitate a restriciei n loc de 100 s avem 101 valoarea funciei obiectiv rmne aceeai F.O.=3.600u.m. Y8 = 0 - pre umbr x11 = 110 1 70 = 70 < 180 cu 110 uniti de produs P3 Restricia opt este satisfcut cu semnul <, deci din produsul P3 rmn nevndute o cantitate de 110 uniti de produs (u.p), astfel P3 nu este o resurs rar deci are preul umbr nul. Y9 = 0 - pre umbr x12 = 0 1 70 = 70 = 70 Restricia apte este satisfcut cu semnul = ceea ce arat c produsul P3 este vndut n totalitate i cererea maxim este corect deci este o resursa rar, deci preul umbr ar trebui s fie nenul. El totui este nul, lucru uor de explicat din teorema ecarturilor complementare. Prin creterea cu o unitate a restriciei n loc de 70 s avem 71 valoarea funciei obiectiv rmne aceeai F.O.=3.600u.m. n concluzie acelai plan de producie se putea face, cu acelai profit i dac restriciile problemei erau urmtoarele: f = max(10 x1 + 12 x 2 + 15 x3 ) 0.1x + 0.12 x + 0.15 x 36 1 2 3 0.06 x1 + 0.05 x 2 + 0.09 x3 19.4 0.18 x1 + 0.07 x 2 31.3 0.13 x1 + 0.1x 2 + 0.08 x3 33.15 115 x1 135 0 x 2 100 65 x3 70 x1 , x 2 , x 3 0

52

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

CAPITOLUL 3 PROGRAMAREA LINIAR DE TIP TRANSPORT


3.1. Formularea unei probleme de transport

Se consider c un produs este disponibil n m centre productoare (fabrici, depozite) notate cu Pi (i = 1,m ). Acest produs trebuie transportat la n centre consumatoare (de desfacere, destinatari), notai cu C j

j = 1, m ) .

Transportul se poate efectua de la orice Pi la orice C j

j = 1, m ) , iar costul unitar

de transport este ci j . Acest cost depinde de distantele respective, de mijloacele de transport folosite i altele, ceea ce se presupune cunoscut. Se cunosc de asemenea i cantitile disponibile, aflate n cele m centre productoare, notate cu a i cu (i = 1, m ) i cantitile necesare n cele n centre consumatoare, notate b j cu

( j = 1, n ) .

Se noteaz cu xi j , cantitatea transportat n condiiile de mai sus iar datele problemei de transport sunt sintetizate conform tabelului 3.1 ce este prezentat mai jos: Tabelul 3.1
Pi Cj P1 C1 c11 c21 ci1 C2 c12 c22 ci 2 Cj c1 j c2 j cij cmj bj Cn c1n c2 n cin cmn bn ai a1 a2 ai am

P2 Pi Pm bj

cm1 cm 2 b1 b2

Caracteristicile unei probleme de transport clasice sunt: - fiecare centru productor aprovizioneaz cel puin un centru consumator i fiecare centru consumator este aprovizionat de la cel puin un centru productor; - pot exista perechi productor - consumator ntre care nu se poate face transfer; - nu exist limitri n ceea ce privete cantitatea transportat pe fiecare rut; - fiecrei rute i s-a asociat un cost care nu depinde de sensul de parcurgere. Obiectivul problemei de transport este gsirea cantitilor care trebuie transportate pe fiecare rut astfel nct s se asigure necesarul fiecrui centru consumator, n limitele cantitilor aflate n centru productor, i aceasta cu costuri minime.
Teorema 3.1 : O problem de transport echilibrat admite ntotdeauna programe (soluii); orice program este mrginit dac valorile sale a i , b j sunt mrginite (finite ). Numim model matematic echilibrat, dac cantitatea disponibila total este egal cu cererea total. Modelul matematic de mai sus se poate nlocui cu un model echivalent n care toate restriciile sunt ecuaii.

In forma sa matematic modelul problemei de transport se poate scrie ca n relaia 3.1.

53

Programare liniar de tip transport

m n 1 ci j xi j min i =1 j =1 _____ n 1 xi j a i , i 1, m j =1 m _______ xi j b j , j 1, n 1 i =1 m, n 1 a i > b j , a i 0 , b j 0 j =1 i =1

(3.1)

Astfel n urma acestor transformri se va obine urmtorul model matematic echilibrat (3.2):
m n 1 min ci j xi j i =1 j =1 _____ n 1 xi j = a i , i 1, m j =1 m _______ xi j = b j , j 1, n 1 i =1 xi j 0

(3.2)

Orice problem poate fi transformat ntr-o problem de tipul (3.2). Acest caz este foarte rar n practic, ns el este cel mai simplu din punct de vedere matematic i astfel va fi ales pentru formalizarea problemei. O astfel de problem se numete problem de transport echilibrat. In practic pot exista urmtoarele cazuri: Dac ai < b j , se poate aduga un depozit fictiv Pm+1 care are un disponibil
i =1 j =1 m n

a m +1 , astfel nct costurile de transport de la depozitul Pm+1 la centrele C j sunt nule.

Daca ai > b j , se poate aduga un centru fictiv C n +1 ce necesita bn +1 uniti,


i =1 j =1

astfel nct costurile s fie nule. Numrul total de restricii este de m+n i sunt o combinaie liniar de celelalte, deci numrul celor independente este de m+n-1. Orice problema de transport admite soluii admisibile, adic sistemul de ecuaii este compatibil. O astfel de problema are soluia urmtoare :
xi j = ai b j

a
i =1

(3.3)
i

Aplicarea algoritmului simplex este dificil n acest caz datorit numrului foarte mare de necunoscute i a determinrii soluie admisibile de baz. ntr-o problem de transport nu poate aprea dect varianta de optim finit, existnd ntotdeauna soluii admisibile, iar minimul nu este posibil, innd cont c avem de minimizat o funcie liniar cu toi coeficienii pozitivi pe o mulime de soluii cu toate componentele pozitive. 54

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Algoritmul specific problemelor de transport au urmtoarele etape: 1. Se determin o soluie admisibila de baza de pornire X, prin folosirea uneia din urmtoarele metode : coltului N-V, metoda costului minimal, metoda costului minim pe linie, metoda costului minim pe coloan. 2. Determinarea soluiei optime pornind de la soluia X.
3.2. Exemple de probleme de tip transport

Probleme de transport cu capaciti limitate

Se consider o problem de tip transport n care exist limitri ale capacitilor de transport pe anumite rute. Se noteaz cu ij > 0 capacitatea maxim ce poate fi transportat pe ruta de la centru productor i la centrul consumator j. Modelul matematic al acestei probleme, cu pstrarea semnificaiilor notaiilor cunoscute, este urmtoarea:
m n min( cij xij ) i =1 j =1 n x = a , i = 1, m ij i j =1 m xij = b j , j = 1, n i =1 0 xij ij , i = 1, m, j = 1, n

(3.4)

Condiiile necesare i suficiente de existena a soluiilor pentru problema (3.4) sunt:


n m ai = b j j =1 i =1 n ij ai , i = 1, m j =1 n ij b j , j = 1, n j =1

(3.5)

Acestei probleme i se poate asocia un tabel de forma celui de la problema de transport, n care se specific i capacitile maxime de transport ij , i = 1, m, j = 1, n . Tabelul 3.2
Pi / Cj P1 ... Pi ... Pm bj Cl c1l 1l x1l ... cil il xil ... cml ml xml bl ... Cj ... Cn c1n 1n x1n ... cin in xin ... cmn mn xmn bn ai al ... ai ... am ... c1j ... 1j x1j ... ... ... ... cij ij xij ... ... ... ... cmj ... mj xmj ... ... bj

55

Programare liniar de tip transport

Probleme de transport cu centre intermediare

n practica industrial exist cazuri n care transportul direct de la un centru productor la un centru consumator nu este economic. Ca urmare, el poate trece prin mai multe centre intermediare, de tranzit, o astfel de problem numindu-se problem de transport cu centre intermediare sau problem de transfer. Se consider p centre intermediare i se noteaz cu k , k = 1, p , capacitile acestora. Modelul matematic al acestei probleme are forma:
p n m p ' ' '' '' + min( c x c kj x kj ) ik ik i =1 k =1 k =1 j =1 p ' = ai , i = 1, m xik k =1 m x ' = , k = 1, p k ik i =1 n '' x kj = k , k = 1, p j =1 n '' x kj = b j , j = 1, n k =1 ' '' xik , x kj 0, i = 1, m, k = 1, p, j = 1, n

(3.6)

unde: ' xik - reprezint cantitatea ce urmeaz a fi transportat de la centrul productor i la centrul intermediar k ; ' cik - costul unitar de transport dintre centrele i i k ;
'' x kj - cantitatea ce urmeaz a fi transportat de la centrul k la centrul consumator j ; '' c kj - costul unitar de transport dintre centrele k i j. Condiia necesar i suficient de existen a soluiilor pentru problema (3.6) este:
m p n

a =
i i =1 k =1

= bj
j =1

(3.7)

Avnd n vedere faptul c fiecare intermediar este att centru destinaie ct i centru surs, se pot considera urmtoarele dou probleme de transport:
m p ' ' cik xik ) min(i =1 k =1 p x ' = a , i = 1, m ik i k =1 m ' xik = k , k = 1, p i =1 ' xik 0, i = 1, m, k = 1, p

(3.8)

56

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

i
p n '' '' min( c kj x kj ) k =1 j =1 n x '' = , k = 1, p kj k j =1 p '' x kj = b j , j = 1, n k =1 '' x kj 0, k = 1, p, j = 1, n

(3.9)

Se poate arta c x ik i x kj reprezint o soluie optim a problemei de transport cu centre intermediare (3.6) dac i numai dac x ik
'

( ) ( )
' ''

transport (3.8), iar x kj este o soluie a problemei de transport (3.9). n consecin, rezolvarea problemei (3.6) este echivalent cu rezolvarea celor dou probleme (3.8) i (3.9).

( )
''

( ) este o soluie optim a problemei de

Probleme de repartiie
ntr-un atelier mecanic exist m utilaje, care au disponibilul de timp a i , i = 1, m . Pe acestea se vor prelucra n tipuri de piese, n cantitile b j , i = 1, n . Se cunosc randamentul orar, rij , i cheltuielile de producie, cij , la utilajul i ale piesei j. Se pune problema de a determina o repartiie a sarcinilor, respectiv a timpului n care utilajul i prelucreaz piesele de tip j astfel nct cheltuielile totale de producie sa fie minime. Se noteaz cu xij numrul de ore n care utilajul i prelucreaz piesele de tip j. Modelul matematic al problemei este de forma (3.10):
m n min( cij xij ) i =1 j =1 n x a , i = 1, m i ij j =1 m rij xij = b j , j = 1, n i =1 xij 0, i = 1, m, j = 1, n

(3.10)

3.3.

Determinarea unei soluii de baza iniiale a problemei de transport.

Soluia admisibile de baza iniiale, care are cel mult (m+n-1) componente nenule, este o soluie nedegenerat. Dac numrul soluiilor este mai mic dect (m+n-1) soluia este degenerat.

Metoda colului Nord-Vest (NV)


Aceast metod se mai numete Metoda diagonalei principale sau Metoda lui Dantzing. Metod nu ine cont de costurile de transport cij i numai de cantitile disponibile n centrele productoare i cererea centrelor consumatoare. 57

Programare liniar de tip transport

Etapele metodei:
Se alege x11 = min (a1b1 ) ( (1,1) fiind colul stnga sus NV). Sunt posibile urmtoarele cazuri: 1) min(a1 , b1 ) = a1 x11 = a1 , iar x1 j = 0, j = 1, n . Necesarul centrului C1 devine b1 a1 .

2) min(a1 , b1 ) = b1 x11 = b1 , iar xi1 = 0, i = 1, m . Disponibilul centrului P1 devine a1 b1 . 3) a1 = b1 x11 = a1 = b1 , iar x1 j = 0, j = 1, n i xi1 = 0, i = 1, m . Se elimin de sus n jos sau de la stnga la dreapta prima linie respectiv prima coloan din tabel. Urmtoarele componente strict pozitive ale soluiei de baz iniiale se determin n mod analog, considernd colul NV rmas dup eliminarea anterioar.

Exemplul 3.1 : Pentru problema de transport ale crei date sunt centralizate n tabelul 3.3 s se determine soluia de baz iniial utiliznd metoda lui Dantzing.
Tabelul 3.3 Q3 Q4 5 3 11 5 9 11 1 2 8 9 7 30

Q1 P1 P2 P3 7 2 6 5

Q2 8 4 3 9

Notm cu xij cantitile ce urmeaz a fi transportate n condiiile indicate n tabelul iniial. Pasul 1 Problema dat poate fi scris ca n tabelul 3.4. ' min(a1 , b1 ) = b1 x11 = min(11,5) = 5 , iar xi1 = 0, i = 1, m i a1 = a1 b1 = 11 5 = 6 (tab.3.5)
x11 x 21 x 31 5 x12 x 22 x32 x13 x 23 x33 x14 x 24 x 34 7 11 11 8 5 0 0 0 x12 x 22 x 32 9 x13 x 23 x33 x14 x 24 x 34 6 11 8

9 9 tabelul 3.4

9 7 tabelul 3.5 x1 j = 0, i = 1, m

Pasul 2 Calculm:

min(a1 , b2 ) = a1

x12 = min(6 ,9 ) = 6 , iar x 22 = min(11,3) = 3 , iar

' b2 = b2 a1 = 9 6 = 3 (tab.3.6)

Pasul 3 Calculm: min(a 2 , b2 ) = b2


' a2

xi 2 = 0, i = 1, m i

= a 2 b2 = 11 3 = 8 (tab.3.7)

5 0 0 0

6 x 22 x 32 3

0 x 23 x33 9

0 x 24 x 34 7

0 11 8

5 6 0 3 0 0 0 0

0 x 23 x33 9

0 x 24 x34 7

0 8 8

58

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

tabelul 3.6 Pasul 4 Calculm: min(a 2 , b3 ) = a 2


'' b2 = b3 a 2 = 9 8 = 1 (tab.3.8)

x 23

tabelul 3.7 = min(8,9) = 8 , iar

x 2 j = 0, i = 1, m

i i

Pasul 3 Calculm:
' a3

min(a3 , b3 ) = b3

x33 = min(8,1) = 1 , iar

xi 3 = 0, i = 1, m

= a3 b3 = 8 1 = 7 (tab.3.9)
5 6 0 3 0 0 0 8 x33 0 0 x34 0 0 8 5 6 0 0 0 0 3 8 0 0 0 0 1 7 0 0 0 0 0 tabelul 3.9

0 0 1 7 tabelul 3.8

Soluia admisibila de baza X este data de tabelul 3.9 . Dac notm cu V(X) valoarea funciei de optimizat a problemei date, pentru soluia admisibil X, avem: V(X) = 7*6 + 8*6 + 3*4 + 8*5 + 1*1 + 7*2 =150

Metoda costului minimal


Metod ine cont att de costurile de transport cij ct i de cantitile disponibile n centrele productoare i cererea centrelor consumatoare.

Se alege clk = min cij . Se determin x lk = min(al , bk ) Sunt posibile urmtoarele cazuri:

( )

1) min(al , bk ) = al x lk = al , iar xlj = 0, j = 1, n . Necesarul centrului Cj devine bk al . 2) min(al , bk ) = bk x lk = bk , iar xik = 0, i = 1, m . Disponibilul centrului Pi devine al bk . 3) al = bk x lk = al = bk , iar xlj = 0, j = 1, n i xik = 0, i = 1, m . Se elimin de sus n jos sau de la stnga la dreapta linia respectiv coloan din tabel. Se determin n mod analog, considernd variabila de cost minim din subtabelul rmas dup eliminarea anterioar. Dac sunt mai multe costuri minime egale, atunci se ia n considerare mai nti variabile care ia valoare maxim.
3.4. Metoda de determinare a soluiei optime pentru probleme de transport. Metoda potenialelor.

Generaliti Rezolvarea problemei de transport prin metoda simplex este, n general, puin eficient. Cteva dintre motive sunt urmtoarele: - numrul mare de variabile, egal cu m, n - absena unei baze iniiale. Varianta de rezolvare prin considerarea unor variabile auxiliare pentru fiecare linie i coloan i aplicarea metodei celor dou faze este laborioas; - apariia frecvent a cazurilor de degenerare datorit numrului mare de elemente ale matricei coeficienilor A egale cu 0 i 1 . Metoda potenialelor reprezint o metod special de testare i mbuntire a soluiei unei probleme de transport.
59

Programare liniar de tip transport

Procesul de mbuntire a unei soluii const n a trece de la o soluie la o alta mai bun. Pentru aceasta se recurge la problema dual a problemei de transport i anume :
n m max ai u i + b j v j j =1 i =1 u i + v j cij , i = 1, m, j = 1, n ui arbitrar , i = 1, m v j arbitrar , j = 1, n

(3.11)

Conform teoremei ecarturilor complementare aplicat cuplului de probleme duale, rezult c soluia de baz x ij a problemei primale i soluia (u i , v j ) a problemei duale sunt optime dac i numai dac satisfac condiiile:
(cij u i v j ) x ij = 0, i = 1, m, j = 1, n )

(3.12)

Pentru ca relaia de mai sus s fie satisfcut este suficient ca (u i , v j ) s fie soluii ale sistemului

ui + v j = cij , (i, j ) J
n care s-a notat mulimea de indici J = {(i, j ) xij este variabila de baz }.

(3.13)

Propoziia 3.1 Sistemul de ecuaii are o infinitate de soluii. Dac (ui0 , v 0 j ) este o soluie particular i k o constant oarecare, atunci orice soluie a sistemului este de forma:
0 u i = ui + k , i = 1, m (3.14) 0 v = v k , j = 1 , n j j Pentru rezolvarea sistemului se poate fixa arbitrar una dintre necunoscute, fr a influena optimalitatea soluie problemei de transport; de obicei se alege ui = 0 . Observaie. Rezolvarea sistemului se poate efectua direct pe tabelul de rezolvare al problemei. Valorile variabilelor ui i v j se nscriu la marginile tabelului ; din acest motiv ele se mai numesc i valori marginale . Algoritmul metodei potenialelor

Pasul 1. Se determin o soluie de baz iniial ( x ij ) . Pasul 2. Se calculeaz valorile variabilelor duale ui i v j ca soluii ale sistemului de ecuaii
u i + v j = cij , (i, j ) J

Pasul 3. Se calculeaz valorile ij = ui + v j cij , (i, j ) J


Dac ij 0, (i, j ) J , atunci STOP: soluia ( x ij ) este optim; n caz contrar se trece la pasul 4 60

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Pasul 4. Se calculeaz cu criteriu de intrare n baz ij = max{ ij (i, j ) J } Variabila xlk ce va intra n baz . Se construiete pentru csua (l, k) un ciclu care pornete din csua (l, k), care trece numai prin csue (i, j) ocupate cu valori x ij > 0 , cu treceri alternative pe linii i coloane, i care revine la csua (l, k). Se adopt un sens oarecare de parcurgere al acestui ciclu i se numeroteaz csuele sale ncepnd cu csua (l, k). Pasul 5. Se calculeaz criteriul de ieire din baz = x st = min{x ij (i, j ) este csu de rang
par n ciclu }i se determin variabila x st va iei din baz.

Pasul 6. Se determin o nou soluie de baz admisibil (~ xij ) cu ajutorul formulelor de schimbare a bazei x ij , (i, j ) are rang par in ciclu ~ xij = x ij + , (i, j ) are rang impar in ciclu x ij , (i, j ) nu apartine ciclului
Se revine la pasul 2 cu noua soluie de baz obinut.

Observaii : 1) Soluia iniial de baz obinut la pasul 1 al algoritmului depinde de metoda folosit pentru determinarea ei. Aceasta nu influeneaz, soluia optim a problemei, ci eventual numrul de iteraii pentru obinerea soluiei optime.
2) Alegerea sensului de parcurgere al ciclului n cadrul pasului 4 al algoritmului este arbitrar. 3) Tabelele ce se vor construi la aplicarea algoritmului vor fi formate din csue (i, j) ce pot avea una din configuraiile
cij +(-) xij

cij

ij
xij=0

Prima indic o csu corespunztoare unei valori de baz ( xij > 0 ), iar cea de-a doua o csu corespunztoare unei valori nebazice ( xij = 0 ) , pentru care se calculeaz valoarea

ij .
Simbolurile + sau apar dac csua face parte din ciclul construit la pasul 4 al algoritmului. Simbolul + indic o csu de rang impar , iar simbolul indic o csu de rang par.

Exemplul 3.2 Fie date trei fabrici productoare (P1, P2, P3) ale aceluiai produs, care trebuie s aprovizioneze cu acest produs patru consumatori (C1, C2, C3, C4). n tabelul 3.10 sunt date cantitile disponibile n centrele productoare (ai), cantitile necesare n centrele consumatoare (bj) i costurile pe unitatea de transport. S se determine planul optim de transport n condiiile costurilor minime.
61

Programare liniar de tip transport

Tabelul 3.10
Pi / Cj P1 P2 P3 bj C1 8 4 3 15 C2 7 6 4 12 C3 3 7 2 14 C4 6 3 5 14 ai 19 20 16 55 3

Problema de transport este echilibrat deoarece

ai =
i =1

b j = 55 ,
j =1

iar pentru

rezolvarea ei se va aplica metoda potenialelor si pentru determinarea soluiei de baz se va aplica metoda costului minim din tabel.

Iteraia 1. Pasul 1. Prin metoda costului minimal se determin soluia de baz iniial iar calculele sunt prezentate n tabelul 3.11: Tabelul 3.11
7 6 2 15 13 7 0 12 0 0 12 0 0 14 14 0 0 14 0 14 0
19 20 16 12 6 2 0 0

Se obine urmtoarea soluie de baz iniial : x11 = 7, x12 = 12, x 21 = 6, x 24 = 14, x 31 = 2, x 33 = 14. Valoarea funciei obiectiv corespunztoare acestei soluii iniiale este : z = 8 7 + 7 12 + 4 6 + 3 14 + 2 14 = 240 . Soluia de baz iniial este nscris n tabelul 3.12 alturi de costurile unitare de transport date iniial: Tabelul 3.12
8 7 4 6 3 2 4 0 6 0 2 14 7 12 7 0 5 0 3 0 3 14 6 0

Pasul2. Se rezolv sistemul: ui + v j = cij , (i, j ) J , unde J = {(1,1), (1,2), (2,1), (2,4), (3,1), (3,3)}, pornind de la u1 = 0
Tabelul 3.13
u1=0 u2=-4 u3=-5 v1=8 8 7 4 6 3 2 4 6 v2=7 7 v3=7 v4=7 3 4 6 1 12 0 0 -3 7 -4 3 0 0 14 -2 2 5 -3 0 14 0

Pasul 3. Valorile ij = ui + v j cij , (i, j ) J sunt scrise n tabelul 3.13.


Deoarece ij 0, (i, j ) J rezult c soluia nu este optim.

62

Cercetri Operaionale- Fundamentarea deciziilor n managementul sistemelor de producie

Pasul 4. Se calculeaz lk = max ij / ()(i, j ) J = 13 = 4 variabila x13 va intra n baz


Se construiete ciclul : (1,3), (1,1), (3,1), (3,3), (1,3) care este indicat n tabelul 3.13. Pasul 5. Se determin = x st = min xij / (i, j )este casuta de ordin par = min{7,14} = x11 = 7 variabila x11 va

iei din baz. Pasul 6. Se modific valorile csuelor din ciclul de mai sus: x13 = 0 + 7 = 7, x11 = 7 7 = 0, x 31 = 2 + 7 = 9, x 33 = 14 7 = 7 . Noua soluie de baz admisibil este nscris in tabelul 3.14
Tabelul 3.14
u1=0 u2=0 u3=-1 v1=4 v2=7 v3=3 v4=3 8 -4 7 3 6 -3 7 12 7 0 4 6 1 7 -4 3 6 0 0 14 3 4 2 2 5 -3 9 0 7 0

Valoarea funciei obiectiv devine : z = 7 12 + 3 7 + 4 6 + 3 14 + 3 9 + 2 7 = 212 Iteraia a 2 Pasul 2. Se rezolv ui + v j = cij , (i, j ) J , unde J = {(1,2), (1,3), (2,1), (2,4), (3,1), (3,3)}, iar soluia este indicat n tabelul 3.14. Pasul 3. Se calculeaz valorile ij = ui + v j cij , (i, j ) J Deoarece ij 0, (i, j ) J , soluia nu este optim (tab.3.14).

Pasul 4. lk = 23 = 2 variabila x32 va intra n baz . Se construiete ciclul (3,2), (3,3), (1,3), (1,2), (3,2) (tab.3.14) Pasul 5 . = min{7,12} = x 33 = 7 x33 va iei din baz . Pasul 6. Se modific valorile csuelor din ciclul de mai sus : x 32 = 0 + 7 = 7, x 33 = 7 7 = 0, x13 = 7 + 7 = 14, x12 = 12 7 = 5 (tab.3.15) Valoarea funciei obiectiv devine : z = 7 5 + 3 14 + 4 6 + 3 14 + 3 9 + 4 7 = 198 Iteraia 3 . Rezultatele sunt consemnate n tabelul 3.15, deoarece ij < 0, (i, j ) J rezult c
soluia este optim . Tabelul 3.15
u1=0 u2=-2 u3=-3 v 1=6 v2=7 8 -2 7 0 5 4 6 -1 6 0 3 4 9 7 v3=3 3 14 7 -6 0 2 -2 0 v4=5 6 -1 0 3 5 14 -3 0

S-a obinut soluia optim a problemei de transport :

x 12 = 5, x 13 = 14, x 24 = 14, x 31 = 9, x 32 = 7. Creia i corespunde costul total al transportului minim z*=198


63

Elemente de teoria grafurilor

CAPITOLUL 4 ELEMENTE DE TEORIA GRAFURILOR


4.1. Fundamente n teoria grafurilor

Teoria grafurilor s-a constituit ca un capitol de sine stttor n cadrul cercetrilor operaionale, datorit multiplelor avantaje pe care le ofer activitii de planificare i analiza tehnico - economic. Cu ajutorul grafurilor se surprind i se analizeaz n detaliu legturile dintre componentele sistemului tehnico - economic, iar elaborarea modelului este mult mai uoar. 4.1.1. Noiunea de graf Prin definiie un graf este o pereche (X, U ) unde mulimea X este numit mulimea nodurilor (sau vrfurilor) iar mulimea U este mulimea muchiilor.

Notaii utilizate : X = mulime finit i diferit de mulimea vid de orice natur. X = x1, x2, ..xn - unde xi = elemente numite vrfuri sau noduri X poate fi infinit, dar numrabil.
U = submulime nevid a produsului cartezian X x X U= ( xi,xj ) / ( xi,xj) ( xj , xi ) - unde ( xi , xj) = pereche ordonat de vrfuri numit arc. Arcul u este orientat de la nodul xi, numit extremitatea iniial, la nodul xj, numit extremitatea final. A ( xj , xj ) se numete bucl. G =( X ,U) = graf orientat (digraf)
U = mulime de de arce neorientate care reprezint perechi ordonate de vrfuri din X U = ( xi,xj ) / ( xi,xj)=( xj , xi ) - ( xi,xj) este un arc neorientat numit muchie G =( X , U ) = graf neorientat In practic un graf neorientat se poate nlocui cu un graf orientat astfel: fiecarei muchii ( xi,xj) U i corespund dou arce de semne contrare (x1 , x2) i (x2 , x1). In cazul n care se asociaz arcelor grafului o valoare sau o funcie valoare v : U R sau v : U R unde v( xi,xj) R funcia valoare ataat arcelor. G ( X, U, v ) = se numete graf valuat ( evaluat, ponderat )

4.1.2. Orientare i neorientare n graf Cazul grafurilor orientate Prin urmtorul exemplu vom pune n eviden un graf orientat: n practica industrial pentru realizarea unei lucrri de investiii sunt necesare o serie de activiti distincte: alegerea amplasamentului, ntocmirea proiectului, avizarea acestuia, aprobarea lui, contractarea utilajelor tehnologice, organizarea antierului .a. Aceste activiti sunt condiionate ntre ele i execuia fiecrei activiti nu poate fi nceput nainte de terminarea altor activiti. Exist i activiti care se execut n paralel. Pentru realizarea modelului de graf corespunztor proiectului de investiii se stabilesc condiionrile ntre activiti. Nodul reprezint momentul n care se termin o activitate i ncepe o alta. 64

S-ar putea să vă placă și