Вы находитесь на странице: 1из 42

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ УДК 519.21(075.

8)
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ Печатается по решению редакционно-издательского
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО
ОБРАЗОВАНИЯ совета ВСГТУ
ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ISBN
ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра систем информатики Рецензент: И.Б.Юмов, к.ф.-м.н., доц. ВСГТУ

Алтаев А.А., Бундаев В.В. Компьютерное моделирование. Лабораторный


практикум: Учебно-методическое пособие/ Сост.
Алтаев А.А., Бундаев В.В. - Улан Удэ, Изд-во ВСГТУ,
2007. - 84 с.

Учебно-методическое пособие включает краткую


КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ теорию по моделированию систем и задания по
Лабораторный практикум лабораторным работам. Предназначено студентам
специальностей 230105 «Программное обеспечение ВТ и
УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ АС» и 010503 «Математическое обеспечение и
администрирование информационных систем», изучающих
компьютерное моделирование.
Учебное пособие обсуждено и одобрено кафедрой
систем информатики ВСГТУ.
Рекомендовано к изданию РИС ВСГТУ.

ISBN 519.21(075.8)

© ВСГТУ, 2007 г.
Издательство ВСГТУ
© Алтаев А.А., Бундаев В.В.
Улан-Удэ, 2007

2
Введение
Лабораторная работа 1.
Первые две лабораторные работы настоящего пособия Дискретно-детерминированные модели
посвящены дискретно-детерминированным и дискретно-
стохастическим моделям (F- и P-схемам). Теория
Целью третьей работы является изучение основ Дискретно-детерминированные модели называются
имитационного моделирования и принципов построения также конечными автоматами (англ. finite automat), или F-
алгоритмов типа Q-схем, привитие навыков системного схемами. F-схемы характеризуются шестью элементами:
мышления в терминах статических и динамических конечным множеством Х входных сигналов (входным
объектов. Осознание сути продвижения модельного алфавитом); конечным множеством Y выходных сигналов
времени, в первую очередь, организации динамических (выходным алфавитом); конечным множеством Z
списков позволит понять внутреннюю организацию внутренних состояний (внутренним алфавитом или
моделирующих языков и, в частности, языка GPSS. алфавитом состояний); начальным состоянием автомата;
В четвертой лабораторной работе изучаются средства функцией переходов ϕ(z,х); функцией выходов ψ(z,х).
языка GPSS для построения имитационных моделей систем Работа конечного автомата происходит по следующей
массового обслуживания, вопросы исследования моделей на схеме: в каждом i-м такте на вход автомата, находящегося в
ЭВМ и интерпретации полученных в ходе моделирования состоянии zi, подается некоторый сигнал xi, на который он
результатов. реагирует переходом в новое состояние zi+1 и выдачей
В пятой и шестой работах рассматриваются вопросы некоторого выходного сигнала yi. Существуют
планирования, проведения и обработки результатов одно- и разновидности конечных автоматов:
многофакторных экспериментов с моделью. автомат Мили первого рода
zi+1=ϕ[zi, xi],
yi=ψ[zi, хi], i=0,1,2,…;
автомат Мили второго рода
zi+1=ϕ[zi, xi],
yi+1=ψ[zi+1, хi], i=0,1,2,…;
автомат Мура
zi+1=ϕ[zi, xi],
yi=ψ[zi], i=0,1,2,….
Для описания F-автоматов применяют табличный,
графический и матричный способы.
В таблице на пересечении строки xi и столбца zi
записываются функции переходов ϕ[zi, xi] и выходов

3 4
ψ[zi, хi]. матрица соединений имеет вид:
Примеры табличного способа задания F-автомата  − x1 / y1 x2 / y1 
 
