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

книги / Математические методы принятия решений

..pdf
Скачиваний:
2
Добавлен:
13.11.2023
Размер:
22.94 Mб
Скачать

ограничениях hj(x\, х2, ... , х п) = 0, j =

1 , 2 , . . . , р. По условию за­

дачи составляется функция Лагранжа

 

 

V

F(jX\y Х2, • • •, З'п) fip^ 1? ®2> • • • у %п) “Ь

Xjhjixi, X2, • • •, Хп).

 

i =1

Здесь Xj — неизвестные постоянные множители, подлежащие опре­ делению (множители Лагранжа), т. е. требуется найти п неизвест­ ных х \, Х2, ■■■, х п и р множителей Лагранжа X], Х2, ..., Хр.

Для рассматриваемого в начале параграфа примера, когда мини­ мизируется функция f{ x 1,жг) при условии ср(хь х2) = 0, функция Лагранжа имеет вид

F{x 1, яг) = f i x u х2) + Хср(хь х2).

Точки, в которых возможен экстремум, находятся как решение системы алгебраических уравнений, полученной приравниванием нулю частных производных функции Лагранжа по искомым пере­ менным (п уравнений) и включением в эту систему р ограниченийравенств. Метод Лагранжа сводит задачу нахождения условного экс­ тремума функции f i x ) к задаче нахождения безусловного экстре­ мума функции Fix, X).

Ограничения-неравенства еще более усложняют задачу. Они за­ дают область допустимых значений переменных. Например, пусть требуется оптимизировать некоторую функцию fix ) при ограниче­ ниях

<7i(х) = xi - х \ ^ 0, g2ix) = 1 - х, - х \ ^ 0.

Область допустимых значений переменных xi и х2 в этой зада­ че есть пересечение области, лежащей «внутри» параболы xi = х\, с кругом единичного радиуса, уравнение окружности которого име­ ет вид х, + х\ = 1 (рис. 1.4).

Пересечение цилиндра, направляющей которого является грани­ ца полученной области D, с поверхностью z = fix ) может привести к самым разнообразным вариантам положения точки экстремума. На рис. 1.5, a-в показаны поверхности, полученные в результате

пересечения цилиндра, направляющей ко­

 

торого служит граница области допу­

 

стимых

значений переменных х\ и Х2,

 

и поверхности, соответствующей целевой

 

функции z = f ( x 1, Х2).

 

 

На рис. 1.5, а точка М безусловного

 

экстремума функции г = f ( x 1, £ 2) являет­

 

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

Рис. 1.4. Область допу­

На рис.

1.5, б точка М

является уже

 

стимых значений х\ и Х2

граничной и в ней целевая функция до­ стигает своего наибольшего значения. На рис. 1.5, в точка М не

принадлежит области допустимых значений переменных, а целе­ вая функция имеет равные наибольшие значения по линиям A L B и А К Б (т. е. не ясно, что же брать за решение задачи). Эти неод­ нозначные результаты получены даже в случае, когда поверхность целевой функции г = f(x) достаточно проста и обладает единствен­ ным (глобальным) максимумом.

Z

 

 

nL М

 

 

М

 

 

к /

1

\

1

\

 

1

\

 

1

\

 

1

 

 

1

 

 

1

^

 

_1

 

i

*2

Z

 

 

Рис. 1.5. Точка М:

 

х 2

а является точкой экстремума функ­

 

 

ции f(x\,X 2) и задачи; б —является

*\

б

граничной; в —не принадлежит обла­

сти допустимых значений xi и Х2

2 4077

 

 

Наиболее полные результаты в задачах математического про­ граммирования получены для выпуклых целевых функций, когда об­ ласть допустимых значений является выпуклым множеством. Мно­ жество точек D называют выпуклым, если для любых точек М, и М 2, принадлежащих области D, отрезок М ,М 2 принадлежит мно­ жеству (области) D (рис. 1.6, а). Другими словами, любая точка ХМ, + (1 —Х)М2 принадлежит области D для любого X, 0 ^ X

и для любых точек М\ и М 2, принадлежащих области D. Пересе­ чение конечного числа выпуклых множеств выпукло. На рис. 1.6, б показаны невыпуклые множества.

Рис. 1.6. Выпуклые (а) и невыпуклые (б) области (множества)

