Файл: Вдовин Суркова Валентинов Теория систем и системный анализ.pdf
Добавлен: 12.02.2019
Просмотров: 22657
Скачиваний: 341
494
495
•
организовать циклы по времени и номеру этапа дви-
жения;
•
на очередном шаге цикла по времени вычисляются при-
ращения координат и текущие координаты движения транс-
портного средства: Х
т
, У
т
: Х
т
= Х
т
+ V
tsin(ПУ); Y
т
= Y
т
+
+ V
tcos(ПУ),
где ПУ — путевой угол движения;
V — скорость движения;
t — интервал времени.
•
на очередном шаге цикла проверяются условия по остав-
шемуся расстоянию до очередного поворотного пункта и пункта
окончания движения. При выполнении этих условий осущест-
вляется переход на очередной этап или завершение процесса
моделирования.
Для разработки графической модели движения объекта по
заданной траектории (рис. 3.42) может быть разработана либо
специальная программа, либо использована технология “Мастер
диаграмм”.
Программный код (макрос) “Excel-VBA” для имитацион-
ного моделирования процесса движения записан следующим
образом.
Public Sub ДИН()
Dim i As Integer, n As Integer, Кппм As Integer, m As Integer,
l As Integer
Dim a As Double, b As Double, a1 As Double, b1 As Double,
Skpm As Double, Кмарш As Integer
Dim ТекПР As Variant, Тнач As Variant, DT As Double, V As
Double, DELTA As Double
Dim ТначМ As Variant, ТначЧ As Variant, ТекМ As Variant,
ТекЧ As Variant, ТддТ As Variant
Dim ВреМ() As Double
ReDim ВреМ(1 To 1200)
Кппм = 7
Количество поворотных пунктов маршрута
V = 900
движения
DT = 2
i = 0
Рис. 3.42. Графическая модель движения объекта по заданной траектории
496
497
For i = 1 To Кппм - 1 'Цикл по номеру ППМ
X = Лист1.Cells(2 + i, 1): Y = Лист1.Cells(2 + i, 2)
X1 = Лист1.Cells(2 + i + 1, 1): Y1 = Лист1.Cells(2 + i + 1, 2)
a = (X1 - X) / (Y1 - Y) ‘Тангенс угла(курса)
b = ((X1 - X) ^ 2 + (Y1 - Y) ^ 2) ^ 0.5 ‘Расстояние между
ППМ
a1 = (Y1 - Y) / b: b1 = Atn(a)
If a > 0 And a1 > 0 Then
b01 = b1 * 57.3
Else
If a > 0 And a1 < 0 Then
b01 = 180 + Abs(b1 * 57.3)
Else
If a < 0 And a1 < 0 Then Вычисление путевых углов
движения
транспортного
средства
b01 = 180 - Abs(b1 * 57.3)
Else
b01 = 360 - Abs(b1 * 57.3)
End If
End If
End If
Лист1.Cells(i + 2, 5) = b01
Next i
XT = Лист1.Cells(3, 1): YT = Лист1.Cells(3, 2)
i = 1
Кмарш = 1
ТначМ = Minute(Time): ТначЧ = Hour(Time) * 60: Тнач =
= ТначЧ + ТначМ
DDT = Тнач
For m = 1 To 1200
If m = 1 Then
DDT = DDT + 0
Else
Моделирование времени
DDT = DDT + DT
End If
ВреМ(m) = DDT
Next m
n = 0
Do
n = n + 1: DDT1 = ВреМ(n): l = 0: ТддТ = Тнач + DT
Do
ТекМ = Minute(Time): ТекЧ = Hour(Time) * 60: ТекПР =
ТекЧ + ТекМ
Лист1.Cells(11, 1) = ТекПР: Лист1.Cells(11, 2) = Time
If ТекПР = DDT1 Then Exit Do
Loop
Xppm = Лист1.Cells(2 + i + 1, 1): Yppm = Лист1.Cells(2 + i
+ 1, 2)
Sppm = ((XT - Xppm) ^ 2 + (YT - Yppm) ^ 2) ^ 0.5
Xkpm = Лист1.Cells(2 + Кппм, 1): Ykpm = Лист1.Cells(2 +
Кппм, 2)
Skpm = ((XT - Xkpm) ^ 2 + (YT - Ykpm) ^ 2) ^ 0.5
If (Sppm < ST Or Sppm = ST) Then
XT = Лист1.Cells(2 + i + 1, 1): YT = Лист1.Cells(2 + i + 1, 2)
i = i + 1
Else
End If
If (Skpm <= ST Or i = Кппм) Then
Лист1.Cells(3, 3) = Xkpm: Лист1.Cells(3, 4) = Ykpm
Кмарш = 1000
Else
b02 = Лист1.Cells(i + 2, 5): ST = V * DT / 60: DY = ST *
Cos(b02 / 57.3)
DX = ST * Sin(b02 / 57.3)’ Вычисление приращений коор-
динат
If n = 1 Then
XT = XT + 0: YT = YT + 0
Else
XT = XT + DX: YT = YT + DY
End If
Лист1.Cells(3, 3) = XT: Лист1.Cells(3, 4) = YT
496
497
For i = 1 To Кппм - 1 'Цикл по номеру ППМ
X = Лист1.Cells(2 + i, 1): Y = Лист1.Cells(2 + i, 2)
X1 = Лист1.Cells(2 + i + 1, 1): Y1 = Лист1.Cells(2 + i + 1, 2)
a = (X1 - X) / (Y1 - Y) ‘Тангенс угла(курса)
b = ((X1 - X) ^ 2 + (Y1 - Y) ^ 2) ^ 0.5 ‘Расстояние между
ППМ
a1 = (Y1 - Y) / b: b1 = Atn(a)
If a > 0 And a1 > 0 Then
b01 = b1 * 57.3
Else
If a > 0 And a1 < 0 Then
b01 = 180 + Abs(b1 * 57.3)
Else
If a < 0 And a1 < 0 Then Вычисление путевых углов
движения
транспортного
средства
b01 = 180 - Abs(b1 * 57.3)
Else
b01 = 360 - Abs(b1 * 57.3)
End If
End If
End If
Лист1.Cells(i + 2, 5) = b01
Next i
XT = Лист1.Cells(3, 1): YT = Лист1.Cells(3, 2)
i = 1
Кмарш = 1
ТначМ = Minute(Time): ТначЧ = Hour(Time) * 60: Тнач =
= ТначЧ + ТначМ
DDT = Тнач
For m = 1 To 1200
If m = 1 Then
DDT = DDT + 0
Else
Моделирование времени
DDT = DDT + DT
End If
ВреМ(m) = DDT
Next m
n = 0
Do
n = n + 1: DDT1 = ВреМ(n): l = 0: ТддТ = Тнач + DT
Do
ТекМ = Minute(Time): ТекЧ = Hour(Time) * 60: ТекПР =
ТекЧ + ТекМ
Лист1.Cells(11, 1) = ТекПР: Лист1.Cells(11, 2) = Time
If ТекПР = DDT1 Then Exit Do
Loop
Xppm = Лист1.Cells(2 + i + 1, 1): Yppm = Лист1.Cells(2 + i
+ 1, 2)
Sppm = ((XT - Xppm) ^ 2 + (YT - Yppm) ^ 2) ^ 0.5
Xkpm = Лист1.Cells(2 + Кппм, 1): Ykpm = Лист1.Cells(2 +
Кппм, 2)
Skpm = ((XT - Xkpm) ^ 2 + (YT - Ykpm) ^ 2) ^ 0.5
If (Sppm < ST Or Sppm = ST) Then
XT = Лист1.Cells(2 + i + 1, 1): YT = Лист1.Cells(2 + i + 1, 2)
i = i + 1
Else
End If
If (Skpm <= ST Or i = Кппм) Then
Лист1.Cells(3, 3) = Xkpm: Лист1.Cells(3, 4) = Ykpm
Кмарш = 1000
Else
b02 = Лист1.Cells(i + 2, 5): ST = V * DT / 60: DY = ST *
Cos(b02 / 57.3)
DX = ST * Sin(b02 / 57.3)’ Вычисление приращений коор-
динат
If n = 1 Then
XT = XT + 0: YT = YT + 0
Else
XT = XT + DX: YT = YT + DY
End If
Лист1.Cells(3, 3) = XT: Лист1.Cells(3, 4) = YT
498
499
End If
Лист1.Cells(12, n) = ТекПР: Лист1.Cells(13, n) = ВреМ(n)
Лист1.Cells(14, n) = XT: Лист1.Cells(15, n) = YT
Диаграмма4.Refresh’Обновление диаграммы
If Кмарш = 1000 Then Exit Do
Loop
End Sub
14.7.2. Имитационное моделирование систем массового
обслуживания при решении задач производства продукции и
оказании услуг
Системы массового обслуживания — самый распростра-
ненный вид систем, особенно систем экономических. Системой
массового обслуживания является предприятие бытового обслу-
живания, предприятие по оказанию услуг сервисного обслужи-
вания, цех по производству некоторых видов продукции и др. Для
оценки показателей качества систем хорошо разработана теория
эффективности систем массового обслуживания, базирующаяся
на использовании аналитических методов. Однако в основу этой
теории положен целый ряд допущений и упрощений. Поэтому
практическое применение этой теории не всегда позволяет по-
лучить точные и надежные результаты. Имитационные модели
систем массового обслуживания позволяют исключить эти до-
пущения и упрощения.
Задача на разработку имитационной модели системы в
общем случае может быть сформулирована так.
Экономическая система включает (n) подсистем, каждая из
которых выполняет работы по обслуживанию заявок, поступаю-
щих в систему. Время и качество обслуживания заявки каждой
из подсистем являются случайными величинами, законы рас-
пределения которых известны. Заявки поступают от различных
источников через определенные интервалы времени, которые
также являются случайными с известными законами распре-
деления. В случае если в момент поступления заявки подсисте-
мы заняты обслуживанием предыдущих заявок, то она может
либо покинуть систему необслуженной (могут быть определены
условия покидания системы, например ограничение времени
обслуживания, количество заявок в очереди и др.), либо встать в
очередь на обслуживание. В результате моделирования опреде-
лить: вероятность немедленного обслуживания очередной заяв-
ки; число заявок в очереди, число заявок, покинувших систему
необслуженными; число обслуженных заявок; эффективность
работы каждой подсистемы (канала), вероятность обслуживания
определенного количества заявок к установленному сроку (могут
быть вычислены и некоторые другие показатели).
Задачу решим на конкретном примере.
Пример. Предприятие по оказанию услуг населению имеет
основное производство, которое включает бригады по обслужи-
ванию заявок населения.
Эти бригады по указанию диспетчера выполняют необходи-
мый объем работ по оказанию услуг; получив заявку, диспетчер
оценивает ситуацию и принимает решение на ее обслуживание.
Среднее время на оценку ситуации и принятие решения составляет
20 мин, а на выполнение необходимого объема работ бригадой —
3 ч 30 мин. Среднее время между поступлениями заявок на
предприятие от населения составляет 2 ч 30 мин. В случае посту-
пления очередной заявки и отсутствия свободной бригады дис-
петчер не принимает заявку, а клиент обращается за оказанием
услуги в другое предприятие. Надежность канала управления —
диспетчер-бригада составляет 0,8.
Классифицировать процесс обслуживания как систему,
определить цель, задачи и оптимизационную модель системы.
Определить количество бригад, которое должно иметь пред-
приятие, чтобы вероятность обслуживания клиента, обративше-
гося за оказанием услуги, была не менее 0,95. Определить пути
повышения возможностей предприятия.
Допущения и упрощения, принятые при разработке
модели
1. К моменту поступления в систему первой заявки она сво-
бодна и готова к обслуживанию.
2. Ограничения по типу системы массового обслуживания
отсутствуют.
498
499
End If
Лист1.Cells(12, n) = ТекПР: Лист1.Cells(13, n) = ВреМ(n)
Лист1.Cells(14, n) = XT: Лист1.Cells(15, n) = YT
Диаграмма4.Refresh’Обновление диаграммы
If Кмарш = 1000 Then Exit Do
Loop
End Sub
14.7.2. Имитационное моделирование систем массового
обслуживания при решении задач производства продукции и
оказании услуг
Системы массового обслуживания — самый распростра-
ненный вид систем, особенно систем экономических. Системой
массового обслуживания является предприятие бытового обслу-
живания, предприятие по оказанию услуг сервисного обслужи-
вания, цех по производству некоторых видов продукции и др. Для
оценки показателей качества систем хорошо разработана теория
эффективности систем массового обслуживания, базирующаяся
на использовании аналитических методов. Однако в основу этой
теории положен целый ряд допущений и упрощений. Поэтому
практическое применение этой теории не всегда позволяет по-
лучить точные и надежные результаты. Имитационные модели
систем массового обслуживания позволяют исключить эти до-
пущения и упрощения.
Задача на разработку имитационной модели системы в
общем случае может быть сформулирована так.
Экономическая система включает (n) подсистем, каждая из
которых выполняет работы по обслуживанию заявок, поступаю-
щих в систему. Время и качество обслуживания заявки каждой
из подсистем являются случайными величинами, законы рас-
пределения которых известны. Заявки поступают от различных
источников через определенные интервалы времени, которые
также являются случайными с известными законами распре-
деления. В случае если в момент поступления заявки подсисте-
мы заняты обслуживанием предыдущих заявок, то она может
либо покинуть систему необслуженной (могут быть определены
условия покидания системы, например ограничение времени
обслуживания, количество заявок в очереди и др.), либо встать в
очередь на обслуживание. В результате моделирования опреде-
лить: вероятность немедленного обслуживания очередной заяв-
ки; число заявок в очереди, число заявок, покинувших систему
необслуженными; число обслуженных заявок; эффективность
работы каждой подсистемы (канала), вероятность обслуживания
определенного количества заявок к установленному сроку (могут
быть вычислены и некоторые другие показатели).
Задачу решим на конкретном примере.
Пример. Предприятие по оказанию услуг населению имеет
основное производство, которое включает бригады по обслужи-
ванию заявок населения.
Эти бригады по указанию диспетчера выполняют необходи-
мый объем работ по оказанию услуг; получив заявку, диспетчер
оценивает ситуацию и принимает решение на ее обслуживание.
Среднее время на оценку ситуации и принятие решения составляет
20 мин, а на выполнение необходимого объема работ бригадой —
3 ч 30 мин. Среднее время между поступлениями заявок на
предприятие от населения составляет 2 ч 30 мин. В случае посту-
пления очередной заявки и отсутствия свободной бригады дис-
петчер не принимает заявку, а клиент обращается за оказанием
услуги в другое предприятие. Надежность канала управления —
диспетчер-бригада составляет 0,8.
Классифицировать процесс обслуживания как систему,
определить цель, задачи и оптимизационную модель системы.
Определить количество бригад, которое должно иметь пред-
приятие, чтобы вероятность обслуживания клиента, обративше-
гося за оказанием услуги, была не менее 0,95. Определить пути
повышения возможностей предприятия.
Допущения и упрощения, принятые при разработке
модели
1. К моменту поступления в систему первой заявки она сво-
бодна и готова к обслуживанию.
2. Ограничения по типу системы массового обслуживания
отсутствуют.