18 using namespace flopc;
29 int i1 = S1.check(I1->evaluate());
30 int i2 = S2.check(I2->evaluate());
31 int i3 = S3.check(I3->evaluate());
32 int i4 = S4.check(I4->evaluate());
33 int i5 = S5.check(I5->evaluate());
39 return offset + f(I1->evaluate(),I2->evaluate(),I3->evaluate(),
40 I4->evaluate(),I5->evaluate());
45 return M->rowPrice[offset + f(i1,i2,i3,i4,i5)];
54 RowMajor(s1.size(),s2.size(),s3.size(),s4.size(),s5.size()),
59 S1(s1),S2(s2),S3(s3),S4(s4),S5(s5),
60 I1(0),I2(0),I3(0),I4(0),I5(0)
70 if (
I1.operator->()!=0) {
74 cout<<
"FlopCpp Warning: Constraint declared but not defined."<<endl;
79 if (
left.operator->()!=0) {
80 left->insertVariables(v);
82 if (
right.operator->()!=0) {
83 right->insertVariables(v);
94 cout<<
"No solution available!"<<endl;
MP_constraint & such_that(const MP_boolean &b)
void display(std::string s="") const
void coefficients(GenerateFunctor &f)
double price(int i1=0, int i2=0, int i3=0, int i4=0, int i5=0) const
MP_model & add(MP_constraint &c)
Adds a constrataint block to the model.
void operator=(const Constraint &v)
const double * rowActivity
static MP_model * current_model
void insertVariables(std::set< MP_variable * > &v)
const int outOfBound
Distinct return value on conditions where an index goes out of bounds.
MP_constraint(const MP_set_base &s1=MP_set::getEmpty(), const MP_set_base &s2=MP_set::getEmpty(), const MP_set_base &s3=MP_set::getEmpty(), const MP_set_base &s4=MP_set::getEmpty(), const MP_set_base &s5=MP_set::getEmpty())
construct the MP_constraint with appropriate sets for indexing.
This is the anchor point for all constructs in a FlopC++ model.The constructors take an OsiSolverInte...
void setConstraint(MP_constraint *r)
Functor to facilitate generation of coefficients.
Internal representation of a "set".