Файл: Вдовин Суркова Валентинов Теория систем и системный анализ.pdf
Добавлен: 12.02.2019
Просмотров: 22651
Скачиваний: 340
500
501
Основные процессы, работы( мероприятия) и события, учи-
тываемые в модели.
Процессы: поступление заявок (транзактов) в систему
массового обслуживания; принятие решения на обслуживание
заявок (транзактов); распределение заявок (транзактов) по
каналам обслуживания; обслуживание заявок (транзактов);
формирование потока заявок (транзактов), покинувщих систему
массового обслуживания необслуженными; формирование по-
тока заявок (транзактов), покинувщих систему массового обслу-
живания обслуженными; оценка качества обслуживания заявок
(транзактотов); принятие решений и проведение мероприятий
по повышению качества обслуживания.
Мероприятия (работы): принимается решение на обслу-
живание очередной заявки (транзакта); обслуживается очеред-
ная заявка (транзакт), поступившая в систему; принимается
решение на формирование очереди заявок (транзактов); рас-
считываются показатели качества обслуживания.
События: заявка (транзакт) поступила в систему; принято
решение на обслуживание заявки (транзакта); заявка (транзакт)
принята к обслуживанию; заявка (транзакт) обслужена; обслу-
женная заявка покинула систему; заявке (транзакту) отказано в
обслуживании; необслуженная заявка покинула систему; поток
заявок (транзактов), покинувших систему необслуженными,
сформирован; поток заявок (транзактов), покинувших систе-
му обслуженными, сформирован; очередь заявок (транзактов)
сформирована; все заявки (транзакты), поступившие в систему,
обслужены; входящий поток заявок (транзактов) исчерпан;
время моделирования соответствует заданному; количество
реализаций равно заданному.
Разрабатываются графики расписаний
1. Процессов (процессные схемы). На графике указать:
условный номер и наименование процесса; содержание процесса;
основные этапы процесса; время начала и окончания процесса,
а также его этапов; взаимосвязь процессов и их этапов.
2. Мероприятий (работ). На графике указать: условный
номер и наименование мероприятия (работы); содержание ме-
роприятия (работы); основные этапы мероприятия (работы);
время начала и окончания мероприятия (работы) , а также его
этапов; взаимосвязь мероприятий (работ) и их этапов; ресурсы
на выполнение мероприятия (работы).
3. Событий. На графике указать: условный номер и наи-
менование события; характер события (детерминированные,
случайные).
Алгоритм моделирования системы массового обслуживания
1. Формируется входящий случайный поток заявок (тран-
зактов).
2. Формируется случайный поток обслуживаний заявок.
3. Выполняется моделирование времени.
4. Организуется цикл по номеру подсистемы (каналу) об-
служивания заявки.
5. Организуется цикл по операции обслуживания.
6. Организуется цикл по номеру заявки (транзакта).
7. Проверяются условия, характеризующие динамику об-
служивания заявок (транзактов). В результате формируется
массив МАССОСТ(I,J,K), где I — индекс фиксирующий текущее
время; J — индекс, фиксирующий номер заявки; K — индекс,
фиксирующий состояние заявки (К=1 — заявка не обслужена,
К=2 — заявка обслужена, К=3 — заявка принята к обслужи-
ванию, К=4 — заявка снята с обслуживания, К=5 — заявка
обслуживается.
Программа для моделирования системы массового обслу-
живания разрабатывается на листе “Еxcel” (рис. 3.43). Макрос-
VBA. Запуск программы осуществляется путем нажатия кнопки
“Выполнить моделирование”.
Программный код для моделирования системы массового
обслуживания имеет вид
Public Sub СМО()
Dim Skan() As Double, ResS() As Double, Res() As Double, THO()
As Double, i As Integer, ns As Integer, m As Integer, k As Integer
Dim l As Integer, nt As Integer, i1 As Integer, ks As Integer, t As
Double, tmax As Double, CLS As Double, ss As Double
500
501
Основные процессы, работы( мероприятия) и события, учи-
тываемые в модели.
Процессы: поступление заявок (транзактов) в систему
массового обслуживания; принятие решения на обслуживание
заявок (транзактов); распределение заявок (транзактов) по
каналам обслуживания; обслуживание заявок (транзактов);
формирование потока заявок (транзактов), покинувщих систему
массового обслуживания необслуженными; формирование по-
тока заявок (транзактов), покинувщих систему массового обслу-
живания обслуженными; оценка качества обслуживания заявок
(транзактотов); принятие решений и проведение мероприятий
по повышению качества обслуживания.
Мероприятия (работы): принимается решение на обслу-
живание очередной заявки (транзакта); обслуживается очеред-
ная заявка (транзакт), поступившая в систему; принимается
решение на формирование очереди заявок (транзактов); рас-
считываются показатели качества обслуживания.
События: заявка (транзакт) поступила в систему; принято
решение на обслуживание заявки (транзакта); заявка (транзакт)
принята к обслуживанию; заявка (транзакт) обслужена; обслу-
женная заявка покинула систему; заявке (транзакту) отказано в
обслуживании; необслуженная заявка покинула систему; поток
заявок (транзактов), покинувших систему необслуженными,
сформирован; поток заявок (транзактов), покинувших систе-
му обслуженными, сформирован; очередь заявок (транзактов)
сформирована; все заявки (транзакты), поступившие в систему,
обслужены; входящий поток заявок (транзактов) исчерпан;
время моделирования соответствует заданному; количество
реализаций равно заданному.
Разрабатываются графики расписаний
1. Процессов (процессные схемы). На графике указать:
условный номер и наименование процесса; содержание процесса;
основные этапы процесса; время начала и окончания процесса,
а также его этапов; взаимосвязь процессов и их этапов.
2. Мероприятий (работ). На графике указать: условный
номер и наименование мероприятия (работы); содержание ме-
роприятия (работы); основные этапы мероприятия (работы);
время начала и окончания мероприятия (работы) , а также его
этапов; взаимосвязь мероприятий (работ) и их этапов; ресурсы
на выполнение мероприятия (работы).
3. Событий. На графике указать: условный номер и наи-
менование события; характер события (детерминированные,
случайные).
Алгоритм моделирования системы массового обслуживания
1. Формируется входящий случайный поток заявок (тран-
зактов).
2. Формируется случайный поток обслуживаний заявок.
3. Выполняется моделирование времени.
4. Организуется цикл по номеру подсистемы (каналу) об-
служивания заявки.
5. Организуется цикл по операции обслуживания.
6. Организуется цикл по номеру заявки (транзакта).
7. Проверяются условия, характеризующие динамику об-
служивания заявок (транзактов). В результате формируется
массив МАССОСТ(I,J,K), где I — индекс фиксирующий текущее
время; J — индекс, фиксирующий номер заявки; K — индекс,
фиксирующий состояние заявки (К=1 — заявка не обслужена,
К=2 — заявка обслужена, К=3 — заявка принята к обслужи-
ванию, К=4 — заявка снята с обслуживания, К=5 — заявка
обслуживается.
Программа для моделирования системы массового обслу-
живания разрабатывается на листе “Еxcel” (рис. 3.43). Макрос-
VBA. Запуск программы осуществляется путем нажатия кнопки
“Выполнить моделирование”.
Программный код для моделирования системы массового
обслуживания имеет вид
Public Sub СМО()
Dim Skan() As Double, ResS() As Double, Res() As Double, THO()
As Double, i As Integer, ns As Integer, m As Integer, k As Integer
Dim l As Integer, nt As Integer, i1 As Integer, ks As Integer, t As
Double, tmax As Double, CLS As Double, ss As Double
502
503
n = Лист1.Cells(2, 18)
nob = Лист1.Cells(13, 13)
m = Лист1.Cells(13, 1)
РобS = 0
For i = 1 To n ‘Цикл по номеру реализации
Лист1.Cells(3, 18) = i
Randomize
CLS = Int((10000) * Rnd) / 10000’Моделирование случайного
числа
Тобсл = 0: Тзак = 0
For j = 1 To m ‘Цикл по номеру канала поступления заявки
ns = Лист1.Cells(13, 2)
Лист1.Cells(4, 18) = j
ReDim Res(ns), Skan(nob), ResS(ns), THO(1 To ns)
For l = 1 To ns ‘Цикл по номеру заявки
Лист1.Cells(5, 18) = l
tcr = Лист1.Cells(12 + 3 * j - 2, 5)
Randomize
scr = Лист1.Cells(12 + 3 * j - 2, 6)
CLS1 = Int((10000) * Rnd) / 10000’Моделирование случайного
числа
dt = tcr + scr * CLS1
Тзак = Тзак + dt ‘Последовательность моментов времени в
которые заявка поступает в систему
ResS(l) = Тзак
Next l
Next j
tmax = Лист1.Cells(35, 18) * 60: dtt = Лист1.Cells(36, 18) * 60:
: k = 0: t = 0:
Do ‘Цикл по номеру операции обслуживания
k = k + 1: t = t + dtt
tобс = Лист1.Cells(13, 15): sобс = Лист1.Cells(13, 16)
Randomize
CLS2 = Int((10000) * Rnd) / 10000’Моделирование случайного
числа
Рис. 3.43. Лист Excel для моделирования системы массового обслуживания
150
502
503
n = Лист1.Cells(2, 18)
nob = Лист1.Cells(13, 13)
m = Лист1.Cells(13, 1)
РобS = 0
For i = 1 To n ‘Цикл по номеру реализации
Лист1.Cells(3, 18) = i
Randomize
CLS = Int((10000) * Rnd) / 10000’Моделирование случайного
числа
Тобсл = 0: Тзак = 0
For j = 1 To m ‘Цикл по номеру канала поступления заявки
ns = Лист1.Cells(13, 2)
Лист1.Cells(4, 18) = j
ReDim Res(ns), Skan(nob), ResS(ns), THO(1 To ns)
For l = 1 To ns ‘Цикл по номеру заявки
Лист1.Cells(5, 18) = l
tcr = Лист1.Cells(12 + 3 * j - 2, 5)
Randomize
scr = Лист1.Cells(12 + 3 * j - 2, 6)
CLS1 = Int((10000) * Rnd) / 10000’Моделирование случайного
числа
dt = tcr + scr * CLS1
Тзак = Тзак + dt ‘Последовательность моментов времени в
которые заявка поступает в систему
ResS(l) = Тзак
Next l
Next j
tmax = Лист1.Cells(35, 18) * 60: dtt = Лист1.Cells(36, 18) * 60:
: k = 0: t = 0:
Do ‘Цикл по номеру операции обслуживания
k = k + 1: t = t + dtt
tобс = Лист1.Cells(13, 15): sобс = Лист1.Cells(13, 16)
Randomize
CLS2 = Int((10000) * Rnd) / 10000’Моделирование случайного
числа
Рис. 3.43.
Лист Excel для моделирования системы массового обслуживания
150
504
505
dtob = tобс + sобс * CLS2
Тобсл = Тобсл + dtob ‘Последовательность моментов времени
начала и окончания обслуживания(И.СЛ)
Res(k) = Тобсл
Loop While Тобсл < tmax
tтек = 0: l2 = 0: SSum = 0: kt = 0: ks = 0: nt = tmax / dtt
For i1 = 1 To nt
kt = kt + 1: tтек = tтек + dtt
Do ‘ Номер “цикла” операции обслуживания
ks = ks + 1: РобЗ = 0: Тобсл = Res(ks)
ТначО = THO(ks): Real = 0
For l = 1 To ns ‘Цикл по номеру заявки, поступающей в систем
Тзак = ResS(l)
Тмакс = Тзак + (Тобсл - ТначО)
If Тмакс > tmax * 60 Or Тобсл >= tmax * 60 Then Exit Do
If ТначО <= Тзак And Тзак < Тобсл Then
Real = Real + 1 ‘Количество заявок поступивших в систему за
Тобсл
Else
Real = Real + 0
End If
Next l
Loop While Тобсл < tmax
Next i1
Лист1.Cells(33, 18) = l2
Лист1.Cells(32, 18) = SSum
РобS = РобS + Роб
Next i
Робсл = РобS / n
For i = 1 To l2
Лист1.Cells(37, i) = THO(i)
Лист1.Cells(39, i) = ResS(i)
Лист1.Cells(38, i) = Res(i)
Next i
End Sub
14.7.3. Имитационное моделирование финансовых операций для
управления финансовыми рисками
В общем случае задача моделирования может быть сформу-
лирована следующим образом. Разработан проект. На результат
реализации проекта оказывает влияние группа факторов, имею-
щих преимущественно случайный характер. Вследствие этого
факт реализации проекта сопряжен с определенным риском.
Для оценки величины риска необходимо разработать имитаци-
онную модель.
Варианты построения моделей оценки финансовых опера-
ций в условиях риска рассмотрим на примерах.
Имитационная модель оценки рисков при реализации
торгово-закупочного мероприятия
Пример. С целью реконструкции одного из цехов пред-
приятия по оказанию услуг населению организуется торгово-
закупочное мероприятие по закупке материалов, запасных ча-
стей и оборудования. При этом контракт на поставки может быть
заключен с тремя фирмами. События по заключению контракта
образуют полную группу и могут произойти с вероятностями 0,3,
0,5 и 0,2. Если контракт заключается с первой фирмой, то обе-
спечивается 20% продукции высшего качества, 50% — хорошего
и 30% — удовлетворительного качества (градация условна). При
заключении контракта со второй фирмой — 40, 30 и 30%, а с
третьей — 20, 60 и 20% соответственно. Материалам, запасным
частям и оборудованию различного качества соответствуют раз-
личные сроки их безотказной эксплуатации (табл. 3.26)
Таблица 3.26
Характеристики
параметров
Отличное
Хорошее
Удовлетвори-
тельное
Среднее время безотказной
эксплуатации
3 года
2 года
1 год
Среднее квадратическое
отклонение ошибки опреде-
ления времени безопасной
эксплуатации
3 мес.
2 мес.
1 мес.