El modelo poblacional de un algoritmo evolutivo (AE) describe las propiedades estructurales de su población, a las que están sujetos sus miembros. Una población es el conjunto de todas las soluciones propuestas por un AE en una iteración, denominadas individuos según el modelo biológico. Los individuos de una población pueden generar nuevos individuos como descendencia mediante los operadores genéticos del procedimiento.
El modelo poblacional más simple y ampliamente utilizado en los EA es el modelo global o panmíctico , que corresponde a una población no estructurada. [ 1 ] [ 2 ] Permite que cada individuo elija a cualquier otro individuo de la población como pareja para la producción de descendencia por cruce , donde los detalles de la selección son irrelevantes siempre que la aptitud de los individuos juegue un papel significativo. Debido a la selección global de pareja, la información genética de individuos incluso ligeramente mejores puede prevalecer en una población después de algunas generaciones ( iteración de un EA), siempre que no haya surgido otra descendencia mejor en esta fase. Si la solución encontrada de esta manera no es la óptima buscada, eso se llama convergencia prematura . [ 3 ] Este efecto puede observarse con más frecuencia en poblaciones panmícticas. [ 4 ]
En la naturaleza, las poblaciones con apareamiento global son poco comunes. Lo que predomina es un aislamiento limitado debido a la distancia espacial. Los vecindarios locales resultantes evolucionan inicialmente de forma independiente, y los mutantes tienen mayor probabilidad de persistir durante varias generaciones. Como resultado, la diversidad genotípica en el acervo genético se conserva durante más tiempo que en una población panmíctica.
It is therefore obvious to divide the previously global population by substructures. Two basic models were introduced for this purpose, the island models, which are based on a division of the population into fixed subpopulations that exchange individuals from time to time,[1][5] and the neighbourhood models, which assign individuals to overlapping neighbourhoods,[4][6] also known as cellular genetic or evolutionary algorithms (cGA or cEA).[7][8] The associated division of the population also suggests a corresponding parallelization of the procedure. For this reason, the topic of population models is also frequently discussed in the literature in connection with the parallelization of EAs.[1][2][4][5][9][10]
Island models

In the island model, also called the migration model or coarse grained model, evolution takes place in strictly divided subpopulations. These can be organised panmictically, but do not have to be. From time to time an exchange of individuals takes place, which is called migration.[2][5] The time between an exchange is called an epoch and its end can be triggered by various criteria: E.g. after a given time or given number of completed generations, or after the occurrence of stagnation. Stagnation can be detected, for example, by the fact that no fitness improvement has occurred in the island for a given number of generations. Island models introduce a variety of new strategy parameters:[11][12][13][14]
- Number of subpopulations
- Size of the subpopulations
- Neighbourhood relations between islands: they determine which islands are considered neighbouring and can thus exchange individuals, see picture of a simple unidirectional ring (black arrows) and its extension by additional bidirectional neighbourhood relations (additional green arrows)
- Criteria for the termination of an epoch, synchronous or asynchronous migration
- Tasa de migración: número o proporción de individuos que participan en la migración.
- Selección de migrantes: Existen muchas alternativas para esto. Por ejemplo, los mejores individuos pueden reemplazar a los peores o ser seleccionados al azar. Dependiendo de la tasa de migración, esto puede afectar a uno o más individuos a la vez.
Con estos parámetros, la presión selectiva puede verse influenciada en gran medida. Por ejemplo, aumenta con la interconexión de las islas y disminuye con el número de subpoblaciones o la duración del período.
Modelos de vecindad o algoritmos evolutivos celulares

