reinterpretcat / vrp

A Vehicle Routing Problem solver
https://reinterpretcat.github.io/vrp/
Apache License 2.0
331 stars 68 forks source link

minimize-unassigned first objective not using all shifts #74

Closed nkl1996 closed 2 years ago

nkl1996 commented 2 years ago

Hey, i have a problem with 7000 jobs, 6 teams and 55 shifts per team. My objectives: "objectives": [ [ { "type": "minimize-unassigned" } ], [ { "type": "minimize-distance" } ], [ { "type": "minimize-cost" } ] ]

In total the solution could have up to 330 tours but the solution i got only had 300 tours and still over 900 jobs unassinged.

Can you explain why not all shifts are used? I am currently running a test with the objective maximize tours but that is not really what i want because if there were a solution with less then 330 tours and all jobs assigned i would prefer this solution.

I am trying to unterstand the objectives better but for me its only a black box. Does the programm compare the objectives in anyway when they are not the same priority?

reinterpretcat commented 2 years ago

Hi,

regarding the first question, I don't know what does team mean in your context. Typically, high amount of unassigned jobs can happen:

In general, it is not easy to analyze performance of large scale problems.

Regarding the second question, have you checked documentation examples [1]?

Does the programm compare the objectives in anyway when they are not the same priority?

No, the algorithm returns result of first not equal objective function values.

[1] https://reinterpretcat.github.io/vrp/examples/pragmatic/objectives/index.html

nkl1996 commented 2 years ago

Hey,

I don't know what does team mean in your context

With team i meant vehicle.

The test optimization with maximize tours is done now. The solution is also not satisfying, all shifts were used this time but there were over 50 tours with only 1 job and much time left before the shift ends. There were tours with only 30 minutes used of a 10 hours shift.

such jobs are unreachable

I double checked this and thats not the case.

search is interrupted during initial solution building phase (can be seen by checking logs, actual for high jobs amount)

Here is the log with minimize tours. I dont see anything unusual. minimize tours.log

Regarding the second question, have you checked documentation examples [1]?

Yes i checked these. Its just everytime i think i understood how objectives work strange things like these happen and i dont know why.

nkl1996 commented 2 years ago

Hey,

i double checked everything and found the issue. I were using skills so not all vehicles could do every job.

Thanks for your help!