Cheaper & Greener – Transportation Multi-Objective Optimisation

My job as a Supply Chain / Transportation Solution Architect requires me to be working with the best in class transportation optimisation solutions in the market  (OTMSAP TM etc..) to model solutions for logistic companies, 3PLs and shippers. I have often wondered what actually goes behind the scenes under all the proprietary code and maths to determine the optimal solution considering a huge number of constraints.

So I was happy that as part of my Masters programme in Enterprise Data Analytics we learnt how to model real world optimisation problems and solve them using linear programming and multi-objective optimisation. It was a really interesting to finally take a peek under the hood and understand what is actually going on in some of the complex TMS tools used by logistics companies today to optimise their transportation fleets.

While this was a “classroom type” project, it definitely reveals some of the maths that is going on behind the scenes. This certainly does not mean that we can now go and build our own transport management solutions – but it certainly sheds some light to what was previously a black box :). Many of the leading TMSes may not be using the same approach as discussed here – but one common aspect is that the satisfaction of constraints are at the heart of such solution approaches.

So for this blog post, I will be sharing how we approached a “real world like” problem of optimising a fleet of mixed sized trucks for a supplier of automotive parts delivering into manufacturing assembly lines. The actual supplier and assembly line locations were masked but the volumes are scaled based on the actual volume received.

Because the tool we used for this exercise is a trial software, hence there were limitations to the size and complexity of the problem we could model. So to simplify the problem, the following assumptions were taken:

  • There are 4 (01 – 04) assembly lines the supplier needs to deliver the parts to
  • The supplier has a fleet of 3 different trucks types which they used to transport the auto parts to each of the four assembly lines. The parts can be loaded into a 5 Tonne (5T), 8 Tonne (8T) and 10 Tonne (10T) truck type based on the volume of the truck.
  • Each truck has a different rental cost and once a truck is used, regardless of the number of orders on the truck, the cost of the truck is expensed.
  • The cost of the truck would include driver hourly rate and fuel surcharge by distance per delivery trip.
  • The distance and time matrix between the supplier and the plant is given
  • Dimensional modelling was not considered and only pure volume was used

The supplier is looking at optimising the use of their fleet of trucks to meet the contracted demand of the car manufacturer to each assembly line. In addition, the supplier’s customer has a commitment to ensure CO2 is minimised because of the environmental policy of the customer.

truck fleet optimisation-4
This is definitely not good for the environment!

Hence the objectives are to minimise the cost of the truck and trip assignments as well as to minimise the CO2 emission. The key decision variables to this problem is:

  1. The optimal no. of trucks of each type (e.g. 2 x 5T)
  2. The optimal no. of trips each of the trucks need to make (e.g. 2 x 5T trucks with 3 trips each, resulting in 6 deliveries using 5T trucks)

And the result needs to consider the least no. of trucks and the lowest CO2 emission as a result of delivering all the orders.

Solution Modelling

The Table 1 below shows the necessary parameters and decisions variables.truck fleet optimisation-0

The first objective function of the proposed model given in Eq. (1) minimised the transportation cost of the total orders to each of the assembly lines.

truck fleet optimisation-0d

Cost of delivering the good using truck type  to assembly line  is dependent on the distance travelled to assembly line  based on the rate per distance for the truck and the fuel surcharge per distance to assembly line .

The second objective function proposed model minimises carbon dioxide (CO2) emissions. The second objective function is given in Eq. (2).

truck fleet optimisation-0e

Carbon cost of delivering the good using truck type  to assembly line  is dependent on the distance travelled to assembly line  and the carbon emission rate per KM.

truck fleet optimisation-3

Constraints (3) to (6) determines the maximum supply using each truck types. Eq. (7) ensures that the maximum number of trucks used for each type must be within the fleet x trip size. Eq (8) to (11) determines the maximum demand for each assembly line. Finally, Eq (12) to (18) ensures the non-negativity of variables.

Efficient Frontier Curve

When we solved for both objectives as part of the multi-objective optimisation, we plotted a efficient frontier curve as shown:

truck fleet optimisation-0f

