![](/user_photo/_userpic.png)
Математические основы теории систем. Методы оптимизации
.pdfПотребность ј-го потребителя в продукции aj (j = 1...n). Содержимое i-го склада bi (i = 1...m).
Стоимость перевозки единицы продукции с i –го склада к j-му потребителю рij.
Составить такой план перевозок, при котором суммарная стоимость перевозок минимальна.
2.8.2. Математическое описание задачи
Обозначение:
xij – количество продукции, поставляемой с i-го склада к j-му потребителю.
Ограничения:
x11 + x12 + ... + x1n = b1, |
ограничения на содержимое складов (2.21) |
|
... |
||
|
|
|
xm1 + xm2 + ... + xmn = bm . |
|
|
x11 + x21 + ... + xm1 = a1, ограничения на потребности |
(2.22) |
|
... |
ограничениянапотребности |
|
|
потребителей |
|
= an . |
|
|
x1n + x2n + ... + xmn |
|
|
Всего (m+n) ограничений-равенств. |
|
|
Целевая функция: |
|
|
Q = p11x11 + p12 x12 + ... + p1n x1n + ... + pm1xm1 + ... + pmn xmn → min. |
(2.23) |
Специфика транспортной задачи: единичные коэффициенты при переменных.
Транспортная задача называется сбалансированной, если сумма потребностей потребителей равна сумме содержимого складов:
a1 + a2 + ... + an = b1 + b2 + bm . |
(2.24) |
Если равенство не выполняется, то задача считается несбалансированной и сводится к сбалансированной путем введения фиктивных потребителей с P ij = 0.
51
![](/html/65386/197/html_Ra_b8DVXCZ.HQIV/htmlconvd-dBE6K452x1.jpg)
2.8.3. Транспортная таблица
Это таблица, в которую заносится допустимый план перевозок (план, удовлетворяющий ограничениям). Элемент Xij транспортной таблицы – количество продукции, завезенной с i-го склада к j-му потребителю. Таблица имеет следующий вид:
|
a1 |
a2 |
... |
an |
b1 |
x11 |
x12 |
... |
x1n |
b2 |
x21 |
x22 |
... |
x2n |
... |
... |
... |
... |
... |
|
|
|
|
|
bm |
xm1 |
xm2 |
... |
xmn |
Сумма элементов i-й строки равна bi, сумма элементов j-го столбца равна aj.
2.8.4. Таблица издержек
Это таблица, содержимое которой – pij – стоимость перевозки единицы продукции с i-го склада к j-му потребителю. Имеет вид:
|
1 |
2 |
... |
n |
|
|
|
|
|
1 |
p11 |
p12 |
... |
p1n |
2 |
p21 |
p22 |
... |
p2n |
... |
... |
... |
... |
... |
|
|
|
|
|
m |
pm1 |
pm2 |
... |
pmn |
2.8.5. Метод «северо-западного» угла
Это последовательность операций, позволяющая найти начальный допустимый план перевозок.
Дано: незаполненная транспортная таблица.
Определить: допустимый план перевозок, т.е. заполнить транспортную таблицу.
52
![](/html/65386/197/html_Ra_b8DVXCZ.HQIV/htmlconvd-dBE6K453x1.jpg)
Алгоритм:
Сравниваются а1 иb1. Меньшеезначение записывается вклетку x11. Находится разность a1– x11, b1–x11. Полученные значения записы-
ваются соответственно над a1 и b1.
Строка (столбец), в которой окажется 0, вычеркивается. Переход к заполнению следующей клетки транспортной табли-
цы. Повторение пп. 1– 3.
Окончание процесса, когда над всеми коэффициентами ai и bj окажутся 0.
В результате должны оказаться заполненными (m + n – 1) клеток.
Пример
a1 = 10, a2 = 20, a3 = 30, a4 = 45;
b1 = 25, b2 = 45, b3 = 35.
Найти начальный допустимый план перевозок. Незаполненная транспортная таблица примет вид:
10 |
20 |
30 |
45 |
|
|
|
|
25
45
35
Решение:
1.Сравниваются a1 и b1: 10 < 25, значит, x11=10.
2.a1 – x11 = 10 – 10 = 0, b1– x11 = 25 – 10 = 15. 0 записывается над a1, т.е. над 10, 15 – над b1, т.е. над 25.
3.Оставшиеся клетки в столбце с a1 = 10 вычеркиваются.
4.Переход к заполнению следующей клетки таблицы, т.е. к x12. Сравниваются a2 и b1 – x11 (то, что осталось от b1), т.е. 15 и 20. Выбирается меньшее, т.е. 15. В этом случае x11 = 15. В соответствующую клетку таблицы заносится 15.
5.Процесс заканчивается, когда рядом со всеми коэффициента-
ми ai и bi будут стоять нули.
Заполненная транспортная таблица с начальным допустимым планом перевозок имеет вид:
53
![](/html/65386/197/html_Ra_b8DVXCZ.HQIV/htmlconvd-dBE6K454x1.jpg)
2.8.6.Алгоритм решения транспортной задачи
1.Методом «северо-западного» угла (или каким-либо другим) находится допустимый начальный план перевозок. Заполняются транспортная таблица и таблица издержек.
2.Полученный план проверяется на оптимальность.
2.1.В таблицу задачи переносятся соответствующие значения из транспортной таблицы.
2.2.Находится ui и vj из равенства ui + vj = pij. Полученные значения заносятся в соответствующую строку и столбец.
2.3.Заполняются пустые клетки таблицы задачи. В них заносятся значения qij:
qij = pij – ui – vj.
2.4.Проводится анализ полученной таблицы задачи. Если все коэффициенты таблицы неотрицательны, то план перевозок, зафиксированный в транспортной таблице, оптимален. В противном случае переход к следующему пункту.
3.Улучшение полученного плана.
3.1.В таблице задачи находится клетка с наибольшим по модулю отрицательным коэффициентом. В соответствующей клетке транспортной таблицы ставится знак «+».
3.2.В заполненных клетках транспортной таблицы ставятся знаки «+» и «–» таким образом, что во всех строках и столбцах количество плюсов равно количеству минусов.
54
![](/html/65386/197/html_Ra_b8DVXCZ.HQIV/htmlconvd-dBE6K455x1.jpg)
3.3.Анализируется содержимое клеток, помеченных знаком «–». Из анализируемых значений выбирается минимальное. Пусть минимальное значение F.
3.4.Содержимое помеченных клеток изменяется на величину F. Причем содержимое клеток с «–» уменьшается на F, а с «+» – увеличивается на F.
3.5.Переход к п. 2.
Пример 1
Дано: транспортная задача задана транспортной таблицей с начальным планом и таблицей издержек:
Транспортная таблица:
|
|
10 |
20 |
30 |
45 |
|
|
|
|
|
|
|
25 |
10 |
15 |
|
|
|
|
|
|
|
|
|
45 |
|
5 |
30 |
10 |
|
|
|
|
|
|
|
35 |
|
|
|
35 |
|
|
|
|
|
|
Таблица издержек: |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
3 |
4 |
|
|
|
|
|
|
|
1 |
2 |
3 |
4 |
3 |
|
|
|
|
|
|
|
2 |
1 |
2 |
4 |
1 |
|
|
|
|
|
|
|
3 |
3 |
2 |
2 |
5 |
|
|
|
|
|
|
Решение:
1. Составляется таблица задачи. Для этого берется таблица такой же размерности, что и транспортная таблица. В этой таблице отмечаются занятые клетки транспортной таблицы. Затем в отмеченные клетки переносится содержимое соответствующихклетоктаблицыиздержек:
|
|
u1 |
u2 |
u3 |
u4 |
|
|
1 |
2 |
3 |
4 |
|
|
|
|
|
|
v1 |
1 |
2 |
3 |
|
|
v2 |
2 |
|
2 |
4 |
1 |
v3 |
3 |
|
|
|
5 |
55
![](/html/65386/197/html_Ra_b8DVXCZ.HQIV/htmlconvd-dBE6K456x1.jpg)
2. Находятся значения vi, ui из уравнений:
u1 + v1 = 2, |
u3 + v2 = 4, |
u2 + v1 = 3, |
u4 + v2 = 1, |
u2 + v2 = 2, |
u4 + v3 = 5. |
Здесь 7 неизвестных и 6 равенств. Следовательно, система имеет множество решений. Одно из этих решений находится следующим образом. В нижнюю правую клетку заносится ноль. Остальные неизвестные находятся из соответствующих уравнений. В итоге таблица задачи примет вид:
|
1 |
2 |
3 |
4 |
vj |
|
|
|
|
|
|
1 |
2 |
3 |
|
|
2 |
|
|
|
|
|
|
2 |
|
2 |
4 |
1 |
1 |
|
|
|
|
|
|
3 |
|
|
|
5 |
5 |
|
|
|
|
|
|
ui |
0 |
1 |
3 |
0 |
|
3. Пустые клетки таблицы заполняются по приведенной выше формуле. Например, содержимое клетки Q13 находится как разность содержимого соответствующей клетки таблицы издержек 4 и u3, v1:
Q13 = p13 – u3 – v1 = 4 –3 –2 = –1.
В итоге таблица задачи принимает вид:
|
1 |
2 |
3 |
4 |
vj |
1 |
2 |
3 |
–1 |
1 |
2 |
|
|
|
|
|
|
2 |
0 |
2 |
4 |
1 |
1 |
|
|
|
|
|
|
3 |
–2 |
–4 |
–6 |
5 |
5 |
|
|
|
|
|
|
ui |
0 |
1 |
3 |
0 |
|
4. Анализ полученной таблицы задачи. В таблице имеется отрицательный коэффициент, следовательно, план перевозок, представленный транспортной таблицей, не является оптимальным.
56
![](/html/65386/197/html_Ra_b8DVXCZ.HQIV/htmlconvd-dBE6K457x1.jpg)
5. Улучшение полученного плана.
5.1. В таблице задачи находится клетка с максимальным по модулю отрицательным коэффициентом. Это Q33 = –6. В соответствующей клетке (синдексом «33») транспортной таблицыставится знак«+».
5.2. В соответствии с п. 3.2 алгоритма проставляются знаки «+» и «–» в заполненных клетках транспортной таблицы
|
10 |
20 |
30 |
45 |
|
|
|
|
|
25 |
10 |
15 |
|
|
|
|
|
|
|
45 |
|
5 |
30 – |
10+ |
|
|
|
|
|
35 |
|
|
+ |
35 – |
|
|
|
|
|
5.3. Сравнивается содержимое клеток, помеченных знаком «–». Выбирается минимальное F = 30.
5.4. Содержимое помеченных клеток транспортной таблицы изменяется на величину F = 30.
|
10 |
20 |
30 |
45 |
|
|
|
|
|
25 |
10 |
15 |
|
|
|
|
|
|
|
45 |
|
5 |
|
40 |
|
|
|
|
|
35 |
|
|
30 |
5 |
|
|
|
|
|
Целевая функция для данного плана Q = 200. 6. Повторение предыдущих пунктов алгоритма. 6.1.
|
1 |
2 |
3 |
4 |
vj |
1 |
2 |
3 |
5 |
1 |
2 |
2 |
0 |
2 |
6 |
1 |
1 |
|
|
|
|
|
|
3 |
–2 |
–4 |
2 |
5 |
5 |
|
|
|
|
|
|
ui |
0 |
1 |
–3 |
0 |
|
6.2.
|
10 |
20 |
30 |
45 |
|
|
|
|
|
25 |
10 |
15 |
|
|
|
|
|
|
|
45 |
|
5 – |
|
40 + |
|
|
|
|
|
35 |
|
+ |
30 |
5 – |
|
|
|
|
|
57
![](/html/65386/197/html_Ra_b8DVXCZ.HQIV/htmlconvd-dBE6K458x1.jpg)
6.3.
|
10 |
20 |
30 |
45 |
|
|
|
|
|
25 |
10 |
15 |
|
|
|
|
|
|
|
45 |
|
0 |
|
45 |
|
|
|
|
|
35 |
|
5 |
30 |
180 |
|
|
|
|
|
6.4.
|
1 |
2 |
3 |
4 |
vj |
1 |
2 |
3 |
1 |
1 |
2 |
|
|
|
|
|
|
2 |
0 |
2 |
2 |
1 |
1 |
|
|
|
|
|
|
3 |
2 |
2 |
2 |
4 |
1 |
|
|
|
|
|
|
ui |
0 |
1 |
1 |
0 |
|
В таблице задачи отсутствуют отрицательные коэффициенты. Следовательно, план, представленный в последней транспортной таблице, является оптимальным.
Ответ:
Х11 = 10; Х12 =15; Х24 = 45; Х32 = 5; Х33 = 30;
Х13 = Х14 = Х21 = Х22= Х23 = Х31 = Х34 = 0.
Целевая функция Q = 180.
Пример 2
Имеется печатная плата с тремя разъемами: 48, 40, 56 выводов соответственно; 1, 2, 3, 4 – микросхемы, имеющие 18,13,14,17 выводов соответственно.
Определить оптимальное число связей каждой микросхемы с каждым разъемом. Критерий оптимизации – минимальная суммарная длина связей. Для получения сбалансированной задачи вводится 5-я микросхема с 14 выводами и pij = 0.
58
![](/html/65386/197/html_Ra_b8DVXCZ.HQIV/htmlconvd-dBE6K459x1.jpg)
Рис. 2.5. Печатная плата
Решение 1. Составляем таблицу издержек:
|
1 |
2 |
3 |
4 |
5 |
|
|
|
|
|
|
1 |
2 |
3 |
5 |
10 |
0 |
|
|
|
|
|
|
2 |
6 |
3 |
2 |
4 |
0 |
|
|
|
|
|
|
3 |
10 |
7 |
7 |
3 |
0 |
|
|
|
|
|
|
где Pij – число связей i-го разъема с j-й микросхемой.
|
2. Методом «северо-западного» угла находим допустимый план: |
||||||||||
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
0 |
18 |
26 |
0 |
0 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
42 |
48 |
16 |
14 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
24 |
48 |
24 |
24 |
|
|
|
|
||
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
22 |
40 |
|
|
18 |
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
14 |
30 |
56 |
|
|
|
|
26 |
16 |
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
3. Составляется таблица задачи. Для этого берется таблица такой же размерности, что и транспортная таблица. В этой таблице отмечаются занятые клетки транспортной таблицы. Затем в отмеченные клетки переносится содержимое соответствующих клеток таблицы издержек:
Пустые клетки таблицы заполняются по формуле qij = pi – ui – vj.
|
1 |
2 |
3 |
4 |
5 |
vi |
1 |
2 |
3 |
3 |
12 |
5 |
–5 |
|
|
|
|
|
|
|
2 |
4 |
3 |
2 |
6 |
5 |
–5 |
|
|
|
|
|
|
|
3 |
3 |
–1 |
7 |
3 |
0 |
0 |
|
|
|
|
|
|
|
ui |
7 |
8 |
7 |
3 |
0 |
|
4.Анализ полученной таблицы задачи. В таблице имеется отрицательный коэффициент, следовательно, решение не является оптимальным.
5.Улучшение полученного плана.
5.1.В таблице задачи находится клетка с максимальным по мо-
дулю отрицательным коэффициентом. Это Q32 = –1. В соответствующей клетке (с индексом «32») транспортной таблицы ставится знак «+».
5.2.В соответствии с п.3.2. алгоритма проставляются знаки «+»
и«–» в заполненных клетках транспортной таблицы
5.3.Сравнивается содержимое клеток транспортной таблицы, помеченных знаком «–». Выбирается минимальное F = 18.
5.4.Содержимое помеченных клеток транспортной таблицы изменяется на величину F = 18.
6. Составляем таблицу задач:
|
1 |
2 |
3 |
4 |
5 |
uj |
1 |
2 |
3 |
3 |
6 |
0 |
0 |
|
|
|
|
|
|
|
2 |
4 |
0 |
2 |
0 |
0 |
0 |
|
|
|
|
|
|
|
3 |
8 |
3 |
2 |
4 |
0 |
0 |
|
|
|
|
|
|
|
vi |
2 |
3 |
2 |
4 |
0 |
446 |
60