Detailed Description
methods for working with pricing problems
Various methods to work with pricing problems
Definition in file pricingprob.c.
#include "pricingprob.h"
#include "pub_pricingprob.h"
#include "gcg.h"
#include "pricestore_gcg.h"
#include "pub_colpool.h"
#include "pub_gcgcol.h"
#include "pub_pricingjob.h"
#include "scip/scip.h"
Go to the source code of this file.
Function Documentation
◆ GCGpricingprobCreate()
SCIP_RETCODE GCGpricingprobCreate | ( | SCIP * | scip, |
GCG_PRICINGPROB ** | pricingprob, | ||
SCIP * | pricingscip, | ||
int | probnr, | ||
int | nroundscol | ||
) |
create a pricing problem
- Parameters
-
scip SCIP data structure (master problem) pricingprob pricing problem to be created pricingscip SCIP data structure of the corresponding pricing problem probnr index of the corresponding pricing problem nroundscol number of previous pricing rounds for which the number of improving columns should be counted
Definition at line 51 of file pricingprob.c.
References GCG_PRICINGSTATUS_UNKNOWN.
Referenced by gcg::Pricingcontroller::initSol().
◆ GCGpricingprobFree()
void GCGpricingprobFree | ( | SCIP * | scip, |
GCG_PRICINGPROB ** | pricingprob | ||
) |
free a pricing problem
- Parameters
-
scip SCIP data structure (master problem) pricingprob pricing problem to be freed
Definition at line 82 of file pricingprob.c.
Referenced by gcg::Pricingcontroller::exitSol().
◆ GCGpricingprobInitPricing()
void GCGpricingprobInitPricing | ( | GCG_PRICINGPROB * | pricingprob | ) |
initialize pricing problem at the beginning of the pricing round
- Parameters
-
pricingprob pricing problem structure
Definition at line 95 of file pricingprob.c.
References GCG_PricingProb::branchconsidx, GCG_PricingProb::consisadded, GCG_PricingProb::nbranchconss, and GCG_PricingProb::nimpcols.
Referenced by gcg::Pricingcontroller::initPricing().
◆ GCGpricingprobExitPricing()
void GCGpricingprobExitPricing | ( | GCG_PRICINGPROB * | pricingprob, |
int | nroundscol | ||
) |
uninitialize pricing problem at the beginning of the pricing round
- Parameters
-
pricingprob pricing problem structure nroundscol number of previous pricing rounds for which the number of improving columns should be counted
Definition at line 107 of file pricingprob.c.
References GCG_PricingProb::ncolsround, and GCG_PricingProb::nimpcols.
Referenced by gcg::Pricingcontroller::exitPricing().
◆ GCGpricingprobAddGenericBranchData()
SCIP_RETCODE GCGpricingprobAddGenericBranchData | ( | SCIP * | scip, |
GCG_PRICINGPROB * | pricingprob, | ||
SCIP_CONS * | branchcons, | ||
SCIP_Real | branchdual | ||
) |
add generic branching data (constraint and dual value) to the current pricing problem
- Parameters
-
scip SCIP data structure (master problem) pricingprob pricing problem structure branchcons generic branching constraint branchdual corresponding dual solution value
Definition at line 122 of file pricingprob.c.
References GCG_PricingProb::branchconsidx, GCG_PricingProb::branchconss, GCG_PricingProb::branchconsssize, GCG_PricingProb::branchduals, and GCG_PricingProb::nbranchconss.
◆ GCGpricingprobReset()
void GCGpricingprobReset | ( | SCIP * | scip, |
GCG_PRICINGPROB * | pricingprob | ||
) |
reset the pricing problem statistics for the current pricing round
- Parameters
-
scip SCIP data structure (master problem) pricingprob pricing problem structure
Definition at line 160 of file pricingprob.c.
References GCG_PricingProb::branchconsidx, GCG_PRICINGSTATUS_UNKNOWN, GCG_PricingProb::lowerbound, GCG_PricingProb::nbranchconss, GCG_PricingProb::nimpcols, GCG_PricingProb::nsolves, and GCG_PricingProb::status.
Referenced by gcg::Pricingcontroller::setupPriorityQueue().
◆ GCGpricingprobUpdate()
void GCGpricingprobUpdate | ( | SCIP * | scip, |
GCG_PRICINGPROB * | pricingprob, | ||
GCG_PRICINGSTATUS | status, | ||
SCIP_Real | lowerbound, | ||
int | nimpcols | ||
) |
update solution information of a pricing problem
- Parameters
-
scip SCIP data structure (master problem) pricingprob pricing problem structure status status of last pricing job lowerbound new lower bound nimpcols number of new improving columns
Definition at line 174 of file pricingprob.c.
References GCG_PRICINGSTATUS_NOTAPPLICABLE, GCG_PricingProb::lowerbound, GCG_PricingProb::nimpcols, GCG_PricingProb::nsolves, and GCG_PricingProb::status.
Referenced by gcg::Pricingcontroller::updatePricingprob().
◆ GCGpricingprobGetProbnr()
int GCGpricingprobGetProbnr | ( | GCG_PRICINGPROB * | pricingprob | ) |
get the index of the corresponding pricing problem
- Parameters
-
pricingprob pricing problem structure
Definition at line 204 of file pricingprob.c.
References GCG_PricingProb::probnr.
Referenced by gcg::Pricingcontroller::collectResults(), gcg::Pricingcontroller::evaluatePricingjob(), GCGpricingjobSetup(), gcg::Pricingcontroller::getPricingprob(), ObjPricerGcg::pricingLoop(), gcg::SCIP_DECL_SORTPTRCOMP(), and gcg::Pricingcontroller::setupPriorityQueue().
◆ GCGpricingprobGetGenericBranchData()
void GCGpricingprobGetGenericBranchData | ( | GCG_PRICINGPROB * | pricingprob, |
SCIP_CONS *** | branchconss, | ||
SCIP_Real ** | branchduals, | ||
int * | nbranchconss | ||
) |
get generic branching data corresponding to the pricing problem
- Parameters
-
pricingprob pricing problem structure branchconss pointer to store branching constraints array, or NULL branchduals pointer to store array of corresponding dual values, or NULL nbranchconss pointer to store number of generic branching constraints, or NULL
Definition at line 212 of file pricingprob.c.
References GCG_PricingProb::branchconss, GCG_PricingProb::branchduals, and GCG_PricingProb::nbranchconss.
Referenced by ObjPricerGcg::computeRedCostGcgCol().
◆ GCGpricingprobGetNGenericBranchconss()
int GCGpricingprobGetNGenericBranchconss | ( | GCG_PRICINGPROB * | pricingprob | ) |
get the number of generic branching constraints corresponding to the pricing problem
- Parameters
-
pricingprob pricing problem structure
Definition at line 228 of file pricingprob.c.
References GCG_PricingProb::nbranchconss.
Referenced by gcg::Pricingcontroller::initPricing().
◆ GCGpricingprobGetBranchconsIdx()
int GCGpricingprobGetBranchconsIdx | ( | GCG_PRICINGPROB * | pricingprob | ) |
get index of current generic branching constraint considered the pricing problem
- Parameters
-
pricingprob pricing problem structure
Definition at line 236 of file pricingprob.c.
References GCG_PricingProb::branchconsidx.
◆ GCGpricingprobBranchconsIsAdded()
SCIP_Bool GCGpricingprobBranchconsIsAdded | ( | GCG_PRICINGPROB * | pricingprob | ) |
check if the current generic branching constraint has already been added
- Parameters
-
pricingprob pricing problem structure
Definition at line 244 of file pricingprob.c.
References GCG_PricingProb::consisadded.
◆ GCGpricingprobMarkBranchconsAdded()
void GCGpricingprobMarkBranchconsAdded | ( | GCG_PRICINGPROB * | pricingprob | ) |
mark the current generic branching constraint to be added
- Parameters
-
pricingprob pricing problem structure
Definition at line 252 of file pricingprob.c.
References GCG_PricingProb::consisadded.
◆ GCGpricingprobNextBranchcons()
void GCGpricingprobNextBranchcons | ( | GCG_PRICINGPROB * | pricingprob | ) |
add the information that the next branching constraint must be added
- Parameters
-
pricingprob pricing problem structure
Definition at line 260 of file pricingprob.c.
References GCG_PricingProb::branchconsidx, GCG_PricingProb::consisadded, GCG_PRICINGSTATUS_UNKNOWN, and GCG_PricingProb::status.
Referenced by gcg::Pricingcontroller::pricingprobNextBranchcons().
◆ GCGpricingprobGetStatus()
GCG_PRICINGSTATUS GCGpricingprobGetStatus | ( | GCG_PRICINGPROB * | pricingprob | ) |
get the status of a pricing problem
- Parameters
-
pricingprob pricing problem structure
Definition at line 271 of file pricingprob.c.
References GCG_PricingProb::status.
Referenced by gcg::Pricingcontroller::collectResults().
◆ GCGpricingprobGetLowerbound()
SCIP_Real GCGpricingprobGetLowerbound | ( | GCG_PRICINGPROB * | pricingprob | ) |
get the lower bound of a pricing problem
- Parameters
-
pricingprob pricing problem structure
Definition at line 279 of file pricingprob.c.
References GCG_PricingProb::lowerbound.
Referenced by gcg::Pricingcontroller::collectResults().
◆ GCGpricingprobGetNImpCols()
int GCGpricingprobGetNImpCols | ( | GCG_PRICINGPROB * | pricingprob | ) |
get the number of improving columns found for this pricing problem
- Parameters
-
pricingprob pricing problem structure
Definition at line 287 of file pricingprob.c.
References GCG_PricingProb::nimpcols.
Referenced by gcg::Pricingcontroller::collectResults(), and ObjPricerGcg::pricingLoop().
◆ GCGpricingprobGetNSolves()
int GCGpricingprobGetNSolves | ( | GCG_PRICINGPROB * | pricingprob | ) |
get the number of times the pricing problem was solved during the loop
- Parameters
-
pricingprob pricing problem structure
Definition at line 295 of file pricingprob.c.
References GCG_PricingProb::nsolves.
◆ GCGpricingprobGetNColsLastRounds()
int GCGpricingprobGetNColsLastRounds | ( | GCG_PRICINGPROB * | pricingprob, |
int | nroundscol | ||
) |
get the total number of improving columns found in the last pricing rounds
- Parameters
-
pricingprob pricing problem structure nroundscol number of previous pricing rounds for which the number of improving columns should be counted
Definition at line 303 of file pricingprob.c.
References GCG_PricingProb::ncolsround.
Referenced by GCGpricingjobSetup().