Научная статья на тему 'Решение задачи поиска оптимального столбца в условиях оптимального раскроя бумажного полотна'

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

CC BY
475
61
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСКРОЙ БУМАЖНОГО ПОЛОТНА / CUTTING THE PAPER / ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / DYNAMIC PROGRAMMING / ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ / LINEAR PROGRAMMING

Аннотация научной статьи по математике, автор научной работы — Урбан Александр Ромолдович

Приводится описание поиска оптимального столбца при реализации метода генерации столбцов для решения задачи раскроя бумажного полотна. Исходная задача представляет собой поиск множества планов раскроя, обеспечивающего выработку всей продукции в требуемых количествах с наименьшими отходами в форме кромок материала. Выбор метода генерации столбцов обусловлен большим множеством вариантов раскроя. Отсюда возникает задача поиска оптимального столбца на каждой итерации посредством решения вспомогательной задачи линейного раскроя с учетом большого количества технологических ограничений. Решение производится средствами линейного и динамического программирования, исследована корректность использования указанных в статье алгоритмов в условиях поставленной задачи. Задача осложняется учетом директивных сроков заказов продукции, входящих в раскрои. Предложенный алгоритм, являющийся частью программной системы, был протестирован на наборе реальных производственных данных предприятий целлюлозно-бумажной промышленности. В результате тестирования было зафиксировано повышение выхода полезной продукции при использовании разработанной программной системы на 1-2%.

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

SOLUTION OF THE PROBLEM OF FINDING THE OPTIMAL COLUMN IN TERMS OF OPTIMAL PAPER CUTTING

This paper describes the search of the optimal column in terms of the column generation method for solving the problem of paper cutting. The initial problem is a search for a set of cutting plans, providing the production of all products in the required amounts with minimal waste of material in the edge. The column generation method was chosen due to the large variety of options cutting. This raises the problem of finding the optimal column at each iteration by solving the auxiliary problem of linear cutting given the large number of technological parameters. The solution is arrived at by means of linear and dynamic programming, the correctness of using these algorithms in the conditions of the problem is also investigated. The problem is complicated by considering the deadlines of production orders. The algorithm developed, which is part of a software system, has been tested on a set of real industrial data of pulp and paper mills. As a result of testing a 1-2 percent increase of useful production using the software system was observed.

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

УДК 519.85 А. Р. Урбан

Вестник СПбГУ. Сер. 10. 2015. Вып. 1

РЕШЕНИЕ ЗАДАЧИ ПОИСКА ОПТИМАЛЬНОГО СТОЛБЦА В УСЛОВИЯХ ОПТИМАЛЬНОГО РАСКРОЯ БУМАЖНОГО ПОЛОТНА

Петрозаводский государственный университет, Российская Федерация, 185910, Петрозаводск, проспект Ленина, 33

Приводится описание поиска оптимального столбца при реализации метода генерации столбцов для решения задачи раскроя бумажного полотна. Исходная задача представляет собой поиск множества планов раскроя, обеспечивающего выработку всей продукции в требуемых количествах с наименьшими отходами в форме кромок материала. Выбор метода генерации столбцов обусловлен большим множеством вариантов раскроя. Отсюда возникает задача поиска оптимального столбца на каждой итерации посредством решения вспомогательной задачи линейного раскроя с учетом большого количества технологических ограничений. Решение производится средствами линейного и динамического программирования, исследована корректность использования указанных в статье алгоритмов в условиях поставленной задачи. Задача осложняется учетом директивных сроков заказов продукции, входящих в раскрои. Предложенный алгоритм, являющийся частью программной системы, был протестирован на наборе реальных производственных данных предприятий целлюлозно-бумажной промышленности. В результате тестирования было зафиксировано повышение выхода полезной продукции при использовании разработанной программной системы на 1—2%. Библиогр. 10 назв.

Ключевые слова: раскрой бумажного полотна, динамическое программирование, линейное программирование.

A. R. Urban

SOLUTION OF THE PROBLEM OF FINDING THE OPTIMAL COLUMN IN TERMS OF OPTIMAL PAPER CUTTING

Petrozavodsk State University, 33, Lenin' avenue, Petrozavodsk, 185910, Russian Federation

