Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Промежуточные вычислении 3 страница



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

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

Из-за финансовых затруднений неплатежеспособной группы брокеров су­дебные инстанции постановили, что заключенные ранее сделки должны выполняться только для удовлетворения определенных судом требова­ний, поскольку брокеры не имеют собственных источников капитала. В частности, судебные инстанции требуют свести количество погашаемых сделок между брокерами к минимуму. Это означает, что если брокер А должен брокеру В сумму X, а брокер В — брокеру А сумму Y, то эти вза­имные долги сведутся к одному с суммой долга |Х - Y|. Эта сумма считает­ся долгом А перед В, если X > Y, и долгом В перед А, когда X < Y. Если X = У, долг погашен. Эта идея погашения взаимных долгов распространяет­ся на все долги между брокерами.

Каковы ваши предложения по выходу из данной финансовой ситуации? В частности, ответьте на следующие вопросы.

1. Как рассчитать доли возвращаемых долгов?

2. К какому минимальному количеству можно свести взаимные долги ме­жду брокерами?

Задача основана на материалах статьи Taha Н. "Operations Research Analysis of a Stock Market Problem", Computers and Operations Research, Vol. 18, No. 7, pp.597-602, 1991.

ГЛАВА 7

ТЕОРИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

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

В этой главе используется аппарат матричной алгебры. Читатель, не знакомый с матричной алгеброй, может обратиться к приложению А.

В задачах линейного программирования пространство допустимых решений всегда имеет форму выпуклого множества. Множество называется выпуклым, если отрезок прямой, соединяющий две различные точки этого множества, полностью принадлежит данному множеству. Крайней точкой выпуклого множества является точка, принадлежащая этому множеству, но которая не лежит ни на каком отрезке прямой, соединяющей две различные точки этого множества. Фактически крайние точки — это то же самое, что и угловые точки, которые использовались в главах 2, 3 и 4.

На рис. 7.1 показаны два множества. Множество а, которое представляет ти­пичное пространство решений задачи ЛП, является выпуклым множеством, тогда как множество б невыпуклое.

7.1. ОСНОВЫ СИМПЛЕКС-МЕТОДА

а

б

Рис. 7.1. Примеры выпуклого и невыпуклого множеств

Глава 7. Теория линейного программирования

В разделе 2.3 мы графически показали, что оптимальное (конечное) решение двухмерной задачи ЛП соответствует крайней (угловой) точке пространства допус­тимых решений. Этот результат основан на том факте, что в задачах ЛП любая до­пустимая точка представима как функция крайних точек пространства решений. Например, в выпуклом множестве на рис. 7.1, а имеется шесть крайних точек X,, Х2, Х6, произвольную допустимую точку X можно представить как линейную комбинацию крайних точек:

X - оцХ, + сс2Х2 + ОзХ3 + сс4Х4 + сс5Х5 + сс6Х6,

где все коэффициенты ос, > 0 и выполняется равенство

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

Пример 7.1.1

Покажем, что следующее множество является выпуклым.

