cercetari operationale

41
CERCETĂRI OPERAŢIONALE Tematică – CURS I. PROGRAMARE LINIARĂ 1.1. Forme de prezentare ale unei probleme de programare liniară 1.2. Trecerea de la o formă de prezentare la alta 1.3. Soluţiile unei probleme de programare liniară 1.4. Rezolvarea unei probleme de programare liniară 1.5. Dualitate în programarea liniară II. PROBLEME DE OPTIMIZARE ÎN REŢELE DE TRANSPORT 2.1. Modelarea problemelor de transport 2.2. Adaptarea metodei simplex la rezolvarea problemei de transport 2.3. Variante ale problemei de transport III. MODELE MATEMATICE PENTRU GESTIUNEA STOCURILOR 3.1. Noţiuni generale 3.2. Modele deterministe 3.3. Modele probabiliste IV. ELEMENTE DE TEORIA GRAFURILOR 4.1. Concepte de bază 4.2. Matrici asociate unui graf 4.3. Găsirea drumurilor într-un graf orientat 4.4. Determinarea drumurilor hamiltoniene 4.5. Drumuri de valoare optimă într-un graf V. TEST PENTRU EVALUAREA CUNOŞTINŢELOR. ANALIZA REZULTATELOR

Upload: sava-vlad

Post on 08-Nov-2015

259 views

Category:

Documents


19 download

DESCRIPTION

Cercetari Operationale

