Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
монография 2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
6.54 Mб
Скачать

2.4. Многомерная оптимизация без ограничений

Во втором параграфе были рассмотрены методические системы одномерной оптимизации. Однако большинство экономических задач представляет собой класс многомерных оптимизационных задач, методы решения которых, зависят от многих факторов. Эти факторы и являются определенными предпосылками выбора конкретных методов решения оптимизационных задач экономического характера/11/.

В возникающих при анализе оптимизационных моделей экстремальных задач искомый максимум или минимум достигается, как правило, не во внутренних, а в граничных точках области изменения соответствующих параметров.

В этой связи классическая теория исследования экстремальных задач, основанная на методах общего курса математического анализа, оказывается уже недостаточной. Это приводит к использованию других математических направлений, предметом которых является постановка, теоретическое исследование и разработка эффективных задач. Таких, например, как линейное, выпуклое, динамическое, нелинейное и целочисленное (дискретное) программирование, теория игр и теория принятия решений.

Прежде чем приступать к их изучению рассмотрим методы исследования экстремальных задач, применяемые в классической теории, т.е. с использованием аппарата математического анализа.

Классическая теория.

Поиск экстремумов функций многих переменных

Можно выделить класс нелинейных задач, которые относятся к классическим методам оптимизации /14/. В этом случае задачу оптимизации можно сформулировать так:

Найти переменные x 1,x2 ,…,xn, удовлетворяющие системе уравнений I(x1 ,x 2,…,xn) =bi ,i= и обращающие в максимум (минимум) целевую функцию z=f(x1 ,x2 ,…,xn) при условии, что функции I(x) и f(x) непрерывны и имеют частные производные, по крайней мере, второго порядка. Примером типовой и несложной нелинейной задачи является следующая постановка.

Объем производства, выраженный в натуральных или стоимостных единицах, является функцией затрат производства z=f(x1,x2). Эта зависимость называется производственной функцией. Издержки зависят от расхода обоих факторов(x1 и x2) и от цен этих факторов (c1 и c2). Совокупные издержки выражаются формулой b= с1x1+c2x2. Требуется при данных совокупных издержках определить такое количество факторов производства(например, машины и труд, два розничных вида сырья и т.д.), которое максимизирует объем продукции z.

Математическая модель этой задачи имеет вид: определить такие переменные x1 и x2, удовлетворяющие условиям c1x1+c2x2=b; x1 и x2 0, при которых функция z=f(x1,x2) достигает максимума. Как правило, эта функция имеет произвольный нелинейный вид.

Используя классические методы оптимизации, следует четко представлять различие между локальным, глобальным и условным экстремумом.

Первые два понятия были рассмотрены достаточно подробно в предыдущем параграфе, поэтому здесь дадим определение только условного экстремума.

Разъясним это понятие на примере нелинейной функции двух переменных.

Возьмем функцию z= , графиком которой является верхняя полусфера.

Y

M

M1

0 В Z

pP

A P

А

X

Рис. 2.10. График функции z =

Эта функция имеет максимум в начале координат, которому соответствует точка M. Проведем линию AB, проходящую через точки пересечения полусферы с координатными осями. Эта линия L {A,B}, лежащая в плоскости 0XZ вычисляется по уравнению x+y-1=0 или y=1-x, которое называется уравнением связи. Из геометрического представления функции следует, что для точек этой линии L наибольшее значение функции достигается в точке P( ), лежащей посередине отрезка AB. Это и есть точка условного экстремума функции z= . Ей соответствует точка M1 на полусфере.

Для отыскания точек условного экстремума поступают следующим образом:

1.Если из уравнения связи y= (x) можно явно выразить одну независимую переменную через другую, то, подставляя в выражение функции y=f(x,y) вместо y функцию получим функцию одной переменной

Z = f[x, (x)]= (x).

2.Найдя значения x*i, при которых эта функция достигает экстремума, и определив затем из уравнения связи (x) соответствующие значение y, получим искомые точки условного экстремума.

