Hi everyone,
Today we are releasing OpenSolver 2.9.0 which adds the SolveEngine from Satalia as a solver. For more information on the SolveEngine, you can check out this post.
As always, we welcome any feedback!
The Open Source Optimization Solver for Excel
Hi everyone,
Today we are releasing OpenSolver 2.9.0 which adds the SolveEngine from Satalia as a solver. For more information on the SolveEngine, you can check out this post.
As always, we welcome any feedback!
Today we are releasing an update to OpenSolver for Google Sheets that includes a new solver: the SolveEngine from Satalia
The update will roll out over the next day or so, and you will then be able to access the SolveEngine in the list of available solvers. The first time you use the solver, you will be prompted to enter your SolveEngine API key, which you can obtain by creating an account using the link in the prompt. This is the beta version of the SolveEngine, which will be free during the beta period. After the beta has ended, users will receive 1 hour of free solving time per month. There will be no queuing during the beta, and after the beta there will be a short queuing time for free users.
The SolveEngine is a cloud-based system, similar to NEOS except with more powerful solvers and much shorter queue times. We hope that it will prove a useful and powerful alternative to the other solvers we offer, and have plans to also offer it in OpenSolver for Excel in the coming future.
The SolveEngine boasts many features that make it a powerful tool for solving a variety of optimisation problems, notably:
Users of the SolveEngine benefit from :
Optimisation problems exist across the entire spectrum of business, science and engineering. The SolveEngine has already been used to solve many hard computational problems in graph theory, logistics, system verification, BigData and cryptography.
Satalia is a spin-out from the UCL Department of Computer Science. Satalia’s team of academics and artificial intelligence experts harness a library of algorithms, hosted in the SolveEngine, to help companies and organisations solve the world’s most difficult problems. In 2016 Satalia was recognised in the elite Gartner Cool Vendors in Data Science list, the only UK company chosen.
Satalia’s commitment to continued innovation in algorithm development underpins the SolveEngine model through which academics and commercial solver developers can deploy their solvers to the SolveEngine to address the current and emerging requirements of industry and research communities. Providing access to state-of-the-art optimisation algorithms, Satalia enables the industry to analyse problems inputs more efficiently and thus to solve their problems more rapidly.
We have released OpenSolver version 2.8.6 which fixes various bugs:
You can get the new version here.
As always, please let us know about any issues you might have, or features you would like to see in future releases!
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!
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.
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.
Today we are releasing OpenSolver for Google Sheets 2.2.1, which is a very minor update with changes to improve our support for larger models.
Any script running in Google Apps Script has a strict 6-minute time limit while running, and is immediately cut off with no feedback if this limit is reached. It can often take longer than this to build the OpenSolver models if they are large, so we save the model-building progress as we go. If the build is stopped early, we can simply resume the solve from where we last saved the progress. Previously, this would occur the next time the “Solve” button was clicked. With this update, the solve is now automatically resumed if it is cut off, meaning that there is no need to click the “Solve” button repeatedly to build larger models piece-by-piece.
The other important change in this release is a new mechanism for saving the progress as we build the model. Previously we used the Google Apps Script CacheService to store the updates, but this limits the saved data to 100 KB which is too small for larger models. This update changes our behaviour to instead save the progress to a new hidden sheet in the workbook, allowing us to save much larger models.
Other minor changes include:
If you already use OpenSolver for Google Sheets, the update will roll out automatically. If you are not yet a user, you can add it to Google Sheets using the link below:
As always, we welcome any feedback or ideas. We are coming up on a big milestone of 10,000 weekly active users for the Google Sheets addon, and are very happy to see that it is proving useful! If you find it useful, we would appreciate if you could rate us in the Chrome Webstore and/or leave a review for others.
Today we are releasing OpenSolver for Google Sheets 2.2.0, which is a minor update with the following changes:
If you already use OpenSolver for Google Sheets, the update will roll out automatically. If you are not yet a user, you can add it to Google Sheets using the link below:
As always, we welcome any feedback or ideas.
Today we are releasing version 2.1.0 of OpenSolver for Google Sheets! This is a minor update that brings the following changes:
There is more information about the Google Sheets addon here on the dedicated page.
If you already use the addon, the update will automatically roll out. If you haven’t used it before, you can try it out here:
Update on Google’s Linear Solver
Google’s LinearOptimizationService has been fixed as of earlier today, so the Google Linear Solver should be working again. We are happy to now offer two additional solvers in case this happens again. It took over two weeks for Google to fix this bug, which is very frustrating for all of us, and hopefully is a problem we will be able to avoid in future!
Feedback and Issues
OpenSolver for Google Sheets is younger and less mature than the Excel version, so does not yet have the full range of features as in the Excel version. There are also a lot of possibilities that are created by the online aspect of Google Sheets (such as sharing sheets and multiple users on a sheet at once). This means there are many new features to consider and add to the addon as it evolves over time.
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!
We are always interested to hear how you are using OpenSolver, and in particular if you find the Google Sheets version useful (because we can”t count downloads, we have much less user information on the number of Google Sheets users). This allows us to balance the time we spend developing the Excel and Google Sheets versions according to user demand.
If you like the Google Sheets addon, please consider rating us in the store and/or leaving us a review, which will help other users find out about OpenSolver!
We are very excited to announce the release of OpenSolver for Google Sheets 2.0! This is a major update that brings many improvements to the Google Sheets addon:
There is more information about the Google Sheets addon here on the dedicated page.
If you already use the addon, the update will automatically roll out. If you haven’t used it before, you can try it out here:
Update on Google’s Linear Solver
Last week, Google made breaking changes to their LinearOptimizationService inside Google Sheets, which means that it currently is not functional at all, and so we can’t use it in OpenSolver to solve optimisation problems. We reported the issue to Google immediately, but it has not been fixed at the time of writing this post. In the meantime, you should use the Cbc solver via the NEOS server.
If you would like to see Google fix their solver faster, you can click the star on the issue page linked before. The more stars the issue gets, the faster they will fix the problem.
Migrating models from previous versions of OpenSolver
Due to supporting one model per sheet, we have had to make changes to how we store the OpenSolver models, and so your current models are not automatically loaded into the new version. To load in your old model, you can either redefine it manually, or use the “Import previous model” item in the menu. This will load in your previous model as the model for the currently selected sheet.
Please get in touch if you have problems with this feature, we want to make the transition as smooth as possible for everyone. You should also use the “Show previous model data” menu item to open a box with the model information for your sheet. Please include this when you get in touch so that we can diagnose the problem.
Feedback and Issues
OpenSolver for Google Sheets is younger and less mature than the Excel version, so does not yet have the full range of features as in the Excel version. There are also a lot of possibilities that are created by the online aspect of Google Sheets (such as sharing sheets and multiple users on a sheet at once). This means there are many new features to consider and add to the addon as it evolves over time.
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!
We are always interested to hear how you are using OpenSolver, and in particular if you find the Google Sheets version useful (because we don’t control the downloads, we have much less user information on the number of Google Sheets users). This allows us to balance the time we spend developing the Excel and Google Sheets versions according to user demand.
If you like the Google Sheets addon, please consider rating us in the store and/or leaving us a review, which will help other users find out about OpenSolver!
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.
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.
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.
Today we are happy to announce the release of OpenSolver 2.7.0, available for download here. The release fixes a large number of bugs and also introduces some great new features:
We have also updated the included solvers to the following versions:
As always, please let us know how you find the new version, and we appreciate any feedback you can offer.
This small bugfix release fixes an issue with OpenSolver on 32-bit Windows, where the solver executables could not be found.
You can download it from Sourceforge here.