
- •1. Задачи структурного синтеза: понятие, формальная постановка, пример.
- •2. Исходные данные для решения задач структурного синтеза.
- •3. Этапы решения прикладной задачи структурного синтеза.
- •4. Содержательная постановка и анализ задачи структурного синтеза. Результат анализа (рассмотреть пример). Пример постановки и формализации задачи структурного синтеза
- •5. Выбор аппарата формализации задач структурного синтеза. Разработка моделей объекта и результата проектирования, доказательство их адекватности (приведите пример перехода от объекта к модели).
- •6. Формальная постановка комбинаторно-оптимизационной задачи структурного синтеза на графах. Рассмотреть пример для задачи поиска остовного дерева минимальной длины.
- •8. Представление схемы неориентированным графом и гиперграфом. Неориентированный граф.
- •9. Стратегии декомпозиции пространства решений.
- •10. Отсечение и выбор перспективной вершины дерева решений. Верхняя и нижняя границы целевой функции. Пример.
- •Некоторые особенности оценочных функций
- •11. Метод поиска в глубину. Пример точного алгоритма, основанного на этом методе.
- •12. Метод поиска в глубину с возвращением. Привести пример применения.
- •13. Метод поиска в ширину. Привести пример применения.
- •14. Идея метода ветвей и границ. Основные способы отсечения ветвей.
- •15. Основные способы ветвления при построении дерева решений в методе ветвей и границ.
- •Разбиение множества вариантов на подмножества по методу в ширину и выбор вершины по min(max).
- •Разбиение множества вариантов по методу поиска в глубину с возвращением – последовательное построение ветвей с заданным порядком их развития.
- •Комбинация декомпозиции в глубину и в ширину
- •16. Конструирование оценочной функции для верхней и нижней границ целевой функции. (Рассмотрите на примере задачи поиска простой цепи графа).
- •17. Метод итерационного улучшения
- •18. Метод параллельно-последовательной свертки. Алгоритм сортировки слиянием. Оценка его вычислительной сложности.
- •19. Точность алгоритма. Докажите, что алгоритм Прима является точным.
- •20. Оценка точности алгоритма. Определение оценок в лучшем и в худшем для алгоритма решения задачи коммивояжора по методу поиска в глубину.
- •21. Вычислительная и емкостная сложность алгоритма
- •22. Основные этапы построения алгоритма. Сущность алгоритма решения задачи на графах.
- •23. Разработка алгоритмической модели процесса решения задачи. Пример модели для решения задачи декомпозиции схемы по методу неуравновешенной двоичной свёртки.
- •Пример модели для решения задачи декомпозиции схемы по методу неуравновешенной двоичной свёртки
- •24. Определение операций преобразования исходного графа в граф результата. Выбор способа представления графов и его реализация в памяти эвм.
- •25. Детальная проработка алгоритма. Способы снижения вычислительной сложности алгоритмов. (Проиллюстрировать примерами).
- •26. Последовательный алгоритм разрезания гиперграфа схемы.
- •27. Итерационный алгоритм улучшения начального разрезания гиперграфа схемы.
- •28. Методика оценки вычислительной сложности алгоритма. Рассмотрите пример.
- •Асимптотическая оценка вычислительной сложности алгоритма
- •29. Управляющий граф алгоритма.
- •30. Граф «оператор - данные».
- •Оглавление
17. Метод итерационного улучшения
Этот метод реализует частичный, а нередко и упорядоченный перебор решений, генерируя их из некоторых исходных решений в процессе своей работы. Метод относится к классу эвристических. Результатом решения ряда задач структурного синтеза является разбиение некоторого множества на подмножества (например, задача разрезания), либо определяется взаимнооднозначное или однозначное соответствие элементов двух множеств. Примером таких задач может служить задача схемной компоновки – разрезания схемы на подсхемы или позиционирования – размещение микросхем на плате субблока.
Если имеется некоторое исходное решение, то генерация других вариантов может быть выполнена путем допустимых по смыслу задачи перестановок элементов в подмножествах, либо в парах взаимнооднозначных соответствий. Осуществляются те перестановки, которые приводят к улучшению целевой функции с учётом заданных ограничений. Для выбора переставляемых элементов должна существовать некоторая мера. Как правило, хорошей мерой является приращение значения целевой функции, а также может использоваться некоторый критерий, который имеет с ней сильную корреляцию. Перестановки могут быть парными и групповыми. Рассмотрим парные перестановки:
Критерий оптимизации – минимальное количество рёбер, попадающих в разрез.
Если поменять Xi и Хj, то количество рёбер уменьшится с 3 до 2
Для всех пар необходимо подсчитать F. Выбирается та пара, у которой F0 и максимальна. Процесс заканчивается если:
нет F>0,
.
F
K=Kдоп -допустимое количество итераций
В ряде случаев количество операций может быть ограничено некоторой константой.
Этот метод гарантирует лишь нахождение
локального оптимума. Избежать этого
позволяют групповые перестановки. Их
идея заключается в следующем: для всех
и
получаем
и
выбираем
не
проверяя условия
.
Процесс продолжается до тех пор, пока
не будут выполнены все парные перестановки.
При этом подсчитывается суммарное
приращение
.
Определяется перестановка, для которой
P>0 и максимальна.
Т.о. определяется группа вершин,
принадлежащих Х1 и
вершин, принадлежащих Х2,
для которых и выполняется перестановка.
.
Алгоритм, реализующий итерационный метод, требует гораздо больше машинного времени, чем последовательные, основанные на методе поиска в глубину.
Асимптотическая оценка вычислительной сложности итерационного алгоритма О(n3). Сокращение затрат машинного времени возможно за счёт сокращения числа перестановок. К сокращению перестановок приводит упорядочивание элементов в исходных множествах в соответствии с некоторой мерой. Рассмотрим один из способов упорядочивания:
или
подсчитываем
величину вклада любого элемента в
значение целевой функции. Элементы
множества Х упорядочиваются по
убыванию вклада подсчитанной оценки.
(для
другого варианта). Далее в качестве
кандидатов на обмен на любом шаге К
рассматриваем:
18. Метод параллельно-последовательной свертки. Алгоритм сортировки слиянием. Оценка его вычислительной сложности.
Метод предназначен для объединения элементов множества в некоторые подмножества. Это объединение выполняется в общем случае для элементов, равнозначных для некоторого критерия, в качестве которого может выступать и определенное свойство.
В задачах на графах объединяющими элементами могут быть как вершины, так и ребра. Метод может использоваться, например, для формирования подсхем, т.е. решения задачи схемной компоновки.
Процесс формирования подмножеств данным методом осуществляется следующим образом: до начала свёртки в качестве кандидатов на объединение рассматриваются все элементы множества Х. На первом шаге оценивают соответствие элементов некоторому критерию и выбирают элементы, в наибольшей степени удовлетворяющие ему. В общем случае могут объединятся 2,3 и т.д. элементов. Сформированные подмножества рассматриваются, как элементы нового множества, по отношению к которому процедура может быть повторена. Включение в состав формирующегося множества элементов или частей других подмножеств, как правило, не возможна в соответствии со смыслом задачи. При объединении элементов происходит отсечение других вариантов состава подмножеств, следовательно, точность получаемого решения определяется тем, является ли критерий выбора отсекающей оценкой или оценкой перспективности. В первом варианте решение может быть получено точное, во втором – приближённое.
Возможно два варианта окончания свертки:
Свертка заканчивается, когда все вершины объединены в одно подмножество. С практической точки зрения это необходимо, если требуется установить, обладает ли в целом множество некоторым определенным свойством.
Требуется выделить подмножество удовлетворяющее некоторым ограничениям. Процесс свёртки заканчивается при удовлетворении всех условий.
Алгоритм сортировки слиянием:
Алгоритм сортировки слиянием является примером точного алгоритма, реализующего метод уравновешенной двоичной свёртки.
Идея алгоритма: попарно сравнивая числа исходного множества (впоследствии это числа, принадлежащие двум разным подмножествам), заносят их в подмножества, состоящие из двух, четырёх и т.д. чисел, записывая, например, сначала меньшее из чисел пары. Алгоритм заканчивает работу, когда исходные числа объединены в одно (новое) множество.
Характерными особенностями реализации метода уравновешенной двоичной свёртки в данном случае являются:
Критерий слияния подмножеств – их принадлежность одному уровню дерева свёртки; он не связан с целевой функцией, но позволяет построить достаточно эффективную схему сортировки
Сортировка обеспечивается упорядочиванием элементов каждого подмножества при его получении слиянием двух подмножеств предыдущего уровня
Окончание процесса свёртки означает реализацию на множестве чисел Х отношения порядка (по возрастанию их значений)
Оценка количества операций сравнения
Nc,
необходимых для упорядочивания n
элементов множества Х алгоритма
слияния. Если n –
степень двойки, то количество подмножеств
(вершин) на уровне
и число элементов в них – 2j-1,
где
.
Число сравнений элементов двух подмножеств
уровня будет
.
Суммарное количество сравнений на
уровне j равно:
.
Суммируя по j,
получим:
.
Очевидно, что
,
в то время как алгоритм сортировки
«выбором» (посредством поиска максимального
или минимального элемента) требует
операций сравнения чисел.