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_message.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
Definition at line 87 of file pricer.c.
References assert(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPpricerGetName(), SCIPsetDebugMsg, and valid.
Referenced by SCIPsetCopyPlugins().
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 173 of file pricer.c.
References assert(), doPricerCreate(), NULL, SCIP_Bool, SCIP_CALL_FINALLY, SCIP_DECL_PRICERCOPY, SCIP_DECL_PRICEREXIT, SCIP_DECL_PRICERFREE, SCIP_DECL_PRICERINIT, SCIP_OKAY, and SCIPpricerFree().
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 207 of file pricer.c.
References assert(), BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().
Referenced by SCIPpricerCreate().
SCIP_RETCODE SCIPpricerInit | ( | SCIP_PRICER * | pricer, |
SCIP_SET * | set ) |
initializes variable pricer
pricer | variable pricer |
set | global SCIP settings |
Definition at line 234 of file pricer.c.
References SCIP_Pricer::active, assert(), SCIP_Pricer::initialized, SCIP_Pricer::name, SCIP_Pricer::ncalls, NULL, SCIP_Pricer::nvarsfound, SCIP_Pricer::pricerclock, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Pricer::setuptime, and TRUE.
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 274 of file pricer.c.
References SCIP_Pricer::active, assert(), FALSE, SCIP_Pricer::initialized, SCIP_Pricer::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Pricer::setuptime.
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 305 of file pricer.c.
References assert(), NULL, 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 329 of file pricer.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Pricer::setuptime.
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 353 of file pricer.c.
References SCIP_Pricer::active, assert(), FALSE, NULL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PROBLEM, and TRUE.
Referenced by SCIPactivatePricer(), and SCIPsetCopyPlugins().
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 376 of file pricer.c.
References SCIP_Pricer::active, assert(), FALSE, NULL, and SCIP_OKAY.
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 684 of file pricer.c.
References assert(), NULL, SCIP_Pricer::pricerclock, SCIP_Bool, SCIPclockEnableOrDisable(), and SCIP_Pricer::setuptime.
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 395 of file pricer.c.
References SCIP_Pricer::active, assert(), SCIP_Pricer::name, SCIP_Pricer::ncalls, NULL, SCIP_Prob::nvars, SCIP_Pricer::nvarsfound, SCIP_Pricer::pricerclock, result, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, 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 435 of file pricer.c.
References SCIP_Pricer::active, assert(), SCIP_Pricer::name, SCIP_Pricer::ncalls, NULL, SCIP_Prob::nvars, SCIP_Pricer::nvarsfound, SCIP_Pricer::pricerclock, result, 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 474 of file pricer.c.
References assert(), SCIP_Pricer::delay, FALSE, NULL, result, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_OKAY, SCIP_Real, 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 630 of file pricer.c.
References assert(), FALSE, NULL, and SCIP_Pricer::priority.
Referenced by SCIPsetPricerPriority().
void SCIPpricerSetCopy | ( | SCIP_PRICER * | pricer | ) |
sets copy callback of pricer
pricer | variable pricer copy callback of pricer |
Definition at line 534 of file pricer.c.
References assert(), NULL, and SCIP_DECL_PRICERCOPY.
Referenced by SCIPsetPricerCopy().
void SCIPpricerSetFree | ( | SCIP_PRICER * | pricer | ) |
sets destructor callback of pricer
pricer | pricer destructor of pricer |
Definition at line 545 of file pricer.c.
References assert(), NULL, and SCIP_DECL_PRICERFREE.
Referenced by SCIPsetPricerFree().
void SCIPpricerSetInit | ( | SCIP_PRICER * | pricer | ) |
sets initialization callback of pricer
pricer | pricer initialize pricer |
Definition at line 556 of file pricer.c.
References assert(), NULL, and SCIP_DECL_PRICERINIT.
Referenced by SCIPsetPricerInit().
void SCIPpricerSetExit | ( | SCIP_PRICER * | pricer | ) |
sets deinitialization callback of pricer
pricer | pricer deinitialize pricer |
Definition at line 567 of file pricer.c.
References assert(), NULL, and SCIP_DECL_PRICEREXIT.
Referenced by SCIPsetPricerExit().
void SCIPpricerSetInitsol | ( | SCIP_PRICER * | pricer | ) |
sets solving process initialization callback of pricer
pricer | pricer solving process initialization callback of pricer |
Definition at line 578 of file pricer.c.
References assert(), NULL, and SCIP_DECL_PRICERINITSOL.
Referenced by SCIPsetPricerInitsol().
void SCIPpricerSetExitsol | ( | SCIP_PRICER * | pricer | ) |
sets solving process deinitialization callback of pricer
pricer | pricer solving process deinitialization callback of pricer |
Definition at line 589 of file pricer.c.
References assert(), NULL, and SCIP_DECL_PRICEREXITSOL.
Referenced by SCIPsetPricerExitsol().