Loading...
Searching...
No Matches
Cgl012Cut Class Reference

012Cut Generator Class More...

`#include <Cgl012cut.hpp>`

Collaboration diagram for Cgl012Cut:
[legend]

## 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() [1/2]

Cgl012Cut::Cgl012Cut | ( |  | ) |

Default constructor.

## Cgl012Cut() [2/2]

Cgl012Cut::Cgl012Cut | ( | const Cgl012Cut & |  | ) |

Copy constructor.

## ~Cgl012Cut()

virtual Cgl012Cut::~Cgl012Cut | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## sep_012_cut()

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 )

## ilp_load()

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 )

## free_ilp()

void Cgl012Cut::free_ilp | ( |  | ) |

## alloc_parity_ilp()

void Cgl012Cut::alloc_parity_ilp | ( | int | mr,
|  | int | mc,
|  | int | mnz )

## free_parity_ilp()

void Cgl012Cut::free_parity_ilp | ( |  | ) |

## initialize_log_var()

void Cgl012Cut::initialize_log_var | ( |  | ) |

## free_log_var()

void Cgl012Cut::free_log_var | ( |  | ) |

## best_weakening()

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

## best_cut()

short int Cgl012Cut::best_cut | ( | int * | ccoef,
|  | int * | crhs,
|  | double * | violation,
|  | short int | update,
|  | short int | only_viol )

private

## get_cut()

cut * Cgl012Cut::get_cut | ( | cycle * | s_cyc | ) |

private

## update_log_var()

void Cgl012Cut::update_log_var | ( |  | ) |

private

## basic_separation()

cut_list * Cgl012Cut::basic_separation | ( |  | ) |

private

## score_by_moving()

double Cgl012Cut::score_by_moving | ( | int | i,
|  | short int | itype,
|  | double | thresh )

private

## modify_current()

void Cgl012Cut::modify_current | ( | int | i,
|  | short int | itype )

private

## best_neighbour()

short int Cgl012Cut::best_neighbour | ( | cut_list * | out_cuts | ) |

private

## add_tight_constraint()

void Cgl012Cut::add_tight_constraint | ( |  | ) |

private

## tabu_012()

cut_list * Cgl012Cut::tabu_012 | ( |  | ) |

private

## initialize()

void Cgl012Cut::initialize | ( |  | ) |

private

## restart()

void Cgl012Cut::restart | ( | short int | failure | ) |

private

## print_constr()

void Cgl012Cut::print_constr | ( | int | i | ) |

private

## print_parity_ilp()

void Cgl012Cut::print_parity_ilp | ( |  | ) |

private

## get_parity_ilp()

void Cgl012Cut::get_parity_ilp | ( |  | ) |

private

## initialize_sep_graph()

separation_graph * Cgl012Cut::initialize_sep_graph | ( |  | ) |

private

## print_cut()

void Cgl012Cut::print_cut | ( | cut * | v_cut | ) |

private

## get_ori_cut_coef()

short int Cgl012Cut::get_ori_cut_coef | ( | int | n_of_constr,
|  | int * | constr_list,
|  | int * | ccoef,
|  | int * | crhs,
|  | short int | only_viol )

private

## define_cut()

cut * Cgl012Cut::define_cut | ( | int * | ccoef,
|  | int | crhs )

private

## cut_score()

double Cgl012Cut::cut_score | ( | int * | ccoef,
|  | int | crhs,
|  | double | viol,
|  | short int | only_viol )

private

## get_current_cut()

cut * Cgl012Cut::get_current_cut | ( |  | ) |

private

## print_cur_cut()

void Cgl012Cut::print_cur_cut | ( |  | ) |

private

## print_cut_list()

void Cgl012Cut::print_cut_list | ( | cut_list * | cuts | ) |

private

## operator=()

Cgl012Cut & Cgl012Cut::operator= | ( | const Cgl012Cut & | rhs | ) |

Assignment operator.

## Member Data Documentation

## inp_ilp

ilp* Cgl012Cut::inp_ilp

private

Definition at line 449 of file Cgl012cut.hpp.

## p_ilp

parity_ilp* Cgl012Cut::p_ilp

private

Definition at line 450 of file Cgl012cut.hpp.

## iter

int Cgl012Cut::iter

private

Definition at line 451 of file Cgl012cut.hpp.

## gap

double Cgl012Cut::gap

private

Definition at line 452 of file Cgl012cut.hpp.

## maxgap

double Cgl012Cut::maxgap

private

Definition at line 453 of file Cgl012cut.hpp.

## errorNo

int Cgl012Cut::errorNo

private

Definition at line 454 of file Cgl012cut.hpp.

## sep_iter

int Cgl012Cut::sep_iter

private

Definition at line 455 of file Cgl012cut.hpp.

## vlog

log_var** Cgl012Cut::vlog

private

Definition at line 456 of file Cgl012cut.hpp.

## aggr

bool Cgl012Cut::aggr

private

Definition at line 460 of file Cgl012cut.hpp.

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

- Cgl/src/CglZeroHalf/Cgl012cut.hpp