21
$\begingroup$

I am a graduate student in OR and I want to build one or two independent projects that go beyond academic projects in my university. I would like to target average people and/or those in the industry who may or may not use an existing app/software.

The obstacle is I feel that everything is already done. Whenever I pick a problem I find at least one application developed by a certain company that solves it.

My question is: how to innovate in OR i.e (a) how to identify new problems for which there is no existing apps or (b) how to create competitive products that add values by solving a problem that is already solved ? Examples are welcome.

Edit : The problem is the difficulty to get demos to try to improve on existing apps which make (b) very difficult. Meanwhile, (a) needs a lot of creativity. So, any tricks ?

$\endgroup$
2
  • 2
    $\begingroup$ Add values for whom? Who are your target audiences? Students? Academia in general? Average people or those in the industry with little or no knowledge of OR but still with problems that can be modeled and solved using OR techniques? $\endgroup$
    – EhsanK
    Jul 30, 2019 at 20:19
  • 1
    $\begingroup$ @EhsanK no I am not targeting the academia world. It's rather about average people and/or those in industry where there is some potential to identify problems that can be solved using OR techniques. $\endgroup$
    – Antarctica
    Jul 30, 2019 at 20:28

8 Answers 8

23
$\begingroup$

Operations Research is still way underutilized in many industries. Even when there exist commercial tools you often find that few organizations have them, and out of the ones that have them, it might only be a few who really utilizes the full capabilities.

For an optimization tool to be successful it needs to:

  • Create significant value
  • Fit into the decision process
  • Be easy to understand and use

Each of these parameters is an opportunity to innovate!

Identifying a problem To do this successfully, I recommend identifying a concrete problem that an organization or person is facing where you will be able to develop a tool. If you try to solve a generic problem, such as high-school timetabling or route planning with time windows, you will have a hard time to prioritize what is important and what is not, to get someone to use your tool.

Questions to identify opportunities Here are some questions you can try to answer to get a sense around where you innovate:

  1. Can OR create value?
    • Can we decrease costs?
    • Can we increase profit?
    • Can we reduce risk?
    • Can we increase customer satisfaction?
    • Can we make the planning process simpler?
  2. Can it fit into their process flow?
    • Who makes this decision? Is it one or multiple persons?
    • What information is available when they solve this problem?
    • How often is this problem solved?
    • How fast should we be able to make the decisions?
    • How is the decision communicated out?
  3. Will the users be able to use it?
    • How tech-savvy are the users?
    • How much information does the user need to input? Can we automate it?
    • How can we visualize the result in a simple way?
    • How should the user share the result with the rest of the organization?
$\endgroup$
3
  • 1
    $\begingroup$ This is an excellent answer, and this is also the value proposition we at my workplace are focusing on. Maybe your customer don't have a standard TSP, but they will always have some problem where OR is applicable. If the OR practioneer can couple this problem with a good business/impact, then it is not hard to sell OR-based solutions to the industry. $\endgroup$ Aug 1, 2019 at 11:16
  • $\begingroup$ Could you make it more clear by giving examples "concrete problem" vs "generic problems" ? $\endgroup$
    – Antarctica
    Jan 18, 2020 at 18:39
  • 1
    $\begingroup$ @AmiraZarglayoun , i added an example. My point is that if you start building a tool to optimize route planning for delivery companies without any specific customer in mind, you will end up building a tool that only solve 90% of the problem and no one will buy it. If you can identify a first customer that you spend time with you will learn a lot about there current issues and what is important and be able to solve there problem 100%. $\endgroup$ Jan 19, 2020 at 20:47
18
$\begingroup$

Many times the problems people have are similar to, but not identical to, problems that have been solved. So previously employed techniques may still work, but either the model or the solution method may need to be "tweaked" to handle the current stakeholder's problem. In the context of optimization, this may mean adding new constraints and/or new variables, or it may go so far as to require new solution methods (such as moving from a single MIP model to some version of decomposition). In some cases, the stakeholder's problem may have been solved previously, but not at the scale the stakeholder requires. So, again, new solution methods (and possibly new models) may be needed.

