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

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



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

10. Каковы соотношения между крайними точками пространства решений и ба­зисными решениями при вырожденности и невырожденности решений? Ка­кое максимальное число итераций симплекс-метода может быть выполнено в одной и той же крайней точке?

11. Дана следующая задача ЛП: максимизировать г = СХ при ограничениях АХ < b, X > 0, где b > 0. Предположим, что вводимый в базис вектор Ру таков, что по крайней мере один элемент вектора В~'Ру положителен.

a) Пусть вектор Р, заменен на аР;, где а — положительное число, при этом переменная Xj остается переменной, вводимой в базис. Найдите соотноше­ния между значениями переменной xjt соответствующими векторам Ру и cdt*.

b) Ответьте на вопрос предыдущего пункта, если дополнительно вектор b за­менен на вектор рЧЬ, где (3 — положительное число.

12. Дана следующая задача ЛП: максимизировать z = СХ при ограничениях АХ<Ь, Х>0, где Ь>0. Предположим, что после получения оптимального решения возникла идея сделать небазисную переменную xt базисной (т.е. приносящей доход, если вспомнить экономическую интерпретацию задач ЛП) путем уменьшения ресурсов, расходуемых на единицу x/t до величины 1/а от исходного значения, где а— число, превышающее единицу. По­

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

скольку сокращено потребление ресурсов, ожидается, что доход на единицу Xj также уменьшится до величины 1/а от исходного значения. Может ли это изменение привести к рентабельности переменной xt? Каковы ваши рекомен­дации относительно того, чтобы сделать переменную х. приносящей доход?2

13. Дана следующая задача ЛП: максимизировать г = СХ при ограничениях (A, I)X = b, X > 0. Обозначим через Хв текущий базисный вектор, через Св — вектор коэффициентов целевой функции, соответствующих базисным пере­менным. Допустим, что вектор Св изменен на DB. Докажите, что в этом слу­чае разности 2.-су, соответствующие базисному вектору Хв, останутся рав­ными нулю. Дайте объяснение этому.

7.2.2. Вычислительная процедура модифицированного симплекс-метода

Имея условия оптимальности и допустимости, приведенные в разделе 7.2.1, можно описать последовательность вычислений, выполняемых в модифицирован­ном симплекс-методе.

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

Шаг 1. Каким-либо подходящим способом вычисляется обратная мат-рица В.

Шаг 2. Для каждой небазисной переменной х/ вычисляется величина

zrcrCBWlV-cr

Если для всех небазисных переменных xj величины zi - с}>0 в задаче максимизации или г. - с. < 0 в задаче минимизации, то вы­числения заканчиваются, так как получено оптимальное решение

хв = в-1ь,г = свхв.

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

Этот вопрос можно переформулировать без "экономического" подтекста: при каких ус­ловиях переменная xt может быть представлена в оптимальном решении? — Прим. ред.

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

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

Шаг 3. Вычисляется вектор В~'Ру. Если все элементы этого вектора от­рицательны или равны нулю, вычисления заканчиваются, так как задача не имеет ограниченного решения. Иначе вычисляется вектор В 'b. Для всех строго положительных элементов вектора В_1Р вычисляется отношение, определенное в условии допусти­мости. Базисная переменная xt, которой соответствует наимень­шее отношение условия допустимости, становится исключаемой из базиса переменной.

Шаг 4. Из текущего базиса В формируется новый базис путем замены в базисе В вектора Р; на вектор Р,. Выполняется переход к этапу 1 для начала новой итерации.

Пример 7.2.1

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

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

максимизировать г = (5, 4, 0, 0, 0, 0)(л:1, хг, х3, xt, х5, х6)Т

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

          V  
' 6 4       *2   '24s
1 2         *3    
-1 1         *4    
, 0 1       к *5    
          Л)  
  #2»   *4. *5> *6^0.

Мы используем запись С = (с,, с2, с6) для представления вектора коэффициентов целевой функции и (Р,, Р2, Р6)— для представления столбцов коэффициентов левых частей ограничений. Вектор правых частей ограничений обозначим Ь.

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

