Difference between revisions of "Optimization Solver"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Download and Test)
(added Introduction etc. Deleted Future Plan section.)
Line 1: Line 1:
==Download and Test==
+
=Introduction=
 +
This Optimization Solver package is currently maintained by Kohei Yoshida ([[User:Kohei]]).  The main project website is [http://kohei.us/ooo/solver/ here].  This package is now an official part of [[ooo-build]].
 +
 
 +
=Download and Test=
 
Interested in testing it?  I usually post the binary on [http://kohei.us/ooo/solver/ 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.
 
Interested in testing it?  I usually post the binary on [http://kohei.us/ooo/solver/ 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.
  
Line 12: 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.
  
= Algorithms =
+
= Core Optimization Algorithms =
  
 
== Linear Programming (LP) ==
 
== Linear Programming (LP) ==
Line 26: Line 29:
 
* Penalty Method
 
* Penalty Method
 
* Barrier Method
 
* Barrier Method
 +
* Genetic Algorithm
  
 
== Mixed Integer Non-Linear Programming (MINLP) ==  
 
== Mixed Integer Non-Linear Programming (MINLP) ==  
 
* ?
 
* ?
  
= Future Plan =
+
=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.
  
Some babbling thoughts...  (subject to change without further notice)
+
=Third Party Library=
 +
;Free Software
 +
*GLPK (GPL)
 +
*lp_solve (GPL/LGPL?)
  
;Short Term
+
;Commercial
* More testing of LP algorithm.
+
*np_sol
* Disable cell update during the run (is it possible?)
+
*cplex
* Excel Solver model loading support
+
* Options dialog
+
* Penalty method for non-linear model.
+
  
;Long Term
+
=Other Requirements=
* Genetic algorithm for non-linear model.
+
* User-defined [http://mathworld.wolfram.com/Hessian.html Hessian] matrix calculation
* Interior point method for faster and more efficient and scalable linear solution.
+
* Build system based on autoconf for easier compilation from source.
+
* Integration into the core.
+

Revision as of 02:49, 25 March 2006

Introduction

This Optimization Solver package is currently maintained by Kohei Yoshida (User:Kohei). The main project website is here. This package is now an official part of ooo-build.

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.

Core Optimization Algorithms

Linear Programming (LP)

  • Revised Simplex Method
  • Bounded Revised Simplex Method
  • Interior Point Method

Mixed Integer Linear Programming (MILP)

  •  ?

Non-Linear Programming (NLP)

  • Quasi-Newton Method with BFGS Update
  • Penalty Method
  • Barrier Method
  • Genetic Algorithm

Mixed Integer Non-Linear Programming (MINLP)

  •  ?

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.

Third Party Library

Free Software
  • GLPK (GPL)
  • lp_solve (GPL/LGPL?)
Commercial
  • np_sol
  • cplex

Other Requirements

  • User-defined Hessian matrix calculation
Personal tools