Loading [MathJax]/jax/output/HTML-CSS/jax.js
Typesetting
RIDE. Revista Iberoamericana para la Investigación y el Desarrollo Educativo
Aplicación de algoritmos genéticos con reglas de decisión en el balanceo de líneas en forma de U estocástico
Sep 30 2023
Resumen
Actualmente, la mayoría de investigaciones acerca del problema de balaceo de líneas de ensamble consideran que los tiempos de las tareas son determinados. Sin embargo, en los procesos de fabricación siempre existe la posibilidad de obtener en los procesos variaciones que impactan en los tiempos de las tareas. Por eso, en el presente trabajo, con base en un enfoque estocástico, se presenta un método que utiliza técnicas metaheurísticas mediante un algoritmo genético, el cual tiene como objetivo brindar una solución al problema de balanceo tipo 1 de líneas en forma de U con tiempos de tarea estocásticos. Para ello, se han tomado como referencia problemas existentes en la literatura para luego ofrecer una comparación entre las soluciones existentes. En el proceso de validación se utilizaron siete categorías de problemas resueltos por otro método. La solución brindada por el algoritmo se sometió a un análisis experimental de los datos para comprobar si era capaz de dar una o más soluciones mejores a las existentes; de ese modo, se buscó balancear la línea con la menor cantidad de recursos humanos posible. Los datos muestran mejores soluciones para los problemas de alta varianza únicamente en el resultado WS mayor, donde se observa una diferencia del 4 %; en los demás hallazgos los porcentajes son mejores. Además, se encontraron seis soluciones mejores a las existentes.
Introducción
En los procesos productivos industriales existe infinidad de operaciones desarrolladas directamente por el ser humano, cada una de las cuales debe estar balanceada según las diferentes necesidades del proceso productivo, de ahí que sea importante tener un balanceo de líneas adecuado para cumplir con las demandas estimadas del producto. Al respecto, Orejuela y Flórez (2019) destacan que los primeros diseños de líneas de ensamble se desarrollaron para obtener eficiencia y eliminar costos de producción en operaciones que comúnmente trabajan contra inventarios. Por eso, se han desarrollado investigaciones para crear métodos óptimos de asignación de tareas en las estaciones de una línea de ensamble, a los cuales se les denomina problema de balanceo de la línea de ensamble (ALBP).
Las líneas de montaje pueden ser de tipo lineal y tipo U; estas últimas ofrecen una productividad y una calidad mejoradas, por lo que se consideran una de las mejores para implementar sistemas just-in-time (JIT). Aunque existe un creciente interés en la literatura para organizar líneas de montaje rectas o lineales como líneas en forma U para mejorar el rendimiento, los trabajos literarios aún siguen siendo limitados. El problema de balanceo de la línea de ensamble tipo U (UALBP) es una extensión del problema de balanceo de la línea recta (SALBP), en el que las tareas se pueden asignar desde ambos lados del diagrama de precedencia (Baykasoğlu y Özbakır, 2006).
Los problemas de balanceo de línea se dividen en dos tipos: tipo 1 y tipo 2. En el primero ya se conoce el tiempo de ciclo, por lo que se asignan las tareas a las estaciones de trabajo para minimizar el número de estaciones. En el problema tipo 2 se busca disminuir el tiempo de ciclo cuando el número de estaciones es fijo.
Las técnicas heurísticas y metaheurísticas han permitido el desarrollo de metodologías de solución para los problemas de balanceo de líneas de ensamble que no pueden ser atendidos con métodos convencionales. Por ejemplo, Gallego et al. (2015) mencionan que las técnicas metaheurísticas son de gran utilidad para resolver problemas de optimización, los cuales no pueden ser solventados por otro tipo de técnicas
Las metaheurísticas operan mediante algoritmos no de orden común, sino especiales porque, básicamente, no se rigen por un patrón predictivo, ni causal, ni organizado, sino aleatorio. Este algoritmo adquiere su forma óptima a través de itinerancias o pruebas que aproximan la solución. “Los algoritmos más conocidos en metaheurística son los algoritmos genéticos, la búsqueda tabú, algoritmo de colonia de hormigas (ACO), recocido simulado, optimización con enjambre de partículas (PSO)” (Maldonado, 2016, p. 173).
Los algoritmos genéticos fueron desarrollados originariamente por J. Holland. Estos tienen la capacidad de aprender, lo que constituye el rasgo más determinante en la evolución de cualquier sistema vivo o que exhiba vida. Esta técnica de búsqueda usa una población de soluciones que son manipuladas independientemente (Maldonado, 2016).
Actualmente, en la mayoría de los estudios del ALBP se consideran parámetros determinados. Sin embargo, en los procesos de fabricación real siempre existe incertidumbre, ya que puede haber variaciones en los tiempos de operaciones manuales y de la maquinaria. Por eso, para minimizar los efectos negativos de todos estos problemas inesperados se ha aplicado la teoría estocástica en el SALBP y el UALBP (Zhang et al., 2018).
Ahora bien, aunque en los últimos años diferentes autores han propuesto metodologías para resolver el ALBP, la presente investigación se desarrolla dentro del enfoque estocástico en el balanceo de líneas en forma de U tipo 1. Los algoritmos genéticos, al ser métodos más eficientes, nos proporcionan más opciones de posibles soluciones al problema de equilibrado estocástico de líneas en forma de U tipo 1. En ese sentido, Martínez (2015) desarrolló y publicó un nuevo algoritmo que emplea técnicas metaheurísticas mediante algoritmos genéticos con reglas heurísticas, las cuales pueden ayudar a resolver ALBP y UALBP, pues proporcionan una o más soluciones buenas, y en algunos casos óptimas, para aplicar a cualquier proceso.
Para resolver el UALBP tipo 1 estocástico, el algoritmo es adaptado incorporando ecuaciones para calcular las probabilidades de que los tiempos en las estaciones de trabajo excedan los tiempos de ciclo. El desempeño del algoritmo es evaluado y comparado con las soluciones existentes en la literatura de Adil Baykasoğlu y Lale Özbakır (2006) “Stochastic U-line balancing using genetic algorithms” (p. 139).
Métodos y materiales
Algoritmo genético
Para Cortez (2004) un proceso computacional, también llamado proceso algorítmico o algoritmo, es fundamental para la ciencia de la computación, puesto que un computador no puede ejecutar un problema que no tenga una solución algorítmica. Evaluar la eficiencia de los algoritmos, por ende, tiene mucho que ver con valorar la complejidad de estos. En este sentido, la teoría de la complejidad computacional es la parte de la teoría de la computación que estudia los recursos requeridos durante el cálculo para resolver un problema. Los recursos comúnmente estudiados son el tiempo (número de pasos de ejecución de un algoritmo para resolver un problema) y el espacio (cantidad de memoria utilizada para resolver un problema). Un algoritmo que resuelve un problema, pero que tarda mucho en hacerlo, difícilmente será de utilidad.
Los algoritmos genéticos forman parte de las llamadas técnicas evolutivas, propuestas originalmente en los años 50, que tienen una estructura básica común: realizan la reproducción, llevan a cabo variaciones aleatorias, promueven la competencia y ejecutan la selección de individuos de una población determinada. Siempre que estos cuatro procesos están presentes, ya sea en la naturaleza o en una simulación informática, la evolución es el producto resultante.
En las simulaciones informáticas -según Gallego et al. (2015) - los algoritmos genéticos, al igual que otras técnicas evolutivas, simulan un proceso de selección natural para obtener la solución de problemas de optimización. En este caso, el problema por resolver desempeña el papel del entorno y cada individuo de la población está asociado a una solución candidata. De este modo, un individuo estará más adaptado al entorno siempre que corresponda a una solución más eficaz del problema.
La computación evolutiva presenta la ventaja de poder resolver problemas a través de descripciones matemáticas simples. “De este modo, la computación evolutiva debe ser entendida como un conjunto de técnicas y procedimientos genéricos y adaptables, para ser aplicados en la resolución de problemas complejos, para los que otras técnicas conocidas son ineficaces o no aplicables” (Gallego et al., 2015, p. 6).
Los algoritmos evolutivos son técnicas basadas en una población de individuos, los cuales están en constante comunicación y compartiendo información a través de operadores de reproducción y mutación. La población está formada por varios individuos, que generalmente se representan mediante una cadena binaria llamada cromosoma, donde cada bit de esta cadena se conoce como gen (Esparza, 2009).
Algoritmo de codificación directa modificado para resolver el UALBP estocástico tipo 1
En la codificación directa el algoritmo genético es alimentado con los datos específicos de cada problema. Los problemas de balanceo tienen un número de tareas, tiempos de tareas, restricciones y precedencia de estas, así como un tiempo de ciclo determinado. En el algoritmo de codificación directa cada gen representa una tarea, es decir, el número de genes es equivalente a la cantidad de tareas. Los datos mencionados previamente se introducen al algoritmo y este generara una población inicial; luego comienza la búsqueda de un cromosoma ideal (uno que genere un número óptimo de estaciones de trabajo). Si no se encuentra dicho cromosoma, nuevas poblaciones son generadas utilizando operaciones genéticas de reproducción, cruce y mutación (Martínez, 2015).
Codificación
Como lo comenta Martínez (2015), el primer paso para construir un algoritmo genético es definir una representación genética denominada codificación. Así, cada tarea se enumera secuencialmente en el orden en que se asignará a las estaciones de trabajo, y cada gen del cromosoma contiene el número de tarea que representa (Martínez, 2015).
El cromosoma es simbolizado por un gráfico lineal o diagrama isomórfico, denominado de esta manera en la teoría de gráficos. El diagrama isomórfico contiene la misma configuración respecto a precedencia relacionada al diagrama original, es decir, el diagrama isomórfico es equivalente al diagrama de precedencia. Este se utiliza para construir un cromosoma.
El método utilizado para construir una secuencia aleatoria válida de genes en el cromosoma (diagrama isomórfico) es el siguiente:
  • Paso 1: Generar un cromosoma vacío con un número de genes igual al número de tareas.
  • Paso 2: Seleccionar un conjunto de tareas que no tenga precedencia.
  • Paso 3: Seleccionar una tarea disponible de manera aleatoria y agregarla al cromosoma.
  • Paso 4: Eliminar del conjunto de tareas sin precedencia la tarea seleccionada.
  • Paso 5: Agregar todas las tareas sucesoras inmediatas a la tarea agregada, siempre y cuando todos sus predecesores ya estén en el cromosoma.
  • Paso 6: Si aún existen tareas sin asignar, regresar al paso 3; de lo contrario, terminar el cromosoma.
