|
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed DescriptionObjective Feasibility Pump 2.0. Definition in file heur_feaspump.c. #include <assert.h>#include <string.h>#include "scip/heur_feaspump.h"#include "scip/cons_linear.h"#include "scip/scipdefplugins.h"Go to the source code of this file.
Macro Definition Documentation
Definition at line 31 of file heur_feaspump.c. Referenced by setupSCIPparamsFP2(), and setupSCIPparamsStage3().
Definition at line 32 of file heur_feaspump.c.
Definition at line 33 of file heur_feaspump.c.
Definition at line 34 of file heur_feaspump.c.
Definition at line 35 of file heur_feaspump.c.
Definition at line 36 of file heur_feaspump.c.
Definition at line 37 of file heur_feaspump.c.
Definition at line 38 of file heur_feaspump.c.
does the heuristic use a secondary SCIP instance? Definition at line 39 of file heur_feaspump.c.
maximal fraction of diving LP iterations compared to node LP iterations Definition at line 41 of file heur_feaspump.c.
additional number of allowed LP iterations Definition at line 42 of file heur_feaspump.c.
total number of feasible solutions found up to which heuristic is called (-1: no limit) Definition at line 43 of file heur_feaspump.c.
maximal number of pumping rounds (-1: no limit) Definition at line 46 of file heur_feaspump.c.
maximal number of pumping rounds without fractionality improvement (-1: no limit) Definition at line 47 of file heur_feaspump.c.
minimum number of random variables to flip, if a 1-cycle is encountered Definition at line 48 of file heur_feaspump.c.
maximum length of cycles to be checked explicitly in each round Definition at line 49 of file heur_feaspump.c.
number of iterations until a random perturbation is forced Definition at line 50 of file heur_feaspump.c.
factor by which the regard of the objective is decreased in each round, 1.0 for dynamic, depending on solutions already found Definition at line 51 of file heur_feaspump.c.
initial weight of the objective function in the convex combination Definition at line 54 of file heur_feaspump.c.
threshold difference for the convex parameter to perform perturbation Definition at line 55 of file heur_feaspump.c.
should the feasibility pump be called at root node before cut separation? Definition at line 56 of file heur_feaspump.c.
should an iterative round-and-propagate scheme be used to find the integral points? Definition at line 57 of file heur_feaspump.c.
should a random perturbation be performed if a feasible solution was found? Definition at line 58 of file heur_feaspump.c.
should we solve a local branching sub-MIP if no solution could be found? Definition at line 59 of file heur_feaspump.c.
radius of the neighborhood to be searched in stage 3 Definition at line 60 of file heur_feaspump.c.
should all active cuts from the cutpool of the original SCIP be copied to constraints of the subscip Definition at line 61 of file heur_feaspump.c.
minimal number of LP iterations allowed in each LP solving call Definition at line 67 of file heur_feaspump.c. Function Documentation
Definition at line 105 of file heur_feaspump.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), SCIPcopy(), SCIPcopyCuts(), SCIPcreate(), SCIPgetNVars(), SCIPhashmapCreate(), and TRUE.
set appropriate parameters for probing SCIP in FP2
Definition at line 134 of file heur_feaspump.c. References FALSE, HEUR_NAME, SCIP_CALL, SCIP_OKAY, SCIP_PARAMSETTING_FAST, SCIP_PARAMSETTING_OFF, SCIPisParamFixed(), SCIPsetBoolParam(), SCIPsetHeuristics(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetPresolving(), SCIPunfixParam(), SCIPwarningMessage(), and TRUE.
set appropriate parameters for probing SCIP in Stage 3
Definition at line 172 of file heur_feaspump.c. References FALSE, HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PARAMSETTING_FAST, SCIP_PARAMSETTING_OFF, SCIPcopyParamSettings(), SCIPfindBranchrule(), SCIPfindNodesel(), SCIPisParamFixed(), SCIPsetBoolParam(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetPresolving(), SCIPsetRealParam(), SCIPsetSeparating(), SCIPsetSubscipsOff(), SCIPunfixParam(), SCIPwarningMessage(), and TRUE.
checks whether a variable is one of the currently most fractional ones
Definition at line 261 of file heur_feaspump.c. References NULL.
flips the roundings of the most fractional variables, if a 1-cycle was found
Definition at line 307 of file heur_feaspump.c. References SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPchgVarObjDive(), SCIPfeasCeil(), SCIPfeasFloor(), SCIPfeasFrac(), SCIPsetSolVal(), SCIPvarGetLPSol(), and SCIPvarGetObj().
flips the roundings of randomly chosen fractional variables, preferring highly fractional ones, if a longer cycle was found
Definition at line 351 of file heur_feaspump.c. References MAX, MIN, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPchgVarObjDive(), SCIPfeasCeil(), SCIPfeasFloor(), SCIPfeasFrac(), SCIPgetRandomReal(), SCIPsetSolVal(), SCIPvarGetLPSol(), and SCIPvarGetObj().
create the extra constraint of local branching and add it to subscip
Definition at line 400 of file heur_feaspump.c. References FALSE, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIPaddCons(), SCIPallocBufferArray, SCIPchgVarObj(), SCIPcreateConsLinear(), SCIPfreeBufferArray, SCIPgetProbName(), SCIPgetSolVal(), SCIPgetVarsData(), SCIPhashmapGetImage(), SCIPisFeasEQ(), SCIPisFeasIntegral(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetType(), and TRUE.
creates new solutions for the original problem by copying the solutions of the subproblem
Definition at line 468 of file heur_feaspump.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPcreateSol(), SCIPfreeBufferArray, SCIPgetNOrigVars(), SCIPgetNSols(), SCIPgetSols(), SCIPgetSolVals(), SCIPgetVarsData(), SCIPhashmapGetImage(), SCIPsetSolVals(), SCIPtrySolFree(), and TRUE.
copy method for primal heuristic plugins (called when SCIP copies plugins) Definition at line 528 of file heur_feaspump.c.
destructor of primal heuristic to free user data (called when SCIP is exiting) Definition at line 542 of file heur_feaspump.c.
initialization method of primal heuristic (called after problem was transformed) Definition at line 562 of file heur_feaspump.c.
deinitialization method of primal heuristic (called before transformed problem is freed) Definition at line 587 of file heur_feaspump.c.
solving process initialization method of primal heuristic (called when branch and bound process is about to begin) Definition at line 608 of file heur_feaspump.c.
solving process deinitialization method of primal heuristic (called before branch and bound process data is freed) Definition at line 625 of file heur_feaspump.c.
calculates an adjusted maximal number of LP iterations
Definition at line 635 of file heur_feaspump.c.
execution method of primal heuristic Definition at line 654 of file heur_feaspump.c.
creates the feaspump primal heuristic and includes it in SCIP
Definition at line 1360 of file heur_feaspump.c. Referenced by SCIPincludeDefaultPlugins(). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||