Мили с тремя состояниями, двумя входными и двумя C1 =  − x2 / y 2 x1 / y 2  .
выходными сигналами приведены в таблице 1.1, а для F- x / y − x1 / y 2 
автомата Мура - в таблице 1.2.  1 1
Таблица 1.1
xi zk x2, y2 x2
z1 z2 z3 x1, y1 x2 y1
Переходы z1 z2 z1 z2
x1 z2 z3 z3
x2 z3 z2 z1 y1
x1
x2, y1
Выходы
x1 y1 y1 y2 x1, y1 x1
x2 y1 y2 y1 x2, y1
Таблица 1.2
z3 z3
yj y2
xi y1 y1 y2
z1 z2 z3 x1, y2
x2
x1 z3 z3 z2 а б
x2 z1 z1 z3
Рис. 1.1. Графы автоматов Мили (а) и Мура (
При графическом способе задания конечного
автомата применяется направленный граф, вершины Для F-автомата Мура элемент cij равен множеству
которого соответствуют состояниям автомата, дуги - входных сигналов на переходе (zi,zj), а выход описывается
переходам. вектором выходов. Для рассмотренного выше F-автомата
Мура матрица соединений и вектор выходов имеют вид:
На рисунке 1.1, а, б приведены заданные ранее  x2 − x1   y1 
таблицами F-автоматы Мили и Мура соответственно.    
При матричном задании конечного автомата C 2 =  x2 − x1 ; Y =  y1 .
применяют квадратную матрицу С=||cij||, строки которой − x x  y 
 1 2  2
соответствуют исходным состояниям, а столбцы -
состояниям перехода. Элемент cij=xk/yS, соответствует Задание
входному сигналу xk, вызывающему переход из состояния zi
в состояние zj, и выходному сигналу уS, выдаваемому при Придумать F-автомат, представив его в табличном,
этом переходе. Для автомата Мили, рассмотренного выше, графическом и матричном видах, и составить программу,
5 6
моделирующую его работу. Начальное состояние автомата Варианты
и входное слово генерируются случайным образом. Подсчитать
Выходные данные программы должны представлять собой

Вариант
статистику в
Тип
таблицу с полями: x, z_old, z_new, y. Например, если n m p абсолютном и
автомата
моделируется работа рассмотренного выше автомата Мили процентном
(будем считать, что он первого рода), начальное состояние выражении по
которого равно z2 и на вход подается слово: x1 x2 x1 x2 x2, то Автомат
таблица будет иметь вид 1 Мили 2 2 4 состояниям
первого рода
Автомат
x z_old z_new y выходным
2 Мили 3 2 4
x1 z2 z3 y1 второго рода
сигналам
x2 z3 z1 y1 Автомат
x1 z1 z2 y1 3 4 2 4 состояниям
Мура
x2 z2 z2 y2 Автомат
x2 z2 z2 y2 выходным
4 Мили 4 3 3
сигналам
первого рода
Подсчитайте статистику. Автомат
Функции переходов и выходов оформить в виде 5 Мили 3 3 3 состояниям
типизированных констант. Для рассмотренного автомата второго рода
Мили начало программы может иметь следующий вид: Автомат выходным
6 2 3 3
uses crt; Мура сигналам
const Автомат
n=2; {входной алфавит состоит из двух 7 Мили 3 4 2 состояниям
первого рода
символов}
Автомат
m=2; {выходной алфавит состоит из двух выходным
8 Мили 4 4 2
символов} сигналам
второго рода
p=3; {количество состояний} Автомат
phi: array[1..n, 1..p] of integer = 9 2 2 2 состояниям
Мура
((2,3,3), (3,2,1)); {функция Автомат
переходов} выходным
10 Мили 3 5 3
ksi: array[1..n, 1..p] of integer = сигналам
первого рода
((1,1,2), (1,2,1)); {функция выходов}

7 8
xi Ai Bi C
Лабораторная работа 2.  0,5 0 0,5   0,4 0,6 
Дискретно-стохастические модели    
1 A1 =  1 0 0  B1 =  1 0 
 0,3 0,3 0,1   0  0,2 
Теория    1   
C =  0,2 
Дискретно-стохастические модели принято называть  0 0,5 0,5   0 1   0,6 
Р-автоматами (англ. probabilistic automat). В отличие от F-      
2 A2 =  0 0,3 0,7  B2 =  0,5 0,5 
автоматов функции переходов ϕ и выходов ψ в  0,9 0 0,1   0,7 0,3 
Р-автоматах описываются матрицами вероятностей    
переходов и выходов. Каждый символ xi входного алфавита Такой автомат назовем полным вероятностным P-
имеет свою матрицу вероятностей переходов Ai=(ajk) и автоматом. Существуют другие разновидности P-автоматов,
матрицу вероятностей выходов Bi=(bjℓ), где ajk – вероятность у которых либо переход в новое состояние, либо выходной
перехода автомата из j состояния в k состояние при сигнал определяются детерминированно. Если выходной
поступлении на вход i-го сигнала, bjℓ –вероятность сигнал Р-автомата определяется детерминированно, то
выработки на выходе сигнала ℓ. Если обозначить через N и такой автомат называется Y-детерминированным
M - соответственно, количество символов во входном и вероятностным автоматом. Аналогично, Z-
выходном алфавитах, через P – число состояний, то для детерминированным вероятностным автоматом называется
описания вероятностного автомата потребуется N матриц A Р-автомат, у которого выбор нового состояния является
и B. Сумма элементов одной строки этих матриц должна детерминированным. Y-детерминированные вероятностные
P M автоматы по аналогии с F-автоматами можно еще
быть равна 1: ∑ a jk = 1 и
k =1
∑b
λ=1
jλ = 1 . Помимо указанных подразделить на автоматы Мили и Мура.
матриц описание Р-автомата должно быть дополнено Задание
вектором вероятностей начальных состояний C, элемент ci
В соответствии с заданием разработать программу,
которого — вероятность того, что в начале работы Р-
моделирующую работу вероятностного автомата.
автомат будет находиться в состоянии i. Должно
P Программа должна выводить информацию о состоянии
выполняться условие ∑c i = 1. автомата на каждом такте в виде таблицы
i =1 x z_old r_1 z_new r_2 y
Рассмотрим пример задания Р-автомата для где x и y – символы входного и выходного слова, z_old
следующих данных: N=2, M=2 и P=3. Примем, что x ∈{1;2} , и z_new – соответственно, текущее и будущее состояния
y ∈ {' m'; ' n'} , z ∈{' a '; ' b'; ' c'} . Для задания автомата в таком автомата, r_1 и r_2 – случайные числа из диапазона [0; 1],
случае достаточно заполнить четыре матрицы и один вектор используемые для определения перехода z_new и выходного
(табл. 2.1). сигнала y. Обеспечить получение статистики.
Таблица 2.1 Алгоритм определения следующего состояния z_new

9 10
рассмотрим на следующем примере. Пусть автомат В программе описание автомата представить в виде
находится в состоянии ’c’ и на вход поступает сигнал 1. Для типизированных констант:
вычисления перехода выбирается матрица A1 (x=1) и в ней - uses crt;
3-я строка (z=’c’): (0,3; 0,3; 0,1). Если случайное число r_1 const
будет меньше или равно a31, то новым состоянием будет ’a’. n=2; {входной алфавит состоит из двух
При выполнении условия a31< r_1≤ a31+ a32 следующее символов}
состояние автомата - ’b’. Если не выполняются условия для m=2; {выходной алфавит состоит из двух
’a’ и ’b’ , автомат на следующем такте перейдет в символов}
состояние ’c’. Например, если r_1=0,643 , то z_new=’c’. p=3; {количество состояний}
Аналогично определяются и выходные сигналы. a: array[1..n, 1..p, 1..p] of real =
Рассмотрим более полный пример. Входное слово (((0.5, 0, 0.5), (1, 0, 0), (0.3, 0.3,
пусть состоит из пяти символов, полученных случайным 0.1)),
образом: ‘11212’. Генератор случайных чисел (random) ((0, 0.5, 0.5), (0, 0.3,0.7), (0.9, 0,
выдал следующую последовательность (значения 0.1)));
округлены): (0,23; 0,46; 0,08; 0,79; 0,48; 0,94; 0,73; 0,37; b: array[1..n, 1..p, 1..m] of real =
0,48, 0,91; 0,57). Первое случайное число (0,23) (((0.4, 0.6), (1, 0), (0, 1)),
используется для определения начального состояния ((0, 1), (0.5, 0.5), (0.7, 0.3)));
автомата. Поскольку выполняется условие c1<0,23< c1+ c2 , c: array[1..p] of real = (0.2, 0.2, 0.6);
значение z_old принимает значение ‘b’. Полученная таблица var
переходов и выхода представлена ниже. x: 1..2; {входной символ}
x z_old r_1 z_new r_2 y y: ‘m’..’n’; {выходной символ}
1 b 0,46 a 0,08 m z_new, z_old: ‘a’..’c’; {состояния}
1 a 0,79 c 0,49 n
2 c 0,94 c 0,73 m
1 c 0,37 b 0,48 n
2 b 0,91 c 0,57 n

11 12
Варианты
Подсчитать Лабораторная работа 3.
Вариа

статистику в Непрерывно-стохастические модели


Тип вероятностного
n m p абсолютном и
нт

автомата Теория
процентном
выражении по Одной из разновидностей непрерывно-стохастических
1 полный 1 4 4 состояниям моделей являются системы массового обслуживания
Y-детерминированный выходным (СМО), называемые Q-схемами (queue - очередь). В
2 2 4 4
Мили сигналам качестве примера СМО можно привести обслуживание
Y-детерминированный читателей в библиотеке, клиентов в парикмахерской и т.п.
3 3 2 2 состояниям Рассмотрим основные понятия Q-схем.
Мура
выходным
4 Z-детерминированный 1 5 3
сигналам u
5 полный 2 5 3 состояниям
Y-детерминированный выходным
6 3 5 3 H
Мили сигналам
Y-детерминированный w K
7 1 3 5 состояниям
Мура
выходным
8 Z-детерминированный 2 3 5 y
сигналам
9 полный 2 3 3 состояниям
выходным
10 Z-детерминированный 1 4 4
сигналам
Рис. 3.1. Прибор обслуживания заявок

Простейшая СМО (рис.3.1), называемая прибором,


состоит из накопителя заявок H, в котором может
одновременно находиться λ = 0, LH заявок, где LH —
емкость накопителя, и канала обслуживания заявок K. В
СМО наблюдаются следующие потоки: w - поток
поступающих на обслуживание заявок, u — поток

13 14
управляющих воздействий, y - поток обслуженных заявок. последовательность {tt, ft}, где tt — вызывающие моменты; ft
Потоком событий называется последовательность — набор признаков события. Например, применительно к
событий, происходящих одно за другим в какие-то процессу обслуживания для неоднородного потока заявок
случайные моменты времени. Различают потоки могут быть заданы принадлежность к тому или иному
однородных и неоднородных событий. Поток событий источнику заявок, наличие приоритета, возможность
называется однородным, если он характеризуется только обслуживания тем или иным типом канала и т. п.
моментами поступления этих событий (вызывающими Рассмотрим поток, в котором события разделены
моментами) и задается последовательностью {ti}={0 ≤ t1 ≤ t2 интервалами времени τ1, τ2, …, которые вообще являются
… ≤ ti≤ …}, где ti — момент наступления i-го события. случайными величинами. Пусть интервалы τ1, τ2, ...
Однородный поток событий также может быть задан в виде независимы между собой. Тогда поток событий называется
последовательности промежутков времени между i-м и (i— потоком с ограниченным последействием.
1)-м событиями {τi}, где τi = ti – ti-1, i ≥1, t0 = 0, т.е. τ1 = t1. Рассмотрим малый интервал времени [t, t+∆t].
Таким образом, для отсчета времени наступления событий в Вероятность наступления на этом интервале одного
СМО применяются два множества времен (рис. 3.2): события обозначим через Р1(t, ∆t), вероятность наступления
двух и более событий через Р>1(t, ∆t), вероятность
Начало моделирования ненаступления события через Р0(t, ∆t). В таком случае
получаем
Наступление первого события Р0(t, ∆t) + Р1(t, ∆t) + Р>1(t, ∆t) = 1.
Поток событий называется ординарным, если Р>1(t, ∆t)
пренебрежительно мала по сравнению с Р1(t, ∆t), т.е.
t1
Р1(t, ∆t) >> Р>1(t, ∆t) и Р0 (t, ∆t) + Р1 (t, ∆t)
Наступление ≈1
второго Введем такое понятие, как интенсивность
t2
события lim P1 (t , ∆t )
ординарного потока событий λ (t ) = ∆t →0 .
∆t
τ1 τ2 Стационарным потоком событий называется поток, для
которого интенсивность не зависит от времени t и
представляет собой постоянное значение, равное среднему
Рис. 3.2. Два принципа отсчета времени в СМО числу событий, наступающих в единицу времени
λ (t ) = λ = const .
множество абсолютных времен {t1, t2, …} и множество Процесс функционирования СМО можно представить
относительных времен {τ1, τ2, …}. как процесс изменения состояний его элементов во
Потоком неоднородных событий называется времени. Переход в новое состояние для СМО означает

15 16
изменение количества заявок, которые в нем находятся (в возникающих ситуаций. Исходя из правил выбора заявок из
канале K и в накопителе H). Возможные состояния СМО: по накопителя H на обслуживание каналом K, можно выделить
накопителю - накопитель пуст, накопитель непуст, относительные и абсолютные приоритеты. Относительный
накопитель полностью заполнен; по каналу - канал приоритет означает, что заявка с более высоким при-
свободен, канал занят. оритетом, поступившая в накопитель, ожидает окончания
В сложных Q-схемах применяют композиции из обслуживания предшествующей заявки каналом и только
множества элементарных приборов обслуживания. Если после этого занимает канал. Абсолютный приоритет
каналы различных приборов обслуживания соединены означает, что заявка с более высоким приоритетом, минуя
параллельно, то имеет место многоканальное обслуживание накопитель, прерывает обслуживание каналом заявки с
(многоканальная Q-схема), а если приборы и их более низким приоритетом и сама занимает канал (при этом
параллельные композиции соединены последовательно, то вытесненная из канала заявка может либо покинуть
имеет место многофазное обслуживание (многофазная Q- систему, либо может быть снова записана на какое-то место
схема). в накопителе). В таких СМО канал может находиться в трех
Связи между элементами Q-схемы изображают в виде состояниях: свободен, занят, прерван.
стрелок (линий потока, отражающих направление движения При рассмотрении алгоритмов функционирования
заявок). Различают разомкнутые и замкнутые Q-схемы. В приборов обслуживания (каналов K и накопителей H)
разомкнутой Q-схеме выходной поток обслуженных заявок необходимо также задать набор правил, по которым заявки
не может снова поступить на какой-либо элемент, т. е. покидают H и K: для H — либо правила переполнения, по
обратная связь отсутствует, а в замкнутых Q-схемах которым заявки в зависимости от заполнения H покидают
имеются обратные связи, по которым заявки двигаются в систему, либо правила ухода, связанные с истечением
направлении, обратном движению вход-выход. времени ожидания заявки в H, для K — правила выбора
Для задания Q-схемы также необходимо описать маршрутов или направлений ухода. Кроме того, для заявок
алгоритмы ее функционирования, которые определяют необходимо задать правила, по которым они остаются в
набор правил поведения заявок в системе в различных канале K или не допускаются до обслуживания каналом K,
неоднозначных ситуациях. В зависимости от места т. е. правила блокировок канала. При этом различают
возникновения таких ситуаций различают алгоритмы блокировки K по выходу и по входу. Такие блокировки
(дисциплины) ожидания заявок в накопителе и отражают наличие управляющих связей в Q-схеме,
обслуживания заявок каналом каждого элементарного регулирующих поток заявок в зависимости от состояний Q-
обслуживающего прибора Q-схемы. схемы.
Возможны три варианта значений емкости LН
Заявки могут иметь различные приоритеты. накопителя:
Приоритеты могут быть статические и динамические. 1. LН = 0 – прибор накопитель не имеет;
Статические приоритеты назначаются заявкам заранее и не 2. LН = const – накопитель ограниченной длины
зависят от состояний Q-схемы. Динамические приоритеты (возможны потери заявок из-за переполнения
могут изменяться во время моделирования в зависимости от

17 18
накопителя); q = 1 – Pотк – доля обслуженных заявок;
3. LН = ∞ – накопитель неограниченной длины. ƒ абсолютная пропускная способность системы
A = λ·q – интенсивность заявок, обслуженных
системой;
y2 ƒ вероятность того, что обслуживанием занято k
В2 u приборов – Pk, частным случаем этого показателя
являются Pn – вероятность занятости всех
H К
приборов и P0 – вероятность того, что все
приборы свободны;
x ƒ среднее число занятых приборов
В1 y1 n
nз = w = ∑ kPk ;
Рис. 3.3. Прибор обслуживания заявок при k =1
наличии очереди ограниченной длины.
ƒ среднее число свободных приборов
n −1
Для прибора с накопителем ограниченной длины n0 = ∑ (n − k ) Pk ;
(рис. 3.3.) следует предусматривать логические вентили В1 k =0
и В2. В таком случае, если текущая длина накопителя ℓ ƒ коэффициент простоя приборов Kп =
меньше емкости LH, вентиль В1 открыт и заявки поступают n0/n;
в накопитель, вентиль В2 при этом закрыт. При ℓ= LH, ƒ коэффициент занятости приборов Kз = nз/n;
состояние вентилей меняется на противоположное и заявки ∞
будут уходить из прибора необслуженными (поток y2). ƒ средняя длина очереди r = ∑ (k − n) Pk ,
Следовательно, накопитель “следит” за состоянием k =n
вентилей с помощью потока управляющих воздействий u. m
Эффективность СМО можно характеризовать (r = ∑ rPn + r );
большим числом различных показателей [17]. К числу r =1
наиболее часто применяемых показателей относятся ƒ среднее время ожидания в очереди t оч = r / λ ;
следующие показатели (за λ и А здесь приняты ƒ среднее число заявок, находящихся в системе
интенсивности входного и выходного потоков заявок):
ƒ вероятность потери заявки Pотк, для систем с k =r + w;
потерями она равна сумме вероятности занятости ƒ средняя длительность обслуживания заявки
всех обслуживающих приборов и вероятности t обс = 1 / µ ;
переполнения очередей; ƒ среднее время пребывания заявки в системе
ƒ относительная пропускная способность системы t сист = tоч + t обс ;
19 20
ƒ вероятность того, что число заявок в очереди где λ o = A – интенсивность обслуженных заявок,
∞ λ п – интенсивность потерянных заявок.
больше некоторого числа m Pr>m = ∑ Pk .
k = m +1
Для контроля получаемых результатов удобно
пользоваться функциональными связями параметров f(t)
системы:
n0 + nз = n,
λ tоч = r , II
λ t сист = k = r + w , I
λ = λ o+ λ п,
ti t
f(t) B B

Рис. 3.5

В СМО события подразделяются на основные и на


ti t вспомогательные. К основным событиям относятся приход
заявки в модель (выход ее из источника И) и конец
τ обслуживания заявки в канале (уход ее из канала К и
удаление из модели). Время наступления основных событий
вычисляется случайным образом. Вспомогательные
Рис. 3.4 события являются следствием наступления основных
событий. Для расчета времени наступления основных
событий используют среднее время наступления события
τ и равномерный (рис. 3.4), экспоненциальный I или
нормальный II (рис. 3.5) законы распределения f(t)
случайной величины. В моделировании времена принято

21 22
выражать в целых числах. Таким образом, если применять Основное Вспомогательные события и
равномерное распределение для расчета времени, то время событие сопутствующие вычисления
наступления будущего события τ определится по формуле b. Уменьшить время τобсл = τобсл - ∆t
τ = τ − B + random ( 2 * B + 1) и будет принимать целые для заявки, обслуживающейся в
значения из диапазона [ τ -B, τ +B]. Здесь B – полуразмах
канале
2. Вычислить время прихода в модель
отклонения от среднего. Если рассматривать только
следующей заявки τпр
приходы заявок, то такой поток событий относится к потоку
Конец 1. Очередь пуста?
однородных и одинарных событий и время будущего
обслуживания Да
события (прихода следующей заявки) ti+1 будет рассчитано
заявки в канале Канал перевести в состояние
через время уже наступившего события ti (времени прихода
«свободно»
только что поступившей в модель заявки): t i +1 = t i + τ . Нет
Рассмотрим таблицу соответствия основных и a. Заявка занимает канал (длина
вспомогательных событий для простейшей СМО с одним очереди уменьшается на 1);
каналом и с одной очередью (рис. 3.11,а). Средний интервал b. Рассчитать τобсл для заявки,
занявшей канал
между приходами заявок в модель τ пр , среднее время 2. Уменьшить время τпр = τпр - ∆t для
заявки, ожидающей прибытия в
обслуживания в канале τ обсл, полуразмахи отклонений Bпр модель
и Bобсл известны. Хотя момент завершения моделирования Завершение Вывод накопленной статистики
(t=T) не является основным событием, его также включим в моделирования
таблицу.
В СМО с двумя каналами и с двумя очередями (рис.
Таблица 3.1 3.11,b) будут наблюдаться три основных события: приход
Основное Вспомогательные события и заявки в модель и завершение обслуживания в двух
событие сопутствующие вычисления каналах. Таблица соответствия событий для данной
Приход заявки 1. Канал свободен? системы будет иметь вид
Да
a. Канал перевести в состояние
«занято»;
b. Рассчитать τобсл для заявки,
занявшей канал
Нет
a. Заявка занимает очередь (длина
очереди увеличивается на 1);
23 24
Таблица 3.2 Основное Вспомогательные события и
Основное Вспомогательные события и событие сопутствующие вычисления
событие сопутствующие вычисления 3. Канал К2 свободен?
Приход заявки в 1. Канал К1 свободен? Да
модель Да a. Канал К2 перевести в состояние
a. Канал К1 перевести в состояние «занято»;
«занято»; b. Рассчитать τобсл2 для заявки, занявшей
b. Рассчитать τобсл1 для заявки, канал
занявшей канал Нет
Нет a. Заявка занимает очередь H2 (длина
a. Заявка занимает очередь H1 очереди увеличивается на 1);
(длина очереди увеличивается на 1); b. Уменьшить время τобсл2 = τобсл2 - ∆t
b. Уменьшить время τобсл1 = τобсл1 - для заявки, обслуживающейся в
канале К2
∆t для заявки, обслуживающейся в
Конец 1. Очередь H2 пуста?
канале К1 Да
обслуживания
c. Уменьшить время τобсл2 = τобсл2 - Канал К2 перевести в состояние
заявки в канале
∆t для заявки, обслуживающейся в «свободно»
К2
канале К2 Нет
2. Вычислить время прихода в модель a. Заявка покидает очередь H2 и
следующей заявки τпр занимает канал К2 (длина очереди
Конец 1. Очередь H1 пуста? H2 уменьшается на 1);
обслуживания Да b. Рассчитать τобсл2 для заявки,
заявки в канале Канал К1 перевести в состояние занявшей канал К2
«свободно» 2. Уменьшить время τпр = τпр - ∆t для
К1
заявки, ожидающей прибытия в модель
Нет
3. Уменьшить время τобсл1 = τобсл1 - ∆t для
a. Заявка покидает очередь H1 и заявки, обслуживающейся в канале К1
занимает канал К1 (длина очереди
Завершение Вывод накопленной статистики
H1 уменьшается на 1);
моделирования
b. Рассчитать τобсл1 для заявки,
занявшей канал; Для трехканальной СМО, приведенной на рис. 3.11,с,
2. Уменьшить время τпр = τпр - ∆t для предлагаем таблицу основных и вспомогательных событий
заявки, ожидающей прибытия в разработать самостоятельно.
модель; При моделировании Q-схем применяются два
алгоритма изменения модельного времени t:
25 26

принцип ∆t - с постоянным шагом приращения t
(как правило, ∆ t=1);
Определить наиближайшее
• принцип δz - с переменным шагом.
основное событие
Алгоритм работы модели по принципу ∆t можно
представить в виде схемы (рис. 3.6.)
Увеличить t до момента
наступления события
t=t+∆t

Выполнить событие
Нет
Да
Должно совершиться
основное событие?

Выполнить основное Нет Да


Должны совершиться в
событие и
этот момент времени другие
сопутствующие
основные события?
вспомогательные
события

Рис. 3.7
Рис. 3.6
Время завершения моделирования примем T=15
Алгоритм модели согласно δz представлен на ед. вр. В моменты времени, когда канал переводится в
рисунке 3.7. состояние «свободно», τобсл задается в виде фиктивного
Рассмотрим пример моделирования одноканальной числа. Использование фиктивного времени объясняется
СМО (рис. 3.11,а) по принципу ∆t. Приняты следующие тем, что поскольку в канале нет заявок, то наиближайшим
данные: τ пр =3; Bпр=2; τ обсл=4; Bобсл=1, ∆t=1 единице событием никак не может быть конец завершения
времени (ед. вр.). Следовательно, времена прихода заявок обслуживания. Оно должно быть подобрано таким образом,
τпр будут выбираться из множества {1, 2, 3, 4, 5}, времена чтобы было заведомо больше τпр и T-t.
обслуживания τобсл – из множества {3, 4, 5}, Пусть для τпр
была сгенерирована следующая последовательность
случайных чисел: 2, 4, 2, 3, 5, для τобсл –
последовательность: 3, 5, 4, 4.

27 28
В начале моделирования, когда модельное время t=0,
τпр l τобсл в модели нет заявок. Следовательно, длина очереди l=0,
T-t канал пуст: τобсл= T-t+1=16 ед. вр. Время прихода первой
2 0 16
заявки принято равным 2 ед. вр.
1 0 15 15
Блок-схема модели простейшей СМО (рис. 3.11,а.),
4 0 3 14
работающей по принципу δz, представлена на рисунке 3.9.
3 0 2 13
При t=0 длина очереди l равна 0, канал находится в
2 0 1 12 1-я заявка состоянии «свободно» - f=false.
1 0 11 11 (обслужена) Приращение времени определяется по формуле
2 0 5 10 ∆t=min{τпр, τобсл, T-t}, следующее значение модельного
1 0 4 9 времени по формуле ti+1=ti+∆t.
3 1 3 8 Условие ∆t = τпр учитывает вероятность
2 1 2 7 одновременного наступления двух основных событий:
2-я заявка
1 1 1 6 прихода заявки и ухода заявки из канала. В этом случае
5 1 4 5 (обслужена) логично вначале освободить канал, а затем обработать
4 1 3 4 приход заявки.
3 1 2 3 Рассмотрим пример моделирования одноканальной
2 1 1 2 3-я заявка
СМО (рис. 3.11,а). Приняты следующие данные: τ пр =5;
1 0 4 1 (обслужена)
Bпр=3; τобсл=4; Bобсл=1; T=1000. Одной звездочкой
0
обозначены числа, выбранные случайным образом из
множества {3, 4, 5, 6, 7}, двумя звездочками - из множества
4-я заявка {3, 4, 5}, тремя звездочками – вычисленные по формуле
5-я заявка (осталась (3.1).
t τпр l τобсл f T-t
(в модель не в канале - не 0 4* 0 1001*** False 1000
успела прийти) дообслужена) 4 7* 0 5** True 996
9 2 0 992*** False 991
11 3* 0 4** True 989
Рис. 3.8 14 7* 1 1 True 986
15 6 0 3** True 985
В рассмотренном примере фиктивное значение …
вычисляется по формуле
τобсл=T-t+1, (3.1)
но с таким же успехом могла быть использована, например,
формула τобсл=T+1.
29 30
Начало На рисунке 3.10 приведена иллюстрация потока
событий, совершающихся в модели.
В начале моделирования (t=0) вычисляется время
τ пр , прихода первой заявки в модель. Оно выбирается из
Ввод Bпр,
интервала времени [3,7]: τпр1= 4. Так как, канал свободен, то
время обработки приравнивается T+1= 1001. Множество
времен {4, 1001, 1000} можно назвать списком будущих
t=0; τобсл=T+1; f=false; l=0; событий. Список указывает, какое событие является
наиближайшим. Им является приход заявки. Модельное
τ
τпр= пр - Bпр+random(2* Bпр+1)
время увеличивается до значения 4 и обрабатывается
приход первой заявки. Пришедшая заявка занимает канал и
T=t
Да
Вывод для нее вычисляется время обслуживания в канале τобсл1
Нет
статистики (τобсл1= 5). Это время берется из интервала [3,5].
Да Конец
Рассчитывается время прихода второй заявки τпр2= 7. Время,
τобсл ≤ τпр ∆t= τпр оставшееся до конца моделирования, равно T-t = 996.
Нет Список будущих событий теперь имеет вид {7, 5, 996}.
∆t=τобсл τобсл= τобсл -∆t Таким образом, следующим значением модельного времени
будет t+∆t= 4+5= 9. На этом этапе обрабатывается конец
Да Да
l=0 f l=l+1 обслуживания заявки и, так как вторая заявка еще не
Нет f=false; Нет пришла, канал переводится в состояние «свободно». Какие
τобсл=T-t+1 f=true; события совершаются в моменты времени 11, 14 и 15
предлагаем выяснить самостоятельно.
l=l-1; τ
τпр= пр - Bпр+random(2* Bпр+1)
При приближении конца моделирования в списке
τобсл= τ - Bпр+random(2* Bобсл+1)
обсл
будущих событий наименьшим значением станет величина
Да
T-t, которая и будет принята за последнее приращение.
∆t = τпр Статистические данные вычисляются для канала, для
Нет очереди и для всей модели. Для модели вычисляется
τпр= τпр -∆t среднее время пребывания заявки в модели (без учета
заявок, оставшихся в модели в момент завершения
Да
T-t<∆t ∆t= T-t моделирования). Для очереди вычисляются максимальная
длина очереди, среднее время пребывания заявки в очереди
Нет
t=t+∆t с учетом и без учета нулевых входов, средняя длина
рис. 3.9. очереди с учетом и без учета нулевых входов. Нулевым
входом в очередь считается случай, когда заявка проходит

31 32
через очередь без задержки в ней (в очередь нет заявок, заявки и время обслуживания равномерно распределены на
канал свободен). Для канала вычисляется коэффициент его интервале τ ± B . Выходные данные оформить в виде
использования, являющийся отношением суммарного
таблицы, иллюстрирующей состояние модели при каждом
времени пребывания канала в состоянии «занято» к времени
изменении модельного времени. Таблица должна включать
моделирования T. И для канала и для очереди
поля: t, τпр , l, τобсл , f, T-t. Если система с потерями, то в
подсчитывается количество входов. Если очередь имеет
таблицу включить поле с данными по количеству
ограниченную длину, то возможно ее переполнение. Заявки,
потерянных заявок. Если СМО имеет два и более каналов,
не попадающие в очередь из-за переполнения, покидают
то таблица должна иметь соответствующие этим каналам
модель необслуженными. Такая модель называется
поля τобсл1 , τобсл2 , … . Для СМО с двумя и более
моделью с потерями. В этом случае подсчитывается
источниками предусмотреть поля τобсл1 , τобсл2 , … .
количество потерянных заявок. Потери возможны также,
Если в СМО предусмотрены разноприоритетные
если часть приходящих заявок имеет абсолютный
заявки, то 15% заявок присвоить повышенный, а остальным
приоритет и дисциплина обслуживания канала не разрешает
обычный приоритет. Если заявки имеют относительные
дообслуживание прерванных заявок. В СМО с
приоритеты, то в таблице предусмотреть столбцы l (длина
абсолютными приоритетами канал может находиться в трех
очереди заявок с обычными приоритетами) и lприор (длина
состояниях: «свободно», «занято» и «прервано».
очереди заявок с повышенными приоритетами).
Обеспечить сбор статистики.
Приход τпр1 τпр2 τпр3 τпр4
Варианты
0 4 9 11 14 15 наличие

+ с переменным шагом
Схема СМО (рис. 3.11)
приорит

приращение времени:

- с постоянным шагом
Длина очереди Lн:

+ неограниченная
Уход τобсл3 етов

- ограниченная,
τобсл1 τобсл2

№ варианта

относительного
Определяемые величины

абсолютного
сво
Состояние свободен занят бод занят
ен

Рис. 3.10. 1 2 3 4 5 6 7

1 а - + - - максимальная длина очереди

Задание 2 а - + - - средняя длина очереди


среднее время пребывания заявки в
Составить программу, моделирующую СМО в 3 а - + - -
очереди
соответствии с вариантами. Считать, что время прихода

33 34
1 2 3 4 5 6 7
среднее время пребывания заявки в 1 2 3 4 5 6 7
4 а - + - -
модели
среднее время пребывания заявки в
5 а - + - - число потерянных заявок 28 b + + - -
очереди
среднее время пребывания заявки в
6 a + - - - максимальная длина очереди 29 c + + - -
модели
7 a + - - - средняя длина очереди 30 c + + - - коэффициент занятости канала
среднее время пребывания заявки в
8 a + - - -
очереди
среднее время пребывания заявки в
9 a + - - -
модели
10 a + - - - коэффициент занятости канала
a
11 a + + + - максимальная длина очереди

12 a + + + - средняя длина очереди


среднее время пребывания заявки в
13 a + + + -
очереди
среднее время пребывания заявки в b
14 a + + + -
модели
15 a + + + - коэффициент занятости канала

16 a + + - - максимальная длина очереди

17 a + + - - средняя длина очереди


среднее время пребывания заявки в
18 a + + - -
очереди
19 a + + - -
среднее время пребывания заявки в c
модели
20 a + + - - коэффициент занятости канала

21 a + - - + максимальная длина очереди


Рис. 3.11

22 a + - - + средняя длина очереди


среднее время пребывания заявки в
23 a + - - +
очереди
среднее время пребывания заявки в
24 a + - - +
модели
25 a + - - + коэффициент занятости канала

26 b + + - - максимальная длина очереди

27 b + + - - средняя длина очереди

35 36
блок QUEUE.
Лабораторная работа 4. В моделях с разноприоритетными заявками
Система имитационного моделирования GPSS обеспечить разбиение входящего потока заявок на два
потока (бесприоритетных и с приоритетами) с помощью
Теория блока TRANSFER. Предусмотреть в такой модели три
очереди: общую для обоих потоков и по одной для каждого
Существует множество программных комплексов потока.
имитационного моделирования (AUTOMOD, ARENA, Собираемые в ходе моделирования статистические
EXTEND, MAST, Deneb, PROQUEST, Taylor II, Simplex3 и данные вывести в файл отчета, поместив их в сохраняемые
т.д.). Одним из наиболее известных комплексов является ячейки. Прогнать модель при разных наборах исходных
система имитационного моделирования общего применения данных, объяснить полученные результаты.
GPSS (General Purpose Simulation System).
GPSS предназначена для описания и исследования Варианты
моделей систем массового обслуживания (СМО). Модель
Вариант №1.
СМО состоит из элементов, называемых объектами
аппаратной категории (устройства, памяти и логические Создать программу, моделирующую процесс
ключи). Динамическими объектами в СМО являются прохождения заявок через прибор. Одна треть всех
транзакты (сообщения, заявки). Функционирование СМО поступающих заявок имеет повышенный приоритет.
представляется как процесс прохождения транзактов через Поступление заявок подчиняется равномерному закону с
объекты аппаратной и ряда других категорий. интервалом X плюс/минус 2 мин, обработка –
В процессе выполнения программы автоматически экспоненциальному со средним временем X. Если у
вычисляется статистическая информация в виде прибора нет возможности принять заявку, она становится в
стандартных арифметических атрибутов (СЧА), которые очередь.
выводятся в файл отчета по окончании моделирования. Оцените среднее время пребывания бесприоритетных
заявок в модели, затабулировав соответствующий СЧА.
Задание Аналогичную оценку сделайте и для высокоприоритетных
заявок. Начертите блок-диаграмму модели.
Построить модель, используя среду имитационного
моделирования GPSS. Вариант №2.
Очередь ограниченной длины представить в виде Рассматривается система с потерями. Число мест в
многоканального устройства (памяти), логический вентиль, очереди ограничено Z. В случае, если все Z мест в очереди
проверяющий очередь на переполнение, реализовать либо с заняты, заявка теряется. Поступление заявок подчинено
помощью блока GATE, либо блока TEST. Для сбора экспоненциальному закону, обработка - равномерному
статистики по очереди неограниченной длины использовать закону.

37 38
Меняя Z, смоделируйте систему без потерь. Вариант №5.
Начертите блок-диаграмму. Моделирование системы с отказами. Система состоит
из одного прибора, интенсивность потока отказов = 0,01.
Вариант №3.
Распределение времени восстановления -
Рассматривается система с потерями. Число мест в экспоненциальное. Среднее время восстановления равно 20.
очереди ограничено Z. В случае, если все Z мест в очереди Оцените среднее время пребывания прибора в состоянии
заняты, заявка теряется. Одна треть всех поступающих отказа. Введите дублирующий прибор с такими же
заявок имеет повышенный приоритет. Поступление заявок параметрами, который включается при отказе основного,
подчинено равномерному закону, обработка - начертите блок-диаграмму.
экспоненциальному закону.
Оцените среднее время пребывания бесприоритетных Вариант №6.
заявок в модели, затабулировав соответствующий СЧА. Рассматривается модель из 2-х приборов с отказами.
Аналогичную оценку сделайте и для высокоприоритетных Одинаковые параметры приборов: среднее время обработки
заявок. Начертите блок-диаграмму. заявок = 20; разные параметры: интенсивность отказов для
Вариант №4. 1-го прибора равна 0.0125, для 2-го прибора - 0.01.
Описание работы модели.
Моделирование многолинейной системы с потерями. Заявки поступают в среднем через 10 ед.вр. Приборы
Система состоит из 2-х приборов (1 и 2). Каждому прибору последовательно проверяются на занятость и заявка
соответствует накопитель (sys1, sys2) ёмкостью 2 и 3 занимает первый свободный прибор. Если все приборы
соответственно. Заявка пытается захватить прибор 1, а если заняты, заявка теряется. При отказе прибора заявка также
он занят, направляется в накопитель sys1. Если накопитель теряется. Оба прибора могут при отказе ремонтироваться
заполнен, заявка пытается захватить прибор 2, или одновременно, среднее время восстановления равно 25
направляется в накопитель sys2. Если заявка не может ед.вр.
войти ни в один из указанных блоков, она уничтожается. Оцените количество потерянных заявок. Измените
Поступление и обработка заявок подчинены программу, введя 3-й прибор, проанализируйте поведение
экспоненциальному закону. системы (повысилась ли надежность?). Можно ли без
Дополните программу, введя прибор 3 и накопитель ущерба для надежности заменить 2-х ремонтников одним?
sys3. Начертите блок-диаграмму.
Проанализируйте параметры. Попытайтесь
обеспечить одинаковую загрузку 3-х приборов. Изменяя Вариант №7.
параметры, создайте систему без потерь, начертите блок- Дана система, состоящая из двух приборов
диаграмму. (основного и дублирующего). Длина очереди к основному
прибору не превышает 3, заявки, не попавшие в очередь,

39 40
становятся в другую очередь с ограниченным числом мест 1000 ед.вр. Начертите блок-диаграмму.
равным 3 (к дублирующему прибору). Если и здесь мест
нет, заявка теряется. Среднее время задержки у обоих Вариант №10.
приборов 20 ед.вр. Заявки поступают в среднем через 8 Дана система из 2-х последовательно соединенных
ед.вр. приборов. Заявки поступают в среднем через 12 ед.вр.
Подсчитайте количество потерянных заявок за 1000 сначала на 1-й прибор, задерживаются в нем на 14 ед.вр.,
ед.вр. Начертите блок-диаграмму. затем на 2-й прибор, где обрабатываются в течение 16 ед.вр.
Поступление и обработка заявок подчинены
Вариант №8.
экспоненциальному закону. 2-й прибор может выходить из
Дана система, состоящая из двух параллельно строя с интенсивностью отказов 0.001. Время
работающих приборов Среднее время задержки у приборов восстановления равно 25 ед.вр. При отказе прибора заявка
равно 20 ед.вр. Длина общей очереди к ним не превышает 3, теряется.
заявки, не попавшие в очередь, теряются. Одна треть всех Необходимо написать программу, моделирующую
поступающих заявок имеет повышенный приоритет. Заявки эту систему в течение 10000 ед.вр. Выведите статистику по
поступают в среднем через 8 ед.вр. очередям в виде таблиц (для этого определить места
Подсчитайте количество потерь за 1000 ед.вр. возможного образования очередей и описать их). Оцените
отдельно для высокоприоритетных, и отдельно для количество отказов. Начертите блок-диаграмму.
бесприоритетных заявок. Начертите блок-диаграмму.
Вариант №11.
Вариант №9. Дана система, состоящая из двух последовательно
Дана система из 2-х последовательно соединенных соединенных приборов. Заявки поступают в среднем через 8
приборов. Заявки поступают в среднем через 12 ед.вр. ед.вр. Среднее время задержки у обоих приборов 20 ед.вр.
сначала на 1-й прибор, задерживаются в нем на 14 ед.вр., Десятая часть заявок после обработки в первом приборе
затем на 2-й прибор, где обрабатываются в течение 16 ед.вр. возвращается на повторную обработку, причем среднее
Заявки, обрабатывавшиеся в первом приборе за время более время задержки в первом приборе при этом уменьшается до
16 ед.вр., получают более высокий приоритет перед 10.
другими заявками при прохождении через вторую очередь. Выведите статистику по очередям в виде таблиц за
Поступление и обработка заявок подчинены 1000 ед.вр. Определите среднее время пребывания заявок в
экспоненциальному закону. модели и вероятность обслуживания заявки в первом
Необходимо написать программу, моделирующую приборе три и более раз. Начертите блок-диаграмму.
эту систему. Выведите статистику по очередям в виде
таблиц (для этого определить места возможного Вариант №12.
образования очередей и описать их). Подсчитайте Создать программу, моделирующую процесс
количество высокоприоритетных заявок, обслуженных за

41 42
прохождения заявок через прибор. Модель имеет два прибору равна 5, к второму прибору – 8.
источника поступления заявок, один из которых выпускает Заявки поступают в среднем через 8 ед.вр.
заявки с повышенным приоритетом. Бесприоритетные Пришедшая в модель заявка занимает очередь с меньшей
заявки поступают в среднем через 10 ед.вр., длиной, и после обслуживания в соответствующем приборе
высокоприоритетные - через 20 ед.вр. Если у прибора нет покидает модель. Если в обеих очередях нет места, заявка
возможности принять заявку, она становится в очередь, теряется. При отказе прибора заявка также теряется. Оба
число мест которой ограничено Z. Очередь организована прибора могут при отказе ремонтироваться одновременно,
таким образом, что на две высокоприоритетные заявки среднее время восстановления равно 25 ед.вр.
пропускается одна низкоприоритетная. Среднее время Оцените количество потерянных заявок. Начертите
обработки в приборе равно 25. блок-диаграмму.
Оцените среднее время пребывания
низкоприоритетных заявок в модели, затабулировав Вариант №15.
соответствующий СЧА. Аналогичную оценку сделайте и Дана система, состоящая из двух последовательно
для высокоприоритетных заявок. Определите количество соединенных приборов. Заявки поступают в среднем через 8
потерь для каждого типа заявок для времени моделирования ед.вр. Если средняя длина очереди к первому прибору
1000 ед.вр. Начертите блок-диаграмму модели. больше 3, то время обработки в данном приборе равно 7
ед.вр., противном случае оно равно 12 ед.вр. Среднее время
Вариант №13. задержки у второго прибора постоянно и равно 6 ед.вр.
Дана система, состоящая из двух приборов Получите диаграмму распределения времени
(основного и дублирующего). Заявки поступают в среднем нахождения заявки в модели. Начертите блок-диаграмму.
через 8 ед.вр. и после обработки в основном приборе
покидают систему. Если средняя длина очереди к
основному прибору превышает 3, заявки становятся в
очередь к дублирующему прибору. Среднее время задержки
у первого прибора 12 ед.вр., у второго - 6 ед.вр.
Выведите статистику по очередям. Подсчитайте
количество обслуженных заявок за время моделирования
1000 ед.вр. Начертите блок-диаграмму.

Вариант №14.
Рассматривается модель из 2-х параллельно
соединенных приборов с отказами. Параметры приборов
одинаковы: среднее время обработки заявок = 20;
интенсивность отказов = 0.01. Длина очереди к первому

43 44
x1 y1
Лабораторная работа 5.
Проведение однофакторных экспериментов
“черный ящик”

Теория
xm yk
Построение математических моделей с
использованием только аналитических методов, как Рис 5.1. Представление системы в виде «черного
правило, трудно реализуемо на практике из-за недостатка ящика»
необходимой информации о моделируемом процессе или
объекте. Поэтому, помимо аналитического подхода Планирование экспериментов основано на
используют и экспериментальные методы, позволяющие представлении объекта как «черного ящика» (рис. 5.1), на
либо получить необходимые для построения модели вход, которого подаются переменные: х1, х2,..., xk, и на
данные, либо получить собственно математическое выходе получают у1, у2, ..., уk. Целью экспериментов
описание объектов в упрощенном виде. является изучение влияния переменных х (называемых
Имитационное моделирование является машинным факторами) на переменные у (называемых реакциями,
экспериментом над моделью исследуемой или откликами). В экспериментах над моделями фактор
проектируемой системы. Эффективность же использования является экзогенной или управляемой (входной)
экспериментальных ресурсов зависит от выбора плана переменной, а реакция — эндогенной (выходной)
эксперимента. Для этого необходимо проектировать не переменной.
только саму модель, но и планировать процесс ее Соотношения между реакциями (откликами)
использования, т. е. проведения с ней экспериментов на системы и факторами
ЭВМ. Основная задача планирования машинных  y1 = ψ 1 (x 1 , х 2 , ..., x m )
экспериментов — получение необходимой информации об  y = ψ (x , х , ..., x )
 2 2 1 2 m
исследуемой системе с учетом таких ограничений, как 
уменьшение затрат машинного времени на моделирование,  Λ
увеличение точности и достоверности результатов  y k = ψ k (x 1 , х 2 , ..., x m )
моделирования, проверка адекватности модели и т. д.
Весь процесс проведения эксперимента можно
разбить на три этапа.
1. Разработка плана проведения серии
экспериментов.
2. Проведение экспериментов.
3. Обработка полученных данных
(регрессионный анализ).

45 46
называют функциями реакции (или уравнениями
регрессии), а геометрический образ, соответствующий
функциям реакции, - поверхностями реакции. Каждый
фактор хi (i=1, m) может принимать в эксперименте одно из
нескольких значений, называемых уровнями, как показано
а б

в
Рис. 5.3
аналитического описания функции y = ψ(x) можно было бы
применить полином. Например, при наличии всего лишь
двух экспериментальных точек через них можно провести
простейшую кривую в виде прямой, т.е. уравнение
регрессии имело бы вид y = b0 + b1 x . В случае n=3
применима формула параболы y = b0 + b1 x + b2 x 2 , для n
точек - полином n степени (рис. 5.3, б). Однако следует
Рис. 5.2
учитывать тот момент, что в машинных экспериментах
на рис.5.2 для случая двух факторов х1 и х2 и одной функции изучаемая модель является лишь приближенной копией
отклика (для х1 выбрано три уровня, для х2 - два). реального объекта или процесса и, следовательно,
В лабораторной работе будет рассматриваться случай, когда полученные в ходе проведения опытов значения yi содержат
наблюдение ведется лишь за одной функцией отклика (k=1) некоторые погрешности. Данное обстоятельство не
при одном изменяемом факторе (m=1). Все дальнейшие позволяет требовать, чтобы кривая уравнения регрессии
рассуждения касаются именно этого случая. проходила обязательно через все экспериментальные точки,
Любая функция может быть представлена в а требовать, чтобы она лишь приближенно описывала
табличном, аналитическом или в графическом видах. зависимость функции отклика y от фактора x (рис. 5.3, в).
Получаемая в ходе проведения эксперимента функция Вид уравнения регрессии выбирается достаточно простым
отклика имеет табличное представление, т.е. задается n и содержащим небольшое число параметров. Наибольшее
парами значений абсцисс xi и ординат yi (рис. 5.3, а), где n – применение получили такие зависимости, как
количество уровней изменения фактора x. Для • линейная y = b0 + b1 x ;

47 48
b1 минимальное расхождение между расчетными и
• гиперболическая y = b0 + ; измеренными значениями y.
x
• степенная y = b0 ⋅ x b1 ; Имеется другой вариант функции (5.1)

• показательные: y = 10 b0 +b1x и y = b0 ⋅ b1 ;
x
2
1 n  y i − ψ ( xi ) 
• экспоненциальные: y = e и y = b0 ⋅ e ; b0 + b1 x b1 x Z= ∑
n i =1  ψ ( xi ) 
 → min , (5.2)
• логарифмические: y = b0 + b1 lg x и
y = b0 + b1 l n x ; которая позволяет достичь более точной аппроксимации для
• параболическая y = b0 + b1 x + b2 x . 2 малых значений ординат функции отклика. Недостатком
этой формулы является «завышение» графика получаемой
Таким образом, результатом проведенных аналитической зависимости.
экспериментов является таблица значений xi и yi. Далее Для вышеприведенных аналитических зависимостей
выбирается аналитический вид функции y(x). На имеются готовые алгоритмы нахождения bj, однако в
следующем этапе вычисляются параметры bj выбранной данной работе мы применим общий подход, основанный на
функции, которая бы с минимальной погрешностью использовании оптимизирующих методов. Отметим, что
приближалась бы к исходной функции yi(xi).Для функция, значение которой минимизируется, называется
определения bj используется метод наименьших целевой, а методы, предназначенные для поиска минимума
квадратов (МНК), основная цель которого состоит в целевой функции, носят название оптимизирующих, одним
минимизации функции среднеквадратичного отклонения: из которых является метод деформируемого многогранника
(метод Нелдера-Мида) [1]. Описание алгоритма данного
n метода дано в Приложении.
∑(y i − ψ ( xi ) )
2
Для вычисления bj также воспользуемся
Z= i =1
→ min (5.1) возможностями MS Excel.
n
Задание
Если бы в качестве аналитической функции была бы
выбрана линейная зависимость, то функция Z будет иметь Цель работы: выбор вида уравнения регрессии
вид: y=ψ(x) и вычисление его коэффициентов на основе
n
обработки результатов эксперимента.
∑(y i − b0 − b1 xi )
2
В соответствии с вариантом составить GPSS-модель.
Z= i =1
Обеспечить вывод в файл отчета с помощью сохраняемых
n
Итак, весь процесс сводится к нахождению таких ячеек значений заданного уровня фактора и получаемой в
значений коэффициентов b0, b1, которые давали бы ходе эксперимента функции отклика.

49 50
Провести эксперименты над GPSS-моделью и Повторные расчеты необходимы для выявления
полученные результаты yi занести в таблицу Excel под наличия у целевой функции помимо глобального минимума
заголовками xi и yi (experim). еще и локальных. При наличии у функции нескольких
Выбрать необходимый вид аналитической минимумов расчеты по программе могут привести к
зависимости y = ψ(x) и для вычисления коэффициентов bj различным результатам, т.е. к разным значениям координат
выбранного уравнения регрессии формулу целевой точки минимума с разными значениями целевой функции в
функции внести в программу nm.pas. Также в программу них. Глобальному минимуму будет соответствовать точка с
ввести значения xi и yi. Учесть, что в программе искомые наименьшим значением целевой функции.
значения обозначены как x, т.е. коэффициент b0 следует После определения коэффициентов bi сравнить
записать как x[1], b1 — как x[2] и т.д. Для фактора следует теоретические и экспериментальные значения функции
создать одномерный массив, определив его как отклика, добавив к таблице Excel столбец yi (teoret1) с
типизированную константу. Например, вычисленными по уравнению регрессии теоретическими
const значениями. Вычисления проводить с помощью формул
ur=5; {число уровней} Excel, для чего найденные значения bi также занести в
fact:array[1.. ur] of real = … рабочий лист Excel.
Используя первые два столбца таблицы Excel,
Значения функции отклика следует также занести в построить диаграмму типа точечная/точечная. Добавить
типизированную константу-вектор. Впрочем, значения линию тренда, активировав при этом флажки «Поместить
фактора и функции отклика можно записать и в операторе уравнение на диаграмме» и «Поместить на диаграмму
вычисления целевой функции. величину достоверности аппроксимации R2». Чем ближе
значение R2 к единице, тем точнее аппроксимация.
Провести вычисления, повторив их не менее пяти Используя R2, выбрать из списка предлагаемых Excel
раз, меняя каждый раз координаты начальной вершины функций наиболее подходящий вид уравнения регрессии.
многогранника (см. Приложение). Результаты расчетов Значения yi, рассчитанные по выбранному уравнению,
занести в таблицу 5.1. добавить к таблице Excel в виде четвертого столбца
Таблица 5.1 yi (teoret2).
Исходные данные Результат Используя возможности Excel, рассчитать
Номер Значение среднеквадратичные отклонения по формуле (5.1) для обоих
Размер
прогона b0 … bn b … bn целевой уравнений регрессии и выбрать наиболее оптимальный
многогранника 0
функции вариант уравнения.
1 На основе анализа полученного регрессионного
… уравнения сделайте вывод о том, какие меры следует
5 принять для улучшения характеристик модели.

51 52
10 GENERATE 1000
Пример выполнения задания 11 SAVEVALUE SRDLOR,QA$OR
Задание. 12 TERMINATE 1
Поступление заявок подчиняется равномерному START 1
закону с интервалом X плюс/минус 2 мин, обработка – END
экспоненциальному со средним значением 10 мин. Если у Ниже приведены результаты 5 прогонов модели
прибора нет возможности принять заявку, она становится в VALUE
очередь OR. Исследовать зависимость средней длины SAVEVALUE Номер прогона
очереди от времени прихода заявок. 1 2 3 4 5
Решение.
INTER +7 +8 +9 +10 +11
Выберем экспериментальное окно для значения X в
пределах [7, 11] с количеством уровней равным 5. Таким SRDLOR +11 +5 +2 +1 +0
образом, X при каждом новом прогоне модели будет
принимать значения 7, 8, …, 11. Значения X и средней На рисунке 5.4 показаны три варианта уравнения
длины очереди OR будем выводить в отчет с помощью регрессии, полученных с помощью Excel. Наилучшая
сохраняемых ячеек INTER и SRDLOR. Время аппроксимация достигнута для квадратного полинома.
моделирования выберем равным 1000. Текст программы
имеет вид
SIMULATE
1 EXPON FUNCTION RN3,C24
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69
.6,.915/.7,1.2/.75,1.38/.8,1.6/.84,1.83/.88
,2.12
.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2/.
97,3.5
.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/1.
,8
2 INITIAL X$INTER,7
3 GENERATE X$INTER,2
4 QUEUE OR Рис. 5.4
5 SEIZE 1
Отметим, что две другие функции приводят к
6 DEPART OR
отрицательным значениям, тогда как действительная кривая
7 ADVANCE 10,FN$EXPON
функции средней длины очереди должна асимптотически
8 RELEASE 1
приближаться к оси абсцисс, не пересекая ее. Также
9 TERMINATE
53 54
отметим, что и полиномиальная кривая при ее z:=z+sqr((funct[i]-y_theor1)/y_theor);
экстраполяции вправо (за пределы экспериментального end;
окна) приводит к увеличению значения средней длины, что z:=sqrt(z/ur)
тоже неверно. end;
Проведем расчеты с помощью программы nm.pas.
Учитывая, что полученные с помощью Excel функции Результаты пяти прогонов сведены в таблицу 5.2.
плохо описывают поведение исследуемой величины в Таблица 5.2
последней четверти экспериментального окна, выберем в Исходные данные Результат
качестве целевой функцию (5.2). Добавим проверку

прогона

многогран
Номер
Значение

Размер
функции отклика на неотрицательность - если указанное

ника
b0 b1 b2 b0 b1 b2 целевой
условие будет нарушено, то значение функции отклика функции
будет увеличиваться в 10 раз, что приведет к возрастанию
целевой функции. Проверим на пригодность в качестве 1 1 1 1 1 -1,04 7,70 -6,45 0,471
2 3 3 3 3 -7,78 58,32 -3,50 0,484
аппроксимирующего уравнения несколько измененную
3 -5 35 -5 1 -2,95 16,35 -5,84 0,451
b 4 -3 10 -5 2 -2,66 14,72 -5,96 0,451
версию гиперболической зависимости: y = b0 + 1
b2 + x 5 -6 40 1 1 -5,51 34,35 -4,77 0,463
const
ur=5; Анализ показывает, что наблюдается довольно
fact:array[1..ur] of большой разброс значений коэффициентов. Выберем третий
real=(7,8,9,10,11); 16,35
вариант: y = −2,95 + . Отметим, что экстраполяция
funct:array[1..ur] of x − 5,84
real=(11,5,2,1,0); по этой формуле также ведет к ошибочным результатам: за
{Вычисление целевой функции} правую границу экспериментального окна дает
procedure functmin(var z:real; b:vect1); отрицательные значения, а за левой границей функция
var i:integer; стремится к бесконечности при x → 5,84. Данный пример
y_theor,y_theor1:real; показывает, что регрессионные уравнения применимы
begin только в пределах экспериментального окна, в рамках
tev:=tev+1; которого они получены, а экстраполяция допустима лишь
z:=0; на небольшое расстояние.
for i:=1 to ur do
begin Второй проверенной формулой стала
y_theor:=b[1]+b[2]/(b[3]+fact[i]); логарифмическая зависимость y = b0 + b1 ln(b2 + x ) ,
if y_theor<0 then y_theor1:=y_theor*10
приведшая к результатам b0 = 25,33, b1 = -12,03 и b2 = -2,78
else y_theor1:=y_theor;
при значении целевой функции 0,536. На рисунке 5.5

55 56
приведены сравнительные графики полученных уравнений
регрессии. Здесь Ряд1 соответствует экспериментальным Варианты
точкам, Ряд2 – гиперболе, Ряд3 - логарифмической
зависимости. Более точной является гиперболическая

задания из
лаб. раб. 4
Вариант

Вариант
зависимость. Варьируемый фактор Функция отклика

Интенсивность отказов Количество


1 14
приборов потерянных заявок
Среднее время
Процент заявок с пребывания
2 1
повышенным приоритетом бесприоритетных
заявок в модели
Максимально допустимая Число потерянных
3 2
длина очереди Z заявок
Среднее время
Максимально допустимая пребывания
4 3
длина очереди Z бесприоритетных
заявок в модели
Рис. 5.5.
Интервал поступления Количество
5 4
заявок потерянных заявок
Отметим, что хотя расчеты с использованием Коэффициент
оптимизирующих методов являются более трудоемкими, 6 5
Интенсивность потока использования
чем, например, с помощью Excel, они дают исследователям отказов дублирующего
прибора
более гибкие возможности по подбору вида
аппроксимирующей зависимости. 7 6
Интервал поступления Количество
заявок потерянных заявок
Максимально допустимая
Количество
8 7 длина очереди к основному
потерянных заявок
прибору
Максимально допустимая Количество
9 8
длина очереди потерянных заявок

57 58
Лабораторная работа 6.

задания из
лаб. раб. 4
Вариант

Вариант
Варьируемый фактор Функция отклика Проведение многофакторных экспериментов
Теория
Среднее время Как и в предыдущей работе наблюдение будет
Время обслуживания в пребывания
10 9
первом приборе бесприоритетных
вестись за одной функцией отклика, но отличие от той
заявок в модели работы будет состоять в том, что будет несколько факторов:
Средняя длина y = ψ(x1, х2, ..., xm).
Время восстановления 2-го
11 10 очереди к 2-му При планировании эксперимента с моделью
прибора
прибору необходимо отобрать факторы хi, влияющие на искомую
Процент возвращаемых на Среднее время
характеристику, установить диапазоны изменения факторов
12 11 вторичную обработку пребывания заявок в
заявок модели – границы экспериментального окна: [ximin; ximax],
Среднее время определить требуемое количество уровней для каждого
пребывания фактора, оценить необходимое число реализации и их
13 12 Число мест в очереди
низкоприоритетных порядок в эксперименте. Выбранные факторы должны быть
заявок в модели управляемы. Фактор называется управляемым, если его
Коэффициент
Средняя длина очереди к использования
уровни целенаправленно выбираются исследователем в
14 13 процессе эксперимента. Выбранные факторы также должны
основному прибору дублирующего
прибора быть совместимы и независимы. Совместимость факторов
означает, что все их комбинации осуществимы, а
независимость соответствует возможности установления
фактора на любом уровне независимо от уровней других.
Эксперимент, в котором реализуются все возможные
состояния уровней факторов, называется полным
факторным экспериментом (ПФЭ). Общее число
различных состояний уровней в ПФЭ можно определить по
формуле:
S = k1 · k2 · k3 ·… ki ·… km ,
где ki – число уровней i-го фактора. Если число уровней
для всех факторов одинаково, то S = km. Каждому
сочетанию уровней факторов соответствует одно
наблюдение функции отклика. Очевидно, что увеличение
числа факторов и числа уровней приводит к резкому росту

59 60
числа наблюдений. Если имеется два фактора и для каждого Таблица 6.2.
из них задаются по три уровня, то для проведения
Номер План ПФЭ
эксперимента потребуется S = 32 = 9 наблюдений, для Реакция y
четырех факторов и четырех уровней - S = 44 = 256 испытания x1 x3 x3
наблюдений. Для уменьшения числа наблюдений 1 x1min x2min x3min y1
применяют план эксперимента с варьированием всех m
факторов на двух уровнях: ximin, ximax. Количество 2 x1min x2min x3max y2
наблюдений функции отклика в этом случае составит 3 x1min x2max x3min y3
S = 2m, а саму функциюψ приближенно можно представить
в виде линейного полинома: 4 x1min x2max x3max y4
y = b0 + ∑ bi x i + ∑ bij x i x j + Κ + ∑ bij ... k xi x j ... x k (6.1) 5 x1max x2min x3min y5
1≤ i ≤ m 1≤ i ≤ j ≤ m 1≤ i ≤ j ≤...≤ k ≤ m

Коэффициент bi отражает влияние фактора xi на 6 x1max x2min x3max y6


реакцию y, коэффициент bij – взаимовлияние факторов xi и 7 x1max x2max x3min y7
xj, коэффициент bij…k – взаимовлияние факторов xi , xj , …,
xk. 8 x1max x2max x3max y8
В таблице 6.1 приведен план проведения
двухфакторного эксперимента: S = 22 . Уравнение регрессии ψ можно представить в виде
Таблица 6.1 y = b0 + b1 x1+ b2 x2+ b3 x3+ b4 x1 x2+ b5 x2 x3+ b6 x1 x3+

Номер План ПФЭ + b7 x1 x2 x3.


Реакция y
испытания x1 x2 Коэффициент b7 учитывает взаимовлияние всех трех
факторов друг на друга.
1 x1min x2min y1
2 x1min x2max y2 Основная идея регрессионного анализа
3 x1max x2min y3 Для исследования взаимосвязи между величинами Х
(вход) и y (выход) используются методы корреляционного и
4 x1max x2max y4 регрессионного анализа. Результаты корреляционного
анализа позволяют сделать вывод о степени зависимости
Функция отклика ψ при этом будет иметь вид между переменными, а форма зависимости уточняется
y = b0 + b1 x1+ b2 x2+ b3 x1 x2. методами регрессионного анализа.
Для ПФЭ типа 23 план эксперимента приведен в На значение величины y оказывают влияние
таблице 6.2. стохастические воздействия разного рода, поэтому форма
связи между величинами Х и y определяется линией
61 62
регрессии, показывающей, как в среднем изменяется где yi - фактическое (экспериментальное) значение
величина y при изменении входной величины Х, т.е. выходной переменной,
приходится говорить о связи средних значений величины y ~
yi - рассчитанное по уравнению регрессии значение
c X. Эту связь характеризуют условным математическим выходной переменной.
ожиданием величины y, вычисляемым при условии, что Выражение (6.2) с учетом (6.1) будет иметь вид:
величина Х приняла определенное значение, а k
Z = ∑ ( y i − (b0 + b1 xi1 + b2 xi 2 + ... + bn xi1 xi 2 ...xim )) → min .
2
аппроксимирующая функция строится как функция
i =1
регрессии ψ(X, B) ≈ M[y/X], где B - неизвестные (6.3)
параметры уравнения регрессии. В данной работе для вычисления b0, b1,…, bn следует
Задача регрессионного анализа ставится следующим использовать метод Нелдера-Мида, который реализован в
образом. Для каждого i-го опыта имеется набор значений программе nm.pas.
(xi1,...,xim) входных параметров Отметим, что современные системы моделирования
x1 ÷ xm и соответствующее им значение выходного позволяют полностью автоматизировать весь процесс
параметра yi. Пример опытных данных приведен в проведения многофакторных экспериментов, начиная с
таблице 6.3. составления плана эксперимента, непосредственно
Таблица 6.3 проведения экспериментов и завершая оценкой влияния
Номер Факторы Измеренная в ходе факторов на функцию отклика. В качестве примера можно
испытания x1 x2 --- xm эксперимента привести общецелевую систему моделирования GPSS World
реакция y [3]. Исследователь для своей модели указывает функцию
1 x11 x12 --- x1m y1 отклика и факторы, назначает нижнюю и верхнюю границы
2 x21 x22 --- x2m y2 интервала варьирования каждого фактора, выбирает тип
----- ----- ----- --- ----- ----- эксперимента: дисперсионный или регрессионный анализ.
k xk1 xk2 --- xkm yk Дисперсионный анализ (отсеивающий эксперимент)
показывает силу влияния каждого фактора на наблюдаемую
Задача сводится к определению значений величину (отклик). Регрессионный анализ
коэффициентов уравнения регрессии b0, b1, ... , bn, которые с (оптимизирующий эксперимент) позволяет получить
определенной степенью вероятности будут отражать уравнение регрессии и определить для полученного
влияние аргументов xi1,..., xim на y. уравнения координаты точки экстремума.
Для определения bk используется метод
наименьших квадратов (МНК), смысл которого сводится
к минимизации функции:
k
Z = ∑ ( yi − ~
y i ) → min ,
2

i =1
(6.2)
63 64
Таблица 6.4
Задание x1min x1max
x2min y1 y3
Цель работы: определить коэффициенты b0, b1, ... , x2max y2 y4
bn уравнения регрессии y=ψ(X) на основе обработки
результатов эксперимента. Тип графика выбрать Поверхность, проволочная.
В соответствии с вариантом составить GPSS-модель. На основе анализа полученного регрессионного
Разработать план проведения эксперимента, следуя уравнения сделайте вывод о том, какие меры следует
следующим указаниям: принять для улучшения характеристик модели.
− для каждого фактора определить по два уровня -
ximin, ximax; Варианты
− в Excel построить таблицу, аналогичную
Варьируемые факторы

Вариант
таблице 6.3.

Задача
Провести эксперименты над GPSS-моделью и Функция отклика Первый Второй
полученные результаты yi занести в таблицу 6.3. фактор фактор
Для вычисления коэффициентов bi уравнения
коэффициент
регрессии формулу (6.3) внести в программу nm.pas. Для 1 использования первого

интервалы времени между поступлениями задач


факторов следует создать двумерный массив, определив его процессора
как типизированную константу. Например, коэффициент
const 2 использования второго
ur=2; {число уровней} процессора

интервал моделирования
коэффициент
m=2; {число факторов} 3 использования внешней

x 1max =500 задач


x 1min =100 задач

x 2max =8 ед.вр.
fact:array[1.. ur, 1..m] of real = …

x 2min =2 ед.вр.
памяти
среднее время нахождения
Методика вычислений такая же как и в предыдущей 4 1 транзакта в системе
работе. Результаты расчетов занести в таблицу, средняя длина очереди:
аналогичную 5.1. 5,
5) A1;
6,
После определения коэффициентов bi следует 7
6) A2;
сравнить теоретические и экспериментальные значения 7) A3
функции отклика, добавив к таблице 6.3. столбец ~ y с максимальная длина
8, очереди:
вычисленными по (6.1) теоретическими значениями. 9, 8) A1;
В случае, если проводился двухфакторный 10 9) A2;
эксперимент, построить график поверхности отклика. Для 10) A3
этого заполнить таблицу 6.4.

