INFORMS Optimization Society Conference: Submission Deadline in Four Days!

The abstract/poster submission deadline for the Fourth INFORMS Optimization Society Conference is this Friday, January 6! There’s still time to get your abstract in. For information about the conference and submission instructions, check the conference web site at http://bus.miami.edu/ios, as well as this previous post.

If you’ve already submitted an abstract, please log into the system and make sure your submission is complete. We now have a tentative schedule online.

I’m looking forward to seeing you in Miami in February!

Leave a Comment

Filed under Conferences and Events, INFORMS

2011 in Review: The True Numbers

WordPress automatically created a “2011 in Review” post summarizing some of this blog’s statistics in 2011. It turns out that the numbers reported in that summary are way off! They do not match the statistics provided by WordPress itself, which is weird to say the least. So I decided to put together some of those statistics for the “amusement” of my readers. In addition, I want to take this opportunity to thank all of you who visit, share, and write comments. THANK YOU SO MUCH FOR YOUR SUPPORT!

Here we go:

Total visits in 2011: 11,082 (up 51% from 2010!)

Busiest month in 2011: December with 2,363 visits (in 2010 it was October with 999 visits)

Top 5 most viewed posts in 2011:

How Should Santa Pair Up His Reindeer?, 1354 visits (to become an example in an upcoming update of a modeling language)

Should You Hire Security When Tenting Your House?, 607 visits (to become a case study in an upcoming textbook)

Using Airline Miles to Buy Magazines: A Hidden Deeper Lesson, 575 visits

Big Bang Theory Party Planning, 525 visits (used by me as an exam question)

The Joy of Baking (Optimally), 500 visits (now with a detailed explanation of my mom’s pudim recipe)

Leave a Comment

Filed under Uncategorized

How Should Santa Pair Up His Reindeer?

It’s almost Christmas time and Santa is probably very busy with some last-minute preparations before his longer-than-7.5-million-kilometer trip around the world. One of the many things he has to worry about is how to pair up his reindeer in front of the sleigh. We all know that Rudolf goes right in front of everyone else because of his shiny nose, but what about his other eight four-legged friends? The traditional Christmas carols tell us that the reindeer are typically arranged in four pairs, front to back, as follows:

Dasher, Dancer

Prancer, Vixen

Comet, Cupid

Donner, Blitzen

Therefore, we are going to assume that this is an arrangement that works pretty well (after all it’s been working since 1823). As someone with a degree in a STEM field (he wouldn’t reveal which, though), Santa can’t stop thinking about this interesting question: “Are there other good ways to pair up my reindeer?” Before we can answer that question, we need to define what a “good” pairing of reindeer is. After working tirelessly on Christmas eve, Santa’s reindeer have all the other 364 days of the year to hang out and get to know each other. As in every group of friends who spend a lot of time together, some friendships become closer than others. So it’s reasonable to expect that Rudolf’s eight friends will have a favorite companion for side-by-side galloping, a second favorite, a third favorite, etc. In addition, there’s one more important detail when it comes to reindeer pairings, according to Mrs. Claus: some of them like to be on the left side (Dasher, Prancer, Comet, and Donner), while others prefer to ride on the right side in front of Santa’s sleigh (Dancer, Vixen, Cupid, and Blitzen). Before you mention that I should also consider that male reindeer would rather be side-by-side with female reindeer, there’s scientific evidence that all of Santa’s reindeer are female, so we don’t have to worry about that.

After a nice conversation in front of his cozy fireplace, Santa was kind enough to provide me with the following lists of pairing preferences for each of his reindeer; though he vehemently asked me not to show any of this to his furry friends. I’m counting on you, my readers, to keep these lists to yourselves! The names in each list are sorted in decreasing order of pairing preference. The lefties appear in blue, while the righties appear in red (any resemblance to US political parties is a mere coincidence):

Dasher: Dancer, Cupid, Vixen, Blitzen

Prancer: Vixen, Blitzen, Dancer, Cupid

Comet: Cupid, Dancer, Blitzen, Vixen

Donner: Blitzen, Vixen, Dancer, Cupid

Dancer: Prancer, Comet, Dasher, Donner

Vixen: Dasher, Donner, Prancer, Comet

Cupid: Prancer, Dasher, Comet, Donner

Blitzen: Comet, Prancer, Donner, Dasher

Note that if we were to adhere to the lefties’ first picks, we’d end up with the traditional line-up. We are now ready to define what a good pairing is: a pairing is good (a.k.a. stable) if no one has an incentive to change pairs. In other words, if A is paired up with B, and A prefers C to B, it so happens that C, who is paired up with D, prefers D to A. (Note: this problem is known in the literature as the stable marriage problem and it arises in real life, for example, in the context of the National Resident Matching Program, which pairs up medical residents with hospitals every year in the United States.) Obviously, the traditional pairing shown above satisfies these goodness/stability conditions, given the reindeer’s preferences.

