250k milestone

Today the download odometer rolled past another milestone:

Thanks to all our users and our development team (and most recently Jack Dunn) for supporting OpenSolver for the last 6 years. None of this would have been possible without the solvers from COIN-OR; thanks to John Forrest and Ted Ralphs for the many years of CBC development, without which the OpenSolver project would never have started.


Fantasy Football – from OpenSolver to Cloud optimiser

This blog by Derek Nelson shows how he built an OpenSolver model for fantasy football that worked well for him. “My optimizer was created using Excel with the Open Solver add-in. This worked for me and the results were good. Namely, I had the highest projected points for my teams at the start of the season in both leagues I played in (the best you can hope for in the draft, in my opinion), and I ended the season by winning one league and placing second in the other.”

Derek has now gone on to create a cloud-based version of this. This work is an interesting optimisation-based project.

Cool OpenSolver Applications

I recently received a nice email from Andrew Trapp, Assistant Professor, School of Business, Worcester Polytechnic Institute. Andrew has been using OpenSolver and SolverStudio in his student projects. He writes:

I’m writing to first of all thank you for the excellent software tools that you make, OpenSolver and SolverStudio, that I have been using and featuring for 4 years now in my optimization courses. They have also been used in a number of “senior design” projects that I have advised (specifically, OpenSolver in conjunction with VBA…)

Andrew’s OpenSolver projects look very interesting, and show how OpenSolver can be used in practical applications. The reports are available online, as follows:


Support for dynamic named ranges

One of the features that we have enjoyed in SolverStudio is support for dynamic ranges, i.e. named ranges that are created using formulae. OpenSolver 2.8 and later now supports this, and so you can use formulae to define ‘dynamic’ named ranges that are then used for the left hand side and right hand side of constraints, for the decision cells and for the objective. So for example, instead of having a constraint left hand side of A1:A4, you can defined a named range Constraint1LHS with a formula such as “=offset($A$1, 0, 0, COUNTA($A:$A),1)”. This range is dynamic in that it automatically expands as more values are entered into the A column. You can then set up a constraint in which you enter Constraint1LHS for the left hand side range. This means your model automatically works as the user changes the data on the sheet. For more information on dynamic range, see excel-easy.com or ozgrid.com. We hope you find this useful.

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.

INFORMS schedules conference volunteers using OpenSolver


“When we sat down to begin scheduling student volunteers for this year’s Annual Meeting, we recognized an opportunity to use OR methods to make the task more manageable. We realized that the problem consisted of scheduling 59 students across eight shifts (two shifts per day, four days), with each student required to work either one or two five-hour shifts (morning or afternoon). Since student volunteers are placed throughout the conference facilities, we decided to schedule students into the 74 “shift-location” combinations rather than simply assign a block of students into each shift.

A Doodle poll was set up to obtain student availability. Each student was asked to indicate five out of the eight shifts during which they were available. The availability data was translated into a cost matrix where the cost was zero if a student was available and a cost of 1,000,000 if a student was unavailable for a certain shift. The objective was to minimize the total cost of the assigned schedule, thereby creating a feasible schedule that did not assign any students to shift(s) for which they were unavailable.

The problem was set up and solved in MS Excel. The tool used was COIN-OR’s Open Solver add-in for MS Excel…”