internal methods for variable pricers
Definition in file pricer.h.
#include "scip/def.h"#include "blockmemshell/memory.h"#include "scip/type_retcode.h"#include "scip/type_result.h"#include "scip/type_set.h"#include "scip/type_lp.h"#include "scip/type_prob.h"#include "scip/type_pricestore.h"#include "scip/type_pricer.h"#include "scip/pub_pricer.h"Go to the source code of this file.
| SCIP_RETCODE SCIPpricerCopyInclude | ( | SCIP_PRICER * | pricer, |
| SCIP_SET * | set, | ||
| SCIP_Bool * | valid | ||
| ) |
copies the given pricer to a new scip
| pricer | pricer |
| set | SCIP_SET of SCIP to copy to |
| valid | was the copying process valid? |
Definition at line 77 of file pricer.c.
References SCIP_CALL, SCIP_OKAY, SCIPpricerGetName(), and SCIPsetDebugMsg.
Referenced by SCIPsetEnableOrDisablePluginClocks().
| SCIP_RETCODE SCIPpricerCreate | ( | SCIP_PRICER ** | pricer, |
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| BMS_BLKMEM * | blkmem, | ||
| const char * | name, | ||
| const char * | desc, | ||
| int | priority, | ||
| SCIP_Bool | delay, | ||
| SCIP_DECL_PRICERCOPY((*pricercopy)) | , | ||
| SCIP_DECL_PRICERFREE((*pricerfree)) | , | ||
| SCIP_DECL_PRICERINIT((*pricerinit)) | , | ||
| SCIP_DECL_PRICEREXIT((*pricerexit)) | , | ||
| SCIP_DECL_PRICERINITSOL((*pricerinitsol)) | , | ||
| SCIP_DECL_PRICEREXITSOL((*pricerexitsol)) | , | ||
| SCIP_DECL_PRICERREDCOST((*pricerredcost)) | , | ||
| SCIP_DECL_PRICERFARKAS((*pricerfarkas)) | , | ||
| SCIP_PRICERDATA * | pricerdata | ||
| ) |
creates a variable pricer
creates a variable pricer To use the variable pricer for solving a problem, it first has to be activated with a call to SCIPactivatePricer().
| pricer | pointer to variable pricer data structure |
| set | global SCIP settings |
| messagehdlr | message handler |
| blkmem | block memory for parameter settings |
| name | name of variable pricer |
| desc | description of variable pricer |
| priority | priority of the variable pricer |
| delay | should the pricer be delayed until no other pricers or already existing problem variables with negative reduced costs are found |
| pricerdata | variable pricer data |
Definition at line 99 of file pricer.c.
References BMSallocMemory, BMSduplicateMemoryArray, FALSE, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPclockCreate(), SCIPsetAddIntParam(), and SCIPsnprintf().
Referenced by SCIPincludePricer(), and SCIPincludePricerBasic().
| SCIP_RETCODE SCIPpricerFree | ( | SCIP_PRICER ** | pricer, |
| SCIP_SET * | set | ||
| ) |
calls destructor and frees memory of variable pricer
| pricer | pointer to variable pricer data structure |
| set | global SCIP settings |
Definition at line 160 of file pricer.c.
References BMSfreeMemory, BMSfreeMemoryArray, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().
| SCIP_RETCODE SCIPpricerInit | ( | SCIP_PRICER * | pricer, |
| SCIP_SET * | set | ||
| ) |
initializes variable pricer
| pricer | variable pricer |
| set | global SCIP settings |
Definition at line 186 of file pricer.c.
References SCIP_Pricer::active, SCIP_Pricer::initialized, SCIP_Pricer::name, SCIP_Pricer::ncalls, SCIP_Pricer::nvarsfound, SCIP_Pricer::pricerclock, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Pricer::setuptime, and TRUE.
Referenced by SCIPsetFindNlpi().
| SCIP_RETCODE SCIPpricerExit | ( | SCIP_PRICER * | pricer, |
| SCIP_SET * | set | ||
| ) |
calls exit method of variable pricer
| pricer | variable pricer |
| set | global SCIP settings |
Definition at line 226 of file pricer.c.
References SCIP_Pricer::active, FALSE, SCIP_Pricer::initialized, SCIP_Pricer::name, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Pricer::setuptime.
Referenced by SCIPsetInitPlugins().
| SCIP_RETCODE SCIPpricerInitsol | ( | SCIP_PRICER * | pricer, |
| SCIP_SET * | set | ||
| ) |
informs variable pricer that the branch and bound process is being started
| pricer | variable pricer |
| set | global SCIP settings |
Definition at line 257 of file pricer.c.
References SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Pricer::setuptime.
| SCIP_RETCODE SCIPpricerExitsol | ( | SCIP_PRICER * | pricer, |
| SCIP_SET * | set | ||
| ) |
informs variable pricer that the branch and bound process data is being freed
| pricer | variable pricer |
| set | global SCIP settings |
Definition at line 281 of file pricer.c.
References SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Pricer::setuptime.
Referenced by SCIPsetInitsolPlugins().
| SCIP_RETCODE SCIPpricerActivate | ( | SCIP_PRICER * | pricer, |
| SCIP_SET * | set | ||
| ) |
activates pricer such that it is called in LP solving loop
| pricer | variable pricer |
| set | global SCIP settings |
Definition at line 305 of file pricer.c.
References SCIP_Pricer::active, FALSE, SCIP_OKAY, SCIP_STAGE_PROBLEM, and TRUE.
Referenced by SCIPactivatePricer().
| SCIP_RETCODE SCIPpricerDeactivate | ( | SCIP_PRICER * | pricer, |
| SCIP_SET * | set | ||
| ) |
deactivates pricer such that it is no longer called in LP solving loop
| pricer | variable pricer |
| set | global SCIP settings |
Definition at line 325 of file pricer.c.
References SCIP_Pricer::active, FALSE, SCIP_OKAY, and SCIP_STAGE_PROBLEM.
Referenced by SCIPdeactivatePricer(), and SCIPfreeProb().
| void SCIPpricerEnableOrDisableClocks | ( | SCIP_PRICER * | pricer, |
| SCIP_Bool | enable | ||
| ) |
enables or disables all clocks of pricer, depending on the value of the flag
| pricer | the pricer for which all clocks should be enabled or disabled |
| enable | should the clocks of the pricer be enabled? |
Definition at line 634 of file pricer.c.
References SCIP_Pricer::pricerclock, SCIPclockEnableOrDisable(), and SCIP_Pricer::setuptime.
Referenced by SCIP_DECL_PARAMCHGD().
| SCIP_RETCODE SCIPpricerRedcost | ( | SCIP_PRICER * | pricer, |
| SCIP_SET * | set, | ||
| SCIP_PROB * | prob, | ||
| SCIP_Real * | lowerbound, | ||
| SCIP_Bool * | stopearly, | ||
| SCIP_RESULT * | result | ||
| ) |
calls reduced cost pricing method of variable pricer
| pricer | variable pricer |
| set | global SCIP settings |
| prob | transformed problem |
| lowerbound | local lower bound computed by the pricer |
| stopearly | should pricing be stopped, although new variables were added? |
| result | result of the pricing process |
Definition at line 345 of file pricer.c.
References SCIP_Pricer::active, SCIP_Pricer::name, SCIP_Pricer::ncalls, SCIP_Prob::nvars, SCIP_Pricer::nvarsfound, SCIP_Pricer::pricerclock, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIPsetDebugMsg.
Referenced by SCIPpricerExec().
| SCIP_RETCODE SCIPpricerFarkas | ( | SCIP_PRICER * | pricer, |
| SCIP_SET * | set, | ||
| SCIP_PROB * | prob, | ||
| SCIP_RESULT * | result | ||
| ) |
calls Farkas pricing method of variable pricer
| pricer | variable pricer |
| set | global SCIP settings |
| prob | transformed problem |
| result | result of the pricing process |
Definition at line 385 of file pricer.c.
References SCIP_Pricer::active, SCIP_Pricer::name, SCIP_Pricer::ncalls, SCIP_Prob::nvars, SCIP_Pricer::nvarsfound, SCIP_Pricer::pricerclock, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIPsetDebugMsg.
Referenced by SCIPpricerExec().
| SCIP_RETCODE SCIPpricerExec | ( | SCIP_PRICER * | pricer, |
| SCIP_SET * | set, | ||
| SCIP_PROB * | prob, | ||
| SCIP_LP * | lp, | ||
| SCIP_PRICESTORE * | pricestore, | ||
| SCIP_Real * | lowerbound, | ||
| SCIP_Bool * | stopearly, | ||
| SCIP_RESULT * | result | ||
| ) |
depending on the LP's solution status, calls reduced cost or Farkas pricing method of variable pricer
| pricer | variable pricer |
| set | global SCIP settings |
| prob | transformed problem |
| lp | LP data |
| pricestore | pricing storage |
| lowerbound | local lower bound computed by the pricer |
| stopearly | should pricing be stopped, although new variables were added? |
| result | result of the pricing process |
Definition at line 424 of file pricer.c.
References SCIP_Pricer::delay, FALSE, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_OKAY, SCIP_SUCCESS, SCIPlpGetSolstat(), SCIPpricerFarkas(), SCIPpricerRedcost(), SCIPpricestoreGetNVars(), and SCIPsetInfinity().
Referenced by SCIPpriceLoop().
| void SCIPpricerSetPriority | ( | SCIP_PRICER * | pricer, |
| SCIP_SET * | set, | ||
| int | priority | ||
| ) |
sets priority of variable pricer
| pricer | variable pricer |
| set | global SCIP settings |
| priority | new priority of the variable pricer |
Definition at line 580 of file pricer.c.
References FALSE, and SCIP_Pricer::priority.
Referenced by SCIPsetPricerPriority().
| void SCIPpricerSetCopy | ( | SCIP_PRICER * | pricer, |
| SCIP_DECL_PRICERCOPY((*pricercopy)) | |||
| ) |
sets copy callback of pricer
| pricer | variable pricer |
Definition at line 484 of file pricer.c.
Referenced by SCIPsetPricerCopy().
| void SCIPpricerSetFree | ( | SCIP_PRICER * | pricer, |
| SCIP_DECL_PRICERFREE((*pricerfree)) | |||
| ) |
sets destructor callback of pricer
| pricer | pricer |
Definition at line 495 of file pricer.c.
Referenced by SCIPsetPricerFree().
| void SCIPpricerSetInit | ( | SCIP_PRICER * | pricer, |
| SCIP_DECL_PRICERINIT((*pricerinit)) | |||
| ) |
sets initialization callback of pricer
| pricer | pricer |
Definition at line 506 of file pricer.c.
Referenced by SCIPsetPricerInit().
| void SCIPpricerSetExit | ( | SCIP_PRICER * | pricer, |
| SCIP_DECL_PRICEREXIT((*pricerexit)) | |||
| ) |
sets deinitialization callback of pricer
| pricer | pricer |
Definition at line 517 of file pricer.c.
Referenced by SCIPsetPricerExit().
| void SCIPpricerSetInitsol | ( | SCIP_PRICER * | pricer, |
| SCIP_DECL_PRICERINITSOL((*pricerinitsol)) | |||
| ) |
sets solving process initialization callback of pricer
| pricer | pricer |
Definition at line 528 of file pricer.c.
Referenced by SCIPsetPricerInitsol().
| void SCIPpricerSetExitsol | ( | SCIP_PRICER * | pricer, |
| SCIP_DECL_PRICEREXITSOL((*pricerexitsol)) | |||
| ) |
sets solving process deinitialization callback of pricer
| pricer | pricer |
Definition at line 539 of file pricer.c.
Referenced by SCIPsetPricerExitsol().