Научная статья на тему 'К задаче оптимального размещения взаимосвязанных объектов'

К задаче оптимального размещения взаимосвязанных объектов Текст научной статьи по специальности «Математика»

CC BY
127
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук

Аннотация научной статьи по математике, автор научной работы — Т. Л. Дордина, Т. В. Леванова

In this article the mixed-integer location problem of connected objects on line is considered. Several heuristic algorithms for solving this problem are proposed. The algorithms are based on the sequential location of objects, rounding and other procedures.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «К задаче оптимального размещения взаимосвязанных объектов»

МАТЕМАТИКА

Вестник Омского университета, 2000. N.2. С. 14-16. © Омский государственный университет, 2Ü00

УДК 543.123

К ЗАДАЧЕ ОПТИМАЛЬНОГО РАЗМЕЩЕНИЯ ВЗАИМОСВЯЗАННЫХ ОБЪЕКТОВ

T.JI. Дордина, Т.В. Леванова

Омский государственный университет, кафедра ПиВМ 644077, Омск, пр. Мира,55-А 1

Получена 14 января 2000 г.

In this article the mixed-integer location problem of connected objects on line is considered. Several heuristic algorithms for solving this problem are proposed. The algorithms are based on the sequential location of objects, rounding and other procedures.

Интерес, к вопросам оптимизации размещения геометрических объектов вызван необходимостью автоматизации процессов проектирования либо реконструкции сложных систем, состоящих из связанных между собой элементов. В литературе описываются различные оптимизационные модели задач размещения. Для их решения используется аппарат комбинаторного анализа, теории графов, целочисленного программирования [1. 2, 3, 5].

В работе рассматривается задача размещения взаимосвязанных объектов на линии. Известно, что такие задачи в общем случае NР трудны [4]. Для решения указанной задачи в частично -целочисленной постановке предложен ряд приближенных алгоритмов, использующих алгоритмы округления, вариант последовательно-одиночного размещения и гибридный алгоритм, сочетающий решение задачи точными и приближенными . методами.

1. Математическая модель задачи и ее свойства

Пусть имеется п взаимосвязанных объектов, N = {1, ...,«}. Структура связей задана графом С = (М,Е), где N - множество номеров вершин, а Е - множество ребер, Е 6 N х N. Ребро [г,]) £ Е, если существует связь между объектами г и j. Стоимость связей задана с помощью матрицы С = (сц), минимально допустимые расстояния между объектами содержатся в матрице К = (гч)> '>3 С N. Задача состоит в размещении данного множества объектов вдоль линии так,

чтобы суммарная стоимость связей была наименьшей и при этом соблюдались ограничения на минимально допустимые расстояния. Рассмотрим модель для этой задачи целочисленного программирования [1]:

Е

Cijtij

—>■ mm,

Xj xj t{j 0 Xj ~b x^ -f- t{j 0

(г,з) € E,

Xi

X{

= I,

- Гц + Azij

> 0

+ /1(1 ~ 1, j ■

i) > о

i +1,

Zij 6 {0,1}, i,j = 1,

.,rt, ...n.

(1.1) (1.2)

(1.3)

(1.4)

Переменные Х{ задают координаты центра г-го объекта; ^ оценивают сверху расстояния между каждой парой взаимосвязанных объектов и в силу (1.2) неотрицательны;г^ = 1 , если г-й объект находится левее ¿-го, иначе Zij = 0. Достаточно большое положительное число А возникает в результате стандартной записи альтернативных условий и может быть выбрано, например, следующим образом: А = (п + 1) ■ тахг'^ г^-.

Упорядочим компоненты вектора размещения х = (х\,..., хп) по возрастанию и запишем их номера в новом порядке в виде перестановки ж{х). Для фиксированного порядка размещения объектов, который определяется с помощью перестановки 7г =: (тг( 1),..., тг(п)), из задачи (11) (.1.4) получается задача линейного программирования:

1 е-mail: levanovaa@iitarn.omsk.net.ru

У] С*(р),*(ч)(Х*(я) - хж(р))

W p),n(q))eE

mm, (1.5)

К задаче оптимального размещения взаимосвязанных объектов

15

- Ятг(р) > Г7г(р)7г(д)) (1-6)

р= !.....п 1;д = р + 1.....

