Лабораторная работа: Планирование машинного эксперимента с имитационной моделью системы массового обслуживания
Лабораторная работа №4
Планирование машинного эксперимента с имитационной моделью системы массового обслуживания
1. Цель работы
Целью работы является:
1. Изучение методов планирования машинного эксперимента с моделью системы.
2. Приобретение практических навыков по оценке коэффициентов модели заданной функциональной зависимости
3. Проведение имитационного эксперимента в соответствии с построенным планом
2.Теоретические сведения
2.1 Планирование эксперимента
Эффективность машинных экспериментов с имитационными моделями систем массового обслуживания существенно зависят от выбора плана эксперимента, так как план определяет объем и порядок проведения вычислений на ЭВМ, приемы накопления и статистической обработки результатов моделирования системы и в целом влияет на эффективность использования ЭВМ при моделировании.
Планирование эксперимента – это средство построения математических моделей различных процессов, способ сокращения времени и средств, повышение производительности труда исследователя.
Под планированием эксперимента понимается процедура выбора числа опытов и условий их проведения, необходимых для решения поставленной задачи с требуемой точностью. Результаты эксперимента представляются в виде математической модели, обладающей хорошими статистическими свойствами.
Такой моделью является абстрактная схема типа «черного ящика» вида:
Y=F(x), (1)
Где Y={y1,y2…ym} - множество выходных переменных, называемых реакциями или откликами ( эндогенные переменные)
X={x1,x2,…xn}- множество переменных называемых факторами(экзогенные переменные)
F- функция, связывающая реакцию с факторами, называемая функцией реакции или отклика.
При проведении машинного эксперимента с моделью для оценки характеристик процесса функционирования исследуемой системы необходимо создать также условия, которые способствовали бы выявлению факторов, влияющих на реакцию системы. Для этого необходимо, в первую очередь, установить область экспериментирования.
Локальная область эксперимента задается выбором комбинации основных уровней факторов xi( i= 1,n), их интервалами варьирования xi( i= 1,n) и центром эксперимента хi0( i= 1,n). Затем следует описать функциональную зависимость, оценить необходимое число реализаций и их порядок в эксперименте.
При классическом методе планирования опыта варьируется один фактор, а при математическом планировании эксперимента одновременно изменяются все факторы.
Одной из задач математического планирования эксперимента является получение модели описывающей реакции получаемой системы на много факторные экзогенные переменные. Наиболее распространенными и полно отвечающими задачам статистического моделирования являются полиномиальные модели вида:
y= a0+aixi+aijxixj +aijkxixjxk+…… ( 2)
Для оценки коэффициентов данного уравнения используется метод множественной регрессии, оснований на методе наименьших квадратов.
После выбора модели планирования следующей задачей является планирование и проведение эксперимента.
Для планирования эксперимента составляется матрица планирования, в которой отражаются условия изменения уровней факторов xi( i= 1,n).
Эксперимент, в котором реализуются все возможные сочетания уровней называется полным факторным экспериментом (ПФЭ). Количество всех возможных испытаний определяется по формуле:
N=qn (3 )
где q – число уровней изменения факторов.
n - число факторов
При q = 2 получается двухуровневый план эксперимента. Такой план называется планом N=2n. . Для получения данного плана необходимо все факторы варьировать на двух уровнях: нижнем xi0-∆xi и верхнем xi0+∆ xi, расположенных симметрично, относительно центра эксперимента. Для упрощения и унификации записи условий опытов и облегчения обработки данных используются кодированные значения: на нижнем уровне -1 и на верхнем уровне +1. Тогда условия эксперимента удобно представить в виде таблицы- матрицы планирования, в которой строки соответствуют различным опытам, а столбцы значениям факторов. Так, для трех факторов (n=3 ) матрица планирования примет вид (Таблица 1). При этом в таблице добавлены “фиктивные переменные” единичного столбца х0 и столбцов произведений х1*х2, х1*х3, х2*х3 и х1*х2*х3, которые используются для оценки свободного члена а0 и эффектов взаимодействия а12,а13,а23, а123.
Таблица 1
Матрица планирования
Номер опыта |
Факторы |
|||||||
х0 |
х1 |
х2 |
х3 |
х1*х2 |
х1*х3 |
х2*х3 |
х1*х2*х3 |
|
1 2 3 4 5 6 7 8 |
+1 +1 +1 +1 +1 +1 +1 +1 |
-1 +1 -1 +1 -1 +1 -1 +1 |
-1 -1 +1 +1 -1 -1 +1 +1 |
-1 -1 -1 -1 +1 +1 +1 +1 |
+1 -1 -1 +1 -1 -1 -1 +1 |
+1 -1 +1 -1 -1 +1 -1 +1 |
+1 +1 -1 -1 -1 -1 +1 +1 |
-1 +1 +1 -1 +1 -1 -1 +1 |
Как видно из таблицы, количество опытов равно N=23=8.
Рассматриваемый полный факторный эксперимент 2n обладает тремя основными свойствами:
1. Симметричность относительно центра эксперимента. Это значит, что алгебраическая сумма элементов вектор – столбца для каждого фактора равна 0, т.е.
ij=0 (4 )
где i – номер фактора (i=1,n);
j – номер опыта (j=1,N ).
2. Условием нормировки, т.е. сумма квадратов элементов каждого столбца равна числу опытов:
ij 2= N (i=1,n) (5 )
3.Ортогональностью, это означает, что сумма почленных произведений любых двух вектор- столбцов матрицы равна 0, т.е.
ij *хkj=0 (ik; i, k=1,n) (6 )
Данные свойства, особенно условие ортогональности, позволяют значительно упростить определение коэффициентов уравнения множественной регрессии. В этом случае оценки коэффициентов регрессионной модели можно вычислить по формуле:
ai=ij*yj /N (i=0,n) (7 )
А коэффициенты парных взаимодействий соответственно по формуле:
aik=ij*xkj*yj /N (ik; i, k=1,n) (8)
Количество испытаний в ПФЭ значительно превосходит число определяемых коэффициентов линейной модели плана эксперимента, т.е. ПФЭ обладает большой избыточностью и поэтому возникает проблема сокращения числа опытов. В связи с этим используется дробный факторный эксперимент (ДФЭ), который представляет часть полного факторного эксперимента. Матрица планирования для дробного факторного эксперимента называется дробной репликой. Различают регулярные и нерегулярные дробные реплики.
Регулярные реплики образуются из ПФЭ 2n делением пополам, на четыре части, восемь частей ит.д., т.е. на число кратное 2. Они называются соответственно: полурепликой, четверть- репликой, - реплики и т.д.. ДФЭ обозначается как 2n-k, где
k – кратность деления ПФЭ 2n на части 2k. Например, ДФЭ типа 4-2 означает, что ПФЭ из N=24=16 делится на 22=4 и получается план эксперимента, состоящий из N=24-2=4 опытов.
Если регулярные реплики умножить на нечетные числа, больше единицы, то получаются нерегулярные реплики. Как например, реплики, реплики, реплики и т.д. являются нерегулярными.
Использование ДФЭ позволяет значительно сократить количество экспериментов и тем самым сэкономить ресурсы ЭВМ.
2.2 Пример планирования машинного эксперимента для модели СМО
Пусть необходимо провести машинный эксперимент по определению функциональной зависимости среднего времени ожидания заявки в очереди (ож) от факторов: интенсивность поступления заявок λ, интенсивности обслуживания μ и емкости буфера L для однофазной одноканальной системы массового обслуживания со следующими параметрами: интенсивность поступления заявок λ=155; интенсивность обслуживания μ=105; количество мест в очереди L=102.
Для определения заданной зависимости представим математическую модель системы в виде:
y= a0+a1x1+a2x2+a3x3, (9)
x1= λ ; x2= μ ; x3= L ; y=ож
Так как порядок модели n=3, то матрица планирования для полного факторного эксперимента примет вид (Таблица 2).
Таблица 2. Матрица планирования для модели СМО
Номер опыта |
х0 |
х1 |
х2 |
х3 |
y |
1 |
+1 |
-1 |
-1 |
-1 |
|
2 |
+1 |
+1 |
-1 |
-1 |
|
3 |
+1 |
-1 |
+1 |
-1 |
|
4 |
+1 |
+1 |
+1 |
-1 |
|
5 |
+1 |
-1 |
-1 |
+1 |
|
6 |
+1 |
+1 |
-1 |
+1 |
|
7 |
+1 |
-1 |
+1 |
+1 |
|
8 |
+1 |
+1 |
+1 |
+1 |
|
При этом следует помнить, что кодированные значения факторов соответствуют -1 нижнему уровню фактора, а +1 верхнему уровню фактора:
· для интенсивности поступления заявок λ нижний уровень равен λk=10 , а верхний λb=20;
· для интенсивности обслуживания μ нижний уровень равен μk=5, а верхний 15 μb;
· для количества мест в очереди L нижний уровень Lk =8и верхний Lb=12
Поэтому при моделировании этих уровней факторов в блоке управления необходимо организовать их изменения. Это можно сделать путем введения нуля циклов. Тогда блок- схема управления вариантами моделирования примет вид (Рис1)
Рис1. Блок- схема управления вариантами моделирования
Для определения среднего времени ожидания ож можно воспользоваться блок- схемой Рис лабораторной работы 3. Результаты моделирования заносятся в Таблицу 2 в колонку для y.
По Таблице 2 и формуле 7 определяются коэффициенты выбранной модели планирования эксперимента аi (i=0.3). Таким образом, зависимость среднего времени ожидания от интенсивности поступления заявок, интенсивности обслуживания и количества мест в очереди примет вид:
ож =…..λ+….μ+…L (10)
2. Содержание исследования
В состав исследования, проводимого в данной лабораторной работе, входит:
1. Анализ зависимости влияния экзогенных переменных модели однофазной одноканальной СМО на эндогенные переменные.
2. Построение плана машинного эксперимента на основе множественного регрессионного анализа и метода наименьших квадратов.
3.Моделирование системы массового обслуживания
В качестве объекта моделирования рассматривается однофазная одноканальная система, структура, которой показана на Рис 2:
μ
очередь
λ
L
Рис2Структура исследуемой системы
Параметры системы:
· интенсивность поступления заявок λ=155;
· интенсивность обслуживания μ=105;
· длина очереди L=102;
Варианты лабораторной работы приведены в таблице 3, в которой ПФЭ полный факторный эксперимент; ДФЭ – дробный факторный эксперимент; ож - среднее время ожидания заявок в очереди; сист- среднее время пребывания заявок в системе; - средняя длина очереди; Ротк – вероятность отказа; А – абсолютная пропускная способность системы; q- относительная пропускная способность системы; Кпр – коэффициент простоя системы.
4. Порядок выполнения работы
1. Ознакомится с методическими указаниями по выполнению данной лабораторной работы.
2. Получить у преподавателя вариант задания на составление плана машинного эксперимента для СМО
3. Составить матрицу планирования для проведения машинного эксперимента
4. Разработать блок- схему моделирующего алгоритма в соответствии с содержанием проводимого исследования
5. Составить программу на одном из языков программирования
6. Произвести отладку программы и решение поставленной задачи на ПЭВМ
7. Оформить отчет
Интерфейс программы
Листинг программы
Private Sub Command1_Click()
Dim L As Integer
Dim Tobs As Currency
Dim Tosv As Currency
Dim Toch() As Currency
Dim Potk As Currency
Dim q As Currency
Dim a(8) As Currency
Dim Kpr As Currency
List1.Clear
List2.Clear
List2.AddItem ("Коэффициенты:")
For lyamda = 10 To 20 Step 10
For nyu = 5 To 15 Step 10
For L = 8 To 12 Step 4
ReDim Toch(L) As Currency
x = 0.5
k = 0
Kotk = 0
Noch = 0
Toj = 0
Tsis = 0
Kobs = 0
Tnezan = 0
Tpost = 0
Tosv = 0
10: x = Rnd(x)
T = -1 / lyamda * Log(x)
Tpost = Tpost + T
k = k + 1
If k > 50 Then
GoTo 100
End If
30: If Tpost < Tosv Then
GoTo 20
Else
GoTo 40
End If
20: If Noch = L Then
Kotk = Kotk + 1
GoTo 10
Else
Noch = Noch + 1
Toch(Noch) = Tpost
GoTo 10
End If
40: If Noch = 0 Then
Kobs = Kobs + 1
Tnezan = Tpost - Tosv
x = Rnd(x)
Tobs = -1 / nyu * Log(x)
Tosv = Tpost + Tobs
Tsis = Tsis + Tobs
GoTo 10
Else
Voj = Tosv - Toch(1)
For i = 1 To Noch - 1
Toch(i) = Toch(i + 1)
Next i
Noch = Noch - 1
Toj = Toj + Voj
x = Rnd(x)
Tobs = -1 / nyu * Log(x)
Tsis = Tsis + Tobs + Voj
Tosv = Tosv + Tobs
Kobs = Kobs + 1
GoTo 30
End If
100: Kpr = Tnezan / Tsis
Potk = Kotk / k
q = 1 - Potk
Ab = q * L
j = j + 1
List1.AddItem (Str(j) + "-е испытание при:")
List1.AddItem ("Лямбда=" + Str(lyamda) + " Нью=" + Str(nyu) + " L=" + Str(L))
List1.AddItem ("Количество заявок в" + Str(j) + " испытании = " + Str(k) + " и потраченное время =" + Str(Tsis))
List1.AddItem ("Вероятность отказа=" + Str(Potk))
List1.AddItem ("Коэффициент простоя=" + Str(Kpr))
List1.AddItem ("Относительная пропускная способность" + Str(q))
List1.AddItem ("Обсолютная пропускная способность" + Str(Ab))
List1.AddItem ("")
List1.AddItem ("")
a(j) = (lyamda + nyu + L) * Toj
List2.AddItem ("a(" + Str(j - 1) + ")=" + Str(a(j)))
Next L
Next nyu
Next lyamda
Label1.Caption = "Tож = " + Str(a(1)) + " + " + Str(a(2)) + "lymda" + " + " + Str(a(3)) + "nyu" + " + " + Str(a(4)) + "L"
End Sub