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

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

..pdf
Скачиваний:
19
Добавлен:
15.11.2022
Размер:
932.24 Кб
Скачать

БП

СЧ

x1

x2

x3

z1

z2

z3

х3

200

1

1/2

1

1/4

0

0

z2

400

6

9/2

0

1/4

1

0

z3

400

1

5/2

0

3/4

0

1

y

600

1

1/2

0

3/4

0

0

Далее все элементы разрешающей строки делим на разрешающий элемент, а на место переменной, обозначающей разрешающую строку (z2) вводим переменную, обозначающую разрешающий столбец (x2). Получаем следующую таблицу:

БП

СЧ

x1

x2

x3

z1

z2

z3

x3

200

1

1/2

1

1/4

0

0

x2

400/(9/2) =

6/(9/2) =

(9/2)/(9/2)=

0/(9/2)=

(–1/4)/

1/(9/2) =

0/(9/2) = 0

 

= 800/9

= 4/3

= 1

= 0

(9/2) =

= 2/9

 

 

 

 

 

 

= 1/18

 

 

z3

400

1

5/2

0

3/4

0

1

y

600

1

1/2

0

3/4

0

0

 

 

 

 

 

 

 

 

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

Для первого элемента (1/2) разрешающего столбца (x2) имеем равенство: 1 · M + 1/2 = 0, следовательно, М = 1/2. Для третьего элемента (5/2) разрешающего столбца имеем равенство: 1 · M + 5/2 = 0, поэтому М = 5/2. Для четвёртого элемента (1/2) разрешающего столбца имеем равенство: 1 · M + (1/2) = 0, поэтому М = 1/2.

Запишем эти множители в дополнительный столбец и проведем с их помощью следующие вычисления.

Умножим каждый элемент разрешающей строки на первый множитель (1/2) и сложим полученное произведение с соответствующим элементом первой строки.

61

Умножим каждый элемент разрешающей строки на второй множитель (5/2) и сложим полученное произведение с соответствующим элементом третьей строки.

Умножим каждый элемент разрешающей строки на третий множитель (1/2) и сложим полученное произведение с соответствующим элементом четвёртой строки.

Описанная процедура приведёт к следующей таблице:

БП

СЧ

x1

x2

x3

z1

z2

z3

x3

1400/9

1/3

0

1

10/36

1/9

0

x2

800/9

4/3

1

0

1/18

2/9

0

z3

1600/9

13/3

0

0

22/36

5/9

1

y

5800/9

5/3

0

0

26/36

1/9

0

 

 

 

 

 

 

 

 

Полученное второе приближение к искомому решению оптимизационной задачи можно записать в следующем виде:

y = F(x) = F (0, 800/9, 1400/9, 0, 0, 1600/9) = 5800/9.

Итак, нами было выполнено две итерации.

Причём результат второй итерации лучше, чем первой (как и должно быть).

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

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

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

ymax = F (0, 800/9, 1400/9, 0, 0, 1600/9) = 5800/9.

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

62

Интерпретация результатов. В результате проведённого исследования было установлено следующее:

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

вобъёме 800/9 единиц, а третьего – в объёме 1400/9 единиц;

2)при выполнении указанного плана производства предприятие получит максимальную прибыль в размере 5800/9 у.е.

В заключение представим алгоритм решения задачи линейной оптимизации симплекс-методом в общем виде.

Алгоритм симплекс-метода решения задачи линейного программирования.

1. Задачу необходимо привести к каноническому виду.

2. Заполнить симплекс-таблицу.

3. Определить разрешающий столбец.

4. Определить разрешающую строку.

5. Найти разрешающий элемент.

6. Разделить все элементы разрешающей строки на разрешающий элемент.

7. Обнулить все элементы разрешающего столбца, за исключением разрешающего элемента.

8. Записать результат итерации.

9. В том случае, когда в последней строке симплекс-таблицы имеются отрицательные элементы, необходимо повторить пункты 3–8.

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

11. Выполнить содержательный анализ полученного результата.

6.3.4. Транспортная задача

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

63

Имеется m пунктов отправления A1, ..., Am, в которых рассредоточен однородный груз в количествах соответственно a1, ..., am единиц. Этот груз необходимо доставить n потребителям B1, ..., Bn, спрос которых выражается соответственно величинами b1, ..., bn единиц. Известна стоимость Cij (i = 1, 2, ..., m; j = 1, 2, …, n) перевозки единицы груза из i-го пункта отправления в j-й пункт назначения.

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

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

 

 

 

 

 

Х11

 

 

 

 

 

 

 

 

 

 

 

X 12

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

Х1n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X =

 

 

 

 

X 21

 

 

 

 

 

 

 

 

 

 

X 22

 

...

 

 

 

 

 

 

 

 

 

 

 

 

X 2n

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X m1

 

 

 

 

 

 

 

 

 

 

X m2

 

 

...

 

 

 

 

 

 

 

 

 

 

 

X mn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где элемент Xij (i = 1, 2, ..., m; j = 1, 2, ..., n) обозначает количество единиц груза, которое необходимо доставить из i-го пункта отправления в j-й пункт назначения. Матрица X = ║Xij║ называется матрицей перевозок. Предполагается, что все элементы Xij этой матрицы неотрицательны: Xij ≥0. Удельные транспортные издержки (расходы) записываются в форме матрицы C =║Cij║ (i = 1, 2, ..., m; j = 1, 2, ..., n), называемой матрицей тарифов.

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

64

 

 

 

 

 

 

Таблица 6.1

Распределительная таблица транспортной задачи

 

 

 

 

 

 

Поставщик

 

Потребитель

 

Запас груза

 

B1

 

B2

...

Bn

 

A1

X11

 

X12

...

X1n

a1

 

C11

C12

 

 

