heur_subnlp.h File Reference Detailed DescriptionNLP local search primal heuristic using sub-SCIPs. This heuristic applies a NLP local search to a nonlinear CIP after fixing all discrete variables. That is, the CIP is copied, all discrete variables are fixed, presolving is applied, and if the resulting CIP has a nonlinear relaxation, then it is tried to solve this relaxation by an NLP solver. The heuristic only runs if continuous nonlinearities are present (SCIPhasNLPContinuousNonlinearity()). Fixing values for discrete values are either taken from a solution of the LP relaxation which satisfies all integrality constraints, or are provided by SCIPupdateStartpointHeurSubNlp(). This heuristic is orthogonal to the undercover heuristic (heur_undercover.h), which fixes variables in a nonlinear CIP in a way that a (possibly mixed-integer) linear subproblem is obtained. Definition in file heur_subnlp.h. #include "scip/scip.h" Go to the source code of this file.
Function Documentation
creates the NLP local search primal heuristic and includes it in SCIP
Definition at line 2237 of file heur_subnlp.c. References BMSclearMemory, FALSE, HEUR_DESC, HEUR_DISPCHAR, HEUR_FREQ, HEUR_FREQOFS, HEUR_MAXDEPTH, HEUR_NAME, HEUR_PRIORITY, HEUR_TIMING, HEUR_USESSUBSCIP, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPaddRealParam(), SCIPaddStringParam(), SCIPallocMemory, SCIPincludeEventhdlrBasic(), SCIPincludeHeurBasic(), SCIPinfinity(), SCIPsetHeurCopy(), SCIPsetHeurExitsol(), SCIPsetHeurFree(), SCIPsetHeurInitsol(), and TRUE. Referenced by SCIP_DECL_HEURCOPY(), and SCIPincludeDefaultPlugins().
updates the starting point for the NLP heuristic Is called, for example, by a constraint handler that handles nonlinear constraints when a check on feasibility of a solution fails. updates the starting point for the NLP heuristic Is called by a constraint handler that handles nonlinear constraints when a check on feasibility of a solution fails.
Definition at line 2364 of file heur_subnlp.c. References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPcreateSolCopy(), SCIPdebugMessage, SCIPfreeSol(), SCIPgetSolTransObj(), SCIPgetStage(), SCIPheurGetData(), SCIPheurGetName(), SCIPisPositive(), SCIPisRelGT(), SCIPsolGetHeur(), and SCIPunlinkSol(). Referenced by SCIP_DECL_CONSCHECK().
main procedure of the subNLP heuristic
Definition at line 1620 of file heur_subnlp.c. References createSubSCIP(), FALSE, forbidFixation(), freeSubSCIP(), MAX, MIN, NULL, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIPchgVarLbGlobal(), SCIPchgVarUbGlobal(), SCIPdebugMessage, SCIPfloor(), SCIPgetLowerbound(), SCIPgetLPSolstat(), SCIPgetNActivePricers(), SCIPgetNBinVars(), SCIPgetNIntVars(), SCIPgetNSols(), SCIPgetOrigVarsData(), SCIPgetSolVal(), SCIPgetStage(), SCIPgetUpperbound(), SCIPheurGetData(), SCIPinfinity(), SCIPisEQ(), SCIPisFeasIntegral(), SCIPisInfinity(), SCIPisTransformed(), SCIPsetObjlimit(), SCIPsumepsilon(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), and solveSubNLP(). Referenced by SCIP_DECL_HEUREXEC(), and SCIPapplyUndercover().
for a given solution, resolves the corresponding subNLP and updates solution values for continuous variables, if NLP solution is feasible in original problem
Definition at line 1815 of file heur_subnlp.c. References createSubSCIP(), FALSE, freeSubSCIP(), MAX, MIN, NULL, REALABS, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_FOUNDSOL, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIPchgVarLbGlobal(), SCIPchgVarUbGlobal(), SCIPdebugMessage, SCIPgetNBinVars(), SCIPgetNIntVars(), SCIPgetObjsense(), SCIPgetOrigVarsData(), SCIPgetSolOrigObj(), SCIPgetSolVal(), SCIPgetStage(), SCIPheurGetData(), SCIPisEQ(), SCIPisFeasIntegral(), SCIPisTransformed(), SCIPround(), SCIPsetObjlimit(), SCIPtransformObj(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), solveSubNLP(), and TRUE.
adds all known linear constraint to the NLP, if initialized and not done already This function is temporary and will hopefully become obsolete in the near future.
Definition at line 2330 of file heur_subnlp.c. References addLinearConstraintsToNlp(), HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetData(), and SCIPheurGetName(). Referenced by SCIP_DECL_CONSSEPALP(). gets sub-SCIP used by NLP heuristic, or NULL if none
Definition at line 2414 of file heur_subnlp.c. References HEUR_NAME, NULL, SCIPheurGetData(), and SCIPheurGetName(). gets mapping of SCIP variables to sub-SCIP variables
Definition at line 2431 of file heur_subnlp.c. References HEUR_NAME, NULL, SCIPheurGetData(), and SCIPheurGetName(). gets mapping of sub-SCIP variables to SCIP variables
Definition at line 2448 of file heur_subnlp.c. References HEUR_NAME, NULL, SCIPheurGetData(), and SCIPheurGetName(). gets startpoint candidate to be used in next call to NLP heuristic, or NULL if none
Definition at line 2465 of file heur_subnlp.c. References HEUR_NAME, NULL, SCIPheurGetData(), and SCIPheurGetName(). |