175 os <<
"\tSupplier: " <<
supplier << std::endl
176 <<
"\tOpen warehouses: " <<
open << std::endl
177 <<
"\tStore cost: " <<
c_store << std::endl
178 <<
"\tTotal cost: " <<
c_total << std::endl
216 os <<
"\tSupplier: " <<
supplier << std::endl
217 <<
"\tOpen warehouses: " <<
open << std::endl
218 <<
"\tOpen cost: " <<
c_open << std::endl
219 <<
"\tStores cost: " <<
c_stores << std::endl
235 opt.
parse(argc,argv);
236 switch (opt.model()) {
static void run(const Options &opt, Script *s=NULL)
Passing integer arguments.
Passing integer variables.
IntVar c_open
Cost for open warehouses.
virtual IntVarArgs cost(void) const
Return solution cost.
IntVar c_stores
Cost for stores.
virtual void print(std::ostream &os) const
Print solution.
LexCostWarehouses(const Options &opt)
Actual model.
LexCostWarehouses(LexCostWarehouses &s)
Constructor for cloning s.
virtual Space * copy(void)
Copy during cloning.
IntVar c_total
Total cost.
virtual Space * copy(void)
Copy during cloning.
virtual void print(std::ostream &os) const
Print solution.
virtual IntVar cost(void) const
Return solution cost.
SumCostWarehouses(SumCostWarehouses &s)
Constructor for cloning s.
SumCostWarehouses(const Options &opt)
Actual model.
void parse(int argc, char *argv[])
Parse commandline arguments.
IntVarArray supplier
Which warehouse supplies a store.
int main(int argc, char *argv[])
Main-function.
BoolVarArray open
Is a warehouse open (warehouse needed)
IntVarArray c_store
Cost of a store.
Warehouses(Warehouses &s)
Constructor for cloning s.
Warehouses(const Options &opt)
Actual model.
const int n_stores
Number of stores.
const int c_fixed
Fixed cost for one warehouse.
const int c_supply[n_stores][n_warehouses]
Cost for supply a store by a warehouse.
const int n_warehouses
Number of warehouses.
@ MODEL_LEXCOST
Use lexicographic cost.
@ MODEL_SUMCOST
Use sum as total cost.
const int capacity[n_warehouses]
Capacity of a single warehouse.
Driver::ScriptBase< Driver::IgnoreStepOption< Space > > Script
Base-class for scripts.
Driver::ScriptBase< Driver::IgnoreStepOption< IntLexMinimizeSpace > > IntLexMinimizeScript
Base-class for scripts for finding solution of lexically lowest integer costs.
Driver::ScriptBase< Driver::IgnoreStepOption< IntMinimizeSpace > > IntMinimizeScript
Base-class for scripts for finding solution of lowest integer cost.
void branch(Home home, const FloatVarArgs &x, FloatVarBranch vars, FloatValBranch vals, FloatBranchFilter bf=nullptr, FloatVarValPrint vvp=nullptr)
Branch over x with variable selection vars and value selection vals.
@ IPL_DOM
Domain propagation Options: basic versus advanced propagation.
Gecode toplevel namespace
ArgArray< IntSet > IntSetArgs
Passing set arguments.
void count(Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF)
Post propagator for .
IntVar expr(Home home, const LinIntExpr &e, const IntPropLevels &ipls=IntPropLevels::def)
Post linear expression and return its value.
IntVarBranch INT_VAR_REGRET_MIN_MAX(BranchTbl tbl=nullptr)
Select variable with largest min-regret.
IntVarBranch INT_VAR_NONE(void)
Select first unassigned variable.
void element(Home home, IntSharedArray n, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF)
Post domain consistent propagator for .
LinIntExpr sum(const IntVarArgs &x)
Construct linear expression as sum of integer variables.
IntValBranch INT_VAL_MIN(void)
Select smallest value.