Public Member Functions | |
CP_KNAPSACK (cons_obj *KCt, double tolerance=0.001) | |
Constructor. | |
void | init (subproblem &S) |
void | update_Ti (int x) |
void | update_gammasum (int x) |
int | init_righthandsum () |
int | update_righthandsum (int x) |
bool | compute_cover () |
void | lift_on_F (std::vector< int > *W) |
void | lift_on_C2 (std::vector< int > *W) |
void | lift_on_R (std::vector< int > *W) |
void | compute_first_row () |
void | compute_next_row () |
void | setup_values (subproblem &S) |
status | standard_separation (subproblem &S) |
void | info () |
Definition at line 29 of file cp_knapsack.h.
bool SCIL::CP_KNAPSACK::compute_cover | ( | ) |
Generates a cover
Definition at line 130 of file cp_knapsack.cc.
Referenced by standard_separation().
void SCIL::CP_KNAPSACK::info | ( | ) | [virtual] |
Returns information on the symbolic constraints.
Reimplemented from SCIL::sym_constraint.
Definition at line 644 of file cp_knapsack.cc.
void SCIL::CP_KNAPSACK::init | ( | subproblem & | S | ) | [virtual] |
Adds the KC constraint and substitutes negative coefficients
Reimplemented from SCIL::sym_constraint.
Definition at line 46 of file cp_knapsack.cc.
References SCIL::subproblem::add_basic_constraint(), SCIL::subproblem::configuration(), SCIL::subproblem::get_var(), and SCIL::subproblem::nVar().
int SCIL::CP_KNAPSACK::init_righthandsum | ( | ) |
This function initializes the value rightsum with {j C_2} a_j rightsum is used to compute the value b- {j L'_i} a_j
Definition at line 110 of file cp_knapsack.cc.
Referenced by standard_separation().
CP_KNAPSACK::status SCIL::CP_KNAPSACK::standard_separation | ( | subproblem & | S | ) | [virtual] |
Main Seperation function
main loop ////
test for violation of LCI ///
Reimplemented from SCIL::sym_constraint.
Definition at line 501 of file cp_knapsack.cc.
References compute_cover(), and init_righthandsum().
void SCIL::CP_KNAPSACK::update_gammasum | ( | int | x | ) |
This function adds the value of the actually computed lifting coefficient of a variable from the set C_2 to the actual value of gammasum. gammasum represents the value of the sum {j C_2 l_i}
Definition at line 105 of file cp_knapsack.cc.
int SCIL::CP_KNAPSACK::update_righthandsum | ( | int | x | ) |
This function substracts the value of coeff[x] from the value rightsum // and returns the value //
Subtracts coeffs[x] from rightsum
Definition at line 121 of file cp_knapsack.cc.
void SCIL::CP_KNAPSACK::update_Ti | ( | int | x | ) |
This function adds the value of the actually computed lifting coefficient to the current value of T_i.
Definition at line 100 of file cp_knapsack.cc.