OpenCV453
|
クラス | |
class | cv::MinProblemSolver |
Basic interface for all solvers [詳解] | |
class | cv::DownhillSolver |
This class is used to perform the non-linear non-constrained minimization of a function, [詳解] | |
class | cv::ConjGradSolver |
This class is used to perform the non-linear non-constrained minimization of a function with known gradient, [詳解] | |
列挙型 | |
enum | cv::SolveLPResult { cv::SOLVELP_UNBOUNDED = -2 , cv::SOLVELP_UNFEASIBLE = -1 , cv::SOLVELP_SINGLE = 0 , cv::SOLVELP_MULTI = 1 } |
return codes for cv::solveLP() function [詳解] | |
関数 | |
CV_EXPORTS_W int | cv::solveLP (InputArray Func, InputArray Constr, OutputArray z) |
Solve given (non-integer) linear programming problem using the Simplex Algorithm (Simplex Method). [詳解] | |
The algorithms in this section minimize or maximize function value within specified constraints or without any constraints.
enum cv::SolveLPResult |
return codes for cv::solveLP() function
CV_EXPORTS_W int cv::solveLP | ( | InputArray | Func, |
InputArray | Constr, | ||
OutputArray | z | ||
) |
Solve given (non-integer) linear programming problem using the Simplex Algorithm (Simplex Method).
What we mean here by "linear programming problem" (or LP problem, for short) can be formulated as:
Where is fixed
1
-by-n
row-vector, is fixed
m
-by-n
matrix, is fixed
m
-by-1
column vector and is an arbitrary
n
-by-1
column vector, which satisfies the constraints.
Simplex algorithm is one of many algorithms that are designed to handle this sort of problems efficiently. Although it is not optimal in theoretical sense (there exist algorithms that can solve any problem written as above in polynomial time, while simplex method degenerates to exponential time for some special cases), it is well-studied, easy to implement and is shown to work well for real-life purposes.
The particular implementation is taken almost verbatim from Introduction to Algorithms, third edition by T. H. Cormen, C. E. Leiserson, R. L. Rivest and Clifford Stein. In particular, the Bland's rule http://en.wikipedia.org/wiki/Bland%27s_rule is used to prevent cycling.
Func | This row-vector corresponds to ![]() ![]() |
Constr | m -by-n+1 matrix, whose rightmost column corresponds to ![]() ![]() |
z | The solution will be returned here as a column-vector - it corresponds to ![]() |