How Linear Programming Lifted Oil Production by 15%

Managing a large gas field is an intricate task. With nearly 1,000 wells operating under constantly shifting conditions, oil & gas engineers face a challenging mix of objectives: maximize oil output, control water and gas specs, and meet depletion targets, all while minimizing operational risk.

At Chevron, we responded by developing a custom, in-house optimization application powered by linear programming. This data-driven system delivered a 15.2% increase in oil production, resulting in $15.3 million in additional annual revenue, and brought our operations into a new era of intelligent automation.

This article outlines how we applied linear programming to oil & gas optimization, including the mathematical theory, field implementation, and real-world results.

What Is Linear Programming?

Linear Programming (LP) is a mathematical method for determining the best possible outcome (such as maximizing production or minimizing cost) subject to certain constraints.

An LP model includes:

  • Decision Variables: The choices we control, e.g., flow rates from each well.
  • Objective Function: What we want to optimize, e.g., total oil production or revenue.
  • Constraints: Operational limits, e.g., gas quality thresholds, water cut limits, or equipment capacity.

In oil & gas operations, LP provides a way to mathematically balance competing goals. Instead of relying on experience alone, operators can now use optimization to guide decisions across thousands of scenarios, including high water production, low-pressure zones, and gas spec violations.

A 3D optimization surface with an ascent path climbing toward a peak

The Challenge: Complex Fields, Manual Decisions

Before optimization, our gas field relied on manual processes. Operators used spreadsheets and engineering judgment to decide which wells to open, choke, or shut in. But with hundreds of wells and dynamic production behavior, this approach led to:

  • Under-optimized production
  • Higher operator workload
  • Inconsistent results
  • Greater risk of human error

Warning

Manual choke decisions led to under-optimized production: wells choked back below their potential, or pushed past sales spec and processing capacity by delivering more water and CO2 than the central processing platform could handle.

The lack of a unified decision-making framework made it hard to balance short-term production goals with long-term field management.

The Solution: An LP-Based Optimization System

To address these challenges, we developed an algorithm-driven optimization application, powered by linear programming, and integrated it into our daily operations.

1. Defining Objectives and Constraints

We worked closely with petroleum engineers to formalize all production goals as mathematical expressions. These included:

  • Maximizing oil and gas output
  • Keeping gas composition within spec
  • Reducing water production
  • Managing depletion across the reservoir

These requirements became part of the LP model, allowing the optimization algorithm to determine the best well settings under varying conditions. In code, the shape of the model:

# one decision variable per well: the choke setting
prob = LpProblem("field_optimization", LpMaximize)

# objective: maximize total oil across the field
prob += lpSum(oil_rate[w] * x[w] for w in wells)

# constraints: gas spec, water handling, equipment capacity
prob += lpSum(gas_rate[w] * x[w] for w in wells) <= gas_spec_cap
prob += lpSum(water[w] * x[w] for w in wells) <= water_handling_limit
for w in wells:
    prob += x[w] <= choke_capacity[w]

2. Developing the Optimization Engine

The core logic was written in Python, using libraries for linear programming such as PuLP and SciPy. The engine would:

  • Run optimization models based on real-time data
  • Recommend ideal flow settings for each well
  • Automatically adjust strategies for changing field conditions (e.g., water breakthrough or pressure drops)

3. Data Integration and Automation

We implemented data pipelines using custom ETL (Extract-Transform-Load) logic to bring in:

  • Real-time sensor and SCADA data
  • Historical well performance
  • Gas analysis and flow constraints

The whole loop runs daily, without an operator in the middle:

flowchart LR
    sensors[SCADA sensors] --> etl[ETL pipelines]
    history[Well history] --> etl
    etl --> lp[LP engine]
    lp --> recs[Well setting recommendations]
    recs --> sensors

By feeding this data directly into the LP model, the system could adapt daily to new challenges and deliver actionable results.

The Results: Optimization in Action

Note

Across nearly 1,000 wells, the system delivered a 15.2% increase in oil production, worth $15.3 million in additional annual revenue.

After deployment, the results were immediate and measurable:

  • All Field Objectives Met The system successfully balanced multiple goals (depletion targets, gas specs, and production maximization) across hundreds of wells.
  • $15.3 Million in Additional Revenue A 15.2% increase in oil output was achieved through better field prioritization and optimized well operations.
  • Faster, Smarter Decisions The optimization system reduced operator workload by automating complex evaluations, especially in scenarios with conflicting goals.
  • Lower Human Error and Operational Risk Mathematical modeling reduced subjective guesswork, leading to more consistent and reliable decisions.

Why This Matters: Optimization for the Future of Oil & Gas

The energy sector is evolving, and optimization is no longer optional. Fields are becoming more complex, margins are tightening, and decisions need to be faster and smarter.

By combining linear programming with domain knowledge and real-time data, we transformed how decisions are made in gas field operations. The system not only increased production and revenue but also paved the way for more adaptive, automated, and intelligent operations.