Вы находитесь на странице: 1из 11

Automatic Piping System in Ship

Andi Asmara, Delft University of Technology, Delft - Merwede Shipyard, Hardinxveld-Giessendam / The Netherlands, a.asmara@3me.tudelft.nl, Ubald Nienhuis, Delft University of Technology, Delft / The Netherlands, u.nienhuis@wbmt.tudelft.nl Abstract One of the most complicated and time-consuming process in ship production is to determine the optimum route of piping. The automatic system to generate optimum collision free routes for pipes is presented in this paper. In the past, research has been primarily focused on the use of only deterministic or only nondeterministic optimization techniques to find the optimal route. In this paper, the combination between deterministic and nondeterministic optimization techniques is proposed. The strategy is to use a deterministic technique as a tool to find the optimum route while the tools parameters are chosen by the nondeterministic technique. The practical aspects, i.e. branching and minimizing the cost are included in the objective function to be optimised. The performance of this novel approach is measured by its ability to accommodate and efficiently solve problems in the real ship application. 1. Introduction The design of the piping systems consumes a large part of the engineering effort for a modern ship. Moreover, a ship is not a mass product like a car, which means that the specification is different for each ship, and the design process has to be done for each different ship. Nowadays, pipe routing is done manually by a pipe designer using CAD software, therefore the experience of the designers is the dominant parameter in this process. In the design process, many decisions should be made by designers, e.g. which pipe should be routed first, and which one is next. If this kind of decisions can be replaced by the automatic piping system, the design man-hours can be reduced, design plans can be standardized and the time-to-market of ships will reduce. In line with the previous works of Kang et al. (1999), the automatic piping system has following objectives: 1) to minimize user input and user decision, 2) to make the system easy to use, 3) to be used in real shipyard design process. In section II, the main architecture of the automatic piping system that is used in this paper is explained. The Interface Module of the automatic piping system is also described in more detail in this section. Furthermore this section discusses the Engine Module of the system, it describes its components and how each component works. This section also contains the list of variables that should be optimized by the Optimizer Module of the system which is explained in more detail here. In Section III the test case results are shown and discussed. Section IV concludes the paper. 1.1 Existing Methods Pipe routing has been a research topic for a long time resulting in various approaches, not only in ship production application Kang et al. (1999), Storch and Park (2002), and Kuo et al. (1999), but also in process plant Ito (1999), Newell (1972). The research starts with 2D workspace and simple obstacles, and gradually extends to the stage of 3D workspace with multiple constraints and multiple objectives. In terms of optimization technique, either deterministic or nondeterministic methods have been used to improve the results. There are four main approaches that are usually followed to generate pipe route. They are Skeleton Search Aurenhammer (1991), Cell Decomposition approach Ito (1999), Ahuja (1991), Potential Field method, and Mathematical Programming method.

Skeleton or Roadmap approach involves capturing the set of feasible motions (free space) in a network of one dimensional lines and conducting a graph search of this network. The Cell Decomposition approach consists of decomposing the free space into cells and connecting the start and goal configurations by a sequence of connected cells. In the Potential Field Method, a scalar mathematical function is constructed with minimum value when it is at the goal configuration, and maximum near the obstacles. The path from the start to the goal is determined by putting a small marble at the start and following its movement. The Mathematical Programming approach deals with computing the path as a mathematical objective function and trying to minimize it while satisfying constraints (obstacle avoidance). In the real application, more than one approach sometimes is used together. Mathematical Programming techniques can be further classified into deterministic and nondeterministic methods based on the search algorithms employed. Deterministic techniques guarantee the same solution for a problem when run at different times with the same starting solution, while nondeterministic techniques generate different solutions to the same problem at different runs due to the randomness involved in the solution process. Deterministic methods such as the linear and nonlinear programming methods may behave inefficiently with highly nonlinear and sometimes discontinuous problems like the pipe routing and may result in a local optimum. In contrast, nondeterministic algorithms such as genetic algorithms and simulated annealing are aimed at generating a set of globally good solutions. This feature is of practical relevance in engineering applications. On the other hand, nondeterministic methods are usually more computationally expensive than deterministic methods; therefore in terms of the computation time, deterministic methods are favoured over nondeterministic methods. Research of pipe routing in the past few years has produced remarkable results with interesting applications to packing problems and emphasis on employing novel approaches (usually heuristic based) and unconventional optimization methods such as nondeterministic methods to improve design productivity. 1.2 Introduction to the Automatic Piping System In this paper, an alternative method for the pipe routing problem is introduced. This novel method combines the advantages of both deterministic and nondeterministic methods, by using a deterministic method as its main tool and let all the decision making be handled by a nondeterministic method. The automatic piping system uses a Cell Decomposition approach in combination with the Mathematical Programming technique. The automatic piping system consists of three main parts. The first part is the interface that creates the link between this routing system and commercial CAD software that is used in the shipbuilding process. With this module the user can easily generate the input data from the information that is already available in CAD software, like the ship construction, the equipment data and position of equipment. This module is called the Interface Module. The conversion of the generated pipe route data to be exported to the CAD software is also done by this module. The second part of this system is the pipe routing tool. This tool uses Djikstra Algorithm to find the shortest path of each pipe. This tool is called the Engine Module. The Engine Module is also capable to decompose free space to different size of cells, where the cell size is defined by the third part of the system, the Optimizer Module. The Optimizer Module also decides the order in which pipes should be routed, which branch should be routed first and where it should connect, and the decision which route should be kept and which one should be discarded. Nondeterministic optimization method is applied for this part of the system. The Optimizer Module uses one of the population-based evolutionary algorithms called Particle Swarm Optimization. A brief background of Djikstra Algorithm and Particle Swarm Optimization is provided in the following subsections.

