Professional Documents
Culture Documents
Scheduling Offshore Cargo Handling With Operational Dynamics Including Cost Composites, Downtime Periods, and Cargo Attributes
Scheduling Offshore Cargo Handling With Operational Dynamics Including Cost Composites, Downtime Periods, and Cargo Attributes
net/publication/366823353
CITATIONS READS
0 173
3 authors, including:
SEE PROFILE
All content following this page was uploaded by Seyyed Amir Babak Rasmi on 03 January 2023.
Abstract
An efficient cargo logistics service for vessels anchored offshore becomes impera-
tive to meet the increasing demand of transporting dry bulk cargoes and overcome
insufficient infrastructural resources of ports. Offshore cargo handling service pro-
viders propose a fleet of offshore floating terminals (OFTs) performing the cargo
handling service directly nearby anchorages at sea. This approach reduces the time
and the usage of resources compared with relying on ports. In this paper, we develop
a scheduling mathematical model for the fleet of OFTs to improve the operating
efficiency in serving cargo vessels and their barges. This study proposes the model
with various objective functions that can be used for a service provider depending
on its goals and customer satisfaction policies. This study introduces real-world
considerations inspired by an offshore service provider in Singapore and addresses
complicated combinations of practical requirement owing to cargo/vessel/operation
attributes, maintenance periods, and operating cost components in development of
an optimization model via mixed-integer linear programming. An efficient genetic
algorithm is also developed to solve the model with finding near-optimal effective
solutions. Through examining a large set of real data provided by the service pro-
vider, the proposed genetic algorithm shows a high effectiveness in terms of solution
quality and computational time.
Keywords Offshore cargo logistics · Offshore floating terminals · Dry bulk cargo ·
Scheduling · Mixed-integer linear programming · Genetic algorithm
13
Vol.:(0123456789)
B. K. Lee et al.
1 Introduction
Maritime transport is the most cost-effective transportation mode for a wide range
of products and raw materials. International Maritime Organization states that this
mode of transport is used for 90% of the world’s trade. On the other hand, the num-
ber of arrivals of ocean going vessels (OGVs) and consequently the amount of dry
bulk commodities (e.g., coal, grain, sugar, and sand) carried by them for interna-
tional transportation have both grown continuously over the years. In accordance
with recent series (2007–2019) of annual statistics of Maritime and Port Author-
ity of Singapore and United Nations Conference on Trade and Development (MPA
2021; UNCTD 2021), the demand for handling capacity in dry bulk cargo industry
has been steadily increased over years from 5.1 billion metric tons in 2007 to 7.9 in
2019. Since the growth has been gradually increasing, the necessary handling capac-
ity is also required to meet the demand. It turns out that there is a significant oppor-
tunity for cost reduction and efficiency improvement in dry cargo logistics indus-
try. One of these potentials exists in scheduling offshore cargo handling services for
OGVs.
Large OGVs for international cargo transportation often face difficulties berth-
ing at a port because of various constraints in allowable space and setup-time
for operations and handling resources at the port. A solution to overcome some
emerging challenges is to fully or partially load/unload cargoes onto/from the
OGVs at deep-sea areas by specialized cargo handling facilities. Figure 1 shows
the offshore floating terminals (OFTs) providing the handling service transfer-
ring cargoes between an OGV and a number of barges at an offshore logistics
service provider in Singapore. The offshore logistics company is referred to as
“The Service Provider” for short in the rest of the paper. The OFT handling ser-
vice allows OGVs to bypass the infrastructure challenges associated with ports
and provides an alternative option for the congested ports. A port facing high
Fig. 1 Cargo handling service for an OGV provided by an OFT (Rocktree 2020)
13
Scheduling offshore cargo handling with operational dynamics…
13
B. K. Lee et al.
2 Literature review
Vast studies have been conducted in the area of ship routing and scheduling. Accord-
ing to published survey studies (Ronen 1983, 1993; Christiansen et al. 2004, 2013),
our study is categorized into the group of scheduling industrial and tramp shipping
with heterogeneous fleet for dry bulk cargoes. The main characteristics of this prob-
lem are as follows: (1) the points that must receive service are not ports but OGVs
13
Scheduling offshore cargo handling with operational dynamics…
on offshore, (2) the handling service for an OGV can be commenced when a certain
barge line-up is ready, and (3) real-world constraints due to OGVs’ types and prefer-
ences, cost calculation, and maintenance activities must be met.
In terms of offshore logistics problems, scheduling supply vessels has attracted
a large number of researchers’ attention. Supply vessels deliver supplies and fuels
from ports to offshore installations or ships anchored at nearshore areas (Halvorsen-
Weare et al. 2012; Norlund and Gribkovskaia 2015; Astoures et al. 2016; Christian-
sen et al. 2017). The previous studies are not limited to scheduling for improving
efficiency and the fleet composition; uncertain conditions caused by the weather
have been also considered in the supply vessel scheduling problems (e.g., see Kisial-
iou et al. 2018b). Another problem in offshore logistics is to schedule oil tankers
transportation between onshore terminals and offshore floating platforms (Hennig
et al. 2012; Camponogara and Plucenio 2014; de Assis and Camponogara 2016).
Those studies mainly consider the quantity requirement for depots and tankers simi-
lar to maritime inventory routing problems (Song and Furman 2013; Zhang et al.
2018). Moreover, there are a large number of studies that apply meta-heuristics in
the concept of multi-objective logistics problems such as Hoseinpour et al. (2021)
and Hoseinpour et al. (2020). In this paper, we propose a problem that assigns the
heterogeneous OFT fleet to the OGVs matched with barge-subsets. The OFTs’ avail-
abilities are subject to the maintenance activities, and specific cost components for
tardiness and earliness are considered to make the cost objective function enriched
and more practical.
Regarding offshore container handling operations, Kim and Morrison (2012)
classify offshore service structures and their operational characteristics and identify
the operational requirements of mobile harbors (i.e., offshore floating platforms for
container handling). Baird and Rother (2013) propose a conceptual technical design
and functional capacity of a new offshore container transshipment terminal that
transfers containers from a vessel to barges with its own cranes. In that study, an
economic analysis of the offshore terminal is also provided in terms of operating
expenses and the revenue generated over the years.
Kisialiou et al. (2018a) propose a periodic supply vessel routing schedule in
weekly basis for offshore installations and heterogeneous supply vessels by intro-
ducing a discrete set of available departure time options for starting voyages. Their
optimization model is formulated to minimize the fleet size and sailing cost, and
an adaptive large neighborhood search heuristic is developed to solve large scale
problems. That study is also extended by Kisialiou et al. (2018b) and Kisialiou et al.
(2019) to include weather conditions and demand uncertainty, respectively. Amiri
et al. (2019) develop a non-linear model for offshore gas and oil industry that rep-
resents a two-echelon supplying system. There are also papers that address more
than one objective function at the same time; e.g., Borthen et al. (2019) build
weekly schedules for supply vessels to visit offshore installations while two objec-
tive functions are taken into account: minimizing the total sailing cost and minimiz-
ing deviation from the baseline schedule in terms of departure days at each offshore
installation.
Mardaneh et al. (2017) treat offshore cargo scheduling as a vehicle routing
problem with time windows and operational constraints. Cuesta et al. (2017) use a
13
B. K. Lee et al.
modeling approach similar to the capacitated vehicle routing problem when multiple
vehicles exist. They consider offshore platforms playing roles like customers where
both pickup and delivery services need to be performed at each platform. Chris-
tiansen et al. (2017) and Halvorsen-Weare et al. (2012) propose a vehicle routing
problem with specific considerations derived from the nature of the problem in sea
traveling. Those works have discrete time periods for planning floating platforms
whereas the present study applies a continuous time-based structure to build an opti-
mization model. Moreover, a set of high-fidelity assignment requirements such as
loading/unloading, dedication service, geared/gearless, casting-off/anchoring, and
maintenance with cargo split, and a set of cost components such as traveling cost,
handling cost, demurrage cost and despatch profit, and a set of real-world specifica-
tions on OFTs such as speeds and cargo handling rates, are applied to define param-
eters, build a model, and solve the proposed mathematical model using a heuristic
approach. There are also various objective functions that can be taken into account
based on a company’s policies, and we address three of them (e.g., minimizing the
total operational cost, minimizing the total demurrage and despatch, and minimiz-
ing the earliest completion time) and compare the scheduling outcomes with one
another throughout the numerical experiment.
This section transforms the problem into a mathematical model and provides a
mixed-integer programming model that can be linearized subsequently. A set of
parameters and decision variables are defined to formulate the model, and the opera-
tional features are thereafter constructed as objectives and constraints.
3.1 Problem description
When shippers nominate their OGVs, they request barge operators to line up a num-
ber of barges for each OGV before performing cargo handling service by The Ser-
vice Provider. This lets the shippers enhance the turnover rate of their OGVs. Since
the number of barges of an OGV varies and the barge operators might not be always
able to prepare the entire barges for an OGV as a whole, shippers request a subset
of barges to be ready. The number of barges in a subset depends on the shipper’s
request, such as the minimum number of barges or the minimum barge capacity as
shown in Fig. 3.
Forming barge-subsets is not under the control of The Service Provider due to
the lack of any communication channel from/to barge operators. Figure 3a, b illus-
trate how forming barge-subsets is done for OGVs 01 and 02 based on the minimum
number of barges, requested from their shippers, to commence handing operations.
The shipper of OGV 01 instructs four barges to the first subset, and subsequently
requires three barges to a subset for the number of barges (Fig. 3a). The shipper
of OGV 02 instructs four barges after the first subset, but only three barges are left
after forming the second subset (Fig. 3b). The shipper of OGV 03 instructs to apply
13
Scheduling offshore cargo handling with operational dynamics…
Fig. 3 Constructing barge-subsets for OGVs based on a, b the minimum number of barges equal to three
and c the minimum barge capacity equal to 20,000 tons
the minimum cargo quantity to construct barge-subsets. In this example, the shipper
instructs 20,000 tons, and hence, the three barge-subsets are constructed as a result
(Fig. 3c). The subsequent barge-subsets are formed in the same logic.
In some cases of forming barge-subsets, multiple barge-subsets can be aggregated
into one based on their readiness times. This aggregation might reduce the number
of barge-subsets for an OGV, and hence, reduce traveling effort for OFTs which are
supposed to approach various barge-subsets.
The configured barge-subsets after aggregation are the scheduling units matched
with OGVs that are supposed to assign to OFTs. The ready time of a barge-subset
becomes the latest readiness time among the barges. Note that a job can be com-
menced when both OGV and its corresponding barge-subset are ready. Upon the
readiness of both OGV and barge-subset, a correct type of OFT is required to travel
to the right location for commencing the service. Note that some OFTs are dedicated
to serve specific shippers’ OGVs and the OGVs requesting unloading service; thus,
this restriction must be met. Moreover, The Service Provider may request OFTs
from 3PL companies at certain costs to avoid being penalized due to the lack of suf-
ficient number of OFTs (OFTs from the 3PLs can also be used for improving The
Service Provider’s service capacity by an additional service rate). Each OFT needs
to anchorage before starting a job and cast-off after that. Then, it goes to the next
pair of OGV and barge-subset to complete the next job. While serving an OGV,
a predetermined downtime period may exist for maintenance that causes a longer
duration for the corresponding job.
One of the objective functions which decision makers are interested in is to mini-
mize the total cost. In real-world problems, we need to deal with OGVs with specific
features and particular considerations while calculating monetary factors related
to the OGVs. For example, sometimes a service takes longer than expected due to
the overlap times of its duration with maintenance periods. A delay caused by over-
lap times may result in penalties (referred to as demurrage cost) for The Service
13
B. K. Lee et al.
Provider if its occurrence time is not during the holidays. On the other hand, com-
pleting a service earlier than its expected time provides benefits for The Service Pro-
vider (referred to as despatch cost which is assumed to be a negative cost for the
sake of consistency). When an OGV arrives later than its laycan period for service,
which is referred to as an out-of-laycan OGV, the calculation of demurrage cost (due
to delay) or computing early despatch profit is different. These policies are essential
for calculating penalties/profits based on a service provider’s relationship with cus-
tomers and may vary due to different strategies. In Fig. 4, we discuss about one of
these cost calculation methods applied by The Service Provider—and a large num-
ber of service providers in offshore cargo handling. In Sect. 3.2, we present a math-
ematical model and show how including these assumptions into the model increases
its complexity.
In Fig. 4, the pair of an OGV and a barge-subset are ready at t0. The OGV
requests a service with duration R that leads to completing the service by t5. Let the
assigned OFT commence the service at t1 which is planned to end at t3 after S time
units (note that S is considered based on the speed/service rate of the OFT used by
The Service Provider); however, this is impossible because of the downtime period
from t2 to t4. Therefore, the service ends at t6. I.e., O time units after t4 where O
denotes the overlap time.
In terms of cost calculation, if the OGV is not out-of-laycan (non-out-of-laycan),
tardiness/earliness will be considered by comparison with the requested duration (R
or t5 − t0) plus the readiness time (t0). For example, assume that overlap has not
occurred during holiday, then, t6 − (t0 + R) (i.e., t6 − t5) is a positive delay which
must be penalized. On the other hand, if the overlap has occurred during holiday,
O is deducted, and hence, t6 − O − (t0 + R) is a negative tardiness that increases
the total profit (indeed, an earliness that causes a despatch profit). When the OGV
is out-of-laycan, these costs are to be calculated with respect to R only. In other
words, despatch/demurrage is identified based on the requested handling duration
and actual handling duration regardless of the start time. In this regard, if the overlap
has not occurred during holiday, t6 − t1 − R > 0 denotes tardiness (if t6 − t1 − R < 0,
it shows earliness). On the other hand, an overlap during holiday changes the cal-
culation to t6 − t1 − O − R. Earliness and tardiness in the next subsection will be
denoted by ZiE and ZiL , respectively.
Maintenance Maintenance
OGV and starts at ends at
barge-subset
are ready at
Maintenance
O O
S me
Fig. 4 Illustration of demurrage/despatch cost/profit for different types of OFT with downtime period
13
Scheduling offshore cargo handling with operational dynamics…
There is another group of OGVs where tardiness/earliness does not cause a pen-
alty/profit for The Service Provider. Those OGVs have zero-demurrage and zero-
despatch by contract. In some cases, multiple barge-subsets are required to load an
OGV’s cargo. According to these cases, there is a strong preference to complete the
operation with the same OFT to avoid interrupted switching time—denoted by tI in
Table 1 (the interruption time between two OFTs consecutively serving the same
OGV). Therefore, as an example, if an OGV is matched with two barge-subsets for
receiving service, and two different OFTs are assigned to do loading operations, then
the interrupted switching time applies to the time difference between the ending time
of the first OFT’s service and the start time of the second OFT. Another assumption
needs to be taken into account regarding an OFT’s start time with respect to the
maintenance time; since downtime periods are scheduled in advance, an OFT does
not start a service that cannot be completed before the next maintenance operation,
and that maintenance is reached in less than a certain amount of time (this minimum
amount of time required before a maintenance activity is denoted by Δ in Table 1).
To clarify this, if t2 − t1 < Δ in Fig. 4 or mskn − si < Δ in Fig. 5, the service would
have not started.
3.2 Mathematical model
relating to R. Moreover, if that maintenance is the nth downtime period for OFT k,
Oikn represents O.
In order to clarify the functionality of variables Uikn, Uikn , Uikn , Aikn, and Lik , we
p w r
in Fig. 4, UiknIII
= 0 whereas it is equal to 1 in Fig. 5. Decision variables Uikn I
, U II ,
p ikn
and Uikn will be used in [OCH], constraints (5e) and (5f), to build variables Uikn and
III
. Uikn = 1 when there is a partial intersection between the nth downtime period
w p
Uikn
and time period [Si , Si + pik ] (e.g, Fig. 4). Uikn
w
= 1 when the nth downtime period is
fully in time period [Si , Si + pik ] (e.g, Fig. 5). In addition, Uikn and Uikn will be used in
p w
constraints (5a) to capture overlap times. Another variable that is used in [OCH] is
Lik . This variable takes the maximum value of Si + pik and Uikn mEkn (it is formulated
p
13
B. K. Lee et al.
Sets
G Set of barge-subsets; this set is a disjoint union of two subsets: Gg and Gng that denote the
sets of barge-subsets with geared and gearless OGVs, respectively (indices: i, j, and h)
0 and T They virtually define the origin and the destination depots, respectively (the base for the
OFTs)
Gout Set of barge-subsets belonging to the out-of-laycan OGVs
Gzero Set of barge-subsets belonging to the zero-demurrage OGVs
V Set of OGVs (index: v). In serving each OGV, one or multiple barge-subsets are required
Vi The OGV that receives service from barge-subset i
K Set of all OFTs that is a disjoint union of two subsets: K g and K ng that denote the set of
OFTs allowing geared (i.e., gear-allowable OFTs) and gearless OGVs (i.e., gear-unallowa-
ble OFTs), respectively (indices: k, k1, and k2)
nk Set of maintenance periods starting from 1 for OFT k, and let n0k denote set nk ∪ {0}.
K3 Set for third-party OFTs. Note that K 3 ⊂ K g
Gded
k
Set of barge-subsets belonging to OGVs requesting a dedicated handling service from OFT
k. OGVs with unloading request or barge-type OGVs are also receiving service from
dedicated OFTs and will be in one of Gded
k
sets, k ∈ K.
Parameters
cTijk Traveling cost of OFT k to serve barge-subset j immediately after i
cHjk
Cargo handling (loading and unloading) cost of OFT k for barge-subset j.
c3jk Rental cost of third-party OFT k for barge-subset j.
cLi Coefficient for the demurrage cost (i.e., demurrage cost per one time unit of tardiness). This
is zero if i ∈ Gzero.
cEi Coefficient for the despatch profit (i.e., despatch profit per one time unit of earliness). This
is zero if i ∈ Gzero.
IH (n) 1 if the nth breaktime of OFT k is during holiday (n ∈ nk ). Otherwise, 0.
ri Readiness time of barge-subset i.
yv Readiness time of OGV v.
fk Readiness time of OFT k.
tik0 The time of dispatching OFT k to barge-subset i when the barge-subset is the first job of the
OFT.
pik Actual service time (time duration for loading/unloading operations) of OFT k for barge-
subset i (different OFTs have different handling service rates for loading and unloading
operation).
pi
req
Requested service time by the OGV matched with barge-subset i.
tI Interrupted switching time required to attach another OFT to an OGV to load cargoes onto
the remaining barge-subsets after detaching a previous OFT from the OGV (it can be a
user-defined parameter in different companies).
tc Cast-off time (e.g., 2 h) after completing service for a barge-subset.
tijc Is equal to tc when barge-subsets i and j belong to different OGVs (Vi ≠ Vj ). Otherwise, it is
equal to 0
ta Anchorage time (e.g., 2 h) before starting service to a barge-subset.
tija Is equal to ta when barge-subsets i and j belong to different OGVs (Vi ≠ Vj ). Otherwise, it
is equal to 0
tijk Traveling time of OFT k from barge-subset i to j.
mSkn Starting time of the nth maintenance of OFT k.
13
Scheduling offshore cargo handling with operational dynamics…
Table 1 (continued)
Xijk A binary variable that takes the value of 1 if and only if OFT k serves barge-subset i and then
barge-subset j (s.t. i ∈ G ∪ {0}, j ∈ G ∪ {T}, and i ≠ j ). If X0Tk = 1, then OFT k is not activated
Yik An auxiliary binary variable that is equal to 1 if and only if OFT k serves barge-subset i (s.t. i ∈ G
and k ∈ K)
Si Service start time of barge-subset i (s.t. i ∈ G)
Ei Service end time of barge-subset i (s.t. i ∈ G)
Lik An auxiliary non-negative variable to calculate Ei s (s.t. i ∈ G and k ∈ K)
ZiL An auxiliary variable to show the amount of delay for calculating the demurrage cost for barge-
subset i (s.t. i ∈ G)
ZiE An auxiliary variable to show the amount of earliness in calculation of despatch profit for barge-
subset i (s.t. i ∈ G)
TM Makespan: duration of time to complete serving all jobs
Oikn Overlap time between the nth maintenance activity and service time for serving barge-subset i with
OFT k (s.t. i ∈ G , k ∈ K , and n ∈ nk)
Uikn A binary variable indicating that OFT k starts to work on barge-subset i before nth maintenance
p
start time and is expected to finish its service at a time between mSkn and mEkn. Otherwise, it
becomes 0 (s.t. i ∈ G , k ∈ K , and n ∈ nk)
w
Uikn A binary variable indicating that OFT k starts to work on barge-subset i before nth maintenance
start time and is expected to finish its service at a time after mEkn. Otherwise, it becomes 0 (s.t.
i ∈ G , k ∈ K , and n ∈ nk)
An auxiliary binary decision variable to define Uikn/Uikn (s.t. i ∈ G , k ∈ K , n ∈ nk , and r ∈ {i, ii, iii})
r p w
Uikn
Aikn A binary variable that takes the value of 1 when service start time of barge-subset i by OFT k is
between nth and (n + 1)th maintenance activities (s.t. i ∈ G , k ∈ K , and n ∈ n0k if 𝚗k > 0)
Fig. 5 An illustrative example for some of (auxiliary) decision variables in Table 2
13
B. K. Lee et al.
The model [OCH] can be formulated with different objective functions based on
The Service Provider’s goals and its customers’ concerns. We present them in the
following formulations.
∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑
min cTijk Xijk + cH Y +
ik ik
c3jk Xijk + (cLi ZiL − cEi ZiE )
k∈K−K 3 i∈G∪{0} j∈G∪{T} k∈K−K 3 i∈G k∈K 3 i∈G∪{0} j∈G∪{T} i∈G
(1a)
∑
min (cLi ZiL − cEi ZiE ) (1b)
i∈G
min TM , (1c)
where (1a) is the total cost ( zcost ). The total cost is supposed to be minimized and
includes traveling cost, handling costs corresponding to the usage of OFTs, the fixed
expenses associated with the OFTs from the 3PLs, and demurrage cost/despatch
profit. In (1b), minimizing the demurrage cost is the goal (denoted by zdmrg). The
last objective function given in (1c) is minimization of the makespan ( zmakespan) that
is highly demanded by a large number of companies in this sector. If minimizing
(1c) is of interest, the following set of constraints must be added to build the feasible
region to ensure that the makespan (TM ) takes the maximum value of all service end
times.
Ei ≤ TM , ∀i ∈ G. (2)
The following constraints are applied to assign pairs of OGVs and barge-subsets to
various OFTs.
∑
Xijk = Yik , ∀i ∈ G, k ∈ K,
(3a)
j∈G∪{T}�{i}
∑
Yik = 1, ∀i ∈ G, (3b)
k∈K
∑
X0jk = 1, ∀k ∈ K,
(3c)
j∈G∪{T}
∑
XiTk = 1, ∀k ∈ K,
(3d)
i∈G∪{0}
∑ ∑
Xihk − Xhjk = 0, ∀h ∈ G, k ∈ K,
(3e)
i∈G∪{0}�{h} j∈G∪{T}�{h}
Yik = 0, ∀i ∈ Gg , k ∈ K ng , (3f)
13
Scheduling offshore cargo handling with operational dynamics…
Yik = 1, ∀k ∈ K, i ∈ Gded
k
, (3g)
where constraints (3a) guarantee that when an OFT serves barge-subset i, a travel
from i to another barge-subset happens. Constraints (3b) show that all barge-sub-
sets (and consequently OGVs) must be served. Constraints (3c) and (3d) are used to
ensure a departure from the depot and return to the depot, respectively (note that if
∑
X0Tk = 1 then i∈G Yik = 0, and OFT k is not active). Constraints (3e) ensure flow
conservation; i.e., when OFT k enters a node like h from a node such as i, it leaves
that to its next destination (i.e., node j in the formulation). We guarantee that geared
jobs should not be served by gear-unallowable OFTs by constraints (3f). Constraints
(3g) ensure that if a barge-subset needs a particular dedicated OFT, that job is served
by that specific OFT. This dedication includes jobs for unloading, jobs belonging to
barge-type OGVs, and contracted jobs for the dedication service between The Ser-
vice Provider and shippers.
The following constraints are required to ensure timing affairs in [OCH].
Ei + tijc + tijk + tija ≤ Sj + M(1 − Xijk ), ∀i, j ∈ G (i ≠ j), k ∈ K, (4a)
rj ≤ Sj , ∀j ∈ G, (4c)
∑ ∑∑( ) ( req )
ZiL − ZiE ≥ Lik + (1 − IH (n))Oikn − max{ri , yv } + pi , ∀i ∈ G�Gout , v ∈ Vi ,
k∈K k∈K n∈nk
(4f)
(4a) guarantees that when two jobs are supposed to be done by an OFT consecu-
tively, there must be a time difference including travel time, anchorage time, and
cast-off time between the start time of the latter job and the end time of the former
job. Constraints (4b) show that the start time of the first job of an OFT must be after
the OFT’s readiness. Moreover, serving any barge-subset can start after its readi-
ness—constraint (4c). Constraints (4d) let us include the interrupted switching time
in the feasible region when two barge-subsets belonging to the same OGV are being
served by two different OFTs. Constraints (4e) and (4f) are formulated to calculate
demurrage cost and despatch profit with respect to the assumptions given in the
explanation of Fig. 4 (the maximum function does not need to be reformulated as
a simple pre-processing can be done on the relevant given parameters). In fact, (4f)
says that the delay is calculated by excluding the overlap times during the holidays.
The following set of constraints are to calculate overlap time periods due to
downtime periods.
13
B. K. Lee et al.
p
Oikn = Uikn (Si + pik − mSkn ) + Uikn (5a)
w
(mEkn − mSkn ), ∀i ∈ G, k ∈ K, n ∈ nk ,
(5b)
I
mSkn − Si ≤ MUikn + M(1 − Yik ), ∀i ∈ G, k ∈ K, n ∈ nk ,
(5c)
II
Si + pik − mSkn ≤ MUikn + M(1 − Yik ), ∀i ∈ G, k ∈ K, n ∈ nk ,
(5d)
III
Si + pik − mEkn ≤ MUikn + M(1 − Yik ), ∀i ∈ G, k ∈ K, n ∈ nk ,
p I II III
Uikn = Uikn Uikn (1 − Uikn ), ∀i ∈ G, k ∈ K, n ∈ nk , (5e)
(5f)
w I III
Uikn = Uikn Uikn , ∀i ∈ G, k ∈ K, n ∈ nk ,
p I II III
(5g)
w
Uikn , Uikn , Uikn , Uikn , Uikn ≤ Yik , ∀i ∈ G, k ∈ K, n ∈ nk .
These constraints have been elaborated in Fig. 5. Constraints (5a), (5e), and (5f) are
non-linear, and we discuss how to linearize them in 1. We continue with the feasible
region formulation by adding the following constraints to make sure the start time of a
job by OFT k is not within [mSkn − Δ, mEkn ].
Si ≤ −Δ + mSk(n+1) + M(1 − Yik ) + M(1 − Aikn ), ∀i ∈ G, k ∈ K, ∀n ∈ n0k �{𝚗k } if 𝚗k > 0,
(6a)
Si ≥ Δ + mEkn − M(1 − Yik ) − M(1 − Aikn ), ∀i ∈ G, k ∈ K, n ∈ n0k �{0} if 𝚗k > 0,
(6b)
∑
Aikn = Yik , ∀i ∈ G, k ∈ K if 𝚗k > 0,
(6c)
n∈n0k
where (6a), (6b), and (6c) are applicable when 𝚗k > 0. Reminding our discussion
given in Fig. 5, when Yik = 1, only one Aikn, n ∈ n0k , takes the value of one (con-
straints (6c)).
Next, we need to include constraints (7a), (7b), (7c), and (7d) for including variables
Lik in our model in line with the other decision variables.
∑ p
− M(1 − Yik ) + Uikn mEkn ≤ Lik , ∀i ∈ G, k ∈ K,
(7a)
n∈nk
13
Scheduling offshore cargo handling with operational dynamics…
∑
Ei ≥ Lik + Oikn , ∀i ∈ G, k ∈ K,
(7d)
n∈nk
I II III p
(9e)
w
Uikn , Uikn , Uikn , Uikn , Uikn ∈ {0, 1}, ∀i ∈ G, k ∈ K, n ∈ nk ,
13
B. K. Lee et al.
4 Methodology
The problem model [OCH] given in the last section is a complex mixed-integer
linear program that cannot be solved to reach the exact optimal solution when a
large-sized instance is taken into account. Note that commercial optimizers might
be capable to solve medium-sized instances of [OCH] within a few tens of min-
utes. However, they are impractical in financial and computational manners for
service providers, as they are small and medium-sized enterprises, and a solver for
real-world problems should be scalable. On the other hand, these companies receive
updated information repeatedly but irregularly from their shippers and their arrival
times and have to reschedule their plans accordingly. Thus, a service provider cannot
spend hours for re-optimizing cargo handling scheduling. Hence, those companies
need a heuristic search algorithm for producing an effective-and-outstanding solu-
tion—regardless of its optimality—in a short time.
The goals we are looking for by solving an [OCH] instance have common points
with unrelated parallel machine scheduling (UPMS) in which a number of jobs must
be assigned to a number of available machines working independently. Note that
we encounter complexities in [OCH] to address all practical real-world assumptions
stated in Sect. 3.1. Those specific assumptions make [OCH] a unique problem that
differs from a typical UPMS problem. In order to include all aforementioned con-
straints, we develop a genetic algorithm (GA) in this paper entitled GA for OCH
(GAOCH).
In our proposed algorithm, we adopt the solution representation given in Fig. 6
to build chromosomes with capability to implement GA operators effectively. This
structure has basically been proposed by Cheng and Gen (1996) and improved by
Kocamaz et al. (2009) to preserve the sequence of jobs that are allocated to each
machine. The chromosome representation is a matrix of integer values with size
|K| × |G| (|K| = total number of machines, |G| = total number of jobs). In this
regard, for each job, we decide to assign an OFT which belongs to either of K g or
K ng to that job (Fig. 6a); so, note that the OFT may also belong to one of the 3PLs.
In Fig. 6b, we use a 3 × 5-problem to illustrate a simple example for our generic
Job 1 Job 4
. . . . .
OFTs in . . . . .
. . . . .
Job 8 Job 9
. . . . .
OFTs in . . . . .
. . . . .
(a)
Machine 1 Job 3 Job 2 Null 1 Null 2 Null 3 Machine 1 schedule Job 3 Job 2
(b) (c)
13
Scheduling offshore cargo handling with operational dynamics…
chromosome presented in Fig. 6a. Each machine/OFT is in Set K (where |K| = 3),
and the jobs are encoded using integer values or nulls. The sequence of the jobs
assigned to each machine shows how an OFT serves different barge-subsets. Fig-
ure 6c shows how the scheduling solution/chromosome displayed in Fig. 6b can be
translated into a practical schedule for various barge-subsets. We know machine-job
assignments and the sequence of processing jobs at each OFT. Thus, following the
restrictions due to downtime periods and readiness times, we can find the exact time
at which processing a job begins. Note that the matrix-presentation of a chromo-
some can be reshaped to a row array (e.g., an array with dimension 1 × 15 instead
of what is represented in Fig. 6b). In the following subsections, we use the proposed
chromosome structure to design and implement GAOCH.
In general, our proposed algorithm, GAOCH, is designed in a way to be appli-
cable to similar problems in offshore cargo handling in which OFT scheduling is
required. In order to follow this demarche, we deploy the introduced chromosome
structure and explain how GAOCH can be tailored to specific cost calculations/con-
straints by adding or removing them to/from a problem in the next subsections.
Since [OCH] has a very large search space, a fully randomized initialization will
result in a poor initial population with large objective function values and/or infeasi-
ble designs. Hence, we propose a customized probabilistic greedy machine selection
(PGMS) to generate feasible solutions with a reasonable goodness. The procedure is
similar to the roulette wheel selection algorithm, where the probability of assigning
a machine to a job is inversely proportionate to the increase in the objective function
value based on that assignment. For example, let three OFTs exist, and we aim to
assign one of them to commence a job while minimization of the makespan is our
goal. Assume that OFT 3 does not suit the job, and hence, we can only assign the job
to either OFT 1 or OFT 2. Let assigning the job to OFT 1 and OFT 2 increase the
makespan by 120 and 180 time units, respectively. Therefore, PGMS gives the prob-
ability of 0.6 (= 1 − 120∕300) to OFT 1 and the probability of 0.4 (= 1 − 180∕300)
to OFT 2.
Procedure 1 shows how an initial feasible schedule can be derived using PGMS.
We take the jobs one-by-one in line 2 based on their and their corresponding
OGVs’ascending readiness time (i.e., max(ri , yv ) where v ∈ Vi ). This order lets us
give a higher priority to earlier jobs at the initialization step. In line 4, we make
sure that an infeasible OFT is not selected. Note that this feasibility checking can be
modified based on the requirements of any other scheduling-related problem. There-
fore, we can obtain a feasible chromosome at the end of the procedure. Moreover, in
line 5, we need to consider the cost/time calculation based on the objective function
we aim to optimize. Therefore, we can calculated the difference in objective func-
tion value after assigning a job to an OFT.
13
B. K. Lee et al.
Procedure 1 Assign the jobs to the OFTs based on PGMS for generating a
solution/chromosome.
Output: (chromosome).
1: Create an empty chromosome.
2: for each i ∈ G, do
3: for each k ∈ K do
4: if i-k assignment is feasible then
5: P rselect (k) = a probability value inversely proportional to the differ-
ence obtained in objective function value
6: else
7: P rselect (k) = 0
8: end if
9: end for
10: Randomly select an OFT such as k with respect to the calculated probabilities
(P rselect (k)’s) for serving barge-subset i.
11: Assign i to OFT k’s first available job slot.
12: Update chromosome with i-k assignment.
13: end for
14: return chromosome
13
Scheduling offshore cargo handling with operational dynamics…
Null
Parent 1 Job 3 Job 2 Null 1 Null 2 Null 3 Job 4 Null 4 Null 5 Null 6 Null 7 Job 5 Job 1 Null 8 Null 9
10
(a) Null
Parent 2 Job 1 Job 3 Null 1 Null 2 Null 3 Job 2 Job 5 Null 4 Null 5 Null 6 Job 4 Null 7 Null 8 Null 9
10
Position Indicator 0 1 0 1 1 0 1 0 0 0 1 1 1 0 1
(b) Child 1 (unfilled) Job 2 Null 2 Null 3 Null 4 Job 5 Job 1 Null 8
Null
10
Null
Parent 2 not Child 1 Job 1 Job 3 Null 1 Null 2 Null 3 Job 2 Job 5 Null 4 Null 5 Null 6 Job 4 Null 7 Null 8 Null 9
10
Null
(c) Child 1 (unfilled) Job 2 Null 2 Null 3 Null 4 Job 5 Job 1 Null 8
10
Null
Child 1 (filled) Job 3 Job 2 Null 1 Null 2 Null 3 Null 5 Null 4 Null 6 Job 4 Null 7 Job 5 Job 1 Null 8 Null 9
10
Null
Child 1 Job 3 Job 2 Null 1 Null 2 Null 3 Job 4 Null 4 Null 5 Null 6 Null 7 Job 5 Job 1 Null 8 Null 9
10
(d) Child 2 (unfilled) Job 1 Null 1 Job 2 Null 4 Null 5 Null 6 Null 9
Null
Child 2 (filled) Job 1 Job 3 Null 1 Null 2 Null 3 Job 2 Job 4 Null 4 Null 5 Null 6 Null 7 Job 5 Null 8 Null 9
10
Null
Child 2 Job 1 Job 3 Null 1 Null 2 Null 3 Job 2 Job 4 Null 4 Null 5 Null 6 Job 5 Null 7 Null 8 Null 9
10
we create an unfilled chromosome with the values of Parent 2 which are not
observed in the unfilled Child 1 (denoted by “Parent 2 not Child 1”). Then, we
move those genes to the blank genes seen the unfilled Child 1 to make it filled.
Finally, we may need to rearrange the location of some jobs/nulls in “Child 1
(filled)” to capture “Child 1” with a correct structure (for each machine, we start
with jobs which are followed by nulls). We apply the same procedure in Fig. 7d
to find “Child 2”. At the end of crossover, the child with the better fitness will be
selected as the final offspring and the result of the crossover.
Figure 8 illustrates how 2 parents can be combined to produce an offspring
using the order-based crossover operator. From the given chromosome as Parent
1 in Fig. 8a, we randomly select some genes as “Random Select from Parent 1”
in Fig. 8b. Then, we build an unfilled child from Parent 1 to compliment that.
“Selection from Parent 2” includes the elements randomly selected from Parent
1 but based on the order given in Parent 2. This array is to compliment “Child
(unfilled)” for having the child given in Fig. 8c. As mentioned before, at the end
of the crossover procedure, we reformat the chromosome encoding such that the
job genes are located before the empty/null genes.
Both of these operators work well in combining and preserving the job
sequence information of the parents. Hence, idealistically, good genetic attrib-
utes, that are embedded in the structure of the encoding, will be passed down to
the offspring.
In terms of mutation, we assume that each child can be mutated with the prob-
ability of Pmutation. In this regard, two mutation approaches are applied: swap and
insertion. When swap mutation is used, we randomly select two genes and swap
13
B. K. Lee et al.
their values. For insertion, we randomly select a job and insert that into a randomly
chosen position.
When an offspring is produced from one of the crossover operators (it may be
mutated as well), we check if it survives and can be added to the new generation
of population. Firstly, we ensure that the offspring is a feasible solution. Secondly,
using a semi-greedy strategy proposed by Tavakkoli-Moghaddam et al. (2009), an
offspring is accepted if its fitness is better than the average fitness of its parents. This
strategy guarantees the feasibility of all offsprings and a monotonous convergence
towards an optimum.
4.3 GAOCH
13
Scheduling offshore cargo handling with operational dynamics…
13
B. K. Lee et al.
RWS and TS for parent selection. Therefore, we can implement GAOCH in 16 ways
with different combinations of the operators and methods that will be examined in
the next section.
In summary, we find the proposed GAOCH structure is suitable to address all
the operational features required in [OCH]. As explained early in this section, the
proposed GAOCH is well-customized and appropriate for the small companies that
unlikely afford a commercial scheduling package. The proposed GAOCH can pro-
vide high quality solutions with fast response time that will be discussed in the next
Section in detail. Table 3 summarizes specific features of GAOCH.
5 Numerical experiments
In this section, we aim to look for the best combination of GAOCH’s operators to
capture the best solution in terms of fitness and CPU time. For this purpose, we use
real data provided by The Service Provider in May-November 2020, generate 87
real-world problem instances, solve each instance five times using GAOCH, and test
our algorithm accordingly by reporting the average fitness value and CPU time for
every 5 compilations. Then, we propose a combination of the operators among all
sixteen combinations (i.e., two initialization types, two crossover types, two muta-
tion types, and two parent selection types) for reaching solutions with high fitness
in a reasonable time for the instances. In this regard, we report our numerical results
after implementing GAOCH in C # on a PC with Microsoft Windows 10 operating
system, core i5-7300U processor at 2.60 GHz, and with 8.0 GB of RAM. Moreover,
we demonstrate the effectiveness of GAOCH’s solutions by comparing them with
CPLEX 12.8 optimizer’s solutions implemented in C # API on visual studio com-
munity platform.
For the next subsections, we categorize the real-world instances into small-sized,
∑
medium-sized, and large-sized instances based on |V| (or |G|) and k∈K nk (note that
|K| = 4 for all instances). The main characteristics of the instances are as follows:
• small-sized (27 instances): |G| ∈ {4, 6, … , 20}, |V| ∈ {4, 6, … , 20}, and, to
∑
commence handing operations k∈K nk ∈ {0, 2, 4},
• medium-sized (30 instances): |G| ∈ {24, … , 45}, |V| ∈ {22, 24, … , 40}, and
∑
k∈K nk ∈ {0, 2, 4}, and
• large-sized (30 instances): |G| ∈ {48, … , 63}, |V| ∈ {42, 44, … , 60}, and
∑
k∈K nk ∈ {0, 2, 4}.
Note that we solve each instance with either of the total cost objective function
( zcost given in (1a)) or the makespan ( zmakespan given in (1c)); in fact, we focus on
[OCH]a and [OCH]c. The reported fitness values for the total cost are in USD, and
the reported values for the makespan are in minute. These two objective functions
are the main goals service providers are looking for in their practice. Hence, in the
next subsection, we examine GAOCH’s different implementations to find the most
appropriate ones for those two objective functions.
13
Table 3 Summarized features of the proposed GA (GAOCH) structure
Operators Customizations Adoptions Advantages
Encoding chromosomes Minor customization Matrix of jobs and (i) Preserving the sequence of jobs allocated to each machine (ii) Easily representing the
machines as integer assignment of a job to a specific type of machines where jobs are encoded using integer
values values or nulls
Generating initial solutions Major customization PGMS Guiding the search direction in accordance with the object, so as to fasten the convergence
Tuned parameters RMS Nil
Crossovers Tuned parameters PB, OB Nil
Scheduling offshore cargo handling with operational dynamics…
13
B. K. Lee et al.
The experimental data is available in an open data repository (Lee 2022). The
published data is edited from real-world data for the purpose of experiment after
deleting confidential contents.
Due to the nature of genetic algorithms, increasing Npop, GRmax , and GRstag results
in finding a better solution while sacrificing CPU time. Moreover, other GA-related
parameters such as Pmutation may have a slight influence on the result. On the other
hand, we aim to solve a medium-sized instance in a cut-off time around 5 min apply-
ing one of the aforementioned combinations. Therefore, we set the parameters as
follows after examining a large number of instances: Npop = 300, GRmax = 1000,
GRstag = 100, Nnew = 60, Nelite = 5, and Pmutation = 0.05.
Next, we need to tackle the main question of this subsection; which imple-
mentations of our algorithm (i.e., combinations) give the best solution, the fastest
GAOCH, and the most balanced GAOCH that satisfies both time performance and
solution quality at the same time.
First, we examine the existing two alternatives for each part of the algorithm that
can be implemented alternatively. Our comparison is based on three criteria: fit-
ness value, the speed of the algorithm, and the generation that convergence starts
from. Table 4 tabulates the number of instances in which an alternative outperforms
the other one based on a specific criterion in solving medium-sized instances. The
comparison is made between every two alternatives introduced for the initialization
(PGMS and RMS), crossover (PB and OB), mutation (SW and INS), and parent
selection (RWS and TS). For example, when we have 30 medium-sized instances
that can be solved based on the two objective functions (i.e., 60 instances), 20
instances out of 60 have been solved faster by using a combination in which PGMS
is applied (the relevant number is bolded in Table 4). Based on this table, we observe
that our implementation method in initialization, crossover, and parent selection are
crucial and can result in significantly different performances. However, insertion and
swap have a less significant influence on the outcome. In this table, note that each
instance has been solved using the combination of PGMS-PB-SW-TS unless other-
wise stated in its corresponding column.
Considering Table 5, we aim to find out what combination of operators gives us
the best fitness value, gives the solution in a shorter time, and converges faster than
the other combinations. We have three criteria to evaluate all sixteen combinations,
and two objective functions are considered. Therefore, we report an average value
13
Table 5 Performance of all 16 combinations in zcost and zmakespan based on 3 criteria
Combination zcost zmakespan zcost zmakespan zcost zmakespan
Avg. fitness value Avg. fitness value Avg. CPU time (s) Avg. CPU time (s) Avg. converged Avg. converged gen
gen
13
B. K. Lee et al.
for each combination in terms of solving all small-sized and medium-sized instances
with a certain objective function. We also bold the minimum value in each column
of Table 5. As seen, RMS-OB-SW-TS solves instances faster than the other com-
binations, whereas PGMS-PB-SW-TS lets us reach the best fitness. In fact, there is
a trade-off between these two combinations in terms of solution quality and CPU
time. Therefore, we evaluate the quality of the solutions provided by RMS-OB-SW-
TS and PGMS-PB-SW-TS versus CPLEX optimizer in the next subsection and do
not take the other fourteen combinations into account.
13
Table 6 Performance of GAOCH-good and GAOCH-fast in minimizing zcost versus CPLEX
|V| (C1) CPLEX obj. CPLEX gap (C3) CPLEX CPU GAOCH- % diff. btw. GAOCH- GAOCH-good GAOCH- % diff. btw. GAOCH-fast
val. ($) (C2) time (second) good fitness good & CPLEX (C6) CPU time (C7) fast fitness GAOCH-fast & CPU time
(C4) (C5) (C8) CPLEX (C9) (C10)
13
13
Table 7 Performance of GAOCH-good and GAOCH-fast in minimizing zmakespan versus CPLEX
|V| CPLEX obj. CPLEX gap CPLEX CPU GAOCH- % diff. btw. GAOCH-good GAOCH-fast fitness % diff. btw. GAOCH-
val. (minute) time (second) good fitness GAOCH-good & CPU time GAOCH-fast & fast CPU
CPLEX CPLEX time
100%
80%
60%
40%
20%
0%
4 6 8 10 12 14 16 18 20 22 24 26 28
-20%
|V|
The proportions of the three cost components (i.e., the traveling, handling and
demurrage/despatch costs) over the number of jobs are plotted in Fig. 9. The propor-
tions of traveling costs were mild as all the OGVs and OFTs are nearby an anchor-
age. The handling costs were dependent on the number of jobs and the quantities.
The effect of demurrage costs (or despatch profits) on the proportions of total cost,
however, showed addressable results. The despatch profits contributed to reduce the
total costs for the small-sized instances, whereas the demurrage costs accounted for
increasing the total costs when the number of jobs increased. The OFTs could usu-
ally achieve despatch profits due to efficient handling service, but the high conges-
tion of job arrivals under the limited resources (i.e., OFTs) resulted in increasing
the proportions of demurrage costs. Since it was observed that the higher number of
jobs had the higher number of zero-demurrage jobs for medium-sized instances, the
proportions of demurrage costs were not increased.
We have evaluated all the sixteen combinations considering the average fitness, CPU
time, and convergence speed in Sect. 5.1. We also note that if we rank the perfor-
mance of each combination in the above-mentioned criteria for solving the small and
medium-sized instances, PGMS-PB-SW-TS repeats more frequently than any other
combination in the five top-ranked combinations. It means that although PGMS-PB-
SW-TS (i.e., GAOCH-good) is not a fast solver, it results in the best performance
13
B. K. Lee et al.
Table 8 Performance of |V| zcost (USD) CPU time (s) zmakespan (min) CPU time (s)
GAOCH-good for solving large-
sized instances 42 681213.2 760.4 47734.2 324.5
44 846704.3 553.6 50506.7 309.3
46 866141.4 1022.7 50500.8 410.8
48 861233.7 903.6 50496.3 451.8
50 866683.7 1167.1 50499.7 453.0
52 997152.8 1132.8 52253.7 509.2
54 1287526.4 1168.1 55924.1 677.4
56 1597713.8 1090.3 61012.8 642.0
58 1764368.8 1424.9 62765.3 695.6
60 2048721.5 1616.0 65774.2 729.9
for different instances overall. Then, we use this combination to solve large-sized
instances, and Table 8 shows GAOCH’s performance. We also revise the value of
Npop to 200, GRmax to 400, and GRstag to 50 to ensure every instance can be solved
within a reasonable cut-off (e.g., 30 min).
Note that the mentioned large-sized instances are solvable with GAOCH-good
while CPLEX optimizer cannot initiate a feasible solution on the computer we have
used for implementation.
If The Service Provider does not outsource logistics activities to the 3PLs, the total
cost includes three cost components: traveling cost, handling cost, and demurrage/
despatch. In this subsection, we analyze these cost components of the total cost and
show the percentage of the total cost that is designated to each cost component.
In Table 9, we extract each cost component’s share in the total cost based on the
number of maintenance periods existing in the planning horizon. Based on the data
provided by The Service Provider, traveling cost is less important for reducing the
total cost, and hence, assigning OFTs to the jobs based on distance cannot signifi-
cantly change the total cost. On the other hand, the handling cost plays a crucial role
for total cost minimization. Because assigning an OFT to a barge-subset considering
cargo attributes and its suitability for that particular cargo is the best way for
decreasing the total cost. We also note that demurrage cost’s share is large for The
13
Scheduling offshore cargo handling with operational dynamics…
We study on offshore cargo handling service to efficiently load and unload dry bulk
cargo from/to OGVs to/from the corresponding barges. We develop a mathematical
model for optimally scheduling a number of OFTs to serve a number of vessels for
their loading/unloading requests. The basic model can be interpreted as a vehicle
routing model with specific considerations with respect to offshore operations. How-
ever, in order to address real-world constraints (e.g., physical and operational condi-
tions, OGV attributes, and downtime periods) and cost calculations (e.g., traveling,
handling, demurrage, despatch, and 3rd-party rental), the problem is formulated as
a complex mixed-integer linear programming model that cannot be solved using a
well-known commercial optimizer (i.e., CPLEX) in a reasonable response time. We
exploit genetic algorithm concept to design an efficient method for finding nearly
optimal solutions for the proposed model with short response time. Offshore cargo
handling could attract great attention in future due to its importance for busy cargo
ports. In order to continue this research, considering unpredictable factors will
be beneficial for the service providers. For example, arrival uncertainty, laycan
changes, and cargo split with different barges need to be considered to improve the
model’s robustness.
𝛽
Uikn ≤ Si , ∀i ∈ G, k ∈ K, n ∈ nk , (11)
𝛽 p
Uikn ≥ Si − M(1 − Uikn ), ∀i ∈ G, k ∈ K, n ∈ nk , (12)
𝛽
Uikn ≥ 0, ∀i ∈ G, k ∈ K, n ∈ nk , (13)
(5e) can also be replaced by the following constraints for the purpose of
linearization.
13
B. K. Lee et al.
p I
Uikn ≤ Uikn , ∀i ∈ G, k ∈ K, n ∈ nk , (14)
p II
Uikn ≤ Uikn , ∀i ∈ G, k ∈ K, n ∈ nk , (15)
p III
Uikn ≤ 1 − Uikn , ∀i ∈ G, k ∈ K, n ∈ nk , (16)
p I II III
Uikn ≥ Uikn + Uikn − Uikn − 1, ∀i ∈ G, k ∈ K, n ∈ nk , (17)
(18)
w I
Uikn ≤ Uikn , ∀i ∈ G, k ∈ K, n ∈ nk ,
(19)
w III
Uikn ≤ Uikn , ∀i ∈ G, k ∈ K, n ∈ nk ,
(20)
w I III
Uikn ≥ Uikn + Uikn − 1, ∀i ∈ G, k ∈ K, n ∈ nk ,
13
Scheduling offshore cargo handling with operational dynamics…
showing OGVs lined-up. The basic information, such as laycan, expected time to
arrival (ETA), notice of readiness (NOR), and barge set (if available), is presented in
the user interface.
The proposed GAOCH scheduler consists of preparing scheduling units and
assignment conditions before scheduling (pre-processer), building schedules with
physical and operational conditions and preference (scheduler), and representing the
scheduling outcome in the graphic user interface and the cost calculations (post-pro-
cesser), as illustrated in Fig. 11.
The developed scheduling system helps operators efficiently construct schedules
and communicate with shippers in an effective manner. Information on OGVs and
barges is often changing until the actual handling service is commenced, leading
to frequent requests of scheduling actions. The functions (i.e., objectives, physical
and operational conditions) and the relevant parameters, described in Sect. 3, can be
selectively configured by operators to produce the most-promising schedule based
on case-by-case operating practices.
The scheduling has been conducted by domain experts using the spreadsheet-
based manual approach and plugged into the legacy system. The size of scheduling
is usually 6–12 OGVs for 2 days of planning horizon, and the scheduler can pro-
duce the outcomes in less than 30 s by referring to the Sect. 5.2. This computational
efficiency is outstanding compared to the spread-sheet based scheduling. A domain
professional of Rocktree Logistics acknowledged that the solution quality is accept-
able compared to manual results. Beside the efficiency and quality of scheduling,
the scheduling system is capable of solving highly congested scheduling problems
over adjustable periods of time, and also recording scheduling outcomes to the data
repository potentially contributing to the management implications in future. How-
ever, there are inflexibility elements in the deterministic models from the perspec-
tive of operational practices. For examples, exceptional cases handled by implicit
user-practices are hardly incorporated into the models, and the way of forming
barge-subsets needs to be updated while solving an instance. These inflexibility ele-
ments have been criticized by the professionals.
This appendix shares the calculation practices for traveling, cargo handling (load-
ing or unloading), and idling for OFTs, though the idle cost is not considered at con-
structing a schedule but required for the post-processing. By referring to the nota-
tions in Table 10, the traveling cost of OFT k is estimated by cTijk = dij cT (k)b, the
handling cost of loading operations for OFT k is represented as
cH
jk
= (bbase l(k)bexp b + s)qj , and the idle cost of OFT k is estimated as cIk = dtI cI (k)b.
13
B. K. Lee et al.
Funding This research was supported by a grant from R &D Program (PK2202C3, Development of core
technologies for digital rail freight stations) of the Korea Railroad Research Institute.
Declarations
Conflict of interest The authors declare no conflict of interest.
References
Amiri M, Amin SH, Tavakkoli-Moghaddam R (2019) A Lagrangean decomposition approach for a novel
two-echelon node-based location-routing problem in an offshore oil and gas supply chain. Transp
Res Part E Log Transp Rev 128:96–114
Astoures HF, de Alvarenga Rosa R, da Silva Rosa AL (2016) Planning the diesel supply for offshore plat-
forms by a mathematical model based on the vehicle routing problem with replenishment. Transp
Res Procedia 18:11–18
Baird AJ, Rother D (2013) Technical and economic evaluation of the floating container storage and tran-
shipment terminal (FCSTT). Transp Res Part C Emerg Technol 30:178–192
Borthen T, Loennechen H, Fagerholt K, Wang X, Vidal T (2019) Biobjective offshore supply vessel plan-
ning with costs and persistence objectives. Comput Oper Res 111:285–296
Camponogara E, Plucenio A (2014) Scheduling dynamically positioned tankers for offshore oil offload-
ing. Int J Prod Res 52(24):7251–7261
Cheng R, Gen M. (1996). Parallel machine scheduling problems using memetic algorithms. In: 1996
IEEE international conference on systems, man and cybernetics. Information intelligence and sys-
tems (cat. no. 96ch35929), vol 4, pp 2665–2670
Christiansen M, Fagerholt K, Ronen D (2004) Ship routing and scheduling: status and perspectives.
Transp Sci 38(1):1–18
Christiansen M, Fagerholt K, Nygreen B, Ronen D (2013) Ship routing and scheduling in the new millen-
nium. Eur J Oper Res 228(3):467–483
Christiansen M, Fagerholt K, Rachaniotis NP, Stålhane M (2017) Operational planning of routes and
schedules for a fleet of fuel supply vessels. Transp Res Part E Log Transp Rev 105:163–175
Cuesta EF, Andersson H, Fagerholt K, Laporte G (2017) Vessel routing with pickups and deliveries: an
application to the supply of offshore oil platforms. Comput Oper Res 79:140–147
de Assis LS, Camponogara E (2016) A milp model for planning the trips of dynamic positioned tankers
with variable travel time. Transp Res Part E Log Transp Rev 93:372–388
13
Scheduling offshore cargo handling with operational dynamics…
Halvorsen-Weare EE, Fagerholt K, Nonås LM, Asbjørnslett BE (2012) Optimal fleet composition and
periodic routing of offshore supply vessels. Eur J Oper Res 223(2):508–517
Hennig F, Nygreen B, Lübbecke ME (2012) Nested column generation applied to the crude oil tanker
routing and scheduling problem with split pickup and split delivery. Naval Res Log (NRL)
59(3–4):298–310
Holland JH et al (1992) Adaptation in natural and artificial systems: an introductory analysis with appli-
cations to biology, control, and artificial intelligence. MIT Press, Cambridge
Hoseinpour Z, Kheirkhah AS, Fattahi P, Taghipour M (2020) The problem solving of bi-objective hybrid
production with the possibility of production outsourcing through meta-heuristic algorithms. Man-
agement 4(2):1–17
Hoseinpour Z, Taghipour M, Beigi JH, Mahboobi M (2021) The problem solving of bi-objective hybrid
production with the possibility of production outsourcing through imperialist algorithm, nsga-ii,
gapso hybrid algorithms. Turkish J Comput Math Educ (TURCOMAT) 12(13):8090–8111
Kim J, Morrison JR (2012) Offshore port service concepts: classification and economic feasibility. Flex
Serv Manuf J 24(3):214–245
Kisialiou Y, Gribkovskaia I, Laporte G (2018a) The periodic supply vessel planning problem with flex-
ible departure times and coupled vessels. Comput Oper Res 94:52–64
Kisialiou Y, Gribkovskaia I, Laporte G (2018b) Robust supply vessel routing and scheduling. Transp Res
Part C Emerg Technol 90:366–378
Kisialiou Y, Gribkovskaia I, Laporte G (2019) Supply vessel routing and scheduling under uncertain
demand. Transp Res Part C Emerg Technol 104:305–316
Kocamaz M, Cicekli UG, Soyuer H (2009) A developed encoding method for parallel machine sched-
uling with permutation genetic algorithm. European and mediterranean conference on information
systems EMCIS
Larranaga P, Kuijpers CM, Murga RH, Yurramendi Y (1996) Learning Bayesian network structures by
searching for the best ordering with genetic algorithms. IEEE Trans Syst Man Cybernet Part A Syst
Humans 26(4):487–493
Lee BK (2022) Data Repository for Offshore Cargo Scheduling Experiment, Harvard Dataverse, V1.
https://doi.org/10.7910/DVN/HGJAQT
Mardaneh E, Lin Q, Loxton R, Wilson N (2017) Cargo scheduling decision support for offshore oil and
gas production: a case study. Optim Eng 18(4):991–1008
MPA (2021) Annual statistics of maritime and port authority of singapore [Computer software manual].
https://www.mpa.gov.sg/web/ portal/home/maritime-singapore/port-statistics. Accessed February 4,
2021
Norlund EK, Gribkovskaia I (2015) Modal split in offshore supply network under the objective of emis-
sions minimization. Transp Res Part D Transp Environ 35:160–174
Rocktree (2020) Rocktree logistics Pte Ltd [Computer software manual]. https://www.rocktree.sg/our-
fleet/. Accessed August 31, 2020
Ronen D (1983) Cargo ships routing and scheduling: survey of models and problems. Eur J Oper Res
12(2):119–126
Ronen D (1993) Ship scheduling: the last decade. Eur J Oper Res 71(3):325–333
Song J-H, Furman KC (2013) A maritime inventory routing problem: practical approach. Comput Oper
Res 40(3):657–665
Tavakkoli-Moghaddam R, Taheri F, Bazzazi M, Izadi M, Sassani F (2009) Design of a genetic algorithm
for bi-objective unrelated parallel machines scheduling with sequence-dependent setup times and
precedence constraints. Comput Oper Res 36(12):3224–3230
UNCTD (2021) United nations conference on trade and development [Computer software manual].
https://unctadstat.unctad.org/wds/ReportFolders/reportFolders.aspx. Accessed February 4, 2021
Zhang C, Nemhauser G, Sokol J, Cheon M-S, Keha A (2018) Flexible solutions to maritime inventory
routing problems with delivery time windows. Comput Oper Res 89:153–162
Publisher’s Note Springer Nature remains neutral with regard to jurisdictional claims in published maps
and institutional affiliations.
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under
a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted
manuscript version of this article is solely governed by the terms of such publishing agreement and
applicable law.
13
B. K. Lee et al.
Byung Kwon Lee is a Senior Research Scientist of Advanced Logistics Systems Lab at Korea Railroad
Research Institute. He received Ph.D. (Industrial Engineering) from Pusan National University, and has
been worked at Centre for Maritime Studies, The Logistics Institute – Asia Pacific, and Centre of Excel-
lence in Modelling and Simulation for Next Generation Ports (C4NGP) as a research fellow/research
assistant professor in National University of Singapore. He has been involved in various industry-transi-
tional projects for logistics systems (ports, offshores, shipping, last-mile delivery) and service operations
(hospitality and healthcare).
Seyyed Amir Babak is a Research Fellow in Curtin Centre for Optimisation and Decision Science and
working on real-world industrial problems in different sectors such as energy and workforce scheduling
applying operational research techniques. Babak received his B.Sc. and M.Sc. degrees in Industrial Engi-
neering from Sharif University of Technology. He has Ph.D. in Industrial Engineering and Operations
Management from Koc University. Before joining Curtin University, Babak worked as a research fellow
in Centre for Next Generation Logistics at National University of Singapore and focused on warehouse
operations optimization and offshore cargo handling problems.
Jakkarin Sae‑Tiew is currently a Data Engineering Consultant at McKinsey & Company. He received
B.Eng. (Industrial and Systems Engineering) from the National University of Singapore in 2020. After
his undergraduate dissertation with the Centre of Excellence in Modelling and Simulation for Next Gen-
eration Ports (C4NGP), Jakkarin continued working with the centre as a Machine Learning Research
Engineer. Prior to his current role, he was working as a Data Scientist at Razer. His interests are optimisa-
tion, machine learning model operationalisation (MLOps), data architecture, and distributed computing.
13
View publication stats