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

ДПиДМО

.pdf
Скачиваний:
26
Добавлен:
27.03.2015
Размер:
1.97 Mб
Скачать

ниях), здесь С – некоторая не зависящая от n натуральная константа.

Приведенный в [6, 10] алгоритм одновременно с КЗН решает и задачу, ей двойственную. Решив КЗН, определяемую какойлибо (n×n)-матрицей А, мы находим оптимальное назначение, оптимальное значение критерия, а также оптимальные значения

двойственных переменных ξi, i = 1, n , и η j, j = 1,n . Указанные величины ξi, i = 1,n , именуются потенциалами соответствующих строк матрицы А; величины ηj, j = 1, n, именуются потен-

циалами столбцов матрицы А. Числовой элемент aij данной матрицы А потенциален, если он равен сумме потенциалов строки и столбца, в пересечении которых этот элемент расположен, т.е. если aij = ξi + ηj. Известно [6, 10], что назначение π оптимально в КЗН тогда и только тогда, когда элементы аiπ(i) матрицы А, i =

1, n, потенциальны.

Сначала рассмотрим задачу о назначениях с двумя неодно-

типными критериями. Эта задача определяется парой (n×n)- матриц А = {aij} и В = {bij} с целыми неотрицательными элементами. Каждое допустимое назначение π характеризуется крите-

n

 

риями К1(А, π) = aiπ(i) и К2(В, π) = min biπ(i). Оба критерия счи-

i=1

i

 

таем максимизируемыми. Таким образом, рассматриваемая задача записывается в виде:

max {К1(А, π), К2(В, π)}.

(4.21)

π

 

При лексикографическом упорядочении критериев (4.21), где критерий К1(А, π) – ведущий, возникает следующая задача.

Задача 1. Максимизировать К2(В, π) на множестве назначений, оптимальных по критерию К1(А, π).

Далее множество назначений, обращающих К1(А, π) в максимум, будем обозначать S1(А).

В случае когда критерии лексикографически упорядочены

191

противоположным образом, т.е. ведущим является критерий К2(В, π), возникает следующая задача.

Задача 2. Максимизировать К1(А, π) на множестве назначений, оптимальных по критерию К2(В, π).

Далее множество назначений, обращающих К2(В, π) в максимум, будем обозначать S2(В).

Рассмотрим сначала задачу 1. Решив КЗН, определяемую матрицей А, находим: оптимальное назначение π1, оптимальное значение критерия а1 = К1(А, π1) и оптимальные значения двой-

ственных переменных ξ1i , i =1, n, и η1j , j =1, n, именуемые потенциалами соответствующих строк и столбцов матрицы А. Обязательно выполняются неравенства aij ξi1 +η1j , i =1, n; j = =1, n (см. [6, 10]). Важно, что назначение π оптимально в КЗН

тогда и только тогда, когда все элементы аiπ(i), i = 1, n, потенциальны. Определим(n×n)-матрицу B1 ={bij1 } следующим образом:

 

bij + Q, еслиaij = ξ1

+ η1

;

1

 

 

 

i

j

 

=

 

 

 

 

(4.22)

bij

 

+ η1

> aij

,

 

0, еслиξ1

 

 

 

i

j

 

 

 

здесь Q – достаточно большая константа, можно положить Q =

=max bij +1.

i, j

Лемма 4.1. Назначение π* оптимально для задачи 1 тогда и только тогда, когда оно является оптимальным решением задачи максимизации критерия К2(В1, π).

Необходимость. Пусть назначение π* оптимально для задачи 1. Так как π* S1(А), то имеют место неравенства b1iπ*(i) Q, i = 1, n . Если существует решение π** такое, что

min b1

> min b1

,

i

iπ**(i)

i

iπ*(i)

 

 

 

 

то π** – принадлежащее S1(А) назначение, обеспечивающее критерию К2(В, π) значение большее, чем К2(В, π*). Но это про-

192

тиворечит оптимальности решения π* для задачи 1. Необходимость доказана.

Достаточность. Так как ξ1i , i =1, n, и η1j , j =1, n, – потен-

циалы строк и столбцов матрицы А, соответствующие оптимальному для задачи максимизации К1(А, π) назначению, решение π* задачи максимизации К2(В1, π) обладает свойством ( i)[bi1π(i) Q] , что обеспечивает его оптимальность по ведуще-

