Главная » Просмотр файлов » metod_15.03.04_atppp_moas_2016

metod_15.03.04_atppp_moas_2016 (1016590), страница 11

Файл №1016590 metod_15.03.04_atppp_moas_2016 (Методические документы) 11 страницаmetod_15.03.04_atppp_moas_2016 (1016590) страница 112017-07-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Этот факт следует изабсолютной унимодулярности матрицы. Первое ограничение требует, чтобы каждому исполнителю была назначена в точности одна задача, второе требует,чтобы для каждой задачи был назначен один исполнитель.Нахождение кратчайших путей в графеБудем рассматривать ориентированные графы Gu,V,, дугам которыхE поставлено в соответ-ствие некоторое вещественное число a (u, v), называемое весом данной дуги.Нас будет интересовать нахождение кратчайшего пути между фиксированными вершинами s, tV. Длину такого кратчайшего пути мы будем обозначатьd (s, t) и называть расстоянием от s до t (расстояние, определенное таким образом, может быть отрицательным). Если не существует ни одного пути из s в t, тополагаем d (s, t) = ╔ .

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

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

Задачу нахождениянаиболее надежного пути легко можно свести к задаче о кратчайшем пути, заменяя веса p(u, v) на a (u, v) = - lg p(u, v).Сначала рассмотрим алгоритмы нахождения расстояния между вершинами, а не самих путей. Однако, зная расстояние, мы можем при условии положительной длины всех контуров легко определить кратчайшие пути. Для этогодостаточно отметить, что для произвольных s, tV (s , t) существует вершина v,такая что d (s, t) = d (s, v) + a (v, t).Действительно, таким свойством обладает предпоследняя вершина произвольного кратчайшего пути из s в t.Далее мы можем найти вершину u, для которой d (s, v) = d (s, u) + a (u, v),и т.д.Из положительности длины всех контуров легко следует, что созданная таким образом последовательность t, v, u, ...

не сожержит повторений и оканчивается вершиной s.Очевидно, что она определяет (при обращении очередности) кратчайшийпуть из s в t.Таким образом, мы получаем следующий алгоритм:Алгоритм нахождения кратчайшего путиДанные: Расстояния D[v] от фиксированной вершины s до всех остальныхвершин vV, фиксированная вершина t, матрица весов ребер, A[u, v], u, vV.Результаты: СТЕК содержит последовательность вершин, определяющуюкратчайший путь из s в t.beginCTEK :=; CTEKt; v:= t;while v ╧ s dobeginu := вершина, для которой D[v] = D[u] + A[u, v];CTEKu;v:= uendend.V,-=n= m. Если выборвершины u происходит в результате просмотра всех вершин, то сложностьнашего алгоритма - O(n2). Если мы просматриваем только список ПРЕДШ[v], содержащий все вершины u, такие что, то в этом случае сложность будетO(m).Отметим, что в случае положительных весов ребер задача о кратчайшемпути в неориентированном графе легко сводится к аналогичной задаче для некоторого ориентированного графа.

