-
Start from the airline’s given frequencies, with no penalty
Line 1 initialises the search with the airline’s frequencies, which the paper does not define in a sentence; this page reads them as the original frequencies of the paper’s Figure 2(a). They are treated from here on as real numbers, and the signal coefficient starts at zero. Algorithm 1, lines 1 and 2
- plan
- λ
-
Ask the frozen predictor what share this plan would win
The frequencies go into the pre-trained model together with the airline’s other features and the competing carriers’ inputs. The model returns the airline’s share on every route. In the paper this is a structure-aware attention network; here it is the toy market. Algorithm 1, line 4; the paper’s Figure 1
- plan
- toy share
-
Score the plan twice: passengers won, and budget broken
Passengers: demand times share, summed over routes. Budget gap: cost per flight times flights, summed, minus the budget. Positive means overspent. Algorithm 1, lines 5 and 6
- o
- cost
- c
-
Let the budget push back: subtract the penalty signal
The penalty signal is the signal coefficient times the budget gap. Subtract it from the passengers. Over budget, the objective is docked; under budget, it gets a small bonus. Eq. 3 and 5
- λ × c
- L
-
Fast move: every frequency steps uphill on the penalised objective
Each route’s frequency moves in the direction that raises the logarithm of the penalised objective: up if an extra flight wins more passengers than the signal charges for it, down otherwise. Then it is kept between 0 and the route’s maximum. Algorithm 1, line 7; Eq. 6 and 7 moves fast
| Route | Gain per flight | Charge, λ × cost | Move |
|---|
-
Slow move: the overspend itself raises the signal
The signal coefficient grows by a small step times the budget gap: up while the plan is overspent, down while it is under, never below zero. Its step shrinks faster than the frequencies’ step. That separation is what “two-timescale” means. Algorithm 1, line 8; Assumption 1 moves slowly
- λ
- steps
-
Repeat until nothing moves, then round down
The paper proves that, under Assumption 1 plus the stability and bounded-noise assumptions it cites, the pair converges almost surely to a fixed point, and argues (Lemma 1) that this point respects the budget. It reports that along the way “the cost can be larger than the budget”. The settled frequencies are rounded down to whole flights. Theorem 1 and Lemma 1, pages 4332 and 4333; Convergence, page 4336
Convergence here means a fixed point, which the proof calls “a local saddle point”. The paper does not claim the best possible plan.
- settled
- rounded
Select any box in the drawing to read what it does. Arrow keys move between boxes.
Predictor Θ
fixed “Pre-trained structure-aware attention model”, the paper’s Figure 1
- In
- frequencies, features, competitors
- Out
- share on every route
Trained once with an L1 loss on ten years of data except the last month, then only read: 4 attention layers, hidden size 64. The loop uses it through its output and through the gradient of the objective, nothing else.
In the toy: the two-line market of Figure 4 stands in for it.
The paper does not say how accurate it is for plans far from the data it was tested on.
Frequencies f
moves fast “parametrized frequencies”, pages 4331 to 4332
- In
- the last pass’s move
- Out
- one real number per route
The paper treats them “as learnable parameters in a pre-trained neural network model”, moved by gradient, “which is different from existing black-box search methods”. They are relaxed to real numbers during the search.
Toy, this pass:
The paper does not say what the highest frequency on any route is.
Features X
fixed Dataset paragraph, page 4334; Eq. 1; Algorithm 1
- In
- the last month’s data
- Out
- five numbers per route
In the experiments: “the ticket price, delay ratio, cancel ratio, divert ratio, and seat availability”. Equation (1) and Algorithm 1 change only the frequencies, so on this page’s reading the features stay fixed while the frequencies are searched.
In the toy: there are none.
The paper does not say whether changing frequencies would in turn change prices or delays.
Competitors
fixed “Competing Carriers' frequencies, ticket prices, and other features”, the paper’s Figure 1
- In
- the last month’s data
- Out
- inputs of the predictor
An input of the predictor. Equation (1) optimises only carrier k’s frequencies, so on this page’s reading these inputs stay fixed during the search.
In the toy: one fixed rival strength per route, made up.
The paper does not study competitors reacting to the new plan.
Embed
fixed Eq. 11, page 4333
- In
- a route’s frequency and features
- Out
- one hidden vector per route
The frequency is concatenated with the route’s other features and passed through one fully connected layer.
In the toy: no counterpart.
Not reproduced here: the printed dimensions of this layer do not add up, so the page describes it in words.
Structure-aware attention
fixed Eq. 12 to 14, page 4333
- In
- every route’s vector
- Out
- a vector that has looked at all routes
Every route gathers from every route. The weight is a learned similarity plus a prior from the route network: routes become nodes, linked when one ends where the next begins, and the prior is a Gaussian kernel of the hop distance. Section 05 opens this up.
In the toy: a feeder bonus from routes one or two connections away.
The paper does not print the value of the kernel’s width (it defines it as the standard deviation of all pairwise shortest path lengths) or any learned weights.
Share ratio
fixed Eq. 16, page 4334
- In
- predicted passengers of each airline
- Out
- a share between 0 and 1
The model predicts the airline’s passengers on the route, clips negative values, and divides by the predicted passengers of all airlines on that route.
In the toy: your pull over your pull plus the rival’s.
DB1B “releases 10% of tickets sold in the US every month”; the paper does not say whether its passenger counts are raw counts from that sample or scaled up.
Share m
moves fast m = Θ(f, ·), Eq. 2
- In
- the predictor’s output
- Out
- one share per route
“The market share mr,k is estimated by a pre-trained prediction model.” It changes every pass because the frequencies do.
Toy, this pass:
The paper reports no field test of any predicted share for a new plan.
Passengers o
moves fast o(f), Eq. 4, page 4332
- In
- share m, demand d
- Out
- one passenger count
The demand, “the passenger demand for Route r”, times the share, summed over routes. This is the quantity the Metrics paragraph calls “optimized passengers”, reported in Tables 1 and 3.
Toy, this pass:
The paper does not say where the demand comes from.
Two timescales
Eq. 6 and Assumption 1, Eq. 8
- Fast
- the frequencies, step η₂
- Slow
- the coefficient λ, step η₁
The step sizes ensure that “the frequency update is performed on a faster timescale than that of the coefficient λ of the penalty signal”. Assumption 1 asks that both steps shrink, not too fast, and that η₁ divided by η₂ tends to zero.
Toy, this pass:
The paper does not print its step sizes or their schedule. The toy’s are ours.
Gradient step
moves fast Eq. 7; Algorithm 1, line 7
- In
- L, and its slope for each route
- Out
- a move for each route
The gradient of log(o − λc), “obtained using the log-likelihood trick”. A route moves up when an extra flight wins more than λ times its cost.
Toy, this pass:
The paper does not say what happens when o − λc is not positive. The toy’s guard is its own.
Keep in range
moves fast projection Γf, Eq. 6
- In
- the moved frequencies
- Out
- frequencies inside their limits
The paper writes: “we project the frequency solution onto a compact and convex set”. Equation 5 bounds each frequency between 0 and the route’s observed maximum; reading the set as that box is ours.
Toy, this pass:
The paper does not write out the set it projects onto.
Settled?
“while not convergence”, Algorithm 1, line 3
- No
- another pass
- Yes
- round down
The loop repeats until convergence. The paper’s Figure 3 runs to 2,000 iterations on its horizontal axis.
Toy, this run:
The paper does not print its convergence test or how many iterations its tables used.
Round down
continuous relaxation, page 4332
- In
- settled real numbers
- Out
- whole flights
“We relax flight frequencies to real numbers during the maximization and round down the real numbers to integers at the end of the maximization process.”
Toy, this run:
The paper does not report what rounding costs in passengers or leaves unspent.
Penalised objective L
“Lagrange function”, Eq. 3
- In
- o from above, λ and c from below
- Out
- one number to climb
o minus λ times c. The paper calls the budget term “a penalty signal” and λ “a coefficient of the penalty signal”. This box is the only place where the signal acts on the frequencies.
Toy, this pass:
The paper gives no ablation of this part: no run with λ fixed or without the logarithm.
Budget gap c
moves fast c(f), Eq. 4; Algorithm 1, line 6
- In
- frequencies, cost per flight, budget
- Out
- cost minus budget
The paper’s “cost per flight on Route r for airline k” times the flights, summed, minus “the budget of airline k”. Positive means over budget. It changes as fast as the frequencies do; only the coefficient it feeds moves slowly.
Toy, this pass:
The paper does not give the costs, the budgets, their source or their unit.
Signal coefficient λ
moves slowly “Lagrange multiplier”; Algorithm 1, lines 2 and 8
- In
- the budget gap
- Out
- how hard the signal pushes
It starts at 0. “Previous methods manually set the Lagrange multiplier”; here line 8 updates it from the overspend on every pass.
Toy, this pass:
The paper does not name the previous methods it means.
Keep at or above zero
moves slowly projection Γλ, Eq. 6
- In
- the updated λ
- Out
- λ, never negative
The paper projects “the Lagrange multiplier into the range [0, ∞]”. A negative coefficient would reward overspending.
Toy, this run:
Nothing further is said about this step in the paper.