а) Л(s) имеет при se (so,to) ранг n—1,
б) A(so) = Л,
— —*
l iw p (s)_p ^
в) ^t w _ , где P(s) — нулевой собствен-
s^to
ный вектор матрицы A(s),
г) в некоторой левой полуокрестности точки to матрицы A(s), A(s) отличаются лишь на скалярный множитель.
Полученные в работе результаты могут быть использованы при рассмотрении конкретных задач, в которых изучаются процессы марковского типа, распадающиеся на несвязанные или слабо связанные фрагменты. Задачи такого типа возникают в нейронных и компьютерных сетях, экономике, экологии и радиоэлектронике. Изложенный в работе подход был применен авторами при анализе распадающихся экономик [5].
Литература: 1. Дикарев В. А. Точки фокусировки и теоремы о существовании предельных вероятностей. Харьков, 1995. Рукопись представлена Харьковским университетом радиоэлектроники. Деп. в ГНТБ Украины 28 февраля 1995, №526 Ук.95. 2. Дикарев В. А. Точки фокусировки и стабилизация неоднородных марковских процессов. Харьков, 1995. Рукопись представлена Харьковским университетом радиоэлектроники. Деп. в ГНТБ
Украины 28 февраля 1995, №533 Ук.95. 3. Якубович В. А, Старжинский В. М. Параметрический резонанс в линейных системах. М.: Наука, 1987. 328с. 4. Боровков А. А. Теория вероятностей. М.: Наука, 1986. 432с. 5. Dikarev V. A., Veprik A. I., Zabelin V. I. Modeling of disintegrating economy by Markov processes // 2 Internation conference on “Computing in economics and finance”, Geneva, 1996. Р. 170 - 171.
Поступила в редколлегию 15.09.98 Рецензент: д-р техн. наук Евдокимов А.Г.
Герасин Сергей Николаевич, канд. техн. наук, доцент кафедры высшей математики ХТУРЭ. Научные интересы: теория вероятностей и ее приложения, теория процессов Маркова. Адрес: Украина, 310166, Харьков, пр. Ленина, 14, тел: (0572)40-93-72, (0572)72-12-38. e-mail: hm@kture.ua
Дикарев Вадим Анатольевич, д-р физ.-мат. наук, проф. кафедры прикладной математики ХТУРЭ. Научные интересы: теория вероятностей и ее приложения, функциональный анализ, дифференциальные уравнения, теория процессов Маркова. Адрес: Украина, 310166, Харьков, пр. Ленина, 14, тел. (0572) 40-9436, (0572)33-57-03.
Родзинский Анатолий Анатольевич, аспирант кафедры прикладной математики ХТУРЭ.Научные интересы: теория вероятностей и ее приложения, функциональный анализ, дифференциальные уравнения, теория процессов Маркова. Адрес: Украина, 310166, Харьков, пр. Ленина, 14, тел. (0572)40-94-36.
УДК 519.713
ИСПОЛЬЗОВАНИЕ МЕТОДА ОТСЕЧЕНИЙ ПРИ РАСКРОЕ
ЕМЕЦ О.А, ЕМЕЦ Е.М., КОЛЕЧКИНА Л.Н. * 1
Рассматривается оптимизационная задача размещения прямоугольников, которую можно интерпретировать как задачу минимизации времени работы мультипроцессорной вычислительной системы (МВС). Для ее решения применяется метод отсечений. Приводятся результаты счета.
1. Введение
Одними из первых по исследованию проблемы раскроя являются работы Канторовича Л.В. и Зал-галлера В.А. [1, 2]. Разработке методов решения комбинаторных задач оптимального размещения геометрических объектов посвящены работы школы Стояна Ю.Г. [3, 4]. Разные подходы к раскрою материалов рассматриваются также в работах [5-8]. Нами рассматривается метод отсечения [9] для одной задачи раскроя, которую можно толковать как задачу минимизации времени работы МВС при решении заданого набора задач [10].
Введем необходимые понятия и обозначения. Мультимножеством [3,4] называется совокупность элементов, среди которых есть одинаковые. Мультимножество А можно представить его основанием S(A) — множеством всех его разных элементов с указанием их кратностей — чисел, указывающих количество повторений каждого элемента основания в мультимножестве. Упорядоченные n-выбор-
ки из мультимножества А, содержащего k разных элементов, т. е. такие, что различаются между собой только порядком следования элементов, образуют общее множество перестановок Еnk (A) [3,4]. Обозначим: Jm— множество первых m натуральных чисел, Rn — евклидово арифметическое пространство.
2.Постановка задачи и метод решения
Рассмотрим следующую задачу [3, 4]. Пусть имеется набор p прямоугольников одинаковой ширины и разной длины. Необходимо разместить данное множество прямоугольников в m полос так, чтобы длина z занятой части полос была минимальной. Длину прямоугольников можно интерпретировать как время решения задач, а m — как число эквивалентных процессоров в МВС.
Построим математическую модель данной задачи.
Пусть xjj — длина прямоугольника, стоящего на месте j в полосе i . Очевидно, что в оптимальном решении 1 < j < p - m +1. Будем считать, что
j eJp-m+1 . Получим в m полосах всего
(p - m + 1)m _ n прямоугольников, из которых p — задано, а остальные будем считать, не нарушая общности, имеющими нулевую длину. Обозначим длины прямоугольников через gi, ie Jn. G — мультимножество, которое состоит из элементов gi, ieJn.
Пусть Е nk(G) — общее множество перестановок из действительных чисел — длин прямоугольников, которые составляют мультимножество чисел G. Тогда задача сводится к определению:
114
РИ, 1998, № 3
Z* = min z
yeRn+1 ’
(1)
y = arg min z
yeRn+1
(2)
при условии
X (x11, • • • , x1,p-m+1, • • •, xm1, • • •, xm,p-m+1)
= (X1,... ,Xn) ЄEnk(G) c Rn (3)
и дополнительных ограничениях
p -m +1
2 xij — z vi Є Jm (4)
j=1
где y = (x1,K ,xn,z) = (ybK , y n , У n+1 ) Є Rn+1 •
Можно сократить область допустимых значений, если ввести следующие ограничения, при которых искомое решение, очевидно, не будет потеряно:
Pi
а tj
min = © j
i:aij >0 а ij
(9)
ввести в базис Pj вместо Pt, получив симплекстаблицу для некоторой смежной вершины. Здесь a ij — коэффициенты при неизвестных; Р j — свободный член в соответствующих равенствах задачи линейного программирования.
Теперь рассмотрим построение отсечения [9]. Обозначим J — совокупность номеров небазисных переменных, а I — множество номеров базисных переменных. На основании последней симплекстаблицы для точки y* , полученной на втором шаге, запишем
yi +ai,(P+1)yj! +...+ai,(p+y)yjy -Pi, где ІЄІ, Р-ІІ, y— Jl , IuJ= Jn+1, p+y=n+1, j T eJ,
p-m+1 p-m+1
2 xij — 2 xi+1,j Vі є Jm-1, (5)
J-1 J-1
xij— xi,j+1 Vi Є Jm, j є Jp-m . (6)
Отметим одно известное [3,4] свойство множества перестановок:
Enk (G) - vert conv Enk (G). (7)
Наличие свойства (7) позволяет использовать метод отсечения для решения задачи (1)-(6).
Рассмотрим схему алгоритма, используя в нем условие
XEConv Еnk(G). (8)
Отметим также, что выпуклая оболочка множества Е nk (G) — это общий перестановочный многогранник Пnk (G), система ограничений которого известна [3, 4]. Как и в [9], на первом шаге, решая задачу линейного программирования (1), (2), (4)-
(6), (8), получаем y* - (y*,... ,yn+1) . На втором шаге по полученному решению формируем
x* = (y* ,...,y n) и проверяем для X* условие (3).
Если Х*Є Е nk (G), задача (1)-(6) решена. В противном случае переходим на третий шаг. Он состоит в нахождении смежных с у* вершин многогранника, который описывается условиями (4)-(6), (8). Определяем полупространство, граница которого проходит через эти смежные с у* вершины, а точка у* не принадлежит ему. Неравенство,описывающее это полупространство, прибавляем к системе (4)-(6), (8) и с учетом этого переходим на первый шаг. Смежная вершина и построение отсечения производится следующим образом. Как известно [8], исходя из симплекс-таблицы, которая определяет некую вершину многогранника решений, для получения смежной с ней вершины надо взять небазисную переменную zj , вектор Pj которой имеет хотя бы одну положительную компоненту, выбрать t-ю строку симплекс-таблицы из условия
Vt eJy . Пустьy*- (y*,...,yn,yn+1) — оптимальное
решение задачи линейного программирования, которое отвечает последней симплекс-таблице. Воспользуемся известной теоремой [11], которая во введенных обозначениях принимает вид: если jt (jT eJ,
V teJy, y=I Jl) номера небазисных переменных решения y* - (y 1, •, y n, y n+1) задачи линейного программирования, то неравенству
yj1 yj2 Ч ,
-++...+—-> 1
© j1 © j2
©
jY
(10)
где © ■ , V tEJy, вычисляется по формуле (9), все
смежные с y* вершины допустимой области удовлетворяют как равенству, а точка y* неравенству (10) не удовлетворяет.
Надо отметить, что на первом шаге метода отсечений решается задача линейного программирования в которой ограничениями являются неравенства (4)-(6) и условие (8). Система ограничений (8), которая определяет общий перестановочный
многогранник, имеет 2n -1 ограничений, т. е. это большая задача линейного программирования, причем количество ограничений значительно превышает количество неизвестных. В этом случае эффективно применение метода последовательного подсоединения ограничений (МППО), который описан в [3, 4, 8]. Идейно МППО можно рассматривать как реализацию к задачи линейного программирования большого размера метода отсекающих плоскостей Келли [12], разработанного для задач выпуклой оптимизации (см.также [13, 14]). Перепишем задачу линейного программирования (1), (2), (4)-(6), (8):
ZT - min z
yEDT ,
(11)
yT - arg min z
yEDT ,
(12)
РИ, 1998, № 3
115
где t=0 на начальном этапе решения задачи; Легко видеть, что в случае достаточно большого
y = (xb...,xn,z) єRn+J; область D0 cRn +1 определяется системой S, в которую входит
q = (2n -1) - m2 + mp + 2m-1 ограничений, состоящих из неравентств (4)-(6), (8).
Структурно, для задачи (11), (12), он может быть представлен так. На первом этапе МППО формируется система S1 линейных ограничений, которая содержит намного меньше ограничений, чем система S, и определяет некую область D1, т.е. S1cS. Очевидно, что минимизируемая функция, которая входит в (11), (12), на области D1 должна быть ограниченной снизу. Отметим, что произвольность при выборе системы Si позволяет формировать ее в каждом конкретном случае так, чтобы решение вспомогательной задачи было как можно ближе к решению исходной. В данном случае очевидно, что в системе ограничений (8), которая определяет общий перестановочный многогранник, содержатся ограничения, имеющие в левой части от одной до n переменных. Поэтому в формируемую систему S1
включим неравенства из (8) вида g1 < x; < gn, Vi є Jn
n n
и равенство 2 xi = 2 gi .
i=1 i=1
На втором этапе МППО находим решение задачи на области Dt (при текущем значении индекса т (т> 1). Третий этап состоит в проверке выполнения
условия: ут є D0. Если это условие выполняется, то
задача (11), (12) решена. Соответственно решена и задача линейного программирования (1), (2), (4)-(6), (8). Иначе переходим на четвертый этап.
Четвертый этап состоит в формировании системы St+1 . При этом к системе ограничений St прибавляется неравенство из любой группы неравенств системы S\St, содержащих одинаковое количество пе-
т
ременных, которое в точке У не выполняется, т. е. область Dt заменяется на область Dt+1, Dt 3Dt+1. Увеличиваем т на единицу и переходим ко второму этапу МППО.
Поскольку S — конечное множество ограничений, то МППО заканчивает работу после выполнения определенного количества своих этапов.
При этом учтем следующее: точка — решение задачи (1), (2) при ограничениях (4)-(6), (8) — может не принадлежать границе допустимой области, которая определена условиями (4), (8). Чтобы этого не случилось, изменим (1), (2), записав их в виде:
?<+н фС II * (13)
yєRn+1 ,
* У' у = arg min f (у) yєRn+1 , (14)
n+1 „
2 а0уі i=1 , , а постоянные коэффициенты
а ■
удовлетворяют условию 0 < а
0
1
<...<а
0
n+1 .
а n+1 в решении задачи (1), (2) при условиях (4)-(6), (8) и задачи (13), (14) значения переменной yn+1 совпадают, т.е. Z = Z .
З.Результаты
Проведены вычислительные эксперименты с количеством прямоугольников 20-50 и количеством полос 2-4 на ПК PENTIUM-200. Программа написана на языке BORLAND PASCAL 7.0. Время счета в данной серии задач от 2 с до 27мин 4 с. Длины прямоугольников выбираются как случайные числа, расспределенные равномерно.
Приведем несколько просчитанных тестовых примеров:
1. Количество прямоугольников p=50; количество полос m=2; время счета 27 мин 03,44 с; длины прямоугольников выбираются на интервале [ 1... 100]: {1, 2, 3, 5, 8, 9, 10, 17, 20, 20, 23, 23, 24, 25, 26, 33,
34, 35, 35, 37, 37, 40, 42, 42, 45, 47, 48, 48, 52, 52, 54, 54, 61, 63, 64, 67, 73, 76, 76, 80, 80, 86, 89, 90, 91, 95, 95, 96, 96, 98}. Решение: прямоугольники в полосах размещены таким образом: 1 -я полоса — {1, 3, 5, 10, 20, 20, 23, 26, 34, 35, 37, 40, 47, 48, 52, 54,
63, 73, 76, 80, 86, 91, 95, 96, 98}; 2-я полоса — {2, 8, 9, 17, 23, 24, 25, 33, 35, 37, 42, 42, 45, 48, 52, 54, 61,
64, 67, 76, 80, 89, 90, 95, 96}. Занятая часть первой полосы — 1213, занятая часть второй — 1214. Z*=1214.
2. Количество прямоугольников p=43; количество полос m=3; время счета — 3 мин 53,32 с; длины прямоугольников выбираются на интервале [ 1... 10]: {1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5,
5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9}. Решение: 1-я полоса — {1, 1, 2, 2, 4, 5, 5,
6, 6, 8, 8, 8, 9, 9}; 2-я полоса — {1, 1, 2, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 9}; 3-я полоса — {1, 1, 1, 2, 2, 4, 5, 5, 6, 6, 7, 8, 8, 9, 9}. Занятая часть первой полосы-74, занятая часть второй — 74, занятая часть третьей— 74. Z*=74.
3. Количество прямоугольников p=43; количество полос m=2; время счета — 0 мин 53,32 с; длины прямоугольников выбираются на интервале [1...100]: {1, 2, 4, 5, 8, 9, 10, 17, 20, 20, 24, 25, 26, 33, 34, 35, 35, 37, 37, 40, 42, 42, 47, 48, 48, 52, 52, 54, 61, 63, 64, 67, 73, 76, 76, 80, 80, 86, 89, 90, 91, 94, 96}. Решение: прямоугольники в полосах размещены таким образом: 1-я полоса — {2, 8, 9, 17, 24, 25, 33, 35, 37, 42, 42, 48, 52, 61, 64, 67, 76, 80, 89, 90, 96} ; 2-я полоса— {1, 4, 5, 10, 20, 20, 26, 34,
35, 37, 40, 47, 48, 52, 54, 63, 73, 76, 80, 86, 91, 94}. Занятая часть первой полосы— 997, занятая часть второй — 996. Минимальная длина занятой части полос Z*= 997.
4. Количество прямоугольников p=37; количество полос m=2; время счета — 0 мин 47,6 с; длины прямоугольников выбираются на интервале [ 1... 100]: {3, 4, 7, 11, 11, 12, 15, 17, 17, 21, 23, 31, 35, 43, 45, 46, 48, 50, 56, 58, 65, 69, 70, 71, 72, 73, 74, 74, 74, 76, 77, 80, 82, 80, 85, 86, 95}. Решение: прямоугольники в полосах размещены таким образом: 1-я полоса — {3, 4, 11, 15, 17, 23, 31, 45, 46, 56, 58, 69, 71, 73, 74, 76, 80, 82, 95}; 2-я полоса — {7, 11, 12, 17, 21, 35, 43, 48, 50, 65, 70, 72, 74, 74, 77, 80, 85, 86}.
116
РИ, 1998, № 3
Занятая часть первой полосы — 929, занятая часть второй полосы— 927. Минимальная длина занятой части полос Z*=929.
5. Количество прямоугольников p=34; количество полос m=2; время счета — 0 мин 43,32 с; длины прямоугольников выбираются на интервале [1...100]: {1, 2, 2, 5, 5, 6, 6, 8, 14, 16, 18, 24, 26, 26, 30, 31, 34, 35, 39, 45, 48, 56, 57, 57, 66, 68, 74, 76, 79, 85, 86, 90, 92, 96}. Решение: прямоугольники в полосах размещены таким образом: 1-я полоса — {1, 2, 2, 5, 6, 14, 24, 26, 30, 35, 45, 48, 57, 66, 74, 85, 90, 92}; 2-я полоса— {5, 6, 8, 16, 18, 26, 31, 34, 39, 56, 57, 68, 76, 79, 86, 96}. Занятая часть первой полосы — 702, занятая часть второй полосы — 701. Минимальная длина занятой части полос Z*=702.
6. Количество прямоугольников p=25; количество полос m=3; время счета — 3 мин 34 с; длины прямоугольников выбираются на интервале [ 1... 10]: {1, 1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9}. Решение: прямоугольники в полосах размещены таким образом: 1-я полоса — {1, 2, 3, 4, 6, 7, 8, 8, 9}; 2-я полоса — {2, 3, 5, 6, 6, 8, 9, 9};3-я полоса — {1, 2, 3, 5, 5, 7, 8, 9, 9}. Занятая часть первой полосы — 48, занятая часть второй полосы — 48, занятая часть третьей полосы — 47. Минимальная длина занятой части полос Z*=48.
7. Количество прямоугольников p=23; количество полос m=2; время счета — 0 мин 58 с; длины прямоугольников выбираются на интервале [1... 100]: {6, 6, 7, 17, 27, 31, 33, 34, 36, 47, 50, 57, 61, 65, 65, 66, 68, 69, 70, 73, 81, 85, 98}. Решение: прямоугольники в полосах размещены таким образом: 1-я полоса— {6, 6, 7, 17, 27, 33, 34, 36, 47, 50, 57, 61, 65, 65, 66}; 2-я полоса — {31, 68, 69, 70, 73, 81, 85, 98}. Занятая часть первой полосы — 577, занятая часть второй полосы — 575. Минимальная длина занятой части полос Z*=577.
8. Количество прямоугольников p=20; количество полос m=4; время счета 2 мин 4,57 с; длины прямоугольников выбираются на интервале [1...100]: {1, 5, 11, 12, 28, 29, 40, 48, 48, 53, 53, 56, 57, 68, 79, 82, 88, 89, 90, 93}. Решение: прямоугольники в полосах размещены таким образом : 1-я полоса — {48, 53, 68, 88}; 2-я полоса — {11, 28, 48, 82, 89}; 3-я полоса— {29, 40, 53, 56, 79}; 4-я полоса— {1, 5, 12, 57, 90, 93}. Занятая часть первой полосы-257, занятая часть второй полосы — 258, занятая часть третьей — 257, занятая часть четвертой полосы — 258. Минимальная длина занятой части полос Z*=258.
Вычислительные эксперименты проводились с количеством прямоугольников p<50 и количеством полос m<4.
Приведенные результаты свидетельствуют об эффективности применения метода отсечений к решению такого класса задач.
Литература: 1.Канторович Л.В., Залгаллер В.А. Рациональный раскрой промышленных материалов. М.: Наука, 1971. 299с. 2.Канторович Л.В., Залгаллер В.А. Расчет рационального раскроя промышленных материалов. Л.: Лениздат, 1957. 197с. 3. Стоян Ю.Г., Емец О.А. О комбинаторных задачах размещения прямоугольников // Экономика и мат. методы. 1985. Т.21. Вып.5. С.868-881. 4. Стоян Ю.Т., Ємець О.О. Теорія і методи евклідової комбінаторної оптимізації. К.: 1н.-т систем. досліджень освіти. 1993. 188с. 5.Дикарев В.А., Кольцов В.П., Мельников А.Ф., ШкляровЛ.И. Вычислительные методы в задачах радиоэлектроники. Киев, 1989. 304с. 6.Мухачева Э.А. Рациональный раскрой промышленных материалов. Применение АСУ. М.: Машиностроение, 1984. 176 с. 7.Белякова Л.Б. Об оптимальном раскрое листового металла / В кн.: Автоматизация технологического проектирования при помощи ЭВМ. М.: Наука, 1966. С. 105-115. 8.Емец О.А. Комбинаторная модель и приближенный метод с априорной оценкой решения оптимизационной задачи размещения разноцветных прямоугольников // Экономика и мат. методы. 1993. Т.29. Вып. 2. С.294-304 9. Емец О.А. Об одном методе отсечения для задач комбинаторной оптимизации // Экономика и мат. методы. 1997. Т.33. Вып.4. С. 120-129 10. Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов. М.: Наука, 1980. 160с. 11. Емец О.А., Емец Е.М. Отсечения в линейных частично комбинаторных задачах евклидовой комбинаторной оптимизации / Полтава, Полт. техн. ун-т., 1995. 21с. Деп. в ГНТБ Украины 01.12.95, №2562-Ук 95. 12. Kelley I.E. The cutting plane method for solving convex programs // SIAM I. 1960. Vol.8. P.703-712. 13. Реклейтис Г., Рейвиндран А., Рэгсдел К. Оптимизация в технике: В 2-х кн. Кн.1. М.: Мир, 1986. 352с. 14. Ермольев Ю.М., Ляшко И.И., Михалевич В.С., Тюптя В.И. Математичекие методы исследования операций. К.: Вища шк., 1979. 312с.
Поступила в редколлегию 18.09.98 Рецензент: д-р техн. наук Гиль Н.И.
Емец Олег Алексеевич, д-р физ-мат. наук, доцент, заведующий кафедрой высшей математики Полтавского государственного технического университета им. Юрия Кондратюка. Научные интересы: комбинаторная оптимизация. Увлечения: бадминтон, филателия. Адрес: Украина, 314601, Полтава, пр. Первомайский, 24, тел. (05322) 7-46-48, 2-07-30, (05322) 7-97-18.
Емец Елизавета Михайловна, старший преподаватель кафедры информационно-вычислительных систем Полтавского кооперативного института. Научные интересы: комбинаторная оптимизация, комбинаторные множества. Увлечения: вязание, макраме. Адрес:Украина, 314003, Полтава, ул.Коваля, 2, тел. (05 322) 2-16-71, (05322) 7-97-18.
Колечкина Людмила Николаевна, аспирантка кафедры высшей математики Полтавского государственного технического университета им. Юрия Кондратюка. Научные интересы: комбинаторная оптимизация, программирование. Увлечения: музыка, шейпинг, плаванье. Адрес: Украина, 314601, Полтава, пр. Первомайский, 24, тел. (05322) 7-46-48, 2-0730, (0532) 66-69-15.
РИ, 1998, № 3
117