
- •1. Задачи структурного синтеза: понятие, формальная постановка, пример.
- •2. Исходные данные для решения задач структурного синтеза.
- •4. Содержательная постановка и анализ задачи структурного синтеза. Результат анализа (рассмотреть пример).Пример постановки и формализации задачи структурного синтеза
- •3. Этапы решения прикладной задачи структурного синтеза.
- •5. Выбор аппарата формализации задач структурного синтеза. Разработка моделей объекта и результата проектирования, доказательство их адекватности (приведите пример перехода от объекта к модели).
- •6. Формальная постановка комбинаторно-оптимизационной задачи структурного синтеза на графах. Рассмотреть пример для задачи поиска остовного дерева минимальной длины.
- •8. Представление схемы неориентированным графом и гиперграфом. Неориентированный граф.
- •8.1.Представление схемы ориентированным графом. (аналогично ультраграфу)
- •15. Основные способы ветвления при построении дерева решений в методе ветвей и границ.
- •9. Стратегии декомпозиции пространства решений.
- •10. Отсечение и выбор перспективной вершины дерева решений. Верхняя и нижняя границы целевой функции. Пример.
- •Некоторые особенности оценочных функций
- •11. Метод поиска в глубину. Пример точного алгоритма, основанного на этом методе.
- •12. Метод поиска в глубину с возвращением. Привести пример применения.
- •13. Метод поиска в ширину. Привести пример применения.
- •14. Идея метода ветвей и границ. Основные способы отсечения ветвей.
- •16. Конструирование оценочной функции для верхней и нижней границ целевой функции. (Рассмотрите на примере задачи поиска простой цепи графа).
- •17. Метод итерационного улучшения
- •18. Метод параллельно-последовательной свертки. Алгоритм сортировки слиянием. Оценка его вычислительной сложности.
- •19. Точность алгоритма. Докажите, что алгоритм Прима является точным.
- •20. Оценка точности алгоритма. Определение оценок в лучшем и в худшем для алгоритма решения задачи коммивояжора по методу поиска в глубину.
- •21. Вычислительная и емкостная сложность алгоритма
- •22. Основные этапы построения алгоритма. Сущ-ть алг. Решения задачи на графах.
- •23. Разработка алгоритмической модели процесса решения задачи. Пример модели для решения задачи декомпозиции схемы по методу неуравновешенной двоичной свёртки.
- •Пример модели для решения задачи декомпозиции схемы по методу неуравновешенной двоичной свёртки
- •24. Определение операций преобразования исходного графа в граф результата. Выбор способа представления графов и его реализация в памяти эвм.
- •25. Детальная проработка алгоритма. Способы снижения вычислительной сложности алгоритмов. (Проиллюстрировать примерами).
- •26. Последовательный алгоритм разрезания гиперграфа схемы.
- •27. Итерационный алгоритм улучшения начального разрезания гиперграфа схемы.
- •28. Методика оценки вычислительной сложности алгоритма. Рассмотрите пример.
- •Асимптотическая оценка вычислительной сложности алгоритма
- •29. Управляющий граф алгоритма.
- •30. Граф «оператор - данные».
- •31. Информация о схеме и монтажном пространстве, которую необходимо отобразить в модели для решения задач структурного синтеза.
- •32.Математическая модель алгоритма
- •33.Генетический метод
- •34.Метод динамического программирования
- •35.Метод параллельного поиска
- •36.Дополнительные отсечения при использовании метода ветвей и границ. Идея алгоритма Дейкстры
- •37.Модификация метода на примере задачи построения гамильтонова цикла с минимальной суммой весов ребер
- •38.Модели структур данных
35.Метод параллельного поиска
В зависимости от специфики задачи подмножества разных ветвей могут быть как пересекающимися, так и непересекающимися.
Рассмотрим задачу компоновки схемы в nконструктивных модулей. Множество элементов схемыЭ поставлено во взаимнооднозначное соответствие множеству вершинХгиперграфаЭ Х.
Указанная задача может быть решена алгоритмом, реализующим метод параллельного поиска. Результатом его работы будет разбиение множества Хвершин гиперграфа наnподмножествXi,i=1,n. Так как один и тот же элемент схемы не может входить в разные конструктивные модули и составXiопределяется по методу поиска в глубину последовательным включением вершинxXвXji(XjiсоответствуетMji), тоXjiX jp=для всехi, pI ={1,n}. Таким образом, в данной задаче подмножества, принадлежащие разным ветвям дерева решений, должны быть непересекающимися.
Если подмножества вариантов 1-го уровня содержат все варианты решения, т.е. удовлетворяют условию M1i=Mи оценка выбора подмножества в каждой ветви является отсекающей, то метод обеспечивает получение точного решения.
36.Дополнительные отсечения при использовании метода ветвей и границ. Идея алгоритма Дейкстры
Задача: поиск маршрута (простой цепи) минимальной длины из некоторой исходной точки в заданную конечную.
Стратегия декомпозиции множества решений – по методу в ширину.
Принцип разбиения – включение во фрагмент пути некоторого ребра.
Оценочная функция в каждой вершине дерева – суммарная длина ребер уже построенного фрагмента маршрута – нижняя граница целевой функции.
Поскольку гарантия, что эта оценка является отсекающей отсутствует, она может использоваться как оценка перспективности, т. е. для выбора очередной вершины ветвления.
Однако в данном случае эта оценка может выступать в качестве отсекающей в «особых» вершинах дерева решений.
Этот факт основывается на свойстве графа – результата решения:
маршруты, как простые цепи, могут проходить через одну и ту же вершину графа и иметь разную длину до этой вершины.
37.Модификация метода на примере задачи построения гамильтонова цикла с минимальной суммой весов ребер
Основная идея последовательного алгоритма решения задачи коммивояжера по методу поиска в глубину: начиная с заданной исходной вершины из ребер, инцидентных ей, а в дальнейшем – последней вершине фрагмента тура, выбираем то, которое имеет минимальный вес и не образует цикла с уже включенными ребрами, до тех пор, пока количество включенных в тур вершин меньше их числа в графе.
Анализируя процесс преобразования исходного графа в граф результата, мы приходим к выводу, что выбор ребер с малым весом на начальных этапах построения тура может привести к выбору ребер с большим весом на конечных из-за того, что ребра меньшего веса будут образовывать частичные циклы. Т.е. локальный критерий выбора не является отсекающей оценкой, а алгоритм, реализующий поиск в глубину, не строит плана вперед – текущий выбор делается без учета того, к чему это приведет в последующем.
Следовательно для увеличения точности необходимо увеличить глубину просмотра, т.е. выбирать, например, пару ребер с минимальным суммарным весом, одно из ребер которой инцидентно концевой вершине, а другое – смежно этому ребру. При увеличении глубины просмотраkдоk=n, гдеn– количество вершин графа, получим дерево полного перебора.
Данный метод является комбинацией методов поиска в глубину и в ширинус ограничением в видеkна количество уровней при генерации поддерева в ширину. Алгоритм, реализующий эту идею, можно назватьалгоритмом с просмотром на k шагов вперед.
Кроме этого, так как гамильтонов цикл проходит через все вершины:
можно начинать построение тура с любого ребра;
целесообразно обеспечить выбор среди ребер, инцидентных обеим концевым вершинам построенного фрагмента тура, (например, для предыдущего графа это обеспечит получение точного решения).
Точное решение l = 10
Выполненный анализ позволил нам сформулировать идею алгоритма, основанного на комбинации метода поиска в глубину и в ширину и указанных выше эвристик:
из всех пар смежных ребер выбираем ту, которая имеет минимальный вес;
затем, до тех пор, пока количество вершин, включенных в строящийся тур меньше n-2 (для четного) илиn-1 (для нечетного числа вершин исходного графа), выбираем из всех пар ребер, одно из которых инцидентно той или иной концевой вершине, а второе – смежно этому ребру, ту пару, которая имеет минимальный вес и не образует цикла с уже включенными ребрами.
Алгоритм, реализующий эту идею, является эвристическим, имеет вычислительную сложностьO(n3), для него характерна более высокая вероятность нахождения точного решения, чем по методу поиска в глубину.