Научная статья на тему 'Замена коэффициентов как метод решения задачи линейного программирования с переменными коэффициентами на множестве всех действительных чисел'

Замена коэффициентов как метод решения задачи линейного программирования с переменными коэффициентами на множестве всех действительных чисел Текст научной статьи по специальности «Математика»

CC BY
1165
68
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ С ПЕРЕМЕННЫМИ КОЭФФИЦИЕНТАМИ / СИМПЛЕКС-МЕТОД / МЕТОД ГЕНЕРАЦИИ СТОЛБЦОВ / ЗАМЕНА ПЕРЕМЕННЫХ / ЗАМЕНА КОЭФФИЦИЕНТОВ / ОТРИЦАТЕЛЬНЫЕ ЗНАЧЕНИЯ ПЕРЕМЕННЫХ / ОБЛАСТЬ ОПРЕДЕЛЕНИЯ / PROBLEM OF LINEAR PROGRAMMING WITH VARIABLE COEFFICIENTS / SIMPLEX METHOD / A METHOD OF GENERATION OF COLUMNS / NEGATIVE VALUES OF VARIABLES / REPLACEMENT OF VARIABLES / REPLACEMENT OF COEFFICIENTS / RANGE OF DEFINITION

Аннотация научной статьи по математике, автор научной работы — Салимоненко Д.А.

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

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

REPLACEMENT OF COEFFICIENTS AS THE METHOD OF SOLUTION OF THE PROBLEM OF LINEAR PROGRAMMING WITH VARIABLE COEFFICIENTS ON THE SET OF ALL REAL NUMBERS

The method of solution of a problem of linear programming with variable coefficients in a case when criterion function reaches optimum value under conditions of negativity of one or several variables that the simplex method because usually it is applied only in the field of no negativity of each of variables is expansion of range of definition is studied. Known ways of replacement of variables allow to solve successfully LP problem at negative values of variables but provided that coefficients of a task are constants. Instead of a well-known method of replacement of variables (which is difficult for realizing when coefficients of a problem of linear programming are variables) the method of replacement of coefficients is offered at the corresponding variables. The offered method is universal (i.e. it can be applied to any problem of linear programming with variable coefficients). Computer realization of replacement of variable coefficients isn’t difficult and can be easily feasible within any, already available program intended for the solution of a problem of linear programming on a basis of the simplex method (under a condition, of course, that the initial code of such program is available). Besides, the algorithm flowchart provided in the real work according to offered improvement of the simplex method.

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

УДК 519.853

ЗАМЕНА КОЭФФИЦИЕНТОВ КАК МЕТОД РЕШЕНИЯ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ С ПЕРЕМЕННЫМИ КОЭФФИЦИЕНТАМИ НА МНОЖЕСТВЕ ВСЕХ ДЕЙСТВИТЕЛЬНЫХ ЧИСЕЛ

© Д. А. Салимоненко

Башкирский государственный университет Россия, Республика Башкортостан, 450076 г. Уфа, ул. Заки Валиди, 32.

Тел.: +7 (347) 273 68 80.

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

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

Задача линейного программирования с пере-

менными коэффициентами (ЛППК) в своей общей постановке имеет следующий общий вид [3, 6]: 1. В матричной форме записи: max F= сТх

при условиях

Ах

В,

(1) (2)

где

А=

j„

В=

V J

2. То же самое, но в координатной форме за-

писи:

при условиях

max F=

I

j=i

С xj

(3)

z

j=1

ax

ij j

b

(4)

i=1,..., m,

xj>0,

(5)

j=1,..., n.

где m — число ограничений (4), n — число переменных (5).

И дополнительных ограничениях на переменные коэффициенты:

aij <fijaij<aij+

Sk-<

< I d

a < sk+, k=1.....K

kij ij

(6)

щa =ri' l=1'.' L

£ рщ

¿=1

С]-<£]С]<С]+

В системе ограничений (6) все параметры а^-, % ау+, Sk-, ¿и], Sk+, рц], Г1, ер, С]+ представляют собой константы, задаваемые в процессе формулирования задачи ЛППК.

