Планирование машинного эксперимента с имитационной моделью системы массового обслуживания
Планирование машинного эксперимента с имитационной моделью системы массового обслуживания
Лабораторная работа №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
|