What Santa would like to know is whether or not there are other good pairings in addition to the traditional one. If so, he can add some variety to his line-up and the reindeer won’t get so bored by galloping side-by-side with the same companion every year. How can we help Santa answer this question? Using Operations Research, of course! More precisely, Constraint Programming (CP).

Constraint Programming is a modeling and solution paradigm for feasibility and optimization problems that allows one to represent complicated requirements (such as the stability condition above) in ways that are often easier and simpler than using traditional O.R. techniques such as Integer Programming. For example, indexing variables with variables and expressing logical constraints such as implications are a piece of cake in CP. Here’s a CP model written in the Comet language (not to be confused with Comet the reindeer) that answers Santa’s question. It essentially enforces the stability condition for every choice of A, B, C, and D.

The good news is that, in 3 milliseconds, that CP model finds all of the five different stable pairings. Here they are:

Update (1/1/2012): Here’s an AIMMS version of the CP model, kindly created and provided by Chris Kuip. Look for this reindeer example, including an accompanying graphical user interface, in an upcoming update to the set of examples in AIMMS.

I hope Santa reads this blog post before Christmas eve, but in case he doesn’t, please tell him to check this out if you run into him this holiday season. I’m sure his reindeer would appreciate a little change after 189 years.

4 Comments

Filed under Applications, Constraint Programming, Holidays, Modeling, Traveling Salesman Problem

INFORMS Optimization Society Conference 2nd Call for Abstracts, Posters, and Participation

Back in September I wrote about the Fourth INFORMS Optimization Society Conference that’s taking place on the University of Miami campus, February 24-26, 2012. Now I’m writing again to remind all of you that the early registration deadline is approaching fast: it’s December 15. Make sure to take advantage of the discount! Moreover, keep in mind that the abstract/poster submission deadline is also close by: January 6, 2012.

If you haven’t done so yet, make sure to check out the conference web site: http://bus.miami.edu/ios. The conference is shaping up to be a great event and an amazing opportunity to network with — and present your work to — some of the best minds in the optimization community from all over the world. Even if your work is still in progress, consider submitting an abstract to our poster session; it’s an opportunity to get additional feedback on what you’re doing. In addition, we have an exceptional line-up of plenary and semi-plenary speakers.

Finally, since I’ve been building a reputation as someone who likes to talk about food (e.g. here, here, here, here, and here), keep this in mind: your registration fee includes 3 breakfasts, 3 lunches, 2 receptions, and 6 coffee breaks! It doesn’t get any better than this.

So, recapitulating, make sure to register before December 15, and send your abstract/poster in by January 6!

I hope to see you all here in Miami!

Leave a Comment

Filed under Conferences and Events, INFORMS

Best Known European Book on LP, in 1966

Today, as I entered my department’s Xerox/coffee room to make myself some tea, I noticed a big pile of old books and a note from one of my colleagues saying they were up for grabs. As I browsed through the titles, one of them caught my attention:

And here’s the text that appears on the flaps of the outer paper cover:

The publication date is 1966. And here’s an interesting quote:

“The best-known European book on linear programming. Considered one of the most complete studies of the field ever written,…”

I must confess I didn’t know about this book, but I decided to keep it for its (potential) historical value. A little Googling led me to discover that Adi Ben-Israel wrote a half-page SIAM Review about this book in 1967 (volume 9, no. 3, p. 608). Here are some highlights:

“This book is, in my opinion, among the best in the class of general reference and self-instruction L.P. texts presently available, and as such is most valuable to practitioners and students of L.P.”

Later on Adi also says that the book has “Many well-chosen, worked out examples.” That sounds pretty good! I haven’t had time to browse through it yet, but if anyone knows about this book, I’d love to hear your thoughts.

Leave a Comment

Filed under Books, Linear Programming

Choosing Summer Camps for Your Kids

Today I’m going to write about a decision that’s made by many American families each year: how to pick summer camps for our kids. There are several issues to take into account, such as cost, benefit, hours, and kids’ preferences. I’ll introduce an optimization model for summer camp selection through a numerical example. The example portrays a large family, but the same ideas apply if a few smaller families want to get together and solve this problem. This way they can take advantage of the discounts and take turns driving the kids around.