Таким образом, для того, чтобы найти точки, которые могут быть точками условного экстремума функции z=f(x,y) при известном уравнении связи (x,y)=0, необходимо образовать вспомогательную функцию (x,y)=f(x,y)+ (x,y), составить и решить уравнения для отыскания точек экстремума этой функции (x,y). Описанный прием решения задач на условный экстремум в более общей постановке называется методом множителей Лагранжа, который будет рассмотрен в следующем параграфе. Данный параграф целиком ориентирован на изучение задач нелинейного программирования.

Суть классической теории сводится к следующему/14/.

Будем полагать, что многомерная функция z = f(x1,x2,…xn) = f(x) дважды дифференцируема в точке x*=(x*1,x*2,…,x*n), x* D(f) и в некоторой ее -окрестности. Если для всех точек этой окрестности f(x*) f(x), то говорят, что функция f(x) имеет экстремум в x*.Точка x*, в которой все частные производные функции z=f(x)’ равны нулю, называется стационарной точкой. Необходимое условие экстремума. Если в точке x* функция z=f(x) имеет экстремум, то частные производные в этой точке равны нулю.

Геометрически это выражается в том, что касательная плоскость к поверхности - графику функции в соответствующей ее точке – параллельна плоскости независимых переменных.

Также как и для функций одной переменной, необходимый признак экстремума в случае многих переменных не является достаточным. Приведем условия достаточности без доказательства для функций двух переменных.

Пусть точка P0(x0,y0) является стационарной точкой функции z=f(x,y), т.е.( )0=0 и ( )0=0. Вычислив значения вторых частных производных функции f(x,y) и обозначив их через A,B и C:

A=( ) , B=( ) , C=( ).

Если B2-AC 0, то функция f(x,y) имеет в точке P0(x0,y0) экстремум: максимум при A 0 и C 0 минимум при A 0 и C 0.

Если B2-AC 0, то точка P0 не является точкой экстремума.

Если B2-AC=0, то никакого заключения о характере стационарной точки сделать нельзя и требуется дополнительное исследование.

Следовательно, чтобы найти экстремальное значение функции z=f(x,y) в области D, нужно:

1) найти все стационарные точки внутри области D и вычислить значения функции в них;

2) исследовать функцию на экстремум на границе области D;

3) сравнить значения функции, полученные в п.1 и 2 наибольшее (наименьшее) из этих чисел и будет наибольшим (наименьшим) значением функции во всей области. Граница области D аналитически может быть задана системой уравнений (условий) относительно переменных x1,x2,…,xn. Поэтому, исследуя экстремальные свойства функции на границе, необходимо решить задачу условного экстремума (см. подраздел 2.1).

Другой способ определения условного экстремума начинается с построения вспомогательной функции Лагранжа, которая в области допустимых решений достигает максимума для тех же значений переменных x1,x2,…,xn и что и целевая функция z.

Пусть решается задача определения условного экстремума функции z=f(x) при ограничениях I(x1,x2…,xn) =0, i= ,m n, которые называются уравнениями связи.

Составим функцию L(x)=f(x)+ , которая называется функцией Лагранжа.

- множители Лагранжа.

Отметим, что множителям Лагранжа можно придать экономический смысл/11/. Если f(x1,x2,…,xn) - доход, соответствующий плану x=(x1,x2,…,xn), а функция I(x1,x2,…,xn)- издержки i-го ресурса, соответствующие этому плану, то I- цена (оценка) i-го ресурса, характеризующая изменение экстремального значения целевой функции в зависимости от размера i-го ресурса.

L(x)-функция n+m переменных (x1,x2,…,xn, 1, 2,…, m).Определение стационарных точек этой функции приводит к решению системы уравнений

=0, (2.10)

=0, i=

i=

Легко заметить, что (x)= (x), т.е. в эту систему входят уравнения связи.

Таким образом, задача нахождения условного экстремума функции z=f(x) сводится к нахождению локального экстремума функции L(x).

Если стационарная точка найдена, то вопрос о существовании экстремума в простейших случаях решается на основании достаточных условий экстремума- исследования знака второго дифференциала d2L(x) в стационарной точке.

В заключении отметим, что описанные выше классические методы оптимизации имеют весьма ограниченное применение. Хотя бы потому, что задача получения условного экстремума функции и переменных весьма трудоемка. Более того классические методы вообще не работают, если множество допустимых значений аргумента дискретно или целевая функция задана таблично. Если критерий эффективности задан нелинейной функцией, то имеет задачу нелинейного программирования. В частности, или указанные функции обладают свойствами выпуклости, то полученная задача является задачей выпуклого программирования.

