- •Стадии построения имитационной модели
- •Формулировка транспортной задачи
- •Требуется определить, какое количество груза xij необходимо перевезти из каждого I-го пункта отправления в каждый j-й пункт назначения, при выполнении следующих условий:
- •Решение транспортной задачи
- •Целевая функция. Стоимость всех перевозок определяется как сумма произведений стоимости перевозок единицы товара на количество перевозимого по маршруту груза:
- •Построение опорного плана
- •Алгоритм метода аппроксимации Фогеля
- •Алгоритм метода потенциалов
Целевая функция. Стоимость всех перевозок определяется как сумма произведений стоимости перевозок единицы товара на количество перевозимого по маршруту груза:
Y
= c11x11
+ c12x12
+ … + cijxij
+ … + cmnxmn,
т.е. Y
=
.
Если перевозка по данному маршруту не определена, то xij=0.
Критерием оптимизации являются минимальные затраты на доставку всего груза потребителю, т.е. Y min. Задача сводится к нахождению таких xij, которые удовлетворяют ограничениям задачи и минимизируют суммарные затраты Y. В матричной форме данная задача представлена на рис. 2. В крайнем правом столбце и нижней строке матрицы записаны ресурсы соответствующих поставщиков и потребителей, а в клетках проставляется стоимость перевозки грузов.
|
|
|
|
B |
|
|
a |
|
|
|
B1 |
B2 |
|
Bj |
... |
Bn |
|
|
A1 |
c11 |
c12 |
... |
c1j |
... |
c1n |
a1 |
|
A2 |
c21 |
c22 |
... |
c2j |
... |
c2n |
a2 |
A |
... |
... |
... |
... |
... |
... |
... |
... |
|
Ai |
ci1 |
ci2 |
... |
cij |
... |
cin |
ai |
|
... |
... |
... |
... |
... |
... |
... |
... |
|
Am |
cm1 |
cm2 |
... |
cmj |
... |
cmn |
am |
b |
|
b1 |
b2 |
... |
bj |
... |
bn |
|
Рис. 2. Представление транспортной задачи в матричной форме
Методика решения транспортной задачи
Задачи имитационного моделирования решаются итерационными методами (методами приближений). Исследование и решение транспортной задачи, как правило, проводят в два этапа.
1. Построение опорного плана. Находят произвольное решение, хотя бы и неудачное.
2. Нахождение оптимального плана. Производится последовательное улучшение опорного плана по определенным правилам до тех пор, пока дальнейшее улучшение станет невозможным (итерационный процесс).
Построение опорного плана
Одним из наиболее эффективных методов построения опорного плана является метод аппроксимации Фогеля, в основе которого лежит концепция штрафов, взимаемых за выбор неоптимального с точки зрения транспортных издержек и маршрута.
Алгоритм метода аппроксимации Фогеля
Вычисление разностей в каждой строке и каждом столбце матрицы между наименьшей стоимостью и ближайшей к ней по величине. Разности по строкам записываются справа в столбце разностей, разности по столбцам ‑ внизу в строке разностей.
Поиск максимальной из всех разностей, как по строкам, так и по столбцам (максимальная разность обводится рамкой).
Размещение в клетке, где находится наименьшая стоимость перемещения ресурсов для помеченной строки или столбца, максимально возможного количества ресурсов.
Когда все ресурсы отправителя в данной строке будут исчерпаны, строка исключается из дальнейших расчетов (во все клетки данной строки заносится прочерк).
Вычисление разностей по столбцам и строкам, без учета стоимости в клетках, имеющих ресурсы, и в клетках исключенных строк или столбцов, и определение максимальной разности в строке и столбце.
Поиск минимального элемента в строке или в столбце с максимальной разностью, размещение в данной клетке максимально возможного количества ресурса, после чего возвращение к пункту 4, пока не будут распределены все ресурсы.
Вычисление целевой функции опорного плана
Рассмотрим пример решения транспортной задачи для четырех поставщиков и четырех потребителей товара. Исходные данные транспортной задачи могут быть представлены в форме графа и матрицы (рис. 3 и 4).
Рис. 3. Исходные данные транспортной задачи в форме графа
|
|
B |
a |
|||
|
|
B1 |
B2 |
B3 |
B4 |
|
|
A1 |
70 |
38 |
24 |
92 |
14 |
A |
A2 |
58 |
18 |
56 |
72 |
20 |
|
A3 |
19 |
10 |
100 |
30 |
26 |
|
A4 |
3 |
36 |
121 |
8 |
41 |
b |
|
30 |
22 |
15 |
34 |
|
Рис. 4. Исходные данные транспортной задачи в форме матрицы
Построим опорный план методом Фогеля (рис. 5).
|
|
B |
a |
|
||||||||
|
|
B1 (v1) |
B2 (v2) |
B3 (v3) |
B4 (v4) |
|
Столбцы разностей по строкам |
|||||
|
A1 (u1) |
70 * |
38 * |
24 14 |
92 * |
14 |
14 |
14 |
‑ |
‑ |
‑ |
‑ |
A |
A2 (u2) |
58 * |
18 20 |
56 * |
72 * |
20 |
38 |
‑ |
‑ |
‑ |
‑ |
‑ |
|
A3 (u3) |
19 23 |
10 2 |
100 1 |
30 * |
26 |
9 |
9 |
9 |
11 |
81 |
81 |
|
A4 (u4) |
3 7 |
36 * |
121 * |
8 34 |
41 |
5 |
5 |
5 |
5 |
118 |
‑ |
b |
|
30 |
22 |
15 |
34 |
|
|
|
|
|
|
|
|
|
16 |
8 |
32 |
22 |
ШАГ 1 |
|
|
|
|
|
|
|
|
16 |
26 |
76 |
22 |
ШАГ 2 |
|
|
|
|
||
|
|
16 |
26 |
21 |
22 |
ШАГ 3 |
|
|
|
|||
|
|
16 |
‑ |
21 |
22 |
ШАГ 4 |
|
|
||||
|
|
16 |
‑ |
21 |
‑ |
ШАГ 5 |
|
|||||
|
|
x |
‑ |
x |
‑ |
ШАГ 6 |
||||||
|
|
Строки разностей по столбцам |
|
|||||||||
Рис. 5. Опорный план перевозок
В результате имеем следующий план перевозок:
-
Поставщик
Потребитель
Кол-во единиц груза
A1
B3
14
A2
B2
20
A3
B1
23
A3
B2
2
A3
B3
1
A4
B1
7
A4
B4
34
Вычисление целевой функции опорного плана. Суммарные приведенные затраты на перевозку всего груза составляют:
Y0 c13x13 c22x22 c31x31 c32x32 c41x41 c44x44 = = 1546 (усл. ед.).
Здесь и далее Yi обозначает, что значение целевой функции относится к i-му шагу оптимизации. Опорный план ‑ Y0.
В настоящее время существует несколько методов последовательного улучшения опорного плана, например распределительный метод, метод потенциалов и т.д. Основой алгоритмов этих методов является критерий оптимальности ij cij zij , где cij – затраты, связанные с доставкой одной единицы ресурса из i-го в j-й пункт; zij – расчетные затраты, связанные с доставкой одной единицы ресурса из i-го в j-й пункт, для тех клеток опорного плана, ресурсы в которые не распределены.
Если все δij > 0, то данный план является оптимальным, если нет, то требуется его улучшение.
