Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/366823353

Scheduling offshore cargo handling with operational dynamics including cost


composites, downtime periods, and cargo attributes

Article in Flexible Services and Manufacturing Journal · January 2023


DOI: 10.1007/s10696-022-09482-7

CITATIONS READS

0 173

3 authors, including:

Seyyed Amir Babak Rasmi


BHP Billiton Limited
15 PUBLICATIONS 88 CITATIONS

SEE PROFILE

All content following this page was uploaded by Seyyed Amir Babak Rasmi on 03 January 2023.

The user has requested enhancement of the downloaded file.


Flexible Services and Manufacturing Journal
https://doi.org/10.1007/s10696-022-09482-7

Scheduling offshore cargo handling with operational


dynamics including cost composites, downtime periods,
and cargo attributes

Byung Kwon Lee1 · Seyyed Amir Babak Rasmi2 · Jakkarin Sae‑Tiew3

Accepted: 21 December 2022


© The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature
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

* Byung Kwon Lee


leebk@krri.re.kr
Extended author information available on the last page of the article

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…

demand of transshipment cargo, such as Port of Singapore, usually spends signifi-


cant effort to manage infrastructural and handling resources to respond high ser-
vice demand for vessels, according to the expected vessel arrivals. When a port
invites a vessel, the port should prepare the berthing space for the vessel and han-
dling resources to perform loading and unloading cargo. Beside the port internal
resources, the vessel might also need tugboats to berth and unberth at the quay.
The port should be able to provide high turnover rate for vessels to achieve high
revenue. The offshore cargo handling service contributes positively to the port
operational efficiency, yet a business value of The Service Provider was raised.
Offshore logistics firms provide cargo handling services based on informa-
tion flows among the stakeholders as drawn in Fig. 2. When a shipper’s OGV
arrives near an anchorage and requests for a number of barges (barge-subsets),
it shares cargo and readiness information with the OFT service provider. Subse-
quently, The Service Provider assigns an OFT to the OGV to conduct the cargo
handling service upon the arrivals of the corresponding barge-subset (i.e., the
corresponding subset of barges for the OGV must be ready for the assigned OFT
to commence the service). In some cases, the shippers’ requests exceed the han-
dling capacity, and hence, The Service Provider asks for assistance from third-
party logistics service providers (3PLs) to call their OFTs. Note that the main
operations are loading and unloading where containers are carried from OGVs to
barges by OFTs in loading, and an opposite flow happens in unloading operations
(i.e., from barges to OGVs by OFTs).
This study is inspired by a set of practical requirements while constructing a
schedule for offshore cargo handling operations in The Service Provider. In this
regard, a limited number of OFTs are assigned to arriving customers (i.e., pairs
of OGVs and barge-subsets) for completing their corresponding jobs considering
the type of operations, cargoes, and physical and service conditions for OGVs.
Assigning OFTs to multiple jobs at different starting time has been considered
in various studies in the literature of marine transportation. However, there are a
wide range of practical constraints and assumptions in real-world problems which
have been little addressed clearly in the previous studies but are contributed by
this study. The outstanding features of this study are as followings.

Handling service (with OFTs)


Service provider Shippers
(OFTs’ owner) (e.g., OGVs)
Informaon on OGVs and
corresponding barges

Calling for Reporng


Intermient Charge on handling for the
calls upon each call service with operaons
necessary barges readiness

3PL Barge operators

Fig. 2  Flows of information, calls, and services among stakeholders

13
B. K. Lee et al.

(a) Comparative objectives: Different objective functions are crucial in different


conditions for a service provider based on the policies it aims to apply. While
calculating the total cost of a certain solution for scheduling, there are undesir-
able factors followed by a penalty and actions resulting in rewards/benefits.
A number of practical-proven objectives are comparatively introduced in the
model.
(b) Downtime periods: a service provider has information about a large number of
arriving jobs in the future as well as predetermined maintenance activities for
OFTs (i.e., downtime periods). Thus, an OFT’s service for a job should be able
to be discontinuous based on the start/end time of the downtime periods. Note
that an OFT might have a few downtime periods.
(c) Physical and operational conditions: There are also restrictions for matching
OFTs with OGVs due to physical conditions such as geared/gearless and barge-
type OGVs. Types of operations (e.g., unloading operations) and service require-
ment of jobs (e.g., dedicated OFT for a job) should be respected if any.
(d) Implicit priority with cost: Both the cost for delaying the completion time and
the reward for early completion compared to the completion requirement might
be set to zero due to the contract between the shipper and The Service Provider.
Without the delay penalty, The Service Provider could give low priority to the
shipper’s OGVs. When an OGV arrives later than its laycan period, The Service
Provider could also give low priority to it, as the completion requirement is
relaxed and hence typically does not lead to the delay penalty.

