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

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

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

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

Избранные темы Рис 29.2. Пример задачи поиска потока с минимальными затратами и ее решение также клюшки и шлемы. Каждый элемент снаряжения выпускается на отдельной фабрике, хранится на отдельном складе и должен ежедневно доставляться с фабрики на склад. Клюшки производятся в Ванкувере и доставляются в Саскатун, а шлемы производятся в Эдмонтоне и доставляются в Реджину. Пропускная способность сети доставки не изменилась, и различные элементы, или нродукты, должны совместно использовать одну и ту же сеть.

Данный пример — образец задачи многонрооуктового потока (пш!1!сопппод!гу йод). В этой задаче снова задан ориентированный граф С = (У Е), в котором каждая дуга (и, и) Е Е имеет неотрицательную пропускную способность с(и, и) > О. Как и в задаче максимального потока, неявно подразумевается, что с (и, и) = О для (и, и) ф Е, а кроме того, требуется, чтобы из с (и, и) ) О вытекало с(и,и) = О. Кроме того, даны к различных продуктов Кы Кз,..., Кы причем каждый 2-й продукт характеризуется тройкой К; = (з;, Ц, 4), где з; — источник продукта г, г; — место назначения продукта г, а 4 — спрос, т.е. желаемая величина потока продукта ! из в; в Ц.

По определению, поток продукта з, обозначаемый ,!з (так что (! (и, и) — поток продукта з из вершины и в вершину и), — это действительная функция, удовлетворяюшая ограничениям сохранения потока, смены знака при изменении направления и пропускной способности. Определим совокупный ноток (аййгейаге йод) Г (и, и) как сумму потоков различных продуктов: ,((и,и) = 2,', 1 !; (и,и).

Совокупный поток по дуге (и,и) не должен превышать пропускную способность дуги (и,и). При таком способе описания задачи нам не нужно ничего минимизировать; необходимо только определить, возможно ли найти такой поток. Поэтому мы записываем задачу линейного программирования с "пустой" целевой функцией: Глава 29. Линейное программирование 891 Минимизировать при условиях 0 Л(и,с)( с(и,с) 1=1 Л (и, с) = -Л (с, и) Л(и,с) < с(и,с) Л(и,с) = 0 пе1г ~~> Л (з, с) = А для всех и,с Е ь', для всех 1= 1,2,...,/с и и,се 1г, для всех 1 = 1, 2,..., /с и и, с е 1г, для всех 1 = 1, 2,..., й и и е Ъ' — (з;,тг), для всех 1 = 1, 2,..., и иль' Упражнения 29.2-1.

Приведите задачу линейного программирования поиска кратчайшего пути для одной пары вершин, заданную формулами (29.44Н29.46), к стандартной форме. 29.2-2. Запишите в явном виде задачу линейного программирования, соответствующую задаче поиска кратчайшего пути из узла а в узел у на рис. 24.2а. В задаче поиска кратчайшего пути из одной вершины мы хотим найти веса кратчайших путей из вершины з ко всем вершинам с е 'г'. Запишите задачу линейного программирования для данного графа С, решение которой обладает тем свойством, что И [с] является весом кратчайшего пути из з в с для всех вершин с Е 1г. 29.2-3. 29.2-4. Запишите задачу линейного программирования, соответствующую поиску максимального потока на рис.

26.1а. 29.2-5. Перепишите задачу линейного программирования для поиска максимального потока (29.47)-(29.50) так, чтобы в ней было только 0(Ъ" + Е) ограничений. Сформулируйте задачу линейного программирования, которая для заданного двудольного графа С = (У, Е) решает задачу о взвешенных паросочетаниях с максимальным весом (шахпппш-Ь1рап1ге-ша1сЫпй). В задаче поиска многолродуктового потока с минимальными затратами (пип1шшп-соз1 пш1псопппо61гу-Лоач ргоЫеш) задан ориентированный граф С = (К Е), в котором каждой дуге (и, с) е Е соответствуют неотрицательная пропускная способность с(и, с) > 0 и затраты а (и, с).

29.2-6. 29.2-7. Единственный известный алгоритм решения этой задачи с полиномиальным вре- менем выполнения состоит в том, чтобы записать ее в виде задачи линейного программирования и затем решить с помощью полиномиального по времени ал- горитма линейного программирования. Часть ЧП. Избранные темы 892 Как и в задаче многопродуктового потока, имеется й различных товаров Кы Кз,...,Кы при этом каждый продукт з характеризуется тройкой К; = (в;,Ц,4). Поток й для г-го продукта и совокупный поток Г (и, о) вдоль дуги (и, о) определяются так же, как и в задаче много- продуктового потока. Допустимым является такой поток, для которого совокупный поток вдоль каждой дуги ~и, и) не превышает ее пропускной способности.

Затраты для определенного потока определяются как ~;„„ег, а (и, о) ~ (и, ю), и цель состоит в том, чтобы найти допустимый поток с минимальными затратами. Запишите данную задачу в виде задачи линейного программирования. 29.3 Симплекс-алгоритм Симплекс-алгоритм является классическим методом решения задач линейного программирования.

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

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

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

То, насколько можно увеличить данную переменную, определяется другими ограничениями; а именно: ее значение увеличивается до тех пор, пока какая-либо базисная переменная не станет равной О. После этого каноническая форма переписывается так, Глава 29. Линейное программирование 893 по эта базисная переменная и выбранная небазисная переменная меняются ролями. Хотя мы использовали определенные начальные значения переменных для описания алгоритма и будем использовать их в наших доказательствах, в алгоритме данное решение в явном виде не поддерживается.

Он просто переписывает задачу линейного программирования до тех пор, пока оптимальное решение не станет "очевидным". Пример симплекс-алгоритма Рассмотрим следующую задачу линейного программирования в стандартной форме: Максимизировать Зх1+ хз+ 2хз при условиях (29.56) х1+ ха+ Зхз ( 30 2х1+ 2хз + 5хз < 24 4х1+ ха+ 2хз (36 хы хз) хз ~ ~0 .

(29.57) (29.58) (29.59) (29.60) Зхг + хз + 2хз х4 = 30 х1 — хз — Зхз хь = 24 — 2х1 — 2хз — 5хз ха = Зб — 4х1 — хз — 2хз (29.61) (29.62) (29.63) (29.64) Чтобы можно было применить симплекс-алгоритм, необходимо преобразовать данную задачу в каноническую форму, как описано в разделе 29.1.

Вспомогательные переменные — не просто элементы алгебраического преобразования, они являются содержательным алгоритмическим понятием. Напомним (см. раздел 29.1), что каждой переменной соответствует ограничение неотрицательности. Будем говорить, что ограничение-равенство является строгим (й8)п) при определенном наборе значений его небазисных переменных, если при этих значениях базисная переменная данного ограничения становится равной О.

Аналогично, набор значений небазисных переменных, который делает базисную переменную отрицательной, нарушает данное ограничение. Таким образом, вспомогательные переменные наглядно показывают, насколько каждое ограничение отличается от строгого, и тем самым помогают определить, насколько можно увеличить значения небазисных переменных, не нарушив ни одного ограничения. Свяжем с ограничениями (29.57)-(29.59) вспомогательные переменные х4, хь и ха соответственно, и приведем задачу линейного программирования к канонической форме. В результате получится следующая задача: 894 Часть ЧП.

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

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

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