Detailed Description
methods for storing priced cols (based on SCIP's separation storage)
Definition in file pricestore_gcg.h.
#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_implics.h"
#include "scip/type_retcode.h"
#include "scip/type_set.h"
#include "scip/type_stat.h"
#include "scip/type_event.h"
#include "scip/type_lp.h"
#include "scip/type_prob.h"
#include "scip/type_tree.h"
#include "scip/type_reopt.h"
#include "scip/type_branch.h"
#include "pub_colpool.h"
#include "pub_gcgcol.h"
#include "type_pricestore_gcg.h"
Go to the source code of this file.
Function Documentation
◆ GCGpricestoreCreate()
SCIP_RETCODE GCGpricestoreCreate | ( | SCIP * | scip, |
GCG_PRICESTORE ** | pricestore, | ||
SCIP_Real | efficiacyfac, | ||
SCIP_Real | objparalfac, | ||
SCIP_Real | orthofac, | ||
SCIP_Real | mincolorth, | ||
GCG_EFFICIACYCHOICE | efficiacychoice | ||
) |
creates price storage
Definition at line 85 of file pricestore_gcg.c.
Referenced by ObjPricerGcg::createPricestore().
◆ GCGpricestoreFree()
SCIP_RETCODE GCGpricestoreFree | ( | SCIP * | scip, |
GCG_PRICESTORE ** | pricestore | ||
) |
frees price storage
Definition at line 127 of file pricestore_gcg.c.
References GCGpricestoreGetTime().
Referenced by SCIP_DECL_PRICEREXITSOL().
◆ GCGpricestoreStartFarkas()
void GCGpricestoreStartFarkas | ( | GCG_PRICESTORE * | pricestore | ) |
informs price storage, that Farkas pricing starts now
Definition at line 152 of file pricestore_gcg.c.
References GCG_PriceStore::infarkas, and GCG_PriceStore::ncols.
Referenced by SCIP_DECL_PRICERFARKAS().
◆ GCGpricestoreEndFarkas()
void GCGpricestoreEndFarkas | ( | GCG_PRICESTORE * | pricestore | ) |
informs price storage, that Farkas pricing is now finished
Definition at line 163 of file pricestore_gcg.c.
References GCG_PriceStore::infarkas, and GCG_PriceStore::ncols.
Referenced by SCIP_DECL_PRICERREDCOST().
◆ GCGpricestoreStartForceCols()
void GCGpricestoreStartForceCols | ( | GCG_PRICESTORE * | pricestore | ) |
informs price storage, that the following cols should be used in any case
Definition at line 174 of file pricestore_gcg.c.
References GCG_PriceStore::forcecols.
◆ GCGpricestoreEndForceCols()
void GCGpricestoreEndForceCols | ( | GCG_PRICESTORE * | pricestore | ) |
informs price storage, that the following cols should no longer be used in any case
Definition at line 185 of file pricestore_gcg.c.
References GCG_PriceStore::forcecols.
◆ GCGpricestoreAddCol()
SCIP_RETCODE GCGpricestoreAddCol | ( | SCIP * | scip, |
GCG_PRICESTORE * | pricestore, | ||
GCG_COL * | col, | ||
SCIP_Bool | forcecol | ||
) |
adds col to price storage; if the col should be forced to enter the LP, an infinite score has to be used
adds col to price storage; if the col should be forced to enter the LP, an infinite score will be used
Definition at line 243 of file pricestore_gcg.c.
References GCG_PriceStore::cols, GCG_PriceStore::colssize, GCG_PriceStore::forcecols, GCGcolComputeDualObjPara(), GCGcolComputeNorm(), GCGcolGetRedcost(), GCGfreeGcgCol(), GCG_PriceStore::ncols, GCG_PriceStore::ncolsfound, GCG_PriceStore::ncolsfoundround, GCG_PriceStore::nefficaciouscols, GCG_PriceStore::nforcedcols, GCG_PriceStore::objparalfac, GCG_PriceStore::objparallelisms, GCG_PriceStore::orthogonalities, GCG_PriceStore::priceclock, pricestoreEnsureColsMem(), pricestoreFindEqualCol(), GCG_PriceStore::scip, and GCG_PriceStore::scores.
Referenced by ObjPricerGcg::addColToPricestore(), and GCGcolpoolPrice().
◆ GCGpricestoreApplyCols()
SCIP_RETCODE GCGpricestoreApplyCols | ( | GCG_PRICESTORE * | pricestore, |
GCG_COLPOOL * | colpool, | ||
SCIP_Bool | usecolpool, | ||
int * | nfoundvars | ||
) |
adds cols to priced vars and clears price storage
Definition at line 523 of file pricestore_gcg.c.
References GCG_PriceStore::cols, computeScore(), GCGcolGetProbNr(), GCGcolGetRedcost(), GCGcolpoolAddCol(), GCGgetNPricingprobs(), GCGmasterGetOrigprob(), GCGpricerGetMaxColsProb(), GCGpricerGetMaxColsRound(), GCGpricestoreClearCols(), GCG_PriceStore::mincolorth, GCG_PriceStore::ncols, GCG_PriceStore::nforcedcols, GCG_PriceStore::objparallelisms, GCG_PriceStore::orthogonalities, GCG_PriceStore::priceclock, pricestoreApplyCol(), pricestoreDelCol(), pricestoreGetBestCol(), GCG_PriceStore::scip, and GCG_PriceStore::scores.
Referenced by ObjPricerGcg::pricingLoop().
◆ GCGpricestoreClearCols()
void GCGpricestoreClearCols | ( | GCG_PRICESTORE * | pricestore | ) |
clears the price storage without adding the cols to priced vars
clears the price storage without adding the cols to the LP
Definition at line 648 of file pricestore_gcg.c.
References GCG_PriceStore::cols, GCG_PriceStore::colssize, GCGfreeGcgCol(), GCG_PriceStore::infarkas, GCG_PriceStore::ncols, GCG_PriceStore::ncolsfoundround, GCG_PriceStore::nefficaciouscols, GCG_PriceStore::nforcedcols, GCG_PriceStore::objparallelisms, GCG_PriceStore::orthogonalities, GCG_PriceStore::scip, and GCG_PriceStore::scores.
Referenced by GCGpricestoreApplyCols().
◆ GCGpricestoreRemoveInefficaciousCols()
void GCGpricestoreRemoveInefficaciousCols | ( | GCG_PRICESTORE * | pricestore | ) |
removes cols that are inefficacious w.r.t. the current LP solution from price storage without adding the cols to the LP
removes cols that are inefficacious w.r.t. the current dual solution from price storage without adding the cols to the LP
Definition at line 683 of file pricestore_gcg.c.
References GCG_PriceStore::cols, GCGcolGetRedcost(), GCG_PriceStore::nforcedcols, pricestoreDelCol(), and GCG_PriceStore::scip.
◆ GCGpricestoreGetCols()
GCG_COL** GCGpricestoreGetCols | ( | GCG_PRICESTORE * | pricestore | ) |
get cols in the price storage
Definition at line 709 of file pricestore_gcg.c.
References GCG_PriceStore::cols.
Referenced by ObjPricerGcg::getBestCols().
◆ GCGpricestoreGetNCols()
int GCGpricestoreGetNCols | ( | GCG_PRICESTORE * | pricestore | ) |
get number of cols in the price storage
Definition at line 719 of file pricestore_gcg.c.
References GCG_PriceStore::ncols.
Referenced by GCGcolpoolPrice(), ObjPricerGcg::getBestCols(), and ObjPricerGcg::pricingLoop().
◆ GCGpricestoreGetNEfficaciousCols()
int GCGpricestoreGetNEfficaciousCols | ( | GCG_PRICESTORE * | pricestore | ) |
get number of efficacious cols in the price storage
Definition at line 729 of file pricestore_gcg.c.
References GCG_PriceStore::nefficaciouscols.
Referenced by ObjPricerGcg::pricingLoop().
◆ GCGpricestoreGetNColsFound()
int GCGpricestoreGetNColsFound | ( | GCG_PRICESTORE * | pricestore | ) |
get total number of cols found so far
Definition at line 739 of file pricestore_gcg.c.
References GCG_PriceStore::ncolsfound.
◆ GCGpricestoreGetNColsFoundRound()
int GCGpricestoreGetNColsFoundRound | ( | GCG_PRICESTORE * | pricestore | ) |
get number of cols found so far in current price round
Definition at line 749 of file pricestore_gcg.c.
References GCG_PriceStore::ncolsfoundround.
◆ GCGpricestoreGetNColsApplied()
int GCGpricestoreGetNColsApplied | ( | GCG_PRICESTORE * | pricestore | ) |
get total number of cols applied to the LPs
Definition at line 759 of file pricestore_gcg.c.
References GCG_PriceStore::ncolsapplied.
◆ GCGpricestoreGetTime()
SCIP_Real GCGpricestoreGetTime | ( | GCG_PRICESTORE * | pricestore | ) |
gets time in seconds used for pricing cols from the pricestore
Definition at line 769 of file pricestore_gcg.c.
References GCG_PriceStore::priceclock, and GCG_PriceStore::scip.
Referenced by GCGpricestoreFree().