The combinations of all of above-mentioned considerations cause significant com-


plexities in mathematical models corresponding to scheduling offshore cargo han-
dling services, and consequently, in methods for finding effective solutions which
both have been little addressed in the past studies. The assumptions and constraints
considered in this paper are highly practical for a wide range of companies in off-
shore cargo handling sector and can be extended for those service providers based
on their specific requirements.
The organization of this study is as follows: In Sect. 2, we review the related stud-
ies. In Sect. 3, we describe the problem in detail and develop a mathematical model
for considering all requirements. A methodology for solving the model efficiently
is developed in Sect. 4. We conduct numerical experiments using real-world data
for the model and the solution method in Sect. 5 that is followed by conclusions in
Sect. 6. Some alternative formulations for linearizing the model are also discussed
in “Appendix”.

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.

3 Problem description and formulation

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

OFT begins OFT’s service ends at OFT’s actual


service at regardless of ending me
downme period

Service speed requested


by the OGV (R)

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

We formulate a mathematical model for offshore cargo handling (denoted by [OCH])


to include all of the assumptions made in Sect. 3.1. In [OCH], we need to define
multiple sets of auxiliary decision variables to address the aforementioned complex-
ities in this problem. Table 1 shows the sets, indices, and parameters in [OCH].
In Table 1, note that the values of the some of cost-related parameters such as cH jk
,
cjk , and pik can be calculated based on the features of the (third-party) OFTs. These
3

features basically include processing speed and cargo volume.


We also present decision variables in Table 2. Reminding Fig. 4, assume that
OFT k is serving barge-subset i. Then, pik is equal to S indeed. Similarly, pi is
req

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

present Fig. 5. OFT k commences service for barge-subset i at Si which is between


(n − 1)th and nth downtime periods. Uikn I
= 1 shows that the service of OFT k to job
i starts before mkn. Therefore, Uikn = 1 in both Figs. 4 and 5. Regarding Uikn
S I II
, it takes
the value of 1 if the service is expected to end after mkn regardless of downtime peri-
S

ods. Hence, Uikn II


= 1 in both Figs. 4 and 5. The value of decision variable Uikn III
differs
in these two figures. Uikn = 1 when the service is expected to end after mEkn. Thus,
III

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.

Table 1  The description of the sets, indices, and parameters in [OCH]

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)

mEkn Ending time of the nth maintenance of OFT k.


Δ Minimum amount of time required before starting time of a maintenance activity for serv-
ing a barge-subset.
M A sufficiently large positive number (big M).

Table 2  The description of the decision variables used in [OCH]

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

in constraints (7a)–(7c)). Therefore, Lik = t4 in Fig. 4, and Lik = Si + pik in Fig. 5.


Based on the provided explanation, Ei is shown in Fig. 5. Another required set of
variables is Aikns; Aik(n−1) = 1 in Fig. 5 that shows Si is between the (n − 1)th and nth
downtime periods.

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)

fk + tjk0 ≤ Sj + M(1 − X0jk ), ∀j ∈ G, k ∈ K, (4b)

rj ≤ Sj , ∀j ∈ G, (4c)

Ei + tI ≤ Sj + M(1 − Yik1 ) + M(1 − Yjk2 ), ∀i, j ∈ G where Vi = Vj , ∀k1 , k2 ∈ K and k1 ≠ k2 ,


(4d)
∑∑ req
ZiL − ZiE ≥ (Ei − Si ) − IH (n)Oikn − pi , ∀i ∈ Gout ,
(4e)
k∈K n∈nk

