Обсуждение статьи "Оптимизация на основе биогеографии — Biogeography-Based Optimization (BBO)"

 

Опубликована статья Оптимизация на основе биогеографии — Biogeography-Based Optimization (BBO):

Оптимизация на основе биогеографии (BBO) — элегантный метод глобальной оптимизации, вдохновленный природными процессами миграции видов между островами архипелагов. В основе алгоритма лежит простая, но мощная идея: решения с высоким качеством активно делятся своими характеристиками, решения низкого качества активно заимствуют новые черты, создавая естественный поток информации от лучших решений к худшим. Уникальный адаптивный оператор мутации, обеспечивает превосходный баланс между исследованием и эксплуатацией, BBO демонстрирует высокую эффективность на различных задачах.

Пересматривая некоторые оптимизационные алгоритмы, меня заинтересовал алгоритм биогеографической оптимизации (BBO), он был разработан профессором Dan Simon в 2008 году. BBO черпает вдохновение из биогеографии — науки о географическом распределении биологических организмов. Математические модели, описывающие распределение видов, были впервые разработаны еще в 1960-х годах. Подобно тому, как генетические алгоритмы были вдохновлены биологической генетикой, а нейронные сети — биологическими нейронами, BBO использует математические принципы биогеографии для решения оптимизационных задач.

В природе острова архипелага с благоприятными условиями (высокий индекс пригодности среды обитания - HSI) имеют большое количество видов и высокую эмиграцию, в то время как острова с плохими условиями имеют мало видов и высокую иммиграцию. Эта естественная динамика миграции видов между островами легла в основу механизма оптимизации BBO. Алгоритм использует концепцию миграции видов для обмена характеристиками между решениями, вероятность мутации основана на теоретически обоснованной модели распределения видов, кроме того, хорошие решения активно делятся своими характеристиками, но остаются устойчивыми к изменениям. Эта изюминка является основной характеристикой алгоритма.

В данной статье рассмотрим элегантную концепцию алгоритма, являющуюся простым и эффективным методом решения для оптимизационных задач, реализуем в коде, посмотрим и оценим результаты работы алгоритма BBO.

Автор: Andrey Dik