/home/coin/SVN-release/OS-2.0.1/Bcp/src/LP/BCP_lp_colrow.cpp File Reference

#include <memory>
#include <algorithm>
#include <numeric>
#include <cmath>
#include "CoinHelperFunctions.hpp"
#include "CoinWarmStartBasis.hpp"
#include "BCP_problem_core.hpp"
#include "BCP_lp_node.hpp"
#include "BCP_lp_result.hpp"
#include "BCP_lp_pool.hpp"
#include "BCP_lp.hpp"
#include "BCP_lp_branch.hpp"
#include "BCP_lp_user.hpp"
#include "BCP_lp_functions.hpp"

Include dependency graph for BCP_lp_colrow.cpp:

Go to the source code of this file.

Functions

static int BCP_compare_waiting_row_ptr (const BCP_lp_waiting_row *wrow0, const BCP_lp_waiting_row *wrow1)
static int BCP_compare_waiting_col_ptr (const BCP_lp_waiting_col *wcol0, const BCP_lp_waiting_col *wcol1)
bool BCP_lp_fix_vars (BCP_lp_prob &p)
static void BCP_lp_reset_positions (const BCP_vec< int > &deletable, BCP_vec< int > &pos, const bool error_if_deletable)
void BCP_delete_unwanted_candidates (const int num, const int added_num, const BCP_vec< int > *pos, BCP_vec< int > &deletable)
void BCP_lp_delete_cols_and_rows (BCP_lp_prob &p, BCP_lp_branching_object *can, const int added_colnum, const int added_rownum, const bool from_fathom, const bool force_delete)
void BCP_lp_adjust_row_effectiveness (BCP_lp_prob &p)
int BCP_lp_add_from_local_cut_pool (BCP_lp_prob &p)
int BCP_lp_add_from_local_var_pool (BCP_lp_prob &p)


Function Documentation

static int BCP_compare_waiting_row_ptr ( const BCP_lp_waiting_row wrow0,
const BCP_lp_waiting_row wrow1 
) [inline, static]

Definition at line 25 of file BCP_lp_colrow.cpp.

References BCP_lp_waiting_row::violation().

Referenced by BCP_lp_add_from_local_cut_pool().

static int BCP_compare_waiting_col_ptr ( const BCP_lp_waiting_col wcol0,
const BCP_lp_waiting_col wcol1 
) [inline, static]

Definition at line 35 of file BCP_lp_colrow.cpp.

References BCP_lp_waiting_col::red_cost().

Referenced by BCP_lp_add_from_local_var_pool().

bool BCP_lp_fix_vars ( BCP_lp_prob p  ) 

Definition at line 42 of file BCP_lp_colrow.cpp.

References BCP_lp_check_ub(), BCP_vec< T >::begin(), BCP_lp_node::cuts, BCP_lp_result::dj(), BCP_vec< T >::end(), BCP_vec< T >::entry(), BCP_vec< T >::erase(), BCP_lp_prob::granularity(), BCP_lp_user::logical_fixing(), BCP_lp_prob::lp_result, BCP_lp_prob::lp_solver, BCP_lp_par::LpVerb_VarTightening, BCP_lp_prob::node, BCP_lp_result::objval(), BCP_lp_prob::param(), BCP_lp_result::primalTolerance(), BCP_lp_user::reduced_cost_fixing(), BCP_vec< T >::reserve(), BCP_var_set::set_lb_ub(), BCP_vec< T >::size(), BCP_lp_prob::ub(), BCP_vec< T >::unchecked_push_back(), BCP_lp_prob::user, BCP_lp_prob::var_bound_changes_since_logical_fixing, BCP_lp_node::vars, x, and BCP_lp_result::x().

Referenced by BCP_lp_main_loop().

static void BCP_lp_reset_positions ( const BCP_vec< int > &  deletable,
BCP_vec< int > &  pos,
const bool  error_if_deletable 
) [static]

Definition at line 144 of file BCP_lp_colrow.cpp.

References BCP_vec< T >::size().

Referenced by BCP_lp_delete_cols_and_rows().

void BCP_delete_unwanted_candidates ( const int  num,
const int  added_num,
const BCP_vec< int > *  pos,
BCP_vec< int > &  deletable 
)

Definition at line 170 of file BCP_lp_colrow.cpp.

References BCP_vec< T >::begin(), BCP_vec< T >::end(), BCP_vec< T >::erase(), and BCP_vec< T >::push_back().

Referenced by BCP_lp_delete_cols_and_rows().

void BCP_lp_delete_cols_and_rows ( BCP_lp_prob p,
BCP_lp_branching_object can,
const int  added_colnum,
const int  added_rownum,
const bool  from_fathom,
const bool  force_delete 
)

Definition at line 201 of file BCP_lp_colrow.cpp.

