Definition in file mt_SL.c.
#include "mt_SL.h"
#include "mt_cplex_cbk.h"
Include dependency graph for mt_SL.c:
Go to the source code of this file.
Functions | |
int | MTsl1 (const double *const ineq, MTrowmatrix_t *const tb, double *const work, const char *const vtype, const int mode) |
compute in work the value ineq * r_i as described by the given inequality and tableau, we assume that work is zero, moreover, given the variable status (interger/binary) and an operation mode, try to do nothing (mode 0), try to get ineq*r[i] >0 (mode 1) or try to get ineq*r[i] < 0 (mode 2), note that mode != 0 will modify the tableau | |
int | MTsl2 (const double *const ineq, double *const cutval, double *const work, const int *const active, const int nactive) |
, set cutval[i] = max(cutval[i],work[i] > 0 ? work[i]/ineq[3]: 0); and reset work to zero | |
int | MTsl3 (const double *const f, double *const ineq, const int dim) |
given an inequality and f compute ineq[dim+1] and (possible change signs) to ensure that ineq[dim+1] > 0; | |
int | MTsl4 (double *const ineq, const double x0, const double _y0, const double x1, const double _y1) |
compute the line that pases through the two given points | |
int | MTsl5 (int *const nactive, int *const active, const int nvars, const int nz, const double *const compval, const int *const compind) |
compute active set from the given compresed vector set | |
int | MTsl_ccbk (CPXCENVptr env, void *cbdata, int wherefrom, void *cbhandle, int *useraction_p) |
Interface for the CPLEX-callback for the MTt1Cut function. | |
int | MTslCut (MTgomory_ccbk_t *const data, CPXCENVptr env, CPXLPptr lp) |
The idea of these cuts is to use some ideas from the paper ``On the relative strengt of split, triangle and cuadrilateral cuts'' from Cornuejols et. al. The main point is that splits are bad (compared against triangles or quadrilaterals) whenever we have (an almost) integer part in ![]() ![]() ![]() |