Эту задачу необходимо решать в том случае, когда минимально допустимые расстояния не удовлетворяют неравенству треугольника. В случае, когда г^ удовлеворяют указанному условию, оптимальное размещение можно получить, например, методом последовательно-одиночного размещения [3].

Рассмотрим релаксационное множество, задаваемое ограничениями (1.2), (1.3) и неравенствами 0 < г,:/ < 1, г, ] = 1 ,...,п. Отметим, что вместо него можно ограничиться изучением выпуклого многогранного множества М, определяемого линейными неравенствами [1]

~Ь >0 1 п Х3 - х{ - Ггз + А{ 1-*,) >0 / ' 1 • ;

0 < гц < 1, = 1,...,п. (1.8)

Тройка (¿¿у, гцс, г^) компонент вектора г считается противоречивой, если она имеет вид (1,0,1) или (0,1,0). Вектор г, не содержащий ни одной противоречивой тройки, называется непротиворечивым. Вектора г задают т-мерный булев куб Вт. Между множеством непротиворечивых векторов 0(Вт) и множеством всех перестановок п элементов существует взаимно однозначное соответствие. Причем справедливо следующее утверждение [1].

Утверждение 1. Вектор г принадлежит 0(Вт) тогда и только тогда, когда найдется х £ Яп такой, что (г, ж) £ М,г £ Вт.

Рассматриваемая задача имеет ряд интересных свойств. В частности, если все минимально допустимые расстояния г^, г = 1,..., п — 1; ] — г + 1, ...,п заданы целыми числами, то значения векторов х и I в оптимальном решении будут целыми. Если при этом координату одного из объектов зафиксировать в целой точке, то задачу можно рассматривать как полностью целочисленную. Имеет место [1].

Утверждение 2. Для произвольного (г, х) 6 М, г ^ Вт подходящим округлением координат, вектора г можно построить г 6 В{Вт).

Утверждение 2 позволяет строить допустимые решения задачи (!.!)-(1.4) по оптимальным решениям непрерывных задач. Если после решения задачи линейного программирования век-гор г^ ,г — 1,..., п — 1,7 = г + 1,..., п не является полностью целочисленным, то округлением его дробных компонент можно получить допустимые значения булевых переменных. Зная взаимное расположение, мы можем найти значения

х и Ь и тем самым получить некоторое допустимое решение задачи.

2. Алгоритмы решения

В данном разделе будут описаны приближенные алгоритмы решения задачи размещения взаимосвязанных объектов, основанные на моделях, приведенных в разделе 1.

2.1. Алгоритмы округления

Как уже отмечалось, для отыскания оптимума необходимо решить релаксированную задачу и с помощью округления дробных компонет вектора г получить допустимую совокупность булевых переменных, то есть определить порядок расположения объектов на линии. Затем, решив задачу вида (1.5)-(1.6), получить оптимальное размещение объектов на линии для заданного порядка. Однако решение релаксированной задачи не дает информации об оптимальном расположении объектов на линии, так как все они размещаются в одной точке, то есть ¡с,- = х1 для всех г ф }. Фиксация булевых переменных позволяет избежать этой ситуации и уменьшить размерность матрицы ограничений. При гц = 1 неравенства

х^ — Xj 4" tij > 0 1 — х^ — г%з + Azij > 0 ]

выполняются при любых значениях переменных, и их можно не включать в ограничения задачи. При г^ = 0 исключаются ограничения

+ + и^ > 0 1

X, Гц + А(1 - 2^) > О / '

Затем решается релаксироваиная задача ЛИ. Если получили целочисленный вектор г, то он является допустимым решением исходной задачи. Иначе проводится округление одним из двух способов.

Способ 1. Округление вектора г строится но вектору х, полученному в результате решения задачи. Если Xil < ц3, то объект ¿1 расположен левее объекта г2 и г,-^ = 1 при г] < г2- Если хл = х.?1> тоща гп]2 = 0 < >2).

Способ 2. Основан на использовании коэффициентов целевой функции. Вводится некоторое достаточно малое число е > 0. Для незначительно отличающихся друг от друга значений Хк,Х1,к < I (то есть таких, что \х^ — < е) вычисляется стоимость связей с объектами, которые находятся левее и правее его, по формулам:

= с*'> II Ск*'

а-.хь-х:»>£ »:*,-*(,>«

16

Т.Л.Дордина, Т.В.Леванова

Д, = си, Д;+= ]Г С,,.

Значения zij определяем следующим образом:

