Transcript
  • 7/24/2019 Cercetare Operationala(UPIT)

    1/84

    7

    1

    PROGRAMAREA LINIARA

    1.1 Probleme concrete ce conduc la programare liniara

    ntre metodele matematice larg utilizate n optimizarea deciziilor nprobleme economice, un rol important l are programarea matematica cu toateramurile ei: programarea liniara, neliniara, parametrica, dinamica, stochastica etc.

    Dintre toate acestea, programarea l ini araeste metoda cea mai raspndita,pe de o parte datorita caracterului relativ simplu al aparatului matematic utilizat nmodelare si rezolvare, iar pe de alta parte pentru ca este usor accesibila din punctde vedere al reprezentarii matematice si analizei fenomenelor economice.

    n esenta, programarea liniara trateaza o problema manageriala economicade baza: alocarea de resurse limitate unor activitati ce au ca rezultat realizarea unui

    produs sau serviciu, pentru un obiectiv sau un scop dat. n functie de obiectivulurmarit, se definesc o serie de restrictii care reprezinta relatii de interdependentantre activitatile ce compun sistemul economic analizat si resursele necesare(conditii de natura tehnologica, organizatorica sau economica). Resurselesistemului industrial pot fi de tipul: utilaje sau masini unelte, materie prima, fortade munca, energie, fonduri banesti etc.

    Structura modelului general de programare liniara cuprinde multimeaactivitatilor{A1, A2,,An} care compun sistemul economic analizat, multimea deresurse necesare {R1, R2,,Rm} precum si relatiile de interdependenta dintreacestea. Legatura dintre activitati si resurse poate fi caracterizata numeric cuajutorul unor coeficienti tehnicisau coeficienti de consum specific {aij, i = 1,,m;j = 1,,n} care arata ce cantitate din resursaRise consuma pentru producerea unei

    unitati din produsul (serviciul)Pj, ca rezultat al activitatiiAj.Notnd cuxj (j = 1,,n)rezultatul activitatiiAjntr-o perioada data si cu bi(i = 1,,m) cantitatile disponibile din resursele Ri (i = 1,,m), se pot scriematematic urmatoarele restrictii tehnico-economice:

    i

    n

    jjij bxa

    =1 (1.1)

  • 7/24/2019 Cercetare Operationala(UPIT)

    2/84

    8

    unde =

    nj

    jij xa1

    reprezinta consumul total din resursa i pentru realizarea celor j

    activitati.n problemele manageriale, valorile negative pentru orice activitate

    (produs) nu sunt acceptabile, un alt set de restrictii fiind necesar sa se refere laconditiile de nenegativitateale variabilelorxj:

    0jx nj ,...,1= (1.2)

    Modelul general al problemei de programare liniara cuprinde, pe lngarestrictiile (1) si (2), un criteriu de performanta care permite evaluarea eficientei

    fiecarei activitati. n functie de scopul urmarit, putem alege drept criteriu deeficienta un indicator care sa minimizeze efortul sau sa maximizeze rezultatulobtinut ca urmare a realizarii activitatilor ce compun sistemul analizat. Se definesteastfelfunctia obiectivf(x):

    ( ) =

    =n

    jjj xcxf

    1 (1.3)

    al carui optim evalueaza eficienta fiecarei variante de programx. Componentele cjreprezinta marimi cunoscute (coeficienti) al caror continut si forma de exprimaredepind de natura obiectivului urmarit: beneficiu, productie, volum de ncasari,consum minim de energie, productivitate etc.

    n concluzie, modelul matematic general al unei probleme de programareliniara cuprinde o functie obiectiv liniara si o serie de restrictii, de asemenealiniare. Restrictiile pot fi inecuatii cu semnul , inecuatii cu semnul precum si ecuatii. Functia obiectiv ce trebuie optimizata poate avea sensul demaxim sau de minim, dupa natura scopului urmarit.

    Clasele de probleme economice rezolvabile prin modele de programareliniara si structura concreta a unei astfel de aplicatii este determinata, n primulrnd, de obiectivul urmarit.

    Astfel, n cazul problemei de determinare a structur ii optime a productiei,se cunosc: cantitatile disponibile din fiecare materie prima (resursa) {bi , i =1,,m}, coeficientii tehnologici {aij , i = 1,,m, j = 1,,n}, aij reprezentndcantitatea din materia primainecesara fabricarii unei unitati din produsul de tipulj,

    cstigul (beneficiul) unitar adus ntreprinderii de fabricarea fiecarui produs {cj, j =1,,n}. Se cere gasirea acelor cantitati xj ce trebuie fabricate din fiecare tip deprodus astfel nct sa se obtina beneficiul maxim, n conditiile nedepasiriidisponibilului din fiecare resursa.

    Pentru simplificarea modelului, se presupune ca pretul unui produs nudepinde de cantitatea produsa din acesta, consumul de materie prima este directproportional cu cantitatea produsa si, pentru fiecare produs, consumurile dintr-omaterie prima sau alta nu se conditioneaza reciproc.

  • 7/24/2019 Cercetare Operationala(UPIT)

    3/84

    9

    Modelul matematic este:

    ( )

    ==+++

    +++=

    njx

    mibxaxaxa

    xcxcxcxf

    j

    ininii

    nn

    ,...,10

    ,...,1...

    ...max

    2211

    2211

    (1.4)

    n unele probleme, n loc de beneficiile unitare se cunosc veniturile unitare,costurile unitare sau alt criteriu de eficienta, scopul fiind maximizarea venitului,minimizarea costurilor, respectiv optimul indicatorului de eficienta urmarit. Deasemenea, pot apare conditii de limitare a productiei sau pot apare si alte conditii.

    La o problema de programare operativa a productieirestrictiile se referala o serie de utilaje cu care se executa produsele, cunoscndu-se timpul disponibilal fiecarui utilaj, pe perioada de timp analizata, bi. Coeficientii tehnologici aijreprezinta timpul necesar prelucrarii unui produs j pe utilajul i, scopul fiindmaximizarea productiei.

    Modelul matematic corespunzator are forma:

    ( )

    ==+++

    +++=

    njx

    mibxaxaxa

    xxxxf

    j

    ininii

    n

    ,...,10

    ,...,1...

    ...max

    2211

    21

    (1.5)

    Daca se doreste determinarea modului de combinare a elementelorcomponente pentru ca un produs sa rezulte corespunzator calitativ si cu cheltuieliminime, este vorba despre o problema de amestec optim (problema dietei).Amestecul trebuie sa contina m substante care se gasesc n cele nmaterii primedisponibile n cantitati nelimitate. Fiecare substanta trebuie sa intre n unitatea deamestec n cantitatea cunoscuta, bi. Se cunosc cantitatile {aij , i = 1,,m, j =1,,n} din fiecare substanta pe care le contine o unitate din fiecare materie primasi costurile {cj , j = 1,,n}unei unitati din aceste materii prime. Se poate scriemodelul:

    ( )

    =

    ==++++++=

    njx

    mibxaxaxa

    xcxcxcxf

    j

    ininii

    nn

    ,...,10

    ,...,1...

    ...min

    2211

    2211

    (1.6)

    Variabilele xj reprezinta, n acest caz, cantitatea din fiecare materie prima ce va

    intra n amestec, iar functia obiectiv ( ) =

    =n

    jjj xcxf

    1este costul total al retetei si

    trebuie minimizata.

  • 7/24/2019 Cercetare Operationala(UPIT)

    4/84

    10

    1.2 Forme de prezentare a unei probleme deprogramare liniara

    Din analiza modelelor prezentate n paragraful precedent, rezulta ca ntr-oproblema de programare liniara pot apare restrictii scrise sub forma de inegalitati(de tipul = sau ) sau egalitati. De asemenea, criteriul de optimizare impune nunele cazuri maximizarea functiei obiectiv, iar n alte cazuri minimizarea acesteia. Forma cea mai generala a unei probleme de programare liniara esteurmatoarea:

    +++=

    =

    =+++

    =++++++

    ++++++

    +++

    +++

    ++++

    ++++

    nn

    j

    mnm nmm

    snnsss

    snsnss

    rnnrrr

    rnrnrr

    nn

    nn

    xcxcxcxfopt

    njx

    bxaxaxa

    bxaxaxa

    bxaxaxa

    bxaxaxa

    bxaxaxa

    bxaxaxa

    bxaxaxa

    ...)(

    ),...,1(0

    ...

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

    ...

    ...

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

    ...

    ...

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

    ...

    2211

    2211

    1,122,111,1

    2211

    1,122,111,1

    2211

    22222121

    11212111

    (1.7)

    Se introduc notatiile:

    m nmm

    nsss

    snss

    nrrr

    rnrr

    n

    n

    aaa

    aaa

    aaa

    aaa

    aaa

    aaa

    aaa

    A

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    21

    ,12,11,1

    21

    ,12,11,1

    21

    22221

    11211

    MMMM

    MMMM

    MMMM

    +++

    +++= ;

    m

    s

    s

    r

    r

    b

    b

    b

    b

    b

    b

    b

    b

    M

    M

    M

    1

    1

    2

    1

    +

    += ;

    nc

    c

    c

    cM

    2

    1

    = ;

    nx

    x

    x

    XM

    2

    1

    =

  • 7/24/2019 Cercetare Operationala(UPIT)

    5/84

    11

    unde: A este o matrice cu m linii si n coloane numita matricea coeficientilortehnologici, beste un vector coloana m-dimensional numit vectorul resurselor, ceste un vector coloana n-dimensional numit vectorul costurilor( vectorul transpuseste vectorul linie c= (c1, c2,,cn)), iar Xeste un vector coloana n-dimensionalnumit vectorul activitatilor.

    Pentru studiul si interpretarea unei probleme de programare liniara seutilizeaza si alte forme ale modelului sau matematic.

    Definitia 1. O problema de programare liniara are forma standarddacatoate restrictiile sunt egalitati si toate variabilele sunt supuse conditiei denenegativitate.

    Matricial, utiliznd notatiile anterioare, forma standard se scrie astfel:

    ( )

    =

    =

    nm

    n

    m

    MAXcxfopt

    RXcX

    RbbAX

    ,'

    ' ,0 (1.8)

    Definitia 2. O problema de programare liniara are forma canonicadacatoate restrictiile sunt concordante si toate variabilele sunt supuse conditiei denenegativitate. O restrictie se numeste concordantadaca ea are semnul cndoptimizarea este maximizare, sau semnul daca optimizarea este minimizare.

    Matricial, forma canonica a unei probleme de programare liniara se scrie:

    ( )

    =

    XcxfX

    bAX

    'min0 sau

    ( )

    =

    XcxfX

    bAX

    'max0 (1.9)

    Orice problema de programare liniara poate fi adusa la forma standard saula forma canonica cu ajutorul unor transformari elementare efectuate asupravariabilelor sau/si asupra restrictiilor, precum si asupra operatorului functieiobiectiv. Aceste transformari sunt urmatoarele:

    a.

    orice problema de maxim poate fi transformata n una de minim sireciproc, folosind relatia:

    max f(x) = - min f(-x) (1.10)b. orice restrictie de tipul se transforma ntr-o restrictie de forma

    si reciproc folosind relatia: - - (1.11)c. orice restrictie inegalitate poate fi transformata n egalitate, prin

    introducerea unei variabile suplimentare nenegative, folosind relatiile:

    =+

    0x

    x si

    =

    0x

    x (1.12)

    Variabilele introduse pentru transformarea inegalitatilor n egalitati senumesc variabile de compensaresau variabile ecart.

  • 7/24/2019 Cercetare Operationala(UPIT)

    6/84

    12

    d. orice restrictie egalitate poate fi transformata n restrictii inegalitate,folosind relatia:

    =

    (1.13)

    e. orice variabila cu restrictie de semn negativa (x = 0) poate fi nlocuita cuo variabila cu restrictie de semn pozitiva (y 0), folosind relatia:

    =

    0

    0y

    yxx (1.14)

    f. orice variabila fara restrictie de semn poate fi nlocuita cu doua variabilecu restrictie de semn pozitiva, folosind relatia:

    =

    0

    0

    z

    yzyx

    oarecarex (1.15)

    Pe baza acestor transformari elementare, pentru oricare problema deprogramare liniara exista o problema la forma canonica si o problema la formastandard, echivalente cu problema initiala. Din motive de simplitate a rezolvarii, npractica se utilizeaza forma standard (un sistem de ecuatii se rezolva mult mai usordect un sistem de inecuatii).

    Exemplul 1.1 Modelul matematic al unei probleme de programare liniara.Forma canonica si forma standard.

    O ntreprindere dispune de doua resurse R1 si R2 n cantitatile b1 = 40unitati si b2= 60 unitati. Din aceste resurse se fabrica doua produse, P1si P2 careaduc ntreprinderii beneficiile unitare c1 = 10 unitati monetare, respectiv c2 = 15unitati monetare. Coeficientii de consum specific sunt dati n tabelul de mai jos:

    P1 P2R1 2 4R2 6 2

    ntreprinderea trebuie sa stabileasca ce cantitati va fabrica din fiecareprodus n asa fel nct profitul sa fie maxim. Sa se scrie modelul matematic alproblemei, n forma canonica si n forma standard.

    Notam x1 si x2 cantitatile necunoscute ce trebuie fabricate din fiecareprodus.

    Functia obiectiv are operatorul maxim si expresia:( ) 21 1510max xxxf += (1.16)

    Sistemul de restrictii tehnico-economice este:

  • 7/24/2019 Cercetare Operationala(UPIT)

    7/84

    13

    +

    +60264042

    21

    21

    xxxx (1.17)

    Conditiile de nenegativitate a variabilelor sunt:0,0 21 xx (1.18)

    Relatiile (1.16), (1.17) si (1.18) reprezinta forma canonica a modeluluimatematic deoarece restrictiile (1.17) sunt concordante.

    Pentru a scrie forma standard se introduc variabilele de compensarenenegative y1 si y2 si se aplica transformarea elementara c. Variabilele decompensare apar n functia obiectiv cu coeficienti nuli.

    Modelul matematic al problemei, n forma standard este:

    ( )

    =+++=+++

    +++=

    .0;0;0;0

    60026

    40042

    001510max

    2121

    2121

    21212121

    yyxx

    yyxx

    yyxx

    yyxxxf

    (1.19)

    Probleme propuse spre rezolvare

    P 1.1 Un atelier de prelucrari mecanice este specializat n prelucrarea deseturi de piese pentru tipurile A si B de piese finite. Atelierul dispune de trei tipuride utilaje: 1 strung; 2 masina de frezat; 3 masina de gaurit. Timpii miniminecesari executarii unui set de piese, tij, [min/set piese], fondul disponibil de timp

    Fdi [min/luna] si beneficiul planificat bj [unitati monetare/set piese] sunt date ntabelul urmator:tij[min/set piese]Tipuri de

    produseGrupa deutilaje

    A BFdi[min/luna]

    1 11 9 99002 7 12 84003 6 16 9600

    bj[u.m./set piese] 90 100

    Pentru a determina cantitatea de seturi de piese ce urmeaza a fi prelucratape luna, n conditiile realizarii unui beneficiu maxim, se cere sa se scrie modelulmatematic al problemei, n forma canonica si n forma standard.

    P 1.2 Un meniu trebuie sa asigure organismului necesarul de substante S1,S2si S3cu ajutorul alimentelor A1, A2, A3. Cantitatile de substante S1, S2si S3ce segasesc ntr-o unitate de aliment de fiecare fel, cantitatile din cele trei substantenecesare organismului, precum si preturile celor trei alimente sunt date n tabel:

  • 7/24/2019 Cercetare Operationala(UPIT)

    8/84

    14

    AjSiA1 A2 A3 Necesar[unitati]

    S1 4 3 2 24S2 5 7 2 35S3 1 5 4 40

    Pret [u.m.] 8 7 5

    Pentru a determina cantitatile din cele trei alimente ce trebuie introduse nmeniu astfel nct costul total al retetei sa fie minim (n raport cu aceste treialimente), sa se scrie modelul matematic al problemei, n forma canonica si nforma standard.

    P 1.3 O ntreprindere fabrica patru categorii de produse P1, P2, P3, P4la treilocuri de munca L1, L2, L3. Necesarul de timp (n ore) pentru fabricarea fiecaruiprodus, capacitatile de productie (n ore) ale celor trei locuri de munca, precum sipreturile de desfacere a produselor sunt trecute n tabelul urmator:

    PjLi

    P1 P2 P3 P4 Capacitateade productie

    L1 45 20 20 9 3780L2 45 25 25 0 4410L3 9 5 0 0 350

    Pret de

    desfacere [u.m.]

    1260 1960 700 1000

    Pentru a determina structura optima a productiei, sa se scrie modelulmatematic al problemei, n forma canonica si forma standard.

    P 1.4 ntr-un laborator al unei ntreprinderi metalurgice se ncearcaobtinerea unui aliaj special care trebuie sa contina cel putin 4% Mn, cel putin 3% Crsi cel putin 2% Ni. ntreprinderea dispune de doua categorii de materii prime carecontin mangan, crom si nichel n cantitatile specificate n tabelul de mai jos:

    AliajeMaterii

    prime

    Mn Cr Ni

    M1 2% 4% 2%M2 6% 3% 1%

    Costul unui kilogram de materie prima de tipul M1este de 70 u.m., iar de tipulM2de 55 u.m. Pentru a stabili reteta de amestec optim din punct de vedere al costului,sa se scrie modelul matematic al problemei, n forma canonica si forma standard.

  • 7/24/2019 Cercetare Operationala(UPIT)

    9/84

    15

    1.3 Principii de baza n rezolvarea unei probleme deprogramare liniara n forma standard

    Fie problema de programare liniara n forma standard scrisa matricial:

    ( )

    =

    ==

    n

    mnm

    RcXX

    RbbAX

    MAXcxfopt

    ,0

    ,

    (1.20)

    Se stie ca un sistem cu mecuatii si nnecunoscute de forma bAX= poate fi:

    incompatibil

    compatibil unic determinat (numai n cazul n care m = n)

    compatibil determinatUltimul caz intereseaza cel mai mult pentru ca aici se pune problema de a

    alege din mai multe solutii pe cea mai buna.Daca sistemul nu are solutii atunci evident nici problema de programare

    liniara nu are solutii, caz care nu poate intra n discutie.Daca sistemul are o singura solutie, aceasta este si solutia optima si acest

    caz devine la fel de neinteresant ca si cazul precedent.Presupunem ca numarul restrictiilor m este mai mic dect numarul

    necunoscutelor n, m < nsi ca rangul matricei A este m. Daca ( ) mArang = rezulta

    ca cele m restrictii sunt independente. n caz contrar, se poate renunta la cele caresunt combinatii liniare ale celor independente.n plus, daca ( ) nmArang

  • 7/24/2019 Cercetare Operationala(UPIT)

    10/84

    16

    Se remarca ca orice alegere a lui SX da o solutie a sistemului. Dintre toatealegerile posibile, cea mai simpla esteXS = 0, care duce la solutia particulara:

    =

    0

    0

    0

    1

    M

    bB

    XB

    n mzerouri (1.22)

    numitasolutia de baza asociata bazei B.

    Observatia1. Este evident ca fiecarui minor principal al sistemului (minorde dimensiune m) i corespunde o solutie de baza unica.

    Observatia 2. Rezolvarea este posibila si sistemul liniar de mecuatii cu mnecunoscute este compatibil si are solutie unica, daca si numai daca

    0B (teorema lui Cramer).

    O solutie de baza are cel mult mcomponente nenule. Este posibil sa existesi solutii de baza cu mai putin de mcomponente nenule.Acestea se numesc solutiide baza degenerate, n timp ce solutiile de baza cu exact mcomponente nenule senumescsolutii de baza nedegenerate.

    Cu privire la solutiile unei probleme de programare liniara se introducurmatoarele notiuni:

    se numeste solutie admisibila X un element al multimii programelor(solutiilor) P, care verifica sistemul de restrictii si conditiile denegativitate: { }0,, == XbAXXP ;

    se numeste solutie optima *X solutia admisibila care optimizeaza

    functia obiectiv: ( ) PXXcXc ,* , pentru o problema de minim,

    sau: ( ) PXXcXc ,* , pentru o problema de maxim. BX este solutie de baza pentru o problema de programare liniara daca

    verifica urmatoarele conditii:1. este o solutie a sistemuluiAX = b;2. coloanele din matricea A corespunzatoare componentelor nenule

    ale vectorului BX formeaza un sistem de vectori liniar independenti.O solutie de baza se numestesolutie de baza admisibiladaca componentele

    sale nenule sunt nenegative si se numeste solutie de baza optimadaca, n plus,optimizeaza functia obiectiv.

    Rezolvarea unei probleme de programare liniara, scrisa n forma standard,poate conduce la urmatoarele rezultate:

  • 7/24/2019 Cercetare Operationala(UPIT)

    11/84

    17

    1.

    SistemulAX = bnu are solutii sau nu are solutii admisibile. n acest cazproblema nu are solutie.2.

    Imaginea functiei obiectiv pe multimea solutiilor admisibile estenemarginita (la + ntr-o problema de maxim si la ntr-o problema de minim).n acest caz spunem ca problema are optim infinit.

    3.

    Imaginea functiei obiectiv pe multimea solutiilor admisibile estemarginita. n acest caz problema are cel putin o solutie si spunem ca are un optimfinit.

    Metodele generale de rezolvare a unei probleme de programare liniara sebazeaza pe cteva proprietati dezvoltate pe baza unor reprezentari geometrice aleproblemei, care poarta denumirea de teoreme fundamentale ale programarii liniare.

    Ele sunt urmatoarele:

    Teorema 1. Daca problema de programare liniara admite o solutieadmisibila, atunci ea are o solutie de baza admisibila .

    Teorema 2.Daca problema de programare liniara admite o solutie optima,atunci ea are o solutie de baza optima.

    Teorema 3. Multimea solutiilor admisibile (optime) este nchisa si convexa.Daca este si marginita, atunci punctele extremale ale acesteia sunt chiar solutiileadmisibile (optime) de baza ale problemei.

    Aceste teoreme fundamentale simplifica foarte mult rezolvarea algebrica a

    modelului matematic prezentat n forma standard, n cazul n care sistemul estecompatibil nedeterminat, n sensul ca se cerceteaza numai solutiile de baza alesistemului de restrictii si cea care satisface functia obiectiv este solutia optima.Totusi, la o analiza mai atenta, aceasta varianta de rezolvare se dovedestenepractica, tinnd cont de urmatoarele observatii:

    - desi numarul solutiilor de baza este finit (egal cu mnC ), el poate aveavalori foarte mari n cazul problemelor cu multe variabile si restrictii, iar cercetareatuturor solutiilor de baza presupune foarte mult timp, chiar daca se apeleaza la uncalculator;

    - se va gasi cea mai buna solutie dintre solutiile de baza fara nsa sa sestie daca problema admite, de fapt, un optim finit (ar putea avea un optim infinit);

    -

    nu se poate sti daca un minor mm este baza dect dupa ce i secalculeaza determinantul si nu se poate sti daca solutia de baza corespunzatoareeste admisibila dect dupa ce aceasta se calculeaza;

    -

    solutia optima, odata gasita, nu va putea fi recunoscuta ca atare dectdupa ce se vor calcula toate celelalte solutii de baza, chiar daca ea a aparut lanceputul calculelor.

    Din aceste motive s-au dezvoltat o serie de algoritmi de rezolvare a uneiprobleme de programare liniara, ce modeleaza fenomene economice, care saelimine aceste neajunsuri.

  • 7/24/2019 Cercetare Operationala(UPIT)

    12/84

    18

    1.4 Algoritmul SIMPLEX primal

    Algoritmul simplex primal are la baza metoda de rezolvare a sistemelorliniare dezvoltata n anul 1947 de matematicianul G.B. Dantzig. Algoritmul constan examinarea sistematica a multimii programelor (solutiilor) unei probleme deprogramare liniara prin trecerea de la un program de baza la altul, cel putin la fel debun ca cel precedent. n plus, sunt precizate criteriile care evidentiaza faptul caproblema de programare liniara admite un optim infinit sau nu admite solutie.

    Fie data problema de programare liniara scrisa matricial n forma standard:

    ( )

    =

    =

    nm

    n

    m

    MAXcxfopt

    RXcXRbbAX

    ,'

    ' ,0 (1.23)

    Algoritmul simplex porneste de la presupunerea ca dispunem de o solutiede baza admisibila XB , corespunzatoare unei baze B. Folosind aceasta baza s-arezolvat sistemul de restrictiiAX = b, rezultnd variabilele principale n functie decele secundare sub forma:

    SB XSBbBX = 11 (1.24)

    n functia obiectiv mpartim vectorul linie (transpus) al costurilor sivectorul coloana al solutiilor n cte doi vectori, corespunzatori variabilelorprincipale, respectiv secundare si nlocuim expresia obtinuta pentru variabileleprincipale:

    ( ) ( ) ( ) ( ) ( )

    ( ) ( ) ( )( ) SB

    SSBSSBBSS

    SBSSBBS

    BSB

    XXf

    XcZXfXcSBcbBcXc

    XSBbBcXcXcX

    Xccxf

    ====+

    +==

    =

    ''1'1''

    11''''' ,

    unde:

    -

    ( ) bBcXf BB = 1' este valoarea functiei obiectiv pentru solutia de

    baza;

    - ZSBcB = 1' este un vector cu n mcomponente;

    ),...,,( 21 nmm zzzZ ++=

    - 'ScZ= este un vector cu n mcomponente;),...,,( 21 nmm = ++

  • 7/24/2019 Cercetare Operationala(UPIT)

    13/84

    19

    Obtinem urmatoarea forma a problemei:

    ( ) ( ) ( ) ( )

    =

    =

    0

    minmax1

    X

    bBX

    XXfxfsau

    B

    SB

    (1.25)

    Din forma functiei obiectiv se vede ca:-

    ntr -o problema de maxim:( ) ( )

    000

    0

    SS

    SBSBB

    XfiaroricareX

    XfiaroricareXfXXfoptimasolutieesteX

    - ntr-o problema de minim:( ) ( )

    000

    0

    SS

    SBSBB

    XfiaroricareX

    XfiaroricareXfXXfoptimasolutieesteX

    Rezultatul obtinut reprezinta criteriul de recunoastere a optimalitatiisolutiei sau, pe scurt, criteriulde optim.

    Daca nu sunt ndeplinite conditiile de mai sus, solutia gasita nu esteoptima, si, evident, exista o alta solutie de baza admisibila mai buna. Se poatedemonstra matematic ca aceasta noua solutie de baza difera de cea anterioaraprintr-o singura variabila. Trebuie deci sa gasim acea variabila principala care iesedin baza si acea variabila secundara care intra n baza. Aceste operatii reprezintacriteriul de mbunatatirea solutiei.

    Practic se procedeaza n felul urmator:- ntr -o problema de maxim:1.

    Daca exista diferente j negative (zjcj

  • 7/24/2019 Cercetare Operationala(UPIT)

    14/84

    20

    Observatie : Daca exista k, { }nmmk ,...,2,1 ++ pentru care zk ck< 0 sitoti ( ) 0pika pentru { }mi ,...,2,1 , atunci problema are un optim infinit.

    - ntr -o problema de minim:1.

    Daca exista diferente j pozitive (zjcj>0, { }nmmj ,...,2,1 ++ ), seintroduce n baza necunoscuta careia i corespunde diferenta pozitiva cea mai mare(criteriul de intrare n baza). Coloana careia i corespunde necunoscuta care intran baza se numeste coloana pivot.

    2.

    Se aplica criteriul de iesire din bazacalculndu-se( )pij

    i

    a

    bmin unde

    bi sunt termenii liberi din sistemul de restrictii, iar ( )pija sunt coeficientii

    tehnologici strict pozitivi din coloana pivot. Linia pentru care se gaseste( )pij

    i

    a

    bmin

    se numeste linie pivot. Numarul aflat la intersectia coloanei pivot cu linia pivot senumeste numar pivot.

    3.

    Se reia rezolvarea sistemului de restrictii pornind de la noua solutie debaza si continund rationamentul.

    Observatie : Daca exista k, { }nmmk ,...,2,1 ++ pentru care zk ck> 0 sitoti ( ) 0pika pentru { }mi ,...,2,1 , atunci problema are un optim infinit.

    Elementele necesare aplicarii algoritmului simplex se trec ntr-un tabelnumit tablou simplex. n tabloul initial, cu configuratia de mai jos, pentru

    simplificarea scrierii, s-a presupus ca baza Beste formata din primele mcoloaneale matricii A.Tabelul 1.1

    cj c1 c2 cm cm+1 cn

    VB cjVB VVB x1

    x2 xm xm+1 xn( )pij

    i

    a

    b

    x1 c1 b1 1 0 0 a1,m+1 a1nx2 c2 b2 0 1 0 a2,m+1 a2n...

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .xm cm bm 0 0 1 am,m+1 amn

    zj z0 =f(XB) 0 0 0 zm+1 znj = zj- cj 0 0 0 m+1 n

    unde: cj,j = 1,2,,nsunt coeficientii variabilelor n functia obiectiv;-

    VBindica simbolul variabilelor care apartin bazei;- cjVB sunt coeficientii variabilelor ce apartin bazei n functia obiectiv;-

    VVBreprezinta valoarea calculata pentru variabilele ce apartin bazei.

  • 7/24/2019 Cercetare Operationala(UPIT)

    15/84

    21

    Elementele liniei zjse calculeaza cu relatia ====

    m

    iijjVBj njmiacz

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

    Ultima linie a tabelului este destinata calculului componentelor vectoruluijce permite aplicarea criteriului de optim.

    Ultima coloana a tabelului se utilizeaza pentru aplicarea criteriului dembunatatire a solutiei initiale prin determinarea variabilei ce va intra n noua baza.

    De asemenea, n tabel, apare explicit valoarea functiei obiectiv pentrusolutia de baza considerata, z0= f (XB).

    ObservatiePentru ca XB sa fie solutie de baza a sistemului de restrictii AX = b, ea

    trebuie sa aiba cel mult mcomponente nenule si, n plus, coloanele corespunzatoarecomponentelor nenule din matricea A sa formeze un sistem de vectori liniarindependenti (pentru ca determinantul lor sa fie nenul). Cel mai simplu sistem devectori liniar independenti este cel format din vectori unitate, matricea m mcorespunzatoare fiind Im. n tabelul initial specific algoritmului simplex s-aconsiderat ca se dispune de o astfel de solutie initiala de baza.

    n cazul n care solutia de baza initiala nu satisface criteriul de optim, decipoate fi mbunatatita, se trece la o noua iteratie si se construieste al doilea tablousimplex. Trecerea la un nou tabel se face prin parcurgerea urmatoarelor etape:

    Etapa 1.Se aplica criteriul de intraren noua baza. Se alege: jjj

    cz max

    si variabila corespunzatoare coloaneij(coloana pivot) va intra n noua baza.Etapa 2. Se aplica criteriul de iesire din baza. Se alege:

    ( )

    pij

    i

    i a

    bmin ,

    numai pentru ( ) 0>pija . Linia astfel determinata (linia pivot) indica variabila careparaseste baza.

    Etapa 3. Calculul elementelor noului tabel simplex, operatie care senumestepivotare. Pasii succesivi sunt urmatorii:

    - se determina, n precedentul tabel, elementul pivot(aflat la intersectiacoloanei pivot cu linia pivot;

    - n noul tabel, locul pivotului este luat de elementul 1, n rest toateelementele din coloana pivot devin 0 (inclusiv j );

    -

    n noul tabel, toate elementele situate n linia pivot se calculeaza prinmpartirea elementului corespunzator la elementul pivot (inclusivelementul din linia pivot si coloana VVB);

    - orice alt element al noului tabel, care nu se afla nici n coloanapivot si nici n linia pivot se calculeaza cu ajutorul reguleidreptunghiului, folosind relatia:

    P

    CBAA

    ='

  • 7/24/2019 Cercetare Operationala(UPIT)

    16/84

    22

    n care A este elementul din tabloul precedent care se nlocuieste n noul tabel cuA, P este pivotul, iar B si C sunt elementele din tabelul precedent aflate pe linia,respectiv coloana pivotului.

    Daca nu s-a gasit solutia optima, se reia rationamentul de la etapa 1.

    Exemplul 1.2 Rezolvarea unei probleme de programare liniara folosindalgoritmul simplex

    ntr-o sectie a unei ntreprinderi electronice, la patru locuri de munca serealizeaza trei tipuri de aparate. La fiecare loc de munca se poate lucra respectiv2200, 1200, 2000 si 1600 ore/an. n tabelul de mai jos se indica duratele deprelucrare, conform tehnologiei, pentru fiecare aparat (ore/buc.) si beneficiulobtinut de ntreprindere n urma comercializarii fiecarui aparat (u.m./buc.). Sa se

    determine planul de productie care sa asigure beneficiul maxim.

    ji

    A1 A2 A3 tdi

    1 2 2 1 22002 1 1 0 12003 1 1 1 20004 1 2 1 1600bj 3 4 2

    Rezolvare: notam x1, x2, x3cantitatile necunoscute ce trebuie realizate din

    fiecare tip de aparat si scriem modelul matematic al problemei:

    ++++

    +++

    ++=

    16002

    2000

    1200

    220022

    243max

    321

    321

    21

    321

    321

    xxx

    xxx

    xx

    xxx

    xxxf

    (1.26)

    3,2,1,0 = jxj Modelul reprezinta forma canonica a problemei de programare liniara,

    deoarece toate restrictiile sunt concordante.

    Scriem modelul matematic sub forma standard introducnd necunoscutelede compensarey1, y2, y3siy4. Sistemul de restrictii devine:

    =+++=+++=++

    =+++

    16002

    2000

    1200

    220022

    4321

    3321

    221

    1321

    yxxx

    yxxx

    yxx

    yxxx

    (1.27)

  • 7/24/2019 Cercetare Operationala(UPIT)

    17/84

    23

    Pentru sistemul de restrictii (1.27), scriem matricea A a coeficientilortehnologici, considernd variabilele n ordinea:x1, x2 ,x3,y1, y2, y3siy4:

    =

    0000121

    0100111

    0010011

    00012224321321 yyyyxxx

    A (1.28)

    Se constata ca matricea A contine matricea unitate I4, corespunzatoare

    necunoscutelor y1, y2, y3si y4. Cum termenii liberi ai ecuatiilor sistemului (1.27)sunt toti nenuli, sunt ndeplinite conditiile ca matricea unitate I4 sa fie baza asistemului de restrictii. Necunoscutele principale sunt deci y1, y2, y3si y4, iarnecunoscutele secundarex1, x2 ,x3. Solutia admisibila de baza de la care va pornialgoritmul simplex se obtine anulnd necunoscutele secundare n sistemul derestrictii (1.27), ceea ce conduce la aflarea valorilor necunoscutelor principale,egale cu termenii liberi ai ecuatiilor sistemului de restrictii:

    ==

    =

    0

    0

    0

    32

    1

    x

    x

    x

    ==

    ==

    16002000

    1200

    2200

    4

    3

    2

    1

    yy

    y

    y

    =

    3

    2

    14

    3

    2

    1

    x

    x

    x

    y

    y

    y

    y

    XB

    sau

    =

    0

    0

    0

    1600

    2000

    1200

    2200

    B

    X

    Cunoscnd o solutie admisibila de baza pentru problema data se realizeazaprimul tablou simplex, prezentat n tabelul 1.2.

    Tabelul 1.2cj 0 0 0 0 3 4 2

    VB cjVB VVB y1 y2 y3 y4 x1 x2 x3 ( )piji

    a

    b

    y1 0 2200 1 0 0 0 2 2 1 1100y2 0 1200 0 1 0 0 1 1 0 1200

    y3 0 2000 0 0 1 0 1 1 1 2000y4 0 1600 0 0 0 1 1 2 1 800

    zj 0 0 0 0 0 0 0 0j = zj - cj 0 0 0 0 -3 -4 -2

    Pasii succesivi care se parcurg pentru aplicarea algoritmului decalcul sunt urmatorii:

    Pasul 1. Se aplicacriteriul de optim .

  • 7/24/2019 Cercetare Operationala(UPIT)

    18/84

    24

    Deoarece operatorul functiei obiectiv este maxim, iar pe linia j a tabeluluiexista diferente zj - cj negative, rezulta ca solutia de baza considerata nu esteoptima si ea poate fi mbunatatita.

    Pasul 2. Se aplica criteriul de mbunatatire a solutiei de baza initiale,parcurgndu-se etapele necesare:

    Etapa 1. Se aplica criteriul de intrare n noua baza:

    4max = jjj

    cz , deci necunoscuta x2 va intra n noua baza. Coloana pe care se

    gaseste necunoscuta x2este coloana pivot. Etapa 2. Se aplica criteriul de iesire din baza: se calculeaza rapoartele

    ( )pij

    i

    a

    b

    , pentru toti coeficientii aij(p)> 0din coloana pivot, rezultatele trecndu-se n

    coloana din dreapta a tabelului initial. Valoarea minima a raportului este 800, decinecunoscuta y4 iese din baza. Linia corespunzatoare lui y4 este linia pivot.Elementul 2, aflat la intersectia coloanei pivot cu linia pivot, se numestepivot.

    Etapa 3. Se realizeaza al doilea tablou simplex (tabelul 1.3) si secalculeaza elementele acestuia:

    -

    locul pivotului este luat de elementul 1; n rest, toate elementele dincoloana pivot devin 0;

    -

    toate elementele din linia pivot se calculeaza prin mpartireaelementului corespunzator la pivot;

    -

    pentru restul elementelor se aplica regula dreptunghiului.

    Tabelul 1.3cj 0 0 0 0 3 4 2 bi

    VB cjVB VVB y1 y2 y3 y4 x1 x2 x3 aij(p)y1 0 600 1 0 0 -1 1 0 0 600y2 0 400 0 1 0 -1/2 1/2 0 -1/2 800y3 0 1200 0 0 1 -1/2 1/2 0 1/2 2400x2 4 800 0 0 0 -1/2 1/2 1 1/2 1600

    zj 3200 0 0 0 2 2 4 2j = zj - cj 0 0 0 2 -1 0 0

    De exemplu, pentru a determina valoarea elementului situat pe linia

    necunoscutei y1n coloana VVBse formeaza n tabelul 1.3 un dreptunghi imaginar,care are pe diagonala principala, n coltul de sus, elementul 2200, iar n coltul dejos elementul pivot egal cu 2; pe diagonala secundara elementele sunt 2 (n coltulde sus) si 1600 (n coltul de jos):

    2200 2

    1600

    2

  • 7/24/2019 Cercetare Operationala(UPIT)

    19/84

    25

    Elementul de pe aceeasi pozitie din noul tablou simplex (tabelul 1.3) vaavea valoarea: 600

    2

    216002200' ==A .

    Din analiza tabelului rezultat n a doua iteratie (tabelul 1.3), rezulta casolutia gasita:

    y1= 600, y2= 400, y3= 1200, x2= 800, x1= 0, x3= 0, y4= 0,

    mbunatateste valoarea functiei obiectiv, de la valoarea de 1600 u.m. la valoarea de3200 u.m. Totusi, deoarece exista o diferenta zj - cjnegativa, aceasta solutie nu estecea optima si poate fi mbunatatita. Plecnd de la aceasta ultima solutie de baza, sereia rationamentul de la pasul 2 al algoritmului.Va intra n noua baza necunoscuta x1si va iesi din baza anterioara necunoscuta y1.Elementul pivot este elementul 1.

    Noul tabel simplex, corespunzator iteratiei a treia, este tabelul 1.4.

    Tabelul 1.4cj 0 0 0 0 3 4 2

    VB cjVB VVB y1 y2 y3 y4 x1 x2 x3x1 3 600 1 0 0 -1 1 0 0y2 0 100 -1/2 1 0 0 0 0 -1/2y3 0 900 -1/2 0 1 0 0 0 1/2x2 4 500 -1/2 0 0 1 0 1 1/2

    zj 3800 1 0 0 1 3 4 1/2

    j = zj - cj 1 0 0 1 0 0 0Analiznd tabelul rezultat, se constata ca s-a reusit determinarea solutiei

    optime, deoarece pe linia diferentelor j nu exista nici o diferenta negativa.Asadar, solutia optima a modelului matematic n forma standard este:x1= 600; x2= 500; x3= 0; y1= 0; y2= 100; y3= 900, y4= 0, iar valoarea

    functiei obiectiv este 3800.Planul de productie optim este obtinut numai din primele doua tipuri de

    aparate: 600 buc. realizate din primul tip de aparat si 500 buc. realizate din aldoilea tip de aparat (x3 = 0). Beneficiul maxim ce revine ntreprinderii la realizareaplanului de productie optim este de 3800 u.m.

    Valorile variabilelor de compensare, corespunzatoare solutiei optime, arata

    ca s-au folosit toate orele de lucru disponibile la posturile 1 si 4, ramnndneutilizate 100 de ore la postul 2 si 900 de ore la postul 3.Observatie Aplicarea algoritmului necesita cunoasterea unei solutii de baza

    admisibila de start si a formei explicite asociate acesteia.Pentru o problema de programare liniara, o solutie de baza admisibila de

    start se poate recunoaste cel mai usor daca matricea A a coeficientilor tehnologicidin sistemul de restrictii contine o submatrice unitate de orinul m(meste numarulecuatiilor n sistemul de restrictii), iar termenii liberi ai ecuatiilor sistemului derestrictii sunt nenegativi.

  • 7/24/2019 Cercetare Operationala(UPIT)

    20/84

    26

    1.5 Metode pentru determinarea unei solutii admisibilede start

    Aplicarea algoritmului simplex presupune cunoasterea unei solutii de bazaadmisibile de start (initiale) precum si a formei explicite asociate acesteia, celelalteforme explicite generndu-se apoi succesiv, pna la obtinerea solutiei optime.

    O astfel de solutie de baza admisibila initiala se gaseste usor daca matriceacoeficientilor tehnologici A, asociata sistemului de restrictii, contine o submatriceunitate de ordinul m(meste numarul de restrictii) si termenii liberi sunt nenegativi.

    Daca cele doua conditii nu sunt ndeplinite, se construieste o problemaechivalenta cu problema initiala, n felul urmator:

    n caz ca unele restrictii ale modelului matemetic initial au termeniliberi negativi, se nmultesc aceste restrictii cu -1, termenii liberi devenind astfelnenegativi.

    Se aduce problema la forma standard, prin introducerea variabilelor decompensare necesare.

    Daca matricea A, a sistemului de restrictii rezultat, nu contine toatecoloanele submatricei unitate de ordinul m, se vor adauga noi variabile nenegativepentru crearea coloanelor lipsa; aceste noi variabile se numesc variabile artificialesi, spre deosebire de variabilele de compensare, ele apar n functia obiectiv cu uncoeficient comun, foarte mare n valoare absoluta. Coeficientul va fi negativ dacafunctia obiectiv trebuie maximizata si pozitiv daca functia obiectiv trebuieminimizata.

    Aceasta metoda de construire a unei solutii admisibile de start poartanumele de metoda bazei artificiale(sau metoda penalizarii) si va fi detaliata n celece urmeaza.

    1.5.1 Metoda bazei artificiale

    Fie problema de programare liniara de maxim, scrisa n forma standard:( )

    =

    =

    0

    max

    X

    bAX

    Xcxf

    (1.29)

    n care am aranjat deja ca termenii liberi sa fie pozitivi (b 0).Matricea A a coeficientilor tehnologici este de tipul (m n)cu m < n si nu

    se poate pune n evidenta nici o baza initiala.Se nlocuieste problema data cu o problema modificata si anume:

    ( )

    =+

    =

    0,

    max

    a

    a

    a

    XX

    bIXAX

    MXXcxg

    (1.30)

  • 7/24/2019 Cercetare Operationala(UPIT)

    21/84

    27

    unde M = (M, M,, M) este vectorul penalizarilor avnd mcomponente toateegale cu M, o constanta presupusa foarte mare (mai mare dect orice alta constanta

    care ar putea apare n rezolvarea problemei), iar aX un vector care contine atteavariabile artificiale cte sunt necesare pentru a forma matricea unitate de ordinulegal cu numarul de restrictii.

    Daca problema initiala este o problema de minim, problema modificata vafi de forma:

    ( )

    =+

    +=

    0,

    min

    a

    a

    a

    XX

    bIXAX

    MXXcxg

    (1.31)

    Pentru ambele forme ale problemei date (de maxim sau de minim), serezolva problema modificata, aplicnd algoritmul simplex, putndu-se ajunge launa dintre situatiile:

    1.

    Problema modificata are optim infinit. Atunci si problema initiala areoptim infinit.

    2.

    Problema modificata are optim finit si n solutia de baza optima celputin o variabila artificiala are valoare nenula. n acest caz problema initiala nu aresolutii admisibile (este incompatibila).

    3. Problema modificata are optim finit si n solutia optima toate variabileleartificiale au valoare zero. Ignornd valorile acestor variabile se obtine solutiaoptima a problemei initiale.

    De aceea este suficient sa se rezolve problema modificata, pentru care s-apus n evidenta o solutie admisibila de start, pentru a determina solutia optima aproblemei initiale.

    Observatie . Variabilele artificiale nu corespund unor marimi economice,ele fiind introduse doar ca un artificiu de calcul pentru a putea porni algoritmulSimplex.

    Rezolvarea unei probleme de programare liniara folosind metoda bazeiartificiale presupune doua etape:

    Etapa I. Se rezolva problema modificata pentru care solutia initiala de bazade la care porneste algoritmul simplex este, evident:

    bXa = adica: mam

    aa bxbxbx === ,...,; 2211 .Pentru a determina variabila care iese din baza se alege acea diferenta

    jjj cz = care contine termenul n M cu cel mai mic coeficient negativ (dacaeste o problema de maxim) sau cu cel mai mare coeficient pozitiv (daca este oproblema de minim).

    Daca o variabila artificiala a fost eliminata din baza putem sa nu maicalculam elementele coloanei sale n noua baza.

    Etapa I se ncheie cnd ntlnim una dintre situatiile:a.

    au fost eliminate din baza toate variabilele artificiale; s-a determinat astfelo solutie de baza admisibila de start pentru problema initiala;

  • 7/24/2019 Cercetare Operationala(UPIT)

    22/84

    28

    b.

    din baza nu s-au eliminat toate variabilele artificiale, dar cele ramase nbaza sunt nule, iar conditiile de optim sunt verificate; s-a obtinut o posibila solutie debaza degenerata a problemei intiale;

    c. a ramas n baza cel putin o variabila artificiala, strict pozitiva, iarconditiile de optim sunt verificate; n acest caz problema initiala nu are solutieadmisibila de baza, deci nu admite solutie optima.

    Etapa a I I a. Se continua aplicarea algoritmului simplex cu solutia de bazaobtinuta la prima etapa pna la ndeplinirea conditiei de optim sau se arata caproblema nu are solutie.

    Exemplul 1.3 Metoda bazei artificiale pentru determinarea unei solutiiadmisibile de baza de start (initiala).

    La o editura se tipareste o carte noua. Coperta poate fi din carton sau simpla.Fiecare carte cu coperta din carton aduce editurii un profit de 8 u.m., iar cealalta unprofit de 6 u.m. Pentru a lega o carte cu coperta din carton sunt necesare 3 minute, iarpentru una simpla 2 minute. Legatoria dispune de un numar de 800 de ore pentrulegarea celor doua categorii de coperti. Dintr-un studiu de piata, se stie ca se potvinde cel putin 10.000 de carti cartonate si nu mai mult de 6.000 de carti cu copertasimpla. Sa se determine numarul de carti din fiecare categorie ce trebuie legate, astfelnct profitul obtinut din vnzarea lor sa fie maxim.

    Pasul 1. Se scrie modelul matematic al problemei:( ) 21 68max xxxf +=

    +

    6000

    100004800023

    2

    1

    21

    x

    xxx

    (1.32)

    0;0 21 xx unde cux1s-a notat numarul de carti cu coperta de carton ce trebuie legate, iar cu x2numarul de carti cu coperta simpla.

    Pasul 2. Se aduce modelul matematic la forma standard, prin introducereavariabilelor de compensarey1, y2,siy3.

    ( ) 21 68max xxxf +=

    =+= =++

    6000

    100004800023

    32

    21

    121

    yx

    yxyxx

    (1.33)

    0;0;0;0;0 32121 yyyxx .

    Pasul 3. Se scrie matricea A a coeficientilor tehnologici din sistemul derestrictii al modelului scris n forma standard.

  • 7/24/2019 Cercetare Operationala(UPIT)

    23/84

    29

    =

    10010

    01001

    0012332121 yyyxx

    A (1.34)

    Pentru a gasi o solutie de baza admisibila de start, trebuie ca matricea A sacontina submatricea unitate I3 (m = 3). Ea contine nsa doar doua coloane alematricei unitateI3, cele corespunzatoare variabilelor de compensare y1si y3, ceea ce

    nseamna ca va trebui sa introducem o singura variabila artificiala, ax1 , numai nrestrictia a doua, pentru a forma coloana lipsa din matricea I3.

    Pasul 3. Se construieste problema modificata, al carui model matematic este:( ) aMxxxxg 121 68max +=

    =+

    =+

    =++

    6000

    10000

    4800023

    32

    121

    121

    yx

    xyx

    yxxa (1.35)

    0;0;0;0;0;0 132121 axyyyxx .

    Pasul 4. Se aplica algoritmul simplex problemei modificate, solutiaadmisibila de baza de start fiind formata din variabilele ale caror coloane formeaza

    matricea unitateI3, adica 311 ,, yxy a . Primul tablou Simplex este prezentat n tabelul 1.5.

    Tabelul 1.5cj 8 6 0 0 0 -M

    VB cjVB VVB x1 x2 y1 y2 y3 ax1 ( )pij

    i

    a

    b

    y1 0 48000 3 2 1 0 0 0 16000ax1

    -M 10000 1 0 0 -1 0 1 10000

    y3 0 6000 0 1 0 0 1 0 -zj -10000M -M 0 0 M 0 -M

    ? j= zj- cj -M-8 -6 0 M 0 0

    Deoarece exista diferente ? j negative, solutia obtinuta nu este solutieoptima si se cauta o noua solutie admisibila de baza. n noua baza intra variabila x1,careia i corespunde cea mai mare diferenta negativa egala cu (M-8) si iese din

    baza variabila ax1 , corespunzatoare valorii minime a raportului( )pij

    i

    a

    b, valoare

    egala cu 10000. Deoarece a fost eliminata din baza variabila artificiala, s-adeterminat o solutie de baza admisibila de start pentru problema initiala, formata din

  • 7/24/2019 Cercetare Operationala(UPIT)

    24/84

    30

    variabilele de baza y1 , x1 si y3; se continua algoritmul simplex pentru a determinasolutia optima. Al doilea tablou simplex este prezentat n tabelul 1.6Tabelul 1.6

    cj 8 6 0 0 0 -MVB cjVB VVB x1 x2 y1 y2 y3 ax1 ( )jpi

    i

    a

    b

    y1 0 18000 0 2 1 3 0 3 6000x1 8 10000 1 0 0 -1 0 1 -y3 0 6000 0 1 0 0 1 0 -

    zj 80000 8 0 0 -8 0 8? j= zj- cj 0 -6 0 -8 0 8+M

    Mai exista diferente ? jnegative, deci nu a fost gasita solutia optima.Intra n baza variabila y2si iese variabila y1. Al treilea tablou simplex este

    prezentat n tabelul 1.7.Tabelul 1.7

    cj 8 6 0 0 0 -MVB cjVB VVB x1 x2 y1 y2 y3 ax1 ( )jpi

    i

    a

    b

    y2 0 6000 0 2/3 1/3 1 0 1 9000x1 8 16000 1 2/3 1/3 0 0 2 24000y3 0 6000 0 1 0 0 1 0 6000

    zj 128000 8 16/3 8/3 0 0 16

    ? j= zj- cj 0 -2/3 8/3 0 0 16+M

    Continua etapa de mbunatatire a solutiei determinate la iteratia precedenta.Intra n baza variabila x2 si iese din baza variabila y3. Tabloul simplexcorespunzator este prezentat n tabelul 1.8.

    Tabelul 1.8cj 8 6 0 0 0 -M

    VB cjVB VVB x1 x2 y1 y2 y3 ax1

    y2 0 2000 0 0 1/3 1 -2/3 1x1 8 12000 1 0 1/3 0 -2/3 2

    x2 6 6000 0 1 0 0 1 0zj 132000 8 6 8/3 0 2/3 16? j= zj- cj 0 0 8/3 0 2/3 16+M

    Analiznd elementele liniei ? ja tabelului 1.8 se constata ca toate diferentele suntpozitive, ceea ce nseamna ca ultima solutie admisibila de baza este solutie optima.

    n concluzie, solutia optima a problemei date este: numarul cartilor cucoperta de carton ce trebuie legate este x1 = 12.000 de bucati, iar numarul cartilorcu coperta simpla ce trebuie legate este x2 = 6.000 de bucati.

  • 7/24/2019 Cercetare Operationala(UPIT)

    25/84

    31

    Profitul maxim obtinut este de 132.000 u.m.Variabilele de compensare au valorile: y1=0, y2 = 2.000, y3= 0, adica s-auutilizat toate cele 800 de ore de care dispune legatoria, s-au produs n plus 2000 decarti cartonate, fata de cele 10.000 despre care se stia ca se pot vinde, s-au realizatexact 6.000 de carti cu coperta simpla.

    1.5.2 Metoda celor doua faze

    Se considera problema de programare liniara, data n forma standard:

    ( )

    =

    =

    0XbAX

    Xcxoptf

    (1.36)

    Vom presupune ca matricea A a coeficientilor tehnologici din sistemul derestrictii nu contine nici un vector unitar si ca b = 0 (n caz contrar se nmultesccu -1 restrictiile pentru care bi< 0).

    Daca se adauga fiecarei restrictii i cte o variabila artificiala aix 0 , seobtine:

    =+

    0;0

    0a

    a

    XX

    IXAX (1.37)

    unde I este matricea unitate de tipul m m. Problema initiala are solutie daca sinumai daca sistemul (1.37) are solutii de forma ( )0, aXX cu 0=aX .

    Daca se obtine o astfel de solutie de baza cu 0=aX , atunci vectorul Xconstituie o solutie admisibila de baza de start pentru problema (1.36).

    Asadar pentru a obtine o solutie a sistemului (1.37) cu 0=aX , se rezolvaproblema de programare liniara:

    ( )

    =+

    ==

    0,0

    min1

    a

    a

    m

    i

    ai

    XX

    bIXAX

    xxg

    (1.38)

    folosind algoritmul simplex primal. Aceasta constituie faza I a metodei si are dreptscop eliminarea variabilelor artificiale.

    Pentru rezolvarea problemei (1.38) dispunem de solutia de baza admisibila

    de start X = 0, bXa = , corespunzatoare bazei definite de matricea I atasatasistemului de restrictii.

  • 7/24/2019 Cercetare Operationala(UPIT)

    26/84

    32

    Deoarece 0aix , rezulta ca 01

    =

    m

    i

    aix si deci si 0min

    1

    =

    m

    i

    aix .

    Sunt posibile doua situatii:

    1. 0min1

    >=

    m

    i

    aix si atunci problema (1.36) nu are solutie deoarece nu au

    fost eliminate din baza toate variabilele artificiale.

    2. 0min

    1

    ==

    m

    i

    aix si atunci nseamna ca toate variabilele artificiale au fost

    eliminate din baza si s-a obtinut o solutie de baza admisibila de start pentru

    problema initiala, cu mix ai =

    1,0 . Cu aceasta solutie de start se trece la faza aII-a a metodei care consta n rezolvarea problemei initiale utiliznd algoritmulSimplex primal.

    Observatie . Daca n problema initiala exista o variabila xj care aparentr-o singura ecuatie i cu coeficientul aij = 1, ceea ce nseamna ca matricea Acontine un vector unitar, atunci n ecuatia respectiva nu mai este necesaraadaugarea unei variabile artificiale, deoarece variabila xj poate fi luata n bazainitiala.

    Se ntelege ca, n situatia n care exista k astfel de variabile, se vorintroduce m k variabile artificiale, iar acest lucru scurteaza timpul de rezolvare alprimei faze a metodei.

    Exemplul 1.4 Metoda celor doua faze pentru determinarea unei solutiiadmisibile de baza de start (initiala).

    Sa se gaseasca solutia optima a problemei de programare liniara al caruimodel matematic este urmatorul:

    ( )

    ++

    +=

    0,

    43

    32

    6min

    21

    21

    21

    21

    xx

    xx

    xx

    xxxf

    (1.39)

    Pasul 1. Se aduce modelul matematic al problemei la forma standard prinintroducerea n sistemul de restrictii a variabilelor de compensare y1si y2.

    ( )

    =+=+

    +=

    0,,,

    43

    32

    6min

    2121

    221

    121

    21

    yyxx

    yxx

    yxx

    xxxf

    (1.40)

    Pasul 2. Se scrie matricea A a coeficientilor tehnologici din sistemul derestrictii (1.40).

  • 7/24/2019 Cercetare Operationala(UPIT)

    27/84

    33

    =

    1031

    01122121 yyxx

    A (1.41)

    Matricea A nu contine nici un vector unitar, deci nu putem determina direct

    o solutie admisibila de baza de start pentru aplicarea algoritmului simplex.Pasul 3. Se aplica metoda celor doua faze.Faza I. Se construieste problema modificata prin introducerea variabilelor

    artificiale ax1 siax2 (numarul de variabile artificiale introduse este egal cu numarul

    vectorilor unitari ce formeaza matricea unitate de ordin egal cu numarul de

    restrictii).Modelul matematic al problemei modificate este:

    ( )

    =++

    =++

    +=

    0,,,,,

    43

    32

    min

    212121

    2221

    1121

    21

    aa

    a

    a

    aa

    xxyyxx

    xyxx

    xyxx

    xxxg

    (1.42)

    Se rezolva problema modificata utiliznd algoritmul simplex, solutia de startfiind formata din cele doua variabile artificiale. Primul tablou este prezentat n tabelul 1.9.

    Tabelul 1.9c

    j 0 0 0 0 1 1

    VB cjVB VVB x1 x2 y1 y2 ax1 ax2 ( )pij

    iab

    ax1 1 3 2 1 -1 0 1 0 1

    ax2 1 4 1 3 0 -1 0 1 1/4

    zj 7 3 4 -1 -1 1 1? j= zj- cj 3 4 -1 -1 0 0

    n iteratia a doua (tabelul 1.10) baza este formata din variabilele x2 si ax2 .Tabelul 1.10

    cj 0 0 0 0 1 1VB cjVB VVB x1 x2 y1 y2 a

    x1 a

    x2 ( )pij

    i

    a

    b

    ax1 1 5/3 5/3 0 -1 1/3 1 -1/3 1

    x2 0 4/3 1/3 1 0 -1/3 0 1/3 4zj 5/3 5/3 0 -1 1/3 1 -1/3? j= zj- cj 5/3 0 -1 1/3 0 -4/3

    n iteratia a treia (tabelul 1.11), baza este formata din variabilele x1si x2.

  • 7/24/2019 Cercetare Operationala(UPIT)

    28/84

    34

    Tabelul 1.11cj 0 0 0 0 1 1

    VB cjVB VVB x1 x2 y1 y2 ax1 ax2

    x1 0 1 1 0 -3/5 1/5 3/5 -1/5x2 0 1 0 1 1/5 -2/5 -1/5 2/5

    zj 0 0 0 0 0 0 0? j= zj- cj 0 0 0 0 -1 -1

    Cele doua variabile artificiale au fost eliminate din baza, ( ) 0min =xg si s-aobtinut o solutie de baza optima pentru problema modificata: x1= 1, x2= 1, y1=0,

    y2= 0,

    a

    x1 = 0,a

    x2 = 0. Faza I s-a ncheiat.Faza a II-a. Cu solutia de baza de start: x1= 1, x2= 1, y1 =0, y2= 0 seaplica algoritmul simplex problemei initiale (1.40).

    Primul tablou simplex este prezentat n tabelul 1.12. El se construieste astfel:-

    coeficientii cjsunt cei corespunzatori functiei obiectiv ai problemei intiale;- valoarea variabilelor de baza, VVB, este cea corespunzatoare solutiei

    optime determinata n faza I a metodei;- elementele aijale tabloului se preiau din ultimul tablou simplex, cel n

    care s-a obtinut solutia optima n faza I (tabelul 1.11);- elementele liniilor zj si ? j se calculeaza.

    Tabelul 1.12cj 1 6 0 0

    VB cjVB VVB x1 x2 y1 y2 ( )pij

    i

    a

    b

    x1 1 1 1 0 -3/5 1/5x2 6 1 0 1 1/5 -2/5 5

    zj 7 1 6 3/5 -11/5? j= zj- cj 0 0 3/5 -11/5

    Deoarece exista o diferenta ?j pozitiva, iar problema initiala este oproblema de minim, solutia de baza poate fi mbunatatita. Al doilea tablou simplexeste prezentat n tabelul 1.13.

    Tabelul 1.13 cj 1 6 0 0

    VB cjVB VVB x1 x2 y1 y2x1 1 4 1 3 0 -1y1 0 5 0 5 1 -2

    zj 4 1 3 0 -1? j= zj- cj 0 -3 0 -1

    Solutia optima a problemei initiale este: x1= 4; x2= 0; y1= 5; y2= 0, iarvaloarea minima a functiei obiectiv este egala cu 4.

  • 7/24/2019 Cercetare Operationala(UPIT)

    29/84

    35

    Exemplul 1.5 Cazuri speciale de probleme de programare liniaraa. Problema de programare liniara nu are solutieSa se verifice folosind algoritmul simplex ca problema urmatoare nu are solutie.

    ( )

    +

    +

    +=

    0,

    103

    2

    34max

    21

    21

    21

    21

    xx

    xx

    xx

    xxxf

    (1.43)

    Se scrie problema n forma standard, introducnd variabilele decompensare y1si y2:

    ( )

    =+

    =+++=

    0,,,

    103

    234max

    2121

    221

    121

    21

    yyxx

    yxx

    yxxxxxf

    (1.44)

    Se scrie matricea A a coeficientilor sistemului de restrictii (44):

    =

    1013

    01112121 yyxx

    A (1.45)

    Pentru a forma matricea unitate I2, se introduce n restrictia a doua variabila

    artificiala

    a

    x1 si se aplica metoda bazei artificiale pentru a gasi o solutie de startpentru algoritmul simplex.Problema modificata are urmatorul model matematic n forma standard:

    ( )

    =++

    =+++=

    0,,,,

    103

    2

    34max

    12121

    1221

    121

    21

    a

    a

    xyyxx

    xyxx

    yxx

    Mxxxf

    (1.46)

    Primul tablou simplex este prezentat n tabelul 1.14. Tabelul 1.14

    cj 4 3 0 0 -M

    VB cjVB VVB x1 x2 y1 y2 ax1 ( )pij

    i

    a

    b

    y1 0 2 1 1 1 0 0 2ax1

    -M 10 3 1 0 -1 1 10/3

    zj -10M -3M -M 0 M -M? j= zj- cj -3M-4 -M-3 0 M 0

    Pe linia diferentelor ? j exista valori negative, deci solutia de baza nu estesolutie optima. Se construieste al doilea tablou simplex (tabelul 1.15).

  • 7/24/2019 Cercetare Operationala(UPIT)

    30/84

    36

    Tabelul 1.15cj 4 3 0 0 -M

    VB cjVB VVB x1 x2 y1 y2 ax1 ( )pij

    i

    a

    b

    x1 4 2 1 1 1 0 0ax1

    -M 4 0 -2 -3 -1 1

    zj 8-4M 4 4+2M 4+3M M -M? j= zj- cj 0 1+2M 4+3M M 0

    Analiznd elementele liniei ? j, se constata ca este ndeplinit criteriul deoptim pentru o problema de maxim (? j 0), dar n baza a ramas variabila

    artificiala. Rezulta ca solutia optima a problemei modificate este imposibila(nerealizabila) si problema de programare liniara initiala nu are solutie.

    b. problema de programare liniara are solutie optima infinitaSa se rezolve urmatoare problema de programare liniara:

    ( )

    +

    +=

    0,

    3

    2

    2max

    21

    2

    21

    21

    xx

    x

    xx

    xxxf

    (1.47)

    Se aduce problema la forma standard si se scrie matricea A a coeficientilortehnologici din sistemul de restrictii:

    ( )

    =+=+

    +=

    0,,,

    3

    2

    2max

    2121

    22

    121

    21

    yyxx

    yx

    yxx

    xxxf

    =

    1000

    01112121 yyxx

    A (1.48)

    Cu baza intiala formata din necunoscutele x1 si y2 se construieste primultablou simplex (tabelul 1.16).

    Tabelul 1.16cj 1 2 0 0

    VB cjVB VVB x1 x2 y1 y2( )pij

    i

    a

    b

    x1 1 2 1 1 -1 0 2y2 0 3 0 1 0 1 3

    zj 2 1 1 -1 0? j= zj- cj 0 -1 -1 0

    Pe linia ?jexista doua valori negative egale, adica pot intra n noua bazavariabilele x2si y2.

  • 7/24/2019 Cercetare Operationala(UPIT)

    31/84

    37

    Pentru a afla variabila care iese din baza initiala, se calculeaza valoareaminima a raportului

    ( )pij

    i

    a

    b, numai pentru acele elemente apartinnd coloanei pivot

    pentru care ( ) 0>pija .

    Pe coloana variabilei y1, elementele sunt -1 si 0 ( ( ) 0pija ), ceea censeamna ca problema are o solutie optima infinita.

    Consideram cea de-a doua valoare negativa ? j, cea corespunzatoarevariabilei x2. Elementele coloanei corespunzatoare lui x1sunt ambele strict pozitive(egale cu 1) si se poate aplica criteriul de iesire din baza. Variabila x2intra n baza.

    Al doilea tablou simplex este prezentat n tabelul 1.17.

    Tabelul 1.17cj 1 2 0 0VB cjVB VVB x1 x2 y1 y2 ( )pij

    i

    a

    b

    x2 2 2 1 1 -1 0 -y2 0 1 -1 0 1 1 1

    zj 4 2 2 -2 0? j= zj- cj 1 0 -2 0

    Se formeaza o noua baza din variabilele x2si y1(tabelul 1.18).Tabelul 1.18

    cj 1 2 0 0

    VB cjVB VVB x1 x2 y1 y2x2 2 3 0 1 0 0y1 0 1 -1 0 1 1

    zj 6 0 2 0 0? j= zj- cj -1 0 0 0

    Desi nu s-a obtinut solutia optima, algoritmul nu mai poate continua deoareceelementele coloanei pivot nu sunt strict pozitive. Problema data are optim infinit.

    c. problema de programare liniara are solutii optime multipleSa se rezolve urmatoarea problema de programare liniara:

    ( )

    ++

    +++

    ++++=

    0,,

    16002

    2000

    1200

    220022243max

    321

    321

    321

    21

    321

    321

    xxx

    xxx

    xxx

    xx

    xxxxxxxf

    (1.49)

  • 7/24/2019 Cercetare Operationala(UPIT)

    32/84

    38

    Forma standard a problemei este urmatoarea:( )

    =+++

    =+++=++

    =+++

    ++=

    0,,,,,,

    16002

    20003

    1200

    220022

    243max

    4321321

    4321

    321

    221

    1321

    321

    yyyyxxx

    yxxx

    yxxx

    yxx

    yxxx

    xxxxf

    (1.50)

    Cu baza initiala formata din variabileele de compensare y1, y2, y3 si y4seconstruieste primul tablou simplex (tabelul 1.19):

    Tabelul 1.19cj 3 4 2 0 0 0 0

    VB cjVB VVB x1 x2 x3 y1 y2 y3 y4 ( )pij

    i

    a

    b

    y1 0 2200 2 2 1 1 0 0 0 1100y2 0 1200 1 1 0 0 1 0 0 1200y3 0 2000 1 1 1 0 0 1 0 2000y4 0 1600 1 2 1 0 0 0 1 800

    zj 0 0 0 0 0 0 0 0? j= zj- cj -3 -4 -2 0 0 0 0

    Solutia obtinuta nu este solutie optima, ea poate fi mbunatatita.n noua baza intra variabila x2, iar din baza initiala iese variabila y4.Al doilea tablou simplex este prezentat n tabelul 1.20

    Tabelul 1.20cj 3 4 2 0 0 0 0

    VB cjVB VVB x1 x2 x3 y1 y2 y3 y4 ( )pij

    i

    a

    b

    y1 0 600 1 0 0 1 0 0 -1 600y2 0 400 0 - 0 1 0 - 800

    y3 0 1200 0 0 0 1 - 2400x2 4 800 1 0 0 0 1600zj 3200 2 4 2 0 0 0 2? j= zj- cj -1 0 0 0 0 0 2

    Se continua algoritmul cu o noua baza formata din variabilele x1, y2, y3si x2.Al treilea tablou simplex este prezentat n tabelul 1.21.

  • 7/24/2019 Cercetare Operationala(UPIT)

    33/84

    39

    Tabelul 1.21cj 3 4 2 0 0 0 0

    VB cjVB VVB x1 x2 x3 y1 y2 y3 y4

    x1 3 600 1 0 0 1 0 0 -1y2 0 100 0 0 - - 1 0 0y3 0 900 0 0 - 0 1 0x2 4 500 0 1 - 0 0 1

    zj 3800 3 4 2 1 0 0 1? j= zj- cj 0 0 0 1 0 0 1

    S-a obtinut solutia optima: x1= 600; x2= 500; x3 = 0; y1= 0; y2= 100; y3= 900,valoarea maxima a functiei obiectiv fiind egala cu 3800.Analiznd linia diferentelor? j, se constata o valoare nula corespunzatoare

    variabilei x3, variabila care nu apartine bazei optime. Acest lucru nseamna ca prinintroducerea variabilei x3n baza optima valoarea functiei obiectiv nu se modifica.

    De exemplu, introducem n baza optima variabila x3 n locul variabilei x1(tabelul 1.22).

    n tabelul 1.22 s-au calculat numai valorile variabilelor de baza si valoareafunctiei obiectiv pentru variabilele din baza, restul elementelor tabloului neprezentndimportanta.

    Tabelul 1.22

    cj 3 4 2 0 0 0 0VB cjVB VVB x1 x2 x3 y1 y2 y3 y4

    x1 3 1200y2 0 600 Fara

    importantay3 0 400x3 2 1000

    zj 38000

    Rezulta ca problema de programare liniara admite mai multe solutii

    optime, pentru toate valoarea optima a functiei obiectiv fiind ntotdeauna aceeasi.n concluzie, o problema de programare liniara are solutii optime multipledaca exista diferente ? j nule corespunzatoare unor variabile care nu fac parte dinbaza optima.

    d. problema de programare liniara degenerataSe stie ca o solutie de baza are cel mult mcomponente nenule. Daca o

    solutie de baza are mai putin de mcomponente nenule, ea se numeste degenerata ,iar daca are exact mcomponente nenule se numeste solutie de baza nedegenerata.

  • 7/24/2019 Cercetare Operationala(UPIT)

    34/84

    40

    Pot aparea probleme degenerate n urmatoarele situatii:- daca vectorul termenilor liberi are unele componente nule, atunci la

    aplicarea criteriului de iesire din baza raportul( )pij

    i

    a

    bnu este unic determinat;

    - n cazul n care vectorul termenilor liberi nu este liniar independent fatade orice sistem format din m 1vectori coloana din matricea A, a coeficientilortehnologici ai sistemului de restrictii, la aplicarea criteriului de iesire din baza

    raportul( )pij

    i

    a

    bnu este unic determinat;

    Pentru a elimina nedeterminarea criteriului de iesire din baza, se aplicatehnica perturbarii, care presupune urmatoarele etape:

    Pasul 1. Daca minimul raportului( )pij

    i

    a

    bnu este unic, ci se realizeaza pe o

    multime de indici I0, se compara rapoartele( )

    01 , Ii

    a

    a

    pij

    i , iar variabila care iese

    din baza este cea corespunzatoare raportului minim.Pasul 2. Daca minimul determinat la pasul 1 nu este unic, ci se realizeaza

    pe o multime de indici I1, se compara rapoartele( )

    012 , IIi

    a

    a

    pij

    i , se retine cel

    minim, iar variabila corespunzatoare lui va iesi din baza.

    Pasul 3. Se procedeaza tot asa mai departe pna ce se obtine un minim unic.Ca exemplu, se cere sa se determine solutia optima pentru urmatoarea

    problema de programare liniara:

    ( )

    ( )

    =

    =+=++=+

    =+++

    ++=

    8,...,2,10

    2

    032

    032

    0432

    22

    3

    2

    1min

    874

    87653

    87652

    87651

    8765

    jx

    xxx

    xxxxx

    xxxxx

    xxxxx

    xxxxxf

    j

    (1.51)

    Se poate observa ca n matricea A a coeficientilor sistemului de restrictiiexista submatricea unitate de ordinul patru, formata cu variabilele x1, x2, x3, x4(fiecare variabila intra, cu coeficient egal cu 1, ntr-o unica ecuatie a sistemului derestrictii al problemei).

    Cu variabilele x1, x2 , x3 , x4 formnd baza initiala se construieste primultablou simplex (tabelul 1.23).

  • 7/24/2019 Cercetare Operationala(UPIT)

    35/84

    41

    Tabelul 1.23cj 0 0 0 0 -1/2 1 -3/2 2

    VB cjVB VVB x1 x2 x3 x4 x5 x6 x7 x8 ( )pij

    i

    a

    b

    x1 0 0 1 0 0 0 -2 3 4 1 0x2 0 0 0 1 0 0 -1 -2 3 -1 0x3 0 0 0 0 1 0 1 -1 2 -3 0x4 0 2 0 0 0 1 0 0 1 -1 2

    zj 0 0 0 0 0 0 0 0? j= zj- cj 0 0 0 0 1/2 -1 3/2 -2

    Deoarece exista diferente ? j pozitive, solutia nu este optima. Va intra n

    noua baza variabila x7, coloana corespunzatoare ei fiind coloana pivot (j= 7).Elementele ija ale matricei A, care apartin coloanei pivot, sunt notate 7ia , unde i=

    1,2,3,4.Nu se poate stabili variabila care iese din baza initiala deoarece minimul

    raportului7i

    i

    a

    b,i = 1, 2, 3, nu este unic determinat (trei valori minime egale cu 0).

    Acest minim se realizeaza dupa multimea de indici { }3,2,10=I . Aplicndpasul 1 al tehnicii perturbarii, descrise anterior, obtinem:

    020

    ,30

    ,41

    min,,minmin37

    31

    27

    21

    17

    11

    7

    1

    0

    =

    =

    =

    a

    a

    a

    a

    a

    a

    a

    a

    i

    i

    Ii

    Nici acest minim nu este unic determinat, ci se realizeaza dupa multimeade indici { }3,21=I . Se aplica pasul 2 al tehnicii perturbarii si se obtine:

    030

    ,31

    min,minmin37

    32

    27

    22

    7

    2

    1

    =

    =

    =

    a

    a

    a

    a

    a

    a

    i

    i

    Ii, deci i= 3, ceea ce nseamna

    ca iese din baza variabila x3 .Se continua algoritmul simplex cu noua baza formata din variabilele x1 , x2,

    x7si x4.

    Observatie. Pentru o problema care are cel putin o solutie degenerata existaposibilitatea sa apara, n afara de nedeterminarea criteriului de iesire din baza,

    fenomenul deciclare.Acesta consta n revenirea la una dintre solutiile de baza corespunzatoareunei iteratii anterioare. n aceasta situatie valoarea functiei obiectiv ramnenemodificata pe parcursul mai multor iteratii si ca urmare procesul iterativ continuala infinit.

    Trebuie precizat ca degenerarea nu conduce neaparat la fenomenul de ciclaresi ca n problemele practice rezolvate pna n prezent nu s-a constatat aparitia ciclarii.

  • 7/24/2019 Cercetare Operationala(UPIT)

    36/84

    42

    Probleme propuse spre rezolvare

    P 1.5 O firmaproduce trei produse A, B, C, folosind trei resurse R1, R2, R3.Consumurile specifice, cantitatile disponibile din fiecare resursa si beneficiile unitaresunt prezentate n tabelul urmator:

    ProduseResurse

    A B C Disponibil

    R1 2 3 - 20R2 - 4 5 30R3 1 2 1 50

    Beneficiul unitar 20 40 60

    Utiliznd algoritmul simplex sa se determine planul de productie pentru celetrei produse astfel nct beneficiul sa fie maxim.

    P 1.6 Pentru executarea a doua produse P1 si P2 trebuie efectuate operatiisuccesive, n ordine aleatoare, pe trei masini-unelte M1, M2, M3. Timpii unitari deexecutie (n min/buc), timpul disponibil de lucru pe fiecare masina (min) si beneficiulunitar obtinut pentru fiecare produs (u.m./buc) sunt date n tabelul de mai jos:

    ProduseMasini

    P1 P2 Timpdisponibil

    M1 11 9 9900M2 7 12 8400M3 6 16 9600

    Beneficiul unitar 900 1000

    Utiliznd algoritmul simplex, sa se determine planul de productie pentru celedoua produse astfel nct beneficiul obtinut sa fie maxim.

    P 1.7 O ntreprindere realizeaza patru categorii de produse P1, P2, P3, P4utiliznd trei locuri de munca L1, L2, L3. Necesarul de timp, exprimat n ore, pentrufabricarea fiecarui produs, capacitatile de productie ale celor trei locuri de muncaprecum si preturile de desfacere a produselor sunt date n tabelul urmator.

    ProduseLocuri de munca

    P1 P2 P3 P4 Capacitateade productie

    L1 45 20 20 9 3780L2 45 25 25 0 4410L3 9 5 0 0 350

    Pretul de desfacere 1260 1960 700 1000

  • 7/24/2019 Cercetare Operationala(UPIT)

    37/84

    43

    Folosind algoritmul simplex, sa se determine structura optima a productieiastfel nct pretul total de desfacere a celor patru produse sa fie minim.

    P 1.8 ntr-osectie a unei ntreprinderi electronice, la patru locuri de muncaCj, j = 1,2,3,4, se realizeaza trei tipuri de componente Ci, i = 1,2,3. La fiecare loc demunca se poate lucra respectiv 2200, 1200, 2000 si 1600 ore/an.

    n tabelul de mai jos se indica duratele de prelucrare pentru fiecare tip decomponenta (ore/buc) si beneficiul unitar (u.m./buc) obtinut prin vnzarea acestora.

    MjCi

    M1 M2 M3 M4 Beneficiulunitar

    C1 2 1 1 1 3

    C2 2 1 1 2 4C3 1 0 1 1 2

    Sa se determine planul de productie care sa asigure beneficiul total maxim.

    P 1.10 O unitate de productie poate produce doua sortimente A si B dintr-unprodus utiliznd trei utilaje U1, U2, U3.

    n tabelul urmator sunt date capacitatile masinilor precum si consumul unitarde ore/masina pentru fiecare sortiment.

    Sortimente

    Utilaje

    A B Capacitatea

    disponibilaU1 0,2 0,8 6U2 0,4 1 8U3 1 0,4 8

    Sa se stabileasca structura sortimentelor care asigura producerea numaruluimaxim de produse n limita capacitatilor disponibile.

    P 1.9 Un agricultor doreste sa cultive rosii si ardei pe cele 150 hectare desuprafata irigabila pe care le poseda. El dispune de 480 ore mna de lucru si 440 m3de apa. Un hectar de rosii necesita o ora de mna de lucru, 4 m3de apa si aduce unbeneficiu net de 100 u.m. (unitati monetare). Un hectar de ardei necesita 4 ore mna

    de lucru, 2 m3

    de apa si aduce un beneficiu net de 200 u.m.Asociatia locala a agricultorilor doreste sa protejeze pretul rosiilor si nu-i

    permite sa cultive dect maxim 90 de hectare de rosii. Suprafata cultivata cu ardei nuare restrictii de exploatare.

    Care este cea mai buna alocare a resurselor astfel nct beneficiulagricultorului sa fie maxim?

    P 1.10 O firma produce doua tipuri de televizoare , T1si T2, pe doua linii defabricatie L1 si L2(cte una pentru fiecare tip de televizor).

  • 7/24/2019 Cercetare Operationala(UPIT)

    38/84

    44

    Capacitatea primei linii L1este de 30 televizoare pe zi, iar a celei de-a doualinii L2de 25 de televizoare pe zi.Pentru asamblare se folosesc muncitori care lucreaza la ambele tipuri de

    televizoare. Sunt disponibile cel mult 70 de ore pe zi la asamblare.Pentru T1este necesara o ora, iar pentru T2sunt necesare 2 ore.Contributia la profitul firmei este de 2 u.m. la T1si de 3 u.m. la T2.Ce plan de productie trebuie sa stabileasca conducerea firmei pentru ca

    profitul sa fie maxim?

    P1.11O ntreprindere produce un amestec de seminte de floarea-soarelui simei pentru hrana pasarilor. Continutul nutritional al amestecului este dat n tabelul demai jos:

    Continut Floarea-soarelui Mei NecesarGrasimi 0,3 0,2 24Proteine 0,5 0,6 60Substante nedigerabile 0,3 0,2 30Costul pe kg. 5 u.m. 9 u.m.

    Amestecul trebuie sa contina cel putin 24 de unitati de grasimi, cel putin 60de unitati de proteine si cel mult 30 de unitati nedigerabile.

    Sa se determine cantitatile de floarea-soarelui si de mei pe care trebuie sa lecontina amestecul pentru a minimiza costul total.

    P 1.12 Un atelier de prelucrari mecanice este specializat n prelucrarea deseturi de piese pentru tipurile A si B de piese finite. Atelierul dispune de trei tipuride utilaje: 1 strung; 2 masina de frezat; 3 masina de gaurit. Timpii miniminecesari executarii unui set de piese, tij, [min/set piese], fondul disponibil de timpFdi [min/luna] si beneficiul planificat bj [unitati monetare/set piese] sunt date ntabelul urmator:

    tij[min/set piese]Tipuri deproduse

    Grupa deutilaje

    A BFdi[min/luna]

    1 11 9 99002 7 12 84003 6 16 9600

    bj[u.m./set piese] 90 100

    Sa se determine cantitatea de seturi de piese ce urmeaza a fi prelucrata peluna, n conditiile realizarii unui beneficiu maxim.

  • 7/24/2019 Cercetare Operationala(UPIT)

    39/84

    45

    P 1.13 Un meniu trebuie sa asigure organismului necesarul de substanteS1, S2si S3cu ajutorul alimentelor A1, A2, A3. Cantitatile de substante S1, S2si S3ce se gasesc ntr-o unitate de aliment de fiecare fel, cantitatile din cele treisubstante necesare organismului, precum si preturile celor trei alimente sunt date ntabel:

    AjSi

    A1 A2 A3 Necesar[unitati]

    S1 4 3 2 24S2 5 7 2 35S3 1 5 4 40

    Pret [u.m.] 8 7 5

    Sa se determine cantitatile din cele trei elemente ce trebuie introduse nmeniu astfel nct costul total al retetei sa fie minim (n raport cu aceste treialimente).

    P 1.14 O ntreprindere fabrica patru categorii de produse P1, P2, P3, P4latrei locuri de munca L1, L2, L3. Necesarul de timp (n ore) pentru fabricarea fiecaruiprodus, capacitatile de productie (n ore) ale celor trei locuri de munca, precum sipreturile de desfacere a produselor sunt trecute n tabelul urmator:

    Pj

    Li

    P1 P2 P3 P4 Capacitatea

    de productieL1 45 20 20 9 3780L2 45 25 25 0 4410L3 9 5 0 0 350

    Pret dedesfacere [u.m.]

    1260 1960 700 1000

    Sa se determine structura optima a productiei astfel nct pretul total dedesfacere sa fie minim.

    P 1.15 ntr-un laborator al unei ntreprinderi metalurgice se ncearcaobtinerea unui aliaj special care trebuie sa contina cel putin 4% Mn, cel putin 3%

    Cr si cel putin 2% Ni. ntreprinderea dispune de doua categorii de materii primecare contin mangan, crom si nichel n cantitatile specificate n tabelul de mai jos:

    AliajeMaterii

    primeMn Cr Ni

    M1 2% 4% 2%M2 6% 3% 1%

  • 7/24/2019 Cercetare Operationala(UPIT)

    40/84

    46

    Costul unui kilogram de materie prima de tipul M1este de 70 u.m., iar detipul M2de 55 u.m. Sa se stabileasca reteta de amestec optim din punct de vedere alcostului.

    P1.16 O institutie care efectueaza sondaje de opinie a obtinut un contractpentru interviuri personale si la telefon.

    Clientul a specificat urmatoarele conditii:-

    sa se realizeze cel putin 1000 de interviuri, dintre care cel putinjumatate sa fie efectuate personal;

    -

    cel putin 30% dintre interviuri sa fie programate noaptea;-

    la cel mult 40% dintre cei intervievati ziua sa lise dea telefon;

    -

    costurile sunt de 6 u.m. pentru un telefon, de 10 u.m. pentru interviurilepersonale, n timp ce interviurile programate noaptea costa cu 20% mai mult dectcele realizate ziua.

    Cum trebuie programate interviurile pentru minimizarea costului total?

    P1.17 O firma produce trei tipuri de ceai, C1, C2, C3, folosind amestecuri deceaiuri din import, din trei tari T1, T2, T3. Compozitia fiecarui tip de ceai, cantitatiledisponibile si beneficiile unitare sunt date n tabelul de mai jos:

    Tara C1 C2 C3 Disponibil (kg)T1 20% 30% 40% 200T

    240% 30% 20% 220

    T3 40% 40% 40% orictBeneficiu unitar 2 3 5

    Se pot vinde cel putin 20 de kilograme de ceai C1.Care este planul lunar optim de productie, pentru un beneficiu total maxim?

    P 1.18 O firma realizeaza trei produse folosind patru tipuri de resurse.Datele problemei sunt date n tabelul urmator.

    ProduseResurse

    P1 P2 P3 Disponibil

    R1 1 1 2 860R2 2 3 0 920R3 0 1 4 860R4 1 1 1 600

    Beneficiu unitar 60 40 100

    Sa se determine planul optim de productie pentru un beneficiu total maxim.

  • 7/24/2019 Cercetare Operationala(UPIT)

    41/84

    47

    1.6 Dualitatea n programarea liniara

    n principiu, fiecarei probleme de programare liniara (numita problemaprimala ) i corespunde o alta problema de programare liniara, numita dualasa.mpreuna cele doua probleme formeaza un cuplu primala duala.

    1.6.1 Reguli de construire a problemei dualeProblema duala se construieste folosind elementele problemei primale si o

    serie de reguli, cte una pentru fiecare dintre componentele unei probleme deprogramare liniara.

    Aceste componente se refera la:1.Natura operatorului functiei obiectiv (minim sau maxim).2.

    Necunoscutele problemei, adica vectorul X (vector transpus) alvariabilelor: ( )nxxxX ,...,, 21= .

    3.

    Coeficientii functiei obiectiv, adica elementele vectorului ( )ncccc ,...,, 21= .4.

    Termenii liberi ai restrictiilor, adica elementele vectorului ( )mbbbb ,...,, 21= .5. Coeficientii tehnologici din sistemul de restrictii, adica elementele matricei A:

    =

    m nmm

    n

    n

    aaa

    aaa

    aaa

    A

    LL

    MOMMM

    LL

    LL

    21

    22221

    11211

    6.Natura fiecarei restrictii (=, sau =).7.

    Conditia de semn a fiecarei variabile: 0jx sau 0jx sau jx - oarecare.

    Elementele problemei duale vor fi notate astfel: u vectorul variabilelor (transpus); Dc vectorul coeficientilor functiei obiectiv; Db vectorul termenilor liberi ai restrictiilor;

    AD matricea coeficientilor tehnologici ai restrictiilor.

    Regulile de constructie a problemei duale sunt urmatoarele:1. Duala este o problema de minim daca primala este o problema de maxim si

    invers.2. Fiecarei restrictii i a problemei primale i corespunde o variabila uia problemei

    duale, deci duala va avea un numar de mvariabile, numar egal cu numarul derestrictii ale problemei primale.

    3.

    Coeficientii functiei obiectiv ai dualei sunt termenii liberi ai restrictiilorprimalei.

  • 7/24/2019 Cercetare Operationala(UPIT)

    42/84

    48

    4.

    Termenii liberi ai restrictiilor dualei sunt coeficientii functiei obiectiv aproblemei primale.5.

    Matricea coeficientilor tehnologici din restrictiile dualei este transpusa matriceicoeficientilor tehnologici din restrictiile primalei.

    6.Natura fiecarei restrictii a problemei duale depinde de conditia de semn avariabilei xj a problemei primale, asociata respectivei restrictii:-restrictia dualei este concordanta, daca 0jx ;

    -restrictia dualei este neconcordanta , daca 0jx ;

    -

    restrictia dualei este egalitate, daca jx oarecare.

    7.

    Conditia de semn a variabilei ui a problemei duale este:

    -0

    iu

    , daca restrictia corespunzatoare din primala esteconcordanta

    ;- 0iu , daca restrictia corespunzatoare din primala este neconcordanta;- iu oarecare, daca daca restrictia corespunzatoare din primala este egalitate.

    Exemplul 1.6 Constructia dualei unei probleme de programare liniaraSa se construiasca duala urmatoarei probleme de programare liniara:

    ( )

    =

    =

    0,

    4

    3

    2max

    21

    1

    21

    21

    xx

    x

    xx

    xxxf

    Conform regulilor enuntate anterior, vom avea: Optimul functiei obiectiv a dualei este minim, deoarece primala este o problemade maxim; Variabilele dualei vor fi:

    - u1 corespunzatoare restrictiei 321 =xx - u2 corespunzatoare restrictiei 41x

    Coeficientii functiei obiectiv a dualei vor fi egali cu termenii liberi ai restrctiilorproblemei primale; functia obiectiv a dualei este:

    ( ) 21 43min uuug += Duala va avea doua restrictii, cte variabile are primala, ele obtinndu-se astfel:

    - matricea A a coeficientilor tehnologici este transpusa matricei A a primalei:

    =01

    1121 xx

    A

    =

    01

    1121 uu

    A

    - termenii liberi ai restrictiilor dualei sunt egali cu coeficientii functiei obiectivai primalei;

  • 7/24/2019 Cercetare Operationala(UPIT)

    43/84

    49

    - ambele restrictii ale dualei sunt concordante, deoarece cele doua variabile aleproblemei primale 0, 21 xx ; cum duala este o problema de minim, semnulrestrictiilor este ;Sistemul de restrictii al dualei va fi:

    +1

    2

    1

    21

    u

    uu

    Conditiile de semn ale variabilelor dualei vor fi:- 1u oarecare, deoarece prima restrictie a problemei primale este egalitate;

    - 02u , deoarece a doua restrictie a problemei primale este concordanta.n final, problema duala este:

    ( )

    +

    +=

    0,

    1

    243min

    21

    1

    21

    21

    uoarecareu

    u

    uuuuug

    1.6.2 Dualele unor forme particulare de probleme de programare liniara

    1. Duala unei forme canonice de maximizare este o forma canonica deminimizare si reciproc.

    ( )

    +++

    ++++++

    +++=

    0,...,0,0

    ...

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

    ...

    ...

    ...max

    21

    2211

    22222121

    11212111

    2211

    n

    mnm nmm

    nn

    nn

    nn

    xxx

    bxaxaxa

    bxaxaxa

    bxaxaxa

    xcxcxcxf

    PRIMALA

    ( )

    +++

    ++++++

    +++=

    0,...,0,0

    ...

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

    ...

    ...

    ...min

    21

    2211

    22222112

    11221111

    2211

    m

    nmm nnn

    mm

    mm

    mm

    uuu

    cuauaua

    cuauaua

    cuauaua

    ubububug

    DUALA

    (1.52)

    n forma matriciala, cuplul de probleme primala-duala se scrie:

    ( )

    =

    0

    max

    X

    bAX

    XcxfPRIMALA

    ( )

    =

    0

    min

    U

    cUA

    UbugDUALA

    (1.53)

    2. Duala unei probleme n forma standard nu este o problema n forma standard

  • 7/24/2019 Cercetare Operationala(UPIT)

    44/84

    50

    ( )

    =

    ==

    =

    =

    njx

    mibxa

    xcxf

    PRIMALA

    j

    n

    jjij

    n

    jjj

    ,...,10

    ,...,1

    max

    1

    1

    ( )

    =

    =

    =

    =

    =

    misrfu

    njcua

    ubug

    DUALA

    i

    m

    iiiij

    m

    iii

    ,...,1..

    ,...,1

    min

    1

    1

    (1.54)

    sau matricial

    ( )

    =

    =

    0

    max

    X

    bAX

    Xcxf

    PRIMALA

    ( )

    ( )

    =

    ...

    min

    srfRU

    cUA

    Ubug

    DUALA

    m

    (1.55)

    Analog, se scrie duala formei standard n care optimul functiei obiectiv este minim.

    ( )

    =

    =

    0

    min

    X

    bAX

    Xcxf

    PRIMALA

    ( )

    ( )

    =

    ...

    max

    srfRU

    cUA

    Ubug

    DUALA

    m

    (1.56)

    1.6.3 Teoreme de dualitate

    Se considera cuplul de probleme (P)-(D), primala-duala n forma canonica:

    (P)( )

    =

    0

    min

    X

    bAX

    Xcxf (D)

    ( )

    =

    0

    max

    U

    cUA

    Ubug

    Teorema 1. Fie X o solutie admisibila a problemei (P) si U o solutie

    admisibila a problemei (D). Atunci:1. UbXc 2. Daca ** UbXc = atunci *X este o solutie optima a problemei (P) iar

    *U este o solutie optima a problemei (D).Demonstratie:

    1. ( ) bUAXUU

    bAX

    0

    si ( ) cXUAXX

    cUA

    0Rezulta: UbXc

  • 7/24/2019 Cercetare Operationala(UPIT)

    45/84

    51

    2. Daca UbXc = si daca X*nu ar fi solutie optima pentru (P) ar exista o solutieadmisibila mai buna X si UbXcXc = * , contrar celor demonstrate la punctulprecedent. Rezulta ca X* este solutie optima pentru (P). Analog, U* este solutieoptima pentru (D).

    Teorema 2 (teorema fundamentala a dualitatii).ntr-un cuplu de problemeprimala-duala, una si numai una din urmatoarele afirmatii este adevarata:

    a.

    Ambele probleme au solutii. n acest caz ambele probleme au solutiioptime si valorile optime ale functiilor obiectiv coincid

    b.

    Una dintre probleme are solutie, iar cealalta nu. n acest caz problemacare are solutie admite un optim infinit.

    c.

    Nici una dintre probleme nu are solutie.

    Teorema 3. Daca una dintre problemele unui cuplu primara-duala aresolutie optima atunci si cealalta are solutie optima si valorile optime ale functiilorobiectiv coincid.

    Observatie: pe baza acestei teoreme rezulta ca rezolvarea uneia dintre celedoua probleme ale cuplului primala-duala ofera solutia optima si pentru cealaltaproblema. Alegerea spre rezolvare a uneia dintre probleme este determinata dedimensiunea cea mai redusa a bazelor admisibile.

    Teorema 4 (teorema ecarturilor complementare). O conditie necesara sisuficienta pentru ca un cuplu de solutii admisibile de baza X*si U*sa fie optim esteca solutiile sa verifice relatiile:

    ( )mibxaun

    jijiji ,...,10

    1

    ** ==

    =

    (1.57)

    ( )njxuac jm

    iiijj ,...,10

    *

    1

    * ==

    =

    Pe baza acestor relatii se pot formula urmatoarele concluzii:

    1.

    daca 0* >iu atunci in

    jjij bxa =

    =1

    * ;

    2.

    daca in

    j jij bxa jx atunci jm

    iiij cua =

    =1

    * ;

    4.

    daca >=

    m

    ijiij cua

    1

    * atunci 0* =jx .

    Prima relatie arata ca variabila duala corespunzatoare unei resurseconsumate n ntregime are o valoare pozitiva.

  • 7/24/2019 Cercetare Operationala(UPIT)

    46/84

    52

    Adoua relatie arata ca daca o resursa nu a fost utilizata n ntregime,variabila duala corespunzatoare ei este nula.Din analiza relatiilor 3 si 4 se trage concluzia ca daca costul unitar al

    activitatii aj , obtinut prin evaluarea consumurilor specifice aij cu ajutorulcomponentelor solutiei optime a problemei duale, este egal cu coeficientul cjdin

    functia obiectiv (de exemplu beneficiul unitar) atunci componenta 0* >jx , iar dacaacest cost este mai mare dect cjatunci nu este eficient sa includem n programul

    optim activitatea aj ( 0* =jx ).

    1.6.4 Interpretarea economica a problemei duale

    Se considera urmatoarea problema de programare liniara n care se cerestabilirea unui plan optim de productie.

    O firma realizeaza nproduse Pj, j = 1,,n, folosind m resurse Ri, i =1,,m. Consumurile specifice aij , cantitatile disponibile din fiecare resursa bi sibeneficiile unitare cjpentru fiecare produs sunt cunoscute.

    Pentru construirea modelului matematic se introduc variabilele de deciziexj= numarul de produsePj(j = 1,,n)ce se vor fabrica.

    Obiectivul firmei fiind maximizarea beneficiului total realizat din vnzareaproduselor, programul liniar pentru determinarea combinatiei optime de produse este:

    (P)

    ( )

    +++

    ++++++

    +++=

    0,...,0,0

    ...

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

    ...

    ...

    ...max

    21

    2211

    22222121

    11212111

    2211

    n

    mnm nmm

    nn

    nn

    nn

    xxx

    bxaxaxa

    bxaxaxa

    bxaxaxa

    xcxcxcxf

    Sa notam cu )**2*1* ,...,, nxxxX = combinatia de produse care aduce firmeibeneficiul maxim: ) **2*11** ...max nnxccxcXffB +++===

    Daca admitem ca singura posibilitate a firmei de a obtine beneficiul B*este

    transformarea resurselor disponibile n produse conform programului X* sivnzarea acestora, apare ntrebarea: care este contr


Recommended