Планирование машинного эксперимента с имитационной моделью системы массового обслуживания
Лабораторная работа №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>0>+a>i>x>i>+a>ij>x>i>x>j> +a>ij>kx>i>x>j>x>k>+…… ( 2)
Для оценки коэффициентов данного уравнения используется метод множественной регрессии, оснований на методе наименьших квадратов.
После выбора модели планирования следующей задачей является планирование и проведение эксперимента.
Для планирования эксперимента составляется матрица планирования, в которой отражаются условия изменения уровней факторов xi( i= 1,n).
Эксперимент, в котором реализуются все возможные сочетания уровней называется полным факторным экспериментом (ПФЭ). Количество всех возможных испытаний определяется по формуле:
N=qn (3 )
где q – число уровней изменения факторов.
n - число факторов
При q = 2 получается двухуровневый план эксперимента. Такой план называется планом N=2n. . Для получения данного плана необходимо все факторы варьировать на двух уровнях: нижнем x>i>0-∆x>i>> >и верхнем x>i>0+∆ x>i>, расположенных симметрично, относительно центра эксперимента. Для упрощения и унификации записи условий опытов и облегчения обработки данных используются кодированные значения: на нижнем уровне -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 обладает тремя основными свойствами:
Симметричность относительно центра эксперимента. Это значит, что алгебраическая сумма элементов вектор – столбца для каждого фактора равна 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 )
Данные свойства, особенно условие ортогональности, позволяют значительно упростить определение коэффициентов уравнения множественной регрессии. В этом случае оценки коэффициентов регрессионной модели можно вычислить по формуле:
a>i>=>ij>*y>j> /N (i=0,n) (7 )
А коэффициенты парных взаимодействий соответственно по формуле:
a>ik>=>ij>*x>kj>*y>j> /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= a>0>+a>1>x>1>+a>2>x>2>+a>3>x>3>, (9)
x>1>= λ ; x>2>= μ ; x>3>= 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 |
для интенсивности поступления заявок λ нижний уровень равен λ>k>=10 , а верхний λ>b>=20;
для интенсивности обслуживания μ нижний уровень равен μ>k>=5, а верхний 15 μ>b>;
для количества мест в очереди L нижний уровень L>k> =8и верхний L>b>=12
Поэтому при моделировании этих уровней факторов в блоке управления необходимо организовать их изменения. Это можно сделать путем введения нуля циклов. Тогда блок- схема управления вариантами моделирования примет вид (Рис1)
Рис1. Блок- схема управления вариантами моделирования
Выч. начальных условий
Блок моделирования СМО. Выч >ож>
Для определения среднего времени ожидания >ож> можно воспользоваться блок- схемой Рис лабораторной работы 3. Результаты моделирования заносятся в Таблицу 2 в колонку для y.
По Таблице 2 и формуле 7 определяются коэффициенты выбранной модели планирования эксперимента а>i> (i=0.3). Таким образом, зависимость среднего времени ожидания от интенсивности поступления заявок, интенсивности обслуживания и количества мест в очереди примет вид:
>ож >=…..λ+….μ+…L (10)
Содержание исследования
В состав исследования, проводимого в данной лабораторной работе, входит:
1. Анализ зависимости влияния экзогенных переменных модели однофазной одноканальной СМО на эндогенные переменные.
2. Построение плана машинного эксперимента на основе множественного регрессионного анализа и метода наименьших квадратов.
3.Моделирование системы массового обслуживания
В качестве объекта моделирования рассматривается однофазная одноканальная система, структура, которой показана на Рис 2:
μ
очередь
λ
Входной поток заявок
Прибор обслуживания
Выходной поток заявок
L
Рис2Структура исследуемой системы
Параметры системы:
интенсивность поступления заявок λ=155;
интенсивность обслуживания μ=105;
длина очереди L=102;
Варианты лабораторной работы приведены в таблице 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 < 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>