С = {(х„ х,) | х, < 2, х2< 3, х, > 0, х2 >0}. Пусть X, ={х,',л2} и X, = {х22} — две различные точки из множества С. Если мно­жество С выпукло, тогда точка X = (х,, х2) = otjX, + о^Х, должна принадлежать это­му множеству. Чтобы точка X принадлежала множеству С, ее координаты должны удовлетворять неравенствам, которые определяют это множество.

х, = а.х,1 + а,х,2 < а, х 2 + а, х 2 = 2.

х, = asx\ + а2х\ < а, хЗ + а, х3 = 3.

Таким образом (поскольку а, + а2 = 1), xi < 2 и х2 < 3. Так как коэффициенты а, и otj неотрицательны, то координаты также удовлетворяют условиям неотрицательности.

УПРАЖНЕНИЯ 7.1.1

1. Покажите, что множество Q = {xt, х21 х, + х2 < 1, х, > 0, х2 > 0} выпуклое. Су­щественно ли в данном случае условие неотрицательности переменных?

2. Покажите, что множество Q = {х,, х2| х> 1 или х2 > 2} не является выпуклым.

3. Найдите графически крайние точки выпуклого множества

Q = {х,, х21 х, + х2 < 2, х, > 0, х2 > 0}.

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

4. Представьте внутреннюю точку (3, 1) пространства решений, показанного на рис. 7.2, как выпуклую комбинацию крайних точек А, В, С и D, где каждая крайняя точка должна иметь строго положительный весовой коэффициент.

7.1. Основы симплекс-метода

х2

5 4 3 2 1

О 1 2 3 4 5 6 Рис. 7.2. Пространство решений для упражнения 4

7.1.1. Базисные решения

В этом разделе задачу ЛП, записанную в стандартной форме (см. раздел 3.1), пред­ставим в новой форме записи с использованием матричных обозначений. Обозначим

через X = (Xj, х2.....хп)т n-мерный вектор переменных, через А — матрицу размер

тхп, содержащую коэффициенты левых частей ограничений, b = (ft,, b2, bm)T — m-мерный вектор правых частей ограничений, С = (cv с2, сп) — л-мерный вектор коэффициентов целевой функции. С помощью матричной формы записи стандарт­ную задачу ЛП можно представить следующим образом.

Максимизировать или минимизировать г = СХ

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

АХ = Ь, Х>0.

На основе стандартной формы для симплекс-таблиц из главы 3 (см. также рис. 4.1) т крайних справа столбцов матрицы А всегда можно представить в виде единичной матрицы I, для чего, возможно, придется надлежащим образом расположить пере­менные и использовать при необходимости искусственные переменные.

Базисное решение системы уравнений АХ = b получается путем присвоения п -т переменным нулевых значений и последующим решением системы из т уравне­ний относительно оставшихся т переменных (предполагается, что эта система име­ет единственное решение). Теория линейного программирования устанавливает следующее соответствие между геометрическим определением крайних точек и ал­гебраическим определением базисного решения.

Крайние точки множества {X | АХ = Ь} <=> Базисные решения системы АХ = Ь. Это соответствие означает, что все крайние точки области решений задачи ЛП полностью определяются базисными решениями системы АХ = b и наоборот. От­сюда следует, что множество базисных решений содержит всю информацию, необ­ходимую для оптимального решения задачи ЛП. Более того, если наложить усло­вия неотрицательности X > 0, поиск оптимального решения ограничится только множеством допустимых базисных решений.

Глава 7. Теория линейного программирования

Чтобы формализовать определение базисного решения, представим систему АХ = b в векторной форме

где вектор Р; — j-й столбец матрицы А. Подмножество из т векторов Ру формирует базис В тогда и только тогда, когда эти векторы линейно независимы. Для этого необходимо (и достаточно), чтобы определитель матрицы В, состоящей из данных т векторов, был отличен от нуля, т.е. det(B) Ф О.1 В этом случае матрица В называ­ется невырожденной. Обозначим через Хв вектор из т переменных, ассоциирован­ных с векторами Р;, составляющих невырожденную матрицу В. Тогда Хв будет ба­зисным решением, если он будет решением системы ВХВ = Ь.

Пусть В"1 — матрица, обратная к матрице В (напомним, что матрица В невыро­жденная). Тогда базисное решение находим по формуле:

хв = в'ь.

Если выполняется неравенство B"'b > 0, тогда Хв будет допустимым решением.

В заключение отметим, что количество базисных решений у системы из т урав­нений с п неизвестными не превышает величины

т\(п — т)\

Пример 7.1.2

Найдем и классифицируем (как допустимые или недопустимые) все базисные ре­шения следующей системы уравнений

В следующей таблице показаны все базисные решения. Матрица, обратная к мат­рице В, вычислена методами, приведенными в разделе А.2.7.

В

BXs = b

Решение

Статус

(Pi. Рз) (Рг, Рз)

Не является базисом

Л 3>    
       
1 \* г) ы    
(■ Л     г  
1 1      
4 8   =    
1 3        
ч~4 %)       *)
                 

Допустимое

Недопустимое

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

7.1. Основы симплекс-метода

Рассмотрим эту же задачу, представив систему в векторной форме:

Здесь векторы Р,, Р2, Р3, b являются двухмерными; в общем виде они представимы как (о,, а2)т. На рис. 7.3 на плоскости (alt а2) показаны векторы данной системы. Например, вектор b = (4, 2)т, где а, = 4, а2 = 2.

