- •Министерство образования и науки украины
- •Дискретная математика
- •0915 - “Компьютерная инженерия”
- •Содержание
- •Введение
- •Операции алгебры множеств
- •Теоретические сведения
- •Операция объединение множеств
- •Операция пересечение множеств
- •Операция разность множеств
- •Операция симметрическая разность множеств
- •Универсум
- •Дополнение множества
- •Множество всех подмножеств (булеан)
- •Логические функции и реляционные операторы
- •Основные орпределения
- •Теоретические сведения
- •Табличный способ задания логической функции
- •Матричный способ представления
- •Графический способ представления
- •Аналитический способ представления
- •Переход от табличной формы к аналитической
- •Минимизация функций методом Квайна – Мак-Класки
- •Минимизация логических функций методом Петрика
- •Переход от алгебры Буля к алгебре Жегалкина
- •Реляционный оператор Select (выборка)
- •Реляционный оператор Project (проекция)
- •Алгоритмы на графах
- •Теоретические сведения
- •Задача о кратчайшем пути
- •Алгоритм Дейкстры нахождения кратчайшего пути в графе
- •Пример решения задачи нахождения кратчайшего пути
- •Задача нахождения наибольшего потока
- •Алгоритм Форда и Фалкерсона нахождения максимального потока транспортной сети
- •Пример нахождения максимального потока
- •Транспортная задача по критерию стоимости
- •Алгоритм метода частичных потоков
- •Пример решения транспортной задачи по критерию стоимости
- •Алгоритм Флёри нахождения эйлерова цикла
- •Пример решения задачи о коммивояжёре
- •Алгоритм Краскала нахождения остова минимального веса
- •Кодирование информации
- •6. Исправление ошибок в линейном систематическом коде.
- •7. Исправление ошибок в коде Хэмминга.
- •8. Исправление ошибок в циклическом коде.
- •Основные определения
- •Теоретические сведения
- •Построение онк по методике Шеннона-Фано
- •Построение онк по методике Хаффмена
- •Построение линейного систематического кода
- •Исправление ошибок в линейном систематическом коде
- •Построение кода Хємминга
- •Исправление ошибок в коде Хэмминга
- •Построение циклического кода
- •Исправление ошибок в циклическом коде
- •Алгоритмы теории чисел
- •Теоретические сведения
- •Вычисление степени числа а по модулю n
- •Алгоритм Евклида для нахождения наибольшего общего делителя
- •Вычисление обратных величин
- •Основные способы нахождения обратных величин
- •Расширенный алгоритм Евклида
- •Китайская теорема об остатках
Транспортная задача по критерию стоимости
Известно,
что стоимость перевозки по дуге единицы
груза
.
Требуется
определить
-
количество груза, который нужно перевести
из
в
,
чтобы обеспечить общую минимальную
стоимость перевозки.
Задача решается исходя из теории потоков.
Введём обозначения:
-
пропускная способность дуги из
в
;
-
стоимость прохождения единицы потока
по дуге
;
- поток, проходящий по дуге .
Стоимость
всего пути по дуге
:
.
Считают,
что задана транспортная сеть с наибольшим
потоком
.
Требуется пропустить по данной сети
поток, не превышающий
таким образом, чтобы общая стоимость
прохождения потока
была наименьшей, т.е. обеспечивался
минимум:
где
,
поток по дуге не должен превышать
пропускную способность.
Считаем,
что
- длина пути, тогда стоимость прохождения
некоторого потока
по пути
из
в
равна:
.
Существует два варианта решения транспортной задачи:
1 вариант. На пропускную способность дуг не накладывается никаких ограничений. Тогда задача решается простым нахождением кратчайшего пути.
2 вариант. На пропускную способность дуг накладываются ограничения. В этом случае задача решается методом частичных потоков.
Алгоритм метода частичных потоков
В простейшем графе
ищем кратчайший путь из
в
,
.Пусть в результате пункта 1 определили путь
,
имеющий пропускную способность
,
т.е.
.Пропускаем по данному пути поток
,
так что
Производим замену пропускной способности дуг по правилу:
Поток, который необходимо пропустить по транспортной сети, уменьшаем на
,
.Исключаем из дальнейшего рассмотрения дуги, у которых
.Рассматриваем новый граф
,
как частичный граф исходного и переходим
к пункту 1 для пропуска по транспортной
сети потока
.
Данные
потоки
и т.д., полученные на определённых шагах
итерации называются частичными
потоками.
Алгоритм останавливается, когда
,
.
Общая стоимость перевозки определяется по формуле (1).
Решение данной задачи основано на определении кратчайшего пути в графе, который определяется для каждого частичного графа, в частности по алгоритму Дейкстры.
Пример решения транспортной задачи по критерию стоимости
Имеется
однородный груз в трёх пунктах
отправления. Требуется доставить груз
в четыре пункта назначения при соблюдении
условия баланса. Стоимость перевозки
.
Т.е. сколько груза вести из каждого
пункта отправления в
пункт назначения, чтобы стоимость
перевозки была минимальной.
Таблица 3.6 – Таблица стоимости и количества перевозимого груза
-
5
10
20
15
10
8
3
5
2
15
4
1
6
7
25
1
9
4
3
1.Проверяем
условие баланса:
.
2.Строим
транспортную сеть. Выбираем начальную
вершину
и соединяем её с вершинами
дугами с пропускной способностью равной
аi.
Вершины
соединяют с выходом сети
с пропускной способностью равной
.
Считаем, что стоимость перевозки из
в
и из
в
равна нулю.
3.
Находим кратчайший путь из
в
.
Присваиваем всем вершинам
метку 0. Начиная с вершины
присваиваем всем вершинам
метку, которая равна стоимости перевозки
груза по соединяющей их дуге. Рядом с
меткой ставим вершину, из которой была
присвоена метка. Проводя следующую
индексацию из
,
заменяем метки вершин
,
если стоимость дуги меньше, чем метка,
которую имеет вершина. Метку делаем
постоянной. Заканчиваем индексацию,
когда пройдены все вершины
.
Из меток вершин
выбираем минимальную и присваиваем
метку выходу сети
.
По вершинам возле постоянных меток
возвращаемся назад и отмечаем кратчайший
путь.
4. Применяем алгоритм метода частичных потоков.
x1 8
y1
10 3 5
4
1
2 5 y2 10
6
x0 15 x2 z
7 y3 20
25 1 9 15
x3
4 y4
3
Рисунок 3.7 – Транспортная сеть для таблицы 9.3.1
1-ый этап. Кратчайший
путь:
.
Стоимость
по дуге:
.
Частичный
поток:
.
Стоимость
груза:
.
Осталось
груза:
.
x1
y1
10 5
y2 10
x0 15 x2 z
y3 20
25 15
x3
y4
Рисунок 3.8 – Первый путь перевозки груза по ТС
x1
y1
10
y2 10
x0 15 x2 z
y3 20
20 5 15
x3 y4
Рисунок 3.9 – Второй путь перевозки груза по ТС
x1
y1
10
y2
x0 5 x2
10 ыыz
y3 20
20 5 15
x3
y4
Рисунок 3.10 – Третий путь перевозки груза по ТС
x1
y1
10
y2
x0 5 x2 10 z
y3 20
20 5 5
x3
y4
Рисунок 3.11 – Четвёртый путь перевозки груза по ТС
x1 y1
10
y2
x0 5 x2
10 z
y3 20
15 5
x3
y4
5
Рисунок 3.12 – Пятый путь перевозки груза по ТС
x1 y1
10
y2
x0 5 x2
10 z
y3 5
5 15
x3 y4
5
Рисунок 3.13 – Шестой путь перевозки груза по ТС
Таблица 3.7 – Решение транспортной задачи в виде таблицы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
10 |
10 |
5 |
15 |
5 |
|
1 |
1 |
2 |
3 |
4 |
6 |
|
5 |
10 |
20 |
15 |
60 |
30 |
|
45 |
35 |
25 |
20 |
5 |
0 |
Стоимость перевозки всего груза:
.
