Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Антонов. Системный анализ. Учебник для вузов.doc
Скачиваний:
449
Добавлен:
19.02.2016
Размер:
3.82 Mб
Скачать
  1. Нелинейное программирование

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

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

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

Пусть, X1, X2 - объемы производимой продукции 1-го и 2-го видов, с,, C2 - цена единицы продукции 1-го и 2-го видов соответственно. Зат­раты на приобретение и доставку сырья представляют собой нелиней­ную функцию, зависящую от объема закупаемого TOBapa5Z1(X1)5Z2(X2). Таким образом, экономическая рентабельность планируемых меропри­ятий оценивается формулой

CiX1H-C2X2-Zi(X1)-Z2(X2).

Предприятие для производства новых видов продукции может вы­делить лишь часть своих мощностей, что накладывает дополнитель­ные ограничения на максимальный объем выпуска новых видов изде­лий. Устанавливаются также лимиты на стоимость основных фондов (эксплуатация зданий, снабжение электроэнергией, амортизационные от­числения) в объеме 6, и стоимость производственных процессов (вспо­могательные материалы, заработная плата, накладные расходы и др.) в объеме bY Известно, что изготовление единицы продукции первого вида требует аи затрат из основных фондов и а]2 трудовых затрат, а единицы продукции второго вида затрат в размере ап и а22 соответ­ственно. Учет этих факторов приводит к условиям

CiuXi+a2lx2 йЬх\

Cii2Xi22х22.

Теперь можно сформулировать задачу: определить такие Xv х2, ко­торые бы обеспечивали максимум функционала

maxz = ^+C2X2-Z1(X1)-Z2(X2)

при ограничениях

aIl^l 2\Х2 -

Cii2Xi22х2 <b2,xvx2 >0.

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

Задача распределения удобрений. Будем рассматривать задачу распределения ограниченного количества удобрений между посевами п различных сельскохозяйственных культур. Предположим, что урожай­ность Дх.) культуры номера і является нелинейной вогнутой функцией от X1 - количества внесенных на единицу площади удобрений. Тогда урожай культуры номера / будет равен ^(х ), где s. - площадь, занятая культурой номера і. Будем считать, что суммарная площадь фиксиро­вана, т.е.

JjSi <s, (10.30)

/-I

где S - общая площадь, отводимая под посевы, заранее заданное чис­ло. Будем также считать, что продукция должна быть получена во впол­не определенном ассортименте, т.е. должны иметь место равенства

Xn i=2, X.., п, (10.31)

где А,. - заданные числа. Введем ограничение

JsiXl < X, (10.32)

J=1

где X- суммарное количество удобрений.

Изменяя величины xf, s. так, чтобы не нарушить условий (10.30) - (10.32), мы будем получать различные варианты плана использования площади S. Эти планы необходимо научиться сравнивать между собой. Введем критерий следующим образом: обозначим через р. цену едини­цы продукта номера і, через q цену единицы удобрений, тогда суммар­ный доход от продажи продукта за вычетом расходов на покупку удоб­рений равен

п

J(x,s) = j(pistfi(xi)-qsixi);

х =S = (sp...,sj.

Требуется найти такой способ распределения земель, который мак­симизирует функционал (10.33) при ограничениях (10.30)-(10.32). За­метим, что величину X также можем считать искомой.

Формулировка задачи нелинейного программирования. Зада­ча нелинейного программирования в общем виде формулируется сле­дующим образом.

Найти

max /(X1, ^2,..., хп) (10.34)

при условиях

g1(x1,x2,...,x„)>0;

£2(*„х2,...,*„)> 0; (10.35)

Sm(x,,X2,...,Xn)^0, х, >0, X2 >0,..., х„ >0,

где функции /(x1,x2,...,x„),g,(x1,x2,...,x„), / = 1, т в общем случае нели­нейны. Задачи условной оптимизации нелинейного программирования бывают двух типов: когда в ограничениях (10.35) имеют место 1) знаки равенства и 2) знаки неравенства. Рассмотрим вначале задачу услов­ной оптимизации с ограничениями в виде равенств.