El modelo de vecindad, también llamado modelo de difusión o modelo de grano fino , define una relación de vecindad topológica entre los individuos de una población que es independiente de sus propiedades fenotípicas . La idea fundamental de este modelo es proporcionar a la población EA una estructura especial definida como un grafo conectado, en el que cada vértice es un individuo que se comunica con sus vecinos más cercanos. [ 2 ] [ 6 ] En particular, los individuos se establecen conceptualmente en una malla toroidal y solo se les permite recombinarse con individuos cercanos. Esto conduce a un tipo de localidad conocida como aislamiento por distancia . [ 6 ] [ 7 ] El conjunto de parejas potenciales de un individuo se llama su vecindad o deme . La figura adjunta ilustra esto mostrando dos vecindades ligeramente superpuestas de dos individuos marcados en amarillo, a través de las cuales la información genética puede propagarse entre los dos demes. Se sabe que en este tipo de algoritmo, los individuos similares tienden a agruparse y crear nichos que son independientes de los límites del deme y, en particular, pueden ser más grandes que un deme. [ 6 ] [ 7 ] No existe una frontera clara entre grupos adyacentes, y los nichos cercanos podrían ser colonizados fácilmente por otros competitivos y tal vez fusionar el contenido de la solución durante este proceso. Simultáneamente, los nichos más alejados pueden verse afectados más lentamente. [ 6 ] [ 7 ] Los EA con este tipo de población también se conocen como EA celulares (cEA) [ 8 ] [ 15 ] o algoritmos genéticos celulares (cGA). [ 7 ] [ 16 ]


