Файл: Цой, С. Синтез оптимальных сетей в системе управления горными предприятиями.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 — конец счета.