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

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

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

Условия заполнения складов имеют вид

2

г=1

причем х ij ^ 0, г = 1, 2, j = 1, 2,3.

Эта модель может быть описана с помощью сети (см. далее гл. 3), если предположить, что узлами сети являются заводы и скла­ ды, а дугами — имеющиеся для перевозки груза дороги (рис. 1.2).

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

1) строить модель сложной системы как совокупность простых систем;

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

3)указывать механизм взаимодействия компонентов управляю­ щей системы с целью описания последней с помощью ее основных характеристик;

4)определять, какие данные необходимы для исследования си­ стемы;

5)проводить исследования управляющей системы и составлять предварительное расписание работы ее компонентов.

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

1)сетевые модели могут точно описывать многие реально су­ ществующие системы;

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

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

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

иограничений; это становится возможным в силу того, что часто удается ограничиться изучением лишь части рассматриваемой си­ стемы.

Сетевой анализ берет начало с упоминавшейся задачи Эйле­

ра

о мостах Кёнигсберга.

Спустя более

века

Дж. К. Максвелл

и

Г. Р. Кирхгофф, исследуя

электрические

цепи,

сформулировали

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

В настоящее время трудно назвать область практической и на­ учной деятельности, где бы не применялись методы математиче­ ского программирования. Области их применения: планирование производства; управление использованием запасов полезных ис­ копаемых и трудовыми ресурсами; планирование и размещение объектов; техническое обслуживание оборудования; планирование работ над проектами и календарное планирование; построение систем: вычислительных, информационных, городской сферы об­ служивания, здравоохранения, электроэнергетических, военных, транспортных; организация туризма, спорта и развлечений и т.д. Поэтому наряду с термином «решение» в математическом про­ граммировании используются в этом же смысле термины «план», «стратегия», «управление», «поведение».

§ 1.2. Общая запись задачи математического программирования и ее виды

Из рассмотренных здесь примеров видно, что задача матема­ тического программирования должна содержать некую целевую функцию, оптимум которой следует определить, и систему равенств и неравенств, описывающих условия-ограничения задачи. Общая задача математического программирования состоит в определении вектора х* с координатами х*, х%, ■■■, х*, который является реше­ нием следующей задачи: оптимизировать функцию

f(Xl,X2, ...,Хп)

( 1.1)

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

9\(х \ , х 2, . .. , яп)^ 0 ,

92(рС\* • • • 9Хп) ^ О,

( 1.2)

9тп{Х\ 9%29••• 9Хп) ^ О,

h\(x\9x2, . . . , х п) = 0,

^20^1 9Х2, • • • 9Xfi) = О,

(1.3)

hp(x 1, х 2, . . . , Xfi) 0.

Используем понятие вектора как упорядоченную совокупность действительных чисел х = (х\, х \9..., х п) (в отличие от свободного вектора, известного в геометрии, — направленного отрезка, который можно переносить в пространстве параллельно его первоначально­ му положению). Тогда выражения (1.1)—(1.3) можно записать в бо­ лее компактной форме: оптимизировать функцию /(х ) при ограни­ чениях

9i(x)^ 0,

г =

1, 2, . . . , т ,

/ij(x)

0,

j

1, 2, . . . , р.

Текущие индексы i n j

принимают все целочисленные значения

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

Координаты вектора х часто необходимо записывать не в виде строки, а в виде столбца. Для этого используется операция транспо­ нирования-элементы строки становятся соответствующими эле­ ментами столбца, и наоборот. Обозначается эта операция верхним индексом «т»:

/х Л

х2

(хи х 2, . . . , х пу =

\х п/

Общая задача математического программирования разбивается на задачи, названия которых определяются видом функций, кото­ рые необходимо оптимизировать и которые входят в условия-огра­ ничения, типом переменных в задаче, алгоритмом решения. Если функции /(ж), gi(x), hj(x) в выражениях (1.1)—(1.3) линейны, то по­ лученную задачу называют задачей линейного программирования (например, рассмотренные ранее задача о питании и транспортная задача).

Если хотя бы одна из функций /(ж), &(ж), hj(ж) нелинейна, то (1.1)—(1.3) называют задачей нелинейного программирования. В свою очередь, множество задач нелинейного программирования разбивается на подмножества, имеющие собственные названия. Так, если /(ж) является квадратичной функцией, а ограничения линейны, то получаем задачу квадратичного программирования

(более точно, /(ж) должна быть квазиопределенной квадратичной формой ).

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

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

(линейного или нелинейного).*

*Некоторые определения приведены в § 1.3.

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

Из курса математического анализа читателю известны простей­ шие задачи нахождения точек максимума или минимума функции одной переменной. Функция у = f(x), определенная в точке хо, до­ стигает максимума (минимума) в окрестности точки хо, если для всех точек этой окрестности выполнено неравенство /(х ) ^ f( x о) (/(ж) ^ f( x о)).

Максимум и минимум функции объединяют одним названием экстремум. Как правило, точка хо — внутренняя точка естественной области определения функции f(x), и экстремум называют внут­ ренним. Если существует производная f'(x) в точке хо, то функ­ ция /(х ) может иметь в точке хо внутренний экстремум лишь в том случае, когда при х = хо производная f'( x о) равна нулю (необходи­ мое условие экстремума). Экстремум может быть и в тех точках хо, где производная f'(x о) не существует. Однако выполнение необхо­ димого условия еще не означает, что в точке хо будет экстремум. Если производная f ( x ) в окрестности точки хо при переходе че­ рез эту точку меняет свой знак с плюса на минус, то хо — точка максимума, а если с минуса на плюс, то хо — точка минимума. Известен и другой признак: если в точке хо первая производная

f'(x о) равна нулю и существует вторая

производная f"(x о) Ф О,

то в точке хо будет максимум

при

f"(x о) < 0 и

минимум при

/"(то) > 0.

 

 

 

 

В общем случае, если существуют

производные от /(х ) до

га-го порядка включительно и

если

f ( x о) =

= / (га_1)(то) = 0

и /<">(х0) * 0, то функция /(х )

имеет в

точке хо

максимум при

четном п и / (п)(х0) < 0 и минимум при

четном п и f^n\ x о) > 0.

