heur_simplerounding.c
Go to the documentation of this file.
24 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/ 71 /* round all roundable fractional columns in the corresponding direction as long as no unroundable column was found */ 171 /* only call heuristic, if LP solution is fractional; except we are called during pricing, in this case we 224 nbinintvars = nbinvars + nintvars; /* consider binary and integral variables (don't have to care for implicit ints) */ 259 SCIPdebugMessage("executing simple rounding heuristic on relaxation solution: %d fractionals\n", nrelaxcands); 344 /** solving process initialization method of primal heuristic (called when branch and bound process is about to begin) */ 364 /** solving process deinitialization method of primal heuristic (called before branch and bound process data is freed) */ 387 /* only call heuristic, if an optimal LP solution is at hand or if relaxation solution is available */ 399 /* don't call heuristic, if we have already processed the current LP solution but no relaxation solution is available */ 403 /* on our first call or after each pricing round, calculate the number of roundable variables */ 422 /* don't call heuristic if there are no roundable variables; except we are called during pricing, in this case we SCIP_RETCODE SCIPsetHeurInitsol(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURINITSOL((*heurinitsol))) Definition: scip.c:7361 SCIP_RETCODE SCIPgetLPBranchCands(SCIP *scip, SCIP_VAR ***lpcands, SCIP_Real **lpcandssol, SCIP_Real **lpcandsfrac, int *nlpcands, int *npriolpcands, int *nfracimplvars) Definition: scip.c:33125 Definition: type_result.h:33 Definition: type_result.h:47 Definition: struct_scip.h:53 SCIP_RETCODE SCIPsetHeurCopy(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURCOPY((*heurcopy))) Definition: scip.c:7297 static SCIP_RETCODE performSimpleRounding(SCIP *scip, SCIP_SOL *sol, SCIP_VAR **cands, SCIP_Real *candssol, int ncands, SCIP_RESULT *result) Definition: heur_simplerounding.c:60 static SCIP_DECL_HEURCOPY(heurCopySimplerounding) Definition: heur_simplerounding.c:276 Definition: struct_var.h:196 SCIP_RETCODE SCIPsetSolVal(SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var, SCIP_Real val) Definition: scip.c:34843 SCIP_RETCODE SCIPincludeHeurBasic(SCIP *scip, SCIP_HEUR **heur, const char *name, const char *desc, char dispchar, int priority, int freq, int freqofs, int maxdepth, unsigned int timingmask, SCIP_Bool usessubscip, SCIP_DECL_HEUREXEC((*heurexec)), SCIP_HEURDATA *heurdata) Definition: scip.c:7252 static SCIP_RETCODE performLPSimpleRounding(SCIP *scip, SCIP_HEURDATA *heurdata, SCIP_HEURTIMING heurtiming, SCIP_RESULT *result) Definition: heur_simplerounding.c:146 static SCIP_DECL_HEURFREE(heurFreeSimplerounding) Definition: heur_simplerounding.c:290 #define SCIP_HEURTIMING_DURINGPRICINGLOOP Definition: type_timing.h:83 SCIP_RETCODE SCIPadjustImplicitSolVals(SCIP *scip, SCIP_SOL *sol, SCIP_Bool uselprows) Definition: scip.c:35354 static SCIP_DECL_HEUREXEC(heurExecSimplerounding) Definition: heur_simplerounding.c:377 Definition: struct_sol.h:50 SCIP_RETCODE SCIPaddBoolParam(SCIP *scip, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata) Definition: scip.c:3547 static SCIP_DECL_HEUREXIT(heurExitSimplerounding) Definition: heur_simplerounding.c:329 Definition: type_result.h:35 SCIP_RETCODE SCIPcreateSol(SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur) Definition: scip.c:34002 Definition: type_var.h:42 Definition: type_retcode.h:33 void SCIPheurSetTimingmask(SCIP_HEUR *heur, SCIP_HEURTIMING timingmask) Definition: heur.c:1187 Definition: struct_heur.h:75 void SCIPheurSetData(SCIP_HEUR *heur, SCIP_HEURDATA *heurdata) Definition: heur.c:1068 Definition: type_lp.h:34 static SCIP_DECL_HEURINITSOL(heurInitsolSimplerounding) Definition: heur_simplerounding.c:346 SCIP_RETCODE SCIPincludeHeurSimplerounding(SCIP *scip) Definition: heur_simplerounding.c:443 static SCIP_DECL_HEUREXITSOL(heurExitsolSimplerounding) Definition: heur_simplerounding.c:366 SCIP_RETCODE SCIPsetHeurExitsol(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEUREXITSOL((*heurexitsol))) Definition: scip.c:7377 SCIP_RETCODE SCIPsetHeurExit(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEUREXIT((*heurexit))) Definition: scip.c:7345 SCIP_RETCODE SCIPsetHeurInit(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURINIT((*heurinit))) Definition: scip.c:7329 SCIP_RETCODE SCIPsetHeurFree(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURFREE((*heurfree))) Definition: scip.c:7313 Simple and fast LP rounding heuristic. SCIP_RETCODE SCIPgetVarsData(SCIP *scip, SCIP_VAR ***vars, int *nvars, int *nbinvars, int *nintvars, int *nimplvars, int *ncontvars) Definition: scip.c:10572 Definition: objbranchrule.h:33 static SCIP_DECL_HEURINIT(heurInitSimplerounding) Definition: heur_simplerounding.c:310 SCIP_RETCODE SCIPtrySol(SCIP *scip, SCIP_SOL *sol, SCIP_Bool printreason, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored) Definition: scip.c:36217 SCIP_RETCODE SCIPprintSol(SCIP *scip, SCIP_SOL *sol, FILE *file, SCIP_Bool printzeros) Definition: scip.c:35397 static SCIP_RETCODE performRelaxSimpleRounding(SCIP *scip, SCIP_HEURDATA *heurdata, SCIP_RESULT *result) Definition: heur_simplerounding.c:202 |