Рис. 7.3. Векторное представление системы уравнений

Поскольку у нас только два уравнения (т = 2), базис должен состоять из двух век­торов, выбранных среди Р,, Р2 и Р3. Из рис. 7.3 видно, что пары векторов (Р,, Р2) и(Р2Р3) могут быть базисами, поскольку векторы в этих парах независимы. Но пара векторов (Pj, Р3) не может составить базис, так как эти векторы линейно зависимы.

Алгебраический подход к определению базиса требует, чтобы определитель матри­цы, составленной из векторов, претендующих на роль базисных, был отличен от нуля. Вычисления определителей показывают, что пары векторов (Рр Р2) и (Р2 Р3) будут базисами, а векторы (Р1; Р3) не могут составить базис.

det(P,, Р,) = det Q ^ j = (1 х (-2)) - (2 х 3) = -8 * 0. det(P2,P3) = detj Ъ ~J = (3x(_2W~ (_2х(_1)) = _8 mo-

deler,, Р3) = det

fl -Г 2 -2 = (1х(-2))-(2х(-1)) = 0.

Глава 7. Теория линейного программирования

УПРАЖНЕНИЯ 7.1.2

1. Представленные ниже системы уравнений а) и б) имеют единственные ба­зисные решения, система в) — бесконечно много решений, а г) не имеет решения. Докажите это, представив решения графически на плоскости. На основании данных примеров выведите общие закономерности, определяю­щие у системы уравнений единственное решение, бесконечно много реше­ний или отсутствие решений.

а) в) х1+3х2 = 2, Зх12 = 3. 2л;, + &х2 = 4, лг, + Зл:2 = 2.

б) г) 2*, + Зх2 = 1, 2л:,-л:г = 2. 2л;, - 4л:2 = 2, -лг,-1-2л:2 = 1.

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

а) в) Д) 1 -з)Ц (l,

-1

б)

г) е) 2 1

2 1

<\ О -2

Я:

3. Дана следующая система уравнений.

      V        
                 
            .0,   ,2,

Определите, какой из следующих наборов векторов образует базис.

a) (Р„ Р2, Р3)

b) (Р„ Р2, Р4)

c) (Р2,Р„Р4)

d) (Р„ Р2, Р3, Р4)

4. Истинны или ложны следующие утверждения?

a) Если матрица В не вырождена, то система ВХ = b имеет единственное решение.

b) Система ВХ = b не имеет решения, если матрица В вырождена и вектор b независим относительно векторов, составляющих матрицу В.

c) Система ВХ = b имеет бесконечно много решений, если матрица В вырож­дена и вектор b зависим относительно векторов, составляющих матрицу В.

7.1. Основы симплекс-метода

7.1.2. Матричное представление симплекс-таблиц

В этом разделе мы используем матричную алгебру для построения симплекс-таблиц. Рассмотрим стандартную задачу ЛП

максимизировать г = СХ при ограничениях АХ = b, X > 0.

Эту задачу ЛП можно также записать следующим образом.

Для любой симплексной итерации будем обозначать через Хв базисный вектор переменных, а через Св — вектор коэффициентов целевой функции, соответст­вующих этому базису. Поскольку все небазисные переменные равны нулю, стан­дартная задача ЛП будет сведена к задаче с целевой функцией г = СВХВ и ограниче­ниями ВХВ = Ь, где текущее решение удовлетворяет следующему уравнению.

-с,

В

ся в-]   с, в-V
В";   , в-ь,

Здесь при обращении матрицы использовались формулы из раздела А.2.7.

Симплекс-таблица получается из исходной задачи ЛП путем вычислений по следующей формуле.

С, В

в­-С А

'\ сввр (°1
,0 в 1, W

Выполнив вычисления по этой формуле, получаем такую симплекс-таблицу.

Базис X; Решение
z С8В"1Р;-С, CsB"1b

х8

В"1 Р,

в^ь

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

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

Пример 7.1.3

Рассмотрим следующую задачу ЛП.

Максимизировать г = дс, + 4х2 + 7х3 + 5х4

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