This paper describes the search of the optimal column in terms of the column generation method for solving the problem of paper cutting. The initial problem is a search for a set of cutting plans, providing the production of all products in the required amounts with minimal waste of material in the edge. The column generation method was chosen due to the large variety of options cutting. This raises the problem of finding the optimal column at each iteration by solving the auxiliary problem of linear cutting given the large number of technological parameters. The solution is arrived at by means of linear and dynamic programming, the correctness of using these algorithms in the conditions of the problem is also investigated. The problem is complicated by considering the deadlines of production orders. The algorithm developed, which is part of a software system, has been tested on a set of real industrial data of pulp and paper mills. As a result of testing a 1—2 percent increase of useful production using the software system was observed. Bibliogr. 10.

Keywords: cutting the paper, dynamic programming, linear programming.

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

Урбан Александр Ромолдович — аспирант; e-mail: alexrurban@gmail.com

Urban Alexander Romoldovich — post-graduate student; e-mail: alexrurban@gmail.com

с учетом директивных сроков отгрузки продукции [1]. Как и для многих задач раскроя [2, 3], основная сложность задачи обусловлена наличием большого множества вариантов планов раскроя в силу характеристик бумагоделательных машин и параметров продукции [4, 5]. По этой причине используется метод генерации столбцов и соответственно возникает задача поиска оптимального столбца на каждой итерации симплекс-метода для включения в базисное множество [6].

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

Для описания общей задачи введем следующие индексные множества: N - индексное множество заказов продукции, г € N; Ы - индексное множество бумагоделательных машин, ] € Ы; Т - индексное множество периодов времени, £ € Т; К -индексное множество способов раскроев бумажного полотна, к € К; Nk С N - индексное множество заказов, которые кроятся в раскрое к € К.

Введем параметры заказа продукции: 1г - формат (ширина) рулона для заказа, г € N; ¿т - минимальное значение диаметра рулона для заказа, г € N; ¿м - максимальное значение диаметра рулона для заказа, г € N; шг - стандартная масса (г/м2) бумажного полотна для заказа, г € N; Бг - директивный срок заказа, г € N; Ог -признак «не край» для заказа, г € N (0 - если заказ может располагаться с краю раскроя, 1 - иначе); хг - количество рулонов заказа с номером г € N.

В соответствии с технологическими ограничениями раскрой должен удовлетворять таким ограничениям:

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

П [¿ГЛМ = к € К.

• Все заказы одного раскроя характеризуются одной стандартной массой:

шр = , р € Щ, д € Щ, к € К.

• Каждый съем тамбура, подлежащий раскрою, выполняется на одной бумагоделательной машине полностью. Тамбур - металлический вал бумагоделательной машины, на который наматывается бумажное полотно, съем тамбура - бумажное полотно, намотанное на тамбур и получаемое в результате его размотки.

• Время готовности заказа совпадает со временем окончания последнего раскроя, в котором участвует заказ.

Согласно условию оптимальности симплекс-метода для поиска оптимального столбца, необходимо решить вспомогательную задачу (Р) [7]:

—оАк + ок ^ тах .

В рамках указанных ограничений задача поиска оптимального столбца (Р) может быть сформулирована так:

Р = maXjeм,d£D,w£W,t£T {Р^™} ,

где Ш = {шг, г € N} - множество всех уникальных стандартных масс для заказов; Б = ], г € \..\Y\ — 1} - множество всех элементарных отрезков возможных

диаметров заказов, которое строится на базе множества нижних и верхних оценок диаметров заказов:

Ру = {¿т, г е Щи^М, г е N} и {0} = {¿т, т е У : 0 = <¿2 < ... < ¿у|} . Таким образом, исходная задача (Р) может быть разбита на ряд задач

maXjeм,deD,wew,teт ,

каждая из которых представляет собой поиск оптимального столбца для некоторой бумагоделательной машины ] е М, некоторого отрезка возможных диаметров с! £ Р, некоторой стандартной массы и> е Ш и периода времени Ь е Т, до которого должен быть сделан раскрой. Далее будет доказано, что дискретного перебора по времени достаточно для достижения оптимума задачи.

