History log of /haiku/src/libs/linprog/ActiveSetSolver.h
Revision Date Author Comments
# 82fbed25 31-Aug-2012 czeidler <haiku@clemens-zeidler.de>

Move the soft inequalities directly into the solver.

- Clean up.


# c8b24e3e 29-Apr-2012 Alex Wilson <yourpalal2@gmail.com>

Fix BALMLayout archiving issues.

SharedSolver was archiving too many constraints, partly because of
multiple typos, also because it archived some which were just artifacts
of the layout process. These extra constraints are created when the
layout calls SetRange() on the left/top/right/bottom tabs during layout.

* LinearSpec/ActiveSetSolver had to be adjusted to get access to the
constraints added by the SetRange() calls.
* BALM::TabBase was adjusted to avoid a segfault during unarchiving,
caused by an unitialized member.
* ALMFriendLayoutTest was adjusted to include a more obvious custom
constraint for testing.


# fbd2dfcf 22-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Refactor ActiveSetSolver::Find{Min|Max}s().


# 419fe0b8 22-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Introduce SharedSolver class to improve BALMLayout's friend feature.


# 056207ee 29-Nov-2011 czeidler <haiku@clemens-zeidler.de>

Cleanup the constraint solver a bit and fix a bug when a variable is removed.


# 6c7a658d 17-Jun-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add support for soft inequality constraints for quadratic solvers. A slack variable is used in a normal hard inequality and the slack variable is minimized with a high penalty. In this way the constraint is only violated when necessary. Some smaller clean up.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42225 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a0ad88e0 26-Jan-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Fix min/ max calculation by removing all soft constraints before doing so. Smaller fixes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40297 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7583db5a 24-Jan-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add an alternative solver to lp_solve. The solver based on Ingo's active set solver but is able to handle arbitrary hard and soft constraints. The advantage to lp_solve is that the active set solver can optimize variable in respect to a quadratic objective function. This makes it possible to minimise the quadratic derivation to a desired value e.g. \Sum_i(x_i - x_{i,pref})^2 -> min.

The solver part has been refactored in this way that both solver can be used with the same layout specifications. The active set solver is default now; the performance is not as good as lp_solve, though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40285 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 82fbed2596bef370bc003ed4de174234be0787b3 31-Aug-2012 czeidler <haiku@clemens-zeidler.de>

Move the soft inequalities directly into the solver.

- Clean up.


# c8b24e3eb51bac128f5eeb0a5a22a60b69a1a53e 29-Apr-2012 Alex Wilson <yourpalal2@gmail.com>

Fix BALMLayout archiving issues.

SharedSolver was archiving too many constraints, partly because of
multiple typos, also because it archived some which were just artifacts
of the layout process. These extra constraints are created when the
layout calls SetRange() on the left/top/right/bottom tabs during layout.

* LinearSpec/ActiveSetSolver had to be adjusted to get access to the
constraints added by the SetRange() calls.
* BALM::TabBase was adjusted to avoid a segfault during unarchiving,
caused by an unitialized member.
* ALMFriendLayoutTest was adjusted to include a more obvious custom
constraint for testing.


# fbd2dfcf173cb1d2d809efdf2b83e3a202e021e3 22-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Refactor ActiveSetSolver::Find{Min|Max}s().


# 419fe0b8ae0e16d798868eeebf0282978deb224d 22-Jan-2012 Alex Wilson <yourpalal2@gmail.com>

Introduce SharedSolver class to improve BALMLayout's friend feature.


# 056207eedd7703fb5d2941ef2a007c883deaab25 29-Nov-2011 czeidler <haiku@clemens-zeidler.de>

Cleanup the constraint solver a bit and fix a bug when a variable is removed.


# 6c7a658d1c50c9776f99c34185f7e447f4db17bd 17-Jun-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add support for soft inequality constraints for quadratic solvers. A slack variable is used in a normal hard inequality and the slack variable is minimized with a high penalty. In this way the constraint is only violated when necessary. Some smaller clean up.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42225 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a0ad88e0020787e69b41080af9d707db42aad924 26-Jan-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Fix min/ max calculation by removing all soft constraints before doing so. Smaller fixes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40297 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7583db5a1ec81636829331e5fc7cae81ca7a7ba7 24-Jan-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Add an alternative solver to lp_solve. The solver based on Ingo's active set solver but is able to handle arbitrary hard and soft constraints. The advantage to lp_solve is that the active set solver can optimize variable in respect to a quadratic objective function. This makes it possible to minimise the quadratic derivation to a desired value e.g. \Sum_i(x_i - x_{i,pref})^2 -> min.

The solver part has been refactored in this way that both solver can be used with the same layout specifications. The active set solver is default now; the performance is not as good as lp_solve, though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40285 a95241bf-73f2-0310-859d-f6bbb57e9c96