Route Planning with Delivery Constraints

Managing delivery constraints while optimizing vehicle routes

Constraints on vehicles used for pickups and deliveries is a hard fact of business. Some items might need to be kept in a cold chain environment. Others might require a forklift to be moved on and off the delivery vehicle. Managing any type of constraint on deliveries while minimizing costs is vital for virtually every transport related business.

Precisely what type of constraints your business encounters is often going to be fairly unique so it pays to have real flexibility when it comes to optimizing around these constraints.

Adding Delivery Constraints

Let's assume that our business has one vehicle that has a mounted forklift used for delivering abnormally heavy loads. This information can be captured as a vehicle attribute (that will be required when it comes to creating a schedule that requires a forklift for delivery):

Using vehicle attributes to apply delivery constraints to route optimizations

With that saved the new vehicle attribute is available to apply to any and all vehicles that have that attribute in your fleet. For the purposes of this example, we'll say our Red Pickup has a forklift, like so:

Adding a vehicle attribute to a vehicle for delivery constrained route optimizations

Optimizing with Delivery Constraints

With that vehicle now assigned a Forklift it is ready to make pickups and drop-offs at any location requiring it. Let's try it out by creating a schedule that so happen to have a location, Hospital Cochin, requiring a Forklift. Something like this:

Creating a location constrained route optimization schedule

As you can see, the Red Pickup now has a Forklift attribute set, and the location Hospital Cochin has a requirement that the vehicle arriving at it should have a forklift. Also, take note of the fact that the costs of each vehicle are set differently with the Red Pickup having greater fixed, distance and time costs. This is really to keep things a bit more realistic since a vehicle that is big enough to have a mounted forklift is probably going to cost significantly more to operate than, say, a light pickup.

You can learn more about how vehicle costs affect route optimizations.

Optimizing this schedule gives the following result:

Optimized route showing deliveries to constrained location

As it turns out, the Red Pickup made a single delivery to Hospital Cochin as shown by the tool-tip in the linear timeline of the Red Pickup. Every other location was visited up by the much cheaper White Pickup. This should makes sense since we really want to minimize the amount of work the more expensive vehicle does wherever possible.

Optimizing with Complex Delivery Constraints

What if we had a situation where the vehicle being used had to meet at potentially multiple criteria. For example, it might need to be a cold chain vehicle and have at least 3 drivers (in other words, one driver and two packers) in order to make the delivery. We could specify the following attributes on the White Pickup:

Route optimization with multiple constraints

With a vehicle in place that can meet the delivery constraints required for our schedule we can set up the schedule like this:

Optimizing routes with multiple vehicle attributes and location constraints

Note that I've updated the costs associated with the White Pickup commensurate with the fact that there are now 3 employees in that vehicle at any one time, and that it has cold chain facilities making it more expensive to run. The solution is fairly straightforward:

Optimized route showing delivery constraints being met

As you can see, the White Pickup has now visited Necker Hospital that required 3 drivers and a cold chain vehicle. However, because the White Pickup is now more expensive to run because of the hourly wage bill associated with 3 drivers it only visits one location before returning to the depot.