pricingprob.c File Reference

Detailed Description

methods for working with pricing problems

Author
Christian Puchert

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.

Functions

SCIP_RETCODE GCGpricingprobCreate (SCIP *scip, GCG_PRICINGPROB **pricingprob, SCIP *pricingscip, int probnr, int nroundscol)
 
void GCGpricingprobFree (SCIP *scip, GCG_PRICINGPROB **pricingprob)
 
void GCGpricingprobInitPricing (GCG_PRICINGPROB *pricingprob)
 
void GCGpricingprobExitPricing (GCG_PRICINGPROB *pricingprob, int nroundscol)
 
SCIP_RETCODE GCGpricingprobAddGenericBranchData (SCIP *scip, GCG_PRICINGPROB *pricingprob, SCIP_CONS *branchcons, SCIP_Real branchdual)
 
void GCGpricingprobReset (SCIP *scip, GCG_PRICINGPROB *pricingprob)
 
void GCGpricingprobUpdate (SCIP *scip, GCG_PRICINGPROB *pricingprob, GCG_PRICINGSTATUS status, SCIP_Real lowerbound, int nimpcols)
 
SCIP * GCGpricingprobGetPricingscip (GCG_PRICINGPROB *pricingprob)
 
int GCGpricingprobGetProbnr (GCG_PRICINGPROB *pricingprob)
 
void GCGpricingprobGetGenericBranchData (GCG_PRICINGPROB *pricingprob, SCIP_CONS ***branchconss, SCIP_Real **branchduals, int *nbranchconss)
 
int GCGpricingprobGetNGenericBranchconss (GCG_PRICINGPROB *pricingprob)
 
int GCGpricingprobGetBranchconsIdx (GCG_PRICINGPROB *pricingprob)
 
SCIP_Bool GCGpricingprobBranchconsIsAdded (GCG_PRICINGPROB *pricingprob)
 
void GCGpricingprobMarkBranchconsAdded (GCG_PRICINGPROB *pricingprob)
 
void GCGpricingprobNextBranchcons (GCG_PRICINGPROB *pricingprob)
 
GCG_PRICINGSTATUS GCGpricingprobGetStatus (GCG_PRICINGPROB *pricingprob)
 
SCIP_Real GCGpricingprobGetLowerbound (GCG_PRICINGPROB *pricingprob)
 
int GCGpricingprobGetNImpCols (GCG_PRICINGPROB *pricingprob)
 
int GCGpricingprobGetNSolves (GCG_PRICINGPROB *pricingprob)
 
int GCGpricingprobGetNColsLastRounds (GCG_PRICINGPROB *pricingprob, int nroundscol)
 

Function Documentation

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
scipSCIP data structure (master problem)
pricingprobpricing problem structure
branchconsgeneric branching constraint
branchdualcorresponding dual solution value

Definition at line 121 of file pricingprob.c.

SCIP_RETCODE GCGpricingprobCreate ( SCIP *  scip,
GCG_PRICINGPROB **  pricingprob,
SCIP *  pricingscip,
int  probnr,
int  nroundscol 
)

create a pricing problem

Parameters
scipSCIP data structure (master problem)
pricingprobpricing problem to be created
pricingscipSCIP data structure of the corresponding pricing problem
probnrindex of the corresponding pricing problem
nroundscolnumber 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.

void GCGpricingprobExitPricing ( GCG_PRICINGPROB pricingprob,
int  nroundscol 
)

uninitialize pricing problem at the beginning of the pricing round

Parameters
pricingprobpricing problem structure
nroundscolnumber of previous pricing rounds for which the number of improving columns should be counted

Definition at line 106 of file pricingprob.c.

void GCGpricingprobFree ( SCIP *  scip,
GCG_PRICINGPROB **  pricingprob 
)

free a pricing problem

Parameters
scipSCIP data structure (master problem)
pricingprobpricing problem to be freed

Definition at line 81 of file pricingprob.c.

Referenced by gcg::Pricingcontroller::exitSol().

void GCGpricingprobInitPricing ( GCG_PRICINGPROB pricingprob)

initialize pricing problem at the beginning of the pricing round

Parameters
pricingprobpricing problem structure

Definition at line 94 of file pricingprob.c.

void GCGpricingprobNextBranchcons ( GCG_PRICINGPROB pricingprob)

add the information that the next branching constraint must be added

Parameters
pricingprobpricing problem structure

Definition at line 259 of file pricingprob.c.

References GCG_PRICINGSTATUS_UNKNOWN.

void GCGpricingprobReset ( SCIP *  scip,
GCG_PRICINGPROB pricingprob 
)

reset the pricing problem statistics for the current pricing round

Parameters
scipSCIP data structure (master problem)
pricingprobpricing problem structure

Definition at line 159 of file pricingprob.c.

References GCG_PRICINGSTATUS_UNKNOWN.

void GCGpricingprobUpdate ( SCIP *  scip,
GCG_PRICINGPROB pricingprob,
GCG_PRICINGSTATUS  status,
SCIP_Real  lowerbound,
int  nimpcols 
)

update solution information of a pricing problem

Parameters
scipSCIP data structure (master problem)
pricingprobpricing problem structure
statusstatus of last pricing job
lowerboundnew lower bound
nimpcolsnumber of new improving columns

Definition at line 173 of file pricingprob.c.

References GCG_PRICINGSTATUS_NOTAPPLICABLE.

Referenced by gcg::Pricingcontroller::updatePricingprob().