The Joneses have six kids: Amy, Beth, Cathy, David, Earl and Fred (yes, their first names are alphabetically sorted, matching their increasing order of age; Mr. and Mrs. Jones always knew they’d have six kids and hence named their firstborn with an ‘F’ name). This year, they’ve narrowed down their list of potential summer camps to the following ten: Math, Chess, Nature, Crafts, Cooking, Gymnastics, Soccer, Tennis, Diving, and Fishing. The Nature camp takes kids on a hike through the woods with the guidance of a biologist; they make frequent stops upon encountering specific plants and animals, during which a mini science lecture is delivered (pretty cool!). The Cooking camp involves cooking chemistry instruction, à la Alton Brown (also pretty cool).

The following table contains some data related to each camp:

The Cost column indicates the cost per child. The Discount column indicates the percentage discount that each child enrolled after the first would receive on the cost of each camp. For instance, if three children are enrolled in Math camp, the first would cost $1100, and the second and third would cost $770 each (30% less). The Hours column is self-explanatory and the last two columns indicate whether or not that particular camp develops mental and physical abilities, respectively (a value of one = yes, zero=no).

The next table shows some of the child-specific requirements:

For example, the Joneses want Fred to attend at least 3 camps that develop mental abilities, and at least 1 camp that develops physical abilities. The last two columns in the above table indicate the minimum and maximum number of camp hours for each child over the 9-week summer break.

The next thing parents need to take into account are their children’s preferences. So here they are:

The smaller the number in the above table, the more desirable a particular camp is. For example, Amy is a bit of a math nerd, and if we were to flip David’s preference scores for Math and Tennis, he could be classified as a bit of a jock. Some conflicts exist, in the sense that not all camps are compatible with each other in terms of time schedules. In this particular case, let’s assume that no child can attend both the Soccer and Tennis camps, or both the Nature and Soccer camps. Here’s how we are going to use this preference table to create a sense of fairness among the children: whenever a child that prefers camp X to camp Y goes to camp Y and doesn’t go to camp X, nobody else gets to go to camp X either. For example, if Amy goes to Nature camp and isn’t sent to either Math or Chess camp, none of her siblings are allowed to go to Math or Chess either. Conversely, if the Joneses decide to send Earl to Chess camp and Fred to Tennis camp, they must also send Earl to Tennis camp (because Earl prefers Tennis to Chess, and “Fred is going! Why can’t I go too!”). Clearly, there are other ways to use/interpret this table, such as trying to send everyone to at least one of their top N choices, but we won’t consider those alternatives here.

After taking all of the above issues and conditions into account, here’s a solution that satisfies all the requirements while resulting in the minimum cost of $22,180.00 (You guessed it…the Joneses are probably *not* among the 99%):

Amy goes to Math, Crafts, Cooking, and Tennis; Beth goes to Math, Cooking, Tennis, and Fishing; Cathy goes to Math, Crafts, Tennis, and Fishing; David goes to Math, Cooking, and Fishing; Earl goes to Math, Tennis, and Fishing; and Fred goes to Math, Crafts, Cooking, and Tennis. Mmm…interestingly, everyone goes to Math camp. I think the Joneses are on to something…

Depending on your own requirements, preferences, and costs your solution may differ, of course. But this should give you an idea of how this simple problem can easily become very complicated to solve. No need to fear, though! Operations Research is here!

Food for Thought: Here’s an interesting question that helps illustrate how high-quality solutions can be counterintuitive: by looking at the preferences table, we see that everyone prefers Soccer to Tennis. In addition, Soccer camp is less expensive than Tennis camp. So how come we send almost everyone to Tennis camp? Isn’t that strange? Let me know what you think in the comments below! That’s one of the advantages of using an analytical approach to decision making: it helps us find solutions we wouldn’t even consider otherwise because they don’t seem to make sense (at least not at first).

If you’re curious about how I managed to find the optimal solution, read on!

Details of the Analysis:

To find the minimum-cost solution, we can create a mathematical representation of the problem, a.k.a. a model, and then solve this model with the help of a computer. Let’s see how.

The first obvious decision to make is who goes where. So let the binary variable x_{ij} equal 1 when child i goes to camp j, and equal to 0 otherwise. We’ll also need another binary variable y_j that is equal to 1 when at least one child goes to camp j and equal to 0 when none of the children go to camp j. We are now ready to write our objective function and constraints. I’ll refer to the problem data using the column headings of the tables above. The subscript i will always refer to a child, and the subscript j will always refer to a camp.

To minimize the total cost, we write the following objective function:

\displaystyle \min \sum_i \sum_j (1-\mathrm{Discount}_j)\mathrm{Cost}_j x_{ij} + \sum_j \mathrm{Discount}_j \mathrm{Cost}_j y_j

