УДК 519.852.67
Р. Р. Тимиргалеева
Гуманитарно-педагогическая академия ФГАОУ ВО «Крымский федеральный университет имени В. И. Вернадского», Российская Федерация, Республика Крым, г. Ялта
И. Ю. Гришин
Управление стратегического планирования и делопроизводства Ялтинского городского совета Республики Крым, Российская Федерация,
Республика Крым, г. Ялта
Новый метод решения задачи совместимости
линейных неравенств в экономических задачах планирования расхода ресурсов
Рассмотрен алгоритм определения внутреннего многогранника из множества вложенных выпуклых многогранников, заданных системой линейных неравенств. Такой алгоритм может эффективно использоваться при решении задачи линейного программирования методом главных граней, являющегося реальной альтернативой симплекс-методу. Приведен пример применения алгоритма, показана его вычислительная эффективность.
Ключевые слова: алгоритм, многогранник, система линейных неравенств, задача линейного программирования, симплекс-метод.
Известен метод решения задачи линейного программирования [3; 4], позволяющий находить гипергрань многогранника, на которой находится точка оптимума. После замены одного из линейных ограничений-неравенств равенством осуществляется снижение размерности исходной задачи и определяется следующая гипергрань, содержащая оптимальное решение. Эта гипергрань является смежной с ранее найденной. Однако при снижении размерности задачи часть из исходных ограничений-неравенств может стать несовместной, что приводит к неправильному определению очередной главной грани и, как следствие, к неверному нахождению оптимальной точки. В общей постановке задача нахождения граней, смежных с заданной гранью (или задача определения внутреннего многогранника из множества вложенных выпуклых многогранников, заданных системой линейных неравенств), в настоящее время не решена [2]. Поэтому имеет смысл использовать достаточно простые эвристические алгоритмы последовательного определения главных граней.
Широко известен метод определения совместности системы линейных уравнений [6], состоящий в вычислении ранга матрицы системы и сравнении его с количеством переменных. Данный метод может быть применен и для решения задачи
линейного программирования после приведения имеющихся ограничений-неравенств к ограничениям-равенствам. Однако с вычислительной точки зрения этот метод неэффективен, поскольку количество операций, необходимых для его реализации, зависит экспоненциально от размерности задачи и количества ограничений. В работе [5] изложен метод и алгоритм определения совместности систем линейных неравенств, однако он тоже малоприменим для систем большой размерности вследствие своей высокой вычислительной трудоемкости.
Цель статьи - предложить практически реализуемый алгоритм определения совместности систем линейных неравенств для нахождения смежных гиперграней с целью его применения в методе главных граней решения задачи линейного программирования.
Главная грань и грани, смежные с ней [4], показаны на рисунке.
При проекции на координатные плоскости смежные грани выбираемой главной грани образуют грани внутреннего многогранника. Прямая, проведенная через внутреннюю точку Р этого многогранника параллельно оси координат, пересекает его грани в точках, имеющих минимальное (по модулю) расстояние по оси координат до точки Р.
Исходная задача
Главная и смежная с ней грани
Поиск оптимальных (квазиоптимальных) решений предложенным способом рассмотрим на примере. В качестве внутренних точек на следующей итерации целесообразно брать точки пересечения этих прямых с выбираемой гиперплоскостью Lk и проецировать их на координатную плоскость, нормаль которой наиболее близка к нормали грани Lk, то есть коэффициент при соответствующем Xj в уравнении гиперплоскости Lk должен быть наибольшим по модулю.
Пример. Решить экономическую задачу распределения ресурсов (предполагается, что исходная система неравенств совместна и не содержит лишних ограничений).
Найти:
шах z = 3xl + 4хп + 8х, + 5х4 + 12х5 + 2х6, п= 3, 4, 8, 5, 12, 2 .
При ограничениях:
Ц : 3xj + 2х2 - х3 + 6х4 + х5 + х6 < 24,
щ =(3, 2, -1, 6, 1, 1);
L2 : х1 + 6х2 + х3 + 2х6 <18,
п2 = (1, 6, 1, 0, 0, 2);
L, : х4 + 2х5 < 12, щ = (0, 0, 0, 1, 2, 0);
L4 : Зх4 + х5 < 12, й4 = (0, 0, 0, 3, 1, 0);
L5 : 2х1 + х2 +х3 < 24, п5 = (2, 1, 1, 0, 0, 0);
L6 : 2х3 + х5 +3х6 < 36, п6 = (0, 0, 2, 0, 1, 3);
L6+J: -х , < 0, / = Т7б.
В таблице представлена запись исходной задачи.
Xj X2 X3 X4 X5 X6
Z 3 4 8 5 12 2
L 3 2 -1 6 1 1 24
L2 1 6 1 0 0 2 18
к 0 0 0 1 2 0 12
l4 0 0 0 3 1 0 12
L5 2 1 1 0 0 0 24
L6 0 0 2 0 1 3 36
L3: х^ —2х5
L10 : -12 + 2Х5 <0
На первой итерации находится первая главная грань. Вычисляется проекция по формуле
ргщ п = ^. Максимальное значение имеет
' к
р%п=-
5 + 24 29
то есть первая главная гипер-
^ л/5
грань 13:х4+ 2х} = 12. Исключается переменная х4 = 12-2х5. В результате получена таблица 2.
На второй итерации через внутреннюю точку Р 1,1,1, 5, 2 проводятся прямые -V' , параллельные осям Х1, Х2, Х3, Х5, Х6. Подставляя координаты точки Р, находим координаты точек пересечения этих прямых с гиперплоскостями
/,,...../,6 и координатными плоскостями
/,7...../,, 2. По координатам точек определяются
ближайшие, то есть смежные, грани.
Решая аналогичные уравнения для , , Цп получаем х6 = да .
Расстояние от точки Р до гиперплоскости по прямой Х^ равно = |х;-х"|, где х" - значение координаты точки Р. Минимальное расстояние Sj соответствует минимальному значению
х; при х - > х- и максимальному значению х; при х - < х". Каждая прямая X ' пересекается только с одной координатной плоскостью L6+J (х ■ =0 ), поэтому координата точки пересечения
ху- = 0 , 51. = рг ■ - х" = х" .
Для прямой Л'^ значение х6 =2 п минимальные расстояния до точки Р по прямой Л,' имеют гиперплоскости /., (х6=3, &6=|3-2| = 1) и /., (х6 = 0 , = |0 - 2| = 2). Аналогично могут быть вычислены расстояния до гиперплоскостей по прямым Л',', Л'2, Л'з, Л'з.
Из смежных граней максимальную величину проекции ргТъ п - 5,68 имеет грань Ь2. Исключается переменная х2 , так как в уравнении коэффициент при ней максимален. В результате получаем соотношение 6х2 -18-х,- х, - 2х6 .
Точка пересечения 1\ 1,1,7,5,2 прямой Л','
с гранью Ь2 соответствует минимальному расстоянию от точки Р. Поэтому внутренней точкой при исключении х2 будет точка Р2 1, 7, 5, 2 . Из смежных граней максимальную величину проекции рг~Т1 = имеет грань Ь6. Исключаем перемен-
1
ную х() = — З6-2х3-х5 . Точка пересечения прямой Л ' с гранью 1,(] ¡\ 1; 12,5; 5; 2 , поэтому внутренней точкой становится точка Р4 1; 12,5; 5 .
По максимальной величине проекции рг-п п = 63 выбирается смежная грань /Г2 и исключается переменная х3 = — 36-х5 .
Точка пересечения прямой Л'з с гранью Ь\2 Р5 1; 15,5; 5 , поэтому внутренней точкой становится точка Р6 1, 5 . Грань Ь8 имеет максимальную величину проекции ргт^п = 25,5 . Исключаем переменную х, = 0,5х5.
Видим, что оптимальным решением является х5 =4,8, а далее могут быть найдены остальные значения оптимального решения:
х1 = 0, 5х5 = 2,4 ;
х, = 18- —х5 =15,6
х6 =12 — х3 —х5 =0 ;
х2 = 0;
х4 = 12 —2х5 = 2,4 ;
=201,6.
В том случае, когда грани с наибольшими значениями величин проекций не входят в список
смежных, целесообразно выбирать их главными и искать смежные к ним грани. Например, на второй итерации грани Ь5, Ь6 не определены как смежные к грани Ь3. Однако, взяв их смежными вместо грани Ь3, может быть определено, что грань Ь3 будет смежной как к грани Ь5, так и к грани Ь6.
Далее, используя полярный многогранник, могут быть найдены пары несмежных гиперграней: (Ьь Ьб), (¿4, (Ь5, Ь<6), Ь Ь7), Ь Ь9), (Ь4, Ью), (Ь3, Ьп). Приведенные результаты согласуются с данными таблиц 3, 5, 7, 9, в которых при нахождении граней, смежных с гранями Ь3 и Ь6, отсутствуют пары (Ь3, Ьп), (Ьь Ь6), (Ь5, Ь6),
(Ьб, и).
Программа для ЭВМ, реализующая предлагаемый метод, включает в себя девять достаточно простых процедур, что позволяет легко ее адаптировать для решения конкретных оптимизационных задач. Реализация программы осуществляется в два этапа. На первом этапе выполняются п - 1 итерация поиска главных граней, аналогичная рассмотренному примеру. В результате формируется треугольная матрица коэффициентов уравнений главных граней путем перенумерования строк и столбцов исходной матрицы. На каждой итерации последовательно вызываются пять процедур, выполняющих над матрицей ограничений-неравенств следующие операции:
- производится определение смежных граней по признаку наименьшего удаления по прямой Х^ до внутренней точки. При этом осуществляется формирование массивов признаков смежных граней, расстояний и индексов прямых Л' .
Эти данные используются для вычисления внутренней точки на следующей итерации;
- вычисляются проекции р^п вектора п
на вектора п1;
- производится определение разрешающей строки по признаку минимальной проекции и осуществляется обмен номерами двух строк в матрице ограничений-неравенств с присвоением разрешающей строке номера 1;
- осуществляется преобразование матрицы ограничений и строки коэффициентов целевой функции путем вычитания разрешающей строки из последующих строк с обнулением первого столбца. Данная процедура прямому ходу решения системы линейных уравнений методом Гаусса. Далее первая строка исключается из матрицы ограничений и добавляется к матрице главных граней.
На втором этапе последовательно выполняются две процедуры:
- производится расчет последней, п-й итерации;
- осуществляется преобразование полученной треугольной матрицы главных граней по формулам обратного хода метода Гаусса.
Исходные данные должны быть подготовлены в виде файла соответствующей структуры, тогда главная программа вначале запускает процедуру присвоения начальных значений на основе информации такого файла.
Следует отметить, что выбор несмежной грани приводит к несовместности системы линейных ограничений. Известно, что вычислительная трудоемкость строгих алгоритмов определения совместности имеет полиномиальную сложность. Следовательно [6], алгоритм метода главных граней имеет сложность, не превосходящую полиномиальную.
Выводы. В результате проделанной работы предложен новый алгоритм определения главных граней при решении задачи линейного программирования, имеющий эвристический характер.
Предложенный алгоритм в совокупности с методом главных граней имеет полиномиальную сложность и может явиться альтернативой симплекс-методу.
Следует учесть, что с помощью эвристического алгоритма можно с определенной вероятностью найти неоптимальную смежную грань, что даст квазиоптимальную точку решения задачи линейного программирования. Однако очевидно, что такая точка может служить исходной вершиной для определения, например, симплекс-методом, оптимальной вершины за конечное число итераций. Данный подход рационален и возможен благодаря свойству устойчивости предлагаемого алгоритма.
ш
1. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979. 536 с.
2. Ашманов С. А. Линейное программирование. М.: Наука, 1981. 340 с.
3. Ларина (Тимиргалеева) Р. Р., Гришин И. Ю. Логистический подход к управлению региональными организационно-экономическими системами: монография. Симферополь: ИТ «АРИАЛ», 2012. 224 с.
4. Методы оптимизации в управлении организационно-экономическими и техническими системами: монография / под ред. проф. Р. Р. Лариной (Тимиргалеевой). Симферополь: ИТ «АРИАЛ», 2011. 224 с.
5. Хачиян Л. Г. Сложность задач линейного программирования. М.: Знание, 1987. № 10.
6. Черников С. Н. Линейные неравенства. М.: Наука, 1968. 488 с.
1. Aho A., Hopkroft Dzh., Ul'man Dzh. Postroenie i analiz vychislitel'nyh algoritmov. M.: Mir, 1979. 536 s.
2. Ashmanov S. A. Lineynoye programmirovaniye. M.: Nauka, 1981. 340 s.
3. Larina (Timirgaleyeva) R. R., Grishin I. Yu. Logistichesky podkhod k upravleniyu regionalnymi organizatsionno-ekonomi-cheskimi sistemami: monografiya / Simferopol: IT «ARIAL», 2012. 224 s.
4. Metody optimizatsii v upravlenii organizatsionno-ekono-micheskimi i tekhnicheskimi sistemami. Monografiya / pod re-daktsiyey professora Larinoy R. R. (Timirgaleyevoy). Simferopol: IT «ARIAL», 2011. 224 s.
5. Khachiyan L. G. Slozhnost zadach lineynogo programmi-rovaniya. M.: Znaniye. 1987. № 10.
6. Chernikov S. N. Lineynye neravenstva. M.: Nauka, 1968. 488 s.
R. R. Timirgaleeva
Chief of Department of Management and Tourism Business, V. I. Vernadsky Crimean Federal University, Yalta
I. Yu. Grishin
Chief of Department of Strategic Planning and Office Work, Yalta City Council of the Crimea Republic, Yalta
New method for solving linear inequalities compatibility problems
in economic planning resource consumption
The algorithm of determination of internal polyhedron is considered from the great number of the inlaid protuberant polyhedrons, linear inequalities set the system. Such algorithm can be effectively used for the decision of task of the linear programming of main verges a method, showing the real alternative to the symplex-method. The example of application of algorithm is resulted, its calculable efficiency is rotined.
Keywords: algorithm, polyhedron, set of linear inequalities, the linear programming task, symplex-method.