Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Кафедра 302
Проектирование АСОИУ
Конспект лекций для бакалавров
Москва
2014 г.
1
2
Лекция 1.
2
3
Лекция 2
1.2. Структуризация АС
7
8
9
10
10
11
11
12
13
14
14
15
15
16
16
17
17
18
18
19
19
20
21
22
22
23
Программа анализа сбоев включается либо схемно при выявлении сбоя методами ап-
паратного контроля, либо теми участками функциональных программ, на которых обнару-
жена ошибка или искажение информации. Она осуществляет регистрацию и накопление
данных обо всех выявленных искажениях вычислительного процесса и информации, выра-
батывает решения по ликвидации последствий или уменьшению ущерба от выявленного
искажения путем включения соответствующих программ или переключений в аппаратуре.
Кроме того, она ведет статистику проявляющихся искажений для обеспечения поиска час-
тичных отказов в аппаратуре и ошибок в программе в режиме профилактики и восстанов-
ления системы.
Программа анализа загрузки либо ведет учет холостого времени работы центрального
диспетчера, либо подсчитывает суммарное время работы по основным функциональным
программам и программам обмена информацией в течение некоторого наблюдательного
времени. В зависимости от текущей загрузки вычислительной системы устанавливается
темп включения программ контроля, других периодических программ, при необходимости
подготавливает решения на перестройку структуры вычислительной системы при переходе
значений загрузки через пороговые значения.
В процессе рабочего функционирования для контроля вычислительной системы мо-
гут включаться программы двух типов:
- программный диагностический тест контроля основных устройств системы без
изменения информации, накопленной в оперативной памяти при решении функциональ-
ных задач,
-программа контрольной задачи, имитирующая решения основных функциональных
задач по подготовленным и зафиксированным сообщениям с точным сравнением результа-
тов с известным эталоном.
Программы функционального контроля могут включаться:
1) при приеме сообщений функционального контроля внешних абонен-
тов и периодически для формирования сообщений, обеспечивающих
функциональный контроль аппаратуры внешних абонентов;
2) при выявлении систематических искажений в поступающей инфор-
мации для определения их источника.
23
24
24
25
26
27
27
28
цели, задачи, структуру и функции, правовой статус АСУ и всех ее структурных элементов,
регламентируют процессы создания и функционирования АСУ. Структура правового
обеспечения АСУ дана на рис. 1.19.
29
30
30
31
33
34
34
35
35
36
36
37
37
38
Министер- Стандарт,
ство, госу- руководя- Документы прямого действия, устанавливающие
III дарствен- щий доку- или конкретизирующие практику применения за-
ный коми-
тет, феде- мент, ин- конодательства и подзаконных актов по наиболее
ральное структив- важным аспектам создания АСОИУ, а также рег-
агентство ное письмо ламентирующие создание отраслевых систем
и т. д.
Отрасле-
Отрасле- вой стан- Документы прямого действия, дополняющие или
вое ведом-
IV дарт, ру- детализирующие практику применения документов
ство, хол-
динг, кор- ководящий государственного уровня в масштабе предприятий
порация документ, и организаций ведомственной подчиненности, а
приказ, ин- также регламентирующие создание ведомственных
структив- (корпоративных) АСОИУ
ное письмо
и т. д.
Документы, закрепляющие отношения между уча-
V Участники Договор- стниками создания конкретной АСОИУ и уста-
создания
ная доку- навливающие их права, обязанности и ответствен-
АСОИУ
ментация ность по отношению к предмету договора
Руковод- Приказ,
VI ство пред- распоря- Документы, распределяющие полномочия, обязан-
приятия-
жение, ин- ности, ответственность и ресурсы между работни-
участника
создания струкция ками, привлеченными к созданию АСОИУ
АСОИУ
42
43
44
45
45
46
Лекция 6
49
50
52
53
Лекция 7
56
57
57
58
документация».
рительный характер.
58
59
ее укрупненную структуру.
59
60
60
61
61
62
62
63
63
64
65
66
66
67
67
1
1
68
шифр подразделения сообщающего све- шифр документа
дения
2
2
шифр документа шифр подразделения, где доку-
3
мент обрабатывается
шифр показателя
4
3
шифр подразделения, где показатель ис- шифр подразделения – постав-
пользуется щика
4
шифр I-го показателя
шифр подразделения – получа-
шифр документа теля
шифр подразделения - поставщи- 5 шифры документов, при разра-
ка
ры вида действия
данный документ
7
9
8
ках)
9
10
количество экземпляров
шифр вида документа
11
трудоемкость составления
10
примечания
12
примечания
Приказ
Архив
1 составление Приказ
4
2 Выбор ис-
полнителя
Приказ
3 Ознакомление
План по План по
форме №1 форме №1
(рукопись) (рукопись)
План по 6 Просмотр 5 Составление
форме №1
(рукопись)
7 Просмотр Печать
плана
8 Печать
План по
форме
План по
форме №1 9 Проверка
10 Утверждение
69
70
70
71
71
72
73
74
74
75
75
76
p
Так как вся вновь созданная в подразделении p информация Vвых (t ) распределяется
между (n–1) подразделениями организации в соответствии с функциями pj (Vвых p
) , то мож-
но записать:
v pj (t ) pj (t , p ( X p (t ))) j 1, n (9)
Теперь можно определить структуру модели. Основные соотношения из (6), (7), (8) и
(9) следующие:
n
Vp (t ) w p (t ) v ip (t ) X p (t ), p 1, n (10)
i 1
V p (t0 ) V p( 0 ) , p 1, n (11)
v pj (t ) pj (t , p ( X p (t ))) , p, j 1, n (12)
где Wp(t) определяется формулой (1).
Будем считать заданными функции pj (Vвых (t )) (они определяется структурой и на-
значением подразделений организации) и функции p ( X p (t )) (они определяет общий объ-
ем выходной, т.е. созданной информации от количества обработанной входной информа-
ции).
Тогда для определения эндогенных (внутренних) n2+2n переменных модели, т.е.
функций
V p (t ) – объем необработанной информации в единицу времени в подразделении p ,
v pj (t ) – объемы информации, передаваемой от одного подразделения к другому,
X p (t ) – объем информации, обрабатываемой в единицу времени подразделением p ,
имеем n дифференциальных уравнений (10) и n 2 обычных уравнений (12).
Поскольку система уравнений (10) – (12) является неопределенной, то представляет
интерес постановка задачи как оптимизационной.
Пусть: X p (t ) – предельная пропускная способность подразделения p в момент вре-
мени t. Ее величина соответствует полной загрузке персонала и технических средств данно-
го подразделения; X p (t0 ) X p – предельная пропускная способность подразделения в
(0)
нимума совокупных затрат, может быть сведено к решению задачи математической теории
оптимального управления:
T n
{C
t 0 p 1
p ( X p (t )) K p (U p (t ))}dt min (13)
n
V p (t ) w p (t ) v ip (t ) X p (t ) , p 1, n (14)
i 1
V p (t 0 ) V p(0) , p 1, n (15)
v pj (t ) pj ( p ( X p (t ))) , p 1, n , j 1, n (16)
0 X p (t ) X p (t ) , p 1, n (17)
X p (t ) U p (t ) , p 1, n (18)
X p (t 0 ) X p( 0) , p 1, n (19)
0 V p (t ) V p (t ) , p 1, n (20)
Здесь Т – горизонт планирования, а V p (t ) – ограничения на величину «задолженно-
сти» подразделения р по обработке информации. Введение ограничений (20) необходимо
для обеспечения формального требования неотрицательной величины необработанной
информации, т.к. обработка информации «впрок» до ее получения невозможна. Ограниче-
ние сверху на Vp(t) объясняется требованием завершения обработки информации в срок по
всем цепочкам процессов ее преобразования.
Рассмотренный вариант модели соответствует полностью распределенной обработке
данных в организации, т.к. условиями (17) задаются ограничения на пропускные способно-
сти каждого подразделения, чем неявно предполагается возможность перераспределения
технических средств между ними. При централизованном варианте СОД условия (17)
должны быть заменены на:
n
X
p 1
h (t ) X (t ) , (21)
где X (t ) – мощность специализированного вычислительного подразделения (объем
информации, который может быть обработан ВЦ учреждения при максимальном уровне
загрузки средств вычислительной техники).
Кроме того, вместо системы функций X p (t ) , Up(t) должна рассматриваться лишь па-
ра функций X (t ) и U(t), где U(t) – прирост мощностей по обработке информации специали-
зированного вычислительного подразделения в момент времени t. При этом условия (18) и
(19) заменяются на:
X (t ) U (t ) , (22)
X (t0 ) X ,(0)
(23)
и требуют переопределения функции C p ( X ) и Kp(U).
Функционал (13) предполагает оптимизацию основных переменных по критерию
минимума совокупных затрат. Возможна другая постановка задачи, если в качестве крите-
77
78
рия эффективности СОД выбрать минимизацию времени, необходимого для выпуска ин-
формации по задачам заданного множества подразделений.
Введем множество Р΄ подразделений, выпускающих конечную информационную
продукцию. Тогда, если множество Р˝ Р΄ подразделения, которые должны обеспечить
наиболее оперативный выпуск информации, то функционал задачи принимает вид:
T
V
t0 PP
p (t )dt min (24)
C
p 1
p ( X p (t )) c(t ) (25)
K
p 1
p (U p (t )) k (t ) (26)
Лекция 7
80
81
82
83
83
84
84
85
85
86
честве инструментария для работы другого блока. На рис. 4.4.8 зажим, ис-
пользуемый для закрепления детали, должен быть собран для того, чтобы
выполнить сборку детали.
4) Обратные связи на вход и на управление применяются в случаях, ко-
гда зависимые блоки формируют обратные связи для управляющих ими бло-
ков. На рис. 4.4.9 получаемая от брокеров информация о текущих биржевых
курсах применяется для корректировки стратегии игры на бирже.
5) Стрелка выход – обратная связь на вход обычно применяется для описания циклов
повторной обработки чего-либо (рис. 4.4.10). Кроме того, связи выход – обратная связь на
вход могут применяться в случае, если бракованная продукция может заново использовать-
ся в качестве сырья, как это происходит, например, в процессе производства оконного стек-
ла, когда разбитое стекло перемалывается и переплавляется заново вместе с исходным
сырьем.
88
89
89
90
пользуетсядля
для управления уровнем детализации диаграмм. На рис. 4.4.12,
например, стрелка "корпоративная информационная система" – важный ме-
ханизм исполнения для данной диаграммы, но, возмож
возможно,
но, она более нигде не
используется в модели. Туннель в данном случае используется как альтерн
альтерна-
тива загромождению родительских диаграмм помещением на них несущес
несущест-
венных для их уровня стрелок.
91
92
92
93
95
96
96
97
97
98
98
99
Лекция 9.
100
101
101
102
Принять рекомен-
Принять Внести исправле-
исправл
дации рецензентов исправления ния
1.1
1.2
Рис. 4.4.19
4.19.. Связь типа «временное предшествование» между
действиями 1.1 и 1.2
Связь типа «объектный поток»поток».. Одна из наиболее часто встречаю-
встреча
щихся причин использования связи типа «объектный поток» заключается в
том,, что некоторый объект, являющийся результатом выполнения исходного
действия, необходим для выполнения конечного действия. Обозначение тта-
кой связи отличается от связи временного предшествования двойной стре стрел-
кой. Наименования потоковых связей должны четко и идентифицировать
дентифицировать объ-
об
ект, который передается q их помощью. Временная семантика объектных
связей аналогична связям предшествования, это означает, что порождающее
объектную связь исходное действие должно завершиться, прежде чем коне конеч-
ное действие может начать ввыполняться,
ыполняться, как показано на рис. 4.4.20. В при-
веденном примере счет на оплату услуг является результатом выполнения
действия 1.1.
103
104
104
105
В качестве примера рассмотрим еще одну временную шкалу для рис. 4.4.19
(рис. 4.4.25).
В случае, изобра
изображенном
женном на рис. 3.6.9, внесение исправлений будет на-
н
чато после получения первых замечаний, но закончится до того, как все зза-
мечания от рецензентов будут получены и обработаны.
Оба рассмотренных выше варианта временной альтернативной шкалы
могут иметь место, поэтому корректная интерпретация нечеткого отношения
должна быть документирована в модели. Важно отметить, что корректность
в этом случае означает именно интерпретацию, которая в точности отобр
отобра-
жает документируемую ситуацию, а не ее интерпретацию, более ээффектив-
ную для работы системы с точки зрения аналитика
Завершение одного действия может инициировать начало выполнения
сразу нескольких других действий или, наоборот, определенное действие
может требовать завершения нескольких других действий до начала сво
своего
выполнения. Соединения разбивают или соединяют внутренние потоки и ис-
пользуются для описания ветвления процесса:
• разворачивающие соединения используются для разбиения потока.
Завершение одного действия вызывает начало выполнения нескольких др
дру-
гих;
• сворачивающие соединения объединяют потоки. Завершение одного
или нескольких действий вызывает начало выполнения другого действия.
В табл. 4.4.4 объединены три типа соединений.
105
106
Рис.4.4.27. «И»--соединения
108
109
109
110
Рис. 4.4.326.
6. Диаграмма IDEF33 с комбинацией соединений
к каким-либо
либо важным аспектам модели.
110
111
111
112
IDEF3-диаграмма
диаграмма может быть построена на основании описания про- пр
цесса, выраженного в текстовом виде. В таком построении диаграммы пр при-
нимают участие ее автор – системный аналитик и один или несколько экс- эк
пертов предметной области, представившие описание процесса.
Для экспертов пред
предметной
метной области, подготавливающих описание мо- м
делируемого процесса, должны быть документированы границы моделир моделиро-
вания, чтобы им была понятна необходимая глубина и полнота требуемого от
них описания. Кроме того, если точка зрения аналитика на процесс отличае
отличает-
ся от точки зрения эксперта, это должно быть ясно и подробно обосновано.
Вполне возможно, что эксперты не смогут сделать приемлемое опис описа-
ние без их формального опроса автором модели. В таком случае автор до дол-
жен заранее подготовить перечень вопросов таким ж жее образом, как журна-
журн
лист для интервью.
Результатом работы экспертов обычно является текстовый документ,
описывающий интересующий аналитика круг вопросов. В дополнение к нему
может прилагаться письменная документация, позволяющая определить пр при-
роду изучаемого го процесса. Вне зависимости от того, является ли информация
текстовой или вербальной, она анализируется и разделяется частями речи для
идентификации списка действий (глаголы или отглагольные существител
существитель-
ные), составляющих процесс, и объектов (имена сущестсуществительных), участ-
вующих в процессе.
В некоторых случаях возможно создание графической модели процесса
при участии экспертов. Такая модель может быть разработана после сбора
всей необходимой информации, что позволяет не отнимать время экспертов
на детали формирования
рмирования получающихся диаграмм.
Поскольку модели IDEF33 могут одновременно разрабатываться не- н
сколькими командами, IDEF33 поддерживает простую схему резервирования
номеров действий в модели. Каждому аналитику выделяется уникальный
диапазон номеров действий; что обеспечивает их независимость друг от дру-др
га. В табл. 4.4.7 номера действий выделяются каждому аналитику большими
блоками. В этом примере аналитик 1 полностью использовал данный ему
вначале диапазон номеров и дополнительно получил второй.
112
113
113
114
115
116
116
117
Стрелки на DFD
DFD-диаграммах
диаграммах могут бытьразбиты (разветвлены) на час-
ча
ти, и при этом каждый получившийся сегмент может быть переименован тта-
ким образом, чтобы показать декомпозицию данных, переносимых конкре
конкрет-
ным потоком (рис. 4.44.41).
117
118
Рис.4.4.42.. Объединение п
потоков в один
118
119
120
121
121
122
122
123
123
124
Рис. 4.5.2.
Лекция 9
124
125
Рис. 4.5.3.
125
126
129
130
131
132
133
134
134
135
Рис. 4.5.4
Задача аналитика – прежде всего, выяснить, для чего нужна пользова-
телям новая система, и затем определить функциональные и качественные
требования, на основе которых менеджеры проекта смогут оценить, разра-
ботчики – спроектировать и создать, а специалисты по тестированию – про-
верить продукт.
Аналитик обязан:
1. Введение
1.1.Назначение
1.2.Соглашения, принятые в документах
1.3.Предполагаемая аудитория и рекомендации по чтению
1.4.Границы проекта
1.5.Ссылки
2. Общее описание
2.1.Общий взгляд на продукт
2.2.Особенности продукта
2.3.Классы и характеристики пользователей
2.4.Операционная среда
2.5.Ограничения дизайна и реализации
2.6.Документация для пользователей
2.7.Предположения и зависимости
3. Функции системы
3.х. Функция системы
3.х.1. Описание и приоритеты
3.х.2. Последовательности «воздействие - реакция»
3.х.3. Функциональные требования
4. Требования к внешнему интерфейсу
4.1.Интерфейсы пользователя
4.2.Интерфейсы оборудования
4.3.Интерфейсы ПО
4.4.Интерфейсы передачи информации
5. Другие нефункциональные требования
5.1.Требования к производительности
5.2.Требования к охране труда
5.3.Требования к безопасности
5.4.Атрибуты качества
136
137
6. Остальные требования
Приложение А. Словарь терминов
Приложение Б. Модели анализа
Приложение В. Список вопросов
Рис. 4.4.5. Шаблон для спецификации требований к ПО
6. Моделировать требования. Аналитик должен определить, полезно
или нет представлять требования нетекстовыми средствами, например, с по-
мощью разнообразных моделей графического анализа, таблиц, математиче-
ских уравнений и т.п.
7. Управлять проверкой требований. Аналитик должен гарантировать,
что формулировки требований отвечают всем характеристикам и что систе-
ма на основе этих требований устроит пользователей. Аналитики участвуют
в обзорах документов с требованиями. Им также следует изучить архитекту-
ру, код и варианты тестирования, спроектированные на основе спецификации
требований, и убедиться, что требования интерпретированы правильно.
8. Обеспечить расстановку приоритетов требований.
9. Управлять требованиями. Управление требованиями подразумевает
контроль над состоянием отдельных функциональных требований по мере
степени готовности продукта. Расспрашивая коллег, аналитик собирает ин-
формацию о связях требований, сопоставляет их с прочими элементами сис-
темы. Аналитик – ключевая фигура в управлении изменениями базовых тре-
бований, для этого он применяет средства контроля изменений.
Лекция 10.
4.5.5. Управление требованиями ПО
Рассмотрим упрощенную схему процесса управления требованиями.
Все действия по выявлению, анализу, спецификации и проверке требо-
ваний выполняются не последовательно и не за один проход. На практике
они выполняются попеременно, поэтапно и повторяются (Рисунок 1.4).
Этап «выявление требований» - работа с клиентами в качестве анали-
тика; клиентам задаются вопросы, выслушиваются ответы, ведутся наблюде-
ния за действиями клиентов.
Далее обрабатывается полученная информация, классифицируется по
различным категориям и соотносятся потребности клиентов с возможными
требованиями к ПО – это «анализ требований». Затем информация от клиен-
тов оформляется и вырабатываются требования в виде письменных докумен-
тов и диаграмм («спецификация»), представителям пользователей предлага-
ется подтвердить, что написанный текст точен и полон, они могут исправить
ошибки, если таковые есть («проверка»).
«Определение приоритетов реализации требований» – аналитики опре-
деляют на основе различных критериев степень важности каждого требования.
137
138
138
139
142
143
Таблица 4.6.1
Обес-
Номер
Формулировка цели печива-
цели
ет цели
Увеличить выпуск _________________ продук-
1 2и7
ции до 10 тыс. шт.
2 Повысить рентабельность производства –
3 Обеспечить ритмичность работы производства 2
4 Повысить обоснованность планов 3
5 Обеспечить выполнение заказов в срок 3
6 Упорядочить потребление материалов 2
7 Повысить качество продукции 2
143
144
1 g1 2 g2 3 g3 4 g4
5 6 7
g5 g6 g7
Матрица целей Ф0
цель
цель 1 2 3 4 5 6 7
1 1 1
2
3 1
4 1
5 1
6 1
7 1
Уровень 3, ранг 0
2
Уровень 2, ранг 1
3 7
Уровень 1, ранг 2
1 4 5 6
g1 : P1(P2+P7+P1)=1(3+2=1)=6 α1=0,13
g2 : P2P2=3∙3=9 α2=0,20
g3 : P3(P2+P3)=2(3+2)=10 α3=0,22
g4 : P4(P3+P4)=1(2+1)=3 α4=0,07
g5 : P5(P3+P5)=1(2+1)=3 α5=0,07
g6 : P6(P2+P6)=1(3+1)=4 α6=0,09
g7 : P7(P2+P7)=2(3+2)=10 α7=0,22
7 7 7
P ( J j js Pj Pj ) 45 1
j 1
j 1 s 1
Ф1) вида «цели - функции» Φ1. Она показывает, какие функции обеспечивают достижение
145
146
Цели (j)
Уровень
Функции (i) Уровень 3 Уровень 1
2 γi
2 3 7 1 4 5 6
1. Перспективное планирование 1 1 1 0,06
2. Текущее планирование 1 1 1 0,08
3. Подготовка производства 1 1 1 0,13
4. Диспетчеризация 1 1 1 1 0,10
5. Материально-техническое обеспечение 1 1 1 1 1 1 0,18
6. Планирование загрузки производствен-
1 1 1 1 1 1 1 0,17
ных мощностей
7. Планирование и учет труда и зарплаты 1 1 1 1 1 0,2
8. Бухучет и финансы 1 0,04
9. Статистический учет 1 0,04
4 6 3 5 6 6 3 1,0
i j
i j
ij j
Анализ этой матрицы может позволить определить важность задач. Для этого введем
коэффициент важности задачи k .
Коэффициент важности задач k определяют по формуле
ki i
k i
,
i k
ki i
147
148
~
задач по уровням p*, приведенным в верхней строке табл. M . При этом часть задач выдви-
гается на достаточно высокий уровень и становится равнозначной поставленным целям.
s
P i Pi* )
is s s
*
~
где νs = {α*i , μk}, δis – элементы матрицы M . Значения α*i приведены в таблице.
Если какая-то строка содержит лишь 0, это означает, что данная цель (задача) является
конечной (результирующей). Если же 0 содержит весь столбец, то соответствующую зада-
чу следует считать исходной. Нулевые строка и столбец одного и того же номера означают,
что данная задача одновременно и исходная, и результирующая, т.е. автономная. В этом
случае целесообразно более детально проанализировать ее содержание. Часто есть основа-
ние полагать, что задача надуманная и никому не нужна, редко – это некая особая цепь.
Сравнение состава задач с их распределением по подразделениям оргсистемы позво-
ляет выявить не решаемые задачи и установить, в какой мере квалификация и оплата ис-
полнителей совпадают с важностью решаемых ими задач.
Показатель α*i дает возможность выявить узловые задачи, решение которых имеет
наибольшее значение для успешного функционирования системы. В данном примере это
задачи а5 и а6.
После анализа матрицы цели – задачи можно переходить к построению матрицы Φ3
«задачи - информация». Ее анализ позволяет установить степень загруженности подразде-
лений, высказать рекомендации по их штатной численности, предпочтительной схеме рас-
пределения решаемых задач и целесообразном уровне автоматизации. Эта матрица форми-
руется следующим образом:
1) устанавливается информация, получаемая тем или иным функциональным или ли-
нейным подразделением;
149
150
Ps* 7 9 8 4 7 7 8 2 1 3 2 6 5 4 6 8 3
α; j; k 0,13 0,2 0,22 0,07 0,07 0,09 0,22 0,17 0,15 0,08 0,06 0,13 0,08 0,09 0,1 0,03 0,11
i s g1 g2 g3 g4 g5 g6 g7 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 αi
g1 1 1 2 0,097
g2 0 0,05
g3 1 1 0,089
Цели
g4 1 1 0,025
g5 1 1 0,049
g6 1 1 0,053
g7 1 1 0,089
a1 1 1 1 1 4 0,028
a2 1 1 1 1 1 1 1 1 1 1 1 1 12 0,028
a3 1 1 1 1 4 0,028
a4 1 1 1 1 1 1 1 7 0,036
a5 1 1 1 1 1 5 0,114
Задачи
a6 1 1 1 1 1 1 6 0,107
a7 1 1 1 1 1 5 0,057
a8 1 1 1 1 4 0,077
a9 1 1 0,051
a10 1 1 2 0,022
3 11 6 3 4 4 6 1 0 1 1 4 2 2 3 4 2
~
Рис. 4.6.2. Матрица смежности «Цели - задачи» M
150
151
g1 g2 g3
a10
g4
a9
g5
a8
g6
a7
g7
a6
a1
a5
a3
Рис. 4.6.3. Граф «Цели-задачи» a4 a2
151
152
152
153
Цели
Функции
Задачи
(виды) первич-
Информация
ная
153
154
Определение 3. Для каждой задачи из множества Lℓ+1 существует хотя бы одна зада-
ча, во множестве Lℓ, результаты решения которой использовались бы для решения Lℓ+1.
Из предложенных определений следует, что к первому классу L1 относятся все те за-
дачи, для решения которых достаточна первичная информация. Если результаты решения i-
й задачи используются при решении какой-либо задачи ℓ-го класса, а сама i-я задача реша-
ется только на основе первичной информации, а также результатов решения задач первого
класса, то она относится непосредственно к (ℓ-1)-му классу.
Итак, пусть заданы неупорядоченное множество задач L={Li} и информационные
связи между ними U={Uk}, образующие исходный граф G={L,U}. Ставится задача: упоря-
дочить множество L задач Z на подмножество классов, в которых задачи не связаны между
собой смежной информацией.
Для решения поставленной задачи зададим граф G={L,U} в виде матрицы смежности
H=(L,U) размерности n×m, у которой номера строк соответствуют номерам задач (верши-
нам), а номера столбцов – номерам дуг, показывающих информационную связь между за-
дачами. Значения элементов Sij матрицы H следующие:
1, если задача (вершина) Li есть начало дуги Uj
Sij= 2, если задача (вершина) Li есть конец дуги Uj
0, если задача Li не принадлежит дуге Uj
Анализируя эту матрицу, можно осуществить формирование классов задач. Алгоритм
такого анализа состоит в последовательном просмотре строк матрицы и выявлении таких
строк, которые содержат только 0 и 1. На очередном k-ом шаге все выявленные строки от-
вечают задачам k-го класса (k=1, 2, …). После поиска таких строк и их исключения из мат-
рицы вместе с соответствующими столбцами, где стояли единицы, переходят к следующе-
му (k+1)-му шагу и процесс повторяется до получения нулевой матрицы.
154
155
T={tj}, j=1,..k – множество, каждый элемент которого определяет время, требуемое для
решения j-й задачи;
F={fjs}, j=1,..,k; s=1,..,k – множество связей (дуг графа G) между задачами, причем ра-
венство индексов j=s допустимо, что соответствует связи каж-
дой вершины графа G с самой собой посредством дуги, назы-
ваемой петлей, изображение которой на графе, как правило,
опускается с целью упростить его схему;
W={wjs}, j=1,..k; s=1,..,k – множество весов соответствующих дуг графа G, соединяю-
щих его вершины; вследствие ограничения, сформулирован-
ного в п. 1) каждый элемент wjs множества W положим рав-
ным 1 (wjs=1),
причем таких сильных компонент, что
i : Gi≠0, Gi∩Gu=0, i,u=1,..,n; u≠i Gi =G
i
и обеспечивается условие:
Qопт → max
при ограничениях
v j V * (объем памяти процессора)
jGi
(2)
t
jGi
j Ti (время решения всех задач i-ым процессором) (3)
*
G1 ~ m1
ℓ1 v1 f31 G3 ~ m3
ℓ3
t
G2 ~ m2 f21 v3
f43 t
v2 f24
f15
t
ℓ2 v4 ℓ1 f36
f51 t
f64
v6 ℓ6
v5
ℓ5 f65 t
t
156
157
вершины в конденсации G*); дуга fiu* существует в конденсации G* тогда, когда в графе G
имеется такая дуга fjs, что вершина ℓj принадлежит сильной компоненте графа Gi, соответст-
вующей вершине mi в конденсации G*, а вершина ℓs – сильной компоненте графа Gu, отве-
чающей вершине mu в конденсации G*, т.е.
j G i ~ mi G * , а s Gu ~ m u G * .
Сильными компонентами графа Gi будем считать максимальные подграфы графа G,
обладающие заданным свойством. Поскольку в данном случае в качестве такого свойства
выступает сильная связность вершин графа G, его сильные компоненты будут представлять
собой подмножества (порожденные подграфы) взаимно связных вершин.
Требуется найти его сильные компоненты и построить конденсацию G*.
Эта процедура реализуется при использовании матриц достижимости RG и контрдос-
тижимости QG графа G.
Матрица достижимости RG=||rjs|| определяется следующим образом:
Начало
1. для j от 1 до k шаг 1 цикл А
2. сформировать множество S индексов s таких, что ajs=1;
3. Rj := Aj; k:=0;
4. пока S≠0 цикл В
5. выбрать sєS;
6. Rj:=Rj As;
7. S:=S\{s};
8. K:=K {s};
9. Сформировать множество Ss индексов r таких, что asr=1;
10. S:=S (Ss\K);
11. конец цикла В;
12. возврат Rj;
13. конец цикла А;
Конец
ℓ1 ℓ2 ℓ3 ℓ4 ℓ5 ℓ6
ℓ1 0 0 0 0 1 0
ℓ2 1 0 0 1 0 0
AG= ℓ3 1 0 0 0 0 1
ℓ4 0 0 1 0 0 0
ℓ5 1 0 0 0 0 0
ℓ6 0 0 0 1 1 0
ℓ1 ℓ2 ℓ3 ℓ4 ℓ5 ℓ6
ℓ1 1 0 0 0 1 0
ℓ2 1 1 1 1 1 1
RG= ℓ3 1 0 1 1 1 1
ℓ4 1 0 1 1 1 1
ℓ5 1 0 0 0 1 0
ℓ6 1 0 1 1 1 1
158
159
ℓ1 ℓ2 ℓ3 ℓ4 ℓ5 ℓ6
ℓ1 1 1 1 1 1 1
ℓ2 0 1 0 0 0 0
QG= ℓ3 0 1 1 1 0 1
ℓ4 0 1 1 1 0 1
ℓ5 1 1 1 1 1 1
ℓ6 0 1 1 1 0 1
При этом строка ℓj матрицы RG QG содержит единицы только в тех столбцах ℓs, для
которых выполняется условие: вершины ℓj и ℓs взаимно достижимы. В других местах стро-
ки стоят нули. Таким образом, две вершины графа G находятся в одной и той же сильной
компоненте тогда, когда соответствующие им строки (или столбцы) в матрице RG QG
идентичны.
Следующий шаг алгоритма – преобразование матрицы RG QG путем транспониро-
вания ее строк и столбцов в блочно-диагональную матрицу (RG QG)′, каждая из диаго-
нальных подматриц (блоков) которой соответствует сильной компоненте графа G и содер-
жит только единичные элементы, поскольку вершины, которым отвечают строки, имею-
щие единицу в столбце ℓs, образуют множество вершин сильной компоненты, содержащей
вершину ℓs. Все остальные блоки данной матрицы имеют нули. Для нашего примера име-
ем:
ℓ1 ℓ5 ℓ2 ℓ3 ℓ4 ℓ6
ℓ1 1 1 0 0 0 0
ℓ5 1 1 0 0 0 0
(RG QG)′= ℓ2 0 0 1 0 0 0
159
160
ℓ3 0 0 0 1 1 1
ℓ4 0 0 0 1 1 1
ℓ6 0 0 0 1 1 1
Анализ матрицы (RG QG)′ позволяет получить число n и состав подмножеств сильно
связных задач локального уровня АСУТП, решаемых каждое своим mi-м техническим эле-
ментом i=1,..,n. В данном примере в состав G входит три сильные компоненты, следова-
тельно, число однородных технических элементов, которые могут быть использованы для
построения оптимальной ТС локального уровня АСУТП, равно 3, т.е. имеем:
G Gi G1 G 2 G3 i 1, n n 3;
i
G1 0; G 2 0; G3 0; G1 G 2 G3 0, и при этом :
~ m 1 =G
G*
1 5 1
2 G 2 ~ m2 G *
3 4 6 G3 ~ m3 G * .
f * t 1*
21 f 31*
* *
v 1 v 1 m3
m2 * *
t 1 f *
23
t 1
160
161
m1 m2 m3
ℓ1 ℓ2 ℓ3 ℓ4 ℓ5 ℓ6
161
162
на одном своем техническом элементе, т.е. задачи разных сильных компонент решаются
параллельно, а в составе одной сильной компоненты – последовательно.
При этом следует иметь в виду следующее:
если каждая задача решается своим техническим элементом, то это дает возможность
параллельной обработки всех задач одного уровня ТС, что приводит к увеличению опера-
тивности обработки. Однако при этом возможна задержка при организации обмена между
элементами, т.е. имеют место их простаивания в ожидании исходной информации. Кроме
того, усложняются протоколы обмена, системные алгоритмы, модели и программы управ-
ления системой, заметно поднимается и стоимость такой системы.
если все задачи решаются одним элементом (одномашинная или однопроцессорная вы-
числительная система), то здесь имеется возможность внутреннего представления всех свя-
зей между задачами, что устраняет задержки обмена и простаивания технических элемен-
тов, ожидающих в качестве исходных данных для решения своей задачи, результатов ре-
шения других задач на других элементах. Однако здесь возможно появление задержки из-за
образующихся очередей задач на обслуживание, т.к. нет возможности для их параллельной
обработки.
Приведенные доводы свидетельствуют в пользу предлагаемого метода синтеза опти-
мальной ТС АСУТП, свободного от перечисленных недостатков.
Лекция 1
162
163
Пусть граф Г задан матрицей смежности ║dij║, причем dij=1, если существует инфор-
мационная дуга из задачи ai в задачу aj, и dij=0 в противном случае. Каждая дуга между эле-
ментами ai и aj характеризуется некоторым параметром ρij, который может быть и вектором.
Будем считать, что ρij=0, если dij=0.
Обозначим через Е={θ} – множество всех возможных разбиений множества А на
отдельные подмножества, т.е. каждое θ таково, что
L ( )
Θ=(А1θ, …, Аℓθ, …, АL(θ)θ), A A , Ai Aj 0 , i,j=1,..,L(θ), i≠j.
1
164
165
1 1
Информационные
2 2
3
3
чи)
4
4
А={a1, a2, …, aj, …, am} – множество задач, далее процедур системы обработки данных
R={r1, r2,…, rℓ,…, rL} – множество информационных элементов
165
166
yℓi=
m
0, если d j xij 0
j 1
При ограничениях:
1. На число выделяемых модулей M0≤M (2)
Каждая процедура хотя бы в одном модуле должна находиться:
M0
xi 1
ij 1, j=1,..,m (3)
3. Число процедур в одном модуле может быть ограничено некоторой величиной N:
m
xj 1
ij N , i=1,..,M0 (4)
4. Некоторые процедуры j и j` должны быть разнесены по разным модулям, т.е.
xij+xij`≤1 , i=1,..,M0 (5)
5. Число информационных элементов, с которыми связан модуль, может быть ограничено,
т.е.
L
y 1
i k , i=1,..,M0 (6)
6. Ограничения на сложность взаимодействия информационных элементов и процедур
внутри модулей, т.е.
L m
d 1 j 1
j xij G, i=1,..,M0 (7)
7. Ограничения на количество сложных связей между информационными элемента-
ми и некоторой парой i и i` модулей, т.е.
L
y 1
i y i R (8)
Задача (1)-(8) является задачей квадратичного целочисленного программирования.
Для удобства решения она может быть сведена к линейной форме путем линеариза-
ции выражений (1) и (8).
166
167
Введем переменную
1, если ℓ-й информационный элемент необходим для модулей Аi и Ai`
Zℓii`=
0, в противном случае
Тогда критерий (1) может быть записан так:
L M M
Z
1 i 1 i 1
ii min (9)
Ограничение (8) при этом будет иметь вид:
m
Z
1
ii R
Задача разбиения, представленная выражениями (9), (2)-(7), (10) имеет линейный вид
и может быть решена с использованием стандартных методов.
Рассмотрим следующий пример решения задачи разбиения программного и инфор-
мационного обеспечения АСОИУ на функциональные модули, имеющие минимальное
число информационных связей .
Пусть граф задачи содержит пять процедур и шесть информационных элементов (см.
рис. 4.5.2).
dℓ ar
1 1
Информационные элементы
2 2
Процедуры
3
3
4
4
5
5
167
168
Ar dℓ
1 2 3 4 5 6
1 + + + + +
2 + +
3 + + + +
4 + + +
5 + + +
Для каждого варианта разбиения определяем матрицы Xji и Yℓi и значение критерия S:
168
169
11
10 11
01
11
I. X Tji 01 ; Yi ; SI=5
01
01 11
01
11
11
10 11
10
11
II. X Tji 01 ; Yi ; SII=5
01
01 11
01
11
11
10 11
10
11
III. X Tji 10 ; Yi ; SIII=3
01
01 10
01
10
10
10 11
10
11
IY. X Tji 10 ; Yi ; SIV=3
11
10 10
01
10
L V V
По критерию S Yli Yli min оптимальным является IV вариант разбиения.
l 1 i 1 i i 1
169
170
170
171
f=1,..,F; F≤L; = 1, ⋯ , .
Для удобства получения выражения для целевой функции данной постановки задачи
введем еще переменные, которые являются связующими элементами между модулями и
информационными элементами.
1, × ≥ 1; = 1, ⋯ , ; = 1, ⋯ , ;
=
0, × = 0; = 1, ⋯ , ; = 1, ⋯ , .
з
1, × ≥ 1; = 1, ⋯ , ; = 1, ⋯ , ;
з
=
з
0, × = 0; = 1, ⋯ , ; = 1, ⋯ , .
з
Другими словами, = 1, если при выполнении i-го модуля, т.е. входящих в
него процедур обработки данных, требуется информационный элемент с номером ℓ, кото-
рый или считывается из соответствующего массива или в него записывается.
Для того, чтобы связать массивы, в которых содержатся соответствующие информа-
ционные элементы с теми процедурами, которые расположены в соответствующих моду-
з
лях, и которые требуются для этих процедур, введем еще две переменных и , кото-
рые определим следующим образом:
171
172
1, × ≥ 1;
=
0, × = 0.
з
1, × ≥ 1;
з
=
з
0, × = 0.
з з
min 1− , × + + .
,
172
173
x
j 1
ij M i , i 1, V , где M i - допустимое число процедур в i-ом модуле;
y
1
i Li , i 1, V ,
y
1 i 1 ii 1
i yi S ,
y
1
i yi S ii , для заданных i и i′,
x
i 1
ij 1, j 1, m ;
173
174
x
j 1
ij (1 xij 1 ) 1, i 1, V ;
z
f 1
f k , 1, L; k 1, K , где k - допустимая степень дублирования информаци-
z
1
f Nf; f 1, F , где N f - максимально допустимое число информационных
174
175
175
176
вом случае будем говорить, что модуль mv считывает элемент dℓ,а во втором – модуль mv
записывает элемент dℓ.
Связь между модулями и информационными элементами может быть задана в виде
двух матриц. Bс=║bvℓc║ и Bз=║ bvℓз ║, где bvℓc(bvℓз) равен единице, если ℓ-й информационный
элемент (ℓ=1,..,L) считывается (записывается) v-м модулем (v=1,..,V) и равен нулю в про-
тивном случае.
Обозначим через F возможное число информационных массивов, по которым рас-
пределяются информационные элементы. Очевидно, что F≤L.
Введем следующие булевы переменные:
L
1, если bvс xf 1;
1
z =
c
vf (1)
L
0, если bvс xf 0 ;
1
L
1, если bvз xf 1;
1
z =
з
vf (2)
L
0, если bvз xf 0 .
1
при ограничениях
176
177
x
1
f Nf ( f 1, F ) (общее число информацио нных
(4)
элементов в массиве )
L
x
f 1
f 1 ( 1, L ) (дублирован ие элементов
(6)
в разных массивах )
где zℓfс и zℓfз определяются выражениями (1) и (2);
Nf – ограничения на общее число информационных элементов в f-м массиве;
N~ - ограничения на длину записи в f-м массиве.
f
m1 m2 … mv … mV Модули
d1 d2 dℓ dL-1 dL Информационные
… …
элементы
b1 … bf … bF Массивы
m1 m2 … mv … mV
Двудольный
~
граф G
b1 … bf … bF
177
178
Таблица 5.4.2
Информационный элемент 1 2 3 4 5 6
Длина элемента, (КБ) 20 30 20 20 40 50
178
179
0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 2 1 0
В 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 1 .
0 0 0 1 1 1 0 0 1 0 0 0 0 0 1 1 1 1
Рис. 5.4.3.
Среднее число обменов системы программных модулей с внешней па-
мятью (базой данных) при размещении информационных элементов по мас-
сивам так, как показано на рис. 1, равно 100. Если, однако, в массив а1 по-
местить элементы d1 , d 2 , d 3 , в массив a2 - элементы d 4 , d 5 , а в массив a3 - эле-
мент d 6 , то среднее число обменов сократится до 90. Таким образом, имеет
место улучшение ранее составленного варианта размещения элементов по
массивам.
Рассматриваемая задача относится к классу задач нелинейного про-
граммирования с булевыми переменными.
Если число информационных элементов L относительно невелико, то
ее решение можно получить методом прямого перебора всех вариантов рас-
пределения информационных элементов по информационным массивам. Для
этого строят дерево вариантов по следующей схеме: первый информацион-
ный элемент помещают в первый информационный массив; второй – в пер-
179
180
вый массив или во второй; третий – в первый, второй или третий массив и
т.д.
Очевидно, что число слоев такого дерева равно L , а число вершин в
к ом слое ( к - номер информационного элемента) рано к ( к 1) .
После построения L -го слоя дерева вариантов для каждого из них про-
веряются условия (4), (5) и (6) и среди им удовлетворяющих выбирается ва-
риант с минимальным значением функционала (3).
При большом числе информационных элементов L более рациональ-
ным является использование метода «ветвей и границ».
Точная нижняя оценка множества решений RН достигается в том слу-
чае, если все информационные элементы распределены в один информаци-
онный массив. Учитывая, что каждый считываемый или записываемый ин-
формационный элемент, по крайней мере, один раз должен быть использован
хотя бы в одном программном модуле, то из выражения (3) непосредственно
следует, что для вычисления RН справедлива следующая формула:
V
RН 2 Qv . (7)
v 1
180
181
Fn c Fn
z vf 1, z vf 1;
c
Pvc f 1 f 1
Fn (11)
0,
f 1
z c
vf 1;
Fn з Fn
z vf 1, z vf 1;
з
Pvз f 1 f 1
Fn (12)
0,
f 1
z vf 1.
з
181
182
Рис. 5.4.4.
Точное решение этой задачи состоит в следующем: 1-й, 2-й и 3-й
информационные элементы помещают в 1-й информационный массив;
4-й и 5-й информационные элементы помещают во 2-й информацион-
ный массив; 6-й информационный элемент составляет 3-й информаци-
онный массив. Общее время считывания, поиска и передачи требуемых
данных при этом равно 90.
182
183
Лекция 2
184
185
0 I0 F 0
V
Cэобм C Pi niv qvi v yv xf mvfc tf(с) mvfз tf( з)
1 i1 v1 f 1 1
V F 0 (3)
( з)
0
с (c) з
C Qv v yv x f mvf t f mvf t f
1 v1 f 1 1
I0
Cэ С0 Pi niv qv v Pi niv qv mvfc vfс mvfз vfз (4)
V I0 V F
ФА i i
y 1,
v 1
v v 1,V (8)
на размещение массивов на различных носителях:
0 0
1
x 1,
1
f f 1, F (9)
y 1,
1
v для заданного υ (10)
F 0
x 1,
f 1 1
f для заданного υ. (11)
185
186
186
187
m
F 0 V
min
x vf L f x 1
f (15)
f
f 1 1 v 1
при ограничениях:
на объем оперативной памяти Dv, доступной для данного v-го модуля:
F 0
f 1 1
m vf x f Dv, v 1, V (16)
187
188
f F ( ) ; (2)
a A; (3)
188
189
где tij - время решения задачи с номером i , если она выполняется в узле с номером j .
В) Минимизация максимального времени решения задач АС.
I J
min max tij xij . (3)
i 1 j 1
Возможна оптимизация по более сложным критериям, включающим (1) – (3), а так-
же использование критериев такого общего типа, как получение максимальной прибыли,
обеспечение требуемого времени готовности системы и т.д.
В качестве ограничений в частных задачах синтеза могут выступать следующие ог-
раничения:
а) на связи между задачами, т.е. задан граф задач в виде матрицы
ii . (4)
б) на связи между узлами, т.е. задана матрица вида
jj (5)
в) на общие затраты на реализацию задач в АС
I J
W x
i 1 j 1
ij ij Wдоп (6)
г) на затраты на реализацию задач в узлах
I
W x
i 1
ij ij W jдоп , j 1, J , (7)
д) на загрузку каждого узла
I
t
i 1
ij ij ij x j , j 1, J , (8)
189
190
t x
i 1 j 1
ij ij T, (9)
ж) на время решения отдельных задач
J
t x
j 1
ij ij i , i 1, I . (10)
Рассмотрим теперь некоторые частные задачи синтеза оптимальной структуры АС.
a x
i 1 j 1
ij ij min (11)
при следующих ограничениях:
I J
a x
i 1 j 1
ij ij b j , j 1, J , (12)
J
190
191
Вершины второго уровня получают, фиксируя xij 1ij для j 1,2,, J при i 2 и
т. д. Д.ля каждой вершины находят оценку, вычисляемую по формуле
a a ij ij , (14)
i i* i i *
a
i 1 j 1
ij xij min (15)
при следующих ограничениях:
I J
b x
i 1 j 1
ij ij B, (16)
J
191
192
bij blj
i 1
b
i l 1
ij B, l 1, I , j 1, J , (18)
где bij - минимальный элемент в соответствующей строке;
blj - рассматриваемый элемент, j l .
Другими словами, каждая задача последовательно закрепляется за каждым из узлов
и проверяется выполнение условия (16) в лучшем случае.
Если условие (18) нарушается, то соответствующий элемент blj не входит в допус-
тимое решение и исключается из матрицы bij . Из матрицы aij исключается соответст-
вующий элемент aij .
Из условия (17) следует, что в каждой строке может быть только один элемент. По-
I J I J
этому min aij xij без учета выражения (14) равен min aij xij . Отсюда следует, что
i 1 j 1 i 1 j 1
если для элементов одновременно выполняются условия aij alj и bij blj , ( j l ) , то эти
элементы могут быть исключены из рассмотрения.
Хотя исключение элементов не всегда приводит к оптимальному решению, однако
объем вычислений резко сокращается.
Далее используется метод «ветвей и границ». В отличие от предыдущей задачи,
ветвление осуществляется с учетом ограничения (16), что существенно сокращает число
рассматриваемых вариантов. Оценка для каждой вершины находится по элементам матри-
цы (15) аналогично предыдущей задаче (14). Ограничение при этом имеет следующий вид:
b b ij ij В, (19)
i i* i i *
192
193
a x
i 1 j 1
ij ij min (20)
при следующих ограничениях:
I J
b x
i 1 j 1
ij ij B, (21)
I
c x
i 1
ij ij c j , j 1, J , (22)
J
Для решения этой задачи, прежде всего из матриц коэффициентов aij , bij , cij
исключаются элементы, которые заведомо не могут войти в оптимальное решение. Исклю-
чение элементов bij и cij из матриц систем (21) и (22) осуществляется аналогично тому, как
это делалось рассмотренному выше, т.е. исключаются все элементы, для которых не вы-
полняется условие (18). Оценка для матрицы коэффициентов (20) находится аналогично
оценке системы (14) в первой задаче.
Лекция 3
Пример 1. Этот пример рассматривается для того, чтобы показать, как осуществля-
ется процедура ветвления. Итак, пусть необходимо решить следующую задачу:
4 4
a x
i 1 j 1
ij ij min (24)
при следующих ограничениях:
4
i 1
xij 1, (25)
4
j 1
xij 1, (26)
193
194
8 5 6 4
5 3 2 2
aij . (28)
1 7 3 4
2 3 8 5
Условие (25) означает, что каждый узел может решать только одну задачу. Условие
(26) означает, что каждая задача может решаться только в одном узле.
Будем изображать множество вариантов кружками, в верхней части которых про-
ставлен номер множества, а в нижней – значение нижней границы (см. рис. 6.3.1).
Для вычисления нижней границы используется следующее соотношение:
a a ij ij , (29)
i i* i i *
Для исходного множества (обозначим его через «0») соотношение (29) имеет вид
4
по строкам и эти числа складываются. При этом условие (25) может нарушаться.
194
195
j a ij a ij
i i * i i*
1 8 +2+3+3 16
2 5 +2+1+2 10
3 6 +2+1+2 11
4 4 +2+1+2 9
j a ij a ij
i i * i i*
1 4+5 +3+3 15
2 4+3 +1+2 10
3 4+2 +1+2 9
Из таблицы 6.3.2 следует, что вторую задачу надо закрепить за третьим узлом.
j a ij a ij
i i * i i*
1 4+2+1 +3 10
2 4+2+7 +2 15
Из таблицы 6.3.3 следует, что третья задача должна быть закреплена за узлом номер
один. Тогда четвертая задача однозначно закрепляется за узлом номер два.
Окончательный ответ представлен в матрице следующего вида:
195
196
0 0 0 1
0 0 1 0
xij .
1 0 0 0
0 1 0 0
Значение целевой функции равно 10.
8 5 6 4
4
5 3 2 2
i 1
aij xij b j ; aij
1 7 3 4
;
2 3 8 5
4
x ij 1; xij 0,1; b j 3 1 5 3 .
i 1
196
197
b x
i 1 j
ij ij B; (31)
J
x
j 1
ij 1; (32)
b
i 1
ij 2 5 11 12 5 35 20 .
b
i 1
ij blj b
i l 1
ij B, l 1, I , j 1, J , (34)
197
198
4 1,5 2 3 4 14,5,
8 1,5 2 3 4 18,5,
Для l 4 :
7 1,5 2 3 4 17,5,
12 1,5 2 3 4 22,5.
1,5 2 3 4 4 14,5
1,5 2 3 4 9 19,5
Для = 5:
1,5 2 3 4 8 18,5
1,5 2 3 4 5 15,5
Легко видно, что для l 5 все элементы удовлетворяют условию (34).
Поскольку в каждой строчке может быть только один элемент и в обеих матрицах
aij и bij осуществляется минимизации, то, очевидно, что при одновременном выполне-
нии условий aij alj , bij blj , соответствующие элементы в матрицах aij и bij могут
198
199
- (3 и 7) и (1,5 и 3) – условие aij alj , bij blj выполняется и, следовательно, можно убрать
элементы и ;
- (2 и 4) и (2 и 9) - условие aij alj , bij blj снова выполняется и, следовательно, можно уб-
рать элементы = 4и = 9.
Таким образом, первая строка матрицы aij запишется как ( 3 – 2 - ), а последняя
строка как ( 7 - - 1).
После соответствующих упрощений матрицы aij и bij принимают следующий
вид:
3 2 1,5 2
4 1 2 5
aij 6 , bij 3
.
6 4
7
1 4 5
Из матрицы aij в каждой строке выбираем минимальные элементы и получаем
следующее решение:
0 0 1 0
0 0 1 0
xij 1 0 0 0 .
1 0 0 0
0 0 0 1
199
200
В свою очередь КТС выбирается для определенного круга решаемых задач с учетом огра-
ничений на ресурсы при его создании, а также с учетом того, что выбранные задачи долж-
ны, достаточно эффективно, выполнятся комплексом технических средств.
200
201
цию ℓ-го технического средства в j-м узле, K l - капитальные затраты на технические сред-
ства, – затраты на разработку и внедрение i-й задачи в k-м вариантеее реализации.
Напомню, что под термином «задача» понимается комплекс взаимосвязанных опе-
раций по обработке информации и принятию решений. Выбор этих задач может осуществ-
ляться, например, экспертным методом, о чем уже говорилось ранее. Также экспертным
методом может быть определена эффективность решения задач аikj и другие необходимые
для анализа данные.
Таким образом, задача состоит в максимизации эффекта от разрабатываемой струк-
туры АСОИУ, который определяется эффективностью решения задач управления в соот-
ветствующих узлах системы, т.е. зависит от выбора уровня и алгоритма решения задач
управления с учетом затрат на обмен информацией между задачами, решаемыми на раз-
личных уровнях, и затрат на эксплуатацию системы.
bikjik j xikj xik j clj x lj max , (1)
i ,k , j ,i,k , j l , j xikj , xlj
/
, , , = , = /, = /
где , , , /, /, / = − / ×
(2)
, , /, / ,
Величина , , , / , / , / равна эффективности решения k-го варианта i-й задачи в j-м узле, т.е.
′
aikj , если ikj=i′k′j′ и равна затратам на передачу информации из j-го узла в j-й в противном
случае.
В качестве ограничений здесь выступают следующие:
201
202
1) x
{k , j}
ikj 1 (i 1, I ) , (3)
т.е. каждая задача должна быть решена, причем только в одном каком-либо узле и только
одним каким-либо способом;
2) k
{ , j }
xj k ik xikj K ,
ikj
(4)
т.е. общие затраты на разработку АСУ, состоящие из стоимости на капитальные затраты на
технические средства и на разработку и внедрение задач не должны превышать заданной
величины K;
3) mik xikj m xj , ( j 1, J ), (5)
{i , k } { }
при ограничениях:
x
{k , j}
ikj 1 (i 1, I ) (7)
k
{i , k , j }
ik xikj K1 , где K1 K k xj
{ , j }
(8)
m
{i , k }
ik xikj m j , где m j m xj .
(9)
Задачу (6) - (9) можно свести к двухиндексной, если ввести переменную x fj . Взаимно
однозначное соответствие между множествами индексов {f} и {ik} устанавливается сле-
дующим соотношением:
= +∑ , где = 1, ⋯ , ; = 1, ⋯ , .
x
f bi
fj 1 (i 1, I ) (11)
202
203
k
{ f , j}
f x fj K1 (12)
m
{f}
f x fj m j , j 1, J (13)
203
204
204
205
i ti e i i ,
P(ti , i ) e (1)
где i - интенсивность проявления ошибки модуля с номером i , а i - интен-
сивность отладки модуля с номером i ; ti и i - время вычислений и отладки
модуля с номером i . Обычно i 1 / Ti , Ti начальное среднее время безоши-
бочной работы модуля с номером i ; i K i /( N ошиб
i
Ti ), K i коэффициент сжа-
тия времени отладки (тестирования) по сравнению со временем вычислений,
i
N ошиб первоначальное предполагаемое число ошибок в модуле с номером i .
([1] Mysa J. A theory of software reliability and its application.// IEEE Trans. On-
softwareEng., vol. SE-1, sept. 1975. – P.312-327.
[2] КузнецовВ.В, СмагинВ.А.
Прямаяиобратнаязадачинадёжностисложныхпрограммныхкомплексов.// На-
дёжность и контроль качества. – 1997. – № 10. – С. 56-62.)
Так как вершины стохастического графа с номерами 0 и M 1 - это
фиктивные вершины, то полагаем, что время нахождения в них равно нулю, а
вероятность безошибочной работы равна единице.
Введем понятие шага, подразумевая под ним единичный переход от
одного программного модуля к другому. Чтобы найти вероятности безоши-
бочной работы за два шага, нужно просуммировать с соответствующими ве-
роятностями произведения вероятностей по всем путям, содержащим две
вершины (одна из них нулевая). Это достигается возведением матрицы G в
квадрат. При возведении матрицы G в куб получаем вероятности безоши-
бочного функционирования за три шага и т.д.
Построим следующую матрицу T :
T I G (t ) G 2 (t ) I ( I G (t )) 1 , (2)
где I - единичная матрица.
Элемент матрицы T с номером (0, M 1) представляет собой выражение
для вероятности безошибочной работы всего программного комплекса с уче-
том всех возможных последовательностей вызовов отдельных программных
модулей.
В соответствии с правилами вычисления значений элементов обратной
матрицы, выражение для вероятности безошибочной работы программного
комплекса можно представит в следующем виде:
Q (t )
Y (t ) , (3)
R (t )
205
206
206
207
0 1 0 0 0 0 1 0 0 0
0 0 p12 P1 p13 P1 0 0 0 0,69307 0,29703 0
G (t ) 0 0 0 p23 P2 p24 P2 0 0 0 0,52164 0,34776 .
0 p31P3 0 0 p34 P3 0 0,59264 0 0 0,14816
0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 1 1 0 0 0
0 1 p12 P1 p13 P1 0 0 1 0,69307 0,29703 0
T 0
1
0 1 p23 P2
p24 P2 0 0 1 0,52164 0,34776 .
0 p31P3 0 1 p34 P3 0 0,59264 0 1 0,14816
0 0 0 0 1 0 0 0 0 1
207
208
F (t , , )
0, i 0,1,2,, M 1;
M 1
i
(8)
i зад 0.
i 0
208
209
209
210
Рис. 8.1.
8.2. Агрегированные модели распределения ресурсов РП между НИР и ОКР
211
212
Лекция 5
212
213
213
214
0, если t< 0,
Pt = t, если 0 t 1, (3)
1, если t> 1,
где t Pt 1 (U t/1 Dt/1 ) H t 1 ,
- величина, характеризующая старение научно-технического задела за
один плановый период;
- коэффициент, отражающий эффект расходования научно-технического
задела при выполнении одной ОКР;
- коэффициент, отражающий средний вклад одной НИР в создание науч-
но-технического задела.
Пусть на начале t - го планового периода создан задел, ха-
рактеризующийся величиной Pt, и, значит, для выполнения директивных
ОКР в этом периоде потребуется среднее количество ресурса, равное
Dt ( Pt rD/ (1 Pt ) rD// ) .
Будем считать, что директивные ОКР всегда можно выполнить даже при
полном отсутствии научно-технического задела. Тогда, возможно, еще оста-
нется неиспользованной часть ресурса Rt , которую можно направить или на
инициативные ОКР, или на НИР, или на те и другие вместе. Пусть в период
tвыполняются НИР в количестве H t (0 H t H t0 ) и, значит, остается неисполь-
зованным количество ресурса t:
t Rt Dt ( Pt rD/ (1 Pt ) rD// ) rH H t . (4)
214
215
Pj 1 ( Pj , H j ) Pj (U /j ( Pj , H j ) Pj D j ) H j . (15)
217
218
Рис. 8.2.
Считая, что число выполняемых в каждом периоде НИР известно (оно
обычно мало меняется от периода к периоду), задачу распределения ресурсов
между НИР и ОКР можно теперь сформулировать следующим образом:
T
Rt H t rt H
W max
H 1r1H ,..., H T rTH
t 1 f t k 1 ( H t k 1 rt H k 1 )
; (2)
0 H t rt H Rt , t 1, T (3)
1
0
r f k 1 ( H r ) B1 ;...; r f k ( H r ) Bk 1 ;
H
k R 1 k 1
0
(4)
k 1
H
1 1
rT 1 1 ;...; rT k 1 k 1 .
0 0
(5)
Максимизируемый функционал (2) представляет собой среднее коли-
чество ОКР, выполненных за Т периодов, где Т- рассматриваемый плановый
горизонт. В качестве управляемых переменных выступают затраты на НИР
H t rt H в периоды t=1,2, ..., Т. Условие (3) означает, что в любой период
tсуммарные затраты на НИР не могут превзойти ресурсные возможности
подразделения. Условие (4) означает, что известны затраты ресурсов на НИР
в периоды, отстоящие от исходного (t=l) на 1,2,..., (k+1) интервалов времени
назад. Наконец, условие (5) означает, что известны средние затраты ресурсов
на одну ОКР в периоды T+1, Т+2, T+k+1. Знание их необходимо для того,
чтобы ограничить нижний предел величины НtrtHдля t= T-k, ..., T. Из (2) не-
посредственно следует, что при отсутствии условий (5) значения НtrtHдля t
=T-k, …, Т, оптимизирующие (2), равны 0, т.е. в эти периоды не будут совсем
проводиться НИР.
Для заданного планового горизонта можно произвольно выбирать значения
218
219
НtrtH только для первых ( Т - k - 1) периодов, так как значения НtrtHдля осталь-
ных ( k+1) периодов определены условиями (5). Эти НtrtHизменяют значения
средних затрат на одну ОКР для последних (T - k - 1) периодов, так как значе-
ния средних затрат на одну ОКР для первых ( k+1) периодов определены усло-
виями (4). Поэтому задача (2)-(5) имеет нетривиальное решение только для Т
>k+1.
При построении рекуррентного соотношения используем метод математиче-
ской индукции. Для этого обозначим через t (rt01 ,..., rt0 k 1 ) максимально возмож-
ное среднее количество ОКР, которое можно выполнить за tпериодов при ус-
ловии, что в (t+ l), (t+ 2), …, (t + k+ 1) периодах будет создан научно-
технический задел, обеспечивающий возможность выполнения ОКР в эти пе-
риоды со средними затратами ресурсов, соответственно равными rt01 ,..., rt0 k 1 .
Очевидно, что для t=k+1 функция t (rt01 ,..., rt0 k 1 ) определяется следующим
образом:
R1 1 (rk0 2 ) R2 2 (rk03 ) R k 1 (r20k 2 )
k 1 (rk0 2 ,..., r20k 2 ) ... k 1 , (6)
B1 B2 Bk 1
где k+1(…) - функция, обратная (1).
Для t=k+2 эта функция имеет вид
R1 H1r1H R2 2 ( rk03 ) R k 1 ( r20k 2 )
k 2 ( rk03 ,..., r20k 3 ) max ... k 1
0 H r R11
H
1
B1 B 2 Bk 1
Rk 2 k 2 (r20k 3 )
. (7)
f1 ( H1r1H )
Сравнивая выражения (6) и (7), замечаем, что в них второе, третье и т.д.
до (k+1)-го слагаемые совпадают. Если в (6) положить rk0 2 f 1 ( H 1r1H ) , то и
первые слагаемые в (6) и (7) совпадут, так как 1 (rk 2 f 1 ( H 1 r1H )) H 1 .
Отсюда следует, что
Rk 2 k 2 (r20k 3 )
k 2 (r ,..., r
0
k 3
0
2k 3 ) max k 1 (rk 2 f 1 ( H 1 r1 ), rk 3 ,..., r2 k 2 )
H 0 0
.
0 H 1r1H R1
f 1 ( H 1 r1H )
(8)
Рассуждая аналогично, по методу математической индукции можно дока-
зать, что для любого t (k+1<t Т) справедливо следующее рекуррентное со-
отношение:
Rt t ( rt0 k 1 )
t ( rt01 ,..., rt0 k 1 ) max t 1 ( rt0 f t k 1 ( H t k 1rt Hk 1 ), rt01 ,..., rt0 k ) (9)
H
0 H t k 1rt k 1 Rt k 1
f t k 1 ( H t k 1rt Hk 1 )
Задачу (2) - (5) можно решить теперь следующим образом. Используя
формулу (6), вычисляем функции k 1 (rk0 2 ,..., r20k 2 ) для всех значений
219
220
0
rmin rk01 j rmax
0
, j 1,..., k 1 , определенных с заданной дискретностью. После
этого, используя формулу (8), а затем последовательно формулу (9), вычисля-
ем значения функций t (rt01 ,..., rt0 k 1 ) , полагая t=k+2,…,T-1,T. Для каждого на-
^ ^H
бора переменных (r ,..., r ) фиксируем значение H t k 1 r t k 1 , прикотором
0
t 1
0
t k 1
220
221
n
yiu yi0
u
K TY ai , (4)
i 1 i
где:
i - предельное отклонение i -го параметра, т.е. разность между наи-
большим и наименьшим значениями i -го параметра, взятыми по всей сово-
купности параметров изделий, включая и рассматриваемое изделие. Если
yiu y i0
y iu yi0 0, i 0 , то 0;
i
ai - весовой коэффициент, отражающий неравнозначность вклада от-
дельных параметров в оценку технического уровня изделия. Полагают, что
n
a
i 1
i 1.
222
223
где
n L
S ( ri l A) 2 , (9)
i 1 l 1
n L
1
A ril ;
n i 1 l 1
(10)
L – количество экспертов,
n – количество локальных критериев,
223
224
a l
i
ai l 1
, i 1, n . (11)
L
Формулы (11) предполагает, что все эксперты по своему уровню рав-
ноценны, т.е. их мнения равнозначны. Если это не так, т.е. среди экспертов
есть специалисты различной квалификации, то вместо формул (11) более це-
лесообразно применить формулы
L
a l
l
i
ai l 1
, i 1, n , (12)
L
где l - коэффициент, отражающий степень подготовленности эксперта с но-
L
мером l , (l 1, L) , причем
l 1
l 1. Для определения значений коэффициентов
l , (l 1, L ) можно применить методику, изложенную выше.
Полученные по формулам (11) или (12) весовые коэффициенты не от-
n
вечают условию нормировки, так как в общем случае a
i 1
i 1. Поэтому для
получения условия нормировки следует перейти от вектора A к требуемому
вектору параметров A (a1 , a2 , , an ) , вычислив значения компонент этого
вектора по формулам:
ai
ai n
, i 1, n . (13)
a
i 1
i
224
225
Лекция 6
K ( x ), x 0;
где (t , z1 , z 2 , , z N ) 0, x 0;
P ( x ), x 0,
225
226
N
x t (an zn ) - величина запаздывания или опережения заданного срока
n 1
выполнения разработки;
t - интервал времени между началом выполнения разработки и требуемым
(директивным) сроком ее завершения.
Задача состоит в том, чтобы при заданном t найти такие значения ве-
личин z1 , z2 , , z N , которые минимизировали бы ожидаемую стоимость вы-
полнения разработки.
Решение поставленной задачи можно найти, построив динамическую
оптимизационную модель.
Занумеруем все этапы разработки в обратном порядке, так что номер
N получит первый этап, номер ( N 1) - второй этап и т.д.
Пусть после завершения (n 1) -го этапа осталось t единиц времени до
установленного срока окончания разработки. Тогда величина
t (a1 a2 an ) - это время, которое можно потратить на устранение раз-
личного рода задержек в выполнении оставшихся этапов. Обозначим эту ве-
личину x n .
Перед началом выполнения n -го этапа величина x n может быть увели-
чена на 0 zn An , а в процессе выполнения за счет различных случайных
факторов уменьшена в среднем на величину d n . Поэтому соотношение меж-
ду величинами x n и xn1 может быть записано в следующем виде:
x n 1 xn z n d n , n 1, N . (2)
Очевидно, что при этих обозначениях величина x 0 равна неиспользо-
ванному резерву времени, если x0 0 , и нарушению срока выполнения разра-
ботки, если x0 0 .
Предположим, что осталось выполнить самый последний этап с номе-
ром 1 и пусть:
- x - величина резерва времени (возможно, и отрицательного);
- a1 - нормальная продолжительность выполнения этого этапа;
- d1 - величина, на которую в среднем удлиняется продолжительность
этапа за счет случайных факторов;
- z1 - выбираемая величина, на которую сокращается продолжитель-
ность выполнения этапа.
При этих обозначениях величина запаздывания или опережения задан-
ного срока выполнения разработки x 0 определяется, согласно формуле (2)
следующим образом:
226
227
x0 x a1 d1 z1 .
Найдем минимальные дополнительные затраты на выполнение данного
этапа при известном значении величины x . Они определяются величиной z1
и тем, какого значения при заданных величинах x, a1 , d1 достигла величина x 0 .
Эти затраты можно вычислить по следующей формуле:
f 1 ( x ) min C1 ( z1 ) ( x0 ) , (3)
0 Z1 A1
P ( x0 ), x0 0,
где ( x0 ) 0, x0 0,
K ( x ), x 0 0.
В фигурных скобках выражения (3) первое слагаемое – это затраты на
сокращение продолжительности выполнения этапа на величину z1 , причем
0 z1 A1 , где A1 - максимально возможное сокращение продолжительности
выполнения этого этапа. Второе слагаемое в фигурных скобках выражения
(3) – возможные потери за счет запаздывания срока выполнения разработки,
если x0 0 , или за счет слишком раннего ее окончания, если x0 0 .
Пусть теперь осталось выполнить два последних этапа, т.е. первый и
второй, причем перед их выполнением имеется резерв времени x , возможно,
и отрицательный. В этом случае величина запаздывания определяется сле-
дующим выражением:
x0 x a2 d 2 z2 a1 d1 z1 . (4)
0 Z 2 A2
2 2 1 1 1 1 1
0 Z 2 A2 0 Z1 A1
где y x a 2 d 2 z 2 .
Из выражений (6) и (3) следует, что выражение (6) можно записать в
следующем образом:
f 2 ( x ) min C 2 ( z 2 ) f 1 ( x a 2 d 2 z 2 ). (7)
0 Z 2 A2
227
228
228
229
229
230
x
i 1 j 1 t 1
ijt C ijt max (1)
при ограничениях по ресурсным возможностям К подразделений РП в пе-
риоды t=1,2, ..., Т:
230
231
( xij1rijk 1 xij2 rijk 2 ... xij1rijk1 ) Rk1 lk1 ylk1 kl1 y kl1 , k 1, K ;
i 1 j 1 l 1 l 3
(4.3.5)
для периода t=,…,Т
N n3 K K
( x
i 1 j 1
r
ijt ijk 1 xijt 1 rijk 2 ... x ijt 1 rijk ) Rkt lkt y lkt kt y klt , k 1, K ;
l 1
(6)
x
t 1 j 1
ijt 1, i 1, N . (8)
231
232
x
t 1
ijt 1,1 t i , i W . (9)
232
233
ni
Pi (q i0 ) max f ij (qij ) (15)
qi 1 , qi 2 ,...,qin i
j 1
q
i 1
ij qi0 (16)
bij qij
Обычно: f ij (qij ) f ij0 (1 e ) (17)
Для решения задачи (15)-( 16) воспользуемся методом динамического про-
граммирования.
Пусть Fik (q i0 ) – максимальная вероятность выполнения в срок k первых
работ i–й разработки при условии, что на нее выделено q i0 ресурсов.
k=1,2,…,ni :
Fi1 (q i0 ) max 0 f i1 (q i1 )
0 qi 1 qi
Fi 2 (q i0 ) max 0 f i 2 (q i 2 ) Fi1 (q i0 qi 2 )
0 qi 2 qi
…………………………………………
Fik (qi0 ) max0 f ik (qik ) Fik 1 (qi0 qik )
0 qik qi
(18)
…………………………………………
Fini (qi0 ) max0 f ini (qin ) Fini 1 (qi0 qin )
0 qin qi
После построения функций Fin (qi0 ) для всех i=1,2,…,m и разных значе-
i
При ограничении:
m
q
i 1
0
i Q (20)
233
234
Тогда имеем:
1 (Q ) max
0
P1 (qi0 )
0 qi Q
2 (Q ) max P (q ) (Q q )
2
0
2 1
0
2
0 q 20 Q
…………………………………….…..
l (Q) max
0
Pl (ql0 ) l 1 (Q ql0 )
0 ql Q
………………………………………...
m (Q) max
0
Pm (q m0 ) m1 (Q q m0 )
0 q m Q
ресурсы.
Для осуществления варианта необходимо, чтобы на каждом периоде
планирования существовало распределение взаимозаменяемых ресурсов
предприятия, удовлетворяющее запросы всех разработок этого варианта. Для
определения требований варианта по всем типам ресурсов на каждом перио-
де планирования просуммируем запросы всех ресурсов.
Для грубой оценки осуществимости варианта можно сравнить сумму
его запросов по типам ресурсов на каждом плановом периоде t 1, T с сум-
мой запасов всех ресурсов предприятия на этом периоде.
Рассмотрим более детально распределение ресурсов на некотором пе-
риоде планирования t 1, T . Пусть имеется всего K типов ресурсов; Ak - сум-
марный запрос всех тем варианта n (1 n N 1 ) на использование k - го типа
ресурса ( k 1, K ) ; Bl - величина запасов предприятия по l му типу ресурсов
l 1, K ; xlk - объемы l -го типа ресурсов, идущие на удовлетворение потреб-
ностей варианта в ресурсах k - го типа; Clk - затраты на использование l го
типа ресурсов вместо k - го типа; Elk - эффективность замены k - го типа ре-
сурса l м типом, т.е. количество k - го типа ресурса, эквивалентное единице
l го типа ресурса.
При этих обозначениях задача распределения ресурсов состоит в оты-
скании неотрицательных значений переменных xlk , обеспечивающих мини-
мальные затраты на реализацию варианта при следующих условиях:
- удовлетворение запросов варианта по всем типам ресурсов, т.е.
K
x
l 1
lk E lk Ak , k 1, K ; (1)
x
k 1
lk Bl , l 1, K . (2)
C
k 1 l 1
lk x lk min . (4)
235
236
236
237
Лекция 7
8.5. Модели оперативного управления разработками
237
238