Detailed Description
knapsack solver for pricing problems
Definition in file solver_knapsack.c.
#include <assert.h>
#include <string.h>
#include "solver_knapsack.h"
#include "scip/cons_linear.h"
#include "scip/cons_knapsack.h"
#include "pricer_gcg.h"
#include "pub_solver.h"
#include "relax_gcg.h"
#include "pub_gcgcol.h"
Go to the source code of this file.
Macros | |
#define | SOLVER_NAME "knapsack" |
#define | SOLVER_DESC "knapsack solver for pricing problems" |
#define | SOLVER_PRIORITY 200 |
#define | SOLVER_HEURENABLED FALSE |
#define | SOLVER_EXACTENABLED TRUE |
#define | solverFreeKnapsack NULL |
#define | solverInitsolKnapsack NULL |
#define | solverExitsolKnapsack NULL |
#define | solverInitKnapsack NULL |
#define | solverExitKnapsack NULL |
#define | solverUpdateKnapsack NULL |
Functions | |
static SCIP_RETCODE | solveKnapsack (SCIP_Bool exactly, SCIP *scip, SCIP *pricingprob, GCG_SOLVER *solver, int probnr, SCIP_Real *lowerbound, GCG_PRICINGSTATUS *status) |
static | GCG_DECL_SOLVERSOLVE (solverSolveKnapsack) |
static | GCG_DECL_SOLVERSOLVEHEUR (solverSolveHeurKnapsack) |
SCIP_RETCODE | GCGincludeSolverKnapsack (SCIP *scip) |
Macro Definition Documentation
◆ SOLVER_NAME
#define SOLVER_NAME "knapsack" |
Definition at line 48 of file solver_knapsack.c.
◆ SOLVER_DESC
#define SOLVER_DESC "knapsack solver for pricing problems" |
Definition at line 49 of file solver_knapsack.c.
◆ SOLVER_PRIORITY
#define SOLVER_PRIORITY 200 |
Definition at line 50 of file solver_knapsack.c.
◆ SOLVER_HEURENABLED
#define SOLVER_HEURENABLED FALSE |
indicates whether the heuristic solving method of the solver should be enabled
Definition at line 52 of file solver_knapsack.c.
◆ SOLVER_EXACTENABLED
#define SOLVER_EXACTENABLED TRUE |
indicates whether the exact solving method of the solver should be enabled
Definition at line 53 of file solver_knapsack.c.
◆ solverFreeKnapsack
#define solverFreeKnapsack NULL |
Definition at line 485 of file solver_knapsack.c.
◆ solverInitsolKnapsack
#define solverInitsolKnapsack NULL |
Definition at line 486 of file solver_knapsack.c.
◆ solverExitsolKnapsack
#define solverExitsolKnapsack NULL |
Definition at line 487 of file solver_knapsack.c.
◆ solverInitKnapsack
#define solverInitKnapsack NULL |
Definition at line 488 of file solver_knapsack.c.
◆ solverExitKnapsack
#define solverExitKnapsack NULL |
Definition at line 489 of file solver_knapsack.c.
◆ solverUpdateKnapsack
#define solverUpdateKnapsack NULL |
Definition at line 490 of file solver_knapsack.c.
Function Documentation
◆ solveKnapsack()
|
static |
solve the pricing problem as a knapsack problem, either exactly or approximately
- Parameters
-
exactly should the pricing problem be solved to optimality or heuristically? scip master problem SCIP data structure pricingprob pricing problem SCIP data structure solver solver data structure probnr problem number lowerbound pointer to store lower bound status pointer to store pricing problem status
Definition at line 65 of file solver_knapsack.c.
References GCG_PRICINGSTATUS_INFEASIBLE, GCG_PRICINGSTATUS_NOTAPPLICABLE, GCG_PRICINGSTATUS_OPTIMAL, GCG_PRICINGSTATUS_UNKNOWN, GCGcreateGcgCol(), and GCGpricerAddCol().
Referenced by GCG_DECL_SOLVERSOLVE(), and GCG_DECL_SOLVERSOLVEHEUR().
◆ GCG_DECL_SOLVERSOLVE()
|
static |
exact solving method for knapsack solver
Definition at line 494 of file solver_knapsack.c.
References solveKnapsack().
◆ GCG_DECL_SOLVERSOLVEHEUR()
|
static |
heuristic solving method of knapsack solver
Definition at line 506 of file solver_knapsack.c.
References solveKnapsack().
◆ GCGincludeSolverKnapsack()
SCIP_RETCODE GCGincludeSolverKnapsack | ( | SCIP * | scip | ) |
creates the knapsack solver for pricing problems and includes it in GCG
- Parameters
-
scip SCIP data structure
Definition at line 517 of file solver_knapsack.c.
References GCGpricerIncludeSolver(), SOLVER_DESC, SOLVER_EXACTENABLED, SOLVER_HEURENABLED, SOLVER_NAME, SOLVER_PRIORITY, solverExitKnapsack, solverExitsolKnapsack, solverFreeKnapsack, solverInitKnapsack, solverInitsolKnapsack, and solverUpdateKnapsack.
Referenced by GCGincludeMasterPlugins().