Файл: Конспект лекций Для студентов специальности 080801. 65 - приклад.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.12.2025

Просмотров: 3264

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Федеральное агентство по образованию

Оглавление

Глава 5. Моделирование вычислительных и операционных систем 289

Глава 6. Основы моделирования процессов 305

Глава 7. Задания для самостоятельной работы 311

Глава 8. Проектирование имитационных моделей 335

Глава 9. Технология имитационного моделирования 361

Глава 10. Примеры принятия решений с помощью имитационного моделирования 433

Глава 11. Задания для имитационных проектов 451

Предисловие

Введение

Глава 1. Модели массового обслуживания

1.1. Системы массового обслуживания и их характеристики

1.2. Системы с одним устройством обслуживания

1.3. Основы дискретно-событийного моделирования смо

1.4. Многоканальные системы массового обслуживания

Глава 2. Вероятностные сети систем массового обслуживания

2.1. Общие сведения о сетях

2.2. Операционный анализ вероятностных сетей

2.3. Операционные зависимости

2.4. Анализ узких мест в сети

Глава 3. Вероятностное моделирование

3.1. Метод статистических испытаний

3.2. Моделирование дискретных случайных величин

3.3. Моделирование непрерывных случайных величин

3.4. Сбор статистических данных для получения оценок характе­ристик случайных величин

Для оценки дисперсии случайной величины ξ используют фор­мулу

3.5. Определение количества реализаций при моделировании случайных величин

По формулам (3.18-3.20) находим

Задачи для самостоятельной работы

Задача 6

Глава 4. Система моделированияgpss

4.1. Объекты

4.2. Часы модельного времени

4.3. Типы операторов

4.4. Внесение транзактов в модель. БлокGenerate

Задание для самостоятельной работы:

4.5. Удаление транзактов из модели. БлокTerminate

4.6. Элементы, отображающие одноканальные обслуживающие устройства

4.7. Реализация задержки во времени. БлокAdvance

Задания для самостоятельной работы:

4.8. Сбор статистики об ожидании. Блоки queue, depart

4.9. Переход транзакта в блок, отличный от последующего. БлокTransfer

Задания для самостоятельной работы:

4.10. Моделирование многоканальных устройств

4.11. Примеры построенияGpss-моделей

Построение модели

4.12. Переменные

4.13. Определение функции вGpss

Пример 4.23

4.14. Стандартные числовые атрибуты, параметры транзактов. Блоки assign, mark, loop

4.15. Изменение приоритета транзактов. БлокPriority

4.16. Организация обслуживания с прерыванием. Блоки pre­empt и return

Задание для самостоятельной работы:

4.17. Сохраняемые величины

4.18. Проверка числовых выражений. Блок test

Пример 4.40

Задание для самостоятельной работы:

4.19. Определение и использование таблиц

Задания для самостоятельной работы:

4.20. Косвенная адресация

4.21. Обработка транзактов, принадлежащих одному семейству

4.22. Управление процессом моделирования в системеGpss

4.23. Списки пользователей

4.24. Блоки управления потоками транзактовLogic,gatelr,gatelSиGate

7 Testne p1,p2,asn2 ; Повторить, если адресат

4.25. Организация вывода временных рядов изGpss-модели

4.26. Краткая характеристика языкаPlus

4.27. Команды gpss World

4.28. Диалоговые возможностиGpssWorld

4.29. Отличия между gpss World и gpss/pc

Глава 5. Моделирование вычислительных и операционных систем

5.1. Операционные системы компьютеров

5.2. Сети и системы передачи данных

5.3. Проблемы моделирования компьютеров и сетей

Глава 6. Основы моделирования процессов

6.1. Производственные процессы

6.2. Распределительные процессы

6.3. Процессы обслуживания клиентов

6.4. Процессы управления разработками проектов

Глава 7. Задания для самостоятельной работы Задание 1. Моделирование разливной линии

Глава 8. Проектирование имитационных моделей с помощью интерактивной системы имитационного моделирования

8.1. Структура интерактивной системы имитационного модели­рования

8.2. Построение концептуальной схемы модели

8.3. Параметрическая настройка модели

8.4. Генератор формул

8.5. Управление экспериментом

8.6. Запуск эксперимента и обработка результатов моделирования

8.7. Управление проектами и общей настройкой системы

8.8. Пример построения модели средствамиIss2000

Глава 9. Технология имитационногомоделирования

9.1. Имитационные проекты

9.2. Организация экспериментов

9.3. Проблемы организации имитационных экспериментов

9.4. Оценка точности результатов моделирования

