TrainStationMapAdapter.cost(node) uses node.getPassengerDemandScore() so higher passenger demand and level → slightly lower traversal cost:

const demand = node.getPassengerDemandScore();
return 1 / (1 + 0.25 * demand);
This commit is contained in:
scamiv
2025-11-22 17:10:07 +01:00
parent 477704d768
commit 40b0fe990a
+5 -1
View File
@@ -264,7 +264,11 @@ export class TrainStationMapAdapter implements GraphAdapter<TrainStation> {
}
cost(node: TrainStation): number {
return 1;
// Favor higher-demand stations slightly by reducing their traversal cost.
const demand = node.getPassengerDemandScore(); // ~0..level
const baseCost = 1;
const alpha = 0.25; // tuning knob
return baseCost / (1 + alpha * demand);
}
position(node: TrainStation): { x: number; y: number } {