Научная статья на тему 'Исследование задачи выполнения заказов партиями с критерием минимизации взвешенной суммы моментов завершения'

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

CC BY
239
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
РАСПИСАНИЕ / ВЫПОЛНЕНИЕ ТРЕБОВАНИЙ ПАРТИЯМИ / СЛОЖНОСТЬ ЗАДАЧИ / ПРИБЛИЖЕННОЕ РЕШЕНИЕ / BATCH SCHEDULING / NP-HARDNESS / APPROXIMATION ALGORITHM

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

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

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

The analysis of batch scheduling problem with an objective to minimize total weighted completion time

In this paper, we consider the batch scheduling problem with bounded size of batches, with an objective to minimize total weighted completion time. There is proved NP-hardness of this problem. Also it proposes the algorithm for finding an approximate solution. Results of numerical experiment are presented.

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

Библиографический список

1. Crovella, M. E., Taqqu M., Bestavros A. Heavy Tailed-Probability distributions in the World Wide Web, 5 (6), December 1997, pp. 835-846.

2. Resaul, K. M., Grout, V. A Comparison of Methods for Estimating the Tail Index of Heavy-tailed Internet Traffic, in Innovative Algorithms and Techniques in Automation, Industrial Electronics and Telecommunications, Springer, Dordrecht, 2007, pp. 219-222.

3. Задорожный, В. Н. Предпосылки создания фрактальной теории массового обслуживания / В. Н. Задорожный // Омский научный вестник. Сер. Приборы, машины и технологии. — 2010. — № 2 (90). — С. 182—187.

4. Задорожный, В. Н. Проблемы генерации случайных величин с фрактальными распределениями / В. Н. Задорожный, О. И. Кутузов // Омский научный вестник. Сер. Приборы, машины и технологии. — 2012. — № 3 (113). — С. 20 — 24.

5. Zadorozhnyi, V. N. Simulation modeling of fractal queues, in Dynamics of Systems, Mechanisms and Machines (Dynamics), 2014, December, 2014, pp. 1—4. — DOI: 10.1109/Dynamics. 2014.7005703.

6. GPSS World reference manual. Minuteman Software, Fifth Edition, Holly Springs, NC, U.S.A., 2009 [Электронный ресурс]. — Режим доступа : http://www.minutemansoftware.com/reference/ rpreface.htm (дата обращения: 30.03.2015).

7. Клейнрок, Л. Вычислительные системы с очередями / Л. Клейнрок ; пер. с англ. Б. С. Цыбакова. — М. : Мир. — 1979. — 600 с.

8. Вишневский, В. М. Теоретические основы проектирования компьютерных сетей / В. М. Вишневский. — М. : Технософия. — 2003. — 512 с.

9. Мандельброт, Б. Фрактальная геометрия природы / Б. Мандельброт ; пер. с англ. — М. : Ин-т компьютерных исследований, 2002. — 656 с.

ЗАДОРОЖНЫЙ Владимир Николаевич, доктор технических наук, доцент (Россия), профессор кафедры автоматизированных систем обработки информации и управления.

Адрес для переписки: [email protected]

Статья поступила в редакцию 31.03.2015 г. © В. Н. Задорожный

УДК 519.2+621.391

А. А. РОМАНОВА

Омская юридическая академия

ИССЛЕДОВАНИЕ ЗАДАЧИ ВЫПОЛНЕНИЯ ЗАКАЗОВ ПАРТИЯМИ С КРИТЕРИЕМ МИНИМИЗАЦИИ ВЗВЕШЕННОЙ СУММЫ МОМЕНТОВ ЗАВЕРШЕНИЯ_

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

Ключевые слова: расписание, выполнение требований партиями, сложность задачи, приближенное решение.