1.2.1 Dijkstra Algorithm Dijkstra algorithm, named after its discoverer, Dutch computer scientist Edsger Dijkstra, is an algorithm that solves the single-source shortest path problem for a directed graph with nonnegative edge weights. For example, if the vertices of the graph represent cities and edge weights represent driving distances between pairs of cities connected by a direct road, Dijkstra algorithm can be used to find the shortest route between two cities. The input of the algorithm consists of a weighted directed graph G and a source vertex s in G. We will denote V the set of all vertices in the graph G. Each edge of the graph is an ordered pair of vertices (u, v) representing a connection from vertex u to vertex v. The set of all edges is denoted by E. Weights of edges are given by a weight function w: E [0, ]; therefore w (u, v) is the non-negative cost of moving from vertex u to vertex v. The cost of an edge can be thought of as (a generalization of) the distance between those two vertices. The cost of a path between two vertices is the sum of costs of the edges in that path. For a given pair of vertices s and t in V, the algorithm finds the path from s to t with lowest cost (i.e. the shortest path). It can also be used for finding costs of shortest paths from a single vertex s to all other vertices in the graph. 1.2.2 Particle Swarm Optimization Particle swarm optimization (PSO), Kennedy and Eberhart (1995) and Eberhart and Kennedy (1995), is a population-based evolutionary algorithm which is used to find optimal solutions of non-linear functions. PSO has been used in the last few years to solve optimization problems, such as the training neural network model Salerno (1997), tracking and optimizing dynamic systems Eberhart and Shi (2001), power system control Yoshida et al. (2001), scheduling of manufacturing systems Jerald et al. (2004), and tuning PID parameter in an AVR system Gaing (2004). Original PSO is used to solve continuous optimization problems, and because the decision making task in the automatic piping system is discrete; it needs to be modified to a Discrete PSO. A particular discrete (binary) PSO version has already been defined and successfully used by Kennedy and Eberhart (1997), followed by Al-Kazemi and Mohan (2002). Then Clerc (2004) applies it to solve the Travelling Salesman Problem with a good result. The use of PSO and DPOS in DelftPipe will be described more fully later on the paper. 2. The Automatic Piping System - DelftPipe The Automatic Piping System - DelftPipe is developed as a computer aided technique of generating a collision free and efficient route for pipes in a ship. Fig. 1 shows the main architecture of the system. The system has three main parts, the Interface Module, the Engine Module, and the Optimizer Module. The system has the interface, namely the Interface Module, to the commercial CAD software that is widely used in shipbuilding, thus it can be used without much effort to key-in the required data. The result of DelftPipe can easily be exported to the CAD software. As it can be seen in Fig. 1, the Interface Module gets the necessary data from the CAD software to be used by the Engine Module, and it gives back the output of DelftPipe to be used by the CAD software. The second part of DelftPipe is the Engine Module which uses the data from the interface and calculates the route of all pipes. This is the part of the system that actually performs the routing. This module uses the Dijkstra Algorithm to find the shortest path of each pipe. As implied by its name, the Engine Module works as a black box, which is only blindly running according to the directions provided by the Optimizer Module.

Automatic Piping System DelftPipe


Optimizer Module
Objective Value Parameters

Engine Module Interface Module


Necessary Data

mdl File

