Resumen:
La presente investigación tuvo como objetivo optimizar mediante técnicas de computación paralela, el tiempo de ejecución de un algoritmo genético aplicado a la planificación de la programación agrícola, se utilizaron herramientas como Google Colab, Python 3.8, la librería Torch, en la fase de codificación, no fue posible paralelizar todos los módulos, por lo que se decidió paralelizar los más complejos en cuanto a número de operaciones, en la fase de resultados se obtuvieron excelentes tiempos de ejecución, donde se destaca una mejoría del 200%, esto para soluciones mayores a 50 genes (Productos Agrícolas) frente al algoritmo no paralelizado. Se implementó un módulo web para generar nuevas instancias, mismo que recibió datos como: número de ciclos para la cosecha, área disponible, fecha de inicio del cultivo, población (número de soluciones), número de productos (número de productos que se desean formen parte de la solución), y este genera como resultado una población de soluciones con los mayores márgenes de beneficios.
Descripción:
The objective of this research was to optimize the execution time of a genetic algorithm applied to the planning of agricultural programming using parallel computing techniques, tools such as Google Colab, Python 3.8, Torch library, where applied, it was not possible to parallelize all the modules in the coding phase, so the most complex in terms of number of operations had to be parallelized, among the results excellent improvements were obtained with times greater than 200% for solutions greater than 50 genes (Agricultural Products) compared to the none-parallelized algorithm. A web module was implemented to generate new instances, which received parameters such as: number of cycles for harvest, available area, date of start of cultivation, population (number of final solutions), number of products (number of products desired to be part of the solution), and this results in a population of solutions with the highest profit margins.