Следовательно, ответ общей задачи может быть получен как максимум среди независимых задач, что следует из механизма симплекс-метода для получения оптимального столбца. В конечном итоге находим \Ш\ х \Р\ х \М\ генераторов столбцов (метод генерации столбцов [6]), в каждом из которых решается задача шах^т {Р<:}, где Рt := Рс учетом фиксированных ] е £ Р,т £ Ш. Все последующие

выкладки рассматриваются в контексте решения задачи шах^т {Р}

В силу указанного разбиения, без потери общности, укажем для некоторой выделенной бумагоделательной машины ] е М следующие обозначения: Ь - ширина тамбура для бумагоделательной машины; а - максимальная кромка для бумагоделательной машины; р - производительность бумагоделательной машины в сутки; Нт -максимальное количество элементов в раскрое для бумагоделательной машины (обусловлено ограничением количества ножей продольно-резательной машины (ПРМ), используемой для продольной резки бумажного полотна съема тамбура и намотки бумаги в рулоны требуемых размеров); Нм - максимальное количество различных элементов в раскрое (направлено на упрощение структуры раскроя).

Для описания ограничений задачи поиска оптимального столбца нам потребуются дополнительные обозначения: 5г = {!,...,хг} - множество целых чисел в диапазоне от единицы до хг для г е N; Бг = {в^, ] е 5г} - множество координат начал кроя заказа г е N относительно съема тамбура, такое что вц ^ вг2 ^ ■ ■■ ^ .

Укажем ограничения в рамках введенных обозначений [4]:

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

Ь — а < ^^ 1гхг ^ Ь;

• ограничение на максимальное количество элементов в раскрое (с ограничением количества ножей продольно-резательной машины):

^ Хг < Ет;

• ограничение на максимальное количество различных элементов в раскрое (для упрощения структуры раскроя):

\{г\хн > 0}\ < Ем;

• ограничение на «краевые» заказы в раскрое: г0 = {^д} - индекс

первого заказа в раскрое; гт = {si,sí} - индекс последнего заказа в рас-

крое;

== (г' = 0.

Решение задачи поиска оптимального столбца. Распишем данную целевую функцию задачи тах^т {Р^ относительно следующей структуры генерируемого столбца Ль для некоторой бумагоделательной машины ] € М:

Здесь щь - объем выработки продукции заказа с номером г € N в раскрое с номером к € К (ограничения на объемы продукции); 1^x1 - вектор из единиц, соответствующий признакам выработки раскроя с номером к € К на бумагоделательной машине с номером ] € М в течение периода времени Ь € Т (ограничения на выработку бумагоделательных машин); 1/ру - величина, обратная к производительности бумагоделательной машины с номером ] € М (ограничения для равномерной загруженности бумагоделательных машин).

Далее введем обозначения: к € К - номер раскроя; Nt С N = {г € N : Di ^ Ь} -индексное множество заказов продукции, которые могут кроиться на бумагоделательной машине и имеют директивный срок меньше времени Ь € Т; - двойственная оценка для заказа г € Nу^т - двойственная оценка для бумагоделательной машины и периода времени т € Т (ограничение в рамках календарного плана); Vм -двойственная оценка для бумагоделательной машины (ограничение на производительность); сь - доля потерь полотна при использовании раскроя с индексом к € К (в виде кромки).

Целевая функция задачи Рt имеет вид

V1 „ V' „мт !„м

Емт м

V--V + ск тах .

р

ieN4 т eт,т^t 1

Обратим внимание на коэффициенты перед двойственными оценками для ограничений по заказу и производительности бумагоделательной машины. Они обусловлены структурой генерируемого столбца [8].

