OpenSolver 2.8.5 (3 Nov 2016)

Today we are releasing OpenSolver version 2.8.5 which fixes a bug brought about by the October update to Excel 2016. This bug in Excel prevented clicks on the constraint section of the model creation form in OpenSolver, and there is a workaround in today’s update so that things work as intended.

You can get the new version here.

The release also includes a new feature that a number of users have asked for in the past, which is the ability to use the NOMAD solver to optimize models where the objective and constraints depend on the output of macros. For instance, one user wanted to use the results of a Pivot Table that depended on the variable values in their model, but Pivot Tables are not updated when the sheet is recalculated so this did not previously work with OpenSolver. Another example comes from Judd Larson at the University of Wyoming. Judd’s problem involved optimizing a function that depended on the solution to a series of differential equations, which he was solving using his VBA implementation of an ODE solver. This is not a problem that can be expressed and solved in the traditional way that OpenSolver supports, but is possible to solve now with the new ability to incorporate the macro into the solution process. We are very pleased to offer a solution to a tough problem like this! For more information on how this feature works, please see the new section in the documentation describing this feature.

As always, please let us know about any issues you might have, or features you would like to see in future releases!

OpenSolver 2.8.4 (12 Oct 2016)

We have just released OpenSolver 2.8.4 which fixes a bug in the 2.8.3 release that caused it to crash on the newest versions of Excel (in most cases the Office 365 versions). This release also fixes a bug where the saved solver choice could get corrupted and force you to re-select the solver.

You can download the 2.8.4 release here.

Don’t forget to enable the update checker in OpenSolver if you want to be notified automatically of new updates like this one.

As always, please let us know if you have any feedback or problems.

OpenSolver 2.8.3 (05 Oct 2016)

We are happy today to announce the release of OpenSolver 2.8.3! This is a bugfix release for the 2.8.2 release, but we are also using the occasion to mark the 2.8.x releases as stable. This means 2.8.3 will become the default download for all users and is the recommended version for everyone.

You can download OpenSolver 2.8.3 here.

This update is primarily a bugfix release (the changelog lists around 20 significant fixes) as well as two new features.

The first new feature is extended support for using the solution on the sheet as the starting point for the solver. Passing the solution as a “warm start” to the solver in this way is now supported by all solvers except CBC. This functionality is enabled automatically – if the initial solution on the sheet is feasible, it will be sent to the solver. This can give significant reductions in solve time when solving tough integer problems.

The other big change in this release is our first partial support for Excel 2016 for Mac. This version should work if your version of Excel is at least 15.28. Unfortunately, the VBA support on this version of Excel is very limited, and so it has been very difficult to get OpenSolver working. We do not yet have the full range of functionality running, but we do have some core features working for those that need to use Excel 2016 for Mac or want to help with testing. Right now, the features that we know are working are model creation and manipulation, and solving using the linear solvers (CBC and Gurobi).

There are some major changes in the way Excel 2016 for Mac works that have made our life difficult. The most important of these is that Excel is now sandboxed for security reasons, which makes it harder for us to run the optimization solvers. Currently, the only workaround we have come up with requires you to run an installer after you download OpenSolver that installs the solvers we use on your system so that they can be used by Excel. Unfortunately this means that you will need administrative privileges on your computer to set up OpenSolver if you want to use Excel 2016 on Mac. Please see the installation page for more information about this.

It seems that Excel 2016 for Mac is significantly slower than any other Excel release, which leads to much slower OpenSolver solve times. We can only hope that Microsoft improve its speed in future releases.

We appreciate any feedback you might have on the release, especially in regards to Excel 2016 for Mac. 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.

OpenSolver 2.8.2 Pre-release

We have just uploaded OpenSolver 2.8.2, available on our SourceForge site here.

This is a second attempt to work around the “Automation Error” bug that some users are seeing on some versions of Excel. (This appears to be caused by a VBA bug that is corrupting the cached code. We have now “cleaned” the code)

As always, please send us any feedback and let us know if you have any problems.

OpenSolver 2.8.1 Pre-release

We have just uploaded OpenSolver 2.8.1, available here.

This fixes two bugs with the 2.8.0 release. Some users may have encountered an “Automation Error” depending on their version of Excel, which we have now fixed. Additionally we have fixed an error that occurred when cancelling the “Set QuickSolve Parameters” dialog.

As always, please send us any feedback and let us know if you have any problems.

OpenSolver 2.8.0 Pre-release

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).

You can download OpenSolver 2.8.0 Prerelease here.

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.

OpenSolver 2.7.1 (28 June 2015)

We have just released OpenSolver 2.7.1 which fixes a number of bugs in the 2.7.0 release. Please upgrade to this version if you are using 2.7.0 (or enable the update checker in OpenSolver to get automatically notified of these changes!).

Note: Unlike earlier versions of OpenSolver, we now correctly pass to the solvers (including CBC) the “Maximum number of iterations” value in the Options dialog. Be sure to set this (and the time limit) to a large value if want to find optimal solutions.

OpenSolver 2.6.1 (15 Feb 2015)

