Como comentamos en nuestra anterior entrada, utilizamos la Simulación para resolver las necesidades más importantes de la industria, las cuales son complejas y tienen numerosas variables que influyen en su eficiencia, además, evaluamos los resultados y detectamos patrones de comportamiento. Estas soluciones las delegamos en algoritmos genéticos, una herramienta capaz de buscar de manera inteligente las combinaciones de variables que arrojen los mejores resultados.
Te contamos cómo funcionan:
- Iniciación. Se genera aleatoriamente una población de posibles soluciones (individuos o candidatos). Cada individuo representa una posible solución al problema planteado y suelen codificarse como cadenas de parámetros o valores.
- Evaluación. Cada individuo de la población se evalúa en función de su aptitud, es decir, según lo bien que resuelva el problema planteado. La aptitud dirige el proceso de optimización, ya que los individuos con mayor aptitud tienen más probabilidades de contribuir a la siguiente generación. Si el problema a optimizar es muy complejo, aquí es donde el gemelo digital se combina con el algoritmo, evaluando cada individuo de la población.
- Selección. Se seleccionan individuos de la población actual para que puedan reproducirse entre ellos. La probabilidad de selección suele ser proporcional a la aptitud del individuo: los individuos con mayor aptitud tienen más posibilidades de ser seleccionados.
- Reproducción o recombinación. Se seleccionan parejas para realizar el cruce. Durante éste, el material genético (parámetros o valores) de dos individuos se intercambia para crear una nueva descendencia.
- Mutación. Se introducen cambios aleatorios en el material genético de algunos individuos de la población. La mutación ayuda a introducir diversidad en la población y evita que el algoritmo se estanque en un óptimo local.
- Nueva generación. Los nuevos descendientes, junto con algunos individuos de la generación anterior, forman la siguiente generación de la población. El algoritmo itera a través de estos pasos durante un cierto número de generaciones o hasta que se cumple un criterio de terminación, que puede ser encontrar una solución con una aptitud satisfactoria o limitar un tiempo de reloj.