Научная статья на тему 'Реализация обобщенной модели оптимизации затрат при эксплуатации воздушного транспорта'

Реализация обобщенной модели оптимизации затрат при эксплуатации воздушного транспорта Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Моргунов Иосиф Борисович

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

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

Похожие темы научных работ по математике , автор научной работы — Моргунов Иосиф Борисович

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

Текст научной работы на тему «Реализация обобщенной модели оптимизации затрат при эксплуатации воздушного транспорта»

2006 НАУЧНЫЙ ВЕСТНИК МГТУ ГА №108

серия Эксплуатация воздушного транспорта и ремонт авиационной техники. Безопасность полетов

УДК 629.735.015

РЕАЛИЗАЦИЯ ОБОБЩЕННОЙ МОДЕЛИ ОПТИМИЗАЦИИ ЗАТРАТ ПРИ ЭКСПЛУАТАЦИИ ВОЗДУШНОГО ТРАНСПОРТА

И.Б. МОРГУНОВ

Статья представлена доктором технических наук, профессором Елисовым Л. Н.

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

Многие задачи принятия решений и задачи управления в своей математической постановке сводятся к задачам выбора оптимального маршрута или задачам маршрутизации. Фундаментальной задачей маршрутизации, к которой сводятся многие задачи, является задача коммивояжера или задача отыскания оптимальных гамильтоновых контуров направленного графа [1].

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

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

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

Веса дуг графа будем задавать его матрицей смежности порядка - N.

А = ( ау X (1)

где а^ > 0 - вес (расстояние) между вершинами графа 1 и ] 1,] = 1, N .

Весу элемента а11 приписывается достаточно большое число. Если вершины графа рассматривать как пункты, веса дуг между ними как расстояния, то задача коммивояжера формулируется так: найти циклический маршрут (гамильтонов контур) графа, проходящий через каждый пункт по одному разу, кроме начального пункта, и такой, чтобы путь, пройденный коммивояжером, был минимальным. В отличие от широко известного метода «ветвей и границ» и приближенных методов поиска оптимальных решений [1] задачи коммивояжера, применим итера-

ционный метод поиска оптимальных решений задачи коммивояжера с оценкой точности решения на каждой итерации.

Произвольный циклический маршрут будем обозначать вектор - строкой П.

п = ( 1Ь І2, . . . , 11 ). (2)

Среди всех циклических маршрутов, выделим маршрут, который совпадает с порядком строк и столбцов матрицы А.

Этот циклический маршрут назовем расчетным маршрутом, соответствующим порядку строк и столбцов матрицы А (1). Расчетный маршрут обозначен вектором Р .

Элементы матрицы А (1), которые соответствуют дугам расчетного маршрута имеют вид:

где 1 = 1, N; если 1 = N то полагаем 1 + 1 = 1.

аЦ+Ь

(3)

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

Длина произвольного циклического маршрута по матрице А обозначается Ь(ПА); расчетного маршрута - Ь(ПРА).

Введем функцию:

1, если в циклическом маршруте вершина г

непосредственно предшествует вершине у (4)

0, в противном случае Длина произвольного циклического маршрута имеет вид:

N N

Ь(ПА) = 2 2 х„ * а„. (5)

] =1 г=1

Длина расчетного маршрута:

N

ь(ПрА) = 2 а„„ ■ (6)

г=1

Это есть сумма наддиагональных элементов.

По исходной матрице А (1) построим расчетную матрицу В = (Ь1») по правилу:

Ь1] ау — а1,1+1, (7)

что соответствует вычитанию наддиагонального элемента а1,1+1 из всех элементов 1 - строки матрицы А.

Из формулы (7) следует

Ь1,1+1 = 0 , при 1 = 1, N . (8)

Из (8) получаем

N

ь(Прв) = 2 Ь„„ = 0 . (9)

г=1

Из способа построения матрицы В (7) следует, что ее элементы могут принимать положительные, нулевые и отрицательные значения.