му критерию. Элементы матрицы В1 определены таким образом, что решая задачу максимизации К2(В1, π), мы фактически отыскиваем такое оптимальное по критерию К1(А, π) назначение, которое максимизирует на множестве S1(А) значение критерия К2(В, π). Достаточность доказана.

Перейдем к рассмотрению задачи 2. Обозначим через S2(В/А) совокупность назначений, являющихся ее оптимальными решениями.

Пусть назначение π1 максимизирует критерий К2(В, π). Введем (n×n)-матрицу A1 ={aij1 }, где

aij1

aij

+ W , если bij K 2(B,π1 ),

(4.23)

=

впротивном случае;

 

0

 

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

Лемма 4.2. Назначение π′ оптимально для задачи 2 тогда и только тогда, когда оно является оптимальным решением задачи максимизации критерия К1(А1, π).

Доказательство этого утверждения (в обе стороны) легко осуществляется методом от противного.

Леммы 4.1 и 4.2 являются обоснованием алгоритмов решения задач 1 и 2 соответственно. Для решения задачи 1 следует:

1) решить КЗН, определяемую матрицей А, найдя при этом потенциалы ее строк и столбцов;

193

2)пользуясь формулой (4.22), определить (n×n)-матрицу

B1 ={bij1 };

3)решить задачу максимизации критерия К2(В1, π), т.е. определяемую матрицей В1 максиминную задачу о назначениях; полученное решение является оптимальным для задачи 1.

Для решения задачи 2 следует:

1) решить задачу максимизации критерия К2(В, π), т.е. максиминную задачу о назначениях, определяемую матрицей В; полученное оптимальное назначение обозначить π1;

2)пользуясь формулой (4.23), определить (n×n)-матрицу

A1 ={aij1 };

3)решить КЗН, определяемую матрицей А1; полученное назначение является оптимальным для задачи 2.

Легко проверяется, что изложенными способами задача 1 и задача 2 решаются (с учетом результатов о вычислительной сложности КЗН и максиминной задачи о назначениях) в кубично зависящем от n времени.

Перейдем к непосредственному рассмотрению вопроса синтеза для задачи (4.21) полной совокупности эффективных оценок вместе с обеспечивающими эти оценки Парето-оптималь- ными назначениями.

Пусть π – некоторое Парето-оптимальное в задаче (4.21) назначение, причем К1(А, π) = а и К2(В, π) = b. Для определения отличного от π Парето-оптимального назначения π′, обеспечивающего ближайшее к b, причем большее b, значение критерия К2, применяем следующую четырехэтапную процедуру Ф:

1) строится (n×n)-матрица А= {aij}, где

aij

a

 

+W , если b

> b ,

=

ij

ij

(4.24)

 

0

 

впротивном случае;

здесь W определяется так же, как в (4.23);

194

2) решается КЗН, определяемая матрицей А, при этом находятся потенциалы ее строк ξi, i = 1, n , и столбцов η j, j = 1, n ;

в случае если найденное оптимальное значение критерия КЗН меньше, чем nW, искомого Парето-оптимального назначения не существует; если же оптимальное значение критерия КЗН больше или равно nW, переходим к п. 3;

3) строится (n×n)-матрица В= {bij}, где

bij

bij +Q, если aij′ = ξi

j ,

 

= 0, если ξi j > aij

,

 

(4.25)

 

 

 

 

 

здесь Q – достаточно большая константа, можно считать Q =

=( max bij) + 1.

i, j

4) решается задача максимизации критерия К2(В, π), т.е. максиминная задача о назначениях, определяемая матрицей В; полученное назначение π′ является искомым.

Обладая описанной процедурой Ф, для построения в задаче (4.21) полной совокупности эффективных оценок поступаем следующим образом. Прежде всего, решаем задачи 1 и 2 с лексикографически упорядоченными критериями; пусть их оптимальными решениями являются назначения µ и ν, порождаю-

щие в плоскости критериев (К1, К2) точки (аµ , bµ ) и (аν, bν) соответственно; здесь должны выполняться неравенства аµ аν и

bµ bν, данные соотношения имеют место либо одновременно как равенства, либо одновременно как строгие неравенства. Если имеют место равенства аµ = аν и bµ = bν, то построенная точка (аµ , bµ ) является единственной эффективной в задаче (4.21) оценкой. Если же аµ > аν и bµ < bν, то нами уже найдены две крайние эффективные оценки, порождаемые назначениями µ и ν соответственно. Реализуя процедуру Ф в отношении Паретооптимального назначения µ и числа b = bµ и далее последовательно применяя ее к получаемым Парето-оптимальным назначениям и обеспечиваемым ими значениям критерия К2, строим

