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

Загребаев Методы матпрограммирования 2007

.pdf
Скачиваний:
139
Добавлен:
16.08.2013
Размер:
10.97 Mб
Скачать

из точки ( X 1 ,Y 1 ) продолжаем движение вдоль ребра ( X 1 ,Y ) , то есть по прямой 1 в множестве Υ , попадаем в крайнюю точку

( X 1 ,Y 0 ) ;

( X 1 ,Y ) является концом ребра ( X ,Y 0 ) , где точки X Χ при-

надлежат прямой 4, по этому ребру можно попасть в ( X 0 ,Y 0 ) – конечную точку рассматриваемого s -пути.

Теорема 4.7. Пусть Z – крайняя точка Ζ и Z H s . Найдутся или одно, или два открытых ребра, лежащих в H s и имеющих Z

своей крайней точкой; Z является ситуацией равновесия в том и только в том случае, когда такое ребро единственное.

Доказательство. Положим, что Z – крайняя точка Ζ и Z H s .

Возможны два случая.

 

 

1. Пусть (es ,Y ) ((bs , X ) 1) = 0 . Поскольку справедливы (m + n)

соотношений

 

 

( fi , X ) ((ai ,Y ) 1) = 0 ,

i =1,..., m ,

 

(e j ,Y ) ((b j , X ) 1) = 0 ,

j =1,..., n ,

(4.81)

точка Z = ( X , Y ) – ситуация равновесия. Как было показано, при этом или (es ,Y ) = 0 , или (bs , X ) 1 = 0 , но не оба сомножителя равны нулю сразу.

Допустим, что (bs , X ) 1 = 0 ( (es ,Y ) = 0 рассматривается аналогично). Так как Z = ( X ,Y ) – крайняя точка Ζ , выполнено m из

соотношений

 

 

( fi , X ) = 0,

i =1,..., m,

(4.82)

(b j , X ) 1 = 0,

j =1,..., n,

 

и n из соотношений

 

 

(e j ,Y ) = 0,

j =1,..., n,

(4.83)

(ai ,Y ) 1 = 0,

i =1,..., m.

 

271

(m + n)

Следовательно, существует ребер многогранника Ζ ,

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

нарушается условие (bs , X ) 1 = 0 .

 

2. Пусть (es ,Y ) ((bs , X ) 1) > 0 . Так как Z = ( X , Y ) –

крайняя

точка Ζ , X определяется m векторами из множества

 

{f1 ,..., fm , b1 ,...bn },

(4.84)

а Y определяется n векторами множества

 

{e1 ,..., en , a1 ,..., am }.

(4.85)

В нашем случае (es ,Y ) > 0 и (bs , X ) 1 > 0 . Но Z H s ,

поэтому

найдется такой индекс q , для которого выполнены сразу или оба соотношения

( fq , X ) = 0

и

(aq ,Y ) 1 = 0 ,

(4.86)

или оба соотношения

 

 

 

 

(eq ,Y ) = 0

и

(bq , X ) 1 = 0 .

(4.87)

Рассмотрим первый вариант.

В

H s лежат два ребра –

одно,

вдоль которого нарушается условие

( fq , X ) = 0 , и другое,

вдоль

которого нарушается условие (aq ,Y ) 1 = 0 . При этом Z не явля-

ется ситуацией равновесия. На любом другом ребре Ζ , имеющем Z концевой точкой, не выполнено какое-либо из соотношений, определяющих H s .

Теорема доказана.

Доказанные выше теоремы гарантируют существование крайней точки Z , лежащей в H s . Начав с такой точки Z1 , можно двигаться

по ребру, лежащему в H s : или это ребро закончится в другой крайней точке Z2 , или это единственное неограниченное ребро, лежащее в H s . В первом случае или Z2 – ситуация равновесия и процесс не может быть продолжен, или существует другое ребро с

272

концом в Z2 , лежащее в H s , по которому можно продолжать дви-

