Автор работы: Пользователь скрыл имя, 04 Мая 2012 в 21:55, курсовая работа
Цель работы:
Построить имитационную модель функционирования аэропорта на основе имеющихся данных и определить количество посадочных полос, при котором достигается максимальная экономическая эффективность.
ВВЕДЕНИЕ 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
Рис. 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. Анимационная модель в наглядной форме отображает работу аэропорта.
С помощью данной модели был проведен анализ по определению количества взлетно-посадочных полос, при котором достигается максимальная экономическая эффективность.
Созданную
модель можно использовать для оценки
работы реальных аэропортов, условия работы
которых схожи с условиями задачи.
SADT-диаграмма
Листинг
программы диалоговых окон
Код объекта «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
End Sub
Код модуля «Module1»
‘объявляем переменные
Public EndMod As Long ‘длительность моделирования
Public StripAmount As Integer ‘количество посадочных полос
Public Condition1 As String ‘условие
Public Condition2 As String ‘условие