Note how we are using the y_j variable to handle the discount for sending more than one child to camp j: we charge every child the discounted price in the double summation and add the discount back in only once if y_j=1.

Now we have to deal with the four requirements: minimum and maximum hours, mental activity, and physical activity. For every child i, we have to write the following four constraints:

\displaystyle \sum_j \mathrm{Hours}_j x_{ij} \geq \mathrm{MinTimeReq}_i

\displaystyle \sum_j \mathrm{Hours}_j x_{ij} \leq \mathrm{MaxTimeReq}_i

\displaystyle \sum_j \mathrm{IsMental}_j x_{ij} \geq \mathrm{MentalReq}_i

\displaystyle \sum_j \mathrm{IsPhysical}_j x_{ij} \geq \mathrm{PhysicalReq}_i

Next, we enforce the preference rules. Let’s recall the example involving Earl and Fred: if Earl goes to Chess camp and someone else (it doesn’t matter who) goes to Tennis camp, then Earl has to go to Tennis camp as well. Here’s what this constraint would look like:

x_{\mathrm{Earl},\mathrm{Chess}} + y_{\mathrm{Tennis}} - x_{\mathrm{Earl},\mathrm{Tennis}} \leq 1

Of course, we have to repeat this constraint for every child i and every pair of camps j_1 and j_2 such that child i prefers j_1 to j_2 in the following way:

x_{ij_2} + y_{j_1} - x_{ij_1} \leq 1

The camp compatibility constraints say that no child i can attend both Soccer and Tennis, or both Nature and Soccer, therefore:

x_{i,\mathrm{Soccer}} + x_{i,\mathrm{Tennis}} \leq 1

x_{i,\mathrm{Nature}} + x_{i,\mathrm{Soccer}} \leq 1

Finally, we need to relate the x_{ij} and y_j variables by stating that unless y_j=1 , no x_{ij} can be equal to 1 . So we write the following constraint for all values of i and j :

x_{ij} \leq y_j

And that’s the end of our model. Here’s a representation of this mathematical model in AMPL in case you want to play with it yourself. This is the model I used to obtain the numerical results reported above. Enjoy!

4 Comments

Filed under Applications, INFORMS Monthly Blog Challenge, Integer Programming, Mathematical Programming, Modeling, Motivation, Promoting OR, Summer camp

Wagner Prize and Final Thoughts

Check out my final blog post for this year’s INFORMS conference: http://meetings2.informs.org/charlotte2011/blog/?p=371.

I really enjoyed being one of the official bloggers, and adding one extra tag to my badge :-)

20111116-115941.jpg

Leave a Comment

Filed under Conferences and Events, INFORMS

Sunday and Monday INFORMS Blog Posts

As you know I’m one of the INFORMS bloggers this year. So far, I’ve blogged about “My Sunday Adventures” and, fresh from the oven, “Oh Happy (Mon)day!“. Make sure to check out the Monday post for a nice photo!

Here’s a picture from my delicious Monday lunch, which I didn’t include in today’s post.

1 Comment

Filed under Conferences and Events, Food, INFORMS

A Conversation with Mr. X

This year I’ll be blogging during the INFORMS conference in Charlotte. My first post is already up, and it’s entitled A Conversation with Mr. X. Make sure to check it out!

I’m also looking forward to eating some delicious southern food (I hope they’ll have enough vegetarian options like they did in Austin). I’ll make sure to add barbecue sauce to my potato salad again; an act that drives my wife completely nuts :-)

See you in Charlotte!

Leave a Comment

Filed under Conferences and Events, INFORMS, INFORMS Public Information Committee, Promoting OR

Winter Blues Have You Down? Miami in February is Your Town!

Want the perfect reason to come to Miami in February? What about the 2012 INFORMS Optimization Society Conference? The conference, whose theme is “Optimization and Analytics: New Frontiers in Theory and Practice”, will be hosted by the University of Miami School of Business Administration from Friday, February 24 to Sunday, February 26 on its beautiful campus in Coral Gables, Florida. We are very fortunate to have many of the top researchers in Optimization and Analytics as members of our advisory and program committees. I expect the final conference program to be full of high-quality talks.

This is my first time as a member of an organizing committee and I’m happy to say that, despite all the work, it’s been a lot of fun!

Here’s a link to the call for abstracts and posters (we’re already accepting submissions). For more information, including important dates, registration rates, plenary speakers, and hotel reservations, visit the conference web site at http://bus.miami.edu/ios, or send me an e-mail (tallys at miami dot edu). I hope to see you all here!

1 Comment

Filed under Analytics, Conferences and Events, INFORMS