Symbolic Constraints.
#include <sym_constraint.h>

Public Types | |
| enum | status { no_constraint_found, constraint_found, fathom, exception_branch, resolve_immediately, feasible_solution, infeasible_solution, variable_found, no_variable_found, preemtion, continue_work } |
Public Member Functions | |
| virtual status | standard_separation (subproblem &) |
| virtual status | fast_separation (subproblem &) |
| virtual void | init (subproblem &) |
| virtual status | feasible (solution &) |
| virtual status | LP_pricing (subproblem &) |
| virtual status | mf_pricing (subproblem &) |
| virtual status | close_subproblem (subproblem &) |
| virtual status | open_subproblem (subproblem &) |
| void | set_feps (double feps_) |
| virtual void | info () |
Protected Attributes | |
| double | feps |
Definition at line 13 of file sym_constraint.h.
the possible return values of all functions that are allowed to modify the current LP.
Definition at line 22 of file sym_constraint.h.
| virtual status SCIL::sym_constraint::close_subproblem | ( | subproblem & | ) | [inline, virtual] |
This function is called if the BCP-system wants to close the subproblem (either fathom, preemtion, or branch). If shoud return continue. It can also return fathom, preemtion, exception_branch or resolve.
Definition at line 79 of file sym_constraint.h.
This function is called, if the BCP-System wants to save the solution of the LP-solver as primal solution. If this function if called, it is guaranteed that all interal variabes have integral values in the LP-solution. The function should return either feasible or infeasible. It could also return fathom, preemtion, exception_branch or resolve_immedialtely.
Reimplemented in SCIL::ATOUR< Graph >, SCIL::CUT< Graph >, SCIL::KCONNECTED< Graph >, SCIL::MATCHING< Graph >, SCIL::MAX, SCIL::PATH< Graph >, SCIL::QuadRef, SCIL::SpanTree< Graph >, SCIL::STABLESET< Graph >, SCIL::SteinerArborescence< Graph >, SCIL::StronglyConnected< Graph >, SCIL::submodular, SCIL::TJOIN< Graph >, SCIL::TOUR< Graph >, SCIL::bool_inst, SCIL::monomial_inst, SCIL::nonlinear_inst, and reformulation_constraint.
Definition at line 53 of file sym_constraint.h.
| virtual void SCIL::sym_constraint::info | ( | ) | [inline, virtual] |
This function should output information on the symbolic constraint (the method used, the possible configurations).
Reimplemented in SCIL::ATOUR< Graph >, SCIL::CP_KNAPSACK, SCIL::CUT< Graph >, SCIL::FLOW< Graph >, SCIL::KCONNECTED< Graph >, SCIL::MATCHING< Graph >, SCIL::MAX, SCIL::PATH< Graph >, SCIL::SpanTree< Graph >, SCIL::STABLESET< Graph >, SCIL::SteinerArborescence< Graph >, SCIL::StronglyConnected< Graph >, and SCIL::TOUR< Graph >.
Definition at line 99 of file sym_constraint.h.
| virtual void SCIL::sym_constraint::init | ( | subproblem & | ) | [inline, virtual] |
This function is called before the first LP at the root of the BCP-tree is solved.
Reimplemented in SCIL::ATOUR< Graph >, SCIL::CP_KNAPSACK, SCIL::CUT< Graph >, SCIL::FLOW< Graph >, SCIL::KCONNECTED< Graph >, SCIL::MATCHING< Graph >, SCIL::MAX, SCIL::QuadRef, SCIL::SpanTree< Graph >, SCIL::STABLESET< Graph >, SCIL::SteinerArborescence< Graph >, SCIL::submodular, SCIL::TJOIN< Graph >, SCIL::TOUR< Graph >, SCIL::nonlinear_inst, and reformulation_constraint.
Definition at line 44 of file sym_constraint.h.
| virtual status SCIL::sym_constraint::LP_pricing | ( | subproblem & | ) | [inline, virtual] |
This function is called, if the BCP-system wants to etablish the solution of the current LP as new lower bound. It shoud return either variable_found or no_variable_found. It could also return fathom, preemtion, exception_branch or resolve_immedialtely.
Reimplemented in PrimerPricer.
Definition at line 62 of file sym_constraint.h.
| virtual status SCIL::sym_constraint::mf_pricing | ( | subproblem & | ) | [inline, virtual] |
This function is called, if the BCP-system has to deal with an infeasible LP. It shoud return either variable_found or no_variable_found. It could also return fathom, preemtion, exception_branch or resolve_immedialtely.
Definition at line 71 of file sym_constraint.h.
| virtual status SCIL::sym_constraint::open_subproblem | ( | subproblem & | ) | [inline, virtual] |
This function is called if the BCP-system wants to start working at another subproblem. If shoud return continue. It can also return fathom, preemtion, exception_branch or resolve.
Definition at line 87 of file sym_constraint.h.
| void SCIL::sym_constraint::set_feps | ( | double | feps_ | ) | [inline] |
Function to set member float epsilon (feps).
Definition at line 93 of file sym_constraint.h.
| virtual status SCIL::sym_constraint::standard_separation | ( | subproblem & | ) | [inline, virtual] |
This function is called if the BCP-System wants to cut of the solution that was found by the LP-solver. It should return either no_cons_found or cons_found. But it is also possible that it returns fathom, preemption, exception_branch, or resolve_immediately.
Reimplemented in SCIL::ATOUR< Graph >, SCIL::CP_KNAPSACK, SCIL::CUT< Graph >, SCIL::KCONNECTED< Graph >, SCIL::MATCHING< Graph >, SCIL::MAX, SCIL::PATH< Graph >, SCIL::QuadRef, SCIL::SpanTree< Graph >, SCIL::STABLESET< Graph >, SCIL::SteinerArborescence< Graph >, SCIL::StronglyConnected< Graph >, SCIL::submodular, SCIL::TJOIN< Graph >, SCIL::TOUR< Graph >, SCIL::nonlinear_inst, and reformulation_constraint.
Definition at line 34 of file sym_constraint.h.
1.6.3