Bikolonialgoritmen ( artificiell bikolonioptimering, ABC ) är en av de polynomiska heuristiska algoritmerna för att lösa optimeringsproblem inom datavetenskap och operationsforskning . Tillhör kategorin stokastiska bioniska algoritmer , baserade på att simulera beteendet hos en koloni av honungsbin när de samlar nektar i naturen. Föreslog av D. Karaboga 2005 [1] .
Huvudsyftet med arbetet med en bikoloni i naturen är att utforska utrymmet runt bikupan för att söka efter nektar och sedan samla in den. För att göra detta finns det olika typer av bin i kolonin: scoutbin och arbetarbinfodrare (förutom dem finns det drönare och en drottning i kolonin som inte deltar i processen att samla nektar). Scouterna genomför en studie av utrymmet som omger bikupan och rapporterar information om lovande platser där den största mängden nektar hittades (det finns en speciell mekanism för att utbyta information i bikupan, kallad beedans ).
Bikolonialgoritmen kan användas för att lösa diskreta ( kombinatoriska ) och kontinuerligaglobala optimeringsproblem [ 2] [3] och har en tillräcklig grad av likhet med multistartalgoritmer . Det inkluderar vanligtvis den inledande spaningen och efterföljande arbete av bikuporna. Under initialisering (initial rekognosering) rekognoseras funktionsutrymmet för att bestämma dess mest lovande punkter med de bästa objektiva funktionsvärdena (i det enklaste fallet med den slumpmässiga uppräkningsmetoden som lagras i kupan Därefter genomförs lokal spaning i närheten av de utvalda punkterna inom en given spaningsradie för att försöka förfina lösningen (förbättra posten), medan när förbättringen uppnås i kupan, det uppdaterade värdet av posten och motsvarande målfunktionsparametervektor . Genom att kombinera scoutbins och arbetsbinas arbete över ett givet antal iterationer ger algoritmen en gradvis förbättring av det memorerade urvalet av lösningar. När arbetet är klart väljs den bästa från den angivna uppsättningen av lösningar, vilket är resultatet av algoritmen.
_ | Optimeringsmetoder|
---|---|
En-dimensionell |
|
Noll ordning | |
Första beställning | |
andra beställning | |
Stokastisk | |
Linjära programmeringsmetoder _ | |
Icke -linjära programmeringsmetoder |