Если п нечетно, то функция /(х ) в точке хо не имеет ни минимума, ни максимума, а имеет точку перегиба.

Сформулируем несколько определений, которые потребуются далее.

Действительная функция /(х ), определенная в точке хо, име­ ет в этой точке (локальный) максимум или (локальный) минимум

/(то), если существует такое положительное число 8, что при всех приращениях Д х независимого переменного х, равных х —хо, для

которых выполнено неравенство 0 < |Дх| < 8 и существует значение /(хо + Ах), приращение данной функции удовлетворяет соот­ ветственно неравенству

А / = f i x о + Ах) -

/( х 0) < О

или

 

А / = f i x о + Ах) -

/( х 0) > 0.

Если в каждом из этих случаев выполнены нестрогие неравен­ ства, то говорят, что функция f{ x о) имеет в точке хо нестрогий максимум {минимум).

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

В формулировке задачи должна быть точно указана область определения функции fix). Например, функция /i(x ) = x при -о о < х < +оо не имеет максимума, а функция /г(х) = х при х ^ 1 имеет в точке х = 1 граничный максимум.

Если неравенство /(х ) < /(хо) (/(х ) > /(хо)) выполнено для любой точки х, принадлежащей области определения функции /(х ), то говорят о глобальном максимуме {минимуме) функции /(х ) в точ­ ке хоАналогичные определения справедливы для функции многих переменных.

Функцию /(х ), имеющую в данной точке хо производную, на­ зывают дифференцируемой в точке хо; функцию, имеющую про­ изводную во всех точках некоторого промежутка (о, Ь), называют

дифференцируемой в промежутке (о, Ь).

Функцию многих переменных, имеющую полный дифференци­ ал (в данной точке, области), называют дифференцируемой {в этой точке, области). Необходимое условие дифференцируемости функ­ ции многих переменных — наличие частных производных первого порядка (в точке, области). Достаточные условия дифференци­ руемости функции многих переменных —существование и непре­ рывность всех частных производных первого порядка (в точке, области).

Числовую функцию f{x)

одного

векторного аргумента х =

= {х\,Х2, . . . , х п) вида

 

 

 

п

п

п

п

п

fix') = У* У1 QijXiXj =

У ^0,цХj + 2 ^ ^ У ^ÜijXiXj,

г= 1 j = 1

г=1

г=1 j =2

 

 

 

 

j > i

где a,ij — элементы

симметрической

матрицы

A = ||a ÿ || порядка

п х п , dij = dji (квадратной таблицы чисел), называют квадратич­ ной формой переменных.

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

/(ж ) > 0 (/(ж) < 0).

Такие формы объединяют общим названием—знакоопределен­ ные. Если существует ненулевой вектор ж, для которого /(ж ) = 0, форму называют квазизнакоопределенной.

Квадратичную форму называют знакопеременной, если суще­ ствуют такие векторы ж1 и ж2, что /(ж 1) > 0, f i x 2) < 0.

Для наглядного представления поведения функции У = fix) строят график функции. Если независимую переменную ж (аргу­ мент) и зависимую переменную у рассматривать как декартовы координаты на плоскости, то действительная функция у = /(ж) действительной переменной изобразится кривой —графиком функ­ ции у от ж.

Для функции многих переменных у = fix \, жг,..., х п) упорядо­ ченному множеству значений независимых переменных ж ь ж г , ...

...,ж п ставят в соответствие значения переменной у. Множество значений Ж],жг,..., х п, для которых определено соотношение

у = f( x \ ,X 2, . . . , х п), называется областью определения функции f i x I, Х2, . *•, Хц).

Графиком функции многих переменных является поверхность

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

