<?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>1815-5936</journal-id>
<journal-title><![CDATA[Ingeniería Industrial]]></journal-title>
<abbrev-journal-title><![CDATA[Ing. Ind.]]></abbrev-journal-title>
<issn>1815-5936</issn>
<publisher>
<publisher-name><![CDATA[Facultad de Ingeniería Industrial, Instituto Superior Politécnico José Antonio Echeverría, Cujae.]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1815-59362018000100005</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Aprendizaje reforzado aplicado a la programación de tareas bajo condiciones reales]]></article-title>
<article-title xml:lang="en"><![CDATA[Reinforcement learning applied to scheduling under real constraints]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Fonseca-Reyna]]></surname>
<given-names><![CDATA[Yunior César]]></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="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Nowé]]></surname>
<given-names><![CDATA[Ann]]></given-names>
</name>
<xref ref-type="aff" rid="A03"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad de Granma Facultad de Ciencias Informáticas y Exactas ]]></institution>
<addr-line><![CDATA[ Granma]]></addr-line>
<country>Cuba</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Central Marta Abreu de las Villas Facultad de Física, Matemática y Computación ]]></institution>
<addr-line><![CDATA[ Las Villas]]></addr-line>
<country>Cuba</country>
</aff>
<aff id="A03">
<institution><![CDATA[,Vrije Universite it Brussel Computational Modeling Lab ]]></institution>
<addr-line><![CDATA[ Bruselas]]></addr-line>
<country>Bélgica</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>04</month>
<year>2018</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>04</month>
<year>2018</year>
</pub-date>
<volume>39</volume>
<numero>1</numero>
<fpage>36</fpage>
<lpage>45</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S1815-59362018000100005&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S1815-59362018000100005&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S1815-59362018000100005&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[La variante de flujo regular o flow shop scheduling es un problema clásico de programación de la producción. Las primeras publicaciones científicas sobre este problema aparecieron hace más de medio siglo. Sin embargo, muchos autores han reconocido una brecha entre la literatura especializada y la problemática en entornos reales. En este trabajo se modeló el flow shop considerando los tiempos de configuración inicial de las máquinas, tiempos de montaje dependientes de la secuencia, precedencia entre trabajos, omisión de etapas por los trabajos y como función objetivo minimización del tiempo total de procesamiento o makespan. Hasta el momento no existen métodos computacionales que solucionen este problema teniendo en cuenta todas las características mencionadas. Para la solución se adaptó un enfoque del Aprendizaje Reforzado conocido como Q-Learning. Finalmente, se usaron instancias de problemas de diferentes tamaños y complejidad demostrando la efectividad de este método en cuanto a la calidad de las soluciones.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[The flow shop scheduling is a classic problem of production scheduling. The first scientific publications on production scheduling appeared more than half a century ago. However, many authors have recognized a gap between the specialized literature and the real environment problems. In this paper, the flow shop is modeled taking into account preparation time machines, setup-time between two jobs, precedence between jobs, the possibility to skip stages and as objective function minimizing the total processing time or make span. At this moment, there are no computational methods that can solve this problem taking into account all the mentioned elements. The Reinforcement Learning approach known as Q-Learning was adapted to use it in the solution of this problem. Finally, the algorithm was tested with problems of different levels of complexity in order to obtain satisfactory results in terms of solutions quality.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[aprendizajere forzado]]></kwd>
<kwd lng="es"><![CDATA[flow shop scheduling]]></kwd>
<kwd lng="es"><![CDATA[optimización combinatoria]]></kwd>
<kwd lng="es"><![CDATA[q-learning]]></kwd>
<kwd lng="en"><![CDATA[flow shop]]></kwd>
<kwd lng="en"><![CDATA[optimization]]></kwd>
<kwd lng="en"><![CDATA[q-learning]]></kwd>
<kwd lng="en"><![CDATA[reinforcement learning]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">     <p class="MsoTitle" align="right" style="text-align:right;"><b><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">ART&Iacute;CULO  ORIGINAL</font></b><b><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; "> </font></b></p>     <p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; font-size:16.0pt; ">Aprendizaje reforzado aplicado a la  programaci&oacute;n de tareas bajo condiciones reales</font></b></p>     <p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; font-size:14.0pt; ">Reinforcement  learning applied to scheduling under real constraints</font></b><b><font style="font-family:'Verdana','sans-serif'; "> </font></b></p>     <p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; ">Yunior C&eacute;sar Fonseca-Reyna<sup>I</sup>, Yailen Mart&iacute;nez-Jim&eacute;nez<sup>II</sup>,  Ann Now&eacute;<sup>III</sup></font></b></p>     <p style="text-align:justify;"><sup><font style="font-family:'Verdana','sans-serif'; ">I</font></sup><font style="font-family:'Verdana','sans-serif'; ">Universidad de Granma, Facultad de Ciencias Inform&aacute;ticas y Exactas.  Granma, Cuba</font><font style="font-family:'Verdana','sans-serif'; "> </font></p>     ]]></body>
<body><![CDATA[<p style="text-align:justify;"><sup><font style="font-family:'Verdana','sans-serif'; ">II</font></sup><font style="font-family:'Verdana','sans-serif'; ">Universidad  Central Marta Abreu de las Villas Facultad de F&iacute;sica, Matem&aacute;tica y Computaci&oacute;n.  Las Villas, Cuba</font></p>     <p style="text-align:justify;"><sup><font style="font-family:'Verdana','sans-serif'; ">III</font></sup><font style="font-family:'Verdana','sans-serif'; ">Vrije Universite  it Brussel, Computational Modeling Lab. Bruselas, B&eacute;lgica.</font></p>     <p style="text-align:justify;text-autospace:none;">&nbsp;</p>     <p style="text-align:justify;text-autospace:none;">&nbsp;</p> </font> <hr /> <font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">     <p style="text-align:justify;text-autospace:none;"><b><font style="font-family:'Verdana','sans-serif'; ">RESUMEN</font></b><i><font style="font-family:'Verdana','sans-serif'; "> </font></i></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">La  variante de flujo regular o <i>flow shop  scheduling</i> es un problema cl&aacute;sico de programaci&oacute;n de la producci&oacute;n. Las  primeras publicaciones cient&iacute;ficas sobre este problema aparecieron hace m&aacute;s de  medio siglo. Sin embargo, muchos autores han reconocido una brecha entre la  literatura especializada y la problem&aacute;tica en entornos reales. En este trabajo  se model&oacute; el <i>flow shop</i> considerando  los tiempos de configuraci&oacute;n inicial de las m&aacute;quinas, tiempos de montaje  dependientes de la secuencia, precedencia entre trabajos, omisi&oacute;n de etapas por  los trabajos y como funci&oacute;n objetivo minimizaci&oacute;n del tiempo total de  procesamiento o <i>makespan</i>. Hasta el  momento no existen m&eacute;todos computacionales que solucionen este problema  teniendo en cuenta todas las caracter&iacute;sticas mencionadas. Para la soluci&oacute;n se  adapt&oacute; un enfoque del Aprendizaje Reforzado conocido como Q-Learning.  Finalmente, se usaron instancias de problemas de diferentes tama&ntilde;os y  complejidad demostrando la efectividad de este m&eacute;todo en cuanto a la calidad de  las soluciones.</font></p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; ">Palabras  Claves: </font></b><font style="font-family:'Verdana','sans-serif'; ">aprendizajere forzado; flow shop scheduling;  optimizaci&oacute;n combinatoria;</font> <font style="font-family:'Verdana','sans-serif'; ">q-learning.</font><font style="font-family:'Verdana','sans-serif'; "> </font></p> </font> <hr /> <font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; ">ABSTRACT</font></b></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">The flow shop scheduling is a classic problem of  production scheduling. The first scientific publications on production  scheduling appeared more than half a century ago. However, many authors have  recognized a gap between the specialized literature and the real environment  problems. In this paper, the flow shop is modeled taking into account  preparation time machines, setup-time between two jobs, precedence between  jobs, the possibility to skip stages and as objective function minimizing the  total processing time or make span. At this moment, there are no computational  methods that can solve this problem taking into account all the mentioned  elements. The Reinforcement Learning approach known as Q-Learning was adapted  to use it in the solution of this problem. Finally, the  algorithm was tested with problems of different levels of  complexity in order to obtain satisfactory results in terms of solutions  quality.</font></p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; ">Keywords</font></b><b><font style="font-family:'Verdana','sans-serif'; ">: </font></b><font style="font-family:'Verdana','sans-serif'; ">flow shop; optimization;  q-learning; reinforcement learning.</font><font style="font-family:'Verdana','sans-serif'; "> </font></p> </font> <hr /> <font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">     ]]></body>
<body><![CDATA[<p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; font-size:14.0pt; ">INTRODUCCI&Oacute;N</font></b></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">La  variante de flujo regular, secuenciaci&oacute;n de tareas o <i>Flow Shop SchedulingProblem (FSSP)</i>, es un problema de optimizaci&oacute;n  que se presenta con frecuencia en sistemas de producci&oacute;n convencionales  automatizados donde existen m&aacute;quinas-herramientas convencionales y se fabrican  diferentes tipos de productos que presentan una misma ruta tecnol&oacute;gica. Este es  un problema com&uacute;n donde est&aacute; involucrada la toma de decisiones con respecto a  la mejor asignaci&oacute;n de recursos a procesos de informaci&oacute;n, en los cuales se tienen  restricciones de temporalidad [1, 2].  Adicionalmente, hay que garantizar que estos tiempos asignados a dichos  procesos deben cumplir con una serie de restricciones establecidas en la  programaci&oacute;n de la producci&oacute;n, as&iacute; como con la optimizaci&oacute;n de determinados  criterios [2-5]</font> <font style="font-family:'Verdana','sans-serif'; ">. De esta  forma, la secuenciaci&oacute;n de tareas est&aacute;  directamente asociada con la ejecutabilidad y optimalidad de un plan  preestablecido.</font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">En los  entornos reales de producci&oacute;n, la secuenciaci&oacute;n y asignaci&oacute;n de trabajos son  actividades cr&iacute;ticas que inciden en los tiempos de respuesta y los costos de  producci&oacute;n, y por lo tanto, inciden directamente en la efectividad y eficiencia  de las empresas. Particularmente, esta secuenciaci&oacute;n &oacute;ptima de las &oacute;rdenes de  producci&oacute;n en recursos limitados es un t&oacute;pico importante que ha fascinado a  cient&iacute;ficos por a&ntilde;os. A pesar de los grandes avances en esta &aacute;rea, todav&iacute;a la  secuenciaci&oacute;n de tareas presenta desaf&iacute;os mayores.</font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Una  revisi&oacute;n en profundidad al extenso trabajo realizado en m&aacute;s de 50 a&ntilde;os de  existencia de lo que se ha denominado, empleando la terminolog&iacute;a en lengua  inglesa como <i>Scheduling</i>, pone de  manifiesto la existencia de una necesidad que debe ser cubierta. Se trata de  reducir la distancia entre los problemas planteados por la comunidad cient&iacute;fica  y los que desean resolver los profesionales. En los problemas acad&eacute;micos, los  sistemas productivos, las condiciones de trabajo, las interrelaciones  organizativas, o la propia aparici&oacute;n de eventos son considerados de forma  parcial, o incluso ignorados. Es por eso que algunos autores han reconocido una  brecha entre la literatura y la problem&aacute;tica industrial [6-9]</font> <font style="font-family:'Verdana','sans-serif'; ">. La  mayor&iacute;a de las investigaciones se concentran en problemas de optimizaci&oacute;n que  no son m&aacute;s que una versi&oacute;n muy simplificada de lo que ocurre en un entorno de  manufactura real, permitiendo el uso de m&eacute;todos sofisticados que garantizan la  obtenci&oacute;n de soluciones &oacute;ptimas.</font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Desde la  d&eacute;cada de los 50, cient&iacute;ficos en el &aacute;rea de la investigaci&oacute;n de operaciones se  han apoyado en m&eacute;todos matem&aacute;ticos de optimizaci&oacute;n para problemas de <i>scheduling</i>, contribuyendo con una  variedad amplia de metodolog&iacute;as en las que se incluye la programaci&oacute;n lineal,  programaci&oacute;n entera mixta, etc. [10, 11] hasta  t&eacute;cnicas avanzadas de Inteligencia Artificial (IA) [7, 12, 13]</font> <font style="font-family:'Verdana','sans-serif'; ">.&nbsp; </font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Una de  las primeras publicaciones en el campo de la programaci&oacute;n de la producci&oacute;n fue  presentada en 1954 por S.M. Johnson [14] en la cual se presenta la implementaci&oacute;n den algoritmo que obtiene secuencias &oacute;ptimas para un  problema de <i>n</i> trabajos en 2-m&aacute;quinas.  A partir de ese momento, otros investigadores han extendido este notorio  resultado, obteniendo algoritmos complejos para casos m&aacute;s generales. Anc&acirc;u [15] propuso dos variantes de algoritmos heur&iacute;sticos para resolver el FSSP  cl&aacute;sico. Ambos algoritmos son simples y eficientes. El primero implementa una  heur&iacute;stica constructivista basada en una selecci&oacute;n &aacute;vida, mientras que el  segundo algoritmo es una versi&oacute;n modificada del primero. Los resultados  obtenidos muestran una buena posici&oacute;n para estos dentro de los algoritmos  basados en heur&iacute;sticas en el campo de la programaci&oacute;n de la producci&oacute;n. Por  otro lado, Ekta Singhal et. al [16] proponen una modificaci&oacute;n de la heur&iacute;stica NEH para resolver el <i>Flow Shop </i>Permutacional mejorando  soluciones en comparaci&oacute;n al algoritmo original. La funci&oacute;n objetivo de este  algoritmo es la minimizaci&oacute;n del <i>make span.</i></font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">La  t&eacute;cnica de Ramificaci&oacute;n y Poda (Branch &amp; Bound o B&amp;B) puede encontrar  soluciones &oacute;ptimas a problemas de <i>scheduling</i> pero a un alto costo computacional, por consiguiente, este m&eacute;todo no es  adecuado para problemas de grandes dimensiones. Varios autores han aplicado  est&aacute; t&eacute;cnica en busca de buenas soluciones, tal es el caso de la investigaci&oacute;n  de Peter Bruker et. al [17], en la que los autores aplican esta metodolog&iacute;a para el <i>Open Shop Scheduling Problem</i> (OSSP)  basada en un grafo disyuntivo. Los resultados computacionales muestran que este  m&eacute;todo arroja resultados aceptables. En esta investigaci&oacute;n, para algunos  problemas propuestos por la comunidad cient&iacute;fica, se obtienen por primera vez  los valores &oacute;ptimos.</font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Con el  desarrollo de la IA han emergido otras metodolog&iacute;as como es el caso de las  metaheur&iacute;sticas. Considerando el estudio y la importancia de los problemas de <i>scheduling</i>, estas &uacute;ltimas han sido muy  usadas para dar soluci&oacute;n a los mismos. Entre ellas podemos encontrar el  Recocido Simulado (SimulatedAnneling o SA), la B&uacute;squeda Tab&uacute; (TabuSearch o TS)  y los Algoritmos Gen&eacute;ticos (Genetic Algorithms o GA).&nbsp; Takeshi Yamada[13] en su tesis doctoral aplica SA, TS, y GA para el <i>Job Shop SchedulingProblem</i> (JSSP) y para el FSSP como caso especial  del JSSP. Li Wang et. al [18] proponen un GA h&iacute;brido para el FSSP donde m&uacute;ltiples operadores  gen&eacute;ticos son combinados con una estructura de vecindad basada en un grafo que  mejora significativamente la b&uacute;squeda local. Este algoritmo balancea  eficientemente la exploraci&oacute;n y la explotaci&oacute;n. Nagar et. al [19] combina B&amp;B con un GA encontrando soluciones aproximadas de <i>makespan</i> y <i>flowtime</i> para 2-m&aacute;quinas y <i>n</i> trabajos. Otros autores aplican estas metaheur&iacute;sticas obteniendo soluciones con  cierto grado de &eacute;xito [4, 9, 20]</font><font style="font-family:'Verdana','sans-serif'; ">.</font></p>     ]]></body>
<body><![CDATA[<p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Por otro lado, Tasgetiren et. al [21] proponen dos algoritmos basados en la t&eacute;cnica de  optimizaci&oacute;n Nube de Part&iacute;culas (Particle Swarm Optimization o PSO) llamados  PSOvns y HCPSO respectivamente, los cuales optienen varias soluciones &oacute;ptimas  para las primeras 90 instancias de problemas de FSSP propuestas por Eric  Taillard localizadas en la <i>OR-Library</i> [22]. Rahimi-Vahed y Mirghorbani [23] hacen  uso de esta metodolog&iacute;a con el objetivo de minimizar el <i>makespan</i> y la tardanza (<i>tardiness</i>)  en el FSSP. Este PSO multiobjetivo es comparado con un GA siendo el primero el  que obtiene mejores resultados.</font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Todos los  m&eacute;todos descritos anteriormente garantizan, en muchos de los casos, soluciones  &oacute;ptimas que son logradas en un per&iacute;odo de tiempo razonable cuando el tama&ntilde;o del  problema es peque&ntilde;o. Desafortunadamente, los problemas de <i>scheduling</i> en el mundo real son de dif&iacute;cil soluci&oacute;n y est&aacute;n  clasificados t&eacute;cnicamente como de soluci&oacute;n en un tiempo no polinomial (NP-hard) [3, 24]. Adem&aacute;s,  la inclusi&oacute;n de restricciones existentes en un entorno real dificulta la  aplicabilidad de dichos m&eacute;todos. </font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">El  modelado es un tema a considerar al solucionar problemas de <i>scheduling</i> en un entorno real. Los  innumerables tipos de procesos de fabricaci&oacute;n, cada uno con sus propias  particularidades, hacen dif&iacute;cil construir modelos generalmente aplicables.  Algunas restricciones son dif&iacute;ciles (o imposibles) de representar  matem&aacute;ticamente. Por otra parte, encontrar las restricciones correctas para  modelar la realidad depende sobre todo del conocimiento extenso del dominio,  que puede ser inasequible para los investigadores y que es solamente utilizable  para un tipo particular de proceso de producci&oacute;n. Un segundo problema es tener  en cuenta un conjunto de caracter&iacute;sticas presentes en entornos reales que  dificulta y en muchos casos imposibilita la adaptaci&oacute;n de muchas de las  metodolog&iacute;as existentes al problema de la programaci&oacute;n de la producci&oacute;n. Entre  estas se pueden encontrar las siguientes:</font></p> </font> <ul>       <li><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">         <p align="justify">Tiempo de configuraci&oacute;n inicial de las m&aacute;quinas: En  las empresas manufactureras antes de comenzar el proceso productivo, las  m&aacute;quinas son configuradas inicialmente seg&uacute;n el tipo de trabajo que pueden  realizar.</p>   </font></li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Tiempos de montaje dependientes de la secuencia de  cada uno de los trabajos: Las operaciones de cambio de referencia en las  m&aacute;quinas var&iacute;an constantemente. Estas se demoran m&aacute;s cuando el trabajo entrante  es muy diferente al saliente, impactando el desempe&ntilde;o total de las operaciones. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Cada trabajo puede procesarse solo en un  subconjunto de m&aacute;quinas seg&uacute;n sus caracter&iacute;sticas t&eacute;cnicas y su disponibilidad.  Un trabajo puede saltar etapas de producci&oacute;n. </font></p>   </li>       <li>         ]]></body>
<body><![CDATA[<p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Precedencia entre trabajos: Un trabajo, a veces,  depende de la culminaci&oacute;n de otro u otros para comenzar a ejecutarse. Esto se  evidencia por ejemplo, cuando se tiene un trabajo auxiliar que forma parte de  uno o varios trabajos ya culminados.</font></p>   </li>     </ul> <font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Todo esto  da lugar a que en las empresas se tenga que revisar la pol&iacute;tica de generar  buenas programaciones de la producci&oacute;n. A su vez, refuerza solamente la  necesidad de automatizar el modelado de problemas aplicando algoritmos de  aprendizaje para crear un sistema de previsi&oacute;n din&aacute;mica que pueda adaptarse a  las caracter&iacute;sticas de un entorno real. La combinaci&oacute;n de los distintos temas  abordados ilustra la necesidad de investigar otras estrategias, as&iacute; como nuevos  y eficientes algoritmos para resolver el problema en cuesti&oacute;n. Por su parte, el  Aprendizaje Reforzado (RL) puede ofrecer una buena soluci&oacute;n pues es mucho menos  dependiente en conocimiento del dominio y es capaz de &ldquo;aprender&rdquo; buenas  pol&iacute;ticas de planificaci&oacute;n autom&aacute;ticamente. Este aparece en la literatura como  un acercamiento prometedor para solucionar problemas de scheduling [25, 26]. </font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Hasta el  momento no existen m&eacute;todos que resuelvan problemas de <i>scheduling</i> que contemplen las caracter&iacute;sticas de un entorno real  mencionadas anteriormente al mismo tiempo, constituyendo esto el problema de  esta investigaci&oacute;n. Por ello se plantean las siguientes preguntas:</font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">&iquest;Es  posible modelar cada una de las caracter&iacute;sticas que se presentan en un entorno  real de programaci&oacute;n de la producci&oacute;n ayudando a cerrar la brecha entre los  problemas resueltos en la literatura especializada y los que se presentan en  las empresas manufactureras?</font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">&iquest;Una vez  realizado este modelado, es posible adaptar e implementar un enfoque del  Aprendizaje Reforzado consecuente con dicha teor&iacute;a que proporcione buenas  soluciones para el FSSP?</font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">El  objetivo de este art&iacute;culo consiste en solucionar problemas de programaci&oacute;n de  la producci&oacute;n m&aacute;s realistas, implementando un enfoque del Aprendizaje Reforzado  (AR) llamado Q-Learning (QL) que eval&uacute;e su adaptabilidad a la secuenciaci&oacute;n de  la producci&oacute;n conocida como Flow Shop Scheduling teniendo en cuenta todas las  caracter&iacute;sticas mencionadas anteriormente al mismo tiempo.</font></p>     <p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; font-size:14.0pt; ">M&Eacute;TODOS</font></b></p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; ">Variante de flujo regular o flow shop scheduling</font></b></p>     ]]></body>
<body><![CDATA[<p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Dentro de  la teor&iacute;a de scheduling se pueden distinguir un gran n&uacute;mero de problemas. En  estos se tiene un conjunto de <b><i>N</i></b> trabajos que han de ser  procesados sobre un conjunto de <b><i>M</i></b> recursos o m&aacute;quinas f&iacute;sicas  siguiendo un patr&oacute;n de flujo o ruta tecnol&oacute;gica. Una secuenciaci&oacute;n consiste en  encontrar para cada trabajo un tiempo o un intervalo de tiempos en los que este  pueda procesarse en una o varias m&aacute;quinas [4, 27]. El objetivo es encontrar una secuencia sujeta a una serie de  restricciones que optimice una o varias funciones objetivo [20, 24, 27]</font><font style="font-family:'Verdana','sans-serif'; ">.</font></p>     <p style="text-align:justify;text-autospace:none;"><font style="font-family:'Verdana','sans-serif'; ">En general, en un problema de <i>scheduling </i>intervienen  los siguientes elementos: trabajos, actividades, m&aacute;quinas, tipo de <i>scheduling </i>(patr&oacute;n de flujo) y objetivos. El problema que se analiza en este art&iacute;culo  est&aacute; sujeto a las siguientes restricciones:</font></p> </font> <ul>       <li><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">         <p align="justify">Solo se cuenta con una m&aacute;quina-herramienta de cada  tipo por etapa.</p>   </font></li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Las restricciones tecnol&oacute;gicas est&aacute;n bien definidas  y son previamente conocidas, adem&aacute;s de que son inviolables.</font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">No est&aacute; permitido que dos operaciones del mismo  trabajo se procesen simult&aacute;neamente.</font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Un trabajo puede procesarse o no en una o varias  etapas.</font></p>   </li>       ]]></body>
<body><![CDATA[<li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Ning&uacute;n trabajo puede ser procesado m&aacute;s de una vez  en la misma m&aacute;quina.</font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Cada trabajo es procesado hasta concluirse, una vez  que se inicia una operaci&oacute;n esta se interrumpe solamente cuando se concluye.</font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Ninguna m&aacute;quina puede procesar m&aacute;s de un trabajo a  la vez.</font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Los tiempos de configuraci&oacute;n se conocen de  antemano.</font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Existe precedencia entre trabajos. </font></p>   </li>       ]]></body>
<body><![CDATA[<li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">El tiempo de transportaci&oacute;n entre etapas no es  considerado.</font></p>   </li>     </ul> <font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">     <p style="text-align:justify;text-autospace:none;"><font style="font-family:'Verdana','sans-serif'; ">Como se mencion&oacute; anteriormente, el objetivo es  encontrar una secuencia de trabajos por etapas bajo la restricci&oacute;n de que el  procesamiento de cada trabajo tiene que ser continuo con respecto al objetivo  de minimizar el <i>makespan</i> o <i>C <sub>max</sub></i> como tambi&eacute;n se le conoce<i><sub>.</sub></i></font></p>     <p style="text-align:justify;text-autospace:none;"><font style="font-family:'Verdana','sans-serif'; ">Bajo estas condiciones, el tiempo de procesamiento  total corresponde al tiempo de culminaci&oacute;n de procesamiento del &uacute;ltimo trabajo.  En otras palabras, es el tiempo necesario para completar todos los trabajos.</font></p>     <p style="text-align:justify;text-autospace:none;"><b><font style="font-family:'Verdana','sans-serif'; ">Aprendizaje reforzado</font></b></p>     <p style="text-align:justify;text-autospace:none;"><font style="font-family:'Verdana','sans-serif'; ">El AR es un enfoque de la IA en el que los agentes  aprenden a partir de su interacci&oacute;n con el ambiente. Es aprender qu&eacute; acci&oacute;n  tomar dada una situaci&oacute;n determinada con el objetivo de maximizar una se&ntilde;al  num&eacute;rica de recompensa que da la medida de cu&aacute;n buena fue la acci&oacute;n elegida por  el agente. </font></p>     <p style="text-align:justify;text-autospace:none;"><font style="font-family:'Verdana','sans-serif'; ">En el paradigma del AR un agente se conecta a su  ambiente mediante la percepci&oacute;n y acci&oacute;n, como lo descrito en la <a href="#f1">Figura 1</a>. En  cada paso de la interacci&oacute;n, el agente percibe el estado actual &ldquo;s&rdquo; de su  ambiente y selecciona una acci&oacute;n &ldquo;a&rdquo; para cambiar este estado. Esta transici&oacute;n  genera una se&ntilde;al de refuerzo &ldquo;r&rdquo;, que es recibida por el agente. La tarea del  agente es aprender una pol&iacute;tica de elecci&oacute;n de acciones en cada estado, que le  posibilite recibir un n&uacute;mero m&aacute;ximo de recompensas acumuladas. Los m&eacute;todos del  aprendizaje reforzado exploran el ambiente todo el tiempo para obtener una  pol&iacute;tica deseada [28].</font></p>     <p style="text-align:center;text-autospace:none;"><a name="f1" id="f1"></a></p>     <p style="text-align:center;text-autospace:none;"><img src="/img/revistas/rii/v39n1/f0105118.gif" alt="Fig. 1. Modelo est&aacute;ndar de Aprendizaje Reforzado" width="330" height="155" longdesc="/img/revistas/rii/v39n1/f0105118.gif" /></p>     
]]></body>
<body><![CDATA[<p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">De manera  formal, el modelo b&aacute;sico de AR consiste en:</font></p> <ul type="disc">   <li style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Un conjunto de estados del ambiente <i>S</i>.</font></li>   <li style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Un conjunto de acciones <i>A</i>.</font></li>   <li style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Un conjunto de &ldquo;recompensas&rdquo; en <a name="e2" id="e2"></a><img src="/img/revistas/rii/v39n1/f0405118.gif" width="15" height="15" longdesc="/img/revistas/rii/v39n1/f0405118.gif" />.</font></li>   <li style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Una funci&oacute;n de transici&oacute;n <i>T</i>.</font></li>     
</ul>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">En cada  instante <i>t,</i> el agente observa el  estado <i>s<sub>t</sub></i>&#1028;<i> S</i> y el conjunto de posibles acciones <i>A(s<sub>t</sub>)</i>. Escoge una acci&oacute;n <i>a</i> &#1028; <i>A(s<sub>t</sub>)</i> y recibe del ambiente el nuevo estado <i>s<sub>t+1</sub></i> &nbsp;y una recompensa <i>r<sub>t+1</sub></i>, esto significa que el agente implementa una  asociaci&oacute;n entre estados y probabilidades de seleccionar cada posible acci&oacute;n.  Esta asociaci&oacute;n es la pol&iacute;tica del agente y se denota <i>&#960;<sub>t</sub></i>, donde <i>&#960;<sub>t </sub></i>(<i>s,a</i>) es la probabilidad de seleccionar  la acci&oacute;n <i>a </i>en el estado <i>s </i>en el instante <i>t</i>.</font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">La  funci&oacute;n de recompensa define el objetivo en un problema de AR. Asocia cada  estado observado (o par estado-acci&oacute;n) del ambiente con un valor num&eacute;rico,  indicando la deseabilidad de esa acci&oacute;n en ese estado. El objetivo de un agente  usando Aprendizaje Reforzado es maximizar la cantidad total de recompensa que  recibe a largo plazo. La funci&oacute;n de recompensa define cu&aacute;les son los eventos  buenos y malos para el agente.</font></p>     <p style="text-align:justify;text-autospace:none;"><font style="font-family:'Verdana','sans-serif'; ">De la misma forma en que la funci&oacute;n de recompensa  indica lo que es &ldquo;inmediatamente&rdquo; bueno, la funci&oacute;n de valor especifica lo que  es bueno a largo plazo. En otras palabras, el valor de un estado es la cantidad  total de recompensa descontada que un agente puede esperar acumular en el  futuro, comenzando en ese estado. Por ejemplo, un estado puede siempre conducir  a bajas recompensas inmediatas, pero a&uacute;n tener un alto valor porque es  normalmente seguido por otros estados que conducen a recompensas altas.</font></p>     <p style="text-align:justify;text-autospace:none;"><b><font style="font-family:'Verdana','sans-serif'; ">Adaptaci&oacute;n del algoritmo q-learning para la soluci&oacute;n del FSSP</font></b></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">QL es un  algoritmo del AR que se basa en la capacidad de aprendizaje de los agentes  asociados al m&eacute;todo. Este algoritmo trabaja aprendiendo de una funci&oacute;n  acci&oacute;n-valor que da la utilidad esperada de tomar una acci&oacute;n en un estado  determinado. El n&uacute;cleo del algoritmo es la actualizaci&oacute;n de un q-valor en cada  iteraci&oacute;n. Cada par estado-acci&oacute;n (<i>s,a</i>)  tiene un q-valor asociado. Cuando la acci&oacute;n es seleccionada por el agente que  se encuentra en un estado determinado, el q-valor para ese par estado-acci&oacute;n es  actualizado en base a la recompensa recibida cuando se seleccion&oacute; esa acci&oacute;n y  el mejor q-valor para el subsiguiente estado. La regla de actualizaci&oacute;n para  cada par estado-acci&oacute;n es la siguiente:</font></p>     <p style="text-align:center;"><a name="e1" id="e1"></a></p>     <p style="text-align:center;"><img src="/img/revistas/rii/v39n1/e0105118.gif" width="396" height="23" longdesc="/img/revistas/rii/v39n1/e0105118.gif" /><font style="font-family:'Verdana','sans-serif'; "> (1)</font></p>     
<p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">En esta  expresi&oacute;n <i>&alpha;</i></font><font style="font-family:Mathematica1; ">&Icirc;</font><font style="font-family:'Verdana','sans-serif'; "> [0, 1] es  la proporci&oacute;n de aprendizaje y <i>r</i> la  recompensa o penalidad resultante de tomar una acci&oacute;n <i>a</i> en el estado <i>s</i>. La  proporci&oacute;n de aprendizaje determina el grado por el cual el viejo valor es  actualizado. Por ejemplo, si la proporci&oacute;n de aprendizaje es <i>&alpha;</i> = 0, entonces no habr&aacute; actualizaci&oacute;n.  Por otro lado, si <i>&alpha;</i> = 1, el viejo  valor es remplazado por el nuevo estimado. Usualmente es utilizado un valor  peque&ntilde;o, por ejemplo<i>&alpha;</i> = 0.1. El  factor de descuento (par&aacute;metro &#947;</font><font style="font-family:'Verdana','sans-serif'; ">) tiene el rango  de valores desde cero hasta uno. Si &#947;</font><font style="font-family:'Verdana','sans-serif'; "> es cercano a  cero el agente tiende a considerar solamente la recompensa inmediata. Si &#947;</font><font style="font-family:'Verdana','sans-serif'; "> es cercana a uno el agente considerar&aacute; la recompensa futura en mayor  medida. En el algoritmo QL interviene adem&aacute;s otro par&aacute;metro que permite el  balance entre la exploraci&oacute;n y explotaci&oacute;n denotado por <i>&epsilon;</i> (&eacute;psilon)<i>. </i>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 [8]. </font></p>     ]]></body>
<body><![CDATA[<p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">El  algoritmo 1 es usado por los agentes para aprender a partir de la experiencia y  el entrenamiento. Cada episodio es equivalente a una sesi&oacute;n de entrenamiento.  En cada uno de ellos el agente explora el ambiente y toma la recompensa hasta  alcanzar el estado objetivo. El prop&oacute;sito del entrenamiento es aumentar el  conocimiento del agente representado por los q-valores. Entre mayor sea la  cantidad de episodios se alcanzar&aacute;n mejores resultados. </font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Los  principales elementos que intervienen en el desempe&ntilde;o del m&eacute;todo de soluci&oacute;n  propuesto son detallados a continuaci&oacute;n:</font></p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; ">Estados y acciones</font></b><font style="font-family:'Verdana','sans-serif'; ">: Existe un agente asociado a cada etapa (en nuestro caso se asocia un  agente por m&aacute;quina pues solo existe una por etapa) y este agente tomar&aacute;  decisiones sobre futuras acciones. Para un agente el tomar una acci&oacute;n significa  que debe decidir cu&aacute;l va a ser el pr&oacute;ximo trabajo a procesar del conjunto de  trabajos posibles (estos son los que est&aacute;n esperando en la cola asociada al  recurso correspondiente teniendo siempre en cuenta la precedencia entre ellos).  El agente adem&aacute;s de tener una visi&oacute;n local con la informaci&oacute;n asociada a su  recurso (como los trabajos que est&aacute;n esperando por &eacute;l), tiene conocimiento  acerca de las colas de espera de los dem&aacute;s agentes as&iacute; como la informaci&oacute;n  asociada a estos.</font></p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; ">Q-Valores</font></b><font style="font-family:'Verdana','sans-serif'; ">: una  matriz de <b><i>m</i></b> filas y <b><i>n</i></b> columnas es construida para  almacenar los q-valores ya que para cada una de las <b><i>m</i></b> m&aacute;quinas existen, al  menos, <b><i>n</i></b> posibles trabajos a procesar.</font></p> </font>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">En  resumen, el algoritmo propuesto se puede observar en la siguiente <a href="/img/revistas/rii/v39n1/f0505118.gif">figura</a>.</font></p> <font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">     
<p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; font-size:14.0pt; ">RESULTADOS</font></b></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Al no  existir instancias disponibles de problemas que contemplen las restricciones  presentes en este art&iacute;culo, los datos para los experimentos computacionales  fueron generados aleatoriamente. Para comprobar la calidad de los resultados  obtenidos se usaron 10 instancias de diferentes tama&ntilde;os y complejidad que  sirvieron para ejecutar el algoritmo propuesto. El tama&ntilde;o de las instancias fue  de 5x3, 5x4, 5x5, 7x6, 7x7, 8x8, 9x4, 9x9, 10x8 y 10x10 respectivamente. Se  generaron n&uacute;meros aleatorios para crear los tiempos iniciales de preparaci&oacute;n de  las m&aacute;quinas y los tiempos de configuraci&oacute;n entre trabajos.&nbsp; La <a href="#t1">tabla 1</a> muestra los tiempos de  procesamiento de cada trabajo por m&aacute;quina. La <a href="#t2">tabla 2</a>, por su parte, detalla  los tiempos de preparaci&oacute;n inicial de las m&aacute;quinas. La <a href="/img/revistas/rii/v39n1/t0305118.gif">tabla 3</a> muestra los  tiempos de configuraci&oacute;n entre trabajos en cada una de las m&aacute;quinas. Por  &uacute;ltimo, la <a href="#t4">tabla 4</a> muestra la precedencia entre trabajos. Todos los datos  mostrados en las siguientes tablas corresponden a la instancia 5x5.</font></p>     
<p style="text-align:center;"><a name="t1" id="t1"></a></p>     <p style="text-align:center;"><img src="/img/revistas/rii/v39n1/t0105118.gif" alt="Tabla 1. Tiempo de procesamiento" width="240" height="183" longdesc="/img/revistas/rii/v39n1/t0105118.gif" /></p>     
]]></body>
<body><![CDATA[<p style="text-align:center;"><a name="t2" id="t2"></a></p>     <p style="text-align:center;"><img src="/img/revistas/rii/v39n1/t0205118.gif" alt="Tabla 2. Tiempo de preparaci&oacute;n de las m&aacute;quinas" width="340" height="148" longdesc="/img/revistas/rii/v39n1/t0205118.gif" /></p>     
<p style="text-align:center;"><a name="t4" id="t4"></a></p>     <p style="text-align:center;"><img src="/img/revistas/rii/v39n1/t0405118.gif" alt="Tabla 4.Precedencia entre trabajos" width="240" height="128" longdesc="/img/revistas/rii/v39n1/t0405118.gif" /></p>     
<p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Inicialmente  se realizaron numerosos experimentos para analizar el proceso de aprendizaje  utilizando t&iacute;picas combinaciones de valores para los par&aacute;metros que intervienen  en el algoritmo [25]. Las combinaciones propuestas para el algoritmo QL son las siguientes:</font></p> <ul>   <li style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Combinaci&oacute;n 1: episodios = <i>n*m</i>, <i>&alpha;</i> = 0.1, &#947; =</font><font style="font-family:'Verdana','sans-serif'; "> 0.8, <i>&epsilon; </i>=       0.2</font></li>        <li><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Combinaci&oacute;n 2: episodios = </font><i><font style="font-family:'Verdana','sans-serif'; ">&nbsp;</font><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">n*m</font></i><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">, <i>&alpha;</i> = 0.1, <font style="font-family:'Verdana','sans-serif'; ">&#947; =</font></font><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; "> 0.9, <i>&epsilon; </i>= 0.1</font></li>       <li><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Combinaci&oacute;n 3: episodios = <i>&nbsp;n*m</i>, <i>&alpha;</i> = 0.1,<font style="font-family:'Verdana','sans-serif'; "> &#947; =</font></font><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; "> 0.8, <i>&epsilon; </i>= 0.1</font></li>       <li><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Combinaci&oacute;n 4: episodios = <i>&nbsp;n*m</i>, <i>&alpha;</i> = 0.1,<font style="font-family:'Verdana','sans-serif'; "> &#947; =</font></font><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; "> 0.9, <i>&epsilon; </i>= 0.2</font></li>     </ul>     <p class="MsoListParagraphCxSpLast" style="text-align:justify;text-autospace:none;"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">El comportamiento no determin&iacute;stico de los algoritmos sobre m&uacute;ltiples  conjuntos de datos es una raz&oacute;n por la cual no existe un procedimiento  establecido para poder compararlos. Distintas t&eacute;cnicas estad&iacute;sticas son  utilizadas para tratar de determinar si las diferencias encontradas entre dos  algoritmos son significativas. Debido a la no disponibilidad de problemas que  contemplen las restricciones presentadas en el problema que se analiza en este  art&iacute;culo solo se realiz&oacute; una comparaci&oacute;n entre los rendimientos de cada  combinaci&oacute;n para las instancias propuestas y as&iacute; determinar cu&aacute;l de ellas tiene  mejor desempe&ntilde;o. Para esto se tuvo en cuenta la moda de C<sub>max</sub> obtenida despu&eacute;s de 10 ejecuciones para 4 instancias escogidas aleatoriamente.  La <a href="/img/revistas/rii/v39n1/t0505118.gif">tabla 5</a> muestra estos resultados.</font></p>     
]]></body>
<body><![CDATA[<p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Luego de  los experimentos realizados se decidi&oacute; mantener la Combinaci&oacute;n 3 para todas las  instancias de problemas teniendo en cuenta la calidad de las soluciones  obtenidas. </font></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">La <a href="/img/revistas/rii/v39n1/f0205118.gif">figura  2</a> muestra el proceso de aprendizaje en la soluci&oacute;n de la instancia 5x5 y 10x8  con la combinaci&oacute;n de par&aacute;metros escogida. Las soluciones para dichas  instancias son C<sub>max</sub> = 172 y C<sub>max</sub> = 241 respectivamente.</font> </p>     
<p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">El  algoritmo QL fue implementado en Java, se ejecut&oacute; en una PC con un Corei3 a 3.4  GHz y 2 GB de memoria RAM. La <a href="/img/revistas/rii/v39n1/f0305118.gif">Figura 3</a> muestra la soluci&oacute;n de la instancia 5x5  donde el <i>C<sub>max</sub></i>= 172 a  trav&eacute;s un diagrama de Gantt. La <a href="#t6">Tabla 6</a> muestra los valores de <i>C<sub>max</sub></i>para las 10 instancias. </font></p>     
<p style="text-align:center;"><a name="t6" id="t6"></a></p>     <p style="text-align:center;"><img src="/img/revistas/rii/v39n1/t0605118.gif" alt="Tabla 6. Resultados del algoritmo Q-Learning para las intancias de problemas propuestas." width="340" height="130" longdesc="/img/revistas/rii/v39n1/t0605118.gif" /></p>     
<p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; font-size:14.0pt; ">DISCUSI&Oacute;N</font></b></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">La <a href="/img/revistas/rii/v39n1/t0305118.gif">tabla  3</a> es interpretada como el tiempo que se necesita para configurar una m&aacute;quina  una vez que termina de procesar un trabajo y comenzar a ejecutar otro. En la  <a href="#t4">tabla 4</a>, el valor -1 significa que el trabajo no depende de la culminaci&oacute;n de  otro para comenzar su procesamiento. En caso contrario, el mismo deber&aacute; esperar  por el procesamiento total de los trabajos que se especifican. Como se describe  en la <a href="#t1">tabla 1</a>, J<sub>3</sub> no es procesado por M<sub>0</sub>. De igual  manera, J<sub>4</sub> no es procesado por M<sub>1</sub>. Por otra parte, en la  <a href="#t4">tabla 4</a> se muestra que J<sub>1 </sub>debe esperar a que culmine el  procesamiento de J<sub>3</sub> y J<sub>4</sub>, adem&aacute;s, J<sub>2</sub> debe  esperar por J<sub>1</sub>y por &uacute;ltimo, J<sub>3</sub> debe esperar por la  ejecuci&oacute;n de J<sub>4</sub>.</font></p>     
<p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Una vez  obtenidos los resultados mostrados en la <a href="/img/revistas/rii/v39n1/t0505118.gif">tabla 5</a> se pudo apreciar que la  combinaci&oacute;n que mejores resultados de C<sub>max</sub> obtuvo para las  instancias escogidas fue la Combinaci&oacute;n 3. Por su parte, la <a href="/img/revistas/rii/v39n1/f0205118.gif">figura 2</a> muestra  que el algoritmo necesita como m&iacute;nimo <i>n*m</i> iteraciones para obtener soluciones &oacute;ptimas. La determinaci&oacute;n de estos  par&aacute;metros permite la disminuci&oacute;n del tiempo de procesamiento de las tareas lo  cual contribuir&iacute;a en un entorno manufacturero del mundo real a la satisfacci&oacute;n  de los clientes, disminuci&oacute;n del consumo el&eacute;ctrico teniendo en cuenta el uso de  las m&aacute;quinas as&iacute; como al incremento de los ingresos. Estos resultados fueron  evaluados por especialistas de la f&aacute;brica Comandante Manuel &ldquo;Piti&rdquo; Fajardo  perteneciente a la Empresa de Servicios T&eacute;cnicos Industriales (ZETI) del sector  azucarero localizada en la ciudad de Manzanillo, provincia Granma, determinando  que los mismos presentan una excelente calidad. </font></p>     
<p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Por  &uacute;ltimo, los resultados obtenidos en la <a href="#t6">tabla 6</a> muestran la aplicabilidad del  algoritmo QL a problemas de scheduling teniendo en cuenta un conjunto de  restricciones que se presentan en un entorno real. Estos corresponden con lo  planteado en la literatura especializada teniendo en cuenta la brecha que  existe entre los problemas de la programaci&oacute;n de la producci&oacute;n que com&uacute;nmente  se resuelven por los especialistas en el tema y los que se presentan en  ambientes manufactureros reales.</font></p>     ]]></body>
<body><![CDATA[<p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; font-size:14.0pt; ">CONCLUSIONES</font></b></p>     <p style="text-align:justify;"><font style="font-family:'Verdana','sans-serif'; ">Se  implement&oacute; un algoritmo basado en el Aprendizaje Reforzado denominado  Q-Learning. Esta metodolog&iacute;a fue adaptada al FSSP teniendo en cuenta un  conjunto de caracter&iacute;sticas que se presentan en entornos reales de la  producci&oacute;n. La misma fue evaluada con diez instancias de prueba de dicho  problema proporcionando excelentes secuencias de <i>scheduling</i>. De acuerdo a los resultados obtenidos se llega a las  siguientes conclusiones:</font></p> </font> <ol style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">       <li><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">         <p align="justify">El m&eacute;todo  constituye una interesante alternativa para resolver problemas complejos de  optimizaci&oacute;n.</p>   </font></li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">La adaptaci&oacute;n del  algoritmo Q-Learning para el FSSP teniendo en cuenta caracter&iacute;sticas presentes  en entornos reales proporciona resultados de excelente calidad.</font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Finalmente, se debe  resaltar que el m&eacute;todo propuesto es simple y f&aacute;cil de implementar.</font></p>   </li>     </ol> <font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; "></font><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">     ]]></body>
<body><![CDATA[<p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;"><b><font style="font-family:'Verdana','sans-serif'; font-size:14.0pt; ">REFERENCIAS</font></b></p> </font> <ol style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">       <li><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">         <p align="justify">M&aacute;rquez JE. Optimizaci&oacute;n de la programaci&oacute;n  (scheduling) en Talleres de Mecanizado [Tesis Doctoral]. Madrid, Espa&ntilde;a:  Universidad Polit&eacute;cnica de Madrid; 2012. </p>   </font></li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Tavares-Neto RF,  Godinho-Filho M. An ant colony optimization approach to a permutational  flowshop scheduling&nbsp; problem with outsourcing  allowed. Computers &amp; Operations Research. 2011;38:1286-93. DOI 10.1016.</font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Fattahi P, Hassan-Hosseini SM, Jolai F, et al. A branch and bound  algorithm for hybrid flow shop scheduling problem with setup time and assembly  operations. Applied Mathematical Modelling.  2014;38:119-34. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Seido Naganoa M, Almeida da Silva A, Nogueira  Lorena LA. A new evolutionary  clustering search for a no-wait flow shop problem with set-up times. Engineering Applications of Artificial Intelligence.  2012;25(1114-1120). </font></p>   </li>       ]]></body>
<body><![CDATA[<li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Jun Joo B, Chan Choi  Y, Xirouchakis P. Dispatching rule-based algorithms for a dynamic flexible flow  shop scheduling problem with time-dependent process defect rate and quality  feedback. En: Forty Sixth CIRP Conference on Manufacturing Systems. Lausanne,  Switzerland. p. 163-8. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Urlings T, Ruiz R,  St&uuml;tzle T. Shifting representation search for hybrid flexible flowline  problems. European Journal of Operation Research. 2010;2007:1086-5. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Naderi B, Ruiz R,  Zandieh M. Algorithms for a realistic variant of flowshop scheduling. Computers  &amp; Operations Research. 2010;37:236-46. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Bert Van Vreckem B, Borodin D, De Bruyn W, et al. A Reinforcement  Learning Approach to Solving Hybrid Flexible Flowline Scheduling Problems. En:  6th Multidisciplinary International Conference on Scheduling : Theory and  Applications (MISTA). Gent, Belgium. p. 402-9. ISBN  13:978-0954582104.  </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Chaudhry IA, Munem  khan A. Minimizing makespan for a no-wait &#64258;owshop using genetic  algorithm. Sadhana. 2012;36(6):695-707. </font></p>   </li>       ]]></body>
<body><![CDATA[<li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Manne AS. On the Job-Shop Scheduling Problem. Operations Research. 1960;8(2):219. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">&Scaron;eda M.  Mathematical Models of Flow Shop and Job Shop Scheduling Problems. World  Academy of Science. Engineering and Technology. 2007;1(31):122-7. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Gonz&aacute;lez M. Soluciones  Metaheur&iacute;sticas al Job-Shop Scheduling Problem with Sequence-Dependent Setup  Times [Tesis Doctoral]. Oviedo: Universidad de Oviedo; 2011. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Yamada T. Studies on  Metaheuristics for Jobshop and Flowshop Scheduling Problems [Tesis Doctoral].  Kyoto University: Kyoto, Japan; 2003. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Johnson SM. Optimal  two and three stage production schedules with setup times included. Naval  Research Logistics Quarterly. 1954;1:402-52. </font></p>   </li>       ]]></body>
<body><![CDATA[<li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Anc&acirc;u M. On Solving Flow Shop Scheduling Problems. Proceedings of the  Romanian Academy. 2012;13(1):71-9. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Singhal E, Singh S,  Dayma A. An Improved Heuristic for Permutation Flow Shop Scheduling (NEH  ALGORITHM). International Journal Of Computational Engineering Research.  2012;2(6):95-100. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Brucker P, Hurink J, Jurisch B, et al. A&nbsp;  branch&nbsp; &amp;&nbsp; bound&nbsp;  algorithm&nbsp; for &nbsp;the&nbsp;  open-shop&nbsp; problem. Elsevier&nbsp; Science Discrete  Applied&nbsp; Mathematics. 1997;76:43-59.  ISSN. DOI </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Ling Wang L, Zhang L, Zheng DZ. An effective hybrid genetic algorithm  for flow shop scheduling with limited buffers. Computers  &amp; Operations Research. 2006;33:2960-71. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Nagar A, Heragu S,  Haddock J. A branch and bound approach for two-machine flowshop scheduling  problem. Journal of the Operational Research Society. 1995;46:721-34. </font></p>   </li>       ]]></body>
<body><![CDATA[<li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Chie-Wun C, Wen-Min C, Chin-Min L, et al. A genetic algorithm for  scheduling dual flow shops. Expert Systems with  Applications. 2012;39:1306-14. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Tasgetiren MF, Liang  YC, Sevkli M, et al. A particle swarm optimization algorithm for make span and  total flow time minimization in the permutation flowshop sequencing problem.  European Journal of Operational Research. 2007;177:1930-47. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Taillard E. Benchmarks for basic scheduling problems. European Journal  of Operational Research. 1993;64(2):278-85. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Rahimi-Vahed A,  Mirghorbani S. A multi-objective particle swarm for a flowshop scheduling  problem. Journal of Combinatorial Optimization. 2007;13(1):79-102. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Pinedo M. Scheduling  Theory, Algorithms, and Systems. 3ra ed. New Jersey: U.S.A: Prentice Hall Inc;  2008. p. 586. </font></p>   </li>       ]]></body>
<body><![CDATA[<li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Mart&iacute;nez Y. A Generic  Multi-Agent Reinforcement Learning Approach for Scheduling Problems [Thesis].  Brussel, Belgium: Universiteit Brussel; 2012. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Su&aacute;rez Y. Soluci&oacute;n al problema de  secuenciaci&oacute;n en&nbsp; m&aacute;quinas paralelas  utilizando Aprendizaje Reforzado&nbsp; Villa  Clara, Cuba: Universidad Central de las Villas; 2010. </font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Mehmet Y, Betul Y.  Multi-objective permutation flow shop scheduling problem: Literature review,  classification and current trends. Omega. 2014;45:119-35.</font></p>   </li>       <li>         <p align="justify"><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">Fonseca Y, Mart&iacute;nez M, Bermudez J, et al. A Reinforcement  Learning Approach for Scheduling Problems. Revista  Investigaci&oacute;n Operacional. 2015;36(3):225-35.  </font></p>   </li>     </ol> <font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; "></font><font style="font-family:'Verdana','sans-serif'; font-size:10.0pt; ">     <p style="text-align:justify;text-autospace:none;">&nbsp;</p>     ]]></body>
<body><![CDATA[<p style="text-align:justify;text-autospace:none;">&nbsp;</p>     <p style="text-align:justify;text-autospace:none;"><font style="font-family:'Verdana','sans-serif'; ">Recibido:  3/05/2016</font></p>     <p style="text-align:justify;text-autospace:none;"><font style="font-family:'Verdana','sans-serif'; ">Aprobado:  5/09/2017 </font></p>     <p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;">&nbsp;</p>     <p style="text-align:justify;"><i><font style="font-family:'Verdana','sans-serif'; ">Yunior C&eacute;sar Fonseca-Reyna,</font></i> <font style="font-family:'Verdana','sans-serif'; ">Universidad de  Granma, Facultad de Ciencias Inform&aacute;ticas y Exactas. Granma, Cuba. E-mail: <a href="mailto:fonseca@udg.co.cu">fonseca@udg.co.cu</a></font></p> </font>      ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Márquez]]></surname>
<given-names><![CDATA[JE]]></given-names>
</name>
</person-group>
<source><![CDATA[Optimización de la programación (scheduling) en Talleres de Mecanizado]]></source>
<year>2012</year>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Tavares-Neto]]></surname>
<given-names><![CDATA[RF]]></given-names>
</name>
<name>
<surname><![CDATA[Godinho-Filho]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An ant colony optimization approach to a permutational flowshop scheduling problem with outsourcing allowed]]></article-title>
<source><![CDATA[Computers & Operations Research]]></source>
<year>2011</year>
<volume>38</volume>
<page-range>1286-93</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Fattahi]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Hassan-Hosseini]]></surname>
<given-names><![CDATA[SM]]></given-names>
</name>
<name>
<surname><![CDATA[Jolai]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A branch and bound algorithm for hybrid flow shop scheduling problem with setup time and assembly operations]]></article-title>
<source><![CDATA[Applied Mathematical Modelling]]></source>
<year>2014</year>
<volume>38</volume>
<page-range>119-34</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Seido Naganoa]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Almeida da Silva]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Nogueira Lorena]]></surname>
<given-names><![CDATA[LA]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A new evolutionary clustering search for a no-wait flow shop problem with set-up times]]></article-title>
<source><![CDATA[Engineering Applications of Artificial Intelligence]]></source>
<year>2012</year>
<volume>25</volume>
<numero>1114-1120</numero>
<issue>1114-1120</issue>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jun Joo]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Chan Choi]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[Xirouchakis]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Dispatching rule-based algorithms for a dynamic flexible flow shop scheduling problem with time-dependent process defect rate and quality feedback]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[Forty Sixth CIRP Conference on Manufacturing Systems]]></conf-name>
<conf-loc>Lausanne Lausanne</conf-loc>
<page-range>163-8</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Urlings]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Ruiz]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Stützle]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Shifting representation search for hybrid flexible flowline problems]]></article-title>
<source><![CDATA[European Journal of Operation Research]]></source>
<year>2010</year>
<volume>2007</volume>
<page-range>1086-5</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Naderi]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Ruiz]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Zandieh]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Algorithms for a realistic variant of flowshop scheduling]]></article-title>
<source><![CDATA[Computers & Operations Research]]></source>
<year>2010</year>
<volume>37</volume>
<page-range>236-46</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[Bert Van Vreckem]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Borodin]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[De Bruyn]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Reinforcement Learning Approach to Solving Hybrid Flexible Flowline Scheduling Problems]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[6 Multidisciplinary International Conference on Scheduling]]></conf-name>
<conf-loc>Gent Gent</conf-loc>
<page-range>402-9</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Chaudhry]]></surname>
<given-names><![CDATA[IA]]></given-names>
</name>
<name>
<surname><![CDATA[Munem khan]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Minimizing makespan for a no-wait: owshop using genetic algorithm]]></article-title>
<source><![CDATA[Sadhana]]></source>
<year>2012</year>
<volume>36</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>695-707</page-range></nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Manne]]></surname>
<given-names><![CDATA[AS]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[On the Job-Shop Scheduling Problem]]></article-title>
<source><![CDATA[Operations Research]]></source>
<year>1960</year>
<volume>8</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>219</page-range></nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Seda]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Mathematical Models of Flow Shop and Job Shop Scheduling Problems: World Academy of Science]]></article-title>
<source><![CDATA[Engineering and Technology]]></source>
<year>2007</year>
<volume>1</volume>
<numero>31</numero>
<issue>31</issue>
<page-range>122-7</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[González]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Soluciones Metaheurísticas al Job-Shop Scheduling Problem with Sequence-Dependent Setup Times]]></source>
<year>2011</year>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Yamada]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<source><![CDATA[Studies on Metaheuristics for Jobshop and Flowshop Scheduling Problems]]></source>
<year>2003</year>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Johnson]]></surname>
<given-names><![CDATA[SM]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Optimal two and three stage production schedules with setup times included]]></article-title>
<source><![CDATA[Naval Research Logistics Quarterly]]></source>
<year>1954</year>
<volume>1</volume>
<page-range>402-52</page-range></nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ancâu]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[On Solving Flow Shop Scheduling Problems]]></article-title>
<source><![CDATA[Proceedings of the Romanian Academy]]></source>
<year>2012</year>
<volume>13</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>71-9</page-range></nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Singhal]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[Singh]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Dayma]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An Improved Heuristic for Permutation Flow Shop Scheduling (NEH ALGORITHM)]]></article-title>
<source><![CDATA[International Journal Of Computational Engineering Research]]></source>
<year>2012</year>
<volume>2</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>95-100</page-range></nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Brucker]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Hurink]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Jurisch]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A branch & bound algorithm for the open-shop problem]]></article-title>
<source><![CDATA[Elsevier Science Discrete Applied Mathematics]]></source>
<year>1997</year>
<volume>76</volume>
<page-range>43-59</page-range></nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ling Wang]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Zhang]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Zheng]]></surname>
<given-names><![CDATA[DZ]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An effective hybrid genetic algorithm for flow shop scheduling with limited buffers]]></article-title>
<source><![CDATA[Computers & Operations Research]]></source>
<year>2006</year>
<volume>33</volume>
<page-range>2960-71</page-range></nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Nagar]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Heragu]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Haddock]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A branch and bound approach for two-machine flowshop scheduling problem]]></article-title>
<source><![CDATA[Journal of the Operational Research Society]]></source>
<year>1995</year>
<volume>46</volume>
<page-range>721-34</page-range></nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Chie-Wun]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Wen-Min]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Chin-Min]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A genetic algorithm for scheduling dual flow shops]]></article-title>
<source><![CDATA[Expert Systems with Applications]]></source>
<year>2012</year>
<volume>39</volume>
<page-range>1306-14</page-range></nlm-citation>
</ref>
<ref id="B21">
<label>21</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Tasgetiren]]></surname>
<given-names><![CDATA[MF]]></given-names>
</name>
<name>
<surname><![CDATA[Liang]]></surname>
<given-names><![CDATA[YC]]></given-names>
</name>
<name>
<surname><![CDATA[Sevkli]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A particle swarm optimization algorithm for make span and total flow time minimization in the permutation flowshop sequencing problem]]></article-title>
<source><![CDATA[European Journal of Operational Research]]></source>
<year>2007</year>
<volume>177</volume>
<page-range>1930-47</page-range></nlm-citation>
</ref>
<ref id="B22">
<label>22</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Taillard]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Benchmarks for basic scheduling problems]]></article-title>
<source><![CDATA[European Journal of Operational Research]]></source>
<year>1993</year>
<volume>64</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>278-85</page-range></nlm-citation>
</ref>
<ref id="B23">
<label>23</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Rahimi-Vahed]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Mirghorbani]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A multi-objective particle swarm for a flowshop scheduling problem]]></article-title>
<source><![CDATA[Journal of Combinatorial Optimization]]></source>
<year>2007</year>
<volume>13</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>79-102</page-range></nlm-citation>
</ref>
<ref id="B24">
<label>24</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Pinedo]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Scheduling Theory, Algorithms, and Systems]]></source>
<year>2008</year>
<edition>3</edition>
<page-range>586</page-range><publisher-loc><![CDATA[^eNew Jersey New Jersey]]></publisher-loc>
<publisher-name><![CDATA[Prentice Hall Inc]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B25">
<label>25</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Martínez]]></surname>
<given-names><![CDATA[Y]]></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="B26">
<label>26</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Suárez]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
</person-group>
<source><![CDATA[Solución al problema de secuenciación en máquinas paralelas utilizando Aprendizaje Reforzado]]></source>
<year>2010</year>
<publisher-loc><![CDATA[^eVilla Clara Villa Clara]]></publisher-loc>
<publisher-name><![CDATA[Universidad Central de las Villas]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B27">
<label>27</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Mehmet]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[Betul]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Multi-objective permutation flow shop scheduling problem: Literature review, classification and current trends]]></article-title>
<source><![CDATA[Omega]]></source>
<year>2014</year>
<volume>45</volume>
<page-range>119-35</page-range></nlm-citation>
</ref>
<ref id="B28">
<label>28</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Fonseca]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[Martínez]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Bermudez]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Reinforcement Learning Approach for Scheduling Problems]]></article-title>
<source><![CDATA[Revista Investigación Operacional]]></source>
<year>2015</year>
<volume>36</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>225-35</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
