Contenido
PalancaAlgoritmo de optimización de alimentación bacteriana
El algoritmo de optimización de la alimentación bacteriana se inspira en el comportamiento de búsqueda de alimento en grupo de bacterias como E. coli y M. xanthus. Específicamente, el algoritmo de optimización de la alimentación bacteriana se inspira en el comportamiento quimiotáctico de las bacterias que detectarán los gradientes químicos en el medio ambiente (como los nutrientes) y se acercarán o se alejarán de señales específicas.
Las bacterias perciben la dirección de los alimentos en función de los gradientes de sustancias químicas en su entorno. Las bacterias secretan sustancias químicas atrayentes y repelentes en el medio ambiente y pueden percibir lo mismo. En utilisant des mécanismes de locomotion (tels que les flagelles), les bactéries peuvent se déplacer dans leur environnement, se déplaçant parfois de manière chaotique (culbutage et rotation), et d'autres fois se déplaçant de manière dirigée, ce qui peut être appelé la natación.
Las células bacterianas son tratadas como agentes en un entorno, utilizando su percepción de los alimentos y otras células como motivación para moverse, y la rotación y natación estocásticas como movimiento para reubicarse. Dependiendo de las interacciones célula-célula, las células pueden invadir una fuente de alimento y/o pueden repelerse o ignorarse agresivamente.
La estrategia de procesamiento de información del algoritmo de optimización de alimentación bacteriana es permitir que las células pululen estocástica y colectivamente hacia óptimos. Esto se logra a través de una serie de tres procesos en una población celular simulada: 1) Quimiotaxis: el costo de la célula se reduce por la proximidad a otras células y las células se mueven una por una a lo largo de la superficie de costo, 2) Reproducción: solo las células que se han desempeñado bien durante su tiempo de vida puede contribuir a la siguiente generación, y 3) Eliminación-dispersión: las células se descartan y se insertan nuevas muestras aleatorias con baja probabilidad.
los pseudocódigo siguiente describe el algoritmo para minimizar una función de costo.

El próximo algoritmo proporciona el pseudocódigo para la quimiotaxis bacteriana y el comportamiento para el algoritmo de optimización de la alimentación bacteriana.
El costo de una bacteria se reduce por su interacción con otras células. Esta función de interacción (g()) se calcula de la siguiente manera:
donde cell_k es una celda dada, d_attr y w_attr son coeficientes de atracción, h_repel y w_repel son coeficientes de repulsión, S es el número de celdas en la población, P es el número de dimensiones en un vector de posición de celda dado.
Los parámetros restantes del algoritmo son los siguientes Cell_s_num es el número de células mantenidas en la población, N_ed es el número de pasos de eliminación-dispersión, N_re es el número de pasos de reproducción, N_c es el número de pasos de quimiotaxis, N_s es el número de pasos de natación para una celda dada, Stepsize es un vector de dirección aleatoria con el mismo número de dimensiones que el espacio del problema con cada valor en [-1; 1], y P_ed es la probabilidad de que una célula sea objeto de eliminación y dispersión.
Dados los bucles del algoritmo, se puede configurar de muchas maneras para lograr diferentes comportamientos de búsqueda. Es común tener una gran cantidad de iteraciones de quimiotaxis y una pequeña cantidad de otras iteraciones. Los coeficientes predeterminados para el comportamiento de enjambre (interacciones célula-célula) son d_attract = 0,1, w_attract = 0,2, h_repellant = d_attract y w_repellant = 10. El tamaño del paso suele ser una pequeña fracción del espacio de búsqueda l, como 0,1.
Durante la reproducción, normalmente se elimina la mitad de la población con una métrica de salud baja y se conservan dos copias de cada miembro de la primera mitad (salud alta) de la población. La probabilidad de eliminación y dispersión (p_ed) generalmente se define como bastante alta, como 0,25.