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

книги из ГПНТБ / Голенко Д.И. Статистические модели в управлении производством

.pdf
Скачиваний:
10
Добавлен:
25.10.2023
Размер:
15.19 Mб
Скачать

2. Если l>k,

то

разбиение 1-го

порядка

представляет

собой измельчение разбиения k-ro

порядка,

т. е. при/>'г

любые элементы

ял

и Я в из одного класса

1-го порядка

обязательно входят

в один класс

k-ro порядка.

3. Все классы одного порядка

содержат

одинаковое

число элементов.

Таким образом получилась некоторая иерархия клас­ сов, все множество П, состоящее из п\ перестановок, раз­ делилось на п классов 1-го порядка, каждый из которых

состоит

из (п1)!

перестановок;

с другой

стороны, каж­

дый класс 1-го порядка содержит (п1)

классов 2-го по­

рядка, состоящих из (п2)!

перестановок и т. д., нако­

нец, имеется п\

классов

(п1)

порядка, каждый

из кото­

рых содержит ровно одну перестановку.

 

 

 

 

 

Внутри каждого класса k-ro порядка классы

(/г+1)-го

порядка

 

можно

перенумеровать

следующим

образом.

Первым

классом

(&+1)-го

порядка назовем класс с наи­

меньшим

элементом на

 

(k+l)

 

месте; вторым

назовем

класс

со

следующим

 

по

возрастанию

 

элементом

на

{k+1)

-м месте и т. д.

 

 

 

 

 

 

 

 

 

 

 

Для нумерации всех перестановок используются чис­

ла

от

1 до п!; причем

первые

(я—1)! чисел используют­

ся

для

нумерации

перестановок

1-го класса 1-го поряд­

ка;

следующие

(п

1)!

 

чисел — для нумерации

переста­

новок 2-го класса

1-го

порядка

и т. д., наконец, последние

{п

1)!

чисел используем

для

нумерации

последнего

п-го

класса 1-го порядка. Далее внутри каждого класса

1-го

порядка

 

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

на классы

2-го

порядка

и распределяем между ними имеющиеся

(п

1)!

номеров.

 

Продолжая эти рассуждения, получим общую фор­

мулу

для

выражения

номера

перестановкив зависимос­

ти от номеров классов различных порядков, в которые входит данная перестановка. Если обозначить номера классов k-x порядков в классах (k 1) порядков через /•„

то номер перестановки в общем ряду п\ перестановок оп­

ределится формулой:

N(n)

= {h-\)

( я - 1 ) ! + ( / 2 - 1 ) ( я - 2 ) ! + -

•••-t-(Zf t

-l) (n-k)l+

••• + ( / „ - 2 - 1 ) 2 ! + ( Z n - i - l ) + 1 -

Практически W определяется как порядковый номер объекта в.ряду, составленном по возрастанию объектов; на каждом шаге классифицированный объект вычерки­ вается из ряда и оставшиеся объекты снова располага-

ются в порядке возрастания для определения следующего номера класса.

Покажем на конкретных примерах, как пользоваться

приведенной формулой.

 

 

Пусть я = ( 1 , 4, 2, 3, 5),

тогда /і = 1, так как

в ряду

1, 2, 3, 4, 5 этот объект занимает первое место; на

втором

шаге, вычеркнув 1, получим

последовательность 2, 3, 4, 5

и определим /2 = 3, так как объект 4 стоит на третьем мес­ те; на третьем шаге, вычеркнув 4, получим последователь­ ность 2, 3, 5 и определяем / з = 1 , так как объект 2 стоит на первом месте; на четвертом шаге, вычеркнув 2, полу­

чим

последовательность 3, 5 и соответственно определим

/ 4 = 1 . По

формуле определяем

Л^(я) = (1—1)4!+ (3—

— 1)3!+(1 — 1)2! + (1 —1)11 + 1 = 13.

Для

я = ( 4 ,

2, 1, 3),

