v1.0.0

Cost Weights

Configure the objective function cost weights used by the solver.


Overview

Cost weights control how the solver's objective function balances different types of recovery actions. All values are relative integers — the solver minimises total weighted cost across all actions.

Higher values penalise the corresponding action more heavily, making the solver prefer alternatives.

CostWeights

ParameterTypeRequiredDescription
delay_mininteger= 1Optional

Cost per minute of delay. Applied to each flight's delay, multiplied by the time block size.

swapinteger= 50Optional

Cost per aircraft swap. Represents the operational complexity of changing aircraft assignments.

deadheadinteger= 100Optional

Cost per deadhead repositioning. Applied when empty aircraft need to be moved between airports.

cancel_flightinteger= 10000Optional

Base cost of cancelling a flight (before passenger re-accommodation costs).

reaccom_baseinteger= 50Optional

Base re-accommodation cost per displaced passenger.

reaccom_hourinteger= 20Optional

Additional hourly cost per displaced passenger while waiting for re-accommodation.

reaccom_hotelinteger= 250Optional

Hotel accommodation cost per passenger (applied when wait exceeds the hotel threshold).

crew_duty_violationinteger= 5000Optional

Penalty for each crew duty period violation. Set high to strongly discourage regulatory breaches.

Examples

Favour delays over swaps

If your operation prefers to delay flights rather than swap aircraft (e.g. to minimise ground crew re-coordination):

json
{
  "costs": {
    "delay_min": 1,
    "swap": 200
  }
}

Heavily penalise cancellations

For airlines where cancellations are extremely costly due to rebooking guarantees:

json
{
  "costs": {
    "cancel_flight": 50000,
    "reaccom_base": 100,
    "reaccom_hotel": 500
  }
}

Balance matters

The ratio between cost weights matters more than absolute values. If cancel_flight is too low relative to delay accumulation, the solver may prefer cancellations when delays would be better.