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

Информационные системы менеджмента - Бажин И.И

..pdf
Скачиваний:
168
Добавлен:
24.05.2014
Размер:
12.28 Mб
Скачать

Глава 6. Методы поиска оптимальных решений

361

Начальное приближение зададим в виде Х(0> = [10,10]. Результаты расчетов на четырех итерациях по методу Коши представлены ниже в таблице.

к = 0

Выбор начальной точки

Хо, si, s2, M

Определение а(к) из условия ф(а) -> min

X<kt1> = X( k ) -a( k , Vf(X( k ) )

Stop

к= к+1

».Вычислить f(x)

Stop

Рис.6.16. Алгоритм метода наискорейшего спуска

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

362

Часть 1. Новые принципы работы

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

 

 

(к+1)(к,1

 

V

 

f(x

 

)

 

(к)

итера­

X/ 4

<к)

f(x(k))

T

(k)

|vf(x)|

Х2

I x(k)l

 

 

or '

ции к

 

 

 

 

 

 

 

 

 

 

 

0

10

10

-

1700

(200;140)

244,13

0,056

1

-1,2

2,16

0,97

24,48

(-10,6;16,20)

19,84

0,12

2

0,067

0,144

0,96

0,178

(1,65;1,71)

2,37

0,059

3

-0,03

0,043

0,88

0,011

(-о,31;о,31)

0,438

0,042

4

-0,017

0,03

0,34

0,0048

(-0,15;0,23)

0,274

-

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

,(k+i>

(k)тV

 

v

)

)

f(x^

< Цх

6.3.3. МЕТОД НЬЮТОНА

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

a2f(x), a2f(x)

dx-i2

3xidX2

Эх-|Эхп

V'f(x) = H = d2f(x)

, d2f(x)

ЗхгЭХп

3xi5x2

dx22

a2f(x) , a2f(x)

 

Sxn dXi

5x n dx 2

dxn 2

Глава 6. Методы поиска оптимальных решений

363

В алгоритме метода Ньютона в качестве коэффициента шага при движении по направлению антиградиента используется обратная матрица вторых произ­ водных. Алгоритм метода Ньютона приведен на рис.6.17. При этом каждое сле­ дующее приближение в итерационном процессе определяется по формуле

Ик+1)(K

_

V

(k)W

 

1

(k),

 

-

U" n

(x)Vf(X

w

)

X

^ = X

H

 

 

Выбор начальной точки

 

 

k = 0

 

Xo, e1,e2, M

 

 

 

Определение V'f(X( ;)

Определение Vf(Xl

')

 

/•(k+1) Y<wl

 

UT

1

 

(*hw

 

X^'" = x

k

-

 

 

 

 

 

H'(x)Vf(X )

 

^ ( k + 1 ) -

X(k)||

<e"

Да

Stop

нет Т

 

 

 

 

 

k= k+1

 

 

 

 

 

 

I

 

 

 

 

Вычислить

f(x)

 

 

Stop

Рис.6.17. Алгоритм метода Ньютона

364

Часть 1. Новые принципы работы

Рассмотрим пример расчета. В качестве оптимизируемой функции выберем приведенную ранее, при описании метода Коши

f(x) = 8х-|2 + 4xiX2 + 5х22 -> min

Компоненты градиента функции выглядят так

df/dx-,

16хт + 4х2

Vf(x) =

10х2 + 4х1

df/dx2

а матрица вторых производных

V2 f(x) = H = 16, 4

4, 16

Стартовая точка, как и ранее, Х<0) = [10,10] Вычислим первое приближение

Х(1) = (10;10)т- (1/144) 10-4

200

= (10; 10)т- (1/144) 1440 = (0; 0)т

-416

140

1440

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

х.

х2

к + 1 - х к 1

 

 

I V f(x) |

V2f(x)

 

итера­

| х м |

f(x)

VTf(x(k))

А

ции к

 

 

 

 

 

 

 

 

0

10

10

-

1700

(200;140)

244,13

16, 4

144

 

 

 

 

 

 

 

4, 10

 

1

0

0

1

0

(0;0)

0

-

-

6.4. МЕТОДЫ РЕШЕНИЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ

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

Глава 6. Методы поиска оптимальных решений

365

оптимальности нельзя использовать при наличии ограничений. При этом может нарушаться даже основное условие, в соответствии с которым оптимум должен достигаться в стационарной точке, характеризующейся нулевым градиентом. Например, безусловный минимум функции f(x) = (х - 2)2 имеет место в стацио­ нарной точке х=2. Но если задача минимизации решается с учетом ограничения х >4, то будет найден условный минимум, которому соответствует точка х=4. Эта точка не является стационарной точкой функции f(x), так как f(4) = 4.

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

6.4.1. СИМПЛЕКСНЫЙ МЕТОД

В главе 3 был описан графический метод решения задач линейного про­ граммирования, пригодный лишь для решения задач с двумя переменными. Вместе с тем, рассмотрение графического метода помогло обнаружить фунда­ ментальное свойство, выполняемое для всех задач ЛП: если в задаче линейно­ го программирования существует оптимальное решение, то, по крайней мере, одна из вершин допустимой области представляет собой оптимальное решение.

На этом свойстве основывается симплексный метод (симплекс-метод), яв­ ляющийся универсальным методом решения задач линейного программирова­ ния. Допустимая область задачи ЛП обычно состоит из бесконечного числа то­ чек, однако оптимальное решение всегда можно найти путем перебора конечно­ го числа вершин n-мерного многогранника, образованного этой допустимой об­ ластью.

Задача линейного программирования в стандартной форме с п перемен­ ными и m ограничениями имеет следующий вид:

максимизировать(или минимизировать)

 

 

Z = c ^ i + с2х2 + ... + cnxn = £

C;X; ->

max

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

i=l

 

 

 

= ЬЛ

 

ацХ! + а12х2

+ ... + а1пхп

(6.3)

a2iXi + а22х2

+ ... + а2пхп

= Ь2

 

amiXi + am2x2 + ... + amnxn = bm X! > 0, x2 > 0, . . . , xn > О

bi > 0, b2 > 0, . . . , bm > О

В компактных матричных обозначениях задача ЛП (6.3) может быть записа­ на следующим образом

366

Часть 1. Новые принципы работы

 

 

 

Z = Сх -» шах

 

 

 

Ах = Ь, х > О, b > О

(6.4.)

где А -

матрица размерности

т х п , х -

вектор-столбец размерности nx1, b -

вектор-столбец размерности т

х 1 , а С -

вектор-строка размерности 1хп. Обычно

А называется матрицей коэффициентов, х - вектором переменных, b - вектором ресурсов, С - вектором оценок задачи Л П.

При решении задачи ЛП симлекс-методом требуется, чтобы эта задача бы­ ла представлена в стандартной форме (6.3 или 6.4.). Однако не все задачи ЛП имеют стандартную форму. Часто ограничения не являются равенствами, а представляют собой неравенства. В некоторых задачах не все переменные можно считать неотрицательными. Вследствие этого первый этап решения за­ дачи ЛП состоит в приведении ее к стандартной форме.

Ограничения в виде неравенств можно преобразовать в равенства при по­ мощи так называемых избыточных переменных. Например, неравенство вида Хч + 2х2 + Зх3 + 10х4 < 25 можно преобразовать в равенство при помощи введе­ ния избыточной переменной s^ x-i + 2х2 + Зх3 + 10х4 + Si = 25. Переменная Si неотрицательна и соответствует разности правой и левой части исходного нера­ венства. Следует подчеркнуть, что дополнительные введенные переменные столь же необходимы, как и исходные переменные задачи. Избыточные пере­ менные могут принимать только положительные значения, а их значения в оп­ тимальном решении позволяют судить о том, являются ли ограничения в виде неравенств активными.

Используя стандартную форму задачи ЛП в виде (6.4), можно сформулиро­ вать основные определения, относящиеся к решению задачи, следующим обра­ зом.

1.Допустимое решение представляет собой неотрицательный вектор х, для ко­ торого выполняются ограничения Ах = Ь.

2.Допустимая область, обозначаемая через Q, состоит из всех допустимых решений. Формально это определение можно записать так

Q = { X | A x = b , x > oj

Если допустимая область пуста (то есть, не имеется ни одного значения х, удовлетворяющего ограничениям), то задача ЛП называется противоречивой. 3.Оптимальным решением называется такой допустимый вектор х*, для кото­ рого соответствующее ему значение целевой функции Сх* больше, чем для лю­ бого другого допустимого решения.

4.Оптимальное значение задачи ЛП представляет собой значение целевой функции, соответствующее оптимальному решению. Если Z* - оптимальное значение, то Z* = Сх*.

5.В том случае, когда задача ЛП имеет более одного оптимального значения, говорят, что у нее имеются различные оптимальные решения. При этом суще-

Глава 6. Методы поиска оптимальных решений

367

вует более одного допустимого решения со значениями целевой функции, рав­ ными оптимальному (Z*). Если это не так, говорят, что решение задачи ЛП

единственно.

6.Неограниченный оптимум. В том случае, когда задача ЛП не обладает конеч­ ным оптимумом (т.е. значение Z стремится к бесконечности), говорят, что задача имеет неограниченный оптимум.

Основы симплекс-метода

Рассмотрим общую задачу ЛП, записанную в стандартной форме (6.3). До­ пустим, что решение существует, причем оптимальное значение целевой функ­ ции конечно. В этом случае алгоритм решения задачи линейного программиро­ вания выглядит следующим образом:

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

Шаг 2. Проверим, нельзя ли за счет одной из переменных, приравненной внача­ ле нулю, улучшить значение целевой функции, придавая этой переменной от­ личные от нуля (причем положительные) значения. Если это возможно, перей­ дем к шагу 3. В противном случае прекратим вычисления.

Шаг 3. Найдем предельное значение переменной, за счет которой можно улуч­ шить значение целевой функции. Увеличение значения этой переменной допус­ тимо до тех пор, пока одна из m переменных, вошедших в пробное решение, не обратится в нуль. Исключим из выражения для целевой функции только что упомянутую переменную и введем в пробное решение ту переменную, за счет которой результат может быть улучшен.

Шаг 4. Разрешим систему m уравнений относительно переменных, вошедших в новое пробное решение. Исключим эти переменные из выражения для целевой функции. Вернемся к шагу 2.

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

 

Xi

х2

х3

Х„

1

0 =

а-11

Эчг

а-13

a-in

Ь,

0 =

Э21

Э22

^23

32п

ь2

0 =

Э31

Э32

Эзз

Эзп

Ьз

0 =

a m i

атг

ЭтЗ

" т п

Ьт

z =

С1

с

Сз

с

0

 

2

п

368 Часть1. Новые принципы работы

логий эта таблица может быть организована в Microsoft Excel).

Задача шага 1 заключается в том, чтобы выбрать первоначальное допусти­ мое решение системы уравнений ограничений (6.3). Как правило, число уравне­ ний задачи меньше числа переменных ( т < п), поэтому множество ее допусти­ мых решений бесконечно.

В главе 5 был изложен классический метод решения систем линейных урав­ нений - метод Жордана-Гаусса. Используя идеи этого метода, для первых m

переменных (хч, х2

хт ) исходную таблицу за m шагов жордановых исключе­

ний преобразуем к виду

 

 

 

 

 

 

 

Xm+1

Xm+2

Xs

Xn

 

1

Х1

=

b l m+1

Ь г т + 2

b1s

Ьщ

 

Pi

х2

=

Ь г т + 1

Ь г т + 2

b2s

Ьгп

 

P2

 

 

 

 

• . .

• • •

-

• •

Х|

=

bim+1

bjm+2

bis

Ьщ

 

Pi

 

 

 

 

- • .

 

. . *

Хщ

" m m+1

Dm m+2

bms

"mn

 

Pm

Z =

AZ

AZ

AZ

AZ

z

( 0 )

 

Ax,m 2

Axs

Axn

 

 

 

Переменные Хч

х т , входящие с единичными коэффициентами только в

одно уравнение системы и с нулевыми -

в остальные, называются базисными,

или зависимыми. В канонической системе каждому уравнению соответствует ровно одна базисная переменная. Остальные п - m переменных (хт+1, хт+2,..,хп) называются небазисными, или независимыми переменными.

При записи системы в каноническом виде, все ее решения можно получить, присваивая независимым переменным произвольные значения. Решение, полу­ ченное при нулевых значениях небазисных переменных, называется базисным

решением системы. Например, одно из базисных решений системы (6.3) задает­ ся как Xi = Pi, x2 = рг, ••• , х т = рт , хт+1 = хт+2 = ... = хп = 0, a Z (0) - значение це­ левой функции при этих значениях х. Если Pi, р2 Рт к тому же неотрица­

тельны, то полученное решение является допустимым базисным решением. Итак, базисное решение называется допустимым базисным решением, если значения входящих в него базисных переменных неотрицательны. Если же ка­ кое-либо PJ оказывается отрицательным, то полученное базисное решение яв­ ляется недопустимым. С помощью жордановых исключений легко находится допустимое базисное решение. Для этого ищем в строке с отрицательным зна­ чением Pi произвольный элемент bis, который выбираем в качестве разрешаю­ щего элемента жорданова исключения. При этом соответствующая переменная xs становится базисной, а соответствующая базисная (х,-) становится независи­ мой.

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

Глава 6. Методы поиска оптимальных решений

369

Этот базис и является допустимым.

 

Следует отметить, что если строка с отрицательным значением

PJ не со­

держит ни одного положительного элемента bis, то допустимого базисного реше­ ния не существует.

Интерпретация коэффициентов в строке Z

Каждый коэффициент в строке Z определяет положительное (если перед ним стоит знак плюс) или отрицательное (если перед ним стоит знак минус) при­ ращение Z при увеличении на единицу соответствующей небазисной перемен­ ной.

На шаге 2 симплексного метода, чтобы определить, какие переменные должны войти в очередной пробный базис, можно использовать легко реали­ зуемое правило, называемое симплекс-критерий 1.

Симплекс-критерий 1 (для задач максимизации):

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

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

Определив на шаге 2 с помощью симплекс-критерия 1 переменную, которую следует ввести в базис, необходимо теперь определить, какую переменную следует вывести из базиса в независимые переменные. Это устанавливается на шаге 3 с помощью симплекс-критерия 2.

Симплекс-критерий 2:

а) Рассмотрим отношения чисел, стоящих в правых частях преобразованной системы, к соответствующим коэффициентам при новой базисной переменной хр (не обращая внимания на отношения, в которых знаменатель равен нулю или представляет собой положительное число): (PP/bpi, i = l7rh).

б) Выберем отношения с наименьшим значениям - в очередном пробном реше­ нии хр приравнивается именно этому значению:

min(-pp/bpi, i = 1, m)

рР/ bpi< о

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

370

Часть1. Новые принципы работы

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

Завершив первую итерацию, следует вернуться к шагу 2, чтобы определить, не является ли полученное решение оптимальным. Если оптимум еще не дос­ тигнут, необходимо, в соответствии с симплексным алгоритмом, приступить к следующей итерации. Алгоритм симплексного метода представлен в виде блоксхемы на рис.6.18.

Представление задачи ЛП в стандартном виде

Выбор исходного базиса

Нахождение допустимого базиса

Stop

нет

Выбор новой базисной переменной по критерию 1 •

Определение переменной, переводимой из базиса в независимую переменную'по критерию 2 - хк

Сменить базис (шаг жорданова исключения) с разрешающим элементом bpk

Рис.6.18

Соседние файлы в предмете Экономика