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

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

CC BY
539
47
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДОПУСТИМОЕ БАЗИСНОЕ РЕШЕНИЕ / ИССЛЕДОВАНИЕ ОПЕРАЦИЙ / МЕТОД ДАНЦИГА / НАЧАЛЬНАЯ СИМПЛЕКС-ТАБЛИЦА / DANTZIG'S METHOD / ADMISSIBLE BASIS SOLUTION / INITIAL SIMPLEX-TABLE / RESEARCH INTO OPERATIONS

Аннотация научной статьи по математике, автор научной работы — Куцый Николай Николаевич, Осипова Елизавета Алексеевна

Конкретизируется метод Данцига нахождения допустимого начального базиса для решения задач линейного программирования с последующим его использованием при составлении начальной симплекс-таблицыEs wird die Danzig-Methode für die Findung der zulässigen Anfangsbasis für die Lösung der Aufgaben der linearen Programmierung mit ihrer weitgehenden Benutzung bei dem Verfassen der Anfangssimplextabelle konkretisiert.Est conrétisée la méthode de Dantzig de la recherche de la base initiale admissible pour la solution des tâches de la programmation linéaire avec son utilisation ultérieure lors de la composition de la simplex-table initiale.The paper specifies Dantzigs method to determine the initial admissible basis for linear programming tasks with its subsequent application to the construction of the initial simplex-table.

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

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

УДК: 519.852

ПРОБЛЕМА НАЧАЛЬНОГО ДОПУСТИМОГО БАЗИСА ПРИ РЕШЕНИИ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

Н.Н. Куцый, Е.А.Осипова

Кафедра «Автоматизированные системы»,

ГОУ ВПО «Иркутский государственный технический университет»;

[email protected]

Представлена членом редколлегии профессором В.И. Коноваловым

Ключевые слова и фразы: допустимое базисное решение; исследование операций; метод Данцига; начальная симплекс-таблица.

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

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

Задача линейного программирования в матричной форме может быть записана следующим образом.

Найти

тах О1" X (1)

X

при ограничениях

АХ < Ь (2)

и условии

X > о,

где А - матрица ограничений размерности т х п ; Ь - вектор-столбец свободных членов размерности т х 1; X - вектор-столбец переменных размерности (п х 1); —Т

С = (с1; ..., сп) - вектор-строка коэффициентов целевой функции.

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

Рассмотрим первую группу методов. Отметим, что при ограничениях вида (2) решение проблемы начального допустимого решения относительно простое. При переходе от ограничений (2) к канонической форме вводятся свободные переменные, которые и образуют начальное допустимое базисное решение. Но при этом увеличивается размерность матрицы ограничений до т х (п + т).

Если ограничения задачи линейного программирования имеют вид

то введенные свободные переменные образуют недопустимое базисное решение, и тем самым приходится обращаться к методам отыскания начального допустимого базисного решения, среди которых наибольшее распространение получил метод искусственных переменных и меньшее - метод Данцига [1, 3]. Настоящая работа призвана способствовать большему распространению именно последнего метода.

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

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

Представим метод Данцига распознавания допустимого базиса в несколько другой интерпретации в сравнении [1, 3], что позволит с большей наглядностью показать предлагаемые способы стыковки.

Рассмотрим случай ограничений-равенств вида

где А = [А\, ..., Ап] - матрица ограничений размерности т х п; А]- (] = 1(1)п) -вектор-столбцы матрицы А , размерность каждого из них т х 1; или

Выберем произвольным образом базис, который образован векторами Аі и вектором Ао. Не теряя общности, только лишь для удобства пояснений, будем считать, что это первые (т -1) векторы. Разложим по векторам этого базиса остальные векторы:

AX > b,

AX = A0,

(5)

(6)

j=1

Aj = x0 jA0 + x1 jA1 +... + xm-1, jAm-h j = m m +1 ..., n1, (7)

то есть j г І баз.

В [1, 3] показано, что условие хоу < 0 для всех у г 1баз является достаточным

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

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

Ю 2, ..., Ю т-1 p0, (8)

где юг- > 0, I — 1(1)т -1, ро > 0.

Образуем вектор О

С = Ю!+®2А2 + - + Ют-1Ат-1 - р0А0 (9)

или

