<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JSEA</journal-id><journal-title-group><journal-title>Journal of Software Engineering and Applications</journal-title></journal-title-group><issn pub-type="epub">1945-3116</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jsea.2017.102008</article-id><article-id pub-id-type="publisher-id">JSEA-73972</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Cooperative Particle Swarm Optimization in Distance-Based Clustered Groups
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Tomohiro</surname><given-names>Hayashida</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ichiro</surname><given-names>Nishizaki</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Shinya</surname><given-names>Sekizaki</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Shunsuke</surname><given-names>Koto</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Faculty of Engineering, Hiroshima University, Hiroshima, Japan</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>hayashida@hiroshima-u.ac.jp(TH)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>07</day><month>02</month><year>2017</year></pub-date><volume>10</volume><issue>02</issue><fpage>143</fpage><lpage>158</lpage><history><date date-type="received"><day>December</day>	<month>9,</month>	<year>2016</year></date><date date-type="rev-recd"><day>Accepted:</day>	<month>February</month>	<year>4,</year>	</date><date date-type="accepted"><day>February</day>	<month>7,</month>	<year>2017</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  TCPSO (Two-swarm Cooperative Particle Swarm Optimization) has been proposed by Sun and Li in 2014. TCPSO divides the swarms into two groups with different migration rules, and it has higher performance for high-dimensional nonlinear optimization problems than traditional PSO and other modified method of PSO. This paper proposes a particle swarm optimization by modifying TCPSO to avoid inappropriate convergence onto local optima. The quite feature of the proposed method is that two kinds of subpopulations constructed based on the scheme of TCPSO are divided into some clusters based on distance measure, 
  <em>k</em>-means clustering method, to maintain both diversity and centralization of search process are maintained. This paper conducts numerical experiments using several types of functions, and the experimental results indicate that the proposed method has higher performance than the TCPSO for large-scale optimization problems.
 
