Scippy

GCG

Branch-and-Price & Column Generation for Everyone

type_solver.h File Reference

Detailed Description

type definitions for pricing problem solvers in GCG project

Author
Gerald Gamrath
Christian Puchert

Definition in file type_solver.h.

#include "scip/def.h"
#include "scip/type_scip.h"
#include "type_gcgcol.h"
#include "type_pricingstatus.h"

Go to the source code of this file.

Macros

#define GCG_DECL_SOLVERFREE(x)   SCIP_RETCODE x (SCIP* scip, GCG_SOLVER* solver)
 
#define GCG_DECL_SOLVERINIT(x)   SCIP_RETCODE x (SCIP* scip, GCG_SOLVER* solver)
 
#define GCG_DECL_SOLVEREXIT(x)   SCIP_RETCODE x (SCIP* scip, GCG_SOLVER* solver)
 
#define GCG_DECL_SOLVERINITSOL(x)   SCIP_RETCODE x (SCIP* scip, GCG_SOLVER* solver)
 
#define GCG_DECL_SOLVEREXITSOL(x)   SCIP_RETCODE x (SCIP* scip, GCG_SOLVER* solver)
 
#define GCG_DECL_SOLVERUPDATE(x)   SCIP_RETCODE x (SCIP* pricingprob, GCG_SOLVER* solver, int probnr, SCIP_Bool varobjschanged, SCIP_Bool varbndschanged, SCIP_Bool consschanged)
 
#define GCG_DECL_SOLVERSOLVE(x)   SCIP_RETCODE x (SCIP* scip, SCIP* pricingprob, GCG_SOLVER* solver, int probnr, SCIP_Real dualsolconv, SCIP_Real* lowerbound, GCG_PRICINGSTATUS* status)
 
#define GCG_DECL_SOLVERSOLVEHEUR(x)   SCIP_RETCODE x (SCIP* scip, SCIP* pricingprob, GCG_SOLVER* solver, int probnr, SCIP_Real dualsolconv, SCIP_Real* lowerbound, GCG_PRICINGSTATUS* status)
 

Typedefs

typedef struct GCG_SolverData GCG_SOLVERDATA
 
typedef struct GCG_Solver GCG_SOLVER
 

Macro Definition Documentation

◆ GCG_DECL_SOLVERFREE

#define GCG_DECL_SOLVERFREE (   x)    SCIP_RETCODE x (SCIP* scip, GCG_SOLVER* solver)

destructor of pricing solver to free user data (called when GCG is exiting)

input:

  • scip : SCIP main data structure (master problem)
  • solver : the pricing solver itself

Definition at line 59 of file type_solver.h.

◆ GCG_DECL_SOLVERINIT

#define GCG_DECL_SOLVERINIT (   x)    SCIP_RETCODE x (SCIP* scip, GCG_SOLVER* solver)

initialization method of pricing solver (called after problem was transformed and solver is active)

input:

  • scip : SCIP main data structure (master problem)
  • solver : the pricing solver itself

Definition at line 67 of file type_solver.h.

◆ GCG_DECL_SOLVEREXIT

#define GCG_DECL_SOLVEREXIT (   x)    SCIP_RETCODE x (SCIP* scip, GCG_SOLVER* solver)

deinitialization method of pricing solver (called before transformed problem is freed and solver is active)

input:

  • scip : SCIP main data structure (master problem)
  • solver : the pricing solver itself

Definition at line 75 of file type_solver.h.

◆ GCG_DECL_SOLVERINITSOL

#define GCG_DECL_SOLVERINITSOL (   x)    SCIP_RETCODE x (SCIP* scip, GCG_SOLVER* solver)

solving process initialization method of pricing solver (called when branch and bound process is about to begin)

This method is called when the presolving was finished and the branch and bound process is about to begin. The pricing solver may use this call to initialize its branch and bound specific data.

input:

  • scip : SCIP main data structure (master problem)
  • solver : the pricing solver itself

Definition at line 86 of file type_solver.h.

◆ GCG_DECL_SOLVEREXITSOL

#define GCG_DECL_SOLVEREXITSOL (   x)    SCIP_RETCODE x (SCIP* scip, GCG_SOLVER* solver)

solving process deinitialization method of pricing solver (called before branch and bound process data is freed)

This method is called before the branch and bound process is freed. The pricing solver should use this call to clean up its branch and bound data.

input:

  • scip : SCIP main data structure (master problem)
  • solver : the pricing solver itself

Definition at line 97 of file type_solver.h.

◆ GCG_DECL_SOLVERUPDATE

#define GCG_DECL_SOLVERUPDATE (   x)    SCIP_RETCODE x (SCIP* pricingprob, GCG_SOLVER* solver, int probnr, SCIP_Bool varobjschanged, SCIP_Bool varbndschanged, SCIP_Bool consschanged)

update method for pricing solver, used to update solver specific pricing problem data

The pricing solver may use this method to update its own representation of the pricing problem, i.e. to apply changes on variable objectives and bounds and to apply branching constraints

Definition at line 105 of file type_solver.h.

◆ GCG_DECL_SOLVERSOLVE

#define GCG_DECL_SOLVERSOLVE (   x)    SCIP_RETCODE x (SCIP* scip, SCIP* pricingprob, GCG_SOLVER* solver, int probnr, SCIP_Real dualsolconv, SCIP_Real* lowerbound, GCG_PRICINGSTATUS* status)

solving method for pricing solver which solves the pricing problem to optimality

input:

  • scip : SCIP main data structure (master problem)
  • pricingprob : the pricing problem that should be solved
  • solver : the pricing solver itself
  • 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 pricing status

Definition at line 119 of file type_solver.h.

◆ GCG_DECL_SOLVERSOLVEHEUR

#define GCG_DECL_SOLVERSOLVEHEUR (   x)    SCIP_RETCODE x (SCIP* scip, SCIP* pricingprob, GCG_SOLVER* solver, int probnr, SCIP_Real dualsolconv, SCIP_Real* lowerbound, GCG_PRICINGSTATUS* status)

solving method for pricing solver using heuristic pricing only

input:

  • scip : SCIP main data structure (master problem)
  • pricingprob : the pricing problem that should be solved
  • solver : the pricing solver itself
  • 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 pricing status

Definition at line 133 of file type_solver.h.

Typedef Documentation

◆ GCG_SOLVERDATA

solver data

Definition at line 49 of file type_solver.h.

◆ GCG_SOLVER

typedef struct GCG_Solver GCG_SOLVER

the solver

Definition at line 50 of file type_solver.h.