С +р0 А0 = Ю1А1 + Ю2 А2 + - + Ют-1Ат-1. (10)

В последующем р0 будет выполнять роль аналогичную той, которую выполняло г при рассмотрении симплекс-метода, где переменная г соответство-

вала значению целевой функции.

Согласно указанному выше, если допустимое базисное решение существует, то существует, по крайней мере, один вектор Ау, для которого х0у > 0. Умножая

выражение (7) на произвольным образом заданную величину 9 > 0 и вычитая результат умножения из (10), получаем

(11)

О + (р0 + 9 Х0 у) А0 — 9А у + (®1 — 9 Х1 у) А1 +

+ (ю2 - 9х2у )А2 + ••• + (ю т-1 -9хт-1,у )Ат-1-Введем обозначения

Р1 = Р0 +9 х0у >P0, (12)

так как по предположению х0 у > 0 .

Из уравнения (7) получим следующее соотношение

_ i_ ( x А ( x - ^

Ao =-----Aj +

x0j

Xj

xo j

A1 +... +----------------------- Am-1 . (13)

x0

хт-1, у х0 у

Если все хіу < 0 (і = 1(1)т -1), то допустимое базисное решение найдено, то

есть вектор А0 представлен в виде линейной комбинации векторов

А1, А2, ..., Ат-1, Ау с неотрицательными коэффициентами.

Если же, по крайней мере, один из коэффициентов Ху >0 (і = 1(1)т-1), то

продолжим процесс нахождения допустимого базисного решения. Определим значение 9 по формуле

9 = тіп , (14)

і ху

где минимум берется по всем і, для которых Ху > 0 .

При этом 9 получаем новый вектор

О + Р1А0, (15)

в состав которого уже не будет входить вектор Аг-, так как коэффициент при нем (выражение (11)) равен нулю, то есть

—г- - 9 Ху — 0, Ху > 0.

Отметим, что

Р1 = Р0 +9 х0у >Р0.

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

является условие, что в разложении (7) вектора Ау, все Ху < 0 (I — 1(1)т -1).

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

Возможен один из двух исходов процесса отыскания допустимого базисного решения:

1. Результатом одной из итераций является Х0у < 0 для всех у г Iбаз, что

соответствует отсутствию допустимого базисного решения.

2. После конечного числа итераций получаем, что для какого-либо Х0у > 0,

соответствующие этому индексу у Ху < 0 для всех I — 1(1)т -1. Тем самым, решая соотношение (7) относительно вектора А0 (выражение (13)) получаем искомое допустимое базисное решение.

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

Этап 1. Выбирают произвольный базис вида А0, А1,..., Ат-1. В соответствии с выражением (7) определяют Ху (I — 0(1)т -1; у г 1баз ).

Если Х0у < 0 для всех у г 1баз, то процесс отыскания допустимого базисного решения прерывают, так как такой результат соответствует отсутствию допустимого базисного решения.

Если же найдется хотя бы одно значение Х0у > 0, то переходят ко второму

этапу.

Этап 2. Выбирают произвольные положительные значения вспомогательных переменных Р0, — I (I — 1(1)т -1) и записывают выражение (10), то есть

С + р0А0 — Ю1А1 + Ю 2А2 + — + Ю т-1Ат-1.

Этап 3. Используя уравнения (7) , то есть

Ау — Х0 уА0 + Х1 уА1 + ... + Хт-1, уАт-1,

отыскивают вектор Ау, для которого Х0у > 0. Этот вектор вводится в базис.

Этап 4. Отыскивают вектор, который должен быть выведен из базиса. Его индекс определяют из условия

9 — тш\-!-1 для х.. >0.

' 1 Ху ?

Этап 5. Образуют соотношение

С + (р0 +9 х0 у )А0 —9Ау + (-1 -9 Х1 у )А1 + ". + (—т-1 -9 Хт-1, у )Ат-1.

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

Из этого выражения получают новые значения переменных

р1 — р0 + 9 х0у;

—^ — — I - 9 Ху, I — 1(1)т -1.

Этап 6. Третий, четвертый, пятый этапы повторяют до тех пор, пока в равенствах

Ау — х0 уА0 + Х1 уА1 +... + хт -1, уAm-l, } г 1баз ,

все вычисленные значения Ху (I — 0(1)т -1) для какого-либо вектора Ау не станут отрицательными.

Тем самым, допустимое базисное решение найдено. Укажем на два возможных случая использования полученного результата при составлении начальной симплекс-таблицы. Но перед тем как рассмотреть эти два случая систему ограничений-равенств (6) представим в виде [1]

Ах — вхв + бхб — А0, (16)

где Xв - вектор базисных переменных; Xб - вектор небазисных переменных;

В - квадратная матрица размерности т х т, образованная базисными векторами; Б - матрица, в состав которой входят небазисные вектора.

Первый случай. Формируется множество индексов Iбаз, образуемое индексами векторов, которые определены на шестом этапе алгоритма при выполнении условия Ху < 0( I — 0(1)т -1). Без потери общности будем считать, что индексы

этого множества / — 1(1)т. Решая систему уравнений

А1Х1 + А2Х2 +... + Атхт — Ль (17)

получим допустимое базисное решение х*, х2,..., хт, то есть при заполнении на-

*

чальной симплекс-таблицы коэффициенты определяются как — х,

(I — 1(1)т). Столбцы А1, А2,..., Ат этой симплекс-таблицы теперь представляют единичную подматрицу.

Коэффициенты столбцов Ау ( у г Iбаз ) могут быть вычислены как коэффициенты матрицы В_1 Б , где В_1 - обратная матрица к матрице В, которая наряду

с матрицей Б определяется выражением (16).

Второй случай заключается в использовании найденного базисного решения, и тем самым в системе уравнений (16) значения элементов столбца А0 равны соответствующим элементам этого решения. Коэффициенты столбцов Ау

(у г 1баз) находятся аналогично, как указано выше, то есть В_1 Б .

Каждый из представленных случаев имеет свои достоинства и недостатки. В первом случае приходится решать систему уравнений (17), что при большой размерности исходной задачи линейного программирования создает трудности, которые порождает то, что называется «проклятием размерности». Но полученное

допустимое базисное решение х*, х*,..., х*т должно совпадать с результатами

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

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

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

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

Х1

3 0 1 0 -1 х2 3

110 - 3 0 X х3 = -12

0 1 1 0 1 х4 4

х5

Применяя метод Данцига нахождения допустимого базисного решения, имеем:

* * *7 *. *1

*1 = 0; Х2 = 0; Х3 = —; х4 = 4; х5 = —,

то есть векторы А3, А4, А5 образуют базис, а сами эти столбцы в начальной таблице метода симплекс-таблиц представляют единичную подматрицу, а коэффици-

*

енты аю той же таблицы определяются исходя из а^ = х, (I = 3, 4, 5). Необходимо определить коэффициенты а^ (/ = 1, 2, 3;} = 1, 2).

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

