#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;