16
$\begingroup$

Apart from:

  • modeling, "coding" the model and using an open source/commercial solver

  • Implementing an approximation method (metaheuristics, greedy, etc.)

  • Implementing exact methods (dynamic programming, specific algorithms like network flows, etc)

What are the technical skills that one needs in OR, especially in industry? What about hybridization and decomposition? Any other "advanced" skills?

PS: feel free to suggest references to learn about the skills you mention.

$\endgroup$
17
$\begingroup$

Your examples of "technical skills" are centered on optimization. An understanding of at least some aspects of probability models (especially Markov chains and queues) may be important, depending on the work you do. So might a better-than-minimal understanding of statistical modeling and analysis. Again depending on your work, you might need to be able to write, validate/verify and analyze the output of simulation models.

Mark L. Stone mentioned soft skills in a comment, and I endorse that. There's also what some people refer to (a bit loosely) as "systems thinking", which to my mind means being able to look beyond the immediate problem to recognize how the problem and any potential solution fit in the larger scheme of things. For instance, you might be tasked with reducing turn-around times for commercial aircraft. Getting a major reduction in turn-arounds might increase utilization ... but then how does that affect maintenance schedules?

There's also the ability to listen to someone venting and figure out what the actual problem is and what its principal components would be. In an optimization context, that would be recognizing what decisions need to be made (variables), what the criteria are for a "good" solution (objective or objectives) and what the restrictions are on those decisions (constraints). I don't know if you consider that a technical skill or not, but it's definitely somewhere in the skill -- art form spectrum.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Do you think that, for an OR expert, having direct communication with the clients is more efficient than having an intermediate non-OR communicator who communicates with both the clients and the OR team? $\endgroup$ – Amira Zarglayoun May 19 at 21:05
  • $\begingroup$ In general, yes. Any time you have a "translator" in between analyst and client, you create additional opportunities for noise (miscommunication) to enter the system. An exception is when the problem is in a domain area for which the OR expert lacks a basic understanding and vocabulary. If the clients have trouble communicating requirements clearly, a intermediary who knows something of OR (or at least math) and also understands something of the domain area might be useful. $\endgroup$ – prubin May 20 at 15:41
13
$\begingroup$
  • I think domain knowledge is essential if you want to be a good OR practitioner. If you don't know how a supply chain works, designing an optimization model for planning and coordinating a complex supply chain could be difficult and time-consuming. The same goes for healthcare, energy, finance, manufacturing, and other industries. Also, domain knowledge could help with problem identification and definition a lot.
  • An often neglected issue about optimization in textbooks and discussions is data input (i.e., parameters used in the models). Even if you were proficient with programming and optimization techniques, you would be working on data gathering and preparation most of the time. Here, the ability to work with a database is essential. Also, cleaning, summarizing, and forecasting techniques are of great importance. For these tasks, a wide variety of statistical and data science tools such as regression, time series, data mining, etc. could be useful. Personally, I believe an excellent operations researcher should be very good at probability and statistics.
  • Another vital skill is the visualization of the system and the possible solutions. For this matter, simulation (especially 2D and 3D simulation) is beneficial.
  • If you intend to engage in software development, having a good command of programming languages, data structures, and algorithms is necessary.
  • Finally, technical writing and reporting, as well as presentation, are critical soft skills. If you could not convey your ideas and results well enough, even the best algorithms in the world would not have any customer. While OR is a technical and math-based field, your customers and even your boss are sometimes not very good with it. Therefore, it is important to talk about OR as simple as possible.
| improve this answer | |
$\endgroup$
6
$\begingroup$

As you said "especially in industry" and if you have a background in IE/MS/Math and to confirm @prubin and @Ehsan, you should know:

Each industry has specific factories/organizations which have different departments. (E.g. in the factory: production, quality, planning and ..., in the organization R&D, sale and, ...). Depends on which industry and department you would work on, you need to know some specific knowledge about that. Some of them are described in the following.

  • If you are going to work in the production/planning area, I strongly recommended, you should know simulation, optimization, operation management, inventory control, supply chain management, warehouse management and some special designing software such as CAD families.
  • If you are going to work in the quality area, you need to know quality management, probability, statistical tools and simulation.
  • if you are going to work in the R&D area, you need to know project management, programming knowledge, optimization and some special designing software such as CAD families.
  • if you are interested to work in the sale/supply area, you would need to know statistical and data science tools (such as regression, time series and data mining), supply chain management, inventory optimization, market analysis and so on.
  • As Ehsan said, If you intend to engage in software development, having a good command of programming languages, data structures, and algorithms is necessary.

In some cases, the above fields may overlap together. Besides all the above mentioned, it should be noted that having skill in popular software such as Excell, databases and reporting issues is essential.

Finally, do not forget, people in the industry work in teams and you might not need to know everything.

| improve this answer | |
$\endgroup$
4
$\begingroup$

Being able to elicit a "necessary and sufficient" statement of the "Problem". Being able to structure the "Problem" so as to know whether the proposed Problem Solution is good fit for OR-based approaches. Being able to effectively communicate the benefits, costs and, very importantly, the risks of your recommended approach.

The middle one of being able to understand the problem sufficiently well that you can structure it in terms of an OR approach requires that you understand how to apply OR techniques at a profound level is THE most important technical skill.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.