Л »

= (4—1)3!+ (2—1)2! + ( 1 — 1) +

1=21.

 

Можно также предложить и другой способ определе­

ния

4. Легко проверить, ЧТО ДЛЯ

Я = (і'ь

І% . . .,

ih, • • ., Іп)

lh = ik—zh,

где 2ft — число элементов в

перестановке я,

стоящих левее іи и по своей величине меньше, чем ih) Дру­

гими словами,

определяется

как

число элементов мно­

жества

{ij

• j < k,

ij <

Іи).

 

 

 

Покажем теперь, как найти перестановку я по задан­

ному Л''(я) и числу элементов

перестановки п.

Применяя

к выражению

N (л)

метод последовательного

деления,

получим:

 

 

 

 

 

ЛЧ л ) - 1 = ( / і - 1 ) ( я - 1 ) ! + <7і

<? і = ( / 2 - 1 ) ( я - 2 ) ! + ?2

 

qn-3=

( / п - 2 - 1 ) 2 !

+<7п-

 

 

 

оп

= [In-i —

1) •

l

 

 

 

Здесь qx

остаток отделения

N(n)

на (п— 1)!,

a q%

(2^i^n—2)

—остаток от деления

qt-i

на

(п—і')!.

 

Будем считать, что U—\=h—1=

• • • = ln-2—1=0,

если

TV (я) — К

(п— 1)!, <7!<(п—2)!,..., <7„_3<j2!

соответст­

венно. Последнее вытекает из того, что мы не выходим за пределы множества целых чисел. Значения <7г(1^г'^«— —2) располагаются в убывающий ряд

<7і5г<72^ ••• 5г< ? п -2^0

и определяются соответствующие значения U по форму­ лам:

, , . [ ^ 1 + 1 .

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

зт=(іі, «г,..., in)

следующим

образом. Принимаем

i\ — U

и вычеркиваем

число i"i из

последовательности

чисел

1,2,

...,п, затем

определяем

U

как число, стоящее на

І2

месте в последовательности

с вычеркнутым ЧИСЛОМ І],

после определения вычеркиваем это число из последова­

тельности 1, ... , п и определяем

із как число, стоящее на

/3 -м месте в последовательности

с вычеркнутыми

І\ и

і2

и т. д. На последнем

шаге определяется і п как

единствен­

ное незачеркнутое число последовательности

1, 2,...,

п.

Приведем несколько примеров.

 

 

 

 

1. М ( я ) = 3 8 ; я = 5

+ i= 2,

 

 

 

 

 

/ 1 =

r

3 8 - 1

"

<7i = 37-- 24=13,

 

 

-

4!

 

 

 

І2 =

"

13

 

+ i=

3,

<?2 = 13 - 2 X 6 = 1 ,

 

 

-

3!

-

 

 

h = К - ]

+ i=

1,

<7з = 1 -

0-2 = 1;

 

 

 

U =

(А, І2, /з, Ц) =

 

 

 

 

 

 

Итак, имеем

(2, З, I , 2).

 

 

 

 

і\=1\ = 2, последовательность

1, 2, 3, 4, 5 после

вычер­

кивания двойки имеет вид 1, 3, 4, 5;

 

 

 

 

і2 = 4, так

как на третьем

месте в последовательности

1, 3, 4, 5 стоит 4. После вычеркивания

четверки

имеем

последовательность

1, 3, 5;

 

 

 

 

 

 

і 3 = 1 , так

как первым членом в последней

последова­

тельности является 1. После вычеркивания имеем после­ довательность 3, 5;

t4 = 5, так как /4 = 2 и в последовательности 3, 5 на вто­

ром месте стоит 5;

 

i 5 = 3 ,

так как

после вычеркивания в последователь­

ности 3,

5 пятерки

остается число ЗІ

Итак, я = (2, 4, 1, 5,

3).

 

 

 

 

 

2. Ы(я)=38,

п = 6

 

 

 

 

 

 

Г 38-1

1

=

1,

<7i =

37,

 

 

 

 

 

 

2,

(72

13;

 

 

 

 

3,

<7з

1;

 

 

 

 

 

1,

? 4

1,

/5 = (74 + 1=2.

соответственно

я = ' ( 1 ,

3, 5, 2, 6, 4).

 

 

с т станками и

В задаче календарного планирования

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

рестановку

я = (яь Яг

я т о ) , где перестановка

Я і ( І ^ і ^ т )

указывает последовательность обработки

деталей на і-м станке.

С помощью лексикографической метрики можно каж­ дой перестановке я, поставить в соответствие ее норму

N(m) и таким образом

каждому

плану А

будет

постав­

лена в соответствие целочисленная точка

X из т-мерно-

го эвклидова пространства Я. Эти преобразования

схема­

тически запишутся в виде

 

 

 

А

я

X

 

 

A^D

Я<=П

І Є Н

 

 

 

 

 

 

Чтобы практически организовать поиск, необходимо уметь перейти от целочисленной точки к конкретному расписанию А, дающему время начала всех операций по каждой детали. Это делается в два этапа: на первом этапе по целочисленной точке X находим вектор-переста­ новку я; на втором — строим сетевую модель, у которой элементарными работами являются деталеоперации, а в качестве связей выступают технология (последователь­ ность) обработки каждой детали и указанные вектором я последовательности обработки даталей на соответст­ вующих станках. Применяя к построенной сети алгоритм Форда, мы определим (вычислим) план А (если он суще-

ствует!), соответствующий точке X, и в итоге найдем зна­ чение целевой функции.

Целевая функция К, заданная на множестве распи­ саний, определяет некоторую функцию F на ограничен­ ном множестве целочисленных точек m-мерного прост­ ранства

K(A)=F(X)

At=D

Х(=Н

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

так как помимо окрестности

любого

фиксированного

плана

здесь имеет смысл говорить о направлении движе­

ния в

пространстве

планов; при этом поиск ведется в Н

с целевой функцией

F. Схема

такого

направленного по­

иска представляется следующим образом. Из некоторой

случайно выбранной точки Х0

делается

а

случайных

проб, т. е. определяются

значения

F(X0 + zli)

целевой

функции в

а (і = 1, 2,...,

а) точках

Xi = X0

+ zlil,

где | j —

случайный

m-мерный вектор

с равномерно

 

распреде­

ленными на

[—1,1] компонентами;

 

z — некоторая

посто­

янная,

заранее выбранная

величина. Затем

отбирается

точка

Xj, которой соответствует

минимальное

F;

точки

Хо и Xj определяют вектор W] — ось m-мерного

гипер­

конуса Tj с углом раскрытия W и вершиной

в точке X;.

Дальнейшие

а проб делаются

в пределах

построенного

гиперконуса из точки Ху, снова отбирается «лучшая» точ­ ка и вершина конуса переносится в отобранную точку, а вектор W{ меняет соответствующим образом свое на­ правление. Если для трех последующих точек на траек­

тории движения Xj-2, Xj-\ и Xj

выполняется условие

F(Xj-2)>F(Xi-i)

\

FiXj^KFiXj)

J

то точка Xj-i отмечается как «подозрительная» на мини­ мум, т. е. в ней достигается локальный минимум или близкое к нему значение.

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

F(Xj-2)<F(Xj^) 1

F(Xi^)>F(Xj) )

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

 

Для вычисления F(X)

необходимо от X=(Xh

Х2,...,

Хт)

ПереЙТИ

С П О М О Щ Ь Ю

алгоритма

ВЫЧИСЛеНИЯ Я{ =

= N~l(Xi) к вектор-перестановке я = ( я ь

яг, ... ,

я т ) и за­

тем

построить

сетевую модель. Расчет

сетевой

модели

выполняется с помощью таблиц длительности всех опера­ ций и последовательности их выполнения. Таблица после­ довательности состоит из двух частей — постоянной и пе­ ременной, при этом постоянная часть включает техноло­ гические последовательности выполнения операций по всем деталям, а также связи операции условного начала О н нулевой "длительности со всеми первыми операциями деталей и связи всех последних операций обработки де­ талей с операцией О к условного конца; переменная часть таблицы определяется найденной в соответствии со слу­ чайной точкой X вектор-перестановкой я. Для расчета сетевой модели используется алгоритм Форда для сети без событий, который дополнен алгоритмом для обнару­

жения

циклов.

Если целевой функцией плана является

минимальное

время выполнения всех работ, то

 

 

 

K(A)=F(X)=TKP

 

 

 

 

 

вычисляется одновременно с Л.

(т. е. точке X не соот­

При обнаружении циклов в сети

ветствует

план, совместимый

с технологической

матри­

цей), точка X

отбрасывается

и целевая функция

опреде­

ляется для следующей точки.

 

 

 

 

 

 

Инверсная

метрика [2.8]. Пусть

яі=|(і'ь іг, • • ., in), яг

=

= {І и

І2, • •> in) — Две

произвольные

перестановки

11

объектов;

ik, к

(k>l)

—произвольные элементы

переста­

новки п\.

Если в перестановке яг найдется пара элементов

j p , j q , такая, что ik=jp,

ii = j q и p<q,

то будем говорить, что

пара j p ,

j

q образует

инверсию относительно

перестановки

щ. Число

всех

инверсий

перестановки

яг

относительно

яі определим как расстояние между этими перестановка­ ми р ( я ь яг).

Покажем, что введенное расстояние удовлетворяет аксиомам метрики 1—3:

1) р(яі, я 2 ) = 0 тогда и только тогда, когда любые два элемента расположены в обеих перестановках в одина­ ковом порядке, т. е. когда яі = яг;

 

2)

если ift = /p,

ii = j q ,

то элементы

ik,

U образуют

ин­

версию

относительно

яг тогда

и только тогда, когда

/ р и

j q

образуют

инверсию

относительно

я ь

следовательно,

р ( я ь

яг) =р(яг, Яі);

і2,...,іп),

 

 

 

 

 

