Автор работы: Пользователь скрыл имя, 21 Января 2012 в 11:50, контрольная работа
На территории города имеется три телефонных станции А, Б и В. Незадействованные емкости станций составляют на станции А - QА, Б - QБ, В - QВ номеров (таблица 1.1). Потребности новых районов застройки города в телефонах составляют: 1 - q1, 2 - q2, 3 - q3, 4 - q4 номеров (таблица 1.2).
Необходимо составить экономико-математическую модель задачи и с помощью распределительного или модифицированного метода линейного программирования найти вариант распределения емкостей телефонных станций между районами новой застройки, который обеспечивал бы минимальные затраты как на строительство, так и на эксплуатацию линейных сооружений телефонной сети. Естественно, что таким вариантом при прочих равных условиях будет такое распределение емкости, при котором общая протяженность абонентских линий будет минимальной.
После
вычитания минимальных
i j | 1 | 2 | 3 | 4 | 5 | 6 |
1 | M | 2 | 8 | 6 | 0 | 0 |
2 | 5 | M | 0 | 20 | 1 | 12 |
3 | 6 | 0 | M | 0 | 1 | 5 |
4 | 0 | 11 | 1 | M | 5 | 0 |
5 | 0 | 2 | 2 | 10 | M | 4 |
6 | 0 | 7 | 7 | 5 | 1 | M |
Сумма констант приведения определяет нижнюю границу H:
H = ∑di + ∑dj
H = 4+4+5+9+4+5+0+2+0+0+1+0 = 34
Элементы матрицы dij соответствуют расстоянию от пункта i до пункта j.
Поскольку в матрице n городов, то D является матрицей nxn с неотрицательными элементами dij >=0
Каждый допустимый маршрут представляет собой цикл, по которому коммивояжер посещает город только один раз и возвращается в исходный город.
Длина маршрута определяется выражением:
F(Mk) = ∑dij
Причем каждая строка и столбец входят в маршрут только один раз с элементом dij .
Шаг №1.
Определяем ребро ветвления и разобьем все множество маршрутов относительно этого ребра на два подмножества (i,j) и (i*,j*).
С этой целью для всех клеток матрицы с нулевыми элементами заменяем поочередно нули на М(бесконечность) и определяем для них сумму образовавшихся констант приведения, они приведены в скобках.
i j | 1 | 2 | 3 | 4 | 5 | 6 | di |
1 | M | 2 | 8 | 6 | 0(1) | 0(0) | 0 |
2 | 5 | M | 0(2) | 20 | 1 | 12 | 1 |
3 | 6 | 0(2) | M | 0(5) | 1 | 5 | 0 |
4 | 0(0) | 11 | 1 | M | 5 | 0(0) | 0 |
5 | 0(2) | 2 | 2 | 10 | M | 4 | 2 |
6 | 0(1) | 7 | 7 | 5 | 1 | M | 1 |
dj | 0 | 2 | 1 | 5 | 1 | 0 | 0 |
d(1,5) = 0 + 1 = 1; d(1,6) = 0 + 0 = 0; d(2,3) = 1 + 1 = 2; d(3,2) = 0 + 2 = 2; d(3,4) = 0 + 5 = 5; d(4,1) = 0 + 0 = 0; d(4,6) = 0 + 0 = 0; d(5,1) = 2 + 0 = 2; d(6,1) = 1 + 0 = 1;
Наибольшая сумма констант приведения равна (0 + 5) = 5 для ребра (3,4), следовательно, множество разбивается на два подмножества (3,4) и (3*,4*).
Нижняя граница гамильтоновых циклов этого подмножества:
H(3*,4*) = 34 + 5 = 39
Исключение ребра (3,4) проводим путем замены элемента d34 = 0 на M, после чего осуществляем очередное приведение матрицы расстояний для образовавшегося подмножества (3*,4*), в результате получим редуцированную матрицу.
i j | 1 | 2 | 3 | 4 | 5 | 6 | di |
1 | M | 2 | 8 | 6 | 0 | 0 | 0 |
2 | 5 | M | 0 | 20 | 1 | 12 | 0 |
3 | 6 | 0 | M | M | 1 | 5 | 0 |
4 | 0 | 11 | 1 | M | 5 | 0 | 0 |
5 | 0 | 2 | 2 | 10 | M | 4 | 0 |
6 | 0 | 7 | 7 | 5 | 1 | M | 0 |
dj | 0 | 0 | 0 | 5 | 0 | 0 | 5 |
Включение ребра (3,4) проводится путем исключения всех элементов 3-ой строки и 4-го столбца, в которой элемент d43 заменяем на М, для исключения образования негамильтонова цикла.
В результате получим другую сокращенную матрицу (5 x 5), которая подлежит операции приведения.
Сумма констант приведения сокращенной матрицы:
∑di + ∑dj = 2
После операции приведения сокращенная матрица будет иметь вид:
i j | 1 | 2 | 3 | 5 | 6 | di |
1 | M | 2 | 8 | 0 | 0 | 0 |
2 | 5 | M | 0 | 1 | 12 | 0 |
4 | 0 | 11 | M | 5 | 0 | 0 |
5 | 0 | 2 | 2 | M | 4 | 0 |
6 | 0 | 7 | 7 | 1 | M | 0 |
dj | 0 | 2 | 0 | 0 | 0 | 2 |
Нижняя граница подмножества (3,4) равна:
H(3,4) = 34 + 2 = 36 < 39
Поскольку нижняя граница этого подмножества (3,4) меньше, чем подмножества (3*,4*), то ребро (3,4) включаем в маршрут.
Шаг №2.
Определяем ребро ветвления и разобьем все множество маршрутов относительно этого ребра на два подмножества (i,j) и (i*,j*).
С этой целью для всех клеток матрицы с нулевыми элементами заменяем поочередно нули на М(бесконечность) и определяем для них сумму образовавшихся констант приведения, они приведены в скобках.
i j | 1 | 2 | 3 | 5 | 6 | di |
1 | M | 0(0) | 8 | 0(1) | 0(0) | 0 |
2 | 5 | M | 0(3) | 1 | 12 | 1 |
4 | 0(0) | 9 | M | 5 | 0(0) | 0 |
5 | 0(0) | 0(0) | 2 | M | 4 | 0 |
6 | 0(1) | 5 | 7 | 1 | M | 1 |
dj | 0 | 0 | 2 | 1 | 0 | 0 |
d(1,2) = 0 + 0 = 0; d(1,5) = 0 + 1 = 1; d(1,6) = 0 + 0 = 0; d(2,3) = 1 + 2 = 3; d(4,1) = 0 + 0 = 0; d(4,6) = 0 + 0 = 0; d(5,1) = 0 + 0 = 0; d(5,2) = 0 + 0 = 0; d(6,1) = 1 + 0 = 1;
Наибольшая сумма констант приведения равна (1 + 2) = 3 для ребра (2,3), следовательно, множество разбивается на два подмножества (2,3) и (2*,3*).
Нижняя граница гамильтоновых циклов этого подмножества:
Информация о работе Экономико-математические методы и модели в отрасли связи