Maximal matching: What to do when?

My wife and I enjoy playing Wingspan, a beautiful strategy game about choosing birds to live in your bird sanctuary. This past week we played a few games together against the computer — she’s much better than I am, so I hoped to pick up some strategy tips from her for the next time we play against each other. One of her pieces of advice really stuck with me: we drew a high-point bird card with no other abilities, and she recommended we wait to play it later in the game. My thinking would have been, “This bird just adds points to my total, so it doesn’t matter when I play it; might as well work on it first so I make sure I don’t run out of time.” Her clearly better reasoning was, “We can use our resources to play other, more helpful birds first, which will make it easier to score a lot of points right at the end.” I was ignoring the opportunity cost of playing the high-point card, which is lower at the end of the game when the other options aren’t as good. It made me realize I had two correct-sounding but flawed approaches to using my time, and comparing them made me realize the optimal method is something else entirely.

Time Management approach #1: Do the best thing you can right now

The most basic approach to how you use your time is this: at each moment, choose from the options you have available to you and do the one that has the biggest payoff (measured however you like). This isn’t a bad approach, although it can often be difficult to (a) know what the best thing is to do, and (b) make yourself actually do it. But consider this scenario: you have two tasks, A and B. Task A always has a payoff of +10, whereas task B has a payoff of +5 if you do it before task A, and +3 if you do it after. Then before you do either, the “do the best thing right now” approach would have you pick task A first, then task B, for a total payoff of +13, even though the right thing would be to wait and do task B first, then task A (payoff: +15).

This is basically the situation Clara and I were in with Wingspan, but it’s something that comes up in life a lot too. If you keep working into the night until you are literally making no more progress, it would probably have been better to sleep sooner and then resume in the morning. And buying life insurance is almost never the single most impactful thing I can do with my time, but given that I should do it it’s better to do it sooner than later. (See also: people who aren’t vaccinated just because they’ve had more pressing issues to deal with.)

Time Management approach #2: Schedule the most important things first

This is the “big rocks” approach to time management: like putting rocks of different sizes into a container, you’ll be able to fit more in if you start with the biggest things and then fit smaller things in around them. Analogously, start by scheduling the tasks with the biggest payouts, and then the smaller, less important tasks can fill in the gaps.

There’s a problem here, too: what if a small improvement in when you do the most important task makes you lose out on a medium-sized opportunity? Imagine our tasks A and B again, but imagine that task A has a payoff of +11 if you do it first, and +10 if you do it second. (Task B still pays +5 if you do it first, and +3 if you do it second.) Then if you time your big “Task A” rock optimally, you’ll do it first, then task B, for a total payoff of 11+3 = 14. But if you do them in the other order, B then A, you get a total of 5+10 = 15. This kind of thing also happens a lot — one of the most important parts of my job as an academic is research and writing, and my optimal times for those activities (in long stretches first thing each day) overlap with the times of other tasks it would be very costly to do anytime else (like teaching my scheduled classes). Since the cost of moving class time is much higher than the hit to my productivity if I research later in the day, it makes sense to plan my research schedule around my teaching.

Time Management approach #3: Maximal Matching

There’s a kind of symmetry between Time Management approaches #1 and #2: the first takes each time in turn and tries to match it up with its optimal use, while the second takes each task in order of importance and tries to schedule it at its optimal time. Both approaches are examples of “greedy” algorithms, ones which approach a complex problem by just trying to do the best they can as they go. For some types of problems, greedy algorithms produce optimal results; for others, like this one, they don’t: finding the right allocation of tasks to times (or vice versa) might involve looking for comparative advantages: the amount by which task A is better to do first is less than the amount by which task B is worse to do second. This is not easy! Fortunately, there exist polynomial time algorithms for maximal matchings, like the Hungarian algorithm (these notes I found are relatively readable), though I’m not sure yet if there’s a practical way of implementing it without too much mental overhead. If I find one, I’ll report back here!

Anyway, how about you? How do you go about choosing what to do when? I’d love to hear about it in the comments!

One thought on “Maximal matching: What to do when?

  1. I have heard so many good things about that game recently! I’ll have to look into it more.
    While there were a lot of things in David Allen’s Getting Things Done book that didn’t felt like it applied quite so well to our generation, his time management advice about making sure you do the things that have to be done in a certain location or time constraint really stood out to me. It seems similar to game play in that your strategy probably changes based on what your outside (or opponent) constraints are? Or maybe we would say it is like if you got a bonus for playing certain cards together (batch work or minimizing car trips to give you more time back)?


What do you think? Leave a comment below:

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s