Автор работы: Пользователь скрыл имя, 16 Ноября 2010 в 06:37, курсовая работа
Имитационное моделирование – это разновидность экспериментального моделирования, реализуемого с помощью математических методов, компьютерных программ, позволяющих на аналогии реального объекта (модели) осуществлять целенаправленное исследование сложного процесса путем имитации его действий средствами ЭВМ.
Задание 3
Введение 4
Задание1. Генерация случайных величин с заданными параметрами 5
Задание2. Создание объектной модели в MatLab 9
Задание3 Создание модели системы массового обслуживания 14
Заключение 29
Список литературы 30
• Снижение спроса составляет 74% из за высокого содержания химических добавок.
• Высокие торговые таможенные пошлины сокращают объем продаж на 120 кг. еженедельно.
• Розничная торговля имеет случайный объем реализации, подчиненный нормальному закону распределения с матожиданием 148 и дисперсией 36 кг. масла в неделю.
•
Снижение спроса за счет конкуренции имеет
коэффициент 0,00062.
Решение:
Построим диаграмму процессов рис 4
Рис 4
Диаграмма процессов
Имеется петля ограничений – так как обе фирмы отрицательно влияют друг на друга. Так что рост одной фирмы негативно сказывается на состоянии другой.
Для построения данной модели нам понадобится пакет Simulink встроенный в MatLab рис 5.
Опираясь на диаграмму потоков можно составить модель:
Рис 5 Модель фирм
Рис. 6
Настройки для
блока Random Number
Рис.7
Настройки блока
Integrator
Рис.8
Настройки блока Integrator
После запуска модели проанализируем получившийся график рис 9
Рис.
9 Объемы продаж сливочного
масла для 6 недель
После
четвертой недели у зарубежной фирмы резко
возросли объемы продаж, очевидно, это
связано с падением продаж отечественной
фирмы через три недели.
Вывод: Объемы продаж отечественной компании упадут до нуля после 3 недели. А у зарубежной после четвертой недели наблюдается резкий рост продаж и к концу 6-й недели объем продаж будет около 700000 кг.
Моделируемая ситуация: В аэропорту Внуково города Москвы осуществляется обслуживание пассажиров при посадке на авиарейсы. Так как посадка состоит из нескольких этапов, то администрации аэропорта необходимо оценить эффективность работы подразделения, отвечающего за посадку. Предложите пути оптимизации работы отдела.
Постановка
задачи: Люди проходят на посадку с интенсивностью,
подчиненной равномерному закону распределения
от 2,7 до 6 минут, и встают в одну очередь
для проверки документов (пропуск ведется
на все рейсы через два рабочих места).
Скорость проверки документов на одного
пассажира составляет Гауссову величину
с матожиданием 3,5 и дисперсией 1,1 минуты.
После этого осуществляется досмотр (металлодетектор
и рентген), ведущийся тремя работниками
службы безопасности (экспоненциальное
распределение с параметром 5,7 минуты).
Далее пассажир поступает в одну из трех
касс, в которой осуществляется выдача
билетов – нормальное распределение с
матожиданием 3,1 минуты и дисперсией 20
секунд. После этого пассажир выходит
из системы обслуживания (поступает в
зал ожидания). Промоделируйте работу
системы в течении 10-ти часового рабочего
дня.
Решение:
Необходимо смоделировать систему массового обслуживания
Синтаксис языка:
Среда программирования разделена на 3 области:
1 – область переменных
2 – область операторов
3 – область параметров
4 –
область комментариев
Основные операторы:
GENERATE | X,Y | Генератор транзактов | |
Название накопителя | STORAGE | X | Создать накопитель; Х – объем |
ENTER | X | Войти в накопитель Х | |
LEAVE | X | Выйти из накопителя Х | |
QUEUE | X | Создать очередь | |
DEPART | Х | Покинуть очередь Х | |
ADVENCE | Х,Y | Задержать перемещение | |
RELASE | X | Освободить канал обслуживания | |
TRANSFER | both,X,Y | Попытаться перейти по метке Х, если не удается то метке Y | |
TRANSFER | ,X | Перейти к метке Х | |
TERMIANATE | Х | Уничтожить транзакт | |
ASSIGN | X,Y | Модифицировать параметр требования |
Данная модель состоит из трех фаз и трёх каналов. Время моделирования удобно выбрать в минутах.
Рис. 10
Схематическое отображение
модели
Составим модель в программе GPSS World. Для диспетчеризации многоканального обслуживания, воспользуемся режимом All команды TRANSFER. Он имеет следующие параметры:
При описании накопителя (Dosmot) нужно осуществить ввод в него транзакта (команда ENTER), а после обслуживания его вывод (команда LEAVE).
Листинг
модели приведён ниже.
******************************
* Masterskaia *
* Time Is In minut *
******************************
Dosmot STORAGE 3
TAB1 QTABLE Registr,0,3,12
TAB2 QTABLE Kassa,0,3,12
QALL TABLE M1,0,3,10
GENERATE (UNIFORM(1,2.7,
QUEUE Registr
QUEUE Total_time
TRANSFER Both,Reg1,Reg2
Reg1 SEIZE Registr1
DEPART Registr
ADVANCE (NORMAL(1,3.5,1.
RELEASE Registr1
TRANSFER ,Next1
Reg2 SEIZE Registr2
DEPART Registr
ADVANCE (NORMAL(1,3.5,1.
RELEASE Registr2
TRANSFER ,Next1
Next1 SAVEVALUE Ave_Queue,QT$
QUEUE Dosmotr
ENTER Dosmot
TRANSFER ALL,Dosm1,Dosm3
Dosm1 SEIZE Dosmotr1
ASSIGN 1,Dosmotr1
DEPART Dosmotr
ADVANCE (Exponential(1,
RELEASE Dosmotr1
TRANSFER ,Next2
SEIZE Dosmotr2
ASSIGN 1,Dosmotr2
DEPART Dosmotr
ADVANCE (Exponential(1,
RELEASE Dosmotr2
TRANSFER ,Next2
Dosm3 SEIZE Dosmotr3
ASSIGN 1,Dosmotr3
DEPART Dosmotr
ADVANCE (Exponential(1,
RELEASE Dosmotr3
Next2 LEAVE Dosmot
TABULATE QALL
SAVEVALUE Ave_Queue,QT$
QUEUE Kassa
TRANSFER ALL,Kas1,Kas3,6
Kas1 SEIZE Kassa1
ASSIGN 1,Kassa1
DEPART Kassa
ADVANCE (NORMAL(1,3.1,0.
RELEASE Kassa1
TRANSFER ,FinSh
SEIZE Kassa2
ASSIGN 1,Kassa2
DEPART Kassa
ADVANCE (NORMAL(1,3.1,0.
RELEASE Kassa2
TRANSFER ,FinSh
Kas3 SEIZE Kassa3
ASSIGN 1,Kassa3
DEPART Kassa
ADVANCE (NORMAL(1,3.1,0.
RELEASE Kassa3
FinSh SAVEVALUE Ave_Queue,QT$
DEPART Total_time
TERMINATE 1
В настройках модели установим следующие параметры: не отображать блоки, отображать очереди, каналы обслуживания и накопители. Укажем повышенную (Scientific) точность вычисления.
Рис. 11
Настройки параметров
отчета
Для отображения табличных данных, используются объекты QTABLE (TAB1), QTABLE (TAB2) и TABLE (QALL). Объект QTABLE (TAB1) явно описывает данные, которые будут помещены в таблицу по этапу регистрации в соотве6тствии со следующими параметрами:
Объект QTABLE (TAB2) описывает данные, которые будут помещены в таблицу по этапу обслуживания у кассы в соотве6тствии с теми же параметрами что и у объекта QTABLE (TAB1).
Если нужно измерить значение произвольного объекта, то можно воспользоваться конструкцией TABLE со следующими параметрами:
Для привязки объекта измерения к таблице, в коде должна быть конструкция TABULATE, с названием самой таблицы. В данном случае, измеряется время прохождения транзактом второй фазы обслуживания (Досмотр).
После
запуска модели на выполнение, появится
отчёт следующего содержания (start=600):
GPSS World Simulation Report
- Example.174.2
Saturday, May 17, 2008 12:16:07
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 2636.742
60 8
1
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
REGISTR1 479 0.637 3.507 1 603 0 0 0 0
DOSMOTR1 311 0.697 5.912 1 0 0 0 0 0
REGISTR2 124 0.165 3.505 1 0 0 0 0 0
DOSMOTR2 211 0.430 5.368 1 0 0 0 0 0
KASSA1 394 0.459 3.071 1 0 0 0 0 0
KASSA2 175 0.203 3.058 1 598 0 0 0 0
DOSMOTR3 80 0.172 5.671 1 0 0 0 0 0
KASSA3
33 0.040 3.170
1 0 0
0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
REGISTR 1 0 603 603 0.000 0.000 0.000 0
KASSA 1 0 602 598 0.001 0.003 0.502 0
TOTAL_TIME 8 2 603 0 2.825 12.353 12.353 0
DOSMOTR
3 0 602 580
0.022 0.096
2.638 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
Информация о работе Имитационное моделирование экономических подсистем