TR Diss 6736 PDF
TR Diss 6736 PDF
TR Diss 6736 PDF
i^ifii^' <
ANDI ASMARA
X43^ö/5-|c>é \ii^
PROEFSCHRIFT
door
Andi A S M A R A
Samenstelling promotiecommissie:
Rector Magnificus, voorzitter
Prof.dr.ir. U. Nienhuis MBA, Technische Universiteit Delft, promotor
Prof.Dr.-Ing. S. Krueger, TU Hamburg-Harburg
Prof.ir. J.J. Hopman, Technische Universiteit Delft
Prof.ir. D. Stapersma, Technische Universiteit Delft
Prof.dr. I. Horvath, T'echnische Universiteit Delft
Dr.ir. J.M.G. Coenen, Technische Universiteit Delft
Published by
ISBN 97890-6562-326-3
All rights reserved. No part of the material protected by this copyright notice
may be reproduced or utilized in any form or by any means, electronic or
mechanical, including photocopying, recording or by any information storage
and retrieval system, without the prior permission of the author.
Contents
1 Introduction l
1.1 Process Innovations in Shipbuilding 1
1.2 Innovative Ways to Route Pipes in Ships 2
1.3 Pipe Routing Process in Ships 4
1.3.1 Piping Design Phases 4
1.3.2 Pipe Routing Knowhow 6
1.3.3 Quality of the Pipe Routed 7
1.3.4 Design Requirements 8
1.4 Research Approach and Laboratory 9
1.5 Organization of the Work 11
i
ii CONTENTS
4 Related Worl( 51
4.1 Shortest Path Problem 51
4.2 Deterministic Approaches 53
4.2.1 Graph 'iVaversal Algorithms 53
4.2.2 Maze Algorithm 63
4.2.3 Line search algorithm 67
4.3 Heuristic Algorithm 71
4.3.1 Genetic Algorithm 71
4.3.2 Particle Swarm Optimization 74
4.3.3 Ant Colony Optimization 77
4.4 Comparison of Algorithms 79
4.5 Beyond the Shortest Path Problem 80
4.5.1 Multiple Nodes 80
CONTENTS iii
Bibliography
149
Summary
151
Samenvattmg
1 ^*\
Acitnowiedgments
Curriculum Vitae
Chapter 1
Introduction
1
2 INTRODUCTION 1.2
improvements. What is more important is to shorten the time needed for pipe
routing processes while maintaining the same quality compared to the current
process. This can be achieved without fundamental changes to the commonly
used manual pipe routing method but takes advantage of computer power by
translating manual processes into computer procedures.
Those facts motivate the main research objectives of this thesis:
1. to what extent can the expertise of a pipe engineer be identified and trans-
lated into procedures that lend themselves to bo computerized?
2. how should we put together a pipe routing methodology bsised on the results
of the first question and combine it with advanced optimization techniques
in a practically applicable method?
In the next sections, we describe several issues related to the development of
the pipe routing methodology. These consist of the current situation of the pipe
routing process, pipe routing know-how and design requirements. For each issue,
we introduce a corresponding research question.
power, air and even people, we, for now, concentrate on the piping system. The
design of the piping system is done in four different phases; conceptual design,
preliminary design, contract design, and detailed design, Harrington [1992]. Dur-
ing concept design, a tentative list of requirements is developed based on the
available ship characteristics. If sufficient detail arrangement is available, a pre-
liminary check can be periormed to make sure that the major pipe systems can
be accommodated. However, normally in this phase the available data is insuffi-
cient to develop independent cost estimates for each system. In practice, the cost
estimation is usually extrapolated from data for existing ships of similar design.
The major piping system components are selected and arranged in the ship
during the preliminary design. Preliminary estimates of system flows, pressure
and temperature are made to support component selection. Piping system com-
ponent selection needs to meet the piping system performance requirements with
due consideration of the weight, cost, and reliability. The performance require-
ments of the piping systems are determined on the basis of the ship mission, size,
operating profile, main machinery, and other factors.
In this design phase, the schematics that depict the interconnection between
the components in piping systems, called piping system diagrams, are started
to be developed with a preliminary level ol detail. The approximate locations of
major components and the largest pieces of piping arc determined and the general
arrangement is prepared and reviewed to ensure that enough space is available
for piping and other distributive systems.
In the contract design, the additional details and specifications of each system
are developed based on the outhnes that are defined in the prelimmary design
phase. Contract guidance drawings are developed to illustrate relationships and
interconnections between systems that may not be understood easily from a writ-
ten specification. These drawings together with specifications define the system
sufficiently to ensure that the owner's requirements for performance and quality
are mutually understood and agreed, and to permit the shipbuilder to prepare a
bid.
The last phase of the piping system design is the detailed design, and it pro-
duces a full definition of every pipe system element in a drawing format that is
used to manufacture all parts ol the systems, and also to install them in the ship.
While the first three design phases are primarily focused on system performance,
this phase is focused on construction.
The detailed design is begun with a completion of the piping system diagrams
as more detailed and final data become available. The piping system diagrams are
used to ensure that the systems will meet the specification requirements. They
also help to ensure compatibility of all elements in the systems with each other
and also with other elements like machinery interfaces. Normally, the information
of the system arrangement is included in the piping system diagram with varying
level of detail. The piping system diagrams contain the foundation of every piping
system e.g. the component symbols, pipe size and specification, valve description.
How direction, and other useful information. The quality and clarity of the piping
6 INTRODUCTION i.3
diagrams are important because tlicy serve as the baseline for all processes in the
detailed design phase.
After the piping system diagrams have a sufficient level of detail, the pipe
routing process can be started. The basic approach to pipe routing is develop-
ing a collision free route of a pipe between two or more connection points in a
3D, obstacle-scattered environment, according to the rules and standards. Pipe
routing is difficult because, among other reasons, the pipe is generally subject
to multiple design constraints. The most important constraint is that the pipe
routing solution must comply with the marine classification and regulations. In
addition, the space available in a ship and allowed to be used for pipes is usually
limited. This condition is especially true for certain areas of the ship, such as the
engine room of a ship. One more unavoidable aspect that makes this activity even
harder is the fact that the specifications of the ship are changing quite frequently
during the design process often requiring re-work.
The piping system diagrams are not the only information that is needed to
perform a pipe routing process. It also needs the 3D model of each system com-
ponent to know the exact location of the connection point of the pipe and to
prevent the collision between pipes and the system components. The 3D model
of the hull and superstructure is also needed to ensure that pipes can be routed
optimally without collision or unnecessary penetration of the hull construction.
Besides that, additional information of the system components might be needed,
such as the information about pipe systems.
When a pipe has been routed, it is divided into several parts, called pipe spools
and the pipe spool drawing is generated to be used in production and installation
of the pipe in the ship.
If we look at those four design phases, the pipes are actually routed during the
detail design phase and as mentioned in the previous sections, the pipe routing
process requires many working hours. Therefore, it is logical to focus on this
stage.
However, we also draw attention to the benefits to be able to route pipes auto-
matically in the pre-contractual phase. During this phase, the cost estimation of
pipes is needed. Currently, it is merely estimated using statistical methods based
on data from previous ships. The implementation of automatic pipe routing in
this phase will give more confidence on the estimated cost. Therefore we need to
investigate to answer the first research question below:
defining the details of pipes. Tlie assistance that can be provided by current
versions of CAD software is limited to the specification that immediately relates
to the pipe and the standard components that are attached to that pipe. It does
not take into account the type of the system to which the pipe belongs and/or
the category of area where the pipe is routed. It will not give a warning if a pipe
is routed in violation of the marine classification, for example if a pipe from a fuel
oil system was routed above the combustion engine.
As described in Subsection 1.3.1, a pipe engineer needs complete information
before he can start to route a pipe. Since our goal is to incorporate the manual
routing process into the automatic one, we need to identily what data is available
and needed.
Routing is a difficult task for pipe designers and the expertise of the pipe
designer is very important to assure that all pipes are routed in a proper way.
Currently, formal guidance on how to route a pipe in a ship does not exist. We only
can find specification requirements of pipes and systems in the standardization
books such as in a marine classification guide, or in scattered parts of a few books
that describe piping systems. Nevertheless, there are some informal rules that
have evolved into a common body of knowledge among pipe designers on how to
route a pipe that belongs to a certain system, inside a particular area in the ship.
Most of that common knowledge is based on the logical way of routing that is
acquired by experience. An example is that pipes that run in the same direction
and lie close together should be routed in parallel. Also pipes should be routed in
a certain order based on the diameter of each pipe and the system that particular
pipe belongs to.
In this thesis, we investigate the common knowledge of how to route pipe, and
the adoption of that knowledge to be implemented in the methodology. Thus, we
seek answers to the second, third and fourth research questions below:
In the current pipe design process all information that is needed is available,
either already in the CAD software or in some other format. Normally, during the
design process the ship is modeled using CAD software, including the 3D volume
of the hull and components, and all the underlying data. Because of this, the
automatic routing system that is developed should be able to exchange data with
the existing CAD software. By this connectivity, the user can use the existing
CAD software and the automatic rotiting system simultaneously.
Currently there are several CAD software packages that are widely used by
shipyards as design tools, and in some shipyards more than one kind of CAD
software package is used. This requires the automatic routing methodology to be
developed as a non-proprietary set of instruments. The automatic routing system
should be able to be used together with any kind of CAD software.
The marine classifications and the common rules for pipes are constantly im-
proving. New rules and knowledge emerge that must be adopted by the automatic
routing system. As one of the requirements, the automatic routing must be ex-
pandable to allow for such changes.
One of the requirements is to reduce the time needed during the detailed
design. The proposed methodology should be implemented carefully, require smal-
ler amounts of operator time and its computation time needs to be optimized.
In short, there are four main requirements that have to be fulfilled by a proper
pipe routing methodology: to minimize user input and reduce user routine tasks;
to be integrated easily with other systems, such as existing CAD software; non
proprietary and expandable; and able to produce good results within an accept-
able time frame.
This research mainly focuses on methodology development. Its implementa-
tion in the form of an automatic routing system package is mainly targeted as
a laboratory to investigate and prove the effectiveness of the methodology itself.
The development of the tools ready to be used in production is of course not
within the scope of this thesis.
These requirements are tightly related to the development of the automatic
routing methodology and to the implementation of this concept into actual tools.
While pursuing these tasks, we seek answers to the sixth research question below:
can be divided in two categories. The first category is related to the functionahty
of the pipes. For example, pipes that run together in the same direction should
be aligned in parallel, or the hot water pipe and cold water pipe should be routed
together for ease of maintenance. Such standard procedures should be possible
in the proposed methodology. The second category is the common sense of pipe
engineers that can be categorized as their personal preferences, and this category
can be neglected.
T'he behavior of how the pipe engineers do the pipe routing in different parts of
a ship is also investigated, because in practice pipe engineers might use a different
approach for different pipe locations.
The rules and standards of marine classifications must also be adopted to
ensure that the results of the proposed methodology are allowed to be used in
practice. However in this thesis not all of the marine classifications are included,
but the method for including and implementing those classifications is investig-
ated.
Within this context, suitable routing algorithms are investigated and de-
veloped. Since much research on automatic routing has been done for many years,
there are many different algorithms that have been proposed. Those algorithms
are developed not only for routing of pipes, but often for other subjects such
as microchip design; to route the cables in airplanes; ground traffic navigation
systems; and finding the route for character movement in computer games.
Those existing algorithms are analyzed, tested and compared. Based on those
test results a combination of more than one algorithm is developed, and included
in the proposed methodology.
After defining the suitable routing algorithm for the methodology, the data
that is needed by the algorithm can be identified. There are two main categories
of data identification; identification of the type of data and the source of data.
Because there are many types of data and also many sources of data, the generic
type of data is defined.
In the pipe routing process we are dealing with a 3D environment. All com-
putations in the automatic routing algorithms included in the methodology are
done in the 3D environment. For that reason, to allow building our laboratory,
we had to develop the specific 3D library.
In order to prove that the proposed methodology can fulfill the research ob-
jectives stated in section 1.2, a laboratory is developed in the form of a computer
application package that contains the test implementation of the proposed meth-
odology. The laboratory consists of three applications; the interface module for
data exchange with the outside world, the router module that contains the auto-
matic pipe routing algorithm and the knowledge-based module that contains the
standard rules and routing criteria.
Using that laboratory, the proposed methodology has been thoroughly val-
idated and verified through experimental work in a realistic pipe routing design
process in a complex area of a ship. The experiments presented were carried out
to find the solution in the detail design phase of the ship.
1.5 ORGANIZATION OF THE WORK 11
2.1 Introduction
The proposed methodology must be built based on the proven pipe routing
process i.e. the actual pipe routing process in practice. This also helps to make
sure that future users of this methodology feel at home. This is essential because
it will increase the level of acceptance of automatic (pipe) routing.
Section 1.3.2 provided an overview of the current situation in the practical
design process. In this chapter, the current practical process will be described in
more detail and in a structured way and the common knowledge of pipe routing
will be summarized. This chapter is concluded with the list of aspects that must
be met to realize the targeted methodology.
The starting point of this chapter is by looking at the pipe routing as a project
that should be managed, executed, and monitored efficiently. There arc three
core areas relevant for our purposes: people (or stakeholders), tools (including
information), and process, as can be seen in Fig. 2.1. The next sections of this
chapter explain those three core areas for the pipe routing process.
13
14 PIPE ROUTING IN PRACTICE 2.2
Marine engineer
Section designer,
Sections
Pipe engineer
2.2 Stakeholders
Pipe Engineer
The pipe engineer is the person who performs the task to route pipes in his
working area. Every pipe engineer must have an excellent knowledge of piping
systems in a ship and must be lamiliar with using the 3D software package. I'he
quality of the routed pipes depends on the expertise of the pipe engineer. Most
of the time, a pipe group leader also acts as one of the pipe engineers.
^Note that this may be organized difTcrently in companies but the essence of tlie process
remains the same. The same applies to the other functions in this section; they express the
various roles that need to be fulfilled in the process.
16 PIPE ROUTING IN PRACTICE 2.2
Marine Engineer
As described in Subsection 1.3.1, to support tlie functionality of a ship, various
systems such as propulsion and steering are needed. In its operation, those sys-
tems need some other subsystems in order to run properly. For example, a diesel
engine needs fuel to run, needs oil for its moving parts, its temperature must be
maintained in its operation range, and so on. For those purposes it needs to have
a fuel system, lubrication system, cooling water system, and many other systems.
The marine engineer is the person responsible to translate the specification
and the systems previously mentioned into the functional requirements and dia-
grams. The marine engineer must have an extensive knowledge of the equipment,
instrumentation and functionality of the process.
Naval Arcliitect
The naval architect is responsible for five elements, Lewis [1988]; Hydrostatics,
Hydrodynamics, Structure, Arrangement and Constructions. In short, a naval
architect engineer is responsible to make sure that the ship supports its main
functions efficiently and safely. This includes floating, moving and carrying.
Section Designer
The Section^ designer is responsible to render the construction plan into a 3D
section model while maintaining the requirements imposed by the naval architect.
It includes defining all brackets, profiles, plates and holes in a section.
During the detail design phase, if it was needed, a pipe engineer makes a
request to the section designer to make small changes in the section in order to
be able to route a pipe optimally, such as moving a location of a hole in a plate.
In this case, before the section designer makes any changes, he must get approval
from the naval architect to ensure that the changes do not have a negative effect
on the ship's structural integrity.
•^A section is a production specific part of a complete ship's structure. The subdivision into
section is made e.g. to take account of crane capacity and to increase production efficiency.
2.3 TOOLS AND INFORMATION 17
3D Model Builder
3D CAD software uses extensive libraries including the 3D model library, This
consists of the common components and normally can be re-used for other pro-
jects.
However, since there are many customized components, it is not possible to
cover everything from the library. The 3D model builder is the person responsible
to create new models of components and add them to the library for future use.
The quality of the 3D model is important in the pipe routing process, a com-
plete 3D model of one component will help a pipe engineer to get all the necessary
data of that component.
Ship Owner
The ship owner is the (future) owner of the ship that is currently being built in
the course of a project. This is the stakeholder who determines the type and the
capabiüties of that ship.
During the whole phase of ship building, progress must be reported to and ap-
proved by the ship owner. What makes things more complicated for the shipyard
is the fact that during that process some specifications might be changed by the
ship owner. One of the parts that is very sensitive to changes is the piping system.
A very small ship specification change can cause to a lot of pipes to be re-routed.
a tool can do Ihc job more effectively. Some tools are focusing on one of these
things, but most tools combine elements of both.
2.3.1 Tools
3D CAD Software - Outfitting Tools
Nowadays, the outfitting tools in 3D CAD software is the most essential piece
of equipment to help pipe engineers to route pipes. To route pipes in a ship
there are many aspects that need to be handled correctly by a pipe engineer;
an example is to choose the pipe correctly according to the specification in the
P&I Diagram, or to make sure that there is no collision between pipes and/or
with other components in the ship. With the help of 3D CAD software, the pipe
engineer can solve those tasks using the function in the software.
2.3.2 Inforination
Functional and P&I Diagram
The functional diagram consists of graphical symbols and lines which illustrate
the process and its flow. It identifies the functions of its instruments such as
sensors, valves, indicators and instrument interconnections. The P&I diagram
basically almost the same with the functional diagram. The main difference is
that P&I diagram also contains the location of the pipes and instruments. It acts
as the primary guidance for a pipe engineer to accomplish his task.
Piping Specification
The required specifications can be separated into two categories, based on their
sources; the marine classification society and the demand from the ship owner.
The specification from tiie marine classification is absolute; it means that no
matter how hard it is to be implemented, it must be followed. Otherwise, the
ship will not comply with the marine class and it will not be certified by the class
organization.
The request from the ship owner, however, can be negotiated. It means that
some conditions can be violated as long as the ship owner agrees with it. The
ship owner may be compensated by other benefits, for example, if the changes
will cause the pipes to be shorter and thus cheaper to maintain.
Pipe engineers also need other information like the general arrangement and the
specification of the equipment, the compartment plan and the tank plan. All of
this information is available from the basic design phase.
Beside this information, the complete 3D models of components such as pumps,
engines and other equipments are also needed.
Component 3D IVIodel
in a shipyard. This means that the available manpower is noL always Lhe same,
and if needed, more pipe engineers will be hired temporarily for a certain project.
I'he expertise and skill of the available pipe engineers also need to be known
beforehand. In a shipyard that uses more than one type of CAD software, the
choice of which CAD software will be used depends on the available manpower.
In some projects, the pipe system design process of a single ship is done in two
different CAD software packages. The reason is that some of the pipe engineers
are only able to use a certain type of CAD software and the others are only able
to use the other type of CAD software.
The allocation of working area and the pipe engineer group assignment also
depends on the available manpower at that time. Normally there are 3 to 7 pipe
engineers in one group, depending on the size and the complexity of the working
area.
Inside each pipe group, the pipe group leader divides the working area into
smaller areas and assigns each member of the group to route pipes in those areas.
However, there can also be the case where more pipe engineers work together on
the same area, and they each have to route pipes for a different system.
In order to be more cost effective in the production stage, most of the pipes
should be installed during the pre-outfitting stage. This means that the pipes
that belong to one section of the ship must be installed immediately after the steel
construction of that section is completed, so that when that section is assembled to
the hull on the slipway, all pipes that belong to that section are already installed.
This situation only can be reached if the pipe spool drawings of those pipes are
available a few weeks before section assembly starts. This allows that the pipe
spools can be manufactured in time. For that reason, it is especially beneficial
for the pipe routing process to be synchronized with the production plan.
Every pipe group leader then makes a comprehensive planning for their group.
Pipes that require more time to manufacture compared to the average get a higher
priority. This task demands a high level of expertise from the pipe group leader.
Most of the time, the components of the ship such as main engines, pumps,
or other equipment are not placed in the 3D environment yet. In that case, the
pipe engineer must place those components based on the general arrangement
drawing. However, the main components such as the main engine and the other
system that related with the mechanical drive system are already defined during
the basic design process, and the information is available for the pipe engineer.
In the ideal situation, starting from that point, the pipe engineer can begin
to route the pipes according to the criteria of pipe routing. This is discussed in
detail in Section 2.5.
Then the pipe engineer routes pipes one by one. After one or more pipes in
the area are routed, all valves will be placed. Then those pipes are split into
pipe spools for the purpose of production, handling and assembly. Thanks to the
current CAD software functionality, the process to place the valve and to split
a pipe into pipe spools have been improved. However, even though most of the
latest CAD software package already include the automatic routing functionality,
it still only focus of finding a path between two nozzles^, and basically the total
layout of the pipes is still defined highly depends on the pipe engineer.
As we described in Subsection 1.3.1, a ship has many systems and subsystems
that consist of a large number of pipes. Even a small vessel might have more
than one thousand pipe and in a larger vessel this number can reach three to four
thousands pipes and more. In short, many pipes must be routed, while the space
that is available is limited. In order to accomplished the task to route all pipes
efficiently and comply to the rules, pipe engineers must employ a smart routing
strategy. The summary of this strategy is explained in Section 2.6.
^Nozzle is the term that widely used in the 3D CAD application to represent the pipe
connector or pipe end. In this thesis, we adopt this term and use it in all chapters.
22 PIPE ROUTING IN PRACTICE 2.4
The compartments in the ship that are categorized as the machinery type area
are the main engine room, auxiUary engine room and pump room. This type of
area can be considered to have the highest density in terms of the number of
pipes per cubic meter. Also because there are many pipes there, more than one
pipe engineer will be assigned to route pipes in that area. As a consequence, they
must have a good coordination to make sure that the pipes are routed in the same
manner and do not violate each other.
The greatest difficulty of routing pipes in this type of area beside the large
number of pipes is the fact that one pipe can follow many different paths. There-
fore, a pipe engineer must find the optimal combination of pipe path to ensure
that all pipes can be routed properly.
The accommodation type area consists of the accommodation spaces and the
control room. In this type of area, the number of pipes is not as large as in the
machinery type area, but the space that is available is extremely limited. In the
accommodation area, all pipes must be hidden, either below the floor or above
the ceiling. Beside the limited space, the task to route pipes in this area is further
complicated by the rule that requires the black and gray water system pipes to
have a slope.
In accommodation areas, normally a pipe engineer is already able to figure out
the rough path of each pipe. However, since the space is very limited, he must be
able to make a good arrangement of pipes, and avoid conflicts.
The technical type area is the area of the ship where other systems are placed.
For example in a dredging ship, a technical area is where the large dredge pipes
are located.
In terms of finding the path of the pipe, this area normally has the lowest
difficulty level compared to other area types. However, routing pipes in this type
of area is still difficult since one needs a deep knowledge about the technical
system itself.
In the other way around, there are also cases where the pipe engineer had
finished routing pipes in a certain location of a section, but due to the changes in
the ship specification, the naval architect requests the section structure designer
to change the section structure. Those changes are then communicated to the
pipe engineer, and he must make the corresponding modifications.
There is also a possibility that the pipe engineer makes a request to the P&ID
engineer to change the way some pipes should be logically arranged.
The expertise of the pipe engineer plays a big role in all of this, because the
more knowledge and experience the pipe engineer has, the more creative he can
be. He can then make a prediction that the changes in the section structure or in
the P&ID are feasible without affecting the integrity and/or the performance of
the process system in the ship.
This kind of rules is applied in the P&I Diagram by the P&ID engineer, and
later on the pipe engineer must use it as a guidance. As an example, one of these
rules relates to the specification of the material, shown in Table 2.1.
2.5 CRITERIA FOR PIPE ROUTING IN SHIPS 25
11 means that for those kind of pipes, a pipe engineer must try to route it
in a space that can be seen.
7. • Bilge s u c t i o n p i p e s a r e , as far as p r a c t i c a b l e , n o t t o b e c a r r i e d
through double b o t t o m tanks
• T a n k air p i p e s shall b e p l a c e d a t t h e h i g h e s t p a r t of t h e t a n k
a n d as far away as possible from t h e filling
• W a t e r p i p e s a n d air a n d s o u n d i n g p i p e s t h r o u g h freezing
c h a m b e r s shall b e avoided
• Fuel oil p i p e s shall n o t b e led t h r o u g h fresh w a t e r t a n k s
• T h e a r r a n g e m e n t of p i p i n g a n d valves shall b e such t h a t oil
c a n n o t e n t e r t a n k s n o t i n t e n d e d for t h i s p u r p o s e
Those five rules above are about avoiding to route a certain type of pipe in
a forbidden location,
liaijically, the list of rules above apply to all class society, however the details
may vary.
6. Flanges in a sloped part of a pipe are difficult to assemble in the pipe shop.
This will affect the accuracy of the pipe spool. Always try to place a flange
set in a straight part of the pipe.
7. Valves, fittings, gaskets, etc. must be replaceable. Therefore it is necessary
to create an easily loosening pipe spool which is directly connected to it.
In Fig. 2.5, we can see that pipes 1 to 4 are not, routed efficiently as a group
of pipes. Wfiat fiappened in this example is that the pipe engineer routes pipe 1
and 2 without considering that pipes 3 and 4 must be connected as well.
When a valve needs to be placed, a pipe engineer needs to consider that the
valve is properly accessible to be used. Fig. 2.6 shows an example where an
inexperienced pipe engineer did not think about that,
2.8 Summary
This chapter described the practical aspects of current manual pipe routing pro-
cesses in answering the second, third, and a part of the fifth research questions of
this thesis. In this section we summarize it based on the addressed questions.
The second research question relates to the needed information, the responsible
person and how to get that. To answer this question, we started this chapter by
explaining the stalceholder and their tasks and responsibilities. Then in Section
2.3, the list of tools and information that are needed are described. However, this
list relates to the manual routing process, so we will revisit this question again in
the next few chapters.
The third research question asks for the common knowledge of the pipe rout-
ing process. Section 2.4 describes in detail the process; starting with the organ-
izational part, we continued to explain the routing process itself, and how pipe
engineers collaborate with another. Then, Section 2.5 and 2.6 described in more
detail the criteria and the common knowledge of pipe routing process.
The fifth research question relates to measuring the quality of the routed pipes.
SUMMARY 33
In Section 2.5 the pipe routing criteria were explained, and even tliough they are
not translated into quantitative measures yet, this section has answered part of
this question.
Chapter
3.1 Introduction
As discussed in Chapter 1, the main goal of this thesis is to research a new
methodology to improve the current pipe routing process, and to validate the
tools based on the proposed methodology. Next to the main requirement to
find a "good" solution, there are four functional requirements of the proposed
methodology that are explained in Section 1.3.4: to minimize user input and
user decision; to be integrated easily with other systems, such as existing CAD
software; non proprietary and expandable; and able to produce results within an
acceptable time frame.
In Chapter 2, we have discussed the practice of the pipe routing process in
a ship. It highlighted the important aspects that must be followed by the pipe
engineer to route pipes in a ship according to the marine classification regulations.
Pipe engineers also need to consider to lower the cost of pipes, including material,
production and installation cost. In Section 2.6 the most important common
knowledge of pipe routing in a ship wjis described.
In this chapter the outline ol the lunctional framework is decided and the
elements that need to be lurther investigated will be highlighted. The second
part of this chapter will present a brief review of literature with a focus on the
highlighted functionality of the proposed methodology.
This chapter will describe at some length the practicalities of the functional
Iramework of our methodology. While this may seem uninteresting from the
point of view or research, we point out what our research aims at developing an
integrated pipe routing methodology, 'lb validate it, it is necessary to dwell also
on the context of the pipe routing process.
The basic outline ol the functionality framework is sliowii in Fig. 3.1. The
detail of the proposed methodology, including the architecture and the imple-
35
36 PIPE ROUTING FRAMEWORK 3.2
( Data Retrieval
)
y
f Perform Pipe Routing
)
Y
{ Send Result to CAD Software
)
Figure 3.1: Tke Outhne of the Functional i<Yamework
.a. QiïLJ £L
f S!Si I lüMmMKin.
are shown as a certain nozzle of equipment A and B, and the pipe acts as a road
in a road map between A and B.
Beside that, a P&I diagram also contains some specification of pipes, such as
the pipe diameter and pipe specification. It also includes measuring instruments,
valves, and other pipe components, such as a pipe reducer.
In a P&I diagram, every pipe and other component has a unique name. In
practice, together with the P&I diagram, there is a document that contains the
detailed specification of every pipe, valve and instrument.
Very often, a P&I diagram is merely a plain drawing that does not have any
relation with a database in a CAD software package. This is problematic for
process efficiency. For example, as it does not have any connection with the 3D
model database, a pipe engineer needs to manually look for the unique name
in the P&I diagram and find the component with the same name in the CAD
software.
Starting a few years back, the so called Smart P&I diagram concept is in-
troduced. A Smart P&I diagram is a P&I diagram that has a live connection
between each object in it with the same object in the databases of the CAD soft-
ware package. For example, every pipe in the P&I diagram has a link with the
pipe specification database. With this feature, the consistency between the P&I
diagram and the routed pipes can be easily maintained.
In manual routing, a pipe engineer usually uses a hard copy of the P&I dia-
gram by making a print of it. In this case, the normal plain drawing of a P&I
diagram can be used, because the pipe engineer can mentally translate all lines
and symbol in the P&I diagram. However, the pipe router module in our proposed
methodology needs to have the Smart P&I diagram.
Looking at the development trend of the major CAD software companies, in
the future this requirement will become standard. Only a few CAD software
38 PIPE ROUTING FRAMEWORK 3.2
companies have already implemented the Smart P&I diagram concept. In our
laboratory case, both Nupas-Cadmatic and IVibon M3 only implement the link
between pipes and valves in the P&I diagram with the pipe specification part in
the CAD data. On the other hand, both software packages are able to generate
the old fashioned P&I diagram. Thus, to bridge the gap, a simple Smart P&I
diagram tool is included in the proposed methodology.
packages.
•'SD volume is the term that widely used in the 3D CAD application to represent the physical
dimension of a 3D model. In this thesis, we adopt this term and use it in all chapters.
40 PIPE ROUTING FRAMEWORK 3.3
''H^r.
functioning of the ship and therefore, lilse the P&I diagram, are of prime interest
to the user.
Some of the pipe routing rules are related to a certain type of tank in a ship.
For example, it is not allowed to route an oil pipe through a freshwater tank.
To accommodate this kind of rules, the tank type and location must be known.
Unfortunately, in practice the 3D steel construction model does not contain that
information currently. The complete information is available only as a two di-
mensional drawing called a tank plan drawing.
In the current situation, in most cEises the tank plan drawing is created during
the basic design process using a two dimensional software package.
In Subsection 2.4.4, the four types of an object constraint were explained. It was
also mentioned that an object constraint can be a real object or an area. A NoGo
area is an area that is defined as an absolute constraint or as a soft constraint or
as a combination of both.
For example, in a walking corridor inside the machinery room, a pipe should
not be routed in the middle of that corridor but it can be routed along the edge
of it. In the proposed methodology, the possibility to create that kind of NoGo
Area must be accommodated.
3.3 PIPE ROUTING 41
In the previous section, the data needed by the pipe router module in the proposed
methodology are discussed. The next step is to conclude the requirements of the
data retrieval part in the proposed methodology.
1. Smart P&I diagram information
2. Common interface to retrieve 3D general arrangement volume data
3. Common interface to retrieve component's detail data
4. Common interface to retrieve 3D steel construction data
5. 3D tank plan information
6. 3D NoGo area information
In case this information is not present in the current modeling tools, simple
additional tools must be provided for our methodology to work properly.
While it is a time consuming task to arrange for all the interfaces and thereby
facilitate the data retrieval, it is not of interest for our research and is not described
here.
In Chapter 2, it was mentioned that there are two main steps in the pipe
routing process. The first step is finding the actual pipe path to connect nozzles,
and after that the routed pipe is divided into one or more pipe spools. In this
thesis, we only focus on the first step and skip the creation of the pipe spool.
Since we know that the pipe spool creation process can be done quite easily in
the CAD software package, this process should be performed there. It is decided
to follow this approach because this research is intended to fill the functional gap
in existing CAD software, instead of replacing them.
42 PIPE ROUTING FRAMEWORK 3.3
The result of the routing process must be as good as possible, and it im-
plements the common knowledge that is described in Section 2.6 to ensure the
quality. However, since we decided to pursue only the pipe path finding and skip
the creation of the pipe spool, the common knowledge that is related to pipe
spools is neglected.
The basic definition of the pipe routing process is to find an optimal path
between two equipment's nozzles, more if a branch exists, while avoiding collisions.
For its implementation in ship design, that pipe routing process must also follow
the common facts for a piping system in a ship. Most of the pipes in a ship are
rigid and normally those pipes are routed orthogonally to make the installation
and maintenance easier. The pipes are divided into several different functional
systems that require a different pipe specification. In a ship, the number of pipes
is very large. Therefore, to lower the cost, it is preferred to have pipes follow
routes that are as short as possible, and also to make sure that those pipes can
be produced and installed as cheaply as possible. It means that we need to use a
shortest path algorithm. The shortest path problem has been subject of research
for years, and we will look in more detail at this in Chapter 4.
However, most of the times, the shortest path alone is not sufficient, because
that path might not comply with the rules and regulations, nor indeed might it
lead to lowest cost. For example, the shortest path algorithm that only optimize
the length of a pipe might generate the pipe path that is too far from the steel
construction, thus it is not possible to install a pipe support for that pipe. This
leads us to define the first requirement to choose the shortest path algorithm;
instead of merely trying to find the shortest distance, the shortest path algorithm
must optimize the path in a weighted manner. The shortest path algorithm must
rather be the lowest cost algorithm.
In some cases, there is also the possibility that a user wants to alter the pipe
path manually. To accommodate this requirement, the methodology must have
a functionality to allow a user to add/remove some conditions pertaining to the
environment. For example, if the best path of a certain pipe is blocked by a plate,
the user should be able to override that collision and let the pipe router module
route the pipe through it.
Most of the shortest path algorithms aim to find one optimum path at a
time, thus it optimizes only the pipe in hand without considering any other pipes
in the group. Therefore the globally optimum set of pipe routes is difRcult to
be reached. In most cases, by choosing a good sequence of pipes to be routed,
the global optimum solution can be approached to a fair measure. Whether the
optimum found is the global optimum cannot be mathematically ascertained. The
problem of choosing the right order of pipe routing is known as the combinatorial
optimization problem.
Therefore to get (or at least approach) the globally optimum solution, we need
to combine the shortest path algorithm and combinatorial optimization. So for
the proposed methodology, we need to find the optimization method that is able to
solve the combinatorial problem and can be used together with the shortest path
3.4 PIPE ROUTING 43
algorithm thai is suitable for our purpose. Ultimately this hybrid optimization
must be constructed.
In the previous section, we remarked that a user of the methodology may add
an object constraint, for example a NoGo area. Since this is a manual process,
there is always a possibility that the additional constraint might block some pipes.
If this is the case, it might add more complexity to the hybrid optimization within
the methodology. 'I'his might cause the hybrid optimization to keep trying to find
a solution that is actually blocked by the additional NoGo area. To prevent this,
the proposed methodology must be able to detect it before the hybrid optimization
process is started. For this purpose, we need to utilize a fast path finding algorithm
to be included in the methodology to act as the fast detector if a certain NoGo
area blocks one or more pipes.
Section 2.5.1 and 2.6 discussed the common knowledge and strategy to route
pipes in a ship. I^Vom the pipe router point of view, those rules must be translated
into requirements for the pipe router algorithm. One of the design requirements
stated in Section 1.3.4 mentions that a goal of the proposed methodology is to
minimize user input and user decision. To fulfill this requirement, the predefined
rules must be built as a knowledge base. It means that it should be easy to add
and modify rules by the pipe routing experts.
Section 2.4.3 discussed that the way in which pipes are routed depends on the
location of those pipes in a ship. In the manual routing process, by experience,
the pipe engineer varies his or her routing behavior based on that. Consequently,
the routing behavior of the pipe router module in the proposed methodology also
should depend on the area in which the pipes are placed. Since each type of area
has unique characteristics, the methodology has to include a different strategy of
the routing process for a different type of area.
There is one other important matter that needs to be addressed. A pipe
routing process is all about optimizing the path of pipes. The first thing that
should be known before any optimization is performed is to define the objective
of the optimization. Also, the validation criteria must be decided.
As we intend to use the 3D model built by means of the CAD software, we have
to prepared to get the 3D model with a very high level of detail (as mentioned
in Subsection 2.3.2). The number of objects in a ship can be more than one
hundred thousand. The high level of detail in the 3D model may thus reduce the
performance of the methodology with regard to the computation time to find the
routing path and also for the performance of the user interface part. Obviously, we
need to find a way to simplify the model while maintaining accuracy and routing
validity. A brief introduction of model simplification will be given in Chapter 4.
The last part of the functional framework is to send back the result to the
CAD software package, so the pipe engineer can continue to the second step
of the routing process, splitting pipes into one or more pipe spools. This part
of the methodology has been implemented, but since it is purely a computer
programming problem, it will not be discussed in this thesis.
44 PIPE ROUTING FRAMEWORK 3.4
Newell partly considered pipe branching. In 1974 by using the algorithm from
Dijkstra [1959], Wangdahl, Pollock, and Woodward [1974] attempted to solve
the pipe routing problem in a ship, but they only considered a two dimensional
environment. The main drawback of their research is that since the pipes are
routed one at a time, the globally optimum set of pipe routes might not be found
since they do not include a mechanism to properly order the pipes. What makes
it worse is that in some cases, by solving the shortest path problem one pipe at
a time, a situation might result where a pipe can not be routed because it was
blocked by the previously routed pipes. In his attempt to solve that problem,
Rourke [1975] reviewed several algorithms but failed to find the solution.
hard virtual obstacle acts as a real obstacle, while a soft virtual obstacle can be
traversed by pipes with some additional cost. A virtual sink acts in the same
manner as a soft virtual obstacle, but instead of getting a penalty, a bonus may
apply to the pipes that are routed through this region. The location constraints
are used during the cell generation step. The shape constraints apply to the shape
of the pipe routes. For example it is to ensure that a drainage pipe should be
non-ascending. The shape constraints are applied during the cell generation level
and at the path generation level.
Their approach, however, was focused on the study case environment with a
relatively small number of pipes and obstacles. The type of the obstacles are also
only a basic shape, which might not be sufficient for the real environment. One
other important thing that was left out is the aspect of pipe branching.
Unfortunately, they did not continue their research in the subject of pipe
routing but were more interested in the subject of robotics.
In 1996, Kang, Myung, and llan proposed a method for generating the optimal
route for pipes using a knowledge-based expert system called NEXPERT, Kang
et al. [1996] and Kang et al. [1999]. The knowledge-base is constructed on the
basis of documented design knowledge and the empirical knowledge of human
experts on the piping design of a ship. The system is modeled with the following
objectives: to minimize user input and user decision; to structure the knowledge-
base for easy addition of knowledge; to make the system easy to xise; and to be
used in the real shipyard design process.
In the expert system, there are three different objects; pipe-path, pipe-element,
and space-element. Space-elements represent spaces and obstacles where pipe ele-
ments should or should not be placed. Constraints are implemented as rules, and
algorithms are implemented as sub-routines. The knowledge-base in the system
consists of three parts; the meta-control knowledge that makes main decisions,
the global designer that finds the optimal arrangement of main pipes in a two di-
mensional section plan, and the detail designer which will expand the 2D section
plan along the transverse coordinate into 3D space along the ship length.
In their research, Kang et al. constructed three different knowledge-bases that
store 167 rules and 106 supporting methods. To verify their method, the piping
design expert system had been tested to route pipes in the deck of a bulk carrier.
Using the proposed system they can reduce the working time from 4 hours to 1
hour.
However, even though the way the knowledge-base was constructed makes
it easy to be expanded with a new rule, their method is practically hard to be
used since it is difficult to define all design knowledge quantitatively Also the
knowledge base is difficult to maintain in case some predefined rules are changed.
3.4 LITERATURE REVIEW OF AUTOMATIC PIPE ROUTING 47
3.4.5 Zuurmond
In 2004, Zuurmond [2004] proposed his approach to solve the automatic pipe
routing problem, by utilizing the algorithm from Dijkstra [f959] to minimize the
pipe length. Beside that, his method also restricts the drainage pipes to be non-
ascending. The workspace is defined by using the cell decomposition approach.
For the obstacles Zuurmond simplified the real model into some cuboids. This
48 PIPE ROUTING FRAMEWORK 3.4
Figure 3.7: fjevel 2 and Level 3 mode (excerpt from AVE [2007])
as a routing point, and a certain pipe will be routed automatically through that
point.
It is important to keep in mind that PDMS Router does not provide any other
automation beyond the de facto routing of pipes. This means that the designer
has to perform all the manual tasks needed for PDMS Router to work. In order
to reduce the human involvement in the tasks necessary for the PDMS Router,
a research using PDMS Router has been done by Calixto, Bordoira, Calazans,
Tavares, and Rodriguez [2009].
Another attempt to use the commercial software was done by 11 Roh, Lee, and
Choi. Rather than using a generic search algorithm, 11 Roh et al. [2007] chose
to improve the function that is available in the commercial 3D CAD software
TRJBON and IntelliShip systems. There are 2 main parts in their research. The
first one is the improvement of the pipe routing function in TRIBON and Intel-
liShip systems. In principle, to route pipes they need to define the pipe tray and
then those pipes can be routed automatically. The second part of their research
is to rapidly modify the pipes that are already routed when the hull structure is
changed.
Both the original 'lYibon M3 automatic pipe routing and the two researches
above that have been done to improve its standard functionality are not focusing
on performing fully automatic pipe routing as we intended.
3.5 Summary
This chapter starts with the explanation of the basic outline of the functional
framework of our proposed methodology. The type of information that is needed
is described and the source and how to get it into the methodology is also briefly
discussed.
The second part of this chapter reviews the previous researches that have been
done in the field of automatic pipe routing. We found many interesting approaches
but none of them led to an approach that satisfies our targets, i.e. fully automatic
routing applicable for detailed design phase and for complex, real ship situations
in a practically applicable methodology.
While reviewing, we found the answer to the first research question. T'hat
question asks for the phase that we should concentrate our effort on; in the pre-
contractual or detail design phase, and the reason why we choose to that. In his
work. Zuurmond [2004] routes the pipes in a machinery room of a real ship. What
he did is the approximate routing so the result can be found almost immediately.
This approach is not suitable to be used for detail design phase. However, from
Subsection 1.3.f we knew that during the pre-contractual phase, approximate
routing is sufficient. Therefore, we can say that to solve the approximate routing
in the pre-contractual phase, we can simply adopt that method. For the sake
of widespread applicability, we focus on solving the pipe routing problem in the
detail design phase.
Chapter
Related Work
In the first part of Chapter 3 we have discussed five main points that need to be in-
vestigated; the shortest path problem, combinatorial optimization, the knowledge
base, the differences of behavior according to area type, and objective function.
In this chapter the first two points will be discussed along with the problem of
model simplification. The third until the fifth points will be discussed in Chapter
5.
We begin with surveying previous studies of each subject, then comparing
those studies to find the most suitable solution and investigate how to improve
the existing solution to fulfill our functional framework requirements.
51
52 RELATED WORK 4.1
80km
31 km
Many approaches have been made ranging from using the deterministic (exact)
algorithm, subsequently introducing the heuristic part to improve the algorithm,
and recently researches exclusively using heuristic algorithms to solve it.
In this section, we walk through those algorithms and choose the algorithm
that suits our requirements. There are two criteria to be considered. The first
one is the performance of the algorithm itself. There are some important issues
that need to be addressed to measure the algorithm performance to solve the
shortest path problem; always find a solution if it exists, always find the optimal
solution, and use limited resources in terms of computer memory and time. In
our methodology, pipes can be routed freely in the area, therefore the selected
algorithm must be able to be implemented to route pipes in a free space.
We also consider the flexibility of those algorithms to be extended and adapted
in our methodology. In chapter 2, we have discussed some practical knowledge
that help us define the basic capabilities that must be utilized in our methodology.
We have discussed that there are some practical aspects that need to be addressed
beyond the shortest length and minimum number of bends. To have pipes routed
nicely in parallel, to route pipes close enough to the steel construction for ease of
installing the pipe support, and to follow the marine classification guidance, are
more important than only trying to route pipes such that they have minimum
length.
The nature ol a shortest path algorithm is to find the path between start and
end points that has a shortest distance. To make the shortest path algorithm
choose the path that satisfies the important practical aspects above, we need to
modify the environment to fit the algorithm, for example by using a different
weighted cost, or using potential energy techniques. Because of that, in addition
to four requirements above, the selected algorithm must also allow implementation
to find the path in that type of environment.
As a part of our methodology, we also need to have a fast function to detect
that a certain pipe can be routed at all. For this functionality the only important
requirement to choose the shortest path algorithm is that the selected algorithm
4.2 DETERMINISTIC APPROACHES 53
Breadth-first Search
'I'he breadth-first search (BFS) algorithm is an uninformed search that systemat-
ically visits all the vertices of a graph until a goal vertex is found or all vertices are
visited. This algorithm starts at a designated start vertex and then examines the
neighbours of that vertex and puts it in the queue stack. Once a vertex has been
examined, it is marked as explored. After all neighbours have been examined,
it visits all of them one by one and examines their neighbours. This process is
repeated until all vertices of the entire graph have been visited, or until the goal
vertex has been reached. In other words, it visits the vertices of a graph uniformly
across the breadth of the frontier of its search, visiting all vertices at distance (d)
from the start vertex before looking for vertices at distance {d+1). For the order
of the search, BFS algorithm uses a First-in First-Out (FIFO) queue stack.
We use the graph of Fig. 4.2 to illustrate the Breadth-first search algorithm.
In this example, the start vertex is Hardinxveld, and we would like to find a path
to Amsterdam. Before we use BFS algorithm, we define an order of visiting the
neighbours. Fig. 4.2.a and b iUustrate BFS algorithm with visiting order from
the right to the left side and from the left to the right side respectively.
In Fig. 4.2.a, BFS starts from Hardinxveld and examines its neighbours,
Gorinchem and Rotterdam, marks it as explored and stacks it in a queue. After
that BFS visits Gorinchem and examines its neighbors Breda, Utrecht, and Hardinxveld.
Since Hardinxveld was already marked, it won't be explored further. Breda and
Utrecht are then marked and added to the queue stack. The next vertex in the
queue stack is Rotterdam. From all three neighbours of Rotterdam, only Ams-
terdam is unmarked. Therefore, Amsterdam is marked and added to the queue
stack. Eventually, our goal vertex has been reached, but in this example, we
continue to run the algorithm to build the complete tree.
Breda is now in the top of the queue stack, but all of its neighbours are marked.
From Utrecht, the search is continued and results in Amersfoort to be marked and
54 RELATED WORK 4.2
added to Ihe queue. Since all edges from Amsterdam lead to the marked vertices,
no vertex is added to the queue stack. Then it visits Amersfoort and then marks
Zwolle. The resulting Breadth-first search tree is shown in Fig. 4.2.C. Fig. 4.2.d
shows the tree in the left to right visiting order.
By comparing the BFS tree in Fig. 4.2.C and Fig. 4.2.d, it can be seen that
the BFS algorithm is highly sensitive to the visiting order of the vertices. If the
graph is connected, BFS will find a solution because it explores all vertices.
For unit-step cost, BFS is optimal. In general, Breadth-first search is not
optimal since it always returns the result with the fewest segments between the
start vertex and the goal vertex. As in our example above, if the graph is a
weighted graph and has costs associated with each step, a goal next to the start
does not have to be the cheapest goal available. This problem can be solved by
improving Breadth-first search to uniform-cost search, which considers the path
costs. Nevertheless, if the graph is not weighted and all step costs are equal.
Breadth-first search will find the nearest and the best solution.
The BFS algorithm begins with straightforward initialization that requires
0(1) time. In the worst case, the algorithm needs to visit aU vertices before the
goal is reached. This require time OiV) with V the number of vertices. The
algorithm also examines all edges of each vertex, and since there are two vertices
connected by one edge, the total number of examinations is 2 times the number
of edges, 0(E) with E the number of edges. We know that Emo-r < = ^max ~ li
4.2 DETERMINISTIC APPROACHES 55
so 0{V + E) can be simplified to 0{V). Since it uses FIFO stack, it only requires
0(1) time for the dequeue process. In total, the time complexity of BFS algorithm
is 0{V).
Furthermore, BFS needs to memorize the state (marked or unmarked) of all
vertices. It also needs a queue stack memory with the maximum number of the
stack equal to the number of all vertices. So the space complexity is OiV).
Depth-first Search
Another fundamental search algorithm in graph theory is the Depth-first search al-
gorithm. Like the BFS algorithm. Depth-first search (DFS) is also an uninformed
search, so the visiting order of vertices can be arbitrary. The main difference with
BFS algorithm, which explored all the neighbors of a given vertex at a time, is
that the DFS algorithm explores only one neighbor at a time, and then explores
a path in a graph as far as possible until a goal vertex is found, or until it hits
a vertex that has no children. When it is no longer possible to go forward, the
algorithm backtracks one level and then tries again to go deeper. This process
repeats until all vertices of the entire graph have been visited.
To show how the DFS algorithm works, we use the graph of Fig. 4.1 and define
Ilardinxveld as the start vertex and Amsterdam as the goal vertex. However in
this example, we let the DFS algorithm run until all vertices are visited.
As shown in Fig. 4.3.a and Fig. 4.3.b, this algorithm highly depends on the
56 RELATED WORK 4.2
order of visiting. In Fig. 4.3.a, it visits from the most right vertex to the left.
FVom Hardinxveld, it visits Gorinchem, then Breda. Since Breda is the deepest
node in this branch, it backtracks to Gorinchem again, and visits Utrecht and then
Amersfoort and Zwolle. Again, it backtracks to Amersfoort and visits Amsterdam.
Normally, DFS should stop in Amsterdam, but we keep the algorithm running for
completeness sake. The right most side from Amsterdam is Utrecht, but Utrecht
was already visited, so it continues to visit Rotterdam. At this point, all vertices
are visited, but the algorithm does not know it yet. So it keeps backtracking
all the way until it reaches the start vertex. Like BFS, DFS also produces a
Depth-first search tree which in this case is shown in Fig. 4.3.c.
Fig. 4.3.b and Fig. 4.3.d show the results of the DFS algorithm with the order
of visiting from the most left side to the right. Also as before, even though the
goal vertex (Amsterdam) was lound, we continue running the algorithm until all
vertices are visited.
Since all vertices will be visited no matter how complex the graph is, DFS
will find a solution if it exists. DFS is typically used to traverse an entire graph.
However, there is no guarantee that the solution is the optimum one.
This algorithm visits all vertices which requires time 0{V) with V the number
of vertices. In the worst case, during forward and backtracking search each edge
is examined two times which requires 0{E) with E the number of edges. We
know that E is always less than V, such that the total time needed is 0{V).
For the sake of backtracking, the DFS algorithm needs to memorize all vertices
which requires 0{V) memory space.
Dijkstra Algorithm
One of the most famous algorithms that can be categorized as a Best-first search
technique is the Dijkstra's algorithm by Dijkstra [1959]. As previously described,
Dijkstra's algorithm only considers the cost of the path from the starting point
and neglects the estimated cost to the goal.
For a given start vertex (origin node) in the graph, the algorithm finds the
path with the lowest cost (i.e. the shortest path) between that vertex and every
other vertex. It can also be used for finding the lowest cost or the shortest path
from a single vertex to a single destination vertex. This can be achieved by
stopping the algorithm once the shortest path to the destination vertex has been
determined. For example, if the vertices of the graph represent cities and edge
path costs represent driving distances between pairs of cities connected by a direct
road. Dijkstra's algorithm can be used to find the shortest route between one city
and all other cities.
Let us use the road map in Fig. 4.1 to illustrate how Dijkstra's algorithm
works. Suppose we again want to find the shortest path between Hardinxveld
and Amsterdam, a starting point and a destination. The order is conceptually
straightforward: to start, set the distance to all cities on the map unlabeled. This
is done not to imply that there is no distance, but to note that that intersection has
not yet been examined. Some variants of this method set the distance to infinity
on all cities. In Fig. 4.4.a, Amsterdam as a destination is marked with blue color,
and Hardinxveld is marked with green colour to show that it is currently the best
vertex and will be explored.
Now, at each iteration, select a current city. For the first iteration, the cur-
rent city will be the starting point (Hardinxveld) and the distance to it (the
Hardinxveld's label) will be zero. For subsequent iterations (after the first), the
current city will be the closest unvisited city to the starting point.
Prom the current city, the algorithm updates the distance to every unvisited
city that is directly connected to it. This is done by determining the sum of the
distance between an unvisited city and the value of the current city, and relabeling
the unvisited city with this value if it is less than its current value. In effect, the
city is relabelled if the path to it through the current city is shorter than the
previously known paths.
Dijkstra's algorithm uses Breadth-first search at this stage, because it exam-
ines every neighboring city before it moves on to the next iteration and puts a
label to the examined cities, as shown in Fig. 4.4.b.
Fig. 4.4.C and d shows that Hardinxveld is marked as visited (red colour) and
Gorinchem acts as the current city because it has the lowest label (11), and Fig.
4.4.d shows the updated distance label of Gorinchem's neighbors.
In Fig. 4.4.e and f, Rotterdam acts as the current city since it now has the
lowest value, and the algorithm labels Utrecht and Amsterdam. As we can see
that the new value of Utrecht is bigger than the previous value (89 > 51), so the
link from Rotterdam to Utrecht is not a valid path. Also, Amsterdam has been
58 RELATED WORK
4.2
iif; 93
45km , .
^
^STERDAM^ >< (lÏMERSFOO^
. ' A np \67km
'ROTTERDAM^ •^i«ECin>^^^^
1-
93
(msTEHüm^
^ — \ \ -'
'^TBECHT^
k. I.
labelled at this point, but because there are still vertices having lower value than
the current value of Amsterdam, the iteration will continue.
In the next iteration, Breda is marked as visited vertex because it does not
have an unvisited neighbour. Thus, Utrecht has the next best value and it yields
labels on Amersfoort and Amsterdam. The new value of Amsterdam is lower than
its previous one (93 < H I ) . The value of Amsterdam is therefore updated to 93
and the link from Rotterdam to Amsterdam is not valid anymore as shown in Fig.
4.4.g to i.
The next best city is Amersfoort, and its neighbors, Amsterdam and Zwolle,
are labeled. The new value of Amsterdam is bigger than its previous value (109 >
93) which will cause to maintain the old link between Utrecht and Amsterdam,
and Amersfoort is marked as visited. The next best city is Amsterdam, and
since Amsterdam is our goal vertex, the algorithm stops. The result of Dijkstra'a
algorithm is shown in Fig. 4.4.1.
Of note is the fact that this algorithm makes no attempt to direct "explora-
tion" towards the destination as one might expect. Rather, the sole consideration
in determining the next "current" intersection is its distance from the starting
point. In some sense, this algorithm "expands outward" from the starting point
iteratively, considering every vertex that is closer in terms of the shortest path
distance until it reaches the destination. When understood in this way, it is clear
how the algorithm necessarily finds the shortest path. However, it may also reveal
one of the algorithm's weaknesses: its relative slowness in some topologies.
The main advantage of Dijkstra's algorithm is that it always finds the shortest
path. However, because the number of vertices in a pipe-routing application
are extremely large, it takes relatively much calculation time and occupies much
memory as it needs to memorize the state of all vertices which requires 0{V)
space of memory.
The time complexity of Dijkstra's original algorithm is 0(|1^P), because in
the worst case it needs to visit all vertices requiring time 0{V), and on each
iteration it needs to find the vertex with the best value that requires again 0{V).
In 1984, Fiedman introduced the use of Fibonacci Heap as a min-priority queue,
and it improves the performance to 0{VlogV). This is asymptotically the fastest
known single-source shortest-path algorithm for arbitrary directed graphs with
unbounded nonnegative weights.
Greedy Algorithm
The Greedy algorithm is the fastest of all varieties of the Best-first search tech-
nique, and it is well known as Best-first search algorithm itself. The Greedy
algorithm works in a similar way as Dijkstra's algorithm, except that it uses the
estimation (called a heuristic) of how far from the goal any vertex is. Instead of
selecting the vertex closest to the starting point, it only considers the estimated
distance to the goal. It runs much quicker than Dijkstra's algorithm because the
heuristic function guides the algorithm towards the goal quickly. For example, if
60 RELATED WORK 4.2
the goal is to the north of the starting position, Greedy algorithm will tend to
focus on paths that lead northwards.
Fig. 4.5 illustrates how the Greedy algorithm works to find a shortest path
from Hardinxveld to Amsterdam. We introduce the actual distance (not a driving
distance but "as the crow flies") between Amsterdam (as the goal vertex) and
other cities, as the heuristic values of the algorithm (Fig. 4.5.a).
For the first iteration, it starts to find a city that is directly connected to
Hardinxveld and selects the city closest to Amsterdam. Fig. 4.5.b shows that
Rotterdam is closer to Amsterdam than Gorinchem.
The Greedy algorithm chooses Rotterdam as its next current city. In the
next iteration, it compares Utrecht and Amsterdam, and it obviously chooses
Amsterdam because Amsterdam is the goal as shown in Fig. 4.5.d.
In general cases. Greedy algorithms mostly (but not always) fail to find the
globally optimal solution, because they usually do not operate exhaustively on
aU the data. In terms of time complexity, the worst case of this algorithm is the
same as Dijkstra's original algorithm, 0 ( l y | ^ ) , but in practice it mostly visits a
lower number of vertices compared to Dijkstra's.
4.2 DETERMINISTIC APPROACHES 61
A* Algorithm
31km
a b
Figure 4.7: Shortest path m a free space
Fibonacci Heap is used as min-priority queue. The time and space complexity of
the A* algorithm is the same as Dijkstra's algorithm, but since the heuristic part
directs the search toward the destination, the number of vertices that are visited
are smaller than for Dijkstra's. However, there is a possibility that the path that
is found is not optimal.
Lee's Algorithm
The most common maze algorithm was proposed by Lee [1961], and is called
Lee's algorithm. Lee presented a wavefront approach to solve the shortest path
problem. This approach is similar to Dijkstra's algorithm.
64 RELATED WORK 4.2
F i g u r e 4 . 8 : Grid of cells
"4' 3 "2 1 2 3 4 5 ff
3 2 1 S 1 2 3 4 b Ö
s 4 3 2 1 2 3 4 Ö 6
T 5 4 3 2 3 4 5 T
b 4 3 4 5
5 4 5
b
4 3 2 1 2 3 4 B 5
3 2 1 S 1 2 3 4 b B
4 3 2 1 2 3 4 b 6
'b 4 3 2 3 4 T
b 4 3 4 b
b 4 b
b
F i g u r e 4 . 9 : 2D Lee's algorithm
4.2 DETERMINISTIC APPROACHES 65
Figure 4.9 illustrates how Lee's algorithm works. The start cell is marked with
S, and the target cell is marked with T.
The first phase in Lee's algorithm is the wave propagation phase as shown in
Fig. 4.9.b. The start cell is labeled with a value 0, and it starts propagating by
walking to an unlabeled neighbor cell and marks this with its own label plus the
cost of that cell. This propagating process should not violate an obstacle cell,
and it will end when the target cell is reached, or all reachable cells in the grid
are labeled. The waving process runs as in the breadth-first search algorithm
explained above.
After the propagating process completes, it will do the backtracking phase.
This starts from the target cell, and it will move to the next neighboring cell that
has a lower value. All cells that are encountered during the backtracking are kept
as the result path. The backtracking phase can be seen in Fig. 4.9.c.
If a solution exists, this algorithm guarantees to find it. If every cell cost is
equal, the lowest number of steps is equal to the minimum cost, therefore the
propagation process can be stopped after it reaches the target. However, if the
cell cost is not uniform there is a possibility that the lowest step path is not
the minimum cost, therefore the propagation process must be continued until all
cells are labeled. In general, in the non uniform cost environment this algorithm
requires more time to find the optimal solution. The example shows that the
algorithm needs to explore many cells before it finds the solution.
If an obstacle exist, Fig. 4.10 shows that Lee's algorithm needs to explore an
even larger amount of cells.
Beside the high time complexity, Lee's algorithm also uses a lot of memory,
because it needs to save the state of all visited cells. In the worst case, Lee's
algorithm needs to memorize all cells in the space.
A* Algorithm
In the previous section, we have surveyed how the A* algorithm can be used to
find the shortest path between vertices in a graph. We also have seen that the A*
algorithm outperformed Dijkstra's algorithm in terms of the calculation time and
memory usage, and if we wisely choose the heuristic function then the solution
that is found by the A* algorithm is optimal.
Now, we investigate the performance of the A* algorithm to find the shortest
path between nodes in a free space. The A* algorithm requires the space to be
divided into a grid of cells in the same manner as when we use Lee's algorithm.
Also, as in Lee's, A* will perform two phases of searching. First it performs front
wave phase. Then after the goal is reached, it performs backtracking to the start
node.
The A* algorithm in a free space has fitness value ƒ (n) = g{n) + h{n), where
g{n) represents the cost that is needed to travel from the start node to node n, and
h{n) represents the estimated cost from node n to the goal node. The difference
I
66 RELATED WORK 4.2
1
"8" 7 6 5 4 3 2 1 2
7 6 5 4 3 2 1 S 1
8 7 6 5 4 3 2 1 2 10
9 8 7 6 5 4 3 2 3 9 T
9 8 7 6 5 4 3 4 8 9
9 8 7 6 5 4 5 6 7 8 9
9 8 7 6 b 6 7 8 9
9 8 7 6 7 8 d
9 8 7 8 9
9 8 9
9
^ s
ZZZZI IZZZ J
a b
?zzzz
Mikami-Tabuchi's Algorithm
The first line-search algorithm was proposed by Mikami and Tabuchi [1968]. In a
two dimensional environment, this method starts with generating four lines (two
horizontal and two vertical) through the starting point S and target point T.
These lines are extended until they hit obstructions or the boundary of the space.
If a line generated from S intersects a line generated from T, then a connecting
path is found. If they do not intersect, they are identified as trial hnes of levelo.
These lines are stored in temporary storage for further processing.
68 RELATED WORK 4.2
i i
c
I d
S •
c d
1 1 1 1 0 1 2 2 2 2
«
>L X X X
f 1
'f •
1 1 1 1 0 1
After that, the algorithm starts the iteration procedure. For each step i of
iteration, it creates trial hnes for each grid leveli, one at a time. Along the trial
line, all its base points are traced. Prom these base points, new trial lines (of
leveli-^-i) are perpendicularly generated to the trial lines of leveli. If a trial line
of leveli+i intersects a trial line (of any level) from the other terminal point, the
connecting path can be found by backtracking from the intersection point to S
and T. Otherwise, all trial lines of /ei)eZ,+i are added to temporary storage, and
the iteration procedure repeated.
We use Fig. 4.14 to illustrate Mikami-Tabuchi's algorithm. At the beginning,
two lines (horizontal and vertical) are generated from the start point S and the
target point T as trial lines levelo. Since those lines are not connected, it generates
new trial lines leveli from 5 and also from T. At this stage, there is still no
intersection between the trial lines from S and T. Therefore it starts to generate
trial hnes levels- In Fig. 4.14, the intersection between trial line levels from S
and trial line leveli from T is shown by a red circle. Then the algorithm performs
backtracking from the intersection point to both S and T.
Even though this algorithm guarantees to find a path if it exists, it does not
guarantee finding the optimal path. However, the calculation time and memory
requirements are significantly less than for the A* algorithm.
Escape Algorithm
0 2
* • O C
PI
^ - ^ ^ ^
0
0 d
--0-
0
perpendicular lines through the starting point S. However, instead of using all
line segments perpendicular to a trial line, it considers only those lines that can
be extended beyond the obstacle which blocked the preceding trial line. The
intersection point between horizontal and vertical lines is called the escape point,
and one line segment only has one escape point.
Fig. 4.15 illustrates how the escape algorithm finds a path between the start
point S and the target point T. It starts by generating two lines (horizontal and
vertical) from S (line x and y) and T (line u and v), and those lines are called
trial Hnes levelo. Then it starts establishing the new trial lines leveli. In contrast
with Mikami-Tabuchi's algorithm, Hightower considers only a line that can be
extended beyond the obstacle that blocks the previous trial line. In this example,
the trial line leveli from 5 is line r because it can be extended beyond the obstacle
that blocks line y, and the escape point is point a. In the same manner, the leveli
trial line from T is line s, and the escape point is point b. Then line t is found
as the trial line leveh from S. This line intersects with One s, so point d is the
intersection point between trial lines from S and T. Prom here, the algorithm
performs back tracking to S and T, and the path S - a - c - d - b - T i s found.
The escape algorithm is faster and uses less memory space compared to Mikami-
Tabuchi's algorithm, but it cannot guarantee to find a solution.
4.3 HEURISTIC ALGORITHM 71
ular one is the Roulette wheel selection which is based on the fitness value of
all chromosomes. For example, suppose there are six chromosomes in a genetic
algorithm population and that they are sorted based on their fitness value. Fig.
4.16 illustrates the Roulette wheel. It shows that the proportion of the wheel that
is allocated to a particular chromosome difl^ers according to the fitness value of
that chromosome. Then the selection process is similar to a Roulette wheel in a
casino. The wheel is rotated and stopped randomly, and the selected chromosome
is chosen as the new parent. The probability for the chromosome with biggest
fitness value to be chosen is bigger than for the others. However, there is still a
probability that the relatively unfit chromosome is selected.
After two or more chromosomes are selected, the crossover process is started.
Crossover is a genetic operator used to vary the chromosomes from one generation
to the next. Crossover is a process of taking more than one parent chromosome
and produce a child chromosome from them. Two of several techniques of cros-
sover are shown in Fig. 4.17. Fig. 4.17.a shows one point crossover technique,
and Fig. 4.17.b shows two points crossover technique.
4.3 HEURISTIC ALGORITHM 73
Standard PSO
In the original framework, each individual in PSO, called a particle, moves in the
search space with a velocity that is dynamically adjusted according to its own
experience and its companions experience. As each particle moves through the
problem space, it evaluates the fitness function, and memorizes its best position
(the position giving its own best fitness value pbest) as a pbesix. Each particle
also memorizes the best global solution (gbesL), which is the best fitness value
among all particle in the population, and its position (gbesix), obtained so far by
any particle in the population based on the fitness function.
While moving toward its pbest and gbest location, each particle, at each time
step, changes its velocity and its current position according to:
where
Ui velocity of t h e i " ' particle;
a inertia weight;
C], C2 acceleration constant;
ai,(72 random numbers in the range [0.. .1];
X, position of the i"* particle;
PI pbest of the i"' particle;
Pg gbest of population, index g represents the index of the best particle
among all particles in one population.
The first part of (4.1) represents the mertia weight which was first introduced
by Shi and Eberhart [1998]. This term serves as a memory of the previous velocity.
A large inertia weight favors exploration and a small inertia weight favors exploit-
ation. The second part is the cognition component, representing the exploiting
of its own experience. The third part is the social component, representing the
shared information and mutual cooperation among particles.
There are two types of boundaries; velocity maximum Vmax and position
boundaries Xmin and x^^ax- If the velocity according to (4.1) exceeds Vmax,
then it is limited to Vmax. In same manner, if position x, in (4.2) exceeds the
position boundaries, then the particle is placed on the boundary. Vmax needs
to be chosen wisely, because 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 sufficiently explore the search space Fan and
Shi [2001]. Early experience with particle swarm optimization indicated to set
the acceleration constant ci and C2 equal to 2.0, and Vmax equal to 20% of the
total range of the variable. The standard PSO algorithm is shown in Fig. 4.19,
Kennedy and Eberhart [1995]-Fan and Shi [2001].
76 RELATED WORK 4.3
Initialize PSO
for J = 0 to numher of iteration do
for t = 0 to number of particle do
Results show that PSO finds good solutions much faster than other algorithms,
Angelino [1998], Pcram et al. [2003], Tao et al [2004], Krink et al. [2002[ and Tao
et al. [2003], however for some type of problem, Angeline [1998] shows that after a
few number of iterations the quality of solutions can not be improved. Especially
in strongly multi-modal problems, PSO may suffer from premature convergence
Tao et al. [2003].
To overcome that problem, much work to improve PSO has been done. The
main work was on parameter modification, increasing diversity, and variations of
the PSO algorithm.
PSO needs predefined parameters, i.e. swarm size, maximum velocity, weight
inertia, individual and social factor. The ability to find a globally optimum solu-
tion relies greatly on the setting of these parameters. Tao et al. [2004] proposed
an adaptive PSO by choosing parameter to increase stability and avoid prema-
ture convergence. Other works on the PSO parameters are described in Shi and
Eberhart [2000] and El-Gallad et al. [2002].
The diversity of the swarm needs to be high, while low diversity would lead
to fitness stagnation of the swarm. If this happens close to a the local optimum
region, the swarm can be trapped in a local solution. L0vbjerg and Krink [2002]
introduced self-organized criticality (SOC) to maintain diversity of the swarm, by
resetting particles that are too close to each other. Another approach to reset the
swarm to increase diversity was proposed by Clerc [1999] by defining a no-hope
convergence criterion and a re-hope method so that, from time to time, the swarm
re-initializes its position, according to some gradient estimations of the objective
function and to the previous re-initialization.
Modification of the PSO algorithm itself has been done to achieve better and
faster convergence. Most of it hinges on mixing the PSO algorithm with other
4.3 HEURISTIC ALGORITHM 77
oplimizaUon methods. The combination of PSO with hill climbing is used by Lim
et al. [2003] to solve the bandwidth minimization problem. Another hybrid ap-
proach introduced by Krink and L0vbjerg [2002] apply GA, PSO and hill climbing
simultaneously.
where Bandi and Rand2 arc the random numbers generated by taking the abso-
lute value of the Gaussian probabihty distribution A' (0,1).
To solve the shortest path problem using this algorithm, we can use exactly
the same method that was used for the genetic algorithm.
In some literature, it is mentioned that PSO normally converges faster than
the genetic algorithm. However, it still needs quite a large number of generation
before it can find the solution. Smce the calculation of the evaluation value is
expensive, it still takes a lot of computation time. Also, as in genetic algorithm,
the solution from PSO is not guaranteed to be the optimal solution.
'c
E
'
-rm ü«ife
w^-»A ^^^
• * • "
a " a
1
il b. 1 d
„
--
»
& 1
bi 1 -
J lb
H* • üü"?p^ — [ — 1r"^ ËÜÜÜÜÜ
„
_
(a) (b) (c)
pipes have a branch. There is a specific algorithm to solve this optimally, called
the Steiner 'IVce Problem, Bern and Graham [J 989]. However, it is not as flexible
as the A* algorithm that we adopted in our methodology.
We use Fig. 4.21 to illustrate the multiple nodes routing. Let us say that we
have five nodes to be connected as shown in Fig. 4.21.a. Fig. 4.21.b is the result
by performing the A* algorithm lour times to connect A to B, B to C, C to D,
and D lo 1'J l'"ig. 4.21.c shows the result by using Stomer l ï e e .
In chapter 5 we will discuss a modified A* to solve the branching problem.
1
d •
•
t
• iiiliÉ
In chapter 5, we will look in more detail into this problem and how our meth-
odology solves it.
Xt = Xi + Vi (4.5)
As can be seen by comparing eq.(4.1) with eq.(4.4) and eq.(4.2) with cq.(4.5),
there is no formal difference between classical PSO and DPSO. However slightly
different rules are imposed. 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 the velocity, since the meaning of movement of the particle is
not the same as in the classical PSO. In DPSO, the velocity is in a form of a list
of transpositions. For example, v = (2, 5) means that if this velocity is applied to
a position p, = (0,1, 2, 3,4, 5), it generates a new position p, = (0,1, 5, 3,4, 2).
In his work, Clerc [2004] develops DPSO and proves the performance of this
algorithm to solve the asymmetric 'IVaveling Salesman Problem, since TSP is well
known as one of the most important test grounds for the combinatorial problem.
4.7 MODEL SIMPLIFICATION 83
Hua-hong el, al. [2007], F.S.Nooruddin and Turk [2003], Cohen ct, al. [1996], and
Hjelmervik and Leon [2007]. The simphfied model generated by these approaches
still has a relatively high density ol triangles.
On the other hand, some applications need only the approximate shape of the
original models, for example in the application that needs to detect the collision of
two or more objects. An established method to achieve this goal is by finding the
convex hull of the model Barber et al. [1996] and Kirkpatrick and Seidcl [1986].
The convex hull of the model normally only consists of a relatively low number of
triangles. However, because the simplified model is always a convex wrapping of
the original model, it has a drawback if the original model is not close to a convex
shape.
In our methodology, we deal with thousands of 3D objects. Due to the very
large and complex calculation, and the fact that most pipes are routed in an
orthogonal way, we need a simplified model that only contains a small number
of cuboids for faster calculation. For this purpose, those approaches that are
mentioned above are not suitable to be used.
In chapter 5, we will discuss our method to simplify the 3D model as shown
in Fig. 4.24.
4.8 Summary
In this chapter, we have reviewed and compared the existing shortest path al-
gorithms to identify the algorithm that should be adopted in our methodology.
Based on our experiment described in Section 4.4, we have decided to use the
A* algorithm to find the shortest path in the single pipe router module of our
methodology. We also will use the Mikami-Tabuchi algorithm for the blockage
checker module, due to the fact that this algorithm can find a solution faster and
use less memory than the A* algorithm.
During our experiment, we found out that the heuristic algorithm is not suit-
able to route many pipes at the same time. However, it works nicely to route a
group of 2-3 pipes. This leads us to further investigate it to solve the mutually
intervening problem that will be discussed in detail in Chapter 5.
As described in the previous chapter, since our methodology routes pipes one
by one, the problem of optimizing the quality of a group of pipes becomes a
combinatorial problem. In this chapter, we also chose the heuristic algorithm
that will be used to solve the combinatorial problem.
Beside that we also described some other difficulties beyond the shortest path
problem, and our solution to these issues will be presented in Chapter 5.
Chapter 5
The Methodology Architecture and
its Implementation
5.1 Introduction
Chapter 3 discussed the core functionaUty that must be implemented in our pipe
routing methodology. These requirements are based on the current pipe routing
process in practice that has been discussed in Chapter 2.
Since a few decades ago, the pipe routing problem has been an interesting
research subject, and some selected researches that have most relevance for our
methodology have been reviewed.
In Chapter 4, we have reviewed and compared some optimization algorithms
in more detail. The comparison results led us to select the suitable optimization
algorithms to be used in the methodology. Some other important matters such
as model simplification and combinatorial optimization were also explained or
touched upon.
In Fig. 3.1, the outline of the proposed methodology architecture is shown
from the functionahty point of view. In our methodology, the function for data
Interface Module
85
86 THE METHODOLOGY ARCHITECTURE AND ITS IMPLEMENTATION 5.2
retrieval and to send result back to CAD software are combined into one module
called the interface module. Therefore, Fig. 3.1 can be represented as Fig. 5.1
that shows that the architecture of our proposed methodology consists of two
main parts; the interface module and the pipe router module. In this chapter, we
will look into both modules in more detail.
While the interface module is scientifically less interesting, it is an integral part
of our methodology since this research investigates and validates a methodology
that in principle should lend itself for practical application. For that reason we
must also dwell on it at some length.
\
3DDXF
2DDXF
XML
most of the CAD software packages have an export function to dump the data
from their system to be used by external applications. However, this is not always
a trivial case, because not every data can be dumped using the standard export
functions. Moreover, every CAD software package uses its own kind of standard,
and stores its data in a different way.
Let's take a look at our case which is important for validating the methodology
and its implementation. At this moment, our laboratory implementation with
both Cadmatic and lYibon M3 software packages. Even though both can be used
to design a ship, they are fundamentally different in terms of internal data. Also,
their export functions are totally different, and will produce an output in different
formats.
To tackle this problem, it is decided that in our methodology we will use
a common type of data format, the DXF format. As widely known, DXF has
become the de facto ASCII standard file format for CAD drawing exchange.
The data are divided into three different categories; the 3D volume data are
converted to 3D DXF, the 2D drawing data are converted to 2D DXF, and data
that contains the information are restructured into an XML file. As shown in Fig.
5.2, the required data from the CAD software packages will be converted to the
common format. Further details are not necessary to appreciate the validation in
Chapter 6.
and only a limited number of shipyards have access 1,0 that. Therefore, to fill
in the gap temporarily and support the validation of our methodology, a simple
Smart P&I diagram tool is included in the methodology.
In a manual pipe routing process, a Smart P&I diagram tool is not necessary.
A simply plain printed drawing of P&I diagram is enough. It is because the
pipe engineer is able to read the diagram and based on that he can route a pipe
correctly. There are basically five things of importance included in a P&ID:
1. Pipe specification, such as the pipe diameter and the type of the pipe.
2. Piping system that a pipe belong to. It is important because every system
must follow a specific set of rules.
3. Geometrical location of the start and end nozzles that the pipe needs to
connect.
4. Valve specification; defining the type of valve such as a butterfly valve, and
defining the valve location type (see below).
5. Branch location type (see below).
Without implementing a Smart P&I diagram tool, the task to define this
input to the router module will take a lot of time. This would unduly hinder our
validation work and also raise question with regards to the practical applicability
of our methodology. The first three items listed above can be seen immediately
in a plain P&I diagram, but the fourth and the fifth can only be seen by the
experienced pipe engineer.
Valves
Two main things are described in a Smart P&I diagram regarding a valve. The
first one is the technical type of valve. It is important since during the pipe routing
process the valves will be placed automatically by the pipe router module. This
feature also prevents a pipe engineer to make a mistake like shown in Pig. 2.6
The second part is the valve location type. In practice, a pipe engineer places
a valve in two different ways. The first one applies to a certain kind of valves: a
pipe engineer must define the location of that valve in space and after that routes
the pipe through that location. This must be done if the valve belongs to the
group of control valves. We call this valve a fixed valve. For other types of valve,
normally the pipe will be routed first, then after that the valve that belong to
that pipe will be placed in that path. This kind of valve is called a floating valve.
Branches
Even though pipe branch cases are neglected in many studies about automatic
pipe routing, in practice most of the pipes in a ship have a branch. For that
reason, branches must be included in any relevant methodology. As with the
valve location type, the branch types are divided into two types; a fixed branch
and a floating branch.
5.2 INTERFACE MODULE 89
O © o -©
© ©
-©
Fig. 5.3 shows the difference between a fixed branch and a floating branch.
Assume there are three nozzles that must be connected as shown in Fig. 5.3.a.
Fig. 5.3.b shows the example of a fixed branch. In a fixed branch there is a
master pipe and a child pipe. In this case, the pipe between nozzle 1 and nozzle 2
is routed, as a master pipe, then nozzle 3 is routed to the master pipe, as a child
pipe.
In a floating branch, all nozzles have the same priority. Thus, the master pipe
can be the pipe that connect nozzle 1 and nozzle 3 as shown in Fig. 5.3.c or the
master pipe is a pipe between nozzle 2 and nozzle 3 as shown in Fig. 5.3.d or
between nozzle 1 and nozzle 2 as shown in Fig. 5.3.e.
implement the quadric error metrics method for surface simplification that was
proposed by Garland and Heckbert [1997]. To make it fit our needs, some adjust-
ments in the implementation are made. For example for the steel construction,
instead of simplifying the model individually, it is better if a bunch of steel con-
structions are combined into a group and allow the simplification method to work
on the whole group. After that the simplified model needs to be split into the
original entities again so that the user can hide or show every single entity.
This process is illustrated in Fig. 5.5. From the original model, shown in the
upper left of Fig. 5.5, we construct the AABB. Then we apply the step 2 in the
algorithm SDBB with n equal 3. It divides the AABB to 3 parts in each axis
uniformly (cell sizes Xi = X2 = X^^Yi = Y2 = Y^; Zi = Z2 = Z^) and creates 27
uniform cells that can be seen in the lower left part of Fig. 5.5. Then steps 3-5
are applied to each cell. The final result is the simplified model that is shown in
the right most part of Fig. 5.5.
As shown in Fig. 5.5, the SDBB is able to represent the original model much
better than the AABB, while maintaining an acceptable number of cuboids.
92 THE METHODOLOGY ARCHITECTURE AND ITS IMPLEMENTATION 5 2
I
5.2 INTERFACE MODULE 93
Even though the subdivision boundary is more representative than the ordinary
axis-aligned boundary box, to get the best result, the size of the cells needs to be
smaller. A smaller size of the cells can be reached by dividing the AABB using a
larger value of n, at the expense of increasing numbers of cuboids in the simplified
model.
This fact is unfavorable, because our main objective is to get a simplified model
that only consists of a small number of cuboids. To overcome this problem, step
2 in SDBB algorithms needs to be modified. Instead of using a uniform division
cell size we use a non-uniform division cell size to divide the AABB. It means that
the cell sizes {Xi... X„), ( Y i . . . ¥„), {Zi ... Z„) are not necessarily equal.
Fig. 5.6 shows the comparison between the original model with the original
SDBB using the uniform division cell size, and the Optimized SDBB using the
non-uniform division cell size. As can be seen with proper division cell size, the
shape of the simplified model is closer to the original model and also contains a
smaller number of cuboids. This method will be called as the optimized subdivi-
sion boundary box method.
Moreover, because this method uses the boundary box for each cell that inter-
sects with the original model, it is guaranteed that the simplified model always
covers each whole triangle in the original model.
However, the output of this method is very sensitive to the variation of the
division cell size and to get the best result it needs to have the correct size of each
division. To find the best value manually is not trivial. Fortunately, the problem
to find the best division size can be solved using the heuristic optimization method.
particle is removed. The quality of the swarm is also measured, and if it is bad
a new tribe is added, and if it is good and has enough tribes the worst tribe is
removed.
The Tnbes-D algorithm that is used was adapted from the C source code of
IHbes-D by Clerc [2008]. The difference concerns the random generator. Original
lYibes-D uses the KISS random number generator, while we use the Mersenne
Twister random generator.
where Cub e l . , .n^, VolCuboid^ is the volume of each cuboid i, and VolBB
represents the volume of A ABB.
The lYibes-D algorithms is used to optimize the division cell size. In this case,
it optimizes {Xi... X„), (Yi . . . y„), ( Z i . . . Z„), with n the number of division, to
minimize the fitness functions fi. In our implementation, we choose to define n
equal to 3 or 5 depending on the actual size of the model and maximum fitness
evaluation is 10000 times.
The performance of the approximate orthogonal simplification method is meas-
ured by the ability to find the solution that visually represents the original model.
As a comparison, we compare the result of this method with the simplified
model using a simple voxelizalion method with two type of voxel-values, zero and
one.
ƒ2 = {Cub} (5.2)
5.2 INTERFACE MODULE 95
Cuboids Percentage
Method
I
number volume
Approximate orthogonal simphfication Method 10 42.58
Voxehzation 546 34.32
I
96 THE METHODOLOGY ARCHITECTURE AND ITS IMPLEMENTATION 5 2
F i g u r e 5.8: Comparisons
5.3 INTERFACE MODULE 97
In Subsection 2.5.1, we have discussed the rules that must be followed by a pipe
engineer when he routes a pipe in a ship. Also the common strategy to route
pipes in a ship has been described in Subsection 2.6.
100 THE METHODOLOGY ARCHITECTURE AND ITS IMPLEMENTATION 5.3
General Rules
The general rules are mentioned below:
1. Collision avoidance. All pipes that are routed must be collision free with
other pipes and with other objects in a ship.
2. Pipes must be supported. The path of all pipes that are routed must be
chosen in such a way that those pipes can be properly supported. In other
words, all pipes must be routed close enough to the major steel structural
elements and at least at every interval distance so it is possible to install
pipe supports on that pipe.
3. Parallelism. For ease of installation and maintenance, all pipe paths that
are close to one another and running in the same direction should be routed
in parallel.
4. Layering longitudinal and transverse direction. For much the same reason
as for the previous rule, if it is possible pipes are better routed in imaginary
pipe racks, and the imaginary racks that have a different direction should
be arranged into layers.
System Rules
The system rules should be implemented in such a way that they are easy to be
added or edited by a user. The system rules that are implemented:
1. Sea Cooling Water system must be placed as low as possible.
2. Bilge and Ballast system must be placed as low as possible.
3. Fresh Water system must not be routed through the oil tank.
4. Fuel Oil system must not be routed through the fresh water tank.
5. Fuel Oil system must be routed as far as possible from the electrical com-
ponent (i.e. switchgear) or combustion engine. Especially not above it.
6. Fuel Oil lYansfer system must slope down according to the flow direction.
7. Draught Measuring system must slope down according to the flow direction.
8. Lubrication Oil Bow thruster system must slope down according to the flow
direction.
9. Dirty Oil and Sludge system must slope down according to the flow direction.
10. Air, Filling, and Sounding system must be routed as straight as possible,
and the maximum bends should be limited to less than 30 degree angles.
5.3 PIPE ROUTER MODULE 101
The rules that, are menlioned in the previous subsection must be followed. Failing
to comply with those rules results in a pipe that will be marked as a non-valid
solution, and it must be re-routed again. Thus, a valid solution means that all
pipes that are automatically routed comply with those pipe rules that are defined
above.
However, only trying to find a valid solution is not enough. The aim of using
the proposed methodology is to have a valid and optimal solution. To make it
easier to be measured, we adopt the condition that was used by Park [2002] by
measuring the cost of pipes. In his work, Park calculates the cost of pipes as the
sum of production cost (consists of the material and bending cost), installation
cost (related mainly with pipe support cost) and operational cost (related with
the location of the valves).
While adhering to the same principle, we use a slightly different way to cal-
culate the pipe cost. As mentioned in Chapter 3, our research is not focus on
the valve placement, therefore we neglect the operational cost. In Chapter 2, we
have mentioned that the cost of the pipe consists of three elements; pipe material,
production and installation cost. Starting from this point, the pipe material and
production costs are combined into a single category, the production cost.
Production Cost
Ftom the two elements mentioned above, the production cost is the most obvious
part. By calculating the part of each pipe completely, the cost figure can be
estimated. The raw material for a pipe consists of a straight pipe. Before it
can be installed in the ship, it must be processed according to the pipe spool
sketch. It needs to be cut, bent, flanged and if required painted or coated. In
total, the production cost of a pipe is the sum of raw material cost, the cost of
the production process, and the cost of pipe treatment.
The cost for the raw material of a pipe depends on:
1. Pipe material
2. Pipe length
3. Pipe diameter
4. Pipe thickness
5. Type of pipe bends
The cost to produce a pipe depends on:
1. Raw material of that pipe
2. Pipe surface treatment
3. Type of pipe bends
4. Type of pipe treatment or coating
102 THE METHODOLOGY ARCHITECTURE AND ITS IMPLEMENTATION 5.3
Installation Cost
When wc discuss the inslallation cost of a pipe, it means that we discuss the pipe
spools of that pipe. Basically the installation cost depends on two aspects; the
first is whether the pipe is installed during the pre-outfitting stage or during the
outfitting stage. The latter costs are around 3 times higher than the first. Beside
that, the cost of installation of a pipe depends on the weight of that pipe, the
type of coating that the pipe has, the ease to support that pipe spool, and also
the shape of the pipe spool. For example, a simple pipe spool that only has one
bend but with a length of 2 meter for each legs, can be difficult to instaU.
Calculating the installation cost is not trivial, it is very sensitive to the labor
cost, labor skill, weather, equipment and how well the pipe spool is designed. The
version used for the analysis in this thesis includes a simplified approach, which
totally depends on the output generated by the router module.
Based on those assumptions, to calculate the installation cost can be done
by calculating the man-hours. In his book, Page (1999) describes in depth the
man-hours for piping production and installation, and it can easily be adapted to
the current situation.
In this research, we would like to combine the production and installation cost of
a pipe into a single pipe cost value. For the straight pipe, the total pipe cost can
be estimated to yield a single value. However, we need to differentiate the cost of
pipe bending depending on the type.
There are two different types of pipe bending; the bending that can be done by
a pipe bending machine, and the type involving the use of pipe elbows. In addition
to those two types, in practice there is another case when there are two bends in
a pipe and the distance between two bending points is too close to be bent by the
pipe bending machine. I'here are two solutions if this happens: using two elbows
or making the two bends using the pipe bending machine while allowing more
distance between the two bending points and then cut the excess pipe and weld
it back together. The second option requires additional pipe cutting and welding.
However, it is still cheaper than using two elbows.
The pathfinder module is a part of the pipe router module that actually finds the
path of every pipe. I'his module routes all pipes one by one, and tries to optimize
each pipe by using the routing criteria as its objective functions.
In the routing process, this module uses pre-defined parameters from the router
parameters module, and follows the pipe order list from the optimizer module.
Basically, this module contains three separate parts; the blockage checker, the
single pipe router and the hybrid back-tracker.
5.3 PIPE ROUTER MODULE 103
Blockage Checker
As discussed before, besides the data that can be retrieved automaticaUy from the
CAD software packages, there are also some areas that must be defined manually
by the user of the methodology. Thus, there is a possibility that this areas lead
to blocking some pipes. If this situation occurs, the methodology may fail to find
a solution.
To prevent this, it is required that the system can perform the blockage test.
For this purpose, one of the shortest path algorithms that have been discussed
in Chapter 4 can be used. Since the main purpose of the blockage checker is to
test whether a pipe can be routed or not, it is not necessary to use the shortest
path algorithm that guarantees to find the shortest path, so long the algorithm
always finds a solution if it exists. Thus, the fastest computation time is the only
criterion that is considered.
In Section 4.4, we selected the shortest path algorithm from Mikami and Tabu-
chi [1968]. The Mikami-Tabuchi algorithm always finds a solution if it exists, re-
quires less memory than others, and is significantly faster than the A* or Dijkstra
algorithm.
The single pipe router is the part that actually routes all pipes. The router get
a set of parameters from the routing parameter module according to the location
type of the pipe. During the routing process, the pipes are routed one by one
according to the list of pipes that are generated by the optimizer module. Then,
the result is evaluated using the routing criteria, and the router will send it back
to the optimizer module. Based on that, the optimizer module will optimize the
new pipe order to be used by the single pipe router. This iterative process will
continue until the globally optimized set of pipe paths is founded.
As discussed in Chapter 4, the shortest path algorithm that is suitable to be
used by the single pipe router in our proposed methodology is the A* algorithm.
There are four reasons for choosing this algorithm over the others; the A* al-
gorithm always finds a solution if it exists, the A* algorithm is faster and uses
less memory than Dijkstra, the A* algorithm most likely will find the shortest
path, and since it works in a grid environment, the A* algorithm can be used in
a weighted environment.
The basic approach to the single pipe router is as follows:
• unobstructed space is decomposed into discrete elements,
• the elements are treated as grids,
• the optimization algorithm walks through the possible path,
• an efficient and valid path through the graph is found,
• if a valid path of a pipe cannot be found, the hybrid back-tracker is invoked,
• the above steps will be repeated until all pipes have been routed or terminate
if there is no solution
104 THE METHODOLOGY ARCHITECTURE AND ITS IMPLEMENTATION 5.3
Geometrical Constraints
When a pipe is routed and a routing point exists, that pipe must be routed
through that point. A routing point can be added manually by the user or it
can be added automatically. For example, if the pipe that is routed contains
a fixed location valve, that pipe must be routed through the location of that
valve.
Obstruction area
Obstruction area is a virtual area where no pipes are allowed to be routed
through it. This area has an infinite constraint value. Every hard object
constraint, such as an equipment, is an obstruction area.
Sink area
This virtual area is a desirable area for a pipe to be routed in or through.
Thus, a pipe that is routed in this virtual area will get a bonus. For example,
the area near a major steel construction can be categorized as a sink area,
because it will be easier to install a pipe support.
R o u g h area
Contrary to a sink area, a rough area is a virtual area where a pipe will get
a penalty if it is routed there.
Attraction area
As shown in Fig. 5.11, an attraction area is the more complex form of a
sink area. The actual area is only the dark blue part, but there is also a
bonus effect to the surrounding area outside the attraction area itself. The
dark blue area has the highest bonus, and for the area further away from it,
the bonus is smaller.
Magnet area
Magnet area, as shown in Fig. 5.12, is almost the same as an attraction
area. The difference is that the actual area is an obstruction. Thus, area
surrounding the obstruction is preferable, but the actual area itself is a
forbidden area. As such the magnet area is a combination of obstruction
106 THE METHODOLOGY ARCHITECTURE AND ITS IMPLEMENTATION 5.3
Grid Decomposition
The unobstructed space is decomposed into grid of cells, with the size of each cell
5 mm by 5 mm by 5 mm. This small cell size is used to improve the quality of
the routed pipes. However, there is an important disadvantage by using a small
cell size in the grid. As discussed in Chapter 4, the memory that is needed to
store a grid of cells is very large, especially in a large three dimensional space
when the cell size is small. Fortunately, in most of the cases, the A* algorithm
does not need to explore all cells in the space to find the solution. Based on this
knowledge, the cells are created during the routing process.
Every cell has a weight value. The weight value of a cell is the penalty or bonus
factor that will be used to calculate the objective cost value of the pipe that is
routed through that cell. When a cell is created, a weight value will be assigned
to that cell based on its location in the three dimensional space. As previously
described, each location in the space is affected by the constraint value of the
geometrical constraints that lie in that location. Therefore, the cell's weight value
depends on the geometrical constraints that lie on or near by that cell. If there
108 THE METHODOLOGY ARCHITECTURE AND ITS IMPLEMENTATION 5.3
lBHHHaHlBnia«HH.HM«Éay
Obstacle Obstacle
a.
Figure 5.17: Collision detection is needed
are more than one geometrical constraints, the weight value is the combination of
those geometrical constraints. The objective cost value is a multiplication of the
pipe cost value with the cell's weight value.
The geometrical constraints that are automatically created by the rules con-
straints are based on the pipe that is currently being routed. Thus, the constraints
might be different between pipes that belong to different groups to which different
rules apply.
After the grid of cells is built, the A* algorithm can be used to find the shortest
path. As described in Chapter 4, the A* algorithm finds the optimized path by
exploring the grid, cell by cell. However, since the cell size is smaller than the
diameter of the pipe that is being routed, the path that was found by the A*
algorithm might not be valid, because the real pipe might have a collision with
an obstacle. For example. Fig. 5.17.a shows the path that was found by the
A* algorithm. However, as can be seen in Fig. 5.17.b, the solution is not vaHd
because the actual pipe has a collision with the obstacle, as depicted in red.
To prevent this problem, the collision detection routine must be triggered
every time the A* algorithm explores a cell. This solution however, has a big
disadvantage because a collision detection routine is computationally expensive,
and the total computation time that is needed to find the optimized path becomes
longer.
Fortunately, this situation can be avoided by manipulating the obstacle before
the process to build the grid of cells is started. Fig. 5.18 shows how it works. In
Fig. 5.18.a, as shown in pink color, before the cells are created the obstacle was
virtually extended. Then, when the grid is built, that virtual area will not be
used as a cell. Therefore, the optimized path that was found by the A* algorithm
is always collision free. It is important to ensure that the extended area has the
proper size; enough to prevent the collision but not too large. Thus, the expansion
size must be adjusted according to the size of the pipe that is being routed.
5.3 PIPE ROUTER MODULE 109
m ^^|iWffl
Obstacle Obstacle
a. b.
~ " ~
1 1 i _ - u LJJ J..1..m
-
1
(3 3£>ti3C \i J
1
Figure 5.19: Backtracking
Hybrid Backtracking
In the pathfinder module, a set of pipes is routed one by one according to the
order of routing that was prepared by the optimizer module. Because of that,
there is a possibility that the path of one pipe is bloclced by the other pipes that
were previously routed. This situation is described by Zhu and Latombe [1991]
in their work, and they suggest a solution by performing a backtraclcing process.
The backtracking procedure is shown in Fig. 5.19. As can be seen in Fig.
5.19.a, there is no way to route the red pipe because it is blocked by the green
pipe. In this case, those two pipes will be re-routed to find the solution as shown
in Fig. 5.19.b.
Using the backtracking procedure will solve most of the pipe blocking prob-
lems. However, this procedure cannot solve the mutually intervening case that
was mentioned in Subsection 4.5.2. To solve this special case by utilizing the
deterministic procedure is possible. However, since it is very hard to predict the
environment of a three dimensional space that causes the mutually intervening
case, a robust deterministic procedure will be very complex and re-routing of
many pipes might be required. Thus, we propose to solve this problem by using
one of the heuristic optimization methods that have been discussed in Chapter 4,
110 THE METHODOLOGY ARCHITECTURE AND ITS IMPLEMENTATION 5.3
5.4 Implementation
Fig. 5.20 shows the expanded version of the outline methodology architecture
that was shown in Fig. 3.1.
The proposed methodology has been implemented for research testing and
validation purposes as a software package. The current version of the proposed
methodology is implemented using C # programming language tools, and it can
be operated under Microsoft Windows operating system using Microsoft .NET 4,
and also under Linux operating system using Mono. However the interface part of
112 THE METHODOLOGY ARCHITECTURE AND ITS IMPLEMENTATION 5.4
Optimizer lUlodule
Discrete
Particle Swarm
Optimization
^T—T
Pathfinder Module Routing Criteria
Router
Parameters
Single pipe router Pipe rules
Hybrid
Blockage checker Pipe cost
Backtracker
v.-
Required Data
Interface Module
X
Figure 5.20: The Complete Architecture of Proposed Methodology
Required data
1
[ Blockage Checker
~"S—
notify user
[blockage]
[no biclckage]
Calculate
parametors T<J-
Roullna Criteria
pipe rules
Slngle pipe router
pipe cost <
±
c Evaluate
solution
> [solution founded] \ / [path founded]
[path becked]
to the user.
Than, using the standard parameters, the single pipe router module starts to
route pipes one at a time until all pipes are routed. If there is a pipe that cannot
be routed, the blockage checker is triggered again to find the routed pipe that
blocks the current pipe. Based on that, the hybrid backtracker tries to solve the
blockage problem. The hybrid backtracker was discussed in Subsection 5.3.2.
114 THE METHODOLOGY ARCHITECTURE AND ITS IMPLEMENTATION 5.5
If the problem is solved, the pathfinder continues to find the path for the next
pipe, and if it cannot be solved, the pathfinder module stops the iteration and
gives the signal to the optimizer module that the combination of the parameters
is not good and that a nevir set of parameters is needed to begin with.
If all pipes are routed by the pathfinder module, the solution is sent to be
evaluated by the optimizer module. Then the new set of parameters is calculated
and sent back to pathfinder module.
This cycle runs until the defined quality is achieved, or until the time fiag
limit is invoked. During the process, the pipe rules and the pipe cost which form
the routing criteria are used by both the single pipe router and the evaluation
solution.
Parameters
The predefined parameters used in the algorithm are:
• Geometrical constraints parameter
• Single pipe router algorithm parameter
• Branch solver parameter
• Grid size
• Hybrid backtracking parameter
The parameters that are defined by the optimizer module consist of
• Routing order of pipes
• Height difference
5.5 Summary
This chapter describes our proposed methodology in detail which also answers the
second, fourth, fifth and sixth research questions of this thesis. In this section we
summarize it based on the addressed questions.
The second research question asks for the needed information, the source, and
how to get it. In Chapter 2, we have described the list of information that are
needed to perform the pipe routing process. In Subsection 5.2.4 we have shown
that most of the information can be retrieved from the CAD software, and that
we also need additional tools such as the smart P&I diagram tools.
The fourth research question asks which common knowledge of the pipe rout-
ing process should be adopted in our proposed methodology, and to what extent
we should adopt it. Subsection 5.3.1 answered this question by translating the
common knowledge into the routing criteria.
Subsection 5.3.3 answers the fifth research question that concerns the way to
evaluate the quality of the routed pipes quantitatively. In this subsection, we
have explained how the translation from the non quantitative to the quantitative
value was made and that our methodology uses this as the objective function.
5.5 SUMMARY 115
In this chapter Ihe sixth research question, relating to how to implement the
routing algorithm efficiently was answered as well.
The common bottleneck for the multiple path finder is that one path is bIocl<-
ing another. If this problem can be detected as early as possible, the time wasted
can be reduced. Therefore, one of the key functions in our methodology is the
blockage checker.
During the search in a grid space with the cell's size smaller than the pipe
diameter itself, we need to perform a collision detection test for each step. By
doing this, the time that is needed to find the shortest path is very long. To
make it faster, we found a way to avoid performing the collision detection test.
Subsection 5.3.2 explained how our methodology deals with this.
Another important detail in our methodology to reduce the computation time
of the pipe routing process is the new 3D model simplification method that was
explained in Subsection 5.2.3.
With all this we have a functional method and methodology which we sub-
sequently test and validate in a complex situation taken from a real ship design
case. This is the subject of the next chapter.
Chapter 6
Pipe Routing l\/lethodology
Validation
6.1 Introduction
In the previous chapters, we have described the needs to automate the pipe routing
process and its practical aspects. Then as a means to both investigate and prove
our proposed methodology, the automatic router software package was developed
as a laboratory.
In order to validate the proposed methodology, we need to use the validation
method from Seepersad et al. [2006] called the validation square. This valida-
tion technique is chosen because the traditional approach of formal, rigorous and
quantifiable validation is problematic for the proposed methodology.
The essence of the validation square is covered by two primary tasks:
• Structural validation of the proposed methodology
• Performance validation of the proposed methodology
117
118 PIPE ROUTING METHODOLOGY VALIDATION 6.3
6.3.1 The Usefulness of The Method for The Chosen Example Problem
To establish the usefulness of the methodology, it should be applied to a repres-
entative example problem. As explained above, the proposed methodology was
applied to solve the pipe routing problem in a machinery room in a complex ship.
The first step in establishing the usefulness is to determine how the result
for our example problem should be measured; what aspects are needed to be
examined and compared.
As discussed in the previous chapters, many researchers have made a lot of
effort to tackle the pipe routing problem. In order to prove that their algorithm
works, they use their own criteria to measure it. Since most of them merely focus
on developing the routing algorithm itself, the validation usually is performed
by showing that the algorithm has the capability to route pipes in the defined
environment, and then they claim that the algorithm is validated. Some others
include more detail in their validation criteria, by not only minimizing the length
and number of bends, but also considering the branches. Ultimately, some of
them compare the pipes that are routed by their routing algorithm with the pipes
that are routed manually. They not only compare the total cost (using total
meter-inch and number of bends), but also compare the path of those pipes in
the space. The main argument is that since the automatic pipe router algorithm
is created by mimicking how a person routes the pipes, both results are expected
to have the same path, or at least almost the same.
In our research, beside minimizing the total cost, we have tried to include
most of the practical aspects, for example, all pipes must be routed according to
the marine standard. There was a point where we were also tempted to compare
the path of the pipes that are automatically routed with the one that arc routed
by a pipe engineer. However, we decided only to make a comparison of the cost
to show that the quality of the automatic pipe routing is on the same level witli
the pipes that are routed manually in terms of cost.
The main reason why we choose not to compare the path of the pipes is because
we believe that the argument above was not completely correct. That argument
is true if we only route one pipe from one nozzle to another. Then the path of
the pipe most likely is the same for both automatic and manual routing. This is
because both methods will route the pipe as efficiently as possible. However, there
are many pipes that need to be routed in a ship, and it is impossible to route all
pipes if we only consider minimizing the cost of the pipe that is currently being
routed. Every pipe engineer must consider that all pipes are routed efliciently as
a group of pipes. In practice, there are no exact rules to tackle this condition.
Thus, every pipe engineer must think to solve this problem individually. Then
as a result, the combination of pipes that are routed by a different pipe engineer
might not be the same.
In short, it is a fact that there is no standard of how a combination of pipes
must be routed in a ship. 'Thus, it is no longer interesting to compare every single
path of the pipes that are routed automatically and manually.
120 PIPE ROUTING METHODOLOGY VALIDATION 6.3
Model Preparation
As mentioned in the previous chapter, our methodology uses the simplified 3D
model from the CAD software. The simplification of the 3D model is performed
during the 3D model import process.
There are two parts in the simplification process; for the plates in the steel con-
struction and for other parts. Steel plates are simplified by settings the thickness
122 PIPE ROUTING METHODOLOGY VALIDATION 6.3
to zero. For the other parts, they are simphfied into a small number of boundary
boxes using the simplification method that was discussed in Subsection 5.2.3.
During the simplification process, the basic geometry constraints are created
automatically, i.e. the attraction constraint areas are also created in the steel
construction part. The intention of this is to attract a pipe to choose a path
nearby the steel construction for the ease of installing the pipe support.
There are some manual setups that need to be done. One of them is to place
some valves that are required to be arranged as a group in a certain location.
#3.
In run # 5 , the methodology crashed due to memory overload. There are some
aspects that might generate this problem. There is a possibility that another
application running on the computer was causing this. However, since it is only
a research implementation, at this moment the automatic pipe routing software
package is not yet optimized for real production in terms of robustness, such
as memory management and prevention of crashes caused by the mistake of the
operator. Here we only focus on the algorithm to solve the pipe routing problem.
If we conclude that the methodology failed on run # 3 and # 5 , the success
ratio is 80% which can be considered as acceptable at this stage. Therefore, the 5
mm grid space is good enough for our present purpose. Considering only the runs
that were able to find the complete solution, the average time needed to route
144 pipes in the engine room is 3200 minutes.
At this moment our focus in not to minimize the calculation time. But it is
important to show that the proposed methodology is able to automatically route
many pipes within an acceptable time, and 3200 minutes to route 144 pipes in an
engine room can be claimed to be an acceptable result.
To shorten the calculation time and make the success ratio higher, we need
to focus on the improvement of the software package, and keep the proposed
methodology intact. However, this is not our main focus because it is a software
engineering problem.
Also, with the rate of hardware improvement in the past years, we can safely
make an assumption that in the near future the increasing computational power
of the computer will make the calculation time shorter. The fast growth in com-
124 PIPE ROUTING METHODOLOGY VALIDATION 6.3
putation power is one of the main motivation to route pipes automatically; the
time that is needed to do the manual routing is basically almost the same from
year to year, but the computation time to perform automatic pipe routing will
grow shorter and shorter.
Our main focus was to translate the way a pipe engineer routes the pipes in
a very difficult area of the ship into the procedural methods that can be done by
the computer. This is very interesting and challenging and until today, there is a
general assumption that only experienced pipe engineers are able to route pipes
properly in the engine room.
Fig. 6.3 shows the pipes in the machinery room that are routed manually. If
we compare it with Fig. 6.2, even though there are important similarities, the
differences between those two results can be noticed easily. As we mentioned
earlier, those differences are expected, since there are many ways to route the
group of pipes.
One of the reasons for the differences is that the routing algorithm in the
proposed methodology is more strict with respect to parallelism, while in practice,
pipes might not have to be routed in parallel that strictly. This can be seen in
Fig. 6.4 and Fig. 6.5.
Beside that as shown in Fig. 6.6, to ensure the minimum number of bends,
the automatic routing algorithm is strict with respect to maintaining different
heights for X and Y direction, while in manual routing, shown in Fig. 6.7, a pipe
engineer is more flexible in this respect.
It is interesting to compare the total cost to make sure that the result of
our proposed methodology is on par with the manual routing result. Table 6.2
shows the comparison of the pipe cost per system. The cost value in Table 6.2 is
6.3 PERFORMANCE VALIDATION 125
00
CM CJ2 lO CD 00 lO CM
.a 3 CM
CO
CD
T-H
T-H CM 00 O T-H
CJ5 t--
00 o
O T—t CO T-H O CO co O LO
CM
CO
00
o CO
CO O 00 lO CO
CO CO
CO no
PL, CO CO r—1 T-H CM T-H CO T-H
T-H CO
oo T-H o
CO
t- <M
(TO
00 CM T-H
T-H CO
CM lO 00 o CD Oi
00 CD T-H T-H T-H ^H CJ3 tr- o o 00 CM
CO O CM
CM
T-H
CO in 00 o io lO T-H
CM
^H
CM O 00
I—t T-H T-H 00 QO
in
r-H CO CO in
u
CM T-H CO 00 O o CO 00 05 o
0) 1=1
CM
CO CM
CD
00
CO
lO CO
en
00
CO
00
ira
05
CD o
O
T-H
T-H
CO
'^
o o 05
^H T-H o 00 lO
CO T-H
CO CO
CO
S3,
Number of
pipes
o CO
00
-* l O tr- CO T-H
CM CO T-H T-H CM T-H CO l O 00
t-H T-H T-H T-H T-H i-H
rH IN
CO
PI 1 Ö
PH
<; fa
Ö
1
B
'i a;
PH CD
a.
a. o >
^ T
,<D
^4H
CP
PH
CD
CD
C^
'>
t4H
a;
!H
<
"(3
cn
1 I cn s fa£
CO
o pi bX)
i 1
Ö SH
(D CO CD
03
CD Ö Ö
'S +H d CO M bO
03 *+^
m O
CJ
p Oo .3 O >>
CD p-1
o
03
X fa fa o
•Q Ü O
o +j
-l-J
Cfi 1
< CD
w Ü
Ü '3
03
Ü p ,JPI CO
1
fa
128 PIPE ROUTING METHODOLOGY VALIDATION 6.3
calculated based on the pipe cost value that was used as part of the objective cost
function as described in Chapter 5. It must be noted that the pipe cost value is
not the same as the objective cost value that was used during the optimization
process. The pipe cost value is a constant value per pipe in every location, while
the objective cost value varies depending on the cell location, and each cell has a
weight value that depends on the geometric constraints.
Also, since our methodology does not split pipes into spools, we exclude the
cost of the pipe flanges, with the assumption that both manually and automatic-
ally routed pipes have almost the same number of flanges.
As shown in Table 6.2, the total meter inch of the automatically routed pipes
is around 5% higher than the pipes that are routed manually. This result is
reasonable because the current routing algorithm uses 90 degree of bending angle
as its first choice. It only will choose other bending angles for 3 reasons; the
distance between two bending points is shorter than the minimum requirement,
the pipe is a member of a pipe system that requires the pipe path to have a slope
and depends on the predefined bending parameter, to select a cheaper bend type.
The total estimated cost in automatic routing is around 1.7% lower than the
total cost of manual routing. This is also a reasonable result since the routing
algorithm intends to route pipes as parallel as possible. Also the consistency of
maintaining constant height for X and Y direction reduces the number of bends
that are needed.
Since we only compare the estimated cost of the pipes, we are not claiming
that the automatically routed pipes are definitively cheaper than the manually
routed pipes. Nevertheless, from this comparison, we can claim that the solution
obtamed by the proposed methodology is quite good and that the validity of the
cost criterion is established.
In a previous subsection we mentioned that for operational reasons, some of
the valves must be located nearby in an accessible area. Fig. 6.8 and Fig. 6.9 show
that the proposed algorithm is also capable to route pipes with this condition.
Since all criteria are met, it proves that the proposed methodology is able to
route pipes in difficult areas of a ship. Thereby we demonstrated its usefulness.
1 :iJ^
Wi ^ ^ ^ ^ ^ ^ ^ ^ ^ .
ii\'^^Bi ^_a
in a ship. From that, it was clear that our broader domain is the pipe routing
problem in an arbitrary ship.
As mentioned above, we took the machinery room as the example problem.
It was also stated that the machinery room is the most difficult part of the ship.
Based on this, it can easily be deduced that if the methodology is able to solve
the pipe routing problem in that room, it must be able to be used in other areas
in a ship also.
Indeed, our research addresses pipe routing. There are also other distribution
systems that need to be routed: ducts, cables and walkways for example. While
these distribution channels obey different rules, our methodology can most likely
be tailored to these situations by implementing these rules. Then the relevant
domain for our research is indeed considerably broader.
Length Cost
Optimal 100,00% 100,00%
Strictly orthogonal 100,03% 104,35%
No restriction orthogonal failed failed
Very high attraction coef. 102,33% 110,97%
Very low attraction coef. failed% failed%
Table 6.3: Comparison mill the results for oplimal parameter settings
if the distance between two bending points is shorter than allowed. In the other
way around, the non restriction orthogonal means that the pipes are allowed to be
routed non-orthogonally without any restriction at all. In the case of a very high
attraction coefficient, the objective cost value is low if the pipe is routed close
to a geometric constraint. Vice versa, with a very low attraction coefficient, the
objective cost value is not influenced by the distance between pipe and geometric
constraint.
Fig. 6.10 shows the example of pipes that are routed with the strictly ortho-
gonal parameter. As can be seen in that figure, the distance between two bending
points are too close to each other. In that case, it is required to use two elbows
rather than using a single pipe with two bends, which in terms of cost, can be
between 4-6 times more expensive than the normal pipe bending as shown in Fig.
6.11.
In the other way around, allowing pipes to be routed non-orthogonally without
any restriction might prevent the proposed methodology to find a complete solu-
tion. In our case, the methodology failed to find a complete solution if there is no
restriction at all for the orthogonality. Apparently the optimization procedure or
the parameters in this case need to be adjusted. Alternatively we could consider
starting the optimization from the standard case and slowly relax the orthogonal-
ity parameter and find a solution in that way. We did not pursue that possibility
in this thesis.
To achieve the optimal result as shown in Fig. 6.11, the restriction parameter
must be chosen properly. The parameter tuning must be done properly and it is
not a trivial task. As we can see in Table 6.3, the cost result using the strictly
orthogonal parameter is around 4% higher than the optimal one. Meanwhile, the
non restriction orthogonal parameter case failed to find the solution. From this
fact, it can be deduced that it is safer to choose the restriction parameter value
that is too high.
The variation of the geometry constraints parameters is also interesting. By
lowering the distance of influence in the attraction and magnet area, some of the
pipes are routed too far away from the steel construction. Therefore it is very
hard to put the pipe supports on it, and in most of the cases during operations
pipe vibration may occur. In our test, the low attraction coefficient value failed
to find the complete solution.
6.5 SENSITIVITY ANALYSIS 133
However, if this coefficient is too large, tfie solution won't be good anymore.
As can be seen in Fig. 6.13 and Fig. 6.12, by using the very large attraction
coefficient, it produces many unnecessary bends. Table 6.3 shows that the cost is
more than 10% higher.
Therefore, the importance to have an optimal parameter for the attraction
coefficient is higher than the restriction orthogonal parameter.
6.6 Summary
In this chapter we have validated our proposed methodology and its implement-
ation using the validation square from Seepersad et al. [2006]. This evaluation
aims to answer our main research objectives of this thesis:
1. to what extent can the expertise of a pipe engineer be identified and trans-
lated into procedures that lend themselves to be computerized?
2. if we build a pipe routing methodology based on the results of the first ques-
tion and combine it with advanced optimization techniques in a practically
applicable method, how good will it perform?
In this experiment, we measure the performance of our proposed methodology
to route pipes in the most difficult area in a ship. We have compared the result to
pipes that were routed manually by a pipe engineer. The comparison proves that
the methodology is able to perform the pipe routing process and is on par with
the quality of a pipe engineer result. Our experiment shows that the methodology
is able to implement the common knowledge.
We also learn from this experiment that the success ratio of the tools that were
built from the methodology is only 80%. Since we found that the cause of the
error probably was on the software engineering part, this number is good enough
to prove that the methodology is valid, but not yet perfect.
At the end of this chapter, we also performed some experiments by varying
some of the key parameters to identify the methodology's sensitivity to these
parameters. The results shows that great care must be taken to use the cored
parameter settings. Further work in this area is recommended.
Chapter
'J'he work reported in this thesis is motivated by the main research objectives
below:
1. to what extent can the expertise of a pipe engineer be identified and trans-
lated into procedures that lend themselves to be computerized?
2. if we build a pipe routing methodology based on the results of the first ques-
tion and combine it with advanced optimization techniques in a practically
apphcable method, how good will it perform?
In the course of experiments conducted to answer the question, we raised the
following six sub-questions:
1. On which design phases should we focus and what is the reason for that?
137
138 CONCLUSIONS AND RECOMMENDATIONS 7.2
7.2 Conclusion
In order to stay competitive in the shipbuilding industry, European shipyards
need to be more efficient in design and production processes. One of the useful
directions is to be more innovative in the pipe routing process. A lot of effort has
been done in the past to be able to route pipes automatically in a ship. However
to date automatic routing is not applied nor possible in ship design.
As much tacit basic knowledge on the pipe routing process exists, we decided
to absorb the expertise of the pipe engineer and translate it into procedures that
lend themselves to be programmed and executed in a computer. We started by
establishing the information that is needed to route pipes, how to get it and who
is responsible for that. This step provided answers to our research question # 2
and the result is described in Chapter 2. By having that knowledge, in Chapter
5 we could focus on the selected information that is needed for our methodology.
To translate the expertise of a pipe engineer, we made an inventory of the
common knowledge of the pipe routing process. This step was not easy to be
done, especially since currently there is no official guideline for a pipe engineer to
route pipes in a ship. We performed many interviews experts in pipe routing to
absorb their knowledge. During the interview period, the pipe routing guideline
is compiled by v.d. Berg [2009]; the experienced pipe engineer team leader. The
interview results are formulated as the common knowledge of pipe routing. Thus,
with regards to research question # 3 , we should refer to the whole of Chapter 2.
Then we survey the state of the art in automatic pipe routing and in Section
3.6 we described some of the previous researches that have most relevance for
our problem domains. While reviewing those researches, we found the answer
to the research question # 1 . FYom Subsection 1.3.1 we knew that during the
contractual phase, approximate routing is sufficient. Combining suitably selected
existing methods with the completeness of our methodology, e.g. the ability to
extract the required data easily from CAD software and automatically perform the
cell generation, we can build the pipe routing application for the pre-contractual
phase easily. For the sake of widespread applicability however, we placed our focus
on the scientifically much more interesting and demanding detail design phase.
With regards to research question # 4 , Subsection 5.3.1 provided the answer.
The essential common knowledge with direct impact on the path finding problem
is selected and reformulated as general and system rules.
To perform the optimization process we defined the objective function that
needs to be minimized. As described in Chapters 2 and 5, the objective in the
7.2 CONCLUSION 139
pipe routing process can be divided into two categories. First is the quantitative
value that consists of pipe production and installation cost. This is relatively easy
to be calculated, and since our research attempt to use the practical environment,
the actual total pipe cost from the pipe contractor is used. The second part is of
non quantitative nature. It concerns issues that involve parallelism and aesthetics
considerations.
With regards to research question # 5 , we conclude that the best way to meas-
ure the quality of the pipes is by assigning quantitative measures to them. The
quantification process was done by giving a weight to every cell based on the geo-
metric constraints reflecting the space and objects surrounding it, then combine
the pipe cost value with the cell's weight. The results are used as the objective
function.
Routing pipes is hard. Implementing the expertise of pipe engineers into
computer procedures is even harder. In this thesis, we proposed a methodology
and methodology to answer that challenge. It does not merely focus on the
algorithm to find the pipe path, but also includes the data preparation step and,
more generally, its embedding in the practical design process.
In Chapter 5, we described our proposed methodology in detail. We started
with the interface module that contains three important parts; the functionality
to extract data from CAD software, the smart P&ID tools and the model simpli-
fication. The last part, the model simplification, is very important to ensure that
the whole automatic routing process can be done within an acceptable time. We
established a novel method to automatically simplify the 3D model heuristically
to ensure that the model is simple yet sufficiently detailed.
In our methodology, we reformed the 3D space into a grid of cells. Balancing
between the quality of the routed pipes and the computation time, the cell size
was fixed at 5 mm by 5 mm by 5 mm. The fact that the cell size is smaller than the
diameter of pipes raises the need of collision detection. We know that collision
detection is computationally expensive, therefore we introduced the expanding
obstacle method as described in Chapter 5. Even though this method looks
simple, the performance of the shortest path algorithm significantly improved.
For the path finding itself, we investigated both deterministic and heuristic
shortest path algorithms. We made a comparison by implementing the standard
form of 5 well-known shortest path algorithms, and selected the A* algorithm as
the main single pipe routing algorithm and the Mikami-Tabuchi algorithm as the
blockage tester.
Since our goal is to route many pipes, there is a possibility that two or more
pipes axe blocking each other. We call this the mutually intervening problem. We
tackled this by implementing the particle swarm optimization to route multiple
pipes at the same time.
Since our methodology basically routes pipe one at a time, the order of pipes
is very important. To optimally order the pipes, we implemented the discrete
particle swarm optimization which minimized the objective values of the routed
pipes.
140 CONCLUSIONS AND RECOMMENDATIONS 7.3
7.3 Recommendations
As we mentioned in the previous section, we have proved that our proposed meth-
odology can be used to solve automatic pipe routing problems in difficult areas
of a ship. However, our work is not complete, since there are some important
aspects that have not been addressed in this thesis.
To improve the proposed methodology, there are at least three main points that
should be focused on in future research. The first point concerns the number of
common pipe routing knowledge rules that should be included in the methodology.
As mentioned in Chapter 5, not all of the common knowledge is integrated in the
methodology described in this thesis. By including more items, the quality of
the routed pipes may be further increased. However, the selection must be done
carefully, by only selecting the most important ones that have most influence.
The result from our proposed methodology is only in the form of pipe routes.
It still requires manual work to split it into pipe spools. Therefore, it is also very
interesting to complement the methodology with the method to split pipes into
spools and use the result as an input for the research of Wei [2012] to generate
the assembly sequence automatically.
As explained in Chapter 6, our methodology uses 90 degree angles as default,
and only chooses other bending angles if required. This situation is good enough
for steel pipes, which form the majority of the pipes in a ship. However, a PVC
pipe might require to have different bending angles, and the current behavior of
the methodology is not yet entirely suitable for that situation.
Another interesting subject for further research is to extend our methodology
to route HVAC and cable trays in a ship.
Bibliography
Andi Asmara and Ubald Nienhuis. Optimum routing of piping in real ships under
real constraints. In Proc. Int. Conference on Computer and IT Application in
Maritime Industry, pages 271-281, April 2008.
M. Clerc. The swarm and the queen: towards a deterministic and adaptive particle
swarm optimization. In Proc. IEEE Congress on Evolutionary Computation,
volume 3, pages 1951-1957, Washington, DC, July 1999.
M. Clerc and J. Kennedy. I'ho particle swarmexplosion, stability, and convergence
in a multidimensional complex space. 6:58 73, February 2002.
Maurice Clerc. Discrete particle swarm optimization. In Godfrey C Onwubolu
and B. V. Babu, editors. New optimization techniques in engineering, pages
219 240. Springer, 2004.
Maurice Clerc. lYibes-d, 2008. URL h t t p : / / c l e r c . m a u r i c e . f r e e , f r / p s o / \ #
TRIBES-D.
141
142 BIBLIOGRAPHY
H. Y. Fan and Y. Shi. Study of Vmax of the particle swarm optimization al-
gorithm. In Proc. of the Workshop on Particle Swarm Optimization, Indiana-
polis, IN: Purdue School of Engineering and Technology, April 2001.
X. Fan, Y. Lin, and Z. Ji. The ant colony optimization for ship pipe route design
in 3d space. In World Congress on Intelligent Control and Automation, October
2006.
Michael Garland and Paul S. Heckbert. Surface simplification using quadric error
metrics. In Proceedings of the 24 ih annual conference on Computer graphics and
interactive techniques, SIGGRAPH '97, pages 209-216. ACM Press/Addison-
Wesley Publishing Co., 1997. ISBN 0-89791-896-7.
R.L. Harrington. Marine Engineering. The Society of Naval Architects and Marine
Engineers, 1992.
Peter E. Hart, Nils J. Nilsson, and Bertram Raphael. A formal basis for the
heuristic determination of minimum cost paths. IEEE 'Prans. Systems Science
and Cybernetics, 4(2): 100 107, 1968.
Chen Hua-hong, Luo Xiao-nan, and Ling Ruotian. Mesh simplification algorithm
based on quadrangle collapse. In Proc. IEEE Int. Conference on Image and
Graphics, pages 960-965, August 2007.
Teruaki Ito. A genetic algorithm approach to piping route path planning. Journal
of Intelligent Manufacturing, 10:103-114, 1999.
Sang-Scob Kang, Se-Hyun Myung, and Soon-Hung Han. Design expert system
for auto-ro>iting of ship pipes. In Proc. Pacific Conference on Manufacturing,
October 1996.
Sang-Seob Kang, Se-Hyun Myung, and Soon-Hung Han. A design expert system
for auto-routing of ship pipes. Journal of Ship Production, 15:1-9, 1999.
144 BIBLIOGRAPHY
David G Kirkpatrick and Raimund Seidel. The ultimate planar convex hull al-
gorithm. SIAM J. Comput, (15), 1986.
J. Klein Woud and D. Stapersma. Design of propulsion and electric power gen-
eration systems. IMAREST, 2003.
T. Krink and M. L0vbjerg. The lifecycle model: Combining particle swarm op-
timisation, genetic algorithms and hillclimbers. In Proc. International Confer-
ence on Parallel Problem Solving from Nature, pages 621-630, Granada, Spain,
September 2002.
C. Y. Lee. An algorithm for path connections and its applications. IEEE 'Prans.
on Computers, EC-10:346 365, 1961.
A. Lim, Jing Lin, and Fei Xiao. Particle swarm optimization and hill climbing to
solve the bandwidth minimization problem. In Proc. The Fifth Melafieuristics
International Conference, Kyoto, Japan, August 2003.
Myung 11 Roh, Kyu-Yeul Lee, and Woo-Young Choi. Rapid generation of the
piping model having the relationship with a hull structure in shipbuilding. Ad-
vances in Engineering Software, 38:215-228, 2007.
BIBLIOGRAPHY 145
M. lj0vbjcrg and T. Krink. Extending particle swarm optimisers with sell organ-
ised criUcaiity. In Proc. IEEE Congress on Evolutionary CompuiaLion, pages
1588 1593, Honolulu, Hawaii, 2002.
Lawrence Markosian, Philip Newcomb, R.ussell Brand, Scott, Burson, and 'I'ed
Kitzmiller. Using an enabling technology to reengineer legacy systems. Com-
municaiions of the ACM, 37(5):58-70, 1994.
Sunand Sandurkar and Wei Chen. Gaprus - genetic algorithms based pipe routing
using tessclatcd objects. The Journal of Computers in Industry, 1998.
146 BIBLIOGRAPHY
Pipe routing consumes a large part of the total required effort in the ship design
process. In current practice, it takes around 30-40 thousands man hours to route
pipes of a middle size complex ship. Reducing the time of this process will have
a large impact in total engineering cost.
Judged by the results, the current process produces an excellent solution al-
though an objective, quantitative assessment of this is difficult given the fact that
there is no mathematically determined optimum known. So, in order to speed
up the process, the current process was investigated, adopted and subsequently
translated into the computer procedures.
The main objective of this thesis is to create a pipe routing methodology that
can be used in ship detail design process in practice. The methodology consists
of the functional framework, the architecture and its implementation.
In order to do it properly, the pipe routing process was investigated. Since no
formal documentation that explains how pipe routing process should be done in
practice is available, this knowledge was gained by carrying out many interviews
and discussions with experienced pipe engineers and other stakeholders in the
pipe routing process.
Beside the know-how on how a pipe engineer route pipes in ship, those inter-
views and discussions provide us with the criteria of pipe routing in ship
Based on that knowledge, the functional framework of our methodology was
derived. The elements needed by the functional framework were investigated and
reviewed, starting with reviewing the previous research attempts on improving
pipe routing process. Next the well known algorithms needed by each part of the
functional framework were compared and selected.
After all elements had been completed, the architecture of pipe routing meth-
odology was built. Finally it was implemented into a prototype software package
that can be used to route pipes in a real ship.
The validation ol the proposed methodology was carried out using the valid-
ation square technique by performing the structural and performance vaUdation.
The implementation of the proposed methodology was used to solve the pipe rout-
149
150 SUMMARY
ing problem in a machinery room of a real ship. I'he parameter variances was
also performed and compared.
As conclusion the pipe routing methodology was developed and validated on
the difficult area of a complex ship. As shown by the quality of the test case
result, the main objective that was previously mentioned is fulfilled indeed.
Samenvatting
Routing van pijpleidingen beslaat een groot deel van de totale benodigde in-
spanning in het scheepsontwerpproces. In de hedendaagse praktijk zijn 30-40
duizend manuren vereist om de pijpleidingen van een middelgroot, complex schip
te routeren. Vermindering van de tijd die benodigd is voor dit proces, zou een
grote impact hebben op de totale engineering kosten.
Wanneer men naar de resultaten van het handmatige routeerproces kijkt, valt
op dat dit zeer goed is, hoewel een objectieve, kwantitatieve maatstaf moeilijk
aan te leggen is omdat er geen wiskundig bepaald optimum bekend is. Daarom
werd, om het proces wezenlijk te versnellen, het huidige proces als uitgangspunt
genomen en onderzocht. Vervolgens werd dit vertaald in algoritmen die door een
computer opgelost kunnen worden.
Het hoofddoel van dit proefschrift is om een pijp-routing methodiek te ontwikkelen,
die in de praktijk gebruikt kan worden, namelijk gedurende het detail-ontwerpproces.
De methodiek bestaat uit het zg. functionele raamwerk, de architectuur en de im-
plementatie.
Ten behoeve van deze ontwikkeling werd het pijp-routing proces onderzocht.
Aangezien er geen formele documentatie van het proces bestond waarin praktijk-
voorschriften worden beschreven, is deze kennis verkregen door middel van vele
interviews en discussies met ervaren pijpschetsers en andere belanghebbenden in
het pijp-routing proces.
Het resultaat van deze interviews en discussies is een vastgelegde rationale
betreffende de manier waarop een schetser de pijpen routeert en een set formele
criteria.
Van deze kennis kon het functionele raamwerk van de beschreven methodiek
worden afgeleid. De elementen benodigd voor het raamwerk werden onderzocht,
te beginnen met een onderzoek naar eerdere pogingen om het pijp-routing proces
te verbeteren. Vervolgens werden alle bekende algoritmen die van toepassing
zouden kunnen zijn op de verschillende onderdelen van het functionele raamwerk
vergeleken, en de meest geschikte oplossingen geselecteerd.
Nadat alle afzonderlijke functionele elementen ontwikkeld waren, werd de ar-
151
152 SAMENVATTING
This research was conducted within the CE3P project (Concurrent Engineering,
Production, Planning and Pricing) and the Integraal Samenwerken project. The
pipe routing research subject was carried out in IHC Offshore and Marine who
employed me to do this research. I gratefully acknowledge management of IIIC
Offshore and Marine for this opportunity and support.
I would like to thank the doctoral committee for your time and effort review-
ing this thesis. My gratitude for your comments, suggestions and critiques has
improve the quality of this thesis.
This research project would not have been possible without the support of
many wonderful people. I wish to express my gratitude to my promotor, prof.dr.Ir.
Ubald Nienhuis who was abundantly helpful and offered invaluable assistance,
support and guidance, not only work related but also helped me to get through
life in The Netherlands. I would like to thank him for the trust he gave me, the
independence he allow me in conducting this research, his experience he shared
with me and his advices and support he always offered me when I needed them.
Other most valuable support has come from Teus van Nordennen who has
given me the opportunity, trust and support to conduct this research. He was
also the one who kept me in balance between practical and scientific worlds.
I would to thank Jenny Coenen who helped me a lot, especially during the
beginning of my research and also her willingness to proofread this thesis.
Since the beginning of my journey, I received many supports and assistances
from a large group of people. There are too many of you to mention but Pd
especially like to thank the following people.
Frank Dekker and Gerco Brand who gave me the first insight about pipe
routing in practice, introduced me to the CAD software package and provided
me with many kinds of data through all the research. Mario van den Berg who
shared his expertise in the pipe routing process and especially for compiling the
document on pipe routing in practice.
The engineering department from IHC O&M in general and Gert Rook, Sjaak
van Dorsten, Bert Rissema, Wim van Mannen, Cor Molenaar, Gerard Smouter,
153
154 ACKNOWLEDGMENTS
Andre Dubbeldam, Krijn Ooms, Ilja van Deurzen, Henk Scheep, Peter de Rek,
Nuur Nuur, Ken Schie and Edwin Keizer in particular. The discussion on pipe
routing process in practice provided invaluable knowledge for this research.
Peter Wagenaar, your insight on pipe cost calculation during the pre-contract
phase is highly appreciated.
Jeroen Kaarsemaker and other members of process management department,
thank you for the discussion that we had during these past years. Especially
Reinier Zuurmond who started this research project and gave me a solid base to
start with.
Prom IHC Piping, Peter Gelderbloom and Mark Whitney for the knowledge
on how pipes are produced, Ad Hazelaar and Edwin van Leeuwen who showed
me how to calculate pipe cost in practice, and especially Edwin, thanks a lot for
the data.
Also my colleagues in TU Delft, in particular Erik Ulijn for sharing his of-
fice with me, Ria Nieuwland-Jobse for her helping me with many administrative
things, Jan Jaap Nieuwenhuis for letting me use some of his typesettings, Guus
van der Bles, late Hugo Grimmelius, Bart van Oers, Robert Hekkenberg, Jeroen
Pruyn, Wei Yan, Elena Moredo for the company and the discussions we have had
over the past years.
Many thanks to Dina Shona Ijaila for reviewing this manuscript.
My parents and family back home in Indonesia, who understand my choice to
live far away from all of you.
Last, but most certainly not least, I would especially like to thank my awesome
family for the love, patience, support, and constant encouragement. Without
them I would not come this far. Erin, Paza, Gafa, Kai, this is for you.
Curriculum Vitae
Andi Asmara was born in Jakarta, Indonesia on February 18, 1974. After finishing
his highschool in SMA 70 Jakarta in 1992, he studied Automation and Control
Engineering from Electrical Department at Bandung Institute of Technology. He
graduated in 1996, and his BSc. final project title is 'Application of Programmable
Logic Controller for Analog and Discrete System'.
He worked as an Automation Product Engineer at Schneider Electric Indonesia
from 1996 to 1999. In 1999, he became a co-founder of Ekakarsa Cita Dinamika, an
automation system integrator company which was responsible for programmable
logic controller system during the commissioning and warranty period at Musi
Pulp Mill.
In 2002, he continued his education in automation and robotics program at
Universitat Dortmund, Germany. He graduated in 2005 as master of science in
automation and robotics, and his MSc. thesis title is 'Accelerated Co-evolutionary
Particle Swarm Optimization for Computed-Torque Controller parameter tuning
for Robot Manipulator'.
In 2005, he started with his PhD research as a researcher at Merwede Shipyard
(now IHC Offshore and Marine) and carried out one of the sub-project of the CE3P
project that was done in co-operation with the TU Delft. Within CE3P, he focused
at the automatic pipe routing project. After the CE3P project finished in 2009,
the automatic pipe routing project was continued in the Integraal Samenwerken
project.
After the pipe routing research finished in 2010, but while still writing his
dissertation, he continued to work in IHC Offshore and Marine and also worked
on other sub-project in Integraal Samenwerken to develop the 3D Information
Viewer.
He is currently employed as one of the project managers in the One IHC
Program inside IHC Merwede.
155
789065"623263
13W34870/ TV 9789065623263
i