Files
Gusek_MoGya/sziva_anyagai/Autokereskedes_halmazokkal.mod
2024-10-29 19:26:02 +01:00

44 lines
1.4 KiB
Modula-2

#Szenvedélyünk az autók gyűjtése.
#Jelenleg lehetőségünk van autókat vásárolni, és 5 egymást követő napon tervezzük is megtenni ezt. Minden nap pontosan egy autót tervezünk venni, azonban az autóknak minden egyes nap változik az áruk a világpiaci helyzettől függően.
#Milyen sorrendben vásároljuk meg az autókat, hogy a kollekciónk teljes legyen és a lehető legkisebb legyen a költségünk?
# Hetfo Kedd Szerda Csutortok Pentek
#Wartburg 60000 65000 61000 66000 60000
#Lada 50000 55000 63000 60000 52000
#Kispolski 30000 32000 33000 30000 27000
#Trabant 70000 65000 77000 85000 100000
#Skoda 65000 70000 75000 90000 70000
#Megoldás:
set Cars;
set Days;
param price {Cars, Days};
var buy{Cars, Days} binary;
s.t. ExactlyOneCarEachDay{d in Days}: sum{c in Cars} buy[c,d] =1;
s.t. EachCarExactlyOnce {c in Cars}: sum {d in Days} buy[c,d] =1;
minimize TotalCost: sum {c in Cars, d in Days} buy[c,d]*price[c,d];
solve;
printf "\n\n";
for {c in Cars, d in Days: buy[c,d]==1}
printf "%10s:\t%s%d\n", c,d, price[c,d];
printf "\n\n";
data;
set Days:= Hetfo Kedd Szerda Csutortok Pentek;
set Cars:= Wartburg Lada Kispolski Trabant Skoda;
param price:
Hetfo Kedd Szerda Csutortok Pentek:=
Wartburg 60000 65000 61000 66000 60000
Lada 50000 55000 63000 60000 52000
Kispolski 30000 32000 33000 30000 27000
Trabant 70000 65000 77000 85000 100000
Skoda 65000 70000 75000 90000 70000
;
end;