Итерация О

Х„ - (*„ xt, xt, х/, СВо = (0, 0, 0, 0). В0 = (Р345в) = 1, в-' -I.

Таким образом,

Х,о = В-1Ь = (24,6,1,2)Г, г=СД =0.

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

Вычисления условия оптимальности св|в-' = (0, 0, 0, 0).

Ц " *,Ui - С*Л' (Pi. Р.) - <*„ сг) = (-5, -4). Отсюда следует, что вводимым в базис вектором будет Р,. Вычисления условия допустимости

xe„ = (*з> *4. *6. ^e)r = (24> 6' *> 2)Г-В-'Р, =(6, 1,-1, 0)г.

Следовательно,

х, =1шп|^ру,—,—| =min{4, 6,—,—}=4, и вектор Р3 определяется как исключаемый из базиса.

Результаты выполненных вычислений представим в виде знакомой симплекс-таблицы. Такое представление поможет сравнить модифицированный и обычный симплекс-методы.

Базис Х1 хг х3 Хл хь х6 Решение
z -5 -Л 0        
Хз            
Х4            
Хь -1          
Хб            

Итерация 1

Х«, = (*,. *4> *S> *в) > СВ, = (5> °> 0> 0)-

(6 О О ОЛ

В.^.Р,, Р5в) =

110 0 -10 10 ^0 0 0 1,

Используя подходящий метод вычисления обратной матрицы В~' (в разделе А.2.7

приведен метод вычисления обратных матриц на основе их мультипликативного представления), находим

' i о о 0Л

о

-110 0 6

ioio

0 0 0 1

Отсюда получаем

В~' b = (4, 2, 5, 2)\ 2 = Св Хв = 20.

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

Вычисления условия оптимальности

снв:' = -,о,о,о

Ц " с)ггя = С„В-12) Р3) - (с2, с3) = ^-|, |

Отсюда следует, что вводимым в базис будет вектор Р2. Вычисления условия допустимости

хч = (*i> х*> хь> x<f = (4> 2' 5> 2)Г-

ВГ'Р2=1т.т.г.1

2 4 5

з'з'з'

Следовательно,

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

Итерация 2

Хв, = (*„ хг, х5, х/, Св, = (5, 4, 0, 0).

В2 = (Р„Р256) =

(Ь 4 0 0\ 12 0 0 -1110 0 10 1

Находим

/ 1

в;1 =

о о

i \ 0 0

I 1 0

i л о i

Отсюда получаем

хв, = в2-ь=|з,т,т.

Ill

2'2'2

z= СЯХЙ. -21.

Вычисления условия оптимальности

ад'=(2.1, о, о].

izj - *,U«= С8;В2-' (Р3, Р4) - (с3, с4) = ^, 1 Отсюда следует, что решение ХЛ оптимально. Вычисления заканчиваются. Оптимальное решение:

х. = 3. л:„ = 1.5. 2 = 21.

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

УПРАЖНЕНИЯ 7.2.2

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

2. Решите модифицированным симплекс-методом следующие задачи ЛП.

a) Максимизировать z = 6л:, - 2х2 + Зх3 при ограничениях

2 л:, - х2 + 2х3 < 2, х1 +4х3 < 4,

b) Максимизировать г = 2л:, + л:2 4- 2л:3 при ограничениях

4л:, + Зл:2-1-8д:3< 12, 4л:, + л:2 +12л:3<8, 4л:,-л:2 + 3л:3<8, л:,, л:2, х3>0.

c) Минимизировать z = 2jc, + л:2 при ограничениях

Зл:, -Ь л:2 = 3, 4л:, + Зл:2 > 6, л:, + 2л:2<3, л:,, лс2>0.

d) Минимизировать z = 5лс, - 4л:2 4- 6л:3 4- 8л:4 при ограничениях

л:, + 7л:2 + Зл:3 + 7л:4 < 46, Зл:, - л:2 + л:3 + 2л:4<20, 2xl + 3x2-x3 + xi>18,

^2' ^3* ^4 ~ ^*

3. Решите следующую задачу ЛП с помощью модифицированного симплекс-метода, используя в качестве начального базиса вектор = (л:2, л:4, л:5)г.

Минимизировать г = 7х2 + 11л:3 - 10л:4 + 26л:6 при ограничениях

х23 + х, + хв = 6,

л:2 - д:3 4- д:4 4- Зл:6 — 8,

л:, 4- л:2 - Зл:3 4- л:4 4- л:5 = 12,

Х\> ^3> ^Ч' ^5' ^"6 —

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

a) Задача из упражнения 2,с.

