
1.Постановка задачи.
Размещение модулей на плате
Пусть размещению на плате подлежат n модулей. По известной принципиальной схеме определяется матрица связей. А=||aij||, где aij – число связей между i-м и j-м модулями. Все n модулей должны быть размещены на плате, разбитой на m>n позиций. Задана матрица B=||bsr|| стоимостей “прокладки“ одной лини связи между любыми модулями, размещенными в позициях s и r.
Составить модель размещения модулей на плате, минимизирующую суммарную стоимость связей.
Составим экономико-математическую модель задачи:
m - количество позиций;
n – число модулей;
bsr – стоимость “прокладки“ одной лини связи между любыми модулями;
aij – число связей между i-ми и j-м модулями
хij – булева переменная, которая принимает свои значения в соответствии с равенством:
Затраты на “прокладку” всех связей между модулями:
В результате составления экономико-математической модели задачи, получилась нелинейная целевая функция. Для составления линейной целевой функции необходимо упростить условие задачи. Для этого примем n=m. В результате условие будет иметь вид:
Размещение модулей на плате
Пусть размещению на плате подлежат n модулей. По известной принципиальной схеме определяется матрица связей. Все n модулей должны быть размещены на n позиций. Задана матрица B=||bij|| стоимостей “прокладки“ одной лини связи между любыми модулями, размещенными в позициях i и j.
Составить модель размещения модулей на плате, минимизирующую суммарную стоимость связей.
Таким образом, получили условие линейной задачи целочисленного программирования. Построим математическую модель по словесному описанию.
2. Построение аналитической модели
Составим экономико-математическую модель задачи.
bij – стоимость “прокладки“ одной лини связи между любыми модулями.
хij – булева переменная, которая принимает свои значения в соответствии с равенством:
Затраты на “прокладку” всех связей между модулями:
Ограничения задачи будут иметь вид:
,
,
(1)
,
,
(2)
Уравнения (1) означают, что каждый модуль может быть установлен только на одно место. Уравнение (2)- на каждое место может быть установлен только 1 модуль. Соответственно, пустых мест в схеме, остаться не должно.
Таким образом, математическая модель задачи о назначениях является задачей целочисленного линейного программирования вида:
(3)
при ограничениях (1), (2) и
,
,
(4)
.
(5)
Данная задача является частным случаем классической транспортной задачи, где m=n, для решения которой можно применить венгерский метод.
3.Обзор численных методов решения задач лп
Идея метода была высказана венгерским математиком Е.Эгервари в 1931 г.,а в 1953 г. другой венгерский математик Г.Кун развил его идею и назвал метод венгерским [3].
Введем следующие понятия:
Две матрицы
и
назовем эквивалентными
, если
,
. Задачи о назначениях, определяемые эквивалентными матрицами, называются эквивалентными.
Нулевые элементы
матрицы
называются независимыми нулями, если для любого нуля
,
, строка и столбец, на пересечении которых лежит этот нуль, не содержат других нулевых элементов
.
Выделенные элементы матрицы
- это элементы строк или столбцов, помеченных знаком +. Все остальные элементы матрицы
- невыделенные элементы.
Алгоритм состоит
из подготовительного этапа и не более,
чем (
- 2)-х последовательно проводимых итераций.
Каждая итерация состоит из эквивалентных
преобразований матрицы и выбора
максимального числа независимых нулей.
Окончательным результатом каждой
итерации является увеличение числа
независимых нулей, имеющих в начале
итерации, на единицу. Как только количество
независимых нулей становится равным
,
задача о назначениях решена: оптимальный
вариант определяется позициями
независимых нулей в последней из матриц,
эквивалентных исходной матрице
.