Главная » Просмотр файлов » Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.)

Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (1123758), страница 183

Файл №1123758 Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.)) 183 страницаТ. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (1123758) страница 1832019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 183)

Избранные темы Система ограничений (29.62)-(29.64) содержит 3 уравнения и 6 переменных. Любое задание значений переменных хм хз и хз определяет значения переменных х4, хь и ха, следовательно, существует бесконечное число решений данной системы уравнений. Решение является допустимым, если все хз, хз,..., ха неотрицательны. Число допустимых решений также может быть бесконечным. Свойство бесконечности числа возможных решений подобной системы понадобится нам в дальнейших доказательствах. Рассмотрим базисное решение (Ьаз(с зо1пйоп): установим все (небазисные) переменные правой части равными 0 и вычислим значения (базисных) переменных левой части.

В данном примере базисным решением является (хз, хз,..., ха) = (О, О, О, 30, 24, Зб) и ему соответствует целевое значение з = (3 0) + (1 0) + (2. 0) = О. Заметим, что в этом базисном решении х; = 6; для всех г е В. Итерация симплекс-алгоритма переписывает множество уравнений и целевую функцию так, что в правой части оказывается другое множество переменных. Таким образом, с переписанной задачей связано другое базисное решение. Мы подчеркиваем, что такая перезапись никоим образом не меняет лежащую в основе задачу линейного программирования; задача на каждой итерации имеет точно то же множество допустимых решений, что и задача на предыдущей итерации. Однако эта задача имеет базисное решение, отличное от базисного решения предыдущей итерации.

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

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

Поскольку на каждую переменную наложено ограничение неотрицательности, ни одна из этих переменных не должна стать отрицательной. Если х~ увеличить более, чем на 30, то х4 станет отрицательной, а хь и ха стануг отрицательными при увеличении хг на 12 и 9 соответственно. Третье ограничение (29.64) является самым строгим, именно оно определяет, на сколько можно увеличить хп Следовательно, поменяем Глава 29. Линейное программирование 895 ролями переменные х1 и хб.

Решим уравнение (29.64) относительно х1 и получим Х2 ХЗ Хб Х1 = 9 — — — — —— 4 2 4 (29.65) Чтобы записать другие уравнения с хб в правой части, подставим вместо х1 выражение из (29.65). Для уравнения (29.62) получаем х4 = 30 — хз — х2 — Зхз— ( Х2 ХЗ Хб~ 9 — — — — — — ! — хг — Зхз 4 2 4/ ЗХ2 5ХЗ хб + 4 2 4 = 30— (29.66) = 21— Аналогично поступаем с ограничением (29.63) н целевой функцией (29.61) и за- писываем нашу задачу линейного программирования в следующем виде: Зхб 27+— Х2 4 Х2 9 —— 4 Зхз 21 —— 4 Зхз 6 —— 2 хз +— 2 хз (29.67) (29.68) х1 = 2 5хз 2 4 Хб (29.69) Х4 = +— 4 Хб +— 2 — 4хз (29.70) Эта операция называется замещением. Как было показано выше, в процессе замещения выбираются небазисная переменная х„называемая вводимой переменной (еп1еПп8 чаг1аЫе), и базисная переменная хн называемая выводимой леременной (1еач1л8 чапаЫе), которые затем меняются ролями.

Задача, записанная уравнениями (29.67К29.70), эквивалентна задаче (29.61)- (29.64). В процессе работы симплекс-алгоритма производятся толью операции переноса переменных из левой части уравнения в правую и наоборот, а также подстановки одного уравнения в другое. Первая операция, очевидно, создает эквивалентную задачу, то же можно сказать и о второй операции. Чтобы продемонстрировать эквивалентность указанных задач, убедимся, что исходное базисное решение (О, О, О, 30, 24, 36) удовлетворяет новым уравнениям (29.67)-(29.70) и имеет целевое значение 27+ (1/4) О+ (1/2) 0 — (3/4) 36 = О. В базисном решении, связанном с новой задачей, новые небазисные переменные равны О.

Таким образом, оно имеет вид (9,0,0,21,6, 0), а соответствующее целевое значение з = 27. Простые арифметические действия позволяют убедиться, что данное решение удовлетворяет уравнениям (29.62)-(29.64) и при подстановке в целевую функцию (29.61) имеет целевое значение (3. 9) + (1 0) + (2 0) = 27. Продолжая рассмотрение примера, необходимо найти новую базисную переменную, значение которой можно увеличить.

Нет смысла увеличивать хб, поскольку при ее увеличении целевое значение уменьшается. Можно попробовать Часть Чй. Избранные темы 896 увеличить хз или хз, мы выберем хз. Насколько можно увеличить хз, чтобы не нарушить ни одно из ограничений? Ограничение (29.68) допускает увеличение, не превышающее 18, ограничение (29.69) — 42/5, а ограничение (29.70) — 3/2. Третье ограничение снова оказывается самым строгим, следовательно, мы переписываем его так, чтобы хз было в левой части, а хз — в правой части. Затем подставляем это новое уравнение в уравнения (29.67)-(29.69) и получаем новую эквивалентную задачу: 111 — + 4 33 Х1 4 3 хз =— 2 69 Х4 = — + 4 Х2 Хз 11Х6 (29.71) 16 8 Х2 Хз — +— 16 8 Зхз Хз 16 5х6 (29.72) 16 Х6 (29.73) 8 4 8 Зхз 5хь х6 + —— (29.74) 16 8 16 С этой системой связано базисное решение (33/4, О, 3/2, 69/4, О, 0) с целевым значением 111/4.

Теперь единственная возможность увеличить целевое значение— увеличить 22. Имеющиеся ограничения задают верхние границы увеличения 132, 4 и оо соответственно (верхняя граница в ограничении (29.74) равна оо, поскольку при увеличении хз значение базисной переменной х4 также увеличивается. Следовательно, данное уравнение не налагает никаких ограничений на величину возможного увеличения х2). Увеличиваем х2 до 4 и делаем ее базисной. Затем решаем уравнение (29.73) относительно хз, подставляем полученное выражения в другие уравнения и получаем новую задачу: Хз 2Х6 хз 28 —— 6 хз 8+— 6 8хз 4 —— 3 Хз 18 —— 2 (29.75) 6 3 Хь Х6 +— (29.76) 6 3 2хз ха +— 3 (29.77) Х2 3 Хз + 2 (29.78) х4 = В полученной задаче все коэффициенты целевой функции отрицательны.

Как будет показано далее, такая ситуация возникает только тогда, когда базисное решение переписанной задачи линейного программирования является оптимальным ее решением. Таким образом, для данной задачи решение (8, 4, О, 18, О, 0) с целевым значением 28 является оптимальным. Теперь можно вернуться к исходной задаче линейного программирования, заданной уравнениями (29.56)-(29.60). Исходная задача содержит только переменные хы хз и хз, поэтому оптимальное Глава 29. Линейное программирование 897 решение имеет вид х! = 8, хз = 4, хз = О, с целевым значением (3 8) + (1 4) + + (2 0) = 28.

Заметим, что значения вспомогательных переменных в окончательном решении показывают, насколько велик резерв в каждом неравенстве. Вспомогательная переменная х4 равна 18„а значение левой части в неравенстве (29.57) равно 8+ 4+ 0 = 12, что на 18 меньше, чем значение правой части этого неравенства — 30. Вспомогательные переменные хь и ха равны О, и действительно, в неравенствах (29.58) и (29.59) левые и правые части равны. Обратите внимание на то, что даже если коэффициенты исходной канонической формы являются целочисленными, коэффициенты последующих эквивалентных задач не обязательно целочисленны, и не обязательно целочисленны и промежуточные решения.

Более того, окончательное решение задачи линейного программирования не обязательно будет целочисленным; в данном примере это просто совпадение. Замещение Формализуем процедуру замещения. Процедура Р!чс!т получает на входе каноническую форму задачи линейного программирования, заданную кортежем (Ф, В,А, Ь,с, о), индекс ! выводимой переменной х! и индекс е вводимой переменной х,. Она возвращает кортеж (Й, В, А, Ь, с, о), описывающий новую каноническую форму. (Еще раз напомним, что элементы матриц А и А являются числами, обратными коэффициентам канонической формы.) Р!уот(М,В,А,Ь,с,о,1,е) > Вычисление коэффициентов уравнения для новой базисной переменной х, 2 Ье ' Ь!/а!е 3 1ог (для) всех ! Е !!! — (е) 4 до аез е — ае/а!е 5 ае[ + 1/а!е 6 г Вычисление коэффициентов остальных ограничений 7 1ог (для) всех г Š — (1) 8 ао Ь! — Ь! — аееЬе 9 1ог (для) всех 3 Е Лг — (е) 10 йо ае " ае аееаеу 11 ац + — — аееа,! 12 [> Вычисление целевой функции !3 о ' — о+ себе 14 1ог (для) всех 3 Е Ф вЂ” (е) 15 оо с — су — сеаеу 16 с! е — — сеае! 898 Часть ЧП.

Избранные темы 17 [> Вычисление новых множеств базисных и небазисных переменных 18 Ф - 1Ч вЂ” (е) [.[(1) 19 В+-  — (Ц 0(е) 20 ге[игл (1Ч,В,А,б,с,[[) Процедура Р[уот работает следующим образом. В строках 2-5 вычисляются коэффициенты нового уравнения для х,; для этого уравнение, в левой части которого стоит х[, переписывается так, чтобы в левой части оказалась х . В строках 7-! 1 оставшиеся уравнения обновляются путем подстановки правой части полученного нового уравнения вместо всех вхождений х,. В строках 13-1б такая же подстановка выполняется для целевой функции, а в строках 18 и 19 обновляются множества небазисных и базисных переменных.

Строка 20 возвращает новую каноническую форму. Если а[, = О, вызов процедуры Рвот приведет к ошибке (деление на 0), однако, как будет показано в ходе доказательства лемм 29.2 и 29.12, данная процедура вызывается толью тогда, когда а[, ф О. Рассмотрим, как процедура Р[чот действует на значения переменных базисного решения.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее