Численные методы решения оптимизационных задач

реклама
Численные методы решения
оптимизационных задач
Ю.Г. Евтушенко, М.А. Посыпкин
Вычислительный центр РАН
План лекции
• Постановка и виды задач оптимизации
• Метод неравномерных покрытий (МНП)
– Безусловная оптимизация
– Математическое программирование
• Эффективная реализация МНП на
современных архитектурах
Постановка задачи оптимизации
f ( x) : X  Y
f ( x)  min (max)
xX
Экстремум берется относительно порядка заданного на Y
Классификация по структуре
допустимого множества
• X  R n - безусловная оптимизация
• | X |  - дискретная оптимизация
n
n
m
• X  {x  R : g ( x)  0}, g () : R  R
математическое программирование
– Линейное программирование
– Нелинейное программирование
• X  {x  R : g ( x)  0}, xi  Z , i  I
частично-целочисленное
программирование (оптимизация)
n
Классификация по числу критериев
• Скалярная оптимизация (один критерий)
f ( x) : X  R
f ( x)  min (max)
xX
• Многокритериальная оптимизация (более
одного критерия)
m
f ( x) : X  R
f ( x)  min (max)
xX
Классификация по локальности
минимума
• Локальная оптимизация
• Глобальная оптимизация
локальный минимум
глобальный минимум
Классификация по гарантии
оптимальности
• Эвристические методы (не дают
информацию о точности найденного
решения)
• Детерминированные методы (гарантируют
оптимальность с заданной точностью)
f ( x )  f ( x* )  
Приближенное
решение
Оптимум
Примеры задач глобальной
оптимизации
 оптимизация
инвестиционного плана
 поиск оптимального
маршрута (транспортные
задачи)
 поиск конфигурации
молекул с минимальной
энергией взаимодействия
 докинг протеинов
 оптимизация размещения
элементов микросхем и их
верификация
Метод Неравномерных Покрытий
• Предложен Ю.Г. Евтушенко в 1971 году
• Позволяет решать
– задачи без ограничений,
– с нелинейными ограничениями,
– частично-целочисленные задачи
– с одним и несколькими критериями
• Гарантирует оптимальность с заданной
точностью (детерминированный метод)
Метод неравномерных покрытий
1. Предложен для безусловной оптимизации в 1971
Ю. Г. Евтушенко, “Численный метод поиска глобального экстремума функций (перебор на
неравномерной сетке)”, Ж. вычисл. матем. и матем. физ., 11:6 (1971), 1390–1403
2. Расширен на случай многих критериев в 1986
Евтушенко Ю. Г., Потапов М. А. «Методы численного решения многокритериальных
задач.» ДАН СССР, Т. 291, N 1, 1986, С. 25-39.
3. Расширен на задачи математического программирования в 1992
Yu. G. Evtushenko, M. A. Potapov, V. V. Korotkikh.
Numerical methods for global optimization.
In "Recent advances in global optimization”, Princeton University Press, pp. 274-297. 1992.
4. Первая параллельная реализация 2007
Ю. Г. Евтушенко, В. У. Малкова, А. А. Станевичюс. Распараллеливание процесса поиска
глобального экстремума. Автоматика и телемеханика, № 5. С. 46-58, 2007.
5. Новая техника для задач математического программирования 2011
Ю. Г. Евтушенко, М. А. Посыпкин. Варианты метода неравномерных покрытий для
глобальной оптимизации частично-целочисленных нелинейных задач. Доклады Академии
наук. Т: 437. № 2. С. 168–172.
Безусловная оптимизация:
постановка задачи
f ( x)  min
f (x) непрерывна
x  Rn
Требуется найти точку
x*
f ( x* )  f ( x) для всех x  R n
Упрощение постановки
• От безусловной переходим к оптимизации с
простыми (параллелепипедными)
ограничениями («box-constrained»)
f ( x)  min
x  X , X  {x  R : a  x  b}
n
• Требуется найти  -оптимальное решение
x  X : f ( x )  f ( x* )  
Метод неравномерных покрытий для одномерной
безусловной оптимизации
Целевая
функция
f (x )
f ( x0 )
f ( x0 )  
[
a
 (x )
x0
]
a’
[
b’
Миноранта
]
b
[a' , b' ]  L(  (), X , f ( x0 )   )
L(  (), X ,  )  {x :  ( x)  }
Лебеговское
множество
Метод неравномерных покрытий для одномерной
безусловной оптимизации
N
Если [a, b]   L( i (), X i , f ( xi )   ),
i 1
f ( x1 )    f ( xk ), то
f ( xk )  f ( x* )  
f (x )
f (x j )  
f ( xi )  
[
a
1 ( x)
2 ( x)
]
b
Общий случай: основная
теорема
X 1 , X 2 ,..., X k  X
x1 , x2 ,..., xk  X
- совокупность множеств
- совокупность допустимых точек
f ( x1 )  f ( x2 )  ...  f ( xk )
Li  L( i (), X i , f ( xi )   )
X
f ( x)  i ( x), x  X i
L4
k
Теорема. Если выполнено
X   Li
то
L1
i 1
L3
f ( xk )  f ( x* )   ,
L2
L5
L6
15
Основные составляющие МНП
• Построение покрытия (системы
покрывающих множеств) L 
i
• Построение последовательности
рекордных точек
x1 , x2 ,..., xk  X
f ( x1 )  f ( x2 )  ...  f ( xk )
Липшицева Миноранта 1-го порядка
f ( x)  f ( y)  l x  y , x, y  X i
Условие Липшица:
f ( x)  i1 ( x)  f (ci )  l x  xi
Миноранта:
L( i (), X i , f ( xi )   )
представляет собой шар радиуса
i  ( f (ci )  f ( xi )   ) / l   / l
с центром в точке
xi .
ci
i
Липшицева миноранта 2-го
порядка
Градиент удовлетворяет условию
Липшица
Миноранта
L
f ( x)   ( x)  f (ci )  f x (ci ), x  xi  x  ci
2
2
i
L( i (), X i , f ( xi )   )
i 
f x ( x)  f x ( y )  L x  y
- шар радиуса
2
1
2
2

