In my job I sometimes take on a student from an operations research course who is in her or his final year, to work on a master thesis. The objective of such an assignment is to get the experience of bringing OR knowledge into practice, either by working on a project within our company or getting out in the field, working for one of our customers. I prefer the students to get out in the field, as it is the most interesting for them as well as it is for me. Many times it is the first time that the students are confronted with real world challenges, giving the student a rude awakening. They discover that the real world cases that are used to train them in class are not that “real world” as they were told they are. Also, in the field they learn a very important (maybe even the most important) lesson that practicing OR is not about getting a complex mathematical model drawn up and solving it, unless they prefer a career at university.
When I was at university, seems ages ago, the primary focus of the courses was to teach us the basic techniques. We were taught fundamentals like algebra, statistics, modeling, linear programming, integer programming, simulation, Markov decision theory and queuing theory, just to name some. A few courses were on applying these techniques. During 2 to 3 semesters we were supplied with a couple of “real world” cases that we had to solve. It was fun, but far away from the world I am now working in as an operations research professional. I learned more about OR in practice in the first mounts at ORTEC than all the years at university. There was a lot of focus on the “Research”, but what about the “Operational”?
Solving the right problem and data availability were two things, among others, I never had to worry about in class, but it was my first lesson of OR in practice. How to make sure that you get data and use the correct model? The solution is not to think about data in the first place, not even think of a model. The first thing to do is to get a better understanding of what the problem is about that you are asked to solve. And no better way of understanding the problem then to go out there and see what the problem is about. See why it is a problem, how it is caused and learn what the acceptable directions to solve it are. Talking to the people that have to deal with the problem every day is the best way of learning about it. It helps you identifying what the problem really is. The management may have told you that the utilization of a machine is very low and the scheduling of jobs on the machine needs to be improved. It might be tempting to model that, but the real problem maybe in the scheduling of personnel that operates the machine. You don’t want to be the consultant that brings the correct answer to the wrong question. You will be out of business soon.
When you have identified the real problem then data gathering can start. Because you now have a good understanding of the problem, you can precisely define what data is needed taking into account the data that is available. This way nobody at the IT department gets frustrated from all of your questions. After checking the data and quantifying the problem you can start solving it. Sometimes you already have finished, because your analysis directed the management to the real problem, not the perceived one. Next step is build and solve the model. My experience is that the best result for a real world problem is not the optimal one; it is the one that provides the company with the best possible result, simplifying every day work and saving lots of money quickly. Many times a company cannot effort to wait for the optimal solution, they need results and they need it now. And that is what OR in practice is about, getting the best possible results now!
To my opinion this is an experience students taking a course in operations research should also have at university. They therefore should be working on real world challenges, supplied by real companies, with the involvement of the management of that company. They should visit the company and work there so they get to learn how to identify the real problem and acceptable directions to solve it. No nice and easy approach, in which the professor thinks up a case based on a text book example, with all the data ready on a plate.