<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0120-6230</journal-id>
<journal-title><![CDATA[Revista Facultad de Ingeniería Universidad de Antioquia]]></journal-title>
<abbrev-journal-title><![CDATA[Rev.fac.ing.univ. Antioquia]]></abbrev-journal-title>
<issn>0120-6230</issn>
<publisher>
<publisher-name><![CDATA[Facultad de Ingeniería, Universidad de Antioquia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0120-62302010000500012</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Algoritmo PSO para identificación de parámetros en un motor DC]]></article-title>
<article-title xml:lang="en"><![CDATA[System identification of a DC motor using PSO algorithm]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Duarte]]></surname>
<given-names><![CDATA[César]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Quiroga]]></surname>
<given-names><![CDATA[Jabid]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Industrial de Santander Escuela de Ingenierías Eléctrica, Electrónica y de Telecomunicaciones ]]></institution>
<addr-line><![CDATA[Bucaramanga ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Industrial de Santander Escuela de Ingeniería Mecánica ]]></institution>
<addr-line><![CDATA[Bucaramanga ]]></addr-line>
<country>Colombia</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>09</month>
<year>2010</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>09</month>
<year>2010</year>
</pub-date>
<numero>55</numero>
<fpage>116</fpage>
<lpage>124</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0120-62302010000500012&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0120-62302010000500012&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0120-62302010000500012&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este artículo se presenta la aplicación del algoritmo Particle Swarm Optimization (PSO) como estrategia de búsqueda para determinar los parámetros de un sistema tipo caja gris. Este proceso de identificación se ilustra utilizando la respuesta a un escalón de un motor DC en lazo abierto. Para agilizar la identificación del sistema a través del uso de PSO, se limita el espacio de búsqueda usando la información que puede extraerse de la respuesta en el dominio del tiempo del sistema a identificar. Los resultados del proceso de identificación de los parámetros del motor se obtienen utilizando la herramienta PSOt disponible para entorno Matlab® desarrollada por Brian Birge.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[In this paper an application of Particle Swarm Optimization (PSO) algorithm is presented as strategy for parameters determination of a grey box system. This system identification process is implemented based on the open loop step response for a DC motor. The vector space is bounded via step time response to speed up the parameter identification. The PSO algorithm is implemented and validated using the PSOt Matlab® toolbox developed by Brian Birge.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Identificación de sistemas]]></kwd>
<kwd lng="en"><![CDATA[particle swarm optimization]]></kwd>
<kwd lng="es"><![CDATA[optimización inteligente]]></kwd>
<kwd lng="en"><![CDATA[System Identification]]></kwd>
<kwd lng="en"><![CDATA[particle swarm optimization]]></kwd>
<kwd lng="en"><![CDATA[intelligent optimization]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><font face="Verdana" size="4"> <b>Algoritmo PSO para identificación de par&aacute;metros en un motor DC</b></font></p>      <p align="center"><font face="Verdana" size="4"> <b>System identification of a DC motor using PSO algorithm</b></font></p>       <p> <font face="Verdana" size="2"> <i>César Duarte<sup>1</sup>, Jabid Quiroga<sup>2*</sup></i></font></p>      <p><font face="Verdana" size="2"><sup>1</sup> Escuela de Ingenierías El&eacute;ctrica, Electr&oacute;nica y de Telecomunicaciones Universidad Industrial de Santander, Cra. 27 Calle 9. Ciudad Universitaria, Bucaramanga, Santander, Colombia.    <br>         <br> <sup>2</sup> Escuela de Ingenier&iacute;a Mec&aacute;nica. Universidad Industrial de Santander, Cra. 27 Calle 9. Ciudad Universitaria, Bucaramanga, Santander, Colombia. </font></p>   <hr noshade size="1">      <p><font face="Verdana" size="3"> <b>Resumen</b></font></p>      <p><font face="Verdana" size="2">En este art&iacute;culo se presenta la  aplicaci&oacute;n del algoritmo Particle Swarm Optimization (PSO) como estrategia de b&uacute;squeda  para determinar los par&aacute;metros de un sistema tipo caja gris. Este proceso de  identificaci&oacute;n se ilustra utilizando la respuesta a un escal&oacute;n de un motor DC  en lazo abierto. Para agilizar la identificaci&oacute;n del sistema a trav&eacute;s del uso  de PSO, se limita el espacio de b&uacute;squeda usando la informaci&oacute;n que puede  extraerse de la respuesta en el dominio del tiempo del sistema a identificar.  Los resultados del proceso de identificaci&oacute;n de los par&aacute;metros del motor se  obtienen utilizando la herramienta PSOt disponible para entorno Matlab&reg;  desarrollada por Brian Birge.</font></p>      <p><font face="Verdana" size="2"><b>Palabras clave: </b>Identificaci&oacute;n de sistemas, particle swarm  optimization, optimizaci&oacute;n inteligente</font></p>  <hr noshade size="1">      <p><font face="Verdana" size="3"> <b>Abstract</b></font></p>      ]]></body>
<body><![CDATA[<p><font face="Verdana" size="2">In this paper an application of Particle Swarm Optimization (PSO) algorithm is presented as strategy for parameters determination of a grey box system. This system identification process is implemented based on the open loop step response for a DC motor. The vector space is bounded via step time response to speed up the parameter identification. The PSO algorithm is implemented and validated using the PSOt Matlab® toolbox developed by Brian Birge.</font></p>      <p><font face="Verdana" size="2"><b>Keywords: </b>System Identification, particle swarm optimization, intelligent optimization</font></p>  <hr noshade size="1">      <p><font face="Verdana" size="3"><b>Introducci&oacute;n</b></font>      <p><font face="Verdana" size="2">Los  modelos matem&aacute;ticos de los sistemas cumplen un rol esencial en aplicaciones  como simulaci&oacute;n, predicci&oacute;n, control y diagn&oacute;stico en campos tan variados como  la ingenier&iacute;a, la econom&iacute;a, la medicina, y la fisiolog&iacute;a, entre otros. Es  te&oacute;ricamente posible obtener modelos matem&aacute;ticos de un sistema usando los  principios de la f&iacute;sica, la qu&iacute;mica, la biolog&iacute;a, etc. Sin embargo, en muchos  sistemas la composici&oacute;n de &eacute;stos ocasiona que la derivaci&oacute;n del modelo sea una  tarea compleja. En estas circunstancias el modelo matem&aacute;tico del sistema puede  ser construido a partir de datos experimentales. El proceso de desarrollo de  modelos a partir de datos experimentales es llamado identificaci&oacute;n de sistemas.  Este proceso consiste en el desarrollo y an&aacute;lisis de m&eacute;todos para obtener  modelos de cajas grises y cajas negras de sistemas.    <br> Actualmente,  muchas investigaciones en al &aacute;rea de identificaci&oacute;n de sistemas se han  orientado hacia el uso de algoritmos de procesamiento paralelo como son los  Algoritmos Gen&eacute;ticos (AG) y  Particle Swarm Optimization  [13]. El uso de estas t&eacute;cnicas se prefiere en procesos de modelamiento complej  os en donde la funci&oacute;n objetivo del proceso de identificaci&oacute;n del sistema puede  quedar atrapada en m&iacute;nimos locales, lo cual dificulta el proceso de  convergencia hacia la soluci&oacute;n &oacute;ptima. Por otro lado, las anteriores t&eacute;cnicas  aseguran convergencia y la obtenci&oacute;n al menos del mejor m&iacute;nimo local [2]. En  este art&iacute;culo se propone el uso de PSO en la identificaci&oacute;n de los par&aacute;metros  de un modelo de caja gris para un motor DC a partir de la respuesta al escal&oacute;n.  Aunque el comportamiento del sistema es de naturaleza lineal, la funci&oacute;n  objetivo que se utiliza en el proceso de b&uacute;squeda de la soluci&oacute;n &oacute;ptima para  determinar los par&aacute;metros es de tipo nolineal y ser&aacute; la funci&oacute;n a optimizar a  trav&eacute;s del algoritmo de PSO.</font></p>       <br>    <p><font face="Verdana" size="3"><b>Marco te&oacute;rico</b></font></p>     <p><font face="Verdana" size="2"><b><i>Particle swarm optimization y algoritmos de optimizaci&oacute;n inteligentes</i></b></font></p>     <p><font face="Verdana" size="2">El algoritmo PSO pertenece a las  t&eacute;cnicas denominadas optimizaci&oacute;n inteligente y se clasifica    <br> como un algoritmo estoc&aacute;stico de  optimizaci&oacute;n basado en poblaci&oacute;n. A esta clasificaci&oacute;n igualmente pertenecen  los Algoritmos Gen&eacute;ticos (AG). Los anteriores algoritmos se consideran  adecuados comparados con los m&eacute;todos cl&aacute;sicos de optimizaci&oacute;n cuando el  problema de optimizaci&oacute;n es complejo, estoc&aacute;stico o no lineal con m&uacute;ltiples  m&iacute;nimos locales.    ]]></body>
<body><![CDATA[<br>    <br> Las ventajas atribuidas a las  t&eacute;cnicas inteligentes de optimizaci&oacute;n son su paralelismo intr&iacute;nseco, su  capacidad para resolver problemas complejos, de gran tama&ntilde;o, y con un m&iacute;nimo  conocimiento del sistema que se est&aacute; identificando. Estas ventajas se discuten  a continuaci&oacute;n [4].    <br>    <br> PSO es intr&iacute;nsicamente paralelo. La mayor&iacute;a de algoritmos cl&aacute;sicos  operan secuencialmente y pueden explorar el espacio de soluci&oacute;n solamente en  una direcci&oacute;n a la vez. Esta diferencia entre algoritmos cl&aacute;sicos y algoritmos  inteligentes se ilustra en la figura 1. En esta figura se puede observar que en  el evento en que la soluci&oacute;n determinada no es la &oacute;ptima, el algoritmo cl&aacute;sico  la desecha e inicia la b&uacute;squeda en otra direcci&oacute;n. Por otra parte, el algoritmo  de optimizaci&oacute;n inteligente puede explorar el espacio de la soluci&oacute;n en  m&uacute;ltiples direcciones simult&aacute;neamente. Si un camino no conduce al &oacute;ptimo, el  algoritmo f&aacute;cilmente elimina tal camino y contin&uacute;a buscando otros mejores.  Esta forma de operaci&oacute;n proporciona una mayor probabilidad de encontrar la soluci&oacute;n  &oacute;ptima. Debido al paralelismo, los algoritmos inteligentes de optimizaci&oacute;n son  adecuados para problemas con gran n&uacute;mero de variables, donde el espacio de la  soluci&oacute;n es de gran tama&ntilde;o para realizar una b&uacute;squeda exhaustiva en un tiempo  razonable.    <br>    <br> Otra fortaleza de los algoritmos de  optimizaci&oacute;n inteligente es su buen desempe&ntilde;o en problemas cuyo espacio de  soluci&oacute;n presenta m&uacute;ltiples m&iacute;nimos locales. Muchos algoritmos cl&aacute;sicos de  b&uacute;squeda como  backpropagation,  usado para entrenar redes neuronales, pueden quedar atrapados en m&iacute;nimos  locales. Los algoritmos de optimizaci&oacute;n inteligente han demostrado ser  efectivos evitando m&iacute;nimos locales e identificando el m&iacute;nimo global en un  espacio de b&uacute;squeda complejo. Debe notarse que en ocasiones, no hay manera de  determinar si una soluci&oacute;n es un m&iacute;nimo global o solamente un muy buen m&iacute;nimo  local. Sin embargo, a&uacute;n cuando el algoritmo de optimizaci&oacute;n inteligente no  puede encontrar el m&iacute;nimo global, usualmente encuentra un buen m&iacute;nimo local.</font></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a12i01.gif"><a name="figura1"></a></p>      <p><font face="Verdana" size="2"><b>Figura 1</b> Algoritmos secuenciales vs. Algoritmos inteligentes</font></p>      <p><font face="Verdana" size="2">Finalmente, los algoritmos de optimizaci&oacute;n inteligentes no requieren de un conocimiento detallado de la estructura y comportamiento del sistema como otros algoritmos de optimización la requieren. En lugar de usar informaci&oacute;n específica del sistema para guiar la b&uacute;squeda, este algoritmo hace cambios aleatorios en las soluciones candidatas y usa una funci&oacute;n de ajuste multivariable para determinar si las soluciones son óptimas o no. Como un nuevo desarrollo de los algoritmos de optimización inteligentes, Particle Swarm Optimization es simple en concepto y altamente eficiente desde el punto computacional.</font></p>      <p><font face="Verdana" size="2"><b><i>Particle swarm optimization</i></b></font></p>     ]]></body>
<body><![CDATA[<p><font face="Verdana" size="2">PSO  es un algoritmo estoc&aacute;stico de b&uacute;squeda basado en poblaci&oacute;n, propuesto por Kennedy y Eberhart en 1995 [5] como un modelo de las  actividades sociales de insectos, p&aacute;jaros y peces. Este algoritmo pretende  representar el proceso natural de comunicaci&oacute;n grupal para compartir  conocimiento individual cuando grupos de animales se desplazan, migran o cazan.  Si un miembro detecta un camino deseable para desplazarse, el resto de la  colonia lo sigue inmediatamente. En PSO, este comportamiento animal es imitado  por part&iacute;culas con ciertas posiciones y velocidades en un espacio de b&uacute;squeda,  donde la poblaci&oacute;n es llamada  swarm, y cada miembro del swarm es llamado part&iacute;cula. La poblaci&oacute;n  inicial se determina aleatoriamente y cada part&iacute;cula se desplaza a trav&eacute;s del  espacio de b&uacute;squeda y recuerda la mejor posici&oacute;n que ha encontrado. Cada  part&iacute;cula comunica las buenas posiciones a las dem&aacute;s y din&aacute;micamente ajustan su  propia posici&oacute;n y su velocidad con base en las buenas posiciones. La velocidad  se ajusta con el comportamiento hist&oacute;rico de las part&iacute;culas. De esta forma, las  part&iacute;culas tienden a dirigirse hacia un mejor espacio de b&uacute;squeda en el proceso  de minimizaci&oacute;n de la funci&oacute;n objetivo [5]. Este procedimiento de b&uacute;squeda se  describe por (1).</font></p>      <p><img src="/img/revistas/rfiua/n55/n55a12e01.gif"><a name="ecuacion1"></a></p>     <p><font face="Verdana" size="2">En  (1) c<sub>1</sub> y c<sub>2</sub> son constantes positivas,  definidas como coeficientes de aceleraci&oacute;n; w es el factor inercial; rand1 y rand2 son dos n&uacute;meros aleatorios (con  distribuci&oacute;n de probabilidad uniforme) en el rango [0,1]; x. representa la i<sup>esima</sup> part&iacute;cula y pbest. la mejor posici&oacute;n previa de x<sub>i</sub>; gbest es la posici&oacute;n de la mejor  part&iacute;cula de toda la poblaci&oacute;n; y v<sub>i</sub> es la raz&oacute;n de cambio de la  posici&oacute;n (velocidad) de la part&iacute;cula x<sub>i</sub>. Los cambios de velocidad en (1) se  componen de tres partes:  momentum, cognitiva  y social. De esta forma se obtiene una  velocidad que tiende a acercar la part&iacute;cula a pbest y gbest.    <br> De  acuerdo con (1), el factor inercial w y los dos coeficientes de  aceleraci&oacute;n  c<sub>1</sub> y c<sub>2</sub> afectan el desempe&ntilde;o del algoritmo  PSO. Desde el planteamiento de este algoritmo en 1995, una gran cantidad de  trabajos se han desarrollado para mejorar la versi&oacute;n original modificando estos  tres factores. La variaci&oacute;n de estos factores puede balancear la b&uacute;squeda  global y local durante el proceso de optimizaci&oacute;n. Las constantes de  aceleraci&oacute;n sirven para dos prop&oacute;sitos en el algoritmo. Primero, ellas  controlan la influencia relativa hacia gbest y pbest. respectivamente. Segundo, los dos  coeficientes de aceleraci&oacute;n cercanos a cero producir&aacute;n una b&uacute;squeda fina en una  regi&oacute;n, mientras coeficientes cercanos a uno permitir&aacute;n a la part&iacute;cula la  posibilidad de sobrepasar al  gbest y al pbest,, resultando en una b&uacute;squeda amplia.  Una discusi&oacute;n detallada acerca de la influencia de estos par&aacute;metros puede  encontrarse en [6].    <br>    <br> El procedimiento de  implementaci&oacute;n del algoritmo de PSO se ilustra en el diagrama de flujo  mostrado en la Figura 2. El proceso de optimizaci&oacute;n puede ser divido en 6  pasos como se describe a continuaci&oacute;n.</font></p>   <ul>       <li><font face="Verdana" size="2">    <p><em>Inicializaci&oacute;n.</em> Durante este paso se determinan  los l&iacute;mites de la posici&oacute;n y velocidad de las part&iacute;culas; la poblaci&oacute;n inicial  (la cual se calcula aleatoriamente) y el valor pbest<sub>i</sub> correspondiente; los par&aacute;metros de  (1) y la condici&oacute;n de parada del algoritmo.</p>   </font></li>       <li><font face="Verdana" size="2">    <p><em>Evaluaci&oacute;n de la poblaci&oacute;n inicial.</em> En este paso, el costo para todas  las part&iacute;culas en la poblaci&oacute;n inicial es evaluado de acuerdo con la funci&oacute;n  objetivo; y se selecciona la mejor part&iacute;cula global, gbest.</p>   </font></li>       ]]></body>
<body><![CDATA[<li><font face="Verdana" size="2">    <p><em>Actualizaci&oacute;n de posici&oacute;n y  velocidad.</em> La posici&oacute;n  y velocidad se actualizan de acuerdo con (1); si la posici&oacute;n y la velocidad de  las part&iacute;culas est&aacute;n por fuera de los correspondientes l&iacute;mites, &eacute;stos se  ajustan a los valores establecidos.</p>   </font></li>       <li><font face="Verdana" size="2">    <p><em>Evaluaci&oacute;n de la poblaci&oacute;n  actualizada.</em> Similar a  (ii), la posici&oacute;n actualizada de las part&iacute;culas es evaluada de acuerdo al valor  de la funci&oacute;n objetivo; las part&iacute;culas gbest y la pbest ser&aacute;n actualizadas si es  necesario.</p>   </font></li>       <li><font face="Verdana" size="2">    <p><em>Verificaci&oacute;n del cumplimiento de la  condici&oacute;n de parada.</em>  Esta condici&oacute;n puede corresponder con el n&uacute;mero de iteraciones o con el m&iacute;nimo  valor de la funci&oacute;n objetivo. Si la condici&oacute;n de parada no ha sido cumplida, el  proceso de actualizaci&oacute;n (iii) ser&aacute; repetido; de lo contrario, el proceso de  optimizaci&oacute;n finaliza.</p>   </font></li>       <li><font face="Verdana" size="2">    <p><em>Resultados de salida.</em> La mejor soluci&oacute;n obtenida durante  el proceso de optimizaci&oacute;n, gbest, es la salida en este paso.</p>   </font></li>     </ul></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a12i02.gif"><a name="figura 2"></a></p>     ]]></body>
<body><![CDATA[<p><font face="Verdana" size="2"><b>Figura 2</b> Diagrama de flujo del algoritmo PSO</font></p>  <font face="Verdana" size="2">    <p>A. Identificaci&oacute;n de par&aacute;metros de  un motor DC usando PSO    <br>    <br>   En identificaci&oacute;n de sistemas un  sistema con una estructura de modelo conocido pero con valores de par&aacute;metros  desconocidos puede tratarse como una caja gris y resolverse como un problema de  optimizaci&oacute;n. La idea b&aacute;sica es comparar la salida del sistema con la salida  del modelo. La discrepancia entre las salidas del sistema y del modelo  corresponde a la funci&oacute;n objetivo a minimizar. Esta funci&oacute;n se define con la  medida de cu&aacute;n bien la salida del modelo se acerca a la medida real de la  salida del sistema.    <br>   Ziegler  y N.B. Nichols [7] reconocieron que la respuesta a la funci&oacute;n escal&oacute;n de un  gran n&uacute;mero de sistemas de control de procesos exhibe una curva peculiar  denominada &quot;process  reaction curve&quot; como  se muestra en la figura 3. Esta curva puede ser generada a partir de datos  experimentales o de la simulaci&oacute;n din&aacute;mica de la planta. La forma en S de la curva es com&uacute;n para muchos  sistemas de orden superior entre ellos el utilizado en este art&iacute;culo. Para  sistemas que presentan este comportamiento la funci&oacute;n de transferencia de la  planta puede aproximarse usando (2).</p></font>      <p><img src="/img/revistas/rfiua/n55/n55a12e02.gif"><a name="ecuacion 2"></a></p>     <p><font face="Verdana" size="2">Donde K es la ganancia en estado  estacionario, t es la constante de tiempo y t<sub>d</sub> es el tiempo de retardo. En (2) K, t y t<sub>d</sub> son n&uacute;meros reales y corresponden  a los tres par&aacute;metros a ser identificados en este modelo. La Ec. (2)  corresponde a un sistema de primer orden m&aacute;s un tiempo de retardo de td segundos. Las par&aacute;metros que  componen la funci&oacute;n de transferencia indicada en la Eq.(2) pueden ser  determinados aproximadamente a partir de la informaci&oacute;n que provee la respuesta  al escal&oacute;n del sistema. La respuesta al escal&oacute;n en dominio tiempo de (2) se  expresa en (3)</font></p>      <p><img src="/img/revistas/rfiua/n55/n55a12e03.gif"><a name="ecuacion 3"></a></p>     <p><font face="Verdana" size="2">En la figura 3 se puede observar la  respuesta al escal&oacute;n de un sistema como el descrito en (2). En esta figura se  nota que la tangente dibujada a partir del punto de inflexi&oacute;n de la curva,  corresponde en magnitud a la relaci&oacute;n K/t, la intersecci&oacute;n de la l&iacute;nea  tangente con el eje de tiempo determina el tiempo de retraso t<sub>d</sub> y t<sub>s</sub> corresponde al tiempo en el cual  la salida comienza a cambiar. N&oacute;tese que t: puede ser cualquier tiempo despu&eacute;s  del cual la salida alcanza el estado estacionario. Estos datos permiten asignar  valores a priori de los par&aacute;metros que se van a identificar. En el caso de la  se&ntilde;al de entrada, figura 4,  u<sub>0</sub> es el  valor antes de que el escal&oacute;n sea generado, mientras u<sub>1</sub> es el valor de entrada despu&eacute;s del  escal&oacute;n, y  t<sub>o</sub> indica el  tiempo cuando la entrada comienza a cambiar.</font></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a12i03.gif"><a name="figura3"></a></p>     ]]></body>
<body><![CDATA[<p><font face="Verdana" size="2"><b>Figura 3</b> Par&aacute;metros de dep&oacute;sito y algunas propiedades de los diferentes recubrimientos monocapa de CrC depositados por EAC</font></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a12i04.gif"><a name="figura4"></a></p>     <p><font face="Verdana" size="2"><b>Figura 4</b> Funci&oacute;n de entrada tipo escal&oacute;n</font></p>     <p><font face="Verdana" size="2">Al igual que otros algoritmos de  optimizaci&oacute;n, PSO no garantiza el &eacute;xito. La probabilidad de &eacute;xito se basa en la  cantidad de part&iacute;culas y el tama&ntilde;o del espacio de b&uacute;squeda. Para un espacio de  b&uacute;squeda grande, debe utilizarse una poblaci&oacute;n elevada para mejorar la tasa de  b&uacute;squeda exitosa. No obstante, esto involucra m&aacute;s c&aacute;lculos, y la velocidad de  b&uacute;squeda puede reducirse significativamente. Por tanto, es necesario introducir  un espacio de b&uacute;squeda razonable y eficiente. La determinaci&oacute;n de las  condiciones iniciales, a partir de las cuales la funci&oacute;n objetivo es optimizada  a trav&eacute;s del uso de PSO, puede realizarse con base en la respuesta al escal&oacute;n  en el dominio del tiempo usando las siguientes relaciones anal&iacute;ticas propuestas  en [3]. El valor de  K puede ser  determinado usando (4)</font></p>      <p><img src="/img/revistas/rfiua/n55/n55a12e04.gif"><a name="ecuacion 4"></a></p>     <p><font face="Verdana" size="2">Para  estimar el valor de t, se determinan primero los tiempos t<sub>4</sub> y t<sub>8</sub> que corresponden respectivamente a  0,4 y 0,8 veces el m&aacute;ximo valor alcanzado por la curva de respuesta del  escal&oacute;n.</font></p>      <p><img src="/img/revistas/rfiua/n55/n55a12e05.gif"><a name="ecuacion 5"></a></p>     <p><font face="Verdana" size="2">Las  ecuaciones (6) pueden emplearse para estimar t:</font></p>      <p><img src="/img/revistas/rfiua/n55/n55a12e06.gif"><a name="ecuacion 6"></a></p>     <p><font face="Verdana" size="2">Donde N es un variable intermedia. El  tiempo de retardo se eval&uacute;a usando la ecuaci&oacute;n (7)</font></p>      ]]></body>
<body><![CDATA[<p><img src="/img/revistas/rfiua/n55/n55a12e07.gif"><a name="ecuacion 7"></a></p>      <p><font face="Verdana" size="2">Los valores obtenidos usando las ecuaciones anteriores constituyen el conocimiento a priori, el cual limitar&aacute; el espacio de b&uacute;squeda. Estos valores permiten establecer los límites de b&uacute;squeda y con ello mejorar sustancialmente la eficiencia en la determinaci&oacute;n de la soluci&oacute;n al problema de identificaci&oacute;n de los par&aacute;metros.</font></p>      <p><font face="Verdana" size="2"><b><i>Funci&oacute;n objetivo</i></b></font></p>     <p><font face="Verdana" size="2">La  funci&oacute;n objetivo es el criterio para evaluar el proceso de estimaci&oacute;n de los  par&aacute;metros. Esta funci&oacute;n representa el grado de cercan&iacute;a entre la salida del  sistema real comparada con la salida del modelo cuyos par&aacute;metros se identifican  usando PSO. En este caso la funci&oacute;n objetivo se evaluar&aacute; individualmente para  la soluci&oacute;n obtenida en cada part&iacute;cula. La funci&oacute;n de ajuste se obtiene usando  (8)</font></p>      <p><img src="/img/revistas/rfiua/n55/n55a12e08.gif"><a name="ecuacion 8"></a></p>     <p><font face="Verdana" size="2">Donde Y<sub>m</sub>(t) es la salida estimada y Y(t) es el vector que contiene los  datos que corresponden a la velocidad del motor DC cuando se somete a una se&ntilde;al  tipo escal&oacute;n unitario.</font></p>      <p><font face="Verdana" size="2"><b><i>Herramienta PSOt para Matlab</i></b></font></p>  <font face="Verdana" size="2">Para la implementaci&oacute;n del algoritmo  se utiliz&oacute; la herramienta PSOt disponible para entorno Matlab desarrollada por  Brian Birge [8]. Esta herramienta se puede descargar de [9]. En este trabajo se  utiliz&oacute; la versi&oacute;n actualizada el 20 de marzo de 2006. Los resultados de la  optimizaci&oacute;n se obtuvieron con la funci&oacute;n pso_ Trelea_vectorized.m de la  toolbox descargada de la Internet. Los par&aacute;metros de entrada de esta funci&oacute;n se  tomaron como los valores por defecto, excepto para los siguientes par&aacute;metros:    <br>     <br> 1. Rango de variables: esta matriz  se organiz&oacute; con los valores l&iacute;mite para las variables K, t<sub>d</sub> y t, respectivamente (ecuaci&oacute;n 3).  Las variables de tiempo se escalaron para utilizar valores en muestras. Estos  l&iacute;mites se seleccionaron alrededor de una soluci&oacute;n inicial determinada de  acuerdo con las ecuaciones propuestas en [3]. El c&oacute;digo para la especificaci&oacute;n  de esta matriz corresponde a: VarRange=[10 100;500 4000;10 500]. Si la soluci&oacute;n  &oacute;ptima incluye uno de los l&iacute;mites establecidos, entonces este l&iacute;mite se debe  aumentar ya que esta soluci&oacute;n podr&iacute;a ser un &oacute;ptimo local.     <p>2. Gradiente de error global m&iacute;nimo (m&iacute;nimum global error grad&iacute;ent): El valor por defecto para este  par&aacute;metro es 10<sup>-25</sup> (1e-25). En este trabajo se tom&oacute; como 10<sup>-3</sup>  (1e-3) para disminuir el tiempo de ejecuci&oacute;n de algoritmo.    ]]></body>
<body><![CDATA[<br>   A  continuaci&oacute;n se encuentra el c&oacute;digo utilizado para definir la funci&oacute;n objetivo  y para establecer los par&aacute;metros de entrada para la funci&oacute;n pso_  Trelea_vectorized.m.    <br>    <br>   function [out]=motorcontinua(in)    <br>   %Los datos reales se encuentran en  el vector yd    <br>   global  yd     <br>   load  datosreales.mat     <br>   t=0:(length(yd)1);     <br>   %Variables de la part&iacute;cula    <br>   K=in(:,1); %Ganancia    <br>   td=in(:,2); %retardo    ]]></body>
<body><![CDATA[<br>   tao=in(:,3); %Constante de tiempo    <br>   P=lengh(K); %cantidad de part&iacute;culas    <br>   %Valor de funci&oacute;n a minimizar en  cada part&iacute;cula para primer orden (N=1)    <br>   out=zeros(P,1);  for p=1:P     <br>   ym=datosmodelo(t,K(p),tao(p),td(p));  out(p,1)=(t(2)t(1))*sum(abs(ymyd))/ (t(length(t))t(1)); end     <br>   clear global yd    <br>   %Funciones utilizadas    <br>   function  ym=datosmodelo(t,K,tao,td)     <br>   ym=K.*(1(exp((ttd)./tao))).*(t&gt;=td);     <br>   end    ]]></body>
<body><![CDATA[<br>   %%%  Fin datos reales end    <br>   El  siguiente c&oacute;digo corresponde a la configuraci&oacute;n de los par&aacute;metros de entrada  para la funci&oacute;n pso_ Trelea_vectorized.m:    <br>   functname='motorcontinua';  D=3;     <br>   mv=4;     <br>   VarRange=[10 100;500 4000;10 500];     <br>   %K,td,tao     <br>   minmax=0;     <br>   PS0params=[100,2000,24,2,2,0.9,0.4,1500,1e  3,150,NaN,0,0];     <br>   plotfcn='goplotpso';     <br> %PSOseedValue;[optOUT,tr,te]=pso_Trelea_vectorized(functname,D,mv,VarRange,minmax,PS  0params,plotfcn,0); </p></font>      ]]></body>
<body><![CDATA[<br>    <p><font face="Verdana" size="2"><b>Fase experimental</b></font></p>     <p><font face="Verdana" size="2">Los  estudios experimentales en identificaci&oacute;n de sistemas requieren modificar y  monitorizar las respuestas de un sistema f&iacute;sico ante una o varias se&ntilde;ales de  entrada. El banco de pruebas utilizado en este trabajo consiste de un motor DC  de 48 V con una potencia nominal de 24 W. El sistema de monitorizaci&oacute;n y  captura de datos es implementado usando Matlab&reg;/Simulink&reg; y como interfaz de  hardware se utiliza el sistema dSpace&reg;. Este sistema es compilado usando la  herramienta  Real Time Workshop  (RTW&reg;) y luego se implementa en tiempo real con la plataforma dSpace&reg;. Aunque  el proceso de identificaci&oacute;n de los par&aacute;metros del motor es offline, el sistema de adquisici&oacute;n de datos  propuesto permite muestrear en tiempo real la se&ntilde;al de velocidad y la se&ntilde;al de  voltaje de entrada al motor DC. Las se&ntilde;ales son capturadas con una frecuencia  de muestreo de 5 KHz. La se&ntilde;al de entrada al motor es proporcionada por un  generador de funciones el cual suministra un tren de pulsos bipolar. La se&ntilde;al  de velocidad del motor, respuesta del sistema, es preprocesada usando un  filtro discreto pasabajas de 6&deg; orden con frecuencia de corte de 3dB igual a  247 Hz. Este filtro se utiliza para eliminar ruido de alta frecuencia  introducido por el enconder empleado para censar la velocidad del motor.</font></p>      <br>     <p><font face="Verdana" size="3"><b>Resultados y discusi&oacute;n</b></font></p>     <p><font face="Verdana" size="2">Para  la identificaci&oacute;n del modelo lineal del motor DC se implement&oacute; una prueba  utilizando como se&ntilde;al de entrada un tren de pulsos rectangulares con frecuencia  de 0,5 Hz, con un ciclo de trabajo del 50% y una amplitud de tensi&oacute;n de &plusmn; 30 V.  A partir de esta prueba se tom&oacute; la respuesta de medio ciclo para obtener el  modelo del motor a partir de la respuesta al escal&oacute;n. En consecuencia se  elimin&oacute; la componente de continua y se normalizaron las se&ntilde;ales para obtener la  se&ntilde;al de entrada como se muestra en la figura 5. Los valores iniciales,  alrededor de los cuales se establecen los rangos de b&uacute;squeda, se determinaron  con las ecuaciones (47) a partir de los datos medidos de la respuesta al  escal&oacute;n (figura 7) y corresponden a los siguientes valores: K=11,7, td=0,64 [s] y t = 0,088 [s]. Las pruebas se efectuaron en  repetidas ocasiones permitiendo que el proceso aleatorio implementado en el  algoritmo de PSO produjera diferentes ubicaciones iniciales para las 24  part&iacute;culas utilizadas. Como se ilustra en la figura 6, independientemente de  las posiciones iniciales de las part&iacute;culas, el algoritmo de b&uacute;squeda present&oacute;  convergencia alrededor de 140 &eacute;pocas. La figura 6 ilustra la evoluci&oacute;n del  mejor valor de la funci&oacute;n objetivo (gbest) para los distintos escenarios  desarrollados a partir de diferentes posiciones iniciales. Los resultados experimentales  de la respuesta en la velocidad del motor, tomando como entrada el escal&oacute;n  unitario, se muestran en la figura 7 junto a los valores obtenidos usando los  par&aacute;metros determinados con el algoritmo de optimizaci&oacute;n PSO. La funci&oacute;n de  transferencia obtenida (con un valor de funci&oacute;n objetivo de 0,4588) se muestra  en (9).</font></p>      <p><img src="/img/revistas/rfiua/n55/n55a12e09.gif"><a name="ecuacion 9"></a></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a12i05.gif"><a name="figura5"></a></p>      <p><font face="Verdana" size="2"><b>Figura 5</b> Funci&oacute;n de entrada al motor DC</font></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a12i06.gif"><a name="figura6"></a></p>      ]]></body>
<body><![CDATA[<p><font face="Verdana" size="2"><b>Figura 6</b> Evoluci&oacute;n del gbest para diferentes posiciones iniciales de part&iacute;culas en funci&oacute;n del n&uacute;mero de &eacute;pocas</font></p>     <p><font face="Verdana" size="2">La figura 7 ilustra c&oacute;mo el modelo  proporciona una respuesta al escal&oacute;n con una m&iacute;nima desviaci&oacute;n con respecto a  la respuesta real del motor. A trav&eacute;s del uso de esta metodolog&iacute;a es posible  implementar un sistema de identificaci&oacute;n de par&aacute;metros a trav&eacute;s de la  definici&oacute;n de la apropiada funci&oacute;n objetivo en combinaci&oacute;n con PSO.</font></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a12i07.gif"><a name="figura7"></a></p>      <p><font face="Verdana" size="2"><b>Figura 7</b> Respuesta al escal&oacute;n unitario del motor y del modelo encontrado utilizando PSO</font></p>     <p><font face="Verdana" size="2">En resumen, se puede establecer que  PSO es un buen candidato para identificaci&oacute;n de sistemas tipo caja gris del tipo  ilustrado en la ecuaci&oacute;n (2). A&uacute;n cuando el modelo del sistema es de m&iacute;nimo  orden (orden 1) la funci&oacute;n objetivo presenta m&iacute;nimos locales. En las figuras 8  y 9 se presentan las curvas de nivel de la funci&oacute;n objetivo, en funci&oacute;n de las  variables td y t, para dos valores de la constante de  proporcionalidad K. Se puede observar que la regi&oacute;n donde se puede encontrar el  valor m&iacute;nimo de la funci&oacute;n objetivo es diferente en cada caso. Asimismo, se  puede notar c&oacute;mo el valor estos dos m&iacute;nimos (aproximadamente 46,65 para K=1,59  y 28,98 para K=31,81) no corresponde al valor m&iacute;nimo obtenido, el cual es de  0,4588 para un valor de K=11,226. De esta manera se puede verificar la  efectividad del algoritmo PSO para evitar los m&iacute;nimos locales.</font></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a12i08.gif"><a name="figura8"></a></p>      <p><font face="Verdana" size="2"><b>Figura 8</b> Curvas de nivel de la funci&oacute;n objetivo para un m&iacute;nimo local con K=1,59</font></p>      <p align="center"><img src="/img/revistas/rfiua/n55/n55a12i09.gif"><a name="figura9"></a></p>      <p><font face="Verdana" size="2"><b>Figura 9</b> Curvas de nivel de la funci&oacute;n objetivo para un m&iacute;nimo local con K=31,81</font></p>      <br>    ]]></body>
<body><![CDATA[<p><font face="Verdana" size="3"><b>Conclusiones</b></font></p>     <p><font face="Verdana" size="2">Es  este art&iacute;culo, se ha propuesto el uso del algoritmo PSO para la identificaci&oacute;n  de par&aacute;metros en la funci&oacute;n de transferencia de un sistema tipo caja gris. El  uso de esta t&eacute;cnica puede simplificar el algoritmo necesario para la  identificaci&oacute;n del sistema. Los resultados experimentales mostraron la eficacia  del sistema propuesto en identificar el sistema consistentemente y en un  intervalo de tiempo corto (aproximadamente 20 s). En el fUturo, este trabajo se  puede extender para procesos de identificaci&oacute;n m&aacute;s complejos y de mayor tama&ntilde;o.</font></p>      <br>    <p><font face="Verdana" size="3"><b>Referencias</b></font></p>     <!-- ref --><p><font face="Verdana" size="2">1. G. Panda, D. Mohanty, B.  Majhi, G. Sahoo. Identification of nonlinear systems using particle swarm  optimization technique. Evolutionary Computation. CEC. IEEE Congress Singapore. Sept.pp.32533257.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000137&pid=S0120-6230201000050001200001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 2. X. Peng, G.K.  Venayagamoorthy, K. A. Corzine. Combined Training of Recurrent Neural Networks with  Particle Swarm Optimization and Backpropagation Algorithms for Impedance  Identification. Swarm Intelligence Symposium. SIS. IEEE. Honolulu 15  April 2007. pp.915.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000139&pid=S0120-6230201000050001200002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 3. Z. Dong, P. Han, D. Wang,  S. Jiao.  Thermal Process System Identification Using Particle Swarm Optimization. IEEE International Symposium  on Industrial Electronics. Montreal. Vol.1. 2006. pp.194198.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000141&pid=S0120-6230201000050001200003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    ]]></body>
<body><![CDATA[<!-- ref --><br> 4. L. Liu. Robust fault  detection and diagnosis for permanent magnet synchronous motors. Ph.D. dissertation. Dept.  Mech. Eng. Florida State University. Tallahassee (FL) 2006. pp. 83105.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000143&pid=S0120-6230201000050001200004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 5. J. Kennedy, R. Eberhart.  &quot;Particle Swarm Optimization,&quot; Proceedings of  IEEE International Conference on Neural Networks. Perth (Australia) Vol. 4.  1995. pp. 19421948.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000145&pid=S0120-6230201000050001200005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 6. Y. Shi. Particle Swarm  Optimization.  Ed. Electronic Data Systems Inc. IEEE Neural Networks Society. Kokomo (USA).  2004. pp. 813.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000147&pid=S0120-6230201000050001200006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 7. J. G. Ziegler, N. B.  Nichols. &quot;Optimum settings for automatic controllers&quot;. Trans. A.S.M.E. Vol. 64. 1942. pp. 759765.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000149&pid=S0120-6230201000050001200007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br> 8. Birge, B., &quot;PSOt  a  particle swarm optimization toolbox for use with Matlab,&quot; Swarm  Intelligence Symposium. 2003. SIS '03. Proceedings of  the 2003 IEEE.  Indianapolis. April 2426. 2003. pp. 182186.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000151&pid=S0120-6230201000050001200008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    ]]></body>
<body><![CDATA[<!-- ref --><br> 9.  http://www.mathworks.com/matlabcentral/ fileexchange/7506. Consultada  el 16 de diciembre de 2008</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000153&pid=S0120-6230201000050001200009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>         <p><font face="Verdana" size="2">(Recibido el 13 de junio de 2009. Aceptado  el 6 de abril de 2010)    <br>    <br> <sup>*</sup>Autor de correspondencia:  telefax 57 + 7 + 634 63 76, correo electr&oacute;nico: <a href="mailto:jabib@uis.edu.co">jabib@uis.edu.co</a> (J.  Quiroga)</font></p>         ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Panda]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Mohanty]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Majhi]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Sahoo]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<source><![CDATA[Identification of nonlinear systems using particle swarm optimization technique: Evolutionary Computation]]></source>
<year></year>
<publisher-name><![CDATA[CEC. IEEE Congress Singapore]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Peng]]></surname>
<given-names><![CDATA[X]]></given-names>
</name>
<name>
<surname><![CDATA[Venayagamoorthy]]></surname>
<given-names><![CDATA[G.K]]></given-names>
</name>
<name>
<surname><![CDATA[Corzine]]></surname>
<given-names><![CDATA[K. A]]></given-names>
</name>
</person-group>
<source><![CDATA[Combined Training of Recurrent Neural Networks with Particle Swarm Optimization and Backpropagation Algorithms for Impedance Identification]]></source>
<year></year>
<page-range>915</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dong]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
<name>
<surname><![CDATA[Han]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Wang]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Jiao]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Thermal Process System Identification Using Particle Swarm Optimization]]></source>
<year>2006</year>
<volume>1</volume>
<page-range>194198</page-range><publisher-loc><![CDATA[Montreal ]]></publisher-loc>
<publisher-name><![CDATA[IEEE International Symposium on Industrial Electronics]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Liu]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<source><![CDATA[Robust fault detection and diagnosis for permanent magnet synchronous motors]]></source>
<year></year>
<page-range>83105</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kennedy]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Eberhart]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[Particle Swarm Optimization]]></source>
<year>1995</year>
<volume>4</volume>
<conf-name><![CDATA[ IEEE International Conference on Neural Networks]]></conf-name>
<conf-loc> </conf-loc>
<page-range>19421948</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Shi]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
</person-group>
<source><![CDATA[Particle Swarm Optimization]]></source>
<year>2004</year>
<page-range>813</page-range><publisher-loc><![CDATA[Kokomo ]]></publisher-loc>
<publisher-name><![CDATA[Ed. Electronic Data Systems Inc. IEEE Neural Networks Society]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ziegler]]></surname>
<given-names><![CDATA[J. G]]></given-names>
</name>
<name>
<surname><![CDATA[Nichols]]></surname>
<given-names><![CDATA[N. B]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Optimum settings for automatic controllers]]></article-title>
<source><![CDATA[Trans. A.S.M.E]]></source>
<year>1942</year>
<volume>64</volume>
<page-range>759765</page-range></nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Birge]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<source><![CDATA[PSOt a particle swarm optimization toolbox for use with Matlab]]></source>
<year></year>
<conf-name><![CDATA[ Swarm Intelligence Symposium]]></conf-name>
<conf-date>2003</conf-date>
<conf-loc> </conf-loc>
<page-range>182186</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="">
<source><![CDATA[]]></source>
<year></year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
