СМЕШАННЫЕ НЕЛИНЕЙНЫЕ ЗАДАЧИ ОПТИМИЗАЦИИ: ПОСТАНОВКИ И МЕТОДЫ РЕШЕНИЯ к.т.н., доц. каф. МО ЭВМ, ф-та ВМК Мееров И.Б. Нижний Новгород, 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 с коллегами