Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Использование метода штрафных функций для решения задач математического программирования ⇐ ПредыдущаяСтр 8 из 8
Цель и содержание: научиться решать задачи нелинейного программирования методом штрафных функций. Теоретическое обоснование Изучите теоретический материал по данной теме, используя литературу [1, 2] и материал изложенный ниже. Методы внутренней точки Рассмотрим общую задачу математического программирования, не содержащую ограничений в виде неравенств: Z=F(x) (min) (10.1) при ограничениях qi(х) (10.2) Пусть вблизи локального минимума этой задачи х* эта окружность, где есть такая точка х0, в которой qi(x0) 0 и выполняются условия строгой нежесткости: Ui(x*)> 0, если qi(х*) Видоизменим достаточные условия локального минимума в точке х*. Если в задаче математического программирования множество D выпукло, а функция F(x) дифференцируема в точке х*Î D является точкой оптимума, то градиентÑ F(x*) (если он отличен от нуля) составляет острый угол с вектором направленным из х* в точку " точку х1Î D, а скалярное произведение (Ñ F(x*), x1-x2) . Предположим, что при малом τ > 0 b в точке [x(r), u(r)] вблизи в точке (x*, u*) выполняются условия: (10.3) Выразим из второго условия (10.3) и подставим в последнее равенство: (10.4) Дифференцированием можно установить, что левая часть полученного выражения есть градиент функции (10.5) который обращается в нуль 0, в точке x(r). Причем x(r)®x* при r®0. Функцию Z(x, r) в таком виде называют логарифмической штрафной функцией. Можно получить другой вид функции Z (x, r), если положить Ui=x2i: (10.6) (10.7) Таким образом, задавая, последовательность значений получаем последовательность сходящегося к х*. С помощью новых функций Z(x, r) сводим задачу на условный экстремум (задачу математического программирования) к поиску безусловного экстремума функции Z(x, r). То есть нахождение точки минимума целевой функции в задаче математического программирования заменяется нахождением точки минимума семейства функций зависящих от параметра r и обладающих следующими свойствами: 1) в окрестности оптимальной точки значения функции близки к значению заданной минимизирующей функции; 2) каждая функция из построенного семейства достаточно быстро возрастает при приближении к границе допустимой области из «внутренней» части допустимой области. Итак, к минимизируемой функции исходной задачи мы добавили ряд слагаемых, называемых штрафными (барьерными) функциями, зависящими от параметра r и функции одного из ограничений. При фиксированном значении параметра r второе слагаемое стремиться к ∞ при стремлении к нулю его аргумента, если r=const, то . Каждая функция семейства подвергается минимизации и этот процесс не может вывести x* за пределы допустимой области. Подобные методы назвали «методами внутренней точки». Замечание. При наличии ограничений-равенств в задаче математического программирования «метод внутренней точки» неприменим, так как не существует допустимой области (в виде областей). Пример1.
Решение. Построим логарифмическую функцию штрафа, используя формулу (10.5), и найдем частные производные:
В полученных выражениях оставим знак«+» , т.к.x 1 Зададим последовательные значения r: 1; 0.5; 0.25; 0.1; соответственно получим последовательность значений: x1(r)=0.5; 0.309; 0.183; 0.085; x2(r)=1.25; 0.595; 0.283; 0.107, сходящуюся к точке (0, 0) при r 0. Действительно
Графическое решение этой задачи представлено на рисунке 10.1 Рисунок 10.1 – Графическое решение задачи Рассмотрим решение задачи линейного программирования методом внутренней точки. Пример 2 Решение Строим функцию штрафа. Z(x, r)=x1-r ln x1 Находим частную производную по x1 второго порядка следовательно x1(r) = r – точка минимума при r> 0. Методы внешней точки Попытаемся приблизиться к оптимальной точке из недопустимой области. Для этого преобразуем достаточные условия локального минимума задачи математического программирования следующим образом: 1. Рассмотрим ограничения в ослабленной форме: Преобразуем условия дополняющей нежесткости ui*; qi(x*)=0 так, чтобы оно имело смысл для отрицательных значений qi(x*) и сводилось к исходному условию при (это значит, что ui (x*) 0; ui(x*)принимает все значения, если qi (x*)=0), т.е. u(r)=-min[0, qi(x)] (10.9) Аналогично преобразуются другие достаточные условия: (10.10) Подставляем (10.9) в (10.10), убеждаемся, что функция, для которой выполняются названные условия, имеет вид (10.11) – это есть функция, минимизируемая методом внешней точки. В нее входят ограничения и в виде неравенств и в виде равенств. Можно доказать, что все необходимые условия минимума этой функции выполняются, например, есть положительно определенная матрица. Причем для ограничений-неравенств (10.12) Для ограничений-равенств (10.13) отсюда или (10.14) Рассмотрим пример использования метода внешней точки для решения задачи математического программирования. Пример Решение Составим функцию штрафа, используя метод внешней точки – выражение (10.11): Из необходимого условия
определим последовательность значений x1 и x2 сходящегося к решению. Зададим последовательность значений r: 1.0; 0.5; 1/3; 0.1, получим: x1(r): 0.89; 0.77; 0.73; 0.67. x2(r): 0.64; 0.62; 0.61; 0.58. последовательность значений x1 сходиться к 2/3, а x2 – к /3. Графическое решение задачи математического программирования методом внешней точки приведено на рисунке 10.2. Рисунок 10.2 –Графическое решение задачи методом внешней точки Популярное:
|
Последнее изменение этой страницы: 2016-05-03; Просмотров: 1730; Нарушение авторского права страницы