j2,...,jn),

 

 

 

3)

пусть

Я і = : ( І Ь

 

Я 2 = ( / ь

 

я 3 =

=

(&ь &г, • • .,kn)

и ik = jp, h = jq. Если

пара

Й, іг образует

инверсию относительно

яз, то она

либо

образует инвер­

сию относительно Яг, либо пара /

р

,

j

q образует

инверсию

 

 

 

Ї

 

 

относительно

я 3 . Значит

каждой

 

инверсии

перестановки

яі

относительно перестановки

яз соответствует

инверсия

тех же элементов

в Я [ относительно яг или же в яг отно­

сительно яз, откуда следует

 

 

 

 

 

 

 

 

 

 

 

 

 

р(яі,

я 3 ) ^ р ( я і ,

я 2 ) + р ( я 2 , Яз)

«

 

 

 

Легко видеть, что р(яі, яг)

может принимать

все цело­

численные значения от 0 до

п ^п ——.Перестановку

я 0 =

=

(1, 2, ... , п)

будем

впредь называть нулем пространст­

ва

перестановок,

^-окрестностью

 

 

вектор-перестановки

я = ( я і ,

Яг, • •., Jtm )

будем называть

множество

всех

век­

торов

я * = ( я / ,

Л2,...,п1т),

 

для

 

которых

р(я,-,

nlj)^R

при / = 1 , 2 , . . . ,

т.

 

 

 

 

 

 

 

 

 

 

 

 

 

Согласно

инверсной

метрике,

 

близость

перестановок

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

ства имеет больший набор ^-окрестностей, чем

в цеп­

ной, так

как

максимальное

удаление между

точками

пространства

П

'

 

п

(п— 1)

 

как в

 

составляет — ^ —- 'в то время

цепной метрике

 

оно

равно

п

1.

Инверсная

метрика

свободна

также

 

от

основного

недостатка лексикогра­

фической метрики: расстояниемежду двумя

переста­

новками

не зависит

от нумерации

деталей.

 

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

вектор-перестановки

из

заданной ^-окрестности; все

дальнейшие выкладки проводятся в этих целях.

Пусть я'о — произвольная

перестановка;

назовем

окружностью радиуса

г,

или

r-окружностью

с центром

я'о, множество всех перестановок я, обладающих свой­

ством Q (Яо Я) =Г.

Чтобы выяснить, как распределяются перестановки по окружностям различных радиусов, установим взаим­ но-однозначное соответствие между всеми перестанов­

ками п

символов

я=

(й\, а,2, ..., ап) и

целочисленными

векторами вида

(щ,

аг, ...,

а п - і ) , где

0 ^

сч^п—і

(і —

= 1, 2,..., п—1).

Соответствие строится

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

чтобы а, было равно количеству инверсий,

образуемых

членом

а, с последующими

членами

перестановки

я.

Указанный целочисленный вектор назовем индексом

перестановки я. Например, перестановке

я = (8,3,1,5,4,

2,6,7) соответствует индекс (7,2,0,2,1,0,0).

Если задан

индекс перестановки, то соответствующая ему переста­

новка

восстанавливается

следующим

алгоритмом:

Шаг

1. Яі = аі + 1;

в

ряду

чисел

1,2, ...,п зачеркива­

ем число «ь

полученную

последовательность

1,2,...,

«і—1, «1 + 1,...,я обозначим

Аі,

 

 

 

Шаг 2. Находим

а2

как

(аг+1) - е

по счету

(по по­

рядку)

число

последовательности

Л ь

затем

вычерки­

ваем число а2

из Лі

и получаем Л г;

 

 

Шаг і. Находим а* как (<ХгтИ)-е по счету число последовательности Л^ _ ь затем вычеркиваем а* из А^ и получаем Ас

Шаг п. ап =

Ап-\-

Пусть

индекс

искомой пере­

Рассмотрим

пример.

становки

равен

(3,6,0,2,0,2,0).

 

 

 

 

 

Тогда

в соответствии

с алгоритмом

имеем:

1)

а1 =

3 + 1 = 4

Л1 = 1,

2,

3,

5,

6,

7, 8

2)

« 2 = 8

 

Л 2 = 1 ,

2,

з,

5,

6,

7

3)

