SSBLP

class passengersim.rm.linear_program.SSBLP(_carrier: str, *, num_samples: int = 3, max_dcp_index: int = 16, debug: bool = False)[source]

Bases: LpBase

Stochastic Sales-Based LP, following [Ratliff 2025]

Methods

__init__(_carrier, *[, num_samples, ...])

create_OA_variables(eng, mkt_key)

create_balance_constraints_x(eng, mkt_key, ...)

create_balance_constraints_y(eng, mkt_key, ...)

create_capacity_constraints(eng)

create_decision_variables(eng, mkt_key, mkt, ...)

create_nesting_constraints(eng, mkt_key, path)

create_scale_constraints_x(eng, mkt_key, ...)

create_scale_constraints_y(eng, mkt_key, ...)

initialize(eng)

solve(eng[, debug])

Solve the LP and write dual values (displacement costs / bid prices) back to each leg.

test_status(status, eng[, debug])

update(eng)

Attributes

carrier

solver

objective

lp_vars

constraints

epsilon

num_samples

set_bp

debug

carrier
constraints
debug
solver
lp_vars
num_samples
objective
initialize(eng: SimulationEngine)[source]
create_decision_variables(eng, mkt_key, mkt, revenue_c)[source]
create_OA_variables(eng, mkt_key)[source]
create_nesting_constraints(eng, mkt_key, path)[source]
create_balance_constraints_y(eng, mkt_key, mkt, dmd_info)[source]
create_balance_constraints_x(eng, mkt_key, mkt, dmd_info)[source]
create_scale_constraints_y(eng, mkt_key, mkt, dmd_info)[source]
create_scale_constraints_x(eng, mkt_key, mkt, dmd_info)[source]
create_capacity_constraints(eng)[source]
update(eng: SimulationEngine)[source]
epsilon
set_bp
solve(eng: SimulationEngine, debug: bool = False)[source]

Solve the LP and write dual values (displacement costs / bid prices) back to each leg.

test_status(status, eng, debug=False)