Двумерные многоэкстремальные функции Гришагина определяются соотношениями:
где
определены в области , а параметры
являются независимыми случайными равномерно распределенными величинами.
Один из подходов к исследованию и сравнению методов многоэкстремальной оптимизации основан на решении с помощью данных методов серии задач, выбранных случайно из некоторого класса.
В генераторе GCGen предполагается, что задача условной оптимизации поставлена в виде
min{φ(y): y ∈ D, gi(y) ≤ 0, 1 ≤ i ≤ m}
D = {y ∈ RN: aj ≤ yj ≤ bj, 1 ≤ j ≤ N}.
где функционал φ(y) (обозначаемый в дальнейшем также g(m+1)(y)) – N-мерная целевая функция, а gi(y), 1 ≤ i ≤ m, – функциональные ограничения.
При этом будем предполагать, что функционалы gi(y), 1 ≤ i ≤ m, удовлетворяют условию Липшица с априори неизвестными константами Li, т.е.
|gi(y1) — gi(y2)| ≤ Li‖y1 — y2‖, 1 ≤ i ≤ m + 1.
В качестве целевой функции задачи условной оптимизации генератор GCGen может использовать только функционал, для которого известна точка глобального минимума.
Генератор поддерживает формирование задачи условной оптимизации со следующими настройками:
Генератор допускает следующие модификации задачи оптимизации:
В случае, если некоторые задачи являются однотипными, имеется возможность объединить их в семейство. Для класса семейства зада перегружается операция индексации, что облегчает работу с семейством задач.
Рассматриваются задачи, в которой целевая функция и функции ограничения выбрана из класса функций Гришагина. На следующих рисунках представлены линии уровня для нескольких примеров задач.
Пример 1. Задачи без ограничений, различные значения параметров.
![]() |
![]() |
![]() |
![]() |
Пример 2. Задача с ограничениями. Число ограничений = 3. Доля допустимой области = 0.7
а) глобальный минимум в произвольной точке |
![]() ; |
б) глобальный минимум во внутренней точке допустимой области |
![]() |
в) глобальный минимум на границе допустимой области |
![]() |
г) глобальный минимум на границе допустимой области, 2 нарушенных ограничения |
![]() |
д) глобальный минимум на границе допустимой области, 3 нарушенных ограничения |
![]() |
Пример 3. Задача с ограничениями. Число ограничений = 2. Доля допустимой области = 0.5
а) глобальный минимум в произвольной точке |
![]() ; |
б) глобальный минимум во внутренней точке допустимой области |
![]() |
в) глобальный минимум на границе допустимой области, 2 нарушенных ограничения |
![]() |
Пример 4. Задача с ограничениями. Число ограничений = 2. Доля допустимой области = 0.3
а) глобальный минимум в произвольной точке |
![]() ; |
б) глобальный минимум на границе допустимой области |
![]() |
в) глобальный минимум на границе допустимой области, 2 нарушенных ограничения |
![]() |
<Раздел находится в разработке>