Лекция. Нелинейное программирование

advertisement
НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ (НП)
1.
2.
3.
4.
5.
Постановка задачи НП
Эколого-экономическая интерпретация задачи НП
Геометрическая интерпретация задачи НП
Метод множителей Лагранжа (ММЛ)
Обзор рассмотренных методов.
1. Постановка задачи НП
В общем виде задача НП состоит в определении max/min значения
f (x1, x2, … xn)
(1)
при условии, что ее переменные удовлетворяют соотношениям
gi(x1, x2, …, xn)  bi (i = 1, k)
gi(x1, x2, …, xn) = bi (i = k + 1, m),
где f и gi некоторые известные функции n переменных, а bi – заданные числа.
Имеется в виду, что в результате решения задачи будет определена точка
Х* = (х1*, х2*, … хn*), координаты которой удовлетворяют соотношению (2),
причем для всякой другой точки, отвечающей условиям (2), выполняется
F* (x*1, x*2, … x*n)  f (x1, x2, … xn)
Если f и gi – линейные функции, то это будет задача линейного
программирования.
Соотношения (2), образующие систему ограничений, включают в себя
и условия неотрицательности переменных, если таковые имеются. Последние
могут быть заданы и отдельно.
В евклидовом пространстве En система ограничений (2) определяет
ОДР. В отличие от задачи ЛП она не всегда является выпуклой.
Если определена ОДР, то нахождение решения задачи НП сводится к
определению такой точки этой области, через которую проходит
гиперповерхность наивысшего (наинизшего) уровня: f (x1, x2, … xn) = h,
причем эта точка может находиться как на границе ОДР, так и внутри нее.
2. Эколого-экономическая интерпретация задач НП
На проведение мероприятий по повышению экологичности
производства предприятие располагает 220 тыс. руб. Эти средства могут
быть распределены между тремя подразделениями. Каждый вариант
распределения снижает в определенной степени ущерб от загрязнения
окружающей среды и дает определенный эффект, равный предотвращенному
ущербу.
Требуется
определить
такой
вариант
распределения
капиталовложений, при котором эффект, получаемый предприятием будет
максимальным.
Подразделения
I
II
III
Капита Эффект
ло, тыс.
вложен
руб.
ия,
тыс.р.
От 10
7,3
до 30
От 10
6,2
до 40
От 10
9,1
до 50
Капита
ловложен
ия,
тыс.р.
30…60
Эффект
, тыс.
руб.
Капита
ловложен
ия,
тыс.р.
Эффект
, тыс.
руб.
8,0
60
10
40…70
8,6
 70
9,1
50…60
9,8
 60
9,5
Математическая модель
Обозначим капиталовложения, распределенные между
подразделениями х1, х2, х3.
Эффект по каждому подразделению: С1(Х1), С2(Х2), С3(Х3).
F = C1(X1) X1 + C2(X2)X2 + C3(X3)X3 = f (X1, X2, X3)  max
X1 + X2 + X3 = 220
X1, X2, X3  0.
тремя
Известно, что можно регулировать степень чистоты ОС путем
нормирования, т.е. введения допустимого уровня загрязнителя в среде. Такое
регулирование можно осуществлять путем выдачи производителю лицензий,
условием для получения которых являлось бы соблюдение установленных
норм качества ОС. Естественно, что каждое предприятие – источник
загрязнения несет определенные затраты на устранение загрязнения.
Полные затраты (С) на устранение загрязнения складываются из суммы
затрат Сi для каждого загрязняющего среду:
C   Ci (Qi ) ,
i
где Qi – масса устраненного загрязняющего вещества i-м
предприятиям.
Для обеспечения установленного уровня качества ОС полная масса
загрязняющего вещества Q, подлежащего устранению, определяется как:
Q   Qi .
i
Поскольку затраты предприятий на устранение загрязнений ложатся
также и на потребителей продукции (удорожание ее), то обществу в целом
выгодна минимизация полных затрат на обеспечение качества ОС.
Таким образом целевая функция
С   Ci (Qi ) .
i
Ограничения:
Q
i
 Q.
i
В общем случае это задачи с размерностью  2. Их решение сводится к


минимизации так называемой функции Лагранжа L(Qi )   Ci (Qi )    Qi  Q .
i

i