∑ ∑∑( ) ( 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

− M(1 − Yik ) + Si + pik ≤ Lik , ∀i ∈ G, k ∈ K, (7b)

Lik ≤ MYik , ∀i ∈ G, k ∈ K, (7c)

13
Scheduling offshore cargo handling with operational dynamics…


Ei ≥ Lik + Oikn , ∀i ∈ G, k ∈ K,
(7d)
n∈nk

where the rationale of these constraints are given in Fig. 5.


The following constraints in (8) enable the jobs which are not out-of-laycan
nor zero-demurrage to start earlier than out-of-laycan and zero-demurrage jobs
when both are being served by the same OFT and belonging to different OGVs.
These constraints are required as out-of-laycan and zero-demurrage jobs have a
lower priority for The Service Provider.
Si ≤ Sj + M(1 − Yik ) + M(1 − Yjk ), ∀i ∈ G − {Gout ∪ Gzero }, j ∈ Gout ∪ Gzero where Vi ≠ Vj , ∀k ∈ K, (8)
At the end of formulation of [OCH], the domains of the decision variables are given
as follows:
Xijk ∈ {0, 1}, ∀i ∈ G ∪ {0}, j ∈ G ∪ {T}(i ≠ j), k ∈ K, (9a)

Yik ∈ {0, 1}, ∀i, j ∈ G, k ∈ K, (9b)

Si , Ei , ZiS , ZiE ∈ ℝ+ ∪ {0}, ∀i ∈ G, (9c)

Oikn , Lik ∈ ℝ+ ∪ {0}, ∀i ∈ G, k ∈ K, n ∈ nk , (9d)

I II III p
(9e)
w
Uikn , Uikn , Uikn , Uikn , Uikn ∈ {0, 1}, ∀i ∈ G, k ∈ K, n ∈ nk ,

Aikn ∈ {0, 1}, ∀i ∈ G, k ∈ K, n ∈ n0k if 𝚗k > 0. (9f)

In summary, [OCH] can be established based on three different objective func-


tions in this study. Either of objective functions (1a) and (1b) are subject to the
constraints (3)–(9). The makespan objective function given in (1c) is subject to
(2)–(9). We denote each of these mathematical programs by [OCH]a , [OCH]b , and
[OCH]c . In [OCH]a and [OCH]b , we do not have a specific constraint or term in
the objective functions ( zcost and zdmrg ) to restrict the starting time of out-of-lay-
can/zero-demurrage jobs as soon as possible with respect to (3)–(9). Because
serving them intentionally late is not penalized (refer to constraints (4e) and the
definition of cLi and cEi ); however, an alternative optimal solution with large Si s for
i ∈ Gout ∪ Gzero causes a solution which does not suit real-world problems. To
resolve this issue and make the solutions of Si s practical, for [OCH]a , we solve the
mathematical model and find the optimal objective function value denoted by

ẑ cost . Then, we minimize i∈Gout ∪Gzero Si subject to (3)–(9) and an additional con-
straint zcost = ẑ cost that guarantees finding the best objective function value. The
second optimization problem will certainly have a feasible solution as we have
already found a solution that gives us an objective function value of ẑ cost . We can
follow a similar approach for solving [OCH]b.

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 12 Job 2 Job 5

Job 8 Job 9
. . . . .
OFTs in . . . . .
. . . . .

Job 7 Job 21 Job 5

(a)

Machine 1 Job 3 Job 2 Null 1 Null 2 Null 3 Machine 1 schedule Job 3 Job 2

Machine 2 Job 4 Null 4 Null 5 Null 6 Null 7 Machine 2 schedule Job 4

Job 5 Job 1 Null 8 Null 9 Null 10


Machine 3 Machine 3 schedule Job 5 Job 1

(b) (c)

Fig. 6  Chromosome representation and its translation to a practical solution

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.

4.1 Generating a smart‑minded initial solution

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

In order to evaluate the effectiveness of PGMS heuristic, another similar heuris-


tic, random machine selection (RMS), is also developed by adjusting the selection
probability of each machine. In RMS, we give the same probability to all machines
which the job can be assigned to (i.e., the probability is independent of the expected
effect on the fitness). A comparative study of these two heuristics will be conducted
in Sect. 5.
Regarding the evaluation of each chromosome and finding its fitness, note that
when we generate a chromosome, we indeed assign 0–1 binaries to Yik s. Conse-
quently, the values of all Xijk s for a specific k ∈ K can be determined by the sequence
of the jobs given to OFT k, and we will know when a service starts, ends, stops due
to maintenance, and when an OFT is idle considering the readiness of the next job
supposed to be done. In fact, all maintenance periods are given, and we know the
jobs and their sequences assigned to each OFT. Then, we start each job based on
the determined sequence as soon as the readiness of the OFT, its OGV, and its own
considering the interrupted switching time (tI ). We are also able to calculate overlap
times which give us the values corresponding to ZiE s and ZiL s. Therefore, we obtain
the fitness of all solutions/chromosomes accordingly.

4.2 Crossover and mutation

We apply two crossover operators named position-based and order-based inspired


by Larranaga et al. (1996). Figure 7 illustrates how two parents can be combined
to produce two offsprings using the position-based crossover operator. The par-
ents are encoded in Fig. 7a. In Fig. 7b, we generate a random position indicator
by binary values, and then we create “Child 1 (unfilled)” and “Child 2 (unfilled)”
based on Parent 1 and Parent 2, respectively. In order to fill Child 1 in Fig. 7c,

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

Child 2 (unfilled) Job 1 Null 1 Job 2 Null 4 Null 5 Null 6 Null 9

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

Parent 1 not Child 2 Null


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

Fig. 7  Position-based crossover

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.

Fig. 8  Order-based crossover

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

We integrate previously discussed approaches and GA operators to establish our


algorithm. Procedure 2 shows the proposed GA with several design modifica-
tions for addressing our requirements in [OCH]. In lines 1–2, basic parameters/
sets required for performing GAOCH are set. We establish our initial population in
lines 3–4 by applying either PGMS given in Procedure 1 or RMS. Two stop cri-
teria are set in line 7 of Procedure 2 to terminate GAOCH. Two generation coun-
ters are tracked throughout the algorithm: the total number of generations (g) and
the number of generations with fitness stagnation ( gstag). If gstag reaches a constant
like GRstag, the algorithm deems that a stable (nearly optimal) solution is found, and
returns the solution with the best fitness ever found. Otherwise, if this case does not
happen, the algorithm stops after GRmax number of generations. The new generation
(next generation) will be composed of three groups of chromosomes: elites from
the previous/current generation (line 8), feasible accepted offsprings (lines 9–15),
and newly generated individuals (lines 17–18). The Elitism strategy is employed to
ensure a number of individuals with the best fitness value (elites) are directly added
to the next generation. In terms of parent selection, we use two approaches: Roulette
Wheel Selection (RWS) introduced by Holland (1992) (the probability of selecting
a chromosome is proportionate to its fitness) and Tournament Selection (TS) where

13
Scheduling offshore cargo handling with operational dynamics…

we randomly select two chromosomes. We also generate a number of new solutions


in lines 17–18 to promote solution diversity. Every individual in the next generation
is evaluated in line 20. We update g and gstag in lines 21–25 and set the current gen-
eration into the newly built generation in line 27. This process is repeated until one
of the stopping criteria is met.

Procedure 2 GAOCH for generating an effective solution for an [OCH]


instance.
Output: (chromosome).
1: Npop (population size); Nnew (number of new individuals introduced per new
generation); Pmutation (mutation probability); Nelite (number of elite individ-
uals directly transferred to the next generation); GRmax (maximum number of
generations); GRstag (maximum number of generations with fitness stagnation);
2: GRcurrent := ∅ (set of individuals in the current generation); GRnext := ∅ (set
of individuals in the next generation); g := 0 (generation counter); gstag := 0
(stagnation counter);
3: for each c ∈ {1, . . . , Npop } do
4: generate a chromosome by applying either Algorithm 1 (PGMS approach) or
RMS approach and add to GRcurrent .
5: end for
6: Find the fitness of all chromosomes in GRcurrent .
7: while g < GRmax and gstag < GRstag do
8: Add the Nelite best solutions of GRcurrent to GRnext .
9: while GRnext < (Npop − Nnew ) do
10: select two parents and produce a feasible acceptable child by crossover.
11: Mutate the child with the probability of Pmutation .
12: if the child is not a feasible acceptable solution then
13: Create a new solution by either PGMS or RMS as the child.
14: end if
15: Add the new child to GRnext .
16: end while
17: for each c ∈ {1, . . . , Nnew } do
18: generate a chromosome by applying either Procedure 1 (PGMS approach)
or RMS approach and add to GRnext .
19: end for
20: Evaluate the fitness of all chromosomes in GRnext ;
21: g = g + 1.
22: if the fitness of the best solution in GRcurrent and GRnext is equal then
23: gstag = gstag + 1
24: else
25: gstag = 0
26: end if
27: GRcurrent = GRnext ; GRnext = ∅.
28: end while
29: return the chromosome with the best fitness in GRcurrent .

GA generally can be improved in terms of time and solution quality by changing


some parameters introduced in line 1 of Procedure 2. Other than those changes, we
have introduced a variety of implementations for GAOCH. In terms of initialization
and generating a new chromosome, PGMS and RMS exist. For crossover operators,
two alternatives are proposed: position-based (PB) and order-based (OB). Muta-
tion can also be implemented by either swap (SW) or insertion (INS). And, we have

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…

Mutations Tuned parameters SW, INS Nil


Parent selection Tuned parameters RWS, TS Nil
Stopping criteria Tuned parameters GRmax , GRstag Nil

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.

5.1 Evaluating GAOCH’s performance with different implementations

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

Table 4  Comparison between Criteria PGMS PB versus SW ver- RWS


every two alternatives for versus OB sus INS versus
the initialization, crossover, RMS TS
mutation, and parent selection
Best fitness 42 18 24 36 39 21 25 35
Fastest run 20 40 0 60 33 27 0 60
Fastest convergence 40 20 47 13 30 30 2 58

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

PGMS-PB-INS-RWS 259437.5 28841.6 790.8 354.6 192.8 29.8


PGMS-PB-INS-TS 258577.5 28842.2 309.7 186.4 91 10
RMS-OB-SW-RWS 258701.3 28846.2 256.6 113.9 124.2 18.5
RMS-OB-SW-TS 259249.1 28848.2 128.6 55.3 111.8 14.7
RMS-OB-INS-RWS 258950.1 28843.2 268.9 118.5 132.4 20.9
RMS-OB-INS-TS 259246.4 28844.4 129.7 57.5 110.1 16.9
RMS-PB-SW-RWS 259453.3 28842.2 753.9 321.5 192.7 29.9
RMS-PB-SW-TS 258604.1 28842.3 291 198.7 86.7 10.9
Scheduling offshore cargo handling with operational dynamics…

RMS-PB-INS-RWS 259457.5 28842.2 729.1 327.7 190.3 31.4


RMS-PB-INS-TS 258622.5 28842 298.5 200.4 86.9 11.3
PGMS-OB-SW-RWS 258729.2 28844.2 299.1 141.5 130 18.6
PGMS-OB-SW-TS 259010 28844.2 137.1 58 118.3 14.9
PGMS-OB-INS-RWS 258810 28844.7 278.2 140.5 118 18.4
PGMS-OB-INS-TS 259174 28846.9 137.7 58 119.8 15
PGMS-PB-SW-RWS 259356.5 28841.9 827.7 352.3 198.1 29.4
PGMS-PB-SW-TS 258543.8 28841.6 280.8 185.7 80.5 9.6

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.

5.2 GAOCH’s effectiveness versus CPLEX’s

In this subsection, we denote GAOCH with RMS-OB-SW-TS and PGMS-PB-


SW-TS implementations by “GAOCH-fast” and “GAOCH-good”, respectively. In
Table 6 with numbered columns, we minimize zcost and solve instances with |V| ≤ 28
using CPLEX optimizer (with a 2-h time limit), GAOCH-good, and GAOCH-fast
(CPLEX does not result in a reasonable optimality gap for larger instances within
2 h).
In terms of CPU time, CPLEX outperforms GAOCH when small instances are
being solved. However, when larger instances are taken into account, there is a sig-
nificant difference between GAOCH and CPLEX which prioritizes using GAOCH.
Regarding solution quality, we compare Column 5 with Column 2 and Column
8 with Column 2 and report the difference percentage in Columns 6 and 9, respec-
tively. A negative value in Column 6 (or 9) shows that CPLEX has obtained bet-
ter solutions than GAOCH-good (or GAOCH-fast). As seen in Table 6, GAOCH-
good finds the exact optimal solution in all instances with |V| ≤ 16 except in one
instance with |V| = 12. On average, GAOCH-good outperforms CPLEX’s solutions
because of CPLEX’s inefficiency in solving larger instances. We also observed that
GAOCH-fast performs efficiently compared to CPLEX, and slightly underperforms
GAOCH-good in terms of fitness values.
In Table 7, we follow the same comparative approach for minimizing zmakespan.
Comparing Tables 6 and 7, we note that solving an instance with makespan mini-
mization is more difficult for CPLEX optimizer in comparison with minimizing
the total cost (i.e., larger optimality gaps are observed); however, GAOCH shows
a better performance in terms of CPU time for optimizing the makespan. As seen
in Table 7, GAOCH outperforms CPLEX in solving all instances with |V| ≥ 16.
It shows the effectiveness and importance of applying GAOCH for solving [OCH]
as a practical complex mixed-integer linear programming model in offshore cargo
scheduling.
In summary, GAOCH works effectively to solve our proposed problem in off-
shore cargo handling for minimizing either of the total cost or makespan. Although
GAOCH performs better for minimizing zcost , it also outperforms CPLEX optimizer
for minimizing costs with a 2-h time limit in larger instances. On the other hand,
GAOCH solves the instances given in Tables 6 and 7 in a few minutes that gives a
significant advantage to The Service Provider for scheduling OFTs effectively in a
short response time.

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)

