Вопрос 9: Итерационные методы размещения элементов.
Алгоритм перестановок.
Необходимо некое начальное решение задачи.
- Выбор элементов, учавствующих в перестановке.
- Пробная перестановка и расчёт критерия.
- Выбор лучшего варианта и перестановка.
- Переход к следующей итерации или остановка.
- подмножество элементов, имеющих общие рёбра с или
- длина общих сеодинений
- длина остальных сокдинений
Теперь осуществим парную перестановку
- удачная перестановка
Выбор кандидатов на перестановку:
- random - случайный выбор элементов, лучше придумать какой-нибудь критерий выбора.
- Сначала все вершины графа схемы ранжируются по убыванию локальных степеней (кол. рёбер подходящих к элементу) чем больше соединений подходит к элементу, тем важнее найти хорошее положение на МП (для 1-го соединения (элемента) (n-1) вариант, для 2-го (n-2) варианта, для 3-го (n-3), и тд, т.е. факториал всего, для выбранного элемента смотрим только одну перестановку), или по d - суммарной длине соединений, подходящих к элементу .
Метод соседних перестановок
- перестановок
Рассмотрим , где , левее , правее. Коэффициент насколько изменяется длина соединений элемента , если мы сдвинем его на 1 в одном из направлений.
Изменение длины , где - число общих рёбер у соответствующих элементов и .
Силонаправленный алгоритм релаксации (Алгоритм групповых перестановок)
Можем ли определить положение элемента так, чтобы сумма длин к нему подходящих была минимальной? ДА. 1) Минимизация длины проводников - Центр масс 2) Введение сил притяжения место, где находим точку, куда поместить A. ТЦ(А) - точка цепи А.
A - первичный элемент/напр., элемент с максимальным числом соединений.
Алгоритм:
1) Выбор элемента А
2) Находим ТЦ(А)
3) Находим ПЦ(А) (Первичная позиция цепи (А), считалась когда все элементы находились в тех местах, которые соответствовали начальному размещению)
4) ТЦ(В) ПЦ(В)
5) ТЦ(С) ПЦ(С)
и т.д.
Алгоритм попарной релаксации
1) ПЦ(А) первичного элемента 2) Окрестность ПЦ(А) eps(ПЦ(A))
3) ПЦ(В), ПЦ(С), ПЦ(D), ПЦ(Е) 4) Окрестности eps(ПЦ(В), eps(ПЦ(С)), eps(ПЦ(D)), eps(ПЦ(Е)). Каждый элемент должен только приблизиться к ПЦ! Если ПЦ(Е) попала в окрестность А, то меняем их местами. Наилучший обмен с тем элементом, чьё ПЦ ближе всего к позиции первичного элемента. Здесь мы стараемся не просматривать все возможные перестановки.
Алгоритм Гото (объед. двух предыдущ. алг.)
Конец, если последний элемент попадает в пустую позицию.
Рекомендации:
- ограничить длины цепочки
- ограничить eps тремя позициями
- отсечение всех возможных ветвей (боковые ветви)