Detailed Description
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.
Function Documentation
◆ SCIP_DECL_PARAMCHGD()
|
static |
method to call, when the priority of a pricer was changed
Definition at line 64 of file pricer.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetPricerPriority().
◆ SCIPpricerCopyInclude()
SCIP_RETCODE SCIPpricerCopyInclude | ( | SCIP_PRICER * | pricer, |
SCIP_SET * | set, | ||
SCIP_Bool * | valid | ||
) |
copies the given pricer to a new scip
- Parameters
-
pricer pricer set SCIP_SET of SCIP to copy to valid was the copying process valid?
Definition at line 78 of file pricer.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPpricerGetName(), and SCIPsetDebugMsg.
Referenced by SCIPsetEnableOrDisablePluginClocks().
◆ doPricerCreate()
|
static |
internal method creating a variable pricer
- Parameters
-
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, BMSclearMemory, BMSduplicateMemoryArray, FALSE, NULL, paramname, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPclockCreate(), SCIPsetAddIntParam(), and SCIPsnprintf().
Referenced by SCIPpricerCreate().
◆ SCIPpricerCreate()
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().
- Parameters
-
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 164 of file pricer.c.
References doPricerCreate(), NULL, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPpricerFree().
Referenced by SCIPincludePricer(), and SCIPincludePricerBasic().
◆ SCIPpricerFree()
SCIP_RETCODE SCIPpricerFree | ( | SCIP_PRICER ** | pricer, |
SCIP_SET * | set | ||
) |
calls destructor and frees memory of variable pricer
- Parameters
-
pricer pointer to variable pricer data structure set global SCIP settings
Definition at line 198 of file pricer.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().
Referenced by SCIPpricerCreate().
◆ SCIPpricerInit()
SCIP_RETCODE SCIPpricerInit | ( | SCIP_PRICER * | pricer, |
SCIP_SET * | set | ||
) |
initializes variable pricer
- Parameters
-
pricer variable pricer set global SCIP settings
Definition at line 225 of file pricer.c.
References SCIP_Pricer::active, 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.
Referenced by SCIPsetFindNlpi().
◆ SCIPpricerExit()
SCIP_RETCODE SCIPpricerExit | ( | SCIP_PRICER * | pricer, |
SCIP_SET * | set | ||
) |
calls exit method of variable pricer
- Parameters
-
pricer variable pricer set global SCIP settings
Definition at line 265 of file pricer.c.
References SCIP_Pricer::active, FALSE, SCIP_Pricer::initialized, SCIP_Pricer::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Pricer::setuptime.
Referenced by SCIPsetInitPlugins().
◆ SCIPpricerInitsol()
SCIP_RETCODE SCIPpricerInitsol | ( | SCIP_PRICER * | pricer, |
SCIP_SET * | set | ||
) |
informs variable pricer that the branch and bound process is being started
- Parameters
-
pricer variable pricer set global SCIP settings
Definition at line 296 of file pricer.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Pricer::setuptime.
Referenced by SCIPsetInitprePlugins().
◆ SCIPpricerExitsol()
SCIP_RETCODE SCIPpricerExitsol | ( | SCIP_PRICER * | pricer, |
SCIP_SET * | set | ||
) |
informs variable pricer that the branch and bound process data is being freed
- Parameters
-
pricer variable pricer set global SCIP settings
Definition at line 320 of file pricer.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Pricer::setuptime.
Referenced by SCIPsetInitsolPlugins().
◆ SCIPpricerActivate()
SCIP_RETCODE SCIPpricerActivate | ( | SCIP_PRICER * | pricer, |
SCIP_SET * | set | ||
) |
activates pricer such that it is called in LP solving loop
- Parameters
-
pricer variable pricer set global SCIP settings
Definition at line 344 of file pricer.c.
References SCIP_Pricer::active, FALSE, NULL, SCIP_OKAY, SCIP_STAGE_PROBLEM, and TRUE.
Referenced by SCIPactivatePricer().
◆ SCIPpricerDeactivate()
SCIP_RETCODE SCIPpricerDeactivate | ( | SCIP_PRICER * | pricer, |
SCIP_SET * | set | ||
) |
deactivates pricer such that it is no longer called in LP solving loop
- Parameters
-
pricer variable pricer set global SCIP settings
Definition at line 364 of file pricer.c.
References SCIP_Pricer::active, FALSE, NULL, and SCIP_OKAY.
Referenced by SCIPdeactivatePricer(), and SCIPfreeProb().
◆ SCIPpricerRedcost()
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
- Parameters
-
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 383 of file pricer.c.
References SCIP_Pricer::active, SCIP_Pricer::name, SCIP_Pricer::ncalls, NULL, SCIP_Prob::nvars, SCIP_Pricer::nvarsfound, SCIP_Pricer::pricerclock, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIPsetDebugMsg.
Referenced by SCIPpricerExec().
◆ SCIPpricerFarkas()
SCIP_RETCODE SCIPpricerFarkas | ( | SCIP_PRICER * | pricer, |
SCIP_SET * | set, | ||
SCIP_PROB * | prob, | ||
SCIP_RESULT * | result | ||
) |
calls Farkas pricing method of variable pricer
- Parameters
-
pricer variable pricer set global SCIP settings prob transformed problem result result of the pricing process
Definition at line 423 of file pricer.c.
References SCIP_Pricer::active, SCIP_Pricer::name, SCIP_Pricer::ncalls, NULL, SCIP_Prob::nvars, SCIP_Pricer::nvarsfound, SCIP_Pricer::pricerclock, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIPsetDebugMsg.
Referenced by SCIPpricerExec().
◆ 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
- Parameters
-
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 462 of file pricer.c.
References SCIP_Pricer::delay, FALSE, NULL, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_OKAY, SCIP_SUCCESS, SCIPlpGetSolstat(), SCIPpricerFarkas(), SCIPpricerRedcost(), SCIPpricestoreGetNVars(), and SCIPsetInfinity().
Referenced by SCIPpriceLoop().
◆ SCIPpricerSetCopy()
void SCIPpricerSetCopy | ( | SCIP_PRICER * | pricer, |
SCIP_DECL_PRICERCOPY((*pricercopy)) | |||
) |
sets copy callback of pricer
- Parameters
-
pricer variable pricer
Definition at line 522 of file pricer.c.
References NULL.
Referenced by SCIPsetPricerCopy().
◆ SCIPpricerSetFree()
void SCIPpricerSetFree | ( | SCIP_PRICER * | pricer, |
SCIP_DECL_PRICERFREE((*pricerfree)) | |||
) |
sets destructor callback of pricer
- Parameters
-
pricer pricer
Definition at line 533 of file pricer.c.
References NULL.
Referenced by SCIPsetPricerFree().
◆ SCIPpricerSetInit()
void SCIPpricerSetInit | ( | SCIP_PRICER * | pricer, |
SCIP_DECL_PRICERINIT((*pricerinit)) | |||
) |
sets initialization callback of pricer
- Parameters
-
pricer pricer
Definition at line 544 of file pricer.c.
References NULL.
Referenced by SCIPsetPricerInit().
◆ SCIPpricerSetExit()
void SCIPpricerSetExit | ( | SCIP_PRICER * | pricer, |
SCIP_DECL_PRICEREXIT((*pricerexit)) | |||
) |
sets deinitialization callback of pricer
- Parameters
-
pricer pricer
Definition at line 555 of file pricer.c.
References NULL.
Referenced by SCIPsetPricerExit().
◆ SCIPpricerSetInitsol()
void SCIPpricerSetInitsol | ( | SCIP_PRICER * | pricer, |
SCIP_DECL_PRICERINITSOL((*pricerinitsol)) | |||
) |
sets solving process initialization callback of pricer
- Parameters
-
pricer pricer
Definition at line 566 of file pricer.c.
References NULL.
Referenced by SCIPsetPricerInitsol().
◆ SCIPpricerSetExitsol()
void SCIPpricerSetExitsol | ( | SCIP_PRICER * | pricer, |
SCIP_DECL_PRICEREXITSOL((*pricerexitsol)) | |||
) |
sets solving process deinitialization callback of pricer
- Parameters
-
pricer pricer
Definition at line 577 of file pricer.c.
References NULL.
Referenced by SCIPsetPricerExitsol().
◆ SCIPpricerSetPriority()
void SCIPpricerSetPriority | ( | SCIP_PRICER * | pricer, |
SCIP_SET * | set, | ||
int | priority | ||
) |
sets priority of variable pricer
- Parameters
-
pricer variable pricer set global SCIP settings priority new priority of the variable pricer
Definition at line 618 of file pricer.c.
References FALSE, NULL, and SCIP_Pricer::priority.
Referenced by SCIPsetPricerPriority().
◆ SCIPpricerEnableOrDisableClocks()
void SCIPpricerEnableOrDisableClocks | ( | SCIP_PRICER * | pricer, |
SCIP_Bool | enable | ||
) |
enables or disables all clocks of pricer
, depending on the value of the flag
- Parameters
-
pricer the pricer for which all clocks should be enabled or disabled enable should the clocks of the pricer be enabled?
Definition at line 672 of file pricer.c.
References NULL, SCIP_Pricer::pricerclock, SCIPclockEnableOrDisable(), and SCIP_Pricer::setuptime.
Referenced by SCIP_DECL_PARAMCHGD().