65 66
Задача 1
Варьируемые факторы
Вариант

Задача
Функция отклика Первый Второй Требуется промоделировать решение задач в
фактор фактор двухпроцессорной ЭВМ с общей памятью, разделенной на
восемь блоков. Каждой задаче отводится при ее решении
коэффициент
11 использования первого один блок. Интервалы времени между поступлениями задач
В задаче 1 предусмотреть уход транзактов из системы без

процессора распределены по экспоненциальному закону со средним


обслуживания, если длина очереди А1 превысит 5

временем 8 единиц времени, время обработки порции

интервалы времени между поступлениями задач


коэффициент
12 использования второго информации также подчинено экспоненциальному закону с
процессора интенсивностью v1=5 в процессоре CPU1 и с v2=2 в
коэффициент
13 использования внешней
процессоре CPU2.

интервал моделирования
памяти Между обработкой порций с вероятностью 0,6
возможно обращение к внешней памяти, в которой время

x 1max =500 задач


x 1min =100 задач

x 2max =8 ед.вр.
x 2min =2 ед.вр.
среднее время нахождения
14 обслуживания распределено равномерно в диапазоне [2,8].
транзакта в системе
С вероятностью 0,4 задачи оказываются решенными и
средняя длина очереди:
15, покидают систему. Моделирование выполнить на отрезке
15) A1;
16, времени, соответствующем решению не менее 100 задач.
16) A2;
17
17) A3 Ниже представлена схема имитационной модели и текст
максимальная длина программы на языке GPSS.
18, очереди:
19, 18) A1;
20 19) A2; MEM STORAGE 8
20) A3 EXP FUNCTION RN1,C12
количество заявок,
21 покинувших систему без 0,0/.2,.22/.4,.51/.5,.69/.6,.92/.7,1.2/.8,1
обработки. .61/
коэффициент .9,2.3/.95,3/.99,4.6/.999,6.9/1,100
количество дисководов