Задачи теории расписаний состоят в определении оптимальной очередности обработки изделий на различных станках или других рабочих местах, составлении программы-диспетчера для управления работой ЭВМ в мультипрограммном режиме и т. п. Подобные задачи возникают во многих сферах человеческой деятельности: образовании, транспорте, управлении, информатике, производстве, сельском хозяйстве.

Многие современные производственные системы обслуживают схожие либо идентичные требования партиями. Требования одной и той же партии обслуживаются прибором непосредственно друг за другом либо одновременно. Такая технология приводит к снижению транспортных издержек и затрат на переналадки оборудования, что особенно актуально в настоящее время. Монография [1] посвящена обзору подобного рода задач в различных условиях.

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

рии минимизации взвешенной суммы моментов завершения выполнения заказов.

Задача в аналогичной постановке с критерием минимизации суммы взвешенного числа не выполненных в срок заказов исследовалась в [2]; показана полиномиальная разрешимость этой задачи для одного потребителя и NP-трудность задачи в случае большего числа потребителей. В [3] показана полиномиальная разрешимость задачи с критерием минимизации максимального запаздывания.

Наиболее близкими к рассматриваемой задаче среди задач из монографии [1] по режиму выполнения заказов (последовательное выполнение, одновременное завершение обслуживания) являются задачи с наличием переналадок между партиями и неограниченным размером партий.

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

1. Постановка задачи. Опишем формальную постановку задачи. Производителю необходимо выполнить N заказов некоторого клиента. Для каждого заказа . известны длительность р. его выполнения и весовой коэффициент (показатель относительной важности) Выполнение заказов производителем происходит последовательно. Последовательность заранее неизвестна, и ее требуется определить. Для доставки клиенту готовые заказы распределяются по партиям. Моментом завершения выполнения заказа считается время завершения выполнения всех заказов партии, в которую данный заказ размещен. Количество партий ограничено числом К, в каждой партии должно быть не более т заказов (предполагается, что тК>Н). Эти условия связаны с ограниченным количеством транспортных средств у производителя для доставки заказов клиенту, а также с ограниченной вместимостью транспортных средств.

Расписание определяется перестановкой р=(рг р2, ..., км), задающей последовательность выполнения заказов, и вектором п=(пг п2, ..., пК), где пк — количество заказов в к-ой партии, к=1, ..., К. При этом набор векторов (р, п) задает допустимое расписание,

К

если пк<т, к=1, ..., К, и Ёпк = N. Обозначим че-

в решении (р, п).

В качестве критерия рассматривается минимиза-

N

ция взвешенной суммы СЪш (р, п)=Ёшр ср моментов

>1

завершения выполнения заказов. При известной последовательности выполнения заказов задача может быть решена за полиномиальное время алгоритмом динамического программирования [4], который описан в следующем параграфе.

2. Случай известной последовательности выполнения заказов. Приведем алгоритм динамического программирования для нахождения оптимального вектора распределения заказов по партиям при усло-

вии, что последовательность р выполнения заказов известна [4]. Без ограничения общности, будем считать, что р=(1, 2, ..., М).

Идеей алгоритма является последовательное вычисление оптимального значения критерия СЪш для первых г заказов, отправленных в к партиях. Состояниями динамической системы являются векторы (к, г), где г — количество заказов, которые необходимо распределить по к партиям. Управлением пк, переводящим систему в состояние (к, г), является количество заказов в партии к. То есть под воздействием управления пк система переходит из состояния (к —1, —пк) в состояние (к, г). Пусть (к, г) — оптимальное значение целевой функции для задачи с заказами 1, 2,., г при использовании к партий. Выпишем рекуррентные соотношения:

Ё Ш, Ё р> + СЁш (к-1, г - Пк)

Суш(к, г)= т1п |