Функцию /(М ) называют выпуклой на непустом выпуклом мно­ жестве D, если для любых двух точек М\ и М 2, принадлежащих области D, и любого числа X, 0 ^ X ^ 1, справедливо неравенство

/(ХМ, + (1 - Х)М2) ^ Х /(М ,) + (1 - Х)/(М 2).

Функцию /(М ) называют строго выпуклой, если для 0 < X <; 1 и М , # М 2 выполнено строгое неравенство

/(ХМ , + (1 - Х)М2) < Х /(М ,) + (1 - Х)/(М 2).

Геометрически выпуклая функция лежит над своими касательными. Примером выпуклой функции является парабола.

Сумма выпуклых на множестве D функций есть также выпуклая на D функция.

Функцию /(х ) называют вогнутой на выпуклом множестве D, если функция - / ( х ) выпукла на D.

Ограничения gi(x) ^ 0, i = 1, 2 , . . . , т, образуют выпуклое мно­ жество D (выпуклую область D), если все функции gi(x) вогнуты.

В математическом программировании выделяют важный класс задач — задачи выпуклого программирования: минимизировать функ­

цию /(ж) при ограничениях gi(x) ^ 0, г = 1, 2, . . . , т, где f(x ) - вы­ пуклая функция, а все функции gt(x) вогнуты, т. е. рассматривают выпуклые функции на выпуклых множествах.

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

Очевидно, что решить подобную задачу проще (но не просто), чем в случае, когда целевая функция f(x) и область D будут общего вида.

§1.5. Необходимые и достаточные условия экстремума

взадачах математического программирования

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

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

ство D выпукло, а функция /(ж)

дифференцируема в точке ж* 6 D,

то градиент V /( ж*), если он от­ личен от нуля, составляет нетупой

угол ф с вектором, направленным из ж* в любую точку х\ € D. Други­ ми словами, скалярное произведение (У/(ж*), Ж1 - ж * ) ^ 0 (рис. 1.7). Для точки ж, не являющейся решением за­ дачи, всегда найдется такая точка жг, что угол ф1 будет больше тч/2.

В тех случаях, когда решение ж* находится внутри области D, гради­ ент У/(ж*) равен нулю.

Рис. 1.7. Положение гради­ ента Vfix*) в точке реше­ ния ж* и в точке ж, не яв­ ляющейся решением задачи математического программи­ рования (знаками + и —ука­ зано направление возраста­ ния значений линий уровня)

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

Для области D, имеющей вид параллелепипеда, когда а* ^ х* ^

^ Ь{, —оо < a i< b i < +оо,

г = 1, 2,

данное (необходимое)

условие записывается следующим образом:

df(x*)

 

если ai<Xi < bit

—г-----= 0,

df(x*) Л

если

*

 

> 0,

х ’ = ai ф -о о ,

ОХ\

< 0,

если

х£ = bi ф +оо.

 

 

 

Здесь градиент направлен внутрь области D.

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

В общем случае для задачи вида

 

/(х ) -» min,

(1.4)

g i ( x ) ^ 0 ,

г = 1, 2, . . . ,m ,

(1.5)

hj(x) = 0,

j = 1, 2, ...,p,

( 1.6)

вводится функция Лагранжа

 

т

р

 

L(x, и, X) = /(х ) - 2

iiipi(x) + 2 ljhj(x),

(1.7)

 

г - 1

j=l

 

где щ, г = 1, 2,

Xj, j =

1, 2,

—множители

Лагранжа,

подлежащие определению наряду с координатами вектора х. Множители Лагранжа \j для ограничений-равенств могут иметь любой знак, множители Лагранжа щ для ограничений-неравенств — неотрицательны. Если в задаче математического программирова­

ния (1.4)—(1.6) множество P,

x e P c R " ,

выпукло, функции /(ж),

<7i(x), г = 1,2,

выпуклы на Р и дифференцируемы в точке

х* е D,

 

 

 

D = {х6 Р | gi(x) ^ 0, г =

1,2,

hj = 0, j = 1,2, ... ,р ) ,

функции hj(x), j = 1, 2 ,

р,

линейны и

при

некоторых и *, X*

выполнены условия (VxL(x*, и*, X*), х -

х*) ^

0 для всех

х е Р

и u*gi(x*) = 0, г = 1, 2, . . . , т,

то х* (глобальное) решение

этой

задачи.

 

 

 

 

 

Соотношения

 

 

 

 

 

(VxL(x*, и*, X*), ж - х*) > 0

 

(1.8)

при всех х е Р,

 

 

 

 

 

u*9i(x*) = 0,

г = 1 , 2 , . . . , т ,

 

(1.9)

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

(условия Куна—Таккера):

а) если х* является внутренней точкой области P, х* е int Р, то условие ( 1.8) эквивалентно равенству V xL(x*, и*, X*) = 0;

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

