Combinatorial problems are complex since they consider a lot of details. That’s why an optimization engine that can’t account for all the details that are part of these complex problems won’t produce accurate results.
The optimization engine can help you by evaluating the many details that determine your system’s performance and by its support for automated decision making.
Let’s look at some of the detail Veeroute could consider as it optimizes a transportation approach. You’ll find it accommodates nearly all the requirements you need to effectively plan your deliveries:
- Time windows
- Location-based work
- Order fulfilment tasks
- Sequence of work activities
- Compatibilities issues
- Cargo dimensions
- Volume and weight
- Custom size parameters
- Cargo rotation
- Fixed relationships
- Orders in the same trip
Time windows for pick-ups and drop-offs
You can use Veeroute to address most, if not all, of your challenges related to delivery time windows. You can also develop complex delivery schedules that allow you to meet multiple delivery windows.
Veeroute allows your planning process to account for the work you and your team perform at pickup and drop-off locations. It might include the time your driver spends delivering a package, completing required paperwork and loading or unloading cargo.
Order fulfilment tasks
If your customer needs you to deliver their goods in a specific order, Veeroute allows you to define a sequence. For example, you may need to deliver your goods to a series of retail stores, starting with the largest store and ending at the smallest.
Sequence of work activities
This feature allows you to optimize the delivery considering a sequence of work activities that take place at different locations. For example, you might define a process that requires a driver to visit location 1 to obtain a document, use that document to pick up goods at location 2 and then deliver them to location 3, where he or she collects a cash payment.
Veeroute’s problem-specific API allows you to integrate compatibility issues for orders and goods into its optimized planning process:
- Which orders are compatible? If you decide salmon isn’t compatible with strawberries, you can accommodate this requirement.
- Which goods and orders can you deliver by a given transportation option? If you deliver frozen food, you’ll need a freezer.
- Which drivers can deliver a given order? If you deliver explosive materials, you may need a certified driver.
Orders that include different goods
An order may include goods which you can’t deliver in one vehicle because of compatibility or storage issues. Veeroute takes all these details into account as it develops high-quality plans.
Cargo dimensions (Length, width and height)
The optimization engine can calculate how many goods of differing sizes can fit into a specific vehicle. Afterward, it can use this information to help optimize your delivery approach.
Volume and weight
Like cargo dimensions, each vehicle can carry a maximum volume and weight. The optimization engine accounts for these values as it develops a plan that lists the orders and goods that specific vehicles can deliver.
Custom size parameters
If you want to use one or many custom parameters to calculate the amount of cargo a specific vehicle can accommodate, Veeroute can help you count – among other values – the numbers of pallets and items on board and their individual and total cost.
To calculate how much cargo a given vehicle can accommodate, the optimizer must know how you could arrange it. You can do this in several ways, including scenarios where you can prevent the optimizer from rotating a refrigerator at the same time you allow it to rotate a suitcase.
You may need to assign a specific driver or a specific vehicle to deliver a given order. For example, your customer may ask you to have a specific driver, a specific vehicle or both deliver their order.
Orders in the same trip
You may need to deliver several orders within the same trip. A customer may order wine from one store and steak from another and then ask you to deliver both orders at the same time. Another customer may order goods from an online shop that are stored at different locations and ask you to deliver them together.
You can set separate tariffs for different zones and for cross-border operations.
- Driver availability
- Work and rest schedules
- Break schedules
- Overtime pay
- Start and end locations
- Time to get to vehicle pick-up location
- Driver assignment
The engine accounts for the days and times that drivers are available to work.
For each driver, you can define the shifts when he or she can perform a delivery. If a driver is available from 6.00 a.m. to 9.00 p.m. to perform a six-hour shift, the optimizer can choose any shift that falls within this period.
Work and rest schedules
Different countries have different requirements for work and rest schedules. With the Veeroute SaaS optimization engine, you can define your requirements to make sure you’re following the law.
Define meal, rest or other breaks to provide ideal working conditions, meet your customer’s requirements and control expenses.
If a driver works more than a standard shift, he or she must receive overtime pay. Veeroute allows you to define a step-function to describe how a driver’s pay depends on their shift time.
Work and rest schedules
Veeroute can accommodate a transportation process that requires a driver to pick-up a vehicle at one location and drop it off at another location. For example, your process might have a driver pick up a vehicle at one location and then leave it at another location when his or her shift ends for another driver to pick up the following morning.
Time to get to vehicle pick-up location
If a driver needs to pick up a vehicle at a specific location, Veeroute accounts for the time it takes to get to that location and any shift and work-rest schedules that apply.
Like orders, you can use a compatibility list for drivers. Some examples include an Order list defines which drivers can deliver a specific order and a Vehicle list defines which drivers can drive a specific vehicle.
Assign a driver to a specific vehicle
In some cases, you may need to assign a specific driver to a specific vehicle. For example, you may want to assign your most experienced driver to your best vehicle to deliver expensive fragile goods.
- Means of transportation
- Availability schedule
- Vehicle shifts
- Maximum distance
- Cost step function
- Rented and own fleet
- Different costs
- Cost per weight
- Capacity, volume and weight requirements
- Custom capacity parameters
- Vehicle assignement
- Geographical zones
Means of transportation
You need efficient, agile and scalable delivery options to meet your customers’ expectations at reasonable cost. The Veeroute optimization engine supports all means of transportation, from trucks, flights and rail cars to motorcycles, bikes and pedestrians.
For all the vehicles you can specify when a specific means of transportation is available to do the delivery.
You can define the shifts for your vehicles. For example, you may require a given vehicle to be in service for at least 10 hours each day.
You can define the maximum distance per trip – including or excluding the trip’s return leg – in miles or kilometers.
Cost step function
You may find it helpful to use a step function to define a vehicle’s cost. For example, you might decide to increase the cost of a delivery by 20% if you or your staff use the same vehicle for more than 8 hours.
Rented and own fleet
With Veeroute, you can define any type of fleet – a fleet you own, a fleet you rent or any combination of the two – with different cost and usage requirements. Afterward, the solver will suggest the best configuration for your supply chain or delivery.
Different costs for loaded and empty vehicles
All else being equal, a loaded vehicle consumes more fuel than an empty one. The optimizer provides a more accurate cost prediction by accounting for these circumstances and their respective costs.
Cost per weight
The optimizer can use the weight of the goods on board a specific vehicle to develop accurate estimates. The lower the weight, the lower your transportation expenses.
You can define several compartments within a single vehicle. For example, one compartment may be for frozen food, a second for vegetables and fruits and the third for goods that have a long shelf life.
The optimizer can use the information you provide about your vehicles and their capacity to determine which orders or goods you can place in each vehicle’s compartments.
Capacity, volume and weight requirements
Like our previous example, the optimizer can draw on volume and weight requirements to provide meaningful results
Custom capacity parameters
You can define custom parameters which define a vehicle’s capacity and the capacity of each of its compartments. For example, you could measure your cargo’s capacity in pallets and then define the number of pallets that a given compartment in each vehicle could hold.
Like orders and drivers, you can also define compatibilities for vehicles:
- Type of goods defines which vehicle which goods may deliver
- Driver defines which drivers can drive which vehicle
- Loading/unloading location defines which vehicle at which locations may load or unload the orders/goods
Assign a vehicle to a specific driver
Veeroute allows you to assign a driver to a specific vehicle. For example, you may want to assign your most experienced driver to your best vehicle to deliver fragile goods.
Assign vehicles to deliver goods within geographical zones
You can assign specific vehicles to selected geographic areas. If you need to deliver goods within a city, you may want to use smaller trucks than if you were delivering them in a nearby suburb.
The optimizer can ensure routine vehicle maintenance doesn’t affect your delivery plans or performance.