Ukrainian Catholic University
Faculty of Applied Sciences
Data Science Master Program
January 21st
Abstract. The maritime industry is huge and consists of a lot of complex processes. It is a consequence of the fact that the maritime industry provides most of the goods transportation. During transportation, people serve the vessel. And here the problem is raised of the optimal distribution of crew on vessels. This problem can be solved by formalizing the integer programming problem. In practice, we saw that solving this problem is time-consuming since there are a large number of free variables. This makes the solution inapplicable to the end-user. In this work, we describe the approach to speed up a solution of crew optimization for the maritime industry using the Rolling Time Horizon technique. Our approach is 3.5 times faster than the benchmark and deviates from the optimal solution by less than 1%.
X-rays from a Central “Exhaust Vent” of the Galactic Center Chimney
Master defence 2020 - Oleksandr Smyrnov - A Multifactorial Optimization of Personnel Scheduling in Fleets of Seagoing Vessels
1. Oleksandr Smyrnov
Supervisor: Dr Rupert Small
90 Percent of Everything
A multifactorial optimization
of personnel scheduling
in fleets of seagoing vessels
2. 1/24
Plan
Background overview
Problem statement
Transforming the problem into an optimization task
Rolling Time Horizon for optimization problem
Issues with Rolling Time Horizon in maritime industry
Approaches to solve the issues
Evaluation of the results
Summary
Future works
3. 2/
90% of the products in the world
are transported by sea
grain, oil, food, clothes, vehicles, chemicals, etc.
For delivering different products
exist specific kind of vessels.
Background
24
7. 6/
Working on a vessel
A sailor works for continues periods for 3-8 months. During a working period,
the sailor is transported on the vessel, and stays there till the end of the contract.
Background
Source: safety4sea.com
24
8. Background
7/
Crewing is process of finding labor power
in the maritime industry
Most crew assignment is carried out manually by operators.
So the company developed a product to automate how operators work.
24
9. Problem
statement
8/
The aim of the work
is to speed up the existing solution
with minimal deviation
from optimal solution.
24
10. Process
9/
Transforming the problem into an optimization task
Jobs formalization
Job = Vessel + Start Date + End Date + Rank
time
Job 3
Close Open
Job 5Job 5
Job 1 Job 2
Job 7Job 6
Captain
Seaman
The First Mate Job 4
24
11. Process
10/
Transforming the problem into an optimization task
Compliance Function С
Personal information which is taken
into account:
- licences
- experience
- nationality
Exact formulation of the function cannot be provided becauce of NDA
Licences Required for Job
Sailor
licences
24
12. Process
11/
Transforming the problem into an optimization task
Complex Job
time
Close Open
Job 3
Job 3
Job 4
Job 4
Job 5
Complex Job 7
Job 6Seaman
Seaman
By combining Job 5 and Job 6 we reduce costs on flights.
C(s1, Job5) + C(s1, Job6) C(s1, CJ7)
Assignment for Complex Job has more Compliance Function value,
since it reduces costs
24
13. Process
12/
Optimization problem
(1) constraint allows assigning a sailor
for no more than 1 job.
(2) constraint allows assigning
a job for no more than 1 sailor.
(3) constraint allows assigning either Complex Job
or two parts of Complex Job, but not simultaneously.
24
(1)
(2)
(3)
14. Process
13/
Rolling Time Horizon description
The whole period H=20 units of time is divided into n=6 sub-problems.
L – length in time units of sub-problem
L – number of time units before next
sub-problem
L – number of time units on which defined
the initial state for the next roll period.
int
step
overlap
(c) Marquant, Evins, and Carmeliet, 2015
24
15. Process
14/
Rolling Time Horizon description
For each of the rolls, we solve the analogous optimization problem, but with fewer number of variables.
24
Roll 1
Roll 2
Roll 3
– fixed as final solution
– passed for the next roll as initial state
16. Process
15/
Problem of licences expiring
in the Rolling Time Horizon
Job 1 Job 2
time
Sailor 1
V VV X
Sailor 2
Possible case when sailors {s1,s2} both compliant for job {J1},
but sailor {s1} is not compliant for job {J2},
because of licences expiring.
24
17. Process
16/
Problem of licences expiring
in the Rolling Time Horizon
Job 1 Job 2
time
Sailor 1
V
Sailor 2
Job 2
time
Sailor 1
X
Roll 1 Roll 2
24
19. Process
18/
Complex Jobs: Problem
1.
Complex Job
Part 2Part 1
time
3.
CJ
P2
time
P1
2.
CJ
P2P1
...
time
There are 3 possible cases
with Complex Job (CJ) and rolls:
1. CJ and both parts of the CJ in roll,
but the second part is in the intersection
2. One part of the CJ and CJ in the roll,
and the second is not
3. CJ and it’s both parts in the roll,
and not in the intersection
The reason is that we should be able to reassign
the sailor for the second part of the Complex Job,
if it will be met during the subsequent rolls.
24
20. Process
19/
Complex Jobs: Solution
In the case 1 and case 2 we eliminate Complex
Job from consideration, and change Compliance
Function value for the Job 2 of the sailor assigned,
who assigned for the Job1.
In case 3 we solve optimization problem as it is.
Since:
C(s1, Part1) + C(s1, Part2) C(s1, CJ)
1.
Complex Job
Part 2Part 1
time
3.
CJ
P2
time
P1
2.
CJ
P2P1
...
time
24
X
X
21. Results
20/24
Evaluation of the results
The objective function values using RTH technique for different parameters inverval and step
Solution time using RTH technique for different parameters inverval and step
23. Summary
22/
Executive Summary
We developed approach that is 3.5 times faster than the benchmark.
The approach deviates from the optimal solution by less than 1%
Values for business:
Rolling Time Horizon approach for maritime industry
Heuristic for jobs prioritization for Rolling Time Horizon
Approach to deal with Complex Jobs in Rolling Time Horizon
Heuristic for choosing hyperparameters
From technical side we proposed:
24
24. 23/
Future work
Test solvers with better performance
Divide sailors into groups without intersection in possible jobs,
and parallel calculations
Test with end-users
Add additional factors to Compliance Function —
cooperation of sailors, working previously on the vessel, etc.
24
25. 24/
Words
of Appreciation
I would like to say thank you to
Rupert Small, Andrii Rohovyi,
Oleksii Molchanovskyi
and Ukrainian Catholic University
24