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 55 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 58 of file heur_crossover.c. Referenced by SCIPincludeHeurCrossover().
Definition at line 59 of file heur_crossover.c. Referenced by SCIP_DECL_HEURINIT().
Definition at line 62 of file heur_crossover.c. Referenced by SCIP_DECL_EVENTEXEC(), and SCIP_DECL_HEUREXEC().
Definition at line 63 of file heur_crossover.c. Referenced by SCIP_DECL_HEUREXEC(). Typedef Documentation
Definition at line 69 of file heur_crossover.c. Function Documentation
gets the hash key of a solution tuple Definition at line 120 of file heur_crossover.c.
returns TRUE iff both solution tuples are identical Definition at line 128 of file heur_crossover.c.
returns hashkey of a solution tuple Definition at line 159 of file heur_crossover.c.
calculates a hash key for a given tuple of solution indices
Definition at line 167 of file heur_crossover.c. Referenced by createSolTuple().
insertion sort for a small int array
Definition at line 187 of file heur_crossover.c. Referenced by createSolTuple().
creates a new tuple of solutions
Definition at line 213 of file heur_crossover.c. References BMScopyMemoryArray, calculateHashKey(), SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPallocBlockMemoryArray, and sortArray(). Referenced by SCIP_DECL_HEUREXEC(), selectSolsRandomized(), and setupSubproblem().
checks whether the new solution was found at the same node by the same heuristic as an already selected one
Definition at line 240 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 261 of file heur_crossover.c. References createSolTuple(), FALSE, NULL, 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 327 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 398 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 459 of file heur_crossover.c. References createRows(), createSolTuple(), FALSE, fixVariables(), SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPgetNSols(), SCIPgetSols(), SCIPhashtableExists(), SCIPhashtableInsert(), 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 594 of file heur_crossover.c. References SCIP_LONGINT_MAX, and SCIPgetNNodes(). Referenced by SCIP_DECL_HEUREXEC().
Definition at line 613 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 642 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 656 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 676 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 707 of file heur_crossover.c. References NULL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, SCIPhashtableFree(), and SCIPheurGetData().
execution method of primal heuristic Definition at line 740 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(), SCIPmergeVariableStatistics(), 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 1143 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(). |