En las figuras 1 y 2 se muestra el diagrama de precedencia y la representación isomórfica, respectivamente, para el problema de Mertens.
Población inicial
La población inicial de cromosomas se genera de forma aleatoria, y el número de cromosomas por utilizar es definido por el usuario. Muchas de las posibles combinaciones de genes son irrelevantes porque violan las restricciones de precedencia. Para generar la población inicial se utiliza el método de construcción del diagrama isomórfico. Así, se garantiza que los cromosomas generados mantengan una secuencia válida de genes. En la tabla 1 se muestra un cromosoma para el problema de Mertens.
Dado que cada cromosoma es representado por un diagrama isomórfico, este se puede utilizar para mostrar de forma gráfica cómo estaría representada la línea en forma de U una vez que se haya solucionado el problema. En la figura 3 se muestra la representación gráfica en forma de U para el problema de Mertens.
Decodificación
Los cromosomas son generados de tal manera que la secuencia no viole las restricciones de precedencia, lo cual permite que las tareas sean asignadas de múltiples formas a las estaciones de trabajo en lugar de una (Martínez, 2015). El proceso de decodificación se refiere al procedimiento mediante el cual los genes de cromosoma (tareas) son asignados a las estaciones de trabajo y la manera en que estas se van generando.
Cuando este proceso termina se obtiene una solución, la cual muestra un índice de aptitud (número de estaciones de trabajo), un índice de suavidad y un tiempo computacional.
Las siguientes notaciones utilizadas por Baykasoğlu y Özbakır (2006) son empleadas para el desarrollo del algoritmo.
El método utilizado para decodificar el cromosoma se describe a continuación:
  • Crear una estación de trabajo vacía.
  • Seleccionar la tarea inicial y la final, y asignar una de ellas a la primera estación de trabajo.
  • Calcular la probabilidad de que el tiempo de la estación exceda el tiempo de ciclo utilizando las ecuaciones 1 y 2 (Baykasoğlu y Özbakır, 2006).
