Исходными данными для задачи покрытия являются
функциональная схема соединений логических элементов узла и логические схемы
типовых конструктивных элементов (модулей), предназначенных для реализации
данной функциональной схемы. Необходимо каждый логический элемент
функциональной схемы реализовать логическими элементами, входящими в состав
типовых модулей, с учетом определенных требований и ограничений.
Наборы типовых модулей включают в себя модули:
1) Элементные – состоящие из логически не связанных между собой
элементов.
2) Функциональные
– состоящие из функциональных логических узлов, в которых логические элементы
связаны между собой.
В зависимости от конструктивных
особенностей изделия необходимо оптимизировать следующие показатели:
1) Суммарную стоимость модулей, участвующих в покрытии;
2) Общее число модулей в покрытии;
3) Число типов используемых модулей;
4) Количество связей между модулями.
Рассмотрим математическую постановку задачи. Пусть
задан набор:
T=(t1, t2,
…tn), где n – число типов модулей в наборе.
Этот набор характеризуется матрицей , где aij – соответствует числу элементов i‑го в модуле j-го типа, m – общее
число типов логических элементов в модулях набора.
Состав заданной функциональной схемы характеризуется
вектором: , где bi – число
логических элементов i‑го типа в схеме. Введем целочисленную
переменную xj , характеризующую количество модулей j-го типа, необходимых для покрытия заданной схемы.
Если взять критерием оптимизации минимум количества
модулей в покрытии, тогда целевая функция задачи имеет вид: .
Чаще всего для реальных схем используются приближенные, эвристические
методы решения задачи покрытия.
Эвристический алгоритм – это эмпирическое правило или стратегия,
использующаяся без доказательства эффективности решения.
Простейший эвристический алгоритм
представляет все модули элементными (то есть состоящие из несвязанных элементов). Для некоторого логического элемента bi схемы
выбирается один из модулей tk, такой что , затем рассматриваются элементы bj, связанные с элементом bi, и такие, что , из всех рассмотренных элементов сохраняется тот, для
которого число связей с элементом bi максимальное. Этим достигается минимизация числа
межмодульных связей. Если связанных с элементом bi элементов bj нет, то
рассматриваются такие элементы, которые связаны с уже закрепленными элементами,
имеющими связь с элементом bi.
Описанная процедура повторяется до тех пор, пока все логические элементы
исходной функциональной схемы не будут закреплены за модулями заданного набора.