С : МЕШАННЫЕ НЕЛИНЕЙНЫЕ ЗАДАЧИ ОПТИМИЗАЦИИ

advertisement
СМЕШАННЫЕ НЕЛИНЕЙНЫЕ
ЗАДАЧИ ОПТИМИЗАЦИИ:
ПОСТАНОВКИ И МЕТОДЫ РЕШЕНИЯ
к.т.н., доц. каф. МО ЭВМ, ф-та ВМК
Мееров И.Б.
Нижний Новгород, 2008
Проект ITLab VLSI
itlab.vlsi@cs.vmk.unn.ru
ИСТОЧНИКИ
Презентация основана на результатах обзора
литературы. Преимущественно использовались
следующие статьи/презентации:
 J.S. Arora, M.W. Huang, C.C. Hsieh. Methods for
optimization variables: a review. Structural
Optimization 8, 69-85. Springer-Verlag 1994.
 J.S. Arora, M.W. Huang. Optimal design with discrete
variables: some numerical experiments. Int. journal for
numerical methods in engineering, vol 40. 1997
 I. Grossman. Review of Nonlinear Mixed-Integer and
Disjunctive Programming Techniques. Carnegie-Melon
University, 2002.
 Sven Leyffer, Jeff Linderoth. Practical guide to Mixed
Integer Nonlinear Programming. SIAM conference on
optimization, Stockholm, Sweden, May 2005.
СОДЕРЖАНИЕ
Смешанные задачи. Немного терминологии
 Актуальность
 Постановка задачи
 Обзор методов решения
 Заключение

СМЕШАННЫЕ ЗАДАЧИ.
НЕМНОГО ТЕРМИНОЛОГИИ

Математическое программирование – раздел
прикладной математики, изучающий методы поиска
экстремума функций.
Задачи
(критерий,
ограничения)
Линейные
(LP)
Нелинейные
(NLP)
Непрерывные
(Continuous
P)
Задачи
(критерий,
ограничения)
Дискретные
(Discrete P)
Смешанные
(Mixed P)


Часто выделяют квадратичное программирование
(Quadratic P).
Еще одна классификация – выпуклые (convex),
невыпуклые (non-convex).
СМЕШАННЫЕ ЗАДАЧИ

Смешанные задачи – Mixed Discrete
Continuous Problems.
MDLP – mixed discrete linear programming.
 MDNLP – mixed discrete nonlinear programming.
 MINLP – mixed integer nonlinear programming.

Будем рассматривать MINLP (MDNLP ~ MINLP –
можно установить взаимно-однозначное
соответствие).
 Фокус на MINLP – очень актуальны в настоящее
время.

АКТУАЛЬНОСТЬ MINLP

Почему NLP?
George Dantzig (July, 1948):
Harold Hotelling: “But we all know the world is
nonlinear!”
 Многие инженерные задачи достаточно хорошо
описываются лишь нелинейными моделями.


Почему Mixed Integer?
Во многих задачах часть переменных может принимать
несколько дискретных значений (САПР, Экономика,
Логистика, Управление…). Причины: неделимость,
фиксированная стоимость, фиксированные размеры,
наличие выбора из имеющихся вариантов.
 Особый класс – 0-1 задачи (binary, 0-1 decision making).
Моделируют ситуации берем/не берем, да/нет,
логические условия…

ПРИМЕНИМОСТЬ MINLP

Обзор источников показывает:
задачи MINLP и методы их решения активно изучаются
последние 30-40 лет; на настоящий момент это все еще
актуальная область, перспективная с точки зрения
получения новых результатов;
 в форме MINLP как правило ставятся задачи, в которых
требуется одновременно оптимизировать структуру
системы (дискретная часть) и ее параметры
(непрерывная часть);


Коллекция задач в форме MINLP:
I.E. Grossmann and N.V. Sahinidis (eds) (2002). Special
Issue on Mixed-integer Programming and it’s Application to
Engineering, PartI, Optim. Eng., 3(4), Kluwer Academic
Publishers, Netherlands.
 I.E. Grossmann and N.V. Sahinidis (eds) (2002). Special