^ 1<Пк <тш{т,г'}у д=г-п+1 1=1

г =1, ..., М к=1, =., К;

С^(0, 0)=0 ; СЁш(0, г)=+ю, г =1, ..., N.

Алгоритм реализует стандартную схему динамического программирования. Начиная свою работу с состояния (0,0), алгоритм перебирает все состояния (к, г) в порядке лексикографического возрастания и вычисляет значения СЕш(к, г) до тех пор, пока не дойдет до состояния (К, Полученное значение СЕш(К, N является оптимальным значением целевой функции задачи. Обратный ход производится стандартным образом.

Трудоёмкость алгоритма составляет O(NKm) операций. Длина входа задачи зависит полиномиально от величин 1од2т и 1од2К, но так как по смыслу задачи величины К и т можно оценить сверху числом N заказов, алгоритм является полиномиальным.

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

3. Сложность задачи. В данном параграфе исследуется вычислительная сложность рассматриваемой задачи. Установлено, что при ш = 1, то есть в невзве-шенном случае, задача полиномиально разрешима, а во взвешенном случае — NP-трудна.

Теорема 1. Последовательность а=(а1, а2, .., а^, для которой выполняется ра <ра <...<ра , является оптимальной для задачи составления расписания выполнения заказов партиями ограниченного размера с критерием минимизации суммы моментов завершения.

Доказательство. Пусть указанная в теореме последовательность а не является оптимальной. Рассмотрим некоторую оптимальную последовательность Р=(Р1( Р2, ..., Р^) и соответствующий оптимальный вектор пР распределения заказов по партиям. Для последовательности Р не выполняется условие теоремы, поэтому существует такой номер для которого рр >рр . Определим последовательность

Р=(Р1, Р2.....Ру-1, Р+1, Ру, Р.+2.....РN).

Обозначим через С^р, п) значение целевой функции некоторого допустимого решения (р, п). Здесь вектор п — не обязательно оптимальный для последовательности р. Заметим, что СЕ(р, п) =

К

=ЁпкСк(р, п), где Ск(р, п) — момент завершения

к=1

партии к в решении (р, п).

к=1

рез ср момент завершения выполнения заказа р.

227

Оценим разность СЕ(Р, пР) — С'( р , пР). Если заказы Р. и Р. +1 согласно пР попали в одну партию, то эта разность равна нулю. Пусть данные заказы попадают в разные партии к и к+1. Очевидно, перестановка заказов повлияет лишь на момент завершения партии к а именно Ск(Р, пр)=Ск(Р, пр)+Рр -Рр. Имеем: Ск (Р, пр)-Ск (Р, пр )=пк(Рр.1 - Рр+) > 0, таким об разом, в любом случае выполняется С'(Р, ПР)>С'(Р, пР)> > Съ (Р, п Р). Следовательно, последовательность Р также определяет оптимальное решение, но заказы Р; и Р]+1 с тоят в порядке возрастания длительностей. Повторяя рассуждения для последовательности Р , в итоге получим последовательность а, указанную в теореме, которая также должна быть оптимальной. Противоречие. Теорема 1 доказана.

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

В отличие от невзвешенного критерия задача минимизации взвешенной суммы моментов завершения заказов ЫР-трудна.

Теорема 2. Задача составления расписания выполнения заказов партиями ограниченного размера с критерием минимизации взвешенной суммы моментов завершения является ИР- трудной.

Доказательство. Докажем, что к рассматриваемой задаче полиномиально сводится ЫР-полная задача «Разбиение», которая состоит в следующем. Имеется 2п чисел а1 е7+, сумма которых равна 2А. Вопрос задачи заключается в существовании подмножества Б' множества номеров Б={1, ..., 2п} такого,

что Е а = Еа,. Данная задача остается ЫР-полной,

геБ' геБ \Б'

даже если потребовать | Б'| = п [5].

Построим класс примеров рассматриваемой задачи составления расписания. Пусть количество заказов И = 2п, количество партий К = 2, размер партии т = п. Для каждого заказа ]= 1, ..., N зададим длительность выполнения р== а. и весовой коэффициент *== а.

Докажем, что в задаче «Разбиение» будет ответ «да» тогда и только тогда, когда в соответствующей задаче построения расписания существует допустимое решение со значением целевой функции, не превышающим 3Л2.

Пусть в задаче «Разбиение» существует подмножество Б' такое, что Еа,. = Еа1. Рассмотрим допус-

геБ' геБ \Б'

тимое решение в задаче построения расписания, в котором в первой партии выполняются заказы ]еБ', а во второй — все остальные. Значение целевой

N

функции данного решения С'* = Е*С] =^а.Л +

]=1 е

+ Е^2а.Л=3Л2, что и требовалось установить.

]еБ\Б'

