A Comparison Between Optimization Algorithms Applied to Offshore

A Comparison Between Optimization
Algorithms Applied to Offshore Crane Design
Using an Online Crane Prototyping Tool
Ibrahim A. Hameed(B) , Robin T. Bye, and Ottar L. Osen
Software and Intelligent Control Engineering Laboratory,
Faculty of Engineering and Natural Sciences,
Norwegian University of Science and Technology,
NTNU in Ålesund, Postboks 1517, 6025 Ålesund, Norway
{ibib,robin.t.bye,ottar.l.osen}@ntnu.no
http://blog.hials.no/softice/
Abstract. Offshore crane design requires the configuration of a large set
of design parameters in a manner that meets customers’ demands and
operational requirements, which makes it a very tedious, time-consuming
and expensive process if it is done manually. The need to reduce the
time and cost involved in the design process encourages companies to
adopt virtual prototyping in the design and manufacturing process. In
this paper, we introduce a server-side crane prototyping tool able to
calculate a number of key performance indicators of a specified crane
design based on a set of about 120 design parameters. We also present
an artificial intelligence client for product optimisation that adopts various optimization algorithms such as the genetic algorithm, particle swarm
optimization, and simulated annealing for optimising various design parameters in a manner that achieves the crane’s desired design criteria (e.g.,
performance and cost specifications). The goal of this paper is to compare the performance of the aforementioned algorithms for offshore crane
design in terms of convergence time, accuracy, and their suitability to the
problem domain.
Keywords: Virtual prototyping · Product optimisation · Artificial
intelligence · Genetic algorithm (GA) · Particle swarm optimization
(PSO) · Simulated annealing (SA) · Automation
1
Introduction
The need to reduce the time and cost involved in taking a product from conceptualisation to production and the desire to meet customers’ demands have
encouraged producers to adopt new technologies in manufacturing such as virtual prototyping (VP) [1]. VP refers to the process of simulating the user, the
c Springer International Publishing AG 2017
A.E. Hassanien et al. (eds.), Proceedings of the International Conference
on Advanced Intelligent Systems and Informatics 2016, Advances in Intelligent
Systems and Computing 533, DOI 10.1007/978-3-319-48308-5 26
Optimization of Offshore Crane Design
267
product, and their combined (physical) interaction in software through the different stages of product design, and the quantitative performance analysis of
the product [2]. Being a relatively new technology, VP typically involves the use
of virtual reality (VR), virtual environments (VE), computer-automated design
(CautoD) solutions, computer-aided design (CAD) tools, and other computer
technologies to create digital prototypes [3].
Members of the Software and Intelligent Control Engineering (SoftICE) Laboratory at NTNU in Ålesund have previously presented a CautoD solution for
product design optimization, initially focused on the design of offshore cranes
[4–6]. Specifically, Bye et al. [4] introduced a server-side crane prototyping tool
(CPT) whose key component is a crane calculator able to calculate a number
of key performance indicators (KPIs) of a specified crane design based on a set
of about 120 design parameters. In the same paper, the authors also introduced
a client-side web graphical user interface (GUI) that facilitates the process of
manually selecting the design parameters in the CPT to obtain a simple visualisation of the designed crane and its 2D safe working load (SWL) chart. Subsequently, we have presented a client-side artificial intelligence for product optimisation (AIPO) module that uses a genetic algorithm (GA) for optimising the
design parameters in a manner that achieves the crane’s desired design criteria
(e.g., KPIs related to performance and cost specifications) [5]. Hameed et al.
[6] replaced the AIPO module and its GA library with a new Matlab software
module, the Matlab crane optimisation client (MCOC), that also used a GA for
optimization. Additionally, and contrary to the AIPO module, the MCOC also
included the possibility for multiobjective optimization (MOO).
The purpose of this paper is to further extend the MCOC with particle
swarm optimization (PSO) and simulated annealing (SA), apply these various
optimization algorithms to offshore crane design using the previously developed
CPT, and compare the performance of these algorithms in terms of convergence time and accuracy. Offering a number of different objective functions and
algorithms for optimizing these objectives, users will have several optimization
options they can choose from with an ultimate goal to reduce cost and time of
the design process. The remainder of the paper is organized as follows: A review
of our offshore crane design optimization framework is presented in Sect. 2. An
introduction to the various optimization algorithms and various objective functions are presented in Sect. 3. In Sect. 4, results of the optimization algorithms
applied to the offshore crane design problem are presented. Finally, a comparison between different algorithms in terms of convergence time and accuracy,
concluding remarks, and future work is presented in Sect. 5.
2
Sofware Framework for Offshore Crane Design
This section outlines the software architecture and describes the main components of the software framework.
268
I.A. Hameed et al.
Fig. 1. Generic and modular software architecture for intelligent CautoD of offshore
cranes, winches, or other products.The modules in white (grey) and their solid (dashed)
interconnections are inside (outside) the scope of this paper [5, 6].
2.1
Client-Server Architecture
The diagram in Fig. 1 shows the client-server architecture of the software framework [5].
On the server-side, the CPT is able to calculate a number of KPIs of a
specified crane design based on a set of about 120 design parameters. On the
client-side, the web GUI facilities the process of manually selecting the design
parameters of the designed CPT and providing a simple visualisation of the
designed crane and its 2D workspace safe working load (SWL) chart [4]. Additionally, the AIPO module uses a GA for optimising the design parameters in
a manner that achieves the crane’s desired design criteria. Each KPI is typically related to overall performance, weight and cost of the designed crane.
Both WebSocket (WS) and the hypertext transfer protocol (HTTP) have been
implemented as communication interfaces (see Fig. 1). Whereas Bye et al. [5]
tested and used their AIPO client using HTTP, [6] tested and used WS for their
MCOC. Both approaches in [5,6] used the JavaScript Object Notation (JSON), a
lightweight human-readable data-interchange format, for data messages. In this
study, we adopt the same approach as in [6] but extend the MCOC module with
the PSO and SA optimization algorithms. We use WS with JSON for communication, and keep the web GUI used previously in order to obtain visualizations
of the 2D load charts.
2.2
Online Crane Prototyping Tool (CPT)
The CPT server consists of a crane calculator and two modules for handling
WS/JSJON and HTTP/JSON connections (see Fig. 1). Here, the MCOC connect to the CPT via WS/JSON. Messages are sent as JSON objects in a standardised format that the CPT accepts, consisting of three parts (subobjects)
[5]: (i) a base object with a complete set of default design parameter values;
Optimization of Offshore Crane Design
269
(ii) a mods object with a subset of design parameter values that modifies the
corresponding default values; and (iii) a kpis object with the desired KPIs to
be calculated from base and mods and returned to the MCOC by the CPT.
2.3
Crane Calculator
The components of an offshore crane may consist of several thousand parameters,
however, with the help from crane designers we have been able to isolate the most
important ones and reduce this number to a set of about 120 design parameters.
Based on the values of these parameters, which can be set manually or by a
CautoD tool such as MCOC, the crane calculator is able to calculate a fully
specified crane design and its associated KPIs [4]. The goal of the designer is
therefore to determine appropriate design parameter values that achieve some
desired design criteria based on KPIs, or to try to improve an existing design.
The design must simultaneously meet requirements by laws, regulations, codes
and standards, as well as other constraints, such as a maximum total delivery
price and total crane weight.
The accuracy of our crane calculator has been verified against other crane
calculators and spreadsheets that are commonly used in the industry. As a proof
of its trustworthiness, Seaonics AS1 has already adopted the CPT server and
web GUI client for manual crane design [4].
2.4
Web Graphical User Interface (GUI)
For the sake of simplicity and practicality, the previously developed web GUI is
used to interact with the crane calculator via WS/JSON communication. The
web GUI can be used to manually adjust the 120 design parameters in the crane
calculator by a trial-and-error approach. The effect of the chosen parameter
values on a number of KPIs and other design criteria can then be investigated
numerically, with the possibility of exporting the resulting crane design data
to text files. The GUI also provides a simple visualization of the crane’s main
components and its 2D SWL load chart, as shown in Fig. 2 [4]. The load chart
is updated in real-time when the user modifies either of the design parameters.
2.5
Matlab Crane Optimisation Client (MCOC)
A manual trial-and-error design process using the web GUI together with the
CPT is time-consuming and cost-inefficient, since there are more than 120 parameters that must be specified by the crane designer [5]. This large number of
parameters makes the search space (the space of all possible combinations of
parameter values) very large and a manual trial-and-error approach will necessarily be cumbersome and lead to suboptimal designs.
1
http://www.seaonics.com/.
270
I.A. Hameed et al.
Bye et al. proposed an AIPO software module to replace the human crane
designer in order to automate and optimise the design process [5]. Hameed et al.
used Matlab to implement such a crane optimisation client, the MCOC module
[6]. For the WS/JSON interface, they used two libraries freely available from
the MathWorks File Exchange2 . The first was MatlabWebSocket, which is a
simple library consisting of a websocket server and client for Matlab, whilst the
other was JSONlab, which is a toolbox to encode/decode JSON files in Matlab.
Extending the work of [6], who used the single-objective and multi-objective GA
solvers in the Matlab Global Optimization Toolbox [7], we also employ the PSO
and SA algorithms from the same toolbox. As objective functions, the same cost
and fitness functions defined in [6] are adopted.
3
Optimization Algorithms
This section briefly describes the
optimization algorithms used for offshore crane design in this paper.
3.1
GA
GA is a search method based on principles of natural selection and genetics [8]. GAs encode the decision variables of a search problem into finitelength strings of alphabets of certain cardinality. The strings, which
are candidate solutions to the search
problem, are referred to as chromosomes, the alphabets are referred to
as genes, and the values of the genes
are called alleles. Once the problem Fig. 2. Illustration of the main components
is encoded in a chromosomal manner of an offshore knuckleboom crane and its
and a fitness or cost measure for dis- 2D load chart. Image courtesy of ICD Softcriminating good solutions from bad ware AS.
ones has been chosen, a GA can start to evolve a population of candidate solutions to the search problem using the following standard steps in loop: initialization, evaluation, selection, recombination, mutation, and replacement. For more
technical details about GA, please refer to [9].
3.2
PSO Algorithm
PSO is a population-based stochastic optimization technique, developed by
Eberhart and Kennedy in 1995 [10,11]. A simple PSO is initialized with a group
2
http://www.mathworks.com/matlabcentral/fileexchange.
Optimization of Offshore Crane Design
271
of random particles (candidate solutions) moving in a search space with the same
velocity, searching for an optimum solution by updating each particle’s velocity
at each iteration based on a weighted sum of three factors: (i) its inertia (previous velocity); (ii) its own personal best value found; and (iii) and the global best
found among all or a subset of all particles. By choosing appropriate weights,
the algorithm is able to explore and exploit the search space by moving the
particles to better solutions. PSO has been successfully applied in many areas,
for example function optimization, artificial neural network training, and fuzzy
system control [13].
3.3
SA Algorithm
SA is an optimization algorithm that is emulating the cooling and crystallizing
behaviour of chemical substances. Since annealing in nature results in low-energy
configurations of crystals, it can be simulated in an algorithm to minimize cost
functions. SA was first presented by Kirkpatrick, Gelett and Vecchi in 1983 for
the optimal solution of problems related to computer design, such as component
placement and wire routing [14]. SA was independently derived by Vlado Cerny
in 1985, who used it to solve the travelling salesman problem [15]. The literature
often distinguishes SA from evolutionary algorithms because SA does not involve
a population of candidate solutions and therefore SA is considered a singleindividual stochastic algorithm [16].
3.4
Objective Functions
In this paper, a set of crane design objective functions adopted from [6] are used
for testing the optimization algorithms. All of the objectives are functions of two
crane KPIs, namely SWLmax , which is the maximum safe working load, and W,
which is the total crane weight.
– f1 is given as the ratio of SWLmax to W,
f1 =
SWLmax
.
W
(1)
We note that f1 will increase when SWLmax increases and/or W decreases,
and vice versa.
– f2 (w1 , w2 ) is given as the weighted sum of both SWLmax and W,
f2 (w1 , w2 ) = w1 SWLmax + w2
1
.
W
(2)
where w1 amd w2 are weight values used to reflect the importance or amount
of contribution of SWLmax and W. We note that the total fitness will increase
as SWLmax increases and/or W decreases, and vice versa.
272
I.A. Hameed et al.
– f3 (w1 , w2 ) and f4 (w1 , w2 ) are used to design a crane where we aim for respectively W and SWLmax to be as close as possible to the parameter values of
the nominal benchmark crane, Wtarget and SWLtarget , respectively, while we
optimise the remaining KPI:
f3 (w1 , w2 ) = w1
1
+ w2 |Wtarget − W|
SWLmax
(3)
and
f4 (w1 , w2 ) = w1 |SWLtarget − SWLmax | + w2 W,
(4)
where w1 and w2 are weight values defined as before. The weight values w1
and w2 in this paper are set to one.
3.5
Case Study: Optimization of a Real Knuckleboom Crane
We adopt the same case study as we have presented previously in [5,6], where
a real-world knuckleboom crane designed and delivered to a company in Baku,
Azerbaijan, is used as a nominal benchmark against optimised crane designs
determined by the optimization algorithms. As mentioned previously, such offshore cranes have about 120 different design parameters and a number of KPIs
that can be derived from the chosen design. In an attempt to reduce design
time, cost and satisfy customers’ needs, a CautoD solution in which the MCOC
module uses various optimization algorithms is used to automate the process
and optimise the design. Here, GA, PSO and SA algorithms are applied to the
offshore crane design problem for the four different objective functions described
in previous section.
4
Results
Table 1 provides a summary of the results. For each optimization algorithm, the
table compares the boom length (mm), Lboom , the jib length (mm), Ljib , the
maximum boom pressure (bar), Pmax,boom , and the maximum jib pressure (bar),
Pmax,jib , as well as the resulting maximum safe working load (ton), SWLmax , and
the total crane weight (ton), W, for the benchmark nominal crane, fn , with each
of the crane designs optimized using objective functions f1 –f4 . The table also
shows the total convergence times T (hours) and the total number of iterations
for each optimization algorithm employing each of the objective functions, and
the mean and median values across each configuration.
Table 1 show that the SA required orders of magnitude more iterations to
converge than the GA and PSO. This is due to the fact that SA only improves a
single candidate solution at any iteration, whereas the GA and PSO both employ
sets with many candidate solutions. The PSO converged slightly earlier than the
GA for f1 and f2 , whilst the GA converged much earlier than the PSO for f3
and f4 . Looking at the processing time T , the same relationship between PSO
and GA holds, whereas the processing time of SA is much longer for f1 and f2
Optimization of Offshore Crane Design
273
Table 1. Optimization results for various objective functions compared to benchmark
nominal crane design fn .
Measure
fn
Lboom
Ljib
Pmax,boom
Pmax,jib
fitness
SWLmax
W
T
iterations
15800 −3763
10300 −4176
315,0
68,0
215,0
47,0
1,26
100,0
42,2
50,7 −6,8
1,64
26
−3533
−4179
25,9
51,8
40,66
40,7
−6,6
2,30
31
3666
−4015
77,1
79,7
0,02
3,0
−0,0
1,73
23
PSO Lboom
Ljib
Pmax,boom
Pmax,jib
fitness
SWLmax
W
T
iterations
15800 −3800
10300 −4300
315,0
45,6
215,0
85,0
1,30
100,0
43,4
50,9 −7,0
1,50
21
−3800
−4300
45,6
85,0
28,29
43,4
−7,0
1,67
21
3940
−4300
66,5
13,8
0,01
3,2
0,0
4,04
61
15800 −3799 −3793
10300 −1445 −3364
315,0
22,5
44,1
215,0 −41,5
61,0
1,00
25,92
100,0
37,0
40,0
50,9 −4,6
−6,2
8,14
8,13
11708 11708
−220
246
65,7
2,6
0,01
4,0
0,0
4,44
6418
GA
SA
Lboom
Ljib
Pmax,boom
Pmax,jib
fitness
SWLmax
W
T
iterations
f1 − fn f2 − fn f3 − fn f4 − fn
−2356
−1971
−41,6
−114,0
50,89
−0,0
−3,8
1,52
22
Mean
Median
−1497
−3585
32,4
16,1
23,21
21,4
−4,3
1,80
25,5
−2945
−4096
47,0
49,4
20,96
21,8
−5,2
1,69
24,5
−3789 −1862
−4297 −4299
−87,7
17,5
−65,4
29,6
50,86
20,12
0,0
22,5
−7,0
−5,2
4,37
2,89
66
42,25
−3795
−4300
45,6
49,4
14,80
23,3
−7,0
2,85
41
−92
−219
−0,5
−59,8
50,86
0,0
−0,3
1,54
2198
−2006
−832
33,3
−19,5
13,46
20,5
−2,4
6,29
9063
−1976
−1195
33,0
−9,5
19.45
20,1
−2,8
5,56
8008
than that of the GA and PSO but only slightly worse for f3 and almost three
times faster than the PSO for f4 .
For optimization of f1 and f2 , PSO is the best choice (biggest increase of
SWLmax and biggest decrease of W), slightly outperforming the GA, which in
turn provides a better result than SA. For optimization of f3 , where the optimal
W must be close to Wtarget SA has the greatest maximisation of SWLmax , before
PSO followed by the GA. For optimization of f4 , however, where the optimal
SWLmax must be close to Wtarget , SA is only able to slightly improve (reduce)
W, whilst PSO is the best choice followed by the GA.
274
I.A. Hameed et al.
The abovementioned observations are summarised in
Fig. 3, which shows the median
convergence time and median
difference of the optimized
SWLmax and W using GA,
PSO and SA and the nominal
crane. The figure shows that
when considering median values, the GA converged faster
compared to both PSO and
SA, whereas PSO yields the
highest value of SWLmax and
the lowest value of W compared to the values of both the Fig. 3. Mean convergence time and mean difference
GA and SA.
between the optimized SWLmax and W using GA,
PSO and SA and the nominal crane values.
5
Conclusions
In this paper, the GA, PSO, and SA optimization algorithms are applied to the
optimization of an offshore crane design problem using four different objective
functions f1 –f4 that are all related to two KPIs, the maximum SWL, SWLmax ,
and the total crane weight, W.
The results show that all three optimization algorithms are able to determine
optimized crane designs that outperforms a nominal benchmark crane, for a
number of different objective functions, and in only a matter of hours. PSO has
the best optimization for all the objective functions, except for f3 , where it is
slightly worse than SA. Its convergence rate and processing time outperform
those of the GA and SA for f1 and f2 , whilst being 2–3 times worse than the
GA for f3 and f4 . However, one may speculate that the GA will require more
iterations and a longer processing time to achieve the same optimization results
as the PSO. Finally, we note that in addition to its implementation simplicity,
PSO has the smallest number of tuning parameters compared to GA and SA.
Given all these factors, we conclude that PSO is the best general purpose choice,
but note that the SA seems particularly well suited for optimization of f3 . The
GA has a higher implementation complexity than PSO but can also be a suitable
general purpose choice at the expense of requiring more iterations and processing
time than used here.
The CautoD solution proposed in this paper is not limited to crane design
but can easily be extended and applied to the design of various other products
or complex systems. The online system framework described in this paper is
currently in operation at the SoftICE lab at NTNU in Ålesund and the authors
are encouraging interested researchers and readers to contact them to use it in
their own applications.
Optimization of Offshore Crane Design
275
Acknowledgements. The SoftICE lab at NTNU in Ålesund wishes to thank ICD
Software AS for their contribution towards the implementation of the simulator, and
Seaonics AS for providing documentation and insight into the design and manufacturing
process of offshore cranes. We are also grateful for the support provided by Regionalt Forskningsfond (RFF) Midt-Norge and the Research Council of Norway through
the VRI research projects Artificial Intelligence for Crane Design (Kunstig intelligens
for krandesign (KIK)), grant no. 241238 and Artificial Intelligence for Winch Design
(Kunstig intelligens for vinsjdesign (KIV)), grant no. 249171.
References
1. Mujber, T.S., Szecsi, T., Hashmi, M.S.J.: Virtual reality applications in manufacturing process simulation. J. Mater. Process. Technol. 155, 1834–1838 (2004)
2. Peng, S., Venkat, K., Vijay, V., Richard, M.: Design and virtual prototyping of
humanworn manipulation devices. In: The ASME Design Technical Conference
and Computers in Engineering Conference, DETC99/CIE-9029, Nevada, Las Vegas
(1999)
3. Gowda, S., Jayaram, S., Jayaram, U.: Architectures for internet-based collaborative
virtual prototyping. In: The ASME Design Technical Conference and Computers
in Engineering Conference, DETC99/CIE-9029, Nevada, Las Vegas (1999)
4. Bye, R.T., Osen, O.L., Pedersen, B.S.: A computer-automated design tool for intelligent virtual prototyping of offshore cranes. In: Proceedings of the 29th European Conference on Modeling and Simulation (ECMS 2015), pp. 147–156, Albena,
Bulgaria (2015)
5. Bye, R.T., Osen, O.L., Pedersen, B.S., Hameed, I.A., Schaathun, H.G.: A software
framework for intelligent computer-automated product design. In: Proceedings of
the 30th European Conference on Modeling and Simulation (ECMS 2016), pp.
534–543, Regensburg, Germany (2016)
6. Hameed, I.A., Bye, R.T., Osen, O.L., Pedersen, B.S., Schaathun, H.G.: Intelligent
computer-automated crane design using an online crane prototyping tool. In: Proceedings of the 30th European Conference on Modeling and Simulation (ECMS
2016), pp. 564–573, Regensburg, Germany (2016)
7. Mathworks Inc.: MATLAB Global Optimization Toolbox. The Mathworks Inc., Natick, Massachusetts (2015). http://mathworks.com/products/
global-optimization/
8. Holland, J.H.: Adaptation in Natural and Artificial Systems: An Introductory
Analysis with Applications to Biology, Control, and Artificial Intelligence. University of Michigan Press, Oxford (1975)
9. Simon, D.: Evolutionary Optimization Algorithms: Biologically Inspired and
Population-Based Appraoches to Computer Intelligence. Wiley, Hoboken (2013)
10. Kennedy, J., Eberhart, R.C.: Particle swarm optimization. In: Proceedings of IEEE
International Conference on Neural Networks, vol. IV, pp. 1942–1948. IEEE service
center, Piscataway, NJ (1995)
11. Eberhart, R.C., Kennedy, J.: A new optimizer using particle swarm theory. In:
Proceedings of the Sixth International Symposium on Micro Machine and Human
Science, pp. 39–43. IEEE service center, Piscataway, NJ, Nagoya, Japan (1995)
12. Eberhart, R.C., Shi, Y.: Comparison between genetic algorithms and particle
swarm optimization. In: Porto, V.W., Saravanan, N., Waagen, D., Eiben, A.E.
(eds.) EP 1998. LNCS, vol. 1447, pp. 611–616. Springer, Heidelberg (1998). doi:10.
1007/BFb0040812
276
I.A. Hameed et al.
13. Eberhart, R.C., Shi, Y.: Particle swarm optimization: developments, applications
and resources. In: Proceedings of Congress on Evolutionary Computation 2001.
IEEE service center, Piscataway, NJ., Seoul, Korea (2001)
14. Kirkpatrick, S., Gelett, C.D., Vecchi, M.P.: Optimization by simulated annealing.
Science 220, 621–630 (2001)
15. Cerny, V.: A thermodynamic appraoch to the traveling salesman problem: an efficient simulation. J. Optim. Theory Appl. 45, 44–51 (2001)
16. Davis, L., Steenstrup, M.: Genetic algorithms and simulated annealing: An
overview. In: Davis, L. (ed.) Genetic Algorithms and Simulated Annealing, Pitman Publishing, San Diego (1987)