Skip to content

Unecessary waiting with multiple breaks and shipments #840

@jcoupey

Description

@jcoupey

While working on #794, I came across some weird results when using several breaks and shipments. Turns out the additional constraint added in that PR only stresses an existing problem.

Below is an illustration with a random instance of 200 shipments and 3 vehicles where I report the timeline plot for the first vehicle.

Default solving

s_200_v_3_seed_14_sol_r_0

The timeline is filled with travel time, no unassigned jobs, hurray.

Adding one break

s_200_v_3_seed_14_1_break_sol_r_0

The break is taken at some point during the route, everything still OK (break TW in purple).

Adding two breaks

s_200_v_3_seed_14_2_break_sol_r_0

Now we have a problem: nothing is done between the two breaks, while no tasks have TW (only the breaks and the vehicle have). As a result of this "wrong" idle time, a lot of unassigned tasks show up in the solution.

I've tried my best to reproduce with a smaller example, to no avail so far. So this is probably only happening in very specific circumstances.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions