#
cf5eb5dd |
|
31-Aug-2012 |
czeidler <haiku@clemens-zeidler.de> |
Add a LinearSpec listener interface.
|
#
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.
|
#
419fe0b8 |
|
22-Jan-2012 |
Alex Wilson <yourpalal2@gmail.com> |
Introduce SharedSolver class to improve BALMLayout's friend feature.
|
#
7c380007 |
|
17-Jan-2012 |
Alex Wilson <yourpalal2@gmail.com> |
Make LinearProgramming::LinearSpec BReferenceable.
|
#
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
|
#
82867791 |
|
08-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Make kp_solve interface work again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40384 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
|
#
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
|
#
5440f6fe |
|
13-Dec-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Refactor the linear programming class to use a minimal solver interface class and implement the interface for lp_solve. As a result lp_solve is not visible to the outside any more. This interface could be used to use other solvers as well. Rename operator constants to no clash with lp_solve constants. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39829 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
|
#
c2f0a314 |
|
12-Oct-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Rename ReplaceObjectiveFunction to SwapObjectiveFunction I think this makes it more clear that the old function is not deleted. Cleanup Jamfile. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38960 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc691d7d |
|
05-Oct-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
- Remove lp_solve dependencies form Variable class and put everything into LinearSpec. As a side effect Variable management is a bit more consistence now. We want to replace lp_solve soon so it will be easier to replace it just in LinearSpec. - Update copyrights. - Lot of small things related to the Variable refactoring. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38892 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cad0c434 |
|
04-Oct-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Refactor LinearSpec a bit, make it more difficult to leak the objective function. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38888 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
|
#
44032741 |
|
19-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Some clean up (not complete). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38736 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
416aca7a |
|
19-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Fix some memory leaks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38735 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
|
#
cf5eb5dda1cbabf89bb14b9b497deefeb6351eb6 |
|
31-Aug-2012 |
czeidler <haiku@clemens-zeidler.de> |
Add a LinearSpec listener interface.
|
#
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.
|
#
419fe0b8ae0e16d798868eeebf0282978deb224d |
|
22-Jan-2012 |
Alex Wilson <yourpalal2@gmail.com> |
Introduce SharedSolver class to improve BALMLayout's friend feature.
|
#
7c3800078e96a5f45ee5d13863a49917ecf3fca0 |
|
17-Jan-2012 |
Alex Wilson <yourpalal2@gmail.com> |
Make LinearProgramming::LinearSpec BReferenceable.
|
#
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
|
#
8286779101e70df778f5f086dd5bb5a997e4dc6f |
|
08-Feb-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Make kp_solve interface work again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40384 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
|
#
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
|
#
5440f6fee398073e8359b992a17b0943d39e6ff0 |
|
13-Dec-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Refactor the linear programming class to use a minimal solver interface class and implement the interface for lp_solve. As a result lp_solve is not visible to the outside any more. This interface could be used to use other solvers as well. Rename operator constants to no clash with lp_solve constants. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39829 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
|
#
c2f0a314a012bea8e4ebb35b8ce9e1a85c798727 |
|
12-Oct-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Rename ReplaceObjectiveFunction to SwapObjectiveFunction I think this makes it more clear that the old function is not deleted. Cleanup Jamfile. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38960 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc691d7de2182d23659b86d87c9c36b0feaa6b40 |
|
05-Oct-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
- Remove lp_solve dependencies form Variable class and put everything into LinearSpec. As a side effect Variable management is a bit more consistence now. We want to replace lp_solve soon so it will be easier to replace it just in LinearSpec. - Update copyrights. - Lot of small things related to the Variable refactoring. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38892 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cad0c434c7585bd21548499b2fcdf347c44b8074 |
|
04-Oct-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Refactor LinearSpec a bit, make it more difficult to leak the objective function. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38888 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
|
#
4403274117e9248a7c458e7705d8d9444a36df66 |
|
19-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Some clean up (not complete). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38736 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
416aca7ac966564036f3db68a9be33fe999edf35 |
|
19-Sep-2010 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Fix some memory leaks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38735 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
|