f i x 1, Х2, х п) = С. Для различных значений константы С полу­ чаем семейство поверхностей уровня, определяющих поведение функции. Линии уровня вводятся для функции двух переменных: f(x\, Х2) = С. Семейство линий уровня дает возможность пред­ ставить функцию двух переменных у = f ( x \ , Х2) = С на плоско­ сти. Например, семейство линий уровня на географических картах дает представление и о морских глубинах, и о высоте горных хребтов.

Для характеристики скорости изменения функции многих пе­ ременных относительно одной из переменных, например ж*, при фиксированных значениях остальных независимых переменных

ÊL dxi

•т—, г= i,z, ... ,п , определяются дифференцированием функции

OXi

f{x 1, ж2, . . . , х п) по Xi, если остальные п — 1 независимых перемен­ ных рассматривать как постоянные параметры.

Направление, в котором скорость возрастания функции многих переменных наибольшая, определяется вектором, называемым гра­ диентом. Противоположное направление называют антиградиен­ том. Градиент скалярной функции f i x \,Х2, ..., хп) есть векторная

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

 

grad / = V /(x 1, х 2, ..., хп) =

г +

j +

+

к,

где V — знак градиента, i,

единичные векторы (орты), на­

правленные по координатным осям:

 

 

 

 

 

 

 

* =

(0, 0, . . . , 1).

Иногда применяется обозначение градиента в виде V x/ ;

индекс х

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

Скорость изменения скалярной функции f i x \,Х2, . . . , х п) в про­

извольном направлении, задаваемом

единичным вектором и =

= cos а • г + cos р • j + ... + cos у с

направляющими косинуса­

ми cos a, cos р , ..., cos у, определяется производной по направлению

(действительное число)

 

 

 

d f

d f

d f

п

df

uU

= jr - c°s et +

cos (3 +

+ xjfcos y.

uXj

uX%

 

(sXfi

Производная по направлению связана с градиентом скалярной функции V / скалярным произведением df/d u = (V /, и).

Скалярным произведением двух векторов а = {а\, aj, ■■■, оп) и Ъ = ф\,Ьг, ...,Ъп) называют действительное число, равное сум­ ме произведений соответствующих координат векторов:

(о, Ь) = а\Ь\ + афъ + + апЬп,

или произведению длин этих векторов на косинус угла между ними:

(a, b) = |а| • |Ь| cos(a, b).

Градиент V / всегда ортогонален поверхности (линии) уровня функ­ ции /(х 1, Х2, х п). Действительно,

£= | V / | - M c o s ( V / ^ ) .

Производная по направлению касательной к поверхности (ли­ нии) уровня df/du равна нулю, |V /| Ф 0, |w| Ф 0. Поэтому

cos(v7T^) = 0, (V/Tw) = V / l u .

Нам понадобятся понятия линейной зависимости и независимо­ сти векторов. Векторы a i , а г , ..., ат называют линейно зависимы­ ми, если найдутся такие действительные числа ai, <*2, ..., am, не все равные нулю, что линейная комбинация векторов а \ , а 2, ... , а т равна нулю: ai a i + агаг + -I- ата т = 0. Если это равенство вы­ полнено только тогда, когда все числа ai, а г , ..., ат равны нулю, то векторы a i , а 2, , а т называют линейно независимыми.

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

§1.4. Особенности нахождения оптимальных решений

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

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

переменных: z = fix ) = f( x ь х2). Ее аргументы связаны уравнени­ ем <p(xi, х2) = 0 (ограничения в виде неравенств отсутствуют). Если функции z = f ( x ь хг) поставить в соответствие некоторую поверх­ ность, то в данной задаче необходимо найти следующие точки:

1 ) принадлежащие линии пересечения поверхности 2 = /( х 1, Х2) и цилиндра с образующей, параллельной оси 2, и с направляющей <р(хь х2) = 0;

2) являющиеся экстремальными для функции 2 = / ( х i , x 2) (рис. 1.3).

Как видно из рис. 1.3, точки условного экстремума А и В не сов­ падают с наибольшим или наименьшим значением функции z = = f i x i , x 2) —с безусловным экстремумом функции / ( х i , x 2). Если из уравнения связи cp(xi,x2) = 0 можно

выразить в явном виде одну перемен­ ную через другую, например х2 = ф(хО, то 2 = / ( х ь х2) = /(x i, ф(хО) становится функцией одной переменной xj и ее без­ условный экстремум определяется тради­ ционными методами (приравниваем пер­

вой

производной

функции

/(xi,(|t(xi))

 

по

xi нулю). Безусловный экстремум

Рис. 1.3. Геометрическая

функции /( х ь ф(х])) является условным

экстремумом для

функции

/ ( x j , x 2) при

интерпретация метода

ограничении cp(xj, х2) = 0.

 

Лагранжа

 

 

 

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

димую часть переменных, как правило, не удается.

Лагранж предложил оригинальный метод нахождения условного

экстремума функции. Метод носит его имя. Пусть требуется решить следующую задачу: минимизировать функцию /( х ь х2, ..., хп) при

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