SolverStudio

SolverStudio 0.6.0 (2014.04.07) has been released, with numerous bug fixes and improvements. This experimental beta includes Excel 2013 compatibility, fixes for NEOS changes, latest CBC and IPOPT solvers, much easier CPython support for scripting Excel, and a new Scintilla editor with syntax highlighting. This new editor needs the full .Net Framework 4.0, (and not the .NET Framework 4 Client Profileas was used previously) which will be installed if required. (This may require administrator privileges.)

SolverStudio 0.5.4 (2013.06.25) has been released, with numerous bug fixes and improvements. This also includes an experimental all-user installation setup. Many thanks to Ted Ralphs for using SolverStudio in his classes and giving me extensive feedback that has improved this release.

Major New SolverStudio Release   SolverStudio 0.5 has been released for beta testing. This is a major new release which adds support for the COOPR/Pyomo modelling environment, the Python simulation tool SimPy, solving of both AMPL and now GAMS models (thanks, GAMS, for providing the GDX DLL”s) using the cloud optimisation service NEOS, and better support for Gurobi (including the ability to use Gurobi models without installing Python and a new license manaager — thanks, Gurobi, for help with this). There are also numerous small improvements, as documented in this post. All feedback is welcomed.

Welcome to SolverStudio

SolverStudio is an add-in for Excel 2007 and 2010 on Windows that allows you to build and solve optimisation models in Excel using either of the following optimisation modelling languages:

  1. PuLP, an open-source Python-based COIN-OR modelling language developed by Stu Mitchell. PuLP is included with SolverStudio.
  2. COOPR/Pyomo, an open source COIN-OR modelling language for Python which extends Pulp with abstract models, support for stochastic programming, and a larger range of solvers.
  3. AMPL, a commercial modelling language. OpenSolver either requires AMPL to be installed by the user, or can install a free trial version of AMPL that allows up to 300 variables and 300 constraints. We have a tutorial on using AMPL with SolverStudio.
    We also support running AMPL models in the cloud using the excellent NEOS server; see AMPL on NEOS.
  4. GMPL (GNU MathProg Language), an open source AMPL look-alike developed as part of GLPK (GNU Linear Programming Kit). GMPL is included with SolverStudio.
  5. GAMS, a commercial modelling language. SolverStudio requires GAMS to be installed by the user. GAMS provide a free trial version. Support for solving GAMS models using the NEOS server is working in our new beta version.
  6. Gurobi, a commercial solver which can be accessed from SolverStudio using the Gurobi Python modelling interface. This requires the Gurobi solver be installed. SolverStudio provides a license manager to help manage Gurobi licenses.
  7. SimPy, an open source Python simulation language, which is now included with the SolverStudio download.
  8. Any other Python software that runs under either IronPython or standard Python, both of which are included in SolverStudio.
  9. We hope to add Zimpl in the near future, and allow GMPL to be used with CBC.

SolverStudio allows you to create and edit your optimisation model without leaving Excel, and to save your model inside your workbook. You can also easily link data on your spreadsheet to sets, parameters, constants and variables used in the model. SolverStudio can run the model to solve the problem and then put the answer back onto the spreadsheet.

This article in INFORMS Transactions on Education provides a basic introduction to SolverStudio:

Mason AJ (2013) SolverStudio: A new tool for better optimisation and simulation modelling in Excel. INFORMS Trans. Ed. 14(1):45–52.

SolverStudio showing an AMPL model and associated data

SolverStudio is written in VBA, and C# using Visual Studio 2010 Professional. It uses the Microsoft VSTO (Visual Studio Tools for Office) system running on .Net 4 to manage the integration with Excel. It includes IronPython as its embedded Python engine.

You might also be interested in our OpenSolver add-in which can solve larger versions of models developed using Excel’s built-in Solver.

This research effort has been partially supported by the European Union Seventh Framework Programme (FP7-PEOPLE-2009-IRSES) under grant agreement n° 246647 and by the New Zealand Government as part of the OptALI project.

SolverStudio has no affiliation with, nor is recommend by, Microsoft, Frontline Systems, AMPL, Gurobi or GAMS. All trademark terms are the property of their respective owners.

2 comments to SolverStudio

  • very cool. also check out PTVS [Python Tools for Visual Studio], esp PTVS 1.1′s Pyvot which might be useful in combination w opensolver studio.

    • amas008

      Pyvot looks like a nice tool for getting easy access to Excel sheets from Python. It works with CPython (not Iron Python), and so will work using the CPython support that will appear in the next OpenSolver Studio release. Thanks for pointing this out. Andrew