Sunteți pe pagina 1din 24

OpenSolver Release Notes

Version 2.7.1
6/28/2015
Various bugfixes for 2.7.0
Version 2.7.0
6/16/2015
Add Update Checker
Add OpenSolver API VBA interface
Revamped error reporting with email reports
All solvers support extra parameters
Experimental support for NOMAD on Mac
Update solvers to CBC 2.9.4, Bonmin 1.8.1, Couenne 0.5.3, NOMAD 3.7.2
Various bugfixes (including lots of locale issues)

Version 2.6.1
2/16/2015
Add extra parameter support to Gurobi (see http://opensolver.org/using-opensolver/#gurobi-param
Fix issues with sensitivity analysis and missing variables
Abort NEOS solve if Cancel button is clicked
Add better error message for when non-linear solvers create no solution file
Bonmin, Couenne and Gurobi support Solver Options (e.g. time limit, tolerance)
Support for running from multiple disks and network drives in OS X
Misc improvements in non-linear parsing.
Update solvers to CBC 2.9.0, Bonmin 1.8.0 and Couenne 0.5.1
Fix for misc OS X Yosemite issues
Make the model dialogue box resizable.
Better logging and 'Show Optimisation Progress' support. Now works on Mac
Expand check for `solver_rlx` to all new Excel versions.
Bugfixes for locale-based issues
Support for more formulae in non-linear solvers (e.g. SUMIF)
Implement proper sheet name escaping for the formula parser.
Better error message if NOMAD is missing

Version 2.6
10/8/2014
Add support for Office 2011 on Mac - nearly all features supported
Add support for local COIN-OR non-linear solvers
Resolve bugs introduced by system-locale settings
NEOS solvers write AMPL files to disk before sending to NEOS. These can be used to run the model
Bugfixes for non-linear NOMAD solver
Upgrade NOMAD to v3.6.2
Bugfixes for NEOS solvers
Version 2.5.4 alpha
NOMAD bug fixes for when errors are encountered
Version 2.5.3 alpha
Add support for NOMAD in 64-bit Office.
Version 2.5.2 alpha

Fix memory bug causing Excel 2013 to crash when using NOMAD
Non-linear NEOS bug fixes
Version 2.5.1 alpha
Stability fixes for NOMAD non-linear solver
Inclusion of 64-bit CBC with release - appropriate version is selected automatically
Re-add NEOS non-linear solvers to release with lots of bug fixes.
Bug fixes for sensitivity analysis methods.

Version 2.5 alpha


6/20/2014
Updated CBC.exe to version 2.8.8
Support for using the Gurobi LP/IP solver if a user has this installed on their machine
Support for cloud-based NEOS server for CBC solver
Support for solving non-linear models using both NOMAD and the cloud-based NEOS servers (assum
Reporting of dual variables and sensitivity analysis
Many small bux fixes and feature enhancements

Version 2.4 beta


2/19/2013
Fixed bug for drawing the model with large rectangles that were over the excel limit.
The AutoModel now groups adjacent constraints of the same sense rather then an individual constr
The model window has a 'Clear Model' button that clears all the information in the model. Unfinishe
Constraints can now refer to a column LHS and a row RHS (or vice versa)
Changed the model dialogue so you can now save uncompleted models
OpenSolver can now handle models with no objective
Trap bad numeric number errors
Has the option of solving with Gurobi rather then CBC. Individual read CBC or gurobi solved models
Can write sensitivity analysis either on the same sheet (with shadow price/reduced cost, possible in
Can put multiple bounds on variables and it writes them all in the cell rather then using multiple bo
Uses gurobi.bat from python and can get the sensitivity information for gurobi. Writes it to the sam
The model window can now show the name of a range if it has been defined in Defined Names and
OpenSolver now uses the environment variable "OpenSolverTempPath" as the path to save files to
Added beta functionality for a non-linear blackbox solver (NOMAD) which uses the models saved in
Extra options in the menu: to AutoModel and Solve in one, to change solver, to view NOMAD log file
Model Dialogue: New option to change Solver, New Options under sensitivity analysis
QuickSolve Example worksheet

Version 2.3 beta


10/29/2012
Fixed bugs for sheet names with spaces (a few) and with a single quote (which caused OpenSolver
Added support for 64 bit versions of the COIN-OR CBC solver, allowing bigger models to be solved
Version 2.2 beta
9/24/2012
Fixed a minor bug leaving Excel in manual calculation mode if cbc.exe was missing
We now only look in the same folder as OpenSolver.xlam for the CBC file, but now look first for the

Version 2.1 beta


9/5/2012
Added better handling of non-US systems, in particular decision variables with multiple areas in the
(Thanks to Brenhard Aeschbacher for pointing out this bug on his German system.)

Version 2.0 beta


2/24/2012
Updated CBC.exe to version 2.7.6
Added an option to let the user turn off linearity checking
Improved the linearity checking to work around coefficients of many different magnitudes in which
Changed from displaying inequalities as < and > to and on screen, and <= and >= in messag

Version 1.9 beta


12/5/2011
Fixed some display issues in the model dialog to give more compact displays, and force formulae R
Fixed a bug that saw models being wrongly built and then reported as non-linear (incorrectly) for so
Fixed passing of multiple parameters to CBC if the user defines a parameter table on the sheet; pre
Deleted the DLL's downloaded in the .zip file which don't seem to be needed now that we statically

Version 1.8 beta


11/30/2011
Updated OpenSolver to properly handle models with an objective and constraints on multiple shee
- this changed some of the formulae checking in the model dialog, but this still needs more work f
Fixed a bug stopping OpenSolver loading on 64 bit systems

Version 1.7 beta


11/11/2011
Added controls in the About box to allow easy installation and uninstallation
Added code to interact nicely with the forthcoming OpenSolver Studio
Improved OpenSolver for use from VBA:
- Build and Solve operations now throw errors (instead of popping up dialogs), allowing dialog-free
- Return codes are better handled (and Solver compatible)
- A new optional parameter has been added to RunOpenSolver to avoid dialogs even if infeasible/u

Version 1.6 beta


9/29/2011
Fixed display and editting of an objective target value in the Model dialog.
Modified the Open Last Model in CBC functionality so that it passes any Solver options and any CBC
Fixed a minor issue in Model dialog where a RHS could be entered for a new constraint if the user h
Fixed a redim bug in the quick non-linearity checker for models with no constraints (which can hap
Added "Show optimisation progress while solving" (being Solver's "Show Iteration Results") to the
Improved operation of Options dialog, including proper sycnronisation of values when opened from
Better handling of the Excel 2010 "Simplex engine" option as used in parallel with "Assume linear m
Fixed an error in the full non-linearity checker
Added output of dual prices onto the sheet; this is set using the Model dialog
Rearranged Model dialog to better fit new Duals option, and better use space around constraint list
Better handling of the Excel solver options - OpenSolver now sets all these to sensible defaults
Better handling of users entering formulae in the Model dialog for a constraint RHS in terms of non
Fixed a size limitation in Quick Solve, and converted Quick Solve to sparse matrix handling for bett

Version 1.5 beta


8/9/2011
Recompiled CBC with static linking to librarie so it works on machines without Visual Studio 2010
Fixed an issue where an objective or decision cells formatted as "currency" or "date" caused errors
We now pass the solve options (such as tolerance) to CBC both when solving the problem, and whe
Properly pass Tolerance and RatioGap to CBC (in English) on internationalised systems
Version 1.4 beta

7/31/2011

Fixed 2003 menus


Fixed the issue with .HorizontalAlignment in 2003
http://www.officekb.com/Uwe/Forum.aspx/excel-prog/159706/Shape-TextEffect-Horizonta
Moved the .Character lines before the .HorizontalAlignment line

Quick Auto Model with no spreadsheet open doesn't crash.


AutoModel window doesn't show if AutoModel works.
no text colouring in AutoModel.
If a Model is showing, and the user does a QuickAutomodel, but does not choose to show the Mode
Clear the status bar after the AutoModel tool changes it.
Fixed an edge case with AutoModel relating to double-tracking cells.

Fixed a ref-edit related focus bug in Model tool that was causing some strange behaviour.
Added partial locale support. Entering number like 180,2 will work, but will display as 180.2
Uses spreadsheet internal to the OpenSolver add-in and Range.FormulaLocal to do a con

Added an Options window, available under Model in menu, and from a button on the Model form.
Added different locale support to Options window.
Tolerance stored internally as 5.1
So for output, CStr(5.1) = "5.1" (English) and "5,1" (French) - fine!
for input, originally had CStr(Val(txtTol.Text) / 100)
But Val doesn't handle 5,1 and CStr() gives locale version - bad, because we are putting
So use CDbl "5.1"->5.1 & "5,1"->5.1
And Str() 5.1 -> "5.1" regardless of locale
Added error catching in Solve for int/bin constraints on non-decision variable cells.
Added error catching in Visualiser too.
Added warning message to Model tool.
Updated CBC to version 2.7
Added custom icons for toolbar.
Debug.Prints commented out
Version 1.3 beta
7/7/2011
Now completely independent of Solver - GUI for building models created.
Menus for Excel 2003 added
Excel 64-bit support
Various bug fixes
Version 1.2 beta
3/8/2011
OpenSolver now treats empty cells as containing the value zero, which mimics Solver's approach

Version 1.1 beta


3/4/2011
This version is the result of work over the New Zealand summer by Engineering Science students K
The code was subsequently tested and re-factored by Andrew Mason
Changes include
Support for much larger problemns
Sparse A matrix handling

Much faster data transfer between VBA and Excel


Using Ranges in the VBA instead of arrays for efficiency
New model display routines to handle large problems
Handling of Excel calculations that didn't complete; we observed these on large models
We have a problem submitted by a user with over 70,000 variables and 70,000 constrai
Correct Handling of Assume Non Negative
Models no longer require "Assume Non-Negative" to be turned on
If it is, then we only add 0 lower bounds to variables that do not have an explicit lower b
Note: Excel 2010 and 2007 seem to handle this differently when a single range includes
Supprot for Excel 2010
We recognise choosing the Simplex engine as being equivalent to Assume Linear
We present version-specific dialogs to easily turn on one of these options
Reporting of Infeasible solutions
If CBC reports the solution as infeasible, we load it in anyway to show the user
Better Model and Range Checking
Excel allows ranges (eg for the decsion variables) that count individual cells multiple tim
We check for merged cells in the decision variables, and handle them correctly (allowing
We have improved our model error reporting (which we now think is more useful than So
We check for constraints that don't vary with the decision variables; if we find them, we
Better checking of s/sheets that contain errors in model cells.
We now require all cells in constraints to contain numeric values. For example, a blank R
Auto Model
Added an AutoModel feature to build Solver models more easily.
Added improved detection of decision variables when the obj fn cell has dependents
This was coded by Engineering Science student Iain Dunning
Non-Linearity Checker
We now check that the solution given by CBC gives the expected LHS and objective func
We also provide a more extensive nonlinearity check that the user cxan run if the mode
Support for Models with Constraints on Other Sheets
Our View Model will now show constraints on sheets other than the active sheet
Formulae in the Right Hand Side
OpenSolver can how handle a constraint with a formula (such as "=2*B1") entered as th
Bug Fixes
OpenSolver used to crash when checking constraints that did not vary with the decision
Test Problem Bank
We now have a suite of test problems that we use for testing OpenSolver.
TODO

Excel's UNION method does not eliminate all overlaps; we need to determine the conseq
Improve non-linearity check so that decision variables are not put back to 0 (which curre
Improve non-linearity check so that the model is not rebuilt multiple times
Improve the AutoModel code to be more robust

Version 0.982
17-Aug-10
In response to a user request, OpenSolver has been upgraded to version 0.982. This new version c

Version 0.98

16-Jul-10

OpenSolver has been upgraded to version 0.98 (still beta). This version includes bug fixes associat
the same sheet and workbook as that used to initialise the quick solve), and also improvements so
Version 0.95

6-Jun-10

Better checking of parameters; better handling of Escape during long CBC runs (no DoEvents now,
allowing events to be handled, including sheet edits etc.)
Version 0.95

6-Jun-10

Updated OpenSolver. Added a fix for sheet names with spaces, and for the definition of parameters
cancelling long CBC runs.

Initial Version
17-May-10
Our first public release.

ng-opensolver/#gurobi-params)

tolerance)

can be used to run the model locally

automatically

n their machine

ud-based NEOS servers (assuming non-negativity currently doesn't work correctly for non-linear NEOS, all va

the excel limit.


ather then an individual constraint for every single one
mation in the model. Unfinished models can also be saved now.

d CBC or gurobi solved models


price/reduced cost, possible increase, possible decrease) or on a new sheet like solver does. Choice can be m
l rather then using multiple boxes on top of each other. For example 7 ,5.
or gurobi. Writes it to the same tables that are used for CBC
defined in Defined Names and there is the option to turn this on and off ( thanks Andres Sommerhoff for your
h" as the path to save files to if this has been defined by the user (thanks again Andres Sommerhoff)
hich uses the models saved in solver and OpenSolver
solver, to view NOMAD log file, view gurobi solution file
nsitivity analysis

te (which caused OpenSolver to fail with an error msg); thanks to Fenny for this bug report.
g bigger models to be solved without CBC failing

e was missing
file, but now look first for the 64-bit cbc64.exe if it exists and the systems is 64 bit

bles with multiple areas in their range


man system.)

different magnitudes in which case numerical rounding can cause problems


en, and <= and >= in message dialogs (9/8/2012)

displays, and force formulae RHS to be in absolute terms


s non-linear (incorrectly) for some complex models if Excel calculation mode was set to manual.
ameter table on the sheet; previously only the last parameter was passed.
needed now that we statically link everything in CBC.

d constraints on multiple sheets


ut this still needs more work for better locale support

dialogs), allowing dialog-free usage from VBA

oid dialogs even if infeasible/unbounded solutions are generated

ny Solver options and any CBC solve parameters to CBC if they are available in any current worksheet
a new constraint if the user had previously had a Bin or Int constraint selected
no constraints (which can happen if there is only a target objective value)
how Iteration Results") to the OpenSolver options dialog
n of values when opened from the Model dialog
parallel with "Assume linear model"

e space around constraint listing


these to sensible defaults
onstraint RHS in terms of non-English localisation issues, but this still needs work
parse matrix handling for better memory usage.

s without Visual Studio 2010


ency" or "date" caused errors; we now use .Value2 (not .Value) to get cell values.
solving the problem, and when opening the last model in CBC. This is useful for checking the CBC argument
onalised systems

06/Shape-TextEffect-HorizontalAlignment-throws-error

not choose to show the Model, then the current Model display is hidden.

e strange behaviour.
ut will display as 180.2
ange.FormulaLocal to do a conversion.

a button on the Model form.

- bad, because we are putting it into a name.

variable cells.

ch mimics Solver's approach

ngineering Science students Kathleen Gilbert and Iain Dunning

served these on large models (70,000 variables)


variables and 70,000 constraints that we can now solve (although it takes hours!)

do not have an explicit lower bound set in Solver


when a single range includes decision variables and other cells; we follow the 2007 approach

alent to Assume Linear


f these options

way to show the user

nt individual cells multiple times; we now 'fix' such ranges


andle them correctly (allowing them if possible; Solver doesn't allow any)
w think is more useful than Solver's)
variables; if we find them, we check that they are satisfied, and if not report this explicitly to the user

values. For example, a blank RHS gives an error (even tho' Solver allows this, but sometimes puts in zero's)

obj fn cell has dependents

pected LHS and objective function values when loaded into the s/sheet
the user cxan run if the model appears to be non-linear; this can highlight non-linearities on the model

than the active sheet

uch as "=2*B1") entered as the right hand side

did not vary with the decision variables; this has been fixed

ng OpenSolver.

need to determine the consequence of this (if any); see ProperUnion method
not put back to 0 (which currently stops us seeing product terms!)
t multiple times

ion 0.982. This new version can handle larger problems with more than 32,000 variables and/or constraints.

on includes bug fixes associated with quick solves (one GUI related, one that fixes the handling of multi-area
e), and also improvements so that OpenSolver dynamically resizes its arrays to handle large problems (assum

CBC runs (no DoEvents now, and a new dialog). Fixed bug in the Last open model in CBC where OpenSolv

or the definition of parameters. Added new commands to (1) Solve LP relaxation, and (2) to open CBC comma

on-linear NEOS, all variables are assumed positive, not just unconstrained ones)

does. Choice can be made in the model dialogue. Can also choose to overwrite old sensitivity sheets or to m

s Sommerhoff for your help adding in this functionality)


Sommerhoff)

rent worksheet

ng the CBC arguments.

tly to the user

times puts in zero's)

es on the model

es and/or constraints. However, such models will be very slow to build. Andrew

andling of multi-area ranges, and checks that the user is on


large problems (assuming everything fits in memory).

CBC where OpenSolver was waiting for CBC to close (but still

2) to open CBC command line. Also added improved support for

sitivity sheets or to make new ones

S-ar putea să vă placă și