CAD Software
Fig. 1: Automatic Piping System All of the decision making process is done by the Optimizer Module of the system. This particular part of the system finds and decides what should be done by the Engine Module, e.g. which pipe should be routed first. The main element of the Optimizer Module is the deterministic optimization technique called Discrete Particle Swarm Optimization briefly described before. 2.1 The Interface Module The Interface Module is built to be a bridge between the system and shipbuilding-specific CAD software. It receives the data in the particular format of the CAD system and translates it to be useful for the engine. Conversely, it also translates the output of the engine into a format that can be read by the CAD software. The primary functions of the Interface Module are illustrated in Fig.2. As shown in Fig.2, the Interface Module aids DelftPipe by, 1) receiving the data generated by CAD software and translating it to construction data inside DelftPipe, 2) receiving the connection point data from CAD software and using it together with the DelftPipe internal library, 3) reading the 3DDump file from CAD software, and using it to place the equipment inside the DelftPipe environment, 4) working as a simple pipe connection diagram, 5) translating the output of the engine to .mdl format so it can be used by the CAD software. 2.2 The Engine Module As is previously mentioned, this module uses the cell decomposition approach as its basic approach. The data from the Interface Module is translated to provide the environment for the pipes, and the Engine Module decomposes the available space in between to cells. Then it runs the Dijkstra Algorithm to find the shortest path of each pipe.

Construction Position of Equipments Schema

Automatic Piping System DelftPipe


I N T E R F A C E
Environment Pipe Connection

CAD Software
mdl File

EM
Pipe Route

OM

Fig. 2: Interface Module

The procedure of this module can be described generally as follows: 1) Initialize working space by using environment data from the Interface Module 2) Decompose the available space to cells (cell size 1000mm) 3) Run the Dijkstra Algorithm for all pipes once, and capture cells that are used 4) Choosing any pipe, compose new cells (cell sizes outside diameter of pipe) inside the bigger cells that are crossed by that pipe 5) Run the Dijkstra Algorithm for that pipe once, and capture the cells that are used 6) Eliminate these (smaller cells) from the available space 7) Repeat step 4), 5) and 6) until all pipes have been routed As can be seen in the Engine Module procedure above, the result of this module can be different depending on the sequence in which the pipes are routed. Moreover, there is a possibility that this module fails to find a feasible solution for all pipes for some sequence of routing the pipes. Because of this, the sequence of the pipe to be routed plays an important part. The decision of the order of the pipes to be routed in step 4) is made by the Optimizer Module; also the branching is optimized by that module. In step 4), during the generation of the cells, it recognizes the space that is already used by the previous pipes (see step 6), therefore the collision of the pipe can be avoided. The aspects of cell generation and branch handling are important to be noted and are briefly described in the following two subsections. 2.2.1 Cell Decomposition The cell decompositions on step 2) and 4) are not exactly the same. The main difference is that in step 2) the size and the arrangement of the cells are not homogeneous, see Fig.3a, while in step 4) it decomposes space to exactly the same cell size, and safeguard that those cells are arranged in the nice order as shown in Fig.3b. The size of the cells in step 4) is approximately equal to the outside diameter of pipe, and pipes with almost the same size use the same size of cells, e.g. pipes with diameter 50 and 65 use cell size 75.

a)

b)

Fig. 3: The Difference of Cell Decomposition

6 5 4 3 2 1 2 6 5 4 3 2 1 1 6 5 4 2 1 2 6 5 6 6

3 4 2 3 3 4 4 5 5 6 6

a)

b)

c)

2 3 1 2 3 1 2 1 2 3 2 3 d) e)

Fig. 4: Branch Handling

2.2.2 Branch Handling Branching in pipe routing is quite complicated, and the current method that is used in this system is the extended method of Dijkstra Algorithm. Fig.4 shows how it works. It can be described as: 1) Choose two connection points and run Dijkstra Algorithm to find the shortest path, see figures 4a), 4b) and 4c) 2) Subsequently choose the next unconnected connection point, and run Dijkstra Algorithm starting from that point to the whole pipe that is found in step 1), see figure 4d). The shortest distance yields the branch point 3) Repeat step 2) until all connection points are connected. At least two decisions need to be made. The first one is to choose the order in which the connection points are handled. The second decision refers to step 2) and involved the question if the branch

should only appear in the main pipe or that it can also be in a different (previously branched) pipe. There is a third problem that is the calculation of the diameter of the pipe after each configuration of branching. These problems can be manually defined by the user, or can be included as a task for the Optimizer Module. 2.3 The Optimizer Module The Optimizer Module receives the objective value from the objective function inside Engine Module and uses it as its input for the next optimization. The objective function is a particular type of

