All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed Descriptioncrossover primal heuristic Definition in file heur_crossover.c. #include <assert.h> #include <string.h> #include <stdio.h> #include "scip/scip.h" #include "scip/scipdefplugins.h" #include "scip/cons_linear.h" #include "scip/heur_crossover.h" #include "scip/pub_misc.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 32 of file heur_crossover.c. Referenced by SCIP_DECL_HEURCOPY(), SCIP_DECL_HEUREXEC(), and SCIPincludeHeurCrossover().
Definition at line 33 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 34 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 35 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 36 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 37 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 38 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 39 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
does the heuristic use a secondary SCIP instance? Definition at line 40 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 42 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 43 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 44 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 45 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 46 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 47 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 48 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 49 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 50 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 51 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 52 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Value:
FALSE /* should subproblem be created out of the rows in the LP rows,
* otherwise, the copy constructors of the constraints handlers are used */
Definition at line 53 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Value:
TRUE /* if DEFAULT_USELPROWS is FALSE, then should all active cuts from the
* cutpool of the original scip be copied to constraints of the subscip
*/
Definition at line 54 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 55 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 56 of file heur_crossover.c. Referenced by SCIP_DECL_HEURINIT().
Definition at line 59 of file heur_crossover.c. Referenced by SCIP_DECL_EVENTEXEC(), and SCIP_DECL_HEUREXEC().
Definition at line 60 of file heur_crossover.c. Referenced by SCIP_DECL_HEUREXEC(). Typedef Documentation
Definition at line 66 of file heur_crossover.c. Function Documentation
gets the hash key of a solution tuple Definition at line 117 of file heur_crossover.c.
returns TRUE iff both solution tuples are identical Definition at line 125 of file heur_crossover.c.
returns hashkey of a solution tuple Definition at line 156 of file heur_crossover.c.
calculates a hash key for a given tuple of solution indices
Definition at line 164 of file heur_crossover.c. Referenced by createSolTuple().
insertion sort for a small int array
Definition at line 184 of file heur_crossover.c. Referenced by createSolTuple().
creates a new tuple of solutions
Definition at line 210 of file heur_crossover.c. References BMScopyMemoryArray, calculateHashKey(), SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPallocBlockMemoryArray, and sortArray(). Referenced by SCIP_DECL_HEUREXEC(), selectSolsRandomized(), and setupSubproblem().
Definition at line 236 of file heur_crossover.c. References FALSE, SCIPsolGetHeur(), SCIPsolGetNodenum(), and TRUE. Referenced by selectSolsRandomized().
randomly selects the solutions crossover will use from the pool of all solutions found so far
Definition at line 255 of file heur_crossover.c. References createSolTuple(), FALSE, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPgetNSols(), SCIPgetRandomInt(), SCIPgetSols(), SCIPhashtableExists(), SCIPhashtableInsert(), solHasNewSource(), and TRUE. Referenced by setupSubproblem().
creates the all variables of the subproblem
Definition at line 320 of file heur_crossover.c. References FALSE, MAX, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPchgVarLbGlobal(), SCIPchgVarUbGlobal(), SCIPgetSols(), SCIPgetSolVal(), SCIPgetVarsData(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and TRUE. Referenced by setupSubproblem().
creates the rows of the subproblem
Definition at line 393 of file heur_crossover.c. References FALSE, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddCons(), SCIPallocBufferArray, SCIPcolGetVar(), SCIPcreateConsLinear(), SCIPfreeBufferArray, SCIPgetLPRowsData(), SCIPreleaseCons(), SCIProwGetCols(), SCIProwGetConstant(), SCIProwGetLhs(), SCIProwGetName(), SCIProwGetNNonz(), SCIProwGetRhs(), SCIProwGetVals(), SCIProwIsLocal(), SCIPvarGetProbindex(), and TRUE. Referenced by setupSubproblem().
creates a subproblem for subscip by fixing a number of variables
Definition at line 454 of file heur_crossover.c. References createRows(), createSolTuple(), FALSE, fixVariables(), SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPgetNSols(), SCIPgetProbName(), SCIPgetSols(), SCIPhashtableExists(), SCIPhashtableInsert(), SCIPsnprintf(), SCIPsolGetHeur(), SCIPsolGetNodenum(), selectSolsRandomized(), and TRUE. Referenced by SCIP_DECL_HEUREXEC().
creates a new solution for the original problem by copying the solution of the subproblem
Definition at line 548 of file heur_crossover.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPcreateSol(), SCIPfreeBufferArray, SCIPgetNOrigVars(), SCIPgetSolVals(), SCIPgetVarsData(), SCIPsetSolVals(), SCIPsolGetIndex(), SCIPtrySolFree(), and TRUE. Referenced by SCIP_DECL_HEUREXEC().
updates heurdata after a run of crossover
Definition at line 595 of file heur_crossover.c. References SCIP_LONGINT_MAX, and SCIPgetNNodes(). Referenced by SCIP_DECL_HEUREXEC().
Definition at line 614 of file heur_crossover.c. References EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_LPSOLVED, SCIP_OKAY, SCIPdebugMessage, SCIPeventGetType(), SCIPeventhdlrGetName(), SCIPgetNLPs(), and SCIPinterruptSolve().
copy method for primal heuristic plugins (called when SCIP copies plugins) Definition at line 643 of file heur_crossover.c. References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurCrossover().
destructor of primal heuristic to free user data (called when SCIP is exiting) Definition at line 657 of file heur_crossover.c. References NULL, SCIP_OKAY, SCIPfreeMemory, SCIPheurGetData(), and SCIPheurSetData().
initialization method of primal heuristic (called after problem was transformed) Definition at line 677 of file heur_crossover.c. References HASHSIZE_SOLS, NULL, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), SCIPhashtableCreate(), and SCIPheurGetData().
deinitialization method of primal heuristic (called before transformed problem is freed) Definition at line 708 of file heur_crossover.c. References NULL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, SCIPhashtableFree(), and SCIPheurGetData().
execution method of primal heuristic Definition at line 741 of file heur_crossover.c. References createNewSol(), createSolTuple(), EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, HEUR_NAME, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_DELAYED, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_EVENTTYPE_LPSOLVED, SCIP_FOUNDSOL, SCIP_Longint, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_PARAMSETTING_FAST, SCIP_PARAMSETTING_OFF, SCIP_PLUGINNOTFOUND, SCIP_Real, SCIPallocBufferArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPcatchEvent(), SCIPcopy(), SCIPcopyCuts(), SCIPcopyVars(), SCIPcreate(), SCIPcreateProb(), SCIPdebug, SCIPdebugMessage, SCIPdropEvent(), SCIPerrorMessage, SCIPfindBranchrule(), SCIPfindConshdlr(), SCIPfindNodesel(), SCIPfree(), SCIPfreeBufferArray, SCIPgetBestSol(), SCIPgetDepth(), SCIPgetLowerbound(), SCIPgetMemExternEstim(), SCIPgetMemUsed(), SCIPgetNNodes(), SCIPgetNSols(), SCIPgetProbName(), SCIPgetRealParam(), SCIPgetSolNodenum(), SCIPgetSols(), SCIPgetSolvingTime(), SCIPgetUpperbound(), SCIPgetVarsData(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPhashtableInsert(), SCIPheurGetData(), SCIPheurGetNBestSolsFound(), SCIPheurGetNCalls(), SCIPincludeDefaultPlugins(), SCIPincludeEventhdlrBasic(), SCIPinfinity(), SCIPisInfinity(), SCIPisParamFixed(), SCIPisStopped(), SCIPpermuteProb(), SCIPprintStatistics(), SCIPsetBoolParam(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetObjlimit(), SCIPsetPresolving(), SCIPsetRealParam(), SCIPsetSeparating(), SCIPsetSubscipsOff(), SCIPsnprintf(), SCIPsolGetIndex(), SCIPsolve(), SCIPsumepsilon(), SCIPtransformProb(), SCIPwarningMessage(), setupSubproblem(), TRUE, and updateFailureStatistic().
creates the crossover primal heuristic and includes it in SCIP
Definition at line 1137 of file heur_crossover.c. References DEFAULT_COPYCUTS, DEFAULT_DONTWAITATROOT, DEFAULT_LPLIMFAC, DEFAULT_MAXNODES, DEFAULT_MINFIXINGRATE, DEFAULT_MINIMPROVE, DEFAULT_MINNODES, DEFAULT_NODESOFS, DEFAULT_NODESQUOT, DEFAULT_NUSEDSOLS, DEFAULT_NWAITINGNODES, DEFAULT_PERMUTE, DEFAULT_RANDOMIZATION, DEFAULT_USELPROWS, FALSE, HEUR_DESC, HEUR_DISPCHAR, HEUR_FREQ, HEUR_FREQOFS, HEUR_MAXDEPTH, HEUR_NAME, HEUR_PRIORITY, HEUR_TIMING, HEUR_USESSUBSCIP, NULL, SCIP_CALL, SCIP_LONGINT_MAX, SCIP_OKAY, SCIP_REAL_MAX, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPaddLongintParam(), SCIPaddRealParam(), SCIPallocMemory, SCIPincludeHeurBasic(), SCIPsetHeurCopy(), SCIPsetHeurExit(), SCIPsetHeurFree(), SCIPsetHeurInit(), and TRUE. Referenced by SCIP_DECL_HEURCOPY(), and SCIPincludeDefaultPlugins(). |