# Cgl012Cut Class Reference

012Cut Generator Class More...

`#include <Cgl012cut.hpp>`

Collaboration diagram for Cgl012Cut:
[legend]

List of all members.

## Public Member Functions
Constructors and destructors
| Cgl012Cut ()
| Default constructor.
| Cgl012Cut (const Cgl012Cut &)
| Copy constructor.
Cgl012Cut & | operator= (const Cgl012Cut &rhs)
| Assignment operator.
virtual | ~Cgl012Cut ()
| Destructor.
## Private Attributes
Private member data
ilp * | inp_ilp
parity_ilp * | p_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)
cut * | get_cut (cycle *s_cyc)
void | update_log_var ()
cut_list * | basic_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_list * | tabu_012 ()
void | initialize ()
void | restart (short int failure)
void | print_constr (int i)
void | print_parity_ilp ()
void | get_parity_ilp ()
separation_graph * | initialize_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)
cut * | define_cut (int *ccoef, int crhs)
double | cut_score (int *ccoef, int crhs, double viol, short int only_viol)
cut * | get_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:

- /home/coin/svn-release/Alps-1.5.2/Cgl/src/CglZeroHalf/Cgl012cut.hpp