Mixed-Integer Linear Programming (MILP) dispatch is a mathematical optimization technique that determines the optimal operational schedule for a fleet of distributed energy resources by solving an objective function—typically cost minimization—subject to linear constraints, where some decision variables are restricted to integer values (e.g., on/off status) while others remain continuous (e.g., power output level).
Glossary
Mixed-Integer Linear Programming (MILP) Dispatch

What is Mixed-Integer Linear Programming (MILP) Dispatch?
A mathematical optimization method used to solve the unit commitment and economic dispatch problem for distributed energy resource fleets by handling discrete on/off decisions and continuous output levels simultaneously.
The solver navigates a combinatorial search space to find the globally optimal solution, respecting hard constraints such as state-of-charge limits, ramp rates, and minimum uptime/downtime requirements. This guarantees constraint-feasible dispatch schedules that simpler heuristic or rule-based controllers cannot reliably produce for heterogeneous asset portfolios.
Key Features of MILP Dispatch
Mixed-Integer Linear Programming dispatch provides the mathematical rigor required to solve the complex unit commitment and economic dispatch problem for heterogeneous DER fleets, handling discrete on/off states and continuous output levels simultaneously.
Discrete Decision Handling
MILP is uniquely capable of modeling binary commitment decisions (e.g., generator on/off, breaker open/closed) alongside continuous variables like power output setpoints. This is essential for DER fleets where assets like backup generators cannot be partially committed.
- Models start-up costs and minimum up/down time constraints
- Handles integer states for battery charging/discharging modes
- Enforces logical constraints (e.g., if generator A is on, generator B must be off)
Global Optimality Guarantee
Unlike heuristic or greedy algorithms, MILP solvers use branch-and-bound and cutting-plane methods to mathematically prove that the found solution is the global optimum within a specified tolerance gap. This is critical for financial settlement in wholesale energy markets.
- Provides a provable optimality gap (e.g., 0.01%)
- Eliminates the risk of leaving revenue on the table from suboptimal dispatch
- Essential for auditability in regulated utility environments
Constraint-Rich Modeling
MILP frameworks can encode virtually any linear operational constraint, making them ideal for the IEEE 1547-2018 and UL 1741 SB compliance landscape. Constraints are expressed as linear equalities and inequalities.
- Ramp rate limits: Maximum change in output per minute
- State of charge (SOC) boundaries: Battery minimum and maximum energy levels
- Export limits: Dynamic operating envelopes enforced as hard constraints
- Reserve requirements: Headroom allocation for frequency response
Objective Function Flexibility
The objective function can be tailored to any linear combination of cost or value drivers, enabling multi-objective optimization through weighted-sum methods or lexicographic goal programming.
- Economic dispatch: Minimize fuel cost, grid import cost, or levelized cost of energy
- Self-consumption: Maximize behind-the-meter solar utilization
- Peak shaving: Minimize the maximum demand charge over a billing period
- Emissions minimization: Dispatch to minimize carbon intensity using locational marginal emissions signals
Receding Horizon Implementation
MILP dispatch is typically deployed in a Model Predictive Control (MPC) framework, where the optimization is solved repeatedly over a rolling time window. Only the first timestep's decisions are executed before the problem is re-solved with updated forecasts.
- Incorporates updated load and solar forecasts at each step
- Provides inherent feedback correction against forecast errors
- The look-ahead horizon (e.g., 24-48 hours) ensures decisions account for future expected events like peak pricing periods
Solver Ecosystem & Performance
Commercial solvers like Gurobi and IBM CPLEX, along with open-source alternatives like HiGHS, have achieved dramatic performance improvements. Modern MILP solvers can handle problems with millions of variables and constraints in minutes.
- Presolve routines automatically simplify the problem before solving
- Parallel branch-and-bound exploits multi-core processors
- Warm-starting from a previous solution accelerates convergence
- Solver-as-a-service APIs enable cloud-native dispatch engines
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Frequently Asked Questions
Clear, technically precise answers to the most common questions about applying Mixed-Integer Linear Programming to the unit commitment and economic dispatch of distributed energy resource fleets.
Mixed-Integer Linear Programming (MILP) dispatch is a mathematical optimization technique that determines the least-cost schedule for a fleet of distributed energy resources (DERs) by solving for both discrete on/off states and continuous power output levels simultaneously. The 'mixed-integer' component refers to the solver's ability to handle variables that are both integers—such as the binary commitment status of a diesel generator (1 for on, 0 for off)—and continuous real numbers, like the precise kilowatt output of a battery energy storage system. The 'linear programming' aspect constrains all objective functions and constraints to linear relationships, ensuring the problem can be solved to global optimality using algorithms like branch-and-bound. In a Virtual Power Plant (VPP) context, the MILP solver ingests inputs including forecasted load, solar irradiance predictions, and real-time Locational Marginal Pricing (LMP) signals, then outputs a binding dispatch schedule that minimizes total operational cost while respecting technical constraints such as state-of-charge limits, ramp rates, and minimum up/down times.
Related Terms
Mastering MILP dispatch requires understanding the mathematical components, constraint types, and solver technologies that make discrete optimization tractable for DER fleet control.
Unit Commitment Problem
The combinatorial optimization of deciding which generators or DERs to turn on/off over a multi-period horizon. MILP solves this by modeling each unit's status as a binary decision variable (0=off, 1=on), while respecting minimum up/down time constraints, startup costs, and ramping limits. The solver simultaneously determines commitment schedules and dispatch levels to minimize total operational cost.
Branch-and-Bound Algorithm
The foundational exact solution method used by MILP solvers. The algorithm systematically partitions the feasible region by branching on fractional integer variables, then prunes suboptimal branches using linear programming relaxations. Key components include:
- Presolve: Simplifies the problem before branching
- Cut generation: Adds valid inequalities to tighten the LP relaxation
- Heuristics: Finds feasible integer solutions quickly to improve pruning
Binary Decision Variables
Variables restricted to values of 0 or 1 that encode discrete yes/no decisions in the optimization model. In DER dispatch, binary variables represent:
- Unit commitment status: Is battery $i$ discharging at time $t$?
- Mode selection: Is the EV charger in V2G export mode?
- Logical constraints: Mutual exclusivity (can't simultaneously charge and discharge)
These variables are what distinguish MILP from simpler linear programming formulations.
SOS1 and SOS2 Constraints
Special Ordered Sets are constraint structures that improve solver efficiency for piecewise-linear approximations common in DER modeling:
- SOS1: At most one variable in the set can be non-zero (mutual exclusivity)
- SOS2: At most two adjacent variables can be non-zero (convex combination)
SOS2 constraints efficiently model non-linear efficiency curves of inverters and batteries without introducing non-convexity, keeping the problem within MILP's tractable framework.
Lagrangian Relaxation
A decomposition technique that dualizes coupling constraints (such as system-wide power balance) into the objective function using Lagrange multipliers. This decomposes a large MILP into independent subproblems per DER, each solvable in parallel. The multipliers are iteratively updated via subgradient optimization to converge toward a feasible, near-optimal solution. Particularly valuable when dispatching geographically dispersed DER fleets with local constraints.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us