P = { x e R n \ak ^ x k ^ b k, k = l , 2 , . . . , n } ,

где —оо < а к <Ьк < +оо, то соотношение (1.8) эквивалентно следу­ ющему условию: для любого к = 1, 2, . . . , п

dL

(х*, и*, X*) = 0,

если

ак < х к < Ьк,

■=—

охк

 

 

 

 

^ ( х * , и * , Х * ) >

0,

если

х*к = ак Ф - оо,

ОХк

 

 

 

 

-г— (х*, и*, X*) ^

0,

если

х*к = Ьк Ф+ оо;

дхк

 

 

 

 

в) если в области Р выполнено условие неотрицательности только s переменных и Р имеет вид

P = { x e R n | х к ^ 0, к = 1,2,..., s}, O ^ s ^ n ,

то условие ( 1.8) эквивалентно совокупности условий

х*к ^ - ( х * , и * , \ * ) = 0,

к = 1,2,

( 1.10)

■j— (х*, и*, X*) = 0,

fc = s + l , . . . , n .

 

охк

 

 

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

(gi(x*) = Q, i = 1, 2, . 1\; Ц ^ т), и пассивные (gi(x*) Ф 0, г = = /i + 1,..., т). Для пассивных ограничений коэффициенты Лагран­ жа и* должны быть равны нулю, при этом пассивные ограничения не оказывают влияния на выбор решения х*

Рассмотрим случай, когда условиями задачи являются только ограничения-неравенства:

fix ) —*• min, g i(x)^ 0, г = 1, 2,

Тогда в точке минимума имеем

7 1

Vx/(®*) + 2 ] < V ^ i(x*) = 0,

г= 1

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

ограничения в точке х* (рис. 1.8). На рис.

1.8 показано множест­

во, образованное

неравенствами

д \ ( х ) ^ 0 ,

520*0 ^ 0,

д з ( х ) ^ 0 .

Ух9з(х)

 

Здесь

же

в

точках

х*

и х

 

указаны

направления

градиен­

 

 

 

 

тов активных ограничений и ан­

 

 

тиградиента

целевой

функции.

 

 

Отсюда следует, что точкой экс­

 

 

тремума не может быть точка гг,

 

 

так как в ней не выполнено

 

 

условие того, что антиградиент

 

 

функции /(я ) есть положитель­

 

 

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

гра­

 

 

диентов активных ограничений.

 

 

Решением является точка я*, где

Рис. 1.8. Связь направлений гра­

данное условие выполнено.

 

Мы

рассмотрели

некоторые

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

ограничений

условия

существования

реше-

и антиградиента целевой функции

в точке решения я*

и в точке я,

ния, используя только производ­

ив являющейся точкой решения

ные

первого

порядка.

Однако

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

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

1.Записать задачу в каноническом виде (1.4)—(1.6) и составить функцию Лагранжа (1.7).

2.Выписать систему условий, которые характеризуют решение (определяют точки, где возможно существование оптимального ре­ шения, — стационарные точки): в развернутой форме записать усло­ вия (1.8), (1.9), а также условия, налагаемые задачей на допустимые значения и на множители Лагранжа. Например, для условия (1.10) полная система для определения стационарных точек имеет вид

ÔL

0,

dL

 

к = 1, 2, . . . , s,

Xfc^O, -т— (х, и, X) ^

х к -г— {х, и, X) = 0,

OXk

 

OXk

 

 

dL

 

 

1,..., п,

- — (x , и, X) = 0, к = s +

OXk

 

 

 

 

^ 0, gi(x) ^

0,

UiQiipc) 0,

%

1 ) 2) •. ■)

gi(x) = 0,

г = / +

 

 

3.Решить полученную систему необходимых условий. Сделать это в аналитическом виде возможно лишь в редких случаях.

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

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

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