22, использования:
GENERATE 8,FN$EXP,,100
единица времени

23, 22) A1;


x 1max = 1,7 мс

QUEUE A1
x 1min = 1 мс

24 23) A2;
x 2max = 4
x 2min = 3

2
24) A3 ENTER MEM,1
DEPART A1
средняя длина очереди: M6 QUEUE A2
25,
25) A1;
26
26) A4
TRANSFER BOTH,M1,M2
M1 SEIZE CPU1
DEPART A2
ADVANCE 5,FN$EXP
67 68
RELEASE CPU1 TRANSFER .333,M2,M1
TRANSFER ,M3 M2 TRANSFER .5,M4,M3
M2 SEIZE CPU2 M1 QUEUE A1
DEPART A2 SEIZE DISK1
ADVANCE 2,FN$EXP DEPART A1
RELEASE CPU2 ASSIGN 1,DISK1
M3 TRANSFER .6,M5,M4 ADVANCE 15,15
M4 QUEUE A3 TRANSFER ,M5
SEIZE DISK M3 QUEUE A2
DEPART A3 SEIZE DISK2
ADVANCE 5,3 DEPART A2
RELEASE DISK ASSIGN 1,DISK2
TRANSFER ,M6 ADVANCE 15,15
M5 LEAVE MEM,1 TRANSFER ,M5
TERMINATE 1 M4 QUEUE A3
Задача 2 SEIZE DISK3
DEPART A3
Промоделировать работу устройства дисковой ASSIGN 1,DISK3
памяти при наличии одного канала и трех дисководов. ADVANCE 15,15
Запросы поступают равновероятные ко всем дисководам. M5 QUEUE A4
Обработка запроса включает установку головки (при этом SEIZE CAN
канал не требуется) и обмен данными через канал. DEPART A4
Интервалы времени между поступлениями запросов ADVANCE 1
распределены по экспоненциальному закону с v=6. Время RELEASE CAN
установки головки равномерно распределено в интервале 0 - RELEASE P1
50 мс. Время обмена данными равно 1,7 мс (за единицу TERMINATE 1
времени принять 1,7 мс).
Ниже приведен текст программы на языке GPSS.