Решение задачи шах4ег {Рсостоит из таких шагов:

1. Поиск оптимального линейного раскроя съема бумагоделательной машины по заказам продукции.

Введем разбиение задачи на подзадачи со следующими параметрами: / - текущая обработанная ширина съема тамбура машины (начиная с начала); т - текущее количество элементов в раскрое; Ь - текущее количество различных элементов в раскрое; р - текущее количество элементов, которые могут располагаться с краю; ц - номер последнего заказа, с помощью которого была достигнута ширина съема тамбура /.

В результате указанного разбиения задача может быть решена методом динамического программирования посредством рекуррентного соотношения [9, 10]:

/г(/, т, Ь,р, ц) = шт {/г(/ - /,,т- 1,Ь - ДЬ,р - Ар, г) + у^} .

ДЬ

Др

1, Ц = г,

0, иначе; (1)

р< 2 и С, = 0, 0, иначе.

2. Поиск оптимального периода времени.

На данном шаге необходимо определить период времени, который даст максимум задачи шах4ег {Р*} с помощью формулы

шах {Рг} = шах I -/4 (/, то, Ъ, р,ц)~ V - -Vм + ск

4еИ > *6т1 >Р>9) ' р к\- (2)

/ е [Ц - а-], т е [1..Ет], Ь е [1..ЕМ], р е [0..2].

Теорема 1. Алгоритм (1), (2) находит оптимальное решение задачи Р1.

Доказательство. Правильность построения решения /4(/, т, Ь,р, ц) докажем посредством принципа оптимальности решения для подзадачи в динамическом программировании. Предположим, что переход в состояние (/ + /,,т + 1,Ь + ДЬ,р + Др, г) был сделан из состояния (/, т, Ь,р, ц) и последним был взят элемент ц е N1. Если состояние (/, т, Ь,р, ц) не оптимальное, то состояние (/+/,, т+1, Ь+ДЬ,р+Др, г) может быть достигнуто с помощью других элементов с меньшим значением целевой функции. Но по рекуррентному соотношению (1) определен минимум функции именно для такой подзадачи. Следовательно, достигнута оптимальность решения (в контексте минимизации целевой функции) для подзадачи, полученная посредством данного метода. Алгоритм находит оптимальное решение.

Посредством формулы (2) производятся перебор возможных значений параметра £ е Т и пересчет оптимального значения задачи Р1 на основе найденных оптимальных значений /г(/, т, Ь,р, ц) и известных двойственных оценок умг и Vм. □

Замечание. Приведем псевдокод расчета состояний динамического программирования, соответствующий формуле (1):

Перебор ц е N1 Перебор / е 1..Ь Перебор т е 1..Ет Перебор Ь е 1..Ем

Перебор p G 0..2 Перебор i G Nt

ft(l,m,b,p,i) ^ ft(l + lq,m + 1, b+Ab,p + Ap, q)

За счет перебора индекса заказа q на внешнем цикле гарантируется корректность определения параметра Ab (увеличение количества различных элементов), согласно формуле (1), что позволяет избежать хранения списка взятых заказов для данного состояния в виде параметра динамического программирования.

Теорема 2. Сложность алгоритма (1), (2) составляет O(T • N • L • Rm • RM), где T - количество периодов времени, N - количество заказов продукции.

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

Далее, шаги по расчету динамики добавляют к сложности N-L-Rm-RM операций на каждой итерации перебора в силу того, что состояний в динамическом программировании L-Rm -RM, а на переход необходимо N итераций, поскольку номер последнего взятого заказа можно хранить в виде дополнительного аргумента (благодаря тому, что этот подход не нарушает принципа оптимальности подзадачи), а не производить его перебор.

Затем, согласно формуле (2), производится поиск оптимального ответа среди всех возможных состояний (l, m, b,p), что занимает L • Rm • RM операций. В итоге имеем

O(T • (N • L • Rm • RM + L • Rm • RM)) = O(T • N • L • Rm • RM). □

Теорема 3. Дискретного перебора только по периодам времени множества T достаточно для получения оптимума задачи (P).

Доказательство. Допустим, что существует оптимум задачи, который может быть найден за некоторое время t\ G T. Если посмотреть на формулу (2), то можно заметить, что коэффициент vtMT не изменится. Следовательно, ответ будет зависеть исключительно от значений ft(l, m, b,p, q).

Обозначим t2 G T такой, что t2 = arg min {t G T : t ^ ti}. Такое значение всегда есть. Тогда будет верным Ptl = Pt2, в силу того, что множество заказов не изменится: {i G N : Di ^ t1} = {i G N : Di ^ t2}. Таким образом, перебор можно осуществлять только по дискретным периодам времени. □

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

Литература