На сегодняшний день существует три основных метода решения задач ЛППК [3]:

1) метод перебора,

2) методы предварительной линеаризации,

а

а

lrc-l

m

i=1

а

m-1 о

m

а

а

а

b

2

3) имитационные (приближенные) методы,

4) методы генерации столбцов.

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

Однако, каждый из четырех перечисленных методов, за исключением первого, требует неотрицательности искомых переменных Х) т.е. необходимо выполнение условия (5). Дело в том, что по своей сути, задача ЛППК решается на выпуклом множестве — симплексе [1], определяемом ограничениями (2), (4)-(6). Решение может достигаться, по крайней мере, в одной из крайних точек этого множества.

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

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

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

Тем самым, область определения задачи ЛППК, если применять для ее решения один из методов, который целесообразно реализовать на практике (в виде соответствующей программы для ЭВМ), находится во множестве неотрицательных чисел. Отрицательные решения задачи ЛППК считаются недопустимыми [1, 5].

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

[2], на деле оказывается, что переменные Х) могут иметь и отрицательные значения [4]. В силу вышесказанного, методология ЛППК не позволяет их определить, если не использовать никаких преобразований ограничений (2), (4). Соответственно, метод ЛППК даст оптимальное решение только в рамках своей области определения (5). Но, может статься, на области всех действительных чисел целевая функция (1), (3) будет иметь более оптимальное (лучшее) значение, чем на области определения (5).

Конечно, известны многочисленные методы определения переменных Х) в том числе и в области отрицательных чисел, но для случая, когда п=т, т.е. число переменных совпадает с числом ограничений и когда в (2), (4) используются только знаки равенства; при этом, конечно, обязательно выполнение условия линейной независимости ограничений. В числе таких методов можно упомянуть метод Гаусса, метод Крамера и др. [1, 3]. Однако, во-первых, подобные методы применимы, только если все ограничения (2), (4) являются уравнениями (а не неравенствами). Во-вторых, что немаловажно, эти методы не позволяют определить оптимальное значение той или иной целевой функции. Тем самым, эти методы не являются применимыми для решения задачи ЛППК в ее общей постановке даже для неотрицательных значений искомых переменных.

Общеизвестным приемом, позволяющим использовать для нахождения решения задачи линейного программирования (ЛП), в том числе, и в области отрицательных чисел, является замена переменных. Так, допустим, известно, что переменная Х)0 в ходе решения задачи линейного программирования может принять отрицательное значение. Тогда делается следующая замена переменных:

Х)о=Хп+1 Хп+2, (7)

где

Хп+1 >0, Хп+2 >0. (8)

Очевидно, что в общем случае при любых значениях переменных Х)0' и Х)0", принадлежащих области действительных чисел, величина переменной Х)0 может иметь любое действительное значение — как положительное, так и отрицательное. Небольшой издержкой данного приема является увеличение числа переменных (в данном случае — увеличение на 1), но это не слишком существенно повлияет на скорость вычислений, даже если осуществить замену (7)—(8) для всех переменных Х), j=1,..., п.

Проблема здесь в другом. Дело в том, что подобная замена предлагается лишь для задачи линейного программирования с постоянными коэффициентами [1]. Что будет, если осуществить такую замену в задаче ЛППК? Допустим, по ^-й строке при этой переменной имеется переменный коэффициент

а^ )о. Тогда

аю )о'Х)о— а^ п+1-хп+1- aio п+2-Хп+2, (9)

aio )0 aio п+1 - aio п+2 (10)

где Хп+1 - x'io, Хп+2 - х")о

Получилось, что один и тот же переменный коэффициент aio )о входит в разные столбцы (соответствующие переменным Хп+1 и Хп+2). Т.е. образовалась взаимосвязь переменных коэффициентов (10), не определяемая ни одним из ограничений вида (6).

Поэтому для решения получившейся задачи (3)—(10) необходимы специальные методы.