гаться. Процесс прекращается в следующих случаях, когда: попадаем на неограниченное ребро;

достигаем ситуации равновесия, отличной от точки Z1 ;

приходим в точку, в которой уже были.

Вернуться можно только в начальную точку пути, так как в противном случае имелась бы точка, к которой примыкают три ребра. Таким образом, начав с Z1 , возвращаемся в Z1 , или нет. В первом

случае путь называется замкнутым (рис. 4.6, а). Если путь не замкнут, то он заканчивается либо в ситуации равновесия (рис. 4.6, б), либо на неограниченном ребре (рис. 4.6, в).

 

 

 

 

 

Z2*

Z1

 

Z1

 

 

 

 

 

Z1*

 

a)

 

 

 

Z*

 

б)

 

 

 

 

 

Z1

P

в)

Рис. 4.6. Возможные s-пути

Теорема 4.8. Пусть P s -путь, содержащий неограниченное ребро F . Тогда на P лежит в точности одна ситуация равновесия. Ее можно вычислить, последовательно проходя путь P , начиная с ребра F . Общее число ситуаций равновесия конечно и нечетно.

Доказательство. Единственный s -путь P , начинающийся с F , должен закончиться в некоторой крайней точке, являющейся ситуацией равновесия (см. рис. 4.6, в). Отличный от P незамкнутый путь должен иметь две конечные точки (см. рис. 4.6, б), каждая из которых является ситуацией равновесия. Отсюда следует утверждение теоремы.

273

4.1.4.4. Алгоритм Лемке – Хоусона решения биматричных игр

Дана биматричная игра с матрицами

A1

и A2

размерностью

m ×n .

 

N = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Положим

 

 

номер

 

итерации.

 

 

Выбираем

d = max{

 

aij1

 

,

 

aij2

 

}+1.

Определяем

матрицы

A = dE A1

и

 

 

 

 

i, j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B = dE A2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Выбираем

начальные

 

базисы

q0 (Y ) ={e ,..., e

n

}

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

p0 (X ) ={ f1 ,..., fm } . Составляем симплекс-таблицы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Базис

 

 

a1

a2

...

am

 

e1

e2

...

en

 

 

 

 

 

 

 

 

 

 

 

 

 

e1

 

 

a11

a21

...

am1

 

1

0

...

0

 

 

 

 

 

 

 

 

 

 

 

 

 

e2

 

 

a12

a22

...

am2

 

0

1

...

0

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

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

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

en

 

 

a1n

a2n

...

amn

 

0

0

...

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Базис

 

 

b1

b2

...

bn

 

f1

f2

...

fm

 

 

 

 

 

 

 

 

 

 

 

 

 

f1

 

 

b11

b12

...

b1n

 

 

1

0

...

0

 

 

 

 

 

 

 

 

 

 

 

 

 

f2

 

 

b21

b22

...

b2n

 

0

1

...

0

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

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

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

fm

 

 

bm1

bm2

...

bmn

 

0

0

...

1

 

 

 

 

 

 

3. Выбираем множество H s , в котором будет производиться поиск ситуации равновесия. Определяем исходную точку

(X 0 ,Y 0 ) :

Y 0

 

 

1 l ,

 

 

 

=

0, 0, ..., 0,

0, ..., 0

 

,

 

 

 