Имеем:

А1 = А3 Х31 + А4х41 + А5 х5Ъ А2 = А3Х3 + А4 х42 + А5 x52,

или

3 = 1хз1 + 0х41 + (—1) х51,

1 = 0х31 + (—3) х41 + 0 х51,

0 = 1х31 + 0х41 + 1х51,

и

0 = 1х32 + 0х42 + (—

1 = 0 х32 + (—3) х42 + 0 х52,

1 = 1х32 + 0 х42 + 1х52.

Решая каждую из этих двух систем уравнений, получим:

3 1 3

Х31 ~ —, 31 2 Х41 _ —, 41 3 Х51 _ , 51 2

1 1 1

Х32 ~ — • 32 2 Х42 “ 3’ Х52 ~ —. 52 2

Начальная таблица метода симплекс-таблиц будет иметь вид [1]

C - - c1 С2 СЗ С4 С5

- B x ai0 A A2 A4 A5

7 З 1

СЗ 1 0 0

2 2 2

1 1

С4 x4 4 0 1 0

З З

1 З 1

С5 x5 0 0 1

2 2 2

- Д Д0 Ді Д 2 Д З Д 4 Д 5

Используем возможность дополнительного контроля правильности применения метода Данцига нахождения допустимого базисного решения. С этой целью

разложим вектор А0 по найденному базису:

или

Ао — А3 х* + А4 х* + А5 х*

3 — 1х* + Ох* + (—1)х*,

—12 — Ох* + (—3) х4 + Ох*,

3 3 3

4 — 1хз + 0х4 + 1х^.

Решив эту систему уравнений, получим:

*7 * * 1

х3 — —; х4 — 4; х5 — —,

3 2 4 5 2'

что совпадает с результатом применения метода Данцига нахождения допустимого базисного решения.

При втором способе коэффициенты ау (і — 1, 2, 3; ] — 1, 2) определяются следующим образом. Ограничения задачи линейного программирования

