33#ifndef __SCIP_PROB_H__
34#define __SCIP_PROB_H__
677#define SCIPprobIsPermuted(prob) ((prob)->permuted)
678#define SCIPprobMarkPermuted(prob) ((prob)->permuted = TRUE)
679#define SCIPprobIsTransformed(prob) ((prob)->transformed)
680#define SCIPprobIsObjIntegral(prob) ((prob)->objisintegral)
681#define SCIPprobAllColsInLP(prob,set,lp) (SCIPlpGetNCols(lp) == (prob)->ncolvars && (set)->nactivepricers == 0)
682#define SCIPprobGetObjlim(prob,set) \
683 ((prob)->objlim >= SCIP_INVALID ? (SCIP_Real)((prob)->objsense) * SCIPsetInfinity(set) : (prob)->objlim)
684#define SCIPprobGetData(prob) ((prob)->probdata)
685#define SCIPprobGetName(prob) ((prob)->name)
686#define SCIPprobGetName(prob) ((prob)->name)
687#define SCIPprobGetNVars(prob) ((prob)->nvars)
688#define SCIPprobGetNBinVars(prob) ((prob)->nbinvars)
689#define SCIPprobGetNIntVars(prob) ((prob)->nintvars)
690#define SCIPprobGetNImplVars(prob) ((prob)->nimplvars)
691#define SCIPprobGetNContVars(prob) ((prob)->ncontvars)
692#define SCIPprobGetVars(prob) ((prob)->vars)
693#define SCIPprobGetNFixedVars(prob) ((prob)->nfixedvars)
694#define SCIPprobGetFixedVars(prob) ((prob)->fixedvars)
695#define SCIPprobGetStartNVars(prob) ((prob)->startnvars)
696#define SCIPprobGetNConss(prob) ((prob)->nconss)
697#define SCIPprobGetConss(prob) ((prob)->conss)
698#define SCIPprobGetMaxNConss(prob) ((prob)->maxnconss)
699#define SCIPprobGetStartNConss(prob) ((prob)->startnconss)
700#define SCIPprobGetObjsense(prob) ((prob)->objsense)
701#define SCIPprobGetObjoffset(prob) ((prob)->objoffset)
702#define SCIPprobGetObjscale(prob) ((prob)->objscale)
703#define SCIPprobIsConsCompressionEnabled(prob) ((prob)->conscompression)
704#define SCIPprobEnableConsCompression(prob) ((prob)->conscompression = TRUE)
common defines and data types used in all packages of SCIP
memory allocation routines
struct BMS_BlkMem BMS_BLKMEM
void SCIPprobSetDelorig(SCIP_PROB *prob,)
SCIP_RETCODE SCIPprobScaleObj(SCIP_PROB *transprob, SCIP_PROB *origprob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue)
void SCIPprobSetExitsol(SCIP_PROB *prob,)
void SCIPprobPrintStatistics(SCIP_PROB *prob, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
void SCIPprobSetCopy(SCIP_PROB *prob,)
SCIP_Bool SCIPprobIsPermuted(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobExitPresolve(SCIP_PROB *prob, SCIP_SET *set)
void SCIPprobUpdateNObjVars(SCIP_PROB *prob, SCIP_SET *set, SCIP_Real oldobj, SCIP_Real newobj)
int SCIPprobGetNContVars(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobAddConsName(SCIP_PROB *prob, SCIP_CONS *cons)
SCIP_CONS ** SCIPprobGetConss(SCIP_PROB *prob)
int SCIPprobGetNFixedVars(SCIP_PROB *prob)
void SCIPprobInvalidateDualbound(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobAddVarName(SCIP_PROB *prob, SCIP_VAR *var)
void SCIPprobSetObjIntegral(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobAddVar(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *var)
SCIP_RETCODE SCIPprobVarChangedStatus(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_BRANCHCAND *branchcand, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var)
const char * SCIPprobGetName(SCIP_PROB *prob)
SCIP_Real SCIPprobGetObjoffset(SCIP_PROB *prob)
int SCIPprobGetNConss(SCIP_PROB *prob)
int SCIPprobGetNObjVars(SCIP_PROB *prob, SCIP_SET *set)
SCIP_Real SCIPprobGetAbsMinObjCoef(SCIP_PROB *prob, SCIP_SET *set)
SCIP_RETCODE SCIPprobPerformVarDeletions(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand)
void SCIPprobSetTrans(SCIP_PROB *prob,)
SCIP_Real SCIPprobGetAbsMaxObjCoef(SCIP_PROB *prob, SCIP_SET *set)
SCIP_RETCODE SCIPprobRemoveVarName(SCIP_PROB *prob, SCIP_VAR *var)
int SCIPprobGetNImplBinVars(SCIP_PROB *prob)
int SCIPprobGetStartNConss(SCIP_PROB *prob)
SCIP_Real SCIPprobGetObjlim(SCIP_PROB *prob, SCIP_SET *set)
void SCIPprobUpdateDualbound(SCIP_PROB *prob, SCIP_Real newbound)
SCIP_RETCODE SCIPprobInitSolve(SCIP_PROB *prob, SCIP_SET *set)
void SCIPprobMarkNConss(SCIP_PROB *prob)
SCIP_OBJSENSE SCIPprobGetObjsense(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobTransform(SCIP_PROB *source, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, SCIP_CONFLICTSTORE *conflictstore, SCIP_PROB **target)
void SCIPprobPrintPseudoSol(SCIP_PROB *prob, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
int SCIPprobGetStartNVars(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobSetName(SCIP_PROB *prob, const char *name)
void SCIPprobSetData(SCIP_PROB *prob, SCIP_PROBDATA *probdata)
SCIP_Real SCIPprobGetObjscale(SCIP_PROB *prob)
void SCIPprobAddObjoffset(SCIP_PROB *prob, SCIP_Real addval)
SCIP_RETCODE SCIPprobCheckObjIntegral(SCIP_PROB *transprob, SCIP_PROB *origprob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue)
SCIP_VAR * SCIPprobFindVar(SCIP_PROB *prob, const char *name)
int SCIPprobGetNImplVars(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobExitSolve(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp, SCIP_Bool restart)
SCIP_RETCODE SCIPprobCreate(SCIP_PROB **prob, BMS_BLKMEM *blkmem, SCIP_SET *set, 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_Bool transformed)
void SCIPprobSetObjlim(SCIP_PROB *prob, SCIP_Real objlim)
SCIP_VAR ** SCIPprobGetFixedVars(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobDelVar(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *var, SCIP_Bool *deleted)
SCIP_Bool SCIPprobIsObjIntegral(SCIP_PROB *prob)
void SCIPprobEnableConsCompression(SCIP_PROB *prob)
SCIP_CONS * SCIPprobFindCons(SCIP_PROB *prob, const char *name)
void SCIPprobMarkPermuted(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobRemoveConsName(SCIP_PROB *prob, SCIP_CONS *cons)
int SCIPprobGetNIntVars(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobDelCons(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
int SCIPprobGetNVars(SCIP_PROB *prob)
SCIP_PROBDATA * SCIPprobGetData(SCIP_PROB *prob)
void SCIPprobSetInitsol(SCIP_PROB *prob,)
SCIP_RETCODE SCIPprobChgVarType(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PRIMAL *primal, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var, SCIP_VARTYPE vartype)
SCIP_Real SCIPprobExternObjval(SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_Real objval)
void SCIPprobResortVars(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobFree(SCIP_PROB **prob, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
SCIP_RETCODE SCIPprobCopy(SCIP_PROB **prob, BMS_BLKMEM *blkmem, SCIP_SET *set, const char *name, SCIP *sourcescip, SCIP_PROB *sourceprob, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool original, SCIP_Bool global)
SCIP_RETCODE SCIPprobAddCons(SCIP_PROB *prob, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
int SCIPprobGetMaxNConss(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobResetBounds(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
void SCIPprobSetDualbound(SCIP_PROB *prob, SCIP_Real dualbound)
void SCIPprobStoreRootSol(SCIP_PROB *prob, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_Bool roothaslp)
int SCIPprobGetNBinVars(SCIP_PROB *prob)
SCIP_VAR ** SCIPprobGetVars(SCIP_PROB *prob)
void SCIPprobSetDeltrans(SCIP_PROB *prob,)
SCIP_Bool SCIPprobAllColsInLP(SCIP_PROB *prob, SCIP_SET *set, SCIP_LP *lp)
void SCIPprobUpdateBestRootSol(SCIP_PROB *prob, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp)
SCIP_Bool SCIPprobIsTransformed(SCIP_PROB *prob)
SCIP_Bool SCIPprobIsConsCompressionEnabled(SCIP_PROB *prob)
void SCIPprobSetObjsense(SCIP_PROB *prob, SCIP_OBJSENSE objsense)
SCIP_Real SCIPprobInternObjval(SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_Real objval)
SCIP_RETCODE SCIPprobSortConssCheck(SCIP_PROB *prob)
datastructures for storing and manipulating the main problem
type definitions for branching rules
struct SCIP_BranchCand SCIP_BRANCHCAND
type definitions for conflict store
struct SCIP_ConflictStore SCIP_CONFLICTSTORE
type definitions for constraints and constraint handlers
struct SCIP_Cons SCIP_CONS
type definitions for managing events
struct SCIP_EventFilter SCIP_EVENTFILTER
struct SCIP_EventQueue SCIP_EVENTQUEUE
type definitions for implications, variable bounds, and cliques
struct SCIP_CliqueTable SCIP_CLIQUETABLE
type definitions for LP management
type definitions for message output methods
struct SCIP_Messagehdlr SCIP_MESSAGEHDLR
type definitions for miscellaneous datastructures
struct SCIP_HashMap SCIP_HASHMAP
type definitions for collecting primal CIP solutions and primal informations
struct SCIP_Primal SCIP_PRIMAL
type definitions for storing and manipulating the main problem
#define SCIP_DECL_PROBCOPY(x)
#define SCIP_DECL_PROBDELTRANS(x)
#define SCIP_DECL_PROBEXITSOL(x)
struct SCIP_ProbData SCIP_PROBDATA
struct SCIP_Prob SCIP_PROB
#define SCIP_DECL_PROBDELORIG(x)
#define SCIP_DECL_PROBTRANS(x)
#define SCIP_DECL_PROBINITSOL(x)
enum SCIP_Objsense SCIP_OBJSENSE
type definitions for collecting reoptimization information
struct SCIP_Reopt SCIP_REOPT
type definitions for return codes for SCIP methods
enum SCIP_Retcode SCIP_RETCODE
type definitions for global SCIP settings
type definitions for problem statistics
struct SCIP_Stat SCIP_STAT
type definitions for branch and bound tree
struct SCIP_Tree SCIP_TREE
type definitions for problem variables
enum SCIP_Vartype SCIP_VARTYPE