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.

Announcing OpenSolver for Google Sheets!

We are excited to announce that OpenSolver has made it to Google Sheets, letting you solve your optimisation problems with OpenSolver from anywhere!

logo-440

With the OpenSolver Add-on you can solve both linear and mixed-integer programs from within Google Sheets with no additional setup required. We use the excellent, open source solvers Glop (for LP) and SCIP (for MIP) to solve the problems.

You can install the OpenSolver Add-on by clicking on the Chrome Web Store link below and then clicking on the “Free” button. You can also find us by searching for “OpenSolver” in the Google Sheets Add-on store. Once the Add-on is installed, you can find OpenSolver in the “Add-ons” menu inside the spreadsheet.

This is our first release of this Add-on, so please let us know how you find it! You can either leave messages here, or leave feedback on the Chrome Web Store by following the link above. If you use the Add-on and like it, please consider leaving us a review in the store so that we can move up the rankings inside the store.

There are some currently some limitations, mainly that the model can only be contained on a single sheet. This is something we intend to fix very soon.

If you have any feature requests or experience any problems while using it, please let us know either here or by using the “Report an Issue” button inside Google Sheets (you can find this in “Add-ons > OpenSolver > Help”). If you use “Report an Issue”, please make sure that you include your contact details, otherwise there is no way for us to follow up!

Give it a try and let us know how you find it!

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 integration with NEOS servers

The recent alpha releases have featured solvers that interface with the cloud-based NEOS servers to solve the model. NEOS is a free service for solving optimisation problems and can run a large range of solvers. By interacting with NEOS, we gain access to these solvers from anywhere without needing to install them on the computer running OpenSolver.

In order to interact with NEOS, we create an AMPL file that describes the entire model and send this to NEOS for solving. Once NEOS solves the model, it sends back the optimal values, and these are loaded into Excel by OpenSolver.

OpenSolver already fully supports linear programs, and so when a linear solver on NEOS is requested, we can use the existing OpenSolver linear model algorithm to create the AMPL file we need. This algorithm exploits the fact that the model has linear equations, and determines the coefficients by the equations by modifying each decision variable in turn and observing the resulting change (a process that requires many spreadsheet recalculations, and so can be slow). This approach does not work for non-linear models.

Instead, what we do for non-linear models is parse the formulae on the spreadsheet to construct an AMPL model that contains all of the non-linear constraints and/or objectives that we need. We need to convert all of the non-linear Excel formulae into forms that AMPL can understand, allowing us to send the problem to NEOS.

To handle a variety of non-linear models in this way, we need to be able to convert individual Excel functions into valid AMPL code. This is currently handled for some common functions, but others like IF(), MIN() and MAX() have not been implemented yet.

Please try out the NEOS integration for both linear (CBC) and non-linear (Couenne and Bonmin) solvers and let us know how it goes. We welcome any feedback, especially about errors, that will help us improve the translation of complex OpenSolver models into AMPL files.

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.