internal methods for storing priced variables
Definition in file pricestore.h.
#include "scip/def.h"#include "blockmemshell/memory.h"#include "scip/type_retcode.h"#include "scip/type_set.h"#include "scip/type_stat.h"#include "scip/type_event.h"#include "scip/type_lp.h"#include "scip/type_var.h"#include "scip/type_prob.h"#include "scip/type_tree.h"#include "scip/type_pricestore.h"#include "scip/type_branch.h"Go to the source code of this file.
| SCIP_RETCODE SCIPpricestoreCreate | ( | SCIP_PRICESTORE ** | pricestore | ) |
creates pricing storage
| pricestore | pointer to store pricing storage |
Definition at line 96 of file pricestore.c.
References BMSallocMemory, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, and SCIPclockCreate().
Referenced by initSolve().
| SCIP_RETCODE SCIPpricestoreFree | ( | SCIP_PRICESTORE ** | pricestore | ) |
frees pricing storage
| pricestore | pointer to store pricing storage |
Definition at line 125 of file pricestore.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_OKAY, and SCIPclockFree().
Referenced by freeReoptSolve(), and freeSolve().
| void SCIPpricestoreStartInitialLP | ( | SCIP_PRICESTORE * | pricestore | ) |
informs pricing storage, that the setup of the initial LP starts now
| pricestore | pricing storage |
Definition at line 146 of file pricestore.c.
References SCIP_Pricestore::initiallp, NULL, SCIP_Pricestore::nvars, and TRUE.
Referenced by initLP().
| void SCIPpricestoreEndInitialLP | ( | SCIP_PRICESTORE * | pricestore | ) |
informs pricing storage, that the setup of the initial LP is now finished
| pricestore | pricing storage |
Definition at line 158 of file pricestore.c.
References FALSE, SCIP_Pricestore::initiallp, NULL, and SCIP_Pricestore::nvars.
Referenced by initLP().
| SCIP_RETCODE SCIPpricestoreAddVar | ( | SCIP_PRICESTORE * | pricestore, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_LP * | lp, | ||
| SCIP_VAR * | var, | ||
| SCIP_Real | score, | ||
| SCIP_Bool | root | ||
| ) |
adds variable to pricing storage and capture it
| pricestore | pricing storage |
| blkmem | block memory |
| set | global SCIP settings |
| eventqueue | event queue |
| lp | LP data |
| var | priced variable |
| score | pricing score of variable (the larger, the better the variable) |
| root | are we at the root node? |
Definition at line 170 of file pricestore.c.
References SCIP_Pricestore::initiallp, NULL, SCIP_Pricestore::nvars, SCIP_Pricestore::nvarsfound, pricestoreEnsureVarsMem(), SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetGetPriceMaxvars(), SCIPvarCapture(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPvarRelease(), SCIP_Pricestore::scores, SCIP_Pricestore::vars, and SCIP_Pricestore::varssize.
Referenced by addBoundViolated(), initLP(), SCIPaddPricedVar(), and SCIPpricestoreAddProbVars().
| SCIP_RETCODE SCIPpricestoreAddBdviolvar | ( | SCIP_PRICESTORE * | pricestore, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_VAR * | var | ||
| ) |
adds variable where zero violates the bounds to pricing storage, capture it
| pricestore | pricing storage |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
| var | variable, where zero violates the bounds |
Definition at line 243 of file pricestore.c.
References SCIP_Pricestore::bdviolvars, SCIP_Pricestore::bdviolvarslb, SCIP_Pricestore::bdviolvarssize, SCIP_Pricestore::bdviolvarsub, SCIP_Pricestore::initiallp, SCIP_Pricestore::naddedbdviolvars, SCIP_Pricestore::nbdviolvars, NULL, SCIP_Pricestore::nvarsfound, pricestoreEnsureBdviolvarsMem(), SCIP_CALL, SCIP_OKAY, SCIPsetDebugMsg, SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarCapture(), SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetLbLocal(), SCIPvarGetName(), and SCIPvarGetUbLocal().
Referenced by addBoundViolated().
| SCIP_RETCODE SCIPpricestoreAddProbVars | ( | SCIP_PRICESTORE * | pricestore, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | prob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue | ||
| ) |
adds problem variables with negative reduced costs to pricing storage
| pricestore | pricing storage |
| blkmem | block memory buffers |
| set | global SCIP settings |
| stat | dynamic problem statistics |
| prob | transformed problem after presolve |
| tree | branch and bound tree |
| lp | LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
Definition at line 343 of file pricestore.c.
References addBoundViolated(), SCIP_Col::len, SCIP_Col::lpipos, SCIP_Col::lppos, SCIP_Prob::ncolvars, SCIP_Pricestore::nprobpricings, SCIP_Pricestore::nprobvarsfound, NULL, SCIP_Prob::nvars, SCIP_Pricestore::probpricingtime, SCIP_Bool, SCIP_CALL, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPclockStart(), SCIPclockStop(), SCIPcolGetFarkasValue(), SCIPcolGetFeasibility(), SCIPcolGetNNonz(), SCIPcolIsInLP(), SCIPlpGetNCols(), SCIPlpGetSolstat(), SCIPpricestoreAddVar(), SCIPsetDebugMsg, SCIPsetGetPriceMaxvars(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPtreeGetCurrentDepth(), SCIPtreeHasCurrentNodeLP(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIP_Lp::solved, SCIP_Col::var, and SCIP_Prob::vars.
Referenced by SCIPpriceLoop().
| SCIP_RETCODE SCIPpricestoreApplyVars | ( | SCIP_PRICESTORE * | pricestore, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_PROB * | prob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_LP * | lp | ||
| ) |
adds priced variables to the LP
| pricestore | pricing storage |
| blkmem | block memory buffers |
| set | global SCIP settings |
| stat | dynamic problem statistics |
| eventqueue | event queue |
| prob | transformed problem after presolve |
| tree | branch and bound tree |
| lp | LP data |
Definition at line 472 of file pricestore.c.
References SCIP_Pricestore::bdviolvars, SCIP_Pricestore::bdviolvarslb, SCIP_Pricestore::bdviolvarsub, SCIP_Pricestore::initiallp, SCIP_Col::lppos, SCIP_Pricestore::naddedbdviolvars, SCIP_Pricestore::nbdviolvars, NULL, SCIP_Var::nuses, SCIP_Pricestore::nvars, SCIP_Pricestore::nvarsapplied, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPlpAddCol(), SCIPlpGetNCols(), SCIPpricestoreGetNVars(), SCIPsetDebugMsg, SCIPtreeGetCurrentDepth(), SCIPtreeIsFocusNodeLPConstructed(), SCIPvarColumn(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarRelease(), SCIP_Pricestore::scores, and SCIP_Pricestore::vars.
Referenced by initLP(), and SCIPpriceLoop().
| SCIP_RETCODE SCIPpricestoreResetBounds | ( | SCIP_PRICESTORE * | pricestore, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_BRANCHCAND * | branchcand, | ||
| SCIP_EVENTQUEUE * | eventqueue | ||
| ) |
reset variables' bounds violated by zero to its original value
| pricestore | pricing storage |
| blkmem | block memory |
| set | global SCIP settings |
| stat | problem statistics |
| lp | LP data |
| branchcand | branching candidate storage |
| eventqueue | event queue |
Definition at line 561 of file pricestore.c.
References SCIP_Pricestore::bdviolvars, SCIP_Pricestore::bdviolvarslb, SCIP_Pricestore::bdviolvarsub, SCIP_Pricestore::naddedbdviolvars, SCIP_Var::name, SCIP_Pricestore::nbdviolvars, NULL, SCIP_Pricestore::nvars, SCIP_CALL, SCIP_OKAY, SCIPsetDebugMsg, SCIPvarChgLbLocal(), SCIPvarChgUbLocal(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and SCIPvarRelease().
Referenced by SCIPpriceLoop().
| int SCIPpricestoreGetNVars | ( | SCIP_PRICESTORE * | pricestore | ) |
gets number of variables in pricing storage
| pricestore | pricing storage |
Definition at line 601 of file pricestore.c.
References SCIP_Pricestore::naddedbdviolvars, SCIP_Pricestore::nbdviolvars, NULL, and SCIP_Pricestore::nvars.
Referenced by SCIPgetNPricevars(), SCIPpriceLoop(), SCIPpricerExec(), and SCIPpricestoreApplyVars().
| int SCIPpricestoreGetNBoundResets | ( | SCIP_PRICESTORE * | pricestore | ) |
gets number of variables in pricing storage whose bounds must be reset
| pricestore | pricing storage |
Definition at line 612 of file pricestore.c.
References SCIP_Pricestore::naddedbdviolvars, SCIP_Pricestore::nbdviolvars, and NULL.
Referenced by SCIPpriceLoop().
| SCIP_Real SCIPpricestoreGetProbPricingTime | ( | SCIP_PRICESTORE * | pricestore | ) |
gets time needed to price existing problem variables
| pricestore | pricing storage |
Definition at line 623 of file pricestore.c.
References NULL, SCIP_Pricestore::probpricingtime, and SCIPclockGetTime().
Referenced by printPricerStatistics().
| int SCIPpricestoreGetNProbPricings | ( | SCIP_PRICESTORE * | pricestore | ) |
gets total number of calls to problem variable pricing
| pricestore | pricing storage |
Definition at line 633 of file pricestore.c.
References SCIP_Pricestore::nprobpricings, and NULL.
Referenced by printPricerStatistics().
| int SCIPpricestoreGetNProbvarsFound | ( | SCIP_PRICESTORE * | pricestore | ) |
gets total number of times, a problem variable was priced in
| pricestore | pricing storage |
Definition at line 643 of file pricestore.c.
References SCIP_Pricestore::nprobvarsfound, and NULL.
Referenced by printPricerStatistics().
| int SCIPpricestoreGetNVarsFound | ( | SCIP_PRICESTORE * | pricestore | ) |
get total number of variables found so far in pricing
| pricestore | pricing storage |
Definition at line 653 of file pricestore.c.
References NULL, and SCIP_Pricestore::nvarsfound.
Referenced by SCIPgetNPricevarsFound().
| int SCIPpricestoreGetNVarsApplied | ( | SCIP_PRICESTORE * | pricestore | ) |
get total number of variables priced into the LP so far
| pricestore | pricing storage |
Definition at line 663 of file pricestore.c.
References NULL, and SCIP_Pricestore::nvarsapplied.
Referenced by SCIPgetNPricevarsApplied().