Ограничения в виде равенств. Начнем изложение метода услов­ной оптимизации с рассмотрения примера максимизации функции двух переменных z = f(x,y), где на х и у наложено ограничение, задаваемое уравнением g(x, у) = 0. Разрешим уравнение g(x, у) = 0 относительно у 22 — 4355 337

dF(x,y,X) _ Э/(х, у) , ^ dg(x,y) _п.

Эх " Эх Эх ’

dF(x,y,X) _ df (х, у) , ^ Эg(x,y) _п.

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

Рассмотрим числовой пример.

Найти минимум функции/(х,у) = х2 2 при ограничениих+у-4. Составим функцию Лагранжа; она будет иметь внд F(x, у, Xj=X2 + у2 + + А,(4 -х-у).

Соответствующие условия минимума можно записать следующим образом:

dF

= 2х-Х = 0;

OX

^1 = 2у-Х = 0;

ду

Решением этой системы являются значения X = у = 2; X = 4. Мини­мум функции равен 8. Таким образом, получено решение примера.

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

Рассмотрим задачу условной оптимизации функции

z =ZW=Ax1, X2,..., хл), где на вектор X наложены ограничения

gx(X) = (U2CX) = О, W = O.

Определим для этой задачи функцию Лагранжа в #мде

F(X,X) = f(X) + iXigi(X).

df — + dx

_ду

Sg

ду

dg

Эх

= O-

Выражение, стоящее в скобках, обозначим следующим образом:

X = У) /ЫХУ). (10.38)

Эу I Ъу

Тогда можно отметить, что в точке максимума должны выполняться соотношения

g^yy.0; fe» + bMLV) = 0. fe)+Xte>=0.

Эх Эх ау ду

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

Получить эти три необходимых условия можно также, используя функцию Лагранжа F(x, у, X,)=/ (х, y)+A.g(x, у), которая представляет собой сумму целевой функции и произведения сомножителя X на функ­цию ограничения. Коэффициент X называется множителем Лагранжа. Тогда неебходимые условия максимума функции / (х,у) при наличии ограничений могут быть записаны в виде

dy _ dh(x) _ dg Jdg . dx dx Эх/ Эу

Далее представим целевую функцию z как функцию одной незави­симой переменной z =/(х, у) =/(х, h(x)).

Необходимым условием максимума функции z будет соотношение

£Ё = ^+^^. = о dx dx ду dx

Подставляя в данное выражение формулу (10.36) и производя пере­группировку параметров, получаем

(10.36)

(10.37)

и решение представим в виде зависимости у от х, т.е. у = h(x). Предпо­ложим, что функции g(x, у) и h(x) дифференцируемы, тогда можно оп­ределить производную функции h(x). Она будет иметь вид:

ЭЯ.,

Эи,

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

dF Э/ А. де.(X)

^'&;+£х'-&7=0при'*1 л;

dF

= g,(X) = O приі= I,..., т. см.,.

Рассмотренный метод определения условного экстремума функции z =/(X) называется методом множителей Лагранжа. Достоинство дан­ного метода состоит в том, что он сводит задачу условной оптимиза­ции к задаче безусловной оптимизации. Недостаток метода заключа­ется в необходимости решения громоздкой системы уравнений,что далеко не всегда удается осуществить.

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

Оптимизировать функцию

z =ZW =/(*,, X2,...,х)(10.39)

при наличии тограничений

gi(X)<bi =1, 2,..., т),X =(х,,х2,...хл).(10.40)

Такая запись задачи не ограничивает общности; если имеют место ограничения Cp(X) >с,то их можно привести к виду -Cp(A) <-с.Экст­ремум целевой функции вэтом случае может быть достигнут либово внутренних точках области, заданной системой ограничений, либо на ее границах.

Рассмотрим метод решения задачи в указанной постановке.

Ограничения в виде неравенств (10.40) преобразуем в ограничения в виде равенств, добавляя к каждому из них неотрицательную ослаб­ляющую переменнуюц2:

