| |
"Optimization And Java"
Vol. 6, Issue 6, p. 116
Listing 1
enum Country {Belgium,Denmark,France,
Germany,Netherlands,Luxembourg};
enum Colors {blue,red,yellow,gray};
var Colors color[Country];
solve {
color[France] <> color[Belgium];
color[France] <> color[Luxembourg];
color[France] <> color[Germany];
color[Luxembourg] <> color[Germany];
color[Luxembourg] <> color[Belgium];
color[Belgium] <> color[Netherlands];
color[Belgium] <> color[Germany];
color[Germany] <> color[Netherlands];
color[Germany] <> color[Denmark];
Listing 2 enum Products ...; enum Resources ...;
struct ProductData {
float demand;
float insideCost;
float outsideCost;
float consumption[Resources];
};
ProductData product[Products] = ...;
float capacity[Resources] = ...;
var float inside[Products];
var float outside[Products];
minimize
sum(p in Products) (product[p].insideCost*inside[p]
product[p].outsideCost*outside[p])
subject to {
forall(r in Resources)
sum(p in Products) product[p].consumption[r] * inside[p]
<= capacity[r];
forall(p in Products)
inside[p] outside[p] >= product[p].demand;
};
|
|