Issue on Mixed-integer Programming and it’s Application to
Engineering, PartI, Optim. Eng., 4(1), Kluwer Academic
Publishers, Netherlands.

ПОСТАНОВКА ЗАДАЧИ MINLP (1)
f ( x, y )  min
g ( x, y )  0
x X
y Y ,Y  Z
ПОСТАНОВКА ЗАДАЧИ MINLP (2)
f ( x)  min
g i ( x)  0, i  1,..., p
g i ( x)  0, i  p  1,..., m
xi  Di , Di ( d i1 ,..., d iqi ), i  1,..., nd ,
xi , L  xi  xi ,U , i  nd  1,..., n
О СЛОЖНОСТИ MINLP
NLP – нелинейный критерий или ограничения
– сложные задачи.
 MIP – сложные задачи (особенно, если они
невыпуклые).
 MI + NLP – очень сложные задачи.


Известная шутка
(2-х фазный метод для MINLP, Dantzig):
Шаг 1:
убедите коллегу, что он не хочет решать MINLP .
 Шаг 2:
если ничего не вышло, рассмотрите непрерывную
релаксацию задачи MINLP -> NLP, решите ее и
округлите решение к ближайшему допустимому.

НЕМНОГО О ПОСТРОЕНИИ МОДЕЛЕЙ…
Имеет смысл по возможности избавляться от
нелинейности и невыпуклости.
 MDNLP может быть сведена к 0-1 проблеме:
f ( x )  min

g i ( x )  0, i  1,..., p
g i ( x )  0, i  p  1,..., m
xi  Di , Di ( d i1 ,..., d iqi ), i  1,..., nd ,
xi , L  xi  xi ,U , i  nd  1,..., n
При i  1,...nd :
xi  zi1d i1  ...  ziqi d iqi , zij  0;1, j  1,..., qi
zi1  ...  ziqi  1
НЕМНОГО О ПОСТРОЕНИИ МОДЕЛЕЙ…
Во многих задачах можно немного «поиграть» с
постановкой, выполнив простейшие
эквивалентные преобразования, в результате
чего ее значительно улучшатся свойства и
облегчится дальнейшее решение.
 Пример: В 0-1 квадратичном
программировании всегда можно добиться
выпуклости квадратичной формы:
Если f(x,y) ->min, y ={0;1}, то y = y2.
Тогда q(y) = yTQy + cTy = yTPy + gTy, где
P = Q + zI, g = c – ze.
z ≥ l, где l – наименьшее собственное число Q.
Тогда P ≥ 0.

МЕТОДЫ РЕШЕНИЯ MINLP









Округление (Rounding-off).
Метод ветвей и границ (Branch-and-bound, BBM).
Последовательная линеаризация (SLP) и SQP.
Метод штрафных функций (Penalty function).
Метод множителей Лагранжа (Lagrangian relaxation).
Метод имитации отжига (Simulated annealing).
Генетический алгоритм (Genetic algorithm).
Другие методы: внешняя аппроксимация,
декомпозиция Бендера, дискретные методы, метод
отсекающей плоскости, различные эвристики.
Смешанные (гибридные) методы.
ОКРУГЛЕНИЕ (ROUNDING-OFF) …
Рассматривает задачу как непрерывную (NLP).
 Находит оптимальное решение некоторым
методом.
 Пытается «легализовать» это решение, приведя
его в дискретные рамки исходной задачи.
1) Округление каждой переменной: получим
недопустимое решение (в лит-ре unfeasible).
2) Округление к ближайшей из возможных
альтернатив по каждой дискретной
переменной – нужно удовлетворить
ограничения.

ОКРУГЛЕНИЕ (ROUNDING-OFF) …


Хороший обзор алгоритмов: Ringertz (1988).
Возможный алгоритм (Ringertz):
n = кол-ву переменных.
 Если n>0, решаем непрерывную задачу. Если решение
