Articulating values through Linear Programming

Articulating values through Linear Programming

I hosted a workshop on Linear Programming at Solvecon 2026 and at Entangled Science Summit. Beyond the math of linear programming, I focused on articulating values like democracy, sustainability and non-violence in the form of constraints in a linear programming problem. These are few notes from the session:

I started the workshop with a 2 variable time management problem. A student has to give two exams on a single day. She has 12 hours to prepare. Spending an hour on subject A, would help her get 5 marks. Hour on subject B, would help her get 10 marks. Of course she cannot get more than 100 marks in any subject. If she wants to optimise for total marks A+B, how would she distribute her time?

She would spend 10 hours on B to get 100 marks and spend remaining 2 hours on A to get 10 marks, scoring a total of 110 marks.

She would go home crying as she failed in subject A. She didn’t solve the problem well.

We then help her solving it better. She should add new constraints – she has to pass in both subjects (say pass mark is 30). The new solution would be that she has to spend 6 hours on A to score 30 marks, 6 hours on B to score 60 marks. A total of 90. This total is lesser than 110 that she’d have scored earlier. But she wouldn’t go home crying.

Lets make this example real now.

We are all optimising some metric in our private and personal lives. Mostly, this metric is related to money – income, profits, GDP.

These are not bad metrics to optimize for. They become bad when constraints are not articulated well.

The challenge in adding these constraints is the difficulty in mathematically articulating values that we cherish. But that doesn’t mean we never did that. Here is a good example from the diamond market.

Certain diamonds are labelled as “blood diamonds”. These are diamonds from the conflict zones, the sale of which is used to finance insurgency and terrorism. If we want to optimise the overall diamond trade, we better allow these blood diamonds in the market. But, we don’t do that. We added constraints. The Kimberley Process Certification Scheme (KPCS) is a process established to prevent these blood diamonds from entering the market so that terrorists are not funded.

In the form of this constraint, we upheld the value of anti-terrorism. But why should we stop there? If certain diamonds are mined by abusing children, can we also include those diamonds as blood diamonds and restrict their trade? There are many values we can thus talk about – human rights, climate justice, sustainability, etc. When we articulate these values as constraints, it’d again reduce the overall size of the diamond market. But, would we not pass in other subjects of life?

Not every linear programming problem has a solution. If we add a lot of constraints, we may end up with no feasible solution at all. If I value clean air as a fundamentalist, and articulate it as a zero emissions constraint, I’d kill the economy. Does that mean I should throw the value of clean air? No. We adjust. Like the GRAP measures that cities enact whenever their AQI crosses certain thresholds.

Example of a city that valued trees and articulated it well as a constraint as it optimised for growth: Link

One question remains: Who gets to articulate these constraints?

People in power easily articulate their values as constraints. In KPCS, the anti-terrorism value is articulated by governments across the world. We don’t question that this value is reducing GDP of the diamond industry. But if cattle could articulate their values as a constraint, we’d cry that there would be no diary industry. And thus Vegans try to articulate constraints on the behalf of animals.

We should empower every voice to articulate their values as constraints. It’d be a time taking exercise to find a solution when a lot of values get articulated. We may not find any solution at the beginning, and then we tweak the articulations, rethink our values, accept necessary evils and eventually find answers in an iterative way.

But this process would be worthwhile.

We’d learn to pass in all subjects of life.

To view or add a comment, sign in

More articles by Sai Krishna Dammalapati

  • Aggregation Bias

    I’ve come across this interesting bias called aggregation bias and picked this example to illustrate it. I asked Claude…

  • Why do we say heights data is normally distributed?

    Pick any textbook of statistics and you’d find a statement saying that the dataset on people’s heights would be…

    1 Comment
  • Parquet Notes

    I learned Apache Parquet quite late because I hardly work in “Big Data.” Most of the datasets I work with can be…

    7 Comments
  • A precarious case when Confidence Intervals fail

    Confidence Intervals help you estimate the true statistic of a population based on the sample statistic. A 95%…

    3 Comments
  • Datafication of Indian court judgments | Part-2

    I worked on the datafication of Indian court judgments two years ago. I detailed that work here: Exploring the…

  • LogProbs

    LogProbs is one of the basic skills for a prompt engineer to have. Some background before implementing it: An LLM model…

    1 Comment
  • When to brush your teeth? A good ANOVA study!

    I found this paper which did a simple ANOVA study to find out when should one brush their teeth! TL;DR Brush twice a…

  • Statistical issues in this paper studying relation between air quality and LULC

    A paper got published in Environmental Monitoring and Assessment. It studied relation between land-use classes (Urban…

  • Bayesian probabilistic forecasts using categorical information | Part 1

    In this blog, I will make Bayesian forecasts of Ozone concentrations. My previous blog on Bayesian analysis: Bayesian…

  • 100% Mediation in Action

    I wrote about Mediators in the previous article. This is a follow-up to it.

Others also viewed

Explore content categories