AX = A

представим в виде [1]

0

BXb + DXd = Ao,

(1S)

где В - матрица, представляющая собой совокупность т линейно-независимых столбцов, то есть они образуют базис матрицы А ; Б - совокупность оставшихся столбцов матрицы А , то есть А =||В, Б||; Хв - совокупность переменных, связанных с матрицей В ; Xб - совокупность переменных, связанных с матрицей Б.

Так как В - невырожденная квадратичная матрица, то существует обратная к ней матрица В _1. Умножив выражение (18) на В _1, получим

B ~lBXB + B ~lDXD = B _1A0.

(19)

Тем самым

XB + B ~1DXd = B _4,

то есть аі,- (і = 1, 2, 3; ] = 1, 2) определяются как результат перемножения матриц

B ~lD.

В рассматриваемом примере имеем:

І Q І

B = й З Q

І Q І

B-І =

І Q І

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

2 2

Q І З Q

І Q І

2 2

Тем самым:

B ^D =

І Q І

2 І 2

Q З Q

І Q І

2 2

З І

2 2

З Q І І

І І = З З

Q І

З І

2 2

B "Ч =

І Q І

2 2

Q І З Q

І Q І

2 2

3

-І2

4

Отсюда:

З І З

aз1 =—, a4! =—, a«! =—,

ЗІ 2 З 5І 2'

І

І

І

аз2 =—, ад2 =—, а<2 =■ У

32 2 42 3’ 52 2'

* 7 * * 1

*3 = -, *4 = 4 *5 = -•

Полученные значения полностью совпадают с теми, которые были получены первым способом.

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

Список литературы

1. Зайченко, Ю.П. Исследование операций : учеб. пособие для студ. вузов / Ю.П. Зайченко. - 2-е изд., перераб. и доп. - Киев : Вища школа, Голов. изд-во, 1979. - 392 с.

x

4

x

2. Зуховицкий, С.И. Линейное и выпуклое программирование : справ. рук. / С.И. Зуховицкий, Л.И. Авдеева. - 2-е изд., перераб. и доп. - М. : Наука, 1967. -460 с.

3. Кофман, А. Методы и модели исследования операций : пер. с фр. / А. Кофман. - М. : Мир, 1966. - 523 с.

Problem of Initial Admissible Basis in the Performance of Linear Programming Tasks

N.N. Kutsiy, E.A. Osipova

The Department of CAD Systems, Irkutsk State Technical University; [email protected]

Key word and phrases: admissible basis solution; Dantzig’s method; initial simplex-table; research into operations.

Abstract: The paper specifies Dantzig’s method to determine the initial admissible basis for linear programming tasks with its subsequent application to the construction of the initial simplex-table.

Problem der zulassigen Anfangsbasis bei der Losung der Aufgaben der linearen Programmierung

Zusammenfassung: Es wird die Danzig-Methode fur die Findung der zulassigen Anfangsbasis fur die Losung der Aufgaben der linearen Programmierung mit ihrer weitgehenden Benutzung bei dem Verfassen der Anfangssimplextabelle konkretisiert.

Probleme de la base initiale admissible lors de la solution des taches de la programmation lineaire

Resume: Est conretisee la methode de Dantzig de la recherche de la base initiale admissible pour la solution des taches de la programmation lineaire avec son utilisation ulterieure lors de la composition de la simplex-table initiale.

Авторы: Куцый Николай Николаевич - доктор технических наук, профессор кафедры «Автоматизированные системы»; Осипова Елизавета Алексеевна -аспирант, старший преподаватель кафедры «Автоматизированные системы», ГОУ ВПО «Иркутский государственный технический университет».

Рецензент: Массель Людмила Васильевна - доктор технических наук, профессор, главный научный сотрудник Института систем энергетики им. Л.А. Ме-лентьева СО РАН (г. Иркутск), заведующая кафедрой «Автоматизированные системы», ГОУ ВПО «Иркутский государственный технический университет».

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