
- •В. М. Готовцев, е. А. Михайлов, в. Д. Сухов
- •Введение
- •Основные принципы управления сложными системами
- •1.1. Особенности системного подхода в вопросах управления
- •1.2. Водохозяйственные системы
- •1.3. Принципы управления сложными системами
- •1.4. Иерархия управления
- •1.5. Кибернетические системы
- •Особенности управления водохозяйственными системами
- •Многоуровневая иерархическая структура водохозяйственных систем
- •2. Водохозяйственные комплексы
- •Состав и участники водохозяйственного комплекса
- •2.2. Классификация водохозяйственных комплексов
- •2.3. Технико-экономическое обоснование водохозяйственных комплексов
- •2.4. Выбор заменяющих (альтернативных) вариантов структуры вхк
- •2.5. Общая экономическая эффективность вхк
- •3. Водохозяйственный баланс – основа водообеспечения региона
- •3.1. Основные виды водохозяйственных балансов
- •3.2. Методы управления водными ресурсами в условиях дефицита
- •4. Система правового и информационно-аналитического обеспечения водного хозяйства российской федерации
- •4.1. Информационно-аналитическая система
- •Водного хозяйства
- •4.2. Цели создания (иас – Вода)
- •Водное законодательство России
- •5. Математические методы принятия управленческих решений
- •5.1. Общие понятия и определения
- •Исследования операций
- •5.2. Постановка задачи исследования операций
- •5.3. Классификация моделей исследования операций
- •6. Примеры решения задач исследования операций
- •6.1. Общая постановка задачи
- •Линейного программирования
- •6.2. Геометрический метод решения задачи линейного программирования
- •6.3. Симплексный метод решения задачи линейного программирования
- •6.4. Решение транспортной задачи распределительным методом
- •Заключение
- •Библиографический список
- •Оглавление
- •150023, Ярославль, Московский пр., 88
- •150000, Ярославль, ул. Советская, 14а Для заметок Для заметок
6.4. Решение транспортной задачи распределительным методом
Теоретические положения
Постановка транспортной задачи состоит в следующем. Имеется m поставщиков товара, каждый из которых обладает мощностью Mi (i = 1, 2, …, m), и n потребителей товара с мощностями (потребностями) Nj (j = 1, 2, …, т). Стоимости перевозок единицы груза от каждого i-го поставщика каждому j-му потребителю cij известны и называются коэффициентами затрат. Найти объемы перевозок xij для каждой пары «поставщик – потребитель» так, чтобы:
мощности всех поставщиков были реализованы;
спросы всех поставщиков удовлетворены;
суммарные затраты на перевозку были бы минимальными.
Математически требования 1) и 2) могут быть записаны:
= Mi,
i
= 1,
2,…,
m;
(15)
=
Nj,
j
= 1,
2, …, n...
(16)
Первое выражение включает в себя уравнения баланса по строкам таблицы поставок, а второе - по столбцам. Эти уравнения составляют систему ограничений задачи. Целевая (линейная) функция в общем случае имеет вид
F
=
.(17)
Математически формулировка транспортной задачи в общей постановке будет следующей: на множестве неотрицательных (допустимых) решений системы ограничений (15) и (16) найти такое решение X = (x11, x12,…, xij,…,xmn), при котором значение целевой функции (17) минимально.
Выражения (15) – (17) линейны относительно переменных, в связи с чем транспортная задача является частным случаем задачи линейного программирования. Особенности экономико-математи-ческой модели транспортной задачи состоят в следующем:
система ограничений есть система уравнений, т.е. задача задана в канонической форме;
коэффициенты при переменных системы ограничений равны единице или нулю;
каждая переменная входит в систему ограничений два раза: один раз – в систему (15) и один раз - в систему (16).
Кроме того, в рамках рассматриваемой работы рассматриваются задачи, в которых суммарная мощность поставщиков равна суммарной мощности потребителей, т.е.
=
.
Такие транспортные задачи называются закрытыми.
Являясь задачей линейного программирования, транспортная задача может быть решена симплексным методом. Модификация симплексного метода применительно к транспортной задаче называется распределительным методом.
Пример
Решить транспортную задачу распределительным методом. Исходные данные приведены в табл. 1.
Таблица 1
-
20
30
50
60
40
40
2
x11
3
x12
1
x13
4
x14
5
x15
30
1
x21
3
x22
2
x23
3
x24
3
x25
20
4
x31
3
x32
2
x33
3
x34
3
x35
60
5
x41
3
x42
2
x43
1
x44
1
x45
50
3
x51
4
x52
2
x53
5
x54
1
x55
В первом столбце таблицы приведены мощности поставщиков Mi, в первой строке - мощности потребителей Nj. В левых верхних углах каждой ячейки таблицы указаны коэффициенты затрат. Например: стоимость перевозки единицы груза от первого поставщика второму потребителю (клетка (1, 2)) составляет три денежных единицы. Задача сводится к определению значений xij для каждой пары поставщик – потребитель, удовлетворяющих требованиям (15) – (16) и обеспечивающих минимальное значение целевой функции (17).
Нахождение первоначального базисного распределения поставок. Базисным называется распределение, удовлетворяющее требованиям (15) и (16), а также содержащее определенное количество заполненных клеток таблицы. Это количество равно рангу матрицы r = m + n –1. Последнее условие определено спецификой симплексного метода, в котором количество основных переменных строго определено. В распределительном методе основными переменными являются переменные в заполненных клетках таблицы.
I шаг
Формирование первоначального базисного распределения поставок чаще всего производится методом «северо-западного угла» или методом наименьших затрат. Найдем такое распределение методом «северо-западного угла». Дадим переменной x11 максимально возможное значение, т.е. максимально возможную поставку в клетку (1, 1) – «северо-западный» угол таблицы поставок: x11 = min(40, 20) = 20. После этого спрос первого потребителя будет удовлетворен, в результате чего первый столбец таблицы поставок выпадет из последующего рассмотрения (заполненные клетки будем перечеркивать сплошной линией, а клетки, выпавшие из рассмотрения – пунктирной). Далее в таблице поставок найдем новый северо-западный угол – клетку (1, 2) в нее максимально возможную поставку. Учитывая, что первый поставщик уже отдал 20 единиц груза, поставка будет равна x12 = min (20, 30) = 20. После этого мощность первого поставщика будет полностью реализована и из рассмотрения выпадает первая строка таблицы поставок. Следуя этой схеме, производим заполнение остальных клеток таблицы. В результате получим табл. 2.
Приведенное в таблице распределение поставок является базисным. Здесь выполняются условия баланса по строкам и столбцам таблицы, а число заполненных клеток равно r = 5 + 5 – 1 = 9. Общая стоимость перевозок, т.е. значение целевой функции может быть получено как сумма по всем клеткам таблицы произведений коэффициентов ликвидности на соответствующие объемы перевозок:
F = 2×20 +3×20 + 3×10 + 2×20 +2×20 + 2×10 + 1×50 + 5×10 + 1×40 = 370.
Таблица 2
|
2 |
30 |
50 |
60 |
40 |
|
40 |
2 20 |
3 20 |
1
|
4
|
5
|
-2 |
3 |
1 |
3 1 |
2 2 |
3 |
3
|
-2 |
2 |
4 |
3 |
2 2 |
3 |
3
|
-2 |
60 |
5 |
3 |
2 1 |
1 5 |
1
|
-2 |
50 |
3
|
4
|
2
|
5 10 |
1 40 |
-6 |
|
0 |
-1 |
0 |
1 |
5 |
|
Полученное
решение может оказаться искомым
оптимальным решением задачи. В симплексном
методе факт оптимальности базисного
решения устанавливается по выражению
целевой функции через неосновные
переменные. Для приведенной таблицы
это выражение будет иметь вид F
= 370 +
xkl,
где индексы k
и l
соответствуют незаполненным клеткам
таблицы. Для определения коэффициентов
строится матрица оценок свободных
клеток таблицы перевозок. Для этого
каждой строчке и каждому столбцу таблицы
назначается некоторое число, называемое
потенциалом. Потенциалом строчки или
столбца может быть произвольное число.
Однако для каждой заполненной клетки
таблицы должно выполняться условие:
сумма потенциала
строки, потенциала столбца для данной
клетки и коэффициента затрат клетки
должна быть равна нулю.
Назначение потенциала можно начинать с любой строчки или столбца таблицы. Проиллюстрируем порядок расстановки потенциалов на примере таблицы 2. Возьмем первый столбец таблицы и назначим ему потенциал равный нулю (последняя строка таблицы). В рассматриваемом столбце имеется заполненная клетка (1, 1) с коэффициентом затрат равным 2. Для выполнения сформулированного выше условия необходимо, чтобы потенциал первой строки был равен -2 (последний столбец таблицы). Обратим внимание на то, что в строке с назначенным потенциалом находится еще одна заполненная клетка (1, 2). Найдем потенциал второго столбца равный -1 (-2 + 3 – 1 = 0). Затем по той же схеме находим потенциалы всех остальных элементов таблицы поставок.
Найдем оценки свободных клеток как сумму потенциалов строки и столбца и коэффициента затрат клетки. Например, для клетки (1, 3): 0+1 –2= -1. Аналогично для клетки (2, 5): 5 +3 – 2 = 6 и так далее. В результате получаем матрицу оценок:
B=
.
В соответствии с полученной матрицей выражение целевой функции через неосновные переменные примет вид
F = 370 - x13 + 3x11 + 8x15 - x21 - … - 4x53.
Рассматриваемая задача является задачей на определение минимума целевой функции, поэтому наличие отрицательных коэффициентов при переменных свидетельствует о возможности уменьшения значения функции путем перевода соответствующей неосновной переменной в основные. Таким образом, критерием получения оптимального решения транспортной задачи является отсутствие отрицательных элементов в матрице оценок свободных клеток.
В соответствии с этим на втором шаге решения переменную x53, оценка которой минимальна, переведем в основные. Это означает, что ее значение станет большим или равным нулю. Однако дополнительная поставка в клетку (5, 3) приведет к нарушению баланса в пятой строке и третьем столбце. Для предотвращения этого строится цикл пересчета. Циклом пересчета называют ломаную с вершинами в клетках и звеньями, лежащими вдоль строк и столбцов таблицы поставок, удовлетворяющую условиям:
ломаная должна быть связной, т.е. из любой ее вершины можно попасть в любую другую по звеньям ломаной;
в каждой вершине ломаной встречаются два звена, одно из которых располагается по строке, другое по столбцу;
одна из вершин цикла лежит в свободной клетке, остальные - в заполненных;
цикл пересчета называется означенным, если в его вершинах расставлены знаки «+» и «–» так, что в свободной клетке стоит знак «+», а соседние вершины имеют противоположные знаки.
Для каждой свободной клетки базисного распределения поставок существует и притом единственный цикл пересчета.
Построим цикл пересчета для клетки (5, 3) (рис. 4).
(4, 3) - + (4, 4)
10
50
(5, 3) + - (5, 4)
10
Рис. 4
Далее необходимо определить максимально возможный размер поставки в свободную клетку (5, 3). Для сохранения условий баланса в сточках и столбцах таблицы поставок при назначении поставки в свободную клетку необходимо изъять такую же поставку из соседних клеток, означенных «–». С учетом того, что поставка не может быть отрицательной (но может быть нулевой) получим: x53 = min (10, 10) = 10. При изъятии 10 единиц продукции из клеток (4, 3) и (5, 4) в этих клетках остаются нулевые поставки. Любая из этих клеток может быть свободной на следующем шаге решения.
Однако общее количество заполненных и свободных клеток на каждом шаге решения должно оставаться постоянным. В соответствии с этим одна из двух обозначенных клеток считается заполненной нулевой поставкой. Пусть это будет клетка (4, 3), а клетка (5, 4) останется свободной. После этого реализуем второй шаг решения задачи.
II шаг
Проведенное исследование дает возможность сформировать новое базисное распределение поставок, показанное в табл. 3.
В дальнейшем нет необходимости перечеркивать свободные клетки таблицы поставок, поэтому в них приводятся только коэффициенты затрат. Матрица оценок свободных клеток имеет вид
В
=
.
Таблица 3
|
2 |
30 |
50 |
60 |
40 |
|
40 |
2 20 |
3 20 |
1
|
4
|
5
|
-2 |
30 |
1
|
3 1 |
2 20 |
3
|
3
|
-2 |
20 |
4
|
3 |
2 2 |
3
|
3
|
-2 |
60 |
5
|
3
|
2 0 |
1 6 |
1
|
-2 |
50 |
3
|
4
|
2 10 |
5
|
1 40 |
-2 |
|
0 |
-1 |
0 |
1 |
1 |
|
Дадим поставку в клетку с отрицательной оценкой (1, 3). Цикл пересчета имеет вид:
(1, 2) - + (1, 3)
20
(2, 2) + - (2, 3)
10 20
Рис. 5
Максимально возможная поставка x13 = min (20, 20) = 20. Свободной на следующем шаге будем считать клетку (1, 2).
III шаг
Распределение поставок и значения потенциалов столбцов и строк представлены в табл. 4.
Матрица оценок свободных клеток:
В
=
.
Таблица 4
|
2 |
30 |
50 |
60 |
40 |
|
40 |
2 20 |
3
|
1 20 |
4
|
5
|
-2 |
30 |
1
|
3 3 |
2 0 |
3
|
3
|
-3 |
20 |
4
|
3 |
2 2 |
3
|
3
|
-3 |
60 |
5
|
3
|
2 0 |
1 6 |
1
|
-3 |
50 |
3
|
4
|
2 10 |
5
|
1 40 |
-3 |
|
0 |
0 |
1 |
2 |
2 |
|
Цикл пересчета для клетки (2, 1) представлен на рис. 6:
(1, 1) - + (1, 3)
20
20
(2, 1) + - (2, 3)
0
Рис. 6
Максимально возможная поставка в клетку (2,1) равна
x21 = min (20, 0) = 0.
На первый взгляд может показаться, что нулевая поставка в рассматриваемую клетку лишена смысла, т.к. не скажется на значении целевой функции. Однако в симплексном методе значение целевой функции не должно ухудшаться от одного шага к другому, т.е. вариант с неизменным значением функции не противоречит логике метода. Реализация этого шага изменяет статус клеток цикла. Заполненная клетка (2,3) становится свободной, а клетка (2,1) – заполненной нулевой поставкой. В результате этого изменяются потенциалы элементов таблицы поставок и матрица оценок свободных клеток.
IV шаг
Таблица поставок приведена в таблице 5. Матрица оценок свободных клеток для этой таблицы имеет вид
В
=
.
Таблица 5
|
2 |
30 |
50 |
60 |
40 |
|
40 |
2 20 |
3
|
1 20 |
4
|
5
|
-2 |
30 |
1 0 |
3 3 |
2
|
3
|
3
|
-1 |
20 |
4
|
3 |
2 2 |
1
|
2 |
-3 |
60 |
5
|
3
|
2 0 |
1 6 |
1
|
-3 |
50 |
3
|
4
|
2 10 |
5
|
1 40 |
-3 |
|
0 |
-2 |
1 |
2 |
2 |
|
Дадим поставку в клетку с отрицательной оценкой (3,2). Цикл пересчета для этой клетки (рис. 7).
(1, 1) - + (1, 2)
20
(2, 1) + - (2, 2)
0 30
Рис. 7
Максимально возможная поставка в клетку (1, 2):
x21 = min (20, 30) = 20.
V шаг
Распределения поставок представлено в таблице 6. Матрица оценок свободных клеток:
В
=
.
Таблица 6
|
20 |
30 |
50 |
60 |
40 |
|
40 |
2
|
3 20 |
1 20 |
4
|
5
|
-1 |
30 |
1 20 |
3 1 |
2
|
3
|
3
|
-1 |
20 |
4
|
3
|
2 2 |
1
|
2 |
-2 |
60 |
5
|
3
|
2 0 |
1 6 |
1
|
-2 |
50 |
3
|
4
|
2 10 |
5
|
1 40 |
-2 |
|
0 |
-2 |
0 |
1 |
1 |
|
Цикл пересчета для клетки (3,2) представлен на рис. 8.
(1, 2) - + (1, 3)
20
20
(3, 2) + - (3, 3)
20
Рис. 8
Максимально возможная поставка в клетку (3, 2) составит
x32 = min (20, 20) = 20.
VI шаг
Распределения поставок представлено в табл. 7. Матрица оценок свободных клеток:
В
=
.
Таблица 7
|
20 |
30 |
50 |
60 |
40 |
|
40 |
2
|
3 20 |
1 20 |
4
|
5
|
0 |
30 |
1 20 |
3 1 |
2
|
3
|
3
|
-1 |
20 |
4
|
3
|
2 2 |
1
|
2 |
-1 |
60 |
5
|
3
|
2 0 |
1 6 |
1
|
-1 |
50 |
3
|
4
|
2 10 |
5
|
1 40 |
-1 |
|
0 |
-2 |
-1 |
0 |
0 |
|
Полученная матрица не содержит отрицательных элементов, что свидетельствует об оптимальности последнего базисного распределения поставок. Вычислим значение целевой функции для этого распределения:
F = 1×20 + 3×10 + 3×20 + 1×40 + 2×10 + 1×60 + 1×40 = 270.
Последнее решение является оптимальным решением транспортной задачи.
Приведенные примеры задач на определение оптимального решения в задачах принятия управленческих решений являются типичными в теории управления.
Контрольные вопросы
Область применения симплексного метода линейного программирования?
Что называется оптимальным решением задачи по определению состава водохозяйственного комплекса?
Что такое целевая функция? Как найти значение ее максимума?
Что такое транспортная задача и каковы основные методы ее решения?