Difference between revisions of "Optimization Solver"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Introduction: minor edit)
(Restructured content)
Line 15: Line 15:
 
* Once Calc finishes registering the component, close all OO.o windows, and restart Calc.  You should then see a floating toolbar with the word "Solver" on it.
 
* Once Calc finishes registering the component, close all OO.o windows, and restart Calc.  You should then see a floating toolbar with the word "Solver" on it.
  
= Core Optimization Algorithms =
+
= Task Breakdown =
 +
== Core Optimization Algorithms ==
  
 
Listed below are algorithms proposed to be included in future versions of Calc Solver.  Some are being actively developed, while the others are still in planning.
 
Listed below are algorithms proposed to be included in future versions of Calc Solver.  Some are being actively developed, while the others are still in planning.
  
== Linear Programming (LP) ==
+
=== Linear Programming (LP) ===
 
{| border="1" cellspacing="0" cellpadding="5"
 
{| border="1" cellspacing="0" cellpadding="5"
 
!Algorithm
 
!Algorithm
Line 39: Line 40:
 
|}
 
|}
  
== Mixed Integer Linear Programming (MILP) ==
+
=== Mixed Integer Linear Programming (MILP) ===
 
* Branch and Bound --- planned
 
* Branch and Bound --- planned
 
* Branch and Cut --- planned
 
* Branch and Cut --- planned
  
== Non-Linear Programming (NLP) ==
+
=== Non-Linear Programming (NLP) ===
 
* Quasi-Newton Method with BFGS Update --- '''in progress'''
 
* Quasi-Newton Method with BFGS Update --- '''in progress'''
 
* Penalty Method --- proposed
 
* Penalty Method --- proposed
Line 49: Line 50:
 
* Genetic Algorithm --- planned
 
* Genetic Algorithm --- planned
  
== Mixed Integer Non-Linear Programming (MINLP) ==  
+
=== Mixed Integer Non-Linear Programming (MINLP) ===
 
* ?
 
* ?
  
=Automatic Algorithm Selection=
+
==User Interface (UI)==
 +
* Options dialog
 +
* i18n
 +
* User-defined [http://mathworld.wolfram.com/Hessian.html Hessian] matrix calculation
 +
 
 +
==Miscellaneous==
 +
===Automatic Algorithm Selection===
 
We may need an optional mechanism to select appropriate optimization algorithms (LP vs QP, linear vs non-linear) based on the characteristics of a given model.  But such machanism should be optional so that the user can still pick and choose desired algorithms.
 
We may need an optional mechanism to select appropriate optimization algorithms (LP vs QP, linear vs non-linear) based on the characteristics of a given model.  But such machanism should be optional so that the user can still pick and choose desired algorithms.
  
=Third Party Library=
+
=Resources=
 +
==Third Party Library==
 
;Free Software
 
;Free Software
 
*GLPK (GPL)
 
*GLPK (GPL)
Line 64: Line 72:
 
*cplex
 
*cplex
  
=Other Requirements=
+
==Links==
* User-defined [http://mathworld.wolfram.com/Hessian.html Hessian] matrix calculation
+
* [http://kohei.us/ooo/solver/ Kohei Yoshida's Solver Page]
* UI string i18n
+
  
 
[[Category:Calc issues]]
 
[[Category:Calc issues]]

Revision as of 16:23, 14 April 2006

Developer(s)

  • Kohei Yoshida (User:Kohei) --- initial developer and current maintainer

Download and Test

Interested in testing it? I usually post the binary on my website. Right now, I only maintain x86 Linux binary for each snapshot release, but Windows binary for the February 2006 snapshot is available thanks to Kami.

Alternatively, you can download and install OpenSUSE 10.1 (currently in Beta) from the OpenSUSE project website. The edition of OO.o shipped with OpenSUSE 10.1 includes this Solver.

To install, follow these steps (in English build):

  • Download the latest solver.uno.zip, but don't unzip it.
  • Open Calc, go to Tools - Package Manager.
  • Select "My Packages", and click "Add".
  • Locate that solver.uno.zip file you have downloaded, and hit OK to load it.
  • Once Calc finishes registering the component, close all OO.o windows, and restart Calc. You should then see a floating toolbar with the word "Solver" on it.

Task Breakdown

Core Optimization Algorithms

Listed below are algorithms proposed to be included in future versions of Calc Solver. Some are being actively developed, while the others are still in planning.

Linear Programming (LP)

Algorithm Status Date
Revised Simplex Method finished 2006-03-16
Bounded Revised Simplex Method in progress
Interior Point Method proposed

Mixed Integer Linear Programming (MILP)

  • Branch and Bound --- planned
  • Branch and Cut --- planned

Non-Linear Programming (NLP)

  • Quasi-Newton Method with BFGS Update --- in progress
  • Penalty Method --- proposed
  • Barrier Method --- proposed
  • Genetic Algorithm --- planned

Mixed Integer Non-Linear Programming (MINLP)

  •  ?

User Interface (UI)

  • Options dialog
  • i18n
  • User-defined Hessian matrix calculation

Miscellaneous

Automatic Algorithm Selection

We may need an optional mechanism to select appropriate optimization algorithms (LP vs QP, linear vs non-linear) based on the characteristics of a given model. But such machanism should be optional so that the user can still pick and choose desired algorithms.

Resources

Third Party Library

Free Software
Commercial
  • np_sol
  • cplex

Links

Personal tools