Такой метод известен, его разработал А. П. Мартынов [3]. Однако, практическая реализация этого метода связана, во-первых, с увеличивающимся объемом вычислений и сложностью программной реализации. Во-вторых, сходимость этого метода, на наш взгляд, обоснована недостаточно полно (в частности, не проведен анализ сходимости при возникновении зацикливания; последнему могут способствовать ограничения типа (10)). Это препятствует его применению в общем случае.

Более рациональной и, на наш взгляд, гораздо более простой в отношении программной реализации, является методология, описываемая ниже.

Суть ее заключается в том, что вначале решается задача ЛППК при выполнении условия (5), т.е. на неотрицательной области определения. После чего рассматривается полученное оптимальное решение и выделяются переменные Х), j=1,..., п, равные нулю (если таковые имеются). Если в оптимальном решении существует, по крайней мере, одна такая переменная (х^), следовательно, существует возможность того, что на самом деле ее значение должно бы быть отрицательным (в таком случае значение целевой функции F, быть может, увеличится по сравнению с ситуацией, когда Х)0-0), но методология симплекс-метода решения задачи ЛППК не даст возможности искать решение в области отрицательности этой переменной.

Итак, после выявления того факта, что переменная Х)0, присутствующая в оптимальном базисе задачи ЛППК, равна нулю, предлагается осуществить следующее преобразование: знаки всех коэффициентов при этой переменной (как переменных, так и постоянных) меняются на противопо-ложные1:

а^о' - -aijo, М,..., т. (11)

Аналогичную замену необходимо будет сделать и для коэффициентов целевой функции ) если в их состав входит ai )о.

Знаки всех остальных коэффициентов не меняются. Отметим, что на знаки коэффициентов, в отличие от знаков переменных, в методологии ЛППК не налагается никаких ограничений. Симплекс задачи (1)-(6), если он существует, будет

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

выпуклым в том случае, когда выполняется условие (5) [1].

Тем самым, вместо замены переменных целесообразнее сделать замену коэффициентов. Такая замена, в отличие от (7)-(8), не приведет к появлению взаимозависимых (в частности, одинаковых) переменных коэффициентов в различных столбцах, и, как следствие, к ограничениям вида (10). Следовательно, ограничения преобразованной вышеуказанным образом задачи ЛППК будут иметь вид (6). Ограничений иного вида присутствовать не будет.

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

А'=

"1л

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

- а.

"2 j ■■■

... - а,

m-1j„ ■■■

Или, в координатной форме записи:

" a, если j * ja

-a, если] = Jo

при условиях

А'х

В

В=

f Ъ Л

V Ът J

ъ

j=1

при условиях

max F= ъ С j Xj <

= > b >

I

j=1

a xj

i=1,..., m,

xj>0,

(12)

(13)

где i=1,..., m; j=1,..., n.

Соответственно, преобразованная задача ЛППК (1)—(6) примет следующий вид: 1'. В матричной форме записи: max F= сТх

(14)

(15),

2'. Или в координатной форме записи:

(16)

(17)

(18)

j=1,..., n.

где m — число ограничений (4), n — число переменных (5).

И дополнительных ограничениях на переменные коэффициенты:

л

а

а

а

11

1п-1

а

а

а

а

a'

V

ъ

2

^ aij <fij' aij' <aij

f f, если] Ф j0 > f, если j = j

f' =

v

/

Sk-< I dUj ' Aij ' < Sk+, k=1,., K i=1

' =

f dM], если; * ja

\

dfc-,, если j = ja

V ui

(19)

Z Рщ' Aj'

=ri, l=1,., L

Рщ =

f pUj, если j Ф ja л

-p,,j, если] = jo,

Cj-< fij'Cj'<Cj+

Как видно из (19), преобразуются не только переменные коэффициенты

ai jo, но, вообще говоря, также и % dkij, piij. Имеем:

m

Zj ia ' =dkii'aii'+dki2'ai2'+.+dkijo'aijo'+.+dkin'ain'+

"■kij uij

i-1

+ dk2i'a2i'+dk22'a22'+.+dk2jo'a2jo'+.+dk2n'a2n'+

