I am trying to solve a problem statement with the help of jsprit.

There is a depot. Identical items need to be delivered or picked up. An item can have two states: Bad or good.

Bad items need to be collected from different locations and they end up at the depot. Good items can originate from the depot or different locations and they end up at various other locations.

Items are identical, hence any good item can be dropped where a good item needs to be dropped. However, the items are big in size and the last item in has to be the first item out. So, if a good item has gone in, then the next task has to be to drop a good item. We cannot pick up a bad item after a good item, since all bad items go to the depot and good items are not dropped at the depot.

How can I model this with jsprit or any other good VRP engine available in Java? Thanks in advance.

  • $\begingroup$ Why exactly should you drop a good item after picking it up? If you pick up a bad item after a good one, can you not drive to a depot, drop the bad one and continue your trip to a location that needs a good item? $\endgroup$
    – Maarten
    Dec 10 '19 at 23:09
  • $\begingroup$ Ahh yes, that can be done as well, if the overall route is optimized. My bad! $\endgroup$
    – Aman Kumar
    Dec 11 '19 at 6:20
  • 3
    $\begingroup$ I think you really have two questions here: (1) how to model the problem, and (2) how to solve it in Java. The problem you're describing is not a standard VRP, so I doubt that standard VRP solvers (in Java or any other environment) will be applicable. Most likely you'll have to model the problem as a MIP and solve it with a solver; or develop your own heuristic for it (which might or might not use a MIP formulation and solver). $\endgroup$
    – LarrySnyder610
    Dec 12 '19 at 13:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.