а 3

= 1

 

Л 3

= 2,

3,

5,

6,

7

 

4)

а 4

= 5

 

Л 4

= 2,

3,

6,

7

 

 

5)

« 5 = 2

 

л 5 = з , 6, 7

 

 

 

6)

а6 = 7

 

л 6 = з , 6

 

 

 

 

7)

« 7

= 3

 

 

 

 

 

 

 

 

8) а 8 = Л 7 = 6 Итак, я = (4,8,1,5,2,7,3,6).

Если перестановке я соответствует индекс (си, а2 ,. • •, (Хп-і), то это значит, что количество инверсий, обра-

7. Д . И . Голенко

97

зуемых

перестановкой я

относительно

перестановки

я0 ,

равно 2

сц .

 

 

 

 

 

Так

;

і

инверсий в перестановке

определяет

 

как

число

ее

расстояние до

нулевой

перестановки

и в

то же вре­

мя из любой окрестности перестановки яо соответствую­ щей перенумерацией объектов можно получить окрест­

ность любой

перестановки

я,

то справедливо

следую­

щее

утверждение:

 

 

 

 

 

 

Каждая г-окружность содержит столько перестано­

вок,

сколько существует

различных

представлений

чи-

ела г в виде суммы г=

і2

т,

(О^щ^пі)

с учетом

порядка

слагаемых.

Действительно, каждой

перестановке из г-окружно-

сти

взаимно-однозначно

соответствует индекс

(<хь

аг,

 

 

 

 

я - 1

щ = г, а

 

 

 

. . . , a n - i ) ,

для

которого

2

каждый такой

ин-

деке есть разложение числа г в сумму г= 2 a, ( 0 ^ i=i

^ a 2 - ^ n — t ) .

Будем обозначать через (г, q) количество разложе-

ний числа г

 

 

ч

а,

с учетом

порядка

слагаемых.

в сумму 2

 

 

 

 

i=\

 

 

 

 

 

Используя

стандартные

методы

комбинаторного

ана­

лиза, нетрудно доказать следующую теорему:

 

величину

(г, q)

можно

определить из рекуррентных

соотношений

 

 

 

 

 

 

 

 

(г,

q) = (r,

7 - І ) +

( г - 1 ,

q-l)

+ ...

+ (r-q,

q -

l ) -

или

 

 

 

 

 

 

 

 

 

(2.5.1)

(г,

g) = (r-l,

q) + {r, q-l)-(r-q-l,

 

q-l)-

 

(2.5.2)

с граничными

условиями

 

 

 

 

 

 

 

 

(0,7)

= 1,

 

(-r,q)=0

 

 

 

или

вычислить

по формуле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2.5.3)

 

 

 