Una estructura comúnmente utilizada para organizar a los individuos de una población es una cuadrícula toroidal 2D, [ 17 ] [ 1 ] [ 2 ] [ 15 ] aunque el número de dimensiones puede extenderse fácilmente (a 3D) o reducirse (a 1D, por ejemplo, un anillo, [ 6 ] [ 15 ] ver la figura de la derecha). El vecindario de un individuo particular en la cuadrícula se define en términos de la distancia de Manhattan desde él a otros en la población. En el algoritmo básico, todos los vecindarios tienen el mismo tamaño y formas idénticas. Los dos vecindarios más comúnmente utilizados para cEA bidimensionales son L5 y C9, ver la figura de la izquierda. Aquí, L significa Lineal mientras que C significa Compacto . Cada deme representa una subpoblación panmíctica dentro de la cual la selección de pareja y la aceptación de la descendencia tienen lugar reemplazando al padre. Las reglas para la aceptación de la descendencia son de naturaleza local y se basan en el vecindario: por ejemplo, se puede especificar que la mejor descendencia debe ser mejor que el progenitor que se reemplaza o, de forma menos estricta, solo mejor que el peor individuo del deme. [ 2 ] [ 6 ] La primera regla es elitista y crea una mayor presión selectiva que la segunda regla no elitista. En los EA elitistas , el mejor individuo de una población siempre sobrevive. En este sentido, se desvían del modelo biológico.
La superposición de los vecindarios provoca una propagación mayormente lenta de la información genética a través de los límites del vecindario, de ahí el nombre de modelo de difusión . Una mejor descendencia ahora necesita más generaciones que en la panmixia para propagarse en la población. Esto promueve la aparición de nichos locales y su evolución local, preservando así la diversidad genotípica durante un período de tiempo más largo. [ 6 ] [ 17 ] [ 18 ] El resultado es un mejor y más dinámico equilibrio entre la búsqueda en amplitud y en profundidad adaptado al espacio de búsqueda durante una ejecución. [ 4 ] La búsqueda en profundidad tiene lugar en los nichos y la búsqueda en amplitud en los límites del nicho y a través de la evolución de los diferentes nichos de toda la población. [ 19 ] Para el mismo tamaño de vecindario, la propagación de la información genética es mayor para figuras alargadas como L9 que para un bloque como C9, y nuevamente significativamente mayor que para un anillo. [ 20 ] Esto significa que los vecindarios de anillo son bien adecuados para lograr resultados de alta calidad, incluso si esto requiere tiempos de ejecución comparativamente largos. Por otro lado, si lo que se busca principalmente son resultados rápidos y buenos, aunque posiblemente subóptimos, las topologías 2D son más adecuadas.
Comparación
Al aplicar ambos modelos de población a algoritmos genéticos, [ 5 ] [ 6 ] estrategia evolutiva [ 20 ] [ 17 ] [ 21 ] y otros EA, [ 22 ] [ 23 ] la división de una población total en subpoblaciones generalmente reduce el riesgo de convergencia prematura y conduce a mejores resultados en general de manera más confiable y rápida que lo que se esperaría con EA panmícticos. [ 2 ] [ 6 ]
Los modelos de islas tienen la desventaja, en comparación con los modelos de vecindario, de que introducen un gran número de nuevos parámetros de estrategia. A pesar de los estudios existentes sobre este tema en la literatura, [ 11 ] [ 24 ] [ 25 ] persiste cierto riesgo de configuraciones desfavorables para el usuario. Con los modelos de vecindario, por otro lado, solo es necesario especificar el tamaño del vecindario y, en el caso del modelo bidimensional, se añade la elección de la figura del vecindario. [ 26 ] [ 20 ] [ 27 ] [ 28 ]
Paralelismo
Dado que ambos modelos de población implican partición de la población, son adecuados como base para paralelizar un EA. [ 5 ] [ 10 ] [ 29 ] Esto se aplica aún más a los EA celulares, ya que dependen solo de información disponible localmente sobre los miembros de sus respectivos demes. Por lo tanto, en el caso extremo, se puede asignar un hilo de ejecución independiente a cada individuo, de modo que todo el cEA pueda ejecutarse en una plataforma de hardware paralela. [ 6 ] [ 30 ] [ 31 ] [ 32 ] El modelo de isla también admite la paralelización, por ejemplo, asignando un procesador a cada isla. Si las subpoblaciones de las islas están organizadas panmícticamente, todas las evaluaciones de los descendientes de una generación pueden paralelizarse adicionalmente. [ 9 ] [ 14 ] [ 33 ] En aplicaciones del mundo real, las evaluaciones suelen ser, con mucho, la parte que consume más tiempo. Por supuesto, también es posible diseñar las subpoblaciones de la isla como cEA, de modo que se apliquen las afirmaciones anteriores sobre la paralelización de cEA. De esta forma, se pueden crear estructuras de población jerárquicas con las paralelizaciones adecuadas. [ 9 ] Para la paralelización se pueden utilizar no solo clústeres de computadoras relativamente costosos, sino también tarjetas gráficas económicas ( GPU ) [ 34 ] [ 35 ] o las computadoras de una red [ 18 ] .
Sin embargo, es importante destacar que los cEA, o EA con una población distribuida en islas, representan un modelo de búsqueda que difiere en muchos aspectos de los EA tradicionales. Además, pueden ejecutarse tanto en plataformas secuenciales como paralelas, lo que subraya que modelo e implementación son dos conceptos distintos.
Bibliografía
- Erick Cantú-Paz (2001): Algoritmos genéticos paralelos eficientes y precisos (tesis doctoral, Universidad de Illinois, Urbana-Champaign, EE. UU.). Springer, Nueva York, NY. ISBN 978-1-4613-6964-6doi : 10.1007/978-1-4615-4369-5
- Martina Gorges-Schleuter (1990): Algoritmos genéticos y estructuras poblacionales: un algoritmo masivamente paralelo. Tesis doctoral, Universität Dortmund, Fakultät für Informatik, Alemania.
- Enrique Alba, Bernabé Dorronsoro (2008): Algoritmos Genéticos Celulares . Springer, Nueva York, Nueva York. ISBN 978-0-387-77609-5doi : 10.1007/978-0-387-77610-1
- Dirk Sudholt (2015): Parallel Evolutionary Algorithms. In Janusz Kacprzyk, Witold Pedrycz (eds.): Parallel Evolutionary Algorithms. Springer, Berlin, Heidelberg, pp. 929–959 ISBN 978-3-662-43504-5doi:10.1007/978-3-662-43505-2_46
- Gabriel Luque, Enrique Alba (2011): Parallel Genetic Algorithms. Springer, Berlin Heidelberg. ISBN 978-3-642-22083-8doi:10.1007/978-3-642-22084-5
See also
References
- 1234Cantú-Paz, Erik (1998). "A survey of parallel genetic algorithms"(PDF). Calculateurs Paralleles. 10 (2): 141–171.
- 1234567Gordon, V.S.; Whitley, D. (1993), "Serial and Parallel Genetic Algorithms as Function Optimizers", in Forrest, S. (ed.), Proceedings of the Fifth International Conference on Genetic Algorithms(PDF), San Mateo, CA: Morgan Kaufmann, pp. 177–183, ISBN 978-1-55860-299-1
- ↑Leung, Yee; Gao, Yong; Xu, Zong-Ben (1997). "Degree of population diversity - a perspective on premature convergence in genetic algorithms and its Markov chain analysis". IEEE Transactions on Neural Networks. 8 (5): 1165–1176. doi:10.1109/72.623217. ISSN 1045-9227. PMID 18255718.
- 1234Gorges-Schleuter, Martina (1990). Genetic Algorithms and Population Structures - A Massively Parallel Algorithm (PhD). Universität Dortmund, Fakultät für Informatik, Germany.
- 12345Cantú-Paz, Erik (1999). Efficient and Accurate Parallel Genetic Algorithms (PhD thesis, University of Illinois, Urbana-Champaign, USA). Genetic Algorithms and Evolutionary Computation. Vol. 1. Springer, New York, NY. doi:10.1007/978-1-4615-4369-5. ISBN 978-1-4613-6964-6.
- 1 2 3 4 5 6 7 8 9 10 11 Gorges-Schleuter, Martina (1991), "Paralelismo explícito de algoritmos genéticos a través de estructuras poblacionales", en Schwefel, Hans-Paul; Männer, Reinhard (eds.), Resolución de problemas paralelos a partir de la naturaleza , Lecture Notes in Computer Science, vol. 496, Berlín/Heidelberg: Springer-Verlag, págs. 150-159 , doi : 10.1007/bfb0029746 , ISBN 978-3-540-54148-6, consultado el 15 de diciembre de 2022
- 1 2 3 4 5 Gordon, V. Scott; Mathias, Keith; Whitley, Darrell (1994), "Algoritmos genéticos celulares como optimizadores de funciones", Actas del simposio ACM de 1994 sobre computación aplicada - SAC '94 , Phoenix, Arizona, Estados Unidos: ACM Press, págs. 237–241 , doi : 10.1145/326619.326732 , ISBN 978-0-89791-647-9, S2CID 6418773
- 1 2 Giacobini, M.; Tomassini, M.; Tettamanzi, AGB; Alba, E. (octubre de 2005). "Intensidad de selección en algoritmos evolutivos celulares para retículos regulares" . IEEE Transactions on Evolutionary Computation . 9 (5): 489– 505. doi : 10.1109/TEVC.2005.850298 . ISSN 1089-778X . S2CID 3184685 .
- 1 2 3 Khalloof, Hatem; Mohammad, Mohammad; Shahoud, Shadi; Duepmeier, Clemens; Hagenmeyer, Veit (2020-11-02), "Un marco genérico, flexible y escalable para la paralelización jerárquica de metaheurísticas basadas en poblaciones", Actas de la 12.ª Conferencia Internacional sobre Gestión de Ecosistemas Digitales , Evento virtual Emiratos Árabes Unidos: ACM, pp. 124–131 , doi : 10.1145/3415958.3433041 , ISBN 978-1-4503-8115-4, S2CID 227179748
- 1 2 Sudholt, Dirk (2015), "Algoritmos evolutivos paralelos", en Kacprzyk, Janusz; Pedrycz, Witold (eds.), Springer Handbook of Computational Intelligence (PDF) , Berlín, Heidelberg: Springer, pp. 929–959 , doi : 10.1007/978-3-662-43505-2_46 , ISBN 978-3-662-43504-5, consultado el 13 de febrero de 2023
- 1 2 Cantú-Paz, Erick (1999), "Topologías, tasas de migración y algoritmos genéticos paralelos multipoblacionales", Actas de la 1.ª Conferencia Anual sobre Computación Genética y Evolutiva (GECCO) , págs . 91–98
- ↑ Belkadi, K.; Gourgand, M.; Benyettou, M. (2006-11-08). "Algoritmos genéticos paralelos con migración para el problema de programación de talleres de flujo híbridos" (PDF) . Journal of Applied Mathematics and Decision Sciences . 2006 : 1–17 . ISSN 1173-9126 . Recuperado el 19 de marzo de 2026 .
- ↑ Abdelhafez, Amr; Alba, Enrique; Luque, Gabriel (septiembre de 2019). "Análisis de rendimiento de algoritmos genéticos distribuidos síncronos y asíncronos en multiprocesadores" . Swarm and Evolutionary Computation . 49 : 147–157 . doi : 10.1016/j.swevo.2019.06.003 . S2CID 196193164 .
- 1 2 Adar, N.; Kuvat, G. (2016). "Algoritmos genéticos paralelos con topología dinámica mediante computación en clúster" . Avances en ingeniería eléctrica e informática . 16 (3): 73– 80. doi : 10.4316/AECE.2016.03011 . ISSN 1582-7445 .
- 1 2 3 Alba, Enrique; Troya, José Ma (2000), "Algoritmos evolutivos celulares: evaluación de la influencia de la proporción", en Schoenauer, Marc; Deb, Kalyanmoy; Rudolph, Günther; Yao, Xin (eds.), Resolución de problemas paralelos de la naturaleza PPSN VI , vol. 1917, Berlín, Heidelberg: Springer, pp. 29–38 , doi : 10.1007/3-540-45356-3_3 , ISBN 978-3-540-41056-0, consultado el 11 de febrero de 2023
- ↑ Folino, G.; Pizzuti, C.; Spezzano, G. (1998), "Combinación de algoritmos genéticos celulares y búsqueda local para resolver problemas de satisfacibilidad", Actas de la Décima Conferencia Internacional IEEE sobre Herramientas con Inteligencia Artificial (Cat. No. 98CH36294) , Taipéi, Taiwán: IEEE, pp. 192–198 , doi : 10.1109/TAI.1998.744842 , ISBN 978-0-7803-5214-8, S2CID 8048158
- 1 2 3 Sprave, Joachim (1994), "Estrategia de evolución de vecindario lineal", Actas de la 3.ª Conferencia Anual sobre Programación Evolutiva (PDF) , Singapur: World Scientific, págs. 42–51 , consultado el 5 de noviembre de 2022.
- 1 2 Lim, Dudy; Ong, Yew-Soon; Jin, Yaochu; Sendhoff, Bernhard; Lee, Bu-Sung (2007). "Algoritmos genéticos paralelos jerárquicos eficientes mediante computación en malla" . Future Generation Computer Systems . 23 (4): 658– 670. doi : 10.1016/j.future.2006.10.008 .
- ↑ Alba, Enrique; Dorronsoro, Bernabé (2008). Algoritmos genéticos celulares . Nueva York: Springer. pag. 12.ISBN 978-0-387-77610-1OCLC 370728730
- 1 2 3 Gorges-Schleuter, Martina (1998), "Un estudio comparativo de la selección global y local en estrategias evolutivas", en Eiben, Agoston E.; Bäck, Thomas; Schoenauer, Marc; Schwefel, Hans-Paul (eds.), Resolución de problemas paralelos de la naturaleza — PPSN V , Lecture Notes in Computer Science, vol. 1498, Berlín, Heidelberg: Springer, pp. 367–377 , doi : 10.1007/bfb0056879 , ISBN 978-3-540-65078-2, consultado el 11 de febrero de 2023
- ↑ Gorges-Schleuter, Martina; Sieber, Ingo; Jakob, Wilfried (1999), "Estrategias de evolución de interacción local para la optimización del diseño", Actas del Congreso sobre Computación Evolutiva (CEC 99) , IEEE, pp. 2167–2174 , doi : 10.1109/CEC.1999.785544 , ISBN 978-0-7803-5536-1
- ↑ Jakob, Wilfried (1 de septiembre de 2010). "Un marco de adaptación general basado en el costo-beneficio para algoritmos multimeme" . Memetic Computing . 2 (3): 201– 218, pág. 207. doi : 10.1007/s12293-010-0040-9 . ISSN 1865-9292 . S2CID 167807 .
- ↑ Alba, Enrique; Dorronsoro, Bernabé; Alfonso, Hugo (2005). "Algoritmos meméticos celulares" . Journal of Computer Science and Technology . 5 (4): 257– 263. Recuperado el 4 de noviembre de 2022 .
- ↑ Wen-Yang Lin; Tzung-Pei Hong; Shu-Min Liu (2004), "Sobre la adaptación de parámetros de migración para algoritmos genéticos multipoblacionales", 2004 IEEE International Conference on Systems, Man and Cybernetics (IEEE Cat. No.04CH37583) , vol. 6, La Haya, Países Bajos: IEEE, pp. 5731–5735 , doi : 10.1109/ICSMC.2004.1401108 , ISBN 978-0-7803-8567-2, S2CID 31844333
- ↑ Hong, Tzung-Pei; Lin, Wen-Yang; Liu, Shu-Min; Lin, Jiann-Horng (2007-04-20). "Ajuste dinámico de las tasas de migración para algoritmos genéticos multipoblacionales" . Journal of Advanced Computational Intelligence and Intelligent Informatics . 11 (4): 410– 415. doi : 10.20965/jaciii.2007.p0410 . ISSN 1883-8014 .
- ↑ Sarma, Jayshree; De Jong, Kenneth (1996), "An analysis of the effects of neighborhood size and shape on local selection algorithms", en Voigt, Hans-Michael; Ebeling, Werner; Rechenberg, Ingo; Schwefel, Hans-Paul (eds.), Parallel Problem Solving from Nature — PPSN IV , vol. 1141, Berlín, Heidelberg: Springer, pp. 236– 244, doi : 10.1007/3-540-61723-x_988 , ISBN 978-3-540-61723-5, consultado el 16 de diciembre de 2024
- ↑ Alba, Enrique; Troya, José Ma (2000), "Algoritmos evolutivos celulares: evaluación de la influencia de la proporción", en Schoenauer, Marc; Deb, Kalyanmoy; Rudolph, Günther; Yao, Xin (eds.), Resolución de problemas paralelos inspirada en la naturaleza PPSN VI , vol. 1917, Berlín, Heidelberg: Springer, pp. 29–38 , doi : 10.1007/3-540-45356-3_3 , ISBN 978-3-540-41056-0, consultado el 16 de diciembre de 2024
- ↑ Alba, Enrique; Dorronsoro, Bernabé (2008). Algoritmos genéticos celulares . Serie de interfaces de investigación operativa/ciencia de la computación. Nueva York: Springer. ISBN 978-0-387-77610-1.
- ↑ Luque, Gabriel; Alba, Enrique (2011). Algoritmos genéticos paralelos . Estudios en inteligencia computacional. Vol. 367. Berlín, Heidelberg: Springer. doi : 10.1007/978-3-642-22084-5 . ISBN 978-3-642-22083-8.
- ↑ Jakob, Wilfried; Gorges-Schleuter, Martina; Blume, Christian (1992), "Aplicación de algoritmos genéticos a la planificación y el aprendizaje de tareas", en Männer, Reinhard; Manderick, Bernard (eds.), Resolución paralela de problemas inspirada en la naturaleza, PPSN-II , Ámsterdam: North Holland, pp . 293–302
- ↑ Luque, Gabriel; Alba, Enrique; Dorronsoro, Bernabé (julio de 2009), "Una implementación paralela asíncrona de un algoritmo genético celular para la optimización combinatoria", Actas de la 11.ª Conferencia Anual sobre Computación Genética y Evolutiva , Montreal, Quebec, Canadá: ACM, pp. 1395–1402 , doi : 10.1145/1569901.1570088 , ISBN 978-1-60558-325-9, S2CID 14113702
- ↑ Zhongwen Luo; Hongzhi Liu (2006), "Algoritmos genéticos celulares y búsqueda local para el problema 3-SAT en hardware gráfico", 2006 IEEE International Conference on Evolutionary Computation , Vancouver, BC, Canadá: IEEE, pp. 2988–2992 , doi : 10.1109/CEC.2006.1688685 , ISBN 978-0-7803-9487-2, S2CID 8142372
- ↑ Cahon, S.; Melab, N.; Talbi, E.-G. (mayo de 2004). "ParadisEO: un marco para el diseño reutilizable de metaheurísticas paralelas y distribuidas" . Journal of Heuristics . 10 (3): 357– 380. doi : 10.1023/B:HEUR.0000026900.92269.ec . ISSN 1381-1231 . S2CID 14972999 .
- ^ Jähne, Paul (2016), "Resumen del estado actual de la investigación sobre la paralelización de algoritmos evolutivos en tarjetas gráficas", en Mayr, Heinrich Christian; Pinzger, Martin (eds.), Informatik 2016 Tagung vom 26. - 30. Septiembre 2016 (PDF) , Bonn: Gesellschaft für Informatik, RFA, ISBN 978-3-88579-653-4, OCLC 962381748
- ↑ García-Calvo, Raúl; Guisado, Jl; Díaz-del-Río, Fernando; Córdoba, Antonio; Jiménez-Morales, Francisco (enero 2018). "Unidad de procesamiento de gráficos: algoritmos genéticos mejorados para resolver la dinámica temporal de las redes reguladoras de genes" . Bioinformática Evolutiva . 14 . doi : 10.1177/1176934318767889 . ISSN 1176-9343 . PMC 5898668 . PMID 29662297 .
- Algoritmos evolutivos