Научная статья на тему 'Программный комплекс исследования эффективности алгоритмов диспетчерского управления'

Программный комплекс исследования эффективности алгоритмов диспетчерского управления Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
82
26
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
алгоритмы / диспетчерское управление / лифт

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — В. П. Кузнецов, А. В. Марков, В. Н. Никонов

Выработана и реализована в виде библиотеки классов C++ универсальная методика измерения эффективности алгоритмов диспетчерского управления в различных режимах работы подъемного механизма на основе моделирования реальных процессов в подъемном механизме и сбора статистики в ходе моделирования

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

PROGRAM FOR INVESTIGATION OF DISPATCHING CONTROL ALGORITHMS EFFICIENCY

Program for investigation of most popular algorithms of dispatching control developed. Values of the parameters describing efficiency of the basic algorithms of dispatching management in various conditions founded. Structure of program and most important classes of program described

Текст научной работы на тему «Программный комплекс исследования эффективности алгоритмов диспетчерского управления»

Доклады БГУИР

2010 №4 (50)

УДК 621.876.11+519.872.2

ПРОГРАММНЫЙ КОМПЛЕКС ИССЛЕДОВАНИЯ ЭФФЕКТИВНОСТИ АЛГОРИТМОВ ДИСПЕТЧЕРСКОГО УПРАВЛЕНИЯ

В.П. КУЗНЕЦОВ, А.В. МАРКОВ, ВН. НИКОНОВ

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь

Поступила в редакцию 17 мая 2010

Выработана и реализована в виде библиотеки классов C++ универсальная методика измерения эффективности алгоритмов диспетчерского управления в различных режимах работы подъемного механизма на основе моделирования реальных процессов в подъемном механизме и сбора статистики в ходе моделирования.

Ключевые слова: алгоритмы, диспетчерское управление, лифт.

Введение

В крупных зданиях с интенсивным пассажирским потоком, как правило, используются группы лифтов. Эффективность такой группы в значительной степени определяется алгоритмами диспетчерского управления, которые используются для распределения кабин по вызовам, полученным от пассажиров. Эффективность алгоритма определяется отношением количества лифтов к пропускной способности системы в единицу времени, а также отношением потребляемой энергии к величине перевезенного груза. Существует большое количество типовых алгоритмов диспетчерского управления. У каждого алгоритма есть свои преимущества при пассажирском потоке одного вида и недостатки при потоках другого вида. Чтобы правильно выбрать наиболее подходящий для каждого конкретного случая алгоритм, необходимо выработать методику измерения основных качественных характеристик лифтового алгоритма.

Структурная схема системы управления группой лифтов