Pk=1-F(Zk)
(1)
Zk=(T-Σµi) Σσi²
(2)
  • 4. Si la probabilidad de que el tiempo de la estación exceda el tiempo de ciclo es menor al valor de α, se continúa con la asignación de tareas a la estación.
  • 5. Si la probabilidad de que el tiempo de la estación exceda el tiempo de ciclo es mayor al valor de α, se abre la siguiente estación y se continúa con la asignación de tareas.
  • 6. Se agregan las tareas del extremo izquierdo si sus antecesores ya están en el cromosoma, y se agregan las tareas de los extremos derecho si sus sucesores ya han sido asignados.
  • 7. Regresar al paso 3, y repetir el proceso hasta terminar la asignación de tareas; posteriormente, finalizar el proceso.
Generación de la varianza
La literatura del problema de balanceo de líneas en forma de U estocástico es muy limitada. Si bien las metodologías que se han propuesto muestran el desarrollo del método para llegar a la solución, no enseñan valores específicos para la media y la varianza de las tareas. En tal sentido, Armin Scholl (1993) propuso un conjunto de problemas, los cuales han sido utilizados por distintos autores en soluciones al problema de balanceo de líneas; sin embargo, resulta complicado encontrar problemas en la literatura que muestren los valores específicos para la varianza de las tareas; en consecuencia, fue necesario desarrollar un método y combinarlo con el enfoque de Carraway utilizado por Urban y Chiang (2006) para la generación de dichas varianzas.
La varianza se genera aleatoriamente empleado parte del enfoque de Carraway. En este se generan valores aleatorios de varianza en dos intervalos [0, (Ti/4)²] para baja varianza y [0, (Ti/2)²] para alta varianza y utilizando los tiempos de ciclo mínimos para generar un rango de valores aleatorios. Para mostrar el procedimiento se utiliza el problema de Mertens. La tabla 2 muestra la media del tiempo de las tareas para este problema.
1. Los valores máximos de Zk fueron determinados como 1.28, 1.645, y 1.96 (Urban y Chiang 2006). Utilizando la ecuación 2, se pueden desarrollar las siguientes ecuaciones y determinar un valor máximo de la varianza para cada tarea.
σi=(C-µi) Zk
(3)
σi²=[(C-µi) Zk]²
(4)
2. Cálculo de varianza tarea 1.
 σi=(8-1) 1.96=3.571,  σi=(8-1) 1.645=4.255,  σi=(8-1) 1.28=5.469
           σi2=12.755                           σi2=18.105                          σi2=29.909