{

 

 

 

 

 

 

s-япозиция

 

 

 

где l = ai*s = mini (a1s ,a2s ,...,ams ) , т.е. минимум в s -й строке таблицы A;

274

 

 

 

 

 

 

 

X 0 =

 

0, 0, ..., 0,

1 k,

0, ..., 0

 

,

 

 

 

{

 

 

 

 

 

 

i*-япозиция

 

 

 

 

 

 

 

 

 

где k = bi* j* = minj (bi*1,bi* 2 ,...,bi*n ), т.е. минимум в строке с номе-

ром i* таблицы B.

Таким образом, (X 0 ,Y 0 ) выбрана так, чтобы она была крайней

точкой множества Ζ . Согласно теореме 4.6, (X 0 ,Y 0 ) H s , где H s состоит из точек множества Χ ×Υ , удовлетворяющих уравнениям

( fi , X )((ai ,Y ) 1) = 0 , i =1,..., m ,

(e j ,Y )((b j , X ) 1) = 0 , j =1,..., n , j s ,

и, возможно, уравнению (es ,Y * )((bs , X * ) 1) = 0 .

4. Если последнее уравнение выполнено для точки (X 0 ,Y 0 ) , то

это ситуация равновесия. Переходим к шагу 13. В противном случае переходим к следующему шагу.

5.Изменяем базисы p0 и q0 , для этого найдем множества p(X 0 ) ={ fi , b j | ( fi , X 0 ) = 0, (b j , X 0 ) =1} ,

q(Y 0 ) ={e j , ai | (e j ,Y 0 ) = 0, (ai ,Y 0 ) =1}.

6.Выписываем таблицы AN и B N ( N – номер итерации) для новых базисов так же, как в симплекс-методе (разд. 1). Чтобы по-

лучить таблицу AN , надо исключить из базиса вектор es и ввести вектор ai* . Для этого вычтем из всех строк таблицы необходимо вычесть s -ю строку, умноженную на множители, подобранные

таким образом, чтобы во всех строках, кроме s -й, i* -й элемент обратился в нуль. Затем разделить s -ю строку на ai*s .

275

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица AN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Базис

 

 

a1

a2 ...

am

 

 

 

 

 

 

e1

 

 

e2

...

en

λ

 

 

 

 

α11

α21 ...

αm1

 

 

 

 

q11

 

 

 

q12

...

q1n

λ1

 

 

q(Y N )

α12

α22 ...

αm2

 

 

 

q21

 

 

 

q22

...

q2n

λ2

 

 

 

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

 

 

 

 

 

 

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

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α1n

α2n ...

αmn

 

 

 

 

qn1

 

 

 

qn2

...

qnn

λn

 

 

 

 

ξ1 1

ξ2 1 ...

ξm 1

 

 

 

 

y N

 

 

 

y N

...

y N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

2

 

 

n

 

 

В таблицу AN добавляется снизу строка и справа один столбец.

Значения ξi = (ai ,Y 0 ) , причем ai

берется из таблицы, полученной

на предыдущем шаге вычислений;

 

y0j

 

 

 

j -я компонента вектора

Y 0 ; заметим, что

 

ξi

1 , i =1,..., m ,

 

так как Y 0 Υ . Значение λ j

для j -й строки получается следующим образом:

 

 

 

вычисляются

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

ξk

 

1

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yr

 

 

 

 

 

 

 

 

 

λ

 

=

 

 

min

 

 

 

 

 

 

,

 

 

 

 

 

 

0 ,

 

 

 

 

 

 

 

 

α

 

 

 

 

q

 

 

 

 

 

 

 

 

 

 

 

αkj <0,q jr <0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

kj

 

 

 

 

 

jr

 

 

 

 

 

 

 

 

 

 

 

 

k =1,m,r=1,n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

**

 

 

 

 

 

 

 

 

 

 

 

ξk

 

1

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yr

 

 

 

 

 

 

 

 

 

 

λ

 

=

 

 

min

 

 

 

 

 

 

,

 

 

 

 

 

 

 

0 ;

 

 

 

 

 

 

 

 

 

α

 

 

 

 

q

 

 

 

 

 

 

 

 

 

 

 

αkj >0,q jr >0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

kj

 

 

 

 

 

jr

 

 

 

 

 

 

 

 

 

 

k =1,m,r=1,n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так как (X 0 ,Y 0 ) – крайняя точка, можно показать, что либо λ* ,

либо λ**

равно нулю. В столбец λ в качестве λ j

добавляется то из

чисел λ*

и λ** , которое отлично от нуля. Если они оба равны ну-

лю, добавляется нуль.

 

 

 

 

 

 

B N . Из базиса исключается

Аналогично формируется таблица

fi* и на его место вводится b j* . В нижней строке таблицы поме-

щаются числа η j = (b j , X N ) без единицы и компоненты xiN . Числа µi рассчитываются аналогично λ j .

276

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица B N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Базис

 

b1

b2 ...

 

bn

f1

f2

...

fm

 

µ

 

 

 

 

 

 

 

 

β11

β12 ...

 

β1n

p11

p12

...

p1m

 

µ1

 

 

p( X N )

 

β21

β22 ...

 

β2n

p21

p22

...

p2m

 

µ2

 

 

 

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

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

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

βm1

βm2 ...

 

βmn

pm1

pm2

...

pmm

 

µm

 

 

 

 

 

 

 

 

η1 1

η2 1 ...

 

ηn 1

x N

x N

...

x N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

 

m

 

 

 

7. Утверждаем, что Y = Y 0 + λ j q j , где

q j

j -я строка входя-

щей в таблицу матрицы

 

 

 

qij

 

 

 

, является крайней точкой множества

 

 

 

 

Υ . Покажем, прежде всего, что Y Υ , т.е. что

 

 

 

 

 

 

 

 

 

 

 

 

 

(ak ,Y 0 + λ j q j ) 1 .

 

 

 

 

 

 

Матрица

 

 

 

qij

 

является обратной матрице, столбцами которой слу-

 

 

 

жат векторы базиса, поэтому справедливы соотношения

 

 

 

 

 

 

 

 

 

(ak , q j ) = αkj ,

k =1,2,..., m ,

j =1,2,..., n .

 

 

 

Таким образом,

(ak ,Y 0 ) + λk (ak , q j ) = ξk + λ j αkj ,

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

 

 

 

 

 

 

 

 

 

ξ

k

1

 

 

(ξ

k

1) + λ

j

α

kj

= −α

 

 

 

 

− λ

.

 

α

 

 

 

 

 

 

kj

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

kj

 

 

 

 

 

ξk

1

 

 

*

Если λ j >

0

, то

 

 

 

− λ j

0 по определению для

λ , и пото-

αkj

 

 

 

 

 

 

му при αkj

< 0 имеем

 

 

 

 

 

 

 

 

 

(ξk 1)+ λ j αkj 0 ,

 

277

т.е.

(ak ,Y 0 ) + λk (ak , q j ) 1.

Если же λ j > 0 и αkj > 0 , то λ j αkj > 0 , поэтому вновь

(ak ,Y 0 ) + λk (ak , q j ) 1,

т.е. доказали, что Y Υ .

При λ j < 0 – аргументация аналогична. Таким образом, Y Υ .

Точка Y определена так, что она является крайней точкой множества Υ . Ввиду того, что Y – конец ребра, другим концом которого

является Y 0 , числа λ*

и λ** не могут одновременно отличаться от

нуля, так как в противном случае

(Y 0 + λ*q j ) Υ ,

(Y 0 + λ**q j ) Υ , λ* > 0 , λ** < 0 ,

вопреки тому, что Y 0 – крайняя точка.

Таким образом, на данном шаге алгоритма рассчитываем край-

нее точки

 

X i = X 0 + µi pi ,

i =1,2,..., m ,

Y j = Y 0 + λ j q j ,

j =1,2,..., n .

Точки (X 0 ,Y j ) и (X i ,Y 0 ) являются смежными с точкой

(X 0 ,Y 0 ) .

8.Находим q(Y j ) и p(X i ) в соответствии с определением базиса (п. 5 настоящего алгоритма).

9.Для каждой пары (X 0 ,Y j ) и (X i ,Y 0 ) формируем множество

M :

M (X i ,Y j ) =

 

 

, f

 

er

M ,

если er

q(Y

j

),br

p(X

i

 

 

 

e

r

k

 

 

),

 

 

 

f

 

M ,

если f

 

 

p( X i ), a

 

 

 

 

 

 

 

 

 

 

 

 

 

q(Y j ).

 

 

 

 

 

 

k

 

 

 

 

k

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10. Если для некоторой пары (X i ,Y j )

 

 

 

 

 

 

 

 

 

 

 

M (X i ,Y j ) ={e , e

2

,..., e

n

, f

1

,..., f

m

} ,

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

278

то процесс вычислений заканчивается. В этом случае (X i ,Y j ) – ситуация равновесия, т.е.

(X * ,Y * ) = (X i ,Y j ) .

Переходим к шагу 13.

Если такой пары не найдется, то переходим к следующему шагу. 11. Выбираем точку Z = (X ,Y ) , для которой в M ( X ,Y ) недос-

тает вектора es . Тогда (X ,Y ) H s . По теореме 4.7 найдется пара таких точек Z1, Z2 , являющихся концами ребер, которые пересе-

каются в (X 0 ,Y 0 ) . Если к точке (X 0 ,Y 0 ) примыкает неограниченное ребро, такая точка будет одна.

12. Выбираем ту из найденных точек Z1 , Z2 , которая не была

включена в s -путь на предыдущих итерациях, изменяем базис p(X ) или q(Y ) и возвращаемся на шаг 6. (При этом на шаге 6

меняется лишь одна из таблиц A или B .)

Согласно теореме 4.8, через конечное число шагов процесс закончится или в ситуации равновесия, или в исходной точке

(X 0 ,Y 0 ) , если произойдет зацикливание. В последнем случае выбираем новое s и начинаем поиск сначала.

13. Нормируем пару (X * ,Y * ) :

 

 

 

 

 

 

X 0 =

X *

 

,

Y 0 =

 

 

 

Y *

.

(X * , Lm )

 

 

 

 

 

 

 

 

(Y

* , Ln )

Вычисляем выигрыши игроков:

 

 

 

 

 

 

для игрока 1

 

 

 

 

1

 

 

 

 

 

 

V1

= d

 

 

 

 

,

 

 

 

 

(Y * , Ln )

 

 

для игрока 2

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

V2

= d

 

 

 

 

.

 

 

 

(X * , Lm )

 

 

 

 

 

 

 

 

 

(Последние соотношения выводятся при доказательстве теоре-

мы 4.2.)

279

4.2.Оптимальное распределение нагрузки

всистеме ядерных реакторов

4.2.1.Оптимальное распределение запасов реактивности в системе двух реакторов с линейной зависимостью

возможной степени снижения мощности от запаса реактивности

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

нейтронов больше, чем 1 1013 нейтр. при этом зависимость ε(∆ρ) , см2 с

как видно из рис. 2.2, носит нелинейный характер. Для получения качественных результатов рассмотрим систему из двух реакторов. Зависимость ε(∆ρ) будем аппроксимировать полиномом второй

степени.

Математически задача в этом случае формулируется следующим образом:

найти

 

 

 

 

 

N

 

∆ρ

i

 

 

 

 

 

 

 

min

 

 

 

 

 

 

 

 

 

ai

 

 

 

 

 

 

 

∆ρi ...∆ρN i=1

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

∆ρ

i

 

 

∆ρ

i

 

 

2

 

 

 

 

 

 

 

 

 

δi

2

 

 

 

 

 

 

 

= α;

 

 

 

 

 

 

 

1

∆ρim

+

 

 

 

 

 

 

 

 

i=1

 

 

 

∆ρim

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

≤ ∆ρ1 ≤ ∆ρ1m ;

 

 

 

 

 

(4.88)

0

≤ ∆ρ2 ≤ ∆ρ2 m .

 

 

 

 

 

 

Введя новые переменные так же, как в разд. 2.3, т.е.

 

z =

∆ρ1

,

z

2

=

∆ρ2

,

 

 

 

 

1

∆ρ

 

 

∆ρ

2m

 

 

 

1m

 

 

 

 

 

280