Файл: Цой, С. Синтез оптимальных сетей в системе управления горными предприятиями.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2024

Просмотров: 97

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

2.Ввести программу «Синтез оптимального сетевого графа при ограниченном объеме складируемых ресурсов».

Контрольная сумма — 7777 7777 7777.

3.Включить ключи 1 и 2, если нужны промежуточные результаты.

4.Занести в СчАК 1000.

5.Автомат, пуск!

6.Останов 2042 — конец счета.

При останове 1033 следует увеличить содержимое ячей­ ки 0023, в которой находится значение Ло в восьмеричной системе счисления.

Если нужно изменить шаг h, то, сделав останов по коман­ де 1053, необходимо занести в ячейку 0024 новое значение

^ Н О Е •

Далее пуск с адреса 1053.

§ 6. АЛГОРИТМ СИНТЕЗА СЕТЕВОГО ГРАФА ПРИ ПЕРЕМЕННЫХ ВО ВРЕМЕНИ УРОВНЯХ НЕСКЛАДИРУЕМЫХ РЕСУРСОВ

Метод синтеза сетевого графа при переменных уровнях нескладируемых ресурсов рассматривался в главе V. Для реализации этого метода на ЭВМ «Минск-22» разработаны алгоритм и стандартная программа. В основу разработанно­ го алгоритма положены стандартные процедуры, описанные в первом параграфе данной главы.

Программа состоит из двух частей: «Ввод, контроль, ком­ поновка» и счет.

Укрупненная блок-схема для программы счета представ­ лена на рисунке 6.12.

Описание блоков:

Б л о к 1. Ввод исходных данных, формирование рабо­ чих массивов, подготовка информации для расчетов (про­ грамма «Ввод, контроль, компоновка»).

Б л о к 2. Определение для каждой вершины макси­ мального пути до мажоранты на графе с полными контура­ ми.

Б л о к

3.

Вычисление и пересчет L Р-н для работ i.

Б л о к

4.

Нахождение для вершин полных контуров

путей максимальной длины: Lt— входящих и Lt*— выходя­ щих.

Бл о к 5. Выбор порядка следования для контурных ра­ бот, вычисление их ранних начал Lp H.

Бл о к 6. Анализ: все ли контуры просмотрены. Да — работает блок 7, нет — блок 3.

Бл о к 7. Сортировка массива ранних начал по увели­ чению значений LpH.

165


Б л о к

8.

Определение фронта работ F(tk).

 

 

Б л о к

9.

Выбор интенсивности использования ресур­

сов для работ фронта.

 

 

Б л о к

10.

Анализ: достаточно ли наличного уровня ре­

 

 

сурсов R(tk)

для

осу­

 

 

ществления всех

работ

 

 

фронта F(tk)

с макси­

 

 

мальной интенсивностью.

 

 

Да — работает

блок 11,

 

 

нет — блок 18.

 

 

 

 

 

 

Б л о к

11.

 

Вычисле­

 

 

 

ние

продолжительности

 

 

 

фронта © при макси­

 

 

 

мальной

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

 

 

 

тI =

рI

выполнения ра­

 

 

 

бот.

 

 

12.

 

Выдача

 

 

 

 

Б л о к

 

 

 

 

на

печать

результатов

 

 

 

расчета:

время

tk

на­

 

 

 

чала фронта F(tk) , про­

 

 

 

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

 

фронта

 

 

 

©й, интенсивность для

 

 

 

всех работ фронта.

 

 

 

 

 

Б л о к

13.

Определе­

 

 

 

ние

объема оставшейся

 

 

 

части работ.

 

Вычисле­

 

 

 

 

Б л о к

14.

 

 

 

 

ние

продолжительности

 

 

 

tt

оставшейся части ра­

 

 

 

бот

L Пересчет L Р-н.

 

 

 

 

 

Б л о к

15.

Анализ:

 

 

 

все

ли работы

законче­

 

 

 

ны.

Да — переходим

к

 

 

 

блоку

22,

нет — к блоку

 

 

 

16.

 

 

16.

Корректи­

 

 

 

 

Б л о к

 

 

 

ровка всех рабочих мас­

 

 

 

сивов.

 

17.

Анализ:

 

 

 

 

Б л о к

 

 

 

все

ли

работы

 

фронта

 

Рис. 6.12.

F(tk)

 

выполнялись

с

 

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

интенсив-

ностыо. Да — переходим к блоку 7, нет — к блоку 21.

 

Б л о к

18.

Вычисление резерва

времени

работ фронта.

Б л о к

19.

Определение

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

г*

для

работ

F(tk).

166


Б л о к 20. Выбор продолжительности фронта © при rt Ф

Ф$ 1 . Уход на блок 12.

Бл о к 21. Подготовка массивов к вычислению парамет­ ров для очередного фронта ^(^)при г£=7^=Рг на F(tk—i). Пере­ ход к блоку 7.

Описание программы «Синтез сетевого графа при переменных во времени уровнях нескладируемых

ресурсов»

Программа занимает в общей сложности 2000 восьмерич­ ных ячеек 0000— 1777 и использует все индексные ячейки 0001— 0017. Укрупненно в состав программы входят четыре блока, условное обозначение которых ABD, У, © и К.