2*! + хг + 2х3 + 4.х4 = 10, Здс1 - х2 - 2х3 + 6xt = 5, х„ х2, х3, xt>0. Пусть В = (Р,, Р2) является допустимым базисом.

Глава 7. Теория линейного программирования

На основании В = (Р,,Р2) имеем Хв = (х,, х2)т и Св = (1,4). Вычисляем обратную матрицу В"1:

В

Находим текущее базисное решение

2 1

3 -1

  Л Л
     
     
  \5 ъ)

х.=Г I = в ь =

5 5 3 _2 V5 5J

Далее вычисляем в симплекс-таблице значения коэффициентов ограничений:

(±0(2 1 2 Л) (1 0 0 2 В"'(Р„Р,.Р,,Р4)= ■< 5

1 " 3 4 1 -МЗ -1 -2 6 [0 1 2 0

Теперь находим коэффициенты z-строки симплекс-таблицы:

Св[В-,12,Рз,Р4)]-С = (1,4)^ ° ° ^-(1,4,7,5) = (0.0.1.-3). Наконец, вычисляем значение целевой функции:

z = CaB-,b = CBXe=(l,4)

= 19,

Таким образом, получаем значения следующей симплекс-таблицы.

Базис Х1 хг хз Хл Решение
z       -3  
хз          
хг          

Еще раз подчеркнем, что в этой таблице основные вычисления связаны с нахожде­нием обратной матрицы В-1, другие элементы таблицы получаются на основе вы­численной матрицы В"1 и исходных данных задачи.

УПРАЖНЕНИЯ 7.1.3

1. Пусть в примере 7.1.3 В = (Р3, Р4). Покажите, что соответствующее базисное ре­шение является допустимым и постройте соответствующую симплекс-таблицу.

2. Дана следующая задача ЛП.

Максимизировать г = 5х, + 12х2 + 4х3

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

х, + 2х2 + х3 + х4 = 10,

^3* ^4 ~

Определите, какие из следующих наборов векторов образуют базис: (Р,, Р2),

2, р3), (р3, р4).

7.2. Модифицированный симплекс-метод

3. Дана следующая задача ЛП.

Минимизировать г = 2хх + х2

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

Зяг, -(- х2 — х3~ 3, 4л:, + Зх2 - х4 = 6, + 2jc2 + хь = 3, Хр х2, яг3, х4, я:5 > 0.

Вычислите симплекс-таблицу, соответствующую Хв = (xv х2, хь)Г, и опреде­лите, будет ли это решение допустимым и оптимальным.

4. Дана следующая симплекс-таблица с оптимальным решением задачи ЛП.

Базис Х1 хг х3 Xt х5 Решение
z           ?
х3         -1  
х2            
Х1       -1    

Здесь переменные ха, xt и хь являются дополнительными (остаточными). С помощью матричных вычислений реконструируйте исходную задачу ЛП, затем вычислите оптимальное значение целевой функции.

5. В стандартной задаче ЛП разобьем вектор X на два — X = (X,, Х„)т. Здесь вектор Х„ соответствует начальному базисному решению, состоящему из до­полнительных и искусственных переменных (так что В = I). Тогда матрицу А можно представить как А = (D, I). Вектор С также разделим на два вектора С, и С„ в соответствии с векторами X, и Х„. Покажите, что в этом случае сим­плекс-таблицу можно записать в следующем виде, который в точности соот­ветствует виду симплекс-таблицы из главы 3.

Базис X, Xi, Решение
z CSB"1D-C| СвВ 1 - Сц с8вчь
х8 B"1D В'1 в-'ь

7.2. МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД

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

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

Глава 7. Теория линейного программирования

в модифицированном симплекс-методе эти преобразования осуществляются пу­тем вычисления обратной матрицы В-1, и основные действия связаны именно с вычислением этой матрицы.

7.2.1. Условия оптимальности и допустимости

Рассмотрим стандартную задачу ЛП.

я

Максимизировать или минимизировать г = СХ при ограничениях ^PjX, =b, х.>

0,j= 1, 2, га.

Для данного базисного вектора Хв и соответствующих базиса В и вектора коэф­фициентов целевой функции Св на каждой итерации вычисления значений сим­плекс-таблицы выполняются по следующим формулам (см. раздел 7.1.2).

г + £ц-су)*;=св в-'ь

