ILOG CPLEX C++ API 9.0 Reference Manual
ILOG CPLEX C++ API 9.0 Reference Manual
ILOG CPLEX C++ API 9.0 Reference Manual
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
IloCplex::GoalI<br />
public IloBool isIntegerFeasible()<br />
This method returns IloTrue if the solution of the current node is integer feasible.<br />
public IloBool isSOSFeasible(const IloSOS2 sos2)<br />
This method returns IloTrue if the solution of the current node is SOS feasible for the<br />
special ordered set indicated in its argument. The SOS passed as a parameter to this<br />
method must be of type 2; the equivalent method for an SOS of type 1 is also available.<br />
See the User's <strong>Manual</strong> for more about these types of special ordered sets.<br />
public IloBool isSOSFeasible(const IloSOS1 sos1)<br />
This method returns IloTrue if the solution of the current node is SOS feasible for the<br />
special ordered set indicated in its argument. The SOS passed as a parameter to this<br />
method must be of type 1; the equivalent method for an SOS of type 2 is also available.<br />
See the User's <strong>Manual</strong> for more about these types of special ordered sets.<br />
public static IloCplex::Goal OrGoal(IloCplex::Goal goal1,<br />
IloCplex::Goal goal2)<br />
The static methods OrGoal all return a goal that creates as many branches (or,<br />
equivalently, subproblems) as there are parameters. Each of the subnodes will be<br />
initialized with the remaining goal stack of the current node. In addition, the goal<br />
parameter will be pushed on the goal stack of the corresponding subgoal. If more than<br />
six branches need to be created, instances of OrGoal can be combined.<br />
public static IloCplex::Goal SolutionGoal(const IloIntVarArray vars,<br />
const IloNumArray vals)<br />
This static method creates and returns a goal that attempts to inject a solution specified<br />
by setting the variables listed in array vars to the corresponding values listed in the<br />
array vals.<br />
IloCplex will not blindly accept such a solution as a new incumbent. Instead, it will<br />
make sure that this solution is compatible with both the model and the goals. When<br />
checking feasibility with goals, it checks feasibility with both the goals that have already<br />
been executed and the goals that are still on the goal stack. Thus, in particular,<br />
IloCplex will reject any solution that is not compatible with the branching that has<br />
been done so far.<br />
IloCplex takes over memory managment for arrays vars and vals passed to<br />
SolutionGoal. Thus IloCplex will call method end for these arrays as soon as<br />
they can be discarded. Calling end for the arrays passed to SolutionGoal is an<br />
error and must be avoided.<br />
public static IloCplex::Goal SolutionGoal(const IloNumVarArray vars,<br />
const IloNumArray vals)<br />
This static method creates and returns a goal that attempts to inject a solution specified<br />
by setting the variables listed in array vars to the corresponding values listed in the<br />
array vals.<br />
<strong>ILOG</strong> <strong>CPLEX</strong> <strong>C++</strong> <strong>API</strong> <strong>9.0</strong> REFERENCE M ANUAL 146