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.

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.