а \

 

а{а-\)-(а-Ь+\)

 

 

Ь' ьГ~-

Как будет показано ниже, при реализации алгорит­ ма поиска с использованием инверсной метрики при­ дется вычислять некоторые из чисел (г, q). В зависи­ мости от параметров задачи и возможностей вычисли­ тельной машины можно по-разному пользоваться соот­ ношениями (2.5.1), (2.5.2), (2.5.3). Можно, например, каждый раз непосредственно вычислять числа (г, q), или предварительно составить таблицу некоторых зна­ чений (г, q), или вычислять их приближенно, пользуясь формулой (7.5.3.) и асимптотической формулой Стер­ линга.

Используя полученные выше свойства метрики, по­ строим алгоритм, позволяющий выбрать с равной ве­

роятностью векторы

перестановок

из

/^-окрестности

произвольного вектора

я = ( я ь

Я2,

. . . , я т ) .

Из опреде­

ления /^-окрестности вектора

следует,

что

случайный

вектор я* = (яг я{2, • • •, лЛп)

равномерно

распределен

в /^-окрестности вектора я тогда и только тогда, когда

каждая

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

я* равномерно распре­

делена

в

/^-окрестности

Л) — соответствующей

компо­

ненты

вектора я. Поэтому достаточно

указать

алго­

ритм равновероятной выборки

перестановок

из

R-OK-

рестности

произвольной

перестановки.

При

этом

мож­

но ограничиться /^-окрестностью нуля, так как любую

перестановку

я = ( а ь

а2,...,ап)

с

некоторой

ее R-OK-

рестностью можно

топологически

отобразить

в нуль с

его /^-окрестностью,

установив

соответствие:

 

 

Otj

 

н ( £ =1, 2,...,

п).

R

/--окружно­

/^-окрестность

перестановки состоит

из

 

 

 

 

 

 

 

 

стей (0<r^ZR),

а

r-окружность,

в

свою

очередь, со­

стоит из [г, п—1) перестановок; среди них содержит-

ся 2 (г, п—2) перестановок, индекс которых НаЧИНа-

г - І

ется с а г, в свою очередь, среди этих перестановок со-

R—а,—<х.2

(г, п—3) таких, индекс

которых имеет

на

держится 2

втором месте

«г, и т. д.; множество

перестановок,

ин­

дексы которых начинаются с чисел

щ, а 2 , . . . , а,,

со­

стоит из

 

 

 

Н- 2і а,- j = i

2 (r,n-i-\)

7*

99

Соседние файлы в папке книги из ГПНТБ