function that quantifies the optimality of a solution in heuristic optimization method so that particular solution may be ranked against all the other solutions. The optimization method that
is used is Discrete Particle Swarm Optimization. Discrete PSO is chosen due to its speed to convergence as well as its performances. The Discrete PSO version that is used here is the method that is developed by Clerc (2004) with some adjustment on the objective function and problem formulation. The following subsections describe PSO and DPSO in more detail, and indicate how it works as the Optimizer Module in DelftPipe. 2.3.1 Particle Swarm Optimization Particle Swarm Optimization (PSO) first introduced and originally developed by Kennedy and Eberhart (1995), Eberhart and Kennedy (1995), refers to an algorithm that is used to find optimal solutions of numerical and qualitative problems. It emerged from earlier experiments with algorithms that modelled flocking behaviour seen in many species of birds. PSO is a population-based evolutionary algorithm. Initially, a population is generated randomly, and then each particle of this population moves at a randomized velocity. As each particle wanders through the problem space, it evaluates the objective function, and memorizes its best position (pbestx), the location that gives best objective value of each particle, and its best solution (pbest), and the corresponding objective value at pbestx. Each particle also memorizes the best global solution (gbest), the best objective value among all particle in the population, and its position (gbestx), obtained so far by any particle in the population. While wandering through the problem space, in the process updating its pbest and gbest location, each particle, at each time step, changes its velocity and its current position according to: (1) (2)

where velocity of the ith particle; inertia weight; acceleration constant; random numbers in the range [0,1]; position of the ith particle; pbest of the ith particle; gbest of population, index g represents the index of the best particle among all particles in one population There are two types of boundary values; velocity maximum Vmax and position boundaries xmin and xmax. If the velocity from eq. (1) exceeds Vmax, then it is limited to Vmax. Similarly if the position xi in eq. (2) exceeds the position boundaries, then the particle is restricted to lie on the boundary.

Vmax needs to be chosen wisely, as it influences the convergence of the search. If Vmax is too high, particles might move too fast, passing a good solution. If Vmax is too small, the particles may not explore the search space sufficiently. Early experience with particle swarm optimization led us to set the acceleration constants c1, and c2 equal to 2.0 and Vmax equal to 20% of the dynamic range of the variable. 2.3.2 Discrete Particle Swarm Optimization Since the goal is to find the best order of routing the pipe, which is a combinatorial problem, the Discrete PSO is used. The Discrete PSO can be formalized as follows: (3) (4) As can be seen by comparing eq. (1) and eq. (3), there is no formal difference between classical PSO and DPSO. However slightly different rules are imposed: the search space of position S = {si} position of a particle pi velocity of a particle vi subtraction (p, p) velocity multiplication (constant, velocity) velocity movement (position, velocity) position. The search space S is the finite set of all sequences of the pipes to be routed. The position pi is one of the possible sequences. The interesting part is on the velocity, since the meaning of movement of the particle is not the same as in the classical PSO. In DPSO, the velocity is just like a list of transpositions. For example, v = (2, 5) is means that if this velocity is applied to a position pi = (0, 1, 2, 3, 4, 5), it generates a new position pi = (0, 1, 5, 3, 4, 2). Another important aspect is to define the objective function. The objective function is a criterion for the quality of the solution. In the Automatic Piping System, the objective function that is used is generated by the Engine Module according to the parameters that are supplied by the Optimizer Module. 2.3.3 DPSO on the Automatic Piping System Discrete PSO is the heart of the Optimizer Module, since the Optimizer Module is part of the system that performs an optimization process of the Engine Modules parameters. During the optimization process DPSO is generating the set of parameters to be used by the Engine Module, and it retrieves the objective value from the Engine Module to be used as an indicator for the quality of the obtained solution. In this paper, the objective is only to route all pipes without any collision with the minimum cost. Based on that information, the particles inside DPSO are transposed in a certain rules as described in eq.(3) and eq.(4). That process is repeated until the target cost is achieved or until the maximum allowable number of evaluations is reached. The process is also stopped if there is no more improvement after a certain number of iteration.

Fig. 5: Automatic Piping System Result

3. Result and Discussion The current research is motivated by the need to have smarter tools to assist the ship design process. Moreover the result of this research has to be implemented in the real ship design process. In this paper, we have provided some insight in some of the steps taken in this research. 3.1 Test Case Settings To verify the Automatic Piping System, one model of the ship engine room including its units is created as the test case. One simple P&ID diagram describes the topology of the system which includes eight pipes to be routed. One of these pipes has two branches. The main goal is to verify the performance of the system to find the collision free pipe routing for all pipes with the lowest cost. The objective function that is used incorporates the cost of the pipes and includes a large penalty for a solution that is not feasible. The number of particles of the Discrete PSO is 16 particles. The system will run until the target value is achieved or until 1000 evaluations have been performed. It should be remarked that for the combinatorial problem with 8 variables, there are 8! solutions. So to find the optimum combination by performing 1000 objective evaluation is rather limiting in view of the number of all possible solutions which equals 40320. 3.2 Result Fig. 5 shows the result of the Automatic Piping System. As can be seen, the proposed method is able to find the pipe route solution. Each pipe is connected according to the pipe connection list, and there is no collision between any of the pipes and no collision with any of the units. This system is also capable to solve the pipe routing with branches. As can be seen in Fig.6, the connection points are indeed connected to the pipe through the closest branch point. The route of the pipe with the branch of course depends on the sequence in which the connection points are routed. The sequence is defined by the Optimizer Module.