The unusual shape of the frontier curve might be explained by the quadratic cost objective functions as well as the quadratic CO2 emission cost objective function.

But as observed from the chart, the transportation costs are relatively insensitive over the CO2 values over a certain value range; suggesting that unless there is a high penalty cost involved for the ensuring that CO2 emission level is maintained at certain standard, the company is likely to place greater emphasis in minimizing transportation cost and side-line the CO2 emission costs, if there is a need to choose / compromise one objective over the other. In other words, unless CO2 emission cost is high enough, there isn’t an incentive for the supplier to change the fleet configuration so as to further minimise the overall cost of transport and CO2 emissions.

Scenario Testing

We ran multiple scenarios through this model to determine the impact of the various key constraints modelled. The following details the scenarios as well as the interpretation of the results of the LP. The scenarios are detailed in the Transport Data and Matrix.xlsx – Scenarios tab. (refer to Github link below for the xls file)

Scenario: Truck Rental Change

With the reduction on the rental cost of 5 Tons trucks, the supplier should generally maximize on the 5 Tons trucks usage i.e. number of trucks by number of trips. The remaining auto-parts demand that cannot be fulfilled by the 5 Tons trucks are then delivered using either 8 Tons or 10 Tons trucks. However, the changed amount in the scenario might not be significant enough to cause a change in the allocation of supply among the different truck types given the two objectives.

Scenario: Fuel Surcharge Rate Change

With the reduction on the Fuel Surcharge Rate of 5 Tons trucks by 1.2% and an increase for both 8 Tons and 10 Tons truck, the supplier should maximize on the 5 Tons trucks usage i.e. number of trucks by number of trips, which offer benefits on the lower cost form both the truck rental and fuel usage for delivery. The remaining auto-parts demand that cannot be fulfilled by the 5 Tons trucks are then delivered using either 8 Tons or 10 Tons trucks.

Scenario: Fleet Size Change

With the reduction on the number of 5 Ton trucks and an increase in the 8 Ton truck, the supplier should still maximise on the 5 Tons truck usage. However, the remaining auto-parts demand should be allocated to the 8 Ton truck first where possible to benefit on the lower truck rental cost.

Scenario: Volume Change

With the increase in the capacity of 5 Tons truck by 3 cbm, the supplier should maximizes on the 5 Tons trucks usage i.e. number of trucks by number of trips, which offer benefits on the lower cost from both the truck rental with having higher delivery capacity. The remaining auto-parts demands that cannot be fulfilled by the 5 Tons trucks are then delivered using either 8 Tons or 10 Tons trucks.

However, no optimal solution that meet both the objectives can be obtained as no supply can be delivered to assembly line 2. In other words, the demand constraint from assembly line 2 is not met.

Scenario: Demand Change

With an increase in demand from assembly line 1 and line 2 and a decrease in demand from assembly line 3 and 4, it is suggested that we arranged for bigger trucks to fulfil the increased load from line 1 and 2 rather than resort to using more 5 Ton truck.

Scenario: CO2 Adjusted Emission Factor

When there is a change in the carbon dioxide (CO2) adjusted emission factor, the bigger impact is on the carbon dioxide emission cost and not so significant on the transportation cost most of the time. It is probably also dependent on the importance of social corporate responsibility that the supplier has and the penalty cost arising from environmental policy. Technology breakthrough would probably also play a part in moderating the impact of this parameter.


From the scenario analysis, it seems to suggest that the optimisation models here can be used to support the decision making in the company’s new strategy or adapting to new environment factors. For example, the supplier must plan to expand their fleet of truck before they accept any new orders or in anticipation of expanding their business. By stimulating decision variable values for both the demand change and the new fleet size for the various truck types, the supplier can use the information in their decision making when conceptualising their expansion strategy.

I really enjoyed tackling this problem and I hope you have also enjoyed reading this very very long post. But hey, who says optimisation was easy anyway 🙂

You can download the files and play around with the various constraints to explore and see what the results show. All I kindly request is that you make a link back to this post (as an acknowledgement) if you use the code in any of your work or assignments.

Thanks for reading and keep optimising!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s