<?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>2227-1899</journal-id>
<journal-title><![CDATA[Revista Cubana de Ciencias Informáticas]]></journal-title>
<abbrev-journal-title><![CDATA[Rev cuba cienc informat]]></abbrev-journal-title>
<issn>2227-1899</issn>
<publisher>
<publisher-name><![CDATA[Editorial Ediciones Futuro]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S2227-18992017000200013</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Enfoque bi-objetivo basado en Aprendizaje Reforzado para Job Shop scheduling]]></article-title>
<article-title xml:lang="en"><![CDATA[Bi-objective approach based in Reinforcement Learning to Job Shop scheduling]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Méndez-Hernández]]></surname>
<given-names><![CDATA[Beatriz M]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Ortega-Sánchez]]></surname>
<given-names><![CDATA[Liliana]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Rodríguez-Bazán]]></surname>
<given-names><![CDATA[Erick D]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Martínez-Jiménez]]></surname>
<given-names><![CDATA[Yailen]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Fonseca-Reyna]]></surname>
<given-names><![CDATA[Yunior C]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Central Marta Abreu de Las Villas  ]]></institution>
<addr-line><![CDATA[ Villa Clara]]></addr-line>
<country>Cuba</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad de Granma  ]]></institution>
<addr-line><![CDATA[ Granma]]></addr-line>
<country>Cuba</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>06</month>
<year>2017</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>06</month>
<year>2017</year>
</pub-date>
<volume>11</volume>
<numero>2</numero>
<fpage>175</fpage>
<lpage>188</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S2227-18992017000200013&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S2227-18992017000200013&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S2227-18992017000200013&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[RESUMEN Los problemas de secuenciación de tareas requieren organizar en el tiempo la ejecución de tareas que comparten un conjunto finito de recursos, y que están sujetas a un conjunto de restricciones impuestas por diversos factores. Este tipo de problemas aparecen con frecuencia en la vida real en numerosos entornos productivos y de servicios. El problema consiste en optimizar uno o varios criterios que se representan mediante funciones objetivo. En este artículo se analizaron los problemas de secuenciación tipo Job Shop con los principales objetivos a optimizar para este tipo de problemas, seguidamente se propuso un algoritmo desde un enfoque bi-objetivo basado en la Frontera de Pareto y utilizando Aprendizaje Reforzado para optimizar dos de los objetivos analizados, el tiempo de terminación de todos los trabajos y la suma del tiempo de finalización de todos los trabajos, y se aplicó a un conjunto de instancias de prueba. Por último, se describen los resultados satisfactorios obtenidos de acuerdo a dos métricas propuestas en la literatura para la evaluación de algoritmos bi-objetivo.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[ABSTRACT Scheduling problems require organizing the execution of tasks which share a finite set of resources, and these tasks are subject to a set of constrains imposed by different factors. This kind of problems frequently appears in many production and service environments. The problem is to optimize one or more criteria represented by objective functions. In this paper, the main objectives to optimize were analyzed for Job Shop scheduling problems. After that, a bi-objective algorithm was proposed based on the Pareto Front and using Reinforcement Learning, which optimizes two objectives: the makespan and the total flow time, and this algorithm was applied to benchmarks. To finish, successful results of the algorithm are described according to two metrics proposed in the literature.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Job Shop]]></kwd>
<kwd lng="es"><![CDATA[multi-objetivo]]></kwd>
<kwd lng="es"><![CDATA[Pareto]]></kwd>
<kwd lng="es"><![CDATA[Aprendizaje Reforzado]]></kwd>
<kwd lng="en"><![CDATA[Job Shop]]></kwd>
<kwd lng="en"><![CDATA[multi-objective]]></kwd>
<kwd lng="en"><![CDATA[Pareto]]></kwd>
<kwd lng="en"><![CDATA[Reinforcement Learning]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>ART&Iacute;CULO  ORIGINAL</B></font></p>     <p>&nbsp;</p>     <p><font size="4"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Enfoque  bi-objetivo basado en Aprendizaje Reforzado para Job Shop scheduling</font></strong></font></p>     <p>&nbsp;</p>     <p><font size="3"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Bi-objective  approach based in Reinforcement Learning to Job Shop scheduling</font></strong></font></p>     <p>&nbsp;</p>     <p>&nbsp;</p>     <P><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Beatriz M. M&eacute;ndez-Hern&aacute;ndez<strong><sup>1*</sup></strong>, <strong>Liliana Ortega-S&aacute;nchez<sup>1</sup></strong></font></strong></font><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">, <strong>Erick D. Rodr&iacute;guez-Baz&aacute;n<sup>1</sup></strong></font></strong></font><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">, <strong>Yailen Mart&iacute;nez-Jim&eacute;nez<sup>1</sup></strong></font></strong></font><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">, <strong>Yunior C Fonseca-Reyna<sup>2</sup></strong></font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><sup>1</sup> Universidad Central Marta Abreu de Las Villas. Carretera a Camajuan&iacute;  km. 5 &frac12; . Santa Clara, Villa Clara, Cuba.     <br> <sup>2</sup></font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Universidad de Granma. Carretera de Manzanillo Km 17&frac12;.  Granma, Cuba.</font></p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <P><font face="Verdana, Arial, Helvetica, sans-serif"><span class="class"><font size="2">*Autor para la correspondencia: </font></span></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <a href="mailto:bmendez@uclv.edu.cu">bmendez@uclv.edu.cu</a><a href="mailto:ycardosog@uci.cu"></a><a href="mailto:lisvandy@ibp.co.cu"></a><a href="mailto:ycoca@uci.cu"></a><a href="mailto:valery@electrica.cujae.edu.cu"></a><a href="mailto:rtrujillo@edistancia.uo.edu.cu"></a><a href="mailto:jova@uci.cu"></a></font><font face="Verdana, Arial, Helvetica, sans-serif"><a href="mailto:losorio@ismm.edu.cu"></a> </font>     <p>&nbsp;</p>     <p>&nbsp;</p> <hr>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>RESUMEN</b> </font>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los problemas de secuenciaci&oacute;n  de tareas requieren organizar en el tiempo la ejecuci&oacute;n de tareas que comparten  un conjunto finito de recursos, y que est&aacute;n sujetas a un conjunto de  restricciones impuestas por diversos factores. Este tipo de problemas aparecen  con frecuencia en la vida real en numerosos entornos productivos y de  servicios. El problema consiste en optimizar uno o varios criterios que se  representan mediante funciones objetivo. En este art&iacute;culo se analizaron los  problemas de secuenciaci&oacute;n tipo Job Shop con los principales objetivos a  optimizar para este tipo de problemas, seguidamente se propuso un algoritmo  desde un enfoque bi-objetivo basado en la Frontera de Pareto y utilizando  Aprendizaje Reforzado para optimizar dos de los objetivos analizados, el tiempo  de terminaci&oacute;n de todos los trabajos y la suma del tiempo de finalizaci&oacute;n de  todos los trabajos, y se aplic&oacute; a un conjunto de instancias de prueba. Por &uacute;ltimo,  se describen los resultados satisfactorios obtenidos de acuerdo a dos m&eacute;tricas  propuestas en la literatura para la evaluaci&oacute;n de algoritmos bi-objetivo. </font>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Palabras clave:</span></b></font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Job Shop, multi-objetivo, Pareto, Aprendizaje Reforzado.</font></p> <hr>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>ABSTRACT</span></b> </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Scheduling problems require organizing the  execution of tasks which share a finite set of resources, and these tasks are  subject to a set of constrains imposed by different factors. This kind of  problems frequently appears in many production and service environments. The  problem is to optimize one or more criteria represented by objective functions.  In this paper, the main objectives to optimize were analyzed for Job Shop  scheduling problems. After that, a bi-objective algorithm was proposed based on  the Pareto Front and using Reinforcement Learning, which optimizes two  objectives: the makespan and the total flow time, and this algorithm was  applied to benchmarks. To finish, successful results of the algorithm are  described according to two metrics proposed in the literature.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Key words: </span></b>Job Shop, multi-objective, Pareto, Reinforcement Learning.</font></p> <hr>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>INTRODUCCI&Oacute;N</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los problemas de secuenciaci&oacute;n de tareas consisten en la programaci&oacute;n  temporal de las operaciones o tareas en las que se descomponen un conjunto de  trabajos teniendo en cuenta que &eacute;stas deben ser ejecutadas en varias m&aacute;quinas y  que cada m&aacute;quina solamente puede ejecutar una tarea simult&aacute;neamente. Se busca  aquella soluci&oacute;n que d&eacute; lugar a un tiempo total de ejecuci&oacute;n (<em>Cmax</em>) m&iacute;nimo, aunque pueden  existir otras funciones objetivo.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El Job Shop Scheduling Problem (JSSP) consta b&aacute;sicamente de un grupo de  trabajos, donde cada uno tiene un conjunto de operaciones a ser procesadas en  un conjunto de recursos limitados, a los que denominaremos m&aacute;quinas. Cada  trabajo tiene un orden en el que se deben ejecutar las operaciones, dichas  operaciones tienen un tiempo de procesamiento en cada una de las m&aacute;quinas y  este no es modificable. Se trata de uno de los problemas de optimizaci&oacute;n  combinatoria m&aacute;s dif&iacute;ciles de resolver. No s&oacute;lo es del tipo NP-Completo, sino  que de entre los que pertenecen a esta tipolog&iacute;a, es de los m&aacute;s dif&iacute;ciles de  resolver.    <br>   Muchos problemas de la vida real, como el JSSP, persiguen varios objetivos  a la vez, por lo que han hecho de la optimizaci&oacute;n multi-objetivo un &aacute;rea  interesante de investigaci&oacute;n. Un enfoque com&uacute;n es combinar los objetivos dentro  de una funci&oacute;n de escalarizaci&oacute;n donde se optimiza la suma de estos usando un  vector de peso. Esta combinaci&oacute;n no siempre muestra un buen desempe&ntilde;o debido a  que se necesitan hacer varias iteraciones para obtener un buen resultado. Un  enfoque multi-objetivo adecuado permitir&iacute;a buscar la Frontera &Oacute;ptima de Pareto.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Uno de los paradigmas m&aacute;s usados ha sido el de los algoritmos evolutivos,  principalmente los algoritmos gen&eacute;ticos, de estos&nbsp; se pueden&nbsp;  citar&nbsp; varios ejemplos que han  mostrado soluciones satisfactorias como son el&nbsp;  Vector&nbsp; Evaluated&nbsp; Genetic&nbsp;  Algorithm&nbsp; (VEGA)&nbsp; (Schaffer, 1985),&nbsp; el Multi-objective&nbsp; Genetic&nbsp;  Algorithm&nbsp; (MOGA)&nbsp; (Fonseca and  Fleming, 1993),&nbsp; el&nbsp;  Niche Pareto Genetic&nbsp;  Algorithm&nbsp; (NPGA) (Zitzler et al., 1999),&nbsp; el&nbsp;  Pareto-Archived Evolutionary&nbsp;  Strategy&nbsp; (PAES)&nbsp; (Knowles and Corne,  2000a),  Pareto converging&nbsp; genetic algorithm  (PCGA) (Kumar and Rockett,  2002) y por  &uacute;ltimo el Modified micro Genetic Algorithm  (MmGA) (Jun Tan et al.,  2015).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tambi&eacute;n&nbsp; se encuentran&nbsp; algunas meta-heur&iacute;sticas enfocadas a  resolver&nbsp; problemas multi-objetivo como  son&nbsp; Multi-objective&nbsp; Tabu&nbsp;  Search&nbsp; (MOTS)&nbsp; (Hansen, 1997),&nbsp; Pareto Simulated Annealing&nbsp; (PSA) (Czy&#380;ak and Jaszkiewicz,  1997),&nbsp; Memetic Pareto Archived&nbsp; Evolutionary Strategy (M-PAES) (Knowles and Corne, 2000b), entre otros (Silva et al., 2004). Tambi&eacute;n la Optimizaci&oacute;n basada en colonia de hormigas (ACO) ha sido  utilizada para la optimizaci&oacute;n multi-objectivo en problemas Job Shop (Rudy, 2014).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recientemente el Aprendizaje Reforzado (RL por sus siglas en ingl&eacute;s) ha  recibido considerable atenci&oacute;n. En (Gabel and  Riedmiller, 2007)&nbsp; y (Gabel, 2009), los autores sugieren y analizan la aplicaci&oacute;n de&nbsp; RL&nbsp;  para resolver problemas de secuenciaci&oacute;n de tipo&nbsp; Job Shop. En estos trabajos se demuestra que  interpretar y resolver este tipo de escenarios a trav&eacute;s de sistemas  multi-agente y RL es beneficioso para obtener soluciones cercanas a las &oacute;ptimas  y puede muy bien competir con enfoques de soluci&oacute;n alternativos.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este art&iacute;culo se presenta un nuevo algoritmo, llamado MOQL, el cual  optimiza el tiempo de terminaci&oacute;n de todos los trabajos y la suma del tiempo de  terminaci&oacute;n de todos los trabajos. Este algoritmo est&aacute; basado en el algoritmo  Q-Learning y en la Frontera de Pareto.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la primera secci&oacute;n de este  art&iacute;culo se describen algunos de los objetivos que se persiguen optimizar en  este tipo de problemas y a continuaci&oacute;n en la pr&oacute;xima secci&oacute;n se introduce un  nuevo enfoque bi-objetivo que optimiza dos de los principales objetivos  descritos anteriormente usando Aprendizaje Reforzado y basado en la Frontera de  Pareto. Por &uacute;ltimo, se muestra a trav&eacute;s de pruebas experimentales, utilizando  dos m&eacute;tricas propuestas en la literatura, como nuestro enfoque es capaz de  competir con un enfoque basado Recocido Simulado propuesto en (Suresh and Mohanasundaram, 2006). </font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Objetivos a optimizar en un JSSP</font></strong> </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los objetivos en problemas de este tipo pueden tomar diversas formas, por  ejemplo, la minimizaci&oacute;n del tiempo de fin de la &uacute;ltima tarea (&eacute;ste es el criterio  de optimizaci&oacute;n m&aacute;s t&iacute;pico y se le conoce con el nombre de makespan), u otra  posible funci&oacute;n objetivo pueden ser el flow time total (que no es m&aacute;s que  minimizar la suma de los tiempos de finalizaci&oacute;n de todos los trabajos).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A continuaci&oacute;n se listan una serie de objetivos que pueden ser optimizados  en problemas de secuenciaci&oacute;n de tareas tipo Job Shop (Rivera and El&eacute;ctrica, 2004) .<a href="/img/revistas/rcci/v11n2/fo0113217.jpg" target="_blank">Ver Lista </a></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El makespan es la funci&oacute;n objetivo por excelencia, y en general es la m&aacute;s  estudiada en la literatura. Se desea obtener una planificaci&oacute;n factible de  forma tal que el tiempo de culminaci&oacute;n de todos los trabajos, es decir, el  makespan, denotado <em>Cmax</em>,  sea m&iacute;nimo. Este problema entonces se denotar&iacute;a por <em>J|Sij|Cmax</em> seg&uacute;n la notaci&oacute;n <img src="/img/revistas/rcci/v11n2/fo0213217.jpg" alt="fo02" width="36" height="21">(Graham et al.,  1979).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Esta minimizaci&oacute;n generalmente garantiza una alta utilizaci&oacute;n de los  recursos de producci&oacute;n, una r&aacute;pida satisfacci&oacute;n de la demanda de los clientes y  la reducci&oacute;n de inventarios en curso.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El flow time total es otra funci&oacute;n objetivo que puede tener mucho inter&eacute;s  en problemas reales, por ejemplo, en aplicaciones en donde sea muy importante  el servicio al cliente. Esta funci&oacute;n no considera las fechas de entrega, sino  que consiste en minimizar la suma del tiempo de finalizaci&oacute;n de todos los  trabajos. Uno de los problemas con encontrados aqu&iacute; es que apenas se pueden  encontrar en la literatura m&eacute;todos espec&iacute;ficos para resolverla.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El flow time total se define como la suma de los tiempos de finalizaci&oacute;n de  todos los trabajos, es decir, se pretende minimizar <em>&sum;Ci</em>. este problema se denota <em>J|Sij|&sum;Ci.</em></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A continuaci&oacute;n, se muestra mediante un ejemplo la diferencia entre el  makespan y el flow time. El problema a resolver cuenta con 4 trabajos y 3  m&aacute;quinas. En la <a href="/img/revistas/rcci/v11n2/f0113217.jpg" target="_blank">figura</a> se muestra los datos de la instancia utilizada adem&aacute;s de  las dos secuenciaciones &oacute;ptimas obtenidas para el makespan (19) y el flow time  (51) respectivamente.&nbsp; </font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Q-Learning</font></strong></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un algoritmo muy conocido  dentro del RL es el Q-Learning (QL) (Watkins, 1989), el cual se basa en aprender  una funci&oacute;n &ldquo;acci&oacute;n-valor&rdquo; que brinda la utilidad esperada de tomar una acci&oacute;n  determinada en un estado espec&iacute;fico. El centro del algoritmo es una simple  actualizaci&oacute;n de valores, cada par (s;a) tiene un Q-valor asociado, cuando la  acci&oacute;n a es seleccionada mientras el agente est&aacute; en el estado s, el Q-valor  para ese par estado-acci&oacute;n se actualiza basado en la recompensa recibida por el  agente al tomar la acci&oacute;n. Tambi&eacute;n se tiene en cuenta el mejor Q-valor para el  pr&oacute;ximo estado <em>s&rsquo;</em>, la regla de  actualizaci&oacute;n completa es la siguiente: </font></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/fo0313217.jpg" alt="fo03" width="363" height="28"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En esta expresi&oacute;n, &alpha; representa la velocidad del aprendizaje y &ldquo;r&rdquo; la  recompensa o penalizaci&oacute;n resultante de ejecutar la acci&oacute;n &ldquo;a&rdquo; en el estado  &ldquo;s&rdquo;. La velocidad de aprendizaje &ldquo;a&rdquo; determina el &lsquo;grado&rsquo; por el cual el valor  anterior es actualizado. Por ejemplo, si &alpha;=0, entonces no existe actualizaci&oacute;n, y si &alpha;=1, entonces el valor anterior es  reemplazado por el nuevo estimado. Normalmente se utiliza un valor peque&ntilde;o para  la velocidad de aprendizaje, por ejemplo &alpha;=0,1. El factor de descuento (&gamma;) toma un valor entre 0 y 1 (0&le;&gamma;&le;1), si est&aacute; cercano a 0 entonces el agente  tiende a considerar solo la recompensa inmediata, si est&aacute; cercano a 1 el agente  considerar&aacute; la recompensa futura como m&aacute;s importante.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Q-L tiene la ventaja de que se ha demostrado que converge a la pol&iacute;tica  &oacute;ptima. Sin embargo, esto s&oacute;lo es cierto para los Markov Decision Process  (MDPs). El pseudoc&oacute;digo de este algoritmo se muestra en la<a href="/img/revistas/rcci/v11n2/f0213217.jpg" target="_blank"> figura 2</a>.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El algoritmo Q-L es usado por  los agentes para aprender de la experiencia o el entrenamiento, donde cada  episodio es equivalente a una sesi&oacute;n de entrenamiento. En cada iteraci&oacute;n el  agente explora el ambiente y obtiene se&ntilde;ales num&eacute;ricas hasta que alcanza el  estado objetivo. El prop&oacute;sito del entrenamiento es incrementar el conocimiento  del agente, representado en este caso a trav&eacute;s de los Q-valores. A mayor  entrenamiento mejores ser&aacute;n los valores que el agente puede utilizar para  comportarse de una forma m&aacute;s &oacute;ptima. </font></p>     <p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="2">Q-Learning  aplicado a JSSP</font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En (Jim&eacute;nez, 2012) se propone un enfoque basado en el algoritmo Q-Learning para JSSP pero  desde un punto de vista mono-objetivo. Para introducir el Q-Learning al  problema de secuenciaci&oacute;n JSSP desde un enfoque multi-objetivo, existen  elementos importantes que deben ser definidos y que pueden ser descritos como  se muestra a continuaci&oacute;n:</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Estrategia de selecci&oacute;n de la acci&oacute;n:</strong> Para seleccionar las acciones  la estrategia que se usa es &epsilon;-Greedy, pues el uso de la misma evita caer en  &oacute;ptimos locales proporcionando mayor exploraci&oacute;n del espacio de soluciones. </font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Q-Valores:</font></strong><font face="Verdana, Arial, Helvetica, sans-serif"> De acuerdo a (Gabel, 2009) el conjunto de estados para  el agente &ldquo;<em>i</em>&rdquo; se denota como <img src="/img/revistas/rcci/v11n2/fo0413217.jpg" alt="fo04" width="65" height="18"> , esto dar&aacute; un total de |<em>Si</em>|  = 2<sup>n</sup> estados locales para cada agente &ldquo;<em>i</em>&rdquo;, donde <em>n </em>es la  cantidad de trabajos del problema a resolver. Debido a las restricciones de orden  del problema, muchos de estos estados puede que nunca sean alcanzados. Por ello  el MOQL solo almacena los estados que pueden ser alcanzados, es decir, la  combinaci&oacute;n de operaciones que pueden estar a la misma vez en las colas del  sistema. Estas combinaciones se van almacenando a medida que aparecen. Por  ejemplo, si el algoritmo es ejecutado por solo una iteraci&oacute;n, entonces solo se  guardar&aacute;n <em>n</em> estados, que son los  estados en los que el agente se encontraba cuando fueron seleccionadas las  acciones. Otras ejecuciones pueden conllevar a la creaci&oacute;n de otros estados.</font></font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Recompensa:</font></strong><font face="Verdana, Arial, Helvetica, sans-serif"> El objetivo de este trabajo es lograr optimizar los dos objetivos a la  vez, el makespan (Cmax) que es la longitud de la planificaci&oacute;n y el flow  time que es la suma de los tiempos que demoraron en procesarse todos y cada uno  de los trabajos. La principal diferencia que se tuvo en cuenta entre estos  objetivos a la hora de implementar el algoritmo Q-L es espec&iacute;ficamente las  funciones de recompensa.</font></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>En el caso del makespan:</strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para lograr alcanzar el &oacute;ptimo  se deben tener tan pocos recursos inactivos como sea posible, esto har&aacute; que las  operaciones en cola en las m&aacute;quinas disminuyan y por tanto el tiempo de  finalizaci&oacute;n del sistema disminuir&aacute;. Para lograr esto el MOQL utiliza dos  actualizaciones locales y una global. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las actualizaciones locales se basan en los tiempos de procesamientos de  las operaciones y dan un estimado del beneficio de seleccionar una acci&oacute;n  espec&iacute;fica. En el primer caso la recompensa es <em>1/tiempo de procesamiento</em> de la operaci&oacute;n (n&oacute;tese que a mayor  tiempo de procesamiento menor recompensa se le dar&aacute; a esa acci&oacute;n), lo que dar&aacute;  mayor prioridad en el sistema a las operaciones que m&aacute;s r&aacute;pido se procesan.  Cada vez que una operaci&oacute;n es seleccionada se actualiza el estado local de la  m&aacute;quina en que se ejecut&oacute; dando <em>1/tiempo  de procesamiento</em> de la operaci&oacute;n como recompensa. En el segundo caso se  utiliza como recompensa la suma total de los tiempos de ejecuci&oacute;n de las  operaciones en cola de la m&aacute;quina menos el tiempo de procesamiento de la  operaci&oacute;n seleccionada y en este caso tambi&eacute;n a mayor tiempo de procesamiento  menor recompensa se le dar&aacute; a esa acci&oacute;n.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por otra parte, la actualizaci&oacute;n global se basa en dar una recompensa a  partir del resultado final de un episodio, por lo que se modificar&aacute; el Q-valor  (calculado a partir de las actualizaciones locales explicadas anteriormente) de  las acciones tomadas en este, teniendo en cuenta el beneficio real al que ellas  conllevaron. N&oacute;tese que el hecho de que una acci&oacute;n en particular obtenga una buena  se&ntilde;al de recompensa no es definitivo, ya que al finalizar el episodio el  conjunto de acciones tomadas por los agentes puede haber resultado en una buena  o mala secuencia, por tanto, se van a estimular o penalizar respectivamente las  acciones involucradas. La forma de dar esta recompensa se defini&oacute; como  recompensa <em>1/makespan</em>, n&oacute;tese que a  medida que el makespan de la secuencia sea mayor, menor ser&aacute; la recompensa para  la acci&oacute;n seleccionada. Cabe se&ntilde;alar entonces que el mayor Q-valor determina la  mejor acci&oacute;n en un estado cualquiera.</font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">En el caso del flow time:</font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  actualizaci&oacute;n local en este caso se basa al igual que en el makespan en los  tiempos de procesamientos de las operaciones y dan un estimado del beneficio de  seleccionar una acci&oacute;n espec&iacute;fica. La recompensa ser&aacute; 1/tiempo de procesamiento  de la operaci&oacute;n (n&oacute;tese que a mayor tiempo de procesamiento menor recompensa se  le dar&aacute; a esa acci&oacute;n), lo que dar&aacute; mayor prioridad en el sistema a las  operaciones que m&aacute;s r&aacute;pido se procesan. Cada vez que una operaci&oacute;n es  seleccionada se actualiza el estado local de la m&aacute;quina en que se ejecut&oacute; dando  1/tiempo de procesamiento de la operaci&oacute;n como recompensa. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Despu&eacute;s de obtenido el flow  time de un episodio dado se hace una actualizaci&oacute;n a todos los estados por los  que el sistema pas&oacute; durante este proceso, estos estados son almacenados en una  lista y la recompensa dada a cada uno de ellos ser&aacute; <em>1/flow time</em> la cual da una buena medida y mejora las soluciones  obtenidas ya que es proporcional a la calidad de la soluci&oacute;n encontrada. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A continuaci&oacute;n, se muestra en la <a href="/img/revistas/rcci/v11n2/f0313217.jpg" target="_blank">figura 3</a> el pseudoc&oacute;digo del algoritmo  propuesto.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A continuaci&oacute;n,  se muestra un diagrama para una mejor ilustraci&oacute;n del funcionamiento del  algoritmo donde <em>i</em> es la iteraci&oacute;n  actual, <em>niters</em> y <em>mmaq</em> son el n&uacute;mero de iteraciones y el n&uacute;mero de m&aacute;quinas  respectivamente.<a href="/img/revistas/rcci/v11n2/f0413217.jpg" target="_blank"> Ver figura 4</a></font> </p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">RESULTADOS EXPERIMENTALES </font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El algoritmo fue implementado en el lenguaje java JDK 1.7, como entorno de  desarrollo (IDE) se utiliz&oacute; NetBeans 7.4 y los experimentos fueron ejecutados  en un procesador Intel Pentium IV a 3.40 GHz, con 3 GB de RAM. En el  funcionamiento del algoritmo Q-L intervienen par&aacute;metros que pueden tomar  diferentes valores: </font></p> <ul>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&alpha; es la proporci&oacute;n de  aprendizaje, es un valor entre cero y uno y determina el grado en que se va a  actualizar el q-valor si &alpha;=0, no habr&aacute; actualizaci&oacute;n; si &alpha;=1 el valor antiguo  es remplazado por el nuevo estimado. Usualmente es utilizado un valor peque&ntilde;o para  la proporci&oacute;n de aprendizaje, por ejemplo, &alpha;=0.1. </font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&gamma; es el factor de  descuento que tiene el rango de valores desde 0 hasta 1. Si &gamma; es cercano a cero  el agente tiende a considerar solamente la recompensa inmediata. Si &gamma; es  cercano a uno, el agente considerar&aacute; la recompensa futura en mayor medida. Se  reporta &gamma;=0.8 como un valor frecuentemente utilizado en el algoritmo. </font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&epsilon; es un umbral que  permite el balance entre la explotaci&oacute;n y la exploraci&oacute;n. Todas las acciones a  realizar tienen asociadas una probabilidad generada aleatoriamente, si esta  probabilidad est&aacute; por debajo de &epsilon; se selecciona una acci&oacute;n aleatoria, de lo  contrario se selecciona una acci&oacute;n de acuerdo con la pol&iacute;tica del agente. El  valor 0.2 es usualmente utilizado para este par&aacute;metro en la literatura.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El n&uacute;mero de ciclos es el  par&aacute;metro de parada del algoritmo.</font></p>   </li>     ]]></body>
<body><![CDATA[</ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El algoritmo fue aplicado instancias de diferentes tama&ntilde;os de la  biblioteca OR-Library disponible en Internet. Las instancias utilizadas cuentan  con diferentes configuraciones. La instancia ft06 tiene 6 m&aacute;quinas y 6  trabajos, las instancias la01-la05 tienen 5 m&aacute;quinas y 10 trabajos, las &uacute;ltimas  5 instancias (la06-la10) tienen 10 trabajos y 10 m&aacute;quinas. A estas instancias  se le hall&oacute; el Frente de Pareto y se compararon los resultados obtenidos de  acuerdo a dos m&eacute;tricas propuestas en la literatura (Grosan et al., 2003, Knowles and Corne, 2002) con un algoritmo basado en la t&eacute;cnica de Recocido Simulado llamado <em>Pareto archived simulated annealing for Job Shop  scheduling with multiple objectives</em> (PASA) propuesto en (Suresh and Mohanasundaram, 2006). Este genera una soluci&oacute;n inicial aleatoria, luego usa un nuevo  mecanismo de perturbaci&oacute;n llamado <em>Segment-Random  Insertion</em> (SRI) para generar un conjunto de soluciones ubicadas en la  vecindad de la soluci&oacute;n actual. Se agruparon las instancias de acuerdo al  n&uacute;mero de trabajos y de m&aacute;quinas.</font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Por  ciento de incremento medio relativo (MRPI)</font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Esta m&eacute;trica mide la efectividad del frente de Pareto  encontrado considerando las soluciones extremas (mejor <em>makespan</em> y mejor <em>flow time</em> encontrado) como referencia. Para calcular esta m&eacute;trica se obtiene el error  medio relativo como la diferencia entre lo alcanzado por nuestro algoritmo y la  mejor cota superior reportada en la literatura, esta diferencia se divide entre  la cota y el resultado se multiplica por 100.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la tabla siguiente se muestra los resultados obtenidos al evaluar  esta m&eacute;trica a los resultados obtenidos por los dos algoritmos analizados. <a href="#t01">Tabla 1</a> y <a href="#t02">Tabla 2</a> </font></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/t0113217.jpg" alt="t01" width="497" height="128"><a name="t01"></a></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/t0213217.jpg" alt="t02" width="473" height="91"><a name="t02"></a></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Al aplicar la prueba de Wilcoxon a estos resultados se  obtuvo una significaci&oacute;n en el caso del <em>makespan</em> de 0.180 y en el caso de <em>flow time</em> de  0.285, no siendo significativas ninguna de ellas, por lo que el comportamiento  de los dos algoritmos de acuerdo a esta m&eacute;trica es similar (ver Tabla 2).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Net front contribution  ratio (NFCR)</strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Suponga que se quieren evaluar dos algoritmos A1 y A2, se tiene un  frente a resultante del algoritmo A1 y un frente b obtenido mediante el  algoritmo A2. Se forma entonces un frente c que est&aacute; compuesto por la  combinaci&oacute;n de las soluciones de los frentes a y b que no se dominan entre  ellas. Por tanto, se tienen n1 y n2 que son la cantidad de soluciones no  dominadas del frente a y del frente b respectivamente que pasaron a formar  parte del frente c. El NFCR de cada algoritmo se calcula mediante las  siguientes f&oacute;rmulas: </font></p>     ]]></body>
<body><![CDATA[<p align="center"><font size="2"><em><font face="Verdana, Arial, Helvetica, sans-serif">NFRCA1=n1/n</font></em><font face="Verdana, Arial, Helvetica, sans-serif">    <br>       <em>NFRCA2=n2/n,</em></font><em></em></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">donde n es la cantidad de soluciones no dominadas que  forman el frente c. En la <a href="/img/revistas/rcci/v11n2/t0313217.jpg" target="_blank">tabla 3</a> se muestran los NFCR de los dos algoritmos  para las instancias analizadas.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Al aplicar la prueba de Wilcoxon a estos resultados se  obtuvo una significaci&oacute;n de 0.905, lo cual implica que no existen diferencias  significativas entre estos dos algoritmos de acuerdo a esta m&eacute;trica tampoco.</font> <a href="#t04"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tabla 4 </font></a></p>     <p align="center"><img src="/img/revistas/rcci/v11n2/t0413217.jpg" alt="t04" width="518" height="83"><a name="t04"></a></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>CONCLUSIONES</B></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Se implement&oacute; un algoritmo bi-objetivo para la  optimizaci&oacute;n del <em>makespan</em> y el <em>flow time</em> en problemas de secuenciaci&oacute;n  de tareas usando Aprendizaje Reforzado y con soluciones basadas en la Frontera  de Pareto probando de esta forma que el Aprendizaje Reforzado es una buena  elecci&oacute;n para resolver tambi&eacute;n problemas multi-objetivo. Este enfoque no  necesita una configuraci&oacute;n inicial compleja como los algoritmos gen&eacute;ticos, pero  sin embargo en las pruebas experimentales que se realizaron se demostr&oacute; que  nuestro enfoque brinda resultados tan buenos como uno de los mejores algoritmos  multi-objetivo reportado en la literatura.</font></p>     <p>&nbsp;</p>     <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>REFERENCIAS    BIBLIOGR&Aacute;FICAS</B></font>     ]]></body>
<body><![CDATA[<!-- ref --><p> <font size="2"><a><font face="Verdana, Arial, Helvetica, sans-serif">CZY&#379;AK, P. &amp; JASZKIEWICZ, A. 1997. Pareto simulated annealing. <em>Multiple Criteria Decision Making.</em> Springer.    </font></a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>FONSECA, C. M. &amp; FLEMING, P. J. Multiobjective genetic  algorithms.&nbsp; Genetic Algorithms for  Control Systems Engineering, IEE Colloquium on, 1993. IET, 6/1-6/5.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>GABEL, T. 2009. Multi-agent reinforcement learning approaches for  distributed job-shop scheduling problems.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>GABEL, T. &amp; RIEDMILLER, M. M.: Adaptive Reactive Job-Shop  Scheduling with Learning Agents.&nbsp;  International Journal of Information Technology and Intelligent  Computing, 2007. Citeseer.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>GRAHAM, R. L., LAWLER, E. L., LENSTRA, J. K. &amp; KAN, A. 1979.  Optimization and approximation in deterministic sequencing and scheduling: a  survey. <em>Annals of discrete Mathematics,</em> 5<strong>,</strong> 287-326.    </a> </font></p>     ]]></body>
<body><![CDATA[<!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>GROSAN, C., OLTEAN, M. &amp; DUMITRESCU, D. Performance metrics for  multiobjective optimization evolutionary algorithms.&nbsp; Proceedings of Conference on Applied and  Industrial Mathematics (CAIM), Oradea, 2003.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>HANSEN, M. P. Tabu search for multiobjective optimization: MOTS.&nbsp; Proceedings of the 13th International  Conference on Multiple Criteria Decision Making, 1997. Citeseer, 574-586.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>JIM&Eacute;NEZ, Y. M. 2012. <em>A Generic  Multi-Agent Reinforcement Learning Approach for Scheduling Problems.</em> Ph.D.,  VUB.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>JUN TAN, C., HANOUN, S. &amp; PENG LIM, C. A multi-objective  evolutionary algorithm-based decision support system: A case study on job-shop  scheduling in manufacturing.&nbsp; Systems  Conference (SysCon), 2015 9th Annual IEEE International, 2015. IEEE, 170-174.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>KNOWLES, J. &amp; CORNE, D. On metrics for comparing nondominated  sets.&nbsp; Evolutionary Computation, 2002.  CEC'02. Proceedings of the 2002 Congress on, 2002. IEEE, 711-716.    </a> </font></p>     ]]></body>
<body><![CDATA[<!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>KNOWLES, J. D. &amp; CORNE, D. W. 2000a. Approximating the nondominated  front using the Pareto archived evolution strategy. <em>Evolutionary computation,</em> 8<strong>,</strong> 149-172.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>KNOWLES, J. D. &amp; CORNE, D. W. M-PAES: A memetic algorithm for  multiobjective optimization.&nbsp;  Evolutionary Computation, 2000. Proceedings of the 2000 Congress on,  2000b. IEEE, 325-332.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>KUMAR, R. &amp; ROCKETT, P. 2002. Improved sampling of the Pareto-front  in multiobjective genetic optimizations by steady-state evolution: a Pareto  converging genetic algorithm. <em>Evolutionary  computation,</em> 10<strong>,</strong> 283-314.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>RIVERA, D. C. &amp; EL&Eacute;CTRICA, I. 2004. Un Sistema Inmune Artificial  para resolver el problema del Job Shop Scheduling. <em>Centro de investigaci&oacute;n y estudios avanzados del instituto polit&eacute;cnico  nacional. Departamento de ingenier&iacute;a el&eacute;ctrica secci&oacute;n de computaci&oacute;n</em>.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>RUDY, J. 2014. Solving multi-objective job shop problem using  nature-based algorithms: new Pareto approximation features. <em>An International Journal of Optimization and  Control: Theories &amp; Applications (IJOCTA),</em> 5<strong>,</strong> 1-11.    </a> </font></p>     ]]></body>
<body><![CDATA[<!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>SCHAFFER, J. D. Multiple objective optimization with vector evaluated  genetic algorithms.&nbsp; Proceedings of the  1st international Conference on Genetic Algorithms, 1985. L. Erlbaum Associates  Inc., 93-100.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>SILVA, J. D. L., BURKE, E. K. &amp; PETROVIC, S. 2004. An introduction  to multiobjective metaheuristics for scheduling and timetabling. <em>Metaheuristics for multiobjective optimisation.</em> Springer.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>SURESH, R. &amp; MOHANASUNDARAM, K. 2006. Pareto archived simulated  annealing for job shop scheduling with multiple objectives. <em>The International Journal of Advanced  Manufacturing Technology,</em> 29<strong>,</strong> 184-196.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>WATKINS, C. J. C. H. 1989. <em>:earning  from Delayed Rewards.</em> Ph.D., Cambridge.    </a> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a>ZITZLER, E., DEB, K. &amp; THIELE, L. Comparison of multiobjective  evolutionary algorithms on test functions of different difficulty.&nbsp; Proceedings of the 1999 Genetic and  Evolutionary Computation Conference. Workshop Program, 1999. Orlando, Florida,  121-122.    </a></font><font size="2"></font></p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p name="_ENREF_1">&nbsp;</p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recibido: 09/09/2016    <br> Aceptado: 25/04/2017</font></p>      ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CZY&#379;AK]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[JASZKIEWICZ]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Pareto simulated annealing]]></source>
<year>1997</year>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[FONSECA]]></surname>
<given-names><![CDATA[C. M]]></given-names>
</name>
<name>
<surname><![CDATA[FLEMING]]></surname>
<given-names><![CDATA[P. J]]></given-names>
</name>
</person-group>
<source><![CDATA[Multiobjective genetic algorithms.]]></source>
<year>1993</year>
<publisher-name><![CDATA[IEE Colloquium]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GABEL]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<source><![CDATA[Multi-agent reinforcement learning approaches for distributed job-shop scheduling problems.]]></source>
<year>2009</year>
</nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GABEL]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[RIEDMILLER]]></surname>
<given-names><![CDATA[M. M]]></given-names>
</name>
</person-group>
<source><![CDATA[Adaptive Reactive Job-Shop Scheduling with Learning Agents.]]></source>
<year>2007</year>
<publisher-name><![CDATA[International Journal of Information Technology and Intelligent Computing]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GRAHAM]]></surname>
<given-names><![CDATA[R. L]]></given-names>
</name>
<name>
<surname><![CDATA[LAWLER]]></surname>
<given-names><![CDATA[E. L]]></given-names>
</name>
<name>
<surname><![CDATA[LENSTRA]]></surname>
<given-names><![CDATA[J. K]]></given-names>
</name>
<name>
<surname><![CDATA[KAN]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Optimization and approximation in deterministic sequencing and scheduling: a survey]]></source>
<year>1979</year>
<volume>5</volume>
<page-range>287-326</page-range></nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GROSAN]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[OLTEAN]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[DUMITRESCU]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[Performance metrics for multiobjective optimization evolutionary algorithms]]></source>
<year>2003</year>
<publisher-name><![CDATA[Conference on Applied and Industrial Mathematics (CAIM),]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[HANSEN]]></surname>
<given-names><![CDATA[M. P]]></given-names>
</name>
</person-group>
<source><![CDATA[Tabu search for multiobjective optimization: MOTS]]></source>
<year>1997</year>
<page-range>574-586</page-range><publisher-name><![CDATA[Citeseer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[JIMÉNEZ]]></surname>
<given-names><![CDATA[Y. M]]></given-names>
</name>
</person-group>
<source><![CDATA[A Generic Multi-Agent Reinforcement Learning Approach for Scheduling Problems.]]></source>
<year>2012</year>
</nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[JUN TAN]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[HANOUN]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[PENG LIM]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<source><![CDATA[A multi-objective evolutionary algorithm-based decision support system: A case study on job-shop scheduling in manufacturing]]></source>
<year>2015</year>
<page-range>170-174</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[KNOWLES]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[CORNE]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[On metrics for comparing nondominated sets.]]></source>
<year>2002</year>
<page-range>711-716</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[KNOWLES]]></surname>
<given-names><![CDATA[J. D]]></given-names>
</name>
<name>
<surname><![CDATA[CORNE]]></surname>
<given-names><![CDATA[D. W]]></given-names>
</name>
</person-group>
<source><![CDATA[Approximating the nondominated front using the Pareto archived evolution strategy]]></source>
<year>2000</year>
<month>a</month>
<volume>8</volume>
<page-range>149-172.</page-range></nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[KNOWLES]]></surname>
<given-names><![CDATA[J. D]]></given-names>
</name>
<name>
<surname><![CDATA[CORNE]]></surname>
<given-names><![CDATA[D. W]]></given-names>
</name>
</person-group>
<source><![CDATA[M-PAES: A memetic algorithm for multiobjective optimization]]></source>
<year>2000</year>
<page-range>325-332</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[KUMAR]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[ROCKETT]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<source><![CDATA[Improved sampling of the Pareto-front in multiobjective genetic optimizations by steady-state evolution: a Pareto converging genetic algorithm.]]></source>
<year>2002</year>
<volume>10</volume>
<page-range>283-314</page-range></nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[RIVERA]]></surname>
<given-names><![CDATA[D. C]]></given-names>
</name>
<name>
<surname><![CDATA[ELÉCTRICA]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
</person-group>
<source><![CDATA[Un Sistema Inmune Artificial para resolver el problema del Job Shop Scheduling]]></source>
<year>2004</year>
<publisher-name><![CDATA[Centro de investigación y estudios avanzados del instituto politécnico nacional. Departamento de ingeniería eléctrica sección de computación]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[RUDY]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Solving multi-objective job shop problem using nature-based algorithms: new Pareto approximation features.]]></source>
<year>2014</year>
<volume>5</volume>
<page-range>1-11</page-range><publisher-name><![CDATA[International Journal of Optimization and Control: Theories & Applications (IJOCTA]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SCHAFFER]]></surname>
<given-names><![CDATA[J. D]]></given-names>
</name>
</person-group>
<source><![CDATA[Multiple objective optimization with vector evaluated genetic algorithms]]></source>
<year>1985</year>
<page-range>93-100</page-range><publisher-name><![CDATA[L. Erlbaum Associates Inc]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B17">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SILVA]]></surname>
<given-names><![CDATA[J. D. L]]></given-names>
</name>
<name>
<surname><![CDATA[BURKE]]></surname>
<given-names><![CDATA[E. K]]></given-names>
</name>
<name>
<surname><![CDATA[PETROVIC]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[An introduction to multiobjective metaheuristics for scheduling and timetabling. Metaheuristics for multiobjective optimisation.]]></source>
<year>2004</year>
<publisher-name><![CDATA[Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B18">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SURESH]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[MOHANASUNDARAM]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
</person-group>
<source><![CDATA[Pareto archived simulated annealing for job shop scheduling with multiple objectives]]></source>
<year>2006</year>
<volume>29</volume>
<page-range>184-196</page-range><publisher-name><![CDATA[The International Journal of Advanced Manufacturing Technology]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B19">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[WATKINS]]></surname>
<given-names><![CDATA[C. J. C. H]]></given-names>
</name>
</person-group>
<source><![CDATA[earning from Delayed Rewards. Ph.D]]></source>
<year>1989</year>
<publisher-name><![CDATA[Cambridge]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B20">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ZITZLER]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[DEB]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[THIELE]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<source><![CDATA[Comparison of multiobjective evolutionary algorithms on test functions of different difficulty]]></source>
<year>1999</year>
<page-range>121-122</page-range><publisher-loc><![CDATA[Orlando^eFlorida Florida]]></publisher-loc>
<publisher-name><![CDATA[Workshop Program]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
