KrisLibrary  1.0.0
MinNormProblem.h
1 #ifndef OPTIMIZATION_MIN_NORM_PROBLEM_H
2 #define OPTIMIZATION_MIN_NORM_PROBLEM_H
3 
4 #include "LinearProgram.h"
5 #include "QuadraticProgram.h"
6 
7 namespace Optimization {
8 
19 {
21  void ResizeObjective(int m,int n) { C.resize(m,n); d.resize(m); }
22  void ResizeConstraints(int m,int n) { LinearConstraints::Resize(m,n); }
23  void AddVariables(int num);
24  void AddVariable(Real lj=-Inf,Real uj=Inf);
25  bool IsValid() const;
26  void Print(std::ostream& out) const;
27  void Assemble();
28  LinearProgram::Result Solve(Vector& x);
29  Real Norm(const Vector& x) const;
30 
31  Real norm; //either 1,2 or inf
32  Matrix C;
33  Vector d;
34  int verbose;
35 
36  //temporary
37  LinearProgram lp;
39 };
40 
53 {
55  void ResizeObjective(int m,int n) { C.resize(m,n); d.resize(m); }
56  void ResizeConstraints(int m,int n) { LinearConstraints_Sparse::Resize(m,n); }
57  void AddVariables(int num);
58  void AddVariable(Real lj=-Inf,Real uj=Inf);
59  bool IsValid() const;
60  void Print(std::ostream& out) const;
61  void Assemble();
62  LinearProgram::Result Solve(Vector& x);
63  Real Norm(const Vector& x) const;
64 
65  Real norm; //either 1,2 or inf
66  SparseMatrix C;
67  Vector d;
68  int verbose;
69 
70  //temporary
72  //QuadraticProgram qp;
73 };
74 
75 
76 } //namespace Optimization
77 
78 #endif
Namespace for classes and functions in the Optimization package.
Definition: CSet.h:7
Solves a sparse, linearly constrained minimum-norm problem.
Definition: MinNormProblem.h:52
Linear program definition with sparse matrix A.
Definition: LinearProgram.h:158
Quadratic program definition.
Definition: QuadraticProgram.h:18
Solves a linearly constrained minimum-norm problem.
Definition: MinNormProblem.h:18
Linear constraints for LP's and QP'sRepresents the constraints.
Definition: LinearProgram.h:46
LinearProgram::Result Solve(Vector &x)
solves the assembled matrices
Definition: MinNormProblem.cpp:164
Linear program definition.Represents the LP min/max c.x subject to qi <= ai.x <= pi lj <= xj <= u...
Definition: LinearProgram.h:139
Sparse linear constraints for LP&#39;s and QP&#39;sUnlike dense constraints, AddVariable/AddConstraint are re...
Definition: LinearProgram.h:92
void Assemble()
converts these matrices into lp/qp form
Definition: MinNormProblem.cpp:75