Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

7452

.pdf
Скачиваний:
1
Добавлен:
23.11.2023
Размер:
1.1 Mб
Скачать

Рис. 1.

Замечание.

1) Всякая точка глобального минимума является и точкой локального миниму-

ма этой функции. Обратное, вообще говоря, неверно.

2)Аналогичные определения глобального максимума и локального максимума можно получить путем замены знака неравенства на противоположный.

3)Если функция обладает свойством унимодальности, то локальный минимум автоматически является глобальным минимумом.

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

Классификация задач оптимизации.

Классификацию задач оптимизации можно проводить по нескольким призна-

кам в зависимости от вида функции f (x) и множества Х:

1)детерминированные, стохастические, задачи оптимизации с неопределенно-

стями; статические, динамические (например, задачи управления);

2)безусловной и условной оптимизации;

3)с непрерывными и дискретными переменными (частично - целочисленные,

целочисленные, с булевыми переменными);

4)однокритериальные и многокритериальные;

5)линейные и нелинейные;

6)одномерные и многомерные, причем многомерные задачи могут быть малой и большой размерности;

7)с выпуклыми и невыпуклыми целевыми функциями;

8)одноэкстремальные и многоэкстремальные.

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

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

11

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

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

Алгоритм определения глобального максимума (минимума):

Шаг 1. Приравнять и найти все стационарные точки.

Шаг 2. Выбрать все стационарные точки, которые расположены в интервале

[A,B]. Обозначим эти точки через х1, х2, …, хN. Проверку наличия локального опти-

мума следует проводить только на множестве указанных точек, дополненном точ-

ками A и B.

Шаг 3. Найти наибольшее (наименьшее) значение F(х) из множества F(A), F(B), F(х1), …, F(хn). Это значение соответствует глобальному максимуму (минимуму).

Общие сведения о численных методах оптимизации, их классификация.

В большинстве случаев задачу оптимизации: f (x) min , x X не удается ре-

шить опираясь на необходимые и достаточные условия оптимальности или на гео-

метрическую интерпретацию задачи, и приходится ее решать численно с примене-

нием вычислительной техники. Причем, наиболее эффективными оказываются ме-

тоды, разработанные специально для решения конкретного класса задач оптимиза-

ции, так как они позволяют полнее учесть ее специфику.

Любой численный метод имеет два этапа:

1) первый этап любого численного метода (алгоритма) решения задачи опти-

мизации основан на точном или приближенном вычислении ее характеристик (зна-

чений целевой функции; значений функций, задающих допустимое множество, а

также их производных);

2) на втором этапе, на основании полученной информации строится прибли-

жение к решению задачи – искомой точке минимума x* , или, если такая точка не единственна, к множеству точек минимума.

12

Иногда, если только это требуется, строится и приближение к минимальному

значению целевой функции f min f (x) .

x X

Для каждой конкретной задачи вопрос о том, какие характеристики следует вы-

брать для вычисления, решается в зависимости от свойств минимизируемой функ-

ции, ограничений и имеющихся возможностей по хранению и обработки информа-

ции.

В зависимости от того какие характеристики, в частности, целевой функции бе-

рутся, алгоритмы делятся на алгоритмы:

1) нулевого порядка, в них используется информация только о значениях ми-

нимизируемой функции;

2)первого порядка, использующие информацию также и о значениях первых производных;

3)второго порядка, использующие, кроме того, информацию о вторых произ-

водных и так далее.

Когда решен вопрос о том, какие именно характеристики решаемой задачи сле-

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

ся на пассивные и активные (последовательные).

В пассивных алгоритмах все точки выбираются одновременно до начала вы-

числений.

В активных (последовательных) алгоритмах точки вычисления выбираются поочередно, то есть точка xi 1 выбирается, когда уже выбраны точки предыдущих вычислений x1, x2 ,..,xi и в каждой из них произведены предусмотренные алгорит-

мом вычисления, результаты которых будем обозначать соответственно через y1, y 2 ,...,yi .

