The recommendation game [primal]

People who teach or supervise students have a tremendous influence on what solvers get adopted by the operations research / industrial engineering community. Once they finish their studies, many students will continue to use the tools they have learned in school, for many reasons. First, it is simply the most efficient strategy to adopt. Also, many former students might not like to adopt a self-learning discipline, and finally the environment in which they will work might not favour learning new tools, either because there is simply too many urgent things to do or because their superiors don’t approve the use of working hours to self-train in new technologies.

In our rapidly changing technological environment, it is my strong belief that developing self-learning capabilities is a sound approach to maintain and enhance one’s employability. However, forcing students to learn how to use tools on their own does not seem to be a good strategy. It creates some frustration in the least technology-savvy students, creating a belief that using OR tools is difficult and unpleasant. This is exactly the opposite of what we wish to accomplish.  Over the last two years, I found that creating a class environment that favours rather than forces self-learning and using multiple tools is much more effective. I also put much more effort so students have a good understanding of the technique, then learn using some tools to implement the technique.

The world has changed

What pleases me very much is that the situation is totally different than when I was an undergrad. At the time, we had to pay educational licences for every tool we wanted to learn: SPSS, Arena,  Lindo or even CPLEX. Moreover, these solvers often came with severe limitations on problem size or functionalities such as data input/output from a database. Moreover, in order to reduce the cost to students, professors would coordinate in order to use the same solver – in my case it was Lindo – and also to make sure their exercices would fit in the limitations imposed by academic licenses. As I paid a couple hundred dollars for learning a specific statistical software, my first thought was not on buying another 6-month academic licence to self-learn SAS. To be fair, I’m not sure I was aware of the benefits of learning multiple technologies at that time; I was simply curious to learn about news tools and techniques.

Nowadays, while you might not find an ArcGIS licence around the corner, free academic licences have made teaching multiple technologies much easier. There is also a large number of open-source tools which students can use. The pressure from free tools have also pushed the (inflation-adjusted) cost of many licences down, for those who still charge. I believe the students greatly benefit from this environment. A research center can pay 5000$ to buy the software it needs to do research; most undergrads can’t. At the end of the bachelor’s degree, an industrial engineer from my university will have been exposed to at least the following OR software: CPLEX, AMPL, Lindo, Matlab, CBC, Baron, a couple algorithms for network optimization and at least two programming languages, more probably three or four.

Software vendors make presentations and offer tutorials, webinar, comprehensive and detailed examples for free so that more students can learn how to use their tools. While I understand that this change has lots to do with business models and strategy, I think this change is great, both for students and for the field of analytics and operations research in particular.

In the associated dual post, I will cover which criteria I use to determine the tools I cover in my classes.

SPOILER: I don’t use a multicriteria method to determine which multicriteria method to teach 🙂


  1. […] more efficient. In this post, I explain the reasons behind the choice of tools I use in class. The associated primal post is about the change in availability of tools over the last few […]

Speak Your Mind


This site uses Akismet to reduce spam. Learn how your comment data is processed.