Skip to content

Bunch selection context model ​

1. Overview ​

The selection context owns the branch-and-price policy and coordinates bunch generation with bunch compilation. The current Kotlin context is an algorithm orchestrator; it does not declare an independent variable family.

1. Dependent Contexts ​

Bunch generation, bunch compilation, task, rule, passenger, and aircraft.


2. Concepts / Entities ​

1. Selection policy ​

P contains reduced-cost tolerance, column limits, executor minimums, and time limits; gen and compile are the generation/compilation ports.

2. Shadow-price map ​

Π maps master symbols to dual values consumed by pricing.

3. Bunch solution ​

S contains selected bunches and the final compilation result.


3. Variables ​

No solver variables are registered by BunchSelectionContext. Branch decisions and node bounds belong to the generic branch-and-price algorithm state.


4. Predicates ​

improving(b): generated bunch has acceptable reduced cost. fractional(n): node solution has a fractional selection. integral(n): selected columns pass the integer acceptance check. compatible(b,n): bunch respects node decisions.


5. Sets ​

N: branch nodes; Bn: columns compatible with node n;

Dn: require/forbid branch decisions; Πn: node dual map.


6. Intermediate Values ​

For node n, the queue bound and pricing result are:

lowerBoundn=RMP(n),pricingn={b∈Bn∣rcn(b)<−ϵ}

7. Assertions ​

Child nodes inherit immutable branch decisions and only compatible columns:

∀b∈Bn:compatible(b,n)=true

An integer candidate is accepted only after compilation and domain feasibility checks succeed.


8. Constraints ​

No independent solver constraints are registered here. The policy imposes algorithmic limits on time, nodes, columns, and reduced-cost tolerance; these are termination conditions rather than mathematical rows.


9. Objective Function (if applicable) ​

The context delegates the master objective to bunch compilation. It does not introduce a second objective.


10. Algorithm References ​

AlgorithmSource rolePurpose
BranchAndPriceAlgorithmselection serviceprocess nodes, branch fractional solutions, and coordinate pricing

11. Ubiquitous Language ​

TermSymbolDefinition
branch nodenRMP plus inherited decisions
branch decisionD_nrequire/forbid assignment or link choice
incumbentSbest accepted integer solution
lower boundlowerBound_nnode RMP bound

12. Design Decisions ​

DecisionAlternativeRationale
keep branching in orchestrationencode branch state as domain variablesgeneric algorithm can reuse compilation/generation ports

13. Change Log ​

VersionChangeReason
1.0Documented selection as orchestration contextAvoid inventing a second optimization model