С этой целью достаточно заменить каждоеребро {u, vu,v,, каждая с таким же весом, что и {u,v}. Однако в случае неположительных весов это приводит к возникновению контуров с неположительной длиной.Далее будем всегда предполагать, что G=nV,является ориентирован-= m. В целях упрощения изложения и избежаниявырожденных случаев при оценке сложности алгоритмов будем исключать ситуации, при которых «большинство» вершин изолированные.Будем также предполагать, что веса дуг запоминаются в массиве A[u, v],V (A[u, v] содержит вес a (u, v)).u, vКратчайшие пути от фиксированной вершиныБольшинство известных алгоритмов нахождения расстояния между двумяфиксированными вершинами s и t опирается на действия, которые в общих чертах можно представить следующим образом: при данной матрице весов дуг A[u,v], u, vV, вычисляются некоторые верхние ограничения D[v] на расстояния отs до всех вершин vV.

Каждый раз, когда мы устанавливаем, чтоD[u] + A[u, v] < D[v], оценку D[v] улучшаем: D[v] = D[u] + A[u, v].Процесс прерывается, когда дальнейшее улучшение ни одного из ограничений невозможно.Легко можно показать, что значение каждой из переменных D[v] равно тогда d (s, v) - расстоянию от s до v.Заметим, что для того чтобы определить расстояние от s до t, мы вычисляем здесь расстояния от s до всех вершин графа.Не известен ни один алгоритм нахождения расстояния между двумя фиксированными вершинами, который был бы существенным образом более эффективным, нежели известные алгоритмы определения расстояния от фиксированной вершины до всех остальных.Описанная общая схема является неполной, так как она не определяет очередности, в которой выбираются вершины u и v для проверки условия минимальности расстояния.

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

С эти алгоритмомобычно связывают имена Л.Р. Форда и Р.Е. Беллмана.Алгоритм Беллмана–Форда — алгоритм поиска кратчайшего пути во взвешенном графе. За время O(|V| × |E|) алгоритм находит кратчайшие пути от одной вершины графа до всех остальных. В отличие от алгоритма Дейкстры, алгоритм Беллмана–Форда допускает рёбра с отрицательным весом. Предложен независимоРичардом Беллманом и Лестером Фордом.Алгоритм маршрутизации RIP (алгоритм Беллмана–Форда) был впервыеразработан в 1969 году, как основной для сети ARPANET.Формулировка задачиДан ориентированный или неориентированный граф G со взвешеннымирёбрами. Длиной пути назовём сумму весов рёбер, входящих в этот путь. Требуется найти кратчайшие пути от выделенной вершины s до всех вершин графа.Заметим, что кратчайших путей может не существовать.

Так, в графе, содержащем цикл с отрицательным суммарным весом, существует сколь угоднокороткий путь от одной вершины этого цикла до другой (каждый обход циклауменьшает длину пути). Цикл, сумма весов рёбер которого отрицательна, называетсяотрицательным циклом.Решение задачи на графе без отрицательных циклов[править | правитьисходный текст]Решим поставленную задачу на графе, в котором заведомо нет отрицательных циклов.Для нахождения кратчайших путей от одной вершины до всех остальных,воспользуемся методомдинамического программирования.

Построим матрицу Aij, элементы которой будут обозначать следующее: Aij — это длинакратчайшего пути из s в i, содержащего не более j рёбер.Путь, содержащий 0 рёбер, существует только до вершины s. Таким образом, Ai0 равно 0 при i = s, и +∞ в противном случае.Теперь рассмотрим все пути из s в i, содержащие ровно j рёбер. Каждыйтакой путь есть путь изЕсли про пути длиныребра, к которому добавлено последнее ребро.все данные уже подсчитаны, то определить j-й стол-бец матрицы не составляет труда.Так выглядит алгоритм поиска длин кратчайших путей в графе без отрицательных циклов:fordofortodo forifthenreturnЗдесь V — множество вершин графа G, E — множество его рёбер, а w —весовая функция, заданная на ребрах графа (возвращает длину дуги, ведущей извершины u в v), d - массив, содержащий расстояния от вершины s до любойдругой вершины.Внешний цикл выполняетсяраз, поскольку кратчайший путь неможет содержать большее число ребер, иначе он будет содержать цикл, который точно можно выкинуть.Вместо массива d можно хранить всю матрицу A, но это требует O(V²) памяти.

Зато при этом можно вычислить и сами кратчайшие пути, а не только ихдлины. Для этого заведем матрицу Pij.Если элемент Aij содержит длину кратчайшего пути из s в i, содержащего j рёбер, то Pij содержит предыдущую вершину до i в одном из таких кратчайших путей (ведь их может быть несколько).Теперь алгоритм Беллмана–Форда выглядит так:forfortodofortodo forifthenПосле выполнения этого алгоритма элементысодержат длины крат-чайших путей от s до i с количеством ребер j, и из всех таких путей следует выбрать самый короткий.

А сам кратчайший путь до вершины i с j ребрами восстанавливается так:whilereturn pЗанятие 5 – практическое занятие № 11. Транспортная задача.Условие:Однородный груз сосредоточен у m поставщиков в объемах a1, a2, ... am.Данный груз необходимо доставить n потребителям в объемах b1, b2 ...

bn.Известны Cij , i=1,2,...m; j=1,2,...n — стоимости перевозки единиц груза от каждого i-го поставщика каждому j-му потребителю.Требуется составить такой план перевозок, при котором запасы всех поставщиков вывозятся полностью, запросы всех потребителей удовлетворяются полностью, и суммарные затраты на перевозку всех грузов являются минимальными.Исходные данные транспортной задачи записываются в виде таблицы:Исходные данные задачи могут быть представлены в виде:вектора А=(a1,a2,...,am) запасов поставщиковвектора B=(b1,b2,...,bn) запросов потребителейматрицы стоимостей:МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ТРАНСПОРТНОЙ ЗАДАЧИПеременными (неизвестными) транспортной задачи являются xij ,i=1,2,...,m j=1,2,...,n — объемы перевозок от i-го поставщика каждому j-му потребителю.Эти переменные могут быть записаны в виде матрицы перевозок:Так как произведение Cij*Xij определяет затраты на перевозку груза от iго поставщика j-му потребителю, то суммарные затраты на перевозку всех грузов равны:По условию задачи требуется обеспечить минимум суммарных затрат.Следовательно, целевая функция задачи имеет вид:Система ограничений задачи состоит из двух групп уравнений.Первая группа из m уравнений описывает тот факт, что запасы всех m поставщиков вывозятся полностью и имеет вид:Вторая группа из n уравнений выражает требование удовлетворить запросы всех n потребителей полностью и имеет вид:Учитывая условие неотрицательности объемов перевозок математическаямодель выглядит следующим образом:В рассмотренной модели транспортной задачи предполагается, что суммарные запасы поставщиков равны суммарынм запросам потребителей, т.е.:Такая задача называется задачей с правильным балансом, а модель задачи закрытой.

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

Тип файла
PDF-файл
Размер
1,8 Mb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

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