Развитие методологии имитационных исследований сложных экономических систем (1142216), страница 60
Текст из файла (страница 60)
Пример ввода таких характеристик приведен нарисунках В.2 и В.3.Для ввода информации о маршрутах и расписании пассажирских и грузовыхпоездов, количестве, типах и характеристиках локомотивов в приложении также созданыспециальные диалоги, которые в данном описании приводить не будем.Очень важным элементом в общей совокупности исходных данных являетсяинформация о ремонтных окнах – времени, месте и длительности плановых ремонтныхработ на перегонах направления. В приложении может быть задано любое количестворемонтных окон.
Пример диалога ввода информации о ремонтных окнах приведен нарисунке В.4.310Источник: составлено авторомРисунок В.2 – Ввод характеристик станций.Источник: составлено авторомРисунок В.3 – Ввод характеристик перегонов.311Источник: составлено авторомРисунок В.4 – Пример ввода информации о ремонтных окнах.Для облегчения ввода данных в приложении реализован импорт информации изряда автоматизированных систем, функционирующих в отрасли. Приведем пример длядвух таких систем – СУБД АС ТРА и файлы НГДП.2Подсистема ввода данных из АС ТРА – S1 .Информация о станциях импортируется в имитационное приложение из системыАС ТРА.
Подсистема позволяет:- Подсоединиться к таблицам базы данных АС ТРА;- Выгружать из таблиц в базу данных моделей параметры станций;- Производить логический контроль выгружаемых данных;- Формировать LOG журнал процесса выгрузки данныхПример одного из диалогов при работе с АС ТРА приведен на рисунке В.5.312Источник: составлено авторомРисунок В.5 – Обработка информации о станциях, импортированной из АС ТРА.Другим источником исходных данных для модели являются файлы нормативногографика движения поездов (НГДП). НГДП участков предоставлялись Заказчиком в виде3XML файлов. Для их обработки была разработана подсистема обработки НГДП – S1 .Данная подсистема позволяет:-вводить в приложении стандартные файлы НГДП участков:-графически отображать один или несколько НГДП;-объединять несколько НГДП участков в моделируемое направление;-выбирать для модели из НГДП данные о номерах поездов, их маршрутах,расписании и т.д.;-выделять необходимые нити поездов;-отображать только выделенные нити;-отображать введенный в модель график движения поездов в модели (ГДП);313-отображать одновременно ГДП и фактически исполненный в модели график(ФГДП);-выводить на печать НГДП, ГДП и ФГДП.Пример отображения обработанных файлов НГДП показаны на рисунке В.6.Источник: составлено авторомРисунок В.6 – Пример НГДП в модели.Для упрощения ввода информации о поездах и использования дополнительнойинформации из файлов НГДП в приложении была разработана подсистема объединения4поездов – S1 , из существующих в НГДП различных поездо-участков.
Используя этуподсистему, пользователь может оперативно объединить информацию о поездах наследующих друг за другом участках из файлов НГДП этих участков в единый маршрутпоезда. Пример одного из диалогов пользователя при объединении поездов приведен нарисунке В.7.314Источник: составлено авторомРисунок В.7 – Подсистема объединения поездов.Таким образом, из приведенного краткого описания подсистем ввода исходныхданных видно, что в имитационном приложении реализован ввод всех необходимых дляформирования модели данных в форме, максимально приближенной к предметнойобласти.
Для получения более объективных и точных данных, в тех случаях, когда этобыло возможно, использовались данные из других автоматизированных систем в отрасли.Все исходные данные, введенные для конкретного эксперимента (или серииэкспериментов), сохраняются в базе данных моделей. Они всегда доступны дляпоследующих исправлений и корректировок.В формализованном виде этап ввода и обработки исходных данных ожелезнодорожном направлении – S1 представлен на рисунке В.8.
Каждое из 4 состоянийэтапа – независимая подсистема, обеспечивающая цикл ввода данных и автоматическоесохранение их в базе данных моделей (состояние S2). Также при работе с каждой изподсистем осуществляется автоматическое считывание уже сохраненных данных из базыданных модели (S2).315Начало ИИИсследовательS11S12S1БД S2моделейS13S14jjUi - ДиалогиUi -Командыпо вводу иликорректировкеданныхсохранения илисчитыванияданныхИсточник: составлено авторомРисунок В.8 – Этап ввода и обработки исходных данных в приложении.Генератор имитационной модели железнодорожного направления.Задачи данной подсистемы – создать текст имитационной модели для прогона врамках используемого в приложении моделирующего ядра. Данная подсистемапроектировалась и разрабатывалась в соответствии с методологией и технологиейсоздания САИИ, изложенной в главе 3. В качестве моделирующего ядра использованаобщецелевая система имитационного моделирования GPSS World.
Т.е. в итогеимитационная модель для экспериментов создается на языке GPSS World.Окончательно текст модели формируется генератором в результате трехвозможных его стадий (проходов). Причем первые два из них обязательны, а второйпроход генератора моделей осуществляется по желанию пользователя.Первый проход генератора. Этот проход начинается по команде пользователяпосле завершения ввода пользователем всех исходных данных для эксперимента,необходимых для формирования промежуточной модели.Работа программы, реализующей первый проход генератора, начинается с командыпользователя «Начать моделирование». Процесс формированиятекста моделиосуществляется автоматически в соответствии с введенными пользователем исходнымиданными во всех четырех подсистемах – это сотни самых различных параметров.Пользователь приложения не видит процесса формирования текста модели, онполностью от него скрыт.
Задача пользователя – ввести правильно и в полном объеме всеисходные данные. В данном случае пользователю не нужно специально изучать язык316GPSS и программировать модель. За него это автоматически сделает специальнаяпрограмма «генератор моделей».Алгоритм работы этой части генератора стандартен. В имитационном приложениисоздана библиотека параметризованных шаблонов с текстом на GPSS World иизменяемыми параметрами.
В зависимости от введенных пользователем исходныхданных,в подсистемах ввода для эксперимента после ввода команды «Начатьмоделирование» начинает работу генератор моделей. В целом генератор осуществляетследующие действия:1.Сканирует и анализирует всю созданную структуру данных для эксперимента;2.В соответствии с результатами анализа выбирает для построения модели нужныетипы и количество шаблонов из библиотеки;3.Готовит выбранные шаблоны для использования в модели, заменяя имеющиеся вкаждом шаблоне параметризованные данные на введенные пользователемисходные данные для этого эксперимента;4.Объединяет все выбранные и подготовленные шаблоны в единую модель всоответствии с логикой и структурой функционирования направления, жесткозаданной в приложении;5.Окончательно готовит файл формата TXT для передачи на вход системы GPSSWorld.В данном имитационном приложении было создано несколько шаблонов – поездов,локомотивов, перегонов, станций и т.д.
Все они содержат параметры, которые изменяютсяпо результатам ввода исходных данных эксперимента пользователем.Созданная в результате первого прохода генератора промежуточная модельполностью соответствует той модели, которую пользователь GPSS World разрабатываетпри традиционной работе с симулятором. Она содержит весь необходимый набор блокови управляющих операторов и полностью работоспособна, если ее подать на вход системыGPSS World.
Единственным отличием является то, что ручным образом пользовательсоздал бы более компактную модель, а генератор создает модель большего объема поколичествустрок,безиспользованиякосвеннойадресациииавтоматическиформируемыми именами объектов и меток. Но в любом случае эта модель логическивыверена и работоспособна.Второйпроходгенератора.Послеформированияпромежуточноймоделиэксперимента эта модель обязательно проходит дополнительную доработку с цельювключения в нее дополнительных возможностей по сбору данных в процессе317эксперимента, отсутствующих в стандартной системе GPSS World. Это – автоматическийдинамический мониторинг всех параметров модели.
В указаниях о сборе необходимогоперечня данных принимает активное участие пользователь, для этого осуществляетсяпереход в подсистему динамического мониторинга и последующего ввода данныхпосредством специальных диалогов мониторинга. После исполнения всех этих диалоговосуществляется возврат в генератор моделей, и промежуточная модель расширяется засчет включения в ее текст последовательности PLUS процедур, осуществляющихдинамический мониторинг данных. По итогам реализации программ данного проходатекст модели приобретает окончательный вид для данного эксперимента.Третий проход генератора. Далее, еслипожелает пользователь, можносформировать и сразу запустить не один, а целую серию экспериментов. В этом случаеосуществляется вызов подсистемы динамического мониторинга.