Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Solving the empty container problem using double-container trucks to reduce vehicle miles
(USC Thesis Other)
Solving the empty container problem using double-container trucks to reduce vehicle miles
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
Solving the Empty Container Problem
using Double-Container Trucks To
Reduce Vehicle Miles
by
Santiago Carvajal Minvielle
A dissertation submitted in partial fulfillment of
the requirement of the degree of
Doctor of Philosophy
(Industrial and Systems Engineering)
at the University of Southern California
FACULTY OF THE USC GRADUATE SCHOOL
August 2019
Committee:
Dr. Maged M. Dessouky, Chair
Dr. John Gunnar Carlsson
Dr. Petros Ioannou
2
Contents
1. Introduction ............................................................................................................................................. 6
1.1 Background........................................................................................................................................ 6
1.2 Motivation .......................................................................................................................................... 7
1.3 Problem Description ......................................................................................................................... 7
1.4 Research Gap and Contribution .................................................................................................... 10
1.5 Structure of Thesis .......................................................................................................................... 11
2. Literature Review ................................................................................................................................. 12
2.1 Container Assignment Problem ..................................................................................................... 12
2.2 Vehicle Routing Problem Regarding Container Assignment ..................................................... 15
2.3 Pickup and Delivery Problem ........................................................................................................ 19
3. Problem Statement and Formulation .................................................................................................. 21
3.1 Problem Description ....................................................................................................................... 21
3.2 Mathematical Formulation ............................................................................................................ 23
3.3 Building of the Truck Routes ......................................................................................................... 34
4. Double Container Assignment Problem ............................................................................................. 37
4.1 Double Container Assignment Model Properties ......................................................................... 37
4.1.1 Model Observations proof ....................................................................................................... 39
4.2 Heuristics ......................................................................................................................................... 43
4.2.1 Single Truck Heuristic ............................................................................................................. 43
4.2.2 Integer Programming Heuristic.............................................................................................. 44
4.3 DCAM Experimental Analysis ...................................................................................................... 44
4.3.1 Model Testing based on Port of Los Angeles and Long Beach Data ................................... 44
4.3.2 General Experiments to test Heuristics .................................................................................. 50
5. The Assignment Problem with Stochastic Demand ........................................................................... 56
5.1 DCSAM ............................................................................................................................................ 57
5.2 Experiments comparing DCAM and DCSAM ............................................................................. 65
6. Truck Routing ....................................................................................................................................... 68
6.1 Solving the Container Movement VRP ......................................................................................... 68
6.1.1 Finding an Initial Solution ...................................................................................................... 69
3
6.2 Experiments ..................................................................................................................................... 72
7. Pickup and Delivery Problem .............................................................................................................. 74
7.1 Formulation of the PDPC2 ............................................................................................................. 74
7.3 Heuristic for solving the PDPC2 .................................................................................................... 76
7.4 PDP Experiments ............................................................................................................................ 79
8. Conclusions and Future Directions ..................................................................................................... 84
8.1 Conclusions ...................................................................................................................................... 84
8.2 Future Directions ............................................................................................................................ 86
9. References .............................................................................................................................................. 88
10. Appendix .............................................................................................................................................. 94
4
List of Figures
Figure 1. Current container flow .................................................................................................................. 9
Figure 2. Proposed single container flow ..................................................................................................... 9
Figure 3. Proposed double container flow ................................................................................................... 9
Figure 4. Example of graph for single-container trucks, r=0, and unlimited capacity ................................ 40
Figure 5. Position of the locations .............................................................................................................. 46
Figure 6. Results of capacity experiment .................................................................................................... 54
Figure 7. Objective ratio versus capacity .................................................................................................... 82
Figure 8. Time ratio versus capacity ........................................................................................................... 83
5
List of Tables
Table 1. Distance between locations in miles ............................................................................................ 45
Table 2. Summary of the parameters of the DCAM ................................................................................... 47
Table 3. Results from the data of the Ports of Los Angeles and Long Beach (11 total locations) .............. 48
Table 4. Results from the data of the Ports of Los Angeles and Long Beach (19 total locations) .............. 48
Table 5. Results from the data of the Ports of Los Angeles and Long Beach (27 total locations) .............. 48
Table 6. Sensitivity of the results for the location parameter .................................................................... 51
Table 7. ANOVA table for location parameter ............................................................................................ 51
Table 8. Sensitivity of the results for demand parameter .......................................................................... 52
Table 9. ANOVA table for demand parameter ........................................................................................... 52
Table 10. Sensitivity of the results for location parameter ........................................................................ 53
Table 11. ANOVA table for demand parameter ......................................................................................... 54
Table 12. Parameter settings ...................................................................................................................... 65
Table 13. Average results for Stochastic Experiments ............................................................................... 66
Table 14. Standard Deviation results for Stochastic Experiments .............................................................. 66
Table 15. Summary of parameters for VRP experiment for the Ports of Los Angeles and Long Beach ..... 73
Table 16. Truck routing results for the Ports of Los Angeles and Long Beach ........................................... 73
Table 17. PDP random experiment results ................................................................................................. 80
Table 18. PDP results for Jih and Hsu dataset ............................................................................................ 81
Table 19. PDP capacity analysis results ...................................................................................................... 82
6
1. Introduction
1.1 Background
In today’s world, transportation has become a crucial economic activity, serving as the
backbone for the production, distribution and consumption of commodities. This has led to a rapid
growth in the transportation sector in the United States, with 1.478 trillion dollars being spent in
transportation goods and services in 2017 [30]. Ports are becoming increasingly more important
for the United States. In 2015 seaports handled approximately 32 million Twenty-foot Equivalent
Units (TEU), 12 percent more than in 2010 [30]. This means a lot of containers need to be
transported from the port to the importers and from the exporters to the port. This has led to a
significant body of work regarding the efficient distribution of loaded containers from the ports to
consignees. However, to fully maximize the process and better address environmental concerns,
study is needed on the allocation of empty containers created by consignees. This is an essential
aspect in the study of container movement since it balances out the load flow at each location.
Currently, most container movement at the Ports of Los Angeles and Long Beach follows a simple
movement, going from the port to importers, and then back to the port as an empty container.
Subsequently, some of these empty containers go from the port to exporters and then return as
loaded containers to the port. Finally, both empty and loaded containers are shipped from the ports
to Asia.
This excessive movement creates a lot of unnecessary traffic. For example, in 2017 the Ports
of Los Angeles and Long Beach had 16.8 million TEUs, with about 45% being moved by trucks.
About 30% of this or 5.04 million TEUs were empty containers [33][34]. This is a significant
amount of unnecessary empty container movement, creating a lot of congestion in the streets.
According to a study by Texas A&M University in 2014 that included 498 urban areas, congestion
was responsible for 6.9 billion hours in delay, which is about 3.1 billion gallons of fuel for a cost
of 160 million dollars [30]. Thus, a better planning and scheduling of container movement would
lead to a decrease of truck trips and truck miles, resulting in congestion reduction.
7
1.2 Motivation
This dissertation, proposes to have some of the empty containers go directly from the
importers to the exporters and not return empty back to the port. This movement is usually called
a “street exchange”. There are several reasons why street exchanges are uncommon in today’s
container movement process. However, probably the most prominent reason is because of the
substantial amount of required coordination between the different companies to make the exchange
in a timely fashion.
The problem of coordinating the container movement to increase the number of street
exchanges has been studied in the past and is called the “Empty Container Problem”. This research
augments the earlier work by proposing the use of double container trucks. Double container trucks
would increase the number of street exchanges that could be made since the possibilities are greater
with two container trucks. Currently, double truck containers are used in multiple countries,
including but not limited to Mexico, Argentina, Australia, and Canada. In the United States, double
container trucks are allowed on some roads, but not all, for example they are prohibited from
operating in the Ports of Long Angeles and Long Beach since infrastructure improvements are
necessary to accommodate double container trucks. This research presents important benefits of
using double container trucks. Since double container trucks can deliver two containers in a single
trip, we show that if the port logistics were to adopt this container movement, the number of truck
trips and truck miles will decrease, leading to a smaller ecological impact due to container
movement, and a reduction in congestion.
1.3 Problem Description
Cargo ships only carry 20 and 40 foot containers, but mostly 40 foot ones. Meanwhile, the
United States uses mainly 52 foot containers. This means that when containers are loaded and
unloaded from the cargo ships they must be repacked into containers of a different size. For this
reason, there are small warehouses near the Ports of Los Angeles and Long Beach that are called
transloading stations, which are only responsible for unloading containers of one size and
reloading them into containers of another size. In this proposal, we will focus on the movement of
the 40 foot containers which need to be unloaded by import transloading stations, and packed by
8
export transloading stations. These locations can be found within 25 miles from the Ports of Los
Angeles and Long Beach and will be referred to as simply importers and exporters for the
remainder of this research.
Figures 1-3 show the different possible container flows. As can be seen in the Figures the
network locations are separated into four groups: importers, exporters, depots, and the port. Each
location has a demand for either loaded or empty containers, or both. Also, each location yields
empty or loaded containers, or both. For example, an importer requests loaded containers and
yields empty containers that can be used to satisfy other locations. Not all locations can satisfy the
demand for other locations. For example, an importer’s demand can only be satisfied by loaded
containers coming from the port; however, it can satisfy empty container demand for exporters
and the port, but not other importers.
Figure 1 shows the current flow of containers. As seen in the figure this follows a simple
movement in which the container arrives at the port is taken to an importer to get unloaded, then
is taken back to the port. It then waits at the port until an exporter needs it, at this point it is moved
to an exporter where it loaded. It then goes back to the port where it is shipped out. This movement
is extremely inefficient, but it is the common practice because importers do not want to have empty
containers lying around at their facilities, and exporters will only take containers exactly when
they need them, neither before nor after.
Figure 2 shows our proposed single container flow for both full and empty containers. The
depots are currently not being fully utilized; however, our model proposes that depots need to be
added to make street exchanges easier to schedule. Figure 3 shows container movement for the
proposed double container flow. The arrows for full or empty containers show potential flow for
both single containers or two containers of the same type. For example, in Figure 3 a possible two
container route involves going from the Port to an exporter to deliver an empty container, and then
going from the exporter to an importer to deliver a full container. It is for this reason that Figure 3
has many more options compared to the possible routes in Figure 2. However, this does not mean
that an exporter can supply an importer, since it is actually the Port that supplies containers. For
this reason, Figure 2 also shows what locations can supply other locations.
9
Figure 1. Current container flow
Figure 2. Proposed single container flow
Figure 3. Proposed double container flow
10
The problem then is to have a container flow that meets all demand such that containers
arrive at the correct location within a certain time window. If done correctly this will mean that
importers will supply most of the empty container needs of exporters, instead of having empty
containers wait at the port and increase the truck miles and truck trips into and from the port, which
are extremely expensive.
1.4 Research Gap and Contribution
Ever since Dejax and Crainic [14] first introduced the Empty Container Problem to the
container management literature in 1987, and there has been plenty of subsequent research done
on the problem, because it makes sense that if you want to fully optimize the container system
considering only loaded containers only solves half the problem. This has sparked a lot of research
on this topic each introducing different nuances to the problem to make it more realistic or to solve
the problem faster. However, to the best of our knowledge, there has been no method that
incorporates the use of double container trucks when solving the Empty Container Problem.
In this dissertation we introduce an integer formulation that models the Empty Container
Problem for the container flow of ports with intermodal locations near the ports using double
container trucks. The problem itself is NP hard, and thus the model cannot be solved in polynomial
time. Therefore, this dissertation also develops a two-part method that can be used to solve the
proposed model in a reasonable amount of time for real sized problems. The method separates the
problem into a container assignment problem and a VRP problem.
The container assignment problem was inspired by Jula et al. [19] and Braekers et al [5]
who solved the Empty Container Problem by using a time discretization graph to solve the problem
of how to make container assignments such that containers arrive to their respective locations on
time. For this dissertation the idea of using a time discretization graph was modified by making
the variables container routes instead of specific containers, which allowed the model to grow at a
slower rate. This along with some heuristics allow us to obtain a container assignment solution for
large size problems.
Traditionally the Empty Container Problem only focuses on finding a solution for one day.
This is done because container demand is usually deterministic for that day, but stochastic going
11
forward, and thus solving the problem for a deterministic demand makes the problem much easier.
However, in most cases the problem is not meant to be solved once, but instead a different
container assignment needs to be found each day to solve the different demands encountered daily.
For this reason, there has also been research done on incorporating future stochastic demand into
the models to better optimize the system in the long run. This extension of the traditional problem
is also explored in this dissertation. The container assignment problem is modified to incorporate
future stochastic demand and thus making the model even more competitive against other solution
approaches.
The second part of the method involves solving a pickup and delivery routing problem with
time windows. To solve this problem a modified version of Ropke and Pisinger’s [23] Adaptive
Large Neighborhood Search algorithm (ALNS) is employed. More specifically, the heuristics that
are used to obtain the searchable neighborhood for each iteration were redesigned to better make
use of the specific characteristics of the solution space in this problem.
Additionally, this dissertation tests each part of the solution separately and together with
various experiments to observe how each component and the whole model perform. This is done
using randomly generated data to test the robustness of the model, as well as data for the Ports of
Los Angeles and Long Beach to test how the model solution competes with current practices.
1.5 Structure of Thesis
This dissertation is organized as follows. In Chapter 2, we review related literature on the
Empty Container Problem, container assignment, and VRP. We formally define our problem and
present our main model in Chapter 3. In Chapter 4, we present our container assignment model
and heuristics for how to solve the model, as well as the solution quality of our model and the
heuristics. In Chapter 5 we expand our container assignment model from Chapter 4 to include
future stochastic demand and test how they perform against each other. Then, in Chapter 6 a
modified ALNS algorithm is presented to solve the VRP that supports the container assignment
solution. In Chapter 7 an algorithm is presented to solve the Pickup and Delivery Problem with
capacity 2. Finally, in Chapter 8 we conclude our work and present future directions.
12
2. Literature Review
In this chapter we review papers in relevant areas to the solving of the “Empty Container
Problem”. In this dissertation we break the problem into two main components, the container
assignment part and the truck scheduling part. This division is made to make the problem solvable.
Thus, this chapter is broken down in two parts. In the first part we review papers that solve the
container assignment, while in the second part we review papers on the “Vehicle Routing Problem”
(VRP) and finding a truck schedule.
2.1 Container Assignment Problem
In the literature most people point to Dejax and Crainic 1987 [14] paper as the one that first
identified the problem that empty containers were not being properly routed and empty container
movement should be incorporated into container movement planning. In this paper they describe
how loaded and empty containers need to be managed together to fully optimize the container
movement process. They proposed successive research with new ideas such as adding a depot
center and integrating empty and loaded container movements at an industry level. They wrote
several papers afterwards developing different models for different situations and assumptions.
One such paper was in 1993 that along with Gendreau [11] they added the fact that maritime
demand was stochastic and thus developed an integer model for stochastic demand, with a time
window. The model was to complex for solving, but their objective was to present formulations
for the problem and introduce the “Empty Container Problem” to the literature.
Later on, people started developing models and actually solving them for reasonably sized
problems. Among these, Shen and Khoong [24] studied the problem from the perspective of a
single company. In their paper, they develop a decision model that yielded when and how to move
a container, as well as when to lease a container. They then preformed some constraint relaxations
on the model that allows the model to react quickly to supply and demand changes, that is,
decisions made after the model was solved. Likewise, Li et al [21] studied the problem at a more
global view. They built a model that maximized profit for the shipping company. Their model was
deterministic and operated on a rolling horizon basis. They then tested their model on a real life
example using some ports from the east coast of China, and showed that not only is their approach
13
more profitable but also provides a greener solution. Song and Dong [25] also study the problem
taking a global view of the problem. In their paper they consider two ports and the intermodal
locations around the ports. They assume that there is a trade imbalance between the two ports, to
simulate real life conditions such as a port from Asia and a port in the USA. They then come up
with a unique solution. In this approach they model each port separately as integer programs, but
then they use an inventory control based simulation model to decide when to ship containers
between the two ports.
There has also been research done on how other factors affect the solving of the problem.
For example, Bourbeau et al. [4] developed a mixed integer model that could be subdivided into
semi-independent problems. They were then able to use parallel programming to solve the
subproblems faster. They used their model to test how the location of the depots affects the
problem and came up with an algorithm to find the optimal number and location of the depots.
Another example, would be how Choong at al. [9] studied the effect of the length of the planning
horizon with regard to the empty container problem. In their paper, they use a model developed in
Choong [8] and other empty container models to find the effect of the length of the planning
horizon and how far in advance does planning need to start.
Probably the most extensive research of container movement in the Ports of Long Beach
and Los Angeles was done by the Tioga Group [29]. They did extensive research on container
movement in and out of the Port of Long Beach. After compiling extensive data, they suggested a
concept of how empty container reuse could be increased in this area. Their work has served as a
foundation to various other empty container models that use the Ports of Long Beach and Los
Angeles as their research scenario, especially when using their data. For example, Jula et al. [19]
built a dynamic model that used the Tioga report data to come up with a feasible solution of how
to allocate containers on a daily basis. Taking into account that on any single day all demand is
deterministic, but the demand for the next day is stochastic, they use dynamic programming to find
the best match of a bipartite transportation network. In that way, they meet all the daily demand
and try to optimize the containers for future days as well. Chang et al. [7] studied when and where
containers should be substituted with another type. They proposed a heuristic method that divided
the problem into dependent and independent parts. They were then able to apply a branch and
bound algorithm to arrive at an integer solution relatively fast. They tested their procedure for the
14
ports of Los Angeles and Long Beach using data from the Tioga report, and on randomized
scenarios, comparing it to other commercial mixed integer programming solvers.
Similarly Lam et al [20] demonstrated how dynamic programming can lead to a
competitive approximate solution that improves efficiency. They first built an empty container
model, and then used linear approximations to simplify the model. They then used dynamic
programming to arrive at an approximation of the optimal solution. They first tested their approach
in a simple model, and for a real life example. They then compared their solution to other heuristics
used in industry.
Dam Le [12] has also assessed the problem from the perspective of the logistics involved
to make container reuse possible in Southern California. She conducted several interviews with
field experts to make recommendations on where depots would make the most sense according to
expected demand from the different importers and exporters. The problem has also been studied
in different ports around the world. Islam et al. [18] conducted an extensive study of the Port of
Auckland. They studied how containers were moved and how truck congestion changed
throughout the day. They in particular studied when empty containers should be relocated such
that the effect of the empty container movement be minimized, especially during peak hours.
The empty container problem traditionally focuses on meeting demand for one day. This
is done because daily demand is deterministic. However, a natural extension to this problem is
how can we accommodate future stochastic demand and reposition containers such that we are
better able to handle future demand. Bandeira et al [2] developed a rolling horizon model to
coordinate different customer demands as to minimize costs. Their model is solved in two steps.
First it meets all demand for that time period. Then it adjusts the solution to allocate containers to
minimize costs. Erera et al. [16] built a robust optimization framework for container allocation.
For their solution framework, they first solve an integer model to acquire a starting solution. They
then use inventory heuristics to manage container inventory at the locations and then update their
solution as time goes on. This allowed them to find an approximate optimal solution and then
change their solution to adapt to a stochastic world.
Braekers et al [5] tackled the dynamic empty container problem, in which origins and
destinations are not known beforehand. They constructed a network flow model to optimize the
15
movement from importers, exporters, depots, and the port. They used a sequential approach and
an integrated approach to solve the model. This yielded a sub-optimal result, but decreased the
complexity of the model, thus reducing the solving time. They tested their solving methods using
a small example that they created, as well as other examples from other papers for comparison.
2.2 Vehicle Routing Problem Regarding Container Assignment
Another natural extension of the Empty Container Problem is to come up with a truck
schedule that minimizes the number of trucks and truck miles while making all the necessary
container movements. This problem is known as the Vehicle Routing Problem (VRP), an extension
of the Travelling Salesmen Problem (TSP) which wants to find a tour that passes through all nodes
in a graph without passing through any node twice. This problem has become famous for being an
extremely hard combinatorial problem that has a myriad of practical applications. One of the first
breakthroughs in solving the problem came in 1954 when George Dantzig, Ray Fulkerson, and
Selmer Johnson [13] successfully solved the problem by using the newly discovered simplex
method and a branch and cut algorithm. Their approach was to solve an LP relaxation of the TSP.
If the solution for the LP relaxation was a solution for the IP then they were done. If not, there
must exist a plane that cuts the solution found and the IP convex hull. This plane is linear and thus
can be added to the constraints of the LP relaxation, and this new problem is now solved. This is
repeated until a solution to the IP is found. This was a major breakthrough and a lot of research
has been done on the VRP since then.
Solving the VRP is extremely hard and it has been proven that the problem is NP hard and
thus the general problem cannot be solved efficiently. However, people have studied specific
instances of the problem. Christofides in 1985 [6], studied a particular instance where he proved
that if vehicles have a capacity of 2, there is only one depot, and all distances are symmetrical and
satisfy the triangular inequality, then the vehicle routing problem is reducible to a matching
problem. Since we can solve the matching problem in polynomial time, this specific VRP is also
solvable in polynomial time. Archetti et al. [1], also studied the VRP problem with a capacity of 2
and 3 with a single depot. In their analysis they were able to prove that if vehicles have a capacity
of 3, there is a single depot, and distances are symmetrical and satisfy the sharpened triangular
16
inequality with 𝛽 =2/3 then the problem can be reduced into a matching problem and thus solved
in polynomial time. The sharpened triangular inequality holds when for all edges in a graph the
cost function c satisfies 𝑐 ({𝑢 ,𝑣 })≤𝛽 (𝑐 ({𝑢 ,𝑤 })+𝑐 ({𝑤 ,𝑣 })) for
1
2
<𝛽 <1.
Additionally, Dumas et al. [15] developed an optimal algorithm to solve the TSP with time
windows. In this particular instance of the TSP each node needs to be visited within a certain time
window. This allowed them to do 3 post-feasibility tests which will simplify their graph such that
the resulting problem becomes much easier to solve. For example, test 2 eliminates all directed
edges (i,j) that are not part of a feasible solution because node i has a later ending time window
than node j’s starting time window. This test and the other two tests are easy to implement and
vastly reduce the graph, thus reducing the search space for the problem. They then implement a
dynamic programming method to solve the resulting graph. They were then able to solve the
problem optimally for a large number of nodes and width of time windows.
Since the general problem is NP hard, another approach other researchers have taken is
finding approximation algorithms. Bazgan et al. [3] developed several different approximation
algorithms for different kinds of VRP problems. One of these approximation algorithms is a
problem to minimize vehicles used with a limit on the maximum distance of any single vehicle. In
their paper, they show that this problem is NP and it cannot be solved in polynomial time unless
P=NP. They then present a 2/3 and a 289/360 constant differential approximation algorithms and
show their construction. In their algorithms, they use the structure of the graph to prove that their
algorithms are within 1.5 and 1.25 of the optimal solution respectively.
Since the VRP has a lot of applications researchers have also developed meta-heuristics
such as tabu search or simulated annealing algorithms, to solve the VRP with no theoretical
guarantees, but instead focus on practical results. For example, Shaw [35] developed a greedy local
search algorithm that was able to avoid local minima because of the breadth of the neighborhood
it searched at each iteration. His method was versatile and constraints could be easily added to
adapt the heuristic to different VRP instances, and it became a standard for other VRP heuristics
and the method became called Large Neighborhood Search.
Ropke and Pisinger [23] further advanced Shaw’s work by developing what they called
Adaptive Large Neighborhood Search (ALNS) algorithm. Their algorithm starts at a feasible
17
solution and removes n jobs and then tries to reinsert them using different heuristics, based on the
particular problem being solved, which is very similar to Shaw’s work. The main contribution
however is that both n and the heuristics for reinsertion are variable at each iteration, based on
different factors like the distance the algorithm has moved in the previous iteration. Additionally,
the algorithm allows for infeasible solutions at certain iterations. These two contributions make
the search neighborhood at each iteration to adapt allowing the algorithm to move fast when it can,
slow when it has to be careful not to overshoot a critical point, and even escape local minima by
allowing infeasibility. In their paper they decided to use the pickup and delivery VRP with time
windows as their study case, although their algorithm is robust and can be used in numerous
different VRP problems. They compared the speed and quality of the solution to other algorithms
and it performed extremely well.
Additionally, there has also been research done specifically studying the VRP problem
with regards to the Empty Container Problem. Zhang et al. [32] developed a tabu search algorithm
for the multi-depot truck transportation problem. In their paper, they developed two algorithms to
solve this NP-hard problem. The first algorithm used clusters while the second one used a reactive
tabu search. They then compared their algorithms to the optimal solution that could be found for
small size instances. They determined that the cluster algorithm performed good, but the reactive
tabu algorithm performed extremely well, although the cluster algorithm is more scalable than the
tabu algorithm. Funke and Kopfer [17] also studied the VRP problem for the Empty Container
Problem. In their paper they assumed that loaded containers had a known origin and destination,
but empty containers only had a known origin or destination, and the other was unknown and
needed to be solved. To solve their problem, they build a time and space graph with the arcs
representing possible truck movements from one location to another. They are then able to build
an integer model for the graph and solve it to optimality using branch and bound techniques.
However, they are only able to do so for a small size problem and mention that heuristics would
be needed to make the model scalable.
Vidovic et al. [31] studied the problem of getting a VRP for multisize containers. In their
problem they had multiple locations with multiple requests for either 20 foot or 40 foot containers,
and a depot. They studied the problem in which the demand for the containers was known, and
each location had a known starting number of containers. They then needed to come up with a
18
container assignment and a VRP such that all demands were met. To solve their problem, they
implemented a modified version of Popovic et al [36] variable neighborhood search heuristic,
which was in turn inspired by Mladenovic and Hansen [22] metaheuristic. The idea for the heuristic
is to find an initial solution, and then do a neighborhood search for a better solution. However,
what makes their search interesting and successful is that they change the size of their search based
on the polar angle between two routes. The idea being that if two adjacent routes had a big gap
between them, then they are less likely to share a job between them and one can eliminate any
route exchanges between those two routes.
Tan et al. [28] also studied the Empty Container Problem, but at a company level. They
developed a hybrid model that could be used by transportation companies to find their truck
schedules for the day. The model incorporates local search heuristics and several specialized
genetic algorithms, with the objective being to minimize truck miles, and number of truck used.
The model also determines when it is more efficient for the company to outsource a certain job.
Sterzik and Kopfer [26] further advanced this research by introducing a robust model that different
companies could incorporate. They solved their algorithm using a tabu search with several
heuristics. They tested their algorithm against the algorithm in Zhang [32] outperforming it in
almost every instance. They then publish a second paper in 2015 with Yun [27]. In this paper they
augment their previous work by building a mixed integer programming model that considers both
vehicle routing and empty container repositioning simultaneously. Their model minimizes
trucking operating time which includes travel, service, and waiting times. They solve the model
by first building an initial solution using a modified version of Clark and Wright’s [37] savings
algorithm, and then searching the solution space using their previous tabu search algorithm. In
their paper they specifically run scenarios in which container leasing companies are allowed to
exchange containers and scenarios in which they are not, and show the benefits of such exchanges.
Work has also been done on generalizing the VRP problem by developing vehicle routes
in which each vehicle has a capacity of n. This problem is called VRP with vehicle capacity n.
There has been a great deal of research done on this problem. For example, Coehlo et al. [10]
developed a search heuristic that combined a local greedy randomized search with variable
neighborhood descent. They used their heuristic to quickly traverse the search space of a
heterogenous m vehicle VRP with one depot. This means that in their problem they had m different
19
vehicles, each with a different capacity. They tested their heuristic on data they obtained from a
real world company with great success and were able to lower the companies transportation cost
by a substantial amount.
2.3 Pickup and Delivery Problem
In the traditional Empty Container Problem only single-container trucks are used.
However, in this thesis this is augmented using double container trucks. Most of this thesis deals
with double-container trucks that pickup both containers at the same location and drops them off
before picking up any other containers. This is due to complexity issues. Nevertheless, to utilize
double-container trucks even more efficiently one needs to consider the Pickup and Delivery
Problem with capacity 2. To the best of our knowledge there has not been any research on this
particular problem.
The Pickup and Delivery Problem (PDP) has two types of nodes; pickups and deliveries.
Each pickup node has a corresponding delivery node. The problem is to visit every node while
visiting every pickup node before its corresponding delivery node, while minimizing distance. The
problem is known to be NP-hard. One of the first algorithms developed for this problem was a 3
OPT algorithm. The algorithm is an extension of the Christofides Algorithm [38], applied twice
(once for the pickups and then once for the deliveries). Although this is a strong theoretical result
it is not very good in practice.
Some research has focused on solving the problem optimally (i.e. [40], [41], [42], [44] and
[45]) by using some unique model properties such as tight time windows. These algorithms are
becoming very effective and can solve some medium size problem. However, for most practical
sized problems these methods are not fast enough yet, and heuristics are preferred.
Renaud et al. introduced a 4-OPT algorithm in 1996 that has a worse theoretical guarantee
but performs better in practice [39]. Their algorithm is based on three phases: construction of initial
skeleton, adding remaining nodes, and improvement. The improvement portion of their algorithm
is very efficient and is used on other algorithms to improve their solutions. A study on how
different types of heuristics perform was done by Renaud et al. in 2000 [43], comparing different
20
perturbation algorithms, such as Instance Perturbations, Algorithmic Perturbations, and Solution
Perturbations.
Nanry and Barnes introduced a tabu search algorithm [46]. In their algorithm they adapted
Battiti and Tecchiolli’s reactive tabu search [47], which is a more robust than the classical tabu
search algorithm. This allows them to update the hyper-parameters, such as number of nodes being
removed and inserted depending on solution properties, while running the algorithm instead of
using constant values, leading to better solutions. Similarly, different researchers have tried to
adapt tabu search algorithms to yield better and faster PDP algorithms with different complexities
such as time windows, capacities, and heterogenous fleets (i.e. [48], [49], [50], and [51])
Another approach to the problem has been using simulated annealing. Such an approach
tries to rapidly explore the solution space by taking big steps in several locations. Then slowly take
smaller and smaller steps while being more careful in which direction to take such steps. The idea
behind this method comes from metal working in which you heat up the metal allowing you to
work it easily and mold it without much pushback. However, small details cannot be printed in the
metal. Then as the metal starts to cool down it is harder to mold the metal, but it is possible to put
the small details into the metal piece. Similarly, the simulated annealing algorithms are good
algorithms in highly non-linear solution spaces since they will not get stuck by local minima and
allows the exploration of the solution space. Then slowly, the algorithms with pinpoint good
potential spaces for further exploration at later stages to get good results for hard problems. The
pickup and delivery problems are perfect problems for such algorithms, and different people have
used simulated annealing algorithms to solve the problem such as [51], [52], and [53].
Hosny and Mumford compared different algorithms to identify under what situations
certain algorithms perform better than others [54]. Some of the variables they explored were
number of locations, tightness of the time windows, and number of tasks. Their paper serves as a
benchmark for future pickup and delivery algorithms.
21
3. Problem Statement and Formulation
To fully solve the Empty Container Problem, one needs to find the optimal container
movement and a truck schedule to fulfill all necessary movements. It can be easily proven that this
problem is NP-hard, since it involves solving a VRP problem which is NP-hard. Our solution
methodology will thus split the problem into two subproblems. In the first subproblem, we focus
on finding the necessary container movement to meet all demand. The second subproblem then
focuses on solving a VRP to fulfill the container movement found in the first part. In Chapter 3 we
present our full model called the Empty Container Problem using Double Container Trucks Model
(ECDCT). We will then focus on the first subproblem in Chapter 4 and on the second subproblem
in Chapter 6.
3.1 Problem Description
As described beforehand the Empty Container Problem wants to increase the number of
street exchanges. This is done both to reduce the number of truck trips, truck miles, and congestion
at the port. The number of truck trips and trucks miles are ideally reduced once for every container
that enters the system through the port and exits the system through the port loaded. This is because
a normal container route in the current container flow will have a loaded container going from the
port to the importer, unloaded, then back to the port empty, then from the port to an exporter empty,
and finally back to the port loaded. This is a total number of four truck trips for each container.
Using the single-container policy reuse the ideal container flow would be a container going from
the port to an importer loaded, unloaded, then from the importer to an exporter empty, and then
from the exporter to the port. This container flow only uses a total number of three truck trips for
each container. This means that ideally the system would reduce the number of truck trips by 25%
using single-container trucks with the container reuse policy (this may not necessarily be the case
because of the trade imbalance). Additionally, the importers and exporters are usually closer to
each other than to the port, thus also reducing the truck miles. Furthermore, container reuse also
reduces the number of truck trips involving the port by two for each container. This is important
because truck turnover times at the port are usually high (i.e. turnover time at the Ports of Loa
Angeles and Long Beach is around 2 hours) and thus going in and out of the port is expensive.
22
These gains are furthered using double-container trucks, since for one double-container trip
dropping of both containers at the same location is equal to two single-container trucks.
In order to increase the amount of street exchanges one has to plan container movement
such that containers from importers go directly to exporters at the correct time. Moreover, there
also needs to be a truck schedule to support the container movements. Consequently, this
dissertation has formulated the ECDCT model. The objective of this model is to minimize total
cost, while satisfying all demand for loaded and empty containers at all locations throughout the
day. The solution to the model is a feasible truck schedule that optimizes the objective.
We assume that container demand at each location is given and deterministic for each day
and we discretize time. The port location is divided into 3 locations. The first location holds the
loaded containers that need to be delivered to an importer. The second location holds empty
containers that can either be used to supply exporters or be shipped out. Finally, the third location
holds loaded containers coming from exporters that need to be shipped out. This division is done
to correctly assign containers to locations and keep track of the different type of containers at the
port.
We have two types of decision variables; the first type are integer variables that correspond
to the number of trucks with containers sent from location i to location j at each point in time,
while the second type corresponds to truck without any containers going from location i to location
j at each point in time. The first type of variable is further divided into 3 types. The first type
corresponds to a single container truck trip. Meanwhile, a double container truck trip is divided
into two variables corresponding to the other two variables. Each of these variables is divided into
another 3 subtypes. The first subtype corresponds to a double container trip carrying two loaded
containers. The second subtype corresponds to a double container trip carrying two empty
containers. Finally, the last subtype corresponds to a double container trip carrying one loaded
container and one empty container.
The ECDCT then allows for containers to be moved from one location to another at each
time discretization, and keeps track of all the containers that have arrived at a location i at all points
in time. Similarly, it also keeps track of all the containers that location i has provided at all points
23
in time. This will allow the ECDCT to balance the container flow and not yield containers it does
not currently have.
3.2 Mathematical Formulation
We next present the mathematical formulation of the Empty Container Problem using
Double Container Trucks Model. The notation for the formulation is as follows:
Parameters:
𝑙 𝑖 ,𝑗 ,𝑡 =𝑡𝑖𝑚𝑒 𝑖𝑡 𝑡𝑎𝑘𝑒𝑠 𝑡𝑜 𝑔 𝑜 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑙𝑒𝑎𝑣𝑖𝑛𝑔 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡
𝑜 𝑖 ,𝑗 ,𝑡 =𝑡𝑖𝑚𝑒 𝑖𝑡 𝑡𝑎𝑘𝑒𝑠 𝑡𝑜 𝑔𝑜 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑎𝑟𝑟𝑖𝑣𝑖𝑛𝑔 𝑎 𝑡 𝑡𝑖𝑚𝑒 𝑡
𝑟 𝑖 =𝐶𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑢𝑟𝑛𝑜 𝑣𝑒𝑟 𝑡𝑖𝑚𝑒 𝑎𝑡 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖
𝑝 𝑖 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑎𝑣𝑎𝑖𝑙𝑎𝑏𝑙𝑒 𝑎𝑡 𝑡 ℎ𝑒 𝑏𝑒𝑔𝑖𝑛𝑛𝑖𝑛𝑔 𝑜𝑓 𝑡 ℎ𝑒 𝑑𝑎𝑦 𝑎𝑡 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖
𝑑 𝑖 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡 𝑎 𝑖𝑛𝑒𝑟𝑠 𝑑𝑒𝑚𝑎𝑛𝑑𝑒𝑑 𝑎𝑡 𝑙𝑜𝑐𝑎𝑡 𝑖𝑜𝑛 𝑖 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡
𝑐 𝑖 =𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑦 𝑜𝑓 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖
𝑒 𝑖 ,𝑗 ,𝑡 =𝐶𝑜𝑠𝑡 𝑜𝑓 𝑓𝑖𝑟𝑠𝑡 𝑙𝑒𝑔 𝑜𝑓 𝑎 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑟𝑜𝑢𝑡𝑒 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎 𝑡 𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗
𝑠𝑡𝑎𝑟𝑡𝑖𝑛𝑔 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡
𝑓 𝑖 ,𝑗 ,𝑡 =𝐶𝑜𝑠𝑡 𝑜𝑓 𝑠𝑒𝑐𝑜𝑛𝑑 𝑙𝑒𝑔 𝑜𝑓 𝑎 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑟𝑜𝑢𝑡𝑒 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗
𝑠𝑡𝑎𝑟𝑡𝑖𝑛𝑔 𝑎𝑡 𝑡𝑖 𝑚 𝑒 𝑡
𝑔 𝑖 ,𝑗 ,𝑡 =𝐶𝑜𝑠𝑡 𝑜𝑓 𝑎 𝑜𝑛𝑒 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑟𝑜𝑢𝑡𝑒 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑠𝑡𝑎𝑟𝑡𝑖𝑛𝑔 𝑎𝑡 𝑡 𝑖𝑚𝑒 𝑡
𝜋 𝑖 ,𝑗 ,𝑡 =𝐶𝑜𝑠𝑡 𝑜𝑓 𝑎 𝑡𝑟𝑢𝑐𝑘 𝑤𝑖𝑡 ℎ 𝑛𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑚𝑜𝑣𝑖𝑛𝑔 𝑓 𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑠𝑡𝑎𝑟𝑡𝑖𝑛𝑔 𝑎𝑡 𝑡𝑖 𝑚𝑒 𝑡
Sets:
𝑆𝐼 ={1,…,|𝑆𝐼 |} (𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛𝑠 𝑜𝑓 𝑎𝑙𝑙 𝑖𝑚𝑝𝑜𝑟𝑡𝑒 𝑟𝑠 )
24
𝑆𝐸 ={ |𝑆𝐼 |+1,…,|𝑆𝐼 |+|𝑆𝐸 |} (𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛𝑠 𝑜𝑓 𝑎𝑙𝑙 𝑒𝑥𝑝𝑜𝑟𝑡𝑒𝑟𝑠 )
𝑆𝐷 ={|𝑆 𝐼 |+|𝑆𝐸 |+1,…,|𝑆𝐼 |+|𝑆𝐸 |+|𝑆𝐷 |} (𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛𝑠 𝑜𝑓 𝑎𝑙𝑙 𝑑𝑒𝑝𝑜𝑡𝑠 )
𝑆𝑃 1={ |𝑆𝐼 |+|𝑆𝐸 |+|𝑆𝐷 |+1 } (𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑜𝑓 𝑡 ℎ𝑒 𝑖𝑚𝑝𝑜𝑟 𝑡 𝑒𝑟 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑝𝑜𝑟𝑡 )
𝑆𝑃 2={ |𝑆𝐼 |+|𝑆𝐸 |+|𝑆𝐷 |+2 } (𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑜𝑓 𝑡 ℎ𝑒 𝑒𝑚𝑝𝑡𝑦 𝑐𝑜𝑛𝑡𝑎 𝑖𝑛𝑒𝑟 𝑝𝑜𝑟𝑡 )
𝑆𝑃 3={ |𝑆𝐼 |+|𝑆𝐸 |+|𝑆𝐷 |+3 } (𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑜𝑓 𝑡 ℎ𝑒 𝑒𝑥𝑝𝑜𝑟𝑡𝑒𝑟 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑝𝑜𝑟𝑡 )
𝑆𝐴 ={𝑆𝐼 ∪𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 1∪𝑆𝑃 2∪𝑆𝑃 3} (𝑎𝑙𝑙 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛𝑠 )
𝑆𝑇 ={1,…,𝑇 } (𝑡𝑖𝑚𝑒𝑠 𝑜𝑓 𝑡 ℎ𝑒 𝑑𝑎𝑦 )
Decision Variables:
𝑥 1
𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑓𝑖𝑟𝑠𝑡 𝑙𝑒𝑔 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖 𝑜 𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑎𝑡 𝑡𝑖𝑚𝑒
𝑡 𝑜𝑓 𝑎 𝑡𝑟𝑢𝑐𝑘 𝑐𝑎𝑟 𝑟 𝑦𝑖𝑛𝑔 𝑡𝑤𝑜 𝑙𝑜𝑎𝑑𝑒𝑑 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒 𝑟𝑠
𝑥 2
𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑓𝑖𝑟𝑠𝑡 𝑙𝑒𝑔 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑎𝑡 𝑡𝑖𝑚𝑒
𝑡 𝑜𝑓 𝑎 𝑡𝑟 𝑢 𝑐𝑘 𝑐𝑎𝑟𝑟𝑦𝑖𝑛𝑔 𝑡𝑤𝑜 𝑒𝑚 𝑝𝑡𝑦 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠
𝑥 3
𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑓𝑖𝑟𝑠𝑡 𝑙𝑒𝑔 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑎𝑡 𝑡𝑖𝑚𝑒
𝑡 𝑜𝑓 𝑎 𝑡𝑟𝑢𝑐𝑘 𝑎𝑐𝑟𝑟𝑦𝑖 𝑛𝑔 𝑜𝑛𝑒 𝑙𝑜𝑎𝑑𝑒𝑑 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑎𝑛𝑑 𝑜𝑛𝑒 𝑒𝑚𝑝𝑡𝑦 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟
𝑦 1
𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠𝑒𝑐𝑜𝑛𝑑 𝑙𝑒𝑔 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜 𝑐 𝑎𝑡𝑖𝑜𝑛 𝑗 𝑎𝑡
𝑡𝑖𝑚𝑒 𝑡 𝑜𝑓 𝑎 𝑡𝑟𝑢𝑐𝑘 𝑐 𝑎𝑟𝑟𝑦𝑖𝑛𝑔 𝑡𝑤𝑜 𝑙𝑜𝑎𝑑𝑒𝑑 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠
𝑦 2
𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠𝑒𝑐𝑜𝑛𝑑 𝑙𝑒𝑔 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑎𝑡
𝑡𝑖𝑚𝑒 𝑡 𝑜𝑓 𝑎 𝑡 𝑟 𝑢𝑐𝑘 𝑐𝑎𝑟𝑟𝑦𝑖𝑛𝑔 𝑡𝑤𝑜 𝑒𝑚𝑝𝑡𝑦 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠
𝑦 3
𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠𝑒𝑐𝑜𝑛𝑑 𝑙𝑒𝑔 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜 𝑐 𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑎𝑡
25
𝑡𝑖𝑚𝑒 𝑡 𝑜 𝑓 𝑎 𝑡𝑟𝑢𝑐𝑘 𝑐𝑎𝑟𝑟𝑦𝑖𝑛𝑔 𝑜𝑛𝑒 𝑙𝑜𝑎𝑑𝑒𝑑 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑎𝑛𝑑 𝑜𝑛𝑒 𝑒𝑚𝑝𝑡𝑦 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟
𝑧 𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠𝑖𝑛𝑔𝑙𝑒 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒 𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖 𝑜𝑛 𝑖 𝑡𝑜 𝑗 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡
𝑚 𝑖 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑠𝑢𝑝𝑝𝑙𝑖𝑒𝑑 𝑏𝑦 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡
𝑛 𝑖 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑒 𝑑 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡
𝑎 𝑖 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒 𝑟𝑠 𝑡 ℎ𝑎𝑡 ℎ𝑎𝑣𝑒 𝑏𝑒𝑒𝑛 𝑠𝑢𝑝𝑝𝑙𝑖𝑒𝑑 𝑏𝑦 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡
𝑏 𝑖 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑡 ℎ𝑎𝑡 ℎ𝑎𝑣𝑒 𝑏𝑒𝑒𝑛 𝑑 𝑒𝑙𝑖𝑣𝑒𝑟𝑒𝑑 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡
𝜏 𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑟 𝑢𝑐𝑘𝑠 𝑤𝑖𝑡 ℎ 𝑛𝑜 𝑐𝑜𝑛𝑡𝑖𝑎𝑛𝑒𝑟𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗
𝑠𝑡𝑎𝑟𝑡𝑖𝑛𝑔 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡
26
Objective:
𝑚𝑖𝑛 ∑ ∑ ∑(𝑒 𝑖,𝑗 ,𝑡 ∗𝑥 1
𝑖,𝑗 ,𝑡 +𝑓 𝑖,𝑗 ,𝑡 ∗𝑦 1
𝑖,𝑗 ,𝑡 +𝑔 𝑖,𝑗 ,𝑡 ∗𝑧 𝑖,𝑗 ,𝑡 +𝑒 𝑖,𝑗 ,𝑡 ∗𝑥 2
𝑖,𝑗 ,𝑡 +𝑓 𝑖,𝑗 ,𝑡 ∗𝑦 2
𝑖,𝑗 ,𝑡 +𝑒 𝑖,𝑗 ,𝑡 ∗𝑥 3
𝑖,𝑗 ,𝑡 𝑗 Є𝑆𝐴 𝑖 Є𝑆𝐴 𝑡 Є𝑆𝑇
+𝑓 𝑖,𝑗 ,𝑡 ∗𝑦 3
𝑖,𝑗 ,𝑡 )+ ∑ ∑ ∑ 𝜋 𝑖 ,𝑗 ,𝑡 ∗𝜏 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐴 𝑖 ∈𝑆𝐴 +{0} 𝑡 ∈𝑆 𝑇
s.t.
Containers provided at time t:
2 ∑ 𝑥 2
𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2
+ ∑ 𝑧 𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2
=𝑚 𝑖 ,𝑡 ∀𝑖 ∈𝑆𝐼 ∀
∈𝑆𝑇 (𝐼𝑚𝑝𝑜𝑟𝑡𝑒𝑟𝑠 ) (1)
2 ∑ 𝑥 1
𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝑃 3
+ ∑ 𝑧 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝑃 3
=𝑚 𝑖 ,𝑡 ∀𝑖 ∈𝑆𝐸 ∀𝑡 ∈𝑆𝑇 (𝐸𝑥𝑝𝑜𝑟𝑡𝑒𝑟𝑠 ) (2)
2 ∑ 𝑥 2
𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2
+ ∑ 𝑧 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2
=𝑚 𝑖 ,𝑡 ∀𝑖 ∈𝑆𝐷 ∀𝑡 ∈𝑆𝑇 (𝐷𝑒𝑝𝑜𝑡𝑠 ) (3)
2∑𝑥 1
𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐼
+ ∑ 𝑥 3
𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐼 ∪𝑆𝐸 ∪𝑆𝐷
+∑𝑧 𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐼
=𝑚 𝑖 ,𝑡 ∀𝑖 ∈𝑆𝑃 1 ∀𝑡 ∈𝑆𝑇 (𝑃𝑜𝑟𝑡 1) (4𝑎 )
2 ∑ 𝑥 2
𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐸 ∪𝑆𝐷
+ ∑ 𝑥 3
𝑃 1,𝑗 ,𝑡 𝑗 Є𝑆𝐼 ∪𝑆𝐸 ∪𝑆𝐷
+ ∑ 𝑧 𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐸 ∪𝑆𝐷
=𝑚 𝑖 ,𝑡 ∀𝑖 ∈𝑆𝑃 2 ∀𝑡 ∈𝑆𝑇 (𝑃 𝑜𝑟𝑡 2) (4𝑏 )
Containers received at time t:
∑ 𝑥 1
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝑃 1:𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑥 3
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝑃 1:𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑦 1
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐼 :𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑦 3
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐸 ∪𝑆𝐷 :𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
…
…+ ∑ 𝑧 𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝑃 1:𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
=𝑛 𝑗 ,𝑡 ∀𝑗 ∈𝑆𝐼 ∀𝑡 ∈𝑆𝑇 (𝐼𝑚𝑝𝑜𝑟𝑡𝑒𝑟𝑠 ) (5)
∑ 𝑥 2
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐼 ∪𝑆𝐷 ∪𝑆𝑃 2:𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑥 3
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝑃 1:𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑦 2
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐸 ∪𝑆𝐷 :𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑦 3
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 …
𝑖∈𝑆𝐼 :𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
…+ ∑ 𝑧 𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐼 ∪𝑆𝐷 ∪𝑆𝑃 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
=𝑛 𝑗 ,𝑡 ∀𝑗 ∈𝑆𝐸 ∀𝑡 𝑆𝑇 (𝐸𝑥𝑝𝑜𝑟𝑡𝑒𝑟𝑠 ) (6)
27
∑ 𝑥 2
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐼 ∪𝑆𝐷 ∪𝑆𝑃 2:𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑥 3
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝑃 1:𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑦 2
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐸 ∪𝑆𝐷 :𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑦 3
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐼 :𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
…
…+ ∑ 𝑧 𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐼 ∪𝑆𝐷 ∪𝑆𝑃 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
=𝑛 𝑗 ,𝑡 ∀𝑗 ∈𝑆𝐷 ∀𝑡 ∈𝑆𝑇 (𝐷𝑒𝑝𝑜𝑡𝑠 ) (7)
∑ 𝑥 2
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐼 ∪𝑆𝐷 :𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑦 2
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐸 ∪𝑆𝐷 ∪𝑃 2:𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑧 𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐼 ∪𝑆𝐷 :𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
=𝑛 𝑗 ,𝑡 ∀𝑗 ∈𝑆𝑃 2 ∀𝑡 ∈𝑆𝑇 (𝑃𝑜𝑟𝑡 2) (8𝑎 )
∑ 𝑥 1
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐸 :𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑦 1
𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝑃 3:𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
+ ∑ 𝑧 𝑖,𝑗 ,𝑡 −𝑜 𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐸 :𝑡 −𝑜 𝑖,𝑗 ,𝑡 ≥1
=𝑛 𝑗 ,𝑡 ∀𝑗 ∈𝑆𝑃 3 ∀𝑡 ∈𝑆𝑇 (𝑃𝑜𝑟𝑡 3) (8𝑏 )
Demand and Feasibility constraints:
𝑎 𝑖 ,𝑡 =∑𝑚 𝑖 ,𝑞 𝑡 𝑞 =1
∀𝑖 ∈𝑆𝐴 ∀𝑡 ∈𝑆𝑇 (𝑁𝑢𝑚𝑏𝑒𝑟 𝑝𝑟𝑜𝑣𝑖𝑑𝑒𝑑 𝑎𝑡 𝑖 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 ) (9)
𝑏 𝑖 ,𝑡 =∑𝑛 𝑖 ,𝑞 𝑡 𝑞 =1
∀𝑖 ∈𝑆𝐴 ∀𝑡 ∈𝑆𝑇 (𝑁𝑢𝑚𝑏𝑒𝑟 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑 𝑎𝑡 𝑖 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 ) (10)
𝑏 𝑖,𝑡 −𝑟 𝑖 +𝑝 𝑖 −𝑎 𝑖,𝑡 ≥0 ∀{𝑖 ,𝑡 |𝑖 ∈𝑆𝐴 ,𝑡 ∈𝑆𝑇 ,𝑡 −𝑟 𝑖 ≥
1} (𝑁𝑢𝑚𝑏𝑒𝑟 𝑝𝑟𝑜𝑣𝑖𝑑𝑒𝑑 𝑐𝑎𝑛𝑛𝑜𝑡 𝑏𝑒 𝑚𝑜𝑟𝑒 𝑡 ℎ𝑎𝑛 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑 ) (11𝑎 )
𝑝 𝑖 −𝑎 𝑖,𝑡 ≥0 ∀{𝑖 ,𝑡 |𝑖 ∈𝑆𝐴 ,𝑡 ∈𝑆𝑇 ,𝑡 −𝑟 𝑖 <
1} (𝑁 𝑢 𝑚𝑏𝑒𝑟 𝑝𝑟𝑜𝑣𝑖𝑑𝑒𝑑 𝑐𝑎𝑛𝑛𝑜𝑡 𝑏 𝑒 𝑚𝑜𝑟𝑒 𝑡 ℎ𝑎𝑛 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑 ) (11𝑏 )
𝑏 𝑖,𝑡 ≥𝑑 𝑖,𝑡 ∀𝑖 ∈𝑆𝐼 ∪𝑆𝐸 ∪𝑆𝐷 ∀𝑡 ∈𝑆𝑇 (𝐷𝑒𝑚𝑎𝑛𝑑 𝑎𝑡 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑚𝑢𝑠𝑡 𝑏𝑒 𝑚 𝑒𝑡 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 ) (12𝑎 )
∑ 𝑏 𝑖,𝑡 𝑖∈𝑆 𝑃 2∪𝑆𝑃 3
+𝑝 𝑗 −𝑎 𝑗 ,𝑡 ≥ ∑ 𝑑 𝑖,𝑡 𝑖∈𝑆𝑃 2∪𝑆𝑃 3
∀𝑗 ∈𝑆𝑃 2 ∀𝑡 ∈𝑆𝑇 (𝐷𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑝𝑜𝑟𝑡 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑚𝑢𝑠𝑡 𝑏𝑒 𝑚𝑒𝑡 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 ) (12𝑏 )
𝑏 𝑖,𝑡 ≥𝑑 𝑖,𝑡 ∀𝑖 ∈𝑆𝑃 3 ∀𝑡 ∈𝑆𝑇 (𝐷𝑒𝑚𝑎𝑛𝑑 𝑡 ℎ𝑒 𝑡 ℎ𝑖𝑟𝑑 𝑝𝑜𝑟𝑡 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑚𝑢𝑠𝑡 𝑏𝑒 𝑚𝑒𝑡 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 ) (12𝑐 )
𝑏 𝑖,𝑡 +𝑝 𝑖 −𝑎 𝑖,𝑡 ≤𝑐 𝑖 ∀𝑖 ∈𝑆𝐼 ∪𝑆𝐸 ∪𝑆𝐷 ∀𝑡 ∈𝑆𝑇 (𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑦 𝑎𝑡 𝑖 𝑐𝑎𝑛𝑛𝑜𝑡 𝑏𝑒 𝑒 𝑥𝑐𝑒𝑒𝑑𝑒𝑑 ) (13𝑎 )
∑ 𝑏 𝑖,𝑡 𝑖∈𝑆𝑃 2∪𝑆𝑃 3
+ ∑ 𝑝 𝑖 𝑖∈𝑆𝑃 1∪𝑆𝑃 2∪𝑆𝑃 3
− ∑ 𝑎 𝑖,𝑡 𝑖∈𝑆𝑃 1∪𝑆𝑃 2
≤ ∑ 𝑐 𝑖 𝑖∈𝑆𝑃 1∪𝑆𝑃 2∪𝑆𝑃 3
∀𝑡 ∈𝑆𝑇 (𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑦 𝑎𝑡 𝑖 𝑐𝑎𝑛𝑛𝑜𝑡 𝑏𝑒 𝑒𝑥𝑐𝑒𝑒𝑑𝑒𝑑 ) (13𝑏 )
28
∑𝑥 1
𝑖,𝑗 ,𝑡 𝑖∈𝑆𝑃 1
= ∑ 𝑦 1
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖,𝑗 ,𝑡 𝑘 ∈𝑆𝐼 :𝑡 +𝑙 𝑖,𝑗 ,𝑡 ≤|𝑆𝑇 |
∀𝑗 ∈𝑆𝐼 ∀𝑡 ∈𝑆𝑇 (𝐵𝑎𝑙𝑎𝑛𝑐 𝑒 𝑐𝑜𝑛𝑡 𝑎 𝑖𝑛𝑒𝑟𝑠 𝑖𝑛 𝑑𝑜𝑢𝑏𝑙 𝑒 𝑡𝑟𝑢𝑐𝑘𝑠 ) (14𝑎 )
∑𝑥 1
𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐸
= ∑ 𝑦 1
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖,𝑗 ,𝑡 𝑘 ∈𝑆𝑃 3:𝑡 +𝑙 𝑖,𝑗 ,𝑡 ≤|𝑆𝑇 |
∀𝑗 ∈𝑆𝑃 3 ∀𝑡 ∈𝑆𝑇 (𝐵𝑎𝑙𝑎𝑛𝑐𝑒 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑖𝑛 𝑑𝑜𝑢𝑏𝑙𝑒 𝑡𝑟𝑢𝑐𝑘𝑠 ) (14𝑏 )
∑ 𝑥 2
𝑖,𝑗 ,𝑡 𝑖∈𝑆𝐼 ∪𝑆𝐷 ∪𝑆𝑃 2
= ∑ 𝑦 2
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖,𝑗 ,𝑡 𝑘 ∈𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2:𝑡 +𝑙 𝑖,𝑗 ,𝑡 ≤|𝑆𝑇 |
∀𝑗 ∈𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2 ∀𝑡 ∈𝑆𝑇 (𝐵𝑎𝑙𝑎𝑛𝑐𝑒 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑠 𝑖𝑛 𝑑𝑜𝑢𝑏𝑙𝑒 𝑡𝑟𝑢𝑐𝑘𝑠 ) (14𝑐 )
∑𝑥 3
𝑖,𝑗 ,𝑡 𝑖∈𝑆𝑃 1
= ∑ 𝑦 3
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖,𝑗 ,𝑡 𝑘 ∈𝑆𝐸 ∪𝑆𝐷 :𝑡 +𝑙 𝑖,𝑗 ,𝑡 ≤|𝑆𝑇 |
∀𝑗 ∈𝑆𝐼 ∀𝑡 ∈𝑆𝑇 (𝑇𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑚𝑢𝑠𝑡 𝑝𝑟𝑜𝑣 𝑖𝑑𝑒 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 ) (14𝑑 )
∑𝑥 3
𝑖,𝑗 ,𝑡 𝑖∈𝑆𝑃 1
= ∑ 𝑦 3
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖,𝑗 ,𝑡 𝑘 ∈𝑆𝐼 :𝑡 +𝑙 𝑖,𝑗 ,𝑡 ≤|𝑆𝑇 |
∀𝑗 ∈𝑆𝐸 ∪𝑆𝐷 ∀𝑡 ∈𝑆𝑇 (𝑇𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑚𝑢𝑠𝑡 𝑝𝑟𝑜𝑣𝑖𝑑𝑒 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 ) (14𝑒 )
VRP constraints:
∑𝑥 1
𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐼
+ ∑ 𝑥 3
𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐼 ∪𝑆𝐸 ∪𝑆𝐷
+∑𝑧 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐼
= ∑ 𝜏 𝑗 ,𝑖 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐴 +{0}
∀𝑖 ∈𝑆𝑃 1 ∀𝑡 ∈𝑆𝑇 (15𝑎 )
∑ 𝑥 2
𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐸 ∪𝑆𝐷
+ ∑ 𝑧 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐸 ∪𝑆𝐷
= ∑ 𝜏 𝑗 ,𝑖 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐴 +{0}
∀𝑖 ∈𝑆𝑃 2 ∀𝑡 ∈𝑆𝑇 (15𝑏 )
∑ 𝑥 1
𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2
+ ∑ 𝑧 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2
= ∑ 𝜏 𝑗 ,𝑖 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐴 +{0}
∀𝑖 ∈𝑆𝐼 ∀𝑡 ∈𝑆𝑇 (15𝑐 )
∑ 𝑥 1
𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝑃 3
+ ∑ 𝑧 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝑃 3
= ∑ 𝜏 𝑗 ,𝑖 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐴 +{0}
∀𝑖 ∈𝑆𝐸 ∀𝑡 ∈𝑆𝑇 (15𝑑 )
∑ 𝑥 2
𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆 𝐸 ∪𝑆 𝐷 ∪𝑆𝑃 2
+ ∑ 𝑧 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2
= ∑ 𝜏 𝑗 ,𝑖 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐴 +{0}
∀𝑖 ∈𝑆𝐷 ∀𝑡 ∈𝑆𝑇 (15𝑒 )
∑ ∑𝑦 2
𝑖 ,𝑗 ,𝑞 −𝑜 𝑖 ,𝑗 ,𝑘 𝑡 𝑞 =1 𝑖 ∈𝑆𝑃 2
+ ∑ ∑𝑧 𝑖 ,𝑗 ,𝑞 −𝑜 𝑖 ,𝑗 ,𝑘 𝑡 𝑞 =1 𝑖 ∈𝑆𝐼 ∪𝑆𝐷
≥ ∑∑𝜏 𝑗 ,𝑖 ,𝑞 𝑡 𝑞 =1 𝑖 ∈𝑆𝐴
∀𝑗 ∈𝑆𝑃 2 ∀𝑡 ∈𝑆𝑇 (16𝑎 )
∑ ∑𝑦 1
𝑖 ,𝑗 ,𝑞 −𝑜 𝑖 ,𝑗 ,𝑘 𝑡 𝑞 =1 𝑖 ∈𝑆𝑃 3
+ ∑∑𝑧 𝑖 ,𝑗 ,𝑞 −𝑜 𝑖 ,𝑗 ,𝑘 𝑡 𝑞 =1 𝑖 ∈𝑆𝐸
≥ ∑∑𝜏 𝑗 ,𝑖 ,𝑞 𝑡 𝑞 =1 𝑖 ∈𝑆𝐴
∀𝑗 ∈𝑆𝑃 3 ∀𝑡 ∈𝑆𝑇 (16𝑏 )
29
∑∑𝑦 1
𝑖 ,𝑗 ,𝑞 −𝑜 𝑖 ,𝑗 ,𝑘 𝑡 𝑞 =1 𝑖 ∈𝑆𝐼
+ ∑ ∑𝑦 3
𝑖 ,𝑗 ,𝑞 −𝑜 𝑖 ,𝑗 ,𝑘 𝑡 𝑞 =1 𝑖 ∈𝑆𝐸 ∪𝑆𝐷
+ ∑ ∑𝑧 𝑖 ,𝑗 ,𝑞 −𝑜 𝑖 ,𝑗 ,𝑘 𝑡 𝑞 =1 𝑖 ∈𝑆𝑃 1
≥ ∑∑𝜏 𝑗 ,𝑖 ,𝑞 𝑡 𝑞 =1 𝑖 ∈𝑆𝐴
∀𝑗 ∈𝑆𝐼 ∀𝑡 ∈𝑆𝑇 (16𝑐 )
∑ ∑𝑦 2
𝑖 ,𝑗 ,𝑞 −𝑜 𝑖 ,𝑗 ,𝑘 𝑡 𝑞 =1 𝑖 ∈𝑆𝐸 ∪𝑆𝐷
+∑∑𝑦 3
𝑖 ,𝑗 ,𝑞 −𝑜 𝑖 ,𝑗 ,𝑘 𝑡 𝑞 =1 𝑖 ∈𝑆𝐼
+ ∑ ∑𝑧 𝑖 ,𝑗 ,𝑞 −𝑜 𝑖 ,𝑗 ,𝑘 𝑡 𝑞 =1 𝑖 ∈𝑆𝐷 ∪𝑆𝑃 2
≥ ∑∑𝜏 𝑗 ,𝑖 ,𝑞 𝑡 𝑞 =1 𝑖 ∈𝑆𝐴
∀𝑗 ∈𝑆𝐸 ∪𝑆𝐷 ∀𝑡 ∈𝑆𝑇 (16𝑑 )
Domain Constraints:
𝑥 1
𝑖,𝑗 ,𝑡 ,𝑦 1
𝑖 ,𝑗 ,𝑡 ,𝑥 2
𝑖,𝑗 ,𝑡 ,𝑦 2
𝑖,𝑗 ,𝑡 ,𝑥 3
𝑖,𝑗 ,𝑡 ,𝑦 3
𝑖,𝑗 ,𝑡 ,𝑧 𝑖,𝑗 ,𝑡 ≥0 ∀𝑖 ∈𝑆𝐴 ∀𝑗 ∈𝑆𝐴 ∀𝑡 ∈𝑆𝑇 (𝑁𝑜𝑛 −𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝐶𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡 ) (17)
𝑥 1
𝑖,𝑗 ,𝑡 ,𝑦 1
𝑖 ,𝑗 ,𝑡 ,𝑥 2
𝑖,𝑗 ,𝑡 ,𝑦 2
𝑖,𝑗 ,𝑡 ,𝑥 3
𝑖,𝑗 ,𝑡 ,𝑦 3
𝑖,𝑗 ,𝑡 ,𝑧 𝑖,𝑗 ,𝑡 ∈ℤ ∀𝑖 ∈𝑆𝐴 ∀𝑗 ∈𝑆𝐴 ∀𝑡 ∈
𝑆𝑇 (𝐼𝑛𝑡𝑒𝑔𝑒𝑟 𝐶𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡 ) (18)
𝜏 𝑖,𝑗 ,𝑡 ≥0 ∀𝑖 ∈𝑆𝐴 ∀𝑗 ∈𝑆𝐴 ∀𝑡 ∈𝑆𝑇 (𝑁𝑜𝑛 −𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝐶𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡 ) (19)
𝜏 𝑖,𝑗 ,𝑡 ∈ℤ ∀𝑖 ∈𝑆𝐴 ∀𝑗 ∈𝑆𝐴 ∀𝑡 ∈𝑆𝑇 (𝐼𝑛𝑡𝑒𝑔𝑒𝑟 𝐶𝑜𝑛𝑠𝑡𝑟𝑎 𝑖𝑛𝑡 ) (20)
30
The objective of the ECDCT is to minimize the transportation costs needed to meet all the
demand, and by doing this it will reduce the number of trucks and truck miles needed to meet all
demand. There is a cost associated with each possible single truck trip (𝑔 𝑖 ,𝑗 ,𝑡 ) which depends on
the locations for pickup and drop-off of the container, as well as the time of day. We have separate
transportation costs for the first container on a double container trip (𝑒 𝑖 ,𝑗 ,𝑡 ), and the second
container on a double container trip (𝑓 𝑖 ,𝑗 ,𝑡 ). We divided this cost into two because depending on the
destination of the second container the price to hire a double container truck can vary. For example,
if both containers are going to the same location, the price is most likely going to be less than if
the containers are going to different locations. Finally, we also have the cost of moving a truck
without containers (𝜋 𝑖 ,𝑗 ,𝑡 ), which depends on the starting and ending locations, as well as the time of
day.
As stated before, the ECDCT has two main integer types of variables. The first type
corresponds to movement of trucks with containers and has three sub-types. The 𝑥 𝑖 ,𝑗 ,𝑡 variables
correspond to a double container truck going from location i to location j starting at time t to drop
off its first container at j. The 𝑦 𝑖 ,𝑗 ,𝑡 variables correspond to a double container truck (now with only
one container) travelling from location i to location j starting at time t to drop off its second
container. These two are further sub-divided into 3 sub-types. The first type x1 and y1 correspond
to a double container truck trip carrying two loaded containers. The second type x2 and y2
correspond to a double container truck trip carrying two empty containers. Finally, the third type
x3 and y3 correspond to a double container truck trip carrying one loaded and one empty container.
Lastly, the 𝑧 𝑖 ,𝑗 ,𝑡 variables represent a single container truck trip from location i to location j starting
at time t. Note that i and j cannot be the same for any 𝑥 𝑖 ,𝑗 ,𝑡 or 𝑧 𝑖 ,𝑗 ,𝑡 variable since it does not make
sense that a location can provide itself with containers; however the 𝑦 𝑖 ,𝑗 ,𝑡 variables can have i and
j be the same since that means the second container is being dropped off at the same location as
the first container.
The second type of variable is 𝜏 𝑖 ,𝑗 ,𝑡 and corresponds to a truck without a container going
from location i to location j starting at time t. It is worth mentioning that for the first type of
variables the i and j components can only take on the values found in set SA. However, in the
second type of variables the i component can take the zeroth ({0}) value. The zeroth value
represents the zeroth location, which is an artificial location that determines whether a truck is
31
initiated for use on a given route. This location can be thought of as the truck depot, signifying if
a truck is dispatched or not. It is also worth noting that 𝜋 0,𝑗 ,𝑡 is always the cost of using one extra
truck for any j and t. This cost is usually much higher than any possible distance reduction that
could be made by any truck route. Therefore, the ECDCT first prioritizes reducing the number of
trucks, and then reducing the total truck miles.
The rest of the variables only serve to record the total number of received and delivered
containers at each location for each time period, and are determined by specific summations of the
variables of the first type. Constraints (1)-(4) sum all the containers provided by a specific location
at a specific point in time. It then does this for all locations at all points in time and equals them to
the 𝑚 𝑖 ,𝑡 variables which represent all the containers provided by location i at time t. Single-
container truck trips only add one container since there is only one container involved. However,
double-container truck trips count double since there are two containers involved if they are
carrying just loaded or empty containers, thus the x1 and x2 variables are multiplied by two. For
example, constraint (1) sums up all the containers provided by the importers. That is, importers
can only provide empty containers. Therefore, the destination for the empty containers are
exporters, depot, and the port. This does not include other importers since they have no demand
for empty containers. Similarly, constraint (2) sums up all the containers provided by the exporters.
Unlike importers, exporters can only provide full containers and thus these containers have to go
to the third port location. Additionally, constraint (4a) does this for the first port location, which
has loaded containers for importers, while constraint (4b) deals with the second port location which
has empty containers. It is worth noting that all 𝑥 3 variables need to originate from the port since
it is the only location that has both empty and loaded containers. Specifically, it needs a container
from the first port location and one container from the second port location. For this reason, it is
not multiplied by 2 in any of the constraints, but instead appears in both constraints (4a) and (4b)
and takes a container from each location each time.
Constraints (5)-(8) sum all the containers received by a specific location at a specific point
in time. It then does this for all locations at all points in time and equals them to the 𝑛 𝑖 ,𝑡 variables
which represent all the containers received by location i at time t. Since each variable represents
the drop-off of a single container, all variables only add one in this sum. For example, constraint
(5) sums all the containers received by the importers, which can only receive loaded containers. In
32
this case there are 5 ways (summations) an importer can receive a loaded container. The first sum
represents the first loaded container being dropped off at importer j in a truck route carrying two
loaded containers (i.e. 𝑥 1
𝑖 ,𝑗 ,𝑡 ). This truck route could only have originated at the port since loaded
containers for importers can only be found at the port. The second sum represents a loaded
container being dropped off at importer j in a truck route carrying one loaded container and one
empty container (i.e. 𝑥 3
𝑖 ,𝑗 ,𝑡 ). In this case the first container is being dropped off in the two-
container truck route. Therefore, the truck route will originate from the port as well. The third sum
represents the second loaded container being dropped off at importer j in a double-container truck
route carrying two loaded containers (i.e. 𝑦 1
𝑖 ,𝑗 ,𝑡 ). In this case the second leg of the route should
have originated at an importer, since the other loaded container could only have been dropped off
at an importer, possibly the same importer. The fourth sum represents the loaded container being
dropped off second at importer j in a double-container route carrying a loaded container and an
empty container (i.e. 𝑦 3
𝑖 ,𝑗 ,𝑡 ). In this case the second leg of the route could only have come from
either an exporter or a depot where it dropped off the empty container first at either an exporter or
a depot. Finally, the last sum represents a loaded container being dropped off at location importer
j for a truck route carrying only a single loaded container from the port. Another example, can be
found in constraint (8b) there are three sums each determining the possible ways the third port
location can receive loaded containers, with the first sum representing the first loaded container of
a double-container truck route coming from an exporter. The second sum represents the second
loaded container of the same route. Finally, the last sum represents a loaded container from a
single-container route coming from an exporter.
The next set of constraints deal with meeting the demand, and ensuring the feasibility of
the solution. Constraint (9) aggregates all the provided containers that a location has provided by
time t. It then does this for all time periods and all locations. Constraint (10) does the same but
aggregates all the containers that a location has received by time t.
Constraint (11) is a feasibility constraint that deals with the fact that the number of
containers received minus the number of containers provided, plus the number of containers at the
start of the day cannot be a negative number. Notice that the 𝑎 𝑖 ,𝑡 variables are all containers
provided until time t, while the 𝑏 𝑖 ,𝑡 variables are all the containers received by time t. They have
to be offset by time ri which is the turnover time at location i. The idea is that when a container
33
arrives at a location there is a certain time that is needed to either unload or load the container. The
only difference between (11a) and (11b) is that (11a) is the full constraint including 𝑏 𝑖 ,𝑡 , however
constraint (11b) deals with the times that it is too early in the day for any container to have arrived
at location i and thus has no 𝑏 𝑖 ,𝑡 . Constraint (12) ensures demand is met. Constraint (12a) ensures
that the demand at all non-port locations is met. Constraint (12b) ensures that there are enough
containers to load the ships that are leaving the port. Constraint (12c) ensures that all the loaded
containers needed from the exporters arrive at the third port location.
Constraint (13) deals with the fact that a location only has a certain amount of space or
capacity. This constraint makes sure that at every point in time the amount of containers that are
in a location does not exceed this capacity. Constraint (13a) makes sure this is true for non-port
locations, and constraint (13b) does this for the port. Constraint (14) makes sure that a double
container truck delivers two containers. The 𝑥 𝑖 ,𝑗 ,𝑡 variables represent a truck going from location i
to location j at time t after some delay, given by the parameter 𝑙 𝑖 ,𝑗 ,𝑡 . This truck must go to another
location (this can be the same location) to deliver the second container. This is represented by the
𝑦 𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 variable. This constraint says that all the 𝑥 𝑖 ,𝑗 ,𝑡 variables that arrive at a certain location by
time t must have a corresponding 𝑦 𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 variable associated with them. This constraint is
subdivided into 5 different constraints, to correctly match the x variables with their corresponding
y variables.
Finally, constraints (15) and (16) can be thought as enforcing the conservation of trucks.
Constraint (15) equals the number of trucks that leave location i with containers to the number of
trucks without containers that must arrive at location i at time t. This constraint is subdivided into
5 to account for all locations that can be the start of a truck job. Constraint (16) enforces the
constraint that the number of trucks with containers that end their job at location j (𝑦 𝑖 ,𝑗 ,𝑡 for double
truck trips and 𝑧 𝑖 ,𝑗 ,𝑡 for single truck trips) by time t must be greater than or equal to the total number
of trucks without containers that leave location j by time t. This constraint is sub-divided into 4 to
account for all the locations that can be the end of a job (seeing that the depot and export can be
lumped into one).
34
3.3 Building of the Truck Routes
After a solution for the ECDCT is found we can build truck routes. Notice that the ECDCT
will yield both the movement of trucks with containers (either loaded or empty) variables (𝑥 𝑖 ,𝑗 ,𝑡 ,
𝑦 𝑖 ,𝑗 ,𝑡 , or 𝑧 𝑖 ,𝑗 ,𝑡 ), and the movement of trucks without container variables (𝜏 𝑖 ,𝑗 ,𝑡 ). Truck routes are
stored in ordered sets called 𝑅 𝑝 . These ordered sets contain tuples that will direct the trucks how
to move. For example, the tuple {𝑖 , 𝑗 , 𝑘 , 𝑡 } means that a double container truck p should go from
location i, to location j, to location k, starting at time t. These tuples represent two types of trips:
truck movements without a container and movement of trucks with container (either loaded or
unloaded) also referred to as jobs. For each truck p, the ordered set 𝑅 𝑝 alternates between a truck
movement with no containers and a truck movement with containers. Truck movement without
containers are stored in the order set 𝑅 𝑝 only at odd positions. Thus, a tuple {𝑖 , 𝑗 , 𝑗 , 𝑡 } found in
an odd position in the ordered set 𝑅 𝑝 represents that truck p moves without any containers from
location i to location j at time t. By definition the first tuple in any route is {0, 𝑖 , 𝑖 , 𝑡 }, which
means that truck p starts its route at location i at time t.
Truck movements with containers are referred to as jobs, which can be either a single
container job or a double container job. For a double container truck movement, a job is defined
by the tuple {𝑖 , 𝑗 , 𝑘 , 𝑡 }, where the movement of the first leg of the double container is from
location i to location j, and the second leg is from location j to location k at time t. Similarly, a
single container truck job is defined by the tuple {𝑖 , 𝑗 , 𝑗 , 𝑡 } where the truck moves one container
from location i to location j starting at time t. These jobs are also stored in the ordered sets 𝑅 𝑝 but
only in even positions. Finally, let 𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 be the number of job tuples of the form {𝑖 , 𝑗 , 𝑘 , 𝑡 } in
𝑅 𝑝 for all p. We next describe how to construct the ordered sets 𝑅 𝑝 , which will yield the truck
routes. We call this procedure “Algorithm for Building Truck Routes”.
35
Algorithm for Building Truck Routes
1. Solve the ECDCT to get the job variables (𝑥 𝑖 ,𝑗 ,𝑡 , 𝑦 𝑖 ,𝑗 ,𝑡 , or 𝑧 𝑖 ,𝑗 ,𝑡 ) and the truck movement
without any containers variables (𝜏 𝑖 ,𝑗 ,𝑡 ).
2. Set all 𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 such that:
a. 𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 =
𝑥 1
𝑖 ,𝑗 ,𝑡 +𝑥 2
𝑖 ,𝑗 ,𝑡 +𝑥 3
𝑖 ,𝑗 ,𝑡 +𝑦 1
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 +𝑦 2
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 +𝑦 3
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 2
If 𝑗 ≠𝑘
b. 𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 =
𝑥 1
𝑖 ,𝑗 ,𝑡 +𝑥 2
𝑖 ,𝑗 ,𝑡 +𝑥 3
𝑖 ,𝑗 ,𝑡 +𝑦 1
𝑗 ,𝑘 ,𝑡 +𝑦 2
𝑗 ,𝑘 ,𝑡 +𝑦 3
𝑗 ,𝑘 ,𝑡 2
+𝑧 𝑖 ,𝑗 ,𝑡
If 𝑗 =𝑘
3. Set 𝑝 =1
4. Choose any positive 𝜏 0,𝑗 ,𝑡 . Suppose we choose 𝜏 0,𝑖 ′
,𝑡 ′.
5. Add the truck movement without container tuple {0,𝑖 ′
,𝑖 ′
,𝑡 ′
} to the ordered set 𝑅 𝑝
6. Set 𝜏 0,𝑖 ′
,𝑡 ′ = 𝜏 0,𝑖 ′
,𝑡 ′−1
7. Set 𝑞 ′
=𝑡 ′
+𝑙 0,𝑖 ′
,𝑡 ′
8. Choose any positive 𝑤 𝑖 ′
,𝑗 ,𝑘 ,𝑞 ′. Suppose we choose 𝑤 𝑖 ′
,𝑗 ′
,𝑘 ′
,𝑞 ′.
9. Add the truck job tuple {𝑖 ′
,𝑗 ′
,𝑘 ′
,𝑠 ′
} to the ordered set 𝑅 𝑝
10. Set 𝑤 𝑖 ′
,𝑗 ′
,𝑘 ′
,𝑞 ′ = 𝑤 𝑖 ′
,𝑗 ′
,𝑘 ′
,𝑞 ′−1
11. Set 𝑟 =𝑞 ′
+𝑙 𝑖 ′
,𝑗 ′
,𝑞 ′+𝑙 𝑗 ′
,𝑘 ′
,𝑞 ′
+𝑙 𝑖 ′
,𝑗 ′
,𝑞 ′
12. If there are no positive 𝜏 𝑘 ′
,𝛼 ,𝑢 go to Step 16, where 𝑢 ≥𝑟 and 𝑢 ∈𝑆𝑇 . Otherwise, choose
a positive 𝜏 𝑘 ′
,𝛼 ,𝑢 with the smallest u. Suppose we choose 𝜏 𝑘 ′
,𝛼 ′
,𝑢 ′.
13. Add the truck movement without container tuple {𝑘 ′
,𝛼 ′
,𝛼 ′
,𝑢 ′
} to the ordered set 𝑅 𝑝
14. Set 𝜏 𝑘 ′
,𝛼 ′
,𝑢 ′ = 𝜏 𝑘 ′
,𝛼 ′
,𝑢 ′−1
15. Go back to Step 8 with 𝑞 ′
=𝑢 ′
+𝑙 𝑘 ′
,𝛼 ′
,𝑢 ′ and 𝑖 ′
=𝛼 ′
16. If there is a positive 𝜏 0,𝑗 ,𝑡 set 𝑝 =𝑝 +1 and go back to Step 4. Otherwise STOP and
Return 𝑅 𝑝 for all p.
This algorithm initializes a truck route p by first choosing a positive 𝜏 0,𝑗 ,𝑡 . After it has
chosen an initial starting location, constraint (15) guarantees that there is a job waiting at that
location. It then services one of those jobs. It will end the job at location 𝑘 ′
. Then constraint (16)
states that if truck p needs to service another job then there will be a positive 𝜏 𝑘 ′
,𝛼 ,𝑢 . If there isn’t
then truck’s p route ends there. If there is, then we route truck p to the start of its next job. One
property of the algorithm is that at the end we will be left with P number of truck routes were 𝑃 =
36
∑ ∑ 𝜏 0,𝑗 ,𝑡 𝑡 ∈𝑆𝑇 𝑗 ∈𝑆𝐴
. Finally, also when the algorithm stops because of the combination of constraints
(15) and (16), all 𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 will equal zero meaning that all jobs are satisfied.
37
4. Double Container Assignment Problem
As stated in Chapter 4 the ECDCT presented is NP-hard and computational difficult to
solve. Thus, our approach to solve the problem is to divide the problem into two sub-problems. In
the first sub-problem we will find the container assignments to meet all demand, assuming that
trucks are not a limiting resource and instead are waiting around the port for any job needed. This
means that in this sub-problem we do not need to worry about finding a truck schedule. The second
sub-problem is then finding a truck schedule such that all container assignments found in the first
sub-problem are met. In this chapter, we will focus on the first sub-problem This means that we
can drop constraints (15), (16), (19), and (20), as well as the second part of the objective involving
the cost of moving trucks without any containers. We will call the resulting model without these
constraints the Double Container Assignment Model (DCAM).
4.1 Double Container Assignment Model Properties
For the DCAM it is worth noting that the model only cares about trucks moving with at
least one container. This means that the parameters 𝜋 𝑖 ,𝑗 ,𝑡 and variables 𝜏 𝑖 ,𝑗 ,𝑡 are not used in the
model and can be deleted. The objective of the DCAM is only to minimize the cost of moving
containers either by single truck trips or double truck trips.
Although the worst-case complexity of the DCAM is not known it can be shown that the
model will grow exponentially with regard to the number of locations and time discretizations. In
of the experiments in Chapter 4.3.2 an IP solver could not find an optimal solution or even a
feasible solution the problem. For this reason, heuristics are used to solve the DCAM. In Chapter
4.2 two heuristics that solve the DCAM model are presented. However, both heuristics use
Proposition 1 and Proposition 2 shown below. In this Chapter we prove these two propositions that
will be used to solve the model.
38
Proposition 1. The LP relaxation of the DCAM yields an integer solution if the following
assumptions hold true:
(1) Either (𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 >𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 ) or (𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 <𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 ) is true for all i, j, k,
and t.
(2) 𝑓 𝑖 ,𝑖 ,𝑡 <𝑓 𝑖 ,𝑗 ,𝑡 ∀𝑖 ,𝑗 ∈𝑆𝐴 ∀ 𝑖 ≠𝑗
(3) Capacity at each location is infinite
(4) 𝑑 𝑖 ,𝑗 , 𝑝 𝑖 , and 𝑐 𝑖 are all even numbers for all i and t.
Proposition 2. The LP relaxation of the DCAM yields an integer or half-integer solution if the
following assumptions hold true:
(1) Either (𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 >𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 ) or (𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 <𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 ) is true for all i, j, k,
and t.
(2) 𝑓 𝑖 ,𝑖 ,𝑡 <𝑓 𝑖 ,𝑗 ,𝑡 ∀𝑖 ,𝑗 ∈𝑆𝐴 ∀ 𝑖 ≠𝑗
(3) Capacity at each location is infinite
As seen both propositions have almost the same assumptions, with the only difference
being that Proposition 1 has an extra fourth assumption. Assumption (1) states that moving
containers is cheaper by either using only single-container trucks or double-container trucks. This
assumption is reasonable because a trucking company is going to be consistent with its pricing and
either charge more for moving containers by using single-container trips or double-container trips
(usually being cheaper by double-container). We also claim that when 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 >𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡
is true, then only single container trucks are used in the LP solution. Similarly, when 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 <
𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 is true, then only double container trucks are used.
The second assumption (2) states that in a double-container trip dropping off the second
container at the same location is always cheaper than dropping it off at any other location. This
assumption usually holds because moving to another location means more time, effort and gas,
thus it should be more expensive to drop the second container at another location. Assumption (3)
is needed for the proof of the propositions although in our experiments and testing of the code it
does not need to hold true. It is thus believed that the propositions still hold true without this
assumption, but we are unable to prove them without. Finally, assumption (4) for Proposition 1 is
39
the difference between both propositions. This assumption is restrictive and dropping it makes the
LP relaxation not yield an optimal integer solution in general.
4.1.1 Model Observations proof
In this Chapter a prove for Propositions 1 and 2 is presented. The proof will focus on
Proposition 2, but we will prove Proposition 1 along the way. The idea of the proof is to first show
Proposition 2 holds when 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 >𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 for assumption (1) and when the turnover
time at each location is zero 0 (i.e. 𝑟 𝑖 =0). The second assumption is then relaxed and a proof for
a general turnover time is given. Next, we show Proposition 2 holds when 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 <𝑔 𝑖 ,𝑗 ,𝑡 +
𝑔 𝑖 ,𝑘 ,𝑡 and when the turnover time at each location is zero, and then for a general turnover time.
This will conclude the proof for Proposition 2 and Proposition 1 will then also be proven with
slight modifications.
The first step is proving Lemma 1 stated below
Lemma 1. The LP relaxation of the DCAM yields an integer solution if all assumptions for
Proposition 2 hold and additionally 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 >𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 and 𝑟 𝑖 =0 for all i, j, and t.
We will start by noting that because 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 >𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 we can set all 𝑥 𝑖 ,𝑗 ,𝑡 and
𝑦 𝑖 ,𝑗 ,𝑡 variables to 0 and ignore them when searching for a solution. Thus, we can focus on only
single-container trucks. We will then build a graph of the resulting model.
We will then start by building a graph of the resulting model using only single-container
trucks and 𝑟 𝑖 =0. Each level of the graph will represent a time discretization. There will be T
discretizations. At each level, there are 2n nodes where n is the number of locations. That means
that there are two copies of each location, we will refer to the first copy as i and the second copy
as i’. Figure 4 shows a sample representation of the graph. At each level t each node i is connected
to node j at level t+𝑙 𝑖 ,𝑗 ,𝑡 if location i can supply location j. Node i is also connected to node i’ at
level t+1. Moreover, each node i’ is also connected to node j at level t+𝑙 𝑖 ,𝑗 ,𝑡 if location i can supply
location j. It is also connected to node i’ at level t+1. We do this for all i and i’ nodes and for all
levels t (except for t=T). We then set the demand for each node i at each time t (no demand for
nodes i’). Notice that we can add a starting node s at the beginning connected to all locations at i’
40
for t=1. We will then add a flow from s to all i’ equal to the number of starting containers at
location i (𝑝 𝑖 ). Finally, we will add a terminal node e and add an edge going from all nodes at level
t=T to this terminal node. Now, notice that we have just built a network with no loops and all the
demands are integer numbers. Thus, the problem can be solved in polynomial time using linear
programming and it will yield an integer solution. Notice that the graph is also indicative of the
DCAM if all 𝑥 𝑖 ,𝑗 ,𝑡 and 𝑦 𝑖 ,𝑗 ,𝑡 variables are set to 0, 𝑟 𝑖 =0, and 𝑐 𝑖 =∞. Thus, by proving that the
LP will yield an integer solution Lemma 1 is proven to be true.
Figure 4. Example of graph for single-container trucks, r=0, and unlimited capacity
The second step is proving Lemma 2 stated below:
Lemma 2. The LP relaxation of the DCAM yields an integer solution if all assumptions for
Proposition 2 hold and additionally 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 >𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡
Notice that Lemma 2 is a generalization of Lemma 1 by dropping the assumption that 𝑟 𝑖 =0.
Consequently, will use a similar graph as before to prove Lemma 2. However, at each t level we
will have r+1 copies of each location labeled 𝑖 1
, 𝑖 2
, 𝑖 3
,…, 𝑖 𝑟 , 𝑖 𝑟 +1
. Furthermore, we will have an
edge going from 𝑖 𝑎 at level t to 𝑖 𝑏 at level t+1. We will do this for all subscripts 𝑎 ∈1,2,3,…𝑟 −1
41
copies (connecting them to the next copy at the next time level), and all time levels. Then, we
connect 𝑖 𝑟 at level t to 𝑗 1
at level t+𝑙 𝑖 ,𝑗 ,𝑡 , if location i can supply location j. We will also connect
node 𝑖 𝑟 at time level t to node 𝑖 𝑟 +1
at time level t+1 (similar to the previous graph). We will then
connect 𝑖 𝑟 +1
at level t to 𝑗 1
at level t+𝑙 𝑖 ,𝑗 ,𝑡 if location i can supply location j. Finally, we will also
connect node 𝑖 𝑟 +1
at time level t to node 𝑖 𝑟 +1
at time level t+1. We do this for all nodes i, and all-
time levels t (except for t=T). Finally, we add a starting node s and connect it to all nodes 𝑖 𝑟 +1
at
time level t=1, and we will add a terminal node e and connect all nodes in time level t=T to node
e. Now, because we are assuming infinite capacity (or M where M is a really large number), then
we have a network with no loops and all the demands are integer numbers. Thus, the problem once
again can be solved in polynomial time using linear programming and the solution will be an
integer solution. Once again, the graph is also indicative of the DCAM if all 𝑥 𝑖 ,𝑗 ,𝑡 and 𝑦 𝑖 ,𝑗 ,𝑡
variables are set to 0 and 𝑐 𝑖 =∞. Therefore, we have proven Lemma 2. Notice that by proving
Lemma 2 we have also proven Proposition 2 when assumption 1 is true because 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 >
𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 .
At this point half the proof for Proposition 2 is done. Now the other possibility for
assumption (1) needs to be proven true. We start this proof by introducing Lemma 3 below.
Lemma 3. The LP relaxation of the DCAM yields an integer solution if all assumptions for
Proposition 2 hold and additionally 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 <𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 and 𝑟 𝑖 =0 for all i, j, and t.
First it is worth noting that unlike in Lemma 1 and 2 we now assume that 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 <
𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 . This means that it is always cheaper to use double-container trucks to move
containers than single container trucks. Thus, in the LP relaxation all 𝑧 𝑖 ,𝑗 ,𝑡 can be set to 0 without
loss of generality. This means that the resulting solution will only use double-container variables.
To prove Lemma 3, we will first create a similar graph to the graph used to prove Lemma
1, except it will have exactly 3 copies (𝑖 1
, 𝑖 2
, 𝑖 3
) of each location for each time level instead of 2.
We will then have an edge from node 𝑖 2
at level t to node 𝑗 1
at level t+𝑙 𝑖 ,𝑗 ,𝑡 , if location i can supply
location j. We will then have another edge from node 𝑗 1
at level t+𝑙 𝑖 ,𝑗 ,𝑡 to node 𝑘 2
at level
t+𝑙 𝑗 ,𝑘 ,t+𝑙 𝑖 ,𝑗 ,𝑡 , if location k is a possible second location drop off location of i. For both cases only
add the edge if there could be a possible truck route with a double-container route starting at
42
location i then going to location j and ending at location k starting at time t. We will then have an
edge from node 𝑖 2
at level t to node 𝑖 3
at time t+1. Furthermore, we will have an edge from node
𝑖 3
at time t to node 𝑖 3
at time t+1. We will also have an edge from node 𝑖 3
to node 𝑗 1
at time t+𝑙 𝑖 ,𝑗 ,𝑡 ,
if location i can supply location j. We then do this for all nodes i and all levels t (except for t=T).
Now, notice that there is always an edge going from node 𝑖 1
to node 𝑖 2
in the same time level t.
This edge represents the second container being dropped off at the same location as the first
container. Now assumption 2 states that 𝑓 𝑖 ,𝑖 ,𝑡 <𝑓 𝑖 ,𝑗 ,𝑡 ∀𝑖,𝑗 ∈𝑆𝐴 ∀ 𝑖 ≠𝑗 , or that dropping of the
second container at the same location is always cheaper than dropping it off at any other location.
This means that a linear program will only use routes that deliver the second container to the same
location as the first container. This is because 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑗 ,t+𝑙 𝑖 ,𝑗 ,𝑡 <𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,t+𝑙 𝑖 ,𝑗 ,𝑡
∀𝑖 ,𝑗 ∈
𝑆𝐴 𝑠 .𝑡 .𝑖 ≠𝑗 . Thus, we have proven that we will never use the different routes and we can eliminate
all the edges from all nodes 𝑖 1
except for the edge going from 𝑖 1
to 𝑖 2
in the same time level t. This
means that all the flow that comes into 𝑖 1
needs to go to 𝑖 2
, because it is the only option. Thus, we
can combine 𝑖 1
and 𝑖 2
into a single node i, knowing that any solution given by the linear program
will have to be divided by 2 since each flow unit represents 2 containers arriving at location i.
Now, notice that this graph now is exactly the same as the graph built for Lemma 1. We
have already shown that this problem could be solved in polynomial time using linear programing
and it will yield an integer solution. Thus, this problem can also be solved in polynomial time
using linear programming. However, as stated before the difference is that a one unit of flow in
this graph symbolizes two containers being moved from location i to location j. Therefore, in this
case we may not necessary get an integer solution, because we must divide each flow by 2. Thus,
we will get a solution that is either integer or a half integer solution, proving Lemma 3.
The final step in the proving of proposition 2 is to show that Lemma 4 holds:
Lemma 4. The LP relaxation of the DCAM yields an integer solution if all assumptions for
Proposition 2 hold and additionally 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 <𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 for all i, j, and t.
Similarly, as before Lemma 4 drops the assumption 𝑟 𝑖 =0 that Lemma 3 made. In this case
we can use the result found when proving Lemma 3 that states that only double-container trucks
dropping both containers at the same location will be used. This means that the graph that was
used to prove Lemma 2 can also be used to prove Lemma 4, with the only difference being that
43
any unit of flow found through this graph will represent two containers being moved from i to j
instead of one. This means that the solution found with the LP relaxation will either yield an integer
or half integer solution, thus proving Lemma 4. Additionally, notice that this graph is also
indicative of the DCAM model for when 𝑒 𝑖 ,𝑗 ,𝑡 +𝑓 𝑗 ,𝑘 ,𝑡 <𝑔 𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑘 ,𝑡 . Thus, by proving Lemma 4
the second half of Proposition 2 is also proven.
A closer look at the graph used to prove Lemma 4 will show that the half integer solution
will only occur when an odd number of containers are moved between any two nodes. This is
because when you divide this number by half to get a feasible solution the resulting number will
include a .5. Notice that if all 𝑑 𝑖 ,𝑗 and 𝑝 𝑖 are even then because of flow theory all flows will be
even. Thus, when dividing by two all the flows will still be integer. These extra assumptions are
the ones needed to make Proposition 2 into Proposition 1 and in this case integer solutions are
found, thus proving Proposition 1.
4.2 Heuristics
As seen in the previous Chapter 4.1 under general conditions solving the DCAM as an LP
will not yield an optimal integer solution, since the optimal solution may yield half integer decision
variables. In this chapter we will focus on how to obtain feasible solutions given that the
assumptions for Proposition 2 hold true, and thus the LP relaxation will yield integer or half integer
solutions. Two heuristics are presented that use the half integer the LP relaxation yields to obtain
a feasible solution.
4.2.1 Single Truck Heuristic
The first heuristic is what we would call the Single Truck Heuristic (STH). This is a very
simple heuristic that takes advantage of the half integer solution that is found when solving the
linear program relaxation of the DCAM. As previously discussed, the DCAM only uses double-
container trucks if they are cheaper than the single container trucks. After solving the LP relaxation
of the DCAM, this heuristic takes any double-container truck trip (i.e. the 𝑥 𝑖 ,𝑗 ,𝑡 and the
corresponding 𝑦 𝑗 ,𝑗 ,𝑡 ) and rounds both of them down. It then adds a single container truck trip from
location i to location j, were i and j correspond to the variable 𝑥 𝑖 ,𝑗 ,𝑡 that was rounded down. This
44
then yields a feasible solution. It is worth noting that after running the LP relaxation model this
heuristic is a greedy algorithm and that its running time is Θ(N), where N is the number of truck
trips yielded by the LP relaxation.
4.2.2 Integer Programming Heuristic
For the second heuristic we first solve the DCAM using the LP relaxation. We then round
all fractional solutions down to the nearest integer. These variables are then fixed, reducing the
total demand that must be meet. We then solve the DCAM using Integer Programming techniques,
and because the problem size is significantly smaller, this can be done in a reasonable amount of
time. This then yields a feasible solution to the problem. We will refer to this heuristic as the
Integer Programming Heuristic (IPH).
4.3 DCAM Experimental Analysis
Thus far in this chapter we have presented the DCAM, which is a container assignment
model, and heuristics to solve the model. However, before we can move forward to the second part
of solving the Empty Container Problem and solving the ECDCT we need to study how effective
our DCAM is and how well our heuristic solutions perform. In this chapter we will test two
experiments to test how well our model is, and test our heuristics for solving the model.
4.3.1 Model Testing based on Port of Los Angeles and Long Beach Data
To test how well an optimal solution to the DCAM performs we will test the model using
data from the Ports of Los Angeles and Long Beach. The data available for this study was presented
as origin and destination pairs for containers for small regions in the Southern California area.
Thus, we first eliminated all the regions which were more than 15 miles from the Ports of Los
Angeles and Long Beach, since our model focuses on intermodal locations, and these are usually
not further than 15 miles from the Port. We also did not have information about how many
locations were inside each region, consequently we ran three experiments, each with a different
number of locations inside each region (except for the Port which only had one location). This was
done to test how the model reacted to a different number of locations in each region since this
45
information was not available. Each region had a total aggregated demand of 200 containers by
the importers from the Port to the locations. Meanwhile, the total aggregated demand for exporters
to the Port is 90 containers. The number of importer regions was five, while the number of exporter
regions was three. In our first set of experiments we consolidate the demand in each region to a
single location within the region. In our second set of experiments we consolidate the demand for
each region to two locations within the region. Finally, in our third set of experiments we
consolidate each region to three locations within the region. In all experiments we have two depots
and the Port. Table 3 shows the distances between the different locations for the first set of
experiments, while Figure 5 shows the locations for the locations on Google Maps. We then used
Google Maps to calculate to calculate the travel time between locations (i.e. the 𝑜 𝑖 ,𝑗 ,𝑡 and 𝑙 𝑖 ,𝑗 ,𝑡
variables).
Table 1. Distance between locations in miles
Locations
Importer
1
Importer
2
Importer
3
Importer
4
Importer
5
Exporter
1
Exporter
2
Exporter
3
Depot
1
Depot
2 Port
Importer 1 0 8.2 1.8 6 4 2 2.5 3.9 3.2 6.1 2.3
Importer
2 8.2 0 6.7 5.9 5 8 5.1 6.1 4.8 5 13
Importer 3 1.8 6.7 0 5.6 3.6 2.4 0.7 3.5 1.7 5.7 5.3
Importer 4 6 5.9 5.6 0 3.1 6.9 6.6 3 5.6 3.1 10
Importer 5 4 5 3.6 3.1 0 3.9 3.4 1.4 3.6 3.2 8.5
Exporter 1 2 8 2.4 6.9 3.9 0 3.1 2.7 3.3 7.2 5
Exporter 2 2.5 5.1 0.7 6.6 3.4 3.1 0 4.1 1 6.7 7
Exporter 3 3.9 6.1 3.5 3 1.4 2.7 4.1 0 3.8 3.3 7.3
Depot 1 3.2 4.8 1.7 5.6 3.6 3.3 1 3.8 0 5.7 6.2
Depot 2 6.1 5 5.7 3.1 3.2 7.2 6.7 3.3 5.7 0 10.5
Port 2.3 13 5.3 10 8.5 5 7 7.3 6.2 10.5 0
46
Figure 5. Position of the locations
For these set of experiments, we assume a 12-hour day. In the first set of experiments, each
of the five importer locations has a demand of 40 by time 9, and each of the three exporter locations
has a demand of 30 by time 9. While in the second set of experiments each of the ten importer
locations has a demand of 20 by time 9, and also there were three exporters with a demand of 16
by time 9 and three exporters with a demand of 14 by time 9. Finally, in the third set of experiments
ten importers had a demand of 14 by time 9 and five importers had a demand of 12 by time 9.
Similarly, there were nine exporters which had a demand of 10 by time 9. This kept the total
aggregated totals the same for all three experiments, the rounding to even numbers was to obtain
integer numbers so that the LP relaxation yielded feasible solutions since in this experiment we
wanted to test how effective the model could be. The effectiveness of the heuristics will be tested
in the next set of experiments. We therefore also assume that all 200 containers are ready for
transport at the Port at the beginning of the day, and need to return to the Port (either empty or
full) by the end of the day. We also assume that each importer or exporter location has a capacity
of 10 containers. Meanwhile each depot has a capacity of 26 containers. The loading and unloading
time of containers (𝑟 𝑖 ) is 1 hour at all locations. Finally, we also assume that the truck turnover
time at the Port is 2 hours. It is worth noting that because of these specific set of parameters the
47
LP relaxation will yield an integer solution, because of the properties previously discussed. Table
2 below shows a summary of the parameters previously discussed.
Table 2. Summary of the parameters of the DCAM
Parameter name Parameter value
# of importers for first experiment 5
# of importers for second experiment 10
# of importers for third experiment 15
# of exporters for first experiment 3
# of exporters for second experiment 6
# of exporters for third experiment 9
# of depots (D) 2
Loading and unloading of containers 1 hour
Truck turnover time at port 2 hours
Daily time horizon 12 hours
Time discretization size 1 hour
The model was built in Julia and solved using the Gurobi solver. For each of the three set
of experiments we performed five trials with different scenarios. The first trial we performed
involved solving the Double Container Reuse model. For this trial, we made the assumption that
it was cheaper to use one double-container truck rather than two single-container trucks for every
route. Another assumption as well was that it was cheaper to have a double-container truck deliver
both containers to the same location, rather than two different locations. The next trial involved
setting all 𝑥 𝑖 ,𝑗 ,𝑡 and 𝑦 𝑖 ,𝑗 ,𝑡 variables to zero so that no double-container trucks were used. We called
this trial the Single Container Reuse. Third, to have a baseline, we ran a trial using only single-
container trucks going from the port to non-port destinations, this trial represented the current
movement for most containers. We then ran a fourth trial in which double-container truck routes
were not allowed into or out of the Port. Finally, we ran a fifth trial in which double-container
trucks were not allowed out of the Port, and only the second leg of a double-container truck (𝑦 𝑖 ,𝑗 ,𝑡 )
was allowed into the Port. We ran each trial for each of the three experiments with the different
locations presented earlier. The results for these experiments are shown in Tables 3-5. Table 3
shows the results where there is only importer or exporter in each region while Tables 4 and 5
contain the results for the 2 and 3 cases, respectively.
48
Table 3. Results from the data of the Ports of Los Angeles and Long Beach (11 total locations)
Scenario
# Double-
Container
Truck Trips
# Single-
Container
Trucks Trips
Double-
Container
Truck Miles
Single-
Container
Truck Miles
Total
Truck
Miles
Total Cost
Double Container Reuse 245 0 1558 0 1558
$35,294
Single Container Reuse 0 490 0 3116 3116
$96,725
Single Direct (Current) 0 500 0 3702 3702
$105,845
Double Container (Port
Forbidden) 45 400 200 2717 2917
$85,147
Double Container (Second leg
allowed to Port) 90 310 845 2189 3034
$68,547
Table 4. Results from the data of the Ports of Los Angeles and Long Beach (19 total locations)
Scenario
# Double-
Container
Truck Trips
# Single-
Container
Trucks Trips
Double-
Container
Truck Miles
Single-
Container
Truck Miles
Total
Truck
Miles
Total Cost
Double Container Reuse 245 0 1539 0 1546
$34,876
Single Container Reuse 0 490 0 3092 3092
$95,586
Single Direct (Current) 0 500 0 3702 3681
$104,595
Double Container (Port
Forbidden) 45 400 195 2705 2900
$84,120
Double Container (Second leg
allowed to Port) 90 310 832 2172 3004
$67,725
Table 5. Results from the data of the Ports of Los Angeles and Long Beach (27 total locations)
Scenario
# Double-
Container
Truck Trips
# Single-
Container
Trucks Trips
Double-
Container
Truck Miles
Single-
Container
Truck Miles
Total
Truck
Miles
Total Cost
Double Container Reuse 245 0 1528 0 1528
$34,641
Single Container Reuse 0 490 0 3092 3056
$94,958
Single Direct (Current) 0 500 0 3702 3681
$103,899
Double Container (Port
Forbidden) 45 400 192 2699 2891
$83,569
Double Container (Second leg
allowed to Port) 90 310 827 2165 2992
$67,285
There are some interesting results from these experiments. First, we can conclude that the
number of locations within each region has no effect on the general trends. One noticeable detail
is that the Double Container Reuse and the Single Container Reuse solutions yield the same
movement of containers, with the only difference being that the Double Container Reuse uses only
double-container trucks, while the other experiment uses only single-container trucks. This means
49
that the number of trucks and miles is exactly double for the Double Container Reuse compared
with the Single Container Reuse. This is expected since the solutions are the same, except one is
using only double-container trucks while the other is using only single container trucks. Now,
comparing the Single Container Reuse versus the current situation there is about a 16% reduction
in truck miles.
The last two trials allowed us to simulate different situations that would most likely
resemble real life situations. We first took into account that double-container trucks are not allowed
in the Ports since infrastructure improvements are necessary to accommodate double-container
trucks. However, the comparison of these results with the previous results can show the benefits
of using double-container trucks on the impact on the reduction of truck miles if the local
infrastructure was expanded to account for double-container trucks. We therefore prohibited any
part of a double-container truck from entering or leaving the port by assigning a large cost for both
the first and second leg of the double-container trip. This forbade double-container truck trips from
entering the port, but allowed double-container truck trips for the street exchanges. Afterwards,
we allowed the second leg of a double-container truck to be able to enter the Port since it would
only carry one container during this part of the trip. We therefore lowered the cost of the second
part of a truck container going from a non-port location to the port. The results for these two trials
are shown in the last two rows of Tables 3-5.
As it can be observed, the amount of truck miles and trucks does go up in these two trials,
compared to the Double Container Reuse. However, this is still a reduction on the Single Container
Reuse. When comparing these two trials where double-container trucks are not allowed into the
port, there are some advantages and disadvantages to each. By allowing the second leg of the truck
trip to go into the Port the number of truck miles goes up, but the number of trucks goes down,
compared to when no double-container trips can go into the Port. This tradeoff between truck miles
and number of trucks, is due to the fact that when the second leg of a truck trip is allowed into the
Port, the model will choose to send a second leg of a truck into the Port. Even if this increases the
number of miles the truck must go. By doing so it increases the number of double-container truck
trips, thus reducing the total number of trips. The policy that is most beneficial will thus depend
on the cost of an extra truck compared to the cost of having longer trips.
50
In conclusion the model performed as expected and it connected importers and exporters
such that the number of trucks and miles were reduced compared to the current policy. The double
container is also favorable over using only the single container reuse policy, even if double
container trucks cannot go in or out of the Port. Now that we have seen the effectiveness of the
model in reducing truck miles we will run another set of experiments to test the effectiveness of
the heuristics and observe how the solution changes under different conditions.
4.3.2 General Experiments to test Heuristics
As seen our model performs well when the LP relaxation yields integer solutions. However,
this is not the case under general conditions since it will usually yield half integer solutions. In this
chapter we will test the quality of the heuristics presented in chapter 4.2.2 (IPH and STH). We
have pinpointed three parameters that could have an influence on the solution quality, these being
the position of the locations, demand size, and location quality. For all the experiments in this
chapter we use a 12-hour day, with time discretized into 15 minute intervals. We also assume that
all locations can process one container in 1 hour, and that getting into and out of the Port takes 2
hours. We also use rectilinear distances between any two locations, with the port always being in
the center at the bottom of the area. There are always 7 importers and 5 exporters. To analyze each
parameter, we will use a two-way layout experiment, with a replication of 10 for each factor. The
two factors in each experiment will be the heuristic being used, and the factor being tested
(location, demand, and capacity). To be able to compare their performance we will use the ratio of
the heuristic over the LP solution used as a lower bound. We were unable to use the optimal
solution since when we ran the integer model in Gurobi for 8 CPU hours we were unable to even
find a feasible solution. Thus, we used the LP relaxation as our lower bound. For each trial we
stopped the IPH after 20 CPU minutes. The STH took seconds to run in all cases.
The first parameter we test is the position of the locations. More specifically we test how
close or spread out they are from each other. That is, the locations are randomly generated from a
square of varying size. The port is located at the bottom center of the square. For example, an
experiment may have each location be uniformly distributed on a 25x25 square (locations can only
be on integer coordinates), with the Port being located on coordinate (13,0). As mentioned before
we run 10 replications for each square size, each with a new set of locations in the same square.
51
Demand was fixed with each importer demanding 115 containers and each exporter demanding 95
containers. The capacity for each location was also fixed at 17 containers. In order to compare the
results of the heuristics, we use the ratio between the heuristic and the solution to the LP relaxation.
Note that LP stands for the solution for the Linear Program Relaxation, which is a lower bound of
the problem and in general is not a feasible solution. The mean results for each of the 10 trials are
shown in Table 6. Table 7 shows the ANOVA table generated to be able to determine if factors
are statistically significant or not.
Table 6. Sensitivity of the results for the location parameter
Grid Size
Total Cost Ratio
IPH/LP
Total Cost Ratio
STH/LP
10x10
1.031421 1.151461
15x15
1.023611 1.141502
20x20
1.013781 1.127415
25x25
1.014377 1.123801
30x30
1.031285 1.134819
Avg.
1.022895 1.1358
Std.
0.008649 0.011102
Table 7. ANOVA table for location parameter
Source SS df MS F P-value F crit
Location 0.006872 4 0.001718 2.700146 0.035491 3.534992
Heuristic 0.31567 1 0.31567 496.1566 2.18E-38 6.925135
Interaction 0.001161 4 0.00029 0.456151 0.76767 3.534992
Residual 0.057261 90 0.000636
From this set of experiments, we can see that the IPH heuristic performs extremely well
and is within 4% of the lower bound. The STH does not perform as well and is within 16% of the
lower bound. The tradeoff between both heuristics is that the IPH takes 20 CPU mins to get a
solution but gets a good solution, while the STH takes less than a second but yields a worse
solution. This is further supported by Table 7 which indicates that the heuristic chosen is
52
statistically significant with a very small P-value, while we fail to reject the null hypothesis that
the location is not a statistically significant factor at a p-value critical value of .01 or smaller. We
also observe that there is no significant interaction between the two factors. Thus, we can conclude
that location does not affect the quality of the heuristics and that the solution quality is not affected
by the position of the locations.
The next parameter that could have an impact on the quality of the heuristics is the demand
size. To test this parameter, we make demand a uniformly distributed random variable. The range
of the demand changes for each trial and on each trial 10 replications were made. A 25x25 square
with random locations was used, with the Port at coordinate (13,0). Also, the capacity of each
location is fixed at 17 containers. The mean results for each trial is shown in Table 8, while the
ANOVA table generated to be able to determine if the factors are statistically significant or not are
shown in Table 9.
Table 8. Sensitivity of the results for demand parameter
Importer
Demand
Exporter
Demand Capacity
Total Cost Ratio
IPH/LP
Total Cost Ratio
STH/LP
Unif(65-85) Unif(50-70) 17
1.009472 1.125203
Unif(85-105) Unif(65,85) 17
1.012793 1.12301
Unif(95-115) Unif(80-100) 17
1.014162 1.120227
Unif(105-125) Unif(95-105) 17
1.011246 1.122243
Unif(110-130) Unif(100-120) 17
1.011848 1.119382
Avg.
1.011904 1.122013
Std.
0.001749 0.00231
Table 9. ANOVA table for demand parameter
Source SS df MS F P-value F crit
Demand 5.88E-05 4 1.47E-05 0.312509 0.86894 3.534992
Heuristic 0.303098 1 0.303098 6445.716 1.51E-85 6.925135
Interaction 0.000277 4 6.93E-05 1.472841 0.217053 3.534992
Residual 0.004232 90 4.7E-05
53
As seen in Table 8 the IPH heuristic once again performs extremely well within 2% of the
lower bound and the STH heuristic performs within 13%. Same as in the previous experiment the
tradeoff really is that the IPH yields a better solution, but takes 20 minutes, while the STH is
extremely fast, but yields an inferior solution. Table 9 once again shows that the heuristic chosen
is statistically significant, but the demand factor is not statistically significant. The interaction
between both factors is once again not statistically significant either. Thus, we can conclude that
demand is also not a factor that statistically affects the quality of the heuristics.
For the next set of experiments, we use the same parameter settings, except we change the
capacity at each non-port location. The demand for importers is set as a uniform variable ranging
from (95-115) while the demand for exporters is set at (80-100). We then ran 10 different scenarios,
each with a different capacity setting for the locations. We ran 10 replications for each scenario.
Table 10 shows the mean results for the 10 replications and Table 11 shows the ANOVA table
needed to determine if the factors are statically significant or not.
Table 10. Sensitivity of the results for location parameter
Capacity
Total Cost Ratio
IPH/LP
Total Cost Ratio
STH/LP
15 1.018324 1.135487
16 1.000356 1.007962
19 1.008232 1.107865
20 1.000364 1.009226
21 1.004747 1.09701
22 1.000415 1.007719
25 1.001118 1.086323
26 1.000371 1.007213
29 1.000467 1.072623
30 1.000408 1.006602
Avg. 1.00348 1.053803
Std. 0.005842 0.051082
54
Table 11. ANOVA table for demand parameter
Source SS df MS F P-value F crit
Location 0.139997 9 0.015555 298.8889 3E-103 2.507228
Heuristic 0.126619 1 0.126619 2432.941 1.7E-106 6.777786
Interaction 0.097919 9 0.01088 209.0537 2.36E-90 2.507228
Residual 0.009368 180 5.2E-05
Figure 6. Results of capacity experiment
As seen in Figure 5 and in Table 10 the capacity has a big effect on the STH solution, and
a smaller effect on the IPH solution. There is also a much bigger effect when capacity is odd as
compared to even. Capacity has an effect in the STH solution because of how the LP relaxation
assigns the flow of the containers. All the containers start at the Port and then move to an importer,
then to an exporter and finally back to the Port. The LP relaxation pairs up a particular importer to
an exporter, depending on how costly it is to move a container from that importer to that exporter.
It does this for all exporters such that every exporter is assigned to a particular importer while
minimizing the total cost. It is for this reason that the total cost increases so much when the capacity
is odd. When capacity is even at all locations, the LP relaxation is usually an integer solution. This
is why the ratio keeps increasing and decreasing when capacity is odd versus when it is even. For
the IPH however the impact of the capacity changes is not as much (both when it is even or odd)
because instead of simply using a single-container truck to meet the demand, it pairs multiple
0.9
0.95
1
1.05
1.1
1.15
15 16 19 20 21 22 25 26 29 30
Ratio
Capacity
Capacity Ratio
IPH/LP
SPH/LP
55
locations in such a way that it uses a double-container truck to meet demand. This conclusion is
further supported by the Table 10, which shows that both the heuristic and location factors are
statistically significant. Furthermore, the interaction between both is also statistically significant.
The other noticeable effect of Figure 6 is the downward slope especially for the STH
heuristic. This downward slope is caused by the fact that as capacity increases the total number of
times that the heuristic needs to adjust the flow is decreased because the total number of times that
the location capacity needs to be filled goes down, and the “tightness” of the problem also goes
down. From this result we can conclude that the capacity does have an effect on the STH heuristic
solution quality, and they both perform better when the capacity is even than when it is odd. It also
suggests that the demand to capacity ratio is also a factor. As the demand to capacity ratio decreases
the heuristic to linear programming ratio goes down. If the ratio is taken all the way to 1 the
heuristic will tend to go towards the same result as the linear programming solution. With only a
minor difference if the demand is even or odd, which only affects the last unit of demand.
With these experiments we can conclude that the heuristics presented perform well under
general conditions with only the location capacity being significantly significant, but even when
the problem is tight and the capacity is even both heuristics perform well. The experiments also
show that the drawback between using one heuristic or the other is that the IPH will yield a better
solution at the cost of time, while the STH is faster at the determent of the solution quality.
56
5. The Assignment Problem with Stochastic Demand
In this chapter, we study the effect of incorporating future stochastic demand to our
assignment model. In the previous chapter we assumed that demand is known and deterministic
for that day, and this still holds true. However, the model is not intended to be solved in a vacuum
and instead is meant to be solved daily. Thus, the solution that is implemented today will have
future repercussions on tomorrow’s solution. More specifically, the final state of today, will be the
starting state of tomorrow. It is for this reason that if we want to minimize cost and truck miles in
the long run, we should take tomorrow’s demand into consideration when solving the container
assignment today.
The main challenge in including tomorrow’s demand into our model is that, unlike today’s
demand which is deterministic, tomorrow’s demand is stochastic. However, it is possible to study
historical data and come up with stochastic models for tomorrow’s demand. In this case one way
to come up with a stochastic model is twofold. First, there are different scenarios that could take
place. For example, an importer demand would look very different if a ship arrives on time or is
delayed. Thus, there are different scenarios like this one that would affect how the demand for
containers for the different locations would look like. It is then possible to estimate state
transitional probabilities from historical data.
Now, once we have the probability distribution we are able to incorporate tomorrow’s
demand into our model and obtain a solution for the container assignment for both today and
tomorrow. However, it is worth pointing out that the model is intended to be solved daily, and thus
the container assignment that is obtained for tomorrow is never actually implemented. Instead, it
is there to affect the final state of today’s container assignment, such that tomorrow’s expected
container movement is minimized.
In chapter 4 the DCAM was used to solve the assignment problem. In this chapter we will
modify the DCAM model to incorporate tomorrow’s stochastic demand. We call the resulting
model the Double Container Stochastic Assignment Model (DCSAM). We then explain the
changes made and how they interact with the model to find the desirable solution. Finally, we
57
compare the DCAM model to the new DCSAM in a 10-day horizon experiment to show the
benefits of including stochastic demand.
5.1 DCSAM
To build the DCSAM, we will modify our DCAM model by adding the following
parameters, sets variables, and constraints:
Parameters:
𝑇̅
=𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑖𝑚𝑒 𝑑𝑖𝑠𝑐𝑟𝑒𝑡𝑖𝑧𝑎𝑡𝑖𝑜𝑛𝑠 𝑓𝑜𝑟 𝑡𝑜𝑚𝑜𝑟𝑟𝑜𝑤
𝑆 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑡 𝑠𝑐𝑒𝑛𝑎𝑟𝑖𝑜𝑠 𝑓𝑜𝑟 𝑡𝑜𝑚𝑜𝑟𝑟𝑜𝑤
𝜃 𝑠 =𝑃𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝑓𝑜𝑟 𝑠𝑐𝑒𝑛𝑎𝑟𝑖𝑜 𝑠
𝑑 ̅
𝑖 ,𝑡 ,𝑠 =𝑀𝑒𝑎𝑛 𝑛 𝑢 𝑚 𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑑𝑒𝑚𝑎𝑛𝑑𝑒𝑑 𝑎𝑡 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 𝑓𝑜𝑟 𝑠𝑐𝑒𝑛𝑎𝑟𝑖𝑜 𝑠
𝜑 =𝑃𝑒𝑛𝑎𝑙𝑡𝑦 𝑓𝑜𝑟 𝑛𝑜𝑡 𝑓𝑢𝑙𝑙𝑓𝑖𝑙𝑦𝑖𝑛𝑔 𝑜𝑛𝑒 𝑢𝑛𝑖𝑡 𝑜𝑓 𝑑𝑒𝑚𝑎𝑛𝑑
𝜇 𝑠 =𝑀𝑒𝑎𝑛 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡𝑎 𝑖𝑛𝑒𝑟𝑠 𝑡 ℎ𝑎𝑡 𝑎𝑟𝑟𝑖𝑣𝑒 𝑡𝑜 𝑡 ℎ𝑒 𝑝𝑜𝑟𝑡 𝑖𝑛 𝑠𝑐𝑒𝑛𝑎𝑟𝑖𝑜 𝑠
Sets:
𝑆 𝑇̅
={𝑇 +1,…,𝑇̅
} (𝑡𝑖𝑚𝑒𝑠 𝑜𝑓 𝑡𝑜𝑚𝑜𝑟𝑟𝑜 𝑤 ′
𝑠 𝑑𝑎𝑦 )
𝑆𝑁 ={1,…𝐼 ,…𝐼 +𝐸 ,…𝐼 +𝐸 +𝐷 } (𝑎𝑙𝑙 𝑛𝑜𝑛 −𝑝𝑜𝑟𝑡 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛𝑠 )
𝑆𝜃 ={1,…,𝑆 } (𝑠𝑒𝑡 𝑜 𝑓 𝑎𝑙𝑙 𝑠𝑐 𝑒𝑛𝑎𝑟𝑖𝑜𝑠 )
Decision Variables:
𝑥 1
̅̅̅
𝑖 ,𝑗 ,𝑡 =𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑓𝑖𝑟𝑠𝑡 𝑙𝑒𝑔 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡
𝑓𝑜𝑟 𝑡𝑜𝑚𝑜𝑟𝑟𝑜𝑤 𝑜𝑓 𝑎 𝑡𝑟𝑢𝑐𝑘 𝑐𝑎𝑟𝑟𝑦𝑖𝑛𝑔 𝑡𝑤𝑜 𝑙𝑜𝑎𝑑𝑒𝑑 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠
𝑥 2
̅̅̅
𝑖 ,𝑗 ,𝑡 =𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑓𝑖𝑟𝑠𝑡 𝑙𝑒𝑔 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡
𝑓𝑜𝑟 𝑡𝑜𝑚 𝑜𝑟𝑟𝑜𝑤 𝑜 𝑓 𝑎 𝑡𝑟𝑢𝑐𝑘 𝑐𝑎𝑟𝑟𝑦𝑖𝑛𝑔 𝑡𝑤𝑜 𝑒𝑚𝑝𝑡𝑦 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠
𝑥 3
̅̅̅
𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑓𝑖𝑟𝑠𝑡 𝑙𝑒𝑔 𝑡𝑤𝑜 𝑐𝑜𝑛 𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡
58
𝑓𝑜𝑟 𝑡𝑜𝑚𝑜𝑟𝑟𝑜𝑤 𝑜𝑓 𝑎 𝑡𝑟𝑢𝑐𝑘 𝑐𝑎𝑟𝑟𝑦𝑖𝑛𝑔 𝑜𝑛𝑒 𝑙𝑜𝑎𝑑𝑒𝑑 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑎𝑛𝑑 𝑜𝑛𝑒 𝑒𝑚𝑝𝑡𝑦 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟
𝑦 1
̅̅̅̅
𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠𝑒𝑐𝑜𝑛𝑑 𝑙𝑒𝑔 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓 𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑎𝑡
𝑡𝑖𝑚𝑒 𝑡 𝑓𝑜𝑟 𝑡𝑜𝑚𝑜𝑟𝑟𝑜𝑤 𝑜𝑓 𝑎 𝑡𝑟𝑢𝑐𝑘 𝑐𝑎𝑟𝑟𝑦𝑖𝑛𝑔 𝑡𝑤𝑜 𝑙𝑜𝑎𝑑𝑒𝑑 𝑐𝑜𝑛 𝑡 𝑎𝑖𝑛𝑒𝑟𝑠
𝑦 2
̅̅̅̅
𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠𝑒𝑐𝑜𝑛𝑑 𝑙𝑒𝑔 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟 𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜 𝑛 𝑗 𝑎𝑡
𝑡𝑖𝑚𝑒 𝑡 𝑓𝑜𝑟 𝑡𝑜𝑚𝑜𝑟𝑟𝑜𝑤 𝑜𝑓 𝑎 𝑡𝑟𝑢𝑐𝑘 𝑐𝑎𝑟𝑟𝑦𝑖𝑛𝑔 𝑡𝑤𝑜 𝑒 𝑚 𝑝𝑡𝑦 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠
𝑦 3
̅̅̅̅
𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠𝑒𝑐𝑜𝑛𝑑 𝑙𝑒𝑔 𝑡𝑤𝑜 𝑐 𝑜 𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 𝑎𝑡
𝑡𝑖𝑚𝑒 𝑡 𝑓𝑜𝑟 𝑡𝑜𝑚𝑜𝑟𝑟𝑜𝑤 𝑓 𝑎 𝑡𝑟𝑢𝑐𝑘 𝑐𝑎𝑟𝑟𝑦𝑖𝑛 𝑔 𝑜𝑛𝑒 𝑙𝑜𝑎𝑑𝑒𝑑 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑎𝑛𝑑 𝑜𝑛𝑒 𝑒𝑚𝑝𝑡𝑦 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟
𝑧 ̅
𝑖 ,𝑗 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠𝑖𝑛𝑔𝑙𝑒 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑔𝑜𝑖𝑛𝑔 𝑓𝑟𝑜𝑚 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑡𝑜 𝑗 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡 𝑓𝑜𝑟 𝑡𝑜𝑚𝑜𝑟𝑟𝑜𝑤
𝑚̅
𝑖 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑠𝑢𝑝𝑝𝑙𝑖𝑒𝑑 𝑏𝑦 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡 𝑓𝑜𝑟 𝑡𝑜𝑚𝑜𝑟𝑟𝑜𝑤
𝑛̅
𝑖 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑒𝑑 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡 𝑓𝑜𝑟 𝑡𝑜𝑚𝑜𝑟𝑟𝑜𝑤
𝑎̅
𝑖 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑡 ℎ𝑎𝑡 ℎ𝑎𝑣𝑒 𝑏𝑒𝑒 𝑛 𝑠𝑢𝑝𝑝𝑙𝑖𝑒𝑑 𝑏𝑦 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 𝑓 𝑜𝑟 𝑡𝑜𝑚𝑟𝑟𝑜𝑤
𝑏̅
𝑖 ,𝑡 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑡 ℎ𝑎𝑡 ℎ𝑎𝑣𝑒 𝑏𝑒𝑒𝑛 𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑒𝑑 𝑡𝑜 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 𝑓𝑜𝑟 𝑡𝑜𝑚𝑟𝑟𝑜𝑤
ƨ
𝑖 ,𝑡 ,𝑠 =𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑢𝑛𝑚𝑒𝑡 𝑑𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡 𝑓𝑜𝑟 𝑠𝑐 𝑒𝑛𝑎𝑟𝑖𝑜 𝑠
59
Objective:
𝑚𝑖𝑛 ∑ ∑ ∑(𝑒 𝑖 ,𝑗 ,𝑡 ∗𝑥 1
𝑖 ,𝑗 ,𝑡 +𝑓 𝑖 ,𝑗 ,𝑡 ∗𝑦 1
𝑖 ,𝑗 ,𝑡 +𝑒 𝑖 ,𝑗 ,𝑡 ∗𝑥 2
𝑖 ,𝑗 ,𝑡 +𝑓 𝑖 ,𝑗 ,𝑡 ∗𝑦 2
𝑖 ,𝑗 ,𝑡 +𝑒 𝑖 ,𝑗 ,𝑡 ∗𝑥 3
𝑖 ,𝑗 ,𝑡 +𝑓 𝑖 ,𝑗 ,𝑡 ∗𝑦 3
𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐴 𝑖 Є𝑆𝐴 𝑡 Є𝑆𝑇
∗𝑧 𝑖 ,𝑗 ,𝑡 )…
…+∑ ∑ ∑(𝑒 𝑖 ,𝑗 ,𝑡 ∗𝑥 ̅ 1
𝑖 ,𝑗 ,𝑡 +𝑓 𝑖 ,𝑗 ,𝑡 ∗𝑦̅1
𝑖 ,𝑗 ,𝑡 +𝑔 𝑖 ,𝑗 ,𝑡 ∗𝑧 ̅
𝑖 ,𝑗 ,𝑡 +𝑒 𝑖 ,𝑗 ,𝑡 ∗𝑥 ̅ 2
𝑖 ,𝑗 ,𝑡 +𝑓 𝑖 ,𝑗 ,𝑡 ∗𝑦̅2
𝑖 ,𝑗 ,𝑡 +𝑒 𝑖 ,𝑗 ,𝑡 ∗𝑥 ̅ 3
𝑖 ,𝑗 ,𝑡 +𝑓 𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐴 𝑖 Є𝑆𝐴 𝑡 Є𝑆 𝑇̅
∗𝑦̅3
𝑖 ,𝑗 ,𝑡 )…
…+ ∑ ∑ ∑𝜑 ∗𝜃 𝑠 ∗ƨ
𝑖 ,𝑡 ,𝑠 𝑖 Є𝑆𝐴 𝑡 Є𝑆 𝑇̅
𝑠 ∈𝑆𝜃
s.t.
Containers provided at time t for tomorrow:
2 ∑ 𝑥 ̅ 2
𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2
+ ∑ 𝑧 ̅
𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2
=𝑚̅
𝑖 ,𝑡 ∀𝑖 ∈𝑆𝐼 ∀𝑡 ∈𝑆 𝑇̅
(𝐼𝑚𝑝𝑜𝑟𝑡𝑒𝑟𝑠 ) (21)
2 ∑ 𝑥 ̅ 1
𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝑃 3
+ ∑ 𝑧 ̅
𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝑃 3
=𝑚̅
𝑖 ,𝑡 ∀𝑖 ∈𝑆𝐸 ∀𝑡 ∈𝑆 𝑇̅
(𝐸𝑥 𝑝𝑜𝑟𝑡𝑒𝑟𝑠 ) (22)
2 ∑ 𝑥 ̅ 2
𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2
+ ∑ 𝑧 ̅
𝑖 ,𝑗 ,𝑡 𝑗 ∈𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2
=𝑚̅
𝑖 ,𝑡 ∀𝑖 ∈𝑆𝐷 ∀𝑡 ∈𝑆 𝑇̅
(𝐷𝑒𝑝𝑜𝑡𝑠 ) (23)
2∑𝑥 ̅ 1
𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆 𝐼 + ∑ 𝑥 ̅ 3
𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐼 ∪𝑆𝐸 ∪𝑆𝐷
+∑𝑧 ̅
𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆 𝐼 =𝑚̅
𝑖 ,𝑡 ∀𝑖 ∈𝑆𝑃 1 ∀𝑡 ∈𝑆 𝑇̅
(𝑃𝑜𝑟𝑡 1) (24𝑎 )
2 ∑ 𝑥 ̅ 2
𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐸 ∪𝑆𝐷
+ ∑ 𝑥 ̅ 3
𝑃 1,𝑗 ,𝑡 𝑗 Є𝑆𝐼 ∪𝑆𝐸 ∪𝑆𝐷
+ ∑ 𝑧 ̅
𝑖 ,𝑗 ,𝑡 𝑗 Є𝑆𝐸 ∪𝑆𝐷
=𝑚̅
𝑖 ,𝑡 ∀𝑖 ∈𝑆𝑃 2 ∀𝑡 ∈𝑆 𝑇̅
(𝑃𝑜𝑟𝑡 2) (24𝑏 )
Containers received at time t for tomorrow:
∑ 𝑥 ̅ 1
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝑃 1:𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑥 ̅ 3
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝑃 1:𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑦̅1
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐼 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑦̅3
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐸 ∪𝑆𝐷 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
…
…+ ∑ 𝑧 ̅
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝑃 1:𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
=𝑛̅
𝑗 ,𝑡 ∀𝑗 ∈𝑆𝐼 ∀𝑡 ∈𝑆 𝑇̅
(𝐼𝑚𝑝𝑜𝑟𝑡𝑒𝑟𝑠 ) (25)
∑ 𝑥 ̅ 2
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐼 ∪𝑆𝐷 ∪𝑆𝑃 2:𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑥 ̅ 3
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝑃 1:𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑦̅2
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐸 ∪𝑆𝐷 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑦̅3
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 …
𝑖 ∈𝑆𝐼 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
60
…+ ∑ 𝑧 ̅
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐼 ∪𝑆𝐷 ∪𝑆𝑃 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
=𝑛̅
𝑗 ,𝑡 ∀𝑗 ∈𝑆𝐸 ∀𝑡 𝑆 𝑇̅
(𝐸𝑥𝑝𝑜𝑟𝑡𝑒𝑟𝑠 ) (26)
∑ 𝑥 ̅ 2
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐼 ∪𝑆𝐷 ∪𝑆𝑃 2:𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑥 ̅ 3
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝑃 1:𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑦̅2
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐸 ∪𝑆𝐷 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑦̅3
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐼 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
…
…+ ∑ 𝑧 ̅
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐼 ∪𝑆𝐷 ∪𝑆𝑃 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
=𝑛̅
𝑗 ,𝑡 ∀𝑗 ∈𝑆𝐷 ∀𝑡 ∈𝑆 𝑇̅
(𝐷𝑒𝑝𝑜𝑡𝑠 ) (27)
∑ 𝑥 ̅ 2
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐼 ∪𝑆𝐷 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑦̅2
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐸 ∪𝑆𝐷 ∪𝑃 2:𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑧 ̅
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐼 ∪𝑆𝐷 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
=𝑛̅
𝑗 ,𝑡 ∀𝑗 ∈𝑆𝑃 2 ∀𝑡 ∈𝑆 𝑇̅
(𝑃𝑜𝑟𝑡 2) (28𝑎 )
∑ 𝑥 ̅ 1
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐸 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑦̅1
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝑃 3:𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
+ ∑ 𝑧 ̅
𝑖 ,𝑗 ,𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐸 :𝑡 −𝑜 𝑖 ,𝑗 ,𝑡 ≥1
=𝑛̅
𝑗 ,𝑡 ∀𝑗 ∈𝑆𝑃 3 ∀𝑡 ∈𝑆 𝑇̅
(𝑃𝑜𝑟𝑡 3) (28𝑏 )
Demand and Feasibility constraints:
𝑎̅
𝑖 ,𝑡 =∑𝑚̅
𝑖 ,𝑞 𝑡 𝑞 =1
∀𝑖 ∈𝑆𝐴 ∀𝑡 ∈𝑆 𝑇̅
(𝑁𝑢𝑚𝑏𝑒𝑟 𝑝𝑟𝑜𝑣𝑖𝑑𝑒𝑑 𝑎𝑡 𝑖 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 ) (29)
𝑏̅
𝑖 ,𝑡 =∑𝑛̅
𝑖 ,𝑞 𝑡 𝑞 =1
∀𝑖 ∈𝑆𝐴 ∀𝑡 ∈𝑆 𝑇̅
(𝑁𝑢𝑚𝑏𝑒𝑟 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑 𝑎𝑡 𝑖 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 ) (30)
𝑏̅
𝑖 ,𝑡 −𝑟 𝑖 +(𝑏 𝑖 ,𝑇 +𝑝 𝑖 −𝑎 𝑖 ,𝑇 )−𝑎̅
𝑖 ,𝑡 ≥0∀{𝑖 ,𝑡 |𝑖 ∈𝑆𝑁 ,𝑡 ∈𝑆𝑇 ,𝑡 −𝑟 𝑖 ≥1}
(𝑁𝑢𝑚𝑏𝑒𝑟 𝑝𝑟𝑜𝑣𝑖𝑑𝑒 𝑑 𝑐𝑎𝑛𝑛𝑜𝑡 𝑏𝑒 𝑚𝑜𝑟 𝑒 𝑡 ℎ𝑎𝑛 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑 ) (31𝑎 )
(𝑏 𝑖 ,𝑇 +𝑝 𝑖 −𝑎 𝑖 ,𝑇 )−𝑎̅
𝑖 ,𝑡 ≥0∀{𝑖 ,𝑡 |𝑖 ∈𝑆𝑁 ,𝑡 ∈𝑆𝑇 ,𝑡 −𝑟 𝑖 <𝑇 +1}
(𝑁𝑢𝑚𝑏𝑒 𝑟 𝑝 𝑟 𝑜𝑣𝑖𝑑𝑒𝑑 𝑐𝑎𝑛𝑛𝑜𝑡 𝑏𝑒 𝑚𝑜𝑟𝑒 𝑡 ℎ𝑎𝑛 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑 ) (31𝑏 )
𝑏̅
𝑖 ,𝑡 −𝑟 𝑖 −𝑎̅
𝑖 ,𝑡 +(𝑏 𝑖 ,𝑇 +𝑝 𝑖 −𝑎 𝑖 ,𝑇 −𝑑 𝑖 ,𝑇 )+ ∑𝜃 𝑠 ∗𝜇 𝑠 𝑠 ∈𝑆𝜃
≥0 ∀𝑖 ∈𝑆𝑃 1∪𝑆𝑃 2∪𝑆 𝑃 3…
…∀𝑡 ∈𝑆 𝑇̅
(𝑁𝑢𝑚𝑏𝑒𝑟 𝑝𝑟𝑜𝑣𝑖𝑑𝑒𝑑 𝑐𝑎𝑛𝑛𝑜𝑡 𝑏𝑒 𝑚𝑜𝑟𝑒 𝑡 ℎ𝑎𝑛 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑 ) (31𝑐 )
−𝑎̅
𝑖 ,𝑡 +(𝑏 𝑖 ,𝑇 +𝑝 𝑖 −𝑎 𝑖 ,𝑇 −𝑑 𝑖 ,𝑇 )+ ∑𝜃 𝑠 ∗𝜇 𝑠 𝑠 ∈𝑆𝜃
≥0 ∀𝑖 ∈𝑆𝑃 1∪𝑆𝑃 2∪𝑆𝑃 3 …
…∀𝑡 ∈𝑆 𝑇̅
,𝑡 −𝑟 𝑖 <𝑇 +1 (𝑁𝑢𝑚𝑏𝑒𝑟 𝑝𝑟𝑜𝑣𝑖𝑑𝑒𝑑 𝑐𝑎𝑛𝑛𝑜𝑡 𝑏𝑒 𝑚𝑜𝑟𝑒 𝑡 ℎ𝑎𝑛 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑 ) (31𝑑 )
𝑏̅
𝑖 ,𝑡 −𝑑 ̅
𝑖 ,𝑡 ,𝑠 +ƨ
𝑖 ,𝑡 ,𝑠 ≥0 ∀𝑖 ∈𝑆𝐼 ∪𝑆𝐸 ∪𝑆𝐷 ∀𝑡 ∈𝑆𝑇 ∀𝑠 ∈𝑆𝜃 (𝐷𝑒𝑚𝑎𝑛𝑑 𝑎 𝑡 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑖 𝑚𝑢𝑠𝑡 𝑏𝑒 𝑚𝑒𝑡 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 ) (32𝑎 )
61
∑ 𝑏̅
𝑖 ,𝑡 𝑖 ∈𝑆𝑃 2∪𝑆𝑃 3
+𝑝 𝑗 −𝑛̅
𝑗 ,𝑡 − ∑ 𝑑 ̅
𝑖 ,𝑡 ,𝑠 𝑖 ∈𝑆𝑃 2∪𝑆𝑃 3
+ƨ
𝑖 ,𝑡 ,𝑠 ≥0 ∀𝑗 ∈𝑆𝑃 2 ∀𝑡 ∈𝑆 𝑇̅
…
…∀𝑠 ∈𝑆𝜃 (𝐷𝑒𝑚𝑎𝑛𝑑 𝑓𝑜𝑟 𝑝𝑜𝑟𝑡 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑚𝑢𝑠𝑡 𝑏𝑒 𝑚𝑒𝑡 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 ) (32𝑏 )
𝑏̅
𝑖 ,𝑡 −𝑑 ̅
𝑖 ,𝑡 ,𝑠 +ƨ
𝑖 ,𝑡 ,𝑠 ∀𝑖 ∈𝑆𝑃 3 ∀𝑡 ∈𝑆 𝑇̅
∀𝑠 ∈𝑆𝜃 (𝐷𝑒𝑚𝑎𝑛𝑑 𝑡 ℎ𝑒 𝑡 ℎ𝑖𝑟𝑑 𝑝𝑜𝑟𝑡 𝑙𝑜𝑐𝑎𝑡𝑖 𝑜 𝑛 𝑚𝑢𝑠𝑡 𝑏𝑒 𝑚𝑒𝑡 𝑏𝑦 𝑡𝑖𝑚𝑒 𝑡 ) (32𝑐 )
𝑏̅
𝑖 ,𝑡 −𝑎̅
𝑖 ,𝑡 +(𝑝 𝑖 +𝑏 𝑖 ,𝑇 −𝑎 𝑖 ,𝑇 )≤𝑐 𝑖 ∀𝑖 ∈𝑆𝐼 ∪𝑆𝐸 ∪𝑆𝐷 ∀𝑡 ∈𝑆 𝑇̅
(𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑦 𝑎𝑡 𝑖 𝑐𝑎𝑛𝑛𝑜𝑡 𝑏𝑒 𝑒𝑥𝑐𝑒𝑒𝑑𝑒𝑑 ) (33𝑎 )
∑ 𝑏̅
𝑖 ,𝑡 𝑖 ∈𝑆𝑃 2∪𝑆𝑃 3
− ∑ 𝑎̅
𝑖 ,𝑡 𝑖 ∈𝑆𝑃 1∪𝑆 𝑃 2
+( ∑ 𝑏 𝑖 ,𝑇 𝑖 ∈𝑆𝑃 2∪𝑆𝑃 3
∑ 𝑝 𝑖 𝑖 ∈𝑆𝑃 1∪𝑆𝑃 2∪𝑆𝑃 3
− ∑ 𝑎 𝑖 ,𝑇 𝑖 ∈𝑆𝑃 1∪𝑆𝑃 2
− ∑ 𝑑 𝑖 ,𝑡 𝑖 ∈𝑆𝑃 2∪𝑆𝑃 3
) + ∑𝜃 𝑠 ∗𝜇 𝑠 𝑠 ∈𝑆𝜃
≤ ∑ 𝑐 𝑖 𝑖 ∈𝑆𝑃 1∪𝑆𝑃 2∪𝑆𝑃 3
∀𝑡 ∈𝑆 𝑇̅
(𝐶𝑎𝑝𝑎𝑐𝑖 𝑡 𝑦 𝑎𝑡 𝑖 𝑐𝑎𝑛𝑛 𝑜𝑡 𝑏𝑒 𝑒𝑥𝑐𝑒𝑒 𝑑𝑒𝑑 ) (33𝑏 )
∑ 𝑥 ̅ 1
𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝑃 1
= ∑ 𝑦̅1
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 𝑘 ∈𝑆𝐼 :𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 ≤|𝑆𝑇 |
∀𝑗 ∈𝑆𝐼 ∀𝑡 ∈𝑆 𝑇̅
(𝐵𝑎𝑙𝑎𝑛𝑐𝑒 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑖𝑛 𝑑𝑜𝑢𝑏𝑙𝑒 𝑡𝑟𝑢𝑐𝑘𝑠 ) (34𝑎 )
∑𝑥 ̅ 1
𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐸 = ∑ 𝑦̅1
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 𝑘 ∈𝑆𝑃 3:𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 ≤|𝑆𝑇 |
∀𝑗 ∈𝑆𝑃 3 ∀𝑡 ∈𝑆 𝑇̅
(𝐵𝑎𝑙𝑎𝑛𝑐𝑒 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑖𝑛 𝑑𝑜𝑢𝑏𝑙𝑒 𝑡𝑟𝑢𝑐𝑘𝑠 ) (34𝑏 )
∑ 𝑥 ̅ 2
𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝐼 ∪𝑆𝐷 ∪𝑆𝑃 2
= ∑ 𝑦̅2
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 𝑘 ∈𝑆𝐸 ∪𝑆𝐷 ∪𝑆𝑃 2:𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 ≤|𝑆𝑇 |
∀𝑗 ∈𝑆𝐸 ∪𝑆 𝐷 ∪𝑆𝑃 2 ∀𝑡 ∈𝑆 𝑇̅
(𝐵𝑎𝑙𝑎𝑛𝑐𝑒 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 𝑖𝑛 𝑑𝑜𝑢𝑏𝑙𝑒 𝑡𝑟𝑢𝑐𝑘𝑠 ) (34𝑐 )
∑ 𝑥 ̅ 3
𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝑃 1
= ∑ 𝑦̅3
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 𝑘 ∈𝑆𝐸 ∪𝑆𝐷 :𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 ≤|𝑆𝑇 |
∀𝑗 ∈𝑆𝐼 ∀𝑡 ∈𝑆 𝑇̅
(𝑇𝑤𝑜 𝑐𝑜𝑛𝑡𝑎 𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑚𝑢𝑠𝑡 𝑝𝑟𝑜𝑣𝑖𝑑𝑒 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 ) (34𝑑 )
∑ 𝑥 ̅ 3
𝑖 ,𝑗 ,𝑡 𝑖 ∈𝑆𝑃 1
= ∑ 𝑦̅3
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 𝑘 ∈𝑆𝐼 :𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 ≤|𝑆𝑇 |
∀𝑗 ∈𝑆𝐸 ∪𝑆𝐷 ∀𝑡 ∈𝑆 𝑇̅
(𝑇𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟 𝑡𝑟𝑢𝑐𝑘𝑠 𝑚𝑢𝑠𝑡 𝑝𝑟𝑜𝑣𝑖𝑑 𝑒 𝑡𝑤𝑜 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑒𝑟𝑠 ) (34𝑒 )
𝑥 ̅ 1
𝑖 ,𝑗 ,𝑡 ,𝑦̅1
𝑖 ,𝑗 ,𝑡 ,𝑥 ̅ 2
𝑖 ,𝑗 ,𝑡 ,𝑦̅2
𝑖 ,𝑗 ,𝑡 ,𝑥 ̅ 3
𝑖 ,𝑗 ,𝑡 ,𝑦̅3
𝑖 ,𝑗 ,𝑡 ,𝑧 ̅
𝑖 ,𝑗 ,𝑡 ≥0 ∀𝑖 ∈𝑆𝐴 ∀𝑗 ∈𝑆𝐴 ∀𝑡 ∈𝑆 𝑇̅
(𝑁𝑜𝑛 −𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒 𝐶𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡 ) (35)
𝑥 ̅ 1
𝑖 ,𝑗 ,𝑡 ,𝑦̅1
𝑖 ,𝑗 ,𝑡 ,𝑥 ̅ 2
𝑖 ,𝑗 ,𝑡 ,𝑦̅2
𝑖 ,𝑗 ,𝑡 ,𝑥 ̅ 3
𝑖 ,𝑗 ,𝑡 ,𝑦̅3
𝑖 ,𝑗 ,𝑡 ,𝑧 ̅
𝑖 ,𝑗 ,𝑡 ∈ℤ ∀𝑖 ∈𝑆𝐴 ∀𝑗 ∈𝑆𝐴 ∀∈
𝑆 𝑇̅
(𝐼𝑛 𝑡 𝑒𝑔𝑒𝑟 𝐶𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡 ) (36)
62
The objective of the DCSAM is to minimize the transportation cost of today’s and
tomorrow’s container movement, as well as a penalty function for tomorrow’s demand. The model
penalizes the solution for tomorrow’s container assignment by increasing the objective function
for each unit of demand it does not fulfill weighted by the probability that scenario occurs.
Constraints (21-30) are the same constraints (1-10) in the DCAM but for tomorrow’s
container movement, and serve as the definitions of the variables 𝑚̅, 𝑛̅, 𝑎̅, and 𝑏̅
. Constraints (31)
are like constraints (11), with constraints (31a) and (31b) guaranteeing capacity is not exceeded
for non-port locations and constraints (31c) and (31d) guaranteeing capacity is not exceeded for
the port. However, constraints (31a) and (31b) have a starting number of containers equal to the
total number of containers that it started out today (𝑝 𝑖 ), plus the total number of containers that it
will be received today (𝑏 𝑖 ,𝑇 ), minus the total number of containers that it will provide today (𝑎 𝑖 ,𝑇 ).
The combination of these three variables replaces the known parameter that is used in equation
(11a), as the number of containers that location i will start with tomorrow. Notice that it is also
this detail that connects both today’s container allocation solution to tomorrow’s container
allocation solution. Constraints (31c) and (31d) have a similar idea, but because this is the port
location, its demand is for containers that will be shipped out, and therefore become unavailable
tomorrow, while it will also have a ship coming with new containers arriving. Therefore, the
number of containers at the start of tomorrow at the port, will equal the total number of containers
of the start of today (𝑝 𝑖 ), plus the total number of containers received at the port today (𝑏 𝑖 ,𝑇 ), minus
the total number of containers provided by the port today (𝑎 𝑖 ,𝑇 ), minus the aggregated demand at
the end of today at the port (𝑑 𝑖 ,𝑇 ), plus the expected number of containers that will become
available tomorrow (∑ 𝜃 𝑠 ∗𝜇 𝑠 𝑠 ∈𝑆𝜃
). Similarly, constraint (33) mirrors constraint (13) for the
capacity constraint. Also, as before constraint (34) mirrors constraint (14) and assures that each
double container assignment delivers two containers. Finally, constraint (35) assures that there are
no negative container assignments and constraint (36) assures the container assignments are
integer.
Constraint (32) deals with meeting tomorrow’s demand. It is worth reiterating here that the
model assumes that tomorrow’s stochastic demand is modeled in two steps. First there are several
scenarios that can occur, and each scenario has a probability of occurring. The total number of
scenarios considered is the parameter S, with each scenario having the probability of occurring 𝜃 𝑠 .
63
Furthermore, it is assumed that no other scenarios exist outside of these therefore ∑ 𝜃 𝑠 𝑆 𝑠 =1
=1.
Additionally, each scenario has a known probability distribution that determines tomorrow’s
demand. Hence, constraint (32) can be thought as being subdivided into S different constraints,
were each constraint is the realization of each possible scenario. Each constraint takes the
difference of the total number of containers received by time t of tomorrow minus the mean
aggregated demand for scenario s by time t. To strictly enforce this demand this difference should
be positive. However, the demand is not known and we do not strictly enforce it. We achieve this
by introducing a penalty variable for each of these constraints, which yields S penalty variables.
Each of these variables determine how many containers we are not fulfilling under scenario s. We
can then take these penalty variables and bring them to the objective. We then penalize each
container that we are not fulfilling in this scenario, and weight that by the probability of that
scenario happening.
If solved the model will yield container movement assignments for today and tomorrow.
The model is intended to be solved daily, therefore the container assignment for tomorrow is never
really implemented. The purpose for including it in the model is to take into consideration that
what we really want is to minimize trucking cost and miles in the long run, and not only for one
day. As mentioned before the real connection between days is that today’s final state is tomorrow’s
initial state. This link occurs in constraints (31) and (33), by modifying the initial state of
tomorrow’s containers. We have pinpointed some of the situations when this might happen. The
first and probably the most common situation is when you need one container today, and you could
take it from either location i or location j. In the DCAM model the container would be taken from
the location which minimizes the distance, let’s say location i. However, there may be a good
probability that location i will need more containers than location j tomorrow. Therefore, tomorrow
you will have to move even more containers from location i since you took away containers that
could be used today. Therefore, in order to reduce cost and truck miles in the long run over all
days one should move the container from location j instead of location i and this would be
considered in the DCSAM, but not in the DCAM. It is also for this reason that if you run the
DCSAM for only one day and compare it to the DCAM, the DCAM will almost always have less
cost and trucking miles. This is because the DCAM is set to minimize the trucking cost and
trucking miles for one day, while the DCSAM is set to optimize the cost and trucking miles in the
64
long run, and as such it will sometimes sacrifice local minimization, for a global minimization, as
seen in the example.
Another situation where considering tomorrow’s demand leads to a reduction of cost and
truck miles is when one location has a large probability of needing a lot of containers. The DCAM
optimizing for today, will simply not take this information into account by performing container
movements that are only necessary to meet today’s demand. However, the DCSAM will move
some containers at the end of the day to either the location that needs the containers, or to a
warehouse close by. Therefore, tomorrow’s container movement will be reduced. This also has the
incidental advantage that the DCSAM will proactively move containers more at the end of the day,
probably at a time with less congestion in the streets, thus reducing congestion at peak hour times.
The model properties for the DCSAM are very similar to the model properties of the
DCAM. When the parameter for location capacity and demand are even for all locations and all
times, the model will yield an integer solution. Additionally, when the location capacity parameter
and demand are integer (which should be the case since you cannot have half containers), then the
model will yield an either an integer or half integer solution. Although these two properties only
hold for the solution for today’s container movements and not for tomorrow’s container
movement, because tomorrow’s demand is multiplied by some probability and thus might become
non-integer. However, it is worth noting that tomorrow’s solution is never really implemented,
since the model is meant to be run daily.
The proof for this result is similar to the proof for the DCAM result. It is worth noting that
the model itself is the same and a similar graph can be built. However, the graph needs two
subgraphs like the ones built in Chapter 4.1.1 side by side. The graph to the left representing
today’s container movement, and the one to the right tomorrow’s container movement. Then
instead of having a terminal node in the today’s graph, and instead of having a starting node in
tomorrow’s graph. There needs to be an edge going from every location i at time T for today’s
graph going to the same location i at time T+1 in tomorrow’s graph, with the capacity of this edge
being infinity.
65
5.2 Experiments comparing DCAM and DCSAM
In this Chapter we compare the DCAM and the DCSAM. To do this we perform
experiments where we change both the demand distribution for each location, and the probability
distribution for the different scenarios. In our experiments we always have three different
scenarios, with the transitional probabilities for each scenario depending on today’s and
yesterday’s scenarios. Additionally, as explained in Chapter 5.1 the DCSAM only performs better
than the DCAM in the long term and not in the short term. Thus, for each replication we model
ten days and it is assumed that day zero and the first day are always scenario one. We will also
have a grid size of 25x25 with all locations being uniformly randomly located in the grid, except
for the port which will always be located at the bottom center of the grid. We have a location
capacity of 24 containers at the importers and exporters, a depot capacity of 36 containers, and a
port capacity of 1500 containers. The rest of the parameters are the same as those used in Chapter
4.3.2. These parameters can be found in Table 12 below.
Table 12. Parameter settings
Parameter name Parameter value
# of importers (I) 7
# of exporters (E) 5
# of depots (D) 2
Loading and unloading of containers 1 hour
Location of port bottom center
Truck turnover time at port 2 hours
Daily time horizon 12 hours
Time discretization size 15 mins
Grid size 25x25
Location capacity 24
Time horizon 10 days
Number of scenarios 3
We ran 3 experiments, with each experiment having 5 sub-experiments and each sub-
experiment having 10 replications. In each experiment we have fixed and known transitional
probabilities. In each of the 5 sub-experiments we change the demand for each location, but keep
the demands the same through all 3 experiments. The transitional probabilities for each experiment
66
are shown on Tables A1-A3, while the demands for each sub-experiment are shown on Tables A4-
A8. It is worth noting that the demand’s found in Tables A4-A8 are multiplied by 2, such that all
demand will be even. This is done so that we do not have to use our heuristics and only test the
models themselves. As seen in the tables experiment 1 has the least variability transitional
probabilities, while experiment 3 has the most variability with experiment 2 being in between.
Similarly, the tables also show that sub-experiment 1 has the least variability in terms of demand
and that these increase for each sub-experiment until sub-experiment 5 has the most variability.
To be able to compare both the DCSAM and DCAM we also ran another DCSAM model
with no variability. We run this model assuming the demand for the entire 10 days is known. We
compare the results by using the ratio of either the DCSAM or the DCAM result over the result of
the no randomness result. Table 13 shows the average results for each of the 10 replications, and
Table 14 shows the standard deviation.
Table 13. Average results for Stochastic Experiments
Experiment 1 Experiment 2 Experiment 3
DCSAM DCAM DCSAM DCAM DCSAM DCAM
Sub-
experiment
1 1.056407 1.128738 1.083431 1.137488 1.131854 1.153646
2 1.099685 1.173682 1.120887 1.170337 1.146536 1.173509
3 1.125397 1.201964 1.141299 1.191295 1.151255 1.184004
4 1.15188 1.212342 1.162032 1.205161 1.183322 1.213184
5 1.171099 1.233884 1.181516 1.225222 1.192993 1.229862
Table 14. Standard Deviation results for Stochastic Experiments
Experiment 1 Experiment 2 Experiment 3
DCSAM DCAM DCSAM DCAM DCSAM DCAM
Sub-
experiment
1 0.022788 0.032292 0.040439 0.038033 0.044621 0.047357
2 0.030542 0.038452 0.047999 0.036821 0.058038 0.043611
3 0.03453 0.032449 0.058208 0.042496 0.065261 0.0777
4 0.044642 0.033135 0.055956 0.034446 0.059423 0.068746
5 0.041267 0.03057 0.057069 0.036724 0.066801 0.053795
As seen in Table 13 the DCSAM performs better than the DCAM; however, Table 14
shows that for the most part the DCSAM has a higher standard deviation than the DCAM. The
DCSAM has a higher standard deviation because the DCAM will always try to minimize today’s
67
demand and thus it will not make any unnecessary moves trying to minimize tomorrow’s demand.
It will also always move containers in such a way to minimize the cost for today, lowering its
standard deviation. However, the DCSAM will make some preemptive movements to try and
minimize tomorrow’s movement. These movements will sometimes pay off, but sometimes will
not. This will increase the variability of the model, but in the long run these movements lower the
average cost for the system. It is for this reason that the DCSAM has a lower average, but a higher
standard deviation.
Another result that can be observed in Table 14 is that the DCSAM ratio increases both as
the demand and transitional variability increases. Meanwhile, the DCAM ratio only increases with
the demand variability, but there seems to be no trend with the transitional probabilities. Demand
affecting both models ratios is a result of both models performing worse when there is a higher
variability. On the other hand, the fact that the DCSAM is being affected by the transitional
probabilities is indicative that the DCSAM is performing as intended. This is because the DCAM
does not incorporate the transitional probabilities and instead only focuses on today’s demand.
Meanwhile, the DCSAM relies on the transitional probabilities to make a prediction on tomorrow’s
demand. If the variability for these probabilities starts to grow to the point where each scenario is
equally likely then the model really has no real idea of what tomorrow’s scenario is going to be,
and thus has less information about the demand. Meaning that the DCSAM would perform worse,
because it will make unnecessary container movements more often.
In summary our experimental results show that the DCSAM performs better than the
DCAM, but has more variability. Additionally, the DCSAM is also dependent on the given
transitional probabilities, and how well they reflect the real scenarios.
68
6. Truck Routing
In Chapter 3 the ECDCT for solving the Empty Container Problem was introduced. As
discussed in that chapter the model was NP-hard and cannot be solved computationally efficiently,
and thus the solution approach was to first find the container movements and then come up with a
VRP schedule to support those movements. In Chapters 4 and 5 the container assignment problem
was solved and an efficient way to solve this problem was presented. In this chapter we focus on
the second part of the solution methodology and solve the corresponding VRP problem to support
the container movements found in the first part.
The specific VRP that needs to be solved is a pickup and delivery with tight time windows,
were each container movement is a node that is time dependent. The edges of the graph are directed
from node i to node j if a truck can successfully move the containers at i and then get to the starting
location of j’s container movement. In the first half of this Chapter our solution framework for the
problem is presented. Consequently, in the second half experiments are run to test how well the
Empty Container Problem was solved.
6.1 Solving the Container Movement VRP
To solve the Pickup and Delivery Problem that arises we use a modified version of Ropke’s
and Pisinger’s Adaptive Large Neighborhood Search (ALNS) [23]. Although ALNS has no
theoretical guarantees it performs extremely well in practice and is very robust. The power of the
ALNS comes from its ability to search large neighborhoods and move fast towards a solution,
while its ability to become infeasible or increase its cost at certain iterations allow it to escape local
minima.
There are two main steps to be able to solve a VRP problem using ALNS. The first step is
to find an initial feasible solution such that ALNS can be properly implemented. Afterwards, the
ALNS can be implemented to search the solution space for a good enough solution or until
convergence. In this Chapter we go through the two steps needed to solve the second problem, and
get a good feasible solution to the VRP problem.
69
6.1.1 Finding an Initial Solution
The first step needed to solve the VRP problem is to build a graph that correctly represents
the problem. To do this, in this Chapter we will assume that the Container Assignment Problem
has been solved and that the container movement variables (𝑥 𝑖 ,𝑗 ,𝑡 , 𝑦 𝑖 ,𝑗 ,𝑡 , or 𝑧 𝑖 ,𝑗 ,𝑡 ) are available, and
serve as the nodes for the graph. However, the nodes will be slightly different holding a full
container trip at each node. Thus, we introduce a new variable called truck jobs represented as
𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 , that refers to both single and double container truck trips. The more formal definition for
the truck jobs variable is found below.
Truck Job. 𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 =
𝑥 1
𝑖 ,𝑗 ,𝑡 +𝑥 2
𝑖 ,𝑗 ,𝑡 +𝑥 3
𝑖 ,𝑗 ,𝑡 +𝑦 1
𝑗 ,𝑘 ,𝑡 +𝑦 2
𝑗 ,𝑘 ,𝑡 +𝑦 3
𝑗 ,𝑘 ,𝑡 2
+𝑧 𝑖 ,𝑗 ,𝑡 𝑖𝑓 𝑗 =𝑘 𝑥 1
𝑖 ,𝑗 ,𝑡 +𝑥 2
𝑖 ,𝑗 ,𝑡 +𝑥 3
𝑖 ,𝑗 ,𝑡 +𝑦 1
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 +𝑦 2
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 +𝑦 3
𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 2
𝑜𝑡 ℎ𝑒𝑟𝑤𝑖𝑠𝑒
The truck jobs are then the nodes of the graph. The graph is also a directed graph with job
𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 connected to job 𝑤 𝑝 ,𝑞 ,𝑟 ,𝑠 if 𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 +𝑙 𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 +𝑙 𝑘 ,𝑝 ,𝑡 +𝑙 𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 ≤𝑠 .
In Chapter 3 we presented an algorithm to build the truck routes after the ECDCT was
solved. In this algorithm each truck schedule held both variables were trucks carried containers
(𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 ) and variables where they did not (𝜏 𝑖 ,𝑗 ,𝑡 ), and the truck routes were held in ordered sets 𝑅 𝑝 .
In this Chapter truck routes will be held in ordered sets 𝐿 𝑝 and unlike 𝑅 𝑝 , 𝐿 𝑝 only holds job tuples,
and does not hold any tuples for truck movement without containers because in this Chapter we
do not have the truck movement without container variables (𝜏 𝑖 ,𝑗 ,𝑡 ). Thus, in the ordered set 𝐿 𝑝 it
is assumed then that trucks move without containers between jobs. For example, if in the ordered
set 𝐿 𝑝 the first tuple is {𝑖 , 𝑗 , 𝑘 , 𝑡 } and the second tuple is {𝛼 , 𝛽 , 𝛾 , 𝑠 }. Truck p will go to location
i service the first job at time t, which will end at location k. It will then move without containers
from location k to location 𝛼 and service job two starting at time s. By construction there will be
enough time for the truck to move from the end of one job, to the beginning of the next job. We
also use 𝜎 𝑝 to represent the ending time of the last job in truck route p. To be more specific 𝜎 𝑝 =
𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 +𝑙 𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 where all the subscripts come from the last tuple {𝑖, 𝑗 , 𝑘 , 𝑡 } inserted into the
ordered set 𝐿 𝑝 . If the ordered set 𝐿 𝑝 is empty, 𝜎 𝑝 is set to be 0. Finally, we let 𝛿 𝛼 ,𝑖 ,𝑡 be the travel
time from the last location of the last job in the ordered set 𝐿 𝑝 (𝛼 ) to location i arriving at time t.
70
To be more specific if the last tuple in the ordered set 𝐿 𝑝 is {𝛽 ,𝛾 ,𝛼 , 𝑠 } and we are considering
adding the tuple {𝑖 , 𝑗 , 𝑘 , 𝑡 }, then 𝛿 𝛼 ,𝑖 ,𝑡 = 𝑜 𝛼 ,𝑖 ,𝑡 . We now present our algorithm to get an initial
feasible solution below. We call this algorithm “VRP Initial Solution Construction”.
VRP Initial Solution Construction
1. Solve the DCAM to get the job variables (𝑥 𝑖 ,𝑗 ,𝑡 , 𝑦 𝑖 ,𝑗 ,𝑡 , or 𝑧 𝑖 ,𝑗 ,𝑡 ).
2. Set all 𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 such that
a. 𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 =(𝑥 𝑖 ,𝑗 ,𝑡 + 𝑦 𝑗 ,𝑘 ,𝑡 +𝑙 𝑖 ,𝑗 ,𝑡 )/2
b. 𝑤 𝑖 ,𝑗 ,𝑗 ,𝑡 =𝑧 𝑖 ,𝑗 ,𝑡
3. Set 𝑝 =1
4. Set 𝛼 =0
5. Choose a positive 𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 with the smallest t subscript such that:
𝑡 −𝛿 𝛼 ,𝑖 ,𝑡 ≥𝜎 𝑝 . Break ties based on the smallest distance between 𝛼 and i. Suppose
we choose 𝑤 𝑖 ′
,𝑗 ′
,𝑘 ′
,𝑡 ′
6. Add the tuple {𝑖 ′
,𝑗 ′
,𝑘 ′
,𝑡 ′
} to the ordered set 𝐿 𝑝 .
7. Set 𝑤 𝑖 ′
,𝑗 ′
,𝑘 ′
,𝑡 ′ =𝑤 𝑖 ′
,𝑗 ′
,𝑘 ′
,𝑡 ′−1
8. Set 𝛼 = 𝑖 ′
9. Repeat Steps 5 to 8 until no more 𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 can be chosen in Step 5.
10. If there is at least one positive 𝑤 𝑖 ,𝑗 ,𝑘 ,𝑡 set 𝑝 =𝑝 +1 and go back to Step 4. Otherwise
STOP.
The above algorithm is a greedy algorithm and uses a heuristic that tries to minimize the
idle time. It tries to accomplish this by inserting jobs that minimize the time between the last job
added to a truck route p and the new time of the job being added to truck route p. The algorithm
starts by adding the job with the earliest starting time. It then calculates the time that it takes to
service this job. It then chooses the next job such that it minimizes the time that before it starts its
next job. This is done iteratively until no more jobs can be added to truck p. At this time, if there
are more jobs to be serviced another truck is added and the process is repeated. The algorithm will
always yield a feasible truck schedule, because the algorithm keeps adding trucks until there are
no more jobs and a new truck can always at least complete one job. The algorithm (excluding
solving the DCAM) can be implemented in O(𝑛 2
) time, were n is the total number of jobs.
71
Before we present our modified version of ALNS we need to introduce some parameters.
The first parameter 𝜁 determines how many single job truck routes each iteration will try to
eliminate. The second parameter 𝛥 determines how many jobs will be removed and reinserted at
every iteration. Notice that 𝛥 ≥𝜁 since removing one truck means that one job is also removed.
The third parameter Ψ determines how many iterations of the heuristics will be performed.
Conversely, the variable 𝜓 gives the current iteration number. Furthermore, let 𝑝 𝑚𝑎𝑥
represent the
maximum number of trucks that are currently being used. We introduce a new set G which will
hold the removed jobs that later will need to be reinserted back to some route in order to preserve
feasibility. Next, let ƨ represent the minimum cost of adding a job. Finally, ƕ holds the place where
the minimum cost of inserting a job appears. We now introduce our modified ALNS.
Modified ALNS
1. Set 𝜓 =1
2. Set 𝑝 =1
3. If ordered set 𝐿 𝑝 contains only one tuple. Remove it from the ordered set 𝐿 𝑝 and add the
tuple to set G. Then set 𝑝 𝑚𝑎𝑥
=𝑝 𝑚𝑎𝑥
−1
4. If set G has 𝜁 elements go to Step 6. Otherwise, CONTINUE.
5. If 𝑝 =𝑝 𝑚𝑎𝑥
, CONTINUE. Otherwise, set 𝑝 =𝑝 +1 and go back to Step 3.
6. Randomly remove any tuple from a random truck route (𝐿 𝑝 ) and add it to set G.
7. If G has less than 𝛥 elements go back to Step 6. Otherwise CONTINUE.
8. Sort the tuples in G based on their starting time (t).
9. Remove the first tuple {𝑖 ′
,𝑗 ′
,𝑘 ′
,𝑡 ′
} from G.
10. Set 𝑝 =1
11. Set ƨ= ∞ and ƕ={0}
12. If tuple {𝑖 ′
,𝑗 ′
,𝑘 ′
,𝑡 ′
} can be inserted on truck route 𝐿 𝑝 . Calculate the additional cost of
inserting the job on route 𝐿 𝑝 . If this cost is less than ƨ. Set ƕ=𝑝 . Otherwise, CONTINUE.
13. If 𝑝 =𝑝 𝑚𝑎𝑥
, CONTINUE. Otherwise, set 𝑝 =𝑝 +1 and go back to Step 12.
14. If ƨ<∞ insert tuple {𝑖 ′
,𝑗 ′
,𝑘 ′
,𝑡 ′
} to truck route ƕ. Otherwise, set 𝑝 𝑚𝑎𝑥
=𝑝 𝑚𝑎𝑥
+1 and
add tuple {𝑖 ′
,𝑗 ′
,𝑘 ′
,𝑡 ′
} to truck route 𝐿 𝑝 𝑚𝑎𝑥 .
15. If G is empty, CONTINUE. Otherwise, go back to Step 9.
16. If 𝜓 =𝛹 , STOP. Otherwise, set 𝜓 =𝜓 +1 and go back to Step 2.
72
The idea of this algorithm is that at each iteration some jobs will be removed along with
some trucks which only have one job. The jobs are then reinserted such that the total cost is reduced
in the long run, although it may increase at a particular iteration, since increasing the cost at some
iterations will allow the heuristic from getting stuck at a local minima. As shown in the paper by
Ropke and Pisinger the algorithm in practice does tend to perform very well compared to other
well-known algorithms, although no theoretical performance is shown.
6.2 Experiments
In this Chapter, we use our truck routing heuristic on the Ports of Los Angeles and Long
Beach data set introduced in Chapter 4.3.1. The same parameters are used as the original set of
experiments, although since we found that the number of locations does not have a significant
impact we only run experiment were each region has only one location. We assume the cost of
using an additional truck is much greater than any mileage cost. That is, minimizing the number
of trucks is more important than any mileage reduction that could take place when using an extra
truck. We also set the parameter 𝜔 to 10, which represents the number of jobs to be removed in
every iteration of the ALNS. We also set the parameter 𝜌 to 2, which is the number of trucks that
are tried to be removed at every iteration. Finally, we set 𝜗 to 1000, which is the number ALNS
iterations that will be performed. These extra parameters are summarized below in Table 15. The
results are shown below in Table 16.
73
Table 15. Summary of parameters for VRP experiment for the Ports of Los Angeles and Long Beach
Parameter name Parameter value
# of importers (I) 5
# of exporters (E) 3
# of depots (D) 2
Loading and unloading of
containers 1 hour
Truck turnover time at port 2 hours
Daily time horizon 12 hours
Time discretization size 1 hour
Number of ALNS iterations
(Ψ) 1000
Number of jobs to remove
at each iteration (𝛥 ) 10
Number of trucks to be
removed at each iteration
(𝜁 ) 2
Table 16. Truck routing results for the Ports of Los Angeles and Long Beach
# Double
Trucks
# Single
Trucks
Double Truck
Miles Single Truck Miles Empty Truck Miles Total Truck Miles
Double Container
Reuse
100 0 1555.7 0 341 1896.7
Single Container
Reuse
0 200 0 3113.7 615 3728.7
Single Direct
(Current)
0 200 0 3699.7 546.8 4246.5
As seen in Table 16 it is preferable to use double container trucks. Once again, the routes
are the same as using single container trucks with reuse, but the single-container trucks must do
everything twice. Therefore, twice as many trucks are needed and twice as many truck miles are
needed to fulfill the demand. Meanwhile the single container truck reuse policy uses the same
number of trucks as the single container direct. However, the trucks miles are reduced by about
12%. This means that there are a lot of savings to be made even when only using the single
container reuse policy as opposed to using the direct policy currently in practice.
74
7. Pickup and Delivery Problem
Up to this point, it was assumed that trucks could only pickup containers from a single
location, and could not pickup any containers, afterwards until they had first delivered the
containers they had picked up. This assumption simplified the problem, since it allowed the VRP
to be converted into a TSP without triangle inequality as seen in Chapter 6. In this Chapter the
Pickup and Delivery Problem (PDP) with vehicle capacity 2 is explored by dropping this
assumption. The objective of the PDP with capacity 2 is still to minimize the distance of the vehicle
while still visiting every single node. The difference is that nodes are divided into pickup nodes
and delivery nodes. Each pickup node is paired with a delivery node and must be visited first
before visiting its corresponding delivery node.
Although there has been research in the PDP, to the best extent of our knowledge, there
has been no research focusing on the PDP when the capacity of the vehicle is 2. In this Chapter we
first formally present the problem. Unfortunately, the problem is a variation of the TSP and thus
is NP hard; thus we next present an algorithm to solve the problem for practical size problems.
Lastly, we test our algorithm by comparing its performance against Hosney and Mumford’s (2008)
simulated annealing algorithm.
7.1 Formulation of the PDPC2
We next present the mathematical formulation of the Pickup and Delivery Problem with
Capacity 2 (PDPC2). The notation for the formulation is as follows:
Parameters
𝑃 =𝑆𝑒𝑡 𝑜𝑓 𝑝𝑖𝑐𝑘𝑢𝑝 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛𝑠 =1,….,𝑛 /2
𝐷 =𝑆𝑒𝑡 𝑜𝑓 𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑦 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛𝑠 =
𝑛 2
+1,…,𝑛
𝑁 =𝐷 ∪𝑃 =𝑆𝑒𝑡 𝑜𝑓 𝑎𝑙𝑙 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛𝑠
75
𝑇 =𝑆𝑒𝑡 𝑜𝑓 𝑡𝑖𝑚𝑒𝑠 =1,….,𝑛
𝑑 𝑖,𝑗 =𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑏𝑒𝑡𝑤𝑒𝑒𝑛 𝑙𝑜𝑐𝑎 𝑡𝑖𝑜𝑛 𝑖 𝑎𝑛𝑑 𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 𝑗 (𝑑 𝑖,𝑗 =𝑑 𝑗 ,𝑖 )
Variables
𝑥 𝑖,𝑗 ,𝑡 = {
1 𝑖𝑓 𝑣𝑒 ℎ𝑖𝑐𝑙𝑒 𝑡𝑟𝑎𝑣𝑒𝑙𝑠 𝑎𝑙𝑜𝑛𝑔 𝑒𝑑𝑔𝑒 (𝑖,𝑗) 𝑎𝑡 𝑡𝑖𝑚𝑒 𝑡 0 𝑜𝑡 ℎ𝑒𝑟𝑤𝑖𝑠𝑒
Objective
𝑀𝑖𝑛 ∑∑∑𝑑 𝑖 ,𝑗 ∗𝑥 𝑖 ,𝑗 ,𝑡 𝑡 ∈𝑇 𝑗 ∈𝑁 𝑖 ∈𝑁
s.t.
(1) ∑∑𝑥 𝑖,𝑗 ,𝑡 =1
𝑡 ∈𝑇 𝑖∈𝑁 ∀𝑗 ∈𝑁
(2) ∑∑𝑥 𝑖,𝑗 ,𝑡 =1
𝑡 ∈𝑇 𝑗 ∈𝑁 ∀𝑖 ∈𝑁
(3) ∑∑𝑥 𝑖,𝑗 ,𝑡 =1
𝑗 ∈𝑁 𝑖∈𝑁 ∀𝑡 ∈𝑇
(4) ∑∑𝑥 𝑖,𝑖,𝑡 =0
𝑡 ∈𝑇 𝑗 ∈𝑁 ∀𝑖 ∈𝑁
(5) 0≤∑∑𝑥 𝑖,𝑗 ,𝑠 𝑡 𝑠 =1 𝑗 ∈𝑃 −∑∑𝑥 𝑖,𝑗 ,𝑠 𝑡 𝑠 =1 𝑖∈𝐷 ≤2 ∀𝑗 ∈𝑁 ∀𝑡 ∈𝑇
(6) ∑∑𝑥 𝑖,𝑗 ,𝑠 𝑡 −1
𝑠 =1 𝑖∈𝑁 −∑∑𝑥 𝑗 +
𝑛 2
,𝑘 ,𝑠 𝑡 𝑠 =1 𝑘 ∈𝑁 ≥0 ∀𝑗 ∈𝑃 ∀𝑡 ∈𝑇
(7) ∑𝑥 𝑖,𝑗 ,𝑡 𝑖∈𝑁 −∑𝑥 𝑗 ,𝑘 ,𝑡 +1
𝑘 ∈𝑁 =0 ∀𝑗 ∈𝑃 ∀𝑡 ∈1,…,𝑛 −1
76
(8) ∑𝑥 0,𝑖,0
𝑖∈𝑁 =1
(9) ∑𝑥 𝑖,0,𝑛 𝑖∈𝑁 =1
(10) 𝑥 𝑖,𝑗 ,𝑡 =[0,1] ∀𝑖,𝑗 ∈𝑁 ∪0 𝑡 ∈𝑇 ∪0∪(𝑛 +1)
The objective of the PDPC2 is to minimize the total distance travelled in order to make all
the pickups and deliveries with a single truck. We have a set of pickup location (P), and a set of
delivery locations (D), with a total number of n locations. Each pickup i in P has a corresponding
delivery location i+n/2. Multiple pickup and deliveries at the same location can be represented by
adding multiple locations with distance zero between them. N is then defined as the set with all
locations. Finally, we discretize time, such that at each time unit we make a single pickup or
delivery, therefore T will have n elements.
The variables in PDPC2 are binary variables that determine the route of the vehicle.
Constraints (1), (2), and (3) together state that every single node must be visited exactly once, and
only one node can be visited at each time unit. Constraint (4) prevents a node from visiting itself.
Constraint (5) is the capacity constraint, preventing the truck from exceeding its capacity of 2 or
having a negative capacity. Constraint (6) assures that each pickup is visited before its
corresponding delivery. Constraint (7) assures that if location j is visited at time t then the
movement of the truck from time 𝑡 to 𝑡 +1 must originate at location j, thus ensuring a continuous
truck tour. Constraint (8) starts the truck route at the depot at time 0, while constraint (9) ensures
that the truck route ends at the depot at time n. The distance from the depot to any other location
is assumed to be 0. Finally, constraint (10) states that all variables must be binary.
7.3 Heuristic for solving the PDPC2
As seen in Chapter 2 there are two main directions researchers have taken when studying
the PDP. The first direction is deriving ways of optimally solving the IP formulation. The second
direction is coming up with a heuristic to solve the PDP well enough for application-based size
77
problems. In this section we focus on the second direction and come up with an algorithm to solve
reasonably sized problems. The algorithm is inspired by Renaud et al. heuristic published in 2002,
combined with the idea of Simulated Annealing.
Although in this paper the focus is solving the PDPC2, the algorithm presented is not
limited to capacity 2, but in general for small capacity situations. The algorithm stores its current
solution the ordered set S and it stores the best solution it has found in 𝑆 𝑏𝑒𝑠𝑡 . It also stores its
corresponding distance in D for the current solution and 𝐷 𝑏𝑒𝑠𝑡 for the best solution. The ordered
set C stores the corresponding capacities for S. P is an ordered set with all the pickups that are not
yet in S. The algorithm will always insert or remove set of pairs together, thus each point in P has
a corresponding delivery. Finally, there are 5 hyperparameters that guides the algorithm
performance. The first hyperparameter 𝛼 is a number between 0 and 2 and determines how much
a weight the pickup and delivery position should have. Several weights were tried, but a weight of
1.25 was found to perform well and was used during testing. The second hyperparameter is 𝛽 , a
non-negative number that penalizes each unit of capacity at the pickup insertion. Several weights
were tried, but a weight of 0.1 was found to perform well and was used during testing. The third
hyperparameter is 𝛹 . It states how many iterations of the algorithm to perform. The fourth
hyperparameter is 𝜔 , and it states how many iterations to perform of simulated annealing before
using the true distance formula with 𝜔 ≤𝛹 . Finally, the fifth hyperparameter is p and refers to the
number of pickup and delivery pairs that will be removed at each iteration.
Below we present the “PDP Algorithm to find an Initial Solution” and the “PDP Algorithm
for Small Capacities” (PDPASC):
PDP Algorithm to find an Initial Solution
1. Initialize P with all pickup locations
2. Initialize S = [0, i, i+n/2, 0] such that 𝑑 𝑖 ,𝑖 +𝑛 /2
={max(𝑑 𝑗 ,𝑗 +𝑛 /2
): ∀ 𝑗 ∈𝑃 } , Set C = [0,1,0,0]
then remove i from P
3. For each possible insertion position k in S, calculate score1 and score2 for each pair in i in
P:
78
a. 𝑠𝑐𝑜𝑟𝑒 1= min
𝑣 𝑖 ∈𝑃 ,(𝑣 𝑘 ,𝑣 𝑙 )∈𝑆 {[𝛼 𝑑 𝑘 ,𝑖 +𝑑 𝑖 ,𝑖 +
𝑛 2
+(2−𝛼 )𝑑 𝑖 +
𝑛 2
,𝑙 −𝑑 𝑘 ,𝑙 ][1+𝛽 𝐶 𝑣 𝑘 ]}
b. 𝑠𝑐𝑜𝑟𝑒 2= min
𝑣 𝑖 ∈𝑃 ,(𝑣 𝑘 ,𝑣 𝑙 )∈𝑆 {[
𝛼 (𝑑 𝑘 ,𝑖 +𝑑 𝑖 ,𝑙 −𝑑 𝑘 ,𝑙 )
+(2−𝛼 )(𝑑 𝑟 ,𝑖 +
𝑛 2
+𝑑 𝑖 +
𝑛 2
,𝑠 −𝑑 𝑘 ,𝑙 )
][1+𝛽 𝐶 𝑣 𝑘 ]}
4. Add the pair i with the min{score1, score2} to S in positions that resulted in that score, and
remove pair i from P. Update C accordingly to represent the capacities of S
5. If P is empty STOP, otherwise go back to step 3
PDP Algorithm for Small Capacities
1. Set 𝜓 =0 and 𝑆 𝑏 𝑒 𝑠 𝑡 =𝑆 , with the associated distance 𝐷 𝑏𝑒𝑠𝑡
2. Remove p pairs of pickup and delivery points from S, and store the pickups in P. Update C
accordingly to represent the capacities of S
3. If 𝜓 > 𝜔 go to Step 5. Otherwise, for each possible insertion position k in S, calculate
score1 and score2 for each pair in i in P and go to Step 6
a. 𝑠𝑐𝑜𝑟𝑒 1= min
𝑣 𝑖 ∈𝑃 ,(𝑣 𝑘 ,𝑣 𝑙 )∈𝑆 {
[
𝜓 𝜔 ][𝑑 𝑘 ,𝑖 +𝑑 𝑖 ,𝑖 +
𝑛 2
+𝑑 𝑖 +
𝑛 2
,𝑙 −𝑑 𝑘 ,𝑙 ]+
[1−
𝜓 𝜔 ][𝛼 𝑑 𝑘 ,𝑖 +𝑑 𝑖 ,𝑖 +
𝑛 2
+(2−𝛼 )𝑑 𝑖 +
𝑛 2
,𝑙 −𝑑 𝑘 ,𝑙 ]
}
b. 𝑠𝑐𝑜𝑟𝑒 2= min
𝑣 𝑖 ∈𝑃 ,(𝑣 𝑘 ,𝑣 𝑙 )∈𝑆 {
[
𝜓 𝜔 ][
𝑑 𝑘 ,𝑖 +𝑑 𝑖 ,𝑙 −𝑑 𝑘 ,𝑙 +𝑑 𝑟 ,𝑖 +
𝑛 2
+𝑑 𝑖 +
𝑛 2
,𝑠 −𝑑 𝑘 ,𝑙 ]+
[1−
𝜓 𝜔 ][
𝛼 (𝑑 𝑘 ,𝑖 +𝑑 𝑖 ,𝑙 −𝑑 𝑘 ,𝑙 )
+(2−𝛼 )(𝑑 𝑟 ,𝑖 +
𝑛 2
+𝑑 𝑖 +
𝑛 2
,𝑠 −𝑑 𝑘 ,𝑙 )
]
}
4. For each possible insertion position k in S, calculate score1 and score2 for each pair in i in
P:
a. 𝑠𝑐𝑜𝑟𝑒 1= min
𝑣 𝑖 ∈𝑃 ,(𝑣 𝑘 ,𝑣 𝑙 )∈𝑆 {𝑑 𝑘 ,𝑖 +𝑑 𝑖 ,𝑖 +
𝑛 2
+𝑑 𝑖 +
𝑛 2
,𝑙 −𝑑 𝑘 ,𝑙 }
b. 𝑠𝑐𝑜𝑟 𝑒 2= min
𝑣 𝑖 ∈𝑃 ,(𝑣 𝑘 ,𝑣 𝑙 )∈𝑆 {𝑑 𝑘 ,𝑖 +𝑑 𝑖 ,𝑙 −𝑑 𝑘 ,𝑙 +𝑑 𝑟 ,𝑖 +
𝑛 2
+𝑑 𝑖 +
𝑛 2
,𝑠 −𝑑 𝑘 ,𝑙 }
5. Add the pair i with the min{score1, score2} to S in positions that resulted in that score, and
remove pair i from P. Update C accordingly to represent the capacities of S
6. If P is empty CONTINUE, otherwise go back to step 4
79
7. Calculate D for the current solution S. If 𝐷 𝑏𝑒𝑠𝑡 >𝐷 set 𝐷 𝑏𝑒𝑠𝑡 =𝐷 and 𝑆 𝑏𝑒𝑠𝑡 =𝑆
8. If 𝜓 =𝛹 −1, STOP and return 𝑆 𝑏𝑒𝑠𝑡 . Otherwise, set 𝜓 =𝜓 +1 and go back to Step 2
Reason the prior algorithms do not perform especially well when the capacity is two is
because how they build their initial solution leads to an initial solution that operates at capacity
during most of its route. This means that when nodes are removed they are likely to be reinserted
back at the same position (due to the capacity constraint), making it hard to explore the solution
space effectively.
As mentioned above our algorithm is performing a type of simulated annealing. The main
differences from other algorithms being the cost functions used. While building the initial solution
the algorithm penalizes the insertion of pickups at points where the truck capacity is 1. This does
yield a worse initial solution from the point of view of minimizing distance; however it allows for
an easier exploration of the solution space. Additionally, the scoring functions are adapted from
Renaud et al. (2000) to perform simulated annealing.
7.4 PDP Experiments
In this section we will compare our results with the simulated annealing model presented
by Hosney and Mumford (2008) (SAHM). To compare the models, we set up 5 experiments, each
with different number of nodes. Each experiment has 15 replications and the nodes are uniformly
sampled from a 25x25 square. For the PDPASC 𝜔 was set to half of the total iterations (rounded
down). The results of the experiments are shown in Table 17 below.
80
Table 17. PDP random experiment results
As seen in the tables the PDPASC algorithm yields better objective values on average but
takes more time on average. We believe that this is the case because the PSPASC algorithm is
better at exploring the solution space.
Additionally, we tested our model on Jih and Hsu [55] and [56] dataset, which was used
by Hosny and Mumford [54] to test their SAHM. However, the dataset was slightly tweaked to fit
the PDPC2. The first change was that the capacity for the vehicle was set to 2 for every scenario.
Additionally, all tasks were set to have a demand of 1. To achieve this a copy of each task was
added to the task list for each demand greater than 1. A corresponding node was also added for
each extra task, with the same coordinates as the original node. Finally, we modified the PDPASC
to accommodate for a strict initial starting node. If the initial depot was a pickup node, then it was
added first and set that nothing can be added before, and it could not be removed. Else if it was a
delivery node, a new node was created with the coordinates of the initial node, and this new node
was used as the initial point for the algorithm. In this case, the algorithm was not run to a set
number of iterations but was run until there was no change for 5 straight iterations (up to the
hundredth decimal place). Also, the p value was set to 20% and 𝜔 was set to 40% of the updated
tasks. Below are the results for the ten cases in the dataset.
Number
nodes
Number
Iterations
p
value
Average
Objective
SAHM
Average
Objective
PDPASC
Average
Time
SAHM (s)
Average
Time
PDPASC (s)
Objective
ratio
(SAHM
/PDPASC)
Time ratio
(SAHM
/PDPASC)
50 20 4 658.75 615.45 1.224 1.247 1.070 0.982
70 45 8 998.47 925.48 6.152 6.39 1.074 0.963
100 75 15 1254.02 1174.48 32.605 34.063 1.080 0.961
150 120 25 1905.73 1728.84 81.793 86.334 1.098 0.949
200 150 30 2433.98 2202.45 390.858 424.255 1.118 0.926
81
Table 18. PDP results for Jih and Hsu dataset
These results augment the previous experiments conclusions that the PSPASC yields better
solutions but takes more time. Additionally, it is seen that both algorithms scale very well with the
SAHM taking only 26 minutes and the PSPASC 31 minutes to converge when there were 542
tasks.
The PDPASC was built with the idea that it will allow a better exploration of the solution
space when the capacity is 2. Although, the algorithm can run on any capacity. Therefore, to test
how the algorithm performs for other capacities we designed an experiment were the capacity was
increased by 1 for each trial from 2 to 9. For each trial 15 replications were made. For this
experiment we used 100 nodes uniformly sampled from a 25x25 square. A p value of 15 was used,
𝜔 was set to 40, and we ran both algorithms until there was no change for 5 straight iterations (up
to the hundredth decimal place). The results for this experiment are shown below on Table 19 and
Figures 7 and 8.
Original
Tasks
Updated
Tasks
Objective
SAHM
Objective
PDPASC
Time
SAHM
(s)
Time
PDPASC
(s)
Objective Ratio
(PDPASC/SAHM)
Time Ratio
(PDPASC/SAHM)
10 36 1846.72 1700.12 0.846 0.856 1.086 0.988
20 103 5061.80 4742.60 24.265 26.452 1.067 0.917
30 182 9025.40 7817.28 302.951 315.642 1.155 0.960
40 218 9085.65 8853.05 333.653 350.865 1.026 0.951
50 247 10258.56 9688.65 504.023 550.263 1.059 0.916
60 346 14875.35 14246.32 669.356 723.567 1.044 0.925
70 391 15684.32 14548.32 756.762 900.560 1.078 0.840
80 455 18236.23 16025.65 953.653 1053.653 1.138 0.905
90 428 17846.45 15986.23 899.653 986.486 1.116 0.912
100 542 21054.06 18526.48 1565.012 1865.712 1.136 0.839
82
Table 19. PDP capacity analysis results
Capacity
Average
Objective
SAHM
Average
Objective
PDPASC
Average
Time
SAHM (s)
Average
Time
PDPASC
(s)
Objective Ratio
(PDPASC/SAHM)
Time Ratio
(PDPASC/SAHM)
2 1242.87 1151.79 32.608 33.932 1.080 0.964
3 1195.26 1113.85 21.032 22.094 1.076 0.952
4 1069.52 1008.65 21.426 22.750 1.063 0.941
5 856.57 817.51 20.928 22.436 1.050 0.936
6 839.86 819.97 21.988 22.703 1.021 0.939
7 728.75 726.85 21.711 23.467 1.002 0.927
8 654.56 658.20 22.072 24.068 0.997 0.925
9 712.90 710.40 21.197 22.458 1.005 0.931
Figure 7. Objective ratio versus capacity
0.940
0.960
0.980
1.000
1.020
1.040
1.060
1.080
1.100
2 3 4 5 6 7 8 9
Objective ratio
Capacity
Objective Ratio versus Capacity
83
Figure 8. Time ratio versus capacity
The results of the capacity experiments suggest that the SAHM and PDPASC objectives
both converge to yielding similar objectives when the capacity is increased. However, the time
ratio seems to have a decreasing trend, meaning that it takes more time for the PDPASC, than the
SAHM to converge. This is because the PDPASC is set to start off at a particularly bad starting
point, thus it needs more work to get to a good solution. When the capacity is low this is an
advantage, since it can explore the solution space more easily. However, when the capacity is
higher this is not really an advantage anymore, because it must explore more of the solution space
until it converges. As such although the PDPASC can theoretically be used for any capacity, it is
not well suited when the vehicle capacity is not a big constraint, and other algorithms are better.
However, it performs well when the capacity is limited, like when using double-container trucks.
0.900
0.910
0.920
0.930
0.940
0.950
0.960
0.970
2 3 4 5 6 7 8 9
Time Ratio
Capacity
Time Ratio versus Capacity
84
8. Conclusions and Future Directions
8.1 Conclusions
In this dissertation, we study the Empty Container Problem using double-container trucks.
The objective of this problem is to minimize the number of trucks and truck miles while meeting
all importer, exporter, and port demands. This is achieved by increasing the number of street
exchanges meaning that empty containers ideally go directly from the importer to the exporter,
instead of going back to the port. We designed a solution methodology that involves decomposing
the problem into two problems. The first problem is an assignment problem, which yields a
container assignment schedule of where and when certain containers need to be moved and to
which location. The second problem is a VRP, which then yields a truck schedule’s that support
the container assignments made in the first problem.
In order to solve the assignment problem we simplify it by not allowing trucks to pickup
containers from other locations unless they are empty. This allows us to make the model variables
container movements, instead of tracking individual containers. We can then model the assignment
problem as an integer program, that yields integer or half integer solutions under reasonable
assumptions, when solving the linear relaxation. Therefore, to solve this issue we develop two
heuristics in order to recover integrality and obtain a feasible container assignment. The first
heuristic uses linear programming solution properties that the half-integrality only appears on
double-container assignments where both truck trips are going to the same location. Thus, it is
possible to use a single-container truck assignment instead, and thus recover integrality. The
second heuristic involves rounding all half integer solutions down, and then solving a smaller
integer program.
The assignment model and the heuristics are then tested by experimentation. It is found
that the first heuristic yields a solution that is about 12-15% from the linear relaxation lower bound
for the problem. However, the heuristic is fast taking only O(N) to implement after finding the
linear relaxation solution. The second heuristic yields better solutions which are within 5% of the
linear relaxation lower bound. However, the heuristic takes longer to run, taking about 15 minutes
after finding the linear relaxation for the problems presented. The heuristics were also found to not
85
be affected by where the locations were and the demand of the locations. However, the location
capacity did have a significant effect on the results. More precisely, if the location capacities are
odd, then both heuristics will perform worse. Additionally, both heuristics will converge as the
location capacity is increased.
We also study how to improve the assignment by considering future stochastic demand.
Future stochastic demand is incorporated by assuming that demand follows a Markov Process in
which each state has certain demand distributions. This is then incorporated into the model, by
bringing the “future demand constraints” into the objective as a penalty function, making it a soft
constraint and allowing the model to hedge the container assignments between different possible
demand realizations. From the experiments it was found that the stochastic model had a 4-7%
improvement over the deterministic model, for a 10-day cost horizon. This is a significant
improvement which can even improve the longer the time horizon is.
After solving the first problem, we solved the second problem of finding a truck schedule
to sustain the container assignments found in the first problem and solve the complete Empty
Container Problem. The VRP is a well-studied NP hard problem. By setting each container
movement as a node in a graph, the problem can be formulated as a VRP with time windows
without the triangle inequality. To solve this problem an adapted version of Ropke and Pisinger
[23] “Adaptive Large Neighborhood Search” algorithm was used, in which both truck miles and
truck idle time was minimized. The data from the Ports of Los Angeles and Long Beach was used
to compare the number of trucks and truck miles used on the different policies. The results were
that truck miles were reduced by about 55% compared to not using any reuse policy (the current
policy used at the Port). Even when only using single-container trucks there was a 12% reduction
when using our methodology. These were significant truck mile reductions, pointing to an effective
solution methodology.
We then study the Pickup and Delivery Problem with capacity 2 since it is the problem
needed to solve the second problem in our methodology if we allow trucks to pick up containers
at any point. We develop an algorithm that performs about 10% better than the Hosney and
Mumford simulated annealing algorithm that does not consider the truck capacity of 2 [54]. The
algorithm works because it forces a suboptimal starting solution in which it almost never operates
at truck capacity. This allows a better exploration of the solution space, something that is much
86
harder to do if the initial solution is mostly working at truck capacity. This algorithm does not rely
on the truck capacity being 2. However, in experimentation it was found that the algorithm
performs best when the truck capacity is two. If the truck capacity is increased it slowly starts to
yield worse results, until the truck capacity is around 7, at which point it converges with the
solutions from the Hosney and Mumford simulated annealing algorithm [54]. As expected our
algorithm is slower since it searches more of the solution space until it converges, due to its
suboptimal starting point.
8.2 Future Directions
In this dissertation an algorithm for the PDP with capacity 2 is introduced. If an efficient
algorithm is found to solve the assignment problem where trucks can pick up containers from any
location. Then using the same methodology proposed in this paper would be possible to achieve
even better solutions while using double-container trucks to their fullest potential, allowing
pickups and drop-offs at different locations, further increasing the number of potential truck routes.
Furthermore, in this dissertation the Empty Container Problem was studied under port-
based scenarios, and specifically when importer demand is higher than exporter demand such as
is the case at the Ports of Los Angeles and Long Beach. However, it could be of interest to examine
how the model performs when this is not the case and there is either higher exporter demand, or
demand between imports and exports. The model and methodology presented in this paper is
general enough to handle such situations, but the actual exploration of such cases was not explored
in this dissertation. Additionally, the model could be adapted to handle non-port-based scenarios
such as big distribution centers, or even a scenario where there is no single big port or distribution
center, but instead there are multiple locations were the empty containers are repositioned. This
would require some modification to the ECDCT model presented in chapter 3.2 since the model
assumes a single port or distribution center.
Lastly to further augment the work of this dissertation a study of the incorporation of train
and truck models must be studied. As mentioned in the introduction about 45% of container flow
is moved by trucks, with the rest being moved by other means most prominently by rail. To further
the gains of efficient empty container repositioning, a methodology that incorporates both trucks
87
and rail needs to be studied, allowing even further consolidation of the containers at rail yards and
further reducing the truck trips in and out of the Ports of Los Angeles and Long Beach.
88
9. References
[1] Archetti, C., Mansini, R., & Speranza, M.G. (2001). The vehicle routing problem with capacity 2 and
3, general distances and multiple customer visits. Operations Research Perspectives, 3, 26-29.
[2] Bandeira, D. L., Becker, J. L., & Borenstein, D. (2009). A DSS for integrated distribution of empty and
full containers. Decision Support Systems, 47(4), 383-397.
[3] Bazgan, C., Hassin, R., & Monnot, J. (2005). Approximation algorithms for some vehicle routing
problems. Discrete Applied Mathematics, 146(1), 27-42.
[4] Bourbeau, B., Crainic, T. G., & Gendron, B. (2000). Branch-and-bound parallelization strategies applied
to a depot location and container fleet management problem. Parallel Computing, 26(1), 27-46.
[5] Braekers, K., Caris, A., & Janssens, G. K. (2013). Integrated planning of loaded and empty container
movements. OR spectrum, 35(2), 457-478.
[6] Chistofides, N. (1985) Vehicle Routing. The Traveling Salesman Problem, 431-448 Lawler, E.L.,
Lenstra J.K., Rinnoy, A.H.G., Shmoys, D.B. (eds.) John Wiley.
[7] Chang, H., Jula, H., Chassiakos, A., & Ioannou, P. (2008). A heuristic solution for the empty container
substitution problem. Transportation Research Part E: Logistics and Transportation Review, 44(2), 203-
216.
[8] Choong, S.T. (2000) Container Management for Multimodal Transportation Networks. M.S. Thesis,
Department of Industrial Engineering, University of Arkansas, Fayetteville, AR.
[9] Choong, S.T., Cole, M.H., & Kutanoglu, E. (2002). Empty container management for intermodal
transportation networks. Transportation Research Part E: Logistics and Transportation Review, 38(6),
423-438.
89
[10] Coelho, V.N., Grasas, A., & Ramalhinho, H. Coelho, I.M., Souza, M.J.F., Cruz, R.C. (2016). An ILS
based algorithm to solve a large-scale real heterogenous fleet VRP with multi-trips and docking
constraints. European Journal of Operational Research, 250(2), 367-376.
[11] Crainic, T.G., Gendreau, M., & Dejax, P. (1993). Dynamic and stochastic models for the allocation of
empty containers. Operations Research, 41(1), 102-126.
[12] Dam Hanh, Le. 2003. The logistics of empty cargo container in the southern california region. Metrans
Research Project.
[13] Dantzig, G., Fulkerson, & Johnson, S. (1954). Solution of a large-scale traveling-salesman problem.
Journal of the Operations Research Society of America, 2(4), 393-410
[14] Dejax, P. J., & Crainic, T. G. (1987). Survey paper-a review of empty flows and fleet management
models in freight transportation. Transportation Science, 21(4), 227-248.
[15] Dumas, Y., Desrosiers, J., Gelinas, E., & Solomon, M. M. (1995). An optimal algorithm for the
traveling salesman problem with time windows. Operations Research, 43(2) 367-371.
[16] Erera, A.L., Morales J. C., & Savelsbergh, M. (2009). Robust optimization for empty repositioning
problems. Operations Research, 57(2), 468-483.
[17] Funke, J., & Kopfer, H. (2016). A model for multi-size inland container transportation problem.
Transportation Research Part E: Logistics and Transportation Review, 89, 70-85.
[18] Islam, S., Arthanari, T., & Olsen, T. (2010). Empty container-truck movement problem: at Ports of
Auckland. 45
th
Annual Conference of the ORSNZ.
[19] Jula, H., Chassiakos A., & Ioannou, P. (2006). Port dynamic empty container reuse. Transportation
Research Part E: Logistics and Transportation Review, 42(1), 43-60.
[20] Lam, S.W., Lee, L.H., & Tang, L.C. (2007). An approximate dynamic programming approach for the
empty container allocation problem. Transportation Research Part C: Emerging Technologies, 15(4),
265-277.
90
[21] Li, L., Wang, B., & Cook, D.P. (2014). Enhancing green supply chain initiatives via empty container
reuse. Transportation Research Part E: Logistics and Transportation Review, 70, 190-204.
[22] Mladenovic, N., & Hansen, P. (1997). Variable neighborhood search. Computers & Operations
Research, 24(11), 1097-1100.
[23] Ropke, S., & Pisinger, D. (2006). An adaptive large neighborhood search heuristic for the pickup and
delivery problem with time windows. Transportation Science, 40(4), 455-472.
[24] Shen, W.S., & Khoong, C.M. (1995). A DSS for the empty container distribution planning. Decision
Support Systems, 15(1), 75-82.
[25] Song, D.P., & Dong, J.X. (2015) Empty Container Repositioning. Handbook of Ocean Container
Transport Logistics. International Series in Operations Research & Management Science, vol 220.
Lee, C.Y., Meng, Q. (eds) Springer, Cham
[26] Sterzik, S., & Kopfer, H. (2013). A tabu search heuristic for the inland container transportation
problem. Computers & Operations Research, 40(4), 953-962.
[27] Sterzik, S., & Kopfer, H. (2015). Reducing hinterland transportation costs through container sharing.
Flexible Services and Manufacturing Journal, 27(2-3), 382-402.
[28] Tan, K.C., Chew, Y.H., & Lee, L.H. (2006). A hybrid multi-objective evolutionary algorithm for
solving truck and trailer vehicle routing problems. European Journal of Operational Research, 173(3),
855-885.
[29] The Tioga Group, (2002). Empty ocean logistics study. Technical Report, Submitted to the Gateway
Cities Council of Governments, CA, USA.
[30] U.S. Department of Transportation, Bureau of Transportation Statistics, (2017). Transportation
Statistics Annual Report 2017. Washington, DC, USA.
91
[31] Vidovic, M., Popovic, D., Ratkovic, B., & Radivojevic, G. (2017). Generalized mixed integer and
VNS heuristic approach to solving the multisize containers drayage problem. International
Transactions in Operational Research, 24, 583-614.
[32] Zhang, R., Yun, W.Y., & Moon, I. (2009). A reactive search algorithm for the multi-depot container
truck transportation problem. Transportation Research Part R: Logistics and Transportation Review,
45(6), 904-914.
[33] Port of Long Beach, (2018). Port of Long Beach Yearly Statistics. Long Beach, CA, USA.
[34] The Port of Los Angeles, (2018). Port of Los Angeles TEU Statistics. San Pedro, CA, USA.
[35] Shaw P. (1997). A new local search algorithm providing high quality solutions to vehicle routing
problems. APES Group, Glasgow, Scotland.
[36] Popovic, D., Vidovic, M., & Nikolic, M. (2014). The variable neighborhood search heuristic for the
containers drayage problem with time windows. Advances in Intelligent Systems and Computing, 223,
351-364.
[37] Clarke, G., & Wright, J. (1964). Scheduling of vehicles from a central depot to a number of delivery
points. Operations Research, 12(4), 568-581.
[38] Christofides, N. (1976). Worst-case analysis of a new heuristic for the travelling salesman problem.
Carnegie-Melon University. Pittsburgh, Pennsylvania, USA.
[39] Renaud, J., Boctor, F.F., & Laporte, G. (1996). A fast composite heuristic for the symmetric traveling
salesman problem. INFORMS Journal on Computing, 8(2), 87-191.
[40] Psaraftis, H. (1983). An exact algorithm for the single vehicle many-to-many dial-a-ride problem with
time windows. Transportation Science 17, 351-357.
[41] Savelsbergh, M.W.P., & Sol, M. (1995). The general pickup and delivery problem. Transportation
Science, 29(1), 1-105.
92
[42] Lu, Q., & Dessouky, M. (2004). An exact algorithm for the multiple vehicle pickup and delivery
problem. Transportation Science, 38(4), 503-514.
[43] Renaud, J., Boctor, F.F., & Laporte, G. (2000). Perturbation heuristics for the pickup and delivery
travelling salesman. Computer & Operations Research, 29, 1129-1141.
[44] Mahmoudi, M., & Zhou, X. (2016). Finding optimal solutions for vehicle routing problem with pickup
and delivery services with time windows: A dynamic programming approach based on state-space-time
network representations. Transportation Research Part B: Methodological, 89, 19-42.
[45] Laporte, G. (1992). The vehicle routing problem: and overview of exact and approximate algorithms.
European Journal of Operational Research, 59, 345-358.
[46] Nanry, W.P., & Barnes, J.W. (2000). Solving the pickup and delivery problem with time windows
using reactive tabu search. Transportation research Part B: Methodological, 34(2), 107-121.
[47] Battiti, R., & Tecchiolli, G. (1994). The reactive tabu search. ORSA Journal of Computing, 6, 126-
140.
[48] Jain, S., & Hentenryck, P. (2011). Large neighborhood search for dial-a-ride problems. Principles and
Practice of Constraint Programming, 6876, 400-413.
[49] Shiguemoto, A.L., & Armentano, V.A. (2009). A tabu search procedure for coordinating production,
inventory, and distribution routing problems. International Transactions in Operational Research, 17, 179-
195.
[50] Montane, F.A.T., & Galvao, R.D. (2006). A tabu search algorithm for the vehicle routing problem with
simultaneous pick-up and delivery service. Computers & Operations Research, 33(3), 595-619.
[51] Berbeglia, G., Cordeau, J.F., & Laporte, G. (2010). Dynamic pickup and delivery problems. European
Journal of Operational Research, 202(1), 8-15.
[51] Lin, S.W., Yu, V.F., & Chou, S.Y. (2009). Solving the truck and trailer routing problem based on a
simulated annealing heuristic. Computers & Operations Research, 36(5), 1683-1692.
93
[52] Mousavi, S.M., & Tavakkoli-Moghaddam, R. (2013). A hybrid simulated annealing algorithm for
location and routing problems with cross-docking in the supply chain. Journal of Manufacturing Systems,
32(2), 335-347.
[53] Wang, C., Mu, D., Zhao, F., & Sutherland, J.W. (2015). A parallel simulated annealing method for the
vehicle routing problem with simultaneous pickup-delivery and time windows. Computer & Industrial
Engineering, 83, 111-122.
[54] Hosney, M.I., & Mumford, C.L. (2010). The single vehicle pickup and delivery problem with time
windows: intelligent operators for heuristic and metaheuristic algorithms. Journal of Heuristics, 16(3), 471-
439.
[55] Jih, W., & Hsu, Y. (1999). Dynamic vehicle routing using hybrid genetic algorithms. IEEE
International Conference on Robotics and Automation, 1, 453-458.
[56] Jih, W., & Hsu, Y. (2004). A family competition genetic algorithm for the pickup and delivery
problems with time window. Bulletin of the College of Engineering, N.T.U., 90:8998.
94
10. Appendix
Table A 1. Experiment 1 transitional probabilities
State
Today’s
state
Yesterday’s
state Probability
1 1 1 0.1
2 1 1 0.45
3 1 1 0.45
1 1 2 0.05
2 1 2 0
3 1 2 0.95
1 1 3 0.05
2 1 3 0.95
3 1 3 0
1 2 1 0.7
2 2 1 0.05
3 2 1 0.25
1 2 2 0
2 2 2 0
3 2 2 1
1 2 3 0.9
2 2 3 0.01
3 2 3 0.09
1 3 1 0.7
2 3 1 0.25
3 3 1 0.05
1 3 2 0.9
2 3 2 0.09
3 3 2 0.01
1 3 3 0
2 3 3 1
3 3 3 0
95
Table A 2. Experiment 2 transitional probabilities
State
Today’s
state
Yesterday’s
state Probability
1 1 1 0.2
2 1 1 0.4
3 1 1 0.4
1 1 2 0.1
2 1 2 0
3 1 2 0.9
1 1 3 0.1
2 1 3 0.9
3 1 3 0
1 2 1 0.6
2 2 1 0.1
3 2 1 0.3
1 2 2 0
2 2 2 0
3 2 2 1
1 2 3 0.8
2 2 3 0.05
3 2 3 0.15
1 3 1 0.6
2 3 1 0.3
3 3 1 0.1
1 3 2 0.8
2 3 2 0.15
3 3 2 0.05
1 3 3 0
2 3 3 1
3 3 3 0
96
Table A 3. Experiment 3 transitional probabilities
State
Today’s
state
Yesterday’s
state Probability
1 1 1 0.3
2 1 1 0.35
3 1 1 0.35
1 1 2 0.2
2 1 2 0
3 1 2 0.8
1 1 3 0.2
2 1 3 0.8
3 1 3 0
1 2 1 0.5
2 2 1 0.15
3 2 1 0.35
1 2 2 0
2 2 2 0
3 2 2 1
1 2 3 0.7
2 2 3 0.1
3 2 3 0.2
1 3 1 0.5
2 3 1 0.35
3 3 1 0.15
1 3 2 0.7
2 3 2 0.2
3 3 2 0.1
1 3 3 0
2 3 3 1
3 3 3 0
97
Table A 4. Sub-experiment 1 demands
Location Scenario 1 Scenario 2 Scenario 3
Importer 1 (59,63) (63,67) (28,32)
Importer 2 (69,73) (73,77) (43,47)
Importer 3 (46,50) (78,82) (38,42)
Importer 4 (63,67) (68,72) (41,45)
Importer 5 (52,56) (83,87) (43,47)
Importer 6 (49,53) (62,66) (38,42)
Importer 7 (62,66) (81,85) (33,37)
Exporter 1 (48,52) (53,57) (83,87)
Exporter 2 (58,62) (48,52) (78,82)
Exporter 3 (38,42) (43,47) (93,97)
Exporter 4 (53,57) (41,45) (73,75)
Exporter 5 (43,57) (58,62) (86,90)
Port (400,425) (365,385) (468,493)
Table A 5. Sub-experiment 2 demands
Location Scenario 1 Scenario 2 Scenario 3
Importer 1 (56,66) (60,70) (25,35)
Importer 2 (66,76) (70,80) (40,50)
Importer 3 (46,50) (75,85) (35,45)
Importer 4 (60,70) (65,75) (38,48)
Importer 5 (50,58) (80,90) (42,48)
Importer 6 (48,55) (58,70) (38,43)
Importer 7 (58,70) (78,88) (30,40)
Exporter 1 (45,55) (50,60) (80,90)
Exporter 2 (55,65) (45,55) (75,85)
Exporter 3 (35,45) (40,50) (85,95)
Exporter 4 (50,60) (38,48) (70,80)
Exporter 5 (40,50) (55,65) (83,93)
Port (375,450) (350,400) (443,518)
98
Table A 6. Sub-experiment 3 demands
Location Scenario 1 Scenario 2 Scenario 3
Importer 1 (54,68) (58,72) (23,37)
Importer 2 (64,78) (68,82) (38,52)
Importer 3 (44,52) (73,87) (33,47)
Importer 4 (58,72) (63,77) (36,50)
Importer 5 (48,60) (78,92) (40,50)
Importer 6 (46,57) (56,72) (36,45)
Importer 7 (56,72) (76,90) (28,42)
Exporter 1 (43,57) (48,62) (78,92)
Exporter 2 (53,67) (43,57) (73,87)
Exporter 3 (33,47) (38,52) (83,97)
Exporter 4 (48,62) (36,50) (68,82)
Exporter 5 (38,52) (53,63) (81,95)
Port (370,455) (345,405) (438,523)
Table A 7. Sub-experiment 4 demands
Location Scenario 1 Scenario 2 Scenario 3
Importer 1 (51,71) (55,75) (20,40)
Importer 2 (61,81) (65,85) (35,55)
Importer 3 (41,55) (70,90) (30,50)
Importer 4 (55,75) (60,80) (33,53)
Importer 5 (45,63) (75,95) (37,53)
Importer 6 (43,60) (53,75) (33,48)
Importer 7 (53,75) (73,93) (25,45)
Exporter 1 (40,60) (45,65) (75,95)
Exporter 2 (50,70) (40,60) (70,90)
Exporter 3 (30,50) (35,55) (80,100)
Exporter 4 (45,65) (33,53) (65,85)
Exporter 5 (35,55) (50,70) (78,98)
Port (350,475) (325,425) (418,543)
99
Table A 8. Sub-experiment 5 demands
Location Scenario 1 Scenario 2 Scenario 3
Importer 1 (49,73) (53,77) (18,42)
Importer 2 (59,83) (63,87) (33,57)
Importer 3 (39,57) (68,92) (28,52)
Importer 4 (53,77) (58,82) (31,55)
Importer 5 (43,65) (73,97) (35,55)
Importer 6 (41,62) (51,77) (31,50)
Importer 7 (51,77) (71,95) (23,47)
Exporter 1 (38,62) (43,67) (73,97)
Exporter 2 (48,72) (38,62) (68,92)
Exporter 3 (28,52) (33,57) (78,102)
Exporter 4 (43,67) (31,55) (63,87)
Exporter 5 (33,57) (48,72) (76,100)
Port (345,480) (320,430) (413,548)
Abstract (if available)
Abstract
This thesis proposes a mathematical model for the empty container problem using double container trucks. The model yields both container and truck movements such that total truck miles are reduced while satisfying today’s demands. Furthermore, this thesis introduces a methodology to solve the model for real sized problems. The solution is shown to reduce congestion since less truck trips are needed to satisfy demand. Additionally, the solution is further improved when future stochastic demands are incorporated into the model. The model is then tested using data from the Ports of Los Angeles and Long Beach, and randomized sets. Concluding that the container movement process can be improved by using smart empty container repositioning, leading to less congestion and making the process greener.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Models and algorithms for the freight movement problem in drayage operations
PDF
New approaches for routing courier delivery services
PDF
An online cost allocation model for horizontal supply chains
PDF
Congestion reduction via private cooperation of new mobility services
PDF
Integrated control of traffic flow
PDF
Computational geometric partitioning for vehicle routing
PDF
Cost-sharing mechanism design for freight consolidation
PDF
Integration of truck scheduling and routing with parking availability
PDF
Routing problems for fuel efficient vehicles
PDF
The robust vehicle routing problem
PDF
Asymptotic analysis of the generalized traveling salesman problem and its application
PDF
Dynamic programming-based algorithms and heuristics for routing problems
PDF
Continuous approximation formulas for cumulative routing optimization problems
PDF
Strategies for effective rail track capacity use
PDF
The warehouse traveling salesman problem and its application
PDF
Optimum multimodal routing under normal condition and disruptions
PDF
Train routing and timetabling algorithms for general networks
PDF
Train scheduling and routing under dynamic headway control
PDF
Novel queueing frameworks for performance analysis of urban traffic systems
PDF
Supply chain consolidation and cooperation in the agriculture industry
Asset Metadata
Creator
Carvajal Minvielle, Santiago
(author)
Core Title
Solving the empty container problem using double-container trucks to reduce vehicle miles
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Industrial and Systems Engineering
Publication Date
07/30/2019
Defense Date
05/06/2019
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
container trucks,OAI-PMH Harvest,operations research,transportation,TSP
Format
application/pdf
(imt)
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Dessouky, Maged (
committee chair
), Carlsson, John (
committee member
), Ioannou, Petros (
committee member
)
Creator Email
scarvaja@usc.edu
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c89-201346
Unique identifier
UC11662657
Identifier
etd-CarvajalMi-7694.pdf (filename),usctheses-c89-201346 (legacy record id)
Legacy Identifier
etd-CarvajalMi-7694.pdf
Dmrecord
201346
Document Type
Dissertation
Format
application/pdf (imt)
Rights
Carvajal Minvielle, Santiago
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the a...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Tags
container trucks
operations research
transportation
TSP