195

последовательность π1, π2, ... , πm Парето-оптимальных назначений вместе с соответствующими им эффективными оценками (а1, b1), (а2, b2), ..., (аm, bm). Здесь m должно быть таким, что (аm, bm) = (аν, bν), это условие окончания процесса; общее количество получаемых эффективных оценок равно m + 1, для каждой эффективной оценки оказывается построенным обеспечивающее ее Парето-оптимальное назначение.

Несложно убедиться, что по верхней оценке временной вычислительной сложности одноразовое применение процедуры Ф реализуемо в кубично зависящем от n времени. При синтезе полной совокупности эффективных оценок в задаче (4.21) одноразово решаются задачи 1 и 2, затем (в случае несовпадения оценок (аµ , bµ) и (аν, bν) не более n2 n раз применяется процедура Ф. Таким образом, верхняя оценка временной вычислительной сложности изложенной технологии синтеза полной совокупности эффективных оценок в задаче (4.21) – полином от n пятой степени.

Изложенная технология реализует метод «последовательного увеличения» значений критерия К2(В, π); по сути это то же самое, что метод последовательных уступок по значениям критерия К1(А, π). Применение данного метода особенно целесообразно в ситуациях, когда именно критерий К1(А, π) принят в качестве ведущего и по его значениям можно сделать лишь малое число уступок.

Сейчас рассмотрим ситуацию, когда ведущим является критерий К2(В, π). Пусть π – некоторое Парето-оптимальное в задаче (4.21) назначение, причем К1(А, π) = а и К2(В, π) = b. Для определения отличного от π Парето-оптимального назначения π*, обеспечивающего ближайшее к b, причем меньшее b, значение критерия К2 (при переходе от π к π* значение первого критерия должно увеличиться), применяем процедуру Ψ, реализуемую следующим образом:

1) в совокупности меньших чем b элементов матрицы В находим максимальный (здесь мы предполагаем, что bµ < b, иначе

196

искомого Парето-оптимального назначения не существует); величину найденного элемента обозначим b*;

2) по матрице А и найденному значению b* строим (n×n)- матрицу А* = {a*ij }, где

aij

+ W , если bij b*;

(4.26)

a *ij =

впротивном случае;

0

 

здесь W определяется так же, как в (4.23);

3) решаем КЗН, определяемую матрицей А*; в случае если оптимальное значение критерия в этой КЗН не превосходит nW + а, выполненная уступка для появления требуемого Паретооптимального назначения недостаточна, следует положить b = = b* и вернуться к выполнению этапа 1; если же оптимальное значение критерия КЗН больше nW + а, полученное назначение π* является искомым.

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

Верхняя оценка временной вычислительной сложности основанной на использовании процедуры Ψ технологии синтеза полной совокупности эффективных в задаче (4.21) оценок – полином от n пятой степени.

Пример 4 . 1 . Для задачи (4.21), определяемой парой матриц A и B, найти полную совокупность эффективных оценок. Для каждой такой оценки записать порождающее ее Паретооптимальное решение; здесь

197

5

8

4

2

 

9

4

7

8

 

6

9

4

6

 

 

 

2

1

9

7

 

 

 

,

 

 

A =

5

3

8

3

 

B =

7

8

8

4

.

 

 

 

 

 

 

3

5

7

9

 

 

 

9

7

4

9

 

 

 

 

 

 

Сначала найдем крайние, оптимальные при лексикографических упорядочениях критериев, эффективные оценки; построим соответствующие этим оценкам Парето-оптимальные решения. Решая КЗН, определяемую матрицей А, находим: потенциалы ее строк ξ1 = 5; ξ2 = 6; ξ3 = 8; ξ4 = 9; потенциалы ее столбцов η1 = 0; η2 = 3; η3 = 0; η4 = 0. В первой строке матрицы А потенциальными являются первый и второй элементы; во второй строке – первый, второй и четвертый элементы; в третьей строке потенциален третий элемент, в четвертой – четвертый элемент; оптимальное значение критерия 31. По формуле (4.22), здесь Q = 10, определяем матрицу

 

19

14

