Лабораторные работы (2009) (Отчет лаб 3)

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

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









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

по курсу

«Теория игр и исследование операций»











Студент:

Курочкина И.Г.

Группа:

А-13-05

Преподаватель:

Еремеев А.П.

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






29.04.2009

Содержание:


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

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

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

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

3.2.Ресурсы…………………………………………………….…4

3.3.Образцы операций……………………………………….…..4

3.4.Константы, функции, последовательности…………………6

3.5.Операции……………………………………………….…….8

3.6.Анимация……………………………………………….…….8

3.8.Статистика……………………………………………………10

3.7.Прогон………………………………………………….……..10




































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


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


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


В магазин приходят покупатели, образующие очередь. Существуют три цели прихода покупателей: фрукты, молоко, колбаса. В зависимости от цели прихода покупателей продавец обращается к разным прилавкам: фрукты, мясные продукты, молочные продукты, и возвращается обратно к кассе (начальное состояние продавца - касса). Пользователь может ставить магазин на обед (нажатием клавиши 'SPACE') и также возвращать магазин в рабочее состояние. Во время обеда покупатели в магазин не приходят. Продавщица во время обеда пьет чай и покупателей не обслуживает. Работа магазина завершается, когда продавец обслужил 30 покупателей.


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


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

В модели присутствует 3 типа ресурсов: Магазины, Продацы, Покупатели. Первые два являются постоянными, а третий временным.


Ресурс Магазины – содержит информацию о магазине: длину очереди, количество облуженных покупателей и рабочее состояние.

$Resource_type Магазины : permanent

$Parameters

Количество_покупателей_в_очереди : integer

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

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

$End


Ресурс Продавцы – содержит информацию о текущей занятости продавца. Если магазин на обеде, то продавщица не работает.


$Resource_type Продавцы : permanent

$Parameters

Состояние : (фрукты, колбаса, молоко, касса) = касса

$End





Ресурс Покупатели – содержит информацию о приходящих покупателях: цели их прихода в магазин, состояние и время прихода в магазин.


$Resource_type Покупатели : temporary

$Parameters

Цель : (фрукты, колбаса, молоко) //цель прихода покупателя в магазин

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

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

$End


Ресурсы.


В модели используется 2 ресурса: Магазин и Продавец.

$Resources

Магазин : Магазины trace 0 работа 0 // Количество_покупателей_в_очереди=0,

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

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

Продавец : Продавцы касса //Состояние=касса

$End


Образцы операций.


В программе используются 1 нерегулярное событие, 1 клавиатурная операция и 2 операции.


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

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


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

$Relevant_resources

Магазин1 : Магазин Keep

Покупатель : Покупатели Create

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

$Body

Покупатель

Convert_event

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

Цель set Чего_нибудь(Посл_переч)

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

Магазин1

Convert_event

Количество_покупателей_в_очереди set Магазин1.Количество_покупателей_в_очереди + 1

$End


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

Образец, описывающий приостановление/возобновление работы магазина. При нажатии на клавишу магазин ставится на обед, если он до этого работал, и наоборот.


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

$Relevant_resources

Магазин1 : Магазин Keep Keep

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

$Body

Магазин1

Choice NoCheck

first

Convert_begin

Состояние set Изм_обед(Магазин1.Состояние)

Convert_end

$End


3) Образец_выгнать_покупателей (операция)

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


$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


4) Образец_Работа_продавца (операция)

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


$Pattern Образец_Работа_продавца : operation

$Relevant_resources

Покупатель : Покупатели Keep Erase

Магазин1 : Магазины Keep Keep

Продавец1 : Продавцы Keep Keep


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

$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



Константы, функции, последовательности


Используется одна константа - максимальное число обслуживаемых покупателей.


$Constant

Макс_кол_пос : such_as Магазины.Количество_обслуж_покупателей = 30

$End








4 последовательности:

равномерный интервал, последовательное перечисление, экспоненциальный интервал, нормальное распределение.


$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 Экспоненциальный_интервал : real

$Type = exponential 123456789

$End


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

$Type = normal 234567891

$End


3 функции:

функция Чего_нибудь : определяет цель прихода покупателя (за фруктами, за молочными продуктами, за мясными продуктами).

$Function Чего_нибудь : such_as Покупатели.Цель

$Type = table

$Parameters

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

$Body

фрукты колбаса молоко

$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


Операции.

Используются 4 образца:

Образец_Встать_в_очередь, Образец_выгнать_покупателей, _Работа_продавца, Образец_Обед,

которые описаны в разделе образцы операции.

$Operations

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

Выгнать : Образец_выгнать_покупателей

Работа_продавца : Образец_Работа_продавца

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

$End


Анимация.

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


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

Файл
10673-1.rtf
ref-15961.doc
814.rtf
141536.rtf
117311.rtf




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