EXP FUNCTION RN1,C12

0,0/.2,.22/.4,.51/.5,.69/.6,.92/.7,1.2/.8,1
.61/
.9,2.3/.95,3/.99,4.6/.999,6.9/1,100
GENERATE 6,FN$EXP
69 70
Литература Приложение

1. Банди Б. Методы оптимизации. Вводный курс: Пер. с Метод деформируемого многогранника


англ. – М.: Радио и связь, 1988.
2. Боев В.Д. Моделирование систем. Инструментальные Метод деформируемого многогранника или, второе
средства GPSS World: Учеб. пособие. – СПб.: его название, - метод Нелдера-Мида (Nelder-Mead)
БХВ-Петербург, 2004. – 368 с. относится к методам оптимизации нулевого порядка, то
3. Голованов О. В., Дуваков С., Смирнов В. Н. есть к методам, использующим в ходе поиска минимума
Моделирование сложных дискретных систем на ЭВМ значения только самой функции. Функции первого порядка
третьего поколения (опыт применения GPSS). – М.: для поиска минимума помимо значений самой целевой
Энергия, 1978. – 160 с. функции используют еще и значения ее первой
4. Курс лекций по дисциплине «Компьютерное производной, методы второго порядка – значения второй
моделирование»/ Сост. Алтаев А.А. – Улан-Удэ, Изд-во производной и т.д.
ВСГТУ, 2001. – 63 с.
5. Наставление по GPSS/PC. Minuteman Software: Пер. с
англ. под ред. И. М. Якимова.– Казань, 1997. — 320 с. x2
6. Советов Б. Я., Яковлев С. А. Моделирование систем:
Учебник для ВУЗов. – М.: Высшая школа, 1999.
7. Советов Б. Я., Яковлев С. А. Моделирование систем.
Лабораторный практикум. – М.: Высшая школа, 1989.
8. Федоров В.Н. Моделирование дискретных систем.
Учебное пособие – М.: МГАПИ, 2005. – 92 с.
9. Шеннон Р. Дж. Имитационное моделирование систем -
искусство и наука. – М.: Мир, 1978. - 418 с. x1 x1
10. Шрайбер Т. Дж. Моделирование на GPSS. – М.:
Машиностроение, 1980. - 592 с. а б
Рис. П.1