0

0

 

 

 

 

11

0

17

 

B1

12

 

=

0

0

18

0

 

 

 

 

 

 

0

0

0

19

 

 

 

 

и решаем задачу максимизации критерия К2(В1, π). Оптимальным оказывается назначение π*, закрепляющее за исполнителем 1 вторую работу, за исполнителем 2 – первую работу, за исполнителем 3 – третью работу, за исполнителем 4 – четвертую работу. В решаемой бикритериальной задаче полученное назначение π* Парето-оптимально и порождает крайнюю эффективную оценку М* = (31, 2).

Для отыскания другой крайней оценки действуем следующим образом. Сначала решаем определяемую матрицей В максиминную задачу о назначениях; оптимальное значение критерия оказывается равным 8. Далее, основываясь на формуле (4.23), здесь W = 35, строим матрицу

198

 

40

0

0

37

 

 

 

0

0

39

0

 

1

 

 

A

=

0

38

43

0

.

 

 

 

 

 

38

0

0

44

 

 

 

 

Оптимальным в КЗН, определяемой матрицей А1, оказывается назначение π**, закрепляющее за исполнителем 1 первую работу, за исполнителем 2 – третью работу, за исполнителем 3 – вторую работу, за исполнителем 4 – четвертую работу. В решаемой бикритериальной задаче полученное назначение π** Парето-оптимально и порождает крайнюю эффективную оценку М** = (21, 8). Две крайние эффективные оценки и порождающие их Парето-оптимальные решения получены.

Промежуточные эффективные оценки будем строить, основываясь на процедуре Ψ. В качестве исходной эффективной оценки берем (21, 8). В совокупности меньших, чем 8, элементов матрицы В находим максимальный. Это число 7. Пользуясь формулой (4.26), по матрице А и найденному значению b* = 7 строим (n×n)-матрицу

40

0

39

37

 

 

0

0

39

 

 

 

41

A* =

40

38

43

0

.

 

 

 

38

40

0

44

 

 

 

Оптимальное решение КЗН, определяемой этой матрицей, обозначим π1. Это назначение за исполнителем 1 закрепляет первую работу, за исполнителем 2 – четвертую работу, за исполнителем 3 – третью работу, за исполнителем 4 – вторую работу. В решаемой бикритериальной задаче полученное назначение π1 Парето-оптимально и порождает эффективную оценку М1 = (24, 7). Далее в совокупности меньших, чем 7, элементов матрицы В находим максимальный; это число 4. Пользуясь

199

формулой (4.26), где W = 35, по матрице А и найденному значению b* = 4 строим новую (n×n)-матрицу

40

43

39

37

 

 

0

0

39

 

 

 

41

A* =

40

38

43

38

.

 

 

 

38

40

42

44

 

 

 

Оптимальное решение КЗН, определяемой последней матрицей A*, обозначим π2. Это назначение за исполнителем 1 закрепляет вторую работу, за исполнителем 2 – четвертую работу, за исполнителем 3 – первую работу, за исполнителем 4 – третью работу. В решаемой бикритериальной задаче полученное назначение π2 Парето-оптимально и порождает эффективную оценку

М2 = (26, 4).

После отыскания оценки М2 в совокупности меньших, чем 4, элементов матрицы В находим максимальный; это число 2. Эффективная оценка, вторая координата которой равна 2, у нас уже имеется: М* = (31, 2). Полная совокупность эффективных в рассматриваемой бикритериальной задаче оценок получена, это

М* = (31, 2), М2 = (26, 4), М1 = (24, 7), М** = (21, 8). Для всех эффективных оценок выше получены соответствующие Паретооптимальные решения.

Сейчас рассмотрим задачу о назначениях с двумя аддитивными критериями. Здесь будем считать, что задача определяется парой (n×n)-матриц А = {aij} и В = {bij}, элементы которых принадлежат множеству N {ω}, где N – совокупность всех целых неотрицательных чисел, а ω – специальный символ запрета. Если в позиции (i, j) одной матрицы стоит знак запрета, то этот знак стоит в позиции (i, j) и в другой матрице. Числовой элемент aij (bij) есть оценка закрепления исполнителя i за работой rj по первому (соответственно второму) показателю. Назначения – взаимно однозначные отображения множества {1, 2, ..., n} в се-

бя. Назначение π закрепляет за исполнителем i работу rπ(i), i = 1,

200