<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Appling A Discrete Particle Swarm Optimization Algorithm to Database Vertical Partition</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Bilal</forename><surname>Benmessahel</surname></persName>
							<email>bilal.benmessahel@gmail.com</email>
							<affiliation key="aff0">
								<orgName type="department">département d&apos;informatique</orgName>
								<orgName type="institution">Université Ferhat ABBAS-SETIF</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Mohamed</forename><surname>Touahria</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">département d&apos;informatique</orgName>
								<orgName type="institution">Université Ferhat ABBAS-SETIF</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">Appling A Discrete Particle Swarm Optimization Algorithm to Database Vertical Partition</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">3ED3A290270E95E9B4A3E2B9DB625A89</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T00:20+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Database vertical partition</term>
					<term>Particle swarm optimization</term>
					<term>RG String</term>
					<term>Genetic algorithms</term>
					<term>Optimization</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Vertical partition is an important technique in database design used to enhance performance in database systems. Vertical fragmentation is a combinatorial optimization problem that is NP-hard in most cases. We propose an application and an adaptation of an improved combinatorial particle swarm optimization (ICPSO) algorithm for the vertical fragmentation problem. The original CPSO algorithm [3] suffers from major drawback-redundant encoding. This paper applies an improved version of CPSO that using the restricted growth (RG) string [5] constraint to manipulate the particles so that redundant particles are excluded during the PSO process. The effectiveness and efficiency of the improved CPSO algorithm are illustrated through several database design problems, ranging from 10 attributes/8 transactions to 50 attributes/50 transactions. In all cases, our design solutions match the global optimum solutions.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Vertical partition (also called vertical fragmentation) is the problem of clustering attributes of a relation into fragments for subsequent allocation. The technique is used to minimize the execution time of user applications that run on these fragments. Vertical partition provides an important technique for designing distributed database systems. Compared to other types of data fragmentation, vertical partition is more complicated than horizontal partition because of the increased number of possible alternatives <ref type="bibr" target="#b0">[1]</ref>. Vertical partition algorithms contain two essential parts: the optimization method and the objective function. Ozsu and Valduriez <ref type="bibr" target="#b0">[1]</ref> argue that finding the best partition scheme for a relation with m attributes by exhaustive search must compare at least the mth Bell number of possible fragments, which means that such an algorithm has a complexity of O(m m ). Thus, it is more feasible to look for heuristic methods to seek optimal solutions. On the other hand, database partition aims at enhancing the transactional processing in database. The objective function evaluates whether such a goal is achieved.</p><p>Most previous algorithms employ multiple iterations of binary partition to approximate m-way partition. <ref type="bibr">Navathe, Ceri, Wiederhold, and Dou (1984)</ref> propose the Recursive Binary Partition Algorithm (RBPA), which extends Hoffer and Severance's work by automating the selection process of vertical fragments; they propose some empirical objective functions. Cornell and Yu (1990) adopt the same approach but replace the empirical objective functions with one constructed on a model database. Chu and Ieong (1992) adopt transactions as units in their algorithm; however, it is still a binary partition approach.</p><p>Efforts have also been made to use other optimization techniques to benefit vertical partition. <ref type="bibr">Hammer and Niamir (1979)</ref> propose a hill-climbing method that alternatively groups and regroups attributes and fragments to reach a suboptimal solution. <ref type="bibr" target="#b5">Song and Gorla (2000)</ref> solve the problem with GA. However, each run of their GA only gets a binary partition. Therefore, the GA only provides the intermediate results in a recursive process. Our aim in this paper is to propose a pure PSO solution to vertical partition. By pure we mean the direct result from the PSO execution is already an m-way partition. The work described in this paper considers the vertical partition problem and reports a Combinatorial PSO application that can eliminate the encoding redundancy by using a restricted growth (RG) string <ref type="bibr" target="#b2">[3]</ref> constraint in constructing particles. To evaluate its effectiveness and demonstrate its superiority, we compare the result of using the improved CPSO with that of using traditional GA as well as RG string encoding with traditional object based GA operators called SGA and another GA based algorithm called Group oriented Restricted Growth String GA GRGS-GA developed to solve the vertical partition problem by Jun <ref type="bibr" target="#b1">Du and Al (2006)</ref>  <ref type="bibr" target="#b1">[2]</ref>. The balance of the paper is structured as follows. Section 2 introduce the partition evaluator (PE) developed by Chakravarthy and al <ref type="bibr" target="#b3">[4]</ref>; this evaluator will be used as the fitness function for the proposed approach and the two other approaches used in experiments. Section 3 presents the particle swarm optimization with a general brief overview RG strings. Section 4 we develop an improved particle swarm for vertical partition problem. Section 5 presents the application of the improved CPSO algorithm to the vertical partition problem and compares the proposed approach with the other two approaches SGA and GRGS-GA; and it is demonstrates that the improved CPSO can effectively find optimal solutions even for large vertical partition problems. Section 6 is summary and conclusions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Objective functions for vertical partition</head><p>The two kinds of objective functions used for partition algorithms are 1) model cost functions based on the transaction access analysis on a model DBMS and 2) those based on an empirical assumption. The former form of objective function is specific to the underlying DBMS while the latter is more general and intuitive <ref type="bibr" target="#b1">[2]</ref>.</p><p>In addition to the AUM used as input for both types of objective functions, the model cost function takes into account the specific access plan chosen by the query optimizer, e.g., the join method and the type of scan on the relation by each transaction type. Without this additional information, the empirical cost objective function only shows the trends in the cost that are affected by the partition process.</p><p>However, it is useful for the logical design of a database when information about physical parameters may not be available. Although less precise than the model cost functions, they can be very effective in comparing different optimization techniques used by algorithms. In this paper, we use an empirical objective function, a modified version from the partition evaluator proposed by <ref type="bibr" target="#b3">Chakravarthy et al. (1992)</ref>. This partition evaluator uses the square-error criterion commonly applied to clustering strategies. We thus name it the Square-Error Partition Evaluator (SEPE). The SEPE consists of two major cost factors: the irrelevant local attribute access cost and the relevant remote attribute access cost. They represent the additional cost required, other than the ideal minimum cost. Further, the ideal cost is the cost when transactions only access the attributes in a single fragment and have no instances of irrelevant attributes in that fragment. Both costs are calculated using the square-error result; they are denoted ˗ $ and ˗ $ , respectively. More details about SEPE, including the formula, can be found in <ref type="bibr" target="#b3">Chakravarthy et al. (1992)</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>3</head><p>Particle swarm optimization PSO introduced by Kennedy and Eberhart <ref type="bibr" target="#b7">[8]</ref> is one of the most recent metaheuristics, which is inspired by the swarming behavior of animals and human social behavior. Scientists found that the synchrony of animal's behavior was shown through maintaining optimal distances between individual members and their neighbors. Thus, velocity plays the important role of adjusting each member for the optimal distance. Furthermore, scientists simulated the scenario in which birds search for food and observed their social behavior. They perceived that in order to find food the individual members determined their velocities according to two factors, their own best previous experience and the best experience of all other members. This is similar to the human behavior in making decision, where people consider their own best past experience and the best experience of the other people around them.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>PSO algorithm</head><p>The general principles of the PSO algorithm are stated as follows. Similarly to an evolutionary computation technique, PSO maintains a population of particles, where each particle represents a potential solution to an optimization problem.</p><p>Let m be the size of the swarm. Each particle i can be represented as an object with several characteristics. Suppose that the search space is a n-dimensional space, then the ith particle can be represented by a n-dimensional vector, I {˲ # ˲ $ ˲ { , and velocity ˢ {˰ # ˰ $ ˰ {, where i = 1, 2, ..., m.</p><p>In PSO, particle i remembers the best position it visited so far, referred as ˜ {J # J $ J {, and the best position of the best particle in the swarm, referred as ˙ {˙# ˙$ ˙ {. PSO is similar to an evolutionary computation algorithm and, in each generation t, particle i adjusts its velocity ˰ and position ˲ for each dimension j by referring to, with random multipliers, the personal best position J # and the swarm's best position ˙ # , using Eqs. ( <ref type="formula">1</ref>) and ( <ref type="formula">2</ref>), as follows:</p><formula xml:id="formula_0">˰ ˰ # -IŵJŵ J # . ˲ # -IŶJŶ ˙ # . ˲ # {ŵ{ And ˲ ˲ # -˰ {Ŷ{</formula><p>Where c1 and c2 are the acceleration constants and r1 and r2 are random real numbers drawn from [0, 1]. Thus the particle flies through potential solutions toward ˜ and ˙ while still exploring new areas. Such stochastic mechanism may allow escaping from local optima. Since there was no actual mechanism for controlling the velocity of a particle, it was necessary to impose a maximum value ˢ on it. If the velocity exceeded this threshold, it was set equal to ˢ , which controls the maximum travel distance at each iteration, to avoid a particle flying past good solutions. The PSO algorithm is terminated with a maximal number of generations or the best particle position of the entire swarm cannot be improved further after a sufficiently large number of generations.</p><p>The aforementioned problem was addressed by incorporating a weight parameter in the previous velocity of the particle. Thus, in the latest versions of the PSO, Eqs.</p><p>(2) and ( <ref type="formula">3</ref>) are changed into the following ones:</p><formula xml:id="formula_1">˰ { ˰ # -IŵJŵ J # . ˲ # -IŶJŶ ˙ # . ˲ # { {ŷ{ ˲ ˲ # -˰ {Ÿ{</formula><p>is called inertia weight and is employed to control the impact of the previous history of velocities on the current one. Accordingly, the parameter regulates the trade-off between the global and local exploration abilities of the swarm. A large inertia weight facilitates global exploration, while a small one tends to facilitate local exploration. A suitable value for the inertia weight usually provides balance between global and local exploration abilities and consequently results in a reduction of the number of iterations required to locate the optimum solution. is a constriction factor, which is used to limit the velocity.</p><p>The PSO algorithm has shown its robustness and efficacy for solving function value optimization problems in real number spaces. Only a few researches have been conducted for extending PSO to combinatorial optimization problems.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>4</head><p>An improved CPSO for Database Vertical Partition</p><p>In this paper, we propose an improved version of the combinatorial CPSO algorithm <ref type="bibr" target="#b2">[3]</ref> aimed at solving the Database Vertical Partition problem. The CPSO algorithm suffers from major drawback-redundant encoding. This paper applies the restricted growth (RG) string <ref type="bibr" target="#b4">[5]</ref> constraint to manipulate the particles so that redundant particles are excluded during the PSO process. The following section presents the basics of the RG strings.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Basics of RG strings</head><p>The Restricted Growth (RG) string encoding represents a grouping solution as an array of integers, denoted a[n], where n is the number of attributes in the relation. The elements in the array may be integer values ranging from 1 to n. Meanwhile, as constituents if RG string, they must satisfy Definition 1, given next. In addition to the formal definition of RG string, other supporting extended definitions are presented next: Definition 1. A RG string r is a sequence of integers represented as an array, which satisfies the following inequality:</p><formula xml:id="formula_2">{X{ 3 {ͽͷY{{ { { { {X . {{ -{ ˩ J J{ {</formula><p>For example, {1 1 2 3 1 1 2 4} is RG string, but {4 4 2 3 4 4 2 1} is not, although they map to the same solution in random string encoding scheme.</p><p>Definition 2. The degree of RG string r is the largest value in r, denoted d(r).</p><p>For example, consider r = {11123221}, then d(r)=3.</p><p>Definition 3. The ith prefix of RG string r, denoted J , is the substring that includes the first i values of r.</p><p>For example, consider r = {11123221}, J &amp; = {1112}.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Definition of a particle</head><p>Denote by I {˳ # ˳ $ ˳ { the n-dimensional vector associated to the solution I {˲ # ˲ $ ˲ { taking a value in {-1, 0, 1} according to the state of solution of the ith particle at iteration t.</p><p>I is a dummy variable used to permit the transition from the combinatorial state to the continuous state and vice versa.</p><formula xml:id="formula_3">I ŵ ˩˦ ˲ ˙ .ŵ ˩˦ ˲ J .ŵ JJ ŵ ˩˦ {˲ ˙ J { Ŵ Jˮ˨˥J˱˩J˥ {Ź{</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Velocity</head><p>Let ˤŵ .ŵ . ˳ # be the distance between ˲ # and the best solution obtained by the ith particle.</p><p>Let ˤŶ ŵ . ˳ # the distance between the current solution ˲ # and the best solution obtained in the swarm.</p><p>The updated equation for the velocity term used in CPSO is then:</p><formula xml:id="formula_4">˰ ˱ ˰ # -Jŵ Iŵ ˤŵ -JŶ IŶ ˤŶ {ź{ ˰ ˱ ˰ # -Jŵ Iŵ .ŵ . ˳ # -JŶ IŶ {ŵ . ˳ # { {Ż{</formula><p>With this function, the change of the velocity ˰ depends on the result of ˳ # . If ˲ # ˙ # , then ˳ # ŵ. Thereafter d2 turns to ''0'', and d1 takes "-2'', thus imposing to the velocity to change in the negative sense.</p><p>If ˲ # J # , then ˳ # .ŵ. Thereafter d2 turns to ''2'', and d1 takes ''0'', thus imposing to the velocity to change in the positive sense.</p><p>The case where ˲ # ˙ # and ˲ # J # , ˳ # turns to ''o'', d2 is equal to ''1'' and d1 is equal to "-1'', thereafter the parameters r1; r2; c1 and c2 will determine the sense of the change of the velocity.</p><p>The case where ˲ # ˙ # and ˲ # J # , ˳ # takes a value in {-1,1}, thus imposing to the velocity to change in the inverse sense of the sign of ˳ .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.4">Construction of a particle solution</head><p>The update of the solution is computed within ˳ :</p><formula xml:id="formula_5">˳ # -˰ {%{</formula><p>The value of ˳ is adjusted according to the following function:</p><formula xml:id="formula_6">˳ Ӣ ŵ ˩˦ 2 .ŵ ˩˦ . Ŵ Jˮ˨˥J˱˩J˥ {%{</formula><p>The new solution is:</p><formula xml:id="formula_7">˲ Ӣ ˙ # ˩˦ ˳ ŵ J # ˩˦ ˳ .ŵ I JIJˤJ˭ J˯˭I˥J Jˮ˨˥J˱˩J˥ {ŵŴ{</formula><p>The choice previously achieved for the affectation of a random value in {1, -1} for ˳ # in the case of equality between ˲ # J # ˙ # allows to insure that the variable ˳ takes a value 0, and to permit a change in the value of variable ˲ . We define a parameter for fitting intensification and diversification. For a small value of , ˲ takes one of the two values J # or ˙ # (intensification). In the opposite case, we impose to the algorithm to assign a null value to the ˳ , thus inducing for ˲ a value different from J # IJˤ ˙ # (diversification). The parameters c1 and c2 are two parameters related to the importance of the solutions J # IJˤ ˙ # for the generation of the new solution I . They also have a role in the intensification of the search.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.5">Solution representation</head><p>In this subsection, we describe the formulation of the improved CPSO algorithm for the database vertical partition problem. One of the most important issues when designing the PSO algorithm lies on its solution representation. We setup search space of n-dimension for a relation of nattributes. Each dimension represents an attribute and particle I {˲ # ˲ $ ˲ { corresponds to the affectation of n attributes, such that ˲ {1, 2, 3,…, k}, where k is the number of fragments. The scheme of Fig. <ref type="figure" target="#fig_0">1</ref>  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.6">Initial population</head><p>A swarm of particles is constructed based on RG string. In the particles generated, the RG constraint is enforced from the beginning. No rectification process is needed after all position in a particle are randomly created because each position is created as a random integer between 1 and the high potential degree for its position, complying with the RG string constraint. In the initial population, the first element is set to 1 and the upper bound for each element increases gradually and this rarely reaches k-1,</p><p>where k is the number of fragments anticipated by the user</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.7">Creating a new solution</head><p>For creating new solution we use Eq <ref type="bibr" target="#b4">(5)</ref>. We obtain the vector value ˳ # , The vector of velocity ˢ computed with Eq <ref type="bibr" target="#b5">(6)</ref>. The new value of is calculated using # -˰ .</p><p>is determined using Eq(9) and using Eq (10) the new solution vector I is determined. But the new solution can breaking the RG constraint for this purpose we have designing the rectifier. The rectifier is a key issue in the proposed approach that each particle is RG string. However, the initialization of particles does not guarantee each particle to be RG string. Also the operation of creating new solutions may change the constitution of a particle the population in a way that violates the RG string constraint. To handle such cases, we introduce a rectifying function that guarantees each particle to be RG string. For particles that violate the RG string constraint, the rectifier simply scans through a particle and converts it into RG string by adjusting the locations of its positions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Implementation and experimental results</head><p>algorithms have been implemented in java. All experiments with improved CPSO and GRGS-GA <ref type="bibr" target="#b1">[2]</ref> and SGA were run in Windows XP on desktop PC with Intel Pentium4, 3.6 GHz processors. The GRGS-GA (Group oriented Restricted Growth String) is GA based approach proposed by Jun Du and al <ref type="bibr" target="#b1">[2]</ref> for database vertical partition. The SGA is a Simple GA that uses random encoding schemes and classical genetics operators.</p><p>We have dividing the experimental section into two phases. The test phase and the comparison phase. In the test phase we have trying the improved CPSO on two cases, the first case is an attribute usage matrix (AUM) of 10 attributes and 8 transactions and the second case is an attribute use matrix of 20 attributes and 15 transactions.</p><p>In the comparison phase we have trying the improved CPSO with two others GA based algorithm GRGS-GA and SGA on two larges cases generated pseudo randomly with a pseudo random generator of AUM designed to generate a large size AUM.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Case 1: 10-attribute example</head><p>In this case, we use an attribute usage matrix AUM, with 10 attributes and 8 transactions. This AUM has already been utilized by other researchers as described in Cornell and Yu, 1990, Navathe and al 1984, Suk-kyu Song and Narasimhaiah Gorla, 2000, J. Muthuraj and al 1993. J. Muthuraj and al found that for this AUM the best PE value is 5820, which gives a fragmentation of 3 fragments {1 5 7} {2 3 8 9} {4 6 10}. The improved CPSO find the best fragmentation in the 4 iteration, as illustrated in the figure <ref type="figure">2</ref>. And the algorithm is executed 10 times. Figure <ref type="figure" target="#fig_1">3</ref> shows the optimal costs found in each trial. The above mentioned 3-fragment partition is evaluated to have a PE value of 5820. So we argue that if the final partition of each trial has a PE value less or equal to 5820, then such trial is considered a success. The success rate of the improved CPSO is 100%. Another interesting statistic is the average number of iterations needed to reach the optimal solution in the improved CPSO is 6.5. Apparently, the improved CPSO performs well in terms of fitness and convergence speed.  The improved CPSO Algorithm is executed 100 times. Figure <ref type="figure">5</ref> shows the optimal costs found in each trial. The above mentioned 4-fragment partition is evaluated to have a PE value of 4644. So we argue that if the final partition of each trial has a PE value less or equal to 4644, then such trial is considered a success. The success rate of the improved CPSO is 100%. Another interesting statistic is the average number of generations needed to reach the optimal solution in the improved CPSO is 30.4. Apparently, the improved CPSO performs well in terms of fitness and convergence speed. </p><formula xml:id="formula_8">ˠō˓ ŵ Ŷ ŷ Ÿ Ź ź Ż % % ŵŴ ˠŵ ŶŹ Ŵ Ŵ Ŵ ŶŹ Ŵ ŶŹ Ŵ Ŵ Ŵ ˠŶ Ŵ ŹŴ ŹŴ Ŵ Ŵ Ŵ Ŵ ŹŴ ŹŴ Ŵ ˠŷ Ŵ Ŵ Ŵ ŶŹ Ŵ ŶŹ Ŵ Ŵ Ŵ ŶŹ ˠŸ Ŵ ŷŹ Ŵ Ŵ Ŵ Ŵ ŷŹ ŷŹ Ŵ Ŵ ˠŹ ŶŹ ŶŹ ŶŹ Ŵ ŶŹ Ŵ ŶŹ ŶŹ ŶŹ Ŵ ˠź ŶŹ Ŵ Ŵ Ŵ ŶŹ Ŵ Ŵ Ŵ Ŵ Ŵ ˠŻ Ŵ Ŵ ŶŹ Ŵ Ŵ Ŵ Ŵ Ŵ ŶŹ Ŵ ˠ% Ŵ Ŵ ŵŹ ŵŹ Ŵ ŵŹ Ŵ Ŵ ŵŹ</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3">Case 3: 20-attribute pseudo random AUM</head><p>In this case we compare the improved CPSO algorithm with two others GA based algorithms the GRGS-GA and SGA on pseudo random attribute usage matrix of 20 attributes and 20 transactions. This AUM generated using pseudo random AUM generator designed to generate a large size usage matrix. The number of fragments anticipated is 20 fragments. The value of the best fitness in this case is 0. The average number of generations needed to reach the optimal solution in each algorithm. They are 30.4, 45.6, respectively. Apparently, SGA performs worst among the three in terms of fitness and convergence speed. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Appling A Discrete Particle Swarm Optimization Algorithm to Database Vertical Partition</head><p>The average number of generations needed to reach the optimal solution in each algorithm. They are 30.4, 45.6, and 296.2 for improved PSO, GRGS-GA and SGA, respectively. Apparently, SGA performs worst among the three in terms of fitness and</p><p>The trends of PE values of best particles for Improved CPSO, GRGS-GA and SGA on the 20-Attribute pseudo AUM.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>attribute example</head><p>In this case, we try to apply the improved CPSO described in Section 4 to a large size usage matrix. This AUM have 50 attributes and 50 transactions, the number of fragments anticipated is 50 fragments. The value of the best fitness is 0.</p><p>The figure <ref type="figure">7</ref> shows that the improved CPSO reach the best fragmentation in 193 The average number of generations needed to reach the optimal solution in each GA and SGA, respectively. Apparently, SGA performs worst among the three in terms of fitness and GA and SGA on In this case, we try to apply the improved CPSO described in Section 4 to a large size usage matrix. This AUM have 50 attributes and 50 transactions, the number of The figure <ref type="figure">7</ref> shows that the improved CPSO reach the best fragmentation in 193 281 Improved CPSO</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.5">Results analysis</head><p>As the number of attributes grows, the improved CPSO becomes harder to converge because of the increased complexity of the partition problem. Every improved CPSO trial finds the optimal partition known when the usage matrix is generated. The convergence speed of the improved CPSO is well over the two others GA based algorithms. So, the advantage of using the improved CPSO is apparent over using the other two GAs. Figure <ref type="figure">6</ref> shows the PE values for 20 AUM. Again from this graph, we conclude that the improved CPSO is the best among the three and GRGS-GA is better than SGA in terms of the convergence speed.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusion</head><p>Vertical database partition is a significant problem for database transaction performance. In this article, we proposed a PSO-based solution. Particularly, this solution features two new attempts: first, a RG string constraint is applied to overcome the redundant encoding of previous GAs for the partition problem or similar ones; second, a comparison is used to evaluate the performance of the improved CPSO with to others GA based algorithms the GRGS-GA <ref type="bibr" target="#b1">[2]</ref>, and a simple GA called SGA in term of convergence speed and best fragmentation results. The success of using the improved CPSO to solve vertical partition problem suggests it may be used to solve other clustering or grouping problems.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. An example of solution representation with RG constraint.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Optimal solutions found in 10 trials case of 10 attributes</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 4 .Fig. 5 .</head><label>45</label><figDesc>Fig. 4.The trends of PE values of best particles in each iteration. Case of 20 attributes</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 6 .Fig. 7 .</head><label>67</label><figDesc>Fig. 6. The trends of PE values of best particles for Improved CPSO, G</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1 .</head><label>1</label><figDesc>10-attribute MatrixFig. 2. PE values of best particles in each iteration</figDesc><table /></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>7</head><p>References</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">Principles of distributed database systems</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">T</forename><surname>Ozsu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Valduriez</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1999">1999</date>
			<publisher>Prentice Hall</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Genetic algorithms based approach to database vertical partition</title>
		<author>
			<persName><forename type="first">Jun</forename><surname>Du</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Reda</forename><surname>Alhajj</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ken</forename><surname>Barker</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Intelligent Information Systems</title>
		<imprint>
			<biblScope unit="volume">26</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="167" to="183" />
			<date type="published" when="2006-03">March 2006. 2006</date>
		</imprint>
	</monogr>
	<note>Year of Publication</note>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Combinatorial particle swarm optimization (CPSO) for partitional clustering problem</title>
		<author>
			<persName><forename type="first">B</forename><surname>Jarboui</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Cheikh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Siarry</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Rebai</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Applied Mathematics and Computation</title>
		<imprint>
			<biblScope unit="volume">192</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="337" to="345" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">A formal approach to the vertical partition problem in distributed database design</title>
		<author>
			<persName><forename type="first">S</forename><surname>Chakravarthy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Muthuraj</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Varadarjan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">B</forename><surname>Navathe</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1992">1992</date>
			<pubPlace>Gainesville, Florida</pubPlace>
		</imprint>
		<respStmt>
			<orgName>CIS Department, University of Florida,</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Simple combinatorial gray codes constructed by reversing sublists</title>
		<author>
			<persName><forename type="first">F</forename><surname>Ruskey</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Algorithms and Computation</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Berlin Heidelberg New York</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1993">1993</date>
			<biblScope unit="volume">762</biblScope>
			<biblScope unit="page" from="201" to="208" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">A genetic algorithm for vertical fragmentation and access path selection</title>
		<author>
			<persName><forename type="first">S</forename><surname>Song</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Gorla</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">The Computer Journal</title>
		<imprint>
			<biblScope unit="volume">43</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="81" to="93" />
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Vertical partition for database design: A graphical algorithm</title>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">B</forename><surname>Navathe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ra</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM SIGMOD Record</title>
		<imprint>
			<biblScope unit="volume">18</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="440" to="450" />
			<date type="published" when="1989">1989</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Particle swarm optimization</title>
		<author>
			<persName><forename type="first">J</forename><surname>Kennedy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">C</forename><surname>Eberhart</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the IEEE International Conference on Neural Networks</title>
				<meeting>the IEEE International Conference on Neural Networks</meeting>
		<imprint>
			<date type="published" when="1995">1995</date>
			<biblScope unit="volume">IV</biblScope>
			<biblScope unit="page" from="1942" to="1948" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