- если Д^ > Д(~ и < Д,+, то г*; = 0;

- если Аь < Д;_ и > Д;+, то = 1;

- если Д^ > Д|" и Д,+, то при Д£ > Д значение =0, иначе г^ = 1;

- если А~Ц < Д,~ и Д^ < Д;+, то при Д^ > Д^ значение гк1 — 1, иначе 2ы = 0;

- если Д^ = А~[ и Д^ < Д;+ , то = 1, иначе гк1 - 0.

После проведения округления определится порядок размещения объектов. Затем решаем задачу (1.5)--(1.6) для полученного порядка.

2.2. Последовательно-одиночное размещение и гибридный алгоритм

В данной работе предложен следующий вариант последовательно-одиночного размещения для задачи размещения взаимосвязанных объектов на линии. Пусть задан порядок, в котором выбираются объекты для размещения, и начальная координата х\. Без ограничения общности можно считать Х\ — 0. В соответствии с этим порядком, начиная с точки с координатами последовательно устанавливаем объекты на линии так, чтобы выполнялись минимально допустимые расстояния и суммарная стоимость размещения была наименьшей. Размещение возможно слева, справа и между уже установленными объектами. При этом разрешается размещение в "отрицательной" области. В результате получаем некоторый допустимый порядок расположения объектов. Если неравенства треугольника не выполняются, то для этого допустимого порядка решаем задачу (1.5)-(1.6).

В основе гибридного алгоритма лежит идея сочетания точных и приближенных методов с целью повышения размерности решаемых задач. В данном алгоритме используются последовательно-одиночное размещение и алгоритм решения задач ЛП. Опишем основные шаги гибридного алгоритма.

Схема алгоритма.

1. Для некоторого количества р объектов (р < п) по определенному правилу задается первоначальный порядок размещения.

2. Для заданного порядка находим оптимальное расположение объектов на линии,

3. Рассматриваем все перестановки оставшихся (п—р) объектов. Для первой произвольно выбранной перестановки находим размещение (п — р) объектов последовательно-одиночным способом. При этом р объектов считаются уже установленными на линии. Для нового порядка находим решение задачи (1.5)-(1.6). Получаем раз-

мещение, оптимальное для заданного порядка, и первоначальное значение целевой функции.

Для каждой следующей перестановки (п — р) объектов находим размещение последовательно-одиночным способом. Задача (1.5)—(1.6) решается только в том случае, если последовательно-одиночный способ нашел лучшее значение целевой функции.

Указанная схема применялась дважды. При этом использовались различные правила выбора первоначального порядка размещения.

Правило выбора 1. Находим минимальный элемент в матрице Я :

Гк1 = хшпД„, г,; = 1,..., п.

Далее ищем ближайший элемент к (, то есть г 1т = тщКц^ = 1На следующем шаге находим элемент, ближайший к т, и так далее. Получаем порядок размещения (к,1,т,...).

Правило выбора 2. Аналогично правилу 1. Различие состоит в том, что на каждом шаге ищем максимальный элемент в матрице С :

Ск1 = тахС;,-, г, ] = 1, ...,п.

Далее ищем С|т = тах; Сц,] — 1, ...,п и так далее. Получаем порядок размещения (к,1,гп,...).

Все указанные алгоритмы были реализованы и опробованы на тестовых примерах средней размерности. Вычислительный эксперимент показал эффективность предложенных методов. Так, например, в результате применения гибридного алгоритма размерность решаемых задач увеличилась в несколько раз.

[1] Забудский Г. Г. О целочисленной постановке одной задачи размещения объектов на линии// Управляемые системы. Новосибирск, 1990. Вып.30. С. 35-45.

[2] Панюков А.В. Алгоритмы размещения прямоугольных объектов// Декомпозиция и координация в сложных системах. Челябинск, 1987. С.80-89.

[3] Стоян Ю.Г., Соколовский В.З. Решение некоторых многоэкстремальных задач методом сужающихся окрестностей. Киев: Наукова думка. 1980. 206с.

[4] Adolphson !)., Ни Т.С. Optimal Linear Ordering// SIAM J. Appl. Math. 1973. Vol.25, 3. P.403-423.

[5] Zabudsky G. Some Resalts for the One-Di-mensional Space Allocation Problem// SOR 97, Germany, Jena, September 1997: Abstracts. Jena, 1997. P. 50.

i Надоели баннеры? Вы всегда можете отключить рекламу.