Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМиМОвЭ Очное Шестакович 2011 / ВМиМОвЭ Шестакович 2011 модифицированный.doc
Скачиваний:
24
Добавлен:
13.05.2023
Размер:
4.32 Mб
Скачать

7.8. Методы условной минимизации функций

7.8.1. Метод штрафных функций

Если допустимое множество решений задачи (6.1) задано в виде:

X={x Rn | gj(x) 0 , j=1, 2, …, k; hj(x)=0 , j=1, 2, …, m }

{ примечание: неравенство вида b(x)0 всегда можно свести к неравенству вида g(x)0 заменой - b(x)0 }, то исходную задачу минимизации с ограничениями (как в форме неравенств, так и в форме равенств) можно свести к последовательности задач без ограничений, для решения которых используются методы безусловной минимизации функций. Для этого вводят функцию Ф(х), определенную и непрерывную на Rn таким образом, чтобы выполнялись следующие условия:

  1. Ф(х)=0 для всех х Х.

  2. Ф(х) > 0 для всех х вне допустимой области Х.

Образно говоря, функция Ф(х) назначает положительный штраф за выход за пределы допустимой области Х. Указанными свойствами обладает, например, функция вида:

Ф(х)= ,

где p–произвольное натуральное число или функция:

где j > 0, j > 0 – весовые функции штрафа, которые в простейшем случае могут быть константами. После чего от задачи

min f(x)

x X

переходим к задаче:

min F(x), где F(x)=f(x)+r(x), r > 0 – весовой коэффициент.

x Rn

Выбор весовых коэффициентов r, j, j весьма важен с вычислительной точки зрения. При больших значениях весовых коэффициентов при нарушении ограничений целевая функция F(x) приобретает ярко выраженный «овражный» характер, что затрудняет процесс минимизации. В общем случае весьма важен разумный выбор начальной точки с тем, чтобы она находилась в допустимой области. На практике проводят несколько циклов минимизации при последовательно изменяющихся значениях весового коэффициента r (например, rk=k или rk=10k, k=1,2,…).

7.8.2. Метод барьерных функций

Этот метод предназначен для решения задачи минимизации функций с ограничениями в форме неравенств:

min f(x), X={x Rn | gj(x) < 0 , j =1, 2, …, m}

x X

На множестве Х определяют функцию В(х), которая называется барьерной функцией. Барьерные функции могут быть двух типов:

Очевидное свойство барьерных функций: В(х) 0 для всех х Х.

Составим функцию Fk(x)=(x)+rkB(x), k=1, 2,…, где {rk} – монотонно убывающая, сходящаяся к нулю последовательность положительных чисел (указанными свойствами обладает, например, последовательность rk=1/k или rk=10/k, k=1, 2, …) и проведем цикл последовательных минимизаций при к=1, 2, 3, …

Для иллюстрации описанного метода рассмотрим следующий простейший пример:

xmin X={x R | x 0},

x X

Здесь n=1, m=1, (x)=x, g(x)=-x, X1={x | x > 0}, X2={0}. Очевидно, решением этой задачи служит граничная точка xmin=0. В качестве барьерной функции возьмем, например, B(x)=1/x при x > 0 и положим rk=1/k, k=1, 2, … В этом случае функция Fk принимает вид Fk(x)=x+1/(kx). Нетрудно найти ее точку минимума x(k) =1/ на множестве положительных чисел. Имеем . На рис. 7.5 дана геометрическая иллюстрация к процессу решения примера при k = 1, 2, 3.

Рис 7.5. Процесс решения

При увеличении k и приближении точки x(k) к границе допустимого множества линия графика функции Fk (x) становится все более крутой, как бы воздвигая «барьер» и не давая возможности точке x(k) выйти за пределы допустимого множества. Недостатком метода, затрудняющим непосредственное применение алгоритмов безусловной минимизации Fk(x) для определения точек x(k), является ярко выраженная «овражная» структура барьерной функции при малых значениях rk. Кроме того, напомним, что метод неприменим к задачам, в которых среди ограничений имеется хотя бы одно равенство.