Рассмотрим алгоритм метода в его классическом


варианте. Итак, пусть необходимо найти минимум целевой
функции от n переменных. В n-мерном эвклидовом
пространстве строится многогранник с n+1 вершиной.
Например, в случае одной переменной многогранником

71 72
будет отрезок (рис. П.1,а), для двух переменных − вершина будет заменяться на новую, в которой значение
треугольник (рис. П.1,б), при n=3 − это тетраэдр. целевой функции будет меньше. Это позволит смещать
Далее используются следующие обозначения: xij − многогранник в направлении минимума.
координата i-й вершины, j − номер переменной, fi — x2
значение целевой функции i-й вершины. Помимо матрицы E
X(N+1,N) и вектора F(N+1) применяются вспомогательные
векторы XO(N), XC(N), XR(N), XE(N).
В качестве исходных данных задаются:
R
− n − число переменных;
− координаты первой вершины многогранника
− x1j, где j = 1, n ;
O
− начальный размер многогранника ∆. Линии
Координаты других вершин определяются по равного
формуле C
уровня
 x1 j , если i ≠ j + 1 H
функции
xij =  , i = 2, n + 1 .
 x1 j + ∆ , если i = j + 1
x1
При этом создается равносторонний многогранник,
называемый симплексом. Сам метод по этой причине имеет
третье название − симплексный метод (не путать с
симплекс-методом, который используется при решении Рис. П.2
задач линейного программирования). 2. Вычисляются координаты центра тяжести O всех
Далее вычисляются значения целевой функции в вершин многогранника, исключая H :
вершинах − fi .
 n+1 
