🎧 The Brief

Industry Signals

Industry Signal Manufacturing Supply Chain 📋 Case Study Kinaxis · Apr 2026

Kinaxis Maestro cuts semiconductor supply chain planning cycle 12× with GPU-parallel cuOpt solver 🔗

Foundation: Semiconductor supply chain planning requires evaluating hundreds of thousands of possible demand futures simultaneously: which factory makes which chip, in which week, for which customer, under constrained capacity. Running Mixed Integer ProgrammingOptimisation where some decision variables are constrained to integer values, making the feasible region non-convex and the problem NP-hard in general. See full concept page. (MIP, optimisation where integer binary on/off decisions are combined with continuous allocation variables) across 250,000 scenarios per month demands a solver that can process many subproblems simultaneously. NVIDIA cuOpt packages LP, MIP, and Vehicle Routing ProblemThe combinatorial optimisation problem of finding minimum-cost routes for a fleet of vehicles serving a set of customers from one or more depots. See full concept page. (VRP, the problem of routing a fleet of vehicles to serve a set of customers) solvers on GPU hardware, where thousands of solver threads run in parallel rather than in sequence.

Kinaxis Maestro, deployed by 400+ enterprise customers for semiconductor supply chain planning, cut its calculation time from over three hours to 17 minutes by integrating cuOpt as its GPU-accelerated core solver. The platform processes 250,000 planning scenarios per month, enabling near-real-time what-if analysis that was previously constrained to overnight batch windows. The deployment write-up below details the pipeline architecture, the formulation, and the source of the speedup.

Source: kinaxis.com/en/products/maestro · Apr 2026 📋 Case Study below ↓
📋 Case Study Source: published deployment · Kinaxis / NVIDIA cuOpt (Apr 2026) Expand for full case ▼
Takeaway
GPU-parallel solver eliminates overnight batch constraints: 3+ hours to 17 minutes without changing the supply chain model. ↓ Expand to see formulation, difficulty, and full takeaway

Tools Watchlist

1 release · past 14 days

Open-source solver and modelling-framework releases that passed all four qualification tests.

Timefold Solver 2.0 🔗

Timefold AI · released 22 Apr 2026 · Release blog
FieldContent
Version2.0 (April 2026)
What changed
  • Neighborhoods API (preview): custom Large Neighbourhood SearchA metaheuristic that iteratively destroys a portion of a current solution and repairs it with an exact or heuristic sub-solver, exploring large but structured neighbourhoods. See full concept page. (LNS) moves without solver-internals access; official replacement for the Move interface
  • List variables: native support for modelling ordered sequences in vehicle routing and job-shop scheduling without index workarounds
  • Python SDK (beta): planning problems can now be defined and solved from Python in addition to the existing Java/Kotlin API
ImpactPractitioners building custom search strategies can now implement domain-specific LNS moves through the Neighborhoods API without forking the solver. List variables remove a long-standing modelling friction point for routing and sequencing problems.
MigrationTimefold 1.x is maintained through end of 2026 with quarterly bug-fix releases; migration guide at docs.timefold.ai.

Research Papers

Research Paper Supply Chain arXiv · 8 Apr 2026

Rolling-horizon distributionally robust mixed-integer programme optimises NBA franchise roster under multi-year salary-cap uncertainty 🔗

Foundation: Managing an NBA roster over multiple seasons combines three competing decisions: which players to sign, which to trade, and how to allocate salary-cap space across future years. NBA contract rules impose discrete choices, turning roster decisions into binary on/off selections; combined with uncertain player performance, the result is an instance of stochastic programmingOptimisation under uncertainty where the distribution of uncertain parameters is assumed known; decisions minimise expected cost across scenarios. See full concept page. with integer roster decisions committed before outcomes are observed. The paper adds distributionally robust constraints, which hedge against ambiguity in the performance distribution itself rather than assuming any specific one, combined with a Conditional Value-at-Risk (CVaR) threshold that limits worst-case salary-cap exposure across scenarios. Rolling Horizon OptimisationA sequential planning approach where a finite-horizon model is solved, the first period's decisions are implemented, and the horizon is rolled forward with updated data. See full concept page. solves one off-season at a time, committing decisions and re-solving with updated data, making the full multi-year problem tractable.