Se observa que la varianza menor calculada es para el valor de Zk de 1.96. Este es el valor que se selecciona como máximo de varianza para esta tarea. Además, se usa como valor máximo para el intervalo de valores aleatorios para la varianza de esta tarea. Este es seleccionado debido a que cualquier valor mayor de varianza no generaría ninguna solución, es decir, no existe manera de asignar la tarea (en este caso, la 1 a alguna estación de trabajo9, ya que una varianza mayor excedería la probabilidad de que el tiempo de la estación exceda el tiempo de ciclo. Se realiza el mismo procedimiento para las tareas faltantes. A continuación, en la tabla 3 de resultados se incluye el enfoque de Carraway para la selección del intervalo de la varianza.
3. Se comparan los valores de las columnas [0,(Tj/4)²](rango de varianza Carraway) y σ² calculada, y se seleccionan los valores menores. En este ejemplo, se seleccionan los valores de la columna [0,(Tj/4)²], dado que son los menores para las tareas 1, 2, 3, 4, 5 y 7; para la tarea 6 se selecciona el valor de la columna σ² calculada. En la tabla 4 se observan los intervalos de la varianza y los resultados aleatorios para la misma.
4. Con los datos de varianza generados de manera aleatoria se crea la tabla 5 con los valores de la media y varianza para el algoritmo.
Desarrollo del algoritmo
Los pasos para la solución del cromosoma generado se describen a continuación:
  • Colocar las posibles tareas asignables (1,6) a la estación del trabado 1.
  • Seleccionar una de las tareas de forma aleatoria.
  • Determinar la probabilidad de que el tiempo de la estación exceda el tiempo de ciclo.
  • Si la probabilidad de que el tiempo de la estación exceda el tiempo de ciclo es menor al valor de α, se continúa con la asignación de tareas a la estación 1.
  • Si la probabilidad de que el tiempo de la estación exceda el tiempo de ciclo es mayor al valor de α, se abre la estación 2 y se continúa con la asignación de tareas.
Para ejemplificar el proceso de solución del algoritmo se utiliza el cromosoma previamente mostrado en la tabla 1 y se utilizan los datos de la tabla 5. En la tabla 6 se muestran los pasos para la solución del cromosoma mencionado. El tiempo de ciclo propuesto es de 10 y la probabilidad propuesta es de 95 % (α = 0.05).
  • Operación 1
Cálculo de la probabilidad de que el tiempo en la estación 1 exceda el tiempo de ciclo utilizando las ecuaciones 1 y 2 con la tarea 1 asignada:
1-F((10-1)/0.130)
Zk=(10-1) 0.130
Zk = 69.23
Valor P de la tabla Z:
F(Zk) = P(x<10) = 1
Pk = P(x>10) = 1 - P(x<10) = 0
  • Operación 2
1-F((10-7)/0.996)
Zk=(10-7) 0.996
Zk = 3.012
Valor P de la tabla Z:
F(Zk) = P(x<10) = 0.9987
Pk = P(x>10) = 1 - P(x<10) = 0.001
  • Operación 3
1-F((10-7)/0.996)
Zk=(10-10) 1.239
Zk = 0
Valor P de la tabla Z:
F(Zk) = P(x<10) = 0.5
Pk = P(x>10) = 1 - P(x<10) = 0.5
Al finalizar la operación 3 se observa que la probabilidad de que el tiempo de la estación 1 exceda el tiempo de ciclo es mayor al valor de α; por lo tanto, se abre la estación 2.
Las operaciones para cada una de las tareas seleccionadas para ser asignadas a las siguientes estaciones se realizan de la misma manera. La solución para este cromosoma da como resultado seis estaciones de trabajo.
Solución computacional
El algoritmo computacional desarrolla soluciones buscando cromosomas que generen soluciones factibles mediante operaciones genéticas. El proceso implica lo siguiente: el usuario define las poblaciones iniciales, se seleccionan los cromosomas más adecuados para realizar la operación de cruce, se realiza una selección aleatoria de cromosomas para la operación de mutación, y se complementa la nueva población con cromosomas más adecuados para ser conservados y con nuevos cromosomas. Este proceso continúa hasta alcanzar el número de generaciones establecido. El diagrama de bloques de la figura 4 representa el proceso del algoritmo.
Resultados
Para evaluar el algoritmo para el problema de balanceo de líneas en forma de U tipo 1 estocástico se utilizó el conjunto de problemas de balanceo de línea presentado por Armin Scholl (1993), el cual ha sido utilizado por varios autores para probar diferentes metodologías de solución al problema de balanceo de línea. Este conjunto de problemas propone tiempos de tarea, los cuales fueron considerados como la media del tiempo de la tarea (µi).
Siete categorías de problemas son utilizadas para la evaluación del algoritmo: Mertens (7 tareas), Bowman (8 tareas), Jaeschke (9 tareas), Jackson (11 tareas), Mitchell (21 tareas), Heskiaoff (28 tareas), y Killbridge (45 tareas). Los problemas se evalúan en dos rangos de varianza (alta y baja varianza), lo que permite visualizar el impacto en las soluciones con diferentes rangos en la varianza de las tareas. Las probabilidades de finalización de tareas se ajustaron a 0.90, 0.95 y 0.97 (Kα = 1.28, 1.645, y 1.96, respectivamente). La combinación de estas categorías con su tiempo de ciclos respectivos, los rangos de varianza y las diferentes probabilidades generan un total de 165 problemas. Estos fueron resueltos con una computadora personal de 2.3 GHz. En las tablas 7 y 8 se muestran los resultados resaltados en negritas del desarrollo computacional del algoritmo y las soluciones existentes en la literatura de Baykasoğlu y Özbakır (2006).
Al finalizar el proceso de evaluación el algoritmo muestra los siguientes resultados:
  • Índice de suavidad (SI)
  • Número de estaciones de trabajo (WS)
  • Tiempo computacional (CPT)
El índice de suavidad muestra qué tan cercano está el cromosoma (solución) generado de lograr el equilibrio de la línea de producción. Un número más cercano a cero es mejor, pues entre más pequeño sea este valor, significa que se está más cerca de lograr un equilibrio perfecto. El número de estaciones de trabajo indica la cantidad de estaciones de trabajo que se generan por cada cromosoma. El tiempo computacional indica el tiempo que consume el algoritmo para generar los cromosomas (las unidades de tiempo se muestran en nanosegundos). En la figura 5 se observa un ejemplo de la solución computacional del algoritmo.
Discusión
De los resultados obtenidos se realiza una tabla comparativa con las soluciones existentes de Baykasoğlu y Özbakır (2006) para alta y baja varianza, donde se muestra la cantidad y porcentaje para los siguientes resultados:
  • Ws mayor. Problemas en los cuales se generó una WS (estación de trabajo) más.
  • WS similar, menor CPT. Problemas en los cuales la cantidad de WS es similar con un CPT (tiempo computacional) menor.
  • WS similar, mayor CPT. Problemas en los cuales la cantidad de WS es similar con un CPT mayor.
  • WS menor. Problemas para los cuales se generó un número de WS menor.
  • No se encontró solución factible. Problemas para los cuales no se encontró solución.
  • Total de problemas. Numero de problemas realizados.
Del análisis de los resultados, podemos afirmar que el algoritmo evaluado brinda mejores soluciones para los problemas de alta varianza, pues únicamente para el resultado WS mayor se observa una diferencia de 4 %. En cambio, en los resultados restantes los porcentajes son mejores. Además, se puede observar que se encontraron seis soluciones mejores a las existentes. En este sentido, las soluciones para algunos problemas muestran variación por una tarea adicional como máximo, aunque en la mayoría el número de las estaciones de trabajo son similares a las existentes. Respecto a los tiempos computaciones de las soluciones, no se observa gran diferencia, pues la mayoría de los tiempos está por debajo de 1 segundo. La tabla 10 enseña los promedios de los tiempos para ambas varianzas.
En definitiva, se puede observar que los tiempos promedios de las soluciones del algoritmo son mejores a los existentes, lo cual muestra la capacidad del algoritmo para encontrar las soluciones en un tiempo computacional menor.
Conclusiones
La realización de este trabajo reafirmó la efectividad de los algoritmos genéticos computacionales para solución de problemas complejos, pues mediante la validación se hallaron resultados similares a los existentes en la literatura.
Por otra parte, cabe indicar que en muchos casos el balanceo de líneas se realiza basándose en la experiencia del personal a cargo de esta tarea, es decir, no se emplean metodologías basadas en la metaheurística u otra herramienta. Un balanceo empírico, por ende, no siempre resulta lo más adecuado, ya que puede implicar incrementos en los costos de producción. Sin embargo, con esta nueva herramienta basada en algoritmos genéticos se puede realizar un balanceo más adecuado en las líneas en forma de U con tiempos de tarea estocásticos. Una de sus características más destacada es la versatilidad, pues permite variar distintos parámetros para obtener una cantidad considerable de soluciones. Esto sirve para experimentar y observar los diferentes aspectos que pueden mejorar u optimizar la operación, con lo cual se puede lograr un balanceo con la menor cantidad de recursos humanos posible.
Asimismo, la validación del algoritmo fue un proceso muy extenso, ya que los problemas realizados se desarrollaron con diferentes valores de probabilidad y rangos de varianza. Esto fue muy importante porque permitió someter el algoritmo a diferentes escenarios para conseguir una comparación lo más pareja posible.
Finalmente, es importante destacar que las varianzas de ambas soluciones fueron generadas aleatoriamente, por lo que resulta difícil concluir que un algoritmo brinde la mejor solución al problema de balanceo de línea en forma de U estocástico tipo 1. Por ello, para tener una comparación más realista, sería necesario realizar el estudio computacional con varianzas iguales.
Futuras líneas de investigación
Con los resultados obtenidos se tiene una idea más clara de las soluciones que puede mostrar el algoritmo. De hecho, como medida de evaluación de la solución el algoritmo muestra el SI (índice de suavidad), aunque también existen tres medidas que ayudan a evaluar la solución. Un trabajo futuro, por tanto, podría mejorar el algoritmo e incorporar estas tres medidas de evaluación de la solución:
  • Balance delay.
  • Eficiencia de línea.
  • Eficiencia del balance.
Resumen
Introducción
Métodos y materiales
Algoritmo genético
Algoritmo de codificación directa modificado para resolver el UALBP estocástico tipo 1
Codificación
Población inicial
Decodificación
Generación de la varianza
Solución computacional
Resultados
Discusión
Conclusiones
Futuras líneas de investigación
Regresar