Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
Cgl012Cut Class Reference

012Cut Generator Class More...

#include <Cgl012cut.hpp>

+ Collaboration diagram for Cgl012Cut:

Public Member Functions

Constructors and destructors
 Cgl012Cut ()
 Default constructor. More...
 
 Cgl012Cut (const Cgl012Cut &)
 Copy constructor. More...
 
Cgl012Cutoperator= (const Cgl012Cut &rhs)
 Assignment operator. More...
 
virtual ~Cgl012Cut ()
 Destructor. More...
 

Private Attributes

Private member data
ilpinp_ilp
 
parity_ilpp_ilp
 
int iter
 
double gap
 
double maxgap
 
int errorNo
 
int sep_iter
 
log_var ** vlog
 
bool aggr
 

Generate Cuts

int sep_012_cut (int mr, int mc, int mnz, int *mtbeg, int *mtcnt, int *mtind, int *mtval, int *vlb, int *vub, int *mrhs, char *msense, const double *xstar, bool aggressive, int *cnum, int *cnzcnt, int **cbeg, int **ccnt, int **cind, int **cval, int **crhs, char **csense)
 
void ilp_load (int mr, int mc, int mnz, int *mtbeg, int *mtcnt, int *mtind, int *mtval, int *vlb, int *vub, int *mrhs, char *msense)
 
void free_ilp ()
 
void alloc_parity_ilp (int mr, int mc, int mnz)
 
void free_parity_ilp ()
 
void initialize_log_var ()
 
void free_log_var ()
 
int best_weakening (int n_to_weak, int *vars_to_weak, short int original_parity, double original_slack, double *best_even_slack, double *best_odd_slack, info_weak **info_even_weak, info_weak **info_odd_weak, short int only_odd, short int only_viol)
 
short int best_cut (int *ccoef, int *crhs, double *violation, short int update, short int only_viol)
 
cutget_cut (cycle *s_cyc)
 
void update_log_var ()
 
cut_listbasic_separation ()
 
double score_by_moving (int i, short int itype, double thresh)
 
void modify_current (int i, short int itype)
 
short int best_neighbour (cut_list *out_cuts)
 
void add_tight_constraint ()
 
cut_listtabu_012 ()
 
void initialize ()
 
void restart (short int failure)
 
void print_constr (int i)
 
void print_parity_ilp ()
 
void get_parity_ilp ()
 
separation_graphinitialize_sep_graph ()
 
void print_cut (cut *v_cut)
 
short int get_ori_cut_coef (int n_of_constr, int *constr_list, int *ccoef, int *crhs, short int only_viol)
 
cutdefine_cut (int *ccoef, int crhs)
 
double cut_score (int *ccoef, int crhs, double viol, short int only_viol)
 
cutget_current_cut ()
 
void print_cur_cut ()
 
void print_cut_list (cut_list *cuts)
 

Detailed Description

012Cut Generator Class

This class is to make Cgl01cut thread safe etc

Definition at line 207 of file Cgl012cut.hpp.

Constructor & Destructor Documentation

Cgl012Cut::Cgl012Cut ( )

Default constructor.

Cgl012Cut::Cgl012Cut ( const Cgl012Cut )

Copy constructor.

virtual Cgl012Cut::~Cgl012Cut ( )
virtual

Destructor.

Member Function Documentation

int Cgl012Cut::sep_012_cut ( int  mr,
int  mc,
int  mnz,
int *  mtbeg,
int *  mtcnt,
int *  mtind,
int *  mtval,
int *  vlb,
int *  vub,
int *  mrhs,
char *  msense,
const double *  xstar,
bool  aggressive,
int *  cnum,
int *  cnzcnt,
int **  cbeg,
int **  ccnt,
int **  cind,
int **  cval,
int **  crhs,
char **  csense 
)
void Cgl012Cut::ilp_load ( int  mr,
int  mc,
int  mnz,
int *  mtbeg,
int *  mtcnt,
int *  mtind,
int *  mtval,
int *  vlb,
int *  vub,
int *  mrhs,
char *  msense 
)
void Cgl012Cut::free_ilp ( )
void Cgl012Cut::alloc_parity_ilp ( int  mr,
int  mc,
int  mnz 
)
void Cgl012Cut::free_parity_ilp ( )
void Cgl012Cut::initialize_log_var ( )
void Cgl012Cut::free_log_var ( )
int Cgl012Cut::best_weakening ( int  n_to_weak,
int *  vars_to_weak,
short int  original_parity,
double  original_slack,
double *  best_even_slack,
double *  best_odd_slack,
info_weak **  info_even_weak,
info_weak **  info_odd_weak,
short int  only_odd,
short int  only_viol 
)
private
short int Cgl012Cut::best_cut ( int *  ccoef,
int *  crhs,
double *  violation,
short int  update,
short int  only_viol 
)
private
cut* Cgl012Cut::get_cut ( cycle s_cyc)
private
void Cgl012Cut::update_log_var ( )
private
cut_list* Cgl012Cut::basic_separation ( )
private
double Cgl012Cut::score_by_moving ( int  i,
short int  itype,
double  thresh 
)
private
void Cgl012Cut::modify_current ( int  i,
short int  itype 
)
private
short int Cgl012Cut::best_neighbour ( cut_list out_cuts)
private
void Cgl012Cut::add_tight_constraint ( )
private
cut_list* Cgl012Cut::tabu_012 ( )
private
void Cgl012Cut::initialize ( )
private
void Cgl012Cut::restart ( short int  failure)
private
void Cgl012Cut::print_constr ( int  i)
private
void Cgl012Cut::print_parity_ilp ( )
private
void Cgl012Cut::get_parity_ilp ( )
private
separation_graph* Cgl012Cut::initialize_sep_graph ( )
private
void Cgl012Cut::print_cut ( cut v_cut)
private
short int Cgl012Cut::get_ori_cut_coef ( int  n_of_constr,
int *  constr_list,
int *  ccoef,
int *  crhs,
short int  only_viol 
)
private
cut* Cgl012Cut::define_cut ( int *  ccoef,
int  crhs 
)
private
double Cgl012Cut::cut_score ( int *  ccoef,
int  crhs,
double  viol,
short int  only_viol 
)
private
cut* Cgl012Cut::get_current_cut ( )
private
void Cgl012Cut::print_cur_cut ( )
private
void Cgl012Cut::print_cut_list ( cut_list cuts)
private
Cgl012Cut& Cgl012Cut::operator= ( const Cgl012Cut rhs)

Assignment operator.

Member Data Documentation

ilp* Cgl012Cut::inp_ilp
private

Definition at line 449 of file Cgl012cut.hpp.

parity_ilp* Cgl012Cut::p_ilp
private

Definition at line 450 of file Cgl012cut.hpp.

int Cgl012Cut::iter
private

Definition at line 451 of file Cgl012cut.hpp.

double Cgl012Cut::gap
private

Definition at line 452 of file Cgl012cut.hpp.

double Cgl012Cut::maxgap
private

Definition at line 453 of file Cgl012cut.hpp.

int Cgl012Cut::errorNo
private

Definition at line 454 of file Cgl012cut.hpp.

int Cgl012Cut::sep_iter
private

Definition at line 455 of file Cgl012cut.hpp.

log_var** Cgl012Cut::vlog
private

Definition at line 456 of file Cgl012cut.hpp.

bool Cgl012Cut::aggr
private

Definition at line 460 of file Cgl012cut.hpp.


The documentation for this class was generated from the following file: