Skip to content

LebedevIlyaG/TempReadme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

GCGen (Global Constrained optimization problem Generator)

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

Геренератор GCGen представялет собой библиотеку на языке C++, позволяющую генерировать задачи многоэкстремальной оптимизации с невыпуклыми ограничениями вида

min{φ(y): y ∈ D, gi (y) ≤ 0, 1 ≤ i ≤ m}

D = {y ∈ RN: aj ≤ yj ≤ bj, 1 ≤ j ≤ N}.

Здесь целевая функция φ(y) (обозначаемая в дальнейшем также g(m+1) (y)) и правые части ограничений gi (y), 1 ≤ i ≤ m, представляют собой N-мерные многоэкстремальные функции.

Генератор GCGen позволяет задавать у формируемой задачи следующие параметры:

  • долю допустимой области по отношению ко всей области изменения параметров;
  • расположение точки условного глобального минимума: либо внутри, либо на границе допустимой области;
  • число активных ограничений в точке условного глобального минимума (при ее расположении на границе допустимой области)

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

Для корректной работы генератора предполагается, что все функциии gi (y), 1 ≤ i ≤ m + 1, удовлетворяют условию Липшица с вообще говоря неизвестными константами Li, т.е.

|gi (y1 ) -gi (y2 )| ≤ Li ‖y1 - y2 ‖, 1 ≤ i ≤ m + 1.

Чтобы сформировать задачу условной оптимизации в генераторе GCGen, необходимо предварительно подготовить набор функций gi (y), 1 ≤ i ≤ m + 1, каждая из которых должна быть реализована в виде отдельного класса на языке C++. В качестве целевой функции генератор GCGen может использовать только функцию, для которой известна точка глобального минимума.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published