Файл: Цой, С. Синтез оптимальных сетей в системе управления горными предприятиями.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.10.2024
Просмотров: 101
Скачиваний: 0
23.Формирование количества кодов в массиве L ". Орга низация цикла для массивов L " и К.
24.Просмотр очередного кода ( ± 000, 000, U) в массиве
Ки анализ его на знак. При знаке «плюс» выполняется опе ратор 26, в противном случае — оператор 25.
25.Константа переадресации из индексной ячейки для
массива К записывается в рабочей ячейке Д + 0 . Эта кон станта покажет начало очередного полного контура в мас сиве К. Далее выполняется оператор 26.
26. В ячейку (/+£*) рабочего массива F приформировывается константа из Д-j-O. В результате всем вершинам одно го полного контура в ячейках (/+£*) массива F будет соот ветствовать одна и та же константа. Далее переходим к опе ратору 27.
27.Анализ на конец массива К. При полном просмотре кодов в К коды массива D*** будут зафиксированы в ячей ках массива F. В этом случае выполняется оператор 28.
28.Запись на МЛ кодов массива Z)*** из F.
29.Просмотр очередного кода (i*, j*, dj*) из массива L. Анализ на знак содержимого ячейки (/+7) из F. При знаке «плюс »выполняется оператор 30, в противном случае — опе ратор 31.
|
|
|
Таблица 6.1 |
|
|
Кол-во Кол-во |
|
|
|
Название массива |
ячеек в |
ячеек в |
Место в МОЗУ |
|
|
10 с/с* |
8 с/с |
|
|
Программа |
|
1345 |
0000 |
-1345 |
Массив полных контуров К |
|
700 |
1350 |
-2247 |
Рабочий массив F i |
1000 |
1750 |
2250 |
-4217 |
Рабочий массив F2 |
1000 |
1750 |
4220 |
-6167 |
L |
2500 |
4710 |
4220 |
-11130 |
Массив исходных данных |
с ко- |
|
|
|
дами (г, j, di) |
5000 |
11610 |
6170 |
-17777 |
Г |
3500 |
6650 |
11130 |
-17777 |
Массив циклов |
3500 |
6650 |
11130 |
-17777 |
V |
3500 |
6650 |
11130 |
-17777 |
1 |
1000 |
1750 |
2250-4220 |
* С/с — система счисления.
30. Анализ на конец массива L. Если все коды в L про смотрены, то это свидетельствует о том, что коды массива L' сформированы. В данном случае выполняется оператор 32, в противном случае — оператор 29.
31. Массив L " дополняется новыми кодами вида г*, у*,
Hdjk, где jk— вершины одного полного контура. Номера у*
Jk
154
отыскиваются в массиве К. Этот поиск осуществляется с по мощью вершины j*, соответствующей номеру ( /+ 7*)-й ячей ки, анализируемой в операторе 29. Если вершина j * входит в состав некоторого полного контура, то все коды (i*, J*,
2djk) формируются из вершин j k этого контура. Далее вы- / ft
полняется оператор 30.
32.Запись массива V
на МЛ. |
|
программы |
|
Таблица 6.2 |
|||||
Структура |
|
Место на МЛ — |
|||||||
«Ввод, контроль и компо |
Название массива |
||||||||
начальный Но |
|||||||||
новка». Программа занима |
|
мер слова |
|||||||
ет 1345 ячеек и использует |
|
|
|
||||||
индексные ячейки — 0001 4- |
|
|
|
||||||
4-0007, |
рабочие |
ячейки |
const |
2200 |
4760 |
||||
00104-0016, |
00404-0047. В |
£)** |
2200 |
5000 |
|||||
D* |
|||||||||
программу |
включены |
три |
2200 |
6750 |
|||||
L по увеличению j |
2201 |
0720 |
|||||||
стандартных блока: |
(07604- |
L по увеличению i |
2201 |
5624 |
|||||
1) |
сортировка |
L по уменьшению j |
2202 |
25*Ю |
|||||
4-1064); |
|
|
|
|
L по уменьшению i |
2204 |
0260 |
||
2) перевод |
целых чисел |
V |
2202 |
7434 |
|||||
К |
2204 |
5164 |
|||||||
из двоичной системы |
счис |
£)*** |
2203 |
6310 |
|||||
ления |
в |
|
десятичную |
|
|
|
|||
(11014-1121); |
|
|
|
|
|
|
|||
3) перевод целых чисел из десятичной системы в двоич |
|||||||||
ную (10654-1100); |
дополнение до контрольной суммы — |
7777 7777 7777 — программы находится в ячейке 1345. Распределение памяти МОЗУ дано в таблице 6.1, а рас
положение массивов на магнитной ленте ( р = 2, q = 2)— в таблице 6.2.
Инструкция по использованию программы «Ввод, контроль, компоновка»
Для использования программы необходимо подготовить исходные данные конкретного примера, как указывалось в первом параграфе.
1. Массив L с кодами
|
| |
U Л dt |
|
I |
dh Dt |
пробивается в десятичной |
системе и вводится в МОЗУ с |
|
ячейки 6170. |
|
|
2. |
Массив полных контуров К с кодами (± 0 , 0, i) проби |
вается в десятичной системе счисления и вводится в МОЗУ с ячейки 1350.
155
3. Все параметры задаются в десятичной системе счис ления в следующих ячейках:
0020 |
0021 |
0022 |
0023 |
0024 |
0025 |
0026 |
1 |
N |
К |
R q |
h |
io |
1 м |
Информация пробивается одним массивом в указанных ячейках между двумя границами и записывается в МОЗУ пе ред началом работы программы.
Инструкция работы за пультом
1.Подготовить к вводу исходные данные, поставить маг нитную ленту 2— 2, включить БПМ (узкая печать).
2.Ввести программу, контрольная сумма — 7777 7777
7777.
3.Ввести исходные данные.
4.Пуск 0100.
5.Останов 0752 — конец работы программы «Ввод, контроль, компоновка».
Таблица остановов.
Значение
СчАК
00160
00344
00725
|
|
|
|
|
|
|
|
Таблица |
6.3 |
|
|
Причина останова |
Действие оператора |
|
|||||||
Проверены входы и выходы |
Если на БПМ ничего не пе |
|||||||||
на графе |
|
|
|
чаталось, пуск дальше (160) |
||||||
|
|
|
|
|
При выдаче на БПМ сведе |
|||||
|
|
|
|
|
ний о существовании новой |
|||||
|
|
|
|
|
миноранты, |
мажоранты |
или |
|||
|
|
|
|
|
висячей |
вершины |
необходи |
|||
|
|
|
|
|
мо внести исправления в ис |
|||||
|
|
|
|
|
ходные |
данные |
и |
пустить |
||
|
|
|
|
|
программу сначала |
|
|
|||
В |
исходной |
информации |
В исходную |
информацию |
||||||
есть |
контуры |
(отличные от |
следует |
внести |
соответствую |
|||||
полных). |
Контур |
печатается щие исправления (разрушить |
||||||||
на БПМ |
|
|
|
контур) |
и |
пустить |
програм |
|||
|
|
|
|
|
му заново |
|
|
|
|
|
Перед началом или в конце |
Проверить правильность за |
|||||||||
полного |
контура |
пропущен |
дания массива К |
|
|
|
||||
знак «минус» |
|
|
Пустить программу заново |
Входе работы программы на БПМ выдается следующая информация:
1.3 --------------------------г. Знак «минус» означает пробелы.
Висходной информации пропущена вершина с номером L
2.1 ------- . . . — i.
156
Висходной информации кроме миноранты го есть вер шина с номером г, в которую не входит ни одна дуга.
3.2 ■. . — г.
Висходной информации кроме мажоранты гм имеется вершина с номером г, из которой не выходит ни одна дуга.
4.г!->-г2->-.. .->гi свидетельствует о наличии контура. Для того, чтобы выявить его на исходном графе, необходимо каж дый полный контур «сжать» в узел, т. е. рассматривать как одну вершину. Узлу-вершине присваивается новый номер, равный номеру вершины, стоящей в массиве К со знаком «минус». Это следует сделать только в том случае, если одна из вершин напечатанного контура входит в состав полного контура.
§5. АЛГОРИТМ СИНТЕЗА ОПТИМАЛЬНОГО СЕТЕВОГО ГРАФА ПРИ ОГРАНИЧЕННОМ ОБЪЕМЕ СКЛАДИРУЕМЫХ РЕСУРСОВ
Метод распределения складируемых ресурсов на сете вом графе с полными контурами рассматривался нами в четвертой главе. Для реализации изложенного метода на ЭВМ «Минск-22» разработан машинный алгоритм и состав лена стандартная программа.
Укрупненная блок-схема вычислительного процесса, на чиная с момента подготовки исходной информации и кон чая выдачей полученного решения на печать, представлена на рисунке 6.9. Ниже дается краткое описание блоков этой программы:
1.Ввод информации, перевод исходных данных в деся тичную систему счисления.
2.Формирование рабочих и промежуточных массивов,
запись их на МЛ.
3.Блок проверки правильности построения исходного
графа.
4.Анализ наличия на графе контуров, отличных от пол
ных.
5.Формирование массива полных контуров.
6.Упорядочение вершин на графе — присвоение верши нам графа новых порядковых номеров.
7.Запись на МЛ четырех рабочих массивов, рассортиро
ванных по увеличению номеров вершин i и j и уменьшению индексов i и j.
8. Формирование расширенного массива L", используе мого при расчете максимальных путей L * от г-й вершины графа до мажоранты.
9.Запись на МЛ параметров и констант.
10.Чтение с МЛ массива констант и рабочих массивов
сисходными данными. Вычисление верхней границы потреб
157
ления ресурсов на всех работах графа в предположении, что временные оценки всех работ равны максимальному значе нию ti= Dt. Суммарный объем расходуемых ресурсов под считываем по формуле
Z ( 0 > = 2 bi— aiDt. t
р
*
158
Анализ неравенства |
|
R0>Z(°\ |
(6.6) |
При соблюдении (6.6) выполняется блок 13, в противном |
|
случае — блок 11. |
значения Z (0) и пе |
11. Перевод в десятичную систему |
|
чать — задача решения не имеет. |
|
12.Останов.
13.Перезапись на МЛ расширенного массива L " и мас сивов L, рассортированных по увеличению г, уменьшению и увеличению j.
14.Печать номера очередной итерации. Определение ранних начал t?-H для работ L Вычисление для вершин k»
входящих в состав полного контура, максимального пути от миноранты го до k и от k-й вершины до мажоранты г n (алго ритм В).
15.Упорядочение работ в каждом полном контуре (ал горитм А), пересчет ранних начал для всех работ графа, по лученного в результате синтеза.
16.Печать промежуточных значений Ткр и подсчет сум марного объема расходуемых ресурсов Z (k).
17.Печать Z(k). Проверка неравенства
R0> Z ^ \ |
(6.7) |
При соблюдении (6.7) работает блок 18, в противном слу чае — блок 20.
18.Печать полученного решения.
19.Останов — решение найдено.
20.Вызов с МЛ промежуточных рабочих массивов; вы числение позднего окончания работ и полных резервов вре мени.
21.Анализ: все ли резервы времени использованы. Да — работает блок 26, нет — блок 22.
22.Увеличение продолжительности работ на величину резерва времени; определение нового значения Z(k)\ ана лиз на конец решения:
( 6. 8)
При выполнении неравенства (6.8) работает блок 25, в противном случае — блок 23.
23.Вычисление резервов времени работ сетевого графа.
24.Переход к блоку вычисления ранних начал и позд них окончаний работ. Пересчет резервов времени работ.
25.Корректировка временных оценок работ на резерн
15J