13

Таким образом, последовательный алгоритм определяется точкой x1 X и на-

 

 

 

~i 1

 

 

бором

отображений вида

x

:{x1,...,xi ; y1,...,yi } X

i 1, при этом

xi 1 ~xi 1

{x1,...,xi ; y1,...,yi }.

 

 

 

На практике обычно используются наиболее простые виды зависимости, на-

 

~i 1

 

~i 1

 

пример:

x

{x1,...,xi ; y1,...,yi

} x

{xi ; yi }, то есть выбор точки очередного вы-

числения зависит лишь от точки предыдущего вычисления и полученного результа-

~i 1

 

 

 

 

~i 1

... i * yi }, то есть

та или x

{x1,...,xi ; y1,...,yi } x

:{xi ; 1 * y1

выбор xi 1 зависит от

xi и линейной комбинации

всех полученных результа-

тов(например, в методе сопряженных градиентов).

 

В дальнейшем для нахождения x k 1 будем пользоваться соотношением вида

xk 1 xk

k

* hk ,

 

k

R,

k = 0,1, 2...

 

 

 

 

 

 

 

 

При этом конкретный алгоритм определяется:

1)заданием точки x0 ;

2)правилами выбора векторов h k и чисел k на основе полученной в резуль-

тате вычислений информации;

3) условием остановки.

Правила выбора h k и чисел k могут предусматривать вычисления характери-

стик не только в точках x0 , x1,...,xk , но и в других точках, отличных от x0 , x1,...,xk .

Вектор h k определяет направление k 1-го шага метода минимизации, а коэф-

фициент k – длину этого шага.

Обычно название метода минимизации определяется способом выбора h k , а

его различные варианты связываются с разными способами выбора k .

Наряду с термином шаг метода пользуется также термин итерация метода.

Среди методов минимизации можно условно выделить:

14

конечношаговые методы;

бесконечношаговые методы.

Конечношаговыми (или конечными) называются методы, гарантирующие оты-

скание решения задачи за конечное число шагов.

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

Условия остановки (критерии окончания счета).

Условие остановки может определяться имеющимися в наличии вычислитель-

ными ресурсами (например, числом вычислений характеристик минимизируемой

функции) f (x) .

На практике часто используют следующие условия остановки:

 

 

x k 1 x k

 

 

1

