Научная статья на тему 'Решение задачи линейного раскроя с помощью метода группировки'

Решение задачи линейного раскроя с помощью метода группировки Текст научной статьи по специальности «Математика»

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

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

In this article we proposed the grouping method that allows essentially increase the efficiency of fuctioning of the simplex algorithm and the branch-and bound method for the solution of the linear one dimensional cutting stock problem.

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

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

ТпХД, T\zj), T*(zt)) = ТП2Пз(Д15 T*(zj), T*(zt)),

являющееся системой линейных уравнений относительно неизвестных Т (z j), Т (z к),

позволяющей эти неизвестные однозначно определить. После этого распределение теплового поля в областях nls q2 и Q3 можно найти из соотношений (24) и (25).

На основе предложенной схемы реализуется алгоритм совместного расчета электрического и теплового полей, например, с учетом зависимости электрической проводимости электролита от температуры. Отметим, что рассмотренный подход позволяет свести исходную задачу к совокупности независимых задач, что допускает эффективное использование алгоритмов параллельного счета с применением многопроцессорной вычислительной техники.

ЛИТЕРАТУРА

1. Иоссель Ю.Я. Расчет потенциальных полей в энергетике. Л.: Энергия, 1978. 351 с.

2. Болотнов А.М. Методы граничных элементов в расчетах электрических полей. Уфа: РИО БашГУ, 2002. 144

с.

3. Иванов В.Т., Щербинин С.А., Галимов А.А. Математическое моделирование электромассопереноса в сложных системах. Уфа: УрО АН СССР, 1991. 199 с.

4. Болотнов А.М., Иванов В.Т., Кильдибекова Г.Я., Махмутов М.М. и др. Методы расчета трехмерных краевых задач для эллиптических уравнений в многосвязных областях с цилиндрическими границами. Деп. в ВИНИТИ 4.12.86. № 8870 -В86. Уфа: БГУ, 1986. 49 с.

5. Иванов В.Т., Глазов Н.П., Махмутов М.М. Расчет трехмерных полей в неоднородной среде с

протяженными тонкими цилиндрическими электродами // Электричество, 1985, №6. С. 48 - 52.

6. Махмутов М.М., Хисаметдинов Ф.З., Мансуров Я.Я. Расчет параметров электрического поля на

поверхности цилиндрического электрода в неоднородной среде //Сб. тр. рег. науч. - техн. конф. Магнитогорск: МГТУ, 2004. С. 182 - 185.

Поступила в редакцию 20.06.05 г.

УДК 681.3

РЕШЕНИЕ ЗАДАЧИ ЛИНЕЙНОГО РАСКРОЯ С ПОМОЩЬЮ МЕТОДА ГРУППИРОВКИ

Картак В.М*

1. Введение

Классическая задача одномерного раскроя состоит в следующем: заданы длина L раскраиваемого материала (прутков) и длины li получаемых из него заготовок m наименований, а также необходимое

количество bi каждой заготовки вида 1 = 1, m . Требуется рассчитать оптимальный план раскроя, обеспечивающий минимальный расход материала. Согласно Dyckhoffs типологии раскроя и упаковки - это проблема типа 1/V/1/M [1]. Задача одномерной упаковки P=(L,m,l) (Bin-Packing Problem, ВРР) c

l = (lj,l2,...,lm) является частным случаем задачи одномерного раскроя E=(L,m,l,b) (Cutting Stock Problem,

CSP) c b = (bj ,..., bm ) и bj > 1, i = 1, m . Известно, что обе задачи могут быть сформулированы как задачи целочисленного раскроя и относятся к классу NP-трудных проблем.

1. Свойство целочисленного округления (IRUP) для задачи линейного целочисленного раскроя.

Пусть М - число всевозможных карт раскроя. Каждый допустимый способ раскроя прутка можно представить в виде m-мерного вектора aj=(alj, a2J, ..., amj)T, j=l,...,M с целочисленными неотрицательными

компонентами, для которого выполнено ограничение ^^ < £ Данный вектор aj, j=l,...,M называется

i=11 У

картой раскроя, aу - количество i-х заготовок, входящих в j-ю карту раскроя, М - число всевозможных карт раскроя. Целое Xj есть число прутков, которые должны быть разделены в соответствии с картой раскроя aj.

Картак Вадим Михайлович - к.ф.-м.н., доцент каф дифференциальных уравнений БашГУ

Тогда задача одномерного раскроя E=(L,m,l,b) может быть смоделирована как задача линейного целочисленного программирования ЦЛП [2].

^ М

z = Е x . ^ min , Ax = b, x є Z . (і)

j = 1 J +

Матрица A размеров тхМ содержит все карты раскроя а, как столбцы. Обозначим оптимальное значение задачи (1) как Z (Е). Для получения нижней границы оптимального значения задачи (1) решают аналогичную задачу линейного программирования ЛП без условия целочисленности на вектор х:

