The first draft of simplex algorithm, simple tests.
authorAlex Leontiev <alozz1991@gmail.com>
Fri, 28 Jun 2013 12:28:57 +0000 (15:28 +0300)
committerAlex Leontiev <alozz1991@gmail.com>
Fri, 28 Jun 2013 12:28:57 +0000 (15:28 +0300)
commitddc0010e7da6daa4d8b6a543e853ef0b0ff4ff33
tree221dad93ab45219a7f337c8f21cfccd8713c3849
parentb216c0940cdaac548395bcd401098b146e8d2dd3
The first draft of simplex algorithm, simple tests.

What we have now corresponds to "formal simplex algorithm", described in
Cormen's "Intro to Algorithms". It will work *only* if the initial
problem has (0,0,0,...,0) as feasible solution (consequently, it will
work unpredictably if problem was unfeasible or did not have zero-vector as
feasible solution). Moreover, it might cycle.

TODO (first priority)
1. Implement initialize_simplex() procedure, that shall check for
feasibility and generate initial feasible solution. (in particular, code
should pass all 4 tests implemented at the moment)
2. Implement Bland's rule to avoid cycling.
3. Make the code more clear.
4. Implement several non-trivial tests (??) and check algorithm against
them. Debug if necessary.

TODO (second priority)
1. Concentrate on stability and speed (make difficult tests)
modules/optim/include/opencv2/optim.hpp
modules/optim/src/lpsolver.cpp
modules/optim/test/test_lpsolver.cpp [new file with mode: 0644]
modules/optim/test/test_main.cpp [new file with mode: 0644]
modules/optim/test/test_precomp.cpp [new file with mode: 0644]
modules/optim/test/test_precomp.hpp [new file with mode: 0644]