Докажем в обратную сторону. Пусть удалось построить допустимое расписание, для которого С'* <3Л2. Пусть У — множество номеров заказов первой партии, а Т — момент завершения ее выполнения. Тогда

СЪш =£а.Т + ^2а]Л=Т2 + 2 Л-(2Л-Т )=Т2 - 2 ЛТ + 4 Л2

Легко проверить, что из неравенства С'* <3Л2 следует Т=Л. В силу допустимости решения |У| = =|Б\У| = п. Положив в задаче «Разбиение» Б'=У, получим требуемое разбиение множества чисел аг, г=1, ..., N. Полиномиальность сводимости очевидна. Теорема 2 доказана.

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

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

Пусть Бк — множество номеров заказов партии к, Се — текущий рекорд целевой функции (вначале полагаем равным + ¥) и (ргес, пгес) — соответствующее решение.

Алгоритм.

Шаг 1. Упорядочиваем заказы по неубыванию отношений длительностей к весам. Получаем после-

довательность р, в которой -Р^<-Рр2_<...< . Пере

ходим на шаг 2.

Шаг 2. С помощью алгоритма динамического программирования (п. 2) вычисляем для перестановки р соответствующий оптимальный вектор пр распределения заказов по партиям и значение целевой функции СЕвДр, пр). Если С'* >С'* (р,пр), то обновляем С'* , Ргес и пгес. Переходим на шаг 3.

Шаг 3. Для каждой партии к =1,..., К—1 и для всех д, 1, где деБк, 1еБк+1, проверяем условие:

Е*] + * Р -Р,)<1 YJРi |(*д -). Если для некото-]еБк \{?} 0 V 1еБк+1 0

рых д и 1 условие не выполняется, меняем их местами и переходим на шаг 2.

Шаг 4. Для каждой партии к = 2,., К, где |Бк| < т, для всех заказов деБк1, кроме последнего в партии,

проверяем условие рд

Е*

]еБй-1\{д}

*. |<*„

Ер, |. Если для

]еУ

]еБ\У

некоторого д условие не выполняется, то перемещаем заказ д перед первым заказом партии к и переходим на шаг 2.

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

Шаг 5. Для каждой партии к =1,., К—1, где |Бк|<т, для всех заказов 1еБк+1, кроме первого в партии, проверяем условие р,I Е*] |>*,I ЕР<

V ]еБк 0 V >еБм\{,}

Если для некоторого 1 условие не выполняется, то перемещаем заказ 1 после последнего заказа партии к и переходим на шаг 2.

Конец алгоритма.

Описанный алгоритм находит приближенное решение для рассматриваемой задачи за 0(ИК3т3) операций и, таким образом, является полиномиальным.

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

* *

р

р

228

эксперимент. Для получения оптимального решения был реализован алгоритм полного перебора последовательностей заказов с последующим вычислением оптимального вектора распределения заказов по партиям. Вследствие этого сравнение удалось провести лишь для небольших размерностей (8—10 заказов).

Были сгенерированы случайным образом 32 задачи. Эксперимент показал, что в 26 задачах алгоритм нашел оптимальное решение. В остальных задачах относительная погрешность найденного решения составила от 1,53 % до 4,15 %. В ходе эксперимента установлено, что алгоритм не находит оптимального решения, если имеются заказы, длительности и весовые коэффициенты которых принимают близкие друг к другу значения.

