Транспортная задача линейного программирования, ее математическая модель

Под названием транспортная задача объединяется широкий круг задач ЛП с единой математической моделью, т.к. это задача ЛП, то для ее решения может применятся один из уже известных методов( симплексный, двойственный, искусственный базис) Однако, в силу специфики мат. модели для их решения был разработан специальный метод- метод потенциала. Данный метод, как и симплексный, начинается с поиска начального решения, затем найденное решение проверяется на оптимальность и при необходимости осуществляется построение более оптимального плана.

Постановка задачи:

Однородный груз сосредоточен у m поставщиков А1, А2…..Am в объемах а1, а2…аm.

Данный груз необходимо доставлять n потребителям В1, В2…Вn, которые формируют заявки на груз в объемах в1, в2…вn.

Известны затраты (тарифы) на перевозку единицы груза от i-го поставщика J-му потребителю.

Сij( i=1,m , j=1,n)- затраты на перевозку.

Требуется составить такой план перевозки, при котором запасы всех поставщиков будут вывезены, заявки всех потребителей удовлетворены, а суммарные затраты на перевозку всех грузов будут минимальны.

Занесем все условия задачи в специальную транспортную таблицу

Математическая модель транспортной задачи:

Пусть Х= х11 х12… х1n

х21 х22… х2n

………………………

xm1 xm2…xmn

- это план перевозки грузов

от каждого поставщика к каждому потребителю хij≥0 (i=1,m; j=1,n)

Суммарные затраты на перевозку грузов будут составлять ∑∑сij xij.

Поскольку эти затраты нужно минимизировать, то имеем целевую функцию

F(X)= ∑∑cij xij->min

Груз, выводимый от одного поставщика, определяется суммой всех переменных по строке

∑ xij( j=1,n).

И так как весь груз должен быть выведен, то эта сумма должна равняться запасам поставщика

∑xij=ai( j=1,n) i=1,m.

Груз, направляемый одному потребителю, т.е. сумма переменных по столбцу должен полностью удовлетворять его потребностям

∑xij= bj (i=1,n)

J=1,n

Т.о. математическая модель задачи принимает вид: найти оптимальный план перевозки грузов от поставщиков к потребителям, минимизирующие затраты на перевозку

F(x)= ∑∑cij xij->min при ограничениях:

∑хij=ai(j=1,n)

∑xij=bj(i=1,m)

xij≥0

32)Открытая и закрытая модели транспортной задачи. Приведение открытой модели к закрытой.

Модель ТЗ называется закрытой(задача с правильным балансом), если суммарные запасы поставщиков совпадают с суммарным спросом потребителей.

Если данное условие не выполняется, т.е. ∑ai≠∑bj (i=1,m, j=1,n) , то модель открытая, а задача с неправильным балансом.

Открытую модель необходимо привести к закрытому виду, при этом возможно 2 случая:

1) ∑ai>∑bj (i=1,m. j=1,n) запасов больше, чем заявок. В этом случае вводят фиктивного потребителя Вn+1, который формирует спрос на груз в объеме bn+1=∑ai-∑bj( i=1,m j=1,n).

Тарифы данного потребителя считаем равными нулю.

2) ∑ai< ∑ bj( i=1, m j=1,n) спрос превышает имеющиеся запасы, в этом случае вводят фиктивного поставщика Am+1,запасы которого составляют am+1= ∑bj- ∑bi( j=1,n i=1,m).

Тарифы для данного поставщика равны нулю.

После того, как задача приведена к закрытому виду можно приступать к поиску начального опорного решения.

Построение начального опорного решения ТЗ методом наименьших тарифов.

1. Приведём задачу к закрытому виду. Заполнение начинаем с клетки с наименьшим тарифом.

2. Занесём в эту клетку максимально возможный груз, который можно направить от 1-го поставщика 1-му потребителю. X=min{a1, b1}

3. Определяем остатки запасов и заявок. Вычёркиваем из рассмотрения поставщика или потребителя с нулевыми остатками.

ЗАМЕЧАНИЕ. На каждом шаге алгоритма вычёркивать можно только одного участника. Одновременно строку и столбец вычёркивать нельзя. На свой выбор вычёркиваем. Если вычеркнут поставщик, то у потребителя ставиться ставим базисный ноль. Он участвует в дальнейшем рассмотрении груза.

4. Среди оставшихся не вычеркнутых клеток вновь находим клетку с наименьшим тарифом. И снова распределяем груз, но уже туда. Алгоритм повторяем до тех пор пока весь груз не распределим и свободных клеток не останется.

ЗАМЕЧАНИЕ. Фиктивные поставщики и потребители с тарифами=0 рассматриваются в последнюю очередь.

5. Выписываем матрицу начального решения Х1 и находим значение целевой функции.

Построение начального опорного решения ТЗ методом северо-западного угла.

1. Приведём задачу к закрытому виду. Заполнение начинаем с левого верхнего угла Трансп. Табл.

2. Занесём в эту клетку максимально возможный груз, который можно направить от 1-го поставщика 1-му потребителю. X=min{a1, b1}

3. Определяем остатки запасов и заявок. Вычёркиваем из рассмотрения поставщика или потребителя с нулевыми остатками.

ЗАМЕЧАНИЕ. На каждом шаге алгоритма вычёркивать можно только одного участника. Одновременно строку и столбец вычёркивать нельзя. На свой выбор вычёркиваем. Если вычеркнут поставщик, то у потребителя ставиться ставим базисный ноль. Он участвует в дальнейшем рассмотрении груза.

4. Среди оставшихся не вычеркнутых клеток вновь находим левую верхнюю. И снова распределяем груз, но уже туда. Алгоритм повторяем до тех пор пока весь груз не распределим и свободных клеток не останется.

5. Выписываем матрицу начального решения Х1 и находим значение целевой функции.

Наши рекомендации