3. Геометрическая интерпретация задачи нелинейного
программирования
При числе переменных не более двух задачу НП можно решить
геометрическим способом.
Процесс нахождения решения задачи НП (1), (2) с использованием ее
геометрической интерпретации включает следующие этапы:
1. Находят ОДР задачи, определяемую соотношением (2); если она пуста, то
задача не имеет решения.
2. Строят гиперповерхность f (x1, x2, … xn) = h.
3. Определяют гиперповерхность наивысшего (наинизшего) уровня или
устанавливают неразрешимость задачи из-за неограниченности функции
(1) сверху (снизу) на множестве допустимых решений.
4. Находят точку ОДР, через которую проходит гиперповерхность
наивысшего (наинизшего) уровня, и определяют значение функции (1).
Пример.
Найти max функции F = x2  x12 + 6x1
(3)
При условиях
2х1 + 3х2  24
х1 + 2х2  15
3х1 + 2х2  24
х2  4,
х1 ,х2  0.
Решение: F нелинейна, следовательно, это задача НП;
1. ОАВС - ОДР
Следовательно, нужно определить такую точку многоугольника ОАВС, в
которой функция принимает max значение.
2. Построим линию уровня F = x2  x12 +6x1 = h,
где h – некоторая постоянная, и исследуем ее поведение при различных h.
При каждом h получаем параболу, которая тем выше относительно ОХ, чем
больше h.
Действительно,
F = x2  x12 +6x1 = h =  парабола x2 = x12 - 6x1 – h или х2 = (х1 – 3)2+h-9.
Рассмотрим h = 9
h = 11
h = 13
х2 = (х1 – 3)2
х2 = (х1 – 3)2 + 2
х2 = (х1 – 3)2 + 4
Функция F принимает максимальное значение в точке касания одной из
парабол с границей многоугольника ОАВС. В данном случае это точка Д, в
которой линия уровня F = x2  x12 +6x1 = 13 касается стороны
многоугольника ОАВС.
При каждом h получаем параболу, которая тем выше отн. ОХ, чем
больше h.
Действительно,
F = x2  x12 +6x1 = h =  парабола x2 = x12 - 6x1 – h или х2 = (х1 – 3)2+h-9
Рассмотрим h = 9
h = 11
h = 13
х2 = (х1 – 3)2
х2 = (х1 – 3)2 + 2
х2 = (х1 – 3)2 + 4
Координаты точки D находим из уравнений, соответствующих
преобразованным ограничениям (1) и (2):
h=13
=
1h=11
=
3
1
h=9
1
=
9
8
h
h
h
4
(2)
0
3
8
12
(1)
15
(3)
Рис.1
x2  x12 +6x1 = 13, х2 = 4, откуда х1* = 3; х2* = 4.
Umax, Fmax = 13 при х* = (3;4).
Таким образом в этой задаче точка Fmax не является вершиной
треугольника решений. Поэтому процедура перебора вершин, которая
использована в задачах ЛП неприменима.
4. Метод множителей Лагранжа
Математическая постановка. Рассмотрим частный случай общей
задачи НП (1), (2), предполагая, что система ограничений (2) содержит
только уравнение, отсутствуют условия неотрицательности переменных, и f
(X1, X2 …Xn) и qi (X1, X2,…Xn) – функции, непрерывные вместе со своими
частными производными.
f (X1, X2 …Xn)  max (min)
qi (X1, X2,…Xn) = bi (I = 1, m).
Это так называемая задача на условный экстремум или классическая
задача оптимизации.
Чтобы найти решение этой задачи, вводят набор переменных 1,
2,…n, называемых множителями Лагранжа, составляют функцию
Лагранжа.
m
F (X1, X2 …Xn, 1, 2,…n) = f (X1, X2 …Xn) +
   b  q ( x , x ,...x ),
i 1
i
i
i
1
2
n
находят частные производные.
dF
dF
( j  1, n)и
(i  1, m) и рассматривают систему n + m уравнений.
dX j
di
m
dF
df
dq

  i i  0( j  1, n)
dX j dX j i 1 dX j
dF
 bi  qi ( x1 , x2 ,...xn )  0(i  1, m)
di
с n+m неизвестными Х1, Х2,…Хn, n, 1, 2,… m.
Всякое решение этой системы уравнений определяет точку Х* = (Х1*,
Х2, … Хn), в которой может иметь место экстремум функции f (x1, x2,…xn).
Следовательно, решив систему уравнений, получают все точки, в
которых функция f (x1, x2,…xn) может иметь экстремальные значения.
Таким образом, определение экстремальных точек задачи НП методом
множителей Лагранжа включают следующие этапы:
1. Составляют функцию Лагранжа.
2. Находят частные производные от функции Лагранжа по переменным Х1 и
1 и приравнивают их нулю.
3. Решая полученную систему уравнений, находят точки, в которых целевая
функция задачи может иметь экстремум.
4. Среди точек, подозрительных на экстремум, находят такие, в которых
достигается экстремум, а вычисляют значения целевой функции в этих
точках.
Пример:
По плану производства предприятию необходимо изготовить 180
изделий. Эти изделия могут быть изготовлены двумя технологическими
способами. При производстве Х1 изделий I способом приведенная масса
токсичных отказов равна 4Х1 + Х12 кг, а при изготовлении Х2 изделий II
способом они составляют 8х2 + х22 кг.
Определить, сколько изделий каждым из способов следует изготовить,
чтобы общая масса отходов была минимальной.
Решение:
Математическая постановка задачи
минимального значения функции
f = 4x1 + x12 + 8x2 + x22
при условиях х1 + х2 = 180, х1, х2  0.
состоит
в
определении
Теперь решим задачу, используя метод множителей Лагранжа. Найдем
min целевой функции при условии х1+х2 = 180, но без учета требований
неотрицательных переменных.
1. Составим функцию Лагранжа:
F(x1, x2,) = 4x1+x12+8x2+x22+(180-x1 – x2)
dF
 4  2 x1    0
dX 1
dF
 8  2 x2    0
dX 2
dF
 180  x1  x2  0
d
2. Вычисляем частные производные и приравниваем к нулю:
Перенося в правые части первых двух уравнений  и приравнивая их
левые части:
4 + 2х1 = 8+2х2 или х1 – х2 = 2
Решая это уравнение совместно с последним:
х1 – х2 = 2
180-х1-х2 = 0, находим: х2 = х1-2
180-х1 – х1+2 = 0 х1 = 91; х2 = 89.
Этот результат и был получен выше, однако ММЛ более универсален,
т.к. применим при n  2.
5. Обзор рассмотренных методов. Математическое
программирование и исследование операций
Рассмотренные
нами
методы
линейного
и
нелинейного
программирования
(а
также
целочисленное
программирование,
динамическое программирование) объединяются понятием математическое
программирование. Математическое программирование как и другие методы
решения экстремальных задач составляют основу аппарата исследования
операций - дисциплины, которая является одним из истоков системного
анализа. Фактически, основные концепции, принципы анализа систем
являются развитием теории исследования операций, и ее методы являются
сегодня одной из основных глав системного анализа.
Сам термин «исследование операций» возник в послевоенные годы,
когда стало ясно, что задачи широкого класса, возникшие в самых различных
сферах человеческой деятельности, имеют, несмотря на их качественное
различие, одно общее - они сводятся к выбору способа действия, варианта
плана, параметров конструкции и т.п., т.е. к принятию решений, и этого
общего достаточно для построения единой теории и единой системы
методов. Создание сложных технических систем, проектирование сложных
народнохозяйственных комплексов, анализ экологических ситуаций и многие
другие направления инженерной, научной и хозяйственной деятельности
требовали развития междисциплинарных, системных исследований. В этих
условиях возник и весьма общий термин - «операция», означающий любое
целенаправленное действие. Говоря об операции, мы всегда связываем с ней
некоторого субъекта (оперирующую сторону), который формулирует цель
операции и в интересах которого последняя проводится. Цель операции обычно некоторый внешний (экзогенный) элемент - считается заданной.
Наряду с субъектом, т.е. с оперирующей стороной, мы всегда имеем
дело еще и с исследователем операции. Он действует в интересах
оперирующей стороны, и его задача состоит в том, чтобы найти способ
использования ресурса (т.е. возможностей оперирующей стороны),
обеспечивающий достижение цели.
Выше было сказано, что математическое программирование как и
другие методы решения экстремальных задач составляют основу аппарата
исследования операций, однако сама теория исследования операций не
может быть сведена к решению экстремальных задач. Более того,
исследование операций не является чисто математической дисциплиной и
главные сложности анализа конкретных операций, как правило, заключаются
не в математических трудностях.
Первым шагом исследования операций является формализация
операции, ее описание с помощью языка математики. От того, как будет
формализована задача, будет зависеть судьба исследования. Так простое
описание делает и анализ более простым, но если модель не будет в
достаточной степени адекватна реальности, то мы получим сомнительную
достоверность
результатов.
Наоборот,
переусложненная
задача,
учитывающая разнообразные детали процесса и с большими подробностями
описывающая реальность, может привести к такой затрате машинного
времени (большие системы), которую даже высокая точность результата не
сможет оправдать.
Еще более сложные проблемы возникают при формировании критерия
- способа оценки качества наших действий, когда необходимо сравнивать
различные варианты стратегий, различные альтернативы. Здесь типична
ситуация, когда операция оценивается несколькими показателями. В этом
случае говорят о неопределенности целей. (Н.Н. Моисеев Математические
задачи системного анализа. М.: Наука, 1981.)
Download