дискретно по соотв. переменным – СТОП.
 Иначе по k=1,…,n вычисляем приращения функции
Лагранжа по каждой переменной DL=|L(xk,l) – L(x,l)|, где l и
x – множители Лагранжа и оптимумы непрерывной задачи,
xk – округленная вверх к ближайшему дискр. значению k-я
координата х.
 «Округляем» xk, которая минимизирует DL, n=n-1, Шаг 2.


Плохая сходимость при
существенной нелинейности;
 сильно разреженной сетке возможных значений.
Оптимум в исходной задаче необязательно в окрестности
оптимума непрерывной задачи.

МЕТОД ВЕТВЕЙ И ГРАНИЦ (BBM)…

Некоторые определения (Reinschmidt, 1971)
Half-bandwidth: можно решить непрерывную
задачу, после чего рассмотреть дискретную
окрестность решения по каждой дискретной
координате из ее возможных значений – r
значений, больших непрерывного оптимума и r –
меньших. r – half-bandwidth.
 Completion: присваивание дискретных значений
каждой из дискретных переменных.
 Feasible completion: completion, удовлетворяющее
ограничениям.
 Partial solution: присваивание дискретных
значений лишь части дискретных переменных.
 Fathoming: отбраковка неперспективных
частичных решений.

МЕТОД ВЕТВЕЙ И ГРАНИЦ (BBM)…






Выбор полуполосы – эвристика.
Порядок выбора переменной для присваивания
дискретного значения – эвристика.
Отбраковка – эвристика. Исключительно критична для
успешности/времени поиска.
Фактически, BBM – разновидность переборных методов
в сочетании со строгими правилами и эвристиками для
сокращения перебора.
Время поиска экспоненциально возрастает с ростом
количества дискретных переменных. Тем не менее,
классический и весьма популярный метод.
Активно используется в сочетании с другими:
градиентными, SQP, метод штрафных функций, SLP…
МЕТОД ВЕТВЕЙ И ГРАНИЦ (BBM)…

Идея метода:
решаем непрерывное расширение; if x discrete – STOP;
 если xi не из мно-ва D, dij < xi < dij+1; определяем 2
подзадачи – с ограничением xi ≥ dij+1, xi ≤ dij. – branching.
Так устраняется часть feasible region непрерывной задачи,
которая не является feasible для MIP.
 Процесс продолжается, пока не будет получено
допустимое решение. Его функция стоимости станет
верхней оценкой оптимума. Эта оценка позволит
отбраковывать неперспективные ветви дерева.
 Процесс продолжается для каждого оставшегося узла.
Верхняя оценка обновляется при получении следующего
допустимого решения.

МЕТОД ВЕТВЕЙ И ГРАНИЦ (BBM)…

Идея метода:

Отбраковка:
допустимое дискретное решение имеет худшее значение функции
стоимости, чем текущая верхняя оценка;
 несовместная непрерывная задача;
 оптимум непрерывной задачи хуже чем текущая верхняя оценка.

Процесс завершается, когда не остается узлов в дереве.
 Нахождение глобального оптимума гарантируется только
для линейной или выпуклой задачи.


Замечание: решение непрерывной задачи дает нижнюю
оценку.
МЕТОД ВЕТВЕЙ И ГРАНИЦ (BBM)

