|
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed Descriptionedge concave cut separator Definition in file sepa_eccuts.c. #include <assert.h>#include <string.h>#include "scip/scipdefplugins.h"#include "scip/sepa_eccuts.h"#include "scip/cons_quadratic.h"#include "scip/cons_xor.h"#include "scip/nlp.h"#include "tclique/tclique.h"#include "nlpi/nlpi_ipopt.h"Go to the source code of this file.
Macro Definition Documentation
Definition at line 39 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
Definition at line 40 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
Definition at line 41 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
Definition at line 42 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
Definition at line 43 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
does the separator use a secondary SCIP instance? Definition at line 44 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
should separation method be delayed, if other separators found cuts? Definition at line 45 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
maximum weight of branching nodes in level 0; 0 if not used for cliques with at least one fractional node) Definition at line 47 of file sepa_eccuts.c. Referenced by searchEcAggrWithCliques().
lower bound for weight of generated cliques Definition at line 50 of file sepa_eccuts.c. Referenced by searchEcAggrWithCliques().
maximal number of nodes of b&b tree Definition at line 51 of file sepa_eccuts.c. Referenced by searchEcAggrWithCliques().
frequency to backtrack to first level of tree (0: no premature backtracking) Definition at line 52 of file sepa_eccuts.c. Referenced by searchEcAggrWithCliques().
should generated cuts be removed from the LP if they are no longer tight? Definition at line 54 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
maximal number of separation rounds per node (-1: unlimited) Definition at line 55 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
maximal number of separation rounds in the root node (-1: unlimited) Definition at line 56 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
maximal depth at which the separator is applied Definition at line 57 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
maximal number of e.c. cuts separated per separation round Definition at line 58 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
maximal number of e.c. cuts separated per separation round in root node Definition at line 59 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
maximal coefficient range of a cut (maximal coefficient divided by minimal coefficient) in order to be added to LP relaxation Definition at line 60 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
minimal violation of an e.c. cut to be separated Definition at line 63 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
search for e.c. aggregation of at least this size (has to be >= 3) Definition at line 64 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
search for e.c. aggregation of at most this size (has to be >= minaggrsize) Definition at line 65 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
maximum number of bilinear terms allowed to be in a quadratic constraint Definition at line 66 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
maximum number of unsuccessful rounds in the e.c. aggregation search Definition at line 67 of file sepa_eccuts.c. Referenced by SCIPincludeSepaEccuts().
node limit to solve the sub-SCIP Definition at line 69 of file sepa_eccuts.c. Referenced by searchEcAggrWithMIP().
adjust resulting facets in checkRikun() up to a violation of this value Definition at line 71 of file sepa_eccuts.c. Referenced by checkRikun().
use dual or primal simplex algorithm? Definition at line 72 of file sepa_eccuts.c. Referenced by SCIPcomputeConvexEnvelopeFacet(). Typedef Documentation
Definition at line 94 of file sepa_eccuts.c.
Definition at line 123 of file sepa_eccuts.c. Function Documentation
creates and empty edge-concave aggregation (without bilinear terms)
Definition at line 165 of file sepa_eccuts.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocMemory, and SCIPallocMemoryArray. Referenced by nlrowaggrCreate().
frees and edge-concave aggregation
Definition at line 193 of file sepa_eccuts.c. References NULL, SCIP_OKAY, SCIPfreeMemory, and SCIPfreeMemoryArray. Referenced by nlrowaggrFree().
adds a quadratic variable to an edge-concave aggregation
Definition at line 214 of file sepa_eccuts.c. References EcAggr::nvars, SCIP_OKAY, and EcAggr::vars. Referenced by nlrowaggrCreate().
adds a bilinear term to an edge-concave aggregation
Definition at line 225 of file sepa_eccuts.c. References EcAggr::nterms, NULL, EcAggr::nvars, SCIP_OKAY, SCIPisZero(), EcAggr::termcoefs, EcAggr::termvars1, EcAggr::termvars2, and EcAggr::vars. Referenced by nlrowaggrCreate().
stores linear terms in a given nonlinear row aggregation
Definition at line 299 of file sepa_eccuts.c. References BMScopyMemoryArray, NlrowAggr::lincoefs, NlrowAggr::linvars, NlrowAggr::nlinvars, NULL, NlrowAggr::rhsaggr, SCIP_CALL, SCIP_OKAY, and SCIPallocMemoryArray. Referenced by nlrowaggrCreate().
stores quadratic variables in a given nonlinear row aggregation
Definition at line 339 of file sepa_eccuts.c. References BMScopyMemoryArray, NlrowAggr::nquadvars, NULL, NlrowAggr::quadvars, SCIP_CALL, SCIP_OKAY, and SCIPallocMemoryArray. Referenced by nlrowaggrCreate().
adds a remaining bilinear term to a given nonlinear row aggregation
Definition at line 360 of file sepa_eccuts.c. References NlrowAggr::nremterms, NULL, NlrowAggr::remtermcoefs, NlrowAggr::remtermvars1, NlrowAggr::remtermvars2, and SCIP_OKAY. Referenced by nlrowaggrCreate().
creates a nonlinear row aggregation
Definition at line 383 of file sepa_eccuts.c. References BMScopyMemoryArray, SCIP_QuadElement::coef, ecaggrAddBilinTerm(), ecaggrAddQuadvar(), ecaggrCreateEmpty(), SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, nlrowaggrAddRemBilinTerm(), nlrowaggrStoreLinearTerms(), nlrowaggrStoreQuadraticVars(), SCIP_NlRow::nquadvars, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPallocMemory, SCIPallocMemoryArray, SCIPdebugMessage, SCIPfreeBufferArray, SCIPisNegative(), SCIPnlrowGetConstant(), SCIPnlrowGetLhs(), SCIPnlrowGetLinearCoefs(), SCIPnlrowGetLinearVars(), SCIPnlrowGetNLinearVars(), SCIPnlrowGetNQuadElems(), SCIPnlrowGetNQuadVars(), SCIPnlrowGetQuadElems(), SCIPnlrowGetQuadVars(), and SCIPnlrowGetRhs(). Referenced by findAndStoreEcAggregations().
frees a nonlinear row aggregation
Definition at line 543 of file sepa_eccuts.c. References ecaggrFree(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeMemory, SCIPfreeMemoryArray, and SCIPfreeMemoryArrayNull. Referenced by sepadataFreeNlrows().
creates separator data
Definition at line 625 of file sepa_eccuts.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, and SCIPallocMemory. Referenced by SCIPincludeSepaEccuts().
frees all nonlinear row aggregations
Definition at line 654 of file sepa_eccuts.c. References nlrowaggrFree(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPfreeMemoryArray. Referenced by sepadataFree().
frees separator data
Definition at line 683 of file sepa_eccuts.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeMemory, SCIPlpiFree(), and sepadataFreeNlrows().
adds a nonlinear row aggregation to the separator data
Definition at line 709 of file sepa_eccuts.c. References NlrowAggr::ecaggr, MAX, NlrowAggr::necaggr, NULL, EcAggr::nvars, NlrowAggr::rhsaggr, SCIP_CALL, SCIP_OKAY, SCIPallocMemoryArray, and SCIPreallocMemoryArray. Referenced by findAndStoreEcAggregations(). returns min{val-lb,ub-val} / (ub-lb)
Definition at line 750 of file sepa_eccuts.c. References MAX, MIN, and SCIPisFeasEQ(). Referenced by searchEcAggr().
creates an MIP to search for cycles with an odd number of positive edges in the graph representation of a nonlinear row; the model uses directed binary arc flow variables; we introduce for all quadratic elements a forward and backward edge; if the term is quadratic (e.g., loop in the graph) we fix the corresponding variables to zero; this leads to an easy mapping of quadratic elements and the variables of the MIP
Definition at line 773 of file sepa_eccuts.c. References SCIP_QuadElement::coef, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OBJSENSE_MAXIMIZE, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIPaddCoefLinear(), SCIPaddCons(), SCIPaddVar(), SCIPallocBufferArray, SCIPcreateConsBasicLinear(), SCIPcreateConsBasicXor(), SCIPcreateProbBasic(), SCIPcreateVarBasic(), SCIPdebugMessage, SCIPfreeBufferArray, SCIPincludeDefaultPlugins(), SCIPisNegative(), SCIPisPositive(), SCIPnlrowGetNQuadElems(), SCIPnlrowGetNQuadVars(), SCIPnlrowGetQuadElems(), SCIPnlrowGetQuadVars(), SCIPreleaseCons(), SCIPsetObjsense(), SCIPsnprintf(), SCIPvarGetName(), and TRUE. Referenced by searchEcAggr().
fixed all arc variables (u,v) for which u or v is already in an edge-concave aggregation
Definition at line 930 of file sepa_eccuts.c. References SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, NULL, SCIP_CALL, SCIP_OKAY, SCIPchgVarUb(), SCIPfreeTransform(), SCIPnlrowGetNQuadElems(), and SCIPnlrowGetQuadElems(). Referenced by searchEcAggr().
stores the best edge-concave aggregation found by the MIP model
Definition at line 974 of file sepa_eccuts.c. References SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, NULL, SCIP_OKAY, SCIP_STATUS_INFEASIBLE, SCIPgetBestSol(), SCIPgetNSols(), SCIPgetSolVal(), SCIPgetStatus(), SCIPisGT(), SCIPnlrowGetNQuadElems(), and SCIPnlrowGetQuadElems(). Referenced by searchEcAggr().
searches for edge-concave aggregations with an MIP model based on binary flow variables
Definition at line 1020 of file sepa_eccuts.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PARAMSETTING_AGGRESSIVE, SCIP_STATUS_INFEASIBLE, SCIPgetBestSol(), SCIPgetNSols(), SCIPgetStatus(), SCIPisLE(), SCIPprintSol(), SCIPsetHeuristics(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetRealParam(), SCIPsolve(), SUBSCIP_NODELIMIT, and TRUE. Referenced by searchEcAggr().
creates a tclique graph from a given nonlinear row SCIP's clique code can only handle integer node weights; all node weights are scaled by a factor of 100; since the clique code ignores nodes with weight of zero, we add an offset of 100 to each weight
Definition at line 1086 of file sepa_eccuts.c. References SCIP_QuadElement::coef, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, NULL, SCIP_ERROR, SCIP_OKAY, SCIPdebugMessage, SCIPerrorMessage, SCIPisZero(), SCIPnlrowGetNQuadElems(), SCIPnlrowGetNQuadVars(), SCIPnlrowGetQuadElems(), SCIPnlrowGetQuadVars(), SCIPvarGetIndex(), SCIPvarGetName(), tcliqueAddEdge(), tcliqueAddNode(), tcliqueCreate(), and tcliqueFlush(). Referenced by searchEcAggr().
searches for edge-concave aggregations by computing cliques in the graph representation of a given nonlinear row update graph, compute clique, store clique; after computing a clique we heuristically check if the clique contains at least one good cycle
Definition at line 1171 of file sepa_eccuts.c. References BMSclearMemoryArray, CLIQUE_BACKTRACKFREQ, CLIQUE_MAXFIRSTNODEWEIGHT, CLIQUE_MAXNTREENODES, CLIQUE_MINWEIGHT, SCIP_QuadElement::coef, FALSE, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPdebugMessage, SCIPfreeBufferArray, SCIPhashmapCreate(), SCIPhashmapExists(), SCIPhashmapFree(), SCIPhashmapInsert(), SCIPisNegative(), SCIPisPositive(), SCIPnlrowGetNQuadElems(), SCIPnlrowGetNQuadVars(), SCIPnlrowGetQuadElems(), TCLIQUE_OPTIMAL, tcliqueChangeWeight(), tcliqueMaxClique(), and TRUE. Referenced by searchEcAggr().
computes a partitioning into edge-concave aggregations for a given (quadratic) nonlinear row; each aggregation has to contain a cycle with an odd number of positive weighted edges (good cycles) in the corresponding graph representation For this we use the following algorithm:
Definition at line 1301 of file sepa_eccuts.c. References createMIP(), createTcliqueGraph(), NULL, phi(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPallocMemoryArray, SCIPcreate(), SCIPdebugMessage, SCIPfree(), SCIPfreeBufferArray, SCIPfreeMemoryArray, SCIPgetRealParam(), SCIPgetSolVal(), SCIPgetSolvingTime(), SCIPisInfinity(), SCIPisStopped(), SCIPnlrowGetNQuadElems(), SCIPnlrowGetNQuadVars(), SCIPnlrowGetQuadVars(), SCIPreleaseVar(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), searchEcAggrWithCliques(), searchEcAggrWithMIP(), storeAggrFromMIP(), tcliqueFree(), and updateMIP(). Referenced by findAndStoreEcAggregations().
returns whether a given nonlinear row can be used to compute edge-concave aggregations for which their convex envelope could dominate the termwise bilinear relaxation; this is the case if there exists at least one cycle with an odd number of positive edges in the corresponding graph representation of the nonlinear row
Definition at line 1487 of file sepa_eccuts.c. References BMSclearMemoryArray, SCIP_QuadElement::coef, FALSE, SCIP_QuadElement::idx1, SCIP_QuadElement::idx2, NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPdebugMessage, SCIPfreeBufferArray, SCIPisEQ(), SCIPisInfinity(), SCIPisNegative(), SCIPisPositive(), SCIPnlrowGetExprtree(), SCIPnlrowGetLhs(), SCIPnlrowGetNQuadElems(), SCIPnlrowGetNQuadVars(), SCIPnlrowGetQuadElems(), SCIPnlrowGetQuadVars(), SCIPnlrowGetRhs(), SCIPnlrowIsInNLP(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and TRUE. Referenced by findAndStoreEcAggregations().
finds and stores edge-concave aggregations for a given nonlinear row
Definition at line 1584 of file sepa_eccuts.c. References FALSE, isCandidate(), nlrowaggrCreate(), NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPdebug, SCIPdebugMessage, SCIPfreeBufferArray, SCIPgetMessagehdlr(), SCIPisInfinity(), SCIPnlrowGetLhs(), SCIPnlrowGetNQuadVars(), SCIPnlrowGetRhs(), SCIPnlrowPrint(), searchEcAggr(), sepadataAddNlrowaggr(), and TRUE.
checks if a facet is really an underestimate for all corners of the domain [l,u]; because of numerics it can happen that a facet violates a corner of the domain; to make the facet valid we subtract the maximum violation from the constant part of the facet; its a good excersise to write a comment describing the gray code...
Definition at line 1683 of file sepa_eccuts.c. References ADJUSTFACETTOL, FALSE, MAX, NULL, EcAggr::nvars, poweroftwo, SCIP_Real, SCIPdebugMessage, SCIPisFeasEQ(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), TRUE, and EcAggr::vars. Referenced by SCIPcomputeConvexEnvelopeFacet().
set up LP interface to solve LPs to compute the facet of the convex envelope
Definition at line 1755 of file sepa_eccuts.c. References NULL, poweroftwo, SCIP_CALL, SCIP_OBJSEN_MINIMIZE, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPdebugMessage, SCIPfreeBufferArray, SCIPgetMessagehdlr(), SCIPlpiAddCols(), SCIPlpiAddRows(), SCIPlpiCreate(), and SCIPlpiFree(). Referenced by SCIPcomputeConvexEnvelopeFacet().
evaluates an edge-concave aggregation at a corner of the domain [l,u]
Definition at line 1867 of file sepa_eccuts.c. References EcAggr::nterms, NULL, EcAggr::nvars, poweroftwo, SCIP_Real, SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), EcAggr::termcoefs, EcAggr::termvars1, EcAggr::termvars2, and EcAggr::vars. Referenced by SCIPcomputeConvexEnvelopeFacet(). returns (val - lb) / (ub - lb) for a in [lb, ub]
Definition at line 1905 of file sepa_eccuts.c. References MAX, MIN, NULL, REALABS, SCIPisFeasEQ(), and SCIPisInfinity(). Referenced by SCIPcomputeConvexEnvelopeFacet().
computes a facet of the convex envelope of an edge concave aggregation The algorithm solves the following LP:
where f is an edge concave function, The complete algorithm works as follows:
Definition at line 1950 of file sepa_eccuts.c. References checkRikun(), createLP(), evalCorner(), FALSE, NULL, EcAggr::nvars, poweroftwo, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPdebugMessage, SCIPdebugPrintf, SCIPfreeBufferArray, SCIPgetSolVal(), SCIPinfinity(), SCIPisEQ(), SCIPlpiChgBounds(), SCIPlpiChgObj(), SCIPlpiChgSides(), SCIPlpiGetNCols(), SCIPlpiGetNRows(), SCIPlpiGetSol(), SCIPlpiSolveDual(), SCIPlpiSolvePrimal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), transformValue(), TRUE, USEDUALSIMPLEX, and EcAggr::vars. Referenced by computeCut().
method to add a facet of the convex envelope of an edge-concave aggregation to a given cut
Definition at line 2158 of file sepa_eccuts.c. References FALSE, NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIPaddVarToRow(), SCIPgetSolVal(), SCIPisFeasEQ(), SCIPisInfinity(), SCIPisZero(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE. Referenced by computeCut().
method to add an linear term to a given cut
Definition at line 2216 of file sepa_eccuts.c. References FALSE, NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddVarToRow(), SCIPdebugMessage, SCIPgetSolVal(), SCIPisFeasEQ(), SCIPisInfinity(), SCIPisZero(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE. Referenced by computeCut().
method to add an underestimate of a bilinear term to a given cut
Definition at line 2267 of file sepa_eccuts.c. References FALSE, NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddBilinMcCormick(), SCIPaddSquareLinearization(), SCIPaddSquareSecant(), SCIPaddVarToRow(), SCIPdebugMessage, SCIPgetSolVal(), SCIPisGE(), SCIPisGT(), SCIPisInfinity(), SCIPisLE(), SCIPisLT(), SCIPisPositive(), SCIPisZero(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), and TRUE. Referenced by computeCut().
method to compute and and a cut for a nonlinear row aggregation and a given solution; we compute for each edge concave aggregation one facet; the remaining bilinear terms will be underestimated with McCormick, secants or linearizations; constant and linear terms will be added to the cut directly
Definition at line 2379 of file sepa_eccuts.c. References addBilinearTermToCut(), addFacetToCut(), addLinearTermToCut(), NlrowAggr::constant, NlrowAggr::ecaggr, FALSE, NlrowAggr::lincoefs, NlrowAggr::linvars, NlrowAggr::necaggr, NlrowAggr::nlinvars, NlrowAggr::nlrow, NlrowAggr::nremterms, NULL, EcAggr::nvars, NlrowAggr::remtermcoefs, NlrowAggr::remtermvars1, NlrowAggr::remtermvars2, NlrowAggr::rhs, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCut(), SCIPaddPoolCut(), SCIPallocBufferArray, SCIPcacheRowExtensions(), SCIPchgRowRhs(), SCIPcomputeConvexEnvelopeFacet(), SCIPcreateEmptyRowSepa(), SCIPdebugMessage, SCIPflushRowExtensions(), SCIPfreeBufferArray, SCIPgetCutEfficacy(), SCIPgetDepth(), SCIPgetMessagehdlr(), SCIPgetNVars(), SCIPgetRowMaxCoef(), SCIPgetRowMinCoef(), SCIPgetRowSolActivity(), SCIPgetSolVal(), SCIPgetVars(), SCIPinfinity(), SCIPisCutEfficacious(), SCIPisGE(), SCIPisInfinity(), SCIPnlrowIsInNLP(), SCIPnlrowPrint(), SCIPprintRow(), SCIPreleaseRow(), SCIProwGetName(), SCIProwGetRank(), SCIPsnprintf(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), TRUE, and EcAggr::vars. Referenced by separateCuts().
returns whether it is possible to compute a cut for a given nonlinear row aggregation
Definition at line 2553 of file sepa_eccuts.c. References FALSE, NlrowAggr::nlrow, NlrowAggr::nquadvars, NULL, NlrowAggr::quadvar2aggr, NlrowAggr::quadvars, REALABS, SCIPdebugMessage, SCIPgetSolVal(), SCIPisFeasEQ(), SCIPisInfinity(), SCIPnlrowIsInNLP(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE. Referenced by separateCuts().
searches and tries to add edge-concave cuts
Definition at line 2596 of file sepa_eccuts.c. References computeCut(), isPossibleToComputeCut(), NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_SEPARATED, SCIPdebugMessage, and SCIPgetDepth().
copy method for separator plugins (called when SCIP copies plugins) Definition at line 2671 of file sepa_eccuts.c.
destructor of separator to free user data (called when SCIP is exiting) Definition at line 2685 of file sepa_eccuts.c.
solving process deinitialization method of separator (called before branch and bound process data is freed) Definition at line 2700 of file sepa_eccuts.c.
LP solution separation method of separator Definition at line 2727 of file sepa_eccuts.c.
creates the edge concave separator and includes it in SCIP
Definition at line 2794 of file sepa_eccuts.c. References DEFAULT_CUTMAXRANGE, DEFAULT_DYNAMICCUTS, DEFAULT_MAXAGGRSIZE, DEFAULT_MAXBILINTERMS, DEFAULT_MAXDEPTH, DEFAULT_MAXROUNDS, DEFAULT_MAXROUNDSROOT, DEFAULT_MAXSEPACUTS, DEFAULT_MAXSEPACUTSROOT, DEFAULT_MAXSTALLROUNDS, DEFAULT_MINAGGRSIZE, DEFAULT_MINVIOLATION, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPaddRealParam(), SCIPincludeSepaBasic(), SCIPinfinity(), SCIPsetSepaCopy(), SCIPsetSepaExitsol(), SCIPsetSepaFree(), SEPA_DELAY, SEPA_DESC, SEPA_FREQ, SEPA_MAXBOUNDDIST, SEPA_NAME, SEPA_PRIORITY, SEPA_USESSUBSCIP, sepadataCreate(), and TRUE. Referenced by SCIPincludeDefaultPlugins(). Variable Documentation
first values for 2^n Definition at line 75 of file sepa_eccuts.c. Referenced by checkRikun(), createLP(), evalCorner(), and SCIPcomputeConvexEnvelopeFacet(). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||