Tools for teaching Optimization in Business School

Using Operations Research (OR) in the classroom is important to me. I do not teach optimization theory classes, but mostly supply chain, operations management and production planning & control. My students do not learn optimization basics in my class. However, at the beginning of the course, their optimization experience is often limited to a small number of models with a few variables and constraints each. As I feel that students also need to work on some applications to learn how optimization can be done in practice, I try to present a few more complex and challenging models when I get the chance to.

Facility location, lot-sizing, production planning problems offer a lot of opportunities for building and working with medium-sized optimization models. These models are too large to be written manually, so the tool selection problem suddently becomes important. Here are the tools I use and why. A lot of business school students are not proficient with computer programming, even scripting. That rules out a lot of tools that one could use in an engineering or math class.

Microsoft Excel

In business schools, at least in those that I attended or visited, Microsoft Excel is everywhere. It’s a simple and effective tool for working with (relatively) small amounts of data. Students know the software, so you don’t waste any of your precious class time teaching the basics. You can do a lot of things with the built-in functions (basic statistics, computation and graphs). Plus, its file formats are readable by most of the open-source spreadsheet applications.

Excel has one flaw, however, and it’s huge: its built-in solver. Although it features a very nice modeling/optimization interface, the solver itself is far from powerful. Even worse, the solver (at least, the versions shipped with Excel 2003 and 2007) often reported incorrect optimal solutions on mixed-integer linear programming models. Running the exact same model from the same file on different computers yielded completely different solutions (with very different objective function values). If you use Excel in the classroom, you have to use another tool for optimization and warn the students about Excel’s limitations.


Developed by Andrew Mason and his team from the University of Auckland, OpenSolver is an Excel VBA add-in that replaces Excel’s built-in solver with the Coin-OR Branch-and-cut (CBC) solver. It features a modeling interface that is very similar to Excel’s solver interface. It is both robust and easy to use, and it’s free! No wonder this tool won the 2011 COIN-OR Cup!

You can download and install OpenSolver here.


Since CPLEX is now usable free of charge for academics and graduate students through the IBM Academic Initiative, why not using it in the classroom for demonstration? It’s not as straightforward to use as OpenSolver, but you get the opportunity to learn using one of the best solvers available. It can be used in a lot of different ways, from manually writing LP files – which I do not recommend – to using OPL Development Studio or through one of its many APIs. It can also be accessed through most of the best modeling languages such as GAMS, AMPL and AIMMS.

Although IBM announced – much to my regret – that its Excel interface will not be maintained, it is still working for the moment (as CPLEX version 12.5). It’s quite a pain to download the software through the IBM website, and it’s a bit tricky to link to Excel, but the benefits are just the same as using OpenSolver: I can get my students to compute data and perform modeling /optimization in the same application.

Other Tools

There are quite a few tools that I like but don’t use in the classroom. I might blog about them someday. Some that you might want to check are:

  • Andew Mason’s SolverStudio
  • Lindo/Lingo, which was used by my business school until recently.

Speak Your Mind