+ dkml 'ami '+dkm2'am2' + . . .+dkmjo'amjo' + . . .+dkmn'amn'

В силу (13) и (19) очевидно, что:

dkij'aij'= dkijaij, i=1,..., m; j=1,..., n; k=1,..., K.

Поэтому

Z dMj' A,' Z dk A

, j=1,., n; k=1,., K.

kij ij i-1 i-1

аналогично можно показать, что

Z Pin' Aj' Z Pi.

, a..

4J .

, j=1,., n

i=i и

iijaij fij aij , fijcj fij cj .

Тем самым, преобразованная система дополнительных ограничений (19) является идентичной (6). Если не считать того факта, что все параметры системы (19), в отличие от (6), будут иметь индекс «'».

В рамках решения задачи ЛППК на основе симплекс-метода генерации столбцов на каждой итерации (т.е. после вхождения очередного столбца в базис) происходит решение n задач ЛП (6) с целевыми функциями

min gj, j =1,..., n,

где gj = z aj u - Cj ,

gj - относительная оценка j-го столбца, ui — i-я компонента вектора симплекс-множителей, Cj — коэффициент целевой функции (1), (3) при j-й переменной

А также решение n задач (19) с целевыми функциями

min gj', j =1,., n,

где gj

"Z Aj 4'- c■•''

Это позволяет определить оптимальные значения переменных коэффициентов по каждому столбцу, находящегося в текущем базисе. При этом, в силу идентичности (6) и (19), значения почти всех соответствующих переменных коэффициентов ау и а] получатся одними и теми же — как для системы ограничений (6), так и для системы ограничений (19). Различными могут получиться только значения соответствующих переменных коэффициентов, находящихся в jo столбце.

Поэтому оптимальные значения тех переменных коэффициентов, для которых j^jo, будут совпадать при решении как первоначальной, так и преобразованной задач ЛППК, т.е. аг]оП1= а] опт. Но, отметим, в общем случае значения переменных в оптимальном решении преобразованной задачи могут не быть равными соответствующим значениям переменных оптимального решения исходной задачи.

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

Для тех же коэффициентов, для которых j=jo, нельзя сказать априори, что ауопт= —ау]' опт. Вместе с тем, в процессе решения задачи ЛППК станут известны те или иные их значения, такие, что величина целевой функции (14) будет являться оптимальной. Т.е. их значения в любом случае будут известны. Ибо из теории линейного программирования известно, что если существует, по крайней мере, одно решение задачи ЛП, то существует и оптимальное значение любой корректно определенной целевой функции [3, 5]. То же самое можно утверждать и по отношению к задаче ЛППК.

Таким образом, после решения преобразованной задачи ЛППК (14)—(19) получится то или иное значение переменной Х]0, обозначим его как Х]0(-), которое будет неотрицательным и, следовательно, допустимым. Величины соответствующих коэффициентов а^о также будут известными. При этом, в силу вышесказанного, соответствующая переменная исходной задачи ЛППК (1)-(5) будет равна, очевидно

Х]о= -Х]о(-) (20)

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

Таким образом, замена коэффициентов (11) позволит расширить область определения задачи ЛППК для переменной Х]0 на область отрицательных чисел. Т.е. реализуется возможность решения задачи ЛППК не только на множестве неотрицательных, но и всех действительных значений этой переменной.

m

J

m

i-1

i-1

Х2 /

Ff

\ ^/уу/У/Оу//,\

Я, >'

\

\

ч

\ 4

\

Х2

Рис. 1. Иллюстрация предложенной методики (на примере двух переменных).

Аналогично, подобную замену можно сделать для всех тех переменных Х), которые могут принимать отрицательные значения. Соответственно, необходимо будет решать требуемое количество преобразованных задач ЛППК. Может потребоваться решить не более 2П таких (дополнительных) задач. Однако, судя по практическим расчетам, как правило, далеко не все переменные в задачах ЛП принимают нулевые значения. Т.е. реальное число преобразованных задач, которые может потребоваться решить в дополнение к исходной, вероятнее всего, будет гораздо меньше.

