Category Archives: Network Flows

(Unexpected) Lessons Learned From a Prescriptive Analytics Course Refresh

I’ve been teaching the core prescriptive analytics course in our MBA program since 2005, and it was once again time for a major refresh/improvement. Therefore, this past December I went for it, and then proceeded to ask myself the following question over and over during the first half of the spring semester: “Why did you do this to yourself?” It was grueling. It was hard. It was overwhelming. However, when I look at the end result, I am really proud of it. It’s far from perfect, but I collected tons of feedback from my students (THANK YOU!) and I’m already polishing it for the next iteration (that one will be close to spotless). The goal of this post is to share a portion of the feedback I received, which turned out to contain some unexpected surprises.

To give you some context, I improved the existing homework problems, Excel files, and lecture notes (everything now is in PDFs created with LaTeX; no Powerpoint anymore!). I also created a lot of new content (including a hands-on Lego exercise and a case study I developed from scratch), especially when it comes to decision-making under uncertainty. All in all, I’d say 50% of the course is new material, and the remaining 50% is a much better version of the previous material.

Here are the lecture themes (unless otherwise noted, each lecture is a 2-hour session; there are 2 sessions per week). An asterisk * indicates a brand new lecture:

  • Lecture 1: Introduction to Optimization: hands-on Lego exercise, investment, scheduling.
  • Lecture 2: Mixing and Carryovers: blending, cash flow, production and inventory planning.
  • Lecture 3: Networks: assignment, transshipment, shortest path.
  • Lecture 4: Integer and Binary Variables: budget allocation, logical conditions, covering, fixed costs.
  • Lecture 5: Sensitivity Analysis: shadow prices and reduced costs.
  • MIDTERM EXAM
  • Lecture 6*: Optimization Under Uncertainty: two-stage stochastic linear programming.
  • Lecture 7*: Decision Analysis and Decision Trees (incl. EVPI, EVSI, risk profiles, Bayes’ Rule).
  • Lecture 8*: Sequential Decision Processes: stochastic dynamic programming.
  • Lecture 9* (two sessions): Monte Carlo Simulation.
  • Lecture 10*: Case Discussion.
  • FINAL EXAM

On my final exam, I had a question asking students to name their favorite and least favorite lecture. I wanted to see where the home run was and where the big fail was. I had a total of 76 students, and here is the final tally:

You’ll notice that the columns don’t add up to 76 as they should. Some people provided two favorites, and some people did not indicate a least favorite lecture. Here’s what I infer from the table above. (Let me know if you see something I didn’t!)

  • Networks as the clear “home run” lecture: I would never have guessed that in a million years! This was so surprising to me. Some of the comments mentioned the visual aspect of it as an attractiveness. I can see that, but still…
  • Stochastic DP as the clear “big fail” lecture: I can actually see that because I wasn’t very fond of the lecture myself after I taught it. It looks OK on paper, but the classroom feeling I got from it was lukewarm. I’m thinking of replacing it with a second case study to take place after the first four lectures.
  • Two-stage stochastic LP as pretty much another big fail: This one I attribute to a fail on my part. The material in there is pretty good. It’s just a matter of my doing a better job motivating and explaining it (the written feedback points to its being hard to follow). I’ll keep it for sure and refine the delivery. (Two people actually loved it! :-)
  • Simulation as a bit of a polarizing topic: I honestly thought the simulation class was going to be a big home run. The 11 votes in the right column are likely my fault again (based on feedback). I fully believe in the quality of the content, but I need to do a better job connecting it with the statistics course that precedes mine (I assumed too much of the students).
  • Beloved decision trees: I had a lot of fun putting together and delivering the decision tree lecture, but I didn’t expect it would get so many “fave” votes. Being a new lecture, there were some hiccups that I can easily fix (the same being true for lectures 6, 8, and 9), and seeing how successful it already was gives me even more motivation.
  • Case study: I had never written a full-length case study before, but got excited about doing so after an instructional session organized for the faculty at our school. Despite liking the case on paper (it combines marketing and optimization aspects), I was a bit anxious before the actual discussion took place. My students did an amazing job and performed way beyond my expectations. After seeing where they went and what issues they brought up, I feel like I can polish the case to make it even better.
  • Lego exercise: Another pleasant surprise. I was worried the Lego exercise might be seen as too simple or silly. I was wrong! The feedback indicated it worked well as a motivational tool, a visual aid, and a good ice breaker (it’s the very first thing I do in Lecture 1).

