27 #include "mipConstraint.h"
28 #include "mipSolution.h"
29 #include "mipVariable.h"
56 [[nodiscard]]
virtual const std::vector<std::unique_ptr<IMipVariable>>& getVariables()
const
58 [[nodiscard]]
virtual IMipVariable* getVariable(std::size_t index)
const = 0;
59 [[nodiscard]]
virtual IMipVariable* lookupVariable(
const std::string& name)
const = 0;
60 [[nodiscard]]
virtual int variableCount()
const = 0;
66 [[nodiscard]]
virtual const std::vector<std::unique_ptr<IMipConstraint>>& getConstraints()
const
68 [[nodiscard]]
virtual IMipConstraint* getConstraint(std::size_t index)
const = 0;
70 const std::string& name)
const
72 [[nodiscard]]
virtual int constraintCount()
const = 0;
76 virtual double getObjectiveCoefficient(
const IMipVariable* var)
const = 0;
78 virtual void setObjectiveOffset(
double objectiveOffset) = 0;
79 virtual double getObjectiveOffset()
const = 0;
86 [[nodiscard]]
virtual bool isMinimization()
const = 0;
87 [[nodiscard]]
virtual bool isMaximization()
const = 0;
93 [[nodiscard]]
virtual double infinity()
const = 0;
94 virtual bool isLP()
const = 0;
96 virtual double objectiveValue()
const = 0;
Definition: linearProblem.h:41
virtual void setObjectiveCoefficient(IMipVariable *var, double coefficient)=0
Set the objective coefficient for a given variable.
virtual void setMaximization()=0
Sets the optimization direction to maximize.
virtual void setMinimization()=0
Sets the optimization direction to minimize.
virtual IMipVariable * addIntVariable(double lb, double ub, const std::string &name)=0
Create a integer variable.
virtual IMipVariable * addNumVariable(double lb, double ub, const std::string &name)=0
Create a continuous variable.
virtual IMipConstraint * addConstraint(double lb, double ub, const std::string &name)=0
Add a bounded constraint to the problem.
virtual IMipVariable * addVariable(double lb, double ub, bool integer, const std::string &name)=0
Create a continuous or integer variable.
virtual IMipSolution * solve(bool verboseSolver)=0
Solve the problem, returns a IMipSolution.
Definition: mipConstraint.h:30
Definition: mipSolution.h:47
Definition: mipVariable.h:32
Namespace for the classes related to the linear problem API.
Definition: SimulationTableGenerator.h:41