The paper applies this framework to the New York Knicks’ five-year roster plan, estimating player performance distributions from historical NBA data and optimising decisions under those uncertain outcomes. Lagrangian relaxationA technique that moves complicating constraints into the objective with penalty multipliers, yielding a lower bound and decomposable subproblems. See full concept page. decomposes the coupled cap-allocation and roster-selection subproblems, making the model tractable on real franchise data. The framework evaluates computed policies against 500 simulated seasons drawn from the fitted uncertainty sets.

Why it matters: The rolling-horizon stochastic MIP with distributionally robust constraints keeps worst-case salary-cap risk within a practitioner-set CVaR threshold across 500 simulated Knicks seasons. Lagrangian decomposition reduces solve time enough to make the model operational on a real franchise dataset rather than a synthetic toy problem.
arXiv:2604.06548 · 8 Apr 2026
Research Paper Sports Analytics arXiv · 18 Apr 2026

Markov Decision Process jointly optimises T20 cricket batting order and bowling plan, improving win probability by 4 points on IPL matches 🔗

Foundation: Deciding the batting order and bowling plan in T20 cricket are sequential decision problems: each choice depends on the current game state (overs remaining, wickets in hand, score gap) and the scenarios that could follow. A Markov Decision Process (MDP) captures this by assigning a win probability to each game state and finding the decisions that maximise it, using Bellman recursion, the principle that today’s state value equals the immediate payoff of the next choice plus the value of the state it leads to. Monte Carlo simulation over 50,000 innings trajectories replaces exact state enumeration, because the full game state space is too large to compute analytically.

The model is calibrated on 1,161 IPL ball-by-ball records from 2008 to 2025, using James-Stein shrinkage (a technique that regularises per-player estimates toward the league average) to produce stable Powerplay, Middle, and Death phase profiles. Applied to two 2026 IPL matches, optimal batting order improved Mumbai Indians’ win probability by 4.1 percentage points (52.4% to 56.5%), and optimal bowling plan improved Gujarat Titans’ defend probability by 5.2 points.

Why it matters: The joint MDP framework that co-optimises batting order and bowling plan simultaneously outperforms sequential greedy heuristics on two real 2026 IPL matches, with win-probability gains of 4.1 percentage points and defend-probability gains of 5.2 points. The stochastic DP computation scales to full innings length using Monte Carlo simulation over 50,000 trajectories, without requiring exact state enumeration.
arXiv:2604.13861 · 18 Apr 2026

Term of the Day

Bellman Equation

"An optimal policy has the property that whatever the initial state and initial decision are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decision." — Richard Bellman, Dynamic Programming (1957)

The Bellman equation is the recursion that links the value of being in a state today to the value of every state that the next decision might lead to. It says: the value of a state equals the best immediate reward you can get from it, plus the (discounted) value of wherever that action leads. This self-consistency is what makes the whole thing work: if you know the value of every state, the best one-step decision at any state is immediate, without planning all the way to the end of the horizon.

V(s) current state action a₁ action a₂ V(s′) + R(s,a₁) V(s′) + R(s,a₂) max over a V(s) = maxₐ [ R(s,a) + γV(s′) ]

A concrete example

Consider a T20 cricket captain deciding which bowler to use in each remaining over of a 20-over innings. Without the Bellman equation, the captain either tries every possible sequence of bowlers (exponentially many) or uses a greedy rule: best available bowler this over, ignoring what that leaves for later overs.

Without the equation: the greedy rule gives the best bowler right now but ignores that using a specialist in over 15 may leave only weaker options in the critical death overs. The sequence looks locally optimal but is globally wasteful.