We are pleased to announce the release of OpenSolver 2.6.1. This release contains numerous bugfixes, as well as some new features:

  • Bonmin, Couenne and Gurobi support options set in OpenSolver (e.g. time limit, tolerance)
  • Gurobi now supports extra parameters just as CBC does (see http://opensolver.org/using-opensolver/#gurobi-params)
  • Support for more formulae in the non-linear solvers. SUMIF is now supported.
  • We have updated the COIN-OR solvers included with OpenSolver to CBC 2.9.0, Bonmin 1.8.0 and Couenne 0.5.1
  • The issues with OS X Yosemite have hopefully been resolved

Please let us know how you find it. In particular we are always interested in feedback on the OS X version, which should be a lot more robust now.

OpenSolver 2.6 (8 Oct 2014) with Mac OSX support

We are happy to announce that OpenSolver 2.6 has been released.

This is a major release that supports Office 2011 for Mac OSX for the first time! Nearly all of the features of the Windows version are working on Mac, the only notable exception is the non-linear NOMAD solver, which is not supported on the Mac version at this stage. However, all of the other non-linear solvers are available as normal.

This brings us to the other main addition in this release which is the ability to use the COIN-OR non-linear solvers locally. The Bonmin and Couenne solvers were previously only available on NEOS as cloud-based solvers, but they can now be used on your machine locally (both Windows and Mac), which should offer more convenience. This feature is very experimental, as these solvers rely on us converting the Excel model into another model format and we currently only support doing this for a subset of the functions in Excel (most common functions are working). These solvers will fail if your spreadsheet uses functions OpenSolver cannot interpretIf you get a message about an unsupported function, please let us know so we can look at adding it in. These solvers are included in the ‘Advanced’ release, more on that next.

The last main difference in this release is the release format. Instead of offering a single download, we are offering separate downloads for Windows and Mac. This is so Windows users don’t have to download the solvers for Mac, and vice-versa. We are also introducing ‘Linear’ and ‘Advanced’ downloads. The Linear download only contains the linear CBC solver, whereas the experimental Advanced download comes with the non-linear solvers Bonmin, Couenne, and NOMAD. Both releases can use the NEOS solvers, and can use Gurobi if installed on the machine. If you aren’t sure, the default download is the Linear version for your computer (either Windows or Mac as appropriate).

Other changes include:

  • NEOS solvers now write AMPL files to disk before sending the model to NEOS. These can be used to run the model locally using AMPL if you have it installed
  • Resolve bugs introduced by system-locale settings
  • Upgrade NOMAD to v3.6.2
  • Bugfixes for non-linear NOMAD solver
  • Bugfixes for NEOS solvers
  • Various other bugfixes

You can see the releases here. There are a lot of changes in this release, especially since it is the first Mac release, and we are looking for any feedback you have, as well as any problems you might run into while using it.

OpenSolver 2.5.3 alpha (2 Jul 2014)

In this release we are adding support for the NOMAD non-linear solver in 64-bit Office. Differences between the 32 and 64-bit versions of Office previously caused NOMAD to crash in 64-bit Office, but these issues have been identified and resolved now.

For anyone that might run into a similar problem in the future, the problem was our use of Application.Run to access the NOMAD DLL:

Application.Run("NomadMain", SolveRelaxation)

When Application.Run was used like this on 64-bit Office, any C API calls from the DLL back into Excel would fail. Instead, the function must be called directly and everything then works fine:

NomadMain(SolveRelaxation)

You can get it here. Let us know how NOMAD goes in 64-bit Office, and we welcome any other feedback too!

OpenSolver 2.5.1 alpha (25 Jun 2014)

Today we are releasing OpenSolver 2.5.1 alpha, which builds on the 2.5 alpha release from last week.

The main addition in this release is the option to use the non-linear solvers Couenne and Bonmin through the cloud-based NEOS servers.

We have also included a 64-bit version of CBC that is used automatically on 64-bit systems.

There are also stability fixes for the non-linear NOMAD solver that was included in the 2.5 release, and other bug fixes.

You can download it here. Like 2.5, this is an experimental alpha release, and we are looking for feedback on the new features, as well as any problems you might run into while using them.

OpenSolver 2.5 alpha (20 Jun 2014)

We have just released OpenSolver 2.5 alpha, which has a number of fixes and improvements. It also has some new experimental features.

You now have the ability to select from number of different solvers:

  • CBC (included and upgraded to version 2.8.8 in this release)
  • Gurobi LP/IP solver (if this is installed on your machine)
  • NOMAD non-linear solver (included, supported in 32-bit Office only for now)
  • Solvers on the cloud-based NEOS servers – CBC (linear) is supported now, and we hope to offer Couenne and Bonmin (both non-linear) in a future release.

This release also adds reporting of dual variables and sensitivity analysis, and as well as many small bug fixes and feature enhancements. Many thanks to students Matt, Kris, and Jack for their work on these enhancements.

You can download it here. All feedback is welcome, particularly regarding the new experimental features.

 

OpenSolver 2.1 (6 Sept 2012)

OpenSolver 2.1 is now released, and has a number of fixes and improvements. These include a newer version of the optimiser CBC, a bug fix for handling multiple cell blocks as decision cells on non-English systems, more robust non-linearity checking, and the ability to turn off this non-linearity checking if you know your model is linear. We now also display ≥ instead of > in our on-sheet constraints. All feedback is welcome.