Sei sulla pagina 1di 9

OpenSolver Release Notes TODO: 1/

2/ 3/

Convert constants and formulae into the user's locale before displaying them in the Model dialog. OpenSolver currentl locale into the internal US-locale on entry, but does not do the reverse on display. We need to put formulae into a cell, As part of this, record in CConstraint a RHS either as a range, a value, or 'something else'. Then we can localise each of Pipe the CBC output so that it is visible to the user; see http://www.vbforums.com/archive/index.php/ Allow OpenSolver to handle models with no objective (which Solver can handle)

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 usage from VBA - Return codes are better handled (and Solver compatible) - A new optional parameter has been added to RunOpenSolver to avoid dialogs even if infeasible/unbounded solutions are genera

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 solve parameters to CBC if the Fixed a minor issue in Model dialog where a RHS could be entered for a new constraint if the user had previously had a Bin or Int c Fixed a redim bug in the quick non-linearity checker for models with no constraints (which can happen if there is only a target obje Added "Show optimisation progress while solving" (being Solver's "Show Iteration Results") to the OpenSolver options dialog Improved operation of Options dialog, including proper sycnronisation of values when opened from the Model dialog Better handling of the Excel 2010 "Simplex engine" option as used in parallel with "Assume linear model" 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 listing 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-English localisation issues, but Fixed a size limitation in Quick Solve, and converted Quick Solve to sparse matrix handling for better memory usage.

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 use .Value2 (not .Valu We now pass the solve options (such as tolerance) to CBC both when solving the problem, and when opening the last model in CBC 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-HorizontalAlignment-throws-error 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 Model, then the current Model displ 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 conversion. 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 it into a name. 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 Kathleen Gilbert and Iain Dunning 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 (70,000 variables) We have a problem submitted by a user with over 70,000 variables and 70,000 constraints that we can now solve (alth 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 bound set in Solver Note: Excel 2010 and 2007 seem to handle this differently when a single range includes decision variables and other ce 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 times; we now 'fix' such ranges We check for merged cells in the decision variables, and handle them correctly (allowing them if possible; Solver doesn We have improved our model error reporting (which we now think is more useful than Solver's) We check for constraints that don't vary with the decision variables; if we find them, we check that they are satisfied, a 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 RHS gives an error (even tho' So 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 function values when loaded into th We also provide a more extensive nonlinearity check that the user cxan run if the model appears to be non-linear; this 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 the right hand side Bug Fixes OpenSolver used to crash when checking constraints that did not vary with the decision variables; this has been fixed 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 consequence of this (if any); see Prop Improve non-linearity check so that decision variables are not put back to 0 (which currently stops us seeing product te 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 can handle larger problems with m

Version 0.98

16-Jul-10

OpenSolver has been upgraded to version 0.98 (still beta). This version includes bug fixes associated with quick solves (one GUI rel and workbook as that used to initialise the quick solve), and also improvements so that OpenSolver dynamically resizes its arrays to Version 0.95 6-Jun-10

Better checking of parameters; better handling of Escape during long CBC runs (no DoEvents now, and a new dialog). Fixed bug in t 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. Added new commands to (1) long CBC runs.

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

m in the Model dialog. OpenSolver currently converts new formulae from the users display. We need to put formulae into a cell, and read them back, to do this conversion. mething else'. Then we can localise each of these more efficiently. p://www.vbforums.com/archive/index.php/t-47843.html

g dialog-free usage from VBA

f infeasible/unbounded solutions are generated

and any CBC solve parameters to CBC if they are available in any current worksheet if the user had previously had a Bin or Int constraint selected hich can happen if there is only a target objective value) ults") to the OpenSolver options dialog opened from the Model dialog

erms of non-English localisation issues, but this still needs work ing for better memory usage.

aused errors; we now use .Value2 (not .Value) to get cell values. em, and when opening the last model in CBC. This is useful for checking the CBC arguments.

tEffect-HorizontalAlignment-throws-error

ow the Model, then the current Model display is hidden.

al to do a conversion.

are putting it into a name.

e students Kathleen Gilbert and Iain Dunning

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

plicit lower bound set in Solver nge includes decision variables and other cells; we follow the 2007 approach

multiple times; we now 'fix' such ranges ctly (allowing them if possible; Solver doesn't allow any) useful than Solver's) nd them, we check that they are satisfied, and if not report this explicitly to the user

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

bjective function values when loaded into the s/sheet n if the model appears to be non-linear; this can highlight non-linearities on the model

entered as the right hand side the decision variables; this has been fixed

ne the consequence of this (if any); see ProperUnion method (which currently stops us seeing product terms!)

w version can handle larger problems with more than 32,000 variables and/or constraints. However, such models will be very slow to build. Andrew

es associated with quick solves (one GUI related, one that fixes the handling of multi-area ranges, and checks that the user is on the same sheet OpenSolver dynamically resizes its arrays to handle large problems (assuming everything fits in memory).

Events now, and a new dialog). Fixed bug in the Last open model in CBC where OpenSolver was waiting for CBC to close (but still allowing events

f parameters. Added new commands to (1) Solve LP relaxation, and (2) to open CBC command line. Also added improved support for cancelling

h models will be very slow to build. Andrew

ecks that the user is on the same sheet ).

for CBC to close (but still allowing events

added improved support for cancelling

Potrebbero piacerti anche