Сравним сложность для получения решения с использованием данного алгоритма, оцениваемую общим количеством шагов, с широко известным методом «ветвей и границ» для решения дискретных задач комбинаторного типа.
Необходимые количество шагов в процессе решения задачи с использованием алгоритма итеративных отображений равно
где
Сравнение соотношений (3.1.1), (3.1.2) показывает эффективность и полиномиальную сложность разработанных алгоритмов для решения поставленных задач большой размерности, в отличие от метода «ветвей и границ».
Блок-схема алгоритма итеративных отображений приведена на рис. 3.1.1.
Рассмотрим численный пример решения задачи. Необходимо синтезировать блок-схему модульной СОД, минимизирующую общее число обращений к логическим массивом базы данных.
Задача решается при следующих условиях: допустимое число процедур в составе модуля 3, допустимое число информационных элементов в составе логических массивов 4. Число модулей и логических массивов определяется по формулам:
В таблице 3.1.1 представлена исходная матрица
Процесс отображений представлен таблицей, в которой приведены номер итерации
На рисунке 3.1.2 показан процесс формирования решения
С использованием алгоритма итеративных отображений решаются и частные задачи вида (2.4.1)-(2.4.4) и (2.4.5)-(2.4.8) как части блочно-симметричных задач.
3.2 Постановка и решение многокритериальных задач разработки модульных блок-схем обработки данных
Как показал опыт проектирования систем обработки данных в ряде случаев к ним предъявляются различные технологические требования, часто противоречивые, которые необходимо учитывать. При этом одни требования имеют важное значение в качестве критериев эффективности, а другие – определяют технологические ограничения в процессе проектирования систем обработки данных.
В процессе анализа и синтеза систем обработки данных возникает необходимость одновременного учета нескольких показателей эффективности, которые определяют качество разрабатываемой ситемы в области заданных ограничений. Тогда задача сводится к тому, что необходимо использовать несколько критериев, чтобы наиболее адекватно отобразить их требуемую постановку. В этом случае необходимо формулировать и решать многокритериальные блочно-симметричные задачи.
Общая постановка многокритериальной задачи формулируется следующим образом [121-123,135,142,143].
Необходимо найти экстремум вектора функций, отражающего показатели эффективности разрабатываемых систем обработки данных в области заданных технологических ограничений.
Приведем математическую постановку общей многокритериальной задачи.
Пусть,
Определены критерии
Многокритериальная блочно-симметричная задача дискретного программирования формулируется следующим образом:
при ограничениях вида
Для решения однокритериальной блочно-симметричной задачи (
1. Решается однокритериальная задача