Hi,
we have a case where the solver packs a shipment with an earlier time window (e.g. 14:00) into a vehicle whose remaining shipments start at 15:00. The vehicle finishes the 14:00 leg at 14:15 and then waits 45 min idle. Digging into it, this seems to happen because vehicle departure is pinned to earliest_start, so the solver can’t just delay the tour to close the gap. Spinning up a new vehicle looks more expensive than eating the wait.
For our customers it’s fine to use an extra vehicle instead of having one sit idle for 45 min. We’d rather run more vehicles than waste time like that.
Two things we’re unsure about:
-
Does
cost_per_secondinvehicle_typesactually count waiting time, or only driving/transport time? Docs don’t say, and since jsprit underneath has separatecostPerTransportTimeandcostPerWaitingTimeparams, we suspect the exposedcost_per_secondonly maps to transport. Meaning tuning it wouldn’t fix our wait problem at all. -
Would you recommend tackling this via cost params (
cost_per_second,cost_per_activationetc.) or via the “Flexible Vehicle Departure Times” beta (latest_start) instead? Leaning towardslatest_startsince it directly targets the fixed departure cause, but curious if others have had luck with cost tuning for this.
Thanks!