Для применения имитационного моделирования при проектировании (техническом перевооружении или реконструкции) сервисного предприятия автомобильного транспорта разработана программа «Оптимизация средств обслуживания автомобильного транспорта». Данная программа имитирует работу сервисного предприятия в течение рабочего дня, рассчитывает численные показатели функционирования предприятия (вероятность безотказной работы, среднее число занятых постов обслуживания, средняя длина очереди, среднее время ожидания заявки в очереди, суммарное время обслуживания автомобиля и др.). На основании полученных данных, вычисляются экономические показатели функционирования сервисного предприятия в течение года [1, 2, 3].
Для разработки программы «Оптимизация средств обслуживания автомобильного транспорта» выбран язык программирования Delphi, основу которого составляет язык Object Pascal (объектно-ориентированное расширение стандартного языка Pascal), в силу ряда причин [5]:
- Delphi обеспечивает визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;
- Объектно-ориентированная модель компонент;
- Система Delphi обладает вполне развитыми возможностями СУБД.
В плане создания приложений различного назначения, в том числе приложений БД, возможности Delphi не уступают возможностям специализированных СУБД, а зачастую и превосходят их.
Программирование на языке Delphi позволило нам создать программу с использованием баз данных, с возможностью генерации отчетов в виде HTML-страниц, а также подготовить дистрибутив для максимального упрощения установки пользователем и распространения данного продукта.
Для инсталляции программы «Оптимизация средств обслуживания транспортной техники» необходимо запустить файл Setup.exe с диска Optimization, после чего появится окно приветствия и приглашения к установке программы. Далее следует стандартный диалог, помогающий установить программу на компьютер пользователя.
Задачей оптимизации средств обслуживания автомобилей методом статистического моделирования является определение числовых характеристик функционирования сервисного предприятия за один рабочий день. При этом варьируются число постов обслуживания –n и число мест ожидания – m. Параметры (n, m) являются одними из исходных данных, используемых при решении транспортной задачи.
В качестве исходных данных принимаем, что в сервисное предприятие поступает простейший пуассоновский поток требований с плотностью – ω авт./ч. Считается, что время обслуживания автомобилей распределено по показательному закону и составляет в среднем – (ч/авт.).
Величины ω и также задаются или определяются путем обработки статистических данных в реальных условиях.
Продолжительность работы сервисного предприятия в течение рабочего дня – Тсум (ч), также оговаривается в исходных данных решения транспортной задачи.
Исходными данными программы – оптимизации средств обслуживания автомобилей экономическим методом являются:
1) Количество дней работы сервисного предприятия в году; 2) Стоимость 1 Гкал тепла; 3) Продолжительность рабочей смены; 4) Средняя температура внутри помещения; 5) Тариф за 1 кВт-ч электроэнергии; 6) Часовая тарифная ставка ремонтного рабочего; 7) Среднее количество рабочих; 8) Годовой фонд рабочего времени; 9) Стоимость строительства 1 м3 одноэтажного здания; 10) Высота помещения сервисного предприятия; 11) Площадь, занимаемая транспортом в плане; 12) Коэффициент плотности расстановки постов; 13) Стоимость 1 часа простоя транспорта в очереди; 14) Стоимость 1 часа обслуживания транспорта в сервисном предприятии; 15) Смета затрат на приобретение и монтаж технологического оборудования сервисного предприятия.
Все исходные данные заносятся в поля главной формы программы (рис. 1). После этого в меню «Смета» необходимо выбрать пункт «Открыть». При этом открывается база данных технологического оборудования сервисного предприятия (рис. 2), в окне которой при необходимости можно отредактировать, добавить или удалить необходимые наименования и количество оборудования [3, 4]. Все вышеперечисленные операции можно выполнить с помощью навигатора, расположенного в нижней части окна.
При заполнении базы данных необходимо обратить внимание на поля «Монтируемое» и «Коэффициент использования». Если оборудование является монтируемым и требует дополнительных затрат на его монтаж, то в всплывающем меню поля «Монтируемое» необходимо выбрать пункт «Да», иначе – «Нет». Поле «Коэффициент использования» необходимо для расчета потребного количество оборудования одной номенклатуры. Например, если коэффициент использования технологического оборудования равен 1, то данное оборудование используется на каждом посту и его потребное количество равно количеству постов предприятия, если – 0,5, то необходимо обеспечить наличие одного экземпляра технологического оборудования на 2 поста и т.д. Для выбора технологического оборудования для использования его при проектировании, реконструкции или техническом перевооружении сервисного предприятия необходимо в всплывающем меню поля «Используется» выбрать «Да». По умолчанию выбирается значение «Нет».
Для базы данных технологического оборудования имеется возможность генерации двух видов отчета: 1) по всей базе данных технологического оборудования; 2) по оборудованию, используемому в проектируемом (реконструируемом) сервисном предприятии.
После выполнения необходимых операций с базой данных и выбора оборудования, которое будет использоваться в сервисном предприятии, необходимо нажать на кнопку «Завершить». Окно сметы будет закрыто и все изменения в базе данных будут сохранены.
После занесения всех исходных данных в соответствующие поля и редактирования сметы затрат на приобретение и монтаж оборудования необходимо в меню «Файл» выбрать пункт «Создать массивы» либо нажать на кнопку «Создать» на главной форме программы.
При этом с помощью генератора случайных чисел будет создан «статистический материал» в виде массивов времени поступления заявок на обслуживание и времени обслуживания каждой заявки в сервисном предприятии. Статистический материал будет зависеть только от плотности поступления заявок со и среднего времени обслуживания . На главной форме будет отражено количество заявок, поступивших в систему в течение рабочего дня.
После того, как статистический материал будет создан, необходимо в меню «Файл» выбрать пункт «Рассчитать» либо нажать на кнопку «Рассчитать» на главной форме программы. После чего будут рассчитаны и занесены в базу данных все численные показатели функционирования сервисного предприятия.
В процессе выполнения процедуры, обрабатывающей действие пользователя «Выбор пункта «Рассчитать» меню «Файл» или нажатие на кнопку «Рассчитать» создается 5 массивов данных.
Рис. 1. Основная форма программы «Оптимизация средств обслуживания автомобильного транспорта
Рис. 2. База данных технологического оборудования сервисного предприятия
Массив 1 – количество элементов массива равно количеству заявок, поступающих на сервисное предприятие в течение рабочего дня. Элементы массива имеют логический тип, учитывают нахождение заявки в процессе обработки и принимают значение True, если заявка принимается системой и начинает обслуживаться.
Массив 2 – количество элементов массива равно количеству заявок, поступающих на сервисное предприятие в течение рабочего дня. Элементы массива имеют логический тип, учитывают отказ заявок в обслуживании и принимают значение True, если заявка получает отказ.
Массив 3 – количество элементов массива равно сумме количества постов обслуживания и мест ожидания в сервисное предприятие. Элементы массива имеют логический тип, учитывают нахождение системы в определенном состоянии.
Массив 4 – количество элементов массива равно сумме количества постов обслуживания и мест ожидания в сервисное предприятие. Элементы массива имеют вещественный тип. В элементах массива ведется подсчет времени нахождения системы в каждом состоянии.
5) Массив 5 – количество элементов массива равно количеству заявок, поступающих на сервисное предприятие в течение рабочего дня. Элементы массива имеют вещественный вид. В элементах массива ведется подсчет времени обслуживания каждой заявки.
После создания массивов происходит присвоение переменным целочисленного и вещественного типов значений свойства Text соответствующих однострочных редакторов Edit.
Далее запускается цикл, имитирующий посекундное функционирование сервисного предприятия. При этом переменная t меняет свое значение от 0 до Тсум (в секундах). При совпадении значений элемента массива arrPotok со значением переменной t, запускается процедура Priem, имитирующая прием заявки на обслуживание. При этом происходит в зависимости от состояния системы: прием заявки на обслуживание; постановка заявки в очередь; отказ заявке в обслуживании.
При этом соответствующие элементы 5-ти вышеперечисленных массивов принимают соответствующие значения, а также происходит подсчет количества отказов.
Вне зависимости от совпадения значений элементов массива arrPotok со значением переменной t, запускается процедура Proverka, проверяющая завершение обслуживания заявки и, в случае возникновения данного события, выполняющая следующие действия: вывод заявки из системы; нахождения заявки, стоящей в очереди на обслуживание; постановки заявки на обслуживание.
После завершения цикла в процедуре происходит расчет всех числовых характеристик функционирования сервисного предприятия в течение рабочего дня.
Далее вызывается процедура Smeta, выполняющая расчет затрат на приобретение и монтаж оборудования, а также подсчитывающая суммарную мощность (в кВт) оборудования, питающегося от электрической сети.
После завершения процедуры Smeta выполняется расчет экономических показателей функционирования сервисного предприятия в течение года и занесение их в базу данных результатов расчета.
В данной программе для доступа к базам данных мы использовали механизм BDE (Borland Database Engine – процессор баз данных фирмы Borland), предоставляющий развитый интерфейс API для взаимодействия с базами данных. BDE представляет собой совокупность динамических библиотек и драйверов, обеспечивающих доступ к данным. Процессор BDE устанавливается на компьютер при общей установке программы «Оптимизация средств обслуживания автомобильного транспорта».
Приложение через BDE передает запрос к базе данных, а обратно получает требуемые данные. В качестве таблиц баз данных были использованы таблицы Paradox 7, так как они являются достаточно развитыми и удобными для создания BD. Можно отметить следующие их достоинства: большое количество типов полей для представления данных различных типов; поддержка целостности данных; организация проверки вводимых данных; поддержка парольной защиты таблицы.
Необходимо отметить интуитивно-понятный интерфейс программы и высокую точность расчетов и имитации работы сервисного предприятия.
Программа в дальнейшем может быть усовершенствована путем добавления в программный код новых процедур для учета факторов, не принятых во внимание ранее и влияющих на работу сервисного предприятия и, соответственно, на получаемые результаты.
Разработанное программное обеспечение позволяет значительно сократить время решения актуальной транспортной задачи.