# Halmazok és paraméterek set Mezo; # Mező set Malom; # Malom set Pekseg; # Pékségek param Buza {Mezo} >= 0; # Mezőn termelt búza param MalomKapacitas {Malom} >= 0; # Malmok kapacitása param TavolsagMezoMalom {Mezo, Malom} >= 0; # Mező és malom közötti távolság param TavolsagMalomPekseg {Malom, Pekseg} >= 0; # Malom és pékség közötti távolság param TeherautoKapacitas; # Teherautó kapacitása (kg) param OrlesArany; # Őrlési arány (liszt/búza) param UresFogyasztas; # Üres teherautó fogyasztás (l/100 km) param ValtozoFogyasztas; # Változó fogyasztás (l/kg/100 km) param Benzinar; # Benzin ára (Ft/100 km) # Változók var SzallitasMezoMalom {Mezo, Malom} >= 0; # Szállított búza mennyisége mezőről malomba var SzallitasMalomPekseg {Malom, Pekseg} >= 0; # Szállított liszt mennyisége malomból pékségbe # Korlátozások # Minden mezőről csak a termelt mennyiség szállítható s.t. KeszletKorlatozas {m in Mezo}: sum {l in Malom} SzallitasMezoMalom[m, l] <= Buza[m]; # Malom kapacitásának figyelembevétele s.t. MalomKapacitasKorlatozas {l in Malom}: sum {m in Mezo} SzallitasMezoMalom[m, l] <= MalomKapacitas[l]; # Őrlési arány figyelembevétele (malomból csak a megfelelő lisztmennyiséget lehet szállítani) s.t. OrlesiAranyKorlatozas {l in Malom}: sum {p in Pekseg} SzallitasMalomPekseg[l, p] <= sum {m in Mezo} SzallitasMezoMalom[m, l] * OrlesArany; # Költségfüggvény minimize TeljesUzemanyagKoltseg: # Mezőről malmokba szállítás sum {m in Mezo, l in Malom} (UresFogyasztas + ValtozoFogyasztas * SzallitasMezoMalom[m, l]) * TavolsagMezoMalom[m, l] * Benzinar + # Malmokból pékségekbe szállítás sum {l in Malom, p in Pekseg} (UresFogyasztas + ValtozoFogyasztas * SzallitasMalomPekseg[l, p]) * TavolsagMalomPekseg[l, p] * Benzinar; # Adatok data; set Mezo := mezo1 mezo2 mezo3 mezo4; set Malom := malom1 malom2; set Pekseg := pek1 pek2 pek3; param Buza := mezo1 36526 mezo2 12368 mezo3 25634 mezo4 9999; param MalomKapacitas := malom1 50000 malom2 60000; param TavolsagMezoMalom : malom1 malom2 := mezo1 201 79 mezo2 174 143 mezo3 107 102 mezo4 130 21; param TavolsagMalomPekseg : pek1 pek2 pek3 := malom1 184 98 60 malom2 79 58 159; param TeherautoKapacitas := 500; param OrlesArany := 0.9; param UresFogyasztas := 10; param ValtozoFogyasztas := 0.006; param Benzinar := 600; end;