Cgl012Cut Class Reference

012Cut Generator Class More...

#include <Cgl012cut.hpp>

Collaboration diagram for Cgl012Cut:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Constructors and destructors



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

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.

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:

Generated on 5 Apr 2015 by  doxygen 1.6.1