SCIP callable library.
Definition in file scip.c.
#include <ctype.h>
#include <stdarg.h>
#include <assert.h>
#include <string.h>
#include <strings.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/conflictstore.h"
#include "scip/syncstore.h"
#include "scip/cutpool.h"
#include "scip/solve.h"
#include "scip/scipbuildflags.h"
#include "scip/scipgithash.h"
#include "scip/cuts.h"
#include "scip/scip.h"
#include "lpi/lpi.h"
#include "scip/scipcoreplugins.h"
#include "scip/branch.h"
#include "scip/conflict.h"
#include "scip/cons.h"
#include "scip/dialog.h"
#include "scip/disp.h"
#include "scip/table.h"
#include "scip/heur.h"
#include "scip/concsolver.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/concurrent.h"
#include "xml/xml.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 | MAXNCLIQUEVARSCOMP 1000000 |
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) |
#define MAXNCLIQUEVARSCOMP 1000000 |
Definition at line 24415 of file scip.c.
Referenced by calcCliquePartitionGreedy(), and 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 33044 of file scip.c.
Referenced by SCIPevalExprtreeGlobalBounds(), and SCIPevalExprtreeLocalBounds().
|
static |
checks, if SCIP is in one of the feasible stages
scip | SCIP data structure |
method | method that was called |
init | may method be called in the INIT stage? |
problem | may method be called in the PROBLEM stage? |
transforming | may method be called in the TRANSFORMING stage? |
transformed | may method be called in the TRANSFORMED stage? |
initpresolve | may method be called in the INITPRESOLVE stage? |
presolving | may method be called in the PRESOLVING stage? |
exitpresolve | may method be called in the EXITPRESOLE stage? |
presolved | may method be called in the PRESOLVED stage? |
initsolve | may method be called in the INITSOLVE stage? |
solving | may method be called in the SOLVING stage? |
solved | may method be called in the SOLVED stage? |
exitsolve | may method be called in the EXITSOLVE stage? |
freetrans | may method be called in the FREETRANS stage? |
freescip | may method be called in the FREE stage? |
Definition at line 142 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, 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(), SCIPaddConflict(), SCIPaddConflictBd(), SCIPaddConflictBinvar(), SCIPaddConflictLb(), SCIPaddConflictRelaxedBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictUb(), SCIPaddCons(), SCIPaddConsAge(), SCIPaddConsLocal(), SCIPaddConsLocks(), SCIPaddConsNode(), SCIPaddCurrentSol(), SCIPaddCut(), SCIPaddDelayedPoolCut(), SCIPaddDiveBoundChange(), SCIPaddExternBranchCand(), SCIPaddLinearCoefsToNlRow(), SCIPaddLinearCoefToNlRow(), SCIPaddNewRowCutpool(), SCIPaddNlRow(), SCIPaddNNodes(), SCIPaddObjoffset(), SCIPaddOrigObjoffset(), SCIPaddPoolCut(), SCIPaddPricedVar(), SCIPaddQuadElementsToNlRow(), SCIPaddQuadElementToNlRow(), SCIPaddQuadVarsToNlRow(), SCIPaddQuadVarToNlRow(), SCIPaddReoptDualBndchg(), SCIPaddReoptnodeBndchg(), SCIPaddReoptnodeCons(), SCIPaddRow(), 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(), SCIPcalcNodeselPriority(), SCIPcalcRowIntegralScalar(), SCIPcalculatePscostConfidenceBound(), SCIPcaptureCons(), SCIPcaptureNlRow(), SCIPcaptureRow(), SCIPcaptureVar(), SCIPcatchEvent(), SCIPcatchRowEvent(), SCIPcatchVarEvent(), SCIPcheckCons(), SCIPcheckReoptRestart(), SCIPcheckSol(), SCIPcheckSolOrig(), SCIPchgChildPrio(), SCIPchgConsName(), SCIPchgCutoffboundDive(), SCIPchgNlRowConstant(), SCIPchgNlRowLhs(), SCIPchgNlRowLinearCoef(), SCIPchgNlRowQuadElement(), SCIPchgNlRowRhs(), SCIPchgRelaxfeastol(), SCIPchgReoptObjective(), 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(), SCIPclearConflictStore(), SCIPclearCuts(), SCIPclearDiveBoundChanges(), SCIPclearExternBranchCands(), SCIPclearRelaxSolVals(), SCIPclearSol(), SCIPcomputeLPRelIntPoint(), SCIPconstructLP(), SCIPconstructSyncstore(), SCIPcontainsExternBranchCand(), SCIPconvertCutsToConss(), SCIPcopy(), SCIPcopyConflicts(), SCIPcopyConsCompression(), SCIPcopyConss(), SCIPcopyCuts(), SCIPcopyImplicationsCliques(), SCIPcopyOrig(), SCIPcopyOrigConsCompression(), SCIPcopyOrigConss(), SCIPcopyOrigProb(), SCIPcopyOrigVars(), SCIPcopyParamSettings(), SCIPcopyPlugins(), SCIPcopyProb(), SCIPcopyVars(), SCIPcreateChild(), SCIPcreateCons(), SCIPcreateCurrentSol(), SCIPcreateCutpool(), SCIPcreateDiveset(), SCIPcreateEmptyNlRow(), SCIPcreateEmptyRow(), SCIPcreateEmptyRowCons(), SCIPcreateEmptyRowSepa(), SCIPcreateEmptyRowUnspec(), SCIPcreateFiniteSolCopy(), SCIPcreateLPSol(), SCIPcreateNLPSol(), SCIPcreateNlRow(), SCIPcreateNlRowFromRow(), SCIPcreateOrigSol(), SCIPcreatePartialSol(), 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(), SCIPenableConsCompression(), SCIPenableConsPropagation(), SCIPenableConsSeparation(), SCIPenableDebugSol(), SCIPenableNLP(), SCIPenableOrDisableStatisticTiming(), SCIPenableVarHistory(), SCIPendDive(), SCIPendDiveNLP(), SCIPendProbing(), SCIPendStrongbranch(), SCIPenfolpCons(), SCIPenfopsCons(), SCIPenforelaxCons(), SCIPevalExprtreeGlobalBounds(), SCIPevalExprtreeLocalBounds(), SCIPevalExprtreeSol(), SCIPfindCons(), SCIPfindOrigCons(), SCIPfindVar(), SCIPfixVar(), SCIPfixVarProbing(), SCIPflattenVarAggregationGraph(), SCIPflushLP(), SCIPflushNLP(), SCIPflushRowExtensions(), SCIPfree(), SCIPfreeCutpool(), SCIPfreeParseVarsPolynomialData(), SCIPfreeProb(), SCIPfreeReoptSolve(), SCIPfreeRepresentation(), SCIPfreeSol(), SCIPfreeSolve(), SCIPfreeSyncstore(), 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(), SCIPgetDiveBoundChangeData(), SCIPgetDiveBoundChanges(), SCIPgetDivesetScore(), SCIPgetDualbound(), SCIPgetDualboundRoot(), SCIPgetEffectiveRootDepth(), SCIPgetExprtreeTransformedVars(), SCIPgetExternBranchCands(), SCIPgetFirstLPDualboundRoot(), SCIPgetFirstLPLowerboundRoot(), SCIPgetFirstLPTime(), SCIPgetFixedVars(), SCIPgetFocusDepth(), SCIPgetFocusNode(), 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(), SCIPgetNCliquesCreated(), SCIPgetNConflictConssApplied(), SCIPgetNConflictConssFound(), SCIPgetNConflictConssFoundNode(), SCIPgetNConss(), SCIPgetNContVars(), SCIPgetNCuts(), SCIPgetNCutsApplied(), SCIPgetNCutsFound(), SCIPgetNCutsFoundRound(), SCIPgetNDelayedCutoffs(), SCIPgetNDelayedPoolCuts(), SCIPgetNDivingLPIterations(), SCIPgetNDivingLPs(), SCIPgetNDualLPIterations(), SCIPgetNDualLPs(), SCIPgetNDualResolveLPIterations(), SCIPgetNDualResolveLPs(), SCIPgetNegatedVar(), SCIPgetNegatedVars(), SCIPgetNEnabledConss(), SCIPgetNExternBranchCands(), SCIPgetNFeasibleLeaves(), SCIPgetNFixedVars(), SCIPgetNImplications(), SCIPgetNImplVars(), SCIPgetNInfeasibleLeaves(), 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(), SCIPgetNNZs(), SCIPgetNObjlimLeaves(), SCIPgetNObjVars(), SCIPgetNodeDualbound(), SCIPgetNodeLowerbound(), SCIPgetNOrigBinVars(), SCIPgetNOrigConss(), SCIPgetNOrigContVars(), SCIPgetNOrigImplVars(), SCIPgetNOrigIntVars(), SCIPgetNOrigVars(), SCIPgetNPartialSols(), 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(), SCIPgetPartialSols(), SCIPgetPlungeDepth(), SCIPgetPoolCuts(), SCIPgetPresolvingTime(), SCIPgetPrimalbound(), SCIPgetPrimalRayVal(), SCIPgetPrioChild(), SCIPgetPrioSibling(), SCIPgetProbData(), SCIPgetProbingDepth(), SCIPgetProbName(), SCIPgetProbvarLinearSum(), SCIPgetProbvarSum(), SCIPgetPseudoBranchCands(), SCIPgetPseudocostCount(), SCIPgetPseudocostVariance(), SCIPgetPseudoObjval(), SCIPgetReadingTime(), SCIPgetRelaxSolObj(), SCIPgetRelaxSolVal(), SCIPgetReoptChildIDs(), SCIPgetReoptLeaveIDs(), SCIPgetReoptOldObjCoef(), SCIPgetRepropdepth(), SCIPgetRootNode(), SCIPgetRowActivity(), SCIPgetRowFeasibility(), SCIPgetRowLPActivity(), SCIPgetRowLPFeasibility(), SCIPgetRowMaxActivity(), SCIPgetRowMaxCoef(), SCIPgetRowMinActivity(), SCIPgetRowMinCoef(), SCIPgetRowNumIntCols(), SCIPgetRowPseudoActivity(), SCIPgetRowPseudoFeasibility(), SCIPgetRowSolActivity(), SCIPgetRowSolFeasibility(), SCIPgetSepaMinEfficacy(), SCIPgetSiblings(), SCIPgetSolHeur(), SCIPgetSolNodenum(), SCIPgetSolOrigObj(), SCIPgetSolRunnum(), SCIPgetSols(), SCIPgetSolTime(), SCIPgetSolTransObj(), SCIPgetSolVal(), SCIPgetSolVals(), SCIPgetSolVarsData(), SCIPgetSolvingTime(), SCIPgetStatus(), SCIPgetSubscipDepth(), SCIPgetSyncstore(), 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(), SCIPincludeConcsolverType(), 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(), SCIPincludeTable(), SCIPincSolVal(), SCIPinDive(), SCIPinferBinvarCons(), SCIPinferBinvarProp(), SCIPinferVarFixCons(), SCIPinferVarFixProp(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPinitConflictAnalysis(), SCIPinitlpCons(), SCIPinitRepresentation(), SCIPinitVarBranchStats(), SCIPinitVarValueBranchStats(), SCIPinProbing(), SCIPinRepropagation(), SCIPinterruptSolve(), SCIPisConflictAnalysisApplicable(), SCIPisConflictVarUsed(), SCIPisConsCompressionEnabled(), SCIPisCutApplicable(), SCIPisCutEfficacious(), SCIPisCutNew(), SCIPisDualSolAvailable(), SCIPisInRestart(), SCIPisLPConstructed(), SCIPisLPDualReliable(), SCIPisLPPrimalReliable(), SCIPisLPRelax(), SCIPisLPSolBasic(), SCIPisNLPConstructed(), SCIPisNLPEnabled(), SCIPisObjChangedProbing(), 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(), SCIPprintBranchruleStatistics(), SCIPprintCompressionStatistics(), SCIPprintConcsolverStatistics(), SCIPprintConflictStatistics(), SCIPprintCons(), SCIPprintConstraintStatistics(), SCIPprintConstraintTimingStatistics(), SCIPprintDisplayLine(), SCIPprintHeuristicStatistics(), SCIPprintLPSolutionQuality(), SCIPprintLPStatistics(), SCIPprintMIPStart(), SCIPprintNLPStatistics(), SCIPprintNlRow(), SCIPprintOrigProblem(), SCIPprintOrigProblemStatistics(), SCIPprintPresolverStatistics(), SCIPprintPricerStatistics(), SCIPprintPropagatorStatistics(), SCIPprintRay(), SCIPprintRelaxatorStatistics(), SCIPprintReoptStatistics(), SCIPprintRootStatistics(), SCIPprintRow(), SCIPprintSeparatorStatistics(), SCIPprintSol(), SCIPprintSolutionStatistics(), SCIPprintStage(), SCIPprintStatistics(), SCIPprintStatus(), SCIPprintStatusStatistics(), SCIPprintTimingStatistics(), SCIPprintTransProblem(), SCIPprintTransProblemStatistics(), SCIPprintTransSol(), SCIPprintTreeStatistics(), SCIPprintVar(), SCIPpropagateProbing(), SCIPpropagateProbingImplications(), SCIPpropCons(), SCIPpscostThresholdProbabilityTest(), SCIPreadProb(), SCIPreadSol(), SCIPreadSolFile(), 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(), SCIPsetConshdlrEnforelax(), 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(), SCIPsetProbingLPState(), 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(), SCIPsetSubscipDepth(), SCIPsignificantVarPscostDifference(), SCIPsolve(), SCIPsolveConcurrent(), SCIPsolveDiveLP(), SCIPsolveDiveNLP(), SCIPsolveNLP(), SCIPsolveParallel(), SCIPsolveProbingLP(), SCIPsolveProbingLPWithPricing(), SCIPsolveProbingRelax(), 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(), SCIPupdatePrimalRay(), SCIPupdateVarBranchPriority(), SCIPupdateVarPseudocost(), SCIPwriteCliqueGraph(), SCIPwriteLP(), SCIPwriteMIP(), SCIPwriteNLP(), SCIPwriteOrigProblem(), SCIPwriteTransProblem(), SCIPwriteVarName(), SCIPwriteVarsLinearsum(), SCIPwriteVarsList(), and SCIPwriteVarsPolynomial().
gets global lower (dual) bound in transformed problem
scip | SCIP data structure |
Definition at line 479 of file scip.c.
References SCIP_STAGE_INITSOLVE, SCIPinfinity(), SCIPtreeGetLowerbound(), Scip::set, SCIP_Set::stage, and Scip::tree.
Referenced by SCIPgetGap(), SCIPgetLowerbound(), and SCIPgetTransGap().
gets global upper (primal) bound in transformed problem (objective value of best solution or user objective limit)
scip | SCIP data structure |
Definition at line 491 of file scip.c.
References Scip::primal, SCIP_STATUS_UNBOUNDED, SCIPgetStatus(), SCIPinfinity(), and SCIP_Primal::upperbound.
Referenced by getPrimalbound(), SCIPgetLowerboundRoot(), SCIPgetTransGap(), and SCIPgetUpperbound().
gets global primal bound (objective value of best solution or user objective limit)
scip | SCIP data structure |
Definition at line 504 of file scip.c.
References getUpperbound(), Scip::origprob, SCIPprobExternObjval(), Scip::set, and Scip::transprob.
Referenced by displayRelevantStats(), getDualbound(), SCIPgetDualboundRoot(), SCIPgetGap(), SCIPgetPrimalbound(), SCIPprintSolutionStatistics(), SCIPprintStage(), and SCIPstoreSolutionGap().
gets global dual bound
scip | SCIP data structure |
Definition at line 513 of file scip.c.
References SCIP_Prob::dualbound, getPrimalbound(), Scip::origprob, SCIP_INVALID, SCIP_Real, SCIP_STAGE_INITSOLVE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_UNBOUNDED, SCIPgetStatus(), SCIPinfinity(), SCIPprobExternObjval(), SCIPprobInternObjval(), SCIPsetIsInfinity(), SCIPtreeGetLowerbound(), Scip::set, SCIP_Set::stage, Scip::transprob, and Scip::tree.
Referenced by displayRelevantStats(), freeSolve(), SCIPgetDualbound(), SCIPgetGap(), SCIPprintSolutionStatistics(), and SCIPstoreSolutionGap().
|
static |
internal method to create SCIP
scip | pointer to SCIP data structure |
Definition at line 691 of file scip.c.
References BMSallocMemory, BMSclearMemory, FALSE, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIPblkmem(), SCIPclockCreate(), SCIPclockStart(), SCIPcreateMessagehdlrDefault(), SCIPdialoghdlrCreate(), SCIPexprintGetDesc(), SCIPexprintGetName(), SCIPincludeCorePlugins(), SCIPinterruptCreate(), SCIPlpiGetSolverDesc(), SCIPlpiGetSolverName(), SCIPmemCreate(), SCIPnlpInclude(), SCIPsetCreate(), SCIPsetIncludeExternalCode(), SCIPsyncstoreCreate(), and TRUE.
Referenced by SCIPcreate().
returns true if the cut
matches the selection criterium for copying
scip | SCIP data structure |
cut | a cut |
cutsel | cut selection for sub SCIPs ('a'ge, activity 'q'uotient) |
Definition at line 1401 of file scip.c.
References FALSE, SCIP_Bool, SCIPABORT, SCIPcutGetAge(), SCIPcutGetLPActivityQuot(), SCIPcutGetRow(), SCIPerrorMessage, SCIProwIsInLP(), SCIP_Set::sepa_minactivityquot, and Scip::set.
Referenced by copyCuts().
|
static |
copy active and tight cuts from one SCIP instance to linear constraints of another SCIP instance
sourcescip | source SCIP data structure |
targetscip | target SCIP data structure |
cuts | cuts to copy |
ncuts | number of cuts to copy |
varmap | a hashmap to store the mapping of source variables corresponding target variables, or NULL |
consmap | a hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL |
global | create a global or a local copy? |
ncutsadded | pointer to store number of copied cuts |
Definition at line 1434 of file scip.c.
References FALSE, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddCons(), SCIPallocBufferArray, SCIPcolGetVar(), SCIPconsGetName(), SCIPcreateConsLinear(), SCIPcutGetRow(), SCIPdebugMsg, 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().
|
static |
create a problem by copying the problem data of the source SCIP
sourcescip | source SCIP data structure |
targetscip | target SCIP data structure |
varmap | a hashmap to store the mapping of source variables corresponding target variables, or NULL |
consmap | a hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL |
original | should the original problem be copied? |
global | create a global or a local copy? (set to TRUE for original copy) |
name | problem name of target |
Definition at line 1616 of file scip.c.
References Scip::conflictstore, Scip::mem, Scip::messagehdlr, Scip::origprimal, Scip::origprob, SCIP_Mem::probmem, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PROBLEM, SCIPblkmem(), SCIPconflictstoreCreate(), 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().
|
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
sourcescip | source SCIP data structure |
targetscip | target SCIP data structure |
varmap | a hashmap to store the mapping of source variables to the corresponding target variables, or NULL |
consmap | a hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL |
fixedvars | source variables whose copies should be fixed in the target SCIP environment, or NULL |
fixedvals | array of fixing values for target SCIP variables, or NULL |
nfixedvars | number of source variables whose copies should be fixed in the target SCIP environment, or NULL |
original | should original variables be copied? |
global | should global or local bounds be used? (for original=FALSE) |
Definition at line 2146 of file scip.c.
References FALSE, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPblkmem(), SCIPerrorMessage, SCIPfixVar(), SCIPgetFixedVars(), SCIPgetNBinVars(), SCIPgetNConss(), SCIPgetNContVars(), SCIPgetNFixedVars(), SCIPgetNImplVars(), SCIPgetNIntVars(), SCIPgetNVars(), SCIPgetOrigVarsData(), SCIPgetVarCopy(), SCIPgetVarsData(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), and SCIPvarGetType().
Referenced by doCopy(), SCIPcopyOrigVars(), and SCIPcopyVars().
|
static |
copies source SCIP data into target SCIP data structure
distinguishes between
Allows for constraint compression by specifying a number of source variables and values that should be fixed in the copy.
sourcescip | source SCIP data structure |
targetscip | target SCIP data structure |
varmap | a hashmap to store the mapping of source variables corresponding target variables, or NULL |
consmap | a hashmap to store the mapping of source constraints to the corresponding target constraints, or NULL |
suffix | optional suffix for problem name inside the target SCIP |
fixedvars | source variables whose copies should be fixed in the target SCIP environment, or NULL |
fixedvals | array of fixing values for target SCIP variables, or NULL |
nfixedvars | number of source variables whose copies should be fixed in the target SCIP environment, or NULL |
useconscompression | should constraint compression be used when constraints are created? |
global | create a global or a local copy? |
original | copy original or transformed problem? if TRUE, a copy using local bounds is not possible |
enablepricing | should 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 |
passmessagehdlr | should the message handler be passed |
valid | pointer to store whether the copying was valid or not, or NULL |
Definition at line 3587 of file scip.c.
References Scip::concurrent, SCIP_Stat::copyclock, copyVars(), FALSE, SCIP_Stat::maxcopytime, Scip::messagehdlr, SCIP_Stat::mincopytime, SCIP_Stat::ncopies, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIPblkmem(), SCIPclockGetTime(), SCIPclockStart(), SCIPclockStop(), SCIPcopyConss(), SCIPcopyOrigConss(), SCIPcopyOrigProb(), SCIPcopyParamSettings(), SCIPcopyPlugins(), SCIPcopyProb(), SCIPdebugMsg, SCIPenableConsCompression(), SCIPgetNActivePricers(), SCIPgetNConss(), SCIPgetNVars(), SCIPgetProbName(), SCIPgetStage(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPmessagehdlrIsQuiet(), SCIPsetMessagehdlrQuiet(), SCIPsnprintf(), SCIPsyncstoreCapture(), SCIPsyncstoreRelease(), Scip::set, Scip::stat, Scip::syncstore, and TRUE.
Referenced by SCIPcopy(), SCIPcopyConsCompression(), SCIPcopyOrig(), and SCIPcopyOrigConsCompression().
|
static |
return updated time limit for a sub-SCIP
sourcescip | source SCIP data structure |
timelimit | pointer to store sub-SCIP time limit |
Definition at line 4086 of file scip.c.
References SCIP_CALL, SCIP_OKAY, SCIPgetRealParam(), SCIPgetSolvingTime(), and SCIPisInfinity().
Referenced by SCIPcheckCopyLimits(), and SCIPcopyLimits().
|
static |
set updated time limit for a sub-SCIP
sourcescip | source SCIP data structure |
targetscip | target SCIP data structure |
Definition at line 4100 of file scip.c.
References MAX, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPgetParam(), SCIPgetRealParam(), SCIPgetSolvingTime(), SCIPisNegative(), and SCIPsetRealParam().
Referenced by SCIPcopyLimits().
|
static |
return updated memory limit for a sub-SCIP
sourcescip | source SCIP data structure |
memorylimit | pointer to store sub-SCIP memory limit |
Definition at line 4125 of file scip.c.
References SCIP_CALL, SCIP_OKAY, SCIPgetMemExternEstim(), SCIPgetMemUsed(), SCIPgetRealParam(), and SCIPisInfinity().
Referenced by SCIPcheckCopyLimits(), and SCIPcopyLimits().
|
static |
method to call, when the priority of an NLPI was changed
Definition at line 9526 of file scip.c.
References SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetNlpiPriority().
|
static |
scip | SCIP data structure |
filename | output file (or NULL for standard output) |
extension | extension of the desired file reader, or NULL if file extension should be used |
transformed | output the transformed problem? |
genericnames | using generic variable and constraint names? |
Definition at line 10315 of file scip.c.
References BMSduplicateMemoryArray, BMSfreeMemoryArray, Scip::messagehdlr, SCIP_CALL, SCIP_FILECREATEERROR, SCIP_NOMEMORY, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_WRITEERROR, SCIPerrorMessage, SCIPmessagePrintWarning(), SCIPprintOrigProblem(), SCIPprintSysError(), SCIPprintTransProblem(), and SCIPsplitFilename().
Referenced by SCIPwriteOrigProblem(), and SCIPwriteTransProblem().
|
static |
checks solution for feasibility in original problem without adding it to the solution store; to improve the performance we use the following order when checking for violations:
scip | SCIP data structure |
sol | primal CIP solution |
feasible | stores whether given solution is feasible |
printreason | Should the reason for the violation be printed? |
completely | Should all violations be checked? |
checkbounds | Should the bounds of the variables be checked? |
checkintegrality | Has integrality to be checked? |
checklprows | Do constraints represented by rows in the current LP have to be checked? |
checkmodifiable | have modifiable constraint to be checked? |
Definition at line 13638 of file scip.c.
References checkStage(), SCIP_Set::conshdlrs, SCIP_Prob::conss, FALSE, Scip::mem, Scip::messagehdlr, SCIP_Set::nconshdlrs, SCIP_Prob::nconss, SCIP_Prob::nvars, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_FEASIBLE, SCIP_OKAY, SCIP_Real, SCIPconsCheck(), SCIPconshdlrCheck(), SCIPconshdlrNeedsCons(), SCIPconsIsChecked(), SCIPconsIsModifiable(), SCIPmessagePrintInfo(), SCIPrelDiff(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsolGetVal(), SCIPsolResetViolations(), SCIPupdateSolBoundViolation(), SCIPvarGetLbOriginal(), SCIPvarGetName(), SCIPvarGetUbOriginal(), Scip::set, Scip::stat, TRUE, and SCIP_Prob::vars.
Referenced by SCIPcheckSol(), SCIPcheckSolOrig(), SCIPtransformProb(), SCIPtrySol(), and SCIPtrySolFree().
|
static |
calculates number of nonzeros in problem
scip | SCIP data structure |
nchecknonzeros | pointer to store number of non-zeros in all check constraints |
nactivenonzeros | pointer to store number of non-zeros in all active constraints |
approxchecknonzeros | pointer to store if the number of non-zeros in all check constraints is only a lowerbound |
approxactivenonzeros | pointer to store if the number of non-zeros in all active constraints is only a lowerbound |
Definition at line 13825 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().
|
static |
initializes presolving
scip | SCIP data structure |
Definition at line 14148 of file scip.c.
References BMSgetNUsedBufferMemory(), Scip::branchcand, Scip::cliquetable, Scip::conflict, Scip::conflictstore, Scip::eventfilter, Scip::eventqueue, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Stat::nruns, SCIP_Prob::nvars, Scip::origprob, SCIP_Stat::prevrunnvars, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVING, SCIP_STAGE_TRANSFORMED, SCIPbuffer(), SCIPcleanbuffer(), SCIPprimalRetransformSolutions(), SCIPprobPerformVarDeletions(), SCIPsetInitprePlugins(), SCIPstatResetPresolving(), SCIPtreeCreatePresolvingRoot(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, and Scip::tree.
Referenced by presolve(), and SCIPsolveConcurrent().
|
static |
deinitializes presolving
scip | SCIP data structure |
solved | is problem already solved? |
infeasible | pointer to store if the clique clean up detects an infeasibility |
Definition at line 14212 of file scip.c.
References BMSgetNUsedBufferMemory(), Scip::branchcand, Scip::cliquetable, Scip::conflict, Scip::conflictstore, SCIP_Set::disp_verblevel, SCIP_Prob::dualbound, Scip::eventfilter, Scip::eventqueue, FALSE, SCIP_Stat::lastlowerbound, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Set::misc_calcintegral, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_VARSTATUS_MULTAGGR, SCIP_VERBLEVEL_FULL, SCIPbuffer(), SCIPcleanbuffer(), SCIPcliquetableCleanup(), SCIPgetFixedVars(), SCIPgetLowerbound(), SCIPgetNFixedVars(), SCIPgetUpperbound(), SCIPmessagePrintVerbInfo(), SCIPprobCheckObjIntegral(), SCIPprobExitPresolve(), SCIPprobInternObjval(), SCIPprobPerformVarDeletions(), SCIPprobScaleObj(), SCIPsetExitprePlugins(), SCIPstatUpdatePrimalDualIntegral(), SCIPtreeFreePresolvingRoot(), SCIPvarFlattenAggregationGraph(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrVars(), SCIPvarGetStatus(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, and Scip::tree.
Referenced by presolve(), SCIPfreeReoptSolve(), SCIPfreeSolve(), SCIPfreeTransform(), and SCIPsolveConcurrent().
|
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.
scip | SCIP data structure |
timing | pointer to current presolving timing |
unbounded | pointer to store whether presolving detected unboundedness |
infeasible | pointer to store whether presolving detected infeasibility |
lastround | is this the last presolving round due to a presolving round limit? |
presolstart | pointer to get the presolver to start exhaustive presolving with in the current round and store the one to start with in the next round |
presolend | last presolver to treat in exhaustive presolving |
propstart | pointer to get the propagator to start exhaustive presolving with in the current round and store the one to start with in the next round |
propend | last propagator to treat in exhaustive presolving |
consstart | pointer 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 |
consend | last constraint handler to treat in exhaustive presolving |
Definition at line 14364 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, Scip::origprob, SCIP_Set::presols, Scip::primal, SCIP_Mem::probmem, SCIP_Set::props_presol, SCIP_Set::propspresolsorted, 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_FINAL, SCIP_PRESOLTIMING_MEDIUM, SCIP_UNBOUNDED, SCIP_VERBLEVEL_FULL, SCIP_VERBLEVEL_HIGH, SCIPbuffer(), SCIPcleanbuffer(), SCIPcliquetableCleanup(), SCIPconshdlrGetName(), SCIPconshdlrPresolve(), SCIPdebugMsg, 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 |
loops through the included presolvers and constraint's presolve methods, until changes are too few
scip | SCIP data structure |
unbounded | pointer to store whether presolving detected unboundedness |
infeasible | pointer to store whether presolving detected infeasibility |
Definition at line 14820 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, MAX, Scip::mem, Scip::messagehdlr, SCIP_Set::nconshdlrs, SCIP_Set::nheurs, SCIP_Stat::nimplications, SCIP_Primal::nlimsolsfound, SCIP_Stat::nnz, 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_Stat::nreoptruns, SCIP_Primal::nsols, Scip::origprob, SCIP_Stat::performpresol, SCIP_Set::presol_maxrounds, presolveRound(), SCIP_Stat::presolvingtime, SCIP_Stat::presolvingtimeoverall, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_Bool, SCIP_CALL, SCIP_HEURTIMING_BEFOREPRESOL, SCIP_INVALID, SCIP_Longint, SCIP_OKAY, SCIP_PRESOLTIMING_EXHAUSTIVE, SCIP_PRESOLTIMING_FAST, SCIP_PRESOLTIMING_FINAL, 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(), SCIPdebugMsg, 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 SCIPpresolve().
|
static |
tries to transform original solutions to the transformed problem space
scip | SCIP data structure |
Definition at line 15069 of file scip.c.
References Scip::eventfilter, Scip::eventqueue, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Stat::nexternalsolsfound, SCIP_Primal::nsolsfound, SCIP_Prob::nvars, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_HIGH, SCIPallocBufferArray, SCIPdebugMsg, SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPgetNSols(), SCIPgetSols(), SCIPprimalTransformSol(), SCIPsolIsOriginal(), SCIPverbMessage(), Scip::set, Scip::stat, Scip::transprob, and Scip::tree.
Referenced by initSolve().
|
static |
initializes solution process data structures
scip | SCIP data structure |
solved | is problem already solved? |
Definition at line 15144 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, SCIP_Prob::nvars, Scip::origprob, Scip::pricestore, Scip::primal, SCIP_Mem::probmem, REALABS, Scip::reopt, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_REAL_MAX, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_SOLVING, SCIPcutpoolCreate(), SCIPdebugMsg, SCIPlpReset(), SCIPnextafter(), 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::sepastoreprobing, Scip::set, SCIP_Set::stage, Scip::stat, transformSols(), Scip::transprob, Scip::tree, TRUE, SCIP_Prob::vars, and SCIP_Stat::visual.
Referenced by SCIPpresolve(), SCIPsolve(), and SCIPsolveConcurrent().
|
static |
frees solution process data structures
scip | SCIP data structure |
restart | was this free solve call triggered by a restart? |
Definition at line 15274 of file scip.c.
References Scip::branchcand, Scip::cliquetable, Scip::conflict, Scip::conflictstore, Scip::cutpool, Scip::delayedcutpool, Scip::eventfilter, Scip::eventqueue, FALSE, getDualbound(), SCIP_Stat::inrestart, Scip::lp, Scip::mem, Scip::messagehdlr, Scip::nlp, SCIP_Prob::nlpenabled, Scip::origprob, Scip::pricestore, Scip::primal, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_OPTIMAL, SCIP_STATUS_UNBOUNDED, SCIPconflictstoreClean(), SCIPcutpoolClear(), SCIPcutpoolFree(), SCIPdebugReset, SCIPlpInvalidateRootObjval(), SCIPlpReset(), SCIPnlpFree(), SCIPnodeFocus(), SCIPpricestoreFree(), SCIPprobExitSolve(), SCIPprobUpdateDualbound(), SCIPsepastoreFree(), SCIPsetExitsolPlugins(), SCIPstatResetCurrentRun(), SCIPtreeClear(), SCIPtreeGetFocusNode(), SCIPvisualExit(), Scip::sepastore, Scip::sepastoreprobing, Scip::set, SCIP_Set::stage, Scip::stat, SCIP_Stat::status, Scip::transprob, Scip::tree, TRUE, and SCIP_Stat::visual.
Referenced by SCIPfreeSolve(), and SCIPsolve().
|
static |
frees solution process data structures when reoptimization is used
in contrast to a freeSolve() this method will preserve the transformed problem such that another presolving round after changing the problem (modifying the objective function) is not necessary.
scip | SCIP data structure |
Definition at line 15375 of file scip.c.
References Scip::branchcand, Scip::cliquetable, Scip::conflict, Scip::conflictstore, Scip::cutpool, Scip::delayedcutpool, Scip::eventfilter, Scip::eventqueue, FALSE, SCIP_Stat::inrestart, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Set::misc_resetstat, Scip::nlp, SCIP_Prob::nlpenabled, Scip::origprob, Scip::pricestore, Scip::primal, SCIP_Mem::probmem, Scip::relaxation, Scip::reopt, SCIP_Set::reopt_enable, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIPconflictstoreClear(), SCIPcutpoolClear(), SCIPcutpoolFree(), SCIPdebugReset, SCIPlpInvalidateRootObjval(), SCIPlpReset(), SCIPnlpFree(), SCIPnodeFocus(), SCIPpricestoreFree(), SCIPprimalClear(), SCIPprobExitSolve(), SCIPprobInvalidateDualbound(), SCIPrelaxationFree(), SCIPreoptReset(), SCIPsepastoreFree(), SCIPsetExitPlugins(), SCIPsetExitsolPlugins(), SCIPsetObjlimit(), SCIPstatReset(), SCIPstatResetCurrentRun(), SCIPstatResetPrimalDualIntegral(), SCIPtreeClear(), SCIPtreeGetFocusNode(), SCIPvisualExit(), Scip::sepastore, Scip::sepastoreprobing, Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Stat::visual.
Referenced by SCIPfreeReoptSolve().
|
static |
free transformed problem
scip | SCIP data structure |
Definition at line 15488 of file scip.c.
References Scip::branchcand, Scip::cliquetable, Scip::conflict, Scip::conflictstore, Scip::eventfilter, Scip::eventqueue, FALSE, SCIP_Set::limit_maxorigsol, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Set::misc_allowdualreds, SCIP_Set::misc_finitesolstore, SCIP_Set::misc_resetstat, SCIP_Set::misc_transsolsorig, SCIP_Primal::nsols, SCIP_Prob::nvars, Scip::origprimal, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::relaxation, Scip::reopt, SCIP_Set::reopt_enable, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_STAGE_FREETRANS, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED, SCIP_VERBLEVEL_FULL, SCIPaddVarLocks(), SCIPbranchcandFree(), SCIPcliquetableFree(), SCIPconflictFree(), SCIPconflictstoreClear(), SCIPcreateFiniteSolCopy(), SCIPdebugFreeSol, SCIPeventfilterFree(), SCIPeventqueueFree(), SCIPlpFree(), SCIPprimalAddOrigSol(), SCIPprimalFree(), SCIPprobFree(), SCIPprobResetBounds(), SCIPrelaxationFree(), SCIPreoptReset(), SCIPsetExitPlugins(), SCIPsetObjlimit(), SCIPsolFree(), SCIPsolIsOriginal(), SCIPsolRetransform(), SCIPstatReset(), SCIPstatResetPrimalDualIntegral(), SCIPtreeFree(), SCIPverbMessage(), Scip::set, SCIP_Primal::sols, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, TRUE, and SCIP_Prob::vars.
Referenced by SCIPfreeTransform().
|
static |
displays most relevant statistics after problem was solved
scip | SCIP data structure |
Definition at line 15669 of file scip.c.
References SCIP_Set::disp_verblevel, FALSE, getDualbound(), getPrimalbound(), Scip::messagehdlr, SCIP_Primal::nlimsolsfound, SCIP_Stat::nnodes, SCIP_Stat::nreoptruns, SCIP_Stat::nruns, SCIP_Primal::nsolsfound, SCIP_Stat::ntotalnodes, Scip::primal, SCIP_Set::reopt_enable, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_VERBLEVEL_NORMAL, SCIPbranchruleGetNChildren(), SCIPcheckSolOrig(), SCIPchgFeastol(), SCIPclockGetTime(), SCIPfeastol(), SCIPfindBranchrule(), SCIPgetBestSol(), SCIPgetBoolParam(), SCIPgetGap(), SCIPgetRealParam(), SCIPgetStage(), SCIPinfinity(), SCIPisEQ(), SCIPisInfinity(), SCIPmessagePrintInfo(), SCIPprintStage(), SCIPsetIsInfinity(), SCIPsnprintf(), Scip::set, SCIP_Stat::solvingtime, SCIP_Stat::solvingtimeoverall, SCIP_Set::stage, Scip::stat, and TRUE.
Referenced by SCIPpresolve(), SCIPsolve(), and SCIPsolveConcurrent().
|
static |
calls compression based on the reoptimization structure after the presolving
scip | global SCIP settings |
Definition at line 15786 of file scip.c.
References SCIP_Set::comprs, SCIP_Set::disp_verblevel, Scip::messagehdlr, SCIP_Set::ncomprs, SCIP_Prob::nimplvars, SCIP_Prob::nintvars, Scip::reopt, SCIP_Tree::root, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_Real, SCIP_SUCCESS, SCIP_VERBLEVEL_HIGH, SCIPcomprExec(), SCIPcomprGetName(), SCIPmessagePrintVerbInfo(), SCIPreoptGetNNodes(), SCIPsetSortComprs(), Scip::set, Scip::transprob, and Scip::tree.
Referenced by prepareReoptimization().
|
static |
scip | SCIP data structure |
Definition at line 15845 of file scip.c.
References Scip::branchcand, Scip::cliquetable, SCIP_Set::compr_enable, compressReoptTree(), Scip::eventqueue, SCIP_Set::limit_maxsol, Scip::lp, Scip::mem, SCIP_Stat::nreoptruns, SCIP_Prob::nvars, Scip::origprob, Scip::primal, SCIP_Mem::probmem, Scip::relaxation, Scip::reopt, SCIP_Set::reopt_enable, SCIP_Set::reopt_sepabestsol, SCIP_Set::reopt_sepaglbinfsubtrees, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIPbranchcandInvalidate(), SCIPlpRecomputeLocalAndGlobalPseudoObjval(), SCIPprobCheckObjIntegral(), SCIPprobScaleObj(), SCIPrelaxationCreate(), SCIPreoptAddRun(), SCIPreoptApplyGlbConss(), SCIPreoptCheckRestart(), SCIPreoptInstallBounds(), SCIPreoptMergeVarHistory(), SCIPreoptResetActiveConss(), SCIPreoptSaveActiveConss(), SCIPreoptSaveGlobalBounds(), SCIPsetInitPlugins(), SCIPstatMark(), Scip::set, SCIP_Set::stage, Scip::stat, Scip::transprob, Scip::tree, and SCIP_Prob::vars.
Referenced by SCIPsolve().
|
static |
analyze the strong branching for the given variable; that includes conflict analysis for infeasible branches and storing of root reduced cost information
scip | SCIP data structure |
var | variable to analyze |
downinf | pointer to store whether the downwards branch is infeasible, or NULL |
upinf | pointer to store whether the upwards branch is infeasible, or NULL |
downconflict | pointer to store whether a conflict constraint was created for an infeasible downwards branch, or NULL |
upconflict | pointer to store whether a conflict constraint was created for an infeasible upwards branch, or NULL |
Definition at line 20323 of file scip.c.
References Scip::branchcand, Scip::cliquetable, SCIP_Set::conf_enable, SCIP_Set::conf_usesb, Scip::conflict, Scip::conflictstore, SCIP_Lp::cutoffbound, Scip::eventqueue, SCIP_Col::lb, Scip::lp, Scip::mem, SCIP_Set::nconflicthdlrs, 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(), SCIPlpIsDualReliable(), 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().
|
static |
create, solve, and evaluate a single strong branching child (for strong branching with propagation)
scip | SCIP data structure |
var | variable to get strong branching values for |
down | do we regard the down child? |
firstchild | is this the first of the two strong branching children? |
propagate | should domain propagation be performed? |
newbound | new bound to apply at the strong branching child |
itlim | iteration limit for strong branchings |
maxproprounds | maximum number of propagation rounds (-1: no limit, -2: parameter settings) |
value | stores dual bound for strong branching child |
valid | stores whether the returned value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value |
ndomreductions | pointer to store the number of domain reductions found, or NULL |
conflict | pointer to store whether a conflict constraint was created for an infeasible strong branching child, or NULL |
lperror | pointer to store whether an unresolved LP error occurred or the solving process should be stopped (e.g., due to a time limit) |
vars | active problem variables |
nvars | number of active problem variables |
newlbs | array to store valid lower bounds for all active variables, or NULL |
newubs | array to store valid upper bounds for all active variables, or NULL |
foundsol | pointer to store whether a primal solution was found during strong branching |
cutoff | pointer to store whether the strong branching child is infeasible |
Definition at line 20486 of file scip.c.
References SCIP_Set::branch_checksbsol, SCIP_Set::branch_roundsbsol, FALSE, SCIP_Stat::lastsblpsolstats, Scip::lp, MAX, SCIP_Primal::nbestsolsfound, SCIP_Stat::nsbbestsolsfound, SCIP_Stat::nsbsolsfound, SCIP_Stat::nsbtimesiterlimhit, Scip::primal, 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_MAXTREEDEPTH, SCIP_OKAY, SCIP_Real, SCIPallColsInLP(), SCIPbacktrackProbing(), SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), SCIPclockStart(), SCIPclockStop(), SCIPcreateLPSol(), SCIPdebugMsg, SCIPerrorMessage, SCIPfreeSol(), SCIPgetCutoffbound(), SCIPgetLPI(), SCIPgetLPObjval(), SCIPgetLPSolstat(), SCIPinfinity(), SCIPisGE(), SCIPisGT(), SCIPisInfinity(), SCIPisLE(), SCIPisLPRelax(), SCIPisLT(), SCIPlpGetLooseObjval(), SCIPlpiGetObjval(), SCIPlpiIsDualFeasible(), SCIPlpiIsInfinity(), SCIPlpiWasSolved(), SCIPnewProbingNode(), SCIPpropagateProbing(), SCIProundSol(), SCIPsolveProbingLP(), SCIPstatAdd, SCIPtreeGetProbingDepth(), SCIPtrySolFree(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), Scip::set, Scip::stat, SCIP_Stat::strongpropclock, Scip::transprob, Scip::tree, and TRUE.
Referenced by SCIPgetVarStrongbranchWithPropagation().
|
static |
relabels the given labels in-place in an increasing fashion: the first seen label is 0, the next label 1, etc...
scip | SCIP data structure |
labels | current labels that will be overwritten |
nlabels | number of variables in the clique |
nclasses | pointer to store the total number of distinct labels |
Definition at line 24248 of file scip.c.
References SCIP_CALL, SCIP_OKAY, SCIPblkmem(), SCIPhashmapCreate(), SCIPhashmapExists(), SCIPhashmapFree(), SCIPhashmapGetImage(), and SCIPhashmapInsert().
Referenced by SCIPcalcCliquePartition().
|
static |
sort the variables w.r.t. the given labels; thereby ensure the current order of the variables with the same label.
scip | SCIP data structure |
vars | variable array |
classlabels | array that contains a class label for every variable |
sortedvars | array to store variables after stable sorting |
sortedindices | array to store indices of sorted variables in the original vars array |
classesstartposs | starting position array for each label class (must have size nclasses + 1) |
nvars | size of the vars arrays |
nclasses | number of label classes |
Definition at line 24309 of file scip.c.
References BMSclearMemoryArray, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, and SCIPfreeBufferArray.
Referenced by SCIPcalcCliquePartition().
|
static |
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;
scip
is in one of the following stages:
scip | SCIP data structure |
vars | binary variables in the clique from which at most one can be set to 1 |
values | clique value (TRUE or FALSE) for each variable in the clique |
nvars | number of variables in the array |
cliquepartition | array of length nvars to store the clique partition |
ncliques | pointer to store the number of cliques actually contained in the partition |
Definition at line 24435 of file scip.c.
References FALSE, MAXNCLIQUEVARSCOMP, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetNCliques(), SCIPvarIsActive(), SCIPvarsHaveCommonClique(), and Scip::set.
Referenced by SCIPcalcCliquePartition().
|
static |
tightens the variable bounds due a new variable type
scip | SCIP data structure |
var | variable to change the bound for |
vartype | new type of variable |
infeasible | pointer to store whether an infeasibility was detected (, due to integrality condition of the new variable type) |
Definition at line 25401 of file scip.c.
References FALSE, 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().
|
static |
solves the LP at the current probing node (cannot be applied at preprocessing stage) with or without pricing
scip | SCIP data structure |
itlim | maximal number of LP iterations to perform, or -1 for no limit |
pricing | should pricing be applied? |
pretendroot | should the pricers be called as if we are at the root node? |
displayinfo | should info lines be displayed after each pricing round? |
maxpricerounds | maximal number of pricing rounds (-1: no limit) |
lperror | pointer to store whether an unresolved LP error occurred |
cutoff | pointer to store whether the probing LP was infeasible or the objective limit was reached (or NULL, if not needed) |
Definition at line 36435 of file scip.c.
References Scip::branchcand, Scip::cliquetable, Scip::conflict, Scip::conflictstore, Scip::cutpool, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Set::misc_exactsolve, 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().
|
static |
helper method that sets up and solves the sub-SCIP for removing infinite values from solutions
scip | SCIP data structure |
subscip | SCIP data structure of sub-SCIP |
origvars | original problem variables of main SCIP |
norigvars | number of original problem variables of main SCIP |
solvals | array with solution values of variables; infinite ones are replaced |
success | pointer to store if removing infinite values was successful |
Definition at line 38242 of file scip.c.
References FALSE, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIP_VERBLEVEL_NONE, SCIPaddCoefLinear(), SCIPaddCons(), SCIPaddVar(), SCIPblkmem(), SCIPchgVarObj(), SCIPchgVarType(), SCIPcopyOrig(), SCIPcreateConsBasicLinear(), SCIPcreateVar(), SCIPfixVar(), SCIPgetBestSol(), SCIPgetSolVal(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPinfinity(), SCIPisFeasGT(), SCIPisFeasLT(), SCIPisInfinity(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPsetIntParam(), SCIPsnprintf(), SCIPsolve(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE.
Referenced by SCIPcreateFiniteSolCopy().
|
static |
outputs dual solution from LP solver to file stream
scip | SCIP data structure |
file | output file (or NULL for standard output) |
printzeros | should variables set to zero be printed? |
Definition at line 39588 of file scip.c.
References SCIP_Prob::conss, SCIP_Lp::dualfeasible, Scip::lp, Scip::messagehdlr, SCIP_Prob::nconss, Scip::origprob, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPconsGetName(), SCIPgetDualSolVal(), SCIPisInfinity(), SCIPisZero(), SCIPmessageFPrintInfo(), and SCIP_Lp::solved.
Referenced by SCIPprintDualSol().
|
static |
reads a given solution file and store the solution values in the given solution pointer
scip | SCIP data structure |
filename | name of the input file |
sol | solution pointer |
partial | pointer to store if the solution is partial (or NULL, if not needed) |
error | pointer store if an error occured |
Definition at line 40127 of file scip.c.
References FALSE, SCIP_Prob::nvars, Scip::origprob, SCIP_Bool, SCIP_CALL, SCIP_CALL_FINALLY, SCIP_INVALIDDATA, SCIP_MAXSTRLEN, SCIP_NOFILE, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_UNKNOWN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIP_VERBLEVEL_NORMAL, SCIPerrorMessage, SCIPfclose(), SCIPfeof(), SCIPfgets(), SCIPfindVar(), SCIPfopen(), SCIPgetStage(), SCIPinfinity(), SCIPisTransformed(), SCIPprintSysError(), SCIPsetSolVal(), SCIPsolIsPartial(), SCIPsolMarkPartial(), SCIPvarGetName(), SCIPvarGetProbvar(), SCIPvarGetStatus(), SCIPverbMessage(), Scip::set, Scip::stat, TRUE, and SCIP_Prob::vars.
Referenced by SCIPreadSolFile().
|
static |
reads a given xml solution file and store the solution values in the given solution pointer
scip | SCIP data structure |
filename | name of the input file |
sol | solution pointer |
partial | pointer to store if the solution is partial (or NULL if not needed) |
error | pointer store if an error occured |
Definition at line 40282 of file scip.c.
References FALSE, SCIP_Prob::nvars, Scip::origprob, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_UNKNOWN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIP_VERBLEVEL_NORMAL, SCIPerrorMessage, SCIPfindVar(), SCIPgetStage(), SCIPinfinity(), SCIPisTransformed(), SCIPsetSolVal(), SCIPsolIsPartial(), SCIPsolMarkPartial(), SCIPvarGetName(), SCIPvarGetProbvar(), SCIPvarGetStatus(), SCIPverbMessage(), SCIPwarningMessage(), Scip::set, Scip::stat, TRUE, SCIP_Prob::vars, xmlFindNodeMaxdepth(), xmlFirstChild(), xmlFreeNode(), xmlGetAttrval(), xmlNextSibl(), and xmlProcess().
Referenced by SCIPreadSolFile().
|
static |
outputs problem to file stream
scip | SCIP data structure |
prob | problem data |
file | output file (or NULL for standard output) |
extension | file format (or NULL for default CIP format) |
genericnames | using generic variable and constraint names? |
Definition at line 44146 of file scip.c.
References SCIP_Set::nreaders, 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().
|
static |
comparison method for statistics tables
Definition at line 45621 of file scip.c.
References SCIPtableGetPosition().