Автор работы: Пользователь скрыл имя, 08 Ноября 2011 в 14:53, курсовая работа
Возрастающие потребительские ожидания и конкурентное давление в мире коммерции существенно повышают значимость слаженной работы всех компонентов бизнеса. Решающее воздействие на конечный результат деятельности и конкурентоспособность оказывают проектирование и реализация всех процессов - поставки, производства, обслуживания клиентов и внутренней организации.
ВВЕДЕНИЕ 3
I. ПОСТАНОВКА ЗАДАЧИ И ЦЕЛЬ РАБОТЫ 5
1.1. Постановка задачи 5
1.2. Цель работы 5
II. ФУНКЦИОНАЛЬНОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ 6
III. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ 7
3.1. Описание имитационной модели 7
3.2. Пользовательские интерфейсы 10
3.3. Описание анимационной модели 11
IV. АНАЛИЗ РЕЗУЛЬТАТОВ 13
4.1. Планирование экспериментов 13
4.2. Анализ результатов и определение эффективных параметров 14
ЗАКЛЮЧЕНИЕ 16
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 17
Приложение 1. 18
Приложение 2. 19
- «Ozhidanie posle dozapravki» - накапливает самолеты, осуществившие дозаправку (Scan for Condition, (Posadka.WIP<2) || ((TNOW-Entity.CreateTime) >= 140)).
- «Ylet v drugoi airport» - используется для удаления транзактов – самолетов, время ожидания у которых превысило 140 минут.
- «Angar» - используется для удаления транзактов – самолетов, совершивших посадку.
В модуле Set определен набор ресурсов «Polosa», содержащий два ресурса: Polosa1 и Polosa2.
Для генерируемых транзактов в модуле Entity установлено изображение Picture.Airplane.
Для
вывода значений переменных прибыли/затрат
предусмотрены объекты «
Рис. 3.2.
Вывод значений переменных
При запуске прогона имитационной модели на экран выводится экранная форма «Ввод параметров моделирования» (см. рис. 3.3), которая предоставляет пользователю возможность ввести параметры моделирования: период моделирования и количество посадочных полос в аэропорте. Нажатие кнопки «Запуск модели» приведет непосредственно к началу моделирования, нажатие кнопки «Отмена» - к закрытию формы.
Рис. 3.3.Форма
«Ввод параметров моделирования»
Рис. 3.4.
Форма «Экспорт данных»
После
останова моделирования на экран
выводится форма «Экспорт данных»
(см. Рис. 3.4). Нажатие кнопки «Да» приведет
к выполнению экспорта данных в файл MS
Excel, нажатие кнопки «Нет» - к закрытию
формы.
Листинг
программы диалоговых окон приведен
в приложении 2.
Рис. 3.5. Анимационная модель
Рис. 3.6. Размещение блоков Station
Анимационная модель (рис. 3.5, рис. 3.6) состоит из следующих блоков.
Прибытие самолетов:
Дозаправка самолетов:
Отправка самолета на посадку в другой аэропорт:
Посадка самолета:
Рис. 3.7.
Параметры блока «PickStation 1»
У
блоков «Station» параметры «Name» и
«Station Name» совпадают.
При
прогонах модели изменялся один параметр
– количество посадочных полос аэропорта.
Результаты выходных характеристик
представлены в таблице 4.1. Период моделирования
– 30 дней.
Таблица 4.1
План
проведения эксперимента
Количество посадочных полос | Выручка | Затраты на дозаправку | Затраты на эксплуатацию полос | Суммарные затраты | Прибыль
(убыток) |
(1) | (2) | (3) | (4) | (5)=(3)+(4) | (6)=(2)-(5) |
2 | 3 707 015 | 7 161 270 | 600 000 | 7 761 270 | -4 054 255 |
3 | 5 554 693 | 7 141 806 | 900 000 | 8 041 806 | -2 487 113 |
4 | 7 413 734 | 7 123 189 | 1 200 000 | 8 353 189 | -939 454 |
5 | 9 266 336 | 7 089 080 | 1 500 000 | 8 589 080 | 677 256 |
6 | 11 628 787 | 3 123 | 1 800 000 | 1 803 123 | 9 825 664 |
7 | 13 865 169 | 0 | 2 100 000 | 2 100 000 | 11 765 169 |
8 | 14 247 111 | 0 | 2 400 000 | 2 400 000 | 11 847 111 |
9 | 14 376 694 | 0 | 2 700 000 | 2 700 000 | 11 676 694 |
Рис. 4.1.Число обработанных транзактов
при 2 полосах
(слева) и 6 полосах (справа)
Из
отчета Airport/Process/Other/NumberIn (см. рис. 4.1) видно,
что при наличии 6 полос посадку без дозаправки
совершают практически все самолеты, из
чего следует, что время их ожидания меньше
необходимого для дозаправки (60-80 мин.).
Рис. 4.2. Среднее время ожидания
при 2 полосах
(слева) и 6 полосах (справа)
Из
отчета Airport/Entity/Time (см. рис. 4.2) видно, что
при наличии 2 полос среднее время ожидания
равно 138,41 мин., что близко к тому, при превышении
которого самолеты отправляются на посадку
в другой аэропорт. При наличии 6 полос
эта величина составляет 12,74 мин.
Принимая во внимание сведения, содержащиеся в отчетах, и данные таблицы 4.1 видно, что при использовании менее 4 посадочных полос аэропорт терпит убытки: значительны затраты на дозаправку. Прибыль появляется с введением в эксплуатацию 5-ой полосы. С введением 7-ой полосы затраты на дозаправку снижаются до 0. С введением 9-ой полосы прибыль начинает падать, т.к. затраты на введение этой полосы в 3 раза превышают увеличение выручки.
Наибольшая экономическая эффективность при данных условиях задачи достигается при наличии 6 посадочных полос, т.к.:
Использование
большего количества полос будет
эффективным лишь при увеличении
интенсивности потока самолетов.
Результатом выполнения данной работы является созданная имитационная модель взлетно-посадочных полос аэропорта. Разработанные интерфейсы позволяют организовать ввод различных параметров моделирования, а также организовать экспорт критических параметров в файл MS Excel. Анимационная модель в наглядной форме отображает работу аэропорта.
С помощью данной модели был проведен анализ по определению количества взлетно-посадочных полос, при котором достигается максимальная экономическая эффективность.
Созданную
модель можно использовать для оценки
работы реальных аэропортов, условия работы
которых схожи с условиями задачи.
Приложение 1
Листинг
программы диалоговых окон
Код объекта «This Document»
‘объявление переменных
Option Explicit
Dim oExcelApp As Excel.Application
Dim oWorkBook As Excel.Workbook
Dim oWorkSheet
As Excel.Worksheet
Private Sub ModelLogic_RunBegin() ‘запуск модели
frmParameters.Show ‘показ формы выбора параметров
End Sub
Private Sub
ModelLogic_RunBeginSimulation(
With ThisDocument.Model.Modules
ThisDocument.Model.SIMAN.
.Item(.Find(smFindTag, "Strip1")).Data("Capacity") = Int(StripAmount / 2) 'вместимость 1-ой полосы
.Item(.Find(smFindTag, "Strip2")).Data("Capacity") = StripAmount - (Int(StripAmount / 2)) ‘2-ой полосы
Condition1 = CStr("(Posadka.WIP<" + CStr(StripAmount) + " && t==0) || ((TNOW-Entity.CreateTime) >= Vremya)")
Condition2 = CStr("(Posadka.WIP<" + CStr(StripAmount) + " ) || ((TNOW-Entity.CreateTime) >= 140)")
.Item(.Find(smFindTag, "Ozhidanie")).Data("Condition"
.Item(.Find(smFindTag, "Ozhidanie_posle_dozapravki"))
End With
End Sub
Private Sub ModelLogic_RunEndSimulation()
frmExport.Show ‘показ формы экспорта данных
End Sub
Код формы «frmParameters»
Private Sub btnStart_Click() ‘кнопка «Запуск модели»
EndMod = Val(txtDays.value) * 24 * 60
StripAmount = Val(txtStripAmount.value) ‘количество посадочных полос
frmParameters.Hide ‘скрытие формы
End Sub
Private Sub btnExit_Click() ‘кнопка «Отмена»
frmParameters.Hide ‘скрытие формы
ThisDocument.Model.SIMAN.
End Sub
Код формы «frmExport »
Private Sub btnYes_Click() ‘кнопка «Да»
Set oExcelApp = CreateObject("Excel.
oExcelApp.Visible = False
oExcelApp.SheetsInNewWorkBook = 1
Set oWorkBook = oExcelApp.WorkBooks.Add
Set oWorkSheet = oWorkBook.ActiveSheet
Dim Money As Long, Money1 As Long, Money2 As Long, Money3 As Long
With ThisDocument.Model.SIMAN
Money1 = .VariableArrayValue(.
Money2 = .SIMAN.VariableArrayValue(.
Money3 = .SIMAN.VariableArrayValue(.
End With
oWorkSheet.Cells(2, 2).value = "Прибыль (убыток)"
oWorkSheet.Cells(2, 4).value = Money2 + Money3 - Money1 - (StripAmount * 300000) ‘считаем прибыль
oExcelApp.Visible = True
oExcelApp.DisplayAlerts = False
oWorkBook.SaveAs ThisDocument.Model.Path & "Airport.xls"
frmExport.Hide
End Sub
Private Sub btnNo_Click() ‘кнопка «Нет»
End