4 33720.5 0% 0.1 33720.5 0% 12.3 33720.5 0% 10.5


6 50927.9 0% 0.2 50927.9 0% 14.8 50927.9 0% 14.2
8 59807.8 0% 0.3 59807.8 0% 19.9 59807.8 0% 18.7
10 73997.4 0% 0.7 73997.4 0% 27.1 73997.4 0% 24.5
12 97776.9 0% 1.9 97870.6 − 0.102% 38.4 97823.7 − 0.051% 27.9
14 110364.2 0% 3.1 110364.2 0% 45.1 110411.1 − 0.045% 42.0
16 120377.8 0% 3.0 120377.8 0% 54.0 120471.6 − 0.082% 50.2
Scheduling offshore cargo handling with operational dynamics…

18 152232.2 0.003% 5.8 152232.2 0% 63.3 152372.8 − 0.099% 59.8


20 200048.7 0.007% 36.5 200095.5 − 0.025% 91.3 200201.8 − 0.082% 79.6
22 211799.2 1.217% 2698.0 209711.7 0.870% 137.9 209812.9 0.819% 94.1
24 235455.8 8.4% 3764.0 234006.7 0.652% 193.4 234136.5 0.593% 133.2
26 243655.3 20.020% 7200.4 236128.7 2.867% 298.7 236946.5 2.547% 133.1
28 251974.8 23.663% 7200.4 256603.4 − 1.568% 392.1 256804.5 − 1.652% 191.8
Avg 141702.9 4.101% 1608.8 141218.8 0.207% 106.8 141341.2 0.150% 67.7

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