I’m pretty happy overall and really enjoyed what I learned from this fave/least fave question. It can be pretty informative. Do you have any other creative ways to elicit student feedback that you find particularly helpful? If so, please share them in the comments below.

1 Comment

Filed under Decision Trees, Motivation, Network Flows, Teaching, Tips and Tricks

Better Traffic Networks Through Vehicle and Signal Coordination

My friend Phil Spadaro pointed me to two interesting articles on traffic management techniques being studied by BMW and Audi here and here. The idea is to allow traffic lights and cars to communicate, which would yield better traffic flow, reducing time spent at red lights and, as a consequence, reducing fuel consumption. From the Audi article:

The results obtained during the first travolution project in 2006 were immediate and dramatic: reduced waiting times at traffic signals cut fuel consumption by 17 percent…The secret of this success: the traffic signals in Ingolstadt are controlled by a new, adaptive computing algorithm that Audi developed in cooperation with partners at colleges of advanced engineering and in business and industry. Audi has now developed travolution still further, by enabling vehicles to communicate directly with traffic light systems, using wireless LAN and UMTS links…The traffic signals transmit data that are processed into graphic form and shown on the car’s driver information display screen. The graphics tell the driver for instance what speed to adopt so that the next traffic light changes to green before the car reaches it. This speed, which keeps the traffic flowing as smoothly as possible, can then be selected at the adaptive cruise control (ACC) – but the driver can also delegate this task to the car’s control system.

The savings are significant:

When the car is part of a network in this way, the driver can reduce the amount of time spent at a standstill and cut fuel consumption by 0.02 of a litre for every traffic-light stop and subsequent acceleration phase that can be avoided. The potential is enormous: if this new technology were applied throughout Germany, exhaust emissions could be lowered by about two million tonnes of CO2 annually, equivalent to a reduction of approximately 15 percent in CO2 from motor vehicles in urban traffic.

I am sure that there are many parts of this whole coordination process that involve some OR. It must be really cool to work on a project like this. On a different, but related, note I also believe that a lot of traffic jams have psychological reasons. People’s curiosity and lack of advance planning can severely influence their driving behavior. One great example of this is the Golden Glades fork here in Miami:

People going north on I-95 (traffic pattern on the right, going upward in the picture) have to decide among one of three directions: taking the Turnpike (letter A in the picture), continuing on I-95 (letter B), or taking the rightmost exit (letter C). It just so happens that most drivers realize that they have to change lanes at the last minute and this fork is constantly congested (even without accidents). There’s a very simple simulation experiment I always wanted to run but never had the time to: simulate the traffic flow when most people decide to change lanes very close to the fork versus the situation when people change lanes at uniformly distributed points way ahead of the fork. I bet you’d see much better flow in the second case. I hope that one day, when computers can drive for us, the driving algorithms will take care of these issues.

Leave a comment

Filed under Applications, Network Flows, Research, Traffic Management

Twilight Network Flow

CAUTION: Spoiler Alert!

Part of a professor’s job is to come up with new exam questions each year. That may be a time-consuming (and sometimes tedious) task. You want the question to be just right: not too easy, not too difficult, and capable of testing whether or not the students understood a given concept. This year, I figured I might as well have some fun while doing it. Inspired by Laura McLay’s insightful (and very popular) post on vampire populations, I decided to create a Twilight-themed network flow question:

Alice is in charge of planning Edward and Bella’s wedding and she ordered 2000 roses to be delivered to three locations as shown in the network below. The Cullen’s house (node 2) needs 1000 roses, Charlie’s house (node 4) needs 800 roses, and Billy’s house (node 7) is supposed to get 200 roses (just to tease Jacob). The numbers next to the arcs of the network represent shipping costs per rose (in cents); they’re proportional to the distance between each node. The roses are coming from two local growers in Forks (nodes 1 and 3). Each of them can supply 1000 roses. Arrows with two heads indicate that shipments can be made in both directions.

Write down the supply and/or demand values next to each node and write a linear programming model to determine the shipment plan that minimizes the total cost of delivering all the roses (include all the necessary constraints). (Note: Alice already knows whether you’re going to get the right answer.)

The second half of the fun is to see if any students react to it. In fact, I got a couple of interesting written comments: “How dare you incorporate Twilight into Management Science?”, and a Harry Potter enthusiast wrote “Team Harry!”, while at the same time substituting the names of Hermione, Harry, Ginny and Malfoy for Alice, Edward, Bella, and Jacob.

4 Comments

Filed under Exam Fun, Linear Programming, Modeling, Network Flows, Teaching