Are You Optimising for That, or Is That a Constraint?

Keelan Fadden-Hopper
The Startup
Published in
6 min readOct 4, 2020

Most public services and public policies involve some level of competition between different outcomes — whether economic, social and environmental — or creating a model that simply allows a particular service to exist. Those who design policy have to make tradeoffs between different outcomes all the time.

Sometimes these discussions can become really confusing. If someone’s looking to make a decision on a project, there are always financial elements to be considered — and rightly so, when public money is at stake. Perhaps someone has heard that public services ought to be “more commercial” — and attempted to apply an approach such as maximising shareholder value into the provision of public services — where the shareholder is now the balance sheet of a public authority. But is this the right approach? After all, we probably didn’t start off with this as a policy outcome.

If the policy is quite new, we’re probably even more confused about what the outcomes are. So it might be time to take a step back and consider things a bit differently and introduce a new methodology.

I think quite a bit about analogies from mathematics. I didn’t really study all that much maths, but I did a reasonable amount along the way. And I still find the analogies helpful when thinking about problems. One example of this is thinking about optimisation, or in this specific case, maximisation, which is a handy way of using maths to work out which value of one variable leads to the highest possible value of some other variable.

Graph of ‘total earnings’ against ‘price per widget’. Inverted parabola shows the relationship, maximum in the centre.

Let’s imagine a simple example, shown on the left. WidgetCo makes widgets and sells them. If WidgetCo charges a lot for their widgets, not many people will buy them, so they won’t make much money.

On the other hand, if they make their widgets really cheap, they won’t make much money at all, because it will cost them nearly that much to make the widgets.

Graph of ‘total earnings’ against ‘price per widget’. Inverted parabola, maximum is marked and line down to price axis.

Assuming they have perfect information about the shape of the blue line, they can optimise for their total earnings. It’s clear that they’d make the most money if the price was right in the middle, where total earnings are highest. If they can work out the shape of the blue curve, then it’s pretty easy for them to work out the ‘optimal’ widget price — assuming they’re optimising for total earnings.

Notice though, that we’ve neglected to consider how many widgets WidgetCo are even selling. Clearly, they’d have to work this out, so that they know how big their factory has to be, and how to manage distribution. They can go back to the data and assumptions they used to generate that blue curve, and work this out. But in the way that we’ve framed the problem, we didn’t even consider this. It just wasn’t important — we were interested in the earnings, and the rest will follow.

Any task is subject to constraints. In our example, maybe we can’t make unlimited widgets, because there’s a limited supply of widget material, or there aren’t many people available with the skills needed to make widgets. Or the total earnings might have a ‘floor’ that WidgetCo can’t survive below. Their wages, rent and loan repayments have to be met. We can introduce this constraint to our picture:

Graph ‘total earnings’/‘price/widget’. Inverted parabola, two regions: upper ‘WidgetCo exists’, lower ‘WidgetCo doesn’t exist

There’s now a whole region of this graph where WidgetCo just couldn’t survive. So, assuming that they want to exist, they can discount all of this as a possible region when they’re setting the price of widgets. If the price is too low or too high, they will fail as a company. No more widgets will be made (at least not by WidgetCo).

WidgetCo could continue to optimise for their total earnings, using our model. But let’s imagine for a moment that WidgetCo has some other goals too. They know a lot about widgets (they’re their business) — and they realise that widgets are really beneficial for people. The more people who have widgets, the more healthy, happy people there would be in this world. WidgetCo’s owners decide that they really want more people to have widgets — but in order for this to be the case, they need to exist! So they decide to change the framing of this problem. Rather than saying:

let’s set the price of widgets to maximise earnings

they could say:

let’s set the price of widgets to maximise how many widgets are sold, subject to the constraint of WidgetCo still existing

A subtle difference, perhaps, but an important one.

And of course, a new problem framing always means a new picture, like this:

Graph ‘widgets sold’/’price/widget’, decreasing line. Centre region under line ‘WidgetCo exists’. Dot on line, left of region

Now we’ve got the number of widgets sold on the y-axis, because that’s what we’re maximising for. And it’s easy enough to see where this ‘optimal’ price is — it’s at the left hand edge of this region, much further to the left than in the previous diagram. By switching the framing from optimising for earnings to treating earnings as a constraint, we’ve totally changed the ‘optimal’ price. In this scenario, more widgets are sold, less money is made, but WidgetCo still survives.

WidgetCo could run the same exercise for lots of other possible constraints or variables that are maximised, and they might end up with some interesting results. They’d certainly view the problem in a different way after running through this exercise.

Let’s circle back to public services. As we said at the beginning, public policy is often a complex process of managing competing outcomes. There are plenty of other alternatives you could use for doing this — there’s a whole field called multi-objective optimisation which helps with this kind of thing, and you can also create functions that aim to represent the total ‘cost’ (or ‘benefit’) of a number of different variables.

But something as simple as looking at maximising a variable, or treating it as a constraint, might just work for your exploration of a problem space. You could think about questions like:

Do you want to… maximise the income your service generates for your organisation, or maximise value to your users, subject to the constraint of generating enough income to continue to provide the service?

Do you want to… minimise the time people spend travelling to work, or minimise carbon emissions, subject to the constraint that people spend on average no more than 30 minutes travelling to work?

Do you want to… maximise economic growth in sector X, subject to a constraint of sector X not exceeding its share of country Y’s Paris Agreement commitments, or minimise sector X’s carbon emissions, subject to a constraint of maintaining z% economic growth in sector X?

I’m not proposing an answer to any of these questions. They’re all particular framings of wicked problems, and the ‘answers’ span well beyond this or any other method. But thinking about optimisation and constraints just might help you think through a problem space in a new way, while being a bit more accessible than a complex model.

Maybe just ask:

Are we looking to maximise this, or is this a constraint?

You might not get a clear answer, but it might just get you thinking differently.

And draw a picture or two. That almost always helps.

--

--