Реферат Курсовая Конспект
Транспортной задачи - раздел Образование, методы ОПТИМАлЬНЫХ РЕШЕНИЙ Пусть Дан Некоторый Опорный План. Для Каждой Свободной Клетки Таблицы Перевоз...
|
Пусть дан некоторый опорный план. Для каждой свободной клетки таблицы перевозок вычислим алгебраические суммы стоимостей в вершинах цикла Dij. Так, для клетки (4,1) получим
D41 = 6 – 5 + 4 – 3 + 1 – 2 = 1.
Если все Dij неотрицательны (Dij ³ 0), то задача решена, т.е. найден оптимальный план перевозок.
Допустим, есть хотя бы одно отрицательное значение Dij, тогда среди отрицательных Dij выбираем наименьшее и для этой клетки i0, j0 делаем сдвиг по циклу пересчета на величину q0, равную наименьшей из перевозок, стоящих в отрицательных вершинах цикла. Полученный новый опорный план будет лучше предыдущего, при этом целевая функция уменьшится на величину q0 × .
Замечания:
1. Каждая сумма Dij начинается с положительного числа и кончается отрицательным. Количество всех слагаемых четное.
2. Если опорный план вырожденный, то возможен сдвиг по циклу пересчета на величину q = 0. При этом значение целевой функции не изменится, а изменятся базисные клетки.
Найдем решение задачи, первоначальный опорный план которой получен методом северо-западного угла, и введем дополнительное условие: груз из пункта А2 в пункт В3 не может быть доставлен:
В1 | В2 | В3 | В4 | Для всех свободных клеток вычислим Dij: D13 = 2 – 1 + 3 – 4 = 0, D14 = 5 – 1 + 2 – 1 + 3 – 4 = = 4, D21 = 6 – 5 + 4 – 1 = 4, D23 = М – 1 + 3 – 1 = = М + 1, D24 = 3 – 1 + 2 – 1 + 3 – 1 = = 5, | ||
А1 | - 5 20 | + 4 10 | 2 | 5 | ||
А2 | 6 | 1 70 | М | 3 | ||
А3 | + 2 q | - 3 | 1 40 | 8 | ||
А4 | 6 | 3 | 2 30 | 1 70 | ||
D31 = 2 – 3 + 4 – 5 = -2, D34 = 8 – 1 + 2 – 1 = 8,
D41 = 6 – 5 + 4 – 3 + 1 – 2 = 1, D42 = 3 – 3 + 1 – 2 = -1.
Поскольку не все Dij ³ 0, план перевозок не оптимален. Среди Dij < 0 выбираем наименьшее. Это D31 = -2. Делаем сдвиг по циклу пересчета для свободной клетки (3,1) на величину q0. Этот цикл проходит через базисные клетки (1,1), (1,2) и (3,2). В этом цикле две отрицательные клетки (1,1) и (3,2). Им соответствуют перевозки 20 и 10. В качестве q0 выбираем меньшее из этих чисел, т.е. q0 = 10. После сдвига по циклу пересчета на величину q0 переходим к следующему опорному плану:
В1 | В2 | В3 | В4 | Делаем второй шаг распределительного метода. Находим значения Dij для всех свободных клеток D13 = 2 – 5 + 2 – 1 = -2, D14 = 5 – 1 + 2 – 1 + 2 – 5 = = 2, D21 = 6 – 5 + 4 – 1 = 4, D23 = М – 1 + 4 – 5 + 2 - 1 = М – 1 >> 0, | ||
А1 | - 5 10 | 4 20 | + 2 q | 5 | ||
А2 | 6 | 1 70 | М | 3 | ||
А3 | + 2 10 | 3 | - 1 40 | 8 | ||
А4 | 6 | 3 | 2 30 | 1 70 | ||
D24 = 3 – 1 + 4 – 5 + 2 – 1 + 2 – 1 = 3,
D32 = 3 – 4 + 5 – 2 = 2,
D34 = 8 – 1 + 2 – 1 = 8,
D41 = 6 – 2 + 1 – 2 = 3,
D42 = 3 – 4 + 5 – 2 + 1 – 2 = 1.
f(х) = 10 × 5 + 20 × 4 + 70 × 1 + 10 × 2 + 40 × 1 + 30 × 2 + 70 × 1 = 390.
Делаем сдвиг по циклу пересчета для свободной клетки (1,3) на величину q0 = 10. Переходим к новому опорному плану:
В1 | В2 | В3 | В4 | Найдем Dij для этой таблицы D11 = 5 – 2 + 1 – 2 = 2, D14 = 5 – 2 + 2 – 1 = 4, D21 = 6 – 1 + 4 – 2 + 1 – 2 = 6, D23 = М – 2 + 4 – 1 = = М + 1, D24 = 3 – 1 + 4 – 2 + 2 – 1 = 5, D32 = 3 – 4 + 2 – 1 = 0, D34 = 8 – 1 + 2 – 1 = 8, | ||
А1 | 5 | - 4 20 | + 2 10 | 5 | ||
А2 | 6 | 1 70 | М | 3 | ||
А3 | 2 20 | 3 | 1 30 | 8 | ||
А4 | 6 | + 3 q | - 2 30 | 1 70 | ||
D41 = 6 – 2 + 1 – 2 = 3, D42 = 3 – 4 + 2 – 2 = -1.
f(х) = 20 × 4 + 10 × 2 + 70 × 1 + 20 × 2 + 30 × 1 + 30 × 2 + 70 × 1 = 370.
Делаем сдвиг по циклу пересчета для свободной клетки (4,2) на величину q0 = 20.
Переходим к новому опорному плану:
В1 | В2 | В3 | В4 | Определим значения Dij D11 = 5 – 2 + 1 – 2 = 2, D12 = 4 – 2 + 2 – 3 = 1, D14 = 5 – 1 + 2 – 2 = 4, D21 = 6 – 1 + 3 – 2 + 1 – 2 = = 5, D23 = М – 1 + 3 – 2 = = М >> 0, D24 = 3 – 1 + 3 – 1 = 4, D32 = 3 – 3 + 2 – 1 = 1, | ||
А1 | 5 | 4 | 2 30 | 5 | ||
А2 | 6 | 1 70 | М | 3 | ||
А3 | 2 20 | 3 | 1 30 | 8 | ||
А4 | 6 | 3 20 | 2 10 | 1 70 | ||
D34 = 8 – 1 + 2 – 1 = 8, D41 = 6 – 2 + 1 – 2 = 3.
f(х) = 30 × 2 + 70 × 1 + 20 × 2 + 30 × 1 + 20 × 3 + 10 × 2 + 70 × 1 = 350.
Для этого плана все Dij > 0. Следовательно, этот опорный план оптимальный.
Для расчёта задач транспортного типа в среде Excel (рис. 73) необходимо ввести в таблицу тарифы на перевозку единицы груза по различным маршрутам (например, в ячейки B3:Е6), величину предложения поставщиков (например, в ячейки F3:F6) и величину спроса потребителей (например, в ячейки B7:Е7). Для размещения искомых значений переменных необходимо зарезервировать свободные ячейки (например, ячейки B9:Е12). Математические выражения для системы ограничений по спросу и предложению вводятся (например, в ячейки F9:F12 и B13:E13 соответственно) с помощью функции СУММ (рис. 74). Целевая функция вводятся (например, в ячейку F13) с помощью функции СУММПРОИЗВ из категории Математические (рис. 75). Для этого необходимо выбрать в меню Вставка строку Функция….
Рис. 73. Ввод исходных данных транспортной задачи в Excel
Рис. 74. Табличное представление транспортной задачи в Excel
Аргументами функции СУММПРОИЗВ являются: Массив1 - адреса матрицы тарифов перевозок, Массив2 – адреса пустых ячеек, зарезервированных под размещение искомых переменных задачи (плана перевозок).
Рис. 75. Ввод целевой функции транспортной задачи
Условия транспортной задачи вводятся в диалоговую форму надстройки Поиск решения, вызываемой из меню Сервис (рис. 76). В окно Установить целевую ячейку вводится адрес функции цели щелчком левой кнопки мышки по ячейке, содержащей математическое выражение для подсчёта общих затрат на перевозки. Направление поиска экстремума целевой функции устанавливается соответствующим минимальному значению. В окно Изменяя ячейки вводятся адреса искомых значений переменных (B9:Е12).
Рис. 76. Заполнение диалоговой формы Поиск решения
Ограничения задачи добавляются, изменяются и удаляются после нажатия соответствующей кнопки. В двух последних случаях предварительно необходимо выделить требуемую строку в окне Ограничения.
Рис. 77. Заполнение диалоговой формы Добавление ограничения
В левом окне формы Добавление ограничения (рис. 77) вводятся адреса левой части ограничений – суммы объёмов перевозок от поставщиков и суммы объёмов перевозок к потребителям. Знак ограничения устанавливается в виде знака равенства “ =“. В правом окне формы Добавление ограничения вводятся адреса правой части ограничений – числовые значения предложения и спроса.
Нажав кнопку Параметры, следует поставить «галки», выделив пункты: Линейная модель, Неотрицательные значения и Автоматическое масштабирование (рис. 78).
Рис. 78. Заполнение диалоговой формы Параметры
Оптимальный план перевозок представлен на рис. 79. Так, от первого поставщика третьему потребителю перевозится 30 единиц груза, от второго поставщика второму потребителю – 70 единиц груза. Третий поставщик обеспечивает поставки первому потребителю в объёме 20 единиц груза и третьему потребителю – 30 единиц груза. Поставки из четвёртого пункта отправления осуществляются по трём маршрутам: второму потребителю – 20 единиц груза, третьему потребителю – 10 единиц груза, третьему – 70 единиц груза. Общие затраты на перевозки составят 350 ден.ед.
Рис. 79. Результаты решения транспортной задачи
Метод потенциалов
Для решения транспортной задачи можно использовать метод потенциалов. Пусть задан опорный план задачи, тогда каждому пункту отправления Аi приписывается некоторое число Ui, а каждому пункту назначения Вj – число Vj. Эти числа называют потенциалами, они подбираются так, чтобы для каждой базисной клетки (i, j) выполнялось равенство
Ui + Vj = Cij.
Таким образом, получаем m + n – 1 простых уравнений с m + n неизвестными Ui и Vj. В таком случае, когда система состоит из числа уравнений, меньшего, чем число неизвестных, появляется свободная неизвестная величина, которой мы можем придать любое значение. Все остальные неизвестные можно найти из системы уравнений.
После того, как будут найдены все потенциалы Ui и Vj, для каждой свободной клетки (i, j) определяют числа Dij = Cij– – (Ui + Vj). Далее поступаем так же, как и в распределительном методе: находим наибольшее по модулю отрицательное число (т.е. самое малое из отрицательных) и делаем сдвиг по соответствующему циклу пересчета. Таким образом, в методе потенциалов для нахождения чисел Dij не нужно искать циклы пересчета для всех свободных клеток. Надо найти только один цикл пересчета, соответствующий наименьшему отрицательному .
Пример решения задачи методом потенциалов:
V1 = 5 | V2 = 4 | V3 = 2 | V4 = 1 | Для занятых клеток U1 + V1 = 5, U1 + V2 = 4, U2 + V2 = 1, U3 + V2 = 3, U3 + V3 = 1, U4 + V3 = 2, U4 + V4 = 1. | ||
U1 = 0 | 20 5 | 10 4 | 2 | 5 | ||
U2 = -3 | 6 | 70 1 | 1 | 3 | ||
U3 = -1 | 2 Q | 10 3 | 401 | 8 | ||
U4 = 0 | 6 | 3 | 30 2 | 70 1 | ||
Положим U1 = 0, тогда учитывая занятые клетки
V1 = 5, V2 = 4, U2 = –3, U3 = –1, V3 = 2, U4 = 0, V4 = 1.
Подсчитаем Dij для свободных клеток:
D13 = 2 – (0 + 2) = 0, D14 = 5 – (0 + 1) = 4,
D21 = 6 – (–3 + 5) = 4, D23 = 1 – (–3 + 2) = 2,
D24 = 3 – (–3 + 1) = 5,
D31 = 2 – (–1 + 5) = –2, D34 = 8 – (–1 + 1) = 8,
D41 = 6 – (0 + 5) = 1, D42 = 3 – (0 + 4) = –1.
Поскольку среди значений Dij есть отрицательные, то план перевозок не оптимален и необходимо, сделав сдвиг по циклу пересчета для клетки (3,1), перейти к новому плану.
V1 = 5 | V2 = 4 | V3 = 4 | V4 = 3 | Для занятых клеток U1 + V1 = 5, U1 + V2 = 4, U2 + V2 = 1, U3 + V1 = 2, U3 + V3 = 1, U4 + V3 = 2, U4 + V4 = 1. | ||
U1 = 0 | 10 5 | 20 4 | Q2 | 5 | ||
U2 = -3 | 6 | 70 1 | 1 | 3 | ||
U3 = -3 | 10 2 | 3 | 401 | 8 | ||
U4 = -2 | 6 | 3 | 30 2 | 70 1 | ||
Положим U1 = 0, тогда
V1 = 5, V2 = 4, U2 = –3, U3 = –3, V3 = 4, U4 = –2, V4 = 3.
Подсчитаем Dij для свободных клеток:
D13 = 2 – (0 + 4) = –2, D14 = 5 – (0 + 3) = 2,
D21 = 6 – (– 3 + 5) = 4, D23 = 1 – (–3 + 4) = 0,
D24 = 3 – (–3 + 3) = 3,
D32 = 3 – (–3 + 4) = 2, D34 = 8 – (–3 + 3) = 8,
D41 = 6 – (–2 + 5) = 3, D42 = 3 – (–2 + 4) = 1.
Поскольку среди значений Dij есть отрицательное, то план перевозок не оптимален и необходимо, сделав сдвиг по циклу пересчета для клетки (1,3), перейти к новому плану.
V1 = 3 | V2 = 4 | V3 = 2 | V4 = 1 | Для занятых клеток U1 + V2 = 4, U1 + V3 = 2, U2 + V2 = 1, U3 + V1 = 2, U3 + V3 = 1, U4 + V3 = 2, U4 + V4 = 1. | ||
U1 = 0 | 5 | 20 4 | 10 2 | 5 | ||
U2 = -3 | 6 | 70 1 | 1 | 3 | ||
U3 = -1 | 20 2 | 3 | 301 | 8 | ||
U4 = 0 | 6 | Q 3 | 30 2 | 70 1 | ||
Положим U1 = 0, тогда учитывая занятые клетки
V2 = 4, V3 = 2, U2 = –3, U3 = –1, V1 = 3, U4 = 0, V4 = 1.
Подсчитаем Dij для свободных клеток:
D11 = 5 – (0 + 3) = 2, D14 = 5 – (0 + 1) = 4,
D21 = 6 – (– 3 + 3) = 6, D23 = 1 – (–3 + 2) = 2,
D24 = 3 – (–3 + 1) = 5,
D32 = 3 – (–1 + 4) = 0, D34 = 8 – (–1 + 1) = 8,
D41 = 6 – (0 + 3) = 3, D42 = 3 – (0 + 4) = –1.
Поскольку среди значений Dij есть отрицательное, то план перевозок не оптимален и необходимо, сделав сдвиг по циклу пересчета для клетки (4,2), перейти к новому плану.
V1 = 3 | V2 = 4 | V3 = 2 | V4 = 1 | Для занятых клеток U1 + V3 = 2, U2 + V2 = 1, U3 + V1 = 2, U3 + V3 = 1, U4 + V2 = 2, U4 + V3 = 2, U4 + V4 = 1. | ||
U1 = 0 | 5 | 4 | 30 2 | 5 | ||
U2 = -3 | 6 | 70 1 | 1 | 3 | ||
U3 = -1 | 20 2 | 3 | 301 | 8 | ||
U4 = 0 | 6 | 20 3 | 10 2 | 70 1 | ||
Положим U1 = 0, тогда учитывая занятые клетки
V3 = 2, U3 = –1, U4 = 0, V1 = 3, V2 = 4, U2 = –3, V4 = 1.
Подсчитаем Dij для свободных клеток:
D11 = 5 – (0 + 3) = 2, D12 = 4 – (0 + 4) = 0,
D14 = 5 – (0 + 1) = 4,
D21 = 6 – (– 3 + 3) = 6, D23 = 1 – (–3 + 2) = 2,
D24 = 3 – (–3 + 1) = 5,
D32 = 3 – (–1 + 4) = 0, D34 = 8 – (–1 + 1) = 8,
D41 = 6 – (0 + 3) = 3.
Поскольку среди значений Dij нет отрицательных, то найден оптимальный план перевозок.
f(х) = 30 × 2 + 70 × 1 + 20 × 2 + 30 × 1 + 20 × 3 + 10 × 2 + 70 × 1 = 350.
Решение транспортной задачи методом потенциалов, реализованным в ППП PRIMA показано на рис. 80 и 81.
Рис. 80. Заполнение диалоговой формы Транспортная задача
Рис. 81. Решение транспортной задачи в ППП PRIMA
– Конец работы –
Эта тема принадлежит разделу:
С В Амелин... методы оПТИМАлЬНЫХ РЕШЕНИЙ...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Транспортной задачи
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов