Международный информационно-аналитический журнал «Crede Experto: транспорт, общество, образование, язык». № 2 (13). Июнь 2017 (http://ce.if-mstuca.ru)
УДК 004.588 ББК 74.5 4-751
В. 3. Чокой Иркутск, Россия
СРЕДСТВА МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ ДЛЯ ОПТИМИЗАЦИИ АВИАТРАНСПОРТНЫХ СИСТЕМ
В статье представлен обзор математических и алгоритмических подходов к решению практических задач с использованием аппарата математического программирования. Рассмотрены вопросы функциональности, показаний к применению и особенности применения пакета авторских инструментов для решения оптимизационных задач, связанных с функционированием авиатранспортных систем. Так же рассмотрены основные интерфейсные решения по данным инструментам.
Пакет рекомендуется для использования в инженерно-технических вузах, а также в организациях гражданской авиации, для которых актуальны вопросы оптимизации организационно-технических систем и процессов в них.
Ключевые слова: авиатранспортная система, математическое программирование, целевая функция, функционал, система ограничений, оптимизация плана, симплекс-метод, автоматическая классификация
V. Z. Chokoj Irkutsk, Russia
MEANS OF MATHEMATIC PROGRAMMING FOR OPTIMIZATION OF
AIR TRANSPORT SYSTEMS
Mathematic and algorithmic approaches to solving practical problems with the use of the mathematic programming toolkit are reviewed. The author considers issues
© Чокой В. 3., 2017
of functionality, directions for use and peculiarities of applying a package of the author's tools to solve optimization problems associated with air transport systems operation. The main interface solutions on the tools are considered.
The package is recommended for use in engineering and technical higher educational establishments as well as in civil aviation organizations for which the issues of optimization of organizational and technical systems and their processes are urgent.
Key words: air transport system, mathematic programming, performance function, functional, limitation system, plan optimization, simplex method, automatic classification
Большая часть актуальных практических задач управления сложными организационно-техническими системами предполагает выполнение многофакторных оптимизационных процедур математического программирования и использование размерных массивов исходных данных. Это требует углубленной математической и компьютерной подготовки пользователей, а при ее отсутствии -ограничивает (если не блокирует) применение известных, доказавших свою эффективность, математических инструментов и существующих пакетов прикладных программ для ЭВМ.
Одним из востребованных в авиационной отрасли классом задач являются оптимизационные задачи, традиционно базирующиеся на достаточно сложном аппарате математического программирования. При должной информационной поддержке и формировании адаптированных к реалиям программ для ЭВМ, возможность решения таких задач лицами, принимающими решения, может стать обыденной практикой экономного расходования имеющихся ресурсов, нахождения и приведения в действие скрытых резервов эффективности.
В самом общем случае задача оптимизации критерия (функционала) W может быть представлена как
W = f(X) ^ extr(X,S), (1)
где X = [х1) х2,..., хп] - варьируемые значения элементов решения;
S - область допустимых значений (ограничений) элементов решения
, 1 ••• I •
Если Ш — /(X) зависит от двух и более факторов, то часто оптимизация осуществляется методами математического программирования. По виду функции f(X) и по области 5 в (1) различают:
- задачи линейного программирования, - если все зависимости линейны, в противном случае - относятся к задачам нелинейного программирования;
- задачи целочисленного (дискретного) программирования, - если ставится условие целочисленности переменных х±, х2,..., хп;
- задачи стохастического программирования, - если хотя бы одна из переменных имеет вероятностную природу.
Классы задач математического программирования.
Транспортная задача. Пусть имеются т пунктов отправления (например, складов), в которых сосредоточены грузы (например, авиационный керосин) в количестве, соответственно, а^а^, ...,ат единиц. Имеются п потребителей (например, аэродромов), требующих, соответственно, Ь1,Ь2, ...,Ьп единиц. При сбалансированном спросе и предложении объем заявок равен объему запасов. Известны затраты с^ на перевозку единицы груза от складов до аэродромов. Требуется составить такой план поставок, который обеспечивает минимум суммарных затрат.
Обозначим план поставок как совокупность х^у - количество единиц груза, поставляемого из /-го склада нау-й аэродром (х^ > 0). Искомый план поставок должен удовлетворять следующим условиям:
В данном случае оптимизация плана поставок сводится к нахождению (например, симплекс-методом) такой комбинации неотрицательных значений , которая обеспечивает минимум (4) при соблюдении ограничений (2) и (3). Необходимо отметить, что задача с неправильным балансом (спрос не равен
— — 1 , Ш;
(2)
(3)
(4)
ь — Н=1£"=1 (сч • хц) ^ тт.
предложению) сводится к задаче с правильным балансом путем искусственного введения фиктивного пункта назначения (или пункта отправления) с нулевой стоимостью поставки.
Задача загрузки мощностей. Пусть предприятие располагает к видами ресурсов (например, цехами ремонта воздушных судов) щ, i = 1 , к. Цехи обеспечивают производство m видов продукции (например, ремонтов конкретных типов воздушных судов) с различной производительностью a^J = 1 , т. Каждое отремонтированное воздушное судно у-го типа обеспечивает организации прибыль Cj. Пусть организацией установлена норма, в соответствии с которой в месяц должно выполняться не менее bj, и не более dj ремонтов воздушных судов у-го типа. Необходимо составить оптимальный план ремонтов (xtj > 0), при котором: все цеха загружены; суммарная месячная прибыль L максимальна. Ограничения на план производства в виде системы неравенств имеют вид:
Д=1 ai} • Xij < bj ,j = ljn; (5)
£?=i atj • xtj > dj ,j = ljn; (6)
£y=i Xij =nbi = 1 , k. (7)
Функционал оптимизации плана можно представить в виде
L = Yljl 1 Cj • YH=1{aij • Xij) ^ max. (8)
Формально решение поставленной оптимизационной задачи сводится к нахождению (например, симплекс-методом) таких неотрицательных значений Xij, которые удовлетворяют ограничениям (5), (6), (7) и максимизируют (8).
Задача назначений. Пусть имеется n исполнителей и такое же количество работ. Известна платежная матрица Cij,i,j = 1 , п эффективности выполнения работ каждым исполнителем. Необходимо закрепить исполнителей за работами, так, чтобы:
С = Xt=i2y=i cij • xij ^ 6xtT; YJj=1xij,i = 1 ,n; YJl=i^ij,i = 1 , n; xi} £ {0,1},¿J = 1 , n. Для решения поставленной задачи может быть использован, например, венгерский алгоритм [Палий, 2008].
Задача ранжирования. Пусть имеется некоторое множество S = (s1( ...,sn}, элементы которого требуют ранжирования (например, в порядке невозрастания некоторой меры значимости w¿, i = 1 , п). Необходимо сформировать процедуру P, требующую для полного ранжирования минимального числа сравнений Sp(n). Для решения данной задачи может быть использован алгоритм Штейн-гауза.
Задача упаковки (задача максимизации числа упакованных объектов с учетом предпочтительности) в общем виде может быть сформулирована следующим образом:
Sf=iSf=iX¿;^rnax; (9)
S=iWirn(l,ZiUxíj • ais) • nts < Pt • yj; t £ (1,2},; = 1J4 ; (10)
Ylf=i <1, i = TjV; (11)
Xíj £ (0,1}; yj £ (0,1}; i = 1JV;; = Ш (12)
где N - число загружаемых объектов; M - число контейнеров;
S - число типов элементов, из которых состоят объекты; ||a¿s|| - матрица размерности N X 5, задающая структуру объектов: ais = 1 - если элемент s-ro типа входит в состав /-го объекта и ais = 0 - в противном случае;
nst - значение t-ro аддитивного параметра элемента s-ro типа (t £ (1,2}; s = 1,S), например, вес, объем;
p¿t - значение t-ro аддитивного параметра /-го объекта, например, вес, объем; по определению p¿t = £s=i nst • ais;
Pt - значение t-го аддитивного параметра контейнера (t £ (1,2}), например, грузоподъемность, суммарный объем;
xtj £ (0,1}: 1 - если /-й объект загружается в j-й контейнер, 0 - в противном случае; уу £ (0,1}: 1 - если используется j-й контейнер, 0 - в противном случае.
Рассмотренный подход к упаковке пригоден и для оптимизации расписаний, процессов, когда планируемые мероприятия требуют «упаковки» во временные (календарные) «емкости». Решение поставленной задачи (9)...(12) возможно на основе известных алгоритмов, например, «в первый подходящий», «в первый подходящий с убыванием» [Фуремс, 1986].
Задача классификации. Пусть задано множество вершин 1(1,] = 1 , N) графа (I, Г), который требуется разбить на т непересекающихся подграфов, объединяющих наиболее тесно связанные вершины. Данной задаче соответствует следующая постановка:
тт ^ = ^¿у • ^^с^уяс; (I3)
при ограничениях:
= ^¿^^-¿^С = ^¿^С^^С — (14)
где т - требуемое число подграфов;
п = ^!т - среднее число вершин в подграфах;
х^ £ {0,1} (5 = 1 , т). 1 - если /-я вершина включена в комплекс вершин Б, 0 - в противном случае;
Хд £ {0,1} = 1 , т). 1 - если /-я вершина включена в комплекс вершин Т, 0 - в противном случае;
йц - показатель связности /-й иу-й вершин графа.
Решение поставленной задачи может быть выполнено с помощью алгоритмов автоматической классификации [Вятченин, 2004] или традиционными для линейного программирования способами [Лунгу, 2005; Палий, 2008].
Функциональность и интерфейсные решения по инструментам математического программирования. Исходя из актуальности рассмотренных классов задач, на факультете Эксплуатации летательных аппаратов Иркутского филиала МГТУ ГА сформирован пакет инструментов математического программирования. Данные инструменты являются составной частью общего пакета Модельер 2.0 и для пользователей доступны через группу «Решения при риске» головного меню (рис. 1).
Рис. 1. Головная панель пакета Модельер 2.0 (раскрыта группа «Процессы в системах» головного меню)
Из данной группы меню в пакет включены следующие инструменты:
- «Оптимальное распределение ресурсов» (рис. 2);
- «Оптимизация плана перевозок» (рис. 3);
- «Оптимизация производственного плана» (рис. 4);
- «Оболочка для канонических задач линейного программирования» (рис.
5);
- «Группировка объектов в однородные кластеры» (рис. 6);
- «Оптимальное ранжирование объектов по значимости» (рис. 7);
- «Оптимизация расписания, плана загрузки» (рис. 8).
Основные интерфейсные решения по инструментам соответствуют требованиям действующих стандартов и норм СЛЬБ-технологий [2].
Рис. 2. Панель инструмента «Оптимальное распределение ресурсов»
Рис. 3. Панель инструмента «Оптимизация плана перевозок»
На панелях всех перечисленных инструментов предусмотрены закладки «Справка по инструментальной оболочке», в которые загружаются справочные материалы, необходимые пользователям с недостаточным опытом работы.
Справка содержит следующую информацию: проверка работоспособности инструмента, показания к применению инструмента, примеры решаемых задач, особенности подготовки исходных данных и интерпретации получаемых результатов.
Рис. 4. Панель инструмента «Оптимизация производственного плана»
Рис. 5. Панель инструмента «Оболочка для решения канонических задач
линейного программирования»
Рис. 6. Панель инструмента «Группировка объектов в однородные кластеры»
Рис. 7. Панель инструмента «Оптимальное ранжирование объектов
по значимости»
Помимо инструментальных справок для информационного обеспечения работы пользователей в пакет включены информационные карты, доступ к которым возможен через группу «Информационные карты» головного меню {рис. 1). Эти карты содержат иллюстрированные материалы как теоретического, так и практического характера и предназначены для самостоятельной проработки актуальной предметной области перед использованием инструментальных оболочек. Данные материалы также могут быть использованы и при проведении лекций.
Рис. 8. Панель инструмента «Оптимизация расписания, плана загрузки»
Особенностями пакета Модельер 2.0 являются:
- наличие двух встроенных справочных систем - по общим вопросам моделирования и статистического анализа (информационные карты, доступные из
головного меню) и справок по каждому инструменту (представлены на отдельной вкладке каждой инструментальной панели);
- наличие возможности одномоментного изменения дизайна панелей путем загрузки через группу «Оформление» головного меню соответствующего скина;
- наличие всплывающих подсказок по назначению интерфейсных элементов, а также по формату и допустимому диапазону вводимых числовых данных;
- ограниченное использование в справочных текстах и в наименованиях интерфейсных элементов специфических терминов, требующих углубленной математической подготовки.
Библиографический список
1. Вятченин Д. А. Нечеткие методы автоматической классификации. Минск: Технопринт, 2004. 219 с.
2. Информационная поддержка жизненного цикла изделий. Информационные материалы. НИЦ CALS-технологий «Прикладная логистика» // [Электронный ресурс]. - 2008. URL: http://www.cals.ru (дата обращения: 10.10.2016).
3. Лунгу К. Н. Линейное программирование. Руководство к решению задач. М.: ФИЗ-МАТЛИТ, 2005. 128 с.
4. Палий И. А. Линейное программирование. М.: Эксмо, 2008. 256 с.
5. Фуремс Е. М. Модели упаковки в многокритериальных задачах принятия решения при ограниченных ресурсах. М.: ВНИИ Системных исследований, 1986. 46 с.
References
1. Vjatchenin D. A. (2004). Fuzzy methods of automatic classification. Minsk: Technoprint, 2004. 219 p. (In Russian).
2. Informational support of products life cycle. Information materials. SRC of CALS-technologies «Applied logistics» // [Electronic source]. - 2008. URL: http://www.cals.ru (accessed date: 10.10.2016). (In Russian).
3. Lungu K. N. (2005). Linear programming. Manual for solving problems. M.: PHYSMAT-LIT, 2005. 128 p. (In Russian).
4. Palij I. A. (2008). Linear programming. M.: Eksmo, 2008. 256 p. (In Russian).
5. Furems E. M. (1986). Packiging models in multi-criteria problems of decision-making with limited resources. M.: AUSRI of system researches, 1986. 46 p. (In Russian).