1 #ifndef LP_OPTIMUM_FUNCTION 2 #define LP_OPTIMUM_FUNCTION 4 #include "LinearProgram.h" 5 #include "GLPKInterface.h" 23 virtual void InitLP(
const Vector& x) {}
24 virtual void UpdateLP(
const Vector& x) { FatalError(
"Update not defined in subclas of LPOptimumFunction"); }
25 virtual bool LPJacobianC(
const Vector& x,
Matrix& Jc) {
return false; }
28 virtual bool LPJacobianA_i(
const Vector& x,
int i,
Matrix& JAi) {
return false; }
30 virtual bool LPJacobianP_i(
const Vector& x,
int i,
Vector& Jpi) {
return false; }
31 virtual bool LPJacobianQ_i(
const Vector& x,
int i,
Vector& Jqi) {
return false; }
32 virtual bool LPJacobianL_j(
const Vector& x,
int j,
Vector& Jlj) {
return false; }
33 virtual bool LPJacobianU_j(
const Vector& x,
int j,
Vector& Juj) {
return false; }
37 virtual void UpdateGLPK(
const Vector& x);
39 virtual std::string Label()
const {
return "LPOptimum"; }
40 virtual void PreEval(
const Vector& x);
41 virtual Real Eval(
const Vector& x);
43 virtual Real Gradient_i(
const Vector& x,
int i);
51 LinearProgram::Result solveResult;
66 virtual int NumDimensions()
const;
68 virtual void InitLP(
const Vector& x) {}
69 virtual void UpdateLP(
const Vector& x) { FatalError(
"Update not defined in subclas of LPOptimumFunction"); }
70 virtual bool LPJacobianA_i(
const Vector& x,
int i,
Matrix& JAi) {
return false; }
72 virtual bool LPJacobianP_i(
const Vector& x,
int i,
Vector& Jpi) {
return false; }
73 virtual bool LPJacobianQ_i(
const Vector& x,
int i,
Vector& Jqi) {
return false; }
74 virtual bool LPJacobianL_j(
const Vector& x,
int j,
Vector& Jlj) {
return false; }
75 virtual bool LPJacobianU_j(
const Vector& x,
int j,
Vector& Juj) {
return false; }
79 virtual void UpdateGLPK(
const Vector& x);
81 virtual std::string Label()
const {
return "LPOptimum"; }
82 virtual void PreEval(
const Vector& x);
85 virtual void Jacobian_i(
const Vector& x,
int i,
Vector& Ji);
93 LinearProgram::Result solveResult;
An interface to the GLPK linear program solver. Activated with the HAVE_GLPK preprocessor define...
Definition: GLPKInterface.h:19
Namespace for classes and functions in the Optimization package.
Definition: CSet.h:7
Abstract base classes for function interfaces.
Linear program definition with sparse matrix A.
Definition: LinearProgram.h:158
A function from R^n to R^m.
Definition: function.h:134
A vector field v(x) = arg min_y c(x)^T y s.t. q(x) <= A(x)y <= p(x), l(x) <= y <= u(x) where c...
Definition: LPOptimumFunction.h:62
A function from R^n to R.
Definition: function.h:97
Linear program definition.Represents the LP min/max c.x subject to qi <= ai.x <= pi lj <= xj <= u...
Definition: LinearProgram.h:139
Contains all definitions in the Math package.
Definition: WorkspaceBound.h:12
A scalar field v(x) = min_y c(x)^T y s.t. q(x) <= A(x)y <= p(x), l(x) <= y <= u(x) where c...
Definition: LPOptimumFunction.h:18