functions to include and access pricer plugins of SCIP
| SCIP_DECL_SORTPTRCOMP | ( | SCIPpricerComp | ) |
compares two pricers w. r. to their priority
compares two pricers w. r. to their activity and their priority
Definition at line 54 of file pricer.c.
References SCIP_DECL_SORTPTRCOMP.
| SCIP_DECL_SORTPTRCOMP | ( | SCIPpricerCompName | ) |
comparison method for sorting pricers w.r.t. to their name
Definition at line 63 of file pricer.c.
References SCIP_DECL_SORTPTRCOMP, and SCIPpricerGetName().
| SCIP_PRICERDATA * SCIPpricerGetData | ( | SCIP_PRICER * | pricer | ) |
gets user data of variable pricer
| pricer | variable pricer |
Definition at line 522 of file pricer.c.
References assert(), NULL, SCIP_Pricer::pricerdata, and SCIPpricerGetData().
Referenced by doPricing(), SCIP_DECL_PRICERCOPY(), SCIP_DECL_PRICEREXIT(), SCIP_DECL_PRICEREXIT(), SCIP_DECL_PRICEREXITSOL(), SCIP_DECL_PRICEREXITSOL(), SCIP_DECL_PRICEREXITSOL(), SCIP_DECL_PRICERFARKAS(), SCIP_DECL_PRICERFREE(), SCIP_DECL_PRICERFREE(), SCIP_DECL_PRICERFREE(), SCIP_DECL_PRICERFREE(), SCIP_DECL_PRICERINIT(), SCIP_DECL_PRICERINIT(), SCIP_DECL_PRICERINIT(), SCIP_DECL_PRICERINITSOL(), SCIP_DECL_PRICERINITSOL(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_PRICERREDCOST(), SCIPfindObjPricer(), SCIPgetObjPricer(), SCIPpricerBinpackingActivate(), and SCIPpricerGetData().
| void SCIPpricerSetData | ( | SCIP_PRICER * | pricer, |
| SCIP_PRICERDATA * | pricerdata ) |
sets user data of variable pricer; user has to free old data in advance!
| pricer | variable pricer |
| pricerdata | new variable pricer user data |
Definition at line 532 of file pricer.c.
References assert(), NULL, SCIP_Pricer::pricerdata, and SCIPpricerSetData().
Referenced by SCIP_DECL_PRICERFREE(), SCIP_DECL_PRICERFREE(), and SCIPpricerSetData().
| void SCIPpricerMarkExact | ( | SCIP_PRICER * | pricer | ) |
marks the variable pricer as safe to use in exact solving mode
| pricer | pricer |
Definition at line 609 of file pricer.c.
References assert(), SCIP_Pricer::exact, NULL, SCIPpricerMarkExact(), and TRUE.
Referenced by SCIPpricerMarkExact().
| const char * SCIPpricerGetName | ( | SCIP_PRICER * | pricer | ) |
gets name of variable pricer
| pricer | variable pricer |
Definition at line 619 of file pricer.c.
References assert(), SCIP_Pricer::name, NULL, and SCIPpricerGetName().
Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_PRICERCOPY(), SCIP_DECL_SORTPTRCOMP(), SCIPcollectPricerStatistics(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPpriceLoop(), SCIPpricerCopyInclude(), SCIPpricerGetName(), and SCIPprintPricerStatistics().
| const char * SCIPpricerGetDesc | ( | SCIP_PRICER * | pricer | ) |
gets description of variable pricer
| pricer | variable pricer |
Definition at line 629 of file pricer.c.
References assert(), SCIP_Pricer::desc, NULL, and SCIPpricerGetDesc().
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and SCIPpricerGetDesc().
| int SCIPpricerGetPriority | ( | SCIP_PRICER * | pricer | ) |
gets priority of variable pricer
| pricer | variable pricer |
Definition at line 639 of file pricer.c.
References assert(), NULL, SCIP_Pricer::priority, and SCIPpricerGetPriority().
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPpricerGetPriority().
| int SCIPpricerGetNCalls | ( | SCIP_PRICER * | pricer | ) |
gets the number of times, the pricer was called and tried to find a variable with negative reduced costs
| pricer | variable pricer |
Definition at line 663 of file pricer.c.
References assert(), SCIP_Pricer::ncalls, NULL, and SCIPpricerGetNCalls().
Referenced by SCIPcollectPricerStatistics(), SCIPpricerGetNCalls(), and SCIPprintPricerStatistics().
| int SCIPpricerGetNVarsFound | ( | SCIP_PRICER * | pricer | ) |
gets the number of variables with negative reduced costs found by this pricer
| pricer | variable pricer |
Definition at line 673 of file pricer.c.
References assert(), NULL, SCIP_Pricer::nvarsfound, and SCIPpricerGetNVarsFound().
Referenced by SCIPcollectPricerStatistics(), SCIPpricerGetNVarsFound(), and SCIPprintPricerStatistics().
| SCIP_Real SCIPpricerGetSetupTime | ( | SCIP_PRICER * | pricer | ) |
gets time in seconds used in this pricer for setting up for next stages
| pricer | variable pricer |
Definition at line 683 of file pricer.c.
References assert(), NULL, SCIP_Real, SCIPclockGetTime(), SCIPpricerGetSetupTime(), and SCIP_Pricer::setuptime.
Referenced by SCIPcollectPricerStatistics(), SCIPpricerGetSetupTime(), and SCIPprintPricerStatistics().
| SCIP_Real SCIPpricerGetTime | ( | SCIP_PRICER * | pricer | ) |
gets time in seconds used in this pricer
| pricer | variable pricer |
Definition at line 693 of file pricer.c.
References assert(), NULL, SCIP_Pricer::pricerclock, SCIP_Real, SCIPclockGetTime(), and SCIPpricerGetTime().
Referenced by SCIPcollectPricerStatistics(), SCIPpricerGetTime(), and SCIPprintPricerStatistics().
| SCIP_Bool SCIPpricerIsActive | ( | SCIP_PRICER * | pricer | ) |
returns whether the given pricer is in use in the current problem
| pricer | variable pricer |
Definition at line 715 of file pricer.c.
References SCIP_Pricer::active, assert(), NULL, SCIP_Bool, and SCIPpricerIsActive().
Referenced by SCIPpricerIsActive(), and SCIPsetCopyPlugins().
| SCIP_Bool SCIPpricerIsDelayed | ( | SCIP_PRICER * | pricer | ) |
returns whether the pricer should be delayed until no other pricer finds a new variable
| pricer | variable pricer |
Definition at line 725 of file pricer.c.
References assert(), SCIP_Pricer::delay, NULL, SCIP_Bool, and SCIPpricerIsDelayed().
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPpricerIsDelayed().
| SCIP_Bool SCIPpricerIsInitialized | ( | SCIP_PRICER * | pricer | ) |
is variable pricer initialized?
| pricer | variable pricer |
Definition at line 735 of file pricer.c.
References assert(), SCIP_Pricer::initialized, NULL, SCIP_Bool, and SCIPpricerIsInitialized().
Referenced by SCIPpricerIsInitialized().
| SCIP_RETCODE SCIPincludePricer | ( | SCIP * | scip, |
| 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 and includes it in SCIP To use the variable pricer for solving a problem, it first has to be activated with a call to SCIPactivatePricer(). This should be done during the problem creation stage.
| scip | SCIP data structure |
| 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? if this is set to FALSE it may happen that the pricer produces columns that already exist in the problem (which are also priced in by the default problem variable pricing in the same round) |
| - | copy method of variable pricer or NULL if you don't want to copy your plugin into sub-SCIPs |
| - | destructor of variable pricer |
| - | initialize variable pricer |
| - | deinitialize variable pricer |
| - | solving process initialization method of variable pricer |
| - | solving process deinitialization method of variable pricer |
| - | reduced cost pricing method of variable pricer for feasible LPs |
| - | Farkas pricing method of variable pricer for infeasible LPs |
| pricerdata | variable pricer data |
Definition at line 69 of file scip_pricer.c.
References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_PRICERCOPY, SCIP_DECL_PRICEREXIT, SCIP_DECL_PRICEREXITSOL, SCIP_DECL_PRICERFARKAS, SCIP_DECL_PRICERFREE, SCIP_DECL_PRICERINIT, SCIP_DECL_PRICERINITSOL, SCIP_DECL_PRICERREDCOST, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPfindPricer(), SCIPincludePricer(), SCIPpricerCreate(), SCIPsetIncludePricer(), and TRUE.
Referenced by SCIPincludeObjPricer(), and SCIPincludePricer().
| SCIP_RETCODE SCIPincludePricerBasic | ( | SCIP * | scip, |
| SCIP_PRICER ** | pricerptr, | ||
| const char * | name, | ||
| const char * | desc, | ||
| int | priority, | ||
| SCIP_Bool | delay, | ||
| SCIP_DECL_PRICERREDCOST((*pricerredcost)) | , | ||
| SCIP_DECL_PRICERFARKAS((*pricerfarkas)) | , | ||
| SCIP_PRICERDATA * | pricerdata ) |
creates a variable pricer and includes it in SCIP with all non-fundamental callbacks set to NULL; if needed, these can be added afterwards via setter functions SCIPsetPricerCopy(), SCIPsetPricerFree(), SCIPsetPricerInity(), SCIPsetPricerExit(), SCIPsetPricerInitsol(), SCIPsetPricerExitsol(), SCIPsetPricerFarkas();
To use the variable pricer for solving a problem, it first has to be activated with a call to SCIPactivatePricer(). This should be done during the problem creation stage.
| scip | SCIP data structure |
| pricerptr | reference to a pricer, or NULL |
| 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? if this is set to FALSE it may happen that the pricer produces columns that already exist in the problem (which are also priced in by the default problem variable pricing in the same round) |
| - | reduced cost pricing method of variable pricer for feasible LPs |
| - | Farkas pricing method of variable pricer for infeasible LPs |
| pricerdata | variable pricer data |
Definition at line 127 of file scip_pricer.c.
References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_PRICERFARKAS, SCIP_DECL_PRICERREDCOST, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPfindPricer(), SCIPincludePricerBasic(), SCIPpricerCreate(), SCIPsetIncludePricer(), and TRUE.
Referenced by SCIPincludePricerBasic(), SCIPincludePricerBinpacking(), SCIPincludePricerColoring(), and SCIPincludePricerRpa().
| SCIP_RETCODE SCIPsetPricerCopy | ( | SCIP * | scip, |
| SCIP_PRICER * | pricer ) |
sets copy method of pricer
| scip | SCIP data structure |
| pricer | pricer copy method of pricer or NULL if you don't want to copy your plugin into sub-SCIPs |
Definition at line 175 of file scip_pricer.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_PRICERCOPY, SCIP_OKAY, SCIPcheckStage, SCIPpricerSetCopy(), SCIPsetPricerCopy(), and TRUE.
Referenced by SCIPincludePricerColoring(), and SCIPsetPricerCopy().
| SCIP_RETCODE SCIPsetPricerFree | ( | SCIP * | scip, |
| SCIP_PRICER * | pricer ) |
sets destructor method of pricer
| scip | SCIP data structure |
| pricer | pricer destructor of pricer |
Definition at line 199 of file scip_pricer.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_PRICERFREE, SCIP_OKAY, SCIPcheckStage, SCIPpricerSetFree(), SCIPsetPricerFree(), and TRUE.
Referenced by SCIPincludePricerBinpacking(), SCIPincludePricerColoring(), SCIPincludePricerRpa(), and SCIPsetPricerFree().
| SCIP_RETCODE SCIPsetPricerInit | ( | SCIP * | scip, |
| SCIP_PRICER * | pricer ) |
sets initialization method of pricer
| scip | SCIP data structure |
| pricer | pricer initialize pricer |
Definition at line 223 of file scip_pricer.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_PRICERINIT, SCIP_OKAY, SCIPcheckStage, SCIPpricerSetInit(), SCIPsetPricerInit(), and TRUE.
Referenced by SCIPincludePricerBinpacking(), SCIPincludePricerRpa(), and SCIPsetPricerInit().
| SCIP_RETCODE SCIPsetPricerExit | ( | SCIP * | scip, |
| SCIP_PRICER * | pricer ) |
sets deinitialization method of pricer
| scip | SCIP data structure |
| pricer | pricer deinitialize pricer |
Definition at line 247 of file scip_pricer.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_PRICEREXIT, SCIP_OKAY, SCIPcheckStage, SCIPpricerSetExit(), SCIPsetPricerExit(), and TRUE.
Referenced by SCIPincludePricerRpa(), and SCIPsetPricerExit().
| SCIP_RETCODE SCIPsetPricerInitsol | ( | SCIP * | scip, |
| SCIP_PRICER * | pricer ) |
sets solving process initialization method of pricer
| scip | SCIP data structure |
| pricer | pricer solving process initialization method of pricer |
Definition at line 271 of file scip_pricer.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_PRICERINITSOL, SCIP_OKAY, SCIPcheckStage, SCIPpricerSetInitsol(), SCIPsetPricerInitsol(), and TRUE.
Referenced by SCIPincludePricerColoring(), and SCIPsetPricerInitsol().
| SCIP_RETCODE SCIPsetPricerExitsol | ( | SCIP * | scip, |
| SCIP_PRICER * | pricer ) |
sets solving process deinitialization method of pricer
| scip | SCIP data structure |
| pricer | pricer solving process deinitialization method of pricer |
Definition at line 295 of file scip_pricer.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_PRICEREXITSOL, SCIP_OKAY, SCIPcheckStage, SCIPpricerSetExitsol(), SCIPsetPricerExitsol(), and TRUE.
Referenced by SCIPincludePricerBinpacking(), SCIPincludePricerColoring(), and SCIPsetPricerExitsol().
| SCIP_PRICER * SCIPfindPricer | ( | SCIP * | scip, |
| const char * | name ) |
returns the variable pricer of the given name, or NULL if not existing
| scip | SCIP data structure |
| name | name of variable pricer |
Definition at line 311 of file scip_pricer.c.
References assert(), NULL, SCIPfindPricer(), and SCIPsetFindPricer().
Referenced by execmain(), readCol(), SCIPfindObjPricer(), SCIPfindPricer(), SCIPincludePricer(), SCIPincludePricerBasic(), SCIPpricerBinpackingActivate(), and SCIPpricerRpaActivate().
| SCIP_PRICER ** SCIPgetPricers | ( | SCIP * | scip | ) |
returns the array of currently available variable pricers; active pricers are in the first slots of the array
| scip | SCIP data structure |
Definition at line 324 of file scip_pricer.c.
References assert(), NULL, SCIPgetPricers(), and SCIPsetSortPricers().
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPgetPricers(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
| int SCIPgetNPricers | ( | SCIP * | scip | ) |
returns the number of currently available variable pricers
| scip | SCIP data structure |
Definition at line 337 of file scip_pricer.c.
References assert(), NULL, and SCIPgetNPricers().
Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPgetNPricers(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
| int SCIPgetNActivePricers | ( | SCIP * | scip | ) |
returns the number of currently active variable pricers, that are used in the LP solving loop
| scip | SCIP data structure |
Definition at line 348 of file scip_pricer.c.
References assert(), NULL, and SCIPgetNActivePricers().
Referenced by determineSymmetry(), doCopy(), isRestartApplicable(), matrixCreate(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPROP(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPINITSOL(), SCIP_DECL_PROPPRESOL(), SCIP_DECL_SEPAEXECLP(), SCIPapplyHeurSubNlp(), SCIPgetNActivePricers(), and SCIPmatrixCreate().
| SCIP_RETCODE SCIPsetPricerPriority | ( | SCIP * | scip, |
| SCIP_PRICER * | pricer, | ||
| int | priority ) |
sets the priority of a variable pricer
sets the priority priority of a variable pricer
| scip | SCIP data structure |
| pricer | variable pricer |
| priority | new priority of the variable pricer |
Definition at line 359 of file scip_pricer.c.
References assert(), NULL, SCIP_OKAY, SCIPpricerSetPriority(), and SCIPsetPricerPriority().
Referenced by SCIP_DECL_PARAMCHGD(), and SCIPsetPricerPriority().
| SCIP_RETCODE SCIPactivatePricer | ( | SCIP * | scip, |
| SCIP_PRICER * | pricer ) |
activates pricer to be used for the current problem This method should be called during the problem creation stage for all pricers that are necessary to solve the problem model. The pricers are automatically deactivated when the problem is freed.
| scip | SCIP data structure |
| pricer | variable pricer |
Definition at line 384 of file scip_pricer.c.
References FALSE, SCIP_CALL, SCIP_OKAY, SCIPactivatePricer(), SCIPcheckStage, SCIPpricerActivate(), and TRUE.
Referenced by execmain(), readCol(), SCIPactivatePricer(), SCIPpricerBinpackingActivate(), and SCIPpricerRpaActivate().
| SCIP_RETCODE SCIPdeactivatePricer | ( | SCIP * | scip, |
| SCIP_PRICER * | pricer ) |
deactivates pricer
| scip | SCIP data structure |
| pricer | variable pricer |
Definition at line 406 of file scip_pricer.c.
References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPdeactivatePricer(), SCIPpricerDeactivate(), and TRUE.
Referenced by SCIPdeactivatePricer().