9.5. Факторный план

9.6. Дисперсионный анализAnovAв планированииэкспериментов

9.7. Библиотечная процедураAnova

9.8. Технология проведение дисперсионного анализа в системеGpss World

9.9. Особенности планирования экспериментов

9.10. Нахождение экстремальных значений на поверхности отклика

9.11. Организация экспериментов вGpssWorld

9.12. Выбор наилучшего варианта структуры системы

Глава 10. Примеры принятия решений с помощью имитационного моделирования

10.1. Моделирование производственного участка

10.2. Моделирование технологического процесса ремонта и заме­ны оборудования

Глава 11. Задания для имитационных проектов

Приложение Системные сча

Сча транзактов

Сча блоков:

Сча одноканальных устройств:

Сча очередей

Сча таблиц

Сча ячеек и матриц ячеек сохраняемых величин:

Сча вычислительных объектов

Сча списков и групп

Список литературы

4.23. Списки пользователей

Блок LINK (ВНЕСТИ В СПИСОК). Блок LINK собирает тран­закты из СТС и помещает их в СП. Таким образом, интерпретатор их не просматривает и не перемещает по блокам модели до тех пор, пока пользователь не возвратит их в модель.

Формат блока:

LINK A,B[,C]

Операнд А задает номер или имя СП, в который будет помещен транзакт. Операнд А может быть положительным целым, именем, СЧА, СЧА*СЧА.

Операнд В задает алгоритм упорядочивания СП. Операнд В мо­жет быть LIFO, FIFO, целым, СЧА, СЧА*СЧА.

Допустимые значения операнда В:

FIFO - вошедший транзакт помещается в конец СП;

LIFO - вошедший транзакт помещается в начало СП;

номер параметра - входящие в СП транзакты располагаются в соответствии со значением указанного параметра;

PR - приоритет транзакта (транзакт помещается в список в соответствии с приоритетом);

M1 - время нахождения транзакта в модели;

Операнд С указывает альтернативный выход, который исполь­зуется при описании разных ситуаций, возникающих в очередях. Операнд С может быть именем, положительным целым, СЧА, СЧА*СЧА.

Если операнд С не задан, индикатор, связанный с заданным СП, устанавливается в положение «1». Это приводит к тому, что все транзакты, безусловно входящие в блок, заносятся в СП, определенный операндом А, в порядке, который задан операндом В.

Если операнд С задан, проверяется индикатор СП. Если индика­тор списка установлен в положение «1», вошедший транзакт, заносится в СП в порядке, заданном операндом В. Если же индикатор списка установлен в положение «0», он переводится в положение «1», и вошедший транзакт перемещается к блоку, заданному в опе­ранде С.

Пример 4.53

LINK LIST,FIFO

В этом примере транзакт, вошедший в блок, помещается в ко­нец списка с именем LIST.

Стандартные числовые атрибуты, связанные с блоком LINK:

СА<номер списка>, СА$<имя списка> - среднее число транзактов в СП;

СС<номер списка>, СС$<имя списка> - общее число транзактов в СП;

СН<номер списка>, СН$<имя списка> - текущее число транзактов в СП;

СМ<номер списка>, СМ$<имя списка> - максимальное число транзактов в СП;


СТ<номер списка>, СТ$<имя списка> - среднее время пребывания транзакта в СП.

Блок UNLINK (ВЫВЕСТИ ИЗ СПИСКА). Блок UNLINK уда­ляет транзакты из СП. После этого интерпретатор GPSS возобновляет их движение по модели.

Формат блока:

UNLINK [X] A,B,[C],[D],|E],[F]

Операторы отношения, которые записываются во вспомога­тельном операнде X, определяют, какое условие (отношение) будет рассматриваться. Если этот оператор не задан, предполагается отно­шение равенства Е.

Операторы отношения могут быть такими:

G (больше) - отношение истинно, если значение параметра, за­данного в операнде D, больше значения, заданного в операнде Е;

GE (больше или равно) - отношение истинно, если значение параметра, заданного в операнде D, больше значения, заданного в операнде Е, или равно ему;

L (меньше) - отношение истинно, если значение параметра, за­данного в операнде D, меньше значения, заданного в операнде Е;

LE (меньше или равно) - отношение истинно, если значение параметра, заданного в операнде D, меньше значения, заданного в операнде Е, или равно ему;

Е (равно) - отношение истинно, если значение параметра, за­данного в операнде D, равно значению, заданному в операнде Е;

NE (не равно) - отношение истинно, если значение параметра, заданного в операнде D, не равно значению, заданному в операнде Е.

Операнд А задает СП, из которого удаляются один или несколь­ко транзактов. Операнд А может быть именем, положительным це­лым, СЧА или СЧА*СЧА.

В операнде В указывается номер блока, к которому переходят удаляемые из списка транзакты. Операнд В может быть именем, по­ложительным целым, СЧА, СЧА*СЧА.

Операнд С задает число транзактов, удаляемых из СП (счетчик удалений). Операнд С может быть именем, положительным целым, СЧА, СЧА*СЧА или «ALL» (означает удаление всех транзактов).

Операнд D может быть именем, целым, СЧА, СЧА*СЧА, «BACK». Действия, выполняемые при вхождении транзакта в блок UNLINK, зависят от того, на что ссылается операнд D. В операнде D могут быть указаны номер параметра, булева переменная или слово «BACK».

Номер параметра. Если операнд Е пропущен, значение задан­ного параметра вошедшего транзакта сравнивается со значением это­го же параметра транзактов СП. Если Е не пропущен, значение за­данного параметра транзактов СП сравнивается со значением СЧА из операнда Е. В обоих случаях транзакты, удовлетворяющие заданному отношению, будут удалены из списка и направлены в блок, указан­ный в операнде В.


Булева переменная BVj вычисляется отдельно для каждого транзакта из СП. Если для транзакта значение BVJ=1, то он удаляется из СП (количество удаляемых транзактов не может превышать зна­чения операнда С). Если BVj=0 для всех транзактов списка, то во­шедший транзакт пытается переместиться в блок, заданный в операн­де F. Если операнд F пропущен, транзакт пытается перейти в сле­дующий по номеру блок.

Если в операнде D задана булева переменная, операнд Е должен быть пустым. Если булева переменная BVj имеет ссылку на какой-либо параметр, то эта ссылка относится к параметрам транзактов из списка, а не к входящему в блок UNLINK транзакту.

Слово «BACK». Из указанного списка, начиная с его конца, бу­дет исключено столько транзактов, сколько задано операндом С. Операнд Е в этом случае должен быть пустым.

Операнд Е содержит СЧА, значение которого сравнивается со значением параметра транзактов СП (номер параметра указан в опе­ранде D). Операнд Е может быть именем, целым, СЧА, СЧА*СЧА.

Операнд F задает номер следующего блока для того транзакта, который входит в блок UNLINK в случаях, когда соответствующий СП пустой или не выполнено заданное отношение, или же указанная в операнде D булева переменная равна нулю для всех транзактов списка (т.е. в случае, когда из СП нельзя ничего удалить). Операнд F может быть именем, положительным целым, СЧА, СЧА*СЧА.

Пример 4.54

UNLINK LIST,FORW,1

Первый транзакт из СП с именем LIST помещается в блок с меткой FORW. Он заносится в СТС после транзактов с таким же приоритетом. Транзакт, вошедший в блок UNLINK, переходит в сле­дующий блок.

Рассмотрим последовательность операций, выполняемых при входе транзакта в блок UNLINK. В зависимости от того, какие из операндов A-F блока UNLINK заполнены, можно выделить восемь основных вариантов.

Вариант 1. Операнды А, В, С заданы, операнды D, Е, F не зада­ны. Вычисляются значения операнда А для определения номера (имени) СП. Проверяется, есть ли в списке транзакты. Если их нет, соответствующий этому списку индикатор устанавливается в «0», а транзакт, вошедший в блок, переходит к следующему по номеру блоку.

Если список не пуст, вычисляется значение операнда С (счетчи­ка удалений), определяющего число транзактов, удаляемых из спи­ска. Транзакты удаляются, начиная с первого в списке до тех пор, по­ка значение счетчика удалений не станет равным нулю, или пока не будут исчерпаны все транзакты из списка. Удаленные из СП транзак­ты будут помещены в СТС и направлены к блоку, номер которого указан в операнде В. Транзакт, вошедший в блок UNLINK, переме­щается к следующему по номеру блоку.


Вариант 2. Операнды А, В, С и F заполнены, операнды D и Е не заданы. Этот вариант аналогичен варианту 1, за исключением случая, когда указанный СП пуст. При этом индикатор списка устанавлива­ется в «0», а транзакт, вошедший в блок UNLINK, перемещается к блоку, указанному в операнде F, а не к следующему по номеру блоку.

Вариант 3. Операнды А, В, С и D заполнены, операнды Е и F не заполнены, в операнде D задано значение параметра Pj. Этот вариант также аналогичен варианту 1. Однако из списка удаляются только те транзакты, у которых значение параметра Pj равно значению этого же параметра Pj транзакта, вошедшего в блок UNLINK. Транзакты из списка удаляются до тех пор, пока значение счетчика удалений (определяемого операндом С) не станет равно нулю или пока не будут просмотрены все транзакты из списка. Все удаленные из СП транзакты перемещаются к блоку, указанному в операнде В блока UNLINK. Транзакт, вошедший в блок UNLINK, перемещаемся к сле­дующему по номеру блоку.

Вариант 4. Операнды А, В, С и D заполнены, операндом Е и F не заданы, а в операнде D записано слово «BACK». Этот вариант анало­гичен варианту 1, за исключением того, что транзакты удаляются, на­чиная с конца списка.

Вариант 5. Операнды А, В, С и D - заполнены, операнды Е и F - пусты, в операнде D задана булева переменная BVj. Этот вариант аналогичен варианту 3, за исключением того, что BVj вычисляется отдельно для каждого транзакта СП. Из СП удаляются только транзакты, для которых BVj=l.

1. Если BVj имеет ссылки на какой-либо параметр, то эти ссылки относятся к параметрам, связанным транзактами из СП, а не с вошедшим транзактом.

2. В случаях, когда в операнде D блока UNLINK записана перемен­ная BVj или «BACK», операнд Е должен быть не заполненным, ина­че - ошибка.

Вариант 6. Операнды А, В, С, D и F заполнены, операнд Е не заполнен. Этот вариант аналогичен варианту 3, за исключением тех случаев, когда или заданный СП пуст (CHj=0), или заданное отноше­ние не выполняется ни для одного транзакта списка, или BVj=0 для всех транзактов СП. В таких случаях транзакт, вошедший в блок UNLINK, перемещается к блоку, номер которого задан в операнде F, а не к следующему по номеру блоку. Индикатор» списка устанавливается в «0» только в том случае, если список пуст.


Вариант 7. Операнды А, В, С, D и Е заполнены, операнд F не заполнен.

Число удаляемых транзактов определяется значением операнда С. Номер блока, к которому направляются удаленные транзакты, оп­ределяется операндом В. Транзакты, для которых значение Pj (опе­ранд D) равно СЧА из операнда Е, удаляются из списка. Транзакты просматриваются и удаляются (если это возможно), начиная с начала списка. Удаление продолжается до тех пор, пока значение счетчика удалений (операнд С) не станет равным нулю или пока из СП не будут удалены все транзакты. Транзакт, вошедший в блок UNLINK, перемещается к следующему по номеру блоку.

Вариант 8. Операнды А, В, С, D и F заполнены. Этот вариант аналогичен варианту 5, за исключением тех случаев, когда СП пуст (то есть CHj=0) или заданное отношение не выполняется ни для од­ного из транзактов списка. Транзакт, вошедший в блок UNLINK, пе­реходит к блоку, заданному в операнде F, а не к следующему по номеру блоку. Если заданное отношение выполняется для какого-нибудь транзакта из списка, транзакт, вошедший в блок, перемещает­ся к следующему по номеру блоку. Если СП пустой, индикатор спи­ска устанавливается в «0».

Пример 4.55 [13]

Рассмотрим модель обслуживания с алгоритмом FIFO выбора из очереди:

GENERATE 1000,FN1

QUEUE QUE1

LINK CHAIN,FIFO,CAN

CAN SEIZE FC_1

DEPART QUE1

ADVANCE 700,FN1

RELEASE FC_1

UNLINK CHAIN,CAN,1 TERMINATE

Транзакты, выходящие из блока GENERATE, поступают в блок QUEUE. После внесения соответствующих изменений в статистику, собираемую по данной очереди, транзакт входит в блок LINK. Так как в блоке LINK существует альтернативный выход, проверяется состояние индикатора списка CHAIN (имя которого определяется операндом А блока LINK). Если индикатор этого списка установлен в «0», транзакт немедленно устанавливает его в «1» и переходит к альтернативному блоку, то есть в данной модели - к блоку SEIZE. Если индикатор списка установлен в «1», то транзакт, входящий в блок LINK, без дальнейших проверок заносится в СП CHAIN. Так как в операнде В задан алгоритм FIFO, транзакт помещается в конец этого СП.

Отметим, что транзакты, занесенные в СП, не проходят даль­нейшей обработки до тех пор, пока они не будут удалены из списка другими транзактами, входящими в блок UNLINK. После удаления из СП транзакт поступает к блоку, указанному в операнде В блока UNLINK.