Andrew Mason, who I got to know very well during my year in Auckland, has put together an open source Excel add-in that extends Excel’s built-in Solver (a product from Frontline Systems) and replaces the underlying optimization engine with the optimization code CBC from COIN-OR. OpenSolver allows the solving of models without limits to the number of variables or constraints. Andrew has also provided some enhancements including a model visualizer and the capability for fast reoptimization.
OpenSolver works with linear and (mixed-)integer programming models, but not with nonlinear models. So keep those @IF and @POWER functions away from it!
This add-in a great illustration of both the strengths and weaknesses of open source. On the plus side, all the work that people put into CBC can now find a much wider audience through the efforts of someone else. No coordination was needed: people like Andrew are able to use their own creativity and drive to put together something useful.
However, it is important to note that there are different open source licenses, and that Andrew has licensed this under GPL, while most of COIN-OR is licensed under CPL/EPL. For most, this licensing difference is not of importance, but any work that is derivative of Andrew’s work can only be distributed under GPL. Trying to figure out what is a derivative work is beyond me, but is important to those who would like to further develop systems based on Andrew’s work. I note this fully respecting Andrew’s right to pick whatever license works best for him!
For me, this will be great to point to in class: MBA student’s love Solver, but get frustrated with size limits. I can now point to an easy to use add-in that removes those limits without requiring any changes in models.