1. Урбан А. Р., Кузнецов В. А. Математические модели и методы учета сроков продукции в задаче раскроя тамбуров бумагоделательных машин // Учен. зап. Петрозаводск. гос. ун-та. 2014. Вып. 4(141). С. 112-115.

2. Архипов И. В. Математические модели раскроя лесосырья в задачах планирования и управления лесопильным производством // Учен. зап. Петрозаводск. гос. ун-та. 2013. Вып. 8(137). С. 93-97.

3. Архипов И. В. Математические модели и опыт реализации системы планирования раскроя лесосырья // Вестн. С.-Петерб. ун-та. Сер. 10: Прикладная математика, информатика, процессы управления. 2014. Вып. 3. С. 82-92.

4. Воронин А. В., Кузнецов В. А. Прикладные оптимизационные задачи в целлюлозно-бумажной промышленности. Петрозаводск: Изд-во Петрозаводск. гос. ун-та, 2000. 152 с.

5. Кузнецов В. А. Задачи раскроя в целлюлозно-бумажной промышленности. СПб.: Изд-во С.-Петерб. лесотехн. академии, 2000. 132 с.

6. Lasdon S. Optimization Theory for Large Systems. New York: Macmillan Co., 1970. 523 p.

7. Gass S. I. Linear Programming: Methods and Applications. Fifth edition. New York: McGraw-Hill, 1985. 544 p.

8. Гольштейн Е. Г. Теория двойственности в математическом программировании и ее приложения. М.: Наука, 1971. 352 с.

9. Bellman R., Dreyfus S. Applied Dynamic Programming. Princeton, New Jersey: Princeton University Press, 1962. 363 p.

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

10. Bellman R. Dynamic Programming. New York: Dover Publications, 1957. 384 p.

References

1. Urban A. R., Kuznetcov V. A. Matematicheskie modeli i metody ucheta srokov produkcii v zadache raskroja to,mburov bumo,god,elo,tel'nyh mashin (Mathematical models and methods for taking into account products' deadlines in the problem of cutting paper machine). Uchen. zap. Petrozavodsk. gos. un-ta, 2014, issue 4(141), pp. 112-115.

2. Arhipov I. V. Matematicheskie modeli raskroja lesosyr'ja v zadachah planirovanija i upravlenija lesopil'nym proizvodstvom (Mathematical models of cutting forest raw materials in problems of planning and management sawmill). Uchen. zap. Petrozavodsk. gos. un-ta, 2013, issue 8(137), pp. 93-97.

3. Arhipov I. V. Matematicheskie modeli i opyt realizacii sistemy planirovanija raskroja lesosyr'ja (Mathematical models and experience in the implementation of the planning system for cutting forest raw materials). Vestn. of St. Petersburg University. Serie 10: Applied mathematics, computer science, control processes, 2014, issue 3, pp. 82-92.

4. Voronin A. V., Kuznetcov V. A. Prikladnye optimizacionnye zadachi v celljulozno-bumazhnoj promyshlennosti (Applied optimization problems in the pulp and paper industry). Petrozavodsk: Izd-vo Petrozavodsk. gos. un-ta, 2000, 152 p.

5. Kuznetcov V. A. Zadachi raskroja v celljulozno-bumazhnoj promyshlennosti (Cutting problems in the pulp and paper industry). St. Petersburg: Izd-vo S.-Peterb. lesotehn. akademii, 2000, 132 p.

6. Lasdon S. Optimization Theory for Large Systems. New York: Macmillan Co., 1970, 523 p.

7. Gass S. I. Linear Programming: Methods and Applications. Fifth edition. New York: McGraw-Hill, 1985, 544 p.

8. Golshtein E. G. Teorija dvojstvennosti v matematicheskom programmirovanii i ee prilozhenija (Duality theory in mathematical programming and its applications). Moscow: Nauka, 1971, 352 p.

9. Bellman R., Dreyfus S. Applied Dynamic Programming. Princeton, New Jersey: Princeton University Press, 1962, 363 p.

10. Bellman R. Dynamic Programming. New York: Dover Publications, 1957, 384 p.

Статья рекомендована к печати проф. В. Ю. Добрыниным. Статья поступила в редакцию 13 ноября 2014 г.

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