+1443 776-2705 panelessays@gmail.com
Select Page

Submit the updated draft of your proposed mathematical model in the algebraic formulation according to your referenced articles and guidance discussed. Include:

-the problem statement as you understand it,

– definitions of your decision variables

-specify ALL other notations for parameters and sets you use,

-present the algebraic formulation, and

– summarize the meaning behind every mathematical expression (for the objective function and ALL constraints

Assumptions

Before model building, some assumptions should be made to simplify the case, because
real-world delivery problems consist of too many unmeasurable factors that can affect the
delivery process and final outcomes. Here are the main assumptions:

1. The delivery process is deterministic; i.e., no random effects will appear on
delivery time and cost etc.

2. Goods can be transported in normal containers, no special containers
(refrigerated, thermostatic etc.) will be needed.

3. The containers are the only constraints on the goods’ volume, and all goods are
divisible in terms of volume. (No bin packing problems needed to be considered.)

4. The model only evaluates the major carriage routes. The first and last mile between
end user and origin/destination shipping point are not considered. (From
warehouse to warehouse.)

5. There is only one transportation tool available between each two ports. For
instance, we can only directly go from one airport to the other airport in different
cities by flight, while direct journey by ship or railway or truck is infeasible.

6. Overall cost is restricted to the most important 3 parts: transportation cost,
warehouse cost, and goods tariff.

7. The minimum unit for time is day in the model, and there is at most one transit
in a route in one day.

Dimension & Matrixing

In order to make the criteria logic clearer and the calculation more efficient, we use the
concept of matrixing to build the necessary components in the model. In our case, we
assumed there are 4 dimensions.

1. Start Port: i
Indicating the start port of a direct transport route. The dimension length
equals the total number of ports in the data.

2. End Port: j
Indicating the end port of a direct transport route. The dimension length
equals the total number of ports in the data.

3. Time: t
Indicating the departure time of a direct transport. The dimension length

equals the total number of days between the earliest order date and the latest
delivery deadline date of all goods in the data.

4. Goods: k
Indicating the goods to be transported. The dimension length equals the total
number of goods in the data.

All the variables or parameter matrices to be introduced in the later parts will have one
or more of these 4 dimensions.

Decision Variables

We will use the concept of variable matrix, a list of variables deployed in the form of a
matrix or multi-dimensional array. In our model, 3 variable matrices will be introduced:

1. Decision Variable Matrix: X
The most important variable matrix in the model. It’s a 4 dimensional matrix, each
dimension representing start port, end port, time and goods respectively. Each
element in the matrix is a binary variable, representing whether a route is taken by a
specific goods. For example, element Xi,j,t,k represents whether goods k travels from
port i to port j at time t.

varList1 = model.binary_var_list(portDim * portDim * timeDim * goodsDim,name =
‘x’) x = np.array(varList1).reshape(portDim, portDim, timeDim, goodsDim)

2. Container Number Matrix: Y
A variable matrix used to support the decision variable matrix. It’s a 3-dimensional
matrix, with each dimension representing start port, end port and time respectively.
Each element in the matrix is an integer variable, representing the number of
containers needed in a specific route. For example, Yi,j,t represents the number of
containers needed to load all the goods travelling simultaneously from port i to port
j at time t. Such matrix is introduced to make up for the limitation of “linear operator
only” in mathematical programming, when we need a roundup() method in direct
calculation of the container number.

varList2 = model.integer_var_list(portDim * portDim * timeDim,name = ‘y’) y =
np.array(varList2).reshape(portDim, portDim, timeDim)

3. Route Usage Matrix: Z
A variable matrix used to support the decision variable matrix. It’s a 3-dimensional
matrix, with each dimension representing start port, end port, and time respectively.
Each element in the matrix is a binary variable, representing whether a route is used
or not. For instance, Zi,j,t represents whether the route from port i to port j at time t

is used or not (no matter which goods). It’s introduced with similar purpose to Yi,j,t .

varList3 = model.binary_var_list(portDim * portDim * timeDim,name = ‘z’) z =
np.array(varList3).reshape(portDim, portDim, timeDim)

Parameters

Similar to the decision variables, the following parameter arrays or matrices are
introduced for the sake of later model building:

1. Per Container Cost: C
A 3-dimensional parameter matrix, each dimension representing start port, end port
and time. Ci,j,t in the matrix represents the overall transportation cost per container
from port i to port j at time t. This overall cost includes handling cost, bunker/fuel
cost, documentation cost, equipment cost and extra cost. For infeasible route, the
cost element will be set to be big M (an extremely large number), making the choice
infeasible.

2. Route Fixed Cost: FC
A 3-dimensional parameter matrix, each dimension representing start port, end
port and time. FCi,j,t in the matrix represents the fixed transportation cost to travel
from port i to port j at time t, regardless of goods number or volume. For
infeasible route, the cost element will be set to be big M as well.

3. Warehouse Cost: wh
A one-dimension array with dimension start port. whi represents the warehouse
cost per cubic meter per day at port i. Warehouse cost for ports with no
warehouse function (like airport, railway station etc.) is set to be big M.

4. Transportation Time: T
A 3-dimensional parameter matrix, each dimension representing start port, end port
and time. Ti,j,t in the matrix represents the overall transportation time from port i to
port j at time t. This overall time includes custom clearance time, handling time,
transit time and extra time. For infeasible route, the time element will be set to be
big M.

5. Tax Percentage: tax
A one-dimension array with dimension goods. taxk represents the tax percentage for
goods k imposed by its destination country. If the goods only go through a domestic
transit, the tax percentage for such goods will be set as 0.

6. Transit Duty: td

A two-dimensional matrix, each dimension representing start port and end port. tdi,j
represents the transit duty (tax imposed on goods passing through a country)
percentage for goods to go from port i to port j. If port i and port j belong to the
same country, transit duty percentage is set to be 0. For simplicity purposes, transit
duty is set to be equal among all goods (can be extended easily)

7. Container Volume: ctnV
A two-dimensional matrix, each dimension representing start port and end port.
ctnVi,j represents the volume of container in the route from port i to port j.

8. Goods Volume: V
A one-dimension array with dimension goods. Vk represents the volume of
goods k.

9. Goods Value: val
A one-dimension array with dimension goods. valk represents the value of
goods k.

10. Order Date: ord
A one-dimension array with dimension goods. ordk represents the order date of
goods k.

A one-dimension array with dimension goods. ddlk represents the deadline
delivery date of goods k.

12. Origin Port: OP
A one-dimension array with dimension goods. OPk represents the port
where goods k starts from.

13. Destination Port: DP
A one-dimension array with dimension goods. DPk represents the port
where goods k ends up to be in.

Mathematical Modelling

With all the variables and parameters defined above, we can build up the objectives and
constraints to form an integer programming model.

Objective

The objective of the model is to minimize the overall cost, which includes 3 parts:
transportation cost, warehouse cost, and tax cost. Firstly, the transportation cost includes
container cost and route fixed cost. Container cost equals the number of containers used in
each route times per container cost while route fixed cost equals the sum of fixed cost of all
used routes. Secondly, the warehouse cost equals all goods’ sum of volume times days of
storage times warehouse fee per cubic meter per day in each warehouse. Finally, the tax
cost equals the sum of import tariff and transit duty of all goods. Mathematic formulation is
attached below.

Constraints

1. For each goods k, it must be shipped out from its origin to another node and shipped
to its destination.

2. For each goods k, it couldn’t be shipped out from its destination or shipped to its
origin.

3. For each goods k at transition point j (neither origin nor destination), ship-in times
must equal ship-out times.

4. Each goods k can only be transitioned in or out of a port for at most once.

5. For each goods k at transition port j, ship-out time should be after ship-in time. For
goods k at its origin port, ship-out time should be after order date. (Or stay time
greater than order date, because ship-in time is none)

6. At each route at time t, the total volume of containers should be larger than the
total volume of goods.

7. Check whether a route is used at time t. Because Zi,j,t is binary variable, if a route is
used, sum of Xi,j,t,k for all goods k at i,j,t must be greater than 0. We can scale it
back to [0,1] by multiplying a small number.

8. For each goods k, it should be shipped to its destination port before the