Направо към съдържанието

Метаевристични алгоритми

от Уикипедия, свободната енциклопедия

Метаевристичните алгоритми (на английски: metaheuristic algorithms, накратко: метаевристики, metaheuristics) в компютърните науки са алгоритми за математическа оптимизация, с които се решават реални задачи. Такива задачи обикновено се характеризират със силна нелинейност, множество параметри, разнообразни сложни ограничения за удовлетворяване и множество – често противоречащи си – оптимизационни критерии. Дори и при един оптимизационен критерий е възможно изобщо да не съществуват оптимални решения и като цяло откриването на оптимално или дори близко до оптималното решение е трудно постижимо.[1]

Терминът „метаевристика“ е въведен от Фред Глоувър в основополагащата му статия от 1986 г. като надграждане на термина „евристичен алгоритъм, с който в най-общ смисъл се разбира алгоритъм за търсене на решение, базиран на пробата и грешката. Частицата „мета“ означава „отвъд“, „свръх“, „на по-високо ниво“ и с метаевристичния алгоритъм се означава „по-висша стратегия, която напрвалява и модифицира други евристични алгоритми, за да постигне решения по-добри от тези, които нормално биха се получили при търсене на локален оптимум.[2][3] В допълнение, всички метаевристични алгоритми балансират между глобално и локално търсене. Качествените решения на трудни оптимизационни задачи могат да се постигнат в разумно (т.е. полиномиално) време, но без гаранция, че ще бъдат постигнати (глобално) оптималните решения.[1]

Двата основни компонента на всеки метаевристичен алгоритъм са: интензификация и диверсификация (intensification and diversification), или още изследване и експлоатация (exploration and exploitation). Диверсификацията означава да се генерират разнообразни решения, така че пространството на търсене да може да бъде проучвано в широк диапазон, докато интензификацията означава да се фокусира търсенето в локален регион, знаейки, че текущото най-добро решение се намира в този регион. При подбора на най-добрите решения трябва да се открие добър баланс между интензификацията и диверсификацията с цел да се подобри скоростта на сходимост на алгоритъм. Изборът на най-доброто текущо решение осигурява, че решенията ще схождат към оптимум, докато диверсификацията посредством рандомизация (т.е. избор на случайни стойности на променливи) позволява да се избегне попадането в локален екстремум и в същото време да се повиши разнообразието на решението. Добрата комбинация от тези два основни компонента обичайно води до намиране на глобален оптимум.[1]

Списък от метаевристични алгоритми

[редактиране | редактиране на кода]

В литературата съществува голямо разнообразие от метаевристики и голям брой признаци, по които да бъдат класифицирани.