4 11763.2 0% 0.1 11763.2 0% 11.6 11763.2 0% 9.8


6 11883.3 0% 0.2 11883.3 0% 15.7 11883.3 0% 13.0
8 13153.0 0% 0.4 13153.0 0% 22.9 13153.0 0% 16.1
10 13311.5 0% 1.3 13311.5 0% 32.1 13311.5 0% 21.0
12 15353.1 0% 1.1 15353.1 0% 58.1 15353.1 0% 24.3
14 18107.6 0% 4.8 18107.6 0% 83.3 18107.6 0% 28.0
16 24683.7 31.063% 7200.3 22663.7 8.258% 50.4 22663.7 8.258% 28.5
18 30394.0 44.163% 7212.1 27218.1 10.503% 51.8 27218.1 10.503% 33.7
20 33350.9 45.970% 7211.3 29695.0 10.962% 62.7 29695.0 10.962% 36.0
22 36543.0 58.227% 7210.5 33141.0 9.355% 83.5 33141.0 9.355% 45.0
24 36543.0 57.477% 7213.7 33141.0 9.355% 125.6 33141.0 9.355% 55.5
26 36543.0 61.297% 7221.8 33141.0 9.355% 174.4 33141.0 9.355% 58.0
28 36543.0 64.403% 7205.8 35495.2 2.91% 231.9 35498.1 2.902% 70.0
Avg 24474.8 27.892% 3883.3 22928.2 4.669% 77.2 22928.4 4.668% 33.7
B. K. Lee et al.
Scheduling offshore cargo handling with operational dynamics…