Заключение. В работе исследована сложность задачи выполнения заказов партиями ограниченного размера с критерием минимизации взвешенной суммы моментов завершения. Установлено, что в не-взвешенном случае задача полиномиально разрешима. Для получения оптимальной последовательности выполнения заказов достаточно их упорядочить по неубыванию длительностей. Данная последовательность является оптимальной и для известной задачи директора 1||СЕ, которая близка к рассматриваемой по критерию оптимизации. Однако для взвешенного случая доказана NP-трудность задачи, что отличает ее от задачи директора 1||СЕвг, которая и во взвешенном случае полиномиально разрешима. В работе также выявлена структура трудных примеров исследуемой задачи.

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

Библиографический список

1. Танаев, В. С. Теория расписаний. Групповые технологии / В. С. Танаев, М. Я. Ковалев, Я. М. Шафранский. — Минск : Ин-т техн. кибернетики НАН Беларуси, 1998. — 290 с.

2. Wang, Y. Models and Algorithms for Some Combinatorial Optimization Problems: University Course Timetabling, Facility Layout and Integrated Production // Grado Department of Industrial and Systems Engineering. — Virginia Tech, Blackburg, USA, 2007. - 140 p.

3. Здорова, И. В. Исследование одной задачи планирования производства и доставки продукции партиями / И. В. Здорова // Молодёжь третьего тысячелетия : материалы XXXV Регион. науч.-практ. студ. конф. — Омск : ОмГУ, 2011. — С. 353.

4. Романова, А. А. Исследование сложности одной задачи выполнения заказов партиями с различными критериями / А. А. Романова // Дискретная оптимизация и исследование операций : материалы Междунар. конф. — Новосибирск : Изд-во Ин-та математики, 2013. — С. 98.

5. Гэри, М. Вычислительные машины и труднорешаемые задачи / М. Гэри, Д. Джонсон. — М. : Мир, 1982. — 416 c.

РОМАНОВА Анна Анатольевна, кандидат физико-математических наук, заведующая кафедрой математики и информационных технологий Омской юридической академии; доцент кафедры прикладной и вычислительной математики Омского государственного университета им. Ф. М. Достоевского.

Адрес для переписки: [email protected]

Статья поступила в редакцию 19.01.2015 г. © А. А. Романова

Книжная полка

Кудинов, И. В. Аналитические решения параболических и гиперболических уравнений тепломассопереноса : учеб. пособие для вузов по направлению подготовки бакалавров и магистров в обл. техн. наук и по направлению подготовки дипломир. специалистов в обл. техники и технологии / И. В. Кудинов, В. А. Кудинов ; под ред. Э. М. Карташова. - М. : ИНФРА-М, 2015. -389. - ISBN 978-5-16-006724-7.

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

Юрьева, А. А. Математическое программирование : учеб. пособие для вузов по направлению и специальности «Прикладная математика» / А. А. Юрьева. - 2-е изд., испр. и доп. - СПб. [и др.] : Лань, 2014. - 431 c. - ISBN 978-5-8114-1585-4.

Учебное пособие состоит из семи разделов. Три раздела посвящены математическому программированию, два — теории игр, два — теории графов и сетей. Основное внимание уделено прикладному аспекту. Все методы решения иллюстрируются типовыми примерами, а в конце каждой главы приведены упражнения (25 — 30 вариантов) для самостоятельной работы студентов. Задачи данных упражнений в основном оригинальны и лишь некоторые взяты из источников, указанных в списке литературы. По объему информации учебное пособие соответствует курсу математического программирования, читаемому во всех технических и экономических вузах страны. Рекомендовано для студентов, обучающихся по направлениям подготовки «Математика и компьютерные науки», «Прикладная математика и информатика», «Прикладная информатика», «Информационные системы и технологии», «Информатика и вычислительная техника».

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