methods for variable pricers
Definition in file pricer.c.
#include <assert.h>
#include <string.h>
#include "scip/def.h"
#include "scip/set.h"
#include "scip/clock.h"
#include "scip/paramset.h"
#include "scip/lp.h"
#include "scip/prob.h"
#include "scip/pricestore.h"
#include "scip/scip.h"
#include "scip/pricer.h"
#include "scip/pub_message.h"
#include "scip/pub_misc.h"
#include "scip/struct_pricer.h"
Go to the source code of this file.
|
static |
method to call, when the priority of a pricer was changed
Definition at line 63 of file pricer.c.
References SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetPricerPriority().
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 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().
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 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().
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 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().