Выпуклый анализ

В школьном курсе математики выпуклыми назывались многоугольники, целиком расположенные по одну сторону от прямых, на которых лежат их стороны (рис.21 а).

Рис. 2.11. Примеры выпуклого (а) и невыпуклого (б) множеств

Например, многоугольник а)- выпуклый, многоугольник б)- не является выпуклым (он расположен по обе стороны от прямой BC).

Общим определяющим свойством, которое отличает выпуклый многоугольник от не выпуклого, является то, что если взять любые две точки и соединить их отрезком, то весь отрезок будет принадлежать этому многоугольнику. Это свойство может быть принято за определение выпуклого множества точек.

Определение. Множество точек называется выпуклым, если оно вместе с любыми двумя своими точками содержат весь отрезок, соединяющий эти точки.

Примерами выпуклых множеств являются также круг, сектор, отрезок, куб, пирамида.

Наряду с выпуклым множеством в теории оптимизации пользуются понятие и выпуклой функции.

Определение. Функция F(x)=F(x1,x2,..,xn), определенная на выпуклом множестве М n- мерного пространства, называется выпуклой на этом множестве, если

F( x1+(1- )x2) F(x1)+(1- )F(x2) (2.11)

Для любых точек x1,x2 M и любого числа .

F(x)

F(x2)

F(x)

F(x1)

0 x1 x= x1+(1- ) X2 X2 X

Рис. 2.12. График выпуклой функции

На этом рисунке изображен график функции одной переменной, выпуклой на всей числовой прямой.

Для любой пары x1 и x2 значений аргумента произвольную точку можно задать в виде x= x1+(1- )x2.

Как видно из этого рисунка неравенство (2.11) означает, что отрезок, соединяющий точки x1; F(x1) и x2; F(x2) расположен не ниже графика функции на этом участке.

Рассмотрим свойства выпуклой функции.

Алгебраические и аналитические свойства выпуклых функций

  1. Если функция F(x)- выпукла, то функция – F(x) вогнута.

  2. Если функция F(x)=C и линейная функция F(x)=ax+b являются всюду выпуклыми и всюду вогнутыми.

  3. Если функции Fi(x), i= , выпуклы, то при любых действительных числах ai 0 функция Fi(x) также является выпуклой.

  4. Если функция F(x) выпукла, то для любого числа a область решения неравенства F(x) a является выпуклым множеством, либо пустым.

  5. Если функция (x) выпуклы при всех неотрицательных значениях переменных, то область решений системы неравенств I(x) b, i= является выпуклым множеством (если она не пуста).

  6. Выпуклая (вогнутая) функция, определенная на выпуклом множестве М, непрерывна в каждой внутренней точке этого множества.

  7. Всякая дифференцируемая строго выпуклая (вогнутая) функция имеет не более одной стационарной точки (т.е. точки, в которой все частные производные равны нулю). При этом для выпуклой (вогнутой) функции стационарная точка всегда является точной локального и глобального экстремума.

Свойство выпуклости функций широко используется при решении задач оптимизации, которые относятся к классу задач выпуклого программирования.

Прямые методы безусловной оптимизации

Кроме методов, использующих аппарат дифференциального исчисления, в практике безусловной оптимизации находят широкое применение так называемые графические методы.

Проиллюстрируем применение графического метода на примере решения задачи линейного программирования/4/.

Экономико-математическая задача формулируется следующим образом:

Найти такой план выпуска продукции x=(x1,x2), при котором целевая функция принимает максимальное значение.

Примем без доказательства следующее утверждение: множество допустимых решений (многогранник решений) задачи линейного программирования представляет собой выпуклый многогранник (или выпуклую многогранную область), а оптимальное решение задачи находится, по крайней мере, в одной из угловых точек многогранника решений.

Пусть геометрическим изображением решения данной задачи является многоугольник ABCDE (рис.2.13).

X2 F=Fmax

F=Fmin B

A

E

F=Fmin

F=0

F=a

Х1

Рис. 2.13. Иллюстрация графического метода