f
(
c
)

f
(
c
)

f
(
x
)





i
x
i
i
L
2L
L

с центром в точке
zi  ci  f x (ci ) L
Этот шар может быть исключен из дальнейшего рассмотрения.
2
Реализация МНП: метод бисекций
Реализация МНП: метод бисекций
x1
Реализация МНП: метод бисекций
Реализация МНП: метод бисекций
Реализация МНП: метод бисекций
x2
Реализация МНП: метод бисекций
L1
Реализация МНП: метод бисекций
x2
Реализация МНП: метод бисекций
L2
Похож на метод
ветвей и границ
27
Нахождение хорошего рекорда
x1 , x2 ,..., xk  X
f ( x1 )  f ( x2 )  ...  f ( xk )
Использование локальных и
эвристических методов позволяет
найти хороший рекорд и может
существенно ускорить процесс
нахождения минимума
Задачи с ограничениями:
постановка
f ( x)  min
x  X , X  {x  R : g ( x)  0}
n
f () : R n  R,
непрерывные
g () : R n  R m , g ( x)  ( g1 ( x),..., g m ( x))
f (), g ()  непрерывные
Найти: x*  X
f ( x* )  f ( x) для всех x  X
МНП для задач с ограничениями
• Допустимая область ограничена
X  x : a  x  b
• Ищется приближенное  ,  -решение




x  X  : f ( x )  f ( x* )   ,  ,   0
Расширение допустимого
множества


x
X ,   0
X
P
Оптимизация с ограничениями:
основная идея
Если  i j  - миноранта для j-го ограничения
на множестве X i : g j ( x)   i j ( x) для x  X i
то множество
L' ( i j , X i ,0)  {x  X i : i j ( x)  0}
можно отбросить как не содержащее
допустимых точек.
Оптимизация с ограничениями:
основная теорема
X 1 , X 2 ,..., X k  P
x1 , x2 ,..., xk  X 
- совокупность множеств
- совокупность
 -допустимых точек