Если по матрице В можно найти такой циклический маршрут П1, который имеет отрицательное значение длины, т. е.

N N

ЦП.В) = 2 2 х„ * Ь,< 0 . (10)

г=1 ;=1

то из этого, с учетом (5), (6), (7), следует:

NN NN N

2 2 х *(а ц- аг,г+1) = 2 2 хг] * а ц - 2 аи+1 =

г =1 у=1 г=1 у=1 г=1

= Ь(ПхА) - Ь(ПРА) < 0. (11)

Откуда

ЦП1А) < Ь(ПРА) . (12)

Циклический маршрут П1А имеет меньшее значение длины, чем расчетный маршрут ПРА.

В таком случае можно перестроить строки и столбцы матрицы А в соответствии с вектором П1 и далее повторить расчеты по формулам (7)^(9). Это есть один шаг итерационного процесса. Непосредственно получаем достаточное условие оптимальности.

Теорема 1

Если на очередном шаге итерационного процесса (7)^(9) выполняется условие Ь» > 0 для всех элементов матрицы В (7), то соответствующий расчетный маршрут Р - оптимальный.

Из теоремы 1 следует, что если, по меньшей мере, один элемент матрицы В (7) отрицательный, т.е. Ь1» < 0, то соответствующий расчетный маршрут возможно не оптимальный. Поэтому, в соответствии с теоремой 1, мы получаем необходимое условие для элементов матрицы В (7), для которой расчетный маршрут ПРВ не является оптимальным.

Теорема 2

Если на очередном шаге итерационного процесса (7)^(9) расчетный маршрут не является оптимальным, то найдется, по меньшей мере, один элемент матрицы В (7), который является отрицательным, т.е. Ь1» < 0.

Формулу (7) можно представить в виде

Ь1 = аУ - Я]-!», (13)

что соответствует вычитанию наддиагонального элемента а»_1,» из всех элементов ] столбца матрицы А.

Здесь ] = 1, N; если ] = 1 , то полагаем ] - 1 = N.

Мы получили новый тип матрицы В.

Далее

Ь»-1,» = 0. (14)

Из(14)следует

N

Ь(ПРВ) = 2 Ьн, = 0. (15)

}=1

Эту матрицу В (13) можно использовать для поиска циклического маршрута с меньшим значением длины, используя итерационный процесс.

Наконец, можно получить еще один тип матрицы В, элементы которой есть сумма элементов Ь1» (7) и Ь1» (13).

Ьу = 2 * а;» - ( аи+1 + а»_1,» ). (16)

Аналогично из (16), (7), (13) следует:

bi,i+i = bj-i,j = 0 . (17)

N N

Ь(ПРВ) = 2 b,.,+ = Z bj-ij = 0 . (18)

¿=1 j=1

Матрицу B (16) можно использовать для поиска циклических маршрутов с меньшим значением длины, используя итерационный процесс.

Теоремы 1, 2 имеют место в полном объеме для итерационных процессов с матрицами B (13) и B (16).

Теорема 3

Для элементов произвольной матрицы A = ( a;j ) имеет место соотношение:

aij + akp - aip - akj = const , (19)

которое не изменяется при следующих ее преобразованиях:

1. Сложение любого числа со всеми элементами некоторой строки (строк) матрицы A.

2. Вычитание любого числа из всех элементов некоторой строки (строк) матрицы A.

3. Сложение любого числа со всеми элементами некоторого столбца (столбцов) матрицы A.

4. Вычитание любого числа из всех элементов некоторого столбца (столбцов) матрицы A.

5. Любая перестановка строк и столбцов матрицы A, с учетом возможного изменения нумерации строк и столбцов.

Для доказательства прибавим ко всем элементам i - строки число В; к элементам строки -k, число C; к элементам столбца j, число D; к элементам столбца р, число F. Эти числа любые.