If you are looking for a new "generic" category of problems to work with (the next "linear program" or the next "agent-based simulation"), that may be difficult. If you are looking for specific stakeholders who need help (and are not well served by "off the shelf" solutions), that's a bit easier.

$\endgroup$
1
  • 2
    $\begingroup$ I am the main developer of software that does bus driver scheduling. We have a completely separate algorithm/code base for doing train driver scheduling due to some fundamental features between the two problems in the real-world. Also, very often when we get a new customer for the bus driver scheduling we will often implement new features due to somewhat different constraints (which could be down to different interpretation of the same work union agreement!). There is always need for some customization. $\endgroup$ Aug 1, 2019 at 11:42
18
$\begingroup$

Over a decade ago, I also had the feeling that pretty much everything is already done.

Today, dealing with OR problems every day, I see more opportunities that can fit in a lifetime - or even our team's bandwidth (*).

The best way to see great opportunities, is to talk to customers, users, communities, operators. It's hard and time consuming to build up a good network, but it's vital to avoid getting stuck in an ivory tower. A couple of opportunities I see (some are general OR, some are specific to our work):

  • A production solver for 2D surface and 3D volume packing. Think cutting clothes out of fabric, diamonds out of stone, etc. The CoDES group has done great research around it.
  • VRP variants have a lot of opportunity (as Ehsan pointed out). Mixed pick up and delivery, ...
  • Hyperheuristics in a production solver.
  • ...

(*) Today, we have 555 open issues, most of which are feature requests.

$\endgroup$
1
12
$\begingroup$

Unfortunately, there's no straightforward answer to the question of "how to innovate in OR." Innovation is, almost by definition, hard: If it were easy to innovate, everyone would do it, and then it would be hard to find new innovations.

It sounds like you are looking for a side project to occupy your spare time, use some of your spare brain-CPU cycles, and provide you with some professional satisfaction. To that end, my advice would be to choose a project that excites you, and to worry less about "innovating" or "improving on existing apps."

Unless your goal is to start a commercial enterprise or to write a research paper (neither of which sounds like your goal), you can innovate simply by doing good work on a project that interests you. It will be more fun for you, and if you do a good job with it, it may find an audience even if it's not "innovative."

To give you an example: When I was in grad school, >15 years ago, I wrote a small app to solve the VRP. It basically implements classical heuristics like Clarke-Wright and 2-opt, with a little randomization thrown in. The project started for a class but I devoted some additional time to it later because I enjoyed it. I packaged the code in a simple Windows app and posted it on my web site. Since then, thousands of people from all over the world have downloaded it, and it's very gratifying to get the little notifications each time someone downloads it. (I still get several each week.) The project has earned me $0, has resulted in 0 publications, and contains nothing innovative, but it remains one of my favorite things I've ever produced.

$\endgroup$
12
$\begingroup$

Think about how many places in the world some kind of staff scheduling are done on a weekly/monthly basis. Everything from hospitals (per ward), schools, retail stores, factories, call centers, etc.

Putting together the work schedule starting next month is a significant part of many peoples job. However, this problem can surely be solved by OR which would be faster (save time) and more efficient (save money).

From my (limited) overview of the scheduling literature I would say the academic literature is focused on Nurse scheduling and Airline crew scheduling. I know several nurses how has as a part of their job to do this kind of scheduling, so why isn't the well-established literature made into a product they can buy? Maybe it is, maybe some have a few demands (constraints) which are not support by current solutions, but I would argue the main reason is that they are simply not aware of the existence of such solutions. I imagine that the airline are chasing this kind of cost savings more active due to years of price competition.

Simply applying the existing academic literature with minor to moderate changes to the algorithms is sufficient to become a world-leader within OR in the industry. The market is huge, but market penetration has been poor.