Поясним, в целях наглядности, вышесказанное, используя рисунок 1, на примере двух переменных Х1 и Х2. Пусть ограничения задачи ЛППК (1)—(6) таковы, что симплексом (множеством решений задачи (2), (4), (6)) в данном случае является заштрихованный многоугольник 12347658. Ясно, что решения, находящиеся в области симплекса 567 не входят в область допустимых решений исходной задачи ЛППК, ибо для них не выполняется ограничение (5).

Далее, пусть целевая функция (1), (3) такова, что оптимальное решение достигается на линии, параллельной линиям F1, F2. Причем увеличение целевой функции (т.е. улучшение ее значения) происходит в направлении, указанном стрелкой.

Видно, что в случае выполнения условия (5) (неотрицательность переменных Х1, Х2) оптимальное решение будет достигнуто в точке 5, что соответствует линии F1. Это будет оптимальным допустимым решением задачи (1)—(6).

Однако, при этом Х2=0.

Делая преобразование по предложенному алгоритму, получим преобразованную задачу ЛППК, допустимым множеством решений для которой будет треугольник 567. Вместо переменной Х2 будет фигурировать переменная Х2- > 0. Оптимальное значение целевой функции будет равным F2, что выше, чем F1. Следовательно, значение целевой функции улучшится.

Однако, необходимо заметить, что переход в область отрицательных значений переменной Х2 (положительных значений переменной Х2) не всегда повлечет за собой улучшение целевой функции. Например, если точка 6 на рисунке 1 будет находиться в точке 6' (т.е. если множеством решений будет многоугольник 123476'58), то значение целевой функции F3 в точке 6' будет даже хуже, чем F1.

Решение же преобразованной задачи на множестве ее допустимых решений, определяемой треугольником 56'7, даст оптимальное значение функции, равное F1, т.е. получится Х2- = 0, как и при решении исходной задачи. Это подтверждает необходимость исследования значения целевой функции преобразованной задачи ЛППК на оптимальность и необходимость сравнения его со значением целевой функции исходной задачи.

Если же множеством допустимых решений преобразованной задачи будет треугольник 56"7, то при переходе переменной Х2 в отрицательную область будет наблюдаться неединственность решения задачи ЛППК. Т.е. возможны, вообще говоря, различные варианты — в зависимости от конкретного вида целевой функции (1), (3) и особенностей системы ограничений (2), (4)—(6).

Следует отметить еще один момент. Как отмечалось выше, в процессе решения задачи ЛППК может статься, что не одна переменная (х]0), а несколько (в пределе - все имеющиеся в задаче) переменных, равных нулю в оптимальном решении, способны улучшить значение целевой функции путем их перехода в область отрицательных чисел. В этом случае заранее неизвестно, какая из таких переменных улучшит значение целевой функции наилучшим образом. Следовательно, целесообразно будет реализовать соответствующее преобразование задачи ЛППК и последующее ее решение также и для них, а затем выделить то решение, которое дает оптимальное (в данном случае - максимальное) значение целевой функции.

На базе обсуждаемой выше идеи нами разработан соответствующий программный алгоритм. Приведем его блок-схему (см. рис. 2).

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

Решение исходной задачи ЛППК в условиях неотрицательности переменных: х]>0, j=1,..., п

Корректировка возможных

ошибок данных и/или ограничений исходной задачи ЛППК

Преобразование задачи ЛППК (Замена знаков коэффициентов у той переменной х^, которая содержится в оптимальном плане и имеет нулевое значение)

Исходная задача несовместна на множестве положительных чисел

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

1 г

Переменная Xjo принимается равной нулю

Рис. 2. Блок-схема алгоритма улучшения оптимального решения задачи ЛППК путем расширения ее области определения

на множество всех действительных чисел (для переменной xjo).

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

Если же коэффициенты задачи ЛППК не постоянные, а переменные, то подобная замена неэффективна.

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

лучились равными нулю. Эта замена может улучшить величины целевой функции.