Дальнейшие действия состоят в перемещении  ∑ xij  − xhj
построенного многогранника в область минимума функции.
Алгоритм перемещения рассмотрим на примере целевой xo j =  i 
.
функции от двух переменных (рис. П.2). n
1. Определяется вершина с наибольшим значением 3. Вычисляются координаты точки R, лежащей на
целевой функции. Номер такой вершины обозначим через продолжении отрезка HO, причем длины отрезков HO и OR
H. Таким образом, fh = max{f1, f2,…, fn}. Также определяется равны:
вершина L с наименьшей функцией: fl = min{f1, f2,…, fn}. xrj =2·xoj − xhj.
Комментарий по алгоритму. Основная идея метода 4. Вычисляется целевая функция в точке R − fr .
состоит в том, что на каждом шаге очередная «наихудшая» 5. Если fr < fh , то идти к п. 6, иначе к п. 13.

73 74
Комментарий по п.5. Если выполняется условие fr xhj =xcj .
< fh , то это означает, что точка R вполне может быть 17. Идти к п. 20.
принята в качестве новой вершины. Операция замены H на 18. Так как точки R и C не подошли в качестве
R называется отражением. Но имеет смысл проверить и альтернативы вершине H, выполняется всеобщее сжатие
более отдаленную точку − E, выбор которой позволит многогранника, причем наилучшая вершина L остается на
увеличить размеры многогранника. Такая возможность месте, а координаты других пересчитываются так, чтобы
увеличения размера позволяет повысить скорость движения они сместились в сторону наилучшей вершины:
многогранника, что повышает эффективность алгоритма в xij + xlj
случае, если размеры исходного многогранника были xij = , i = 1, n + 1, j = 1, n.
выбраны небольшими и он находится далеко от точки 2
минимума. 19. Вычисляются функции fi .
6. Проверяется точка E в качестве альтернативы 20. Выводятся на печать: l − номер наилучшей
точке R: вершины, fl − значение целевой функции в данной вершине,
xej =2·xrj − xoj. xlj − координаты вершины.
7. Вычисляется fe . 21. Проверяется условие выхода из цикла. Для этого
8. Если fe < fh , то идти к п. 9, иначе к п. 11. вычисляется среднеквадратичное отклонение целевых
9. В качестве новой вершины выбирается точка E функций для всех вершин, которое сравнивается с
(выполняется растяжение): погрешностью расчета ε.
xhj =xej . 2
 n+1 