References BCP_delete_unwanted_candidates(), BCP_lp_reset_positions(), BCP_lp_par::BranchOnCuts, BCP_lp_var_pool::cols_are_valid(), BCP_lp_node::cuts, BCP_lp_par::DeletedColToCompress_Frac, BCP_lp_par::DeletedColToCompress_Min, BCP_lp_par::DeletedRowToCompress_Frac, BCP_lp_par::DeletedRowToCompress_Min, BCP_vec< T >::empty(), BCP_vec< T >::erase_by_index(), BCP_lp_branching_object::forced_cut_pos, BCP_lp_branching_object::forced_var_pos, BCP_lp_branching_object::implied_cut_pos, BCP_lp_branching_object::implied_var_pos, BCP_lp_node::lb_at_cutgen, BCP_lp_prob::local_cut_pool, BCP_lp_prob::local_var_pool, lp, BCP_lp_prob::lp_result, BCP_lp_prob::lp_solver, BCP_lp_par::LpVerb_MatrixCompression, BCP_cut_set::move_deletable_to_pool(), BCP_lp_prob::node, BCP_lp_prob::param(), purge_ptr_vector_by_index(), BCP_vec< T >::push_back(), BCP_lp_cut_pool::rows_are_valid(), BCP_lp_user::select_cuts_to_delete(), BCP_lp_user::select_vars_to_delete(), BCP_vec< T >::size(), BCP_lp_prob::slack_pool, BCP_lp_prob::user, BCP_lp_node::vars, and ws.

Referenced by BCP_lp_fathom(), BCP_lp_main_loop(), BCP_lp_perform_fathom(), and BCP_lp_perform_strong_branching().

void BCP_lp_adjust_row_effectiveness ( BCP_lp_prob p  ) 

Definition at line 366 of file BCP_lp_colrow.cpp.

References BCP_IneffConstr_None, BCP_IneffConstr_NonzeroSlack, BCP_IneffConstr_ZeroDualValue, BCP_lp_prob::core, BCP_problem_core::cutnum(), BCP_lp_node::cuts, BCP_lp_par::IneffectiveConstraints, BCP_lp_result::lhs(), BCP_lp_prob::lp_result, BCP_lp_prob::lp_solver, BCP_lp_par::LpVerb_RowEffectivenessCount, BCP_lp_prob::node, BCP_lp_prob::param(), BCP_lp_result::pi(), pi, and BCP_vec< T >::size().

Referenced by BCP_lp_main_loop().

int BCP_lp_add_from_local_cut_pool ( BCP_lp_prob p  ) 

Definition at line 421 of file BCP_lp_colrow.cpp.

References BCP_compare_waiting_row_ptr(), BCP_CutViolationNorm_Directional, BCP_CutViolationNorm_Distance, BCP_CutViolationNorm_Plain, BCP_vec< T >::begin(), c, BCP_lp_node::cuts, BCP_lp_par::CutViolationNorm, BCP_vec< T >::end(), BCP_vec< T >::entry(), BCP_vec< T >::insert(), BCP_lp_node::lb_at_cutgen, BCP_lp_prob::local_cut_pool, BCP_row::LowerBound(), BCP_lp_prob::lp_result, BCP_lp_prob::lp_solver, BCP_lp_par::MaxCutsAddedPerIteration, BCP_lp_par::MaxLeftoverCutFrac, BCP_lp_par::MaxLeftoverCutNum, n, BCP_lp_prob::node, BCP_lp_result::objval(), BCP_lp_prob::param(), purge_ptr_vector(), BCP_vec< T >::reserve(), BCP_lp_cut_pool::rows_are_valid(), BCP_cut::set_effective_count(), BCP_vec< T >::size(), BCP_vec< T >::unchecked_push_back(), and BCP_row::UpperBound().

Referenced by BCP_lp_main_loop().

int BCP_lp_add_from_local_var_pool ( BCP_lp_prob p  ) 

Definition at line 530 of file BCP_lp_colrow.cpp.

References BCP_compare_waiting_col_ptr(), BCP_ContinuousVar, BCP_vec< T >::begin(), BCP_lp_var_pool::cols_are_valid(), e, BCP_vec< T >::end(), BCP_vec< T >::entry(), BCP_var::lb(), BCP_lp_prob::local_var_pool, BCP_col::LowerBound(), BCP_lp_prob::lp_solver, BCP_lp_par::MaxVarsAddedPerIteration, BCP_lp_prob::node, BCP_col::Objective(), BCP_lp_prob::param(), purge_ptr_vector(), BCP_vec< T >::reserve(), BCP_var::set_lb(), BCP_var::set_ub(), BCP_vec< T >::size(), BCP_var::ub(), BCP_vec< T >::unchecked_push_back(), BCP_col::UpperBound(), BCP_var::var_type(), and BCP_lp_node::vars.

Referenced by BCP_lp_main_loop().


Generated on Thu Oct 8 03:04:05 2009 by  doxygen 1.4.7