Эвристики:
выбор переменной для ветвления (самая важная, наиболее
влияющая на целевую функцию, …)
 выбор очередного узла (поиск в глубину, поиск в ширину,
поиск узел с наименьшей нижней оценкой, оценка
наибольших шансов получения допустимого решения.

Море литературы с различными эвристиками и
результатами применения в конкретных задачах.
Достаточное количество солверов.
ПОСЛЕДОВАТЕЛЬНАЯ ЛИНЕАРИЗАЦИЯ
(SLP) И SQP…
SLP и SQP – попытка рассмотреть линейную
(квадратичную – SQP) аппроксимацию
исходной задачи и решить ее, избавившись от
нелинейности.
 Линеаризация проводится в окрестности оценки
местонахождения оптимума.
 Далее используются MILP и MIQP методы.
Например, BBM или Simulated annealing. В
окрестности полученного дискретного решения
вновь выполняется линеаризация и так далее.


Активно используется в сочетании с другими
методами.
ПОСЛЕДОВАТЕЛЬНАЯ ЛИНЕАРИЗАЦИЯ
(SLP) И SQP
SLP and BBM (Bremicker at al. 1990)
 SLP + 0-1 variables (Olsen and
Vanderplaats, 1989)
Методы предполагают линеаризацию, решение
линейной задачи при помощи BBM, и т.д.

ГИБРИДНЫЙ АЛГОРИТМ SQP & BBM





По названию похож на предыдущие, но на самом
деле в корне отличаются.
Borchers and Mitchell, 1994; Leyffer, 2001.
Здесь «базовый метод» – BBM, а SQP –
вспомогательный.
Идея: не решать в узлах NLP.
Алгоритм:
В каждом узле решаем QP-задачу.
 После этого выбираем дискретную переменную, делаем
ветвление, после этого вновь формируем и решаем QPзадачу.
Leyffer, Linderoth:
 Проблема: решение QP не является нижней границей.
 Решение для выпуклых задач: предложен
специфический алгоритм для отбрасывания узлов.

МЕТОД ШТРАФНЫХ ФУНКЦИЙ…

Идея в NLP:– решать задачу без ограничений,
добавив т.н. «штраф» в целевую функцию.
m
Ф ( x, r )  f ( x )  r  y ( g j )
j 1
y ( g j )  max  g j ( x);0   exterior penalty
2
1
y( g j ) 
 interior penalty
g j ( x)
и др.
МЕТОД ШТРАФНЫХ ФУНКЦИЙ…

Идея в MINLP: все аналогично, но кроме того –
устранить дискретность переменных, добавив
штраф за недопустимые значения.
m
nd
j 1
i 1
Ф ( x, r , s )  f ( x )  r  y ( g j )  s  z i ( x )
Shin :
 
1
 
2 ( xi  (d ij 1  3d ij ))  
1  

4


zi ( x)  sin
 1, где d ij  xi  d ij 1
2 
d ij 1  d ij
 

 
 
 
  штраф ограничений / значение критерия
МЕТОД ШТРАФНЫХ ФУНКЦИЙ
Алгоритм (Shin at al., 1990):
 Шаг 1. Формируем Ф(x,r).
 Шаг 2. Ищем минимум Ф.
 Шаг 3. Если критерий ε выполняется,
продолжаем. Если нет, уменьшаем r и шаг 1.
 Шаг 4. Фиксируем r и выбираем s.
 Шаг 5. Формируем Ф(x,r,s). Ищем минимум.
 Шаг 6. Если решение допустимое, продолжаем.
Иначе увеличиваем r и шаг 5.
 Шаг 7. Если решение достаточно близко к
допустимому, округляем и останавливаемся.
Иначе увеличиваем s и шаг 5.

МЕТОД МНОЖИТЕЛЕЙ ЛАГРАНЖА
Метод множителей Лагранжа (Lagrangian
relaxation) – имеет внешние сходства с методом
штрафных функций. Различие – способ
формирования расширенной целевой функции.
 Проблема для MINLP: необходимость решения
задачи минимизации без ограничений для
дискретного множества; не гарантирует
нахождения глобального минимума из-за
невыпуклости вспомогательных задач.

// ждем лекции на эту тему 
МЕТОД ИМИТАЦИИ ОТЖИГА
(SIMULATED ANNEALING)…
Общий подход к оптимизации, не требующий
дифференцируемости целевой функции.
 Стохастический подход.
 Большое время поиска решения, эвристики –
нет теоретических результатов.
 Есть успешные применения в разных областях.
 Активно используется (много публикаций, в т.ч.
2006г.).

МЕТОД ИМИТАЦИИ ОТЖИГА
(SIMULATED ANNEALING)…






Алгоритм:
Шаг 1: Генерируется точка в пространстве поиска.
Шаг 2: Если она не допустима, шаг 1.
Шаг 3: Вычисляется значение целевой функции.
Если оно меньше текущего оптимума, точка
принимается, делается шаг и шаг 1.
Шаг 4: Иначе точка принимается с некоторой
вероятностью (используется распределение
Больцмана-Гиббса).
Температурное расписание: в начале худшие
решения принимаются с некоторой существенной
вероятностью. Постепенно она уменьшается и
алгоритм вырождается в жадный.
МЕТОД ИМИТАЦИИ ОТЖИГА
(SIMULATED ANNEALING)





Замечания:
Обычно в качестве начальной точки выбирается
некоторая оценка точки глобального минимума.
На очередном шаге требуется вычислить следующую
точку. В начале, когда температура большая, шаги
делаются «большие», в конце – маленькие.
Шаг делается так: случайно выбирается координата,
далее применяется некоторая формула для
вычисления шага (разные формулы для
непрерывных и дискретных значений).
Целевой критерий рассматривается в качестве
температуры. В качестве начальной температуры
выбирается ожидаемое значение глобального
минимума функции.
ГЕНЕТИЧЕСКИЙ АЛГОРИТМ
(GENETIC ALGORITHM)
Общий подход к оптимизации, не требующий
дифференцируемости целевой функции.
 Большое время поиска решения, эвристики –
нет теоретических результатов.
 Стохастический алгоритм – из той же группы,
что и SA.
 Популяции, репродукция, мутация,
скрещивание.


Еще 1 подход из той же группы: PSO (particle
swarm optimization) – есть работы 2006 года с
изложением результатов применения на
модельной задаче.
ДРУГИЕ МЕТОДЫ (OA, GBD)…
Методы, связанные с представлением исходной задачи в виде
набора MILP и NLP. Доказаны теоремы о сходимости, но
требуется выпуклость функции и ограничений.
Идея: разделить на 2 более простые задачи, поставленные в
тех классах, для которых имеются алгоритмы/солверы.
 Декомпозиция Бендера (Bender’s decomposition) –
Geoffrion, 1972
 Внешняя аппроксимация (Outer approximation)
Duran, Grossmann (1986) – оригинальный алгоритм
Leyffer, Fletcher (1994) – развитие
ДРУГИЕ МЕТОДЫ (OA, GBD)
Идея: разделить на 2 более простые задачи, поставленные в
тех классах, для которых имеются алгоритмы/солверы.
MINLP – исходная задача
NLP – «подзадача»
Дает верхнюю оценку
MILP – «главная задача»
Дает нижнюю оценку
(Нижняя оценка < Верхняя оценка)
и (Задача совместна) ?
Да
ПОДЗАДАЧИ OUTER APPROXIMATION


NLP(yj): yj зафиксирована
f(x, yj) -> min при с(x, yj) ≤ 0 (f и c – выпуклые!)
Решение – верхняя оценка («хуже не будет»).
MILP:
Пусть (x, yj) – решение NLP(yj). Выполняем линеаризацию
критерия и ограничений в окрестности этой точки.
Строим новый целевой критерий – «недооценку»
исходного. Новая задача дает допустимую точку и
нижнюю оценку («лучше не будет»).
Продолжаем процесс пока не сойдутся верхняя и нижняя
оценка, либо пока не получим несовместную задачу.
OA VS GBD


GBD: MILP – двойственное представление
непрерывного пространства.
OA: MILP – прямая аппроксимация.
Достоинство:
Выпуклость гарантирует сходимость; каждая точка в
пространстве дискретных переменных возникает не
более одного раза.
Недостатки:
В MILP-задачах возникает дерево поиска, которое
может быть большим. Учитывая обилие решаемых
задач, это становится узким местом.
Возможное решение 1: (Fletcher and Leyffer, 1994)
MILP заменить на MIQP, добавив Гессиан.
Несколько лучше, чем исходный вариант.
РАЗВИТИЕ OA – LP/NLP-BASED BRANCH
AND BOUND (LP/NLP-BB)








LP/NLP-BB – Quesada and Grossmann, 1992
Kumar Abhishek, Sven Leyffer, and Jeffrey T.
Linderoth. FilMINT: An Outer-Approximation-Based
Solver for Nonlinear Mixed Integer Programs. Argonne
National Laboratory, Preprint ANL/MCS-P1374-0906,
May 2008 – совсем новая работа!
Идея (отличие от OA):
вместо решения последовательности задач MILP и NLPподзадач, метод прерывает решение MILP-задачи как только
найдено допустимое решение и решает NLP-подзадачу.
Решение этой подзадачи обеспечивает новую внешнюю
аппроксимацию, которая добавляется к основной MILP-задаче,
после чего продолжается решение этой задачи.
Таким образом, создается только одно branch-and-cut дерево.
Процесс поиска решения ускоряется.
Авторы рапортуют о том, что метод является наиболее
перспективным на сегодняшний день (но: выпуклость все равно
требуется).
LP/NLP-BB





Необходим доступ к MILP-солверу, чтобы
возвращаться из него раньше времени.
После решения NLP-подзадачи нужно выполнить
новую линеаризацию и добавить то, что получится, в
«старое» дерево поиска для MILP.
В результате дерево только одна MILP-задача.
При решении MILP используются разные методы
сокращения перебора, в частности, отсечения
Гомори.
Борьба с невыпуклостью:
критерий: недооценка критерия дает задачу, из которой
можно получить нижнюю границу для BBM
 ограничения: приходится делать недооценку и
переоценку критерия, чтобы получить выпуклую область.

ДРУГИЕ МЕТОДЫ (CP)

Метод отсекающей плоскости (Cutting plane)
Gomory (1958, 1963) – для ILP
Kelley (1965), Salkin (1975)
Идея: решать непрерывные задачи, постепенно добавляя
ограничения, которые приводят к целочисленным решениям
по соответствующим переменным.
СОЛВЕРЫ



http://www.gamsworld.org/minlp/
Библиотека тестовых моделей:
http://www.gamsworld.org/minlp/minlplib.htm
S. Leyffer. MacMINLP: Test problems for mixed integer nonlinear
programming, 2003.
http://www-unix.mcs.anl.gov/˜leyffer/macminlp
СОЛВЕРЫ

Солверы MINLP
AlphaECP Extended Cutting Plane Algorithm from T.Westerlund,
Abo Akademi University, Finland
BARON Branch-and-Reduce algorithm from N. Sahinidis,
University of Illinois Urbana-Champaign
DICOPT Outer-Approximation algorithm from I.E. Grossmann,
Carnegie Mellon University
LOGMIP LogMIP (acronym of Logical Mixed Integer Programming)
is a solver for or generalized disjunctive programs (GDP)
LINDOGLOBAL LindoGlobal is a solver for proven global solutions
from Lindo Systems, Inc.
MINLP Branch-and-Bound algorithm from R. Fletcher and S.
Leyffer, The University of Dundee
SBB Branch-and-Bound algorithm from ARKI Consulting and
Development
Много материалов со сравнением солверов: Leyffer,
Grossmann и другие авторы.
Работа Leyffer датирована Май, 2008. Солвер filMINT
САЙТ S. LEYFFER








http://www-unix.mcs.anl.gov/~leyffer/research.htm
Набор тестов для MINLP
А также:
Dundee solvers for MINLP/NLP/QP
MINLP solver on the NEOS server
NLP solver on the NEOS server
TOMLAB /MINLP, Matlab interface with sparse and
dense versions of the Dundee solvers
S. Leyffer. Deterministic Methods for Mixed Integer
Nonlinear Programming. PhD thesis, University of
Dundee, Dundee, Scotland, UK, 1993.
КОРИФЕИ

Активно публикующиеся специалисты:
Arora с коллегами
 Leyffer с коллегами
 Grossmann с коллегами

Download