b) Задача из упражнения 2,d.

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

с) Задача из упражнения 3 (отказавшись от предложенного начального ре­шения Хдо).

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

Шаг 0. Пусть В0 = I — начальный базис, причем хотя бы один из элемен­тов вектора отрицателен (т.е. решение недопустимо).

Шаг 1. Вычисляем текущие значения базисных переменных: Хв = B"'b. Вы­бираем в качестве исключаемой из базиса переменную, имеющую наибольшее отрицательное значение (обозначим исключаемую пе­ременную хг). Если все элементы в Хв неотрицательны, то вычисле­ния заканчиваются, так как достигнуто допустимое решение.

Шаг 2.

a) Для всех небазисных переменных ху вычисляем разности zj-cj = СВВ_1Р. - е..

b) Для всех небазисных переменных ху вычисляем коэффициенты ограниче­ний (В"'Р)г, ассоциированные со строкой, соответствующей исключаемой переменной хг.

c) Определяем вводимую в базис переменную как переменную, на которой достигается следующий минимум.

, (В-'рд<о|.

Если все (В'РД > 0, допустимого решения не существует.

Шаг 3. Формируем новый базис путем замены в базисе вектора Р. на Рг. Вычисляем новую обратную матрицу В"1 и переходим к шагу 1.

Примените описанный метод для решения следующей задачи.

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

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

Зх, + х2 > 3, 4х, + Зх2 > 6, х, + 2х2 < 3, х,, х2> 0.

7.3. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧ С ОГРАНИЧЕННЫМИ ПЕРЕМЕННЫМИ

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

= min

j

(В-РД

7.3. Алгоритм решения задач с ограниченными переменными

Специальный алгоритм решения задач с ограниченными переменными, кото­рый мы рассмотрим в этом разделе, особенно эффективен, поскольку он учитывает тот факт, что ограничения заданы в явном виде. Сначала рассмотрим более простой случай, когда заданы только нижние границы на значения переменных. При яв­ных ограничениях X > L замена (подстановка) типа

X = L + X', Х'>0

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

Теперь рассмотрим ситуацию с верхними границами X<U. В данном случае прямая замена X = U - X", X" > 0 невозможна, поскольку обратная подстановка не гарантирует неотрицательности X. Здесь необходимо применение других процедур.

Запишем задачу ЛП с верхними границами на значения переменных как

максимизировать г = {СХ | (A, I)X = Ь, 0 < X < U}.

При выполнении алгоритма решения задач с ограниченными переменными явно используются только ограничения (A, I)X = b, X > 0; ограничения вида X < U учи­тываются лишь в измененном симплексном условии допустимости.

Пусть Хв = В_1Ь — текущее базисное допустимое решение задачи ЛП с ограни­чениями (A, I)X = b, X > 0. Обозначим через Р; вводимый в базис вектор, опреде­ленный на основе обычного симплексного условия оптимальности. Если предполо­жить, что все небазисные переменные равны нулю, уравнение ограничения относительно базисной переменной xt будет записано следующим образом.

(ХД=(В,Ь),-(В-,Р.),х/

Поскольку вводимая переменная х примет положительное значение, величина базисной переменной (Хв), возрастет или уменьшится, в зависимости от того, бу­дет значение (В'РД отрицательным или положительным. Таким образом, при оп­ределении значения вводимой переменной xj необходимо удовлетворить следую­щие три условия.

1. Базисная переменная (Хв), должна остаться неотрицательной, т.е. (Хв), > 0.

2. Базисная переменная (Хв), не должна превышать своей верхней границы, т.е. должно выполняться неравенство (Хв), < (UB)„ где UB — вектор, содержащий упорядоченные элементы вектора U, соответствующие вектору Хв.

3. Вводимая переменная xt не может принять значения, превышающего верх­нюю границу, т.е. должно выполняться неравенство x.<ut, где и.— у-й эле­мент вектора U.

Первое условие (Хв), > 0 требует выполнения неравенства

(В-Ц-СВ-'РДа^О, которое заведомо будет выполняться, если

х,*е.=тЫ"Н-

(в-'рд

(В-'РДэ-О.

Это условие полностью соответствует условию допустимости обычного симплекс-метода.

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

Условие (ХД < (UB), эквивалентно неравенству

(в-'ьх-св-'рдж^ид,

которое будет выполняться, если

|(B-'b),-(U,),

л: <8, = тЫ ' - ' 1 (В-'Р,),

(В~'РД. <0

Наконец, третье условие будет выполнено, если выполняется неравенство х < иг Все три неравенства относительно х. можно обобщить в виде следующего условия.

лгу = тт{в1( 92, и).

Базис, формируемый для следующей итерации, зависит от того, какое значение (0,, 02 или и) примет переменная х}. Предполагая, что (Хв)г— исключаемая пере­менная, получаем следующие правила формирования базиса.

1. Если х. = Qj, то переменная (Хв)г исключается из базиса и принимает нулевое значение. Новый базис формируется точно так же, как в обычном симплекс-методе с вводимой переменной xt и исключаемой (Хв)г.

2. Если хл = 62, переменная (Хв)г исключается из базиса и принимает значение своей верхней границы. Новый базис формируется точно так же, как в обыч­ном симплекс-методе, но с учетом того, что переменная (Хв)г равна верхней границе. Поскольку значения в, и 62 получены при условии, что все небазис­ные переменные равны нулю, необходимо выполнить преобразование новой небазисной переменной (Хв)г, чтобы она также приняла нулевое значение.

Это достигается с помощью подстановки (XB)r= (UB)r- (Xfi)', где (Хв)'>0.

Не имеет особого значения, когда выполняется эта подстановка: до или после вычисления нового базиса.

3. Если х^ = ujt то базисный вектор Хв остается неизменным, поскольку в данном случае никакая из текущих базисных переменных не принимает ни нулевого значения, ни значения своей верхней границы. Таким обра­зом, переменная х} остается небазисной, но со значением своего верхнего предела. После подстановки дс = ы; - лгу выполняется следующая итера­ция симплекс-метода.

В случае равенства значений 0,, 02 и ыу выбор правила, в соответствии с которым переходим к следующей итерации симплекс-метода, произволен. Вместе с тем предпочтительнее использовать третье правило (л:у = и), так как в этом случае тре­буется выполнить меньший объем вычислений.

Подстановка xf = и} - x't изменяет исходные значения с}, Ру и b на cj = -cjt PJ = -Ру

и b' = b - UjPj. Это означает, что при выполнении модифицированного симплекс-метода на каждой итерации все вычисления (таких величин, как В"1, Хв и zy-cy) должны основываться на измененных значениях С, А и b (более подробно этот во­прос рассмотрен в упражнении 7.3.1.5).

7.3. Алгоритм решения задач с ограниченными переменными

Пример 7.3.1

Решим следующую задачу ЛП вышеописанным методом решения задач с ограни­ченными переменными.

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

х,+у + 2х3<14,

1 + 4у + 3х3<43,

О < х, < 4, 7 < у < 10, 0 < х3 < 3.

Поскольку переменная у ограничена положительной константой не только сверху, но и снизу, производим замену у = х2 + 7, где 0 < х2 < 10 - 7 = 3.

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

Итерация 0

Базис Xi хг хз xt х5 Решение

z -3 -5 -2 0 0 35

xt 112 10 7

хъ 2 4 3 0 1 15

Имеем В = В"1 = I и Хв = (л:4, xs)T = B~'b = (7,1 Ъ)т. Принимая переменную х2 в качестве вводимой в базис переменной (z2 - с2 — -5), получаем B~lP2 = (1, 4)т. Отсюда следует

02 = оо (поскольку В_1Р2 > 0).

Так как по условию л:2 < 3, получаем значение, принимаемое переменной х2.

х2 = min{3,75, °о, 3} = 3 = и2.

Поскольку л:2 = и2, базис остается неизменным; переменная х2 в базис не вводится (остается небазисной), но принимает значение своей верхней границы. После под­становки х2 = 3 - х\ получаем новую симплекс-таблицу.

Базис Х1 / Х2 хз Xt х5 Решение
z -3   -2      
Xi,   -1        
Хь .. 2        

Выполненная подстановка изменяет исходный вектор правых частей ограничений с Ь= (7, 15)г на Ь' = (4, 3)г. Эти изменения должны учитываться в последующих вычислениях.

Максимизировать z = Зх1 + 5у + 2х.

8, = mirH—, — > = 3,75, что соответствует переменной х5,

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

Итерация 1. Определяем вводимую в базис переменную Базисный вектор Хв и обратная матрица В"1 (= I) такие же, как на предыдущей итерации. Вычисляем

в-'р.-а.г)'.

Отсюда следует

6, = nun j у, — > = 1,5, что соответствует переменной х&,

92 = оо (поскольку В-1Р, > 0).

Так как по условию задачи де, < 4, получаем значение, принимаемое переменной

jeI-min{l,5,oo, 4} = 1,5 (=9,).

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

Базис Х1     Xi Хь Решение
z   -1 5/2   3/2 109/2
Xi     1/2   -1/2 5/2
х,   -2 3/2   1/2 3/2

Итерация 2. Имеем новую обратную матрицу.

В =

о

Значения базисных переменных определяются так:

Хв = (*4> xj = В1 Ь' = (5/2, 3/2)т,

где Ь' = (4, 3)г— значения правых частей ограничений, вычисленные в конце ну­левой итерации.

Определяем х\ как вводимую в базис переменную. Учитывая, что К = -Р2, получаем

Далее вычисляем

'5 2 1'

в'р; =(i,-2)r

= 2,5, что соответствует базисной переменной xt,

= 1,25, что соответствует базисной переменной хг.

Так как по условию х[ < 3, получаем значение, принимаемое переменной х\.

х2 = min{2,5,1,25, 3} = 1,25 (= 82).

7.3. Алгоритм решения задач с ограниченными переменными

Таким образом, переменная х'г вводится в базис (со значением 1,25), из которого

исключается переменная дс, с ненулевым значением, равным ее верхней границе. Применяем подстановку х1 = 4 - х\ и получаем следующую симплекс-таблицу.

Базис А х2 Хз ха Xs Решение
z   -1 5/2   3/2 109/2
ха     1/2   -1/2 5/2
  -1 -2 3/2   1/2 -5/2
Далее в базис вводится переменная х\ и исключается х\ , что приводит к следующей
симплекс-таблиц е.          
Базис А х. Хз ха Xs Решение
z 1/2   7/4   5/4 223/4
Ха ■1/2   5/4   -1/4 5/4
/ X, 1/2   -3/4   -1/4 5/4

Данная таблица представляет допустимое оптимальное решение. Оптимальные зна­чения переменных х хг и х3 получаем обратной подстановкой: дс, = ui - х\ =4-0 = 4, хг = и2 - х'2 = 3 - 5/4 = 7/4 и х3 = 0. Теперь вычисляем значение переменной у: у = 12 + х2=7 + 7/4 = 35/4. Оптимальное значение целевой функции равно z = 223/4.

УПРАЖНЕНИЯ 7.3.1

1. Дана следующая задача линейного программирования.

Максимизировать z = 2xt + х2

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

х1 + х2<3, 0 < х, < 2, 0 < х2 < 2.

a) Решите задачу графическим способом и определите последовательность крайних точек пространства решений, ведущих к оптимальному решению.

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

c) Как алгоритм решения задач с ограниченными переменными распознает крайние точки пространства решений?

2. Решите следующую задачу ЛП методом решения задач с ограниченными пе­ременными.





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



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