Получаем из (19):

( aij + В + D ) + ( akp + C + F ) - ( aip + В + F ) + ( akj + C + D ) =

= aij + akp - aip - akj = const , (20)

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

Доказательство пункта 5 очевидно.

Следствие 1

Для элементов матрицы, которая является суммой матриц одинаковой размерности, справедлива формула (19).

Следствие 2

Умножение матрицы на число приводит к умножению правой части (19) на это же число.

В дальнейшем в основном будет использоваться матрица в форме (16), (17).

Для элементов матрицы в форме выражения (16) условие (19) запишется в виде.

bij + bkp - bip - bkj = const , (21)

Следствие 3

Если элемент bip - лежит на расчетном маршруте, то формула (21) примет вид.

bij + bkp - bkj = const . (22)

Следствие 4

Если элементы bij; bkp - лежат на расчетном маршруте, то формула (21) примет вид

bip + bkj = const , (23)

Определение 1

Преобразование строк и столбцов матрицы В (16) в соответствии с условиями теоремы 3 назовем стандартным, если оно не изменяет выражений (17).

Другими словами, стандартное преобразование элементов матрицы В сохраняет все элементы расчетного маршрута (17) равными нулю и длину расчетного маршрута (18) также равной нулю.

Для элемента матрицы bij = 0 ( i,j = 1, N ), лежащего на расчетном маршруте, стандартное преобразование заключается в том, что к элементам i - строки матрицы В прибавляется число C, а из элементов j - столбца матрицы В вычитается число C, либо наоборот.

Стандартное преобразование позволяет поставить вопрос о "подавлении" всех или части отрицательных элементов на очередном шаге итерационного процесса. Возможны различные способы использования стандартного преобразования для ликвидации отрицательных элементов матрицы В (16).

Теорема 4

Условие сохранения отрицательных элементов матрицы В при стандартных преобразованиях.

Если на очередном шаге итерационного процесса выражение (23) является отрицательным, то с помощью любого стандартного преобразования отрицательные элементы матрицы В ликвидировать нельзя. Если в выражении (21) элементы bij и bkp лежат на расчетном маршруте, то они принимают вид

bi,i+1 = 0; bk,k+1 = 0. (24)

Откуда выражение (23) примет вид:

Ь1,к+1 + Ьк,1+1 < 0. (25)

Любые стандартные преобразования с учетом (21), (24) не изменяют выражение (25). Откуда следует, что отрицательные элементы матрицы, либо Ь1,к+1, либо Ьк,1+1 сохраняются.

Возможно лишь перемещение отрицательного значения от одного из них к другому.

Если по матрице В (16) можно составить последовательность выражений (22), (23), относящихся к различным элементам расчетного маршрута, таких, что сумма этой последовательности элементов матрицы (22), (23) будет иметь отрицательное значение, то с помощью любых стандартных преобразований все отрицательные элементы матрицы, входящие в эту сумму, ликвидировать нельзя. Возможен лишь переход при стандартных преобразованиях одних отрицательных элементов этой суммы к другим.

Теорема 4 и ее продолжение указывают пути поиска, по меньшей мере, одного нового циклического маршрута с отрицательным значением длины Ь(В) , если такой маршрут существует.

Отметим, что в общем случае последовательность выражений (22), (23) может привести к циклическим маршрутам длины меньшей N. Так, используя один раз выражение (23), мы заменяем дуги графа (1,р), ( к,» ), лежащие на расчетном маршруте, на дуги ( 1,» ), (к,р), что приводит к образованию двух циклических маршрутов длины меньшей N.

Использование в сумме двух выражений (23) может привести как к образованию одного нового циклического маршрута длины N так и к образованию трех циклических маршрутов длины меньшей N. Если замещаемые дуги расчетного маршрута в выражениях (23) чередуются, то получается циклический маршрут длины N.