В задачах математического программирования (1.4)—(1.6) можно указать условия оптимальности, не прибегая к понятиям производ­ ных и градиентов, с помощью так называемой теории двойствен­

ности. Особенно эффективен этот подход к решению задач выпук­ лого программирования.

Рассмотрим функцию Лагранжа (1.7). Обозначим через /* точ­ ную нижнюю грань целевой функции задачи (1.4)—(1.6), определен­ ной на допустимом множестве D :

/* = inf f(x). xeD

Точка х* е D является решением задачи (1.4)—(1.6) в том и толь­

ко в том случае, если /*

= fix*).

 

Введем вектор у с

координатами щ, i = 1,2,

и Xj, j =

= 1,2,... ,р. Вектор у* называется вектором Куна—Танкера задачи (1.4)—(1.6), если при всех х е D

ТП

р

f* ^ fix) - 2 u*gi(x) + 2 \*hj(x) = L(x, у*).

i - 1

j = 1

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

Двойственной к задаче (1.4)-(1.6) называют задачу

где

 

(р(у)-м пах,

y e Y ,

 

 

 

(

 

ТП

р

 

 

 

 

 

 

 

fix) - 2 иг9г(х) + 2 W*)

 

 

 

 

 

i=l

i =1

Y

= { y e Q \( f( y ) > - o o } ,

Q = { y e R n \ y i ^ 0 ,

i = l , 2,...,fc}.

Рассмотрим

подробнее задачу

линейного программирования

 

 

п

 

 

 

 

 

 

2 ci xi; —> min

 

при

 

j =i

 

 

 

 

п

 

2 = 1, 2, . . . ,

/с,

п

 

У!

aijxj ^

/

, a>ijXj = Ьь

г = k -h 1, . . . , m,

3=1

 

 

j=i

 

 

 

Xj> 0,

J

=

1, 2,...» s.

 

Переменные Xj = s + 1,..., п могут иметь любые значения. Функ­ ция Лагранжа этой задачи имеет вид

 

71

7 1

/

 

71

 

 

ч

 

 

 

 

 

 

L ( x , y ) = Y i

сзхз + Y i yi[ bi~ Y i ач хз ) =

 

 

 

 

 

 

j = \

1=1

'

 

j =

1

 

'

 

 

 

 

 

 

 

 

 

 

 

 

71

/

 

7 1

Ч

7 1

 

 

 

 

 

 

 

 

=

 

( c j

O'ijVi J

“b ^

biVi*

где

 

 

 

 

 

j =

1

'

 

1=1

'

i= l

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

 

 

x e P , P =

71

aijXj

 

i = 1,2,..., fc,

 

 

 

< x e Rn

^

 

 

 

 

 

 

^

i = i

 

 

n

 

 

 

 

 

 

 

ч

 

 

 

 

 

 

^

dij Xj

bî)

г = fc H-15 • • • 5m

i ,

 

 

 

 

 

 

j=i

 

 

 

 

 

 

 

 

 

y e Q , Q = { у е Е п | у ^

0, i = 1, 2,

k}.

 

 

 

 

Тогда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

inf L(x, y) =

 

£ biyu

 

если

 

y e У,

 

 

 

 

 

< i=i

 

 

 

 

 

 

 

 

 

 

 

xeP

 

k—oo,

если

 

y e Q \Y ,

 

 

 

где

 

 

 

 

 

 

 

/

7 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

I У ^ g

dijyi

Cj9

j

1> 2>• • • ) 5,

 

 

 

 

 

 

 

^

1=1

 

 

 

 

1

 

 

 

 

 

 

4

 

 

 

 

 

 

^

 

d'ijUi

= cj »

J = 5

"b 1 , . . •,

n

?.

 

 

 

 

 

 

1=1

 

 

 

 

 

 

J

 

Согласно определению двойственности, двойственной задачей

к исходной задаче является следующая:

 

 

 

 

 

 

 

 

 

 

7 1

 

 

 

 

 

 

 

 

 

 

 

 

 

2

Ыу{ —►шах

 

 

 

 

 

 

при

 

 

1=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

aijyi ^

Cj9

3

 

1, 2,

..., 5,

 

 

 

 

 

 

1=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dijyi

 

dj9

j

S -f" 1,

..., 72,

 

 

 

 

 

t=l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yi ^

0,

i

1 >2 , ... ,

k.

 

 

 

 

Соседние файлы в папке книги