EigenOpt 1.0.0
Loading...
Searching...
No Matches
simplex.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <Eigen/Dense>
4#include <string>
5#include <vector>
6
7
8namespace EigenOpt {
9
10namespace simplex {
11
12
14
97template<class Scalar, class D1, class D2, class D3, class D4, class D5, class D6>
98bool minimize(
99 const Eigen::MatrixBase<D1>& f,
100 const Eigen::MatrixBase<D2>& A,
101 const Eigen::MatrixBase<D3>& b,
102 const Eigen::MatrixBase<D4>& C,
103 const Eigen::MatrixBase<D5>& d,
104 Eigen::DenseBase<D6>& x,
105 std::string& halt_reason,
106 const Scalar& small_number,
107 const Scalar& large_number=-1
108);
109
111
114template<class Scalar, class D1, class D2, class D3, class D4>
115bool minimize(
116 const Eigen::DenseBase<D1>& f,
117 const Eigen::DenseBase<D2>& C,
118 const Eigen::DenseBase<D3>& d,
119 Eigen::DenseBase<D4>& x,
120 std::string& halt_reason,
121 const Scalar& small_number,
122 const Scalar& large_number=-1
123);
124
125
127
139template<class Scalar, class D1, class D2, class D3, class D4, class D5, class D6>
141 const Eigen::MatrixBase<D1>& f,
142 const Eigen::MatrixBase<D2>& A,
143 const Eigen::MatrixBase<D3>& b,
144 const Eigen::MatrixBase<D4>& C,
145 const Eigen::MatrixBase<D5>& d,
146 Eigen::DenseBase<D6>& x,
147 std::string& halt_reason,
148 const Scalar& small_number,
149 const Scalar& large_number=-1
150)
151{
152 return minimize(-f, A, b, C, d, x, halt_reason, small_number, large_number);
153}
154
155
157
160template<class Scalar, class D1, class D2, class D3, class D4>
161inline bool maximize(
162 const Eigen::DenseBase<D1>& f,
163 const Eigen::DenseBase<D2>& C,
164 const Eigen::DenseBase<D3>& d,
165 Eigen::DenseBase<D4>& x,
166 std::string& halt_reason,
167 const Scalar& small_number,
168 const Scalar& large_number=-1
169)
170{
171 return minimize(-f, C, d, x, halt_reason, small_number, large_number);
172}
173
174
175} // simplex
176
177} // EigenOpt
178
179
180#include "simplex.hxx"
bool minimize(const Eigen::MatrixBase< D1 > &f, const Eigen::MatrixBase< D2 > &A, const Eigen::MatrixBase< D3 > &b, const Eigen::MatrixBase< D4 > &C, const Eigen::MatrixBase< D5 > &d, Eigen::DenseBase< D6 > &x, std::string &halt_reason, const Scalar &small_number, const Scalar &large_number=-1)
Solve a constrained linear optimization problem.
Definition simplex.hxx:152
bool maximize(const Eigen::MatrixBase< D1 > &f, const Eigen::MatrixBase< D2 > &A, const Eigen::MatrixBase< D3 > &b, const Eigen::MatrixBase< D4 > &C, const Eigen::MatrixBase< D5 > &d, Eigen::DenseBase< D6 > &x, std::string &halt_reason, const Scalar &small_number, const Scalar &large_number=-1)
Solve a constrained linear optimization problem.
Definition simplex.hpp:140
Main namespace of this project, containing all utilities.