Маркировка отрицательных элементов матрицы В (16). В каждой строке матрицы В отмечается минимальный элемент. Такой элемент называется помеченным один раз. В каждом столбце матрицы В отмечается минимальный элемент. Если элемент матрицы помечен два раза, (в строке и столбце), то он называется помеченным два раза.

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

Основные алгоритмы поиска циклических маршрутов отрицательной длины.

Алгоритм 1

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

Далее процесс происходит аналогично, до исчерпания всей матрицы.

Если полученный циклический маршрут имеет отрицательное значение длины, то матрица перестраивается и процесс повторяется. В противном случае работа алгоритма прекращается.

Алгоритм 2

Работает аналогично алгоритму 1, но сторона движения определяется на очередном шаге выбором максимального элемента среди найденных двух минимальных.

Алгоритм 3

При выборе стороны движения может работать по схеме алгоритма 1 или алгоритма 2. Исходный элемент матрицы последовательно устанавливается из множества всех помеченных элементов матрицы B. Если таких элементов - K, то алгоритм последовательно просматривает K возможных циклических маршрутов и выбирает среди них маршрут с минимальной длиной, по сравнению с исходной, равной нулю.

Алгоритм 4

Этот алгоритм последовательно просматривает циклические последовательности вершин графа, которые образуются из расчетного маршрута соединениями его вершин через одну, две и т.д. вершины. Если матрица B имеет размерность N - нечетное число, то такие циклические маршруты длины - N возможны через любое число вершин, вплоть до N - 2 вершин. Этот случай соответствует обратному порядку следования вершин в расчетном маршруте или инверсии вершин. По матрице B составление циклического маршрута через одну вершину соответствует включению в него элементов bi,i+2. Это есть вторая наддиагональ. Через две вершины циклический маршрут составляют элементы вида bi,i+3, это третья наддиагональ. Через N - 2 вершины, элементы вида bi,i-1, это диагональные элементы матрицы, находящиеся ниже ее главной диагонали, которые образуют обратную циклическую последовательность или инверсию. Если матрица B имеет размерность N - четное число, то циклические маршруты длины N возможны только через четное число вершин, кроме четного числа вершин ( N - 2 ) / 4. Так, при N = 10, это циклические маршруты 2, 6 и 8 вершин. Через 4 вершины получается циклический маршрут длины меньшей N.

Алгоритм 5

Последовательно просматриваются все отрицательные элементы матрицы B. Для отрицательного элемента bij составляется выражение типа (23).

bij + bkp = Aij . (26)

Если Aij < 0, то для элементов столбцов матрицы B от j + 1 до p - 1 составляется выражение

Aij + bin = Bin (l = i,k; n = j+1;...; p - 1). (27)

Если Bln < 0 , то из выражения (23) для элемента bln определяется элемент bmf и составляется выражение

Aij + bin + bmf = Cij . (28)

Если Cij < 0, то получаем новый циклический маршрут с отрицательным значением длины.

Четыре элемента исходного расчетного маршрута bkj; bip; blf; bmn замещаются элементами

bij; bkp; bln; bmf.

Этот процесс есть перестановка двух подмножеств вершин исходного расчетного маршрута между собой, с сохранением порядка вершин в каждом подмножестве.

Алгоритм 6

Просматриваются отрицательные элементы матрицы B.

Для отрицательного элемента bij составляется выражение типа (23).

bij + bkp = Aij . (29)

Для каждого элемента матрицы bl,l+1, лежащего на расчетном маршруте между элементами (29) bip и bkj, составляется выражение типа (22)

bk,l+1 + blp - bkp = Bl,l+1, (l=j+1;...; p-1). (30)

Составляется сумма выражений (29), (30)

bij + bk,l+1 + blp = Cij (31)

Если Су < 0, то получается новый циклический маршрут с отрицательным значением длины. Три элемента исходного расчетного маршрута Ьк»; Ь1р; Ь[,1+1 замещаются элементами

ЬУ; Ь1р; Ьк,1+1.

Этот процесс - есть перестановка подмножества вершин исходного расчетного маршрута из одного места в другое, с сохранением порядка вершин.

Алгоритм 7

Этот алгоритм называется алгоритмом инверсии в границах вершин. Границами инверсии вершин расчетного маршрута может быть одна, две, вплоть до N - 2 вершин, т.к. одну вершину инвертировать нельзя. Всего получаем N * - 2) подмножества инверсий вершин расчетного

маршрута в исходных границах.

Приведенные алгоритмы совместно со стандартными преобразованиями и выражениями (22), (23) позволяют рассматривать и другие варианты алгоритмов поиска циклических маршрутов с отрицательными значениями длины либо подтвердить тот факт, что данный расчетный маршрут оптимальный.

Рассмотрим вопрос о точности решения расчетного маршрута. Используем маркировку отрицательных элементов матрицы В (16). Среди всех помеченных элементов находим минимальный. Очевидно, что этот элемент помечен два раза. Предположим, что этот элемент Ь» Далее, в строке 1 возможно есть помеченный элемент. Предположим, что этот элемент - Ь1к. В столбце ] возможно также есть помеченный элемент - Ьр».

Если выполняется условие

Ьр» + Ь1к < Ь» (32)

то в оценку заносится сумма элементов Ьр» + Ь1к.

Если выполняется противоположное неравенство или равенство, то в оценку заносится значение Ь» Прочеркивается 1 строка и » столбец матрицы В. В урезанной матрице процесс повторяется до исчерпания всех помеченных элементов.

Сумма отрицательных помеченных элементов, найденная в результате такого процесса,

есть

А = II Ь„ < 0 • (33)

б ¿62

где 0 множество строк и столбцов матрицы В, в которых расположены помеченные элементы.

Предположим, что в результате процесса мы получили урезанную матрицу В1, в которой отсутствуют отрицательные элементы. Рассмотрим строки и столбцы матрицы В1.

Очевидно, что все элементы матрицы В1 = (Ь1у) есть неотрицательные числа. Применим

известную процедуру получения в каждой строке и каждом столбце матрицы В1 по меньшей

мере одного нулевого элемента [1].

Матрицу, в которой отсутствуют отрицательные элементы и в каждой строке и столбце есть, по меньшей мере, один нуль, назовем приведенной матрицей.

Число, равное сумме чисел, вычитаемых для получения приведенной матрицы, назовем суммой приведенных элементов матрицы и обозначим

В > 0. (34)

Обозначим

С = А + В < 0 . (35)

Если | А | < В, то значение С (35) полагаем равным нулю. Значения А, В, С используются для оценки приближения расчетного маршрута к оптимальному.

В соответствии со способом построения матрицы В (16) получаем:

А

Значение — < 0 (36)

2

есть наименьшая нижняя граница оптимального маршрута относительно расчетного маршрута.

С

Значение — < 0 (37)

2

есть уточненная нижняя граница оптимального маршрута относительно расчетного маршрута. Верхней границей служит сам расчетный маршрут.

ЛИТЕРАТУРА

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

1. Кофман А. Введение в прикладную комбинаторику. - М.: Наука, 1975.

2. Елисов Л.Н., Баранов В.В. Управление и сертификация в авиационной транспортной системе. - М.: Воздушный транспорт, 1999.

GENERAL MODEL REALIZATION OF AIR TRANSPORT EXPENDITURES

OPTIMIZATION

Morgunov I.B.

The article brings forward a new algorithmic approach to modelling and optimization of one class of expenditure when exploiting air transport

Сведения об авторе

Моргунов Иосиф Борисович, 1935 г.р., окончил МЭИ (1959), МГУ (1967), руководитель группы образовательного центра проблем качества подготовки специалистов Федерального агентства по образованию, автор более 40 научных работ, область научных интересов - системы управления.

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