(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (xk 1) f (xk )

 

 

2

(2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ( xk 1)

 

 

3

 

 

 

 

 

 

(3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обычно пользуются одним из условий, но иногда используют критерии, со-

стоящие в одновременном выполнении двух или всех трех условий

(1) –

(3).

 

 

 

 

 

 

 

 

 

 

 

 

 

Критерий

 

 

 

 

(3) относится лишь к задачам безусловной оптимиза-

ции. Его выполнение означает, что в точке x k 1 с точностью

3

выполняется усло-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вие стационарности.

2.3.2. Раздел 2. Прикладные нелинейные модели. Условная оптимизация

функции многих переменных. Метод Лагранжа

Постановка задачи и ее особенности.

Задача математического программирования – условный экстремум функции:

15

z f x1 , x2

F (x1 , x2 ,..., xn ) max(min),

 

g (x , x ,..., x

 

) ( , )b ,

(2.1)

 

i 1 2

 

 

n

 

 

i

 

 

 

 

 

 

 

 

 

 

 

(x , x

 

,..., x

 

) 0,......i 1, m.

 

x

2

n

 

 

1

 

 

 

 

 

 

 

в которой либо целевая функция, либо ограничения, либо и то и другое нелинейны,

называется задачей нелинейного программирования.

Пусть необходимо найти экстремум функции z f x, при условии, что пере-

менные х и у удовлетворяют уравнению связи x, y 0.

Определение. Говорят, что в точке X 0 x0 , y0 , удовлетворяющей уравнению

связи, функция z f x,

имеет условный максимум (минимум), если неравенство

f X 0 f x x X 0 f x

имеет место для всех точек Х, координаты которой удов-

летворяют уравнениям связи.

Один из способов определения условного экстремума применяются в том слу-

чае, если из уравнения связи можно выразить одну переменную через другую, тогда,

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

ции. Такой метод называется методом подстановки.

Метод подстановки

Пример. Предприятие для производства какого-то продукта расходует два средства в количестве х1 и х2 соответственно. (Это факторы производства). Факторы производства взаимозаменяемы. Объем производства является функцией затрат

производства - производная функция. Издержки зависят от расхода обо-

их факторов x1 , x2 и от цен этих факторов c1 , c2 . Совокупные издержки выразятся формулой b c1 x1 c2 x2 . Требуется при данных совокупных издержках определить такое количество факторов производства, которое максимизирует объем производ-

ства.

Математическая модель. Определить х1 и х2, удовлетворяющие условиям

c1 x1 c2 x2

b

, при которых функция z f x1 , x2 max

 

0, x2

0

x1

 

 

 

 

 

 

 

 

 

z x2 x

4 x x

2

,

c 1,

c

2

2,

b 4.

 

 

1

2

 

1

 

1

 

 

 

16

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

Рассмотрим экстремальную задачу с ограничениями в виде равенств.

Идея метода Лагранжа состоит в сведении задачи поиска условного экcтремума целевой функции F(x1, x2,…, xn) на множестве допустимых значений D,

описываемом системой уравнений

g1 (x1, x2 ,..., xn ) 0,

D : ...

(2.2)

gm (x1, x2 ,..., xn ) 0.

к задаче безусловной оптимизации функции.

Предполагается, что функции F(x1, x2,…, xn) и gi(x) непрерывные вместе со своими частными производными.

Эта задача является классической задачей на условный экстремум. Чтобы ее решить используют функцию Лагранжа:

L x1,..., xn , 1,..., m f x1,..., xn 1 g1 x1,..., xn ... m gm x1,..., xn (2.3)

где вектор λ Rm вектор дополнительных переменных, называемых множителями Лагранжа.

Функцию L(x,λ), где x Rn, λ Rm, называют функцией Лагранжа.

В случае дифференцируемости функций F и gi справедлива теорема, опреде-

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

лиза, приведем ее без доказательства.

Теорема 1. Если х* является точкой условного экстремума функции (2.3)

при ограничениях (2) и ранг матрицы первых частных производных функций

 

g (x* )

J

i

 

 

x j

 

 

 

равен т, то существуют такие λ 1*, λ 2*,..., λ m*, не равные одновременно ну-

17

лю, при которых

m

*i

gi x* 0

 

L x* , * f x*

(2.4)

i 1

 

 

 

Из теоремы 1 вытекает метод поиска условного экстремума, получивший на-

звание метод Лагранжа.

Схема применения этого метода следующая.

1. Вводится вектор из m дополнительных новых переменных

1 , 2 ,..., m Rm – множителей Лагранжа.

2.Определяется функция Лагранжа

L x, f x g x

или в развернутом виде

L x1,..., xn , 1,..., m f x1,..., xn 1 g1 x1,..., xn ... m gm x1,..., xn

3. Находятся частные производные функции Лагранжа по xj, j 1, n и λi,

i 1, m и приравниваются к нулю:

 

f

 

 

 

m

 

g

 

 

 

 

 

 

 

 

 

x1 ,..., xn i

 

 

i

x1 ,..., xn 0,

j 1, n,

x j

 

 

 

 

 

 

 

 

i 1

 

x j

 

 

 

 

 

x ,..., x

 

0,

 

 

 

 

 

 

(2.5)

g

n

i

1, m.

 

 

 

 

i

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Решается система (2.5) относительно n+m неизвестных x1,..., xn, λ1,..., λm, т.е.

находятся стационарные точки (x*,λ*) функции Лагранжа L(x,λ).

5. Среди точек, подозрительных на экстремум, находят такие, в которых дости-

гается экстремум, и вычисляют значения F(x) в этих точках.

6. Определяют точки максимума и минимума.

Отметим, что условия (2.5) дают лишь необходимые условия экстремума.

Существуют и достаточные условия, определяющие точки максимума или ми-

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

кального экстремума.

18

Пример. На двух предприятиях отрасли необходимо изготовить 200 изделий некоторой продукции. Затраты, связанные с производством х1 изделий на первом предприятии, равны 4х12 руб., а затраты, обусловленные изготовлением х2 изделий на втором предприятии, составляют 20х2 + 6х22 руб. Определить, сколько изделий на каждом из предприятий следует произвести, чтобы общие затраты, обусловленные изготовлением необходимой продукции, были минимальны.

Решение

1. Составим математическую модель.

x1 x2

 

200,

x1

0,

 

x2

 

0 .

F(x) 4x12 20x2 6x22

min

2.

Составим функцию Лагранжа

 

 

 

 

 

 

 

 

 

 

 

L(x , x , ) 4x2

20x

6x2

(200 x

x )

 

 

 

 

 

 

 

1

2

 

 

 

1

2

2

 

1

2

3.

 

 

L

 

8x1

;

 

L

 

20 12x2 ;

L

200 x1

x2 .

 

 

x

 

x

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8x1 0

 

12x2 8x1

20

 

 

 

 

4.

 

 

 

 

 

 

 

 

x1 121, x2

79 , Fmin 97590 .

12x2 20

 

 

x1

x2 200

 

x

 

x

2

200

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Замечание. Метод множителей Лагранжа можно применять и в случае, когда ог-

раничения заданы в виде неравенств. При этом следует сначала найти точки безус-

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

Экономический смысл множителей Лагранжа

Рассмотрим теперь важную интерпретацию множителей Лагранжа. Решение системы (2.5) дает, кроме вектора локального экстремума х*, еще и вектор множите-

лей Лагранжа λ*, который несет ценную информацию. Оптимальное значение целе-

вой функции f* = f(х*) зависит от значений констант ограничений bi. Можно дока-

 

*i

 

f *

 

 

 

 

 

 

зать, что

b

,

i 1, m

,

(2.5*)

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

Если интерпретировать F как доход или стоимость, bi – как затраты некоторых ресурсов, то множители Лагранжа будут показывать, как изменится максимальный

19

доход (или минимальная стоимость), если количество ресурса i-го вида увеличится на единицу, т.е. множители Лагранжа, соответствующие решению задачи, измеряют

чувствительность оптимального значения целевой функции к изменениям кон-

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

(т.е. стоимости единицы ресурса). По этой причине множители Лагранжа часто на-

зывают теневыми ценами соответствующих ресурсов.

Отметим, что основное практическое значение метода Лагранжа заключается в том, что он позволяет перейти от условной оптимизации к безусловной и, соответ-

ственно, расширить арсенал доступных средств решения проблемы. Однако нетруд-

но заметить, что задача решения системы уравнений (2.5), к которой сводится дан-

ный метод, в общем случае не проще исходной проблемы поиска экстремума задачи

(2.1). Методы, подразумевающие такое решение, называются непрямыми. Они могут быть применены для весьма узкого класса задач, для которых удается получить ли-

нейную или сводящуюся к линейной систему уравнений. Прямые методы основаны на итеративных процессах вычисления и сравнения значений оптимизируемых функций.

2.3.3. Раздел 3. Многошаговые модели принятия решений и динамическое про-

граммирование

Динамическое программирование представляет собой метод оптимизации мно-

гошаговых процессов принятия решении, позволяющий указать пути исследования целого класса экстремальных задач (1950-е г. г., Р. Беллман).

Метод оказывается весьма эффективным при анализе задач с аддитивной целе-

вой функцией F(x1, x2 , , xn ) g1 (x1 ) gn (xn ) , к которым относятся, в частно-

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

Х= (x1*, x2 *, , xn *) , дающий max или min этой функции F.

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

цесс распределения средств между предприятиями, использование ресурсов в тече-

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]