Hacker News new | comments | show | ask | jobs | submit login
Top Hackers, we need you for Operations Research (kuomarc.wordpress.com)
35 points by mck- 1762 days ago | hide | past | web | 23 comments | favorite

OR/CS is not the ultimate combination. If you want to do interesting work in this space you ideally need a background in all of optimization (ILP, convex NLP, stochastic optimization),control theory, certain areas of economics (general equilibrium, game theory, mechanism design, concepts behind applied finance), statistics/econometrics (out of sample performance, hypothesis testing, causality, dealing with non random samples) and probability (mainly stochastic processes).

OR itself contains a large number of applications that combine many of the above, e.g. network revenue management, but someone who has taken grad courses from the OR department alone would genuinely struggle to do anything significantly new or interesting.

People from computer science departments have also been gradually moving into these areas, witness growth in machine learning, algorithmic game theory etc.

I actually agree with you there. Since OR is so multi-disciplinary, it is paramount to have a broad knowledge of all the fields it touches. Although I specialised in OR in my masters, my bachelors was actually CS&Economics/Business, which has been of great value to me.

In terms of CS moving into machine learning and artificial intelligence, the focus tends to be on applications in the consumer sphere - e.g. analysing big data to understand and recommend to consumers ala Amazon/Netflix, or image recognition to self-driving cars.

But these are mere sub-domains of OR. In business, what I think has the highest value and remains yet unexploited is the optimization branch/sub-topic of OR. The likes of production optimization, supply chain optmization, inventory optimization, facility location optimization, and my favorite, vehicle routing optimization.

Just for fun - "stochastic optimization" as in here: www2.isye.gatech.edu/~ashapiro/download.php?Down=book

is in fact identical to "empirical risk minimization" in Vapnik's statistical learning theory. As soon as you are not 100% sure about any of the numbers in your routing model, you find yourself in the same setting as that studied in "machine learning"!

Thanks for the link.

I would argue that the cross pollination is happening already. In my Convex Optimization grad course, three fourth of us were CS/EE majors (the majority being C.S.). The material is not that hard to pick up if you have a background in Linear Algebra and Probability which if you are doing research in Machine Learning, you have already picked up.

Depending on the specifics of the problem, I would assert that it is possible for a more traditional OR trained person (who is rapidly disappearing IMO) to beat the CS person. Software Engineering tells you to modularize your code, use meaningful variable names etc. Typically Matlab codes written for OR problems try to replicate the same variable names used in deriving out the analytic equations (e.g. v, \lambda, \eta etc). Also, there is a strong emphasis on trying to make the code as compact as possible at the cost of modularity as a way of ensuring that mistakes are minimized. I have learned from painful experience (17 hours of debugging :) that the latter way of thinking is not wrong just different and even makes sense in specific domain related problems.

I think now it is fairly generally appreciated that interior point methods constitute perhaps the most powerful class of tractable algorithms there is, yet remarkably they are hardly ever mentioned in any of the undergrad CS algorithms classes. Usually there is a passing mention of linear programming to establish an auxiliary result like max flow / min cut duality but that's it.

Yeah but an undergrad class in algorithms is supposed to in most cases just give you a deeper view of traditional C.S algorithms. There are quite a few topics which are barely skimmed ( approximation algorithms, randomized algorithms). I believe that is OK because as long as most of the students are trained to think algorithmically, that should be fine. After all, most advanced stuff becomes much easier once you have the basics fundamentals clear.

All true, but the idea that a good fraction of combinatorial algorithms that undergrads see can be replaced (albeit less efficiently) by linear programming is important. Not clear how classical CS curriculum helps to appreciate this either. And after all, LP used to be considered an almost elementary topic before it mysteriously dropped out the curriculum (perhaps something to do with linear algebra no longer being compulsory).

An ORite won't really make a difference if the approach is already chosen (e.g. "write a tabu search for the VRP"). She does make a difference when the problem is new, when looking for problem features (e.g. symmetry, decomposability, extreme points of the set of solutions), when deciding what approach to use (size matters).

Given an unsolved OR problem, a top 10% ORite will likely beat a top 1% hacker (or even CS person) in solving that problem.

Very good point. That's why cross-polination would be explosive. The ORite can identify the approach, where the hacker can implement it.

I kind of agree here but for real life working hard problems you need an OR that can code to make performance tweaks and adjust the algorithm in code. Maybe with some help from a programmer('hacker') as a mentor or code reviewer. You could almost take any standard problem and learn to apply a simple standard OR approach and code it but when the shit hit the fan you must have someone to ask what makes the OR thing work/not work. A normal programmer isn't interested in this more low level thing of the OR side.

EDIT: Stop asking for top X if you really are trying to inspire more OR into more software. Most stuff in this world are done by mere mortals and not 1% of hackers. The true hackers of the world can probably already grok both malloc and TSP with timewindow constraints.

Don't write off CS grad students who did most of their research in OR. My CS dissertation was in an area that would definitely be considered OR, and many CS students at our school learned Tabu search, Simulated Annealing, etc., often in the context of machine learning or local search algorithms.

I would have guessed that most OR research labs had a fair number of CS grad students.

I'm not writing CS grads off, as a matter of fact, my post is all about CS grads with OR research being the true future movers & shakers of the field, didn't I?

I would have guessed that most OR research labs had a fair number of CS grad students.

Exactly. A fair number. It should be the majority.

The problem I see is, that it is really difficult to understand the OR sphere from the outside. While one can identify the need for some regular software product (App, etc) by just watching and participating actively in the market, this seems almost impossible in OR.

It is exactly this problem that I hope to address with this blog post, trying to induce more to cross the bridge between CS and OR. The point is that the OR sphere is really not that hard to understand (although ORites have done a pretty good job making it seem so).

OR as a field has always had the problem of ambiguity and definition. Some call it Management Science, some call it Industrial Engineering. But whatever it entails, it has always suffered from visibility, especially in the hacker sphere, since it's not consumer related.

I don't think it is impossible to educate/increase awareness of OR in the market. Surely, the market is still behind as it is currently being educated on the value of simple analytics and data science, but eventually, I think the opportunity looms large for OR. It just has that irrefutable added value. But again, we need hackers to truly bring forth that value.

Where do you get an OR job? What would be the top OR employer?

I guess it depends on what are of OR you're doing. I've moved into Machine Learning and Predictive Analytics. There are all kinds of jobs in those fields. The math is very much the same.

Looks like Google got into OR recently: https://plus.google.com/117790530324740296539/posts/fcDYLZjH...

That's a great question I've been struggling with for the last 3 years..

On the academic side, an OR person can work at a business school, an Industrial Engineering department, a CS department, and a Math department (in non-increasing order of salary).

airlines, shipping companies, disney, ILOG

ILOG has been acquired by IBM.

ibm is also on the list.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact