Лабораторные работы (2010) (Отчет)

Посмотреть архив целиком

Московский энергетический институт

(технический университет)



Институт автоматики и вычислительной техники

Кафедра прикладной математики













Отчет по лабораторной работе №3

курса: “Теория игр и исследование операций”.

Тема: “ Моделирование с помощью системы интеллектуального

имитационного моделирования РДО ”.





Выполнил:

Никитин А.А.

А-13-06

Проверила:

Гречкина П.В.











Москва 2010

Оглавление

1. Постановка задачи 3

2. Описание предметной области 3

3. Описание имитационной модели 3

3.1. Типы ресурсов 3

3.2. Объект ресурсов 4

3.3. Объект образцов операций 4

3.4. Объект операций. 7

3.5. Константы 7

3.6. Последовательности 7

3.7. Функции 8

3.8. Анимация 9

3.9. Статистика 11

3.10. Прогон. 12

































  1. Постановка задачи



Моделирование с помощью системы интеллектуального имитационного моделирования РДО.

Моделирование ситуации «Автосалон»



  1. Описание предметной области



Клиенты приходят в автосалон. В автосалоне работает один консультант. Клиенты выстраиваются в очередь, а консультант последовательно обслуживает каждого клиента. Он подводит его к одному из автомобилей по выбору клиента и рассказывает о нем. Консультант может взять перерыв, для этого пользователь должен нажать пробел (‘space’). Для выхода из режима отдыха производится аналогичная операция.



  1. Описание имитационной модели



    1. Типы ресурсов



(файл .rtр)

Тип ресурсов Автосалон.

Тип ресурсов является постоянным (не может быть уничтожен или создан во время прогона) и содержит информацию о количестве клиентов в очереди, состоянии работы автосалона – работа или перерыв – и количестве обслуженных клиентов.

$Resource_type Автосалон : permanent

$Parameters

Количество_клиентов_в_очереди : integer

Состояние: (работа, отдых)

Количество_обслуж_клиентов : integer

$End

Тип ресурсов Клиенты.

Тип ресурсов является временным (может быть уничтожен или создан во время прогона) и содержит информацию о цели прихода клиентов в автосалон, состоянии клиента – ожидание в очереди или обслуживание его консультантом– и времени прихода клиента.



$Resource_type Клиенты : temporary

$Parameters

Цель : (авто1,авто2, авто3)

Состояние : (в_очереди, обслуживание)

Время_прихода : real = 0.0

$End

Тип ресурсов Консультанты.

Тип ресурсов является постоянным (не может быть уничтожен или создан во время прогона) и содержит информацию о состоянии консультанта – нахождение около одного из автомобилей. Если клиентов нет, тренер находится около стойки.



$Resource_type Консультанты: permanent

$Parameters

Состояние : (авто1, авто2, авто3,стойка) = стойка

$End



    1. Объект ресурсов



В программе существует 2 объекта ресурсов – автосалон и консультант.

$Resources

Автосалон :Автосалоны trace 0 работа 0 // Количество_клиентов_в_очереди = 0,

// Состояние = работа

// Количество_обслуж_клиентов=0


Консультант : Консультанты стойка //Состояние = стойка

$End



    1. Объект образцов операций



  • Образец_Встать_в_очередь (нерегулярное событие).

Это событие происходит через интервал времени распределенный по экспонециальному интервалу с параметром 0.8. Каждому новому клиенту, приходящему в зал, задаются начальные параметры, а очередь из клиентов увеличивается на 1 человека.

$Pattern Образец_Встать_в_очередь : irregular_event trace

$Relevant_resources

Автосалон1 : Автосалон Keep //релевантный ресурс сохраняется, но его состояние(значения параметров) изменяются

Клиент : Клиенты Create //релевантный ресурс создается

$Time = Экспоненциальный_интервал(0.8)

$Body

Клиент

Convert_event

Состояние set в_очереди

Цель set Авто(Равном)

Время_прихода set Time_now

Автосалон1

Convert_event

Количество_клиентов_в_очереди set Зал1.Количество_клиентов_в_очереди + 1

$End



  • Образец_Отдых (клавиатурная операция)

При нажатии клавиши Пробел консультант перестает обслуживать клиентов, и автосалон перестает работать. Для возобновления дальнейшей работы зала необходимо снова нажать на Пробел.

$Pattern Образец_Отдых: keyboard

$Relevant_resources

Автосалон1 : Автосалон Keep Keep

$Time = Обсл_ост(0.9)

$Body

Автосалон1

Choice NoCheck

first

Convert_begin

Состояние set Изм_отдых(Автосалон1.Состояние)

Convert_end

$End







  • Образец_освободить_Автосалон(операция)

Эта операция предназначена для удаления из модели клиентов, которые пришли в зал во время перерыва, при этом очередь обнуляется.

$Pattern Образец_освободить_автосалон : operation

$Relevant_resources

Автосалон1 : Автосалон Keep Keep

Клиент : Клиенты NoChange Erase //релевантный статус уничтожается.

$Time = 0.0

$Body

Автосалон1

