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:

Double Click pe denumire i dup aceea apsm butonul Edit:

i dup aceea

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

pentru a prezenta rezultatele selectnd


Chart->Stacked Bars:

i Transport(f,c). Click-dreapta pe grafic->Properties->Bar

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

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