g,(X) + uf =bt или gt(X)+м(2 —bt = 0. (10.41)

Таким образом, свели задачу к минимизации функции f (X) при на­личиитограничений в виде равенств.Сформируем функцию Лагран­жа для задачи условной оптимизации с ограничениями в виде(10.41)

F(xXu) = f(x) + JX. [gt(де) + uj -bi]. i=l

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

К =#_+fх .^l =о,j=

Эх. £ 1 Эх.

Д/г,

= 8,(X) + и,-bi =0, і = I, т\

= 2X1U1 = 0, і = 1, т.

Умножим последнее уравнение на ,получимХ,щ=0 или

Xfbi -gt(X))=Q дляг=Гт•

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

Есть также дополнительное условие, которое должновыполняться в зависимости от того, какая задача решается - минимизации или мак­симизации. Для задачи минимизации функцииf (X) при наличии ограни­чений в виде неравенств должно выполняться неравенствоX. >0. Для задачи максимизации требуется, чтобыXi < 0, причем хотя бы для од­ного из множителей Лагранжа неравенство должно быть строгим. Окон­чательно можно записать необходимые условия минимума функции

f (X) при наличии ограниченийgfX) < Ь., і= I, т:

Э/

BXj ‘ ЭXj

gi(X)<bi, г = 1, т ■

XiQi-Si(X)) = Q, і = I^

Xi >0, і = І, т .

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

на противоположный.

Эти условия известны как условия Куна-Такера. Таким образом, проведено обобщение метода множителей Лагранжа на случай реше­ния задачи условной оптимизации с ограничениями в виде неравенств.

Рассмотрим пример решения задачи нелинейного программирова­ния с ограничениями в виде неравенств. Пусть требуется минимизиро­вать функцию

/(jc) = 3jc2 +4л:, X2 +5*2

при ограничениях X1 > 0; х2 > 0; X1 + х2 > 4.

Перепишем условие задачи следующим образом:

f(x)= 3jc2+4jc1jc2+5*j,

-*,S0; -X2 < 0; -JC1-JC2 ^ —4.

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

-JC1+и,2 =0; -Jc2 2 =0; —jc,-JC22 =-4.

Далее запишем функцию Лагранжа

F(X,£/,A) = 3jc2 + 4-jk,Jc2 +5jc2 +Х,(и2 - jc,)+X2(k2 -jc2) + X33 -X1 -X2 +4). Необходимые условия минимума для данной функции:

6jc, + 4jc2 - X1 - X3 = 0;

4jCj +IOjc2-X2-X3 =0;

-X1 S0;

х2 <0;

-jc, -Jt2 <-4;

X1*, =0;

X2Jc2 = 0;

Х3(4-jc, -jc2) = 0;

X15X21X3SO.

Принимая во внимание три последних равенства, можно сделать вывод о том, что либо множители Лагранжа, либо искомые перемен­ные должны быть равны нулю. При этом хотя бы один из множителей Лагранжа должен быть отличен от нуля. Положим Xt = X2 = 0, тоща (по­скольку решается задача минимизации) должно выполняться неравен­ство X3 > 0, откуда следует 4 - Ar1 - х2 = 0 или 4 - х = х2. Подставляем данное выражение для параметра х2 в два первых равенства и решаем их:

Г 6jc,+4(4-jc,)-X3 =0;

[4jc, +10(4 — jc, ) — X3 =0.

J 6jc, +16—4-jc,-X3 =0;

[4JC, +40-IOjc1 -X3 =0.

Приводя подобные члены, получим

J 2jc, +16-X3 =0;

|-6jc, +40-X3 =0.

Перенесем множитель Лагранжа в правую часть:

J 2jc, +16 = ;'

—6jCj +40 = X3.

Решая данную систему, получим

Jc1 =3, дг2=4-Jr1 =1, X3 = 22.

Нетрудно проверить, чтоэти решенияявляются условиямимини мума и функция имеет минимальное значение, равное44 в точке с ко ординатами(3,1).