History log of /haiku/headers/libs/linprog/Constraint.h
Revision Date Author Comments
# 08927d80 31-Aug-2012 czeidler <haiku@clemens-zeidler.de>

Make it possible to create a constraint that is not connected to a solver.

- Clean up.


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

Add a comment about who is responsible to clean up.



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


# ef93b55d 13-Mar-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Areas with same tabs are put in a column/row automtically. Move preferred size constraint from Area to the column/row. This avoids a "spring" effect of the
quadratic solver if multiple Areas are in the same column/row.
- Replace GetString by ToString.
- some clean up



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40941 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


# f108cdbf 13-Dec-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Merge all linear programming types in one file an rename them.



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


# 510c618b 29-Nov-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

gcc2 don't like INFINITY. Fix the build.



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


# 067f47a3 29-Nov-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Move lp_solve dependency completely into LinearSpec. Clean up and some more memory allocation checks.



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


# cd88ee00 20-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

More cleanup and BList -> BObjectList.



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


# 601eded9 20-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Hide constraint header in Area file.
- Start to replace BList with BObjectList.



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


# 0401a9c7 19-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Remove unused fOwner variable. Cleanup.



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


# b329767e 19-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Clean up.



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


# b8ec67f4 06-Dec-2009 Stephan Aßmus <superstippi@gmx.de>

* Simplified and optimized a lot the "ToString()" debugging facilities.
* *::Index() is now const, thanks to the BList improvements.


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


# 676ef01b 15-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Applied patch by Hong Yul Yang to update linprog.


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


# 5bced18e 10-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

ALM/linprog patch by Christof Lutteroth:
* Got rid of class ObjFunctionSummand. Both the constraint summands and
the objective function summands are now stored using class Summand.
* Some method names are more BeOS compliant now: SetX instead of ChangeX.
* linprog test code now uses new AddConstraint methods.
* CalculateMinSize and CalculateMaxSize did not free the memory they
allocated.
* Removed inappropriate setter and getter methods.
* Memory allocated in class Constraint is freed now.
* Other small changes.



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


# 03069455 24-Feb-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Christof Lutteroth:
* copyright headers for the files of the libraries linprog and alm
* new class Summand for representing summands in a linear constraint
* merged class SoftConstraint into class Constraint; Constraint now
supports both soft and hard constraint functionality
* new AddConstraint methods in class LinearSpec for directly setting
constraints with 1 to 4 summands
* code cleanups by using aforementioned AddConstraint methods
* a new very simple test application for alm
* some style corrections


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


# a101e99a 06-Feb-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added libalm.so and its dependency liblinprog.so. libalm.so provides a
BLayout implementation (BALMLayout) using the Auckland Layout Model
(ALM). The original ALM was implemented by Christof Lutteroth, the
Haiku/C++ version by James Kim.
The code needs some review, but the test programs seem to work fine.


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


# 08927d809f1d1ba528ebd34abd8181bf051ca7ac 31-Aug-2012 czeidler <haiku@clemens-zeidler.de>

Make it possible to create a constraint that is not connected to a solver.

- Clean up.


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

Add a comment about who is responsible to clean up.



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


# ef93b55df49f5296bdb03867215cb1793596e845 13-Mar-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Areas with same tabs are put in a column/row automtically. Move preferred size constraint from Area to the column/row. This avoids a "spring" effect of the
quadratic solver if multiple Areas are in the same column/row.
- Replace GetString by ToString.
- some clean up



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40941 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


# f108cdbfab0a9d2aed098ea7a737b40baec04937 13-Dec-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Merge all linear programming types in one file an rename them.



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


# 510c618b96122b2c211ebd336e984b434933bf06 29-Nov-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

gcc2 don't like INFINITY. Fix the build.



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


# 067f47a3eed22ed903463892f1a4fc81bc237563 29-Nov-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Move lp_solve dependency completely into LinearSpec. Clean up and some more memory allocation checks.



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


# cd88ee006ddb309d3c0b96698d04a9a515c27aea 20-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

More cleanup and BList -> BObjectList.



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


# 601eded950be7b7abf8fe5ce8c5b0064f631e10d 20-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

- Hide constraint header in Area file.
- Start to replace BList with BObjectList.



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


# 0401a9c7120dd0faded99a4b1946169fbb9bcf46 19-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Remove unused fOwner variable. Cleanup.



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


# b329767e2fd45f1b0960ae8f767fc42f94a53cc8 19-Sep-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Clean up.



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


# b8ec67f491da3c6ddad3e1c55d70400fdab4961b 06-Dec-2009 Stephan Aßmus <superstippi@gmx.de>

* Simplified and optimized a lot the "ToString()" debugging facilities.
* *::Index() is now const, thanks to the BList improvements.


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


# 676ef01ba74e966b1ce7f4117372bbc5f1290cc4 15-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Applied patch by Hong Yul Yang to update linprog.


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


# 5bced18eab0b1318f3293c1c5c5b1a9d52fa3770 10-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

ALM/linprog patch by Christof Lutteroth:
* Got rid of class ObjFunctionSummand. Both the constraint summands and
the objective function summands are now stored using class Summand.
* Some method names are more BeOS compliant now: SetX instead of ChangeX.
* linprog test code now uses new AddConstraint methods.
* CalculateMinSize and CalculateMaxSize did not free the memory they
allocated.
* Removed inappropriate setter and getter methods.
* Memory allocated in class Constraint is freed now.
* Other small changes.



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


# 0306945545b0fc20ec4da7cff2e99ac39f48d726 24-Feb-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Christof Lutteroth:
* copyright headers for the files of the libraries linprog and alm
* new class Summand for representing summands in a linear constraint
* merged class SoftConstraint into class Constraint; Constraint now
supports both soft and hard constraint functionality
* new AddConstraint methods in class LinearSpec for directly setting
constraints with 1 to 4 summands
* code cleanups by using aforementioned AddConstraint methods
* a new very simple test application for alm
* some style corrections


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


# a101e99aada54cf545bbf25e0cbb6329ad45535e 06-Feb-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Added libalm.so and its dependency liblinprog.so. libalm.so provides a
BLayout implementation (BALMLayout) using the Auckland Layout Model
(ALM). The original ALM was implemented by Christof Lutteroth, the
Haiku/C++ version by James Kim.
The code needs some review, but the test programs seem to work fine.


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