Лабораторная работа №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= a+/>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--PAGE_BREAK--
+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 обладает тремя основными свойствами:
Симметричность относительно центра эксперимента. Это значит, что алгебраическая сумма элементов вектор – столбца для каждого фактора равна 0, т.е.
/>ij=0 (4 )
где i – номер фактора (i=1,n);
j – номер опыта (j=1,N ).
2. Условием нормировки, т.е. сумма квадратов элементов каждого столбца равна числу опытов:
/>ij2= N (i=1,n) (5 )
3.Ортогональностью, это означает, что сумма почленных произведений любых двух вектор- столбцов матрицы равна 0, т.е.
/>ij *хkj=0 (i/>k; i, k=1,n) (6 )
Данные свойства, особенно условие ортогональности, позволяют значительно упростить определение коэффициентов уравнения множественной регрессии. В этом случае оценки коэффициентов регрессионной модели можно вычислить по формуле:
ai=/>ij*yj /N (i=0,n) (7 )
А коэффициенты парных взаимодействий соответственно по формуле:
aik=/>ij*xkj*yj/N (i/>k; 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 для однофазной одноканальной системы массового обслуживания со следующими параметрами: интенсивность поступления заявок λ=15/>5/>; интенсивность обслуживания μ=10/>5/>; количество мест в очереди L=10/>2.
Для определения заданной зависимости представим математическую модель системы в виде:
y= a+a1x1+a2x2+a3x3, (9)
x1= λ; x2= μ; x3= L; y=/>ож продолжение
--PAGE_BREAK--
Так как порядок модели n=3, то матрица планирования для полного факторного эксперимента примет вид (Таблица 2).
Таблица 2. Матрица планирования для модели СМО
Номер опыта
х
х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)
Содержание исследования
В состав исследования, проводимого в данной лабораторной работе, входит:
1. Анализ зависимости влияния экзогенных переменных модели однофазной одноканальной СМО на эндогенные переменные.
2. Построение плана машинного эксперимента на основе множественного регрессионного анализа и метода наименьших квадратов.
3.Моделирование системы массового обслуживания
В качестве объекта моделирования рассматривается однофазная одноканальная система, структура, которой показана на Рис 2:
/>μ
очередь
/>/>/>/>/>/>/>/>λ
/>/>/>
L продолжение
--PAGE_BREAK--
Рис2Структура исследуемой системы
Параметры системы:
интенсивность поступления заявок λ=15/>5/>;
интенсивность обслуживания μ=10/>5/>;
длина очереди L=10/>2;
Варианты лабораторной работы приведены в таблице 3, в которой ПФЭ полный факторный эксперимент; ДФЭ – дробный факторный эксперимент; />ож — среднее время ожидания заявок в очереди; />сист — среднее время пребывания заявок в системе; /> — средняя длина очереди; Ротк – вероятность отказа; А – абсолютная пропускная способность системы; q — относительная пропускная способность системы; Кпр – коэффициент простоя системы.
Порядок выполнения работы
Ознакомится с методическими указаниями по выполнению данной лабораторной работы.
Получить у преподавателя вариант задания на составление плана машинного эксперимента для СМО
Составить матрицу планирования для проведения машинного эксперимента
Разработать блок- схему моделирующего алгоритма в соответствии с содержанием проводимого исследования
Составить программу на одном из языков программирования
Произвести отладку программы и решение поставленной задачи на ПЭВМ
Оформить отчет
Интерфейс программы
/>
Листингпрограммы
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
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