(XB)i+X(B-'PJ),x;=(B-1b)l,

j=l

где Zj - с\ = СВВ_1Р; - с\. Здесь запись (V), используется для обозначения t-ro элемента вектора V.

Условие оптимальности симплекс-метода. Из уравнения для значений z-строки, приведенного выше, следует, что увеличение значения небазисной пере­менной xf приводит к возрастанию (убыванию) значения целевой функции z выше текущего значения СВВ_1Ь только в том случае, если разность zj - с\ строго отрица­тельна в задаче максимизации или строго положительна в задаче минимизации. В противном случае переменная не может улучшить текущее решение и должна остаться небазисной с нулевым значением. Таким образом, любая небазисная пе­ременная, удовлетворяющая этому условию, может быть включена в базис, что, возможно, улучшит значение целевой функции. В симплекс-методе действует эм­пирическое правило, которое гласит, что в качестве вводимой в базис переменной выбирается переменная, которой соответствует наибольший (по модулю) отрица­тельный коэффициент г — с\ в z-строке в задаче максимизации или наибольший по­ложительный аналогичный коэффициент в задаче минимизации.

Условие допустимости симплекс-метода. Определение исключаемого из базиса вектора основано на проверке ограничения, представленного в виде равенства, со­ответствующего i-й базисной переменной. Это равенство имеет следующий вид.

(ХД.+^В-'РДх^В-'Ь),.

Обозначим через Pk вводимый вектор, определенный из условия оптимальности, а через хк — вводимую в базис переменную, принимающую положительное значе­ние. Поскольку все остальные небазисные переменные сохраняют нулевые значе­ния, равенство ограничения, соответствующее базисной переменной (Хв),, можно записать следующим образом.

в), = (В-1Ь)1-(В-1РДх, Это уравнение показывает, что при (В~'РД > 0 возрастание переменной хк не приведет к отрицательному значению базисной переменной (Хв)( только в том слу­чае, если будет выполняться неравенство

(B"'b), - (В_1РД хк > 0 для всех L

7.2. Модифицированный симплекс-метод

Таким образом, максимальное значение вводимой переменной xk можно вычис­лить по следующей формуле.

Базисная переменная, на которой достигается этот минимум, становится ис­ключаемой.

УПРАЖНЕНИЯ 7.2.1

1. Дана следующая задача ЛП.

Векторы Р,, Р2, Р3 и Р4 показаны на рис. 7.4. Предположим, что текущим ба­зисом является В = (Рр Р2).

a) Если вектор Р3 ввести в базис, какой вектор необходимо из него исклю­чить, чтобы полученное базисное решение было допустимым?

b) Может ли вектор Р4 быть частью допустимого базиса?

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

3. Докажите, что если в задаче максимизации (минимизации) для всех неба­зисных переменных х; выполняется неравенство г. - с. > О (< 0), то задача имеет единственное оптимальное решение. Если же для некоторых небазис­ных переменных х. выполняется равенство г.-су = 0, задача имеет альтерна­тивное оптимальное решение.

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

Максимизировать г — с,*, + с2х2 + с3х3 + с4х4

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

РЛЛ + РЛ + РЛ-Ь х„ х2, х3, х4>0.

Рис. 7.4. Векторы для упражнения 1

Глава 7. Теория линейного программирования

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

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

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

7. Дана задача ЛП, записанная в стандартной форме и имеющая т ограничений (в виде равенств) и п неизвестных. Определите число смежных крайних то­чек, которые можно достичь из невырожденной крайней точки пространства решений. Почему здесь существенно условие невырожденности крайней точки?

8. Применяя условие допустимости симплекс-метода, предположим, что хг — базисная переменная, имеющая нулевое значение, а дс.— вводимая. Объяс­ните, почему для того, чтобы переменную л:г исключить из базиса, необходи­мо выполнение неравенства (В_1Р;)г>0. Какие возникнут проблемы при вы­полнении неравенства (В-1РД.<0? (Подсказка. При ответе учитывайте, что переменная хг должна остаться неотрицательной.)





Дата публикования: 2014-11-18; Прочитано: 529 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.117 с)...