Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Rezolvarea problemelor de transport - excel

REZOLVAREA PROBLEMELOR DE TRANSPORT - EXCEL

Probleme de transport


Problemele de transport apar frecvent in situatiile in care trebuie planificat modul de distribuire al bunurilor de la producatori la consumatori. Obiectivul obisnuit al acestor probleme este minimizarea costurilor de transport. Modelele de transport sunt o variatie a problemelor de programare liniara si presupun urmatoarele:

Obiectivul este minimizarea costurior totale de transport.

Costurile de transport sunt functii liniare in raport cu numarul de unitati transportate.



Cererea si oferta sunt exprimate in unitati omogene.

Costurile de transport pe unitate nu variaza cu cantitatea transportata.

Pentru a ilustra modul in care se pot rezolva problemele de transport prezentam urmatorul exemplu:

O companie dispune de trei fabrici si patru centre de distributie. Fabricile sunt plasate in Cluj, Bacau si Craiova. Capacitatile de productie ale fabricilor sunt:


Fabrica

Capacitate de productie (unitati)

Cluj

5000

Bacau

6000

Craiova

2500

Total:

13.500


Centrele de distributie sunt plasate in Deva, Iasi, Bucuresti, Brasov. Cererea pentru produsele companiei in aceste centre este:


Centre de distributie

Cerere  (unitati)

Deva

6000

Iasi

4000

Bucuresti

2000

Brasov

1500

Total:

13.500


Managementul ar dori sa determine cantitatea care ar trebui transportata de la fiecare fabrica la fiecare centru de distributie astfel incat costurile de transport sa fie minime.

Figura II.2.1 prezinta graficul cu cele 12 rute posibile. Un astfel de graf este numit graf de retea. Cercurile reprezinta nodurile retelei. Liniile care unesc nodurile se numesc arcuri. Fiecare punct de plecare si sosire este reprezentat printr-un nod, iar fiecare ruta posibila este reprezentata printr-un arc. In dreptul fiecarui nod este trecuta valoarea ofertei (pentru capacitatile de productie) sau a cererii (pentru centrele de distributie). Sensul de deplasare este indicat prin sageti. Costurile unitare de transport pentru fiecare ruta sunt prezentate in tabelul II.2.1 si pe fiecare arc din figura II.2.1.



Destinatie

Origine

1. Deva

2. Iasi

3. Bucuresti

4. Brasov

1. Cluj

3

2

7

6

2. Bacau

7

5

2

3

3. Craiova

2

5

4

5


Tabelul II.2.1 – Costurile unitare de transport pe fiecare ruta



Figura II.2.1 – Graful de retea atasat problemei


Pentru a rezolva problema de transport putem folosi programarea liniara. Vom utiliza variabile de decizie cu doi indici, primul indice indica nodul origine, al doilea nodul destinatie. Astfel xij indica numarul de unitati transportate de la fabrica i la centrul de distributie j.

Costul unitatilor transportate din Cluj este ˆ 3*x11‡2*x12‡7*x13‡6*x14

Costul unitatilor transportate din Bacau este ˆ 7*x21‡5*x22‡2*x23‡3*x24

Costul unitatilor transportate din Craiova este ˆ 2*x31‡5*x32‡4*x33‡5*x34

Suma acestor costuri este costul total de transport, valoare care trebuie minimizata, deci functia obiectiv este:

Min (3*x11‡2*x12‡7*x13‡6*x14‡7*x21‡5*x22‡2*x23‡3*x24‡2*x31‡5*x32‡4*x33‡5*x34)

In problemele de transport apar restrictii deoarece fiecare fabrica are o capacitate de productie limitata si fiecare centru de distributie are o anumita cerere. Fabrica din Cluj are o capacitate de productie de 5000 unitati. Numarul total de unitati transportate din fabrica de la Cluj este x11‡x12‡x13‡x14, deci restrictia asociata acestei fabrici este:

x11‡x12‡x13‡x14 5000

In mod similar pentru celelalte fabrici avem:

x21‡x22‡x23‡x24 6000 - pentru fabrica de la Bacau.

x31‡x32‡x33‡x34 2500 - pentru fabrica de la Craiova.

In cele patru centre de distributie, restrictia va fi data de faptul ca cererea la centrul respectiv trebuie sa fie egala cu cantitatile transportate aici.

x11‡x21‡x31‡x41 ˆ6000 - cererea la Deva

x12‡x22‡x32‡x42 ˆ4000 - cererea la Iasi

x13‡x23‡x33‡x43 ˆ2000 - cererea la Bucuresti

x14‡x24‡x34‡x44 ˆ1500 - cererea la Brasov

Combinand functia obiectiv cu restrictiile obtinem modelul pentru problema de transport:


Min (3*x11‡2*x12‡7*x13‡6*x14‡7*x21‡5*x22‡2*x23‡3*x24‡2*x31‡5*x32‡4*x33‡5*x34)

x11‡x12‡x13‡x14 5000

x21‡x22‡x23‡x24 6000