ЛИТЕРАТУРА

1. Гасс С. Линейное программирование. М.: Физматгиз, 1961.

2. Касаткин А. С., Немов М. В. Электротехника. М.: Высшая школа, 2011.

3. Мартынов А. П., Салимоненко Е. А., Амиров Я. С., Абы-згильдин А. Ю., Теляшев Э. Г., Сайфуллин Н. Р., Давлет-кулов Р. Г. Системное моделирование производственных процессов (на базе метода генерации столбцов). Уфа: Ги-лем, 1998. 211 с.

4. Мартынов А. П., Салимоненко Д. А., Салимоненко Е. А. Применение методов линейного программирования с переменными коэффициентами при проектировании и анализе электрических цепей, описывающихся линейными уравнениями // Электротехника. 1998. №2. С. 59-62.

5. Муртаф Б. Современное линейное программирование. М.: Мир, 1984. 224 с.

6. Салимоненко Д. А. Математическая обработка эксперимента методами линейного программирования с переменными коэффициентами: дис. ... канд. физ-мат. наук. Уфа, 1999.

Поступила в редакцию 01.12.2013 г. После доработки - 07.02.2014 г.

REPLACEMENT OF COEFFICIENTS AS THE METHOD OF SOLUTION OF THE PROBLEM OF LINEAR PROGRAMMING WITH VARIABLE COEFFICIENTS ON THE SET OF ALL REAL NUMBERS

© D. А. Salimonenko

Bashkir State University 32 Zaki Validi St., 450076 Ufa, Republic of Bashkortostan, Russia.

Phone: +7 (347) 273 68 80.

The method of solution of a problem of linear programming with variable coefficients in a case when criterion function reaches optimum value under conditions of negativity of one or several variables that the simplex method because usually it is applied only in the field of no negativity of each of variables is expansion of range of definition is studied. Known ways of replacement of variables allow to solve successfully LP problem at negative values of variables but provided that coefficients of a task are constants. Instead of a well-known method of replacement of variables (which is difficult for realizing when coefficients of a problem of linear programming are variables) the method of replacement of coefficients is offered at the corresponding variables. The offered method is universal (i.e. it can be applied to any problem of linear programming with variable coefficients). Computer realization of replacement of variable coefficients isn't difficult and can be easily feasible within any, already available program intended for the solution of a problem of linear programming on a basis of the simplex method (under a condition, of course, that the initial code of such program is available). Besides, the algorithm flowchart provided in the real work according to offered improvement of the simplex method.

Keywords: problem of linear programming with variable coefficients, simplex method, a method of generation of columns, replacement of variables, replacement of coefficients, negative values of variables, range of definition.

Published in Russian. Do not hesitate to contact us at bulletin_bsu@mail.ru if you need translation of the article.

REFERENCES

1. Gass S. Lineinoe programmirovanie [Linear Programming]. Moscow: Fizmatgiz, 1961.

2. Kasatkin A. S., Nemov M. V Elektrotekhnika. Moscow: Vysshaya shkola, 2011.

3. Martynov A. P., Salimonenko E. A., Amirov Ya. S., Abyzgil'din A. Yu., Telyashev E. G, Saifullin N. R., Davletkulov R. G Sistemnoe modelirovanie proizvodstvennykh protsessov (na baze metoda generatsii stolbtsov) [System Modeling of Industrial Processes (Based on the Method of Column Generation)]. Ufa: Gilem, 1998.

4. Martynov A. P., Salimonenko D. A., Salimonenko E. A. Elektrotekhnika. 1998. No. 2. Pp. 59-62.

5. Murtaf B. Sovremennoe lineinoe programmirovanie [Modern Linear Programming]. Moscow: Mir, 1984.

6. Salimonenko D. A. Matematicheskaya obrabotka eksperimenta metodami lineinogo programmirovaniya s peremennymi koeffitsien-tami: dis. ... kand. fiz-mat. nauk. Ufa, 1999.

Received 01.12.2013. Revised 07.02.2014.

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