Professional Documents
Culture Documents
Abstract
One of the most complicated and time-consuming process in ship production is to determine the
optimum route of piping. The automatic system to generate optimum collision free routes for pipes is
presented in this paper. In the past, research has been primarily focused on the use of only
deterministic or only nondeterministic optimization techniques to find the optimal route. In this paper,
the combination between deterministic and nondeterministic optimization techniques is proposed. The
strategy is to use a deterministic technique as a tool to find the optimum route while the tool’s
parameters are chosen by the nondeterministic technique. The practical aspects, i.e. branching and
minimizing the cost are included in the objective function to be optimised. The performance of this
novel approach is measured by its ability to accommodate and efficiently solve problems in the real
ship application.
1. Introduction
The design of the piping systems consumes a large part of the engineering effort for a modern ship.
Moreover, a ship is not a mass product like a car, which means that the specification is different for
each ship, and the design process has to be done for each different ship. Nowadays, pipe routing is
done manually by a pipe designer using CAD software, therefore the experience of the designers is
the dominant parameter in this process. In the design process, many decisions should be made by
designers, e.g. which pipe should be routed first, and which one is next. If this kind of decisions can
be replaced by the automatic piping system, the design man-hours can be reduced, design plans can be
standardized and the time-to-market of ships will reduce.
In line with the previous works of Kang et al. (1999), the automatic piping system has following
objectives:
1) to minimize user input and user decision,
2) to make the system easy to use,
3) to be used in real shipyard design process.
In section II, the main architecture of the automatic piping system that is used in this paper is
explained. The Interface Module of the automatic piping system is also described in more detail in
this section. Furthermore this section discusses the Engine Module of the system, it describes its
components and how each component works. This section also contains the list of variables that
should be optimized by the Optimizer Module of the system which is explained in more detail here. In
Section III the test case results are shown and discussed. Section IV concludes the paper.
Research of pipe routing in the past few years has produced remarkable results with interesting
applications to packing problems and emphasis on employing novel approaches (usually heuristic
based) and unconventional optimization methods such as nondeterministic methods to improve design
productivity.
The automatic piping system consists of three main parts. The first part is the interface that creates the
link between this routing system and commercial CAD software that is used in the shipbuilding
process. With this module the user can easily generate the input data from the information that is
already available in CAD software, like the ship construction, the equipment data and position of
equipment. This module is called the Interface Module. The conversion of the generated pipe route
data to be exported to the CAD software is also done by this module.
The second part of this system is the pipe routing tool. This tool uses Djikstra Algorithm to find the
shortest path of each pipe. This tool is called the Engine Module. The Engine Module is also capable
to decompose free space to different size of cells, where the cell size is defined by the third part of the
system, the Optimizer Module. The Optimizer Module also decides the order in which pipes should be
routed, which branch should be routed first and where it should connect, and the decision which route
should be kept and which one should be discarded. Nondeterministic optimization method is applied
for this part of the system. The Optimizer Module uses one of the population-based evolutionary
algorithms called Particle Swarm Optimization.
A brief background of Djikstra Algorithm and Particle Swarm Optimization is provided in the
following subsections.
1.2.1 Dijkstra Algorithm
Dijkstra algorithm, named after its discoverer, Dutch computer scientist Edsger Dijkstra, is an
algorithm that solves the single-source shortest path problem for a directed graph with nonnegative
edge weights.
For example, if the vertices of the graph represent cities and edge weights represent driving distances
between pairs of cities connected by a direct road, Dijkstra algorithm can be used to find the shortest
route between two cities.
The input of the algorithm consists of a weighted directed graph G and a source vertex s in G. We will
denote V the set of all vertices in the graph G. Each edge of the graph is an ordered pair of vertices (u,
v) representing a connection from vertex u to vertex v. The set of all edges is denoted by E. Weights
of edges are given by a weight function w: E → [0, ∞]; therefore w (u, v) is the non-negative cost of
moving from vertex u to vertex v. The cost of an edge can be thought of as (a generalization of) the
distance between those two vertices. The cost of a path between two vertices is the sum of costs of the
edges in that path. For a given pair of vertices s and t in V, the algorithm finds the path from s to t
with lowest cost (i.e. the shortest path). It can also be used for finding costs of shortest paths from a
single vertex s to all other vertices in the graph.
The Automatic Piping System - DelftPipe is developed as a computer aided technique of generating a
collision free and efficient route for pipes in a ship. Fig. 1 shows the main architecture of the system.
The system has three main parts, the Interface Module, the Engine Module, and the Optimizer
Module. The system has the interface, namely the Interface Module, to the commercial CAD software
that is widely used in shipbuilding, thus it can be used without much effort to key-in the required data.
The result of DelftPipe can easily be exported to the CAD software. As it can be seen in Fig. 1, the
Interface Module gets the necessary data from the CAD software to be used by the Engine Module,
and it gives back the output of DelftPipe to be used by the CAD software.
The second part of DelftPipe is the Engine Module which uses the data from the interface and
calculates the route of all pipes. This is the part of the system that actually performs the routing. This
module uses the Dijkstra Algorithm to find the shortest path of each pipe. As implied by its name, the
Engine Module works as a black box, which is only blindly running according to the directions
provided by the Optimizer Module.
Automatic Piping System
DelftPipe
Optimizer Module
Parameters
Objective Value
Engine Module
Interface Module
CAD
Software
All of the decision making process is done by the Optimizer Module of the system. This particular
part of the system finds and decides what should be done by the Engine Module, e.g. which pipe
should be routed first. The main element of the Optimizer Module is the deterministic optimization
technique called Discrete Particle Swarm Optimization briefly described before.
As can be seen in the Engine Module procedure above, the result of this module can be different
depending on the sequence in which the pipes are routed. Moreover, there is a possibility that this
module fails to find a feasible solution for all pipes for some sequence of routing the pipes. Because
of this, the sequence of the pipe to be routed plays an important part.
The decision of the order of the pipes to be routed in step 4) is made by the Optimizer Module; also
the branching is optimized by that module. In step 4), during the generation of the cells, it recognizes
the space that is already used by the previous pipes (see step 6), therefore the collision of the pipe can
be avoided.
The aspects of cell generation and branch handling are important to be noted and are briefly described
in the following two subsections.
The size of the cells in step 4) is approximately equal to the outside diameter of pipe, and pipes with
almost the same size use the same size of cells, e.g. pipes with diameter 50 and 65 use cell size 75.
a) b)
6 5 4 3 2 1 2 3 4
6 5 4 3 2 1 1 2 3
6 5 4 2 1 2 3 4
6 5 4 5
6 6 5 6
6
a) b) c)
2 3
1 2 3
1 2
1 2 3
2 3
d) e)
At least two decisions need to be made. The first one is to choose the order in which the connection
points are handled. The second decision refers to step 2) and involved the question if the branch
should only appear in the main pipe or that it can also be in a different (previously branched) pipe.
There is a third problem that is the calculation of the diameter of the pipe after each configuration of
branching. These problems can be manually defined by the user, or can be included as a task for the
Optimizer Module.
The following subsections describe PSO and DPSO in more detail, and indicate how it works as the
Optimizer Module in DelftPipe.
While wandering through the problem space, in the process updating its pbest and gbest location, each
particle, at each time step, changes its velocity and its current position according to:
(1)
(2)
where
There are two types of boundary values; velocity maximum Vmax and position boundaries xmin and
xmax. If the velocity from eq. (1) exceeds Vmax, then it is limited to Vmax. Similarly if the position xi
in eq. (2) exceeds the position boundaries, then the particle is restricted to lie on the boundary.
Vmax needs to be chosen wisely, as it influences the convergence of the search. If Vmax is too high,
particles might move too fast, passing a good solution. If Vmax is too small, the particles may not
explore the search space sufficiently. Early experience with particle swarm optimization led us to set
the acceleration constants c1, and c2 equal to 2.0 and Vmax equal to 20% of the dynamic range of the
variable.
(3)
(4)
As can be seen by comparing eq. (1) and eq. (3), there is no formal difference between classical PSO
and DPSO. However slightly different rules are imposed:
• the search space of position S = {si}
• position of a particle pi
• velocity of a particle vi
• subtraction (p, p) → velocity
• multiplication (constant, velocity) → velocity
• movement (position, velocity) → position.
The search space S is the finite set of all sequences of the pipes to be routed. The position pi is one of
the possible sequences. The interesting part is on the velocity, since the meaning of movement of the
particle is not the same as in the classical PSO. In DPSO, the velocity is just like a list of
transpositions. For example, v = (2, 5) is means that if this velocity is applied to a position pi = (0, 1,
2, 3, 4, 5), it generates a new position pi = (0, 1, 5, 3, 4, 2).
Another important aspect is to define the objective function. The objective function is a criterion for
the quality of the solution. In the Automatic Piping System, the objective function that is used is
generated by the Engine Module according to the parameters that are supplied by the Optimizer
Module.
Based on that information, the particles inside DPSO are transposed in a certain rules as described in
eq.(3) and eq.(4). That process is repeated until the target cost is achieved or until the maximum
allowable number of evaluations is reached. The process is also stopped if there is no more
improvement after a certain number of iteration.
Fig. 5: Automatic Piping System Result
The current research is motivated by the need to have smarter tools to assist the ship design process.
Moreover the result of this research has to be implemented in the real ship design process. In this
paper, we have provided some insight in some of the steps taken in this research.
The objective function that is used incorporates the cost of the pipes and includes a large penalty for a
solution that is not feasible. The number of particles of the Discrete PSO is 16 particles. The system
will run until the target value is achieved or until 1000 evaluations have been performed.
It should be remarked that for the combinatorial problem with 8 variables, there are 8! solutions. So to
find the optimum combination by performing 1000 objective evaluation is rather limiting in view of
the number of all possible solutions which equals 40320.
3.2 Result
Fig. 5 shows the result of the Automatic Piping System. As can be seen, the proposed method is able
to find the pipe route solution. Each pipe is connected according to the pipe connection list, and there
is no collision between any of the pipes and no collision with any of the units.
This system is also capable to solve the pipe routing with branches. As can be seen in Fig.6, the
connection points are indeed connected to the pipe through the closest branch point. The route of the
pipe with the branch of course depends on the sequence in which the connection points are routed.
The sequence is defined by the Optimizer Module.
Fig. 6: Branch Solution
4. Conclusion
The Automatic Piping System - DelftPipe has been developed and proposed. This system uses both
Cell Decomposition method and Mathematical Programming as its main approach. The available
space is decomposed to cells and the algorithm connects the start connection point to the end point
through those cells. In terms of the optimization technique, DelftPipe combines the deterministic and
nondeterministic optimization techniques to combine the advantages of both. It uses the speed of the
deterministic technique while it also uses the flexibility of the nondeterministic technique to find other
possible solutions.
DelftPipe also has the Interface Module with the commercial CAD software, so the users can easily
use DelftPipe without re-entering many data. The output from the DelftPipe is easily exported in the
form of the .mdl file, so it can be used directly inside the commercial CAD software. In terms of time
that is needed to find the pipe route, DelftPipe can find the solution relatively fast.
Further ongoing developments focus amongst others on the practical aspects of the pipe routing, such
as calculating the change of the pipe size on the pipe branch, calculate the cost of the pipe as it passes
through a piece of the construction, and decide which type of penetration should be used.
References
AHUJA, N, HUANG, Y (1991), Gross motion planning - a survey, J. Ship Production 24/3
AL-KAZEMI, B., MOHAN, C. (2002), Multi-phase discrete particle swarm optimization, Fourth
International Workshop on Frontiers in Evolutionary Algorithms
AURENHAMMER, F (1991), Voronoi diagrams - a survey of fundamental geometric data structure,
ACM Computing Survey 23/3
CLERC, M. (2004), Discrete particle swarm optimization, illustrated by the Travelling Salesman
Problem, New Optimization Techniques in Engineering
EBERHART, R.C., KENNEDY, J (1995), A new optimizer using particle swarm theory, IEEE
International Symposium on Micro Machine and Human Science 6th, Nagoya
EBERHART, R.C., SHI, Y (2001), Tracking and optimizing dynamic systems with particle swarms,
IEEE Congress on Evolutionary Computation, Seoul, Korea
FAN, H.Y., SHI, Y. (2001), Study of Vmax of the particle swarm optimization algorithm, the
Workshop on Particle Swarm Optimization, Indianapolis, IN: Purdue School of Engineering and
Technology
GAING, Z.L. (2004), A particle swarm optimization approach for optimum design of PID controller
in AVR system,” IEEE Trans. Energy Conversion 19
ITO, T (1999), A genetic algorithm approach to piping route path planning, Journal of Intelligent
Manufacturing 10/1
JERALD, J., ASOKAN, P., PRABAHARAN, G., SARAVANAN, R. (2004), Scheduling optimisation
of flexible manufacturing systems using particle swarm optimisation algorithm, Int. Journal of
Advanced Manufacturing Technology
KANG, S-S, MYUNG, S, HAN, S-H (1999), A design expert system for auto-routing of ship pipes, J.
Ship Production 15/1
KENNEDY, J, EBERHART, R.C. (1995), Particle swarm optimization, IEEE Int. Conference on
Neural Networks IV, Piscataway, NJ
KENNEDY, J, EBERHART, R.C. (1997); A discrete binary version of the particle swarm algorithm,
Conf. on Systems, Man, and Cybernetics
KUO, C, WU, J, SHAW, H (1999), Collision avoidance schemes for orthogonal pipe routing, J. Ship
Production 15/4
NEWELL, R (1972), An interactive approach to pipe routing in process plants, Journal of
Information Processing
SALERNO, J (1997), Using the particle swarm optimization technique to train a recurrent neural
model, IEEE Int. Conference on Tools with Artificial Intelligence, Newport Beach, CA
STORCH, R, PARK, J-H (2002), Pipe-routing expert system, Int. Conf. on Computer Applications in
Shipbuilding
YOSHIDA, H, KAWATA, K., FUKUYAMA, Y. TAKAYAMA, S, NAKANISHI Y. (2001), A
particle swarm optimization for reactive power and voltage control in electric power systems,” in
Proc. IEEE Congress on Evolutionary Computation, Seoul, Korea