Раздел VII. Новые информационные технологии
УДК 658.512
М.В. Луцан, Е.В. Нужнов
ЭВРИСТИКИ ИНТЕЛЛЕКТУАЛЬНЫХ АГЕНТОВ АВТОМАТИЗИРОВАННОГО ГРУЗОВОГО ТЕРМИНАЛА*
В настоящей работе дано описание эвристик четырех интеллектуальных агентов, контролирующих функционирование автоматизированного грузового терминала (АГТ). Это специализированные агенты нижнего уровня - агент склада, агент разгрузки и загрузки контейнеров, а также агент-координатор верхнего уровня. Агенты нижнего уровня отвечают за решение своих задач, агент-координатор обеспечивает общую эффективность АГТ. В отдельных случаях диспетчер может принимать свои окончательные решения, которые не совпадают с решениями координатора. Представлены новые идеи и возможности продолжения обсужденных разработок.
3-D блок (груз); контейнер; автоматизированный грузовой терминал; зоны прибытия и отправления; диспетчер; интеллектуальные агенты; агенты разгрузки и загрузки контейнеров; агент-координатор; эвристики агентов.
M.V. Lutsan, E.V. Nuzhnov
THE HEURISTICS FOR COMPUTER AIDED CARGO TERMINAL
INTELLIGENT AGENTS
In the present work the description of four intelligent agents heuristics, controlling computer aided cargo terminal (CACT) functioning, is done. There are specialized low level agents -warehouse agent, container unloading and loading agents, and the high level agent-coordinator. Low level agents are responsible for their tasks solving, agent-coordinator provides the common CACT effectiveness. In individual cases dispatcher is able to make his own final decisions, which are not the same with some agent decisions. New ideas and possibilities of developments discussed continuation are presented.
3-D block (cargo); container; computer aided cargo terminal; arrival and departure zones; dispatcher; intelligent agents; container unloading and loading agents; agent-coordinator; agents heuristics.
Введение. Все большую роль в нашей жизни играют автоматизированные системы, управляющие производственными процессами. В данной статье рассматриваются возможности использования эвристических приемов функционирования интеллектуальных агентов информационной системы поддержки процессов управления работой автоматизированного грузового терминала (АГТ). Агенты служат для обработки поступающих заданий на погрузочно-разгрузочные работы, а также определения очередности загрузки/разгрузки контейнеров товарами (блоками) на основе множества критериев. От качества и эффективности их работы зависят: скорость обработки транзитных грузов, качество построения очередей на разгрузку/загрузку контейнеров и другие показатели, что, в конечном счете, определяет общую функциональную и экономическую эффективность АГТ [1-4].
Виды используемых агентов. На грузовом терминале используются 4 интеллектуальных агента, контролирующих работу АГТ [1]:
* Работа выполнена при частичной поддержке РФФИ (проект № 12-07-00058). 232
1) агент-координатор (Ас), осуществляющий координацию деятельности агентов разгрузки и загрузки, принимающий решение о выборе следующих контейнеров на разгрузку и загрузку, на основе информации, поступающей от агентов разгрузки, загрузки и агента склада;
2) агент склада (А^т) контролирует все находящиеся на складе блоки, а также блоки, находящиеся в списке на разгрузку. Заблаговременно уведомляет агента-координатора о наличии дефицитных блоков.
3) агент разгрузки (Аи), обрабатывающий поступающие контейнеры и занимающийся постановкой их в список ожидания разгрузки, а также выбором очередного контейнера на разгрузку на основании требований по разгрузке контейнеров и требований агента-координатора;
4) агент загрузки (Аь), обрабатывающий поступающие заказы на загрузку контейнеров и выполняющий выбор очередного контейнера из списка ожидания загрузки на загрузку на основании требований по загрузке контейнеров и требований агента-координатора.
Агенты построены по двухуровневой схеме: на верхнем уровне функционирует агент-координатор, остальные агенты нижнего уровня могут взаимодействовать только с ним. Агенты подчиняются действиям (сигналам, командам и решениям) диспетчера (одного или нескольких людей), но взаимодействовать с диспетчером может только агент-координатор.
Для выбора следующего контейнера из списков ожидания используется набор эвристик, при использовании которых каждому контейнеру в списках присваивается условный показатель - «важность». Пересчет важности происходит всякий раз, когда агент-координатор выбирает следующий контейнер на загрузку/разгрузку или изменяется состояние склада блоков (с товарами - грузов).
Эвристики агента склада. Агент склада AW обеспечивает нормальное функционирование склада. Возможны 2 критические ситуации:
♦ склад пуст, когда на складе нет блоков. В этой ситуации агент склада AW подает сигнал прерывания процесса выдачи блоков агенту-координатору Ас;
♦ склад заполнен, когда на складе некуда помещать новые блоки. Для гарантированного завершения разгрузки очередного контейнера на складе предусмотрена дополнительная область, позволяющая экстренно разгрузить целый контейнер. После экстренной разгрузки агент склада AW подает сигнал прерывания процесса начала разгрузки агенту-координатору Ас.
При каждом изменении состояния склада ввиду поступления или выдачи блоков агент склада AW предоставляет агенту-координатору АС описание набора хранящихся блоков в виде вектора:
В = (С7...Ск),
где С, - число блоков /-го типа на складе, ! = 1.. л, к - число типов блоков на складе.
Прогноз дефицита отдельных блоков на основе динамики их выдачи со склада. Опытным путем определяется вектор значений дефицита блоков каждого типа:
Йтіп /■ тіп тіп тіп
= (пі , П2 ,,..., пк ).
Вводится специальный вектор дефицита
Б = (й1, й2, ..., йк),
где йі={0, 1}.
В случае, когда для блока типа і становится пі < п1тіп, следует установить й = 1. В дальнейшем на основе вектора Б можно дифференцированно увеличивать важность дефицитных блоков.
Прогноз избытка отдельных блоков на основе динамики их поступления на склад. Опытным путем определяется вектор значений избытка блоков каждого типа
Йтах /■_„ тах тах тах\
= (п , п2 , ... , пк ).
Вводится специальный вектор избытка
F = (/1, /2, ., /к),
где /і ={0, 1}.
В случае, когда для блока типа і становится пі > пГ™, следует установить / = 1. В дальнейшем на основе вектора Г можно дифференцированно уменьшать важность избыточных блоков.
Формирование собственных ускоряющих или тормозящих решений. При возникновении на складе дополнительных нежелательных ситуаций агент склада А-№ может вносить свой вклад в увеличение/уменьшение важности отдельных блоков по заданию агента-координатора или на основе своих личных предпочтений, полученных путем собственных вычислений или по адаптивной схеме.
Эвристики агента загрузки. Агент загрузки Аь использует следующие эвристики для подсчета важности контейнеров в списке на загрузку.
Для каждого контейнера ], і = 1,1, I - число контейнеров в списке загрузки Шц, составляется описание набора требуемых для его загрузки блоков в виде вектора:
_ (Гц., Тр_і, Г}{),
где С = 1 ,к, к - количество типов блоков, Тр - число блоков типа ї в контейнере ].
Далее вектор в вычитается из вектора В:
Щ = В- в.
Вектор Щ определяет наличие необходимого количества всех типов блоков, требуемых для загрузки .-го контейнера, на складе. Если хотя бы одна из координат вектора Щ отрицательна, например гк<0, то на складе недостаточно блоков типа гк , и загрузка контейнера ] невозможна.
На основе вектора Щ строится вектор дефицита 1ц такой, что: їц = (/(Г}1), ...,/(Г}П)),
ГГгг. г0,если Т> 0;
где /(Г) = ] _
' и,если Т < 0.
После построения агентом загрузки вектора дефицита 1ц, вектор передается
агенту координатору, который на основе всех векторов 1ц строит вектор дефицита загрузки I.
Важность к-го контейнера на следующую загрузку агентом загрузки Аь вычисляется по следующей формуле:
мьк = а:и ^+дад-м/к,
где шкі - важность блока і в контейнере к; по умолчанию шкі = 1, но может изменяться диспетчером АГТ по внешним причинам, Д£>к - число минут, прошедших со времени прибытия контейнера на АГТ, Шк - общая важность контейнера, рассчитываемая по формуле:
Г0, если |/ьк| > 0;
Шк = \ 1, если Уьк = 0;
______ \Уьк, если Уьк > 0,
где Уцк = 1... 10 - важность контейнера, которую устанавливает диспетчер по каким-либо причинам (неожиданное изменение требований заказчиков, форсмажорные обстоятельства и т.п.); по умолчанию Уцк =1.
На основе рассчитанных важностей Шьк для каждого контейнера агент загрузки Аь помечает контейнер с наибольшей важностью в списке ожидания загрузки как «рекомендуемый к загрузке» и передает сигнал о завершении выбора агенту-координатору Ас. Агент-координатор сообщает данное решение диспетчеру и, если у диспетчера нет возражений, выбранный контейнер перемещается на загрузку следующим (с помощью команд диспетчера).
Возражение диспетчера АГТ предполагает наличие у него собственного решения задачи загрузки. Собственное решение диспетчера (другой выбранный контейнер) направляется агенту-координатору.
Эвристики агента разгрузки. Агент разгрузки Аи использует следующие эвристики для подсчета важности контейнеров в списке на разгрузку.
Для каждого контейнера т, тгс = Туй, и - число контейнеров в списке разгрузки Wи, составляется описание набора его блоков в виде вектора:
____ ит= (Tmb■■■,Tmt),
где С = 1, к, к - количество типов блоков, Тт - число блоков ї-го типа в контейнере т.
Далее каждый вектор ит складывается с вектором I (построенным агентом-координатором АС, описание эвристик которого дано ниже):
Нт ит+^-.
На основе вектора Нт рассчитывается коэффициент Ет:
Р = И
Е'т £іі=1 пті>
где к - число типов блоков.
Важность контейнера т на следующую разгрузку вычисляется по следующей формуле:
^ит = (Уі=і ^ті + ^^т + ^т) " ^ит,
где шті - ценность типа блока і в контейнере т, АОн - число минут, прошедших со времени прибытия контейнера на терминал, Уит = 1... 10 - вес контейнера, который устанавливает диспетчер, по умолчанию Уик = 1.
На основе рассчитанных ценностей Шит для каждого контейнера агент разгрузки Аи помечает контейнер с наибольшей важностью в списке ожидания разгрузки как «рекомендуемый к разгрузке» и передает сигнал о завершении выбора агенту-координатору Ас. Агент-координатор сообщает данное решение диспетчеру и, если у диспетчера нет возражений, выбранный контейнер перемещается на загрузку следующим (с помощью команд диспетчера).
Возражение диспетчера АГТ предполагает наличие у него собственного решения задачи загрузки. Собственное решение диспетчера (другой выбранный контейнер) направляется агенту-координатору.
Эвристики агента-координатора. Влияние агента-координатора Ас на работу АГТ может проявляться 3 способами:
♦ неявно - персональными добавками стимулирующих значений при расчетах важности отдельных блоков или целых контейнеров;
♦ явно - принятием собственных решений, отменяющих решения агентов разгрузки Аи и загрузки Аь;
♦ рекомендательно - предложениями диспетчеру по различным аспектам функционирования АГТ.
Агент-координатор на основе векторов Іц, і = 1,1, I - число контейнеров в списке загрузки WL, переданных ему из агента загрузки Аь, строит общий вектор дефицита блоков I:
I = У-=і/у.
Для повышения эффективности функционирования зон прибытия и отправления при наличии технической возможности и необходимых ресурсов (контейнеров) агент-координатор Ас может оценить целесообразность увеличения числа платформ (для распараллеливания процессов) разгрузки/загрузки контейнеров или уменьшения их числа при затоваривании (заполнения и отсутствия свободного места) склада.
Оптимизация числа платформ разгрузки. Пусть число платформ разгрузки = 1,р, где р - максимальное число платформ разгрузки. Введем логические переменные состояний 8і = {0,1} | (і=1,4): есть прибывшие и неразгруженные контейнеры (51); есть свободная платформа разгрузки ^2); на складе есть свободное
место (Б3); пустой контейнер нужен для загрузки (Б4). Тогда условие целесообразности увеличения числа платформ разгрузки имеет вид:
Би = Бі & Б2 & Бз & Б4.
При условии (Би = 1) & №и Ф р) агент-координатор Ас посылает диспетчеру запрос на увеличение на 1 числа платформ Щ и в случае положительного ответа вводит в действие новую платформу. При условии (Би = 0) & Ф 1), когда число платформ избыточно, агент-координатор (Ас) посылает диспетчеру запрос на уменьшение на 1 числа платформ и в случае положительного решения исключает платформу из числа используемых.
Оптимизация числа платформ загрузки. Пусть число платформ загрузки N. = 1, д, где д - максимальное число платформ загрузки. Введем логические переменные состояний Бі = {0,1} | (і=5,7): есть ожидающие загрузки контейнеры (Б5); есть свободная платформа загрузки (Б6); на складе есть все блоки из хотя бы одного плана загрузки (Б7). Тогда условие целесообразности увеличения числа платформ загрузки имеет вид:
Бц = Б5 & Бб & Б7.
При условии (Бц = 1) & N. Ф д) агент-координатор Ас посылает диспетчеру запрос на увеличение на 1 числа платформ N. и в, случае положительного решения, вводит в действие новую платформу. При условии (Бц = 0) & (N2, Ф 1), когда число платформ избыточно, агент-координатор Ас посылает диспетчеру запрос на уменьшение на 1 числа платформ и, в случае положительного решения, исключает платформу из числа используемых.
Заключение. Решаемые на АГТ задачи приема контейнеров и их разгрузки, обслуживания склада временного хранения блоков, подачи пустых контейнеров и их загрузки по заявкам многих заказчиков имеют собственные критерии качества решения, но являются взаимосвязанными, а часто и даже взаимно зависимыми по общим ресурсам АГТ. Поэтому в работе была предпринята попытка для их скоординированного решения на основе использования группы интеллектуальных агентов во главе с агентом-координатором.
Использование предлагаемого варианта организации АГТ позволяет обеспечить сбалансированное и более эффективное использование ресурсов АГТ, уменьшить время простоя транспорта с контейнерами, учитывать различные приоритеты грузов и заказов, оперативно контролировать изменения состояний ресурсов АГТ и обрабатывать динамически изменяющиеся списки контейнеров на разгрузку и загрузку.
В плане продолжения исследований целесообразным представляется решение следующих возможностей и проблем:
♦ включение в работу агентов новых эвристик, основанных на хорошо зарекомендовавших себя при решении сложных задач биоинспирированных подходах [8, 9];
♦ учет запросов на загрузку и их влияние на очередность загрузки;
♦ учет запросов на загрузку в рекомендациях на разгрузку;
♦ введение таймаута ожидания;
♦ альтернативно-приоритетное обслуживание заказов и др.
Также вызывает интерес учет возможностей резервирования (временной блокировки) загрузки отдельных блоков. В случае использования приоритетных заявок на доставку грузов, кроме механизма блокировки решений агента загрузки, может использоваться техника блокировки загрузки отдельных блоков по разным причинам. Такие блоки объявляются задержанными.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Луцан М.В., Нужное Е.В. Использование интеллектуальных агентов на автоматизированном грузовом терминале // Известия ЮФУ. Технические науки. 2012. - № 7 (132).
- С. 174-180.
2. Berghman L., Leus R., Spieksma F.C.R. Optimal solutions for a dock assignment problem with trailer transportation // Annals of Operations research. Springer Netherlands, 2011.
3. Кросс-докинг. Перспективная схема складской логистики. - 2009. - http://www.nlsklad.ru/stat-i/kross-doking.html.
4. Фетисова Т., Бабаев А. Технологическая эффективность кросс-докинга, 2012.
- http://www.concept-logic.ru/publication/works/work12.php.
5. Луцан М.В., Нужное Е.В. Трехмерная упаковка прямоугольных объектов с определением последовательности их погрузки // Труды конгресса по интеллектуальным системам и информационным системам «IS-ГГ’П». Научное издание в 4-х томах. - М.: Физмат-лит, 2011. - Т. 3. - С. 285-291.
6. Нужное Е.В., Барлит А.В. Трехмерная упаковка на основе эвристических процедур // Известия ТРТУ. - 2002. - № 3 (26). - С. 95-101.
7. Wooldridge M.J. Intelligent Agents // Multiagent Systems. - 2001. - Р. 27-79.
8. Кныш Д.С., Курейчик В.М. Проблемы, обзор и параллельные генетические алгоритмы: состояние // Известия РАН. Теория и системы управления. - 2010. - № 4. - С. 72-82.
9. Курейчик В.М., Курейчик В.В., Родзин С.И. Модели параллелизма эволюционных вычислений // Вестник ростовского государственного университета путей сообщения. Научно-технический журнал. - Ростов-на-Дону: Изд-во РГУПС. - 2011. - № 3. - С. 91-96.
Статью рекомендовала к опубликованию д.т.н., профессор Л.С. Лисицына.
Луцан Максим Васильевич - Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге; е-mail: maxim.lutsan@gmail.com; 347928, г. Таганрог, пер. Некрасовский, 44, ГСП 17А; тел.: 88634371651; кафедра систем автоматизированного проектирования; аспирант.
Нужнов Евгений Владимирович - е-mail: nev@tsure.ru; кафедра систем автоматизированного проектирования; к.т.н.; доцент.
Lutsan Maxim Vasilyevich - Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; е-mail: maxim.lutsan@gmail.com; GSP 17A, 44, Nekrasovskiy, Taganrog, 347928, Russia; phone: +78634371651; the department of computer aided design; postgraduate student.
Nuzhnov Evgenij Vladimirovich - е-mail: nev@tsure.ru; the department of computer aided design; cand. of eng. sc.; associate professor.
УДК 681.3.06: 681.323 (519.6)
Я.Е. Ромм, А.И. Тренкеншу
ВЫДЕЛЕНИЕ ТРЕНДОВ И ОПРЕДЕЛЕНИЕ ТОЧЕК РАЗВОРОТА ТЕНДЕНЦИЙ ФИНАНСОВЫХ РЫНКОВ НА ОСНОВЕ СХЕМ
СОРТИРОВКИ
Изложен метод программного выделения основных тенденций на финансовых рынках с автоматическим подбором определяющих параметров. Метод опирается на алгоритмы устойчивой сортировки, с помощью которой идентифицируются все локальные экстремумы входной последовательности цен закрытия дня финансовых инструментов. Представлен алгоритм автоматического выделения экстремумов на графиках финансовых инструментов, являющихся опорными точками трендов. Предложен метод определения сигнала разворота тенденции на финансовых рынках, учитывающий важнейшие характеристики локализованных с помощью автоматического подбора параметров экстремумов. Приведе-