Sunteți pe pagina 1din 9

Problem de transport rezolvat folosind AIMMS

Datele problemei:

Deschidem un proiect nou File->New Project. Denumim proiectul: Problema Transport.

Apasm pe butonul de expand de lng Declaration i se vor activa n bar butoanele: Apsm pe primul buton, S pentru a crea un nou set de identificatori: Fabrici, cu un index f. Pentru a salva apsm butonul Check, Commit and Close

Similar construim setul Clieni cu indexul c. Construim mai apoi parametrii apsnd butonul P: Oferta(f), Cerere(c) precum i CostTransport(f,c):

Folosind butonul V construim variabila Transport(p,c). Dup ce o construim o deschidem i alegem domeniul de valori non-negative i apoi salvm.

Construim variabila CostTotalTransport avnd la definiie urmtoare formul:


sum[(f,c),CostTransport(f,c)*Transport(f,c)]

Salvm folosind butonul Check, Commit and Close. Adugm cele dou restricii ale modelului folosind butonul C: RestrictieOferta(f) cu definiia: sum[c,Transport(f,c)]<=Oferta(f) RestricieCerere(c) cu definiia: sum[f,Transport(f,c)]>=Cerere(c)

Apsm butonul i apoi selectm , denumind programul MinCostTransport. Dm mai apoi dublu-click i selectm CostTotalTransport la Objective.

Pentru a introduce datele, selectm mai nti Fabrici->Current Data Fabrica 2, Fabrica 3->Close:

adugnd Fabrica 1,

Similar adugm i clienii: Depozit 1, Depozit 2 i Depozit 3. Introducem i datele despre cerere i ofert:

Introducem datele despre CostTransport:

Salvm proiectul. Putem salva datele iniiale: Data->Save Case->Date Initiale->Save. Pentru a rezolva modelul: Double Click pe MainExecution i completm corpul procedurii:
solve MinCostTransport; if (MinCostTransport.ProgramStatus<>'Optimal') then empty Transport, CostTotalTransport; endif;

Apsm Check, Commit and Close pentru a valida. Pentru a rezolva modelul: Click Dreapta pe MainExecution->Run Procedure. Pentru a vedea rezultatele: Transport->Data->Eliminm Coloana Sufix (drag and drop ctre header):

In continuare vom construi o pagin pentru prezentarea datelor de intrare i a rezultatelor.

Selectm Page Manager: Denumim pagina Date de intrare i de ieire:

i dup aceea

Double Click pe denumire i dup aceea apsm butonul Edit:

Din meniu, selectm Table i desenm un dreptunghi. Selectm CostTransport(f,c)->Next->Finish. Dm click dreapta pe tabel->Properties->Contents->Add->Oferta(f) i mai apoi Cerere(c).

Construim mai apoi dou grafice folosind butonul

, unul pentru cerere, cellalt pentru ofert.

Click pe Composite Table:

, desenm tabelul i selectm Transport(f,c). Adugm i un Bar Chart i Transport(f,c). Click-dreapta pe grafic->Properties->Bar

pentru a prezenta rezultatele selectnd Chart->Stacked Bars:

Adugm i un cmp n care s afim rezultatul, costul minim de transport: Scalar >CostTotalTransport

Adaugam un buton cu titlul Rezolva Problema. La Actions->Run->Add->Procedure->MainExecution>Apply->OK

Dac trecem pagina n Mod User , putem modifica datele de intrare i apsnd butonul Rezolv Problema vedem care sunt noile rezultate, spre exemplu: Costul ntre fabrica 3 i depozitul 3 devine 7 Fabrica 2 are o capacitate de doar 200