travel cost handling cost demurrage/despatch cost

100%

80%

60%

40%

20%

0%
4 6 8 10 12 14 16 18 20 22 24 26 28

-20%
|V|

Fig. 9  Cost breakdown for GAOCH-good solutions associated with Table 6

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.

5.3 Solving large‑sized instances with GAOCH

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.

5.4 Cost analysis for the service provider

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

Table 9  Cost components ∑


Traveling cost’s Handling cost’s Demurrage
nk
analysis in medium-sized k∈K
share (%) share (%) cost’s share
instances using GAOCH-good (%)
as solver
0 0.9 68.8 30.3
2 0.9 70.0 29.0
4 0.7 57.1 42.2

13
Scheduling offshore cargo handling with operational dynamics…

Service Provider and becomes greater by the number of maintenance periods. In


order to avoid delays that cause demurrage cost, a service provider may cooperate
with 3PLs with cost-effective service fees. The invitation of 3PL OFTs might reduce
demurrage cost and the handling cost whereas the rental cost of 3PL OFT, c3jk , would
be a necessary expenditure. In that case, the utilization of the existing OFTs—as
fixed assets—will be decreased.

6 Conclusions and future research directions

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.

Appendix 1: Linearizing non‑linear constraints

In (5a), expression Uikn Si is non-linear and needs to be linearized. Therefore, we let


