¿Cuáles son algunos buenos proyectos en el algoritmo de optimización de colonias de abejas en los que puedo trabajar como proyecto de mi último año?

Una colmena es un conjunto de N abejas obreras más guardias más una abeja reina. Cada abeja individual necesita recolectar X cantidad de polen para sí más más. La suma total de todo el extra debe ser suficiente para alimentar a la reina, crear una reserva de miel y alimentar a las crías. El agregado durante un intervalo de tiempo T debe ser tal que el alimento de reserva nunca caiga a cero al final de ese intervalo, incluso en invierno. T no puede exceder el tiempo medio que cualquier abeja que no busca alimento puede estar activa y no alimentarse.

Los trabajadores necesitarán comer suficiente comida para encontrar comida, traerla de regreso y bailar para notificar a otras abejas la ubicación de la comida. Caer muerto en pleno vuelo de inanición no es útil. La energía necesaria para volar será proporcional a la distancia recorrida en cualquier masa dada, bajo las condiciones climáticas prevalecientes.

El polen es finito, con un promedio de P (f) sobre cualquier flor dada de la especie f. Las flores son finitas sobre cualquier área dada A y se vuelve más difícil de localizar a través de la búsqueda a medida que disminuye la densidad de las flores no cosechadas.

Las aves y otros depredadores comerán abejas E en algún intervalo de tiempo. Esto puede incluir una abeja reina si una colonia migra o se divide.

El algoritmo de búsqueda que utiliza la abeja tendrá una eficiencia descrita en notación O grande. La comunicación requiere tiempo (y, por lo tanto, energía) para recibir y enviar, la comunicación también tendrá una gran notación O para la eficiencia.

Cuando una colonia se divide, los números en cada mitad. Sin embargo, la nueva colonia debe tener un lugar a donde ir y poder expandirse, y debe tener la energía para llegar allí.

Esto es lo que podríamos llamar restricciones universales. Todos menos el último se aplicarán a todas las abejas (mantenidas o salvajes). Lo último es cierto para todas las abejas salvajes.

El problema obvio con la optimización es “¿optimización para qué?”

Sin embargo, puede solucionarlo escribiendo un solucionador. Si conoce las restricciones básicas y puede construir un algoritmo o una heurística que le puede decir los rangos necesarios que las incógnitas han dado a lo que sabe, entonces puede escribir un optimizador que use ese solucionador. El solucionador le dice qué debe ser cierto, el optimizador puede mirar los rangos disponibles y experimentar para encontrar el mejor valor para la noción suministrada de mejor. El optimizador simplemente necesita buscar en el espacio que queda en cualquier momento dado lo que parezca más cercano a la noción de mejor, luego ejecutar el solucionador nuevamente para encontrar el subespacio que se aplica a esa nueva restricción.

Ahora tiene un optimizador de abejas universal.