Необходимо найти такую точку среди всех точек многоугольника, в которой линейная функция F=c1x1+c2x2 принимает максимальное или минимальное значение.

Рассмотрим так называемую линию уровня линейной функции F, т.е. линию, вдоль которой эта функция принимает одно и то же фиксированное значение a или c1x1+c2x2=a.

Это уравнение прямой линии. При различных значениях a линии уровня параллельны, т.к. их угловые коэффициенты определяются только соотношением между c1 и c2. Важное свойство линии уровня линейной функции состоит в том, что при параллельном смещении линии в одну сторону от F=a уровень возрастает, в другую убывает.

Смысл графического метода заключается в следующем. Для определения экстремума (максимума или минимума) необходимо вычислить и изобразить две линии уровня и определить, на которой из них уровень больше. Например, одну из линий можно взять, проходящую через начало координат. Другую линию можно провести произвольно, например, через множество решений. Далее, определив направление возрастания линейной функции (обозначим его через вектор ), найдем точку, в которой функция принимает max или min значение. На рис.2.13- соответственно т.C и т.A(Fmax и Fmin).

Для вычисления целевой функции необходимо решить систему линейных уравнений вида:

a11x1+a12x2 b1

a21x1+a22x2 b2

………………. (2.12)

……………….

……………….

am1x1+am2x2 bm ,

которые обычно задаются в виде неравенств и являются ограничениями. Сама же оптимизируемая функция при линейном программировании соответственно и представляет собой линейную функцию f=c1x1+c2x2+…+cnxn+c.

Для решения задачи необходимо среди неотрицательных решений системы (10) нужно найти такое, которое минимизирует(максимизирует) функцию f

F= max (или min).

Если система ограничений (2.12) состоит из одних неравенств, то такая задача называется стандартной, если система ограничений состоит из одних уравнений, то задача называется канонической.

Таким образом, графический метод состоит в следующем.

  1. Строится множество x всех допустимых решений.

  2. Если x=0, то задача неразрешима.

  3. Если x 0, то рассматриваются линии уровня

F=a при монотонном изменении a от - .

При увеличении a прямая f=a смещается параллельно в направлении вектора . Если A- первая точка встречи линии уровня с областью x. F(A)=a0, то прямая уровня f(x)=a при a<a0 не имеет общих точек с x. Отсюда следует, что a0=min f на x. Аналогичным образом, если A- последняя точка пересечения линии уровня с x, то значение функции максимально.

Градиентные методы.

Градиент и матрица Гессе функции многих переменных

Общая схема решения задач данным методом /7/ состоит в построении последовательности x0,x1,x2,…,xn решений системы ограничений по следующему принципу: в качестве x0 выбирается, вообще говоря, любая точка области решений и затем каждая последующая получается из предыдущей по формуле

Xk+1=xk+ , (*)

где -некоторое направление (т.е. вектор), - некоторое число.

При этом направление и “длина шага” выбираются так, чтобы обеспечить сходимость процесса оптимального решения x*.

Для реализации данного метода необходимо вычислить градиент функции по данному направлению.

Напомним, что градиентом функции (для случая трех переменных) и (x,y,z) называется вектор, проекциями которого служат значения частных производных этой функции, т.е.

gradu= .

Пользуясь этим определением, можно записать , т.е. производная функции по данному направлению равна скалярному произведению градиента функции на единичный вектор этого направления.

Или производная функции по данному направлению равна проекции градиента функции на направление дифференцирования, т.е. . Отсюда следует, что производная по направлению достигает наибольшего значения, когда Сos =1, т.е. =

p

Рис. 2.14. Градиент функции

Таким образом, направление градиента есть направление наискорейшего возрастания функции. В противоположном направлении функция U будет быстрее всего убывать.

Находя частную производную по направлению , мы можем определить, является ли направление “невыгодным” или “выгодным” в смысле приближения к оптимуму.

Так как направление градиента f целевой функции является направлением ее наискорейшего роста, то при отыскании max вогнутой функции (min выпуклой функции) в качестве часто берется и тогда формула (*) принимает вид

Xk+1=xk+ - если ищется максимум и

xk+1=xk- - если ищется минимум.