p

∶= Uikn Si ∀i ∈ G, k ∈ K , and n ∈ nk and replace the following constraints:


𝛽 p
Uikn
𝛽 p
Uikn ≤ MUikn , ∀i ∈ G, k ∈ K, n ∈ nk , (10)

𝛽
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)

In order to linearize (5f), we apply the following constraints:

(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 ,

Appendix 2: Real‑life applications

The scheduling system prototype embedding the proposed scheduler is developed by


Rocktree Logistics to produce OFT work schedules by considering various assign-
ment conditions discussed in the Sect. 3. The prototype is synchronized with the leg-
acy information system to extract the necessary data of OFTs, OGVs and barges and
to deploy the scheduling outcomes. Figure 10 is a screenshot of the legacy system

Fig. 10  User interface on OGV line-up

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.

Fig. 11  Components the scheduler embedded to the scheduling prototype

13
B. K. Lee et al.

Table 10  Notations for the cost calculation practices

b Unit cost of bunker fuel


bbase Unit cost for bunker fuel consumption for loading operations of an OFT (base)
bexp Unit cost for bunker fuel consumption for loading operations of an OFT (exponent)
s Stevedoring cost of an OFT
dij Distance between the two positions i and j, standing for either a barge-subset or an
OFT. The distance unit is typically presented as nautical miles
dtI Time duration of idling of an OFT
qj Cargo quantity of barge subset j
cT (k) Unit cost for bunker fuel consumption for traveling, where k stands for an OFT
cI (k) Unit cost for bunker fuel consumption for idling of OFT k
l(k) Loading rate (cargo quantity/unit time) of OFT k

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/​marit​ime-​singa​pore/​port-​stati​stics. 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.​rockt​ree.​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://​uncta​dstat.​unctad.​org/​wds/​Repor​tFold​ers/​repor​tFold​ers.​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.

Authors and Affiliations

Byung Kwon Lee1 · Seyyed Amir Babak Rasmi2 · Jakkarin Sae‑Tiew3


Seyyed Amir Babak Rasmi
babak.rasmi@curtin.edu.au
Jakkarin Sae‑Tiew
jakkarin@u.nus.edu
1
Innovative Transportation and Logistics Research Center, Korea Railroad Research Institute,
176 Cheoldobangmulgwan‑ro, Uiwang‑si, Gyeonggi‑do 16105, South Korea
2
Curtin Centre for Optimisation and Decision Science, Curtin University, Kent Street, Bentley,
WA 6102, Australia
3
Department of Industrial Systems Engineering and Management, National University
of Singapore, 1 Engineering Drive 2, Singapore 117576, Singapore

13
View publication stats

You might also like