x31‡x32‡x33‡x34 2500

x11‡x21‡x31‡x41 ˆ6000

x12‡x22‡x32‡x42 ˆ4000

x13‡x23‡x33‡x43 ˆ2000

x14‡x24‡x34‡x44 ˆ1500

xij 0, iˆ1,2,3; jˆ1,2,3,4


Rezolvarea problemei in Excel


Foaia de calcul folosita pentru rezolvarea problemei este prezentata in figura II.2.2.


Figura II.2.2 – Foaia de calcul atasata problemei


Datele problemei sunt introduse in domeniul A1:F8. Costurile de transport sunt continute in domaniul B5:E7, capacitatile de productie (oferta) in F5:F7, iar cererea din centrele de distributie in celulele B8:E8.

Elementele cheie care trebuie introduse in Excel sunt variabilele de decizie, functia obiectiv, partea stanga si partea dreapta a restrictiilor.



Variabilele de decizie


Celulele B17:E19 contin variabilele de decizie. Initial toate variabilele de decizie au valoarea 0.


Functia obiectiv


Pentru a calcula costul total, in celula C13 a fost introdusa formula ˆSUMPRODUCT(B5:E7,B17:E19).


Partea stanga a restrictiilor


Celulele F17:F19 contin formulele pentru partea stanga a restrictiilor asociate capacitatilor de productie, iar  celulele B20:E20 contin formulele pentru partea stanga a restrictiilor asociate cererii din centrele de distributie. Formulele utilizate sunt:

Celula F17:   ˆSUM(B17:E17). Se copieaza F17 in F18:F19.

Celula B20:   ˆSUM(B17:B19). Se copieaza B20 in C20:E20.


Partea dreapta a restrictiilor


Celulele H17:H19 contin partea dreapta a restrictiilor asociate capacitatilor de productie, iar celulele B22:E22 contin partea dreapta a restrictiilor asociate cererii  din centrele de distributie. Aceste valori sunt introduse deja in datele initiale ale problemei, deci se vor utiliza formulele:

Celula H17:  ˆF5. Se copieaza H17 in H18:H19.

Celula B22:  ˆB8. Se copieaza B22 in C22:E22.


Se rezolva problema utilizand Solver-ul. Caseta de dialog Solver Parameters se completeaza ca in figura II.2.3. Optiunile selectate sunt Assume Linear Model si Assume Non-Negative.



Figura II.2.3 – Caseta de dialog Solver


Solutia optima arata ca costul minim de transport este de 39500 u.m., iar in domeniul B17:E19 sunt afisate cantitatile care trebuie transportate pe fiecare ruta. Valoarea 0 indica ca pe ruta respectiva nu se transporta nimic.


Variatii ale problemelor de transport


Oferta totala nu este egala cu cererea totala

In multe cazuri oferta totala nu este egala cu cererea totala. Daca oferta totala depaseste cererea totala nu este necesara nici o modificare in problema de programare liniara. Excesul de oferta va aparea ca o abatere in solutia problemei, iar aceste abateri pot fi interpretate ca oferta neutilizata sau cantitati netransportate.

Daca oferta totala este mai mica decat cererea totala modelul de programare liniara a problemei de transport nu are o solutie fezabila. Pentru rezolvarea problemei se creeaza o oferta fictiva astfel incat excesul de cerere sa fie satisfacut si se atribuie costurilor de transport din acest punct valoarea 0. In acest mod problema de programare liniara va avea solutie.

Maximizarea functiei obiectiv

In unele probleme obiectivul este gasirea unei solutii care maximizeaza venitul sau profitul. Utilizand venitul sau profitul unitar in coeficientii functiei obiectiv, se va rezolva o problema de maximizare in locul uneia de minimizare. Modificarile nu afecteaza restrictiile.


Rute neacceptate

Stabilirea unei rute de la fiecare nod origine la fiecare nod destinatie nu este intotdeauna posibila. Pentru a rezolva aceste situatii se elimina din graful de retea arcele respective, iar din modelul de programare liniara variabilele de decizie corespunzatoare. Pentru a face cat mai putine modificari in foaia de calcul, pentru aceste rute se stabilesc costuri foarte mari, astfel incat pe aceste rute se vor efectua transporuri doar daca nu exista alte solutii fezabile.


Rute cu capacitati limitate

Pentru rutele cu capacitati limitate se introduc restrictii suplimentare. De exemplu, daca mijloacele de transport pe ruta Craiova – Deva nu pot transporta mai mult de 1000 de unitati se va introduce restrictia x13 1000.


Modelul general de programare liniara al unei probleme de transport cu m puncte de origine si n puncte de destinatie este:



unde:

i ˆ index-ul pentru punctele de origine

j ˆ index-ul pentru punctele de destinatie

xij ˆ numarul de unitati transportate de la originea i la destinatia j

cij ˆ costul unitar de transport din originea i la destinatia j

si ˆ oferta sau capacitatea din originea i

dj ˆ cererea la destinatia j