|
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Использование метода штрафных функций для решения задач математического программирования ⇐ ПредыдущаяСтр 8 из 8
Цель и содержание: научиться решать задачи нелинейного программирования методом штрафных функций. Теоретическое обоснование Изучите теоретический материал по данной теме, используя литературу [1, 2] и материал изложенный ниже. Методы внутренней точки Рассмотрим общую задачу математического программирования, не содержащую ограничений в виде неравенств: Z=F(x) (min) (10.1) при ограничениях qi(х) Пусть вблизи локального минимума этой задачи х* эта окружность, где есть такая точка х0, в которой qi(x0) Видоизменим достаточные условия локального минимума в точке х*. Если в задаче математического программирования множество D выпукло, а функция F(x) дифференцируема в точке х*Î D является точкой оптимума, то градиентÑ F(x*) (если он отличен от нуля) составляет острый угол с вектором направленным из х* в точку " точку х1Î D, а скалярное произведение (Ñ F(x*), x1-x2) Предположим, что при малом τ > 0 b в точке [x(r), u(r)] вблизи в точке (x*, u*) выполняются условия: Выразим из второго условия (10.3) Дифференцированием можно установить, что левая часть полученного выражения есть градиент функции
который обращается в нуль Можно получить другой вид функции Z (x, r), если положить Ui=x2i:
Таким образом, задавая, последовательность значений 1) в окрестности оптимальной точки значения функции близки к значению заданной минимизирующей функции; 2) каждая функция из построенного семейства достаточно быстро возрастает при приближении к границе допустимой области из «внутренней» части допустимой области. Итак, к минимизируемой функции исходной задачи мы добавили ряд слагаемых, называемых штрафными (барьерными) функциями, зависящими от параметра r и функции одного из ограничений. При фиксированном значении параметра r второе слагаемое стремиться к ∞ при стремлении к нулю его аргумента, если r=const, то Замечание. При наличии ограничений-равенств в задаче математического программирования «метод внутренней точки» неприменим, так как не существует допустимой области (в виде областей). Пример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 Действительно Графическое решение этой задачи представлено на рисунке 10.1
Рисунок 10.1 – Графическое решение задачи Рассмотрим решение задачи линейного программирования методом внутренней точки. Пример 2
Решение Строим функцию штрафа. Z(x, r)=x1-r ln x1
Находим частную производную по x1 второго порядка
Методы внешней точки Попытаемся приблизиться к оптимальной точке из недопустимой области. Для этого преобразуем достаточные условия локального минимума задачи математического программирования следующим образом: 1. Рассмотрим ограничения в ослабленной форме:
Преобразуем условия дополняющей нежесткости ui*; qi(x*)=0 так, чтобы оно имело смысл для отрицательных значений qi(x*) и сводилось к исходному условию при u(r)=-min[0, qi(x)] (10.9) Аналогично преобразуются другие достаточные условия:
Подставляем (10.9) в (10.10), убеждаемся, что функция, для которой выполняются названные условия, имеет вид
– это есть функция, минимизируемая методом внешней точки. В нее входят ограничения и в виде неравенств и в виде равенств. Можно доказать, что все необходимые условия минимума этой функции выполняются, например,
Для ограничений-равенств
отсюда
Рассмотрим пример использования метода внешней точки для решения задачи математического программирования. Пример
Решение Составим функцию штрафа, используя метод внешней точки – выражение (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 – к Графическое решение задачи математического программирования методом внешней точки приведено на рисунке 10.2.
Популярное:
|
Последнее изменение этой страницы: 2016-05-03; Просмотров: 1730; Нарушение авторского права страницы