Abdul Haseeb Khan Download CV
Back to my projects

Project · Independent project, Aug – Oct 2026

Cost Optimization with Linear Programming

Choosing the cheapest kiln-fuel mix across a cement producer's four plants.

Rs 794 mn
saved a year (4.0%)
Rs 1,361
per GJ, from Rs 1,418
4 × 6
plants and fuel sources
8
scenarios tested

A cement kiln needs a fixed amount of heat for every tonne of clinker, and that heat can come from several coals or from alternative fuels like rice husk and shredded tyres.

Using public data for a listed Pakistani cement producer with four plants, I built a linear program that picks the cheapest delivered mix for each plant. It has to meet every kiln's heat demand, keep the coal blend no higher in sulphur than today, and stay within supply limits. I checked the result with a second solver, rebuilt the model in Excel Solver, and tested it under eight scenarios.

The cheapest mix, plant by plant

The optimized mix is 4.0% cheaper than using the company-wide FY2025 mix at every plant, Rs 19.76 bn down to Rs 18.97 bn a year. About Rs 472 million of that comes from sending each plant its nearest coal, and Rs 322 million from burning more biomass and tyre fuel.

  • FY25 fuel mix
  • Optimized mix
1,2501,3001,3501,4001,450Wah−8.7%Jhang Bahtar−5.7%Nizampur−2.7%Dera Ghazi Khan−1.0%All plants−4.0%

Tap or hover on a plant to read it. Arrow keys work too.

Fuel cost per GJ of kiln heat, model year FY2025. The FY25 mix is the company-wide mix used at every plant. Supply limits and alternative-fuel prices are simulated.

Show the numbers
PlantFY25 mix (Rs per GJ)Optimized (Rs per GJ)Change
Wah1,4211,298-8.7%
Jhang Bahtar1,4141,333-5.7%
Nizampur1,4121,375-2.7%
Dera Ghazi Khan1,4321,418-1.0%
All plants1,4181,361-4.0%

What the model changes

  • No imported coal is worth buying. Salt Range coal goes to the three northern plants, and most Balochistan coal goes to Dera Ghazi Khan.
  • Wah saves the most (8.7%) and Dera Ghazi Khan the least (1.0%). The coal nearest to Dera Ghazi Khan is high in sulphur, so it still needs Afghan coal hauled a long way.
  • The sulphur limit binds at all four plants. One more tonne of tyre-derived fuel would save about Rs 30,645, of biomass Rs 5,675, and of Salt Range coal Rs 2,308.

Scenarios

I re-solved the model with one input changed at a time. Losing Afghan coal adds Rs 1.03 bn a year (5.4%); that really happened when the border closed in October 2025. Local coals are high in sulphur, so the model then has to bring in about 153,000 t of imported coal. The saving holds up when coal prices move, and it grows when freight gets more expensive.

  • Bill goes up
  • Bill goes down
−10%−5%0+5%+10%Coal prices +10%+8.7%Afghan coal unavailable+5.4%Freight rates +25%+1.1%Alt-fuel cap 10% of heat+1.1%Alt-fuel cap 20% of heat−0.04%Biomass and tyre supply +50%−1.4%Coal prices -10%−8.7%

Tap or hover on a scenario to read it. Arrow keys work too.

Change in the optimized annual fuel bill against the base case (Rs 18.97 bn), re-solving with one input changed at a time.

Show the numbers
ScenarioOptimized bill (Rs bn a year)Rs per GJChange against base
Coal prices +10%20.631,4808.7%
Afghan coal unavailable20.001,4355.4%
Freight rates +25%19.181,3761.1%
Alt-fuel cap 10% of heat19.171,3751.1%
Alt-fuel cap 20% of heat18.961,360-0.04%
Biomass and tyre supply +50%18.701,342-1.4%
Coal prices -10%17.311,242-8.7%

How much alternative fuel helps

Raising the cap on alternative fuels barely helps, because biomass and tyre supply runs out first. The cost stops falling from about a 14% cap.

Rs per GJ1,3601,3701,3801,3901,4001,4105%10%15%20%25%the model's cap, 15%

Tap or hover on the chart to read each cap. Arrow keys work too.

Optimized fuel cost per GJ of kiln heat as the cap on alternative fuels (their share of kiln heat) moves from 5% to 25%.

Show the numbers
Cap (share of kiln heat)Optimized cost (Rs per GJ)
5%1,401.12
6%1,395.98
7.000000000000001%1,390.84
8%1,385.71
9%1,380.57
10%1,375.43
11%1,370.29
12%1,365.16
13%1,361.94
14.000000000000002%1,361.42
15%1,360.91
16%1,360.57
17%1,360.53
18%1,360.50
19%1,360.47
20%1,360.43
21%1,360.40
22%1,360.36
23%1,360.33
24%1,360.30
25%1,360.26

What I did

  • Built a multi-plant fuel-blending linear program in R (lpSolve): heat, sulphur, alternative-fuel and supply constraints
  • Built the dataset from company reports and published fuel data, tagging every number as verified, calculated, assumed or simulated
  • Checked the optimum with a second solver (GLPK) and confirmed the shadow prices by re-solving
  • Rebuilt the model in Excel Solver with formulas and a reconciliation to R
  • Ran scenario and sensitivity analysis and made the charts in ggplot2

R · Linear programming · Operations research · lpSolve · GLPK · Excel Solver · ggplot2 · Cost optimization · Energy · Manufacturing

Read this first

This is an independent project built from public data. It isn't affiliated with the company, and the optimized mix is not its actual procurement plan. Supply limits and alternative-fuel prices are simulated, so the saving is a modeled result.

Want to see the model?