With the equation: the captain defines a value for every game state (current over, score gap, wickets remaining, which bowlers have overs left). Starting from the final over and working backwards, each state's value is computed as: best-available-bowler win probability right now, plus the value of the state that assignment leads to. In over 15, the best choice accounts for what each bowler leaves available in overs 16–20. The T20 cricket paper does exactly this, evaluating 50,000 Monte Carlo innings trajectories per state to compute these values.

The insight is that the captain never needs to reason about the full sequence simultaneously. The equation encodes that reasoning recursively: today's decision only needs to see one step ahead, because the value function already captures the optimal future.

Why practitioners misread this

Misread 1: dynamic programming means exhaustive enumeration. Dynamic programming (DP) only eliminates redundant computation when the same state can be reached by many different paths, and its value needs computing only once (the property called optimal substructure). Without this property DP does not apply, but when it does, the number of states (not the number of paths) determines the computation. In the cricket example: there are millions of possible sequences of bowler assignments, but only thousands of distinct game states. The Bellman equation collapses path-counting into state-counting.

Misread 2: the Bellman equation is one specific algorithm. The Bellman equation is a mathematical consistency condition, not an algorithm. Value Iteration, Policy Iteration, Q-learning, and A* search are all algorithms that exploit it in different ways. A paper that uses value-function notation and backward induction is using the Bellman equation whether or not it names it explicitly.

Misread 3: it only applies to finite, discrete state spaces. The Bellman equation extends to continuous states (Hamilton-Jacobi-Bellman equations, used in continuous control), infinite horizons (discounted-sum formulations), and stochastic transitions (used directly in the T20 cricket paper). Inventory optimisation, energy storage dispatch, and clinical trial dosing all use continuous or infinite-horizon Bellman formulations in practice.

Where this shows up in practice

Sports analytics: batting order and bowling-plan optimisation in cricket, lineup construction in basketball, or any sport where decisions repeat over a finite sequence of states with uncertain outcomes.
Inventory and supply chain: stock replenishment policies over multiple periods, where each period's order depends on current inventory and uncertain demand.
Energy dispatch: storage charging and discharging decisions over time, where the value of stored energy depends on future price uncertainty.
Reinforcement learning for optimisation: Q-learning and deep RL for scheduling, routing, and resource allocation are direct computational implementations of the Bellman equation over large state spaces.
The diagnostic question: can you define a state such that the optimal decision from that state depends only on the state, not on how you got there? If yes, the Bellman equation applies.

Daily Synthesis
  • Kinaxis + cuOpt Kinaxis Maestro integrates NVIDIA cuOpt as its GPU-parallel solver core for semiconductor supply chain planning, cutting the planning cycle from 3+ hours to 17 minutes across 250,000 scenarios per month. The speedup comes from distributing independent LP/MILP scenario solves across GPU cores in parallel, with no change to the underlying planning model.
  • NBA Franchise MIP A rolling-horizon stochastic MIP with distributionally robust constraints keeps worst-case salary-cap risk within a CVaR threshold across 500 simulated Knicks seasons. Lagrangian decomposition makes the coupled cap-allocation and roster-selection problem tractable on real franchise data.
  • T20 Cricket MDP A stochastic dynamic programme that jointly optimises batting order and bowling plan outperforms sequential greedy heuristics on two real 2026 IPL matches: 4.1 percentage point win-probability gain for Mumbai Indians and 5.2 percentage point defend-probability gain for Gujarat Titans. Policies are pre-computed from 1,161 ball-by-ball records before the match begins.
  • Timefold Solver 2.0 Timefold Solver 2.0 adds a Neighborhoods API for custom Large Neighbourhood Search moves and list variables for vehicle routing and job-shop scheduling, with a Python SDK in beta. The Neighborhoods API is the primary practitioner-facing contribution, allowing domain-specific search strategies without forking the solver.