C1n

 

A2

X21

 

X22

...

X2n

a2

 

C21

C22

 

 

C2n

 

. . .

. . .

. . .

 

...

. . .

. . .

 

 

 

 

 

 

Am

Xm1

Xm2

...

Xmn

am

 

Cm1

Cm2

 

 

Cmn

 

потребность

b1

b2

 

...

bn

 

в грузе bj

 

 

 

 

 

 

Модель должна отражать все условия и цель задачи в математической форме. Так, переменные Xij (i = 1, 2, ..., m; j = 1, 2, ..., n) должны удовлетворять ограничениям по запасам, потребностям, а также условиям неотрицательности величин грузов. В математической форме эти условия можно записать так:

n

 

Xij = ai (i = 1, 2, ..., m),

(6.10)

j = 1

 

m

 

Xij = bj (j = 1, 2, ..., n),

(6.11)

i = 1

Xij ≥ 0 (i = 1, 2, ..., m; j = 1, 2, ..., n).

Общие затраты на реализацию плана перевозок можно представить (линейной) функцией F, которую необходимо минимизировать:

m

n

F = ∑ ∑ Xij Cij → min.

i = 1

j = 1

65

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

Кроме классического симплекс-метода, эту задачу можно решить другими методами. В частности, для её решения можно применить так называемый «метод северо-западного угла», а также «метод минимального элемента» и др.

Решение транспортной задачи методом северо-западного угла состоит из двух этапов:

1)построение опорного плана;

2)получение оптимального плана.

План перевозок Xij (i = 1, 2, ..., m; j = 1, 2, ..., n) называется опорным, если он удовлетворяет ограничениям (6.10) и (6. 11).

Опорный план перевозок, доставляющий минимум целевой функции F, называется оптимальным.

Кроме классической постановки транспортной задачи, используют различные её модификации, связанные с особенностями той или иной практической задачи.

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

Транспортная задача с ограничениями на перевозки. В прак-

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

66

дицинской помощи), а перевозки оставшегося нераспределённым груза планируют методами транспортной задачи.

Транспортная задача о перевозке неоднородного груза. В клас-

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

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

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

Транспортная задача о перевозках неоднородного продукта на разнородном транспорте. Задачи планирования усложняются, если перевозке подлежат неоднородные предметы. Ещё более сложной является задача в том случае, когда и транспорт, предназначенный для перевозки, оказывается разнородным. В частности, это может быть транспорт разных автохозяйств. Такого рода задачи возникают, например, при организации спасательных операций.

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

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

67

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

6.4. Понятие о нелинейном и динамическом программировании

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

Требуется найти неотрицательные значения переменных x1, x2, …, xn, удовлетворяющие совокупности произвольных (линейных или нелинейных) ограничений вида

ϕ1

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

 

 

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

 

ϕ2

(6.12)

...................................

 

 

 

 

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

 

ϕm

 

и обращающих в минимум некоторую нелинейную функцию этих переменных:

y = F (x1, x2, …, xn) → min.

(6.13)

К сожалению, общих способов решения задачи нелинейного программирования не существует. В каждой конкретной задаче способ решения задачи оптимизации выбирается в зависимости от вида функции F и от вида накладываемых ограничений (6.12). В отдельных случаях задачу нелинейного программирования удаётся решить. В частности, если функция (6.13) является полиномом второй степени относительно переменных x1, x2, …, xn, а ограничения (6.12) линейны, то мы получаем так называемую задачу квадратичного программирования, которую в некоторых случаях удаётся успешно решить. Некоторые другие подходы к решению нелинейных задач оптимизации можно найти в литературе.

68

Динамическое программирование – это особый способ оптимизации решений, который удаётся использовать для так называемых «пошаговых» операций. А именно, если некоторую операцию удаётся представить в виде конечной последовательности отдельных этапов (шагов), то и выигрыш от всей операции в целом иногда складывается из выигрышей на отдельных этапах. Если при этом удаётся управлять процессом так, что можно оптимизировать выигрыш на каждом из отдельных этапов, то оптимальный общий выигрыш получится, если общий процесс управления составить из оптимальных управлений на отдельных этапах.

При этом любую из многошаговых задач можно решать поразному. Можно строить оптимальное управление последовательно, шаг за шагом, на каждом этапе оптимизируя только один шаг. А можно искать сразу все элементы решения на всей совокупности шагов. Второй способ, как правило, удаётся реализовать лишь при небольшом числе шагов. Примерно таким способом, то есть пошагово, решают задачу неопытные шахматисты. А мастера более высокого класса (и современные ЭВМ) просчитывают сразу целую комбинацию оптимальных шагов, но на относительно небольшую глубину в конечное число шагов. Подробнее методы динамического программирования излагаются в специальной литературе.

Контрольные вопросы

1.Что понимается под математической моделью? Перечислите основные требования к математической модели.

2.Поставьте задачу безусловной оптимизации. Что называется решением этой задачи?

3.Кратко опишите суть метода градиентного спуска.

4.Запишите постановку задачи линейного программирования (ЛП) в канонической форме.

5.Укажите другие варианты постановки задач ЛП.

6.Что такое избыточная система линейных алгебраических уравнений? Сформулируйте теорему Кронекера–Капели.

69

7.Какое решение задачи ЛП называется допустимым?

8.Какое решение задачи ЛП называется базисным?

9.Опишите алгоритм решения задачи ЛП симплекс-методом.

10.Когда процесс итераций в симплекс-методе можно считать законченным?

11.Как проверить успешность решения задачи ЛП?

12.Как ставится транспортная задача?

13.Укажите некоторые модификации транспортной задачи.

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

15.Что представляет собой задача динамического программирования?

7. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ

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

7.1. Принцип Парето. Лексикографическая оптимизация

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

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

70