вернуться к началу
2. Учет ограничений в форме неравенств.
Общую задачу нелинейного программирования запишем следующим образом:
где X=(X1,X2,...,Xn) – вектор неизвестных, G(Х)={g1(X), g2(X),...,gm(X)}, H(X)={h1(X),X),…,hk(X)} – вектор-функции ограничений.
Наибольшие трудности возникают при учете ограничений H(X) в форме неравенств. Простой и очевидный на первый взгляд метод, заключающийся в поиске решения без учета ограничений, последующей проверке их выполнения и закреплении переменных, вышедших за допустимые пределы, на границе, часто дает ложные результаты.
Пример подобной ситуации приведен на рис 3.1. Здесь безусловный минимум лежит в точке X=(4,4). Проверка ограничений показывает, что h1(X), h2(X) нарушены. Граничные значения х1=3.8 и х2=2.8 определяют ложное решение. Фактическое решение лежит в точке X=(3.05,2.8), где ограничения h1(X), h3(X) выполняются в форме неравенств и называются пассивными, а ограничение h2(X) в этой точке является активным.
В проблеме учета ограничений в форме неравенств важную роль играет теорема Куна-Такера (теорема о седловой точке).
вернуться к началу
2.1. Теорема Kуна-Такера.
Пусть дана задача
(3-1)
Составим функцию Лагранжа для этой задачи.
Если допустимое множество X, определяемое вектор-функцией H(X)>=0, не пустое, то имеет место следующая теорема:
Вектор Xo тогда и только тогда является решением задачи (1), когда существует такой вектор Uo, что при Xo>=0 и Uo>=0 для всех X>=0 и U>= 0 справедливо
(3-2)
Точка (Xo,Uo) называется седловой точкой, т.к. здесь обеспечивается минимум по X и максимум по U.
Если функции F(X), hj(X) дифференцируемы, то (3-2) можно заменить условиями Kуна-Такера для всех <>Xio>=0 и Ujo>= 0
;
и .
вернуться к началу
2.2. Метод штрафных функций.
Идея метода заключается в том, что задача с ограничениями заменяется задачей безусловной оптимизации некоторой обобщенной целевой функции, в которую введены "штрафы" за нарушение ограничений.
Пусть имеется исходная задача
Новая целевая функция имеет вид:
где Sj, Si – коэффициенты, определяющие жесткость ограничений; di - коэффициент, равный 1, если hi(X)< 0, и 0 в остальных случаях.
В допустимой области штрафы, определяемые функциями hi(X) и >gj(X), отсутствуют. За пределами ее они резко возрастают, увеличивая Р(X), что делает выход за границу невыгодным.
Преимущество и эффективность метода заключаются в том, что минимизация Р(X) может проводиться более простыми методами безусловной оптимизации.
Важную роль в методе штрафных функций играют коэффициенты жесткости ограничений. С ростом S возрастает точность выполнения ограничений, но ухудшается сходимость, т.к. Р(X) вблизи границы приобретает характер "овражной" функции.
Сочетание штрафных функций и методов нулевого порядка позволяет создавать эффективные алгоритмы и программы для решения общей задачи нелинейного программирования. Ниже приведены примеры траекторий решения следующей задачи:
методом случайного поиска (рис 3.3).
Рис.3.3
вернуться к началу
Программное обеспечение
Основы нелинейного программирования и методы учета ограничений в примерах и иллюстрациях представлены в программе ACYLB3.exe в объеме, необходимом для самостоятельного изучения проблемы.
вернуться к началу
Порядок выполнения работы
Таблица 3.1.
№ |
P0 |
X0 |
dX |
1 |
200 |
55,22 |
10 |
2 |
190 |
60,35 |
10 |
3 |
180 |
55,40 |
6 |
4 |
170 |
60,66 |
6 |
5 |
160 |
65,25 |
4 |
6 |
150 |
66,50 |
4 |
7 |
140 |
63,28 |
8 |
8 |
130 |
50,45 |
8 |
вернуться к началу
Контрольные вопросы
вернуться к началу
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.