This commit is contained in:
2024-10-29 19:15:26 +01:00
parent 2238333b67
commit 00c3398473
36 changed files with 1477 additions and 0 deletions

76
gyakorlatok/malom.mod Normal file
View File

@ -0,0 +1,76 @@
# Halmazok <EFBFBD>s param<EFBFBD>terek
set Mezo; # Mez<EFBFBD>
set Malom; # Malom
set Pekseg; # P<EFBFBD>ks<EFBFBD>gek
param Buza {Mezo} >= 0; # Mez<EFBFBD>n termelt b<EFBFBD>za
param MalomKapacitas {Malom} >= 0; # Malmok kapacit<EFBFBD>sa
param TavolsagMezoMalom {Mezo, Malom} >= 0; # Mez<EFBFBD> <EFBFBD>s malom k<EFBFBD>z<EFBFBD>tti t<EFBFBD>vols<EFBFBD>g
param TavolsagMalomPekseg {Malom, Pekseg} >= 0; # Malom <EFBFBD>s p<EFBFBD>ks<EFBFBD>g k<EFBFBD>z<EFBFBD>tti t<EFBFBD>vols<EFBFBD>g
param TeherautoKapacitas; # Teheraut<EFBFBD> kapacit<EFBFBD>sa (kg)
param OrlesArany; # <EFBFBD>rl<EFBFBD>si ar<EFBFBD>ny (liszt/b<EFBFBD>za)
param UresFogyasztas; # <EFBFBD>res teheraut<EFBFBD> fogyaszt<EFBFBD>s (l/100 km)
param ValtozoFogyasztas; # V<EFBFBD>ltoz<EFBFBD> fogyaszt<EFBFBD>s (l/kg/100 km)
param Benzinar; # Benzin <EFBFBD>ra (Ft/100 km)
# V<EFBFBD>ltoz<EFBFBD>k
var SzallitasMezoMalom {Mezo, Malom} >= 0; # Sz<EFBFBD>ll<EFBFBD>tott b<EFBFBD>za mennyis<EFBFBD>ge mez<EFBFBD>r<EFBFBD>l malomba
var SzallitasMalomPekseg {Malom, Pekseg} >= 0; # Sz<EFBFBD>ll<EFBFBD>tott liszt mennyis<EFBFBD>ge malomb<EFBFBD>l p<EFBFBD>ks<EFBFBD>gbe
# Korl<EFBFBD>toz<EFBFBD>sok
# Minden mez<EFBFBD>r<EFBFBD>l csak a termelt mennyis<EFBFBD>g sz<EFBFBD>ll<EFBFBD>that<EFBFBD>
s.t. KeszletKorlatozas {m in Mezo}:
sum {l in Malom} SzallitasMezoMalom[m, l] <= Buza[m];
# Malom kapacit<EFBFBD>s<EFBFBD>nak figyelembev<EFBFBD>tele
s.t. MalomKapacitasKorlatozas {l in Malom}:
sum {m in Mezo} SzallitasMezoMalom[m, l] <= MalomKapacitas[l];
# <EFBFBD>rl<EFBFBD>si ar<EFBFBD>ny figyelembev<EFBFBD>tele (malomb<EFBFBD>l csak a megfelel<EFBFBD> lisztmennyis<EFBFBD>get lehet sz<EFBFBD>ll<EFBFBD>tani)
s.t. OrlesiAranyKorlatozas {l in Malom}:
sum {p in Pekseg} SzallitasMalomPekseg[l, p] <= sum {m in Mezo} SzallitasMezoMalom[m, l] * OrlesArany;
# K<EFBFBD>lts<EFBFBD>gf<EFBFBD>ggv<EFBFBD>ny
minimize TeljesUzemanyagKoltseg:
# Mez<EFBFBD>r<EFBFBD>l malmokba sz<EFBFBD>ll<EFBFBD>t<EFBFBD>s
sum {m in Mezo, l in Malom}
(UresFogyasztas + ValtozoFogyasztas * SzallitasMezoMalom[m, l]) * TavolsagMezoMalom[m, l] * Benzinar
+
# Malmokb<EFBFBD>l p<EFBFBD>ks<EFBFBD>gekbe sz<EFBFBD>ll<EFBFBD>t<EFBFBD>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;