Здание определяется как система из N этажей и Ь кабин лифта. Алгоритмы диспетчерского управления используются для распределения кабин по вызовам, полученным от пассажиров. Кабины с индексом {1, 2,...Ь} либо стоят на этажах {1, 2,...Щ, либо движутся вверх или вниз. Вызовы с этажа инициируются пассажирами, которые нажимают кнопку на этаже и ждут прибытия лифта, причем вызов показывает необходимое пассажиру направление движения. Вызовы из кабины инициируются пассажирами, которые вошли в лифт и нажимают кнопку этажа внутри кабины. Вызовы регистрируются контроллером, управляющим работой группы лифтов.

Контроллер назначает кабину для обслуживания данного вызова. Назначение может быть задержано до тех пор, пока не появится лифт с достаточными возможностями для обслуживания

Рис. 1. Обобщенная структурная схема системы управления группой лифтов

вызова. Если назначено обслуживание хотя бы одного вызова, лифт движется в направлении целевого этажа, то есть первого вызова в последовательности обслуживания. Обобщенная структурная схема данной системы приведена на рис. 1.

Структурная схема моделирующей программы

Для определения значений параметров эффективности диспетчерских алгоритмов было произведено моделирование системы управления лифтом. Ввиду невозможности проведения эксперимента с реально существующей группой лифтов была разработана библиотека классов С++, моделирующая группу лифтов, и создана компьютерная программа на ее базе. Интерфейс программы предусматривает возможность ввода такой информации, как количество лифтов и этажей в здании, скорость лифта, время нахождения лифта на этаже с открытыми дверями, время открывания дверей, направление и интенсивность пассажиропотока в рассматриваемый период и максимально возможное количество людей в здании. Скорость прибытия пассажиров моделируется как случайная величина с распределением Пуассона.

Программа производит моделирование работы системы управления исходя из перечисленных входных параметров и генерируемых потоков пассажиров. Результатом работы программы является расчет таких параметров системы, как среднее время ожидания кабины лифта, среднее время нахождения в лифте, среднее время поездки, число пассажиров, которые не были обслужены по истечении минуты, а также пройденное кабиной расстояние в расчете на одного перевезенного пассажира. На рис. 2 приведена обобщенная структурная схема библиотеки классов.

Рис. 2. Обобщенная структурная схема программы

Модель пассажиропотока

В зависимости от времени суток выделяют четыре основных вида пассажиропотока: максимальный поток вверх утром, максимальный поток вниз вечером, немного менее интенсивный поток в обоих направлениях во время обеденного перерыва и поток малой интенсивности с равномерным распределением вызовов по всем этажам в остальное время.

Модель пассажиропотока осуществляет моделирование прибытия пассажиров на этажи, генерирует внешние вызовы со стороны пассажиров, внутренние вызовы из кабины, загрузку пассажиров в кабину лифта и выгрузку приехавших на целевой этаж пассажиров из кабины. На рис. 3 показана структурная схема модели пассажиропотока.

Рис. 3. Обобщенная структурная схема модели пассажиропотока

Входными данными для генератора пассажиров являются: характер пассажиропотока, количество людей в здании, количество этажей и текущая интенсивность пассажиропотока. Генератор пассажиров, получая сигнал синхронизации от модуля управления прогоном, генерирует вновь прибывших на этажи пассажиров. Каждый пассажир характеризуется этажом, на который он прибыл, этажом, на который он стремится попасть, массой, временем прибытия на этаж и состоянием ожидания или нахождения в кабине. Для каждого пассажира модуль загрузки и выгрузки пассажиров фиксирует время их посадки в лифт и время окончания поездки.

Информация о вновь прибывших пассажирах передается в генератор вызовов. Вызов характеризуется временим поступления, временем выполнения, направлением и флагом, который устанавливается, если вызов не был выполнен за минуту. Генератор вызовов проверяет, есть ли на этаже прибытия текущий не обслуженный вызов, удовлетворяющий вновь прибывших пассажиров. В случае его отсутствия генерируется новый вызов, и список новых внешних вызовов передается модели группового контроллера для распределения по отдельным лифтам.

Класс загрузки и выгрузки пассажиров получает информацию о пассажирах. При получении от какого-либо лифта сигнала о прибытии лифта на этаж, класс проверяет, какие из пассажиров могут сеть в прибывший лифт. При этом вызов, по которому прибыл данный лифт, уничтожается. После отбытия лифта пассажиры, которые не поместились в лифт, подходивший им по направлению, генерируют новый вызов. В момент прибытия лифта модуль загрузки и выгрузки пассажиров фиксирует время посадки пассажиров в лифт и время прибытия приехавших на целевой этаж пассажиров. Эти данные передаются модулю регистрации статистических данных. После загрузки пассажиров в лифт модуль загрузки и выгрузки пассажиров генерирует внутренние вызовы пассажиров из кабины лифта и передает их в модель контроллера соответствующего лифта.

Модель группового контроллера

Диспетчерское управление группой лифтов заключается в распределении вызовов по кабинам лифта таким образом, чтобы время поездки пассажира стало минимальным. Существует множество подходов и методов решения этой задачи, начиная от простейшего "обслуживания сначала ближайшего вызова" до очень сложных алгоритмов с использованием искусственного интеллекта. В программной библиотеке были реализованы следующие алгоритмы: кольцевой алгоритм, алгоритм максимального потока вверх, зонирование, алгоритм с расчетом времени прибытия (ETA) в варианте алгоритма трех переходов [1].

Модель группового контроллера выполняет функцию распределения внешних вызовов с этажей моделям контроллеров каждого лифта в соответствии с исследуемым диспетчерским алгоритмом. При этом модель группового контроллера может получать от модели лифтового контроллера данные о состоянии лифта, так как это состояние может повлиять на результат распределения вызовов. Выбор алгоритма осуществляется пользователем через графический интерфейс программы и является одним их входных значений для библиотеки классов. В моде-

ли реализованы 4 вышеописанных диспетчерских алгоритма. Каждый алгоритм оформлен в виде отдельного класса, наследующегося от общего базового интерфейса, т.е. организован механизм динамического полиморфизма. Данный подход облегчает добавление поддержки новых исследуемых диспетчерских алгоритмов.

Модель контроллера отдельного лифта

Модель контроллера отдельного лифта осуществляет выбор текущего целевого этажа для каждого лифта на основе списка актуальных внешних вызовов, полученного от группового контроллера, и списка внутренних вызовов из кабины лифта, регистрируемых самой моделью. Выбор приоритетной цели осуществляется на основе действующего лифтового алгоритма. Алгоритм одиночного лифта может выбираться пользователем через графический интерфейс программы. Как и в случае с групповыми диспетчерскими алгоритмами, различные реализации лифтового алгоритма реализованы в виде отдельных классов, наследуемых от общего абстрактного интерфейса. При выборе целевого этажа контроллер должен учитывать загруженность кабины лифта и ее текущее положение. Эту информацию модель контроллера получает от модели привода подъемного механизма. В свою очередь выбранный целевой этаж передается модели привода в качестве входного управляющего параметра. На основе информации, полученной от модели привода, модель контроллера отдельного лифта регистрирует факт прибытия лифта на целевой этаж и передает соответствующий сигнал классу, отвечающему за посадку пассажиров в кабины лифта и регистрации факта прибытия пассажиров на целевой этаж. Модель контроллера лифта реализована в виде класса библиотеки. Количество экземпляров данного класса соответствует количеству лифтов в группе.

Модель привода подъемного механизма

Модель привода подъемного механизма осуществляет расчет текущего местоположения кабины лифта на основе следующих параметров:

- ускорение кабины лифта (а);

- номинальная скорость кабины лифта (V);

- грузоподъемность с соответствующим средним числом пассажиров (Р);

- средняя высота между этажами;

- время входа в лифт и выхода из лифта;

- время задержки пассажира.

Входными данными являются целевой этаж, прибытие на который моделируется, и текущее время, получаемое от модуля управления прогоном. В библиотеке классов реализованы два варианта модели привода подъемного механизма, отличающиеся степенью точности моделирования. Упрощенная модель использует только паспортные данные лифта, такие как скорость и ускорение, и на их основе высчитывает положение кабины. Более точная модель работает, если известны паспортные характеристики используемого в лифтовой системе электродвигателя. В данной реализации предполагается, что осуществляется векторное управление асинхронным трехфазным двигателем и применяется соответствующая методика расчета основных параметров модели [2]. Важной задачей модели привода подъемного механизма является выдача модулю регистрации статистических данных информации для расчета эффективности расхода энергии приводом при использовании различных диспетчерских алгоритмов. Упрощенная модель выдает в качестве статистики информацию о пройденном кабиной лифта расстоянии. Параметром для оценки эффективности алгоритма при этом является расстояние, пройденное кабиной лифта в расчете на одного пассажира. При использовании более точной модели привода осуществляются расчет и выдача в качестве статистики расхода электроэнергии приводом с учетом того, что он может работать как в двигательном, так и в генераторном режиме. В качестве критерия оценки эффективности алгоритма при этом используется количество электроэнергии, израсходованной на перевозку одного пассажира.

Модуль управления прогоном

Данный класс библиотеки осуществляет управление скоростью моделирования. Это необходимо, если графический интерфейс программы осуществляет визуализацию движения лифтовых кабин при проведении моделирования. Модуль управления прогоном осуществляет выдачу синхронизирующих сигналов модели пассажиропотока и модели привода подъемного механизма.

Модуль регистрации статистических данных

Данный класс библиотеки осуществляет сбор данных о расстоянии, пройденном каждым лифтом, его энергопотреблении, продолжительности ожидания лифта каждым пассажиром и времени нахождения пассажира в кабине. На основе этих данных вычисляются основные критерии оценки качественных характеристик исследуемого диспетчерского алгоритма:

- среднее время ожидания (СВО) для всех пассажиров — время между регистрацией вызова с этажа и входом пассажира в лифт;

- среднее время в лифте (СВЛ) для всех пассажиров — время между входом пассажира в лифт и выходом из него на нужном ему этаже;

- число пассажиров, которые не были обслужены по истечении минуты после регистрации вызова (В0>60 с);

- количество метров, пройденных кабиной или количество кВт, потребленных приводом, в расчете на одного пассажира (РП).

Заключение

Разработана и реализована в виде библиотеки классов C++ универсальная методика исследования эффективности алгоритмов диспетчерского управления. Это позволяет разработчику оригинальных алгоритмов для каждого конкретного здания измерить эффективность разработанного алгоритма и сравнить его с типовыми диспетчерскими алгоритмами по основным критериям эффективности.

PROGRAM FOR INVESTIGATION OF DISPATCHING CONTROL ALGORITHMS EFFICIENCY

V P. KUZNECOV, A.V. MARKOV, V.N. NIKONOV Abstract

Program for investigation of most popular algorithms of dispatching control developed. Values of the parameters describing efficiency of the basic algorithms of dispatching management in various conditions founded. Structure of program and most important classes of program described.

Литература

1. КлейнрокЛ. Теория массового обслуживания. Пер. с англ./ Пер. И.И. Грушко; ред. В.И. Нейман. М, 1979.

2. Калашников В.И. // Проблемы автоматизированного электропривода. Теория и практика: Сб. тр. науч.-техн. конф. Харьков, 1998. С. 128-129.

i Надоели баннеры? Вы всегда можете отключить рекламу.