Detailed Description
methods for GCG pricing solvers
Definition in file solver.c.
#include "pub_solver.h"
#include "solver.h"
#include "struct_solver.h"
#include "gcg.h"
#include "pricer_gcg.h"
#include <string.h>
Go to the source code of this file.
Functions | |
SCIP_DECL_SORTPTRCOMP (GCGsolverComp) | |
SCIP_RETCODE | GCGsolverCreate (SCIP *scip, GCG_SOLVER **solver, const char *name, const char *desc, int priority, SCIP_Bool heurenabled, SCIP_Bool exactenabled, GCG_DECL_SOLVERUPDATE((*solverupdate)), GCG_DECL_SOLVERSOLVE((*solversolve)), GCG_DECL_SOLVERSOLVEHEUR((*solveheur)), GCG_DECL_SOLVERFREE((*solverfree)), GCG_DECL_SOLVERINIT((*solverinit)), GCG_DECL_SOLVEREXIT((*solverexit)), GCG_DECL_SOLVERINITSOL((*solverinitsol)), GCG_DECL_SOLVEREXITSOL((*solverexitsol)), GCG_SOLVERDATA *solverdata) |
SCIP_RETCODE | GCGsolverFree (SCIP *scip, GCG_SOLVER **solver) |
SCIP_RETCODE | GCGsolverInit (SCIP *scip, GCG_SOLVER *solver) |
SCIP_RETCODE | GCGsolverExit (SCIP *scip, GCG_SOLVER *solver) |
SCIP_RETCODE | GCGsolverInitsol (SCIP *scip, GCG_SOLVER *solver) |
SCIP_RETCODE | GCGsolverExitsol (SCIP *scip, GCG_SOLVER *solver) |
SCIP_RETCODE | GCGsolverUpdate (SCIP *pricingprob, GCG_SOLVER *solver, int probnr, SCIP_Bool varobjschanged, SCIP_Bool varbndschanged, SCIP_Bool consschanged) |
SCIP_RETCODE | GCGsolverSolve (SCIP *scip, SCIP *pricingprob, GCG_SOLVER *solver, SCIP_Bool redcost, SCIP_Bool heuristic, int probnr, SCIP_Real dualsolconv, SCIP_Real *lowerbound, GCG_PRICINGSTATUS *status, SCIP_Bool *solved) |
GCG_SOLVERDATA * | GCGsolverGetData (GCG_SOLVER *solver) |
void | GCGsolverSetData (GCG_SOLVER *solver, GCG_SOLVERDATA *solverdata) |
const char * | GCGsolverGetName (GCG_SOLVER *solver) |
const char * | GCGsolverGetDesc (GCG_SOLVER *solver) |
int | GCGsolverGetPriority (GCG_SOLVER *solver) |
SCIP_Bool | GCGsolverIsHeurEnabled (GCG_SOLVER *solver) |
SCIP_Bool | GCGsolverIsExactEnabled (GCG_SOLVER *solver) |
int | GCGsolverGetOptFarkasCalls (GCG_SOLVER *solver) |
int | GCGsolverGetOptRedcostCalls (GCG_SOLVER *solver) |
int | GCGsolverGetHeurFarkasCalls (GCG_SOLVER *solver) |
int | GCGsolverGetHeurRedcostCalls (GCG_SOLVER *solver) |
SCIP_Real | GCGsolverGetOptFarkasTime (SCIP *scip, GCG_SOLVER *solver) |
SCIP_Real | GCGsolverGetOptRedcostTime (SCIP *scip, GCG_SOLVER *solver) |
SCIP_Real | GCGsolverGetHeurFarkasTime (SCIP *scip, GCG_SOLVER *solver) |
SCIP_Real | GCGsolverGetHeurRedcostTime (SCIP *scip, GCG_SOLVER *solver) |
Function Documentation
◆ GCGsolverFree()
SCIP_RETCODE GCGsolverFree | ( | SCIP * | scip, |
GCG_SOLVER ** | solver | ||
) |
◆ GCGsolverInit()
SCIP_RETCODE GCGsolverInit | ( | SCIP * | scip, |
GCG_SOLVER * | solver | ||
) |
initializes GCG pricing solver
- Parameters
-
scip SCIP data structure (master problem) solver pricing solver
Definition at line 172 of file solver.c.
References GCG_Solver::heurfarkascalls, GCG_Solver::heurfarkasclock, GCG_Solver::heurredcostcalls, GCG_Solver::heurredcostclock, GCG_Solver::optfarkascalls, GCG_Solver::optfarkasclock, GCG_Solver::optredcostcalls, and GCG_Solver::optredcostclock.
◆ GCGsolverExit()
SCIP_RETCODE GCGsolverExit | ( | SCIP * | scip, |
GCG_SOLVER * | solver | ||
) |
◆ GCGsolverInitsol()
SCIP_RETCODE GCGsolverInitsol | ( | SCIP * | scip, |
GCG_SOLVER * | solver | ||
) |
◆ GCGsolverExitsol()
SCIP_RETCODE GCGsolverExitsol | ( | SCIP * | scip, |
GCG_SOLVER * | solver | ||
) |
◆ GCGsolverUpdate()
SCIP_RETCODE GCGsolverUpdate | ( | SCIP * | pricingprob, |
GCG_SOLVER * | solver, | ||
int | probnr, | ||
SCIP_Bool | varobjschanged, | ||
SCIP_Bool | varbndschanged, | ||
SCIP_Bool | consschanged | ||
) |
calls update method of GCG pricing solver
- Parameters
-
pricingprob the pricing problem that should be solved solver pricing solver probnr number of the pricing problem varobjschanged have the objective coefficients changed? varbndschanged have the lower and upper bounds changed? consschanged have the constraints changed?
Definition at line 257 of file solver.c.
Referenced by GCGsetPricingObjs(), ObjPricerGcg::priceNewVariables(), and ObjPricerGcg::pricingLoop().
◆ GCGsolverSolve()
SCIP_RETCODE GCGsolverSolve | ( | SCIP * | scip, |
SCIP * | pricingprob, | ||
GCG_SOLVER * | solver, | ||
SCIP_Bool | redcost, | ||
SCIP_Bool | heuristic, | ||
int | probnr, | ||
SCIP_Real | dualsolconv, | ||
SCIP_Real * | lowerbound, | ||
GCG_PRICINGSTATUS * | status, | ||
SCIP_Bool * | solved | ||
) |
calls heuristic or exact solving method of GCG pricing solver
- Note
- This method has to be threadsafe!
- Parameters
-
scip SCIP data structure (master problem) pricingprob the pricing problem that should be solved solver pricing solver redcost is reduced cost (TRUE) or Farkas (FALSE) pricing performed? heuristic shall the pricing problem be solved heuristically? probnr number of the pricing problem dualsolconv dual solution of the corresponding convexity constraint lowerbound pointer to store lower bound of pricing problem status pointer to store the returned pricing status solved pointer to store whether the solution method was called
Definition at line 280 of file solver.c.
References GCG_Solver::exactenabled, GCG_PRICINGSTATUS_NOTAPPLICABLE, GCG_Solver::heurenabled, GCG_Solver::heurfarkascalls, GCG_Solver::heurfarkasclock, GCG_Solver::heurredcostcalls, GCG_Solver::heurredcostclock, GCG_Solver::optfarkascalls, GCG_Solver::optfarkasclock, GCG_Solver::optredcostcalls, and GCG_Solver::optredcostclock.
◆ GCGsolverGetData()
GCG_SOLVERDATA* GCGsolverGetData | ( | GCG_SOLVER * | solver | ) |
gets user data of GCG pricing solver
- Parameters
-
solver pricing solver
Definition at line 377 of file solver.c.
References GCG_Solver::solverdata.
Referenced by GCG_DECL_SOLVEREXITSOL(), GCG_DECL_SOLVERFREE(), GCG_DECL_SOLVERINITSOL(), GCG_DECL_SOLVERSOLVE(), GCG_DECL_SOLVERSOLVEHEUR(), and GCG_DECL_SOLVERUPDATE().
◆ GCGsolverSetData()
void GCGsolverSetData | ( | GCG_SOLVER * | solver, |
GCG_SOLVERDATA * | solverdata | ||
) |
sets user data of GCG pricing solver
- Parameters
-
solver pricing solver solverdata pricing solver data
Definition at line 387 of file solver.c.
References GCG_Solver::solverdata.
Referenced by GCG_DECL_SOLVERFREE().
◆ GCGsolverGetName()
const char* GCGsolverGetName | ( | GCG_SOLVER * | solver | ) |
gets name of GCG pricing solver
- Parameters
-
solver pricing solver
Definition at line 398 of file solver.c.
References GCG_Solver::name.
Referenced by gcg::Pricingcontroller::evaluatePricingjob(), GCGpricerPrintListOfSolvers(), GCGpricerPrintPricingStatistics(), and ObjPricerGcg::pricingLoop().
◆ GCGsolverGetDesc()
const char* GCGsolverGetDesc | ( | GCG_SOLVER * | solver | ) |
gets description of GCG pricing solver
- Parameters
-
solver pricing solver
Definition at line 408 of file solver.c.
References GCG_Solver::desc.
Referenced by GCGpricerPrintListOfSolvers().
◆ GCGsolverGetPriority()
int GCGsolverGetPriority | ( | GCG_SOLVER * | solver | ) |
gets priority of GCG pricing solver
- Parameters
-
solver pricing solver
Definition at line 418 of file solver.c.
References GCG_Solver::priority.
Referenced by GCGpricerPrintListOfSolvers(), and gcg::SCIP_DECL_SORTPTRCOMP().
◆ GCGsolverIsHeurEnabled()
SCIP_Bool GCGsolverIsHeurEnabled | ( | GCG_SOLVER * | solver | ) |
gets whether heuristic solving method of GCG pricing solver is enabled
- Parameters
-
solver pricing solver
Definition at line 428 of file solver.c.
References GCG_Solver::heurenabled.
Referenced by GCGpricerPrintListOfSolvers(), GCGpricingjobNextSolver(), GCGpricingjobResetHeuristic(), GCGpricingjobResetSolver(), gcg::Pricingcontroller::initSol(), and gcg::Pricingcontroller::setupPriorityQueue().
◆ GCGsolverIsExactEnabled()
SCIP_Bool GCGsolverIsExactEnabled | ( | GCG_SOLVER * | solver | ) |
gets whether exact solving method of GCG pricing solver is enabled
- Parameters
-
solver pricing solver
Definition at line 438 of file solver.c.
References GCG_Solver::exactenabled.
Referenced by GCGpricerPrintListOfSolvers(), GCGpricingjobNextSolver(), GCGpricingjobResetSolver(), and gcg::Pricingcontroller::initSol().
◆ GCGsolverGetOptFarkasCalls()
int GCGsolverGetOptFarkasCalls | ( | GCG_SOLVER * | solver | ) |
gets number of exact Farkas pricing calls of pricing solver
- Parameters
-
solver pricing solver
Definition at line 448 of file solver.c.
References GCG_Solver::optfarkascalls.
Referenced by GCGpricerPrintPricingStatistics().
◆ GCGsolverGetOptRedcostCalls()
int GCGsolverGetOptRedcostCalls | ( | GCG_SOLVER * | solver | ) |
gets number of exact reduced cost pricing calls of pricing solver
- Parameters
-
solver pricing solver
Definition at line 458 of file solver.c.
References GCG_Solver::optredcostcalls.
Referenced by GCGpricerPrintPricingStatistics().
◆ GCGsolverGetHeurFarkasCalls()
int GCGsolverGetHeurFarkasCalls | ( | GCG_SOLVER * | solver | ) |
gets number of heuristic Farkas pricing calls of pricing solver
- Parameters
-
solver pricing solver
Definition at line 468 of file solver.c.
References GCG_Solver::heurfarkascalls.
Referenced by GCGpricerPrintPricingStatistics().
◆ GCGsolverGetHeurRedcostCalls()
int GCGsolverGetHeurRedcostCalls | ( | GCG_SOLVER * | solver | ) |
gets number of heuristic reduced cost pricing calls of pricing solver
- Parameters
-
solver pricing solver
Definition at line 478 of file solver.c.
References GCG_Solver::heurredcostcalls.
Referenced by GCGpricerPrintPricingStatistics().
◆ GCGsolverGetOptFarkasTime()
SCIP_Real GCGsolverGetOptFarkasTime | ( | SCIP * | scip, |
GCG_SOLVER * | solver | ||
) |
gets exact Farkas pricing time of pricing solver
- Parameters
-
scip SCIP data structure (master problem) solver pricing solver
Definition at line 488 of file solver.c.
References GCG_Solver::optfarkasclock.
Referenced by GCGpricerPrintPricingStatistics().
◆ GCGsolverGetOptRedcostTime()
SCIP_Real GCGsolverGetOptRedcostTime | ( | SCIP * | scip, |
GCG_SOLVER * | solver | ||
) |
gets exact reduced cost pricing time of pricing solver
- Parameters
-
scip SCIP data structure (master problem) solver pricing solver
Definition at line 500 of file solver.c.
References GCG_Solver::optredcostclock.
Referenced by GCGpricerPrintPricingStatistics().
◆ GCGsolverGetHeurFarkasTime()
SCIP_Real GCGsolverGetHeurFarkasTime | ( | SCIP * | scip, |
GCG_SOLVER * | solver | ||
) |
gets heuristic Farkas pricing time of pricing solver
- Parameters
-
scip SCIP data structure (master problem) solver pricing solver
Definition at line 512 of file solver.c.
References GCG_Solver::heurfarkasclock.
Referenced by GCGpricerPrintPricingStatistics().
◆ GCGsolverGetHeurRedcostTime()
SCIP_Real GCGsolverGetHeurRedcostTime | ( | SCIP * | scip, |
GCG_SOLVER * | solver | ||
) |
gets heuristic reduced cost pricing time of pricing solver
- Parameters
-
scip SCIP data structure (master problem) solver pricing solver
Definition at line 524 of file solver.c.
References GCG_Solver::heurredcostclock.
Referenced by GCGpricerPrintPricingStatistics().