Предметная область
Задачи
принятия оптимальных решений имеют повсеместный характер. Программная система
«Global
Expert»
направлена на решение наиболее сложных из них, когда критерии оптимальности
существенно многоэкстремальны, а допустимость вариантов определяется
вычислительно-трудоемкими ограничениями. Задачи подобного рода широко
распространены в различных областях науки и техники (идентификация,
восстановление зависимостей, оптимальное проектирование,
моделирование и т.п.).
Состав системы
Программная система «Global
Expert» предусматривает несколько вариантов использования, под каждый из которых
имеется свой набор инструментов:
- Консольное приложение – позволяет
решать задачи оптимизации, заданные в виде dll-файла, в «чисто вычислительном»
режиме;
- Визуальное приложение – позволяет
отображать двухмерные сечения целевых функций и точки испытаний на них, а
также даёт возможность запуска, остановки и возобновления вычислений,
взаимодействуя с консольным приложением в интерактивном режиме;
- Библиотека
– позволяет прикладным программистам решать оптимизационные задачи, заданные в
виде dll-файла
или набора функций и параметров, в рамках более крупной задачи или для другой
специфической обработки результатов поиска.
Прикладным оптимизаторам
На
данный момент у потенциальных пользователей системы есть возможность отправлять
разработчикам dll-модули
(можно только бинарные файлы) с задачами глобальной оптимизации, которые могут
быть решены на высокопроизводительном кластере ННГУ. С вопросами и предложениями
о сотрудничестве обращаться по адресу vasiliy.ryabov(at)itlab.unn.ru.
Для
создания dll,
совместимой с «Global
Expert»,
необходимо придерживаться краткого набора правил.
Также можно скачать пример
dll-файла
с тестовой задачей оптимизации, содержащей 1 критерий и 3 функциональных
ограничения, и использовать его в качестве начального шаблона (в архиве –
.cpp-файл
и проект для MS
Visual
Studio
2005).
Возможности
Алгоритмическую
основу системы составляет вычислительная схема редукции размерности, позволяющая
сводить решение многомерных задач к решению задач одномерной
оптимизации. Оптимизация получаемых в результате редукции многоэкстремальных
задач обеспечивается информационно-статистическими алгоритмами глобального
поиска, эффективность которых неоднократно подтверждалась в практических
приложениях
.
Возможность
параллельных вычислений обеспечивается несколькими схемами, среди которых
применение множественных разверток типа кривой Пеано, позволяющих порождать
для многомерных задач семейства информационно-совместимых задач одномерной
оптимизации. Получаемые в результате одномерные задачи могут решаться
параллельно, при этом может быть обеспечено совместное использование
поисковой информации, порождаемой в процессе вычислений. Подобная схема
параллельных вычислений не требует каких-либо средств единого управления и
характеризуется высокими показателями масштабируемости и надежности
.
Итак,
система «Global
Expert»
– это
- возможность
загрузки любых оптимизационных задач, которые могут быть описаны в виде
dll-библиотеки,
- решение
существенно многомерных задач (десятки измерений),
- решение
существенно многоэкстремальных задач (сотни, тысячи локальных
экстремумов),
- решение
задач с функциональными ограничениями, задающими произвольную, вообще говоря,
невыпуклую, многосвязную область поиска, без использования метода штрафов
(индексный метод),
- информационно-статистический
алгоритм поиска оптимума, эффективность которого неоднократно подтверждалась в
практических приложениях,
- возможность решать вычислительно-трудоемкие задачи на
современных высокопроизводительных кластерных системах, возможность
при исчерпании оперативной памяти использовать специфические способы подкачки,
работающие эффективнее стандартных средств операционной системы,
- возможность
останавливать поиск с сохранением текущего состояния и затем возобновлять на
другой или той же конфигурации вычислительных узлов.

Система
глобальной оптимизации “Global
Expert”
применялась для решения различных научных и прикладных оптимизационных задач.
Среди них задача экономического моделирования из ВЦ РАН и задача оптимизации
профиля ж/д. колеса для голландского метро (Delft
University).
Разработчики
- Виктор Павлович Гергель (научный
консультант)
- Александр Сысоев (руководитель
проекта)
- Сергей Сидоров (параллельные
алгоритмы, остановка/возобновление вычислений)
- Василий Рябов (интерактивное
управление поиском, модификации алгоритмов)
- Владимир Чигарёв (тестовая система)
- Николай Аникин (кэширование данных
для визуализации)
- Алексей Казаков (алгоритмы
подкачки поисковой информации)
Ранее в проекте
также принимали активное участие:
- Роман Виноградов (графическое ядро
для визуализации сечений на основе managed DirectX 9)
- Екатерина Субботина (подсистема
хранения и подкачки поисковой информации)
Планы
- Поддержка многокритериальных задач
- Поддержка коррекции постановки задачи
перед возобновлением поиска
- Параллельная визуализация сечений с
кэшированием данных
- Реализация
новых параллельных схем и модификаций алгоритмов глобального
поиска