
- •«Оптимизация переналадки автоматической линии»
- •Новочеркасск 2012 Содержание
- •Введение
- •1 Постановка задачи
- •1.1 Качественное описание исследуемой операции
- •1.2 Концептуальная модель операции
- •Математическая постановка задачи
- •2 Алгоритмизация решения задачи
- •2.1 Анализ методов решения задачи
- •2.2 Описание метода ветвей и границ
- •К этой матрице применяется процедура приведения, и значение суммы приводящих констант равно н . В результате получается матрица с .
- •2.3 Описание метода прямого перебора
- •2.4 Проектирование сценария диалога
- •2.4 Описание структур данных
- •2.5 Описание разработанной программной системы
- •3 Численные эксперименты
- •3.1 Ручная реализация алгоритма решения задачи с помощью алгоритма Литла
- •3.2 Ручная реализация алгоритма решения задачи с помощью метода полного перебора
- •2 Случай
- •3.3 Машинные эксперименты с разработанной программой
- •Заключение
- •Список литературы
- •Приложение а Листинг программы
2.2 Описание метода ветвей и границ
Решение задачи предварительный этап и итерации.
Предварительный этап.
На предварительном этапе происходит переход от матрицы С к матрице С0 – характеризующуюся тем что в каждой строке и в каждом столбце существует нулевое значение, эти элементы являются претендентами включения в оптимальный маршрут, для получения матрицы С0 выполняют следующие шаги:
Шаг 1. В каждой i-й строке матрицы С находят минимальный элемент hi = min cij и
j
образуют ||c’ij||, у которой c’ij = cij - hi, таким образом, в каждой строке присутствует хотя бы один нулевой элемент.
Шаг 2. В матрице C' для каждого столбца находят минимальный элемент, и происходит переход к матрице ||C0|| => cij=c’ij-hj. Константы hi, hj называют константами приведения.
Шаг 3. Вычисляется сумма констант
приведения Hо =
.
Процесс перехода от матрицы С к
матрице C0 называют
процессом приведения.
Этап 1.
На этом этапе формируется исходное
множество Gо и находиться
матрица Со, нижняя оценка
(Gо) и два подмножества Р
и
.
Шаг 1. Исходное множество Gо или множество решений задачи коммивояжера представляет собой множества всех возможных решений, перестановок из n чисел. Общее количество таких перестановок равно n!. В качестве характеристики используют матрицу C0, которая была получена на предварительном этапе при реализации процедуры приведения.
Шаг 2. Вычисляется нижняя оценка исходное множество Gо. Она равна сумме
приводящих констант: (Gо)= Hо = . Если из нулевых элементов матрицы Со можно сформировать замкнутый маршрут, то его длинна совпадает с суммой приводящих констант, а элементы, входящие в этот маршрут, образуют оптимальное решение.
Шаг 3. Исходное множество G0
делится на два непересекающихся
подмножества G
и G
(рис.1.). Подмножество G
содержит все маршруты с переходом из
r-го города в m-й,
а подмножества G
-
все остальные переходы. Пара (r,
m) называется перспективной.
__
(r, m) (r, m)
рис. 1. Деление исходного множества
Концепция выбора перспективной пары:
Шаг 1. Длина непосредственного перехода между городами, входящими в перспективную пару, должна быть минимальной, т.е. элемент с`о (r, m) = 0;
Шаг 2. Длина опосредованного пути стремится к максимуму. Опосредованный путь между r и m – путь проходящий из r в m через другие города.
Этап 2.
На втором этапе определяется характеристики подмножества G2 , а именно матрица С , и нижняя оценка подмножества G ,
Шаг 1. Подмножество G содержит все перестановки, в которых отсутствует переход (r,m) очевидно, что матрица C должна отображать это свойство подмножества. C - получается путем преобразования C0, для этого элемент с координатами r, m приравнивают к бесконечности.
К этой матрице применяется процедура приведения, и значение суммы приводящих констант равно н . В результате получается матрица с .
Шаг 2. Определяется нижняя оценка множества G , ( G ) = (Go) + H = (Go) + (r, m).
Этап 3.
Определение характеристики множества G , матрица C и нижняя оценка.
Шаг 1. Для получения матрицы С необходимо:
1) В матрице Со вычеркнуть r-ю строку и m-й столбец. Вычеркивание r-й строки означает, что коммивояжер больше не должен выезжать из r-го города не в какой другой город, а вычеркивание m-го столбца указывает на то, что коммивояжер не должен выезжать в m-й город не из какого другого города;
2) Необходимо элемент с координатами (m,r) приравнять к бесконечности для исключения образования локальных циклов типа (r,m,r). В дальнейшем такие замкнутые подциклы называются короткими.
В результате этих преобразований получаем матрицу в результате преобразований получается матрица C =||c (i, j) ||, для получения окончательной матрицы необходимо выполнить процедуру приведения.
Шаг 2. Вычисляется нижняя оценка множества G , ξ (G )= ξ (G0) + H .
Этап 4.
На этом этапе происходит сравнение
нижних оценок конкурирующих между собой
подмножеств G
и G
,
в качестве перспективного выбирается
подмножество, имеющее минимальную
нижнюю оценку. После этого выполняется
переход на первую итерацию, состоящую
в том, что выбранное перспективное
подмножество, например G
,
(рис. 1.3) делиться на два непересекающихся
подмножества G
и G
.
В качестве конкурирующих рассматривается
как вновь образованные, так и ранее
отброшенные на предыдущем этапе, как
неперспективное подмножество G
.
Все конкурирующие подмножества
переобозначаются, как G
,
G
и G
.
(Gо),
Co
___
(r1, m1) (r1, m1) Перспективное
подмножество
(G
),
C
(G ), C ____
(r2, m2) (r2, m2)
G G