We are happy today to announce the release of OpenSolver 2.8.0!
We will be releasing this first as a pre-release for wider testing before releasing it as stable in the near future. Anybody that has elected to receive update checks for experimental updates should get an update notification in the next day, otherwise the notification will come later once it is tested further (if you enabled the update checker).
This update contains a large number of bugfixes (the changelog lists over 30 major fixes!) as well as some new features. It fixes a lot of problems that users encountered in version 2.7.1. In particular, it fixes the compile error message “Method or data member not found” that some Mac users were encountering due to VBA becoming case-sensitive and treating Me.width and Me.Width differently. If you somehow still run into this message on the latest version, please let us know immediately so we can work with you to fix it.
There are a couple of changes to the way models are defined. First of all, it is now possible to define ranges in the objective, variables and constraint cells that are not on the same sheet as the model. Beforehand this was not consistently allowed, but now there should be no problems. NOTE: For the non-linear solvers Bonmin and Couenne that use our formula parser, the entire model needs to be on the same sheet due to limitations in the formula parser. This is something we want to fix as soon as possible.
The other big change to the way models are defined is that models can now be defined using named ranges. Now you can give names to ranges on the sheet and use these names when defining the model. For instance, if you have a named range “production” in A1:A4 and another named range “capacity” in B1:B4, instead of entering the constraint as “A1:A4 <= B1:B4”, you can now add it as “production <= capacity”. If the named range is changed to point to a different set of cells, the model will update and use the new set of cells when solving the problem. This change will allow for much more expressive power when creating models, and makes it easier to keep track of what each constraint means when defining the model.
We have also revamped the way we show the solver output when “Show optimisation progress while solving” is enabled. Previously we used a command prompt/terminal window to show the output from the solver, but now we do this inside Excel, along with an easy “Cancel” button to abort the solve. This is a much more stable way of doing things than before, and looks a lot nicer too!
The “About OpenSolver” form now indicates whether OpenSolver has been correctly installed, by which we mean all the files have been unzipped to the same place. If you are having trouble getting any solver to run, please make sure that this form says everything is correctly installed.
Finally, there are some minor changes to the API. We have removed the “GetObjectiveCellWithValidation” method, and have changed “GetObjectiveFunctionCell” to validate by default. A large number of the API methods have been altered to validate their inputs and outputs by default, which can be turned off. We have also added a host of new functions to go along with the ability to define the model using named ranges, which requires working with string arguments rather than ranges.
We appreciate any feedback you might have on the release, including the new features and any future features you might like. If you do encounter any problems, please either use the “Report Issue” button from inside OpenSolver, or leave a comment here so that we can address the problem.