Fig. 6: Branch Solution

4. Conclusion The Automatic Piping System - DelftPipe has been developed and proposed. This system uses both Cell Decomposition method and Mathematical Programming as its main approach. The available space is decomposed to cells and the algorithm connects the start connection point to the end point through those cells. In terms of the optimization technique, DelftPipe combines the deterministic and nondeterministic optimization techniques to combine the advantages of both. It uses the speed of the deterministic technique while it also uses the flexibility of the nondeterministic technique to find other possible solutions. DelftPipe also has the Interface Module with the commercial CAD software, so the users can easily use DelftPipe without re-entering many data. The output from the DelftPipe is easily exported in the form of the .mdl file, so it can be used directly inside the commercial CAD software. In terms of time that is needed to find the pipe route, DelftPipe can find the solution relatively fast. Further ongoing developments focus amongst others on the practical aspects of the pipe routing, such as calculating the change of the pipe size on the pipe branch, calculate the cost of the pipe as it passes through a piece of the construction, and decide which type of penetration should be used. References AHUJA, N, HUANG, Y (1991), Gross motion planning - a survey, J. Ship Production 24/3 AL-KAZEMI, B., MOHAN, C. (2002), Multi-phase discrete particle swarm optimization, Fourth International Workshop on Frontiers in Evolutionary Algorithms AURENHAMMER, F (1991), Voronoi diagrams - a survey of fundamental geometric data structure, ACM Computing Survey 23/3 CLERC, M. (2004), Discrete particle swarm optimization, illustrated by the Travelling Salesman Problem, New Optimization Techniques in Engineering EBERHART, R.C., KENNEDY, J (1995), A new optimizer using particle swarm theory, IEEE International Symposium on Micro Machine and Human Science 6th, Nagoya EBERHART, R.C., SHI, Y (2001), Tracking and optimizing dynamic systems with particle swarms, IEEE Congress on Evolutionary Computation, Seoul, Korea

FAN, H.Y., SHI, Y. (2001), Study of Vmax of the particle swarm optimization algorithm, the Workshop on Particle Swarm Optimization, Indianapolis, IN: Purdue School of Engineering and Technology GAING, Z.L. (2004), A particle swarm optimization approach for optimum design of PID controller in AVR system, IEEE Trans. Energy Conversion 19 ITO, T (1999), A genetic algorithm approach to piping route path planning, Journal of Intelligent Manufacturing 10/1 JERALD, J., ASOKAN, P., PRABAHARAN, G., SARAVANAN, R. (2004), Scheduling optimisation of flexible manufacturing systems using particle swarm optimisation algorithm, Int. Journal of Advanced Manufacturing Technology KANG, S-S, MYUNG, S, HAN, S-H (1999), A design expert system for auto-routing of ship pipes, J. Ship Production 15/1 KENNEDY, J, EBERHART, R.C. (1995), Particle swarm optimization, IEEE Int. Conference on Neural Networks IV, Piscataway, NJ KENNEDY, J, EBERHART, R.C. (1997); A discrete binary version of the particle swarm algorithm, Conf. on Systems, Man, and Cybernetics KUO, C, WU, J, SHAW, H (1999), Collision avoidance schemes for orthogonal pipe routing, J. Ship Production 15/4 NEWELL, R (1972), An interactive approach to pipe routing in process plants, Journal of Information Processing SALERNO, J (1997), Using the particle swarm optimization technique to train a recurrent neural model, IEEE Int. Conference on Tools with Artificial Intelligence, Newport Beach, CA STORCH, R, PARK, J-H (2002), Pipe-routing expert system, Int. Conf. on Computer Applications in Shipbuilding YOSHIDA, H, KAWATA, K., FUKUYAMA, Y. TAKAYAMA, S, NAKANISHI Y. (2001), A particle swarm optimization for reactive power and voltage control in electric power systems, in Proc. IEEE Congress on Evolutionary Computation, Seoul, Korea

Вам также может понравиться