</p></abstract><kwd-group><kwd>Particle Swarm Optimization</kwd><kwd> Different Migration Rules</kwd><kwd> Clustering</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>PSO (Particle Swarm Optimization) is one of the most famous evolutionary computation methods that emulate the swarm behavior of some kinds of birds [<xref ref-type="bibr" rid="scirp.73972-ref1">1</xref>] . This evolutionary computation method interprets that the feature of the corresponding problem is not independently recorded on each individual of the swarm, but the whole population share the information for smart search. In the search process of PSO, each individual gets closer to an individual with highest evaluation value, by updating the current solution of each individual. A variety of PSO are applied to a number of problems in engineering discipline, because the updating method of the solution is very simple and computationally cheap [<xref ref-type="bibr" rid="scirp.73972-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.73972-ref3">3</xref>] [<xref ref-type="bibr" rid="scirp.73972-ref4">4</xref>] .</p><p>However, search process of PSO rarely converges a local optimum solution depending on the initial solution and the parameter settings due to the simpleness of the search procedure. To avoid the convergence problem several improved PSOs are proposed. For example, fully informed PSO (FIPSO) that several subgroups of particles (individuals) can communicate to each other by intermediary of the link between the subgroups [<xref ref-type="bibr" rid="scirp.73972-ref5">5</xref>] [<xref ref-type="bibr" rid="scirp.73972-ref6">6</xref>] , linearly decreasing weight PSO (LDWPSO) such that the value of the parameters in regard to search process are adapted to actualize a global search in the first part of the search process and a local search toward the end of the process [<xref ref-type="bibr" rid="scirp.73972-ref7">7</xref>] , FAPSO-ACO-K, a hybrid algorithm of fuzzy adaptive PSO (FAPSO), ant colony optimization (ACO), and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x3.png" xlink:type="simple"/></inline-formula>-means clustering, is combined search procedure of hybrid of FAPSO and ACO for local search and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x4.png" xlink:type="simple"/></inline-formula>-means clustering method for global search [<xref ref-type="bibr" rid="scirp.73972-ref8">8</xref>] , two-swarm cooperative PSO (TCPSO) which maintains the diversity of the population by division of the population into two kinds of subgroups [<xref ref-type="bibr" rid="scirp.73972-ref9">9</xref>] , and so forth.</p><p>The manner of division in TCPSO is not always suitable for the corresponding problems, thus the search process of TCPSO is not always appropriate. This study improves TCPSO by applying a statical clustering method for effective division of the population. The clustering is applied several times in process of search based on the degree of convergence of search. The experimental results indicate that the proposed method has higher performance for some high- dimensional problems than the existing methods relevant to PSO.</p><p>The rest of this paper is structured as follows: In Section 2, several works related to PSO, the original PSO, FIPSO, and TCPSO are briefly introduced. In Section 3, the proposed method using distance-based clustering method is constructed. In Section 4, numerical experiments using multiple benchmark problems are conducted, and finally Section 5 concludes this paper.</p></sec><sec id="s2"><title>2. Related Works</title><p>In this section, some related works, PSO, FIPSO, and TCPSO are briefly described.</p><sec id="s2_1"><title>2.1. Particle Swarm Optimization (PSO)</title><p>Let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x5.png" xlink:type="simple"/></inline-formula> be the number of swarms (individuals), and a swarm<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x6.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x7.png" xlink:type="simple"/></inline-formula>retains its positional information vector at time<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x8.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x9.png" xlink:type="simple"/></inline-formula>, and its velocity vector, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x10.png" xlink:type="simple"/></inline-formula>, where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x11.png" xlink:type="simple"/></inline-formula> and</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x12.png" xlink:type="simple"/></inline-formula>, here <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x13.png" xlink:type="simple"/></inline-formula> indicates number of dimension of the corresponding problem. Here, let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x14.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x15.png" xlink:type="simple"/></inline-formula> be the minimum and maximum values of the <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x16.png" xlink:type="simple"/></inline-formula>-th dimensional value, respectively, i.e., <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x17.png" xlink:type="simple"/></inline-formula>is satisfied. Additionally, a swarm <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x18.png" xlink:type="simple"/></inline-formula> retains a positional information vector</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x19.png" xlink:type="simple"/></inline-formula>of which has the highest evaluation value in which the swarm experienced from time 0 to<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x19.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x20.png" xlink:type="simple"/></inline-formula>. In similar way, whole swarms in the population shares a positional information vector</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x21.png" xlink:type="simple"/></inline-formula>of which has the highest evaluation value in which whole swarms experienced from time 0 to<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x22.png" xlink:type="simple"/></inline-formula>. The position information vector <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x23.png" xlink:type="simple"/></inline-formula> and velocity vector <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x23.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x24.png" xlink:type="simple"/></inline-formula> of a swarm <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x23.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x25.png" xlink:type="simple"/></inline-formula> is updated by using following equation.</p><disp-formula id="scirp.73972-formula145"><label>(1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-9302343x26.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.73972-formula146"><label>(2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-9302343x27.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x28.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x29.png" xlink:type="simple"/></inline-formula> are parameters, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x30.png" xlink:type="simple"/></inline-formula>indicates inertia coefficient, and</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x31.png" xlink:type="simple"/></inline-formula>are random numbers which are determined before each updating. From (1) and (2), the performance of PSO depends in a large part on values of there parameters. The positions of all swarms are updated depending also on the common position information vector<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x32.png" xlink:type="simple"/></inline-formula>, therefore it is difficult to deviate from a local optima if the search process converges near the local optima.</p></sec><sec id="s2_2"><title>2.2. Fully Informed PSO (FIPSO)</title><p>Whereas whole swarms in the population share the common position information in PSO, a pair of swarms which located at nearest in whole swarms each other share personal best position information with the highest evaluation <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x33.png" xlink:type="simple"/></inline-formula> in FIPSO. The nearest swarm of a swarm is called neighbor of her/him, and let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x34.png" xlink:type="simple"/></inline-formula> be a neighbor of a swarm<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x35.png" xlink:type="simple"/></inline-formula>. FIPSO updates the position information vector <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x36.png" xlink:type="simple"/></inline-formula> by using following (1) and the velocity vector <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x37.png" xlink:type="simple"/></inline-formula> by using following equation.</p><disp-formula id="scirp.73972-formula147"><label>(3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-9302343x38.png"  xlink:type="simple"/></disp-formula><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x39.png" xlink:type="simple"/></inline-formula> is a learning parameter.</p></sec><sec id="s2_3"><title>2.3. Two-Swarm Cooperative PSO (TCPSO)</title><p>TCPSO divides population into two subgroups, master swarms and slave swarms. As shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>, the master swarms are assigned to wide search and the slave swarms are assigned to intensive local search.</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> The distribution of swarms: TCPSO</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x40.png"/></fig><p>The position information vector <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x41.png" xlink:type="simple"/></inline-formula> and the velocity vector <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x41.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x42.png" xlink:type="simple"/></inline-formula> of swarm <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x41.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x42.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x43.png" xlink:type="simple"/></inline-formula> belonging to master swarms are updated by following equations.</p><disp-formula id="scirp.73972-formula148"><label>(4)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-9302343x44.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.73972-formula149"><label>(5)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-9302343x45.png"  xlink:type="simple"/></disp-formula><p>The position information vector <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x46.png" xlink:type="simple"/></inline-formula> and the velocity vector <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x46.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x47.png" xlink:type="simple"/></inline-formula> of swarm <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x46.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x47.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x48.png" xlink:type="simple"/></inline-formula> belonging to slave swarms are updated by following equations.</p><disp-formula id="scirp.73972-formula150"><label>(6)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-9302343x49.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.73972-formula151"><label>(7)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-9302343x50.png"  xlink:type="simple"/></disp-formula><p>In Equations (4)-(7), “<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x51.png" xlink:type="simple"/></inline-formula>” and “<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x51.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x52.png" xlink:type="simple"/></inline-formula>” indicate the master and the slave swarms in order, respectively. From Equation (7), a slave swarm updates the velocity vector <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x51.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x53.png" xlink:type="simple"/></inline-formula> based only on the position information, but the last velocity. This updating mechanism without inertia term leads that search regions of the slave swarms becomes more narrow than of the master swarms. The difference of search area between the master and the slave swarms are due to updating mechanism differences such whether it refers another kind of swarms or not. On the other hand, the term including <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x51.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x54.png" xlink:type="simple"/></inline-formula> in the updating mechanism of the velocity of a master slave refers the search efforts of the slave swarms. Several kinds of experimental results using TCPSO indicate that it has satisfying performance in many types of optimization problems. However, it does not have satisfying performance in high dimensional maps.</p></sec></sec><sec id="s3"><title>3. Distance-Based Divided Groups and Cooperative PSO</title><p>As described in the above section, TCPSO divides the population into two groups with different migration rules. However, the master swarms cannot always maintain the search area widely, because, a master swam updates its velocity in refer not only to master swarms but also the best solution in the slave swarms as Equations (4) and (5). This is a reason of which the searching process of TCPSO rarely converges on the local optima of the target optimization problem which is not the global optima of it, depending on the future of target problems.</p><p>This paper revises TCPSO to avoid the convergence of the swarms on the local optima by dividing the master swarms into multiple groups based on Euclidean distance. This is the main feature of the proposed method. Similarly, the slave swarms are divided into same number of groups and each group is connected a group of divided master swarms. For distance-based clustering, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x55.png" xlink:type="simple"/></inline-formula>-means clustering method is applied for dividing the swarms.</p><sec id="s3_1"><title>3.1. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x56.png" xlink:type="simple"/></inline-formula>-Means Clustering</title><p>The proposed method applies <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x57.png" xlink:type="simple"/></inline-formula>-means clustering method to the population. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x58.png" xlink:type="simple"/></inline-formula>-means clustering is a non-hierarchical clustering algorithm, the whole swarms in the population are divided into <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x58.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x59.png" xlink:type="simple"/></inline-formula> groups based on the distance measure. Here, let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x58.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x59.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x60.png" xlink:type="simple"/></inline-formula> be a median point of the positional information vector of the swarms belonging to a cluster<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x58.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x59.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x60.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x61.png" xlink:type="simple"/></inline-formula>. Revise the division of the population into cluster to satisfy following condition.</p><disp-formula id="scirp.73972-formula152"><label>(8)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-9302343x62.png"  xlink:type="simple"/></disp-formula></sec><sec id="s3_2"><title>3.2. Algorithms</title><p>Let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x63.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x64.png" xlink:type="simple"/></inline-formula> indicate the locational information vector of which has the highest evaluation value in which the master and slave swarms in a cluster <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x64.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x65.png" xlink:type="simple"/></inline-formula> experienced from time 0 to<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x64.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x65.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x66.png" xlink:type="simple"/></inline-formula>. This study revises update procedure of the velocity vector of a swarm as follows, differing depending on the kind whether the swarm is master or slave swarm as following equations.</p><disp-formula id="scirp.73972-formula153"><label>(9)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-9302343x67.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.73972-formula154"><label>(10)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/3-9302343x68.png"  xlink:type="simple"/></disp-formula><p>where, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x69.png" xlink:type="simple"/></inline-formula>are the random variables as employed in Equations (2), (5), and (7). The positional information vector is updated based on Equations (4) and (6). Equation (9) maintains or increases diversity of search process of TCPSO by referring the positional information vector <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x69.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x70.png" xlink:type="simple"/></inline-formula> with the highest evaluation value in the belonging cluster, and Equation (10) avoids excessive convergence.</p><p>The outline of the proposed method is briefly summarized as follows.</p><p>Step 0 Initialize the parameter<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x71.png" xlink:type="simple"/></inline-formula>.</p><p>Step 3 Generate initial population of the master and the slave swarms.</p><p>Step 2 If<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x72.png" xlink:type="simple"/></inline-formula>, execute <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x72.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x73.png" xlink:type="simple"/></inline-formula>-means clustering to the population of master and the slave swarms.</p><p>Step 3 Calculate the evaluation value of each swarm, based on the positional information vector.</p><p>Step 4 Update the positional information and velocity vector by Equations (4), (6), (9), and (10). If the largest evaluation value in the population is larger than predetermined value, it remains unchanged during for a given period, or number of updating of the positional information and the velocity vector approaches predetermined number, then terminate the search process. If a convergence condition satisfied, then go to Step 3, otherwise go to Step 5.</p><p>Step 5 If<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x74.png" xlink:type="simple"/></inline-formula>, then let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x74.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x75.png" xlink:type="simple"/></inline-formula> and go to Step 2. If<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x74.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x75.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x76.png" xlink:type="simple"/></inline-formula>, then let</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x77.png" xlink:type="simple"/></inline-formula>and go to Step 2.</p><p>A quite feature of the proposed method is applying <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x78.png" xlink:type="simple"/></inline-formula>-means clustering to population of the master swarms and the slave swarms, respectively, with changing number of clusters<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x79.png" xlink:type="simple"/></inline-formula>. Note that there exists a hybrid algorithm using <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x79.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x80.png" xlink:type="simple"/></inline-formula>-means clustering, FAPSO-ACO-K [<xref ref-type="bibr" rid="scirp.73972-ref8">8</xref>] , the algorithm divides the all swarms in the population into clusters. Our method has stronger tendency to avoid the convergence of swarms on the local optima, because the number of clusters <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x79.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x80.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x81.png" xlink:type="simple"/></inline-formula> periodically changes in our method as<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x79.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x80.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x81.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x82.png" xlink:type="simple"/></inline-formula>. Whereas FAPSO-ACO-K uses predetermined number of clusters. The desired effect of the proposed method is that population repeats widespread migrations and convergences when the number of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x79.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x80.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x81.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x82.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x83.png" xlink:type="simple"/></inline-formula> changes at Step 5. It is expected to discover another better solutions by the widespread migration, and intensive local search by the convergence of the search process.</p></sec></sec><sec id="s4"><title>4. Numerical Experiments</title><p>In this section, numerical experiments using some kinds of nonlinear functions. The terminate conditions are set as that the function values <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x84.png" xlink:type="simple"/></inline-formula> is less than <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x84.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x85.png" xlink:type="simple"/></inline-formula> or the number of iterations without change of the largest evaluation values of solution. 10 discrete trail runs are executed for each problem by changing number of the dimensions of the problems as<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x84.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x85.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x86.png" xlink:type="simple"/></inline-formula>. The values of parameters are set as <xref ref-type="table" rid="table1">Table 1</xref>.</p><p>The numerical experiments which conduct in this study use 11 kinds of functions shown in <xref ref-type="table" rid="table2">Table 2</xref> and <xref ref-type="table" rid="table3">Table 3</xref>.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Parameter settings</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Number of dimensions <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x87.png" xlink:type="simple"/></inline-formula></th><th align="center" valign="middle" >2/10/30/50/100</th></tr></thead><tr><td align="center" valign="middle" >Inertia coefficient <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x88.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >0.9</td></tr><tr><td align="center" valign="middle" >Number of swarms <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x89.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >60</td></tr><tr><td align="center" valign="middle" >Parameters <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x90.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >(1.6, 1.6, 2.2, 2.2, 2.2)</td></tr><tr><td align="center" valign="middle" >Number of initial cluster</td><td align="center" valign="middle" >2</td></tr><tr><td align="center" valign="middle" >Maximum number of clusters</td><td align="center" valign="middle" >5</td></tr></tbody></table></table-wrap><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Benchmark problems (unimodal functions)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Name</th><th align="center" valign="middle" >Function <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x91.png" xlink:type="simple"/></inline-formula></th><th align="center" valign="middle" >Optimal solution</th></tr></thead><tr><td align="center" valign="middle" >Sphere</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x92.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x93.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >Quadric</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x94.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x95.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >Schwefel’s Problem 1.2</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x96.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x97.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >Rosenbrock</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x98.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x99.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >Schwefel’s problem 2.22</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x100.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x101.png" xlink:type="simple"/></inline-formula></td></tr></tbody></table></table-wrap><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Benchmark problems (multi-modal functions)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Name</th><th align="center" valign="middle"  colspan="2"  >Function <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x102.png" xlink:type="simple"/></inline-formula></th></tr></thead><tr><td align="center" valign="middle" >Ackley</td><td align="center" valign="middle"  colspan="2"  ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x103.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle"  colspan="2"  >Optimal solution: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x104.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >Generalized Rastrigin</td><td align="center" valign="middle"  colspan="2"  ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x105.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle"  colspan="2"  >Optimal solution: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x106.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >Generalized Schwefel’s</td><td align="center" valign="middle"  colspan="2"  ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x107.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >problem 2.26</td><td align="center" valign="middle"  colspan="2"  >Optimal solution:<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x108.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x109.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >Generalized Griewank</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x110.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >Optimal solution: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x111.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >Generalized Penalized 1</td><td align="center" valign="middle"  colspan="2"  ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x112.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle"  colspan="2"  >Optimal solution: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x113.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >Generalized Penalized 2</td><td align="center" valign="middle"  colspan="2"  ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x114.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle"  colspan="2"  >Optimal solution: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x115.png" xlink:type="simple"/></inline-formula></td></tr></tbody></table></table-wrap><p>The aim of these optimization problem is finding the solution vector</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x116.png" xlink:type="simple"/></inline-formula>which minimizes each target function. The functions are classified in terms of unimodal or multi-modal. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x116.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x117.png" xlink:type="simple"/></inline-formula>indicates number of dimensions. In Appendix, some functions with number of dimensions is 2</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x118.png" xlink:type="simple"/></inline-formula>are shown in Figures 6-15 for example.</p><p>The error per number of dimensions <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x119.png" xlink:type="simple"/></inline-formula> and termination term per <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x119.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x120.png" xlink:type="simple"/></inline-formula> are shown in <xref ref-type="table" rid="table4">Table 4</xref> and <xref ref-type="table" rid="table5">Table 5</xref> as experimental result. Figures 2-5 summarizes these results.</p><p>From the experimental result shown in <xref ref-type="table" rid="table4">Table 4</xref>, <xref ref-type="fig" rid="fig2">Figure 2</xref> and <xref ref-type="fig" rid="fig3">Figure 3</xref>, the proposed method has higher or approximately equivalent performance relative to TCPSO in the optimization problem of unimodal functions. In other words, the proposed method is more helpful than the comparative approach, TCPSO. In the case of Rosenbrock, it is a unimodal function, though the gradient around</p><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> Experimental results (unimodal functions)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" ></th><th align="center" valign="middle"  colspan="2"  >Proposed method</th><th align="center" valign="middle"  colspan="2"  >TCPSO [<xref ref-type="bibr" rid="scirp.73972-ref9">9</xref>]</th></tr></thead><tr><td align="center" valign="middle" >Target function</td><td align="center" valign="middle" >D</td><td align="center" valign="middle" >Error/D</td><td align="center" valign="middle" >Termination term/D</td><td align="center" valign="middle" >Error/D</td><td align="center" valign="middle" >Termination term/D</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Sphere (Unimodal)</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >11.0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >10.7</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >71.3</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >73.0</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >50.8</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >53.1</td></tr><tr><td align="center" valign="middle" >50</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >47.9</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >52.1</td></tr><tr><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >53.6</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >64.4</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Quadric (Unimodal)</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >6.7</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >6.6</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >39.8</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >42.0</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >40.7</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >44.3</td></tr><tr><td align="center" valign="middle" >50</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >49.2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >53.8</td></tr><tr><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >68.3</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >74.0</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Schwefel’s Problem 1.2 (Unimodal)</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >11.6</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >10.9</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >81.7</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >79.2</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >59.9</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >62.8</td></tr><tr><td align="center" valign="middle" >50</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >55.9</td><td align="center" valign="middle" >63.6</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >64.5</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >75.8</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Rosenbrock (Unimodal)</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >228.4</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >235.8</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >3827.8</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >3307.2</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >3935.8</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >4801.0</td></tr><tr><td align="center" valign="middle" >50</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >3152.2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >3320.5</td></tr><tr><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0.00644</td><td align="center" valign="middle" >2032.0</td><td align="center" valign="middle" >0.00399</td><td align="center" valign="middle" >2125.6</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Schwefel’s problem 2.22 (Unimodal)</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >17.9</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20.8</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >561.4</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >592.4</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >0.627</td><td align="center" valign="middle" >1276.0</td><td align="center" valign="middle" >0.693</td><td align="center" valign="middle" >1102.4</td></tr><tr><td align="center" valign="middle" >50</td><td align="center" valign="middle" >1.228</td><td align="center" valign="middle" >894.6</td><td align="center" valign="middle" >1.216</td><td align="center" valign="middle" >730.0</td></tr><tr><td align="center" valign="middle" >100</td><td align="center" valign="middle" >1.719</td><td align="center" valign="middle" >1028.0</td><td align="center" valign="middle" >1.708</td><td align="center" valign="middle" >679.0</td></tr></tbody></table></table-wrap><p>the optimal solution is very small, and it is very difficult to find the optimal solution of such problems by heuristic approaches.</p><p>As shown in <xref ref-type="table" rid="table5">Table 5</xref>, <xref ref-type="fig" rid="fig4">Figure 4</xref> and <xref ref-type="fig" rid="fig5">Figure 5</xref>, the proposed method has higher performance relative to TCPSO also in almost types of multi-modal functions. However, the function “Generalized penalized 2” with the number of demensions is<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x121.png" xlink:type="simple"/></inline-formula>, the amount of error by the proposed method is larger than of TCPSO. This function is nearly discrete type function as shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>5. From the experimental result, the proposed method is very effective for a lot of types of optimization problems, however, it should be revised to improve the performance also in high-dimensional discrete type functions such as “Generalized penalized 2”.</p><table-wrap id="table5" ><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> Experimental results (multi-modal functions)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" ></th><th align="center" valign="middle"  colspan="2"  >Proposed method</th><th align="center" valign="middle"  colspan="2"  >TCPSO [<xref ref-type="bibr" rid="scirp.73972-ref9">9</xref>]</th></tr></thead><tr><td align="center" valign="middle" >Target function</td><td align="center" valign="middle" >D</td><td align="center" valign="middle" >Error/D</td><td align="center" valign="middle" >Termination term/D</td><td align="center" valign="middle" >Error/D</td><td align="center" valign="middle" >Termination term/D</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Ackley (Multi-modal)</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >21.7</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >20.6</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >149.1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >226.3</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >178.1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >364.6</td></tr><tr><td align="center" valign="middle" >50</td><td align="center" valign="middle" >0.667</td><td align="center" valign="middle" >194.8</td><td align="center" valign="middle" >3.97</td><td align="center" valign="middle" >350.8</td></tr><tr><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >146.5</td><td align="center" valign="middle" >0.710</td><td align="center" valign="middle" >202.3</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Generalized Rastrigin (Multi-modal)</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >13.0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >11.6</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >71.9</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >71.1</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >68.9</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >70.6</td></tr><tr><td align="center" valign="middle" >50</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >97.9</td><td align="center" valign="middle" >0.002</td><td align="center" valign="middle" >107.0</td></tr><tr><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0.058</td><td align="center" valign="middle" >354.6</td><td align="center" valign="middle" >0.516</td><td align="center" valign="middle" >399.6</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Generalized Schewefel's problem 2.26 (Multi-modal)</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >74.4</td><td align="center" valign="middle" >2571.0</td><td align="center" valign="middle" >137.5</td><td align="center" valign="middle" >4042.1</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >1198.2</td><td align="center" valign="middle" >1702.7</td><td align="center" valign="middle" >1448.3</td><td align="center" valign="middle" >1343.3</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >5383.2</td><td align="center" valign="middle" >920.7</td><td align="center" valign="middle" >5607.6</td><td align="center" valign="middle" >506.6</td></tr><tr><td align="center" valign="middle" >50</td><td align="center" valign="middle" >9389.2</td><td align="center" valign="middle" >761.5</td><td align="center" valign="middle" >9772.9</td><td align="center" valign="middle" >355.0</td></tr><tr><td align="center" valign="middle" >100</td><td align="center" valign="middle" >19138.3</td><td align="center" valign="middle" >1245.8</td><td align="center" valign="middle" >21225.8</td><td align="center" valign="middle" >288.4</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Generalized Griewank (Multi-modal)</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >102.1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >112.0</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0.034</td><td align="center" valign="middle" >1271.1</td><td align="center" valign="middle" >0.045</td><td align="center" valign="middle" >1427.5</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >0.0066</td><td align="center" valign="middle" >237.9</td><td align="center" valign="middle" >0.011</td><td align="center" valign="middle" >290.4</td></tr><tr><td align="center" valign="middle" >50</td><td align="center" valign="middle" >0.0034</td><td align="center" valign="middle" >139.6</td><td align="center" valign="middle" >0.0032</td><td align="center" valign="middle" >124.2</td></tr><tr><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0.0019</td><td align="center" valign="middle" >79.6</td><td align="center" valign="middle" >0.00057</td><td align="center" valign="middle" >62.9</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Generalized penalized 1 (Multi-modal)</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >11.0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >10.8</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >132.6</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >141.1</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >213.3</td><td align="center" valign="middle" >808.5</td><td align="center" valign="middle" >408.7</td><td align="center" valign="middle" >671.1</td></tr><tr><td align="center" valign="middle" >50</td><td align="center" valign="middle" >699.4</td><td align="center" valign="middle" >596.8</td><td align="center" valign="middle" >752.7</td><td align="center" valign="middle" >443.1</td></tr><tr><td align="center" valign="middle" >100</td><td align="center" valign="middle" >1578.7</td><td align="center" valign="middle" >291.9</td><td align="center" valign="middle" >1654.2</td><td align="center" valign="middle" >264.0</td></tr><tr><td align="center" valign="middle"  rowspan="5"  >Generalized penalized 2 (Multi-modal)</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >32.1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >14.7</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >80.8</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >83.5</td></tr><tr><td align="center" valign="middle" >30</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >167.1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >153.3</td></tr><tr><td align="center" valign="middle" >50</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >217.9</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >198.9</td></tr><tr><td align="center" valign="middle" >100</td><td align="center" valign="middle" >0.152</td><td align="center" valign="middle" >380.2</td><td align="center" valign="middle" >0.124</td><td align="center" valign="middle" >351.9</td></tr></tbody></table></table-wrap></sec><sec id="s5"><title>5. Conclusions</title><p>This paper proposed a procedure of particle swarm optimization (PSO), which is constructed based on two-swarm cooperative PSO (TCPSO) [<xref ref-type="bibr" rid="scirp.73972-ref9">9</xref>] and includes the procedure of distance-based clustering. The main idea of the proposed method is dividing whole swarms into multiple subgroups by using <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x122.png" xlink:type="simple"/></inline-formula>-means clustering, and the divisions are executed several times with periodical change of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x122.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x123.png" xlink:type="simple"/></inline-formula> during the search process. This mechanism maintains the diversity and centralization of the search, and resolves the optimization problem of several kinds of functions.</p><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Experimental result: error/D (unimodal functions)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x124.png"/></fig><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Experimental result: termination term/D (unimodal functions)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x125.png"/></fig><p>This paper conducts numerical experiments using some benchmark problems of unimodal and multi-modal functions, and the experimental results indicate that the proposed method succeed to discover better solutions of some problems compared to the existing method (TCPSO).</p><fig id="fig4"  position="float"><label><xref ref-type="fig" rid="fig4">Figure 4</xref></label><caption><title> Experimental result: error/D (multi-modal functions)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x126.png"/></fig><fig id="fig5"  position="float"><label><xref ref-type="fig" rid="fig5">Figure 5</xref></label><caption><title> Experimental result: termination term/D (multi-modal functions)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x127.png"/></fig><p>As shown in <xref ref-type="table" rid="table4">Table 4</xref>, <xref ref-type="fig" rid="fig2">Figure 2</xref> and <xref ref-type="fig" rid="fig3">Figure 3</xref>, only in a case of high- dimensional function of Rosenbrock<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x128.png" xlink:type="simple"/></inline-formula>, the proposed method is obviously defeated by TCPSO, we should explain the reason and propose an improvement of the performance, for example, by revising the condition of change of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x128.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/3-9302343x129.png" xlink:type="simple"/></inline-formula> is improved.</p></sec><sec id="s6"><title>Cite this paper</title><p>Hayashida, T., Nishizaki, I., Sekizaki, S. and Koto, S. (2017) Cooperative Particle Swarm Optimization in Distance-Based Clustered Groups. Journal of Software Engineering and Applications, 10, 143-158. https://doi.org/10.4236/jsea.2017.102008</p></sec><sec id="s7"><title>Appendix</title><p>Benchmark problems (unimodal functions)</p><fig id="fig6"  position="float"><label><xref ref-type="fig" rid="fig6">Figure 6</xref></label><caption><title> Sphere function (D = 2)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x131.png"/></fig><fig id="fig7"  position="float"><label><xref ref-type="fig" rid="fig7">Figure 7</xref></label><caption><title> Quandratic function (D = 2)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x132.png"/></fig><fig id="fig8"  position="float"><label><xref ref-type="fig" rid="fig8">Figure 8</xref></label><caption><title> Schwefel’s problem 1.2 function (D = 2)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x133.png"/></fig><fig id="fig9"  position="float"><label><xref ref-type="fig" rid="fig9">Figure 9</xref></label><caption><title> Rosenbrock function (D = 2)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x134.png"/></fig><fig id="fig10"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>0</label><caption><title> Schwefel’s problem 2.22 function (D = 2)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x135.png"/></fig><p>Benchmark problems (multi-modal functions)</p><fig id="fig11"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>1</label><caption><title> Generalized Rastrigin function (D = 2)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x136.png"/></fig><fig id="fig12"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>2</label><caption><title> Generalized Schwefel’s problem 2.26 function (D = 2)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x137.png"/></fig><fig id="fig13"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>3</label><caption><title> Generalized Griewank function (D = 2)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x138.png"/></fig><fig id="fig14"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>4</label><caption><title> Generalized penalized 1 function (D = 2)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x139.png"/></fig><fig id="fig15"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>5</label><caption><title> Generalized penalized 2 function (D = 2)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/3-9302343x140.png"/></fig><disp-formula id="scirp.73972-formula155"><graphic  xlink:href="http://html.scirp.org/file/3-9302343x141.png"  xlink:type="simple"/></disp-formula><p>Submit or recommend next manuscript to SCIRP and we will provide best service for you:</p><p>Accepting pre-submission inquiries through Email, Facebook, LinkedIn, Twitter, etc.</p><p>A wide selection of journals (inclusive of 9 subjects, more than 200 journals)</p><p>Providing 24-hour high-quality service</p><p>User-friendly online submission system</p><p>Fair and swift peer-review system</p><p>Efficient typesetting and proofreading procedure</p><p>Display of the result of downloads and visits, as well as the number of cited articles</p><p>Maximum dissemination of your research work</p><p>Submit your manuscript at: http://papersubmission.scirp.org/</p><p>Or contact jsea@scirp.org</p></sec></body><back><ref-list><title>References</title><ref id="scirp.73972-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Kennedy, J. and Eberhart, R.C. (1995) Particle Swarm Optimization. Proceedings of IEEE International Conference on Neural Networks, Piscataway, 27 November-1 December 1995, 1942-1948. https://doi.org/10.1109/ICNN.1995.488968</mixed-citation></ref><ref id="scirp.73972-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Babazadeha, A., Poorzahedyb, H. and Nikoosokhana, S. (2011) Application of Particle Swarm Optimization to Transportation Network Design Problem. Journal of King Saud University—Special Issue on “Advances in Transportation Science”, 23, 293-300.</mixed-citation></ref><ref id="scirp.73972-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Esmin, A.A.A. and Lambert-Torres, G. (2012) Application of Particle Swarm Optimization to Optimal Power Systems. International Journal of Innovative Computing, 8, 1705-1716.</mixed-citation></ref><ref id="scirp.73972-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Li, W. and Wang, G.-Y. (2010) Application of Improved PSO in Mobile Robotic Path Planning. Proceedings of International Conference on Intelligent Computing and Integrated Systems (ICISS), Guilin, October 2010, 45-48.</mixed-citation></ref><ref id="scirp.73972-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Kennedy, J. and Mendes, R. (2002) Population Structure and Particle Swarm Performance. Proceedings of the IEEE Congress on Evolutionary Computation (CEC 2002), Honolulu, May 2002, 1671-1676.</mixed-citation></ref><ref id="scirp.73972-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Kennedy, J. and Mendes, R. (2006) Neighborhood Topologies in Fully Informed and Best of Neighborhood Particle Swarms. IEEE Transactions on Systems, Man, and Cybernetics, Part C, Applications and Reviews, 36, 515-519.  
https://doi.org/10.1109/TSMCC.2006.875410</mixed-citation></ref><ref id="scirp.73972-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Yang, C.-H., Hsiao, C.-H. and Chuang, L.-Y. (2010) Linearly Decreasing Weight Particle Swarm Optimization with Accelerated Strategy for Data Clustering. IAENG International Journal of Computer Science, 37. (Online Available)</mixed-citation></ref><ref id="scirp.73972-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Niknam, T. and Amiri, B. (2010) An Efficient Hybrid Approach Based on PSO, ACO and  -Means for Cluster Analysis. Applied Soft Computing, 10, 183-187.  
https://doi.org/10.1016/j.asoc.2009.07.001</mixed-citation></ref><ref id="scirp.73972-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Sun, S. and Li, J. (2014) A Two-Swarm Cooperative Particle Swarms Optimizations. Swarm and Evolutionary Computation, 15, 1-18.  
https://doi.org/10.1016/j.swevo.2013.10.003</mixed-citation></ref></ref-list></back></article>