м

'tx . ^ min, Ax = b, xє R+f. (2)

,=i

Пусть ZS(E) есть оптимальное значение задачи (2). Поскольку число М для реальных задач достаточно велико, то задача (2) решается симплекс-методом с неявно заданной матрицей ограничений. При этом максимальное число ненулевых элементов x не превосходит числа т (размера базисного множества).

Onpeдeлeнue І. Разность между оптимальным значением задачи ЦЛП (І) и верхним целочисленным

округлением оптимального значения задачи ЛП (2) SZ (Е) = Z ■( Е) — IX (Е )1 назовем разрывом задачи Е=(Ь,»,1,Ь).

Onpeдeлeнue 2. Говорят, что задача Е=(Ь,»,1,Ь) обладает свойством целочисленного округления (IRUP, integer round-up property), если ее разрыв равен нулю: 8Z(E)= О.

На данный момент неизвестен пример задачи E=(L,m,l,b), имеющей разрыв больше 1, поэтому для всех известных задач линейного раскроя справедливо одно из двух равенств: или 8Z(E)=0, или 8Z(E)=l.

Многочисленные вычислительные эксперименты показали, что для большинства задач 1CSP верно равенство 8Z=0 (подробнее см. [2], [3]). Благодаря этому на данный момент в мире существует множество алгоритмов, позволяющих получать оптимальные решения для задач большой размерности. Они используют значение Z (Е )1 как нижнюю границу для Z*(E) и пытаются найти решение, достигающее ее (см. [4], [5]). Однако в

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

Ответ на этот вопрос может дать либо полный перебор всевозможных допустимых вариантов [5], либо использование алгоритмов, базирующихся на схемах решения задачи целочисленного программирования. Как в первом, так и во втором случае решение требует существенных временных затрат, кроме того, появляются трудности при проверке результатов (возможны ошибки при программной реализации алгоритмов, проверить их работу другими средствами крайне затруднительно). (См. [6].)

1. Использование свойства IRUP для решения задач с большой комплектностью

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

В связи с этим схема применения переборного алгоритма будет выглядеть следующим образом. Пусть дана некоторая задача Е :

1. Решается соответствующая Е задача LP.

2. Исходя из решения задачи LP формируется задача остатка Е = (т, l, L, b — A\jCс J).

3. Решается задача Е алгоритмом МВВ.

4. Если задача остатка обладает свойством IRUP, то оптимальное решение найдено, иначе для получения оптимального решения необходимо применить переборный алгоритм для всей задачи Е.

Описанная схема во многих случаях позволяет находить оптимальные решения для задач с большой комплектностью заготовок. Однако, когда число типов заготовок велико (>100), а требуемая их комплектность мала (<5), данная схема будет работать неэффективно, т.к. остаточная задача практически не будет отличаться от исходной и применение LP не позволит сократить размерность задачи, которую необходимо решать переборным алгоритмом. Далее будет рассмотрен прием, позволяющий существенно сокращать размерность таких задач и, следовательно, получать для них оптимальное решение.

2. Метод группировки

Будем говорить, что задача Ег доминирует над Е2, если каждой заготовке из Ег можно сопоставить заготовку из Е2 так, чтобы для каждой из получившихся пар выполнялось условие: 1ц<1%.

Идея метода группировки заключается в следующем. Из исходной задачи Е генерируется некоторая другая задача Ег, которая содержит меньшее число типов заготовок при увеличении их комплектности. При этом общее число заготовок Е иЕг одинаково. Генерируемая задача Ег должна отвечать следующим условиям :

1°. Е доминирует над Ег.

2о. Выполняется условие ГХс(Е) 1=Г2с(Ег) 1.

Зо. Задача Ег - обладает свойством 1КиР.

Лемма 1. Если задача Ег удовлетворяет условиям 1°, 2°, 3°, то значения оптимального целочисленного решения задач Е иЕг совпадают, т.е. X (Ег)=Х (Е).

Из 2о, Зо следует г*(£г)= Ггс(£г)1 = Ггс(£) 1 < Ъ*(Е), но г*(£г) > г*(£), следовательно Ъ\Ег)=Ъ\Е).

В силу того, что задача Ег содержит меньшее число типов заготовок по сравнению с Е, остаточная задача

Ег будет иметь меньшую размерность, чем £ , следовательно, время, затрачиваемое на её решение, уменьшается.