Име (на английски)ИмеАвторГодина
Ant Colony OptimizationАлгоритъм за оптимизация по метода на мравкитеDorigo1992
Amoeba Based AlgorithmZhang et al.2013
Ant Lion OptimizerSeyedali Mirjalili2015
Artificial Bee Colony AlgorithmАлгоритъм на изкуствените пчелни семействаKaraboga2005
Artificial Immune System (AIS)Изкуствена имунна системаFarmer et al.1986
Artificial Plant OptimizationCui & Cai2013
Bacterial Foraging AlgorithmPassino2002
Bat AlgorithmАлгоритъм на прилепаYang2010
Bean Optimization AlgorithmZhang et al.2010
Bee Colony Optimization (BCO)Nakrani & Tovey2004
Biogeography-based Optimization (BBO)Simon2008
Bootstrap Algorithm (BA)Hanseth & Aanestad2001
Brain Storm Optimization Algorithm (BSO)Yuhui Shi2011
Cat Swarm OptimizationShu-Chuan Chu et al.2006
CMA-ESHansen & Ostermeier1996
Cross Entropy Method (CEM)Rubinstein1997
Crow Search AlgorithmAlireza Askarzadeh2016
Cuckoo Optimization Algorithm, Cuckoo Search AlgorithmАлгоритъм на кукувицатаYang & Deb2009
Differential EvolutionДиференциална еволюцияStorn and Price1997
Differential Search Algorithm (DSA)Çivicioglu2012
Doves Based AlgorithmSu et al.2009
Dragonfly Algorithm (DA)Seyedali Mirjalili2016
Eagle Based AlgorithmYang & Deb2010
Earth-worm Optimization Algorithm (EWA)Gai-Ge Wang et al.2014
Elephant Herd Algorithm (EHO)Gai-Ge Wang et al.2015
Evolutionary Computation Algorithms, Evolutionary Strategy (ES)Еволюционни алгоритми----
Firefly AlgorithmАлгоритъм на светулкатаYang2009
Flower Pollination Algorithm (FPA)Алгоритъм на опрашванетоYang2012
Free SearchPenev & Littlefair2003
Fruit Fly AlgorithmPan2012
Galaxy-based Search Algorithm (GbSA)Shah-Hosseini2011
Genetic Algorithms (1)Генетични алгоритмиGoldberg1989
Genetic Algorithms (2)Генетични алгоритмиHolland1992
Genetic Programming (GP)Генетично програмиранеSmith1980
Glow-worm Swarm OptimizationKrishnanand & Ghose2005
Gravitational Search AlgorithmEsmat Rashedi et al.2009
Grey Wolf Optimizer, Grey Wolf AlgorithmMirjalili et al.2014
Grouping Evolution Strategies (GES)Husseinzadeh Kashan2013
Harmony SearchХармонично търсенеGeem et al.2001
Honey-bee Mating Optimization (HMO)Haddad et al.2006
Imperialist Competitive Algorithm (ICA)Алгоритъм на империалистическата конкуренцияAtashpaz-Gargari and Lucas2007
Intelligent Water DropsHamed Shah-Hosseini2007
Interior Search Algorithm (ISA)Gandomi2014
Keshtel Algorithm (KA)Hajiaghaie-Keshteli & Aminnayeri2012
Krill Herd Algorithm (KH)Gandomi & Alavi2012
League Championship Algorithm (LCA)Husseinzadeh Kashan2009
Leaping Frog AlgorithmSnyman1982, 2000
Lightning Search Algorithm (LSA)Hussain Shareef et al.2015
Lion AlgorithmYazdani & Jolai2015
Memetic AlgorithmMoscato1989
Monkey Search AlgorithmMucherino & Seref2007
Monarch Butterfly Optimization (MBO)Gai-Ge Wang et al.2015
Moth-flame Optimization Algorithm (MFO)Seyedali Mirjalili2015
Multi-objective GA (MOGA)Многообектен генетичен алгоритъмFonseca & Fleming1993
Multi-verse OptimizerSeyedali Mirjalili et al.2016
NSGA for Multi-Objective OptimizationFonseca1994
NSGA-II for Multi-Objective OptimizationDeb et al.2002
Optics Inspired Optimization (OIO)Husseinzadeh Kashan2013
Particle Swarm OptimizationОптимизация в рояк от частициEberhart and Kennedy1995
Population-based Incremental Learning (PBIL)Shumeet Baluja1994
Reactive Search Optimization (RSO)Battiti & Tecchiolli1994
Red Deer Algorithm (RDA)Fathollahi Fard et al.2016
Shark AlgorithmHersovici et al.1998
Shuffled Complex EvolutionQ. Y. Duan et al.1993
Simulated AnnealingСимулирано закаляванеMetropolis et al.1953
Sine Cosine Algorithm (SCA)Seyedali Mirjalili2016
Sperm Whale AlgorithmEbrahimi & Khamehchi2016
Spiral Optimization (SO)Tamura and Yasuda2011
Stochastic Fractal Search (SFS)Стохастично фрактално търсенеSalimi2014
Tabu SearchТабу търсенеGlover and McMilan1986
Teaching-learning-Based OptimizationR.V. Rao et al.2011
Wasp AlgorithmАлгоритъм на осатаTheraulaz et al.1991
Water Wave Optimization (WWO)Zheng2015
Whale Optimization Algorithm (WOA)Lewis and Mirjalili2016
Wolf AlgorithmLiu et al.2011
Worm OptimizationJean-Paul Arnaout2014
  1. 1 2 3 Xin-She Yang (2011) Metaheuristic Optimization. Scholarpedia, 6(8):11472., revision #91488
  2. Glover F., (1986). Future paths for integer programming and links to artficial intelligence, Computers and Operations Research,13, 533-549 (1986).
  3. Glover F. and Laguna M., Tabu Search, Kluwer, Boston, (1997).