Difference between revisions of "Optimization Solver"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Future Plan)
(Current Status)
Line 1: Line 1:
 
==Current Status==
 
==Current Status==
My goal right now is to investigate that weird matrix inversion mystery described belowExpect another snapshot with this fixed soon.
+
Investigate cases where the objective function contains one or more zero coefficients.  If a decision variable has a zero coefficient it will not affect the outcome of the optimization at all since its value does not contribute to the objective; however, if they are left in the model and the solver is executed it will create a constraint matrix with an empty columnThis will stop the execution due to singularity (not good).
  
'''Current Known Problem:''' Occasionally it fails to produce a solution in the first run, but succeeds in the second or third run with no modification at all (just keep hitting the Solve button).  This turned out to be due to mis-calculation of matrix inversion which, for some reason suceeds in a subsequent run.  I'm looking into this weird behavior.
+
Possible solutions:
 
+
* Leave it as is, and let the model fail as "solution not found"
'''Update:''' Ok.  I've looked into it, but I can no longer reproduce this behavior.  I don't see anything suspicious in my code either.  So, for now, I just call it "resolved".  I'll keep an eye out though.
+
* Remove those non-contributing variables from the model, and continue the execution.
  
 
==Download and Test==
 
==Download and Test==

Revision as of 08:27, 4 December 2005

Current Status

Investigate cases where the objective function contains one or more zero coefficients. If a decision variable has a zero coefficient it will not affect the outcome of the optimization at all since its value does not contribute to the objective; however, if they are left in the model and the solver is executed it will create a constraint matrix with an empty column. This will stop the execution due to singularity (not good).

Possible solutions:

  • Leave it as is, and let the model fail as "solution not found"
  • Remove those non-contributing variables from the model, and continue the execution.

Download and Test

Interested in testing it? Please download it from here. Right now, there is only a Linux binary available, but a Windows binary is planned.

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.

Future Plan

Some babbling thoughts... (subject to change without further notice)

Short Term
  • More testing of LP algorithm.
  • Disable cell update during the run (is it possible?)
  • Excel Solver model loading support
  • Options dialog
  • Penalty method for non-linear model.
Long Term
  • Genetic algorithm for non-linear model.
  • 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.
Personal tools