Choice from Автосалон1.Состояние = отдых and Автосалон1.Количество_клиентов_в_очереди > 0

first

Convert_begin

Количество_клиентов_в_очереди set 0

Convert_end

Количество_клиентов_в_очереди set 0

Клиент

Choice from Клиент.Состояние = в_очереди and Зал1.Состояние = отдых

first

$End



  • Образец_Работа_консультанта (операция)

Если автосалон работает и в очереди есть клиенты, то происходит их обслуживание. Консультант с клиентом отправляются к выбранному клиентом автомобилю, консультантом выдается сообщение-инструкция об автомобиле, и очередь уменьшается на одного клиента.

$Pattern Образец_Работа_консультанта : operation

$Relevant_resources

Клиент : Клиенты Keep Erase

Автосалон1 : Автосалон Keep Keep

Консультант1 : Консультанты Keep Keep


$Time = Нормальное_распределение_обслуживания(0.7, 0.4)

$Body

Зал1

Choice from Автосалон1.Состояние = работа and Автосалон.Количество_клиентов_в_очереди > 0

first

Convert_begin


Convert_end

Количество_клиентов_в_очереди set Зал.Количество_клиентов_в_очереди - 1

Количество_обслуж_клиентов set Зал.Количество_обслуж_клиентов + 1

Клиент

Choice from Клиент.Состояние = в_очереди and Автосалон1.Состояние = работа

with_min Клиент.Время_прихода

Convert_begin

Состояние set обслуживание

Консультант1

Choice from Консусьтант1.Состояние = стойка and Автосалон1.Состояние = работа

first

Convert_begin

Состояние set Клиент.Цель

Convert_end

Состояние set стойка

$End




    1. Объект операций.



Описываются все операции, имеющие место в СДС.

$Operations

Встать_в_очередь : Образец_Встать_в_очередь

Выгнать : Образец_освободить_автосалон

Работа_консультанта : Образец_Работа_консультанта

Отдых : Образец_Отдых 'SPACE'

$End



    1. Константы



Константа – количество обслуженных клиентов = 15. Когда число обслуженных покупателей станет равно 15, рабочий день автосалона закончится.

$Constant

Макс_кол_пос : such_as Автосалоны.Количество_обслуж_клиентов = 15

$End



    1. Последовательности



Равномерный интервал

$Sequence Равномерный_интервал : integer[1..3]

$Type = uniform

$End


Последовательное перечисление

$Sequence Посл_переч : integer[1..3]

$Type = enumerative

$Body

1 2 3 3 2 1 1 2 1 3 2 3 3 3 1 2 1 3 1 3 2 3 1 2 3 1 1 1 2 1 3 3 2 3 1

$End


$Sequence Равном : integer[1..3]

$Type = by_hist

$Body

1 1 0.333333

2 2 0.333333

3 3 0.333334

$End


Экспоненциальный интервал

$Sequence Экспоненциальный_интервал : real

$Type = exponential 123456789

$End


Нормальное распределение

$Sequence Нормальное_распределение_обслуживания : real [0.0..1.0]

$Type = normal 234567891

$End


    1. Функции



Выбор автомобиля клиентом

$Function Автомобиль : such_as Клиенты.Цель

$Type = table

$Parameters

Цель1 : integer [1..3]

$Body

Авто1 авто2 авто3

$End


Остановка обслуживания. При остановке работы автосалона консультант затрачивает время на обслуживание тех клиентов, которые находились в очереди в тот момент.


$Function Обсл_ост : real

$Type = algorithmic

$Parameters

пар : real

$Body

Calculate_if 2 > 1 Обсл_ост = пар * Автосалон.Количество_клиентов_в_очереди

$End



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

$Function Изм_отдых : such_as Автосалоны.Состояние

$Type = algorithmic

$Parameters

пар : such_as Автосалоны.Состояние

$Body

Calculate_if пар = работа Изм_отдых = отдых

Calculate_if пар = отдых Изм_отдых = работа

$End


    1. Анимация



Поле:













Пример анимации:

Работа зала:

Перерыв:








$Frame Кадр_1

$Back_picture = <255 255 255> as1

Show


text [317, 20, 20, 15, <150 150 220>, <0 0 0>, Автосалон.Количество_клиентов_в_очереди]

text [337, 37, 20, 15, <150 150 220>, <0 0 0>,Автосалон.Количество_обслуж_клиентов]

text [297, 55, 20, 15, <150 150 220>, <0 0 0>,Макс_кол_пос]

Show_if Автосалон.Количество_клиентов_в_очереди >= 6 and Автосалон.Состояние = работа

bitmap [460, 220, viz, viz_mask]

Show_if Автосалон.Количество_клиентов_в_очереди >= 5 and Автосалон.Состояние = работа

bitmap [380, 220, viz, viz_mask]

Show_if Автосалон.Количество_клиентов_в_очереди >= 4 and Автосалон.Состояние = работа

bitmap [300, 220, viz, viz_mask]


Случайные файлы

Файл
16237.rtf
132784.rtf
69716.rtf
122634.rtf
8657.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.