Очевидно, что из решения к*(Ег) и соответствующего ему плана раскроя получается план, удовлетворяющий условию задачи Е, с выполнением условия к*(£,г)=к*(£'). Это следует из доминантности задачи Е над Ег. (Получение окончательного решения осуществляется путем замены заготовок в плане раскроя для задачи Ег на парные им (по доминантности) из Е ).

Существует несколько различных способов преобразования задачи Е в Ег; один из них выглядит следующим образом.

Е Е Е Ег Ег Ег

Пусть дана исходная задачаЕ=(Ь,т ,1 и,Ь ;). Тогда соответствующая ейЕг=(Ь,т ,1 и,Ь ;) получается путем разбиения всех заготовок из Е на группы так, чтобы максимальная разница между длинами заготовок, входящими в группу, не превышала некоторую величину Кг,

где тЕт - количество получившихся групп;

»Рг ~ • -

I и - максимальная длина заготовки, находящейся в 1-и группе;

1 Рг • 1 Рг

Ь и - количество заготовок, входящих в 1-ю группу; 1=1..т

Если задача Ег отвечает условиям 2о и Зо, процесс построения прекращается, иначе уменьшается значение Кг и процесс повторяется. Очевидно, что при значении Лг=1 процесс необходимо остановить, так как Ег станет равной Е.

3. Применение метода группировки для повышения эффективности симплекс алгоритма

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

Редуцируем задачу (1), получим новую задачу:

Р=(Ъ, I„ Ь) (3)

В редуцированной задаче (3)

^ё~(('ё1> 22 ■■■ , 1ё(т-1))> Ьё=(Ьё1, Ьё2, ■■■ , Ьg(т-l))>.

= тах(/1,12Х Ьё, = ^ + Ь2, 1ёк = 1к+1, Ьёк = Ьк+1, к = 3,..., т -1.

Пусть известно некоторое решение задачи Рё. Оно состоит из невырожденной матрицы А размеров (т-

1)х(т-1) и вектора х=(х1, х2, хт-1) таких, что

т-1 т-1

£ау'1ё1 < L, 1 = 1’2’-’т -1; Еацх] > Ь^, 7 = I,2,...,т -1.

]=1 1=1

Теперь мы можем построить решение первоначальной проблемы Р (1). Это невырожденная матрица А ” размеров тхт и вектор х”=(х1 ”, х2”, ..., хт”) такие, что

т т „

Еа^-11 < ь, I = l,2,...,т; Еа,1 х,> Ь;, у = l,2,...,т.

У=1 <=1

по следующему правилу.

Пусть существует номер к такой, что выполнено условие

Е а11 х1 = Ь1. (4)

1=1

Тогда определим х1 = х1, ] = 1,2,..., т — 1, хт = 0.

Если условие (5) не выполнено, тогда мы ищем номер к такой, что

к к-1

Е aj х- > b , Е ai- х- < bv (5)

>=i >=i

Тогда ^ = х-, j = 1,2,..., к -1, к +1,..., т -1, х; = b, - Е*1Л, х! = х* - xI.

j=l

Теперь у нас есть матрица А

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

' ail a!2 a 1( т -1) 00

2 a a a т 0

0 a (к+1)2 a( к+1)( т-1) a ы( к+1)1

АЛЛ Л

0 a( 1)2 (т-1)2 a КЛ( и-1)(т-1) a( П1 (т -1)1

0 a, 2 у к 2 a т a и «1 j

Лемма 2. Матрица А ’ ’ невырожденная.

Базируясь на Лемме 3 можно предложить следующую модификацию симплекс алгоритма.

Шаг 1. Строится Pg=(L, lg, bg).

Шаг 2. Симплекс алгоритмом решается Pg

Шаг 3. Разгруппировывается Pg и строится решение задачи P .

Шаг 4. Решается с помощью симплекс алгоритма задача Р, где в качестве начального решения используется А .

При необходимости данную схему можно повторять несколько раз.

Заключение

Предложенный в статье метод успешно прошел тестирование для задач линейного раскроя, содержащих порядка 500-1000 типов заготовок. Он позволяет в несколько раз сократить время работы симплекс алгоритма.

ЛИТЕРАТУРА

1. Dykhoff Н. А typology of cutting and packing problems // Evropean Journal of Operational research. 1990. Vol. 44. P. 145-159.

2. Мухачева Э.А., Рубинштейн Г.Ш. Математическое программирование // Новосибирск. Наука СО. 1987. 272 с.

3. Nitsche С., Scheithauer G., Terno J. New cases of the cutting stock problem having MIRUP. // Math. Meth. Oper. Res. 1998. Vol. 48. P.105-115.

4. Scheithauer G. and Terno J., Theoretical Investigations on the Modified Integer Roundup Property for the One-dimensional Cutting Stock Problem, Operations Research Letters, 20, (1997) pp. 93-100.

5. Mukhacheva E.A., Belov G.N., Kartak V.M., Mukhacheva A.S. Linear one-dimensional cutting-packing problems: numerical experiments with sequential value correction method (SVC) and a modified branch-and-bound method (MBB) // Pesquisa Operacional. 2000. 20(2). P.153-168.

6. Картак В.М. Необходимое условие для выполнения свойства ИРАП в задаче линейного раскроя // Автоматика и телемеханика, Т.65, №3, С. 407 - 412, 2004.

Поступила в редакцию 06.07.05 г.

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