1. 11 Jul, 2013 1 commit
    • Alex Leontiev's avatar
      Preparation for pull request · ba537a95
      Alex Leontiev authored
      Additional cleaning for simplex method, removing the parts that are
      currently unused. Removing developer's notes. Trying to reach production
      level.
      ba537a95
  2. 10 Jul, 2013 1 commit
    • Alex Leontiev's avatar
      Cleaning the code of simplex method · a9565011
      Alex Leontiev authored
      In particular, the following things are done:
      *) Consistent tabulation of 4 spaces is ensured
      *) New function dprintf() is introduced, so now printing of the debug
      information can be turned on/off via the ALEX_DEBUG macro
      *) Removed solveLP_aux namespace
      *) All auxiliary functions are declared as static
      *) The return codes of solveLP() are encapsulated in enum.
      a9565011
  3. 03 Jul, 2013 1 commit
    • Alex Leontiev's avatar
      Non-optimized simplex algorithm. · a4a5e98c
      Alex Leontiev authored
      This version is supposed to work on all problems (please, let me know if
      this is not so), but is not optimized yet in terms of numerical
      stability and performance. Bland's rule is implemented as well, so
      algorithm is supposed to allow no cycling. Additional check for multiple
      solutions is added (in case of multiple solutions algorithm returns an
      appropriate return code of 1 and returns arbitrary optimal solution).
      Finally, now we have 5 tests.
      
      Before Thursday we have 4 directions that can be tackled in parallel:
      *) Prepare the pull request!
      *) Make the code more clear and readable (refactoring)
      *) Wrap the core solveLP() procedure in OOP-style interface
      *) Test solveLP on non-trivial tests (possibly test against
      http://www.coin-or.org/Clp/)
      a4a5e98c
  4. 28 Jun, 2013 1 commit
    • Alex Leontiev's avatar
      The first draft of simplex algorithm, simple tests. · ddc0010e
      Alex Leontiev authored
      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)
      ddc0010e
  5. 24 Jun, 2013 1 commit
    • Alex Leontiev's avatar
      Created skeleton for simplex method. · b216c094
      Alex Leontiev authored
      Added LPSolver class together with two nested classes: LPFunction and
      LPConstraints. These represent function to be maximized and constraints
      imposed respectively. They are implementations of interfaces Function
      and Constraints respectively (latter ones are nested classes of Solver
      interface, which is generic interface for all optimization algorithms to
      be implemented within this project).
      
      The next step is to implement the simplex algorithm! First, we shall
      implement it for the case of constraints of the form Ax<=b and x>=0.
      Then, we shall extend the sets of problems that can be handled by the
      conversion to the one we've handled already. Finally, we shale
      concentrate on numerical stability and efficiency.
      b216c094
  6. 20 Jun, 2013 1 commit
    • Alex Leontiev's avatar
      Blank module and first draft of solver API. · f41b8b90
      Alex Leontiev authored
      At this point we have a skeleton of a new module (optim) which can
      barely compile properly (unlike previous commit). Besides, there is a
      first draft of solver and lpsolver (linear optimization solver) in this
      commit.
      f41b8b90
  7. 17 Jun, 2013 1 commit
  8. 31 May, 2013 1 commit
    • Alex Leontiev's avatar
      The initial commit for generic optimization · 47ce461d
      Alex Leontiev authored
      Generic optimization package for openCV project, will be developed
      between the June and September of 2013. This work is funded by Google
      Summer of Code 2013 project. This project is about
      implementing several algorithms, that will find global maxima/minima of a
      given function on a given domain subject to a given constraints.
      
      All comments/suggestions are warmly appreciated and to be sent to
      alozz1991@gmail.com (please, mention the word "openCV" in topic of
      message, for I'm using the spam-filters)
      47ce461d
  9. 29 May, 2013 1 commit
  10. 27 May, 2013 1 commit
    • Roman Donchenko's avatar
      Merge remote-tracking branch 'origin/2.4' into merge-2.4 · 5ac3b8d5
      Roman Donchenko authored
      Pull requests:
      	#904 from ograycode:2.4
      	#905 from bitwangyaoyao:2.4_TVL1
      	#902 from apavlenko:fix_run_py
      	#882 from pengx17:2.4_rewrite_query_info
      
      Conflicts:
      	modules/nonfree/src/surf.ocl.cpp
      	modules/ocl/include/opencv2/ocl/private/util.hpp
      	modules/ocl/src/hog.cpp
      	modules/ocl/src/pyrlk.cpp
      	modules/ocl/src/tvl1flow.cpp
      5ac3b8d5
  11. 23 May, 2013 4 commits
  12. 22 May, 2013 7 commits
  13. 21 May, 2013 2 commits
    • Roman Donchenko's avatar
      Merge remote-tracking branch 'origin/2.4' · 029fce10
      Roman Donchenko authored
      Conflicts:
      	3rdparty/libjasper/CMakeLists.txt
      	cmake/OpenCVDetectOpenCL.cmake
      	modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst
      	modules/imgproc/src/floodfill.cpp
      	modules/ocl/include/opencv2/ocl/ocl.hpp
      	modules/ocl/src/arithm.cpp
      	modules/ocl/src/haar.cpp
      	modules/ocl/src/imgproc.cpp
      	modules/ocl/src/initialization.cpp
      	modules/ocl/src/matrix_operations.cpp
      	modules/ocl/src/mcwutil.cpp
      	modules/ocl/src/opencl/arithm_bitwise_and_mask.cl
      	modules/ocl/src/opencl/arithm_bitwise_and_scalar_mask.cl
      	modules/ocl/src/opencl/arithm_bitwise_binary_mask.cl
      	modules/ocl/src/opencl/arithm_bitwise_binary_scalar.cl
      	modules/ocl/src/opencl/arithm_bitwise_binary_scalar_mask.cl
      	modules/ocl/src/opencl/arithm_bitwise_or.cl
      	modules/ocl/src/opencl/arithm_bitwise_or_scalar.cl
      	modules/ocl/src/opencl/arithm_bitwise_or_scalar_mask.cl
      	modules/ocl/src/opencl/arithm_bitwise_xor.cl
      	modules/ocl/src/opencl/arithm_bitwise_xor_mask.cl
      	modules/ocl/src/opencl/arithm_bitwise_xor_scalar.cl
      	modules/ocl/src/stereobm.cpp
      	modules/ocl/test/precomp.hpp
      	modules/python/src2/api
      	modules/ts/src/ts_func.cpp
      	samples/gpu/bgfg_segm.cpp
      029fce10
    • Andrey Pavlenko's avatar
      d4255b7f
  14. 20 May, 2013 5 commits
  15. 19 May, 2013 1 commit
  16. 18 May, 2013 1 commit
  17. 17 May, 2013 6 commits
  18. 16 May, 2013 2 commits
  19. 15 May, 2013 2 commits