Scippy

SCIP

Solving Constraint Integer Programs

scip.c File Reference

Detailed Description

SCIP callable library.

Author
Tobias Achterberg
Timo Berthold
Gerald Gamrath
Stefan Heinz
Gregor Hendel
Thorsten Koch
Alexander Martin
Marc Pfetsch
Michael Winkler
Kati Wolter

Definition in file scip.c.

#include <ctype.h>
#include <stdarg.h>
#include <assert.h>
#include <string.h>
#include "scip/def.h"
#include "scip/retcode.h"
#include "scip/set.h"
#include "scip/paramset.h"
#include "scip/stat.h"
#include "scip/clock.h"
#include "scip/visual.h"
#include "scip/interrupt.h"
#include "scip/mem.h"
#include "scip/misc.h"
#include "scip/history.h"
#include "scip/event.h"
#include "scip/lp.h"
#include "scip/nlp.h"
#include "scip/var.h"
#include "scip/implics.h"
#include "scip/prob.h"
#include "scip/sol.h"
#include "scip/primal.h"
#include "scip/reopt.h"
#include "scip/tree.h"
#include "scip/pricestore.h"
#include "scip/sepastore.h"
#include "scip/cutpool.h"
#include "scip/solve.h"
#include "scip/scipgithash.h"
#include "scip/scip.h"
#include "lpi/lpi.h"
#include "scip/branch.h"
#include "scip/conflict.h"
#include "scip/cons.h"
#include "scip/dialog.h"
#include "scip/disp.h"
#include "scip/heur.h"
#include "scip/compr.h"
#include "scip/nodesel.h"
#include "scip/reader.h"
#include "scip/presol.h"
#include "scip/pricer.h"
#include "scip/relax.h"
#include "scip/sepa.h"
#include "scip/prop.h"
#include "nlpi/nlpi.h"
#include "nlpi/exprinterpret.h"
#include "scip/debug.h"
#include "scip/dialog_default.h"
#include "scip/message_default.h"
#include "scip/cons_linear.h"
#include "scip/branch_nodereopt.h"
#include "scip/heur_reoptsols.h"
#include "scip/heur_trivialnegation.h"
#include "scip/heur_ofins.h"
#include "scip/struct_scip.h"

Go to the source code of this file.

Macros

#define HASHTABLESIZE_FACTOR   5
 
#define MAXNCLIQUEVARSCOMP   1000000
 

Functions

static SCIP_RETCODE checkStage (SCIP *scip, const char *method, SCIP_Bool init, SCIP_Bool problem, SCIP_Bool transforming, SCIP_Bool transformed, SCIP_Bool initpresolve, SCIP_Bool presolving, SCIP_Bool exitpresolve, SCIP_Bool presolved, SCIP_Bool initsolve, SCIP_Bool solving, SCIP_Bool solved, SCIP_Bool exitsolve, SCIP_Bool freetrans, SCIP_Bool freescip)
 
static SCIP_Real getLowerbound (SCIP *scip)
 
static SCIP_Real getUpperbound (SCIP *scip)
 
static SCIP_Real getPrimalbound (SCIP *scip)
 
static SCIP_Real getDualbound (SCIP *scip)
 
SCIP_Real SCIPversion (void)
 
int SCIPmajorVersion (void)
 
int SCIPminorVersion (void)
 
int SCIPtechVersion (void)
 
int SCIPsubversion (void)
 
void SCIPprintVersion (SCIP *scip, FILE *file)
 
void SCIPprintError (SCIP_RETCODE retcode)
 
void SCIPstoreSolutionGap (SCIP *scip)
 
SCIP_RETCODE SCIPcreate (SCIP **scip)
 
SCIP_RETCODE SCIPfree (SCIP **scip)
 
SCIP_STAGE SCIPgetStage (SCIP *scip)
 
SCIP_RETCODE SCIPprintStage (SCIP *scip, FILE *file)
 
SCIP_STATUS SCIPgetStatus (SCIP *scip)
 
SCIP_RETCODE SCIPprintStatus (SCIP *scip, FILE *file)
 
SCIP_Bool SCIPisTransformed (SCIP *scip)
 
SCIP_Bool SCIPisExactSolve (SCIP *scip)
 
SCIP_Bool SCIPisPresolveFinished (SCIP *scip)
 
SCIP_Bool SCIPhasPerformedPresolve (SCIP *scip)
 
SCIP_Bool SCIPpressedCtrlC (SCIP *scip)
 
SCIP_Bool SCIPisStopped (SCIP *scip)
 
void SCIPenableDebugSol (SCIP *scip)
 
void SCIPdisableDebugSol (SCIP *scip)
 
SCIP_RETCODE SCIPsetMessagehdlr (SCIP *scip, SCIP_MESSAGEHDLR *messagehdlr)
 
SCIP_MESSAGEHDLRSCIPgetMessagehdlr (SCIP *scip)
 
void SCIPsetMessagehdlrLogfile (SCIP *scip, const char *filename)
 
void SCIPsetMessagehdlrQuiet (SCIP *scip, SCIP_Bool quiet)
 
void SCIPwarningMessage (SCIP *scip, const char *formatstr,...)
 
void SCIPdialogMessage (SCIP *scip, FILE *file, const char *formatstr,...)
 
void SCIPinfoMessage (SCIP *scip, FILE *file, const char *formatstr,...)
 
void SCIPverbMessage (SCIP *scip, SCIP_VERBLEVEL msgverblevel, FILE *file, const char *formatstr,...)
 
SCIP_VERBLEVEL SCIPgetVerbLevel (SCIP *scip)
 
static SCIP_Bool takeCut (SCIP *scip, SCIP_CUT *cut, char cutsel)
 
static SCIP_RETCODE copyCuts (SCIP *sourcescip, SCIP *targetscip, SCIP_CUT **cuts, int ncuts, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool global, int *ncutsadded)
 
SCIP_RETCODE SCIPcopyPlugins (SCIP *sourcescip, SCIP *targetscip, SCIP_Bool copyreaders, SCIP_Bool copypricers, SCIP_Bool copyconshdlrs, SCIP_Bool copyconflicthdlrs, SCIP_Bool copypresolvers, SCIP_Bool copyrelaxators, SCIP_Bool copyseparators, SCIP_Bool copypropagators, SCIP_Bool copyheuristics, SCIP_Bool copyeventhdlrs, SCIP_Bool copynodeselectors, SCIP_Bool copybranchrules, SCIP_Bool copydisplays, SCIP_Bool copydialogs, SCIP_Bool copynlpis, SCIP_Bool passmessagehdlr, SCIP_Bool *valid)
 
static SCIP_RETCODE copyProb (SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool original, SCIP_Bool global, const char *name)
 
SCIP_RETCODE SCIPcopyProb (SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool global, const char *name)
 
SCIP_RETCODE SCIPcopyOrigProb (SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, const char *name)
 
SCIP_RETCODE SCIPgetVarCopy (SCIP *sourcescip, SCIP *targetscip, SCIP_VAR *sourcevar, SCIP_VAR **targetvar, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool global, SCIP_Bool *success)
 
static SCIP_RETCODE copyVars (SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool original, SCIP_Bool global)
 
SCIP_RETCODE SCIPcopyVars (SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool global)
 
SCIP_RETCODE SCIPcopyOrigVars (SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap)
 
SCIP_RETCODE SCIPmergeVariableStatistics (SCIP *sourcescip, SCIP *targetscip, SCIP_VAR **sourcevars, SCIP_VAR **targetvars, int nvars)
 
SCIP_RETCODE SCIPgetConsCopy (SCIP *sourcescip, SCIP *targetscip, SCIP_CONS *sourcecons, SCIP_CONS **targetcons, SCIP_CONSHDLR *sourceconshdlr, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, const char *name, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode, SCIP_Bool global, SCIP_Bool *success)
 
SCIP_RETCODE SCIPcopyConss (SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool global, SCIP_Bool enablepricing, SCIP_Bool *valid)
 
SCIP_RETCODE SCIPcopyOrigConss (SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool enablepricing, SCIP_Bool *valid)
 
SCIP_RETCODE SCIPconvertCutsToConss (SCIP *scip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool global, int *ncutsadded)
 
SCIP_RETCODE SCIPcopyCuts (SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool global, int *ncutsadded)
 
SCIP_RETCODE SCIPcopyImplicationsCliques (SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool global, SCIP_Bool *infeasible, int *nbdchgs, int *ncopied)
 
SCIP_RETCODE SCIPcopyParamSettings (SCIP *sourcescip, SCIP *targetscip)
 
int SCIPgetSubscipDepth (SCIP *scip)
 
SCIP_RETCODE SCIPcopy (SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, const char *suffix, SCIP_Bool global, SCIP_Bool enablepricing, SCIP_Bool passmessagehdlr, SCIP_Bool *valid)
 
SCIP_RETCODE SCIPcopyOrig (SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, const char *suffix, SCIP_Bool enablepricing, SCIP_Bool passmessagehdlr, SCIP_Bool *valid)
 
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)
 
SCIP_RETCODE SCIPaddIntParam (SCIP *scip, const char *name, const char *desc, int *valueptr, SCIP_Bool isadvanced, int defaultvalue, int minvalue, int maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
 
SCIP_RETCODE SCIPaddLongintParam (SCIP *scip, const char *name, const char *desc, SCIP_Longint *valueptr, SCIP_Bool isadvanced, SCIP_Longint defaultvalue, SCIP_Longint minvalue, SCIP_Longint maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
 
SCIP_RETCODE SCIPaddRealParam (SCIP *scip, const char *name, const char *desc, SCIP_Real *valueptr, SCIP_Bool isadvanced, SCIP_Real defaultvalue, SCIP_Real minvalue, SCIP_Real maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
 
SCIP_RETCODE SCIPaddCharParam (SCIP *scip, const char *name, const char *desc, char *valueptr, SCIP_Bool isadvanced, char defaultvalue, const char *allowedvalues, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
 
SCIP_RETCODE SCIPaddStringParam (SCIP *scip, const char *name, const char *desc, char **valueptr, SCIP_Bool isadvanced, const char *defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
 
SCIP_Bool SCIPisParamFixed (SCIP *scip, const char *name)
 
SCIP_PARAMSCIPgetParam (SCIP *scip, const char *name)
 
SCIP_RETCODE SCIPgetBoolParam (SCIP *scip, const char *name, SCIP_Bool *value)
 
SCIP_RETCODE SCIPgetIntParam (SCIP *scip, const char *name, int *value)
 
SCIP_RETCODE SCIPgetLongintParam (SCIP *scip, const char *name, SCIP_Longint *value)
 
SCIP_RETCODE SCIPgetRealParam (SCIP *scip, const char *name, SCIP_Real *value)
 
SCIP_RETCODE SCIPgetCharParam (SCIP *scip, const char *name, char *value)
 
SCIP_RETCODE SCIPgetStringParam (SCIP *scip, const char *name, char **value)
 
SCIP_RETCODE SCIPfixParam (SCIP *scip, const char *name)
 
SCIP_RETCODE SCIPunfixParam (SCIP *scip, const char *name)
 
SCIP_RETCODE SCIPsetParam (SCIP *scip, const char *name, void *value)
 
SCIP_RETCODE SCIPchgBoolParam (SCIP *scip, SCIP_PARAM *param, SCIP_Bool value)
 
SCIP_RETCODE SCIPsetBoolParam (SCIP *scip, const char *name, SCIP_Bool value)
 
SCIP_RETCODE SCIPcheckBoolParam (SCIP *scip, SCIP_PARAM *param, SCIP_Bool value)
 
SCIP_RETCODE SCIPchgIntParam (SCIP *scip, SCIP_PARAM *param, int value)
 
SCIP_RETCODE SCIPsetIntParam (SCIP *scip, const char *name, int value)
 
SCIP_RETCODE SCIPchgLongintParam (SCIP *scip, SCIP_PARAM *param, SCIP_Longint value)
 
SCIP_RETCODE SCIPsetLongintParam (SCIP *scip, const char *name, SCIP_Longint value)
 
SCIP_RETCODE SCIPcheckLongintParam (SCIP *scip, SCIP_PARAM *param, SCIP_Longint value)
 
SCIP_RETCODE SCIPchgRealParam (SCIP *scip, SCIP_PARAM *param, SCIP_Real value)
 
SCIP_RETCODE SCIPsetRealParam (SCIP *scip, const char *name, SCIP_Real value)
 
SCIP_RETCODE SCIPchgCharParam (SCIP *scip, SCIP_PARAM *param, char value)
 
SCIP_RETCODE SCIPsetCharParam (SCIP *scip, const char *name, char value)
 
SCIP_RETCODE SCIPcheckCharParam (SCIP *scip, SCIP_PARAM *param, const char value)
 
SCIP_RETCODE SCIPchgStringParam (SCIP *scip, SCIP_PARAM *param, const char *value)
 
SCIP_RETCODE SCIPsetStringParam (SCIP *scip, const char *name, const char *value)
 
SCIP_RETCODE SCIPcheckStringParam (SCIP *scip, SCIP_PARAM *param, const char *value)
 
SCIP_RETCODE SCIPreadParams (SCIP *scip, const char *filename)
 
SCIP_RETCODE SCIPwriteParam (SCIP *scip, SCIP_PARAM *param, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
 
SCIP_RETCODE SCIPwriteParams (SCIP *scip, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
 
SCIP_RETCODE SCIPresetParam (SCIP *scip, const char *name)
 
SCIP_RETCODE SCIPresetParams (SCIP *scip)
 
SCIP_RETCODE SCIPsetEmphasis (SCIP *scip, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
 
SCIP_RETCODE SCIPsetSubscipsOff (SCIP *scip, SCIP_Bool quiet)
 
SCIP_RETCODE SCIPsetHeuristics (SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
 
SCIP_RETCODE SCIPsetPresolving (SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
 
SCIP_RETCODE SCIPsetSeparating (SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
 
SCIP_PARAM ** SCIPgetParams (SCIP *scip)
 
int SCIPgetNParams (SCIP *scip)
 
SCIP_RETCODE SCIPincludeReader (SCIP *scip, const char *name, const char *desc, const char *extension, SCIP_DECL_READERCOPY((*readercopy)), SCIP_DECL_READERFREE((*readerfree)), SCIP_DECL_READERREAD((*readerread)), SCIP_DECL_READERWRITE((*readerwrite)), SCIP_READERDATA *readerdata)
 
SCIP_RETCODE SCIPincludeReaderBasic (SCIP *scip, SCIP_READER **readerptr, const char *name, const char *desc, const char *extension, SCIP_READERDATA *readerdata)
 
SCIP_RETCODE SCIPsetReaderCopy (SCIP *scip, SCIP_READER *reader, SCIP_DECL_READERCOPY((*readercopy)))
 
SCIP_RETCODE SCIPsetReaderFree (SCIP *scip, SCIP_READER *reader, SCIP_DECL_READERFREE((*readerfree)))
 
SCIP_RETCODE SCIPsetReaderRead (SCIP *scip, SCIP_READER *reader, SCIP_DECL_READERREAD((*readerread)))
 
SCIP_RETCODE SCIPsetReaderWrite (SCIP *scip, SCIP_READER *reader, SCIP_DECL_READERWRITE((*readerwrite)))
 
SCIP_READERSCIPfindReader (SCIP *scip, const char *name)
 
SCIP_READER ** SCIPgetReaders (SCIP *scip)
 
int SCIPgetNReaders (SCIP *scip)
 
SCIP_RETCODE SCIPincludePricer (SCIP *scip, const char *name, const char *desc, int priority, SCIP_Bool delay, SCIP_DECL_PRICERCOPY((*pricercopy)), SCIP_DECL_PRICERFREE((*pricerfree)), SCIP_DECL_PRICERINIT((*pricerinit)), SCIP_DECL_PRICEREXIT((*pricerexit)), SCIP_DECL_PRICERINITSOL((*pricerinitsol)), SCIP_DECL_PRICEREXITSOL((*pricerexitsol)), SCIP_DECL_PRICERREDCOST((*pricerredcost)), SCIP_DECL_PRICERFARKAS((*pricerfarkas)), SCIP_PRICERDATA *pricerdata)
 
SCIP_RETCODE SCIPincludePricerBasic (SCIP *scip, SCIP_PRICER **pricerptr, const char *name, const char *desc, int priority, SCIP_Bool delay, SCIP_DECL_PRICERREDCOST((*pricerredcost)), SCIP_DECL_PRICERFARKAS((*pricerfarkas)), SCIP_PRICERDATA *pricerdata)
 
SCIP_RETCODE SCIPsetPricerCopy (SCIP *scip, SCIP_PRICER *pricer, SCIP_DECL_PRICERCOPY((*pricercopy)))
 
SCIP_RETCODE SCIPsetPricerFree (SCIP *scip, SCIP_PRICER *pricer, SCIP_DECL_PRICERFREE((*pricerfree)))
 
SCIP_RETCODE SCIPsetPricerInit (SCIP *scip, SCIP_PRICER *pricer, SCIP_DECL_PRICERINIT((*pricerinit)))
 
SCIP_RETCODE SCIPsetPricerExit (SCIP *scip, SCIP_PRICER *pricer, SCIP_DECL_PRICEREXIT((*pricerexit)))
 
SCIP_RETCODE SCIPsetPricerInitsol (SCIP *scip, SCIP_PRICER *pricer, SCIP_DECL_PRICERINITSOL((*pricerinitsol)))
 
SCIP_RETCODE SCIPsetPricerExitsol (SCIP *scip, SCIP_PRICER *pricer, SCIP_DECL_PRICEREXITSOL((*pricerexitsol)))
 
SCIP_PRICERSCIPfindPricer (SCIP *scip, const char *name)
 
SCIP_PRICER ** SCIPgetPricers (SCIP *scip)
 
int SCIPgetNPricers (SCIP *scip)
 
int SCIPgetNActivePricers (SCIP *scip)
 
SCIP_RETCODE SCIPsetPricerPriority (SCIP *scip, SCIP_PRICER *pricer, int priority)
 
SCIP_RETCODE SCIPactivatePricer (SCIP *scip, SCIP_PRICER *pricer)
 
SCIP_RETCODE SCIPdeactivatePricer (SCIP *scip, SCIP_PRICER *pricer)
 
SCIP_RETCODE SCIPincludeConshdlr (SCIP *scip, const char *name, const char *desc, int sepapriority, int enfopriority, int chckpriority, int sepafreq, int propfreq, int eagerfreq, int maxprerounds, SCIP_Bool delaysepa, SCIP_Bool delayprop, SCIP_Bool needscons, SCIP_PROPTIMING proptiming, SCIP_PRESOLTIMING presoltiming, SCIP_DECL_CONSHDLRCOPY((*conshdlrcopy)), SCIP_DECL_CONSFREE((*consfree)), SCIP_DECL_CONSINIT((*consinit)), SCIP_DECL_CONSEXIT((*consexit)), SCIP_DECL_CONSINITPRE((*consinitpre)), SCIP_DECL_CONSEXITPRE((*consexitpre)), SCIP_DECL_CONSINITSOL((*consinitsol)), SCIP_DECL_CONSEXITSOL((*consexitsol)), SCIP_DECL_CONSDELETE((*consdelete)), SCIP_DECL_CONSTRANS((*constrans)), SCIP_DECL_CONSINITLP((*consinitlp)), SCIP_DECL_CONSSEPALP((*conssepalp)), SCIP_DECL_CONSSEPASOL((*conssepasol)), SCIP_DECL_CONSENFOLP((*consenfolp)), SCIP_DECL_CONSENFOPS((*consenfops)), SCIP_DECL_CONSCHECK((*conscheck)), SCIP_DECL_CONSPROP((*consprop)), SCIP_DECL_CONSPRESOL((*conspresol)), SCIP_DECL_CONSRESPROP((*consresprop)), SCIP_DECL_CONSLOCK((*conslock)), SCIP_DECL_CONSACTIVE((*consactive)), SCIP_DECL_CONSDEACTIVE((*consdeactive)), SCIP_DECL_CONSENABLE((*consenable)), SCIP_DECL_CONSDISABLE((*consdisable)), SCIP_DECL_CONSDELVARS((*consdelvars)), SCIP_DECL_CONSPRINT((*consprint)), SCIP_DECL_CONSCOPY((*conscopy)), SCIP_DECL_CONSPARSE((*consparse)), SCIP_DECL_CONSGETVARS((*consgetvars)), SCIP_DECL_CONSGETNVARS((*consgetnvars)), SCIP_DECL_CONSGETDIVEBDCHGS((*consgetdivebdchgs)), SCIP_CONSHDLRDATA *conshdlrdata)
 
SCIP_RETCODE SCIPincludeConshdlrBasic (SCIP *scip, SCIP_CONSHDLR **conshdlrptr, const char *name, const char *desc, int enfopriority, int chckpriority, int eagerfreq, SCIP_Bool needscons, SCIP_DECL_CONSENFOLP((*consenfolp)), SCIP_DECL_CONSENFOPS((*consenfops)), SCIP_DECL_CONSCHECK((*conscheck)), SCIP_DECL_CONSLOCK((*conslock)), SCIP_CONSHDLRDATA *conshdlrdata)
 
SCIP_RETCODE SCIPsetConshdlrSepa (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSSEPALP((*conssepalp)), SCIP_DECL_CONSSEPASOL((*conssepasol)), int sepafreq, int sepapriority, SCIP_Bool delaysepa)
 
SCIP_RETCODE SCIPsetConshdlrProp (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSPROP((*consprop)), int propfreq, SCIP_Bool delayprop, SCIP_PROPTIMING proptiming)
 
SCIP_RETCODE SCIPsetConshdlrCopy (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSHDLRCOPY((*conshdlrcopy)), SCIP_DECL_CONSCOPY((*conscopy)))
 
SCIP_RETCODE SCIPsetConshdlrFree (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSFREE((*consfree)))
 
SCIP_RETCODE SCIPsetConshdlrInit (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSINIT((*consinit)))
 
SCIP_RETCODE SCIPsetConshdlrExit (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSEXIT((*consexit)))
 
SCIP_RETCODE SCIPsetConshdlrInitsol (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSINITSOL((*consinitsol)))
 
SCIP_RETCODE SCIPsetConshdlrExitsol (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSEXITSOL((*consexitsol)))
 
SCIP_RETCODE SCIPsetConshdlrInitpre (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSINITPRE((*consinitpre)))
 
SCIP_RETCODE SCIPsetConshdlrExitpre (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSEXITPRE((*consexitpre)))
 
SCIP_RETCODE SCIPsetConshdlrPresol (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSPRESOL((*conspresol)), int maxprerounds, SCIP_PRESOLTIMING presoltiming)
 
SCIP_RETCODE SCIPsetConshdlrDelete (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSDELETE((*consdelete)))
 
SCIP_RETCODE SCIPsetConshdlrTrans (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSTRANS((*constrans)))
 
SCIP_RETCODE SCIPsetConshdlrInitlp (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSINITLP((*consinitlp)))
 
SCIP_RETCODE SCIPsetConshdlrResprop (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSRESPROP((*consresprop)))
 
SCIP_RETCODE SCIPsetConshdlrActive (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSACTIVE((*consactive)))
 
SCIP_RETCODE SCIPsetConshdlrDeactive (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSDEACTIVE((*consdeactive)))
 
SCIP_RETCODE SCIPsetConshdlrEnable (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSENABLE((*consenable)))
 
SCIP_RETCODE SCIPsetConshdlrDisable (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSDISABLE((*consdisable)))
 
SCIP_RETCODE SCIPsetConshdlrDelvars (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSDELVARS((*consdelvars)))
 
SCIP_RETCODE SCIPsetConshdlrPrint (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSPRINT((*consprint)))
 
SCIP_RETCODE SCIPsetConshdlrParse (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSPARSE((*consparse)))
 
SCIP_RETCODE SCIPsetConshdlrGetVars (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSGETVARS((*consgetvars)))
 
SCIP_RETCODE SCIPsetConshdlrGetNVars (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSGETNVARS((*consgetnvars)))
 
SCIP_RETCODE SCIPsetConshdlrGetDiveBdChgs (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSGETDIVEBDCHGS((*consgetdivebdchgs)))
 
SCIP_CONSHDLRSCIPfindConshdlr (SCIP *scip, const char *name)
 
SCIP_CONSHDLR ** SCIPgetConshdlrs (SCIP *scip)
 
int SCIPgetNConshdlrs (SCIP *scip)
 
SCIP_RETCODE SCIPincludeConflicthdlr (SCIP *scip, const char *name, const char *desc, int priority, SCIP_DECL_CONFLICTCOPY((*conflictcopy)), SCIP_DECL_CONFLICTFREE((*conflictfree)), SCIP_DECL_CONFLICTINIT((*conflictinit)), SCIP_DECL_CONFLICTEXIT((*conflictexit)), SCIP_DECL_CONFLICTINITSOL((*conflictinitsol)), SCIP_DECL_CONFLICTEXITSOL((*conflictexitsol)), SCIP_DECL_CONFLICTEXEC((*conflictexec)), SCIP_CONFLICTHDLRDATA *conflicthdlrdata)
 
SCIP_RETCODE SCIPincludeConflicthdlrBasic (SCIP *scip, SCIP_CONFLICTHDLR **conflicthdlrptr, const char *name, const char *desc, int priority, SCIP_DECL_CONFLICTEXEC((*conflictexec)), SCIP_CONFLICTHDLRDATA *conflicthdlrdata)
 
SCIP_RETCODE SCIPsetConflicthdlrCopy (SCIP *scip, SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTCOPY((*conflictcopy)))
 
SCIP_RETCODE SCIPsetConflicthdlrFree (SCIP *scip, SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTFREE((*conflictfree)))
 
SCIP_RETCODE SCIPsetConflicthdlrInit (SCIP *scip, SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTINIT((*conflictinit)))
 
SCIP_RETCODE SCIPsetConflicthdlrExit (SCIP *scip, SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTEXIT((*conflictexit)))
 
SCIP_RETCODE SCIPsetConflicthdlrInitsol (SCIP *scip, SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTINITSOL((*conflictinitsol)))
 
SCIP_RETCODE SCIPsetConflicthdlrExitsol (SCIP *scip, SCIP_CONFLICTHDLR *conflicthdlr, SCIP_DECL_CONFLICTEXITSOL((*conflictexitsol)))
 
SCIP_CONFLICTHDLRSCIPfindConflicthdlr (SCIP *scip, const char *name)
 
SCIP_CONFLICTHDLR ** SCIPgetConflicthdlrs (SCIP *scip)
 
int SCIPgetNConflicthdlrs (SCIP *scip)
 
SCIP_RETCODE SCIPsetConflicthdlrPriority (SCIP *scip, SCIP_CONFLICTHDLR *conflicthdlr, int priority)
 
SCIP_RETCODE SCIPincludePresol (SCIP *scip, const char *name, const char *desc, int priority, int maxrounds, SCIP_PRESOLTIMING timing, SCIP_DECL_PRESOLCOPY((*presolcopy)), SCIP_DECL_PRESOLFREE((*presolfree)), SCIP_DECL_PRESOLINIT((*presolinit)), SCIP_DECL_PRESOLEXIT((*presolexit)), SCIP_DECL_PRESOLINITPRE((*presolinitpre)), SCIP_DECL_PRESOLEXITPRE((*presolexitpre)), SCIP_DECL_PRESOLEXEC((*presolexec)), SCIP_PRESOLDATA *presoldata)
 
SCIP_RETCODE SCIPincludePresolBasic (SCIP *scip, SCIP_PRESOL **presolptr, const char *name, const char *desc, int priority, int maxrounds, SCIP_PRESOLTIMING timing, SCIP_DECL_PRESOLEXEC((*presolexec)), SCIP_PRESOLDATA *presoldata)
 
SCIP_RETCODE SCIPsetPresolCopy (SCIP *scip, SCIP_PRESOL *presol, SCIP_DECL_PRESOLCOPY((*presolcopy)))
 
SCIP_RETCODE SCIPsetPresolFree (SCIP *scip, SCIP_PRESOL *presol, SCIP_DECL_PRESOLFREE((*presolfree)))
 
SCIP_RETCODE SCIPsetPresolInit (SCIP *scip, SCIP_PRESOL *presol, SCIP_DECL_PRESOLINIT((*presolinit)))
 
SCIP_RETCODE SCIPsetPresolExit (SCIP *scip, SCIP_PRESOL *presol, SCIP_DECL_PRESOLEXIT((*presolexit)))
 
SCIP_RETCODE SCIPsetPresolInitpre (SCIP *scip, SCIP_PRESOL *presol, SCIP_DECL_PRESOLINITPRE((*presolinitpre)))
 
SCIP_RETCODE SCIPsetPresolExitpre (SCIP *scip, SCIP_PRESOL *presol, SCIP_DECL_PRESOLEXITPRE((*presolexitpre)))
 
SCIP_PRESOLSCIPfindPresol (SCIP *scip, const char *name)
 
SCIP_PRESOL ** SCIPgetPresols (SCIP *scip)
 
int SCIPgetNPresols (SCIP *scip)
 
SCIP_RETCODE SCIPsetPresolPriority (SCIP *scip, SCIP_PRESOL *presol, int priority)
 
SCIP_RETCODE SCIPincludeRelax (SCIP *scip, const char *name, const char *desc, int priority, int freq, SCIP_DECL_RELAXCOPY((*relaxcopy)), SCIP_DECL_RELAXFREE((*relaxfree)), SCIP_DECL_RELAXINIT((*relaxinit)), SCIP_DECL_RELAXEXIT((*relaxexit)), SCIP_DECL_RELAXINITSOL((*relaxinitsol)), SCIP_DECL_RELAXEXITSOL((*relaxexitsol)), SCIP_DECL_RELAXEXEC((*relaxexec)), SCIP_RELAXDATA *relaxdata)
 
SCIP_RETCODE SCIPincludeRelaxBasic (SCIP *scip, SCIP_RELAX **relaxptr, const char *name, const char *desc, int priority, int freq, SCIP_DECL_RELAXEXEC((*relaxexec)), SCIP_RELAXDATA *relaxdata)
 
SCIP_RETCODE SCIPsetRelaxCopy (SCIP *scip, SCIP_RELAX *relax, SCIP_DECL_RELAXCOPY((*relaxcopy)))
 
SCIP_RETCODE SCIPsetRelaxFree (SCIP *scip, SCIP_RELAX *relax, SCIP_DECL_RELAXFREE((*relaxfree)))
 
SCIP_RETCODE SCIPsetRelaxInit (SCIP *scip, SCIP_RELAX *relax, SCIP_DECL_RELAXINIT((*relaxinit)))
 
SCIP_RETCODE SCIPsetRelaxExit (SCIP *scip, SCIP_RELAX *relax, SCIP_DECL_RELAXEXIT((*relaxexit)))
 
SCIP_RETCODE SCIPsetRelaxInitsol (SCIP *scip, SCIP_RELAX *relax, SCIP_DECL_RELAXINITSOL((*relaxinitsol)))
 
SCIP_RETCODE SCIPsetRelaxExitsol (SCIP *scip, SCIP_RELAX *relax, SCIP_DECL_RELAXEXITSOL((*relaxexitsol)))
 
SCIP_RELAXSCIPfindRelax (SCIP *scip, const char *name)
 
SCIP_RELAX ** SCIPgetRelaxs (SCIP *scip)
 
int SCIPgetNRelaxs (SCIP *scip)
 
SCIP_RETCODE SCIPsetRelaxPriority (SCIP *scip, SCIP_RELAX *relax, int priority)
 
SCIP_RETCODE SCIPincludeSepa (SCIP *scip, const char *name, const char *desc, int priority, int freq, SCIP_Real maxbounddist, SCIP_Bool usessubscip, SCIP_Bool delay, SCIP_DECL_SEPACOPY((*sepacopy)), SCIP_DECL_SEPAFREE((*sepafree)), SCIP_DECL_SEPAINIT((*sepainit)), SCIP_DECL_SEPAEXIT((*sepaexit)), SCIP_DECL_SEPAINITSOL((*sepainitsol)), SCIP_DECL_SEPAEXITSOL((*sepaexitsol)), SCIP_DECL_SEPAEXECLP((*sepaexeclp)), SCIP_DECL_SEPAEXECSOL((*sepaexecsol)), SCIP_SEPADATA *sepadata)
 
SCIP_RETCODE SCIPincludeSepaBasic (SCIP *scip, SCIP_SEPA **sepa, const char *name, const char *desc, int priority, int freq, SCIP_Real maxbounddist, SCIP_Bool usessubscip, SCIP_Bool delay, SCIP_DECL_SEPAEXECLP((*sepaexeclp)), SCIP_DECL_SEPAEXECSOL((*sepaexecsol)), SCIP_SEPADATA *sepadata)
 
SCIP_RETCODE SCIPsetSepaCopy (SCIP *scip, SCIP_SEPA *sepa, SCIP_DECL_SEPACOPY((*sepacopy)))
 
SCIP_RETCODE SCIPsetSepaFree (SCIP *scip, SCIP_SEPA *sepa, SCIP_DECL_SEPAFREE((*sepafree)))
 
SCIP_RETCODE SCIPsetSepaInit (SCIP *scip, SCIP_SEPA *sepa, SCIP_DECL_SEPAINIT((*sepainit)))
 
SCIP_RETCODE SCIPsetSepaExit (SCIP *scip, SCIP_SEPA *sepa, SCIP_DECL_SEPAEXIT((*sepaexit)))
 
SCIP_RETCODE SCIPsetSepaInitsol (SCIP *scip, SCIP_SEPA *sepa, SCIP_DECL_SEPAINITSOL((*sepainitsol)))
 
SCIP_RETCODE SCIPsetSepaExitsol (SCIP *scip, SCIP_SEPA *sepa, SCIP_DECL_SEPAEXITSOL((*sepaexitsol)))
 
SCIP_SEPASCIPfindSepa (SCIP *scip, const char *name)
 
SCIP_SEPA ** SCIPgetSepas (SCIP *scip)
 
int SCIPgetNSepas (SCIP *scip)
 
SCIP_RETCODE SCIPsetSepaPriority (SCIP *scip, SCIP_SEPA *sepa, int priority)
 
SCIP_RETCODE SCIPincludeProp (SCIP *scip, const char *name, const char *desc, int priority, int freq, SCIP_Bool delay, SCIP_PROPTIMING timingmask, int presolpriority, int presolmaxrounds, SCIP_PRESOLTIMING presoltiming, SCIP_DECL_PROPCOPY((*propcopy)), SCIP_DECL_PROPFREE((*propfree)), SCIP_DECL_PROPINIT((*propinit)), SCIP_DECL_PROPEXIT((*propexit)), SCIP_DECL_PROPINITPRE((*propinitpre)), SCIP_DECL_PROPEXITPRE((*propexitpre)), SCIP_DECL_PROPINITSOL((*propinitsol)), SCIP_DECL_PROPEXITSOL((*propexitsol)), SCIP_DECL_PROPPRESOL((*proppresol)), SCIP_DECL_PROPEXEC((*propexec)), SCIP_DECL_PROPRESPROP((*propresprop)), SCIP_PROPDATA *propdata)
 
SCIP_RETCODE SCIPincludePropBasic (SCIP *scip, SCIP_PROP **propptr, const char *name, const char *desc, int priority, int freq, SCIP_Bool delay, SCIP_PROPTIMING timingmask, SCIP_DECL_PROPEXEC((*propexec)), SCIP_PROPDATA *propdata)
 
SCIP_RETCODE SCIPsetPropCopy (SCIP *scip, SCIP_PROP *prop, SCIP_DECL_PROPCOPY((*propcopy)))
 
SCIP_RETCODE SCIPsetPropFree (SCIP *scip, SCIP_PROP *prop, SCIP_DECL_PROPFREE((*propfree)))
 
SCIP_RETCODE SCIPsetPropInit (SCIP *scip, SCIP_PROP *prop, SCIP_DECL_PROPINIT((*propinit)))
 
SCIP_RETCODE SCIPsetPropExit (SCIP *scip, SCIP_PROP *prop, SCIP_DECL_PROPEXIT((*propexit)))
 
SCIP_RETCODE SCIPsetPropInitsol (SCIP *scip, SCIP_PROP *prop, SCIP_DECL_PROPINITSOL((*propinitsol)))
 
SCIP_RETCODE SCIPsetPropExitsol (SCIP *scip, SCIP_PROP *prop, SCIP_DECL_PROPEXITSOL((*propexitsol)))
 
SCIP_RETCODE SCIPsetPropInitpre (SCIP *scip, SCIP_PROP *prop, SCIP_DECL_PROPINITPRE((*propinitpre)))
 
SCIP_RETCODE SCIPsetPropExitpre (SCIP *scip, SCIP_PROP *prop, SCIP_DECL_PROPEXITPRE((*propexitpre)))
 
SCIP_RETCODE SCIPsetPropPresol (SCIP *scip, SCIP_PROP *prop, SCIP_DECL_PROPPRESOL((*proppresol)), int presolpriority, int presolmaxrounds, SCIP_PRESOLTIMING presoltiming)
 
SCIP_RETCODE SCIPsetPropResprop (SCIP *scip, SCIP_PROP *prop, SCIP_DECL_PROPRESPROP((*propresprop)))
 
SCIP_PROPSCIPfindProp (SCIP *scip, const char *name)
 
SCIP_PROP ** SCIPgetProps (SCIP *scip)
 
int SCIPgetNProps (SCIP *scip)
 
SCIP_RETCODE SCIPsetPropPriority (SCIP *scip, SCIP_PROP *prop, int priority)
 
SCIP_RETCODE SCIPsetPropPresolPriority (SCIP *scip, SCIP_PROP *prop, int presolpriority)
 
SCIP_RETCODE SCIPincludeHeur (SCIP *scip, const char *name, const char *desc, char dispchar, int priority, int freq, int freqofs, int maxdepth, unsigned int timingmask, SCIP_Bool usessubscip, SCIP_DECL_HEURCOPY((*heurcopy)), SCIP_DECL_HEURFREE((*heurfree)), SCIP_DECL_HEURINIT((*heurinit)), SCIP_DECL_HEUREXIT((*heurexit)), SCIP_DECL_HEURINITSOL((*heurinitsol)), SCIP_DECL_HEUREXITSOL((*heurexitsol)), SCIP_DECL_HEUREXEC((*heurexec)), SCIP_HEURDATA *heurdata)
 
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)
 
SCIP_RETCODE SCIPsetHeurCopy (SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURCOPY((*heurcopy)))
 
SCIP_RETCODE SCIPsetHeurFree (SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURFREE((*heurfree)))
 
SCIP_RETCODE SCIPsetHeurInit (SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURINIT((*heurinit)))
 
SCIP_RETCODE SCIPsetHeurExit (SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEUREXIT((*heurexit)))
 
SCIP_RETCODE SCIPsetHeurInitsol (SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURINITSOL((*heurinitsol)))
 
SCIP_RETCODE SCIPsetHeurExitsol (SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEUREXITSOL((*heurexitsol)))
 
SCIP_HEURSCIPfindHeur (SCIP *scip, const char *name)
 
SCIP_HEUR ** SCIPgetHeurs (SCIP *scip)
 
int SCIPgetNHeurs (SCIP *scip)
 
SCIP_RETCODE SCIPsetHeurPriority (SCIP *scip, SCIP_HEUR *heur, int priority)
 
SCIP_RETCODE SCIPincludeCompr (SCIP *scip, const char *name, const char *desc, int priority, int minnnodes, SCIP_DECL_COMPRCOPY((*comprcopy)), SCIP_DECL_COMPRFREE((*comprfree)), SCIP_DECL_COMPRINIT((*comprinit)), SCIP_DECL_COMPREXIT((*comprexit)), SCIP_DECL_COMPRINITSOL((*comprinitsol)), SCIP_DECL_COMPREXITSOL((*comprexitsol)), SCIP_DECL_COMPREXEC((*comprexec)), SCIP_COMPRDATA *comprdata)
 
SCIP_RETCODE SCIPincludeComprBasic (SCIP *scip, SCIP_COMPR **compr, const char *name, const char *desc, int priority, int minnnodes, SCIP_DECL_COMPREXEC((*comprexec)), SCIP_COMPRDATA *comprdata)
 
SCIP_RETCODE SCIPsetComprCopy (SCIP *scip, SCIP_COMPR *compr, SCIP_DECL_COMPRCOPY((*comprcopy)))
 
SCIP_RETCODE SCIPsetComprFree (SCIP *scip, SCIP_COMPR *compr, SCIP_DECL_COMPRFREE((*comprfree)))
 
SCIP_RETCODE SCIPsetComprInit (SCIP *scip, SCIP_COMPR *compr, SCIP_DECL_COMPRINIT((*comprinit)))
 
SCIP_RETCODE SCIPsetComprExit (SCIP *scip, SCIP_COMPR *compr, SCIP_DECL_COMPREXIT((*comprexit)))
 
SCIP_RETCODE SCIPsetComprInitsol (SCIP *scip, SCIP_COMPR *compr, SCIP_DECL_COMPRINITSOL((*comprinitsol)))
 
SCIP_RETCODE SCIPsetComprExitsol (SCIP *scip, SCIP_COMPR *compr, SCIP_DECL_COMPREXITSOL((*comprexitsol)))
 
SCIP_COMPRSCIPfindCompr (SCIP *scip, const char *name)
 
SCIP_COMPR ** SCIPgetComprs (SCIP *scip)
 
int SCIPgetNCompr (SCIP *scip)
 
SCIP_RETCODE SCIPsetComprPriority (SCIP *scip, SCIP_COMPR *compr, int priority)
 
SCIP_RETCODE SCIPcreateDiveset (SCIP *scip, SCIP_DIVESET **diveset, SCIP_HEUR *heur, const char *name, SCIP_Real minreldepth, SCIP_Real maxreldepth, SCIP_Real maxlpiterquot, SCIP_Real maxdiveubquot, SCIP_Real maxdiveavgquot, SCIP_Real maxdiveubquotnosol, SCIP_Real maxdiveavgquotnosol, SCIP_Real lpresolvedomchgquot, int lpsolvefreq, int maxlpiterofs, SCIP_Bool backtrack, SCIP_Bool onlylpbranchcands, SCIP_Bool specificsos1score, SCIP_DECL_DIVESETGETSCORE((*divesetgetscore)))
 
SCIP_RETCODE SCIPincludeEventhdlr (SCIP *scip, const char *name, const char *desc, SCIP_DECL_EVENTCOPY((*eventcopy)), SCIP_DECL_EVENTFREE((*eventfree)), SCIP_DECL_EVENTINIT((*eventinit)), SCIP_DECL_EVENTEXIT((*eventexit)), SCIP_DECL_EVENTINITSOL((*eventinitsol)), SCIP_DECL_EVENTEXITSOL((*eventexitsol)), SCIP_DECL_EVENTDELETE((*eventdelete)), SCIP_DECL_EVENTEXEC((*eventexec)), SCIP_EVENTHDLRDATA *eventhdlrdata)
 
SCIP_RETCODE SCIPincludeEventhdlrBasic (SCIP *scip, SCIP_EVENTHDLR **eventhdlrptr, const char *name, const char *desc, SCIP_DECL_EVENTEXEC((*eventexec)), SCIP_EVENTHDLRDATA *eventhdlrdata)
 
SCIP_RETCODE SCIPsetEventhdlrCopy (SCIP *scip, SCIP_EVENTHDLR *eventhdlr, SCIP_DECL_EVENTCOPY((*eventcopy)))
 
SCIP_RETCODE SCIPsetEventhdlrFree (SCIP *scip, SCIP_EVENTHDLR *eventhdlr, SCIP_DECL_EVENTFREE((*eventfree)))
 
SCIP_RETCODE SCIPsetEventhdlrInit (SCIP *scip, SCIP_EVENTHDLR *eventhdlr, SCIP_DECL_EVENTINIT((*eventinit)))
 
SCIP_RETCODE SCIPsetEventhdlrExit (SCIP *scip, SCIP_EVENTHDLR *eventhdlr, SCIP_DECL_EVENTEXIT((*eventexit)))
 
SCIP_RETCODE SCIPsetEventhdlrInitsol (SCIP *scip, SCIP_EVENTHDLR *eventhdlr, SCIP_DECL_EVENTINITSOL((*eventinitsol)))
 
SCIP_RETCODE SCIPsetEventhdlrExitsol (SCIP *scip, SCIP_EVENTHDLR *eventhdlr, SCIP_DECL_EVENTEXITSOL((*eventexitsol)))
 
SCIP_RETCODE SCIPsetEventhdlrDelete (SCIP *scip, SCIP_EVENTHDLR *eventhdlr, SCIP_DECL_EVENTDELETE((*eventdelete)))
 
SCIP_EVENTHDLRSCIPfindEventhdlr (SCIP *scip, const char *name)
 
SCIP_EVENTHDLR ** SCIPgetEventhdlrs (SCIP *scip)
 
int SCIPgetNEventhdlrs (SCIP *scip)
 
SCIP_RETCODE SCIPincludeNodesel (SCIP *scip, const char *name, const char *desc, int stdpriority, int memsavepriority, SCIP_DECL_NODESELCOPY((*nodeselcopy)), SCIP_DECL_NODESELFREE((*nodeselfree)), SCIP_DECL_NODESELINIT((*nodeselinit)), SCIP_DECL_NODESELEXIT((*nodeselexit)), SCIP_DECL_NODESELINITSOL((*nodeselinitsol)), SCIP_DECL_NODESELEXITSOL((*nodeselexitsol)), SCIP_DECL_NODESELSELECT((*nodeselselect)), SCIP_DECL_NODESELCOMP((*nodeselcomp)), SCIP_NODESELDATA *nodeseldata)
 
SCIP_RETCODE SCIPincludeNodeselBasic (SCIP *scip, SCIP_NODESEL **nodesel, const char *name, const char *desc, int stdpriority, int memsavepriority, SCIP_DECL_NODESELSELECT((*nodeselselect)), SCIP_DECL_NODESELCOMP((*nodeselcomp)), SCIP_NODESELDATA *nodeseldata)
 
SCIP_RETCODE SCIPsetNodeselCopy (SCIP *scip, SCIP_NODESEL *nodesel, SCIP_DECL_NODESELCOPY((*nodeselcopy)))
 
SCIP_RETCODE SCIPsetNodeselFree (SCIP *scip, SCIP_NODESEL *nodesel, SCIP_DECL_NODESELFREE((*nodeselfree)))
 
SCIP_RETCODE SCIPsetNodeselInit (SCIP *scip, SCIP_NODESEL *nodesel, SCIP_DECL_NODESELINIT((*nodeselinit)))
 
SCIP_RETCODE SCIPsetNodeselExit (SCIP *scip, SCIP_NODESEL *nodesel, SCIP_DECL_NODESELEXIT((*nodeselexit)))
 
SCIP_RETCODE SCIPsetNodeselInitsol (SCIP *scip, SCIP_NODESEL *nodesel, SCIP_DECL_NODESELINITSOL((*nodeselinitsol)))
 
SCIP_RETCODE SCIPsetNodeselExitsol (SCIP *scip, SCIP_NODESEL *nodesel, SCIP_DECL_NODESELEXITSOL((*nodeselexitsol)))
 
SCIP_NODESELSCIPfindNodesel (SCIP *scip, const char *name)
 
SCIP_NODESEL ** SCIPgetNodesels (SCIP *scip)
 
int SCIPgetNNodesels (SCIP *scip)
 
SCIP_RETCODE SCIPsetNodeselStdPriority (SCIP *scip, SCIP_NODESEL *nodesel, int priority)
 
SCIP_RETCODE SCIPsetNodeselMemsavePriority (SCIP *scip, SCIP_NODESEL *nodesel, int priority)
 
SCIP_NODESELSCIPgetNodesel (SCIP *scip)
 
SCIP_RETCODE SCIPincludeBranchrule (SCIP *scip, const char *name, const char *desc, int priority, int maxdepth, SCIP_Real maxbounddist, SCIP_DECL_BRANCHCOPY((*branchcopy)), SCIP_DECL_BRANCHFREE((*branchfree)), SCIP_DECL_BRANCHINIT((*branchinit)), SCIP_DECL_BRANCHEXIT((*branchexit)), SCIP_DECL_BRANCHINITSOL((*branchinitsol)), SCIP_DECL_BRANCHEXITSOL((*branchexitsol)), SCIP_DECL_BRANCHEXECLP((*branchexeclp)), SCIP_DECL_BRANCHEXECEXT((*branchexecext)), SCIP_DECL_BRANCHEXECPS((*branchexecps)), SCIP_BRANCHRULEDATA *branchruledata)
 
SCIP_RETCODE SCIPincludeBranchruleBasic (SCIP *scip, SCIP_BRANCHRULE **branchruleptr, const char *name, const char *desc, int priority, int maxdepth, SCIP_Real maxbounddist, SCIP_BRANCHRULEDATA *branchruledata)
 
SCIP_RETCODE SCIPsetBranchruleCopy (SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHCOPY((*branchcopy)))
 
SCIP_RETCODE SCIPsetBranchruleFree (SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHFREE((*branchfree)))
 
SCIP_RETCODE SCIPsetBranchruleInit (SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHINIT((*branchinit)))
 
SCIP_RETCODE SCIPsetBranchruleExit (SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHEXIT((*branchexit)))
 
SCIP_RETCODE SCIPsetBranchruleInitsol (SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHINITSOL((*branchinitsol)))
 
SCIP_RETCODE SCIPsetBranchruleExitsol (SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHEXITSOL((*branchexitsol)))
 
SCIP_RETCODE SCIPsetBranchruleExecLp (SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHEXECLP((*branchexeclp)))
 
SCIP_RETCODE SCIPsetBranchruleExecExt (SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHEXECEXT((*branchexecext)))
 
SCIP_RETCODE SCIPsetBranchruleExecPs (SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHEXECPS((*branchexecps)))
 
SCIP_BRANCHRULESCIPfindBranchrule (SCIP *scip, const char *name)
 
SCIP_BRANCHRULE ** SCIPgetBranchrules (SCIP *scip)
 
int SCIPgetNBranchrules (SCIP *scip)
 
SCIP_RETCODE SCIPsetBranchrulePriority (SCIP *scip, SCIP_BRANCHRULE *branchrule, int priority)
 
SCIP_RETCODE SCIPsetBranchruleMaxdepth (SCIP *scip, SCIP_BRANCHRULE *branchrule, int maxdepth)
 
SCIP_RETCODE SCIPsetBranchruleMaxbounddist (SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_Real maxbounddist)
 
SCIP_RETCODE SCIPincludeDisp (SCIP *scip, const char *name, const char *desc, const char *header, SCIP_DISPSTATUS dispstatus, SCIP_DECL_DISPCOPY((*dispcopy)), SCIP_DECL_DISPFREE((*dispfree)), SCIP_DECL_DISPINIT((*dispinit)), SCIP_DECL_DISPEXIT((*dispexit)), SCIP_DECL_DISPINITSOL((*dispinitsol)), SCIP_DECL_DISPEXITSOL((*dispexitsol)), SCIP_DECL_DISPOUTPUT((*dispoutput)), SCIP_DISPDATA *dispdata, int width, int priority, int position, SCIP_Bool stripline)
 
SCIP_DISPSCIPfindDisp (SCIP *scip, const char *name)
 
SCIP_DISP ** SCIPgetDisps (SCIP *scip)
 
int SCIPgetNDisps (SCIP *scip)
 
SCIP_RETCODE SCIPautoselectDisps (SCIP *scip)
 
static SCIP_DECL_PARAMCHGD (paramChgdNlpiPriority)
 
SCIP_RETCODE SCIPincludeNlpi (SCIP *scip, SCIP_NLPI *nlpi)
 
SCIP_NLPISCIPfindNlpi (SCIP *scip, const char *name)
 
SCIP_NLPI ** SCIPgetNlpis (SCIP *scip)
 
int SCIPgetNNlpis (SCIP *scip)
 
SCIP_RETCODE SCIPsetNlpiPriority (SCIP *scip, SCIP_NLPI *nlpi, int priority)
 
SCIP_RETCODE SCIPincludeExternalCodeInformation (SCIP *scip, const char *name, const char *description)
 
char ** SCIPgetExternalCodeNames (SCIP *scip)
 
char ** SCIPgetExternalCodeDescriptions (SCIP *scip)
 
int SCIPgetNExternalCodes (SCIP *scip)
 
void SCIPprintExternalCodes (SCIP *scip, FILE *file)
 
SCIP_RETCODE SCIPincludeDialog (SCIP *scip, SCIP_DIALOG **dialog, SCIP_DECL_DIALOGCOPY((*dialogcopy)), SCIP_DECL_DIALOGEXEC((*dialogexec)), SCIP_DECL_DIALOGDESC((*dialogdesc)), SCIP_DECL_DIALOGFREE((*dialogfree)), const char *name, const char *desc, SCIP_Bool issubmenu, SCIP_DIALOGDATA *dialogdata)
 
SCIP_Bool SCIPexistsDialog (SCIP *scip, SCIP_DIALOG *dialog)
 
SCIP_RETCODE SCIPcaptureDialog (SCIP *scip, SCIP_DIALOG *dialog)
 
SCIP_RETCODE SCIPreleaseDialog (SCIP *scip, SCIP_DIALOG **dialog)
 
SCIP_RETCODE SCIPsetRootDialog (SCIP *scip, SCIP_DIALOG *dialog)
 
SCIP_DIALOGSCIPgetRootDialog (SCIP *scip)
 
SCIP_RETCODE SCIPaddDialogEntry (SCIP *scip, SCIP_DIALOG *dialog, SCIP_DIALOG *subdialog)
 
SCIP_RETCODE SCIPaddDialogInputLine (SCIP *scip, const char *inputline)
 
SCIP_RETCODE SCIPaddDialogHistoryLine (SCIP *scip, const char *inputline)
 
SCIP_RETCODE SCIPstartInteraction (SCIP *scip)
 
SCIP_RETCODE SCIPcreateProb (SCIP *scip, const char *name, SCIP_DECL_PROBDELORIG((*probdelorig)), SCIP_DECL_PROBTRANS((*probtrans)), SCIP_DECL_PROBDELTRANS((*probdeltrans)), SCIP_DECL_PROBINITSOL((*probinitsol)), SCIP_DECL_PROBEXITSOL((*probexitsol)), SCIP_DECL_PROBCOPY((*probcopy)), SCIP_PROBDATA *probdata)
 
SCIP_RETCODE SCIPcreateProbBasic (SCIP *scip, const char *name)
 
SCIP_RETCODE SCIPsetProbDelorig (SCIP *scip, SCIP_DECL_PROBDELORIG((*probdelorig)))
 
SCIP_RETCODE SCIPsetProbTrans (SCIP *scip, SCIP_DECL_PROBTRANS((*probtrans)))
 
SCIP_RETCODE SCIPsetProbDeltrans (SCIP *scip, SCIP_DECL_PROBDELTRANS((*probdeltrans)))
 
SCIP_RETCODE SCIPsetProbInitsol (SCIP *scip, SCIP_DECL_PROBINITSOL((*probinitsol)))
 
SCIP_RETCODE SCIPsetProbExitsol (SCIP *scip, SCIP_DECL_PROBEXITSOL((*probexitsol)))
 
SCIP_RETCODE SCIPsetProbCopy (SCIP *scip, SCIP_DECL_PROBCOPY((*probcopy)))
 
SCIP_RETCODE SCIPreadProb (SCIP *scip, const char *filename, const char *extension)
 
static SCIP_RETCODE writeProblem (SCIP *scip, const char *filename, const char *extension, SCIP_Bool transformed, SCIP_Bool genericnames)
 
SCIP_RETCODE SCIPwriteOrigProblem (SCIP *scip, const char *filename, const char *extension, SCIP_Bool genericnames)
 
SCIP_RETCODE SCIPwriteTransProblem (SCIP *scip, const char *filename, const char *extension, SCIP_Bool genericnames)
 
SCIP_RETCODE SCIPfreeProb (SCIP *scip)
 
SCIP_RETCODE SCIPpermuteProb (SCIP *scip, unsigned int randseed, SCIP_Bool permuteconss, SCIP_Bool permutebinvars, SCIP_Bool permuteintvars, SCIP_Bool permuteimplvars, SCIP_Bool permutecontvars)
 
SCIP_PROBDATASCIPgetProbData (SCIP *scip)
 
SCIP_RETCODE SCIPsetProbData (SCIP *scip, SCIP_PROBDATA *probdata)
 
const char * SCIPgetProbName (SCIP *scip)
 
SCIP_RETCODE SCIPsetProbName (SCIP *scip, const char *name)
 
SCIP_OBJSENSE SCIPgetObjsense (SCIP *scip)
 
SCIP_RETCODE SCIPsetObjsense (SCIP *scip, SCIP_OBJSENSE objsense)
 
SCIP_RETCODE SCIPaddObjoffset (SCIP *scip, SCIP_Real addval)
 
SCIP_RETCODE SCIPaddOrigObjoffset (SCIP *scip, SCIP_Real addval)
 
SCIP_Real SCIPgetOrigObjoffset (SCIP *scip)
 
SCIP_Real SCIPgetOrigObjscale (SCIP *scip)
 
SCIP_Real SCIPgetTransObjoffset (SCIP *scip)
 
SCIP_Real SCIPgetTransObjscale (SCIP *scip)
 
SCIP_RETCODE SCIPsetObjlimit (SCIP *scip, SCIP_Real objlimit)
 
SCIP_Real SCIPgetObjlimit (SCIP *scip)
 
SCIP_RETCODE SCIPsetObjIntegral (SCIP *scip)
 
SCIP_Bool SCIPisObjIntegral (SCIP *scip)
 
SCIP_Real SCIPgetObjNorm (SCIP *scip)
 
SCIP_RETCODE SCIPaddVar (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPaddPricedVar (SCIP *scip, SCIP_VAR *var, SCIP_Real score)
 
SCIP_RETCODE SCIPdelVar (SCIP *scip, SCIP_VAR *var, SCIP_Bool *deleted)
 
SCIP_RETCODE SCIPgetVarsData (SCIP *scip, SCIP_VAR ***vars, int *nvars, int *nbinvars, int *nintvars, int *nimplvars, int *ncontvars)
 
SCIP_VAR ** SCIPgetVars (SCIP *scip)
 
int SCIPgetNVars (SCIP *scip)
 
int SCIPgetNBinVars (SCIP *scip)
 
int SCIPgetNIntVars (SCIP *scip)
 
int SCIPgetNImplVars (SCIP *scip)
 
int SCIPgetNContVars (SCIP *scip)
 
int SCIPgetNObjVars (SCIP *scip)
 
SCIP_VAR ** SCIPgetFixedVars (SCIP *scip)
 
int SCIPgetNFixedVars (SCIP *scip)
 
SCIP_RETCODE SCIPgetOrigVarsData (SCIP *scip, SCIP_VAR ***vars, int *nvars, int *nbinvars, int *nintvars, int *nimplvars, int *ncontvars)
 
SCIP_VAR ** SCIPgetOrigVars (SCIP *scip)
 
int SCIPgetNOrigVars (SCIP *scip)
 
int SCIPgetNOrigBinVars (SCIP *scip)
 
int SCIPgetNOrigIntVars (SCIP *scip)
 
int SCIPgetNOrigImplVars (SCIP *scip)
 
int SCIPgetNOrigContVars (SCIP *scip)
 
int SCIPgetNTotalVars (SCIP *scip)
 
SCIP_RETCODE SCIPgetSolVarsData (SCIP *scip, SCIP_SOL *sol, SCIP_VAR ***vars, int *nvars, int *nbinvars, int *nintvars, int *nimplvars, int *ncontvars)
 
SCIP_VARSCIPfindVar (SCIP *scip, const char *name)
 
SCIP_Bool SCIPallVarsInProb (SCIP *scip)
 
SCIP_RETCODE SCIPaddCons (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPdelCons (SCIP *scip, SCIP_CONS *cons)
 
SCIP_CONSSCIPfindOrigCons (SCIP *scip, const char *name)
 
SCIP_CONSSCIPfindCons (SCIP *scip, const char *name)
 
int SCIPgetNUpgrConss (SCIP *scip)
 
int SCIPgetNConss (SCIP *scip)
 
SCIP_CONS ** SCIPgetConss (SCIP *scip)
 
int SCIPgetNOrigConss (SCIP *scip)
 
SCIP_CONS ** SCIPgetOrigConss (SCIP *scip)
 
int SCIPgetNCheckConss (SCIP *scip)
 
SCIP_RETCODE SCIPaddConsNode (SCIP *scip, SCIP_NODE *node, SCIP_CONS *cons, SCIP_NODE *validnode)
 
SCIP_RETCODE SCIPaddConsLocal (SCIP *scip, SCIP_CONS *cons, SCIP_NODE *validnode)
 
SCIP_RETCODE SCIPdelConsNode (SCIP *scip, SCIP_NODE *node, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPdelConsLocal (SCIP *scip, SCIP_CONS *cons)
 
SCIP_Real SCIPgetLocalOrigEstimate (SCIP *scip)
 
SCIP_Real SCIPgetLocalTransEstimate (SCIP *scip)
 
SCIP_Real SCIPgetLocalDualbound (SCIP *scip)
 
SCIP_Real SCIPgetLocalLowerbound (SCIP *scip)
 
SCIP_Real SCIPgetNodeDualbound (SCIP *scip, SCIP_NODE *node)
 
SCIP_Real SCIPgetNodeLowerbound (SCIP *scip, SCIP_NODE *node)
 
SCIP_RETCODE SCIPupdateLocalDualbound (SCIP *scip, SCIP_Real newbound)
 
SCIP_RETCODE SCIPupdateLocalLowerbound (SCIP *scip, SCIP_Real newbound)
 
SCIP_RETCODE SCIPupdateNodeDualbound (SCIP *scip, SCIP_NODE *node, SCIP_Real newbound)
 
SCIP_RETCODE SCIPupdateNodeLowerbound (SCIP *scip, SCIP_NODE *node, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgChildPrio (SCIP *scip, SCIP_NODE *child, SCIP_Real priority)
 
static SCIP_RETCODE checkSolOrig (SCIP *scip, SCIP_SOL *sol, SCIP_Bool *feasible, SCIP_Bool printreason, SCIP_Bool completely, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool checkmodifiable)
 
static SCIP_RETCODE calcNonZeros (SCIP *scip, SCIP_Longint *nchecknonzeros, SCIP_Longint *nactivenonzeros, SCIP_Bool *approxchecknonzeros, SCIP_Bool *approxactivenonzeros)
 
SCIP_RETCODE SCIPtransformProb (SCIP *scip)
 
static SCIP_RETCODE initPresolve (SCIP *scip)
 
static SCIP_RETCODE exitPresolve (SCIP *scip, SCIP_Bool solved, SCIP_Bool *infeasible)
 
static SCIP_RETCODE presolveRound (SCIP *scip, SCIP_PRESOLTIMING *timing, SCIP_Bool *unbounded, SCIP_Bool *infeasible, SCIP_Bool lastround, int *presolstart, int presolend, int *propstart, int propend, int *consstart, int consend)
 
static SCIP_RETCODE presolve (SCIP *scip, SCIP_Bool *unbounded, SCIP_Bool *infeasible)
 
static SCIP_RETCODE transformSols (SCIP *scip)
 
static SCIP_RETCODE initSolve (SCIP *scip, SCIP_Bool solved)
 
static SCIP_RETCODE freeSolve (SCIP *scip, SCIP_Bool restart)
 
static SCIP_RETCODE freeTransform (SCIP *scip)
 
static SCIP_RETCODE displayRelevantStats (SCIP *scip)
 
static SCIP_RETCODE compressReoptTree (SCIP *scip)
 
SCIP_RETCODE SCIPpresolve (SCIP *scip)
 
SCIP_RETCODE SCIPsolve (SCIP *scip)
 
SCIP_RETCODE SCIPenableReoptimization (SCIP *scip, SCIP_Bool enable)
 
SCIP_RETCODE SCIPaddReoptDualBndchg (SCIP *scip, SCIP_NODE *node, SCIP_VAR *var, SCIP_Real newbound, SCIP_Real oldbound)
 
SCIP_SOLSCIPgetReoptLastOptSol (SCIP *scip)
 
SCIP_RETCODE SCIPgetReoptOldObjCoef (SCIP *scip, SCIP_VAR *var, int run, SCIP_Real *objcoef)
 
SCIP_RETCODE SCIPgetReoptChildIDs (SCIP *scip, SCIP_NODE *node, unsigned int *ids, int idssize, int *nids)
 
SCIP_RETCODE SCIPgetReoptLeaveIDs (SCIP *scip, SCIP_NODE *node, unsigned int *ids, int idssize, int *nids)
 
int SCIPgetNReoptnodes (SCIP *scip, SCIP_NODE *node)
 
int SCIPgetNReoptLeaves (SCIP *scip, SCIP_NODE *node)
 
SCIP_REOPTNODESCIPgetReoptnode (SCIP *scip, unsigned int id)
 
SCIP_RETCODE SCIPaddReoptnodeBndchg (SCIP *scip, SCIP_REOPTNODE *reoptnode, SCIP_VAR *var, SCIP_Real val, SCIP_BOUNDTYPE boundtype)
 
SCIP_RETCODE SCIPsetReoptCompression (SCIP *scip, SCIP_REOPTNODE **representation, int nrepresentatives, SCIP_Bool *success)
 
SCIP_RETCODE SCIPaddReoptnodeCons (SCIP *scip, SCIP_REOPTNODE *reoptnode, SCIP_VAR **vars, SCIP_Real *vals, int nvars, REOPT_CONSTYPE constype)
 
void SCIPgetReoptnodePath (SCIP *scip, SCIP_REOPTNODE *reoptnode, SCIP_VAR **vars, SCIP_Real *vals, SCIP_BOUNDTYPE *boundtypes, int mem, int *nvars, int *nafterdualvars)
 
SCIP_RETCODE SCIPinitRepresentation (SCIP *scip, SCIP_REOPTNODE **representatives, int nrepresentatives)
 
SCIP_RETCODE SCIPresetRepresentation (SCIP *scip, SCIP_REOPTNODE **representatives, int nrepresentatives)
 
SCIP_RETCODE SCIPfreeRepresentation (SCIP *scip, SCIP_REOPTNODE **representatives, int nrepresentatives)
 
SCIP_RETCODE SCIPapplyReopt (SCIP *scip, SCIP_REOPTNODE *reoptnode, unsigned int id, SCIP_Real estimate, SCIP_NODE **childnodes, int *ncreatedchilds, int *naddedconss, int childnodessize, SCIP_Bool *success)
 
SCIP_RETCODE SCIPfreeSolve (SCIP *scip, SCIP_Bool restart)
 
SCIP_RETCODE SCIPfreeTransform (SCIP *scip)
 
SCIP_RETCODE SCIPinterruptSolve (SCIP *scip)
 
SCIP_RETCODE SCIPrestartSolve (SCIP *scip)
 
SCIP_Bool SCIPisReoptEnabled (SCIP *scip)
 
SCIP_RETCODE SCIPgetReopSolsRun (SCIP *scip, int run, SCIP_SOL **sols, int solssize, int *nsols)
 
void SCIPresetReoptSolMarks (SCIP *scip)
 
SCIP_RETCODE SCIPcheckReoptRestart (SCIP *scip, SCIP_NODE *node, SCIP_Bool *restart)
 
SCIP_Real SCIPgetReoptSimilarity (SCIP *scip, int run1, int run2)
 
SCIP_Bool SCIPreoptimizeNode (SCIP *scip, SCIP_NODE *node)
 
SCIP_RETCODE SCIPdeleteReoptnode (SCIP *scip, SCIP_REOPTNODE **reoptnode)
 
SCIP_RETCODE SCIPsplitReoptRoot (SCIP *scip, int *ncreatedchilds, int *naddedconss)
 
SCIP_RETCODE SCIPresetReoptnodeDualcons (SCIP *scip, SCIP_NODE *node)
 
SCIP_Bool SCIPisInRestart (SCIP *scip)
 
SCIP_RETCODE SCIPcreateVar (SCIP *scip, SCIP_VAR **var, const char *name, SCIP_Real lb, SCIP_Real ub, SCIP_Real obj, SCIP_VARTYPE vartype, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_DECL_VARCOPY((*varcopy)), SCIP_VARDATA *vardata)
 
SCIP_RETCODE SCIPcreateVarBasic (SCIP *scip, SCIP_VAR **var, const char *name, SCIP_Real lb, SCIP_Real ub, SCIP_Real obj, SCIP_VARTYPE vartype)
 
SCIP_RETCODE SCIPwriteVarName (SCIP *scip, FILE *file, SCIP_VAR *var, SCIP_Bool type)
 
SCIP_RETCODE SCIPwriteVarsList (SCIP *scip, FILE *file, SCIP_VAR **vars, int nvars, SCIP_Bool type, char delimiter)
 
SCIP_RETCODE SCIPwriteVarsLinearsum (SCIP *scip, FILE *file, SCIP_VAR **vars, SCIP_Real *vals, int nvars, SCIP_Bool type)
 
SCIP_RETCODE SCIPwriteVarsPolynomial (SCIP *scip, FILE *file, SCIP_VAR ***monomialvars, SCIP_Real **monomialexps, SCIP_Real *monomialcoefs, int *monomialnvars, int nmonomials, SCIP_Bool type)
 
SCIP_RETCODE SCIPparseVar (SCIP *scip, SCIP_VAR **var, const char *str, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARCOPY((*varcopy)), SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_VARDATA *vardata, char **endptr, SCIP_Bool *success)
 
SCIP_RETCODE SCIPparseVarName (SCIP *scip, const char *str, SCIP_VAR **var, char **endptr)
 
SCIP_RETCODE SCIPparseVarsList (SCIP *scip, const char *str, SCIP_VAR **vars, int *nvars, int varssize, int *requiredsize, char **endptr, char delimiter, SCIP_Bool *success)
 
SCIP_RETCODE SCIPparseVarsLinearsum (SCIP *scip, const char *str, SCIP_VAR **vars, SCIP_Real *vals, int *nvars, int varssize, int *requiredsize, char **endptr, SCIP_Bool *success)
 
SCIP_RETCODE SCIPparseVarsPolynomial (SCIP *scip, const char *str, SCIP_VAR ****monomialvars, SCIP_Real ***monomialexps, SCIP_Real **monomialcoefs, int **monomialnvars, int *nmonomials, char **endptr, SCIP_Bool *success)
 
void SCIPfreeParseVarsPolynomialData (SCIP *scip, SCIP_VAR ****monomialvars, SCIP_Real ***monomialexps, SCIP_Real **monomialcoefs, int **monomialnvars, int nmonomials)
 
SCIP_RETCODE SCIPcaptureVar (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPreleaseVar (SCIP *scip, SCIP_VAR **var)
 
SCIP_RETCODE SCIPchgVarName (SCIP *scip, SCIP_VAR *var, const char *name)
 
SCIP_RETCODE SCIPtransformVar (SCIP *scip, SCIP_VAR *var, SCIP_VAR **transvar)
 
SCIP_RETCODE SCIPtransformVars (SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_VAR **transvars)
 
SCIP_RETCODE SCIPgetTransformedVar (SCIP *scip, SCIP_VAR *var, SCIP_VAR **transvar)
 
SCIP_RETCODE SCIPgetTransformedVars (SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_VAR **transvars)
 
SCIP_RETCODE SCIPgetNegatedVar (SCIP *scip, SCIP_VAR *var, SCIP_VAR **negvar)
 
SCIP_RETCODE SCIPgetNegatedVars (SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_VAR **negvars)
 
SCIP_RETCODE SCIPgetBinvarRepresentative (SCIP *scip, SCIP_VAR *var, SCIP_VAR **repvar, SCIP_Bool *negated)
 
SCIP_RETCODE SCIPgetBinvarRepresentatives (SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_VAR **repvars, SCIP_Bool *negated)
 
SCIP_RETCODE SCIPflattenVarAggregationGraph (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPgetProbvarLinearSum (SCIP *scip, SCIP_VAR **vars, SCIP_Real *scalars, int *nvars, int varssize, SCIP_Real *constant, int *requiredsize, SCIP_Bool mergemultiples)
 
SCIP_RETCODE SCIPgetProbvarSum (SCIP *scip, SCIP_VAR **var, SCIP_Real *scalar, SCIP_Real *constant)
 
SCIP_RETCODE SCIPgetActiveVars (SCIP *scip, SCIP_VAR **vars, int *nvars, int varssize, int *requiredsize)
 
SCIP_Real SCIPgetVarRedcost (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarImplRedcost (SCIP *scip, SCIP_VAR *var, SCIP_Bool varfixing)
 
SCIP_Real SCIPgetVarFarkasCoef (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarSol (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPgetVarSols (SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
 
SCIP_RETCODE SCIPclearRelaxSolVals (SCIP *scip)
 
SCIP_RETCODE SCIPsetRelaxSolVal (SCIP *scip, SCIP_VAR *var, SCIP_Real val)
 
SCIP_RETCODE SCIPsetRelaxSolVals (SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
 
SCIP_RETCODE SCIPsetRelaxSolValsSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_Bool SCIPisRelaxSolValid (SCIP *scip)
 
SCIP_RETCODE SCIPmarkRelaxSolValid (SCIP *scip)
 
SCIP_RETCODE SCIPmarkRelaxSolInvalid (SCIP *scip)
 
SCIP_Real SCIPgetRelaxSolVal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetRelaxSolObj (SCIP *scip)
 
SCIP_RETCODE SCIPstartStrongbranch (SCIP *scip, SCIP_Bool enablepropagation)
 
SCIP_RETCODE SCIPendStrongbranch (SCIP *scip)
 
static SCIP_RETCODE analyzeStrongbranch (SCIP *scip, SCIP_VAR *var, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict)
 
SCIP_RETCODE SCIPgetVarStrongbranchFrac (SCIP *scip, SCIP_VAR *var, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror)
 
static SCIP_RETCODE performStrongbranchWithPropagation (SCIP *scip, SCIP_VAR *var, SCIP_Bool down, SCIP_Bool firstchild, SCIP_Bool propagate, SCIP_Real newbound, int itlim, int maxproprounds, SCIP_Real *value, SCIP_Bool *valid, SCIP_Longint *ndomreductions, SCIP_Bool *conflict, SCIP_Bool *lperror, SCIP_VAR **vars, int nvars, SCIP_Real *newlbs, SCIP_Real *newubs, SCIP_Bool *foundsol, SCIP_Bool *cutoff)
 
SCIP_RETCODE SCIPgetVarStrongbranchWithPropagation (SCIP *scip, SCIP_VAR *var, SCIP_Real solval, SCIP_Real lpobjval, int itlim, int maxproprounds, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Longint *ndomredsdown, SCIP_Longint *ndomredsup, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror, SCIP_Real *newlbs, SCIP_Real *newubs)
 
SCIP_RETCODE SCIPgetVarStrongbranchInt (SCIP *scip, SCIP_VAR *var, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror)
 
SCIP_RETCODE SCIPgetVarsStrongbranchesFrac (SCIP *scip, SCIP_VAR **vars, int nvars, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror)
 
SCIP_RETCODE SCIPgetVarsStrongbranchesInt (SCIP *scip, SCIP_VAR **vars, int nvars, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror)
 
SCIP_RETCODE SCIPgetVarStrongbranchLast (SCIP *scip, SCIP_VAR *var, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Real *solval, SCIP_Real *lpobjval)
 
SCIP_Longint SCIPgetVarStrongbranchNode (SCIP *scip, SCIP_VAR *var)
 
SCIP_Longint SCIPgetVarStrongbranchLPAge (SCIP *scip, SCIP_VAR *var)
 
int SCIPgetVarNStrongbranchs (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPaddVarLocks (SCIP *scip, SCIP_VAR *var, int nlocksdown, int nlocksup)
 
SCIP_RETCODE SCIPlockVarCons (SCIP *scip, SCIP_VAR *var, SCIP_CONS *cons, SCIP_Bool lockdown, SCIP_Bool lockup)
 
SCIP_RETCODE SCIPunlockVarCons (SCIP *scip, SCIP_VAR *var, SCIP_CONS *cons, SCIP_Bool lockdown, SCIP_Bool lockup)
 
SCIP_RETCODE SCIPchgVarObj (SCIP *scip, SCIP_VAR *var, SCIP_Real newobj)
 
SCIP_RETCODE SCIPaddVarObj (SCIP *scip, SCIP_VAR *var, SCIP_Real addobj)
 
SCIP_Real SCIPadjustedVarLb (SCIP *scip, SCIP_VAR *var, SCIP_Real lb)
 
SCIP_Real SCIPadjustedVarUb (SCIP *scip, SCIP_VAR *var, SCIP_Real ub)
 
SCIP_RETCODE SCIPchgVarLb (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarUb (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarLbNode (SCIP *scip, SCIP_NODE *node, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarUbNode (SCIP *scip, SCIP_NODE *node, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarLbGlobal (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarUbGlobal (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarLbLazy (SCIP *scip, SCIP_VAR *var, SCIP_Real lazylb)
 
SCIP_RETCODE SCIPchgVarUbLazy (SCIP *scip, SCIP_VAR *var, SCIP_Real lazyub)
 
SCIP_RETCODE SCIPtightenVarLb (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPtightenVarUb (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferVarFixCons (SCIP *scip, SCIP_VAR *var, SCIP_Real fixedval, SCIP_CONS *infercons, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferVarLbCons (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_CONS *infercons, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferVarUbCons (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_CONS *infercons, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferBinvarCons (SCIP *scip, SCIP_VAR *var, SCIP_Bool fixedval, SCIP_CONS *infercons, int inferinfo, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferVarFixProp (SCIP *scip, SCIP_VAR *var, SCIP_Real fixedval, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferVarLbProp (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferVarUbProp (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPinferBinvarProp (SCIP *scip, SCIP_VAR *var, SCIP_Bool fixedval, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPtightenVarLbGlobal (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_RETCODE SCIPtightenVarUbGlobal (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
 
SCIP_Real SCIPcomputeVarLbGlobal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPcomputeVarUbGlobal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPcomputeVarLbLocal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPcomputeVarUbLocal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarMultaggrLbGlobal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarMultaggrUbGlobal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarMultaggrLbLocal (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarMultaggrUbLocal (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPgetVarClosestVlb (SCIP *scip, SCIP_VAR *var, SCIP_SOL *sol, SCIP_Real *closestvlb, int *closestvlbidx)
 
SCIP_RETCODE SCIPgetVarClosestVub (SCIP *scip, SCIP_VAR *var, SCIP_SOL *sol, SCIP_Real *closestvub, int *closestvubidx)
 
SCIP_RETCODE SCIPaddVarVlb (SCIP *scip, SCIP_VAR *var, SCIP_VAR *vlbvar, SCIP_Real vlbcoef, SCIP_Real vlbconstant, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPaddVarVub (SCIP *scip, SCIP_VAR *var, SCIP_VAR *vubvar, SCIP_Real vubcoef, SCIP_Real vubconstant, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPaddVarImplication (SCIP *scip, SCIP_VAR *var, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype, SCIP_Real implbound, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPaddClique (SCIP *scip, SCIP_VAR **vars, SCIP_Bool *values, int nvars, SCIP_Bool isequation, SCIP_Bool *infeasible, int *nbdchgs)
 
SCIP_RETCODE SCIPcalcCliquePartition (SCIP *const scip, SCIP_VAR **const vars, int const nvars, int *const cliquepartition, int *const ncliques)
 
SCIP_RETCODE SCIPcalcNegatedCliquePartition (SCIP *const scip, SCIP_VAR **const vars, int const nvars, int *const cliquepartition, int *const ncliques)
 
SCIP_RETCODE SCIPcleanupCliques (SCIP *scip, SCIP_Bool *infeasible)
 
int SCIPgetNCliques (SCIP *scip)
 
SCIP_CLIQUE ** SCIPgetCliques (SCIP *scip)
 
SCIP_Bool SCIPhaveVarsCommonClique (SCIP *scip, SCIP_VAR *var1, SCIP_Bool value1, SCIP_VAR *var2, SCIP_Bool value2, SCIP_Bool regardimplics)
 
SCIP_RETCODE SCIPwriteCliqueGraph (SCIP *scip, const char *fname, SCIP_Bool writenodeweights)
 
SCIP_RETCODE SCIPremoveVarFromGlobalStructures (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPchgVarBranchFactor (SCIP *scip, SCIP_VAR *var, SCIP_Real branchfactor)
 
SCIP_RETCODE SCIPscaleVarBranchFactor (SCIP *scip, SCIP_VAR *var, SCIP_Real scale)
 
SCIP_RETCODE SCIPaddVarBranchFactor (SCIP *scip, SCIP_VAR *var, SCIP_Real addfactor)
 
SCIP_RETCODE SCIPchgVarBranchPriority (SCIP *scip, SCIP_VAR *var, int branchpriority)
 
SCIP_RETCODE SCIPupdateVarBranchPriority (SCIP *scip, SCIP_VAR *var, int branchpriority)
 
SCIP_RETCODE SCIPaddVarBranchPriority (SCIP *scip, SCIP_VAR *var, int addpriority)
 
SCIP_RETCODE SCIPchgVarBranchDirection (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR branchdirection)
 
static SCIP_RETCODE tightenBounds (SCIP *scip, SCIP_VAR *var, SCIP_VARTYPE vartype, SCIP_Bool *infeasible)
 
SCIP_RETCODE SCIPchgVarType (SCIP *scip, SCIP_VAR *var, SCIP_VARTYPE vartype, SCIP_Bool *infeasible)
 
SCIP_RETCODE SCIPfixVar (SCIP *scip, SCIP_VAR *var, SCIP_Real fixedval, SCIP_Bool *infeasible, SCIP_Bool *fixed)
 
SCIP_RETCODE SCIPaggregateVars (SCIP *scip, SCIP_VAR *varx, SCIP_VAR *vary, SCIP_Real scalarx, SCIP_Real scalary, SCIP_Real rhs, SCIP_Bool *infeasible, SCIP_Bool *redundant, SCIP_Bool *aggregated)
 
SCIP_RETCODE SCIPmultiaggregateVar (SCIP *scip, SCIP_VAR *var, int naggvars, SCIP_VAR **aggvars, SCIP_Real *scalars, SCIP_Real constant, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
 
SCIP_Bool SCIPdoNotAggr (SCIP *scip)
 
SCIP_Bool SCIPdoNotMultaggr (SCIP *scip)
 
SCIP_Bool SCIPdoNotMultaggrVar (SCIP *scip, SCIP_VAR *var)
 
SCIP_Bool SCIPallowDualReds (SCIP *scip)
 
SCIP_Bool SCIPallowObjProp (SCIP *scip)
 
SCIP_RETCODE SCIPmarkDoNotMultaggrVar (SCIP *scip, SCIP_VAR *var)
 
void SCIPenableVarHistory (SCIP *scip)
 
void SCIPdisableVarHistory (SCIP *scip)
 
SCIP_RETCODE SCIPupdateVarPseudocost (SCIP *scip, SCIP_VAR *var, SCIP_Real solvaldelta, SCIP_Real objdelta, SCIP_Real weight)
 
SCIP_Real SCIPgetVarPseudocostVal (SCIP *scip, SCIP_VAR *var, SCIP_Real solvaldelta)
 
SCIP_Real SCIPgetVarPseudocostValCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_Real solvaldelta)
 
SCIP_Real SCIPgetVarPseudocost (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarPseudocostCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarPseudocostCount (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarPseudocostCountCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarPseudocostVariance (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir, SCIP_Bool onlycurrentrun)
 
SCIP_Real SCIPcalculatePscostConfidenceBound (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir, SCIP_Bool onlycurrentrun, SCIP_CONFIDENCELEVEL clevel)
 
SCIP_Bool SCIPsignificantVarPscostDifference (SCIP *scip, SCIP_VAR *varx, SCIP_Real fracx, SCIP_VAR *vary, SCIP_Real fracy, SCIP_BRANCHDIR dir, SCIP_CONFIDENCELEVEL clevel, SCIP_Bool onesided)
 
SCIP_Bool SCIPpscostThresholdProbabilityTest (SCIP *scip, SCIP_VAR *var, SCIP_Real frac, SCIP_Real threshold, SCIP_BRANCHDIR dir, SCIP_CONFIDENCELEVEL clevel)
 
SCIP_Bool SCIPisVarPscostRelerrorReliable (SCIP *scip, SCIP_VAR *var, SCIP_Real threshold, SCIP_CONFIDENCELEVEL clevel)
 
SCIP_Real SCIPgetVarPseudocostScore (SCIP *scip, SCIP_VAR *var, SCIP_Real solval)
 
SCIP_Real SCIPgetVarPseudocostScoreCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_Real solval)
 
SCIP_Real SCIPgetVarVSIDS (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarVSIDSCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarConflictScore (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarConflictScoreCurrentRun (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarConflictlengthScore (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarConflictlengthScoreCurrentRun (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarAvgConflictlength (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarAvgConflictlengthCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarAvgInferences (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarAvgInferencesCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarAvgInferenceScore (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarAvgInferenceScoreCurrentRun (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPinitVarBranchStats (SCIP *scip, SCIP_VAR *var, SCIP_Real downpscost, SCIP_Real uppscost, SCIP_Real downvsids, SCIP_Real upvsids, SCIP_Real downconflen, SCIP_Real upconflen, SCIP_Real downinfer, SCIP_Real upinfer, SCIP_Real downcutoff, SCIP_Real upcutoff)
 
SCIP_RETCODE SCIPinitVarValueBranchStats (SCIP *scip, SCIP_VAR *var, SCIP_Real value, SCIP_Real downvsids, SCIP_Real upvsids, SCIP_Real downconflen, SCIP_Real upconflen, SCIP_Real downinfer, SCIP_Real upinfer, SCIP_Real downcutoff, SCIP_Real upcutoff)
 
SCIP_Real SCIPgetVarAvgCutoffs (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarAvgCutoffsCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetVarAvgCutoffScore (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarAvgCutoffScoreCurrentRun (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarAvgInferenceCutoffScore (SCIP *scip, SCIP_VAR *var, SCIP_Real cutoffweight)
 
SCIP_Real SCIPgetVarAvgInferenceCutoffScoreCurrentRun (SCIP *scip, SCIP_VAR *var, SCIP_Real cutoffweight)
 
SCIP_RETCODE SCIPprintVar (SCIP *scip, SCIP_VAR *var, FILE *file)
 
SCIP_Bool SCIPisConflictAnalysisApplicable (SCIP *scip)
 
SCIP_RETCODE SCIPinitConflictAnalysis (SCIP *scip)
 
SCIP_RETCODE SCIPaddConflictLb (SCIP *scip, SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx)
 
SCIP_RETCODE SCIPaddConflictRelaxedLb (SCIP *scip, SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Real relaxedlb)
 
SCIP_RETCODE SCIPaddConflictUb (SCIP *scip, SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx)
 
SCIP_RETCODE SCIPaddConflictRelaxedUb (SCIP *scip, SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Real relaxedub)
 
SCIP_RETCODE SCIPaddConflictBd (SCIP *scip, SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx)
 
SCIP_RETCODE SCIPaddConflictRelaxedBd (SCIP *scip, SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Real relaxedbd)
 
SCIP_RETCODE SCIPaddConflictBinvar (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPisConflictVarUsed (SCIP *scip, SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool *used)
 
SCIP_Real SCIPgetConflictVarLb (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetConflictVarUb (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPanalyzeConflict (SCIP *scip, int validdepth, SCIP_Bool *success)
 
SCIP_RETCODE SCIPanalyzeConflictCons (SCIP *scip, SCIP_CONS *cons, SCIP_Bool *success)
 
SCIP_RETCODE SCIPcreateCons (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_CONSHDLR *conshdlr, SCIP_CONSDATA *consdata, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)
 
SCIP_RETCODE SCIPparseCons (SCIP *scip, SCIP_CONS **cons, const char *str, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode, SCIP_Bool *success)
 
SCIP_RETCODE SCIPcaptureCons (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPreleaseCons (SCIP *scip, SCIP_CONS **cons)
 
SCIP_RETCODE SCIPchgConsName (SCIP *scip, SCIP_CONS *cons, const char *name)
 
SCIP_RETCODE SCIPsetConsInitial (SCIP *scip, SCIP_CONS *cons, SCIP_Bool initial)
 
SCIP_RETCODE SCIPsetConsSeparated (SCIP *scip, SCIP_CONS *cons, SCIP_Bool separate)
 
SCIP_RETCODE SCIPsetConsEnforced (SCIP *scip, SCIP_CONS *cons, SCIP_Bool enforce)
 
SCIP_RETCODE SCIPsetConsChecked (SCIP *scip, SCIP_CONS *cons, SCIP_Bool check)
 
SCIP_RETCODE SCIPsetConsPropagated (SCIP *scip, SCIP_CONS *cons, SCIP_Bool propagate)
 
SCIP_RETCODE SCIPsetConsLocal (SCIP *scip, SCIP_CONS *cons, SCIP_Bool local)
 
SCIP_RETCODE SCIPsetConsModifiable (SCIP *scip, SCIP_CONS *cons, SCIP_Bool modifiable)
 
SCIP_RETCODE SCIPsetConsDynamic (SCIP *scip, SCIP_CONS *cons, SCIP_Bool dynamic)
 
SCIP_RETCODE SCIPsetConsRemovable (SCIP *scip, SCIP_CONS *cons, SCIP_Bool removable)
 
SCIP_RETCODE SCIPsetConsStickingAtNode (SCIP *scip, SCIP_CONS *cons, SCIP_Bool stickingatnode)
 
SCIP_RETCODE SCIPupdateConsFlags (SCIP *scip, SCIP_CONS *cons0, SCIP_CONS *cons1)
 
SCIP_RETCODE SCIPtransformCons (SCIP *scip, SCIP_CONS *cons, SCIP_CONS **transcons)
 
SCIP_RETCODE SCIPtransformConss (SCIP *scip, int nconss, SCIP_CONS **conss, SCIP_CONS **transconss)
 
SCIP_RETCODE SCIPgetTransformedCons (SCIP *scip, SCIP_CONS *cons, SCIP_CONS **transcons)
 
SCIP_RETCODE SCIPgetTransformedConss (SCIP *scip, int nconss, SCIP_CONS **conss, SCIP_CONS **transconss)
 
SCIP_RETCODE SCIPaddConsAge (SCIP *scip, SCIP_CONS *cons, SCIP_Real deltaage)
 
SCIP_RETCODE SCIPincConsAge (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPresetConsAge (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPenableCons (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPdisableCons (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPenableConsSeparation (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPdisableConsSeparation (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPenableConsPropagation (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPdisableConsPropagation (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPmarkConsPropagate (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPunmarkConsPropagate (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPaddConsLocks (SCIP *scip, SCIP_CONS *cons, int nlockspos, int nlocksneg)
 
SCIP_RETCODE SCIPcheckCons (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool printreason, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPenfopsCons (SCIP *scip, SCIP_CONS *cons, SCIP_Bool solinfeasible, SCIP_Bool objinfeasible, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPenfolpCons (SCIP *scip, SCIP_CONS *cons, SCIP_Bool solinfeasible, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPinitlpCons (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPsepalpCons (SCIP *scip, SCIP_CONS *cons, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPsepasolCons (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPpropCons (SCIP *scip, SCIP_CONS *cons, SCIP_PROPTIMING proptiming, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPrespropCons (SCIP *scip, SCIP_CONS *cons, SCIP_VAR *infervar, int inferinfo, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Real relaxedbd, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPpresolCons (SCIP *scip, SCIP_CONS *cons, int nrounds, SCIP_PRESOLTIMING presoltiming, int nnewfixedvars, int nnewaggrvars, int nnewchgvartypes, int nnewchgbds, int nnewholes, int nnewdelconss, int nnewaddconss, int nnewupgdconss, int nnewchgcoefs, int nnewchgsides, int *nfixedvars, int *naggrvars, int *nchgvartypes, int *nchgbds, int *naddholes, int *ndelconss, int *naddconss, int *nupgdconss, int *nchgcoefs, int *nchgsides, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPactiveCons (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPdeactiveCons (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPprintCons (SCIP *scip, SCIP_CONS *cons, FILE *file)
 
SCIP_RETCODE SCIPgetConsVars (SCIP *scip, SCIP_CONS *cons, SCIP_VAR **vars, int varssize, SCIP_Bool *success)
 
SCIP_RETCODE SCIPgetConsNVars (SCIP *scip, SCIP_CONS *cons, int *nvars, SCIP_Bool *success)
 
SCIP_Bool SCIPhasCurrentNodeLP (SCIP *scip)
 
SCIP_Bool SCIPisLPConstructed (SCIP *scip)
 
SCIP_RETCODE SCIPconstructLP (SCIP *scip, SCIP_Bool *cutoff)
 
SCIP_RETCODE SCIPflushLP (SCIP *scip)
 
SCIP_LPSOLSTAT SCIPgetLPSolstat (SCIP *scip)
 
SCIP_Bool SCIPisLPRelax (SCIP *scip)
 
SCIP_Real SCIPgetLPObjval (SCIP *scip)
 
SCIP_Real SCIPgetLPColumnObjval (SCIP *scip)
 
SCIP_Real SCIPgetLPLooseObjval (SCIP *scip)
 
SCIP_Real SCIPgetGlobalPseudoObjval (SCIP *scip)
 
SCIP_Real SCIPgetPseudoObjval (SCIP *scip)
 
SCIP_Bool SCIPisRootLPRelax (SCIP *scip)
 
SCIP_Real SCIPgetLPRootObjval (SCIP *scip)
 
SCIP_Real SCIPgetLPRootColumnObjval (SCIP *scip)
 
SCIP_Real SCIPgetLPRootLooseObjval (SCIP *scip)
 
SCIP_RETCODE SCIPgetLPColsData (SCIP *scip, SCIP_COL ***cols, int *ncols)
 
SCIP_COL ** SCIPgetLPCols (SCIP *scip)
 
int SCIPgetNLPCols (SCIP *scip)
 
SCIP_RETCODE SCIPgetLPRowsData (SCIP *scip, SCIP_ROW ***rows, int *nrows)
 
SCIP_ROW ** SCIPgetLPRows (SCIP *scip)
 
int SCIPgetNLPRows (SCIP *scip)
 
SCIP_Bool SCIPallColsInLP (SCIP *scip)
 
SCIP_Bool SCIPisLPSolBasic (SCIP *scip)
 
SCIP_RETCODE SCIPgetLPBasisInd (SCIP *scip, int *basisind)
 
SCIP_RETCODE SCIPgetLPBInvRow (SCIP *scip, int r, SCIP_Real *coefs, int *inds, int *ninds)
 
SCIP_RETCODE SCIPgetLPBInvCol (SCIP *scip, int c, SCIP_Real *coefs, int *inds, int *ninds)
 
SCIP_RETCODE SCIPgetLPBInvARow (SCIP *scip, int r, SCIP_Real *binvrow, SCIP_Real *coefs, int *inds, int *ninds)
 
SCIP_RETCODE SCIPgetLPBInvACol (SCIP *scip, int c, SCIP_Real *coefs, int *inds, int *ninds)
 
SCIP_RETCODE SCIPsumLPRows (SCIP *scip, SCIP_Real *weights, SCIP_REALARRAY *sumcoef, SCIP_Real *sumlhs, SCIP_Real *sumrhs)
 
SCIP_RETCODE SCIPcalcMIR (SCIP *scip, SCIP_SOL *sol, SCIP_Real boundswitch, SCIP_Bool usevbds, SCIP_Bool allowlocal, SCIP_Bool fixintegralrhs, int *boundsfortrans, SCIP_BOUNDTYPE *boundtypesfortrans, int maxmksetcoefs, SCIP_Real maxweightrange, SCIP_Real minfrac, SCIP_Real maxfrac, SCIP_Real *weights, SCIP_Real maxweight, int *weightinds, int nweightinds, int rowlensum, int *sidetypes, SCIP_Real scale, SCIP_Real *mksetcoefs, SCIP_Bool *mksetcoefsvalid, SCIP_Real *mircoef, SCIP_Real *mirrhs, SCIP_Real *cutactivity, SCIP_Bool *success, SCIP_Bool *cutislocal, int *cutrank)
 
SCIP_RETCODE SCIPcalcStrongCG (SCIP *scip, SCIP_Real boundswitch, SCIP_Bool usevbds, SCIP_Bool allowlocal, int maxmksetcoefs, SCIP_Real maxweightrange, SCIP_Real minfrac, SCIP_Real maxfrac, SCIP_Real *weights, int *inds, int ninds, SCIP_Real scale, SCIP_Real *mircoef, SCIP_Real *mirrhs, SCIP_Real *cutactivity, SCIP_Bool *success, SCIP_Bool *cutislocal, int *cutrank)
 
SCIP_RETCODE SCIPwriteLP (SCIP *scip, const char *filename)
 
SCIP_RETCODE SCIPwriteMIP (SCIP *scip, const char *filename, SCIP_Bool genericnames, SCIP_Bool origobj, SCIP_Bool lazyconss)
 
SCIP_RETCODE SCIPgetLPI (SCIP *scip, SCIP_LPI **lpi)
 
SCIP_RETCODE SCIPprintLPSolutionQuality (SCIP *scip, FILE *file)
 
SCIP_RETCODE SCIPcomputeLPRelIntPoint (SCIP *scip, SCIP_Bool relaxrows, SCIP_Bool inclobjcutoff, SCIP_Real timelimit, int iterlimit, SCIP_SOL **point)
 
SCIP_Real SCIPgetColRedcost (SCIP *scip, SCIP_COL *col)
 
SCIP_Real SCIPgetColFarkasCoef (SCIP *scip, SCIP_COL *col)
 
void SCIPmarkColNotRemovableLocal (SCIP *scip, SCIP_COL *col)
 
SCIP_RETCODE SCIPcreateRowCons (SCIP *scip, SCIP_ROW **row, SCIP_CONSHDLR *conshdlr, const char *name, int len, SCIP_COL **cols, SCIP_Real *vals, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool removable)
 
SCIP_RETCODE SCIPcreateRowSepa (SCIP *scip, SCIP_ROW **row, SCIP_SEPA *sepa, const char *name, int len, SCIP_COL **cols, SCIP_Real *vals, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool removable)
 
SCIP_RETCODE SCIPcreateRowUnspec (SCIP *scip, SCIP_ROW **row, const char *name, int len, SCIP_COL **cols, SCIP_Real *vals, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool removable)
 
SCIP_RETCODE SCIPcreateRow (SCIP *scip, SCIP_ROW **row, const char *name, int len, SCIP_COL **cols, SCIP_Real *vals, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool removable)
 
SCIP_RETCODE SCIPcreateEmptyRowCons (SCIP *scip, SCIP_ROW **row, SCIP_CONSHDLR *conshdlr, const char *name, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool removable)
 
SCIP_RETCODE SCIPcreateEmptyRowSepa (SCIP *scip, SCIP_ROW **row, SCIP_SEPA *sepa, const char *name, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool removable)
 
SCIP_RETCODE SCIPcreateEmptyRowUnspec (SCIP *scip, SCIP_ROW **row, const char *name, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool removable)
 
SCIP_RETCODE SCIPcreateEmptyRow (SCIP *scip, SCIP_ROW **row, const char *name, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool removable)
 
SCIP_RETCODE SCIPcaptureRow (SCIP *scip, SCIP_ROW *row)
 
SCIP_RETCODE SCIPreleaseRow (SCIP *scip, SCIP_ROW **row)
 
SCIP_RETCODE SCIPchgRowLhs (SCIP *scip, SCIP_ROW *row, SCIP_Real lhs)
 
SCIP_RETCODE SCIPchgRowRhs (SCIP *scip, SCIP_ROW *row, SCIP_Real rhs)
 
SCIP_RETCODE SCIPcacheRowExtensions (SCIP *scip, SCIP_ROW *row)
 
SCIP_RETCODE SCIPflushRowExtensions (SCIP *scip, SCIP_ROW *row)
 
SCIP_RETCODE SCIPaddVarToRow (SCIP *scip, SCIP_ROW *row, SCIP_VAR *var, SCIP_Real val)
 
SCIP_RETCODE SCIPaddVarsToRow (SCIP *scip, SCIP_ROW *row, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
 
SCIP_RETCODE SCIPaddVarsToRowSameCoef (SCIP *scip, SCIP_ROW *row, int nvars, SCIP_VAR **vars, SCIP_Real val)
 
SCIP_RETCODE SCIPcalcRowIntegralScalar (SCIP *scip, SCIP_ROW *row, SCIP_Real mindelta, SCIP_Real maxdelta, SCIP_Longint maxdnom, SCIP_Real maxscale, SCIP_Bool usecontvars, SCIP_Real *intscalar, SCIP_Bool *success)
 
SCIP_RETCODE SCIPmakeRowIntegral (SCIP *scip, SCIP_ROW *row, SCIP_Real mindelta, SCIP_Real maxdelta, SCIP_Longint maxdnom, SCIP_Real maxscale, SCIP_Bool usecontvars, SCIP_Bool *success)
 
void SCIPmarkRowNotRemovableLocal (SCIP *scip, SCIP_ROW *row)
 
SCIP_Real SCIPgetRowMinCoef (SCIP *scip, SCIP_ROW *row)
 
SCIP_Real SCIPgetRowMaxCoef (SCIP *scip, SCIP_ROW *row)
 
SCIP_Real SCIPgetRowMinActivity (SCIP *scip, SCIP_ROW *row)
 
SCIP_Real SCIPgetRowMaxActivity (SCIP *scip, SCIP_ROW *row)
 
SCIP_RETCODE SCIPrecalcRowLPActivity (SCIP *scip, SCIP_ROW *row)
 
SCIP_Real SCIPgetRowLPActivity (SCIP *scip, SCIP_ROW *row)
 
SCIP_Real SCIPgetRowLPFeasibility (SCIP *scip, SCIP_ROW *row)
 
SCIP_RETCODE SCIPrecalcRowPseudoActivity (SCIP *scip, SCIP_ROW *row)
 
SCIP_Real SCIPgetRowPseudoActivity (SCIP *scip, SCIP_ROW *row)
 
SCIP_Real SCIPgetRowPseudoFeasibility (SCIP *scip, SCIP_ROW *row)
 
SCIP_RETCODE SCIPrecalcRowActivity (SCIP *scip, SCIP_ROW *row)
 
SCIP_Real SCIPgetRowActivity (SCIP *scip, SCIP_ROW *row)
 
SCIP_Real SCIPgetRowFeasibility (SCIP *scip, SCIP_ROW *row)
 
SCIP_Real SCIPgetRowSolActivity (SCIP *scip, SCIP_ROW *row, SCIP_SOL *sol)
 
SCIP_Real SCIPgetRowSolFeasibility (SCIP *scip, SCIP_ROW *row, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPprintRow (SCIP *scip, SCIP_ROW *row, FILE *file)
 
SCIP_Bool SCIPisNLPEnabled (SCIP *scip)
 
void SCIPenableNLP (SCIP *scip)
 
SCIP_Bool SCIPisNLPConstructed (SCIP *scip)
 
SCIP_Bool SCIPhasNLPContinuousNonlinearity (SCIP *scip)
 
SCIP_RETCODE SCIPgetNLPVarsData (SCIP *scip, SCIP_VAR ***vars, int *nvars)
 
SCIP_VAR ** SCIPgetNLPVars (SCIP *scip)
 
int SCIPgetNNLPVars (SCIP *scip)
 
SCIP_RETCODE SCIPgetNLPVarsNonlinearity (SCIP *scip, int *nlcount)
 
SCIP_RealSCIPgetNLPVarsLbDualsol (SCIP *scip)
 
SCIP_RealSCIPgetNLPVarsUbDualsol (SCIP *scip)
 
SCIP_RETCODE SCIPgetNLPNlRowsData (SCIP *scip, SCIP_NLROW ***nlrows, int *nnlrows)
 
SCIP_NLROW ** SCIPgetNLPNlRows (SCIP *scip)
 
int SCIPgetNNLPNlRows (SCIP *scip)
 
SCIP_RETCODE SCIPaddNlRow (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_RETCODE SCIPflushNLP (SCIP *scip)
 
SCIP_RETCODE SCIPsetNLPInitialGuess (SCIP *scip, SCIP_Real *initialguess)
 
SCIP_RETCODE SCIPsetNLPInitialGuessSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPsolveNLP (SCIP *scip)
 
SCIP_NLPSOLSTAT SCIPgetNLPSolstat (SCIP *scip)
 
SCIP_NLPTERMSTAT SCIPgetNLPTermstat (SCIP *scip)
 
SCIP_RETCODE SCIPgetNLPStatistics (SCIP *scip, SCIP_NLPSTATISTICS *statistics)
 
SCIP_Real SCIPgetNLPObjval (SCIP *scip)
 
SCIP_Bool SCIPhasNLPSolution (SCIP *scip)
 
SCIP_RETCODE SCIPgetNLPFracVars (SCIP *scip, SCIP_VAR ***fracvars, SCIP_Real **fracvarssol, SCIP_Real **fracvarsfrac, int *nfracvars, int *npriofracvars)
 
SCIP_RETCODE SCIPgetNLPIntPar (SCIP *scip, SCIP_NLPPARAM type, int *ival)
 
SCIP_RETCODE SCIPsetNLPIntPar (SCIP *scip, SCIP_NLPPARAM type, int ival)
 
SCIP_RETCODE SCIPgetNLPRealPar (SCIP *scip, SCIP_NLPPARAM type, SCIP_Real *dval)
 
SCIP_RETCODE SCIPsetNLPRealPar (SCIP *scip, SCIP_NLPPARAM type, SCIP_Real dval)
 
SCIP_RETCODE SCIPgetNLPStringPar (SCIP *scip, SCIP_NLPPARAM type, const char **sval)
 
SCIP_RETCODE SCIPsetNLPStringPar (SCIP *scip, SCIP_NLPPARAM type, const char *sval)
 
SCIP_RETCODE SCIPwriteNLP (SCIP *scip, const char *filename)
 
SCIP_RETCODE SCIPgetNLPI (SCIP *scip, SCIP_NLPI **nlpi, SCIP_NLPIPROBLEM **nlpiproblem)
 
SCIP_RETCODE SCIPcreateNlRow (SCIP *scip, SCIP_NLROW **nlrow, const char *name, SCIP_Real constant, int nlinvars, SCIP_VAR **linvars, SCIP_Real *lincoefs, int nquadvars, SCIP_VAR **quadvars, int nquadelems, SCIP_QUADELEM *quadelems, SCIP_EXPRTREE *expression, SCIP_Real lhs, SCIP_Real rhs)
 
SCIP_RETCODE SCIPcreateEmptyNlRow (SCIP *scip, SCIP_NLROW **nlrow, const char *name, SCIP_Real lhs, SCIP_Real rhs)
 
SCIP_RETCODE SCIPcreateNlRowFromRow (SCIP *scip, SCIP_NLROW **nlrow, SCIP_ROW *row)
 
SCIP_RETCODE SCIPcaptureNlRow (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_RETCODE SCIPreleaseNlRow (SCIP *scip, SCIP_NLROW **nlrow)
 
SCIP_RETCODE SCIPchgNlRowLhs (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real lhs)
 
SCIP_RETCODE SCIPchgNlRowRhs (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real rhs)
 
SCIP_RETCODE SCIPchgNlRowConstant (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real constant)
 
SCIP_RETCODE SCIPaddLinearCoefToNlRow (SCIP *scip, SCIP_NLROW *nlrow, SCIP_VAR *var, SCIP_Real val)
 
SCIP_RETCODE SCIPaddLinearCoefsToNlRow (SCIP *scip, SCIP_NLROW *nlrow, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
 
SCIP_RETCODE SCIPchgNlRowLinearCoef (SCIP *scip, SCIP_NLROW *nlrow, SCIP_VAR *var, SCIP_Real coef)
 
SCIP_RETCODE SCIPaddQuadVarToNlRow (SCIP *scip, SCIP_NLROW *nlrow, SCIP_VAR *var)
 
SCIP_RETCODE SCIPaddQuadVarsToNlRow (SCIP *scip, SCIP_NLROW *nlrow, int nvars, SCIP_VAR **vars)
 
SCIP_RETCODE SCIPaddQuadElementToNlRow (SCIP *scip, SCIP_NLROW *nlrow, SCIP_QUADELEM quadelem)
 
SCIP_RETCODE SCIPaddQuadElementsToNlRow (SCIP *scip, SCIP_NLROW *nlrow, int nquadelems, SCIP_QUADELEM *quadelems)
 
SCIP_RETCODE SCIPchgNlRowQuadElement (SCIP *scip, SCIP_NLROW *nlrow, SCIP_QUADELEM quadelement)
 
SCIP_RETCODE SCIPsetNlRowExprtree (SCIP *scip, SCIP_NLROW *nlrow, SCIP_EXPRTREE *exprtree)
 
SCIP_RETCODE SCIPsetNlRowExprtreeParam (SCIP *scip, SCIP_NLROW *nlrow, int paramidx, SCIP_Real paramval)
 
SCIP_RETCODE SCIPsetNlRowExprtreeParams (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *paramvals)
 
SCIP_RETCODE SCIPrecalcNlRowNLPActivity (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_RETCODE SCIPgetNlRowNLPActivity (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *activity)
 
SCIP_RETCODE SCIPgetNlRowNLPFeasibility (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *feasibility)
 
SCIP_RETCODE SCIPrecalcNlRowPseudoActivity (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_RETCODE SCIPgetNlRowPseudoActivity (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *pseudoactivity)
 
SCIP_RETCODE SCIPgetNlRowPseudoFeasibility (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *pseudofeasibility)
 
SCIP_RETCODE SCIPrecalcNlRowActivity (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_RETCODE SCIPgetNlRowActivity (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *activity)
 
SCIP_RETCODE SCIPgetNlRowFeasibility (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *feasibility)
 
SCIP_RETCODE SCIPgetNlRowSolActivity (SCIP *scip, SCIP_NLROW *nlrow, SCIP_SOL *sol, SCIP_Real *activity)
 
SCIP_RETCODE SCIPgetNlRowSolFeasibility (SCIP *scip, SCIP_NLROW *nlrow, SCIP_SOL *sol, SCIP_Real *feasibility)
 
SCIP_RETCODE SCIPgetNlRowActivityBounds (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *minactivity, SCIP_Real *maxactivity)
 
SCIP_RETCODE SCIPprintNlRow (SCIP *scip, SCIP_NLROW *nlrow, FILE *file)
 
SCIP_Real SCIPgetCutEfficacy (SCIP *scip, SCIP_SOL *sol, SCIP_ROW *cut)
 
SCIP_Bool SCIPisCutEfficacious (SCIP *scip, SCIP_SOL *sol, SCIP_ROW *cut)
 
SCIP_Bool SCIPisEfficacious (SCIP *scip, SCIP_Real efficacy)
 
SCIP_Real SCIPgetVectorEfficacyNorm (SCIP *scip, SCIP_Real *vals, int nvals)
 
SCIP_Bool SCIPisCutApplicable (SCIP *scip, SCIP_ROW *cut)
 
SCIP_RETCODE SCIPaddCut (SCIP *scip, SCIP_SOL *sol, SCIP_ROW *cut, SCIP_Bool forcecut, SCIP_Bool *infeasible)
 
SCIP_RETCODE SCIPaddPoolCut (SCIP *scip, SCIP_ROW *row)
 
SCIP_RETCODE SCIPdelPoolCut (SCIP *scip, SCIP_ROW *row)
 
SCIP_CUT ** SCIPgetPoolCuts (SCIP *scip)
 
int SCIPgetNPoolCuts (SCIP *scip)
 
SCIP_CUTPOOLSCIPgetGlobalCutpool (SCIP *scip)
 
SCIP_RETCODE SCIPcreateCutpool (SCIP *scip, SCIP_CUTPOOL **cutpool, int agelimit)
 
SCIP_RETCODE SCIPfreeCutpool (SCIP *scip, SCIP_CUTPOOL **cutpool)
 
SCIP_RETCODE SCIPaddRowCutpool (SCIP *scip, SCIP_CUTPOOL *cutpool, SCIP_ROW *row)
 
SCIP_RETCODE SCIPaddNewRowCutpool (SCIP *scip, SCIP_CUTPOOL *cutpool, SCIP_ROW *row)
 
SCIP_RETCODE SCIPdelRowCutpool (SCIP *scip, SCIP_CUTPOOL *cutpool, SCIP_ROW *row)
 
SCIP_RETCODE SCIPseparateCutpool (SCIP *scip, SCIP_CUTPOOL *cutpool, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPseparateSolCutpool (SCIP *scip, SCIP_CUTPOOL *cutpool, SCIP_SOL *sol, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPaddDelayedPoolCut (SCIP *scip, SCIP_ROW *row)
 
SCIP_RETCODE SCIPdelDelayedPoolCut (SCIP *scip, SCIP_ROW *row)
 
SCIP_CUT ** SCIPgetDelayedPoolCuts (SCIP *scip)
 
int SCIPgetNDelayedPoolCuts (SCIP *scip)
 
SCIP_CUTPOOLSCIPgetDelayedGlobalCutpool (SCIP *scip)
 
SCIP_RETCODE SCIPseparateSol (SCIP *scip, SCIP_SOL *sol, SCIP_Bool pretendroot, SCIP_Bool onlydelayed, SCIP_Bool *delayed, SCIP_Bool *cutoff)
 
SCIP_ROW ** SCIPgetCuts (SCIP *scip)
 
int SCIPgetNCuts (SCIP *scip)
 
SCIP_RETCODE SCIPclearCuts (SCIP *scip)
 
SCIP_RETCODE SCIPremoveInefficaciousCuts (SCIP *scip)
 
SCIP_Real SCIPgetRelaxFeastolFactor (SCIP *scip)
 
SCIP_RETCODE SCIPstartDive (SCIP *scip)
 
SCIP_RETCODE SCIPendDive (SCIP *scip)
 
SCIP_RETCODE SCIPchgCutoffboundDive (SCIP *scip, SCIP_Real newcutoffbound)
 
SCIP_RETCODE SCIPchgVarObjDive (SCIP *scip, SCIP_VAR *var, SCIP_Real newobj)
 
SCIP_RETCODE SCIPchgVarLbDive (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarUbDive (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPaddRowDive (SCIP *scip, SCIP_ROW *row)
 
SCIP_RETCODE SCIPchgRowLhsDive (SCIP *scip, SCIP_ROW *row, SCIP_Real newlhs)
 
SCIP_RETCODE SCIPchgRowRhsDive (SCIP *scip, SCIP_ROW *row, SCIP_Real newrhs)
 
SCIP_Real SCIPgetVarObjDive (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarLbDive (SCIP *scip, SCIP_VAR *var)
 
SCIP_Real SCIPgetVarUbDive (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPsolveDiveLP (SCIP *scip, int itlim, SCIP_Bool *lperror, SCIP_Bool *cutoff)
 
SCIP_Longint SCIPgetLastDivenode (SCIP *scip)
 
SCIP_Bool SCIPinDive (SCIP *scip)
 
SCIP_Bool SCIPinProbing (SCIP *scip)
 
SCIP_RETCODE SCIPstartProbing (SCIP *scip)
 
SCIP_RETCODE SCIPnewProbingNode (SCIP *scip)
 
int SCIPgetProbingDepth (SCIP *scip)
 
SCIP_RETCODE SCIPbacktrackProbing (SCIP *scip, int probingdepth)
 
SCIP_RETCODE SCIPendProbing (SCIP *scip)
 
SCIP_RETCODE SCIPchgVarLbProbing (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_RETCODE SCIPchgVarUbProbing (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
 
SCIP_Real SCIPgetVarObjProbing (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPfixVarProbing (SCIP *scip, SCIP_VAR *var, SCIP_Real fixedval)
 
SCIP_RETCODE SCIPchgVarObjProbing (SCIP *scip, SCIP_VAR *var, SCIP_Real newobj)
 
SCIP_RETCODE SCIPpropagateProbing (SCIP *scip, int maxproprounds, SCIP_Bool *cutoff, SCIP_Longint *ndomredsfound)
 
SCIP_RETCODE SCIPpropagateProbingImplications (SCIP *scip, SCIP_Bool *cutoff)
 
static SCIP_RETCODE solveProbingLP (SCIP *scip, int itlim, SCIP_Bool pricing, SCIP_Bool pretendroot, SCIP_Bool displayinfo, int maxpricerounds, SCIP_Bool *lperror, SCIP_Bool *cutoff)
 
SCIP_RETCODE SCIPsolveProbingLP (SCIP *scip, int itlim, SCIP_Bool *lperror, SCIP_Bool *cutoff)
 
SCIP_RETCODE SCIPsolveProbingLPWithPricing (SCIP *scip, SCIP_Bool pretendroot, SCIP_Bool displayinfo, int maxpricerounds, SCIP_Bool *lperror, SCIP_Bool *cutoff)
 
SCIP_RETCODE SCIPaddRowProbing (SCIP *scip, SCIP_ROW *row)
 
SCIP_RETCODE SCIPapplyCutsProbing (SCIP *scip, SCIP_Bool *cutoff)
 
SCIP_RETCODE SCIPgetDivesetScore (SCIP *scip, SCIP_DIVESET *diveset, SCIP_DIVETYPE divetype, SCIP_VAR *divecand, SCIP_Real divecandsol, SCIP_Real divecandfrac, SCIP_Real *candscore, SCIP_Bool *roundup)
 
void SCIPupdateDivesetLPStats (SCIP *scip, SCIP_DIVESET *diveset, SCIP_Longint niterstoadd)
 
void SCIPupdateDivesetStats (SCIP *scip, SCIP_DIVESET *diveset, int nprobingnodes, int nbacktracks, SCIP_Longint nsolsfound, SCIP_Longint nbestsolsfound, SCIP_Bool leavewassol)
 
SCIP_RETCODE SCIPgetDiveBoundChanges (SCIP *scip, SCIP_DIVESET *diveset, SCIP_SOL *sol, SCIP_Bool *success, SCIP_Bool *infeasible)
 
SCIP_RETCODE SCIPaddDiveBoundChange (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Bool preferred)
 
void SCIPgetDiveBoundChangeData (SCIP *scip, SCIP_VAR ***variables, SCIP_BRANCHDIR **directions, SCIP_Real **values, int *ndivebdchgs, SCIP_Bool preferred)
 
void SCIPclearDiveBoundChanges (SCIP *scip)
 
SCIP_RETCODE SCIPgetLPBranchCands (SCIP *scip, SCIP_VAR ***lpcands, SCIP_Real **lpcandssol, SCIP_Real **lpcandsfrac, int *nlpcands, int *npriolpcands, int *nfracimplvars)
 
int SCIPgetNLPBranchCands (SCIP *scip)
 
int SCIPgetNPrioLPBranchCands (SCIP *scip)
 
SCIP_RETCODE SCIPgetExternBranchCands (SCIP *scip, SCIP_VAR ***externcands, SCIP_Real **externcandssol, SCIP_Real **externcandsscore, int *nexterncands, int *nprioexterncands, int *nprioexternbins, int *nprioexternints, int *nprioexternimpls)
 
int SCIPgetNExternBranchCands (SCIP *scip)
 
int SCIPgetNPrioExternBranchCands (SCIP *scip)
 
int SCIPgetNPrioExternBranchBins (SCIP *scip)
 
int SCIPgetNPrioExternBranchInts (SCIP *scip)
 
int SCIPgetNPrioExternBranchImpls (SCIP *scip)
 
int SCIPgetNPrioExternBranchConts (SCIP *scip)
 
SCIP_RETCODE SCIPaddExternBranchCand (SCIP *scip, SCIP_VAR *var, SCIP_Real score, SCIP_Real solval)
 
void SCIPclearExternBranchCands (SCIP *scip)
 
SCIP_Bool SCIPcontainsExternBranchCand (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPgetPseudoBranchCands (SCIP *scip, SCIP_VAR ***pseudocands, int *npseudocands, int *npriopseudocands)
 
int SCIPgetNPseudoBranchCands (SCIP *scip)
 
int SCIPgetNPrioPseudoBranchCands (SCIP *scip)
 
int SCIPgetNPrioPseudoBranchBins (SCIP *scip)
 
int SCIPgetNPrioPseudoBranchInts (SCIP *scip)
 
int SCIPgetNPrioPseudoBranchImpls (SCIP *scip)
 
SCIP_Real SCIPgetBranchScore (SCIP *scip, SCIP_VAR *var, SCIP_Real downgain, SCIP_Real upgain)
 
SCIP_Real SCIPgetBranchScoreMultiple (SCIP *scip, SCIP_VAR *var, int nchildren, SCIP_Real *gains)
 
SCIP_Real SCIPgetBranchingPoint (SCIP *scip, SCIP_VAR *var, SCIP_Real suggestion)
 
SCIP_Real SCIPcalcNodeselPriority (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR branchdir, SCIP_Real targetvalue)
 
SCIP_Real SCIPcalcChildEstimate (SCIP *scip, SCIP_VAR *var, SCIP_Real targetvalue)
 
SCIP_RETCODE SCIPcreateChild (SCIP *scip, SCIP_NODE **node, SCIP_Real nodeselprio, SCIP_Real estimate)
 
SCIP_RETCODE SCIPbranchVar (SCIP *scip, SCIP_VAR *var, SCIP_NODE **downchild, SCIP_NODE **eqchild, SCIP_NODE **upchild)
 
SCIP_RETCODE SCIPbranchVarHole (SCIP *scip, SCIP_VAR *var, SCIP_Real left, SCIP_Real right, SCIP_NODE **downchild, SCIP_NODE **upchild)
 
SCIP_RETCODE SCIPbranchVarVal (SCIP *scip, SCIP_VAR *var, SCIP_Real val, SCIP_NODE **downchild, SCIP_NODE **eqchild, SCIP_NODE **upchild)
 
SCIP_RETCODE SCIPbranchVarValNary (SCIP *scip, SCIP_VAR *var, SCIP_Real val, int n, SCIP_Real minwidth, SCIP_Real widthfactor, int *nchildren)
 
SCIP_RETCODE SCIPbranchLP (SCIP *scip, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPbranchExtern (SCIP *scip, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPbranchPseudo (SCIP *scip, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPcreateSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateLPSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateNLPSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateRelaxSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreatePseudoSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateCurrentSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateUnknownSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateOrigSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateSolCopy (SCIP *scip, SCIP_SOL **sol, SCIP_SOL *sourcesol)
 
SCIP_RETCODE SCIPcreateSolCopyOrig (SCIP *scip, SCIP_SOL **sol, SCIP_SOL *sourcesol)
 
SCIP_RETCODE SCIPcreateFiniteSolCopy (SCIP *scip, SCIP_SOL **sol, SCIP_SOL *sourcesol, SCIP_Bool *success)
 
SCIP_RETCODE SCIPfreeSol (SCIP *scip, SCIP_SOL **sol)
 
SCIP_RETCODE SCIPlinkLPSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPlinkNLPSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPlinkRelaxSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPlinkPseudoSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPlinkCurrentSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPclearSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPunlinkSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPsetSolVal (SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var, SCIP_Real val)
 
SCIP_RETCODE SCIPsetSolVals (SCIP *scip, SCIP_SOL *sol, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
 
SCIP_RETCODE SCIPincSolVal (SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var, SCIP_Real incval)
 
SCIP_Real SCIPgetSolVal (SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var)
 
SCIP_RETCODE SCIPgetSolVals (SCIP *scip, SCIP_SOL *sol, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
 
SCIP_Real SCIPgetSolOrigObj (SCIP *scip, SCIP_SOL *sol)
 
SCIP_Real SCIPgetSolTransObj (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPrecomputeSolObj (SCIP *scip, SCIP_SOL *sol)
 
SCIP_Real SCIPtransformObj (SCIP *scip, SCIP_Real obj)
 
SCIP_Real SCIPretransformObj (SCIP *scip, SCIP_Real obj)
 
SCIP_Real SCIPgetSolTime (SCIP *scip, SCIP_SOL *sol)
 
int SCIPgetSolRunnum (SCIP *scip, SCIP_SOL *sol)
 
SCIP_Longint SCIPgetSolNodenum (SCIP *scip, SCIP_SOL *sol)
 
SCIP_HEURSCIPgetSolHeur (SCIP *scip, SCIP_SOL *sol)
 
SCIP_Bool SCIPareSolsEqual (SCIP *scip, SCIP_SOL *sol1, SCIP_SOL *sol2)
 
SCIP_RETCODE SCIPadjustImplicitSolVals (SCIP *scip, SCIP_SOL *sol, SCIP_Bool uselprows)
 
SCIP_RETCODE SCIPprintSol (SCIP *scip, SCIP_SOL *sol, FILE *file, SCIP_Bool printzeros)
 
SCIP_RETCODE SCIPprintTransSol (SCIP *scip, SCIP_SOL *sol, FILE *file, SCIP_Bool printzeros)
 
static SCIP_RETCODE printDualSol (SCIP *scip, FILE *file, SCIP_Bool printzeros)
 
SCIP_RETCODE SCIPprintDualSol (SCIP *scip, FILE *file, SCIP_Bool printzeros)
 
SCIP_RETCODE SCIPprintRay (SCIP *scip, SCIP_SOL *sol, FILE *file, SCIP_Bool printzeros)
 
int SCIPgetNSols (SCIP *scip)
 
SCIP_SOL ** SCIPgetSols (SCIP *scip)
 
SCIP_SOLSCIPgetBestSol (SCIP *scip)
 
SCIP_RETCODE SCIPprintBestSol (SCIP *scip, FILE *file, SCIP_Bool printzeros)
 
SCIP_RETCODE SCIPprintBestTransSol (SCIP *scip, FILE *file, SCIP_Bool printzeros)
 
SCIP_RETCODE SCIProundSol (SCIP *scip, SCIP_SOL *sol, SCIP_Bool *success)
 
SCIP_RETCODE SCIPretransformSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPreadSol (SCIP *scip, const char *filename)
 
SCIP_RETCODE SCIPaddSol (SCIP *scip, SCIP_SOL *sol, SCIP_Bool *stored)
 
SCIP_RETCODE SCIPaddSolFree (SCIP *scip, SCIP_SOL **sol, SCIP_Bool *stored)
 
SCIP_RETCODE SCIPaddCurrentSol (SCIP *scip, SCIP_HEUR *heur, SCIP_Bool *stored)
 
SCIP_RETCODE SCIPtrySol (SCIP *scip, SCIP_SOL *sol, SCIP_Bool printreason, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
 
SCIP_RETCODE SCIPtrySolFree (SCIP *scip, SCIP_SOL **sol, SCIP_Bool printreason, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
 
SCIP_RETCODE SCIPtryCurrentSol (SCIP *scip, SCIP_HEUR *heur, SCIP_Bool printreason, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
 
SCIP_RETCODE SCIPcheckSol (SCIP *scip, SCIP_SOL *sol, SCIP_Bool printreason, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *feasible)
 
SCIP_RETCODE SCIPcheckSolOrig (SCIP *scip, SCIP_SOL *sol, SCIP_Bool *feasible, SCIP_Bool printreason, SCIP_Bool completely)
 
SCIP_Bool SCIPhasPrimalRay (SCIP *scip)
 
SCIP_Real SCIPgetPrimalRayVal (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPcatchEvent (SCIP *scip, SCIP_EVENTTYPE eventtype, SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTDATA *eventdata, int *filterpos)
 
SCIP_RETCODE SCIPdropEvent (SCIP *scip, SCIP_EVENTTYPE eventtype, SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTDATA *eventdata, int filterpos)
 
SCIP_RETCODE SCIPcatchVarEvent (SCIP *scip, SCIP_VAR *var, SCIP_EVENTTYPE eventtype, SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTDATA *eventdata, int *filterpos)
 
SCIP_RETCODE SCIPdropVarEvent (SCIP *scip, SCIP_VAR *var, SCIP_EVENTTYPE eventtype, SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTDATA *eventdata, int filterpos)
 
SCIP_RETCODE SCIPcatchRowEvent (SCIP *scip, SCIP_ROW *row, SCIP_EVENTTYPE eventtype, SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTDATA *eventdata, int *filterpos)
 
SCIP_RETCODE SCIPdropRowEvent (SCIP *scip, SCIP_ROW *row, SCIP_EVENTTYPE eventtype, SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTDATA *eventdata, int filterpos)
 
SCIP_NODESCIPgetCurrentNode (SCIP *scip)
 
SCIP_NODESCIPgetRootNode (SCIP *scip)
 
int SCIPgetEffectiveRootDepth (SCIP *scip)
 
SCIP_Bool SCIPinRepropagation (SCIP *scip)
 
SCIP_RETCODE SCIPgetChildren (SCIP *scip, SCIP_NODE ***children, int *nchildren)
 
int SCIPgetNChildren (SCIP *scip)
 
SCIP_RETCODE SCIPgetSiblings (SCIP *scip, SCIP_NODE ***siblings, int *nsiblings)
 
int SCIPgetNSiblings (SCIP *scip)
 
SCIP_RETCODE SCIPgetLeaves (SCIP *scip, SCIP_NODE ***leaves, int *nleaves)
 
int SCIPgetNLeaves (SCIP *scip)
 
SCIP_NODESCIPgetPrioChild (SCIP *scip)
 
SCIP_NODESCIPgetPrioSibling (SCIP *scip)
 
SCIP_NODESCIPgetBestChild (SCIP *scip)
 
SCIP_NODESCIPgetBestSibling (SCIP *scip)
 
SCIP_NODESCIPgetBestLeaf (SCIP *scip)
 
SCIP_NODESCIPgetBestNode (SCIP *scip)
 
SCIP_NODESCIPgetBestboundNode (SCIP *scip)
 
SCIP_RETCODE SCIPgetOpenNodesData (SCIP *scip, SCIP_NODE ***leaves, SCIP_NODE ***children, SCIP_NODE ***siblings, int *nleaves, int *nchildren, int *nsiblings)
 
SCIP_RETCODE SCIPcutoffNode (SCIP *scip, SCIP_NODE *node)
 
SCIP_RETCODE SCIPrepropagateNode (SCIP *scip, SCIP_NODE *node)
 
int SCIPgetCutoffdepth (SCIP *scip)
 
int SCIPgetRepropdepth (SCIP *scip)
 
SCIP_RETCODE SCIPprintNodeRootPath (SCIP *scip, SCIP_NODE *node, FILE *file)
 
void SCIPsetFocusnodeLP (SCIP *scip, SCIP_Bool solvelp)
 
int SCIPgetNRuns (SCIP *scip)
 
int SCIPgetNReoptRuns (SCIP *scip)
 
SCIP_Longint SCIPgetNNodes (SCIP *scip)
 
SCIP_Longint SCIPgetNTotalNodes (SCIP *scip)
 
int SCIPgetNNodesLeft (SCIP *scip)
 
SCIP_Longint SCIPgetNLPs (SCIP *scip)
 
SCIP_Longint SCIPgetNLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNRootLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNRootFirstLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNPrimalLPs (SCIP *scip)
 
SCIP_Longint SCIPgetNPrimalLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNDualLPs (SCIP *scip)
 
SCIP_Longint SCIPgetNDualLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNBarrierLPs (SCIP *scip)
 
SCIP_Longint SCIPgetNBarrierLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNResolveLPs (SCIP *scip)
 
SCIP_Longint SCIPgetNResolveLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNPrimalResolveLPs (SCIP *scip)
 
SCIP_Longint SCIPgetNPrimalResolveLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNDualResolveLPs (SCIP *scip)
 
SCIP_Longint SCIPgetNDualResolveLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNNodeLPs (SCIP *scip)
 
SCIP_Longint SCIPgetNNodeLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNNodeInitLPs (SCIP *scip)
 
SCIP_Longint SCIPgetNNodeInitLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNDivingLPs (SCIP *scip)
 
SCIP_Longint SCIPgetNDivingLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNStrongbranchs (SCIP *scip)
 
SCIP_Longint SCIPgetNStrongbranchLPIterations (SCIP *scip)
 
SCIP_Longint SCIPgetNRootStrongbranchs (SCIP *scip)
 
SCIP_Longint SCIPgetNRootStrongbranchLPIterations (SCIP *scip)
 
int SCIPgetNPriceRounds (SCIP *scip)
 
int SCIPgetNPricevars (SCIP *scip)
 
int SCIPgetNPricevarsFound (SCIP *scip)
 
int SCIPgetNPricevarsApplied (SCIP *scip)
 
int SCIPgetNSepaRounds (SCIP *scip)
 
int SCIPgetNCutsFound (SCIP *scip)
 
int SCIPgetNCutsFoundRound (SCIP *scip)
 
int SCIPgetNCutsApplied (SCIP *scip)
 
SCIP_Longint SCIPgetNConflictConssFound (SCIP *scip)
 
int SCIPgetNConflictConssFoundNode (SCIP *scip)
 
SCIP_Longint SCIPgetNConflictConssApplied (SCIP *scip)
 
int SCIPgetDepth (SCIP *scip)
 
int SCIPgetFocusDepth (SCIP *scip)
 
int SCIPgetDepthLimit (SCIP *scip)
 
int SCIPgetMaxDepth (SCIP *scip)
 
int SCIPgetMaxTotalDepth (SCIP *scip)
 
SCIP_Longint SCIPgetNBacktracks (SCIP *scip)
 
int SCIPgetPlungeDepth (SCIP *scip)
 
int SCIPgetNActiveConss (SCIP *scip)
 
int SCIPgetNEnabledConss (SCIP *scip)
 
SCIP_Real SCIPgetAvgDualbound (SCIP *scip)
 
SCIP_Real SCIPgetAvgLowerbound (SCIP *scip)
 
SCIP_Real SCIPgetDualbound (SCIP *scip)
 
SCIP_Real SCIPgetLowerbound (SCIP *scip)
 
SCIP_Real SCIPgetDualboundRoot (SCIP *scip)
 
SCIP_Real SCIPgetLowerboundRoot (SCIP *scip)
 
SCIP_Real SCIPgetFirstLPDualboundRoot (SCIP *scip)
 
SCIP_Real SCIPgetFirstLPLowerboundRoot (SCIP *scip)
 
SCIP_Real SCIPgetPrimalbound (SCIP *scip)
 
SCIP_Real SCIPgetUpperbound (SCIP *scip)
 
SCIP_Real SCIPgetCutoffbound (SCIP *scip)
 
SCIP_RETCODE SCIPupdateCutoffbound (SCIP *scip, SCIP_Real cutoffbound)
 
SCIP_Bool SCIPisPrimalboundSol (SCIP *scip)
 
SCIP_Real SCIPgetGap (SCIP *scip)
 
SCIP_Real SCIPgetTransGap (SCIP *scip)
 
SCIP_Longint SCIPgetNSolsFound (SCIP *scip)
 
SCIP_Longint SCIPgetNLimSolsFound (SCIP *scip)
 
SCIP_Longint SCIPgetNBestSolsFound (SCIP *scip)
 
SCIP_Real SCIPgetAvgPseudocost (SCIP *scip, SCIP_Real solvaldelta)
 
SCIP_Real SCIPgetAvgPseudocostCurrentRun (SCIP *scip, SCIP_Real solvaldelta)
 
SCIP_Real SCIPgetAvgPseudocostCount (SCIP *scip, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetAvgPseudocostCountCurrentRun (SCIP *scip, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetAvgPseudocostScore (SCIP *scip)
 
SCIP_Real SCIPgetAvgPseudocostScoreCurrentRun (SCIP *scip)
 
SCIP_Real SCIPgetAvgConflictScore (SCIP *scip)
 
SCIP_Real SCIPgetAvgConflictScoreCurrentRun (SCIP *scip)
 
SCIP_Real SCIPgetAvgConflictlengthScore (SCIP *scip)
 
SCIP_Real SCIPgetAvgConflictlengthScoreCurrentRun (SCIP *scip)
 
SCIP_Real SCIPgetAvgInferences (SCIP *scip, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetAvgInferencesCurrentRun (SCIP *scip, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetAvgInferenceScore (SCIP *scip)
 
SCIP_Real SCIPgetAvgInferenceScoreCurrentRun (SCIP *scip)
 
SCIP_Real SCIPgetAvgCutoffs (SCIP *scip, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetAvgCutoffsCurrentRun (SCIP *scip, SCIP_BRANCHDIR dir)
 
SCIP_Real SCIPgetAvgCutoffScore (SCIP *scip)
 
SCIP_Real SCIPgetAvgCutoffScoreCurrentRun (SCIP *scip)
 
static SCIP_RETCODE printProblem (SCIP *scip, SCIP_PROB *prob, FILE *file, const char *extension, SCIP_Bool genericnames)
 
SCIP_RETCODE SCIPprintOrigProblem (SCIP *scip, FILE *file, const char *extension, SCIP_Bool genericnames)
 
SCIP_RETCODE SCIPprintTransProblem (SCIP *scip, FILE *file, const char *extension, SCIP_Bool genericnames)
 
static void printPresolverStatistics (SCIP *scip, FILE *file)
 
static void printConstraintStatistics (SCIP *scip, FILE *file)
 
static void printConstraintTimingStatistics (SCIP *scip, FILE *file)
 
static void printPropagatorStatistics (SCIP *scip, FILE *file)
 
static void printConflictStatistics (SCIP *scip, FILE *file)
 
static void printSeparatorStatistics (SCIP *scip, FILE *file)
 
static void printPricerStatistics (SCIP *scip, FILE *file)
 
static void printBranchruleStatistics (SCIP *scip, FILE *file)
 
static void printHeuristicStatistics (SCIP *scip, FILE *file)
 
static void printCompressionStatistics (SCIP *scip, FILE *file)
 
static void printLPStatistics (SCIP *scip, FILE *file)
 
static void printNLPStatistics (SCIP *scip, FILE *file)
 
static void printRelaxatorStatistics (SCIP *scip, FILE *file)
 
static void printTreeStatistics (SCIP *scip, FILE *file)
 
static void printSolutionStatistics (SCIP *scip, FILE *file)
 
static void printRootStatistics (SCIP *scip, FILE *file)
 
static void printTimingStatistics (SCIP *scip, FILE *file)
 
SCIP_RETCODE SCIPprintStatistics (SCIP *scip, FILE *file)
 
SCIP_RETCODE SCIPprintReoptStatistics (SCIP *scip, FILE *file)
 
SCIP_RETCODE SCIPprintBranchingStatistics (SCIP *scip, FILE *file)
 
SCIP_RETCODE SCIPprintDisplayLine (SCIP *scip, FILE *file, SCIP_VERBLEVEL verblevel, SCIP_Bool endline)
 
int SCIPgetNImplications (SCIP *scip)
 
SCIP_RETCODE SCIPwriteImplicationConflictGraph (SCIP *scip, const char *filename)
 
SCIP_Real SCIPgetTimeOfDay (SCIP *scip)
 
SCIP_RETCODE SCIPcreateClock (SCIP *scip, SCIP_CLOCK **clck)
 
SCIP_RETCODE SCIPcreateCPUClock (SCIP *scip, SCIP_CLOCK **clck)
 
SCIP_RETCODE SCIPcreateWallClock (SCIP *scip, SCIP_CLOCK **clck)
 
SCIP_RETCODE SCIPfreeClock (SCIP *scip, SCIP_CLOCK **clck)
 
SCIP_RETCODE SCIPresetClock (SCIP *scip, SCIP_CLOCK *clck)
 
SCIP_RETCODE SCIPstartClock (SCIP *scip, SCIP_CLOCK *clck)
 
SCIP_RETCODE SCIPstopClock (SCIP *scip, SCIP_CLOCK *clck)
 
SCIP_RETCODE SCIPenableOrDisableStatisticTiming (SCIP *scip)
 
SCIP_RETCODE SCIPstartSolvingTime (SCIP *scip)
 
SCIP_RETCODE SCIPstopSolvingTime (SCIP *scip)
 
SCIP_Real SCIPgetClockTime (SCIP *scip, SCIP_CLOCK *clck)
 
SCIP_RETCODE SCIPsetClockTime (SCIP *scip, SCIP_CLOCK *clck, SCIP_Real sec)
 
SCIP_Real SCIPgetTotalTime (SCIP *scip)
 
SCIP_Real SCIPgetSolvingTime (SCIP *scip)
 
SCIP_Real SCIPgetReadingTime (SCIP *scip)
 
SCIP_Real SCIPgetPresolvingTime (SCIP *scip)
 
SCIP_Real SCIPgetFirstLPTime (SCIP *scip)
 
SCIP_Real SCIPepsilon (SCIP *scip)
 
SCIP_Real SCIPsumepsilon (SCIP *scip)
 
SCIP_Real SCIPfeastol (SCIP *scip)
 
SCIP_Real SCIPlpfeastol (SCIP *scip)
 
SCIP_Real SCIPdualfeastol (SCIP *scip)
 
SCIP_Real SCIPbarrierconvtol (SCIP *scip)
 
SCIP_Real SCIPcutoffbounddelta (SCIP *scip)
 
SCIP_RETCODE SCIPchgFeastol (SCIP *scip, SCIP_Real feastol)
 
SCIP_RETCODE SCIPchgLpfeastol (SCIP *scip, SCIP_Real lpfeastol, SCIP_Bool printnewvalue)
 
SCIP_RETCODE SCIPchgDualfeastol (SCIP *scip, SCIP_Real dualfeastol)
 
SCIP_RETCODE SCIPchgBarrierconvtol (SCIP *scip, SCIP_Real barrierconvtol)
 
void SCIPmarkLimitChanged (SCIP *scip)
 
void SCIPprintReal (SCIP *scip, FILE *file, SCIP_Real val, int width, int precision)
 
BMS_BLKMEMSCIPblkmem (SCIP *scip)
 
BMS_BUFMEMSCIPbuffer (SCIP *scip)
 
BMS_BUFMEMSCIPcleanbuffer (SCIP *scip)
 
SCIP_Longint SCIPgetMemUsed (SCIP *scip)
 
SCIP_Longint SCIPgetMemExternEstim (SCIP *scip)
 
int SCIPcalcMemGrowSize (SCIP *scip, int num)
 
SCIP_RETCODE SCIPensureBlockMemoryArray_call (SCIP *scip, void **arrayptr, size_t elemsize, int *arraysize, int minsize)
 
void SCIPprintMemoryDiagnostic (SCIP *scip)
 
SCIP_Bool SCIPisEQ (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisLT (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisLE (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisGT (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisGE (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Real SCIPinfinity (SCIP *scip)
 
SCIP_Bool SCIPisInfinity (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisHugeValue (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPgetHugeValue (SCIP *scip)
 
SCIP_Bool SCIPisZero (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisPositive (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisNegative (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisIntegral (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisScalingIntegral (SCIP *scip, SCIP_Real val, SCIP_Real scalar)
 
SCIP_Bool SCIPisFracIntegral (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPfloor (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPceil (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPround (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPfrac (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisSumEQ (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisSumLT (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisSumLE (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisSumGT (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisSumGE (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisSumZero (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisSumPositive (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisSumNegative (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisFeasEQ (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisFeasLT (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisFeasLE (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisFeasGT (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisFeasGE (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisFeasZero (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisFeasPositive (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisFeasNegative (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisFeasIntegral (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisFeasFracIntegral (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPfeasFloor (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPfeasCeil (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPfeasRound (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPfeasFrac (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisDualfeasEQ (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisDualfeasLT (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisDualfeasLE (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisDualfeasGT (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisDualfeasGE (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisDualfeasZero (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisDualfeasPositive (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisDualfeasNegative (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisDualfeasIntegral (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisDualfeasFracIntegral (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPdualfeasFloor (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPdualfeasCeil (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPdualfeasRound (SCIP *scip, SCIP_Real val)
 
SCIP_Real SCIPdualfeasFrac (SCIP *scip, SCIP_Real val)
 
SCIP_Bool SCIPisLbBetter (SCIP *scip, SCIP_Real newlb, SCIP_Real oldlb, SCIP_Real oldub)
 
SCIP_Bool SCIPisUbBetter (SCIP *scip, SCIP_Real newub, SCIP_Real oldlb, SCIP_Real oldub)
 
SCIP_Bool SCIPisRelEQ (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisRelLT (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisRelLE (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisRelGT (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisRelGE (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisSumRelEQ (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisSumRelLT (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisSumRelLE (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisSumRelGT (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
SCIP_Bool SCIPisSumRelGE (SCIP *scip, SCIP_Real val1, SCIP_Real val2)
 
int SCIPconvertRealToInt (SCIP *scip, SCIP_Real real)
 
SCIP_Longint SCIPconvertRealToLongint (SCIP *scip, SCIP_Real real)
 
SCIP_Bool SCIPisUpdateUnreliable (SCIP *scip, SCIP_Real newvalue, SCIP_Real oldvalue)
 
SCIP_RETCODE SCIPcreateRealarray (SCIP *scip, SCIP_REALARRAY **realarray)
 
SCIP_RETCODE SCIPfreeRealarray (SCIP *scip, SCIP_REALARRAY **realarray)
 
SCIP_RETCODE SCIPextendRealarray (SCIP *scip, SCIP_REALARRAY *realarray, int minidx, int maxidx)
 
SCIP_RETCODE SCIPclearRealarray (SCIP *scip, SCIP_REALARRAY *realarray)
 
SCIP_Real SCIPgetRealarrayVal (SCIP *scip, SCIP_REALARRAY *realarray, int idx)
 
SCIP_RETCODE SCIPsetRealarrayVal (SCIP *scip, SCIP_REALARRAY *realarray, int idx, SCIP_Real val)
 
SCIP_RETCODE SCIPincRealarrayVal (SCIP *scip, SCIP_REALARRAY *realarray, int idx, SCIP_Real incval)
 
int SCIPgetRealarrayMinIdx (SCIP *scip, SCIP_REALARRAY *realarray)
 
int SCIPgetRealarrayMaxIdx (SCIP *scip, SCIP_REALARRAY *realarray)
 
SCIP_RETCODE SCIPcreateIntarray (SCIP *scip, SCIP_INTARRAY **intarray)
 
SCIP_RETCODE SCIPfreeIntarray (SCIP *scip, SCIP_INTARRAY **intarray)
 
SCIP_RETCODE SCIPextendIntarray (SCIP *scip, SCIP_INTARRAY *intarray, int minidx, int maxidx)
 
SCIP_RETCODE SCIPclearIntarray (SCIP *scip, SCIP_INTARRAY *intarray)
 
int SCIPgetIntarrayVal (SCIP *scip, SCIP_INTARRAY *intarray, int idx)
 
SCIP_RETCODE SCIPsetIntarrayVal (SCIP *scip, SCIP_INTARRAY *intarray, int idx, int val)
 
SCIP_RETCODE SCIPincIntarrayVal (SCIP *scip, SCIP_INTARRAY *intarray, int idx, int incval)
 
int SCIPgetIntarrayMinIdx (SCIP *scip, SCIP_INTARRAY *intarray)
 
int SCIPgetIntarrayMaxIdx (SCIP *scip, SCIP_INTARRAY *intarray)
 
SCIP_RETCODE SCIPcreateBoolarray (SCIP *scip, SCIP_BOOLARRAY **boolarray)
 
SCIP_RETCODE SCIPfreeBoolarray (SCIP *scip, SCIP_BOOLARRAY **boolarray)
 
SCIP_RETCODE SCIPextendBoolarray (SCIP *scip, SCIP_BOOLARRAY *boolarray, int minidx, int maxidx)
 
SCIP_RETCODE SCIPclearBoolarray (SCIP *scip, SCIP_BOOLARRAY *boolarray)
 
SCIP_Bool SCIPgetBoolarrayVal (SCIP *scip, SCIP_BOOLARRAY *boolarray, int idx)
 
SCIP_RETCODE SCIPsetBoolarrayVal (SCIP *scip, SCIP_BOOLARRAY *boolarray, int idx, SCIP_Bool val)
 
int SCIPgetBoolarrayMinIdx (SCIP *scip, SCIP_BOOLARRAY *boolarray)
 
int SCIPgetBoolarrayMaxIdx (SCIP *scip, SCIP_BOOLARRAY *boolarray)
 
SCIP_RETCODE SCIPcreatePtrarray (SCIP *scip, SCIP_PTRARRAY **ptrarray)
 
SCIP_RETCODE SCIPfreePtrarray (SCIP *scip, SCIP_PTRARRAY **ptrarray)
 
SCIP_RETCODE SCIPextendPtrarray (SCIP *scip, SCIP_PTRARRAY *ptrarray, int minidx, int maxidx)
 
SCIP_RETCODE SCIPclearPtrarray (SCIP *scip, SCIP_PTRARRAY *ptrarray)
 
void * SCIPgetPtrarrayVal (SCIP *scip, SCIP_PTRARRAY *ptrarray, int idx)
 
SCIP_RETCODE SCIPsetPtrarrayVal (SCIP *scip, SCIP_PTRARRAY *ptrarray, int idx, void *val)
 
int SCIPgetPtrarrayMinIdx (SCIP *scip, SCIP_PTRARRAY *ptrarray)
 
int SCIPgetPtrarrayMaxIdx (SCIP *scip, SCIP_PTRARRAY *ptrarray)
 
NLP Diving Methods
SCIP_RETCODE SCIPstartDiveNLP (SCIP *scip)
 
SCIP_RETCODE SCIPendDiveNLP (SCIP *scip)
 
SCIP_RETCODE SCIPchgVarObjDiveNLP (SCIP *scip, SCIP_VAR *var, SCIP_Real coef)
 
SCIP_RETCODE SCIPchgVarBoundsDiveNLP (SCIP *scip, SCIP_VAR *var, SCIP_Real lb, SCIP_Real ub)
 
SCIP_RETCODE SCIPchgVarsBoundsDiveNLP (SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_Real *lbs, SCIP_Real *ubs)
 
SCIP_RETCODE SCIPsolveDiveNLP (SCIP *scip)
 
Nonlinear Methods
void SCIPaddSquareLinearization (SCIP *scip, SCIP_Real sqrcoef, SCIP_Real refpoint, SCIP_Bool isint, SCIP_Real *lincoef, SCIP_Real *linconstant, SCIP_Bool *success)
 
void SCIPaddSquareSecant (SCIP *scip, SCIP_Real sqrcoef, SCIP_Real lb, SCIP_Real ub, SCIP_Real refpoint, SCIP_Real *lincoef, SCIP_Real *linconstant, SCIP_Bool *success)
 
void SCIPaddBilinLinearization (SCIP *scip, SCIP_Real bilincoef, SCIP_Real refpointx, SCIP_Real refpointy, SCIP_Real *lincoefx, SCIP_Real *lincoefy, SCIP_Real *linconstant, SCIP_Bool *success)
 
void SCIPaddBilinMcCormick (SCIP *scip, SCIP_Real bilincoef, SCIP_Real lbx, SCIP_Real ubx, SCIP_Real refpointx, SCIP_Real lby, SCIP_Real uby, SCIP_Real refpointy, SCIP_Bool overestimate, SCIP_Real *lincoefx, SCIP_Real *lincoefy, SCIP_Real *linconstant, SCIP_Bool *success)
 

Expression tree methods

#define infty2infty(infty1, infty2, val)   (val >= infty1 ? infty2 : val)
 
SCIP_RETCODE SCIPgetExprtreeTransformedVars (SCIP *scip, SCIP_EXPRTREE *tree)
 
SCIP_RETCODE SCIPevalExprtreeSol (SCIP *scip, SCIP_EXPRTREE *tree, SCIP_SOL *sol, SCIP_Real *val)
 
SCIP_RETCODE SCIPevalExprtreeGlobalBounds (SCIP *scip, SCIP_EXPRTREE *tree, SCIP_Real infinity, SCIP_INTERVAL *val)
 
SCIP_RETCODE SCIPevalExprtreeLocalBounds (SCIP *scip, SCIP_EXPRTREE *tree, SCIP_Real infinity, SCIP_INTERVAL *val)
 

Macro Definition Documentation

#define HASHTABLESIZE_FACTOR   5
#define MAXNCLIQUEVARSCOMP   1000000

Definition at line 21840 of file scip.c.

Referenced by SCIPcalcCliquePartition().

#define infty2infty (   infty1,
  infty2,
  val 
)    (val >= infty1 ? infty2 : val)

translate from one value of infinity to another

if val is >= infty1, then give infty2, else give val

Definition at line 30213 of file scip.c.

Referenced by SCIPevalExprtreeGlobalBounds(), and SCIPevalExprtreeLocalBounds().

Function Documentation

static SCIP_RETCODE checkStage ( SCIP scip,
const char *  method,
SCIP_Bool  init,
SCIP_Bool  problem,
SCIP_Bool  transforming,
SCIP_Bool  transformed,
SCIP_Bool  initpresolve,
SCIP_Bool  presolving,
SCIP_Bool  exitpresolve,
SCIP_Bool  presolved,
SCIP_Bool  initsolve,
SCIP_Bool  solving,
SCIP_Bool  solved,
SCIP_Bool  exitsolve,
SCIP_Bool  freetrans,
SCIP_Bool  freescip 
)
static

checks, if SCIP is in one of the feasible stages

Parameters
scipSCIP data structure
methodmethod that was called
initmay method be called in the INIT stage?
problemmay method be called in the PROBLEM stage?
transformingmay method be called in the TRANSFORMING stage?
transformedmay method be called in the TRANSFORMED stage?
initpresolvemay method be called in the INITPRESOLVE stage?
presolvingmay method be called in the PRESOLVING stage?
exitpresolvemay method be called in the EXITPRESOLE stage?
presolvedmay method be called in the PRESOLVED stage?
initsolvemay method be called in the INITSOLVE stage?
solvingmay method be called in the SOLVING stage?
solvedmay method be called in the SOLVED stage?
exitsolvemay method be called in the EXITSOLVE stage?
freetransmay method be called in the FREETRANS stage?
freescipmay method be called in the FREE stage?

Definition at line 125 of file scip.c.

References Scip::branchcand, Scip::conflict, Scip::cutpool, Scip::delayedcutpool, Scip::dialoghdlr, Scip::eventfilter, Scip::eventqueue, Scip::interrupt, Scip::lp, Scip::mem, Scip::nlp, NULL, Scip::origprob, Scip::pricestore, Scip::primal, SCIP_ERROR, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INIT, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, Scip::sepastore, Scip::set, SCIP_Set::stage, Scip::stat, Scip::totaltime, Scip::transprob, and Scip::tree.

Referenced by checkSolOrig(), SCIPactivatePricer(), SCIPactiveCons(), SCIPaddClique(), SCIPaddConflictBd(), SCIPaddConflictBinvar(), SCIPaddConflictLb(), SCIPaddConflictRelaxedBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictUb(), SCIPaddCons(), SCIPaddConsAge(), SCIPaddConsLocal(), SCIPaddConsLocks(), SCIPaddConsNode(), SCIPaddCurrentSol(), SCIPaddCut(), SCIPaddDelayedPoolCut(), SCIPaddDiveBoundChange(), SCIPaddExternBranchCand(), SCIPaddLinearCoefsToNlRow(), SCIPaddLinearCoefToNlRow(), SCIPaddNewRowCutpool(), SCIPaddNlRow(), SCIPaddObjoffset(), SCIPaddOrigObjoffset(), SCIPaddPoolCut(), SCIPaddPricedVar(), SCIPaddQuadElementsToNlRow(), SCIPaddQuadElementToNlRow(), SCIPaddQuadVarsToNlRow(), SCIPaddQuadVarToNlRow(), SCIPaddReoptDualBndchg(), SCIPaddReoptnodeBndchg(), SCIPaddReoptnodeCons(), SCIPaddRowCutpool(), SCIPaddRowDive(), SCIPaddRowProbing(), SCIPaddSol(), SCIPaddSolFree(), SCIPaddVar(), SCIPaddVarBranchFactor(), SCIPaddVarBranchPriority(), SCIPaddVarImplication(), SCIPaddVarLocks(), SCIPaddVarObj(), SCIPaddVarsToRow(), SCIPaddVarsToRowSameCoef(), SCIPaddVarToRow(), SCIPaddVarVlb(), SCIPaddVarVub(), SCIPadjustedVarLb(), SCIPadjustedVarUb(), SCIPadjustImplicitSolVals(), SCIPaggregateVars(), SCIPallColsInLP(), SCIPallVarsInProb(), SCIPanalyzeConflict(), SCIPanalyzeConflictCons(), SCIPapplyCutsProbing(), SCIPapplyReopt(), SCIPareSolsEqual(), SCIPbacktrackProbing(), SCIPbranchExtern(), SCIPbranchLP(), SCIPbranchPseudo(), SCIPbranchVar(), SCIPbranchVarHole(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPcacheRowExtensions(), SCIPcalcChildEstimate(), SCIPcalcCliquePartition(), SCIPcalcMIR(), SCIPcalcNodeselPriority(), SCIPcalcRowIntegralScalar(), SCIPcalcStrongCG(), SCIPcalculatePscostConfidenceBound(), SCIPcaptureCons(), SCIPcaptureNlRow(), SCIPcaptureRow(), SCIPcaptureVar(), SCIPcatchEvent(), SCIPcatchRowEvent(), SCIPcatchVarEvent(), SCIPcheckCons(), SCIPcheckReoptRestart(), SCIPcheckSol(), SCIPcheckSolOrig(), SCIPchgChildPrio(), SCIPchgConsName(), SCIPchgCutoffboundDive(), SCIPchgNlRowConstant(), SCIPchgNlRowLhs(), SCIPchgNlRowLinearCoef(), SCIPchgNlRowQuadElement(), SCIPchgNlRowRhs(), SCIPchgRowLhs(), SCIPchgRowLhsDive(), SCIPchgRowRhs(), SCIPchgRowRhsDive(), SCIPchgVarBoundsDiveNLP(), SCIPchgVarBranchDirection(), SCIPchgVarBranchFactor(), SCIPchgVarBranchPriority(), SCIPchgVarLb(), SCIPchgVarLbDive(), SCIPchgVarLbGlobal(), SCIPchgVarLbLazy(), SCIPchgVarLbNode(), SCIPchgVarLbProbing(), SCIPchgVarName(), SCIPchgVarObj(), SCIPchgVarObjDive(), SCIPchgVarObjDiveNLP(), SCIPchgVarObjProbing(), SCIPchgVarsBoundsDiveNLP(), SCIPchgVarType(), SCIPchgVarUb(), SCIPchgVarUbDive(), SCIPchgVarUbGlobal(), SCIPchgVarUbLazy(), SCIPchgVarUbNode(), SCIPchgVarUbProbing(), SCIPcleanupCliques(), SCIPclearCuts(), SCIPclearDiveBoundChanges(), SCIPclearExternBranchCands(), SCIPclearRelaxSolVals(), SCIPclearSol(), SCIPcomputeLPRelIntPoint(), SCIPconstructLP(), SCIPcontainsExternBranchCand(), SCIPconvertCutsToConss(), SCIPcopy(), SCIPcopyConss(), SCIPcopyCuts(), SCIPcopyImplicationsCliques(), SCIPcopyOrig(), SCIPcopyOrigConss(), SCIPcopyOrigProb(), SCIPcopyOrigVars(), SCIPcopyParamSettings(), SCIPcopyPlugins(), SCIPcopyProb(), SCIPcopyVars(), SCIPcreateChild(), SCIPcreateCons(), SCIPcreateCurrentSol(), SCIPcreateCutpool(), SCIPcreateDiveset(), SCIPcreateEmptyNlRow(), SCIPcreateEmptyRow(), SCIPcreateEmptyRowCons(), SCIPcreateEmptyRowSepa(), SCIPcreateEmptyRowUnspec(), SCIPcreateFiniteSolCopy(), SCIPcreateLPSol(), SCIPcreateNLPSol(), SCIPcreateNlRow(), SCIPcreateNlRowFromRow(), SCIPcreateOrigSol(), SCIPcreateProb(), SCIPcreateProbBasic(), SCIPcreatePseudoSol(), SCIPcreateRelaxSol(), SCIPcreateRow(), SCIPcreateRowCons(), SCIPcreateRowSepa(), SCIPcreateRowUnspec(), SCIPcreateSol(), SCIPcreateSolCopy(), SCIPcreateSolCopyOrig(), SCIPcreateUnknownSol(), SCIPcreateVar(), SCIPcreateVarBasic(), SCIPcutoffNode(), SCIPdeactivatePricer(), SCIPdeactiveCons(), SCIPdelCons(), SCIPdelConsLocal(), SCIPdelConsNode(), SCIPdelDelayedPoolCut(), SCIPdeleteReoptnode(), SCIPdelPoolCut(), SCIPdelRowCutpool(), SCIPdelVar(), SCIPdisableCons(), SCIPdisableConsPropagation(), SCIPdisableConsSeparation(), SCIPdisableDebugSol(), SCIPdisableVarHistory(), SCIPdropEvent(), SCIPdropRowEvent(), SCIPdropVarEvent(), SCIPenableCons(), SCIPenableConsPropagation(), SCIPenableConsSeparation(), SCIPenableDebugSol(), SCIPenableNLP(), SCIPenableOrDisableStatisticTiming(), SCIPenableVarHistory(), SCIPendDive(), SCIPendDiveNLP(), SCIPendProbing(), SCIPendStrongbranch(), SCIPenfolpCons(), SCIPenfopsCons(), SCIPevalExprtreeGlobalBounds(), SCIPevalExprtreeLocalBounds(), SCIPevalExprtreeSol(), SCIPfindCons(), SCIPfindOrigCons(), SCIPfindVar(), SCIPfixVar(), SCIPfixVarProbing(), SCIPflattenVarAggregationGraph(), SCIPflushLP(), SCIPflushNLP(), SCIPflushRowExtensions(), SCIPfree(), SCIPfreeCutpool(), SCIPfreeParseVarsPolynomialData(), SCIPfreeProb(), SCIPfreeRepresentation(), SCIPfreeSol(), SCIPfreeSolve(), SCIPfreeTransform(), SCIPgetActiveVars(), SCIPgetAvgConflictlengthScore(), SCIPgetAvgConflictlengthScoreCurrentRun(), SCIPgetAvgConflictScore(), SCIPgetAvgConflictScoreCurrentRun(), SCIPgetAvgCutoffs(), SCIPgetAvgCutoffScore(), SCIPgetAvgCutoffScoreCurrentRun(), SCIPgetAvgCutoffsCurrentRun(), SCIPgetAvgDualbound(), SCIPgetAvgInferences(), SCIPgetAvgInferenceScore(), SCIPgetAvgInferenceScoreCurrentRun(), SCIPgetAvgInferencesCurrentRun(), SCIPgetAvgLowerbound(), SCIPgetAvgPseudocost(), SCIPgetAvgPseudocostCount(), SCIPgetAvgPseudocostCountCurrentRun(), SCIPgetAvgPseudocostCurrentRun(), SCIPgetAvgPseudocostScore(), SCIPgetAvgPseudocostScoreCurrentRun(), SCIPgetBestboundNode(), SCIPgetBestChild(), SCIPgetBestLeaf(), SCIPgetBestNode(), SCIPgetBestSibling(), SCIPgetBestSol(), SCIPgetBinvarRepresentative(), SCIPgetBinvarRepresentatives(), SCIPgetBranchingPoint(), SCIPgetBranchScore(), SCIPgetBranchScoreMultiple(), SCIPgetChildren(), SCIPgetCliques(), SCIPgetColFarkasCoef(), SCIPgetColRedcost(), SCIPgetConflictVarLb(), SCIPgetConflictVarUb(), SCIPgetConsCopy(), SCIPgetConsNVars(), SCIPgetConss(), SCIPgetConsVars(), SCIPgetCurrentNode(), SCIPgetCutEfficacy(), SCIPgetCutoffbound(), SCIPgetCutoffdepth(), SCIPgetCuts(), SCIPgetDelayedGlobalCutpool(), SCIPgetDelayedPoolCuts(), SCIPgetDepth(), SCIPgetDepthLimit(), SCIPgetDiveBoundChangeData(), SCIPgetDiveBoundChanges(), SCIPgetDivesetScore(), SCIPgetDualbound(), SCIPgetDualboundRoot(), SCIPgetEffectiveRootDepth(), SCIPgetExprtreeTransformedVars(), SCIPgetExternBranchCands(), SCIPgetFirstLPDualboundRoot(), SCIPgetFirstLPLowerboundRoot(), SCIPgetFirstLPTime(), SCIPgetFixedVars(), SCIPgetFocusDepth(), SCIPgetGap(), SCIPgetGlobalCutpool(), SCIPgetGlobalPseudoObjval(), SCIPgetLastDivenode(), SCIPgetLeaves(), SCIPgetLocalDualbound(), SCIPgetLocalLowerbound(), SCIPgetLocalOrigEstimate(), SCIPgetLocalTransEstimate(), SCIPgetLowerbound(), SCIPgetLowerboundRoot(), SCIPgetLPBasisInd(), SCIPgetLPBInvACol(), SCIPgetLPBInvARow(), SCIPgetLPBInvCol(), SCIPgetLPBInvRow(), SCIPgetLPBranchCands(), SCIPgetLPCols(), SCIPgetLPColsData(), SCIPgetLPColumnObjval(), SCIPgetLPI(), SCIPgetLPLooseObjval(), SCIPgetLPObjval(), SCIPgetLPRootColumnObjval(), SCIPgetLPRootLooseObjval(), SCIPgetLPRootObjval(), SCIPgetLPRows(), SCIPgetLPRowsData(), SCIPgetLPSolstat(), SCIPgetMaxDepth(), SCIPgetMaxTotalDepth(), SCIPgetNActiveConss(), SCIPgetNBacktracks(), SCIPgetNBarrierLPIterations(), SCIPgetNBarrierLPs(), SCIPgetNBestSolsFound(), SCIPgetNBinVars(), SCIPgetNCheckConss(), SCIPgetNChildren(), SCIPgetNCliques(), SCIPgetNConflictConssApplied(), SCIPgetNConflictConssFound(), SCIPgetNConflictConssFoundNode(), SCIPgetNConss(), SCIPgetNContVars(), SCIPgetNCuts(), SCIPgetNCutsApplied(), SCIPgetNCutsFound(), SCIPgetNCutsFoundRound(), SCIPgetNDelayedPoolCuts(), SCIPgetNDivingLPIterations(), SCIPgetNDivingLPs(), SCIPgetNDualLPIterations(), SCIPgetNDualLPs(), SCIPgetNDualResolveLPIterations(), SCIPgetNDualResolveLPs(), SCIPgetNegatedVar(), SCIPgetNegatedVars(), SCIPgetNEnabledConss(), SCIPgetNExternBranchCands(), SCIPgetNFixedVars(), SCIPgetNImplications(), SCIPgetNImplVars(), SCIPgetNIntVars(), SCIPgetNLeaves(), SCIPgetNLimSolsFound(), SCIPgetNLPBranchCands(), SCIPgetNLPCols(), SCIPgetNLPFracVars(), SCIPgetNLPI(), SCIPgetNLPIntPar(), SCIPgetNLPIterations(), SCIPgetNLPNlRows(), SCIPgetNLPNlRowsData(), SCIPgetNLPObjval(), SCIPgetNLPRealPar(), SCIPgetNLPRows(), SCIPgetNLPs(), SCIPgetNLPSolstat(), SCIPgetNLPStatistics(), SCIPgetNLPStringPar(), SCIPgetNLPTermstat(), SCIPgetNLPVars(), SCIPgetNLPVarsData(), SCIPgetNLPVarsLbDualsol(), SCIPgetNLPVarsNonlinearity(), SCIPgetNLPVarsUbDualsol(), SCIPgetNlRowActivity(), SCIPgetNlRowActivityBounds(), SCIPgetNlRowFeasibility(), SCIPgetNlRowNLPActivity(), SCIPgetNlRowNLPFeasibility(), SCIPgetNlRowPseudoActivity(), SCIPgetNlRowPseudoFeasibility(), SCIPgetNlRowSolActivity(), SCIPgetNlRowSolFeasibility(), SCIPgetNNLPNlRows(), SCIPgetNNLPVars(), SCIPgetNNodeInitLPIterations(), SCIPgetNNodeInitLPs(), SCIPgetNNodeLPIterations(), SCIPgetNNodeLPs(), SCIPgetNNodes(), SCIPgetNNodesLeft(), SCIPgetNObjVars(), SCIPgetNodeDualbound(), SCIPgetNodeLowerbound(), SCIPgetNOrigBinVars(), SCIPgetNOrigConss(), SCIPgetNOrigContVars(), SCIPgetNOrigImplVars(), SCIPgetNOrigIntVars(), SCIPgetNOrigVars(), SCIPgetNPoolCuts(), SCIPgetNPriceRounds(), SCIPgetNPricevars(), SCIPgetNPricevarsApplied(), SCIPgetNPricevarsFound(), SCIPgetNPrimalLPIterations(), SCIPgetNPrimalLPs(), SCIPgetNPrimalResolveLPIterations(), SCIPgetNPrimalResolveLPs(), SCIPgetNPrioExternBranchBins(), SCIPgetNPrioExternBranchCands(), SCIPgetNPrioExternBranchConts(), SCIPgetNPrioExternBranchImpls(), SCIPgetNPrioExternBranchInts(), SCIPgetNPrioLPBranchCands(), SCIPgetNPrioPseudoBranchBins(), SCIPgetNPrioPseudoBranchCands(), SCIPgetNPrioPseudoBranchImpls(), SCIPgetNPrioPseudoBranchInts(), SCIPgetNPseudoBranchCands(), SCIPgetNReoptRuns(), SCIPgetNResolveLPIterations(), SCIPgetNResolveLPs(), SCIPgetNRootFirstLPIterations(), SCIPgetNRootLPIterations(), SCIPgetNRootStrongbranchLPIterations(), SCIPgetNRootStrongbranchs(), SCIPgetNRuns(), SCIPgetNSepaRounds(), SCIPgetNSiblings(), SCIPgetNSols(), SCIPgetNSolsFound(), SCIPgetNStrongbranchLPIterations(), SCIPgetNStrongbranchs(), SCIPgetNTotalNodes(), SCIPgetNTotalVars(), SCIPgetNUpgrConss(), SCIPgetNVars(), SCIPgetObjlimit(), SCIPgetObjNorm(), SCIPgetObjsense(), SCIPgetOpenNodesData(), SCIPgetOrigConss(), SCIPgetOrigObjoffset(), SCIPgetOrigObjscale(), SCIPgetOrigVars(), SCIPgetOrigVarsData(), SCIPgetPlungeDepth(), SCIPgetPoolCuts(), SCIPgetPresolvingTime(), SCIPgetPrimalbound(), SCIPgetPrimalRayVal(), SCIPgetPrioChild(), SCIPgetPrioSibling(), SCIPgetProbData(), SCIPgetProbingDepth(), SCIPgetProbName(), SCIPgetProbvarLinearSum(), SCIPgetProbvarSum(), SCIPgetPseudoBranchCands(), SCIPgetPseudoObjval(), SCIPgetReadingTime(), SCIPgetRelaxFeastolFactor(), SCIPgetRelaxSolObj(), SCIPgetRelaxSolVal(), SCIPgetReoptChildIDs(), SCIPgetReoptLeaveIDs(), SCIPgetReoptOldObjCoef(), SCIPgetRepropdepth(), SCIPgetRootNode(), SCIPgetRowActivity(), SCIPgetRowFeasibility(), SCIPgetRowLPActivity(), SCIPgetRowLPFeasibility(), SCIPgetRowMaxActivity(), SCIPgetRowMaxCoef(), SCIPgetRowMinActivity(), SCIPgetRowMinCoef(), SCIPgetRowPseudoActivity(), SCIPgetRowPseudoFeasibility(), SCIPgetRowSolActivity(), SCIPgetRowSolFeasibility(), SCIPgetSiblings(), SCIPgetSolHeur(), SCIPgetSolNodenum(), SCIPgetSolOrigObj(), SCIPgetSolRunnum(), SCIPgetSols(), SCIPgetSolTime(), SCIPgetSolTransObj(), SCIPgetSolVal(), SCIPgetSolVals(), SCIPgetSolVarsData(), SCIPgetSolvingTime(), SCIPgetStatus(), SCIPgetSubscipDepth(), SCIPgetTransformedCons(), SCIPgetTransformedConss(), SCIPgetTransformedVar(), SCIPgetTransformedVars(), SCIPgetTransGap(), SCIPgetTransObjoffset(), SCIPgetTransObjscale(), SCIPgetUpperbound(), SCIPgetVarAvgConflictlength(), SCIPgetVarAvgConflictlengthCurrentRun(), SCIPgetVarAvgCutoffs(), SCIPgetVarAvgCutoffScore(), SCIPgetVarAvgCutoffScoreCurrentRun(), SCIPgetVarAvgCutoffsCurrentRun(), SCIPgetVarAvgInferenceCutoffScore(), SCIPgetVarAvgInferenceCutoffScoreCurrentRun(), SCIPgetVarAvgInferences(), SCIPgetVarAvgInferenceScore(), SCIPgetVarAvgInferenceScoreCurrentRun(), SCIPgetVarAvgInferencesCurrentRun(), SCIPgetVarClosestVlb(), SCIPgetVarClosestVub(), SCIPgetVarConflictlengthScore(), SCIPgetVarConflictlengthScoreCurrentRun(), SCIPgetVarConflictScore(), SCIPgetVarConflictScoreCurrentRun(), SCIPgetVarCopy(), SCIPgetVarLbDive(), SCIPgetVarNStrongbranchs(), SCIPgetVarObjDive(), SCIPgetVarObjProbing(), SCIPgetVarPseudocost(), SCIPgetVarPseudocostCount(), SCIPgetVarPseudocostCountCurrentRun(), SCIPgetVarPseudocostCurrentRun(), SCIPgetVarPseudocostScore(), SCIPgetVarPseudocostScoreCurrentRun(), SCIPgetVarPseudocostVal(), SCIPgetVarPseudocostValCurrentRun(), SCIPgetVarPseudocostVariance(), SCIPgetVars(), SCIPgetVarsData(), SCIPgetVarSol(), SCIPgetVarSols(), SCIPgetVarsStrongbranchesFrac(), SCIPgetVarsStrongbranchesInt(), SCIPgetVarStrongbranchFrac(), SCIPgetVarStrongbranchInt(), SCIPgetVarStrongbranchLast(), SCIPgetVarStrongbranchLPAge(), SCIPgetVarStrongbranchNode(), SCIPgetVarStrongbranchWithPropagation(), SCIPgetVarUbDive(), SCIPgetVarVSIDS(), SCIPgetVarVSIDSCurrentRun(), SCIPhasCurrentNodeLP(), SCIPhasNLPContinuousNonlinearity(), SCIPhasNLPSolution(), SCIPhasPerformedPresolve(), SCIPhasPrimalRay(), SCIPhaveVarsCommonClique(), SCIPincConsAge(), SCIPincludeBranchrule(), SCIPincludeBranchruleBasic(), SCIPincludeCompr(), SCIPincludeComprBasic(), SCIPincludeConflicthdlr(), SCIPincludeConflicthdlrBasic(), SCIPincludeConshdlr(), SCIPincludeConshdlrBasic(), SCIPincludeDisp(), SCIPincludeEventhdlr(), SCIPincludeEventhdlrBasic(), SCIPincludeExternalCodeInformation(), SCIPincludeHeur(), SCIPincludeHeurBasic(), SCIPincludeNlpi(), SCIPincludeNodesel(), SCIPincludeNodeselBasic(), SCIPincludePresol(), SCIPincludePresolBasic(), SCIPincludePricer(), SCIPincludePricerBasic(), SCIPincludeProp(), SCIPincludePropBasic(), SCIPincludeReader(), SCIPincludeReaderBasic(), SCIPincludeRelax(), SCIPincludeRelaxBasic(), SCIPincludeSepa(), SCIPincludeSepaBasic(), SCIPincSolVal(), SCIPinDive(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarFixCons(), SCIPinferVarFixProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPinitConflictAnalysis(), SCIPinitlpCons(), SCIPinitRepresentation(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPinProbing(), SCIPinRepropagation(), SCIPinterruptSolve(), SCIPisConflictAnalysisApplicable(), SCIPisConflictVarUsed(), SCIPisCutApplicable(), SCIPisCutEfficacious(), SCIPisInRestart(), SCIPisLPConstructed(), SCIPisLPRelax(), SCIPisLPSolBasic(), SCIPisNLPConstructed(), SCIPisNLPEnabled(), SCIPisObjIntegral(), SCIPisPresolveFinished(), SCIPisPrimalboundSol(), SCIPisRelaxSolValid(), SCIPisRootLPRelax(), SCIPisStopped(), SCIPisUpdateUnreliable(), SCIPisVarPscostRelerrorReliable(), SCIPlinkCurrentSol(), SCIPlinkLPSol(), SCIPlinkNLPSol(), SCIPlinkPseudoSol(), SCIPlinkRelaxSol(), SCIPlockVarCons(), SCIPmakeRowIntegral(), SCIPmarkColNotRemovableLocal(), SCIPmarkConsPropagate(), SCIPmarkDoNotMultaggrVar(), SCIPmarkRelaxSolInvalid(), SCIPmarkRelaxSolValid(), SCIPmarkRowNotRemovableLocal(), SCIPmultiaggregateVar(), SCIPnewProbingNode(), SCIPparseCons(), SCIPparseVar(), SCIPparseVarName(), SCIPparseVarsLinearsum(), SCIPparseVarsList(), SCIPparseVarsPolynomial(), SCIPpermuteProb(), SCIPpresolCons(), SCIPpresolve(), SCIPprintBestSol(), SCIPprintBestTransSol(), SCIPprintBranchingStatistics(), SCIPprintCons(), SCIPprintDisplayLine(), SCIPprintDualSol(), SCIPprintLPSolutionQuality(), SCIPprintNlRow(), SCIPprintOrigProblem(), SCIPprintRay(), SCIPprintReoptStatistics(), SCIPprintRow(), SCIPprintSol(), SCIPprintStage(), SCIPprintStatistics(), SCIPprintStatus(), SCIPprintTransProblem(), SCIPprintTransSol(), SCIPprintVar(), SCIPpropagateProbing(), SCIPpropagateProbingImplications(), SCIPpropCons(), SCIPpscostThresholdProbabilityTest(), SCIPreadProb(), SCIPreadSol(), SCIPrecalcNlRowActivity(), SCIPrecalcNlRowNLPActivity(), SCIPrecalcNlRowPseudoActivity(), SCIPrecalcRowActivity(), SCIPrecalcRowLPActivity(), SCIPrecalcRowPseudoActivity(), SCIPrecomputeSolObj(), SCIPreleaseCons(), SCIPreleaseNlRow(), SCIPreleaseRow(), SCIPreleaseVar(), SCIPremoveInefficaciousCuts(), SCIPremoveVarFromGlobalStructures(), SCIPrepropagateNode(), SCIPresetConsAge(), SCIPresetReoptnodeDualcons(), SCIPresetRepresentation(), SCIPrespropCons(), SCIPrestartSolve(), SCIPretransformObj(), SCIPretransformSol(), SCIProundSol(), SCIPscaleVarBranchFactor(), SCIPsepalpCons(), SCIPseparateCutpool(), SCIPseparateSol(), SCIPseparateSolCutpool(), SCIPsepasolCons(), SCIPsetBranchruleCopy(), SCIPsetBranchruleExecExt(), SCIPsetBranchruleExecLp(), SCIPsetBranchruleExecPs(), SCIPsetBranchruleExit(), SCIPsetBranchruleExitsol(), SCIPsetBranchruleFree(), SCIPsetBranchruleInit(), SCIPsetBranchruleInitsol(), SCIPsetComprCopy(), SCIPsetComprExit(), SCIPsetComprExitsol(), SCIPsetComprFree(), SCIPsetComprInit(), SCIPsetComprInitsol(), SCIPsetConflicthdlrCopy(), SCIPsetConflicthdlrExit(), SCIPsetConflicthdlrExitsol(), SCIPsetConflicthdlrFree(), SCIPsetConflicthdlrInit(), SCIPsetConflicthdlrInitsol(), SCIPsetConsChecked(), SCIPsetConsDynamic(), SCIPsetConsEnforced(), SCIPsetConshdlrActive(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDeactive(), SCIPsetConshdlrDelete(), SCIPsetConshdlrDelvars(), SCIPsetConshdlrDisable(), SCIPsetConshdlrEnable(), SCIPsetConshdlrExit(), SCIPsetConshdlrExitpre(), SCIPsetConshdlrExitsol(), SCIPsetConshdlrFree(), SCIPsetConshdlrGetDiveBdChgs(), SCIPsetConshdlrGetNVars(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrInit(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrInitpre(), SCIPsetConshdlrInitsol(), SCIPsetConshdlrParse(), SCIPsetConshdlrPresol(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), SCIPsetConshdlrResprop(), SCIPsetConshdlrSepa(), SCIPsetConshdlrTrans(), SCIPsetConsInitial(), SCIPsetConsLocal(), SCIPsetConsModifiable(), SCIPsetConsPropagated(), SCIPsetConsRemovable(), SCIPsetConsSeparated(), SCIPsetConsStickingAtNode(), SCIPsetEventhdlrCopy(), SCIPsetEventhdlrDelete(), SCIPsetEventhdlrExit(), SCIPsetEventhdlrExitsol(), SCIPsetEventhdlrFree(), SCIPsetEventhdlrInit(), SCIPsetEventhdlrInitsol(), SCIPsetFocusnodeLP(), SCIPsetHeurCopy(), SCIPsetHeurExit(), SCIPsetHeurExitsol(), SCIPsetHeurFree(), SCIPsetHeurInit(), SCIPsetHeurInitsol(), SCIPsetMessagehdlr(), SCIPsetNLPInitialGuess(), SCIPsetNLPInitialGuessSol(), SCIPsetNLPIntPar(), SCIPsetNLPRealPar(), SCIPsetNLPStringPar(), SCIPsetNlRowExprtree(), SCIPsetNlRowExprtreeParam(), SCIPsetNlRowExprtreeParams(), SCIPsetNodeselCopy(), SCIPsetNodeselExit(), SCIPsetNodeselExitsol(), SCIPsetNodeselFree(), SCIPsetNodeselInit(), SCIPsetNodeselInitsol(), SCIPsetObjIntegral(), SCIPsetObjlimit(), SCIPsetObjsense(), SCIPsetPresolCopy(), SCIPsetPresolExit(), SCIPsetPresolExitpre(), SCIPsetPresolFree(), SCIPsetPresolInit(), SCIPsetPresolInitpre(), SCIPsetPricerCopy(), SCIPsetPricerExit(), SCIPsetPricerExitsol(), SCIPsetPricerFree(), SCIPsetPricerInit(), SCIPsetPricerInitsol(), SCIPsetProbCopy(), SCIPsetProbData(), SCIPsetProbDelorig(), SCIPsetProbDeltrans(), SCIPsetProbExitsol(), SCIPsetProbInitsol(), SCIPsetProbName(), SCIPsetProbTrans(), SCIPsetPropCopy(), SCIPsetPropExit(), SCIPsetPropExitpre(), SCIPsetPropExitsol(), SCIPsetPropFree(), SCIPsetPropInit(), SCIPsetPropInitpre(), SCIPsetPropInitsol(), SCIPsetPropPresol(), SCIPsetPropResprop(), SCIPsetReaderCopy(), SCIPsetReaderFree(), SCIPsetReaderRead(), SCIPsetReaderWrite(), SCIPsetRelaxCopy(), SCIPsetRelaxExit(), SCIPsetRelaxExitsol(), SCIPsetRelaxFree(), SCIPsetRelaxInit(), SCIPsetRelaxInitsol(), SCIPsetRelaxSolVal(), SCIPsetRelaxSolVals(), SCIPsetRelaxSolValsSol(), SCIPsetReoptCompression(), SCIPsetSepaCopy(), SCIPsetSepaExit(), SCIPsetSepaExitsol(), SCIPsetSepaFree(), SCIPsetSepaInit(), SCIPsetSepaInitsol(), SCIPsetSolVal(), SCIPsetSolVals(), SCIPsignificantVarPscostDifference(), SCIPsolve(), SCIPsolveDiveLP(), SCIPsolveDiveNLP(), SCIPsolveNLP(), SCIPsolveProbingLP(), SCIPsolveProbingLPWithPricing(), SCIPsplitReoptRoot(), SCIPstartDive(), SCIPstartDiveNLP(), SCIPstartInteraction(), SCIPstartProbing(), SCIPstartSolvingTime(), SCIPstartStrongbranch(), SCIPstopSolvingTime(), SCIPsumLPRows(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPtransformCons(), SCIPtransformConss(), SCIPtransformObj(), SCIPtransformProb(), SCIPtransformVar(), SCIPtransformVars(), SCIPtryCurrentSol(), SCIPtrySol(), SCIPtrySolFree(), SCIPunlinkSol(), SCIPunlockVarCons(), SCIPunmarkConsPropagate(), SCIPupdateConsFlags(), SCIPupdateCutoffbound(), SCIPupdateLocalDualbound(), SCIPupdateLocalLowerbound(), SCIPupdateNodeDualbound(), SCIPupdateNodeLowerbound(), SCIPupdateVarBranchPriority(), SCIPupdateVarPseudocost(), SCIPwriteCliqueGraph(), SCIPwriteLP(), SCIPwriteMIP(), SCIPwriteNLP(), SCIPwriteOrigProblem(), SCIPwriteTransProblem(), SCIPwriteVarName(), SCIPwriteVarsLinearsum(), SCIPwriteVarsList(), and SCIPwriteVarsPolynomial().

static SCIP_Real getLowerbound ( SCIP scip)
static

gets global lower (dual) bound in transformed problem

Parameters
scipSCIP data structure

Definition at line 462 of file scip.c.

References SCIP_STAGE_INITSOLVE, SCIPinfinity(), SCIPtreeGetLowerbound(), Scip::set, SCIP_Set::stage, and Scip::tree.

Referenced by SCIPgetGap(), SCIPgetLowerbound(), and SCIPgetTransGap().

static SCIP_Real getUpperbound ( SCIP scip)
static

gets global upper (primal) bound in transformed problem (objective value of best solution or user objective limit)

Parameters
scipSCIP data structure

Definition at line 474 of file scip.c.

References Scip::primal, SCIP_STATUS_UNBOUNDED, SCIPgetStatus(), SCIPinfinity(), and SCIP_Primal::upperbound.

Referenced by getPrimalbound(), SCIPgetLowerboundRoot(), SCIPgetTransGap(), and SCIPgetUpperbound().

static SCIP_Real getPrimalbound ( SCIP scip)
static

gets global primal bound (objective value of best solution or user objective limit)

Parameters
scipSCIP data structure

Definition at line 487 of file scip.c.

References getUpperbound(), Scip::origprob, SCIPprobExternObjval(), Scip::set, and Scip::transprob.

Referenced by displayRelevantStats(), getDualbound(), printSolutionStatistics(), SCIPgetDualboundRoot(), SCIPgetGap(), SCIPgetPrimalbound(), SCIPprintStage(), and SCIPstoreSolutionGap().

SCIP_Real SCIPversion ( void  )

returns complete SCIP version number in the format "major . minor tech"

Returns
complete SCIP version

Definition at line 540 of file scip.c.

References SCIP_Real, and SCIP_VERSION.

int SCIPmajorVersion ( void  )

returns SCIP major version

Returns
major SCIP version

Definition at line 551 of file scip.c.

References SCIP_VERSION.

Referenced by SCIPprintVersion().

int SCIPminorVersion ( void  )

returns SCIP minor version

Returns
minor SCIP version

Definition at line 562 of file scip.c.

References SCIP_VERSION.

Referenced by SCIPprintVersion().

int SCIPtechVersion ( void  )

returns SCIP technical version

Returns
technical SCIP version

Definition at line 573 of file scip.c.

References SCIP_VERSION.

Referenced by SCIPprintVersion().

int SCIPsubversion ( void  )

returns SCIP sub version number

Returns
subversion SCIP version

Definition at line 584 of file scip.c.

References SCIP_SUBVERSION.

Referenced by SCIPprintVersion().

void SCIPprintVersion ( SCIP scip,
FILE *  file 
)

prints a version information line to a file stream via the message handler system

Note
If the message handler is set to a NULL pointer nothing will be printed
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)

Definition at line 595 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_COPYRIGHT, SCIP_Real, SCIPgetGitHash(), SCIPlpiGetSolverName(), SCIPmajorVersion(), SCIPmessageFPrintInfo(), SCIPminorVersion(), SCIPsubversion(), and SCIPtechVersion().

Referenced by SCIPprocessShellArguments().

void SCIPprintError ( SCIP_RETCODE  retcode)

prints error message for the given SCIP_RETCODE via the error prints method

Parameters
retcodeSCIP return code causing the error

Definition at line 627 of file scip.c.

References SCIPmessagePrintError(), and SCIPretcodePrintError().

Referenced by checkSolutionOrig(), and main().

SCIP_RETCODE SCIPcreate ( SCIP **  scip)

creates and initializes SCIP data structures

Note
The SCIP default message handler is installed. Use the method SCIPsetMessagehdlr() to install your own message handler or SCIPsetMessagehdlrLogfile() and SCIPsetMessagehdlrQuiet() to write into a log file and turn off/on the display output, respectively.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Postcondition
After calling this method SCIP reached the solving stage SCIP_STAGE_INIT

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scippointer to SCIP data structure

Definition at line 692 of file scip.c.

References BMSallocMemory, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIPblkmem(), SCIPclockCreate(), SCIPclockStart(), SCIPcreateMessagehdlrDefault(), SCIPdialoghdlrCreate(), SCIPexprintGetDesc(), SCIPexprintGetName(), SCIPinterruptCreate(), SCIPlpiGetSolverDesc(), SCIPlpiGetSolverName(), SCIPmemCreate(), SCIPnlpInclude(), SCIPsetCreate(), SCIPsetIncludeExternalCode(), and TRUE.

Referenced by applyOfins(), applyVbounds(), copyAndSolveComponent(), createSubSCIP(), createSubscip(), getActivities(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPcomputeCoverUndercover(), SCIPcreateFiniteSolCopy(), SCIPrunShell(), searchEcAggr(), setupProbingSCIP(), solveSubMIP(), and solveSubproblem().

SCIP_RETCODE SCIPfree ( SCIP **  scip)
SCIP_STAGE SCIPgetStage ( SCIP scip)

returns current stage of SCIP

Returns
the current SCIP stage

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 801 of file scip.c.

References NULL, Scip::set, and SCIP_Set::stage.

Referenced by addCoef(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictOne(), analyzeConflictUpperbound(), analyzeConflictZero(), applyGenVBound(), applyProbing(), branchruledataEnsureArraySize(), checkLocksAndRes(), checkParam(), computeViolation(), computeViolations(), consdataCreate(), consDropAllEvents(), constructCompression(), createCGCuts(), createConsSetppc(), delCoefPos(), displayRelevantStats(), generateConvexConcaveEstimator(), generateCut(), getGradientMaxElement(), getLinVarsAndAndRess(), heurdataEnsureArraySize(), performDualfix(), permSortConsdata(), presolComponents(), printSolutionStatistics(), printTimingStatistics(), processBinvarFixings(), propagateBounds(), propagateCons(), propagateVbounds(), propIndicator(), proposeFeasibleSolution(), readDiffFile(), reformulate(), removeFixedBinvars(), removeFixedVariables(), resolvePropagationCoretimes(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSDEACTIVE(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSDISABLE(), SCIP_DECL_CONSENABLE(), SCIP_DECL_CONSEXITSOL(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSTRANS(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_READERREAD(), SCIPaddBilinTermQuadratic(), SCIPaddConstantQuadratic(), SCIPaddLinearVarQuadratic(), SCIPaddQuadVarLinearCoefQuadratic(), SCIPaddQuadVarQuadratic(), SCIPaddSquareCoefQuadratic(), SCIPanalyzeDeductionsProbing(), SCIPapplyHeurSubNlp(), SCIPchgBilinCoefQuadratic(), SCIPchgCapacityKnapsack(), SCIPchgCoefLinear(), SCIPchgConsName(), SCIPchgLhsQuadratic(), SCIPchgLinearCoefQuadratic(), SCIPchgRhsQuadratic(), SCIPchgSquareCoefQuadratic(), SCIPchgVarName(), SCIPchgVarType(), SCIPcreateConsCumulative(), SCIPcreateConsLinear(), SCIPcreateConsLinking(), SCIPcreateConsLogicor(), SCIPcreateConsNonlinear2(), SCIPcreateConsSOS1(), SCIPgetExprtreeCoefsNonlinear(), SCIPgetExprtreeCurvaturesNonlinear(), SCIPgetExprtreesNonlinear(), SCIPgetNExprtreesNonlinear(), SCIPgetVarCopy(), SCIPgetViolationNonlinear(), SCIPinferVarFixCons(), SCIPinferVarFixProp(), SCIPmakeIndicatorFeasible(), SCIPmakeIndicatorsFeasible(), SCIPmergeVariableStatistics(), SCIPprintDualSol(), SCIPresolveSolHeurSubNlp(), SCIPsetLinearConsIndicator(), SCIPtransformMinUC(), SCIPupdateStartpointHeurSubNlp(), SCIPwriteGms(), solveSubNLP(), tightenBounds(), and tightenedIntvar().

SCIP_RETCODE SCIPprintStage ( SCIP scip,
FILE *  file 
)

outputs SCIP stage and solution status if applicable via the message handler

Note
If the message handler is set to a NULL pointer nothing will be printed
If limits have been changed between the solution and the call to this function, the status is recomputed and thus may to correspond to the original status.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)

Definition at line 823 of file scip.c.

References checkStage(), getPrimalbound(), Scip::messagehdlr, SCIP_Primal::nlimsolsfound, Scip::primal, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INIT, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPisInfinity(), SCIPmessageFPrintInfo(), SCIPprintStatus(), SCIPsolveIsStopped(), Scip::set, SCIP_Set::stage, Scip::stat, and TRUE.

Referenced by displayRelevantStats(), and SCIPprintStatistics().

SCIP_RETCODE SCIPprintStatus ( SCIP scip,
FILE *  file 
)

outputs solution status

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.

See SCIP_STATUS for a complete list of all possible solving status.

Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)

Definition at line 931 of file scip.c.

References checkStage(), Scip::messagehdlr, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STATUS_BESTSOLLIMIT, SCIP_STATUS_GAPLIMIT, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_MEMLIMIT, SCIP_STATUS_NODELIMIT, SCIP_STATUS_OPTIMAL, SCIP_STATUS_RESTARTLIMIT, SCIP_STATUS_SOLLIMIT, SCIP_STATUS_STALLNODELIMIT, SCIP_STATUS_TIMELIMIT, SCIP_STATUS_TOTALNODELIMIT, SCIP_STATUS_UNBOUNDED, SCIP_STATUS_UNKNOWN, SCIP_STATUS_USERINTERRUPT, SCIPerrorMessage, SCIPgetStatus(), SCIPmessageFPrintInfo(), and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPprintStage().

SCIP_Bool SCIPisExactSolve ( SCIP scip)

returns whether the solution process should be probably correct

Note
This feature is not supported yet!
Returns
Returns TRUE if SCIP is exact solving mode, otherwise FALSE
Parameters
scipSCIP data structure

Definition at line 1012 of file scip.c.

References SCIP_Set::misc_exactsolve, NULL, and Scip::set.

Referenced by branch(), execRelpscost(), SCIP_DECL_BRANCHEXECLP(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), and selectVarMultAggrBranching().

SCIP_Bool SCIPisPresolveFinished ( SCIP scip)

returns whether the presolving process would be finished given no more presolving reductions are found in this presolving round

Checks whether the number of presolving rounds is not exceeded and the presolving reductions found in the current presolving round suffice to trigger another presolving round.

Note
if subsequent presolvers find more reductions, presolving might continue even if the method returns FALSE
does not check whether infeasibility or unboundedness was already detected in presolving (which would result in presolving being stopped although the method returns TRUE)
Returns
Returns TRUE if presolving is finished if no further reductions are detected
Parameters
scipSCIP data structure

Definition at line 1034 of file scip.c.

References checkStage(), Scip::cliquetable, FALSE, SCIP_Stat::lastnpresoladdconss, SCIP_Stat::lastnpresoladdholes, SCIP_Stat::lastnpresolaggrvars, SCIP_Stat::lastnpresolchgbds, SCIP_Stat::lastnpresolchgcoefs, SCIP_Stat::lastnpresolchgsides, SCIP_Stat::lastnpresolchgvartypes, SCIP_Stat::lastnpresoldelconss, SCIP_Stat::lastnpresolfixedvars, SCIP_Stat::lastnpresolupgdconss, SCIP_Prob::nbinvars, SCIP_Prob::nconss, SCIP_Stat::nimplications, SCIP_Stat::npresoladdconss, SCIP_Stat::npresoladdholes, SCIP_Stat::npresolaggrvars, SCIP_Stat::npresolchgbds, SCIP_Stat::npresolchgcoefs, SCIP_Stat::npresolchgsides, SCIP_Stat::npresolchgvartypes, SCIP_Stat::npresoldelconss, SCIP_Stat::npresolfixedvars, SCIP_Stat::npresolrounds, SCIP_Stat::npresolupgdconss, NULL, SCIP_Prob::nvars, SCIP_Set::presol_abortfac, SCIP_Set::presol_maxrounds, SCIP_Bool, SCIP_CALL_ABORT, SCIPcliquetableGetNCliques(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by presolComponents(), presolve(), presolveRound(), and SCIP_DECL_CONSPRESOL().

SCIP_Bool SCIPhasPerformedPresolve ( SCIP scip)

returns whether SCIP has performed presolving during the last solve

Returns
Returns TRUE if presolving was performed during the last solve
Parameters
scipSCIP data structure

Definition at line 1096 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_Stat::performpresol, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Bool SCIPpressedCtrlC ( SCIP scip)

returns whether the user pressed CTRL-C to interrupt the solving process

Returns
Returns TRUE if Ctrl-C was pressed, otherwise FALSE.
Parameters
scipSCIP data structure

Definition at line 1112 of file scip.c.

References SCIPinterrupted().

Referenced by solveSubNLP().

void SCIPenableDebugSol ( SCIP scip)

enable debug solution mechanism

the debug solution mechanism allows to trace back the invalidation of a debug solution during the solution process of SCIP. It must be explicitly enabled for the SCIP data structure.

See also
debug.h for more information on debug solution mechanism
Parameters
scipSCIP data structure

Definition at line 1143 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPdebugSolEnable, and TRUE.

Referenced by SCIPrunShell().

void SCIPdisableDebugSol ( SCIP scip)

disable solution debugging mechanism

See also
debug.h for more information on debug solution mechanism
Parameters
scipSCIP data structure

Definition at line 1156 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPdebugSolDisable, and TRUE.

SCIP_RETCODE SCIPsetMessagehdlr ( SCIP scip,
SCIP_MESSAGEHDLR messagehdlr 
)

installs the given message handler, such that all messages are passed to this handler. A messages handler can be created via SCIPmessagehdlrCreate().

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Note
The currently installed messages handler gets freed if this SCIP instance is its last user (w.r.t. capture/release).
Parameters
scipSCIP data structure
messagehdlrmessage handler to install, or NULL to suppress all output

Definition at line 1181 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, SCIP_Set::nlpis, SCIP_Set::nnlpis, NULL, SCIP_CALL, SCIP_OKAY, SCIPmessagehdlrCapture(), SCIPmessagehdlrRelease(), SCIPnlpiSetMessageHdlr(), Scip::set, and TRUE.

Referenced by SCIPcopyPlugins().

void SCIPsetMessagehdlrLogfile ( SCIP scip,
const char *  filename 
)

sets the log file name for the currently installed message handler

Parameters
scipSCIP data structure
filenamename of log file, or NULL (no log)

Definition at line 1224 of file scip.c.

References Scip::messagehdlr, NULL, and SCIPmessagehdlrSetLogfile().

Referenced by SCIPprocessShellArguments().

void SCIPsetMessagehdlrQuiet ( SCIP scip,
SCIP_Bool  quiet 
)

sets the currently installed message handler to be quiet (or not)

Parameters
scipSCIP data structure
quietshould screen messages be suppressed?

Definition at line 1236 of file scip.c.

References Scip::messagehdlr, NULL, and SCIPmessagehdlrSetQuiet().

Referenced by SCIPcopy(), and SCIPprocessShellArguments().

void SCIPwarningMessage ( SCIP scip,
const char *  formatstr,
  ... 
)

prints a warning message via the message handler

Parameters
scipSCIP data structure
formatstrformat string like in printf() function

Definition at line 1248 of file scip.c.

References Scip::messagehdlr, NULL, and SCIPmessageVFPrintWarning().

Referenced by addConcaveEstimatorMultivariate(), applyBoundHeur(), applyFixings(), applyOfins(), applyVbounds(), checkAltLPInfeasible(), checkConsnames(), checkCurvature(), checkFixedVariables(), checkParam(), checkParameters(), checkVarnames(), computeAndConstraintInfos(), conshdlrdataHasUpgrade(), copyAndSolveComponent(), CREATE_CONSTRAINT(), createAndAddLinearCons(), fillDigraph(), forbidFixation(), getFixedVariable(), getNextLine(), getObjective(), getStatistics(), parseConstraint(), parseRange(), parseType(), presolveCreateGlineurApproxDim3(), printExpr(), printIndicatorCons(), readBinaries(), readBounds(), readCnf(), readCoefficients(), readFZNFile(), readGenerals(), readQCMatrix(), readQMatrix(), readRanges(), readRhs(), readSol(), readSOS(), readWarning(), readXMLSol(), replaceViolatedByLinearConstraints(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEURINIT(), SCIP_DECL_NONLINCONSUPGD(), SCIP_DECL_READERWRITE(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPcreateConsPseudobooleanWithConss(), SCIPcreateConsSuperindicator(), SCIPgetViolationNonlinear(), SCIPincludeNonlinconsUpgrade(), SCIPincludeReaderZpl(), SCIPnewProbingNode(), SCIPprintDualSol(), SCIPreadOpb(), SCIPsolve(), SCIPwriteCcg(), SCIPwriteGms(), SCIPwriteImplicationConflictGraph(), SCIPwriteLp(), SCIPwriteOpb(), SCIPwritePbm(), SCIPwritePip(), SCIPwritePpm(), setupSCIPparamsFP2(), setupSCIPparamsStage3(), solveCoveringProblem(), solveLP(), solveLp(), solveSubMIP(), solveSubNLP(), solveSubproblem(), solveSubscip(), writeFzn(), and writeOpbConstraints().

void SCIPdialogMessage ( SCIP scip,
FILE *  file,
const char *  formatstr,
  ... 
)

prints a dialog message that requests user interaction or is a direct response to a user interactive command

Parameters
scipSCIP data structure
filefile stream to print into, or NULL for stdout
formatstrformat string like in printf() function

Definition at line 1264 of file scip.c.

References Scip::messagehdlr, NULL, and SCIPmessageVFPrintDialog().

Referenced by dialogExecMenu(), displayReaders(), parseBoolValue(), scip::ObjDialog::SCIP_DECL_DIALOGDESC(), SCIP_DECL_DIALOGDESC(), SCIP_DECL_DIALOGEXEC(), SCIPdialogDisplayMenu(), SCIPdialogDisplayMenuEntry(), and writeProblem().

void SCIPinfoMessage ( SCIP scip,
FILE *  file,
const char *  formatstr,
  ... 
)

prints a message

Parameters
scipSCIP data structure
filefile stream to print into, or NULL for stdout
formatstrformat string like in printf() function

Definition at line 1281 of file scip.c.

References Scip::messagehdlr, NULL, and SCIPmessageVFPrintInfo().

Referenced by checkAllConss(), checkCons(), checkConsnames(), checkCumulativeCondition(), checkOrigPbCons(), checkSystemGF2(), checkVarnames(), computeInteriorPoint(), consdataCheckSuperindicator(), consdataCreate(), consdataFree(), consdataPrint(), copyAndSolveComponent(), createSubscip(), detectDominatingVlbs(), detectDominatingVubs(), endLine(), enforceIndicators(), extendToCover(), fillDigraph(), fromCommandLine(), isConvexLocal(), nodepartitionIsConnected(), printBoundSection(), printBoundSectionName(), printColumnSection(), printEntry(), printIndicatorCons(), printNLRow(), printPBRow(), printRangeSection(), printRecord(), printRhsSection(), printRow(), printRowType(), printStart(), printValue(), readParams(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSEXITSOL(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HASHKEYVAL(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_READERWRITE(), SCIPprintExternalCodes(), SCIPprintSolReaderFzn(), SCIPprocessShellArguments(), SCIPwriteCcg(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePbm(), SCIPwritePip(), SCIPwritePpm(), SCIPwriteVarName(), SCIPwriteVarsLinearsum(), SCIPwriteVarsList(), SCIPwriteVarsPolynomial(), selectVarMultAggrBranching(), solCutIsViolated(), splitProblem(), TCLIQUE_NEWSOL(), writeBuffer(), writeExpandedSolutions(), writeFzn(), writeOpb(), writeOpbConstraints(), and writeOpbObjective().

SCIP_VERBLEVEL SCIPgetVerbLevel ( SCIP scip)

returns the current message verbosity level

Returns
message verbosity level of SCIP
See also
SCIP_VERBLEVEL for a list of all verbosity levels
Parameters
scipSCIP data structure

Definition at line 1322 of file scip.c.

References SCIP_Set::disp_verblevel, NULL, and Scip::set.

Referenced by SCIP_DECL_READERCOPY().

static SCIP_Bool takeCut ( SCIP scip,
SCIP_CUT cut,
char  cutsel 
)
static

returns true if the cut matches the selection criterium for copying

Parameters
scipSCIP data structure
cuta cut
cutselcut selection for sub SCIPs ('a'ge, activity 'q'uotient)

Definition at line 1339 of file scip.c.

References FALSE, NULL, SCIP_Bool, SCIPABORT, SCIPcutGetAge(), SCIPcutGetLPActivityQuot(), SCIPcutGetRow(), SCIPerrorMessage, SCIProwIsInLP(), SCIP_Set::sepa_minactivityquot, and Scip::set.

Referenced by copyCuts().

static SCIP_RETCODE copyCuts ( SCIP sourcescip,
SCIP targetscip,
SCIP_CUT **  cuts,
int  ncuts,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
SCIP_Bool  global,
int *  ncutsadded 
)
static

copy active and tight cuts from one SCIP instance to linear constraints of another SCIP instance

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
cutscuts to copy
ncutsnumber of cuts to copy
varmapa hashmap to store the mapping of source variables corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
globalcreate a global or a local copy?
ncutsaddedpointer to store number of copied cuts

Definition at line 1372 of file scip.c.

References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddCons(), SCIPallocBufferArray, SCIPcolGetVar(), SCIPconsGetName(), SCIPcreateConsLinear(), SCIPcutGetRow(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPfreeBufferArray, SCIPgetNRuns(), SCIPgetVarCopy(), SCIPisInRestart(), SCIPreleaseCons(), SCIProwGetCols(), SCIProwGetConstant(), SCIProwGetLhs(), SCIProwGetName(), SCIProwGetNNonz(), SCIProwGetRhs(), SCIProwGetVals(), SCIProwIsLocal(), SCIProwIsModifiable(), SCIPsnprintf(), SCIP_Set::sepa_cutselrestart, SCIP_Set::sepa_cutselsubscip, Scip::set, takeCut(), and TRUE.

Referenced by SCIPcopyCuts().

SCIP_RETCODE SCIPcopyPlugins ( SCIP sourcescip,
SCIP targetscip,
SCIP_Bool  copyreaders,
SCIP_Bool  copypricers,
SCIP_Bool  copyconshdlrs,
SCIP_Bool  copyconflicthdlrs,
SCIP_Bool  copypresolvers,
SCIP_Bool  copyrelaxators,
SCIP_Bool  copyseparators,
SCIP_Bool  copypropagators,
SCIP_Bool  copyheuristics,
SCIP_Bool  copyeventhdlrs,
SCIP_Bool  copynodeselectors,
SCIP_Bool  copybranchrules,
SCIP_Bool  copydisplays,
SCIP_Bool  copydialogs,
SCIP_Bool  copynlpis,
SCIP_Bool  passmessagehdlr,
SCIP_Bool valid 
)

copies plugins from sourcescip to targetscip; in case that a constraint handler which does not need constraints cannot be copied, valid will return FALSE. All plugins can declare that, if their copy process failed, the copied SCIP instance might not represent the same problem semantics as the original. Note that in this case dual reductions might be invalid.

Note
In a multi thread case, you need to lock the copying procedure from outside with a mutex. Also, 'passmessagehdlr' should be set to FALSE.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Postcondition
After calling this method targetscip reaches one of the following stages depending on if and when the solution process was interrupted:
Note
sourcescip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
copyreadersshould the file readers be copied
copypricersshould the variable pricers be copied
copyconshdlrsshould the constraint handlers be copied
copyconflicthdlrsshould the conflict handlers be copied
copypresolversshould the presolvers be copied
copyrelaxatorsshould the relaxation handlers be copied
copyseparatorsshould the separators be copied
copypropagatorsshould the propagators be copied
copyheuristicsshould the heuristics be copied
copyeventhdlrsshould the event handlers be copied
copynodeselectorsshould the node selectors be copied
copybranchrulesshould the branchrules be copied
copydisplaysshould the display columns be copied
copydialogsshould the dialogs be copied
copynlpisshould the NLPIs be copied
passmessagehdlrshould the message handler be passed
validpointer to store whether plugins, in particular all constraint handlers which do not need constraints were validly copied

Definition at line 1510 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPgetMessagehdlr(), SCIPsetCopyPlugins(), SCIPsetMessagehdlr(), Scip::set, and TRUE.

Referenced by copyAndSolveComponent(), createSubSCIP(), SCIPapplyProximity(), SCIPcopy(), and SCIPcopyOrig().

static SCIP_RETCODE copyProb ( SCIP sourcescip,
SCIP targetscip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
SCIP_Bool  original,
SCIP_Bool  global,
const char *  name 
)
static

create a problem by copying the problem data of the source SCIP

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
varmapa hashmap to store the mapping of source variables corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
originalshould the original problem be copied?
globalcreate a global or a local copy? (set to TRUE for original copy)
nameproblem name of target

Definition at line 1557 of file scip.c.

References HASHTABLESIZE_FACTOR, Scip::mem, Scip::messagehdlr, NULL, Scip::origprimal, Scip::origprob, SCIP_Mem::probmem, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PROBLEM, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPfreeProb(), SCIPgetNConss(), SCIPgetNVars(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPisTransformed(), SCIPprimalCreate(), SCIPprobCopy(), SCIPstatCreate(), Scip::set, SCIP_Set::stage, Scip::stat, SCIP_Stat::subscipdepth, and Scip::transprob.

Referenced by SCIPcopyOrigProb(), and SCIPcopyProb().

SCIP_RETCODE SCIPcopyProb ( SCIP sourcescip,
SCIP targetscip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
SCIP_Bool  global,
const char *  name 
)

create a problem by copying the problem data of the source SCIP

Note
In a multi thread case, you need to lock the copying procedure from outside with a mutex.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Postcondition
After calling this method targetscip reaches one of the following stages depending on if and when the solution process was interrupted:
Note
sourcescip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
varmapa hashmap to store the mapping of source variables corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
globalcreate a global or a local copy?
nameproblem name of target

Definition at line 1667 of file scip.c.

References checkStage(), copyProb(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, and TRUE.

Referenced by SCIPcopy().

SCIP_RETCODE SCIPcopyOrigProb ( SCIP sourcescip,
SCIP targetscip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
const char *  name 
)

create a problem by copying the original problem data of the source SCIP

Note
In a multi thread case, you need to lock the copying procedure from outside with a mutex.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Postcondition
After calling this method targetscip reaches one of the following stages depending on if and when the solution process was interrupted:
Note
sourcescip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
varmapa hashmap to store the mapping of source variables corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
nameproblem name of target

Definition at line 1720 of file scip.c.

References checkStage(), copyProb(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPgetObjsense(), SCIPsetObjsense(), and TRUE.

Referenced by SCIPcopyOrig().

SCIP_RETCODE SCIPgetVarCopy ( SCIP sourcescip,
SCIP targetscip,
SCIP_VAR sourcevar,
SCIP_VAR **  targetvar,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
SCIP_Bool  global,
SCIP_Bool success 
)

returns copy of the source variable; if there already is a copy of the source variable in the variable hash map, it is just returned as target variable; otherwise a new variable will be created and added to the target SCIP; this created variable is added to the variable hash map and returned as target variable

Note
In a multi thread case, you need to lock the copying procedure from outside with a mutex.
Do not change the source SCIP environment during the copying process
if a new variable was created, this variable will be added to the target-SCIP, but it is not captured
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Note
targetscip stage does not get changed
sourcescip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
sourcevarsource variable
targetvarpointer to store the target variable
varmapa hashmap to store the mapping of source variables to the corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
globalshould global or local bounds be used?
successpointer to store whether the copying was successful or not

Definition at line 1781 of file scip.c.

References checkStage(), FALSE, HASHTABLESIZE_FACTOR, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPaddCoefLinear(), SCIPaddCons(), SCIPaddVar(), SCIPallocBufferArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPcreateConsLinear(), SCIPerrorMessage, SCIPflattenVarAggregationGraph(), SCIPfreeBufferArray, SCIPgetNConss(), SCIPgetNegatedVar(), SCIPgetNVars(), SCIPgetStage(), SCIPgetVarCopy(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPsnprintf(), SCIPvarCopy(), SCIPvarGetAggrConstant(), SCIPvarGetAggrScalar(), SCIPvarGetAggrVar(), SCIPvarGetMultaggrConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetName(), SCIPvarGetNegationVar(), SCIPvarGetStatus(), Scip::set, Scip::stat, and TRUE.

Referenced by copyConsPseudoboolean(), copyCuts(), copyVars(), SCIP_DECL_CONSCOPY(), SCIPcopyConsLinear(), SCIPcopyImplicationsCliques(), and SCIPgetVarCopy().

static SCIP_RETCODE copyVars ( SCIP sourcescip,
SCIP targetscip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
SCIP_Bool  original,
SCIP_Bool  global 
)
static

copies all original or active variables from source-SCIP and adds these variable to the target-SCIP; the mapping between these variables are stored in the variable hashmap, target-SCIP has to be in problem creation stage, fixed and aggregated variables do not get copied

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
varmapa hashmap to store the mapping of source variables to the corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
originalshould original variables be copied?
globalshould global or local bounds be used? (for original=FALSE)

Definition at line 2010 of file scip.c.

References HASHTABLESIZE_FACTOR, NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPerrorMessage, SCIPgetFixedVars(), SCIPgetNBinVars(), SCIPgetNConss(), SCIPgetNContVars(), SCIPgetNFixedVars(), SCIPgetNImplVars(), SCIPgetNIntVars(), SCIPgetNOrigBinVars(), SCIPgetNOrigContVars(), SCIPgetNOrigImplVars(), SCIPgetNOrigIntVars(), SCIPgetNVars(), SCIPgetOrigVarsData(), SCIPgetVarCopy(), SCIPgetVarsData(), SCIPhashmapCreate(), SCIPhashmapFree(), and SCIPvarGetType().

Referenced by SCIPcopyOrigVars(), and SCIPcopyVars().

SCIP_RETCODE SCIPcopyVars ( SCIP sourcescip,
SCIP targetscip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
SCIP_Bool  global 
)

copies all active variables from source-SCIP and adds these variable to the target-SCIP; the mapping between these variables are stored in the variable hashmap, target-SCIP has to be in problem creation stage, fixed and aggregated variables do not get copied

Note
the variables are added to the target-SCIP but not captured
In a multi thread case, you need to lock the copying procedure from outside with a mutex.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Note
sourcescip stage does not get changed
targetscip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
varmapa hashmap to store the mapping of source variables to the corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
globalshould global or local bounds be used?

Definition at line 2179 of file scip.c.

References checkStage(), copyVars(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, and TRUE.

Referenced by createSubSCIP(), SCIP_DECL_HEUREXEC(), SCIPapplyProximity(), SCIPapplyRens(), and SCIPcopy().

SCIP_RETCODE SCIPcopyOrigVars ( SCIP sourcescip,
SCIP targetscip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap 
)

copies all original variables from source-SCIP and adds these variable to the target-SCIP; the mapping between these variables are stored in the variable hashmap, target-SCIP has to be in problem creation stage, fixed and aggregated variables do not get copied

Note
the variables are added to the target-SCIP but not captured
In a multi thread case, you need to lock the copying procedure from outside with a mutex.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Note
sourcescip stage does not get changed
targetscip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
varmapa hashmap to store the mapping of source variables to the corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL

Definition at line 2233 of file scip.c.

References checkStage(), copyVars(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, and TRUE.

Referenced by SCIPcopyOrig().

SCIP_RETCODE SCIPmergeVariableStatistics ( SCIP sourcescip,
SCIP targetscip,
SCIP_VAR **  sourcevars,
SCIP_VAR **  targetvars,
int  nvars 
)

merges the histories of variables from a source SCIP into a target SCIP. The two data structures should point to different SCIP instances.

Note
the notion of source and target is inverted here; sourcescip usually denotes a copied SCIP instance, whereas targetscip denotes the original instance
Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
sourcevarssource variables for history merge
targetvarstarget variables for history merge
nvarsnumber of variables in both variable arrays

Definition at line 2260 of file scip.c.

References SCIP_Set::history_allowmerge, NULL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_ORIGINAL, SCIPgetOrigObjoffset(), SCIPgetOrigObjscale(), SCIPgetStage(), SCIPsetIsEQ(), SCIPvarGetStatus(), SCIPvarGetTransVar(), SCIPvarMergeHistories(), Scip::set, and Scip::stat.

Referenced by SCIP_DECL_HEUREXEC(), SCIPapplyRens(), and solveSubproblem().

SCIP_RETCODE SCIPgetConsCopy ( SCIP sourcescip,
SCIP targetscip,
SCIP_CONS sourcecons,
SCIP_CONS **  targetcons,
SCIP_CONSHDLR sourceconshdlr,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
const char *  name,
SCIP_Bool  initial,
SCIP_Bool  separate,
SCIP_Bool  enforce,
SCIP_Bool  check,
SCIP_Bool  propagate,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  dynamic,
SCIP_Bool  removable,
SCIP_Bool  stickingatnode,
SCIP_Bool  global,
SCIP_Bool success 
)

returns copy of the source constraint; if there already is a copy of the source constraint in the constraint hash map, it is just returned as target constraint; elsewise a new constraint will be created; this created constraint is added to the constraint hash map and returned as target constraint; the variable map is used to map the variables of the source SCIP to the variables of the target SCIP

Warning
If a constraint is marked to be checked for feasibility but not to be enforced, a LP or pseudo solution may be declared feasible even if it violates this particular constraint. This constellation should only be used, if no LP or pseudo solution can violate the constraint – e.g. if a local constraint is redundant due to the variable's local bounds.
Note
The constraint is not added to the target SCIP. You can check whether a constraint is added by calling SCIPconsIsAdded(). (If you mix SCIPgetConsCopy() with SCIPcopyConss() you should pay attention to what you add explicitly and what is already added.)
The constraint is always captured, either during the creation of the copy or after finding the copy of the constraint in the constraint hash map
In a multi thread case, you need to lock the copying procedure from outside with a mutex.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Note
sourcescip stage does not get changed
targetscip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
sourceconssource constraint of the source SCIP
targetconspointer to store the created target constraint
sourceconshdlrsource constraint handler for this constraint
varmapa SCIP_HASHMAP mapping variables of the source SCIP to the corresponding variables of the target SCIP, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
namename of constraint, or NULL if the name of the source constraint should be used
initialshould the LP relaxation of constraint be in the initial LP?
separateshould the constraint be separated during LP processing?
enforceshould the constraint be enforced during node processing?
checkshould the constraint be checked for feasibility?
propagateshould the constraint be propagated during node processing?
localis constraint only valid locally?
modifiableis constraint modifiable (subject to column generation)?
dynamicis constraint subject to aging?
removableshould the relaxation be removed from the LP due to aging or cleanup?
stickingatnodeshould the constraint always be kept at the node where it was added, even if it may be moved to a more global node?
globalcreate a global or a local copy?
successpointer to store whether the copying was successful or not

Definition at line 2365 of file scip.c.

References checkStage(), FALSE, HASHTABLESIZE_FACTOR, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPcaptureCons(), SCIPconsCopy(), SCIPgetNConss(), SCIPgetNVars(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPhashmapInsert(), Scip::set, and TRUE.

Referenced by copyAndSolveComponent(), copyConsPseudoboolean(), SCIP_DECL_CONSCOPY(), SCIPcopyConss(), and SCIPcopyOrigConss().

SCIP_RETCODE SCIPcopyConss ( SCIP sourcescip,
SCIP targetscip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
SCIP_Bool  global,
SCIP_Bool  enablepricing,
SCIP_Bool valid 
)

copies constraints from the source-SCIP and adds these to the target-SCIP; for mapping the variables between the source and the target SCIP a hash map can be given; if the variable hash map is NULL or necessary variable mapping is missing, the required variables are created in the target-SCIP and added to the hash map, if not NULL; all variables which are created are added to the target-SCIP but not (user) captured; if the constraint hash map is not NULL the mapping between the constraints of the source and target-SCIP is stored

Note
the constraints are added to the target-SCIP but are not (user) captured in the target SCIP. (If you mix SCIPgetConsCopy() with SCIPcopyConss() you should pay attention to what you add explicitly and what is already added.) You can check whether a constraint is added by calling SCIPconsIsAdded().
In a multi thread case, you need to lock the copying procedure from outside with a mutex.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Note
sourcescip stage does not get changed
targetscip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
varmapa SCIP_HASHMAP mapping variables of the source SCIP to the corresponding variables of the target SCIP, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
globalcreate a global or a local copy?
enablepricingshould pricing be enabled in copied SCIP instance? If TRUE, the modifiable flag of constraints will be copied.
validpointer to store whether all constraints were validly copied

Definition at line 2497 of file scip.c.

References checkStage(), FALSE, HASHTABLESIZE_FACTOR, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddCons(), SCIPblkmem(), SCIPcalcHashtableSize(), SCIPconsGetName(), SCIPconshdlrGetCheckConss(), SCIPconshdlrGetConss(), SCIPconshdlrGetNActiveConss(), SCIPconshdlrGetName(), SCIPconshdlrGetNCheckConss(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsDeleted(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsSetModifiable(), SCIPdebugMessage, SCIPgetConsCopy(), SCIPgetConshdlrs(), SCIPgetNConshdlrs(), SCIPgetNConss(), SCIPgetNVars(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPisTransformed(), SCIPreleaseCons(), and TRUE.

Referenced by createSubSCIP(), and SCIPcopy().

SCIP_RETCODE SCIPcopyOrigConss ( SCIP sourcescip,
SCIP targetscip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
SCIP_Bool  enablepricing,
SCIP_Bool valid 
)

copies all original constraints from the source-SCIP and adds these to the target-SCIP; for mapping the variables between the source and the target SCIP a hash map can be given; if the variable hash map is NULL or necessary variable mapping is missing, the required variables are created in the target-SCIP and added to the hash map, if not NULL; all variables which are created are added to the target-SCIP but not (user) captured; if the constraint hash map is not NULL the mapping between the constraints of the source and target-SCIP is stored

Note
the constraints are added to the target-SCIP but are not (user) captured in the target SCIP. (If you mix SCIPgetConsCopy() with SCIPcopyConss() you should pay attention to what you add explicitly and what is already added.) You can check whether a constraint is added by calling SCIPconsIsAdded().
In a multi thread case, you need to lock the copying procedure from outside with a mutex.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Note
sourcescip stage does not get changed
targetscip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
varmapa SCIP_HASHMAP mapping variables of the source SCIP to the corresponding variables of the target SCIP, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
enablepricingshould pricing be enabled in copied SCIP instance? If TRUE, the modifiable flag of constraints will be copied.
validpointer to store whether all constraints were validly copied

Definition at line 2690 of file scip.c.

References checkStage(), FALSE, HASHTABLESIZE_FACTOR, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddCons(), SCIPblkmem(), SCIPcalcHashtableSize(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsModifiable(), SCIPconsIsOriginal(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsSetModifiable(), SCIPdebugMessage, SCIPgetConsCopy(), SCIPgetNConss(), SCIPgetNOrigConss(), SCIPgetNVars(), SCIPgetOrigConss(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPreleaseCons(), and TRUE.

Referenced by SCIPcopyOrig().

SCIP_RETCODE SCIPconvertCutsToConss ( SCIP scip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
SCIP_Bool  global,
int *  ncutsadded 
)

convert all active cuts from cutpool to linear constraints

Note
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varmapa hashmap to store the mapping of source variables corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
globalcreate a global or a local copy?
ncutsaddedpointer to store number of added cuts, or NULL

Definition at line 2823 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPcopyCuts(), Scip::set, SCIP_Set::stage, and TRUE.

SCIP_RETCODE SCIPcopyCuts ( SCIP sourcescip,
SCIP targetscip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
SCIP_Bool  global,
int *  ncutsadded 
)

copies all active cuts from cutpool of sourcescip to linear constraints in targetscip

Note
In a multi thread case, you need to lock the copying procedure from outside with a mutex.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Note
sourcescip stage does not get changed
targetscip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
varmapa hashmap to store the mapping of source variables corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
globalcreate a global or a local copy?
ncutsaddedpointer to store number of copied cuts, or NULL

Definition at line 2883 of file scip.c.

References checkStage(), copyCuts(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPdebugMessage, SCIPfindConshdlr(), SCIPgetDelayedPoolCuts(), SCIPgetNDelayedPoolCuts(), SCIPgetNPoolCuts(), SCIPgetPoolCuts(), Scip::set, SCIP_Set::stage, and TRUE.

Referenced by applyOfins(), applyVbounds(), SCIP_DECL_HEUREXEC(), SCIPapplyRens(), SCIPconvertCutsToConss(), setupProbingSCIP(), and solveSubproblem().

SCIP_RETCODE SCIPcopyImplicationsCliques ( SCIP sourcescip,
SCIP targetscip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
SCIP_Bool  global,
SCIP_Bool infeasible,
int *  nbdchgs,
int *  ncopied 
)

copies implications and cliques of sourcescip to targetscip

This function should be called for a targetscip in transformed stage. It can save time in presolving of the targetscip, since implications and cliques are copied.

Note
In a multi thread case, you need to lock the copying procedure from outside with a mutex.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Note
sourcescip stage does not get changed
targetscip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
varmapa hashmap to store the mapping of source variables corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
globalcreate a global or a local copy?
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to store the number of performed bound changes, or NULL
ncopiedpointer to store number of copied implications and cliques, or NULL

Definition at line 2980 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddClique(), SCIPaddVarImplication(), SCIPallocBufferArray, SCIPcliqueGetNVars(), SCIPcliqueGetValues(), SCIPcliqueGetVars(), SCIPcliqueIsEquation(), SCIPdebugMessage, SCIPfreeBufferArray, SCIPgetCliques(), SCIPgetNCliques(), SCIPgetVarCopy(), SCIPgetVarsData(), SCIPvarGetImplBounds(), SCIPvarGetImplTypes(), SCIPvarGetImplVars(), SCIPvarGetName(), SCIPvarGetNImpls(), and TRUE.

SCIP_RETCODE SCIPcopyParamSettings ( SCIP sourcescip,
SCIP targetscip 
)

copies parameter settings from sourcescip to targetscip

Note
In a multi thread case, you need to lock the copying procedure from outside with a mutex.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Note
sourcescip stage does not get changed
targetscip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure

Definition at line 3164 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetCopyParams(), Scip::set, and TRUE.

Referenced by copyAndSolveComponent(), createSubSCIP(), SCIPcopy(), SCIPcopyOrig(), and setupSCIPparamsStage3().

int SCIPgetSubscipDepth ( SCIP scip)

gets depth of current scip instance (increased by each copy call)

Returns
Depth of subscip of SCIP is returned.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 3205 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL_ABORT, Scip::stat, SCIP_Stat::subscipdepth, and TRUE.

Referenced by SCIP_DECL_CONSINITSOL(), and SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPcopy ( SCIP sourcescip,
SCIP targetscip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
const char *  suffix,
SCIP_Bool  global,
SCIP_Bool  enablepricing,
SCIP_Bool  passmessagehdlr,
SCIP_Bool valid 
)

copies source SCIP to target SCIP; the copying process is done in the following order: 1) copy the plugins 2) copy the settings 3) create problem data in target-SCIP and copy the problem data of the source-SCIP 4) copy all active variables 5) copy all constraints

Note
all variables and constraints which are created in the target-SCIP are not (user) captured
In a multi thread case, you need to lock the copying procedure from outside with a mutex. Also, 'passmessagehdlr' should be set to FALSE.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Note
sourcescip stage does not get changed
targetscip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
varmapa hashmap to store the mapping of source variables corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
suffixoptional suffix for problem name inside the target SCIP
globalcreate a global or a local copy?
enablepricingshould pricing be enabled in copied SCIP instance? If TRUE, pricer plugins will be copied and activated, and the modifiable flag of constraints will be respected. If FALSE, valid will be set to FALSE, when there are pricers present
passmessagehdlrshould the message handler be passed
validpointer to store whether the copying was valid or not

Definition at line 3254 of file scip.c.

References checkStage(), SCIP_Stat::copyclock, FALSE, HASHTABLESIZE_FACTOR, SCIP_Stat::maxcopytime, Scip::messagehdlr, SCIP_Stat::mincopytime, SCIP_Stat::ncopies, NULL, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPclockGetTime(), SCIPclockStart(), SCIPclockStop(), SCIPcopyConss(), SCIPcopyParamSettings(), SCIPcopyPlugins(), SCIPcopyProb(), SCIPcopyVars(), SCIPdebugMessage, SCIPgetNActivePricers(), SCIPgetNConss(), SCIPgetNVars(), SCIPgetProbName(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPmessagehdlrIsQuiet(), SCIPsetMessagehdlrQuiet(), SCIPsnprintf(), Scip::set, Scip::stat, and TRUE.

Referenced by applyOfins(), applyVbounds(), SCIP_DECL_HEUREXEC(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), setupProbingSCIP(), solveSubMIP(), and solveSubproblem().

SCIP_RETCODE SCIPcopyOrig ( SCIP sourcescip,
SCIP targetscip,
SCIP_HASHMAP varmap,
SCIP_HASHMAP consmap,
const char *  suffix,
SCIP_Bool  enablepricing,
SCIP_Bool  passmessagehdlr,
SCIP_Bool valid 
)

copies source SCIP original problem to target SCIP; the copying process is done in the following order: 1) copy the plugins 2) copy the settings 3) create problem data in target-SCIP and copy the original problem data of the source-SCIP 4) copy all original variables 5) copy all original constraints

Note
all variables and constraints which are created in the target-SCIP are not (user) captured
In a multi thread case, you need to lock the copying procedure from outside with a mutex. Also, 'passmessagehdlr' should be set to FALSE.
Do not change the source SCIP environment during the copying process
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if sourcescip is in one of the following stages:
This method can be called if targetscip is in one of the following stages:
Note
sourcescip stage does not get changed
targetscip stage does not get changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
sourcescipsource SCIP data structure
targetsciptarget SCIP data structure
varmapa hashmap to store the mapping of source variables corresponding target variables, or NULL
consmapa hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL
suffixsuffix which will be added to the names of the target SCIP, might be empty
enablepricingshould pricing be enabled in copied SCIP instance? If TRUE, pricer plugins will be copied and activated, and the modifiable flag of constraints will be respected. If FALSE, valid will be set to FALSE, when there are pricers present
passmessagehdlrshould the message handler be passed
validpointer to store whether the copying was valid or not

Definition at line 3419 of file scip.c.

References checkStage(), SCIP_Stat::copyclock, FALSE, HASHTABLESIZE_FACTOR, SCIP_Stat::maxcopytime, SCIP_Stat::mincopytime, SCIP_Stat::ncopies, NULL, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPclockGetTime(), SCIPclockStart(), SCIPclockStop(), SCIPcopyOrigConss(), SCIPcopyOrigProb(), SCIPcopyOrigVars(), SCIPcopyParamSettings(), SCIPcopyPlugins(), SCIPdebugMessage, SCIPgetNActivePricers(), SCIPgetNConss(), SCIPgetNVars(), SCIPgetProbName(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPsnprintf(), Scip::set, Scip::stat, and TRUE.

Referenced by SCIPcreateFiniteSolCopy().

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 
)

creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
descdescription of the parameter
valueptrpointer to store the current parameter value, or NULL
isadvancedis this parameter an advanced parameter?
defaultvaluedefault value of the parameter
paramdatalocally defined parameter specific data

Definition at line 3547 of file scip.c.

References Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetAddBoolParam(), Scip::set, and SCIP_Mem::setmem.

Referenced by includeConshdlrCountsols(), SCIPincludeBranchruleCloud(), SCIPincludeBranchruleDistribution(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleInference(), SCIPincludeBranchruleMultAggr(), SCIPincludeBranchruleRelpscost(), SCIPincludeComprWeakcompr(), SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrDisjunction(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrPseudoboolean(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrVarbound(), SCIPincludeConshdlrXor(), SCIPincludeHeurBound(), SCIPincludeHeurCrossover(), SCIPincludeHeurDins(), SCIPincludeHeurDualval(), SCIPincludeHeurIndicator(), SCIPincludeHeurIntdiving(), SCIPincludeHeurLocalbranching(), SCIPincludeHeurMutation(), SCIPincludeHeurOctane(), SCIPincludeHeurOfins(), SCIPincludeHeurOneopt(), SCIPincludeHeurProximity(), SCIPincludeHeurRandrounding(), SCIPincludeHeurRens(), SCIPincludeHeurRins(), SCIPincludeHeurRounding(), SCIPincludeHeurShiftandpropagate(), SCIPincludeHeurSimplerounding(), SCIPincludeHeurSubNlp(), SCIPincludeHeurTwoopt(), SCIPincludeHeurUndercover(), SCIPincludeHeurVbounds(), SCIPincludeHeurZeroobj(), SCIPincludeHeurZirounding(), SCIPincludeNodeselRestartdfs(), SCIPincludeNodeselUct(), SCIPincludeNonlinconsUpgrade(), SCIPincludePresolBoundshift(), SCIPincludePresolComponents(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePropRedcost(), SCIPincludePropRootredcost(), SCIPincludePropVbounds(), SCIPincludeQuadconsUpgrade(), SCIPincludeReaderCip(), SCIPincludeReaderCnf(), SCIPincludeReaderGms(), SCIPincludeReaderLp(), SCIPincludeReaderMps(), SCIPincludeReaderOpb(), SCIPincludeReaderPbm(), SCIPincludeReaderPpm(), SCIPincludeReaderZpl(), SCIPincludeSepaCGMIP(), SCIPincludeSepaClosecuts(), SCIPincludeSepaDisjunctive(), SCIPincludeSepaEccuts(), SCIPincludeSepaGomory(), SCIPincludeSepaImpliedbounds(), SCIPincludeSepaMcf(), SCIPincludeSepaOddcycle(), and SCIPincludeSepaStrongcg().

SCIP_RETCODE SCIPaddIntParam ( SCIP scip,
const char *  name,
const char *  desc,
int *  valueptr,
SCIP_Bool  isadvanced,
int  defaultvalue,
int  minvalue,
int  maxvalue,
SCIP_DECL_PARAMCHGD((*paramchgd))  ,
SCIP_PARAMDATA paramdata 
)

creates a int parameter, sets it to its default value, and adds it to the parameter set

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
descdescription of the parameter
valueptrpointer to store the current parameter value, or NULL
isadvancedis this parameter an advanced parameter?
defaultvaluedefault value of the parameter
minvalueminimum value for parameter
maxvaluemaximum value for parameter
paramdatalocally defined parameter specific data

Definition at line 3573 of file scip.c.

References Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetAddIntParam(), Scip::set, and SCIP_Mem::setmem.

Referenced by SCIPincludeBranchruleCloud(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleMultAggr(), SCIPincludeBranchrulePscost(), SCIPincludeBranchruleRandom(), SCIPincludeBranchruleRelpscost(), SCIPincludeComprLargestrepr(), SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrXor(), SCIPincludeHeurBound(), SCIPincludeHeurCrossover(), SCIPincludeHeurDins(), SCIPincludeHeurDualval(), SCIPincludeHeurFixandinfer(), SCIPincludeHeurIntdiving(), SCIPincludeHeurLocalbranching(), SCIPincludeHeurMutation(), SCIPincludeHeurObjpscostdiving(), SCIPincludeHeurOctane(), SCIPincludeHeurRandrounding(), SCIPincludeHeurReoptsols(), SCIPincludeHeurRins(), SCIPincludeHeurRootsoldiving(), SCIPincludeHeurRounding(), SCIPincludeHeurShiftandpropagate(), SCIPincludeHeurSubNlp(), SCIPincludeHeurTwoopt(), SCIPincludeHeurUndercover(), SCIPincludeHeurVbounds(), SCIPincludeHeurZirounding(), SCIPincludeNlpi(), SCIPincludeNodeselBfs(), SCIPincludeNodeselEstimate(), SCIPincludeNodeselHybridestim(), SCIPincludeNodeselRestartdfs(), SCIPincludeNodeselUct(), SCIPincludePresolComponents(), SCIPincludePresolDomcol(), SCIPincludeReaderPbm(), SCIPincludeReaderPpm(), SCIPincludeSepaCGMIP(), SCIPincludeSepaClique(), SCIPincludeSepaClosecuts(), SCIPincludeSepaDisjunctive(), SCIPincludeSepaEccuts(), SCIPincludeSepaGomory(), SCIPincludeSepaMcf(), SCIPincludeSepaOddcycle(), and SCIPincludeSepaStrongcg().

SCIP_RETCODE SCIPaddLongintParam ( SCIP scip,
const char *  name,
const char *  desc,
SCIP_Longint valueptr,
SCIP_Bool  isadvanced,
SCIP_Longint  defaultvalue,
SCIP_Longint  minvalue,
SCIP_Longint  maxvalue,
SCIP_DECL_PARAMCHGD((*paramchgd))  ,
SCIP_PARAMDATA paramdata 
)

creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
descdescription of the parameter
valueptrpointer to store the current parameter value, or NULL
isadvancedis this parameter an advanced parameter?
defaultvaluedefault value of the parameter
minvalueminimum value for parameter
maxvaluemaximum value for parameter
paramdatalocally defined parameter specific data

Definition at line 3601 of file scip.c.

References Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetAddLongintParam(), Scip::set, and SCIP_Mem::setmem.

Referenced by includeConshdlrCountsols(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleMultAggr(), SCIPincludeConshdlrCumulative(), SCIPincludeHeurCrossover(), SCIPincludeHeurDins(), SCIPincludeHeurOfins(), SCIPincludeHeurProximity(), SCIPincludeHeurRens(), SCIPincludeHeurUndercover(), SCIPincludeHeurVbounds(), SCIPincludeHeurZeroobj(), SCIPincludePresolBoundshift(), SCIPincludePresolComponents(), SCIPincludePresolConvertinttobin(), and SCIPincludeSepaCGMIP().

SCIP_RETCODE SCIPaddRealParam ( SCIP scip,
const char *  name,
const char *  desc,
SCIP_Real valueptr,
SCIP_Bool  isadvanced,
SCIP_Real  defaultvalue,
SCIP_Real  minvalue,
SCIP_Real  maxvalue,
SCIP_DECL_PARAMCHGD((*paramchgd))  ,
SCIP_PARAMDATA paramdata 
)

creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
descdescription of the parameter
valueptrpointer to store the current parameter value, or NULL
isadvancedis this parameter an advanced parameter?
defaultvaluedefault value of the parameter
minvalueminimum value for parameter
maxvaluemaximum value for parameter
paramdatalocally defined parameter specific data

Definition at line 3629 of file scip.c.

References Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetAddRealParam(), Scip::set, and SCIP_Mem::setmem.

Referenced by SCIPincludeBranchruleCloud(), SCIPincludeBranchruleInference(), SCIPincludeBranchrulePscost(), SCIPincludeBranchruleRelpscost(), SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrVarbound(), SCIPincludeEventHdlrSofttimelimit(), SCIPincludeHeurCrossover(), SCIPincludeHeurDins(), SCIPincludeHeurDualval(), SCIPincludeHeurIntdiving(), SCIPincludeHeurLocalbranching(), SCIPincludeHeurMutation(), SCIPincludeHeurObjpscostdiving(), SCIPincludeHeurOfins(), SCIPincludeHeurProximity(), SCIPincludeHeurRens(), SCIPincludeHeurRins(), SCIPincludeHeurRootsoldiving(), SCIPincludeHeurShiftandpropagate(), SCIPincludeHeurSubNlp(), SCIPincludeHeurTwoopt(), SCIPincludeHeurUndercover(), SCIPincludeHeurVbounds(), SCIPincludeHeurZeroobj(), SCIPincludeHeurZirounding(), SCIPincludeNodeselBfs(), SCIPincludeNodeselEstimate(), SCIPincludeNodeselHybridestim(), SCIPincludeNodeselUct(), SCIPincludePresolComponents(), SCIPincludeReaderGms(), SCIPincludeSepaCGMIP(), SCIPincludeSepaClique(), SCIPincludeSepaClosecuts(), SCIPincludeSepaDisjunctive(), SCIPincludeSepaEccuts(), SCIPincludeSepaGomory(), SCIPincludeSepaMcf(), and SCIPincludeSepaStrongcg().

SCIP_RETCODE SCIPaddCharParam ( SCIP scip,
const char *  name,
const char *  desc,
char *  valueptr,
SCIP_Bool  isadvanced,
char  defaultvalue,
const char *  allowedvalues,
SCIP_DECL_PARAMCHGD((*paramchgd))  ,
SCIP_PARAMDATA paramdata 
)

creates a char parameter, sets it to its default value, and adds it to the parameter set

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
descdescription of the parameter
valueptrpointer to store the current parameter value, or NULL
isadvancedis this parameter an advanced parameter?
defaultvaluedefault value of the parameter
allowedvaluesarray with possible parameter values, or NULL if not restricted
paramdatalocally defined parameter specific data

Definition at line 3657 of file scip.c.

References Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetAddCharParam(), Scip::set, and SCIP_Mem::setmem.

Referenced by SCIPincludeBranchruleDistribution(), SCIPincludeBranchrulePscost(), SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeHeurBound(), SCIPincludeHeurRens(), SCIPincludeHeurShiftandpropagate(), SCIPincludeHeurUndercover(), and SCIPincludeReaderGms().

SCIP_RETCODE SCIPaddStringParam ( SCIP scip,
const char *  name,
const char *  desc,
char **  valueptr,
SCIP_Bool  isadvanced,
const char *  defaultvalue,
SCIP_DECL_PARAMCHGD((*paramchgd))  ,
SCIP_PARAMDATA paramdata 
)

creates a string(char*) parameter, sets it to its default value, and adds it to the parameter set

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
descdescription of the parameter
valueptrpointer to store the current parameter value, or NULL; if not NULL then *valueptr should be NULL
isadvancedis this parameter an advanced parameter?
defaultvaluedefault value of the parameter
paramdatalocally defined parameter specific data

Definition at line 3684 of file scip.c.

References Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetAddStringParam(), Scip::set, and SCIP_Mem::setmem.

Referenced by SCIPincludeHeurSubNlp(), SCIPincludeHeurUndercover(), and SCIPincludeReaderZpl().

SCIP_Bool SCIPisParamFixed ( SCIP scip,
const char *  name 
)

gets the fixing status of an existing parameter

Returns
TRUE if the parameter is fixed to a value, otherwise FALSE.
Parameters
scipSCIP data structure
namename of the parameter

Definition at line 3709 of file scip.c.

References NULL, SCIPsetIsParamFixed(), and Scip::set.

Referenced by applyOfins(), applyVbounds(), checkParameters(), copyAndSolveComponent(), createSubSCIP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPsolve(), setupSCIPparamsFP2(), setupSCIPparamsStage3(), setupSubproblem(), solveCoveringProblem(), solveSubMIP(), solveSubNLP(), solveSubproblem(), and subscipSetParams().

SCIP_PARAM* SCIPgetParam ( SCIP scip,
const char *  name 
)

returns the pointer to the SCIP parameter with the given name

Returns
pointer to the parameter with the given name
Parameters
scipSCIP data structure
namename of the parameter

Definition at line 3724 of file scip.c.

References NULL, SCIPsetGetParam(), and Scip::set.

SCIP_RETCODE SCIPgetBoolParam ( SCIP scip,
const char *  name,
SCIP_Bool value 
)

gets the value of an existing SCIP_Bool parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
valuepointer to store the parameter

Definition at line 3740 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPsetGetBoolParam(), and Scip::set.

Referenced by checkConsnames(), checkVarnames(), createAndAddAndCons(), createVariable(), displayRelevantStats(), fromCommandLine(), getVariable(), mpsinputCreate(), printConformName(), printExpr(), readBounds(), readCnf(), readConstraints(), readSol(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_READERREAD(), SCIPcount(), SCIPreadLp(), SCIPreadPip(), SCIPreadProb(), SCIPwriteGms(), and writeOpb().

SCIP_RETCODE SCIPgetIntParam ( SCIP scip,
const char *  name,
int *  value 
)

gets the value of an existing int parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
valuepointer to store the parameter

Definition at line 3759 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPsetGetIntParam(), and Scip::set.

Referenced by addRelaxation(), checkParameters(), SCIP_DECL_DIALOGEXEC(), and SCIPapplyUndercover().

SCIP_RETCODE SCIPgetLongintParam ( SCIP scip,
const char *  name,
SCIP_Longint value 
)

gets the value of an existing SCIP_Longint parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
valuepointer to store the parameter

Definition at line 3778 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPsetGetLongintParam(), and Scip::set.

SCIP_RETCODE SCIPgetRealParam ( SCIP scip,
const char *  name,
SCIP_Real value 
)

gets the value of an existing SCIP_Real parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
valuepointer to store the parameter

Definition at line 3797 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPsetGetRealParam(), and Scip::set.

Referenced by applyOfins(), applyVbounds(), checkArraySizesGLS(), checkArraySizesHeur(), copyAndSolveComponent(), displayRelevantStats(), printIndicatorCons(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPsolve(), searchEcAggr(), solveIndependentCons(), solveSubMIP(), solveSubNLP(), and solveSubscip().

SCIP_RETCODE SCIPgetCharParam ( SCIP scip,
const char *  name,
char *  value 
)

gets the value of an existing char parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
valuepointer to store the parameter

Definition at line 3816 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPsetGetCharParam(), and Scip::set.

Referenced by printIndicatorCons(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_SEPAEXECLP(), and separateCuts().

SCIP_RETCODE SCIPgetStringParam ( SCIP scip,
const char *  name,
char **  value 
)

gets the value of an existing string(char*) parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
valuepointer to store the parameter

Definition at line 3835 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPsetGetStringParam(), and Scip::set.

SCIP_RETCODE SCIPfixParam ( SCIP scip,
const char *  name 
)

fixes the value of an existing parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Note
: Be careful with this method! Some general settings, e.g., the time or node limit, should not be fixed because they have to be changed for sub-SCIPs.
Parameters
scipSCIP data structure
namename of the parameter

Definition at line 3857 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPsetChgParamFixed(), Scip::set, and TRUE.

SCIP_RETCODE SCIPunfixParam ( SCIP scip,
const char *  name 
)

unfixes the value of an existing parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter

Definition at line 3875 of file scip.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetChgParamFixed(), and Scip::set.

Referenced by checkParameters(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPsolve(), setupSCIPparamsFP2(), setupSCIPparamsStage3(), and solveSubproblem().

SCIP_RETCODE SCIPsetParam ( SCIP scip,
const char *  name,
void *  value 
)

changes the value of an existing parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
valuenew value of the parameter

Definition at line 3893 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetSetParam(), and Scip::set.

SCIP_RETCODE SCIPchgBoolParam ( SCIP scip,
SCIP_PARAM param,
SCIP_Bool  value 
)

changes the value of an existing SCIP_Bool parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
paramparameter
valuenew value of the parameter

Definition at line 3912 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_PARAMETERWRONGVAL, SCIPsetChgBoolParam(), and Scip::set.

Referenced by checkParam(), and SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPsetBoolParam ( SCIP scip,
const char *  name,
SCIP_Bool  value 
)

changes the value of an existing SCIP_Bool parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
valuenew value of the parameter

Definition at line 3938 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetSetBoolParam(), and Scip::set.

Referenced by applyOfins(), applyVbounds(), copyAndSolveComponent(), createSubSCIP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPcount(), SCIPsolve(), setupSCIPparamsFP2(), setupSCIPparamsStage3(), setupSubproblem(), solveCoveringProblem(), solveIndependentCons(), solveSubMIP(), solveSubNLP(), solveSubproblem(), solveSubscip(), and subscipSetParams().

SCIP_RETCODE SCIPcheckBoolParam ( SCIP scip,
SCIP_PARAM param,
SCIP_Bool  value 
)

checks the value of an existing SCIP_Bool parameter; issues a warning message if value was invalid

Returns
SCIP_OKAY is returned if value is valid. Otherwise SCIP_PARAMETERWRONGVAL is returned.
Parameters
scipSCIP data structure
paramparameter
valuevalue to check

Definition at line 3956 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL_QUIET, SCIP_OKAY, and SCIPparamCheckBool().

SCIP_RETCODE SCIPchgIntParam ( SCIP scip,
SCIP_PARAM param,
int  value 
)

changes the value of an existing int parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
paramparameter
valuenew value of the parameter

Definition at line 3975 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_PARAMETERWRONGVAL, SCIPsetChgIntParam(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPsetIntParam ( SCIP scip,
const char *  name,
int  value 
)
SCIP_RETCODE SCIPchgLongintParam ( SCIP scip,
SCIP_PARAM param,
SCIP_Longint  value 
)

changes the value of an existing SCIP_Longint parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
paramparameter
valuenew value of the parameter

Definition at line 4020 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_PARAMETERWRONGVAL, SCIPsetChgLongintParam(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPsetLongintParam ( SCIP scip,
const char *  name,
SCIP_Longint  value 
)

changes the value of an existing SCIP_Longint parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
valuenew value of the parameter

Definition at line 4046 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetSetLongintParam(), and Scip::set.

Referenced by applyOfins(), applyVbounds(), copyAndSolveComponent(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), searchEcAggrWithMIP(), setupSCIPparamsFP2(), setupSCIPparamsStage3(), solveCoveringProblem(), solveSubMIP(), solveSubNLP(), solveSubproblem(), and solveSubscip().

SCIP_RETCODE SCIPcheckLongintParam ( SCIP scip,
SCIP_PARAM param,
SCIP_Longint  value 
)

checks parameter value according to the given feasible domain; issues a warning message if value was invalid

Returns
SCIP_OKAY is returned if value is valid. Otherwise SCIP_PARAMETERWRONGVAL is returned.
Parameters
scipSCIP data structure
paramparameter
valuevalue to check

Definition at line 4064 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL_QUIET, SCIP_OKAY, and SCIPparamCheckLongint().

SCIP_RETCODE SCIPchgRealParam ( SCIP scip,
SCIP_PARAM param,
SCIP_Real  value 
)

changes the value of an existing SCIP_Real parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
paramparameter
valuenew value of the parameter

Definition at line 4083 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_PARAMETERWRONGVAL, SCIPsetChgRealParam(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPsetRealParam ( SCIP scip,
const char *  name,
SCIP_Real  value 
)

changes the value of an existing SCIP_Real parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
valuenew value of the parameter

Definition at line 4109 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetSetRealParam(), and Scip::set.

Referenced by applyOfins(), applyVbounds(), copyAndSolveComponent(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPsolve(), searchEcAggrWithMIP(), setupSCIPparamsStage3(), solveCoveringProblem(), solveIndependentCons(), solveSubMIP(), solveSubNLP(), solveSubproblem(), solveSubscip(), and subscipSetParams().

SCIP_RETCODE SCIPchgCharParam ( SCIP scip,
SCIP_PARAM param,
char  value 
)

changes the value of an existing char parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
paramparameter
valuenew value of the parameter

Definition at line 4128 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_PARAMETERWRONGVAL, SCIPsetChgCharParam(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPsetCharParam ( SCIP scip,
const char *  name,
char  value 
)

changes the value of an existing char parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
valuenew value of the parameter

Definition at line 4154 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetSetCharParam(), and Scip::set.

Referenced by solveIndependentCons().

SCIP_RETCODE SCIPcheckCharParam ( SCIP scip,
SCIP_PARAM param,
const char  value 
)

checks parameter value according to the given feasible domain; issues a warning message if value was invalid

Returns
SCIP_OKAY is returned if value is valid. Otherwise SCIP_PARAMETERWRONGVAL is returned.
Parameters
scipSCIP data structure
paramparameter
valuevalue to check

Definition at line 4172 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL_QUIET, SCIP_OKAY, and SCIPparamCheckChar().

SCIP_RETCODE SCIPchgStringParam ( SCIP scip,
SCIP_PARAM param,
const char *  value 
)

changes the value of an existing string(char*) parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
paramparameter
valuenew value of the parameter

Definition at line 4191 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_PARAMETERWRONGVAL, SCIPsetChgStringParam(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPsetStringParam ( SCIP scip,
const char *  name,
const char *  value 
)

changes the value of an existing string(char*) parameter

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter
valuenew value of the parameter

Definition at line 4217 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetSetStringParam(), and Scip::set.

SCIP_RETCODE SCIPcheckStringParam ( SCIP scip,
SCIP_PARAM param,
const char *  value 
)

checks parameter value according to the given feasible domain; issues a warning message if value was invalid

Returns
SCIP_OKAY is returned if value is valid. Otherwise SCIP_PARAMETERWRONGVAL is returned.
Parameters
scipSCIP data structure
paramparameter
valuevalue to check

Definition at line 4235 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL_QUIET, SCIP_OKAY, and SCIPparamCheckString().

SCIP_RETCODE SCIPreadParams ( SCIP scip,
const char *  filename 
)

reads parameters from a file

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
filenamefile name

Definition at line 4254 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetReadParams(), and Scip::set.

Referenced by readParams(), and SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPwriteParam ( SCIP scip,
SCIP_PARAM param,
const char *  filename,
SCIP_Bool  comments,
SCIP_Bool  onlychanged 
)

writes a single parameter to a file

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
paramparameter
filenamefile name, or NULL for stdout
commentsshould parameter descriptions be written as comments?
onlychangedshould only those parameters be written that are changed from their default value?

Definition at line 4272 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, and SCIPparamWrite().

SCIP_RETCODE SCIPwriteParams ( SCIP scip,
const char *  filename,
SCIP_Bool  comments,
SCIP_Bool  onlychanged 
)

writes all parameters in the parameter set to a file

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
filenamefile name, or NULL for stdout
commentsshould parameter descriptions be written as comments?
onlychangedshould only those parameters be written that are changed from their default value?

Definition at line 4295 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetWriteParams(), and Scip::set.

Referenced by copyAndSolveComponent(), and SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPresetParam ( SCIP scip,
const char *  name 
)

resets a single parameter to its default value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
namename of the parameter

Definition at line 4317 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetResetParam(), and Scip::set.

Referenced by createSubSCIP(), and solveSubNLP().

SCIP_RETCODE SCIPresetParams ( SCIP scip)

resets all parameters to their default values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure

Definition at line 4335 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetResetParams(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPsetEmphasis ( SCIP scip,
SCIP_PARAMEMPHASIS  paramemphasis,
SCIP_Bool  quiet 
)

sets parameters to

  • SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPresetParams())
  • SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
  • SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
  • SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
  • SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
  • SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
  • SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
paramemphasisparameter settings
quietshould the parameter be set quiet (no output)

Definition at line 4360 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetSetEmphasis(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIPsetParamsCountsols(), solveSubproblem(), and subscipSetParams().

SCIP_RETCODE SCIPsetSubscipsOff ( SCIP scip,
SCIP_Bool  quiet 
)

sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for auxiliary SCIP instances to avoid recursion

Note
only deactivates plugins which could cause recursion, some plugins which use sub-SCIPs stay activated
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scip(auxiliary) SCIP data structure
quietshould the parameter be set quiet (no output)

Definition at line 4382 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetSetSubscipsOff(), and Scip::set.

Referenced by applyOfins(), applyVbounds(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyRens(), SCIPapplyZeroobj(), setupSCIPparamsStage3(), setupSubproblem(), solveCoveringProblem(), solveSubMIP(), and subscipSetParams().

SCIP_RETCODE SCIPsetHeuristics ( SCIP scip,
SCIP_PARAMSETTING  paramsetting,
SCIP_Bool  quiet 
)

sets heuristic parameters values to

  • SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
  • SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
  • SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
  • SCIP_PARAMSETTING_OFF which turn off all heuristics
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
paramsettingparameter settings
quietshould the parameter be set quiet (no output)

Definition at line 4405 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PARAMSETTING_AGGRESSIVE, SCIP_PARAMSETTING_DEFAULT, SCIP_PARAMSETTING_FAST, SCIP_PARAMSETTING_OFF, SCIPsetSetHeuristics(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), searchEcAggrWithMIP(), setupSCIPparamsFP2(), and solveSubproblem().

SCIP_RETCODE SCIPsetPresolving ( SCIP scip,
SCIP_PARAMSETTING  paramsetting,
SCIP_Bool  quiet 
)

sets presolving parameters to

  • SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
  • SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
  • SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
  • SCIP_PARAMSETTING_OFF which turn off all presolving
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
paramsettingparameter settings
quietshould the parameter be set quiet (no output)

Definition at line 4431 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PARAMSETTING_AGGRESSIVE, SCIP_PARAMSETTING_DEFAULT, SCIP_PARAMSETTING_FAST, SCIP_PARAMSETTING_OFF, SCIPsetSetPresolving(), and Scip::set.

Referenced by applyOfins(), applyVbounds(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyRens(), SCIPapplyZeroobj(), setupSCIPparamsFP2(), setupSCIPparamsStage3(), setupSubproblem(), solveCoveringProblem(), solveSubMIP(), solveSubNLP(), solveSubproblem(), and subscipSetParams().

SCIP_RETCODE SCIPsetSeparating ( SCIP scip,
SCIP_PARAMSETTING  paramsetting,
SCIP_Bool  quiet 
)

sets separating parameters to

  • SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
  • SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
  • SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
  • SCIP_PARAMSETTING_OFF which turn off all separating
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
paramsettingparameter settings
quietshould the parameter be set quiet (no output)

Definition at line 4457 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PARAMSETTING_AGGRESSIVE, SCIP_PARAMSETTING_DEFAULT, SCIP_PARAMSETTING_FAST, SCIP_PARAMSETTING_OFF, SCIPsetSetSeparating(), and Scip::set.

Referenced by applyOfins(), applyVbounds(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyRens(), SCIPapplyZeroobj(), setupSCIPparamsStage3(), setupSubproblem(), solveCoveringProblem(), solveSubMIP(), and subscipSetParams().

SCIP_PARAM** SCIPgetParams ( SCIP scip)

returns the array of all available SCIP parameters

Returns
SCIP_PARAM* array, containing all SCIP parameters.
Parameters
scipSCIP data structure

Definition at line 4477 of file scip.c.

References NULL, SCIPsetGetParams(), and Scip::set.

Referenced by SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

int SCIPgetNParams ( SCIP scip)

returns the total number of all available SCIP parameters

Returns
number of all SCIP parameters.
Parameters
scipSCIP data structure

Definition at line 4491 of file scip.c.

References NULL, SCIPsetGetNParams(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

SCIP_RETCODE SCIPincludeReader ( SCIP scip,
const char *  name,
const char *  desc,
const char *  extension,
SCIP_DECL_READERCOPY((*readercopy))  ,
SCIP_DECL_READERFREE((*readerfree))  ,
SCIP_DECL_READERREAD((*readerread))  ,
SCIP_DECL_READERWRITE((*readerwrite))  ,
SCIP_READERDATA readerdata 
)

creates a reader and includes it in SCIP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
method has all reader callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeReaderBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
namename of reader
descdescription of reader
extensionfile extension that reader processes
readerdatareader data

Definition at line 4521 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindReader(), SCIPreaderCreate(), SCIPsetIncludeReader(), Scip::set, and TRUE.

Referenced by SCIPincludeObjReader(), and SCIPincludeReaderPbm().

SCIP_RETCODE SCIPincludeReaderBasic ( SCIP scip,
SCIP_READER **  readerptr,
const char *  name,
const char *  desc,
const char *  extension,
SCIP_READERDATA readerdata 
)

creates a reader and includes it in SCIP. All non-fundamental (or optional) callbacks will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetReaderCopy(), SCIPsetReaderFree(), SCIPsetReaderRead(), SCIPsetReaderWrite().

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
if you want to set all callbacks with a single method call, consider using SCIPincludeReader() instead
Parameters
scipSCIP data structure
readerptrreference to reader pointer, or NULL
namename of reader
descdescription of reader
extensionfile extension that reader processes
readerdatareader data

Definition at line 4563 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindReader(), SCIPreaderCreate(), SCIPsetIncludeReader(), Scip::set, and TRUE.

Referenced by SCIPincludeReaderBnd(), SCIPincludeReaderCcg(), SCIPincludeReaderCip(), SCIPincludeReaderCnf(), SCIPincludeReaderDiff(), SCIPincludeReaderFix(), SCIPincludeReaderFzn(), SCIPincludeReaderGms(), SCIPincludeReaderLp(), SCIPincludeReaderMps(), SCIPincludeReaderOpb(), SCIPincludeReaderOsil(), SCIPincludeReaderPip(), SCIPincludeReaderPpm(), SCIPincludeReaderRlp(), SCIPincludeReaderSol(), SCIPincludeReaderWbo(), and SCIPincludeReaderZpl().

SCIP_RETCODE SCIPsetReaderCopy ( SCIP scip,
SCIP_READER reader,
SCIP_DECL_READERCOPY((*readercopy))   
)

set copy method of reader

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
readerreader

Definition at line 4601 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPreaderSetCopy(), and TRUE.

Referenced by SCIPincludeReaderBnd(), SCIPincludeReaderCcg(), SCIPincludeReaderCip(), SCIPincludeReaderCnf(), SCIPincludeReaderDiff(), SCIPincludeReaderFix(), SCIPincludeReaderFzn(), SCIPincludeReaderGms(), SCIPincludeReaderLp(), SCIPincludeReaderMps(), SCIPincludeReaderOpb(), SCIPincludeReaderOsil(), SCIPincludeReaderPip(), SCIPincludeReaderPpm(), SCIPincludeReaderRlp(), SCIPincludeReaderSol(), SCIPincludeReaderWbo(), and SCIPincludeReaderZpl().

SCIP_RETCODE SCIPsetReaderFree ( SCIP scip,
SCIP_READER reader,
SCIP_DECL_READERFREE((*readerfree))   
)

set deinitialization method of reader

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
readerreader

Definition at line 4625 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPreaderSetFree(), and TRUE.

Referenced by SCIPincludeReaderCip(), SCIPincludeReaderDiff(), SCIPincludeReaderFzn(), SCIPincludeReaderGms(), SCIPincludeReaderLp(), SCIPincludeReaderMps(), and SCIPincludeReaderPpm().

SCIP_RETCODE SCIPsetReaderRead ( SCIP scip,
SCIP_READER reader,
SCIP_DECL_READERREAD((*readerread))   
)

set read method of reader

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
readerreader

Definition at line 4649 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPreaderSetRead(), and TRUE.

Referenced by SCIPincludeReaderBnd(), SCIPincludeReaderCip(), SCIPincludeReaderCnf(), SCIPincludeReaderDiff(), SCIPincludeReaderFix(), SCIPincludeReaderFzn(), SCIPincludeReaderGms(), SCIPincludeReaderLp(), SCIPincludeReaderMps(), SCIPincludeReaderOpb(), SCIPincludeReaderOsil(), SCIPincludeReaderPip(), SCIPincludeReaderRlp(), SCIPincludeReaderSol(), SCIPincludeReaderWbo(), and SCIPincludeReaderZpl().

SCIP_RETCODE SCIPsetReaderWrite ( SCIP scip,
SCIP_READER reader,
SCIP_DECL_READERWRITE((*readerwrite))   
)

set write method of reader

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
readerreader

Definition at line 4673 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPreaderSetWrite(), and TRUE.

Referenced by SCIPincludeReaderCcg(), SCIPincludeReaderCip(), SCIPincludeReaderFzn(), SCIPincludeReaderGms(), SCIPincludeReaderLp(), SCIPincludeReaderMps(), SCIPincludeReaderOpb(), SCIPincludeReaderPip(), SCIPincludeReaderPpm(), SCIPincludeReaderRlp(), and SCIPincludeReaderWbo().

SCIP_READER* SCIPfindReader ( SCIP scip,
const char *  name 
)

returns the reader of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of reader

Definition at line 4689 of file scip.c.

References NULL, SCIPsetFindReader(), and Scip::set.

Referenced by SCIPfindObjReader(), SCIPincludeReader(), SCIPincludeReaderBasic(), SCIPprintSolReaderFzn(), and SCIPwriteLp().

SCIP_READER** SCIPgetReaders ( SCIP scip)

returns the array of currently available readers

Parameters
scipSCIP data structure

Definition at line 4702 of file scip.c.

References NULL, SCIP_Set::readers, and Scip::set.

Referenced by displayReaders(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

int SCIPgetNReaders ( SCIP scip)

returns the number of currently available readers

Parameters
scipSCIP data structure

Definition at line 4713 of file scip.c.

References SCIP_Set::nreaders, NULL, and Scip::set.

Referenced by displayReaders(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

SCIP_RETCODE SCIPincludePricer ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
SCIP_Bool  delay,
SCIP_DECL_PRICERCOPY((*pricercopy))  ,
SCIP_DECL_PRICERFREE((*pricerfree))  ,
SCIP_DECL_PRICERINIT((*pricerinit))  ,
SCIP_DECL_PRICEREXIT((*pricerexit))  ,
SCIP_DECL_PRICERINITSOL((*pricerinitsol))  ,
SCIP_DECL_PRICEREXITSOL((*pricerexitsol))  ,
SCIP_DECL_PRICERREDCOST((*pricerredcost))  ,
SCIP_DECL_PRICERFARKAS((*pricerfarkas))  ,
SCIP_PRICERDATA pricerdata 
)

creates a variable pricer and includes it in SCIP To use the variable pricer for solving a problem, it first has to be activated with a call to SCIPactivatePricer(). This should be done during the problem creation stage.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
method has all pricer callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludePricerBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
namename of variable pricer
descdescription of variable pricer
prioritypriority of the variable pricer
delayshould the pricer be delayed until no other pricers or already existing problem variables with negative reduced costs are found? if this is set to FALSE it may happen that the pricer produces columns that already exist in the problem (which are also priced in by the default problem variable pricing in the same round)
pricerdatavariable pricer data

Definition at line 4738 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindPricer(), SCIPpricerCreate(), SCIPsetIncludePricer(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeObjPricer().

SCIP_RETCODE SCIPincludePricerBasic ( SCIP scip,
SCIP_PRICER **  pricerptr,
const char *  name,
const char *  desc,
int  priority,
SCIP_Bool  delay,
SCIP_DECL_PRICERREDCOST((*pricerredcost))  ,
SCIP_DECL_PRICERFARKAS((*pricerfarkas))  ,
SCIP_PRICERDATA pricerdata 
)

creates a variable pricer and includes it in SCIP with all non-fundamental callbacks set to NULL; if needed, these can be added afterwards via setter functions SCIPsetPricerCopy(), SCIPsetPricerFree(), SCIPsetPricerInity(), SCIPsetPricerExit(), SCIPsetPricerInitsol(), SCIPsetPricerExitsol(), SCIPsetPricerFarkas();

To use the variable pricer for solving a problem, it first has to be activated with a call to SCIPactivatePricer(). This should be done during the problem creation stage.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
if you want to set all callbacks with a single method call, consider using SCIPincludePricer() instead
Parameters
scipSCIP data structure
pricerptrreference to a pricer, or NULL
namename of variable pricer
descdescription of variable pricer
prioritypriority of the variable pricer
delayshould the pricer be delayed until no other pricers or already existing problem variables with negative reduced costs are found? if this is set to FALSE it may happen that the pricer produces columns that already exist in the problem (which are also priced in by the default problem variable pricing in the same round)
pricerdatavariable pricer data

Definition at line 4796 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindPricer(), SCIPpricerCreate(), SCIPsetIncludePricer(), Scip::set, SCIP_Mem::setmem, and TRUE.

SCIP_RETCODE SCIPsetPricerCopy ( SCIP scip,
SCIP_PRICER pricer,
SCIP_DECL_PRICERCOPY((*pricercopy))   
)

sets copy method of pricer

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
pricerpricer

Definition at line 4844 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpricerSetCopy(), and TRUE.

SCIP_RETCODE SCIPsetPricerFree ( SCIP scip,
SCIP_PRICER pricer,
SCIP_DECL_PRICERFREE((*pricerfree))   
)

sets destructor method of pricer

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
pricerpricer

Definition at line 4868 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpricerSetFree(), and TRUE.

SCIP_RETCODE SCIPsetPricerInit ( SCIP scip,
SCIP_PRICER pricer,
SCIP_DECL_PRICERINIT((*pricerinit))   
)

sets initialization method of pricer

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
pricerpricer

Definition at line 4892 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpricerSetInit(), and TRUE.

SCIP_RETCODE SCIPsetPricerExit ( SCIP scip,
SCIP_PRICER pricer,
SCIP_DECL_PRICEREXIT((*pricerexit))   
)

sets deinitialization method of pricer

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
pricerpricer

Definition at line 4916 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpricerSetExit(), and TRUE.

SCIP_RETCODE SCIPsetPricerInitsol ( SCIP scip,
SCIP_PRICER pricer,
SCIP_DECL_PRICERINITSOL((*pricerinitsol))   
)

sets solving process initialization method of pricer

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
pricerpricer

Definition at line 4940 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpricerSetInitsol(), and TRUE.

SCIP_RETCODE SCIPsetPricerExitsol ( SCIP scip,
SCIP_PRICER pricer,
SCIP_DECL_PRICEREXITSOL((*pricerexitsol))   
)

sets solving process deinitialization method of pricer

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
pricerpricer

Definition at line 4964 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpricerSetExitsol(), and TRUE.

SCIP_PRICER* SCIPfindPricer ( SCIP scip,
const char *  name 
)

returns the variable pricer of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of variable pricer

Definition at line 4980 of file scip.c.

References NULL, SCIPsetFindPricer(), and Scip::set.

Referenced by SCIPfindObjPricer(), SCIPincludePricer(), and SCIPincludePricerBasic().

SCIP_PRICER** SCIPgetPricers ( SCIP scip)

returns the array of currently available variable pricers; active pricers are in the first slots of the array

Parameters
scipSCIP data structure

Definition at line 4993 of file scip.c.

References NULL, SCIP_Set::pricers, SCIPsetSortPricers(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

int SCIPgetNPricers ( SCIP scip)

returns the number of currently available variable pricers

Parameters
scipSCIP data structure

Definition at line 5006 of file scip.c.

References SCIP_Set::npricers, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

int SCIPgetNActivePricers ( SCIP scip)

returns the number of currently active variable pricers, that are used in the LP solving loop

Parameters
scipSCIP data structure

Definition at line 5017 of file scip.c.

References SCIP_Set::nactivepricers, NULL, and Scip::set.

Referenced by presolComponents(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_PRESOLEXEC(), SCIPapplyHeurSubNlp(), SCIPcopy(), and SCIPcopyOrig().

SCIP_RETCODE SCIPsetPricerPriority ( SCIP scip,
SCIP_PRICER pricer,
int  priority 
)

sets the priority priority of a variable pricer

Parameters
scipSCIP data structure
pricervariable pricer
prioritynew priority of the variable pricer

Definition at line 5028 of file scip.c.

References NULL, SCIP_OKAY, SCIPpricerSetPriority(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPactivatePricer ( SCIP scip,
SCIP_PRICER pricer 
)

activates pricer to be used for the current problem This method should be called during the problem creation stage for all pricers that are necessary to solve the problem model. The pricers are automatically deactivated when the problem is freed.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
pricervariable pricer

Definition at line 5053 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPpricerActivate(), Scip::set, and TRUE.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPdeactivatePricer ( SCIP scip,
SCIP_PRICER pricer 
)

deactivates pricer

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
pricervariable pricer

Definition at line 5074 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPpricerDeactivate(), Scip::set, and TRUE.

SCIP_RETCODE SCIPincludeConshdlr ( SCIP scip,
const char *  name,
const char *  desc,
int  sepapriority,
int  enfopriority,
int  chckpriority,
int  sepafreq,
int  propfreq,
int  eagerfreq,
int  maxprerounds,
SCIP_Bool  delaysepa,
SCIP_Bool  delayprop,
SCIP_Bool  needscons,
SCIP_PROPTIMING  proptiming,
SCIP_PRESOLTIMING  presoltiming,
SCIP_DECL_CONSHDLRCOPY((*conshdlrcopy))  ,
SCIP_DECL_CONSFREE((*consfree))  ,
SCIP_DECL_CONSINIT((*consinit))  ,
SCIP_DECL_CONSEXIT((*consexit))  ,
SCIP_DECL_CONSINITPRE((*consinitpre))  ,
SCIP_DECL_CONSEXITPRE((*consexitpre))  ,
SCIP_DECL_CONSINITSOL((*consinitsol))  ,
SCIP_DECL_CONSEXITSOL((*consexitsol))  ,
SCIP_DECL_CONSDELETE((*consdelete))  ,
SCIP_DECL_CONSTRANS((*constrans))  ,
SCIP_DECL_CONSINITLP((*consinitlp))  ,
SCIP_DECL_CONSSEPALP((*conssepalp))  ,
SCIP_DECL_CONSSEPASOL((*conssepasol))  ,
SCIP_DECL_CONSENFOLP((*consenfolp))  ,
SCIP_DECL_CONSENFOPS((*consenfops))  ,
SCIP_DECL_CONSCHECK((*conscheck))  ,
SCIP_DECL_CONSPROP((*consprop))  ,
SCIP_DECL_CONSPRESOL((*conspresol))  ,
SCIP_DECL_CONSRESPROP((*consresprop))  ,
SCIP_DECL_CONSLOCK((*conslock))  ,
SCIP_DECL_CONSACTIVE((*consactive))  ,
SCIP_DECL_CONSDEACTIVE((*consdeactive))  ,
SCIP_DECL_CONSENABLE((*consenable))  ,
SCIP_DECL_CONSDISABLE((*consdisable))  ,
SCIP_DECL_CONSDELVARS((*consdelvars))  ,
SCIP_DECL_CONSPRINT((*consprint))  ,
SCIP_DECL_CONSCOPY((*conscopy))  ,
SCIP_DECL_CONSPARSE((*consparse))  ,
SCIP_DECL_CONSGETVARS((*consgetvars))  ,
SCIP_DECL_CONSGETNVARS((*consgetnvars))  ,
SCIP_DECL_CONSGETDIVEBDCHGS((*consgetdivebdchgs))  ,
SCIP_CONSHDLRDATA conshdlrdata 
)

creates a constraint handler and includes it in SCIP.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
method has all constraint handler callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeConshdlrBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
namename of constraint handler
descdescription of constraint handler
sepaprioritypriority of the constraint handler for separation
enfoprioritypriority of the constraint handler for constraint enforcing
chckprioritypriority of the constraint handler for checking feasibility (and propagation)
sepafreqfrequency for separating cuts; zero means to separate only in the root node
propfreqfrequency for propagating domains; zero means only preprocessing propagation
eagerfreqfrequency for using all instead of only the useful constraints in separation, propagation and enforcement, -1 for no eager evaluations, 0 for first only
maxpreroundsmaximal number of presolving rounds the constraint handler participates in (-1: no limit)
delaysepashould separation method be delayed, if other separators found cuts?
delaypropshould propagation method be delayed, if other propagators found reductions?
needsconsshould the constraint handler be skipped, if no constraints are available?
proptimingpositions in the node solving loop where propagation method of constraint handlers should be executed
presoltimingtiming mask of the constraint handler's presolving method
conshdlrdataconstraint handler data

Definition at line 5100 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPconshdlrCreate(), SCIPerrorMessage, SCIPfindConshdlr(), SCIPsetIncludeConshdlr(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeObjConshdlr().

SCIP_RETCODE SCIPincludeConshdlrBasic ( SCIP scip,
SCIP_CONSHDLR **  conshdlrptr,
const char *  name,
const char *  desc,
int  enfopriority,
int  chckpriority,
int  eagerfreq,
SCIP_Bool  needscons,
SCIP_DECL_CONSENFOLP((*consenfolp))  ,
SCIP_DECL_CONSENFOPS((*consenfops))  ,
SCIP_DECL_CONSCHECK((*conscheck))  ,
SCIP_DECL_CONSLOCK((*conslock))  ,
SCIP_CONSHDLRDATA conshdlrdata 
)

creates a constraint handler and includes it in SCIP. All non-fundamental (or optional) callbacks will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetConshdlrInit(), SCIPsetConshdlrExit(), SCIPsetConshdlrCopy(), SCIPsetConshdlrFree(), SCIPsetConshdlrInitsol(), SCIPsetConshdlrExitsol(), SCIPsetConshdlrInitpre(), SCIPsetConshdlrExitpre(), SCIPsetConshdlrPresol(), SCIPsetConshdlrDelete(), SCIPsetConshdlrDelvars(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrActive(), SCIPsetConshdlrDeactive(), SCIPsetConshdlrEnable(), SCIPsetConshdlrDisable(), SCIPsetConshdlrResprop(), SCIPsetConshdlrTrans(), SCIPsetConshdlrPrint(), SCIPsetConshdlrParse(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrGetNVars(), and SCIPsetConshdlrGetDiveBdChgs().

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
if you want to set all callbacks with a single method call, consider using SCIPincludeConshdlr() instead
Parameters
scipSCIP data structure
conshdlrptrreference to a constraint handler pointer, or NULL
namename of constraint handler
descdescription of constraint handler
enfoprioritypriority of the constraint handler for constraint enforcing
chckprioritypriority of the constraint handler for checking feasibility (and propagation)
eagerfreqfrequency for using all instead of only the useful constraints in separation, propagation and enforcement, -1 for no eager evaluations, 0 for first only
needsconsshould the constraint handler be skipped, if no constraints are available?
conshdlrdataconstraint handler data

Definition at line 5192 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_PRESOLTIMING_ALWAYS, SCIP_PROPTIMING_BEFORELP, SCIPconshdlrCreate(), SCIPerrorMessage, SCIPfindConshdlr(), SCIPsetIncludeConshdlr(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by includeConshdlrCountsols(), SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrConjunction(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrDisjunction(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrIntegral(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrOr(), SCIPincludeConshdlrOrbitope(), SCIPincludeConshdlrPseudoboolean(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSOS2(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrVarbound(), SCIPincludeConshdlrViolatedCut(), and SCIPincludeConshdlrXor().

SCIP_RETCODE SCIPsetConshdlrSepa ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSSEPALP((*conssepalp))  ,
SCIP_DECL_CONSSEPASOL((*conssepasol))  ,
int  sepafreq,
int  sepapriority,
SCIP_Bool  delaysepa 
)

sets all separation related callbacks/parameters of the constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler
sepafreqfrequency for separating cuts; zero means to separate only in the root node
sepaprioritypriority of the constraint handler for separation
delaysepashould separation method be delayed, if other separators found cuts?

Definition at line 5246 of file scip.c.

References checkStage(), FALSE, NULL, paramname, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPconshdlrGetName(), SCIPconshdlrGetSepaPriority(), SCIPconshdlrSetSepa(), SCIPsetReinsertConshdlrSepaPrio(), SCIPsetSetDefaultBoolParam(), SCIPsetSetDefaultIntParam(), SCIPsnprintf(), Scip::set, and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrOr(), SCIPincludeConshdlrOrbitope(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSOS2(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrVarbound(), and SCIPincludeConshdlrXor().

SCIP_RETCODE SCIPsetConshdlrProp ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSPROP((*consprop))  ,
int  propfreq,
SCIP_Bool  delayprop,
SCIP_PROPTIMING  proptiming 
)

sets both the propagation callback and the propagation frequency of the constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler
propfreqfrequency for propagating domains; zero means only preprocessing propagation
delaypropshould propagation method be delayed, if other propagators found reductions?
proptimingpositions in the node solving loop where propagation should be executed

Definition at line 5292 of file scip.c.

References checkStage(), FALSE, NULL, paramname, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPconshdlrGetName(), SCIPconshdlrSetProp(), SCIPsetSetDefaultBoolParam(), SCIPsetSetDefaultIntParam(), SCIPsnprintf(), Scip::set, and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrDisjunction(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrOr(), SCIPincludeConshdlrOrbitope(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSOS2(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrVarbound(), and SCIPincludeConshdlrXor().

SCIP_RETCODE SCIPsetConshdlrCopy ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSHDLRCOPY((*conshdlrcopy))  ,
SCIP_DECL_CONSCOPY((*conscopy))   
)
SCIP_RETCODE SCIPsetConshdlrFree ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSFREE((*consfree))   
)
SCIP_RETCODE SCIPsetConshdlrInit ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSINIT((*consinit))   
)

sets initialization method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5383 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetInit(), and TRUE.

Referenced by includeConshdlrCountsols(), SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrPseudoboolean(), SCIPincludeConshdlrQuadratic(), and SCIPincludeConshdlrSOC().

SCIP_RETCODE SCIPsetConshdlrExit ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSEXIT((*consexit))   
)

sets deinitialization method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5407 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetExit(), and TRUE.

Referenced by includeConshdlrCountsols(), SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrQuadratic(), and SCIPincludeConshdlrSOC().

SCIP_RETCODE SCIPsetConshdlrInitsol ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSINITSOL((*consinitsol))   
)

sets solving process initialization method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5431 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetInitsol(), and TRUE.

Referenced by includeConshdlrCountsols(), SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrQuadratic(), and SCIPincludeConshdlrSOC().

SCIP_RETCODE SCIPsetConshdlrExitsol ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSEXITSOL((*consexitsol))   
)

sets solving process deinitialization method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5455 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetExitsol(), and TRUE.

Referenced by includeConshdlrCountsols(), SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrOr(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSOS2(), SCIPincludeConshdlrVarbound(), and SCIPincludeConshdlrXor().

SCIP_RETCODE SCIPsetConshdlrInitpre ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSINITPRE((*consinitpre))   
)

sets preprocessing initialization method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5479 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetInitpre(), and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrPseudoboolean(), and SCIPincludeConshdlrSuperindicator().

SCIP_RETCODE SCIPsetConshdlrExitpre ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSEXITPRE((*consexitpre))   
)

sets preprocessing deinitialization method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5503 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetExitpre(), and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrQuadratic(), and SCIPincludeConshdlrSOC().

SCIP_RETCODE SCIPsetConshdlrPresol ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSPRESOL((*conspresol))  ,
int  maxprerounds,
SCIP_PRESOLTIMING  presoltiming 
)

sets presolving method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler
maxpreroundsmaximal number of presolving rounds the constraint handler participates in (-1: no limit)
presoltimingtiming mask of the constraint handler's presolving method

Definition at line 5527 of file scip.c.

References checkStage(), FALSE, NULL, paramname, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPconshdlrGetName(), SCIPconshdlrSetPresol(), SCIPsetSetDefaultIntParam(), SCIPsnprintf(), Scip::set, and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrConjunction(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrDisjunction(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrOr(), SCIPincludeConshdlrOrbitope(), SCIPincludeConshdlrPseudoboolean(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSOS2(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrVarbound(), and SCIPincludeConshdlrXor().

SCIP_RETCODE SCIPsetConshdlrDelete ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSDELETE((*consdelete))   
)
SCIP_RETCODE SCIPsetConshdlrTrans ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSTRANS((*constrans))   
)

sets method of constraint handler to transform constraint data into data belonging to the transformed problem

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5588 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetTrans(), and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrConjunction(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrDisjunction(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrOr(), SCIPincludeConshdlrOrbitope(), SCIPincludeConshdlrPseudoboolean(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSOS2(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrVarbound(), and SCIPincludeConshdlrXor().

SCIP_RETCODE SCIPsetConshdlrInitlp ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSINITLP((*consinitlp))   
)

sets method of constraint handler to initialize LP with relaxations of "initial" constraints

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5611 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetInitlp(), and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrDisjunction(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrOr(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOS2(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrVarbound(), and SCIPincludeConshdlrXor().

SCIP_RETCODE SCIPsetConshdlrResprop ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSRESPROP((*consresprop))   
)

sets propagation conflict resolving method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5634 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetResprop(), and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrOr(), SCIPincludeConshdlrOrbitope(), SCIPincludeConshdlrSOS2(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrVarbound(), and SCIPincludeConshdlrXor().

SCIP_RETCODE SCIPsetConshdlrActive ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSACTIVE((*consactive))   
)

sets activation notification method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5657 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetActive(), and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrLogicor(), and SCIPincludeConshdlrNonlinear().

SCIP_RETCODE SCIPsetConshdlrDeactive ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSDEACTIVE((*consdeactive))   
)

sets deactivation notification method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5680 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetDeactive(), and TRUE.

Referenced by SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrLogicor(), and SCIPincludeConshdlrNonlinear().

SCIP_RETCODE SCIPsetConshdlrEnable ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSENABLE((*consenable))   
)

sets enabling notification method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5703 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetEnable(), and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrNonlinear(), and SCIPincludeConshdlrQuadratic().

SCIP_RETCODE SCIPsetConshdlrDisable ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSDISABLE((*consdisable))   
)

sets disabling notification method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5726 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetDisable(), and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrNonlinear(), and SCIPincludeConshdlrQuadratic().

SCIP_RETCODE SCIPsetConshdlrDelvars ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSDELVARS((*consdelvars))   
)

sets variable deletion method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5749 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetDelvars(), and TRUE.

SCIP_RETCODE SCIPsetConshdlrPrint ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSPRINT((*consprint))   
)
SCIP_RETCODE SCIPsetConshdlrParse ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSPARSE((*consparse))   
)

sets constraint parsing method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5795 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetParse(), and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrConjunction(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrDisjunction(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrOr(), SCIPincludeConshdlrOrbitope(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSOS2(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrVarbound(), and SCIPincludeConshdlrXor().

SCIP_RETCODE SCIPsetConshdlrGetVars ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSGETVARS((*consgetvars))   
)

sets constraint variable getter method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5818 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetGetVars(), and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrOr(), SCIPincludeConshdlrOrbitope(), SCIPincludeConshdlrPseudoboolean(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSOS2(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrVarbound(), and SCIPincludeConshdlrXor().

SCIP_RETCODE SCIPsetConshdlrGetNVars ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSGETNVARS((*consgetnvars))   
)

sets constraint variable number getter method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5841 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetGetNVars(), and TRUE.

Referenced by SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrOr(), SCIPincludeConshdlrOrbitope(), SCIPincludeConshdlrPseudoboolean(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSOS2(), SCIPincludeConshdlrSuperindicator(), SCIPincludeConshdlrVarbound(), and SCIPincludeConshdlrXor().

SCIP_RETCODE SCIPsetConshdlrGetDiveBdChgs ( SCIP scip,
SCIP_CONSHDLR conshdlr,
SCIP_DECL_CONSGETDIVEBDCHGS((*consgetdivebdchgs))   
)

sets diving bound change method of constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
conshdlrconstraint handler

Definition at line 5864 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrSetGetDiveBdChgs(), and TRUE.

Referenced by SCIPincludeConshdlrIndicator(), and SCIPincludeConshdlrIntegral().

SCIP_CONSHDLR* SCIPfindConshdlr ( SCIP scip,
const char *  name 
)

returns the constraint handler of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of constraint handler

Definition at line 5878 of file scip.c.

References NULL, SCIPsetFindConshdlr(), and Scip::set.

Referenced by addCoef(), addLinearConstraintsToNlp(), addRelaxation(), applyAlternativeBoundsFixing(), applyVbounds(), checkOverloadViaThetaTree(), computeAndConstraintInfos(), computeEffectiveHorizon(), computeRanks(), copyConsPseudoboolean(), coretimesUpdateLb(), coretimesUpdateUb(), countNonlinearities(), createAndAddLinearCons(), createConsSetppc(), createConsXorIntvar(), createCoreProfile(), createCoveringProblem(), createSubSCIP(), findCumulativeConss(), findPrecedenceConss(), inferboundsEdgeFinding(), presolRoundConsSOS1(), presolveConsEst(), presolveConsLct(), propagateLbTTEF(), propagateTimetable(), propagateTTEF(), propagateUbTTEF(), readCnf(), removeIrrelevantJobs(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSHDLRCOPY(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEURINIT(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_READERWRITE(), SCIP_DECL_SEPAEXITSOL(), SCIPapplyHeurDualval(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPcopyCuts(), SCIPcreateConsAbspower(), SCIPcreateConsAnd(), SCIPcreateConsBivariate(), SCIPcreateConsBounddisjunction(), SCIPcreateConsConjunction(), SCIPcreateConsCumulative(), SCIPcreateConsDisjunction(), SCIPcreateConsIndicator(), SCIPcreateConsIndicatorLinCons(), SCIPcreateConsKnapsack(), SCIPcreateConsLinear(), SCIPcreateConsLinking(), SCIPcreateConsLogicor(), SCIPcreateConsNonlinear(), SCIPcreateConsNonlinear2(), SCIPcreateConsOr(), SCIPcreateConsOrbitope(), SCIPcreateConsPseudoboolean(), SCIPcreateConsPseudobooleanWithConss(), SCIPcreateConsQuadratic(), SCIPcreateConsQuadratic2(), SCIPcreateConsSOC(), SCIPcreateConsSOS1(), SCIPcreateConsSOS2(), SCIPcreateConsSuperindicator(), SCIPcreateConsVarbound(), SCIPcreateConsXor(), SCIPexistsConsLinking(), SCIPfindObjConshdlr(), SCIPgetConsLinking(), SCIPgetCountedSparseSols(), SCIPgetNCountedFeasSubtrees(), SCIPgetNCountedSols(), SCIPgetNCountedSolsstr(), SCIPincludeConshdlr(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBasic(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrVarbound(), SCIPincludeConshdlrXor(), SCIPincludeNonlinconsUpgrade(), SCIPincludeQuadconsUpgrade(), SCIPperformGenericDivingAlgorithm(), SCIPpropCumulativeCondition(), SCIPseparateRelaxedKnapsack(), SCIPsetSolveCumulative(), SCIPsolve(), SCIPsolveCumulative(), SCIPwriteLp(), SCIPwriteOpb(), separateCons(), setupSubproblem(), tightenVarsBoundsSOS1(), upgradeIndicatorSuperindicator(), upgradeLinearSuperindicator(), writeOpbConstraints(), and writeOpbObjective().

SCIP_CONSHDLR** SCIPgetConshdlrs ( SCIP scip)

returns the array of currently available constraint handlers

Parameters
scipSCIP data structure

Definition at line 5891 of file scip.c.

References SCIP_Set::conshdlrs, NULL, and Scip::set.

Referenced by checkFeasSubtree(), SCIP_DECL_DIALOGEXEC(), SCIPcopyConss(), SCIPgetNCheckConss(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPmatrixCreate(), and SCIPpermuteProb().

int SCIPgetNConshdlrs ( SCIP scip)

returns the number of currently available constraint handlers

Parameters
scipSCIP data structure

Definition at line 5902 of file scip.c.

References SCIP_Set::nconshdlrs, NULL, and Scip::set.

Referenced by checkFeasSubtree(), SCIP_DECL_DIALOGEXEC(), SCIPcopyConss(), SCIPgetNCheckConss(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPmatrixCreate(), and SCIPpermuteProb().

SCIP_RETCODE SCIPincludeConflicthdlr ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
SCIP_DECL_CONFLICTCOPY((*conflictcopy))  ,
SCIP_DECL_CONFLICTFREE((*conflictfree))  ,
SCIP_DECL_CONFLICTINIT((*conflictinit))  ,
SCIP_DECL_CONFLICTEXIT((*conflictexit))  ,
SCIP_DECL_CONFLICTINITSOL((*conflictinitsol))  ,
SCIP_DECL_CONFLICTEXITSOL((*conflictexitsol))  ,
SCIP_DECL_CONFLICTEXEC((*conflictexec))  ,
SCIP_CONFLICTHDLRDATA conflicthdlrdata 
)

creates a conflict handler and includes it in SCIP

Note
method has all conflict handler callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeConflicthdlrBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
namename of conflict handler
descdescription of conflict handler
prioritypriority of the conflict handler
conflicthdlrdataconflict handler data

Definition at line 5919 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPconflicthdlrCreate(), SCIPerrorMessage, SCIPfindConflicthdlr(), SCIPsetIncludeConflicthdlr(), Scip::set, SCIP_Mem::setmem, and TRUE.

SCIP_RETCODE SCIPincludeConflicthdlrBasic ( SCIP scip,
SCIP_CONFLICTHDLR **  conflicthdlrptr,
const char *  name,
const char *  desc,
int  priority,
SCIP_DECL_CONFLICTEXEC((*conflictexec))  ,
SCIP_CONFLICTHDLRDATA conflicthdlrdata 
)

creates a conflict handler and includes it in SCIP with its most fundamental callbacks. All non-fundamental (or optional) callbacks as, e.g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions SCIPsetConflicthdlrCopy(), SCIPsetConflicthdlrFree(), SCIPsetConflicthdlrInit(), SCIPsetConflicthdlrExit(), SCIPsetConflicthdlrInitsol(), and SCIPsetConflicthdlrExitsol()

Note
if you want to set all callbacks with a single method call, consider using SCIPincludeConflicthdlr() instead
Parameters
scipSCIP data structure
conflicthdlrptrreference to a conflict handler pointer, or NULL
namename of conflict handler
descdescription of conflict handler
prioritypriority of the conflict handler
conflicthdlrdataconflict handler data

Definition at line 5962 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPconflicthdlrCreate(), SCIPerrorMessage, SCIPfindConflicthdlr(), SCIPsetIncludeConflicthdlr(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrIndicator(), and SCIPincludeConshdlrLogicor().

SCIP_RETCODE SCIPsetConflicthdlrCopy ( SCIP scip,
SCIP_CONFLICTHDLR conflicthdlr,
SCIP_DECL_CONFLICTCOPY((*conflictcopy))   
)

set copy method of conflict handler

Parameters
scipSCIP data structure
conflicthdlrconflict handler

Definition at line 5994 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrSetCopy(), and TRUE.

SCIP_RETCODE SCIPsetConflicthdlrFree ( SCIP scip,
SCIP_CONFLICTHDLR conflicthdlr,
SCIP_DECL_CONFLICTFREE((*conflictfree))   
)

set destructor of conflict handler

Parameters
scipSCIP data structure
conflicthdlrconflict handler

Definition at line 6010 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrSetFree(), and TRUE.

Referenced by SCIPincludeConshdlrBounddisjunction(), and SCIPincludeConshdlrIndicator().

SCIP_RETCODE SCIPsetConflicthdlrInit ( SCIP scip,
SCIP_CONFLICTHDLR conflicthdlr,
SCIP_DECL_CONFLICTINIT((*conflictinit))   
)

set initialization method of conflict handler

Parameters
scipSCIP data structure
conflicthdlrconflict handler

Definition at line 6026 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrSetInit(), and TRUE.

SCIP_RETCODE SCIPsetConflicthdlrExit ( SCIP scip,
SCIP_CONFLICTHDLR conflicthdlr,
SCIP_DECL_CONFLICTEXIT((*conflictexit))   
)

set deinitialization method of conflict handler

Parameters
scipSCIP data structure
conflicthdlrconflict handler

Definition at line 6042 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrSetExit(), and TRUE.

SCIP_RETCODE SCIPsetConflicthdlrInitsol ( SCIP scip,
SCIP_CONFLICTHDLR conflicthdlr,
SCIP_DECL_CONFLICTINITSOL((*conflictinitsol))   
)

set solving process initialization method of conflict handler

Parameters
scipSCIP data structure
conflicthdlrconflict handler

Definition at line 6058 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrSetInitsol(), and TRUE.

SCIP_RETCODE SCIPsetConflicthdlrExitsol ( SCIP scip,
SCIP_CONFLICTHDLR conflicthdlr,
SCIP_DECL_CONFLICTEXITSOL((*conflictexitsol))   
)

set solving process deinitialization method of conflict handler

Parameters
scipSCIP data structure
conflicthdlrconflict handler

Definition at line 6074 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconflicthdlrSetExitsol(), and TRUE.

SCIP_CONFLICTHDLR* SCIPfindConflicthdlr ( SCIP scip,
const char *  name 
)

returns the conflict handler of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of conflict handler

Definition at line 6090 of file scip.c.

References NULL, SCIPsetFindConflicthdlr(), and Scip::set.

Referenced by SCIPincludeConflicthdlr(), and SCIPincludeConflicthdlrBasic().

SCIP_CONFLICTHDLR** SCIPgetConflicthdlrs ( SCIP scip)

returns the array of currently available conflict handlers

Parameters
scipSCIP data structure

Definition at line 6103 of file scip.c.

References SCIP_Set::conflicthdlrs, NULL, SCIPsetSortConflicthdlrs(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

int SCIPgetNConflicthdlrs ( SCIP scip)

returns the number of currently available conflict handlers

Parameters
scipSCIP data structure

Definition at line 6116 of file scip.c.

References SCIP_Set::nconflicthdlrs, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

SCIP_RETCODE SCIPsetConflicthdlrPriority ( SCIP scip,
SCIP_CONFLICTHDLR conflicthdlr,
int  priority 
)

sets the priority of a conflict handler

Parameters
scipSCIP data structure
conflicthdlrconflict handler
prioritynew priority of the conflict handler

Definition at line 6127 of file scip.c.

References NULL, SCIP_OKAY, SCIPconflicthdlrSetPriority(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPincludePresol ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
int  maxrounds,
SCIP_PRESOLTIMING  timing,
SCIP_DECL_PRESOLCOPY((*presolcopy))  ,
SCIP_DECL_PRESOLFREE((*presolfree))  ,
SCIP_DECL_PRESOLINIT((*presolinit))  ,
SCIP_DECL_PRESOLEXIT((*presolexit))  ,
SCIP_DECL_PRESOLINITPRE((*presolinitpre))  ,
SCIP_DECL_PRESOLEXITPRE((*presolexitpre))  ,
SCIP_DECL_PRESOLEXEC((*presolexec))  ,
SCIP_PRESOLDATA presoldata 
)

creates a presolver and includes it in SCIP.

Note
method has all presolver callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludePresolBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
namename of presolver
descdescription of presolver
prioritypriority of the presolver (>= 0: before, < 0: after constraint handlers)
maxroundsmaximal number of presolving rounds the presolver participates in (-1: no limit)
timingtiming mask of the presolver
presoldatapresolver data

Definition at line 6148 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindPresol(), SCIPpresolCreate(), SCIPsetIncludePresol(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeObjPresol().

SCIP_RETCODE SCIPincludePresolBasic ( SCIP scip,
SCIP_PRESOL **  presolptr,
const char *  name,
const char *  desc,
int  priority,
int  maxrounds,
SCIP_PRESOLTIMING  timing,
SCIP_DECL_PRESOLEXEC((*presolexec))  ,
SCIP_PRESOLDATA presoldata 
)

creates a presolver and includes it in SCIP with its fundamental callback. All non-fundamental (or optional) callbacks as, e.g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions. These are SCIPsetPresolCopy(), SCIPsetPresolFree(), SCIPsetPresolInit(), SCIPsetPresolExit(), SCIPsetPresolInitpre(), and SCIPsetPresolExitPre().

Note
if you want to set all callbacks with a single method call, consider using SCIPincludePresol() instead
Parameters
scipSCIP data structure
presolptrreference to presolver, or NULL
namename of presolver
descdescription of presolver
prioritypriority of the presolver (>= 0: before, < 0: after constraint handlers)
maxroundsmaximal number of presolving rounds the presolver participates in (-1: no limit)
timingtiming mask of the presolver
presoldatapresolver data

Definition at line 6191 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindPresol(), SCIPpresolCreate(), SCIPsetIncludePresol(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolComponents(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePresolDualagg(), SCIPincludePresolDualinfer(), SCIPincludePresolImplfree(), SCIPincludePresolImplics(), SCIPincludePresolInttobinary(), SCIPincludePresolRedvub(), SCIPincludePresolStuffing(), SCIPincludePresolTrivial(), and SCIPincludePresolTworowbnd().

SCIP_RETCODE SCIPsetPresolFree ( SCIP scip,
SCIP_PRESOL presol,
SCIP_DECL_PRESOLFREE((*presolfree))   
)

sets destructor method of presolver

Parameters
scipSCIP data structure
presolpresolver

Definition at line 6242 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpresolSetFree(), and TRUE.

Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolComponents(), SCIPincludePresolConvertinttobin(), and SCIPincludePresolDomcol().

SCIP_RETCODE SCIPsetPresolInit ( SCIP scip,
SCIP_PRESOL presol,
SCIP_DECL_PRESOLINIT((*presolinit))   
)

sets initialization method of presolver

Parameters
scipSCIP data structure
presolpresolver

Definition at line 6258 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpresolSetInit(), and TRUE.

Referenced by SCIPincludePresolComponents().

SCIP_RETCODE SCIPsetPresolExit ( SCIP scip,
SCIP_PRESOL presol,
SCIP_DECL_PRESOLEXIT((*presolexit))   
)

sets deinitialization method of presolver

Parameters
scipSCIP data structure
presolpresolver

Definition at line 6274 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpresolSetExit(), and TRUE.

Referenced by SCIPincludePresolComponents().

SCIP_RETCODE SCIPsetPresolInitpre ( SCIP scip,
SCIP_PRESOL presol,
SCIP_DECL_PRESOLINITPRE((*presolinitpre))   
)

sets solving process initialization method of presolver

Parameters
scipSCIP data structure
presolpresolver

Definition at line 6290 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpresolSetInitpre(), and TRUE.

SCIP_RETCODE SCIPsetPresolExitpre ( SCIP scip,
SCIP_PRESOL presol,
SCIP_DECL_PRESOLEXITPRE((*presolexitpre))   
)

sets solving process deinitialization method of presolver

Parameters
scipSCIP data structure
presolpresolver

Definition at line 6306 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpresolSetExitpre(), and TRUE.

SCIP_PRESOL* SCIPfindPresol ( SCIP scip,
const char *  name 
)

returns the presolver of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of presolver

Definition at line 6322 of file scip.c.

References NULL, SCIPsetFindPresol(), and Scip::set.

Referenced by fillDigraph(), SCIPfindObjPresol(), SCIPincludePresol(), and SCIPincludePresolBasic().

SCIP_PRESOL** SCIPgetPresols ( SCIP scip)

returns the array of currently available presolvers

Parameters
scipSCIP data structure

Definition at line 6335 of file scip.c.

References NULL, SCIP_Set::presols, SCIPsetSortPresols(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

int SCIPgetNPresols ( SCIP scip)

returns the number of currently available presolvers

Parameters
scipSCIP data structure

Definition at line 6348 of file scip.c.

References SCIP_Set::npresols, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

SCIP_RETCODE SCIPsetPresolPriority ( SCIP scip,
SCIP_PRESOL presol,
int  priority 
)

sets the priority of a presolver

Parameters
scipSCIP data structure
presolpresolver
prioritynew priority of the presolver

Definition at line 6359 of file scip.c.

References NULL, SCIP_OKAY, SCIPpresolSetPriority(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPincludeRelax ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
int  freq,
SCIP_DECL_RELAXCOPY((*relaxcopy))  ,
SCIP_DECL_RELAXFREE((*relaxfree))  ,
SCIP_DECL_RELAXINIT((*relaxinit))  ,
SCIP_DECL_RELAXEXIT((*relaxexit))  ,
SCIP_DECL_RELAXINITSOL((*relaxinitsol))  ,
SCIP_DECL_RELAXEXITSOL((*relaxexitsol))  ,
SCIP_DECL_RELAXEXEC((*relaxexec))  ,
SCIP_RELAXDATA relaxdata 
)

creates a relaxation handler and includes it in SCIP

Note
method has all relaxation handler callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeRelaxBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
namename of relaxation handler
descdescription of relaxation handler
prioritypriority of the relaxation handler (negative: after LP, non-negative: before LP)
freqfrequency for calling relaxation handler
relaxdatarelaxation handler data

Definition at line 6380 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindRelax(), SCIPrelaxCreate(), SCIPsetIncludeRelax(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeObjRelax().

SCIP_RETCODE SCIPincludeRelaxBasic ( SCIP scip,
SCIP_RELAX **  relaxptr,
const char *  name,
const char *  desc,
int  priority,
int  freq,
SCIP_DECL_RELAXEXEC((*relaxexec))  ,
SCIP_RELAXDATA relaxdata 
)

creates a relaxation handler and includes it in SCIP. All non fundamental (or optional) callbacks as, e.g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetRelaxInit(), SCIPsetRelaxExit(), SCIPsetRelaxCopy(), SCIPsetRelaxFree(), SCIPsetRelaxInitsol(), and SCIPsetRelaxExitsol()

Note
if you want to set all callbacks with a single method call, consider using SCIPincludeRelax() instead
Parameters
scipSCIP data structure
relaxptrreference to relaxation pointer, or NULL
namename of relaxation handler
descdescription of relaxation handler
prioritypriority of the relaxation handler (negative: after LP, non-negative: before LP)
freqfrequency for calling relaxation handler
relaxdatarelaxation handler data

Definition at line 6423 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindRelax(), SCIPrelaxCreate(), SCIPsetIncludeRelax(), Scip::set, SCIP_Mem::setmem, and TRUE.

SCIP_RETCODE SCIPsetRelaxCopy ( SCIP scip,
SCIP_RELAX relax,
SCIP_DECL_RELAXCOPY((*relaxcopy))   
)

sets copy method of relaxation handler

Parameters
scipSCIP data structure
relaxrelaxation handler

Definition at line 6457 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPrelaxSetCopy(), and TRUE.

SCIP_RETCODE SCIPsetRelaxFree ( SCIP scip,
SCIP_RELAX relax,
SCIP_DECL_RELAXFREE((*relaxfree))   
)

sets destructor method of relaxation handler

Parameters
scipSCIP data structure
relaxrelaxation handler

Definition at line 6473 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPrelaxSetFree(), and TRUE.

SCIP_RETCODE SCIPsetRelaxInit ( SCIP scip,
SCIP_RELAX relax,
SCIP_DECL_RELAXINIT((*relaxinit))   
)

sets initialization method of relaxation handler

Parameters
scipSCIP data structure
relaxrelaxation handler

Definition at line 6489 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPrelaxSetInit(), and TRUE.

SCIP_RETCODE SCIPsetRelaxExit ( SCIP scip,
SCIP_RELAX relax,
SCIP_DECL_RELAXEXIT((*relaxexit))   
)

sets deinitialization method of relaxation handler

Parameters
scipSCIP data structure
relaxrelaxation handler

Definition at line 6505 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPrelaxSetExit(), and TRUE.

SCIP_RETCODE SCIPsetRelaxInitsol ( SCIP scip,
SCIP_RELAX relax,
SCIP_DECL_RELAXINITSOL((*relaxinitsol))   
)

sets solving process initialization method of relaxation handler

Parameters
scipSCIP data structure
relaxrelaxation handler

Definition at line 6521 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPrelaxSetInitsol(), and TRUE.

SCIP_RETCODE SCIPsetRelaxExitsol ( SCIP scip,
SCIP_RELAX relax,
SCIP_DECL_RELAXEXITSOL((*relaxexitsol))   
)

sets solving process deinitialization method of relaxation handler

Parameters
scipSCIP data structure
relaxrelaxation handler

Definition at line 6537 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPrelaxSetExitsol(), and TRUE.

SCIP_RELAX* SCIPfindRelax ( SCIP scip,
const char *  name 
)

returns the relaxation handler of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of relaxation handler

Definition at line 6554 of file scip.c.

References NULL, SCIPsetFindRelax(), and Scip::set.

Referenced by SCIPfindObjRelax(), SCIPincludeRelax(), and SCIPincludeRelaxBasic().

SCIP_RELAX** SCIPgetRelaxs ( SCIP scip)

returns the array of currently available relaxation handlers

Parameters
scipSCIP data structure

Definition at line 6567 of file scip.c.

References NULL, SCIP_Set::relaxs, SCIPsetSortRelaxs(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC().

int SCIPgetNRelaxs ( SCIP scip)

returns the number of currently available relaxation handlers

Parameters
scipSCIP data structure

Definition at line 6580 of file scip.c.

References SCIP_Set::nrelaxs, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPsetRelaxPriority ( SCIP scip,
SCIP_RELAX relax,
int  priority 
)

sets the priority of a relaxation handler

Parameters
scipSCIP data structure
relaxrelaxation handler
prioritynew priority of the relaxation handler

Definition at line 6591 of file scip.c.

References NULL, SCIP_OKAY, SCIPrelaxSetPriority(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPincludeSepa ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
int  freq,
SCIP_Real  maxbounddist,
SCIP_Bool  usessubscip,
SCIP_Bool  delay,
SCIP_DECL_SEPACOPY((*sepacopy))  ,
SCIP_DECL_SEPAFREE((*sepafree))  ,
SCIP_DECL_SEPAINIT((*sepainit))  ,
SCIP_DECL_SEPAEXIT((*sepaexit))  ,
SCIP_DECL_SEPAINITSOL((*sepainitsol))  ,
SCIP_DECL_SEPAEXITSOL((*sepaexitsol))  ,
SCIP_DECL_SEPAEXECLP((*sepaexeclp))  ,
SCIP_DECL_SEPAEXECSOL((*sepaexecsol))  ,
SCIP_SEPADATA sepadata 
)

creates a separator and includes it in SCIP.

Note
method has all separator callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeSepaBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
namename of separator
descdescription of separator
prioritypriority of separator (>= 0: before, < 0: after constraint handlers)
freqfrequency for calling separator
maxbounddistmaximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separation
usessubscipdoes the separator use a secondary SCIP instance?
delayshould separator be delayed, if other separators found cuts?
sepadataseparator data

Definition at line 6612 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindSepa(), SCIPsepaCreate(), SCIPsetIncludeSepa(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeObjSepa().

SCIP_RETCODE SCIPincludeSepaBasic ( SCIP scip,
SCIP_SEPA **  sepa,
const char *  name,
const char *  desc,
int  priority,
int  freq,
SCIP_Real  maxbounddist,
SCIP_Bool  usessubscip,
SCIP_Bool  delay,
SCIP_DECL_SEPAEXECLP((*sepaexeclp))  ,
SCIP_DECL_SEPAEXECSOL((*sepaexecsol))  ,
SCIP_SEPADATA sepadata 
)

creates a separator and includes it in SCIP with its most fundamental callbacks. All non-fundamental (or optional) callbacks as, e.g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetSepaInit(), SCIPsetSepaFree(), SCIPsetSepaInitsol(), SCIPsetSepaExitsol(), SCIPsetSepaCopy(), SCIPsetExit().

Note
if you want to set all callbacks with a single method call, consider using SCIPincludeSepa() instead
Parameters
scipSCIP data structure
separeference to a separator, or NULL
namename of separator
descdescription of separator
prioritypriority of separator (>= 0: before, < 0: after constraint handlers)
freqfrequency for calling separator
maxbounddistmaximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separation
usessubscipdoes the separator use a secondary SCIP instance?
delayshould separator be delayed, if other separators found cuts?
sepadataseparator data

Definition at line 6660 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindSepa(), SCIPsepaCreate(), SCIPsetIncludeSepa(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeSepaCGMIP(), SCIPincludeSepaClique(), SCIPincludeSepaClosecuts(), SCIPincludeSepaDisjunctive(), SCIPincludeSepaEccuts(), SCIPincludeSepaGomory(), SCIPincludeSepaImpliedbounds(), SCIPincludeSepaIntobj(), SCIPincludeSepaMcf(), SCIPincludeSepaOddcycle(), and SCIPincludeSepaStrongcg().

SCIP_RETCODE SCIPsetSepaInit ( SCIP scip,
SCIP_SEPA sepa,
SCIP_DECL_SEPAINIT((*sepainit))   
)

sets initialization method of separator

Parameters
scipSCIP data structure
sepaseparator

Definition at line 6734 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPsepaSetInit(), and TRUE.

Referenced by SCIPincludeSepaOddcycle().

SCIP_RETCODE SCIPsetSepaExit ( SCIP scip,
SCIP_SEPA sepa,
SCIP_DECL_SEPAEXIT((*sepaexit))   
)

sets deinitialization method of separator

Parameters
scipSCIP data structure
sepaseparator

Definition at line 6750 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPsepaSetExit(), and TRUE.

Referenced by SCIPincludeSepaIntobj().

SCIP_RETCODE SCIPsetSepaInitsol ( SCIP scip,
SCIP_SEPA sepa,
SCIP_DECL_SEPAINITSOL((*sepainitsol))   
)

sets solving process initialization method of separator

Parameters
scipSCIP data structure
sepaseparator

Definition at line 6766 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPsepaSetInitsol(), and TRUE.

Referenced by SCIPincludeSepaDisjunctive(), SCIPincludeSepaMcf(), and SCIPincludeSepaOddcycle().

SCIP_RETCODE SCIPsetSepaExitsol ( SCIP scip,
SCIP_SEPA sepa,
SCIP_DECL_SEPAEXITSOL((*sepaexitsol))   
)

sets solving process deinitialization method of separator

Parameters
scipSCIP data structure
sepaseparator

Definition at line 6782 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPsepaSetExitsol(), and TRUE.

Referenced by SCIPincludeSepaClique(), SCIPincludeSepaClosecuts(), SCIPincludeSepaEccuts(), SCIPincludeSepaIntobj(), and SCIPincludeSepaMcf().

SCIP_SEPA* SCIPfindSepa ( SCIP scip,
const char *  name 
)

returns the separator of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of separator

Definition at line 6798 of file scip.c.

References NULL, SCIPsetFindSepa(), and Scip::set.

Referenced by SCIPfindObjSepa(), SCIPincludeSepa(), SCIPincludeSepaBasic(), and SCIPsetBasePointClosecuts().

SCIP_SEPA** SCIPgetSepas ( SCIP scip)

returns the array of currently available separators

Parameters
scipSCIP data structure

Definition at line 6811 of file scip.c.

References NULL, SCIPsetSortSepas(), SCIP_Set::sepas, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

int SCIPgetNSepas ( SCIP scip)

returns the number of currently available separators

Parameters
scipSCIP data structure

Definition at line 6824 of file scip.c.

References SCIP_Set::nsepas, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

SCIP_RETCODE SCIPsetSepaPriority ( SCIP scip,
SCIP_SEPA sepa,
int  priority 
)

sets the priority of a separator

Parameters
scipSCIP data structure
sepaseparator
prioritynew priority of the separator

Definition at line 6835 of file scip.c.

References NULL, SCIP_OKAY, SCIPsepaSetPriority(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPincludeProp ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
int  freq,
SCIP_Bool  delay,
SCIP_PROPTIMING  timingmask,
int  presolpriority,
int  presolmaxrounds,
SCIP_PRESOLTIMING  presoltiming,
SCIP_DECL_PROPCOPY((*propcopy))  ,
SCIP_DECL_PROPFREE((*propfree))  ,
SCIP_DECL_PROPINIT((*propinit))  ,
SCIP_DECL_PROPEXIT((*propexit))  ,
SCIP_DECL_PROPINITPRE((*propinitpre))  ,
SCIP_DECL_PROPEXITPRE((*propexitpre))  ,
SCIP_DECL_PROPINITSOL((*propinitsol))  ,
SCIP_DECL_PROPEXITSOL((*propexitsol))  ,
SCIP_DECL_PROPPRESOL((*proppresol))  ,
SCIP_DECL_PROPEXEC((*propexec))  ,
SCIP_DECL_PROPRESPROP((*propresprop))  ,
SCIP_PROPDATA propdata 
)

creates a propagator and includes it in SCIP.

Note
method has all propagator callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludePropBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
namename of propagator
descdescription of propagator
prioritypriority of the propagator (>= 0: before, < 0: after constraint handlers)
freqfrequency for calling propagator
delayshould propagator be delayed, if other propagators found reductions?
timingmaskpositions in the node solving loop where propagator should be executed
presolprioritypresolving priority of the propagator (>= 0: before, < 0: after constraint handlers)
presolmaxroundsmaximal number of presolving rounds the propagator participates in (-1: no limit)
presoltimingtiming mask of the propagator's presolving method
propdatapropagator data

Definition at line 6855 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindProp(), SCIPpropCreate(), SCIPsetIncludeProp(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeObjProp().

SCIP_RETCODE SCIPincludePropBasic ( SCIP scip,
SCIP_PROP **  propptr,
const char *  name,
const char *  desc,
int  priority,
int  freq,
SCIP_Bool  delay,
SCIP_PROPTIMING  timingmask,
SCIP_DECL_PROPEXEC((*propexec))  ,
SCIP_PROPDATA propdata 
)

creates a propagator and includes it in SCIP. All non-fundamental (or optional) callbacks will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetPropInit(), SCIPsetPropExit(), SCIPsetPropCopy(), SCIPsetPropFree(), SCIPsetPropInitsol(), SCIPsetPropExitsol(), SCIPsetPropInitpre(), SCIPsetPropExitpre(), SCIPsetPropPresol(), and SCIPsetPropResprop().

Note
if you want to set all callbacks with a single method call, consider using SCIPincludeProp() instead
Parameters
scipSCIP data structure
propptrreference to a propagator pointer, or NULL
namename of propagator
descdescription of propagator
prioritypriority of the propagator (>= 0: before, < 0: after constraint handlers)
freqfrequency for calling propagator
delayshould propagator be delayed, if other propagators found reductions?
timingmaskpositions in the node solving loop where propagators should be executed
propdatapropagator data

Definition at line 6908 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_PRESOLTIMING_ALWAYS, SCIPerrorMessage, SCIPfindProp(), SCIPpropCreate(), SCIPsetIncludeProp(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludePropDualfix(), SCIPincludePropRedcost(), SCIPincludePropRootredcost(), and SCIPincludePropVbounds().

SCIP_RETCODE SCIPsetPropCopy ( SCIP scip,
SCIP_PROP prop,
SCIP_DECL_PROPCOPY((*propcopy))   
)

sets copy method of propagator

Parameters
scipSCIP data structure
proppropagator

Definition at line 6945 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpropSetCopy(), and TRUE.

Referenced by SCIPincludePropDualfix(), SCIPincludePropRedcost(), SCIPincludePropRootredcost(), and SCIPincludePropVbounds().

SCIP_RETCODE SCIPsetPropFree ( SCIP scip,
SCIP_PROP prop,
SCIP_DECL_PROPFREE((*propfree))   
)

sets destructor method of propagator

Parameters
scipSCIP data structure
proppropagator

Definition at line 6961 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpropSetFree(), and TRUE.

Referenced by SCIPincludePropRedcost(), SCIPincludePropRootredcost(), and SCIPincludePropVbounds().

SCIP_RETCODE SCIPsetPropInit ( SCIP scip,
SCIP_PROP prop,
SCIP_DECL_PROPINIT((*propinit))   
)

sets initialization method of propagator

Parameters
scipSCIP data structure
proppropagator

Definition at line 6977 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpropSetInit(), and TRUE.

SCIP_RETCODE SCIPsetPropExit ( SCIP scip,
SCIP_PROP prop,
SCIP_DECL_PROPEXIT((*propexit))   
)

sets deinitialization method of propagator

Parameters
scipSCIP data structure
proppropagator

Definition at line 6993 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpropSetExit(), and TRUE.

SCIP_RETCODE SCIPsetPropInitsol ( SCIP scip,
SCIP_PROP prop,
SCIP_DECL_PROPINITSOL((*propinitsol))   
)

sets solving process initialization method of propagator

Parameters
scipSCIP data structure
proppropagator

Definition at line 7009 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpropSetInitsol(), and TRUE.

Referenced by SCIPincludePropRedcost().

SCIP_RETCODE SCIPsetPropExitsol ( SCIP scip,
SCIP_PROP prop,
SCIP_DECL_PROPEXITSOL((*propexitsol))   
)

sets solving process deinitialization method of propagator

Parameters
scipSCIP data structure
proppropagator

Definition at line 7025 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpropSetExitsol(), and TRUE.

Referenced by SCIPincludePropRootredcost(), and SCIPincludePropVbounds().

SCIP_RETCODE SCIPsetPropInitpre ( SCIP scip,
SCIP_PROP prop,
SCIP_DECL_PROPINITPRE((*propinitpre))   
)

sets preprocessing initialization method of propagator

Parameters
scipSCIP data structure
proppropagator

Definition at line 7041 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpropSetInitpre(), and TRUE.

SCIP_RETCODE SCIPsetPropExitpre ( SCIP scip,
SCIP_PROP prop,
SCIP_DECL_PROPEXITPRE((*propexitpre))   
)

sets preprocessing deinitialization method of propagator

Parameters
scipSCIP data structure
proppropagator

Definition at line 7057 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpropSetExitpre(), and TRUE.

SCIP_RETCODE SCIPsetPropPresol ( SCIP scip,
SCIP_PROP prop,
SCIP_DECL_PROPPRESOL((*proppresol))  ,
int  presolpriority,
int  presolmaxrounds,
SCIP_PRESOLTIMING  presoltiming 
)

sets presolving method of propagator

Parameters
scipSCIP data structure
proppropagator
presolprioritypresolving priority of the propagator (>= 0: before, < 0: after constraint handlers)
presolmaxroundsmaximal number of presolving rounds the propagator participates in (-1: no limit)
presoltimingtiming mask of the propagator's presolving method

Definition at line 7073 of file scip.c.

References checkStage(), FALSE, NULL, paramname, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPpropGetName(), SCIPpropSetPresol(), SCIPsetSetDefaultIntParam(), SCIPsnprintf(), Scip::set, and TRUE.

Referenced by SCIPincludePropDualfix().

SCIP_RETCODE SCIPsetPropResprop ( SCIP scip,
SCIP_PROP prop,
SCIP_DECL_PROPRESPROP((*propresprop))   
)

sets propagation conflict resolving callback of propagator

Parameters
scipSCIP data structure
proppropagator

Definition at line 7106 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPpropSetResprop(), and TRUE.

Referenced by SCIPincludePropVbounds().

SCIP_PROP* SCIPfindProp ( SCIP scip,
const char *  name 
)

returns the propagator of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of propagator

Definition at line 7123 of file scip.c.

References NULL, SCIPsetFindProp(), and Scip::set.

Referenced by SCIPexecPropVbounds(), SCIPfindObjProp(), SCIPincludeProp(), SCIPincludePropBasic(), and SCIPisPropagatedVbounds().

SCIP_PROP** SCIPgetProps ( SCIP scip)

returns the array of currently available propagators

Parameters
scipSCIP data structure

Definition at line 7136 of file scip.c.

References NULL, SCIP_Set::props, SCIPsetSortProps(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC().

int SCIPgetNProps ( SCIP scip)

returns the number of currently available propagators

Parameters
scipSCIP data structure

Definition at line 7149 of file scip.c.

References SCIP_Set::nprops, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPsetPropPriority ( SCIP scip,
SCIP_PROP prop,
int  priority 
)

sets the priority of a propagator

Parameters
scipSCIP data structure
proppropagator
prioritynew priority of the propagator

Definition at line 7160 of file scip.c.

References NULL, SCIP_OKAY, SCIPpropSetPriority(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPsetPropPresolPriority ( SCIP scip,
SCIP_PROP prop,
int  presolpriority 
)

sets the presolving priority of a propagator

Parameters
scipSCIP data structure
proppropagator
presolprioritynew presol priority of the propagator

Definition at line 7175 of file scip.c.

References NULL, SCIP_OKAY, SCIPpropSetPresolPriority(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPincludeHeur ( SCIP scip,
const char *  name,
const char *  desc,
char  dispchar,
int  priority,
int  freq,
int  freqofs,
int  maxdepth,
unsigned int  timingmask,
SCIP_Bool  usessubscip,
SCIP_DECL_HEURCOPY((*heurcopy))  ,
SCIP_DECL_HEURFREE((*heurfree))  ,
SCIP_DECL_HEURINIT((*heurinit))  ,
SCIP_DECL_HEUREXIT((*heurexit))  ,
SCIP_DECL_HEURINITSOL((*heurinitsol))  ,
SCIP_DECL_HEUREXITSOL((*heurexitsol))  ,
SCIP_DECL_HEUREXEC((*heurexec))  ,
SCIP_HEURDATA heurdata 
)

creates a primal heuristic and includes it in SCIP.

Note
method has all heuristic callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeHeurBasic() and setter functions if you seek for a method which is less likely to change in future releases
Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
namename of primal heuristic
descdescription of primal heuristic
dispchardisplay character of primal heuristic
prioritypriority of the primal heuristic
freqfrequency for calling primal heuristic
freqofsfrequency offset for calling primal heuristic
maxdepthmaximal depth level to call heuristic at (-1: no limit)
timingmaskpositions in the node solving loop where heuristic should be executed; see definition of SCIP_HeurTiming for possible values
usessubscipdoes the heuristic use a secondary SCIP instance?
heurdataprimal heuristic data

Definition at line 7202 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindHeur(), SCIPheurCreate(), SCIPsetIncludeHeur(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeObjHeur().

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 
)

creates a primal heuristic and includes it in SCIP with its most fundamental callbacks. All non-fundamental (or optional) callbacks as, e. g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetHeurCopy(), SCIPsetHeurFree(), SCIPsetHeurInit(), SCIPsetHeurExit(), SCIPsetHeurInitsol(), and SCIPsetHeurExitsol()

Note
if you want to set all callbacks with a single method call, consider using SCIPincludeHeur() instead
Parameters
scipSCIP data structure
heurpointer to primal heuristic
namename of primal heuristic
descdescription of primal heuristic
dispchardisplay character of primal heuristic
prioritypriority of the primal heuristic
freqfrequency for calling primal heuristic
freqofsfrequency offset for calling primal heuristic
maxdepthmaximal depth level to call heuristic at (-1: no limit)
timingmaskpositions in the node solving loop where heuristic should be executed; see definition of SCIP_HeurTiming for possible values
usessubscipdoes the heuristic use a secondary SCIP instance?
heurdataprimal heuristic data

Definition at line 7252 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindHeur(), SCIPheurCreate(), SCIPsetIncludeHeur(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeHeurActconsdiving(), SCIPincludeHeurBound(), SCIPincludeHeurCoefdiving(), SCIPincludeHeurCrossover(), SCIPincludeHeurDins(), SCIPincludeHeurDualval(), SCIPincludeHeurFixandinfer(), SCIPincludeHeurFracdiving(), SCIPincludeHeurGuideddiving(), SCIPincludeHeurIndicator(), SCIPincludeHeurIntdiving(), SCIPincludeHeurIntshifting(), SCIPincludeHeurLinesearchdiving(), SCIPincludeHeurLocalbranching(), SCIPincludeHeurMutation(), SCIPincludeHeurObjpscostdiving(), SCIPincludeHeurOctane(), SCIPincludeHeurOfins(), SCIPincludeHeurOneopt(), SCIPincludeHeurProximity(), SCIPincludeHeurPscostdiving(), SCIPincludeHeurRandrounding(), SCIPincludeHeurRens(), SCIPincludeHeurReoptsols(), SCIPincludeHeurRins(), SCIPincludeHeurRootsoldiving(), SCIPincludeHeurRounding(), SCIPincludeHeurShiftandpropagate(), SCIPincludeHeurShifting(), SCIPincludeHeurSimplerounding(), SCIPincludeHeurSubNlp(), SCIPincludeHeurTrivial(), SCIPincludeHeurTrivialnegation(), SCIPincludeHeurTrySol(), SCIPincludeHeurTwoopt(), SCIPincludeHeurUndercover(), SCIPincludeHeurVbounds(), SCIPincludeHeurVeclendiving(), SCIPincludeHeurZeroobj(), and SCIPincludeHeurZirounding().

SCIP_RETCODE SCIPsetHeurExitsol ( SCIP scip,
SCIP_HEUR heur,
SCIP_DECL_HEUREXITSOL((*heurexitsol))   
)
SCIP_HEUR* SCIPfindHeur ( SCIP scip,
const char *  name 
)

returns the primal heuristic of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of primal heuristic

Definition at line 7393 of file scip.c.

References NULL, SCIPsetFindHeur(), and Scip::set.

Referenced by checkSystemGF2(), extendToCover(), SCIP_DECL_CONSINIT(), SCIPdeleteSubproblemProximity(), SCIPfindObjHeur(), SCIPincludeHeur(), SCIPincludeHeurBasic(), SCIPreoptsolsGetNCheckedsols(), and SCIPreoptsolsGetNImprovingsols().

SCIP_HEUR** SCIPgetHeurs ( SCIP scip)

returns the array of currently available primal heuristics

Parameters
scipSCIP data structure

Definition at line 7406 of file scip.c.

References SCIP_Set::heurs, NULL, SCIPsetSortHeurs(), and Scip::set.

Referenced by checkParameters(), SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

int SCIPgetNHeurs ( SCIP scip)

returns the number of currently available primal heuristics

Parameters
scipSCIP data structure

Definition at line 7419 of file scip.c.

References SCIP_Set::nheurs, NULL, and Scip::set.

Referenced by checkParameters(), SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

SCIP_RETCODE SCIPsetHeurPriority ( SCIP scip,
SCIP_HEUR heur,
int  priority 
)

sets the priority of a primal heuristic

Parameters
scipSCIP data structure
heurprimal heuristic
prioritynew priority of the primal heuristic

Definition at line 7430 of file scip.c.

References NULL, SCIP_OKAY, SCIPheurSetPriority(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPincludeCompr ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
int  minnnodes,
SCIP_DECL_COMPRCOPY((*comprcopy))  ,
SCIP_DECL_COMPRFREE((*comprfree))  ,
SCIP_DECL_COMPRINIT((*comprinit))  ,
SCIP_DECL_COMPREXIT((*comprexit))  ,
SCIP_DECL_COMPRINITSOL((*comprinitsol))  ,
SCIP_DECL_COMPREXITSOL((*comprexitsol))  ,
SCIP_DECL_COMPREXEC((*comprexec))  ,
SCIP_COMPRDATA comprdata 
)

creates a tree compression and includes it in SCIP.

Note
method has all compression callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeComprBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
namename of tree compression
descdescription of tree compression
prioritypriority of the tree compression
minnnodesminimal number of nodes to call compression
comprdatatree compression data

Definition at line 7450 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcomprCreate(), SCIPerrorMessage, SCIPfindCompr(), SCIPsetIncludeCompr(), Scip::set, SCIP_Mem::setmem, and TRUE.

SCIP_RETCODE SCIPincludeComprBasic ( SCIP scip,
SCIP_COMPR **  compr,
const char *  name,
const char *  desc,
int  priority,
int  minnnodes,
SCIP_DECL_COMPREXEC((*comprexec))  ,
SCIP_COMPRDATA comprdata 
)

creates a tree compression and includes it in SCIP with its most fundamental callbacks. All non-fundamental (or optional) callbacks as, e. g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetComprCopy(), SCIPsetComprFree(), SCIPsetComprInit(), SCIPsetComprExit(), SCIPsetComprInitsol(), and SCIPsetComprExitsol()

Note
if you want to set all callbacks with a single method call, consider using SCIPincludeCompr() instead
Parameters
scipSCIP data structure
comprpointer to tree compression
namename of tree compression
descdescription of tree compression
prioritypriority of the tree compression
minnnodesminimal number of nodes to call the compression
comprdatatree compression data

Definition at line 7493 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcomprCreate(), SCIPerrorMessage, SCIPfindCompr(), SCIPsetIncludeCompr(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeComprLargestrepr(), and SCIPincludeComprWeakcompr().

SCIP_RETCODE SCIPsetComprCopy ( SCIP scip,
SCIP_COMPR compr,
SCIP_DECL_COMPRCOPY((*comprcopy))   
)

sets copy method of tree compression

Parameters
scipSCIP data structure
comprtree compression

Definition at line 7531 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcomprSetCopy(), and TRUE.

Referenced by SCIPincludeComprLargestrepr(), and SCIPincludeComprWeakcompr().

SCIP_RETCODE SCIPsetComprFree ( SCIP scip,
SCIP_COMPR compr,
SCIP_DECL_COMPRFREE((*comprfree))   
)

sets destructor method of tree compression

Parameters
scipSCIP data structure
comprtree compression

Definition at line 7547 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcomprSetFree(), and TRUE.

Referenced by SCIPincludeComprLargestrepr(), and SCIPincludeComprWeakcompr().

SCIP_RETCODE SCIPsetComprInit ( SCIP scip,
SCIP_COMPR compr,
SCIP_DECL_COMPRINIT((*comprinit))   
)

sets initialization method of tree compression

Parameters
scipSCIP data structure
comprtree compression

Definition at line 7563 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcomprSetInit(), and TRUE.

SCIP_RETCODE SCIPsetComprExit ( SCIP scip,
SCIP_COMPR compr,
SCIP_DECL_COMPREXIT((*comprexit))   
)

sets deinitialization method of tree compression

Parameters
scipSCIP data structure
comprtree compression

Definition at line 7579 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcomprSetExit(), and TRUE.

Referenced by SCIPincludeComprLargestrepr(), and SCIPincludeComprWeakcompr().

SCIP_RETCODE SCIPsetComprInitsol ( SCIP scip,
SCIP_COMPR compr,
SCIP_DECL_COMPRINITSOL((*comprinitsol))   
)

sets solving process initialization method of tree compression

Parameters
scipSCIP data structure
comprtree compression

Definition at line 7595 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcomprSetInitsol(), and TRUE.

SCIP_RETCODE SCIPsetComprExitsol ( SCIP scip,
SCIP_COMPR compr,
SCIP_DECL_COMPREXITSOL((*comprexitsol))   
)

sets solving process deinitialization method of tree compression

Parameters
scipSCIP data structure
comprtree compression

Definition at line 7611 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcomprSetExitsol(), and TRUE.

SCIP_COMPR* SCIPfindCompr ( SCIP scip,
const char *  name 
)

returns the tree compression of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of tree compression

Definition at line 7627 of file scip.c.

References NULL, SCIPsetFindCompr(), and Scip::set.

Referenced by SCIPincludeCompr(), and SCIPincludeComprBasic().

SCIP_COMPR** SCIPgetComprs ( SCIP scip)

returns the array of currently available tree compression

Parameters
scipSCIP data structure

Definition at line 7640 of file scip.c.

References SCIP_Set::comprs, NULL, SCIPsetSortComprs(), and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC().

int SCIPgetNCompr ( SCIP scip)

returns the number of currently available tree compression

Parameters
scipSCIP data structure

Definition at line 7653 of file scip.c.

References SCIP_Set::ncomprs, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPsetComprPriority ( SCIP scip,
SCIP_COMPR compr,
int  priority 
)

set the priority of a tree compression method

Parameters
scipSCIP data structure
comprcompression
prioritynew priority of the tree compression

Definition at line 7664 of file scip.c.

References NULL, SCIP_OKAY, SCIPcomprSetPriority(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPcreateDiveset ( SCIP scip,
SCIP_DIVESET **  diveset,
SCIP_HEUR heur,
const char *  name,
SCIP_Real  minreldepth,
SCIP_Real  maxreldepth,
SCIP_Real  maxlpiterquot,
SCIP_Real  maxdiveubquot,
SCIP_Real  maxdiveavgquot,
SCIP_Real  maxdiveubquotnosol,
SCIP_Real  maxdiveavgquotnosol,
SCIP_Real  lpresolvedomchgquot,
int  lpsolvefreq,
int  maxlpiterofs,
SCIP_Bool  backtrack,
SCIP_Bool  onlylpbranchcands,
SCIP_Bool  specificsos1score,
SCIP_DECL_DIVESETGETSCORE((*divesetgetscore))   
)

create a diving set associated with a primal heuristic. The primal heuristic needs to be included before this method can be called. The diveset is installed in the array of divesets of the heuristic and can be retrieved later by accessing SCIPheurGetDivesets()

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
divesetpointer to created diving heuristic settings, or NULL if not needed
heurprimal heuristic to which the diveset belongs
namename for the diveset, or NULL if the name of the heuristic should be used
minreldepthminimal relative depth to start diving
maxreldepthmaximal relative depth to start diving
maxlpiterquotmaximal fraction of diving LP iterations compared to node LP iterations
maxdiveubquotmaximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
maxdiveavgquotmaximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit)
maxdiveubquotnosolmaximal UBQUOT when no solution was found yet (0.0: no limit)
maxdiveavgquotnosolmaximal AVGQUOT when no solution was found yet (0.0: no limit)
lpresolvedomchgquotpercentage of immediate domain changes during probing to trigger LP resolve
lpsolvefreqLP solve frequency for (0: only if enough domain reductions are found by propagation)
maxlpiterofsadditional number of allowed LP iterations
backtrackuse one level of backtracking if infeasibility is encountered?
onlylpbranchcandsshould only LP branching candidates be considered instead of the slower but more general constraint handler diving variable selection?
specificsos1scoreshould SOS1 variables be scored by the diving heuristics specific score function; otherwise use the score function of the SOS1 constraint handler

Definition at line 7689 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPdivesetCreate(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeHeurActconsdiving(), SCIPincludeHeurCoefdiving(), SCIPincludeHeurFracdiving(), SCIPincludeHeurGuideddiving(), SCIPincludeHeurLinesearchdiving(), SCIPincludeHeurPscostdiving(), and SCIPincludeHeurVeclendiving().

SCIP_RETCODE SCIPincludeEventhdlr ( SCIP scip,
const char *  name,
const char *  desc,
SCIP_DECL_EVENTCOPY((*eventcopy))  ,
SCIP_DECL_EVENTFREE((*eventfree))  ,
SCIP_DECL_EVENTINIT((*eventinit))  ,
SCIP_DECL_EVENTEXIT((*eventexit))  ,
SCIP_DECL_EVENTINITSOL((*eventinitsol))  ,
SCIP_DECL_EVENTEXITSOL((*eventexitsol))  ,
SCIP_DECL_EVENTDELETE((*eventdelete))  ,
SCIP_DECL_EVENTEXEC((*eventexec))  ,
SCIP_EVENTHDLRDATA eventhdlrdata 
)

creates an event handler and includes it in SCIP

Note
method has all event handler callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeEventhdlrBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
namename of event handler
descdescription of event handler
eventhdlrdataevent handler data

Definition at line 7736 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPeventhdlrCreate(), SCIPfindEventhdlr(), SCIPsetIncludeEventhdlr(), Scip::set, and TRUE.

Referenced by SCIPincludeObjEventhdlr().

SCIP_RETCODE SCIPincludeEventhdlrBasic ( SCIP scip,
SCIP_EVENTHDLR **  eventhdlrptr,
const char *  name,
const char *  desc,
SCIP_DECL_EVENTEXEC((*eventexec))  ,
SCIP_EVENTHDLRDATA eventhdlrdata 
)

creates an event handler and includes it in SCIP with all its non-fundamental callbacks set to NULL; if needed, non-fundamental callbacks can be set afterwards via setter functions SCIPsetEventhdlrCopy(), SCIPsetEventhdlrFree(), SCIPsetEventhdlrInit(), SCIPsetEventhdlrExit(), SCIPsetEventhdlrInitsol(), SCIPsetEventhdlrExitsol(), and SCIPsetEventhdlrDelete()

Note
if you want to set all callbacks with a single method call, consider using SCIPincludeEventhdlr() instead
Parameters
scipSCIP data structure
eventhdlrptrreference to an event handler, or NULL
namename of event handler
descdescription of event handler
eventhdlrdataevent handler data

Definition at line 7778 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPeventhdlrCreate(), SCIPfindEventhdlr(), SCIPsetIncludeEventhdlr(), Scip::set, and TRUE.

Referenced by applyOfins(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NONLINCONSUPGD(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPincludeBranchruleDistribution(), SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrAnd(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrBounddisjunction(), SCIPincludeConshdlrCumulative(), SCIPincludeConshdlrIndicator(), SCIPincludeConshdlrLinking(), SCIPincludeConshdlrLogicor(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrOr(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeConshdlrSOS2(), SCIPincludeConshdlrVarbound(), SCIPincludeConshdlrXor(), SCIPincludeEventHdlrLPsol(), SCIPincludeEventHdlrSofttimelimit(), SCIPincludeHeurShiftandpropagate(), SCIPincludeHeurSubNlp(), SCIPincludePropVbounds(), and SCIPincludeSepaIntobj().

SCIP_RETCODE SCIPsetEventhdlrCopy ( SCIP scip,
SCIP_EVENTHDLR eventhdlr,
SCIP_DECL_EVENTCOPY((*eventcopy))   
)

sets copy callback of the event handler

Parameters
scipscip instance
eventhdlrevent handler

Definition at line 7810 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPeventhdlrSetCopy(), and TRUE.

Referenced by SCIPincludeEventHdlrSofttimelimit().

SCIP_RETCODE SCIPsetEventhdlrFree ( SCIP scip,
SCIP_EVENTHDLR eventhdlr,
SCIP_DECL_EVENTFREE((*eventfree))   
)

sets deinitialization callback of the event handler

Parameters
scipscip instance
eventhdlrevent handler

Definition at line 7824 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPeventhdlrSetFree(), and TRUE.

Referenced by SCIPincludeBranchruleDistribution(), and SCIPincludeEventHdlrSofttimelimit().

SCIP_RETCODE SCIPsetEventhdlrInit ( SCIP scip,
SCIP_EVENTHDLR eventhdlr,
SCIP_DECL_EVENTINIT((*eventinit))   
)

sets initialization callback of the event handler

Parameters
scipscip instance
eventhdlrevent handler

Definition at line 7838 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPeventhdlrSetInit(), and TRUE.

Referenced by SCIPincludeEventHdlrLPsol(), SCIPincludeEventHdlrSofttimelimit(), and SCIPincludeSepaIntobj().

SCIP_RETCODE SCIPsetEventhdlrExit ( SCIP scip,
SCIP_EVENTHDLR eventhdlr,
SCIP_DECL_EVENTEXIT((*eventexit))   
)

sets deinitialization callback of the event handler

Parameters
scipscip instance
eventhdlrevent handler

Definition at line 7852 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPeventhdlrSetExit(), and TRUE.

Referenced by SCIPincludeEventHdlrLPsol(), SCIPincludeEventHdlrSofttimelimit(), and SCIPincludeSepaIntobj().

SCIP_RETCODE SCIPsetEventhdlrInitsol ( SCIP scip,
SCIP_EVENTHDLR eventhdlr,
SCIP_DECL_EVENTINITSOL((*eventinitsol))   
)

sets solving process initialization callback of the event handler

Parameters
scipscip instance
eventhdlrevent handler

Definition at line 7866 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPeventhdlrSetInitsol(), and TRUE.

SCIP_RETCODE SCIPsetEventhdlrExitsol ( SCIP scip,
SCIP_EVENTHDLR eventhdlr,
SCIP_DECL_EVENTEXITSOL((*eventexitsol))   
)

sets solving process deinitialization callback of the event handler

Parameters
scipscip instance
eventhdlrevent handler

Definition at line 7880 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPeventhdlrSetExitsol(), and TRUE.

SCIP_RETCODE SCIPsetEventhdlrDelete ( SCIP scip,
SCIP_EVENTHDLR eventhdlr,
SCIP_DECL_EVENTDELETE((*eventdelete))   
)

sets callback of the event handler to free specific event data

Parameters
scipscip instance
eventhdlrevent handler

Definition at line 7894 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPeventhdlrSetDelete(), and TRUE.

SCIP_EVENTHDLR* SCIPfindEventhdlr ( SCIP scip,
const char *  name 
)

returns the event handler of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of event handler

Definition at line 7908 of file scip.c.

References NULL, SCIPsetFindEventhdlr(), and Scip::set.

Referenced by SCIP_DECL_CONSEXITSOL(), SCIP_DECL_CONSINITSOL(), SCIPapplyProximity(), SCIPfindObjEventhdlr(), SCIPincludeEventhdlr(), and SCIPincludeEventhdlrBasic().

SCIP_EVENTHDLR** SCIPgetEventhdlrs ( SCIP scip)

returns the array of currently available event handlers

Parameters
scipSCIP data structure

Definition at line 7921 of file scip.c.

References SCIP_Set::eventhdlrs, NULL, and Scip::set.

int SCIPgetNEventhdlrs ( SCIP scip)

returns the number of currently available event handlers

Parameters
scipSCIP data structure

Definition at line 7932 of file scip.c.

References SCIP_Set::neventhdlrs, NULL, and Scip::set.

SCIP_RETCODE SCIPincludeNodesel ( SCIP scip,
const char *  name,
const char *  desc,
int  stdpriority,
int  memsavepriority,
SCIP_DECL_NODESELCOPY((*nodeselcopy))  ,
SCIP_DECL_NODESELFREE((*nodeselfree))  ,
SCIP_DECL_NODESELINIT((*nodeselinit))  ,
SCIP_DECL_NODESELEXIT((*nodeselexit))  ,
SCIP_DECL_NODESELINITSOL((*nodeselinitsol))  ,
SCIP_DECL_NODESELEXITSOL((*nodeselexitsol))  ,
SCIP_DECL_NODESELSELECT((*nodeselselect))  ,
SCIP_DECL_NODESELCOMP((*nodeselcomp))  ,
SCIP_NODESELDATA nodeseldata 
)

creates a node selector and includes it in SCIP.

Note
method has all node selector callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeNodeselBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
namename of node selector
descdescription of node selector
stdprioritypriority of the node selector in standard mode
memsaveprioritypriority of the node selector in memory saving mode
nodeseldatanode selector data

Definition at line 7948 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindNodesel(), SCIPnodeselCreate(), SCIPsetIncludeNodesel(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeObjNodesel().

SCIP_RETCODE SCIPincludeNodeselBasic ( SCIP scip,
SCIP_NODESEL **  nodesel,
const char *  name,
const char *  desc,
int  stdpriority,
int  memsavepriority,
SCIP_DECL_NODESELSELECT((*nodeselselect))  ,
SCIP_DECL_NODESELCOMP((*nodeselcomp))  ,
SCIP_NODESELDATA nodeseldata 
)

Creates a node selector and includes it in SCIP with its most fundamental callbacks. All non-fundamental (or optional) callbacks as, e.g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetNodeselCopy(), SCIPsetNodeselFree(), SCIPsetNodeselInit(), SCIPsetNodeselExit(), SCIPsetNodeselInitsol(), and SCIPsetNodeselExitsol()

Note
if you want to set all callbacks with a single method call, consider using SCIPincludeNodesel() instead
Parameters
scipSCIP data structure
nodeselreference to a node selector, or NULL
namename of node selector
descdescription of node selector
stdprioritypriority of the node selector in standard mode
memsaveprioritypriority of the node selector in memory saving mode
nodeseldatanode selector data

Definition at line 7992 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindNodesel(), SCIPnodeselCreate(), SCIPsetIncludeNodesel(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeNodeselBfs(), SCIPincludeNodeselBreadthfirst(), SCIPincludeNodeselDfs(), SCIPincludeNodeselEstimate(), SCIPincludeNodeselHybridestim(), SCIPincludeNodeselRestartdfs(), and SCIPincludeNodeselUct().

SCIP_RETCODE SCIPsetNodeselCopy ( SCIP scip,
SCIP_NODESEL nodesel,
SCIP_DECL_NODESELCOPY((*nodeselcopy))   
)

sets copy method of node selector

Parameters
scipSCIP data structure
nodeselnode selector

Definition at line 8028 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselSetCopy(), and TRUE.

Referenced by SCIPincludeNodeselBfs(), SCIPincludeNodeselBreadthfirst(), SCIPincludeNodeselDfs(), SCIPincludeNodeselEstimate(), SCIPincludeNodeselHybridestim(), SCIPincludeNodeselRestartdfs(), and SCIPincludeNodeselUct().

SCIP_RETCODE SCIPsetNodeselFree ( SCIP scip,
SCIP_NODESEL nodesel,
SCIP_DECL_NODESELFREE((*nodeselfree))   
)

sets destructor method of node selector

Parameters
scipSCIP data structure
nodeselnode selector

Definition at line 8044 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselSetFree(), and TRUE.

Referenced by SCIPincludeNodeselBfs(), SCIPincludeNodeselEstimate(), SCIPincludeNodeselHybridestim(), SCIPincludeNodeselRestartdfs(), and SCIPincludeNodeselUct().

SCIP_RETCODE SCIPsetNodeselInit ( SCIP scip,
SCIP_NODESEL nodesel,
SCIP_DECL_NODESELINIT((*nodeselinit))   
)

sets initialization method of node selector

Parameters
scipSCIP data structure
nodeselnode selector

Definition at line 8060 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselSetInit(), and TRUE.

SCIP_RETCODE SCIPsetNodeselExit ( SCIP scip,
SCIP_NODESEL nodesel,
SCIP_DECL_NODESELEXIT((*nodeselexit))   
)

sets deinitialization method of node selector

Parameters
scipSCIP data structure
nodeselnode selector

Definition at line 8076 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselSetExit(), and TRUE.

SCIP_RETCODE SCIPsetNodeselInitsol ( SCIP scip,
SCIP_NODESEL nodesel,
SCIP_DECL_NODESELINITSOL((*nodeselinitsol))   
)

sets solving process initialization method of node selector

Parameters
scipSCIP data structure
nodeselnode selector

Definition at line 8092 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselSetInitsol(), and TRUE.

Referenced by SCIPincludeNodeselRestartdfs(), and SCIPincludeNodeselUct().

SCIP_RETCODE SCIPsetNodeselExitsol ( SCIP scip,
SCIP_NODESEL nodesel,
SCIP_DECL_NODESELEXITSOL((*nodeselexitsol))   
)

sets solving process deinitialization method of node selector

Parameters
scipSCIP data structure
nodeselnode selector

Definition at line 8108 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselSetExitsol(), and TRUE.

Referenced by SCIPincludeNodeselUct().

SCIP_NODESEL* SCIPfindNodesel ( SCIP scip,
const char *  name 
)

returns the node selector of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of node selector

Definition at line 8124 of file scip.c.

References NULL, SCIPsetFindNodesel(), and Scip::set.

Referenced by applyOfins(), applyVbounds(), SCIP_DECL_HEUREXEC(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPfindObjNodesel(), SCIPincludeNodesel(), SCIPincludeNodeselBasic(), setupSCIPparamsStage3(), setupSubproblem(), and solveSubMIP().

SCIP_NODESEL** SCIPgetNodesels ( SCIP scip)

returns the array of currently available node selectors

Parameters
scipSCIP data structure

Definition at line 8137 of file scip.c.

References SCIP_Set::nodesels, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and turnoffNodeSelector().

int SCIPgetNNodesels ( SCIP scip)

returns the number of currently available node selectors

Parameters
scipSCIP data structure

Definition at line 8148 of file scip.c.

References SCIP_Set::nnodesels, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and turnoffNodeSelector().

SCIP_RETCODE SCIPsetNodeselStdPriority ( SCIP scip,
SCIP_NODESEL nodesel,
int  priority 
)

sets the priority of a node selector in standard mode

Parameters
scipSCIP data structure
nodeselnode selector
prioritynew standard priority of the node selector

Definition at line 8159 of file scip.c.

References NULL, SCIP_OKAY, SCIPnodeselSetStdPriority(), and Scip::set.

Referenced by SCIP_DECL_NODESELEXITSOL(), SCIP_DECL_PARAMCHGD(), and turnoffNodeSelector().

SCIP_RETCODE SCIPsetNodeselMemsavePriority ( SCIP scip,
SCIP_NODESEL nodesel,
int  priority 
)

sets the priority of a node selector in memory saving mode

Parameters
scipSCIP data structure
nodeselnode selector
prioritynew memory saving priority of the node selector

Definition at line 8174 of file scip.c.

References NULL, SCIP_OKAY, SCIPnodeselSetMemsavePriority(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_NODESEL* SCIPgetNodesel ( SCIP scip)

returns the currently used node selector

Parameters
scipSCIP data structure

Definition at line 8189 of file scip.c.

References NULL, SCIPsetGetNodesel(), Scip::set, and Scip::stat.

SCIP_RETCODE SCIPincludeBranchrule ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
int  maxdepth,
SCIP_Real  maxbounddist,
SCIP_DECL_BRANCHCOPY((*branchcopy))  ,
SCIP_DECL_BRANCHFREE((*branchfree))  ,
SCIP_DECL_BRANCHINIT((*branchinit))  ,
SCIP_DECL_BRANCHEXIT((*branchexit))  ,
SCIP_DECL_BRANCHINITSOL((*branchinitsol))  ,
SCIP_DECL_BRANCHEXITSOL((*branchexitsol))  ,
SCIP_DECL_BRANCHEXECLP((*branchexeclp))  ,
SCIP_DECL_BRANCHEXECEXT((*branchexecext))  ,
SCIP_DECL_BRANCHEXECPS((*branchexecps))  ,
SCIP_BRANCHRULEDATA branchruledata 
)

creates a branching rule and includes it in SCIP

Note
method has all branching rule callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeBranchruleBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
namename of branching rule
descdescription of branching rule
prioritypriority of the branching rule
maxdepthmaximal depth level, up to which this branching rule should be used (or -1)
maxbounddistmaximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
branchruledatabranching rule data

Definition at line 8205 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPbranchruleCreate(), SCIPerrorMessage, SCIPfindBranchrule(), SCIPsetIncludeBranchrule(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeObjBranchrule().

SCIP_RETCODE SCIPincludeBranchruleBasic ( SCIP scip,
SCIP_BRANCHRULE **  branchruleptr,
const char *  name,
const char *  desc,
int  priority,
int  maxdepth,
SCIP_Real  maxbounddist,
SCIP_BRANCHRULEDATA branchruledata 
)

creates a branching rule and includes it in SCIP. All non-fundamental (or optional) callbacks will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetBranchruleInit(), SCIPsetBranchruleExit(), SCIPsetBranchruleCopy(), SCIPsetBranchruleFree(), SCIPsetBranchruleInitsol(), SCIPsetBranchruleExitsol(), SCIPsetBranchruleExecLp(), SCIPsetBranchruleExecExt(), and SCIPsetBranchruleExecPs().

Note
if you want to set all callbacks with a single method call, consider using SCIPincludeBranchrule() instead
Parameters
scipSCIP data structure
branchruleptrpointer to branching rule, or NULL
namename of branching rule
descdescription of branching rule
prioritypriority of the branching rule
maxdepthmaximal depth level, up to which this branching rule should be used (or -1)
maxbounddistmaximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
branchruledatabranching rule data

Definition at line 8253 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPbranchruleCreate(), SCIPerrorMessage, SCIPfindBranchrule(), SCIPsetIncludeBranchrule(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeBranchruleAllfullstrong(), SCIPincludeBranchruleCloud(), SCIPincludeBranchruleDistribution(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleInference(), SCIPincludeBranchruleLeastinf(), SCIPincludeBranchruleMostinf(), SCIPincludeBranchruleMultAggr(), SCIPincludeBranchruleNodereopt(), SCIPincludeBranchrulePscost(), SCIPincludeBranchruleRandom(), and SCIPincludeBranchruleRelpscost().

SCIP_RETCODE SCIPsetBranchruleInit ( SCIP scip,
SCIP_BRANCHRULE branchrule,
SCIP_DECL_BRANCHINIT((*branchinit))   
)

sets initialization method of branching rule

Parameters
scipSCIP data structure
branchrulebranching rule

Definition at line 8322 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetInit(), and TRUE.

Referenced by SCIPincludeBranchruleAllfullstrong(), SCIPincludeBranchruleCloud(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleMultAggr(), and SCIPincludeBranchruleRandom().

SCIP_RETCODE SCIPsetBranchruleExit ( SCIP scip,
SCIP_BRANCHRULE branchrule,
SCIP_DECL_BRANCHEXIT((*branchexit))   
)

sets deinitialization method of branching rule

Parameters
scipSCIP data structure
branchrulebranching rule

Definition at line 8338 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetExit(), and TRUE.

Referenced by SCIPincludeBranchruleFullstrong(), and SCIPincludeBranchruleMultAggr().

SCIP_RETCODE SCIPsetBranchruleInitsol ( SCIP scip,
SCIP_BRANCHRULE branchrule,
SCIP_DECL_BRANCHINITSOL((*branchinitsol))   
)

sets solving process initialization method of branching rule

Parameters
scipSCIP data structure
branchrulebranching rule

Definition at line 8354 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetInitsol(), and TRUE.

Referenced by SCIPincludeBranchruleRelpscost().

SCIP_RETCODE SCIPsetBranchruleExitsol ( SCIP scip,
SCIP_BRANCHRULE branchrule,
SCIP_DECL_BRANCHEXITSOL((*branchexitsol))   
)

sets solving process deinitialization method of branching rule

Parameters
scipSCIP data structure
branchrulebranching rule

Definition at line 8370 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetExitsol(), and TRUE.

Referenced by SCIPincludeBranchruleDistribution(), and SCIPincludeBranchruleRelpscost().

SCIP_RETCODE SCIPsetBranchruleExecExt ( SCIP scip,
SCIP_BRANCHRULE branchrule,
SCIP_DECL_BRANCHEXECEXT((*branchexecext))   
)

sets branching execution method for external candidates

Parameters
scipSCIP data structure
branchrulebranching rule

Definition at line 8404 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetExecExt(), and TRUE.

Referenced by SCIPincludeBranchruleInference(), SCIPincludeBranchruleLeastinf(), SCIPincludeBranchruleMostinf(), SCIPincludeBranchruleNodereopt(), SCIPincludeBranchrulePscost(), and SCIPincludeBranchruleRandom().

SCIP_RETCODE SCIPsetBranchruleExecPs ( SCIP scip,
SCIP_BRANCHRULE branchrule,
SCIP_DECL_BRANCHEXECPS((*branchexecps))   
)

sets branching execution method for not completely fixed pseudo solutions

Parameters
scipSCIP data structure
branchrulebranching rule

Definition at line 8420 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetExecPs(), and TRUE.

Referenced by SCIPincludeBranchruleAllfullstrong(), SCIPincludeBranchruleInference(), SCIPincludeBranchruleNodereopt(), and SCIPincludeBranchruleRandom().

SCIP_BRANCHRULE** SCIPgetBranchrules ( SCIP scip)

returns the array of currently available branching rules

Parameters
scipSCIP data structure

Definition at line 8451 of file scip.c.

References SCIP_Set::branchrules, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

int SCIPgetNBranchrules ( SCIP scip)

returns the number of currently available branching rules

Parameters
scipSCIP data structure

Definition at line 8462 of file scip.c.

References SCIP_Set::nbranchrules, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

SCIP_RETCODE SCIPsetBranchrulePriority ( SCIP scip,
SCIP_BRANCHRULE branchrule,
int  priority 
)

sets the priority of a branching rule

Parameters
scipSCIP data structure
branchrulebranching rule
prioritynew priority of the branching rule

Definition at line 8473 of file scip.c.

References NULL, SCIP_OKAY, SCIPbranchruleSetPriority(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPsetBranchruleMaxdepth ( SCIP scip,
SCIP_BRANCHRULE branchrule,
int  maxdepth 
)

sets maximal depth level, up to which this branching rule should be used (-1 for no limit)

Parameters
scipSCIP data structure
branchrulebranching rule
maxdepthnew maxdepth of the branching rule

Definition at line 8488 of file scip.c.

References NULL, SCIP_OKAY, SCIPbranchruleSetMaxdepth(), and Scip::set.

SCIP_RETCODE SCIPsetBranchruleMaxbounddist ( SCIP scip,
SCIP_BRANCHRULE branchrule,
SCIP_Real  maxbounddist 
)

sets maximal relative distance from current node's dual bound to primal bound for applying branching rule

Parameters
scipSCIP data structure
branchrulebranching rule
maxbounddistnew maxbounddist of the branching rule

Definition at line 8503 of file scip.c.

References NULL, SCIP_OKAY, SCIPbranchruleSetMaxbounddist(), and Scip::set.

SCIP_RETCODE SCIPincludeDisp ( SCIP scip,
const char *  name,
const char *  desc,
const char *  header,
SCIP_DISPSTATUS  dispstatus,
SCIP_DECL_DISPCOPY((*dispcopy))  ,
SCIP_DECL_DISPFREE((*dispfree))  ,
SCIP_DECL_DISPINIT((*dispinit))  ,
SCIP_DECL_DISPEXIT((*dispexit))  ,
SCIP_DECL_DISPINITSOL((*dispinitsol))  ,
SCIP_DECL_DISPEXITSOL((*dispexitsol))  ,
SCIP_DECL_DISPOUTPUT((*dispoutput))  ,
SCIP_DISPDATA dispdata,
int  width,
int  priority,
int  position,
SCIP_Bool  stripline 
)

creates a display column and includes it in SCIP

Parameters
scipSCIP data structure
namename of display column
descdescription of display column
headerhead line of display column
dispstatusdisplay activation status of display column
dispdatadisplay column data
widthwidth of display column (no. of chars used)
prioritypriority of display column
positionrelative position of display column
striplineshould the column be separated with a line from its right neighbor?

Definition at line 8518 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPdispCreate(), SCIPerrorMessage, SCIPfindDisp(), SCIPsetIncludeDisp(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by includeConshdlrCountsols(), SCIPincludeDispDefault(), and SCIPincludeObjDisp().

SCIP_DISP* SCIPfindDisp ( SCIP scip,
const char *  name 
)

returns the display column of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of display column

Definition at line 8560 of file scip.c.

References NULL, SCIPsetFindDisp(), and Scip::set.

Referenced by SCIPfindObjDisp(), SCIPincludeDisp(), and SCIPincludeDispDefault().

SCIP_DISP** SCIPgetDisps ( SCIP scip)

returns the array of currently available display columns

Parameters
scipSCIP data structure

Definition at line 8573 of file scip.c.

References SCIP_Set::disps, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

int SCIPgetNDisps ( SCIP scip)

returns the number of currently available display columns

Parameters
scipSCIP data structure

Definition at line 8584 of file scip.c.

References SCIP_Set::ndisps, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

SCIP_RETCODE SCIPautoselectDisps ( SCIP scip)

automatically selects display columns for being shown w.r.t. the display width parameter

Parameters
scipSCIP data structure

Definition at line 8595 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPdispAutoActivate(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

static SCIP_DECL_PARAMCHGD ( paramChgdNlpiPriority  )
static

method to call, when the priority of an NLPI was changed

Definition at line 8609 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetNlpiPriority().

SCIP_RETCODE SCIPincludeNlpi ( SCIP scip,
SCIP_NLPI nlpi 
)
SCIP_NLPI* SCIPfindNlpi ( SCIP scip,
const char *  name 
)

returns the NLPI of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of NLPI

Definition at line 8659 of file scip.c.

References NULL, SCIPsetFindNlpi(), and Scip::set.

Referenced by SCIPincludeNlpi().

SCIP_NLPI** SCIPgetNlpis ( SCIP scip)

returns the array of currently available NLPIs (sorted by priority)

Parameters
scipSCIP data structure

Definition at line 8672 of file scip.c.

References SCIP_Set::nlpis, NULL, SCIPsetSortNlpis(), and Scip::set.

Referenced by computeInteriorPoint(), SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

int SCIPgetNNlpis ( SCIP scip)

returns the number of currently available NLPIs

Parameters
scipSCIP data structure

Definition at line 8685 of file scip.c.

References SCIP_Set::nnlpis, NULL, and Scip::set.

Referenced by computeInteriorPoint(), createSubSCIP(), runHeuristic(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyHeurDualval(), SCIPapplyUndercover(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

SCIP_RETCODE SCIPsetNlpiPriority ( SCIP scip,
SCIP_NLPI nlpi,
int  priority 
)

sets the priority of an NLPI

Parameters
scipSCIP data structure
nlpiNLPI
prioritynew priority of the NLPI

Definition at line 8696 of file scip.c.

References NULL, SCIP_OKAY, SCIPsetSetPriorityNlpi(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPincludeExternalCodeInformation ( SCIP scip,
const char *  name,
const char *  description 
)

includes information about an external code linked into the SCIP library

Parameters
scipSCIP data structure
namename of external code
descriptiondescription of external code, or NULL

Definition at line 8711 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPsetIncludeExternalCode(), Scip::set, and TRUE.

Referenced by includeConshdlrCountsols(), SCIPincludeDefaultPlugins(), and SCIPincludeReaderZpl().

char** SCIPgetExternalCodeNames ( SCIP scip)

returns an array of names of currently included external codes

Parameters
scipSCIP data structure

Definition at line 8728 of file scip.c.

References SCIP_Set::extcodenames, NULL, and Scip::set.

char** SCIPgetExternalCodeDescriptions ( SCIP scip)

returns an array of the descriptions of currently included external codes

Note
some descriptions may be NULL
Parameters
scipSCIP data structure

Definition at line 8742 of file scip.c.

References SCIP_Set::extcodedescs, NULL, and Scip::set.

int SCIPgetNExternalCodes ( SCIP scip)

returns the number of currently included information on external codes

Parameters
scipSCIP data structure

Definition at line 8753 of file scip.c.

References SCIP_Set::nextcodes, NULL, and Scip::set.

void SCIPprintExternalCodes ( SCIP scip,
FILE *  file 
)

prints information on external codes to a file stream via the message handler system

Note
If the message handler is set to a NULL pointer nothing will be printed
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)

Definition at line 8767 of file scip.c.

References SCIP_Set::extcodedescs, SCIP_Set::extcodenames, Scip::messagehdlr, SCIP_Set::nextcodes, NULL, SCIPinfoMessage(), SCIPmessageFPrintInfo(), and Scip::set.

Referenced by SCIPprocessShellArguments().

SCIP_RETCODE SCIPincludeDialog ( SCIP scip,
SCIP_DIALOG **  dialog,
SCIP_DECL_DIALOGCOPY((*dialogcopy))  ,
SCIP_DECL_DIALOGEXEC((*dialogexec))  ,
SCIP_DECL_DIALOGDESC((*dialogdesc))  ,
SCIP_DECL_DIALOGFREE((*dialogfree))  ,
const char *  name,
const char *  desc,
SCIP_Bool  issubmenu,
SCIP_DIALOGDATA dialogdata 
)

creates and includes dialog

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
dialogpointer to store the dialog
namename of dialog: command name appearing in parent's dialog menu
descdescription of dialog used if description output method is NULL
issubmenuis the dialog a submenu?
dialogdatauser defined dialog data

Definition at line 8798 of file scip.c.

References NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPdialogCreate(), SCIPerrorMessage, SCIPexistsDialog(), SCIPsetIncludeDialog(), and Scip::set.

Referenced by addFixParamDialog(), addSetParamDialog(), createCountDialog(), createEmphasisSubmenu(), SCIPcreateRootDialog(), SCIPincludeConshdlrSuperindicator(), SCIPincludeDialogDefault(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and SCIPincludeObjDialog().

SCIP_Bool SCIPexistsDialog ( SCIP scip,
SCIP_DIALOG dialog 
)

returns if the dialog already exists

Returns
TRUE is returned if the dialog exits, otherwise FALSE.
Parameters
scipSCIP data structure
dialogdialog

Definition at line 8831 of file scip.c.

References NULL, SCIPsetExistsDialog(), and Scip::set.

Referenced by SCIPincludeDialog().

SCIP_RETCODE SCIPcaptureDialog ( SCIP scip,
SCIP_DIALOG dialog 
)

captures a dialog

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
dialogdialog

Definition at line 8846 of file scip.c.

References NULL, SCIP_OKAY, and SCIPdialogCapture().

SCIP_RETCODE SCIPreleaseDialog ( SCIP scip,
SCIP_DIALOG **  dialog 
)

releases a dialog

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
dialogpointer to the dialog

Definition at line 8863 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPdialogRelease().

Referenced by addFixParamDialog(), addSetParamDialog(), createCountDialog(), createEmphasisSubmenu(), SCIPcreateRootDialog(), SCIPincludeConshdlrSuperindicator(), SCIPincludeDialogDefault(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and SCIPincludeObjDialog().

SCIP_RETCODE SCIPsetRootDialog ( SCIP scip,
SCIP_DIALOG dialog 
)

makes given dialog the root dialog of SCIP's interactive user shell; captures dialog and releases former root dialog

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
dialogdialog to be the root

Definition at line 8880 of file scip.c.

References Scip::dialoghdlr, NULL, SCIP_CALL, SCIP_OKAY, and SCIPdialoghdlrSetRoot().

Referenced by SCIPcreateRootDialog().

SCIP_DIALOG* SCIPgetRootDialog ( SCIP scip)

returns the root dialog of SCIP's interactive user shell

Returns
the root dialog of SCIP's interactive user shell is returned.
Parameters
scipSCIP data structure

Definition at line 8896 of file scip.c.

References Scip::dialoghdlr, NULL, and SCIPdialoghdlrGetRoot().

Referenced by createCountDialog(), SCIPcreateRootDialog(), SCIPincludeConshdlrSuperindicator(), SCIPincludeDialogDefault(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and SCIPincludeObjDialog().

SCIP_RETCODE SCIPaddDialogEntry ( SCIP scip,
SCIP_DIALOG dialog,
SCIP_DIALOG subdialog 
)

adds a sub dialog to the given dialog as menu entry and captures it

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
dialogdialog to extend, or NULL for root dialog
subdialogsubdialog to add as menu entry in dialog

Definition at line 8910 of file scip.c.

References Scip::dialoghdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPdialogAddEntry(), SCIPdialoghdlrGetRoot(), and Scip::set.

Referenced by addFixParamDialog(), addSetParamDialog(), createCountDialog(), createEmphasisSubmenu(), SCIPincludeConshdlrSuperindicator(), SCIPincludeDialogDefault(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and SCIPincludeObjDialog().

SCIP_RETCODE SCIPaddDialogInputLine ( SCIP scip,
const char *  inputline 
)

adds a single line of input which is treated as if the user entered the command line

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
inputlineinput line to add

Definition at line 8931 of file scip.c.

References Scip::dialoghdlr, NULL, SCIP_CALL, SCIP_OKAY, and SCIPdialoghdlrAddInputLine().

Referenced by SCIPprocessShellArguments().

SCIP_RETCODE SCIPaddDialogHistoryLine ( SCIP scip,
const char *  inputline 
)

adds a single line of input to the command history which can be accessed with the cursor keys

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
inputlineinput line to add

Definition at line 8948 of file scip.c.

References Scip::dialoghdlr, FALSE, NULL, SCIP_CALL, SCIP_OKAY, and SCIPdialoghdlrAddHistory().

SCIP_RETCODE SCIPstartInteraction ( SCIP scip)

starts interactive mode of SCIP by executing the root dialog

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Postcondition
After calling this method SCIP reaches one of the following stages depending on if and when the interactive shell was closed:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 8981 of file scip.c.

References checkStage(), Scip::dialoghdlr, FALSE, SCIP_CALL, SCIP_OKAY, SCIPdialoghdlrExec(), SCIPincludeDialogDefault(), Scip::set, and TRUE.

Referenced by SCIPprocessShellArguments().

SCIP_RETCODE SCIPcreateProb ( SCIP scip,
const char *  name,
SCIP_DECL_PROBDELORIG((*probdelorig))  ,
SCIP_DECL_PROBTRANS((*probtrans))  ,
SCIP_DECL_PROBDELTRANS((*probdeltrans))  ,
SCIP_DECL_PROBINITSOL((*probinitsol))  ,
SCIP_DECL_PROBEXITSOL((*probexitsol))  ,
SCIP_DECL_PROBCOPY((*probcopy))  ,
SCIP_PROBDATA probdata 
)

creates empty problem and initializes all solving data structures (the objective sense is set to MINIMIZE) If the problem type requires the use of variable pricers, these pricers should be added to the problem with calls to SCIPactivatePricer(). These pricers are automatically deactivated, when the problem is freed.

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Postcondition
After calling this method, SCIP reaches the following stage:
Parameters
scipSCIP data structure
nameproblem name
probdatauser problem data set by the reader

Definition at line 9019 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, Scip::origprimal, Scip::origprob, SCIP_Mem::probmem, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PROBLEM, SCIPenableReoptimization(), SCIPfreeProb(), SCIPprimalCreate(), SCIPprobCreate(), SCIPstatCreate(), Scip::set, SCIP_Set::stage, Scip::stat, and TRUE.

Referenced by copyAndSolveComponent(), createCoveringProblem(), createSubSCIP(), createSubscip(), readFZNFile(), readLPFile(), readMps(), readOPBFile(), readPIPFile(), SCIP_DECL_HEUREXEC(), SCIP_DECL_READERREAD(), SCIPapplyRens(), SCIPcreateObjProb(), and SCIPcreateProbBasic().

SCIP_RETCODE SCIPcreateProbBasic ( SCIP scip,
const char *  name 
)

creates empty problem and initializes all solving data structures (the objective sense is set to MINIMIZE) all callback methods will be set to NULL and can be set afterwards, if needed, via SCIPsetProbDelorig(), SCIPsetProbTrans(), SCIPsetProbDeltrans(), SCIPsetProbInitsol(), SCIPsetProbExitsol(), and SCIPsetProbCopy() If the problem type requires the use of variable pricers, these pricers should be added to the problem with calls to SCIPactivatePricer(). These pricers are automatically deactivated, when the problem is freed.

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Postcondition
After calling this method, SCIP reaches the following stage:
Parameters
scipSCIP data structure
nameproblem name

Definition at line 9077 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateProb(), and TRUE.

Referenced by createMIP(), SCIP_DECL_SOLVECUMULATIVE(), and SCIPapplyProximity().

SCIP_RETCODE SCIPsetProbDelorig ( SCIP scip,
SCIP_DECL_PROBDELORIG((*probdelorig))   
)

sets callback to free user data of original problem

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 9097 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, SCIP_CALL, SCIP_OKAY, SCIPprobSetDelorig(), and TRUE.

SCIP_RETCODE SCIPsetProbTrans ( SCIP scip,
SCIP_DECL_PROBTRANS((*probtrans))   
)

sets callback to create user data of transformed problem by transforming original user data

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 9118 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, SCIP_CALL, SCIP_OKAY, SCIPprobSetTrans(), and TRUE.

SCIP_RETCODE SCIPsetProbDeltrans ( SCIP scip,
SCIP_DECL_PROBDELTRANS((*probdeltrans))   
)

sets callback to free user data of transformed problem

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 9139 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, SCIP_CALL, SCIP_OKAY, SCIPprobSetDeltrans(), and TRUE.

SCIP_RETCODE SCIPsetProbInitsol ( SCIP scip,
SCIP_DECL_PROBINITSOL((*probinitsol))   
)

sets solving process initialization callback of transformed data

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 9160 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, SCIP_CALL, SCIP_OKAY, SCIPprobSetInitsol(), and TRUE.

SCIP_RETCODE SCIPsetProbExitsol ( SCIP scip,
SCIP_DECL_PROBEXITSOL((*probexitsol))   
)

sets solving process deinitialization callback of transformed data

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 9182 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, SCIP_CALL, SCIP_OKAY, SCIPprobSetExitsol(), and TRUE.

SCIP_RETCODE SCIPsetProbCopy ( SCIP scip,
SCIP_DECL_PROBCOPY((*probcopy))   
)

sets callback to copy user data to a subscip

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 9203 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, SCIP_CALL, SCIP_OKAY, SCIPprobSetCopy(), and TRUE.

SCIP_RETCODE SCIPreadProb ( SCIP scip,
const char *  filename,
const char *  extension 
)

reads problem from file and initializes all solving data structures

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Postcondition
After the method was called, SCIP is in one of the following stages:
Parameters
scipSCIP data structure
filenameproblem file name
extensionextension of the desired file reader, or NULL if file extension should be used

Definition at line 9236 of file scip.c.

References checkStage(), SCIP_Cons::conshdlr, SCIP_Set::conshdlrs, SCIP_Prob::conss, SCIP_Set::disp_verblevel, FALSE, Scip::messagehdlr, SCIP_Set::misc_permutationseed, SCIP_Set::misc_permuteconss, SCIP_Set::misc_permutevars, SCIP_Prob::nbinvars, SCIP_Set::nconshdlrs, SCIP_Prob::nconss, SCIP_Prob::ncontvars, SCIP_Prob::nimplvars, SCIP_Prob::nintvars, SCIP_Set::nreaders, NULL, SCIP_Prob::nvars, Scip::origprob, SCIP_Set::readers, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_NOFILE, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_READERROR, SCIP_Real, SCIP_SUCCESS, SCIP_VERBLEVEL_FULL, SCIP_VERBLEVEL_NORMAL, SCIPallocClearMemoryArray, SCIPclockSetTime(), SCIPconshdlrGetName(), SCIPduplicateBufferArray, SCIPerrorMessage, SCIPfreeBufferArray, SCIPfreeMemoryArray, SCIPgetBoolParam(), SCIPgetReadingTime(), SCIPmessagePrintVerbInfo(), SCIPpermuteProb(), SCIPreaderGetName(), SCIPreaderRead(), SCIPsplitFilename(), Scip::set, SCIP_Stat::solvingtime, Scip::stat, SCIP_Set::time_reading, and TRUE.

Referenced by fromCommandLine(), getActivities(), SCIP_DECL_DIALOGEXEC(), and SCIPreadSol().

static SCIP_RETCODE writeProblem ( SCIP scip,
const char *  filename,
const char *  extension,
SCIP_Bool  transformed,
SCIP_Bool  genericnames 
)
static
Parameters
scipSCIP data structure
filenameoutput file (or NULL for standard output)
extensionextension of the desired file reader, or NULL if file extension should be used
transformedoutput the transformed problem?
genericnamesusing generic variable and constraint names?

Definition at line 9395 of file scip.c.

References BMSduplicateMemoryArray, BMSfreeMemoryArray, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_FILECREATEERROR, SCIP_NOMEMORY, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_WRITEERROR, SCIPerrorMessage, SCIPmessagePrintWarning(), SCIPprintOrigProblem(), SCIPprintSysError(), SCIPprintTransProblem(), and SCIPsplitFilename().

Referenced by SCIPwriteOrigProblem(), and SCIPwriteTransProblem().

SCIP_RETCODE SCIPwriteOrigProblem ( SCIP scip,
const char *  filename,
const char *  extension,
SCIP_Bool  genericnames 
)

writes original problem to file

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
filenameoutput file (or NULL for standard output)
extensionextension of the desired file reader, or NULL if file extension should be used
genericnamesusing generic variable and constraint names?

Definition at line 9507 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, SCIP_CALL, SCIP_FILECREATEERROR, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_WRITEERROR, TRUE, and writeProblem().

Referenced by copyAndSolveComponent(), createSubscip(), and writeProblem().

SCIP_RETCODE SCIPwriteTransProblem ( SCIP scip,
const char *  filename,
const char *  extension,
SCIP_Bool  genericnames 
)

writes transformed problem which are valid in the current node to file

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
If you want the write all constraints (including the once which are redundant for example), you need to set the parameter <write/allconss> to TRUE
Parameters
scipSCIP data structure
filenameoutput file (or NULL for standard output)
extensionextension of the desired file reader, or NULL if file extension should be used
genericnamesusing generic variable and constraint names?

Definition at line 9554 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_FILECREATEERROR, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_WRITEERROR, Scip::transprob, TRUE, and writeProblem().

Referenced by enforceIndicators(), and writeProblem().

SCIP_RETCODE SCIPfreeProb ( SCIP scip)

frees problem and solution process data

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Postcondition
After this method was called, SCIP is in the following stage:
Parameters
scipSCIP data structure

Definition at line 9600 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, SCIP_Set::misc_transsolsorig, SCIP_Set::nactivepricers, SCIP_Set::nreaders, NULL, Scip::origprimal, Scip::origprob, SCIP_Set::pricers, SCIP_Mem::probmem, SCIP_Set::readers, Scip::reopt, SCIP_Set::reopt_enable, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PROBLEM, SCIPfreeTransform(), SCIPpricerDeactivate(), SCIPprimalFree(), SCIPprobFree(), SCIPreaderResetReadingTime(), SCIPreoptFree(), SCIPstatFree(), Scip::set, SCIP_Set::stage, Scip::stat, and TRUE.

Referenced by copyProb(), readFZNFile(), SCIP_DECL_DIALOGEXEC(), SCIPcreateProb(), and SCIPfree().

SCIP_RETCODE SCIPpermuteProb ( SCIP scip,
unsigned int  randseed,
SCIP_Bool  permuteconss,
SCIP_Bool  permutebinvars,
SCIP_Bool  permuteintvars,
SCIP_Bool  permuteimplvars,
SCIP_Bool  permutecontvars 
)

permutes parts of the problem data structure

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
randseedseed value for random generator
permuteconssshould the list of constraints in each constraint handler be permuted?
permutebinvarsshould the list of binary variables be permuted?
permuteintvarsshould the list of integer variables be permuted?
permuteimplvarsshould the list of implicit integer variables be permuted?
permutecontvarsshould the list of continuous integer variables be permuted?

Definition at line 9660 of file scip.c.

References SCIP_Cons::addarraypos, checkStage(), SCIP_Prob::conss, SCIP_Set::disp_verblevel, FALSE, Scip::messagehdlr, SCIP_Prob::nconss, NULL, Scip::origprob, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VERBLEVEL_HIGH, SCIPconshdlrGetConss(), SCIPconshdlrGetNActiveConss(), SCIPgetConshdlrs(), SCIPgetNConshdlrs(), SCIPgetNContVars(), SCIPgetVarsData(), SCIPisTransformed(), SCIPmessagePrintVerbInfo(), SCIPpermuteArray(), SCIPprobIsPermuted(), SCIPprobMarkPermuted(), Scip::set, Scip::transprob, and TRUE.

Referenced by SCIP_DECL_HEUREXEC(), SCIPreadProb(), and SCIPtransformProb().

SCIP_RETCODE SCIPsetProbName ( SCIP scip,
const char *  name 
)

sets name of the current problem instance

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
namename to be set

Definition at line 9969 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL, SCIPprobSetName(), and TRUE.

Referenced by getStatistics().

SCIP_RETCODE SCIPsetObjsense ( SCIP scip,
SCIP_OBJSENSE  objsense 
)

sets objective sense of problem

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
objsensenew objective sense

Definition at line 10014 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OBJSENSE_MAXIMIZE, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIPerrorMessage, SCIPprobSetObjsense(), and TRUE.

Referenced by createMIP(), createSubscip(), getObjective(), readCnf(), readFZNFile(), readMps(), readObjective(), SCIP_DECL_DIALOGEXEC(), SCIPcopyOrigProb(), SCIPreadDiff(), SCIPreadLp(), SCIPreadOpb(), SCIPreadPip(), and SCIPtransformMinUC().

SCIP_RETCODE SCIPaddObjoffset ( SCIP scip,
SCIP_Real  addval 
)

adds offset of objective function

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
addvalvalue to add to objective offset

Definition at line 10040 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::origprob, Scip::primal, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), SCIPprimalUpdateObjoffset(), SCIPprobAddObjoffset(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

SCIP_RETCODE SCIPaddOrigObjoffset ( SCIP scip,
SCIP_Real  addval 
)

adds offset of objective function to original problem and to all existing solution in original space

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
addvalvalue to add to objective offset

Definition at line 10062 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::objoffset, Scip::origprimal, Scip::origprob, SCIP_CALL, SCIP_OKAY, SCIPprimalAddOrigObjoffset(), Scip::set, and TRUE.

Referenced by readRhs(), and setObjective().

SCIP_Real SCIPgetOrigObjoffset ( SCIP scip)

returns the objective offset of the original problem

Returns
the objective offset of the original problem
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 10091 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::objoffset, Scip::origprob, SCIP_CALL_ABORT, and TRUE.

Referenced by applyBounding(), and SCIPmergeVariableStatistics().

SCIP_Real SCIPgetOrigObjscale ( SCIP scip)

returns the objective scale of the original problem

Returns
the objective scale of the original problem
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 10116 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::objscale, Scip::origprob, SCIP_CALL_ABORT, and TRUE.

Referenced by SCIPmergeVariableStatistics().

SCIP_Real SCIPgetTransObjoffset ( SCIP scip)

returns the objective offset of the transformed problem

Returns
the objective offset of the transformed problem
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 10139 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::objoffset, SCIP_CALL_ABORT, Scip::transprob, and TRUE.

Referenced by getGenVBoundsBound(), and SCIPgenVBoundAdd().

SCIP_Real SCIPgetTransObjscale ( SCIP scip)

returns the objective scale of the transformed problem

Returns
the objective scale of the transformed problem
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 10162 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::objscale, SCIP_CALL_ABORT, Scip::transprob, and TRUE.

Referenced by getGenVBoundsBound(), and SCIPgenVBoundAdd().

SCIP_RETCODE SCIPsetObjlimit ( SCIP scip,
SCIP_Real  objlimit 
)

sets limit on objective function, such that only solutions better than this limit are accepted

Note
SCIP will only look for solutions with a strictly better objective value, thus, e.g., prune all branch-and-bound nodes with dual bound equal or worse to the objective limit. However, SCIP will also collect solutions with objective value worse than the objective limit and use them to run improvement heuristics on them.
If SCIP can prove that there exists no solution with a strictly better objective value, the solving status will normally be infeasible (the objective limit is interpreted as part of the problem). The only exception is that by chance, SCIP found a solution with the same objective value and thus proved the optimality of this solution, resulting in solution status optimal.
Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
objlimitnew primal objective limit

Definition at line 10194 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_INVALIDCALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPerrorMessage, SCIPprimalUpdateObjlimit(), SCIPprobGetObjlim(), SCIPprobInternObjval(), SCIPprobSetObjlim(), SCIPtransformObj(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by applyVbounds(), createSubproblem(), freeTransform(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyHeurSubNlp(), SCIPapplyRens(), SCIPresolveSolHeurSubNlp(), solveCoveringProblem(), solveSubMIP(), solveSubproblem(), and subscipSetParams().

SCIP_Real SCIPgetObjlimit ( SCIP scip)

returns current limit on objective function

Returns
the current objective limit of the original problem
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 10251 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL_ABORT, SCIPprobGetObjlim(), Scip::set, and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC(), and solveSubNLP().

SCIP_RETCODE SCIPsetObjIntegral ( SCIP scip)

informs SCIP, that the objective value is always integral in every feasible solution

Returns
SCIP_OKAY is returned if everything worked. otherwise a suitable error code is passed. see SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 10272 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPprobSetObjIntegral(), Scip::set, SCIP_Set::stage, Scip::transprob, and TRUE.

SCIP_Bool SCIPisObjIntegral ( SCIP scip)

returns whether the objective value is known to be integral in every feasible solution

Returns
TRUE, if objective value is known to be always integral, otherwise FALSE
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 10310 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIPABORT, SCIPerrorMessage, SCIPprobIsObjIntegral(), Scip::set, SCIP_Set::stage, Scip::transprob, and TRUE.

Referenced by computeCut(), createSubscip(), SCIPapplyProximity(), SCIPperformGenericDivingAlgorithm(), separateCuts(), and updateObjUpperbound().

SCIP_Real SCIPgetObjNorm ( SCIP scip)

returns the Euclidean norm of the objective function vector (available only for transformed problem)

Returns
the Euclidean norm of the transformed objective function vector
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 10351 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_Lp::objsqrnormunreliable, SCIP_CALL_ABORT, SCIPlpGetObjNorm(), SCIPlpRecalculateObjSqrNorm(), Scip::set, and TRUE.

Referenced by createNewSol(), SCIP_DECL_DIVESETGETSCORE(), and separateCuts().

SCIP_RETCODE SCIPaddVar ( SCIP scip,
SCIP_VAR var 
)

adds variable to the problem

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to add

Definition at line 10378 of file scip.c.

References Scip::branchcand, checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPaddVar(), SCIPerrorMessage, SCIPprobAddVar(), SCIPvarGetNegationVar(), SCIPvarGetProbindex(), SCIPvarGetStatus(), Scip::set, SCIP_Set::stage, Scip::transprob, and TRUE.

Referenced by addExtendedAsymmetricFormulation(), addExtendedFlowFormulation(), applyFixings(), consdataCreateBinvars(), createAndAddAndCons(), createConstraints(), createCoveringProblem(), createMIP(), createObjRow(), createRelaxation(), createSubSCIP(), createSubscip(), createVariable(), getFixedVariable(), getVariable(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveCreateOuterApprox(), presolveDisaggregate(), presolveFindDuplicates(), presolveTryAddAND(), presolveTryAddLinearReform(), readBounds(), readCnf(), readCols(), readIndicators(), readNonlinearExprs(), readObjective(), readQMatrix(), readQuadraticCoefs(), readVariables(), reformMonomial(), reformNode2Var(), reformulate(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NONLINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_READERREAD(), SCIP_DECL_SOLVECUMULATIVE(), SCIPaddVar(), SCIPcreateConsIndicator(), SCIPcreateFiniteSolCopy(), SCIPgetVarCopy(), SCIPtransformMinUC(), setObjective(), and tightenCoefs().

SCIP_RETCODE SCIPaddPricedVar ( SCIP scip,
SCIP_VAR var,
SCIP_Real  score 
)

adds variable to the problem and uses it as pricing candidate to enter the LP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
varvariable to add
scorepricing score of variable (the larger, the better the variable)

Definition at line 10443 of file scip.c.

References Scip::branchcand, checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::pricestore, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPaddPricedVar(), SCIPerrorMessage, SCIPpricestoreAddVar(), SCIPprobAddVar(), SCIPtreeGetCurrentDepth(), SCIPvarGetNegationVar(), SCIPvarGetProbindex(), SCIPvarGetStatus(), Scip::set, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIPaddPricedVar().

SCIP_RETCODE SCIPdelVar ( SCIP scip,
SCIP_VAR var,
SCIP_Bool deleted 
)

removes variable from the problem

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to delete
deletedpointer to store whether marking variable to be deleted was successful

Definition at line 10496 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_FREETRANS, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_ORIGINAL, SCIPerrorMessage, SCIPprobDelVar(), SCIPprobPerformVarDeletions(), SCIPvarGetStatus(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, and TRUE.

SCIP_RETCODE SCIPgetVarsData ( SCIP scip,
SCIP_VAR ***  vars,
int *  nvars,
int *  nbinvars,
int *  nintvars,
int *  nimplvars,
int *  ncontvars 
)

gets variables of the problem along with the numbers of different variable types; data may become invalid after calls to SCIPchgVarType(), SCIPfixVar(), SCIPaggregateVars(), and SCIPmultiaggregateVar()

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
Variables in the vars array are ordered: binaries first, then integers, implicit integers and continuous last.
Parameters
scipSCIP data structure
varspointer to store variables array or NULL if not needed
nvarspointer to store number of variables or NULL if not needed
nbinvarspointer to store number of binary variables or NULL if not needed
nintvarspointer to store number of integer variables or NULL if not needed
nimplvarspointer to store number of implicit integral vars or NULL if not needed
ncontvarspointer to store number of continuous variables or NULL if not needed

Definition at line 10572 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::nbinvars, SCIP_Prob::ncontvars, SCIP_Prob::nimplvars, SCIP_Prob::nintvars, NULL, SCIP_Prob::nvars, Scip::origprob, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPerrorMessage, Scip::set, SCIP_Set::stage, Scip::transprob, TRUE, and SCIP_Prob::vars.

Referenced by addCut(), addLocalBranchingConstraint(), addObjcut(), aggregation(), applyBoundHeur(), applyVbounds(), computeCut(), computeFixingrate(), copySol(), copyVars(), countNonlinearities(), createCGCutCMIR(), createCGCutDirect(), createCGCuts(), createCGCutStrongCG(), createCoveringProblem(), createNewSol(), createNewSols(), createSubproblem(), createSubSCIP(), fixVariables(), performRelaxSimpleRounding(), presolveTwoOpt(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECSOL(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPclearRelaxSolVals(), SCIPcomputeCoverUndercover(), SCIPcopyImplicationsCliques(), SCIPpermuteProb(), SCIPsetRelaxSolValsSol(), SCIPtransformMinUC(), SCIPwriteCliqueGraph(), separateGLS(), separateHeur(), solCutIsViolated(), solveLp(), and solveSubproblem().

SCIP_VAR** SCIPgetVars ( SCIP scip)

gets array with active problem variables

Returns
array with active problem variables
Precondition
This method can be called if scip is in one of the following stages:
Note
Variables in the array are ordered: binaries first, then integers, implicit integers and continuous last.
Warning
If your are using the methods which add or change bound of variables (e.g., SCIPchgVarType(), SCIPfixVar(), SCIPaggregateVars(), and SCIPmultiaggregateVar()), it can happen that the internal variable array (which is accessed via this method) gets resized and/or resorted. This can invalid the data pointer which is returned by this method.
Parameters
scipSCIP data structure

Definition at line 10653 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPABORT, SCIPerrorMessage, Scip::set, SCIP_Set::stage, Scip::transprob, TRUE, and SCIP_Prob::vars.

Referenced by applyOfins(), applyProbing(), branchruledataEnsureArraySize(), checkIISlocal(), checkSolution(), checkSystemGF2(), computeCut(), createSubproblem(), createTcliqueGraph(), dfs(), execRelpscost(), filterExistingLP(), fixAndPropagate(), generateCloseCutPoint(), getActivities(), getMaxactImplicObjchg(), heurdataEnsureArraySize(), heurdataFreeArrays(), initData(), initializeCandsLists(), initImplGraphSOS1(), performDualfix(), preprocessCliques(), presolComponents(), presolRoundVarsSOS1(), projectVbd(), propagateAllConss(), propdataInit(), readObjective(), readOPBFile(), removeDoubleAndSingletonsAndPerformDualpresolve(), SCIP_DECL_BRANCHEXITSOL(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXITSOL(), SCIP_DECL_EVENTINITSOL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRESOLEXEC(), SCIPcutGenerationHeuristicCmir(), SCIPgetVarStrongbranchWithPropagation(), SCIPmatrixCreate(), SCIPpropagateProbing(), SCIPselectVarStrongBranching(), SCIPseparateRelaxedKnapsack(), separateCuts(), tcliquegraphAddCliqueVars(), updateFirstRow(), and updateFirstRowGlobal().

int SCIPgetNVars ( SCIP scip)

gets number of active problem variables

Returns
the number of active problem variables
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 10698 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::nvars, Scip::origprob, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPABORT, SCIPerrorMessage, Scip::set, SCIP_Set::stage, Scip::transprob, and TRUE.

Referenced by applyOfins(), applyProbing(), applyVbounds(), branch(), branchruledataEnsureArraySize(), branchruledataEnsureNlcount(), calcNlscore(), checkIISlocal(), checkSolution(), checkSystemGF2(), collectBranchingCands(), computeCut(), copyAndSolveComponent(), copyProb(), copyVars(), correctConshdlrdata(), countSparseSol(), createTcliqueGraph(), dfs(), execRelpscost(), fillDigraph(), filterExistingLP(), generateCloseCutPoint(), generateClusterCuts(), getActivities(), getMaxactImplicObjchg(), heurdataEnsureArraySize(), heurdataFreeArrays(), initAlternativeLP(), initData(), initializeCandsLists(), initImplGraphSOS1(), initPropdata(), insertZerolist(), performDualfix(), performFixing(), preprocessCliques(), presolComponents(), presolRoundVarsSOS1(), presolve(), projectVbd(), propagateAllConss(), propdataInit(), readCoefficients(), readObjective(), readOPBFile(), removeConstraintsDueToNegCliques(), removeDoubleAndSingletonsAndPerformDualpresolve(), removeRedundantConssAndNonzeros(), SCIP_DECL_BRANCHEXITSOL(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXITSOL(), SCIP_DECL_EVENTINITSOL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PRESOLEXEC(), SCIPapplyRens(), SCIPcopy(), SCIPcopyConss(), SCIPcopyOrig(), SCIPcopyOrigConss(), SCIPcutGenerationHeuristicCmir(), SCIPgetConsCopy(), SCIPgetVarCopy(), SCIPgetVarStrongbranchWithPropagation(), SCIPmatrixCreate(), SCIPperformGenericDivingAlgorithm(), SCIPpropagateProbing(), SCIPselectVarStrongBranching(), SCIPseparateRelaxedKnapsack(), SCIPtransformProb(), separateCuts(), setUpEvents(), setupProbingSCIP(), shortenConss(), solveIndependentCons(), solveSubMIP(), solveSubNLP(), splitProblem(), topologicalSort(), updateFirstRow(), and updateFirstRowGlobal().

int SCIPgetNBinVars ( SCIP scip)

gets number of binary active problem variables

Returns
the number of binary active problem variables
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 10743 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::nbinvars, Scip::origprob, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPABORT, SCIPerrorMessage, Scip::set, SCIP_Set::stage, Scip::transprob, and TRUE.

Referenced by applyProbing(), constructCompression(), copyAndSolveComponent(), copyVars(), countSparseSol(), createSubproblem(), createSubscip(), dualPresolve(), extendToCover(), loadTcliquegraph(), mergeMultiples(), preprocessCliques(), propdataInit(), removeDoubleAndSingletonsAndPerformDualpresolve(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEURINITSOL(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPperformGenericDivingAlgorithm(), SCIPresolveSolHeurSubNlp(), SCIPsolve(), tcliquegraphAddCliqueVars(), tcliquegraphAddNode(), tcliquegraphCreate(), and upgradeConss().

int SCIPgetNObjVars ( SCIP scip)

gets number of active problem variables with a non-zero objective coefficient

Note
In case of the original problem the number of variables is counted. In case of the transformed problem the number of variables is just returned since it is stored internally
Returns
the number of active problem variables with a non-zero objective coefficient
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 10926 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPABORT, SCIPerrorMessage, SCIPprobGetNObjVars(), Scip::set, SCIP_Set::stage, Scip::transprob, and TRUE.

Referenced by createSubscip(), SCIP_DECL_HEUREXEC(), and SCIPapplyZeroobj().

SCIP_RETCODE SCIPgetOrigVarsData ( SCIP scip,
SCIP_VAR ***  vars,
int *  nvars,
int *  nbinvars,
int *  nintvars,
int *  nimplvars,
int *  ncontvars 
)

gets variables of the original problem along with the numbers of different variable types; data may become invalid after a call to SCIPchgVarType()

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varspointer to store variables array or NULL if not needed
nvarspointer to store number of variables or NULL if not needed
nbinvarspointer to store number of binary variables or NULL if not needed
nintvarspointer to store number of integer variables or NULL if not needed
nimplvarspointer to store number of implicit integral vars or NULL if not needed
ncontvarspointer to store number of continuous variables or NULL if not needed

Definition at line 11063 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::nbinvars, SCIP_Prob::ncontvars, SCIP_Prob::nimplvars, SCIP_Prob::nintvars, NULL, SCIP_Prob::nvars, Scip::origprob, SCIP_CALL, SCIP_OKAY, TRUE, and SCIP_Prob::vars.

Referenced by copyVars(), createSolFromNLP(), createSolFromSubScipSol(), forbidFixation(), freeMemory(), freeSubSCIP(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPcreateFiniteSolCopy(), and SCIPresolveSolHeurSubNlp().

SCIP_VAR** SCIPgetOrigVars ( SCIP scip)

gets array with original problem variables; data may become invalid after a call to SCIPchgVarType()

Returns
an array with original problem variables; data may become invalid after a call to SCIPchgVarType()
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 11111 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL_ABORT, TRUE, and SCIP_Prob::vars.

Referenced by createObjRow(), createSolFromNLP(), createSolFromSubScipSol(), createSubSCIP(), maximalslack(), SCIP_DECL_CONSINIT(), SCIP_DECL_DIALOGEXEC(), and SCIPapplyHeurDualval().

int SCIPgetNOrigBinVars ( SCIP scip)

gets number of binary variables in the original problem

Returns
the number of binary variables in the original problem
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 11165 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::nbinvars, Scip::origprob, SCIP_CALL_ABORT, and TRUE.

Referenced by copyVars().

int SCIPgetNOrigIntVars ( SCIP scip)

gets the number of integer variables in the original problem

Returns
the number of integer variables in the original problem
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 11192 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::nintvars, Scip::origprob, SCIP_CALL_ABORT, and TRUE.

Referenced by copyVars().

int SCIPgetNOrigImplVars ( SCIP scip)

gets number of implicit integer variables in the original problem

Returns
the number of implicit integer variables in the original problem
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 11219 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::nimplvars, Scip::origprob, SCIP_CALL_ABORT, and TRUE.

Referenced by copyVars().

int SCIPgetNOrigContVars ( SCIP scip)

gets number of continuous variables in the original problem

Returns
the number of continuous variables in the original problem
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 11246 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::ncontvars, Scip::origprob, SCIP_CALL_ABORT, and TRUE.

Referenced by copyVars().

int SCIPgetNTotalVars ( SCIP scip)

gets number of all problem variables created during creation and solving of problem; this includes also variables that were deleted in the meantime

Returns
the number of all problem variables created during creation and solving of problem; this includes also variables that were deleted in the meantime
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 11275 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_Stat::nvaridx, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPABORT, SCIPerrorMessage, Scip::set, SCIP_Set::stage, Scip::stat, and TRUE.

Referenced by initConflictgraph().

SCIP_RETCODE SCIPgetSolVarsData ( SCIP scip,
SCIP_SOL sol,
SCIP_VAR ***  vars,
int *  nvars,
int *  nbinvars,
int *  nintvars,
int *  nimplvars,
int *  ncontvars 
)

gets variables of the original or transformed problem along with the numbers of different variable types; the returned problem space (original or transformed) corresponds to the given solution; data may become invalid after calls to SCIPchgVarType(), SCIPfixVar(), SCIPaggregateVars(), and SCIPmultiaggregateVar()

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution that selects the problem space, NULL for current solution
varspointer to store variables array or NULL if not needed
nvarspointer to store number of variables or NULL if not needed
nbinvarspointer to store number of binary variables or NULL if not needed
nintvarspointer to store number of integer variables or NULL if not needed
nimplvarspointer to store number of implicit integral vars or NULL if not needed
ncontvarspointer to store number of continuous variables or NULL if not needed

Definition at line 11327 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::nbinvars, SCIP_Prob::ncontvars, SCIP_Prob::nimplvars, SCIP_Prob::nintvars, NULL, SCIP_Prob::nvars, Scip::origprob, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIPsolIsOriginal(), Scip::set, SCIP_Set::stage, Scip::transprob, TRUE, and SCIP_Prob::vars.

Referenced by SCIP_DECL_CONSCHECK(), and SCIP_DECL_CONSGETDIVEBDCHGS().

SCIP_Bool SCIPallVarsInProb ( SCIP scip)

returns TRUE iff all potential variables exist in the problem, and FALSE, if there may be additional variables, that will be added in pricing and improve the objective value

Returns
TRUE, if all potential variables exist in the problem; FALSE, otherwise
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 11450 of file scip.c.

References checkStage(), FALSE, SCIP_Set::nactivepricers, SCIP_CALL_ABORT, Scip::set, and TRUE.

Referenced by createObjRow().

SCIP_RETCODE SCIPaddCons ( SCIP scip,
SCIP_CONS cons 
)

adds constraint to the problem; if constraint is only valid locally, it is added to the local subproblem of the current node (and all of its subnodes); otherwise it is added to the global problem; if a local constraint is added at the root node, it is automatically upgraded into a global constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint to add

Definition at line 11477 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPconsIsGlobal(), SCIPconsSetLocal(), SCIPerrorMessage, SCIPnodeAddCons(), SCIPprobAddCons(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPtreeGetEffectiveRootDepth(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by addCliques(), addExtendedAsymmetricFormulation(), addExtendedFlowFormulation(), addExtraCliques(), addLocalBranchingConstraint(), addVarbound(), adjustOversizedJobBounds(), aggregateConstraints(), applyFixings(), cliquePresolve(), consdataCollectLinkingCons(), consdataLinearize(), copyAndSolveComponent(), copyCuts(), CREATE_CONSTRAINT(), createAndAddAndCons(), createAndAddLinearCons(), createCapacityRestriction(), createConflict(), createConsCumulative(), createConstraints(), createCoveringProblem(), createCumulativeCons(), createIndicatorConstraint(), createLinearCons(), createMIP(), createPrecedenceCons(), createQuadraticCons(), createRows(), createSubproblem(), createSubSCIP(), createSubscip(), createVarUbs(), CUTOFF_CONSTRAINT(), deleteRedundantVars(), detectRedundantVars(), dualPresolve(), dualWeightsTightening(), extendToCover(), extensionOperatorSOS1(), extractGates(), findAggregation(), fixDeleteOrUpgradeCons(), forbidCover(), forbidFixation(), getConstraint(), getFixedVariable(), performImplicationGraphAnalysis(), preprocessConstraintPairs(), presolRoundConsSOS1(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveDisaggregate(), presolveFindDuplicates(), presolveFindDuplicatesUpgradeCons(), presolveRemoveFixedVariables(), presolveTryAddAND(), presolveTryAddLinearReform(), presolveUpgrade(), processIntegerBoundChg(), processNlRow(), propIndicator(), readBounds(), readCnf(), readConstraints(), readIndicators(), readObjective(), readOPBFile(), readQCMatrix(), readQMatrix(), readRows(), readSemicontinuous(), readSOS(), readSos(), readSOScons(), readVariables(), reformMonomial(), reformNode2Var(), reformulate(), removeConstraintsDueToNegCliques(), removeFixedVariables(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_READERREAD(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyProximity(), SCIPapplyZeroobj(), SCIPcopyConss(), SCIPcopyOrigConss(), SCIPcreateConsIndicator(), SCIPcreateFiniteSolCopy(), SCIPgetVarCopy(), SCIPreoptApplyGlbConss(), SCIPtransformMinUC(), setObjective(), tightenBounds(), tightenWeights(), tryUpgradingLogicor(), tryUpgradingSetppc(), tryUpgradingXor(), upgradeCons(), upgradeConss(), upgradeIndicatorSuperindicator(), and upgradeLinearSuperindicator().

SCIP_RETCODE SCIPdelCons ( SCIP scip,
SCIP_CONS cons 
)

globally removes constraint from all subproblems; removes constraint from the constraint set change data of the node, where it was added, or from the problem, if it was a problem constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint to delete

Definition at line 11540 of file scip.c.

References SCIP_Cons::addconssetchg, checkStage(), FALSE, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIPconsDelete(), SCIPconsIsAdded(), SCIPerrorMessage, Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, and TRUE.

Referenced by aggregateConstraints(), applyFixings(), checkFixedVariables(), checkForOverlapping(), cliquePresolve(), computeEffectiveHorizon(), consdataLinearize(), copyAndSolveComponent(), correctConshdlrdata(), createSubSCIP(), createVarUbs(), deleteTrivilCons(), detectRedundantConstraints(), disableCons(), dualPresolve(), dualPresolving(), dualWeightsTightening(), extractGates(), findAggregation(), fixDeleteOrUpgradeCons(), liftCliqueVariables(), mergeMultiples(), prepareCons(), preprocessConstraintPairs(), presolRoundConsSOS1(), presolRoundConssSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolveDual(), presolveFindDuplicates(), presolveFindDuplicatesUpgradeCons(), presolvePropagateCons(), presolveRemoveFixedVariables(), presolveUpgrade(), propagateCons(), readQCMatrix(), removeConstraintsDueToNegCliques(), removeDoubleAndSingletonsAndPerformDualpresolve(), removeRedundantCons(), removeRedundantConss(), removeRedundantNonZeros(), SCIP_DECL_CONSENABLE(), SCIP_DECL_CONSEXITPRE(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_PRESOLEXEC(), SCIPsetLinearConsIndicator(), SCIPtransformMinUC(), shortenConss(), tightenCoefs(), tightenWeights(), tryUpgrading(), tryUpgradingLogicor(), tryUpgradingSetppc(), tryUpgradingXor(), updateConsanddataUses(), upgradeCons(), upgradeConss(), upgradeIndicatorSuperindicator(), and upgradeLinearSuperindicator().

SCIP_CONS* SCIPfindOrigCons ( SCIP scip,
const char *  name 
)

returns original constraint of given name in the problem, or NULL if not existing

Returns
original constraint of given name in the problem, or NULL if not existing
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
namename of constraint to find

Definition at line 11593 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIPABORT, SCIPerrorMessage, SCIPprobFindCons(), Scip::set, SCIP_Set::stage, and TRUE.

int SCIPgetNUpgrConss ( SCIP scip)
SCIP_CONS** SCIPgetConss ( SCIP scip)

gets array of globally valid constraints currently in the problem

Returns
array of globally valid constraints currently in the problem
Precondition
This method can be called if scip is in one of the following stages:
Warning
If your are using the method SCIPaddCons(), it can happen that the internal constraint array (which is accessed via this method) gets resized. This can invalid the pointer which is returned by this method.
Parameters
scipSCIP data structure

Definition at line 11782 of file scip.c.

References checkStage(), SCIP_Prob::conss, FALSE, NULL, Scip::origprob, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPABORT, SCIPerrorMessage, Scip::set, SCIP_Set::stage, Scip::transprob, and TRUE.

Referenced by presolComponents(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_PARAMCHGD(), and SCIPtransformMinUC().

int SCIPgetNOrigConss ( SCIP scip)

gets total number of constraints in the original problem

Returns
total number of constraints in the original problem
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 11828 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::nconss, Scip::origprob, SCIP_CALL_ABORT, and TRUE.

Referenced by computeAndConstraintInfos(), createSubSCIP(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXIT(), SCIPapplyHeurDualval(), and SCIPcopyOrigConss().

SCIP_CONS** SCIPgetOrigConss ( SCIP scip)

gets array of constraints in the original problem

Returns
array of constraints in the original problem
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 11855 of file scip.c.

References checkStage(), SCIP_Prob::conss, FALSE, Scip::origprob, SCIP_CALL_ABORT, and TRUE.

Referenced by computeAndConstraintInfos(), createSubSCIP(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXIT(), SCIPapplyHeurDualval(), and SCIPcopyOrigConss().

int SCIPgetNCheckConss ( SCIP scip)

computes the number of check constraint in the current node (loop over all constraint handler and cumulates the number of check constraints)

Returns
returns the number of check constraints
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 11878 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIPconshdlrGetNCheckConss(), SCIPgetConshdlrs(), SCIPgetNConshdlrs(), and TRUE.

Referenced by solveIndependentCons().

SCIP_RETCODE SCIPaddConsNode ( SCIP scip,
SCIP_NODE node,
SCIP_CONS cons,
SCIP_NODE validnode 
)

adds constraint to the given node (and all of its subnodes), even if it is a global constraint; It is sometimes desirable to add the constraint to a more local node (i.e., a node of larger depth) even if the constraint is also valid higher in the tree, for example, if one wants to produce a constraint which is only active in a small part of the tree although it is valid in a larger part. In this case, one should pass the more global node where the constraint is valid as "validnode". Note that the same constraint cannot be added twice to the branching tree with different "validnode" parameters. If the constraint is valid at the same node as it is inserted (the usual case), one should pass NULL as "validnode". If the "validnode" is the root node, it is automatically upgraded into a global constraint, but still only added to the given node. If a local constraint is added to the root node, it is added to the global problem instead.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
nodenode to add constraint to
consconstraint to add
validnodenode at which the constraint is valid, or NULL

Definition at line 11929 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPconsGetName(), SCIPconsSetLocal(), SCIPerrorMessage, SCIPnodeAddCons(), SCIPnodeGetDepth(), SCIPprobAddCons(), SCIPtreeGetEffectiveRootDepth(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Cons::validdepth.

Referenced by addBranchingComplementaritiesSOS1(), addLocalConss(), addSplitcons(), branchCons(), createNAryBranch(), fixVariableZeroNode(), SCIP_DECL_CONFLICTEXEC(), SCIPaddConsLocal(), and selectVarMultAggrBranching().

SCIP_RETCODE SCIPaddConsLocal ( SCIP scip,
SCIP_CONS cons,
SCIP_NODE validnode 
)

adds constraint locally to the current node (and all of its subnodes), even if it is a global constraint; It is sometimes desirable to add the constraint to a more local node (i.e., a node of larger depth) even if the constraint is also valid higher in the tree, for example, if one wants to produce a constraint which is only active in a small part of the tree although it is valid in a larger part.

If the constraint is valid at the same node as it is inserted (the usual case), one should pass NULL as "validnode". If the "validnode" is the root node, it is automatically upgraded into a global constraint, but still only added to the given node. If a local constraint is added to the root node, it is added to the global problem instead.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Note
The same constraint cannot be added twice to the branching tree with different "validnode" parameters. This is the case due to internal data structures and performance issues. In such a case you should try to realize your issue using the method SCIPdisableCons() and SCIPenableCons() and control these via the event system of SCIP.
Parameters
scipSCIP data structure
consconstraint to add
validnodenode at which the constraint is valid, or NULL

Definition at line 11999 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddConsNode(), SCIPtreeGetCurrentNode(), Scip::tree, and TRUE.

Referenced by addAllConss(), createConflict(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), SCIP_DECL_CONSINITLP(), and tightenBounds().

SCIP_RETCODE SCIPdelConsNode ( SCIP scip,
SCIP_NODE node,
SCIP_CONS cons 
)

disables constraint's separation, enforcing, and propagation capabilities at the given node (and all subnodes); if the method is called at the root node, the constraint is globally deleted from the problem; the constraint deletion is being remembered at the given node, s.t. after leaving the node's subtree, the constraint is automatically enabled again, and after entering the node's subtree, it is automatically disabled; this may improve performance because redundant checks on this constraint are avoided, but it consumes memory; alternatively, use SCIPdisableCons()

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
nodenode to disable constraint in
consconstraint to locally delete

Definition at line 12030 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIPconsDelete(), SCIPconsIsAdded(), SCIPnodeDelCons(), SCIPnodeGetDepth(), SCIPtreeGetEffectiveRootDepth(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by branchCons(), and createNAryBranch().

SCIP_RETCODE SCIPdelConsLocal ( SCIP scip,
SCIP_CONS cons 
)

disables constraint's separation, enforcing, and propagation capabilities at the current node (and all subnodes); if the method is called during problem modification or at the root node, the constraint is globally deleted from the problem; the constraint deletion is being remembered at the current node, s.t. after leaving the current subtree, the constraint is automatically enabled again, and after reentering the current node's subtree, it is automatically disabled again; this may improve performance because redundant checks on this constraint are avoided, but it consumes memory; alternatively, use SCIPdisableCons()

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
consconstraint to locally delete

Definition at line 12080 of file scip.c.

References SCIP_Cons::addconssetchg, checkStage(), FALSE, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIPconsDelete(), SCIPconsIsAdded(), SCIPerrorMessage, SCIPnodeDelCons(), SCIPnodeGetDepth(), SCIPtreeGetCurrentNode(), SCIPtreeGetEffectiveRootDepth(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by addAllConss(), analyzeZeroResultant(), checkBounddisjunction(), checkKnapsack(), checkLogicor(), checkVarbound(), consdataFixOperandsOne(), consdataFixResultantZero(), detectRedundantVars(), processBinvarFixings(), processFixings(), processIntegerBoundChg(), propagateBounds(), propagateCons(), propConsSOS1(), propIndicator(), propSOS2(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), and solveIndependentCons().

SCIP_Real SCIPgetLocalOrigEstimate ( SCIP scip)

gets estimate of best primal solution w.r.t. original problem contained in current subtree

Returns
estimate of best primal solution w.r.t. original problem contained in current subtree
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure

Definition at line 12133 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, SCIP_CALL_ABORT, SCIP_INVALID, SCIPnodeGetEstimate(), SCIPprobExternObjval(), SCIPtreeGetCurrentNode(), Scip::set, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT().

SCIP_Real SCIPgetLocalTransEstimate ( SCIP scip)

gets estimate of best primal solution w.r.t. transformed problem contained in current subtree

Returns
estimate of best primal solution w.r.t. transformed problem contained in current subtree
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure

Definition at line 12152 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIP_INVALID, SCIPnodeGetEstimate(), SCIPtreeGetCurrentNode(), Scip::tree, and TRUE.

Referenced by branchCons().

SCIP_Real SCIPgetLocalDualbound ( SCIP scip)

gets dual bound of current node

Returns
dual bound of current node
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure

Definition at line 12172 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, SCIP_CALL_ABORT, SCIP_INVALID, SCIPnodeGetLowerbound(), SCIPprobExternObjval(), SCIPtreeGetCurrentNode(), Scip::set, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT(), and SCIP_DECL_HEUREXEC().

SCIP_Real SCIPgetLocalLowerbound ( SCIP scip)

gets lower bound of current node in transformed problem

Returns
lower bound of current node in transformed problem
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure

Definition at line 12191 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIP_INVALID, SCIPnodeGetLowerbound(), SCIPtreeGetCurrentNode(), Scip::tree, and TRUE.

SCIP_Real SCIPgetNodeDualbound ( SCIP scip,
SCIP_NODE node 
)

gets dual bound of given node

Returns
dual bound of a given node
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
nodenode to get dual bound for

Definition at line 12211 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL_ABORT, SCIPnodeGetLowerbound(), SCIPprobExternObjval(), Scip::set, Scip::transprob, and TRUE.

SCIP_Real SCIPgetNodeLowerbound ( SCIP scip,
SCIP_NODE node 
)

gets lower bound of given node in transformed problem

Returns
lower bound of given node in transformed problem
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
nodenode to get dual bound for

Definition at line 12228 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPnodeGetLowerbound(), and TRUE.

Referenced by execRelpscost().

SCIP_RETCODE SCIPupdateLocalDualbound ( SCIP scip,
SCIP_Real  newbound 
)

if given value is tighter (larger for minimization, smaller for maximization) than the current node's dual bound (in original problem space), sets the current node's dual bound to the new value

Note
the given new bound has to be a dual bound, i.e., it has to be valid for the original problem.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
newboundnew dual bound for the node (if it's tighter than the old one)

Definition at line 12252 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIPABORT, SCIPerrorMessage, SCIPprobExternObjval(), SCIPprobInternObjval(), SCIPprobUpdateDualbound(), SCIPtreeGetCurrentNode(), SCIPupdateNodeLowerbound(), Scip::set, SCIP_Set::stage, Scip::transprob, Scip::tree, and TRUE.

SCIP_RETCODE SCIPupdateLocalLowerbound ( SCIP scip,
SCIP_Real  newbound 
)

if given value is larger than the current node's lower bound (in transformed problem), sets the current node's lower bound to the new value

Note
the given new bound has to be a lower bound, i.e., it has to be valid for the transformed problem.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
newboundnew lower bound for the node (if it's larger than the old one)

Definition at line 12302 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_SOLVING, SCIPABORT, SCIPerrorMessage, SCIPprobExternObjval(), SCIPprobUpdateDualbound(), SCIPtreeGetCurrentNode(), SCIPupdateNodeLowerbound(), Scip::set, SCIP_Set::stage, Scip::transprob, Scip::tree, and TRUE.

SCIP_RETCODE SCIPupdateNodeDualbound ( SCIP scip,
SCIP_NODE node,
SCIP_Real  newbound 
)

if given value is tighter (larger for minimization, smaller for maximization) than the node's dual bound, sets the node's dual bound to the new value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
nodenode to update dual bound for
newboundnew dual bound for the node (if it's tighter than the old one)

Definition at line 12341 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL, SCIP_OKAY, SCIPprobInternObjval(), SCIPupdateNodeLowerbound(), Scip::set, Scip::transprob, and TRUE.

SCIP_RETCODE SCIPupdateNodeLowerbound ( SCIP scip,
SCIP_NODE node,
SCIP_Real  newbound 
)

if given value is larger than the node's lower bound (in transformed problem), sets the node's lower bound to the new value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
nodenode to update lower bound for
newboundnew lower bound for the node (if it's larger than the old one)

Definition at line 12363 of file scip.c.

References checkStage(), SCIP_Primal::cutoffbound, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPisGE(), SCIPnodeCutoff(), SCIPnodeUpdateLowerbound(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by branch(), enforceConflictgraph(), execRelpscost(), SCIP_DECL_BRANCHEXECLP(), SCIPupdateLocalDualbound(), SCIPupdateLocalLowerbound(), and SCIPupdateNodeDualbound().

SCIP_RETCODE SCIPchgChildPrio ( SCIP scip,
SCIP_NODE child,
SCIP_Real  priority 
)

change the node selection priority of the given child

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
childchild to update the node selection priority
prioritynode selection priority value

Definition at line 12396 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_INVALIDDATA, SCIP_NODETYPE_CHILD, SCIP_OKAY, SCIPchildChgNodeselPrio(), SCIPnodeGetType(), Scip::tree, and TRUE.

Referenced by SCIP_DECL_BRANCHEXECLP().

static SCIP_RETCODE checkSolOrig ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool feasible,
SCIP_Bool  printreason,
SCIP_Bool  completely,
SCIP_Bool  checkbounds,
SCIP_Bool  checkintegrality,
SCIP_Bool  checklprows,
SCIP_Bool  checkmodifiable 
)
static

checks solution for feasibility in original problem without adding it to the solution store

Parameters
scipSCIP data structure
solprimal CIP solution
feasiblestores whether given solution is feasible
printreasonShould the reason for the violation be printed?
completelyShould all violations be checked?
checkboundsShould the bounds of the variables be checked?
checkintegralityHas integrality to be checked?
checklprowsDo constraints represented by rows in the current LP have to be checked?
checkmodifiablehave modifiable constraint to be checked?

Definition at line 12420 of file scip.c.

References checkStage(), SCIP_Set::conshdlrs, SCIP_Prob::conss, FALSE, Scip::mem, Scip::messagehdlr, SCIP_Set::nconshdlrs, SCIP_Prob::nconss, NULL, SCIP_Prob::nvars, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_FEASIBLE, SCIP_OKAY, SCIP_Real, SCIPconsCheck(), SCIPconshdlrCheck(), SCIPconshdlrNeedsCons(), SCIPconsIsChecked(), SCIPconsIsModifiable(), SCIPmessagePrintInfo(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsolGetVal(), SCIPvarGetLbOriginal(), SCIPvarGetName(), SCIPvarGetUbOriginal(), Scip::set, Scip::stat, TRUE, and SCIP_Prob::vars.

Referenced by SCIPcheckSol(), SCIPcheckSolOrig(), SCIPtransformProb(), SCIPtrySol(), and SCIPtrySolFree().

static SCIP_RETCODE calcNonZeros ( SCIP scip,
SCIP_Longint nchecknonzeros,
SCIP_Longint nactivenonzeros,
SCIP_Bool approxchecknonzeros,
SCIP_Bool approxactivenonzeros 
)
static

calculates number of nonzeros in problem

Parameters
scipSCIP data structure
nchecknonzerospointer to store number of non-zeros in all check constraints
nactivenonzerospointer to store number of non-zeros in all active constraints
approxchecknonzerospointer to store if the number of non-zeros in all check constraints is only a lowerbound
approxactivenonzerospointer to store if the number of non-zeros in all active constraints is only a lowerbound

Definition at line 12519 of file scip.c.

References SCIP_Set::conshdlrs, FALSE, SCIP_Set::nconshdlrs, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetNVars(), SCIPconshdlrGetCheckConss(), SCIPconshdlrGetConss(), SCIPconshdlrGetNActiveConss(), SCIPconshdlrGetNCheckConss(), SCIPconsIsActive(), SCIPconsIsChecked(), Scip::set, and TRUE.

Referenced by presolve(), and SCIPtransformProb().

SCIP_RETCODE SCIPtransformProb ( SCIP scip)

initializes solving data structures and transforms problem

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Postcondition
When calling this method in the SCIP_STAGE_PROBLEM stage, the SCIP stage is changed to SCIP_STAGE_TRANSFORMED; otherwise, the stage is not changed

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 12623 of file scip.c.

References BMSgarbagecollectBlockMemory, Scip::branchcand, calcNonZeros(), checkSolOrig(), checkStage(), Scip::cliquetable, Scip::conflict, SCIP_Set::conshdlrs, SCIP_Set::disp_verblevel, Scip::eventfilter, Scip::eventqueue, FALSE, SCIP_Set::limit_memory, Scip::lp, MAX, Scip::mem, SCIP_Set::mem_externestim, Scip::messagehdlr, SCIP_Set::misc_allowdualreds, SCIP_Set::misc_estimexternmem, SCIP_Set::misc_permutationseed, SCIP_Set::misc_permuteconss, SCIP_Set::misc_permutevars, SCIP_Set::misc_printreason, SCIP_Prob::nbinvars, SCIP_Set::nconshdlrs, SCIP_Prob::nconss, SCIP_Prob::ncontvars, SCIP_Stat::nexternalsolsfound, SCIP_Prob::nimplvars, SCIP_Prob::nintvars, SCIP_Primal::nsols, SCIP_Primal::nsolsfound, NULL, SCIP_Prob::nvars, Scip::origprimal, Scip::origprob, Scip::primal, SCIP_Mem::probmem, REALABS, Scip::relaxation, Scip::reopt, SCIP_Set::reopt_enable, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_Real, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIP_STATUS_UNKNOWN, SCIP_VERBLEVEL_FULL, SCIP_VERBLEVEL_HIGH, SCIPaddVarLocks(), SCIPbranchcandCreate(), SCIPcaptureVar(), SCIPcliquetableCreate(), SCIPconflictCreate(), SCIPconshdlrGetNActiveConss(), SCIPconshdlrGetName(), SCIPdebugMessage, SCIPerrorMessage, SCIPeventfilterCreate(), SCIPeventqueueCreate(), SCIPgetBestSol(), SCIPgetMemUsed(), SCIPgetNConss(), SCIPgetNVars(), SCIPgetSolOrigObj(), SCIPisInfinity(), SCIPlpCreate(), SCIPmessagePrintVerbInfo(), SCIPpermuteProb(), SCIPprimalAddSol(), SCIPprimalCreate(), SCIPprimalUpdateObjlimit(), SCIPprobCheckObjIntegral(), SCIPprobGetName(), SCIPprobMarkNConss(), SCIPprobScaleObj(), SCIPprobTransform(), SCIPrelaxationCreate(), SCIPsetGetNodesel(), SCIPsetInitPlugins(), SCIPsolFree(), SCIPsolGetObj(), SCIPsolRecomputeObj(), SCIPstatMark(), SCIPstoreSolutionGap(), SCIPtreeCreate(), SCIPvarGetTransVar(), Scip::set, SCIP_Mem::setmem, SCIP_Primal::sols, SCIP_Set::stage, Scip::stat, SCIP_Stat::status, Scip::transprob, Scip::tree, TRUE, and SCIP_Prob::vars.

Referenced by applyOfins(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPpresolve(), and solveSubNLP().

static SCIP_RETCODE presolveRound ( SCIP scip,
SCIP_PRESOLTIMING timing,
SCIP_Bool unbounded,
SCIP_Bool infeasible,
SCIP_Bool  lastround,
int *  presolstart,
int  presolend,
int *  propstart,
int  propend,
int *  consstart,
int  consend 
)
static

applies one round of presolving with the given presolving timing

This method will always be called with presoltiming fast first. It iterates over all presolvers, propagators, and constraint handlers and calls their presolving callbacks with timing fast. If enough reductions are found, it returns and the next presolving round will be started (again with timing fast). If the fast presolving does not find enough reductions, this methods calls itself recursively with presoltiming medium. Again, it calls the presolving callbacks of all presolvers, propagators, and constraint handlers with timing medium. If enough reductions are found, it returns and the next presolving round will be started (with timing fast). Otherwise, it is called recursively with presoltiming exhaustive. In exhaustive presolving, presolvers, propagators, and constraint handlers are called w.r.t. their priority, but this time, we stop as soon as enough reductions were found and do not necessarily call all presolving methods. If we stop, we return and another presolving round is started with timing fast.

Parameters
scipSCIP data structure
timingpointer to current presolving timing
unboundedpointer to store whether presolving detected unboundedness
infeasiblepointer to store whether presolving detected infeasibility
lastroundis this the last presolving round due to a presolving round limit?
presolstartpointer to get the presolver to start exhaustive presolving with in the current round and store the one to start with in the next round
presolendlast presolver to treat in exhaustive presolving
propstartpointer to get the propagator to start exhaustive presolving with in the current round and store the one to start with in the next round
propendlast propagator to treat in exhaustive presolving
consstartpointer to get the constraint handler to start exhaustive presolving with in the current round and store the one to start with in the next round
consendlast constraint handler to treat in exhaustive presolving

Definition at line 13051 of file scip.c.

References BMSgetNUsedBufferMemory(), Scip::branchcand, Scip::cliquetable, SCIP_Set::conshdlrs, SCIP_Set::disp_verblevel, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Set::nconshdlrs, SCIP_Set::nheurs, SCIP_Stat::npresoladdconss, SCIP_Stat::npresoladdholes, SCIP_Stat::npresolaggrvars, SCIP_Stat::npresolchgbds, SCIP_Stat::npresolchgcoefs, SCIP_Stat::npresolchgsides, SCIP_Stat::npresolchgvartypes, SCIP_Stat::npresoldelconss, SCIP_Stat::npresolfixedvars, SCIP_Stat::npresolrounds, SCIP_Stat::npresolroundsext, SCIP_Stat::npresolroundsfast, SCIP_Stat::npresolroundsmed, SCIP_Set::npresols, SCIP_Stat::npresolupgdconss, SCIP_Set::nprops, NULL, Scip::origprob, SCIP_Set::presols, Scip::primal, SCIP_Mem::probmem, SCIP_Set::props, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_EVENTTYPE_PRESOLVEROUND, SCIP_HEURTIMING_DURINGPRESOLLOOP, SCIP_INVALID, SCIP_OKAY, SCIP_PRESOLTIMING_EXHAUSTIVE, SCIP_PRESOLTIMING_FAST, SCIP_PRESOLTIMING_MEDIUM, SCIP_UNBOUNDED, SCIP_VERBLEVEL_FULL, SCIP_VERBLEVEL_HIGH, SCIPbuffer(), SCIPcleanbuffer(), SCIPcliquetableCleanup(), SCIPconshdlrGetName(), SCIPconshdlrPresolve(), SCIPdebugMessage, SCIPeventChgType(), SCIPeventProcess(), SCIPgetBestSol(), SCIPgetNSols(), SCIPgetSolOrigObj(), SCIPgetSolvingTime(), SCIPheurGetName(), SCIPisPresolveFinished(), SCIPmessagePrintVerbInfo(), SCIPpresolExec(), SCIPpresolGetName(), SCIPpresolGetPriority(), SCIPprimalHeuristics(), SCIPprobPerformVarDeletions(), SCIPpropGetName(), SCIPpropGetPresolPriority(), SCIPpropPresol(), SCIPsolGetHeur(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by presolve().

static SCIP_RETCODE presolve ( SCIP scip,
SCIP_Bool unbounded,
SCIP_Bool infeasible 
)
static

loops through the included presolvers and constraint's presolve methods, until changes are too few

Parameters
scipSCIP data structure
unboundedpointer to store whether presolving detected unboundedness
infeasiblepointer to store whether presolving detected infeasibility

Definition at line 13490 of file scip.c.

References BMSgetNUsedBufferMemory(), calcNonZeros(), Scip::cliquetable, SCIP_Set::disp_verblevel, Scip::eventqueue, exitPresolve(), FALSE, initPresolve(), SCIP_Stat::lastnpresoladdconss, SCIP_Stat::lastnpresoladdholes, SCIP_Stat::lastnpresolaggrvars, SCIP_Stat::lastnpresolchgbds, SCIP_Stat::lastnpresolchgcoefs, SCIP_Stat::lastnpresolchgsides, SCIP_Stat::lastnpresolchgvartypes, SCIP_Stat::lastnpresoldelconss, SCIP_Stat::lastnpresolfixedvars, SCIP_Stat::lastnpresolupgdconss, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Set::nconshdlrs, SCIP_Set::nheurs, SCIP_Stat::nimplications, SCIP_Primal::nlimsolsfound, SCIP_Stat::npresoladdconss, SCIP_Stat::npresoladdholes, SCIP_Stat::npresolaggrvars, SCIP_Stat::npresolchgbds, SCIP_Stat::npresolchgcoefs, SCIP_Stat::npresolchgsides, SCIP_Stat::npresolchgvartypes, SCIP_Stat::npresoldelconss, SCIP_Stat::npresolfixedvars, SCIP_Stat::npresolrounds, SCIP_Stat::npresolroundsext, SCIP_Stat::npresolroundsfast, SCIP_Stat::npresolroundsmed, SCIP_Set::npresols, SCIP_Stat::npresolupgdconss, SCIP_Set::nprops, SCIP_Primal::nsols, NULL, Scip::origprob, SCIP_Stat::performpresol, SCIP_Set::presol_maxrounds, presolveRound(), SCIP_Stat::presolvingtime, SCIP_Stat::presolvingtimeoverall, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_HEURTIMING_BEFOREPRESOL, SCIP_INVALID, SCIP_Longint, SCIP_OKAY, SCIP_PRESOLTIMING_FAST, SCIP_PRESOLTIMING_MEDIUM, SCIP_Real, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_OPTIMAL, SCIP_STATUS_UNBOUNDED, SCIP_STATUS_UNKNOWN, SCIP_VERBLEVEL_FULL, SCIP_VERBLEVEL_HIGH, SCIP_VERBLEVEL_NORMAL, SCIPbuffer(), SCIPcleanbuffer(), SCIPcliquetableGetNCliques(), SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPgetBestSol(), SCIPgetNConss(), SCIPgetNSols(), SCIPgetNVars(), SCIPgetSolOrigObj(), SCIPgetSolvingTime(), SCIPheurGetName(), SCIPisInfinity(), SCIPisPresolveFinished(), SCIPmessagePrintVerbInfo(), SCIPprimalHeuristics(), SCIPprimalUpdateObjlimit(), SCIPprobMarkNConss(), SCIPprobResortVars(), SCIPsetSortPresols(), SCIPsetSortPropsPresol(), SCIPsolGetHeur(), SCIPsolveIsStopped(), Scip::set, SCIP_Set::stage, Scip::stat, SCIP_Stat::status, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIPlpiSolveBarrier(), SCIPlpiSolveDual(), SCIPlpiSolvePrimal(), SCIPpresolve(), and SolveWSimplex().

static SCIP_RETCODE initSolve ( SCIP scip,
SCIP_Bool  solved 
)
static

initializes solution process data structures

Parameters
scipSCIP data structure
solvedis problem already solved?

Definition at line 13790 of file scip.c.

References SCIP_Primal::cutoffbound, Scip::cutpool, Scip::delayedcutpool, SCIP_Prob::dualbound, Scip::eventfilter, Scip::eventqueue, FALSE, SCIP_Stat::lastlowerbound, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Set::misc_transorigsols, SCIP_Set::nactivepricers, Scip::nlp, SCIP_Set::nlp_disable, SCIP_Prob::nlpenabled, NULL, SCIP_Prob::nvars, Scip::origprob, Scip::pricestore, Scip::primal, SCIP_Mem::probmem, REALABS, Scip::reopt, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_SOLVING, SCIPcutpoolCreate(), SCIPdebugMessage, SCIPlpReset(), SCIPnlpAddVars(), SCIPnlpCreate(), SCIPnodeUpdateLowerbound(), SCIPpricestoreCreate(), SCIPprimalSetCutoffbound(), SCIPprimalUpdateObjlimit(), SCIPprobGetName(), SCIPprobInitSolve(), SCIPprobInternObjval(), SCIPprobMarkNConss(), SCIPsepastoreCreate(), SCIPsetCutoffbounddelta(), SCIPsetInfinity(), SCIPsetInitsolPlugins(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPsetIsZero(), SCIPstatEnforceLPUpdates(), SCIPstatResetCurrentRun(), SCIPtreeCreateRoot(), SCIPtreeGetRootNode(), SCIPvarGetObj(), SCIPvarGetWorstBoundGlobal(), SCIPvisualInit(), SCIP_Set::sepa_cutagelimit, Scip::sepastore, Scip::set, SCIP_Set::stage, Scip::stat, transformSols(), Scip::transprob, Scip::tree, TRUE, SCIP_Prob::vars, and SCIP_Stat::visual.

Referenced by SCIPpresolve(), and SCIPsolve().

static SCIP_RETCODE compressReoptTree ( SCIP scip)
static
SCIP_RETCODE SCIPpresolve ( SCIP scip)

transforms and presolves problem

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Postcondition
After calling this method SCIP reaches one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 14342 of file scip.c.

References checkStage(), SCIP_Set::conshdlrs, SCIP_Set::disp_verblevel, displayRelevantStats(), Scip::eventqueue, FALSE, initSolve(), Scip::interrupt, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Set::misc_catchctrlc, SCIP_Prob::nbinvars, SCIP_Set::nconshdlrs, SCIP_Prob::nconss, SCIP_Prob::ncontvars, SCIP_Prob::nimplvars, SCIP_Prob::nintvars, SCIP_Prob::nvars, SCIP_Prob::objscale, presolve(), SCIP_Stat::presolvingtime, SCIP_Mem::probmem, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_TRANSFORMED, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_OPTIMAL, SCIP_STATUS_UNBOUNDED, SCIP_VERBLEVEL_HIGH, SCIP_VERBLEVEL_NORMAL, SCIPABORT, SCIPclockGetTime(), SCIPclockStart(), SCIPclockStop(), SCIPconshdlrGetNActiveConss(), SCIPconshdlrGetName(), SCIPerrorMessage, SCIPinterruptCapture(), SCIPinterruptRelease(), SCIPmessagePrintVerbInfo(), SCIPprobIsObjIntegral(), SCIPtransformProb(), SCIPtreeClear(), Scip::set, SCIP_Stat::solvingtime, SCIP_Stat::solvingtimeoverall, SCIP_Set::stage, Scip::stat, SCIP_Stat::status, Scip::transprob, Scip::tree, TRUE, and SCIP_Stat::userinterrupt.

Referenced by applyOfins(), applyVbounds(), SCIP_DECL_DIALOGEXEC(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPapplyRens(), SCIPsolve(), and solveSubNLP().

SCIP_RETCODE SCIPsolve ( SCIP scip)

transforms, presolves, and solves problem

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Postcondition
After calling this method SCIP reaches one of the following stages depending on if and when the solution process was interrupted:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 14503 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, SCIP_Set::compr_enable, compressReoptTree(), Scip::conflict, Scip::cutpool, Scip::delayedcutpool, SCIP_Set::disp_verblevel, displayRelevantStats(), Scip::eventfilter, Scip::eventqueue, FALSE, freeSolve(), initSolve(), Scip::interrupt, SCIP_Set::limit_maxsol, Scip::lp, MAX, Scip::mem, Scip::messagehdlr, MIN, SCIP_Set::misc_catchctrlc, SCIP_Prob::nintvars, SCIP_Stat::nnodes, SCIP_Stat::nreoptruns, SCIP_Stat::nrootintfixingsrun, SCIP_Stat::nruns, SCIP_Primal::nsols, NULL, SCIP_Prob::nvars, Scip::origprimal, Scip::origprob, SCIP_Stat::performpresol, Scip::pricestore, Scip::primal, SCIP_Mem::probmem, Scip::relaxation, Scip::reopt, SCIP_Set::reopt_commontimelimit, SCIP_Set::reopt_enable, SCIP_Set::reopt_savesols, SCIP_Set::reopt_sepabestsol, SCIP_Set::reopt_sepaglbinfsubtrees, SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_Real, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_OPTIMAL, SCIP_STATUS_UNBOUNDED, SCIP_VERBLEVEL_NORMAL, SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPerrorMessage, SCIPfindConshdlr(), SCIPgetChildren(), SCIPgetLeaves(), SCIPgetNBinVars(), SCIPgetNIntVars(), SCIPgetNNodesLeft(), SCIPgetRealParam(), SCIPgetSiblings(), SCIPgetSolvingTime(), SCIPinterruptCapture(), SCIPinterruptRelease(), SCIPisParamFixed(), SCIPmessagePrintVerbInfo(), SCIPpresolve(), SCIPreoptAddOptSol(), SCIPreoptAddRun(), SCIPreoptAddSol(), SCIPreoptApplyGlbConss(), SCIPreoptCheckRestart(), SCIPreoptSaveOpenNodes(), SCIPsetBoolParam(), SCIPsetGetNodesel(), SCIPsetRealParam(), SCIPsolGetHeur(), SCIPsolGetNodenum(), SCIPsolIsOriginal(), SCIPsolRetransform(), SCIPsolveCIP(), SCIPsolveIsStopped(), SCIPstatResetDisplay(), SCIPtreeGetCurrentNode(), SCIPtreeGetNNodes(), SCIPunfixParam(), SCIPverbMessage(), SCIPwarningMessage(), Scip::sepastore, Scip::set, SCIP_Primal::sols, SCIP_Stat::solvingtime, SCIP_Stat::solvingtimeoverall, SCIP_Set::stage, Scip::stat, SCIP_Stat::status, Scip::transprob, Scip::tree, TRUE, SCIP_Stat::userinterrupt, SCIP_Stat::userrestart, and SCIP_Prob::vars.

Referenced by applyOfins(), applyVbounds(), copyAndSolveComponent(), fromCommandLine(), getActivities(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPcount(), SCIPcreateFiniteSolCopy(), searchEcAggrWithMIP(), solveCoveringProblem(), solveSubMIP(), solveSubNLP(), solveSubproblem(), and solveSubscip().

SCIP_RETCODE SCIPenableReoptimization ( SCIP scip,
SCIP_Bool  enable 
)

include specific heuristics and branching rules for reoptimization

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
enableenable reoptimization (TRUE) or disable it (FALSE)

Definition at line 14801 of file scip.c.

References Scip::mem, Scip::messagehdlr, NULL, Scip::origprimal, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PROBLEM, SCIPerrorMessage, SCIPfindBranchrule(), SCIPreoptCreate(), SCIPreoptFree(), SCIPsetSetReoptimizationParams(), Scip::set, and SCIP_Set::stage.

Referenced by SCIPcreateProb().

SCIP_RETCODE SCIPaddReoptDualBndchg ( SCIP scip,
SCIP_NODE node,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_Real  oldbound 
)

save bound change based on dual information in the reoptimization tree

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodenode of the search tree
varvariable whose bound changed
newboundnew bound of the variable
oldboundold bound of the variable

Definition at line 14865 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPreoptAddDualBndchg(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), Scip::set, and TRUE.

Referenced by SCIP_DECL_EVENTEXEC().

SCIP_SOL* SCIPgetReoptLastOptSol ( SCIP scip)

returns the optimal solution of the last iteration or NULL of none exists

Parameters
scipSCIP data structure

Definition at line 14883 of file scip.c.

References SCIP_Stat::nreoptruns, NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPreoptGetLastBestSol(), Scip::set, and Scip::stat.

Referenced by applyOfins(), createSubproblem(), and SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPgetReoptOldObjCoef ( SCIP scip,
SCIP_VAR var,
int  run,
SCIP_Real objcoef 
)

returns the objective coefficent of a given variable in a previous iteration

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable
runnumber of the run
objcoefpointer to store the objective coefficient

Definition at line 14910 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPreoptGetOldObjCoef(), SCIPvarGetProbindex(), SCIPvarGetTransformed(), SCIPvarIsActive(), SCIPvarIsNegated(), SCIPvarIsOriginal(), SCIPvarIsTransformed(), Scip::set, Scip::stat, and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPgetReoptChildIDs ( SCIP scip,
SCIP_NODE node,
unsigned int *  ids,
int  idssize,
int *  nids 
)

return the ids of child nodes stored in the reoptimization tree

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodenode of the search tree
idsarray of ids
idssizeallocated memory
nidsnumber of child nodes

Definition at line 14953 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPreoptGetChildIDs(), Scip::set, and TRUE.

Referenced by Exec().

SCIP_RETCODE SCIPgetReoptLeaveIDs ( SCIP scip,
SCIP_NODE node,
unsigned int *  ids,
int  idssize,
int *  nids 
)

return the ids of all leave nodes store in the reoptimization tree induced by the given node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodenode of the search tree
idsarray of ids
idssizesize of ids array
nidsnumber of child nodes

Definition at line 14985 of file scip.c.

References checkStage(), FALSE, NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPreoptGetLeaves(), Scip::set, and TRUE.

Referenced by constructCompression().

int SCIPgetNReoptnodes ( SCIP scip,
SCIP_NODE node 
)

returns the number of nodes in the reoptimization tree induced by node; if node == NULL the method returns the number of nodes of the whole reoptimization tree.

Parameters
scipSCIP data structure
nodenode of the search tree

Definition at line 15010 of file scip.c.

References NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPreoptGetNNodes(), and Scip::set.

int SCIPgetNReoptLeaves ( SCIP scip,
SCIP_NODE node 
)

returns the number of leaf nodes of the subtree induced by node; if node == NULL, the method returns the number of leaf nodes of the whole reoptimization tree.

Parameters
scipSCIP data structure
nodenode of the search tree

Definition at line 15025 of file scip.c.

References NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPreoptGetNLeaves(), and Scip::set.

Referenced by constructCompression().

SCIP_REOPTNODE* SCIPgetReoptnode ( SCIP scip,
unsigned int  id 
)

gets the node of the reoptimization tree corresponding to the unique id

Parameters
scipSCIP data structure
idunique id

Definition at line 15038 of file scip.c.

References NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPreoptGetReoptnode(), and Scip::set.

Referenced by constructCompression(), Exec(), SCIPreoptimizeNode(), and sortIDs().

SCIP_RETCODE SCIPaddReoptnodeBndchg ( SCIP scip,
SCIP_REOPTNODE reoptnode,
SCIP_VAR var,
SCIP_Real  val,
SCIP_BOUNDTYPE  boundtype 
)

add a variable bound change to a given reoptnode

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
reoptnodenode of the reoptimization tree
varvariable pointer
valvalue of the variable
boundtypebound type of the variable value

Definition at line 15060 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPreoptnodeAddBndchg(), Scip::set, and TRUE.

Referenced by constructCompression().

SCIP_RETCODE SCIPsetReoptCompression ( SCIP scip,
SCIP_REOPTNODE **  representation,
int  nrepresentatives,
SCIP_Bool success 
)

set the representation as the new search frontier

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
representationarray of representatives
nrepresentativesnumber of representatives
successpointer to store the result

Definition at line 15088 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPreoptApplyCompression(), Scip::set, and TRUE.

Referenced by applyCompression().

SCIP_RETCODE SCIPaddReoptnodeCons ( SCIP scip,
SCIP_REOPTNODE reoptnode,
SCIP_VAR **  vars,
SCIP_Real vals,
int  nvars,
REOPT_CONSTYPE  constype 
)

add stored constraint to a reoptimization node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
reoptnodenode of the reoptimization tree
varsarray of variables
valsarray of variable bounds
nvarsnumber of variables
constypetype of the constraint

Definition at line 15116 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPreoptnodeAddCons(), and TRUE.

Referenced by constructCompression().

void SCIPgetReoptnodePath ( SCIP scip,
SCIP_REOPTNODE reoptnode,
SCIP_VAR **  vars,
SCIP_Real vals,
SCIP_BOUNDTYPE boundtypes,
int  mem,
int *  nvars,
int *  nafterdualvars 
)

return the branching path stored in the reoptree at ID id

Parameters
scipSCIP data structure
reoptnodenode of the reoptimization tree
varsarray of variables
valsarray of variable bounds
boundtypesarray of bound types
memallocated memory
nvarsnumber of variables
nafterdualvarsnumber of variables directly after the first based on dual information

Definition at line 15139 of file scip.c.

References NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPreoptnodeGetPath(), and Scip::set.

Referenced by constructCompression().

SCIP_RETCODE SCIPinitRepresentation ( SCIP scip,
SCIP_REOPTNODE **  representatives,
int  nrepresentatives 
)

initialize a set of empty reoptimization nodes

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
representativesarray of representatives
nrepresentativesnumber of representatives

Definition at line 15168 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPreoptnodeInit(), Scip::set, and TRUE.

Referenced by constructCompression(), and SCIP_DECL_COMPREXEC().

SCIP_RETCODE SCIPresetRepresentation ( SCIP scip,
SCIP_REOPTNODE **  representatives,
int  nrepresentatives 
)

reset a set of initialized reoptimization nodes

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
representativesarray of representatives
nrepresentativesnumber of representatives

Definition at line 15198 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPreoptnodeReset(), Scip::set, and TRUE.

Referenced by constructCompression().

SCIP_RETCODE SCIPfreeRepresentation ( SCIP scip,
SCIP_REOPTNODE **  representatives,
int  nrepresentatives 
)

free a set of initialized reoptimization nodes

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
representativesarray of representatives
nrepresentativesnumber of representatives

Definition at line 15227 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPreoptnodeDelete(), and TRUE.

Referenced by applyCompression(), constructCompression(), and SCIP_DECL_COMPREXEC().

SCIP_RETCODE SCIPapplyReopt ( SCIP scip,
SCIP_REOPTNODE reoptnode,
unsigned int  id,
SCIP_Real  estimate,
SCIP_NODE **  childnodes,
int *  ncreatedchilds,
int *  naddedconss,
int  childnodessize,
SCIP_Bool success 
)

reactivate the given reoptnode and split them into several nodes if necessary

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
reoptnodenode to reactivate
idunique id of the reoptimization node
estimateestimate of the child nodes that should be created
childnodesarray to store the created child nodes
ncreatedchildspointer to store number of created child nodes
naddedconsspointer to store number of generated constraints
childnodessizeavailable size of childnodes array
successpointer store the result

Definition at line 15261 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, SCIP_Set::misc_permutationseed, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPreoptApply(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by Exec().

SCIP_RETCODE SCIPfreeSolve ( SCIP scip,
SCIP_Bool  restart 
)

frees branch and bound tree and all solution process data; statistics, presolving data and transformed problem is preserved

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Postcondition
If this method is called in SCIP stage SCIP_STAGE_INIT or SCIP_STAGE_PROBLEM, the stage of SCIP is not changed; otherwise, the SCIP stage is changed to SCIP_STAGE_TRANSFORMED

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
restartshould certain data be preserved for improved restarting?

Definition at line 15306 of file scip.c.

References checkStage(), exitPresolve(), FALSE, freeSolve(), SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_OPTIMAL, SCIP_STATUS_UNBOUNDED, SCIPerrorMessage, Scip::set, SCIP_Set::stage, Scip::stat, SCIP_Stat::status, and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPfreeTransform().

SCIP_RETCODE SCIPfreeTransform ( SCIP scip)

frees all solution process data including presolving and transformed problem, only original problem is kept

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Postcondition
After calling this method SCIP reaches one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 15373 of file scip.c.

References checkStage(), exitPresolve(), FALSE, freeTransform(), SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_OPTIMAL, SCIP_STATUS_UNBOUNDED, SCIPerrorMessage, SCIPfreeSolve(), Scip::set, SCIP_Set::stage, Scip::stat, SCIP_Stat::status, and TRUE.

Referenced by copyAndSolveComponent(), freeMemory(), readDiffFile(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_READERREAD(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPapplyUndercover(), SCIPfreeProb(), solveSubNLP(), and updateMIP().

SCIP_RETCODE SCIPinterruptSolve ( SCIP scip)

informs SCIP that the solving process should be interrupted as soon as possible (e.g., after the current node has been solved)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
the SCIP stage does not get changed
Parameters
scipSCIP data structure

Definition at line 15442 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, Scip::stat, TRUE, and SCIP_Stat::userinterrupt.

Referenced by checkSolution(), and SCIP_DECL_EVENTEXEC().

SCIP_RETCODE SCIPrestartSolve ( SCIP scip)

informs SCIP that the solving process should be restarted as soon as possible (e.g., after the current node has been solved)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
the SCIP stage does not get changed
Parameters
scipSCIP data structure

Definition at line 15468 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, Scip::stat, TRUE, and SCIP_Stat::userrestart.

Referenced by SCIP_DECL_CONSINITLP(), and SCIP_DECL_EVENTEXEC().

SCIP_Bool SCIPisReoptEnabled ( SCIP scip)

returns whether reoptimization is enabled or not

Parameters
scipSCIP data structure

Definition at line 15481 of file scip.c.

References NULL, SCIP_Set::reopt_enable, and Scip::set.

Referenced by Exec(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECPS(), SCIP_DECL_EVENTEXITSOL(), SCIP_DECL_EVENTINITSOL(), and SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPgetReopSolsRun ( SCIP scip,
int  run,
SCIP_SOL **  sols,
int  solssize,
int *  nsols 
)

returns the stored solutions corresponding to a given run

Parameters
scipSCIP data structure
runnumber of the run
solsarray to store solutions
solssizesize of the array
nsolspointer to store number of solutions

Definition at line 15491 of file scip.c.

References NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPreoptGetSolsRun(), and Scip::set.

Referenced by SCIP_DECL_HEUREXEC().

void SCIPresetReoptSolMarks ( SCIP scip)

mark all stored solutions as not updated

Parameters
scipSCIP data structure

Definition at line 15517 of file scip.c.

References NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPreoptResetSolMarks(), and Scip::set.

Referenced by SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPcheckReoptRestart ( SCIP scip,
SCIP_NODE node,
SCIP_Bool restart 
)

check if the reoptimization process should be restarted

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodecurrent node of the branch and bound tree (or NULL)
restartpointer to store of the reoptimitation process should be restarted

Definition at line 15541 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Prob::nvars, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPreoptCheckRestart(), Scip::set, Scip::transprob, TRUE, and SCIP_Prob::vars.

Referenced by Exec().

SCIP_Real SCIPgetReoptSimilarity ( SCIP scip,
int  run1,
int  run2 
)

return the similarity between two objective functions

Parameters
scipSCIP data structure
run1number of run
run2number of run

Definition at line 15560 of file scip.c.

References SCIP_Stat::nreoptruns, NULL, SCIP_Prob::nvars, Scip::reopt, SCIPreoptGetSimilarity(), SCIPreoptGetSimToPrevious(), Scip::set, Scip::stat, Scip::transprob, and SCIP_Prob::vars.

Referenced by SCIP_DECL_BRANCHEXECLP(), and SCIP_DECL_HEUREXEC().

SCIP_Bool SCIPreoptimizeNode ( SCIP scip,
SCIP_NODE node 
)

returns if a node should be reoptimized

Parameters
scipSCIP data structure
nodenode of the search tree

Definition at line 15577 of file scip.c.

References FALSE, NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPgetReoptnode(), SCIPgetRootNode(), SCIPnodeGetReoptID(), SCIPreoptnodeGetNChildren(), and Scip::set.

Referenced by SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), and SCIP_DECL_BRANCHEXECPS().

SCIP_RETCODE SCIPdeleteReoptnode ( SCIP scip,
SCIP_REOPTNODE **  reoptnode 
)

deletes the given reoptimization node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
reoptnodenode of the reoptimization tree

Definition at line 15617 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPreoptnodeDelete(), Scip::set, and TRUE.

Referenced by SCIP_DECL_COMPREXIT().

SCIP_RETCODE SCIPsplitReoptRoot ( SCIP scip,
int *  ncreatedchilds,
int *  naddedconss 
)

splits the root into several nodes and moves the child nodes of the root to one of the created nodes

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
ncreatedchildspointer to store the number of created nodes
naddedconsspointer to store the number added constraints

Definition at line 15642 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Set::misc_permutationseed, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPreoptSplitRoot(), Scip::set, Scip::tree, and TRUE.

Referenced by Exec().

SCIP_RETCODE SCIPresetReoptnodeDualcons ( SCIP scip,
SCIP_NODE node 
)

remove the stored information about bound changes based in dual information

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodenode of the search tree

Definition at line 15669 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPreoptResetDualBndchgs(), Scip::set, and TRUE.

SCIP_Bool SCIPisInRestart ( SCIP scip)

returns whether we are in the restarting phase

Returns
TRUE, if we are in the restarting phase; FALSE, otherwise
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 15700 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::inrestart, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by copyCuts(), and SCIP_DECL_CONSINITSOL().

SCIP_RETCODE SCIPcreateVar ( SCIP scip,
SCIP_VAR **  var,
const char *  name,
SCIP_Real  lb,
SCIP_Real  ub,
SCIP_Real  obj,
SCIP_VARTYPE  vartype,
SCIP_Bool  initial,
SCIP_Bool  removable,
SCIP_DECL_VARDELORIG((*vardelorig))  ,
SCIP_DECL_VARTRANS((*vartrans))  ,
SCIP_DECL_VARDELTRANS((*vardeltrans))  ,
SCIP_DECL_VARCOPY((*varcopy))  ,
SCIP_VARDATA vardata 
)

creates and captures problem variable; if variable is of integral type, fractional bounds are automatically rounded; an integer variable with bounds zero and one is automatically converted into a binary variable;

Warning
When doing column generation and the original problem is a maximization problem, notice that SCIP will transform the problem into a minimization problem by multiplying the objective function by -1. Thus, the original objective function value of variables created during the solving process has to be multiplied by -1, too.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
the variable gets captured, hence at one point you have to release it using the method SCIPreleaseVar()
Parameters
scipSCIP data structure
varpointer to variable object
namename of variable, or NULL for automatic name creation
lblower bound of variable
ubupper bound of variable
objobjective function value
vartypetype of variable
initialshould var's column be present in the initial root LP?
removableis var's column removable from the LP (due to aging or cleanup)?
vardatauser data for this specific variable

Definition at line 15737 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, REALABS, SCIP_CALL, SCIP_INVALIDCALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPisInfinity(), SCIPvarCreateOriginal(), SCIPvarCreateTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, and TRUE.

Referenced by addExtendedAsymmetricFormulation(), addExtendedFlowFormulation(), applyFixings(), consdataCreateBinvars(), createAndAddAndCons(), createCoveringProblem(), createObjRow(), createRelaxation(), createSubSCIP(), createSubscip(), createVariable(), getVariable(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveCreateOuterApprox(), presolveDisaggregate(), presolveFindDuplicates(), presolveTryAddAND(), presolveTryAddLinearReform(), readBounds(), readCnf(), readCols(), readIndicators(), readNonlinearExprs(), readObjective(), readQMatrix(), readQuadraticCoefs(), readVariables(), reformMonomial(), reformNode2Var(), reformulate(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NONLINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_READERREAD(), SCIPcreateConsIndicator(), SCIPcreateFiniteSolCopy(), SCIPcreateObjVar(), SCIPcreateVarBasic(), SCIPtransformMinUC(), setObjective(), and tightenCoefs().

SCIP_RETCODE SCIPcreateVarBasic ( SCIP scip,
SCIP_VAR **  var,
const char *  name,
SCIP_Real  lb,
SCIP_Real  ub,
SCIP_Real  obj,
SCIP_VARTYPE  vartype 
)

creates and captures problem variable with optional callbacks and variable data set to NULL, which can be set afterwards using SCIPvarSetDelorigData(), SCIPvarSetTransData(), SCIPvarSetDeltransData(), SCIPvarSetCopy(), and SCIPvarSetData(); sets variable flags initial=TRUE and removable = FALSE, which can be adjusted by using SCIPvarSetInitial() and SCIPvarSetRemovable(), resp.; if variable is of integral type, fractional bounds are automatically rounded; an integer variable with bounds zero and one is automatically converted into a binary variable;

Warning
When doing column generation and the original problem is a maximization problem, notice that SCIP will transform the problem into a minimization problem by multiplying the objective function by -1. Thus, the original objective function value of variables created during the solving process has to be multiplied by -1, too.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
the variable gets captured, hence at one point you have to release it using the method SCIPreleaseVar()
Parameters
scipSCIP data structure
varpointer to variable object
namename of variable, or NULL for automatic name creation
lblower bound of variable
ubupper bound of variable
objobjective function value
vartypetype of variable

Definition at line 15817 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateVar(), and TRUE.

Referenced by createConstraints(), createMIP(), readObjective(), SCIP_DECL_QUADCONSUPGD(), and SCIP_DECL_SOLVECUMULATIVE().

SCIP_RETCODE SCIPwriteVarName ( SCIP scip,
FILE *  file,
SCIP_VAR var,
SCIP_Bool  type 
)

outputs the variable name to the file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
fileoutput file, or NULL for stdout
varvariable to output
typeshould the variable type be also posted

Definition at line 15853 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_BINARY_CHAR, SCIP_VARTYPE_CONTINUOUS_CHAR, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_IMPLINT_CHAR, SCIP_VARTYPE_INTEGER, SCIP_VARTYPE_INTEGER_CHAR, SCIPgetNegatedVar(), SCIPinfoMessage(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarIsNegated(), and TRUE.

Referenced by consdataPrint(), SCIP_DECL_CONSPRINT(), SCIPwriteVarsLinearsum(), SCIPwriteVarsList(), and SCIPwriteVarsPolynomial().

SCIP_RETCODE SCIPwriteVarsList ( SCIP scip,
FILE *  file,
SCIP_VAR **  vars,
int  nvars,
SCIP_Bool  type,
char  delimiter 
)

print the given list of variables to output stream separated by the given delimiter character;

i. e. the variables x1, x2, ..., xn with given delimiter ',' are written as: <x1>, <x2>, ..., <xn>;

the method SCIPparseVarsList() can parse such a string

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The printing process is done via the message handler system.
Parameters
scipSCIP data structure
fileoutput file, or NULL for stdout
varsvariable array to output
nvarsnumber of variables
typeshould the variable type be also posted
delimitercharacter which is used for delimitation

Definition at line 15915 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPinfoMessage(), SCIPwriteVarName(), and TRUE.

Referenced by consdataPrint().

SCIP_RETCODE SCIPwriteVarsLinearsum ( SCIP scip,
FILE *  file,
SCIP_VAR **  vars,
SCIP_Real vals,
int  nvars,
SCIP_Bool  type 
)

print the given variables and coefficients as linear sum in the following form c1 <x1> + c2 <x2> ... + cn <xn>

This string can be parsed by the method SCIPparseVarsLinearsum().

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The printing process is done via the message handler system.
Parameters
scipSCIP data structure
fileoutput file, or NULL for stdout
varsvariable array to output
valsarray of coefficients or NULL if all coefficients are 1.0
nvarsnumber of variables
typeshould the variable type be also posted

Definition at line 15966 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPinfoMessage(), SCIPwriteVarName(), and TRUE.

Referenced by consdataPrint().

SCIP_RETCODE SCIPwriteVarsPolynomial ( SCIP scip,
FILE *  file,
SCIP_VAR ***  monomialvars,
SCIP_Real **  monomialexps,
SCIP_Real monomialcoefs,
int *  monomialnvars,
int  nmonomials,
SCIP_Bool  type 
)

print the given monomials as polynomial in the following form c1 <x11>^e11 <x12>^e12 ... <x1n>^e1n + c2 <x21>^e21 <x22>^e22 ... + ... + cn <xn1>^en1 ...

This string can be parsed by the method SCIPparseVarsPolynomial().

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The printing process is done via the message handler system.
Parameters
scipSCIP data structure
fileoutput file, or NULL for stdout
monomialvarsarrays with variables for each monomial
monomialexpsarrays with variable exponents, or NULL if always 1.0
monomialcoefsarray with monomial coefficients
monomialnvarsarray with number of variables for each monomial
nmonomialsnumber of monomials
typeshould the variable type be also posted

Definition at line 16027 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPinfoMessage(), SCIPwriteVarName(), and TRUE.

Referenced by SCIP_DECL_CONSPRINT().

SCIP_RETCODE SCIPparseVar ( SCIP scip,
SCIP_VAR **  var,
const char *  str,
SCIP_Bool  initial,
SCIP_Bool  removable,
SCIP_DECL_VARCOPY((*varcopy))  ,
SCIP_DECL_VARDELORIG((*vardelorig))  ,
SCIP_DECL_VARTRANS((*vartrans))  ,
SCIP_DECL_VARDELTRANS((*vardeltrans))  ,
SCIP_VARDATA vardata,
char **  endptr,
SCIP_Bool success 
)

parses variable information (in cip format) out of a string; if the parsing process was successful a variable is created and captured; if variable is of integral type, fractional bounds are automatically rounded; an integer variable with bounds zero and one is automatically converted into a binary variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varpointer to store the problem variable
strstring to parse
initialshould var's column be present in the initial root LP?
removableis var's column removable from the LP (due to aging or cleanup)?
vardatauser data for this specific variable
endptrpointer to store the final string position if successful
successpointer store if the paring process was successful

Definition at line 16097 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPvarParseOriginal(), SCIPvarParseTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, and TRUE.

Referenced by getFixedVariable(), and getVariable().

SCIP_RETCODE SCIPparseVarName ( SCIP scip,
const char *  str,
SCIP_VAR **  var,
char **  endptr 
)

parses the given string for a variable name and stores the variable in the corresponding pointer if such a variable exits and returns the position where the parsing stopped

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
strstring to parse
varpointer to store the problem variable, or NULL if it does not exit
endptrpointer to store the final string position if successful

Definition at line 16156 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_VARTYPE_BINARY_CHAR, SCIP_VARTYPE_CONTINUOUS_CHAR, SCIP_VARTYPE_IMPLINT_CHAR, SCIP_VARTYPE_INTEGER_CHAR, SCIPdebugMessage, SCIPerrorMessage, SCIPfindVar(), SCIPgetNegatedVar(), SCIPstrCopySection(), and TRUE.

Referenced by getFixedVariable(), SCIP_DECL_CONSPARSE(), SCIPparseVarsList(), and SCIPparseVarsPolynomial().

SCIP_RETCODE SCIPparseVarsList ( SCIP scip,
const char *  str,
SCIP_VAR **  vars,
int *  nvars,
int  varssize,
int *  requiredsize,
char **  endptr,
char  delimiter,
SCIP_Bool success 
)

parse the given string as variable list (here ',' is the delimiter)) (<x1>, <x2>, ..., <xn>) (see SCIPwriteVarsList() ); if it was successful, the pointer success is set to TRUE

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The pointer success in only set to FALSE in the case that a variable with a parsed variable name does not exist.
If the number of (parsed) variables is greater than the available slots in the variable array, nothing happens except that the required size is stored in the corresponding integer; the reason for this approach is that we cannot reallocate memory, since we do not know how the memory has been allocated (e.g., by a C++ 'new' or SCIP memory functions).
Parameters
scipSCIP data structure
strstring to parse
varsarray to store the parsed variable
nvarspointer to store number of parsed variables
varssizesize of the variable array
requiredsizepointer to store the required array size for the active variables
endptrpointer to store the final string position if successful
delimitercharacter which is used for delimitation
successpointer to store the whether the parsing was successful or not

Definition at line 16233 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPdebugMessage, SCIPfreeBufferArray, SCIPparseVarName(), SCIPvarGetName(), and TRUE.

Referenced by SCIP_DECL_CONSPARSE().

SCIP_RETCODE SCIPparseVarsLinearsum ( SCIP scip,
const char *  str,
SCIP_VAR **  vars,
SCIP_Real vals,
int *  nvars,
int  varssize,
int *  requiredsize,
char **  endptr,
SCIP_Bool success 
)

parse the given string as linear sum of variables and coefficients (c1 <x1> + c2 <x2> + ... + cn <xn>) (see SCIPwriteVarsLinearsum() ); if it was successful, the pointer success is set to TRUE

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The pointer success in only set to FALSE in the case that a variable with a parsed variable name does not exist.
If the number of (parsed) variables is greater than the available slots in the variable array, nothing happens except that the required size is stored in the corresponding integer; the reason for this approach is that we cannot reallocate memory, since we do not know how the memory has been allocated (e.g., by a C++ 'new' or SCIP memory functions).
Parameters
scipSCIP data structure
strstring to parse
varsarray to store the parsed variables
valsarray to store the parsed coefficients
nvarspointer to store number of parsed variables
varssizesize of the variable array
requiredsizepointer to store the required array size for the active variables
endptrpointer to store the final string position if successful
successpointer to store the whether the parsing was successful or not

Definition at line 16332 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPfreeParseVarsPolynomialData(), SCIPparseVarsPolynomial(), and TRUE.

Referenced by getFixedVariable(), and SCIP_DECL_CONSPARSE().

SCIP_RETCODE SCIPparseVarsPolynomial ( SCIP scip,
const char *  str,
SCIP_VAR ****  monomialvars,
SCIP_Real ***  monomialexps,
SCIP_Real **  monomialcoefs,
int **  monomialnvars,
int *  nmonomials,
char **  endptr,
SCIP_Bool success 
)

parse the given string as polynomial of variables and coefficients (c1 <x11>^e11 <x12>^e12 ... <x1n>^e1n + c2 <x21>^e21 <x22>^e22 ... + ... + cn <xn1>^en1 ...) (see SCIPwriteVarsPolynomial()); if it was successful, the pointer success is set to TRUE

The user has to call SCIPfreeParseVarsPolynomialData(scip, monomialvars, monomialexps, monomialcoefs, monomialnvars, *nmonomials) short after SCIPparseVarsPolynomial to free all the allocated memory again. Do not keep the arrays created by SCIPparseVarsPolynomial around, since they use buffer memory that is intended for short term use only.

Parsing is stopped at the end of string (indicated by the \0-character) or when no more monomials are recognized.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
strstring to parse
monomialvarspointer to store arrays with variables for each monomial
monomialexpspointer to store arrays with variable exponents
monomialcoefspointer to store array with monomial coefficients
monomialnvarspointer to store array with number of variables for each monomial
nmonomialspointer to store number of parsed monomials
endptrpointer to store the final string position if successful
successpointer to store the whether the parsing was successful or not

Definition at line 16442 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIPcalcMemGrowSize(), SCIPdebugMessage, SCIPduplicateBufferArray, SCIPerrorMessage, SCIPfreeBufferArrayNull, SCIPfreeParseVarsPolynomialData(), SCIPparseVarName(), SCIPreallocBufferArray, SCIPstrToRealValue(), and TRUE.

Referenced by SCIP_DECL_CONSPARSE(), and SCIPparseVarsLinearsum().

void SCIPfreeParseVarsPolynomialData ( SCIP scip,
SCIP_VAR ****  monomialvars,
SCIP_Real ***  monomialexps,
SCIP_Real **  monomialcoefs,
int **  monomialnvars,
int  nmonomials 
)

frees memory allocated when parsing a polynomial from a string

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
monomialvarspointer to store arrays with variables for each monomial
monomialexpspointer to store arrays with variable exponents
monomialcoefspointer to store array with monomial coefficients
monomialnvarspointer to store array with number of variables for each monomial
nmonomialspointer to store number of parsed monomials

Definition at line 16794 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIPfreeBufferArray, SCIPfreeBufferArrayNull, and TRUE.

Referenced by SCIP_DECL_CONSPARSE(), SCIPparseVarsLinearsum(), and SCIPparseVarsPolynomial().

SCIP_RETCODE SCIPreleaseVar ( SCIP scip,
SCIP_VAR **  var 
)

decreases usage counter of variable, if the usage pointer reaches zero the variable gets freed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
the pointer of the variable will be NULLed
Parameters
scipSCIP data structure
varpointer to variable

Definition at line 16884 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPvarIsTransformed(), SCIPvarRelease(), Scip::set, SCIP_Set::stage, and TRUE.

Referenced by applyFixings(), applyProbing(), cleanupHashDatas(), consdataFree(), correctConshdlrdata(), createAndAddAndCons(), createSubSCIP(), createVariable(), delCoefPos(), delLinearCoefPos(), delQuadVarTermPos(), freeSortedvars(), freeSubSCIP(), freeSubscip(), freeTransform(), getFixedVariable(), getVariable(), presolRoundIndicator(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveCreateOuterApprox(), presolveDisaggregate(), presolveFindDuplicates(), presolveRemoveFixedVariables(), presolveTryAddAND(), presolveTryAddLinearReform(), propdataExit(), readBounds(), readCnf(), readCols(), readNonlinearExprs(), readObjective(), readQMatrix(), readQuadraticCoefs(), reformMonomial(), reformNode2Var(), reformulate(), releaseHashmapEntries(), replaceQuadVarTermPos(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSEXIT(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_EXPRGRAPHVARREMOVE(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NONLINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_READERREAD(), SCIP_DECL_SEPAEXIT(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyUndercover(), SCIPcomputeCoverUndercover(), SCIPcreateConsIndicator(), SCIPcreateFiniteSolCopy(), SCIPgetVarCopy(), SCIPtransformMinUC(), searchEcAggr(), setIntvar(), setObjective(), tcliquegraphFree(), tightenCoefs(), and transformToOrig().

SCIP_RETCODE SCIPchgVarName ( SCIP scip,
SCIP_VAR var,
const char *  name 
)

changes the name of a variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_PROBLEM
Note
to get the current name of a variable, use SCIPvarGetName() from pub_var.h
Parameters
scipSCIP data structure
varvariable
namenew name of constraint

Definition at line 16935 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIPABORT, SCIPblkmem(), SCIPerrorMessage, SCIPgetStage(), SCIPprobAddVarName(), SCIPprobRemoveVarName(), SCIPvarChgName(), SCIPvarGetProbindex(), and TRUE.

SCIP_RETCODE SCIPtransformVar ( SCIP scip,
SCIP_VAR var,
SCIP_VAR **  transvar 
)

gets and captures transformed variable of a given variable; if the variable is not yet transformed, a new transformed variable for this variable is created

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get/create transformed variable for
transvarpointer to store the transformed variable

Definition at line 16985 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Prob::objsense, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPvarCapture(), SCIPvarIsTransformed(), SCIPvarTransform(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPtransformVars ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
SCIP_VAR **  transvars 
)

gets and captures transformed variables for an array of variables; if a variable of the array is not yet transformed, a new transformed variable for this variable is created; it is possible to call this method with vars == transvars

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nvarsnumber of variables to get/create transformed variables for
varsarray with variables to get/create transformed variables for
transvarsarray to store the transformed variables

Definition at line 17025 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Prob::objsense, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPvarCapture(), SCIPvarIsTransformed(), SCIPvarTransform(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPgetTransformedVar ( SCIP scip,
SCIP_VAR var,
SCIP_VAR **  transvar 
)

gets corresponding transformed variable of a given variable; returns NULL as transvar, if transformed variable is not yet existing

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get transformed variable for
transvarpointer to store the transformed variable

Definition at line 17075 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPvarGetTransformed(), SCIPvarIsTransformed(), Scip::set, Scip::stat, and TRUE.

Referenced by addCoef(), addLinearCoef(), addQuadVarTerm(), addVarSOS1(), addVarSOS2(), appendVarSOS1(), appendVarSOS2(), consdataCreate(), consdataCreateSuperindicator(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSTRANS(), SCIP_DECL_DIALOGEXEC(), SCIPchgVarType(), SCIPcreateConsSOS1(), SCIPsetBinaryVarIndicator(), and setIntvar().

SCIP_RETCODE SCIPgetTransformedVars ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
SCIP_VAR **  transvars 
)

gets corresponding transformed variables for an array of variables; stores NULL in a transvars slot, if the transformed variable is not yet existing; it is possible to call this method with vars == transvars, but remember that variables that are not yet transformed will be replaced with NULL

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nvarsnumber of variables to get transformed variables for
varsarray with variables to get transformed variables for
transvarsarray to store the transformed variables

Definition at line 17116 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPvarGetTransformed(), SCIPvarIsTransformed(), Scip::set, Scip::stat, and TRUE.

Referenced by consdataCreate(), SCIP_DECL_CONSTRANS(), and SCIPgetExprtreeTransformedVars().

SCIP_RETCODE SCIPgetNegatedVar ( SCIP scip,
SCIP_VAR var,
SCIP_VAR **  negvar 
)

gets negated variable x' = lb + ub - x of variable x; negated variable is created, if not yet existing; in difference to SCIPcreateVar, the negated variable must not be released (unless captured explicitly)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get negated variable for
negvarpointer to store the negated variable

Definition at line 17163 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPvarNegate(), Scip::set, Scip::stat, and TRUE.

Referenced by applyFixings(), checkForOverlapping(), cliquePresolve(), consdataLinearize(), createAndAddLinearCons(), createConflict(), createCoveringProblem(), createIndicatorConstraint(), createNormalizedKnapsack(), createNormalizedLogicor(), createNormalizedSetppc(), createSubSCIP(), CUTOFF_CONSTRAINT(), extendToCover(), extractGates(), fixDeleteOrUpgradeCons(), forbidCover(), forbidFixation(), getBinVarsRepresentatives(), getVariableOrTerm(), printIndicatorCons(), readCnf(), readIndicators(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSPARSE(), SCIP_DECL_LINCONSUPGD(), SCIPcalcNegatedCliquePartition(), SCIPgetBinvarRepresentative(), SCIPgetBinvarRepresentatives(), SCIPgetVarCopy(), SCIPparseVarName(), SCIPseparateRelaxedKnapsack(), SCIPtransformMinUC(), SCIPwriteVarName(), tcliquegraphAddNode(), upgradeCons(), and upgradeConss().

SCIP_RETCODE SCIPgetNegatedVars ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
SCIP_VAR **  negvars 
)

gets negated variables x' = lb + ub - x of variables x; negated variables are created, if not yet existing

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nvarsnumber of variables to get negated variables for
varsarray of variables to get negated variables for
negvarsarray to store the negated variables

Definition at line 17196 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPvarNegate(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPgetBinvarRepresentative ( SCIP scip,
SCIP_VAR var,
SCIP_VAR **  repvar,
SCIP_Bool negated 
)

gets a binary variable that is equal to the given binary variable, and that is either active, fixed, or multi-aggregated, or the negated variable of an active, fixed, or multi-aggregated variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varbinary variable to get binary representative for
repvarpointer to store the binary representative
negatedpointer to store whether the negation of an active variable was returned

Definition at line 17233 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPgetNegatedVar(), SCIPvarGetProbvarBinary(), and TRUE.

Referenced by applyFixings(), binvarGetActiveProbindex(), cleanupHashDatas(), consdataPrint(), correctPresoldata(), createCoveringProblem(), createPresoldata(), extractGates(), getBinVarsRepresentatives(), and writeOpbRelevantAnds().

SCIP_RETCODE SCIPgetBinvarRepresentatives ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
SCIP_VAR **  repvars,
SCIP_Bool negated 
)

gets binary variables that are equal to the given binary variables, and which are either active, fixed, or multi-aggregated, or the negated variables of active, fixed, or multi-aggregated variables

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nvarsnumber of binary variables to get representatives for
varsbinary variables to get binary representatives for
repvarsarray to store the binary representatives
negatedarray to store whether the negation of an active variable was returned

Definition at line 17280 of file scip.c.

References BMSclearMemoryArray, BMScopyMemoryArray, checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPgetNegatedVar(), SCIPvarsGetProbvarBinary(), and TRUE.

Referenced by applyFixings(), checkSolution(), consdataLinearize(), findAggregation(), printPseudobooleanCons(), and tryUpgradingXor().

SCIP_RETCODE SCIPflattenVarAggregationGraph ( SCIP scip,
SCIP_VAR var 
)

flattens aggregation graph of multi-aggregated variable in order to avoid exponential recursion later on

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 17329 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPvarFlattenAggregationGraph(), Scip::set, and TRUE.

Referenced by applyFixings(), fixVariableZero(), SCIP_DECL_READERWRITE(), and SCIPgetVarCopy().

SCIP_RETCODE SCIPgetProbvarLinearSum ( SCIP scip,
SCIP_VAR **  vars,
SCIP_Real scalars,
int *  nvars,
int  varssize,
SCIP_Real constant,
int *  requiredsize,
SCIP_Bool  mergemultiples 
)

Transforms a given linear sum of variables, that is a_1*x_1 + ... + a_n*x_n + c into a corresponding linear sum of active variables, that is b_1*y_1 + ... + b_m*y_m + d.

If the number of needed active variables is greater than the available slots in the variable array, nothing happens except that the required size is stored in the corresponding variable (requiredsize). Otherwise, the active variable representation is stored in the variable array, scalar array and constant.

The reason for this approach is that we cannot reallocate memory, since we do not know how the memory has been allocated (e.g., by a C++ 'new' or SCIP functions).

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The resulting linear sum is stored into the given variable array, scalar array, and constant. That means the given entries are overwritten.
That method can be used to convert a single variables into variable space of active variables. Therefore call the method with the linear sum 1.0*x + 0.0.
Parameters
scipSCIP data structure
varsvariable array x_1, ..., x_n in the linear sum which will be overwritten by the variable array y_1, ..., y_m in the linear sum w.r.t. active variables
scalarsscalars a_1, ..., a_n in linear sum which will be overwritten to the scalars b_1, ..., b_m in the linear sum of the active variables
nvarspointer to number of variables in the linear sum which will be overwritten by the number of variables in the linear sum corresponding to the active variables
varssizeavailable slots in vars and scalars array which is needed to check if the array are large enough for the linear sum w.r.t. active variables
constantpointer to constant c in linear sum a_1*x_1 + ... + a_n*x_n + c which will chnage to constant d in the linear sum b_1*y_1 + ... + b_m*y_m + d w.r.t. the active variables
requiredsizepointer to store the required array size for the linear sum w.r.t. the active variables
mergemultiplesshould multiple occurrences of a var be replaced by a single coeff?

Definition at line 17373 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPvarGetActiveRepresentatives(), Scip::set, and TRUE.

Referenced by applyFixings(), correctConshdlrdata(), getActiveVariables(), getLinearCoeffs(), removeFixedNonlinearVariables(), SCIPaddCoefLinear(), SCIPcopyConsLinear(), SCIPcreateConsLinear(), tightenVarsBoundsSOS1(), tryUpgradingXor(), and writeExpandedSolutions().

SCIP_RETCODE SCIPgetProbvarSum ( SCIP scip,
SCIP_VAR **  var,
SCIP_Real scalar,
SCIP_Real constant 
)

transforms given variable, scalar and constant to the corresponding active, fixed, or multi-aggregated variable, scalar and constant; if the variable resolves to a fixed variable, "scalar" will be 0.0 and the value of the sum will be stored in "constant"; a multi-aggregation with only one active variable (this can happen due to fixings after the multi-aggregation), is treated like an aggregation; if the multi-aggregation constant is infinite, "scalar" will be 0.0

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varpointer to problem variable x in sum a*x + c
scalarpointer to scalar a in sum a*x + c
constantpointer to constant c in sum a*x + c

Definition at line 17429 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPvarGetProbvarSum(), Scip::set, and TRUE.

Referenced by addAltLPConstraint(), addVarbound(), applyFixings(), checkFixedVariables(), createSolFromSubScipSol(), getActiveVar(), initData(), presolRoundConsSOS1(), presolRoundSOS2(), presolveRemoveFixedVariables(), removeFixedLinearVariables(), removeFixedVariables(), and SCIP_DECL_PARAMCHGD().

SCIP_RETCODE SCIPgetActiveVars ( SCIP scip,
SCIP_VAR **  vars,
int *  nvars,
int  varssize,
int *  requiredsize 
)

return for given variables all their active counterparts; all active variables will be pairwise different

Note
It does not hold that the first output variable is the active variable for the first input variable.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varsvariable array with given variables and as output all active variables, if enough slots exist
nvarsnumber of given variables, and as output number of active variables, if enough slots exist
varssizeavailable slots in vars array
requiredsizepointer to store the required array size for the active variables

Definition at line 17465 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPvarsGetActiveVars(), Scip::set, and TRUE.

Referenced by fillDigraph(), and getActiveVariables2().

SCIP_Real SCIPgetVarRedcost ( SCIP scip,
SCIP_VAR var 
)

returns the reduced costs of the variable in the current node's LP relaxation; the current node has to have a feasible LP.

returns SCIP_INVALID if the variable is active but not in the current LP; returns 0 if the variable has been aggregated out or fixed in presolving.

Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
varvariable to get reduced costs, should be a column in current node LP

Definition at line 17497 of file scip.c.

References SCIP_Var::data, NULL, SCIP_Var::original, SCIP_Var::scip, SCIP_INVALID, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPgetColRedcost(), SCIPgetVarRedcost(), SCIPvarGetCol(), SCIPvarGetStatus(), and SCIP_Original::transvar.

Referenced by propagateRedcostBinvar(), propagateRootRedcostBinvar(), SCIP_DECL_BRANCHEXECLP(), and SCIPgetVarRedcost().

SCIP_Real SCIPgetVarImplRedcost ( SCIP scip,
SCIP_VAR var,
SCIP_Bool  varfixing 
)

returns the implied reduced costs of the variable in the current node's LP relaxation; the current node has to have a feasible LP.

returns SCIP_INVALID if the variable is active but not in the current LP; returns 0 if the variable has been aggregated out or fixed in presolving.

Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
varvariable to get reduced costs, should be a column in current node LP
varfixingFALSE if for x == 0, TRUE for x == 1

Definition at line 17540 of file scip.c.

References SCIP_Var::data, Scip::lp, NULL, SCIP_Var::original, SCIP_Var::scip, SCIP_INVALID, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPgetVarImplRedcost(), SCIPvarGetImplRedcost(), SCIPvarGetStatus(), Scip::set, Scip::stat, Scip::transprob, and SCIP_Original::transvar.

Referenced by propagateRedcostBinvar(), propagateRootRedcostBinvar(), and SCIPgetVarImplRedcost().

SCIP_Real SCIPgetVarFarkasCoef ( SCIP scip,
SCIP_VAR var 
)

returns the Farkas coefficient of the variable in the current node's LP relaxation; the current node has to have an infeasible LP.

returns SCIP_INVALID if the variable is active but not in the current LP; returns 0 if the variable has been aggregated out or fixed in presolving.

Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
varvariable to get reduced costs, should be a column in current node LP

Definition at line 17585 of file scip.c.

References SCIP_Var::data, NULL, SCIP_Var::original, SCIP_Var::scip, SCIP_INVALID, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPgetColFarkasCoef(), SCIPgetVarFarkasCoef(), SCIPvarGetCol(), SCIPvarGetStatus(), and SCIP_Original::transvar.

Referenced by SCIPgetVarFarkasCoef().

SCIP_Real SCIPgetVarSol ( SCIP scip,
SCIP_VAR var 
)

gets solution value for variable in current node

Returns
solution value for variable in current node
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get solution value for

Definition at line 17628 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPtreeHasCurrentNodeLP(), SCIPvarGetSol(), Scip::tree, and TRUE.

Referenced by createSubscip(), fixVariable(), performBranching(), proposeBranchingPoint(), SCIP_DECL_SEPAEXECLP(), and separateIISRounding().

SCIP_RETCODE SCIPgetVarSols ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real vals 
)

gets solution values of multiple variables in current node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nvarsnumber of variables to get solution value for
varsarray with variables to get value for
valsarray to store solution values of variables

Definition at line 17648 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPtreeHasCurrentNodeLP(), SCIPvarGetLPSol(), SCIPvarGetPseudoSol(), Scip::tree, and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP(), and SCIPgetSolVals().

SCIP_RETCODE SCIPclearRelaxSolVals ( SCIP scip)

sets the solution value of all variables in the global relaxation solution to zero

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 17685 of file scip.c.

References checkStage(), FALSE, NULL, Scip::relaxation, SCIP_CALL, SCIP_OKAY, SCIPgetVarsData(), SCIPrelaxationIsSolZero(), SCIPrelaxationSetSolObj(), SCIPrelaxationSetSolZero(), SCIPvarSetRelaxSol(), Scip::set, and TRUE.

Referenced by SCIPsetRelaxSolVals(), and SCIPsetRelaxSolValsSol().

SCIP_RETCODE SCIPsetRelaxSolVal ( SCIP scip,
SCIP_VAR var,
SCIP_Real  val 
)

sets the value of the given variable in the global relaxation solution; this solution can be filled by the relaxation handlers and can be used by heuristics and for separation; You can use SCIPclearRelaxSolVals() to set all values to zero, initially; after setting all solution values, you have to call SCIPmarkRelaxSolValid() to inform SCIP that the stored solution is valid

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to set value for
valsolution value of variable

Definition at line 17727 of file scip.c.

References checkStage(), FALSE, NULL, Scip::relaxation, SCIP_CALL, SCIP_OKAY, SCIPrelaxationSetSolValid(), SCIPrelaxationSetSolZero(), SCIPvarSetRelaxSol(), Scip::set, and TRUE.

SCIP_RETCODE SCIPsetRelaxSolVals ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real vals 
)

sets the values of the given variables in the global relaxation solution; this solution can be filled by the relaxation handlers and can be used by heuristics and for separation; the solution is automatically cleared, s.t. all other variables get value 0.0

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nvarsnumber of variables to set relaxation solution value for
varsarray with variables to set value for
valsarray with solution values of variables

Definition at line 17757 of file scip.c.

References checkStage(), FALSE, NULL, Scip::relaxation, SCIP_CALL, SCIP_OKAY, SCIPclearRelaxSolVals(), SCIPrelaxationSetSolValid(), SCIPrelaxationSetSolZero(), SCIPvarSetRelaxSol(), Scip::set, and TRUE.

SCIP_RETCODE SCIPsetRelaxSolValsSol ( SCIP scip,
SCIP_SOL sol 
)

sets the values of the variables in the global relaxation solution to the values in the given primal solution; the relaxation solution can be filled by the relaxation hanlders and might be used by heuristics and for separation

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solprimal relaxation solution

Definition at line 17796 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, Scip::relaxation, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPclearRelaxSolVals(), SCIPfreeBufferArray, SCIPgetSolVals(), SCIPgetVarsData(), SCIPrelaxationSetSolObj(), SCIPrelaxationSetSolValid(), SCIPrelaxationSetSolZero(), SCIPsolGetObj(), SCIPvarSetRelaxSol(), Scip::set, Scip::transprob, and TRUE.

SCIP_Bool SCIPisRelaxSolValid ( SCIP scip)

returns whether the relaxation solution is valid

Returns
TRUE, if the relaxation solution is valid; FALSE, otherwise
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 17841 of file scip.c.

References checkStage(), FALSE, NULL, Scip::relaxation, SCIP_CALL_ABORT, SCIPrelaxationIsSolValid(), and TRUE.

Referenced by performRelaxSimpleRounding(), and SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPmarkRelaxSolValid ( SCIP scip)

informs SCIP, that the relaxation solution is valid

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 17861 of file scip.c.

References checkStage(), FALSE, NULL, Scip::relaxation, SCIP_CALL, SCIP_OKAY, SCIPrelaxationSetSolValid(), and TRUE.

SCIP_RETCODE SCIPmarkRelaxSolInvalid ( SCIP scip)

informs SCIP, that the relaxation solution is invalid

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 17883 of file scip.c.

References checkStage(), FALSE, NULL, Scip::relaxation, SCIP_CALL, SCIP_OKAY, SCIPrelaxationSetSolValid(), and TRUE.

SCIP_Real SCIPgetRelaxSolVal ( SCIP scip,
SCIP_VAR var 
)

gets the relaxation solution value of the given variable

Returns
the relaxation solution value of the given variable
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get value for

Definition at line 17904 of file scip.c.

References checkStage(), FALSE, NULL, Scip::relaxation, SCIP_Var::scip, SCIP_CALL_ABORT, SCIP_INVALID, SCIPABORT, SCIPerrorMessage, SCIPrelaxationIsSolValid(), SCIPvarGetRelaxSol(), Scip::set, and TRUE.

Referenced by performRelaxSimpleRounding().

SCIP_Real SCIPgetRelaxSolObj ( SCIP scip)

gets the relaxation solution objective value

Returns
the objective value of the relaxation solution
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 17933 of file scip.c.

References checkStage(), FALSE, NULL, Scip::relaxation, SCIP_CALL_ABORT, SCIP_INVALID, SCIPABORT, SCIPerrorMessage, SCIPrelaxationGetSolObj(), SCIPrelaxationIsSolValid(), and TRUE.

SCIP_RETCODE SCIPstartStrongbranch ( SCIP scip,
SCIP_Bool  enablepropagation 
)

start strong branching - call before any strong branching

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
if propagation is enabled, strong branching is not done directly on the LP, but probing nodes are created which allow to perform propagation but also creates some overhead
Parameters
scipSCIP data structure
enablepropagationshould propagation be done before solving the strong branching LP?

Definition at line 17963 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_Stat::lpcount, Scip::mem, SCIP_Stat::nsbdivinglps, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPdebugMessage, SCIPerrorMessage, SCIPinProbing(), SCIPlpDiving(), SCIPlpStartStrongbranch(), SCIPlpStartStrongbranchProbing(), SCIPtreeProbing(), SCIPtreeStartProbing(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by execRelpscost(), SCIPselectVarPseudoStrongBranching(), and SCIPselectVarStrongBranching().

SCIP_RETCODE SCIPendStrongbranch ( SCIP scip)
static SCIP_RETCODE analyzeStrongbranch ( SCIP scip,
SCIP_VAR var,
SCIP_Bool downinf,
SCIP_Bool upinf,
SCIP_Bool downconflict,
SCIP_Bool upconflict 
)
static

analyze the strong branching for the given variable; that includes conflict analysis for infeasible branches and storing of root reduced cost information

Parameters
scipSCIP data structure
varvariable to analyze
downinfpointer to store whether the downwards branch is infeasible, or NULL
upinfpointer to store whether the upwards branch is infeasible, or NULL
downconflictpointer to store whether a conflict constraint was created for an infeasible downwards branch, or NULL
upconflictpointer to store whether a conflict constraint was created for an infeasible upwards branch, or NULL

Definition at line 18111 of file scip.c.

References Scip::branchcand, Scip::cliquetable, SCIP_Set::conf_enable, SCIP_Set::conf_usesb, Scip::conflict, SCIP_Lp::cutoffbound, Scip::eventqueue, SCIP_Col::lb, Scip::lp, Scip::mem, SCIP_Set::nconflicthdlrs, NULL, Scip::origprob, SCIP_Col::primsol, SCIP_Mem::probmem, Scip::reopt, SCIP_Col::sbdown, SCIP_Col::sbdownvalid, SCIP_Col::sbup, SCIP_Col::sbupvalid, SCIP_Bool, SCIP_CALL, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIPconflictAnalyzeStrongbranch(), SCIPgetLPSolstat(), SCIPlpGetObjval(), SCIPsetFeasCeil(), SCIPsetFeasFloor(), SCIPsetIsGE(), SCIPtreeGetCurrentDepth(), SCIPvarGetCol(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), SCIPvarUpdateBestRootSol(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and SCIP_Col::ub.

Referenced by SCIPgetVarsStrongbranchesFrac(), SCIPgetVarsStrongbranchesInt(), SCIPgetVarStrongbranchFrac(), and SCIPgetVarStrongbranchInt().

SCIP_RETCODE SCIPgetVarStrongbranchFrac ( SCIP scip,
SCIP_VAR var,
int  itlim,
SCIP_Real down,
SCIP_Real up,
SCIP_Bool downvalid,
SCIP_Bool upvalid,
SCIP_Bool downinf,
SCIP_Bool upinf,
SCIP_Bool downconflict,
SCIP_Bool upconflict,
SCIP_Bool lperror 
)

gets strong branching information on column variable with fractional value

Before calling this method, the strong branching mode must have been activated by calling SCIPstartStrongbranch(); after strong branching was done for all candidate variables, the strong branching mode must be ended by SCIPendStrongbranch(). Since this method does not apply domain propagation before strongbranching, propagation should not be enabled in the SCIPstartStrongbranch() call.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get strong branching values for
itlimiteration limit for strong branchings
downstores dual bound after branching column down
upstores dual bound after branching column up
downvalidstores whether the returned down value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
upvalidstores whether the returned up value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
downinfpointer to store whether the downwards branch is infeasible, or NULL
upinfpointer to store whether the upwards branch is infeasible, or NULL
downconflictpointer to store whether a conflict constraint was created for an infeasible downwards branch, or NULL
upconflictpointer to store whether a conflict constraint was created for an infeasible upwards branch, or NULL
lperrorpointer to store whether an unresolved LP error occurred or the solving process should be stopped (e.g., due to a time limit)

Definition at line 18191 of file scip.c.

References analyzeStrongbranch(), checkStage(), FALSE, Scip::lp, SCIP_Set::misc_exactsolve, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPcolGetStrongbranch(), SCIPcolIsInLP(), SCIPerrorMessage, SCIPprobAllColsInLP(), SCIPsolveIsStopped(), SCIPtreeProbing(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by execRelpscost(), SCIPselectVarPseudoStrongBranching(), and SCIPselectVarStrongBranching().

static SCIP_RETCODE performStrongbranchWithPropagation ( SCIP scip,
SCIP_VAR var,
SCIP_Bool  down,
SCIP_Bool  firstchild,
SCIP_Bool  propagate,
SCIP_Real  newbound,
int  itlim,
int  maxproprounds,
SCIP_Real value,
SCIP_Bool valid,
SCIP_Longint ndomreductions,
SCIP_Bool conflict,
SCIP_Bool lperror,
SCIP_VAR **  vars,
int  nvars,
SCIP_Real newlbs,
SCIP_Real newubs,
SCIP_Bool foundsol,
SCIP_Bool cutoff 
)
static

create, solve, and evaluate a single strong branching child (for strong branching with propagation)

Parameters
scipSCIP data structure
varvariable to get strong branching values for
downdo we regard the down child?
firstchildis this the first of the two strong branching children?
propagateshould domain propagation be performed?
newboundnew bound to apply at the strong branching child
itlimiteration limit for strong branchings
maxproproundsmaximum number of propagation rounds (-1: no limit, -2: parameter settings)
valuestores dual bound for strong branching child
validstores whether the returned value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
ndomreductionspointer to store the number of domain reductions found, or NULL
conflictpointer to store whether a conflict constraint was created for an infeasible strong branching child, or NULL
lperrorpointer to store whether an unresolved LP error occurred or the solving process should be stopped (e.g., due to a time limit)
varsactive problem variables
nvarsnumber of active problem variables
newlbsarray to store valid lower bounds for all active variables, or NULL
newubsarray to store valid upper bounds for all active variables, or NULL
foundsolpointer to store whether a primal solution was found during strong branching
cutoffpointer to store whether the strong branching child is infeasible

Definition at line 18274 of file scip.c.

References SCIP_Set::branch_checksbsol, SCIP_Set::branch_roundsbsol, FALSE, Scip::lp, MAX, MIN, SCIP_Stat::nsbdowndomchgs, SCIP_Stat::nsbsolsfound, SCIP_Stat::nsbupdomchgs, NULL, SCIP_Stat::sbsoltime, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_Longint, SCIP_LPSOLSTAT_ERROR, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_ITERLIMIT, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_TIMELIMIT, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIP_Real, SCIPallColsInLP(), SCIPbacktrackProbing(), SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), SCIPclockStart(), SCIPclockStop(), SCIPcreateLPSol(), SCIPdebugMessage, SCIPerrorMessage, SCIPfreeSol(), SCIPgetCutoffbound(), SCIPgetLPI(), SCIPgetLPObjval(), SCIPgetLPSolstat(), SCIPinfinity(), SCIPisGE(), SCIPisGT(), SCIPisInfinity(), SCIPisLE(), SCIPisLPRelax(), SCIPisLT(), SCIPlpGetLooseObjval(), SCIPlpiGetObjval(), SCIPlpiIsDualFeasible(), SCIPlpiIsInfinity(), SCIPlpiWasSolved(), SCIPnewProbingNode(), SCIPpropagateProbing(), SCIProundSol(), SCIPsolveProbingLP(), SCIPtreeGetDepthLimit(), SCIPtreeGetProbingDepth(), SCIPtrySolFree(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), Scip::set, Scip::stat, SCIP_Stat::strongpropclock, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIPgetVarStrongbranchWithPropagation().

SCIP_RETCODE SCIPgetVarStrongbranchWithPropagation ( SCIP scip,
SCIP_VAR var,
SCIP_Real  solval,
SCIP_Real  lpobjval,
int  itlim,
int  maxproprounds,
SCIP_Real down,
SCIP_Real up,
SCIP_Bool downvalid,
SCIP_Bool upvalid,
SCIP_Longint ndomredsdown,
SCIP_Longint ndomredsup,
SCIP_Bool downinf,
SCIP_Bool upinf,
SCIP_Bool downconflict,
SCIP_Bool upconflict,
SCIP_Bool lperror,
SCIP_Real newlbs,
SCIP_Real newubs 
)

gets strong branching information with previous domain propagation on column variable

Before calling this method, the strong branching mode must have been activated by calling SCIPstartStrongbranch(); after strong branching was done for all candidate variables, the strong branching mode must be ended by SCIPendStrongbranch(). Since this method applies domain propagation before strongbranching, propagation has to be be enabled in the SCIPstartStrongbranch() call.

Before solving the strong branching LP, domain propagation can be performed. The number of propagation rounds can be specified by the parameter maxproprounds.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Warning
When using this method, LP banching candidates and solution values must be copied beforehand, because they are updated w.r.t. the strong branching LP solution.
Parameters
scipSCIP data structure
varvariable to get strong branching values for
solvalvalue of the variable in the current LP solution
lpobjvalLP objective value of the current LP solution
itlimiteration limit for strong branchings
maxproproundsmaximum number of propagation rounds (-1: no limit, -2: parameter settings)
downstores dual bound after branching column down
upstores dual bound after branching column up
downvalidstores whether the returned down value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
upvalidstores whether the returned up value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
ndomredsdownpointer to store the number of domain reductions down, or NULL
ndomredsuppointer to store the number of domain reductions up, or NULL
downinfpointer to store whether the downwards branch is infeasible, or NULL
upinfpointer to store whether the upwards branch is infeasible, or NULL
downconflictpointer to store whether a conflict constraint was created for an infeasible downwards branch, or NULL
upconflictpointer to store whether a conflict constraint was created for an infeasible upwards branch, or NULL
lperrorpointer to store whether an unresolved LP error occurred or the solving process should be stopped (e.g., due to a time limit)
newlbsarray to store valid lower bounds for all active variables, or NULL
newubsarray to store valid upper bounds for all active variables, or NULL

Definition at line 18633 of file scip.c.

References SCIP_Set::branch_firstsbchild, SCIP_Set::branch_forceall, checkStage(), Scip::conflict, FALSE, Scip::lp, SCIP_Stat::nsbdivinglpiterations, NULL, performStrongbranchWithPropagation(), SCIP_Var::scip, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPallColsInLP(), SCIPcolInvalidateStrongbranchData(), SCIPcolIsInLP(), SCIPcolSetStrongbranchData(), SCIPconflictGetNConflicts(), SCIPdebugMessage, SCIPerrorMessage, SCIPfeasCeil(), SCIPfeasFloor(), SCIPgetCutoffbound(), SCIPgetNVars(), SCIPgetVars(), SCIPinfinity(), SCIPinProbing(), SCIPisGE(), SCIPsolveIsStopped(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost(), and SCIPselectVarStrongBranching().

SCIP_RETCODE SCIPgetVarStrongbranchInt ( SCIP scip,
SCIP_VAR var,
int  itlim,
SCIP_Real down,
SCIP_Real up,
SCIP_Bool downvalid,
SCIP_Bool upvalid,
SCIP_Bool downinf,
SCIP_Bool upinf,
SCIP_Bool downconflict,
SCIP_Bool upconflict,
SCIP_Bool lperror 
)

gets strong branching information on column variable x with integral LP solution value (val); that is, the down branch is (val -1.0) and the up brach ins (val +1.0)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
If the integral LP solution value is the lower or upper bound of the variable, the corresponding branch will be marked as infeasible. That is, the valid pointer and the infeasible pointer are set to TRUE.
Parameters
scipSCIP data structure
varvariable to get strong branching values for
itlimiteration limit for strong branchings
downstores dual bound after branching column down
upstores dual bound after branching column up
downvalidstores whether the returned down value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
upvalidstores whether the returned up value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
downinfpointer to store whether the downwards branch is infeasible, or NULL
upinfpointer to store whether the upwards branch is infeasible, or NULL
downconflictpointer to store whether a conflict constraint was created for an infeasible downwards branch, or NULL
upconflictpointer to store whether a conflict constraint was created for an infeasible upwards branch, or NULL
lperrorpointer to store whether an unresolved LP error occurred or the solving process should be stopped (e.g., due to a time limit)

Definition at line 18943 of file scip.c.

References analyzeStrongbranch(), checkStage(), FALSE, Scip::lp, SCIP_Set::misc_exactsolve, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPcolGetStrongbranch(), SCIPcolIsInLP(), SCIPerrorMessage, SCIPprobAllColsInLP(), SCIPsolveIsStopped(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by SCIPselectVarPseudoStrongBranching().

SCIP_RETCODE SCIPgetVarsStrongbranchesFrac ( SCIP scip,
SCIP_VAR **  vars,
int  nvars,
int  itlim,
SCIP_Real down,
SCIP_Real up,
SCIP_Bool downvalid,
SCIP_Bool upvalid,
SCIP_Bool downinf,
SCIP_Bool upinf,
SCIP_Bool downconflict,
SCIP_Bool upconflict,
SCIP_Bool lperror 
)

gets strong branching information on column variables with fractional values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varsvariables to get strong branching values for
nvarsnumber of variables
itlimiteration limit for strong branchings
downstores dual bounds after branching variables down
upstores dual bounds after branching variables up
downvalidstores whether the returned down values are valid dual bounds, or NULL; otherwise, they can only be used as an estimate value
upvalidstores whether the returned up values are valid dual bounds, or NULL; otherwise, they can only be used as an estimate value
downinfarray to store whether the downward branches are infeasible, or NULL
upinfarray to store whether the upward branches are infeasible, or NULL
downconflictarray to store whether conflict constraints were created for infeasible downward branches, or NULL
upconflictarray to store whether conflict constraints were created for infeasible upward branches, or NULL
lperrorpointer to store whether an unresolved LP error occurred or the solving process should be stopped (e.g., due to a time limit)

Definition at line 19030 of file scip.c.

References analyzeStrongbranch(), checkStage(), FALSE, Scip::lp, SCIP_Set::misc_exactsolve, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPallocBufferArray, SCIPcolGetStrongbranches(), SCIPcolIsInLP(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPprobAllColsInLP(), SCIPsolveIsStopped(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

SCIP_RETCODE SCIPgetVarsStrongbranchesInt ( SCIP scip,
SCIP_VAR **  vars,
int  nvars,
int  itlim,
SCIP_Real down,
SCIP_Real up,
SCIP_Bool downvalid,
SCIP_Bool upvalid,
SCIP_Bool downinf,
SCIP_Bool upinf,
SCIP_Bool downconflict,
SCIP_Bool upconflict,
SCIP_Bool lperror 
)

gets strong branching information on column variables with integral values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varsvariables to get strong branching values for
nvarsnumber of variables
itlimiteration limit for strong branchings
downstores dual bounds after branching variables down
upstores dual bounds after branching variables up
downvalidstores whether the returned down values are valid dual bounds, or NULL; otherwise, they can only be used as an estimate value
upvalidstores whether the returned up values are valid dual bounds, or NULL; otherwise, they can only be used as an estimate value
downinfarray to store whether the downward branches are infeasible, or NULL
upinfarray to store whether the upward branches are infeasible, or NULL
downconflictarray to store whether conflict constraints were created for infeasible downward branches, or NULL
upconflictarray to store whether conflict constraints were created for infeasible upward branches, or NULL
lperrorpointer to store whether an unresolved LP error occurred or the solving process should be stopped (e.g., due to a time limit)

Definition at line 19141 of file scip.c.

References analyzeStrongbranch(), checkStage(), FALSE, Scip::lp, SCIP_Set::misc_exactsolve, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPallocBufferArray, SCIPcolGetStrongbranches(), SCIPcolIsInLP(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPprobAllColsInLP(), SCIPsolveIsStopped(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

SCIP_RETCODE SCIPgetVarStrongbranchLast ( SCIP scip,
SCIP_VAR var,
SCIP_Real down,
SCIP_Real up,
SCIP_Bool downvalid,
SCIP_Bool upvalid,
SCIP_Real solval,
SCIP_Real lpobjval 
)

gets strong branching information on COLUMN variable of the last SCIPgetVarStrongbranch() call; returns values of SCIP_INVALID, if strong branching was not yet called on the given variable; keep in mind, that the returned old values may have nothing to do with the current LP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get last strong branching values for
downstores dual bound after branching column down
upstores dual bound after branching column up
downvalidstores whether the returned down value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
upvalidstores whether the returned up value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value
solvalstores LP solution value of variable at the last strong branching call, or NULL
lpobjvalstores LP objective value at last strong branching call, or NULL

Definition at line 19256 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPcolGetStrongbranchLast(), SCIPerrorMessage, SCIPvarGetCol(), SCIPvarGetStatus(), and TRUE.

Referenced by execRelpscost(), and SCIPselectVarStrongBranching().

SCIP_Longint SCIPgetVarStrongbranchNode ( SCIP scip,
SCIP_VAR var 
)

gets node number of the last node in current branch and bound run, where strong branching was used on the given variable, or -1 if strong branching was never applied to the variable in current run

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get last strong branching node for

Definition at line 19300 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIP_VARSTATUS_COLUMN, SCIPcolGetStrongbranchNode(), SCIPvarGetCol(), SCIPvarGetStatus(), and TRUE.

Referenced by execRelpscost(), and SCIPselectVarStrongBranching().

SCIP_Longint SCIPgetVarStrongbranchLPAge ( SCIP scip,
SCIP_VAR var 
)

if strong branching was already applied on the variable at the current node, returns the number of LPs solved after the LP where the strong branching on this variable was applied; if strong branching was not yet applied on the variable at the current node, returns INT_MAX

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get strong branching LP age for

Definition at line 19334 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIP_LONGINT_MAX, SCIP_VARSTATUS_COLUMN, SCIPcolGetStrongbranchLPAge(), SCIPvarGetCol(), SCIPvarGetStatus(), Scip::stat, and TRUE.

Referenced by SCIPselectVarStrongBranching().

int SCIPgetVarNStrongbranchs ( SCIP scip,
SCIP_VAR var 
)

gets number of times, strong branching was applied in current run on the given variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get last strong branching node for

Definition at line 19366 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIP_VARSTATUS_COLUMN, SCIPcolGetNStrongbranchs(), SCIPvarGetCol(), SCIPvarGetStatus(), and TRUE.

Referenced by SCIPprintBranchingStatistics().

SCIP_RETCODE SCIPaddVarLocks ( SCIP scip,
SCIP_VAR var,
int  nlocksdown,
int  nlocksup 
)
SCIP_RETCODE SCIPlockVarCons ( SCIP scip,
SCIP_VAR var,
SCIP_CONS cons,
SCIP_Bool  lockdown,
SCIP_Bool  lockup 
)

locks rounding of variable with respect to the lock status of the constraint and its negation; this method should be called whenever the lock status of a variable in a constraint changes, for example if the coefficient of the variable changed its sign or if the left or right hand sides of the constraint were added or removed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
consconstraint
lockdownshould the rounding be locked in downwards direction?
lockupshould the rounding be locked in upwards direction?

Definition at line 19453 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIPconsIsLockedNeg(), SCIPconsIsLockedPos(), SCIPerrorMessage, SCIPvarAddLocks(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, and TRUE.

Referenced by addExtendedAsymmetricFormulation(), addExtendedFlowFormulation(), checkFixedVariables(), chgLhs(), chgRhs(), lockLinearVariable(), lockQuadraticVariable(), lockRounding(), lockRoundingAndCons(), lockVariableSOS2(), preprocessConstraintPairs(), presolveFindDuplicates(), presolveRemoveFixedVariables(), and tightenCoefs().

SCIP_RETCODE SCIPunlockVarCons ( SCIP scip,
SCIP_VAR var,
SCIP_CONS cons,
SCIP_Bool  lockdown,
SCIP_Bool  lockup 
)

unlocks rounding of variable with respect to the lock status of the constraint and its negation; this method should be called whenever the lock status of a variable in a constraint changes, for example if the coefficient of the variable changed its sign or if the left or right hand sides of the constraint were added or removed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
consconstraint
lockdownshould the rounding be unlocked in downwards direction?
lockupshould the rounding be unlocked in upwards direction?

Definition at line 19526 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIPconsIsLockedNeg(), SCIPconsIsLockedPos(), SCIPerrorMessage, SCIPvarAddLocks(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, and TRUE.

Referenced by checkFixedVariables(), chgLhs(), chgRhs(), consdataDeletePos(), delCoefPos(), preprocessConstraintPairs(), presolveConsEst(), presolveConsLct(), presolveFindDuplicates(), presolveRemoveFixedVariables(), tightenCoefs(), unlockLinearVariable(), unlockQuadraticVariable(), unlockRounding(), unlockRoundingAndCons(), and unlockVariableSOS2().

SCIP_RETCODE SCIPchgVarObj ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newobj 
)

changes variable's objective value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to change the objective value for
newobjnew objective value

Definition at line 19590 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, REALABS, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPisInfinity(), SCIPvarChgObj(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::transprob, and TRUE.

Referenced by addLocalBranchingConstraint(), createCoveringProblem(), createSubSCIP(), getVariable(), parseSolveItem(), readCnf(), readCols(), readConstraints(), readObjective(), SCIPapplyProximity(), SCIPapplyZeroobj(), SCIPcreateFiniteSolCopy(), SCIPtransformMinUC(), and setObjective().

SCIP_RETCODE SCIPaddVarObj ( SCIP scip,
SCIP_VAR var,
SCIP_Real  addobj 
)

adds value to variable's objective value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to change the objective value for
addobjadditional objective value

Definition at line 19635 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPvarAddObj(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

SCIP_Real SCIPadjustedVarLb ( SCIP scip,
SCIP_VAR var,
SCIP_Real  lb 
)

returns the adjusted (i.e. rounded, if the given variable is of integral type) lower bound value; does not change the bounds of the variable

Returns
adjusted lower bound for the given variable; the bound of the variable is not changed
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to adjust the bound for
lblower bound value to adjust

Definition at line 19685 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPvarAdjustLb(), Scip::set, and TRUE.

Referenced by analyzeConflict(), analyzeConflictLowerbound(), computeRelaxedLowerbound(), preprocessConstraintPairs(), propagateBoundsTightenVar(), propagateBoundsTightenVarLb(), propagateCons(), propagateRedcostVar(), resolvePropagation(), SCIP_DECL_BRANCHEXECEXT(), and updateBestCandidate().

SCIP_Real SCIPadjustedVarUb ( SCIP scip,
SCIP_VAR var,
SCIP_Real  ub 
)

returns the adjusted (i.e. rounded, if the given variable is of integral type) upper bound value; does not change the bounds of the variable

Returns
adjusted upper bound for the given variable; the bound of the variable is not changed
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to adjust the bound for
ubupper bound value to adjust

Definition at line 19717 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPvarAdjustUb(), Scip::set, and TRUE.

Referenced by analyzeConflict(), analyzeConflictUpperbound(), computeRelaxedUpperbound(), preprocessConstraintPairs(), propagateBoundsTightenVarUb(), propagateCons(), propagateRedcostVar(), resolvePropagation(), SCIP_DECL_BRANCHEXECEXT(), and updateBestCandidate().

SCIP_RETCODE SCIPchgVarLb ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound 
)

depending on SCIP's stage, changes lower bound of variable in the problem, in preprocessing, or in current node; if possible, adjusts bound to integral value; doesn't store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound

Definition at line 19748 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPchgVarType(), SCIPerrorMessage, SCIPinProbing(), SCIPnodeAddBoundchg(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by createCoveringProblem(), createIndicatorConstraint(), generateOddCycleCut(), predBndStr(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), readBinaries(), readBounds(), readSemicontinuous(), SCIP_DECL_PRESOLEXEC(), SCIPchgVarLbNode(), SCIPendStrongbranch(), SCIPfixVar(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPselectVarPseudoStrongBranching(), and SCIPselectVarStrongBranching().

SCIP_RETCODE SCIPchgVarUb ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound 
)

depending on SCIP's stage, changes upper bound of variable in the problem, in preprocessing, or in current node; if possible, adjusts bound to integral value; doesn't store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound

Definition at line 19828 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_Bool, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPchgVarType(), SCIPerrorMessage, SCIPinProbing(), SCIPnodeAddBoundchg(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by createIndicatorConstraint(), generateOddCycleCut(), predBndStr(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), readBinaries(), readBounds(), SCIP_DECL_PRESOLEXEC(), SCIPchgVarUbNode(), SCIPendStrongbranch(), SCIPfixVar(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), and updateMIP().

SCIP_RETCODE SCIPchgVarLbNode ( SCIP scip,
SCIP_NODE node,
SCIP_VAR var,
SCIP_Real  newbound 
)

changes lower bound of variable in the given node; if possible, adjust bound to integral value; doesn't store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
nodenode to change bound at, or NULL for current node
varvariable to change the bound for
newboundnew value for bound

Definition at line 19898 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPchgVarLb(), SCIPnodeAddBoundchg(), SCIPvarAdjustLb(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by createNAryBranch(), enforceConflictgraph(), enforceIndicators(), fixVariableZeroNode(), performBranching(), and presolveCreateBenTalNemirovskiApproxDim3().

SCIP_RETCODE SCIPchgVarUbNode ( SCIP scip,
SCIP_NODE node,
SCIP_VAR var,
SCIP_Real  newbound 
)

changes upper bound of variable in the given node; if possible, adjust bound to integral value; doesn't store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
nodenode to change bound at, or NULL for current node
varvariable to change the bound for
newboundnew value for bound

Definition at line 19931 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPchgVarUb(), SCIPnodeAddBoundchg(), SCIPvarAdjustUb(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by createNAryBranch(), enforceConflictgraph(), enforceIndicators(), fixVariableZeroNode(), and performBranching().

SCIP_RETCODE SCIPchgVarLbGlobal ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound 
)

changes global lower bound of variable; if possible, adjust bound to integral value; also tightens the local bound, if the global bound is better than the local bound

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound

Definition at line 19972 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPchgVarType(), SCIPerrorMessage, SCIPinProbing(), SCIPnodeAddBoundchg(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by createSubproblem(), createSubSCIP(), fixDiscreteVars(), fixVariables(), freeMemory(), presolveCreateBenTalNemirovskiApproxDim3(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPapplyZeroobj(), SCIPresolveSolHeurSubNlp(), and solveSubproblem().

SCIP_RETCODE SCIPchgVarUbGlobal ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound 
)

changes global upper bound of variable; if possible, adjust bound to integral value; also tightens the local bound, if the global bound is better than the local bound

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound

Definition at line 20049 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_Bool, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPchgVarType(), SCIPerrorMessage, SCIPinProbing(), SCIPnodeAddBoundchg(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by createSubproblem(), createSubSCIP(), fixDiscreteVars(), fixVariables(), freeMemory(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EVENTEXEC(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPapplyZeroobj(), SCIPresolveSolHeurSubNlp(), and solveSubproblem().

SCIP_RETCODE SCIPchgVarLbLazy ( SCIP scip,
SCIP_VAR var,
SCIP_Real  lazylb 
)

changes lazy lower bound of the variable, this is only possible if the variable is not in the LP yet

lazy bounds are bounds, that are enforced by constraints and the objective function; hence, these bounds do not need to be put into the LP explicitly.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
lazy bounds are useful for branch-and-price since the corresponding variable bounds are not part of the LP
Parameters
scipSCIP data structure
varproblem variable
lazylbthe lazy lower bound to be set

Definition at line 20126 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPvarChgLbLazy(), Scip::set, and TRUE.

SCIP_RETCODE SCIPchgVarUbLazy ( SCIP scip,
SCIP_VAR var,
SCIP_Real  lazyub 
)

changes lazy upper bound of the variable, this is only possible if the variable is not in the LP yet

lazy bounds are bounds, that are enforced by constraints and the objective function; hence, these bounds do not need to be put into the LP explicitly.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
lazy bounds are useful for branch-and-price since the corresponding variable bounds are not part of the LP
Parameters
scipSCIP data structure
varproblem variable
lazyubthe lazy lower bound to be set

Definition at line 20159 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPvarChgUbLazy(), Scip::set, and TRUE.

SCIP_RETCODE SCIPtightenVarLb ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes lower bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; doesn't store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the new domain is empty
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 20193 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, MIN, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPchgVarType(), SCIPcomputeVarLbLocal(), SCIPcomputeVarUbLocal(), SCIPerrorMessage, SCIPinDive(), SCIPinProbing(), SCIPnodeAddBoundchg(), SCIPsetIsFeasGT(), SCIPsetIsLbBetter(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by adjustOversizedJobBounds(), applyBdchgs(), applyFixings(), applyProbing(), applyProbingVar(), checkSystemGF2(), copyAndSolveComponent(), dualPresolving(), enforceViolatedFixedNonlinear(), preprocessConstraintPairs(), presolveCreateGlineurApproxDim3(), presolveRemoveFixedVariables(), propagateBounds(), propagateBoundsTightenVar(), propagateBoundsTightenVarLb(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPselectVarStrongBranching(), separateCuts(), solveIndependentCons(), tightenBounds(), tightenVarsBoundsSOS1(), and updateArcData().

SCIP_RETCODE SCIPtightenVarUb ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes upper bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; doesn't store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the new domain is empty
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 20299 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, MAX, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPchgVarType(), SCIPcomputeVarLbLocal(), SCIPcomputeVarUbLocal(), SCIPerrorMessage, SCIPinDive(), SCIPinProbing(), SCIPnodeAddBoundchg(), SCIPsetIsFeasLT(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsUbBetter(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by adjustOversizedJobBounds(), applyBdchgs(), applyFixings(), applyProbing(), applyProbingVar(), checkSystemGF2(), copyAndSolveComponent(), dualPresolving(), enforceViolatedFixedNonlinear(), getCover(), preprocessConstraintPairs(), presolveRemoveFixedVariables(), propagateBounds(), propagateBoundsTightenVar(), propagateBoundsTightenVarUb(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPselectVarStrongBranching(), separateCuts(), solveIndependentCons(), tightenBounds(), tightenVarsBoundsSOS1(), and updateArcData().

SCIP_RETCODE SCIPinferVarFixCons ( SCIP scip,
SCIP_VAR var,
SCIP_Real  fixedval,
SCIP_CONS infercons,
int  inferinfo,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

fixes variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; the given inference constraint is stored, such that the conflict analysis is able to find out the reason for the deduction of the bound change

Note
In presolving stage when not in probing mode the variable will be fixed directly, otherwise this method changes first the lowerbound by calling SCIPinferVarLbCons and second the upperbound by calling SCIPinferVarUbCons
If SCIP is in presolving stage, it can happen that the internal variable array (which get be accessed via SCIPgetVars()) gets resorted.
During presolving, an integer variable which bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
fixedvalnew value for fixation
inferconsconstraint that deduced the bound change
inferinfouser information for inference to help resolving the conflict
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the bound change is infeasible
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 20400 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIPgetStage(), SCIPinferVarLbCons(), SCIPinferVarUbCons(), SCIPtreeGetCurrentDepth(), SCIPvarFix(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

SCIP_RETCODE SCIPinferVarLbCons ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_CONS infercons,
int  inferinfo,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes lower bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; the given inference constraint is stored, such that the conflict analysis is able to find out the reason for the deduction of the bound change

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
inferconsconstraint that deduced the bound change
inferinfouser information for inference to help resolving the conflict
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the bound change is infeasible
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 20469 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, MIN, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPchgVarType(), SCIPerrorMessage, SCIPinProbing(), SCIPnodeAddBoundchg(), SCIPnodeAddBoundinfer(), SCIPsetIsFeasGT(), SCIPsetIsLbBetter(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by consFixInteger(), coretimesUpdateLb(), inferboundsEdgeFinding(), inferVariableZero(), processWatchedVars(), propagateCons(), propagateTTEF(), propIndicator(), propVariableNonzero(), SCIPinferVarFixCons(), separateCons(), and tightenedIntvar().

SCIP_RETCODE SCIPinferVarUbCons ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_CONS infercons,
int  inferinfo,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes upper bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; the given inference constraint is stored, such that the conflict analysis is able to find out the reason for the deduction of the bound change

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
inferconsconstraint that deduced the bound change
inferinfouser information for inference to help resolving the conflict
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the bound change is infeasible
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 20572 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, MAX, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPchgVarType(), SCIPerrorMessage, SCIPinProbing(), SCIPnodeAddBoundchg(), SCIPnodeAddBoundinfer(), SCIPsetIsFeasLT(), SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsUbBetter(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by consFixInteger(), coretimesUpdateUb(), inferboundsEdgeFinding(), inferVariableZero(), processWatchedVars(), propagateCons(), propagateTTEF(), propIndicator(), propVariableNonzero(), SCIPinferVarFixCons(), separateCons(), and tightenedIntvar().

SCIP_RETCODE SCIPinferBinvarCons ( SCIP scip,
SCIP_VAR var,
SCIP_Bool  fixedval,
SCIP_CONS infercons,
int  inferinfo,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

depending on SCIP's stage, fixes binary variable in the problem, in preprocessing, or in current node; the given inference constraint is stored, such that the conflict analysis is able to find out the reason for the deduction of the fixing

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varbinary variable to fix
fixedvalvalue to fix binary variable to
inferconsconstraint that deduced the fixing
inferinfouser information for inference to help resolving the conflict
infeasiblepointer to store whether the fixing is infeasible
tightenedpointer to store whether the fixing tightened the local bounds, or NULL

Definition at line 20669 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIPchgVarLb(), SCIPchgVarUb(), SCIPerrorMessage, SCIPnodeAddBoundinfer(), SCIPsetIsEQ(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarFix(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by analyzeZeroResultant(), consdataFixOperandsOne(), consdataFixResultantZero(), processBinvarFixings(), processFixings(), processIntegerBoundChg(), processWatchedVars(), and propagateCons().

SCIP_RETCODE SCIPinferVarFixProp ( SCIP scip,
SCIP_VAR var,
SCIP_Real  fixedval,
SCIP_PROP inferprop,
int  inferinfo,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

fixes variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; the given inference constraint is stored, such that the conflict analysis is able to find out the reason for the deduction of the bound change

Note
In presolving stage when not in probing mode the variable will be fixed directly, otherwise this method changes first the lowerbound by calling SCIPinferVarLbProp and second the upperbound by calling SCIPinferVarUbProp
If SCIP is in presolving stage, it can happen that the internal variable array (which get be accessed via SCIPgetVars()) gets resorted.
During presolving, an integer variable which bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
fixedvalnew value for fixation
inferproppropagator that deduced the bound change
inferinfouser information for inference to help resolving the conflict
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the bound change is infeasible
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 20772 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIPgetStage(), SCIPinferVarLbProp(), SCIPinferVarUbProp(), SCIPtreeGetCurrentDepth(), SCIPvarFix(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

SCIP_RETCODE SCIPinferVarLbProp ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_PROP inferprop,
int  inferinfo,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes lower bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; the given inference propagator is stored, such that the conflict analysis is able to find out the reason for the deduction of the bound change

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
inferproppropagator that deduced the bound change
inferinfouser information for inference to help resolving the conflict
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the bound change is infeasible
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 20841 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, MIN, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPchgVarType(), SCIPerrorMessage, SCIPinProbing(), SCIPnodeAddBoundchg(), SCIPnodeAddBoundinfer(), SCIPsetIsFeasGT(), SCIPsetIsLbBetter(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by applyGenVBound(), propagateCutoffboundVar(), SCIPinferVarFixProp(), and tightenVarLb().

SCIP_RETCODE SCIPinferVarUbProp ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_PROP inferprop,
int  inferinfo,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes upper bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; the given inference propagator is stored, such that the conflict analysis is able to find out the reason for the deduction of the bound change

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
inferproppropagator that deduced the bound change
inferinfouser information for inference to help resolving the conflict
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the bound change is infeasible
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 20944 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, MAX, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPchgVarType(), SCIPerrorMessage, SCIPinProbing(), SCIPnodeAddBoundchg(), SCIPnodeAddBoundinfer(), SCIPsetIsFeasLT(), SCIPsetIsLE(), SCIPsetIsUbBetter(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by applyGenVBound(), propagateCutoffboundVar(), SCIPinferVarFixProp(), and tightenVarUb().

SCIP_RETCODE SCIPinferBinvarProp ( SCIP scip,
SCIP_VAR var,
SCIP_Bool  fixedval,
SCIP_PROP inferprop,
int  inferinfo,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

depending on SCIP's stage, fixes binary variable in the problem, in preprocessing, or in current node; the given inference propagator is stored, such that the conflict analysis is able to find out the reason for the deduction of the fixing

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varbinary variable to fix
fixedvalvalue to fix binary variable to
inferproppropagator that deduced the fixing
inferinfouser information for inference to help resolving the conflict
infeasiblepointer to store whether the fixing is infeasible
tightenedpointer to store whether the fixing tightened the local bounds, or NULL

Definition at line 21042 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIPchgVarLb(), SCIPchgVarUb(), SCIPerrorMessage, SCIPnodeAddBoundinfer(), SCIPsetIsEQ(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarFix(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

SCIP_RETCODE SCIPtightenVarLbGlobal ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes global lower bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current global bound; if possible, adjusts bound to integral value; also tightens the local bound, if the global bound is better than the local bound

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the new domain is empty
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 21150 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, MIN, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPchgVarType(), SCIPerrorMessage, SCIPinProbing(), SCIPnodeAddBoundchg(), SCIPsetIsEQ(), SCIPsetIsFeasGT(), SCIPsetIsLbBetter(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustLb(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgLbOriginal(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by applyGenVBound(), objimplicsCreate(), propagateCutoffboundVar(), propagateLowerboundBinvar(), propagateLowerboundVar(), propagateRootRedcostVar(), tightenBounds(), and tightenVarLb().

SCIP_RETCODE SCIPtightenVarUbGlobal ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_Bool  force,
SCIP_Bool infeasible,
SCIP_Bool tightened 
)

changes global upper bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current global bound; if possible, adjusts bound to integral value; also tightens the local bound, if the global bound is better than the local bound

Warning
If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound
forceforce tightening even if below bound strengthening tolerance
infeasiblepointer to store whether the new domain is empty
tightenedpointer to store whether the bound was tightened, or NULL

Definition at line 21260 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, MAX, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Tree::root, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPchgVarType(), SCIPerrorMessage, SCIPinProbing(), SCIPnodeAddBoundchg(), SCIPsetIsEQ(), SCIPsetIsFeasLT(), SCIPsetIsLE(), SCIPsetIsUbBetter(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPvarAdjustUb(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarChgUbOriginal(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::vartype.

Referenced by applyGenVBound(), objimplicsCreate(), propagateCutoffboundVar(), propagateLowerboundVar(), propagateRootRedcostVar(), tightenBounds(), and tightenVarUb().

SCIP_Real SCIPcomputeVarLbGlobal ( SCIP scip,
SCIP_VAR var 
)

for a multi-aggregated variable, returns the global lower bound computed by adding the global bounds from all aggregation variables

This global bound may be tighter than the one given by SCIPvarGetLbGlobal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable results in a call to SCIPvarGetLbGlobal.

Returns
the global lower bound computed by adding the global bounds from all aggregation variables
Parameters
scipSCIP data structure
varvariable to compute the bound for

Definition at line 21365 of file scip.c.

References NULL, SCIP_VARSTATUS_MULTAGGR, SCIPvarGetLbGlobal(), SCIPvarGetMultaggrLbGlobal(), SCIPvarGetStatus(), and Scip::set.

Referenced by applyGlobalBounds(), SCIP_DECL_QUADCONSUPGD(), and SCIPcreateConsSOC().

SCIP_Real SCIPcomputeVarUbGlobal ( SCIP scip,
SCIP_VAR var 
)

for a multi-aggregated variable, returns the global upper bound computed by adding the global bounds from all aggregation variables

This global bound may be tighter than the one given by SCIPvarGetUbGlobal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable results in a call to SCIPvarGetUbGlobal

Returns
the global upper bound computed by adding the global bounds from all aggregation variables
Parameters
scipSCIP data structure
varvariable to compute the bound for

Definition at line 21386 of file scip.c.

References NULL, SCIP_VARSTATUS_MULTAGGR, SCIPvarGetMultaggrUbGlobal(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), and Scip::set.

Referenced by applyGlobalBounds(), SCIP_DECL_QUADCONSUPGD(), and SCIPcreateConsSOC().

SCIP_Real SCIPcomputeVarLbLocal ( SCIP scip,
SCIP_VAR var 
)

for a multi-aggregated variable, returns the local lower bound computed by adding the local bounds from all aggregation variables

This local bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable results in a call to SCIPvarGetLbLocal.

Returns
the local lower bound computed by adding the global bounds from all aggregation variables
Parameters
scipSCIP data structure
varvariable to compute the bound for

Definition at line 21407 of file scip.c.

References NULL, SCIP_VARSTATUS_MULTAGGR, SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetStatus(), and Scip::set.

Referenced by checkSystemGF2(), createNAryBranch(), isLiteralSatisfied(), isLiteralViolated(), propagateBounds(), registerBranchingCandidates(), SCIPcreateConsSOC(), SCIPtightenVarLb(), SCIPtightenVarUb(), and updateBestCandidate().

SCIP_Real SCIPcomputeVarUbLocal ( SCIP scip,
SCIP_VAR var 
)

for a multi-aggregated variable, returns the local upper bound computed by adding the local bounds from all aggregation variables

This local bound may be tighter than the one given by SCIPvarGetUbLocal, since the latter is not updated if bounds of aggregation variables are changing calling this function for a non-multi-aggregated variable results in a call to SCIPvarGetUbLocal.

Returns
the local upper bound computed by adding the global bounds from all aggregation variables
Parameters
scipSCIP data structure
varvariable to compute the bound for

Definition at line 21428 of file scip.c.

References NULL, SCIP_VARSTATUS_MULTAGGR, SCIPvarGetMultaggrUbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), and Scip::set.

Referenced by checkSystemGF2(), createNAryBranch(), isLiteralSatisfied(), isLiteralViolated(), propagateBounds(), registerBranchingCandidates(), SCIPcreateConsSOC(), SCIPtightenVarLb(), SCIPtightenVarUb(), and updateBestCandidate().

SCIP_Real SCIPgetVarMultaggrLbGlobal ( SCIP scip,
SCIP_VAR var 
)

for a multi-aggregated variable, gives the global lower bound computed by adding the global bounds from all aggregation variables, this global bound may be tighter than the one given by SCIPvarGetLbGlobal, since the latter is not updated if bounds of aggregation variables are changing

calling this function for a non-multi-aggregated variable is not allowed

Parameters
scipSCIP data structure
varvariable to compute the bound for

Definition at line 21448 of file scip.c.

References SCIP_VARSTATUS_MULTAGGR, SCIPvarGetMultaggrLbGlobal(), SCIPvarGetStatus(), and Scip::set.

SCIP_Real SCIPgetVarMultaggrUbGlobal ( SCIP scip,
SCIP_VAR var 
)

for a multi-aggregated variable, gives the global upper bound computed by adding the global bounds from all aggregation variables, this upper bound may be tighter than the one given by SCIPvarGetUbGlobal, since the latter is not updated if bounds of aggregation variables are changing

calling this function for a non-multi-aggregated variable is not allowed

Parameters
scipSCIP data structure
varvariable to compute the bound for

Definition at line 21463 of file scip.c.

References SCIP_VARSTATUS_MULTAGGR, SCIPvarGetMultaggrUbGlobal(), SCIPvarGetStatus(), and Scip::set.

SCIP_Real SCIPgetVarMultaggrLbLocal ( SCIP scip,
SCIP_VAR var 
)

for a multi-aggregated variable, gives the local lower bound computed by adding the local bounds from all aggregation variables, this lower bound may be tighter than the one given by SCIPvarGetLbLocal, since the latter is not updated if bounds of aggregation variables are changing

calling this function for a non-multi-aggregated variable is not allowed

Parameters
scipSCIP data structure
varvariable to compute the bound for

Definition at line 21478 of file scip.c.

References SCIP_VARSTATUS_MULTAGGR, SCIPvarGetMultaggrLbLocal(), SCIPvarGetStatus(), and Scip::set.

SCIP_Real SCIPgetVarMultaggrUbLocal ( SCIP scip,
SCIP_VAR var 
)

for a multi-aggregated variable, gives the local upper bound computed by adding the local bounds from all aggregation variables, this upper bound may be tighter than the one given by SCIPvarGetUbLocal, since the latter is not updated if bounds of aggregation variables are changing

calling this function for a non-multi-aggregated variable is not allowed

Parameters
scipSCIP data structure
varvariable to compute the bound for

Definition at line 21493 of file scip.c.

References SCIP_VARSTATUS_MULTAGGR, SCIPvarGetMultaggrUbLocal(), SCIPvarGetStatus(), and Scip::set.

SCIP_RETCODE SCIPgetVarClosestVlb ( SCIP scip,
SCIP_VAR var,
SCIP_SOL sol,
SCIP_Real closestvlb,
int *  closestvlbidx 
)

returns solution value and index of variable lower bound that is closest to the variable's value in the given primal solution or current LP solution if no primal solution is given; returns an index of -1 if no variable lower bound is available

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
varactive problem variable
solprimal solution, or NULL for LP solution
closestvlbpointer to store the value of the closest variable lower bound
closestvlbidxpointer to store the index of the closest variable lower bound

Definition at line 21511 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPvarGetClosestVlb(), Scip::set, Scip::stat, and TRUE.

Referenced by separateCuts().

SCIP_RETCODE SCIPgetVarClosestVub ( SCIP scip,
SCIP_VAR var,
SCIP_SOL sol,
SCIP_Real closestvub,
int *  closestvubidx 
)

returns solution value and index of variable upper bound that is closest to the variable's value in the given primal solution; or current LP solution if no primal solution is given; returns an index of -1 if no variable upper bound is available

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
varactive problem variable
solprimal solution, or NULL for LP solution
closestvubpointer to store the value of the closest variable lower bound
closestvubidxpointer to store the index of the closest variable lower bound

Definition at line 21534 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPvarGetClosestVub(), Scip::set, Scip::stat, and TRUE.

Referenced by separateCuts().

SCIP_RETCODE SCIPaddVarVlb ( SCIP scip,
SCIP_VAR var,
SCIP_VAR vlbvar,
SCIP_Real  vlbcoef,
SCIP_Real  vlbconstant,
SCIP_Bool infeasible,
int *  nbdchgs 
)

informs variable x about a globally valid variable lower bound x >= b*z + d with integer variable z; if z is binary, the corresponding valid implication for z is also added; if z is non-continuous and 1/b not too small, the corresponding valid upper/lower bound z <= (x-d)/b or z >= (x-d)/b (depending on the sign of of b) is added, too; improves the global bounds of the variable and the vlb variable if possible

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
vlbvarvariable z in x >= b*z + d
vlbcoefcoefficient b in x >= b*z + d
vlbconstantconstant d in x >= b*z + d
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to store the number of performed bound changes, or NULL

Definition at line 21563 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPisZero(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarGetType(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by addVarbound(), SCIP_DECL_CONSPRESOL(), SCIPanalyzeDeductionsProbing(), and strengthenVarbounds().

SCIP_RETCODE SCIPaddVarVub ( SCIP scip,
SCIP_VAR var,
SCIP_VAR vubvar,
SCIP_Real  vubcoef,
SCIP_Real  vubconstant,
SCIP_Bool infeasible,
int *  nbdchgs 
)

informs variable x about a globally valid variable upper bound x <= b*z + d with integer variable z; if z is binary, the corresponding valid implication for z is also added; if z is non-continuous and 1/b not too small, the corresponding valid lower/upper bound z >= (x-d)/b or z <= (x-d)/b (depending on the sign of of b) is added, too; improves the global bounds of the variable and the vlb variable if possible

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
vubvarvariable z in x <= b*z + d
vubcoefcoefficient b in x <= b*z + d
vubconstantconstant d in x <= b*z + d
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to store the number of performed bound changes, or NULL

Definition at line 21622 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPisZero(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarGetType(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by addVarbound(), SCIP_DECL_CONSPRESOL(), and SCIPanalyzeDeductionsProbing().

SCIP_RETCODE SCIPaddVarImplication ( SCIP scip,
SCIP_VAR var,
SCIP_Bool  varfixing,
SCIP_VAR implvar,
SCIP_BOUNDTYPE  impltype,
SCIP_Real  implbound,
SCIP_Bool infeasible,
int *  nbdchgs 
)

informs binary variable x about a globally valid implication: x == 0 or x == 1 ==> y <= b or y >= b; also adds the corresponding implication or variable bound to the implied variable; if the implication is conflicting, the variable is fixed to the opposite value; if the variable is already fixed to the given value, the implication is performed immediately; if the implication is redundant with respect to the variables' global bounds, it is ignored

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
varfixingFALSE if y should be added in implications for x == 0, TRUE for x == 1
implvarvariable y in implication y <= b or y >= b
impltypetype of implication y <= b (SCIP_BOUNDTYPE_UPPER) or y >= b (SCIP_BOUNDTYPE_LOWER)
implboundbound b in implication y <= b or y >= b
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to store the number of performed bound changes, or NULL

Definition at line 21682 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIPaddClique(), SCIPerrorMessage, SCIPisFeasEQ(), SCIPisFeasZero(), SCIPisInfinity(), SCIPvarAddImplic(), SCIPvarAddVlb(), SCIPvarAddVub(), SCIPvarGetLbGlobal(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsBinary(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by addCliques(), preprocessConstraintPairs(), SCIP_DECL_CONSPRESOL(), SCIPanalyzeDeductionsProbing(), and SCIPcopyImplicationsCliques().

SCIP_RETCODE SCIPaddClique ( SCIP scip,
SCIP_VAR **  vars,
SCIP_Bool values,
int  nvars,
SCIP_Bool  isequation,
SCIP_Bool infeasible,
int *  nbdchgs 
)

adds a clique information to SCIP, stating that at most one of the given binary variables can be set to 1; if a variable appears twice in the same clique, the corresponding implications are performed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varsbinary variables in the clique from which at most one can be set to 1
valuesvalues of the variables in the clique; NULL to use TRUE for all vars
nvarsnumber of variables in the clique
isequationis the clique an equation or an inequality?
infeasiblepointer to store whether an infeasibility was detected
nbdchgspointer to store the number of performed bound changes, or NULL

Definition at line 21810 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPcliquetableAdd(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by addCliques(), fixDeleteOrUpgradeCons(), SCIP_DECL_CONSPRESOL(), SCIPaddVarImplication(), and SCIPcopyImplicationsCliques().

SCIP_RETCODE SCIPcalcCliquePartition ( SCIP *const  scip,
SCIP_VAR **const  vars,
int const  nvars,
int *const  cliquepartition,
int *const  ncliques 
)

calculates a partition of the given set of binary variables into cliques; afterwards the output array contains one value for each variable, such that two variables got the same value iff they were assigned to the same clique; the first variable is always assigned to clique 0, and a variable can only be assigned to clique i if at least one of the preceding variables was assigned to clique i-1; for each clique at most 1 variables can be set to TRUE in a feasible solution;

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varsbinary variables in the clique from which at most one can be set to 1
nvarsnumber of variables in the clique
cliquepartitionarray of length nvars to store the clique partition
ncliquespointer to store the number of cliques actually contained in the partition

Definition at line 21859 of file scip.c.

References checkStage(), FALSE, MAXNCLIQUEVARSCOMP, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPgetNCliques(), SCIPgetNImplications(), SCIPsetAllocBufferArray, SCIPsetDuplicateBufferArray, SCIPsetFreeBufferArray, SCIPvarGetNCliques(), SCIPvarIsActive(), SCIPvarsGetProbvarBinary(), SCIPvarsHaveCommonClique(), Scip::set, and TRUE.

Referenced by deleteRedundantVars(), preprocessCliques(), SCIPcalcNegatedCliquePartition(), and tightenWeights().

SCIP_RETCODE SCIPcalcNegatedCliquePartition ( SCIP *const  scip,
SCIP_VAR **const  vars,
int const  nvars,
int *const  cliquepartition,
int *const  ncliques 
)

calculates a partition of the given set of binary variables into negated cliques; afterwards the output array contains one value for each variable, such that two variables got the same value iff they were assigned to the same negated clique; the first variable is always assigned to clique 0 and a variable can only be assigned to clique i if at least one of the preceding variables was assigned to clique i-1; for each clique with n_c variables at least n_c-1 variables can be set to TRUE in a feasible solution;

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varsbinary variables in the clique from which at most one can be set to 1
nvarsnumber of variables in the clique
cliquepartitionarray of length nvars to store the clique partition
ncliquespointer to store the number of cliques actually contained in the partition

Definition at line 22008 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcCliquePartition(), SCIPgetNegatedVar(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, and Scip::set.

SCIP_RETCODE SCIPcleanupCliques ( SCIP scip,
SCIP_Bool infeasible 
)

force SCIP to clean up all cliques; cliques do not get automatically cleaned up after presolving. Use this method to prevent inactive variables in cliques when retrieved via SCIPgetCliques()

Returns
SCIP_OKAY if everything worked, otherwise a suitable error code is passed
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
infeasiblepointer to store if cleanup detected infeasibility

Definition at line 22065 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_CALL_ABORT, SCIP_OKAY, SCIP_STATUS_INFEASIBLE, SCIPcliquetableCleanup(), Scip::set, Scip::stat, SCIP_Stat::status, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIPshrinkDisjunctiveVarSet(), separateCuts(), and shortenConss().

int SCIPgetNCliques ( SCIP scip)

gets the number of cliques in the clique table

Returns
number of cliques in the clique table
Note
cliques do not get automatically cleaned up after presolving. Use SCIPcleanupCliques() to prevent inactive variables in cliques when retrieved via SCIPgetCliques(). This might reduce the number of cliques
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 22108 of file scip.c.

References checkStage(), Scip::cliquetable, FALSE, SCIP_CALL_ABORT, SCIPcliquetableGetNCliques(), and TRUE.

Referenced by removeConstraintsDueToNegCliques(), SCIP_DECL_SEPAEXECLP(), SCIPcalcCliquePartition(), SCIPcopyImplicationsCliques(), SCIPwriteCliqueGraph(), separateCuts(), shortenConss(), and tcliquegraphConstructCliqueTable().

SCIP_CLIQUE** SCIPgetCliques ( SCIP scip)

gets the array of cliques in the clique table

Returns
array of cliques in the clique table
Note
cliques do not get automatically cleaned up after presolving. Use SCIPcleanupCliques() to prevent inactive variables in cliques when retrieved via SCIPgetCliques(). This might reduce the number of cliques
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 22135 of file scip.c.

References checkStage(), Scip::cliquetable, FALSE, SCIP_CALL_ABORT, SCIPcliquetableGetCliques(), and TRUE.

Referenced by SCIPcopyImplicationsCliques(), SCIPwriteCliqueGraph(), separateCuts(), and tcliquegraphConstructCliqueTable().

SCIP_Bool SCIPhaveVarsCommonClique ( SCIP scip,
SCIP_VAR var1,
SCIP_Bool  value1,
SCIP_VAR var2,
SCIP_Bool  value2,
SCIP_Bool  regardimplics 
)

returns whether there is a clique that contains both given variable/value pairs; the variables must be active binary variables; if regardimplics is FALSE, only the cliques in the clique table are looked at; if regardimplics is TRUE, both the cliques and the implications of the implication graph are regarded

Returns
TRUE, if there is a clique that contains both variable/clique pairs; FALSE, otherwise
Precondition
This method can be called if scip is in one of the following stages:
Note
a variable with it's negated variable are NOT! in a clique
a variable with itself are in a clique
Parameters
scipSCIP data structure
var1first variable
value1value of first variable
var2second variable
value2value of second variable
regardimplicsshould the implication graph also be searched for a clique?

Definition at line 22165 of file scip.c.

References checkStage(), Scip::cliquetable, FALSE, NULL, SCIP_CALL_ABORT, SCIPcliquetableGetNCliques(), SCIPvarGetNCliques(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIPvarsHaveCommonClique(), and TRUE.

Referenced by getImpliedBounds(), and liftCliqueVariables().

SCIP_RETCODE SCIPwriteCliqueGraph ( SCIP scip,
const char *  fname,
SCIP_Bool  writenodeweights 
)

writes the clique graph to a gml file

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
there can be duplicated arcs in the output file

If writenodeweights is true, only nodes corresponding to variables that have a fractional value and only edges between such nodes are written.

Parameters
scipSCIP data structure
fnamename of file
writenodeweightsshould we write weights of nodes?

Definition at line 22217 of file scip.c.

References checkStage(), FALSE, HASHTABLESIZE_FACTOR, NULL, SCIP_Bool, SCIP_CALL, SCIP_CALL_ABORT, SCIP_INVALIDDATA, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPABORT, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPcliqueGetNVars(), SCIPcliqueGetValues(), SCIPcliqueGetVars(), SCIPerrorMessage, SCIPgetCliques(), SCIPgetNCliques(), SCIPgetSolVal(), SCIPgetVarsData(), SCIPgmlWriteArc(), SCIPgmlWriteClosing(), SCIPgmlWriteNode(), SCIPgmlWriteNodeWeight(), SCIPgmlWriteOpening(), SCIPhashmapCreate(), SCIPhashmapExists(), SCIPhashmapFree(), SCIPhashmapInsert(), SCIPisFeasIntegral(), SCIPsnprintf(), SCIPvarGetName(), SCIPvarGetProbindex(), and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC(), and separateGLS().

SCIP_RETCODE SCIPremoveVarFromGlobalStructures ( SCIP scip,
SCIP_VAR var 
)

Removes (irrelevant) variable from all its global structures, i.e. cliques, implications and variable bounds. This is an advanced method which should be used with care.

Returns
SCIP_OKAY if everything worked, otherwise a suitable error code is passed
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to remove from global structures

Definition at line 22366 of file scip.c.

References checkStage(), Scip::cliquetable, FALSE, NULL, SCIP_CALL, SCIP_CALL_ABORT, SCIP_OKAY, SCIPblkmem(), SCIPvarMarkDeleteGlobalStructures(), SCIPvarRemoveCliquesImplicsVbs(), Scip::set, and TRUE.

Referenced by checkLocksAndRes().

SCIP_RETCODE SCIPchgVarBranchFactor ( SCIP scip,
SCIP_VAR var,
SCIP_Real  branchfactor 
)

sets the branch factor of the variable; this value can be used in the branching methods to scale the score values of the variables; higher factor leads to a higher probability that this variable is chosen for branching

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
branchfactorfactor to weigh variable's branching score with

Definition at line 22400 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPvarChgBranchFactor(), Scip::set, and TRUE.

SCIP_RETCODE SCIPscaleVarBranchFactor ( SCIP scip,
SCIP_VAR var,
SCIP_Real  scale 
)

scales the branch factor of the variable with the given value

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
scalefactor to scale variable's branching factor with

Definition at line 22428 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPvarChgBranchFactor(), SCIPvarGetBranchFactor(), Scip::set, and TRUE.

SCIP_RETCODE SCIPaddVarBranchFactor ( SCIP scip,
SCIP_VAR var,
SCIP_Real  addfactor 
)

adds the given value to the branch factor of the variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
addfactorvalue to add to the branch factor of the variable

Definition at line 22456 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPvarChgBranchFactor(), SCIPvarGetBranchFactor(), Scip::set, and TRUE.

SCIP_RETCODE SCIPchgVarBranchPriority ( SCIP scip,
SCIP_VAR var,
int  branchpriority 
)

sets the branch priority of the variable; variables with higher branch priority are always preferred to variables with lower priority in selection of branching variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
the default branching priority is 0
Parameters
scipSCIP data structure
varproblem variable
branchprioritybranch priority of the variable

Definition at line 22487 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPbranchcandUpdateVarBranchPriority(), SCIPisTransformed(), SCIPvarChgBranchPriority(), Scip::set, and TRUE.

Referenced by createAndAddAndCons(), SCIP_DECL_DIALOGEXEC(), SCIPtransformMinUC(), and setObjective().

SCIP_RETCODE SCIPupdateVarBranchPriority ( SCIP scip,
SCIP_VAR var,
int  branchpriority 
)

changes the branch priority of the variable to the given value, if it is larger than the current priority

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
branchprioritynew branch priority of the variable, if it is larger than current priority

Definition at line 22528 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPvarChgBranchPriority(), SCIPvarGetBranchPriority(), and TRUE.

SCIP_RETCODE SCIPaddVarBranchPriority ( SCIP scip,
SCIP_VAR var,
int  addpriority 
)

adds the given value to the branch priority of the variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
addpriorityvalue to add to the branch priority of the variable

Definition at line 22561 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPvarChgBranchPriority(), SCIPvarGetBranchPriority(), and TRUE.

SCIP_RETCODE SCIPchgVarBranchDirection ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  branchdirection 
)

sets the branch direction of the variable (-1: prefer downwards branch, 0: automatic selection, +1: prefer upwards branch)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
branchdirectionpreferred branch direction of the variable (downwards, upwards, auto)

Definition at line 22592 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPvarChgBranchDirection(), and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC().

static SCIP_RETCODE tightenBounds ( SCIP scip,
SCIP_VAR var,
SCIP_VARTYPE  vartype,
SCIP_Bool infeasible 
)
static

tightens the variable bounds due a new variable type

Parameters
scipSCIP data structure
varvariable to change the bound for
vartypenew type of variable
infeasiblepointer to store whether an infeasibility was detected (, due to integrality condition of the new variable type)

Definition at line 22609 of file scip.c.

References FALSE, NULL, SCIP_Var::scip, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_VARTYPE_CONTINUOUS, SCIPfeasCeil(), SCIPfeasFloor(), SCIPgetStage(), SCIPisFeasGE(), SCIPisFeasIntegral(), SCIPisFeasLE(), SCIPisIntegral(), SCIPtightenVarLbGlobal(), SCIPtightenVarUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, and TRUE.

Referenced by SCIPchgVarType().

SCIP_RETCODE SCIPchgVarType ( SCIP scip,
SCIP_VAR var,
SCIP_VARTYPE  vartype,
SCIP_Bool infeasible 
)

changes type of variable in the problem;

Warning
This type change might change the variable array returned from SCIPgetVars() and SCIPgetVarsData();
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
If SCIP is already beyond the SCIP_STAGE_PROBLEM and a original variable is passed, the variable type of the corresponding transformed variable is changed; the type of the original variable does not change
If the type changes from a continuous variable to a non-continuous variable the bounds of the variable get adjusted w.r.t. to integrality information
Parameters
scipSCIP data structure
varvariable to change the bound for
vartypenew type of variable
infeasiblepointer to store whether an infeasibility was detected (, due to integrality condition of the new variable type)

Definition at line 22681 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, FALSE, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIPchgVarType(), SCIPdebugMessage, SCIPerrorMessage, SCIPgetStage(), SCIPgetTransformedVar(), SCIPprobChgVarType(), SCIPvarChgType(), SCIPvarGetName(), SCIPvarGetNegationVar(), SCIPvarGetProbindex(), SCIPvarGetType(), SCIPvarIsNegated(), SCIPvarIsTransformed(), Scip::set, SCIP_Set::stage, tightenBounds(), Scip::transprob, and TRUE.

Referenced by createIndicatorConstraint(), createSubSCIP(), readBinaries(), readBounds(), readGenerals(), SCIP_DECL_CONSPRESOL(), SCIPaddVarIndicator(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarType(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPcreateConsAnd(), SCIPcreateFiniteSolCopy(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), and SCIPtightenVarUbGlobal().

SCIP_RETCODE SCIPfixVar ( SCIP scip,
SCIP_VAR var,
SCIP_Real  fixedval,
SCIP_Bool infeasible,
SCIP_Bool fixed 
)

in problem creation and solving stage, both bounds of the variable are set to the given value; in presolving stage, the variable is converted into a fixed variable, and bounds are changed respectively; conversion into a fixed variable changes the vars array returned from SCIPgetVars() and SCIPgetVarsData(), and also renders arrays returned from the SCIPvarGetImpl...() methods invalid

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to fix
fixedvalvalue to fix variable to
infeasiblepointer to store whether the fixing is infeasible
fixedpointer to store whether the fixing was performed (variable was unfixed)

Definition at line 22777 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_CONTINUOUS, SCIPchgVarLb(), SCIPchgVarUb(), SCIPerrorMessage, SCIPsetIsFeasEQ(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLT(), SCIPtreeGetCurrentDepth(), SCIPvarFix(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbLocal(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by applyAlternativeBoundsFixing(), applyFixings(), applyProbing(), checkForOverlapping(), cliquePresolve(), consdataLinearize(), copyAndSolveComponent(), dualPresolve(), dualPresolving(), fixDeleteOrUpgradeCons(), fixIntegerVariableLb(), fixIntegerVariableUb(), fixTriangle(), fixVariableZero(), liftCliqueVariables(), mergeMultiples(), performDualfix(), prepareCons(), preprocessConstraintPairs(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), presolRoundVarsSOS1(), presolveConsEst(), presolveConsLct(), presolveDual(), presolveFindDuplicates(), presolvePropagateCons(), presolveRemoveFixedVariables(), processNlRow(), readSol(), removeDoubleAndSingletonsAndPerformDualpresolve(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), SCIPcreateFiniteSolCopy(), SCIPselectVarPseudoStrongBranching(), shortenConss(), solveIndependentCons(), tightenBounds(), tryUpgradingLogicor(), and tryUpgradingSetppc().

SCIP_RETCODE SCIPaggregateVars ( SCIP scip,
SCIP_VAR varx,
SCIP_VAR vary,
SCIP_Real  scalarx,
SCIP_Real  scalary,
SCIP_Real  rhs,
SCIP_Bool infeasible,
SCIP_Bool redundant,
SCIP_Bool aggregated 
)

From a given equality a*x + b*y == c, aggregates one of the variables and removes it from the set of active problem variables. This changes the vars array returned from SCIPgetVars() and SCIPgetVarsData(), and also renders the arrays returned from the SCIPvarGetImpl...() methods for the two variables invalid. In the first step, the equality is transformed into an equality with active problem variables a'*x' + b'*y' == c'. If x' == y', this leads to the detection of redundancy if a' == -b' and c' == 0, of infeasibility, if a' == -b' and c' != 0, or to a variable fixing x' == c'/(a'+b') (and possible infeasibility) otherwise. In the second step, the variable to be aggregated is chosen among x' and y', prefering a less strict variable type as aggregation variable (i.e. continuous variables are preferred over implicit integers, implicit integers over integers, and integers over binaries). If none of the variables is continuous, it is tried to find an integer aggregation (i.e. integral coefficients a'' and b'', such that a''*x' + b''*y' == c''). This can lead to the detection of infeasibility (e.g. if c'' is fractional), or to a rejection of the aggregation (denoted by aggregated == FALSE), if the resulting integer coefficients are too large and thus numerically instable.

The output flags have the following meaning:

  • infeasible: the problem is infeasible
  • redundant: the equality can be deleted from the constraint set
  • aggregated: the aggregation was successfully performed (the variables were not aggregated before)
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_PRESOLVING
Parameters
scipSCIP data structure
varxvariable x in equality a*x + b*y == c
varyvariable y in equality a*x + b*y == c
scalarxmultiplier a in equality a*x + b*y == c
scalarymultiplier b in equality a*x + b*y == c
rhsright hand side c in equality a*x + b*y == c
infeasiblepointer to store whether the aggregation is infeasible
redundantpointer to store whether the equality is (now) redundant
aggregatedpointer to store whether the aggregation was successful

Definition at line 22886 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Set::presol_donotaggr, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPerrorMessage, SCIPsetIsZero(), SCIPtreeGetCurrentDepth(), SCIPtreeProbing(), SCIPvarFix(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarTryAggregateVars(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by addExtendedAsymmetricFormulation(), addExtendedFlowFormulation(), applyFixings(), checkCons(), cliquePresolve(), detectRedundantConstraints(), dualPresolve(), findAggregation(), multiAggregateBinvar(), performAggregations(), preprocessConstraintPairs(), presolveFindDuplicates(), presolveFindDuplicatesUpgradeCons(), presolvePropagateCons(), presolveSolve(), removeDoubleAndSingletonsAndPerformDualpresolve(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIPanalyzeDeductionsProbing(), tightenCoefs(), and upgradeConss().

SCIP_RETCODE SCIPmultiaggregateVar ( SCIP scip,
SCIP_VAR var,
int  naggvars,
SCIP_VAR **  aggvars,
SCIP_Real scalars,
SCIP_Real  constant,
SCIP_Bool infeasible,
SCIP_Bool aggregated 
)

converts variable into multi-aggregated variable; this changes the variable array returned from SCIPgetVars() and SCIPgetVarsData();

Warning
The integrality condition is not checked anymore on the multi-aggregated variable. You must not multi-aggregate an integer variable without being sure, that integrality on the aggregation variables implies integrality on the aggregated variable.

The output flags have the following meaning:

  • infeasible: the problem is infeasible
  • aggregated: the aggregation was successfully performed (the variables were not aggregated before)
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can only be called if scip is in stage SCIP_STAGE_PRESOLVING
Parameters
scipSCIP data structure
varvariable x to aggregate
naggvarsnumber n of variables in aggregation x = a_1*y_1 + ... + a_n*y_n + c
aggvarsvariables y_i in aggregation x = a_1*y_1 + ... + a_n*y_n + c
scalarsmultipliers a_i in aggregation x = a_1*y_1 + ... + a_n*y_n + c
constantconstant shift c in aggregation x = a_1*y_1 + ... + a_n*y_n + c
infeasiblepointer to store whether the aggregation is infeasible
aggregatedpointer to store whether the aggregation was successful

Definition at line 23020 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPtreeGetCurrentDepth(), SCIPtreeProbing(), SCIPvarMultiaggregate(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by multiAggregateBinvar(), SCIP_DECL_PRESOLEXEC(), and SCIP_DECL_QUADCONSUPGD().

SCIP_Bool SCIPdoNotAggr ( SCIP scip)
SCIP_Bool SCIPdoNotMultaggr ( SCIP scip)

returns whether multi-aggregation is disabled

Parameters
scipSCIP data structure

Definition at line 23060 of file scip.c.

References NULL, SCIP_Set::presol_donotmultaggr, and Scip::set.

Referenced by removeDoubleAndSingletonsAndPerformDualpresolve().

SCIP_Bool SCIPdoNotMultaggrVar ( SCIP scip,
SCIP_VAR var 
)

returns whether variable is not allowed to be multi-aggregated

Parameters
scipSCIP data structure
varvariable x to aggregate

Definition at line 23070 of file scip.c.

References NULL, SCIP_Set::presol_donotmultaggr, SCIP_Var::scip, SCIPvarDoNotMultaggr(), and Scip::set.

SCIP_Bool SCIPallowDualReds ( SCIP scip)

returns whether dual reductions propagation methods and presolvers is allowed

Parameters
scipSCIP data structure

Definition at line 23083 of file scip.c.

References SCIP_Set::misc_allowdualreds, NULL, SCIP_Set::reopt_enable, and Scip::set.

Referenced by enforceIndicators(), presolveCons(), propagateCons(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), and SCIP_DECL_PROPPRESOL().

SCIP_Bool SCIPallowObjProp ( SCIP scip)

returns whether propagation w.r.t. current objective is allowed

Parameters
scipSCIP data structure

Definition at line 23093 of file scip.c.

References SCIP_Set::misc_allowobjprop, NULL, SCIP_Set::reopt_enable, and Scip::set.

Referenced by SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSRESPROP(), and SCIP_DECL_PROPEXEC().

SCIP_RETCODE SCIPmarkDoNotMultaggrVar ( SCIP scip,
SCIP_VAR var 
)

marks the variable that it must not be multi-aggregated

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
There exists no "unmark" method since it has to be ensured that if a plugin requires that a variable is not multi-aggregated that this is will be the case.
Parameters
scipSCIP data structure
varvariable to delete

Definition at line 23119 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPvarMarkDoNotMultaggr(), and TRUE.

Referenced by checkFixedVariables(), consdataCreate(), createConstraints(), handleNewVariableSOS1(), reformNode2Var(), removeFixedVariables(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSTRANS(), SCIP_DECL_QUADCONSUPGD(), SCIPcreateConsAbspower(), SCIPcreateConsIndicator(), SCIPcreateConsIndicatorLinCons(), and SCIPcreateConsSOS1().

void SCIPenableVarHistory ( SCIP scip)

enables the collection of statistics for a variable

Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 23145 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPstatEnableVarHistory(), Scip::stat, and TRUE.

Referenced by performRandRounding(), SCIP_DECL_HEUREXEC(), SCIPapplyProbingVar(), and SCIPperformGenericDivingAlgorithm().

void SCIPdisableVarHistory ( SCIP scip)

disables the collection of any statistic for a variable

Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 23164 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPstatDisableVarHistory(), Scip::stat, and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPupdateVarPseudocost ( SCIP scip,
SCIP_VAR var,
SCIP_Real  solvaldelta,
SCIP_Real  objdelta,
SCIP_Real  weight 
)

updates the pseudo costs of the given variable and the global pseudo costs after a change of "solvaldelta" in the variable's solution value and resulting change of "objdelta" in the in the LP's objective value; the update is ignored, if the objective value difference is infinite

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
solvaldeltadifference of variable's new LP value - old LP value
objdeltadifference of new LP's objective value - old LP's objective value
weightweight in (0,1] of this update in pseudo cost sum

Definition at line 23184 of file scip.c.

References SCIP_Set::branch_divingpscost, checkStage(), SCIP_Lp::diving, FALSE, Scip::lp, SCIP_CALL, SCIP_OKAY, SCIPsetIsInfinity(), SCIPtreeProbing(), SCIPvarUpdatePseudocost(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by execRelpscost(), SCIPperformGenericDivingAlgorithm(), SCIPselectVarPseudoStrongBranching(), and SCIPselectVarStrongBranching().

SCIP_Real SCIPgetVarPseudocostVal ( SCIP scip,
SCIP_VAR var,
SCIP_Real  solvaldelta 
)

gets the variable's pseudo cost value for the given change of the variable's LP value

Returns
the variable's pseudo cost value for the given change of the variable's LP value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
solvaldeltadifference of variable's new LP value - old LP value

Definition at line 23218 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPvarGetPseudocost(), Scip::stat, and TRUE.

Referenced by calcPscostQuot(), and updateBestCandidate().

SCIP_Real SCIPgetVarPseudocostValCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_Real  solvaldelta 
)

gets the variable's pseudo cost value for the given change of the variable's LP value, only using the pseudo cost information of the current run

Returns
the variable's pseudo cost value for the given change of the variable's LP value, only using the pseudo cost information of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
solvaldeltadifference of variable's new LP value - old LP value

Definition at line 23246 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPvarGetPseudocostCurrentRun(), Scip::stat, and TRUE.

SCIP_Real SCIPgetVarPseudocost ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

gets the variable's pseudo cost value for the given direction

Returns
the variable's pseudo cost value for the given direction
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 23272 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIPvarGetPseudocost(), Scip::stat, and TRUE.

SCIP_Real SCIPgetVarPseudocostCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

gets the variable's pseudo cost value for the given direction, only using the pseudo cost information of the current run

Returns
the variable's pseudo cost value for the given direction, only using the pseudo cost information of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 23300 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIPvarGetPseudocostCurrentRun(), Scip::stat, and TRUE.

Referenced by execRelpscost().

SCIP_Real SCIPgetVarPseudocostCount ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

gets the variable's (possible fractional) number of pseudo cost updates for the given direction

Returns
the variable's (possible fractional) number of pseudo cost updates for the given direction
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 23326 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIPvarGetPseudocostCount(), and TRUE.

SCIP_Real SCIPgetVarPseudocostCountCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

gets the variable's (possible fractional) number of pseudo cost updates for the given direction, only using the pseudo cost information of the current run

Returns
the variable's (possible fractional) number of pseudo cost updates for the given direction, only using the pseudo cost information of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 23354 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIPvarGetPseudocostCountCurrentRun(), and TRUE.

Referenced by execRelpscost().

SCIP_Real SCIPgetVarPseudocostVariance ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir,
SCIP_Bool  onlycurrentrun 
)

get pseudo cost variance of the variable, either for entire solve or only for current branch and bound run

Returns
returns the (corrected) variance of pseudo code information collected so far.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)
onlycurrentrunonly for pseudo costs of current branch and bound run

Definition at line 23380 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIPvarGetPseudocostVariance(), and TRUE.

SCIP_Real SCIPcalculatePscostConfidenceBound ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir,
SCIP_Bool  onlycurrentrun,
SCIP_CONFIDENCELEVEL  clevel 
)

calculates a confidence bound for this variable under the assumption of normally distributed pseudo costs

The confidence bound $ \theta \geq 0$ denotes the interval borders $ [X - \theta, \ X + \theta]$, which contains the true pseudo costs of the variable, i.e., the expected value of the normal distribution, with a probability of 2 * clevel - 1.

Returns
value of confidence bound for this variable
Parameters
scipSCIP data structure
varvariable in question
dirthe branching direction for the confidence bound
onlycurrentrunshould only the current run be taken into account
clevelconfidence level for the interval

Definition at line 23402 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPvarCalcPscostConfidenceBound(), Scip::set, and TRUE.

SCIP_Bool SCIPsignificantVarPscostDifference ( SCIP scip,
SCIP_VAR varx,
SCIP_Real  fracx,
SCIP_VAR vary,
SCIP_Real  fracy,
SCIP_BRANCHDIR  dir,
SCIP_CONFIDENCELEVEL  clevel,
SCIP_Bool  onesided 
)

check if variable pseudo-costs have a significant difference in location. The significance depends on the choice of clevel and on the kind of tested hypothesis. The one-sided hypothesis, which should be rejected, is that fracy * mu_y >= fracx * mu_x, where mu_y and mu_x denote the unknown location means of the underlying pseudo-cost distributions of x and y.

This method is applied best if variable x has a better pseudo-cost score than y. The method hypothesizes that y were actually better than x (despite the current information), meaning that y can be expected to yield branching decisions as least as good as x in the long run. If the method returns TRUE, the current history information is sufficient to safely rely on the alternative hypothesis that x yields indeed a better branching score (on average) than y.

Note
The order of x and y matters for the one-sided hypothesis
set onesided to FALSE if you are not sure which variable is better. The hypothesis tested then reads fracy * mu_y == fracx * mu_x vs the alternative hypothesis fracy * mu_y != fracx * mu_x.
Returns
TRUE if the hypothesis can be safely rejected at the given confidence level
Parameters
scipSCIP data structure
varxvariable x
fracxthe fractionality of variable x
varyvariable y
fracythe fractionality of variable y
dirbranching direction
clevelconfidence level for rejecting hypothesis
onesidedshould a one-sided hypothesis y >= x be tested?

Definition at line 23433 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPvarSignificantPscostDifference(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

SCIP_Bool SCIPpscostThresholdProbabilityTest ( SCIP scip,
SCIP_VAR var,
SCIP_Real  frac,
SCIP_Real  threshold,
SCIP_BRANCHDIR  dir,
SCIP_CONFIDENCELEVEL  clevel 
)

tests at a given confidence level whether the variable pseudo-costs only have a small probability to exceed a threshold. This is useful to determine if past observations provide enough evidence to skip an expensive strong-branching step if there is already a candidate that has been proven to yield an improvement of at least threshold.

Note
use clevel to adjust the level of confidence. For SCIP_CONFIDENCELEVEL_MIN, the method returns TRUE if the estimated probability to exceed threshold is less than 25 %.
See also
SCIP_Confidencelevel for a list of available levels. The used probability limits refer to the one-sided levels of confidence.
Returns
TRUE if the variable pseudo-cost probabilistic model is likely to be smaller than threshold at the given confidence level clevel.
Parameters
scipSCIP data structure
varvariable x
fracthe fractionality of variable x
thresholdthe threshold to test against
dirbranching direction
clevelconfidence level for rejecting hypothesis

Definition at line 23463 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPvarPscostThresholdProbabilityTest(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

SCIP_Bool SCIPisVarPscostRelerrorReliable ( SCIP scip,
SCIP_VAR var,
SCIP_Real  threshold,
SCIP_CONFIDENCELEVEL  clevel 
)

check if the current pseudo cost relative error in a direction violates the given threshold. The Relative Error is calculated at a specific confidence level

Returns
TRUE if relative error in variable pseudo costs is smaller than threshold
Parameters
scipSCIP data structure
varvariable in question
thresholdthreshold for relative errors to be considered reliable (enough)
clevela given confidence level

Definition at line 23482 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPvarIsPscostRelerrorReliable(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

SCIP_Real SCIPgetVarPseudocostScore ( SCIP scip,
SCIP_VAR var,
SCIP_Real  solval 
)

gets the variable's pseudo cost score value for the given LP solution value

Returns
the variable's pseudo cost score value for the given LP solution value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
solvalvariable's LP solution value

Definition at line 23507 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPsetFeasCeil(), SCIPsetFeasFloor(), SCIPvarGetPseudocost(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost(), and SCIP_DECL_BRANCHEXECLP().

SCIP_Real SCIPgetVarPseudocostScoreCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_Real  solval 
)

gets the variable's pseudo cost score value for the given LP solution value, only using the pseudo cost information of the current run

Returns
the variable's pseudo cost score value for the given LP solution value, only using the pseudo cost information of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
solvalvariable's LP solution value

Definition at line 23545 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPsetFeasCeil(), SCIPsetFeasFloor(), SCIPvarGetPseudocostCurrentRun(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

SCIP_Real SCIPgetVarVSIDS ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the variable's VSIDS value

Returns
the variable's VSIDS value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 23581 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_INVALID, SCIPerrorMessage, SCIPvarGetVSIDS(), Scip::stat, and TRUE.

SCIP_Real SCIPgetVarVSIDSCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the variable's VSIDS value only using conflicts of the current run

Returns
the variable's VSIDS value only using conflicts of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 23613 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_INVALID, SCIPerrorMessage, SCIPvarGetVSIDSCurrentRun(), Scip::stat, and TRUE.

SCIP_Real SCIPgetVarConflictScore ( SCIP scip,
SCIP_VAR var 
)

returns the variable's conflict score value

Returns
the variable's conflict score value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 23645 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPvarGetVSIDS(), Scip::set, Scip::stat, and TRUE.

Referenced by computeFixingOrder(), execRelpscost(), getAggrScore(), and performBranching().

SCIP_Real SCIPgetVarConflictScoreCurrentRun ( SCIP scip,
SCIP_VAR var 
)

returns the variable's conflict score value only using conflicts of the current run

Returns
the variable's conflict score value only using conflicts of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 23676 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPvarGetVSIDSCurrentRun(), Scip::set, Scip::stat, and TRUE.

SCIP_Real SCIPgetVarConflictlengthScore ( SCIP scip,
SCIP_VAR var 
)

returns the variable's conflict length score

Returns
the variable's conflict length score
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 23707 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPvarGetAvgConflictlength(), Scip::set, and TRUE.

Referenced by execRelpscost().

SCIP_Real SCIPgetVarConflictlengthScoreCurrentRun ( SCIP scip,
SCIP_VAR var 
)

returns the variable's conflict length score only using conflicts of the current run

Returns
the variable's conflict length score only using conflicts of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 23738 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPvarGetAvgConflictlengthCurrentRun(), Scip::set, and TRUE.

SCIP_Real SCIPgetVarAvgConflictlength ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the variable's average conflict length

Returns
the variable's average conflict length
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 23769 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPvarGetAvgConflictlength(), and TRUE.

SCIP_Real SCIPgetVarAvgConflictlengthCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the variable's average conflict length only using conflicts of the current run

Returns
the variable's average conflict length only using conflicts of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 23795 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPvarGetAvgConflictlengthCurrentRun(), and TRUE.

SCIP_Real SCIPgetVarAvgInferences ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the average number of inferences found after branching on the variable in given direction; if branching on the variable in the given direction was yet evaluated, the average number of inferences over all variables for branching in the given direction is returned

Returns
the average number of inferences found after branching on the variable in given direction
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 23823 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPvarGetAvgInferences(), Scip::stat, and TRUE.

SCIP_Real SCIPgetVarAvgInferencesCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the average number of inferences found after branching on the variable in given direction in the current run; if branching on the variable in the given direction was yet evaluated, the average number of inferences over all variables for branching in the given direction is returned

Returns
the average number of inferences found after branching on the variable in given direction in the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 23851 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPvarGetAvgInferencesCurrentRun(), Scip::stat, and TRUE.

SCIP_Real SCIPgetVarAvgInferenceScore ( SCIP scip,
SCIP_VAR var 
)

returns the variable's average inference score value

Returns
the variable's average inference score value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 23877 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPvarGetAvgInferences(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost(), fixVariable(), and performBranching().

SCIP_Real SCIPgetVarAvgInferenceScoreCurrentRun ( SCIP scip,
SCIP_VAR var 
)

returns the variable's average inference score value only using inferences of the current run

Returns
the variable's average inference score value only using inferences of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 23908 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPvarGetAvgInferencesCurrentRun(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPinitVarBranchStats ( SCIP scip,
SCIP_VAR var,
SCIP_Real  downpscost,
SCIP_Real  uppscost,
SCIP_Real  downvsids,
SCIP_Real  upvsids,
SCIP_Real  downconflen,
SCIP_Real  upconflen,
SCIP_Real  downinfer,
SCIP_Real  upinfer,
SCIP_Real  downcutoff,
SCIP_Real  upcutoff 
)

initializes the upwards and downwards pseudocosts, conflict scores, conflict lengths, inference scores, cutoff scores of a variable to the given values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable which should be initialized
downpscostvalue to which pseudocosts for downwards branching should be initialized
uppscostvalue to which pseudocosts for upwards branching should be initialized
downvsidsvalue to which VSIDS score for downwards branching should be initialized
upvsidsvalue to which VSIDS score for upwards branching should be initialized
downconflenvalue to which conflict length score for downwards branching should be initialized
upconflenvalue to which conflict length score for upwards branching should be initialized
downinfervalue to which inference counter for downwards branching should be initialized
upinfervalue to which inference counter for upwards branching should be initialized
downcutoffvalue to which cutoff counter for downwards branching should be initialized
upcutoffvalue to which cutoff counter for upwards branching should be initialized

Definition at line 23941 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_OKAY, SCIP_UNKNOWN, SCIPisFeasZero(), SCIPvarIncCutoffSum(), SCIPvarIncInferenceSum(), SCIPvarIncNActiveConflicts(), SCIPvarIncNBranchings(), SCIPvarIncVSIDS(), SCIPvarUpdatePseudocost(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPinitVarValueBranchStats ( SCIP scip,
SCIP_VAR var,
SCIP_Real  value,
SCIP_Real  downvsids,
SCIP_Real  upvsids,
SCIP_Real  downconflen,
SCIP_Real  upconflen,
SCIP_Real  downinfer,
SCIP_Real  upinfer,
SCIP_Real  downcutoff,
SCIP_Real  upcutoff 
)

initializes the upwards and downwards conflict scores, conflict lengths, inference scores, cutoff scores of a variable w.r.t. a value by the given values (SCIP_VALUEHISTORY)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable which should be initialized
valuedomain value, or SCIP_UNKNOWN
downvsidsvalue to which VSIDS score for downwards branching should be initialized
upvsidsvalue to which VSIDS score for upwards branching should be initialized
downconflenvalue to which conflict length score for downwards branching should be initialized
upconflenvalue to which conflict length score for upwards branching should be initialized
downinfervalue to which inference counter for downwards branching should be initialized
upinfervalue to which inference counter for upwards branching should be initialized
downcutoffvalue to which cutoff counter for downwards branching should be initialized
upcutoffvalue to which cutoff counter for upwards branching should be initialized

Definition at line 24012 of file scip.c.

References checkStage(), FALSE, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), SCIPisFeasZero(), SCIPvarIncCutoffSum(), SCIPvarIncInferenceSum(), SCIPvarIncNActiveConflicts(), SCIPvarIncNBranchings(), SCIPvarIncVSIDS(), Scip::set, Scip::stat, and TRUE.

SCIP_Real SCIPgetVarAvgCutoffs ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the average number of cutoffs found after branching on the variable in given direction; if branching on the variable in the given direction was yet evaluated, the average number of cutoffs over all variables for branching in the given direction is returned

Returns
the average number of cutoffs found after branching on the variable in given direction
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 24077 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPvarGetAvgCutoffs(), Scip::stat, and TRUE.

SCIP_Real SCIPgetVarAvgCutoffsCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir 
)

returns the average number of cutoffs found after branching on the variable in given direction in the current run; if branching on the variable in the given direction was yet evaluated, the average number of cutoffs over all variables for branching in the given direction is returned

Returns
the average number of cutoffs found after branching on the variable in given direction in the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
dirbranching direction (downwards, or upwards)

Definition at line 24105 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPvarGetAvgCutoffsCurrentRun(), Scip::stat, and TRUE.

SCIP_Real SCIPgetVarAvgCutoffScore ( SCIP scip,
SCIP_VAR var 
)

returns the variable's average cutoff score value

Returns
the variable's average cutoff score value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 24131 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPvarGetAvgCutoffs(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

SCIP_Real SCIPgetVarAvgCutoffScoreCurrentRun ( SCIP scip,
SCIP_VAR var 
)

returns the variable's average cutoff score value, only using cutoffs of the current run

Returns
the variable's average cutoff score value, only using cutoffs of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable

Definition at line 24162 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPvarGetAvgCutoffsCurrentRun(), Scip::set, Scip::stat, and TRUE.

SCIP_Real SCIPgetVarAvgInferenceCutoffScore ( SCIP scip,
SCIP_VAR var,
SCIP_Real  cutoffweight 
)

returns the variable's average inference/cutoff score value, weighting the cutoffs of the variable with the given factor

Returns
the variable's average inference/cutoff score value
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
cutoffweightfactor to weigh average number of cutoffs in branching score

Definition at line 24194 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistory, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPhistoryGetAvgInferences(), SCIPvarGetAvgCutoffs(), SCIPvarGetAvgInferences(), Scip::set, Scip::stat, and TRUE.

Referenced by computeFixingOrder(), getAggrScore(), and performBranching().

SCIP_Real SCIPgetVarAvgInferenceCutoffScoreCurrentRun ( SCIP scip,
SCIP_VAR var,
SCIP_Real  cutoffweight 
)

returns the variable's average inference/cutoff score value, weighting the cutoffs of the variable with the given factor, only using inferences and cutoffs of the current run

Returns
the variable's average inference/cutoff score value, only using inferences and cutoffs of the current run
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varproblem variable
cutoffweightfactor to weigh average number of cutoffs in branching score

Definition at line 24238 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistorycrun, SCIP_Var::scip, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPhistoryGetAvgInferences(), SCIPvarGetAvgCutoffsCurrentRun(), SCIPvarGetAvgInferencesCurrentRun(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPprintVar ( SCIP scip,
SCIP_VAR var,
FILE *  file 
)

outputs variable information to file stream via the message system

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
If the message handler is set to a NULL pointer nothing will be printed
Parameters
scipSCIP data structure
varproblem variable
fileoutput file (or NULL for standard output)

Definition at line 24289 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, SCIP_CALL, SCIP_OKAY, SCIPvarPrint(), Scip::set, and TRUE.

Referenced by checkBounddisjunction(), checkKnapsack(), computeAndConstraintInfos(), createVariable(), getFixedVariable(), getVariable(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_READERWRITE(), and SCIPwriteOpb().

SCIP_Bool SCIPisConflictAnalysisApplicable ( SCIP scip)

return TRUE if conflict analysis is applicable; In case the function return FALSE there is no need to initialize the conflict analysis since it will not be applied

Returns
return TRUE if conflict analysis is applicable; In case the function return FALSE there is no need to initialize the conflict analysis since it will not be applied
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure

Definition at line 24320 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPconflictApplicable(), SCIPgetDepth(), Scip::set, and TRUE.

Referenced by analyseInfeasibelCoreInsertion(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictOne(), analyzeConflictOverload(), analyzeConflictUpperbound(), analyzeConflictZero(), analyzeGenVBoundConflict(), inferboundsEdgeFinding(), processBinvarFixings(), propagateCons(), propagateCutoffboundBinvar(), propagateLbTTEF(), propagateTTEF(), propagateUbTTEF(), propIndicator(), SCIPaddCut(), tightenedIntvar(), tightenLbTTEF(), and tightenUbTTEF().

SCIP_RETCODE SCIPinitConflictAnalysis ( SCIP scip)

initializes the conflict analysis by clearing the conflict candidate queue; this method must be called before you enter the conflict variables by calling SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPaddConflictBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictRelaxedBd(), or SCIPaddConflictBinvar();

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure

Definition at line 24342 of file scip.c.

References checkStage(), Scip::conflict, FALSE, SCIP_CALL, SCIP_OKAY, SCIPconflictInit(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by analyseInfeasibelCoreInsertion(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictOne(), analyzeConflictOverload(), analyzeConflictUpperbound(), analyzeConflictZero(), analyzeGenVBoundConflict(), inferboundsEdgeFinding(), processBinvarFixings(), propagateCons(), propagateCutoffboundBinvar(), propagateLbTTEF(), propagateTTEF(), propagateUbTTEF(), propIndicator(), SCIPaddCut(), tightenedIntvar(), tightenLbTTEF(), and tightenUbTTEF().

SCIP_RETCODE SCIPaddConflictLb ( SCIP scip,
SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx 
)

adds lower bound of variable at the time of the given bound change index to the conflict analysis' candidate storage; this method should be called in one of the following two cases:

  1. Before calling the SCIPanalyzeConflict() method, SCIPaddConflictLb() should be called for each lower bound that led to the conflict (e.g. the infeasibility of globally or locally valid constraint).
  2. In the propagation conflict resolving method of a constraint handler, SCIPaddConflictLb() should be called for each lower bound, whose current assignment led to the deduction of the given conflict bound.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
varvariable whose lower bound should be added to conflict candidate queue
bdchgidxbound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound

Definition at line 24369 of file scip.c.

References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPconflictAddBound(), Scip::set, Scip::stat, and TRUE.

Referenced by addConflictBinvar(), addConflictBounds(), addConflictReasonVars(), analyseInfeasibelCoreInsertion(), analyzeConflict(), analyzeConflictOverload(), analyzeConflictUpperbound(), analyzeEnergyRequirement(), inferboundsEdgeFinding(), propagateTTEF(), propIndicator(), resolvePropagation(), resolvePropagationCoretimes(), respropCumulativeCondition(), SCIP_DECL_CONSRESPROP(), SCIPaddCut(), tightenedIntvar(), and tightenUbTTEF().

SCIP_RETCODE SCIPaddConflictRelaxedLb ( SCIP scip,
SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx,
SCIP_Real  relaxedlb 
)

adds lower bound of variable at the time of the given bound change index to the conflict analysis' candidate storage with the additional information of a relaxed lower bound; this relaxed lower bound is the one which would be enough to explain a certain bound change; this method should be called in one of the following two cases:

  1. Before calling the SCIPanalyzeConflict() method, SCIPaddConflictRelaxedLb() should be called for each (relaxed) lower bound that led to the conflict (e.g. the infeasibility of globally or locally valid constraint).
  2. In the propagation conflict resolving method of a constraint handler, SCIPaddConflictRelexedLb() should be called for each (relaxed) lower bound, whose current assignment led to the deduction of the given conflict bound.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
varvariable whose lower bound should be added to conflict candidate queue
bdchgidxbound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound
relaxedlbthe relaxed lower bound

Definition at line 24403 of file scip.c.

References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPconflictAddRelaxedBound(), Scip::set, Scip::stat, and TRUE.

Referenced by analyseInfeasibelCoreInsertion(), analyzeConflict(), analyzeConflictOverload(), analyzeConflictUpperbound(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), relaxVbdvar(), resolveGenVBoundPropagation(), resolvePropagation(), resolvePropagationCoretimes(), and respropCumulativeCondition().

SCIP_RETCODE SCIPaddConflictUb ( SCIP scip,
SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx 
)

adds upper bound of variable at the time of the given bound change index to the conflict analysis' candidate storage; this method should be called in one of the following two cases:

  1. Before calling the SCIPanalyzeConflict() method, SCIPaddConflictUb() should be called for each upper bound that led to the conflict (e.g. the infeasibility of globally or locally valid constraint).
  2. In the propagation conflict resolving method of a constraint handler, SCIPaddConflictUb() should be called for each upper bound, whose current assignment led to the deduction of the given conflict bound.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
varvariable whose upper bound should be added to conflict candidate queue
bdchgidxbound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound

Definition at line 24436 of file scip.c.

References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPconflictAddBound(), Scip::set, Scip::stat, and TRUE.

Referenced by addConflictBinvar(), addConflictBounds(), addConflictReasonVars(), analyseInfeasibelCoreInsertion(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictOverload(), analyzeEnergyRequirement(), inferboundsEdgeFinding(), propagateLbTTEF(), propagateUbTTEF(), resolvePropagation(), resolvePropagationCoretimes(), respropCumulativeCondition(), SCIP_DECL_CONSRESPROP(), SCIPaddCut(), tightenedIntvar(), and tightenLbTTEF().

SCIP_RETCODE SCIPaddConflictRelaxedUb ( SCIP scip,
SCIP_VAR var,
SCIP_BDCHGIDX bdchgidx,
SCIP_Real  relaxedub 
)

adds upper bound of variable at the time of the given bound change index to the conflict analysis' candidate storage with the additional information of a relaxed upper bound; this relaxed upper bound is the one which would be enough to explain a certain bound change; this method should be called in one of the following two cases:

  1. Before calling the SCIPanalyzeConflict() method, SCIPaddConflictRelaxedUb() should be called for each (relaxed) upper bound that led to the conflict (e.g. the infeasibility of globally or locally valid constraint).
  2. In the propagation conflict resolving method of a constraint handler, SCIPaddConflictRelaxedUb() should be called for each (relaxed) upper bound, whose current assignment led to the deduction of the given conflict bound.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
varvariable whose upper bound should be added to conflict candidate queue
bdchgidxbound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound
relaxedubthe relaxed upper bound

Definition at line 24471 of file scip.c.

References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPconflictAddRelaxedBound(), Scip::set, Scip::stat, and TRUE.

Referenced by analyseInfeasibelCoreInsertion(), analyzeConflict(), analyzeConflictLowerbound(), analyzeConflictOverload(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), relaxVbdvar(), resolveGenVBoundPropagation(), resolvePropagation(), resolvePropagationCoretimes(), and respropCumulativeCondition().

SCIP_RETCODE SCIPaddConflictBd ( SCIP scip,
SCIP_VAR var,
SCIP_BOUNDTYPE  boundtype,
SCIP_BDCHGIDX bdchgidx 
)

adds lower or upper bound of variable at the time of the given bound change index to the conflict analysis' candidate storage; this method should be called in one of the following two cases:

  1. Before calling the SCIPanalyzeConflict() method, SCIPaddConflictBd() should be called for each bound that led to the conflict (e.g. the infeasibility of globally or locally valid constraint).
  2. In the propagation conflict resolving method of a constraint handler, SCIPaddConflictBd() should be called for each bound, whose current assignment led to the deduction of the given conflict bound.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
varvariable whose upper bound should be added to conflict candidate queue
boundtypethe type of the conflicting bound (lower or upper bound)
bdchgidxbound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound

Definition at line 24504 of file scip.c.

References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPconflictAddBound(), Scip::set, Scip::stat, and TRUE.

Referenced by analyzeConflict(), and SCIP_DECL_CONSRESPROP().

SCIP_RETCODE SCIPaddConflictRelaxedBd ( SCIP scip,
SCIP_VAR var,
SCIP_BOUNDTYPE  boundtype,
SCIP_BDCHGIDX bdchgidx,
SCIP_Real  relaxedbd 
)

adds lower or upper bound of variable at the time of the given bound change index to the conflict analysis' candidate storage; with the additional information of a relaxed upper bound; this relaxed upper bound is the one which would be enough to explain a certain bound change; this method should be called in one of the following two cases:

  1. Before calling the SCIPanalyzeConflict() method, SCIPaddConflictRelaxedBd() should be called for each (relaxed) bound that led to the conflict (e.g. the infeasibility of globally or locally valid constraint).
  2. In the propagation conflict resolving method of a constraint handler, SCIPaddConflictRelaxedBd() should be called for each (relaxed) bound, whose current assignment led to the deduction of the given conflict bound.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
varvariable whose upper bound should be added to conflict candidate queue
boundtypethe type of the conflicting bound (lower or upper bound)
bdchgidxbound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound
relaxedbdthe relaxed bound

Definition at line 24539 of file scip.c.

References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPconflictAddRelaxedBound(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPaddConflictBinvar ( SCIP scip,
SCIP_VAR var 
)

adds changed bound of fixed binary variable to the conflict analysis' candidate storage; this method should be called in one of the following two cases:

  1. Before calling the SCIPanalyzeConflict() method, SCIPaddConflictBinvar() should be called for each fixed binary variable that led to the conflict (e.g. the infeasibility of globally or locally valid constraint).
  2. In the propagation conflict resolving method of a constraint handler, SCIPaddConflictBinvar() should be called for each binary variable, whose current fixing led to the deduction of the given conflict bound.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
varbinary variable whose changed bound should be added to conflict queue

Definition at line 24573 of file scip.c.

References checkStage(), Scip::conflict, FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_Var::scip, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPconflictAddBound(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), Scip::set, Scip::stat, and TRUE.

Referenced by addConflictBounds(), analyzeConflict(), analyzeConflictOne(), analyzeConflictZero(), processBinvarFixings(), propagateCons(), propIndicator(), resolvePropagation(), SCIP_DECL_CONSRESPROP(), and tightenedIntvar().

SCIP_RETCODE SCIPisConflictVarUsed ( SCIP scip,
SCIP_VAR var,
SCIP_BOUNDTYPE  boundtype,
SCIP_BDCHGIDX bdchgidx,
SCIP_Bool used 
)

checks if the given variable is already part of the current conflict set or queued for resolving with the same or even stronger bound

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
varvariable whose upper bound should be added to conflict candidate queue
boundtypethe type of the conflicting bound (lower or upper bound)
bdchgidxbound change index representing time on path to current node, when the conflicting bound was valid, NULL for current local bound
usedpointer to store if the variable is already used

Definition at line 24607 of file scip.c.

References checkStage(), Scip::conflict, FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPconflictIsVarUsed(), Scip::set, and TRUE.

SCIP_Real SCIPgetConflictVarLb ( SCIP scip,
SCIP_VAR var 
)

returns the conflict lower bound if the variable is present in the current conflict set; otherwise the global lower bound

Returns
returns the conflict lower bound if the variable is present in the current conflict set; otherwise the global lower bound
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
varproblem variable

Definition at line 24635 of file scip.c.

References checkStage(), Scip::conflict, FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPconflictGetVarLb(), and TRUE.

Referenced by analyzeConflict(), analyzeConflictUpperbound(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), getGenVBoundsMinActivityConflict(), resolveGenVBoundPropagation(), and resolvePropagationCoretimes().

SCIP_Real SCIPgetConflictVarUb ( SCIP scip,
SCIP_VAR var 
)

returns the conflict upper bound if the variable is present in the current conflict set; otherwise minus global upper bound

Returns
returns the conflict upper bound if the variable is present in the current conflict set; otherwise minus global upper bound
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
varproblem variable

Definition at line 24659 of file scip.c.

References checkStage(), Scip::conflict, FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPconflictGetVarUb(), and TRUE.

Referenced by analyzeConflict(), analyzeConflictLowerbound(), analyzeEnergyRequirement(), analyzeGenVBoundConflict(), getGenVBoundsMinActivityConflict(), resolveGenVBoundPropagation(), and resolvePropagationCoretimes().

SCIP_RETCODE SCIPanalyzeConflict ( SCIP scip,
int  validdepth,
SCIP_Bool success 
)

analyzes conflict bounds that were added after a call to SCIPinitConflictAnalysis() with calls to SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPaddConflictBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictRelaxedBd(), or SCIPaddConflictBinvar(); on success, calls the conflict handlers to create a conflict constraint out of the resulting conflict set; the given valid depth must be a depth level, at which the conflict set defined by calls to SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPaddConflictBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictRelaxedBd(), and SCIPaddConflictBinvar() is valid for the whole subtree; if the conflict was found by a violated constraint, use SCIPanalyzeConflictCons() instead of SCIPanalyzeConflict() to make sure, that the correct valid depth is used

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
validdepthminimal depth level at which the initial conflict set is valid
successpointer to store whether a conflict constraint was created, or NULL

Definition at line 24689 of file scip.c.

References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPconflictAnalyze(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by analyzeConflictLowerbound(), analyzeConflictUpperbound(), analyzeGenVBoundConflict(), propagateCutoffboundBinvar(), and SCIPaddCut().

SCIP_RETCODE SCIPanalyzeConflictCons ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool success 
)

analyzes conflict bounds that were added with calls to SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPaddConflictBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictRelaxedBd(), or SCIPaddConflictBinvar(); on success, calls the conflict handlers to create a conflict constraint out of the resulting conflict set; the given constraint must be the constraint that detected the conflict, i.e. the constraint that is infeasible in the local bounds of the initial conflict set (defined by calls to SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPaddConflictBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictRelaxedBd(), and SCIPaddConflictBinvar())

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
SCIP stage does not get changed
Parameters
scipSCIP data structure
consconstraint that detected the conflict
successpointer to store whether a conflict constraint was created, or NULL

Definition at line 24720 of file scip.c.

References checkStage(), Scip::conflict, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPconflictAnalyze(), SCIPconsGetValidDepth(), SCIPconsIsActive(), SCIPconsIsGlobal(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by analyzeConflict(), analyzeConflictOne(), analyzeConflictZero(), processBinvarFixings(), propagateCons(), propIndicator(), and tightenedIntvar().

SCIP_RETCODE SCIPcreateCons ( SCIP scip,
SCIP_CONS **  cons,
const char *  name,
SCIP_CONSHDLR conshdlr,
SCIP_CONSDATA consdata,
SCIP_Bool  initial,
SCIP_Bool  separate,
SCIP_Bool  enforce,
SCIP_Bool  check,
SCIP_Bool  propagate,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  dynamic,
SCIP_Bool  removable,
SCIP_Bool  stickingatnode 
)

creates and captures a constraint of the given constraint handler

Warning
If a constraint is marked to be checked for feasibility but not to be enforced, a LP or pseudo solution may be declared feasible even if it violates this particular constraint. This constellation should only be used, if no LP or pseudo solution can violate the constraint – e.g. if a local constraint is redundant due to the variable's local bounds.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
Parameters
scipSCIP data structure
conspointer to constraint
namename of constraint
conshdlrconstraint handler for this constraint
consdatadata for this specific constraint
initialshould the LP relaxation of constraint be in the initial LP? Usually set to TRUE. Set to FALSE for 'lazy constraints'.
separateshould the constraint be separated during LP processing? Usually set to TRUE.
enforceshould the constraint be enforced during node processing? TRUE for model constraints, FALSE for additional, redundant constraints.
checkshould the constraint be checked for feasibility? TRUE for model constraints, FALSE for additional, redundant constraints.
propagateshould the constraint be propagated during node processing? Usually set to TRUE.
localis constraint only valid locally? Usually set to FALSE. Has to be set to TRUE, e.g., for branching constraints.
modifiableis constraint modifiable (subject to column generation)? Usually set to FALSE. In column generation applications, set to TRUE if pricing adds coefficients to this constraint.
dynamicis constraint subject to aging? Usually set to FALSE. Set to TRUE for own cuts which are separated as constraints.
removableshould the relaxation be removed from the LP due to aging or cleanup? Usually set to FALSE. Set to TRUE for 'lazy constraints' and 'user cuts'.
stickingatnodeshould the constraint always be kept at the node where it was added, even if it may be moved to a more global node? Usually set to FALSE. Set to TRUE to for constraints that represent node data.

Definition at line 24772 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPconsCreate(), SCIPerrorMessage, Scip::set, SCIP_Set::stage, and TRUE.

Referenced by createConsSetppc(), createConsXorIntvar(), SCIP_DECL_CONSTRANS(), SCIPcreateConsAbspower(), SCIPcreateConsAnd(), SCIPcreateConsBivariate(), SCIPcreateConsBounddisjunction(), SCIPcreateConsConjunction(), SCIPcreateConsCumulative(), SCIPcreateConsDisjunction(), SCIPcreateConsIndicator(), SCIPcreateConsIndicatorLinCons(), SCIPcreateConsKnapsack(), SCIPcreateConsLinear(), SCIPcreateConsLinking(), SCIPcreateConsLogicor(), SCIPcreateConsNonlinear(), SCIPcreateConsNonlinear2(), SCIPcreateConsOr(), SCIPcreateConsOrbitope(), SCIPcreateConsPseudoboolean(), SCIPcreateConsPseudobooleanWithConss(), SCIPcreateConsQuadratic(), SCIPcreateConsQuadratic2(), SCIPcreateConsSOC(), SCIPcreateConsSOS1(), SCIPcreateConsSOS2(), SCIPcreateConsSuperindicator(), SCIPcreateConsVarbound(), and SCIPcreateConsXor().

SCIP_RETCODE SCIPparseCons ( SCIP scip,
SCIP_CONS **  cons,
const char *  str,
SCIP_Bool  initial,
SCIP_Bool  separate,
SCIP_Bool  enforce,
SCIP_Bool  check,
SCIP_Bool  propagate,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  dynamic,
SCIP_Bool  removable,
SCIP_Bool  stickingatnode,
SCIP_Bool success 
)

parses constraint information (in cip format) out of a string; if the parsing process was successful a constraint is creates and captures;

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Warning
If a constraint is marked to be checked for feasibility but not to be enforced, a LP or pseudo solution may be declared feasible even if it violates this particular constraint. This constellation should only be used, if no LP or pseudo solution can violate the constraint – e.g. if a local constraint is redundant due to the variable's local bounds.
Parameters
scipSCIP data structure
conspointer to store constraint
strstring to parse for constraint
initialshould the LP relaxation of constraint be in the initial LP? Usually set to TRUE. Set to FALSE for 'lazy constraints'.
separateshould the constraint be separated during LP processing? Usually set to TRUE.
enforceshould the constraint be enforced during node processing? TRUE for model constraints, FALSE for additional, redundant constraints.
checkshould the constraint be checked for feasibility? TRUE for model constraints, FALSE for additional, redundant constraints.
propagateshould the constraint be propagated during node processing? Usually set to TRUE.
localis constraint only valid locally? Usually set to FALSE. Has to be set to TRUE, e.g., for branching constraints.
modifiableis constraint modifiable (subject to column generation)? Usually set to FALSE. In column generation applications, set to TRUE if pricing adds coefficients to this constraint.
dynamicis constraint subject to aging? Usually set to FALSE. Set to TRUE for own cuts which are separated as constraints.
removableshould the relaxation be removed from the LP due to aging or cleanup? Usually set to FALSE. Set to TRUE for 'lazy constraints' and 'user cuts'.
stickingatnodeshould the constraint always be kept at the node where it was added, even if it may be moved to a more global node? Usually set to FALSE. Set to TRUE to for constraints that represent node data.
successpointer to store if the paring process was successful

Definition at line 24856 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsParse(), Scip::set, and TRUE.

Referenced by getConstraint(), SCIP_DECL_CONSPARSE(), and SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPcaptureCons ( SCIP scip,
SCIP_CONS cons 
)

increases usage counter of constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint to capture

Definition at line 24914 of file scip.c.

References checkStage(), FALSE, SCIP_Cons::scip, SCIP_CALL, SCIP_OKAY, SCIPconsCapture(), and TRUE.

Referenced by consdataAddCons(), consdataCollectLinkingCons(), consdataCreate(), consdataCreateSuperindicator(), correctPresoldata(), createAndAddAndCons(), createAndAddLinearCons(), createPresoldata(), createSubSCIP(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSINITPRE(), SCIPcreateConsPseudobooleanWithConss(), SCIPgetConsCopy(), and SCIPsetLinearConsIndicator().

SCIP_RETCODE SCIPreleaseCons ( SCIP scip,
SCIP_CONS **  cons 
)

decreases usage counter of constraint, if the usage pointer reaches zero the constraint gets freed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
the pointer of the constraint will be NULLed
Parameters
scipSCIP data structure
conspointer to constraint

Definition at line 24949 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPconsIsOriginal(), SCIPconsRelease(), SCIPerrorMessage, Scip::set, SCIP_Set::stage, and TRUE.

Referenced by addBranchingComplementaritiesSOS1(), addCliques(), addExtendedAsymmetricFormulation(), addExtendedFlowFormulation(), addExtraCliques(), addLocalBranchingConstraint(), addLocalConss(), addSplitcons(), addVarbound(), adjustOversizedJobBounds(), aggregateConstraints(), applyFixings(), cleanupHashDatas(), cliquePresolve(), consdataDeletePos(), consdataFree(), consdataLinearize(), copyAndSolveComponent(), copyConsPseudoboolean(), copyCuts(), correctConshdlrdata(), correctPresoldata(), CREATE_CONSTRAINT(), createAndAddAndCons(), createAndAddLinearCons(), createCapacityRestriction(), createConflict(), createConsCumulative(), createConstraints(), createCoveringProblem(), createCumulativeCons(), createIndicatorConstraint(), createLinearCons(), createMIP(), createNAryBranch(), createPrecedenceCons(), createQuadraticCons(), createRows(), createSubproblem(), createSubSCIP(), createSubscip(), createVarUbs(), CUTOFF_CONSTRAINT(), deleteRedundantVars(), deleteSubproblem(), detectRedundantVars(), dualPresolve(), dualWeightsTightening(), extendToCover(), extensionOperatorSOS1(), extractGates(), findAggregation(), fixDeleteOrUpgradeCons(), fixVariableZeroNode(), forbidCover(), forbidFixation(), getConstraint(), getFixedVariable(), performImplicationGraphAnalysis(), preprocessConstraintPairs(), presolRoundConsSOS1(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveDisaggregate(), presolveFindDuplicates(), presolveFindDuplicatesUpgradeCons(), presolveRemoveFixedVariables(), presolveTryAddAND(), presolveTryAddLinearReform(), presolveUpgrade(), processIntegerBoundChg(), processNlRow(), propIndicator(), readBounds(), readCnf(), readConstraints(), readIndicators(), readNonlinearExprs(), readObjective(), readOPBFile(), readQCMatrix(), readQMatrix(), readQuadraticCoefs(), readRows(), readSemicontinuous(), readSOS(), readSos(), readVariables(), reformMonomial(), reformNode2Var(), reformulate(), releaseHashmapEntries(), removeConstraintsDueToNegCliques(), removeFixedVariables(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSPARSE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_READERREAD(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyZeroobj(), SCIPcopyConss(), SCIPcopyOrigConss(), SCIPcreateConsIndicator(), SCIPcreateFiniteSolCopy(), SCIPgetVarCopy(), SCIPreoptApplyGlbConss(), SCIPsetLinearConsIndicator(), SCIPtransformMinUC(), selectVarMultAggrBranching(), setObjective(), tightenBounds(), tightenWeights(), tryUpgradingLogicor(), tryUpgradingSetppc(), tryUpgradingXor(), updateConsanddataUses(), upgradeCons(), upgradeConss(), upgradeIndicatorSuperindicator(), and upgradeLinearSuperindicator().

SCIP_RETCODE SCIPchgConsName ( SCIP scip,
SCIP_CONS cons,
const char *  name 
)

change constraint name

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
to get the current name of a constraint, use SCIPconsGetName() from pub_cons.h
Parameters
scipSCIP data structure
consconstraint
namenew name of constraint

Definition at line 25000 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_Cons::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIPABORT, SCIPblkmem(), SCIPconsChgName(), SCIPconsIsAdded(), SCIPerrorMessage, SCIPgetStage(), SCIPprobAddConsName(), SCIPprobRemoveConsName(), and TRUE.

SCIP_RETCODE SCIPsetConsInitial ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool  initial 
)

sets the initial flag of the given constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint
initialnew value

Definition at line 25047 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsSetInitial(), Scip::set, Scip::stat, and TRUE.

Referenced by correctConshdlrdata(), createRelaxation(), SCIPupdateConsFlags(), and updateConsanddataUses().

SCIP_RETCODE SCIPsetConsSeparated ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool  separate 
)

sets the separate flag of the given constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint
separatenew value

Definition at line 25072 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsSetSeparated(), Scip::set, and TRUE.

Referenced by correctConshdlrdata(), createRelaxation(), SCIPupdateConsFlags(), and updateConsanddataUses().

SCIP_RETCODE SCIPsetConsEnforced ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool  enforce 
)

sets the enforce flag of the given constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint
enforcenew value

Definition at line 25097 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsSetEnforced(), Scip::set, and TRUE.

Referenced by createRelaxation(), SCIP_DECL_QUADCONSUPGD(), and SCIPupdateConsFlags().

SCIP_RETCODE SCIPsetConsChecked ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool  check 
)

sets the check flag of the given constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint
checknew value

Definition at line 25122 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsSetChecked(), Scip::set, and TRUE.

Referenced by addAllConss(), branchCons(), consdataCreate(), correctConshdlrdata(), propagateCons(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_QUADCONSUPGD(), SCIPupdateConsFlags(), updateAndConss(), and updateConsanddataUses().

SCIP_RETCODE SCIPsetConsPropagated ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool  propagate 
)

sets the propagate flag of the given constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint
propagatenew value

Definition at line 25147 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsSetPropagated(), Scip::set, and TRUE.

Referenced by SCIPupdateConsFlags().

SCIP_RETCODE SCIPsetConsLocal ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool  local 
)

sets the local flag of the given constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint
localnew value

Definition at line 25174 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsSetLocal(), and TRUE.

SCIP_RETCODE SCIPsetConsModifiable ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool  modifiable 
)

sets the modifiable flag of the given constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint
modifiablenew value

Definition at line 25200 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsSetModifiable(), and TRUE.

SCIP_RETCODE SCIPsetConsDynamic ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool  dynamic 
)

sets the dynamic flag of the given constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint
dynamicnew value

Definition at line 25225 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsSetDynamic(), and TRUE.

Referenced by SCIPupdateConsFlags().

SCIP_RETCODE SCIPsetConsRemovable ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool  removable 
)

sets the removable flag of the given constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint
removablenew value

Definition at line 25250 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsSetRemovable(), and TRUE.

Referenced by SCIPupdateConsFlags().

SCIP_RETCODE SCIPsetConsStickingAtNode ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool  stickingatnode 
)

sets the stickingatnode flag of the given constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint
stickingatnodenew value

Definition at line 25275 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsSetStickingAtNode(), and TRUE.

Referenced by SCIPupdateConsFlags().

SCIP_RETCODE SCIPupdateConsFlags ( SCIP scip,
SCIP_CONS cons0,
SCIP_CONS cons1 
)

updates the flags of the first constraint according to the ones of the second constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
cons0constraint that should stay
cons1constraint that should be deleted

Definition at line 25300 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPsetConsChecked(), SCIPsetConsDynamic(), SCIPsetConsEnforced(), SCIPsetConsInitial(), SCIPsetConsPropagated(), SCIPsetConsRemovable(), SCIPsetConsSeparated(), SCIPsetConsStickingAtNode(), and TRUE.

Referenced by checkForOverlapping(), detectRedundantConstraints(), preprocessConstraintPairs(), removeRedundantCons(), removeRedundantConss(), and removeRedundantNonZeros().

SCIP_RETCODE SCIPtransformCons ( SCIP scip,
SCIP_CONS cons,
SCIP_CONS **  transcons 
)

gets and captures transformed constraint of a given constraint; if the constraint is not yet transformed, a new transformed constraint for this constraint is created

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint to get/create transformed constraint for
transconspointer to store the transformed constraint

Definition at line 25360 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_Cons::scip, SCIP_CALL, SCIP_OKAY, SCIPconsCapture(), SCIPconsIsTransformed(), SCIPconsTransform(), Scip::set, and TRUE.

Referenced by consdataAddCons(), consdataCreate(), consdataCreateSuperindicator(), and SCIP_DECL_CONSTRANS().

SCIP_RETCODE SCIPtransformConss ( SCIP scip,
int  nconss,
SCIP_CONS **  conss,
SCIP_CONS **  transconss 
)

gets and captures transformed constraints for an array of constraints; if a constraint in the array is not yet transformed, a new transformed constraint for this constraint is created; it is possible to call this method with conss == transconss

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nconssnumber of constraints to get/create transformed constraints for
conssarray with constraints to get/create transformed constraints for
transconssarray to store the transformed constraints

Definition at line 25401 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPconsCapture(), SCIPconsIsTransformed(), SCIPconsTransform(), Scip::set, and TRUE.

Referenced by consdataCreate().

SCIP_RETCODE SCIPgetTransformedCons ( SCIP scip,
SCIP_CONS cons,
SCIP_CONS **  transcons 
)

gets corresponding transformed constraint of a given constraint; returns NULL as transcons, if transformed constraint is not yet existing

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint to get the transformed constraint for
transconspointer to store the transformed constraint

Definition at line 25450 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_Cons::scip, SCIP_CALL, SCIP_OKAY, SCIPconsGetTransformed(), SCIPconsIsTransformed(), and TRUE.

Referenced by computeRanks(), createSubSCIP(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_EVENTEXEC(), and SCIPapplyHeurDualval().

SCIP_RETCODE SCIPgetTransformedConss ( SCIP scip,
int  nconss,
SCIP_CONS **  conss,
SCIP_CONS **  transconss 
)

gets corresponding transformed constraints for an array of constraints; stores NULL in a transconss slot, if the transformed constraint is not yet existing; it is possible to call this method with conss == transconss, but remember that constraints that are not yet transformed will be replaced with NULL

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nconssnumber of constraints to get the transformed constraints for
conssconstraints to get the transformed constraints for
transconssarray to store the transformed constraints

Definition at line 25490 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetTransformed(), SCIPconsIsTransformed(), and TRUE.

SCIP_RETCODE SCIPaddConsAge ( SCIP scip,
SCIP_CONS cons,
SCIP_Real  deltaage 
)

adds given value to age of constraint, but age can never become negative; should be called

  • in constraint separation, if no cut was found for this constraint,
  • in constraint enforcing, if constraint was feasible, and
  • in constraint propagation, if no domain reduction was deduced;
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint
deltaagevalue to add to the constraint's age

Definition at line 25531 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPconsAddAge(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by processWatchedVars().

SCIP_RETCODE SCIPincConsAge ( SCIP scip,
SCIP_CONS cons 
)

increases age of constraint by 1.0; should be called

  • in constraint separation, if no cut was found for this constraint,
  • in constraint enforcing, if constraint was feasible, and
  • in constraint propagation, if no domain reduction was deduced;
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint

Definition at line 25560 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPconsIncAge(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by checkAndConss(), checkCons(), enforcePseudo(), propagateCons(), propIndicator(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIPseparateKnapsackCuts(), and separateCons().

SCIP_RETCODE SCIPresetConsAge ( SCIP scip,
SCIP_CONS cons 
)

resets age of constraint to zero; should be called

  • in constraint separation, if a cut was found for this constraint,
  • in constraint enforcing, if the constraint was violated, and
  • in constraint propagation, if a domain reduction was deduced;
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint

Definition at line 25588 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsResetAge(), Scip::set, and TRUE.

Referenced by analyzeZeroResultant(), branchCons(), checkAndConss(), checkCons(), consdataFixOperandsOne(), consdataFixResultantZero(), enforceConssSOS1(), enforceCurrentSol(), enforceIndicators(), enforcePseudo(), enforceSOS2(), initsepaBoundInequalityFromSOS1Cons(), processBinvarFixings(), processFixings(), processWatchedVars(), propagateBounds(), propagateBoundsQuadVar(), propagateBoundsTightenVarLb(), propagateBoundsTightenVarUb(), propagateCons(), propConsSOS1(), propIndicator(), propSOS2(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_CONSSEPASOL(), separateCons(), separateConsBinaryRepresentation(), separateCoverCutsCons(), separateIndicators(), separatePoint(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), and separateSupLiftedMinimalCoverInequality().

SCIP_RETCODE SCIPenableCons ( SCIP scip,
SCIP_CONS cons 
)

enables constraint's separation, propagation, and enforcing capabilities

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint

Definition at line 25613 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsEnable(), Scip::set, Scip::stat, and TRUE.

Referenced by consdataCreateBinvars(), and SCIP_DECL_EVENTEXEC().

SCIP_RETCODE SCIPdisableCons ( SCIP scip,
SCIP_CONS cons 
)

disables constraint's separation, propagation, and enforcing capabilities, s.t. the constraint is not propagated, separated, and enforced anymore until it is enabled again with a call to SCIPenableCons(); in contrast to SCIPdelConsLocal() and SCIPdelConsNode(), the disabling is not associated to a node in the tree and does not consume memory; therefore, the constraint is neither automatically enabled on leaving the node nor automatically disabled again on entering the node again; note that the constraints enforcing capabilities are necessary for the solution's feasibility, if the constraint is a model constraint; that means, you must be sure that the constraint cannot be violated in the current subtree, and you have to enable it again manually by calling SCIPenableCons(), if this subtree is left (e.g. by using an appropriate event handler that watches the corresponding variables' domain changes)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint

Definition at line 25647 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsDisable(), Scip::set, Scip::stat, and TRUE.

Referenced by disableCons(), SCIP_DECL_CONSENABLE(), SCIP_DECL_CONSINITPRE(), and SCIP_DECL_CONSINITSOL().

SCIP_RETCODE SCIPenableConsSeparation ( SCIP scip,
SCIP_CONS cons 
)

enables constraint's separation capabilities

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint

Definition at line 25672 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsEnableSeparation(), Scip::set, and TRUE.

SCIP_RETCODE SCIPdisableConsSeparation ( SCIP scip,
SCIP_CONS cons 
)

disables constraint's separation capabilities s.t. the constraint is not separated anymore until the separation is enabled again with a call to SCIPenableConsSeparation(); in contrast to SCIPdelConsLocal() and SCIPdelConsNode(), the disabling is not associated to a node in the tree and does not consume memory; therefore, the constraint is neither automatically enabled on leaving the node nor automatically disabled again on entering the node again

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint

Definition at line 25700 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsDisableSeparation(), Scip::set, and TRUE.

SCIP_RETCODE SCIPenableConsPropagation ( SCIP scip,
SCIP_CONS cons 
)

enables constraint's propagation capabilities

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint

Definition at line 25727 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsEnablePropagation(), Scip::set, and TRUE.

Referenced by addCoef(), delCoefPos(), SCIP_DECL_CONSPRESOL(), and SCIP_DECL_EVENTEXEC().

SCIP_RETCODE SCIPdisableConsPropagation ( SCIP scip,
SCIP_CONS cons 
)

disables constraint's propagation capabilities s.t. the constraint is not propagated anymore until the propagation is enabled again with a call to SCIPenableConsPropagation(); in contrast to SCIPdelConsLocal() and SCIPdelConsNode(), the disabling is not associated to a node in the tree and does not consume memory; therefore, the constraint is neither automatically enabled on leaving the node nor automatically disabled again on entering the node again

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint

Definition at line 25757 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsDisablePropagation(), Scip::set, and TRUE.

Referenced by processWatchedVars().

SCIP_RETCODE SCIPmarkConsPropagate ( SCIP scip,
SCIP_CONS cons 
)

marks constraint to be propagated

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
if a constraint is marked to be propagated, the age of the constraint will be ignored for propagation
Parameters
scipSCIP data structure
consconstraint

Definition at line 25786 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsMarkPropagate(), Scip::set, and TRUE.

Referenced by SCIP_DECL_CONSACTIVE(), and SCIP_DECL_EVENTEXEC().

SCIP_RETCODE SCIPunmarkConsPropagate ( SCIP scip,
SCIP_CONS cons 
)

unmarks the constraint to be propagated

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint

Definition at line 25812 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsUnmarkPropagate(), Scip::set, and TRUE.

Referenced by SCIP_DECL_CONSPROP().

SCIP_RETCODE SCIPaddConsLocks ( SCIP scip,
SCIP_CONS cons,
int  nlockspos,
int  nlocksneg 
)

adds given values to lock status of the constraint and updates the rounding locks of the involved variables

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint
nlocksposincrease in number of rounding locks for constraint
nlocksnegincrease in number of rounding locks for constraint's negation

Definition at line 25840 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsAddLocks(), Scip::set, and TRUE.

Referenced by SCIP_DECL_CONSLOCK().

SCIP_RETCODE SCIPcheckCons ( SCIP scip,
SCIP_CONS cons,
SCIP_SOL sol,
SCIP_Bool  checkintegrality,
SCIP_Bool  checklprows,
SCIP_Bool  printreason,
SCIP_RESULT result 
)

checks single constraint for feasibility of the given solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
consconstraint to check
solprimal CIP solution
checkintegralityHas integrality to be checked?
checklprowsDo constraints represented by rows in the current LP have to be checked?
printreasonShould the reason for the violation be printed?
resultpointer to store the result of the callback method

Definition at line 25870 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPconsCheck(), Scip::set, and TRUE.

Referenced by checkAllConss(), checkCons(), consdataCheckSuperindicator(), replaceByLinearConstraints(), and replaceViolatedByLinearConstraints().

SCIP_RETCODE SCIPenfopsCons ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool  solinfeasible,
SCIP_Bool  objinfeasible,
SCIP_RESULT result 
)

enforces single constraint for a given pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This is an advanced method and should be used with caution. It may only be called for constraints that were not added to SCIP beforehand.
Parameters
scipSCIP data structure
consconstraint to enforce
solinfeasiblewas the solution already declared infeasible by a constraint handler?
objinfeasibleis the solution infeasible anyway due to violating lower objective bound?
resultpointer to store the result of the callback method

Definition at line 25898 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsEnfops(), SCIPconsIsAdded(), Scip::set, and TRUE.

SCIP_RETCODE SCIPenfolpCons ( SCIP scip,
SCIP_CONS cons,
SCIP_Bool  solinfeasible,
SCIP_RESULT result 
)

enforces single constraint for a given LP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This is an advanced method and should be used with caution. It may only be called for constraints that were not added to SCIP beforehand.
Parameters
scipSCIP data structure
consconstraint to enforce
solinfeasiblewas the solution already declared infeasible by a constraint handler?
resultpointer to store the result of the callback method

Definition at line 25929 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsEnfolp(), SCIPconsIsAdded(), Scip::set, and TRUE.

SCIP_RETCODE SCIPinitlpCons ( SCIP scip,
SCIP_CONS cons 
)

calls LP initialization method for single constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This is an advanced method and should be used with caution. It may only be called for constraints that were not added to SCIP beforehand.
Parameters
scipSCIP data structure
consconstraint to initialize

Definition at line 25959 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsInitlp(), SCIPconsIsAdded(), Scip::set, and TRUE.

SCIP_RETCODE SCIPsepalpCons ( SCIP scip,
SCIP_CONS cons,
SCIP_RESULT result 
)

calls separation method of single constraint for LP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This is an advanced method and should be used with caution.
Parameters
scipSCIP data structure
consconstraint to separate
resultpointer to store the result of the separation call

Definition at line 25985 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsSepalp(), Scip::set, and TRUE.

SCIP_RETCODE SCIPsepasolCons ( SCIP scip,
SCIP_CONS cons,
SCIP_SOL sol,
SCIP_RESULT result 
)

calls separation method of single constraint for given primal solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This is an advanced method and should be used with caution.
Parameters
scipSCIP data structure
consconstraint to separate
solprimal solution that should be separated
resultpointer to store the result of the separation call

Definition at line 26012 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsSepasol(), Scip::set, and TRUE.

SCIP_RETCODE SCIPpropCons ( SCIP scip,
SCIP_CONS cons,
SCIP_PROPTIMING  proptiming,
SCIP_RESULT result 
)

calls domain propagation method of single constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This is an advanced method and should be used with caution.
Parameters
scipSCIP data structure
consconstraint to propagate
proptimingcurrent point in the node solving loop
resultpointer to store the result of the callback method

Definition at line 26042 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsProp(), Scip::set, and TRUE.

SCIP_RETCODE SCIPrespropCons ( SCIP scip,
SCIP_CONS cons,
SCIP_VAR infervar,
int  inferinfo,
SCIP_BOUNDTYPE  boundtype,
SCIP_BDCHGIDX bdchgidx,
SCIP_Real  relaxedbd,
SCIP_RESULT result 
)

resolves propagation conflict of single constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This is an advanced method and should be used with caution. It may only be called for constraints that were not added to SCIP beforehand.
Parameters
scipSCIP data structure
consconstraint to resolve conflict for
infervarthe conflict variable whose bound change has to be resolved
inferinfothe user information passed to the corresponding SCIPinferVarLbCons() or SCIPinferVarUbCons() call
boundtypethe type of the changed bound (lower or upper bound)
bdchgidxthe index of the bound change, representing the point of time where the change took place
relaxedbdthe relaxed bound which is sufficient to be explained
resultpointer to store the result of the callback method

Definition at line 26073 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsIsAdded(), SCIPconsResprop(), Scip::set, and TRUE.

SCIP_RETCODE SCIPpresolCons ( SCIP scip,
SCIP_CONS cons,
int  nrounds,
SCIP_PRESOLTIMING  presoltiming,
int  nnewfixedvars,
int  nnewaggrvars,
int  nnewchgvartypes,
int  nnewchgbds,
int  nnewholes,
int  nnewdelconss,
int  nnewaddconss,
int  nnewupgdconss,
int  nnewchgcoefs,
int  nnewchgsides,
int *  nfixedvars,
int *  naggrvars,
int *  nchgvartypes,
int *  nchgbds,
int *  naddholes,
int *  ndelconss,
int *  naddconss,
int *  nupgdconss,
int *  nchgcoefs,
int *  nchgsides,
SCIP_RESULT result 
)

presolves of single constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This is an advanced method and should be used with caution.
Parameters
scipSCIP data structure
consconstraint to presolve
nroundsnumber of presolving rounds already done
presoltimingpresolving timing(s) to be performed
nnewfixedvarsnumber of variables fixed since the last call to the presolving method
nnewaggrvarsnumber of variables aggregated since the last call to the presolving method
nnewchgvartypesnumber of variable type changes since the last call to the presolving method
nnewchgbdsnumber of variable bounds tightened since the last call to the presolving method
nnewholesnumber of domain holes added since the last call to the presolving method
nnewdelconssnumber of deleted constraints since the last call to the presolving method
nnewaddconssnumber of added constraints since the last call to the presolving method
nnewupgdconssnumber of upgraded constraints since the last call to the presolving method
nnewchgcoefsnumber of changed coefficients since the last call to the presolving method
nnewchgsidesnumber of changed left or right hand sides since the last call to the presolving method
nfixedvarspointer to count total number of variables fixed of all presolvers
naggrvarspointer to count total number of variables aggregated of all presolvers
nchgvartypespointer to count total number of variable type changes of all presolvers
nchgbdspointer to count total number of variable bounds tightened of all presolvers
naddholespointer to count total number of domain holes added of all presolvers
ndelconsspointer to count total number of deleted constraints of all presolvers
naddconsspointer to count total number of added constraints of all presolvers
nupgdconsspointer to count total number of upgraded constraints of all presolvers
nchgcoefspointer to count total number of changed coefficients of all presolvers
nchgsidespointer to count total number of changed left/right hand sides of all presolvers
resultpointer to store the result of the callback method

Definition at line 26108 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsPresol(), Scip::set, and TRUE.

SCIP_RETCODE SCIPactiveCons ( SCIP scip,
SCIP_CONS cons 
)

calls constraint activation notification method of single constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This is an advanced method and should be used with caution. It may only be called for constraints that were not added to SCIP beforehand.
Parameters
scipSCIP data structure
consconstraint to notify

Definition at line 26170 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsActive(), SCIPconsIsAdded(), Scip::set, and TRUE.

SCIP_RETCODE SCIPdeactiveCons ( SCIP scip,
SCIP_CONS cons 
)

calls constraint deactivation notification method of single constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
This is an advanced method and should be used with caution. It may only be called for constraints that were not added to SCIP beforehand.
Parameters
scipSCIP data structure
consconstraint to notify

Definition at line 26198 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsDeactive(), SCIPconsIsAdded(), Scip::set, and TRUE.

SCIP_RETCODE SCIPprintCons ( SCIP scip,
SCIP_CONS cons,
FILE *  file 
)

outputs constraint information to file stream via the message handler system

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
If the message handler is set to a NULL pointer nothing will be printed.
The file stream will not be flushed directly, this can be achieved by calling SCIPinfoMessage() printing a newline character.
Parameters
scipSCIP data structure
consconstraint
fileoutput file (or NULL for standard output)

Definition at line 26237 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, SCIP_CALL, SCIP_OKAY, SCIPconsPrint(), Scip::set, and TRUE.

Referenced by checkAllConss(), checkCons(), checkCumulativeCondition(), checkOrigPbCons(), cliquePresolve(), computeInteriorPoint(), consdataCreate(), detectDominatingVlbs(), detectDominatingVubs(), enforceIndicators(), extendToCover(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_READERWRITE(), SCIPwriteCcg(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePbm(), SCIPwritePip(), SCIPwritePpm(), selectVarMultAggrBranching(), splitProblem(), and writeOpbConstraints().

SCIP_RETCODE SCIPgetConsVars ( SCIP scip,
SCIP_CONS cons,
SCIP_VAR **  vars,
int  varssize,
SCIP_Bool success 
)

method to collect the variables of a constraint

If the number of variables is greater than the available slots in the variable array, nothing happens except that the success point is set to FALSE. With the method SCIPgetConsNVars() it is possible to get the number of variables a constraint has in its scope.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The success pointer indicates if all variables were copied into the vars arrray.
It might be that a constraint handler does not support this functionality, in that case the success pointer is set to FALSE.
Parameters
scipSCIP data structure
consconstraint for which the variables are wanted
varsarray to store the involved variable of the constraint
varssizeavailable slots in vars array which is needed to check if the array is large enough
successpointer to store whether the variables are successfully copied

Definition at line 26278 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetVars(), Scip::set, and TRUE.

Referenced by fillDigraph(), SCIP_DECL_CONSGETVARS(), and SCIPwritePbm().

SCIP_RETCODE SCIPgetConsNVars ( SCIP scip,
SCIP_CONS cons,
int *  nvars,
SCIP_Bool success 
)

method to collect the number of variables of a constraint

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The success pointer indicates if the contraint handler was able to return the number of variables
It might be that a constraint handler does not support this functionality, in that case the success pointer is set to FALSE
Parameters
scipSCIP data structure
consconstraint for which the number of variables is wanted
nvarspointer to store the number of variables
successpointer to store whether the constraint successfully returned the number of variables

Definition at line 26322 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetNVars(), Scip::set, and TRUE.

Referenced by fillDigraph(), SCIP_DECL_CONSGETNVARS(), and SCIPwritePbm().

SCIP_Bool SCIPhasCurrentNodeLP ( SCIP scip)

returns, whether the LP was or is to be solved in the current node

Returns
whether the LP was or is to be solved in the current node.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26354 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeHasCurrentNodeLP(), Scip::tree, and TRUE.

Referenced by applyVbounds(), consdataGetGlbActivityResiduals(), enforcePseudo(), execRelpscost(), SCIP_DECL_BRANCHEXECPS(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), and SCIPperformGenericDivingAlgorithm().

SCIP_Bool SCIPisLPConstructed ( SCIP scip)

returns, whether the LP of the current node is already constructed

Returns
whether the LP of the current node is already constructed.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26372 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.

Referenced by applyVbounds(), createNewSol(), and SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPconstructLP ( SCIP scip,
SCIP_Bool cutoff 
)

makes sure that the LP of the current node is loaded and may be accessed through the LP information methods

Warning
Contructing the LP might change the amount of variables known in the transformed problem and therefore also the variables array of SCIP (returned by SCIPgetVars() and SCIPgetVarsData()), so it might be necessary to call one of the later method after this one
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
cutoffpointer to store whether the node can be cut off

Definition at line 26395 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::pricestore, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPconstructCurrentLP(), Scip::sepastore, Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by applyVbounds(), and SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPflushLP ( SCIP scip)

makes sure that the LP of the current node is flushed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26419 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPlpFlush(), Scip::set, and TRUE.

Referenced by applyVbounds(), and SCIP_DECL_HEUREXEC().

SCIP_Bool SCIPisLPRelax ( SCIP scip)

returns whether the current lp is a relaxation of the current problem and its optimal objective value is a local lower bound

Returns
whether the current lp is a relaxation of the current problem and its optimal objective value is a local lower bound.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26460 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpIsRelax(), and TRUE.

Referenced by performStrongbranchWithPropagation().

SCIP_Real SCIPgetLPObjval ( SCIP scip)

gets objective value of current LP (which is the sum of column and loose objective value)

Returns
the objective value of current LP (which is the sum of column and loose objective value).
Precondition
This method can be called if scip is in one of the following stages:
Note
This method returns the objective value of the current LP solution, which might be primal or dual infeasible if a limit was hit during solving. It must not be used as a dual bound if the LP solution status returned by SCIPgetLPSolstat() is SCIP_LPSOLSTAT_ITERLIMIT or SCIP_LPSOLSTAT_TIMELIMIT.

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26482 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetObjval(), Scip::set, Scip::transprob, and TRUE.

Referenced by execRelpscost(), getBranchingDecisionStrongbranchSOS1(), performLPRandRounding(), performLPSimpleRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIPperformGenericDivingAlgorithm(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPsolveDiveLP(), selectVarMultAggrBranching(), separateCuts(), and solveProbingLP().

SCIP_Real SCIPgetLPColumnObjval ( SCIP scip)

gets part of objective value of current LP that results from COLUMN variables only

Returns
the part of objective value of current LP that results from COLUMN variables only.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26500 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetColumnObjval(), and TRUE.

SCIP_Real SCIPgetLPLooseObjval ( SCIP scip)

gets part of objective value of current LP that results from LOOSE variables only

Returns
part of objective value of current LP that results from LOOSE variables only.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26518 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetLooseObjval(), Scip::set, Scip::transprob, and TRUE.

SCIP_Real SCIPgetGlobalPseudoObjval ( SCIP scip)

gets the global pseudo objective value; that is all variables set to their best (w.r.t. the objective function) global bound

Returns
the global pseudo objective value; that is all variables set to their best (w.r.t. the objective function) global bound.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26543 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetGlobalPseudoObjval(), Scip::set, Scip::transprob, and TRUE.

Referenced by propagateCutoffboundGlobally(), and resolvePropagation().

SCIP_Real SCIPgetPseudoObjval ( SCIP scip)

gets the pseudo objective value for the current search node; that is all variables set to their best (w.r.t. the objective function) local bound

Returns
the pseudo objective value for the current search node; that is all variables set to their best (w.r.t. the objective function) local bound.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26568 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetPseudoObjval(), Scip::set, Scip::transprob, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT().

SCIP_Bool SCIPisRootLPRelax ( SCIP scip)

returns whether the root lp is a relaxation of the problem and its optimal objective value is a global lower bound

Returns
whether the root lp is a relaxation of the problem and its optimal objective value is a global lower bound.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26586 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpIsRootLPRelax(), and TRUE.

SCIP_Real SCIPgetLPRootObjval ( SCIP scip)

gets the objective value of the root node LP or SCIP_INVALID if the root node LP was not (yet) solved

Returns
the objective value of the root node LP or SCIP_INVALID if the root node LP was not (yet) solved.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26607 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetRootObjval(), and TRUE.

SCIP_Real SCIPgetLPRootColumnObjval ( SCIP scip)

gets part of the objective value of the root node LP that results from COLUMN variables only; returns SCIP_INVALID if the root node LP was not (yet) solved

Returns
the part of the objective value of the root node LP that results from COLUMN variables only; or SCIP_INVALID if the root node LP was not (yet) solved.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26630 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetRootColumnObjval(), and TRUE.

SCIP_Real SCIPgetLPRootLooseObjval ( SCIP scip)

gets part of the objective value of the root node LP that results from LOOSE variables only; returns SCIP_INVALID if the root node LP was not (yet) solved

Returns
the part of the objective value of the root node LP that results from LOOSE variables only; or SCIP_INVALID if the root node LP was not (yet) solved.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26653 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetRootLooseObjval(), and TRUE.

SCIP_RETCODE SCIPgetLPColsData ( SCIP scip,
SCIP_COL ***  cols,
int *  ncols 
)

gets current LP columns along with the current number of LP columns

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
colspointer to store the array of LP columns, or NULL
ncolspointer to store the number of LP columns, or NULL

Definition at line 26672 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpGetCols(), SCIPlpGetNCols(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.

Referenced by aggregation(), computeCut(), createCGCutDirect(), createSubscip(), extractCapacities(), extractNodes(), generateAverageNBRay(), mcfnetworkExtract(), mcfnetworkFill(), SCIP_DECL_HEUREXEC(), and SCIP_DECL_SEPAEXECLP().

SCIP_COL** SCIPgetLPCols ( SCIP scip)

gets current LP columns

Returns
the current LP columns.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26707 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIPlpGetCols(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.

Referenced by findUncapacitatedArcs(), getNextFlowrow(), and mcfnetworkFill().

int SCIPgetNLPCols ( SCIP scip)

gets current number of LP columns

Returns
the current number of LP columns.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26728 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetNCols(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.

Referenced by addFlowrowToCommodity(), cleanupNetwork(), collectIncidentFlowCols(), deleteCommodity(), extractCapacityRows(), extractFlow(), extractFlowRows(), findUncapacitatedArcs(), generateClusterCuts(), getFlowrowFit(), getIncidentNodes(), getNextFlowrow(), getNodeSimilarityScore(), identifySourcesTargets(), invertCommodity(), mcfnetworkExtract(), mcfnetworkFill(), nodepairqueueCreate(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_SEPAEXECLP(), and separateCuts().

SCIP_RETCODE SCIPgetLPRowsData ( SCIP scip,
SCIP_ROW ***  rows,
int *  nrows 
)

gets current LP rows along with the current number of LP rows

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
rowspointer to store the array of LP rows, or NULL
nrowspointer to store the number of LP rows, or NULL

Definition at line 26750 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpGetNRows(), SCIPlpGetRows(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.

Referenced by aggregation(), cleanupNetwork(), computeCut(), createCGCutCMIR(), createCGCutStrongCG(), createRows(), createSubproblem(), createSubscip(), extractCapacities(), extractCapacityRows(), extractFlowRows(), extractNodes(), generateAverageNBRay(), generateAverageRay(), initMatrix(), mcfnetworkExtract(), mcfnetworkFill(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), and separateCuts().

SCIP_ROW** SCIPgetLPRows ( SCIP scip)

gets current LP rows

Returns
the current LP rows.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26785 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIPlpGetRows(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.

Referenced by extractFlow(), findUncapacitatedArcs(), mcfnetworkFill(), SCIP_DECL_BRANCHEXECLP(), and SCIP_DECL_HEUREXEC().

int SCIPgetNLPRows ( SCIP scip)

gets current number of LP rows

Returns
the current number of LP rows.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26806 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetNRows(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.

Referenced by calcShiftVal(), createCGCuts(), extractFlow(), findUncapacitatedArcs(), generateClusterCuts(), getFlowrowFit(), getIncidentNodes(), getNActiveConsScore(), getNextFlowrow(), getNodeSimilarityScore(), identifySourcesTargets(), invertCommodity(), mcfnetworkFill(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPdummyDebugMethodForSun(), separateCuts(), and updateRowActivities().

SCIP_Bool SCIPallColsInLP ( SCIP scip)

returns TRUE iff all columns, i.e. every variable with non-empty column w.r.t. all ever created rows, are present in the LP, and FALSE, if there are additional already existing columns, that may be added to the LP in pricing

Returns
TRUE iff all columns, i.e. every variable with non-empty column w.r.t. all ever created rows, are present in the LP, and FALSE, if there are additional already existing columns, that may be added to the LP in pricing.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26829 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPprobAllColsInLP(), Scip::set, Scip::transprob, and TRUE.

Referenced by branch(), execRelpscost(), performRandRounding(), performSimpleRounding(), performStrongbranchWithPropagation(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_PROPEXEC(), SCIPgetVarStrongbranchWithPropagation(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), and selectVarMultAggrBranching().

SCIP_Bool SCIPisLPSolBasic ( SCIP scip)

returns whether the current LP solution is basic, i.e. is defined by a valid simplex basis

Returns
whether the current LP solution is basic, i.e. is defined by a valid simplex basis.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 26847 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpIsSolBasic(), and TRUE.

Referenced by execRelpscost(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), and SCIPperformGenericDivingAlgorithm().

SCIP_RETCODE SCIPgetLPBasisInd ( SCIP scip,
int *  basisind 
)

gets all indices of basic columns and rows: index i >= 0 corresponds to column i, index i < 0 to row -i-1

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
basisindpointer to store basis indices ready to keep number of rows entries

Definition at line 26866 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpGetBasisInd(), SCIPlpIsSolBasic(), and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP(), and SCIPdummyDebugMethodForSun().

SCIP_RETCODE SCIPgetLPBInvRow ( SCIP scip,
int  r,
SCIP_Real coefs,
int *  inds,
int *  ninds 
)

gets a row from the inverse basis matrix B^-1

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
rrow number
coefsarray to store the coefficients of the row
indsarray to store the non-zero indices, or NULL
nindspointer to store the number of non-zero indices, or NULL (-1: if we do not store sparsity informations)

Definition at line 26894 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPdebugCheckBInvRow, SCIPerrorMessage, SCIPlpGetBInvRow(), SCIPlpIsSolBasic(), and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP().

SCIP_RETCODE SCIPgetLPBInvCol ( SCIP scip,
int  c,
SCIP_Real coefs,
int *  inds,
int *  ninds 
)

gets a column from the inverse basis matrix B^-1

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
ccolumn number of B^-1; this is NOT the number of the column in the LP returned by SCIPcolGetLPPos(); you have to call SCIPgetBasisInd() to get the array which links the B^-1 column numbers to the row and column numbers of the LP! c must be between 0 and nrows-1, since the basis has the size nrows * nrows
coefsarray to store the coefficients of the column
indsarray to store the non-zero indices, or NULL
nindspointer to store the number of non-zero indices, or NULL (-1: if we do not store sparsity informations)

Definition at line 26929 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpGetBInvCol(), SCIPlpIsSolBasic(), and TRUE.

SCIP_RETCODE SCIPgetLPBInvARow ( SCIP scip,
int  r,
SCIP_Real binvrow,
SCIP_Real coefs,
int *  inds,
int *  ninds 
)

gets a row from the product of inverse basis matrix B^-1 and coefficient matrix A (i.e. from B^-1 * A)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
rrow number
binvrowrow in B^-1 from prior call to SCIPgetLPBInvRow(), or NULL
coefsarray to store the coefficients of the row
indsarray to store the non-zero indices, or NULL
nindspointer to store the number of non-zero indices, or NULL (-1: if we do not store sparsity informations)

Definition at line 26965 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpGetBInvARow(), SCIPlpIsSolBasic(), and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP().

SCIP_RETCODE SCIPgetLPBInvACol ( SCIP scip,
int  c,
SCIP_Real coefs,
int *  inds,
int *  ninds 
)

gets a column from the product of inverse basis matrix B^-1 and coefficient matrix A (i.e. from B^-1 * A), i.e., it computes B^-1 * A_c with A_c being the c'th column of A

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
ccolumn number which can be accessed by SCIPcolGetLPPos()
coefsarray to store the coefficients of the column
indsarray to store the non-zero indices, or NULL
nindspointer to store the number of non-zero indices, or NULL (-1: if we do not store sparsity informations)

Definition at line 26999 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpGetBInvACol(), SCIPlpIsSolBasic(), and TRUE.

Referenced by generateAverageRay().

SCIP_RETCODE SCIPsumLPRows ( SCIP scip,
SCIP_Real weights,
SCIP_REALARRAY sumcoef,
SCIP_Real sumlhs,
SCIP_Real sumrhs 
)

calculates a weighted sum of all LP rows; for negative weights, the left and right hand side of the corresponding LP row are swapped in the summation

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
weightsrow weights in row summation
sumcoefarray to store sum coefficients indexed by variables' probindex
sumlhspointer to store the left hand side of the row summation
sumrhspointer to store the right hand side of the row summation

Definition at line 27032 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_OKAY, SCIPlpSumRows(), Scip::set, Scip::transprob, and TRUE.

SCIP_RETCODE SCIPcalcMIR ( SCIP scip,
SCIP_SOL sol,
SCIP_Real  boundswitch,
SCIP_Bool  usevbds,
SCIP_Bool  allowlocal,
SCIP_Bool  fixintegralrhs,
int *  boundsfortrans,
SCIP_BOUNDTYPE boundtypesfortrans,
int  maxmksetcoefs,
SCIP_Real  maxweightrange,
SCIP_Real  minfrac,
SCIP_Real  maxfrac,
SCIP_Real weights,
SCIP_Real  maxweight,
int *  weightinds,
int  nweightinds,
int  rowlensum,
int *  sidetypes,
SCIP_Real  scale,
SCIP_Real mksetcoefs,
SCIP_Bool mksetcoefsvalid,
SCIP_Real mircoef,
SCIP_Real mirrhs,
SCIP_Real cutactivity,
SCIP_Bool success,
SCIP_Bool cutislocal,
int *  cutrank 
)

calculates a MIR cut out of the weighted sum of LP rows; The weights of modifiable rows are set to 0.0, because these rows cannot participate in a MIR cut.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
solthe solution that should be separated, or NULL for LP solution
boundswitchfraction of domain up to which lower bound is used in transformation
usevbdsshould variable bounds be used in bound transformation?
allowlocalshould local information allowed to be used, resulting in a local cut?
fixintegralrhsshould complementation tried to be adjusted such that rhs gets fractional?
boundsfortransbounds that should be used for transformed variables: vlb_idx/vub_idx, -1 for global lb/ub, -2 for local lb/ub, or -3 for using closest bound; NULL for using closest bound for all variables
boundtypesfortranstype of bounds that should be used for transformed variables; NULL for using closest bound for all variables
maxmksetcoefsmaximal number of nonzeros allowed in aggregated base inequality
maxweightrangemaximal valid range max(|weights|)/min(|weights|) of row weights
minfracminimal fractionality of rhs to produce MIR cut for
maxfracmaximal fractionality of rhs to produce MIR cut for
weightsrow weights in row summation; some weights might be set to zero
maxweightlargest magnitude of weights; set to -1.0 if sparsity information is unknown
weightindssparsity pattern of weights; size nrowinds; NULL if sparsity info is unknown
nweightindsnumber of nonzeros in weights; -1 if rowinds is NULL
rowlensumtotal number of non-zeros in used rows (row associated with nonzero weight coefficient); -1 if unknown
sidetypesspecify row side type (-1 = lhs, 0 = unkown, 1 = rhs) or NULL for automatic choices
scaleadditional scaling factor multiplied to all rows
mksetcoefsarray to store mixed knapsack set coefficients: size nvars; or NULL
mksetcoefsvalidpointer to store whether mixed knapsack set coefficients are valid; or NULL
mircoefarray to store MIR coefficients: must be of size SCIPgetNVars()
mirrhspointer to store the right hand side of the MIR row
cutactivitypointer to store the activity of the resulting cut
successpointer to store whether the returned coefficients are a valid MIR cut
cutislocalpointer to store whether the returned cut is only valid locally
cutrankpointer to store the rank of the returned cut; or NULL

Definition at line 27058 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_OKAY, SCIPlpCalcMIR(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by createCGCutCMIR(), createZerohalfCutFromZerohalfWeightvector(), cutGenerationHeuristic(), generateClusterCuts(), SCIP_DECL_SEPAEXECLP(), SCIPcutGenerationHeuristicCmir(), and tryDelta().

SCIP_RETCODE SCIPcalcStrongCG ( SCIP scip,
SCIP_Real  boundswitch,
SCIP_Bool  usevbds,
SCIP_Bool  allowlocal,
int  maxmksetcoefs,
SCIP_Real  maxweightrange,
SCIP_Real  minfrac,
SCIP_Real  maxfrac,
SCIP_Real weights,
int *  inds,
int  ninds,
SCIP_Real  scale,
SCIP_Real mircoef,
SCIP_Real mirrhs,
SCIP_Real cutactivity,
SCIP_Bool success,
SCIP_Bool cutislocal,
int *  cutrank 
)

calculates a strong CG cut out of the weighted sum of LP rows; The weights of modifiable rows are set to 0.0, because these rows cannot participate in a MIR cut.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
boundswitchfraction of domain up to which lower bound is used in transformation
usevbdsshould variable bounds be used in bound transformation?
allowlocalshould local information allowed to be used, resulting in a local cut?
maxmksetcoefsmaximal number of nonzeros allowed in aggregated base inequality
maxweightrangemaximal valid range max(|weights|)/min(|weights|) of row weights
minfracminimal fractionality of rhs to produce strong CG cut for
maxfracmaximal fractionality of rhs to produce strong CG cut for
weightsrow weights in row summation; some weights might be set to zero
indsindices of non-zero entries in weights array, or NULL
nindsnumber of indices of non-zero entries in weights array, -1 if inds is NULL
scaleadditional scaling factor multiplied to all rows
mircoefarray to store strong CG coefficients: must be of size SCIPgetNVars()
mirrhspointer to store the right hand side of the strong CG row
cutactivitypointer to store the activity of the resulting cut
successpointer to store whether the returned coefficients are a valid strong CG cut
cutislocalpointer to store whether the returned cut is only valid locally
cutrankpointer to store the rank of the returned cut; or NULL

Definition at line 27114 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_OKAY, SCIPlpCalcStrongCG(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by createCGCutStrongCG(), and SCIP_DECL_SEPAEXECLP().

SCIP_RETCODE SCIPwriteLP ( SCIP scip,
const char *  filename 
)

writes current LP to a file

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
filenamefile name

Definition at line 27155 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::pricestore, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconstructCurrentLP(), SCIPlpFlush(), SCIPlpWrite(), SCIPtreeIsFocusNodeLPConstructed(), Scip::sepastore, Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPwriteMIP ( SCIP scip,
const char *  filename,
SCIP_Bool  genericnames,
SCIP_Bool  origobj,
SCIP_Bool  lazyconss 
)

writes MIP relaxation of the current branch-and-bound node to a file

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
filenamefile name
genericnamesshould generic names like x_i and row_j be used in order to avoid troubles with reserved symbols?
origobjshould the original objective function be used?
lazyconssoutput removable rows as lazy constraints?

Definition at line 27189 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Prob::objoffset, SCIP_Prob::objscale, SCIP_Prob::objsense, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPlpFlush(), SCIPlpWriteMip(), Scip::set, Scip::transprob, and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPgetLPI ( SCIP scip,
SCIP_LPI **  lpi 
)

gets the LP interface of SCIP; with the LPI you can use all of the methods defined in lpi/lpi.h;

Warning
You have to make sure, that the full internal state of the LPI does not change or is recovered completely after the end of the method that uses the LPI. In particular, if you manipulate the LP or its solution (e.g. by calling one of the SCIPlpiAdd...() or one of the SCIPlpiSolve...() methods), you have to check in advance with SCIPlpiWasSolved() whether the LP is currently solved. If this is the case, you have to make sure, the internal solution status is recovered completely at the end of your method. This can be achieved by getting the LPI state before applying any LPI manipulations with SCIPlpiGetState() and restoring it afterwards with SCIPlpiSetState() and SCIPlpiFreeState(). Additionally you have to resolve the LP with the appropriate SCIPlpiSolve...() call in order to reinstall the internal solution status.
Make also sure, that all parameter values that you have changed are set back to their original values.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
lpipointer to store the LP interface

Definition at line 27239 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpGetLPI(), and TRUE.

Referenced by performStrongbranchWithPropagation(), and SCIP_DECL_DISPOUTPUT().

SCIP_RETCODE SCIPprintLPSolutionQuality ( SCIP scip,
FILE *  file 
)

displays quality information about the current LP solution. An LP solution need to be available; information printed is subject to what the LP solver supports

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Note
The printing process is done via the message handler system.
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)

Definition at line 27275 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALID, SCIP_INVALIDCALL, SCIP_LPSOLQUALITY_ESTIMCONDITION, SCIP_LPSOLQUALITY_EXACTCONDITION, SCIP_OKAY, SCIP_Real, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INIT, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPerrorMessage, SCIPlpGetLPI(), SCIPlpiGetRealSolQuality(), SCIPmessageFPrintInfo(), Scip::set, SCIP_Set::stage, and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPcomputeLPRelIntPoint ( SCIP scip,
SCIP_Bool  relaxrows,
SCIP_Bool  inclobjcutoff,
SCIP_Real  timelimit,
int  iterlimit,
SCIP_SOL **  point 
)

compute relative interior point to current LP

See also
SCIPlpComputeRelIntPoint
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
relaxrowsshould the rows be relaxed
inclobjcutoffshould a row for the objective cutoff be included
timelimittime limit for LP solver
iterlimititeration limit for LP solver
pointrelative interior point on exit

Definition at line 27348 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::messagehdlr, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPcolGetVar(), SCIPcreateSol(), SCIPfreeBufferArray, SCIPlpComputeRelIntPoint(), SCIPlpGetCols(), SCIPlpGetNCols(), SCIPsetSolVal(), Scip::set, Scip::transprob, and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP().

SCIP_Real SCIPgetColRedcost ( SCIP scip,
SCIP_COL col 
)

returns the reduced costs of a column in the last (feasible) LP

Returns
the reduced costs of a column in the last (feasible) LP
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
colLP column

Definition at line 27402 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPABORT, SCIPcolGetRedcost(), SCIPerrorMessage, SCIPtreeHasCurrentNodeLP(), Scip::stat, Scip::tree, and TRUE.

Referenced by propagateRedcostBinvar(), propagateRedcostVar(), and SCIPgetVarRedcost().

SCIP_Real SCIPgetColFarkasCoef ( SCIP scip,
SCIP_COL col 
)

returns the Farkas coefficient of a column in the last (infeasible) LP

Returns
the Farkas coefficient of a column in the last (infeasible) LP
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
colLP column

Definition at line 27427 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPABORT, SCIPcolGetFarkasCoef(), SCIPerrorMessage, SCIPtreeHasCurrentNodeLP(), Scip::stat, Scip::tree, and TRUE.

Referenced by SCIPgetVarFarkasCoef().

void SCIPmarkColNotRemovableLocal ( SCIP scip,
SCIP_COL col 
)

marks a column to be not removable from the LP in the current node

Precondition
this method can be called in the following stage of the SCIP solving process:
Parameters
scipSCIP data structure
colLP column

Definition at line 27449 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPcolMarkNotRemovableLocal(), Scip::stat, and TRUE.

SCIP_RETCODE SCIPcreateRowCons ( SCIP scip,
SCIP_ROW **  row,
SCIP_CONSHDLR conshdlr,
const char *  name,
int  len,
SCIP_COL **  cols,
SCIP_Real vals,
SCIP_Real  lhs,
SCIP_Real  rhs,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  removable 
)

creates and captures an LP row from a constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowpointer to row
conshdlrconstraint handler that creates the row
namename of row
lennumber of nonzeros in the row
colsarray with columns of row entries
valsarray with coefficients of row entries
lhsleft hand side of row
rhsright hand side of row
localis row only valid locally?
modifiableis row modifiable during node processing (subject to column generation)?
removableshould the row be removed from the LP due to aging or cleanup?

Definition at line 27472 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIP_ROWORIGINTYPE_CONS, SCIProwCreate(), Scip::set, Scip::stat, and TRUE.

Referenced by generateConvexConcaveEstimator(), and generateOverestimatingHyperplaneCut().

SCIP_RETCODE SCIPcreateRowSepa ( SCIP scip,
SCIP_ROW **  row,
SCIP_SEPA sepa,
const char *  name,
int  len,
SCIP_COL **  cols,
SCIP_Real vals,
SCIP_Real  lhs,
SCIP_Real  rhs,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  removable 
)

creates and captures an LP row from a separator

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowpointer to row
sepaseparator that creates the row
namename of row
lennumber of nonzeros in the row
colsarray with columns of row entries
valsarray with coefficients of row entries
lhsleft hand side of row
rhsright hand side of row
localis row only valid locally?
modifiableis row modifiable during node processing (subject to column generation)?
removableshould the row be removed from the LP due to aging or cleanup?

Definition at line 27504 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIP_ROWORIGINTYPE_SEPA, SCIProwCreate(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPcreateRowUnspec ( SCIP scip,
SCIP_ROW **  row,
const char *  name,
int  len,
SCIP_COL **  cols,
SCIP_Real vals,
SCIP_Real  lhs,
SCIP_Real  rhs,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  removable 
)

creates and captures an LP row from an unspecified source

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowpointer to row
namename of row
lennumber of nonzeros in the row
colsarray with columns of row entries
valsarray with coefficients of row entries
lhsleft hand side of row
rhsright hand side of row
localis row only valid locally?
modifiableis row modifiable during node processing (subject to column generation)?
removableshould the row be removed from the LP due to aging or cleanup?

Definition at line 27536 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIP_ROWORIGINTYPE_UNSPEC, SCIProwCreate(), Scip::set, Scip::stat, and TRUE.

Referenced by SCIPcreateRow().

SCIP_RETCODE SCIPcreateRow ( SCIP scip,
SCIP_ROW **  row,
const char *  name,
int  len,
SCIP_COL **  cols,
SCIP_Real vals,
SCIP_Real  lhs,
SCIP_Real  rhs,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  removable 
)

creates and captures an LP row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Deprecated:
Please use SCIPcreateRowCons() or SCIPcreateRowSepa() when calling from a constraint handler or separator in order to facilitate correct statistics. If the call is from neither a constraint handler or separator, use SCIPcreateRowUnspec().
Parameters
scipSCIP data structure
rowpointer to row
namename of row
lennumber of nonzeros in the row
colsarray with columns of row entries
valsarray with coefficients of row entries
lhsleft hand side of row
rhsright hand side of row
localis row only valid locally?
modifiableis row modifiable during node processing (subject to column generation)?
removableshould the row be removed from the LP due to aging or cleanup?

Definition at line 27570 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPcreateRowUnspec(), and TRUE.

SCIP_RETCODE SCIPcreateEmptyRowCons ( SCIP scip,
SCIP_ROW **  row,
SCIP_CONSHDLR conshdlr,
const char *  name,
SCIP_Real  lhs,
SCIP_Real  rhs,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  removable 
)

creates and captures an LP row without any coefficients from a constraint handler

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowpointer to row
conshdlrconstraint handler that creates the row
namename of row
lhsleft hand side of row
rhsright hand side of row
localis row only valid locally?
modifiableis row modifiable during node processing (subject to column generation)?
removableshould the row be removed from the LP due to aging or cleanup?

Definition at line 27600 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIP_ROWORIGINTYPE_CONS, SCIProwCreate(), Scip::set, Scip::stat, and TRUE.

Referenced by addRelaxation(), createCapacityRestriction(), createCapacityRestrictionIntvars(), createCoverCutsTimepoint(), createRelaxation(), createRow(), createRows(), extendToCover(), generate1ConvexIndefiniteUnderestimator(), generateBoundInequalityFromSOS1Nodes(), generateConvexConcaveEstimator(), generateCut(), generateCutPoint(), generateCutProjectedPoint(), generateCutSol(), generateLinearizationCut(), generateRowSOS2(), generateSecantCut(), generateSecantCutNoCheck(), SCIP_DECL_CONSINITLP(), sepaImplBoundCutsSOS1(), separateCons(), separateIndicators(), separateSCIs(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), and separateSupLiftedMinimalCoverInequality().

SCIP_RETCODE SCIPcreateEmptyRowSepa ( SCIP scip,
SCIP_ROW **  row,
SCIP_SEPA sepa,
const char *  name,
SCIP_Real  lhs,
SCIP_Real  rhs,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  removable 
)

creates and captures an LP row without any coefficients from a separator

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowpointer to row
sepaseparator that creates the row
namename of row
lhsleft hand side of row
rhsright hand side of row
localis row only valid locally?
modifiableis row modifiable during node processing (subject to column generation)?
removableshould the row be removed from the LP due to aging or cleanup?

Definition at line 27629 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIP_ROWORIGINTYPE_SEPA, SCIProwCreate(), Scip::set, Scip::stat, and TRUE.

Referenced by addCut(), computeCut(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), createObjRow(), createZerohalfCutFromZerohalfWeightvector(), generateDisjCutSOS1(), generateOddCycleCut(), newsolCliqueAddRow(), SCIP_DECL_SEPAEXECLP(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), and separateSupLiftedMinimalCoverInequality().

SCIP_RETCODE SCIPcreateEmptyRowUnspec ( SCIP scip,
SCIP_ROW **  row,
const char *  name,
SCIP_Real  lhs,
SCIP_Real  rhs,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  removable 
)

creates and captures an LP row without any coefficients from an unspecified source

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowpointer to row
namename of row
lhsleft hand side of row
rhsright hand side of row
localis row only valid locally?
modifiableis row modifiable during node processing (subject to column generation)?
removableshould the row be removed from the LP due to aging or cleanup?

Definition at line 27658 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIP_ROWORIGINTYPE_UNSPEC, SCIProwCreate(), Scip::set, Scip::stat, and TRUE.

Referenced by SCIPcreateEmptyRow(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), and separateSupLiftedMinimalCoverInequality().

SCIP_RETCODE SCIPcreateEmptyRow ( SCIP scip,
SCIP_ROW **  row,
const char *  name,
SCIP_Real  lhs,
SCIP_Real  rhs,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  removable 
)

creates and captures an LP row without any coefficients

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Deprecated:
Please use SCIPcreateEmptyRowCons() or SCIPcreateEmptyRowSepa() when calling from a constraint handler or separator in order to facilitate correct statistics. If the call is from neither a constraint handler or separator, use SCIPcreateEmptyRowUnspec().
Parameters
scipSCIP data structure
rowpointer to row
namename of row
lhsleft hand side of row
rhsright hand side of row
localis row only valid locally?
modifiableis row modifiable during node processing (subject to column generation)?
removableshould the row be removed from the LP due to aging or cleanup?

Definition at line 27689 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPcreateEmptyRowUnspec(), and TRUE.

SCIP_RETCODE SCIPcaptureRow ( SCIP scip,
SCIP_ROW row 
)

increases usage counter of LP row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowrow to capture

Definition at line 27716 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIProwCapture(), and TRUE.

Referenced by mcfnetworkFill().

SCIP_RETCODE SCIPchgRowLhs ( SCIP scip,
SCIP_ROW row,
SCIP_Real  lhs 
)

changes left hand side of LP row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row
lhsnew left hand side

Definition at line 27759 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, SCIP_Row::lppos, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPlpDiving(), SCIProwChgLhs(), Scip::set, and TRUE.

Referenced by addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConcaveEstimatorUnivariate(), addIntervalGradientEstimator(), addLinearization(), addUserEstimator(), generateCut(), and handleNewVariableSOS2().

SCIP_RETCODE SCIPchgRowRhs ( SCIP scip,
SCIP_ROW row,
SCIP_Real  rhs 
)

changes right hand side of LP row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row
rhsnew right hand side

Definition at line 27783 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, SCIP_Row::lppos, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPlpDiving(), SCIProwChgRhs(), Scip::set, and TRUE.

Referenced by addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConcaveEstimatorUnivariate(), addIntervalGradientEstimator(), addLinearization(), addUserEstimator(), computeCut(), generateCut(), generateOddCycleCut(), generateSecantCut(), generateSecantCutNoCheck(), and handleNewVariableSOS2().

SCIP_RETCODE SCIPcacheRowExtensions ( SCIP scip,
SCIP_ROW row 
)

informs row, that all subsequent additions of variables to the row should be cached and not directly applied; after all additions were applied, SCIPflushRowExtensions() must be called; while the caching of row extensions is activated, information methods of the row give invalid results; caching should be used, if a row is build with SCIPaddVarToRow() calls variable by variable to increase the performance

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 27811 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIProwDelaySort(), and TRUE.

Referenced by addCut(), computeCut(), createCapacityRestriction(), createCapacityRestrictionIntvars(), createCoverCutsTimepoint(), createObjRow(), extendToCover(), generateDisjCutSOS1(), generateOddCycleCut(), newsolCliqueAddRow(), SCIP_DECL_CONSINITLP(), SCIP_DECL_SEPAEXECLP(), sepaImplBoundCutsSOS1(), separateCons(), separateIndicators(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), and separateSupLiftedMinimalCoverInequality().

SCIP_RETCODE SCIPflushRowExtensions ( SCIP scip,
SCIP_ROW row 
)

flushes all cached row extensions after a call of SCIPcacheRowExtensions() and merges coefficients with equal columns into a single coefficient

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 27834 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIProwForceSort(), Scip::set, and TRUE.

Referenced by addCut(), computeCut(), createCapacityRestriction(), createCapacityRestrictionIntvars(), createCoverCutsTimepoint(), createObjRow(), extendToCover(), generateDisjCutSOS1(), generateOddCycleCut(), newsolCliqueAddRow(), SCIP_DECL_CONSINITLP(), SCIP_DECL_SEPAEXECLP(), sepaImplBoundCutsSOS1(), separateCons(), separateIndicators(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), and separateSupLiftedMinimalCoverInequality().

SCIP_RETCODE SCIPaddVarToRow ( SCIP scip,
SCIP_ROW row,
SCIP_VAR var,
SCIP_Real  val 
)

resolves variable to columns and adds them with the coefficient to the row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Note
In case calling this method in the enforcement process of an lp solution, it might be that some variables, that were not yet in the LP (e.g. dynamic columns) will change their lp solution value returned by SCIP. For example, a variable, which has a negative objective value, that has no column in the lp yet, is in the lp solution on its upper bound (variables with status SCIP_VARSTATUS_LOOSE are in an lp solution on it's best bound), but creating the column, changes the solution value (variable than has status SCIP_VARSTATUS_COLUMN, and the initialization sets the lp solution value) to 0.0. (This leads to the conclusion that, if a constraint was violated, the linear relaxation might not be violated anymore.)
Parameters
scipSCIP data structure
rowLP row
varproblem variable
valvalue of coefficient

Definition at line 27864 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPvarAddToRow(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by addBilinearTermToCut(), addCoef(), addCut(), addFacetToCut(), addLinearTermToCut(), addRelaxation(), createCapacityRestriction(), createCapacityRestrictionIntvars(), createCoverCutsTimepoint(), createObjRow(), createRelaxation(), createRows(), extendToCover(), generate1ConvexIndefiniteUnderestimator(), generateConvexConcaveEstimator(), generateCut(), generateCutPoint(), generateCutProjectedPoint(), generateCutSol(), generateDisjCutSOS1(), generateLinearizationCut(), generateOddCycleCut(), generateOverestimatingHyperplaneCut(), generateSecantCut(), generateSecantCutNoCheck(), handleNewVariableSOS1(), handleNewVariableSOS2(), newsolCliqueAddRow(), SCIP_DECL_CONSINITLP(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_SEPAEXECLP(), sepaImplBoundCutsSOS1(), separateCons(), separateIndicators(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), and separateSupLiftedMinimalCoverInequality().

SCIP_RETCODE SCIPaddVarsToRow ( SCIP scip,
SCIP_ROW row,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real vals 
)

resolves variables to columns and adds them with the coefficients to the row; this method caches the row extensions and flushes them afterwards to gain better performance

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row
nvarsnumber of variables to add to the row
varsproblem variables to add
valsvalues of coefficients

Definition at line 27888 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIProwDelaySort(), SCIProwEnsureSize(), SCIProwForceSort(), SCIProwGetNNonz(), SCIPvarAddToRow(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConcaveEstimatorUnivariate(), addCut(), addIntervalGradientEstimator(), addLinearization(), addUserEstimator(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), createZerohalfCutFromZerohalfWeightvector(), generateBoundInequalityFromSOS1Nodes(), generateConvexConcaveEstimator(), generateCut(), generateCutPoint(), generateCutProjectedPoint(), generateCutSol(), generateLinearizationCut(), generateOverestimatingHyperplaneCut(), SCIP_DECL_CONSINITLP(), SCIP_DECL_SEPAEXECLP(), and separateSCIs().

SCIP_RETCODE SCIPaddVarsToRowSameCoef ( SCIP scip,
SCIP_ROW row,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real  val 
)

resolves variables to columns and adds them with the same single coefficient to the row; this method caches the row extensions and flushes them afterwards to gain better performance

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row
nvarsnumber of variables to add to the row
varsproblem variables to add
valunique value of all coefficients

Definition at line 27932 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIProwDelaySort(), SCIProwEnsureSize(), SCIProwForceSort(), SCIProwGetNNonz(), SCIPvarAddToRow(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by addRelaxation(), createRelaxation(), createRow(), createRows(), and generateRowSOS2().

SCIP_RETCODE SCIPcalcRowIntegralScalar ( SCIP scip,
SCIP_ROW row,
SCIP_Real  mindelta,
SCIP_Real  maxdelta,
SCIP_Longint  maxdnom,
SCIP_Real  maxscale,
SCIP_Bool  usecontvars,
SCIP_Real intscalar,
SCIP_Bool success 
)

tries to find a value, such that all row coefficients, if scaled with this value become integral

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row
mindeltaminimal relative allowed difference of scaled coefficient s*c and integral i
maxdeltamaximal relative allowed difference of scaled coefficient s*c and integral i
maxdnommaximal denominator allowed in rational numbers
maxscalemaximal allowed scalar
usecontvarsshould the coefficients of the continuous variables also be made integral?
intscalarpointer to store scalar that would make the coefficients integral, or NULL
successstores whether returned value is valid

Definition at line 27974 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIProwCalcIntegralScalar(), Scip::set, and TRUE.

SCIP_RETCODE SCIPmakeRowIntegral ( SCIP scip,
SCIP_ROW row,
SCIP_Real  mindelta,
SCIP_Real  maxdelta,
SCIP_Longint  maxdnom,
SCIP_Real  maxscale,
SCIP_Bool  usecontvars,
SCIP_Bool success 
)

tries to scale row, s.t. all coefficients (of integer variables) become integral

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row
mindeltaminimal relative allowed difference of scaled coefficient s*c and integral i
maxdeltamaximal relative allowed difference of scaled coefficient s*c and integral i
maxdnommaximal denominator allowed in rational numbers
maxscalemaximal value to scale row with
usecontvarsshould the coefficients of the continuous variables also be made integral?
successstores whether row could be made rational

Definition at line 28003 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIProwMakeIntegral(), Scip::set, Scip::stat, and TRUE.

Referenced by addCut(), createCGCutCMIR(), createCGCutStrongCG(), evaluateCutNumerics(), generateDisjCutSOS1(), and SCIP_DECL_SEPAEXECLP().

void SCIPmarkRowNotRemovableLocal ( SCIP scip,
SCIP_ROW row 
)

marks a row to be not removable from the LP in the current node

Precondition
this method can be called in the following stage of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28027 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIProwMarkNotRemovableLocal(), Scip::stat, and TRUE.

Referenced by separatePoint().

SCIP_Real SCIPgetRowMinCoef ( SCIP scip,
SCIP_ROW row 
)

returns minimal absolute value of row vector's non-zero coefficients

Returns
minimal absolute value of row vector's non-zero coefficients
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28045 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIProwGetMinval(), Scip::set, and TRUE.

Referenced by addCut(), computeCut(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), generateCut(), SCIP_DECL_CONSINITLP(), and SCIP_DECL_SEPAEXECLP().

SCIP_Real SCIPgetRowMaxCoef ( SCIP scip,
SCIP_ROW row 
)

returns maximal absolute value of row vector's non-zero coefficients

Returns
maximal absolute value of row vector's non-zero coefficients
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28063 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIProwGetMaxval(), Scip::set, and TRUE.

Referenced by addCut(), addLinearizationCuts(), computeCut(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), generateClusterCuts(), generateCut(), generateSparseCut(), initMatrix(), nodepairqueueCreate(), relaxVar(), SCIP_DECL_CONSINITLP(), SCIP_DECL_SEPAEXECLP(), and separatePoint().

SCIP_Real SCIPgetRowMinActivity ( SCIP scip,
SCIP_ROW row 
)

returns the minimal activity of a row w.r.t. the column's bounds

Returns
the minimal activity of a row w.r.t. the column's bounds
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28080 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIProwGetMinActivity(), Scip::set, Scip::stat, and TRUE.

SCIP_Real SCIPgetRowMaxActivity ( SCIP scip,
SCIP_ROW row 
)

returns the maximal activity of a row w.r.t. the column's bounds

Returns
the maximal activity of a row w.r.t. the column's bounds
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28097 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIProwGetMaxActivity(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPrecalcRowLPActivity ( SCIP scip,
SCIP_ROW row 
)

recalculates the activity of a row in the last LP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28115 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIProwRecalcLPActivity(), Scip::stat, and TRUE.

SCIP_Real SCIPgetRowLPActivity ( SCIP scip,
SCIP_ROW row 
)

returns the activity of a row in the last LP solution

Returns
activity of a row in the last LP solution
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28134 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIProwGetLPActivity(), Scip::set, Scip::stat, and TRUE.

Referenced by createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), createSubscip(), generateDisjCutSOS1(), getSimplexCoefficients(), SCIP_DECL_SEPAEXECLP(), and separateCons().

SCIP_Real SCIPgetRowLPFeasibility ( SCIP scip,
SCIP_ROW row 
)

returns the feasibility of a row in the last LP solution

Returns
the feasibility of a row in the last LP solution: negative value means infeasibility
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28151 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIProwGetLPFeasibility(), Scip::set, Scip::stat, and TRUE.

Referenced by addLinearizationCuts(), calcBranchScore(), nodepartitionIsConnected(), separateCons(), separateConsBinaryRepresentation(), separateCoverCutsCons(), and separatePoint().

SCIP_RETCODE SCIPrecalcRowPseudoActivity ( SCIP scip,
SCIP_ROW row 
)

recalculates the activity of a row for the current pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28169 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIProwRecalcPseudoActivity(), Scip::stat, and TRUE.

SCIP_Real SCIPgetRowPseudoActivity ( SCIP scip,
SCIP_ROW row 
)

returns the activity of a row for the current pseudo solution

Returns
the activity of a row for the current pseudo solution
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28188 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIProwGetPseudoActivity(), Scip::set, Scip::stat, and TRUE.

SCIP_Real SCIPgetRowPseudoFeasibility ( SCIP scip,
SCIP_ROW row 
)

returns the feasibility of a row for the current pseudo solution: negative value means infeasibility

Returns
the feasibility of a row for the current pseudo solution: negative value means infeasibility
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28205 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIProwGetPseudoFeasibility(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPrecalcRowActivity ( SCIP scip,
SCIP_ROW row 
)

recalculates the activity of a row in the last LP or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28223 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIProwRecalcLPActivity(), SCIProwRecalcPseudoActivity(), SCIPtreeHasCurrentNodeLP(), Scip::stat, Scip::tree, and TRUE.

SCIP_Real SCIPgetRowActivity ( SCIP scip,
SCIP_ROW row 
)

returns the activity of a row in the last LP or pseudo solution

Returns
the activity of a row in the last LP or pseudo solution
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28245 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIProwGetLPActivity(), SCIProwGetPseudoActivity(), SCIPtreeHasCurrentNodeLP(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), and SCIP_DECL_SEPAEXECLP().

SCIP_Real SCIPgetRowFeasibility ( SCIP scip,
SCIP_ROW row 
)

returns the feasibility of a row in the last LP or pseudo solution

Returns
the feasibility of a row in the last LP or pseudo solution
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row

Definition at line 28265 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIProwGetLPFeasibility(), SCIProwGetPseudoFeasibility(), SCIPtreeHasCurrentNodeLP(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by generateClusterCuts(), and nodepairqueueCreate().

SCIP_Real SCIPgetRowSolActivity ( SCIP scip,
SCIP_ROW row,
SCIP_SOL sol 
)

returns the activity of a row for the given primal solution

Returns
the activitiy of a row for the given primal solution
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row
solprimal CIP solution

Definition at line 28285 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIProwGetLPActivity(), SCIProwGetPseudoActivity(), SCIProwGetSolActivity(), SCIPtreeHasCurrentNodeLP(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by addCut(), aggregation(), computeCut(), getNActiveConsScore(), SCIP_DECL_HEUREXEC(), and separateCuts().

SCIP_Real SCIPgetRowSolFeasibility ( SCIP scip,
SCIP_ROW row,
SCIP_SOL sol 
)

returns the feasibility of a row for the given primal solution

Returns
the feasibility of a row for the given primal solution
Precondition
this method can be called in one of the following stages of the SCIP solving process:
Parameters
scipSCIP data structure
rowLP row
solprimal CIP solution

Definition at line 28308 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIProwGetLPFeasibility(), SCIProwGetPseudoFeasibility(), SCIProwGetSolFeasibility(), SCIPtreeHasCurrentNodeLP(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by extendToCover(), generateClusterCuts(), generateSparseCut(), separateCons(), separateConsBinaryRepresentation(), separateCoverCutsCons(), and separatePoint().

SCIP_RETCODE SCIPprintRow ( SCIP scip,
SCIP_ROW row,
FILE *  file 
)
SCIP_Bool SCIPisNLPEnabled ( SCIP scip)

returns whether the NLP relaxation has been enabled

If the NLP relaxation is enabled, then SCIP will construct the NLP relaxation when the solving process is about to begin. To check whether an NLP is existing, use SCIPisNLPConstructed().

Precondition
This method can be called if SCIP is in one of the following stages:
See also
SCIPenableNLP
Parameters
scipSCIP data structure

Definition at line 28369 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::nlpenabled, SCIP_CALL_ABORT, Scip::transprob, and TRUE.

Referenced by SCIP_DECL_PRESOLEXEC().

void SCIPenableNLP ( SCIP scip)

marks that there are constraints that are representable by nonlinear rows

This method should be called by a constraint handler if it has constraints that have a representation as nonlinear rows.

The function should be called before the branch-and-bound process is initialized, e.g., when presolve is exiting.

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28392 of file scip.c.

References checkStage(), FALSE, SCIP_Prob::nlpenabled, SCIP_CALL_ABORT, Scip::transprob, and TRUE.

Referenced by SCIP_DECL_CONSEXITPRE().

SCIP_Bool SCIPisNLPConstructed ( SCIP scip)

returns, whether an NLP has been constructed

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28407 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, and TRUE.

Referenced by computeFixingrate(), countNonlinearities(), createCoveringProblem(), getFixingValue(), runHeuristic(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DIALOGEXEC(), SCIPapplyHeurDualval(), SCIPapplyUndercover(), SCIPcreateNLPSol(), solveLp(), and solveSubNLP().

SCIP_Bool SCIPhasNLPContinuousNonlinearity ( SCIP scip)

returns whether the NLP has a continuous variable in a nonlinear term

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28422 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpHasContinuousNonlinearity(), and TRUE.

Referenced by runHeuristic().

SCIP_RETCODE SCIPgetNLPVarsData ( SCIP scip,
SCIP_VAR ***  vars,
int *  nvars 
)

gets current NLP variables along with the current number of NLP variables

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
varspointer to store the array of NLP variables, or NULL
nvarspointer to store the number of NLP variables, or NULL

Definition at line 28444 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetNVars(), SCIPnlpGetVars(), and TRUE.

SCIP_VAR** SCIPgetNLPVars ( SCIP scip)

gets array with variables of the NLP

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28474 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpGetVars(), and TRUE.

Referenced by SCIPapplyHeurDualval(), and solveSubNLP().

int SCIPgetNNLPVars ( SCIP scip)

gets current number of variables in NLP

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28496 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpGetNVars(), and TRUE.

Referenced by countNonlinearities(), SCIPapplyHeurDualval(), and solveSubNLP().

SCIP_RETCODE SCIPgetNLPVarsNonlinearity ( SCIP scip,
int *  nlcount 
)

computes for each variables the number of NLP rows in which the variable appears in a nonlinear var

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlcountan array of length at least SCIPnlpGetNVars() to store nonlinearity counts of variables

Definition at line 28518 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetVarsNonlinearity(), and TRUE.

Referenced by countNonlinearities().

SCIP_Real* SCIPgetNLPVarsLbDualsol ( SCIP scip)

returns dual solution values associated with lower bounds of NLP variables

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28542 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpGetVarsLbDualsol(), and TRUE.

SCIP_Real* SCIPgetNLPVarsUbDualsol ( SCIP scip)

returns dual solution values associated with upper bounds of NLP variables

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28564 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpGetVarsUbDualsol(), and TRUE.

SCIP_RETCODE SCIPgetNLPNlRowsData ( SCIP scip,
SCIP_NLROW ***  nlrows,
int *  nnlrows 
)

gets current NLP nonlinear rows along with the current number of NLP nonlinear rows

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowspointer to store the array of NLP nonlinear rows, or NULL
nnlrowspointer to store the number of NLP nonlinear rows, or NULL

Definition at line 28586 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetNlRows(), SCIPnlpGetNNlRows(), and TRUE.

SCIP_NLROW** SCIPgetNLPNlRows ( SCIP scip)

gets array with nonlinear rows of the NLP

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28614 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpGetNlRows(), and TRUE.

Referenced by createCoveringProblem().

int SCIPgetNNLPNlRows ( SCIP scip)

gets current number of nonlinear rows in NLP

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28636 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpGetNNlRows(), and TRUE.

Referenced by createCoveringProblem().

SCIP_RETCODE SCIPaddNlRow ( SCIP scip,
SCIP_NLROW nlrow 
)

adds a nonlinear row to the NLP. This row is captured by the NLP.

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrownonlinear row to add to NLP

Definition at line 28658 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPerrorMessage, SCIPnlpAddNlRow(), Scip::set, Scip::stat, and TRUE.

Referenced by addKnapsackConstraints(), addLinearConstraints(), addLogicOrConstraints(), addSetppcConstraints(), addVarboundConstraints(), and SCIP_DECL_CONSINITSOL().

SCIP_RETCODE SCIPflushNLP ( SCIP scip)

makes sure that the NLP of the current node is flushed

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28682 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::nlp, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpFlush(), Scip::set, and TRUE.

SCIP_RETCODE SCIPsetNLPInitialGuess ( SCIP scip,
SCIP_Real initialguess 
)

sets or clears initial primal guess for NLP solution (start point for NLP solver)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
initialguessvalues of initial guess (corresponding to variables from SCIPgetNLPVarsData), or NULL to use no start point

Definition at line 28708 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPerrorMessage, SCIPnlpSetInitialGuess(), and TRUE.

Referenced by SCIPapplyHeurDualval(), and solveSubNLP().

SCIP_RETCODE SCIPsetNLPInitialGuessSol ( SCIP scip,
SCIP_SOL sol 
)

sets initial primal guess for NLP solution (start point for NLP solver)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solsolution which values should be taken as initial guess, or NULL for LP solution

Definition at line 28735 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPblkmem(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPgetSolVals(), SCIPnlpGetNVars(), SCIPnlpGetVars(), SCIPnlpSetInitialGuess(), and TRUE.

Referenced by computeFixingrate(), getFixingValue(), and SCIP_DECL_CONSSEPALP().

SCIP_RETCODE SCIPsolveNLP ( SCIP scip)

solves the current NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28767 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPerrorMessage, SCIPnlpSolve(), Scip::set, Scip::stat, and TRUE.

Referenced by computeFixingrate(), SCIP_DECL_CONSSEPALP(), SCIPapplyHeurDualval(), and solveSubNLP().

SCIP_NLPSOLSTAT SCIPgetNLPSolstat ( SCIP scip)

gets solution status of current NLP

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28790 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIP_NLPSOLSTAT_UNKNOWN, SCIPABORT, SCIPerrorMessage, SCIPnlpGetSolstat(), and TRUE.

Referenced by computeFixingrate(), getFixingValue(), SCIP_DECL_CONSSEPALP(), SCIPapplyHeurDualval(), solveSubNLP(), and storeSolution().

SCIP_NLPTERMSTAT SCIPgetNLPTermstat ( SCIP scip)

gets termination status of last NLP solve

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28812 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIP_NLPTERMSTAT_OTHER, SCIPABORT, SCIPerrorMessage, SCIPnlpGetTermstat(), and TRUE.

Referenced by solveSubNLP().

SCIP_RETCODE SCIPgetNLPStatistics ( SCIP scip,
SCIP_NLPSTATISTICS statistics 
)

gives statistics (number of iterations, solving time, ...) of last NLP solve

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
statisticspointer to store statistics

Definition at line 28837 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetStatistics(), and TRUE.

Referenced by solveSubNLP().

SCIP_Real SCIPgetNLPObjval ( SCIP scip)

gets objective value of current NLP

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28861 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIP_INVALID, SCIPerrorMessage, SCIPnlpGetObjval(), and TRUE.

Referenced by solveSubNLP().

SCIP_Bool SCIPhasNLPSolution ( SCIP scip)

indicates whether a feasible solution for the current NLP is available thus, returns whether the solution status <= feasible

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 28885 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPnlpHasSolution(), and TRUE.

SCIP_RETCODE SCIPgetNLPFracVars ( SCIP scip,
SCIP_VAR ***  fracvars,
SCIP_Real **  fracvarssol,
SCIP_Real **  fracvarsfrac,
int *  nfracvars,
int *  npriofracvars 
)

gets fractional variables of last NLP solution along with solution values and fractionalities

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
fracvarspointer to store the array of NLP fractional variables, or NULL
fracvarssolpointer to store the array of NLP fractional variables solution values, or NULL
fracvarsfracpointer to store the array of NLP fractional variables fractionalities, or NULL
nfracvarspointer to store the number of NLP fractional variables , or NULL
npriofracvarspointer to store the number of NLP fractional variables with maximal branching priority, or NULL

Definition at line 28910 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPerrorMessage, SCIPnlpGetFracVars(), Scip::set, Scip::stat, and TRUE.

Referenced by getNLPFracVars(), and SCIP_DECL_CONSSEPALP().

SCIP_RETCODE SCIPgetNLPIntPar ( SCIP scip,
SCIP_NLPPARAM  type,
int *  ival 
)

gets integer parameter of NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
typeparameter number
ivalpointer to store the parameter value

Definition at line 28941 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetIntPar(), and TRUE.

Referenced by computeFixingrate().

SCIP_RETCODE SCIPsetNLPIntPar ( SCIP scip,
SCIP_NLPPARAM  type,
int  ival 
)

sets integer parameter of NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
typeparameter number
ivalparameter value

Definition at line 28969 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpSetIntPar(), and TRUE.

Referenced by computeFixingrate(), getFixingValue(), SCIPapplyHeurDualval(), and solveSubNLP().

SCIP_RETCODE SCIPgetNLPRealPar ( SCIP scip,
SCIP_NLPPARAM  type,
SCIP_Real dval 
)

gets floating point parameter of NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
typeparameter number
dvalpointer to store the parameter value

Definition at line 28997 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetRealPar(), and TRUE.

SCIP_RETCODE SCIPsetNLPRealPar ( SCIP scip,
SCIP_NLPPARAM  type,
SCIP_Real  dval 
)

sets floating point parameter of NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
typeparameter number
dvalparameter value

Definition at line 29025 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpSetRealPar(), and TRUE.

Referenced by solveSubNLP().

SCIP_RETCODE SCIPgetNLPStringPar ( SCIP scip,
SCIP_NLPPARAM  type,
const char **  sval 
)

gets string parameter of NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
typeparameter number
svalpointer to store the parameter value

Definition at line 29053 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetStringPar(), and TRUE.

SCIP_RETCODE SCIPsetNLPStringPar ( SCIP scip,
SCIP_NLPPARAM  type,
const char *  sval 
)

sets string parameter of NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
typeparameter number
svalparameter value

Definition at line 29081 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpSetStringPar(), and TRUE.

Referenced by solveSubNLP().

SCIP_RETCODE SCIPwriteNLP ( SCIP scip,
const char *  filename 
)

writes current NLP to a file

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
filenamefile name

Definition at line 29109 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpWrite(), Scip::set, and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPgetNLPI ( SCIP scip,
SCIP_NLPI **  nlpi,
SCIP_NLPIPROBLEM **  nlpiproblem 
)

gets the NLP interface and problem used by the SCIP NLP; with the NLPI and its problem you can use all of the methods defined in nlpi/nlpi.h;

Warning
You have to make sure, that the full internal state of the NLPI does not change or is recovered completely after the end of the method that uses the NLPI. In particular, if you manipulate the NLP or its solution (e.g. by calling one of the SCIPnlpiAdd...() or the SCIPnlpiSolve() method), you have to check in advance whether the NLP is currently solved. If this is the case, you have to make sure, the internal solution status is recovered completely at the end of your method. Additionally you have to resolve the NLP with SCIPnlpiSolve() in order to reinstall the internal solution status.
Make also sure, that all parameter values that you have changed are set back to their original values.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlpipointer to store the NLP solver interface
nlpiproblempointer to store the NLP solver interface problem

Definition at line 29146 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetNLPI(), SCIPnlpGetNLPIProblem(), and TRUE.

SCIP_RETCODE SCIPstartDiveNLP ( SCIP scip)

initiates NLP diving making methods SCIPchgVarObjDiveNLP(), SCIPchgVarBoundsDiveNLP(), SCIPchgVarsBoundsDiveNLP(), and SCIPsolveDiveNLP() available

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 29186 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPerrorMessage, SCIPnlpStartDive(), Scip::set, and TRUE.

Referenced by getFixingValue().

SCIP_RETCODE SCIPendDiveNLP ( SCIP scip)

ends NLP diving

Resets changes made by SCIPchgVarObjDiveNLP(), SCIPchgVarBoundsDiveNLP(), and SCIPchgVarsBoundsDiveNLP().

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 29214 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPerrorMessage, SCIPnlpEndDive(), Scip::set, and TRUE.

Referenced by SCIPapplyUndercover().

SCIP_RETCODE SCIPchgVarObjDiveNLP ( SCIP scip,
SCIP_VAR var,
SCIP_Real  coef 
)

changes linear objective coefficient of a variable in diving NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
varvariable which coefficient to change
coefnew value for coefficient

Definition at line 29240 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPerrorMessage, SCIPnlpChgVarObjDive(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPchgVarBoundsDiveNLP ( SCIP scip,
SCIP_VAR var,
SCIP_Real  lb,
SCIP_Real  ub 
)

changes bounds of a variable in diving NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
varvariable which bounds to change
lbnew lower bound
ubnew upper bound

Definition at line 29270 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpChgVarBoundsDive(), and TRUE.

Referenced by getFixingValue().

SCIP_RETCODE SCIPchgVarsBoundsDiveNLP ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real lbs,
SCIP_Real ubs 
)

changes bounds of a set of variables in diving NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nvarsnumber of variables which bounds to changes
varsvariables which bounds to change
lbsnew lower bounds
ubsnew upper bounds

Definition at line 29301 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlpChgVarsBoundsDive(), Scip::set, and TRUE.

SCIP_RETCODE SCIPsolveDiveNLP ( SCIP scip)

solves diving NLP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 29331 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPblkmem(), SCIPerrorMessage, SCIPnlpSolveDive(), Scip::set, Scip::stat, and TRUE.

Referenced by getFixingValue().

SCIP_RETCODE SCIPcreateNlRow ( SCIP scip,
SCIP_NLROW **  nlrow,
const char *  name,
SCIP_Real  constant,
int  nlinvars,
SCIP_VAR **  linvars,
SCIP_Real lincoefs,
int  nquadvars,
SCIP_VAR **  quadvars,
int  nquadelems,
SCIP_QUADELEM quadelems,
SCIP_EXPRTREE expression,
SCIP_Real  lhs,
SCIP_Real  rhs 
)

creates and captures an NLP row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowbuffer to store pointer to nonlinear row
namename of nonlinear row
constantconstant
nlinvarsnumber of linear variables
linvarslinear variables, or NULL if nlinvars == 0
lincoefslinear coefficients, or NULL if nlinvars == 0
nquadvarsnumber variables in quadratic terms
quadvarsvariables in quadratic terms, or NULL if nquadvars == 0
nquadelemsnumber of elements in quadratic term
quadelemselements (i.e., monomials) in quadratic term, or NULL if nquadelems == 0
expressionnonlinear expression, or NULL
lhsleft hand side
rhsright hand side

Definition at line 29365 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowCreate(), Scip::set, and TRUE.

Referenced by addKnapsackConstraints(), addLinearConstraints(), addLogicOrConstraints(), addSetppcConstraints(), addVarboundConstraints(), createNlRow(), and SCIP_DECL_CONSINITSOL().

SCIP_RETCODE SCIPcreateEmptyNlRow ( SCIP scip,
SCIP_NLROW **  nlrow,
const char *  name,
SCIP_Real  lhs,
SCIP_Real  rhs 
)

creates and captures an NLP nonlinear row without any coefficients

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowpointer to nonlinear row
namename of nonlinear row
lhsleft hand side
rhsright hand side

Definition at line 29400 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowCreate(), Scip::set, and TRUE.

SCIP_RETCODE SCIPcreateNlRowFromRow ( SCIP scip,
SCIP_NLROW **  nlrow,
SCIP_ROW row 
)

creates and captures an NLP row from a linear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowpointer to nonlinear row
rowthe linear row to copy

Definition at line 29426 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowCreateFromRow(), Scip::set, and TRUE.

SCIP_RETCODE SCIPcaptureNlRow ( SCIP scip,
SCIP_NLROW nlrow 
)

increases usage counter of NLP nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrownonlinear row to capture

Definition at line 29449 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPnlrowCapture(), and TRUE.

SCIP_RETCODE SCIPreleaseNlRow ( SCIP scip,
SCIP_NLROW **  nlrow 
)

decreases usage counter of NLP nonlinear row, and frees memory if necessary

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowpointer to nonlinear row

Definition at line 29472 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowRelease(), Scip::set, and TRUE.

Referenced by addBilinearTerm(), addKnapsackConstraints(), addLinearCoef(), addLinearConstraints(), addLogicOrConstraints(), addQuadVarTerm(), addSetppcConstraints(), addVarboundConstraints(), chgLinearCoefPos(), consdataAddExprtrees(), consdataFree(), consdataSetExprtrees(), createNlRow(), delLinearCoefPos(), delQuadVarTermPos(), mergeAndCleanQuadVarTerms(), presolveDisaggregate(), presolveRemoveFixedVariables(), releaseHashmapNLPRows(), removeBilinearTermsPos(), replaceQuadVarTermPos(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSEXITSOL(), and SCIP_DECL_CONSINITSOL().

SCIP_RETCODE SCIPchgNlRowLhs ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real  lhs 
)

changes left hand side of NLP nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
lhsnew left hand side

Definition at line 29494 of file scip.c.

References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_OKAY, SCIPnlrowChgLhs(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPchgNlRowRhs ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real  rhs 
)

changes right hand side of NLP nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
rhsnew right hand side

Definition at line 29517 of file scip.c.

References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_OKAY, SCIPnlrowChgRhs(), Scip::set, Scip::stat, and TRUE.

Referenced by createNlRow().

SCIP_RETCODE SCIPchgNlRowConstant ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real  constant 
)

changes constant of NLP nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
constantnew value for constant

Definition at line 29540 of file scip.c.

References checkStage(), FALSE, Scip::nlp, SCIP_CALL, SCIP_OKAY, SCIPnlrowChgConstant(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPaddLinearCoefToNlRow ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_VAR var,
SCIP_Real  val 
)

adds variable with a linear coefficient to the nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
varproblem variable
valvalue of coefficient in linear part of row

Definition at line 29563 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::nlp, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowAddLinearCoef(), Scip::set, Scip::stat, and TRUE.

Referenced by createNlRow().

SCIP_RETCODE SCIPaddLinearCoefsToNlRow ( SCIP scip,
SCIP_NLROW nlrow,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real vals 
)

adds variables with linear coefficients to the row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
nvarsnumber of variables to add to the row
varsproblem variables to add
valsvalues of coefficients in linear part of row

Definition at line 29587 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::nlp, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowAddLinearCoef(), Scip::set, Scip::stat, and TRUE.

Referenced by createNlRow().

SCIP_RETCODE SCIPchgNlRowLinearCoef ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_VAR var,
SCIP_Real  coef 
)

changes linear coefficient of a variables in a row

Setting the coefficient to 0.0 means that it is removed from the row the variable does not need to exists before.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
varvariable
coefnew value of coefficient

Definition at line 29624 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::nlp, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowChgLinearCoef(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPaddQuadVarToNlRow ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_VAR var 
)

adds quadratic variable to the nonlinear row

After adding a quadratic variable, it can be used to add quadratic elements.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
varproblem variable

Definition at line 29652 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowAddQuadVar(), Scip::set, and TRUE.

Referenced by createNlRow().

SCIP_RETCODE SCIPaddQuadVarsToNlRow ( SCIP scip,
SCIP_NLROW nlrow,
int  nvars,
SCIP_VAR **  vars 
)

adds quadratic variables to the nonlinear row

After adding quadratic variables, they can be used to add quadratic elements.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
nvarsnumber of problem variables
varsproblem variables

Definition at line 29677 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowAddQuadVar(), SCIPnlrowEnsureQuadVarsSize(), SCIPnlrowGetNQuadVars(), Scip::set, and TRUE.

SCIP_RETCODE SCIPaddQuadElementToNlRow ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_QUADELEM  quadelem 
)

add a quadratic element to the nonlinear row

Variable indices of the quadratic element need to be relative to quadratic variables array of row.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
quadelemquadratic element

Definition at line 29711 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::nlp, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowAddQuadElement(), Scip::set, Scip::stat, and TRUE.

Referenced by createNlRow().

SCIP_RETCODE SCIPaddQuadElementsToNlRow ( SCIP scip,
SCIP_NLROW nlrow,
int  nquadelems,
SCIP_QUADELEM quadelems 
)

adds quadratic elements to the nonlinear row

Variable indices of the quadratic elements need to be relative to quadratic variables array of row.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
nquadelemsnumber of quadratic elements
quadelemsquadratic elements

Definition at line 29736 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::nlp, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowAddQuadElement(), SCIPnlrowEnsureQuadElementsSize(), SCIPnlrowGetNQuadElems(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPchgNlRowQuadElement ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_QUADELEM  quadelement 
)

changes coefficient in quadratic part of a row

Setting the coefficient in the quadelement to 0.0 means that it is removed from the row the element does not need to exists before.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
quadelementnew quadratic element, or update for existing one

Definition at line 29771 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::nlp, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowChgQuadElem(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPsetNlRowExprtree ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_EXPRTREE exprtree 
)

sets or deletes expression tree in the nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
exprtreeexpression tree, or NULL

Definition at line 29794 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::nlp, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowChgExprtree(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPsetNlRowExprtreeParam ( SCIP scip,
SCIP_NLROW nlrow,
int  paramidx,
SCIP_Real  paramval 
)

sets a parameter of expression tree in the nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
paramidxindex of parameter in expression tree
paramvalnew value of parameter in expression tree

Definition at line 29817 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::nlp, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowChgExprtreeParam(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPsetNlRowExprtreeParams ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real paramvals 
)

sets parameters of expression tree in the nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
paramvalsnew values of parameter in expression tree

Definition at line 29841 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::nlp, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnlrowChgExprtreeParams(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPrecalcNlRowNLPActivity ( SCIP scip,
SCIP_NLROW nlrow 
)

recalculates the activity of a nonlinear row in the last NLP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row

Definition at line 29864 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlrowRecalcNLPActivity(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPgetNlRowNLPActivity ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real activity 
)

returns the activity of a nonlinear row in the last NLP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
activitypointer to store activity value

Definition at line 29891 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlrowGetNLPActivity(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPgetNlRowNLPFeasibility ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real feasibility 
)

gives the feasibility of a nonlinear row in the last NLP solution: negative value means infeasibility

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
feasibilitypointer to store feasibility value

Definition at line 29919 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnlrowGetNLPFeasibility(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPrecalcNlRowPseudoActivity ( SCIP scip,
SCIP_NLROW nlrow 
)

recalculates the activity of a nonlinear row for the current pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row

Definition at line 29947 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPnlrowRecalcPseudoActivity(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPgetNlRowPseudoActivity ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real pseudoactivity 
)

gives the activity of a nonlinear row for the current pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
pseudoactivitypointer to store pseudo activity value

Definition at line 29968 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPnlrowGetPseudoActivity(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPgetNlRowPseudoFeasibility ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real pseudofeasibility 
)

gives the feasibility of a nonlinear row for the current pseudo solution: negative value means infeasibility

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
pseudofeasibilitypointer to store pseudo feasibility value

Definition at line 29990 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPnlrowGetPseudoFeasibility(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPrecalcNlRowActivity ( SCIP scip,
SCIP_NLROW nlrow 
)

recalculates the activity of a nonlinear row in the last NLP or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row

Definition at line 30012 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowRecalcNLPActivity(), SCIPnlrowRecalcPseudoActivity(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPgetNlRowActivity ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real activity 
)

gives the activity of a nonlinear row in the last NLP or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
activitypointer to store activity value

Definition at line 30040 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPActivity(), SCIPnlrowGetPseudoActivity(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPgetNlRowFeasibility ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real feasibility 
)

gives the feasibility of a nonlinear row in the last NLP or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
feasibilitypointer to store feasibility value

Definition at line 30069 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPFeasibility(), SCIPnlrowGetPseudoFeasibility(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPgetNlRowSolActivity ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_SOL sol,
SCIP_Real activity 
)

gives the activity of a nonlinear row for the given primal solution or NLP solution or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
solprimal CIP solution, or NULL for NLP solution of pseudo solution
activitypointer to store activity value

Definition at line 30098 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPActivity(), SCIPnlrowGetPseudoActivity(), SCIPnlrowGetSolActivity(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPgetNlRowSolFeasibility ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_SOL sol,
SCIP_Real feasibility 
)

gives the feasibility of a nonlinear row for the given primal solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
solprimal CIP solution
feasibilitypointer to store feasibility value

Definition at line 30132 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPFeasibility(), SCIPnlrowGetPseudoFeasibility(), SCIPnlrowGetSolFeasibility(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPgetNlRowActivityBounds ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real minactivity,
SCIP_Real maxactivity 
)

gives the minimal and maximal activity of a nonlinear row w.r.t. the variable's bounds

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
minactivitybuffer to store minimal activity, or NULL
maxactivitybuffer to store maximal activity, or NULL

Definition at line 30167 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPnlrowGetActivityBounds(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPprintNlRow ( SCIP scip,
SCIP_NLROW nlrow,
FILE *  file 
)

output nonlinear row to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
fileoutput file (or NULL for standard output)

Definition at line 30191 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPnlrowPrint(), and TRUE.

Referenced by createNlRow().

SCIP_RETCODE SCIPgetExprtreeTransformedVars ( SCIP scip,
SCIP_EXPRTREE tree 
)

replaces array of variables in expression tree by corresponding transformed variables

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
treeexpression tree

Definition at line 30235 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPgetTransformedVars(), and TRUE.

Referenced by SCIP_DECL_CONSTRANS().

SCIP_RETCODE SCIPevalExprtreeSol ( SCIP scip,
SCIP_EXPRTREE tree,
SCIP_SOL sol,
SCIP_Real val 
)

evaluates an expression tree for a primal solution or LP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
treeexpression tree
sola solution, or NULL for current LP solution
valbuffer to store value

Definition at line 30274 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPexprtreeEval(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfreeBufferArray, SCIPgetSolVals(), and TRUE.

SCIP_RETCODE SCIPevalExprtreeGlobalBounds ( SCIP scip,
SCIP_EXPRTREE tree,
SCIP_Real  infinity,
SCIP_INTERVAL val 
)

evaluates an expression tree w.r.t. current global bounds

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
treeexpression tree
infinityvalue to use for infinity
valbuffer to store result

Definition at line 30329 of file scip.c.

References checkStage(), FALSE, infty2infty, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPexprtreeEvalInt(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfreeBufferArray, SCIPinfinity(), SCIPintervalSetBounds(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and TRUE.

SCIP_RETCODE SCIPevalExprtreeLocalBounds ( SCIP scip,
SCIP_EXPRTREE tree,
SCIP_Real  infinity,
SCIP_INTERVAL val 
)

evaluates an expression tree w.r.t. current local bounds

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
treeexpression tree
infinityvalue to use for infinity
valbuffer to store result

Definition at line 30394 of file scip.c.

References checkStage(), FALSE, infty2infty, MAX, MIN, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPexprtreeEvalInt(), SCIPexprtreeGetNVars(), SCIPexprtreeGetVars(), SCIPfreeBufferArray, SCIPinfinity(), SCIPintervalSetBounds(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE.

Referenced by enforceViolatedFixedNonlinear(), and replaceViolatedByLinearConstraints().

void SCIPaddSquareLinearization ( SCIP scip,
SCIP_Real  sqrcoef,
SCIP_Real  refpoint,
SCIP_Bool  isint,
SCIP_Real lincoef,
SCIP_Real linconstant,
SCIP_Bool success 
)

computes coefficients of linearization of a square term in a reference point

Parameters
scipSCIP data structure
sqrcoefcoefficient of square term
refpointpoint where to linearize
isintwhether corresponding variable is a discrete variable, and thus linearization could be moved
lincoefbuffer to add coefficient of linearization
linconstantbuffer to add constant of linearization
successbuffer to set to FALSE if linearization has failed due to large numbers

Definition at line 30454 of file scip.c.

References FALSE, NULL, REALABS, SCIP_Real, SCIPfloor(), SCIPisInfinity(), and SCIPisIntegral().

Referenced by addBilinearTermToCut(), generateCutConvex(), and generateCutNonConvex().

void SCIPaddSquareSecant ( SCIP scip,
SCIP_Real  sqrcoef,
SCIP_Real  lb,
SCIP_Real  ub,
SCIP_Real  refpoint,
SCIP_Real lincoef,
SCIP_Real linconstant,
SCIP_Bool success 
)

computes coefficients of secant of a square term

Parameters
scipSCIP data structure
sqrcoefcoefficient of square term
lblower bound on variable
ubupper bound on variable
refpointpoint for which to compute value of linearization
lincoefbuffer to add coefficient of secant
linconstantbuffer to add constant of secant
successbuffer to set to FALSE if secant has failed due to large numbers or unboundedness

Definition at line 30522 of file scip.c.

References FALSE, NULL, REALABS, SCIP_Real, SCIPisGE(), SCIPisInfinity(), and SCIPisLE().

Referenced by addBilinearTermToCut(), and generateCutNonConvex().

void SCIPaddBilinLinearization ( SCIP scip,
SCIP_Real  bilincoef,
SCIP_Real  refpointx,
SCIP_Real  refpointy,
SCIP_Real lincoefx,
SCIP_Real lincoefy,
SCIP_Real linconstant,
SCIP_Bool success 
)

computes coefficients of linearization of a bilinear term in a reference point

Parameters
scipSCIP data structure
bilincoefcoefficient of bilinear term
refpointxpoint where to linearize first variable
refpointypoint where to linearize second variable
lincoefxbuffer to add coefficient of first variable in linearization
lincoefybuffer to add coefficient of second variable in linearization
linconstantbuffer to add constant of linearization
successbuffer to set to FALSE if linearization has failed due to large numbers

Definition at line 30572 of file scip.c.

References FALSE, NULL, REALABS, SCIP_Real, and SCIPisInfinity().

Referenced by generateCutConvex().

void SCIPaddBilinMcCormick ( SCIP scip,
SCIP_Real  bilincoef,
SCIP_Real  lbx,
SCIP_Real  ubx,
SCIP_Real  refpointx,
SCIP_Real  lby,
SCIP_Real  uby,
SCIP_Real  refpointy,
SCIP_Bool  overestimate,
SCIP_Real lincoefx,
SCIP_Real lincoefy,
SCIP_Real linconstant,
SCIP_Bool success 
)

computes coefficients of McCormick under- or overestimation of a bilinear term

Parameters
scipSCIP data structure
bilincoefcoefficient of bilinear term
lbxlower bound on first variable
ubxupper bound on first variable
refpointxreference point for first variable
lbylower bound on second variable
ubyupper bound on second variable
refpointyreference point for second variable
overestimatewhether to compute an overestimator instead of an underestimator
lincoefxbuffer to add coefficient of first variable in linearization
lincoefybuffer to add coefficient of second variable in linearization
linconstantbuffer to add constant of linearization
successbuffer to set to FALSE if linearization has failed due to large numbers

Definition at line 30619 of file scip.c.

References FALSE, MAX, MIN, NULL, REALABS, SCIP_Real, SCIPdebugMessage, SCIPisGE(), SCIPisInfinity(), SCIPisLE(), and SCIPisRelEQ().

Referenced by addBilinearTermToCut(), and generateCutNonConvex().

SCIP_Real SCIPgetCutEfficacy ( SCIP scip,
SCIP_SOL sol,
SCIP_ROW cut 
)

returns efficacy of the cut with respect to the given primal solution or the current LP solution: e = -feasibility/norm

Returns
the efficacy of the cut with respect to the given primal solution or the current LP solution: e = -feasibility/norm
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solprimal CIP solution, or NULL for current LP solution
cutseparated cut

Definition at line 30836 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIProwGetLPEfficacy(), SCIProwGetSolEfficacy(), Scip::set, Scip::stat, and TRUE.

Referenced by addCut(), computeCut(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), SCIP_DECL_SEPAEXECLP(), and separatePoint().

SCIP_Bool SCIPisCutEfficacious ( SCIP scip,
SCIP_SOL sol,
SCIP_ROW cut 
)

returns whether the cut's efficacy with respect to the given primal solution or the current LP solution is greater than the minimal cut efficacy

Returns
TRUE if the cut's efficacy with respect to the given primal solution or the current LP solution is greater than the minimal cut efficacy, otherwise FALSE
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solprimal CIP solution, or NULL for current LP solution
cutseparated cut

Definition at line 30859 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIProwIsLPEfficacious(), SCIProwIsSolEfficacious(), SCIPtreeGetCurrentDepth(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by addBoundCutSepa(), addCut(), computeCut(), createCGCutCMIR(), createCGCutStrongCG(), generateOddCycleCut(), initsepaBoundInequalityFromSOS1Cons(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_CONSSEPASOL(), SCIP_DECL_SEPAEXECLP(), sepaImplBoundCutsSOS1(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), and separateSupLiftedMinimalCoverInequality().

SCIP_Bool SCIPisEfficacious ( SCIP scip,
SCIP_Real  efficacy 
)

checks, if the given cut's efficacy is larger than the minimal cut efficacy

Returns
TRUE if the given cut's efficacy is larger than the minimal cut efficacy, otherwise FALSE
Parameters
scipSCIP data structure
efficacyefficacy of the cut

Definition at line 30877 of file scip.c.

References NULL, SCIPsetIsEfficacious(), SCIPtreeGetCurrentDepth(), Scip::set, and Scip::tree.

Referenced by addCut(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), createZerohalfCutFromZerohalfWeightvector(), cutGenerationHeuristic(), extendToCover(), process(), SCIP_DECL_SEPAEXECLP(), SCIPcutGenerationHeuristicCmir(), separateCons(), separateIndicators(), separateSCIs(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), separateSupLiftedMinimalCoverInequality(), solCutIsViolated(), and TCLIQUE_NEWSOL().

SCIP_Real SCIPgetVectorEfficacyNorm ( SCIP scip,
SCIP_Real vals,
int  nvals 
)

calculates the efficacy norm of the given vector, which depends on the "separating/efficacynorm" parameter

Returns
the efficacy norm of the given vector, which depends on the "separating/efficacynorm" parameter
Parameters
scipSCIP data structure
valsarray of values
nvalsnumber of values

Definition at line 30891 of file scip.c.

References FALSE, MAX, NULL, REALABS, SCIP_Real, SCIPerrorMessage, SCIPisZero(), SCIP_Set::sepa_efficacynorm, and Scip::set.

Referenced by addCut(), and tryDelta().

SCIP_Bool SCIPisCutApplicable ( SCIP scip,
SCIP_ROW cut 
)

indicates whether a cut is applicable, i.e., will modify the LP when applied

Precondition
This method can be called if scip is in one of the following stages:
Returns
whether the cut is modifiable, not a bound change, or a bound change that changes bounds by at least epsilon
Parameters
scipSCIP data structure
cutseparated cut

Definition at line 30949 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPsepastoreIsCutApplicable(), Scip::set, and TRUE.

Referenced by generateCutSol(), and separatePoint().

SCIP_RETCODE SCIPaddCut ( SCIP scip,
SCIP_SOL sol,
SCIP_ROW cut,
SCIP_Bool  forcecut,
SCIP_Bool infeasible 
)

adds cut to separation storage

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution that was separated, or NULL for LP solution
cutseparated cut
forcecutshould the cut be forced to enter the LP?
infeasiblepointer to store whether cut has been detected to be infeasible for local bounds

Definition at line 30967 of file scip.c.

References checkStage(), SCIP_Row::cols, Scip::eventfilter, Scip::eventqueue, FALSE, SCIP_Row::lhs, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_Row::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPanalyzeConflict(), SCIPcolGetVar(), SCIPgetDepth(), SCIPinitConflictAnalysis(), SCIPisConflictAnalysisApplicable(), SCIPisGT(), SCIPisInfinity(), SCIPisLT(), SCIPisZero(), SCIPprobAllColsInLP(), SCIProwGetMaxActivity(), SCIProwGetMinActivity(), SCIProwGetNNonz(), SCIPsepastoreAddCut(), SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), Scip::sepastore, Scip::set, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Row::vals.

Referenced by addBoundCutSepa(), addCut(), addCuts(), addLinearizationCuts(), addRelaxation(), computeCut(), createCapacityRestrictionIntvars(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), extendToCover(), generateOddCycleCut(), initsepaBoundInequalityFromSOS1Cons(), newsolCliqueAddRow(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_CONSSEPASOL(), SCIP_DECL_SEPAEXECLP(), sepaImplBoundCutsSOS1(), separateCons(), separateConsBinaryRepresentation(), separateCoverCutsCons(), separateCuts(), separateIndicators(), separatePoint(), separateSCIs(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), and separateSupLiftedMinimalCoverInequality().

SCIP_RETCODE SCIPaddPoolCut ( SCIP scip,
SCIP_ROW row 
)

if not already existing, adds row to global cut pool

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
rowcutting plane to add

Definition at line 31062 of file scip.c.

References checkStage(), Scip::cutpool, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcutpoolAddRow(), Scip::set, and TRUE.

Referenced by addCut(), addLinearizationCuts(), computeCut(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), extendToCover(), generateOddCycleCut(), newsolCliqueAddRow(), SCIP_DECL_CONSINITLP(), SCIP_DECL_EVENTEXEC(), and SCIP_DECL_SEPAEXECLP().

SCIP_RETCODE SCIPdelPoolCut ( SCIP scip,
SCIP_ROW row 
)

removes the row from the global cut pool

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
rowcutting plane to add

Definition at line 31082 of file scip.c.

References checkStage(), Scip::cutpool, FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcutpoolDelRow(), Scip::set, Scip::stat, and TRUE.

SCIP_CUT** SCIPgetPoolCuts ( SCIP scip)

gets current cuts in the global cut pool

Returns
the current cuts in the global cut pool
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 31103 of file scip.c.

References checkStage(), Scip::cutpool, FALSE, SCIP_CALL_ABORT, SCIPcutpoolGetCuts(), and TRUE.

Referenced by SCIPcopyCuts().

int SCIPgetNPoolCuts ( SCIP scip)

gets current number of rows in the global cut pool

Returns
the current number of rows in the global cut pool
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 31121 of file scip.c.

References checkStage(), Scip::cutpool, FALSE, SCIP_CALL_ABORT, SCIPcutpoolGetNCuts(), and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT(), and SCIPcopyCuts().

SCIP_CUTPOOL* SCIPgetGlobalCutpool ( SCIP scip)

gets the global cut pool used by SCIP

Returns
the global cut pool used by SCIP
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 31139 of file scip.c.

References checkStage(), Scip::cutpool, FALSE, SCIP_CALL_ABORT, and TRUE.

SCIP_RETCODE SCIPcreateCutpool ( SCIP scip,
SCIP_CUTPOOL **  cutpool,
int  agelimit 
)

creates a cut pool

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
cutpoolpointer to store cut pool
agelimitmaximum age a cut can reach before it is deleted from the pool

Definition at line 31163 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcutpoolCreate(), Scip::set, and TRUE.

SCIP_RETCODE SCIPfreeCutpool ( SCIP scip,
SCIP_CUTPOOL **  cutpool 
)

frees a cut pool

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
cutpoolpointer to store cut pool

Definition at line 31194 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcutpoolFree(), Scip::set, and TRUE.

SCIP_RETCODE SCIPaddRowCutpool ( SCIP scip,
SCIP_CUTPOOL cutpool,
SCIP_ROW row 
)

if not already existing, adds row to a cut pool and captures it

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
cutpoolcut pool
rowcutting plane to add

Definition at line 31215 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcutpoolAddRow(), Scip::set, and TRUE.

SCIP_RETCODE SCIPaddNewRowCutpool ( SCIP scip,
SCIP_CUTPOOL cutpool,
SCIP_ROW row 
)

adds row to a cut pool and captures it; doesn't check for multiple cuts

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
cutpoolcut pool
rowcutting plane to add

Definition at line 31237 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcutpoolAddNewRow(), Scip::set, and TRUE.

SCIP_RETCODE SCIPdelRowCutpool ( SCIP scip,
SCIP_CUTPOOL cutpool,
SCIP_ROW row 
)

removes the LP row from a cut pool

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
cutpoolcut pool
rowrow to remove

Definition at line 31260 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcutpoolDelRow(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPseparateCutpool ( SCIP scip,
SCIP_CUTPOOL cutpool,
SCIP_RESULT result 
)

separates cuts from a cut pool

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
cutpoolcut pool
resultpointer to store the result of the separation call

Definition at line 31281 of file scip.c.

References checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcutpoolSeparate(), SCIPerrorMessage, SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPtreeHasCurrentNodeLP(), Scip::sepastore, Scip::set, Scip::stat, Scip::tree, and TRUE.

SCIP_RETCODE SCIPseparateSolCutpool ( SCIP scip,
SCIP_CUTPOOL cutpool,
SCIP_SOL sol,
SCIP_RESULT result 
)

separates cuts w.r.t. given solution from a cut pool

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
cutpoolcut pool
solsolution to be separated
resultpointer to store the result of the separation call

Definition at line 31311 of file scip.c.

References checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcutpoolSeparate(), SCIPerrorMessage, SCIPtreeGetCurrentDepth(), SCIPtreeGetCurrentNode(), SCIPtreeHasCurrentNodeLP(), Scip::sepastore, Scip::set, Scip::stat, Scip::tree, and TRUE.

SCIP_RETCODE SCIPaddDelayedPoolCut ( SCIP scip,
SCIP_ROW row 
)

if not already existing, adds row to delayed global cut pool

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is the stages SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
rowcutting plane to add

Definition at line 31341 of file scip.c.

References checkStage(), Scip::delayedcutpool, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcutpoolAddRow(), Scip::set, and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP().

SCIP_RETCODE SCIPdelDelayedPoolCut ( SCIP scip,
SCIP_ROW row 
)

removes the row from the delayed global cut pool

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is the stages SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure
rowcutting plane to add

Definition at line 31360 of file scip.c.

References checkStage(), Scip::delayedcutpool, FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcutpoolDelRow(), Scip::set, Scip::stat, and TRUE.

SCIP_CUT** SCIPgetDelayedPoolCuts ( SCIP scip)

gets current cuts in the delayed global cut pool

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is the stages SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure

Definition at line 31379 of file scip.c.

References checkStage(), Scip::delayedcutpool, FALSE, SCIP_CALL_ABORT, SCIPcutpoolGetCuts(), and TRUE.

Referenced by SCIPcopyCuts().

int SCIPgetNDelayedPoolCuts ( SCIP scip)

gets current number of rows in the delayed global cut pool

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is the stages SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure

Definition at line 31395 of file scip.c.

References checkStage(), Scip::delayedcutpool, FALSE, SCIP_CALL_ABORT, SCIPcutpoolGetNCuts(), and TRUE.

Referenced by SCIPcopyCuts().

SCIP_CUTPOOL* SCIPgetDelayedGlobalCutpool ( SCIP scip)

gets the delayed global cut pool used by SCIP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is the stages SCIP_STAGE_SOLVING
Parameters
scipSCIP data structure

Definition at line 31411 of file scip.c.

References checkStage(), Scip::delayedcutpool, FALSE, SCIP_CALL_ABORT, and TRUE.

SCIP_RETCODE SCIPseparateSol ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool  pretendroot,
SCIP_Bool  onlydelayed,
SCIP_Bool delayed,
SCIP_Bool cutoff 
)

separates the given primal solution or the current LP solution by calling the separators and constraint handlers' separation methods; the generated cuts are stored in the separation storage and can be accessed with the methods SCIPgetCuts() and SCIPgetNCuts(); after evaluating the cuts, you have to call SCIPclearCuts() in order to remove the cuts from the separation storage; it is possible to call SCIPseparateSol() multiple times with different solutions and evaluate the found cuts afterwards

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution that should be separated, or NULL for LP solution
pretendrootshould the cut separators be called as if we are at the root node?
onlydelayedshould only separators be called that were delayed in the previous round?
delayedpointer to store whether a separator was delayed
cutoffpointer to store whether the node can be cut off

Definition at line 31435 of file scip.c.

References checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPseparationRound(), SCIPtreeGetCurrentDepth(), Scip::sepastore, Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP().

SCIP_ROW** SCIPgetCuts ( SCIP scip)

gets the array of cuts currently stored in the separation storage

Returns
the array of cuts currently stored in the separation storage
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 31467 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPsepastoreGetCuts(), Scip::sepastore, and TRUE.

int SCIPgetNCuts ( SCIP scip)

get current number of cuts in the separation storage

Returns
the current number of cuts in the separation storage
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 31485 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPsepastoreGetNCuts(), Scip::sepastore, and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP().

SCIP_RETCODE SCIPclearCuts ( SCIP scip)

clears the separation storage

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 31502 of file scip.c.

References checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPsepastoreClearCuts(), Scip::sepastore, Scip::set, and TRUE.

SCIP_RETCODE SCIPremoveInefficaciousCuts ( SCIP scip)

removes cuts that are inefficacious w.r.t. the current LP solution from separation storage without adding the cuts to the LP

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 31521 of file scip.c.

References checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_Bool, SCIP_CALL, SCIP_EFFICIACYCHOICE_LP, SCIP_OKAY, SCIPsepastoreRemoveInefficaciousCuts(), SCIPtreeGetCurrentDepth(), Scip::sepastore, Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP().

SCIP_Real SCIPgetRelaxFeastolFactor ( SCIP scip)

returns current factor on cut infeasibility to limit feasibility tolerance for relaxation solver

Gives value of separating/feastolfac parameter.

Returns
factor on cut infeasibility to limit feasibility tolerance for relaxation solver
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 31547 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIP_Set::sepa_feastolfac, Scip::set, and TRUE.

Referenced by SCIP_DECL_CONSENFOLP(), and separatePoint().

SCIP_RETCODE SCIPstartDive ( SCIP scip)

initiates LP diving, making methods SCIPchgVarObjDive(), SCIPchgVarLbDive(), and SCIPchgVarUbDive() available

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Note
diving is allowed even if the current LP is not flushed, not solved, or not solved to optimality; be aware that solving the (first) diving LP may take longer than expect and that the latter two cases could stem from numerical troubles during the last LP solve; because of this, most users will want to call this method only if SCIPgetLPSolstat(scip) == SCIP_LPSOLSTAT_OPTIMAL
Parameters
scipSCIP data structure

Definition at line 31575 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_NODETYPE_FOCUSNODE, SCIP_OKAY, SCIPerrorMessage, SCIPgetCurrentNode(), SCIPlpDiving(), SCIPlpStartDive(), SCIPnodeGetType(), SCIPtreeHasCurrentNodeLP(), SCIPtreeIsFocusNodeLPConstructed(), SCIPtreeProbing(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), and solveLp().

SCIP_RETCODE SCIPendDive ( SCIP scip)

quits LP diving and resets bounds and objective values of columns to the current node's values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 31618 of file scip.c.

References checkStage(), SCIP_Primal::cutoffbound, SCIP_Lp::cutoffbound, SCIP_Tree::cutoffdelayed, Scip::eventfilter, Scip::eventqueue, FALSE, SCIP_Tree::focusnode, Scip::lp, Scip::mem, Scip::messagehdlr, NULL, SCIP_Prob::nvars, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Lp::resolvelperror, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpDiving(), SCIPlpEndDive(), SCIPlpIsRelax(), SCIPlpIsSolved(), SCIPlpSetCutoffbound(), SCIPnodeUpdateLowerboundLP(), SCIPtreeCutoff(), SCIPtreeIsFocusNodeLPConstructed(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Prob::vars.

Referenced by SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), and solveLp().

SCIP_RETCODE SCIPchgCutoffboundDive ( SCIP scip,
SCIP_Real  newcutoffbound 
)

changes cutoffbound in current dive

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
newcutoffboundnew cutoffbound

Definition at line 31669 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpDiving(), SCIPlpSetCutoffbound(), Scip::set, Scip::transprob, and TRUE.

SCIP_RETCODE SCIPchgVarObjDive ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newobj 
)

changes variable's objective value in current dive

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to change the objective value for
newobjnew objective value

Definition at line 31699 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpDiving(), SCIPlpMarkDivingObjChanged(), SCIPlpSetCutoffbound(), SCIPsetInfinity(), SCIPvarChgObjDive(), Scip::set, Scip::transprob, and TRUE.

Referenced by handle1Cycle(), handleCycle(), SCIP_DECL_BRANCHEXECLP(), and SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPchgVarLbDive ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound 
)

changes variable's lower bound in current dive

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound

Definition at line 31740 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpDiving(), SCIPvarChgLbDive(), Scip::set, and TRUE.

Referenced by SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), and solveLp().

SCIP_RETCODE SCIPchgVarUbDive ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound 
)

changes variable's upper bound in current dive

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound

Definition at line 31772 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpDiving(), SCIPvarChgUbDive(), Scip::set, and TRUE.

Referenced by SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), and solveLp().

SCIP_RETCODE SCIPaddRowDive ( SCIP scip,
SCIP_ROW row 
)

adds a row to the LP in current dive

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
rowrow to be added

Definition at line 31804 of file scip.c.

References checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpAddRow(), SCIPlpDiving(), SCIPnodeGetDepth(), SCIPtreeGetCurrentNode(), Scip::set, Scip::tree, and TRUE.

SCIP_RETCODE SCIPchgRowLhsDive ( SCIP scip,
SCIP_ROW row,
SCIP_Real  newlhs 
)

changes row lhs in current dive, change will be undone after diving ends, for permanent changes use SCIPchgRowLhs()

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
rowrow to change the lhs for
newlhsnew value for lhs

Definition at line 31843 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_SIDETYPE_LEFT, SCIPerrorMessage, SCIPlpDiving(), SCIPlpRecordOldRowSideDive(), SCIProwChgLhs(), Scip::set, and TRUE.

Referenced by SCIP_DECL_BRANCHEXECLP().

SCIP_RETCODE SCIPchgRowRhsDive ( SCIP scip,
SCIP_ROW row,
SCIP_Real  newrhs 
)

changes row rhs in current dive, change will be undone after diving ends, for permanent changes use SCIPchgRowRhs()

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
rowrow to change the lhs for
newrhsnew value for rhs

Definition at line 31876 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_SIDETYPE_RIGHT, SCIPerrorMessage, SCIPlpDiving(), SCIPlpRecordOldRowSideDive(), SCIProwChgRhs(), Scip::set, and TRUE.

Referenced by SCIP_DECL_BRANCHEXECLP().

SCIP_Real SCIPgetVarObjDive ( SCIP scip,
SCIP_VAR var 
)

gets variable's objective value in current dive

Returns
the variable's objective value in current dive.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to get the bound for

Definition at line 31908 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIP_INVALID, SCIPABORT, SCIPerrorMessage, SCIPlpDiving(), SCIPvarGetObjLP(), and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

SCIP_Real SCIPgetVarLbDive ( SCIP scip,
SCIP_VAR var 
)

gets variable's lower bound in current dive

Returns
the variable's lower bound in current dive.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to get the bound for

Definition at line 31937 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIP_INVALID, SCIPABORT, SCIPerrorMessage, SCIPlpDiving(), SCIPvarGetLbLP(), Scip::set, and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

SCIP_Real SCIPgetVarUbDive ( SCIP scip,
SCIP_VAR var 
)

gets variable's upper bound in current dive

Returns
the variable's upper bound in current dive.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to get the bound for

Definition at line 31966 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIP_INVALID, SCIPABORT, SCIPerrorMessage, SCIPlpDiving(), SCIPvarGetUbLP(), Scip::set, and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPsolveDiveLP ( SCIP scip,
int  itlim,
SCIP_Bool lperror,
SCIP_Bool cutoff 
)

solves the LP of the current dive; no separation or pricing is applied

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Note
be aware that the LP solve may take longer than expected if SCIPgetLPSolstat(scip) != SCIP_LPSOLSTAT_OPTIMAL, compare the explanation of SCIPstartDive()
Parameters
scipSCIP data structure
itlimmaximal number of LP iterations to perform, or -1 for no limit
lperrorpointer to store whether an unresolved LP error occurred
cutoffpointer to store whether the diving LP was infeasible or the objective limit was reached (or NULL, if not needed)

Definition at line 31999 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::conflict, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Set::misc_exactsolve, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_INVALIDCALL, SCIP_Longint, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPconflictAnalyzeLP(), SCIPerrorMessage, SCIPgetCutoffbound(), SCIPgetLPObjval(), SCIPisGE(), SCIPlpDiving(), SCIPlpDivingObjChanged(), SCIPlpDivingRowsChanged(), SCIPlpGetSolstat(), SCIPlpSolveAndEval(), SCIPprobAllColsInLP(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), and solveLp().

SCIP_Longint SCIPgetLastDivenode ( SCIP scip)

returns the number of the node in the current branch and bound run, where the last LP was solved in diving or probing mode

Returns
the number of the node in the current branch and bound run, where the last LP was solved in diving or probing mode.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 32067 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::lastdivenode, NULL, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by SCIP_DECL_HEUREXEC(), and SCIPperformGenericDivingAlgorithm().

SCIP_Bool SCIPinDive ( SCIP scip)

returns whether we are in diving mode

Returns
whether we are in diving mode.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 32097 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIPlpDiving(), and TRUE.

Referenced by SCIPtightenVarLb(), and SCIPtightenVarUb().

SCIP_Bool SCIPinProbing ( SCIP scip)

returns whether we are in probing mode; probing mode is activated via SCIPstartProbing() and stopped via SCIPendProbing()

Returns
TRUE, if SCIP is currently in probing mode, otherwise FALSE
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 32131 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeProbing(), Scip::tree, and TRUE.

Referenced by analyzeConflict(), analyzeConflictOne(), analyzeConflictZero(), applyGenVBounds(), applyProbingVar(), consdataDeletePos(), execGenVBounds(), filterExistingLP(), fixIntegerVariableLb(), fixIntegerVariableUb(), performRandRounding(), presolComponents(), processBinvarFixings(), propagateAllConss(), propagateBounds(), propagateBoundsCons(), propagateBoundsTightenVarLb(), propagateBoundsTightenVarUb(), propagateCons(), propagateConstraintSides(), propIndicator(), reformulate(), removeFixedBinvars(), resolvePropagationCoretimes(), SCIP_DECL_CONSPROP(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIPaddDiveBoundChange(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPgetDiveBoundChangeData(), SCIPgetDiveBoundChanges(), SCIPgetVarStrongbranchWithPropagation(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPstartStrongbranch(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPupdateDivesetStats(), solveIndependentCons(), tightenBounds(), tightenedIntvar(), and varProcessBoundChanges().

SCIP_RETCODE SCIPstartProbing ( SCIP scip)

initiates probing, making methods SCIPnewProbingNode(), SCIPbacktrackProbing(), SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), SCIPfixVarProbing(), SCIPpropagateProbing(), and SCIPsolveProbingLP() available

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The collection of variable statistics is turned off during probing. If these statistics should be collected during probing use the method SCIPenableVarHistory() to turn the collection explicitly on.
Parameters
scipSCIP data structure

Definition at line 32153 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpDiving(), SCIPstatDisableVarHistory(), SCIPtreeProbing(), SCIPtreeStartProbing(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by applyBoundHeur(), applyVbounds(), fixAndPropagate(), performRandRounding(), performStrongbranchSOS1(), SCIP_DECL_HEUREXEC(), SCIPapplyProbingVar(), SCIPperformGenericDivingAlgorithm(), selectVarMultAggrBranching(), tryOneOpt(), and trySolCandidate().

SCIP_RETCODE SCIPnewProbingNode ( SCIP scip)

creates a new probing sub node, whose changes can be undone by backtracking to a higher node in the probing path with a call to SCIPbacktrackProbing(); using a sub node for each set of probing bound changes can improve conflict analysis

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 32190 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_MAXDEPTHLEVEL, SCIP_OKAY, SCIPerrorMessage, SCIPtreeCreateProbingNode(), SCIPtreeProbing(), SCIPwarningMessage(), Scip::set, Scip::tree, and TRUE.

Referenced by applyCliqueFixings(), applyVboundsFixings(), performFixing(), performRandRounding(), performStrongbranchWithPropagation(), SCIP_DECL_HEUREXEC(), SCIPperformGenericDivingAlgorithm(), selectVarMultAggrBranching(), tryOneOpt(), and trySolCandidate().

int SCIPgetProbingDepth ( SCIP scip)

returns the current probing depth

Returns
the probing depth, i.e. the number of probing sub nodes existing in the probing path
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 32223 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPABORT, SCIPerrorMessage, SCIPtreeGetProbingDepth(), SCIPtreeProbing(), Scip::tree, and TRUE.

Referenced by applyBoundHeur(), applyCliqueFixings(), applyVbounds(), fixAndPropagate(), SCIP_DECL_HEUREXEC(), SCIPendStrongbranch(), and SCIPperformGenericDivingAlgorithm().

SCIP_RETCODE SCIPbacktrackProbing ( SCIP scip,
int  probingdepth 
)

undoes all changes to the problem applied in probing up to the given probing depth; the changes of the probing node of the given probing depth are the last ones that remain active; changes that were applied before calling SCIPnewProbingNode() cannot be undone

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
probingdepthprobing depth of the node in the probing path that should be reactivated

Definition at line 32250 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_INVALIDCALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPtreeBacktrackProbing(), SCIPtreeGetProbingDepth(), SCIPtreeProbing(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by applyBoundHeur(), applyVbounds(), fixAndPropagate(), performStrongbranchWithPropagation(), SCIP_DECL_HEUREXEC(), SCIPperformGenericDivingAlgorithm(), selectVarMultAggrBranching(), and tryOneOpt().

SCIP_RETCODE SCIPendProbing ( SCIP scip)

quits probing and resets bounds and constraints to the focus node's environment

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 32285 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPstatEnableVarHistory(), SCIPtreeEndProbing(), SCIPtreeProbing(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by applyBoundHeur(), applyVbounds(), fixAndPropagate(), performRandRounding(), performStrongbranchSOS1(), SCIP_DECL_HEUREXEC(), SCIPapplyProbingVar(), SCIPendStrongbranch(), SCIPperformGenericDivingAlgorithm(), selectVarMultAggrBranching(), tryOneOpt(), and trySolCandidate().

SCIP_RETCODE SCIPchgVarLbProbing ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound 
)

injects a change of variable's lower bound into current probing node; the same can also be achieved with a call to SCIPchgVarLb(), but in this case, the bound change would be treated like a deduction instead of a branching decision

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound

Definition at line 32318 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPnodeGetType(), SCIPtreeGetCurrentNode(), SCIPtreeProbing(), SCIPvarAdjustLb(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by performFixing(), performRandRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), SCIP_DECL_HEUREXEC(), SCIPapplyProbingVar(), SCIPperformGenericDivingAlgorithm(), tryOneOpt(), and trySolCandidate().

SCIP_RETCODE SCIPchgVarUbProbing ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newbound 
)

injects a change of variable's upper bound into current probing node; the same can also be achieved with a call to SCIPchgVarUb(), but in this case, the bound change would be treated like a deduction instead of a branching decision

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to change the bound for
newboundnew value for bound

Definition at line 32352 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPnodeGetType(), SCIPtreeGetCurrentNode(), SCIPtreeProbing(), SCIPvarAdjustUb(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by performFixing(), performRandRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), SCIP_DECL_HEUREXEC(), SCIPapplyProbingVar(), SCIPperformGenericDivingAlgorithm(), tryOneOpt(), and trySolCandidate().

SCIP_Real SCIPgetVarObjProbing ( SCIP scip,
SCIP_VAR var 
)

gets variable's objective value in current probing

Returns
the variable's objective value in current probing.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to get the bound for

Definition at line 32385 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIP_INVALID, SCIPerrorMessage, SCIPtreeProbing(), SCIPvarGetObjLP(), Scip::tree, and TRUE.

Referenced by filterExistingLP(), and SCIPpropagateProbing().

SCIP_RETCODE SCIPfixVarProbing ( SCIP scip,
SCIP_VAR var,
SCIP_Real  fixedval 
)

injects a change of variable's bounds into current probing node to fix the variable to the specified value; the same can also be achieved with a call to SCIPfixVar(), but in this case, the bound changes would be treated like deductions instead of branching decisions

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to change the bound for
fixedvalvalue to fix variable to

Definition at line 32415 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPnodeGetType(), SCIPsetIsEQ(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPtreeGetCurrentNode(), SCIPtreeProbing(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by applyBoundHeur(), applyCliqueFixings(), applyVbounds(), applyVboundsFixings(), fixVariable(), performStrongbranchSOS1(), and SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPchgVarObjProbing ( SCIP scip,
SCIP_VAR var,
SCIP_Real  newobj 
)

changes (column) variable's objective value during probing mode

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
The variable needs to be a column variable.
Parameters
scipSCIP data structure
varvariable to change the objective for
newobjnew objective function value

Definition at line 32471 of file scip.c.

References checkStage(), SCIP_Lp::cutoffbound, SCIP_Node::data, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, SCIP_Probingnode::nchgdobjs, SCIP_Probingnode::origobjvals, SCIP_Probingnode::origobjvars, Scip::primal, SCIP_Node::probingnode, SCIP_Tree::probingsumchgdobjs, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPallocMemoryArray, SCIPerrorMessage, SCIPisEQ(), SCIPisInfinity(), SCIPlpDivingObjChanged(), SCIPlpMarkDivingObjChanged(), SCIPlpSetCutoffbound(), SCIPnodeGetType(), SCIPreallocMemoryArray, SCIPsetInfinity(), SCIPtreeGetCurrentNode(), SCIPtreeMarkProbingObjChanged(), SCIPtreeProbing(), SCIPtreeProbingObjChanged(), SCIPvarChgObj(), SCIPvarGetObj(), SCIPvarGetStatus(), Scip::set, Scip::transprob, Scip::tree, and TRUE.

Referenced by filterExistingLP().

SCIP_RETCODE SCIPpropagateProbing ( SCIP scip,
int  maxproprounds,
SCIP_Bool cutoff,
SCIP_Longint ndomredsfound 
)

applies domain propagation on the probing sub problem, that was changed after SCIPstartProbing() was called; the propagated domains of the variables can be accessed with the usual bound accessing calls SCIPvarGetLbLocal() and SCIPvarGetUbLocal(); the propagation is only valid locally, i.e. the local bounds as well as the changed bounds due to SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), and SCIPfixVarProbing() are used for propagation

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
maxproproundsmaximal number of propagation rounds (-1: no limit, 0: parameter settings)
cutoffpointer to store whether the probing node can be cut off
ndomredsfoundpointer to store the number of domain reductions found, or NULL

Definition at line 32552 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::conflict, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, MIN, SCIP_Stat::nprobboundchgs, SCIP_Stat::nprobholechgs, NULL, Scip::origprob, Scip::primal, SCIP_Tree::probingobjchanged, SCIP_Tree::probingsumchgdobjs, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_PROPTIMING_ALWAYS, SCIP_Real, SCIPallocBufferArray, SCIPerrorMessage, SCIPfreeBufferArray, SCIPgetDepth(), SCIPgetNVars(), SCIPgetVarObjProbing(), SCIPgetVars(), SCIPisEQ(), SCIPlpMarkDivingObjChanged(), SCIPlpUnmarkDivingObjChanged(), SCIPpropagateDomains(), SCIPtreeProbing(), SCIPvarChgObj(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Var::unchangedobj.

Referenced by applyBoundHeur(), applyCliqueFixings(), applyVbounds(), applyVboundsFixings(), performFixing(), performRandRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), SCIP_DECL_HEUREXEC(), SCIPapplyProbingVar(), SCIPperformGenericDivingAlgorithm(), tryOneOpt(), and trySolCandidate().

SCIP_RETCODE SCIPpropagateProbingImplications ( SCIP scip,
SCIP_Bool cutoff 
)

applies domain propagation on the probing sub problem, that was changed after SCIPstartProbing() was called; only propagations of the binary variables fixed at the current probing node that are triggered by the implication graph and the clique table are applied; the propagated domains of the variables can be accessed with the usual bound accessing calls SCIPvarGetLbLocal() and SCIPvarGetUbLocal(); the propagation is only valid locally, i.e. the local bounds as well as the changed bounds due to SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), and SCIPfixVarProbing() are used for propagation

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
cutoffpointer to store whether the probing node can be cut off

Definition at line 32658 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPnodePropagateImplics(), SCIPtreeGetCurrentNode(), SCIPtreeProbing(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIPapplyProbingVar().

static SCIP_RETCODE solveProbingLP ( SCIP scip,
int  itlim,
SCIP_Bool  pricing,
SCIP_Bool  pretendroot,
SCIP_Bool  displayinfo,
int  maxpricerounds,
SCIP_Bool lperror,
SCIP_Bool cutoff 
)
static

solves the LP at the current probing node (cannot be applied at preprocessing stage) with or without pricing

Parameters
scipSCIP data structure
itlimmaximal number of LP iterations to perform, or -1 for no limit
pricingshould pricing be applied?
pretendrootshould the pricers be called as if we are at the root node?
displayinfoshould info lines be displayed after each pricing round?
maxpriceroundsmaximal number of pricing rounds (-1: no limit)
lperrorpointer to store whether an unresolved LP error occurred
cutoffpointer to store whether the probing LP was infeasible or the objective limit was reached (or NULL, if not needed)

Definition at line 32679 of file scip.c.

References Scip::branchcand, Scip::cliquetable, Scip::conflict, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Set::misc_exactsolve, NULL, Scip::origprob, Scip::pricestore, Scip::primal, SCIP_Tree::probingobjchanged, SCIP_Tree::probingsolvedlp, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_Longint, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPconflictAnalyzeLP(), SCIPerrorMessage, SCIPgetCutoffbound(), SCIPgetLPObjval(), SCIPinitConssLP(), SCIPisGE(), SCIPlpGetSolstat(), SCIPlpSetIsRelax(), SCIPlpSolveAndEval(), SCIPpriceLoop(), SCIPprobAllColsInLP(), SCIPtreeGetCurrentDepth(), SCIPtreeIsFocusNodeLPConstructed(), SCIPtreeLoadProbingLPState(), SCIPtreeMarkProbingNodeHasLP(), SCIPtreeProbing(), Scip::sepastore, Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIPsolveProbingLP(), and SCIPsolveProbingLPWithPricing().

SCIP_RETCODE SCIPsolveProbingLP ( SCIP scip,
int  itlim,
SCIP_Bool lperror,
SCIP_Bool cutoff 
)

solves the LP at the current probing node (cannot be applied at preprocessing stage); no separation or pricing is applied

The LP has to be constructed before (you can use SCIPisLPConstructed() or SCIPconstructLP()).

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
itlimmaximal number of LP iterations to perform, or -1 for no limit
lperrorpointer to store whether an unresolved LP error occurred
cutoffpointer to store whether the probing LP was infeasible or the objective limit was reached (or NULL, if not needed)

Definition at line 32788 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, solveProbingLP(), and TRUE.

Referenced by applyBoundHeur(), applyVbounds(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), SCIP_DECL_HEUREXEC(), selectVarMultAggrBranching(), solveLP(), tryOneOpt(), and trySolCandidate().

SCIP_RETCODE SCIPsolveProbingLPWithPricing ( SCIP scip,
SCIP_Bool  pretendroot,
SCIP_Bool  displayinfo,
int  maxpricerounds,
SCIP_Bool lperror,
SCIP_Bool cutoff 
)

solves the LP at the current probing node (cannot be applied at preprocessing stage) and applies pricing until the LP is solved to optimality; no separation is applied

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
pretendrootshould the pricers be called as if we were at the root node?
displayinfoshould info lines be displayed after each pricing round?
maxpriceroundsmaximal number of pricing rounds (-1: no limit); a finite limit means that the LP might not be solved to optimality!
lperrorpointer to store whether an unresolved LP error occurred
cutoffpointer to store whether the probing LP was infeasible or the objective limit was reached (or NULL, if not needed)

Definition at line 32812 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, solveProbingLP(), and TRUE.

SCIP_RETCODE SCIPaddRowProbing ( SCIP scip,
SCIP_ROW row 
)

adds a row to the LP in the current probing node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
rowrow to be added

Definition at line 32840 of file scip.c.

References checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpAddRow(), SCIPnodeGetDepth(), SCIPtreeGetCurrentNode(), SCIPtreeProbing(), Scip::set, Scip::tree, and TRUE.

SCIP_RETCODE SCIPapplyCutsProbing ( SCIP scip,
SCIP_Bool cutoff 
)

applies the cuts in the separation storage to the LP and clears the storage afterwards; this method can only be applied during probing; the user should resolve the probing LP afterwards in order to get a new solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
cutoffpointer to store whether an empty domain was created

Definition at line 32880 of file scip.c.

References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_EFFICIACYCHOICE_LP, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPsepastoreApplyCuts(), SCIPtreeProbing(), Scip::sepastore, Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

SCIP_RETCODE SCIPgetDivesetScore ( SCIP scip,
SCIP_DIVESET diveset,
SCIP_DIVETYPE  divetype,
SCIP_VAR divecand,
SCIP_Real  divecandsol,
SCIP_Real  divecandfrac,
SCIP_Real candscore,
SCIP_Bool roundup 
)

gets the candidate score and preferred rounding direction for a candidate variable

Parameters
scipSCIP data structure
divesetgeneral diving settings
divetyperepresents different methods for a dive set to explore the next children
divecandthe candidate for which the branching direction is requested
divecandsolLP solution value of the candidate
divecandfracfractionality of the candidate
candscorepointer to store the candidate score
rounduppointer to store whether preferred direction for diving is upwards

Definition at line 32901 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPdivesetGetScore(), Scip::set, and TRUE.

Referenced by getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), SCIP_DECL_CONSGETDIVEBDCHGS(), and selectNextDiving().

void SCIPupdateDivesetLPStats ( SCIP scip,
SCIP_DIVESET diveset,
SCIP_Longint  niterstoadd 
)

update diveset LP statistics, should be called after every LP solved by this diving heuristic

Parameters
scipSCIP data structure
divesetdiving settings
niterstoaddadditional number of LP iterations to be added

Definition at line 32925 of file scip.c.

References NULL, SCIPdivesetUpdateLPStats(), and Scip::stat.

Referenced by solveLP().

void SCIPupdateDivesetStats ( SCIP scip,
SCIP_DIVESET diveset,
int  nprobingnodes,
int  nbacktracks,
SCIP_Longint  nsolsfound,
SCIP_Longint  nbestsolsfound,
SCIP_Bool  leavewassol 
)

update diveset statistics and global diveset statistics

Parameters
scipSCIP data structure
divesetdiveset to be reset
nprobingnodesthe number of probing nodes explored this time
nbacktracksthe number of backtracks during probing this time
nsolsfoundthe number of solutions found
nbestsolsfoundthe number of best solutions found
leavewassolwas a solution found at the leaf?

Definition at line 32938 of file scip.c.

References NULL, SCIPdivesetUpdateStats(), SCIPgetDepth(), SCIPinProbing(), and Scip::stat.

Referenced by SCIPperformGenericDivingAlgorithm().

SCIP_RETCODE SCIPgetDiveBoundChanges ( SCIP scip,
SCIP_DIVESET diveset,
SCIP_SOL sol,
SCIP_Bool success,
SCIP_Bool infeasible 
)

enforces a probing/diving solution by suggesting bound changes that maximize the score w.r.t. the current diving settings

the process is guided by the enforcement priorities of the constraint handlers and the scoring mechanism provided by the dive set. Constraint handlers may suggest diving bound changes in decreasing order of their enforcement priority, based on the solution values in the solution sol and the current local bounds of the variables. A diving bound change is a triple (variable,branching direction,value) and is used inside SCIPperformGenericDivingAlgorithm().

After a successful call, SCIP holds two arrays of suggested dive bound changes, one for the preferred child and one for the alternative.

See also
SCIPgetDiveBoundChangeData() for retrieving the dive bound change suggestions.

The method stops after the first constraint handler was successful

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
divesetdiving settings to control scoring
solcurrent solution of diving mode
successpointer to store whether constraint handler successfully found a variable
infeasiblepointer to store whether the current node was detected to be infeasible

Definition at line 32978 of file scip.c.

References checkStage(), SCIP_Set::conshdlrs_enfo, FALSE, SCIP_Set::nconshdlrs, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPclearDiveBoundChanges(), SCIPconshdlrGetDiveBoundChanges(), SCIPinProbing(), SCIPtreeGetDiveBoundChangeData(), Scip::set, Scip::tree, and TRUE.

Referenced by selectNextDiving().

SCIP_RETCODE SCIPaddDiveBoundChange ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  dir,
SCIP_Real  value,
SCIP_Bool  preferred 
)

adds a diving bound change to the diving bound change storage of SCIP together with the information if this is a bound change for the preferred direction or not

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to apply the bound change to
dirdirection of the bound change
valuevalue to adjust this variable bound to
preferredis this a bound change for the preferred child?

Definition at line 33039 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPinProbing(), SCIPtreeAddDiveBoundChange(), Scip::tree, and TRUE.

Referenced by getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), SCIP_DECL_CONSGETDIVEBDCHGS(), and selectNextDiving().

void SCIPgetDiveBoundChangeData ( SCIP scip,
SCIP_VAR ***  variables,
SCIP_BRANCHDIR **  directions,
SCIP_Real **  values,
int *  ndivebdchgs,
SCIP_Bool  preferred 
)

get the dive bound change data for the preferred or the alternative direction

Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
variablespointer to store variables for the specified direction
directionspointer to store the branching directions
valuespointer to store bound change values
ndivebdchgspointer to store the number of dive bound changes
preferredshould the dive bound changes for the preferred child be output?

Definition at line 33065 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIPinProbing(), SCIPtreeGetDiveBoundChangeData(), Scip::tree, and TRUE.

Referenced by SCIPperformGenericDivingAlgorithm().

void SCIPclearDiveBoundChanges ( SCIP scip)

clear the dive bound change data structures

Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33092 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIPtreeClearDiveBoundChanges(), Scip::tree, and TRUE.

Referenced by SCIPgetDiveBoundChanges(), and selectNextDiving().

SCIP_RETCODE SCIPgetLPBranchCands ( SCIP scip,
SCIP_VAR ***  lpcands,
SCIP_Real **  lpcandssol,
SCIP_Real **  lpcandsfrac,
int *  nlpcands,
int *  npriolpcands,
int *  nfracimplvars 
)

gets branching candidates for LP solution branching (fractional variables) along with solution values, fractionalities, and number of branching candidates; The number of branching candidates does NOT account for fractional implicit integer variables which should not be used for branching decisions.

Fractional implicit integer variables are stored at the positions *nlpcands to *nlpcands + *nfracimplvars - 1

branching rules should always select the branching candidate among the first npriolpcands of the candidate list

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
lpcandspointer to store the array of LP branching candidates, or NULL
lpcandssolpointer to store the array of LP candidate solution values, or NULL
lpcandsfracpointer to store the array of LP candidate fractionalities, or NULL
nlpcandspointer to store the number of LP branching candidates, or NULL
npriolpcandspointer to store the number of candidates with maximal priority, or NULL
nfracimplvarspointer to store the number of fractional implicit integer variables, or NULL

Definition at line 33125 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIPbranchcandGetLPCands(), SCIPerrorMessage, SCIPlpGetSolstat(), Scip::set, Scip::stat, and TRUE.

Referenced by performLPRandRounding(), performLPSimpleRounding(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPperformGenericDivingAlgorithm(), SCIPvisualUpdateChild(), and selectVarMultAggrBranching().

int SCIPgetNLPBranchCands ( SCIP scip)

gets number of branching candidates for LP solution branching (number of fractional variables)

Returns
the number of branching candidates for LP solution branching (number of fractional variables).
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33158 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIPABORT, SCIPbranchcandGetLPCands(), SCIPerrorMessage, SCIPlpGetSolstat(), Scip::set, Scip::stat, and TRUE.

Referenced by computeFixingrate(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), and SCIPapplyHeurDualval().

int SCIPgetNPrioLPBranchCands ( SCIP scip)

gets number of branching candidates with maximal priority for LP solution branching

Returns
the number of branching candidates with maximal priority for LP solution branching.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33196 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIPABORT, SCIPbranchcandGetLPCands(), SCIPerrorMessage, SCIPlpGetSolstat(), Scip::set, Scip::stat, and TRUE.

SCIP_RETCODE SCIPgetExternBranchCands ( SCIP scip,
SCIP_VAR ***  externcands,
SCIP_Real **  externcandssol,
SCIP_Real **  externcandsscore,
int *  nexterncands,
int *  nprioexterncands,
int *  nprioexternbins,
int *  nprioexternints,
int *  nprioexternimpls 
)

gets external branching candidates along with solution values, scores, and number of branching candidates; these branching candidates can be used by relaxations or nonlinear constraint handlers; branching rules should always select the branching candidate among the first nprioexterncands of the candidate list

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Note
Candidate variables with maximal priority are ordered: binaries first, then integers, implicit integers and continuous last.
Parameters
scipSCIP data structure
externcandspointer to store the array of extern branching candidates, or NULL
externcandssolpointer to store the array of extern candidate solution values, or NULL
externcandsscorepointer to store the array of extern candidate scores, or NULL
nexterncandspointer to store the number of extern branching candidates, or NULL
nprioexterncandspointer to store the number of candidates with maximal priority, or NULL
nprioexternbinspointer to store the number of binary candidates with maximal priority, or NULL
nprioexternintspointer to store the number of integer candidates with maximal priority, or NULL
nprioexternimplspointer to store the number of implicit integer candidates with maximal priority, or NULL

Definition at line 33241 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchcandGetExternCands(), and TRUE.

Referenced by SCIP_DECL_BRANCHEXECEXT().

int SCIPgetNExternBranchCands ( SCIP scip)

gets number of external branching candidates

Returns
the number of external branching candidates.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33273 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIPbranchcandGetNExternCands(), and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT().

int SCIPgetNPrioExternBranchCands ( SCIP scip)

gets number of external branching candidates with maximal branch priority

Returns
the number of external branching candidates with maximal branch priority.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33293 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIPbranchcandGetNPrioExternCands(), and TRUE.

int SCIPgetNPrioExternBranchBins ( SCIP scip)

gets number of binary external branching candidates with maximal branch priority

Returns
the number of binary external branching candidates with maximal branch priority.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33313 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIPbranchcandGetNPrioExternBins(), and TRUE.

int SCIPgetNPrioExternBranchInts ( SCIP scip)

gets number of integer external branching candidates with maximal branch priority

Returns
the number of integer external branching candidates with maximal branch priority.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33334 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIPbranchcandGetNPrioExternInts(), and TRUE.

int SCIPgetNPrioExternBranchImpls ( SCIP scip)

gets number of implicit integer external branching candidates with maximal branch priority

Returns
the number of implicit integer external branching candidates with maximal branch priority.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33354 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIPbranchcandGetNPrioExternImpls(), and TRUE.

int SCIPgetNPrioExternBranchConts ( SCIP scip)

gets number of continuous external branching candidates with maximal branch priority

Returns
the number of continuous external branching candidates with maximal branch priority.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33374 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIPbranchcandGetNPrioExternConts(), and TRUE.

SCIP_RETCODE SCIPaddExternBranchCand ( SCIP scip,
SCIP_VAR var,
SCIP_Real  score,
SCIP_Real  solval 
)

insert variable, its score and its solution value into the external branching candidate storage the relative difference of the current lower and upper bounds of a continuous variable must be at least epsilon

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to insert
scorescore of external candidate, e.g. infeasibility
solvalvalue of the variable in the current solution

Definition at line 33396 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, NULL, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPbranchcandAddExternCand(), Scip::set, and TRUE.

Referenced by collectBranchingCands(), registerBranchingCandidates(), registerBranchingCandidatesCentrality(), registerBranchingCandidatesGap(), registerBranchingCandidatesViolation(), registerBranchingVariables(), registerLargeLPValueVariableForBranching(), and SCIP_DECL_CONSENFOPS().

void SCIPclearExternBranchCands ( SCIP scip)

removes all external candidates from the storage for external branching

Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33420 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIPbranchcandClearExternCands(), and TRUE.

SCIP_Bool SCIPcontainsExternBranchCand ( SCIP scip,
SCIP_VAR var 
)

checks whether the given variable is contained in the candidate storage for external branching

Returns
whether the given variable is contained in the candidate storage for external branching.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to look for

Definition at line 33440 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, NULL, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPbranchcandContainsExternCand(), and TRUE.

SCIP_RETCODE SCIPgetPseudoBranchCands ( SCIP scip,
SCIP_VAR ***  pseudocands,
int *  npseudocands,
int *  npriopseudocands 
)

gets branching candidates for pseudo solution branching (non-fixed variables) along with the number of candidates

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
pseudocandspointer to store the array of pseudo branching candidates, or NULL
npseudocandspointer to store the number of pseudo branching candidates, or NULL
npriopseudocandspointer to store the number of candidates with maximal priority, or NULL

Definition at line 33464 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPbranchcandGetPseudoCands(), Scip::set, Scip::transprob, and TRUE.

Referenced by branch(), countSparseSol(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECPS(), and SCIP_DECL_HEUREXEC().

int SCIPgetNPseudoBranchCands ( SCIP scip)

gets number of branching candidates for pseudo solution branching (non-fixed variables)

Returns
the number branching candidates for pseudo solution branching (non-fixed variables).
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33489 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, SCIP_CALL_ABORT, SCIPbranchcandGetNPseudoCands(), and TRUE.

Referenced by applyBoundHeur(), applyVbounds(), applyVboundsFixings(), checkFeasSubtree(), checkSolution(), computeFixingrate(), countSparseSol(), SCIP_DECL_HEUREXEC(), and SCIPapplyHeurDualval().

int SCIPgetNPrioPseudoBranchCands ( SCIP scip)

gets number of branching candidates with maximal branch priority for pseudo solution branching

Returns
the number of branching candidates with maximal branch priority for pseudo solution branching.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33508 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, SCIP_CALL_ABORT, SCIPbranchcandGetNPrioPseudoCands(), and TRUE.

int SCIPgetNPrioPseudoBranchBins ( SCIP scip)

gets number of binary branching candidates with maximal branch priority for pseudo solution branching

Returns
the number of binary branching candidates with maximal branch priority for pseudo solution branching.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33526 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, SCIP_CALL_ABORT, SCIPbranchcandGetNPrioPseudoBins(), and TRUE.

Referenced by fixVariable().

int SCIPgetNPrioPseudoBranchInts ( SCIP scip)

gets number of integer branching candidates with maximal branch priority for pseudo solution branching

Returns
the number of integer branching candidates with maximal branch priority for pseudo solution branching.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33544 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, SCIP_CALL_ABORT, SCIPbranchcandGetNPrioPseudoInts(), and TRUE.

int SCIPgetNPrioPseudoBranchImpls ( SCIP scip)

gets number of implicit integer branching candidates with maximal branch priority for pseudo solution branching

Returns
the number of implicit integer branching candidates with maximal branch priority for pseudo solution branching.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 33562 of file scip.c.

References Scip::branchcand, checkStage(), FALSE, SCIP_CALL_ABORT, SCIPbranchcandGetNPrioPseudoImpls(), and TRUE.

SCIP_Real SCIPgetBranchScore ( SCIP scip,
SCIP_VAR var,
SCIP_Real  downgain,
SCIP_Real  upgain 
)

calculates the branching score out of the gain predictions for a binary branching

Returns
the branching score out of the gain predictions for a binary branching.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable, of which the branching factor should be applied, or NULL
downgainprediction of objective gain for rounding downwards
upgainprediction of objective gain for rounding upwards

Definition at line 33580 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPbranchGetScore(), Scip::set, and TRUE.

Referenced by execRelpscost(), getNActiveConsScore(), SCIP_DECL_BRANCHEXECLP(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), selectVarMultAggrBranching(), and updateBestCandidate().

SCIP_Real SCIPgetBranchScoreMultiple ( SCIP scip,
SCIP_VAR var,
int  nchildren,
SCIP_Real gains 
)

calculates the branching score out of the gain predictions for a branching with arbitrary many children

Returns
the branching score out of the gain predictions for a branching with arbitrary many children.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable, of which the branching factor should be applied, or NULL
nchildrennumber of children that the branching will create
gainsprediction of objective gain for each child

Definition at line 33603 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPbranchGetScoreMultiple(), Scip::set, and TRUE.

Referenced by SCIPselectVarPseudoStrongBranching().

SCIP_Real SCIPgetBranchingPoint ( SCIP scip,
SCIP_VAR var,
SCIP_Real  suggestion 
)

computes a branching point for a continuous or discrete variable

See also
SCIPbranchGetBranchingPoint
Returns
the branching point for a continuous or discrete variable.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable, of which the branching point should be computed
suggestionsuggestion for branching point, or SCIP_INVALID if no suggestion

Definition at line 33628 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPbranchGetBranchingPoint(), Scip::set, Scip::tree, and TRUE.

Referenced by performBranching(), SCIP_DECL_BRANCHEXECEXT(), and updateBestCandidate().

SCIP_Real SCIPcalcNodeselPriority ( SCIP scip,
SCIP_VAR var,
SCIP_BRANCHDIR  branchdir,
SCIP_Real  targetvalue 
)

calculates the node selection priority for moving the given variable's LP value to the given target value; this node selection priority can be given to the SCIPcreateChild() call

Returns
the node selection priority for moving the given variable's LP value to the given target value.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable on which the branching is applied
branchdirtype of branching that was performed: upwards, downwards, or fixed; fixed should only be used, when both bounds changed
targetvaluenew value of the variable in the child node

Definition at line 33651 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPtreeCalcNodeselPriority(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by createNAryBranch(), enforceConflictgraph(), enforceConssSOS1(), and enforceSOS2().

SCIP_Real SCIPcalcChildEstimate ( SCIP scip,
SCIP_VAR var,
SCIP_Real  targetvalue 
)

calculates an estimate for the objective of the best feasible solution contained in the subtree after applying the given branching; this estimate can be given to the SCIPcreateChild() call

Returns
the estimate for the objective of the best feasible solution contained in the subtree after applying the given branching.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable on which the branching is applied
targetvaluenew value of the variable in the child node

Definition at line 33678 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPtreeCalcChildEstimate(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by createNAryBranch(), enforceConflictgraph(), enforceConssSOS1(), enforceIndicators(), enforceSOS2(), and performBranching().

SCIP_RETCODE SCIPcreateChild ( SCIP scip,
SCIP_NODE **  node,
SCIP_Real  nodeselprio,
SCIP_Real  estimate 
)

creates a child node of the focus node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
nodepointer to node data structure
nodeselprionode selection priority of new node
estimateestimate for(transformed) objective value of best feasible solution in subtree

Definition at line 33701 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPnodeCreateChild(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by branchCons(), createNAryBranch(), enforceConflictgraph(), enforceConssSOS1(), enforceIndicators(), enforceSOS2(), performBranching(), and SCIP_DECL_CONSENFOLP().

SCIP_RETCODE SCIPbranchVar ( SCIP scip,
SCIP_VAR var,
SCIP_NODE **  downchild,
SCIP_NODE **  eqchild,
SCIP_NODE **  upchild 
)

branches on a non-continuous variable v using the current LP or pseudo solution; if solution value x' is fractional, two child nodes will be created (x <= floor(x'), x >= ceil(x')), if solution value is integral, the x' is equal to lower or upper bound of the branching variable and the bounds of v are finite, then two child nodes will be created (x <= x'', x >= x''+1 with x'' = floor((lb + ub)/2)), otherwise (up to) three child nodes will be created (x <= x'-1, x == x', x >= x'+1)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to branch on
downchildpointer to return the left child with variable rounded down, or NULL
eqchildpointer to return the middle child with variable fixed, or NULL
upchildpointer to return the right child with variable rounded up, or NULL

Definition at line 33734 of file scip.c.

References Scip::branchcand, checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Var::scip, SCIP_CALL, SCIP_INVALID, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPerrorMessage, SCIPsetIsEQ(), SCIPtreeBranchVar(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarGetUbLocal(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by performBranching(), SCIP_DECL_BRANCHEXECLP(), and SCIP_DECL_BRANCHEXECPS().

SCIP_RETCODE SCIPbranchVarHole ( SCIP scip,
SCIP_VAR var,
SCIP_Real  left,
SCIP_Real  right,
SCIP_NODE **  downchild,
SCIP_NODE **  upchild 
)

branches a variable x using a given domain hole; two child nodes (x <= left, x >= right) are created

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to branch on
leftleft side of the domain hole
rightright side of the domain hole
downchildpointer to return the left child (x <= left), or NULL
upchildpointer to return the right child (x >= right), or NULL

Definition at line 33775 of file scip.c.

References Scip::branchcand, checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Var::scip, SCIP_CALL, SCIP_OKAY, SCIPtreeBranchVarHole(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by applyAlternativeBoundsBranching().

SCIP_RETCODE SCIPbranchVarVal ( SCIP scip,
SCIP_VAR var,
SCIP_Real  val,
SCIP_NODE **  downchild,
SCIP_NODE **  eqchild,
SCIP_NODE **  upchild 
)

branches on a variable x using a given value x'; for continuous variables with relative domain width larger epsilon, x' must not be one of the bounds; two child nodes (x <= x', x >= x') are created; for integer variables, if solution value x' is fractional, two child nodes are created (x <= floor(x'), x >= ceil(x')), if x' is integral, three child nodes are created (x <= x'-1, x == x', x >= x'+1)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to branch on
valvalue to branch on
downchildpointer to return the left child with variable rounded down, or NULL
eqchildpointer to return the middle child with variable fixed, or NULL
upchildpointer to return the right child with variable rounded up, or NULL

Definition at line 33810 of file scip.c.

References Scip::branchcand, checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPerrorMessage, SCIPisInfinity(), SCIPisLT(), SCIPisRelEQ(), SCIPsetIsEQ(), SCIPtreeBranchVar(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarGetUbLocal(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by branch(), execRelpscost(), performBranching(), and SCIP_DECL_BRANCHEXECEXT().

SCIP_RETCODE SCIPbranchVarValNary ( SCIP scip,
SCIP_VAR var,
SCIP_Real  val,
int  n,
SCIP_Real  minwidth,
SCIP_Real  widthfactor,
int *  nchildren 
)

n-ary branching on a variable x using a given value

Branches on variable x such that up to n/2 children are created on each side of the usual branching value. The branching value is selected as in SCIPbranchVarVal(). The parameters minwidth and widthfactor determine the domain width of the branching variable in the child nodes. If n is odd, one child with domain width 'width' and having the branching value in the middle is created. Otherwise, two children with domain width 'width' and being left and right of the branching value are created. Next further nodes to the left and right are created, where width is multiplied by widthfactor with increasing distance from the first nodes. The initial width is calculated such that n/2 nodes are created to the left and to the right of the branching value. If this value is below minwidth, the initial width is set to minwidth, which may result in creating less than n nodes.

Giving a large value for widthfactor results in creating children with small domain when close to the branching value and large domain when closer to the current variable bounds. That is, setting widthfactor to a very large value and n to 3 results in a ternary branching where the branching variable is mostly fixed in the middle child. Setting widthfactor to 1.0 results in children where the branching variable always has the same domain width (except for one child if the branching value is not in the middle).

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
varvariable to branch on
valvalue to branch on
nattempted number of children to be created, must be >= 2
minwidthminimal domain width in children
widthfactormultiplier for children domain width with increasing distance from val, must be >= 1.0
nchildrenpointer to store number of created children, or NULL

Definition at line 33873 of file scip.c.

References Scip::branchcand, checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPerrorMessage, SCIPisInfinity(), SCIPisLT(), SCIPisRelEQ(), SCIPsetIsEQ(), SCIPtreeBranchVarNary(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarGetUbLocal(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIP_DECL_BRANCHEXECEXT().

SCIP_RETCODE SCIPbranchLP ( SCIP scip,
SCIP_RESULT result 
)

calls branching rules to branch on an LP solution; if no fractional variables exist, the result is SCIP_DIDNOTRUN; if the branch priority of an unfixed variable is larger than the maximal branch priority of the fractional variables, pseudo solution branching is applied on the unfixed variables with maximal branch priority

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
resultpointer to store the result of the branching (s. branch.h)

Definition at line 33918 of file scip.c.

References Scip::branchcand, checkStage(), SCIP_Primal::cutoffbound, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPbranchExecLP(), Scip::sepastore, Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIP_DECL_CONSENFOLP().

SCIP_RETCODE SCIPbranchExtern ( SCIP scip,
SCIP_RESULT result 
)

calls branching rules to branch on a external candidates; if no such candidates exist, the result is SCIP_DIDNOTRUN

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
resultpointer to store the result of the branching (s. branch.h)

Definition at line 33942 of file scip.c.

References Scip::branchcand, checkStage(), SCIP_Primal::cutoffbound, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPbranchExecExtern(), Scip::sepastore, Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

SCIP_RETCODE SCIPbranchPseudo ( SCIP scip,
SCIP_RESULT result 
)

calls branching rules to branch on a pseudo solution; if no unfixed variables exist, the result is SCIP_DIDNOTRUN

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
resultpointer to store the result of the branching (s. branch.h)

Definition at line 33966 of file scip.c.

References Scip::branchcand, checkStage(), SCIP_Primal::cutoffbound, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPbranchExecPseudo(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

SCIP_RETCODE SCIPcreateSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to zero

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 34002 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, Scip::origprimal, Scip::origprob, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPsolCreate(), SCIPsolCreateOriginal(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::tree, and TRUE.

Referenced by applyBoundHeur(), applyVbounds(), checkSystemGF2(), createNewSol(), createNewSols(), createSolFromNLP(), createSolFromSubScipSol(), generateCloseCutPoint(), processNlRow(), readSol(), readXMLSol(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEURINIT(), SCIPcomputeLPRelIntPoint(), solveSubproblem(), tryOneOpt(), and trySolCandidate().

SCIP_RETCODE SCIPcreateLPSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to the current LP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 34044 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPsolCreateLPSol(), SCIPtreeHasCurrentNodeLP(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by performStrongbranchWithPropagation(), proposeFeasibleSolution(), SCIP_DECL_CONSCHECK(), and SCIP_DECL_CONSENFOLP().

SCIP_RETCODE SCIPcreateNLPSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to the current NLP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 34072 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::nlp, NULL, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPisNLPConstructed(), SCIPnlpHasSolution(), SCIPsolCreateNLPSol(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by SCIP_DECL_CONSSEPALP().

SCIP_RETCODE SCIPcreateRelaxSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to the current relaxation solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 34107 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::primal, SCIP_Mem::probmem, Scip::relaxation, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPrelaxationIsSolValid(), SCIPsolCreateRelaxSol(), Scip::set, Scip::stat, Scip::tree, and TRUE.

SCIP_RETCODE SCIPcreatePseudoSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to the current pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 34134 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPsolCreatePseudoSol(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIP_DECL_CONSENFOPS().

SCIP_RETCODE SCIPcreateCurrentSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to the current LP or pseudo solution, depending on whether the LP was solved at the current node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 34157 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPsolCreateCurrentSol(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIPcreateSolCopy(), and SCIPcreateSolCopyOrig().

SCIP_RETCODE SCIPcreateUnknownSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to unknown values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 34186 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPsolCreateUnknown(), Scip::set, Scip::stat, Scip::tree, and TRUE.

SCIP_RETCODE SCIPcreateOrigSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution living in the original problem space, initialized to zero; a solution in original space allows to set original variables to values that would be invalid in the transformed problem due to preprocessing fixings or aggregations

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 34218 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, Scip::origprimal, Scip::origprob, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPsolCreateOriginal(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::tree, and TRUE.

Referenced by copyAndSolveComponent(), createSolFromSubScipSol(), fixDiscreteVars(), SCIP_DECL_HEUREXEC(), and SCIPcreateFiniteSolCopy().

SCIP_RETCODE SCIPcreateSolCopy ( SCIP scip,
SCIP_SOL **  sol,
SCIP_SOL sourcesol 
)

creates a copy of a primal solution; note that a copy of a linked solution is also linked and needs to be unlinked if it should stay unaffected from changes in the LP or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
sourcesolprimal CIP solution to copy

Definition at line 34271 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcreateCurrentSol(), SCIPsolCopy(), Scip::set, Scip::stat, and TRUE.

Referenced by fromCommandLine(), proposeFeasibleSolution(), SCIP_DECL_CONSCHECK(), SCIP_DECL_HEUREXEC(), SCIPheurPassSolAddSol(), SCIPheurPassSolTrySol(), SCIPsetBasePointClosecuts(), and SCIPupdateStartpointHeurSubNlp().

SCIP_RETCODE SCIPcreateSolCopyOrig ( SCIP scip,
SCIP_SOL **  sol,
SCIP_SOL sourcesol 
)

creates a copy of a solution in the original primal solution space

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
sourcesolprimal CIP solution to copy

Definition at line 34311 of file scip.c.

References checkStage(), FALSE, Scip::mem, NULL, Scip::origprimal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcreateCurrentSol(), SCIPsolCopy(), Scip::set, SCIP_Set::stage, Scip::stat, and TRUE.

SCIP_RETCODE SCIPcreateFiniteSolCopy ( SCIP scip,
SCIP_SOL **  sol,
SCIP_SOL sourcesol,
SCIP_Bool success 
)

creates a copy of a primal solution, thereby replacing infinite fixings of variables by finite values; the copy is always defined in the original variable space; success indicates whether the objective value of the solution was changed by removing infinite values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
sourcesolprimal CIP solution to copy
successdoes the finite solution have the same objective value?

Definition at line 34369 of file scip.c.

References checkStage(), FALSE, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_FIXED, SCIP_VARTYPE_CONTINUOUS, SCIP_VERBLEVEL_NONE, SCIPaddCoefLinear(), SCIPaddCons(), SCIPaddVar(), SCIPallocBufferArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPchgVarObj(), SCIPchgVarType(), SCIPcopyOrig(), SCIPcreate(), SCIPcreateConsBasicLinear(), SCIPcreateOrigSol(), SCIPcreateVar(), SCIPdebugMessage, SCIPepsilon(), SCIPfixVar(), SCIPfree(), SCIPfreeBufferArray, SCIPgetBestSol(), SCIPgetFixedVars(), SCIPgetNFixedVars(), SCIPgetOrigVarsData(), SCIPgetSolOrigObj(), SCIPgetSolVal(), SCIPgetSolVals(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPinfinity(), SCIPisEQ(), SCIPisFeasGT(), SCIPisFeasLT(), SCIPisInfinity(), SCIPprintSol(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPsetIntParam(), SCIPsetSolVal(), SCIPsnprintf(), SCIPsolve(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetLbOriginal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarGetUbOriginal(), and TRUE.

Referenced by freeTransform(), and SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPfreeSol ( SCIP scip,
SCIP_SOL **  sol 
)

frees primal CIP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to the solution

Definition at line 34607 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::origprimal, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPsolFree(), Scip::set, SCIP_Set::stage, and TRUE.

Referenced by applyBoundHeur(), applyVbounds(), checkSystemGF2(), copyAndSolveComponent(), createCoveringProblem(), createNewSol(), createSolFromSubScipSol(), freeMemory(), fromCommandLine(), performStrongbranchWithPropagation(), proposeFeasibleSolution(), readSol(), readXMLSol(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXITSOL(), SCIPapplyHeurDualval(), SCIPapplyUndercover(), SCIPheurPassSolAddSol(), SCIPheurPassSolTrySol(), SCIPsetBasePointClosecuts(), SCIPupdateStartpointHeurSubNlp(), solveSubNLP(), solveSubproblem(), and storeSolution().

SCIP_RETCODE SCIPlinkLPSol ( SCIP scip,
SCIP_SOL sol 
)

links a primal solution to the current LP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 34648 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpIsSolved(), SCIPsolLinkLPSol(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by applyBoundHeur(), applyVbounds(), getSolFromFacet(), performLPRandRounding(), performLPSimpleRounding(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), SCIPperformGenericDivingAlgorithm(), solveLp(), tryOneOpt(), and trySolCandidate().

SCIP_RETCODE SCIPlinkNLPSol ( SCIP scip,
SCIP_SOL sol 
)

links a primal solution to the current NLP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 34674 of file scip.c.

References checkStage(), FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_OKAY, SCIPerrorMessage, SCIPnlpGetSolstat(), SCIPsolLinkNLPSol(), Scip::stat, Scip::tree, and TRUE.

SCIP_RETCODE SCIPlinkRelaxSol ( SCIP scip,
SCIP_SOL sol 
)

links a primal solution to the current relaxation solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 34706 of file scip.c.

References checkStage(), FALSE, Scip::relaxation, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPrelaxationIsSolValid(), SCIPsolLinkRelaxSol(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by performRelaxSimpleRounding().

SCIP_RETCODE SCIPlinkPseudoSol ( SCIP scip,
SCIP_SOL sol 
)

links a primal solution to the current pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 34733 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_OKAY, SCIPsolLinkPseudoSol(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

SCIP_RETCODE SCIPlinkCurrentSol ( SCIP scip,
SCIP_SOL sol 
)

links a primal solution to the current LP or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 34753 of file scip.c.

References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_OKAY, SCIPsolLinkCurrentSol(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by applyCliqueFixings(), and processNlRow().

SCIP_RETCODE SCIPclearSol ( SCIP scip,
SCIP_SOL sol 
)

clears a primal solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 34784 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPsolClear(), Scip::stat, Scip::tree, and TRUE.

Referenced by applyVbounds().

SCIP_RETCODE SCIPunlinkSol ( SCIP scip,
SCIP_SOL sol 
)

stores solution values of variables in solution's own array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 34812 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPsolUnlink(), Scip::set, Scip::transprob, and TRUE.

Referenced by proposeFeasibleSolution(), SCIP_DECL_CONSCHECK(), SCIPheurPassSolAddSol(), SCIPheurPassSolTrySol(), SCIPperformGenericDivingAlgorithm(), SCIPretransformSol(), and SCIPupdateStartpointHeurSubNlp().

SCIP_RETCODE SCIPsetSolVal ( SCIP scip,
SCIP_SOL sol,
SCIP_VAR var,
SCIP_Real  val 
)
SCIP_RETCODE SCIPsetSolVals ( SCIP scip,
SCIP_SOL sol,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real vals 
)

sets values of multiple variables in primal CIP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution
nvarsnumber of variables to set solution value for
varsarray with variables to add to solution
valsarray with solution values of variables

Definition at line 34885 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPsolIsOriginal(), SCIPsolSetVal(), SCIPvarGetName(), SCIPvarIsTransformed(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by copySol(), createNewSol(), createNewSols(), and SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPincSolVal ( SCIP scip,
SCIP_SOL sol,
SCIP_VAR var,
SCIP_Real  incval 
)

increases value of variable in primal CIP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution
varvariable to increase solution value for
incvalincrement for solution value of variable

Definition at line 34940 of file scip.c.

References checkStage(), FALSE, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPsolIncVal(), SCIPsolIsOriginal(), SCIPvarGetName(), SCIPvarIsTransformed(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by proposeFeasibleSolution().

SCIP_Real SCIPgetSolVal ( SCIP scip,
SCIP_SOL sol,
SCIP_VAR var 
)

returns value of variable in primal CIP solution, or in current LP/pseudo solution

Returns
value of variable in primal CIP solution, or in current LP/pseudo solution
Precondition
In case the solution pointer sol is NULL, that means it is asked for the LP or pseudo solution, this method can only be called if scip is in the solving stage SCIP_STAGE_SOLVING. In any other case, this method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo solution
varvariable to get value for

Definition at line 34983 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPsolGetVal(), SCIPtreeHasCurrentNodeLP(), SCIPvarGetSol(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by addBilinearTermToCut(), addBranchingComplementaritiesSOS1(), addFacetToCut(), addLinearTermToCut(), addLocalBranchingConstraint(), checkAndConss(), checkCons(), checkCumulativeCondition(), checkOrigPbCons(), checkSystemGF2(), chooseGuidedVar(), collectBranchingCands(), collectSolution(), computeCut(), computeReferencePointGauge(), computeViolation(), consdataCheckSuperindicator(), consdataGetActivity(), copyAndSolveComponent(), copyValues(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), createNAryBranch(), createSelectedSortedEventpointsSol(), createSolFromSubScipSol(), createSortedEventpointsSol(), createSubproblem(), createSubscip(), CUTOFF_CONSTRAINT(), determineBound(), enforceConssSOS1(), enforceCuts(), enforceIndicators(), enforceSOS2(), evalLhs(), evaluateGauge(), extendToCover(), fixDiscreteVars(), fixVariables(), generateCloseCutPoint(), generateClusterCuts(), generateCut(), generateCutLTI(), generateCutProjectedPoint(), generateCutSol(), generateSecantCut(), generateSparseCut(), getBoundConsFromVertices(), getBranchingPrioritiesSOS1(), getBranchingVerticesSOS1(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getFixingValue(), getGradientMaxElement(), getGradientNorm(), getNLPFracVars(), getVectorOfWeights(), isConvexLocal(), isPossibleToComputeCut(), isViolatedSOS1(), makeSOS1conflictgraphFeasible(), makeSOS1constraintsFeasible(), maximalslack(), nodeGetSolvalBinaryBigMSOS1(), nodeGetSolvalVarboundLbSOS1(), nodeGetSolvalVarboundUbSOS1(), optimize(), performRandRounding(), polishSolution(), proposeFeasibleSolution(), registerBranchingCandidates(), registerBranchingCandidatesCentrality(), registerBranchingCandidatesGap(), registerBranchingCandidatesViolation(), registerLargeLPValueVariableForBranching(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SOLVECUMULATIVE(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPcomputeConvexEnvelopeFacet(), SCIPcreateFiniteSolCopy(), SCIPgetViolationAbspower(), SCIPisViolatedIndicator(), SCIPmakeIndicatorFeasible(), SCIPperformGenericDivingAlgorithm(), SCIPprintSolReaderFzn(), SCIPresolveSolHeurSubNlp(), SCIPseparateRelaxedKnapsack(), SCIPwriteCliqueGraph(), searchEcAggr(), selectEssentialRounding(), selectNextDiving(), selectRounding(), selectShifting(), sepaImplBoundCutsSOS1(), separateCons(), separateCuts(), separateGLS(), separateHeur(), separateIndicators(), separatePoint(), setAltLPObj(), solCutIsViolated(), solveLp(), solveSubNLP(), storeAggrFromMIP(), updateBestCandidate(), updateSlacks(), and updateWeightsTCliquegraph().

SCIP_RETCODE SCIPgetSolVals ( SCIP scip,
SCIP_SOL sol,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real vals 
)

gets values of multiple variables in primal CIP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo solution
nvarsnumber of variables to get solution value for
varsarray with variables to get value for
valsarray to store solution values of variables

Definition at line 35020 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPgetVarSols(), SCIPsolGetVal(), Scip::set, Scip::stat, and TRUE.

Referenced by computeViolations(), copySol(), createNewSol(), createNewSols(), createZerohalfCutFromZerohalfWeightvector(), generateCut(), generateSparseCut(), getGradientMaxElement(), processNlRow(), SCIP_DECL_CONSCHECK(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECSOL(), SCIPcreateFiniteSolCopy(), SCIPevalExprtreeSol(), SCIPseparateKnapsackCuts(), SCIPsetNLPInitialGuessSol(), SCIPsetRelaxSolValsSol(), separateCuts(), and solveCoveringProblem().

SCIP_Real SCIPgetSolOrigObj ( SCIP scip,
SCIP_SOL sol 
)
SCIP_Real SCIPgetSolTransObj ( SCIP scip,
SCIP_SOL sol 
)

returns transformed objective value of primal CIP solution, or transformed current LP/pseudo objective value

Returns
transformed objective value of primal CIP solution, or transformed current LP/pseudo objective value
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo objective value

Definition at line 35113 of file scip.c.

References checkStage(), FALSE, Scip::lp, NULL, Scip::origprob, SCIP_CALL_ABORT, SCIPlpGetObjval(), SCIPlpGetPseudoObjval(), SCIPsolGetObj(), SCIPtreeHasCurrentNodeLP(), Scip::set, Scip::transprob, Scip::tree, and TRUE.

Referenced by getGenVBoundsBound(), proposeFeasibleSolution(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIPapplyProximity(), SCIPupdateStartpointHeurSubNlp(), SCIPvisualFoundSolution(), tryOneOpt(), and trySolCandidate().

SCIP_RETCODE SCIPrecomputeSolObj ( SCIP scip,
SCIP_SOL sol 
)

recomputes the objective value of an original solution, e.g., when transferring solutions from the solution pool (objective coefficients might have changed in the meantime)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:

Definition at line 35144 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, SCIP_CALL, SCIP_OKAY, SCIPsolRecomputeObj(), Scip::set, Scip::stat, and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

SCIP_Real SCIPtransformObj ( SCIP scip,
SCIP_Real  obj 
)

maps original space objective value into transformed objective value

Returns
transformed objective value
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
objoriginal space objective value to transform

Definition at line 35173 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL_ABORT, SCIPprobInternObjval(), Scip::set, Scip::transprob, and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPresolveSolHeurSubNlp(), and SCIPsetObjlimit().

SCIP_Real SCIPretransformObj ( SCIP scip,
SCIP_Real  obj 
)

maps transformed objective value into original space

Returns
objective value into original space
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
objtransformed objective value to retransform in original space

Definition at line 35198 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL_ABORT, SCIPprobExternObjval(), Scip::set, Scip::transprob, and TRUE.

Referenced by printSolutionStatistics(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIPperformGenericDivingAlgorithm(), SCIPvisualCutoffNode(), SCIPvisualLowerbound(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), SCIPvisualUpperbound(), separateCuts(), and writeExpandedSolutions().

SCIP_Real SCIPgetSolTime ( SCIP scip,
SCIP_SOL sol 
)

gets clock time, when this solution was found

Returns
clock time, when this solution was found
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 35225 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPsolGetTime(), and TRUE.

int SCIPgetSolRunnum ( SCIP scip,
SCIP_SOL sol 
)

gets branch and bound run number, where this solution was found

Returns
branch and bound run number, where this solution was found
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 35252 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPsolGetRunnum(), and TRUE.

SCIP_Longint SCIPgetSolNodenum ( SCIP scip,
SCIP_SOL sol 
)

gets node number of the specific branch and bound run, where this solution was found

Returns
node number of the specific branch and bound run, where this solution was found
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 35279 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPsolGetNodenum(), and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

SCIP_HEUR* SCIPgetSolHeur ( SCIP scip,
SCIP_SOL sol 
)

gets heuristic, that found this solution (or NULL if it's from the tree)

Returns
heuristic, that found this solution (or NULL if it's from the tree)
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 35306 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPsolGetHeur(), and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT(), and SCIP_DECL_HEUREXEC().

SCIP_Bool SCIPareSolsEqual ( SCIP scip,
SCIP_SOL sol1,
SCIP_SOL sol2 
)

returns whether two given solutions are exactly equal

Returns
returns whether two given solutions are exactly equal
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
sol1first primal CIP solution
sol2second primal CIP solution

Definition at line 35334 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_CALL_ABORT, SCIPsolsAreEqual(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

SCIP_RETCODE SCIPadjustImplicitSolVals ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool  uselprows 
)

adjusts solution values of implicit integer variables in handed solution. Solution objective value is not deteriorated by this method.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal CIP solution
uselprowsshould LP row information be considered for none-objective variables

Definition at line 35354 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPsolAdjustImplicitSolVals(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by performSimpleRounding().

SCIP_RETCODE SCIPprintSol ( SCIP scip,
SCIP_SOL sol,
FILE *  file,
SCIP_Bool  printzeros 
)

outputs non-zero variables of solution in original problem space to the given file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
In case the solution pointer sol is NULL (asking for the current LP/pseudo solution), this method can be called if scip is in one of the following stages:
In case the solution pointer sol is not NULL, this method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo solution
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 35397 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPisTransformed(), SCIPmessageFPrintInfo(), SCIPprintReal(), SCIPprobExternObjval(), SCIPsolCreateCurrentSol(), SCIPsolFree(), SCIPsolGetObj(), SCIPsolGetOrigObj(), SCIPsolIsOriginal(), SCIPsolPrint(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by checkSystemGF2(), createCGCutDirect(), fromCommandLine(), performRandRounding(), performSimpleRounding(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPcreateFiniteSolCopy(), SCIPprintBestSol(), searchEcAggrWithMIP(), solveCoveringProblem(), and trySolCandidate().

SCIP_RETCODE SCIPprintTransSol ( SCIP scip,
SCIP_SOL sol,
FILE *  file,
SCIP_Bool  printzeros 
)

outputs non-zero variables of solution in transformed problem space to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo solution
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 35458 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPmessageFPrintInfo(), SCIPprintReal(), SCIPsolCreateCurrentSol(), SCIPsolFree(), SCIPsolGetObj(), SCIPsolIsOriginal(), SCIPsolPrint(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIPprintBestTransSol().

static SCIP_RETCODE printDualSol ( SCIP scip,
FILE *  file,
SCIP_Bool  printzeros 
)
static

outputs dual solution from LP solver to file stream

Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 35501 of file scip.c.

References SCIP_Prob::conss, SCIP_Lp::dualfeasible, Scip::lp, Scip::messagehdlr, SCIP_Prob::nconss, NULL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPgetDualsolLinear(), SCIPisInfinity(), SCIPisZero(), SCIPmessageFPrintInfo(), SCIP_Lp::solved, and Scip::transprob.

Referenced by SCIPprintDualSol().

SCIP_RETCODE SCIPprintDualSol ( SCIP scip,
FILE *  file,
SCIP_Bool  printzeros 
)

outputs dual solution from LP solver to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called in all stages but only prints dual information when called in SCIP_STAGE_SOLVED
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 35558 of file scip.c.

References checkStage(), SCIP_Prob::conss, Scip::messagehdlr, SCIP_Prob::nconss, SCIP_Prob::ncontvars, NULL, SCIP_Prob::nvars, SCIP_Stat::performpresol, printDualSol(), SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVED, SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPgetStage(), SCIPmessageFPrintInfo(), SCIPwarningMessage(), Scip::stat, Scip::transprob, and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPprintRay ( SCIP scip,
SCIP_SOL sol,
FILE *  file,
SCIP_Bool  printzeros 
)

outputs non-zero variables of solution representing a ray in original problem space to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution representing ray
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 35632 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, NULL, Scip::origprob, SCIP_CALL, SCIP_OKAY, SCIPsolPrintRay(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by updatePrimalRay().

int SCIPgetNSols ( SCIP scip)

gets number of feasible primal solutions stored in the solution storage in case the problem is transformed; in case the problem stage is SCIP_STAGE_PROBLEM, the number of solution in the original solution candidate storage is returned

Returns
number of feasible primal solutions stored in the solution storage in case the problem is transformed; or number of solution in the original solution candidate storage if the problem stage is SCIP_STAGE_PROBLEM
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 35668 of file scip.c.

References checkStage(), FALSE, SCIP_Primal::nsols, Scip::origprimal, Scip::primal, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INIT, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPABORT, SCIPerrorMessage, Scip::set, SCIP_Set::stage, and TRUE.

Referenced by applyOfins(), applyVbounds(), copyAndSolveComponent(), createCGCuts(), createNewSols(), presolve(), presolveRound(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), searchEcAggrWithMIP(), selectSolsRandomized(), setupSubproblem(), solveCoveringProblem(), solveSubMIP(), solveSubNLP(), solveSubproblem(), storeAggrFromMIP(), and transformSols().

SCIP_SOL* SCIPgetBestSol ( SCIP scip)

gets best feasible primal solution found so far if the problem is transformed; in case the problem is in SCIP_STAGE_PROBLEM it returns the best solution candidate, or NULL if no solution has been found or the candidate store is empty;

Returns
best feasible primal solution so far
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 35767 of file scip.c.

References checkStage(), FALSE, SCIP_Primal::nsols, NULL, Scip::origprimal, Scip::primal, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INIT, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, Scip::set, SCIP_Primal::sols, SCIP_Set::stage, and TRUE.

Referenced by addCurrentSolution(), addLocalBranchingConstraint(), applyOfins(), copyAndSolveComponent(), createSubproblem(), createSubscip(), displayRelevantStats(), execRelpscost(), fixAndPropagate(), fromCommandLine(), getActivities(), getFixingValue(), maximalslack(), presolve(), presolveRound(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DISPINITSOL(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SOLVECUMULATIVE(), SCIPaddCurrentSol(), SCIPaddSol(), SCIPaddSolFree(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPapplyRens(), SCIPcreateFiniteSolCopy(), SCIPprintBestSol(), SCIPprintBestTransSol(), SCIPtransformProb(), SCIPtryCurrentSol(), SCIPtrySol(), SCIPtrySolFree(), searchEcAggrWithMIP(), solveCoveringProblem(), solveNode(), solveNodeLP(), and storeAggrFromMIP().

SCIP_RETCODE SCIPprintBestSol ( SCIP scip,
FILE *  file,
SCIP_Bool  printzeros 
)

outputs best feasible primal solution found so far to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 35833 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_OKAY, SCIPgetBestSol(), SCIPmessageFPrintInfo(), SCIPprintSol(), and TRUE.

Referenced by fromCommandLine(), SCIP_DECL_DIALOGEXEC(), and separateBySolvingAuxIP().

SCIP_RETCODE SCIPprintBestTransSol ( SCIP scip,
FILE *  file,
SCIP_Bool  printzeros 
)

outputs best feasible primal solution found so far in transformed variables to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 35873 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPgetBestSol(), SCIPmessageFPrintInfo(), SCIPprintTransSol(), SCIPsolIsOriginal(), and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIProundSol ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool success 
)

try to round given solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution
successpointer to store whether rounding was successful

Definition at line 35909 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPsolIsOriginal(), SCIPsolRound(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by applyBoundHeur(), applyCliqueFixings(), applyVbounds(), performStrongbranchWithPropagation(), SCIP_DECL_HEUREXEC(), and SCIPperformGenericDivingAlgorithm().

SCIP_RETCODE SCIPretransformSol ( SCIP scip,
SCIP_SOL sol 
)

retransforms solution to original problem space

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal CIP solution

Definition at line 35945 of file scip.c.

References checkStage(), FALSE, Scip::origprob, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_SOLORIGIN_LPSOL, SCIP_SOLORIGIN_NLPSOL, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_PSEUDOSOL, SCIP_SOLORIGIN_RELAXSOL, SCIP_SOLORIGIN_UNKNOWN, SCIP_SOLORIGIN_ZERO, SCIPerrorMessage, SCIPsolGetOrigin(), SCIPsolRetransform(), SCIPunlinkSol(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by fromCommandLine().

SCIP_RETCODE SCIPreadSol ( SCIP scip,
const char *  filename 
)

reads a given solution file, problem has to be transformed in advance

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
filenamename of the input file

Definition at line 36002 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPreadProb(), and TRUE.

SCIP_RETCODE SCIPaddSol ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool stored 
)

adds feasible primal solution to solution storage by copying it

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
Do not call during propagation, use heur_trysol instead.
Parameters
scipSCIP data structure
solprimal CIP solution
storedstores whether given solution was good enough to keep

Definition at line 36032 of file scip.c.

References checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, Scip::origprimal, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPgetBestSol(), SCIPprimalAddOrigSol(), SCIPprimalAddSol(), SCIPsolIsOriginal(), SCIPsolRetransform(), SCIPsolUnlink(), SCIPstoreSolutionGap(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

SCIP_RETCODE SCIPaddSolFree ( SCIP scip,
SCIP_SOL **  sol,
SCIP_Bool stored 
)

adds primal solution to solution storage, frees the solution afterwards

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
Do not call during propagation, use heur_trysol instead.
Parameters
scipSCIP data structure
solpointer to primal CIP solution; is cleared in function call
storedstores whether given solution was good enough to keep

Definition at line 36107 of file scip.c.

References checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, NULL, Scip::origprimal, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPerrorMessage, SCIPgetBestSol(), SCIPprimalAddOrigSolFree(), SCIPprimalAddSolFree(), SCIPsolIsOriginal(), SCIPsolRetransform(), SCIPsolUnlink(), SCIPstoreSolutionGap(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by readSol(), readXMLSol(), and SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPaddCurrentSol ( SCIP scip,
SCIP_HEUR heur,
SCIP_Bool stored 
)

adds current LP/pseudo solution to solution storage

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
heurheuristic that found the solution
storedstores whether given solution was good enough to keep

Definition at line 36177 of file scip.c.

References checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPgetBestSol(), SCIPprimalAddCurrentSol(), SCIPstoreSolutionGap(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

SCIP_RETCODE SCIPtrySol ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool  printreason,
SCIP_Bool  checkbounds,
SCIP_Bool  checkintegrality,
SCIP_Bool  checklprows,
SCIP_Bool stored 
)

checks solution for feasibility; if possible, adds it to storage by copying

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
Do not call during propagation, use heur_trysol instead.
Parameters
scipSCIP data structure
solprimal CIP solution
printreasonShould all reasons of violation be printed?
checkboundsShould the bounds of the variables be checked?
checkintegralityHas integrality to be checked?
checklprowsDo constraints represented by rows in the current LP have to be checked?
storedstores whether given solution was feasible and good enough to keep

Definition at line 36217 of file scip.c.

References checkSolOrig(), checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIPgetBestSol(), SCIPprimalAddSol(), SCIPprimalTrySol(), SCIPsolIsOriginal(), SCIPsolRetransform(), SCIPsolUnlink(), SCIPstoreSolutionGap(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by applyBoundHeur(), applyCliqueFixings(), applyVbounds(), createNewSol(), performRandRounding(), performSimpleRounding(), SCIP_DECL_HEUREXEC(), SCIPperformGenericDivingAlgorithm(), solveLp(), solveSubNLP(), and solveSubproblem().

SCIP_RETCODE SCIPtrySolFree ( SCIP scip,
SCIP_SOL **  sol,
SCIP_Bool  printreason,
SCIP_Bool  checkbounds,
SCIP_Bool  checkintegrality,
SCIP_Bool  checklprows,
SCIP_Bool stored 
)

checks primal solution; if feasible, adds it to storage; solution is freed afterwards

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
Do not call during propagation, use heur_trysol instead.
Parameters
scipSCIP data structure
solpointer to primal CIP solution; is cleared in function call
printreasonShould all reasons of violations be printed
checkboundsShould the bounds of the variables be checked?
checkintegralityHas integrality to be checked?
checklprowsDo constraints represented by rows in the current LP have to be checked?
storedstores whether solution was feasible and good enough to keep

Definition at line 36299 of file scip.c.

References checkSolOrig(), checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, NULL, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIPgetBestSol(), SCIPprimalAddSolFree(), SCIPprimalTrySolFree(), SCIPsolFree(), SCIPsolIsOriginal(), SCIPsolRetransform(), SCIPsolUnlink(), SCIPstoreSolutionGap(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by createNewSol(), createNewSols(), performStrongbranchWithPropagation(), readSol(), readXMLSol(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), solveSubNLP(), storeSolution(), tryOneOpt(), and trySolCandidate().

SCIP_RETCODE SCIPtryCurrentSol ( SCIP scip,
SCIP_HEUR heur,
SCIP_Bool  printreason,
SCIP_Bool  checkintegrality,
SCIP_Bool  checklprows,
SCIP_Bool stored 
)

checks current LP/pseudo solution for feasibility; if possible, adds it to storage

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
heurheuristic that found the solution
printreasonShould all reasons of violations be printed?
checkintegralityHas integrality to be checked?
checklprowsDo constraints represented by rows in the current LP have to be checked?
storedstores whether given solution was feasible and good enough to keep

Definition at line 36380 of file scip.c.

References checkStage(), Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPgetBestSol(), SCIPprimalTryCurrentSol(), SCIPstoreSolutionGap(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

SCIP_RETCODE SCIPcheckSol ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool  printreason,
SCIP_Bool  checkbounds,
SCIP_Bool  checkintegrality,
SCIP_Bool  checklprows,
SCIP_Bool feasible 
)

checks solution for feasibility without adding it to the solution store

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal CIP solution
printreasonShould all reasons of violations be printed?
checkboundsShould the bounds of the variables be checked?
checkintegralityHas integrality to be checked?
checklprowsDo constraints represented by rows in the current LP have to be checked?
feasiblestores whether given solution is feasible

Definition at line 36424 of file scip.c.

References checkSolOrig(), checkStage(), FALSE, Scip::mem, Scip::messagehdlr, SCIP_Set::misc_exactsolve, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPsolCheck(), SCIPsolIsOriginal(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by checkSystemGF2(), copyAndSolveComponent(), and solveSubNLP().

SCIP_RETCODE SCIPcheckSolOrig ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool feasible,
SCIP_Bool  printreason,
SCIP_Bool  completely 
)

checks solution for feasibility in original problem without adding it to the solution store; this method is used to double check a solution in order to validate the presolving process

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal CIP solution
feasiblestores whether given solution is feasible
printreasonshould the reason for the violation be printed?
completelyshould all violation be checked?

Definition at line 36470 of file scip.c.

References checkSolOrig(), checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, and TRUE.

Referenced by checkSolutionOrig(), copyAndSolveComponent(), displayRelevantStats(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPsolveCIP(), and storeSolution().

SCIP_Bool SCIPhasPrimalRay ( SCIP scip)

return whether a primal ray is stored that proves unboundedness of the LP relaxation

Returns
return whether a primal ray is stored that proves unboundedness of the LP relaxation
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 36498 of file scip.c.

References checkStage(), FALSE, NULL, Scip::primal, SCIP_Primal::primalray, SCIP_CALL_ABORT, and TRUE.

Referenced by generateCutUnboundedLP().

SCIP_Real SCIPgetPrimalRayVal ( SCIP scip,
SCIP_VAR var 
)

gets value of given variable in primal ray causing unboundedness of the LP relaxation; should only be called if such a ray is stored (check with SCIPhasPrimalRay())

Returns
value of given variable in primal ray causing unboundedness of the LP relaxation
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get value for

Definition at line 36516 of file scip.c.

References checkStage(), FALSE, NULL, Scip::primal, SCIP_Primal::primalray, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPsolGetRayVal(), Scip::set, Scip::stat, and TRUE.

Referenced by generateCutUnboundedLP().

SCIP_RETCODE SCIPcatchEvent ( SCIP scip,
SCIP_EVENTTYPE  eventtype,
SCIP_EVENTHDLR eventhdlr,
SCIP_EVENTDATA eventdata,
int *  filterpos 
)

catches a global (not variable or row dependent) event

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
eventtypeevent type mask to select events to catch
eventhdlrevent handler to process events with
eventdataevent data to pass to the event handler when processing this event
filterpospointer to store position of event filter entry, or NULL

Definition at line 36554 of file scip.c.

References checkStage(), Scip::eventfilter, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPeventfilterAdd(), Scip::set, and TRUE.

Referenced by applyOfins(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_EVENTINIT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PROPINITSOL(), SCIPapplyProximity(), SCIPapplyRens(), and SCIPapplyZeroobj().

SCIP_RETCODE SCIPdropEvent ( SCIP scip,
SCIP_EVENTTYPE  eventtype,
SCIP_EVENTHDLR eventhdlr,
SCIP_EVENTDATA eventdata,
int  filterpos 
)

drops a global event (stops to track event)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
eventtypeevent type mask of dropped event
eventhdlrevent handler to process events with
eventdataevent data to pass to the event handler when processing this event
filterposposition of event filter entry returned by SCIPcatchEvent(), or -1

Definition at line 36588 of file scip.c.

References checkStage(), Scip::eventfilter, FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPeventfilterDel(), Scip::set, and TRUE.

Referenced by applyOfins(), SCIP_DECL_CONSEXITSOL(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXIT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PROPEXITSOL(), SCIPapplyProximity(), SCIPapplyRens(), and SCIPapplyZeroobj().

SCIP_RETCODE SCIPcatchVarEvent ( SCIP scip,
SCIP_VAR var,
SCIP_EVENTTYPE  eventtype,
SCIP_EVENTHDLR eventhdlr,
SCIP_EVENTDATA eventdata,
int *  filterpos 
)

catches an objective value or domain change event on the given transformed variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
vartransformed variable to catch event for
eventtypeevent type mask to select events to catch
eventhdlrevent handler to process events with
eventdataevent data to pass to the event handler when processing this event
filterpospointer to store position of event filter entry, or NULL

Definition at line 36622 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_EVENTTYPE_VARCHANGED, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPvarCatchEvent(), SCIPvarGetName(), SCIPvarIsOriginal(), Scip::set, and TRUE.

Referenced by addCoef(), applyFixings(), branchruledataEnsureArraySize(), catchEvent(), catchEvents(), catchLhsVarEvents(), catchLinearVarEvents(), catchObjEvent(), catchQuadVarEvents(), catchRhsVarEvents(), catchVarEvents(), consdataCatchEvents(), consdataCatchWatchedEvents(), consdataCreate(), consdataSwitchWatchedvars(), createSubSCIP(), handleNewVariableSOS1(), handleNewVariableSOS2(), heurdataEnsureArraySize(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EVENTINITSOL(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_HEUREXEC(), SCIPcreateConsLogicor(), SCIPsetBinaryVarIndicator(), setUpEvents(), and switchWatchedvars().

SCIP_RETCODE SCIPdropVarEvent ( SCIP scip,
SCIP_VAR var,
SCIP_EVENTTYPE  eventtype,
SCIP_EVENTHDLR eventhdlr,
SCIP_EVENTDATA eventdata,
int  filterpos 
)

drops an objective value or domain change event (stops to track event) on the given transformed variable

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
vartransformed variable to drop event for
eventtypeevent type mask of dropped event
eventhdlrevent handler to process events with
eventdataevent data to pass to the event handler when processing this event
filterposposition of event filter entry returned by SCIPcatchVarEvent(), or -1

Definition at line 36668 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPvarDropEvent(), SCIPvarGetName(), SCIPvarIsOriginal(), Scip::set, and TRUE.

Referenced by applyFixings(), consdataDropEvents(), consdataDropWatchedEvents(), consdataSwitchWatchedvars(), delCoefPos(), deleteVarSOS1(), deleteVarSOS2(), dropAndFreeEvents(), dropEvent(), dropEvents(), dropLhsVarEvents(), dropLinearVarEvents(), dropObjEvent(), dropQuadVarEvents(), dropRhsVarEvents(), dropVarEvents(), freeSubSCIP(), heurdataFreeArrays(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), SCIP_DECL_BRANCHEXITSOL(), SCIP_DECL_CONSDELETE(), SCIP_DECL_EVENTEXITSOL(), SCIP_DECL_EXPRGRAPHVARREMOVE(), SCIP_DECL_HEUREXEC(), and switchWatchedvars().

SCIP_RETCODE SCIPcatchRowEvent ( SCIP scip,
SCIP_ROW row,
SCIP_EVENTTYPE  eventtype,
SCIP_EVENTHDLR eventhdlr,
SCIP_EVENTDATA eventdata,
int *  filterpos 
)

catches a row coefficient, constant, or side change event on the given row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
rowlinear row to catch event for
eventtypeevent type mask to select events to catch
eventhdlrevent handler to process events with
eventdataevent data to pass to the event handler when processing this event
filterpospointer to store position of event filter entry, or NULL

Definition at line 36708 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_EVENTTYPE_ROWCHANGED, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIProwCatchEvent(), Scip::set, and TRUE.

SCIP_RETCODE SCIPdropRowEvent ( SCIP scip,
SCIP_ROW row,
SCIP_EVENTTYPE  eventtype,
SCIP_EVENTHDLR eventhdlr,
SCIP_EVENTDATA eventdata,
int  filterpos 
)

drops a row coefficient, constant, or side change event (stops to track event) on the given row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
rowlinear row to drop event for
eventtypeevent type mask of dropped event
eventhdlrevent handler to process events with
eventdataevent data to pass to the event handler when processing this event
filterposposition of event filter entry returned by SCIPcatchVarEvent(), or -1

Definition at line 36748 of file scip.c.

References checkStage(), FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIProwDropEvent(), Scip::set, and TRUE.

SCIP_NODE* SCIPgetRootNode ( SCIP scip)

gets the root node of the tree

Returns
the root node of the search tree
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 36798 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeGetRootNode(), Scip::tree, and TRUE.

Referenced by Exec(), propagateCons(), SCIP_DECL_BRANCHEXECLP(), SCIPreoptimizeNode(), SCIPshrinkDisjunctiveVarSet(), tightenVarLb(), and tightenVarUb().

int SCIPgetEffectiveRootDepth ( SCIP scip)

gets the effective root depth, i.e., the depth of the deepest node which is part of all paths from the root node to the unprocessed nodes.

Returns
effective root depth
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 36815 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeGetEffectiveRootDepth(), Scip::tree, and TRUE.

Referenced by SCIP_DECL_EVENTEXEC().

SCIP_Bool SCIPinRepropagation ( SCIP scip)

returns whether the current node is already solved and only propagated again

Returns
TRUE is returned if SCIP performance repropagation, otherwise FALSE.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 36834 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeInRepropagation(), Scip::tree, and TRUE.

Referenced by applyProbingVar(), computeEffectiveHorizonCumulativeCondition(), fixIntegerVariableLb(), fixIntegerVariableUb(), propagateAllConss(), propagateCons(), propagateVbounds(), propIndicator(), removeFixedBinvars(), SCIP_DECL_PROPEXEC(), and solveIndependentCons().

SCIP_RETCODE SCIPgetChildren ( SCIP scip,
SCIP_NODE ***  children,
int *  nchildren 
)

gets children of focus node along with the number of children

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
childrenpointer to store children array, or NULL if not needed
nchildrenpointer to store number of children, or NULL if not needed

Definition at line 36851 of file scip.c.

References checkStage(), SCIP_Tree::children, FALSE, SCIP_Tree::nchildren, NULL, SCIP_CALL, SCIP_OKAY, Scip::tree, and TRUE.

Referenced by SCIPsolve().

int SCIPgetNChildren ( SCIP scip)

gets number of children of focus node

Returns
number of children of the focus node
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 36874 of file scip.c.

References checkStage(), FALSE, SCIP_Tree::nchildren, SCIP_CALL_ABORT, Scip::tree, and TRUE.

SCIP_RETCODE SCIPgetSiblings ( SCIP scip,
SCIP_NODE ***  siblings,
int *  nsiblings 
)

gets siblings of focus node along with the number of siblings

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
siblingspointer to store siblings array, or NULL if not needed
nsiblingspointer to store number of siblings, or NULL if not needed

Definition at line 36891 of file scip.c.

References checkStage(), FALSE, SCIP_Tree::nsiblings, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Tree::siblings, Scip::tree, and TRUE.

Referenced by SCIPsolve().

int SCIPgetNSiblings ( SCIP scip)

gets number of siblings of focus node

Returns
the number of siblings of focus node
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 36914 of file scip.c.

References checkStage(), FALSE, SCIP_Tree::nsiblings, SCIP_CALL_ABORT, Scip::tree, and TRUE.

SCIP_RETCODE SCIPgetLeaves ( SCIP scip,
SCIP_NODE ***  leaves,
int *  nleaves 
)

gets leaves of the tree along with the number of leaves

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
leavespointer to store leaves array, or NULL if not needed
nleavespointer to store number of leaves, or NULL if not needed

Definition at line 36931 of file scip.c.

References checkStage(), FALSE, SCIP_Tree::leaves, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodepqLen(), SCIPnodepqNodes(), Scip::tree, and TRUE.

Referenced by SCIPsolve().

int SCIPgetNLeaves ( SCIP scip)

gets number of leaves in the tree

Returns
the number of leaves in the tree
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 36954 of file scip.c.

References checkStage(), FALSE, SCIP_Tree::leaves, SCIP_CALL_ABORT, SCIPnodepqLen(), Scip::tree, and TRUE.

SCIP_NODE* SCIPgetPrioChild ( SCIP scip)

gets the best child of the focus node w.r.t. the node selection priority assigned by the branching rule

Returns
the best child of the focus node w.r.t. the node selection priority assigned by the branching rule
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 36970 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeGetPrioChild(), Scip::tree, and TRUE.

Referenced by SCIP_DECL_NODESELSELECT().

SCIP_NODE* SCIPgetPrioSibling ( SCIP scip)

gets the best sibling of the focus node w.r.t. the node selection priority assigned by the branching rule

Returns
the best sibling of the focus node w.r.t. the node selection priority assigned by the branching rule
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 36986 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeGetPrioSibling(), Scip::tree, and TRUE.

Referenced by SCIP_DECL_NODESELSELECT().

SCIP_NODE* SCIPgetBestChild ( SCIP scip)

gets the best child of the focus node w.r.t. the node selection strategy

Returns
the best child of the focus node w.r.t. the node selection strategy
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37002 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeGetBestChild(), Scip::set, Scip::tree, and TRUE.

Referenced by SCIP_DECL_NODESELSELECT().

SCIP_NODE* SCIPgetBestSibling ( SCIP scip)

gets the best sibling of the focus node w.r.t. the node selection strategy

Returns
the best sibling of the focus node w.r.t. the node selection strategy
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37018 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeGetBestSibling(), Scip::set, Scip::tree, and TRUE.

Referenced by SCIP_DECL_NODESELSELECT().

SCIP_NODE* SCIPgetBestLeaf ( SCIP scip)

gets the best leaf from the node queue w.r.t. the node selection strategy

Returns
the best leaf from the node queue w.r.t. the node selection strategy
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37034 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeGetBestLeaf(), Scip::tree, and TRUE.

Referenced by SCIP_DECL_NODESELSELECT().

SCIP_NODE* SCIPgetBestNode ( SCIP scip)

gets the best node from the tree (child, sibling, or leaf) w.r.t. the node selection strategy

Returns
the best node from the tree (child, sibling, or leaf) w.r.t. the node selection strategy
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37050 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeGetBestNode(), Scip::set, Scip::tree, and TRUE.

Referenced by SCIP_DECL_NODESELSELECT().

SCIP_NODE* SCIPgetBestboundNode ( SCIP scip)

gets the node with smallest lower bound from the tree (child, sibling, or leaf)

Returns
the node with smallest lower bound from the tree (child, sibling, or leaf)
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37066 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeGetLowerboundNode(), Scip::set, Scip::tree, and TRUE.

Referenced by SCIP_DECL_NODESELSELECT().

SCIP_RETCODE SCIPgetOpenNodesData ( SCIP scip,
SCIP_NODE ***  leaves,
SCIP_NODE ***  children,
SCIP_NODE ***  siblings,
int *  nleaves,
int *  nchildren,
int *  nsiblings 
)

access to all data of open nodes (leaves, children, and siblings)

Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
leavespointer to store the leaves, or NULL if not needed
childrenpointer to store the children, or NULL if not needed
siblingspointer to store the siblings, or NULL if not needed
nleavespointer to store the number of leaves, or NULL
nchildrenpointer to store the number of children, or NULL
nsiblingspointer to store the number of siblings, or NULL

Definition at line 37080 of file scip.c.

References checkStage(), SCIP_Tree::children, FALSE, SCIP_Tree::leaves, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodepqLen(), SCIPnodepqNodes(), SCIPtreeGetNChildren(), SCIPtreeGetNSiblings(), SCIP_Tree::siblings, Scip::tree, and TRUE.

Referenced by SCIP_DECL_NODESELSELECT().

SCIP_RETCODE SCIPcutoffNode ( SCIP scip,
SCIP_NODE node 
)

cuts off node and whole sub tree from branch and bound tree

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodenode that should be cut off

Definition at line 37116 of file scip.c.

References checkStage(), FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPnodeCutoff(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by propagateCons(), SCIPshrinkDisjunctiveVarSet(), tightenVarLb(), and tightenVarUb().

SCIP_RETCODE SCIPrepropagateNode ( SCIP scip,
SCIP_NODE node 
)

marks the given node to be propagated again the next time a node of its subtree is processed

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodenode that should be propagated again

Definition at line 37136 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPnodePropagateAgain(), Scip::set, Scip::stat, Scip::tree, and TRUE.

int SCIPgetCutoffdepth ( SCIP scip)

returns depth of first node in active path that is marked being cutoff

Returns
depth of first node in active path that is marked being cutoff
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37155 of file scip.c.

References checkStage(), SCIP_Tree::cutoffdepth, FALSE, SCIP_CALL_ABORT, Scip::tree, and TRUE.

int SCIPgetRepropdepth ( SCIP scip)

returns depth of first node in active path that has to be propagated again

Returns
depth of first node in active path that has to be propagated again
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37171 of file scip.c.

References checkStage(), FALSE, SCIP_Tree::repropdepth, SCIP_CALL_ABORT, Scip::tree, and TRUE.

SCIP_RETCODE SCIPprintNodeRootPath ( SCIP scip,
SCIP_NODE node,
FILE *  file 
)

prints all branching decisions on variables from the root to the given node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodenode data
fileoutput file (or NULL for standard output)

Definition at line 37188 of file scip.c.

References Scip::messagehdlr, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPmessageFPrintInfo(), SCIPnodeGetAncestorBranchingPath(), SCIPnodeGetDepth(), SCIPreallocBufferArray, and SCIPvarGetName().

void SCIPsetFocusnodeLP ( SCIP scip,
SCIP_Bool  solvelp 
)

sets whether the LP should be solved at the focus node

Note
In order to have an effect, this method needs to be called after a node is focused but before the LP is solved.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solvelpshould the LP be solved?

Definition at line 37284 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeSetFocusNodeLP(), Scip::tree, and TRUE.

int SCIPgetNRuns ( SCIP scip)

gets number of branch and bound runs performed, including the current run

Returns
the number of branch and bound runs performed, including the current run
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37318 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nruns, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by computeMinDistance(), copyCuts(), findCumulativeConss(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_HEUREXEC(), and strengthenVarbounds().

int SCIPgetNReoptRuns ( SCIP scip)

gets number of reoptimization runs performed, including the current run

Returns
the number of reoptimization runs performed, including the current run
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37345 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nreoptruns, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by SCIP_DECL_BRANCHEXECLP(), and SCIP_DECL_HEUREXEC().

SCIP_Longint SCIPgetNTotalNodes ( SCIP scip)

gets total number of processed nodes in all runs, including the focus node

Returns
the total number of processed nodes in all runs, including the focus node
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37399 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::ntotalnodes, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT().

int SCIPgetNNodesLeft ( SCIP scip)

gets number of nodes left in the tree (children + siblings + leaves)

Returns
the number of nodes left in the tree (children + siblings + leaves)
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37417 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeGetNNodes(), Scip::tree, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT(), SCIP_DECL_NODESELSELECT(), and SCIPsolve().

SCIP_Longint SCIPgetNLPIterations ( SCIP scip)

gets total number of iterations used so far in primal and dual simplex and barrier algorithm

Returns
the total number of iterations used so far in primal and dual simplex and barrier algorithm
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37454 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nlpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by applyBoundHeur(), applyVbounds(), filterExistingLP(), getIterationsLeft(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPapplyProximity(), solveLP(), solveLp(), and solveSubscip().

SCIP_Longint SCIPgetNRootLPIterations ( SCIP scip)

gets total number of iterations used so far in primal and dual simplex and barrier algorithm for the root node

Returns
the total number of iterations used so far in primal and dual simplex and barrier algorithm for the root node
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37472 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nrootlpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT(), SCIP_DECL_PROPEXEC(), SCIP_DECL_SEPAEXECLP(), and SCIPapplyProximity().

SCIP_Longint SCIPgetNRootFirstLPIterations ( SCIP scip)

gets total number of iterations used in primal and dual simplex and barrier algorithm for the first LP at the root node

Returns
the total number of iterations used in primal and dual simplex and barrier algorithm for the first root LP
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37491 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nrootfirstlpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

SCIP_Longint SCIPgetNPrimalLPs ( SCIP scip)

gets total number of primal LPs solved so far

Returns
the total number of primal LPs solved so far
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37509 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nprimallps, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNPrimalLPIterations ( SCIP scip)

gets total number of iterations used so far in primal simplex

Returns
total number of iterations used so far in primal simplex
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37527 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nprimallpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNDualLPs ( SCIP scip)

gets total number of dual LPs solved so far

Returns
the total number of dual LPs solved so far
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37545 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nduallps, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNDualLPIterations ( SCIP scip)

gets total number of iterations used so far in dual simplex

Returns
the total number of iterations used so far in dual simplex
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37563 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nduallpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNBarrierLPs ( SCIP scip)

gets total number of barrier LPs solved so far

Returns
the total number of barrier LPs solved so far
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37581 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nbarrierlps, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNBarrierLPIterations ( SCIP scip)

gets total number of iterations used so far in barrier algorithm

Returns
the total number of iterations used so far in barrier algorithm
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37599 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nbarrierlpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNResolveLPs ( SCIP scip)

gets total number of LPs solved so far that were resolved from an advanced start basis

Returns
the total number of LPs solved so far that were resolved from an advanced start basis
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37617 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::ndualresolvelps, SCIP_Stat::nprimalresolvelps, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNResolveLPIterations ( SCIP scip)

gets total number of simplex iterations used so far in primal and dual simplex calls where an advanced start basis was available

Returns
the total number of simplex iterations used so far in primal and dual simplex calls where an advanced start basis was available
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37637 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::ndualresolvelpiterations, SCIP_Stat::nprimalresolvelpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNPrimalResolveLPs ( SCIP scip)

gets total number of primal LPs solved so far that were resolved from an advanced start basis

Returns
the total number of primal LPs solved so far that were resolved from an advanced start basis
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37655 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nprimalresolvelps, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNPrimalResolveLPIterations ( SCIP scip)

gets total number of simplex iterations used so far in primal simplex calls where an advanced start basis was available

Returns
the total number of simplex iterations used so far in primal simplex calls where an advanced start basis was available
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37675 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nprimalresolvelpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNDualResolveLPs ( SCIP scip)

gets total number of dual LPs solved so far that were resolved from an advanced start basis

Returns
the total number of dual LPs solved so far that were resolved from an advanced start basis
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37693 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::ndualresolvelps, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by execRelpscost(), and getBranchingDecisionStrongbranchSOS1().

SCIP_Longint SCIPgetNDualResolveLPIterations ( SCIP scip)

gets total number of simplex iterations used so far in dual simplex calls where an advanced start basis was available

Returns
the total number of simplex iterations used so far in dual simplex calls where an advanced start basis was available
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37713 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::ndualresolvelpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by execRelpscost(), and getBranchingDecisionStrongbranchSOS1().

SCIP_Longint SCIPgetNNodeLPs ( SCIP scip)

gets total number of LPs solved so far for node relaxations

Returns
the total number of LPs solved so far for node relaxations
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37731 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nnodelps, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNNodeLPIterations ( SCIP scip)

gets total number of simplex iterations used so far for node relaxations

Returns
the total number of simplex iterations used so far for node relaxations
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37749 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nnodelpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by execRelpscost(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NODESELSELECT(), and SCIPperformGenericDivingAlgorithm().

SCIP_Longint SCIPgetNNodeInitLPs ( SCIP scip)

gets total number of LPs solved so far for initial LP in node relaxations

Returns
the total number of LPs solved so far for initial LP in node relaxations
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37767 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::ninitlps, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by execRelpscost(), and getBranchingDecisionStrongbranchSOS1().

SCIP_Longint SCIPgetNNodeInitLPIterations ( SCIP scip)

gets total number of simplex iterations used so far for initial LP in node relaxations

Returns
the total number of simplex iterations used so far for initial LP in node relaxations
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37785 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::ninitlpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by execRelpscost(), and getBranchingDecisionStrongbranchSOS1().

SCIP_Longint SCIPgetNDivingLPs ( SCIP scip)

gets total number of LPs solved so far during diving and probing

Returns
total number of LPs solved so far during diving and probing
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37803 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::ndivinglps, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNDivingLPIterations ( SCIP scip)

gets total number of simplex iterations used so far during diving and probing

Returns
the total number of simplex iterations used so far during diving and probing
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37821 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::ndivinglpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNStrongbranchs ( SCIP scip)

gets total number of times, strong branching was called (each call represents solving two LPs)

Returns
the total number of times, strong branching was called (each call represents solving two LPs)
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37839 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nstrongbranchs, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT().

SCIP_Longint SCIPgetNStrongbranchLPIterations ( SCIP scip)

gets total number of simplex iterations used so far in strong branching

Returns
the total number of simplex iterations used so far in strong branching
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37857 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nsblpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by execRelpscost(), and SCIP_DECL_NODESELSELECT().

SCIP_Longint SCIPgetNRootStrongbranchs ( SCIP scip)

gets total number of times, strong branching was called at the root node (each call represents solving two LPs)

Returns
the total number of times, strong branching was called at the root node (each call represents solving two LPs)
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37875 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nrootstrongbranchs, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNRootStrongbranchLPIterations ( SCIP scip)

gets total number of simplex iterations used so far in strong branching at the root node

Returns
the total number of simplex iterations used so far in strong branching at the root node
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37893 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nrootsblpiterations, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by execRelpscost().

int SCIPgetNPriceRounds ( SCIP scip)

gets number of pricing rounds performed so far at the current node

Returns
the number of pricing rounds performed so far at the current node
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37909 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::npricerounds, SCIP_CALL_ABORT, Scip::stat, and TRUE.

int SCIPgetNPricevars ( SCIP scip)

get current number of variables in the pricing store

Returns
the current number of variables in the pricing store
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37927 of file scip.c.

References checkStage(), FALSE, Scip::pricestore, SCIP_CALL_ABORT, SCIPpricestoreGetNVars(), and TRUE.

int SCIPgetNPricevarsFound ( SCIP scip)

get total number of pricing variables found so far

Returns
the total number of pricing variables found so far
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37945 of file scip.c.

References checkStage(), FALSE, Scip::pricestore, SCIP_CALL_ABORT, SCIPpricestoreGetNVarsFound(), and TRUE.

int SCIPgetNPricevarsApplied ( SCIP scip)

get total number of pricing variables applied to the LPs

Returns
the total number of pricing variables applied to the LPs
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37963 of file scip.c.

References checkStage(), FALSE, Scip::pricestore, SCIP_CALL_ABORT, SCIPpricestoreGetNVarsApplied(), and TRUE.

int SCIPgetNSepaRounds ( SCIP scip)

gets number of separation rounds performed so far at the current node

Returns
the number of separation rounds performed so far at the current node
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37979 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nseparounds, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT(), and separateCuts().

int SCIPgetNCutsFound ( SCIP scip)

get total number of cuts found so far

Returns
the total number of cuts found so far
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 37997 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPsepastoreGetNCutsFound(), Scip::sepastore, and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP().

int SCIPgetNCutsFoundRound ( SCIP scip)

get number of cuts found so far in current separation round

Returns
the number of cuts found so far in current separation round
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38015 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPsepastoreGetNCutsFoundRound(), Scip::sepastore, and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP().

int SCIPgetNCutsApplied ( SCIP scip)

get total number of cuts applied to the LPs

Returns
the total number of cuts applied to the LPs
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38033 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPsepastoreGetNCutsApplied(), Scip::sepastore, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT().

int SCIPgetNConflictConssFoundNode ( SCIP scip)

get number of conflict constraints found so far at the current node

Returns
the number of conflict constraints found so far at the current node
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38090 of file scip.c.

References checkStage(), Scip::conflict, FALSE, SCIP_CALL_ABORT, SCIPconflictGetNConflicts(), and TRUE.

SCIP_Longint SCIPgetNConflictConssApplied ( SCIP scip)

get total number of conflict constraints added to the problem

Returns
the total number of conflict constraints added to the problem
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38114 of file scip.c.

References checkStage(), Scip::conflict, FALSE, SCIP_CALL_ABORT, SCIPconflictGetNAppliedConss(), and TRUE.

Referenced by SCIP_DECL_CONFLICTEXEC(), and SCIP_DECL_DISPOUTPUT().

int SCIPgetDepth ( SCIP scip)

gets depth of current node, or -1 if no current node exists; in probing, the current node is the last probing node, such that the depth includes the probing path

Returns
the depth of current node, or -1 if no current node exists; in probing, the current node is the last probing node, such that the depth includes the probing path
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38140 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeGetCurrentDepth(), Scip::tree, and TRUE.

Referenced by applyCliqueFixings(), applyGenVBounds(), applyVboundsFixings(), computeCut(), disableCons(), enforceConflictgraph(), execGenVBounds(), filterExistingLP(), generateClusterCuts(), generateCut(), generateDisjCutSOS1(), initImplGraphSOS1(), performFixing(), performRandRounding(), processIntegerBoundChg(), processWatchedVars(), propagateCons(), propagateCutoffboundBinvar(), propagateCutoffboundGlobally(), propagateRootRedcostBinvar(), propIndicator(), removeFixedBinvars(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_CONSSEPASOL(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_PROPEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPaddCut(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPisConflictAnalysisApplicable(), SCIPperformGenericDivingAlgorithm(), SCIPpropagateProbing(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPupdateDivesetStats(), SCIPvarUpdatePseudocost(), selectVarMultAggrBranching(), sepaImplBoundCutsSOS1(), separateCuts(), separateIndicators(), separateSOS1(), setupProbingSCIP(), tryOneOpt(), and trySolCandidate().

int SCIPgetFocusDepth ( SCIP scip)

gets depth of the focus node, or -1 if no focus node exists; the focus node is the currently processed node in the branching tree, excluding the nodes of the probing path

Returns
the depth of the focus node, or -1 if no focus node exists; the focus node is the currently processed node in the branching tree, excluding the nodes of the probing path
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38166 of file scip.c.

References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeGetFocusDepth(), Scip::tree, and TRUE.

int SCIPgetDepthLimit ( SCIP scip)
int SCIPgetMaxDepth ( SCIP scip)

gets maximal depth of all processed nodes in current branch and bound run (excluding probing nodes)

Returns
the maximal depth of all processed nodes in current branch and bound run (excluding probing nodes)
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38214 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::maxdepth, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by generateDisjCutSOS1(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_SEPAEXECLP(), and SCIPperformGenericDivingAlgorithm().

int SCIPgetMaxTotalDepth ( SCIP scip)

gets maximal depth of all processed nodes over all branch and bound runs

Returns
the maximal depth of all processed nodes over all branch and bound runs
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38238 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::maxtotaldepth, SCIP_CALL_ABORT, Scip::stat, and TRUE.

SCIP_Longint SCIPgetNBacktracks ( SCIP scip)

gets total number of backtracks, i.e. number of times, the new node was selected from the leaves queue

Returns
the total number of backtracks, i.e. number of times, the new node was selected from the leaves queue
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38262 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nbacktracks, SCIP_CALL_ABORT, Scip::stat, and TRUE.

int SCIPgetPlungeDepth ( SCIP scip)

gets current plunging depth (successive times, a child was selected as next node)

Returns
the current plunging depth (successive times, a child was selected as next node)
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38279 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::plungedepth, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT(), and SCIP_DECL_NODESELSELECT().

int SCIPgetNActiveConss ( SCIP scip)

gets total number of active constraints at the current node

Returns
the total number of active constraints at the current node
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38296 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nactiveconss, SCIP_CALL_ABORT, Scip::stat, and TRUE.

int SCIPgetNEnabledConss ( SCIP scip)

gets total number of enabled constraints at the current node

Returns
the total number of enabled constraints at the current node
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38313 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nenabledconss, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT().

SCIP_Real SCIPgetAvgDualbound ( SCIP scip)

gets average dual bound of all unprocessed nodes for original problem

Returns
the average dual bound of all unprocessed nodes for original problem
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38331 of file scip.c.

References checkStage(), SCIP_Primal::cutoffbound, FALSE, Scip::origprob, Scip::primal, SCIP_CALL_ABORT, SCIPprobExternObjval(), SCIPtreeGetAvgLowerbound(), Scip::set, Scip::transprob, Scip::tree, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT(), and SCIPperformGenericDivingAlgorithm().

SCIP_Real SCIPgetAvgLowerbound ( SCIP scip)

gets average lower (dual) bound of all unprocessed nodes in transformed problem

Returns
the average lower (dual) bound of all unprocessed nodes in transformed problem
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38350 of file scip.c.

References checkStage(), SCIP_Primal::cutoffbound, FALSE, Scip::primal, SCIP_CALL_ABORT, SCIPtreeGetAvgLowerbound(), Scip::tree, and TRUE.

Referenced by SCIPperformGenericDivingAlgorithm().

SCIP_Real SCIPgetDualbound ( SCIP scip)

gets global dual bound

Returns
the global dual bound
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38372 of file scip.c.

References checkStage(), FALSE, getDualbound(), SCIP_CALL_ABORT, and TRUE.

Referenced by createObjRow(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), and SCIPperformGenericDivingAlgorithm().

SCIP_Real SCIPgetLowerbound ( SCIP scip)

gets global lower (dual) bound in transformed problem

Returns
the global lower (dual) bound in transformed problem
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38393 of file scip.c.

References checkStage(), FALSE, getLowerbound(), SCIP_CALL_ABORT, and TRUE.

Referenced by applyVbounds(), computeCut(), createSubscip(), exitPresolve(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NODESELSELECT(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPperformGenericDivingAlgorithm(), SCIPpriceLoop(), SCIPsolveIsStopped(), SCIPstoreSolutionGap(), solveSubMIP(), and solveSubproblem().

SCIP_Real SCIPgetDualboundRoot ( SCIP scip)

gets dual bound of the root node for the original problem

Returns
the dual bound of the root node for the original problem
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38414 of file scip.c.

References checkStage(), FALSE, getPrimalbound(), Scip::origprob, SCIP_Stat::rootlowerbound, SCIP_CALL_ABORT, SCIPprobExternObjval(), SCIPsetIsInfinity(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

Referenced by printRootStatistics().

SCIP_Real SCIPgetLowerboundRoot ( SCIP scip)

gets lower (dual) bound in transformed problem of the root node

Returns
the lower (dual) bound in transformed problem of the root node
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38438 of file scip.c.

References checkStage(), FALSE, getUpperbound(), SCIP_Stat::rootlowerbound, SCIP_CALL_ABORT, SCIPsetIsInfinity(), Scip::set, Scip::stat, and TRUE.

Referenced by nodeGetUctScore().

SCIP_Real SCIPgetFirstLPDualboundRoot ( SCIP scip)

gets dual bound for the original problem obtained by the first LP solve at the root node

Returns
the dual bound for the original problem of the first LP solve at the root node
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38462 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::firstlpdualbound, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by printRootStatistics().

SCIP_Real SCIPgetFirstLPLowerboundRoot ( SCIP scip)

gets lower (dual) bound in transformed problem obtained by the first LP solve at the root node

Returns
the lower (dual) bound in transformed problem obtained by first LP solve at the root node
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38483 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::firstlpdualbound, Scip::origprob, SCIP_CALL_ABORT, SCIP_INVALID, SCIPinfinity(), SCIPprobInternObjval(), Scip::set, Scip::stat, Scip::transprob, and TRUE.

SCIP_Real SCIPgetPrimalbound ( SCIP scip)

gets global primal bound (objective value of best solution or user objective limit) for the original problem

Returns
the global primal bound (objective value of best solution or user objective limit) for the original problem
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38510 of file scip.c.

References checkStage(), FALSE, getPrimalbound(), SCIP_CALL_ABORT, and TRUE.

Referenced by applyOfins(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyProximity(), and SCIPapplyRens().

SCIP_Real SCIPgetUpperbound ( SCIP scip)

gets global upper (primal) bound in transformed problem (objective value of best solution or user objective limit)

Returns
the global upper (primal) bound in transformed problem (objective value of best solution or user objective limit)
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38534 of file scip.c.

References checkStage(), FALSE, getUpperbound(), SCIP_CALL_ABORT, and TRUE.

Referenced by applyVbounds(), computeCut(), createSubproblem(), createSubscip(), exitPresolve(), proposeFeasibleSolution(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPmakeSOS1sFeasible(), SCIPpriceLoop(), SCIPsolveIsStopped(), SCIPstoreSolutionGap(), solveSubMIP(), solveSubproblem(), and updateObjUpperbound().

SCIP_Real SCIPgetCutoffbound ( SCIP scip)

gets global cutoff bound in transformed problem: a sub problem with lower bound larger than the cutoff cannot contain a better feasible solution; usually, this bound is equal to the upper bound, but if the objective value is always integral, the cutoff bound is (nearly) one less than the upper bound; additionally, due to objective function domain propagation, the cutoff bound can be further reduced

Returns
global cutoff bound in transformed problem
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38561 of file scip.c.

References checkStage(), SCIP_Primal::cutoffbound, FALSE, Scip::primal, SCIP_CALL_ABORT, and TRUE.

Referenced by branch(), execGenVBounds(), execRelpscost(), performLPRandRounding(), performLPSimpleRounding(), performStrongbranchWithPropagation(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NODESELSELECT(), SCIPgetVarStrongbranchWithPropagation(), SCIPperformGenericDivingAlgorithm(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPsolveDiveLP(), SCIPupdateCutoffbound(), selectEssentialRounding(), selectRounding(), selectVarMultAggrBranching(), and solveProbingLP().

SCIP_RETCODE SCIPupdateCutoffbound ( SCIP scip,
SCIP_Real  cutoffbound 
)

updates the cutoff bound

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Note
using this method in the solving stage can lead to an erroneous SCIP solving status; in particular, if a solution not respecting the cutoff bound was found before installing a cutoff bound which renders the remaining problem infeasible, this solution may be reported as optimal
Precondition
This method can be called if SCIP is in one of the following stages:
Note
the given cutoff bound has to better or equal to known one (SCIPgetCutoffbound())
a given cutoff bound is also used for updating the objective limit, if possible
Parameters
scipSCIP data structure
cutoffboundnew cutoff bound

Definition at line 38589 of file scip.c.

References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPgetCutoffbound(), SCIPprimalSetCutoffbound(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

SCIP_Bool SCIPisPrimalboundSol ( SCIP scip)

returns whether the current primal bound is justified with a feasible primal solution; if not, the primal bound was set from the user as objective limit

Returns
TRUE if the current primal bound is justified with a feasible primal solution, otherwise FALSE
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38621 of file scip.c.

References checkStage(), FALSE, Scip::origprob, Scip::primal, SCIP_CALL_ABORT, SCIPprimalUpperboundIsSol(), Scip::set, Scip::transprob, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT().

SCIP_Real SCIPgetGap ( SCIP scip)

gets current gap |(primalbound - dualbound)/min(|primalbound|,|dualbound|)| if both bounds have same sign, or infinity, if they have opposite sign

Returns
the current gap |(primalbound - dualbound)/min(|primalbound|,|dualbound|)| if both bounds have same sign, or infinity, if they have opposite sign
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38643 of file scip.c.

References checkStage(), FALSE, getDualbound(), getLowerbound(), getPrimalbound(), MIN, REALABS, SCIP_CALL_ABORT, SCIP_Real, SCIP_STATUS_INFORUNBD, SCIPgetStatus(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsZero(), Scip::set, and TRUE.

Referenced by displayRelevantStats(), printSolutionStatistics(), SCIP_DECL_DISPOUTPUT(), SCIPapplyHeurDualval(), SCIPapplyProximity(), and SCIPsolveIsStopped().

SCIP_Real SCIPgetTransGap ( SCIP scip)

gets current gap |(upperbound - lowerbound)/min(|upperbound|,|lowerbound|)| in transformed problem if both bounds have same sign, or infinity, if they have opposite sign

Returns
current gap |(upperbound - lowerbound)/min(|upperbound|,|lowerbound|)| in transformed problem if both bounds have same sign, or infinity, if they have opposite sign
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38694 of file scip.c.

References checkStage(), FALSE, getLowerbound(), getUpperbound(), MIN, REALABS, SCIP_CALL_ABORT, SCIP_Real, SCIP_STATUS_INFORUNBD, SCIPgetStatus(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsZero(), Scip::set, and TRUE.

SCIP_Longint SCIPgetNSolsFound ( SCIP scip)

gets number of feasible primal solutions found so far

Returns
the number of feasible primal solutions found so far
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38746 of file scip.c.

References checkStage(), FALSE, SCIP_Primal::nsolsfound, Scip::primal, SCIP_CALL_ABORT, and TRUE.

Referenced by SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NODESELSELECT(), SCIPapplyProximity(), SCIPapplyZeroobj(), and SCIPperformGenericDivingAlgorithm().

SCIP_Longint SCIPgetNLimSolsFound ( SCIP scip)

gets number of feasible primal solutions respecting the objective limit found so far

Returns
the number of feasible primal solutions respecting the objective limit found so far
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38770 of file scip.c.

References checkStage(), FALSE, SCIP_Primal::nlimsolsfound, Scip::primal, SCIP_CALL_ABORT, and TRUE.

Referenced by SCIPsolveIsStopped().

SCIP_Longint SCIPgetNBestSolsFound ( SCIP scip)

gets number of feasible primal solutions found so far, that improved the primal bound at the time they were found

Returns
the number of feasible primal solutions found so far, that improved the primal bound at the time they were found
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38794 of file scip.c.

References checkStage(), FALSE, SCIP_Primal::nbestsolsfound, Scip::primal, SCIP_CALL_ABORT, and TRUE.

Referenced by SCIPperformGenericDivingAlgorithm(), and SCIPsolveIsStopped().

SCIP_Real SCIPgetAvgPseudocost ( SCIP scip,
SCIP_Real  solvaldelta 
)

gets the average pseudo cost value for the given direction over all variables

Returns
the average pseudo cost value for the given direction over all variables
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solvaldeltadifference of variable's new LP value - old LP value

Definition at line 38811 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistory, SCIP_CALL_ABORT, SCIPhistoryGetPseudocost(), Scip::stat, and TRUE.

SCIP_Real SCIPgetAvgPseudocostCurrentRun ( SCIP scip,
SCIP_Real  solvaldelta 
)

gets the average pseudo cost value for the given direction over all variables, only using the pseudo cost information of the current run

Returns
the average pseudo cost value for the given direction over all variables, only using the pseudo cost information of the current run
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solvaldeltadifference of variable's new LP value - old LP value

Definition at line 38831 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistorycrun, SCIP_CALL_ABORT, SCIPhistoryGetPseudocost(), Scip::stat, and TRUE.

SCIP_Real SCIPgetAvgPseudocostCount ( SCIP scip,
SCIP_BRANCHDIR  dir 
)

gets the average number of pseudo cost updates for the given direction over all variables

Returns
the average number of pseudo cost updates for the given direction over all variables
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
dirbranching direction (downwards, or upwards)

Definition at line 38849 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistory, MAX, SCIP_Prob::nbinvars, SCIP_Prob::nintvars, SCIP_CALL_ABORT, SCIPhistoryGetPseudocostCount(), Scip::stat, Scip::transprob, and TRUE.

SCIP_Real SCIPgetAvgPseudocostCountCurrentRun ( SCIP scip,
SCIP_BRANCHDIR  dir 
)

gets the average number of pseudo cost updates for the given direction over all variables, only using the pseudo cost information of the current run

Returns
the average number of pseudo cost updates for the given direction over all variables, only using the pseudo cost information of the current run
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
dirbranching direction (downwards, or upwards)

Definition at line 38870 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistorycrun, MAX, SCIP_Prob::nbinvars, SCIP_Prob::nintvars, SCIP_CALL_ABORT, SCIPhistoryGetPseudocostCount(), Scip::stat, Scip::transprob, and TRUE.

SCIP_Real SCIPgetAvgPseudocostScore ( SCIP scip)

gets the average pseudo cost score value over all variables, assuming a fractionality of 0.5

Returns
the average pseudo cost score value over all variables, assuming a fractionality of 0.5
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38889 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistory, NULL, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPhistoryGetPseudocost(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

SCIP_Real SCIPgetAvgPseudocostScoreCurrentRun ( SCIP scip)

gets the average pseudo cost score value over all variables, assuming a fractionality of 0.5, only using the pseudo cost information of the current run

Returns
the average pseudo cost score value over all variables, assuming a fractionality of 0.5, only using the pseudo cost information of the current run
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38914 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistorycrun, NULL, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPhistoryGetPseudocost(), Scip::set, Scip::stat, and TRUE.

SCIP_Real SCIPgetAvgConflictScore ( SCIP scip)

gets the average conflict score value over all variables

Returns
the average conflict score value over all variables
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38937 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistory, NULL, SCIP_Prob::nvars, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPhistoryGetVSIDS(), Scip::set, Scip::stat, Scip::transprob, TRUE, and SCIP_Stat::vsidsweight.

Referenced by execRelpscost().

SCIP_Real SCIPgetAvgConflictScoreCurrentRun ( SCIP scip)

gets the average conflict score value over all variables, only using the pseudo cost information of the current run

Returns
the average conflict score value over all variables, only using the pseudo cost information of the current run
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38962 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistorycrun, NULL, SCIP_Prob::nvars, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPhistoryGetVSIDS(), Scip::set, Scip::stat, Scip::transprob, TRUE, and SCIP_Stat::vsidsweight.

SCIP_Real SCIPgetAvgConflictlengthScore ( SCIP scip)

gets the average inference score value over all variables

Returns
the average inference score value over all variables
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 38987 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistory, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPhistoryGetAvgConflictlength(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

SCIP_Real SCIPgetAvgConflictlengthScoreCurrentRun ( SCIP scip)

gets the average conflictlength score value over all variables, only using the pseudo cost information of the current run

Returns
the average conflictlength score value over all variables, only using the pseudo cost information of the current run
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 39012 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistorycrun, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPhistoryGetAvgConflictlength(), Scip::set, Scip::stat, and TRUE.

SCIP_Real SCIPgetAvgInferences ( SCIP scip,
SCIP_BRANCHDIR  dir 
)

returns the average number of inferences found after branching in given direction over all variables

Returns
the average number of inferences found after branching in given direction over all variables
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
dirbranching direction (downwards, or upwards)

Definition at line 39035 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistory, SCIP_CALL_ABORT, SCIPhistoryGetAvgInferences(), Scip::stat, and TRUE.

SCIP_Real SCIPgetAvgInferencesCurrentRun ( SCIP scip,
SCIP_BRANCHDIR  dir 
)

returns the average number of inferences found after branching in given direction over all variables, only using the pseudo cost information of the current run

Returns
the average number of inferences found after branching in given direction over all variables, only using the pseudo cost information of the current run
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
dirbranching direction (downwards, or upwards)

Definition at line 39055 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistorycrun, SCIP_CALL_ABORT, SCIPhistoryGetAvgInferences(), Scip::stat, and TRUE.

SCIP_Real SCIPgetAvgInferenceScore ( SCIP scip)

gets the average inference score value over all variables

Returns
the average inference score value over all variables
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 39073 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistory, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPhistoryGetAvgInferences(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

SCIP_Real SCIPgetAvgInferenceScoreCurrentRun ( SCIP scip)

gets the average inference score value over all variables, only using the inference information information of the current run

Returns
the average inference score value over all variables, only using the inference information information of the current run
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 39098 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistorycrun, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPhistoryGetAvgInferences(), Scip::set, Scip::stat, and TRUE.

SCIP_Real SCIPgetAvgCutoffs ( SCIP scip,
SCIP_BRANCHDIR  dir 
)

returns the average number of cutoffs found after branching in given direction over all variables

Returns
the average number of cutoffs found after branching in given direction over all variables
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
dirbranching direction (downwards, or upwards)

Definition at line 39121 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistory, SCIP_CALL_ABORT, SCIPhistoryGetAvgCutoffs(), Scip::stat, and TRUE.

SCIP_Real SCIPgetAvgCutoffsCurrentRun ( SCIP scip,
SCIP_BRANCHDIR  dir 
)

returns the average number of cutoffs found after branching in given direction over all variables, only using the pseudo cost information of the current run

Returns
the average number of cutoffs found after branching in given direction over all variables, only using the pseudo cost information of the current run
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
dirbranching direction (downwards, or upwards)

Definition at line 39141 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistorycrun, SCIP_CALL_ABORT, SCIPhistoryGetAvgCutoffs(), Scip::stat, and TRUE.

SCIP_Real SCIPgetAvgCutoffScore ( SCIP scip)

gets the average cutoff score value over all variables

Returns
the average cutoff score value over all variables
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 39159 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistory, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPhistoryGetAvgCutoffs(), Scip::set, Scip::stat, and TRUE.

Referenced by execRelpscost().

SCIP_Real SCIPgetAvgCutoffScoreCurrentRun ( SCIP scip)

gets the average cutoff score value over all variables, only using the pseudo cost information of the current run

Returns
the average cutoff score value over all variables, only using the pseudo cost information of the current run
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 39182 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistorycrun, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL_ABORT, SCIP_Real, SCIPbranchGetScore(), SCIPhistoryGetAvgCutoffs(), Scip::set, Scip::stat, and TRUE.

static SCIP_RETCODE printProblem ( SCIP scip,
SCIP_PROB prob,
FILE *  file,
const char *  extension,
SCIP_Bool  genericnames 
)
static

outputs problem to file stream

Parameters
scipSCIP data structure
probproblem data
fileoutput file (or NULL for standard output)
extensionfile format (or NULL for default CIP format)
genericnamesusing generic variable and constraint names?

Definition at line 39199 of file scip.c.

References SCIP_Set::nreaders, NULL, SCIP_Set::readers, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_READERROR, SCIP_SUCCESS, SCIP_WRITEERROR, SCIPerrorMessage, SCIPreaderGetName(), SCIPreaderWrite(), and Scip::set.

Referenced by SCIPprintOrigProblem(), and SCIPprintTransProblem().

SCIP_RETCODE SCIPprintOrigProblem ( SCIP scip,
FILE *  file,
const char *  extension,
SCIP_Bool  genericnames 
)

outputs original problem to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)
extensionfile format (or NULL for default CIP format)
genericnamesusing generic variable and constraint names?

Definition at line 39265 of file scip.c.

References checkStage(), FALSE, NULL, Scip::origprob, printProblem(), SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_WRITEERROR, and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_READERWRITE(), SCIPwriteOpb(), separateBySolvingAuxIP(), and writeProblem().

SCIP_RETCODE SCIPprintTransProblem ( SCIP scip,
FILE *  file,
const char *  extension,
SCIP_Bool  genericnames 
)

outputs transformed problem of the current node to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)
extensionfile format (or NULL for default CIP format)
genericnamesusing generic variable and constraint names?

Definition at line 39309 of file scip.c.

References checkStage(), FALSE, NULL, printProblem(), SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_WRITEERROR, Scip::transprob, and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_READERWRITE(), SCIPwriteOpb(), and writeProblem().

static void printPresolverStatistics ( SCIP scip,
FILE *  file 
)
static
Parameters
scipSCIP data structure
fileoutput file

Definition at line 39337 of file scip.c.

References SCIP_Set::conshdlrs, Scip::messagehdlr, SCIP_Set::nconshdlrs, SCIP_Set::npresols, SCIP_Set::nprops, SCIP_Stat::nrootboundchgs, SCIP_Stat::nrootintfixings, NULL, SCIP_Set::presols, SCIP_Set::props, SCIPconshdlrDoesPresolve(), SCIPconshdlrGetMaxNActiveConss(), SCIPconshdlrGetNAddConss(), SCIPconshdlrGetNAddHoles(), SCIPconshdlrGetNAggrVars(), SCIPconshdlrGetName(), SCIPconshdlrGetNChgBds(), SCIPconshdlrGetNChgCoefs(), SCIPconshdlrGetNChgSides(), SCIPconshdlrGetNChgVarTypes(), SCIPconshdlrGetNDelConss(), SCIPconshdlrGetNFixedVars(), SCIPconshdlrGetNPresolCalls(), SCIPconshdlrGetNUpgdConss(), SCIPconshdlrGetPresolTime(), SCIPconshdlrGetSetupTime(), SCIPconshdlrNeedsCons(), SCIPmessageFPrintInfo(), SCIPpresolGetNAddConss(), SCIPpresolGetNAddHoles(), SCIPpresolGetNAggrVars(), SCIPpresolGetName(), SCIPpresolGetNCalls(), SCIPpresolGetNChgBds(), SCIPpresolGetNChgCoefs(), SCIPpresolGetNChgSides(), SCIPpresolGetNChgVarTypes(), SCIPpresolGetNDelConss(), SCIPpresolGetNFixedVars(), SCIPpresolGetSetupTime(), SCIPpresolGetTime(), SCIPpropDoesPresolve(), SCIPpropGetNAddConss(), SCIPpropGetNAddHoles(), SCIPpropGetNAggrVars(), SCIPpropGetName(), SCIPpropGetNChgBds(), SCIPpropGetNChgCoefs(), SCIPpropGetNChgSides(), SCIPpropGetNChgVarTypes(), SCIPpropGetNDelConss(), SCIPpropGetNFixedVars(), SCIPpropGetNPresolCalls(), SCIPpropGetPresolTime(), SCIPpropGetSetupTime(), SCIPsetSortPresolsName(), SCIPsetSortPropsName(), Scip::set, and Scip::stat.

Referenced by SCIPprintStatistics().

static void printPropagatorStatistics ( SCIP scip,
FILE *  file 
)
static
static void printConflictStatistics ( SCIP scip,
FILE *  file 
)
static

print conflict statistic to given output stream

Parameters
scipSCIP data structure
fileoutput file

Definition at line 39591 of file scip.c.

References Scip::conflict, Scip::messagehdlr, SCIP_Real, SCIPconflictGetBoundexceedingLPTime(), SCIPconflictGetGlobalApplTime(), SCIPconflictGetInfeasibleLPTime(), SCIPconflictGetNAppliedGlobalConss(), SCIPconflictGetNAppliedGlobalLiterals(), SCIPconflictGetNAppliedLocalConss(), SCIPconflictGetNAppliedLocalLiterals(), SCIPconflictGetNBoundexceedingLPCalls(), SCIPconflictGetNBoundexceedingLPConflictConss(), SCIPconflictGetNBoundexceedingLPConflictLiterals(), SCIPconflictGetNBoundexceedingLPIterations(), SCIPconflictGetNBoundexceedingLPReconvergenceConss(), SCIPconflictGetNBoundexceedingLPReconvergenceLiterals(), SCIPconflictGetNBoundexceedingLPSuccess(), SCIPconflictGetNGlobalChgBds(), SCIPconflictGetNInfeasibleLPCalls(), SCIPconflictGetNInfeasibleLPConflictConss(), SCIPconflictGetNInfeasibleLPConflictLiterals(), SCIPconflictGetNInfeasibleLPIterations(), SCIPconflictGetNInfeasibleLPReconvergenceConss(), SCIPconflictGetNInfeasibleLPReconvergenceLiterals(), SCIPconflictGetNInfeasibleLPSuccess(), SCIPconflictGetNLocalChgBds(), SCIPconflictGetNPropCalls(), SCIPconflictGetNPropConflictConss(), SCIPconflictGetNPropConflictLiterals(), SCIPconflictGetNPropReconvergenceConss(), SCIPconflictGetNPropReconvergenceLiterals(), SCIPconflictGetNPropSuccess(), SCIPconflictGetNPseudoCalls(), SCIPconflictGetNPseudoConflictConss(), SCIPconflictGetNPseudoConflictLiterals(), SCIPconflictGetNPseudoReconvergenceConss(), SCIPconflictGetNPseudoReconvergenceLiterals(), SCIPconflictGetNPseudoSuccess(), SCIPconflictGetNStrongbranchCalls(), SCIPconflictGetNStrongbranchConflictConss(), SCIPconflictGetNStrongbranchConflictLiterals(), SCIPconflictGetNStrongbranchIterations(), SCIPconflictGetNStrongbranchReconvergenceConss(), SCIPconflictGetNStrongbranchReconvergenceLiterals(), SCIPconflictGetNStrongbranchSuccess(), SCIPconflictGetPropTime(), SCIPconflictGetPseudoTime(), SCIPconflictGetStrongbranchTime(), and SCIPmessageFPrintInfo().

Referenced by SCIPprintStatistics().

static void printCompressionStatistics ( SCIP scip,
FILE *  file 
)
static
static void printNLPStatistics ( SCIP scip,
FILE *  file 
)
static
Parameters
scipSCIP data structure
fileoutput file

Definition at line 39985 of file scip.c.

References Scip::messagehdlr, Scip::nlp, SCIP_Stat::nlpsoltime, SCIP_Stat::nnlps, NULL, SCIPclockGetTime(), SCIPmessageFPrintInfo(), and Scip::stat.

Referenced by SCIPprintStatistics().

static void printRelaxatorStatistics ( SCIP scip,
FILE *  file 
)
static
Parameters
scipSCIP data structure
fileoutput file

Definition at line 40004 of file scip.c.

References Scip::messagehdlr, SCIP_Set::nrelaxs, NULL, SCIP_Set::relaxs, SCIPmessageFPrintInfo(), SCIPrelaxGetName(), SCIPrelaxGetNCalls(), SCIPrelaxGetTime(), SCIPsetSortRelaxsName(), and Scip::set.

Referenced by SCIPprintStatistics().

static void printRootStatistics ( SCIP scip,
FILE *  file 
)
static
static void printTimingStatistics ( SCIP scip,
FILE *  file 
)
static
SCIP_RETCODE SCIPprintStatistics ( SCIP scip,
FILE *  file 
)

outputs solving statistics

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Note
If limits have been changed between the solution and the call to this function, the status is recomputed and thus may to correspond to the original status.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)

Definition at line 40329 of file scip.c.

References checkStage(), FALSE, Scip::messagehdlr, Scip::origprob, printBranchruleStatistics(), printCompressionStatistics(), printConflictStatistics(), printConstraintStatistics(), printConstraintTimingStatistics(), printHeuristicStatistics(), printLPStatistics(), printNLPStatistics(), printPresolverStatistics(), printPricerStatistics(), printPropagatorStatistics(), printRelaxatorStatistics(), printRootStatistics(), printSeparatorStatistics(), printSolutionStatistics(), printTimingStatistics(), printTreeStatistics(), SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INIT, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPerrorMessage, SCIPmessageFPrintInfo(), SCIPprintStage(), SCIPprobPrintStatistics(), Scip::set, SCIP_Set::stage, Scip::transprob, and TRUE.

Referenced by applyOfins(), applyVbounds(), copyAndSolveComponent(), fromCommandLine(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), solveSubproblem(), and solveSubscip().

SCIP_RETCODE SCIPprintBranchingStatistics ( SCIP scip,
FILE *  file 
)

outputs history statistics about branchings on variables

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)

Definition at line 40508 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::glbhistory, Scip::messagehdlr, SCIP_Prob::nvars, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INIT, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPallocBufferArray, SCIPerrorMessage, SCIPfreeBufferArray, SCIPgetVarNStrongbranchs(), SCIPhistoryGetCutoffSum(), SCIPhistoryGetInferenceSum(), SCIPhistoryGetNBranchings(), SCIPhistoryGetPseudocost(), SCIPhistoryGetPseudocostCount(), SCIPhistoryGetPseudocostVariance(), SCIPmessageFPrintInfo(), SCIPvarGetAvgBranchdepth(), SCIPvarGetAvgCutoffs(), SCIPvarGetAvgInferences(), SCIPvarGetBranchFactor(), SCIPvarGetBranchPriority(), SCIPvarGetName(), SCIPvarGetNBranchings(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetPseudocost(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostVariance(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, TRUE, and SCIP_Prob::vars.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPprintDisplayLine ( SCIP scip,
FILE *  file,
SCIP_VERBLEVEL  verblevel,
SCIP_Bool  endline 
)

outputs node information display line

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)
verblevelminimal verbosity level to actually display the information line
endlineshould the line be terminated with a newline symbol?

Definition at line 40623 of file scip.c.

References checkStage(), SCIP_Set::disp_verblevel, FALSE, Scip::messagehdlr, SCIP_CALL, SCIP_OKAY, SCIPdispPrintLine(), Scip::set, Scip::stat, and TRUE.

Referenced by SCIPselectVarPseudoStrongBranching(), and SCIPselectVarStrongBranching().

int SCIPgetNImplications ( SCIP scip)

gets total number of implications between variables that are stored in the implication graph

Returns
the total number of implications between variables that are stored in the implication graph
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 40653 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::nimplications, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by removeConstraintsDueToNegCliques(), SCIP_DECL_SEPAEXECLP(), SCIPcalcCliquePartition(), and shortenConss().

SCIP_RETCODE SCIPwriteImplicationConflictGraph ( SCIP scip,
const char *  filename 
)

stores conflict graph of binary variables' implications into a file, which can be used as input for the DOT tool

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Deprecated:
because binary implications are now stored as cliques, please use SCIPwriteCliqueGraph() instead
Parameters
scipSCIP data structure
filenamefile name, or NULL for stdout

Definition at line 40681 of file scip.c.

References SCIP_OKAY, and SCIPwarningMessage().

SCIP_Real SCIPgetTimeOfDay ( SCIP scip)

gets current time of day in seconds (standard time zone)

Returns
the current time of day in seconds (standard time zone).
Parameters
scipSCIP data structure

Definition at line 40702 of file scip.c.

References NULL, and SCIPclockGetTimeOfDay().

SCIP_RETCODE SCIPcreateClock ( SCIP scip,
SCIP_CLOCK **  clck 
)

creates a clock using the default clock type

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckpointer to clock timer

Definition at line 40716 of file scip.c.

References NULL, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, and SCIPclockCreate().

Referenced by applyVbounds(), SCIPapplyUndercover(), and SCIPincludeBranchruleCloud().

SCIP_RETCODE SCIPcreateCPUClock ( SCIP scip,
SCIP_CLOCK **  clck 
)

creates a clock counting the CPU user seconds

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckpointer to clock timer

Definition at line 40733 of file scip.c.

References NULL, SCIP_CALL, SCIP_CLOCKTYPE_CPU, SCIP_OKAY, and SCIPclockCreate().

SCIP_RETCODE SCIPcreateWallClock ( SCIP scip,
SCIP_CLOCK **  clck 
)

creates a clock counting the wall clock seconds

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckpointer to clock timer

Definition at line 40750 of file scip.c.

References NULL, SCIP_CALL, SCIP_CLOCKTYPE_WALL, SCIP_OKAY, and SCIPclockCreate().

SCIP_RETCODE SCIPfreeClock ( SCIP scip,
SCIP_CLOCK **  clck 
)

frees a clock

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckpointer to clock timer

Definition at line 40767 of file scip.c.

References NULL, SCIP_OKAY, and SCIPclockFree().

Referenced by applyVbounds(), SCIP_DECL_BRANCHFREE(), and SCIPapplyUndercover().

SCIP_RETCODE SCIPresetClock ( SCIP scip,
SCIP_CLOCK clck 
)

resets the time measurement of a clock to zero and completely stops the clock

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckclock timer

Definition at line 40784 of file scip.c.

References NULL, SCIP_OKAY, and SCIPclockReset().

Referenced by SCIP_DECL_BRANCHINIT(), and updateTimelimit().

SCIP_RETCODE SCIPstartClock ( SCIP scip,
SCIP_CLOCK clck 
)

starts the time measurement of a clock

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckclock timer

Definition at line 40801 of file scip.c.

References NULL, SCIP_OKAY, SCIPclockStart(), and Scip::set.

Referenced by applyVbounds(), SCIP_DECL_BRANCHEXECLP(), SCIPapplyUndercover(), and updateTimelimit().

SCIP_RETCODE SCIPstopClock ( SCIP scip,
SCIP_CLOCK clck 
)

stops the time measurement of a clock

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckclock timer

Definition at line 40818 of file scip.c.

References NULL, SCIP_OKAY, SCIPclockStop(), and Scip::set.

Referenced by applyVbounds(), and SCIP_DECL_BRANCHEXECLP().

SCIP_RETCODE SCIPenableOrDisableStatisticTiming ( SCIP scip)

enables or disables all statistic clocks of SCIP concerning plugin statistics, LP execution time, strong branching time, etc.

Method reads the value of the parameter timing/statistictiming. In order to disable statistic timing, set the parameter to FALSE.

Note
: The (pre-)solving time clocks which are relevant for the output during (pre-)solving are not affected by this method
See also
: For completely disabling all timing of SCIP, consider setting the parameter timing/enabled to FALSE
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 40858 of file scip.c.

References checkStage(), Scip::conflict, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_TRANSFORMING, SCIPconflictEnableOrDisableClocks(), SCIPsetEnableOrDisablePluginClocks(), SCIPstatEnableOrDisableStatClocks(), Scip::set, SCIP_Set::stage, Scip::stat, SCIP_Set::time_statistictiming, and TRUE.

Referenced by SCIPsetSetReoptimizationParams().

SCIP_RETCODE SCIPstartSolvingTime ( SCIP scip)

starts the current solving time

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 40901 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), Scip::set, SCIP_Stat::solvingtime, SCIP_Stat::solvingtimeoverall, Scip::stat, and TRUE.

SCIP_RETCODE SCIPstopSolvingTime ( SCIP scip)

stops the current solving time in seconds

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 40934 of file scip.c.

References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPclockStop(), Scip::set, SCIP_Stat::solvingtime, SCIP_Stat::solvingtimeoverall, Scip::stat, and TRUE.

SCIP_Real SCIPgetClockTime ( SCIP scip,
SCIP_CLOCK clck 
)

gets the measured time of a clock in seconds

Returns
the measured time of a clock in seconds.
Parameters
scipSCIP data structure
clckclock timer

Definition at line 40950 of file scip.c.

References NULL, and SCIPclockGetTime().

Referenced by SCIP_DECL_BRANCHFREE(), SCIPapplyUndercover(), and updateTimelimit().

SCIP_RETCODE SCIPsetClockTime ( SCIP scip,
SCIP_CLOCK clck,
SCIP_Real  sec 
)

sets the measured time of a clock to the given value in seconds

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckclock timer
sectime in seconds to set the clock's timer to

Definition at line 40965 of file scip.c.

References NULL, SCIP_OKAY, and SCIPclockSetTime().

SCIP_Real SCIPgetTotalTime ( SCIP scip)

gets the current total SCIP time in seconds, possibly accumulated over several problems.

Returns
the current total SCIP time in seconds, ie. the total time since the SCIP instance has been created
Parameters
scipSCIP data structure

Definition at line 40982 of file scip.c.

References NULL, SCIPclockGetTime(), and Scip::totaltime.

SCIP_Real SCIPgetReadingTime ( SCIP scip)

gets the current reading time in seconds

Returns
the current reading time in seconds.
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 41036 of file scip.c.

References checkStage(), FALSE, SCIP_Set::nreaders, NULL, SCIP_Set::readers, SCIP_CALL_ABORT, SCIP_Real, SCIPisNegative(), SCIPreaderGetReadingTime(), Scip::set, and TRUE.

Referenced by printTimingStatistics(), and SCIPreadProb().

SCIP_Real SCIPgetPresolvingTime ( SCIP scip)

gets the current presolving time in seconds

Returns
the current presolving time in seconds.
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 41073 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::presolvingtime, SCIP_CALL_ABORT, SCIPclockGetTime(), Scip::stat, and TRUE.

Referenced by SCIPapplyProximity().

SCIP_Real SCIPgetFirstLPTime ( SCIP scip)

gets the time need to solve the first LP in the root node

Returns
the solving time for the first LP in the root node in seconds.
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 41099 of file scip.c.

References checkStage(), FALSE, SCIP_Stat::firstlptime, SCIP_CALL_ABORT, Scip::stat, and TRUE.

Referenced by printRootStatistics(), and SCIP_DECL_SEPAEXECLP().

SCIP_Real SCIPsumepsilon ( SCIP scip)

returns value treated as zero for sums of floating point values

Returns
value treated as zero for sums of floating point values
Parameters
scipSCIP data structure

Definition at line 41132 of file scip.c.

References NULL, SCIPsetSumepsilon(), and Scip::set.

Referenced by addCut(), applyVbounds(), chooseVeclenVar(), createCGCutCMIR(), createCGCutStrongCG(), evaluateCutNumerics(), generateDisjCutSOS1(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getVectorOfWeights(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPapplyHeurSubNlp(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPincludeHeurMutation(), solveCoveringProblem(), and solveSubMIP().

SCIP_Real SCIPfeastol ( SCIP scip)
SCIP_Real SCIPlpfeastol ( SCIP scip)

returns primal feasibility tolerance of LP solver

Returns
primal feasibility tolerance of LP solver
Parameters
scipSCIP data structure

Definition at line 41160 of file scip.c.

References NULL, SCIPsetLpfeastol(), and Scip::set.

SCIP_Real SCIPdualfeastol ( SCIP scip)

returns feasibility tolerance for reduced costs

Returns
feasibility tolerance for reduced costs
Parameters
scipSCIP data structure

Definition at line 41174 of file scip.c.

References NULL, SCIPsetDualfeastol(), and Scip::set.

SCIP_Real SCIPbarrierconvtol ( SCIP scip)

returns convergence tolerance used in barrier algorithm

Returns
convergence tolerance used in barrier algorithm
Parameters
scipSCIP data structure

Definition at line 41188 of file scip.c.

References NULL, SCIPsetBarrierconvtol(), and Scip::set.

SCIP_Real SCIPcutoffbounddelta ( SCIP scip)

return the cutoff bound delta

Returns
cutoff bound data
Parameters
scipSCIP data structure

Definition at line 41202 of file scip.c.

References NULL, SCIPsetCutoffbounddelta(), and Scip::set.

Referenced by updateObjUpperbound().

SCIP_RETCODE SCIPchgFeastol ( SCIP scip,
SCIP_Real  feastol 
)

sets the feasibility tolerance for constraints

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
feastolnew feasibility tolerance for constraints

Definition at line 41217 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPsetSetFeastol(), and Scip::set.

Referenced by displayRelevantStats(), and SCIP_DECL_DIALOGEXEC().

SCIP_RETCODE SCIPchgLpfeastol ( SCIP scip,
SCIP_Real  lpfeastol,
SCIP_Bool  printnewvalue 
)

sets the primal feasibility tolerance of LP solver

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
lpfeastolnew primal feasibility tolerance of LP solver
printnewvalueshould "numerics/lpfeastol = ..." be printed?

Definition at line 41235 of file scip.c.

References FALSE, Scip::lp, SCIP_Lp::lpsolstat, NULL, SCIP_CALL, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIPsetLpfeastol(), SCIPsetSetLpfeastol(), Scip::set, and SCIP_Lp::solved.

Referenced by calcGrowSize(), and SCIPsetCalcMemGrowSize().

SCIP_RETCODE SCIPchgDualfeastol ( SCIP scip,
SCIP_Real  dualfeastol 
)

sets the feasibility tolerance for reduced costs

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
dualfeastolnew feasibility tolerance for reduced costs

Definition at line 41261 of file scip.c.

References FALSE, Scip::lp, SCIP_Lp::lpsolstat, NULL, SCIP_CALL, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIPsetDualfeastol(), SCIPsetSetDualfeastol(), Scip::set, and SCIP_Lp::solved.

Referenced by calcGrowSize().

SCIP_RETCODE SCIPchgBarrierconvtol ( SCIP scip,
SCIP_Real  barrierconvtol 
)

sets the convergence tolerance used in barrier algorithm

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
barrierconvtolnew convergence tolerance used in barrier algorithm

Definition at line 41286 of file scip.c.

References FALSE, SCIP_Lp::lastlpalgo, Scip::lp, NULL, SCIP_CALL, SCIP_LPALGO_BARRIER, SCIP_LPALGO_BARRIERCROSSOVER, SCIP_OKAY, SCIPsetBarrierconvtol(), SCIPsetSetBarrierconvtol(), Scip::set, and SCIP_Lp::solved.

Referenced by calcGrowSize().

void SCIPmarkLimitChanged ( SCIP scip)

marks that some limit parameter was changed

Parameters
scipSCIP data structure

Definition at line 41305 of file scip.c.

References NULL, SCIPsetSetLimitChanged(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

void SCIPprintReal ( SCIP scip,
FILE *  file,
SCIP_Real  val,
int  width,
int  precision 
)

outputs a real number, or "+infinity", or "-infinity" to a file

Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)
valvalue to print
widthwidth of the field
precisionnumber of significant digits printed

Definition at line 41316 of file scip.c.

References Scip::messagehdlr, NULL, SCIP_MAXSTRLEN, SCIPmessageFPrintInfo(), SCIPsetIsInfinity(), SCIPsnprintf(), and Scip::set.

Referenced by SCIPprintSol(), and SCIPprintTransSol().

BMS_BLKMEM* SCIPblkmem ( SCIP scip)

returns block memory to use at the current time

Returns
the block memory to use at the current time.
Parameters
scipSCIP data structure

Definition at line 41353 of file scip.c.

References Scip::mem, NULL, SCIP_Mem::probmem, and Scip::set.

Referenced by applyOfins(), applyVbounds(), checkCurvature(), checkOverloadViaThetaTree(), checkSystemGF2(), checkVarnames(), collectBranchingCands(), consdataAddExprtrees(), copyAndSolveComponent(), copyProb(), copyVars(), createConsFromQuadTerm(), createCoveringProblem(), createExprtreeFromMonomial(), createNlRow(), createStartingData(), createSubSCIP(), createTcliqueGraph(), findCumulativeConss(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateUnderestimatorParallelYFacets(), initAlternativeLP(), initConflictgraph(), initData(), inithashmapandtable(), initImplGraphSOS1(), initPropdata(), initSepaData(), initSepaDataCreateVred(), nodepairqueueCreate(), preprocessCliques(), presoldataInitHashtables(), presolRoundVarsSOS1(), presolveDisaggregate(), presolveFindDuplicates(), readExpression(), readNonlinearExprs(), readPolynomial(), reformMonomial(), reformulate(), removeDoubleAndSingletonsAndPerformDualpresolve(), removeFixedVariables(), removeRedundantConssAndNonzeros(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPARSE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEURINIT(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_READERREAD(), SCIP_DECL_READERWRITE(), SCIPaddNlRow(), SCIPaddObjoffset(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPchgConsName(), SCIPchgVarName(), SCIPchgVarObjDiveNLP(), SCIPcopy(), SCIPcopyConss(), SCIPcopyOrig(), SCIPcopyOrigConss(), SCIPcreate(), SCIPcreateBoolarray(), SCIPcreateConsBivariate(), SCIPcreateConsLinking(), SCIPcreateConsQuadratic(), SCIPcreateFiniteSolCopy(), SCIPcreateIntarray(), SCIPcreatePtrarray(), SCIPcreateRealarray(), SCIPcreateWorstCaseProfile(), SCIPendDiveNLP(), SCIPensureBlockMemoryArray_call(), SCIPgetConsCopy(), SCIPgetNLPFracVars(), SCIPgetVarCopy(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrNonlinear(), SCIPincludeDefaultPlugins(), SCIPinitVarValueBranchStats(), SCIPremoveVarFromGlobalStructures(), SCIPsetCopyPlugins(), SCIPsetNLPInitialGuess(), SCIPsetNLPInitialGuessSol(), SCIPsolveDiveNLP(), SCIPsolveNLP(), SCIPstartDiveNLP(), SCIPvisualizeConsCumulative(), SCIPwriteCliqueGraph(), SCIPwriteLp(), SCIPwritePip(), searchEcAggrWithCliques(), setUpEvents(), setupProbingSCIP(), solveSubMIP(), solveSubproblem(), splitProblem(), and writeOpbConstraints().

BMS_BUFMEM* SCIPbuffer ( SCIP scip)

returns buffer memory for short living temporary objects

Returns
the buffer memory for short living temporary objects
Parameters
scipSCIP data structure

Definition at line 41368 of file scip.c.

References SCIP_Mem::buffer, Scip::mem, and NULL.

Referenced by exitPresolve(), initPresolve(), presolve(), presolveRound(), SCIPprintMemoryDiagnostic(), and SCIPsetCopyPlugins().

BMS_BUFMEM* SCIPcleanbuffer ( SCIP scip)

returns clean buffer memory for short living temporary objects initialized to all zero

Returns
the buffer memory for short living temporary objects initialized to all zero
Parameters
scipSCIP data structure

Definition at line 41382 of file scip.c.

References SCIP_Mem::cleanbuffer, Scip::mem, and NULL.

Referenced by exitPresolve(), initPresolve(), presolve(), presolveRound(), SCIPprintMemoryDiagnostic(), and SCIPsetCopyPlugins().

SCIP_Longint SCIPgetMemUsed ( SCIP scip)

returns the total number of bytes used in block and buffer memory

Returns
the total number of bytes used in block and buffer memory.
Parameters
scipSCIP data structure

Definition at line 41396 of file scip.c.

References Scip::mem, NULL, and SCIPmemGetUsed().

Referenced by applyOfins(), applyVbounds(), checkArraySizesGLS(), checkArraySizesHeur(), copyAndSolveComponent(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPcomputeCoverUndercover(), SCIPsolveIsStopped(), SCIPtransformProb(), solveIndependentCons(), solveSubMIP(), and solveSubscip().

SCIP_Longint SCIPgetMemExternEstim ( SCIP scip)

returns the estimated number of bytes used by external software, e.g., the LP solver

Returns
the estimated number of bytes used by external software, e.g., the LP solver.
Parameters
scipSCIP data structure

Definition at line 41409 of file scip.c.

References NULL, SCIPsetGetMemExternEstim(), and Scip::set.

Referenced by applyOfins(), applyVbounds(), checkArraySizesGLS(), checkArraySizesHeur(), copyAndSolveComponent(), SCIP_DECL_HEUREXEC(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPcomputeCoverUndercover(), solveIndependentCons(), solveSubMIP(), and solveSubscip().

SCIP_RETCODE SCIPensureBlockMemoryArray_call ( SCIP scip,
void **  arrayptr,
size_t  elemsize,
int *  arraysize,
int  minsize 
)

extends a dynamically allocated block memory array to be able to store at least the given number of elements; use SCIPensureBlockMemoryArray() define to call this method!

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
arrayptrpointer to dynamically sized array
elemsizesize in bytes of each element in array
arraysizepointer to current array size
minsizerequired minimal array size

Definition at line 41438 of file scip.c.

References BMSreallocBlockMemorySize, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPblkmem(), SCIPsetCalcMemGrowSize(), and Scip::set.

void SCIPprintMemoryDiagnostic ( SCIP scip)

prints output about used memory

Parameters
scipSCIP data structure

Definition at line 41464 of file scip.c.

References BMSdisplayBlockMemory, BMSdisplayMemory, BMSprintBufferMemory(), Scip::mem, Scip::messagehdlr, NULL, SCIP_Mem::probmem, SCIPbuffer(), SCIPcleanbuffer(), SCIPmessagePrintInfo(), Scip::set, and SCIP_Mem::setmem.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_Bool SCIPisEQ ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if values are in range of epsilon

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41572 of file scip.c.

References NULL, SCIPsetIsEQ(), and Scip::set.

Referenced by addAltLPColumn(), addAltLPConstraint(), addAltLPRow(), addCoefTerm(), addConcaveEstimatorBivariate(), addConcaveEstimatorUnivariate(), addConflictBounds(), addConflictReasonVars(), addIntervalGradientEstimator(), addLinearization(), addVarbound(), adjustCutoffbound(), aggregateConstraints(), aggregation(), analyzeConflictLowerbound(), analyzeConflictUpperbound(), applyFixings(), calcPscostQuot(), calculateAlternatives(), catchEvent(), checkCons(), checkConsnames(), checkFixedVariables(), checkIISlocal(), checkSolution(), checkSystemGF2(), chgLhs(), chgRhs(), chooseFracVar(), chooseGuidedVar(), compareNodes(), computeCut(), computeImpliedEst(), computeImpliedLct(), computeRelaxedLowerbound(), computeRelaxedUpperbound(), computeViolation(), consdataFree(), consdataPrint(), constructSNFRelaxation(), copyAndSolveComponent(), correctLocksAndCaptures(), createAndAddLinearCons(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), createSubscip(), cutGenerationHeuristic(), detectDominatingVlbs(), detectDominatingVubs(), detectParallelCols(), displayRelevantStats(), dropEvent(), dualBoundStrengthening(), dualPresolve(), extractCapacityRows(), extractFlowRows(), findAggregation(), findDominancePairs(), findFixings(), fixAndPropagate(), forbidFixation(), generate1ConvexIndefiniteUnderestimatorAtBoundary(), generateConvexConcaveUnderestimator(), generateCut(), generateEstimatingHyperplane(), generateLinearizationCut(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateUnderestimatorParallelYFacets(), getActivities(), getBinVarsRepresentatives(), getGenVBoundsMinActivityConflict(), getLinVarsAndAndRess(), getMultiaggVars(), getRandomVariable(), impliesVlbPrecedenceCondition(), isCandidate(), isConvexLocal(), lifting(), nodeGetUctScore(), parseConstantArrayAssignment(), parseValue(), performBranching(), preprocessConstraintPairs(), presolRoundIndicator(), presolveDual(), presolveFindDuplicates(), presolveFindDuplicatesSolveEquations(), presolveFindDuplicatesUpgradeCons(), presolveSolve(), presolveTryAddLinearReform(), prettifyConss(), printActiveVariables(), printBoundSection(), printLinearCons(), printNonlinearCons(), printNonLinearCons(), printPseudobooleanCons(), printQuadraticCons(), printRangeSection(), printRowType(), printSignpowerCons(), propagateBoundsCons(), propagateCons(), propagateRedcostVar(), propagateVbounds(), propIndicator(), readConstraints(), readRanges(), reformMonomial(), registerBranchingCandidatesCentrality(), registerBranchingVariables(), registerLargeLPValueVariableForBranching(), resolveGenVBoundPropagation(), resolvePropagation(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPARSE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NODESELCOMP(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_READERWRITE(), SCIP_DECL_SEPAEXECLP(), SCIPaddCoefPseudoboolean(), SCIPaddConstantQuadratic(), SCIPanalyzeDeductionsProbing(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPchgVarObjProbing(), SCIPcomputeConvexEnvelopeFacet(), SCIPcreateConsAbspower(), SCIPcreateConsOrbitope(), SCIPcreateFiniteSolCopy(), SCIPcutGenerationHeuristicCmir(), SCIPmatrixGetParallelCols(), SCIPmatrixGetParallelRows(), SCIPpropagateProbing(), SCIPresolveSolHeurSubNlp(), SCIPwriteGms(), selectBranchVar(), selectShifting(), solveDerivativeEquation(), strengthenVarbounds(), tightenBounds(), tightenCoefs(), tightenVarsBoundsSOS1(), transformColumn(), tryDelta(), tryUpgradingLogicor(), tryUpgradingXor(), updateBestCandidate(), updateFirstRow(), updateObjUpperbound(), upgradeConss(), and writeFzn().

SCIP_Bool SCIPisLT ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if val1 is (more than epsilon) lower than val2

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41585 of file scip.c.

References NULL, SCIPsetIsLT(), and Scip::set.

Referenced by addBilinearTermToCut(), addConflictBounds(), addEdgeToAuxGraph(), addLinearizationCuts(), analyzeConflictUpperbound(), branch(), chgLhs(), chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), choosePscostVar(), chooseVeclenVar(), compareNodes(), computeSCTable(), constructSNFRelaxation(), copyAndSolveComponent(), createSubproblem(), createSubscip(), detectDominatingVlbs(), dualBoundStrengthening(), dualPresolve(), dualPresolving(), execRelpscost(), findDominancePairs(), generateCut(), generateCutLTIcomputeCoefs(), getClosestUb(), getClosestVub(), getPartitionCovervars(), impliesVlbPrecedenceCondition(), performDualfix(), performRandRounding(), performStrongbranchWithPropagation(), polishSolution(), predBndStr(), preprocessConstraintPairs(), preprocessRows(), presolveDual(), prettifyConss(), processBinvarFixings(), propagateCons(), propagateCutoffboundVar(), proposeBranchingPoint(), readBounds(), registerBranchingCandidates(), registerBranchingCandidatesGap(), resolveGenVBoundPropagation(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_NODESELCOMP(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIPaddCut(), SCIPapplyProbingVar(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPheurPassSolAddSol(), SCIPheurPassSolTrySol(), SCIPmakeSOS1sFeasible(), SCIPperformGenericDivingAlgorithm(), SCIPselectVarStrongBranching(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPupdateDistributionScore(), separateCons(), singletonColumnStuffing(), tightenBounds(), tightenVarUb(), updateBestCandidate(), updateNActiveConts(), and updateObjUpperbound().

SCIP_Bool SCIPisLE ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if val1 is not (more than epsilon) greater than val2

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41598 of file scip.c.

References NULL, SCIPsetIsLE(), and Scip::set.

Referenced by addBilinearTermToCut(), addConcaveEstimatorUnivariate(), addConstraint(), addNewLocks(), aggregateConstraints(), analyzeGenVBoundConflict(), applyProbingVar(), calcNewSidesAfterAggregation(), checkFixedVariables(), checkOrigPbCons(), checkSystemGF2(), chgLhs(), chgRhs(), chooseDoubleVar(), computeInteriorPoint(), consdataPrint(), constructSNFRelaxation(), copyAndSolveComponent(), correctLocksAndCaptures(), createConsFromMonomial(), createConsFromQuadTerm(), createSubproblem(), detectDominatingVubs(), dualPresolve(), evaluateGauge(), findFixings(), findUplockAggregations(), generateConvexConcaveUnderestimator(), generateCutLTIcomputeCoefs(), generateEstimatingHyperplane(), generateSecantCut(), generateSecantCutNoCheck(), getBounddist(), getFixingValue(), getLinVarsAndAndRess(), impliesVlbPrecedenceCondition(), lockRoundingAndCons(), performDualfix(), performStrongbranchWithPropagation(), predBndStr(), preprocessTrivialZerohalfCuts(), presolveDual(), printSolutionStatistics(), projectVbd(), propagateBoundsTightenVarLb(), propagateLowerboundBinvar(), proposeBranchingPoint(), reformulate(), registerBranchingCandidatesGap(), registerBranchingCandidatesViolation(), removeOldLocks(), resolveGenVBoundPropagation(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIPaddBilinMcCormick(), SCIPaddSquareSecant(), SCIPanalyzeDeductionsProbing(), SCIPapplyProbingVar(), SCIPchgLhsQuadratic(), SCIPchgRhsQuadratic(), SCIPcreateConsSOC(), SCIPseparateRelaxedKnapsack(), searchEcAggrWithMIP(), selectNextDiving(), separateByAuxGraph(), separateByEnumerationHeuristics(), separateByGaussHeuristics(), separateCuts(), separatePoint(), singletonColumnStuffing(), solveSubNLP(), tightenCoefs(), tryUpgradingSetppc(), unlockRoundingAndCons(), updateBestCandidate(), upgradeConss(), and upgradeLinearSuperindicator().

SCIP_Bool SCIPisGT ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if val1 is (more than epsilon) greater than val2

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41611 of file scip.c.

References NULL, SCIPsetIsGT(), and Scip::set.

Referenced by addBilinearTermToCut(), addBranchingComplementaritiesSOS1(), addConflictBounds(), addLinearizationCuts(), addRelaxation(), aggregation(), analyzeConflictLowerbound(), applyProbingVar(), checkVarbound(), chgRhs(), chooseCoefVar(), chooseDoubleVar(), chooseFracVar(), chooseGuidedVar(), choosePscostVar(), chooseVeclenVar(), compareNodes(), computeViolation(), computeViolations(), consdataCreate(), constructSNFRelaxation(), copyAndSolveComponent(), createSubproblem(), createSubscip(), detectDominatingVubs(), dualBoundStrengthening(), dualPresolve(), enforceViolatedFixedNonlinear(), execRelpscost(), generateCut(), generateCutLTIcomputeCoefs(), generateCutSol(), generateSparseCut(), getClosestLb(), getClosestVlb(), getL1L2(), getVarRank(), impliesVlbPrecedenceCondition(), performRandRounding(), performStrongbranchWithPropagation(), polishSolution(), preprocessColumns(), preprocessConstraintPairs(), preprocessRows(), presolveDual(), presolveFindDuplicates(), printRangeSection(), printRowType(), propagateCons(), proposeBranchingPoint(), proposeFeasibleSolution(), readBounds(), registerBranchingCandidates(), registerBranchingCandidatesCentrality(), registerBranchingCandidatesGap(), registerBranchingCandidatesViolation(), registerBranchingVariables(), registerLargeLPValueVariableForBranching(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), resolveGenVBoundPropagation(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NODESELCOMP(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIPaddCut(), SCIPapplyProbingVar(), SCIPcopyConsLinear(), SCIPheurPassSolAddSol(), SCIPheurPassSolTrySol(), SCIPselectVarStrongBranching(), SCIPseparateRelaxedKnapsack(), SCIPshrinkDisjunctiveVarSet(), SCIPupdateDistributionScore(), separateByEnumerationHeuristics(), separateByGaussHeuristics(), separateCons(), separatePoint(), singletonColumnStuffing(), storeAggrFromMIP(), tightenBounds(), tightenVarLb(), updateBestCandidate(), and writeOpbConstraints().

SCIP_Bool SCIPisGE ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if val1 is not (more than epsilon) lower than val2

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41624 of file scip.c.

References NULL, SCIPsetIsGE(), and Scip::set.

Referenced by addBilinearTermToCut(), analyzeGenVBoundConflict(), applyProbingVar(), applyTightening(), checkFixedVariables(), checkSystemGF2(), checkVarbound(), computeCut(), computeInteriorPoint(), copyAndSolveComponent(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), detectDominatingVlbs(), dualPresolve(), dualPresolving(), evaluateGauge(), execRelpscost(), findDominancePairs(), findDownlockAggregations(), findFixings(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateConvexConcaveUnderestimator(), generateCutLTIcomputeCoefs(), generateEstimatingHyperplane(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getBounddist(), getFixingValue(), getL1L2(), getPartitionCovervars(), identifySourcesTargets(), impliesVlbPrecedenceCondition(), isVlb(), isVub(), nodeGetUctScore(), performLPRandRounding(), performLPSimpleRounding(), performStrongbranchWithPropagation(), presolRoundIndicator(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveDual(), prettifyConss(), propagateBoundsTightenVarUb(), propagateCutoffboundGlobally(), proposeBranchingPoint(), reformulate(), registerBranchingCandidatesGap(), registerBranchingCandidatesViolation(), resolveGenVBoundPropagation(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_QUADCONSUPGD(), SCIPaddBilinMcCormick(), SCIPaddSquareSecant(), SCIPanalyzeDeductionsProbing(), SCIPapplyHeurDualval(), SCIPapplyProbingVar(), SCIPcreateConsSOC(), SCIPgetVarStrongbranchWithPropagation(), SCIPperformGenericDivingAlgorithm(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPseparateRelaxedKnapsack(), SCIPsolveDiveLP(), SCIPupdateNodeLowerbound(), selectNextDiving(), selectVarMultAggrBranching(), separateCuts(), singletonColumnStuffing(), solveProbingLP(), tightenCoefs(), updateBestCandidate(), and upgradeLinearSuperindicator().

SCIP_Real SCIPinfinity ( SCIP scip)

returns value treated as infinity

Parameters
scipSCIP data structure

Definition at line 41637 of file scip.c.

References NULL, SCIPsetInfinity(), and Scip::set.

Referenced by addAltLPConstraint(), addBranchingComplementaritiesSOS1(), addCut(), addExtendedAsymmetricFormulation(), addIntervalGradientEstimator(), addKnapsackConstraints(), addLinearizationCuts(), addLogicOrConstraints(), addRelaxation(), addRow(), addSetppcConstraints(), addUserEstimator(), aggregateConstraints(), applyFixings(), applyOfins(), applyVbounds(), calcActivityBounds(), calcColActivity(), calcColActResidualCommon(), calcColActResidualExplicitBound(), calcNewSidesAfterAggregation(), calculateBounds(), calcVarBoundsDominated(), calcVarBoundsDominating(), checkCurvature(), checkFixedVariables(), chgLhs(), chgRhs(), chooseFracVar(), chooseGuidedVar(), computeBoundsX(), computeBoundsZ(), computeCut(), computeFixingOrder(), computeInteriorPoint(), computeVarsCoverSOS1(), computeViolation(), consdataCheckNonbinvar(), consdataComputePseudoActivity(), consdataCreate(), consdataCreateEmpty(), consdataGetActivity(), consdataRecomputeMaxActivityDelta(), constructSNFRelaxation(), CREATE_CONSTRAINT(), createAndAddLinearCons(), createCapacityRestriction(), createCapacityRestrictionIntvars(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), createConstraints(), createCoverCutsTimepoint(), createCoveringProblem(), createNAryBranch(), createNlRow(), createObjRow(), createPrecedenceCons(), createRelaxation(), createRow(), createSubSCIP(), createSubscip(), createVarUbs(), createZerohalfCutFromZerohalfWeightvector(), displayRelevantStats(), dualBoundStrengthening(), dualPresolve(), dualPresolving(), enforceConflictgraph(), enforceViolatedFixedNonlinear(), evalLhs(), execRelpscost(), extendToCover(), extractLinearValues(), findDominancePairs(), fixVariable(), forbidCover(), generate1ConvexIndefiniteUnderestimator(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateBoundInequalityFromSOS1Nodes(), generateConvexConcaveEstimator(), generateConvexConcaveUnderestimator(), generateCut(), generateCutConvex(), generateCutFactorable(), generateCutLTI(), generateCutNonConvex(), generateCutPoint(), generateCutProjectedPoint(), generateCutSol(), generateCutUnboundedLP(), generateDisjCutSOS1(), generateLinearizationCut(), generateOddCycleCut(), generateOverestimatingHyperplaneCut(), generateRowSOS2(), generateSecantCut(), generateSecantCutNoCheck(), getActivities(), getActivityResiduals(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBoundConsFromVertices(), getBranchingDecisionStrongbranchSOS1(), getBranchingPrioritiesSOS1(), getClosestLb(), getClosestUb(), getClosestVlb(), getClosestVub(), getDualbound(), getGenVBoundsBound(), getGenVBoundsMinActivity(), getGenVBoundsMinActivityConflict(), getLinearConsSides(), getLowerbound(), getMaxActivity(), getMinActivity(), getOptimalShiftingValue(), getUpperbound(), getVarBoundsOfRow(), getVariable(), initConshdlrData(), initMatrix(), isValue(), isVarImpliedFree(), maximalslack(), newsolCliqueAddRow(), nodepairqueueCreate(), nodepartitionIsConnected(), numericalStable(), parseType(), performStrongbranchWithPropagation(), polishSolution(), preprocessConstraintPairs(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveCreateOuterApprox(), presolveDisaggregate(), presolveDual(), presolveFindDuplicates(), presolveRemoveFixedVariables(), presolveTryAddLinearReform(), prettifyConss(), printAndCons(), propagateBounds(), propagateBoundsBilinearTerm(), propagateBoundsCons(), propagateBoundsGetQuadActivity(), propagateBoundsTightenVar(), propagateCons(), propagateVarbounds(), propdataInit(), propIndicator(), readBounds(), readCnf(), readCols(), readConstraints(), readIndicators(), readNonlinearExprs(), readObjective(), readOPBFile(), readQMatrix(), readQuadraticCoefs(), readRows(), readSol(), readVariables(), readXMLSol(), reformMonomial(), registerBranchingCandidatesGap(), relaxVar(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPARSE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_EXPRGRAPHVARADDED(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_NONLINCONSUPGD(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_READERWRITE(), SCIP_DECL_SEPAEXECLP(), SCIPaddCoefLinear(), SCIPaddToNlpiProblemSOC(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPchgLhsQuadratic(), SCIPchgRhsQuadratic(), SCIPcomputeConvexEnvelopeFacet(), SCIPcreateConsIndicator(), SCIPcreateConsLinear(), SCIPcreateConsOrbitope(), SCIPcreateConsPseudoboolean(), SCIPcreateConsPseudobooleanWithConss(), SCIPcreateFiniteSolCopy(), SCIPevalExprtreeGlobalBounds(), SCIPevalExprtreeLocalBounds(), SCIPgetFeasibilityQuadratic(), SCIPgetFirstLPLowerboundRoot(), SCIPgetVarStrongbranchWithPropagation(), SCIPincludeBranchrulePscost(), SCIPincludeConshdlrAbspower(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrNonlinear(), SCIPincludeConshdlrQuadratic(), SCIPincludeConshdlrSOC(), SCIPincludeHeurDualval(), SCIPincludeHeurProximity(), SCIPincludeHeurSubNlp(), SCIPincludeSepaEccuts(), SCIPmatrixCreate(), SCIPperformGenericDivingAlgorithm(), SCIPreadOpb(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePip(), selectEssentialRounding(), selectRounding(), selectShifting(), selectVarMultAggrBranching(), sepaImplBoundCutsSOS1(), separateCons(), separateCoverCutsCons(), separateIndicators(), separateSCIs(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), separateSupLiftedMinimalCoverInequality(), solveSubMIP(), sortVariables(), storeSolution(), tightenVarsBoundsSOS1(), transformColumn(), transformVariable(), tryUpgradingLogicor(), tryUpgradingSetppc(), updateActivities(), updateBestCandidate(), updateBounds(), updateRowActivities(), updateTransformation(), upgradeLinearSuperindicator(), writeFzn(), and writeOpbConstraints().

SCIP_Bool SCIPisInfinity ( SCIP scip,
SCIP_Real  val 
)

checks, if value is (positive) infinite

Parameters
scipSCIP data structure
valvalue to be compared against infinity

Definition at line 41648 of file scip.c.

References NULL, SCIPsetIsInfinity(), and Scip::set.

Referenced by addAltLPColumn(), addAltLPConstraint(), addAltLPRow(), addBilinearTermToCut(), addBranchingComplementaritiesSOS1(), addCoef(), addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConcaveEstimatorUnivariate(), addConstraint(), addFacetToCut(), addIntervalGradientEstimator(), addLinearization(), addLinearizationCuts(), addLinearTermToCut(), addNewLocks(), addObjcut(), addRelaxation(), addRow(), addUserEstimator(), addVarbound(), aggregateConstraints(), aggregation(), applyBoundHeur(), applyFixings(), applyGenVBound(), applyOfins(), applyTightening(), applyVbounds(), calcActivityBounds(), calcBranchScore(), calcColActivity(), calcColActResidualCommon(), calcColActResidualExplicitBound(), calcNewSidesAfterAggregation(), calcShiftVal(), calculateAlternatives(), calculateBounds(), calculateMinvalAndMaxval(), calcVarBoundsDominated(), calcVarBoundsDominating(), catchLinearVarEvents(), catchVarEvents(), checkArraySizesGLS(), checkArraySizesHeur(), checkCons(), checkCurvature(), checkFixedVariables(), checkOrigPbCons(), checkRedundancySide(), chgLhs(), chgRhs(), choosePscostVar(), compareNodes(), computeBoundsX(), computeBoundsZ(), computeCut(), computeGauge(), computeInteriorPoint(), computeReferencePointGauge(), computeViolation(), consdataCheckNonbinvar(), consdataComputePseudoActivity(), consdataCreate(), consdataFindUnlockedLinearVar(), consdataFree(), consdataGetActivity(), consdataGetActivityResiduals(), consdataGetGlbActivityResiduals(), consdataPrint(), consdataRecomputeGlbMinactivity(), consdataRecomputeMaxactivity(), consdataRecomputeMaxActivityDelta(), consdataRecomputeMinactivity(), consdataUpdateLinearActivity(), consdataUpdateLinearActivityLbChange(), consdataUpdateLinearActivityUbChange(), constructSNFRelaxation(), copyAndSolveComponent(), correctLocksAndCaptures(), createAndAddLinearCons(), createCoveringProblem(), createLinking(), createNormalizedKnapsack(), createSubproblem(), createSubscip(), cutGenerationHeuristic(), determineBound(), displayRelevantStats(), dropLinearVarEvents(), dropVarEvents(), dualPresolve(), enforceViolatedFixedNonlinear(), evalLhs(), evaluateCutNumerics(), evaluateGauge(), extractCapacityRows(), extractFlowRows(), extractLinearValues(), findAndStoreEcAggregations(), findDownlockAggregations(), findFixings(), findUplockAggregations(), fixVariable(), generate1ConvexIndefiniteUnderestimator(), generate1ConvexIndefiniteUnderestimatorAtBoundary(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateBoundInequalityFromSOS1Nodes(), generateClusterCuts(), generateConvexConcaveEstimator(), generateConvexConcaveUnderestimator(), generateCut(), generateCutFactorable(), generateCutFactorableDo(), generateCutLTI(), generateCutLTIcomputeCoefs(), generateCutLTIfindIntersection(), generateCutPoint(), generateCutProjectedPoint(), generateCutSol(), generateDisjCutSOS1(), generateEstimatingHyperplane(), generateLinearizationCut(), generateLinearizationCutProject(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateOverestimatingHyperplaneCut(), generateRowSOS2(), generateSecantCut(), generateSecantCutNoCheck(), generateSparseCut(), generateUnderestimatorParallelYFacets(), getActivities(), getActivityRelax(), getActivityResiduals(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getBoundConsFromVertices(), getBoundsForSubstitution(), getBranchingPrioritiesSOS1(), getClosestVlb(), getClosestVub(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getGenVBoundsBound(), getGenVBoundsMinActivity(), getGenVBoundsMinActivityConflict(), getGradientMaxElement(), getGradientNorm(), getLinearCoeffs(), getLinVarsAndAndRess(), getMaxActivity(), getMaxActSingleRowWithoutCol(), getMaxResActivity(), getMinActivity(), getMinActSingleRowWithoutCol(), getMinColActWithoutBound(), getMinColActWithoutRow(), getNumHugeActivities(), getOptimalShiftingValue(), getVarBoundsOfRow(), handleNewVariableSOS1(), infCntUpdateExplicit(), initMatrix(), initSepaData(), invertCommodity(), isCandidate(), isConvexLocal(), isPossibleToComputeCut(), isVarImpliedFree(), lifting(), lockLinearVariable(), lockRounding(), lockRoundingAndCons(), nodeGetSolvalBinaryBigMSOS1(), nodeGetUctScore(), nodepairqueueCreate(), numericalStable(), performDualfix(), performStrongbranchWithPropagation(), polishSolution(), predBndStr(), preprocessConstraintPairs(), presolve(), presolveDisaggregate(), presolveDual(), presolveFindDuplicates(), presolveFindDuplicatesUpgradeCons(), presolveTryAddLinearReform(), prettifyConss(), printBoundSection(), printDualSol(), printIndicatorCons(), printLinearCons(), printNonlinearCons(), printNonLinearCons(), printPseudobooleanCons(), printQuadraticCons(), printRangeSection(), printRhsSection(), printRowType(), printSignpowerCons(), printSolutionStatistics(), propagateBounds(), propagateBoundsBilinearTerm(), propagateBoundsCons(), propagateBoundsGetQuadActivity(), propagateBoundsQuadVar(), propagateBoundsTightenVar(), propagateBoundsTightenVarLb(), propagateBoundsTightenVarUb(), propagateCons(), propagateConstraintSides(), propagateCutoffboundGlobally(), propagateCutoffboundVar(), propagateLowerboundBinvar(), propagateLowerboundVar(), propagateVarbounds(), propIndicator(), proposeBranchingPoint(), proposeFeasibleSolution(), readBinaries(), readBounds(), readConstraints(), readIndicators(), readRanges(), readRhs(), reformulate(), registerBranchingCandidates(), registerBranchingCandidatesCentrality(), registerBranchingCandidatesGap(), relaxVar(), removeFixedLinearVariables(), removeFixedVariables(), removeOldLocks(), replaceByLinearConstraints(), replaceQuadVarTermPos(), replaceViolatedByLinearConstraints(), resolvePropagation(), retransformVariable(), rowCalculateGauss(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPARSE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NODESELCOMP(), SCIP_DECL_NONLINCONSUPGD(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_READERWRITE(), SCIP_DECL_SEPAEXECLP(), SCIPaddBilinLinearization(), SCIPaddBilinMcCormick(), SCIPaddBilinTermQuadratic(), SCIPaddCoefLinear(), SCIPaddConstantQuadratic(), SCIPaddCut(), SCIPaddLinearVarNonlinear(), SCIPaddLinearVarQuadratic(), SCIPaddQuadVarLinearCoefQuadratic(), SCIPaddQuadVarQuadratic(), SCIPaddSquareCoefQuadratic(), SCIPaddSquareLinearization(), SCIPaddSquareSecant(), SCIPaddVarImplication(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPbranchVarVal(), SCIPbranchVarValNary(), SCIPchgBilinCoefQuadratic(), SCIPchgLhsQuadratic(), SCIPchgRhsQuadratic(), SCIPchgSquareCoefQuadratic(), SCIPchgVarObj(), SCIPchgVarObjProbing(), SCIPcopyConsLinear(), SCIPcreateConsAbspower(), SCIPcreateConsBivariate(), SCIPcreateConsLinear(), SCIPcreateConsLinking(), SCIPcreateConsOrbitope(), SCIPcreateConsPseudoboolean(), SCIPcreateConsPseudobooleanWithConss(), SCIPcreateConsSOC(), SCIPcreateFiniteSolCopy(), SCIPcreateVar(), SCIPgenVBoundAdd(), SCIPgetFeasibilityQuadratic(), SCIPmakeIndicatorFeasible(), SCIPprintStage(), SCIProwCalcProbability(), SCIPseparateRelaxedKnapsack(), SCIPsolveKnapsackApproximatelyLT(), SCIPtransformProb(), SCIPvarCalcDistributionParameters(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePip(), searchEcAggr(), selectBranchVar(), selectShifting(), sepaImplBoundCutsSOS1(), separateCons(), separateCuts(), separatePoint(), singletonColumnStuffing(), solveIndependentCons(), solveSubMIP(), solveSubproblem(), solveSubscip(), splitOffLinearPart(), termIsConvex(), tightenBounds(), tightenCoefs(), tightenSides(), tightenVarsBoundsSOS1(), transformColumn(), transformValue(), transformVariable(), unlockLinearVariable(), unlockRounding(), unlockRoundingAndCons(), updateActivities(), updateBestCandidate(), updateDualBounds(), updateDualBoundsExplicit(), updateImplicationGraphSOS1(), updateObjUpperbound(), updateRowActivities(), updateSlacks(), updateTransformation(), updateWeightsTCliquegraph(), upgradeConss(), upgradeIndicatorSuperindicator(), upgradeLinearSuperindicator(), varProcessBoundChanges(), and writeFzn().

SCIP_Bool SCIPisHugeValue ( SCIP scip,
SCIP_Real  val 
)

checks, if value is huge and should be handled separately (e.g., in activity computation)

Parameters
scipSCIP data structure
valvalue to be checked whether it is huge

Definition at line 41660 of file scip.c.

References NULL, SCIPsetIsHugeValue(), and Scip::set.

Referenced by checkCons(), consdataComputePseudoActivity(), consdataGetActivityResiduals(), consdataGetGlbActivityResiduals(), consdataRecomputeMinactivity(), getActivityRelax(), getNumHugeActivities(), prepareCons(), propagateBoundsTightenVarLb(), propagateBoundsTightenVarUb(), simplifyInequalities(), and updateBestCandidate().

SCIP_Real SCIPgetHugeValue ( SCIP scip)

returns the minimum value that is regarded as huge and should be handled separately (e.g., in activity computation)

Parameters
scipSCIP data structure

Definition at line 41674 of file scip.c.

References NULL, SCIPsetGetHugeValue(), and Scip::set.

Referenced by getMaxActivity(), getMinActivity(), and resolvePropagation().

SCIP_Bool SCIPisZero ( SCIP scip,
SCIP_Real  val 
)

checks, if value is in range epsilon of 0.0

Parameters
scipSCIP data structure
valvalue to process

Definition at line 41685 of file scip.c.

References NULL, SCIPsetIsZero(), and Scip::set.

Referenced by addAltLPColumn(), addAltLPConstraint(), addBilinearTerm(), addBilinearTermToCut(), addCoefTerm(), addConcaveEstimatorBivariate(), addConflictBounds(), addCut(), addFacetToCut(), addFlowrowToCommodity(), addIntervalGradientEstimator(), addLinearCoef(), addLinearization(), addLinearTermToCut(), addObjcut(), addRow(), addVarbound(), adjustCutoffbound(), aggregateConstraints(), aggregation(), applyFixings(), calcActivityBounds(), calcVarBoundsDominated(), calcVarBoundsDominating(), catchObjEvent(), checkFactorable(), checkFixedVariables(), checkSolution(), chgLinearCoefPos(), collectMaxactVar(), collectMinactImplicVar(), collectMinactImplicVars(), collectMinactVar(), collectNonBinaryVBoundData(), computeCut(), consdataCreate(), consdataFree(), conshdlrdataIncludeUpgrade(), constructSNFRelaxation(), correctLocksAndCaptures(), createAndAddAnds(), createAndAddLinearCons(), createConsFromMonomial(), createExprtreeFromMonomial(), createNewSol(), createNlRow(), createObjRow(), createSubscip(), createTcliqueGraph(), cutGenerationHeuristic(), dropObjEvent(), ecaggrAddBilinTerm(), enforceConflictgraph(), enforceViolatedFixedNonlinear(), evaluateGauge(), fillGlobalStartingData(), filterExistingLP(), fixVariableZero(), generateBoundInequalityFromSOS1Nodes(), generateCloseCutPoint(), generateClusterCuts(), generateCutFactorable(), generateCutFactorableDo(), generateCutLTIcomputeCoefs(), generateCutLTIfindIntersection(), generateCutLTIgenMulCoeff(), generateCutPoint(), generateCutProjectedPoint(), generateCutUnboundedLP(), generateEstimatingHyperplane(), getActiveVar(), getBinVarsRepresentatives(), getBoundConsFromVertices(), getClosestVlb(), getClosestVub(), getGenVBound(), getGenVBoundsMinActivityConflict(), getMaxactImplicObjchg(), getMinactImplicObjchg(), handleNewVariableSOS1(), lockRounding(), mergeAndCleanBilinearTerms(), mergeAndCleanLinearVars(), mergeAndCleanQuadVarTerms(), nodepairqueueCreate(), objimplicsCreate(), optimize(), performDualfix(), performStrongbranchSOS1(), polishSolution(), preprocessConstraintPairs(), presolRoundConsSOS1(), presolRoundSOS2(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveCreateOuterApprox(), presolveDisaggregate(), presolveDual(), presolveFindDuplicates(), presolveRemoveFixedVariables(), presolveSolve(), presolveTryAddLinearReform(), presolveUpgrade(), printActiveVariables(), printBoundSection(), printDualSol(), printLinearRow(), printNLRow(), printNonlinearRow(), printPBRow(), printQuadraticRow(), printRow(), printRowNl(), printSignpowerRow(), printSOCCons(), propagateCutoffboundBinvar(), propagateCutoffboundGlobally(), propagateCutoffboundVar(), propagateLowerboundVar(), propagateVarbounds(), propIndicator(), proposeFeasibleSolution(), readBounds(), readCoefficients(), readCols(), readOPBFile(), readRhs(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), resolveGenVBoundPropagation(), resolvePropagation(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPARSE(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_NONLINCONSUPGD(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_PROPRESPROP(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_READERREAD(), SCIP_DECL_READERWRITE(), SCIP_DECL_SEPAEXECLP(), SCIPaddCoefPseudoboolean(), SCIPaddCut(), SCIPaddQuadVarLinearCoefQuadratic(), SCIPaddSquareCoefQuadratic(), SCIPaddVarVlb(), SCIPaddVarVub(), SCIPanalyzeDeductionsProbing(), SCIPchgBilinCoefQuadratic(), SCIPchgCoefLinear(), SCIPchgLinearCoefQuadratic(), SCIPchgSquareCoefQuadratic(), SCIPcreateConsAbspower(), SCIPcreateConsIndicator(), SCIPcreateConsNonlinear(), SCIPcreateConsNonlinear2(), SCIPcreateConsOrbitope(), SCIPcreateConsQuadratic(), SCIPgetVectorEfficacyNorm(), SCIPmakeIndicatorFeasible(), SCIPperformGenericDivingAlgorithm(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePip(), selectShifting(), solCutIsViolated(), solveDerivativeEquation(), solveSubNLP(), storeCutInArrays(), termIsConstant(), tightenCoefs(), tightenVarsBoundsSOS1(), transformColumn(), tryUpgradingXor(), upgradeConss(), writeFzn(), and writeOpbObjective().

SCIP_Bool SCIPisPositive ( SCIP scip,
SCIP_Real  val 
)

checks, if value is greater than epsilon

Parameters
scipSCIP data structure
valvalue to process

Definition at line 41697 of file scip.c.

References NULL, SCIPsetIsPositive(), and Scip::set.

Referenced by addBilinearTermToCut(), addCoefTerm(), addConflictBinvar(), addCut(), addLinearizationCuts(), aggregateConstraints(), aggregation(), applyAlternativeBoundsBranching(), checkCurvature(), checkCurvatureEasy(), checkFactorable(), checkRedundancySide(), chgLhs(), chgRhs(), collectMaxactVar(), constructSNFRelaxation(), copyAndSolveComponent(), createAndAddLinearCons(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), createMIP(), createNlRow(), createZerohalfCutFromZerohalfWeightvector(), determineBound(), dfs(), dualPresolve(), evaluateGauge(), extractCapacityRows(), extractFlowRows(), findFixings(), fixVariableZero(), generate1ConvexIndefiniteUnderestimator(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateBoundInequalityFromSOS1Nodes(), generateClusterCuts(), generateConvexConcaveEstimator(), generateCut(), generateCutProjectedPoint(), generateCutSol(), generateCutUnboundedLP(), generateSecantCut(), generateSecantCutNoCheck(), generateSparseCut(), getBranchingDecisionStrongbranchSOS1(), getClosestVlb(), getClosestVub(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), initData(), isCandidate(), lockRoundingAndCons(), nodepairqueueCreate(), performDualfix(), predBndStr(), preprocessConstraintPairs(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), presolveCreateOuterApprox(), presolveTryAddLinearReform(), printSignpowerRow(), propagateLowerboundBinvar(), propIndicator(), proposeFeasibleSolution(), resolveGenVBoundPropagation(), resolvePropagation(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_HEUREXEC(), SCIP_DECL_QUADCONSUPGD(), SCIP_DECL_SEPAEXECLP(), SCIPaddCoefPseudoboolean(), SCIPgenVBoundAdd(), SCIPupdateStartpointHeurSubNlp(), SCIPwritePip(), searchEcAggrWithCliques(), selectShifting(), separateCuts(), separatePoint(), setUpEvents(), sortGenVBounds(), unlockRoundingAndCons(), upgradeLinearSuperindicator(), varMayRoundDown(), and varMayRoundUp().

SCIP_Bool SCIPisNegative ( SCIP scip,
SCIP_Real  val 
)

checks, if value is lower than -epsilon

Parameters
scipSCIP data structure
valvalue to process

Definition at line 41709 of file scip.c.

References NULL, SCIPsetIsNegative(), and Scip::set.

Referenced by addConcaveEstimatorBivariate(), addConflictBinvar(), addEdgeToAuxGraph(), adjustCutoffbound(), applyAlternativeBoundsBranching(), applyFixings(), calcBranchScore(), checkCurvature(), checkCurvatureEasy(), checkFactorable(), collectMinactVar(), computeCut(), constructSNFRelaxation(), copyAndSolveComponent(), createMIP(), createNlRow(), createVarUbs(), determineBound(), dualPresolve(), dualPresolving(), evaluateGauge(), extractCapacityRows(), extractNodes(), fillGlobalStartingData(), findClosestLb(), findClosestUb(), findFixings(), fixVariableZero(), generateBoundInequalityFromSOS1Nodes(), generateClusterCuts(), generateCut(), generateCutProjectedPoint(), generateCutUnboundedLP(), generateDisjCutSOS1(), generateEstimatingHyperplane(), getClosestVlb(), getClosestVub(), isCandidate(), nlrowaggrCreate(), nodepairqueueCreate(), objimplicsCreate(), performDualfix(), predBndStr(), preprocessConstraintPairs(), presolveCreateOuterApprox(), presolveRemoveFixedVariables(), presolveTryAddLinearReform(), printSignpowerRow(), propagateCutoffboundBinvar(), proposeFeasibleSolution(), registerBranchingCandidatesGap(), removeDoubleAndSingletonsAndPerformDualpresolve(), SCIP_DECL_CONSINITLP(), SCIP_DECL_EVENTINIT(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_HEUREXEC(), SCIP_DECL_QUADCONSUPGD(), SCIPcalcCumulativeDistribution(), SCIPgenVBoundAdd(), SCIPgetReadingTime(), SCIPvarCalcDistributionParameters(), SCIPwritePip(), searchEcAggrWithCliques(), selectShifting(), separatePoint(), sortGenVBounds(), transformColumn(), updateBestCandidate(), upgradeLinearSuperindicator(), varMayRoundDown(), and varMayRoundUp().

SCIP_Bool SCIPisScalingIntegral ( SCIP scip,
SCIP_Real  val,
SCIP_Real  scalar 
)

checks whether the product val * scalar is integral in epsilon scaled by scalar

Parameters
scipSCIP data structure
valunscaled value to check for scaled integrality
scalarvalue to scale val with for checking for integrality

Definition at line 41733 of file scip.c.

References NULL, SCIPsetIsScalingIntegral(), and Scip::set.

SCIP_Bool SCIPisFracIntegral ( SCIP scip,
SCIP_Real  val 
)

checks, if given fractional part is smaller than epsilon

Parameters
scipSCIP data structure
valvalue to process

Definition at line 41746 of file scip.c.

References NULL, SCIPsetIsFracIntegral(), and Scip::set.

SCIP_Real SCIPround ( SCIP scip,
SCIP_Real  val 
)

rounds value to the nearest integer with epsilon tolerance

Parameters
scipSCIP data structure
valvalue to process

Definition at line 41782 of file scip.c.

References NULL, SCIPsetRound(), and Scip::set.

Referenced by createNlRow(), flattenFloat(), generateCut(), presolveTryAddLinearReform(), printExpr(), printNLRow(), printPBRow(), printRow(), readExpression(), reformMonomial(), reformulate(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_DECL_NONLINCONSUPGD(), SCIPresolveSolHeurSubNlp(), SCIPwritePip(), and writeOpbObjective().

SCIP_Real SCIPfrac ( SCIP scip,
SCIP_Real  val 
)

returns fractional part of value, i.e. x - floor(x) in epsilon tolerance

Parameters
scipSCIP data structure
valvalue to return fractional part for

Definition at line 41794 of file scip.c.

References NULL, SCIPsetFrac(), and Scip::set.

Referenced by computeCut(), createCGCutCMIR(), createCGCutStrongCG(), generateClusterCuts(), and SCIP_DECL_BRANCHEXECLP().

SCIP_Bool SCIPisSumEQ ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if values are in range of sumepsilon

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41806 of file scip.c.

References NULL, SCIPsetIsSumEQ(), and Scip::set.

Referenced by SCIP_DECL_BRANCHEXECLP(), separateSCIs(), and updateBestCandidate().

SCIP_Bool SCIPisSumLT ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if val1 is (more than sumepsilon) lower than val2

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41819 of file scip.c.

References NULL, SCIPsetIsSumLT(), and Scip::set.

Referenced by proposeFeasibleSolution().

SCIP_Bool SCIPisSumLE ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if val1 is not (more than sumepsilon) greater than val2

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41832 of file scip.c.

References NULL, SCIPsetIsSumLE(), and Scip::set.

Referenced by getL1L2().

SCIP_Bool SCIPisSumGT ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if val1 is (more than sumepsilon) greater than val2

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41845 of file scip.c.

References NULL, SCIPsetIsSumGT(), and Scip::set.

Referenced by execRelpscost(), SCIP_DECL_BRANCHEXECLP(), and updateBestCandidate().

SCIP_Bool SCIPisSumGE ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if val1 is not (more than sumepsilon) lower than val2

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41858 of file scip.c.

References NULL, SCIPsetIsSumGE(), and Scip::set.

Referenced by execRelpscost().

SCIP_Bool SCIPisSumZero ( SCIP scip,
SCIP_Real  val 
)

checks, if value is in range sumepsilon of 0.0

Parameters
scipSCIP data structure
valvalue to process

Definition at line 41871 of file scip.c.

References NULL, SCIPsetIsSumZero(), and Scip::set.

Referenced by computeCut().

SCIP_Bool SCIPisSumPositive ( SCIP scip,
SCIP_Real  val 
)

checks, if value is greater than sumepsilon

Parameters
scipSCIP data structure
valvalue to process

Definition at line 41883 of file scip.c.

References NULL, SCIPsetIsSumPositive(), and Scip::set.

Referenced by calcBranchScore(), computeCut(), and createCGCutCMIR().

SCIP_Bool SCIPisSumNegative ( SCIP scip,
SCIP_Real  val 
)

checks, if value is lower than -sumepsilon

Parameters
scipSCIP data structure
valvalue to process

Definition at line 41895 of file scip.c.

References NULL, SCIPsetIsSumNegative(), and Scip::set.

SCIP_Bool SCIPisFeasEQ ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of values is in range of feasibility tolerance

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41907 of file scip.c.

References NULL, SCIPsetIsFeasEQ(), and Scip::set.

Referenced by addFacetToCut(), addLinearTermToCut(), addLocalBranchingConstraint(), applyFixings(), calculateAlternatives(), checkAndConss(), checkCons(), checkFixedVariables(), checkRikun(), checkSolveKnapsack(), chooseDoubleVar(), collectNonBinaryImplicationData(), collectNonBinaryVBoundData(), computeRanks(), consdataCheckNonbinvar(), consdataCheckSuperindicator(), constructCompression(), copyAndSolveComponent(), createAndAddAndCons(), createCGCutDirect(), createConflict(), createIndicatorConstraint(), createSelectedSortedEventpointsSol(), createSubproblem(), createSubSCIP(), createSubscip(), cutGenerationHeuristic(), CUTOFF_CONSTRAINT(), determineBound(), fixAndPropagate(), generate1ConvexIndefiniteUnderestimator(), generate1ConvexIndefiniteUnderestimatorAtBoundary(), generateAverageNBRay(), generateBoundInequalityFromSOS1Nodes(), generateConvexConcaveUnderestimator(), generateCutProjectedPoint(), generateEstimatingHyperplane(), generateNeighborFacets(), getCover(), getNActiveConsScore(), getPartitionNoncovervars(), GUBsetCalcCliquePartition(), isPossibleToComputeCut(), optimize(), performDualfix(), performRandRounding(), phi(), presolveFindDuplicatesSolveEquations(), printBoundSection(), processBinvarFixings(), processFixings(), processWatchedVars(), propagateCons(), propagateCutoffboundVar(), propagateRedcostBinvar(), propagateRedcostVar(), readBinaries(), readBounds(), registerBranchingCandidates(), resolvePropagationCoretimes(), rowFindSlackVar(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRESOLEXEC(), SCIPaddVarImplication(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPapplyUndercover(), SCIPconvertRealToInt(), SCIPconvertRealToLongint(), SCIPdummyDebugMethodForSun(), SCIPmakeIndicatorFeasible(), SCIPperformGenericDivingAlgorithm(), SCIProwCalcProbability(), SCIPwriteGms(), SCIPwriteLp(), separateCons(), separateIISRounding(), sequentialUpAndDownLifting(), sequentialUpAndDownLiftingGUB(), setAltLPObj(), setObjective(), solveDerivativeEquation(), solveSubMIP(), termIsConstant(), transformValue(), updateSlacks(), varIsFixed(), and varProcessBoundChanges().

SCIP_Bool SCIPisFeasLT ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference val1 and val2 is lower than feasibility tolerance

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41920 of file scip.c.

References NULL, SCIPsetIsFeasLT(), and Scip::set.

Referenced by analyzeGenVBoundConflict(), applyFixings(), calcBranchScore(), calculateBounds(), checkCons(), checkFixedVariables(), checkKnapsack(), checkOrigPbCons(), checkRowViolation(), checkSolveKnapsack(), checkViolations(), collectNonBinaryVBoundData(), computeCut(), computeVarsCoverSOS1(), countSparseSol(), createCGCutCMIR(), createCGCutStrongCG(), createSubscip(), determineBound(), enforceViolatedFixedNonlinear(), execGenVBounds(), getBoundConsFromVertices(), getCover(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getMaxactImplicObjchg(), getOptimalShiftingValue(), handleNewVariableSOS2(), optimize(), performImplicationGraphAnalysis(), performStrongbranchSOS1(), preprocessConstraintPairs(), propagateBoundsCons(), propagateCons(), propagateCutoffboundBinvar(), propagateLowerboundBinvar(), propagateLowerboundVar(), propagateRedcostVar(), proposeFeasibleSolution(), propVariableNonzero(), SCIP_DECL_CONSCHECK(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyProximity(), SCIPcreateFiniteSolCopy(), SCIPperformGenericDivingAlgorithm(), SCIPsolveKnapsackApproximatelyLT(), sepaImplBoundCutsSOS1(), separateIISRounding(), tightenCoefs(), tightenVarsBoundsSOS1(), updateArcData(), updateImplicationGraphSOS1(), updateViolations(), and upgradeCons().

SCIP_Bool SCIPisFeasLE ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is not greater than feasibility tolerance

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41933 of file scip.c.

References NULL, SCIPsetIsFeasLE(), and Scip::set.

Referenced by addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConflictBounds(), branchruledataUpdateCurrentBounds(), calcShiftVal(), checkBounddisjunction(), checkCons(), checkConstraintMatching(), checkRowViolation(), checkViolations(), collectNonBinaryImplicationData(), computeReferencePointGauge(), computeViolation(), constructSNFRelaxation(), copyAndSolveComponent(), createSubscip(), cutGenerationHeuristic(), determineBound(), evalLhs(), filterExistingLP(), findDominancePairs(), generateConvexConcaveUnderestimator(), generateCut(), generateCutFactorableDo(), generateCutLTIcomputeCoefs(), generateDisjCutSOS1(), generateEstimatingHyperplane(), generateNeighborFacets(), generateOrthogonal_lx_ly_Underestimator(), generateUnderestimatorParallelYFacets(), getClosestVlb(), getClosestVub(), getFeasibleSet(), getFlowCover(), getL1L2(), getOptimalShiftingValue(), heurdataUpdateCurrentBounds(), isConsRedundant(), isVarImpliedFree(), performRandRounding(), presolveDual(), presolveRemoveFixedVariables(), propagateCons(), propagateRootRedcostVar(), registerBranchingCandidates(), replaceViolatedByLinearConstraints(), rowCalculateGauss(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPcalcCumulativeDistribution(), SCIPperformGenericDivingAlgorithm(), SCIProwCalcProbability(), SCIPupdateDistributionScore(), setObjective(), shiftValues(), tightenBounds(), tightenCoefs(), transformVariable(), tryToInsert(), updateBestCandidate(), updateSlacks(), and updateTransformation().

SCIP_Bool SCIPisFeasGT ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is greater than feastol

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41946 of file scip.c.

References NULL, SCIPsetIsFeasGT(), and Scip::set.

Referenced by addConcaveEstimatorMultivariate(), analyzeGenVBoundConflict(), applyFixings(), checkCons(), checkFixedVariables(), checkOrigPbCons(), checkRowViolation(), checkSolveKnapsack(), checkViolations(), collectNonBinaryVBoundData(), computeCut(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), createSubscip(), createZerohalfCutFromZerohalfWeightvector(), cutGenerationHeuristic(), determineBound(), enforceViolatedFixedNonlinear(), generateClusterCuts(), generateNeighborFacets(), getCover(), getFlowCover(), getL1L2(), getMaxactImplicObjchg(), getOptimalShiftingValue(), getPartitionCovervars(), getPartitionNoncovervars(), handleNewVariableSOS2(), initMatrix(), makeSOS1constraintsFeasible(), optimize(), performImplicationGraphAnalysis(), performStrongbranchSOS1(), propagateBoundsCons(), propagateCons(), propagateLowerboundVar(), proposeFeasibleSolution(), propVariableNonzero(), relaxVar(), SCIP_DECL_CONSCHECK(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPcreateFiniteSolCopy(), SCIPperformGenericDivingAlgorithm(), sepaImplBoundCutsSOS1(), separateCons(), separateCuts(), separateSupLiftedMinimalCoverInequality(), sequentialUpAndDownLifting(), shiftValues(), tightenCoefs(), tightenVarsBoundsSOS1(), tryDelta(), tryToInsert(), updateArcData(), updateImplicationGraphSOS1(), updateViolations(), and upgradeCons().

SCIP_Bool SCIPisFeasGE ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is not lower than -feastol

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 41959 of file scip.c.

References NULL, SCIPsetIsFeasGE(), and Scip::set.

Referenced by addConcaveEstimatorBivariate(), addConcaveEstimatorMultivariate(), addConflictBounds(), calcShiftVal(), checkBounddisjunction(), checkCons(), checkRowViolation(), checkSolveKnapsack(), checkViolations(), collectNonBinaryImplicationData(), computeViolation(), constructSNFRelaxation(), copyAndSolveComponent(), determineBound(), evalLhs(), filterExistingLP(), findDominancePairs(), forbidCover(), generateConvexConcaveUnderestimator(), generateCut(), generateCutLTIcomputeCoefs(), generateNeighborFacets(), generateOrthogonal_lx_ly_Underestimator(), generateUnderestimatorParallelYFacets(), getClosestVlb(), getClosestVub(), getFeasibleSet(), getFlowCover(), getL1L2(), optimize(), performRandRounding(), presolveDual(), propagateCons(), propagateRootRedcostVar(), propIndicator(), registerBranchingCandidates(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_HEUREXEC(), SCIPmakeIndicatorFeasible(), SCIPperformGenericDivingAlgorithm(), SCIProwCalcProbability(), SCIPsolveKnapsackApproximatelyLT(), SCIPupdateDistributionScore(), separateSupLiftedMinimalCoverInequality(), setObjective(), shiftValues(), tightenBounds(), tightenCoefs(), tryToInsert(), updateBestCandidate(), updateSlacks(), and varProcessBoundChanges().

SCIP_Bool SCIPisFeasZero ( SCIP scip,
SCIP_Real  val 
)

checks, if value is in range feasibility tolerance of 0.0

Parameters
scipSCIP data structure
valvalue to process

Definition at line 41972 of file scip.c.

References NULL, SCIPsetIsFeasZero(), and Scip::set.

Referenced by addAltLPColumn(), addBranchingComplementaritiesSOS1(), calculateAlternatives(), checkAndConss(), checkCons(), checkIISlocal(), checkLinearConssVarboundSOS1(), checkLPBoundsClean(), checkOrigPbCons(), checkSwitchNonoverlappingSOS1Methods(), computeInteriorPoint(), createAndAddAndCons(), createConflict(), detectVarboundSOS1(), determineBound(), enforceConflictgraph(), enforceConssSOS1(), enforceCuts(), enforceIndicators(), enforceSOS2(), extendToCover(), fixVariableZeroNode(), generateAverageNBRay(), generateAverageRay(), generateClusterCuts(), generateDisjCutSOS1(), generateRowSOS2(), getBranchingPrioritiesSOS1(), getBranchingVerticesSOS1(), getDiveBdChgsSOS1constraints(), getFlowCover(), getSimplexCoefficients(), getVectorOfWeights(), initConflictgraph(), initMatrix(), isViolatedSOS1(), isZero(), makeSOS1conflictgraphFeasible(), makeSOS1constraintsFeasible(), markNeighborsMWISHeuristic(), preprocessConstraintPairs(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), printBoundSection(), printSolutionStatistics(), processBinvarFixings(), processFixings(), propagateVarbounds(), propIndicator(), propVariableNonzero(), readBinaries(), registerBranchingVariables(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PARAMCHGD(), SCIP_DECL_SEPAEXECLP(), SCIPaddVarImplication(), SCIPapplyProximity(), SCIPapplyZeroobj(), SCIPcalcCumulativeDistribution(), SCIPcutGenerationHeuristicCmir(), SCIPdummyDebugMethodForSun(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPmakeIndicatorFeasible(), SCIPselectVarStrongBranching(), sepaImplBoundCutsSOS1(), separateIISRounding(), setObjective(), tightenVarsBoundsSOS1(), transformVariable(), tryDelta(), updateImplicationGraphSOS1(), updateSlacks(), updateTransformation(), and updateWeightsTCliquegraph().

SCIP_Bool SCIPisFeasPositive ( SCIP scip,
SCIP_Real  val 
)

checks, if value is greater than feasibility tolerance

Parameters
scipSCIP data structure
valvalue to process

Definition at line 41984 of file scip.c.

References NULL, SCIPsetIsFeasPositive(), and Scip::set.

Referenced by addBranchingComplementaritiesSOS1(), computeCut(), consdataCreate(), createCGCutCMIR(), createCGCutStrongCG(), detectVarboundSOS1(), fixVariableZeroNode(), generateAverageNBRay(), generateBoundInequalityFromSOS1Cons(), generateClusterCuts(), generateCut(), generateCutFactorable(), generateCutLTI(), generateDisjCutSOS1(), generateLinearizationCutProject(), generateNeighborFacets(), generateSecantCut(), getBoundConsFromVertices(), getCover(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getNActiveConsScore(), getSOS1Implications(), getVectorOfWeights(), handleNewVariableSOS1(), handleNewVariableSOS2(), inferVariableZero(), initMatrix(), lockVariableSOS2(), makeSOS1conflictgraphFeasible(), makeSOS1constraintsFeasible(), nodeGetSolvalBinaryBigMSOS1(), nodepartitionIsConnected(), performImplicationGraphAnalysis(), preprocessConstraintPairs(), presolRoundConsSOS1(), presolRoundIndicator(), presolRoundSOS2(), propConsSOS1(), propIndicator(), proposeBranchingPoint(), propSOS2(), propVariableNonzero(), relaxVar(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_CONSTRANS(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPisViolatedIndicator(), SCIPmakeIndicatorFeasible(), separatePoint(), tightenVarsBoundsSOS1(), unlockVariableSOS2(), updateImplicationGraphSOS1(), and updateWeightsTCliquegraph().

SCIP_Bool SCIPisFeasNegative ( SCIP scip,
SCIP_Real  val 
)

checks, if value is lower than -feasibility tolerance

Parameters
scipSCIP data structure
valvalue to process

Definition at line 41996 of file scip.c.

References NULL, SCIPsetIsFeasNegative(), and Scip::set.

Referenced by addBranchingComplementaritiesSOS1(), computeCut(), createCGCutCMIR(), createCGCutStrongCG(), detectVarboundSOS1(), enforceIndicators(), extendToCover(), fixVariableZeroNode(), generateAverageNBRay(), generateBoundInequalityFromSOS1Cons(), generateCut(), generateCutFactorable(), generateCutLTI(), generateLinearizationCut(), generateLinearizationCutProject(), getBoundConsFromVertices(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getNActiveConsScore(), getSOS1Implications(), handleNewVariableSOS1(), handleNewVariableSOS2(), inferVariableZero(), initMatrix(), lockVariableSOS2(), makeSOS1conflictgraphFeasible(), makeSOS1constraintsFeasible(), nodeGetSolvalBinaryBigMSOS1(), performImplicationGraphAnalysis(), preprocessConstraintPairs(), presolRoundConsSOS1(), presolRoundSOS2(), propConsSOS1(), proposeBranchingPoint(), propSOS2(), propVariableNonzero(), registerBranchingCandidatesGap(), relaxVar(), rowCalculateGauss(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_CONSTRANS(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPmakeIndicatorFeasible(), sepaImplBoundCutsSOS1(), separateCons(), separateConsBinaryRepresentation(), separateCoverCutsCons(), separateIndicators(), tightenVarsBoundsSOS1(), unlockVariableSOS2(), updateImplicationGraphSOS1(), updateSlacks(), and updateWeightsTCliquegraph().

SCIP_Bool SCIPisFeasIntegral ( SCIP scip,
SCIP_Real  val 
)

checks, if value is integral within the LP feasibility bounds

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42008 of file scip.c.

References NULL, SCIPsetIsFeasIntegral(), and Scip::set.

Referenced by addGLSCliques(), addLocalBranchingConstraint(), addNextLevelCliques(), aggregation(), checkCons(), checkCumulativeCondition(), checkRedundancySide(), chooseDoubleVar(), computeFixingrate(), countSparseSol(), createAndAddLinearCons(), createCGCutDirect(), createCoreProfile(), createNormalizedKnapsack(), createSelectedSortedEventpointsSol(), createSubproblem(), createSubscip(), CUTOFF_CONSTRAINT(), determineBound(), enforceCuts(), execRelpscost(), fixAndPropagate(), fixVariable(), getFlowCover(), getHighestCapacityUsage(), getNLPFracVars(), insertSortedRootNeighbors(), nodepartitionIsConnected(), optimize(), performFixing(), performRandRounding(), performRelaxSimpleRounding(), performSimpleRounding(), propagateCons(), readBounds(), readGenerals(), resolvePropagationCoretimes(), roundFixingValue(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_HEUREXEC(), SCIP_DECL_LINCONSUPGD(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SEPAEXECSOL(), SCIPapplyHeurSubNlp(), SCIPconvertRealToInt(), SCIPconvertRealToLongint(), SCIPresolveSolHeurSubNlp(), SCIPselectVarPseudoStrongBranching(), SCIPwriteCliqueGraph(), selectEssentialRounding(), selectRounding(), selectShifting(), selectVarMultAggrBranching(), separateCuts(), separateGLS(), separateHeur(), tightenBounds(), tightenCoefs(), writeFzn(), and writeOpbRelevantAnds().

SCIP_Bool SCIPisFeasFracIntegral ( SCIP scip,
SCIP_Real  val 
)

checks, if given fractional part is smaller than feastol

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42020 of file scip.c.

References NULL, SCIPsetIsFeasFracIntegral(), and Scip::set.

SCIP_Real SCIPfeasRound ( SCIP scip,
SCIP_Real  val 
)

rounds value to the nearest integer in feasibility tolerance

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42056 of file scip.c.

References NULL, SCIPsetFeasRound(), and Scip::set.

SCIP_Real SCIPfeasFrac ( SCIP scip,
SCIP_Real  val 
)

returns fractional part of value, i.e. x - floor(x) in feasibility tolerance

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42068 of file scip.c.

References NULL, SCIPsetFeasFrac(), and Scip::set.

Referenced by handle1Cycle(), handleCycle(), roundFixingValue(), and SCIP_DECL_SEPAEXECLP().

SCIP_Bool SCIPisDualfeasEQ ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of values is in range of dual feasibility tolerance

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42080 of file scip.c.

References NULL, SCIPsetIsDualfeasEQ(), and Scip::set.

SCIP_Bool SCIPisDualfeasLT ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference val1 and val2 is lower than dual feasibility tolerance

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42093 of file scip.c.

References NULL, SCIPsetIsDualfeasLT(), and Scip::set.

SCIP_Bool SCIPisDualfeasLE ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is not greater than dual feasibility tolerance

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42106 of file scip.c.

References NULL, SCIPsetIsDualfeasLE(), and Scip::set.

SCIP_Bool SCIPisDualfeasGT ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is greater than dual feasibility tolerance

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42119 of file scip.c.

References NULL, SCIPsetIsDualfeasGT(), and Scip::set.

SCIP_Bool SCIPisDualfeasGE ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is not lower than -dual feasibility tolerance

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42132 of file scip.c.

References NULL, SCIPsetIsDualfeasGE(), and Scip::set.

SCIP_Bool SCIPisDualfeasZero ( SCIP scip,
SCIP_Real  val 
)

checks, if value is in range dual feasibility tolerance of 0.0

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42145 of file scip.c.

References NULL, SCIPsetIsDualfeasZero(), and Scip::set.

Referenced by countNonZeroRootRedcostVars(), propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), propagateRootRedcostVar(), and propdataInit().

SCIP_Bool SCIPisDualfeasPositive ( SCIP scip,
SCIP_Real  val 
)

checks, if value is greater than dual feasibility tolerance

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42157 of file scip.c.

References NULL, SCIPsetIsDualfeasPositive(), and Scip::set.

Referenced by propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), and propagateRootRedcostVar().

SCIP_Bool SCIPisDualfeasNegative ( SCIP scip,
SCIP_Real  val 
)

checks, if value is lower than -dual feasibility tolerance

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42169 of file scip.c.

References NULL, SCIPsetIsDualfeasNegative(), and Scip::set.

Referenced by propagateRedcostBinvar(), propagateRedcostVar(), propagateRootRedcostBinvar(), and propagateRootRedcostVar().

SCIP_Bool SCIPisDualfeasIntegral ( SCIP scip,
SCIP_Real  val 
)

checks, if value is integral within the LP dual feasibility tolerance

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42181 of file scip.c.

References NULL, SCIPsetIsDualfeasIntegral(), and Scip::set.

SCIP_Bool SCIPisDualfeasFracIntegral ( SCIP scip,
SCIP_Real  val 
)

checks, if given fractional part is smaller than dual feasibility tolerance

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42193 of file scip.c.

References NULL, SCIPsetIsDualfeasFracIntegral(), and Scip::set.

SCIP_Real SCIPdualfeasFloor ( SCIP scip,
SCIP_Real  val 
)

rounds value + dual feasibility tolerance down to the next integer

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42205 of file scip.c.

References NULL, SCIPsetDualfeasFloor(), and Scip::set.

SCIP_Real SCIPdualfeasCeil ( SCIP scip,
SCIP_Real  val 
)

rounds value - dual feasibility tolerance up to the next integer

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42217 of file scip.c.

References NULL, SCIPsetDualfeasCeil(), and Scip::set.

SCIP_Real SCIPdualfeasRound ( SCIP scip,
SCIP_Real  val 
)

rounds value to the nearest integer in dual feasibility tolerance

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42229 of file scip.c.

References NULL, SCIPsetDualfeasRound(), and Scip::set.

SCIP_Real SCIPdualfeasFrac ( SCIP scip,
SCIP_Real  val 
)

returns fractional part of value, i.e. x - floor(x) in dual feasibility tolerance

Parameters
scipSCIP data structure
valvalue to process

Definition at line 42241 of file scip.c.

References NULL, SCIPsetDualfeasFrac(), and Scip::set.

SCIP_Bool SCIPisLbBetter ( SCIP scip,
SCIP_Real  newlb,
SCIP_Real  oldlb,
SCIP_Real  oldub 
)

checks, if the given new lower bound is at least min(oldub - oldlb, |oldlb|) times the bound strengthening epsilon better than the old one

Parameters
scipSCIP data structure
newlbnew lower bound
oldlbold lower bound
oldubold upper bound

Definition at line 42255 of file scip.c.

References NULL, SCIPsetIsLbBetter(), and Scip::set.

Referenced by performFixing(), propagateCons(), and SCIPanalyzeDeductionsProbing().

SCIP_Bool SCIPisUbBetter ( SCIP scip,
SCIP_Real  newub,
SCIP_Real  oldlb,
SCIP_Real  oldub 
)

checks, if the given new upper bound is at least min(oldub - oldlb, |oldub|) times the bound strengthening epsilon better than the old one

Parameters
scipSCIP data structure
newubnew upper bound
oldlbold lower bound
oldubold upper bound

Definition at line 42270 of file scip.c.

References NULL, SCIPsetIsUbBetter(), and Scip::set.

Referenced by performFixing(), propagateCons(), and SCIPanalyzeDeductionsProbing().

SCIP_Bool SCIPisRelLT ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is lower than epsilon

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42296 of file scip.c.

References NULL, SCIPsetIsRelLT(), and Scip::set.

SCIP_Bool SCIPisRelLE ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is not greater than epsilon

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42309 of file scip.c.

References NULL, SCIPsetIsRelLE(), and Scip::set.

Referenced by addConcaveEstimatorBivariate(), and addLinearConstraints().

SCIP_Bool SCIPisRelGT ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is greater than epsilon

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42322 of file scip.c.

References NULL, SCIPsetIsRelGT(), and Scip::set.

Referenced by SCIPupdateStartpointHeurSubNlp().

SCIP_Bool SCIPisRelGE ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is not lower than -epsilon

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42335 of file scip.c.

References NULL, SCIPsetIsRelGE(), and Scip::set.

SCIP_Bool SCIPisSumRelEQ ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of values is in range of sumepsilon

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42348 of file scip.c.

References NULL, SCIPsetIsSumRelEQ(), and Scip::set.

SCIP_Bool SCIPisSumRelLT ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is lower than sumepsilon

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42361 of file scip.c.

References NULL, SCIPsetIsSumRelLT(), and Scip::set.

SCIP_Bool SCIPisSumRelLE ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is not greater than sumepsilon

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42374 of file scip.c.

References NULL, SCIPsetIsSumRelLE(), and Scip::set.

SCIP_Bool SCIPisSumRelGT ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is greater than sumepsilon

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42387 of file scip.c.

References NULL, SCIPsetIsSumRelGT(), and Scip::set.

SCIP_Bool SCIPisSumRelGE ( SCIP scip,
SCIP_Real  val1,
SCIP_Real  val2 
)

checks, if relative difference of val1 and val2 is not lower than -sumepsilon

Parameters
scipSCIP data structure
val1first value to be compared
val2second value to be compared

Definition at line 42400 of file scip.c.

References NULL, SCIPsetIsSumRelGE(), and Scip::set.

int SCIPconvertRealToInt ( SCIP scip,
SCIP_Real  real 
)
SCIP_Longint SCIPconvertRealToLongint ( SCIP scip,
SCIP_Real  real 
)

converts the given real number representing an integer to a long integer; in optimized mode the function gets inlined for performance; in debug mode we check some additional conditions

Parameters
scipSCIP data structure
realdouble bound to convert

Definition at line 42431 of file scip.c.

References SCIP_Longint, SCIP_LONGINT_MAX, SCIP_LONGINT_MIN, SCIP_Real, SCIPisFeasEQ(), and SCIPisFeasIntegral().

Referenced by collectSolution(), and printValue().

SCIP_Bool SCIPisUpdateUnreliable ( SCIP scip,
SCIP_Real  newvalue,
SCIP_Real  oldvalue 
)

Checks, if an iteratively updated value is reliable or should be recomputed from scratch. This is useful, if the value, e.g., the activity of a linear constraint or the pseudo objective value, gets a high absolute value during the optimization process which is later reduced significantly. In this case, the last digits were canceled out when increasing the value and are random after decreasing it. We do not consider the cancellations which can occur during increasing the absolute value because they just cannot be expressed using fixed precision floating point arithmetic, anymore. In order to get more reliable values, the idea is to always store the last reliable value, where increasing the absolute of the value is viewed as preserving reliability. Then, after each update, the new absolute value can be compared against the last reliable one with this method, checking whether it was decreased by a factor of at least "lp/recompfac" and should be recomputed.

Parameters
scipSCIP data structure
newvaluenew value after update
oldvalueold value, i.e., last reliable value

Definition at line 42455 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL_ABORT, SCIPsetIsUpdateUnreliable(), Scip::set, and TRUE.

SCIP_RETCODE SCIPcreateRealarray ( SCIP scip,
SCIP_REALARRAY **  realarray 
)

creates a dynamic array of real values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
realarraypointer to store the real array

Definition at line 42473 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), and SCIPrealarrayCreate().

SCIP_RETCODE SCIPfreeRealarray ( SCIP scip,
SCIP_REALARRAY **  realarray 
)

frees a dynamic array of real values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
realarraypointer to the real array

Definition at line 42490 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPrealarrayFree().

SCIP_RETCODE SCIPextendRealarray ( SCIP scip,
SCIP_REALARRAY realarray,
int  minidx,
int  maxidx 
)

extends dynamic array to be able to store indices from minidx to maxidx

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
realarraydynamic real array
minidxsmallest index to allocate storage for
maxidxlargest index to allocate storage for

Definition at line 42507 of file scip.c.

References SCIP_Set::mem_arraygrowfac, SCIP_Set::mem_arraygrowinit, NULL, SCIP_CALL, SCIP_OKAY, SCIPrealarrayExtend(), and Scip::set.

SCIP_RETCODE SCIPclearRealarray ( SCIP scip,
SCIP_REALARRAY realarray 
)

clears a dynamic real array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
realarraydynamic real array

Definition at line 42526 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPrealarrayClear().

SCIP_Real SCIPgetRealarrayVal ( SCIP scip,
SCIP_REALARRAY realarray,
int  idx 
)

gets value of entry in dynamic array

Returns
value of entry in dynamic array
Parameters
scipSCIP data structure
realarraydynamic real array
idxarray index to get value for

Definition at line 42542 of file scip.c.

References NULL, and SCIPrealarrayGetVal().

SCIP_RETCODE SCIPsetRealarrayVal ( SCIP scip,
SCIP_REALARRAY realarray,
int  idx,
SCIP_Real  val 
)

sets value of entry in dynamic array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
realarraydynamic real array
idxarray index to set value for
valvalue to set array index to

Definition at line 42558 of file scip.c.

References SCIP_Set::mem_arraygrowfac, SCIP_Set::mem_arraygrowinit, NULL, SCIP_CALL, SCIP_OKAY, SCIPrealarraySetVal(), and Scip::set.

SCIP_RETCODE SCIPincRealarrayVal ( SCIP scip,
SCIP_REALARRAY realarray,
int  idx,
SCIP_Real  incval 
)

increases value of entry in dynamic array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
realarraydynamic real array
idxarray index to increase value for
incvalvalue to increase array index

Definition at line 42577 of file scip.c.

References SCIP_Set::mem_arraygrowfac, SCIP_Set::mem_arraygrowinit, NULL, SCIP_CALL, SCIP_OKAY, SCIPrealarrayIncVal(), and Scip::set.

int SCIPgetRealarrayMinIdx ( SCIP scip,
SCIP_REALARRAY realarray 
)

returns the minimal index of all stored non-zero elements

Returns
the minimal index of all stored non-zero elements
Parameters
scipSCIP data structure
realarraydynamic real array

Definition at line 42595 of file scip.c.

References NULL, and SCIPrealarrayGetMinIdx().

int SCIPgetRealarrayMaxIdx ( SCIP scip,
SCIP_REALARRAY realarray 
)

returns the maximal index of all stored non-zero elements

Returns
the maximal index of all stored non-zero elements
Parameters
scipSCIP data structure
realarraydynamic real array

Definition at line 42609 of file scip.c.

References NULL, and SCIPrealarrayGetMaxIdx().

SCIP_RETCODE SCIPcreateIntarray ( SCIP scip,
SCIP_INTARRAY **  intarray 
)

creates a dynamic array of int values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
intarraypointer to store the int array

Definition at line 42624 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), and SCIPintarrayCreate().

SCIP_RETCODE SCIPfreeIntarray ( SCIP scip,
SCIP_INTARRAY **  intarray 
)

frees a dynamic array of int values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
intarraypointer to the int array

Definition at line 42641 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPintarrayFree().

SCIP_RETCODE SCIPextendIntarray ( SCIP scip,
SCIP_INTARRAY intarray,
int  minidx,
int  maxidx 
)

extends dynamic array to be able to store indices from minidx to maxidx

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
intarraydynamic int array
minidxsmallest index to allocate storage for
maxidxlargest index to allocate storage for

Definition at line 42658 of file scip.c.

References SCIP_Set::mem_arraygrowfac, SCIP_Set::mem_arraygrowinit, NULL, SCIP_CALL, SCIP_OKAY, SCIPintarrayExtend(), and Scip::set.

SCIP_RETCODE SCIPclearIntarray ( SCIP scip,
SCIP_INTARRAY intarray 
)

clears a dynamic int array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
intarraydynamic int array

Definition at line 42677 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPintarrayClear().

int SCIPgetIntarrayVal ( SCIP scip,
SCIP_INTARRAY intarray,
int  idx 
)

gets value of entry in dynamic array

Returns
value of entry in dynamic array
Parameters
scipSCIP data structure
intarraydynamic int array
idxarray index to get value for

Definition at line 42693 of file scip.c.

References NULL, and SCIPintarrayGetVal().

SCIP_RETCODE SCIPsetIntarrayVal ( SCIP scip,
SCIP_INTARRAY intarray,
int  idx,
int  val 
)

sets value of entry in dynamic array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
intarraydynamic int array
idxarray index to set value for
valvalue to set array index to

Definition at line 42709 of file scip.c.

References SCIP_Set::mem_arraygrowfac, SCIP_Set::mem_arraygrowinit, NULL, SCIP_CALL, SCIP_OKAY, SCIPintarraySetVal(), and Scip::set.

SCIP_RETCODE SCIPincIntarrayVal ( SCIP scip,
SCIP_INTARRAY intarray,
int  idx,
int  incval 
)

increases value of entry in dynamic array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
intarraydynamic int array
idxarray index to increase value for
incvalvalue to increase array index

Definition at line 42728 of file scip.c.

References SCIP_Set::mem_arraygrowfac, SCIP_Set::mem_arraygrowinit, NULL, SCIP_CALL, SCIP_OKAY, SCIPintarrayIncVal(), and Scip::set.

int SCIPgetIntarrayMinIdx ( SCIP scip,
SCIP_INTARRAY intarray 
)

returns the minimal index of all stored non-zero elements

Returns
the minimal index of all stored non-zero elements
Parameters
scipSCIP data structure
intarraydynamic int array

Definition at line 42746 of file scip.c.

References NULL, and SCIPintarrayGetMinIdx().

int SCIPgetIntarrayMaxIdx ( SCIP scip,
SCIP_INTARRAY intarray 
)

returns the maximal index of all stored non-zero elements

Returns
the maximal index of all stored non-zero elements
Parameters
scipSCIP data structure
intarraydynamic int array

Definition at line 42760 of file scip.c.

References NULL, and SCIPintarrayGetMaxIdx().

SCIP_RETCODE SCIPcreateBoolarray ( SCIP scip,
SCIP_BOOLARRAY **  boolarray 
)

creates a dynamic array of bool values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
boolarraypointer to store the bool array

Definition at line 42775 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), and SCIPboolarrayCreate().

SCIP_RETCODE SCIPfreeBoolarray ( SCIP scip,
SCIP_BOOLARRAY **  boolarray 
)

frees a dynamic array of bool values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
boolarraypointer to the bool array

Definition at line 42792 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPboolarrayFree().

SCIP_RETCODE SCIPextendBoolarray ( SCIP scip,
SCIP_BOOLARRAY boolarray,
int  minidx,
int  maxidx 
)

extends dynamic array to be able to store indices from minidx to maxidx

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
boolarraydynamic bool array
minidxsmallest index to allocate storage for
maxidxlargest index to allocate storage for

Definition at line 42809 of file scip.c.

References SCIP_Set::mem_arraygrowfac, SCIP_Set::mem_arraygrowinit, NULL, SCIP_CALL, SCIP_OKAY, SCIPboolarrayExtend(), and Scip::set.

SCIP_RETCODE SCIPclearBoolarray ( SCIP scip,
SCIP_BOOLARRAY boolarray 
)

clears a dynamic bool array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
boolarraydynamic bool array

Definition at line 42828 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPboolarrayClear().

SCIP_Bool SCIPgetBoolarrayVal ( SCIP scip,
SCIP_BOOLARRAY boolarray,
int  idx 
)

gets value of entry in dynamic array

Returns
value of entry in dynamic array at position idx
Parameters
scipSCIP data structure
boolarraydynamic bool array
idxarray index to get value for

Definition at line 42844 of file scip.c.

References NULL, and SCIPboolarrayGetVal().

SCIP_RETCODE SCIPsetBoolarrayVal ( SCIP scip,
SCIP_BOOLARRAY boolarray,
int  idx,
SCIP_Bool  val 
)

sets value of entry in dynamic array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
boolarraydynamic bool array
idxarray index to set value for
valvalue to set array index to

Definition at line 42860 of file scip.c.

References SCIP_Set::mem_arraygrowfac, SCIP_Set::mem_arraygrowinit, NULL, SCIP_CALL, SCIP_OKAY, SCIPboolarraySetVal(), and Scip::set.

int SCIPgetBoolarrayMinIdx ( SCIP scip,
SCIP_BOOLARRAY boolarray 
)

returns the minimal index of all stored non-zero elements

Returns
the minimal index of all stored non-zero elements
Parameters
scipSCIP data structure
boolarraydynamic bool array

Definition at line 42878 of file scip.c.

References NULL, and SCIPboolarrayGetMinIdx().

int SCIPgetBoolarrayMaxIdx ( SCIP scip,
SCIP_BOOLARRAY boolarray 
)

returns the maximal index of all stored non-zero elements

Returns
the maximal index of all stored non-zero elements
Parameters
scipSCIP data structure
boolarraydynamic bool array

Definition at line 42892 of file scip.c.

References NULL, and SCIPboolarrayGetMaxIdx().

SCIP_RETCODE SCIPcreatePtrarray ( SCIP scip,
SCIP_PTRARRAY **  ptrarray 
)

creates a dynamic array of pointers

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
ptrarraypointer to store the int array

Definition at line 42907 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), and SCIPptrarrayCreate().

SCIP_RETCODE SCIPfreePtrarray ( SCIP scip,
SCIP_PTRARRAY **  ptrarray 
)

frees a dynamic array of pointers

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
ptrarraypointer to the int array

Definition at line 42924 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPptrarrayFree().

SCIP_RETCODE SCIPextendPtrarray ( SCIP scip,
SCIP_PTRARRAY ptrarray,
int  minidx,
int  maxidx 
)

extends dynamic array to be able to store indices from minidx to maxidx

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
ptrarraydynamic int array
minidxsmallest index to allocate storage for
maxidxlargest index to allocate storage for

Definition at line 42941 of file scip.c.

References SCIP_Set::mem_arraygrowfac, SCIP_Set::mem_arraygrowinit, NULL, SCIP_CALL, SCIP_OKAY, SCIPptrarrayExtend(), and Scip::set.

SCIP_RETCODE SCIPclearPtrarray ( SCIP scip,
SCIP_PTRARRAY ptrarray 
)

clears a dynamic pointer array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
ptrarraydynamic int array

Definition at line 42960 of file scip.c.

References NULL, SCIP_CALL, SCIP_OKAY, and SCIPptrarrayClear().

void* SCIPgetPtrarrayVal ( SCIP scip,
SCIP_PTRARRAY ptrarray,
int  idx 
)

gets value of entry in dynamic array

Parameters
scipSCIP data structure
ptrarraydynamic int array
idxarray index to get value for

Definition at line 42973 of file scip.c.

References NULL, and SCIPptrarrayGetVal().

SCIP_RETCODE SCIPsetPtrarrayVal ( SCIP scip,
SCIP_PTRARRAY ptrarray,
int  idx,
void *  val 
)

sets value of entry in dynamic array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
ptrarraydynamic int array
idxarray index to set value for
valvalue to set array index to

Definition at line 42989 of file scip.c.

References SCIP_Set::mem_arraygrowfac, SCIP_Set::mem_arraygrowinit, NULL, SCIP_CALL, SCIP_OKAY, SCIPptrarraySetVal(), and Scip::set.

int SCIPgetPtrarrayMinIdx ( SCIP scip,
SCIP_PTRARRAY ptrarray 
)

returns the minimal index of all stored non-zero elements

Returns
the minimal index of all stored non-zero elements
Parameters
scipSCIP data structure
ptrarraydynamic ptr array

Definition at line 43007 of file scip.c.

References NULL, and SCIPptrarrayGetMinIdx().

int SCIPgetPtrarrayMaxIdx ( SCIP scip,
SCIP_PTRARRAY ptrarray 
)

returns the maximal index of all stored non-zero elements

Returns
the maximal index of all stored non-zero elements
Parameters
scipSCIP data structure
ptrarraydynamic ptr array

Definition at line 43021 of file scip.c.

References NULL, and SCIPptrarrayGetMaxIdx().