Linear Programming Examples in z3
DESCRIPTION
- Basic Linear Programming examples in z3.
- Reflecting different domains like Engineering, Statistics, Medicine, etc.
- Testing how we can make better solutions to the standard problems compared to other software.
Examples
ExampleS1: Chocolate Problem
Shannon's Chocolates produces semisweet chocolate chips and milk chocolate chips at its plants in
Wichita, KS and Moore, OK. The Wichita plant produces 3000 pounds of semisweet chips and 2000
pounds of milk chocolate chips each day at a cost of $1000, while the Moore plant produces 1000
pounds of semisweet chips and 6000 pounds of milk chocolate chips each day at a cost of $1500.
Shannon has an order from Food Box Supermarkets for at least 30,000 pounds of semisweet chips and
60,000 pounds of milk chocolate chips. How should Shannon schedule its production so that it can fill
the order at minimum cost? What is the minimum cost?
z3 code: Chocolate Problem
var solver = require('javascript-lp-solver'),
results,
model = {
"name": "Chocolate Problem",
"optimize": "cost",
"opType": "min",
"constraints": {
"semisweet": {
"min": 30000
},
"milk chocolate": {
"min": 60000
}
},
"variables": {
"Kansas": {
"semisweet": 3000,
"milk chocolate": 2000,
"cost": 1000
},
"Oklahoma": {
"semisweet": 1000,
"milk chocolate": 6000,
"cost": 1500
}
}
};
console.log(solver.Solve(model));
Solution:
{ feasible: true,
result: 18750,
bounded: true,
Kansas: 7.5,
Oklahoma: 7.5 }