Luckily, I feel that there is a shift in focus due to the hype surrounding AI (which I interpret as machine learning in most cases). At my work we have a lot of customer leads that basically starts with the customer stating that "they need some AI to solve this problem". In the end it might be a min cost network flow problem that needs to be solved, which I would not call AI.

Maybe we should rename OR to AI Classic?

TL;DR, just because there are existing apps doesn't mean they cannot be enhance with OR techniques/features. Often well-studied OR problems can still have a huge impact in the real-world.

$\endgroup$
1
  • 2
    $\begingroup$ Yes! There is, without doubt, a ton of problems in the academic literature that are just waiting to be turned into products. ...and on the side note, I also see the AI hype help promiting OR solutions and I don't see any reason that OR should be less intelligent than machine learning. The "intelligence" in both cases comes from mathematical optimization! :-) $\endgroup$ Aug 1, 2019 at 18:04
10
$\begingroup$

I'd argue that any OR application that you can find in the real world, even when you find a product for it, can still be improved. How? By answering this question: How realistic the underlying assumptions of that software are? Because the more generic a tool gets, there will be sacrifices by means of simplified assumptions.

For example, if you are creating a tool that solves variants of VRP, can your tool actually handles all sorts of VRP? Of course you can argue that you can bake in some conditions to check what type of VRP you are solving, and activate an appropriate algorithm accordingly, but still, you need to make some simplifying assumptions, one way or the other, to obtain your goal of having a generic tool that can be used by anyone with a routing problem.

There are many other metrics you can think about. Consider the VRP tool from above again. Is the benchmark software that you are comparing your hypothetical tool with, gives you the optimal solution? How long does it take for that software to get the answer? How user-friendly the software is? How long does it take to train a new user on that software? How can you load data (from what sources) and how can you see the outputs and reports? Is it compatible with other common tools? How much does that software cost? If you can improve even on one of these aspects (while keeping all the others at least the same), you can create a useful product.

$\endgroup$
3
  • $\begingroup$ I've tried to get informations such as How long does it take for that software to get the answer? How user-friendly the software is? How long does it take to train a new user on that software? How can you load data (from what sources) and how can you see the outputs and reports?. The problem is, as a student, it's not easy to get a demo to answer those questions. $\endgroup$
    – Antarctica
    Jul 30, 2019 at 22:59
  • 1
    $\begingroup$ Unfortunately, as you have noticed yourself, students (or those who are conceived as potential users) are not the target audience especially for tools that are not cheap $\endgroup$
    – EhsanK
    Jul 30, 2019 at 23:16
  • $\begingroup$ @EhsanK Would you mind answering my question(or.stackexchange.com/questions/3833/…) that is directly related to your answer? $\endgroup$
    – Joffrey L.
    Apr 5, 2020 at 21:42
7
$\begingroup$

How to innovate? One of my most fruitless experiences was being thrown into an "inventors' club" when I was in fifth grade. We were placed in a room and given a simple task: "Invent something!" The result was dismal. No one creates solutions in a vacuum.

It was only when I teamed up with people who are solving some of the most worthwhile problems on the face of the Earth that I gained some familiarity with what they do and began to feel their pain for what was needed that I began to acquire the vision and insights to know which problems even needed to be solved. Chasing the dollar won't get you there, either. Pyramid schemes might move a lot of money but they don't do any good.

The greatest innovations are found on the path of duty. Try to serve humanity in the greatest ways possible, and the roadblocks will in process of time become apparent. Interestingly, they are often more human than technical. Nonetheless, if you want to go the route of technical development more than human interaction, there is still much to be done, and intelligent service transforms the human aspect more quickly than anything else that I know of. Henry Ford's maxim was "Service ahead of profit". You can see we are very much a world on wheels ever since.

Much-wanted attributes of an OR solution are Generalization and efficiency. So many times industry professionals investigate a hyped tool that makes sweeping claims, only to find that (a) it doesn't actually apply out-of-the-box or even with extensive adaptation to their needs in a way that justifies the onboarding expense, and/or (b) the tool is applicable, but intractable for their use case, making its integration unappealing.