10. Идти к п. 20.  ∑ fi 
11. В качестве новой вершины выбирается точка R n +1
(выполняется отражение): ∑ f i 2 −  i =1 
xhj =xrj . n +1
σ= i =1
.
12. Идти к п. 20. n +1
13. Так как точка R не подходит в качестве новой Комментарий по п.21. После перемещения
вершины (fr > fh), то следующей рассматривается точка C, многогранника в область минимума начинают преобладать
лежащая посередине отрезка HO: операции сжатия и вершины постепенно стягиваются в одну
xhj + xo j точку, целевые функции при этом выравниваются по своим
xc j = . значениям. Это обстоятельство используется для
2 завершения вычислений.
14. Вычисляется fc.
22. Если σ < ε, то идти к п. 23, иначе к п. 1.
15. Если fc < fh , то идти к п. 16, иначе к п. 18.
16. В качестве новой вершины выбирается точка C 23. Выводятся на печать: fl − значение целевой
(выполняется сжатие): функции в наилучшей вершине, xlj − координаты вершины.

75 76
Комментарий по алгоритму. Поскольку алгоритм end;
метода предусматривает возможность изменения размеров begin
и формы многогранника за счет растяжения и сжатия, метод randomize;
writeln('симплексный метод');
получил название деформируемого многогранника.
writeln('введи число пеpеменных');
Ниже дана распечатка текста программы, в которой readln(n);
реализован алгоритм несколько отличающийся от tev:=0;
рассмотренного выше. В частности, для построения ko:=1;
исходного многогранника используется датчик случайных writeln('Начальное пpиближение (x><0)');
чисел. Имеются и другие отличия. for j:=1 to n do
program nm; begin
const writeln('введите x',j);
nMax=10; read(s[1,j]);
type dim= array[1..nMax+1,1..nMax] of real; if s[1,j]=0 then
vect1=array [1..nMax] of real; s[1,j]:=0.001
vect2=array [1..nMax+1] of real; end;
var writeln('введите длину шага ( >1 )');
s: dim; readln(k);
x,xh,xg,xl,xo,xr,xc,xe:vect1; if k=1 then k:=1.1;
f: vect2; u1:=n+trunc(1.2*ln(k));
ko,z,k,fl,fh,s1,s2,sig:real; fl:=1e+20;
j,n,jc,i,tev,l,u,u1,h,g:integer; l:=1;
fg,fr,fc,fe:real; for i:=1 to n+1 do
begin
{Выбор вершины} f[i]:=1e+20;
procedure choice(fn:real; x:vect1); for u:=1 to u1 do
var j: integer; begin
begin for j:=1 to n do
for j:=1 to n do x[j]:=s[l,j]*exp((1-
s[h,j]:=x[j]; 2*random)*ln(k));
f[h]:=fn functmin(z,x);
end; ko:=0.5*k+0.5;
if f[i]>z then
{Вычисление целевой функции} begin
procedure functmin(var z:real; x:vect1); f[i]:=z;
begin for j:=1 to n do
tev:=tev+1; s[i,j]:=x[j];
z:=100*sqr(x[2]-x[1])+sqr(1-x[1]); if z<fl then

77 78
begin for i:=1 to n+1 do
l:=i; xo[j]:=xo[j]+s[i,j];
fl:=f[i]; xo[j]:=(xo[j]-s[h,j])/n;
ko:=k*3-2; xh[j]:=s[h,j];
k:=ko; xg[j]:=s[g,j];
end; xl[j]:=s[l,j];
end; end;
end; for j:=1 to n do
end; xr[j]:=2*xo[j]-xh[j];
repeat functmin(fr,xr);
fh:=-1e+20; if fr<fl then
fl:=1e+20; begin
for i:=1 to n+1 do for j:=1 to n do
begin xe[j]:=2*xr[j]-xo[j];
if f[i]>fh then functmin(fe,xe);
begin if fe<fr then choice(fe,xe)
fh:=f[i]; else choice(fr,xr)
h:=i; end
end; else
if f[i]<fl then begin
begin if fr>fg then
fl:=f[i]; begin
l:=i; if fr<fh then choice(fr,xr)
end; else
end; begin
fg:=-1e+20; for j:=1 to n do
for i:=1 to n+1 do xc[j]:=(xh[j]+xo[j])/2;
begin functmin(fc,xc);
if i<>h then if fc>fh then
if f[i]>fg then begin {}
begin for i:=1 to n+1 do
fg:=f[i]; begin
g:=i; for j:=1 to n do
end; begin
end; s[i,j]:=(s[i,j]+xl[j])/2;
for j:=1 to n do x[j]:=s[i,j];
begin end;
xo[j]:=0; functmin(f[i],x);

79 80
end неверное решение: многогранник «сползет» в овраг B. Во
end избежание подобных ошибок рекомендуется выполнить
else choice(fc,xc) несколько расчетов, меняя каждый раз координаты
end
начальной вершины. Из полученных решений следует
end
else choice(fr,xr) выбрать результат с наименьшим значением целевой
end; функции.
s1:=0;
s2:=0;
for i:=1 to n+1 do
begin
s1:=s1+f[i];
s2:=s2+sqr(f[i]);
end; 20 30
sig:=s2-s1*s1/(n+1);
sig:=sig/(n+1); B
writeln(l:3,f[l]:12:8); 25
for j:=1 to n do
write(xl[j]);
15
writeln;
until sig<1e-10; 30 10
writeln('Минимум найден в точке');
for j:=1 to n do
writeln('x[',j,']=',xl[j]); A
writeln;
writeln('Значение минимума
функции',f[l]); 35
writeln('Количество вычислений
функции=',tev);
readln;
end.
Целевая функция может иметь несколько
Рис. П.3.
минимумов. На рисунке П.3 показана топология функции от
двух переменных, которая имеет два минимума:
глобальный A и локальный B. Если координаты начальной В процедуре functmin записана функция
вершины многогранника x1j будут выбраны в окрестности z = 100( x2 − x1 ) + (1 − x1 ) , координаты точки минимума
2 2

точки B, то велика вероятность, что будет получено которой x1 = x2 =1 при значении z = 0.

81 82
Лабораторная работа 6. Проведение многофакторных
экспериментов .......................................................60
Оглавление Теория ......................................................................................... 60
Задание........................................................................................ 65
Введение.....................................................................................3 Варианты..................................................................................... 66
Лабораторная работа 1. Дискретно-детерминированные Литература ...............................................................................71
модели .........................................................4 Приложение .............................................................................72
Теория ........................................................................................... 4 Оглавление ...............................................................................83
Задание.......................................................................................... 6
Варианты....................................................................................... 8
Лабораторная работа 2. Дискретно-стохастические модели
.........................................................9
Теория ........................................................................................... 9
Задание........................................................................................ 10
Варианты..................................................................................... 13
Лабораторная работа 3. Непрерывно-стохастические
модели .......................................................14 Редактор: Т.А. Стороженко
Теория ......................................................................................... 14
Задание........................................................................................ 33
Подписано в печать.06.2007 г. Формат 60х84 1/16 .
Варианты..................................................................................... 34
Усл. п.л. 2,09 Заказ . Тираж 100 экз.
Лабораторная работа 4. Система имитационного
моделирования GPSS .......................................................37
Теория ......................................................................................... 37 Отпечатано в типографии ВСГТУ.
Задание........................................................................................ 37 Улан-Удэ, Ключевская, 40в
Варианты..................................................................................... 38
© ВСГТУ, 2007
Лабораторная работа 5. Проведение однофакторных
экспериментов .......................................................45
Теория ......................................................................................... 45
Задание........................................................................................ 50
Пример выполнения задания .................................................... 53
Варианты..................................................................................... 58

83 84

Вам также может понравиться