Discusión sobre el artículo "Algoritmos de optimización de la población: Algoritmo de forrajeo bacteriano (Bacterial Foraging Optimisation — BFO)"
Sería bueno probar todos estos algoritmos de optimización con más datos reales, en los que los parámetros sean cinco o más y el número de combinaciones sea grande.
Sería bueno probar todos estos algoritmos de optimización con más datos reales, en los que los parámetros sean cinco o más y el número de combinaciones sea grande.
en las pruebas se utilizan tres tipos de funciones de prueba (suave, suave con extremo "aguja" y discreta), cada una de estas funciones se prueba con 10, 50 y 1000 parámetros (9 pruebas en total). además, las pruebas se realizan con paso ¡0!
paso 0 significa que la precision hasta el digito 16 es doble, significa que el paso es 0.0000000000000001 para 1000 parametros, entonces, cuenta cuantas combinaciones obtienes.
ok, haré las cuentas. muy aproximadamente, son 10e10^1000, eso es alrededor de 10e16000. eso es más de lo que hay moléculas en el universo visible.
Es el número de parámetros:
input int Test1FuncRuns_P = 5; //1) Número de funciones en la prueba input int Test2FuncRuns_P = 25; //2) Número de funciones en la prueba input int Test3FuncRuns_P = 500; //3) Número de funciones en la prueba
Es el tamaño de la población:
input int BatsNumber_P = 50; //Número de murciélagos
Se calcula el número de épocas:
int epochCount = NumbTestFuncRuns_P / BatsNumber_P; ¿Lo he entendido todo bien en el código?
1- Es el número de parámetros:
2- Es el tamaño de la población:
3. Se estima el número de épocas:
¿Lo he sacado todo bien del código?
1. No. Las funciones de prueba son bidimensionales, es decir, por ejemplo:
input int Test1FuncRuns_P = 5; //1) Número de funciones en la pruebasignifica en ruso 5 funciones de prueba, por lo que se multiplica por 2 - 10 parámetros optimizados
25 - 50 parámetros optimizados
500 - 1000 parámetros optimizados
2. Sí.
3. Sí, así es, el número estimado de épocas se hace para que el número total de ejecuciones FF sea el mismo y no dependa de la elección del tamaño de la población en los algoritmos, es decir, para que las pruebas de los algoritmos sean justas con diferentes parámetros de tamaño de población en diferentes algoritmos.
De acuerdo, gracias.
Todos estos algoritmos, de la serie de artículos, son parralelables, no he mirado los otros? Creo que me vendría bien, es útil, sólo que la función a optimizar es más compleja, tiene un número dinámico de parámetros, tanto reales como enteros, y con distintos rangos, hay que resolver el problema a posteriori
Ya veo, gracias.
Todos estos algoritmos, de la serie de artículos, son parralelables, no he mirado los otros? Creo que me vendría bien, es útil, sólo que la función que se optimiza es más compleja, tiene un número dinámico de parámetros, tanto reales como enteros, y con distintos rangos, hay que resolver el problema después.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Algoritmos de optimización de la población: Algoritmo de forrajeo bacteriano (Bacterial Foraging Optimisation — BFO):
La estrategia de búsqueda de alimento de la bacteria E.coli inspiró a los científicos para crear el algoritmo de optimización BFO. El algoritmo contiene ideas originales y enfoques prometedores para la optimización y merece ser investigado en profundidad.
El algoritmo de forrajeo bacteriano (BFO) es una fascinante técnica de optimización que permite hallar soluciones aproximadas a problemas numéricos extremadamente complejos o imposibles para la maximización o minimización de funciones. El algoritmo es ampliamente reconocido como un algoritmo de optimización global que actualmente supone un interés especial para la optimización y el control distribuidos. El BFO se inspira en el comportamiento social de la Escherichia coli al buscar comida. El BFO ya ha atraído la atención de los investigadores por su eficacia a la hora de resolver problemas de optimización del mundo real derivados de diversas aplicaciones. La biología que subyace en la estrategia de búsqueda de alimentos de E. coli se emula de forma original y se usa como un sencillo algoritmo de optimización.
Bacterias como E.coli o Salmonella son algunos de los organismos más exitosos del planeta. Estas bacterias móviles tienen apéndices semirrígidos llamados flagelos, que usan para propulsarse con un movimiento de rotación. Cuando todos los flagelos giran en sentido contrario a las agujas del reloj, se crea un efecto de hélice y la bacteria se desplaza en una dirección más o menos rectilínea. Al hacerlo, la bacteria realiza un movimiento denominado natación (swims), en el que todos los flagelos giran en la misma dirección.
Autor: Andrey Dik