TRANSCRIPT

  • CERCETRI OPERAIONALE

    Tematic CURS

    I. PROGRAMARE LINIAR

    1.1. Forme de prezentare ale unei probleme de programare liniar

    1.2. Trecerea de la o form de prezentare la alta

    1.3. Soluiile unei probleme de programare liniar

    1.4. Rezolvarea unei probleme de programare liniar

    1.5. Dualitate n programarea liniar

    II. PROBLEME DE OPTIMIZARE N REELE DE TRANSPORT

    2.1. Modelarea problemelor de transport

    2.2. Adaptarea metodei simplex la rezolvarea problemei de transport

    2.3. Variante ale problemei de transport

    III. MODELE MATEMATICE PENTRU GESTIUNEA STOCURILOR

    3.1. Noiuni generale

    3.2. Modele deterministe

    3.3. Modele probabiliste

    IV. ELEMENTE DE TEORIA GRAFURILOR

    4.1. Concepte de baz

    4.2. Matrici asociate unui graf

    4.3. Gsirea drumurilor ntr-un graf orientat

    4.4. Determinarea drumurilor hamiltoniene

    4.5. Drumuri de valoare optim ntr-un graf

    V. TEST PENTRU EVALUAREA CUNOTINELOR.

    ANALIZA REZULTATELOR

  • Tematic - SEMINAR

    1. Probleme economice care conduc la modele de optimizare liniar

    - folosirea eficient a resurselor limitate

    - alocarea optim de fonduri bneti

    - probleme de nutriie

    2. Rezolvarea unei probleme de programare liniar

    - metoda grafic

    - algoritmul simplex

    3. Dualitate n programarea liniar.

    4. Interpretarea economic a dualitii

    5. Rezolvarea problemei de transport

    6. Variante ale problemei de transport

    7. Modele matematice pentru gestiunea stocurilor

    - modele deterministe

    - modele probabiliste

    8. Determinarea drumurilor ntr-un graf orientat; drumuri hamiltoniene

    - algoritmul lui Chen

    - algoritmul lui Kaufmann

    9. Drumuri de valoare optim ntr-un graf

    - algoritmul Bellman-Kalaba

  • I. PROGRAMARE LINIAR

    1.1. Forme de prezentare ale unei probleme de programare liniar

    FORMA GENERAL

    Se spune c o problem de programare liniar (P.P.L.) este prezentat sub forma general

    dac este scris astfel:

    [ ]

    Deci o P.P.L. este dat sub forma general dac, indiferent de scopul optimizrii (min sau

    max), aceasta are restricii de toate felurile i variabile de toate semnele.

    Observaie. Cnd se spune c (x are semn oarecare) nseamn c oricare din

    rezultatele sau sau poate fi acceptat.

    FORMA STANDARD

    O problem de programare liniar este prezentat sub forma standard dac este scris astfel:

    [ ]

    sau matricial:

    [ ]

  • unde: ( )

    ( ), ( ) ,

    (

    ) , (

    )

    Deci o P.P.L. este dat sub forma standard dac aceasta are toate restriciile egaliti i toate

    variabilele nenegative.

    FORME CANONICE

    Forma canonic de max. [ ]

    sau matricial:

    [ ]

    Forma canonic de min. [ ]

    sau matricial:

    [ ]

  • 1.2. Trecerea de la o form de prezentare la alta

    Trecerea de la forma general la forma standard

    Procedura de trecere comport dou etape:

    Etapa I Pozitivitatea variabilelor problemei - se obine printr-o schimbare de variabil

    sau transformare liniar, astfel:

    {

    ,

    Observaie. Orice numr real se poate scrie ca diferena a dou numere reale pozitive.

    Etapa a-II-a Transformarea inegalitilor n egaliti - se face prin introducerea unor

    variabile de compensare (egalizare, ecart) nenegative, prin adunarea la membrul cel mic al

    fiecrei inegaliti:

    dac , atunci

    ,

    dac , atunci

    , sau

    echivalent ,

    Obsevaie. Nu exist nici o legtur ntre variabilele de la transformarea de semn i cele de

    compensare. Pot fi aceleai litere sau nu, dar cu ali indici. Variabilele de compensare intr n

    funcia obiectiv cu coeficienii zero.

    Trecerea de la forma canonic la forma standard

    Deoarece n ambele forme de prezentare (canonic, standard) variabilele sunt nenegative,

    trecerea de la forma canonic la forma standard nseamn transformarea inecuaiilor n ecuaii

    prin introducerea variabilelor de compensare.

  • Trecerea de la forma general la forma canonic

    Procedura de trecere comport 2 etape:

    Etapa I Pozitivitatea variabilelor problemei

    Etapa a-II-a Transformarea tuturor restriciilor n inegaliti de acelai sens, operaiune care

    are la baz urmtoarele echivalene:

    ( ) ( )

    {

    i nmulirea uneia dintre ele cu (-1).

    1.3. Soluiile unei probleme de programare liniar

    Soluii posibile

    Fr a diminua generalitatea problemei, vom presupune c aceasta este prezentat sub

    forma standard:

    [ ]

    (*)

    unde: ( )

    ( ), ( ) ,

    (

    ) , (

    ) .

    Definiia 1. Se numete soluie posibil (admisibil, realizabil) a P.P.L. (*), orice

    vector care satisface simultan restriciile problemei precum i condiiile de semn.

    Mulimea soluiilor posibile se va nota cu:

    { }

  • Pentru o P.P.L. se poate ca mulimea soluiilor posibile s se afle ntr-una din situaiile:

    1. (este mulimea vid), caz n care se spune c restriciile problemei sunt

    contradictorii;

    2. { } se reduce la un singur punct, caz n care nu exist posibilitatea alegerii

    celei mai bune soluii pentru c soluia posibil fiind unic ea este i cea mai bun i

    cea mai rea;

    3. are cel puin 2 elemente, caz n care exist posibilitatea alegerii celei mai bune

    soluii, printr-un procedeu sau algoritm specific.

    Din punct de vedere practic, primele dou cazuri sunt lipsite de interes.

    Teorema 1. Mulimea soluiilor posibile este convex, adic odat cu oricare dou

    puncte ale sale, segmentul care le unete aparine, de asemenea, mulimii:

    ( ) , segmentul [ ] { ( ) [ ]} .

    Teorema 2. Dac o P.P.L. (n variabile continue) admite mai mult de o soluie posibil,

    atunci ea admite o infinitate de soluii posibile.

    Soluii de baz

    Fie { } ( ) matricea restriciilor problemei, unde coloana

    conine coeficienii necunoscutei a sistemului de restricii, .

    Sistemul de restricii, scris desfurat, poate fi pus sub forma:

    (**)

    unde: (

    ) , .

    Deci, vectorul b poate fi exprimat ca o combinaie liniar a vectorilor ( ) din

    acelai spaiu liniar .

  • Avnd n vedere compatibilitatea sistemelor de ecuaii liniare, pentru programarea

    liniar prezint interes cazul n care sistemul de restricii (**) este compatibil nedeterminat,

    ceea ce are loc dac:

    ( )

    Din acest motiv, s presupunem c:

    ( ) .

    Observaie. Dac ( ) , atunci se poate renuna la (m-r)

    restricii, deoarece prezena sau absena lor nu influeneaz asupra existenei soluiei

    problemei.

    Definiia 2. O soluie posibil a P.P.L. (*) se numete soluie de baz dac ndeplinete

    urmtoarele condiii:

    1. are cel mult m componente strict pozitive, iar celelalte sunt nule.

    2. coloanele matricei A corespunztoare componentelor strict pozitive sunt vectori liniar

    independeni (din ).

    Definiia 3. O soluie de baz a P.P.L. (*) se numete:

    nedegenerat - dac are exact m componente strict pozitive;

    degenerat dac are mai puin de m componente strict pozitive.

    Vom nota cu mulimea soluiilor de baz; . Dac , atunci .

    Avem dac sau se reduce la un punct.

    Teorema 3. Dac ( ) , atunci numrul soluiilor de baz ale

    P.P.L. (*) satisface condiiile:

    ( )

    Teorema 4. Orice soluie de baz a P.P.L. (*) este vrf al mulimii soluiilor posibile ale

    problemei i reciproc.

    Deci

  • Observaie.

    Un punct se numete punct extrem sau vrf al mulimii convexe dac nu

    exist nici o pereche de puncte i ( ) astfel nct ( ) .

    Geometric, este vrf al lui C orice punct care nu se poate afla pe nici un segment de dreapt

    n interiorul segmentului.

    Soluii optime

    Definiia 4. O soluie posibil a problemei P.P.L. (*) se numete soluie optim

    dac satisface i cerina de optim:

    ( ) [ ]

    ( )

    Notm cu: { (

    ) [ ] ( )} mulimea soluiilor optime.

    Avem dac sau se reduce la un punct.

    Definiia 5. Se spune c o P.P.L. admite:

    optim unic dac conine un singur element;

    optim multiplu dac conine cel puin 2 elemente.

    Teorema 5. Mulimea soluiilor optime a unei P.P.L. este mulime convex.

    Prin urmare, dac problema admite dou soluii optime distincte, atunci aceasta admite o

    infinitate de soluii optime.

    Teorema 6. Soluia optim a P.P.L. (*) se afl printre vrfurile mulimii soluiilor posibile

    ale problemei.

    Dac P.P.L. are optim finit, atunci acesta se afl ntr-un vrf al lui (tronson sau

    poliedru convex).

    Dac P.P.L. are optim infinit, putem admite c acesta este atins n punctul de la infinit

    (care aparine lui numai cnd este nemrginit).

  • 1.4. Rezolvarea problemei de programare liniar

    METODA GRAFIC comport urmtoarele etape:

    1. se determin grafic mulimea soluiilor posibile ;

    2. se determin mulimea soluiilor de baz , adic mulimea vrfurilor lui ;

    3. se determin mulimea soluiilor optime , calculnd valoarea funciei obiectiv n

    fiecare vrf al lui i alegnd, dup caz, valoarea cea mai mic sau cea mai mare.

    Observaii.

    1. Metoda grafic este limitat ca aplicare la probleme cu dou i, uneori, cu trei

    variabile.

    2. Este ns util pentru a putea ilustra grafic mulimile , i , avnd astfel o

    baz de discuii pentru problemele cu mai multe variabile.

    METODA ALGEBRIC comport urmtoarele etape:

    1. se determin toate soluiile de baz ale sistemului de restricii;

    2. se determin soluia optim, calculnd valoarea funciei obiectiv pentru fiecare soluie

    de baz i alegnd, dup caz, valoarea cea mai mic sau cea mai mare.

    Prin urmare, att metoda grafic, ct i metoda algebric, presupun parcurgerea a dou etape:

    Etapa I - etapa de enumerare a soluiilor de baz

    Etapa a-II-a - etapa de evaluare a soluiilor de baz.

    De fapt, aceasta este metoda de enumerare i evaluare a soluiilor, ntlnit i n alte clase

    de probleme de optimizare.

  • METODA SIMPLEX

    Scopul metodei simplex este de a alege soluia optim pornind de la un vrf oarecare al lui

    , adic de la o soluie de baz, i trecnd apoi la un alt vrf care s fie o soluie mai bun

    dect precedenta (n sensul optimului).

    Algoritmul simplex va lua sfrit n dou situaii i anume:

    s-a ajuns la cea mai bun soluie, constatndu-se dac problema are optim unic sau

    multiplu;

    nu se poate ajunge la cea mai bun soluie (pentru c nu exist) i se ia decizia c

    problema nu are optim finit (problema are optim infinit).

    ntrebrile la care trebuie s rspund orice metod de rezolvare a unei probleme de

    optimizare, n particular i metoda simplex, sunt urmtoarele:

    Cum pornim?

    Cum trecem de la o soluie la alta?

    Cum ne oprim?

    Presupunem c problema de programare liniar (P.P.L.) este prezentat (adus)

    la forma standard:

    [ ]

    unde: ( ), , , .

    Observaie. Deoarece [ ] [ ]( ), este neesenial alegerea unei probleme

    care cere maximizarea funciei obiectiv.

    Presupunem ; rezult c are cel puin 2 elemente. Cum este mulime convex,

    rezut c are o infinitate de elemente, situaie n care P.P.L. prezint interes din punct de

    vedere practic.

    Notm matricea sistemului de restricii { }, unde este coloana

    coeficienilor necunoscutei , , .

  • Presupunem ; rezult c n A exist un minor de ordin m nenul (care d

    rangul), adic o submatrice a lui A cu determinatul nenul. Cum ( ),

    rezult c n A exist m coloane liniar independente (ca vectori din spaiul liniar ( )).

    Deoarece ( ) , rezult c cele m coloane liniar independente formeaz o baz

    a spaiului liniar ( ).

    Presupunem c aceast baz este format din primele m coloane din A, { }

    situaie posibil totdeauna printr-o renumerotare adecvat a coloanelor lui A.

    Din algebra liniar, tim c:

    1. ntr-un spaiu liniar finit dimensional, un sistem finit de vectori este liniar

    independent rangul matricei ataat sistemului de vectori este egal cu numrul

    vectorilor din sistem.

    2. ntr-un spaiu liniar de dimensiune m, un sistem format din m vectori liniar

    independeni constituie o baz.

    3. ntru-un spaiu liniar finit dimensional orice vector se scrie ntr-un mod unic ca o

    combinaie liniar de vectorii unei baze. Scalarii unici ai acestei combinaii se

    numesc coordonatele vectorului n baza respectiv.

    n baza { } orice coloan a matricei A, ca vector din spaiul liniar

    ( ), poate fi reprezentat n mod unic sub forma:

    ,

    unde: sunt coordonatele vectorului (coloanei) n baza B .

    Notm aceste coordonate cu (

    ) i le calculm cu ajutorul relaiei:

    , .

  • Observaie. n practic se urmrete ca baza iniial s fie format din vectorii unitari, adic

    s fie baza canonic { } .

    Fie soluia de baz a P.P.L. corespunztoare bazei B:

    {

    ( )

    ( )

    Deci (

    ) , unde: .

    n practic se lucreaz doar cu componentele .

    Valoarea funciei obiectiv n soluia de baz este:

    ( ) ( ) (

    ) .

    Prin urmare, de interes n continuare vor fi: i .

    Notm:

    {

    i cu {

    .

    Prin urmare, diferenele corespunztoare coloanelor vectorilor bazei curente sunt nule.

  • Macheta de nceput a tabloului simplex (tabel informaional care uureaz derularea

    calculelor) este:

    1 0 0

    0 1 0

    0 0 1

    0 0 0

    CRITERIUL DE OPTIM

    Dac toate diferenele , atunci problema de programare liniar admite

    optim finit i e soluie optim.

    Pentru ca acest criteriu de optim s poat fi folosit indiferent de scopul optimizrii (max sau

    min), diferenele se calculeaz:

    {

  • MBUNTIREA SOLUIEI

    CRITERIUL DE INTRODUCERE N BAZ

    Dac exist un indice nebazic pentru care , atunci se poate gsi

    o nou soluie de baz cel puin la fel de bun ca i vechea soluie de baz (n sensul

    optimului).

    Dac exist mai multe diferene , atunci se poate alege oricare vector corespunztor,

    fr a influena soluia final.

    De regul, se alege pentru care:

    { }

    CRITERIUL ELIMINRII DIN BAZ

    Dac exist un indice nebazic pentru care , atunci se poate

    obine o nou baz i, deci, o nou soluie de baz, eliminnd din vechea baz B vectorul

    pentru care:

    {

    }

    unde: (

    ) sunt coordonatele (n baza B) vectorului determinat la criteriul de

    intrare n baz.

    Deci vectorul prsete baza, iar n locul lui va intra vectorul . Cu alte cuvinte, nu

    stricm baza n totalitate.

  • Observaie. Efectund rapoartele de la criteriul eliminrii din baz, se poate ntmpla ca:

    1. S existe dou sau mai multe rapoarte minime egale, caz n care poate prsi baza

    B oricare dintre vectorii care conduc la acest rezultat fr s fie afectat soluia

    optim.

    2. S nu existe nici un (adic ), caz n care algoritmul ia

    sfrit cu decizia de optim infinit

    CRITERIUL DE OPTIM MULTIPLU

    Dac i exist mcar un indice pentru care

    , atunci problema poate admite optim multiplu:

    admite optim multiplu - dac mcar un element al coloanei este strict pozitiv,

    necesar determinrii vectorului care prsete baza;

    nu admite optim multiplu dac .

  • 1.5. Dualitate n programarea liniar

    Definiia 1. Fiind dat problema de programare liniar:

    [ ]

    (P)

    (1)

    se numete dual a acesteia, problema:

    [ ]

    (D)

    (2)

    Problema (1) se numete primala, iar problema (2) se numete duala i reciproc. Perechea de

    probleme (1) (2) se numete cuplu dual sau cuplu de probleme duale.

    Teorem.

    Duala dualei unei probleme de programare liniar este chiar problema de optimizare dat.

    Altfel spus, duala dualei coincide cu primala.

    Definiia 2. Se spune c o problem de programare liniar are restriciile concordante cu

    funcia obiectiv, dac aceasta are forma de prezentare:

    [ ]

    sau

    [ ]

    indiferent ce semne au variabilele problemei.

    Observaie.

    Cel mai frecvent definiia dualitii sau a cuplului de probleme duale este dat prin

    intermediul cuplului (P) (D) din definiia 1. n acest caz se introduce aa numitul concept de

    dualitate simetric. Pornind de la dualitatea simetric se poate deduce apoi orice cuplu de

    probleme duale, cupluri de dualitate nesimetric.

  • ntre problemele unui cuplu primal-dual exist anumite legturi precise a cror cunoatere

    nseamn posibilitatea scrierii dualei oricrei probleme de programare liniar:

    dac problema primal cere maximizarea funciei obiectiv, atunci n problema dual

    se va cere minimizarea funciei obiectiv i reciproc;

    numrul de restricii ale primalei indic numrul de variabile ale problemei duale i

    reciproc;

    numrul de variabile ale primalei indic numrul de restricii ale dualei i reciproc;

    termenii liberi din primal devin coeficieni ai funciei obiectiv din dual i reciproc;

    coeficienii funciei obiectiv din primal devin termeni liberi n dual i reciproc;

    dac primala are matricea A a coeficienilor necunoscutelor sistemului de restricii,

    atunci duala va avea ca matrice ;

    dac primala are restricii:

    inegaliti concordante,

    inegaliti neconcordante,

    egaliti,

    acestora le corespund n dual, respectiv:

    variabile 0,

    variabile 0,

    variabile de semne oarecare ( ).

    dac primala are:

    variabile 0,

    variabile 0,

    variabile de semne oarecare ( ),

    acestora le corespund n dual, respectiv:

    inegaliti concordante,

    inegaliti neconcordante,

    egaliti.

  • Teorema fundamental a dualitii

    Pentru orice cuplu de probleme duale este adevrat ntotdeauna una i numai una din

    afirmaiile urmtoare:

    1. dac una din probleme are optim infinit, atunci cealalt nu are soluii posibile;

    2. niciuna din probleme nu admite soluii posibile;

    3. dac una din probleme are optim finit, atunci i cealalt are optim finit i valorile

    optime ale celor dou funcii obiectiv coincid.

    Teorema ecarturilor complementare

    Fie i dou soluii posibile ale cuplului dual:

    (P)

    [ ]

    (D)

    [ ]

    Condiia necesar i suficient ca i s fie soluii optime este aceea ca ele s satisfac

    relaiile:

    ( ) i ( )

    Pe componente, relaiile anterioare devin:

    (

    )

    (

    )

    Prin urmare:

    dac soluia optim a primalei satisface cu inegalitate strict restricia i a

    problemei, atunci ;

    dac soluia optim a dualei satisface cu inegalitate strict restricia j a problemei,

    atunci ;

    dac o component a soluiei optime a dualei este strict pozitiv, atunci soluia

    optim a primalei satisface cu egalitate restricia i a problemei, ;

    dac o component a soluiei optime a primalei este strict pozitiv, atunci soluia

    optim a dualei satisface cu egalitate restricia j a problemei, .

  • Evident c fiecare dintre cele dou probleme ale cuplului dual (P) (D) poate fi soluionat

    direct cu algoritmul simplex.

    ntr-un astfel de context, se pun dou ntrebri:

    1. poate fi dedus soluia uneia dintre probleme pe baza rezolvrii celeilalte?

    2. dac rspunsul la prima ntrebare este afirmativ, care dintre probleme poate fi

    soluionat mai rapid (mai eficient)?

    Teorem.

    Dac una din problemele duale (P) (D) are soluie optim, atunci soluia optim a celeilate

    este dat de diferenele corespunztoare variabilelor de compensare ale problemei

    rezolvate, considerate n valoare absolut (| |).

    n practic nu se d un cuplu dual, ci doar o problem de programare liniar care poate fi

    rezolvat direct sau prin intermediul dualei sale. De regul, se alege problema de maximizare

    deoarece soluionarea este mai rapid.

  • II. PROBLEME DE OPTIMIZARE N REELE DE TRANSPORT

    2.1. Modelarea problemelor de transport

    ntr-o mare varietate de contexte se pune problema deplasrii unei cantiti Q dintr-un

    produs omogen ce poate fi materie, energie, informaie etc., din unele locuri numite surse

    (depozite, furnizori) n alte locuri numite destinaii (centre de consum), aceast deplasare

    realizndu-se pe anumite rute de legtur.

    Presupunem c produsul omogen este disponibil n depozitele i este

    cerut n centrele de consum .

    Se cunosc:

    disponibilul depozitelor (oferta);

    necesarul centrelor de consum (cererea);

    costurile unitare de transport de la fiecare deposit la fiecare centru de

    consum.

    Din punct de vedere economic, se pune problema satisfacerii cererii n centrele de

    consum la un cost total de transport minim.

    Notm cu:

    disponibilul depozitului ;

    - necesarul centrului de consum ;

    - costul unitar de transport pe ruta ( ) .

    Notm cu - cantitatea transportat de la depozitul la centrul de consum ,

    .

  • Pentru a evita explicaii i scrieri numeroase, n prezentarea unei probleme de transport, se

    recurge la sintetizarea tuturor informaiilor legate de ofert, cerere, costuri unitare, ntr-un

    tabel.

    DEPOZITE CENTRE DE CONSUM Disponibil

    Necesar

    Din punct de vedere matematic, se pune problema:

    S se stabileasc ce cantiti trebuie transportate de la fiecare depozit la fiecare

    centru de consum astfel nct costul total al transportului s fie minim.

    Modelul matematic al problemei clasice de transport este:

    S se determine care satisfac:

    [ ]

  • Remarcm faptul c problema de transport (P.T.) este o problem de programare liniar n

    forma standard, cu restricii i variabile.

    Se demonstreaz c:

    Prin urmare, orice soluie de baz a P.T. are cel mult componente nenule. Distingem:

    soluie de baz nedegenerat - are exact componente nenule;

    soluie de baz degenerat - are mai puin de componente nenule.

    Conceptul de soluie de baz nedegenerat este foarte important n soluionarea

    problemei de transport.

    Se spune c o problem de transport este:

    echilibrat - dac oferta total este egal cererea total, adic:

    neechilibrat - dac oferta total este diferit de cererea total, adic:

    Conceptul de echilibrare este fundamental pentru algoritmul de cutare a soluiei optime.

  • 2.2. Adaptarea metodei simplex la rezolvarea problemei de transport

    Rezolvarea problemei de transport se face n ipoteza de echilibrare (P.T.E.), adic:

    Fiind o problem de programare liniar, P.T.E. se poate rezolva cu ajutorul metodei

    simplex (volum mare de calcule).

    Datorit proprietilor matricei A, (generate de forma acesteia, elementele sunt 0 i 1),

    algoritmul simplex are n acest caz o descriere specific cunoscut n literatura de specialitate

    sub denumirea de metoda potenialelor.

    Pasul 1. Se determin o soluie iniial de baz prin:

    metoda colului de N-V (simpl, ns, neinnd cont de criteriul economic al

    costurilor, conduce la soluii cu cost ridicat);

    metoda minimului pe linie, metoda minimului pe coloan, metoda

    minimului din tabel - acord prioritate rutelor mai ieftine, prin urmare,

    dau soluii mai apropiate de soluia optim;

    metoda diferenelor maxime (Vogel) mai elaborat, ns, foarte eficient

    (uneori d chiar soluia optim).

    Pasul 2. Se testeaz soluia de baz nedegenerat cu ajutorul unui criteriu de optim:

    dac soluia este optim - STOP.

    dac soluia nu e optim - se mbuntete (pasul 3)

    Pasul 3. mbuntirea soluiei de baz:

    3.1. se determin o variabil dintre variabilele nebazice care urmeaz

    s devin variabil bazic (nenul);

    3.2. se determin o variabil dintre variabilele bazei curente

    care prsete baza.

    Astfel, se obine alt soluie de baz care se testeaz (pasul 2).

  • Rezolvarea problemei de transport neechilibrate

    n vederea soluionrii, problema de transport neechilibrat trebuie adus la o

    problem de transport echilibrat. Distingem urmtoarele situaii:

    dac

    (oferta depete cererea), atunci, pentru echilibrare, se

    introduce un consumator fictiv, , al crui necesar este

    i ale crui costuri unitare sunt nule, adic: ;

    dac

    (cererea depete oferta), atunci, pentru echilibrare, se

    introduce un depozit fictiv, , al crui disponibil este

    i ale crui costuri unitare sunt nule, adic: ;

    Soluionarea problemei astfel echilibrate se face cu metoda potenialelor iar n final,

    n soluia optim, se renun la elementele fictive (linia sau coloana ).

    Observaii.

    1. Pentru consumatorul fictiv sau pentru depozitul fictiv costurile unitare sunt nule

    pentru c produsul neexistnd, nu se transport i, deci, nu produce cheltuieli.

    2. n cazul problemelor neechilibrate, din punct de vedere economic, soluia optim nu

    satisface (ca ofert sau ca cerere) pe toi partenerii.

  • III. MODELE MATEMATICE PENTRU GESTIUNEA STOCURILOR

    3.1. Noiuni generale

    Prin stoc nelegem o rezerv de bunuri materiale destinate vnzrii sau folosirii n procesul

    de producie. Constituirea stocurilor presupune:

    cheltuieli de aprovizionare sau producie;

    cheltuieli de stocare (depozitare, ntreinere etc.);

    pierderi pentru deprecierea mrfurilor i altele.

    Orice gestiune de stoc presupune intrri n stoc sau aprovizionri i ieiri din stoc, acestea

    putnd avea un caracter determinist sau aleator.

    Deciziile ce se iau n organizarea tiinific a stocurilor au la baz un criteriu de optim,

    determinat de politica economic, acesta fiind de obicei costul total minim.

    Politica optim reprezint activitatea de management a stocurilor care implic un cost total

    minim. Elementele unei politici optime sunt:

    nivelul optim al stocurilor;

    volumul optim al unei comenzi de reaprovizionare;

    perioada optim de reaprovizionare;

    numrul optim de reaprovizionri etc.

    3.2. Modele deterministe

    Modelul 1. Gestiunea (stoc) cu perioad fix, cerere constant i fr posibilitatea lipsei de stoc.

    Considerm gestiunea unui stoc de cantitatea Q, pe un interval de timp , cu aprovizionri la perioade fixe (T), de cantitate conform cererii constante( q).

    Presupunem cunoscute:

    cantitatea Q; perioada de gestiune ; costul unitar de stocare , pe unitatea de cantitate i pe unitatea de timp; costul de lansare a unei comenzi , pentru volumul ntregii comenzi.

    Presupunem c lansarea comenzii se face n timp util i aprovizionarea se realizeaz n momentul n care s-a epuizat stocul s; de asemenea, presupunem c stocul se consum uniform (variaie liniar) i nu se admite lipsa de stoc.

    Criteriul de optim va fi costul total minim.

  • Pentru fiecare perioad T avem urmtoarele cheltuieli:

    Numrul aprovizionrilor este:

    Costul total al gestiunii cantitii Q pe perioada va fi:

    (

    ) (

    ) (

    )

    nlocuind corespunztor, putem exprima costul total doar n funcie de variabila q, astfel:

    ( )

    Determinm:

    ( )

    determinm punctele staionare ale funciei ( ), adic soluiile ecuaiei:

    ( )

    punct critic pentru ( ); din considerente economice,

    lum pentru numai valori pozitive.

    ( )

    . Cum

    ( ) rezult este punct de minim pentru ( ).

    Deci elementele unei politici optime sunt:

    2

    s

    l

    c

    cQq

    volumul optim al unei comenzi

    2

    l

    s

    c

    cQ

    q

    Qv

    numrul optim de aprovizionri

    2

    s

    l

    cQ

    c

    vT

    perioada optim de aprovizionare

    2 sl ccQC gestiunea optim

  • Modelul 2. Gestiunea (stoc) cu perioad fix, cerere constant i cu posibilitatea lipsei de stoc.

    Considerm gestiunea de la modelul 1, cu modificarea c se admite lipsa de stoc, dar

    penalizat cu un cost unitar de penalizare .

    Perioada constant T o mprim n dou subperioade:

    - n care stocul satisface cererea ( ); - n care stocul nu mai satisface cererea ( ).

    Criteriul de optim este costul total minim.

    n perioada se va plti pentru stocul mediu

    costul unitar , adic cheltuielile medii

    de stocare:

    .

    n perioada avem lips de stoc ( ) penalizat cu costul unitar , deci se vor nregistra cheltuielile medii de penalizare:

    Costul total al gestiunii va fi:

    ( ) (

    ) (

    )

    Din relaiile:

    ,

    nlocuind i n expresia funciei cost total, obinem:

    ( )

    ( )

    Punctele de extrem ale funciei ( ) se vor gsi printre punctele staionare, adic soluiile sistemului:

    {

    ( )

    ( )

    ( ) punct staionar

    Se demonstreaz c acesta este i punct de minim pentru ( ).

  • Deci o politic optim presupune:

    volumul optim al unei comenzi,

    unde:

    se numete factor de penalizare.

    stocul optim

    numrul optim de aprovizionri

    perioada optim de aprovizionare

    gestiunea optim

    3.3. Modele aleatoare

    Gestiune (stoc) cu cerere aleatoare, cu pierderi n cazul surplusului de stoc, cu cheltuieli

    suplimentare n cazul lipsei de stoc i cu cost de stocaj neglijabil.

    Notm cu s stocul la un moment dat dintr-un anumit tip de marf i cu X variabila aleatoare ce reprezint cererea din aceast marf, avnd repartiia:

    (

    ( )) , pentru cerere discret

    unde: { ( ) ( ) ( )

    ( )

    sau (

    ( )) [ ], pentru cerere continu

    unde: ( ) este densitatea de repartiie a variabilei aleatoare X,

    ( ) ( ) ( )

    este funcia de repartiie a v.a. X

  • Se cunosc :

    costul unitar de penalizare pentru excedent de stoc;

    costul unitar de penalizare pentru lips de stoc.

    Cererea fiind aleatoare, distingem 2 situaii:

    - excedent de stoc; mrfurile rmase n cazul excedentului de stoc, se vnd cu o pierdere unitar datorit fie deprecierii mrfii, fie vinderii acesteia cu un pre redus;

    - lips de stoc; n acest caz se fac cheltuieli suplimentare unitare pentru reaprovizionare cerute de nevoia de satisfacere a cererii.

    n cadrul acestui model cheltuielile specifice de stocaj sunt mici n comparaie cu i

    i, n consecin, se neglijeaz.

    Cazul discret

    Variabila aleatoare care d excedentul de stoc are repartiia:

    ( ( )) , , {

    ( ) ( )

    ( )

    iar cea care d lipsa de stoc are repartiia:

    ( ( )) ,

    Folosind definiia mediei unei variabile aleatoare, gsim:

    ( ) ( )

    ( )

    ( ) ( )

    ( )

  • Aplicnd penalizrile unitare i mediilor ( ) i ( ), putem determina valoarea

    medie a cheltuielilor:

    ( ) ( ) ( ) ( ) ( )

    Criteriul de optim va fi costul total minim:

    ( )

    Cum ( ) este o funcie discret, rezult c minimul ei va fi atins n punctul pentru care:

    { ( ) ( ) ( ) ( )

    Prin urmare, pentru a determina stocul optim trebuie s rezolvm sistemul de inecuaii:

    { ( ) ( ) ( ) ( )

    Stocul optim este acea valoare a lui s care satisface relaia:

    ( ) ( ) (*)

    unde: ( ) ( ) este funcia de repartiie a variabilei aleatoare cerere X,

    este raport de penalizare.

    Observaii.

    1. Deoarece funcia de repartiie ( ) este nedescresctoare, din relaia (*) rezult c este un minim absolut pentru funcia cost mediu.

    2. Dac ( ) ( ), atunci ( ) ( ), deci minimul funciei cost mediu are loc pentru dou valori i .

    3. Dac ( ) ( ), atunci ( ) ( ), deci minimul funciei cost mediu are loc pentru dou valori i .

    Gestiunea optim este:

    ( ) ( ) ( )

    ( )

    ( )

  • Cazul continuu

    Variabilele aleatoare excedent de stoc i lips de stoc au repartiiile:

    ( ( )) [ ]

    ( ( )) [ ]

    unde: ( ) este densitatea de repartiie a variabilei aleatoare cerere X. Mediile lor sunt:

    ( ) ( ) ( )

    ( ) ( ) ( )

    iar funcia valoarea medie a cheltuielilor este:

    ( ) ( ) ( )

    ( ) ( )

    Punem condiia de minim:

    ( )

    Stocul optim este soluia ecuaiei:

    ( )

    unde: ( ) ( )

    este funcia de repartiie a variabilei aleatoare cerere X,

    iar

    este raport de penalizare.

    Observaii.

    1. ( ) este punct de minim pentru funcia ( ).

    2. Cum ( ) este funcie nedescresctoare, rezult c este minim unic (absolut).

    Gestiunea optim (costul total minim) va fi:

    ( ) ( ) ( )

    ( ) ( )

  • IV. ELEMENTE DE TEORIA GRAFURILOR

    4.1. Concepte de baz

    Definiia 4.1. Un graf orientat este o pereche de forma ( ) unde X este o mulime

    finit i {( ) } . Elementele lui X se numesc vrfuri sau noduri ale

    lui G, iar perechile ( ) se numesc arce ale grafului G: x este extremitatea iniial (surs),

    y extremitatea final (destinaie) pentru arcul ( ).

    Graful ( ) admite o reprezentare geometric n plan, obinut astfel:

    vrfurile se plaseaz n plan n poziii distincte oarecare;

    pentru fiecare arc ( ), punctele x i y se unesc printr-un segment orientat.

    Exemplu. Considerm graful orientat ( ) dat de:

    { }

    {( ) ( ) ( ) ( ) ( )}

    Definiia 4.2. Dac arcele au proprietatea c extremitatea final a arcului

    coincide cu extremitatea iniial a arcului , ( ) , atunci mulimea ordonat

    { } formeaz un drum n graful ( ).

    Echivalent, drumul mai poate fi definit i ca o mulime ordonat de vrfuri

    { } pentru care avem proprietatea ( ) ( ) .

    Definiia 4.3. Drumul { } cu proprietatea c extremitatea final a arcului

    coincide cu extremitatea iniial a arcului , se numete circuit n graful G.

  • Distingem:

    drum elementar un drum n care fiecare nod apare o singur dat;

    drum neelementar - un drum care trece de dou sau mai multe ori prin acelai nod.

    Un drum elementar care trece prin toate nodurile grafului se numete drum hamiltonian.

    Lungimea unui drum este egal cu numrul arcelor care l formeaz.

    Numrul de noduri la care se poate ajunge din nodul se numete puterea de atingere a

    nodului i se noteaz ( ).

    4.2. Matrici asociate unui graf

    Fie ( ) un graf orientat avnd { }.

    Definiia 4.4. Matricea ( ) dat de relaiile:

    { ( )

    ( ) , ( ) .

    se numete matricea arcelor (matricea de adiacen, matricea conexiunilor directe)

    a grafului G.

    Pentru exemplul anterior avem:

    (

    )

  • Definiia 4.5. Matricea ( ) dat de relaiile:

    {

    , ( )

    se numete matricea drumurilor (matricea conexiunilor totale) a grafului G.

    Remarcm faptul c

    dou grafuri care au aceeai mulime de vrfuri i aceeai matrice a arcelor coincid;

    nu este obligatoriu ca dou grafuri avnd aceeai mulime de vrfuri i aceeai matrice

    a drumurilor, s aib i aceleai arce.

    4.3. Gsirea drumurilor ntr-un graf orientat

    Fie ( ) un graf orientat cu n noduri: { }.

    n vederea elaborrii unor algoritmi de determinare a matricii drumurilor, vom introduce

    operaiile de adunare i nmulire boolean:

    0 1

    0 0 1

    1 1 1

    0 1

    0 0 0

    1 0 1

  • Algoritm 1.

    Pas 1. Se construiete matricea arcelor A.

    Pas 2. Se calculeaz succesiv puterile matricei A pn la .

    Pas 3. Se calculeaz matricea drumurilor:

    ( )

    Observaie. Dac ne intereseaz doar existena drumurilor dintre noduri, nu i numrul lor,

    atunci vom folosi nmulirea i adunarea boolean.

    Algoritm 2.

    Pas 1. Se construiete matricea arcelor A.

    Pas 2. Pentru fiecare linie i, se adun boolean la aceasta toate liniile j pentru care .

    Pas 3. Se reia pasul 2 pn cnd, dup o aplicare a acestuia, matricea rmne aceeai.

    Ultima matrice obinut este matricea drumurilor D.

    Observaie. Aceti algoritmi sunt destul de leni n ceea ce privete aplicarea pe calculator.

    Ambele procedee ne arat existena sau nu a unui drum ntre dou noduri, eventual ce

    lungime are ( existena drumurilor de lungime k, dac s-au folosit operaiile algebrei

    booleene) i cte sunt de aceast lungime ( numrul drumurilor de lungime k, dac s-au

    folosit operaiile obinuite).

    Totui, n problemele practice cel mai important este s tim care sunt efectiv aceste drumuri.

  • Pentru exemplul anterior se obine:

    (

    )

    Matricea drumurilor ( ) a grafului G poate indica prezena sau absena

    circuitelor n graful G, astfel:

    dac ( ) , atunci graful G nu are circuite

    dac ( ) pentru care , atunci n G exist un circuit care are ca vrf

    iniial i final nodul .

    De asemenea, matricea drumurilor D ne ajut s calculm puterile de atingere ale fiecrui

    nod din G, astfel:

    ( ) = numrul elementelor egale cu 1 de pe linia i din matricea D, .

    4.4. Determinarea drumurilor hamiltoniene

    Fie ( ) un graf orientat, fr circuite, cu n noduri: { }.

    Presupunem c am calculat matricea drumurilor D i puterile de atingere ale tuturor

    nodurilor.

    Teorem (Chen) Un graf orientat, fr circuite, cu n noduri conine un drum hamiltonian

    dac i numai dac ( )

    ( )

    Teorem

    Dac ntr-un graf orientat, fr circuite exist un drum hamiltonian, atunci acesta este unic.

  • Algoritmul lui Chen

    Pas 1. Se scrie matricea arcelor A

    Pas 2. Se calculeaz matricea drumurilor D

    Pas 3. Dac ( ) pentru care , atunci graful are circuite,

    algoritmul lui Chen nu se poate aplica STOP

    Dac ( ) , atunci graful G nu are circuite se trece la pasul 4.

    Pas 4. Se calculeaz puterile de atingere ale tuturor nodurilor

    Pas 5. Dac ( )

    ( )

    , atunci graful G nu are drum hamiltonian.

    Dac ( )

    ( )

    , atunci se trece la pasul 6.

    Pas 6. Se ordoneaz nodurile grafului n ordinea descresctoare a puterilor de atingere

    drumul hamiltonian cutat.

    Algoritmul lui Kaufmann (nmulirii latine)

    Pas 1. Se scrie matricea ( ) ( ) , similar matricei arcelor A,

    unde: {( ) ( )

    ( ) , ( ) .

    Pas 2. Din matricea ( ) - matricea latin, prin suprimarea primei litere,

    se obine matricea ( ) - matricea destinaiilor posibile.

    Pas 3. Se calculeaz: ( ) ( ) ( ) , .

  • Operaia de concatenare (&) (nmulire latin) respect regulile din nmulirea obinuit a

    matricelor, cu urmtoarele precizri:

    dac una din componentele participante la calcul este *, atunci rezultatul este *;

    n caz contrar, rezultatul compunerii const n scrierea n continuare a vrfurilor

    componente ale simbolurilor participante.

    ( ) - conine lista tuturor drumurilor formate din m arce n graful dat.

    Observaie. Drumurile hamiltoniene, dac exist, se vor afla n matricea ( ),

    unde n = numrul vrfurilor grafului dat.

    4.5. Drumuri de valoare optim ntr-un graf

    n marea majoritate a problemelor care pot fi modelate prin grafuri nu ne intereseaz numai

    dac exist sau nu legturi ntre componentele reprezentate prin nodurile grafului, ci i

    intensitatea acestora. Aceast intensitate are semnificaia unei valori numerice (pozitive sau

    negative) asociate arcului corespunztor legturii a crei intensitate o msoar.

    n aplicaiile economice aceast valoare poate fi:

    lungimea drumului dintre dou localiti;

    costul parcurgerii rutei reprezentate prin arcul corespunztor;

    durata parcurgerii rutei respective;

    cantitatea transportat pe ruta respectiv etc.

    Una din problemele care poate aprea n aceste situaii este gsirea, pentru o anumit pereche

    de noduri sau mai multe perechi, a drumului optim ntre acestea.

    Pentru formalizarea problemei vom introduce noiunea de:

    valoare a unui drum suma valorilor arcelor care l compun.

  • n aceste condiii putem enuna problema drumului optim:

    Dat fiind un graf ( ) i o funcie

    ( ) ( ) ( ) ( )

    care asociaz fiecrui arc o valoare real, s se gseasc, pentru o pereche dat de noduri,

    drumul (drumurile) de valoare optim (minim sau/i maxim) ntre cele dou noduri i

    valoarea acestuia (acestora).

    Deoarece majoritatea problemelor economice se modeleaz prin grafuri cu numr finit de

    noduri, ne vom limita n continuare doar la acestea.

    Din cauza varietii nelimitate a grafurilor posibile, nu exist un algoritm care s rezolve

    orice problem, n timp util, dar s-au elaborat o mulime de algoritmi, fiecare fiind cel mai

    eficace n anumite cazuri.

    Algoritmul lui Bellman Kalaba

    Algoritmul se aplic n grafuri finite care nu au circuite de valoare negativ (pentru o

    problem de minim) sau care nu au circuite de valoare pozitiv (ntr-o problem de maxim) i

    gsete drumurile de valoare minim (maxim) de la toate nodurile grafului la un nod

    oarecare, fixat.

    Dac dorim s cunoatem drumurile de valoare minim (maxim) ntre oricare dou noduri,

    vom aplica algoritmul, pe rnd, pentru fiecare nod al grafului.

    Fie ( ) un graf orientat, finit, { }.

    Presupunem, fr a restrnge generalitatea, c am numerotat nodurile astfel nct nodul spre

    care cutm drumurile de valoare minim (maxim) de la celelalte noduri s fie .

  • Pasul 1. Se construiete matricea ptratic ( ) , cu dimensiunea egal cu

    numrul de noduri ale grafului, ale crei elemente sunt:

    {

    ( )

    ( ) ( )

    ( )

    ( )

    unde ( ) este valoarea arcului ( ), ( ) ( ) .

    Pasul 2. Se adaug succesiv liniile la matricea M, elementele acestora calculndu-se prin

    relaiile de recuren:

    { ( ( ))

    ( ( )) , .

    Pasul 3. Dup calcularea fiecrei linii noi, se compar elementele ei cu cele ale precedentei:

    dac ( ) , atunci se oprete recurena i ultima linie calculat

    conine valorile optime ale drumurilor de la celelalte noduri la nodul .

    dac , pentru cel puin un indice j, se trece la calcularea noii linii .

    Pasul 4. Pentru gsirea drumului care d valoarea minim de la un nod la nodul ,

    se gsesc, ncepnd napoi de la ultima linie, pe care s-au obinut valorile finale, nodurile

    care formeaz drumul cutat, unde: , , iar fiecare alt indice

    este cel pentru care s-a obinut minimul (maximul) de pe poziia al liniei .

    Observaie. Pentru grafuri foarte mari, algoritmul necesit un volum mare de memorie, prin

    necesitatea memorrii matricei M, care este greu de manipulat. Chiar dac, din cele arce

    posibile, graful ar avea doar un procent foarte mic, matricea grafului va avea tot poziii de

    memorat i analizat.