Методы спуска, в которых интеграционная последовательность x0,x1,x2,…,xk,… находится по этим формулам xk+1=xk , называются градиентными.

К их числу относится, в частности, широко используемый в практике решения оптимизационных задач метод наискорейшего спуска.

Для случая функции двух переменных метод наискорейшего спуска имеет простейшую интерпретацию (рис.2.15).

Рис. 2.15. Линии уровня

На этом рисунке изображены линии уровня некоторой функции F(x,y,z), для которых, как отмечалось, f=const.

Отсюда видно, что для любого k луч, идущий от точки xk к точке xk+1 перпендикулярен к линии уровня функции f, проходящей через точку xk (т.к. направлен по градиенту), и касается следующей линии уровня, проходящей через точку xk+1. Таким образом, на плоскости наискорейший спуск происходит по двум взаимно перпендикулярным направлениям.

В заключение отметим, что для метода градиентного спуска величина шага вдоль выбранного направления постоянна для каждой итерации, а для метода наискорейшего спуска характерен переменный шаг.

Графическая и экономическая интерпретация задач оптимизации

Рассмотрим задачу планирования производства, иначе - задачу об использовании ресурсов в линейной обстановке.

В обобщенной постановке задача имеет вид /11/:

Н айти такой план x выпуска продукции, удовлетворяющий системе:

a11x1+a12x2+…+a1nxn b1

a21x2+a22x2+…+a2nxn b2 (*)

……………………………

an1x1+an2x2+…+annxn b

и условий X1 0, X2 0…..,Xn 0 ,

при которых функция F=с1х12х2+…+с4х4 принимает максимальное значение.

Это и есть общая задача линейного программирования, где F есть линейная функция (линейная форма, целевая функция или функция цели). Если система ограничений состоит из неравенств, то задача называется стандартной, если из равенств, то задача называется канонической. Любая форма линейного программирования может быть сведена к канонической, стандартной или общей формам.

Рассмотрим пример. Для изготовления двух видов продукции Р1 и Р2 используют четыре вида ресурсов S1, S2, S3, S4. Запасы ресурсов, число единиц ресурсов, затрачиваемых на изготовление единицы продукции, приведены в таблице 2.3.

Таблица 2.3.

Вид ресурса

Запас ресурса

Число единиц ресурсов, затрачиваемое на изготовление единицы продукции

P1

P2

S1

18

1

3

S2

16

2

1

S3

5

_

1

Прибыль получаемая от реализации продукции Р1 и Р2 соответственно 2 и 3 рубля. Необходимо составить такой план производства продукции, при котором прибыль от ее реализации максимальной.

Решение. Составим экономико-математическую модель задачи.

О бозначим х1 и х2 – число единиц продукции соответственно, Р1 и Р2 запланированных к производству. Для их изготовления (см. таблицу) потребуется(1х1 +3х2) единиц ресурса S1, (2х1+1х2) единиц ресурса S2, (1х2)- единиц S3 и (3х1)- единиц ресурсовS4.Так как потребление ресурсов не должно превышать их запасы , то связь между ними можно выразить с помощью следующих неравенств (*).

Очевидно, что при F=0 линия уровня 2х1+ 3х2=0 проходит через начало координат (строить ее необязательно). Зададим, например F=6 и построим линию уровня 2х1+ 3х2=6. Ее расположение в плоскости ОХ1Х2 указывает на направление возрастания линейной функции( вектор ). Так как по условию задачи необходимо найти максимум, то как следует из графика он должен находится в угловой точке С, находящейся на пересечении прямых ׀ и ׀׀. Это означает, что координаты точки С определяются решением системы

х1+ 3х2=18

12=16,

откуда х1=6, х2=4;т.е. С(6;4).

Максимум линейной функции равен F=2 6 + 3 4 =24. Итак, Fmax =24 при оптимальном решении х1=6, х2=4, т.е. максимальная прибыль в 24 рубля может быть достигнута при производстве Р1=6 и Р2=4. В этой задаче max F достигался в одной точке и задача имела одно оптимальное решение (рис.2.16).

Между тем в экономической практике нередко встречаются задачи, в которых эти условия не удовлетворяются, т. е. может наблюдаться не одно, а множество решений, которые требуют тщательного рассмотрения конкретных ситуаций.