2

I am trying to solve a vrp which consists of pickups and deliveries. I have 73 vehicles and I want to use all the available vehicles to reduce overall time of process. I observed that the result is 24 vehicles never been used while other got multiple jobs. The issue is some of assigned vehicle actually come back to the next job at location that is nearer to unassigned vehicle while further to it last location. So looks like the engine still trying to use least vehicle. How could I change the parameters like:

“FixedCost”,
“DistanceCost”,
“TravelTimeCost”,
“WaitingTimeCost”

to maximize the number of vehicles used? I have tried to change some ways (put some values to FixedCost or make it equal to zero), add values to DistanceCost, TravelTimeCost, but still not working. I still seeing vehicles taking multiple jobs while many vehicle nearer to some of that jobs will never been used on it's available time.

user1314404
  • 1,253
  • 3
  • 22
  • 51
  • I would try below: 1. Did you try to override the default objective function? See this to get an idea: getObjectiveFunction (Jsprit.java). 2. SoftActivityConstraint - adding a soft activity constraint to encourage more usage of vehicles? 3. Also check whats happening in implementors of SolutionAcceptor.java – Kalyan Chakravarthi Nov 12 '19 at 12:21

1 Answers1

1

I believe maximizing number of vehicles is not your genuine demand but maybe you want to minimize the longest route in terms of time.

So that is the same problem as AbeProblemMinMax.

However, this is implemented in jsprit v1.3 which is a quite old version. See here for a re-implementation in v1.7.3.

Zhaoyu ZHONG
  • 133
  • 1
  • 1
  • 9