Recently, I was talking to a computer science MSc student who is working on different algorithms including dynamic programming. While discussing different issues with dynamic programming and branch & bound (two common tools for both OR and CS people), he got fascinated by wide variety of practical problems that could be solved by OR tools. He then asked me for a good introductory book on OR. Initially, I thought of some standard OR books that cover many models and techniques (e.g., Hillier and Lieberman's Introduction to Operations Research). Then, I thought maybe a book with a more algorithmic approach (other than a mathematical programming approach) would be better for CS people. In fact, over the years, I've seen books on some of OR sub-areas (e.g., network theory) that have a more algorithm-oriented approach to optimization.

Do you think this is a good idea or not? If so, do you have any suggestion?

asked 12 Dec '12, 15:06

Ehsan's gravatar image

Ehsan ♦
accept rate: 16%

The closest sub-field of operations research to the algorithms and data structures-related things computer scientists do is probably network analysis. The reference text in that area is Ahuja, Magnanti, and Orlin's Network Flows.

A thorough description of the numerical methods used in implementing the simplex method is Maros's Computational Techniques of the Simplex Method. Vanderbei's book and Chvatal's Linear Programming are better places to start but cover some implementation issues.


answered 13 Dec '12, 09:05

Matthew%20Saltzman's gravatar image

Matthew Salt... ♦
accept rate: 17%

edited 29 Jan '13, 20:30

Another area that overlaps with computer science is discrete event simulation. Data structures and pseudorandom number generators play important roles in efficient implementation there as well. I don't know the area well enough to recommend books, though.

(13 Dec '12, 09:44) Matthew Salt... ♦

I found "Discrete-Event System Simulation" by Banks, Carson, Neslon, and Nicol to be one of the best books on the topic.

(13 Dec '12, 10:04) Ehsan ♦

It's specific to optimization, but I think Papadimitriou & Steiglitz Combinatorial Optimization might strike a chord with someone in CS.


answered 14 Dec '12, 17:48

Paul%20Rubin's gravatar image

Paul Rubin ♦♦
accept rate: 19%

I am not in the teaching biz, so my advise should be taken with a grain of salt :-)

As a introduction book for a CS student, I would think Vanderbei's book should be perfect, it's very straight forward and has a nice practical view with code samples, and it's free to download !

Link to book


answered 12 Dec '12, 15:10

Bo%20Jensen's gravatar image

Bo Jensen ♦
accept rate: 14%

I don't think he has put any Astrophysics in it yet, download before it happens :-)

(12 Dec '12, 15:13) Bo Jensen ♦

Good choice as it has chapters on implementation issues in addition to c++ codes.

ps. Apparently, the publisher has asked Robert Vanderbei not to put the book for free download.

(12 Dec '12, 15:26) Ehsan ♦

It does have a section on integer programming, but I don't remember what is covered.

(12 Dec '12, 15:27) Bo Jensen ♦

PS: CiteSeer to the rescue!

(12 Dec '12, 15:48) fbahr ♦

Thank you oh master of links :-)

(12 Dec '12, 15:53) Bo Jensen ♦

I like Sam Savage's 'Decision Making with Insight'. It's slightly outdated, as is the software it arrives with. Its idiosyncratic selection of topics and their treatment makes it sub-optimal as a course text. (Been there, done that.) However, its conversational tone enables excellent surfing over OR's major applications and models. That makes it an ideal 'gateway drug' for OR.


answered 12 Dec '12, 22:55

SanjaySaigal's gravatar image

accept rate: 13%

@Sanjay: Thanks, but this book seems more appropriate for people who're aiming to get familiar with OR topics and capabilities without the necessary math background. I think a more algorithm-oriented book is more appropriate for CS people as they are usually good with rigorous math textbooks.

(13 Dec '12, 06:26) Ehsan ♦

Ehsan, I agree that DMwI scores low on rigor/math/algorithms. However, I believe that when venturing out of one's core field, motivation is at a premium. Going from a broad understanding of, say, network decision models to network algorithms (e.g, via Ahuja, Magnanti & Orlin mentioned earlier) is more natural than the other way around, even for someone with a good math foundation. First you understand the 'why' and the 'what', then the how.

That said, your acquaintance may find deep-diving into a discussion of data structures or algorithms exciting/refreshing. In that case, more power to him!

(13 Dec '12, 17:26) SanjaySaigal

@Sanjay: Thanks so much. I understand your reasoning completely and agree with it for most of people. But my case is more similar to the second case.

(14 Dec '12, 01:05) Ehsan ♦
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: 12 Dec '12, 15:06

Seen: 2,504 times

Last updated: 29 Jan '13, 20:30

OR-Exchange! Your site for questions, answers, and announcements about operations research.