|
Classes |
struct | DGG_constraint_t |
struct | DGG_list_t |
struct | cutParams |
struct | DGG_data_t |
class | CglTwomir |
| Twostep MIR Cut Generator Class. More...
|
Defines |
#define | DGG_isBasic(data, idx) ((data->info[idx])&1) |
#define | DGG_isInteger(data, idx) ((data->info[idx] >> 1)&1) |
#define | DGG_isStructural(data, idx) ((data->info[idx] >> 2)&1) |
#define | DGG_isEqualityConstraint(data, idx) ((data->info[idx] >> 3)&1) |
#define | DGG_isNonBasicAtUB(data, idx) ((data->info[idx] >> 4)&1) |
#define | DGG_isNonBasicAtLB(data, idx) ((data->info[idx] >> 5)&1) |
#define | DGG_isConstraintBoundedAbove(data, idx) ((data->info[idx] >> 6)&1) |
#define | DGG_isConstraintBoundedBelow(data, idx) ((data->info[idx] >> 7)&1) |
#define | DGG_setIsBasic(data, idx) ((data->info[idx]) |= 1) |
#define | DGG_setIsInteger(data, idx) ((data->info[idx]) |= (1<<1)) |
#define | DGG_setIsStructural(data, idx) ((data->info[idx]) |= (1<<2)) |
#define | DGG_setEqualityConstraint(data, idx) ((data->info[idx]) |= (1<<3)) |
#define | DGG_setIsNonBasicAtUB(data, idx) ((data->info[idx]) |= (1<<4)) |
#define | DGG_setIsNonBasicAtLB(data, idx) ((data->info[idx]) |= (1<<5)) |
#define | DGG_setIsConstraintBoundedAbove(data, idx) ((data->info[idx]) |= (1<<6)) |
#define | DGG_setIsConstraintBoundedBelow(data, idx) ((data->info[idx]) |= (1<<7)) |
#define | DGG_DEBUG_DGG 1 |
#define | DGG_TRACE_ERRORS 0 |
#define | DGG_DISPLAY 0 |
#define | DGG_AUTO_CHECK_CUT_OFF_OPTIMAL 1 |
#define | DGG_DEFAULT_METHOD 2 |
#define | DGG_DEFAULT_TMIN 1 |
#define | DGG_DEFAULT_TMAX 1 |
#define | DGG_DEFAULT_TAUMIN 2 |
#define | DGG_DEFAULT_TAUMAX 6 |
#define | DGG_DEFAULT_MAX_CUTS 500 |
#define | DGG_DEFAULT_IMPROVEMENT_THRESH 0.001 |
#define | DGG_DEFAULT_NBELOW_THRESH INT_MAX |
#define | DGG_DEFAULT_NROOT_ROUNDS 2 |
#define | DGG_DEFAULT_NEGATIVE_SCALED_TWOSTEPS 0 |
#define | DGG_DEFAULT_ALPHA_RULE 0 |
#define | DGG_DEFAULT_CUT_INC 250 |
#define | DGG_DEFAULT_CUT_FORM 0 |
#define | DGG_DEFAULT_NICEFY 0 |
#define | DGG_DEFAULT_ONLY_DELAYED 0 |
#define | DGG_DEFAULT_DELAYED_FREQ 9999999 |
#define | DGG_DEFAULT_LPROWS_FREQ 9999999 |
#define | DGG_DEFAULT_WHICH_FORMULATION_CUTS 2 |
#define | DGG_OSI 0 |
#define | DGG_CPX 1 |
#define | DGG_QSO 2 |
#define | DGG_SOLVER DGG_OSI |
#define | DGG_DEBUG_SOLVER 0 |
#define | DGG_SOLVER_SCREEN_FLAG 0 |
#define | DGG_TMIR_CUT 1 |
#define | DGG_2STEP_CUT 2 |
#define | DGG_ALPHA_MIN_SUM 0 |
#define | DGG_ALPHA_RANDOM_01 1 |
#define | DGG_ALPHA_RANDOM_COEFF 2 |
#define | DGG_ALPHA_ALL 3 |
#define | DGG_ALPHA_MAX_STEEP 5 |
#define | DGG_MIN_STEEPNESS 1.0e-4 |
#define | DGG_MAX_L2NORM 1.0e7 |
#define | DGG_NORM_CRITERIA 1 |
#define | UB_MAX DBL_MAX |
#define | LB_MIN DBL_MIN |
#define | DGG_GOMORY_THRESH 0.005 |
#define | DGG_RHS_THRESH 0.005 |
#define | DGG_BOUND_THRESH 1.0e-6 |
#define | DGG_EQUALITY_THRESH 1.0e-5 |
#define | DGG_SHIFT_THRESH 1.0e-6 |
#define | DGG_INTEGRALITY_THRESH 1.0e-10 |
#define | DGG_MIN_TABLEAU_COEFFICIENT 1.0e-8 |
#define | DGG_MIN_RHO 1.0e-7 |
#define | DGG_MIN_ALPHA 1.0e-7 |
#define | DGG_NULL_SLACK 1.0e-5 |
#define | DGG_NICEFY_MIN_ABSVALUE 1.0e-13 |
#define | DGG_NICEFY_MIN_FIX 1.0e-7 |
#define | DGG_NICEFY_MAX_PADDING 1.0e-6 |
#define | DGG_NICEFY_MAX_RATIO 1.0e9 |
#define | DGG_IF_EXIT(A, B, REST) {if(A) {fprintf(stdout, REST);exit(B);}} |
#define | DGG_THROW(A, B) return(A) |
#define | DGG_CHECKRVAL(A, B) { if(A) return(B); } |
#define | DGG_CHECKRVAL1(A, B) { if(A) { rval = B; goto CLEANUP; } } |
#define | DGG_TEST(A, B, REST) { if(A) return(B);} |
#define | DGG_TEST2(A, B, REST, C) { DGG_TEST(A,B,REST) } |
#define | DGG_TEST3(A, B, REST, C, D) { DGG_TEST(A,B,REST) } |
#define | DGG_MIN(a, b) ( (a<b)?a:b ) |
#define | DGG_MAX(a, b) ( (a>b)?a:b ) |
#define | KREM(vht, alpha, tau) (DGG_MIN( ceil(vht / alpha), tau ) - 1) |
#define | LMIN(vht, d, bht) (DGG_MIN( floor(d*bht/bht), d)) |
#define | ABOV(v) (v - floor(v)) |
#define | QINT(vht, bht, tau) ( (int)floor( (vht*(tau-1))/bht ) ) |
#define | V2I(bht, tau, i) ( ((i+1)*bht / tau) ) |
Functions |
int | DGG_is_even (double vht, double bht, int tau, int q) |
double | frac_part (double value) |
int | DGG_is_a_multiple_of_b (double a, double b) |
int | DGG_freeData (DGG_data_t *data) |
DGG_constraint_t * | DGG_newConstraint (int max_arrays) |
void | DGG_freeConstraint (DGG_constraint_t *c) |
DGG_constraint_t * | DGG_copyConstraint (DGG_constraint_t *c) |
void | DGG_scaleConstraint (DGG_constraint_t *c, int t) |
void | DGG_list_init (DGG_list_t *l) |
int | DGG_list_addcut (DGG_list_t *l, DGG_constraint_t *cut, int ctype, double alpha) |
void | DGG_list_delcut (DGG_list_t *l, int i) |
void | DGG_list_free (DGG_list_t *l) |
DGG_data_t * | DGG_getData (const void *solver_ptr) |
int | DGG_transformConstraint (DGG_data_t *data, double **x_out, double **rc_out, char **isint_out, DGG_constraint_t *constraint) |
int | DGG_unTransformConstraint (DGG_data_t *data, DGG_constraint_t *constraint) |
int | DGG_substituteSlacks (const void *solver_ptr, DGG_data_t *data, DGG_constraint_t *cut) |
int | DGG_nicefyConstraint (const void *solver_ptr, DGG_data_t *data, DGG_constraint_t *cut) |
int | DGG_getFormulaConstraint (int row_idx, const void *solver_ptr, DGG_data_t *data, DGG_constraint_t *row) |
int | DGG_getTableauConstraint (int index, const void *solver_ptr, DGG_data_t *data, DGG_constraint_t *tabrow, const int *colIsBasic, const int *rowIsBasic, CoinFactorization &factorization, int mode) |
DGG_constraint_t * | DGG_getSlackExpression (const void *solver_ptr, DGG_data_t *data, int row_index) |
int | DGG_generateTabRowCuts (DGG_list_t *list, DGG_data_t *data, const void *solver_ptr) |
int | DGG_generateFormulationCuts (DGG_list_t *list, DGG_data_t *data, const void *solver_ptr, int nrows) |
int | DGG_generateFormulationCutsFromBase (DGG_constraint_t *base, double slack, DGG_list_t *list, DGG_data_t *data, const void *solver_ptr) |
int | DGG_generateCutsFromBase (DGG_constraint_t *base, DGG_list_t *list, DGG_data_t *data, const void *solver_ptr) |
int | DGG_buildMir (char *isint, DGG_constraint_t *base, DGG_constraint_t **cut_out) |
int | DGG_build2step (double alpha, char *isint, DGG_constraint_t *base, DGG_constraint_t **cut_out) |
int | DGG_addMirToList (DGG_constraint_t *base, char *isint, double *x, DGG_list_t *list, DGG_data_t *data, DGG_constraint_t *orig_base) |
int | DGG_add2stepToList (DGG_constraint_t *base, char *isint, double *x, double *rc, DGG_list_t *list, DGG_data_t *data, DGG_constraint_t *orig_base) |
double | DGG_cutLHS (DGG_constraint_t *c, double *x) |
int | DGG_isCutDesirable (DGG_constraint_t *c, DGG_data_t *d) |
int | DGG_isConstraintViolated (DGG_data_t *d, DGG_constraint_t *c) |
int | DGG_isBaseTrivial (DGG_data_t *d, DGG_constraint_t *c) |
int | DGG_is2stepValid (double alpha, double bht) |
int | DGG_cutsOffPoint (double *x, DGG_constraint_t *cut) |