Algorithm 1 Returns the value of |
Set |
Set |
while |
Set |
if |
Set |
return |
else if |
Set |
end if |
end while |
Set |
return |
This paper introduces a non-standard vehicle routing problem (VRP) arising in the oil and gas industry. The problem involves multiple offshore production facilities, each of which requires regular servicing by support vessels to replenish essential commodities such as food, water, fuel, and chemicals. The support vessels are also required to assist with oil off-takes, in which oil stored at a production facility is transported via hose to a waiting tanker. The problem is to schedule a series of round trips for the support vessels so that all servicing and off-take requirements are fulfilled, and total cost is minimized. Other constraints that must be considered include vessel suitability constraints (not every vessel is suitable for every facility), depot opening constraints (base servicing can only occur during specified opening periods), and off-take equipment constraints (the equipment needed for off-take support can only be deployed after certain commodities have been offloaded). Because of these additional constraints, the scheduling problem under consideration is far more difficult than the standard VRP. We formulate a mixed-integer linear programming (MILP) model for determining the optimal vessel schedule. We then verify the model theoretically and show how to compute the vessel utilization ratios for any feasible schedule. Finally, simulation results are reported for a real case study commissioned by Woodside Energy Ltd, Australia's largest dedicated oil and gas company.
Citation: |
Figure 2.
An example of base servicing with
Algorithm 1 Returns the value of |
Set |
Set |
while |
Set |
if |
Set |
return |
else if |
Set |
end if |
end while |
Set |
return |
Table 1. Distances (in nautical miles) between facilities
Karratha | Angel | Goodwyn | Nganhurra | Ngujima-Yin | North Rankin | Okha | Pluto | |
Karratha | - | 68.4 | 78.4 | 180.0 | 175.0 | 75.0 | 65.0 | 95.9 |
Angel | 68.4 | - | 38.4 | 188.4 | 181.7 | 27.5 | 10.0 | 75.0 |
Goodwyn | 78.4 | 38.4 | - | 155.0 | 155.9 | 12.5 | 30.0 | 38.4 |
Nganhurra | 180.0 | 188.4 | 155.0 | - | 5.0 | 165.0 | 170.0 | 117.5 |
Ngujima-Yin | 175.0 | 181.7 | 155.9 | 5.0 | - | 160.0 | 165.0 | 112.5 |
North Rankin | 75.0 | 27.5 | 12.5 | 165.0 | 160.0 | - | 18.4 | 50.0 |
Okha | 65.0 | 10.0 | 30.0 | 170.0 | 165.0 | 18.4 | - | 65.0 |
Pluto | 95.9 | 75.0 | 38.4 | 117.5 | 112.5 | 50.0 | 65.0 | - |
Table 2. Service requirements for Scenario 1
Facility | Day | Demand | Time Window | Duration | Suitable Vessels | Off-take? |
Ngujima-Yin | 1 | 300 m2 | 0:00-24:00 | 30 hours | OSV | Yes |
Goodwyn | 2 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 2 | 200 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 3 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 6 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 6 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Ngujima-Yin | 8 | 300 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 9 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 9 | 200 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 9 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 10 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 16 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Nganhurra | 16 | 300 m2 | 0:00-24:00 | 30 hours | OSV | Yes |
North Rankin | 16 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Pluto | 17 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 19 | 200 m2 | 0:00-24:00 | 30 hours | OSV | Yes |
Goodwyn | 20 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 20 | 200 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Table 3. Service requirements for Scenario 2
Facility | Day | Demand | Time Window | Duration | Suitable Vessels | Off-take? |
Goodwyn | 1 | 200 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 2 | 200 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Ngujima-Yin | 3 | 200 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 4 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 5 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 5 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 5 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 6 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Nganhurra | 7 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Ngujima-Yin | 7 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 8 | 200 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 9 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Ngujima-Yin | 9 | 200 m2 | 0:00-24:00 | 30 hours | OSV | Yes |
Okha | 11 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 12 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 12 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 13 | 200 m2 | 0:00-24:00 | 30 hours | OSV | Yes |
Goodwyn | 14 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 15 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 18 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 19 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 19 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Table 4. Service requirements for Scenario 3
Facility | Day | Demand | Time Window | Duration | Suitable Vessels | Off-take? |
Angel | 1 | 200 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 1 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 1 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Nganhurra | 3 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Ngujima-Yin | 3 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Angel | 4 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 4 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 4 | 100 m2 | 0:00-24:00 | 30 hours | OSV | Yes |
North Rankin | 5 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 7 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 8 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Ngujima-Yin | 8 | 200 m2 | 0:00-24:00 | 30 hours | OSV | Yes |
North Rankin | 8 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 10 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 11 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 12 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 14 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 14 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Pluto | 14 | 300 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 15 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Nganhurra | 17 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Ngujima-Yin | 17 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 18 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 19 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 21 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 21 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Table 5. Service requirements for Scenario 4
Facility | Day | Demand | Time Window | Duration | Suitable Vessels | Off-take? |
Goodwyn | 1 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Nganhurra | 1 | 250 m2 | 0:00-24:00 | 30 hours | OSV | Yes |
North Rankin | 1 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 3 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Ngujima-Yin | 3 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 3 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Nganhurra | 4 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Ngujima-Yin | 5 | 150 m2 | 0:00-24:00 | 30 hours | OSV | Yes |
Goodwyn | 7 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 7 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 8 | 200 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Pluto | 9 | 250 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Ngujima-Yin | 10 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 11 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Nganhurra | 11 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 11 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Pluto | 12 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 13 | 100 m2 | 0:00-24:00 | 30 hours | OSV | Yes |
Goodwyn | 14 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 14 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 15 | 200 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 16 | 200 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Ngujima-Yin | 17 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Goodwyn | 18 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Nganhurra | 18 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
North Rankin | 18 | 150 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Angel | 21 | 300 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Okha | 21 | 100 m2 | 0:00-24:00 | 3 hours | PSV, OSV | No |
Table 6. Model dimensions in terms of binary variables (BVs), continuous-valued variables (CVs), and constraints
Original Model | Simplified Model | ||||||
BVs | CVs | Constraints | BVs | CVs | Constraints | ||
Scenario 1 | 1,646,568 | 1,646,569 | 1,646,870 | 206,868 | 20,571 | 207,167 | |
Scenario 2 | 2,069,928 | 2,069,929 | 2,070,258 | 292,443 | 31,582 | 292,771 | |
Scenario 3 | 2,541,672 | 2,541,673 | 2,542,030 | 322,105 | 35,540 | 322,461 | |
Scenario 4 | 2,795,688 | 2,795,689 | 2,796,060 | 330,484 | 39,859 | 330,853 |
Table 7. Optimal fuel consumption for Scenarios 1-4
Total Fuel Use (L) | ||||
Historical | Initial | Optimized | Improvement | |
Scenario 1 | 108,620 | 107,560 | 97,440 | 10.29% |
Scenario 2 | 124,460 | 113,880 | 96,040 | 22.83% |
Scenario 3 | 139,500 | 138,400 | 125,820 | 9.81% |
Scenario 4 | 170,680 | 168,960 | 148,640 | 12.91% |
Table 8. Optimal vessel utilization for Scenarios 1-4
Deck-space Utilization | Time Utilization | ||||||
PSV | OSV 1 | OSV 2 | PSV | OSV 1 | OSV 2 | ||
Scenario 1 | 100% | 100% | 100% | 30% | 37% | 31% | |
Scenario 2 | 80% | 88% | 89% | 26% | 31% | 31% | |
Scenario 3 | 100% | 78% | 83% | 51% | 33% | 27% | |
Scenario 4 | 92% | 96% | 100% | 45% | 41% | 43% |
[1] |
AIMMS Modelling Platform, AIMMS B. V., Haarlem, Netherlands, accessed 17 April 2016, <http://www.aimms.com>
![]() |
[2] |
F. Alonso, M. J. Alvarez and J. E. Beasley, A tabu search algorithm for the periodic vehicle routing problem with multiple vehicle trips and accessibility restrictions, Journal of the Operational Research Society, 59 (2008), 963-976.
![]() |
[3] |
N. Azi, M. Gendreau and J. Y. Potvin, An exact algorithm for a single-vehicle routing problem with time windows and multiple routes, European Journal of Operational Research, 178 (2007), 755-766.
doi: 10.1016/j.ejor.2006.02.019.![]() ![]() ![]() |
[4] |
N. Azi, M. Gendreau and J. Y. Potvin, An exact algorithm for a vehicle routing problem with time windows and multiple use of vehicles, European Journal of Operational Research, 202 (2010), 756-763.
![]() |
[5] |
M. Battarra, M. Monaci and D. Vigo, An adaptive guidance approach for the heuristic solution of a minimum multiple trip vehicle routing problem, Computers and Operations Research, 36 (2009), 3041-3050.
![]() |
[6] |
J. Bisschop, AIMMS Optimization Modelling, Haarlem: AIMMS B. V., 2016.
![]() |
[7] |
J. C. S. Brandão and A. Mercer, The multi-trip vehicle routing problem, Journal of the Operational Research Society, 49 (1998), 799-805.
![]() |
[8] |
D. Feillet, P. Dejax, M. Gendreau and C. Gueguen, An exact algorithm for the elementary shortest path problem with resource constraints: Application to some vehicle routing problems, Networks, 44 (2004), 216-229.
doi: 10.1002/net.20033.![]() ![]() ![]() |
[9] |
B. Fleischmann, The vehicle routing problem with multiple use of vehicles (technical report), Hamburg: Universität Hamburg, 1990.
![]() |
[10] |
Gurobi, Optimizer Reference Manual, Houston: Gurobi Optimization Inc., 2016.
![]() |
[11] |
F. Hernandez, D. Feillet, R. Giroudeau and O. Naud, A new exact algorithm to solve the multi-trip vehicle routing problem with time windows and limited duration, 4OR, 12 (2014), 235-259.
doi: 10.1007/s10288-013-0238-z.![]() ![]() ![]() |
[12] |
IBM ILOG CPLEX Optimizer, IBM Corporation, New York, USA, accessed 17 April 2016,<http://www.ibm.com/software/commerce/optimization/cplex-optimizer>
![]() |
[13] |
IBM ILOG CPLEX Optimization Studio CPLEX User's Manual, New York, IBM Corporation, 2014.
![]() |
[14] |
R. Macedo, C. Alves, J. M. Valério de Carvalho, F. Clautiaux and S. Hanafi, Solving the vehicle routing problem with time windows and multiple routes exactly using a pseudo-polynomial model, European Journal of Operational Research, 214 (2011), 536-545.
doi: 10.1016/j.ejor.2011.04.037.![]() ![]() ![]() |
[15] |
A. Olivera and O. Viera, Adaptive memory programming for the vehicle routing problem with multiple trips, Computers and Operations Research, 34 (2007), 28-47.
doi: 10.1016/j.cor.2005.02.044.![]() ![]() ![]() |
[16] |
R. J. Petch and S. Salhi, A multi-phase constructive heuristic for the vehicle routing problem with multiple trips, Discrete Applied Mathematics, 133 (2003), 69-92.
doi: 10.1016/S0166-218X(03)00434-7.![]() ![]() ![]() |
[17] |
E. D. Taillard, G. Laporte and G. Gendreau, Vehicle routeing with multiple use of vehicles, Journal of the Operational Research Society, 47 (1996), 1065-1070.
![]() |
[18] |
P. Toth and D. Vigo, editors, The Vehicle Routing Problem, Philadelphia: SIAM, 2002.
doi: 10.1137/1.9780898718515.![]() ![]() ![]() |
[19] |
S. Salhi and R. J. Petch, A GA based heuristic for the vehicle routing problem with multiple trips, Journal of Mathematical Modelling and Algorithms, 6 (2007), 591-613.
doi: 10.1007/s10852-007-9069-2.![]() ![]() ![]() |
[20] |
A. Şen and K. Bülbül, A survey on multi trip vehicle routing problem, In: Proceedings of the International Logistics and Supply Chain Congress 2008, Istanbul, Turkey.
![]() |