f ( x1 )  f ( x2 )  ...  f ( xk )
Li  L( i (), X i , f ( xi )   )  L' ( i1 (), X i , 0)  ...  L' ( im (), X i ,0)
L4
k
Теорема. Если выполнено
P   Li
то
L1
i 1
L3
f ( xk )  f ( x* )   ,
L2
L5
L6
33
Учет целочисленности
X  {x  R : g ( x)  0}, xi  Z , i  I
n
• Множество, исключаемое из рассмотрения,
расширяется до целочисленных границ
Частично целочисленные задачи
Требуется
минимизировать затраты
f(x) на производство при
соблюдении
технологических
ограничений g1-g4.
Ts  0.0625 z s , Th  0.0625 zh , z s  Z , zh  Z
35
Результаты расчетов
Метод ветвей и границ
ВЕТВЛЕНИЕ
ПОДЗАДАЧА
ОТСЕЯННАЯ ПОДЗАДАЧА:
1.
НЕ ИМЕЕТ РЕШЕНИЙ
2.
ОПТИМУМ НАЙДЕН
3.
ОПТИМУМ НЕ ЛУЧШЕ
РАНЕЕ НАЙДЕННОГО
(РЕКОРДА)
ДЕРЕВО ВЕТВЛЕНИЯ
Проблемы распараллеливания
МВГ
ГРАФ АЛГОРИТМА
• дерево ветвления не
является
сбалансированным;
• структура дерева
ветвления не
известна до начала
решения задачи и
формируется
динамически;
Разбалансировка нагрузки
45,00
РП 1
РП 2
40,00
35,00
30,00
время (сек)
УП
25,00
20,00
15,00
10,00
5,00
0,00
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19
процессы
Разделение проблемно-зависимых и
независимых частей
ПРОБЛЕМНО-НЕЗАВИСИМЫЕ
ПРОБЛЕМНО-ЗАВИСИМЫЕ
• Организация хранения
подмножеств и
допустимых решений
• Общая схема вычислений
• Способ ветвления
• Правила отсева
Реализация для различных
архитектур: повторное использование
архитектуры
многопроцессорные с
распределенной
памятью
многопроцессорные с
общей памятью
МВГ для
непрерывной
оптимизации
методы
МВГ для
коммивояжера
КАРКАСЫ
МВГ для
ранца
однопроцессорные
Структура пакета BNB-Solver (С ++)
БАЗОВЫЕ
КОММУНИКАЦИОН
НЫЕ ПРИМИТИВЫ
КАРКАС
ДЛЯ
РАСПРЕДЕЛЕННОЙ
ПАМЯТИ
СОЛВЕРЫ
Солвер НЛП
для общей
памяти
КАРКАС
ДЛЯ ОБЩЕЙ
ПАМЯТИ
ПОДСИСТЕМА
УПРАВЛЕНИЯ
ПАМЯТЬЮ
КАРКАС
ДЛЯ
ПОСЛЕД.
АРХИТЕКТУР
МВГ
ДЛЯ РАНЦА
МЕТОД
НЕРАВНОМЕРНЫХ
ПОКРЫТИЙ
МВГ ДЛЯ ЗАДАЧИ
КОММИВОЯЖЕРА
БАЗОВЫЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРИМИТИВЫ
Проблема балансировки нагрузки
•Число вершин в разных ветвях может очень существенно различаться, что
приводит к простою процессоров и, как следствие, потерям производительности.
•Способ решения: механизмы перераспределения работы в процессе решения
(динамическая балансировка нагрузки).
CPU 1
CPU 2
CPU 3
Адаптивная балансировка нагрузки
УП – управляющий процесс, РП – рабочий процесс;
Tb – пороговое значение числа ветвлений на рабочем
процессе;
УП
РП
Ts – пороговое значение числа пересылаемых вершин на
управляющий процесс;
Um(Lm) – максимальное (минимальное) число вершин на
управляющем процессе
РП
РП
РП
 РП выполняет Tb ветвлений, после чего посылает УП (не более) Ts вершин.
 РП процесс, завершивший обработку назначенной вершины, посылает запрос УП. В
ответ УП посылает рабочему процессу одну вершину. РП получает ее и начинает
выполнять итерации МНП.
Если на УП скапливается более Um вершин, УП посылает сообщение всем РП чтобы
они прекратили посылку вершин.
Если на УП меньше Lm вершин, то УП посылает сообщение всем РП, чтобы они
возобновили посылку вершин.
ПАРАЛЛЕЛЬНАЯ РЕАЛИЗАЦИЯ МНП
n 1
2
2
2
Обобщенная функция Розенброка f ( x)   (100( xi  xi 1 ) ( xi  1) )  min
i 1
Суперкомпьютер MVS 100K
xi   2.048,2.048,   10  4 , n  10
Современные проблемы МНП
• Усовершенствование метода
– Новые способы построения покрытий
– Ускорение получения рекордов
• Решение многокритериальных задач
Проблемы эффективной
реализации
• Преодоление 100 TFLOPS:
совершенствование балансировки
• Перенос на гибридные архитектуры
(распределенная память + общая память +
GPU)
• Реализация в распределенной среде
(BOINC-проекты: OPTIMA@home)
Спасибо за внимание!
Скачать