Many of the greatest untapped gold mines are in the space of finding connections across disciplines and building bridges or discovering that two or more things formerly thought to be distinct are actually one and the same. When a high proportion of your learning transfers to another realm, the payoff can be tremendous and many barriers will be removed. Remember that one of the crucial decisions you make is what is your optimization criterion. Once you have chosen a good direction and a good metric, you set the pace.

So simply go and serve humankind! I'll offer just three very high ROI ideas for starters:

  1. De-globalization: How to make manufacturing and agricultural endeavors leverage high-yield automation purely from local resources, without relying on the highly sensitive and manipulable global supply chain. I suggest this one as a relief for poverty that will be effective above anything else I can think of except a handful of ideals such as Prohibition and permanently scrapping socialism.

  2. Home medicine and decision-making: Commoditized Bayesian analysis, decision-tree growing, and measurement tools to make pre-diagnosis, citizen science and early treatment of life-threatening diseases orders of magnitude more accessible. The idea is not to have the machine do everything for you, the goal is instead to educate and empower individuals so that they make smarter, better choices.

  3. Personal organization and information management. Help people to discover their talents and resources and maintain their personal knowledge base in a principled way. E-mail clients and web browsing experiences, for example, need extensive overhauls (e.g., when you are researching a problem at work is in many fields probably not the best time for Google to be showing you ads). If you have organized individuals, you have organized organizations, and learning and flow of information will be accelerated exponentially. This problem would undoubtedly benefit from generalized machine learning.

You will notice that all three of these endeavors have a common theme of maximizing service to all people, rather than fattening the bottom line of a given sector. They are intentionally extremely broad so as to demonstrate the necessity of finding connections, interrelatedness, and achieving unity and true generality and efficiency in your solutions, with the end in mind of maximizing service. There is great advantage and progress in empowering the human "swarm" with increased intelligence and education, and this is a key to the success of most if not all operational endeavors: "Lift where you stand". When a nineteenth-century religious leader was asked how it was that he had accomplished superhuman feats of societal organization, prosperity, and unity, he replied, "I teach them correct principles, and they govern themselves."

$\endgroup$
5
$\begingroup$

First of all, kudos for wanting to do that - as others pointed out, optimization knowledge is vastly underutilized throughout the industry and we need more people like you. People have already given some excellent answers, so I'll focus more on the company-building point of view.

As you realised, the most important thing is to identify the problem you want to solve - the solution will come later, once you have identified something that people care enough about to actually pay money for.

The second most important thing is to identify your market. Selling to consumers is very different than selling to companies: companies have long sales cycles, you need sales people and account managers, you need to do demos, charge a lot more money because you have fewer clients, provide stellar support, etc. Consumers on the other hand will simply buy your product if they like it and the price is good, but you need to raise awareness and build up the consumer base.

Application-wise, where to even begin? Interfacing existing applications, creating specialised solutions for sectors that don't traditionally use optimisation, creating tools to improve the workflow, tools to make modelling easier/more accessible, tools to process data before people even start optimising. Funnily enough, solvers are the toughest market because it takes so long to develop a solver that works properly and efficiently.

Overall, the greatest advise I can give you is to talk to people. What we think the community needs is rarely what the community actually needs. A great book on how to interview people for information is called The Mom Test.

As you mentioned, coming up with a demo, (or Minimal Viable Product) is tough in optimisation. We faced this problem a lot when building Octeract Engine - you don't just build a demo for a high performance solver, it either works or it doesn't. What we did instead was to make sure that the product, if and when it would be ready, would actually be useful enough for people to buy it, and we did that by interviewing people about the challenges they face and by crunching market data. Once we had that information, we then invested resources, effort, and time to build the engine, but not before.

Finally, whatever you end up choosing, make sure it's something you will enjoy doing and that you are passionate about. Building companies from scratch is hard, so you might as well have fun doing it.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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