4 #include "CoinPackedVector.hpp" 7 #pragma GCC system_header 20 std::vector<BuildOrder> orders;
24 std::map<CommodityProducer*, Builder*> p_to_b;
25 std::map<int, CommodityProducer*> idx_to_p;
26 SetUp_(iface, ctx, p_to_b, idx_to_p, commodity, demand);
27 Solve_(iface, ctx, p_to_b, idx_to_p, orders);
34 std::map<CommodityProducer*, Builder*>& p_to_b,
35 std::map<int, CommodityProducer*>& idx_to_p,
38 CoinPackedVector caps;
39 std::set<Builder*>::iterator bit;
40 std::set<CommodityProducer*>::iterator pit;
45 for (bit = builders_.begin(); bit != builders_.end(); ++bit) {
51 caps.insert(idx, p->
Capacity(commodity));
62 ctx.
m.setDimensions(0, ctx.
col_ubs.size());
63 ctx.
m.appendRow(caps);
68 std::map<CommodityProducer*, Builder*>& p_to_b,
69 std::map<int, CommodityProducer*>& idx_to_p,
70 std::vector<BuildOrder>& orders) {
75 for (
int i = 0; i != nvar; i++) {
85 for (
int i = 0; i != nvar; i++) {
86 n =
static_cast<int>(sol[i]);
double b(int nuc)
Computes the scattering length [cm] from the coherent and incoherent components.
virtual const double * getColSolution() const
Get pointer to array[getNumCols()] of primal solution vector.
virtual void initialSolve()
Solve initial LP relaxation.
virtual void setObjSense(double s)
Set objective function sense (1 for min (default), -1 for max,)
virtual double getInfinity() const
Get solver's value for infinity.
struct to hold all problem instance state
virtual void branchAndBound()
Invoke solver's built-in enumeration algorithm.
taken directly from OsiSolverInterface.cpp on 2/17/14 from https://projects.coin-or.org/Osi/browser/trunk.
std::vector< double > row_lbs
virtual void loadProblem(const CoinPackedMatrix &matrix, const double *collb, const double *colub, const double *obj, const double *rowlb, const double *rowub)
Load in an problem by copying the arguments (the constraints on the rows are given by lower and upper...
std::vector< double > col_ubs
std::vector< double > obj_coeffs
virtual void setInteger(int index)
Set the index-th variable to be an integer variable.
std::vector< double > row_ubs
std::vector< double > col_lbs