Таблица 6.6

Условное

Занимаемое

Началь­

 

обозначение

кол-во ячеек ный адрес

Примечание

блока

в 8 с/с

в МОЗУ

 

A B D

1730

0047

Основной блок

Y

0150

0450

Блок «Упорядочение вершин»

0

1000

0440

Блок «Продолжительность фрон­

 

 

 

та»

к

440

1000

Блок «Контур»

Перед началом вычислений все указанные блоки необхо­ димо записать на магнитную ленту, поскольку в оператив­ ной памяти (МОЗУ) они занимают одно и то же место.

Расположение блоков в МОЗУ показано в таблице 6.6.

При счете блоки вызы­

 

Таблица 6 .7

ваются в МОЗУ

автомати­

 

чески. Блок ABD состоит в

Условное

Максималь­

 

 

 

свою

очередь из следую­

Начальное

щих блоков:

 

 

обозначение

ное кол-во

 

слово на

выбора

блока

слов в 8 с/с

 

А — алгоритм

 

 

 

 

МЛ

оптимальной

последова­

 

 

 

 

 

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

ра­

AB D

1730

1

3

014165

бот,

принадлежащих

пол­

Y

0150

1

3

016116

ному

контуру

(алгоритм

0

1000

1

3

016267

К

440

1

3

017267

В — алгоритм

синтеза

 

 

 

 

 

оптимального сетевого графа (алгоритм В) ;

 

 

 

D — алгоритм

синтеза оптимального сетевого графа при

переменных во времени уровнях нескладируемых ресурсов (блок D).

167


В таблице 6.7 показано расположение блоков на магнит­

ной ленте.

В программе используются различные рабочие массивы, которые хранятся на магнитной ленте. Первоначально эти массивы формируются из исходных данных в программе «Ввод, контроль, компоновка». В таблице 6.8 дана краткая характеристика всех этих массивов.

Условное обозна­ чение массива

D *

D * *

j y * * *

D k

D '

L по увеличению i j

L по увеличе­ нию j

L по уменыпению i

К

М

во

в

 

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

занимаемых ячеек

8 с/с

2000

2000

2000

2000

2000

5430

5430

5430

2000

2000

Таблица 6.8

Коды в массиве

±* , L f - K, i

±P i . V t

Примечание

Знак

«минус» признак фронта

F ( t k ) .

<х =

1 работа закончена, а =

= 0

работа не закончена

 

Знак

«минус» для

случая

r i > V i

± U . L *

 

 

M

1+

s*

+

*■

i

f

A t * k e ti

if Jy i'i

Знак «минус» для фиксации законченных работ, принадлежа­ щих полному контуру

Знак «минус» признак полного контура

Знак «минус» начало контура

f

признак фронта

k

признак полного контура

A t i

резерв времени i-й работы

i, j

номера вершин

iy Jf

i'i

 

Z, временная

оценка z-й

ра­

 

 

 

боты

 

 

i* Jt

 

 

 

 

 

7 , ik

 

 

Y — признак конца фронта

 

 

 

 

ih контурная вершина

 

L i* n

}

машинные

документы

для

tP - H

L i

l

алгоритма А

 

 

O,

i

J

 

 

 

 

 

Распределение памяти для указанных массивов в МОЗУ и на МЛ представлено в таблице 6.9.

При работе программы на печать в десятичной системе счисления выдаются результаты расчетов после анализа оче­ редного фронта F(ik):

168


1.-\— 1— |— 1— 1— j— |— 1— |— \~.

2.Номер фронта F(tk).

3.Момент начала фронта tk.

4.Продолжительность фронта 0.

5.Номер работы i.

6.Интенсивность используемых ресурсов г* для г-й рабо­

ты фронта. 7. Интервал.

 

 

 

Таблица 6.9

Условное обозначение

Начальный

Начальные слова

массива

адрес в

 

на МЛ

 

МОЗУ

 

 

 

D*

2000

1

3

100510

D**

4000

1

3

102510

Dh

6000

1

3

104510

15430

1

3

106510

D'

15430

1

3

110510

L по увеличению i, j

10000

1

3

114510

L по увеличению j

10000

1

3

122140

L по уменьшению i

10000

1

3

127570

L" по увеличению j

10000

1

3

135220

L" по уменьшению i

10000

1

3

142650

К

15430

1

3

112510

М

17400

1

3

const

0020

1

3

043700

Пункты 5 и 6 повторяются для всех работ фронта F(tk). Для последующих фронтов печатается аналогичная инфор­ мация (пункты 1— 7).

Инструкция работы за пультом

Перед тем как начать вычисления, на магнитной ленте следует записать все программы согласно таблице 6.7. Основ­ ная программа счета должна работать после того, как будут подготовлены на МЛ все рабочие массивы по программе «Ввод, контроль, компоновка».

1.Подготовить магнитную ленту 1— 3 к работе.

2.Включить печатающий механизм ТБПМ.

3.Считать с МЛ первый блок ABD.

4.Занести в СчАК 1440.

5.Пуск!

6.Останов СчАК 1661 — конец счета.