Papers
Topics
Authors
Recent
2000 character limit reached

MLNS: Multistart Large Neighborhood Search

Updated 13 November 2025
  • MLNS is a metaheuristic framework for complex combinatorial optimization, achieving up to 44% profit improvements over LP baselines in LNG planning.
  • It decomposes problems into Big-Pair and Small-Discharge MILPs, and uses a tensor-train optimizer to diversify search and refine solutions.
  • The method is scalable and transferable, offering practical benefits in LNG scheduling and potentially in other domains like vehicle routing or network design.

Multistart Large Neighborhood Search (MLNS) is a metaheuristic framework tailored for complex combinatorial optimization problems with rich operational constraints and large-scale input data. It was developed for long-horizon liquefied natural gas (LNG) transportation and trading, handling hundreds of contracts and multi-year planning windows. MLNS integrates arc-flow mixed-integer programming (MIP) models, neighborhood search via repair-phase MIPs, and parameter-space exploration through multistart tensor-train optimizers. This design enables efficient computation of solutions with significantly improved profit compared to classical linear programming baselines, with empirically verified run-time scalability.

1. Decomposition into Modules

MLNS decomposes the end-to-end planning task into three modular components:

  • Big-Pair Model (MIP #1): An arc-flow MILP that selects large buy–sell contract pairs, simplifying the instance by ignoring small contracts and locally fixing volumes.
  • Small-Discharge Model (MIP #2): A repair-phase MILP that refines the Big-Pair output by optimizing volumes and inserting small-contract discharge legs between the major trips—a process constituting the “large neighborhood”.
  • Tensor-Train Black-Box Optimizer (TetraOpt): An outer-loop metaheuristic that samples penalty/reward parameters (O,R)(O, R) for Big-Pair MIP, thus generating varied search neighborhoods and enabling effective multistart diversification.

The framework operates through the following workflow:

  1. TetraOpt suggests (O,R)(O, R) parameter values.
  2. Solve the Big-Pair MILP with penalized trip costs πt=PtOwt+Ryt\pi_t = P_t – O\cdot w_t + R\cdot y_t.
  3. Fix big pairs and solve Small-Discharge MILP with the open set of small contracts.
  4. Record and report profit to TetraOpt, which updates its sampling strategy.
  5. Iterate until the allotted budget is exhausted.

2. Algorithmic Process and Pseudocode

The MLNS workflow is captured in the following pseudocode, specifying computational budgets, input data, and iterative process:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Inputs:
  Data D: contracts, vessels, time windows, distances, consumption tables
  Time budget T_total for full search
  Sub-time budgets T_bigpair, T_small for the two MIPs
  Black-box budget B  T_total (e.g. 12 min)
  Big-Pair parameter search domain for (O, R)

Initialize TetraOpt with domain of (O, R)
best_solution  none
best_profit  
t0  now()
while now()t0 < B:
    # Parameter selection (multistart)
    (O, R)  TetraOpt.next()
    # Build & solve Big-Pair arc-flow MILP
    S_big  SolveBigPair(D, O, R, time_limit=T_bigpair)
    # Build & solve Small-Discharge MILP
    S_refined, profit_refined  SolveSmallDischarge(D, S_big, time_limit=T_small)
    # Record and feedback to tuner
    if profit_refined > best_profit:
        best_profit  profit_refined
        best_solution  S_refined
        TetraOpt.update((O, R), profit_refined)
    else:
        TetraOpt.update((O, R), profit_refined)
output best_solution, best_profit

Central subroutines include:

  • SolveBigPair: Constructs and solves the Big-Pair MILP per Equations (1)–(5) with a commercial or open-source solver.
  • SolveSmallDischarge: Constructs the repair-stage MILP (Equations (8)–(19)), optimizing neighborhood variables around the skeleton provided by Big-Pair.

3. Neighborhood and Move Operators

MLNS defines its search neighborhoods by fixing the binary routing variables from MIP #1 and re-optimizing all volumes and small-contract legs:

  • Removal Operator: Clears all small-contract assignments and volume variables.
  • Repair Operator: The Small-Discharge MILP searches over variables l(c,c){0,1}l_{(c,c')} \in \{0,1\} representing feasible legs in the big-pair sequence, as well as continous variables Vc,Wc,VcvV_c, W_c, V_c^v, and partial volumes Vpstart,VpendV_p^\mathrm{start}, V_p^\mathrm{end}.

The entire set of small-contract edges and associated volumes are optimized simultaneously—the neighborhood consists of all feasible solutions given the fixed big-pair skeleton.

4. Multistart and Diversification via Tensor-Train Optimizer

MLNS achieves diversification through parameter perturbation in the Big-Pair MILP:

  • Penalties (OO): Discourage over-delivery, providing slack for downstream small discharges.
  • Rewards (RR): Favor big-contract legs that admit multiple insertion opportunities for small contracts.

TetraOpt builds a discrete grid over (O,R)(O, R), then fits a tensor-train decomposition via cross-approximation, sequentially sampling promising parameter combinations. Each pair (O,R)(O, R) yields a distinct Big-Pair skeleton, creating a new neighborhood for repair. Budget BB governs the number of restarts, typically terminating upon expiration or lack of improvement.

5. Mathematical Formulation of Repair-Phase MILP

The Small-Discharge MILP optimizes the following objective:

maxvV[cSv(ucVc+ωWc)+cBvucVccBvSvfcfuelFc+cSv:cCvucVcv]\max \sum_{v\in\mathcal V} \Bigl[ -\sum_{c\in S_v}(u_c V_c + \omega W_c) + \sum_{c\in B_v} u_c V_c - \sum_{c\in B_v\cup S_v} f^{\mathrm{fuel}}_c F_c + \sum_{c\in \mathcal S}\sum_{v: c\in C^v} u_c V^v_c \Bigr]

Key constraints govern:

  • Flow preservation for big contracts: each vessel’s sequence must be connected.
  • Small-contract uniqueness and leg flow: each small contract leg may be used once.
  • Volume bounds conditional on leg use.
  • Volume propagation and fuel consumption along big pair sequences.
  • Tank sloshing constraints, assuring partial volume stays within safe intervals: 0VpendVpstart0.25capv0 \leq V_p^\mathrm{end} \leq V_p^\mathrm{start} \leq 0.25\,\mathrm{cap}_v or 0.75capvVpendVpstartcapv0.75\,\mathrm{cap}_v \leq V_p^\mathrm{end} \leq V_p^\mathrm{start} \leq \mathrm{cap}_v.

All routing variables l(c,c)l_{(c,c')} are binary; all volume variables are continuous.

6. Stopping Criteria and Computational Complexity

MLNS halts upon exhausting the multistart budget BB (typically 12 minutes):

  • Subproblem time allocation: e.g., Tbigpair4T_\mathrm{bigpair} \approx 4 min, Tsmall4T_\mathrm{small} \approx 4 min.
  • Alternative stopping rules: No improvement over XX iterations, fixed number of restarts.
  • Complexity per iteration: Two MILPs whose size scales as O(#O(\#trips) and O(#O(\#contracts+#+\#legs);worstcaseexponentialcomplexityinbinaryvariables,butruntimeinpracticeisapproximatelylinearindatasize.</li><li><strong>Empiricalruntimes:</strong>8minperrestart;12mintotal.</li></ul><h2class=paperheadingid=empiricalperformanceandadaptation>7.EmpiricalPerformanceandAdaptation</h2><p>OnhistoricLNGdata,MLNSproducedprofitmargins35<p>Tableofresults(cf.Table7inthecitedpaper):</p><divclass=overflowxautomaxwfullmy4><tableclass=tablebordercollapsewfullstyle=tablelayout:fixed><thead><tr><th>ScenarioType</th><th>BaselineProfit(USD×; worst-case exponential complexity in binary variables, but runtime in practice is approximately linear in data size.</li> <li><strong>Empirical run-times:</strong> 8 min per restart; 12 min total.</li> </ul> <h2 class='paper-heading' id='empirical-performance-and-adaptation'>7. Empirical Performance and Adaptation</h2> <p>On historic LNG data, MLNS produced profit margins 35% above the LP baseline (which uses only big pairs). On synthetic datasets, profit improvements averaged 44%. In comparison, a commercial solver with half-year decomposition reached only +27% after 45 min. In all cases, MLNS achieved superior performance with modest computational overhead.</p> <p>Table of results (cf. Table 7 in the cited paper):</p> <div class='overflow-x-auto max-w-full my-4'><table class='table border-collapse w-full' style='table-layout: fixed'><thead><tr> <th>Scenario Type</th> <th>Baseline Profit (USD × 10^9)</th><th>MLNSProfitImprovement</th><th>MLNSTimeOverhead</th></tr></thead><tbody><tr><td>Historic</td><td>)</th> <th>MLNS Profit Improvement</th> <th>MLNS Time Overhead</th> </tr> </thead><tbody><tr> <td>Historic</td> <td>P_0</td><td>+35<td>+6min</td></tr><tr><td>Synthetic(avg)</td><td></td> <td>+35%</td> <td>+6 min</td> </tr> <tr> <td>Synthetic (avg)</td> <td>P_0$ +44% +few min

A plausible implication is that the MLNS decomposition and tensor-train parameterization generalize to problems in vehicle routing, scheduling, and network design with analogous structure: a fast coarse model, large-neighborhood repair phase, and a small set of controlling parameters. Adaptation is feasible wherever this separation can be engineered.

8. Significance and Transferability

The MLNS framework offers a template for hybrid optimization in domains with large-scale planning, dynamic contracts, and intricate operational feasibility constraints. Its modular approach—fast coarse solutions, large-neighborhood MILP repair, and black-box guided multistart—allows practitioners to exploit structure and achieve substantial operational gains with constrained computational budgets. The tensor-train optimizer supports efficient exploration of high-dimensional parameter spaces, overcoming stagnation often observed in greedy or single-neighborhood heuristics. This methodology has demonstrated empirical dominance in LNG scheduling and trading, and can be transferred to diverse settings where combinatorial complexity, contract flexibility, and physical system safety must be balanced.

Forward Email Streamline Icon: https://streamlinehq.com

Follow Topic

Get notified by email when new papers are published related to Multistart Large Neighborhood Search.