30 #define HEUR_NAME "trivialnegation" 31 #define HEUR_DESC "negate solution entries if an objective coefficient changes the sign, enters or leaves the objective." 32 #define HEUR_DISPCHAR 'j' 33 #define HEUR_PRIORITY 40000 35 #define HEUR_FREQOFS 0 36 #define HEUR_MAXDEPTH 0 37 #define HEUR_TIMING SCIP_HEURTIMING_BEFORENODE 38 #define HEUR_USESSUBSCIP FALSE 89 if( lastbestsol ==
NULL )
98 for( i = 0; i < nbinvars; i++ )
111 for( i = 0; i < nbinvars; i++ )
252 assert(heur !=
NULL);
trivialnegation primal heuristic
SCIP_Bool SCIPisFeasEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPisFeasLT(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Real SCIPgetCutoffbound(SCIP *scip)
SCIP_Real SCIPvarGetLbGlobal(SCIP_VAR *var)
SCIP_Bool SCIPisPositive(SCIP *scip, SCIP_Real val)
static SCIP_DECL_HEURCOPY(heurCopyTrivialnegation)
SCIP_Bool SCIPisNegative(SCIP *scip, SCIP_Real val)
enum SCIP_Retcode SCIP_RETCODE
SCIP_RETCODE SCIPincludeHeurBasic(SCIP *scip, SCIP_HEUR **heur, const char *name, const char *desc, char dispchar, int priority, int freq, int freqofs, int maxdepth, SCIP_HEURTIMING timingmask, SCIP_Bool usessubscip, SCIP_DECL_HEUREXEC((*heurexec)), SCIP_HEURDATA *heurdata)
static SCIP_DECL_HEUREXEC(heurExecTrivialnegation)
public methods for reoptimization
SCIP_Real SCIPvarGetUbGlobal(SCIP_VAR *var)
const char * SCIPheurGetName(SCIP_HEUR *heur)
SCIP_Bool SCIPisReoptEnabled(SCIP *scip)
const char * SCIPvarGetName(SCIP_VAR *var)
SCIP_HEUR * SCIPsolGetHeur(SCIP_SOL *sol)
SCIP_Real SCIPgetSolTransObj(SCIP *scip, SCIP_SOL *sol)
SCIP_SOL * SCIPgetReoptLastOptSol(SCIP *scip)
SCIP main data structure.
SCIP_RETCODE SCIPsetSolVal(SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var, SCIP_Real val)
SCIP_RETCODE SCIPfreeSol(SCIP *scip, SCIP_SOL **sol)
SCIP_RETCODE SCIPtrySol(SCIP *scip, SCIP_SOL *sol, SCIP_Bool printreason, SCIP_Bool completely, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
int SCIPgetNBinVars(SCIP *scip)
int SCIPgetNVars(SCIP *scip)
SCIP_RETCODE SCIPgetReoptOldObjCoef(SCIP *scip, SCIP_VAR *var, int run, SCIP_Real *objcoef)
SCIP_RETCODE SCIPincludeHeurTrivialnegation(SCIP *scip)
int SCIPgetNReoptRuns(SCIP *scip)
SCIP_VAR ** SCIPgetVars(SCIP *scip)
SCIP_VARTYPE SCIPvarGetType(SCIP_VAR *var)
SCIP_Bool SCIPisZero(SCIP *scip, SCIP_Real val)
SCIP_RETCODE SCIPsetHeurCopy(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURCOPY((*heurcopy)))
SCIP_Real SCIPgetSolVal(SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var)
SCIP_Bool SCIPvarIsActive(SCIP_VAR *var)
SCIP_RETCODE SCIPcreateSol(SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
SCIP_RETCODE SCIPprintSol(SCIP *scip, SCIP_SOL *sol, FILE *file, SCIP_Bool printzeros)