Текст
                    Р. В. КОНВЕИ, В. Л. МАКСВЕЛЛ, Л. В. МИЛЛЕР
ТЕОРИЯ РАСПИСАНИЙ
ПЕРЕВОД С АНГЛИЙСКОГО
В. А. КОКОТУ ШКИНА и Д. Г. МИХАЛЕВА
ПОД РЕДАКЦИЕЙ
Г. П. БАШАРИНА
ИЗДАТЕЛЬСТВО «НАУКА»
ГЛАВНАЯ РЕДАКЦИЯ
ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ
Москва 1975

518 К65 УДК 519.95 Теория расписаний, К о и в е й Р. В., Максвелл В. Л., Миллер Л. В., Главная редакция физико-матема тической литературы изд-ва «Наука», 1975. В книге предпринята первая в мировой'литературе по- пытка согласованного изложения ряда основных проблем теории расписаний и теории очередей с приоритетами. Од- ним из основных ее достоинств является соблюдение столь ценной для преподавания и приложений пропорции между строгостью и наглядностью изложения, умелый подбор материала и последовательности его изложения. Книга, написанная известными математиками-приклад- никами из Мичиганского университета (США), представляет большой интерес для широкого круга математиков, инже- неров и экономистов, занимающихся экстремальными зада- чами теории расписаний, а также планированием и орга- низацией производства. Разработчики АСУ найдут в книге ряд полезных теоретических рекомендаций, сопровожда- ющихся большим количеством иллюстративного материала. Отдельные части книги могут? использоваться в учебном процессе на факультетах прикладной математики и кибер- нетики университетов и вузов. Многие разделы можно ис- пользовать в курсах «Автоматизация производственных процессов», «Календарное планирование», «Оперативное управление» и др. для студентов планово-экономических и инженерных специальностей. Илл. 82, библ. 261 назв., табл. 47. „ 20203-112 К 089(02) 75 45-75 (С) Перевод на русский язык, Главная редакция физико-математической литературы издательства «Наука», 1975.
ОГЛАВЛЕНИЕ Предисловие редактора перевода..................................... 6 11 редисловие...................................................... 8 Глава 1. Проблемы упорядочения.................................. 11 1.1. Вопросы «идеального» упорядочения...................... 12 1.2. Математическая модель.................................. 14 1.3. Классификация задач теории расписаний.................. 17 Глава 2. Критерии оценки расписаний............................. 20 2.1. Исходные величины при составлении расписаний........... 20 2.2. Искомые величины при составлении расписаний............ 22 2.3. Критерии оценки систем................................. 25 2.4. Соотношение между длительностью прохождения и средним числом работ в системе....................................... 28 2.5. Расписания и стоимость................................. 33 Глава 3. Упорядочение конечного числа работ для одной машины 36 3.1. Перестановочные расписания........................... 38 3.2. Упорядочение по минимуму длительностей работ........ 40 3.3. Упорядочение в соответствии с плановым сроком .... 45 3.4. Случайное упорядочение............................... 50 3.5. Свойства антитетичных правил......................... 52 3.6. Упорядочение при неполной информации................. 56 3.7. Упорядочение в случае критерия с учетом весов........ 61 3.8. Упорядочение при наличии работ нескольких классов . . 69 Г л а в а 4. Дальнейшие результаты для случая работ с одной опе- рацией ......................................................... 74 4.1. Длительность настройки, зависящая от упорядочения . . 74 4.2. Неодновременное поступление работ.......................... 94 4.3. Упорядочение при наличии ограничений на возможные вари- анты расписаний............................................ 96 4.4. Параллельные машины....................................... 102 Глава 5. Расписания для системы конвейерного типа.................. 109 5.1. Перестановочные расписания ............................. 109 5.3. Минимизация максимальной длительности прохождения в конвейерной системе из двух машин (п | 2 | F | -Fmax) ИЗ 5.3. Минимизация средней длительности прохождения в конвей- ерной системе, состоящей из двух машин (п | 2 | F | F) . . 121 5.4. Конвейерная система из трех машин (п | 3 | F | -₽*шах) • . 125 5.5. Упорядочение в больших системах конвейерного типа . . 131 «I*
ОГЛАВЛЕНИЕ 4 Глава 6. Общая задача составления расписаний.................... 137 6.1. Графическое описание задачи............................ 137 6.2. Задача с двумя машинами................................ 139 6.3. Задача с двумя работами............................... 140 6.4. Формулировка общей задачи составления расписания в терми- нах целочисленного программирования....................... 141 6.5. Типы расписаний........................................ 143 6.6. Составление расписаний................................. 147 6.7. Метод ветвей и границ при рассмотрении общей задачи . . 154 6.8. Примеры составления расписаний......................... 156 6.9. Вероятностная диспетчеризация.......................... 164 6.10. Эвристические алгоритмы............................... 169 Глава 7. Сетевые задачи упорядочения............................ 173 7.1. Поиск критического пути................................ 175 7.2. Отыскание кратчайшего пути............................. 180 7.3. Системы типа сборочной линии........................... 182 Глава 8. Дисциплины выбора из очереди в однолинейной системе 183 8.1. Очереди при пуассоновском потоке....................... 185 8.2. Пространство состояний системы ........................ 191 8.3. Период занятости....................................... 192 8.4. Распределение длительности пребывания при прямом порядке обслуживания.............................................. 197 8.5. Дисциплины, не зависящие от длительности обслуживания 202 8.6. Относительный приоритет и дисциплины выбора кратчайшей заявки.................................................... 206 8.7. Абсолютный приоритет (приоритет с прерыванием) .... 219 8.8. Дисциплины обслуживания, учитывающие плановые сроки 233 8.9. Влияние дисциплин, зависящих от длительности обслужи- вания, на длительность пребывания......................... 238 8.10. Исторические замечания................................ 245 Гл а в а 9. Однолинейные системы с классами ориентации .... 248 9.1. Прерывание с дообслуживанием заявок и новой длительностью ориентирования для каждой заявки.......................... 249 9.2. Альтернирующие приоритеты без ориентирования .... 252 9.3. Обслуживание в порядке поступления с классами ориентации 260 9.4. Альтернирующие приоритеты с интервалами ориентирова- ния ...................................................... 261 Глава 10. Модели многоканальных систем массового обслуживания с ожиданием................................................... 269 10.1. Многоканальные системы с зависящими от состояния ин- тенсивностями обслуживания................................ 270 10.2. Выходящий поток пуассоно-экспоненциальной системы с очередью................................................ 273 10.3. Многофазные системы............................... 276 10.4. Сети общего типа с очередями...................... 278 Глава 11. Моделирование сетей массового обслуживания .... 283 11.1. Условия и алгоритмы............................... 285 11.2. Методы уменьшения средней длины очереди и объема ра- боты в системе......................................... 286 11.3. Учет плановых сроков..........................*. . . 296 11.4. Более сложные модели сетей массового обслуживания . . 308
ОГЛАВЛЕНИЕ 5 Приложение А. Преобразование Лапласа —Стилтьеса функций распределения.............................................. 320 Приложение В. Результаты моделирования для систем п | т 322 В.1. Средняя длительность прохождения....................... 322 В.2. Максимальная длительность прохождения.................. 327 В.З. Среднее время окончательного освобождения машин . . . 332 Приложение С. Результаты моделирования для систем обслу- живания ........................................................ 334 С.1. Список обозначений, используемых при описании алгоритмов назначения приоритетов.................................. 334 С.2. Алгоритмы назначения приоритетов....................... 334 С.З. Результаты моделирования для различных алгоритмов на- значения приоритетов в симметричной сети, состоящей из девяти приборов ........................................ 338 С.4. Результаты моделирования для алгоритмов назначения при- оритетов с учетом состояния системы и плановых сроков . 341 С.5. 11оодпо.1пачпос1 ь выбора прибора в симметричной сети мас- сового обслуживания..................................... 342 С.6. Неоднозначность порядка обслуживания этапов в симметрич- ной сети массового обслуживания......................... 342 С.7. Назначение приоритетов в системе типа сборочной линии 343 Литература...................................................... 344 Предметный указатель............................................ 358
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА Предлагаемая вниманию советского читателя книга состоит сиз двух больших частей. Первая часть (гл. 1—7) посвящена теории расписаний для систем с конечным числом работ, вторая часть (гл. 8—11) — вопросам упорядочения в системах массового обслуживания. В каждой из частей имеется глава, посвященная обсуждению результатов моделирования для задач, рассмотрен- ных в этой части. Авторы книги — известные в США и других странах математики-прикладники — предприняли первую попыт- ку согласованного изложения ряда основных проблем теории рас- писаний и теории очередей с приоритетами. Они преодолели боль- шие трудности, и, хотя не все в книге получилось одинаково удачно, книга в целом является весьма интересной и полезной. Одним из основных ее достоинств является соблюдение столь необходимой в приложениях пропорции между строгостью и на- глядностью изложения, умелый подбор материала и последова- тельности его изложения, а также большое количество примеров. Первую часть книги можно рассматривать как весьма удачное введение в круг задач и методов теории расписаний для систем с детерминированными характеристиками. Наряду с известными аналитическими результатами здесь приводится качественное обсуждение задачи в ее наиболее общей постановке. Этот материал несомненно заинтересует ка,к научных работников, так и инже- неров, занимающихся приложениями теории расписаний. Вторую часть книги можно читать независимо от первой. В гл. 8—9 со- держится изложение некоторых проблем обслуживания с при- оритетами в однолинейной системе с неограниченной очередью, включая ряд результатов, полученных авторами. Изложение методически хорошо продумано, подробно обсуждаются приклад- ные аспекты — в частности, важный в конкретных приложениях вопрос об учете плановых сроков. Приводится много числовых примеров и иллюстраций. Небольшая по объему гл. 10 посвящена краткому изложению теории линейных стохастических сетей. Эта часть книги хорошо дополняет ряд широко известных в СССР курсов по теории массового обслуживания, однако Дйя перво- начального знакомства с элементами теории массового обслужи-
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА 7 вания целесообразно прочитать некоторые разделы из книг Д. Кокса и У. Смита [242], А. Кофмана и Р. Крюона [244], А. Я. Хинчина [108], Б. В. Гнеденко и И. Н. Коваленко [227]. В целом требования к математической подготовке читателя здесь несколько выше: требуется знание основ математического анализа, теории вероятностей, элементов теории массового обслуживания. Обе части книги можно рассматривать как учебные пособия по соответствующим курсам университетов и вузов. Многие раз- делы первой части можно использовать в курсах «Автоматизация производственных процессов», «Оперативное управление» и т. д. для студентов экономических и инженерных специальностей. Большой интерес представляет книга для научных работни- ков, преподавателей, аспирантов и специалистов различных про- филей, занимающихся прикладной математикой и вопросами планирования и организации производства. Эта категория чита- телей найдет здесь удачное изложение ряда уже известных в литературе вопросов, а также много новых результатов в раз- личной степени завершенности. Инженеры-разработчики авто- матизированных систем управления и, в несколько меньшей сте- пени, инженеры по надежности найдут в книге целый ряд полез- ных рекомендаций теоретического характера, а также большой иллюстративный материал. Преподавательский и производственный опыт авторов, их реа- лизм в оценке прикладных возможностей излагаемой теории являются еще одним достоинством книги. Большое количество материала, широкий круг освещенных вопросов и далеко не одинаковый уровень развития теории рас- писаний и теории массового обслуживания обусловили ряд труд- ностей при переводе книги. Пришлось, в частности, преодолеть много терминологических трудностей, связанных с новизной пред- мета и отсутствием общепринятой терминологии в теории распи- саний. В результате все же терминология оказалась различной в переводе гл. 1—7, касающихся теории расписаний, и гл. 8—11, где используется принятая в СССР терминология теории массо- вого обслуживания. Ценную помощь в терминологических вопро- сах оказали нам О. И. Бронштейн и И. М. Духовный, за что мы их искренне благодарим. Хотелось бы надеяться, что книга заинтересует различные категории читателей и будет способствовать как дальнейшему развитию и взаимному проникновению теории расписаний и тео- рии массового обслуживания, так и расширению сферы их при- ложений. Г. П. Башарин
ПРЕДИСЛОВИЕ Несмотря на то, что методы и результаты теории расписаний представляют значительный интерес как для практиков, так и для теоретиков, она не пользуется пока тем вниманием, которого несомненно заслуживает, а разрозненные публикации по теории расписашш появляются в журналах многих различных направ- лений. По содержанию этих статей и по библиографическим ссылкам в них нетрудно убедиться в том, что их авторы подчас плохо знакомы с аналогичными работами. Настоящая книга является первой попыткой систематизировать результаты иссле- дований по теории расписаний; мы надеемся также, что эта книга положит начало работе по упорядочению терминологии — не- обходимость в этом давно назрела. Наряду с изложением большого числа известных результатов мы сформулировали целый ряд не исследованных до сих пор проблем и указали их связь с суще- ствующими работами. Если эта книга заинтересует специалистов и приведет к тому, что результаты, помещенные в ней, можно будет считать устаревшими, то цель, поставленная при ее напи- сании, будет достигнута. Теорию расписаний можно сравнить с теорией запасов, хотя последняя получила гораздо большее и более систематическое развитие. Теория расписаний не привлекла пока внимания уче- ных, имена которых были бы, сравнимы с именами Дворецкого, Кифера, Вольфовица, Эрроу, Карлина и Скарфа. Это, вероятно, объясняется тем, что математические модели, возникающие здесь, менее привлекательны по сравнению с моделями, к которым при- водит теория запасов, хотя следует заметить, что практический интерес задач упорядочения нисколько не меньше. Более того, мы убеждены, что теория расписаний в нынешнем, довольно примитивном состоянии содержит не менее важные прикладные результаты, чем разработанная в гораздо большей степени теория запасов. Конечно, лишь немногие из задач как в теории расписа- ний, так и в теории запасов решены точно (система с одной маши- ной является не более общей, чем задача с одним типом изделий в теории запасов), однако обе теории позволяют получить целый ряд выводов, весьма интересных для приложений. Вполне понят-
ПРЕДИСЛОВИЕ 9 по, в частности, что учет длительности обслуживания, равно как и учет плановых сроков окончания обслуживания составляют важные вопросы при упорядочении работ. Структура книги определяется различными типами задач. Другой возможный принцип построения книги — по методам ре- шения — привел бы, вероятно, к более явному выделению основ- ных трех подходов к рассматриваемым проблемам: применение алгебраических и вероятностных методов и метода Монте-Карло. Алгебраические методы, используемые в книге, относительно просты и доступны читателю, не имеющему специального мате- матического образования. При вероятностном подходе система описывается стохастическим процессом. Чтобы в полной мере понять результаты и оценить трудности дальнейшего развития теории при таком подходе, от читателя требуется основательное знакомство с теорией вероятностей. Результаты, полученные ме- тодом Монте-Карло, естественны и понятны, однако не следует недооценивать трудностей получения при моделировании сколько- нибудь общих выводов. Большинство представленных в книге результатов получено с использованием наиболее подходящих ЭВМ и алгоритмических языков, и эти работы проделаны веду- щими специалистами в этой области. Иногда моделирование не приводит к существенному прогрессу, позволяя получить лишь частные результаты. Тем не менее, мы сочли возможным вклю- чить их в книгу, имея в виду, что большинство экспериментаторов интересуется обычно эффективностью одного и того же класса дисциплин. Опубликование подобного обзора, возможно, изба- вит часть исследователей от необходимости повторения уже про- деланной работы. Первоначальный вариант этой книги был положен в основу полугодового курса лекций по исследованию операций, прочитан- ных выпускникам Корнелльского университета. Несмотря на хорошую подготовку выпускников университета по теории сто- хастических процессов и их практику по моделированию, одного семестра оказалось недостаточно для полного изложения мате- риала. Тем не менее, целесообразно выборочно включать подоб- ные сведения в курсы лекций, читаемые студентам технических факультетов и коммерческих школ. Мы начали интересоваться проблемами расписаний приблизи- тельно с 1958 г. Наши исследования были поддержаны рядом организаций, в частности, Исследовательским центром Военно- морского флота, Национальным научным фондом, компаниями General Electric и Western Electric и др. Мы работали в Итаке и Санта-Монике, получая широкую поддержку от корпорации RAND и Корнелльского университета. Мы весьма признательны выпускникам Корнелльского универ- ситета, исследования которых внесли большой вклад в теорию
10 ПРЕДИСЛОВИЕ расписаний. Авторами этих работ являются В. М. Джонсон, А. С. Гинсберг, Д. II. Эванс, С. Е. Ньюджент, Е. Д. Игнолл, Л. Е. Шрейдж, Т. В. Крэбилл, А. Лалчандани, П. Эверетт, А. Н. Бахру, М. Р. Рао, Р, Д. Вэйсон, Д. В. Ольджей, Г. Л. Ор- кин, Д. Соден, В. Уолкер, Г. А. Нимейер, М. Меера и М. Найк. Большая часть результатов, содержащихся в гл. 8, 9, 10, была получена совместно с доктором Бенджамином Ави-Итцаком из Хайфского технологического института в то время, когда он зани- мал должность профессора Корнелльского университета. Появление настоящей книги в значительной мере задержано тем, что мы долгое время отдавали предпочтение работам, тре- бующим меньше времени, чем ее написание. Р. В. Конвей, В. Л. Максвелл, Л. В. Миллер
ГЛАВА 1 ПРОБЛЕМЫ УПОРЯДОЧЕНИЯ Задачи упорядочения носят самый общий характер. Они воз- никают повсюду, где существует возможность выбора той или иной очередности выполнения работ: при распределении работ па производстве, составлении расписания приземления самолетов, обслуживании клиентов в банках, формировании очередности выполнения программ вычислительным центром и организации отдыха в выходные дни. Наша цель — изучить то общее, что характеризует такие задачи независимо от их конкретного содер- жания. Практически многие задачи упорядочения так или иначе решаются, поскольку самолеты приземляются, банковские клиен- ты устраивают свои дела и по крайней мере основная масса насе- ления неплохо проводит свои выходные дни. Однако большинство этих решений принимается интуитивно. Иногда упорядочение осуществляется случайно; более часто работы выполняются в том порядке, в котором они возникают. Ми ио задумываемся о разумности дисциплины первый пришел — первый обслужен, поскольку она отвечает присущему нам чувству е< 1 ог। венного порядна. Однако такая дисциплина, может быть, и приемлема при покупке билетов в театральных кассах, но сов- сем но обязаюльпа для выполнения работ на предприятии. Формальная схема процесса упорядочения примерно такова: Пусть: 1) а есть совокупность последствий при выполнении сначала задачи А, а затем В, 2) 0 есть совокупность последствий при выполнении сначала задачи В, а затем А. Тогда, если а пред- почтительнее, чем р, то выбирается последовательность: «А, за- тем В». Мы, конечно, не утверждаем, что подобная формализация уни- версальна. Однако в промышленности, транспорте, системах управления и общественной деятельности упорядочение бывает столь необходимо, что любая формализация, позволяющая по- строить математическую модель и получить решение, оказывается разумной и окупается впоследствии независимо от затраченных на это средств. Тем не менее, еще слишком часто в перечисленных
12 ПРОБЛЕМЫ УПОРЯДОЧЕНИЯ [Гл/1 областях упорядочение проводится без достаточного обоснования. Люди, непосредственно занятые в промышленном производстве и принимающие решения, какое из изделий будет следующим в производственном процессе, часто используют для этого кри- терии, весьма далекие от интересов производства. Точные расчеты показывают, что многие алгоритмы, весьма привлекательные на первый взгляд, оказываются далекими от оптимальных в каком бы то ни было смысле. Существенное различие результатов, к которым приводит то или иное упорядочение, в последующих главах доказывается аналитически, демонстрируется числовыми примерами и под- тверждается моделированием. В ряде практических случаев эти различия принимают стоимостной характер или определяются какой-либо другой величиной. Вообще говоря, вопрос заклю- чается не в том, чтобы как-нибудь решить конкретную задачу и как-то установить очередность, а в том, чтобы определить в принципе, как принимать подобное решение и по какому крите- рию. Вопрос о том, как упорядочить, возможно не столь важен, как решение, что именно нужно упорядочить и как выполнить ту или иную работу, когда наступает ее очередь. Однако если выбор очередности может принести пользу, то неразумно прене- брегать возможностью такого выбора. В последующих главах будет показано, что даже в простейших случаях существует больрая разница в качестве функциониро- вания системы, обусловленная только выбором очередности, и что очень часто алгоритмы упорядочения, одинаково легко реа- лизуемые, приводят к различной производительности системы. 1.1. Вопросы «идеального» упорядочения В приложениях основная трудность упорядочения заключается в том, что возникающие задачи не могут быть расчленены на само- стоятельные, не связанные друг с другом части. Более того, они, как правило, увязаны с рядом других проблем, требующих одновременного решения. Очень часто принятая последователь- ность каких-либо действий в определенной степени влияет и на характер решаемых задач и на методы их решения. Например, пусть некоторому предприятию нужно произвести 100 единиц некоторого товара. Производство товара можно на- чать немедленно или отложить на месяц. Если принято второе решение, то по истечении месяца ситуация может измениться сле- дующим образом: 1) Заказ на производство зтого товара будет отменен. 2) Поступит дополнительный заказ, так что потребуется про- извести 150 единиц товара. 3) Произойдут изменения в технологии производства.
lAi ВОПРОСЫ «ИДЕАЛЬНОГО» УПОРЯДОЧЁЙЙЙ 13 4) Сырье, служащее для производства товара, будет израсхо- довано и потребуется его приобретение. 5) Оборудование, производящее товар, выйдет из строя и потребуется его замена. 6) Поступит новое оборудование, улучшающее производствен- ный процесс. 7) Рабочие, занятые в течение месяца аналогичной работой, повысят свою квалификацию. Если хотя бы одна из перечисленных возможностей реально осуществима, то вопросы упорядочения неотделимы от вопросов о том, что и каким образом должно быть сделано. В подобных ситуациях решение об очередности работ принимается руковод- ством предприятия. К сожалению, каждое такое решение дик- туется сложившейся ситуацией и для его принятия мало при- годны результаты, полученные без учета конкретных условий. Теория расписаний, не учитывая возможности подобных изме- нений, выделяет вопросы, общие для большинства задач упорядо- чения. Получающиеся при этом идеализированные модели едва ли могут в точности соответствовать конкретным ситуациям, однако в силу их общности позволяют получать оценки для широкого круга задач в различных областях производства. Конечно, при- нятие решений в конкретном случае не может основываться на одних только результатах, полученных при исследовании такой модели, однако эти результаты содержат сведения, которые не- обходимы наряду с другими данными о разных сторонах реаль- ной проблемы. Администрация должна иметь определенное пред- ставление о том, к каким последствиям приведет устанавливаемая им очередность, если отсутствуют явления, аналогичные описан- ным в приведенном примере. В дальнейшем рассматриваются задачи упорядочения при условии, что решены все вопросы, отно- сящиеся к тому, что и каким образом должно быть выполнено. При этом предполагается, что не существует зависимости между характером этих решений и устанавливаемым порядком. Кроме этого, предполагается следующее: 1) Подлежащие выполнению работы определены и известны полностью. Это означает, что внешними по отношению к рассмат- риваемой системе потребителями заданы характер и объем работ. Такое предположение не исключает, конечно, случаев, когда подоб- ные сведения становятся известными по мере поступления работ. Кроме этого, предполагается, что все заданные работы должны быть выполнены, поскольку разбиение совокупности работ на классы выполняемых и невыполняемых не входит в задачу упоря- дочения. Например, при упорядочении работ промышленного производства не учитывается, какая из работ является более при- быльной, и считается, что этот вопрос уже был решен ранее и что все заданные работы должны быть выполнены.
14 ПРОБЛЕМЫ УПОРЯДОЧЕНИЯ [ГЛ. 1 2) Однозначно определены устройства, выделяемые для выпол- нения заданных работ. Например, пусть 10 станков, обслуживае- мых бригадой из 8 рабочих, могут работать 44 часа в неделю. В результате предварительного составления расписания может оказаться целесообразным увеличение производительности исход- ного оборудования. Это достигается или приобретением допол- нительных устройств или удлинением рабочего времени. Однако изучение целесообразности подобных мероприятий не входит в задачи «идеального» упорядочения. 3) Задана совокупность всех элементарных действий, связан- ных с выполнением каждой из работ, и ограничений, налагаемых на порядок их выполнения. Известно также, каким образом осу- ществляются эти действия и что существует по крайней мере по одному устройству, способному выполнить каждое из пих. Большинство публикаций, относящихся к вопросам упорядо- чения, посвящено составлению расписаний для замкнутой системы обслуживания (системы с фиксированным числом работ). Исполь- зуемая там терминология, а именно: работа, машина, операция, время выполнения или длительность работы, заимствована из промышленного производства. Однако во всех таких статьях фак- тически исследуются идеализированные модели производства, обобщенные настолько, что получаемые результаты в одинаковой степени приемлемы для транспорта, связи, обслуживания и т. д. Правда, скептики могут утверждать и обратное, т. е. что эти модели в равной степени неприемлемы в перечисленных обла- стях, поскольку носят идеализированный характер. Отметим еще, что выбор материала и терминологии книги, близких к промышленному производству, обусловлен не столько влиянием предшествующих работ, сколько практической компе- тенцией авторов. Существует определенное различие между упорядочением и составлением расписания. Упорядочение подразумевает формиро- вание очередности операций, выполняемых одной машиной, в то время как составление расписания означает задание последова- тельности действий нескольким машинам. Однако такое различие не вносит существенной четкости в постаЬовку задач, поэтому в последующих главах оба термина будут рассматриваться как синонимы. В следующем разделе будет более строго проведена общая для всей книги формализация. 1.2. Математическая модель Основным понятием теории расписаний является понятие опе- рации. Операцию можно рассматривать как элементарную задачу, подлежащую выполнению. Природа этой задачи безразлична для
1.2^ МАТЕМАТИЧЕСКАЯ МОДЕЛЬ 15 теории, существенны только свойства, присущие ей безотноситель- но к физическому содержанию. Каждая операция характеризуется 1) Индексом принадлежности к определенной работе-, 2) индексом принадлежности к определенной машине- 3) числом, представляющим собой длительность операции. По первому индексу все множество операций разбивается на полную систему непересекающихся подмножеств, называемых работами. Разбиение исходного множества по второму индексу приводит к взаимно непересекающимся подмножествам операций, относящихся к определенным машинам. Для каждой работы задается последовательность составляю- щих ее операций (определяемая технологическим процессом). Такое частичное упорядочение операций осуществляется заданием от,ношения порядка. Если х и. у — две операции одной и той же работы и если по некоторым соображениям х должна быть осу- ществлена раньше, чем у, то говорят, что х предшествует у. Это записывается в виде: х -< у. Отношение х -< у можно записать также в виде у >- х и сказать, что операция у следует за х. Отношение порядка транзитивно: если х -< у, у z, то х -< z. Мы будем говорить, что операция х непосредственно предшествует операции у (или операция у непосредственно следует за опера- цией ж), и записывать х -<-< у или у »- х, если х -< у и нет операции z, такой, что х -< z -< у. Часто бывает удобно представлять упомянутые соотношения в виде следующего ориентированного графа. Вершины (узлы) графа изображают онера]щи, а дуги — отношение непосредственного предшествова- ния. Две вершины связаны отношением порядка, если суще- ствует путь между ними. Машиной будем называть устройство, способное выполнить все, что связано с некоторой операцией; системой обслуживания
16 ПРОБЛЕМЫ УПОРЯДОЧЕНИЯ [ГХ. 1 множество всех машин, используемых для выполнения некото- рого подмножества операций. Совокупность машин, работ (опе- раций) и дисциплин назначения операций соответствующим маши- нам назовем процессом обслуживания. Составление расписания для процесса обслуживания означает, что для каждой оцерации на временной оси задается участок, когда эта операция должна выполняться соответствующей машиной, т. е. что для каждой операции задается один или более интервалов (Ьг, q), (Ь2, с2), . . . таких, что 1) (сх — 6Х) + (с2 — Ь2) + • • больше или равно длительности операции; 2) число Ь1Х — значение Ьг, относящееся к х, пе меньше, чем Ь1У для двух операций х и у, относящихся к одной работе и таких, что у -<( х\ 3) каждый из интервалов (Ь,, с,) расположен целиком внутри одного из отрезков времени доступности соответствующей машины. С другой стороны, расписание может рассматриваться как задача упорядочения операций, выполняемых каждой машиной. Это упорядочение в некотором смысле аналогично тому, которое задано для операций каждой работы. Можно указать много дис- циплин, формирующих ту или иную очередность. Почти вся тео- рия, разработанная в настоящее время, относится к весьма огра- ниченному числу моделей простого процесса обслуживания. Под последним понимается процесс, для которого существенны следую- щие ограничения: 1) Каждая машина может быть назначена в любой момент времени. Машины не могут выходить из строя и, следовательно, быть недоступными из-за неисправности или ремонта. Они не могут быть недоступны также из-за пересменок, типичных для производства. Каждая машина формально представляет собой интервал (О, Т), где Т есть произвольно большое число. 2) Работы представляют собой строго упорядоченные последо- вательности операций. Из отдельных операций этих последова- тельностей не может формироваться никакая новая последова- тельность. Для заданной операции х существует не более одной опера- ции у такой, что у -<< х, и одной операции z такой, что х -<-< z. 3) Каждая операция выполняется только одной машиной. 4) Существует только по одной машине каждого типа. Между номерами машин и вторыми индексами операций, ука- зывающими номер выполняющей их машины, существует взаимно однозначное соответствие. 5) Отсутствуют прерывания операций. Это означает, что если некоторая машина начала выполнять операцию', то эта операция
4чЗ] КЛАССИФИКАЦИЯ ЗАДАЧ ТЕОРИИ РАСПИСАНИЙ 17 должна быть завершена прежде, чем на этой же машине начнется выполнение какой-либо другой операции. Для каждой операции задан единственный интервал (Ь, с), причем длительность операции равна (с — Ь). 6) Интервалы выполнения последовательных операций одной и той же работы не пересекаются. Одновременно не может выпол- няться двух операций одной и той же работы. Величина Ьх, соответствующая назначению операции х, не может быть меньше су для любой операции у такой, что у х. 7) В каждый момент времени машина может выполнять не более одной операции. Рассмотрим интервал (Ьх, сх), предназначенный для выпол- нения операции х некоторой машиной. Тогда для всякой другой операции, осуществляемой этой машиной в интервале (Ьу, су), будет или бх Су или сх ^у* Перечисленные ограничения, с одной стороны, упрощают формализацию, а с другой, делают ее более абстрактной. Послед- нее приводит к тому, что модель становится неадекватной боль- шинству практических случаев, где требуется ослабление одного или нескольких из приведенных ограничений. Тем не менее, такая модель сохраняет в основном структуру большинства практических задач, а при ее исследовании вырабатывается интуиция, полезная в многочисленных приложениях. Во всяком случае в настоящее время описанная формализация применяется в большинстве исследований. Если говорить о более сложных моделях, то для них пока существуют лишь отдельные резуль- таты. Вудом считать, что для выполнения операции необходима только одна машина. Причем понятие «машина» будем употреблять в обобщенном смысле, включающем в себя совокупность людей, машин и вспомогательного оборудования, необходимых для выпол- нения операции. В противном случае мы вынуждены были бы ввести для каждой операции дополнительные индексы, относя- щиеся к обслуживающему персоналу, машинам и вспомогатель- ному оборудованию. 1.3. Классификация задач теории расписаний Задача теории расписаний считается заданной, если опре- делены 1) подлежащие выполнению работы и операции; 2) количество и типы машин, выполняющих операции; 3) порядок прохождения машин; 4) критерий оценки расписания.
18 ПРОБЛЕМЫ УПОРЯДОЧЕНИЯ [ГЛ. 1 В предыдущих разделах описаны признаки операций и указа- но, что при составлении любого расписания задан порядок/вы- полнения операций для каждой работы. Задачи теории расписаний различаются числом выполняемых в системе работ, характером поступления их в систему и порядком участия отдельных машин в выполнении конкретной работы. В зависимости от характера поступления работ различают два вида задач: статические и ди- намические. В статических задачах, если система свободна, в нее одновременно поступает определенное число работ. После этого новые работы не поступают и расписание составляется для вполне определенного и известного заранее числа работ. В динамических задачах выполнение работ происходит непрерывно. Работы по- ступают в систему в некоторые моменты времени, которые можно предсказать только в статистическом смысле. Поэтому моменты будущих поступлений не определены. Можно ожидать, что упо- рядочение в динамических и статических задачах потребует совер- шенно различных методов решения. Это действительно так, и этим обусловлено построение книги: статические задачи изло- жены в гл. 3—7, динамические в гл. 8—И. Порядок выполнения машинами операций одной работы опре- деляет, является ли система машин конвейерной. В конвейерной системе последовательность прохождения машин одинакова для каждой из работ. Согласно принятой терминологии это означает, что существует такая нумерация машин, что для одной и той же работы номер машины, выполняющей операцию х, меньше номера машины, выполняющей операцию у, если х предшествует у. В про- тивоположность этому существуют системы со случайным поряд- ком выполнения работ машинами. Здесь отсутствует описанная направленность прохождения машин, и в этом случае любая опе- рация любой работы может выполняться равновероятно любой машиной. Безусловно, каждый из приведенных алгоритмов прак- тически редко встречается в жизни, поскольку реальные системы являются промежуточными по отношению к этим двум крайним случаям. Тем не менее, почти все публикации по теории расписа- ний предполагают один из этих алгоритмов. Возможности выбора алгоритма в значительной степени огра- ничиваются требованиями, наложенными на простой процесс обслуживания и приведенными в разделе 1.2. Для классификации задач теории расписаний в дальнейшем используется запись А | В | С | D, где А характеризует процесс поступления работ. Для динамиче- ских задач А представляет собой функцию распределения времени между поступлениями. Для статических задач А соответствует числу одновременно поступивших работ, если по этому поводу ничего специально не оговорено. Если на месте А стоит и,’то это оз- начает произвольное, но конечное число работ в статическом случае.
1.31 КЛАССИФИКАЦИЯ ЗАДАЧ ТЕОРИИ РАСПИСАНИЙ 19 JB характеризует число машин в системе. Если на месте В стоит tn, то это означает произвольное число машин. С характеризует порядок (дисциплину) выполнения работ машинами. Если на месте С находится F, то это соответствует конвейерной системе; если И — то случайной, и если G- — про- извольной. Для системы, состоящей из одной машины, указан- ные дисциплины теряют смысл, и поэтому для такой системы тре- тий параметр опускается. В характеризует критерий оценки расписания. (Некоторые критерии описаны в гл. 2.) В качестве примера употребления указанных обозначений запишем джонсоновскую задачу ([103], раздел 5.2) в виде п | 2 | F | Ртах; это означает, что требуется упорядочить п работ в конвейерной системе, состоящей из двух машин так, чтобы минимизировать максимальную длительность *) прохождения работы. Общая задача теории расписаний, для которой решение еще не получено, запишется так: п | т | G | Jp’max'- Упорядочить и работ в произвольной системе из т машин так, чтобы минимизировать максимальную длитель- ность прохождения работы. ♦) Смысл обозначения см. в гл. 2 — Прим, перев.
ГЛАВА 2 КРИТЕРИИ ОЦЕНКИ РАСПИСАНИИ Разнообразие критериев, используемых для оценки расписа- ний, отчасти обусловлено различием ситуации при их составле- нии. Чтобы учесть особенности, присущие каждой из таких ситуаций, вводятся дополнительные величины, отражающие ее специфику. Часто выбор того или иного критерия диктуется воз- можностями решения задачи, и эти критерии оказываются отлич- ными от наиболее естественных. В настоящей главе вводятся и обсуждаются величины, исполь- зуемые в дальнейшем как критерии оценки расписаний, и при- водятся некоторые соотношения между этими величинами. Ряд замечаний, сделанных в ходе изложения, используется в после- дующих главах. Необходимо четко представлять себе разницу между исходными и искомыми величинами задачи. Первые из них определяются спецификой решаемой задачи, которая может быть учтена в рам- ках теории «идеальных» расписаний, вторые являются резуль- татом составления расписания. Чтобы подчеркнуть эту разницу, при обозначении исходных величин используются строчные ла- тинские буквы, а при обозначении искомых — прописные, на- пример h, х, у, z и Я, X, Y, Z. 2.1. Исходные величины при составлении расписаний Постановка задачи в теории расписаний начинается с опи- сания системы машин и множества работ. Для простейшего про- цесса обслуживания система машин полностью описывается их числом. Мы будем говорить о системе из т машин и считать, что каждая машина, отождествляется с соответствующим индексом 1, 2, . . ., т. Занумеруем работы числами от 1 до п, и пусть rt — момент готовности, или момент появления, или момент поступления. Эта величина представляет собой момент поступле- ния г-й работы в систему из некоторого внешнего источника. Сут щественно, что гг есть минимально возможное время начала первой из операций работы г;
2.11 ИСХОДНЫЕ ВЕЛИЧИНЫ ПРИ СОСТАВЛЕНИИ РАСПИСАНИЙ 21 dt — плановый срок. Эта величина представляет собой момент, к которому z-я работа должна быть выполнена. Иными словами, di представляет собой директивное время окончания последней операции, заданное *) некоторыми внешними по отношению к рас- сматриваемой системе причинами. Допустимая, длительность прохождения работы в системе равна at = dt — гг. Нетрудно привести различные примеры, когда фактически зада- ются две из трех величин гг, dt, а^ Теоретически безразлично, ка кие две из них заданы, а какая находится из приведенного соот- ношения, поэтому для каждой работы все они считаются за- данными. Работа z состоит из gt операций. Для каждой операции задает- мя набор следующих величин: mVL, PVLi migp Pigp где mu — номер машины, на которой выполняется операция /, 1 «С mu Ра — длительность выполнения операции, т. е. длина интервала времени, требуемого машиной miS для выпол- нения операции /. Пусть Pi = 2 Ра — общая длительность всех операций работы i. 3=1 Относительно длительности самой операции существуют две точ- ки зрения. 1<о молено считать постоянной, задаваемой так же, как скажем, плановый срок, хотя, вообще говоря, это не так. С другой стороны, можно утверждать, что длительность операции случай- на и что ее фактическое значение становится известным только после выполнения операции. Во всяком случае до окончания опе- рации она может быть только оценена. Тем не менее, для обозна- чения длительности операции нами используются строчные бук- вы, поскольку предполагается, что она совершенно не зависит от расписания. Конечно, длительность операции не известна до тех пор, пока операция не назначена, но само назначение по предпо- ложению не влияет на ее величину. Нередко работа состоит из отдельных частей, каждая из ко- торых требует аналогичного выполнения. В этих случаях вся *) Вопросы назначения плановых сроков подробно обсуждаются в гл. 11.— Прим. ред.
22 КРИТЕРИИ ОЦЕНКИ РАСПИСАНИЙ [ГЛ. 2 работа определяется как сумма составляющих ее частей, а дли- тельность каждой ее операции выражается произведением длитель- ности соответствующей операции одной ее части на общее число частей. В дальнейшем предполагается, что число частей, из которых состоит работа, известно до составления расписания и не меняется после его составления. Поэтому такие составные работы в даль- нейшем рассматриваются как одно целое с длительностями каждой из операций, определяемыми, как сказано выше. Наконец, предположим, что ptj включает в себя все настройки машины, предшествующие выполнению операции, и все перена- ладки ее после выполнения операции. Подобное предположение равносильно тому, что длительности настройки машины но зави- сят от последовательности операций, т. е. время, необходимое для подготовки машины к выполнению некоторой операции, не за- висит от того, какую операцию последней выполняла машина. В большинстве случаев подобные предположения являются хо- рошим приближением к действительности, и значительно упро- щают математическую модель. Однако существуют случаи, когда такие предположения невозможны и нужно учитывать точные длительности настроек и возможную их зависимость от порядка выполнения операций. Эти случаи обсуждаются в разделе 4.1 и главе 9. 2.2* Искомые величины при составлении расписаний В задачах «идеального» упорядочения устанавливается только последовательность выполнения работ или, говоря более строго, последовательность выполнения операций каждой работы. Дру- гими словами, это означает, что находится длительность ожида- ния начала каждой операции каждой работы. Обозначим через IVи интервал времени между окончанием (/ — 1)-й и началом /-й операции г-й работы. Тогда общая дли- тельность ожидания для работы i равна сумме длительностей ожи- дания всех ее операций: Si Wi = 2 7=1 Результатом составления расписания всегда является задание множества чисел Wi}-. В дальнейшем для удобства и компактно- сти изложения будет введено много других величин, но все они будут функциями Wtj. Окончательный выбор того или иного рас- писания основывается на сравнении соответствующих множеств Wjj и качество расписания полностью ими определяется. Наиболее важными величинами, являющимися функциями Wfj, будут: 1) момент окончания работы; 2) длительность прохожде- ния работы в системе; 3) разница между плановым сроком и мо-
2.2] ИСКОМЫЕ ВЕЛИЧИНЫ ПРИ СОСТАВЛЕНИИ РАСПИСАНИЙ 23 ментом фактического окончания работы. Эти величины обозна- чаются следующим образом: Ci — момент окончания, работы i, т. е. момент завершения ее последней операции: G = гг + W{1 + Рц Ц- Wi2 + Pii 4- . . . 4" W{g. + pig. = = П 4- 2 Pa 4- 2 wu = n 4- Pi 4- wi< i=i j=i Ft — длительность прохождения работы i в системе, т. е. Fi = Wu 4- pu 4- Wi2 -|- pi2 4-... 4- Wig. 4- pig. = = ^Pii 4- S^i; = Pi 4- Wi = Ci — щ. j=l Длительность прохождения называют еще циклом обработки или производственным циклом. Временное смещение Lt работы i равно Bi ~~ Ci — di = Fi — а^ Определим запаздывание Ti и опережение Et работы i как Tt = max (0, Lt}, Et = max (0,— Li}. Временное смещение, запаздывание и опережение оценивают фактическое время окончания работы по сравнению с ее плановым сроком. Временное смещение каждой работы может иметь любой знак. Если оно положительно, т. е. работа завершается после пла- нового срока, то оно дает значение запаздывания, а если отрица- тельно, т. е. работа завершается до планового срока, то модуль смещения дает значение опережения. Расписание полностью описывается множеством величин Два расписания для одной и той же задачи тождественны, если их множества W;7- идентичны. Однако существуют случаи, когда же- лательно считать эквивалентными расписания, которые, строго говоря, не тождественны. Например, можно считать эквивалентны- ми все расписания, у которых совпадают моменты окончания работ. Точно так же можно считать эквивалентными все расписания с одинаковым в среднем моментом окончания работ. Вообще, уста- новление критерия оценки в теории расписаний означает задание множества эквивалентных классов и отношения предпочтения сре- ди них. Например, принятие среднего значения времени оконча- ния работ в качестве критерия оценки расписания означает: < 1) Все расписания, у которых одинаковы средние времена окон- чания работы С', эквивалентны, так что безразлично, какое из них выбрать.
24 КРИТЕРИИ ОЦЕНКИ РАСПИСАНИЙ [ГЛ. 2 2) Расписание со средним С предпочтительнее, чем расписа- ние со средним С"', тогда и только тогда, когда С' <Z С". Расписание S является оптимальным относительно некоторого критерия, если оно принадлежит к эквивалентному классу {5'} такому, что не существует какого-либо (не пустого) класса, кото- рый предпочтительнее {5'}. Почти во всех теоретических работах по теории расписаний ис- пользуются очень простые критерии оценки. К ним относятся средние и максимальные значения моментов времени окончания ра- бот и длительностей прохождения, а также средние и максималь- ные значения временного смещения и запаздывания. Все эти крите- рии принадлежат к одному и тому же классу, называемому нами классом регулярных критериев. Регулярный критерий М является возрастающей функцией моментов окончания каждой из п работ Л£ = f (Сг, С2, ..., Сп). Таким образом, если М' = / (С15 С2, ..., Сп), то М' М, если Ci Ct, 1 i п, по крайней мере для одного i. Можно легко показать, что средние и максимальные моменты окончания, сред- няя длительность прохождения, среднее или максимальное вре- менное смещение, а также запаздывание удовлетворяют такому определению. Ему удовлетворяют и более сложные величины: взвешенные средние, смесь средних или максимальных значе- ний, или функции квантилей. Однако среднее или максимальное значение опережения, так же как и разность между максимальным и вторым по величине значением моментов окончаний, не будут регулярными критериями. Средние значения приведенных выше величин тесно связаны друг с другом. Для любой работы имеют место следующие соотно- шения: Li = Ft — at = Ci — rt — Hi = Ci — di. В случае n работ складываются n соответствующих соотношений п п п п п п п п Ж = Ж- Ж = Ж- Ж-Ж = Ж; - Ж- i=l i=l i=l i=l i=l i=l i=l i=l Разделив каждый член написанного равенства на п, получим L — F — а = С — г — а = С — d. В каждом конкретном случае а, г и d заданы и не зависят от вводимого упорядочения. Поэтому для всякого расписания L от- личается от F точно на а, от С — точно на d и т. д. Отсюда следует, что расписание, оптимальное относительно F, оптимально относи- тельно С и L,
Критерии оценки систем 25 й.з] Так как каждая из приведенных величин определяется дли- тельностями ожиданий, то средняя длительность ожидания также является регулярным критерием п п G = г4 4- W{ 4- C = r 4- ----1- . Поскольку в выражении для С первый и последний члены посто- янны, то расписание, минимизирующее среднее время окончания работ, минимизирует также среднюю длительность ожидания. Среднее запаздывание и среднее опережение связаны со сред- ним временнйм смещением соотношениями Ti — Ei^Li, T—E—L. Заметим, что отсюда не следует, что расписание, минимизирующее среднее запаздывание, минимизирует также среднее смещение. Однако существуют случаи, когда это имеет место. Например, если плановые сроки для всех работ таковы, что все работы имеют поло- жительную задержку, то смещение и запаздывание совпадают. С другой стороны, если плановые сроки работ таковы, что все ра- боты заканчиваются раньше срока, то опережение представляет собой смещение с обратным знаком. Приведенные соотношения между средними играют важную роль и в теоретических исследованиях, и в приложениях. Эти соотношения вытекают из определений рассмотренных величин и никоим образом не связаны ни с типом системы, ни с видом рас- писания. Однако необходимо постоянно помнить, что эти соотно- шения имеют место только для средних и не означают ничего бо- лее. Например, если на основании этих соотношений установлено, что два расписания имеют одинаковые средние времена окончания работ, то это еще не означает, что оба расписания эквивалентны, так как разные функции распределения могут иметь одинаковые средние значения. В частности, приведенные равенства не дают никакой информации о максимальных значениях входящих в них величин. Расписание, оптимальное относительно F, будет опти- мальным и относительно L, но если расписание оптимально от- носительно то ничего нельзя утверждать о его оптимально- сти ОТНОСИТеЛЬНО Lmax- 2.3. Критерии оценки систем Иногда бывает удобно оценивать расписание величинами, от- носящимися не к работам, а к системе обслуживания. Из зтих величин наиболеее важными являются коэффициент использо- вания и объем содержащейся в системе работы,. Коэффициент
26 КРИТЕРИИ ОЦЕНКИ РАСПИСАНИЙ [ГЛ. 2 использования характеризует производительность машины и представляет отношение длительности занятости ее выполнением ра- боты к общему времени, когда она доступна и может быть исполь- зована. Поскольку общая длительность обслуживания известна заранее и не зависит от составленного расписания, то в упомяну- том отношении интересен только знаменатель. В случае стоха- стической модели поступления работы (гл. 8—11) машины всегда доступны, и поэтому коэффициент использования есть просто заданный параметр задачи, не зависящий от расписания. Ясно, что расписание однозначно определяет продолжитель- ность и расположение интервалов простоев каждой машины, при- чем характер простоев может, вообще говоря, влиять на оценку расписания. Например, редкие длинные простои могут оказаться более предпочтительными, чем частые, но короткие. Однако по- ка нет публикаций, использующих такого рода критерии оценки расписаний. В гл. 3—7 предполагается, что все машины доступны в течение времени выполнения всех п работ, т. е. от rmln до Стах. В боль- шинстве случаев предполагается также, что все работы появляют- ся в системе одновременно. В этих предположениях коэффициент использования обратно пропорционален максимальной длитель- ности прохождения: п ~~ Несмотря на очевидное практическое значение коэффициента ис- пользования, он редко упоминается в публикациях по теории рас- писаний. Это связано с тем, что обычно формализация приводит к моделям, где коэффициент использования не зависит от расписа- ния или где он однозначно определяется длительностью про- хождения. В этих случаях его отдельное рассмотрение теряет смысл. Исключение составляют системы, в которых длительность настройки машины зависит от расписания (разделы 4.1, 8.7 и гл. 9). Существуют два принципиально отличных способа измерения объема работы, содержащейся в системе: можно считать число находящихся в системе работ или их суммарную длительность. Нетрудно представить себе случаи, когда более удобен тот или иной подход. Например, в гражданской авиации расписание ре- монтных работ для определенного типа самолетов должно состав- ляться так, чтобы минимизировать число работ (самолетов) в си- стеме, так как это, по-видимому, максимизирует число самолетов, доступных для пассажиров. С другой стороны, в производстве стоимость запасов является, очевидно, более точным отражением
2.3] КРИТЕРИИ ОЦЕНКИ СИСТЕМ 27 затраченных на их изготовление средств, нежели просто их число. Для выражения работы, содержащейся в системе, используются следующие величины: N (z) — число работ в системе в момент времени t; N ^а) — среднее число работ в системе в течение интервала времени (zx, Z2): tz ад М = К P (t) — суммарная длительность выполнения всех операций для всех работ, находящихся в системе в момент времени I. Эта ве- личина называется объемом работы или суммарной работой', Р (Zx, Z2) — средний объем работы за интервал времени (Zx, Z2): ^2 Иногда бывает полезно представить эти величины в виде суммы двух слагаемых. Например, число работ в системе в момент времени t можно представить в виде следующей суммы: N(t) = ад 4-ад, где Nr! (Z) — число работ, ждущих начала выполнения, Np (Z) — число выполняемых работ. Средние значения Nq (t^, Z2) и Np (Zx, Z2) определяются точно так же, как N (Zx, z2). Представление N (Z) в виде суммы интересно потому, что с увеличением интервала (zx, Z2) полпчипа NP(ti, Z2) перестает зависеть от расписания и определяет- ся только объемом невыполненной работы и доступным числом ма- шин. В силу этого качество того или иного расписания оценивает- ся величиной Nq (Zx, Z2), которая в идеальном случае должна быть сведена к пулю. Подобным же образом, общий объем содержащей- ся в системе работы может быть представлен в виде следующих трех слагаемых: а) длительности всех законченных операций; 1>) длительности всех осуществляемых операций; с) длительности еще но начавшихся операций. Для длинной реализации среднее значение для Ь) ле зависит от расписания. В большинстве случаев среднее для а) может служить наилучшей оценкой стоимости про- изведенной продукции, в то время как среднее для с) характери- зует собой число неначатых работ в системе. Результаты гл. 11 ясно показывают, что нужно быть точным и осторожным в выборе тех или иных характеристик, так как каждому выбору будут со- ответствовать различные алгоритмы составления расписаний.
28 КРИТЕРИИ ОЦЕНКИ РАСПИСАНИЙ [ГЛ. 2 2.4. Соотношение между длительностью прохождения и средним числом работ в системе Интуитивно очевидно, что существует определенная связь между длительностью прохождения работ и их числом в системе (чем больше в среднем длительность прохождения работы, тем боль- ше среднее число работ в системе). Эта связь действительно су- ществует и, что самое удивительное, носит весьма универсальный характер. В статическом и динамическом случаях соотношение между длительностью прохождения и средним числом работ в системе имеет различный вид. В первом из них расписа- ние составляется после то- го, как все работы одно- временно поступили в си- стему, во втором — оно со- ставляется в процессе по- ступления работ. В статическом случае представляет интерес вели- чина JV (гх 1 ^тах) сред- нее число работ в системе за время действия распи- сания. Будем считать, что все работы поступают в момент времени t = 0 (это предположе- ние, очевидно, не ограничивает общности исследования). Тогда величина N (rx, Cmax) эквивалентна величине N (0, Fmax), причем ^тах W> ^тах) = пД- N(t)dt. max J График N (Z) в этом случае представлен на рис. 2.1. Функция N (Z) изменяет свое значение (п 4- 1) раз и N (Z) dt — nFi 4" (п — 1)(^2 — f i) 4- (п — 2)(F3 — Г2) 4- ... о ... 4- [п — (п — l)](Fn — FM) = 2 Fi- Следовательно, n АГ(О, Fmax) = bL_ = г max г max N ^"max) F п ^'max
2.42 ДЛИТЕЛЬНОСТЬ ПРОХОЖДЕНИЯ И СРЕДНЕЕ ЧИСЛО РАБОТ 29 Таким образом, отношение среднего числа работ в системе к максимальному числу работ в системе равно отношению средней длительности прохождения к максимальной. Следовательно, для заданного времени действия расписания Fmax среднее число работ в системе прямо пропорционально средней длительности прохожде- ния. Заметим, что приведенные соотношения справедливы для лю- бого числа работ п, п^\, при условии их одновременного по- ступления в систему и не зависят от а) числа, вида или способа расположения машин; б) характера работ, порядка их выполнения, их длительностей или какой-либо другой априорной информации о длительностях работ; в) какой-либо другой работы, выполняемой машинами: маши- ны могут быть использованы для каких-либо других целей раньше, одновременно или после поступления рассматриваемых работ; г) способа составления расписания. Хотя для простоты доказательство проводилось для случая п работ и т машин, очевидно, что фактически использовалось лишь предположение, что = г2 = ••• = гп- Этот результат справедлив и для каждого конечного подмножества поступающих одновременно работ (заявок) непрерывного процесса, т. е. для пач- ки заявок неординарного потока. N(t) Рис. 2.2. Рассмотрим теперь динамический случай, когда работы по- ступают неодновременно, и предположим сначала, что работы зану- мерованы в порядке их поступления. Предположим также, что их выполнение заканчивается в том же самом порядке'. rm ('l -<С ^2 Найдем соотношение между средним числом работ в системе в ин- тервале (О, С„) и средней длительностью прохождения для этих п работ. По определению Сп W>Cn) = J- N(t)dt. '-'п J о График одной из возможных реализаций N (2) представлен на рис. 2.2. На этом графике N (t) имеет 2 п скачков, которые
30 КРИТЕРИИ ОЦЕНКИ РАСПИСАНИЙ [ГЛ. 2 происходят в моменты поступлений п работ и в моменты пх оконча- ний. Можно построить отдельно два графика: зависимость от вре- мени числа поступивших (рис. 2.3) и числа выполненных (рис. 2.4) в системе работ, а затем совместить их на одном (рис. 2.5). Тогда разница ординат этих кривых равна N (t), а площадь, заклю- ченная между ними, равна площади под кривой N (I) (рис. 2.2), т. е. интегралу от N (г). Если через точки г, г = 1, 2, ..., на оси ор- динат рис. 2.5 провести горизонтальные прямые, то абсциссы точек пересечения этих прямых с кривыми графика будут и Сг, а отре- зок оси абсцисс между rt и Сг равен длительности прохождения работы г. Если разбить площадь менаду кривыми на горизонтальные участки с высотой 1, то легко видеть, что 0 = 2(Сг-гг)= 0 г=1 г=1 у(о,сп)=‘ = rn-t~^n " 7V(0, Сп) « п Член гп!п есть среднее время между поступлениями работ. При со в пределе получится непрерывный процесс поступлений. Если рассматривать установившийся режим этого процесса, когда средняя длительность прохождения не зависит от текущего вре- мени, то член Fntn при п оо стремится к 0. Таким образом, для стационарного процесса поступления работ (при дисциплине первый пришел—первый обслужен) средняя длительность прохождения равна произведению среднего времени между поступлениями на среднее число работ в системе. Отказ от предположения, что работы окан- чиваются в том же порядке, в котором они поступают, не изменяет полученного результата, хотя его доказательство и усложняется. График для этого случая, аналогичный графику рис. 2.5, представ- лен на рис. 2.6. Некоторые трудности здесь возникают из-за того, что окончание n-й работы Сп может произойти раньше, чем окон- чание (п — 1) поступивших ранее работ. Пусть У г (г) есть неза- вершенная к моменту t часть Ft. Тогда 0 $ n (о dt = 2 [1 - (с„)] ^=2^-2^ 0 г=1 i=l г=1 п 2 А (С„) А W- сп)[% + = Т’-Ы—--------. Если устремить п к оо и рассмотреть установившийся режим, то
2.4] ДЛИТЕЛЬНОСТЬ ПРОХОЖДЕНИЯ И СРЕДНЕЕ ЧИСЛО РАБОТ 31 Рис. 2.6,
32 КРИТЕРИИ ОЦЕНКИ РАСПИСАНИЙ [ГЛ. 2 (FJn) -> 0. Второй член в правой части также стремится к 0, поскольку в числителе для большинства слагаемых Уг (Сп) равно 0, так как при п оо возрастает неограниченно число работ, закончившихся раньше Сп. Левую часть равенства можно оценить сверху и снизу: ^(0,Cn)[^- F, N(Cn) Лпах п ’ где N (Сп) — число работ в системе в момент Сп. Если режим установившийся, то N (Сп) и Утах конечны, так что отношение их произведения к п при п —> оо стремится к 0. Окончательно имеем: в установившемся режиме средняя длительность прохождения рав- на произведению среднего числа работ в системе на среднее время — Tv между их поступлениями в систему, или F = -у, где X — интенсив- К ность поступления работ. Это очень важный для теории и для практики результат *), называемый обычно формулой Литтля. Он угадывается интуитивно и можно привести много его эвристи- ческих доказательств **). Однако следует сразу же оговорить возможные границы его применения. Приведенное соотношение утверждает лишь то, что в стационарном режиме интенсивность завершения работ равна интенсивности их поступлений и не за- висит от а) вида системы и накладываемых на нее ограничений; Ь) характера поступающего потока работ, за исключением случаев перенасыщения; с) расписания внутри системы. Это соотношение применимо к целому заводу, к отделу завода и к отдельному станку. Оно применимо также ко всей номенкла- туре изделий некоторой компании или к одной производственной линии, или к отдельным изделиям. Для этого нужно только быть аккуратным и точным в выборе системы единиц. Вводя в формулу Литтля вместо X его значение, выраженное через коэффициент использования, получим для нее другой вид. Для системы из т машин коэффициент использования опреде- лится как U = т *) В 1961 г. приведенное соотношение было строго доказано Литтлем в работе но теории очередей. Однако этот результат к тому времени был довольно хорошо известен, и, возможно, что для него существует более ран- нее доказательство. **) Строгое доказательство этого соотношения для широкого класса систем приведено в [122].— Прим, перев.
2 5] РАСПИСАНИЯ И СТОИМОСТЬ 33 1 до % — интенсивность входящего потока работ (среднее число работ в единицу времени), а р — средняя длительность выполне- ния одной работы. Подставив в формуле Литтля вместо % его значение из послед- него соотношения, получим F = . mU Используя приведенные ранее соотношения между средней длитель- ностью прохождения, средним временным смещением и сред- ней длительностью ожидания, получим # = = Г + а = + ти где F — есть средняя_длительность прохождения; L — среднее временное смещение; W — средняя длительность ожидания; а — средняя допустимая длительность прохождения; р — средняя длительность одной работы; N — среднее число работ в системе; U — коэффициент использования машины; т — число машин в системе. Приведенное соотношение широко используется при сравнении расписаний. В каждом конкретном случае при заданных значе- ниях р, а, т и U выполняется а) средняя длительность прохождения прямо пропорциональна среднему объему содержащейся в системе работы, измеряемому числом работ; Ь) средняя длительность прохождения отличается от среднего смещения и средней длительности ожидания на постоянную ве- личину; с) расписание, удовлетворительное относительно одного из этих средних, будет также удовлетворительным относительно любого другого; d) расписание, минимизирующее среднюю длительность про- хождения, также минимизирует среднее смещение, среднюю дли- тельность ожидания и среднее число работ в системе. 2.5. Расписания и стоимость Практически, вопрос о том, когда и в каком порядке выпол- нять работы, как правило, влияет на величину затрат, связанных с их выполнением. Однако в идеализированных задачах чистого упорядочения это влияние ограничено. Предположение, что множество работ определено заранее и не зависит от расписания, означает, что общий доход системы фиксирован или по крайней мере никак не связан с расписанием. 2 Р. В Конвей и др.
34 КРИТЕРИИ ОЦЕНКИ РАСПИСАНИЙ 1ГЛ. 2 Предположение, что эффективность использования оборудования также не зависит от расписания, означает, что нами игнориру- ются все стоимости, обычно называемые прямыми ценами. В дей- ствительности цены, которые могут быть поставлены в соответ- ствие решениям чистого упорядочения, представляют собой в большей степени цены производства, чем цены товаров. Тарифные сетки премий за сверхурочные работы и штрафы, взимаемые за задержку работ, устанавливаются на основании дан- ных, имеющихся по ряду конкретных работ. Поэтому не совсем правильно применять их по отношению ко всем работам подряд. Существуют три основных вида стоимостей, которыми опреде- ляется составленное расписание. Это стоимость эксплуатации машины, стоимость хранения работ и стоимость их задержек. О стоимости хранения работ написано очень много, однако этот вопрос еще не решен полностью. Издержки хранения обычно оценивают в 2—3% от стоимости запасов в месяц. Они зависят от физического объема, запасов, хотя количественные соотношения здесь трудно установить. В за- висимости от обстоятельств издержки могут определяться числом работ, объемом незавершенной или завершенной работы, но можно считать, что всегда существуют экономические причины, застав- ляющие стремиться к уменьшению средних размеров запасов. Уменьшением этих размеров и объясняется стремление умень- шить среднюю длительность прохождения работ. Практически эти стремления объясняются также конкуренцией, так как умень- шение длительности прохождения позволяет произвести больше товаров и, следовательно, снизить цены. Коэффициент использования является очень важным экономи- ческим фактором, характеризующим составленное расписание. Если расписание таково, что простои устройств в нем минималь- ны или минимальна средняя длительность прохождения работ, то это означает, что те же самые устройства за одно и то же время выполняют большую работу, чем при другом расписании. С дру- гой стороны, правильно составленное расписание позволяет вы- полнить ту же самую работу меньшим числом устройств. Для длительной эксплуатации системы эти преимущества выразятся или в уменьшении парка машин или в увеличении объема валовой продукции. Для более короткого срока эксплуатации это сократит оплату сверхурочных часов и уменьшит число необходимых смен. В ряде случаев, особенно в проектных организациях, наиболее удобной экономической оценкой является стоимость задержки. Например, можно установить штраф X за каждый просроченный день сверх планового срока представления проекта. При оплате за разработку проекта этот штраф затем вычитается из общей сум- мы оплаты. В промышленном производстве штраф за задержку
2.5] РАСПИСАНИЯ И СТОИМОСТЬ 35 поставок редко носит столь очевидный характер, но он также объ- ективно необходим, так как недовольство потребителей задержкой в поступлении товаров несомненно сказывается на развитии дела. Те, кто занимался вопросами чистого упорядочения или рас- сматривал расписания с практической точки зрения, знают, на- сколько трудно бывает установить перечисленные экономические оценки и как трудно применять их на практике. Современный экономический анализ включает в себя методы, позволяющие установить неэффективное использование рабочего времени, ма- териалов и всего того, что приводит к перерасходам в бюджете. Од- нако в этом анализе отсутствуют методы, указывающие на неэф- фективность расписаний, хотя во многих случаях эффективность системы существенно зависит от выбранного вида расписания.
ГЛАВА 3 УПОРЯДОЧЕНИЕ КОНЕЧНОГО ЧИСЛА РАБОТ ДЛЯ ОДНОЙ МАШИНЫ В настоящей главе предполагается, что каждая работа состоит только из одной операции. В этом случае множество работ можно разбить на группы в зависимости от вида операции и каждая ма- шина, выполняющая определенную операцию, не зависит от дру- гих. Следовательно, можно ограничиться составлением расписа- ния только для одной машины и выполняемого ею подмножества работ. Будем считать, что число работ п конечно и известно заранее и что все они должны быть выполнены. Кроме того, считаем, что машины используются только для выполнения рассматри- ваемых работ, что они всегда доступны и не выходят из строя. Далее примем, что все п работ поступают в систему одновременно, так что при составлении расписания процесс обслуживания может начаться с любой из них, и что выполнение каждой из работ про- исходит либо без настройки машины, либо настройка не зависит от предшествующей работы. В последнем случае длительность настройки перед какой-либо работой зависит лищь от самой ра- боты, и эту длительность можно присоединить к длительности выполняемой работы. Обозначения, используемые в дальнейшем, таковы: т = 1, т. е. имеется лишь одна машина; gi = 1, т. е. по предположению каждая работа состоит из одной операции; т\ = 0, т. е. все работы поступают одновременно. Поэтому, без ограничения общности, начало отсчета на временной оси можно совместить с моментом поступления; Ри — Pi, т- е- длительность работы является произвольной величиной, задаваемой заранее и не зависящей от расписания. Поскольку каждая работа состоит из одной операции, то второй индекс опускается; щ = di, т. е. допустимая длительность прохождения совпа- дает с плановым сроком, так как dt = г, 4- сц == 0 +
ГЛ. 3] УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ 37 = W\, т. е. длительность ожидания работой i начала ее выполнения не зависит от второго индекса, так как работа состоит из одной операции, и второй индекс у можно опустить; Ci = — pi + Wi, т. e. момент окончания работы равен дли- тельности прохождения, так как отсчет времени начинается с мо- мента поступления работы. Существуют разные соображения практического и теоретиче- ского характера о целесообразности изучения сформулированного класса задач. Во-первых, они являются простейшими в теории рас- писаний, и получаемые здесь результаты достаточно наглядны. Во-вторых, на них хорошо просматриваются различные виды рас- писаний и возможные критерии, используемые для их оценки. Некоторые результаты рассматриваемых в данной главе задач оказываются полезными и в более сложных случаях, так как иногда они позволяют выбрать целесообразное направление иссле- дований, а иногда служат хорошей основой для приближенного решения реальных проблем. Вообще говоря, прямые приложения результатов этой главы встречаются гораздо чаще и имеют гораздо большее значение, чем интуитивно можно ожидать. Это объясняется тем, что они при- менимы не только к одной матине, но охватывают и случаи более сложных комплексов, функционирующих как одно целое. Так, в химической и тяжелой промышленности предприятия зачастую представляют собой одно целое по отношению к конечному продукту производства. Примером может служить производство дезинфи- цирующих материалов и красок. Различные сорта и виды мате- риалов, так же как краски разных цветов, производятся после- довательно одной и той же технологической линией. Существует также много случаев, когда из совокупности опе- раций каждой работы одна является доминантной. В таких си- туациях второстепенными операциями можно пренебречь и рас- сматривать систему как бы состоящей из одной машины, осуще- ствляющей эту доминантную операцию. Таким примером может служить современное производство бумаги, где процесс взвеши- вания, окраски и формовки бумаги (рассматриваемый как функци- онирование некоторой интегрированной машины) полностью до- минирует над другими типами производственного процесса. Возрастание сложности промышленного оборудования и вве- дения систем автоматического контроля приводит к укрупнению оборудования, рассматриваемого в теории расписаний как единое целое. Существуют случаи, когда одна из машин временно становит- ся настолько узким местом в системе, что в основном и опреде- ляет ее производительность. Для этой машины расписание со- ставляется отдельно независимо от других машин. Например, если при составлении расписания рейсовых самолетов между
38 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 сетью аэропортов известно, что пропускная способность одного из аэропортов ограничена из-за погоды, то для этого аэропорта временное расписание составляется в первую очередь, поскольку его возможности являются доминантными для всей сети. 3.1. Перестановочные расписания В более сложных случаях могут оказаться полезными распи- сания, допускающие прерывание (когда выполнение работы пре- рывается до ее завершения и работа удаляется из машины) и искус- ственно вводимые простои (когда машина простаивает при нали- *1_Ож/ЖШЮМ чии ожидающей выполнения работы). Если такие дисцип- лины допустимы, то для за- дачи с двумя работами (рис. 3.1), наряду с распи- саниями 1 и 2, должны быть рассмотрены расписания ти- па 3—6. Однако этого можно не делать в силу следующей теоремы: Теорема 3.1. Для, си- стемы п 11 расписание, опти- мальное относительно регу- лярного критерия, принадле- рис_ 3j. жит классу, исключающему прерывания или искусствен- ные простои. Доказательство, а) Случай искусственных простоев. Рассмотрим расписание S, содержащее простои на отрезке от до /2, где О Стах- Существует расписание S', отличающееся от расписания S лишь тем, что машина не простаивает на отрезке t2] и все события, происходящие после t2, опережают соответствующие события S на t2 — tx. При этом, очевидно, не изменяются моменты окончания работ, происходящие до а для работ, оканчивающихся после t2, моменты окончания для S сдвигаются влево на t2 — tv Ясно, что С- < Ci, i — 1, 2, ..., п, так что значение регулярного критерия (раздел 2.2) для S' не превосходит его значения для S. Поэтому оптимальное распи- сание принадлежит S', т. е. классу без простоев. б) Случай прерываний. Рассмотрим расписание S, при котором работа I начинает выполняться в момент tx и в момент предше-
3.1] ПЕРЕСТАНОВОЧНЫЕ РАСПИСАНИЯ 39 ствующий ее окончанию, прерывается работой J. (Для упро- щения вывода предположим, что J не прерывается.) В момент времени t3 работа I опять возобновляется и продолжается до ее полного завершения. Расписание S ^7 ^2 Р/ ^3 *7 Расписание S if Z}' t5 Ci Теперь рассмотрим расписание S', которое отличается от S тем, что первой выполняется работа J. В результате получается, что в S' окончится раньше только работа J, а моменты окончания остальных работ не изменятся. Поэтому значение любого регу- лярного критерия для S' не превосходит его значения для S. Если в расписании S' выполнение работы I прерывается другими ра- ботами, то можно повторять описанную процедуру перестановки прерывающих работ перед I до тех пор, пока работа I не будет вы- полняться без прерываний. В результате всех этих перестановок регулярный критерий не увеличится. Из сказанного следует, что оптимальное расписание принадлежит классу S', т. е. классу, нс содержащему прерываний. Основным результатом доказанной теоремы является то, что поиск оптимального расписания должен проводиться в классе перестановочных расписаний. Существуют расписания, которые полностью определяются порядком выполнения работ и в случае п работ задаются одной из п\ возможных перестановок их номе- ров. Задав эту перестановку и длительности каждой работы, мож- но вычислить значения W\, а затем найти все остальные свойства расписания. В дальнейшем квадратные скобки используются для обозна- чения очередности работы в перестановочном расписании. Напри- мер, [1] означает номер работы, выполняемой первой; [3] = 7 означает, что седьмая работа выполняется третьей; ру] — озна- чает длительность работы, выполняемой в i очередь. Используя эти обозначения, получим, что для перестановочного расписания Qi] ‘С Qa] • • • ‘С £[«]• Однако часто бывает удобно после установления порядка выпол- нения работ перенумеровать их в соответствии с этим порядком. Тогда квадратные скобки могут быть опущены. Это означает, что Ii] = i для i — 1, 2, ..., п. В дальнейшем случаи, когда проведена подобная перенуме- рация, специально оговариваются. Заметим, что для перестано-
40 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 вочных расписаний в системе п | 1 максимальная длительность прохождения просто равна сумме п длительностей соответствую- щих работ. Эта величина зависит только от известных заранее дли- тельностей работ и одинакова для всех п\ возможных упорядо- чений. В более сложных системах (гл. 4, 5 и 6) максимальная дли- тельность прохождения является основным критерием оценки расписаний, но в данном случае она не зависит от порядка выпол- нения работ, так что выбор расписания должен проводиться по другому критерию. Очевидно также, что в данном случае в каче- стве критериев оценки расписания непригодны максимальное или минимальное число работ в системе, максимальный объем содер- жащейся в системе работы, минимум длительности ожидания и коэффициент использования машины, поскольку все они не зави- сят от упорядочения. 3.2. Упорядочение по минимуму длительностей работ Упорядочение для системы п | 1 схематически можно предста- вить, как показано на рис. 3.2. Общая площадь фигуры, ограни- ченной осями координат и внешней ступенчатой линией, равна сумме длительностей про- хождения работ. Заметим, что площадь всех прямо- угольников, заключенных между внешней и внутрен- ней ступенчатыми линия- ми, не зависит от упорядо- чения. Действительно, каждой перестановке ра- бот отвечает своя переста- новка прямоугольников, но набор прямоугольников остается тем же самым. Вместе с тем, площадь меж- ду осями координат и сту- пенчатой ломаной зависит от перестановки прямо- угольников, и, следова- тельно, от расписания. Как показано на рис. 3.3, каждый прямо- угольник можно заменить вектором с угловым коэффициентом — 1/р, и равным по длине диагонали прямоугольника. Тогда любое расписание предста- вится в виде последовательности векторов, расположенных так,
3.2J УПОРЯДОЧЕНИЕ ПО МИНИМУМУ ДЛИТЕЛЬНОСТЕЙ РАБОТ 41 что конец одного совпадает с началом другого. Интуитивно кажет- ся, что площадь под такой векторной кривой будет минимальна, если кривая выпукла вниз. На рис. 3.3 показана такая кривая. Она начинается с вектора, имеющего максимальный модуль уг- лового коэффициента. Все последующие векторы расположены в порядке уменьшения модуля их углового коэффициента. Пред- ставленный на рис. 3.3 график соответствует такому порядку выполнения работ, что P[ij<P[2]<- • •<£["]• В дальнейшем такой алгоритм упорядочения будем называть упорядочением по минимуму длительностей работ {Shortest — processing — time sequencing) или сокращенно SPT. Этот важней- ший алгоритм в различных вариантах будет неоднократно встре- чаться в последующих главах. Оптимальность упорядочения SPT устанавливается следую- щей теоремой: Теорема 3.2*). Среднее время пребывания работ в системе п | 1 | F минимально, если после упорядочения длительности ра- бот не убывают: Pm С Рш < • • < Pin]’ и максимально, если после упорядочения длительности работ не возрастают: PlU >Р[2] > • • • >Р[П]. Доказательство. Поскольку рассматриваются только перестановочные расписания,- то длительность прохождения для работы, выполняемой в /г-й позиции некоторого расписания, равна й = Spm- г=1 Средняя длительность прохождения для п работ определится как п п к 2f1м S S P[ii р __ fc^=l __ _ П П = (Pin + Р[1] + Pin + P[1J + Р[2] + Р[3] + • • • + Р[1] + • • . + Р[П]) = п 2(«-i + l)pw 1—1__________ п *) Мы не знаем, кому принадлежит этот результат. В 1956 г. он был опубликован Смитом [187], однако к тому времени уже был хорошо известен.
42 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 Хорошо известно *), что сумма попарных произведений членов двух числовых последовательностей имеет минимальное значе- ние, если одна из этих последовательностей возрастает, а другая убывает. Так как коэффициенты (п — i ф- 1) уменьшаются с уве- личением i, то минимум средней длительности прохождения до- стигается только в том случае, когда с ростом i возрастают или по крайней мере не убывают. Сумма попарных произведений до- стигает максимального значения, если обе последовательности упорядочены одинаково, т. е. работы выполняются в порядке уменьшения или по крайней мере невозрастания их длительности. Докажем обобщение теоремы 3.2, используя для'доказательства метод, который неоднократно будет применяться в последующих главах. Для этого введем более общий критерий оптимальности расписания, чем тот, который фигурирует в теореме 3.2: —— при а )>0. Теорема 3.2 относится к частному случаю этого критерия при а = 1. Доказательство. Рассмотрим расписание S, не отно- сящееся к классу SPT-расписаний. (Заметим, что для подмноже- ства работ с одинаковой длительностью может существовать не- сколько SPT-расписаний с одним и тем же значением средней длительности прохождения, но $ не является одним из них.) По определению в расписании $ найдется такое к, что Р[Ч > P[fc+i]- Пусть К и К' — номера работ, выполняемых соответственно в к-ю и (к ф- 1)-ю очередь. Теперь рассмотрим расписание S', отличающееся от & только перестановкой очередности работ К и К', т. е. в S' работа К' выполняется fc-й, а К' — (к ф- 1)-й. В обоих расписаниях порядок выполнения к — 1 первых и п — к — 1 последних работ один и тот же. Очевидно и то, что в обоих расписаниях начало и окон- чание выполнения этих п — 2 работ совершенно одинаковы. Расписания S S' различаются только длительностями прохож- дения работ К и К'. Если обозначить /с-1 г = Spw i=l *) G. Н. Hardy, J. Е. L i t t 1 е w о о d and G. Polya, Inequa- lities, Cambridge University Press, New York, 1952, p. 261. Русский перевод (издания 1934 г.): Г. X. X а р д и, 'Дж. Е. Л и тт л в уд, Г. Попа, Неравенства, ИЛ, М., 1948.
3.21 УПОРЯДОЧЕНИЕ ПО МИНИМУМУ ДЛИТЕЛЬНОСТЕЙ РАВОТ 43 (причем t одинаково для $ и S'), то длительности прохождения в обоих расписаниях, возведенные в степень а, имеют следующий вид: Рк = = (г + РкУ, Для Fk.’ ~ Ff^ = (i + рк + Рк'У- Fk = ^[»+i] = (t 4- pK' + РкУ, Для >S : , Fl’ = = (« + PkY- Из приведенных соотношений следует, что одинаковы для обоих расписаний и что S и S' отличаются только членом Для любого положительного а имеем (t + PkY > (t н- Рку, если Рк РК'- Это означает, что 5 хуже S'. Можно продолжить описанную про- цедуру улучшения расписания путем соответствующих переста- новок до тех пор, пока не будет получено расписание SPT. Таким образом: 1. Если расписание не принадлежит к классу SPT-расписаний, то существует к такое, что р^+ц- 2. Расписание может быть улучшено перестановкой очеред- ности выполнения работ к и к -р 1. 3. Любое из п\ возможных расписаний для п работ приводится к расписанию SPT последовательными перестановками так, что расписание каждого последующего шага будет лучше расписания предыдущего. Исследование расписаний методом попарных перестановок со- седних в очередности работ весьма удобно, однако не всегда при- водит к цели. Этот метод непригоден не только в большинстве сложных задач, описанных в последующих главах (например, раз- дел 5.4), но и в ряде случаев для системы п | 1. Например, рассмотрим систему 3 | 1 | Т со следующими ис- ходными данными: Работы Длительность Плановый срок а 1 4 ь 2 2 с 2 3 Критерием оценки расписаний служит Т = у [max (Са — da, 0) + шах (Сь — db, 0) + так (Сс — dc, 0)],
44 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 причем критерий Т представляет собой регулярный критерий. Все 6 возможных последовательностей выполнения работ рас- сматриваемой задачи представлены на рис. 3.4. Стрелки на этом рисунке соединяют последовательности, отличающиеся друг от друга попарной перестановкой соседних по очередности работ. Каждое упорядочение имеет по две таких связи. Расписание оце- нивается суммарной задержкой всех работ. Если принять за исходное расписание S (cab), то ще суще- ствует попарной перестановки работы, улучшающей расписание, и возможности метода попарных перестановок оказываются ис- черпанными раньше, чем достигается оптимум (Ьас). Дело здесь в том, что используемый кри- терий не транзитивен. Дей- ствительно, из сравнения „ & (acb) и $ (cab) следует, что с должно предшествовать а. Из сравнения & (cab) (cba) следует, что а должно пред- шествовать Ъ. Однако отсюда еще не следует, что с должно предшествовать Ъ. Вообще, взаимное расположение двух работ зависит от очередности выполнения третьей работы. Например, если Ъ выполняется третьей, то с должно предшествовать «(сравним S (acb) и S (cab)). Если b выполняется первой или второй, то а должно предшество- вать с (сравним S (Ьас) и S (Ьса), а также 5 (abc) и *9 (cba)). С помощью аналогичного доказательства или с помощью оп- ределений и соотношений раздела 2.2 можно показать, что в рас- сматриваемом случае оптимальным будет расписание SPT, если за критерий оптимальности принять минимум одного из средних: времени окончания работы, длительности ожидания или времен- ного смещения. Очевидно, что SPT-расписапие минимизирует и ряд других характеристик: минимальную длительность прохож- дения, минимальное время окончания работ, максимальную дли- тельность ожидания и минимальную ненулевую длительность ожидания. Из соотношения W, ________ F п ^'тах приведенного в разделе 2.4, следует, что SPT-упорядочение ми- нимизирует среднее число работ в системе, поскольку оно мини- мизирует F, а п и Fmax для рассматриваемого случая постоянны. Если упорядочивать по максимуму длительности работы (longest — processing— time sequencing пли сокращенно LPT), т. е. выполнять работы в порядке уменьшения их длительности, то
3.3] УПОРЯДОЧЕНИЕ В СООТВЕТСТВИИ С ПЛАНОВЫМ СРОКОМ 45 величины, достигающие минимума при SPT, будут максимальны- ми при LPT. Это следует учитывать в тех случаях, когда по ка- ким-либо соображениям их целесообразно максимизировать. Конечно, существует много интересных и разумных критериев оценки расписания для системы п | 1, в соответствии с которыми упорядочение SPT не будет оптимальным. Наиболее важные из них зависят от плановых сроков. Например, рассмотрим систему 2 | 1: Работы Р d а Ъ 1 2 3 2 Для этой системы существуют только две очередности выполнения работ: аЪ и Ъа. Согласно упорядочению SPT оптимальной очеред- ностью будет аЪ. Но при выборе очередности Ъа будут меньше максимальное временное смещение, максимальное запоздание, среднее запоздание и число запоздавших работ. В ряде случаев для работ задаются жесткие и очень близкие друг другу плановые сроки. В результате все они задерживаются и SPT-упорядочение минимизирует среднее запоздание, поскольку временное смещение в этом случае представляет собой запозда- ние. В тех случаях, когда — ... = dn, упорядочение SPT минимизирует также число запоздавших работ. Однако приведенный выше пример с системой 2 | 1 показывает, что упорядочение SPT не минимизирует дисперсию длительности прохождения п п i=l Упорядочение SPT минимизирует каждый из членов в правой ча- сти, но не их разность. 3.3. Упорядочение в соответствии с плановым сроком Из возможных критериев оценки расписаний наиболее важ- ным с точки зрения приложений является, конечно, критерий свое- временного выполнения работ. Хотя коэффициент использования машин, длительность прохождения работы и объем выполняемой в системе работы представляют собой, безусловно, важные харак- теристики, но по сравнению с ними критерий своевременного вы- полнения работ предпочтительнее.
46 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 Поскольку оценкой расписания служит нарушение планового срока, естественно ожидать, что упорядочение должно осуще- ствляться с учетом информации, содержащейся в наборе величин {d,}. Поэтому на первый взгляд кажется неожиданным, что сред- нее временное смещение минимизируется расписанием SPT, кото- рое никоим образом не использует информацию о плановых сро- ках. Наиболее простым и очевидным использованием плановых сроков является такое упорядочение, что ^[1] ^[2] ^[п]- Однако не вполне ясно, что достигается таким упорядочением. Ответ на этот вопрос содержится в следующей теореме: Теорема 3.3 (Джексон [90]). Расписание, минимизирующее максимум временного смещения и максимум запаздывания работ в системе п 11|£ тах, таково, что работы выполняются в порядке неубывания плановых сроков. * Доказательство. Рассмотрим расписание 8, не при- надлежащее к классу расписаний, с неубывающими плановыми сроками. Тогда в <8 существует такое к, что d[ic] Пусть К и К' — номера работ соответственно в Л-й и (/с-]-1)-й по- зициях расписания 8. Теперь рассмотрим расписание 8', которое отличается от & только перестановкой очередности работ К и К', т. е. в 8' работа К' выполняется /с-й, а работа К выполняется (к 4- 1)-й. В обо- их расписаниях порядок выполнения {к — 1) первых и (п — к — 1) последних работ один и тот же. Кроме того, очевидно, что в обо- их расписаниях начало и окончание выполнения этих (п — 2) ра- бот совершенно одинаково. Поэтому временное смещение для них одно и то же. Пусть максимум этого смещения будет L. Оба рас- писания отличаются лишь временными смещениями работ К и К'. Нам нужно показать, что шах (Л, Lr, Lr>) в 8' меньше или равен максимуму тех же величин в >8. Если мак- симум (L, Lr, LK-) равен L, то оба расписания будут эквивалент- ны. Поэтому предположим, что максимум равен Lr или Ьк,, к—1 и докажем, что теорема верна в этом случае. Если t = 2 Pin 4=1 (эта величина одинакова при 8 и 8'), то соответствующие времен- нь'те смещения имеют следующий вид: Lk (®) = ki[k] = t 4- рК — dR, Для 8: Lk’ (®) = ^[/t+i] = t 4* Pk + Pk' — d^.
3.3] УПОРЯДОЧЕНИЕ В СООТВЕТСТВИИ С ПЛАНОВЫМ СРОКОМ 47 Lk (S') = i'tu+i] = t + Ркг + Рк — Лк, Для S'-. -С 'К' (S') = £[к] = t Ц- рК’ — ЛК’. Отсюда следует, что L>K’ (S) Ук (S'), так как Лк^>ЛК’, LK> (S)>Lk' (S'), так как Рк^>0, Lk’ (S) > max (LK (S'), LK. (S')), max {L, LK (S), LK< (S)} max {L, PK (S'), LK, (S')}. Таким образом, для любого расписания S существует возможность его улучшения путем попарной перестановки соседних работ так, чтобы работы выполнялись в порядке, обратном их плановым срокам. Уменьшение максимального запоздания для S' по сравнению с $ следует из результатов, полученных для временного смеще- ния: Утах (S) = max {0, Утах (S)} > max {0, Утах («")} = Утах (£"). Информацию, содержащуюся в наборе величин {^}, можно использовать иначе, а именно производить упорядочение в соот- ветствии с резервом времени каждой работы. Резерв времени рабо- ты i в момент t равен Д — р; — t и представляет собой максималь- но допустимую длительность ожидания, при которой не произойдет задержки. Работа с минимальным резервом времени имеет, по- видимому, больше шансов быть задержанной, поэтому при уста- новлении очередности она должна иметь преимущества. Посколь- ку время t является общим для всех работ, то упорядочение долж- но быть следующим: ^[1] — Р[1] С ^[2] — Р[2] < • • • < ^[п] — Р[п]- Интуитивно кажется, что упорядочение такого вида является не- которым улучшением расписания, полученного в соответствии с плановыми сроками, и в ряде сложных случаев должно улучшать характеристики системы. Однако имеет место несколько неожи- данный результат, содержащийся в следующей теореме: Теорема 3.4. Расписание, максимизирующее минимальное временное смещение и минимальное запаздывание работ в системе П | 1, таково, что работы выполняются в порядке неубывания ре- зерва времени. Доказательство в точности повторяет доказатель- ство теоремы 3.3. Используя те же обозначения, получим Lk(S)<LK'(S'), так как (dK —рк) >(dK'— РкО- LK(S) <ЬК(8'), так как Рк'^>0, УК (£)<пнп{УкДЯ'), Lk(S)}.
УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 Пусть L — минимальная задержка (п — 2) работ. Тогда min {L, LK (S), LK' (&)} min {L, (&'), LK (S')}, т. e. теорема доказана. В совокупности результаты, полученные в теоремах 3.2—3.4, позволяют составлять расписания, оптимальные относительно различных характеристик временного смещения. Можно построить расписание, минимизирующее его среднее значение (теорема 3.2), его максимум (теорема 3.3) или, наконец, максимизирующее его минимум (теорема 3.4). По отношению к запаздыванию можно минимизировать его максимальное значение или максимизировать минимальное. Однако, как видно из табл. 3.1, ни одно из рассмот- ренных правил не минимизирует среднее запаздывание. Пусть упорядочение в соответствии с плановым сроком приво- дит к нулевому значению максимума запаздывания. Вообще го- воря, для этой задачи может существовать другое расписание, при котором максимум запаздывания также равен 0, но которое по ряду причин предпочтительнее упорядочения в соответствии с плановым сроком. В частности, если наряду с минимизацией мак- симального временного смещения стремятся минимизировать и среднюю длительность прохождения, то упорядочение должно осу- ществляться в соответствии со следующей теоремой: Теорема 3.5 (Смит [187]). Если для системы п | 1 суще- ствует такое упорядочение, что максимальное запаздывание работ
3.3] УПОРЯДОЧЕНИЕ В СООТВЕТСТВИИ С ПЛАНОВЫМ СРОКОМ 49 равно 0, то существует и упорядочение с работой К в последней позиции, которое сохраняет нулевым максимальное запаздывание и одновременно минимизирует среднюю длительность прохож- дения, тогда и только тогда, когда п а) > 2 Рб г—1 п Ь) рк Pi при таких 1,что t/1 2 Pi- j^-i Теорема 3.5 утверждает, что работа выполняется последней, только если это не приводит к ее запаздыванию и если ее длитель- ность максимальна среди всех работ, выполнение которых в по- следнюю очередь не приводит к запаздыванию. Доказательство. Рассмотрим расписание со следую- щими свойствами: 1) максимальное запаздывание равно 0; 2) ра- бота К, выполняемая последней, удовлетворяет условиям а) и Ъ) теоремы. Теперь покажем, что всякое перемещение работы К с последнего места приводит к ее запаздыванию и (или) к увеличе- нию средней длительности пребывания. Сначала заметим, что не существует другой работы J, выполняемой раньше, чем К, на- пример, в позиции (п— v), и удовлетворяющей одновременно ус- ловиям а) и Ь) теоремы, если только рт рк- Если p,j = рк, то безразлично, какая из работ выбирается последней. Теперь, если/ не удовлетворяет условию а) теоремы, то ее перестановка с К приведет к образованию ненулевого запаздывания для J, что про- тиворечит предположениям теоремы. Если J не удовлетворяет условию Ь), т. е. pj <Zpic, то перестановка J с К приведет к воз- растанию суммарной длительности прохождения работ на величину v (рк — Pj)- Здесь повторяется ситуация, при которой упорядо- чение SPT оказывается оптимальным и при наличии плановых сроков. Окончательный вид расписания, минимизирующего среднюю длительность прохождения при наличии плановых сроков, полу- чается рекуррентно, путем последовательного выбора последней, предпоследней и т. д. работ. Это происходит следующим образом. Из совокупности работ, для которых плановые сроки превос- ходят или равны суммарной длительности всех работ, выбирается работа с наибольшей длительностью. Эта работа выполняется последней. После того, как выбрана последняя работа, время окончания работы [и — 1] находится так: п Qn-i] = 2 Pl P[n]- i=l Теперь из совокупности работ, для которых плановые сроки пре- восходят или равны С[п_г], выбирается работа максимальной
50 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 длительности. Эта работа выполняется (п — 1)-й и т. д. Практи- чески описанная процедура намного легче, чем это может пока- заться. Например, рассмотрим систему 6 | 1: Работы 1 2 3 4 5 6 di 24 21 8 5 10 23 Pi 4 7 1 3 2 5 Для этой системы упорядочение по плановым срокам приводит к нулевому значению максимального запаздывания, но это упоря- дочение может быть улучшено с помощью только что доказанной теоремы. Суммарная длительность всех работ равна 22. Из всех работ только первая и шестая имеют плановый срок, больший 22, по- этому последней должна быть выбрана одна из них. Это будет ра- бота 6, так как рй > рг. Исключив из рассмотрения работу 6, устанавливаем, что суммарная длительность оставшихся работ равна 17. Из пяти работ только работы 1 и 2 могут быть выбраны последними. Выбираем вторую работу. Продолжая описанную процедуру дальше, окончательно получим последовательность 3, 4, 5, 1, 2, 6. 3.4. Случайное упорядочение В этом разделе рассматривается случайное упорядочение (RANDOM) в системе п | 1. Здесь это будет упорядочение при случайной длительности работ. Очередность выполнения работ можно установить исходя из каких-либо признаков, не зависящих от длительности самих ра- бот. В этом случае длительности упорядоченных работ будут слу- чайны. Предположим, например, что плановые сроки работ не зависят от их длительностей. Тогда упорядочение в соответствии с плановыми сроками приводит к случайному упорядочению дли- тельностей работ. Если же упорядочение производится в соответ- ствии с резервом времени, то упорядоченная последовательность длительностей работ не будет случайной. В предыдущих разделах рассматривались только детерми- нированные системы, расписания для которых полностью опре- делялись правилом упорядочения. Если же длительности работ являются случайными величинами, то одно и то же упорядочение каждый раз будет приводить к разным расписаниям, т. е. дли- тельность прохождения каждой работы и средняя длительность прохождения будут случайными величинами, причем функция
3.4] I СЛУЧАЙНОЕ УПОРЯДОЧЕНИЕ 51 распределения средней длительности прохождения зависит от упорядочения. Для математического ожидания этого среднего существует следующая теорема: Теорема 3.6. Математическое ожидание средней длитель- ности прохождения в системе п | 1 при упорядочении, не учиты- вающем длительность работы, равно Е(Г)=^-р, где р — среднее арифметическое длительностей работ, если они известны заранее, и Е(^) = Л+1р, где р — математическое ожидание длительности работ, если они представляют собой независимые в совокупности случайные вели- чины с одинаковыми функциями распределения. Доказательство. Средняя длительность прохождения в системе п | 1 равна F = ~ S (п ~~ 1) Pril- ls Если длительности работ случайны, то п е(^)=4-2(«-^ + 1)е(ри)- 1=1 Поскольку длительности работ суть одинаково распределенные случайные величины и очередность установлена без учета их фактических значений, то Е (Р[ц) = Е (р[2]) = ... = Е (р[п]) = р, £(?) = + = 1=1 Пусть теперь длительности работ известны заранее. Среднюю длительность прохождения работы в этом случае можно пред- ставить в виде суммы п слагаемых, каждое из которых является произведением одной из длительностей на соответствующий коэф- фициент, зависящий от упорядочения: F = — (Y iPi + Y гРг + • • • + Y прп). Коэффициенты У; зависят от случайного упорядочения, и их мож- но считать случайными величинами, так что Е (F) = 4 + Р*Е + • • + РпЕ (УД].
52 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 Рассмотрим работу 1. Если она выполняется первой, то Ух = п, если второй, то Yt = (п — 1), и т. д. Наконец, если работа 1 выполняется последней, то Ух = 1. Можно считать, что при слу- чайном упорядочении работа 1 (или любая другая) с равной веро- ятностью окажется на любом из п мест, так что случайная вели- чина Ух с равной вероятностью принимает одно из значений 1,2, ..., п. Поэтому IT /V \ 4 I О I 1 Q । I 1 П У 1 Е (11) = — -14----.24-------- 3 -р ... 4-.п = —5—. ' и 1 п ' п п 2 Проводя аналогичные рассуждения для любой из работ и лю- бого У/, получим Е (Р) = Е (У{) 4-(Р1 + р2 + .. . + рп) = р. Очевидные изменения приведенного доказательства позволяют установить, что а) математическое ожидание средней длительности ожидания равно Е(ТУ) = ЛГ11р; Ь) математическое ожидание среднего временного смещения равно 17 / Г \ 77 —1 — — Е (L) = —— р — а; с) математическое ожидание среднего числа работ в системе равно Е {7V(0,Fmax)} = -^±1 . 3.5. Свойства антитетичных правил Назовем два правила составления расписания для системы п | 1 антитетичными, если они приводят к противоположным после- довательностям выполнения работ. Так, расписания 7? и R' ан- титетичны, если работа выполняется i-й в Я и (п — i 1)-й в К'. Примером антитетичных правил составления расписаний могут служить упорядочения SPT и LPT. Интерес к антитетичным правилам обусловлен тем, что некоторые критерии их оценки сим- метричны относительно соответствующих средних значений, по- лучаемых при случайном упорядочении. Теорема 3.7. Если R и R' — антитетичные правила для системы п | 1 | F, то средние длительности прохождения при расписаниях R и R’ связаны соотношением Er + Fr- = (77 + 1) р.
3.51 СВОЙСТВА АНТИТЕТИЧНЫХ ПРАВИЛ 53 Доказательство. Пусть [г] и [г]' — позиции работ, устанавливаемые соответственно Ей К'. Тогда п п п (га — f + !)P[i] = (П + 1)Р[г]-fP[i]’ г=1 г=1 г=1 п п п fr- =—2л(п-1 + 1)ррг = — S(i,i-z + i)p[n~i+i]= — 2»Р[ц> г—1 г—1 г==1 a Fb + FR' -|~2 (n 4- l)pw = (n 4-1)p. Аналогичное доказательство позволяет установить ту же сим- метрию для среднего времени окончания работ, средней длитель- ности ожидания, среднего временного смещения и среднего числа работ в системе. Эти результаты проиллюстрированы на рис. 3.5. Для любой пары антитетичных правил В и Е' расстояния х и х' равны друг другу. Для упо- рядочений SPT и LPT х и х принимают наибольшие значе- ния, возможные для данной си- стемы (теорема 3.2). Значения величин х и л:шах в каждом конкретном случае различны и зависят от разброса длительностей рассматриваемых работ. Если длительности всех работ одинаковы, то средняя г r м г Рис. 3.5. Взаимосвязь средних дли- длительность прохождения одна тельностей прохождения для анти- и та же для всех п\ возможных тетичных упорядочений. упорядочений. Если же сущест- вуют хотя бы две работы с разными длительностями, то выбор той или иной последовательности выполнения работ может повлиять на длительность прохождения. Зависимость средней длительности прохождения от функции распределения длительности работ при упорядочении SPT устанавливается следующей теоремой: Теорема 3.8. Если в системе п | 1 | F длительности работ независимы в совокупности и одинаково распределены с функцией распределения G (р) и математическим ожиданием р, то матема- тические ожидания средних длительностей прохождения при упо- рядочениях SPT и LPT имеют вид Е (BSPT) — пр — (п — 1) Q, Е (Flpt) = р + (п — 1) Q, оо где Q = pG(p)dG(p).
54 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 Доказательство. Для доказательства проще всего рассмотреть сначала упорядочение LPT, затем получить нужный результат для SPT с помощью теоремы 3.7. Здесь мы отступим от стандартных обозначений и длительность работы, являющуюся случайной величиной, будем обозначать Р. Далее, предположим, что в каждом случае п реализованных зна- чений Р перенумерованы так, что Так как упорядочение LPT формирует последовательность вы- полнения работ в порядке уменьшения их длительности, то п п /W = 4 s (« - i +1) Ai] = 4- 2 zА- i=l i=l Согласно теории порядковых статистик *) дифференциал от функ- ции распределения г-го члена вариационного ряда дается выра- жением (Р) = -7)1 № 11 - G (р)^ dG № Математическое ожидание длительности работы, выполняемой в i-ю очередь, равно оо Е(А) = $р^(р); О E(FLPT) = 2 i\p [G (р)Г-1 [1 - G (р)Г-Ч(?(р). г=1 О Производя суммирование под знаком интеграла, получим 00 п Е (Flpt) 2Н (7 -1)ТU ~~0~Г [<? {р)]^ [1 “ G dG (р)‘ О г=1 Если положить j = i — 1 и вынести п за знак внутренней суммы, то п—1 « S(7 + 1) /,4^2/), (р)Е 11 - G (p)F-i-; = п (п - 1) G (р) + п, ОО Е (Flpt) = $ Р [(« - 1) G (р) + l]dG (р) = О оо = р + (и — 1)$ pG(p)dG(p) = р + (п — 1) Q. о *) Н. L. J ohn so n and S. С. L е о n е, Statistics and Experimental Design (New York, Wiley, 1964), II, Chapter 6.
3 5] СВОЙСТВА АНТИТЕТИЧНЫХ ПРАВИЛ 55 На основании теоремы 3.7 T^spt + T'Ypt = (ге + 1) Р- Следовательно, Е (A’spt) + Е (FLPT) = (п 1) р, Е (^spt) = (п + 1) р — р — (п — 1) Q = пр — (п — 1) Q. В общем случае для Q нельзя получить хорошего выражения че- рез моменты распределения G (р). Однако в ряде конкретных случаев это удается сделать. Возьмем, например, распределение Эрланга, часто используемое в качестве функции распределения длительности работ. Плотность этого распределения имеет вид g(p) = Wp)k р11 1 „-/гр/р (fc - 1) ! p 0, где p — математическое ожидание, p2/fc — дисперсия распре- деления. При к = 1 распределение Эрланга превращается в пока- зательное; если к возрастает, то дисперсия уменьшается, но ко- эффициент асимметрии остается положительным. При к оо распределение Эрланга становится вырожденным, т. е. дли- тельность работы равна константе р. В табл. 3.2 приводятся Таблица 3.2 Математические ожидания длительности прохождения в системе 11 | 1 при эрланговском распределении длительностей работ с р = 1,00 к Дисперсия р2/к Q E(FgpT) e(flpt) ^random) 1 1,000 0,750 3,50 8,50 6,00 2 0,500 0.688 4,13 7,88 6,00 3 0,333 0,656 4,44 7,56 6,00 4 0,250 0,637 4,63 7,37 6,00 5 0,200 0,623 4,77 7,23 6,00 6 0,167 0,613 4,87 7,13 6,00 7 0,143 0,605 4,95 7,05 6,00 8 0,125 0,598 5,02 6,98 6,00 9 0,111 0,593 5,07 6,93 6,00 10 0,100 0,588 5,12 6,88 6,00 15 0,067 0,572 5,28 6,72 6,00 20 0,050 0,563 5,37 6,63 6,00 30 0,033 0,551 5,49 6,51 6,00 40 0,025 0,544 5,56 6,44 6,00 50 0,020 0,540 5,60 6,40 6,00 75 0,013 0,532 5,67 6,33 6,00 100 0,010 0,528 5,72 6,28 6,00 ОО 0 0,500 6,00 6,00 6,00
УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 значения Q для распределений Эрланга с р = 1,00 и различны- ми к. Там же приводятся математические ожидания'средней дли- тельности прохождения при упорядочениях SPT, LPT и RANDOM 1’ис. 3.6. Математическое ожидание длительности прохождения для системы И 11. в системе 11 | 1. На рис. 3.6 представлены соответствующие кривые. 3.6. Упорядочение при неполной информации До сих пор предполагалось, что длительности работ известны заранее и что эта информация используется при составлении рас- писания. Однако в большинстве практических случаев длитель- ности работ заранее не известны, и при составлении расписания руководствуются их априорной оценкой. Предположим, что все работы в системе п | 1 имеют различные длительности и нумерация работ такова, что Pi<Pi <••• <Рп- Предположим также, что Х2,.. ., Хп образуют набор априор- ных оценок длительностей работ, на которых основывается упо- рядочение SPT. Тогда очередность будет такой, что . <Хг„р Качественно ситуация описывается графиком, представленным на рис. 3.7. Если величины X и р положительно коррелированы с коэффициентом корреляции 1, то упорядочение, проведенное на основании оценок, будет соответствовать упорядочению SPT при заранее известных длительностях работ. Если величины X ир независимы, то проведенное упорядочение будет случайным, и, наконец, если X и р отрицательно коррелированы с коэффициен- том корреляции — 1, то проведенное упорядочение будет соответ- ствовать LPT при заранее известных длительностях работ. В об- щем случае можно считать, что на основании оценок мы попадаем
3.6] УПОРЯДОЧЕНИЕ ПРИ НЕПОЛНОЙ ИНФОРМАЦИИ 57 в область положительной корреляции, так как обычно существу- ет возможность измерить р после окончания работ и уточнить упо- рядочение. К сожалению, для многих интересных моделей не удается получить действительного вида зависимости, представлен- ной на рис. 3.7. Заметим, что необходимым условием оптимального упорядоче- ния является равенство [i] = i, а не Хг = рг. Оценки могут не быть идеально точными, они должны только отражать характер отно- шений между длительностями. Одинаковое смещение всех оценок не сказывается ни па одной из характеристик расписания. Несу- щественны также ошибки в оцеш нию с разницей между длительно- стями работ. Поэтому, если разни- ца между длительностями работ велика, и, следовательно, упорядо- чение может привести к существен- ному выигрышу, то оценки {X} этих длительностей, проведенные с разумной степенью точности, не должны приводить к расписанию, далекому от оптимального. Если же разница между длительностями работ мала, то оценки {X} могут привести к расписанию, сильно от- личающемуся от оптимального, однако в этом случае упорядо- чение вообще не дает сколько_нибудЬ большого выигрыша. Предположим, что длительности работ являются независимыми в совокупности случайными величинами с функцией распределе- ния Gi (р) и математическим ожИданием р. дЛЯ работы i. Предпо- ложим, что pt известны и что работы пронумерованы так, что Pi Pi Рп- Предположим далее, что фактическая длительность *) неизвест- на и что для упорядочения используется рг. (Это предположение является реальным, так как при отсутствии сведений о фактиче- ской длительности отдельной работы для ее прогнозирования используются данные о длительностях выполнения аналогичных работ.) Пусть работы перенумерованы в соответствии с расписанием 37 (например, SPT-расписание, составленное на основании рг-): п ^=4-S(n-f+w _____________ г=1 *) Здесь имеется в виду реализация случайной величины Р.— Прим, перев. незначительные по сравне- Случайное 4 'лрядочение LPT SPT 1 0-1 Корреляция между X, и р; Рис. 3.7. Зависимость математиче- ского ожидания средней длитель- ности прохождения при алгорит- ме SPT от характера оценок.
58 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 Далее, пусть /S — оптимальное SPT-расписание, установленное при условии, что истинные значения длительностей известны и п р[1] < р[2]< • • • < Л"]’ 2 (и — * + !) 1=^1 ' Чтобы найти найдем сначала Е(^): п е(М = 42(^-^ + 1)а- i=l Вычисление E(J\s) связано с определенными трудностями, так как длительности суть случайные величины и любая работа в $ может оказаться на любом месте, хотя некоторые конфигурации и мало- вероятны. Рассмотрим некоторую работу I, для которой Pi = р. В пози- ции i длительность работы I входит в суммарную длительность про- хождения с коэффициентом п + 1 — г. Все возможные значения коэффициентов для I и их вероятности приведены в табл. 3.3. В частном случае, когда п = 4 и I = 3, упомянутые значения коэффициентов и их вероятности приведены в табл. 3.4. Условное Таблица 3.3 Очередность выполнения Значения коэф- фициентов Вероятность реализации очередности 1 п п П (Р)1 г=1 2 п-1 п п 2 kw П 3=1 v 1=1 J 3^1 j 3 п — 2 п п п 2 2{бЖ(?) П ч-ЗД!} К=13>fc 1 i=l J /^=1 i^I, j, S п 1 n П<Мр) fc=l fc^r
3.6] УПОРЯДОЧЕНИЕ ПРИ НЕПОЛНОЙ ИНФОРМАЦИИ 59 Таблица 3.4 Очередность выполнения Значения коэф- фициентов Вероятность реализации очередности 1 4 [1 -<ад] 2 3 С1(д) [1 — Ga(p)J [1 -G4(p)] +G2(p)[1-Gi(p)]X X [1 — G4(p)1 + G4(p)[l - Gi(p)J [1 - G2(p)] 3 2 Gi(p)G2(p)[l — Gt(p)] + Gi(p)Gi(p)[l — G2(p)l -}- + G2(p)Gi(p)[l — Gi(/>)] 4 1 Gi(p)G2(p)G4(p) математическое ожидание вклада работы I с длительностью Ps = = р в математическое ожидание средней длительности прохожде ния при расписании & равно сумме произведений коэффициентов из второго столбца табл. 3.3 на вероятности их появления. Ма- тематическое ожидание вклада работы I в математическое ожида- ние средней длительности находится интегрированием по dGT (р). В результате получаем следующую теорему: Теорема 3.9. Если в системе п 11 | F длительности работ представляют собой случайные величины Pt с функциями рас- пределения Gt (р) и упорядочение производится в соответствии с возрастанием длительности работ, то математическое ожидание вклада работы I в математическое ожидание средней длительности прохождения равно Qi = Pi — — Р [ 2 Gi (?)] dGi (Р)> О г=1 г^( где pi = Е (Pi). Доказательство (по индукции). При п = 1 доказы- ваемая формула превращается в равенство Qi = Pi- Действи- тельно, если в системе имеется только одна работа I, то длитель- ность прохождения совпадает с длительностью работы I, так что при п = 1 утверждение теоремы справедливо. Предположим теперь, что утверждение справедливо для п работ, одной из которых является I, и добавим к исходному мно- жеству еще одну работу. При заданном р (длительность работы I) пусть hin (р) означает вероятность того, что работа I занимает
60 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 позицию i в упорядоченной последовательности п работ, hhn+l(p) — вероятность того, что работа I занимает позицию i в упоря- доченной последовательности из (п + 1) работ. Вероятность того, что работа I будет выполняться г-й по формуле полной вероятно- сти равна ^i,n+l (Р) — hln (Р) [1 &п+1 (р)] (р) ^ntl (р)> i — 2, 3,..., п. Для i = 1 и i = п + 1 имеем (Р) hln (Р) [1 — Gn+1 (Р)1, Лп+1,П+1 (р) “ (р) ^П+1 (р)- Для заданного значения р длительности работы I математиче- ское ожидание коэффициентов, относящихся к работе I в выраже- нии для средней длительности прохождения в системе с (п + 1) работами, равно 2 (п + 1 — i + l)fei>n+1(p). г—1 Подставляя вместо hijn+1 (р) его значение, выраженное через hin(p), получим 2 (п + 1 — i + l)/ti,n+i(p) = S (n — 1 + !)^п(Р) + [1 — Gn+i(P)l- i=l i=l Пусть (/”’ и — математические ожидания вклада работы I в среднюю длительность прохождения, когда в системе соответствен- но п и (п + 1) работ. Тогда . “ «+1 <4"+1) = J р 2 (п +1 -г +№ dG< W = О г=1 = ТТГ <2(1п) + ттрг $ Я* - G™ dGl = О = -4т <2in> Н------тт------ГТ ( Р^п+1 (р) dGj (Р). п -|- 1 v 1 1 п -}- 1 п + 1 J х / о Так как согласно индуктивному предположению теорема справед- лива для 2in), то 4 ? П+1 <2?+1) = pi - —т $ р [2 Gi (р)] dGi № kO i=l i^I
3.7J УПОРЯДОЧЕНИЕ В СЛУЧАЕ КРИТЕРИЯ С УЧЕТОМ ВЕСОВ 61 Математическое ожидание средней длительности прохождения при расписании $ имеет вид E(^s)=2 <21 = 3 ^“44 2 ^2 Gi(P)dGi(P) = i=1 1=1 0 1=1 j=l n П °° °° n n = 2 & + 4- 2 VGi (p) dGi {p) ~ \p [2 (p)]d [2 H • 1=1 1=1 0 0 1=1 1=1 Упорядочение работ на основе математических ожиданий их дли- тельностей вместо фактических значений приводит к увеличению средней длительности прохождения в системе. Математическое ожи- дание этого увеличения, обусловленного неполной информацией о длительностях работ, равно Е (FN) - Е (Fs) = (п - i) Pi - 2 pG, (р) (р) + i=l i=l О + ^[2 Gi Hd [2 Gi Hl • 0 1=1 1=1 Эта величина полностью определяется функциями распределения длительностей работ. Приведенное выражение имеет не простой вид, однако в каждом конкретном случае оно может быть вычис- лено. 3.7. Упорядочение в случае критерия с учетом весов В большинстве случаев выполняемые работы имеют разную важность, и это должно отражаться на критерии оценки расписа- ния. Предположим, что для каждой работы заданы величины мг, характеризующие ее относительную важность, и используем эти величины в критерии оценки расписания. Тогда взвешенную сред- нюю длительность прохождения можно задать одной из следую- щих формул: Л, = 42 uiFi, п 2 uiFi 77 _ Гм'— „ . 2 “1 1=1 В дальнейшем мы будем использовать
62 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 Па рис. 3.8 представлено расписание, аналогичное изображен- ному па рис. 3.3, с той лишь разницей, что высота прямоугольни- ка для каждой работы на рис. 3.8 равна Вектор-диагональ для каждой работы имеет угловой коэффициент — Ut!pt. Площадь, за- ключенная между осями координат и прямоугольниками, вместе с площадью всех прямоугольников представляет собой суммарную Рис. 3.8 взвешенную длительность прохождения всех работ. Так как площадь каждого и всех прямоугольников фиксирова- на, то площадь, ограниченная осями координат и вектора- ми-диагоналями, минимальна при таком упорядочении, ко- гда ломаная из векторов-диа- гоналей выпукла вниз. Для этого упорядочение должно удовлетворять условию Ли -Р[2] р[»1 “Ш “И м[п] Это условие является более общим, чем условия для упорядочения SPT. Оптимальность указанного упорядочения вытекает из сле- дующей теоремы, обобщающей теорему 3.2: Теорема 3.10 (Смит [187]). Минимальное значение сум- п мирной взвегиенной длительности прохождения^ utF г в системе г=1 п|1 \FU достигается при расписании, для которого ^[1] ^[2] , “[1] “[2] “[п] а при антитетичном расписании эта длительность максимальна. Доказательство. Рассмотрим расписание S, не вхо- дящее в класс расписаний, сформированных в порядке возраста- ния отношения p/и. Тогда в $ существует такая позиция к, что Ля ^[^+1] u[k] “[&+!] Пусть К и К'— номера работ, выполняемых соответственно в Zc-й и {к + 1)-й позициях расписания $. Пусть S' — расписание, отли- чающееся от $ только тем, что работы К и К' выполняются в S' соответственно в (к + 1)-й и /с-й позициях. Первые (к — 1) и по- следние (и — к — 1) работ оканчиваются в одно и то же время в обоих расписаниях, и поэтому вносят одинаковый вклад в сум- марную взвешенную длительность прохождения. Расписания S
3.7] УПОРЯДОЧЕНИЕ В СЛУЧАЕ КРИТЕРИЯ С УЧЕТОМ ВЕСОВ 63 и S' отличаются только длительностями прохождения работ К и К'. Если t = 2 /Дг], то эти длительности, взвешенные соответ- i=i ствующим образом, имеют следующий вид: U&FK — = UK(t -|- рк), Для S: и kF к' = М[)£+1]Е = и к' (t Ч Рк -F Рк')- UkFК = “[(t+l^t/H-ll = ик (t + Рк' + Рк), Для S': uk'Fк' = = и к- (t -|- рк'\ После исключения общих членов получаем, что член иК’, р& сущест- вует для >8 и отсутствует для S', а член икрк’, существует для S' и отсутствует для S. Поскольку работы К и К' были выбраны так, что urPk' <ZUK' Рк-, то расписание S' лучше, чем S. Многие результаты, установленные ранее, могут быть обоб- щены на рассматриваемую модель: 1. Среднее взвешенное временное смещение и средняя взве- шенная длительность ожидания минимизируются упорядочением, соответствующим возрастанию отношения р!и. 2. Для упорядочения, независимого от длительностей работ и весов математическое ожидание средней взвешенной длитель- ности прохождения равно 2п ’ если известны заранее веса и длительности работ. Если длитель- ности работ представляют собой независимые в совокупности и одинаково распределенные случайные величины с математиче- ским ожиданием р, а веса — независимые в совокупности и одина- ково распределенные случайные величины с математическим ожи- данием й, то математическое ожидание средней взвешенной дли- тельности прохождения равно ^-ир. длительности прохождения связаны 3. Если R и R' — два антитетичных правила, то соответствую- щие им средние взвешенные следующим соотношением: и.р. г FUR + FuR' =
УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 Одним из естественных и, по-видимому, наиболее часто исполь- зуемых в практике правил упорядочения при наличии весов яв- ляется формирование очередности с учетом только весов: К[|] W[-2] ... ^3* Представляют интерес результаты, к которым приводит такое упо- рядочение, если в качестве критерия выбрана средняя взвешенная длительность прохождения в системе. Некоторые из этих резуль- татов являются очевидными следствиями теоремы 3.10: 1. Если длительности всех работ одинаковы, то упорядочение в соответствии с весами совпадает с упорядочением в соответствии с отношением plu и, следовательно, является оптимальным. 2. Если веса прямо пропорциональны длительностям, т. е. ut = kpi, то отношения plu одинаковы для всех работ и, следова- тельно, все расписания эквивалентны. 3. Возможны такие значения весов, что упорядочение в соот- ветствии с весами является антитетичным по сравнению с оптималь- ным (например, при щ = к pi). Переходя к общему случаю, предположим, что рг являются независимыми в совокупности и одинаково распределенными случайными величинами с математическим ожиданием р, a ut — независимыми в совокупности и одинаково распределенными слу- чайными величинами с математическим ожиданием й (ut и рг пекор- релированы). Предположим, что работы занумерованы так, что соответствующее упорядочение обозначим через 2F. Тогда n п г = — 2 Ui^г — ~ 2 Ui 2 Л’’ i=l г=1 zx ft Е(ад = щ)- i=l n Формула для E (2 следует из теоремы 3.8 *) после замены г=1 *) Из теоремы 3.8 следует, что Е п — 3 (и — i-j-1) ui п 1=1 Г 1 " -1 При Ui <7 U2 un. Но Е ------- У (п — i + 1) iq При U1 < U2 < . . . <?ип Lп i=i J п ’чп ”1 — /I ПРИ ui ип-— Прим. перев. п J i=l — пи — (п — 1) Q
3.71 УПОРЯДОЧЕНИЕ В СЛУЧАЕ КРИТЕРИЯ С УЧЕТОМ ВЕСОВ 65 в ней р на и: П оо Е (2^) = п[пй — (п — 1) (?„], где Qu = ^uG(u)dG(u). i=1 о Поэтому Е (Fun) = при — р (п — 1) Qu — -—— р ( qh j . Первый член в правой части последнего выражения есть матема- тическое ожидание средней взвешенной длительности прохождения для случайного упорядочения. Второй член в правой части всегда неотрицателен, так как можно показать, что Qu й/2 (знак ра- венства соответствует случаю вырожденного распределения, когда и = const). Таким образом получаем, что упорядочение в соответ- ствии с уменьшением и приводит, вообще говоря, к меньшему зна- чению средней взвешенной длительности прохождения, чем слу- чайное упорядочение. Конечно, если критерием оценки расписа- ния служит средняя не взвешенная длительность прохождения, a pi и lit некоррелированы, то упорядочение в соответствии с ве- сами и представляет собой случайное упорядочение. Вопросам минимизации среднего взвешенного запаздывания п п 7’« = S UiTi = 4" S Ui таХ (О, Ц) 1=1 1=1 посвящено много публикаций последних лет [51], [70], [118], [133], [171], [181], [182]. В них решены отдельные задачи и в ряде слу- чаев получены интересные оценки и асимптотические выражения, но общее решение задачи пока не найдено. Для конкретной задачи подобного рода можно сначала попы- таться произвести упорядочение в соответствии с плановым сро- ком. Тогда, очевидно, будет минимизировано максимальное запаз- дывание, и если его максимум окажется равным 0, то Ти также будет равно 0 и упорядочение окажется оптимальным. Если это не удастся, можно попытаться произвести упорядочение в соот- ветствии с возрастанием отношения plu, которое минимизирует среднее взвешенное значение временного смещения. Если при этом каждая работа имеет ненулевое запаздывание, то временное смещение и есть запаздывание и упорядочение будет оптимальным относительно Ти. К сожалению, в большинстве интересных слу- чаев, когда плановые сроки не настолько велики, что нет запазды- вающих работ, или не так малы, что все они запаздывают, общий оптимальный алгоритм неизвестен. Шилд и Фридман [181] предложили последовательный алгоритм, который начинается с упорядочения в соответствии 3 Р. В. Конвей и др.
66 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 с отношением plu, а затем ищутся перестановки, уменьшающие зна- чение Ти. По-видимому, такой алгоритм приводит к хорошему расписанию, но в общем случае не гарантирует оптимума. Ниже описывается и разъясняется этот алгоритм. Предположим, что совокупность работ занумерована так, что — <С— < — иг «а ип ’ и что первоначально очередность устанавливается в соответствии с этой нумерацией. Пусть I — первая работа с нулевым запазды- ванием. (Если не существует такой работы, то установленная оче- редность оптимальна и цель достигнута.) Пусть, далее, Ти — сумма взвешенных запаздываний. Ти не уменьшается ни перестановкой работы I с любой работой i, предшествующей I, ни просто пере- мещением работы I на более близкую позицию. Это вызвано тем, что I не вносит никакого вклада в Ти и дальнейшее уменьшение Fi не имеет смысла, а всякие перемещения работы I могут приве- сти к возрастанию запаздывания других работ, что выразится в увеличении Ти. Однако может существовать такое перемещение работы I на более далекую позицию, в результате которого вы- игрывают одна или несколько других работ и происходит уменьше- ние Ти. Стратегия этих перемещений связана с поиском соответ- ствующей работы J, следующей за Z в исходной последовательно- сти, и размещением ее между работами I — 1 и Z. Длительность прохождения при откорректированном расписании равна P'i = Pi + Pj Для I < i < J, J-i Fj = Pj- 2 Pi, i=I Fi = Fi для i I и i J. Максимальный сдвиг работы I вправо, не приводящий к увеличе- нию запаздывания Tit равен (а/ — Fi). В новой последовательно- сти работы, находящиеся между I и J, вносят следующий вклад в общее запаздывание Ти: j 2 щ шах (0, Fi — а{) — i=I j-i / j-i = 2 uimax (Pi + Pj ~~ ai’ 0) + Uj max I Fj — 2 Pi — aJ, 0 i=I ' i=I
3.7] УПОРЯДОЧЕНИЕ В СЛУЧАЕ КРИТЕРИЯ С УЧЕТОМ ВЕСОВ 67 Изменение в Ти в результате перестановки равно j-i Zi (-Л = 3 игmax {Fi + PJ — al’ °) + i=I J-l 4- иj max (Fj — 2 A — aJ’ °) “ i=I J-l — 2 uimax {Fi — A, °) — U.J max (Fj — dj, 0) i=J или J-l Zj (J) = 2 [max (Fi + Pj — 0) — max (F { — a{, 0)] щ + i=I j-i + uj |max (Fj — 2Pi “ aJi °) — max (Fj — dj, 0)j , j-i J—i ZI («0 = 2 uiPJ + 2 ui [max {Fi — «i> — Pj) — max (E{ — dh 0)] — i=I i=I J-l J—1 — 2 uJPi + UJI max (Fj — dj, 2 Pi) — max (Fj — dj, 0) , i=I L i=J ' J J-l J-l zi GO = 2 uiPJ — 2 uimin IPJ’ max {^ — F^ 0)] — i=I i=I J-l — Uj 2 Pi + UJ max {aJ — Fj, 0). i=I Каждый член последнего равенства может быть истолкован следу- ющим образом: utpj. Выполнение каждой работы, расположенной в исходной последовательности между работами / и J — 1, завершается в но- вой последовательности на pj позже. Если предположить, что все эти работы запаздывали в исходной последовательности, то каж- дая из них вносит в величину Ти вклад Uipj. идти [j?j, max (аг— Ft, 0)]. Если в исходной последователь- ности работа i не запаздывала, то вклад в Ти работы i в новой по- следовательности будет равен не u^j, а 0 для тех i, для которых Fi= Fi + pj di, и будет равен ut (аг — Ft) для тех i, для которых Fi < dt < Fi + Pj. J-l uj 2 Pi- Вклад работы J в Tu уменьшается на величину про- i=I изведения uj на сумму длительностей всех перемещаемых работ. з*
68 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 Uj max (aj — Fj, 0). Уменьшение вклада работы J в Ти в новой последовательности может продолжаться до тех пор, пока этот вклад не станет равным 0. Приведенное выражение представляет собой точное значение изменения Ти, вызванного перестановкой работ, но практически удобнее пользоваться упрощенным выражением, представляю- щим собой оценку сверху изменения Ти. Эта оценка получается, если предположить, что все работы между I и J в исходной после- довательности запаздывали. Тогда min [pj, max (аг — F;, 0)] = 0 для I < i < J, и поскольку <ц Fi для работы I, то min [pj, max (aj — Fj, 0)] = min (pj, аг — Fi). Окончательно имеем J—i J-i Z'i (J) = Pj^Ui — ut min (р}, ат — Fj) — iij pt + i—I i=I + uj max (a.j — F'j, 0) < Zj (J). Таким образом, алгоритм Шилда и Фридмана таков: 1. Первоначально производится упорядочение . в соответствии с отношением р/и. 2. В полученной последовательности находится первая работа такая, что Ft <z at. Обозначим эту работу через I. 3. Последовательно оценивается величина Zj (fc) для работ, следующих за I, т. е. для к = I + i, I + 2, ... Если для неко- торого к окажется, что Zj (к) < 0, то работа к помещается непо- средственно перед I. 4. Шаги 2 и 3 повторяются до тех пор, пока они приводят к изменениям. Хотя описанный алгоритм иногда улучшает упорядочение, од- нако он пе гарантирует оптимума, как это следует из примера: Работы 1 2 3 Р 1 3 7 и 2 5 11 а = d 6 5 10 Упорядочение (2, 1, 3), произведенное в соответствии с плановыми сроками, не обеспечивает своевременного выполнения всех работ: Т3 = 1, Ти = 11. При упорядочении (1, 2, 3) соответствующему
3.8J УПОРЯДОЧЕНИЕ ДЛЯ РАБОТ НЕСКОЛЬКИХ КЛАССОВ 69 минимуму отношения p/и не все работы запаздывают: = О, Т2 =0, Ти = И. Алгоритм Шилда и Фридмана не позволяет улучшить расписание, так как ZJ2) = 6-6-5 + Ю = 5, Z' (3) = 49-10-44 + 33 = 27, 2з(3) =* 35-5-33 + 22 = 19. Однако существует лучшее расписание (2, 3, 1) и при этом Ти = = 10. Необходимо заметить, что несовершенство алгоритма Шил- да и Фридмана не связано с использованием приближенного выра- жения Zj (/с) для 71 (к). Оно вызвано, как это уже отмечалось в в разделе 3.2, неадекватностью способа попарного сравнения и используемого критерия оценки. 3.8. Упорядочение при наличии работ нескольких классов Рассмотренные выше простейшие алгоритмы упорядочения мо- гут применяться и в тех случаях, когда существует несколько клас- сов выполняемых работ. При этом выполнение работ, принадлежа- щих некоторому классу, может начаться лишь после завершения всех работ, принадлежащих другому. В этих случаях упорядоче- ние состоит из трех этапов: 1) разбиение п работ на взаимно непересекающиеся подмно- жества, называемые классами- 2) упорядочение между классами; 3) упорядочения внутри каждого класса. Например, на предприятии может существовать ряд работ, свя- занных с удовлетворением спроса определенных потребителей, и ряд работ, направленных на расширение запасов. Администра- ция может решить, выполнить сначала первый класс работ, напри- мер, при SPT-упорядочении, а затем второй класс также при SPT-упорядочении. Ясно, что такая дисциплина приводит к боль- шей средней длительности прохождения, чем общее SPT-упоря- дочение, но она, по-видимому, лучше, чем случайное упоря- дочение. Системы с несколькими классами работ являются обобщением рассмотренных ранее, и интересно сравнить их характеристики с характеристиками тех же систем при отсутствии классов и при условии, что расписание оптимально. Это можно сделать на при- мере исследования системы с двумя классами, причем приоритет- ный класс формируется случайным выбором /сип работ, а упоря- дочение внутри сформированных классов производится одним и и тем же способом. Общая (для обоих классов) средняя длитель- ность прохождения является случайной величиной, зависящей от
70 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. 3 способа формирования классов, а ее математическое ожидание определяется теоремой 3.11. Теорема 3.11. Если R и R' — два антитетичных правила для системып\ 11F, Fr иFr' — соответствующие средние длитель- ности прохождения, то при случайном разбиении п работ на два класса из к и п — к работ соответственно и упорядочении R внут- ри каждого класса математическое ожидание длительности про- хождения равно Е (^k) = (1 - a) Fr + Доказательство. Средняя длительность прохождения может быть записана в виде п i=l где коэффициенты Yt принимают одно из значений 1, 2, . . ., п в зависимости от позиции работы i в последовательности выпол- нения работ. В рассматриваемом случае Fk есть случайная вели- чина, так что п е(^)=4-2е(^)а- г=1 Найдем выражение для Е (Уг). Предположим, что работы зануме- рованы в том порядке, в котором они выполняются согласно R, так как в соответствии с R упорядочивается каждый из классов, то общее упорядочение полностью определено после разбиения на классы. В данном случае это означает, что в каждом классе работы выполняются в соответствии с их номером. Существует способов выбора к из п работ, и по предполо- жению о случайности выбора они равновероятны. Вычислим — число способов, когда в расписании работа i выполняется в пози- ции ]. Однако прежде заметим, что z^ ЬО равно вероятности того, что работа i выполняется в позиции /. Эта вероятность по- надобится нам при вычислении Е (У4). Существует п работ и п мест для их расположения: работы 1 2 3 ... i ... п позиции 1 2 ...у... к\ к + 1 ... к + (п — к). Рассмотрим сначала случай, когда работа i выполняется в пози- ции первого класса, т. е. попадает на одно из первых к мест. Ра- бота i попадает в позицию /, если уже выбраны (/ — 1) работ с но-
3.81 УПОРЯДОЧЕНИЕ ДЛЯ РАБОТ НЕСКОЛЬКИХ КЛАССОВ 71 мерами, меньшими чем i, и (Тс — /) работ с номерами, большими чем i, поскольку по условию теоремы работы в каждом классе рас- полагаются в порядке, соответствующем их номерам. Существует / i_1\ I ._Л способов выбора (/ — 1) работ с меньшими номерами, чем (7Z " i\ д._ ] способов выбора (/с — /) работ с номерами, большими чем i. Так что _ Н — 1\ /п — 1\ 2ii ~ \/ - 1 / U - /7 ’ Если выбрано i, то / = 1, . . ., i для i «С /с и / = к — (п — 1) ,..., к для i к. Так как по условию = 0, если у <; 0 или (ж — у) < 0, то можно считать, что j = 1, . . ., i при любом i. Если работа i не попадает в первый класс, то занимает пози- цию к + /, если во второй класс попадают (/ — 1) работ с меньши- ми номерами и (п — к — j) работ с большими, т. е. На основании сделанного выше замечания j = 1, . . ., i при лю- бом i так, что п Е (У{) = 2 (п — 7 + 1) Р {работа i в позиции /}, Э=1 Полагая J = j — 1 и разбивая каждую из сумм на две, получим
72 УПОРЯДОЧЕНИЕ ДЛЯ ОДНОЙ МАШИНЫ [ГЛ. з Использование двух тождеств, вытекающих из свойств гипергео- метрических распределений *) Д / / Ь \ (а + у / а '| ( Ъ \ _ са (а + Ь\ 3=ои/\с—// \ с Г а + &\ с /’ приводит к равенствам: Е(Л) U —i) k-J п »О (fe-l)G-l)(Ll) (/г-А — 1)(. - 1) („1,11) = п</г —1>(а) __ к . (в — к)’ к (к — 1) (i — 1) (п— к) (п — к — 1) (i — 1) II я2 я2 (я—• 1) п2 (п—1) ’ Е(Г,) = („-. | 1>[1 = = (п — I 1) (1 — а) + ia, Е(Д) (« — f + l)A + -^S ^г = 0 — «) Pr -I- аРв’, г=1 г=1 Из теорем 3.6 и 3.7 следует, что математические ожидания длительности прохождения при антитетичных правилах связаны с математическим ожиданием длительности прохождения при случайном упорядочении следующим соотношением: Fr + Fai = 2Е (/'random)- Отсюда и из теоремы 3.11 вытекает, что математическое ожидание длительности прохождения работ при разбиении на два класса представляет сумму двух слагаемых, первое из которых определяет- ся упорядочением внутри класса, а второе представляет собой математическое ожидание длительности прохождения при слу- чайном упорядочении: Е (Pk) = (1 — ^а) FR f- 2аЕ (Frandom)- Выбор числа к влияет только на а, причем а обладает следующими свойствами: *) Е. Р а г z е n, Modern Probability Theory, New York, Wiley, 1966, p. 164.
3.8] УПОРЯДОЧЕНИЕ ДЛЯ РАБОТ НЕСКОЛЬКИХ КЛАССОВ 73 а) а симметрично относительно к. Это означает, что система с 10% приоритетных работ имеет те же характеристики, что и система с 90% приоритетных работ. Ь) а достигает максимума при к = п/2. Это означает, что худ- шие характеристики системы получаются при разбиении на рав- ные классы. с) Максимальное значение а уменьшается от 1/2 до 1/4 с уве- личением п. Это означает, что при больших п худшие значения математического ожидания разбиении на два класса находятся посередине между значениями, получаемыми упорядочением внутри класса и случайным упорядочением. d) График зависимости а от к строго выпуклый вниз, введение приоритетного клас- са вызывает нелинейное ухуд- шение математического ожи- дания общей длительности прохождения. е) Упорядочение внутри класса является эффективным длительности прохождения при только при наличии одного класса работ, т. е. когда в первый класс входят либо все работы, либо ни одна из них. В этом слу- чае Е (FQ) = Е (Fn) = FB. Типичный график зависимости математического ожидания дли- тельности прохождения от размера класса представлен на рис. 3.9. Мы не будем получать и сравнивать результаты в случае раз- биения более чем на два класса. Они, по-видимому, являются промежуточными между двумя рассмотренными, поскольку увели- чение числа классов приближает алгоритм к случайному упорядо- чению. Отметим только, что наихудший_ вариант разбиения на 3 класса должен быть хуже (в смысле Е (F)) наихудшего разбиения на два класса.
ГЛАВА 4 ДАЛЬНЕЙШИЕ РЕЗУЛЬТАТЫ ДЛЯ СЛУЧАЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ В этой главе рассматриваются интересные и важные задачи, аналогичные тем, которые описаны в гл. 3, но без некоторых огра- ничений. Так, например, рассматриваются случаи, когда длитель- ность настройки машины перед выполнением работы зависит от упорядочения и когда работы поступают неодновременно и имеют- ся ограничения на порядок выполнения работ. В заключительном разделе главы описана система из нескольких параллельно рабо- тающих машин, она служит своего рода мостом для перехода к об- щему случаю систем типа п | т, рассматриваемому в последующих главах. 4.1. Длительность настройки, зависящая от упорядочения Во многих случаях длительность настройки машины перед вы- полнением некоторой задачи нельзя считать независимой от ха- рактера предшествующей работы. Более того, разброс длитель- ности настройки в этих случаях является основным критерием оценки расписания. Хорошей иллюстрацией сказанного может слу- жить производство красок. Краски различного цвета получают Таблица 4.1 Длительность (в часах) очистки оборудования при переходе от одной краски к другой Предшествующий цвет Последующий цвет белый желтый красный голубой Белый 0 1 2 3 Желтый 6 0 1 О Красный 8 6 0 1 Голубой 10 8 6 0
4.1] НАСТРОЙКА, ЗАВИСЯЩАЯ ОТ УПОРЯДОЧЕНИЯ 75 на одном и том же оборудовании, которое очищается при каждой перемене цвета производимой краски. Очевидно, что суммарная длительность очистки сильно зависит от последовательности пере- хода от цвета к цвету. Пусть производится, например, только че- тыре вида краски и длительность очистки оборудования при пе- ремене цвета представлена в табл. 4.1. Существует шесть различных последовательностей производ- ства четырех цветов, начинающихся и кончающихся некоторым цветом (так называемый производственный, цикл). Суммарное вре- мя настройки при четырех переменах в каждом цикле колеблется от 13 до 21 часа: Последовательность Общее время настройки за цикл (в часах) Белый — желтый — красный — голубой — белый 13 Белый — красный — голубой — желтый — белый 17 Белый — голубой — красный — желтый — белый 21 Белый — желтый — голубой — красный — белый 17 Белый — красный — желтый — голубой — белый 20 Белый — голубой — желтый — красный — белый 20 В промышленном производстве существует много подобных примеров, когда различные изделия производятся одним устрой- ством, однако в каждый момент времени вырабатывается лишь одно из них. Интересная разновидность задачи возникает при прокатке стальных полос. Валки вырабатываются краями прокатываемой полосы. Трудностей не возникает, если следующая прокатываемая полоса уже предыдущей, однако выработка будет портить поверх- ность при прокатке более широкой полосы. Поэтому переход к бо- лее узкой полосе требует довольно мало времени, а переход к бо- лее широкой связан с перевалкой и шлифовкой валков и может занять значительное время. Подобные ситуации типичны для про- мышленного производства. Для ряда работ настройки могут быть идентичными, связанными, например, лишь с кратковременными остановками и небольшими регулировками. Наряду с этим маши- на может выполнять работы, требующие разных настроек. Напри- мер, переход от штамповки партии одинаковых изделий к изготов- лению серии отдельных образцов вызывает более длительную пере- стройку штампа, чем его настройка внутри каждой партии. Этот пример лишний раз подтверждает, что характер настройки являет- ся весьма существенным фактором, который следует учитывать при упорядочении производственного процесса. Производственный опыт показывает, что в промышленности аналогичность настройки играет большую роль при упорядоче- нии, чем любой другой фактор.
76 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 Если настройка ire зависит от упорядочения, то ее длительность можно включить в длительность работы pt. В настоящем разделе длительность настройки задается отдельно в виде матрицы настро- ек S — (sij) (типа табл. 4.1), где si} представляет длительность настройки при переходе от работы I к работе /. Часто бывает удоб- но к п заданным работам добавить фиктивную (п -|- 1)-ю работу, означающую прослои устройства, и выделить в упорядочении по- зицию «О», соответствующую исходному состоянию простоя. Тог- да элемент s-цц щ равен времени, необходимому устройству для перехода из состояния простоя в состояние готовности к выполне- нию первой работы в установленном порядке. Наличие настройки изменяет величины, определяющие про- цесс о б служива! сия. Так, например, если в предшествующих гла- вах суммарное время, затрачиваемое машиной на выполнение всех работ, было постоянным и не зависело от очередности их выпол- нения, то теперь это не так. Длительности прохождения также определяются иначе: ^’[1] = s[o],[i] + Аи> F [2] = ^[1] + Ч1].[2] + Р[2]» ^[i] = + s[i-i],[i] + Рм- Если раньше максимальная длительность прохождения была константой и расписание оптимизировалось по такому критерию, как средняя длительность прохождения, то теперь оптимизация и по критерию максимальной длительности прохождения представ- ляет собой трудную задачу. п п Fmax = Fln] = 2 S[i-u,[i] + 2 Prt- i—1 i=l Сумма длительностей всех работ в данном случае постоянна и мо- жет не учитываться. Поэтому максимальная длительность про- хождения минимальна, когда минимальна суммарная длительность всех настроек. Задача минимизации суммарной длительности всех настроек аналогична так называемой задаче коммивояжера. В этой задаче коммивояжер должен посетить каждый из п городов один и толь- ко один раз и вернуться в исходный пункт, причем его маршрут должен быть таким, чтобы минимизировать суммарную длину прой- денного пути (или суммарное время, или суммарную стоимость и т. д.). В нашем случае каждая работа соответствует городу, а дли- тельность настройки — расстоянию между городами. Таким об- разом, задача составления расписания аналогична задаче комми- вояжера, посещающего (n + 1) город, так как первоначальное
4.1] НАСТРОЙКА, ЗАВИСЯЩАЯ ОТ УПОРЯДОЧЕНИЯ 77 состояние простоя должно рассматриваться как работа. В общем случае задается матрица S порядка п (матрица расстояний, дли- тельностей и т. д.). Нужно найти такую матрицу X порядка п с элементами хгк = 0 или 1, i = l,... ,п, к = 1, . .. ,п, п 2^=1, к = 1, ..., п, г^=1 п п чтобы сумма 2 2 была минимальна. В такой постановке г=1 к=1 задача аналогична задаче назначения *). По для задачи коммивоя- жера существует дополнительное ограничение, состоящее в том, что его маршрут должен завершиться в исходной точке после одно- кратного посещения всех п городов. Это означает, что матрицы X ипа /1 0 0 0\ /0 1 0 0\ /1 0 0 0\ /1 0 0 0\ /0 0 0 1\ IО 1 О о\ /10001 /00101 /0 0 0 1) /0010) I О 0 1 0 I ’ 100011’ I О 0 0 1 j ’ I О 0 1 0 I ’ 10 10 0 1 \0 0 О 1/ \0 0 1 0/ \0 1 0 0/ \0 1 О О/ \1 о о о/ не допускаются, хотя любая из них представляет одно из решений задачи назначения. Это несущественное на вид ограничение при- водит к тому, что одна из простейших задач математического про- граммирования превращается в одну из наиболее трудных. Хотя ее решение методом линейного программирования известно (сим- плексный метод), недавно были найдены два других метода, позво- ляющих получать точные оптимальные решения при малом числе городов и приближенные — при большом. В последующих разде- лах излагается каждый из этих методов. Упорядочение работ с настройкой перед выполнением каждой из них соответствует очень общей постановке задачи коммивоя- жера. Это обусловлено тем. что матрица S может быть несиммет- ричной, так как длительность настройки при переходе от работы i к работе /, вообще говоря, отлична от длительности настройки при переходе от / к i. Классическая задача коммивояжера предпо- лагает равенство расстояний между городами i и j независимо от ориентации пути: обобщением служит задача, сформулированная в терминах стоимостей или длительностей пути, для которой мат- рица не обязана быть симметричной. Кроме того, на длины мар- *) См. G. Н a d 1 е v, Linear Programming (Reading, Mass. Addison — Wesley, 1962), p. 367. ‘
78 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 шрутов налагаются дополнительные ограничения, если ойи пред- ставляют расстояния в евклидовой плоскости. В частности, сум- марное расстояние между двумя заданными городами, измеряемое вдоль пути с одним или несколькими транзитными пунктами, дол- жно быть не меньше расстояния вдоль прямого пути между ни- ми. (Это соответствует аксиоме треугольника для евклидова про- странства.) Для длительностей настроек при переходе от одной работы к другой не существует подобных ограничений; но боль- шая общность постановки задачи не всегда приводит к дополни- тельным трудностям решения. Например, алгоритм, описываемый в п. 4.1.1, оказывается несколько эффективнее для несимметрич- ной задачи. Даже в случае простейшего критерия оптимальности расписа- ния (минимизация максимальной длительности прохождения) упо- рядочение работ с настройкой связано с определенными трудно- стями. Возможно, поэтому отсутствуют публикации, относящиеся к исследованию более сложных случаев (минимизация средней длительности прохождения). Можно показать, что в последнем случае задача аналогична задаче квадратичного назначения, одна- ко для нее также не найдено решения. 4.1.1. Метод ветвей и границ для задачи коммивояжера. Литтле м, Март и, Суини и Кэроллом [123] в 1963 г. был предложен простой рекуррентный алгоритм решения задачи коммивояжера. В основе этого алгоритма лежит последо- вательное преобразование составленных определенным образом матриц, приводящее каждый раз к одной из трех стандартных воз- можностей. Сначала по данным решаемой задачи составляется ис- ходная матрица. Затем эта матрица обрабатывается по определен- ной схеме (и, следовательно, претерпевает изменения по отноше- нию к первоначальному виду), что приводит к более простым ва- риантам, также задаваемым в виде матриц. Повторное применение стандартных приемов к каждому из этих вариантов продолжается до тех пор, пока не будет получено окончательное решение задачи. Грубо говоря, анализ каждой из матриц приводит к одной из трех возможностей: 1. Получению решения, когда решение находится непосредст- венно по исходной матрице, если задача достаточно проста. 2. Исключению матрицы из дальнейшего рассмотрения, когда можно показать, что из нее не следует решения задачи. 3. Ветвлению, состоящему в том, что решаемая задача при- водится к рассмотрению двух вариантов менее громоздких задач. Задача коммивояжера для п городов задается матрицей S по- рядка п, для которой Зц определяют расстояния (стоимость, время) между городами in ]. Решением задачи является объезд (посещение) всех городов, задаваемый перестановкой индексов 1, 2, . . ., п: 11], [2], . . ., (rd.
4.1] НАСТРОЙКА, ЗАВИСЯЩАЯ ОТ УПОРЯДОЧЕНИЯ 79 Полученное решение представляет собой сумму п слагаемых, каж- дое из которых определяется элементом матрицы S в соответствии с приняты^ порядком: S[I],[2] + Sf2],[3] + • • • + S[n-l],[n] + S[n],[l]- Оптимальным решением будет перестановка, минимизирующая зту сумму. Для некоторых пар i, j непосредственный переход от i к / мо- жет быть запрещен (например, если отсутствует дуга (i, /)): в этом случае элемент si;- матрицы S полагается равным бесконечности. Тогда, если существует какое-то конечное решение задачи, то мар- шрут, соответствующий оптимальному решению, не содержит ду- ги (i, j). В других случаях требуют, чтобы определенная дуга обязатель- но входила в маршрут, и разыскивают оптимальное решение при условии, чтобы маршрут непременно включал в себя дугу (г, у). На каждом шаге описываемого алгоритма задача включает п городов, причем из п шагов маршрута к могут быть уже установ- лены и нужно выбрать оптимальным образом оставшиеся п — к. Для всех возможных маршрутов необходимо задать значение Y, представляющее собой нижнюю границу всех возможных решений задачи, включая и оптимальное. Конечно, существуют тривиаль- ные нижние границы, такие, например, как минимальный элемент матрицы S или сумма минимальных элементов ее п строк. Тон- кость алгоритма Литтля состоит в том, чтобы разумно построить эту нижнюю границу, стремясь сделать ее как можно больше. Таким образом, матрица характеризуется оставшимся числом (ге — к) неизвестных шагов маршрута и нижней границей Y ре- шений задачи. Кроме того, можно считать, что для оставшегося множества шагов известно по крайней мере одно решение задачи (например, перестановка 1, 2, . . ., п есть решение), и пусть Z будет лучшее из них, причем сначала Z может быть бесконечным. Теперь матрица претерпевает дальнейшие изменения в зависимо- сти от следующих возможностей ] а) Если и — к — 2, то осталось не более двух шагов маршрута и решение находится сразу. Если его значение меньше Z, то Z при- нимается равным этому новому значению и считается лучшим из известных решений. Ъ) Если Y больше или равно Z, то матрица исключается, по- скольку представленные в ней маршруты не приводят к решениям, лучшим, чем уже известное. с) Если не имеет места ни одна из перечисленных ситуаций, то вместо исходной матрицы составляются две. Происходит как бы ветвление исходной траектории в двух направлениях и каждому из направлений соответствует своя матрица:
80 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 1) в одной из них выбирается переход от i к j, в результате чего нижняя граница решений может возрасти; 2) в другой запрещается переход из i в / (элемент 8ц полагают равным оо), в результате чего нижняя граница решений несомнен- но возрастет. Таким образом, получаемые матрицы характеризуются возра- стающей нижней границей и (или) большим числом установлен- ных шагов. Кроме того, для каждой последующей матрицы число возможных траекторий меньше, чем для предыдущей и в конце концов достигается такое состояние, когда маршрут определен полностью. Ситуации, когда решение получается сразу или матрица ис- ключается, очевидны; квинтэссенция алгоритма Литтля в ветвле- нии. Суть ветвления составляют понятия приведения и выбора. Приведение преследует цель получения по меныпей мере по одно- му нулю в каждой строке и каждом столбце исходной матрицы S. Так как каждое решение задачи включает один и только один эле- мент из каждой строки или столбца матрицы S, то вычитание или добавление постоянной к каждому элементу ее столбца или строки в одинаковой степени изменяет все решения и не приводит к сме- щению оптимума. Отнимем постоянную h от каждого элемента строки или столб- ца матрицы S. Пусть получаемая в результате этого матрица будет S'. Тогда оптимальное решение, найденное из S', оптимально и и для S, т. е. для обеих матриц перестановка, минимизирующая маршрут, имеет один и тот же вид. В качестве нижней границы ре- шений, получаемых из S', можно выбрать У' — h. Вычитание мож- но продолжать до тех пор, пока каждый столбец или строка не бу- дут содержать по крайней мере одного нуля (т. е. до величины минимального элемента в каждой строке или каждом столбце). Сумма всех констант приведения определяет нижнюю границу У для исходной задачи. Будем говорить, что матрица S является приведенной, если она не допускает дальнейшего приведения. В этом случае отыскание возможных вариантов маршрута связа- но в дальнейшем с изучением какого-либо перехода, скажем, из i в /. В результате вместо исходной матрицы рассматривают две: 1) матрицу Sjj, связанную с отысканием лучшего из всех ре- шений, даваемых матрицей S и включающих дугу (/, /). 2) матрицу Sn(a), связанную с выбором лучшего из всех ре- шений, не включающих дугу (i, j). После того как фиксирован переход из I в j (матрица 5(J), нуж- но исключить переходы из i во все другие города, кроме j, и пере- ходы в j из всех других городов, кроме i, полагая все элементы строки i и столбца j, за исключением s;j, равными бесконечности. Нужно также запретить в последующем выбор дуги (/, i), полагая Sji ~ оо. Это вызвано тем, что объезд всех городов при единствен-
4.1] НАСТРОЙКА, ЗАВИСЯЩАЯ ОТ УПОРЯДОЧЕНИЯ 81 ном посещении каждого из них и окончании маршрута в исход- ной точке не может включать в себя одновременно дуг (г, /) и (j, i). Так как эти запрещения могут привести к устранению ряда нулей в матрице 5,- то не исключена возможность дальнейшего приведе- ния 5 и в результате этого получения новой большей нижней гра- ницы для решений, связанных с матрицей В матрице запрещается переход из i в /, т. е. полагается Stj = оо. В этом случае также не исключена возможность дальней- шего приведения матрицы и вызванного этим возрастания нижней границы для решений, получаемых из Snajy Выбор дуги (i, j) должен быть таким, чтобы максимально увеличить нижнюю гра- ницу для SnW), что, возможно, позволит исключить из рассмотре- ния ряд траекторий без дальнейшего ветвления. Чтобы достигнуть этого, просматриваются все возможные пары (i, у) в матрице S и выбор осуществляется таким образом, чтобы сумма двух после- довательных приводящих констант была максимальной. Очевид- но, что в первую очередь должны запрещаться дуги (i, /), которым соответствуют нулевые элементы матрицы 5, поскольку выбор дуг с ненулевыми элементами не способствует дальнейшему приведе- нию Snlir). В качестве примера приведем решение задачи коммивояжера для шести городов с исходной матрицей ( — 1 ,7\ 3 14 2\ 3 — / 6 \ 9 1 • 24 \ 6 14 /— 3 7 3 2 3 | 5 — 9 И • 15 7 \11/ 2 — 4 / 20 5 4 18 — / Эта матрица может быть приведена к матрице (— 02 2 3 И 02 1 13 5 10 1 3 2 13 1 2 8 0s 23 Оо 4 01 02 — 7 9 0 02 2 6 01 14 — последовательным вычитанием из ее столбцов и строк минималь- ных элементов, общая сумма которых равна 16. Прочерки в матрицах соответствуют запрещенным переходам. На первом шаге таблица представляет собой матрицу 61 — (16), где 16 означает, что любое решение исходной задачи, получаемое по матрице Л1 — (16), не может иметь значение, меньшее 16. Одно решение известно, так как последовательность 1—2—3—4—-5—6, безусловно, является возможным решением. Поэтому Z = 43.
82 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ 4 Степень пулевых элементов S — (16) означает сумму констант приведения, которая достигается запрещением соответствующего перехода. Максимальное из этих чисел равно 6 (для элемента s25), поэтому дальнейшее преобразование таблицы связано с этим эле- ментом. Здесь возможны два варианта, показанных ниже. Таблица второго шага (Z = 43) Следовательно, на втором шаге таблица содержит две матрицы: 52а — (16) и 5п(25) — (22). Отметим, что приводится даль- ше с суммой констант приведения, равной 6 (4 по 5-му столбцу и 2 по 2-й строке), в результате чего нижняя граница возрастает до 22. В матрице 525 элемент s25 подчеркнут для обозначения того, что он обязательно должен войти в решение. Остальные переходы по 2-й строке и 5-му столбцу запрещены. Заметим, что переход, определяемый элементом s52, также запрещен. Это обусловлено тем, что решение, получаемое из Si5, содержит элемент s2a, и оно не может содержать элемента s52, иначе произойдет повторное по- сещение одного из городов, прежде чем будет завершен маршрут. В обоих вариантах, представленных в таблице, нижняя граница меньше Z, и для полного построения маршрута остается найти бо- лее чем два города. Кроме того, ни один из этих вариантов ни при- водит к решению, ни может быть отвергнут. Поэтому каждый из них должен быть исследован дополнительно. Наиболее заманчивым представляется исследование матрицы 525, поскольку она содержит то же самое число пройденных горо- дов, но имеет меньшее значение У. Здесь опять значение степени каждого нуля подсказывает направление поиска. Выбираем эле- мент s41 и получаем матрицы К25,41 — (19) и S25,n(«) — (19). Мат- рица 5п(25) — (22) пока остается в том же виде, какой она имела на втором шаге.
4.1] НАСТРОЙКА, ЗАВИСЯЩАЯ ОТ УПОРЯДОЧЕНИЯ 83 Таблица 41 — (19) = *^25, п(41) — (19) = третьего (— 01 О3 — — 11 — 0° о — — — — — 3 О2 — 1 3 01 I — О2 з 2 О10 и — о» — 1 О4 — .10 — 6 О2 \ 13 1 6 01 шага (Z = 43) - 1 1 О — \ — 01 I — 2 I — 1 О — — 01 — 9 — 2 Отметим теперь, что на четвертом шаге в матрице S25141 вычер- кивается не только элемент $31, но и $34. Это вызвано необходимо- стью исключить цикл 4—1—3—4, поскольку переходы 4—1 и 1—3 уже включены в маршрут. Таблица четвертого шага (Z = 43) Продолжая подобную процедуру дальше, на пятом шаге по- лучим матрицу <S26,4i,ls,3e — (20), приводящую к решению задачи, поскольку остается установить только два перехода для заверше- ния маршрута. Пять шагов должны определить минимум пять го- родов ; остается только один город и только одна возможность вклю- чения его в маршрут, чтобы удовлетворить заданным условиям.
84 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ 1ГЛ. 4 Таблица пятого шага (Z - 43) £2,5, и, is, se — (20) — Q £'25, 41, 13, п(Чв) (32) — 0 - — о — о о — о — — В рассматриваемом случае пять шагов приводят к двум несвя- занным друг с другом участкам маршрута 2—5 и 4—1 —3—6. Соот- ветствующий выбор элементов в последней матрице позволяет нам соединить эти участки в один маршрут. Такими элементами явля- ются s54 и s62 (другой выбор просто отсутствует). Окончательный маршрут с длиной 20 имеет вид 6—2—5—4—1—3. Это новое значение Z — 20 позволяет отвергнуть сразу три из оставшихся вариантов решения. В результате остается только ва- риант, содержащийся в матрице — (19). Здесь еще мож- но рассчитывать на получение решения со значением, меньшим 20. Преобразование этой матрицы по элементу s31 приводит к матри- цам 526,Л(41),31 — (20) и £25,4(41),(31) ~ (29). Однако варианты, содержащиеся в матрицах £25, л(41), 31 — (20) и £25, л(41), л(31) — (29), отвергаются, больше вариантов не остается, и задача решена. £г5, п(41), п(31) Таблица шестого шага Процесс поиска вариантов решения удобно представить в виде дерева (рис. 4.1). Каждый узел на рис. 4.1 соответствует одному из вариантов, содержащихся в таблицах.
4.11 НАСТРОЙКА, зависящая от УПОРЯДОЧЕНИЯ 85 Существует несколько стратегий выбора вариантов. Например, можно отдавать предпочтение вариантам с максимальным числом пройденных городов. Прп этом на каждом шаге будет просматри- ваться незначительное количество вариантов. С другой стороны, можно выбирать варианты с минимальной нижней границей. Решение 6-2-5-Q-1-5 Минимизируемое значение = 20 Рис. 4.1. При этой стратегии уменьшается число вариантов, приводящих к ветвлению. Какая из этих стратегий предпочтительнее, зависит от того, чем мы ограничены — объемом памяти или временем вычислений. Литтль с коллегами запрограммировали свой алгоритм на IBM-7090 и на основе многочисленных вычислений утверждают, что «для решения задачи из двадцати городов обычно требуется
86 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 несколько секунд. Время; затрачиваемое на вычисления, с уве- личением числа городов возрастает экспоненциально, однако и для сорока городов остается в разумных границах (в среднем около 8 минут). Как правило, добавление 10 городов увеличивает время вычислений в 10 раз». Подобное возрастание времени вычисления с увеличением числа городов присуще любому из известных в на- стоящее время алгоритмов решения задачи коммивояжера. Одна- ко, сравнивая эти алгоритмы, можно заметить, что при решении одной и той же задачи алгоритм Литтля требует минимальных вре- менных затрат. Поэтому он применяется для решения самых гро- моздких задач. 4.1.2. Решение задачи коммивояжера методом динамического программирования. Решение задачи коммивояжера методом дина- мического программирования было предложено Веллманом [19], Хелдом и Кэрпом [75]. Опубликованный ими алго- ритм является, по-видимому, более общим, чем метод «ветвей и гра- ниц», и применим к более широкому классу задач упорядочения. Однако трудности, связанные с объемом и временем вычислений при этом алгоритме, появляются для задач менее громоздких, чем при решении методом ветвей и границ. Перейдем к изложению метода. Предположим, что решается задача коммивояжера для п городов с матрицей расстояний S. Без потери общности выберем некоторый город с0 в качестве ис ходного. После этого разобьем все множество городов на четыре непересекающихся подмножества 5 1) {col — множество, состоящее только из одного исходного города; 2) {с;} — множество, состоящее только из одного города (не исходного); 3) {б\} — множество, состоящее из к городов, за исключением Со И Cj, 4) {Cn_ft_2} — множество оставшихся (п — к — 2) городов. Пусть, далее, известен оптимальный порядок прохождения городов, начинающийся и заканчивающийся городом с0. Тогда можно выбрать город с0 и подмножество {Cft}, состоящее из к го- родов, таким образом, что этот оптимальный маршрут начинается в с0 и проходит через множество затем через сг, после чего, пройдя множество городов {Ск }, оканчивается в сг. Теперь рассмотрим только ту часть маршрута, которая связы- вает ct и с0 с промежуточным посещением городов {Ck}. Заметим, что для этого участка нам известен наикратчайший путь. Если бы это было не так, то, не изменяя части маршрута до города сг, можно было бы найти лучший путь его завершения и, следовательно, наикратчайший маршрут целиком. Но это невозможно, поскольку противоречит исходному предположению, что оптимальный мар- шрут известен.
4.1] НАСТРОЙКА, ЗАВИСЯЩАЯ ОТ УПОРЯДОЧЕНИЯ 87 Пусть / (с,; {Сь}) — длина наикратчайшего пути от ct к с0 с про- межуточным посещением множества {Ch}. Заметим, что при к=() / (с,; {0}) = «го есть элемент матрицы S. Если к = п — 1 и сг совпадает с началом движения, то / (с0; {Сп_х}) является длиной оптимального маршру- та исходной задачи. Идея метода динамического программирова- ния состоит в том, чтобы, начиная с к = 0, шаг за шагом увеличи- вать к. При этом, начав с с0, маршрут проходится в обратном по- рядке до с0 и тем самым находится оптимальное решение. Для рассматриваемой задачи основное функциональное урав- нение динамического программирования имеет вид /(ci:{0})= min + —{сД)]. Это уравнение показывает, что для того, чтобы найти лучший путь, начинающийся в сг и завершающийся в с0, с промежуточным посе- щением к городов, нужно выбрать наикратчайший из к возможных путей, начинающихся переходом из сг в один из к городов и затем проходящий кратчайшим образом в с0 с промежуточным посещени- ем {к — 1) других. Любой из этих к вариантов, в свою очередь, представляет собой наикратчайший из (к — 1) возможных путей в соответствии с приведенным ранее уравнением. В конце концов достигается точка, в которой правая часть уравнения представля- ет собой просто элемент S. В качестве примера рассмотрим решение задачи для пяти горо- дов, и пусть пятый город принимается за начало маршрута. Тогда / (cs! {ci, с2, с3, с4}) представляет собой длину кратчайшего маршру- та и любая очередность посещения городов, приводящая к этой длине маршрута, является оптимальной. На нулевом шаге ищется решение для четырех вариантов при к = 0: 0-й шаг (к = 0) 4 варианта /(Сь0)=«15, / (са; 0) = «25, /(с3;0) = «85, /(с4;0) = «45- На первом шаге решения при к = 1 выражаются через известные решения при к = 0: 1-й шаг (к — 1) 12 вариантов / (ci! {с2)) — «12 4~ / (с2! 0)> / (С1’, {с3)) =: «13 + / (с3; 0)>
88 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 / (Cl! {q}) -= «U + f(Cl, 0), / (сг! {ci}) = «21 + f (ci! 0), /(0{0) = s23 + /(c3; 0), / (C4> Ы) — «43 + / (Сз’> 0)- На втором шаге решения при к = 2 выражаются через известные решения при к = 1 2-й шаг (к = 2) 12 вариантов / (Сь {С2, С3}) = mill [sia 0 / (с2; {с3}), з13 0 / (с3; {с2})], f (ci5 {с2, с4}) = min [s12 0 / (с2; {с4}), з14 0 / (с4; {с2})], / (cf, {с3, с4}) = min [s13 0 / (с3; {с4}), s14 0 / (с4; {c3))J, / (с2; {ci, с3}) = min [s21 0 f (сх; {с3}), s23 0 / (с3; {cj)], / (с2; {сх, с4}) = min [s21 0 /(сх; {с4}), s24 0 / (с4; {сх})], / (с4; {с2, с3}) = min [з42 0 / (с2; {с3}), s43 0 / (с3; {с2})]. Отметим, что на втором шаге используется каждое из решений, полученных на первом шаге. При этом, если сделан выбор в пра- вой части, то выбранный член должен быть зафиксирован, так как он соответствует фактическому направлению движения. Например, если «12 + / (с2; {с3}) < «1з + / («з! {с2}), то / (<?1 {<?2, Сз}) = «12 + / («2, {^з})- Таким образом, теперь известно, что всякий раз, попав в с4 и неза- висимо от пути, приведшего в сг, чтобы пройти множество, состоя- щее из с2, с3 и с5, нужно сначала перейти в с2, затем в с3, после чего вернуться в с5, пройдя расстояние / (сх; {с2, с3}). Продолжая дальше, переходим к третьему шагу, использующе- му каждое из решений второго шага. 3-й шаг (к — 3) 4 варианта /(сх; {с2,с3,с4}) = =min [s12 0 / (с2; {с3, с4}), s13 0 / (с3; {с2, с4}), зХ4 0 / (с4; {с2, с3})], /(с2; {сх,с3, с4}) = = min [s21 0 / (сх; {с3, с4}), s23 0 / (с3; {ct, с4}), s24 0 f (с4; {сх, с3})], / (сз> {с1> С2, Ci}) = min [s3i 0 /(сх; {с2, с4}), з32 0 f (с2 {сх, с4)), s34 0 / (с4; {сх, с2})], / (с4; {сх, с2, с3}) = = min [s4i 0 / (ср, {с2, с3}), s42 0 / (с2; {сх, с3}), з43 0 / (с3; {сх, с2})].
4.1] НАСТРОЙКА, ЗАВИСЯЩАЯ ОТ УПОРЯДОЧЕНИЯ 89 Наконец, на четвертом шаге получается решение исходной задачи: 4-й шаг (к = 4) 1 вариант / (с5; {с4, с2. с3, с4}) = min[s51 + / (с4; {с2, с3, с4}), s52 4- +/ (с2; {с4, с3, с4}), s53 + / (с3; {cv с3, с4}), s54 + f (с4; {с4, с2, с3})]. Чтобы оцепить объем вычислительной работы, связанной с опи- сываемым методом, подсчитаем: число вариантов на каждом шаге, как показано в табл. 4.2. В общем приходится просмотреть 33 ва- рианта и проделать 108 арифметических операций с данными, со- держащимися в матрице S или полученными на предыдущем ша- ге. Поиск решения, основанный на методе полного перебора всех вариантов, содержит (п — 1)! вариантов, т. е. 24 варианта. Каждый из этих вариантов требует пяти арифметических опера- ций на основании данных матрицы S, т. е. в общем требуется 120 арифметических операций. С возрастанием числа городов преиму- щества, даваемые методом динамического программирования, ста- новятся еще более ощутимыми. Таблица 4.2 Число вариантов Возможные направ- ления в каждом варианте Число членов вида з или / в варианте 0 4 1 1 1 12 1 2 2 12 2 4 3 4 3 6 4 1 4^8 Вообще, на каждом шаге существует (п — 1) возможностей вы- (п — 2\ бора города с; и для каждого из них существует \ /с ) возмож- ностей выбора городов {Cft}. Это означает, что существует /п _ 1) (п - 2\ =____________ У >\ к ) к\ (п — 2 — к)\ вариантов. Для к 4» 1 существует к выборов, подлежащих срав- нению друг с другом, и это означает, что нужно вычислить kf и ks членов для каждого из них. (При к = 0 вычисляется только один член для каждого из (/г—1) вариантов.) Общее число вычислений
90 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 на всех шагах будет равно +(п-1) = /С=1 ' ’ П—1 = 2 2 (fc ZI) (ге - /£) {п - к - !) + (« - !) < < (п — 1) (п — 2) (2П — 2) + (п — 1) < тг2п. Приведенная верхняя оценка является довольно грубой, однако и она позволяет продемонстрировать ту экономию в вычислениях, которая достигается благодаря методу динамического программи- рования по сравнению с полным перебором всех п\ вариантов. Например, в табл. 4.3 представлен случай, когда п = 8 и 8228 = = 16 384. Полный перебор составляет 7! = 5040 вариантов, для которых необходимо провести 40 320 вычислений. Таблица 4.3 & 0 1 2 3 4 5 6 7 Общее число Число вариантов 7 42 105 140 105 42 7 1 449 Число арифметических операций 7 84 420 840 840 420 84 14 2709 Практически, ограничением при расчетах является скорее объем памяти, чем число операций. Дело в том, что все результаты предшествующего шага хранятся в памяти до тех пор, пока не по- лучаются все результаты последующего. Поэтому память занима- ется под результаты двух последовательных шагов. Максимальное число вариантов содержит два шага в окрестности точки к = =(и—2)12. Поэтому объем памяти долженпозволять размещать резуль- таты этих двух шагов. Для каждого варианта требуется несколько машинных слов, чтобы хранить характеризующую его информа- цию: длину оптимального маршрута и последовательность про- хождения городов. Память на 32 768 слов может охватить задачу только 13 городов. Теперь напомним (см. п. 4.1.1), что на машине с тем же объемом памяти методом ветвей и границ решается задача для 40 городов. Существуют, конечно, машины с памятью боль- шего объема, кроме того, можно обращаться к внешним накопите- лям. Однако при решении методом динамического программирова- ния с каждым добавленным городом объем требуемой памяти удва- ивается. 4.1.3. Алгоритм ближайшего непосещенного города для зада- чи коммивояжера. Естественным и обычно используемым практи- чески алгоритмом выбора маршрута в задаче коммивояжера являет-
4.1] НАСТРОЙКА, ЗАВИСЯЩАЯ ОТ УПОРЯДОЧЕНИЯ 91 ся перемещение к ближайшему, еще не посещенному городу. Это означает, что для заданного местонахождения в соответствующей матрице S выбирается минимальный элемент, который определя- ет следующий город маршрута (при этом, естественно, не рас- сматриваются элементы, соответствующие пройденным городам). Такая процедура напоминает алгоритм SPT при упорядочении работ. Нетрудно привести примеры, показывающие, что описанный алгоритм не дает оптимального решения. Кроме того, легко подо- брать примеры, когда этот алгоритм уводит совсем в другую сторону и дает чрезмерно плохие решения. Однако, за исключением этих специально подобранных случаев, применение описанного алго- ритма в стандартных ситуациях представляет интерес. Если су- ществует уверенность, что описанный алгоритм не приведет к слишком плохому решению, то потеря качества компенсируется легкостью, с которой оно получается. Интересно отметить, что, хотя оптимальное решение получается циклической перестанов- кой и исходная точка маршрута может быть выбрана произвольно, тем не менее решения, получаемые при помощи алгоритма бли- жайшего города, зависят от выбора исходной точки маршрута. Например, матрица (— 1 7 3 14 2 \ 3 — 6 9 1 24 1 6 14 — 3 7 3 2 3 5 — 9 11 I 15 7 11 2 - 4 / 20 5 13 4 18 — / есть матрица расстояний для задачи, описанной в п. 4.1.1. В табл. 4.4 приведены решения этой задачи, даваемые алгоритмом ближайшего города. Таблица 4.4 Исходный пункт Очередность прохождения Длина маршрута 1 1—2—5—4-3-6 32 2 2—5—4—1—6—3 34 3 3—4—1-2—5-6 24 3—6—4—1—2—5 22 4 4-1-2—5—6—3 24 5 5—4—1—2—3—6 32 6 6—4—1—2—5—3 22 Выбор в качестве исходной точки третьего или шестого городов приводит к одному и тому же маршруту 3—6—4—1—2—5 с дли- ной 22. Эта величина чуть больше оптимальной длины, равной
92 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ (ГЛ. 4 20 (3—6—2—5—4—1), несмотря на то, что у полученного маршрута и оптимального (полученного в п. 4.1.1) совпадают только три из шести дуг. В частных случаях, когда рассматриваются все воз- можные варианты выбора исходной точки маршрута или этот вы- бор совершается удачно, получается достаточно хорошее по срав- нению с оптимальным решение. Однако если выбор исходной точ- ки сделан неудачно, то чаще всего решение будет далеким от опти- мального. В общем случае, если просматриваются все возможные варианты выбора исходной точки маршрута, то объем вычислений (число арифметических операций) возрастает в п раз, но остается незначительным по сравнению с алгоритмами, гарантирующими точное решение. Например, для рассмотренной задачи объем вы- числений при больших п имеет порядок п2, что означает возмож- ность решения весьма громоздких задач. Только в одном случае решение становится обременительным из-за возрастающего объе- ма вычислений. Это происходит тогда, когда пытаются пересмот- реть все возможные маршруты или когда выбор ближайшего горо- да связан с несколькими вариантами (как это, например, имеет мес- то в приведенном примере для третьего города). Д ж е в е т т [60] применил метод ближайшего города для большого числа задач. В этих задачах элементы матрицы расстоя- ний представляли собой независимые и одинаково распределенные случайные величины с нормальными или равномерными распре- делениями. Средняя длина маршрута для каждой задачи приведе- на в табл. 4.5 и 4.6. Там же приведены математические ожидания длины маршрута, если он выбран случайно, длина оптимального маршрута (найденного алгоритмом Литтля), длина маршрута, устанавливаемого алгоритмом ближайшего города в случае про- извольного выбора исходной точки, и длина лучшего из маршру- тов, получаемых с помощью алгоритма ближайшего города, когда просматриваются все возможные варианты исходной точки. Разница между средней длиной оптимального маршрута и ма- тематическим ожиданием длины маршрута при случайном выборе направления движения возрастает с увеличением числа городов и уменьшается с уменьшением стандартного отклонения нормаль- но распределенных элементов матрицы расстояний. Результаты, полученные при помощи алгоритма ближайшего города, ухуд- шаются с увеличением числа городов. Для 20 городов с расстоя- ниями между ними, представляющими собой нормально распреде- ленные случайные величины со стандартным отклонением 0,4, средний маршрут, получаемый при помощи алгоритма ближайше- го города (при произвольном выборе исходной точки), на 26% длиннее оптимального. Для тех же самых условий в случае про- смотра всех вариантов выбора исходной точки маршрута он ока- зывается длиннее оптимального на 18%. Если расстояния пред- ставляют собой равномерно распределенные случайные величины,
4.1] НАСТРОЙКА, ЗАВИСЯЩАЯ ОТ УПОРЯДОЧЕНИЯ 93 Таблица 4.5 Средняя длина маршрута при нормально распределенных расстояниях между городами Число горо- дов Нормальное распреде тение Число вари- антов Средняя длина маршрута случай- ный выбор маршрута опти- мальный выбор Алгоритм ближайшего непосещенного города среднее стандарт ное отклоне- ние произво lb- НЫЙ выбор исходной точки просмотр всех возмож- ных вариан- тов выбора исходной точки 5 1,0 0,4 100 5,0 3,28 3,64(1,11) *) 3,44(1,05) 5 1,0 0,3 45 5,0 3,54 3,98(1,12) 3,76(1,06) 5 1,0 0,2 30 5,0 4,09 4,32(1,06) 4,21(1,03) 5 1,0 0,1 10 5,0 4,49 4,59(1,02) 4,57(1,02) 10 1,0 0,4 10 10,0 4,78 5,51(1,15) 5,26(1,10) 10 1,0 0,3 45 10,0 5,92 6,63(1,12) 6,34(1,07) 10 1,0 0,2 30 10,0 7,18 7,69(1,07) 7,43(1,04) 10 1,0 0,1 10 10,0 8,69 9,00(1,04) 8,87(1,02) 15 1,0 0,4 10 15,0 6,40 7,81(1,22) 7,23(1,13) 15 1,0 0,3 45 15,0 8,11 9,33(1,15) 8,90(1,10) 15 1,0 °,2 30 15,0 10,34 11,09(1,07) 10,83(1,05) 15 1,0 0,1 10 15,0 12,83 13,17(1,03) 13,00(1,01) 20 1,0 0,4 10 20,0 7,68 9,65(1,26) 9,07(1,18) 20 1,0 0,3 45 20,0 10,00 11,52(1,15) 11,02(1,10) 20 1,0 0,2 30 20,0 13,36 14,35(1,07) 14,11(1,06) 20 1,0 0,1 10 20,0 16,51 16,96(1,03) 16,84(1,02) *) Отношение среднего к оптимальному. Таблица 4.6 Средняя длина маршрута при равномерном распределении расстояний между городами Число горо- дов Равномерное распределение (9,2) Число ’вари- антов Средняя длина маршрута случай- ный выбор маршрута оптималь- ный выбор Алгоритм ближайшего непосещенного города среднее стандарт ное отклоне- ние произволь- ный выбор исходной точки просмотр всех возмож- ных вариан- тов выбора исходной точки 5 1,0 0,576 20 5,0 1,85 2,58(1,39)*) 2,03(1,10) 10 1,0 0,576 20 10,0 2,61 3,97(1,52) 3,45(1,32) 15 1,0 0,576 40 15,0 3,02 5,15(1,71) 4,38(1,45) 20 1,0 0,576 20 20,0 3,08 4,78(1,51) 4,26(1,38) *) Отношение среднего к оптимальному
94 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 то эта разница составляет соответственно 51% и 38%. Из сказанно- го следует, что при просмотре всех вариантов выбора исходной точки, грубо говоря, получаются результаты, промежуточные по отношению к тем, которые достигаются строгим методом и при случайном выборе исходной точки. 4.2. Неодновременное поступление работ В гл. 3 предполагалось, что все п работ поступают в систему од- новременно. В этом случае оптимальные (относительно регуляр- ных критериев) расписания не содержат прерываний та искусственно вводимых простоев (теорема 3.1). Если работы поступают неодно- временно и Г) rj (для некоторых i и /), то оптимальные расписа- ния принадлежат к классу, включающему прерывания и искус- ственные простои. Говорят, что происходит прерывание, если начавшаяся работа прерывается до ее окончания. Если рассматриваются прерывания, то последовательность п индексов уже не определяет расписания для п работ, так как любая работа может повториться в расписа- нии больше одного раза и следует задать длительности каждого из интервалов ее выполнения. Различают несколько видов преры- ваний в зависимости от того, как продолжается выполнение прер- ванной работы при ее возобновлении. В одних случаях работа выполняется дальше с того места, где она была прервана; тогда говорят, что имеет место прерывание с дообслуживанием. При этом длительность работы остается постоянной и не зависит от числа прерываний. В других случаях рассматривают прерывания с об- служиванием заново. Здесь выполнение работы начинается заново всякий раз, когда она попадает на обслуживание после прерыва- ния, т. е. вся выполненная до прерывания часть работы оказывает- ся бесполезной. В этих условиях длительность работы минималь- на, если опа не прерывается. Между этими дисциплинами находит- ся очень важная дисциплина, при которой прерванные работы дообслуживаются, а настройки всякий раз повторяются заново при возобновлении работы. Полезность прерываний иллюстрируется следующим при- мером: Работа \ 1 2 Время поступления г 0 1 Длительность р 14 1
4.2] НЕОДНОВРЕМЕННОЕ ПОСТУПЛЕНИЕ РАБОТ 95 Если выполнение работы 1, начавшейся в нулевой момент време- ни, не прерывается с поступлением работы 2, то средняя длитель- ность прохождения равна 4. Если с поступлением работы 2 пре- рывается выполнение работы 1 с последующим дообслуживанием ее, то средняя длительность прохождения равна 3. По существу, при последовательном поступлении работ и пре- рывании с дообслуживанием имеет место та же ситуация, что и и при одновременном поступлении работ. Дело в том, что в момен- ты поступления работ можно пересматривать все принятые ранее решения, учитывая лишь оставшуюся длительность выполнявших- ся, но не закончившихся работ. При всяком новом поступлении совершается лучший выбор из всех незавершенных работ, причем это происходит без всяких потерь. Очевидным обобщением алгоритма упорядочения по минимуму длительностей работ является упорядочение по минимуму остав- шихся длительностей. При таком упорядочении минимизируется средняя длительность прохождения и сохраняются все результа- ты, относящиеся к алгоритму SPT в случае одновременного поступ- ления работ. Заметим, что совсем не обязательно располагать предварительной информацией о будущих поступлениях работ, потому что процедура строго локальна и выбор осуществляется из находящихся в системе работ без учета предстоящих поступ- лений. Если в приведенном примере ввести прерывание с обслужива- нием заново, то средняя длительность прохождения будет равна 3,5. Это лучше, чем при отсутствии прерываний, но хуже, чем в случае прерывания с дообслуживанием. Однако анализ систем с прерыванием и обслуживанием заново очень сложен, и по этому вопросу пока не опубликовано интересных результатов. Заметим, что здесь неприменимы результаты, полученные для системы с одновременным поступлением работ, которые распространяются на случай прерывания с дообслуживанием. Более того (в отличие от прерывания с дообслуживанием), при составлении расписания оказывается существенной информация о предстоящих поступле- ниях работ. Пусть, например, известно, что до полного завершения неко- торой работы поступит работа, прерывающая ее. Тогда, по-види- мому, нет смысла начинать бесполезную работу, и если отсут- ствуют работы, которые можно закончить до прерывания, то машина должна простаивать до следующего поступления. В рас- смотренном ранее примере это находит свое отражение в том, что средняя длительность прохождения равна 3,5. Стратегия простоев практически используется всегда при наличии прерываний с возоб- новлением обслуживания, когда имеется предварительная инфор- мация о предстоящих работах. Однако общего оптимального алго- ритма для этого случая пока не найдено.
96 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 4.3. Упорядочение при наличии ограничений на возможные варианты расписаний Во всех предыдущих разделах предполагалось, что приемлема любая из возможных последовательностей выполнения работ, по- этому выбиралась та, которая обеспечивает лучшее обслуживание при заданном критерии качества. В настоящем разделе рассматри- ваются случаи, когда определенные последовательности выполне- ния работ запрещены по тем или иным соображениям. 4.3.1. Составление расписаний при частичном упорядочении. Рассмотрим случай, когда составляется расписание для частично упорядоченных работ. Это частичное упорядочение может быть обусловлено различными причинами. Например, оно может быть вызвано зависимостью длительности настройки от очередности вы- полнения работ. Если это имеет место, то работы разбиваются на группы с приблизительно равной настройкой, после чего со- ставляется для групп расписание, минимизирующее некоторый кри- терий (например, среднюю длительность прохождения). Очеред- ность внутри групп устанавливается таким образом, чтобы мини- мизировать общую длительность перестройки машины. Теперь предположим, что исходные п работ разбиты на к групп с числом работ nit . . ., nk в каждой группе. Предположим также, что состав групп и очередность работ в группе фиксированы и что пе- реход к следующей группе возможен только после того, как вы- полнены все работы предыдущей. Требуется выбрать один из воз- можных способов упорядочения групп. Введем следующие обозна- чения: Ptj — длительность выполнения работы j в группе i; Ftj — длительность прохождения работы / в группе j; ni pi = 2 Ра — общая длительность всех работ i группы; 7=1 Fi = Ег,п. — длительность прохождения i-й группы, равная длительности прохождения последней работы в ней. Если расписание должно минимизировать среднюю длитель- ность прохождения группы, т. е. величину к г < то, очевидно, нужно рассматривать каждую группу как работу длительностью pi и применить алгоритм упорядочения в соответ- ствии с минимальной длительностью. Это означает, что группы упорядочиваются так, что РГИ < •
4.31 ОГРАНИЧЕНИЯ НА ВОЗМОЖНЫЕ ВАРИАНТЫ РАСПИСАНИЙ 97 Если расписание преследует цель минимизировать взвешенную среднюю длительность прохождения группы к У пгрк 1=1 п то упорядочение определено результатами раздела 3.7 и таково, что Л1] Р[21 n[i] И[2] п[И] Приведенное упорядочение групп минимизирует также среднюю длительность прохождения исходных работ (этот факт не оче- виден) : « к пг У Л У У F = _ . п п Теорема 4.1. Пусть в системе п 11 | F работы разбиты на к непересекающихся групп, и пусть выполнение работ внутри группы и переход от группы к группе осуществляется без настро- ек, а порядок выполнения работ внутри каждой группы фиксиро- ван. Тогда средняя длительность прохождения работ минималь- на, если порядок выполнения групп работ таков, что отношение суммарной длительности всех работ группы к числу работ в ней не убывает, т. е. Ли Лг] Л К "(И Лй] "[К Доказательство. Обозначим через htj интервал вре- мени менаду окончанием работы j из группы i и завершением всех работ i-й группы. Тогда hini — 0 и п. hij = 2 р^' J = 1,2,... -- 1. fc=?+'v Заметим, что для каждой работы величина ht] постоянна и опре- деляется условиями задачи, поскольку она зависит только от длительности работ и очередности работ внутри группы; k п1 У У Л] F — ____ и fc У п.?\ Л г г 1=1 И 4 Р. В. Конвей и др.
98 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 Теперь отметим, что второй член в правой части — постоянная величина, не зависящая от очередности групп, а первый, как это следует из теоремы 3.10, минимизируется порядком, устанавлива- емым утверждением теоремы. 4.3.2. Составление расписания при заданном отношении пред- шествования. Частичное упорядочение работ желательно зада- вать менее жестко, чем это было сделано в предыдущем пункте, например, ввести определенные отношения между работами вза- мен требования обслуживания групп без прерывания. Подобные отношения можно установить, используя понятия предшествова- ния, непосредственного предшествования, а также преимущест- венного графа, описанного в разделе 1.2. (Там понятие предшест- вования применялось в отношении операций отдельной работы. В этом разделе каждая работа состоит из одной операции, поэто- му п работ можно рассматривать как п операций некоторой обоб- щенной работы.) Предположим, что нужно выполнить три работы: а, Ъ, с. Ес- ли не накладывать никаких ограничений на порядок их выполне- ния (как это было в гл. 3), то возможны следующие шесть вариан- тов упорядочения: 1) abc; 2) acb; 3) Ъас; 4) Ьса; 5) cab; 6) cba. Если рассматривать b и с как группу в смысле п. 4.3.1, то воз- можно только два варианта: 1) abc; 2) Ьса. Если наложить более слабое ограничение в форме: b предшест- вует с, то возможно три варианта: 1) abc; 2) bac; 3)bca. Рассмотрим теперь более общий случай, когда п работ разбиты на к цепочек. Это значит, что соотношения предшествования оп- ределяют для каждой работы не более одной предшествующей и не более одной последующей, например, так:
4.3] ОГРАНИЧЕНИЯ НА ВОЗМОЖНЫЕ ВАРИАНТЫ РАСПИСАНИИ 99 При наличии таких ограничений упорядочение, минимизирующее среднюю длительность прохождения, определяется следующей теоремой: _ Теорема 4.2. Пусть для системы п | 1 | F без настроек заданы отношения предшествования между определенными пара- ми работ так, что для каждой работы существует не более одной предшествующей и одной последующей', пусть в результате этого множество работ разбивается на к непересекающихся цепочек, внутри каждой из которых задана последовательность выполнения работ, причем допускается прерывание цепочек. Тогда средняя длительность прохождения минимизируется упорядочением, уста- навливаемым следующим образом'. 1) Для каждой работы j в i-vt цепочке вычисляется 2) Для каждой цепочки i вычисляется У г (К) = min (xu, . .., xin.) = xihi, т. е. hj — второй индекс минимальной из величин xtl, Х(2, ..., Xtni- 3) Выбирается такая цепочка I, что Ут (М "С У( (hi) для всех i и первые hi работ в цепочке I формируют начало очередности выполнения работ. 4) Вычисляются заново величины yt без учета первых hi работ цепочки I. 5) Третий и четвертый шаги повторяются до тех пор, пока не будут упорядочены все работы. Доказательство. Сформулированный алгоритм упо- рядочивает, вообще говоря, К к частей цепочек. При этом ме- ханизм упорядочения таков, что размещение в расписании второй части цепочки не производится, пока не установлено место первой ее части, гарантирующее соблюдение заданных отношений пред- шествования внутри цепочки. Если бы части цепочек представляли собой группы (в смысле п. 4.3.1), которые не прерываются, то оптимальный алгоритм давался бы теоремой 4.1. Поэтому нужно показать, что сформули- рованные частичные цепочки фактически можно рассматривать как группы работ (в смысле п. 4.3.1), т. е. что прерывание любой из них не улучшает обслуживания. 4*
100 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 Рассмотрим часть b некоторой цепочки, сформированную по алгоритму теоремы и содержащую пь работ. Пусть Работы в b упорядочены следующим образом: (b, 1), ..., (Ь, пь). Прерывание цепочки b означает разбиение ее на две более мелкие части b и Ь": Ь' = (Ъ, 1), (Ъ, 2), . . . , (Ь, I), bn = (b, I 4- 1),, (Ь, пь). Каждая из этих новых частичных цепочек имеет свое отношение суммарной длительности работ к их числу: и разместилась бы в упорядочении (по теореме 4.1) в соответствии со значениями уь- и у^". Нужно показать, что подобное разбиение b не разумно, по- скольку частичная цепочка b должна будет непосредственно пред- шествовать Ь", и структура b останется неизменной, в силу чего b может рассматриваться как непрерываемая группа. Покажем, что Уь'>Уь>Уь"- Неравенство у,/ уь следует из построения в соответствии ° алгоритмом теоремы: Умножая обе части этого неравенства на i (i -|- (пь — i)), полу- чим г г пЪ (i + (пь - ;)) 3 4 i (3 Рь^ + 3 РьЛ 1=1 \=1 ;=?+•! 7 Прибавляя к обеим частям последнего неравенства величину ”ь » (»ь—о з рч ~12 Рьр p=i+l
4.3] ОГРАНИЧЕНИЯМ НА ВОЗМОЖНЫЕ ВАРИАНТЫ РАСПИСАНИЙ 101 получаем Отсюда следует, что разбиение любой частичной цепочки, сфор- мированной алгоритмом теоремы, на две приводит к тому, что по- лученные две частичные цепочки не удовлетворяют отношению порядка, устанавливаемому по минимуму величин у, а поменять их местами нельзя в силу условий предшествования работ в це- почке Ь. Покажем теперь, что перемещение Ъ' вперед или Ъ" назад нецелесообразно. Пусть в исходном расписании а и с — частичные цепочки, пер- вая из которых предшествует Ь, а вторая следует за Ь, т. е. У о Уь Ус Ясно, что цепочка Ь' не может быть размещена перед а, так как У а < УЬ < Уь’- Она не может быть продвинута и дальше вперед, поскольку для любой частичной цепочки, предшествующей а, значение у не пре- восходит уа. Ъ нельзя разместить и внутри а, разделив а на две более мелкие частичные цепочки а’ и а", так как У а" У а Уь Уь'’ и Ь' нельзя расположить впереди а". Аналогично доказывается, что Ь" нельзя разместить внутри или после с. Описанным алгоритмом можно упорядочить работы с более общим видом ограничений, задаваемых отношением предшествова- ния. Например, пусть отношения предшествования заданы в ви- де следующего графа: В зтом графе алгоритм теоремы 4.2 можно применить к совокуп- ности работ 1, 2, 3 и 5, 6, 7, 8, поскольку они образуют незави-
102 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 симые последовательности. (Совокупность работ 1, 2, 3 фактиче- ски представляет собой систему, к которой применимы все резуль- таты гл. 3.) Однако результаты теоремы 4.2 не позволяют упорядочить со- вокупность работ 10, 11, 12, 13, 14, а также работы 4, 9, которые являются узловыми точками графа. 4.4. Параллельные машины В этом разделе мы возвращаемся к предположениям об одно- временном поступлении работ и независимости настройки от оче- редности. Кроме того, считаем, что отсутствуют всякие ограниче- ния на возможные варианты расписаний. Однако здесь мы допол- нительно предположим, что система состоит из нескольких машин. Возможности такой системы определяются матрицей длительностей работ размером п X т: (Ри Р12 .. . Р}>п \ ри ргг . . . р2т | Рnl Рп2 ' ' ‘ Рпт у Здесь pij представляет собой длительность работы i на машине /. В простейшем случае предполагается, что все машины одинаковы, и тогда все элементы, расположенные в одной строке матрицы, равны друг другу (при этом второй индекс у можно опустить). В общем случае рассматриваются различные машины, и поэтому элементы строк различны. Если некоторые работы не выполняются на определенных машинах, то соответствующие полагаются равными оо. Конечно, рассматриваются только неразложимые мат- рицы, поскольку в противном случае задача распадается на ряд независимых задач с соответствующими подматрицами. Первоначально решается вопрос о возможности выполнения одной работы одновременно несколькими машинами. Если это не- возможно, то задача сводится к разбиению п работ на т непересе- кающихся подмножеств и упорядочению внутри каждого из них. Если же одна работа может одновременно выполняться несколь- кими машинами, то нужно найти наилучший способ такого вы- полнения. Однако обычно это сделать более трудно. Сама по себе идея выполнения одной работы одновременно несколькими ма- шинами достаточно обоснована, хотя первоначально и кажется нереальной. Дело в том, что во многих случаях работа фактически состоит из нескольких одинаковых частей, каждая из которых тре- бует идентичного выполнения. То, что ранее называлось опера- цией, фактически представляет собой повторение элементарных действий по отношению к каждой из таких частей. Ясно, что в
4.4] ПАРАЛЛЕЛЬНЫЕ МАШИНЫ 103 этом случае работа может быть распределена так, чтобы ее одновре- менно выполняли несколько машин, и хотя иногда возникают до- полнительные потери, обусловленные соответствующей настрой- кой, тем не менее, подобная практика существует в некоторых ви- дах промышленного производства. Выигрыш, получаемый от распределения работ между маши- нами, становится очевидным из следующего примера. Пусть мат- рица длительностей работ для системы 2 | 2 имеет следующий вид: /2 2\ \2 2/ Если каждая машина выполняет одну работу целиком, как в рас- писании А, приведенном ниже, то F = 2. Если каждая работа выполняется одновременно двумя машинами, как в расписании В, то Р = 1,5 (без учета длительности настройки). Расписание А Расписание В Машина 1 Работа 1 Машина 2 Работа 2 Машина 1 Работа 1 Работа 2 .Машина 2 Работа 1 Работа 2 В общем случае предположим, что имеется т одинаковых машин и т работ с одинаковыми длительностями р, т. е. общий объем работы равен тр. Если все работы распределить равномерно меж- ду т машинами, то через р единиц времени весь объем работы бу- дет выполнен независимо от того, как выполняются машинами отдельные работы. Но от способа этого выполнения зависят мо- менты окончания отдельной работы. Например, если каждая ма- шина выполняет отдельную работу целиком, то все работы закан- чиваются одновременно через время р и F = р. С другой стороны, если каждая работа выполняется всеми т машинами, то первая из работ завершается через время р!т, вторая — через 2р/т, третья — через Зр!т и, наконец, последняя — через время р. При такой стратегии каждая из работ, за исключением последней, заканчивается раньше, чем в первом случае, а средняя длительность прохождения определится следующим образом; Это означает, что выигрыш по длительности прохождения колеб- лется от 25% (для двух машин) до 50% (для большого числа ма- шин). Несмотря на то, что приведенный пример носит искусствен- ный характер, полученные результаты отражают общую законо- мерность, состоящую в том, что без учета потерь, связанных с многократной настройкой, любое расписание может быть улучшено
104 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ 1ГЛ. 4 за счет выигрыша от параллельного выполнения операций на идентичных машинах. Фактически т машин, выполняющих одно- временно одну работу, можно рассматривать как одну машину, в т раз производительней исходных. Существуют многочислен- ные примеры подтверждающие этот факт, однако рассмотрение оригинальных работ в этом направлении выходит за рамки на- стоящей книги. Упорядочение работ в случае одновременного выполнения каж- дой из них m машинами проводится в соответствии с результа- тами, полученными в гл. 3 для системы п | 1. Для этого т парал- лельных машин рассматриваются как одна, а фактические длитель- ности работ заменяются их приведенными значениями, равными (если все машины одинаковы) После этого упорядочение осуществляется с учетом величин {А}. В тех случаях, когда упорядочение определяется только длитель- ностями, формирование очередности можно проводить по их пер- воначальным значениям, так как деление всех р на одну и ту же константу не изменяет соотношения между ними. Если машины не эквивалентны, то приведенные длительности работ определяются как ' 1 А т У }=1 В каждом случае, когда минимизируется средняя длительность прохождения или среднее время окончания работ, или среднее временное смещение и т. д., должно быть проведено SPT-упоря- дочение по величинам {/>,}. Это означает, что очередность устанав- ливается так, что АН Ж1 < • • Можно привести много примеров, когда работы нельзя распре- делить равномерно по параллельно работающим машинам. В производственных системах совокупность выполняемых ра- бот имеет более сложную структуру (это будет видно в гл. 6 и 11). Однако, практически, расписание для них на отдельных участ- ках составляется лицом, ответственным только за этот участок, в пределах которого работа, как правило, состоит из одной опе- рации. Количество машин на таком участке может быть любым целым числом. В подобных случаях составление расписания вклю- чает в себя два момента: задание для каждой работы соответствую- щей машины и места в очередности работ, выполняемых этой ма- шиной.
4.4] ПАРАЛЛЕЛЬНЫЕ МАШИНЫ 105 Пусть / [/с! представляет собой работу, выполняемую в к-ю очередь на машине /, а П} — число работ, выполняемых на маши- не /: т п = 3 3=1 Длительности прохождения работ имеют следующий вид: к ^ги = Лш! ^[2] = Леи + ftw • • • > Fjm = 3 Рин- 1=1 Средняя длительность прохождения п работ равна т nj У У (^-*+1)р,[Ц р __ /’-=1 к=1 п Числитель приведенного выражения представляет собой сумму п слагаемых, каждое из которых есть произведение целого числа на длительность работы. Каждая из п длительностей участвует в суммировании один раз, а целые числа имеют вид rei> ni — 3, ..., 2, 1; п2, п2 — 1, ..., 2,1; пт, пт — 1, ..., 2, 1. Поэтому числитель минимален, если последовательность длитель- ностей не убывает, а последовательность целых чисел не воз- растает. В данном случае существует иг коэффициентов со значе- ниями «1», и они должны быть при т наибольших значениях рг. Это означает, что т работ с максимальными длительностями долж- ны выполняться последними в упорядочениях, установленных для каждой машины. Отсюда также следует, что безразлично, какая из работ назначается какой машине независимо от сущест- вующей очередности. Повторяя эти рассуждения, получим, что существует т коэф- фициентов со значениями 2, которые должны быть при наибольших из оставшихся длительностей. Подобные рассуждения продолжа- ем до тех пор, пока не будут найдены для каждой длительности соответствующие коэффициенты и, тем самым, не будет установ- лено искомое упорядочение. Занумеруем п работ в порядке возрастания их длительности: Pl < Pi < РЗ < ’ • • < Рп- Тогда работы должны распределяться по машинам в соответст- вии со следующей таблицей: Работы 1 2.. . т т -|- 1 т -f- 2 2 т 2т 4-1... Машины 1 2.. . т 1 2 ... т 1 ...
106 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ G ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 Это означает, что всякий раз по окончании машиной некоторой работы из числа ждущих выбирается та, у которой минимальная длительность. Такая разновидность SPT-упорядочения миними- зирует среднюю длительность прохождения, среднее время ожи- дания и среднее временное смещение. Если поменять местами ра- боты, имеющие одинаковую очередность к различным машинам, то средняя длительность прохождения не изменится. Это несколь- ко неожиданный, хотя и объяснимый результат. Например, пусть заданы шесть работ с длительностями 1, 2, 3, 4, 5, 6 (работы зану- мерованы в том же порядке), и пусть они выполняются двумя ма- шинами. Тогда средняя длительность прохождения будет оди- накова для следующих расписаний: Расписания А В С D Машина 1 1 3 5 2 3 5 1 4 5 1 3 6 Машина 2 2 4 6 1 4 6 2 3 6 2 4 5 Теперь заметим, что описанный алгоритм SPT не обязательно минимизирует максимальную длительность прохождения. Напри- мер, пусть имеется четыре работы и две выполняющие их машины. Длительности работ пусть будут 1, 2, 3, 10. Тогда существуют два SPT-расписания А и В с максимальными длительностями прохождения, соответственно 12 и И. Расписание С не относится к расписаниям рассматриваемого класса, однако максимальная длительность прохождения в нем равна 10. При этом расписание С приводит к наибольшей средней длительности прохождения. Расписания АВС Машина 1 1 3 2 3 4 2 3 Машина 2 2 4 1 4 4 Следовательно, в отличие от системы, из одной машины рас- писание, составленное в соответствии с минимальной длитель- ностью, не обязательно минимизирует среднее число работ в си- стеме. Соотношение между средней длительностью прохождения и средним числом работ в системе дано в разделе 2.4: JV(O, Fmax) = . г max
4.4] ПАРАЛЛЕЛЬНЫЕ МАШИНЫ 107 В рассматриваемом случае знаменатель стоящей справа дроби не является постоянной величиной и неизвестно, каков должен быть алгоритм,' минимизирующий эту дробь. Ситуации, когда устройства разной производительности вы- полняют одинаковые функции, достаточно часты. Например, токарный цех может быть оборудован группой станков, отличаю- щихся скоростью, мощностью и т. д. Любую деталь можно обра- батывать на любом станке, но разным станкам требуется для это- го разное время. Кроме того, периодически часть сташ<ов в цехе заменяется новыми, более скоростными станками. Для подобных систем, где каждая работа выполняется одной машиной и длительности выполнения меняются произвольно при переходе от машины к машине, неизвестно каких-либо общих ре- зультатов. Однако если можно упорядочить машины по скорости вы- полнения работы и этот порядок одинаков для всех работ, то сущест- вует алгоритм, минимизирующий среднюю длительность прохожде- ния. Для описания этого алгоритма введем для каждой машины j коэффициент h} такой, что длительность работы на машине / рав- на hjpt. Тогда длительность прохождения работы, выполняемой на машине / в к-ю очередь, будет равна 1с F,m = hj ЗРДЯ’ i=l а средняя длительность прохождения всех п работ — т п) У hi У + !) Р,т р = -2=1__5=1_____________. п Как и в предыдущем случае, числитель приведенного выражения является суммой п слагаемых, каждое из которых представляет собой произведение длительности работы на один из следующих коэффициентов: h-ji!, hx (пх — 1), ..., 2/ij, hx, Л2тг2, /г2 (п — 1), ..., 2Л2,... ..., hm hm (n.m 1), ..., 2/zm, h.ril* Поэтому расписание должно быть составлено последовательным выбором рцк] при соответствующих коэффициентах: работа с максимальной длительностью должна быть при минимальном ко- эффициенте, работа со второй по величине длительностью — при втором по малости коэффициенте и т. д. В случае одинаковых ма- шин все hj равны друг другу. Истман, Ивеи и Исэкс [46] рассмотрели более об- щую задачу такого типа. У них каждой работе был приписан весовой коэффициент и, и минимизировалась взвешенная средняя
108 ДРУГИЕ РЕЗУЛЬТАТЫ ДЛЯ РАБОТ С ОДНОЙ ОПЕРАЦИЕЙ [ГЛ. 4 длительность прохождения F = п У u.F. Л г г г=1 П В случае одной машины такая задача рассматривалась в разде- ле 3.7, где было показано, что оптимальное упорядочение опреде- ляется соотношениями Ли “[11 “и Л"] . В общем случае для т одинаковых машин, оптимальный алгоритм неизвестен. Однако Истман, Ивен и Исэкс установили нижнюю границу для взвешенной средней длительности прохождения: т-4- п = ... Fu (т) —, , ,х (1), “ ' ' т (п + 1) “ ' ' где Fа (Ji) — есть взвешенная средняя длительность прохождения для системы из к одинаковых машин. Они показали, что эту оцен- ку нельзя улучшить и привели ряд примеров достижения нижней границы. Заметим, что в частном случае, когда все щ равны (т. е. когда известна не только граница, но и само решение), полу- чаемое значение для F, вообще говоря, больше, чем эта нижняя граница.
ГЛАВА 5 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА Прежде, чем перейти к общему случаю, рассмотрим системы с естественным упорядочением машин. Довольно часто работа состоит из последовательности опера- ций, каждая из которых выполняется соответствующей машиной. В этих случаях говорят, что совокупность машин является систе- мой конвейерного типа, если машины занумерованы так, что для каждой рассматриваемой работы операция К выполняется маши- ной с большим номером, чем операция J при J К. Примером такой системы может служить сборочная линия. Вообще, в качестве конвейерной системы может рассматриваться любая совокупность машин, которые выполняют все работы в од- ном и том яге порядке. Для такой системы вовсе не обязательно, чтобы каждая работа состояла из операций, выполняемых на каждой машине, или чтобы все работы начинались и заканчивались определенными машинами. Существенно лишь, что все перемеще- ния работ, связанные с окончанием ее на одной машине и нача- лом выполнения на другой, должны происходить неизменно в одном направлении. Можно ожидать, что подобные системы обладают специальны- ми свойствами, которые существенно влияют на расписание. Во- обще говоря, для конвейерных систем получено много результа- тов, и расписания для них составляются гораздо легче, чем для систем произвольной структуры. Однако, как станет ясно в кон- це главы, простота таких систем относительна и для них сущест- вует еще много нерешенных задач. 5.1. Перестановочные расписания Определенная простота системы с одной машиной (гл. 3) была обусловлена тем, что для нее рассматривались только переста- новочные расписания. Такие расписания полностью определены, если задана подстановка индексов работ.
110 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА [ГЛ. 5 В общем случае составление расписания наталкивается на зна- чительные трудности, вызванные тем, что приходится рассматри- вать более широкие классы расписаний, чем перестановочные (гл. 6). Этим объясняется и незначительное количество резуль- татов, полученных в общем случае. Конвейерная система занимает промежуточное положение, поскольку во многих случаях для нее достаточно рассмотреть перестановочные расписания, а в более общем случае существует инвариантность очередности по отно- шению к первой и последней машинам. Этот факт устанавливается в теоремах 5.1 и 5.2. Теорема 5.1. Если составляется расписание для системы п \т\F и все работы доступны одновременно, то оптимальное, с точки зрения минимума регулярного критерия, расписание при- надлежит классу расписаний, в которых одинаков порядок выпол- нения работ на первых двух машинах. Доказательство. Если в расписании порядок выпол- нения работ на первых двух машинах различен, то найдется такая пара работ I и J, что на первой машпне I непосредственно пред- шествует J, а на второй I следует за J (причем между I и J воз- можны промежуточные работы). Машина 1 1 ы Машина 2 ... и...|, |... Очевидно, что порядок выполнения этих двух работ первой маши- ной можно изменить на обратный, не вызывая дополнительного временного сдвига в начале выполнения любой работы второй ма- шиной и, следовательно, всех последующих. Такая перестановка не приводит к возрастанию времени окончания любой работы и не ухудшает любой регулярный критерий. Может случиться, что в результате такой перестановки начала выполнения некоторых работ второй машиной сместятся влево на временной оси и, сле- довательно, критерий улучшится. Однако отсутствие ухудшения критерия уже достаточно для доказательства теоремы. Результат, содержащийся в теореме, не исключает возможно- сти существования удовлетворительных расписаний с различным порядком выполнения работ на первых двух машинах. Он просто означает, что достаточно рассматривать расписания с одинаковым порядком выполнения работ на первых двух машинах, так как для всякого другого расписания в рассматриваемом классе существу- ет эквивалентное ему и возможно лучшее. Для конкретных критериев можно получить более строгий ре- зультат. Теорема 5.2. Если составляется расписание для системы п | ш | F | Fтах и все работы доступны одновременно, то
ПЕРЕСТАНОВОЧНЫЕ РАСПИСАНИЯ 111 оптимум ищется '•реди расписаний, в которых сохраняется порядок выполнения работ на двух первых (1 и 2) и двух последних (т — 1 и т) машинах. Доказательство. Первая часть теоремы, относящаяся к одинаковому порядку выполнения работ первыми машинами, является просто следствием теоремы 5.1, так как максимальная длительность прохождения является регулярным критерием. Теперь предположим, что порядок выполнения работ разли- чен для последних двух машин. Тогда найдется такая пара ра- бот I и J, что для машины т I непосредственно следует за J, а для (т — 1) — работа I предшествует J (причем между I и J воз- можны другие работы). Машина т — 1 1 I I- ..ы ... Машина т ... 1 ,| ,|... Очевидно, что порядок выполнения работ J и I машиной т мож- но изменить на обратный, не увеличивая максимальной длитель- ности прохождения этих работ и не изменяя длительности про- хождения других. Кроме того, весьма вероятно, что изменение порядка выполнения работ J и I машиной т может привести к не- которому уменьшению максимальной длительности прохождения, что и доказывает теорему. Следующий простой пример показывает, что теорему 5.2 нель- зя обобщить на случай произвольного регулярного критерия. Предположим, что составляется расписание для двух работ, вы- полняемых тремя машинами, причем составленное расписание должно минимизировать среднюю длительность прохождения. Длительности Машины 1 2 3 Работа 1 4 1 1 Работа 2 1 4 4 Существуют два расписания с одинаковым порядком работ на машинах 2 и 3 и одинаковыми средними длительностями прохож- дения, равными 9,5. Машина 1 I j Машина ?. шш. I t J Машина 3 7
112 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА [ГЛ. 5 9 19 Наряду с этим существует расписание с различным порядком выполнения работ на машинах 2 и 3 и средней длительностью про- хождения, равной 9. Таким образом, получаем, что для произвольного регулярного критерия (папример, средняя длительность прохождения) конвей- ерная система из двух машпн является единственным случаем, ког- да достаточно рассматривать перестановочные расписания. Для конвейерной системы из трех машин достаточно рассматривать перестановочные расписания, если за критерий принята макси- мальная длительность прохождения. Однако для конвейерной системы из четырех машин уже должны быть рассмотрены более общие типы расписаний, даже при этом критерии. Например, пусть заданы две работы, выполняемые на четырех машинах. Длитель- ности их выполнения на каждой из машин таковы: Длительности Машины 1 2 з 4 Работа 1 4 1 1 4 Работа 2 1 4 4 1 Существуют только два расписания с одинаковым порядком вы- полнения работ на каждой машине. Машина 1 Машина 2 Машина 5 Машина 9 1 J I J шшш / / J Машина 1 J / Машина 2 J Машина 3 Машина 4 J 'ШШ1 I 19
5.2] МИНИМИЗАЦИЯ Fraax В КОНВЕЙЕРНОЙ СИСТЕМЕ 113 Максимальная длительность прохождения в этих случаях рав- на 14. Теперь рассмотрим расписание с одинаковым порядком выполнения работ на каждой паре машин 1, 2 и 3, 4, причем поря- док выполнения работ на машинах 3 и 4 является обратным по отношению к порядку на машинах 1 и 2. Максимальная длительность прохождения в эт м случае рав- на 12, т. е. меньше, чем в расписаниях с одинаковым порядком выполнения работ для всех машин. 5.2. Минимизация максимальной длительности прохождения в конвейерной системе из двух машин (п | 21F | Fmax) По-видимому, большинство ссылок в публикациях по теории расписаний относится к работе Джонсона [103], посвященной исследованию конвейерной системы из двух машин. Для этой системы Джонсон предложил упорядочение, минимизирующее максимальную длительность прохождения. Его результат, инте- ресный сам по себе, оказал огромное влияние на все последующие работы. Возможно, это обусловлено тем, что все идеи минимиза- ции максимальной длительности прохождения в произвольной си- стеме тем или иным образом опираются на результаты Джонсона. Фактически процедура упорядочения, минимизирующая макси- мальную длительность прохождения в конвейерной системе из двух машин, интуитивно очевидна. Заслуга Джонсона состоит не столько в том, что он предложил почти очевидный алгоритм упорядочения, а в том, что он доказал его оптимальность. Для изложения алгоритма Джонсона и доказательства его оп- тимальности удобно временно принять его обозначения. Поэтому пусть А/ — Рп — длительность первой операции (включая настрой- ку, если она необходима) i-й работы; Вг — Pi2 — длительность второй операции (включая настрой- ку, если она необходима) i-й работы; Ft — длительность прохождения i-й работы. Каждая работа характеризуется парой (Лг, где At — часть работы, выполня- емая первой машиной, a Bt — второй. Такое разбиение существу- ет для всех работ, хотя, возможно, что некоторые А, и Bt могут быть равными 0 (ряд работ может состоять только из одной
114 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА [ГЛ. 5 операции). Обычные ограничения, упрощающие модель, состоят в следующем: 1. Одна машина одновременно не может выполнять больше одной работы. 2. Одна работа одновременно не может выполняться несколь- кими машинами, причем At для любого I должна быть завершена раньше, чем начнется В^. Задача состоит в следующем. Заданы 2п величин Аъ ..., Ап, Bv ..., Вп; нужно упорядочить работы так, чтобы при сделанных допущениях минимизировать максимальную из длительностей прохождения Ft. Из теорем 5.1 и 5.2 следует, что нужно рассматривать только расписания с одинаковым порядком выполнения работ каждой машиной. Очевидно также, что подобно задачам гл. 3 здесь не нуж- но рассматривать ни прерываний, ни искусственных простоев. Поэтому решение представляет собой просто оптимальную пере- становку работ. Изучение очевидной нижней грани максимальной длительно- сти прохождения подтверждает джонсоновский алгоритм. В по- следующем изложении опять используются обозначения гл. 3, где число в квадратных скобках означает очередность выполнения работ (например, Л[2] означает время, затрачиваемое первой ма- шиной на вторую работу в очереди). Расписание может быть пред- ставлено в следующем виде: Так как В[п] не перекрывается с A[nj, то последняя работа не мо- жет быть окончена до завершения всех работ машиной 1 и оконча- ния 1?[п] машиной 2, т. е. п С другой стороны, последняя работа не может окончиться до за- вершения всех работ машиной 2. Учитывая, что не перекры- вается с Лщ, получаем неравенство п Pmax> А1] + 1=1 п п Теперь отметим, что 2 As и не зависят от последователь- S=1 S=1 ности выполнения работ и определяются исходными данными.
5.2] МИНИМИЗАЦИЯ Fmax В КОНВЕЙЕРНОЙ СИСТЕМЕ 115 Поэтому уменьшить приведенные нижние границы можно лишь за счет и /1ц] с помощью соответствующего упорядочения. 'Для этого нужно выбрать наименьшее А из {Лг, i = 1, п} и наи- меньшее В из {В}, i = 1, п}. Если А < В, что соответствую- щая Л-работа должна выполняться первой и А[^ будет минималь- но. Если В < /1, то соответствующая В-работа должна выполняться последней и В{п\ будет минимально * *). После того как размеще- на одна работа, можно применить те же самые рассуждения к оставшимся (п — 1) работам. Следует заметить, что приведенные нижние границы не всегда достижимы, и поэтому нельзя быть уверенным, что описанное упо- рядочение приведет к хорошим результатам. Не ясно также, что произойдет на последнем шаге рекуррентной процедуры, однако в инженерной практике этот метод получил широкое распространение. В основе джонсоновского алгоритма лежат неравенства, ана- логичные приведенным, однако Джонсон доказывает оптималь- ность своего алгоритма. Очевидно, что можно ограничиться рассмотрением расписаний, в которых работы на первой машине «упакованы» плотно, начиная с первой из них, т. е. первая машина работает без простоев до за- вершения ^4[п]. Понятно, что к подобному расписанию может быть приведено любое произвольное расписание путем соответствую- щих сдвигов влево всех назначений в нем, пока не будет достигну- та нужная плотность. Очевидно, что эта процедура не приведет к возрастанию максимальной длительности прохождения. Пусть Х[г] — время простоя второй машины, непосредственно предшествующее 5[jj. Типичное расписание имеет следующий вид: Машина 1 А СП ^С21 &С5] ^«7 АС53 'МШ Машина 2 '/Ж""/, р “/77 /уд &С2] B[5J Значения Х[/] могут быть выражены через Л , и Bs следующим об- разом: = Aw Х[2] = шах [Л[Г] — Хщ, 0], Х[3] = таХ И[1] + ^[2] + ^[3] ~ -^[1] ~~ ^[2] ~ ^[1] — -^[2]’ 0]- В общем случае можно написать j j~i j-i Хр] = шах (2 А’] — 2 Вт — 2 X[i]> в) • i=l i=l i=l *) Если А — = ... = Ai , 1 л, и™ В — В, = Bj =... =В; , 18 *1 2 т 1 т п, то следует выбирать работу с наименьшим номером. Если А — В, то также следует, договориться о выборе работы.— Прим, перев.
116 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА [ГЛ. 5 Отсюда получаем частные суммы = 4tl], Х[ц + -^[2] = max M[U + Аг1 — Аф АиЬ All + -^[2] + Х13] = = шах [АС1] + Л[2] + Л[3] — 2?[i] — В[2]> -^[1]+ Х[2]] = 3 2 2 = max [ 2 Ан — 2 Аф 3 Ап — Ail’ AuJ- г=1 i -1 i=l Вообще, j J j-i j-i 3Х[Я = max [2 -4W— ЗАф 3 Ап — = 1 Ы 1=1 г=1 J—2 2 — 3 Аф • • •’ 3 Ан ~ Ан] • 1=1 1=1 Если Yj определяется как j j-i Ъ=3 Ан-3 Аф г=1 1=1 ТО J 2 Xw-maxtYi, У2, . .Yj). i=l Теперь, если Fmax (8) обозначает максимальную длительность прохождения для конкретного расписания 8, то п п п рmax ($) — 2 -®[П + 2 ^[г] “ 2 -®[г] + П1аХ (Уi, У2, . . .? Уп). 1=1 2=1 1=1 П Так как 2 Ап не зависит от упорядочения, то максимум длитель- г=1 пости прохождения зависит только от суммы интервалов простоя второй машины, что эквивалентно, в свою очередь, максимуму {Yi, i — 1, ..., п}. Следовательно, задача отыскания расписания 8* такого, что Emax (S*) A Aiax ($)> Лля любого 8 свелась к задаче упорядочения таким образом, чтобы минимизировался мак- симум п величин Y{. Теорема 5.3 (Джонсон [103]). В системе п ] 2 | F | Fmax при одновременной доступности всех работ упорядочение, миними- зирующее максимальную длительность прохождения, таково, что
5.2] МИНИМИЗАЦИЯ Ршах В КОНВЕЙЕРНОЙ СИСТЕМЕ 117 работа j предшествует работе J + 1, если min (Aj, BJ+1) < min (А} hl, Bj). Алгоритм, описанный раньте и широко применявшийся на практике без доказательства его оптимальности, следует непос- редственно из приведенного неравенства. Более того, упорядочение работ в соответствии с теоремой 5.3, приводит к единственному оптимальному расписанию, если для каждой пары работ имеет место строгое неравенство. Если же существуют такие пары работ, для которых это неравенство превращается в равенство, то суще- ствует множество оптимальных расписаний. Доказательство теоремы состоит из двух частей. В первой час- ти показывается, что упорядочение в соответствии с приведенным неравенством минимизирует максимум величин У*. Во второй час- ти отмечена транзитивность этого неравенства, в силу чего распи- сание фактически устанавливается попарным упорядочением. Доказательство. 1. Минимизация максимума Уг. Предположим, что мы заполняем в формируемой очередности мес- та J и J + 1, причем на место J помещается или работа j или у + 1, а на место J + 1 другая. В соответствии с неравенством, содержащимся в утверждении теоремы, работа j помещается на место J, если тах(— Вр — Ап1)<тах(— В]+1, — ЛД. (1) Теперь рассмотрим величину ЛИ j-i 2 Au — 2 вт (2) 1=1 г=1 и заметим, что она не зависит от того, какая из двух работ за- нимает J-e место. Прибавим (2) к левой части (1): J -(-1 J— 1 если — В, > — АИ1, то 2 А[П — 2 В[А ~Bj=" Y J+l, 1=1 i=l J+l J—I если — B3<2—AJ+1, to 2 A[ij — Apl— 2 B[H Yj при разме- 1=1 i=i щении работы j на месте J. Прибавив (2) к правой части (1), получим: J+i J—1 если — В]+1 Ар то 2 А[Ц — 2 — Вт = Yj+i, i=l i=l J+l J-l если — Вj <Z — Лл1, то 2 2^1 = ^ при раз- i=i i=i мещении работы / + 1 на месте J.
118 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА [ГЛ. 5 Теперь, если размещение работ выполнено в соответствии с неравенством, содержащимся в утверждении теоремы, то max (Yj, yJ+1)< max (Yj, Yj+1), т. e. при размещении работ j и j + 1 на места J и J 4~ 1 алгоритм устанавливает оптимальную очередность этих работ. Поскольку ни одно из других значений {УД не изменяется в результате раз- мещения работ j и / + 1 на места J и J + 1, то максимум {УД или не изменится, или уменьшится в результате указанной рас- становки. 2. Транзитивность соотношений. Нам нужно показать, что для работы i, j и к, если min (А{, Bj) min (Aj, В{) и min (А3, Вк) Д min (Ак, Bj), то min (А;, Вк) <1 min (As, 7?,). Если работы i, j, к таковы, что неравенства для I, j и у, к превра- щаются в равенства, то утверждение тривиально. Поэтому рас- смотрим возможные случаи, когда это не так. Случай 1. Aj^Bj, Aj, Вг и Aj^Bk, Ак, Bj. Тогда А} Aj Ак и Д так что Д min (Ак, В^. Случай 2. Bi^Ai, Aj, Вг и Bk^Aj, Ак, Bj. Тогда Bic^Bj^Bj и Вк^Ак, так что Вк Д min (Ак, Bj). Случай 3. At^Bj, Aj, Вг и Ак, Bj. Тогда А, .В, и Вк Ак, так что min (Аг, Вк) min (а1к, В^. С л у ч а й 4. Bj Ait Aj, Bi и Aj Bk, Ah, Bj. Тогда Aj = Bj и между i, j, к существуют отношения равенства. Существует интересная геометрическая интерпретация полу- ченного результата, наглядно демонстрирующая преимущества джонсоновского алгоритма. Рассмотрим прямоугольную систему координат, на оси абсцисс которой представлено функционирова- ние первой машины, а на оси ординат — второй. Тогда расписание может быть представлено ступенчатой кривой В, состоящей из п ступеней, причем некоторые ступени могут иметь нулевую длину или высоту. Длины ступеней соответствуют величинам Alt ..., Ап, высоты — величинам Blt ..., Вп. Горизонтальные и верти- кальные отрезки чередуются в порядке Atll, /Дц, А[2], В^,... ..., А[П], В[пЬ как это показано на рис. 5.1. Подобных кривых может быть построено п\, каждая с началом в точке (0, 0) и кон- п. п цом в ^2 А{,2 ^i) • Максимальная длительность прохожде- ' i=l г=1 ния конкретного расписания S может быть получена из графика построением кривой V:
5.2] МИНИМИЗАЦИЯ Fmax В КОНВЕЙЕРНОЙ СИСТЕМЕ 119 1) начинающейся из точки (0, 0) и оканчивающейся в точке (2 Л>2 ^); ' г=1 i=l 2) проходящей везде по или ниже линии 5; 3) состоящей из отрезков горизонтальных, вертикальных или проходящих под углом 45° прямых. Такая кривая изображена на рис. 5.1. Горизонтальные участ- ки этой кривой соответствуют интервалам времени, когда работа- ет первая машина, а вторая простаивает; вертикальные — ког- да работает вторая машина, а первая простаивает, и, наконец, Рис. 5.1. участки кривой, проходящие под углом в 45°,— когда обе машины работают. Максимальная длительность прохождения для распи- п сания $ равна 2 А плюс сумма вертикальных участков кривой V г 1 п (или 2 Bt плюс сумма горизонтальных участков К). Очевидно, i=l что для минимизации максимальной длительности прохождения упорядочение должно быть таким, чтобы кривая S имела вид, при котором V состоит из максимального числа участков, проходящих под углом в 45°. Такое построение возможно, если кривая S вы- пукла вверх и проходит выше кривой V на максимальном число участков. Ясно, что алгоритм Джонсона гарантирует эту выпук- лость вверх, поскольку в соответствии с ним построение ведется так, что кривая проходит максимально вверх от точки (0, 0), а от п п ТОЧКИ (2 А,2 в.) максимально влево. t=l i=l
120 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА. [ГЛ. 5 Следующий простой пример поясняет суть джонсоновского ал- горитма. Обозначения работ Первая опе- рация Вторая операция Вг а b с d е 6 0 5 8 2 3 2 4 6 1 Порядок I Место в опробования очередности 3 4 1 1 4 3 5 2 2 5 Схема Гантта для упорядочения в соответствии с алгоритмом Джонсона выглядит следующим образом: Максимум длительности прохождения имеет оптимум, равный 23, который и достигается при алгоритме Джонсона. Большинст- во других упорядочений (основанных на других принципах) при- водят к большей, чем оптимальное, величине максимума длитель- ности прохождения. Например, LPT-упорядочение, проведенное по первой операции, приводит к максимуму длительности про- хождения, равному 27. Исходное упорядочение работ приводит к максимальной дли- тельности прохождения, равной 26. Машина 1 а С d е 'ЯшШ. Машина 2 а ь < Ев d | е 5 10 15 20 25 30
5 31 f МИНИМИЗАЦИЯ F В КОНВЕЙЕРНОЙ СИСТЕМЕ 121 5.3. Минимизация средней длительности прохождения в конвейерной системе, состоящей из двух машин (п 12 | F | F) В конвейерной системе, состоящей из двух машин, минимиза- ция средней длительности прохождения является очень сложной задачей. Для нее отсутствует конструктивный алгоритм, подоб- ный джонсоновскому, хотя теорема 5.1 справедлива и достаточно рассматривать расписания с одинаковой очередностью работ на каждой машине. Если же упорядочить работы в соответствии с джонсоновским алгоритмом, то очередность будет не только не оптимальной, но даже не очень хорошей. Это отчетливо видно на примерах предыдущего раздела, где средняя длительность про- хождения при джонсоновской очередности равна 15, в то время как для упорядочения SPT она равна 11,8. По-видимому, прежде, чем переходить к общему случаю конвейерной системы, выполняю- щей п работ, сначала полезно рассмотреть частный случай двух работ. В этом частном случае существуют только два расписания S и Л', приведенных ниже.: РаСписание Машина 1 Машина 2 В/ Расписание Машина 1 ^2 Машина 2 в4л Bi В расписании S сумма длительностей прохождения двух работ равна F — 2Аj + Вг + В2 + max (/-!2, 5J, а в расписании S' она равна F' = 242 + Bi 4- В2 + шах (Я15 В2). Ясно, что первая работа должна предшествовать второй (т. е. должно быть выбрано расписание S), если F < F', т. е. 24а — 2Ai 4- max (41, 52) — шах (42, Ь\) > 0. (1) (Заметим, что два последних члена в левой части неравенства выражают полную противоположность тому, что утверждается джонсоновским алгоритмом: выбор максимума As нВ,. Если этим максимумом является А, то соответствующая работа выполняется первой, если В, то последней.) Конечно, любую пару работ можно упорядочить непосредственно на основании (1), однако интересно найти более простые условия для длительностей операций, из кото- рых будет следовать оптимальное упорядочение. Для этого можно использовать результаты для одной машины: упорядочение в соот- ветствии с минимальной длительностью операций минимизи- рует среднюю длительность прохождения (раздел 3.2).
122 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА [ГЛ. 5 Существует несколько возможностей обобщения этого резуль- тата на системы из двух машин. Прежде всего заметим, что не имеет смысла рассматривать только первые операции работ для формирования лучшей очередности, так как даже при известном соотношении А2 Аг утверждение (1) может выполняться или не выполняться в зависимости от соответствующих значений Бг и В2. По тем же самым причинам недостаточна информация о том, что В2 Вг. Поэтому формирование очередности в соответствии с минимальной длительностью только одной операции (первой или второй) неприемлемо. Конечно, можно рассматривать общую длительность работы (равную сумме длительностей всех операций) и для каждой пары работ выполнять первой ту, для которой (А2 + В2) > (4, + В,). Однако следующий пример показывает, что из этого условия еще не следует выполнение (1). Пусть Вг = 0, А2 = В2, Av = А2 + В2 — е, где е 0. В том случае, когда каждая операция первой работы короче соот- ветствующей операции второй, приведенное условие достаточно для выполнения (1) и первая работа должна предшествовать вто- рой. Это действительно так, поскольку утверждение, что 4 2 и В2 2?х, означает, что 2А2 — 2Аг + шах В2) — шах (А2, В2) 0. Справедливость последнего соотношения вытекает из рассмотре- ния следующих четырех случаев: Случай 1. Аг _> В2 и А2 5Х. 2А2 — 2Аг + Al — А2 = Ai > 0. С л у ч а й 2. А± _> В2 и В± _> А2. Так как А2 _> Alt то из приведенных неравенств следует, что 5Х В2. Это противоречит исходным предположениям, т. е. этот случай невозможен. С л у ч а й 3. В2 Аг и А2 _> В±. 2А2 - 24, + В2 - А2 = (А2 - AJ + (В2 - 4Х) > 0. С л у ч а й 4. > А2. 2А2 = 24х + В2 — 5Х > 0. Очевидно, что приведенное условие достаточно, но не необхо- димо. Существуют случаи, когда не все операции работы 1 короче соответствующих операций работы 2, тем не менее работа 1 должна предшествовать работе 2. Например, Аг = 1, 5Х — 3, А2 = 4, В2 = 2. Общее выражение для средней длительности прохождения п работ может быть получено повторением рассуждений Джонсона:
5.3] МИНИМИЗАЦИЯ F В КОНВЕЙЕРНОЙ СИСТЕМЕ 123 1. Достаточно рассматривать расписания с одинаковым по- рядком выполнения работ каждой машиной. 2. Достаточно рассматривать только те расписания, в которых работы на первой машине следуют непосредственно друг за другом. 3. Пусть Хр] будет время простоя, предшествующее опера- ции Вр], на второй машине. 4. Пусть j J—1 Yj = 2 Ал — 2 Ал- i—1 i=l Тогда длительности прохождения отдельных работ имеют сле- дующий вид: F[И = Аи + Аи ~ Аи + Ат F [2] = ^[1] + А1] 'Ь -^[2] + Аз]’ J J J F[J} = 2 Ал + 2 Ал = S Ал + тах(У1? У2, ..., УД. 1=1 1=1 i=l Средняя длительность прохождения определяется как nJ п = 2Ал + S тах(У3,Уа,...,Уд]. 1 i=l J1 Используя это выражение, можно показать, что для соседних в расписании работ I и J работа I должна предшествовать работе J, если A.J А/ и В3> Bf. Однако эти неравенства не позволяют установить очередность, поскольку они определяют отношение порядка только между двумя работами и не позволяют провести полное упорядочение. Игноллом и Шрейджем [87] для решения задачи был применен метод ветвей и границ (см., например, п. 4.1.1). Они заме- тили, что рассматриваемая задача может быть представлена в ви- де графа, являющегося деревом. Каждая вершина этого графа отображает упорядочение г из п работ, при оставшихся (п — г) работах, подлежащих упорядочению. Нижняя граница средней длительности прохождения для расписания, получаемого из данной вершины, может быть грубо оценена как Fr + max (F“_r, Fn-r), где FT — сумма длительностей прохождения уже упорядоченных
124 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА [ГЛ. 5 г работ для заданной вершины; Fn-r — сумма длительностей про- хождения оставшихся (п — г) работ, вычисленных в предположе- нии, что каждое из превосходит соответствующее Bt (т. е. Л; Bi для всех i из п — г) и что работы упорядочены в соответст- вии с возрастанием А; Fn-r — сумма длительностей прохождения оставшихся п — г работ, вычисленных в предположении, что каж- дое из Bt превосходит соответствующее At и что работы упорядо- чены в соответствии с возрастанием В. Некоторые из результатов реализации этого алгоритма для множества работ с длительностями выполнения, представляющи- ми собой выборку из равномерного распределения, приведены в табл. 5.1. Таблица 5.1 Пример численного расчета методом ветвей и границ для системы п |2 |F I F К-во вариантов Число упорядочи- ваемых работ Общее число вершин графа задачи минимально возможное ^максимально возможное Число вершин, использованных для решения минималь- ное ♦) медиана макси- мальное 50 5 15 206 15 (26) 15 38 50 6 21 1 237 21 (16) 29 108 50 7 28 8 660 28(5) 61 190 50 8 36 69 281 36(3) 123 777 50 9 45 623 530 45(5) 321 1258 Максимальное число вершин шага алгоритма Число Число вершин, использованных К-во упорядочи- тля решения вариантов ваемых минимально максимально работ возможное возможное минималь- макси- ное медиана мальное 50 5 и 120 11 и 21 50 6 16 720 16 20 56 50 7 22 5 040 22 43 98 50 8 29 40 320 29 80 293 50 9 37 362 880 37 161 579 *) Цифры в круглых скобках указывают количество случаев, когда решение полу- чено с этим числом вершин.
5.4] КОНВЕЙЕРНАЯ СИСТЕМА ИЗ ТРЕХ МАШИН 125 В каждом случае было получено оптимальное решение и в таб- лице приведено число фигурировавших при этом вершин. В об- щем, время вычисления пропорционально числу использованных для решения вершин, а требуемый объем памяти — их макси- мальному числу, запоминаемому в каждый момент времени. Про- грамма была написана на языке Cornell List Processor и осуществ- лена на ЭЦВМ CDC 1604 [35]. Время реализации программы колеб- лется от 0,75 сек (для пяти работ) до четырех минут (в случае девяти работ). Игнолл и Шрейдж отмечают, что трудности реше- ния, по существу, удваиваются каждый раз, когда п возрастает на 1. Это явление они объясняют тем, что оптимальное упорядо- чение для (и — 1) работ не всегда может служить исходным для оптимального упорядочения п работ. Например, пусть А = 2, А2 = 10, А3 _= 1, А = И, В2 = 3, В3 = 8. В случае двух работ (если этими работами являются работы 1 и 2) оптимальная очередность будет 1—2. Если же работ три, то оптимальная очередность имеет вид 3—2—1, т. е. порядок выпол- нения работ 1 и 2, обратный тому, который был для двух работ. В худшем случае описанным методом потребуется провести 2П вычислений для п работ. Однако это все равно значительно луч- ше, чем при полном переборе. 5.4. Конвейерная система из трех машин (п 13 | F | Ртах) При составлении расписания, минимизирующего максималь- ную длительность прохождения для конвейерной системы из трех машин, достаточно рассматривать только перестановочные рас- писания (теорема 5.2). Поэтому кажется странным, что для этой системы в общем случае нет конструктивного алгоритма, похоже- го на рассмотренный в предыдущем разделе. Однако в ряде част- ных случаев такие решения имеются. Так, Джонсон [103] рассмотрел систему из трех машин, когда min Af А шах или min Dt max Вг, где D{ — время выполнения i-й работы на третьей машине. Согласно этим предположениям все операции на второй машине по длительности меньше любой операции на первой или на третьей. Поэтому очередность, минимизирующая максимальную длительность прохождения, формируется таким образом, чтобы работа I размещалась впереди работы J, если min (A A Bj, Dj A Bj) < min (Aj A Bj, Di A A)-
126 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА [ГЛ. 5 Таким образом, сам по себе алгоритм остается тем же самым, что и для системы из двух машин с естественной разницей, что теперь Ai заменяется на Аг + Вь а В.-, на ГиглиоиВагнер [66] применили этот алгоритм к про- извольной системе из трех машин, когда длительности операций представляли собой случайные величины, а условия min > max Bi или min max В^ не соблюдались. Ими было рас- смотрено 20 вариантов с шестью работами. В 9 из 20 случаев ре- шение было получено сразу, в 8 — после простой перестановки двух соседних в установленной очередности работ. Максимальная длительность прохождения, усредненная по всем 20 вариантам, составляла 131,7. Эта же длительность, усредненная по всем оп- тимальным вариантам, — 127,9. Из приведенных данных следует, что применение джонсоновского алгоритма оказывается полезным даже в тех случаях, когда не выполнены условия, гарантирующие его оптимальность. В этом случае получаемое решение служит прекрасной исходной точкой для дальнейших поисков. Игнолли Шрейдж [87] решали ту же задачу методом ветвей и границ. Их результат для 150 вариантов представлен в табл. 5.2. Время вычислений колеблется от 1 сек до 2,5 минут на машине CDC 1604. Они заметили, что составление расписания, минимизирующего максимальную длительность прохождения в системе из трех машин, менее трудоемко, чем составление распи- сания, минимизирующего среднюю длительность прохождения в системе из двух машин (в обоих случаях решение проводилось ме- тодом ветвей и границ). Таблица 5.2 Пример численного расчета методом ветвей и границ для системы «Р^Итах К-во вариантов Число упорядочи- ваемых работ Общее число вершин графа задачи минимально возможное максимально возможное Число вершин использованных для решения минималь- ное *) среднее **) макси- мальное 50 8 36 69 281 36 (33) 284 1455 50 9 45 623 530 45 (39) 661 1687 50 10 55 6 235 301 55 (38) 711 2570 *) В скобках приводится число случаев, когда минимум имел место. *•) Среднее без учета случаев, когда имел место минимум; значение 284 есть среднее для 17 вариантов.
5.4] КОНВЕЙЕРНАЯ СИСТЕМА ИЗ ТРЕХ МАШИН 127 Исходные данные Игнолла и Шрейджа для самого трудоемко- го из рассмотренных ими вариантов таковы: г 123456789 10 Аг 1578379 863 Bi 29692 10 7 911 Di 9789 3 47 431 Оптимальная очередность работ совпадает с нумерацией работ, приведенной в таблице. Максимальная длительность прохожде- ния равна 66. Читателю предлагается самому найти оптимальную очередность в этом случае, предварительно изменив индексацию в таблице. Одна частная задача для системы из трех машин была рассмот- рена Джексоном [91]. В его предположениях первой маши- ной выполняются все первые операции работ, третьей — третья, а для каждой второй операции существует отдельная машина. Та- ким образом, имеются п + 2 машины, п из которых соответству- ют одной второй машине (могущей одновременно выполнять п работ) в конвейерной системе из трех машин. Джексон показал, что упорядочение, минимизирующее максимальную длительность прохождения, формируется таким образом, что работа Z пред- шествует J, если min (Aj 4- Вг, Bj + D3) < min (Aj + Bj, Bj Ц- Dj), где Aj, Bi, Dt имеют прежний смысл. Приведенное соотношение является не чем иным, как джонсо- новским условием оптимальности. Поэтому рассмотренный Джек- соном случай служит еще одним примером системы, для которой джонсоновский алгоритм формирует оптимальное упорядочение. В рассмотренном случае В, можно интерпретировать как про- извольную задержку, обязательную между первой и второй операциями в конвейерной системе из двух машин, связанную, например, с настройками, охлаждением, сушкой и т. д. Кроме то- го, Bj может принимать отрицательные значения, что соответству- ет той ситуации в системе из двух машин, когда интервалы выпол- нения операций одной и той же работы могут пересекаться. Ины- ми словами, это возможно, если часть работ выполняется так, что вторая операция начинается до полного завершения первой. В такой постановке задача была рассмотрена Миттеном [140] и Джонсоном [104]. Заметим, что способность второй машины выполнять одновременно несколько работ, приводит к тому, что оптимальное расписание не обязательно относится к классу рас- писаний с одинаковым порядком выполнения работ на первой и третьей машинах.
128 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА 1ГЛ. 5 Стории Вагнер [1891 и независимо Гиглио [66] использовали целочисленное программирование для форма- лизации и упорядочения в системе п | 3 \F | Fmax. Суть их работ состоит в следующем *). Пусть ( 1, если работа i выполняется в позиции у, | 0 — в других случаях; Z (у) = [zj, z2j, znj] — вектор-столбец; X* — время простоя машины к перед началом выполнения у'-й по очередности работы; У; — время простоя /-Й по очередности работы между ее окон- чанием на машине к и началом ее выполнения машиной (к 4- 1); А — вектор-строка длительностей работ 1, 2, п на первой машине (в целых числах); В — вектор-строка длительностей работ 1, 2, п на второй машине (в целых числах); D — вектор-строка длительностей работ 1, 2, п на третьей машине (в целых числах). Заметим, что существует п2 различных переменных zi}, п из ко- торых равны 1, а остальные 0. Например, если имеются четыре работы, то перестановке 3—1—4—2 будут соответствовать z31 = = z12 = z43 = z24 = 1, а остальные zi3- = 0. Накладываемые ограничения имеют вид = 1, i i XU + BZ (j -Ь1) + YU - Yj - DZ (i) - XU = 0, у = 1, 2, ..., n— 1, AZ (j + 1) 4- - У) - BZ (y) - X'U = 0, j = 1, 2, . . ., n - 1. Здесь под BZ (j 4- 1) и т. п. понимается скалярное произведе- ние вектора В на вектор Z (j 4- !)• Минимизация максимальной длительности прохождения эквивалентна минимизации времени простоя работ на машине 3. Поэтому функция цели имеет вид п минимизировать 2 Xf. 3=1 Вагнер утверждает, что «известные работы по целочисленному программированию показывают, что сходимость решения в боль- шей степени зависит от начальной точки поиска ([66], стр. 310)». *) Более подробное описание целочисленного программирования при- менительно к теории расписаний дано в разделе 6.4.
5.41 КОНВЕЙЕРНАЯ СИСТЕМА ИЗ ТРЕХ МАШИН 129 Он рассмотрел шесть вариантов системы Gr I 3 | | при раз- личных начальных условиях и разных дополнительных ограниче- ниях, налагаемых на разыскиваемое решение. В приведенных им данных (табл. 5.3) содержатся случаи, когда число итераций *) для получения решения приближалось к 10 000, а решения по- лучить не удавалось. Таблица 5.3 Число итераций для получения решения для шести различных систем G j 3 | F | fmax методом целочисленного программирования Подварианты соответствующего варианта, разнящиеся начальными условиями и дополнительными ограничениями Варианты 1 2 3 4 5 6 А 745 42 1973 188 1 555 10 000 *) В 404 44 , 1647 218 10 000*) 9 568 С 1256 50 710 123 1025 2 467 D 85 50 710 63 858 2 811 Е 85 50 208 58 245 304 F 220 146 903 — 581 — *) Вычисления прекращены без получения решения. Результаты табл. 5.3 не оптимистичны. Во многих случаях чис- ло итераций имеет тот же порядок, что возможное число переста- новок (720), а одна итерация требует гораздо больше вычислений, чем получение новой перестановки. Однако, с другой стороны, они показывают, что эффективность метода в сильной степени зави- сит от исходных данных. Поэтому дальнейшие усилия должны быть сосредоточены на их разумном задании с соответствующими огра- ничениями. Если сравнивать метод целочисленного программиро- вания с методом ветвей и границ, то последний в настоящее вре- мя более предпочтителен. ДудекиТевтон [45] предложили свой алгоритм, мини- мизирующий максимальную длительность прохождения в системе из трех машин. Их алгоритм вполне применим к большим систе- мам, если ограничить рассмотрение перестановочными расписания- ми. Суть этого алгоритма состоит в последовательном упорядоче- нии работ. Сначала из совокупности п работ назначается первая, затем из оставшихся (п — 1) — вторая и т. д. Развивая обозначения раздела 5.2, обозначим Лр] — время простоя машины / непосредственно перед выполнением i-й по оче- j г редкости работы. Пусть, далее, 2 обозначает 2 т- е- сумму « К=1 *) При решении применялся алгоритм Гоморп. 5 Р. В. Конвей и др.
130 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА [гл. 5 всех простоев машины / к моменту выполнения г'-й по очередности з работы; 2 (Ш, 12], 1г]) — представляет собой сумму всех про- стоев машины j к моменту окончания i-й по очередности работы при заданном упорядочении работ. Теперь работа г назначается первой в формируемой очеред- ности, если для всех г и для j = 2, 3, т з з «) = 2(s’ г)> 2 2 где 2 (r> s) означает суммарный простой машины ; к моменту 2 окончания второй по очередности работы, если в первую очередь выполнялась работа г, а во вторую — s. В тех случаях, когда такая работа не одна, каждая из них по- очередно размещается на первом месте и для всех этих вариантов продолжается дальнейшее формирование расписания. Когда оп- ределена работа, выполняемая в первую очередь, вторая по очередности работа 8 находится из соотношения: для всех t ^=- s, t =^= г и для j = 2, 3, ..., т 2(r’ s> 0<2(г>*>8)- 3 3 Подобным образом поступают дальше до тех пор, пока не будет ус- тановлена вся последовательность выполнения работ. Описанный метод достаточно трудоемок, однако число вычисле- ний в нем гораздо меньше, чем полный перебор при большом чис- ле работ. Дудек и Тевтон сравнили описанный алгоритм с полным пере- бором в 168 задачах с т = 3, 5 и п — 3, 4, 5, 6, 7. В каждом слу- чае алгоритм позволял получить по крайней мере одно оптималь- ное расписание. На основании этого ими был сделан ошибочный вывод о том, что их алгоритм носит общий характер и обеспечива- ет получение оптимального решения в произвольном случае. С помощью следующего примера К а р у ш [105] наглядно показал их заблуждение: Длительности Работа I Работа J Работа К
5.5] УПОРЯДОЧЕНИЕ В БОЛЬШИХ СИСТЕМАХ 131 Согласно алгоритму Дудека и Тевтона работа I назначается первой, если 2 2 3 3 2(Г, J)-3<S(/,I) = 22, J) = 43< £(/,7) = 44, 2 2 2 2 2 2 3 3 S(J, К} = 3 < £(£, Л = 20, 2(1, К) = 37< 2(£, I) = 38. 2 2 2 2 Однако максимальные значения длительностей прохождения для всех шести расписаний будут Fmax (7, J, К) = 83, Fmax (7, К, J) = 85, Fmax (J, К, I) = 82, Ушах (7, I, К) = 96, Fmax (К, I, J) = 96, Утах (К, J, I) = 86. Отсюда ясно, что работа I не должна выполняться первой. Метод попарного упорядочения работ часто бывает полезным, однако он не гарантирует получения оптимального расписания. 5.5. Упорядочение в больших системах конвейерного типа В данном разделе мы рассмотрим довольно искусственный слу чай системы, состоящей из многих боты. Такая постановка интересна лядный графический метод реше- ния. Этот метод является част- ным случаем более общего алго- ритма, предложенного Эйкер- сом [3]. Предположим, что номера ма- шин 1, 2, ..., т соответствуют по- рядку выполнения на них работ, и пусть длительности работ будут Р11, Р12, • • •> Pim для работы 1, машин, выполняющих две ра- тем, что допускает весьма наг- Работа. 1 Pai, Р22, • • •, Ргт Для работы 2. рлс< 52. На рис. 5.2 эти длительности отложены на осях координат. Графически расписание может быть представлено ломаной линией, которая т т 1) проходит от точки (0, 0) до точки (3 Plj, ^Pij) ; Z) состоит из отрезков горизонтальных (при выполнении только первой работы), вертикальных (при выполнении только второй 5*
132 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА [ГЛ. 5 работы) и проходящих под углом 45'’ (при одновременном выпол- нении обеих работ) прямых; 3) лежит целиком за пределами заштрихованных на рисунке областей, которые соответствуют одновременному выполнению работы обеими машинами. Ломаная S на рис. 5.2 является примером «линии расписа- ния». Ясно, что существует 2т различных расписаний п столько же соответствующих им кривых на графике, поскольку на каждой из машин работы могут выполняться в любом порядке. Эти ломаные образуют граф с корнем в точке (0, 0), называемый деревом. Точки ветвления графа расположены в местах пересечения кривой рас- писания с заштрихованными областями. При этом возможны три Рис. 5.3. вида ветвления, представ- ленных па рис. 5.3. Максимальная длитель- ность прохождения связа- на с суммой вертикальных участков линии расписа- ния. Она равна этой сумме плюс общая длительность всех работ на первой ма- шине (или общая длительность всех работ на второй машине плюс сумма горизонтальных участков линии). Оптимальное расписа- ние соответствует той линии, у которой минимальна длина вер- тикальных участков. Если линия проходит под заштрихованными областями для машины J, то на этой машине работа 1 предшеству- ет работе 2. Таким образом, можно по крайней мере в принципе провести все 2т ломаных *) и выбрать из них ту, у которой минимальна сумма вертикальных участков. Однако подобный метод практи- чески был бы мало пригоден, если бы фактически таких линий не оказывалось значительно меньше. Уменьшение числа возможных вариантов происходит потому, что ряд потенциальных ветвей оказывается вообще не реализуемым. Это обусловлено тем, что на некоторых интервалах линия расписания не пересекается с заштрихованными областями и, следовательно, на этих интер- валах отсутствует возможность какого-то выбора. С другой сторо- ны, существование больших запретных областей (заштрихованных на рис. 5.2) приводит к тому, что ряд линий совпадает. В резуль- тате, например, получается, что для системы из 12 машин, где число потенциальных расписаний 210, для нахождения оптималь- ного просматриваются только около 10. *) Конечно, можно использовать информацию о том, что очередность работ должна быть одинаковой на двух первых и двух последних машинах. Тогда из возможных расписаний должны быть устранены те, в которых нару- шается эта идентичность, т. е. остается 2т~2 возможных вариантов.
5.51 УПОРЯДОЧЕНИЕ В БОЛЬШИХ СИСТЕМАХ 133 Однако цель данного раздела состоит не в том, чтобы дать кон- структивный алгоритм поиска решений в достаточно вырожденном случае. На этом примере нам хотелось развить у читателя интуи- цию, необходимую в дальнейшем, и график, представленный на рис. 5.2, скорее иллюстрирует характер расписаний и то свойства, которыми должно обладать лучшее из них. Из этого графика ста- новится очевидным, что расписание должно строиться так, чтобы ломаная состояла из максимального числа участков, проходящих под углом в 45°. Кроме этого, он наглядно показывает существен- ные трудности проблемы. Даже в таком простом случае невозможно установить очередность выполнения двух работ на конкретной машине, исходя из свойств отдельных опера- ций и информации, содержащейся в уже проведенном упорядочении. В частности, по ясно, как обходить | в данной точке запрещенную область (вверх или вниз), не исследовав при Q этом дальнейшего прохождения ло- маных. Так, например, на рис. 5.4 представлен граф для системы, со- Работа 1 стоящей из четырех машин. Находясь в точке X, можно обойти запрещен- ис‘ ’ ' ную область (лг — 3) снизу или сверху. По-видимому, более привлекательным *) кажется обход снизу. Однако, обойдя так область (т — 3), мы попадаем в зону, из которой все возможные пути оказываются хуже любого из тех, к которым бы мы пришли, обойдя область сверху. Наконец, сравнение рис. 5.1 и 5.2 указывает на интересную двойственность обеих задач, которая будет особенно важна в гл. 6. На этих рисунках на координатных осях отложены длительности операций. Но на рис. 5.1 эти длительности соответствуют разным машинам, а па рис. 5.2 — разным работам. Дело в том, что операция является основным понятием в теории расписаний и существуют два не равноценных упорядочения опе- раций. Одно из них задано: это упорядочение операций внутри работы, другое должно быть найдено — это упорядочение опера- ций относительно машин. За исключением приведенных здесь результатов для системы, состоящей из т машин, и теорем 5.1 и 5.2 (относительно очеред- ности выполнения работ на двух первых и двух последних маши- нах), в литературе не существует больше аналитических резуль- татов для системы из нескольких машин. Все публикации ограничиваются максимум тремя машинами. В то же самое время *) Поскольку он не содержит вертикального участка.— Прим, перев.
134 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА [ГЛ. 5 300 Вариантов Выборочное среднее=656,81 Выборочная дисперсия - 20,80 т=10 - п=100 широкое распространение получили численные методы анализа — целочисленное программирование, метод ветвей и границ и т.п. В задаче упорядочения п работ относительно тп машин сущест- вует (н!)т-2 возможных расписаний. Даже когда число вариан- тов — около 2,7 • 1011, и просмотреть все их практически невозмож- но. Поэтому, за небольшим исключением, когда существуют вычислительные алгоритмы, для анализа систем с несколькими машинами неизвестны эффективные методы, гарантирующие получение относительно хорошего расписания. Хеллер [78] опубликовал результаты исследования систе- мы, состоящей из 10 машин, для которой изучается вид распре- деления максимальной длительности прохождения различных расписаний (в его терминологии время, расписания) и находится метод составления расписания, принадлежащего левому концу это- го распределения. Модель Хеллера содержала 100 работ со случай- ными длительностями, равномерно распределенными между 0 и 9 и принимающими только целочис- ленные значения. Расписания со- стояли из 10 независимых переста- новок, составленных для каждой машины путем случайного набора цифр от 1 до 100 и отождествляе- мых с номерами работ. Для каж- дого такого расписания затем вы- числялась максимальная длитель- ность прохождения. Полученные Хеллером результаты для 3000 расписаний приведены на рис. 5.5. В результате проведенной работы он сделал вывод, что «числен- ное исследование показало, что функция распределения времени расписания является нормальной. Теоретически доказано, что распределение расписания асимптотически нормально для систем с большим числом работ» ([78], стр. 178). Хеллер также отметил, что установленная нормальность функции распределения может быть использована для принятия решений о прекращении фор- мирования новых вариантов расписаний, если стоимость дальней- шего поиска превышает математическое ожидание выигрыша от этого поиска. Относительно применения этого результата существует не- сколько мнений, но на пути его практической реализации имеются по меньшей мере две существенные трудности: 1. Если распределение времени расписания асимптотически нормально или аппроксимируется нормальным распределением, 0,020 Р 0,016 § 0,012 ^0,008 ^0,000 О 600 660 720 Время расоисания Рис. 5.5. Случайное упорядочение для системы 100 110 | F | Объем выборки 3000, выборочное среднее 656,81; выборочная ди- сперсия 20,80.
5.51 Упорядочение в больших системах 135 то отклонения от нормальности в большей степени будут ощу- щаться на концах распределения, т. е. в местах, представляющих наибольший интерес. 2. Маловероятно, чтобы при формировании вариантов распи- саний основывались на нормальном распределении, так как су- ществуют более эффективные и легко реализуемые. Наиболее интересными результатами исследования Хеллера явилось изучение характера упорядочения работ относительно О,Off т=10 п=2О £ ё Л 0,05 0,00 0,05 - 0,02 Одинаковый, порядок выполнения работ для каждой машины. 12000 вариантов. Выворотов средне в = 169,95 Выборочная дисперсия=1,29 Различный порядок выполнения работ на каждой машине 9057 вариантов. Выборочное среднее =727,82 Выборочная дисперсия=52,1О 0,01 О 150 170 190 800 700 Время расписания - I I I Рис. 5.6. Случайное упорядочение для системы 20 110 | F | F^*. Одинаковый порядок выполнения работ для каждой машины (слева). Объем выборки 12 000, выборочное среднее 169,93, выборочная дисперсия 1,24. Ра личный порядок выполнения работ для каждой машины (справа). Объем выборки 9037, вы- борочное среднее 727,82; выборочная дисперсия 32, 14. 10 машин. Им было составлено 9037 расписаний для 20 первых работ при очередности выполнения работ, формируемой случай- ным образом для каждой из машин. Распределение времени рас- писания для этого случая представлено справа на рис. 5.6. Кроме того, Хеллером для тех же самых 20 работ было составлено еще 12 000 расписаний, в которых, в отличие от предыдущих, очеред- ность выполнения работ на каждой машине была одна и та же. Распределение времени расписания в этом случае представлено слева на рис. 5.6. Интересно отметить, что распределения для двух рассмотренных случаев не перекрываются и что максимум времени расписания при одинаковом порядке выполнения работы на каждой машине острее, чем при случайном упорядочении. Причина этого явления становится ясной при более детальном рас- смотрении расписаний, формируемых случайным образом. Рассмот- рим работу, выполняемую первой на машине J. На машине J — 1
136 РАСПИСАНИЯ ДЛЯ СИСТЕМЫ КОНВЕЙЕРНОГО ТИПА 1ГЛ. 5 она может с равной вероятностью выполняться на любом месте, начиная с первого и кончая двадцатым. Однако машина J будет бездействовать до тех пор, пока рассматриваемая работа не будет закончена на машине J — 1 и от одной до 19 работ могут ожидать своего выполнения на ней. В среднем каждая последующая ма- шина простаивает половину времени, затрачиваемого предшест- вующей на выполнение всех работ. Очевидно, что расписания подобной структуры неприемлемы и нет смысла рассматривать ни их, ни вид их функции распределения времени расписания. Хеллер делает вывод, что «если разыскивается расписание, мини- мизирующее максимальное время расписания, то поиск возможных вариантов должен быть проведен среди класса расписаний с оди- наковым порядком выполнения работ каждой машиной» ([78], стр. 184). Подобный вывод является несомненно полезным при выборе исходного варианта для дальнейшего поиска оптималь- ного расписания. Однако этот класс расписаний не обязательно является классом принадлежности разыскиваемого оптимума Ньюджент [157] опубликовал исследование в точности такой же системы из 20 работ, как и Хеллер. При составлении расписаний он руководствовался правилами, которые назвал «правилами вероятностных приоритетов». Несмотря на то, что эти правила были разработаны для произвольных систем, они при- водят к расписаниям с меньшими значениями максимума дли- тельности прохождения, чем любое из приведенных Хеллером. Ньюджент подробно исследовал лучшие из полученных им распи- саний и обнаружил, что они не принадлежат к классу расписаний с одинаковым порядком выполнения работ на каждой из 10 ма- шин. Скорее они относятся к классу расписаний со случайной и локальной перестановкой на последовательных машинах двух соседних, в очередности работ. Отсюда следует, что найденный класс расписаний предпочтительнее класса расписаний Хеллера (в качестве исходного) для последующего поиска оптимума и что в этом направлении многое еще предстоит сделать.
ГЛАВА 6 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ Задача теории расписаний в общей ее постановке остается весьма привлекательной, хотя достижение даже небольшого про- гресса на пути к решению связано, как правило, с огромными труд- ностями. Несмотря па то, что задачами теории расписаний зани- мались многие весьма квалифицированные специалисты, до сих пор никому не удалось получить сколько-нибудь существенных общих результатов. Безуспешные попытки получения таких результатов, как правило, не публикуются и это отчасти обусловли- вает тот факт, что задача продолжает привлекать внимание многих исследователей кажущейся простотой постановки. 6.1. Графическое описание задачи Задачу составления расписания можно представить как не- которую графическую задачу о расположении блоков, соответст- вующих операциям. Каждая работа i задается множеством g; блоков — по одному на каждую операцию. Каждой операции приписано три индекса: i,j, к, где i — номер работы, содержащей Работа 1 1,1,2\ 1,2,5 Ш | Работа 2. 2,1,2\ 1,2,1 |Z,3,2 2,5,5 | Работа 5 5,1,5 I 5,2,1 |3,3,2| Работа 4 Р1,2 I 5,2,5 | 5,5,1 | fy,5,2\ Работа 5 5,2,2 j Рис. 6.1. эту операцию; / — помер операции внутри работы, / = 1, . . ., gt; к — номер машины, на которой операция должна выполняться. Длина каждого блока пропорциональна длительности выпол- нения операции. Когда задана вся указанная информация, опера- ции-блоки располагаются в строчки, соответствующие работам, а в одной строке — по порядку их выполнения. Пример графиче- ского представления задачи типа 5 | 3 показан на рис. 6.1.
138 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ [ГЛ. 6 Расположение работ по строкам приводит к равенству первых индексов всех операций, находящихся в одной строке. Вторые индексы операций одной строки образуют возрастающую последо- вательность. Каждое решение есть упорядочение данных 16 опе- раций-блоков по строкам, соответствующим машинам, без из- менения длин или индексов блоков, т. е. расположение, при ко- тором совпадают последние индексы операций в каждой строке. Это легко сделать, например, так, как показано на рис. 6.2, и Машина 1 1,5,1 2,2.1 I 5.2,1 I 5.5,1 Wk Машина 2 1,1,2 Z,Z2|2,3,Z|3,3,2| 4.2,2 \ 4,4,2 5,2,2 Машина 5 1.2,5 ! 2,4,5 I 5,1,5 4,2,5 5,1.5 Рис. 6.2. Машина 1 'WWWk, Машина 2 1,1,2 у,1,2 Машина 5 5,1,5 \Pa5oma 1\1,1,2\ | 1,2,5 | |/,ЗТ| Рис. 6.3. 5,2,1 I 4,37 Машина1\^2\ 2,2,1 I , . Машина211А^,1,2\1,1,2\2,\Т\ 5,2,2 |3,3 2^ 4,4,0 Машина5\ 5,1,5 |Щ 4,2,3 I 1,2,5 \ 2,4^5 Рис. 6.4. такое расположение позволяет оценить общее время, затрачиваемое каждой из машин. Однако это расположение не является распи- санием, так как выполнение операций в указанной последователь- ности и в указанное время невозможно. Задача состоит в том, чтобы расположить операции «по машинам» так, что если спроектировать на горизонтальную ось операции, относящиеся к одной работе, то они не будут пересекаться и будут расположены в исходном порядке. Допустимое расположение «по машинам» показано на рис. 6.3, и здесь же приведена проекция на горизонтальную ось операций, составляющих работу 1. Аналогичную проверку легко провести и для остальных четырех работ. Диаграмма на рис. 6.3 (диаграмма или схема Гантта) представляет одно из возможных расписаний для рассматриваемой задачи типа 5 | 3, так как вре- мя и порядок выполнения операций машинами удовлетворяют ограничениям, накладываемым на простое расписание (т. е. каж- дая машина выполняет одновременно не более одной операции, операции выполняются в указанной последовательности и ника-
6.21 ЗАДАЧА С ДВУМЯ МАШИНАМИ 139 кие две операции, относящиеся к одной работе, не выполняются одновременно). Хотя такое расписание и допустимо, оно не является ни единственным, ни достаточно экономичным. Для этой задачи существует много расписаний, значительно лучших, чем показанное на рис. 6.3 относительно регулярных критериев. На рис. 6.4, например, показано расписание, являющееся более экономичным. Ясно также, что не существует расписания с мень- шей максимальной длительностью прохождения, чем на рис. 6.4, но при других критериях могут существовать более выгодные варианты. 6.2. Задача с двумя машинами Единственной задачей, для которой решение полностью из- вестно, является задача с двумя машинами (и | 2 | Gr | Рщах), при условии, что каждая работа состоит максимум из двух опера- ций. Джексон [91] показал, что эта задача есть небольшое обобщение конвейерной задачи с двумя машинами, рассмотрен- ной Джонсоном (см. раздел 5.2), ичтодля решения требуется лишь небольшая модификация алгоритма Джонсона. Это значит, что задача с произвольным числом работ требует сравнительно не- большого объема вычислений. Решение начинается с разбиения п работ на четыре подмно- жества следующим образом: {А } — подмножество работ, состоящих из единственной опера- ции, выполняемой на машине 1; {В} — подмножество работ, состоящих из единственной опе- рации, выполняемой на машине 2; {ЛВ} — подмножество работ, состоящих из двух операций, из которых первая выполняется машиной 1, а вторая — машиной 2; {ВЛ} — подмножество работ, состоящих из двух операций, из которых первая выполняется машиной 2, а вторая —машиной 1. После этого работы из подмножества {ЛВ} упорядочиваются в соответствии с алгоритмом Джонсона независимо от остальных работ, и то же проделывается с работами из {ВЛ}. Упорядочение работ из {Л} и {В} не влияет на максимальную длительность прохождения и может быть произвольным. Джонсон показал, что оптимальным является следующий порядок выполнения работ: а) машина 1 выполняет работы из {ЛВ}, затем из {Л}, затем из {ВА }; б) машина 2 выполняет работы из {ВЛ}, затем из {В}, затем из {АВ}, причем порядок выполнения внутри каждого из подмно- жеств сохраняется. Легко видеть, что такое расписание оптимально. Действитель- но, так как длительности выполнения операций фиксированы, то качество расписания определяется фактически длиной свободных
140 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ [ГЛ. в интервалов (длительностей простоя) между выполнением отдель- ных операций. Если {В А} пусто, то очевидно, что для работ из {Л}, {В} и {АВ} расписание является оптимальным; при этом длительность простоя машины 2 минимальна. Рассмотрим теперь работы из {В А }. Они могут быть выполнены на машине 2 без про- стоев между операциями, выполнение же их на машине 2 прежде остальных работ приведет к возможной задержке выполнения работ из {42?} на этой машине. Последнее обстоятельство может лишь уменьшить простои между выполнением операций работ подмножества {45} па машине 2. Очевидно, пет смысла рассма- тривать расписания, в которых работы из {45} выполняются машиной 2 до окончания всех работ из {54 } и {5}. Действительно, допустим, что мы попытаемся выполнить работу К из {54} на машине 2 во время простоя Xj последней между выполнением работ I и J из {45}. Даже в том случае, если Xj больше, чем длительность выполнения К, эту работу можно выполнить до Z, так как в худшем случае I будет задержано, X j уменьшится, по момент начала выполнения J останется прежним и, следователь- но, не изменится максимальная длительность прохождения. Ана- логичные рассуждения устанавливают оптимальность упорядо- чения для машины 1. 6.3. Задача с двумя работами Для решения задачи с двумя работами (задачи типа 2j т j G- j Pmax) можно использовать описанный в разделе 5.5 гра- фический метод для соответствующей конвейерной задачи с двумя работами.Этот алгоритм позволяет решать задачи довольно боль- шой размерности, однако не является пи столь эффективным, ни интересным, как в случае двух машин, да н сама задача представ- ляется менее реалистичной. Приводимый метод решения был первоначально предложен Эйкерсом и Фридманом 14] и развит затем более формально Хардгрейвом и Неммхаузером [721. Алгоритм решения в точности совпадает с алгоритмом, при- веденным в разделе 5.5 для конвейерной задачи. Пример графи- ческого решения задачи, показанной на рис. 6.5, приведен па рис. 6.6. Отличие от конвейерной задачи лишь в том, что заштри- хованные прямоугольники могут оказаться в любой области чер- тежа в зависимости от порядка прохождения машин и не связаны, как в конвейерной задаче. Порядок выполнения работ различными машинами может быть произвольным; здесь также отсутствует ограничение об однократном использовании машины каждой работой. Интересно, что такое увеличение общности иногда упро- щает решение: может оказаться, что ломаная, построение которой
МЕТОД ЦЕЛОЧИСЛЕННОГО ПРОГРАММИРОВАНИЯ 141 сЩисано в разделе 5.5, не касается части заштрихованных областей, и некоторые из ветвей здесь можно не рассматривать. Работа 1 Ц/ I 4 2.2 1,2,2 1,5,5\1,б,5\ Работа 2 2,1.5\ 2,2,1 \ 2,5,2 2,Р2 2,5,5 I Рис. 6 3. (1,2,Т) №,5) Работа f Рис. 6.6. Приведенный графический алгоритм можно обобщить на слу- чай трех или более работ, однако уже для трех работ он оказы- вается слишком неудобным. 6.4. Формулировка общей задачи составления расписания в терминах целочисленного программирования Общая задача теории расписаний может быть сформулирована как задача целочисленного программирования, аналогично тому, как это было сделано для конвейерной задачи (раздел 5.4) или для задачи упорядочения для одной машины (гл. 3). Такие модели в иорядке возрастания сложности рассматривались Боума- ном (21], Вагнером f 197] иМанне [126]. Мы будем сле- довать модели Манне. Для упрощения изложения и обозначений примем, что каждая работа требует в точности одного выполнения па каждой из машин (это ограничение можно снять за счет услож- нения обозначений). Другие обобщения, как, например, воз- можность одновременного выполнения одной машиной разных операций, также допустимы, но не рассматриваются здесь, чтобы не загромождать изложение. Пусть Ри — длительность выполнения работы i машиной к;
142 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ [ГЛ. й ( 1, если операция j работы i выполняется машиной к, г3к (0 в противном случае; Tth — момент начала выполнения работы i машиной к. Из того, что каждая машина может одновременно выполнять не более одной работы, следует, что для любой пары работ I и J выполняется лишь одно из неравенств Tlk — TJle Pjk ИЛИ Tjk — Т1к> р1к. Иначе говоря, выполнению работы I предшествует выполнение ра- боты J или наоборот. Такое ограничение типа «или-или» нельзя описать в рамках обычного линейного программирования, и требуется введение целочисленных переменных. Пусть YIJk — 1, если работа I предшествует работе J на машине к (не обязательно непосредственно), и Уий = 0 в против- ном случае. Ясно, что из двух величин YIJk и YjIk достаточно задать одну. Теперь сформулированные выше ограничения типа «или-или» можно записать в виде двух условий, каждое из которых д олжно быть выполнено. Эти условия таковы: (Л/ ф- pJ1:) Yun + (Т1к — TJk) pJk, (M + рк) (1 — YIJk) + (Tjk — TJk) pIk, где M — достаточно большая константа, выбранная так, чтобы выполнялось только одно из равенств: Уий = 0 или YiJK = 1. Например, можно выбрать М = 22^*)- г к Для соблюдения ограничений на порядок выполнения опера- ций заметим, что 2/’О’й^’гй есть момент начала выполнения опе- к рации / работы i. Для всех операций, кроме последней операции каждой работы, должно иметь место неравенство 2ГгЛ (Тгк 4“ Pik) 2ГЬ J+l, kT-ifr- к к Для задачи с m машинами и п работами множество переменных и ограничений выглядит следующим образом: Переменные Tik>0 YIJk = 0 или 1 Их число тп тп (п — 1)/2 *) Так как каждая машина выполняет каждую работу не более одного раза.—Прим, перев.
в.51 ТИПЫ РАСПИСАНИЙ 143 Ограничения ik /с к (М + Pjk) Yих + (Тin — TJk) рлс Их число (m — 1)п mn (п — 1)/2 (М + Pik) (1 — Yuk) 4- (Тп — Tik) Pik mn (n — l)/2 Даже для небольших задач получается огромная система неравенств. Например, для четырех машин и десяти работ имеем 220 переменных и 390 ограничений. Целевые функции могут быть различны. Миниминизация Р равносильна минимизации суммы моментов начала выполнения последних операций всех работ, т. е. критерием служит пнп 2 3 rimk^ik- г к При минимизации /’тах добавляется ограничение вида 3 rimk (Тik 4" Pik) шах Для BCCX I, к где /’щах — переменная, которую требуется минимизировать. Для минимизации средних запаздываний относительно плановых сроков к ограничениям добавляются равенства Tt — Et = Fj — dj, i = 1, . . ., n, и ищется минимум 2 T В настоящее время опубликован только один результат при- менения метода целочисленного программирования для решения подобной задачи. Он содержится в работах Стори иВагне- р а [189] и Гиг л ио иВагнера [66] и относится к задаче конвейерного типа. Краткий обзор этих работ приведен в раз- деле 5.4. Неудивительно, что размерность получающихся задач целочисленного программирования, большое время счета, а также неустойчивость вычислений по существующим программам для ЭЦВМ и ограниченные возможности этих программ чаще всего отпугивают от использования и развития такого подхода. При анализе большинства экспериментальных результатов, получен- ных с помощью некоторых эвристических методов, описанных в следующих разделах, получение оптимальных решений было бы очень полезно для абсолютного, а не только относительного срав- нения. Тем не менее, цена получения оптимального решения вся- кий раз оказывается слишком высокой. 6.5. Типы расписаний Следующие разделы этой главы посвящены, главным образом, приближенным и эвристическим методам получения расписаний. Рассматриваемые здесь алгоритмы с большой вероятностью дают относительно хорошие решения, но вряд ли эти решения оцти-
144 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ [ГЛ. 6 мальны. Прежде чем переходить к рассмотрению и обсуждению алгоритмов, полезно ввести показатели, характеризующие ка- чество расписания, и выделить некоторые типы расписаний, для которых можно было бы, вероятно, получить относительно хоро- шие значения введенных характеристик. Ясно, что для каждой системы существует бесконечное число расписаний, так как в любом расписании можно более или менее произвольно изменять длительности простоя. Например, в распи- сание, показанное на рис. 6.4, можно вводить простои произволь- ной неотрицательной длины между операциями (1, 2, 3) и (2, 4, 4), причем каждый раз будем получать расписание, удовлетворяющее всем условиям, налагаемым на простое расписание. Очевидно также, что большинство таких расписаний не инте- ресно при достаточно разумных критериях их оценки, а интерес представляют только расписания, составленные в некотором смысле компактно. Рассмотрим бесконечное множество расписа- ний с одинаковым порядком выполнения операций каждой ма- шиной. Такие расписания отличаются только длительностями простоев между операциями. В этом множестве существует единст- венное расписание, называемое квазикомпактным (см. [157]), которое превосходит все остальные для регулярных критериев. Все другие расписания из этого множества назовем недопустимыми. Для каждого фиксированного упорядочения операций из любого расписания можно получить квазикомпактное, повторно приме- няя ограниченный сдвиг влево. Это означает, что на рисунке типа рис. 6.3 каждая операция сдвигается влево до тех пор, пока ее сдвиг не будет заблокирован предшествующей операцией, выпол- няемой на этой же машине, или предыдущей операцией этой же работы, так что порядок выполнения операций сохраняется. В ква- зикомпактном расписании ни к одной из операций нельзя при- менить ограниченный сдвиг влево. Понятно, что для регулярных критериев достаточно рассматривать только квазикомпактнще рас- писания, и все сколько-нибудь хорошие расписания будут при- надлежать этому типу. Ясно также, что нетрудно получить квази- компактное расписание из любого, не принадлежащего этому типу. Для каждого упорядочения операций существует единственное квазикомпактное расписание, а так как вариантов упорядочения имеется лишь конечное число, то для любой задачи получаем ко- нечное число расписаний, заслуживающих рассмотрения. Число это, правда, слишком велико, и полный перебор неосуществим даже для задач сравнительно малого объема. Обычно трудно привести даже достаточно точную верхнюю оцен- ку числа квазикомпактных расписаний. Это число, как правило, много меньше, чем С!, где G — общее число операций всех работ. Для т — 1 эта оценка точна, однако опа становится слишком вы-
ТИПЫ РАСПИСАНИЙ 145 е. У со^сой при возрастании т. Если Лх, . . ., hm — числа операций, выполняемых каждой из т машин, то . 1гт\ — верхняя оцецка числа квазикомпактных расписаний. Она является точной, еслй каждая работа состоит из единственной операции и, следо- вательно, отсутствуют ограничения на порядок выполнения опе- раций. В качестве примера рассмотрим случай двух работ и двух машин, показанный на рис. 6.7. Здесь каждая машина должна выполнить две операции, т. е. существует всего 212! = 4 различ- ных варианта упорядочения операций, однако имеется только три квазикомпактных расписания, показанных на рис. 6.8. Четвер- тый вариант расположения операций ire является расписанием, Работа 1 7,7,7 1,2,2 Работа 2 2,1,2 2,2,1 Рис. 0.7. Машина 1 1,1,1 2,2,1 Машина 2 1,2,2\2,1,2 9-. Z,2,l\l,1,1 2,1,2 1,2,2 7,7,7 [?,2,7| 2,1,2\1,2,2\ 3 Рис. 6.8. так как ведет к нарушению условий предшествования операций с меньшими номерами для обеих работ. Иногда (см. [61], [63]) в качестве верхней границы числа квази- компактных расписаний для задачи п | т приводят число (w!)m, однако оно не является пи достаточно хорошей, ни даже верхней оценкой. Такая оценка, по-видимому, основана на подсчете для сим- метричного случая, когда каждая работа содержит в точности по одной операции, выполняемой каждой из машин. Тогда выра- жение (н!)т совпадает с выражением, приведенным выше, так как hi = п для всех i. Эта граница также не достигается для боль- шинства задач, поскольку многие упорядочения операций не яв- ляются расписаниями. С другой стороны, в общем случае работа может включать более одной операции, выполняемой на данной машине, и общее число операций, выполняемых одной машиной, может превышать п. В этом случае число квазикомпактных рас- писаний больше (n!)m. Так или иначе, видимо, не стоит тратить больших усилий на получение подобных оценок или границ, поскольку единственная их польза в том, что они показывают гран- диозные размеры задач и невозможность осуществления полного перебора. Достаточно заметить, что для задачи типа 6 | 5 имеем (6!)а ш 1,93 ЛО14, что гораздо больше числа микросекунд в шести
146 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ [ГЛ, 6 годах. Трудно представить себе, что когда-нибудь появятся Ц1^М, на которых можно было бы произвести полный перебор для э!той или другой практической задачи. Дальнейшее сужение класса исследуемых расписаний связано с рассмотрением компактных расписаний, т. е. расписаний, не допускающих сдвига влево ни для одной из операций [64]. Сдви- гом операции влево, в отличие от ограниченного сдвига влево, называется сдвиг влево по оси времени момента начала ее выполне- ния, не приводящий к смещению вправо моментов начала выпол- нения других операций. Ограниченный сдвиг влево является сдвигом влево, но не наоборот, так как для ограниченного сдвига влево порядок выполнения операций на каждой из машин сохра- няется неизменным. Сдвиг влево допускает перестановку операции с тем, чтобы она выполнялась в течение свободного временного интервала, если последний достаточно велик для ее выполнения. Указанное различие хорошо видно из рис. 6.8. Расписания 1, 2 и 3 на этом рисунке являются квазикомпактными, поскольку невоз- можен ограниченный сдвиг влево. Тем не менее, расписание 1 допускает сдвиг влево, поскольку операцию (2, 1, 2) можно по- местить в начальный интервал простоя машины 2, не смещая при этом начала операции (1, 2, 2). После такого сдвига к опера- ции (2, 1,1) можно применить сдвиг влево и получить расписание 3. Аналогичным образом, применение сдвигов влево к расписа- нию 2 приводит к расписанию 3. В этом примере расписание 3 является единственным компактным расписанием, и, очевидно, оно оптимально для регулярных критериев. Несмотря на то, что общее число компактных расписаний зна- чительно меньше числа квазикомпактных, оно остается очень большим. Ясно, далее, что всегда достаточно рассматривать толь- ко компактные расписания, так как оптимальное (оптимальные) принадлежит к этому типу и получается из любого расписания применением сдвигов влево. Другой принцип классификации расписаний основан на из- мерении длительностей простоев между операциями, выполняе- мыми на одной машине. Будем говорить, что некоторая операция является включаемой в расписание машины / в момент t, если к этому моменту закончено выполнение всех операций, предшествую- щих рассматриваемой (и относящихся к той же работе). Иными словами, операция становится включаемой в расписание после того, как в расписании определено место всех предшествующих операций той же работы и, следовательно, момент окончания по- следней из них. Если ни для какого t, предшествующего интервалу простоя, и ни для одной из машин / не найдется операции, вклю- чаемой в расписание, то последнее называется незадерживающим [157]; ясно, что для таких расписаний не существует момента вре- мени, когда какая-либо работа задерживается, если машина,
6.61 СОСТАВЛЕНИЕ РАСПИСАНИЙ 147 выполняющая следующую по порядку операцию этой работы, свободна и доступна. Незадерживающие расписания хотя и составляют подмножест- во компактных, не превосходят их в том же смысле, в котором последние превосходят квазикомпактные расписания. Не для каж- дой задачи оптимальное расписание содержится среди незадержи- вающих. Например, для задачи типа 2 | 2, показанной на рис. 6.9, существует только два компактных расписания; они показаны на рис. 6.10. Расписание 1 не является незадерживающим, так как 1,1,1 | 1,2,2 | 43,/ | 2,1,2 | Работа 1 Работа 2 Рис. 6.9. Машина 1 1,1,1 'Ш. 1,6,1 Машина 2 1,2,2 2,1,2 Рис. 6.10. машина 2 ймеет начальный свободный интервал, в котором могло бы начаться выполнение операции (2, 1, 2). Однако ясно, что это расписание превосходит незадерживающее расписание 2, по край- ней мере для некоторых регулярныхТ1критериев (максимальная длительность прохождения и др.). Кроме того, незадерживающие расписания не так легко получаются из произвольных’расписаний, как компактные из любых квазикомпактных. Тем не менее, неза- держивающие расписания составляют очень важный класс. Дело в том, что хотя их не очень легко получать из компактных, их довольно легко составлять, и существуют достаточно убедительные соображения, говорящие о том, что множество незадерживающих расписаний, не содержащее, вообще говоря, оптимального, в целом обладает лучшими характеристиками, нежели остальные компактные расписания. Поэтому, когда отсутствует алгоритм составления оптимального расписания и приходится прибегать к эвристическим методам или получать некоторое выборочное мно- жество расписаний, то, по-видимому, выгоднее обращаться к клас- су незадерживающих, даже рискуя уменьшить шансы на получе- ние оптимального расписания. 6.6. Составление расписаний Многие из эвристических, выборочных или численных мето- дов в теории расписаний предусматривают необходимость состав- ления довольно большого числа расписаний для каждой конкрет- ной задачи. Для описания этих методов помимо типов расписаний,
148 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ [ГЛ Г. введенных выше, полезно ввести несколько типов алгоритмов со- ставления расписаний, так как существует достаточно много существенно различных способов получения компактных распи- саний. Во всех алгоритмах составления расписаний используется мно- п жество, состоящее избг = 3 g, операций, причем на каждом шаге i=l выбирается одна из них и ей приписывается момент начала выпол- нения. Порядок выбора и метод назначения момента начала операции и определяют характер алгоритма. Наиболее важное различие существует между однократными и корректируемыми алгоритмами. Первые характеризуются тем, что выбранный момент начала каждой операции остается неиз- менным в ходе дальнейшего составления расписания. При этом, однако, требуется, чтобы правила выбора очередной операции и назначения момента начала ее выполнения определялись бы стро- гой последовательностью в множестве операций и, следовательно, позволяли бы сделать ровно G назначений моментов начала вы- полнения. Для корректируемого алгоритма существенно, что каждый из уже назначенных моментов начала выполнения может быть изменен в ходе дальнейшего составления расписания. Почти все алгоритмы, для которых составлены программы на ЭЦВМ, являются однократными. Корректируемые алгоритмы, конечно, тоже можно реализовать на ЭЦВМ, однако формализация правил изменения и регулирования моментов начала операций обычно представляет значительные трудности. Иногда утверждается, что специалист, составляя расписание с использованием схемы Гантта в какой-либо форме, может, благодаря применению различных эвристических корректируемых алгоритмов, получить результат лучший, чем па ЭЦВМ. Такое мнение, хотя и высказывалось не- однократно, никогда не проверялось практически, главным обра- зом из-за трудностей изменения схем Гантта вручную. Понятно, что с появлением у ЭЦВМ внешних устройств, выполняющих гра- фические работы, эксперименты подобного рода могут стать прак- тически осуществимыми. На первый взгляд может показаться, что ограничения, нала- гаемые на однократные алгоритмы, не позволяют получить не- которые из возможных расписаний, и поэтому корректируемые алгоритмы теоретически более предпочтительны. Строго говоря, это не так. Для любого расписания существует реализующий его однократный алгоритм, но нет оснований ограничиваться этим, пусть даже достаточным, классом алгоритмов. Оптималь- ный однократный алгоритм существует, конечно, для конкретной задачи, однако для другой он может сильно отличаться от опти- мального или даже вовсе не иметь смысла. Для некоторых задач
6.61 СОСТАВЛЕНИЕ РАСПИСАНИЙ 149 может оказаться, что легче использовать корректируемый алго- ритм, нежели без предварительных оснований выбирать одно- кратный. Особенно важным как в теоретических исследованиях, так и на практике является класс однократных алгоритмов, называе- мых диспетчеризациями. Характерным для этого класса является то, что последовательно назначаемые моменты начала операций для каждой машины образуют строго возрастающую последова- тельность. Другими словами, решения о включении в расписание принимаются в том же порядке, в котором они будут приво- диться в исполнение, и процесс составления расписания можно рас- тянуть во времени, принимая каждое решение непосредственно перед тем, как оно должно быть исполнено. Класс диспетчериза- ций достаточен в том же смысле, что и весь класс однократных ал- горитмов: каждое расписание можно получить с помощью неко- торой диспетчеризации. При этом остаются справедливыми ого- ворки, сделанные выше относительно однократных алгоритмов, так что может оказаться, что имеет смысл и даже необходимо рас- сматривать алгоритмы, не принадлежащие к этому, теоретически достаточному классу. Часто при рассмотрении различных алгоритмов важным ока- зывается понятие множества ожидающих операций. В каждый мо- мент времени множество ожидающих операций, обозначаемое через {530}*), есть подмножество тех операций из G, для которых предшествующие уже включены в расписание; иными словами, некоторая операция входит в {*53о}, если уже выбраны моменты начала выполнения всех предшествующих ей операций данной работы. Это значит, в частности, что в начальный момент множество {S30} в системе типа п\т состоит из п операций — первых в каждой работе. После выбора и включения в расписание одной из этих операций ее место занимает вторая операция той же работы (если она имеется). Всякий раз, когда последняя операция какой- либо работы включена в расписание и ее нечем заменить в {5ЗО}, число элементов этого множества уменьшается па единицу. Состав- ление расписания заканчивается, когда множество {<S30} стано- вится пустым. Понятие множества ожидающих операций важно при исследовании как однократных, так и корректируемых алго- ритмов. Причем, если в однократных алгоритмах операция, по- кидая {5в0}, не возвращается в это множество, то в корректируе- мых существует возможность пересмотра всех уже сделанных назначений, и операции могут быть включены в {530} по несколь- ку раз. *) Обозначение в индексе соответствует начальным буквам английского термина «schedulable operation».— Прим. ред.
150 ОБЩАЯ ЗАДАЧА СОСТАВЛЕЙИЯ РАСПИСАНИЙ [ГЛ. 6 Обычно используют два способа разбиения {Sso}. Первый — это разбиение {Ss0} на п подмножеств, соответствующих работам; тогда каждое подмножество состоит минимум из одной операции *) и становится пустым как только последняя операция работы вклю- чается в расписание. Такое разбиение используется в алгоритме поочередного включения работ, при котором все gl назначений мо- ментов начала операций одной работы производятся последователь- но, не чередуясь с назначениями моментов начала операций дру- гих работ. Так как существует п\ перестановок п работ, то, если ограничиться только алгоритмами, дающими компактные распи- сания, получим ровно п\ однократных алгоритмов такого типа. Каждый из них приводит к единственному компактному расписа- нию, однако эти расписания не обязательно различны, в частности, если некоторые работы требуют разных комплектов машин. Второй способ разбиения {580} заключается в том, что в {530} выделяется т подмножеств, соответствующих т машинам и обо- значаемых {5s0}, /с = 1, . . ., т. Каждое из подмножеств состоит из операций, выполение которых должно осуществляться опреде- ленной машиной и которые можно включить в расписание в дан- ный момент времени. Иначе говоря, подмножество {б^о} состоит из операций, ожидающих выполнения на машине к и таких, что предшествующие операции уже включены в расписание и «выпол- няются» другими машинами. Первоначально имеется п операций разбитых на т подмножеств (S^,}, к = 1, . . ., т. В процессе, составления расписания некоторые подмножества могут становить- ся то пустыми, то непустыми и пополняться до тех пор, пока все подмножества не окажутся пустыми и составление расписания будет завершено. Наибольший интерес представляют два метода включения опе- раций в подмножество {5зо},из которого затем выбирается опера- ция для включения в расписание. Каждый из методов приводит к определенному классу диспетчеризаций. Рассмотрим множество «выполняемых» («in-process») операций и обозначим его {/цр}. Операция попадает в это множество сразу, как только покидает {iSso}- Множество {SiP} разбивается на т подмножеств, обозна- чаемых {5щ}, к = 1, . . ., т, в соответствии с числом машин, и в каждый момент времени существует в точности по одной опе- рации в каждом из таких подмножеств **) (операции, выполняе- мые в этот момент каждой машиной). При включении очередной *) Это справедливо только для системы, удовлетворяющей условию (2) раздела 1.2, требующему строгой упорядоченности операций внутри работы. Если снять это ограничение, то '{<‘>'so} смогут принадлежать одновременно две или более операций одной работы. **) Можно считать, что в начальный момент {/S'Jp} состоит из фиктивной операции, момент завершения которой равен нулю.
6.6] СОСТАВЛЕНИЕ РАСПИСАНИЙ 151 операции в одно из подмножеств {5jp} предыдущая операция по- кидает это подмножество. Пусть Ск — момент завершения опера- ции из {5ip}; Sjk — возможный момент начала операции j из {5s0} (он равен моменту завершения предыдущей операции или нулю — для первой операции работ), р]к — длительность опе- рации j из {Sso}- Тогда 1) max (Cfe, Sjk) есть минимально возможный момент начала выполнения операции j из {Sso}; 2) max (Cfe, Sjk) + pjk — минимально возможный момент за- вершения операции j из {Sso}. Если очередная операция выбирается из непустого подмножест- ва {Ssq} по критерию min min [max (Сй, .%-)] к . ,„ft , ?E(Sso> и если для выбранной операции это значение достигается, то алгоритм является диспетчеризацией. Более того, при этом полу- чаются только незадерживающие расписания, так что алгоритм можно назвать незадерживающей диспетчеризацией. Если очередная операция выбирается из непустого подмножест- ва {5so} по критерию min min [тах(Сй, S;s) рл] ft . „ft JG{Ss0| и если для выбираемой операции величина Sjk меньше этого зна- чения, то алгоритм также является диспетчеризацией. Более того, таким образом получаются компактные расписания. По- этому, если расписание, составленное по такому алгоритму, име- ет период простоя для какой-либо машины, то этот период заве- домо нельзя использовать для выполнения операции, изменяя расписание с помощью сдвигов влево. Различие указанных двух подходов иллюстрируется на при- мере задачи типа 2 | 2, показанной на рис. 6.9. Если принять, что {Яр} = ((1, 1, 1)}, {S*p} = 0, = {Sy = {(1,2, 2), (2,1,2)}, Pill = 2, Pl.22 = 2, P212 = 3, TO Сг = 2, C2 = 0, s122 = 2, s212 = 0. В обоих случаях выбирается машина 2. Для незадерживающей диспетчеризации min min [тах(Сй, s^)] = 0,
152 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ [ГЛ. 6 и в этот момент может начаться выполнение только операции (2, 1,2). 13 результате получаем расписание 2 (рис. 6.10). Для диспетчеризации, дающей компактные расписания min min [max (Сй, ф- ZCd — 3, 1(=(ч/с v и раньше этого момента может начаться выполнение двух операций — (2, 1, 2) и (1, 2, 2). Выбирая (2, 1, 2), получаем расписание 2, показанное на рис. 6.10, а выбирая (1,2, 2), получаем компактное расписание 1 с начальным временем простоя у второй машины. Выбирая операции из {Sso} и назначая минимально возможные моменты начала выполнения операций (с учетом ограничений на последовательность выполнения операций и уже составленной части расписания), можно получить любые компактные рас- писания. Однако такой алгоритм, вообще говоря, не является диспетчеризацией, так как выполнение некоторых операций может быть назначено на время, предшествующее началу операций, включенных в расписание раньше. Составление расписаний на ЭЦВМ с использованием одного из алгоритмов диспетчеризации называется иногда моделирова- нием процесса. Это связано с тем, что программа воспроизводит физический процесс выполнения операций во времени в том смысле, что порядок назначений совпадает с порядком реального выполнения операций. Введем теперь очень важное понятие приоритета работы или операции. Приоритет — это числовая характеристика работы или операции, используемая при выборе из всех возможных. Напри- мер, в алгоритме последовательного включения работ должно существовать какое-то правило, определяющее порядок включения работ в расписание, и это правило удобно формулировать в тер- минах приоритетов: работы выбираются в порядке возрастания приписанных им числовых характеристик. Каждому из п\ способов назначения приоритетов работ будет в этом случае соответствовать один вполне определенный алгоритм указанного типа — алгоритм последовательного включения работ. Система приоритетов должна быть достаточно полной, чтобы две «конкурирующие» работы (операции) всегда имели различные приоритеты и был бы возможен однозначный выбор. В противном случае потребуется дополнительно ввести вторичные приоритеты на случай равенства основных. Например, в алгоритме поочеред- ного включения работ в качестве первичного приоритета работы можно выбрать число входящих в нее операций. Поскольку числа операций некоторых работ могут совпадать, нужно задать вторич- ные приоритеты и из таких работ выбирать в первую очередь ту, которая имеет минимальный вторичный приоритет.
6.6] составление Расписаний 153 Весьма общим методом задания приоритетов является получе- ние их с помощью некоторого вероятностного правила с исполь- зованием различных распределений для различных наборов опе- раций и работ. При таком подходе особое значение приобретает идея многократного составления расписания для одной и той же задачи. Это связано с тем, что случайность при вычислении приори- тетов каждый раз будет приводить, вообще говоря, к другому рас- писанию. Смысл повторного составления расписаний в том, что, во-первых, используя стохастическое правило назначения прио- ритетов и получая выборочное множество расписаний для одной и той же задачи, можно делать статистические выводы относитель- но правила назначения приоритетов и самих расписаний для этой системы (I вариант), а во-вторых, в том, что, варьируя множество работ, можно получать статистические выводы относительно рас- писаний для определенного класса систем (II вариант). Часто при назначении приоритетов используют или вырожден- ное распределение или невырожденное, но одно и то же для всех работ. В первом случае значения приоритетов, приписанных каждой работе, являются фактически постоянными, например, они могут совпадать с полной длительностью ее выполнения. Тогда повторное составление расписаний в соответствии с I вари- антом бессмысленно, так как будут получаться идентичные рас- писания. Использование одинаковых невырожденных распределе- ний не имеет большого смысла, поскольку приводит практически к равновероятному выбору работы (операции) из множества всех возможных без каких-либо рациональных соображений. В этом случае возможны оба варианта многократного решения задачи. Всякая диспетчеризация предусматривает необходимость какого-либо приоритетного правила для назначения очередной опе- рации, выполняемой некоторой машиной. Иногда приоритеты задаются неявно в вычислительной программе,но они всегда сущест- вуют. Выбор операции фактически происходит в два этапа. Сна- чала выбирается машина, скажем К, а затем из множества {S^,}, состоящего, вообще говоря, из нескольких операций, выбирается операция для очередного включения в расписание. После того как выбрана машина, можно, хотя и совершенно необязательно, вы- бирать ту из операций, требующих выполнения зтой машиной, для которой SjK минимально, что соответствует правилу «первым пришел — первым обслужен» (обслуживание в порядке поступ- ления). В незадерживающих диспетчеризациях можно выбирать любую операцию, для которой sjK Ск, так, что здесь требуется задание приоритетов. В наиболее общем случае приоритеты можно задавать с помощью стохастического правила, используя то или иное распределение, в частности, сосредоточенное в одной точке (например, выбор в порядке поступления), или выбирая с одина- ковыми вероятностями любую из возможных операций. В случае
154 ОБЩАЯ ЗАДАЧА ЁОСТАВЛГЕЙП’Й РАСПИСАНИЙ" [“ГЛ', (i вырожденного распределения получается единственное расписа- ние, и повторное составление по варианту I бессмысленно. Таким образом, в наиболее общем случае диспетчеризация является ал- горитмом с вероятностным правилом назначения приоритетов; лишь в частных случаях вероятности или приоритеты не включа- ются в алгоритм явным образом. Поэтому термин диспетчеризация означает определенный тип алгоритма составления расписания, основанный на некоторых стохастических правилах назначения приоритетов. 6.7. Метод ветвей и границ при рассмотрении общей задачи Метод ветвей и границ был описан выше при исследовании задачи коммивояжера (п. 4.1.1) и конвейерной задачи (разделы 5.3 и 5.4). Брукс и Уайт [22] предложили аналогичный подход для решения общей задачи типа п | т | G | При этом подходе каждой вершине дерева, соответствующего нерешенной задаче, соответствует расписание для некоторого под- множества операций и момента времени, когда существует более чем одна операция, которую можно включить в раписание для одной из машин (т. е. так же, как и в предшествующих разделах). Каждая выходящая из вершины ветвь соответствует выбору од- ной из возможных операций. Выбор ветви определяется минималь- ным значением нижней границы максимальной длительности прохождения. Как и выше, качество алгоритма сильно зависит от точности вычисления указанной нижней границы, особенно при выборе первых ветвей. Ниже приводится три, по-видимому, наиболее приемлемых метода оценки. В каждом случае оценка зависит от уже составленной части расписания и узла, к которому приводит та или иная ветвь. 1) С учетом уже составленной части расписания составля- ется полное расписание, причем используется одна из простых диспетчеризаций, описанных в предыдущем разделе. В качестве искомой нижней границы берется максимальная длительность -прохождения для полученного расписания (при этом фактически получаем верхнюю оценку искомой границы). 2) Для каждой работы вычисляется максимально возможное время начала выполнения очередной (не включенной пока в рас- писание) операции. К этому времени прибавляется длительность полного выполнения всех не включенных в расписание операций той же работы. В качестве нижней границы принимается максимум таких величин по всем работам. Полученная оценка хороша, если существуют работы, для которых оставшиеся длительности вы- полнения значительно превосходят аналогичные величины для остальных работ.
5.7] МЕТОД ВЕТВЕЙ И ГРАНИЦ 155 3) Для каждой из машин находится минимально возможный момент начала какой-либо из неупорядоченных операций. К этому моменту прибавляются длительности выполнения всех неупоря- доченных операций, требующих выполнения на той же машине. В качестве нижней границы принимается максимум из таких ве- личин. Получаемая оценка хороша, если существуют машины, нагрузка которых относительно велика по сравнению с осталь- ными. Алгоритм 1) требует максимального объема вычислений, а алгоритм 2) — минимального. Алгоритмы 2) и 3) эффективны лишь при выполнении определенных условий. Проиллюстрируем раз- личие между указанными алгоритмами на примере следующей задачи типа п | т, | G | -Ртах Операции 1 2 3 4 машина р машина р машина р машина р 1 1 6 4 8 3 9 2 4 Работы 2 1 1 2 3 3 9 4 6 3 1 5 3 5 2 3 3 6 Поскольку выполнение всех работ начинается машиной 1, то в начальный момент имеется три возможных назначения. Вы- бору в начальный момент работ 1, 2 или 3 соответствуют три ветви, выходящие из вершины дерева решений; обозначим эти ветви че- рез 51, Вг и В3 соответственно. Определим теперь ветвь, получае- мую при каждом из вышеупомянутых алгоритмов ветвления. 1) Здесь требуется составить все расписание для каждой из ветвей. Если расписание таково, как показано на диаграммах Гантта на рис. 6.11 (на этом рисунке опущены третьи индексы каждой операции), то минимальная граница получается при вы- боре В3. Следующий выбор ветви и вычисление границы будут основываться на части расписания, когда в начальный момент машиной 1 выполняется работа 3 (рис. 6.11, в) ). 2) Если выбрана работа 1, то выполнение следующей операции может начаться в момент времени, равный 6, а оставшиеся дли- тельности выполнения будут равны соответственно 21, 19 и 19, и нижняя граница для Bi равна 27. Для В3 эта граница равна 28 (1 + шах (27, 28, 19)), а для В3 она окажется равной 32 (5ц-тах (27, 19, 14)). Поэтому выбирается 2Д (рис. 6.11, а)). 3) Если в начальный момент выбирается работа 1, то машины 1, . . ., 4 могут начать выполнение очередной операции соответ- ственно в моменты 6, 7, 10 и 6. Суммы оставшихся длительностей
156 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ [ГЛ. 6 выполнения неупорядоченных операций машинами 1 — 4 равны в этом случае 6, 10, 29 и 14. Нижняя граница для ветви В{ равна тогда max (6 + 6, 7 + 10, 10 + 29, 6 + 14) = 39. Для В* граница равна 33, а для В.л она равна 34. Таким образом выби- рается ветвь (рис. 6.11, б). Брукс и Уайт делают вывод, что хотя в вычислительном плане метод ветвей и» границ является все-таки весьма громоздким, 67 38 Машина 1 8 В |?5 Машина 2 2,2у/, Машина 3 3,2 2,5 1,3 5,4 Машина 4 2,^ Рис. 6.11. тем не менее, может служить приемлемой альтернативой методу целочисленного программирования для небольших задач. Более того, их результаты указывают на некоторые интересные диспет- черизации, соответствующие определенным ветвям в дереве реше- ний, получаемым без подробных вычислений. 6.8. Примеры составления расписаний В настоящее время имеется довольно много публикаций по применению ЭЦВМ для составления расписаний для различных задач типа п | т. Не приводя полного обзора таких работ, мы подробно обсудим только наиболее крупные исследования с тем, чтобы проиллюстрировать возможные подходы и получаемые ре- зультаты. В целом можно сделать вывод, что ни один из рассма-
6.8] ПРИМЕРЫ СОСТАВЛЕНИЯ РАСПИСАНИЙ 157 триваемых методов не приводит к особенно эффективным резуль- татам. По ним, однако, можно составить определенное представ- ление о некоторых классах расписаний и получить реальную ос- нову для сравнения тех или иных методов в случае практического решения задач типа п | т. Рассматриваемые здесь методы доволь- но просты, и легко установить, какие результаты можно полу- чить, не обращаясь к более тонким методам; поэтому наш обзор, вероятно, избавит часть исследователей от необходимости повто- рения уже проделанной работы. Сравнение незадерживающих и компактных расписаний со- держится в статье Бахру иРао [13]. Они рассмотрели сис- тему типа 10 | 6 с перестановочными маршрутами', это значит, что каждая из работ имеет в точности т операций (по числу ма- шин т), выполняемых разными машинами в случайно выбранном порядке. Рассматривалось 11 различных задач этого типа, и для каждой задачи была получена случайная выборка из 50 компакт- ных расписаний и 50 незадерживающих расписаний. Максималь- ные и минимальные средние по выборке объема 50 длительности прохождения для каждой из задач приведены в табл. 6.1; макси- мальные средние длительности прохождения для незадерживаю- щих расписаний всегда меньше, чем аналогичные величины для компактных расписаний. Этот вывод справедлив также, если оце- нивать расписания по максимальной длительности прохождения, хотя при изменении критерия задача приобретает существенно другой характер. Нижняя оценка максимальной длительности прохождения вычисляется следующим образом. Находим суммы всех длитель- ностей операций по каждой работе, затем полную загрузку каждой из машин (сумму длительностей всех операций, выполняемых на этой машине) и берем максимум из полученных п + т чисел. Значения нижних границ максимальных длительностей прохо- ждения приведены в последнем столбце таблицы 6.1. Из этой таб- лицы следует, что по крайней мере в двух из И задач наилучшее из 50 незадерживающих расписаний является оптимальным по рассматриваемому критерию. Возможно, что оптимальными яв- ляются и некоторые из остальных расписаний (для которых ниж- няя граница недостижима). В среднем для незадерживающих рас- писаний максимальная длительность прохождения превосходит нижнюю границу на 12%, а для компактных — на 19%. Приведенные результаты подтверждают вывод о том, что если расписание ищется выборочным методом, то имеет смысл исполь- зовать выборку из незадерживающих расписаний. Пример из раздела 6.5 показывает, что для произвольной задачи среди ком- пактных расписаний подмножество пезадерживающих не явля- ется, вообще говоря, наилучшим, и оптимальное расписание может находиться вне этого подмножества. Однако из результатов,
158 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ [ГЛ. 6 Таблица 6.1 Выборочные характеристики расписаний для системы типа 1016 (с перестановочными маршрутами) Средняя длительность прохождения Порядковый номер Выборка объема 50; компактные расписания Выборка объема 50; незадержива- ющие расписания минимум из 50 максимум из 50 минимум из 50 максимум из 50 1 61,9 74,9 59,1 69,4 2 61,5 75,4 61,3 70,3 3 62,8 81,2 69,2 73,8 4 51,7 63,6 49,0 59,8 5 56,0 74,7 54,1 67,9 6 67,7 82,8 65,2 75,6 7 51,8 65,4 51,0 62,1 8 57,4 72,3 55,0 67,5 9 60,0 75,5 58,9 69,6 10 52,6 62,4 51,3 61,0 И 61,4 77,3 61,0 68,6 Максимальная длительность прохождения Порядковый номер Выборка объема 50, компактные расписания Выборка объема 50; незадержива- ющие расписания минимум из 50 максимум из 50 минимум из 50 максимум из 50 нижняя грань 1 76 106 71 103 71 2 83 115 78 99 67 3 86 119 82 106 73 4 68 99 64 91 64 5 74 109 70 93 56 6 95 122 85 116 71 7 69 112 66 83 59 8 76 108 73 95 67 9 82 119 75 ИЗ 65 10 67 100 62 88 54 11 84 116 86 105 78 приведенных в табл. 6.1 ясно, что для многих задач такое свой- ство выполнено. При обращении к выборочному методу дело идет не о существовании или достижимости оптимального расписания, а допускается, что вероятность получить хорошее расписание дос- таточно велика. И в большинстве случаев, по-видимому, множество незадерживающих расписаний более приемлемо в указанном смысле, нежели более мощное множество компактных.
В.81 ПРИМЕРЫ СОСТАВЛЕНИЯ РАСПИСАНИЙ 159 Несколько иной подход к рассматриваемым вопросам предпри- нят Джеремиа, Лалчандани и Ш р ей джем в [102]. Здесь выбор операции из множества неупорядоченных про- изводится не равновероятно, а на основании некоторых характе- ристик операций (или работ). При этом момент начала выполнения выбранной операции назначается так, чтобы получилось компакт- ное расписание. Рассматриваются следующие правила выбора операции из {Ss0}: I1ANDOM — равновероятный выбор. (Имеем тот же алгоритм, что и в [13] для компактных расписаний.) MOPNR — выбор операции, входящей в работу с максималь- ным числом неупорядоченных операций (maximum number of operations remaining). MWKR — P — выбор операции, входящей в работу, для которой длительность выполнения всех остальных неупоря- доченных операций максимальна (most processing- time on subsequent operations). MWKR/P — выбор операции, входящей в работу, для которой максимально отношение суммарной длительности всех неупорядоченных операций к длительности операции, включаемой в расписание (max {(work remaining) / (processing-time)}). SPT — выбор кратчайшей операции, т. е. операции с ми- нимальной длительностью (shortest processing-time). MWKR — выбор операции, входящей в работу, для которой оставшаяся длительность всех операций максималь- на (most work remaining). LWKR — выбор операции, входящей в работу, для которой оставшаяся длительность выполнения всех операций минимальна (least work remaining). Полученные по этим правилам расписания сравнивались с пезадерживающими расписаниями, полученными с помощью со- ответствующих диспетчеризаций следующим образом: сначала выбиралась машина, которая может начать выполнение очередной операции раньше других, а затем из множества ожидающих опера- ций выбиралась операция по одному из правил: RANDOM — равновероятный выбор; SPT — выбор операции с минимальной длительностью выполнения (shortest processing-time) MWKR — выбор операции, входящей в работу с максималь- ной длительностью выполнения всех неупорядочен- ных операций (most work remaining); LWKR — выбор операции, входящей в работу с минимальной длительностью выполнения всех неупорядоченных операций (least work remaining);
160 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ 1ГЛ. 6 LPT — выбор наиболее длинной операции (longest pro- cessing-time); FCFS — выбор операции, попавшей в {5S0} раньше всех, т. е. выбор в порядке поступления (first-come)' first-served). Хотя на первый взгляд правила из этого списка совпадают с правилами из предыдущего списка, различие между выбором из всего множества и из подмножества операций, ожидающих выполнения па той машине, которая окажется доступной раньше других, весьма существенно и приводит к совершенно разным рас- писаниям. Часть полученных в [102] результатов для средней и макси- мальной длительности прохождения, а также для среднего времени окончательного освобождения машин приведена в табл. В.1 — В.З Приложения В, а сводка их — в табл. 6.2 и *6.3. Рассмотренные в статье 84 задачи были разбиты на шесть групп, и использовались три алгоритма выбора последовательности ма- шин, выполняющих операции каждой из работ. Для одной группы использовался алгоритм с перестановочными маршрутами, когда каждая работа имеет т операций — по одной для каждой из ма- шин. Для трех групп задач использовался случайный выбор машин. Здесь для каждой из работ первая операция назначается равнове- роятно па любую из машин; после окончания выполнения опера- ции некоторой работы эта работа или заканчивается, или имеет операцию, выполняемую на одной из остальных машин, и все эти возможности равновероятны. При этом число операций каждой из работ есть случайная величина с геометрическим рас- пределением и средним, равным т. Ясно, что в этом случае работа не обязательно имеет операции, выполняемые всеми машинами, и может иметь две или более операций, выполняемых одной и той же машиной, хотя выполнение одной машиной двух последователь- ных операций одной работы невозможно. Для остальных двух групп задач был использован случайно-фиксированный алгоритм выбора последовательности машин. Здесь каждая работа состоит в точности из т операций, однако выполнение каждой из них производится равновероятно любой из машин. Этот алгоритм является в некотором смысле промежуточным для двух описанных выше. Сводка результатов для средних длительностей прохождения приведена в табл. 6.2. Эти результаты лишний раз подтверждают преимущество незадерживающих расписаний. Для всех 14 вариан- тов задач типа 10 | 4 | Сл. { F лучшее из незадерживающих расписаний превосходит лучшее из компактных. Наиболее разительным является контраст между алгоритмами SPT и MWKR, с помощью которых были получены как компактные, так и иезадержипатощис расписания. Во всех случаях лучшими были
6 Р. В. Конвей и др. Q1 О» Таблица 6.2 Сводка результатов для средней длительности прохождения Результат Система 1» 14 | Си. f i’j 20 ! 4 ( Си 1 F 20 1 6 ( Сл- I 10 | 4 | Сл,- фикс. В* 10 | 4 1 Сл- фикс. ( Р 20 ] 6 1 Сл- фккс- { Р Ю 1 4 | ge- рест- ( Р Число повторений 14 10 10 10 10 20 20 _ _ Лучшее среди незадержи- вающих превосходит луч- шее среди компактных 14 — — — — 20 SPT или RANDOM — наи- лучшие алгоритмы для компактных расписаний 14 10 10 1 0 18 20 Алгоритм LVVKB — наи- лучший для компактных — 9 10 — 0 Алгоритм SPT — наилуч- ший для компактных рас- писаний 3 7 5 1 0 17 19 Алгоритм LWKR — наи- лучший для незадержива- ющих расписаний 7 — — — — 7 Алгоритм SPT — наилуч- ший для незадерживающих расписаний 5 13 о ПРИМЕРЫ СОСТАВЛЕНИЯ РАСПИСАНИЙ
Сводка результатов для максимальной длительности прохождения Таблица 6.3 сп Результат Система Ю | 4 ( Сл. | 1 Fmax 1 20 1 4 | Сл. | 1 -^шах 1 20 | 6 | Сл. | | 1 -^тах 10 | 4 | Сл.- фикс. | /’шах 10 ! 4 ( Сл.- фикс. 1 А’шах 1 20 [ 6 1 Сл.- фикс. I A’Inas 10 (4 ( Не- рест. [ J’max Число повторений 14 10 10 10 10 | 20 20 Лучшее среда незадержи- вающих превосходит луч- шее среди компактных (2 совп.) — — — 18 (4 совп.) Алгоритм MWKR — луч- ший для незадержпваю- щах расписаний 14 (2 совп.) —' — — — — 7 (2 совп.) Алгоритм MWKR или SPT — лучший для неза- держивающих расписаний 14 — — — — — 14 MWKR, MOPNR, MWKR—Р или MWKR/Р—лучший для компактных расписаний 14 10 10 9 (1 СОВП.) 9 (1 совп.) 20 20 Алгоритм MWKR—луч- ший для компактных рас- писаний 10 (7 совп.) 6 (2 совп.) 4 9 (1 совп.) 9 (1 совп.) 6 (1 совп.) 6 ОТЗЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ 1ТЛ.
p.sl ПРИМЕРЫ СОСТАВЛЕНИЯ РАСПИСАНИЙ 163 незадерживающие расписания. Тот же результат был получен для системы 10 | 4 | Перест. \F: во всех 20 случаях лучшее незадер- живающее расписание (в таблице приводится только лучшее из различных компактных расписаний) превосходит полученное при помощи алгоритма SPT, причем незадерживающие SPT-расписа- ния всегда лучше компактных SPT-расписаний. При составлении компактных расписаний наиболее выгод- ными оказались алгоритмы SPT, RANDOM и LWKR: лишь в двух из 84 задач ни один из них не привел к наилучшему рас- писанию. Следует отметить, что полученные результаты не дают основа- ний для вывода о предпочтительности того или иного алгоритма: каждый из пяти алгоритмов (в том числе случайный выбор) при- вел хотя бы в одном из 84 случаев к наилучшему расписанию. По этим результатам невозможно также отдать предпочтение ка- кому-либо алгоритму в зависимости от размерности задачи или последовательности прохождения машин. Для максимальной длительности прохождения (табл. 6.3) результаты существенно отличны от предыдущих. Здесь нельзя утверждать, что незадерживающие расписания лучше компактных, но можно выделить предпочтительные типы алгоритмов. Из 14 за- дач типа 10) 4 j Сл. j -Fmax только для пяти лучшее из незадержи- вающих расписаний превосходит лучшее из компактных; для двух задач результаты совпадают. Незадерживающие расписания для задач типа 10)4) Перест. j оказались лучшими в 14 случаях при четырех совпадениях. При выборе очередной работы, включаемой в расписание, имеет смысл рассматривать общую оставшуюся длительность вы- полнения операций, так как алгоритм MWKR приводит обычно к наилучшему расписанию и при этом алгоритме результаты всегда имеют наименьший разброс. По-видимому, предпочтитель- ным является выбор работы с наибольшей оставшейся длитель- ностью выполнения, и такой подход лучше, нежели рассмотрение длительности выполнения операций из {5S0}. Очевидно также, что указанный подход имеет преимущество перед случайным вы- бором. Для некоторых задач были вычислены средние времена окон- чательного освобождения машин (т. е. времена завершения ма- шинами выполнения последних из предназначенных для них операций). Эти данные, приведенные в табл. В.З, являются не более чем интересным добавлением, поскольку такой критерий не рас- сматривался для других моделей. Интересно, что, хотя мы здесь имеем усреднение по машинам, результаты более похожи на ре- зультаты для максимальной, а не средней длительности прохож- дения. 6*
164 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ [ГЛ. 6 6.9. Вероятностная диспетчеризация В работе [102] затрагиваются вопросы вероятностной диспет- черизации, когда некоторая характеристика работы или операции используется для рандомизированного, но не равновероятного выбора из {5SO}. Коль скоро этот выбор является в какой-то мере случайным, при повторном составлении расписания должны по- лучаться, вообще говоря, разные расписания. Такой прием по- зволяет получить некоторое множество расписаний, из которых можно затем выбрать лучшее. Приведем некоторые аргументы в пользу такого подхода. Пусть существует характеристика X, обладающая тем свойством, что основанная на ее использовании диспетчеризация позволяет по- лучить лучшие расписания, чем при случайном выборе. Для оп- ределенного класса задач ситуа- цию можно изобразить графи- ком, представленным на рис. 6.12. Здесь Е (X) означает сред- Частота 1(Х)М Ш Характеристика расписания Рис. 6.12. нее значение оценки расписа- ния (по одному из критериев) для всего множества задач рас- сматриваемого класса при использовании детерминированной дис- петчеризации, основанной на X; Е(Т?) равно средней оценке расписаний, полученных при равновероятном выборе, а М — средняя оценка при вероятностной диспетчеризации. Если теперь диспетчеризация такова, что выбор существенно, но не полностью, определяется значением X, то распределение результатов имеет вид примерно такой, как на рис. 6.12. Если учет X действительно полезен, то можно ожидать, что М будет лежать правее Е (X) и, по-видимому, левее Е (R). Важно то, что допускаемый разброс может привести к получению расписания с оценкой лучшей, чем Е (X). В зависимости от дисперсии распре- деления и расстояния между Е (X) и М выборка разумного объема возможно будет содержать одно из таких улучшенных расписа- ний *). Приведенные соображения были проверены на 10 задачах типа 10 | 4 | Сл.-фикс. Были составлены расписания, основанные на алгоритмах SPT, MWKR и LWKR, а затем было составлено по 50 расписаний с использованием вероятностного подхода для каждого из алгоритмов. Кроме того, было составлено 50 расписаний, основанных на равновероятном выборе — правило RANDOM. Результаты приведены в табл. 6.4 и 6.5. Каждый раз все операции, входящие {iSso}, располагались в соответствии со *) Это рассуждение имеет смысл как для незадерживающих, так и для компактных расписаний.
6.91 ВЕРОЯТНОСТНАЯ ДИСПЕТЧЕРИЗАЦИЯ 165 значением используемой алгоритмом характеристики, и при вероятностной диспетчеризации выбор производился в соответствии с геометрически убывающими вероятностями. Например, при ал- горитме SPT с наибольшей, вероятностью выбиралась кратчайшая операция, однако с положительной вероятностью могла быть вы- брана и другая. Таблица 6.4 Вероятностный метод составления компактных расписаний; средняя длительность прохождения (система 10 [ 4 [ Сл.-фикс. | ₽*) Порядко- вый номер Повто- рения SPT MWKR LWKR RANDOM детер- минир минимум из 50 детер- минир минимум из 50 детер- минир минимум из 50 минимум из 50 46 1 133,2 123,4 146,2 133,3 123,5 109,0 124,0 47 2 146,5 136,4 187,0 171,8 140,1 131,6 152,4 48 3 158,0 141,0 170,9 161,3 150,5 130,1 142,8 49 4 131,7 121,8 143,4 139,8 128,9 113,8 131,0 50 5 123,2 110,8 145,8 138,6 110,2 107,4 115,7 51 6 121,4 112,6 152,0 139,4 130,7 110,4 117,0 52 7 148,0 125,3 152,4 144,9 126,3 120,1 124,3 53 8 150,7 132,7 204,6 186,5 134,7 125,1 144,4 54 9 159,8 146,9 179,8 175,7 151,3 141,6 153,9 55 10 150,1 131,1 181,7 153,7 129,4 122,8 144,1 Таблица 6.5 Вероятностный метод составления компактных расписаний; максимальная длительность прохождения (система 10 (4 | Сл.-фикс. | Поряд- ковый номер Повто- рения SPT MWKR LWKR RANDOM детерми- нир минимум из 50 детерми- нир- минимум из 50 детерми- нир. минимум из 50 минимум из 50 46 1 206 171 164 160 222 201 188 47 2 253 221 219 213 279 237 214 48 3 219 206 205 196 263 224 235 49 4 247 228 164 164 273 207 180 50 5 248 196 195 195 229 209 191 51 6 214 173 193 170 225 187 170 52 7 234 188 193 185 222 197 191 53 8 373 288 243 237 333 274 249 54 9 300 227 210 204 263 231 218 55 10 258 207 248 216 239 234 210
166 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИИ [ГЛ 6 При оценке но средней длительности прохождения наилучшее из 50 расписаний, полученных методом вероятностной диспетчери- зации, было каждый раз лучше расписания, полученного с по- мощью соответствующего детерминированного алгоритма. Тот же результат (за исключением двух совпадающих) был получен для максимальной длительности прохождения. Интересно, что для обоих критериев абсолютно лучшие расписания были получены при одном и том же алгоритме — детерминированном или вероят- ностном (исключение составляют только три задачи из 10). Более глубокое изучение вопросов, связанных с вероятностной диспетчеризацией, содержится в работе Ньюджента [157]. Он ввел численную оценку расстояния между конкретным детерминированным алгоритмом и алгоритмом равновероятного выбора и исследовал различные вероятностные диспетчеризации, находящиеся между этими крайними точками. Имея возможность менять степень случайности выбора операции, он пытался выяс- нить, в каких случаях по небольшой выборке можно получить относительно хорошее расписание. При этом он рассматривал Таблица 6.6 Вероятностная диспетчеризация; средняя длительность прохождения 6 к « & К Ф nsS 8 К mg п т Порядок выбора машин & ° й s сб S F Р-И Тип расписания RANDOM SPT MWKR FCFS 96 20 9 Сл. 1 Незадерж. 20,7 28,3 22,5 100 Незадерж. 21,2 19,9 21,2 97 1 Незадерж. 15,0 19,0 16,8 100 Незадерж. 15,2 14,1 15,2 98 1 Незадерж. 24,3 29,5 25,8 100 Незадерж. 24,3 22,2 24,3 99 1 Незадерж. 23,1 30,3 25,0 100 Незадерж. 23,3 22,7 24,3 100 60 9 Сл. 1 Незадерж. 32,5 53,3 32,8 50 Незадерж. 30,8 29,7 30,8 101 1 Незадерж. 30,9 55,5 33,8 50 Незадерж. 33,0 29,7 33,0 102 100 9 Сл. 1 Незадерж. 45,7 93,4 58,0 40 Незадерж. 56,0 44,8 56,0 103 1 Незадерж. 47,8 90,9 54,3 40 Незадерж. 46,9 73,2 104 6 6 Перест. 1 Незадерж. 52,7 55,8 54,7 100 Незадерж. 48,2 46,7 48,2 105 10 10 Перест. 1 Незадерж. 834 1011 1036 юо Незадерж. 875 791 875 1С6 10 7 Перест. 1 Незадерж. 68,9 73,5 74,5 100 Незадерж. 68,0 66,8 68,0 1000 Незадерж. 66,4
6.9] 6ЕР0ЯТН0СТНАЯ ДИСПЕТЧЕРИЗАЦИЯ' 16? Таблица 6.7 Вероятностная диспетчеризация; максимальная длительность прохождения О к « & К Ф й ffi И п m Порядок выбора машин Число расписа- ний Тип расписания RANDOM SPT MWKR FCFS 96 20 9 Сл. 1 Незадерж. 48,7 41,9 48,5 100 Незадерж. 43,6 41,4 39,6 97 1 Незадорж. 39,5 37,7 40,7 100 Незадерж. 37,1 34,8 31,3 98 1 Незадерж. 54,4 49,1 55,3 100 Незадерж. 49,1 48,6 46,1 99 1 Незадерж. 50,1 49,5 54,5 100 Незадерж. 51,1 48,8 44,5 100 60 9 Сл. 1 Незадерж. 108,5 76,4 105,5 50 Незадерж. 94,2 89,9 74,9 101 1 Незадерж. 100,6 82,6 107,7 50 Незадерж. 101,9 93,3 40 Незадерж. 80,3 102 100 9 Сл. 1 Незадерж. 132,0 106,9 131,2 40 Незадерж. 126,7 116,4 20 Незадерж. 106,4 103 1 Незадерж. 128,6 103,0 124,6 40 Незадерж. 111,8 107,5 104 6 6 Перест. 1 Незадерж. 88 61 67 100 Незадерж. 59 58 58 1000 Незадерж. 57 105 10 10 Перест. 1 Незадерж. 1074 1108 1235 100 Незадерж. 1050 1022 1047 300 Незадерж. 960 106 10 7 Перест. 1 Незадерж. 108 81 86 100 Незадерж. 82 78 78 как задачи, составленные им самим, так и ранее описанные в ли- тературе. Часть его результатов приведена в табл. 6.6 и 6.7. Эти таблицы не полностью отражают глубину исследования, так как по алгоритму SPT, например, было составлено не 100 расписаний, как указано в таблицах, но по 100 расписаний для каждого из нескольких модификаций алгоритма SPT, отличающихся степенью случайности выбора. Таким образом, лучшее из значений для не- которых вероятностных диспетчеризаций является лучшим среди 500—1000 значений. Приведенные результаты ясно показывают, что вероятностная диспетчеризация позволяет составлять лучшие расписания, нежели детерминированная, и это касается оценки как по средней, так и по максимальной длительности прохождения. Следует, однако, учитывать, что при этом сравнительно небольшой прогресс тре- бует больших усилий. Сравнивая свои результаты с опублико-
168 ОВЩдЦ задача составления РАСПИСАНИЙ [ГЛ. 6 ванными ранее результатами применения других алгоритмов, Ньюджент показал, что его метод дает во всех случаях лучшие по- казатели, чем при использовании любых других алгоритмов — выборочных, диспетчеризаций, или иных эвристических алгорит- мов. Более того, оказалось, что результаты Ньюджента могут конкурировать с решениями, полученными методом целочислен- ного программирования (для небольшого числа задач, где по- следние были получены). Тем не менее, результаты Ньюджента нельзя рассматривать как полный успех, ибо его метод требует огромных затрат. Изме- нение численного параметра, характеризующего случайность ал- горитма, показало, что не существует какой-либо закономерности, позволяющей выбирать более или менее определенный алгоритм для различных задач, и накопленный опыт едва ли сможет облег- чить в дальнейшем усилия при исследовании задач теории распи- саний. Более того, есть основания думать, что вероятностная дис- петчеризация — метод, хороший только для небольших задач. По мере того, как число решений, принимаемых при составлении расписания, возрастает, относительный разброс, получаемый при вероятностной диспетчеризации, будет, по-видимому, умень- шаться, и шансы на получение расписания, много лучшего, чем при детерминированной диспетчеризации, окажутся весьма малы, в то время как трудности использования вероятностной диспет- черизации возрастут. Указанный эффект можно заменить в табл. 6.6 и 6.7 для задач 102 и 103, имеющих наибольшую раз- мерность. В этих случаях расписания, полученные методом ве- роятностной и детерминированной диспетчеризаций, примерно одинаковы. Существуют, однако, и другие аспекты обсуждаемого метода, и дальнейшие его исследования несомненно будут оправданы. Наи- более неожиданным в работе Ньюджента явилось поведение не- которых алгоритмов при уменьшении степени заложенной в них случайности. Проследить зто изменение от чисто случайного вы- бора до детерминированного алгоритма — можно на примере вероятностной SPT-диспетчеризации. Априори можно предпо- ложить, что для каждой задачи ожидаемая (средняя по большому числу реализаций) средняя длительность прохождения (среднее по п работам) должна была бы уменьшаться монотонно и опи- сываться кривой того типа, что изображена на рис. 6.13. В действительности же Ньюджент обнаружил ряд алгоритмов, пове- дение которых в этом смысле описывается не монотонными кривы- ми (рис. 6.14). Представленные здесь выборочные точки (для системы 20 | 9 | Сл. | F), конечно, могут иметь случайный раз- брос, однако общий характер не вызывает сомнений. Ньюджент исследовал также ряд диспетчеризаций, приводя- щих к компактным расписаниям. Здесь машина может оставаться
6.10] ЭВРИСТИЧЕСКИЕ АЛГОРИТМЫ 169 незанятой, даже когда имеется работа, требующая выполнения на этой машине, если вскоре должна появиться более подходящая работа. Важной задачей при этом является придание строгого смысла словам «более подходящая» и «вскоре». Ньюджент добил- ся здесь определенного успеха, получив для каждой из рассмот- ренных девяти задач расписание лучшее (по критерию средней длительности прохождения), нежели все полученные незадер- живающие расписания. Этот подход также требует довольно боль- ших усилий (программирование и объем вычислительной работы) и, так же как и выше, отсутствует какая-либо закономер- ность при переходе от одной задачи к другой. Уменьшение средней длительности прохождения^составило 3% — 5%, в то время как Случайное расписание / SPT-диспетчеризация Случайное расписание Детерминированная диспетчеризация Уменьшение степени рандомизации Рис. 6.13. Уменьшение степени рандомизации Рис. 6.14. максимальная длительность прохождения, вообще говоря, не уменьшилась. Тот факт, что лучшие из составленных Ньюджен- том расписаний не являются незадерживающими, не противоре- чит, однако, сделанному выше замечанию о предпочтительности последних; все полученные им задерживающие алгоритмы яв- ляются тщательно продуманными модификациями алгоритмов, приводящих к незадерживающим расписаниям, так что совокуп- ность его решений не представляет собой случайной выборки из множества, дополнительного к множеству незадерживающих и одновременно компактных расписаний. 6.10. Эвристические алгоритмы Все предыдущие разделы были посвящены изучению довольно простых однократных алгоритмов. Однако, сталкиваясь с зада- чей типа и |т, было бы естественно принимать во внимание более широкий класс алгоритмов, включая, конечно, и корректируемые. Вопрос о различии однократных и корректируемых алгоритмов весьма интересен. При этом, если не удается формализовать для ЦВМ процесс манипуляций со схемой Гантта, то следует по меньшей мере использовать алгоритм, на порядок более сложный,
170 ОБЩ MI ЗАДАЧА СОСТАВ ЛЕНИЯ РАСПИСАНИЙ [ГЛ 6 чем однократная диспетчеризация. Изучение вопроса об адаптив- ных или самообучающихся процедурах практически еще не на- чато и имеет, по нашему мнению, определенную перспективу. Результаты, содержащиеся в единственной публикации на эту тему, не слишком интересны, однако рассмотренные в этой работе методы весьма просты и допускают использование небольшой ЭЦВМ (ИБМ-650), так что мы не усматриваем здесь сколько- нибудь веских оснований для пессимизма. Небольшая работа, позволяющая не терять оптимизма относи- тельно эвристических алгоритмов, была выполнена Крэбиллом [40]. Изучаемый им алгоритм можно назвать корректируемым алгоритмом поочередного включения работ. В этом алгоритме все операции одной работы включаются в расписание последовательно одна за другой, но моменты начала выполнения операций других работ, включенных в расписание раньше, могут подвергаться изменению. При включении в расписание каждой из операций оце- нивается влияние на максимальную длительность прохождения и устанавливается наиболее выгодное место этой работы в расписа- нии. После того как сделано назначение, все операции, включен- ные в расписание ранее, упорядочиваются путем сдвигов влево так, чтобы составленная часть расписания не допускала сдвигов влево. При выборе места для включения очередной операции Крэ- билл использовал нижние границы длительности прохождения для всех работ, уже включенных в расписание, и для включаемой ра- боты I. Более точно, алгоритм таков: пусть возможный момент начала работы I на машине К есть Т, и пусть в момент Т на маши- не К не завершены еще работы 1, 2, ..., L, включенные в расписа- ние раньше. Для работы I есть (L + 1) место (впереди первой из незавершенных работ или после каждой из L). Пусть Di — момент окончания работы i на машине К', Ci — момент полного завершения работы i; Ci — минимально возможное время окончания работы I; Ец — момент окончания работы i (I, 1, 2, ..., L) на маши- не К, если работа I включается в расписание на l-е место (Z - 0, 1, ..., L); pi — длительность выполнения работы I на машине К. Для каждого I вычисляется величина щах (Cj + Ец — Т — pr, max [Сг + Еи — DJ), и место работы I в расписании определяется минимальной из этих величин. Если теперь работа i оканчивается позже, чем Dit то в результате включения работы I указанным образом момент ее окончания сдвигается на Ец — Dt (эта величина, конечно, не бо- лее чем ориентировочная, так как последующие изменения могут
5.101 ЭВРИСТИЧЕСКИЕ АЛГОРИТМЫ 171 как уменьшить ее, так и увеличить). Длительность ожидания для работы /, выполнение которой производится на Z-м месте, равна Ст + Ец — Т — pi. Для каждой из работ выбирается позиция, обеспечивающая наименьшее увеличение нижней оценки времени завершения. Порядок рассмотрения работ в этом методе определяется с по- мощью итераций. Вначале работы располагаются в порядке убы- вания длительностей их выполнения. При каждой следующей ите- рации работы располагаются в порядке убывания моментов их завершения, даваемых предыдущей итерацией. В табл. 6.8 приведены некоторые результаты. Рассматривает- ся часть задач, описанных в работе [102], результаты которой сведены в табл. В.1 — В.З, так что возможно прямое сравнение. В 13 из 20 случаев корректируемый алгоритм привел к оптималь- ному решению. В остальных случаях сравнение также в пользу корректируемого алгоритма. Таблица 6.8 Корректируемый алгоритм поочередного включения работ: максимальная длительность прохождения (система 10 | 4 | Перест. | Порядковый номер Номер варианта Число итераций Корректируемый алгоритм Лучшее значение по табл. В.2 76 1 9 161 *) 161 *) **) 77 2 9 211 223 78 3 9 251 *) 251 *) **) 79 4 9 166*) 203 80 5 9 183 177 **) 81 6 9 243 241 82 7 9 190 *) 193 83 8 9 167 *) . 167 *) «ц 84 9 9 225*) 225 *) **) 85 10 9 170*) 170*) **) 86 И 9 241 *) 241 *) «) 87 12 9 223 *) 223 *) **) 88 13 9 214 206 **) 89 14 9 137 132 **) 90 15 9 227 241 **) 91 16 9 161 *) 171 92 17 9 196*) 202 **) 93 18 9 211 *) 216 **) 94 19 9 225 232 **) 95 20 9 142 *) 144**) *) Оптимальный результат, равный точной нижней грани для f тах' ’*) Незадерживающее расписание.
172 ОБЩАЯ ЗАДАЧА СОСТАВЛЕНИЯ РАСПИСАНИЙ [ГЛ. 6 Если оптимальное расписание получалось с помощью диспет- черизации, то корректируемый алгоритм также дает это решение. Для 16 из 20 задач корректируемый алгоритм позво- лил получить расписание, лучшее (с точки зрения максималь- ной длительности прохождения), нежели какая-либо диспетче- ризация. Нам хочется закончить эту главу словами Гантта [27]: «Разум- ное применение графического метода распределения и упорядоче- ния работ, как правило, позволяет добиться гораздо лучших ре- зультатов, нежели сомнительный метод выбора очередной работы по мере освобождения машин».
ГЛАВА 7 СЕТЕВЫЕ ЗАДАЧИ УПОРЯДОЧЕНИЯ С общей точки зрения многомашинный комплекс можно рас- сматривать как некоторую сеть, состоящую из узлов (группы ма- шин) и трафика (нагрузки) между ними. Этот трафик образован работами, требующими определенных временнйх затрат на выпол- нение или обслуживание в узлах. Работы в узлах могут накапли- ваться, если ресурс машин узла не позволяет приступить к их выполнению немедленно по прибытии. Упорядочение выполнения работ, поступивших в отдельный узел (тема 5-й и 6-й глав), есть, таким образом, лишь один из аспектов общей постановки задачи об упорядочении работ в многомашинных комплексах. Суще- ствует целый ряд тесно связанных между собой вопросов, каса- ющихся прохождения работ в сети и возникающих при этом задержек, и отличных от задач упорядочения в одном узле. Цель данной главы — рассмотреть весьма важные вопросы такого рода и установить их связь с задачами упорядочения. Некоторые из рассматриваемых в этой главе задач возникают в областях, дале- ких от областей, где обычно применяется теория расписаний, од- нако эти задачи, описанные языком теории расписаний, представ- ляют собой типичные задачи упорядочения в многомашинных комплексах с сетевой структурой. Для описания задач и алгоритмов решения удобно использо- вать терминологию теории графов. Мы будем пользоваться терминологией и обозначениями книги Форда и Фалке р- с о н а [54] *). Ориентированный граф состоит из: (а) множества узлов и (Ь) множества дуг. Множество узлов обозначается {7V}, а его элементы, т. е. отдельные узлы,— буквами s, t, х, у, z или числами 1, 2, ..., и; п — общее число узлов. Множество дуг обозначается {А}, а сами дуги или буквой v или упорядоченной парой (х, у), где х и у — узлы, или числами *) В переводе этой главы имеются небольшие терминологические отли- чия от русского перевода книги [54], связанные с принятой в СССР термино- логией по сетевому планированию.— Прим. ред.
174 СЕТЕВЫЕ ЗАДАЧИ УПОРЯДОЧЕНИЯ 1ГЛ. 7 1, 2, т; т — общее число дуг. Для нас существенным будет предположение, что граф не содержит дуг (х, х) пли более одной дуги вида (х, у). Пример изображения графа приведен на рис. 7.1, где круги обозначают узлы, числа в кругах — номера узлов, на- правленные отрезки — существующие в графе дуги. Для каждой дуги (х, у) х называется началом (или начальным узлом), ay — концом (конечным узлом)', будем говорить еще, что дуга (х, у) начинается в хи оканчивается (или ведет) в у. Множе- ство дуг, начинающихся в узле х, обозначается {Л (ж)}. Множе- ство дуг, оканчивающихся в узле х, обозначается {В (zc)}. Буквами s и t будем обозначать соответственно начальный и ко- нечный узлы графа. Это значит, что s — единственный узел графа, для которого {В (х)} пусто, а I — / 2 ) единственный узел, для которого {-4 (.г)} пусто. s~~\ Цепь есть, по определению, по- ( 1 J Д'’1) следовательность дуг (vlt ... vfe) у такая, что две соседние дуги имеют общий узел. Цепь назы- вается путем или направленным путем, если для каждых двух Рис. 7.1. соседних дуг последовательно- сти конец одной является на- чалом другой. Если дуги 1 и к рассматриваемой цепи имеют общий узел, то цепь называется циклом и направленным циклом, если цепь является путем. Часто удобно задавать путь в виде после- довательности узлов, общих для дуг пути. Можно также опреде- лять путь, цепь, цикл и направленный цикл в терминах после- довательности узлов, а не дуг. На рис. 7.1 {(1, 2), (2, 3), (4, 3)} есть цепь, но не путь; {(1, 2), (2, 3)} — путь; {(1, 2), (2, 3), (1, 3)} — цикл, но не направленный цикл, и в этом графе нет направленных циклов. Граф называется связным, если между любой парой узлов су- ществует хотя бы одна цепь. Все рассматриваемые в этой главе графы или связные, или такие, которые преобразуются в связ- ные без потери общности. Ниже будут рассматриваться функции, заданные па множестве узлов или дуг графа. Эти функции ставят в соответствие каждому узлу (дуге) определенное числовое значение. Мы будем обозначать функции через g (•), где g — правило, по которому узлу или дуге ставится в соответствие число. Нам понадобятся еще обозначения g (X), где X — множество узлов, а также g(y, X) и g(V), где {F} — подмножество дуг. По определению £(*) = 2 g(y>X)=- 2 g(y, х), g(7) = 2 ?(*)• же{Х} xe(X)
7.11 ПОИСК КРИТИЧЕСКОГО ПУТИ 175 Граф можно использовать для задания отношения порядка между узлами. Такие графы, определяющие порядок, введены уже в разделе 1.2 и гл. 4. В этих графах дуги описывают отношение порядка между парами узлов: дуга (х, у) означает, что узел х непосредственно предшествует узлу у или, в обозначениях раздела 1.2, х^у. Наличие пути из х в у указывает в этом случае на существование отношений порядка между узлами: х -« Zi -« z2 -« • • -« z(t -« у, /с>0. Если существует путь из х в у, то говорят, что х предшествует у, и пишут х -< г/. 7.1. Поиск критического пути Зачастую описание работы требует задания довольно сложного графа, определяющего отношение порядка, характеризующего ограничения на предшествование среди операций этой работы. В таких случаях задания простой последовательности операций недостаточно, если, например, работа состоит из нескольких групп операций, после выполнения которых следует «сборка», или если отдельные группы операций должны проходить промежуточную сборку или стыковку, проверку и затем быть разобраны на отдель- ные операции. В разделе 4.3 приводится одно из обобщений материала, со- держащегося в гл. 3 и учитывающее ограничения подобного типа. Некоторые методы, развитые в гл. 6, применимы к работам и си- стемам работ сложной структуры. Однако рассмотренные там задачи касаются только работ, которые суть строго упорядочен- ные последовательности операций. Трудность исследования работ со сложными правилами предшествования операций в том, что приходится учитывать не только задержки, связанные с ограни- ченным ресурсом машин, но также обусловленные структурой ра- боты, приводящей иногда к дополнительным задержкам выпол- нения операций. В то же время существует достаточно много ситуаций, когда нужно упорядочить работы сложной структуры, причем ресурсы машин можно считать неограниченными. В таких случаях ограни- чения на порядок выполнения работ и на порядок выбора машин несущественны; очередп отсутствуют. Все задержки обусловлены только структурой работ. Поэтому упорядочение можно осуще- ствлять для каждой работы независимо от остальных и при иссле- довании ограничиться упорядочением операций одной работы, часто называемой при такой постановке задачи проектом.
176 СЕТЕВЫЕ ЗАДАЧИ УПОРЯДОЧЕНИЯ [ГЛ. 7 В силу отсутствия очередей считаем, что каждая операция мо- жет начаться немедленно по завершении всех операций, ей пред- шествующих. Ясно, что по меньшей мере одна из предшествующих операций определяет минимально возможное время начала рас- сматриваемой операции. Операцию можно назвать критической, если увеличение ее длительности или задержка ее начала вле- чет за собой задержку последующих операций на такой же интер- вал времени. Критическим путем тогда будет последователь- ность операций, каждая из которых является критической. Всегда существует по меньшей мере один критический путь. Основным звеном при анализе подобных задач является отыскание крити- ческого пути (критических путей). В процессе выполнения рабо- ты следует сосредоточить внимание на операциях, составл'яющих критический путь, так как задержка в их выполнении вызывает увеличение длительности прохождения всей работы. Исполь- зуя понятие критического пути, можно также ввести численную оценку критичности каждой из операций работы. Поиск критического пути лежит в основе большинства суще- ствующих систем сетевого планирования, среди которых в первую очередь стоит упомянуть PERT [124], GPM [106] и GERT [166] *). Фундаментальное обсуждение этих систем читатель может найти в книге Модераи Филлипса [142]. Каждая из этих си- стем учитывает целый ряд дополнительных факторов таких, как возможность изменения длительности выполнения операции или стоимостные соотношения, однако в основе каждой лежит отыска- ние критического пути. Мы приведем здесь алгоритм подобного анализа для абстракт- ного графа, а затем рассмотрим пример. Представим работу в виде графа, каждый узел которого есть операция. Функция р (х), оп- ределенная на операциях х — 1, 2, ..., п, есть длительность вы- полнения х. Дуга (х, у) означает, что операция х непосредственно предшествует у, т. е. операция х должна быть завершена до начала у. Пусть s и t — соответственно начальная и конечная операции (возможно, фиктивные, с нулевыми длительностями). Задача со- стоит в том, чтобы найти путь, начинающийся в s и оканчиваю- щийся в t так, что любое увеличение р (х) для х, лежащего на этом пути, ведет к увеличению времени завершения t. Задачу можно сформулировать еще иначе: найти пути, ведущие из s в t, для ко- торых суммарная длительность выполнения всех операций вдоль пути максимальна **). *) В книгах [203], [220], [250] и многих работах советских авторов, на- пример [236], [257], [258] и др., с большими или меньшими подробностями также излагаются эти вопросы,— Прим. ред. **) В такой постановке задача становится задачей линейного программи- рования; алгоритм решения двойственной ей задачи в точности совпадает с алгоритмом, приведенным в этом разделе.
7.1] ПОИСК КРИТИЧЕСКОГО ПУТИ 177 Из указанной постановки следует, что ищется множество операций {С} такое, что для увеличение р (х) приводит к увеличению времени завершения операции t. Множество {С} можно тогда использовать для составления критических путей, если их несколько. Пусть е(х) — минимально возможное время начала операции х (предполагается, что e(s) равно 0). Если у €= {В (х)}, то мини- мально возможное время окончания у есть е(у) + р(у). Так как х не может начаться прежде, чем окончится выполнение всех его предшественников, то должно выполняться равенство е{х)= шах (е(р)+р(у)). ve{B(x)j Начав с операции s, можно найти е (х) для каждой операции рассматриваемой работы, двигаясь вперед по графу (предпола- гается, что отсутствуют направленные циклы; в частности, ни одна из операций не предшествует себе). Время завершения работы равно при этом е (t) + р (t). Построение функции е (х) само по себе не дает достаточной ин- формации для выделения критических операций. Можно предпо- лагать, что если некоторая операция определяет минимальный мо- мент начала непосредственно следующей операции, то она, веро- ятно, может быть критической, однако это есть необходимое, но не достаточное условие критичности. Для пояснения рассмотрим пример: Здесь е (2) определяется операцией s, однако р (2) можно уве- личить до 5, не задерживая начала выполнения операции t. Критичность операции можно найти, вычисляя максимальное время ее начала, которое не влечет увеличения времени оконча- ния операции t сверх е (t) -f- р (t). Пусть I (х) — такой момент времени. Операция является критической, если I (х) = е (х), а разность I (х) — е (х) является мерой критичности. Ясно, что I (/.) — е (1). Далее, поскольку максимально возможное время начала операции определяется максимальным временем начала
178 СЕТЕВЫЕ ЗАДАЧИ УПОРЯДОЧЕНИЯ [ГЛ. 7 операции, непосредственно следующей за ней, то имеем I(•*) + Р G) = mi« 1(У)- ЧЕ!») Начав с t, можно найти 1(х) для всех операций работы, двига- ясь вдоль дуг графа в обратном направлении. Алгоритм Дополнительно к уже введенным функциям определим для каждого узла х множество {С (zc)J, включающее в себя те элементы из {В (.г)}, увеличение длительности выполнения которых по- влекло бы за собой возрастание е(х). Иными словами, если г/е(С(жД, то у<={В{х)} и е(у) +р(у) = е(х). Алгоритм состоит из двух больших частей: движения вперед и движения навад. В обоих случаях на каждом шато множество узлов разбивается на два подмножества’. 1) {L} — множество помеченных узлов (для которых найдено е (х) или I (х})\ 2) {AJ — множество непомеченных узлов. Движение вперед Вначале полагаем е (ж)=0 для всех х ЕЕ {TV}, s G {А}; осталь- ные узлы составляют множество {U}. 1) Исключаем из {U} и помещаем в {L} каждый узел х такой, что г/ ЕЕ {А} при всех у S {В (х)}. 2) Полагаем е (х) = max (е (у) + р (у)). «е {В (Т)} 3) Включаем в {С (ж)} все узлы у ЕЕ {В (я)}, для кото- рых е (х) = е (у) + р (у). 4) Если {J7} пусто, то конец вычислений, в противном случае возвращаемся к шагу 1. Движение назад Вначале полагаем I (t) = е (t), t £ {L}, остальные узлы со- ставляют множество {(/}. 1) Исключаем из {А} и помещаем в {L} каждый узел х такой, что для всех у ЕЕ {А (а;)} имеет место включение У е {L}. 2) Полагаем I (х) = min (Z (у) — р (ж)). уе(А(.-щ 3) Если I (х) е (х), то множество {С (ж)} объявляется пустым. 4) Если {U} — пусто, то вычисления окончены, в про- тивном случае переходим к шагу 1. Окончание алгоритма а) (0 + Р (t) — минимальное время завершения ра- боты,
.11 ПОИСК КРИТИЧЕСКОГО ПУТИ 179 б) Любая операция, входящая в непустое множество, является критической. в) Начиная с t, можно построить критические пути из s в t, используя множества (С (х)} и начиная с {С (J)}. Пример задачи и ее решения приведен на рис. 7.2. Здесь кри- тическими операциями являются 1, 2, 5, 6, 8, 10, 11, 12. Имеется Рис. 7.2. два критических пути: 1, 2, 5, 10, 11, 12 и 1, 6, 8, 11, 12. Предше- ствование обозначено маленькими стрелками, а прослеживание критического пути при движении назад — большими. Указанный алгоритм дает возможность находить направлен- ные циклы, имеющиеся в графе. Направленный цикл можно представить последовательностью узлов (ж15 х2, ..., хй), где xt ЕЕ {В (жг+1)}, i==l,2,..., к — 1, и xh ее {В (ж)}. Узлы такой последовательности нельзя включать в {L}. Действительно, если узел х должен быть исключен из {[/} и помещен в {L}, то это зна- чит, что Xj-!, Xt-2, ..., Яц xh, хк-х, ..., a?i+i, и наконец, xt должны
180 СЕТЕВЫЕ ЗАДАЧИ УПОРЯДОЧЕНИЯ [ГЛ. 1 принадлежать множеству {L}; это противоречит предположению о том, что хг ЕЕ {U}. Поэтому если на шаге 1 движения вперед {£7} непусто и ни один из узлов нельзя исключить из {£/}, то в гра- фе содержится направленный цикл. 7.2. Отыскание кратчайшего пути Иногда на дугах графа задается функция, принимающая не- отрицательные значения, которую можно интерпретировать как расстояние между узлами или время перехода из одного узла в другой. При этом, вообще говоря, необязательно, чтобы время перехода р(х, у) по дуге (х, у) равнялось соответствующему вре- мени для перехода в обратном направлении, т. е. р(х, у), или даже, чтобы в графе существовали обе дуги (х, у) и (у, х). Естественным вопросом в такой постановке является вопрос отыскания кратчай- шего пути, ведущего из начального узла s в конечный узел t, причем длина пути полагается равной сумме длин р(у) всех вхо- дящих в него дуг V. Этой задаче посвящены многочисленные исследования (см. об- зорную работу [164]) и предложен целый ряд алгоритмов ее реше- ния. Алгоритм, приводимый ниже, принадлежит М и н т и [1391; эта статья ближе всего к нашему изложению в смысле термино- логии и обозначений и, кроме того, алгоритм Минти наиболее по- нятен интуитивно. Алгоритм В качестве вспомогательных величин мы используем две функции, заданные на множестве узлов: 1) а(х) — нижняя граница времени, требуемого на переход из s в х, и 2) Ь(х) — узел, предшествующий х и лежащий на кратчай- шем пути из s в х. Множество узлов {N} разбивается на два подмножества: 1) {U} — множество непройденных узлов. Если х ЕЕ {£7}, то кратчайший путь из s в х не найден; 2) {Р} — множество пройденных узлов. Еслих ЕЕ {Р}, то крат- чайший путь из s в х найден. Первоначально полагаем a (s) = 0, а (х) = оо для х =^= s и считаем, что {U} содержит все узлы. Основные шаги в алгоритме 1) Пусть х — узел из {£7} такой, что я (х) = min я (у). 2) Если х совпадает с t, то a (i) — минимальная длина пути из s в! и (s,..., b (Ь (£)), Ъ (/), t) есть кратчайший путь. Конец вычислений.
L21 ОТЫСКАНИЕ КРАТЧАЙШЕГО ПУТИ 181 3) Если х не совпадает с t, то исключаем х из {С/} и по- мещаем в {Р}. Для всех У ЕЕ {{А (х)} П {U}} полагаем а (у) = а (х) + р(х,у) и Ъ (у) = х, если а (у) а (х) -|- р(х, у). Затем возвращаемся к шагу 1. Если нужно найти кратчайший путь из s в х для каждого узла х, то второй шаг следует опустить и чередовать шаги 1 и 3 Рис. 7.3. до тех пор, пока {t7} не станет пустым или а (х) окажется равным оо на первом шаге. Если а (х) = оо для некоторого х в конце сче- та, то это значит, что путь из s в х отсутствует. Пример. Рассмотрим сеть (рис. 7.3), состоящую из 7 узлов. В каждом круге, обозначающем узел, вернее число, есть номер узла, ниже написано а (х) для этого узла и еще ниже — Ь (х). Рядом с каждой из дуг записана ее длина. Пусть узел 1 — на- чальный и узел 7 — конечный. Исходный граф изображен на рис. 7.3, а. Множество {U} состоит из всех 7 узлов. Алгоритм начинается с выбора узла 1, который помещается в {Р}. Резуль- тат показан на рис. 7.3, б. Затем из {U} исключается узел 4. Шаги алгоритма повторяются до тех пор, пока {U} не окажется пустым; окончательный результат представлен на рис. 7.3, в. Кратчай- ший путь из 1 в 7 есть 1, 4, 3, 6, 5, 7 и его длина равна 15.
182 СЕТЕВЫЕ ЗАДАЧИ УПОРЯДОЧЕНИЯ [ГЛ. 7 Кратчайшие расстояния между парами узлов находятся «-крат- ным применением указанного алгоритма, причем в качестве на- чальных выбираются поочередно все узлы. Для этой задачи, од- нако, более экономичным в вычислительном плане является мат- ричный метод [164]. 7.3. Системы типа сборочной линии После всего сказанного целесообразно упомянуть о задачах типа сборочной линии как разновидности сетевых задач, привле- кающих значительное в^мание на протяжении двух последних десятилетий. Порядок сборки сложного изделия можно описать графом предшествований, где каждый узел х представляет собой операцию сборки, требующую временных затрат р (х). Сборка изделия производится по мере продвижения вдоль сборочной линии и прохождения отдельных сборочных пунктов. В каждом таком пункте выполняется одна или несколько операций в зави- симости от условий, накладываемых на предшествование; при этом операция может быть выполнена, если ни одна из предшествую- щих ей не должна выполняться в следующих пунктах сборки. За- дача состоит в разбиении множества узлов на g подмножеств {J.!}, {Л2}, ..., {Ag}, где {И,} — есть набор операций, выполняе- мых в i-м сборочном пункте. Чтобы удовлетворялись условия пред- шествования, должно быть выполнено следующее: если х-^у, х GE и у GE {А,}, то i <J. Общая длительность выполнения операций на i-м пункте есть Р (Л). Обычно рассматривается два варианта такой задачи: 1) минимизировать g при условии, что р (Аг) не превосходит фиксированной константы для каждого i, или 2) найти min тахр(Аг). g г Аналитического решения указанных комбинаторных задач пока не найдено; существуют лишь довольно грубые схемы пере- бора. В качестве одного из методов перебора можно использовать метод ветвей и границ (см. гл. 4, 5 и 6). Предложено также несколь- ко эвристических подходов. Относительно полный обзор состоя- ния проблемы содержится в работе И г н о л л а [86].
ГЛАВА 8 ДИСЦИПЛИНЫ ВЫБОРА ИЗ ОЧЕРЕДИ В ОДНОЛИНЕЙНОЙ СИСТЕМЕ Среди предположений, сделанных в гл. 3—6, самым сильным и менее всего соответствующим действительности было предполо- жение о том, что все заявки поступают одновременно. Как отмеча- лось в разделе 4.2, хотя это предположение и является существен- ным для большинства полученных в указанных главах резуль- татов, оно далеко от реальности. Наиболее естественной моделью для схем, рассмотренных в гл. 8—10, являются непрерывные про- цессы. Заявки могут поступать через случайные интервалы вре- мени и группами, причем существует возможность того, что еще до окончания обслуживания всех заявок первой группы заявки следующей группы уже могут прибыть в систему. Отказавшись от предположения об одновременности поступ- ления всех заявок, можно получить много сильных и интересных результатов, хотя и с помощью совершенно других методов. Дей- ствительно, методы исследования систем в предыдущих главах при указанных предположениях были почти полностью алгебраи- ческими, а при поступлении заявок через некоторые Св том числе и случайные) интервалы времени неизбежно использование ве- роятностных методов. Естественной моделью в этом случае яв- ляется система с ожиданием, в которой особую роль играет дис- циплина выбора, т. е. правило, в соответствии с которым одна из ожидающих заявок выбирается из очереди, как только становится доступным один из приборов (машин). Теперь для описания системы вместо задания некоторого мно- жества заявок с известными параметрами необходимо задать слу- чайный процесс поступления заявок и алгоритм выработки их па- раметров. Тогда характеристики рассматриваемой системы, т. е. длительности ожидания заявок и длительности пребывания их в системе, описываются некоторыми функциями распределения или их числовыми характеристиками. Особое внимание уделяется среднему значению длительности пребывания, поскольку оно является важной характеристикой системы (для непрерывного процесса среднее значение момента
184 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 его завершения не имеет смысла). Соотношения раздела 2.4 между средней длительностью пребывания и средним числом заявок в системе выполняются и для непрерывного процесса, так что дисциплина выбора, минимизирующая среднюю длительность пребывания, минимизирует и среднее число заявок в системе. Основ- ной целью является вывод выражения для преобразования Лап- ласа — Стилтьесч функции распределения длительности пребы- вания. Теоретически это эквивалентно получению самой функции распределения, но на практике обращение редко может быть вы- полнено в явном виде. Однако с помощью дифференцирования можно получить моменты распределения. Обозначения в гл. 8—11 отличаются от принятых в предыду- щих главах *). Теперь прописные буквы будут использоваться для обозначения случайных величин. При записи функций про- писные буквы будут соответствовать функциям распределения, а строчные — функциям плотности. Преобразование Лапласа — Стилтьеса (см. Приложение А) функции распределения обозна- чается греческой буквой. Приведем основные обозначения: Величина Случайная величина Функция распределе- ния Преобразо- вание Лапласа — Стилтьеса Функция плотности Длительность обслужи- вания р G(P) T(z) g(p) Длительность ожидания заявки W A(w) a(z) a(w) Длительность пребыва- ния заявки f B(f) b(f) Длительность периода занятости т H(t) T](Z) h(t) Среднее использование (загрузка) однолинейной системы рав- но (см. раздел 2.4) О = Кр, *) Несмотря на то, что обозначения в гл. 8—11 сильно отличаются от принятых в СССР, при переводе они сохранены. Терминология гл. 8—11 отлична от терминологии, принятой в гл. 1—6. Отчасти это обусловлено раз- личием используемых методов анализа. Между основными терминами на- чальных глав и гл. 8—11 можно установить примерно такое соответствие: Главы 1—7 машина работа операция длительность прохождения и т. д.— Прим, pet). Главы 8—11 (обслуживающий) прибор заявка этап обслуживания длительность пребывания
В.11 ОЧЕРЕДИ ПРИ ПУАССОНОВСКОМ ПОТОКЕ 185 где X — средняя интенсивность поступления, а р — средняя дли- тельность работы на одну заявку. В системах с ожиданием, исклю- чая некоторые специальные случаи прерывания или зависящей от предшественника переналадки прибора, средняя длительность работы на одну заявку равна среднему значению длительности об- служивания, обозначаемому Е (Р). Произведение X Е(Р), как обычно в теории массового обслуживания, обозначается через р*). За исключением случаев прерывания и переналадки, U = р, так что среднее использование системы зависит лишь от входя- щего потока и длительности обслуживания и не зависит от дис- циплины выбора из очереди. Дальнейший анализ справедлив, если соответствующие распределения выбираются таким образом, что- бы выполнялось условие р < 1. При выполнении этого условия система называется ненасыщенной. 8.1. Очереди при пуассоновском потоке Большая часть литературы по теории массового обслужива- ния посвящена случаю, когда расстояния между соседними поступ- лениями заявок образуют последовательность независимых в со- вокупности случайных величин с одинаковым экспоненциальным распределением, или, что то же самое **), когда число поступле- ний в заданном интервале времени является случайной величиной с пуассоновским распределением. Это — пуассоновский процесс или, как говорят в теории массового обслуживания, пуассонов- ский входящий поток ***). Такая модель широко используется не только потому, что она дает простое описание многих физи- ческих процессов. Более важной причиной являются простые ана- литические свойства пуассоновского процесса. Если V есть время между двумя последовательными поступле- ниями, то предположение об экспоненциальном распределении означает, что Р {V < р} = 1 — е-х”, р > 0. Среднее значение и дисперсия этого распределения равны соответ- ственно 1/Х и 1/Х.2. Пуассоновское распределение числа поступле- ний за произвольный интервал времени длины t имеет вид Р{ДГ = = , « = 0,1,... *) р представляет собой интенсивность нагрузки на однолинейную систему (см. [38], [260]). В случае Z7 > р величину U можно назвать интен- сивностью загрузки системы. При U = р термины среднее использование, на- грузка и загрузка означают одно и то же.— Прим. ред. **) Доказательство этой эквивалентности содержится в [38]. ***) В отечественной литературе такой поток называют также простей- шим, а в английской — случайным (random arrivals).— Прим. ред.
186 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 Среднее значение и стандартное отклонение N соответственно рав- ны Kt и У К t- Эти двойственные распределения могут быть выведены из не- скольких основных постулатов *), согласно которым вероятность появления заявки за малый интервал времени пропорциональна длине этого интервала, а вероятность появления более одной за- явки есть величина высшего порядка малости. Кроме того, появ- ление или непоявление заявки в малом интервале не зависит от числа предыдущих поступлений и времени с момента последнего поступления. Рассмотрим наиболее важные свойства пуассоновского входя- щего потока: Отсутствие последействия. Предположим, что Ra и Rb яв- ляются моментами двух последовательных поступлений заявок пуассоновского потока и V = Rb — Ra. Требуется найти услов- ную вероятность Р < у + t | V > у}, т. е. вероятность того, что следующая заявка поступит за время (у t) после поступления предыдущей, если за время у, где у < Rb, опа еще не поступила. Уникальным свойством пуассоновского процесса является сов- падение этой условной вероятности с безусловной вероятностью Р {V £} и ее независимость от у. Действительно, р {v < у + q V > у} = е-~'-ч _ е-Ш+0 е~Х;' = 1 - е~и. Процесс называется процессом без последействия, если распреде- ление интервала времени, оставшегося до следующего поступле- ния, не зависит от того, когда произошло предыдущее поступление. Объединение и разделение пуассоновских потоков. Многие до- казательства теории массового обслуживания упрощаются вслед- ствие того, что объединение нескольких пуассоновских потоков дает снова пуассоновский поток, а вероятностное разделение одного пуассоновского потока на несколько дает независимые пу- ассоновские потоки. *) Этими постулатами для пуассоновского (простейшего) потока явля- ются стационарность приращений, их независимость (отсутствие последей- ствия или памяти) и ординарность (см. [108], §§ 1 и 6).— Прим. ред.
8.1] ОЧЕРЕДИ ПРИ ПУАССОНОВСКОМ ПОТОКЕ 187 Рассмотрим входящий поток, который формируется к источ- никами. Если каждое слагаемое является пуассоновским пото- ком, причем i-й поток имеет интенсивность X,, то объединенный по- ток также является пуассоновским с интенсивностью Х = Х1 + + Х2 + •• + Xfe заявок в единицу времени: Xi Для случая двух входящих потоков обозначим через Nr(t) и У2(/) числа событий соответствующего потока за отрезок времени длины t. Покажем, что если каждая из этих случайных величин имеет пуассоновское распределение, то их сумма N(t) также име- ет пуассоновское распределение с интенсивностью Xi Д- Х2. Дей- ствительно, Р {У (0 = п} = 2 Р (Z) = пъ N, (Z) = п - П1} = п,=0 Чтобы доказать это утверждение для любого 7с, можно прибегнуть к индукции, приняв 2ц + ... Д- за Хд и 7Чг за Х2. Для случая, когда пуассоновский поток разделяется на к по- токов, обозначим через гг вероятность того, что входящая заявка будет направлена в i-й выходящий поток. Покажем теперь, что если интенсивность входящего потока равна X, а разделение, т. е. розыгрыш номера выходящего потока, производится по полиномиальной схеме, то i-й поток будет пуас- соновским с интенсивностью ггХ: гД X г2Х Для этого обозначим через N(t) число поступивших за время t заявок входящего потока, а через 7V;(Z) — число тех из них, ко- торые будут направлены в i-й выходящий поток. Условная веро- ятность конкретного распределения заявок по выходящим пото- кам, когда их общее число известно, дается полиномиальным
188 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 распределением Р {TVi (0 = «!,.. Nk (0 = пк | /V (0 = п} = ~;г ,r'i ... гк\ п1- ••• "/с1 Умножая на Р {N (Z) — п}, получим безусловную вероятность Р {Лр (О = П1,.. ., Nk (0 = пк} = --т^--га- г? ... r>-Xf = _ тт г Поскольку эта совместная вероятность является произведением к пуассоновских вероятностей, то выходящие потоки являются не- зависимыми пуассоновскими процессами, причем интенсивность i-ro потока равна krt, i = 1, 2, к. Свойство случайности. Следующее свойство объясняет, по- чему пуассоновские потоки часто называются случайными. Если известно, что за интервал длины t поступила заявка, то момент ее поступления имеет равномерное распределение в этом интер- вале: Р {у момент поступления у + dy ] поступление в (0, t)} = • о<г/<с (1) Чтобы доказать это утверждение, найдем сначала совместную вероятность того, что в (0, t) поступит п заявок и одна из них поступит в малом интервале (у, у -J- dy). Разделим (0, t) на три интервала длиной у, dy и t — у — dy и обозначим число заявок, поступивших в первом интервале, через к, к = 0, 1, ..., п — 1, а в последнем — через п — 1 — к. Тогда одна из п заявок посту- пает в интервале (у, у + dy)-. Число заявок | к | 1 | п — 1 — к | Время 0 у у dy t Совместная вероятность этих трех событий равна произведению трех соответствующих пуассоновских вероятностей: (тт- = Чтобы получить отсюда вероятность п поступлений в (0, t) при одном поступлении в (у, у -р dy), достаточно просуммировать по всем возможным значениям к, а затем использовать формулу
В.1] ОЧЕРЕДИ ПРИ ПУАССОНОВСКОМ ПОТОКЕ 189 Бинома Ньютона: ^>2 (ГУ«-> Пренебрегая величинами порядка (dy)2 и выше, получим Р {п поступлений в (0, t) и одно из них в (у, у ф- dy)} = --^re-^dy. (га — 1)1 3 Чтобы получить условную вероятность, нужно эту совместную ве- роятность поделить на вероятность п поступлений за (0, t): Р {одно из п поступлений в (у, у dy)\n поступлений в (0, i)} = __ (U)»-1 и. I (V)" xi _ ~ (га — 1)1 6 ^аУ I га! в -~Г- Так как в интервале (у, у + dy) с равной вероятностью может находиться момент поступления любой из п заявок, то вероят- ность поступления некоторой заявки в (z/, у + dy) при условии, что это одна из п заявок, поступивших в (0, t), равна dy/t, 0 < у Г г- Поскольку эта условная вероятность не зависит от п, то по отно- шению к п она является безусловной. Случайная модификация. Пусть в момент поступления неко- торой заявки происходит обслуживание одной из предшествую- щих заявок. Распределение остаточной после момента поступле- ния длительности обслуживания называется случайной модифи- кацией длительности обслуживания. Обозначим через X уже прошедшую часть времени обслужива- ния, а через Y — незавершенную к моменту поступления новой заявки часть времени обслуживания. Ниже приводится пример последовательности длительностей обслуживания (периоды неза- нятости опущены) и соотношение между X и У: I Р1 | Р2 | Р3 | | X I I i I i । т-у- I Поступление Как показано в [7], если G (р) есть функция распределения длительности обслуживания, а Е (С) — средняя длительность обслуживания, то P{p<X<p + dp} = 4^-. (2) Интуитивное объяснение этого результата *) состоит в том, что при длинной реализации искомая вероятность пропорциональна *) Вывод формулы (2) в других обозначениях приведен в [243], стр. 75.— Прим, перев.
190 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 суммарной длительности интервалов обслуживания, имеющих длину, заключенную между р и р Ц- dp. Эта величина, в свою оче- редь, пропорциональна произведению длительности обслужи- вания р и частоты dG (р), с которой эта длительность появляется. Поскольку интегрирование левой части дает 1, то знаменатель правой части Е (Р) = pd (С?) (р) является просто нормировоч- о ным коэффициентом. Чтобы найти распределение Y, заметим, что в силу свойства случайности пуассоновского потока распределение Y при условии, что X =- р, является равномерным: Р{У <Y <У + dy\X = р} = , 0 < у < р. Умножая на (2), получим совместную вероятность p{j/<y + dy, р<Х<р + dp} = dy, (3) О«Су«Ср, 0«Cp^oo. Интегрируя это выражение по всем р у, получим функцию плот- ности У: и Обозначая уу (z) преобразование Лапласа — Стилтьеса распреде- ления случайной модификации, получим оо (4) О Отсюда /с-й момент У равен Е /уЧ__ Е 4<fcl) zz \ (fc + 1) Е(Р) • Аналогичным образом исследуется случай, когда вместо длитель- ности обслуживания рассматривается другая случайная вели- чина. Выведенные выше формулы остаются справедливыми, если заменить Р на другую случайную величину, a G (р) и у (z) соот- ветственно на новую функцию распределения и преобразование Лапласа — Стилтьеса новой функции распределения. Пуассона-экс потенциальные системы с очередью. Часто ана- лиз установившегося режима в однолинейной системе с очередью производится при специальном предположении о пуассоновском входящем потоке заявок и экспоненциальном распределении длительности обслуживания. При этом выводится (см., например,
8.2] ПРОСТРАНСТВО СОСТОЯНИЙ СИСТЕМЫ 191 М о р з [143]) система дифференциально-разностных уравнений, описывающих поведение этой системы. В качестве примера рассмотрим однолинейную систему, на которую поступает пуассоновский поток с интенсивностью % и экс- поненциальным распределением длительности обслуживания со средним значением р,-1. Если дисциплина выбора на обслуживание не зависит от длительностей обслуживания, то для непустой си- стемы вероятность окончания обслуживания в интервале длины dt равна р, dt. Состояние системы полностью описывается числом заявок в системе. Обозначая вероятность того, что в момент t в си- стеме находится п заявок, через pn(fyi получим следующую си- стему уравнений для этих вероятностей: -р°а^ = № (0 — ^Ро (0> dp It) at ~ = ^п-1(0 — (^ + и) Рп (0 + MW1(O> « = 1,2,... Можно показать, что ирн р — Мр. <С 1 система нходит и стацио- нарный режим, а стационарные вероятности удовлетворяют си- стеме разностных уравнений, которые получаются из приве- денной выше системы, если все производные заменить нулями. Легко показать, что стационарные вероятности равны Рп = limp„(0 = р"(1 — р), и = 0,1,... (5) t—>оо До конца пятидесятых годов большая часть работ, касаю- щихся дисциплин выбора, основывалась на таком подходе. Ниже используется другой подход, который является более простым и более эффективным. 8.2. Пространство состояний системы Для анализа системы нужно задать множество ее допустимых состояний. Число этих состояний может быть значительно боль- шим, чем число состояний, необходимых для детального описания состояния прибора в некоторый момент времени. Например, если состояние 0 соответствует свободному прибору, а состояние 1 — занятому, то эти два состояния не полностью описывают систему, так как в состоянии 1 очередь может быть пуста или может со- держать десятки ожидающих заявок. Пространство состояний определяется таким образом, чтобы про- цесс, описывающий функционирование системы, был марковским: вероятность перехода из состояния j в состояние к зависит только от/ и к и не зависит от того, каким образом система попала в состоя- ние /. Затем, используя результаты для полумарковских процессов (см., например, [39]), можно получить вероятность того, что си- стема находится в некотором состоянии в определенный момент
192 ДИСЦИПЛИНЫ ВЫЁОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 времени. Наиболее важным является тот факт, что стационарные вероятности представляют собой долю времени пребывания систе- мы в соответствующем состоянии за достаточно большой интервал времени. На рис. 8.1 приводится пример перехода и возвращения в не- которое состояние j. Начиная с момента перехода в состояние у, система остается в этом состоянии время Mj. Затем система уходит из состояния у, проходит ряд других состояний и возвращается в Начало состояния j Окончание Начало состояния j состояния j состояние / через время Ly- после ее предыдущего пере- хода в состояние у. Для ин- тервала, изображенного на рис. 8.1, доля времени пре- бывания в состоянии / равна MjILj. Если имеется несколь- ко таких последовательных интервалов и для к-т интер- вала время пребывания в со- стоянии / равно Mjh, а время между последовательными пе- Рис. 8.1. реходами в это состояние равно Ljh, то доля времени пребывания в состоянии у равна 2 Асимптотическое значение этой вероятности получено Смитом [188]. Если лу — стацио- нарная вероятность состояния у, Шу = Б (Му), Ц = Е (Ly), Л; = lim Pj (У) = irijllj. (6) Этот результат вместе со свойствами пуассоновского потока за- явок служит основой анализа в настоящей главе. Состояния оп- ределяются таким образом, чтобы можно было оценить длитель- ность пребывания заявки в системе в зависимости от состояния, в котором система находилась в момент поступления заявки. По- скольку поток заявок пуассоновский, то вероятность вновь по- ступившей заявке застать систему в состоянии / равна лу — ста- ционарной вероятности состояния у. Если процесс функциониро- вания системы — марковский, то для определения стационарных вероятностей могут служить соотношения (6), так как ту и /у опреде- лить легко. 8.3. Период занятости В однолинейной системе, на которую поступает пуассоновский поток, периоды занятости и незанятости образуют две чередую- щиеся и независимые последовательности одинаково распреде-
8.3] ПЕРИОД ЗАНЯТОСТИ 193 ленных случайных величин. Из отсутствия памяти (последействия) у экспоненциального распределения вытекает также тот факт, что длительности периодов незанятости имеют экспоненциальное распределение. Распределение длительностей периодов занятости может зависеть от дисциплины выбора из очереди только в том случае, если дисциплина предусматривает дополнительное обслу- живание (например, приоритет с прерыванием и обслуживанием заново). Этот вопрос будет рассмотрен позднее. Распределение длительности периода занятости играет существенную роль в изу- чении зависимости распределения длительности пребывания за- явки в системе при различных дисциплинах выбора из очереди. Состояние системы может быть оценено с помощью величины работы, измеренной в единицах времени и состоящей из суммы длительностей обслуживания заявок, находящихся в очереди, плюс длительность дообслуживания заявки, находящейся в при- боре. Типичный пример реализации такого процесса приведен на рис. 8.2. Скачки вверх происходят в момент поступления но- вой заявки, а их величина совпадает с длительностью обслужи- вания соответствующей заявки. Когда величина работы положи- тельна, она убывает со скоростью — 1 до того момента, пока не возникнет дополнительная работа, связанная с прерыванием об- служивания, или период вынужденного простоя обслуживающего прибора. Когда величина работы принимает значение 0, она со- храняет это значение до момента поступления новой заявки. Ука- занный график не зависит от порядка, в котором заявки выби- раются из очереди, так как он полностью определяется момента- ми поступления заявок и их длительностями обслуживания. Так как период занятости соответствует отрезку времени, в те- чение которого величина работы больше 0, то отсюда следует, что распределение периода занятости не зависит от дисциплины вы- бора, если она не предусматривает дополнительной работы или вынужденных простоев. Поэтому мы имеем право выбирать ту дисциплину, которая удобна для теоретического анализа, даже если эта дисциплина и 7 Р. В. Конвей и др.
194 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 кажется искусственной с точки зрения приложений. Рассмотрим одну такую дисциплину, которая позволяет рассматривать период занятости в виде времени обслуживания заявки, начавшей период занятости, плюс последовательность случайных величин, каждая из которых, в свою очередь, является периодом занятости. Для реализации этой специальной дисциплины необходимы две раз- личные очереди: начальная и основная. Те N заявок (IV > 0), которые поступают во время обслуживания начальной заявки, присоединяются к начальной очереди, а остальные заявки, посту- пившие во время периода занятости, присоединяются к основной очереди. Если основная очередь непуста, то сначала поступают на обслуживание ее заявки, а если она пуста, то обслуживаются заявки начальной очереди. Период занятости оканчивается, когда Заявки в начальной очереди Заявки 8 основной очереди 'Период занятости, Т- Рис. 8.3. обе очереди пусты и прибор свободен. Внутри каждой очереди заявки выбираются в соответствии с дисциплиной пришедший первым — обслуживается первым *). На рис. 8.3 изображена реа- лизация периода занятости, в течение которого во время обслужи- вания начальной заявки поступают еще три заявки. Верхний график изображает число заявок в начальной очереди, а ниж- ний — число заявок в основной очереди. Звездочками на оси абсцисс обозначены моменты окончания обслуживания. *) В дальнейшем дисциплина пришедший первым — обслужен первым (first — come, first — served) часто называется прямым порядком обслужива- ния, дисциплина пришедший последним — обслужен первым (last — соте, first — served) — обратным порядком обслуживания. Для краткости эти дисциплины обозначаются соответственно FCFS и LCFS, а порядок обслужи- вания, при котором любая из ожидающих заявок выбирается на обслужи- вание с одинаковой вероятностью, обозначается RANDOM.— Прим. ред.
8.3] ПЕРИОД ЗАНЯТОСТИ 195 Каждая заявка из начальной очереди может поступить на об- служивание только при условии, что основная очередь пуста. Пока обслуживается заявка из начальной очереди, в основную очередь могут поступить новые заявки, и эти заявки, а также те заявки, которые поступят позднее, будут обслуживаться до опус- тошения основной очереди. Поэтому интервал времени между дву- мя последовательными выборами на обслуживание из начальной очереди имеет те же характеристики, что и период занятости, по- рожденный начальным вызовом. Далее, эти псевдопериоды занято- сти независимы и одинаково распределены, причем функция рас- пределения их длительности та же, что и у фактического периода занятости. На основании этих соображений можно вывести преобразование Лапласа — Стилтьеса распределения периода занятости. Пусть Р — длительность обслуживания начальной заявки; N — число заявок за время обслуживания начальной заявки: Т — длина периода занятости; 71; — длина псевдопериода занятости, начав- шегося обслуживанием у'-й заявки, поступившей за время обслу- живания начальной заявки (примем для удобства То = 0). Ис- пользуя независимость и свойства распределения Tj, можно на- писать Е {e-zT| Р = р, N = п, Zo = 0, Л = h, • • Тп = tn} = п = ехр|—z(₽4-S ж} Следовательно, Е {e"zr | Р = р, N = п} = e-zp[T] (z)]n. Так как распределение N — распределение Пуассона со средним значением Хр, то оо Е {e~zT \Р = р} = e~zpe^ 3 П=0 Интегрируя, получим окончательный результат П(2) = Е (e-zT) = J dG(p), о т. е. Т] (z) = т (z + X — Хц (z)). (7) К сожалению, ц (z) находится в обеих частях этого функцио- нального уравнения, что делает обычно невозможным получение явного решения. Однако (7) позволяет определить моменты пе- риода занятости, которые могут быть полезны при изучении 7*
196 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 длительности пребывания. Первые два момента Т, определяемые соответственно как — т/(0) и т]"(0), равны = (7а) Е(П = -^^г- (7Ъ) Часто бывает необходимо рассмотреть случай, когда после поступления заявки, открывающей новый период занятости, при- бор должен затратить некоторое время на подготовку к обслужи- ванию. Назовем это время длительность разогрева, сохранив наз- вание период занятости для интервала непрерывной занятости Конец разогрева Уход последней заявки Рис. 8.4. Начало разогрева прибора обслуживанием заявок. Длительность разогрева плюс период занятости будем называть циклом занятости *). Рис. 8.4 иллюстрирует соотношения между этими тремя интервалами вре- мени. Основная особенность этих определений состоит в том, что разогрев предшествует обслуживанию начальной заявки периода занятости и что цикл занятости заканчивается, когда система ста- новится пустой. Период занятости можно представить как после- довательность псевдопериодов занятости. Обозначим То, Ть, Тс соответственно случайные длительности разогрева, периода занятости и цикла занятости, Но, Нь, Нс — функции распределения, a p0(z), рb(z), т]с (z) — их преобразова- ния Лапласа — Стилтьеса. Здесь длительность разогрева обо- значена по аналогии с периодом занятости, а не длительностью обслуживания, поскольку понятие цикла занятости будет исполь- зовано при исследовании систем с приоритетом, в которых дли- тельность разогрева часто будет интерпретироваться как неко- торый период занятости. Величина p0(z) считается данной. Вывод т]ь(з) и т;с (z) в терминах p0(z) и р (z) производится аналогично выводу уравнения (7). При- вод ем’формулы для T)b(z) и рс (z), а также для двух первых моментов *) Приведем соответствующие английские термины: delay — длитель- ность разогрева, delay busy period--период занятости, delay cycle—цикл заня- тости (период занятости с разогревом).— Прим, перев.
8.4] РАСПРЕДЕЛЕНИЕ ДЛИТЕЛЬНОСТИ ПРЕБЫВАНИЯ 197 соответствующих распределений: Tlb(z) = По(А — Ац (z)), (8) е(^)=4=т-’ (8а) Е № = Е (Го) + Е (Г’), (8Ь) nc(z) = т]о О + А, — Xt](z)), (9) Е (Гс) = , (9а) Е (^) = Е (Т’о) + • (9Ь) 8.4. Распределение длительности пребывания при прямом порядке обслуживания Прямой порядок обслуживания (FCFS) является естественной и часто употребляемой дисциплиной выбора из очереди. В теории эта дисциплина является эталонной для оценки других дисциплин, а также составной частью ряда более сложных дисциплин. Ниже выводится преобразование Лапласа—Стилтьеса распределения длительности пребывания при FCFS в терминах преобразования Лапласа—Стилтьеса распределения длительности обслуживания. Этот анализ легко распространить и на цикл занятости, а также на случай приоритетных дисциплин. Так как длительность пребывания заявки, заставшей систему свободной, совпадает с ее длительностью обслуживания, то, с вероятностью 1 — р, F = Р и р (z) = у (z). С вероятностью р заявка застает прибор занятым и, следовательно, ожидает. Пре- образование Лапласа—Стилтьеса распределения длительности пре- бывания таких заявок обозначим Е | занято }. Для нахождения этой величины представим период занятости в виде последо- вательности зависимых случайных интервалов, вычислим преобра- зование Лапласа—Стилтьеса распределения длительности пребы- вания заявки, поступившей в один из этих интервалов. Учитывая характер зависимости между интервалами, получим необходимый результат. Пусть Тп — длительность обслуживания начальной заявки. Интервалу длины Т\, в течение которого обслуживаются заявки, поступившие за время обслуживания начальной заявки, присвоим номер 1. Обозначим, далее, через Tj сумму длительностей обслу- живания всех заявок, поступивших в интервале номер j — 1. Последовательность таких интервалов изображена на рис. 8.5, где через Nj обозначено число поступлений в у-м интервале.
198 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 Обозначим функцию распределения Tj и ее преобразование Лапласа—Стилтьеса соответственно Hj (t) и тр (z). Выразим тр (z) в терминах преобразования Лапласа—Стилтьеса для ис- пользуя идею вывода преобразования Лапласа—Стилтьеса для периода занятости из раздела 8.3. Используя свойство свертки преобразований Лапласа—Стилтьеса, получим Е {e-zTi\T^ = t, = п} = [т «, откуда 0° оо тр (z) = Е (с-гГ5) = е-и 2 IMfUl (О = (X - (z)). (10) О П—о Таким образом, период занятости представлен в виде бесконеч- ной последовательности интервалов длины Tj каждый, но при ус- ловии р < 1 с вероятностью 1 имеется лишь конечное число таких у, для которых Tj Д> 0, т. е. lim т], (z) = 1. Пренебрегая периодами простоя, примем, что система на- ходится в некоторый момент времени в состоянии у, если в этот мо- мент реализуется у-й интервал периода занятости. В силу свойств Приход начальной Рис. 8.5. пуассоновского потока вероятность вновь поступившей заявке застать систему в состоянии у равна стационарной вероятности nj этого состояния. Используя (6) и рис. 8.5, получим rtj = Р {у | занят} = Е (T’jJ/E (Г). (И) Обозначим через Е {e*zr|iy} преобразование Лапласа—Стил- тьеса длительности пребывания при условии, что заявка посту- пила в систему в состоянии у. Длительность пребывания этой за- явки зависит от номера интервала, так как зависит от его длины. Как показано на рис. 8.6, после поступления заявка сначала ожидает окончания у-го интервала, а затем ожидает окончания об- служивания всех заявок, поступивших в этом интервале до нее.
Я.41 распределение длительности пребывания 199 Используя свойства преобразования Лапласа—Стилтьеса, находим Е {e~zF\Tj — t,Y = y,N = n} = e~zyft (z)]n+1. Усредняя по n, получим CO E {e~zF \Tj~t,Y = y} = e~z^ (z) = = e-zyT(z)e-X(f-wtl-Y(z)]. Случайная величина Y играет роль случайной модификации /-го Д' предшествующих v поступлений Приход Уход Х+1 ХР,- Рис. 8.6. интервала. Использование уравнения (3) из раздела 8.1 и замена Р на Tj и G (р) на Н} (£) дают d.H. (t) ^{y^Y^y + dy,t^Tj^t + dt} = E(p.) dy, 0 < у < t < oo. Усредняя no Tj и Y, получаем E (е-г |)} = t (s) dy = i=0 V—0 3 CO ______________T (z)_______ f r _ -ziy JTT. - E (T.) [XT(Z) - Х + Л V з( >' J f=0 Второе слагаемое под знаком интеграла равно тр(з), первое сла- гаемое равно rp+i(z), что вытекает из (10) после замены j на j 4- 1. Поэтому F I л _ (О-П, (Л] I7'- [Хт (г) - Х + z] Е (Т.) • (12)
200 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 Из (11) и (12) следует Е {e~zF | занят) = л,Е {e~zF | ]} = 3=0 оо = [А.Т (г) - Х + г] Ё(Г) 2 (w (z) — 1Ъ (z)l • Сумма равна 1 — T]0(z), а в силу того, что нулевой интервал со- стоит из времени обслуживания лишь одной заявки, т]0(г) = у (z). Используя затем для Е (7’) выражение (7а), находим Е (e~zF I занят! - А1 ~ Р> ? (гШ-7 (гН. | занят)- Е (Р) [Ху (г) _ х+ г] • (^) Наконец, учитывая случай, когда заявка застает прибор сво- бодным, получаем р (z) = (1 - р) у (г) + рЕ {e~zF | занят) = + z * <14) Чтобы получить первый и второй моменты длительности пребы- вания, вычисляем —Р'(0) и Р"(0). Поскольку производная от Р (z) в нуле имеет вид 0/0, то необходимо дважды применить пра- вило Лопиталя. В результате имеем E(f) = E(P) + ^g!i-, (14а) E„ = E(p.) + 4& + (14b) Легко получить соответствующие результаты и для длительности ожидания, поскольку длительность пребывания равна сумме двух независимых случайных величин — длительности ожидания и длительности обслуживания. Так как |3 (z) = a (z) у (z), то a (z) = Е (e~zW) = ~ (15) ' 7 4 7 X? (z) — л + z v 7 Первый и второй моменты длительности ожидания соответствен- но равны <15“) <15Ь> Если длительность обслуживания имеет экспоненциальное распределение, то преобразование Лапласа—Стилтьеса легко обратить. Из G (р) = 1 — е^, р 0,
К 4] РАСПРЕДЕЛЕНИЕ ДЛИТЕЛЬНОСТИ ПРЕБЫВАНИЯ 201 следует T(z)=ZT7’ 3(z)-ZlL ’ а(2) = 1-р+ Р^~Х)-- Из вида р (z) следует, что функция распределения длительности пребывания имеет вид В (/) = 1 — еЧи’Х)/, / > 0. (16) Функция распределения длительности ожидания является раз- рывной, так как с вероятностью 1 — р длительность ожидания равна 0, а с вероятностью р длительность ожидания имеет экспо- ненциальное распределение ( 0, гр<”0, Л(м’) = | + w>o. ( 7) В разделе 8.3 был определен цикл занятости как сумма началь- ной задержки (длительности разогрева) и последующего периода занятости, в котором происходит обслуживание заявок. При исследовании приоритетных дисциплин нам потребуются длитель- ности ожидания и длительности пребывания заявок, обслужен- ных за время цикла занятости. Их преобразования Лапласа— Стилтьеса и моменты будут получены аналогично тому, как это было сделано при дисциплине FCFS. Все заявки, обслуженные за цикл занятости, поступают, когда прибор занят. В этом случае Т следует заменить на длину цикла занятости, а То фактически является не длительностью обслужи- вания заявки, начинающей цикл занятости, а длительностью разогрева прибора. Аналогично этому Е {e~zF | занят) фактически является безусловным преобразованием Лапласа—Стилтьеса для длительности пребывания, так как теперь заявка уже не может застать прибор свободным. Используя для обозначения цикла за- нятости индекс с, получим R (7\ -- т & I1 ~ Яо (z)] _ (1 — р) т (z) [1 — т]о (z)] PcW- Е(Гс)(Хт(г)_% + 2] - Е (Го) (z) _ х + г] и (iSa) Для преобразования Лапласа—Стилтьеса распределения длитель- ности ожидания заявок, обслуженных в течение цикла занятости, имеем я г_ч________1 -W) _ (1 ~Р) [l-Ло (z)] d E(^)iM(z)-^ + zi “ Е(Л>)im(z)-х-hi •
202 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 8.5. Дисциплины, не зависящие от длительности обслуживания В этом разделе мы рассмотрим класс дисциплин выбора за- явок из очереди, которые не используют информацию о длитель- ности обслуживания ожидающих заявок, так что распределение числа заявок в системе одно и то же для всех дисциплин этого класса. Из уравнения равновесия (раздел 2.4) следует тогда, что средняя длительность пребывания заявок в системе не зависит от вида бесприоритетной дисциплины, хотя распределение длитель- ности пребывания и зависит от вида дисциплины. Наиболее важ- ными дисциплинами этого класса являются прямой порядок об- служивания (FCFS), обратный порядок обслуживания (LCFS) и случайный порядок обслуживания (RANDOM). В настоящем раз- деле рассматриваются дисциплины LCFS и RANDOM. 8.5.1. Распределение числа заявок в системе. Пусть N — число заявок в системе в стационарном режиме. Это означает, что если N (Z) — число заявок в момент Z, то распределение N определяется как Р {N = п} = lim Р [N (Z) = п}. t—>CQ Мы покажем, что распределение N — одно и то же для всех дисциплин, которые не зависят от длительности обслуживания. Поскольку распределение N непосредственно трудно найти, рас- смотрим Nh — число заявок, остающихся в системе в момент окончания обслуживания и ухода /с-й по счету заявки. На осно- вании теоремы Хинчина (см. [178], стр. 232) P^==n} = limP{^ = n}, так что вместо предельного поведения N (Z) можно исследовать предельное поведение Nk. Обозначим через М k число заявок, поступивших за время обслуживания А-й заявки. Тогда ( 7Ий+1, если = О, Nk+1 = ( Мм + Nk - 1, если Nk > 0. Это соотношение показывает, что последовательность случайных величин Nlr N2, ... является однородной цепью Маркова, пере- ходные вероятности которой Р {Nft+1 = j | Nk = i} зависят от распределения числа заявок Mk, поступающих за время обслу- живания одной заявки. Так как распределение Mk не зависит от Nh и зависит лишь от распределения длительности обслуживания и интенсивности входящего потока, то распределение Мк будет одинаковым для всех дисциплин, не зависящих от длительности обслуживания. Следовательно, предельное распределение для h также не зависит от вида дисциплин этого класса,
8.5] НЕЗАВИСИМОСТЬ ОТ ДЛИТЕЛЬНОСТИ ОБСЛУЖИВАНИЯ 203 Чтобы определить распределение числа заявок в системе, используем результаты, полученные ранее для дисциплины FCFS. Пусть Е (''-) = f- (z'v) — производящая функция для рас- пределения N. При дисциплине FCFS все заявки, остающиеся в системе в момент, когда ее покидает обслуженная заявка, по- ступили за ее время пребывания. Если время пребывания уходя- щей заявки равно /, то условное распределение числа остающихся заявок является пуассоновским с параметром % /: В (х) = Е (хN) = е-> / 2 —пг- (/) == Ы(X - М. (20) 0 п>0 Если заменить в (14) z на % — то lw= (21) } (/V ZW/) Ж Дифференцируя, получаем математическое ожидание ДГ: (21а> Первое слагаемое в правой части представляет собой среднее значение числа заявок в приборе, а второе — в очереди. Появле- ние второго момента длительности обслуживания в выражениях для среднего числа заявок в системе (21а) и средней длительности пребывания (14а) означает, что величина скученности сильно зависит от дисперсии длительности обслуживания. Если диспер- сия Р равна о2, то 271^Г[(Е(Р))2 + О2Ь Если распределение длительности обслуживания является эр- ланговским со средним значением £(/*) и к этапами, то диспер- сия Р равна -i- (Е (Д’))2 и ь4-)- <22> так что среднее время ожидания линейно зависит от 1/к. Дву- мя важными частными случаями являются экспоненциальное рас- пределение (к — 1) и постоянная длительность обслуживания (к = оо). Из (22) следует, что средняя длительность ожидания при экспоненциальном распределении длительности обслуживания в два раза больше, чем при постоянной длительности обслуживания, равной среднему значению экспоненциального распределения. Для дисциплины FCFS на основании (20) находим Pfcfs(z) — ^(1---• (23)
204 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 Соотношения (20) и (23) позволяют выразить с помощью диффе- ренцирования моменты N через моменты F и моменты F через мо- менты N для дисциплины FCFS. В частности, из них вытекает соотношение Е (N) = ZE(F) в случае FCFS. Если длительности обслуживания распределены экспоненци- ально, то из (21) сразу получаются результаты раздела 8.1 для однолинейной системы, на которую поступает пуассоновская на- грузка. Из у (z) = ц/(ц + z) следует, что Т (Z — кх) = —= г—-------------. 1 ' ' Р + % — лг; 1 + Р — рх Тогда %х) упрощается: сю £ = (! — р) РПд:”’ г п=о так что р {ДГ = п} = (1 _ Р) р«, п > о. 8.5.2. Обслуживание в обратном порядке. При обслуживании в обратном порядке (дисциплина LCFS) из очереди в прибор пер- вой поступает заявка, пришедшая позднее остальных. Хотя это сначала и кажется неожиданным, но имеется много ситуаций, в которых эта дисциплина является естественной. Например, пред- меты, поступающие на склад, могут складываться так, что наибо- лее доступным является прибывший последним. Можно ожидать, что при дисциплине LCFS иногда будут иметь место очень большие длительности пребывания и что распределение длительности пре- бывания при LCFS будет иметь большую дисперсию, чем при FCFS. Для дисциплины LCFS преобразование Лапласа—Стилтьеса распределения длительности ожидания легко получить с помощью метода, использованного в разделе 8.3 для периода занятости. Заявка, поступившая во время периода занятости, имеет преиму- щество перед теми, которые уже ожидают. Вновь поступившая заявка ожидает завершения обслуживания заявки, находящейся на обслуживании, пропуская вперед себя все заявки, посту- пившие после нее за время дообслуживания, а затем все заявки, поступившие за время обслуживания указанных заявок, и т. д. Другими словами, любая заявка ожидает, пока не исчезнет оче- редь из всех поступивших после нее заявок. Из раздела 8.3 следует, что длительность ожидания для таких заявок имеет вид цикла занятости (период занятости с разогревом), где разогрев пред- ставляет собой случайную модификацию длительности обслужи- вания. Преобразование Лапласа—Стилтьеса случайной модификации длительности обслуживания дается формулой (4), а периода за-
я. 5] НЕЗАВИСИМОСТЬ ОТ ДЛИТЕЛЬНОСТИ ОБСЛУЖИВАНИЯ 205 нятости с разогревом — формулой (9). Используя эти формулы, получим преобразование Лапласа—Стилтьеса длительности ожи- дания заявок, поступивших во время периода занятости: Е (e~zW I занят! = 1 ~ Т (г + ~ (г))__1 - (г) i I мня I Е (Р) (z + х - Ал] (z)) Е (Р) (z + X - М) (z)) ' Как и в случае FCFS, заявка застает прибор занятым с вероят- ностью р, а свободным — с вероятностью 1 — р. Поэтому безус- ловное преобразование Лапласа—Стилтьеса распределения дли- тельности ожидания при LCFS равно a (Z) = Е (a-w) = 1 _ р + . (24) гл лi| Второй момент длительности ожидания равен Е (IF2) = —। . [^Е (f2)]2. (24а) V ) 3(1 —р)* 2(1 —р)3 • ' ' Преобразование Лапласа—Стилтьеса и второй момент распреде' ления длительности пребывания соответственно равны Р(г) = Е («-’) = а(г) т (г) = (1 - р) т (г) + (25) Е(рт)=Ет + ^ + -АГГр+^ЭЕ. (25,) Сравнивая выражения (24а) и (15b) для Е (И72) при LCFS и FCFS, видим, что ElcfS(IK2)= Efgfs (РИ2). Если средние длительности ожидания совпадают, то вторые мо- менты различаются на множитель, зависящий от р, но не завися- щий от вида распределения длительности обслуживания. Как и следовало ожидать, из последнего соотношения видно, что дис- персия длительности ожидания при FCFS меньше, чем при LCFS. Особенно это заметно при большой нагрузке, так как ।---> оо при р f 1. 8.5.3. Случайный выбор из очереди. В ряде случаев фиксация дисциплины выбора представляется невозможной или нежела- тельной. В качестве математической модели этих случаев мы при- мем случайный порядок обслуживания, при котором любая из за- явок, находящихся в очереди в момент выбора на обслуживание, выбирается с одинаковой вероятностью. Анализ распределения длительности пребывания при слу- чайном выборе (дисциплина RANDOM) более сложен, чем при дис- циплинах FCFS или LCFS. Обычпым методом является вывод системы дифференциально-разностных уравнений, содержащих
206 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 распределения длительности ожидания при условии, что вновь поступившая заявка застала в системе h заявок. Если эту систему удается решить, то распределение числа заявок в системе можно использовать для нахождения распределения длительности ожидания. Примеры использования этого метода в случае экспо- ненциального распределения длительности обслуживания содер- жатся у Риордан а [170] и М о р з а [143]. Для постоянной длительности обслуживания Б э р к [23] предложил численный метод нахождения распределения дли- тельности ожидания. Кингман [111] исследовал случайную дисциплину для пуассоновского входящего потока и произволь- ного распределения длительности обслуживания и получил систе- му разностных уравнений, с помощью которой можно определить моменты распределения длительности ожидания. Для экспоненциального распределения длительности обслу- живания Риордан [170] приводит формулы четырех первых моментов распределения длительности ожидания. В частности, Erandom (И75) = —*-77 EPCPS (И72). Можно предположить, что это соотношение имеет место и для про- извольного распределения длительности обслуживания. Итак, для трех рассмотренных дисциплин, не зависящих от длительно- сти обслуживания, дисперсия длительности ожидания наи- меньшая при FCFS, а наибольшая — при LCFS. 8.6. Относительный приоритет и дисциплины выбора кратчайшей заявки Все приоритетные дисциплины вводятся при следующих пред- положениях: каждая заявка принадлежит одному из г классов, для каждого из классов входящий поток является пуассоновским со своим распределением длительности обслуживания. Классам присваиваются номера в порядке, обратном их приоритету: за- явки класса 1 обладают наибольшим приоритетом по отношению к заявкам других классов. Хотя условие присваивать меньшие индексы классам с более высоким приоритетом и кажется не- сколько необычным, оно широко принято в литературе. При от- носительном приоритете (приоритете без прерывания) выбор за- явки из очереди происходит только после полного завершения обслуживания той заявки, обслуживание которой уже началось, причем выбирается заявка из класса с наименьшим индексом. Внутри каждого класса действует дисциплина FCFS. В этом раз- деле мы изучим распределение длительности ожидания и длитель- ности пребывания в случае относительного приоритета и иссле- дуем дисциплину выбора кратчайшей заявки SPT как предель- ный случай относительного приоритета.
Я. Bl ОТНОСИТЕЛЬНЫЙ ПРИОРИТЕТ 207 8.6.1. Относительный приоритет (приоритет без прерывания). Пусть к = 1, г; — интенсивность поступления /с-за- явок; Рк — случайная величина длительности обслуживания /с-заявки; Gh(p) — функция распределения длительности обслу- живания /с-заявок; yfe(z) — преобразование Лапласа — Стилть- еса для Gk(p); pk = kkE (Ph) — интенсивность нагрузки для /г-заявок. Проанализируем длительность ожидания для ^-заявок при не- котором произвольном, но фиксированном к, к = 1, г. (Фак- тически доказательство проводится для к — 2, г, но если О г принять, что 2 = 2 = 0, то полученные результаты справед- г—1 i—j -pl ливы при к — 1, ..., г.) Если бы заявки остальных (г — 1) классов не поступали, то задача свелась бы к однолинейной системе, на которую поступает пуассоновский поток с интенсивностью и распределением длительности обслуживания Gk(p) при дисциплине FCFS. Заявки других классов влияют на функционирование си- стемы двумя способами. Во-первых, за время обслуживания /«-за- явки могут поступить заявки высших приоритетов, которые поступят на обслуживание раньше уже ожидающих «Аг-заявок. Во-вторых, свободный период может окончиться при поступлении заявки другого класса, вследствие чего вместо обычного периода занятости для A-заявок нужно рассматривать период занятости с разогревом (цикл занятости). Влияние первого типа можно учесть с помощью соответствующего переопределения понятия «длитель- ности обслуживания //-заявки», а второго — с помощью резуль- татов для периода занятости с разогревом. Очевидно, что с точки зрения влияния на обслуживание //-заявок заявки классов 1, ..., к — 1 эквивалентны и могут быть объединены в один класс а. Заявки классов к + 1, ..., г также эквивалентны и могут быть объединены в один класс Ъ. На осно- вании результатов раздела 8.1 входящие потоки заявок классов а и b также являются пуассоновскими с интенсивностями соответ- ственно / 1 г к = 2 к h = 2 (26а) i=l i=/c+l Для составных классов введем следующие обозначения: Ра, Ръ — случайные длительности обслуживания; /г-1 г Ga(p)=~^^GdP^ Gb(P) = 4- 2 W) (26Ь) Ь=1 » г=й+1 — функции распределения длительности обслуживания;
208 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ.8 ya(z), Ть(2) — преобразования Лапдаса—Стилтьеса Ga(p) и GM ро = ZaE (Ра~), pb = ?«hE (Рь) — ивргёнсивности нагрузки. Когда ^-заявка поступает на обслуживание, в системе нет «-заявок. Во время обслуживания ^-заявки могут поступить «-заявки. Прежде чем на обслуживание поступит следующая ^-заявка или пока будут обслужены все А:-заявки, должны быть обслужены все вышеупомянутые a-заявки и их a-потомки. Для ожидающей Ar-заявки длительность обслуживания стоящей перед ней /с-заявки равна не Ph, a Ph плюс время, необходимое для об- служивания всех a-заявок, поступивших за время Рк. Этот сум- марный интервал назовем временем блокировки и обозначим Р^а, поскольку он также играет роль длительности обслуживания. По- лезно ввести класс ка, заявки которого занимают прибор на время блокировки. Как только Ar-заявка поступает на обслуживание, для каждой из последующих А:-заявок в течение рассматриваемого пе- риода занятости обслуживание предыдущей А:-заявки фактически происходит в течение времени Pka. Отсюда следует, что время блокировки эквивалентно периоду занятости с разогревом, в ко- тором разогрев представляет собой обслуживание А:-заявки, а в периоде занятости происходит обслуживание «-заявок. Обозна- чая преобразование Лапласа—Стилтьеса времени блокировки че- рез уйа(г), получим из уравнения (9) Tta (2) = Ts (z + К — М,, (2)), (27) гДе pa(z) находится из Па (z) = Та (2 + — ХаГ]а (z)) и представляет собой преобразование Лапласа—Стилтьеса рас- пределения периода занятости для «-заявок. Первый момент вре- мени блокировки равен E(PRa)=E(Pft)/(l-Pa). (27d) С помощью времени блокировки мы описали одно из двух от- личий рассматриваемой системы от системы, на которую поступают только А:-заявки при дисциплине FCFS. Чтобы описать второе от- личие, необходимо рассмотреть, как начинается период занятости. Если А:-заявка поступает, когда прибор свободен, то она не ожи- дает. В противном случае она поступает во время периода заня- тости с разогревом, начавшегося с обслуживания «-, А:-или ^-заявки. Каждый из этих трех периодов занятости с разогревом закан- чивается, когда в момент завершения обслуживания некоторой заявки в системе больше нет ни а- пи А^-заявок. При этом ^-заявки могут либо присутствовать в системе, либо не присутствовать.
я 6] ОТНОСИТЕЛЬНЫЙ ПРИОРИТЕТ 209 Цикл занятости (период занятости с разогревом) типа а или к начинается, когда соответственно а- или А:-заявка поступает на свободный прибор. Цикл занятости типа Ъ начинается с обслужи- вания ^-заявки, поступившей на свободный прибор или ожидав- П1ей, пока закончится обслуживание всех а- и /с-заявок. Три типа циклов занятости изображены на рис. 8.7. Отметим, что любой момент времени в интервале занятости прибора принадлежит одному и только одному из трех вышеуказанных типов циклов за- нятости. Полный период занятости прибора состоит из не более чем одного цикла типа а или к и может содержать несколько циклов типа Ъ. Формула (19) служит для получения преобразования Лапла- са—Стилтьеса условного распределения длительности ожидания в зависимости от типа цикла. Используя для обозначения типа цикла индекс г, i = а, к, Ь, получим из (19) „ W /ООХ E(TOi)lXT(Z)_X + z] • ( } Здесь pfea = (Pha) = pfe/(l — pa) — интенсивность нагруз- ки, создаваемой заявками вида ка. Тйа для цикла типа а представляет собой период занятости «-заявками, а Тoh для цикла типа к представляет собой пр&сто вре- мя блокировки Pka. Величина 7'0Ь для цикла типа b сама является циклом, в котором разогрев представляет собой обслуживание ^-заявки (Рь), а затем следует период занятости «-заявками (см. рис. 8.7). Из (9а) можно получить Е (Тоь), а из (9) — T|ob(z). Ве- личины, которые нужны для подстановки в (28), и результаты этой подстановки приводятся в табл. 8.1. Содержащиеся в этой таблице преобразования Лапласа — Стилтьеса условных распределений длительности ожидания поз- воляют найти преобразование Лапласа — Стилтьеса безусловного распределения длительности ожидания /с-заявок с помощью фор- мулы полной вероятности. Для этого нужно найти вероятность того, что вновь поступившая /с-заявка застанет систему в опреде- ленном состоянии. Будем говорить, что система в момент t нахо- дится в состоянии 0, а, к, Ъ, если в этот момент соответственно при- бор свободен или имеет место цикл типа а, к, Ъ. Обозначим через л, стационарную вероятность состояний г, через игг — среднюю продолжительность пребывания в этом состоянии, а через Z, — среднее время между двумя последовательными возвращениями в состояние г. На основании (6) л, = игг/£,. Пусть р = ра 4-pfe + рь. Так как р есть интенсивность наг- рузки или коэффициент использования системы, т. е. вероятность ожидания, то л0 = 1 — р. Поэтому среднее время 10 между после- довательными возвращениями прибора в свободное состояние равно X-1 (1 — р)-1,
210 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 Поступление а-заявки Освобождение системы от а-заявок Освобождение системы от заявок типов auk Период Обслуживание только Обслуживание заявок Период простоя простоя а-заявок типов auk или цикл типа в Разогрев Длительность цикла Цикл типа а Поступление к-заявпи Освобождение системы от заявок типов auk Период Рка Обслуживание заявок типов а и к Период простоя простоя или цикл типа 6 ^Разогрев** Длительность цикла Цикл типа к Начало Освобождение обслуживания Уход системы b-заявки b-заявки от а-заявок Освобождение системы от заявок типов auk или цикл типа в Разогрев ------а Длительность цикла- Цикл типа Ь Рис. 8.7,
8.6] ОТНОСИТЕЛЬНЫЙ ПРИОРИТЕТ 211 Таблица 8.1 Тип цикла i к Р/са Т (Z) ПОг (2) а Pfc / (! — Ра) Т/са (z) Па (2) к h Pfc / (! - Ра) Т/са (Z) Т/са (2) ь Ч — Ра) Ча (2) Ч (2 + Ч - Ма (2)) Тип цикла i Е (Toi) “ci (z) а Е (Рд) 1 - Ра 1 -Ра-Р/t 1 ~ Па (») ЧЧа (z) - Ч + Z Е (Ра) к Е(Р/са) 1 - Ра Ра-Pic 1-V/.-a(z) ^Ла (z) — ^/с 2 Е (Лс) Ъ Е(Л>) 1 - Ра - Р/с 1 - Tb (z + Ха ~ Ма (г)) 1-Ра ЧЧа (z) - Ч + Z Е (Pb) Чтобы найти 1а и lh, введем Nt (Z), i = а, к, Ь,— математическое ожидание числа периодов занятости в интервале длины t, начав- шихся с поступления i-заявки в свободную систему. Определим интенсивность появления периодов занятости с помощью пре- дельного перехода Отношение величин г, равно отношению интенсивностей поступле- ния заявок соответствующих классов, поскольку вероятность то- го, что начальная заявка периода занятости принадлежит классу i, равна Лг/Л. Следовательно, Суммарная интенсивность г появления периодов занятости равна сумме индивидуальных интенсивностей, т. е. г — га + Ч + ГЬ = га(^ + ~ Га~к~ ’
212 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ оДНОЛиНЕЙИОЙ СИСТЕМЫ [ГЛ. 8 Поэтому 1 X 1 га ~ Ч г Среднее время между начальными моментами двух последователь- ных периодов занятости равно 10, и из предельной теоремы теории восстановления (см. [162], стр. 180) следует 1 1 7 — _ / — 1 Ао — ~, ьа — “7 > 1 ’ а так что Поскольку Zo = [А, (1 — р)] х, то la — [Ха (1 — р)] 1 и аналогично Так как каждая 6-заявка начинает цикл типа Ь, то в среднем в единицу времени возникает кь таких циклов. Из только что приведенного результата теории восстановления следует, что 1Ъ = Икь. Величину mi, i = а, к, Ь, можно получить с помощью формулы (9а), на основании которой С помощью этих величин найдем стационарные вероятности состоя- ний лг: , Ра (! “ Р) Ло — 1 р, Ла — t , “a ‘к „ _ ~ Р) * Ра~ Р/с’ ~ 1 ~ Ра “ Pfc Отсюда ah (z) — преобразование Лапласа—Стилтьеса для без- условного распределения длительности ожидания /с-заявок — равно (^) = Е (б — Mq -ф ^а&са (^) "Ь R’b&cb (^) ~ _ (1-р)Н-ЬЧ-Ма(2)]+Ч{1-'1Ь(2+Ч-Ма(г))1 МНг+^-Ма(2))-^2 Первый момент длительности ожидания равен C(wx ЧЕ(^)+ЧЕ(^) + ЧЕ(р?) 2 (1 — pe — Pfc) (1 — р„)
8.6] относительный приоритет 213 Чтобы перейти от трех укрупненных классов заявок к первона- чальным г классам, нужно сделать следующие подстановки: Ъ£(Р2а)= %bE(Pg)= 2 ^Е(Р?), i=l i=/t+l fc-1 Pa ~ 2 Pi" После этих подстановок формула (29а) принимает вид 2 чЕ Е (WJ = -------. (29а') 4-2 р<) О-з рО Рассмотрим г классов заявок. Математическое ожидание об- щей длительности ожидания или длительности пребывания мож- но минимизировать, назначив приоритеты в соответствии со сред- ним значением длительности обслуживания, т. е. i < /.для любых двух классов i, /, тогда и только тогда, когда Е (Р;)^Е (Pj). В более общем случае примем, что убытки из-за ожидания /-заявок являют- ся линейной функцией длительности ожидания с коэффициентом и-j и что нужно минимизировать критерий, представляющий сред- ние убытки на заявку, т. е. г . г VjSW?) 2 y и£ (w}) = 2--------------------5— • i=1 i=l i=l В этом случае оптимальное правило назначения приоритетов при- нимает вид Е (Pi) Е (Р2) Е(рг) Ml М2 \ ‘ \ и? Этот результат аналогичен теореме 3.10 (раздел 3.7) и доказывается аналогичным образом. Если длительности обслуживания заявок известны в момент их появления, то относительный приоритет можно использовать для того, чтобы уменьшить среднюю продолжительность пребыва- ния по сравнению со случаем дисциплины, не зависящей от дли- тельности обслуживания. В простейшем случае выбирается число d и заявки разбиваются на два класса, причем приоритетом обла- дают заявки, длительность обслуживания которых менее d.
214 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 Оптимальное значение d зависит от распределения длительности об- служивания и интенсивности входящего потока. Средняя дли- тельность ожидания по отношению ко всем заявкам равна с (^*2) Г 1 1 с - 2 (1 - р) L 1 - pi .г Множитель в квадратных скобках, который мы обозначим R (d), представляет собой отношение средней длительности ожидания для относительного приоритета к средней длительности ожидания для FCFS. Легко видеть, что R (d) < 1, поскольку pj = = KG (d)E (Р\Р <z d) меньше, чем KG (d)E (P) = pG (d). Предпо- лагая, что G(p') задано и имеет плотность g (р) *), можно получить выражение для определения оптимальной точки разбиения d в зависимости от К, дифференцируя R (d) и определяя корень урав- нения R'(d) — 0. Производная равна d — Pg(d) р — K^tg(t) rftj + [1 — pG (d)] Kg (d)d R’ W =---------------2—d-----------------------• [1 — tg (i) dt j3 0 Приравнивая нулю числитель и сокращая на pg (d), получим, что d является корнем уравнения d -^-t + K[^tg(t)dt-G(d)d^Q. (30) О Можно показать, что d для любой G (р) является возрастающей функцией К и изменяется между Е (Р) и таким большим значени- ем, при котором класс 2 отсутствует. Действительно, продифферен- цируем (30) по К: Др, -й-+(')» - е - w>-g- = °- о тт dd Интегрируя по частям и разрешая относительно , получим d G (t) dt dd о ~dK = [Ё(Р)]-1 —%G(<Z)' * Это выражение положительно, если KE (Р) = р < 1. *) При наличии плотности g (р) из теоремы 6 17 [252] следует, что d d pi = К t dG (t) = К tg (t) dt.— Прим, nepee. о о
8.6] ОТНОСИТЕЛЬНЫЙ ПРИОРИТЕТ 215 Нижняя граница значений d является корнем уравнения (30) ири А = 0. Верхняя граница значений d является корнем урав- нения (30) при А = [Е (Р)]-1, т. е. при р = 1. В этом случае (30) принимает вид [1 - G (d)] d tg (1) dt - E (P) = [1 - G (d)] d — ^tg (t) dt = 0, 0 d а корнем этого уравнения служит корень уравнения G (d) = 1. Если длительность обслуживания распределена равномерно на отрезке (0, 0), то (30) можно записать в виде 2d л Arf2 л “в 1 ~ ТгёГ ~ и’ откуда d--V--------к---- Так как р — А0/2, то d=4(i-/r^). Если длительность обслуживания имеет экспоненциальное рас- пределение со средним значением 1/р, то (30) сводится к уравне- нию pd — 1 + А (1 — е-^) — Ae~ixdd — А (1 — е~И) d = 0 или Н л A yd-1 ’ 8.6.2. Дисциплина выбора кратчайшей заявки. Идея исполь- зования относительного приоритета для уменьшения средней длительности ожидания может быть обобщена со случая одной гра- ничной точки d на случай г 4- 1 граничных точек (0 = d0 < <di<. . . < dr), где dr так велико, что G (dr) = \. При этом заявки с длительностью обслуживания Р, d/.j < Р <1 dy, принадлежат классу /. Для такого правила назначения приоритетов общая сред- няя длительность ожидания равна =«’^2------------------------------------- (3D 3 [1— А tdG (t)j |л — А tdG (*)] о f о Если число классов неограниченно увеличивается таким обра- зом, что dj — dj-{ неограниченно уменьшается для всех /, то при таком разбиении на обслуживание всегда выбирается, кратчацщан
216 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ 1ГЛ. 8 заявка (или одна из нескольких равных по длине заявок, если функция G(p) разрывна). Это — обобщение введенной в гл. 3 дис- циплины выбора кратчайшей заявки. Для общей средней длитель- ности ожидания с помощью предельного перехода получаем из (31) Е (ТУ) = Alp. . (32) 0 [1 - к tdG (t)] [1 - X. tdG (t)] О о Если G (р) непрерывна, то знаменатель можно записать в виде р (*)]’. о Среди дисциплин без прерывания дисциплина выбора кратчай- шей заявки является оптимальной с точки зрения минимизации средней длительности пребывания. При этом следует иметь в виду, что можно получить еще лучшие результаты в тех случаях, когда момент поступления и длительность обслуживания заявок стано- вятся известными еще до их поступления в систему. Однако проб- лема использования такой прогнозирующей информации (возмож- но с помощью введения искусственных простоев прибора в расчете на вновь поступающие заявки) пока не получила удовлетворитель- ного решения (см. раздел 4.2). 8.6.3. Многоуровневый относительный приоритет. Многоуров- невый относительный приоритет является динамическим аналогом обычного относительного приоритета, рассмотренного в разде- ле 3.8. Разбиение заявок по классам происходит в два этапа в соот- ветствии с какими-то двумя признаками заявок. Основной при- знак служит для разбиения заявок по классам, а дополнительный признак служит для разбиения заявок по подклассам внутри каж- дого основного класса. Например, основным может быть разбие- ние на классы срочных и несрочных заявок, а внутри каждого из этих классов дальнейшее разбиение может производиться в соот- ветствии с длительностью обслуживания. Тогда срочные заявки поступают на осблуживание раньше, чем несрочные, а среди сроч- ных заявок короткие — раньше длинных. Интересно выяснить, какой эффект на вторичное разбиение оказывает первоначальное разбиение. Так, в приведенном выше примере интуитивно ясно, что, с точки зрения минимизации сред- ней длительности пребывания или среднего числа заявок в систе- ме, двухуровневое разбиение менее эффективно, чем одноуровне- вое. Одним из способов ответа на этот вопрос является сравнение эффективности системы с относительным приоритетом и г классами заявок с той же системой, когда заявки каждого из г классов до- полнительно разбиваются на два пуассоновских цодкласса. Реди
8.61 ОТНОСИТЕЛЬНЫЙ ПРИОРИТЕТ 217 / — доля числа заявок класса к, попадающих в привилегирован- ный подкласс, то основной класс к распадается на два класса: класс к с интенсивностью поступления fkh, класс к + г с интенсив- ностью поступления (1 — /)Xfe. Пусть Е (Wfe) — средняя длитель- ность ожидания /с-заявки при первоначальном разбиении по клас- сам, а Е (ТУ— средняя длительность ожидания первоначальной /«-заявки при двухуровневом разбиении. Из (29а') следует S w?) EW =-------Й------s----- ('-з Pi) г Е(И'\.)-2 V(^) 3=1 ______________i-f____________ 2[1-/р-(1-/)2 Р{] [1-/P-(1-/)S Pj г—1 1=1 - 2 №----------n-J------— + “ 12(*-з S ₽.)(*-/3 p.) Ив этой формулы следует, что средняя длительность ожидания /с-заявок при двухуровневом разбиении является линейной ком- бинацией средних длительностей ожидания в двух системах: 1) когда интенсивность нагрузки в классе i равна /р;, г = 1,..., к; 2) когда интенсивность нагрузки в классе i равна Pi (1 — /)/(!—/р), / = !,..., к. Это соотношение является по меньшей мере удивительным. С его помощью можно показать, что эффективность не может быть улуч- шена за счет двухуровневой процедуры. Так как Е (И\) выпукла
218 ДИСЦИПЛИНЫ ВЫБОРА ДЛЙ ОДНОЛИНЕЙНОЙ СИСТЕМЫ (ГЛ. 8 к—1 по отношению к 2 Pi и Рю то для каждого /€=[0,1] i = l I +__kJ_________> к_______________________________________________к ' к—1 к Ч1 -fspjf spj 2[i—<i—n sp4[i-ci-ns pj 1=1 i=l i=l i=l >___________1________ " 2(<-2p,)(.-2;₽.) i=l i=l Поскольку 1 — /р 1, TO t + S—1______________к___‘ 1=1 1=1 +__________________IzJ_________________> ' 2 (1 - /Р)2 (1 - 2 Pi) v -S Pi) i=l i=l 1 k—1 к * 2(‘- S p.)(<-3p<) В граничных точках (/ = 0 и / = 1) E (И\) = Е (И\). Однако, в отличие от результатов раздела 3.2, эффективность не является симметричной функцией / относительно / = 0,5. В табл. 8.2 приво- дятся результаты, полученные при экспоненциальном распреде- лении длительности обслуживания. Таблица 8.2 Средняя длительность пребывания для двухуровневой дисциплины SPT при экспоненциальном распределении длительности обслуживания со средним 1 и долей / приоритетных заявок f р 0,0 0,2 0,4 ,0 о.ч 1,0 FCFS 0,60 1,962 2,054 2,138 2,1 2 2,174 1,962 2,500 0,70 2,312 2,455 2,598 9 ], 2,7/7 2,312 3,333 0,80 2,882 3,104 3,352 .‘>,746 2,882 5,000 0,90 4,197 4,562 5,025 йДЬ 6,306 4,197 10,000 0,95 6,263 6,794 7,503 8,257 10,181 6,263 20,000 0,98 11,283 12,092 13,216 14,969 18,400 11,283 50,000
8.7] АБСОЛЮТНЫЙ ПРИОРИТЕТ (ПРИОРИТЕТ С ПРЕРЫВАНИЕМ) 219 8.7. Абсолютный приоритет (приоритет с прерыванием) При абсолютном приоритете, т. е. приоритете с прерыванием, выбор из очереди происходит так же, как и при относительном, но если в момент поступления заявки в систему обслуживается заяв- ка младшего приоритета, то вновь поступившая заявка направ- ляется сразу на прибор, а прерванная заявка возвращается в оче- редь и становится первой среди заявок своего класса. Необходи- мость прерывания может обусловливаться либо особой важностью некоторых классов заявок, либо выходом прибора из строя. 8.7.1. Прерывание с дообслуживанием и прерывание с обслу- живанием заново. Мы будем исследовать абсолютные приоритеты трех видов, отличающиеся способом повторного обслуживания прерванных заявок. Если после возвращения прерванной заявки в прибор она обслуживается с прерванного места так, как будто прерывания не происходило, то это — прерывание с дообслужива- нием (preemptive resume или сокращенно рг). Когда прерывание оказывает влияние на общую длительность обслуживания, то воз- можны два случая. Если изменения в длительности обслуживания обусловлены прибором, естественно предположить, что при каждом возвращении длительность обслуживания выбирается заново. Ес- ли же длительность обслуживания определяется только классом заявки, тогда она выбирается еще до первого поступления в при- бор и сохраняется независимо от числа прерываний. Эти два *) случая называются соответственно прерывание с обслуживанием заново с новой длительностью (preemptive repeat with resampling или сокращенно rs) и прерыванием с обслуживанием заново с той же длительностью (preemptive repeat without resampling или сокра- щенно rw). Чтобы различать эти дисциплины, после номера фор- мулы будет ставиться соответствующий индекс (pr, rs, rw). Метод исследования абсолютного приоритета тот же, что и отно- сительного. Рассматривается некоторый произвольный класс зая- вок к, и функционирование системы с г классами и абсолютным приоритетом сравнивается с функционированием системы с одним /с-классом при дисциплине FCFS. Первое отличие состоит в том, что для ожидающей /с-заявки время от начала обслуживания до ухода из системы ее ^-предшественника имеет распределение, от- личное or G(ph). Второе отличие — в том, что период занятости может начаться с обслуживания заявки другого класса. Длительность ожидания Wh для /с-заявки представляет собой интервал между ее поступлением в систему и первым поступлением на прибор, и в Wh не включается длительность ожидания после прерывания, если последнее имело место. Активное время Ргк представляет собой интервал между моментом первого поступления *) Возможен еще и третий случай, когда прерванная заявка теряется.— Прим. ред.
220 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 заявки на прибор и моментом завершения ее обслуживания. Длительность пребывания представляет собой сумму длительно- сти ожидания и активного времени. Время от момента некоторого прерывания обслуживания заявки до момента ближайшего возоб- новления обслуживания будем называть длительностью прерывания и обозначать Tbk, причем до завершения обслуживания может произойти несколько прерываний *). Обозначим через Pgk суммар- ную длительность обслуживания, т. е. общую длительность пребы- вания заявки на обслуживании. При прерываниях с дообслужива- нием суммарная длительность обслуживания Pgh совпадает с обыч- ной Ph, но для прерывания с повторением между ними, вообще говоря, имеется отличие. Рис. 8.8 на примере заявки с двумя прерываниями иллюстри- рует связь между введенными выше случайными величинами. Приход Прерывания Окончание Время ожидания, "Wk Активное время, —*- обслуживания Длительность пребывания Рис. 8.8. В этом примере суммарная длительность обслуживания состоит из трех слагаемых. Для прерывания с повторением первые два сла- гаемых представляют собой безуспешную длительность обслужива- ния Pwk, а последний интервал, во время которого обслуживание завершается, представляет собой успешную длительность обслу- живания Psk. При анализе дисциплин с прерыванием активное время играет ту же роль, что время блокировки для дисциплин без прерывания. Активное время можно выразить через суммарную длительность прерывания и суммарную длительность обслуживания, что позво- ляет использовать для оценки длительности пребывания /с-заявок результаты, полученные для цикла занятости (периода занятости с разогревом) при прямом порядке обслуживания. Поскольку окон- чательные результаты удобно выразить в терминах суммарной *) В предыдущем разделе индекс Ь имел другой смысл и означал заявки видов А + 1, • • •, г, т. е. заявки младших приоритетов.— Прим, перев.
8.7] АБСОЛЮТНЫЙ ПРИОРИТЕТ (ПРИОРИТЕТ С ПРЕРЫВАНИЕМ) 221 длительности обслуживания, то соответствующие моменты и пре- образование Лапласа — Стилтьеса будут получены вместе с ана- логичными характеристиками для активного времени. Когда происходит прерывание /с-заявки, в системе может нахо- диться только одна заявка более высокого приоритета — именно та, которая и заместила /с-заявку на приборе. Эта заявка может принадлежать любому из классов 1, . . ., к — 1. Время пре- рывания /с-заявки состоит из активного времени заместившей ее заявки плюс активное время заявок класса к — 1 до полного осво- бождения системы от заявок классов 1, . . ., к — 1. Следователь- но, время прерывания и активное время зависят друг от друга рекуррентно: активное время 1-заявок определяет время преры- вания 2-заявок, а оно определяет активное время 2-заявок и т. д. Сейчас мы не будем исследовать эту рекуррентную зависимость и используем символ Тbk для обозначения времени прерывания /с-заявок и T]bfc (z) — для соответствующего преобразования Лап- ласа — Стилтьеса. Прерывание происходит с пуассоновской ин- тенсивностью Ка = Xt + Х2 + . . . + Xft_t, число прерываний до завершения обслуживания заявки обозначим через N. При прерывании с дообслуживанием активное время состоит из времени обслуживания Ph плюс сумма времен прерывания, так что Е (e-zpr* | Рк = р, N = п) = е-Р hbfc (z)]n. Так как при Pk = р распределение N является пуассоновским с параметром кар, то Tr, (z) = Е (<ГР«) e-zP J [V^!(Z)1" <^aPdGk (р) = О п=0 = Ъ (Z + Ха — XaT]bfc (z)). (33, pr) Первые два момента активного времени имеют следующий вид: Е(Ргй) = [1 + ХаЕ(7’ьл)]Е(Рй), (33а, рг) Ё (Pr\) = [1 + ХаЕ (7\fc)p Е (Р£) + ХаЕ (Т2Ьк) Е (Pfc). (33b, pr) При прерывании с дообслуживанием Pgh = Ph, откуда T»(z) = Tfc(z)> (34, рг) Е(РЙ/С) = Е(РД (34а, рг) Е(Р|4) = Е(Р|). (34b, рг) При прерывании с обслуживанием заново с новой длительно- стью активное время состоит из N взаимно независимых пар Pwh + + Тbh, а затем следует независимая случайная величина Psh. Если время очередной попытки обслуживания /с-заявки, закон-
222 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 лившейся успешно, т. е. без прерывания, обозначить Ph, а через У обозначить время от начала этой попытки до ближайшего появ- ления a-заявки, то совместное распределение У и Ph имеет вид р {У < Y < у + dy, р < Рк < р 4- dp} = 7.ае ^dy dGk (р). Вероятность, что обслуживание будет успешным, есть вероят- ность того, что У превосходит Ph, т. е. оо оо оо Р {успех} Ke^dy dGk (р) = 5 Y^’dG^ (р) = (ka). р=0 v—p р=0 Следовательно, распределение N является геометрическим с пара- метром yk (л„). Так как длительность безуспешного обслуживания есть У при условии, что У меньше Ph, то Р {У < Pwk < У + dy} = р {у < Y < У + dy, Y < PJ _ P{K<PJ ОО 1 - Tk ^ae^aVdGk(p)dy- ° p=v Отсюда находим ywh (z) — преобразование Лапласа—Стилтьеса распределения Pwk — Twk(z) = Е(е zPw,‘) = _ оо оо А л = ~r=fbo \ S у=0 р=у 1 ~Тк (Z + \J z + Ч 1 - Ъ (Ч> Аналогичным образом можно получить преобразование Лап- ласа—Стилтьеса для распределения Psh в виде bk<z)-\(z(t)a--- !к '•"'а' Если известно, что обслуживание прерывалось п раз, то актив- ное время является суммой п интервалов безуспешного обслужи- вания, п интервалов прерывания и одного интервала успешного обслуживания. Так как эти 2п + 1 интервалов взаимно независи- мы, то Чтк (z) = rk (М rSk (z) 2 U1 — Тк (Ml Тик (z) Льк (Z)F п===0 ИЛИ т (г\ - (* + \Лк(г + Ч) 33 , Trt(z) z + Xa-Xapbk(z)[(l- Чтобы получить преобразование Лапласа—Стилтьеса распределе-
8.7] АБСОЛЮТНЫЙ ПРИОРИТЕТ (ПРИОРИТЕТ С ПРЕРЫВАНИЕМ) 223 ния суммарной длительности обслуживания Pgh, достаточно в по- следнем выражении заменить т]ьк (z) на 1: (34, rs) (33а, га) z + ba_Mi_Tft(Z + Xa)r Первые два момента Prk и Pgk соответственно равны Е(Л-к) = [1 +VM Е (Р?0 = [1 + V Ы Е Plfc) + 2V (Tbk) [1 + V (7\к) [Е (Pgk)? + Н.аЕ(7'Д)Е(Ргк), (33b, га) (34a'rs) Е Vm • [1 - ~ V (34Ь> Г8> (M Активное время при прерывании с обслуживанием заново с прежней длительностью состоит из А зависимых пар Pwk + Tbh и случайной величины Ph. Чтобы исключить зависимость от Pk, рассмотрим сначала соответствующие распределения при условии, что Рк фиксировано, а затем проинтегрируем по распре- делению Pk. При фиксированном Pk условное распределение числа преры- ваний будет геометрическим: Р {А = п | Рк = р} = (1 - A’yyV. Условная плотность безуспешного времени обслуживания равна —X у P{y<Pwk<y + dy\Pk = р} = —^—dy, У<р, 1 — е а откуда , S -<z+xa> Р Е<е “IР‘“-тЫ'-<" ”’”d» = 7W ГД-»—- 1 е о хе Так как Psk — Рк, то Е(е-2Рз*|Рк = р) = е-гД Из этих результатов с помощью формулы полной вероятности полу- чаем условное преобразование Лапласа—Стилтьеса для распре- деления активного времени Е(^2Р«| Рк =Р) = °° г . , , / 1 _„-(z+be)2> \ 1” = 2 (1 - 6 )1 = (г+ха)е-(^ 2 + 4-4W[1-е-(2+х“)р] *
224 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 Наконец, интегрируя последнее выражение по распределению Рк, получим безусловное преобразование Лапласа—Стилтьеса для ак- тивного времени: Г (Z 4- X 1 е“(2+Х«) р \-----------dG* <33’ ™) Как и выше, преобразование Лапласа—Стилтьеса функции рас- пределения Pgl{ получается, если в последней формуле заменить Щ,/г (z) на 1. При этом получается формула, которую мы не будем приводить. Первые два момента Ргк и Pgh соответственно равны Е (Prk) = [1 + V (Tbk)] Е (Pgfc), (33а, rw) Е = [1 + ХаЕ М Е (Р^) + НЕ (ИО Е (Pgfc) + 4- Е (М [1 + ХаЕ (ПО] Е [(?Л -1)2], (33b, rw) ла Е (pg0 = Tft~ У—- ’ (34a, гw) Е (ИО = £[ТД- 2Ха)-Т;г(-Ха)-ХаЕ(Р/Л)]. (34b, гw) Поскольку мы определили преобразование Лапласа—Стилтьеса активного времени для всех видов дисциплин с прерыванием, мож- но теперь определить преобразование Лапласа—Стилтьеса дли- тельности пребывания с помощью выполненного ранее анализа для цикла занятости при дисциплине FCFS. Если /с-заявка застает прибор свободным или занятым обслуживанием заявок младших приоритетов, то ее обслуживание начинается без ожидания, т. е. Рк = Prk. В противном случае /с-заявка поступает во время цикла занятости одного из двух типов. Цикл типа а начинается, когда поступающая a-заявка не застает в системе заявок классов а или к и заканчивается, когда в системе нет заявок этих классов. Цикл типа к начинается, когда поступающая /с-заявка не застает в системе заявок классов а или к и заканчивается, когда в системе нет заявок этих классов. С точки зрения /с-заявок прибор занят только в течение циклов этих двух типов и свободен в остальное время, если даже тогда и происходит обслуживание заявок млад- ших приоритетом. По сравнению с приоритетами без прерывания в случае с прерыванием достаточно исследовать только циклы двух типов, изображенные на рис. 8.7 сверху, так как заявки млад- ших классов не оказывают никакого влияния на обслуживание /с-заявок. Чтобы получить преобразование Лапласа—Стилтьеса для дли- тельности пребывания в зависимости от типа цикла, используем формулу (18). Вводя индекс г, г = а, к, для обозначения типа цик-
8.7] АБСОЛЮТНЫЙ ПРИОРИТЕТ (ПРИОРИТЕТ С ПРЕРЫВАНИЕМ) 225 ла занятости, запишем (18) в виде R ‘ -a t1 ~ V J Ьк (z) t1 ~ & I E(ro.)[^Trfe(Z)-4+2] • Для а-цикла Гоа = Tbh, а для /с-цикла Tok = Prk. Преобразование Лапласа—Стилтьеса для длительности пре- бывания /с-заявок можно найти, если, как и в случае приоритета без прерывания, определить лг. Будем говорить, что система в мо- мент t находится в состоянии г, i — 0, а, к, если в этот момент при- бор соответственно свободен, находится в а или /с-цикле. Как и раньше, для определения л, используем формулы (6). Средняя длина свободного периода тпа — Ь ль). В рас- сматриваемом случае л0 = 1 — U, а не 1 — р, так как при нали- чии прерываний с обслуживанием заново средняя суммарная дли- тельность обслуживания заявки больше, чем Е (Р). Чтобы опре- делить л0, заметим, что средняя длительность между началами свободных периодов — 10 — равна средней длительности свобод- ного периода плюс средняя длительность последующего цикла за- нятости, т. е. Из (9а) получаем Е (ТЬк> Е (Ргк> Па~ 1-ЧЕ(ЛР’ Из результатов для приоритета без прерывания следует, что z Ч + Ч7 7 + хд — 1о> 1,к — % п 4 7т 0 1 + „ ЧЕ(ЧР _ ЧЕ Afc) i + v^)' Преобразование Лапласа—Стилтьеса для длительности пребыва- ния /с-заявок равно Pfc (z) = Jt0Tr/£ (z) + лЛ, (z) 4- A (z) == _ угк (z> t1 - ЧЕ(Л*)] Iz + 4 - (z)] 8 P. В. Конвей и др.
226 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 Средние значения длительностей пребывания и ожидания соответ- ственно равны Е (F } Е (Р ^4- । М (^bk) [35а^ ( &) {Prk) + 2 [1 - V (Л-fc) 1 + 2 [1 + M ’ (35 > E /ц/ \ = £ (p \ _ £ (p \ _ ЧЕ (Ргй) . (Tbii) [36a1 ( ( *> ( ,fc) 2[1 — ХЛЁ(/>ГЙ)] + 2[1 +V (Tbft)J <36a) Формулы (33 a) и (33b) дают E (PrV) и E (P2k) в терминах двух первых моментов Pgk и Тbh. Чтобы выразить первый момент дли- тельности пребывания в терминах моментов суммарной длитель- ности обслуживания, необходимо установить связь между дли- тельностью прерывания и суммарной длительностью обслужива- ния. Как указывалось раньше, эта связь является рекуррентной. Длительность прерывания для заявки вида (к + 1) представляет собой цикл занятости типов а или к для /с-заявки. Обозначая длины этих циклов соответственно через Т,.а и Tchy получим У f Тса с вероятностью ла/(ла + Xfc), ь, к+1 | с вер0ЯТН0СТЬГО ХЛ/(ХО -j- kft). Моменты Тса и Тih можно определить с помощью (9а) и (9Ь), а за- тем можно найти моменты Tb,k+i- Ь(Т 'l — Х,°Е Ub'"+'j ~ (37а) (37b) Среднюю длительность ожидания можно найти рекуррентно. Из (36а) для (к + 1)-заявок следует Е (W = ^К+1Е (^r, k+i) ।_____Е (ГЬ, k+i) V 2 (1 _ W {Рг< л+1)] 1- 2 (1 + (%а + ч) Е {JV &+i)] • Используя (37а), (37Ь) и (36а), получим Е (W&+1) 2[1-Ч+1ЕГ(Рг+,1;г+1)] + 1- ЧЕ(Ргк> Е (Wk)‘ (36й ) С помощью (33а) и (33b), дающих моменты активного времени в терминах моментов суммарной длительности обслуживания, и рекуррентного уравнения (36а') после громоздких алгебраиче- ских преобразований можно выразить первый момент длительности пребывания в терминах моментов суммарной длительности обслу-
8.7] АБСОЛЮТНЫЙ ПРИОРИТЕТ (ПРИОРИТЕТ С ПРЕРЫВАНИЕМ) 227 живания. Для краткости введем обозначения: А{ = 3 = V (Pgi). «г = (Pgt). 3=1 Тогда для каждого из трех типов приоритетов с прерыванием пер- вый момент длительности пребывания соответственно равен к Е (Р \ Z^i Е (Fk) = -^Г- + ;...-I—-,------’ (38’ рг) 1 ~ 2 ~ X) v - ilH е ip ) У Ь f1 - 5? +2мЕ (pgi№ У 4 Е (Fk) = + ......< , (38, rs) 1-у®г 4- у 4(1—у «и 1=1 ' 1=1 • ' г=1 1 E(Fft) = О Как обычно, в этих формулах следует полагать 2 — 0. 1 С помощью (33а) и (37а) можно показать, что первое слагаемое в (38) равно Е (Ргк): Е (Prk) = Е(У к-1 1- S “1 (39) Следовательно, второе слагаемое равно первому моменту длитель- ности ожидания. Заметим теперь, что ah — интенсивность нагрузки, создавае- мой /с-заявками, т. е. доля времени, когда прибор занят их обслу- живанием. Поэтому интенсивность суммарной нагрузки, создавае- мой г классами, или коэффициент использования системы, есть U = 2 к=1 Для прерывания с дообслуживанием с прерванного места Pgh = Ph. так что <£>h — pft и U = р. Для двух видов прерыва- ния с обслуживанием заново U р. 8*
228 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ . 8 Если сравнить (38, рг) с (29а'), то можно заметить, что средияя длительность ожидания при прерывании с дообслуживанием та же самая, что и для относительного приоритета без потоков заявок классов от к + 1 до г. Если же потоки заявок этих классов имеют- ся, то средняя длительность ожидания при прерывании с дообслу- живанием меньше, чем при относительном приоритете. Это естест- венно, поскольку при наличии прерывания заявки младших клас- сов не оказывают никакого влияния на обслуживание /с-заявок, а при относительном приоритете всегда существует возможность того, что /с-заявке придется ожидать завершения обслуживания заявки младшего приоритета. Из двух дисциплин прерывания с дообслуживанием заново большую очередь создает обслуживание заново с прежней длитель- ностью, поскольку заявки с большой длительностью обслуживания прерываются в среднем чаще, а при повторном обслуживании со- храняется прежняя большая длительность. При прерывании с об- служиванием заново с новой длительностью всегда существует возможность того, что при очередной попытке заявка будет обла- дать меньшей длительностью обслуживания. Как следует из табл. 8.3, различие между этими двумя дисци- плинами с точки зрения средней длительности пребывания может быть огромным. В этой таблице приводятся результаты вычисле- ний для случая двух классов заявок с одинаковым экспоненциаль- ным распределением времени обслуживания со средним значени- ем 1 Столбцы соответствуют фиксированному значению М + Х2, строки — фиксированному значению Таблица содержит ста- ционарные средние значения длительности пребывания, осреднен- ные по заявкам двух классов. Поскольку экспоненциальное распределение не обладает па- мятью, то в данном случае прерывание с дообслуживанием с прер- ванного места дает те же результаты, что и прерывание с обслужи- ванием заново с новой длительностью (при экспоненциальном распределении длительности обслуживания Pgk и Рк имеют одинако- вое распределение). Так как заявки обоих классов имеют одинако- вую среднюю длительность обслуживания, то общая длительность пребывания не зависит от доли заявок первого класса и является одинаковой как для дисциплин рг и ps, так и для дисциплины FCFS с одним классом заявок и интенсивностью поступления + + Х2. Соответствующие значения приводятся в строке ~ 0,00. При прерывании с обслуживанием заново с прежней длитель- ностью для максимально допустимого значения в зависимости от величины Xj + Х2 имеются три верхние границы. Во-первых kj не превосходит Х4 + Х2. В рассмотренном примере это ограни- чение действует для Xt -(- Х2 0,5. Вторая верхняя граница вы- текает из условия Е (e2XPt) < оо. Если обозначить среднюю дли- тельность обслуживания /с-заявок через l/pfe, то из этого условия
8.7] АБСОЛЮТНЫЙ ПРИОРИТЕТ (ПРИОРИТЕТ С ПРЕРЫВАНИЕМ) 229 вытекает 2Х( <; р2 или < 0,5. Если это условие не выполнено, то дисперсия суммарной длительности обслуживания заявок клас- са 2 неограниченно возрастает, что может привести к тому, что какая-то 2-заявка не выйдет из системы. Эта верхняя оценка для должна выполняться даже при малых Х2 0. Таблица 8.3 Прерывание с обслуживанием заново с прежней длительностью (два класса, экспоненциальное распределение длительности обслуживания со средним 1 в каждом классе. Строке X,i = 0,0 соответствует дообслуживаяие с прерванного места) Стационарное среднее значение длительности пребывания, осредненное по обоим классам 0,30 0,40 0,50 0,60 0,70 0,80 0,90 0,95 0,98 0,99 0,00 1,429 1,667 2,000 2,500 3,333 5,000 10,000 20,000 50,000 100,000 0,005 201,970 0,01 25,652 101,939 0,02 1,492 1,761 2,141 2,721 3,714 5,809 13,114 34,791 0,04 1,546 1,850 2,282 2,953 4,136 6,781 18,017 96,276 0,06 1,600 1,935 2,424 3,157 4,603 7,967 26,758 0,08 1,637 2,014 2,566 3,454 5,124 9,437 46,413 0,10 1,667 2,086 2,706 3,723 5,707 11,295 128,628 0,12 1,687 2,150 2,843 4,005 6,360 13,701 0,14 1,697 2,204 2,976 4,299 7,094 16,910 0,16 1,695 2,247 3,104 4,605 7,924 21,360 0,18 1,682 2,279 3,224 4,925 8,864 277,853 0,20 1,658 2,296 3,345 5,255 9,934 38,047 0,22 1,623 2,299 3,434 5,555 11,156 55,973 0,24 1,578 2,286 3,512 5,944 12,556 94,562 0,26 1,528 2,255 3,588 6,302 14,168 230,000 0,28 1,476 2 207 3,637 6,666 16,031 0,30 1,429 2,140 3,664 7,035 18,196 0,32 2,057 3,665 7,411 20,726 0,34 2,959 3,637 7,796 23,710 0,36 1,852 3,578 8,196 27,276 0,38 1,747 3,483 8,637 31,630 0,40 1,667 3,350 9,120 37,143 0,42 3,176 9,750 44,576 0,44 2,957 10,695 55,761 0,46 2,690 12,505 76,324 0,48 2,372 17,953 134,748 Насы- щение Х1= 0,50 0,50 0,276 0,113 0,053 0,020 0,010
230 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. Третья верхняя граница для вытекает из условия О <Z 1. При экспоненциальном распределении длительности обслужива- ния эта оценка получается из неравенства Xi । Ха pi ' pa — pi ' В рассмотренном примере для фиксированного значения Xt + + Х2 — X максимально допустимое значение Х( — наименьший корень уравнения ж2 — ж + 1 — X = 0. Эта верхняя граница яв- ляется ограничивающей при 0,75 <; X <; 1,0. 8.7.2. Полуабсолютные приоритеты и дисциплина выбора заяв- ки с кратчайшей длительностью дообслуживания. В разделе 8.6 было показано, что средняя длительность пребывания может быть уменьшена, если вместо дисциплины, не зависящей от длительно- сти обслуживания, ввести относительный приоритет с разбиением заявок по классам в зависимости от характеристик длительности обслуживания. Если имеется возможность использовать абсолют- ный приоритет с дообслуживанием с прерванного места, то следует рассмотреть вопрос об эффективности его использования. По срав- нению с относительным приоритетом длительность ожидания более коротких (высокоприоритетных) заявок имеет тенденцию к умень- шению, а активное время более длинных заявок — к увеличению. Однако при дообслуживании с прерванного места возможна ситу- ация, при которой происходит прерывание заявки, длительность завершения обслуживания которой меньше, чем длительность об- служивания прервавшей ее заявки. В этой ситуации прерывание не приводит к уменьшению длительности пребывания. Чтобы исправить этот недостаток абсолютного приоритета с дообслужи- ванием, вводится полуабсолютный приоритет, использующий длительность незавершенного обслуживания для определения класса заявки. Это позволяет повышать приоритет заявки по мере приближения ее обслуживания к завершению. Используя обозначения п. 8.6.2, можно сказать, что полуаб- солютный приоритет совпадает с абсолютным приоритетом с до- обслуживанием, за исключением того, что заявка с длительностью дообслуживания в интервале (с/^ф-О, считается принадлежащей классу к. В пределе, когда длины интервалов достаточно малы, полуабсолютный приоритет совпадает с дисциплиной выбора заяв- ки с кратчайшей длительностью дообслуживания. При этой дис- циплине вновь поступающая заявка прерывает обслуживание, если длительность ее обслуживания меньше длительности дообслу- живания заявки, находящейся на приборе. В момент завершения обслуживания на прибор поступает заявка с наименьшей длитель- ностью незавершенного обслуживания. При небольшом и фиксированном числе классов полуабсолют- ный приоритет не обязательно приводит к уменьшению общего
8.7] АБСОЛЮТНЫЙ ПРИОРИТЕТ (ПРИОРИТЕТ С ПРЕРЫВАНИЕМ) 231 среднего времени пребывания по сравнению с абсолютным приори- тетом с дообслуживанием. Но если число классов возрастает, то полуабсолютный приоритет становится относительно лучше; в пре- деле оптимальной (с точки зрения критерия, минимизирующего об- щую среднюю длительность пребывания) является дисциплина выбора заявки с кратчайшей длительностью дообслуживания. При- чем такая дисциплина остается оптимальной и при непуассонов- ском входящем потоке, но мы не будем здесь это доказывать. Чтобы вывести выражение для средней длительности пребыва- ния при полуабсолютном приоритете, рассмотрим отдельно сред- нюю длительность ожидания и среднее активное время. Так как при ожидании класс заявки не изменяется, то мы начнем с иссле- дования средней длительности ожидания заявок, которые при по- ступлении принадлежат классу к. Для краткости обозначим ин- тенсивность нагрузки, создаваемой заявками, которыещри поступ- лении принадлежали первым к классам, через ah: к dn 0* = Spi = \ i=l О Числитель в выражении (29а') для средней длительности ожида- ния /с-заявок при относительном приоритете можно записать в виде i=1 0 0 dfc+0 Если назначение приоритета базируется на длительности обслу- живания, то второй интеграл представляет собой вклад, вносимый заявками классов с приоритетами ниже к в Е(/*2). Запишем те- перь (29а') в виде Ч оо к $PdG(t) f-x У t*dG(t) г 0 dfc+0 Е = * 2 (1 — afc_x) (1 — <5ft) • (4°) При относительном и полуабсолютном приоритетах необходимым условием для первого поступления некоторой й-заявки на при- бор является отсутствие в системе заявок, первоначально принад- лежавших первым (к — 1)-классам, и ранее поступивших /с-заявок. Отсюда следует, что влияние заявок первых /с-классов на заявки класса к является тем же самым для обеих дисциплин. При полу- абсолютном приоритете заявка с первоначальной длительностью обслуживания, превосходящей dk, не оказывает влияния на A-заявки, пока длительность ее незавершенного обслуживания не
232 дйсциплийЫ выбора для однолйиейной системы [ГЯ. $ уменьшится до dh. В этот момент она превращается в заявку клас- са к. С точки зрения ^-заявок все заявки младших приоритетов как бы имеют при поступлении длительность обслуживания dh. Процесс поступления этого нового вида заявок не является пуас- соновским, но это несущественно, так как при выводе (29а') не делалось и не использовалось предположения о том, что поток 6-заявок (заявки классов &4-1, . . ., 2) является пуассоновским. Поэтому, чтобы получить Е(И\) для полуабсолютного прио- ритета, достаточно в числителе формулы (40) заменить второй ин- теграл на [1—G (dft)Jdk: d(. X pWG (t) + X [1 - G (dk)]dl Чтобы определить среднее активное время, примем, что заяв- ке необходимо получить обслуживание в размере р временных еди- ниц прежде, чем она перейдет из класса i в класс i — 1. Когда заявка находится в классе i она может прерываться так же, как j-заявка в системе с абсолютным приоритетом и дообслуживанием. с теми же классами заявок. Тогда в соответствии с формулой (39) ее среднее активное вре- мя в классе i равно р/(1 — <J,-i). Так как общее активное время: заявки, поступившей в класс к, является суммой ее активных вре- мен в каждом классе от & до 1, то E(Prfe) = 1 - 5К-1 Общее среднее время пребывания равно Е (Л = 3 [G №) - G («] [Е (Prk) 4- Е (17,)] или Е(П= 2 j t dG (t) 1 — + [G (dk) - G [- T-^L- + 2 | ь V Lo S=1 (41)
8.8] ОБСЛУЖИВАНИЕ С УЧЕТОМ ПЛАНОВЫХ СРОКОВ 233 Чтобы получить среднюю длительность пребывания при дис- циплине выбора заявки с кратчайшей длительностью дообслужива- ния, нужно перейти к пределу при г -> оо и dk — dk^ -> 0. В ре- зультате получим °о / р \ Е(л= Р=0 1 — X f t dG (ly о p oo G(P)] ____»_____________________ 2 j г po qp p p=o И 1 — X У tG (t) 1 — X У t dG (t) L о J I- о dG{p}. (42) 8.8. Дисциплины обслуживания, учитывающие плановые сроки В работах Джексона'и его учеников (см. [94], [97], [99], [71]) исследованы приоритеты, названные динамическими, и установле- но интересное и полезное различие между статическими и дина- мическими приоритетами. При статических приоритетах распре- деление поступающих заявок по классам является стационарным и с точки зрения ожидающей й-заявки каждая последующая вновь поступающая заявка может принадлежать классам 1, . . ., к с постоянной вероятностью. При динамических приоритетах класс ожидающей заявки меняется с течением времени, причем обычно чем больше заявка ожидает, тем менее вероятно, что вновь посту- пающая заявка окажется более приоритетной. При статическом приоритете заявка просто ожидает, пока в очереди не останется заявок с более высоким приоритетом. Поэтому в сильно нагружен- ной системе длительность ожидания заявки с низким приоритетом может оказаться весьма большой. При динамическом приоритете шансы заявки на обслуживание возрастают вместе с ее «возрас- том», так что длительность ожидания не может оказаться слишком большой. Операционно приоритет представляет собой сумму мо- мента времени поступления заявки и некоторого числа, называе- мого коэффициентом срочности. Разновидности этой дисциплины можно получить, изменяя механизм присвоения коэффициента срочности. В случае, когда все коэффициенты срочности равны 0, рассмотренная дисциплина превращается в прямой порядок обслу- живания. В’ другом крайнем случае, когда область изменения коэффициентов срочности так велика, что они полностью домини- руют над первым слагаемым — моментом поступления, коэффи- циенты срочности фактически играют роль классов в относитель- ном приоритете. В этом смысле все приоритетные дисциплины
234 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 являются динамическими, но последний термин удобно сохранить для дисциплин, лежащих между двумя вышеописанными крайни- ми случаями и для которых играет роль как момент поступления заявки, так и ее коэффициент срочности. Основным правилом этого типа является учет плановых сро- ков, и Джексон часто называет динамические дисциплины дисцип- линами типа «завершение обслуживания к плановому сроку». Ко- эффициент срочности соответствует величине а — допустимой дли- тельности пребывания (см. раздел 2.1). Критерием эффективности здесь по-прежнему является длительность ожидания, так что не- обходимо исследовать распределение длительности ожидания, осо- бенно в области больших значений. В исследованиях группы Джек- сона рассматривалось влияние различных приоритетных дисци- плин на прохождение через систему самой медленной заявки, а также на среднюю характеристику прохождения по всем заяв- кам. Большую роль в этих исследованиях играли два предполо- жения Джексона [97]. Обозначим через Аи(ш) стационарную вероятность того, что заявка с коэффициентом срочности и будет ожидать не более, чем w. Для О ф7"определим u’u (У) = inf («’Цц (ш) > /). Это — значение длительности ожидания, являющееся квантилью порядка / распределения длительности ожидания для заявок с ко- эффициентом срочности и. Для этих заявок wu (/) представляет со- бой (наименьшую) длительность ожидания, которая не будет пре- вышена с вероятностью /. Аналогичным образом, для той же системы при прямом поряд- ке обслуживания и 0 1 определим w (/) = inf (w | ApCTS (ш) > /). Предположение 1. Если в состоянии статистического равновесия и при любом динамическом приоритете и и у являются фактически- ми коэффициентами срочности, то lim [ш„ (/) — wv (/)] = и — v. /->1 Это значит, что'разность длительностей ожидания приближается к разности коэффициентов срочности в верхней части распределе- ния. Предположение 2. В состоянии статистического равновесия и при любом динамическом приоритете с фактическим коэффициен- том срочности и существует и* такое, что lim (/) — w (/)] = и — и*. f—г ’
8.81 ОБСЛУЖИВАНИЕ С УЧЕТОМ ПЛАНОВЫХ СРОКОВ 235 Иначе говоря, разность длительностей ожидания заявки с коэф- фициентом срочности и при динамическом приоритете и любой заявки при прямом порядке обслуживания приближается к и —и* в верхней части распределения. Далее предполагается, что и* аппроксимирует среднее значение распределения коэффициентов срочности. Возможна и другая формулировка этих предположений. При дисциплинах типа «завершения обслуживания к плановому сроку» в качестве основного критерия эффективности более естественно рассматривать временное смещение, чем длительность ожидания. Предположим, что а' является допустимой или предпочтительной длительностью пребывания за вычетом действительной длитель- ности обслуживания, т. е. а[ = at — pt. Тогда временное смеще- ние заявки составляет L; = Wi — аг. Если интерпретировать ко- эффициент срочности и как допустимую длительность пребывания, то wu (/) — и является квантилью порядка / распределения вре- менного смещения заявок с коэффициентом срочности и. Теперь предположение Джексона можно сформулировать следующим об- разом. Предположение 1. Если в состоянии статистического равнове- сия и при любом динамическом приоритете и и v являются факти- ческими коэффициентами срочности, то Inn --------= 1. Предположение 2. В состоянии статистического равновесия и и при любом динамическом приоритете с фактическим коэффициен- том срочности и существует и* такое, что Вт Mi wu (/) - и _ л г» (/) — “* Грубо говоря, это означает, что при динамическом приоритете максимальное временное смещение, которое может претерпеть заяв- ка, является одним и тем же для любой заявки, независимо от ее коэффициента срочности. Другими словами, если задано произволь- ное множество плановых сроков окончания (или механизм при- своения сроков окончания), то динамический приоритет, присваи- ваемый в соответствии с этими сроками окончания, обеспечивает каждой заявке одинаковые вероятностные границы для временно- го смещения. Можно предположить, что для данного механизма присвоения плановых сроков динамический приоритет, использующий эти сроки, обеспечивает наименьшую достижимую верхнюю грань вре- менного смещения. Она одна и та же для различных значений до- пустимой длительности пребывания (коэффициентов срочности). При других приоритетных дисциплинах можно получить меньшее
236 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 значение верхней грани для некоторых значений допустимой дли- тельности пребывания, но для других ее значений получится большее значение верхней грани, так что в общем верхняя грань максимального временного смещения будет больше, чем при ди- намическом приоритете. Динамический приоритет является непре- рывным аналогом упорядочения в соответствии с плановыми сро- ками окончания в статическом случае (раздел 3.3), когда миними- зируется максимальное временное смещение. Однако настоящая дисциплина, пожалуй, ближе к дисциплине обслуживания в со- ответствии с резервом времени, которое больше влияет на мини- мальное, а не на максимальное временное смещение. Теперь оценим ситуацию с точки зрения среднего времен- ного смещения. Оно является минимальным при упорядочении конечных последовательностей с помощью правила выбора на обслуживание кратчайшей за- явки (раздел 3.2). Для одноли- нейной системы дисциплина вы- бора кратчайшей заявки в ряде случаев минимизирует среднее значение временного смещения (п. 8.6.2). Поэтому можно пред- положить, что аналогичная си- туация имеет место и для максимального временного смещения. Джексон доказал предположение 2, а следовательно и 1, для однолинейных дискретных систем с геометрическим распределе- нием интервалов между поступлениями заявок и геометрическим распределением длительностей обслуживания [99]. Он получил также убедительные эмпирические доводы [97], подтверждающие эту гипотезу для однолинейной пуассоно-экспоненциальной систе- мы. Его доводы наглядно иллюстрирует функция распределения длительности ожидания для нескольких характерных значений коэффициентов срочности при р = 0,8, выполненная в полулога- рифмическом масштабе (рис. 8.9). В указанном масштабе функции распределения длительность ожидания при прямом порядке об- служивания близка к прямой линии. Согласно предположению 2 график функции распределения длительности ожидания для дина- мического приоритета асимптотически параллелен соответствую- щему графику при прямом порядке обслуживания. Действительно, эти графики представляют собой различные кривые при различ- ных и, но в верхней части распределения они почти параллельны.
8.8] ОБСЛУЖИВАНИЕ С УЧЕТОМ ПЛАНОВЫХ СРОКОВ 237 При дисциплине завершения обслуживания к плановому сро- ку, действующей как прерывание с дообслуживанием, на приборе всегда находится заявка с ближайшим сроком завершения, при- чем ее может прервать лишь та из вновь поступающих заявок, срок завершения которой еще ближе. Модель с конечным числом заявок, поступающих через случайный интервал, рассматривалась в разделе 4.2. В этом случае дисциплина завершения обслужива- ния к плановому сроку, действующая как прерывание с дообслу- живанием, минимизирует максимальное временное смещение [90]. Пока нет доказательства того, что это свойство (или его вероят- ностный аналог) сохраняется при рассмотрении неограниченного числа заявок. Однако поскольку ситуация подобна той, которая имеет место при выборе заявки с кратчайшей длительностью дооб- служивания, то следует ожидать | аналогичный результат. Клейнрок [112] рассмот- рел динамический приоритет муль- 1=5 типликативного характера. Как и при относительном приоритете, имеется г классов заявок и с каж- Рис. 8.10. дым классом к связано число bh, W bk ’С bh+1, к = 1, . . ., г — 1. Приоритет й-заявки в мо- мент t равен (;! — T)bh, где Т — ее момент поступления, причем на обслуживание выбирается заявка с наибольшим значением при- оритета. Так как заявки одного класса различаются лишь момен- том поступления Т, то их обслуживание происходит в порядке по- ступления. Определение приоритетов двух заявок различных клас- сов производится в зависимости от разности между моментами их поступления и продолжительностями ожидания. На рис. 8.10 бо- лее высоким приоритетом от момента до обладает /-заявка, а после /г — 7-заявка. Результаты Клейнрока мы приведем без доказательства. Метод доказательства аналогичен методу Кобхэма [28], первона- чально использованному при выводе (29а'). Если Е (И\) — сред- няя длительность ожидания для /с-заявок, то где Е (Wft) = —--------------------------- 1 - j PPu г=1 (43) _ 11, bi>bfr y^-\bj\, ъ.съ., _ ( 0, bi < Ьк, Zl^~ [l-h/bi, b^b*.
238 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 При bh = Ь, к = 1, . . г, формула (43) сводится к (15а), пред- ставляющей собой среднюю длительность ожидания при прямом порядке обслуживания. С другой стороны, если bh/bh+1 ~ к = 1, . . ., г — 1 и Ъг -а- 0, то после перехода к пределу (43) описывает случай относительно приоритета с обратным порядком обозначения классов, т. е. сводится к (29а')- В этом смысле дисци- плина, предложенная Клейнроком, является обобщением относи- тельного приоритета. 8.9. Влияние дисциплин, зависящих от длительности обслуживания, на длительность пребывания Многие из дисциплин, рассмотренных в предыдущих разделах, были основаны на общем принципе, согласно которому предостав- ление преимущества более коротким заявкам уменьшает среднюю длительность пребывания и среднее число заявок в системе. Ин- тересно проиллюстрировать действие этого принципа. Поскольку все дисциплины выбора из очереди, не использующие информацию о длительности обслуживания, приводят к одинаковой средней длительности пребывания, то в качестве их стандартного предста- вителя естественно использовать обслуживание в порядке посту- пления, с которым можно сравнивать другие дисциплины. Данные в табл. 8.4 и 8.6 содержат среднюю длительность пре- бывания в зависимости от интенсивности нагрузки для шести дис- циплин: прямой порядок обслуживания, относительный приори- тет, полуабсолютный приоритет, прерывание с дообслуживанием, Таблица 8.4 Сравнение средней длительности пребывания для различных ^дисциплин (длительности обслуживания распределены экспоненциально со средним 1) Интенсив- ность нагрузки Прямой порядок обслужива- ния Относи- тельный приоритет Полуабсо- лютный приоритет Прерывание с дообслужи- ванием Выбор кратчай- шей заявки Выбор заявки с кратчайшей длительно- стью дооб- служивания 0,30 1,429 1,377 1,267 1,246 1,359 1,197 0,40 1,667 1,555 1,404 1,372 1,518 1,296 0,50 2,000 1,782 1,578 1,540 1,713 1,425 0,60 2,500 2,088 1,845 1,778 1,962 1,604 0,70 3,333 2,542 2,245 2,147 2,312 1,874 0,80 5,000 3,328 2,970 2,821 2,882 2,352 0,90 10,000 5,284 4,847 4,590 4,197 3,552 0,95 20,000 8,529 8,036 7,646 6,263 5,540 0,98 50,000 16,636 16,046 15,481 11,283 10,494 0,99 100,000 28,283 27,699 26,905 18,449 17,625
8.9] ДИСЦИПЛИНЫ, ЗАВИСЯЩИЕ ОТ ВРЕМЕНИ ОБСЛУЖИВАНИЯ 239 выбор кратчайшей заявки, выбор заявки с кратчайшей длитель- ностью дообслуживания. Так как в обеих таблицах средняя дли- тельность обслуживания равна 1, то интенсивность нагрузки сов- падает с интенсивностью поступления X. Распределение длитель- ности обслуживания в табл. 8.4 является экспоненциальным, а в табл. 8.6— равномерным в интервале (0,2). Примеры трех дисци- плин с конечным числом классов (относительный, абсолютный с дообслуживанием и полуабсолютный приоритеты) приводятся для случая двух классов вместе с оптимальной точкой разделе- ния на высоко- и низкоприоритетные классы в каждом случае. Эти граничные точки и доли высокоприоритетных заявок приво- дятся в табл. 8.5 и 8.7. Если дисциплина выбора заявки с кратчайшей длительностью дообслуживания дает, как известно, минимальную среднюю дли- тельность пребывания, то и другие зависящие от длительности об- служивания дисциплины также существенно уменьшают среднюю длительность пребывания по сравнению с прямым порядком обслу- живания. Эффективность относительного приоритета с двумя клас- сами, который предоставляет высокоприоритетным заявкам наи- меньшие преимущества по сравнению с другими приоритетными дисциплинами и является самым простым из приоритетных дис- циплин, показывает целесообразность классификации заявок хо- тя бы на длинные и короткие. Поэтому использование одной из дисциплин, связанных с длительностью обслуживания, для умень- шения средней длительности пребывания целесообразно даже в тех случаях, когда невозможно получить точные оценки дли- тельностей обслуживания. Таблица 8.5 Точки оптимального разбиения на классы для Двух входящих потоков (длительности обслуживания распределены экспоненциально со средним 1) Интенсив- ность нагрузки Относительный приоритет Пол уабсолютный приоритет Прерывание с дообслуживанием граничная точка ДОЛЯ класса 1 граничная точка ДОЛЯ класса 1 граничная точка доля класса 1 0,30 1,138 0,679 1,045 0,648 1,323 0,734 0,40 1,200 0,699 1,115 0,672 1,386 0,750 0,50 1,278 0,722 1,200 0,699 1,464 0,769 0,60 1,378 0,748 1,307 0,729 1,561 0,790 0,70 1,514 0,780 1,455 0,767 1,691 0,816 0,80 1,718 0,821 1,675 0,813 1,885 0,848 0,90 2,101 0,878 2,078 0,875 2,245 0,894 0,95 2,524 0,920 2,515 0,919 2,640 0,929 0,98 3,134 0,957 3,133 0,956 3,214 0,960 0,99 3,627 0,973 3,629 0,974 3,686 0,975
240 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 Таблица 8. 6 Сравнение средней длительности пребывания для различных дисциплин (длительности обслуживания распределены равномерно в (0,2)) Интенсив- ность нагрузки Прямой порядок обслужи- вания Относи- тельный приоритет Полуаб- солюгный приоритет Прерыва- ние с дообслу- живанием Выбор крат- чайшей заявки Выбор заявки с кратчайшей длитель- ностью дооб- служивания 0,30 1,286 1,262 1,228 1,228 1,245 1,203 0,40 1,444 1,394 1,348 1,348 1,379 1,309 0,50 1,667 1,569 1,512 1,512 1,541 1,451 0,60 2,000 1,816 1,749 1,749 1,766 1,656 0,70 2,556 2,204 2,028 2,028 2,115 1,984 0,80 3,667 2,930 2,849 2,849 2,764 2,610 0,90 7,000 4,949 4,870 4,870 4,575 4,379 0,95 13,667 8,750 8,681 8,681 8,041 7,850 0,98 33,667 19,643 19,592 19,592 18,206 18,007 0,99 66,000 37,300 37,260 37,260 34,993 34,791 Таблица 8.7 Точки оптимального разбиения на классы для двух входящих потоков (длительности обслуживания распределены равномерно в (0,2)) Интел- сивность нагрузки Относительный приоритет ПолуабсолютныЙ приоритет Прерывание с дообслуживанием граничная точка доля класса 1 граничная точка доля класса 1 граничная точка ДОЛЯ класса 1 0,30 1,089 0,544 0,864 0,432 0,864 0,432 0,40 1,127 0,564 0,920 0,460 0,920 0,460 0,50 1,172 0,586 0,988 0,494 0,988 0,494 0,60 1,225 0,613 1,070 0,535 1,070 0,535 0,70 1,292 0,646 1,170 0,585 1,170 0,585 0,80 1,382 0,691 1,298 0,649 1,298 0,649 0,90 1,519 0,760 1,480 0,740 1,480 0,740 0,95 1,635 0,817 1,618 0,809 1,618 0,809 0,98 1,752 0,876 1,746 0,873 1,746 0,873 0,99 1,818 0,909 1,816 0,908 1,816 0,908 Сравнение относительного и абсолютного с дообслуживанием приоритетов или дисциплины выбора кратчайшей заявки и дис- циплины выбора заявки с кратчайшей длительностью дообслужи- вания показывает, что прерывание, которое не всегда легко осу- ществлять, дает не слишком большое увеличение эффективности. Интересно отметить, что в обоих примерах при двух входящих потоках (табл. 8.4 и 8.6) имеются точки пересечения графиков сред- них длительностей пребывания в случаях прерывания с дообслу- живанием и выбора кратчайшей заявки. Это объясняется тем, что
8.9[ ДИСЦИПЛИНЫ, ЗАВИСЯЩИЕ ОТ ВРЕМЕНИ ОБСЛУЖИВАНИЯ 241 при большой интенсивности нагрузки на систему, когда часто име- ется большая очередь заявок, стремящихся попасть на прибор, умение четко различать ожидающие заявки весьма важно. При малой интенсивности нагрузки, когда в момент окончания обслу- живания в очереди обычно имеется мало заявок, четкое различие между ними имеет гораздо меньшее значение, чем возможность прервать длинную заявку при поступлении более короткой. Для двух классов заявок прерывание с дообслуживанием не всегда лучше, чем относительный приоритет. Если классы фикси- рованы, то при переходе от относительного к абсолютному с до- обслуживанием приоритету среднее активное время для 2-заявок возрастает на рх Е(/’3)/(1 — рг), в то время как среднее время ожидания 1-заявок уменьшается на а2Е (_Ра)/(1 — рх). Чтобы пре- рывание с дообслуживанием было эффективным, должно выпол- няться условие ХгР1Е(Р3) ХА2Е(р2) 1 - Р! 2 (1 - Р1) U’ и, следовательно, прерывание с дообслуживанием лучше относи- тельного приоритета тогда и только,тогда, когда Правая часть этого неравенства есть среднее значение случайной модификации длительности обслуживания 2-заявок, т. е. представ- ляет собой среднюю длительность дообслуживания 2-заявки в мо- мент, когда поступает 1-заявка и застает на приборе 2-заявку *). Проведем аналогичное сравнение в случае двух классов заявок между полуабсолютным приоритетом и абсолютным с дообслужи- ванием, для которого заявки с длительностью обслуживания ме- нее d принадлежат классу 1. При переходе от полуабсолютного к абсолютному с дообслуживанием приоритету среднее активное время 2-заявок возрастает на р1с?/(1 — pt), а средняя длительность ожидания 1-заявок уменьшается на Х2ё?2/2 (1 — pj. Полуабсолют- ный приоритет дает меньшую общую среднюю длительность пре- бывания, если Это условие эквивалентно следующему: d *) Подробнее этот вопрос рассмотрен в статьях О. И. Бронштей- н а [2'12] и Е. Б. Веклерова [221].— Прим. ред.
242 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 Геометрически, левая часть неравенства представляет собой пло- щадь под графиком функцйи распределения между началом коор- динат и точкой с абсциссой d, а правая часть — площадь треуголь- ника с вершинами в начале координат, в точках (d, 0) и (d, G (d)). Отсюда следует, что поскольку экспоненциальная функция рас- пределения выпукла (вторая производная отрицательна), то при экспоненциальном распределении длительности обслуживания и разбиении заявок на два класса полуабсолютный приоритет ни- когда не может быть лучше, чем абсолютный. Такое заключение согласуется с данными табл. 8.4. Если длительности обслуживания распределены равномерно в интервале (0, 2Е(Р)), то это условие выполняется тождественно для любого d в интервале (0, 2Е(Г*)) и обеим дисциплинам^ соответствует одинаковая средняя дли- тельность пребывания. Если же длительности обслуживания распределены равномерна в (01; 02), где 0Х 0, то полуабсолютный приоритет будет всегда Лучше. Другие распределения длительности обслуживания, например семейство эрланговских распределений, имеют вогнутую функ- цию распределения для малых значений р и выпуклую — для боль- ших р. Следовательно, существует точка р* такая, что при d < р* полуабсолютный приоритет с двумя классами лучше, чем абсолютный приоритет с дообслуживанием и двумя классами, а при d^>p* имеет место обратное положение. Так как оптималь- ное значение d для каждой из этих дисциплин является возрастаю- щей функцией от интенсивности поступления, то выбор дисципли- ны зависит, вообще говоря, как от X, так и от G (р). Если при двух классах заявок абсолютный приоритет с дообслу- живанием является лучшей дисциплиной, то это происходит по- тому, что полуабсолютный приоритет обладает ограниченной воз- можностью прерывания. Действительно, как только остающаяся длительность обслуживания 2-заявки уменьшится до d, преры- вание больше не допускается. Но d может превосходить ожидае- мую длительность обслуживания вновь поступившей 1-заявки. Поэтому лучше разрешить прерывание 2-заявок до того момента, пока длительность дообслуживания не уменьшится до некоторого d', где d’ < d. Однако теперь 1-заявки с длительностью дообслу- живания между d’ nd также можно прерывать, что в свою очередь приводит к необходимости увеличить число классов, а увеличение числа классов приближает полуабсолютный приоритет к дисциплине выбора заявки с кратчайшей длительностью дообслуживания. Сравнение между относительным и полуабсолютным приори- тетами с разбиением заявок на два класса и точкой разбиения d показывает, что полуабсолютный приоритет лучше, если Е (РЪ — й2 Е < 2[Е(Р2)-</] •
8.9] ДИСЦИПЛИНЫ, ЗАВИСЯЩИЕ ОТ ВРЕМЕНИ ОБСЛУЖИВАНИЯ 243 В случае экспоненциального распределения длительностей об- служивания можно показать, что средняя длительность ожидания при выборе кратчайшей заявки равна средней длительности пре- бывания при выборе заявки с кратчайшей длительностью дообслу- живания, умноженной на р. Следовательно, ESpt (W) = pESpRT (F). Хотя оба распределения длительностей обслуживания, ис- пользованные при вычислениях в табл, 8.4—8.7, имеют одинако- вое среднее значение, но большая дисперсия экспоненциального распределения приводит к большей скученности при прямом по- рядке обслуживания на всех уровнях использования системы. Срав- нение двух примеров при дисциплине выбора заявки с кратчайшей длительностью дообслуживания дает противоположные результа- ты. Для всех других дисциплин имеется точка пересечения графи- ков функций средней длительности пребывания при значениях р между 0,8 и 0,9, так что при малых р равномерное распределение приводит к меньшей скученности, а при больших р — к большей. Отметим, что при фиксированном Е (Р) средняя длительность пребывания при дисциплине, не зависящей от длительности обслу- живания, линейно зависит от дисперсии длительности обслужи- вания, но это не верно для дисциплин, зависящих от длительности обслуживания. Это иллюстрируется данными табл. 8.8 для эрлан- говского распределения длительности обслуживания со средним 1 и к этайами при к = р = 0,9. Таблица 8.8 Влияние дисперсии распределения длительности обслуживания при выборе кратчайшей заявки (длительность обслуживания имеет распределение Эрланга с к этапами со средним значением 1, р = 0,9) Число этапов к Дисперсия длительности обслуживания 1 /ft Средняя длительность пребывания прямой порядок обслуживания выбор кратчайшей заявки оо 0,000 5,500 5,500 10 0,100 5,590 4,197 5 0,200 6,400 4,089 3 0,333 7,000 4,115 2 0,500 7,750 4,160 1 1,000 10,000 4,197 В этом случае средняя длительность пребывания при дисцип- лине выбора кратчайшей заявки почти не зависит от дисперсии
244 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 длительности обслуживания, причем средняя длительность пребы- вания при экспоненциальном распределении (к = 1) меньше, чем при вырожденном (к = оо). По-видимому, для того чтобы дисцип- лина, зависящая от длительности обслуживания, была эффектив- ной, необходимо, чтобы коэффициент вариации не был слишком малым. Если в системе имеется несколько заявок с различными длительностями обслуживания, то можно сделать хороший выбор на обслуживание. С другой стороны, слишком большой коэффици- ент вариации может привести к появлению весьма длинной заявки, за время обслуживания которой может образоваться большая очередь. С точки зрения минимизации дисперсии длительности пребыва- ния интуитивно хочется отдать предпочтение FCFS по сравнению с SPT, но это не всегда верно. Формулы (14а) и (14Ь) позволяют вычислить дисперсию дли- тельности пребывания при дисциплине FCFS. Второй момент дли- тельности пребывания при дисциплине SPT можно получить с по- мощью метода, которым была выведена формула (32), и мы не бу- дем здесь останавливаться на деталях. В табл. 8.9, основанной на [184], приводится значение диспер- сии длительности пребывания для двух указанных дисциплин при экспоненциальном и эрланговском (к = 2) распределениях дли- тельности обслуживания. Таблица 8.9 Дисперсия длительности пребывания при FCFS и SPT (средняя длительность обслуживания равна 1,0) р Экспоненциальное Эрланговское i^FS SPT FCFS SPT 0,10 4 1,2345 1,179 0,6180 0,6156 0,20 1,5625 1,482 0,7856 0,7773 0,30 2,0408 1,896 1,031 1,020 0,40 2,666 2,563 1,467 1,420 0,50 4,000 3,601 2,062 2,158 0,60 6,250 5,713 3,265 3,747 0,70 11,111 12,297 5,895 8,042 0,80 25,000 32,316 13,50 25,08 0,90 100,00 222,20 55,06 186,20 0,95 400,00 1596,5 227 1514 0,98 2500,0 22096 1400 19826 0,99 10000 161874 5612 147239 При малых р дисциплина SPT дает несколько меньшую диспер- сию длительности пребывания, чем FCFS. При более высоких
8.10] Исторические замечания 245 и более интересных значениях р FCFS существенно лучше, чем SPT. По-видимому, вместе с уменьшением дисперсии длительно- сти обслуживания абсцисса точки пересечения для этих двух кри- вых также уменьшается. 8.10. Исторические замечания *) Число публикаций по теории очередей весьма велико. Библио- графия в книге С а а т и [178] охватывает работы, опубликован- ные до 1958—1959 гг. и вместе с библиографией советских работ, вышедших до 1967—1968 гг., содержит около 1300 названий. В вводной главе Саати также приводит превосходную историчес- кую справку. Настоящий раздел содержит краткие исторические замечания по материалу гл. 8. Первые работы, опубликованные А. К. Эрлангом, были продол- жены в начале XX в. инженерами, занимавшимися проектирова- нием телефонных сетей. Основным методом анализа был метод диф- ференциально-разностных уравнений, примером чему могут слу- жить раздел 8.1 и гл. 10. Раздел 8.8, посвященный распределению длительности пребы- вания при прямом порядке обслуживания, основан на представле- нии периода занятости в виде суммы зависимых случайных вели- чин. Такой подход **) был предложен Кобхэмом [28] при исследовании относительного приоритета. Затем его использова- ли Ави-Итцак и Наор [8] для получения двух первых мо- ментов периода занятости. Вывод, приведенный в разделе 8.4, принадлежит А в и - И т- ц а к у, М<аксвеллу и Миллеру [7]. Формула (14а) для средней длительности пребывания в однолинейной системе с пуассоновским входящим потоком, произвольным распределением длительности обслуживания и дисциплиной, не зависящей от длительности обслуживания,— зто хорошо известная формула Поллачека—Хинчина. Идея рассмотрения числа заявок в системе в моменты оконча- ния обслуживания (п. 8.5.1) представляет собой основу метода вложенных цепей Маркова ***), предложенного Кендал- лом [107]. Этот метод играет основную роль при анализе очередей в системах с пуассоновским входящим потоком и про- извольным распределением длительности обслуживания. Однако *) В этот раздел при переводе добавлен небольшой обзор работ советских авторов.'— Прим. ред. **) Аналогичный метод использован Таннером [192], который в свою очередь опирался на работу Е. Б о р е л я (см. С. R. Acad. Sci. 214, Paris, 1942). ***) Эта идея была предложена А. Я. Хинчиным ([108], стр. 149) еще в 1932 г.— Прим. ред.
246 ДИСЦИПЛИНЫ ВЫБОРА ДЛЯ ОДНОЛИНЕЙНОЙ СИСТЕМЫ [ГЛ. 8 в разделе 8.4 для получения основных результатов использован другой метод. Обратный порядок обслуживания (п. 8.5.2) исследовался У и- ш а р т о м [2021, а случайный порядок (п. 8.5.3) имеет более сложную историю. Несколько ссылок даны в тексте, другие при- водятся у Саати ([178], стр. 44). Первой работой по приоритетным дисциплинам является рабо- та Кобхэма [28], в которой получена формула (29а') для средней длительности ожидания при относительном приоритете. Обобщение на дисциплину выбора кратчайшей заявки было сде- лано Фипсом [163]. Формула (29) для преобразования Лап- ласа—Стилтьеса распределения длительности ожидания впервые получена Кестеном и Ранненбергом [109]. Вывод в гл. 8 более прост и является типичным для всей главы. Имеется несколько важных статей, посвященных абсолютному приоритету. Уайт и Кристи [201] рассмотрели случай двух пуассоновских потоков и экспоненциального распределения дли- тельности обслуживания при прерывании с дообслуживанием. X е т к о у т [74] исследовал нестационарное распределение в сис- теме при тех же условиях. Миллер [138] получил важные ре- зультаты для прерывания с дообслуживанием при произвольном распределении длительности обслуживания. Различие между пре- рыванием с дообслуживанием и обслуживанием заново было отмечено еще в работе Уайта и Кристи [201]. Различие между двумя видами обслуживания заново было, по-видимому, впервые установлено в работах Г э й в е р а [59] и А в и- И т ц а к а [5]. Дисциплина выбора заявки с кратчайшей длительностью дооб- служивания (п. 8.7.2) впервые рассмотрена Шрейджем [183]. В статье Миллера и Шрейджа [137] содержится более подробное изложение материала этого пункта. Работы по дисциплинам, учитывающим плановые сроки, на- чал Джонсон (см. [94], [97], [99]). Он получил фундаменталь- ные результаты и стимулировал работу других авторов (см. [71], [1121). Большое число результатов, полученных в последние годы и касающихся приоритетных систем и оптимального назначения приоритетов, содержится в работах советских авторов. Сюда отно- сятся работы О. И. Бронштейна, Е. Б. В е к л е р о в а, Э. А. Даниэляна, И. М. Духовного, Г. П. Кли- мова, В. Ф. Матвеева, В. В. Рыкова и других авто- ров. Далеко не полный перечень этих работ читатель найдет в списке литературы, добавленной при переводе. Вопросам много- этапного обслуживания и оптимального назначения приоритетов посвящены работы [212], [216], [221] — [223], [228] — [230], [232] — [235], [246], [247], [253], [254] и др.
8.10] ИСТОРИЧЕСКИЕ ЗАМЕЧАНИЯ 217 Анализ быстродействующих систем с относительно большим коэффициентом использования требует введения ограничений на число мест для ожидания. В связи с этим ряд принципиально но- вых возможностей исследования реальных систем открывают ра- боты Г. П. Башарина, П. П. Бочарова, В. А. Кокотушкина, К. К. Колина, В. В. Липаева, В. Т. Лысенковой, Д. Г. Михалева и др., допускающие ограничения на число мест для ожидания при произвольном числе приборов и различных видах приоритетов (см. [2051 - [208], [210], [211], [239]—[241], [248] и др.). Подробный обзор результатов по системам массового обслу- живания с приоритетами содержится в книгах Б. В. Гнеден- ко и др. [226] и Джейсуола [231]. Различные приложения рассмотрены в работах [204], [239], [240], [251], [255] и др.
ГЛАВА 9 ОДНОЛИНЕЙНЫЕ СИСТЕМЫ С КЛАССАМИ ОРИЕНТАЦИИ Существенным ограничением моделей систем с ожиданием, рас- смотренных в гл. 8, является отсутствие ориентирования (настрой- ки) *) прибора. Конечно, в понятие длительности обслуживания можно включить как длительность собственно обслуживания, так и длительность ориентирования прибора, но такое определение целесообразно только в том случае, если ориентирование зависит лишь от вида поступающей на обслуживание заявки и совершен- но не зависит от присутствия в системе других заявок и последо- вательности их обслуживания. В гл. 8 не рассматривалась также в большей мере отвечающая практике модель прерывания с до- обслуживанием с прерванного места, в которой перед началом каждой следующей порции обслуживания прерванной заявки не- обходимо израсходовать машинное время на ориентирование при- бора. Целью этой главы является разделение длительностей обслу- живания и ориентирования и изучение влияния этого разделения на системы с ожиданием. Исследование становится значительно труднее, поэтому число полученных результатов невелико, но они вносят ясность в ряд важных для практики вопросов и указывают области, в которых возможно дальнейшее продвижение. Основным понятием этой главы является класс ориентации. Каждая поступившая в систему заявка принадлежит одному из таких классов. Прибор ориентирован на работу по обслуживанию определенного класса заявок, т. е. для перехода к обслуживанию заявок другого класса необходимо затратить время на переориен- тацию прибора, в то время как между заявками одного класса переориентация не нужна. В гл. 8 рассматривались два предель- ных случая: каждая заявка имеет свой класс ориентации или все заявки имеют один и тот же класс ориентации. В этой главе всю- ду, кроме раздела 9.1, предполагается, что число классов ориента- ции меньше числа заявок, но не меньше двух, причем результаты *) Термины ориентирование, настройка, наладка, переналадка использу- ются в книге как эквивалентные, (англ, selup-time').— Прим, перев.
Э.1] ПРЕРЫВАНИЕ С ДООБСЛУЖИВАНИЕМ ЗАЯВОК 249 получены в основном именно для случая двух классов. Вообще, можно принять, что длительность ориентации зависит как от пред- шествующего, так и от последующего классов, аналогично тому, как это имело место в задаче коммивояжера в разделе 4.1, но выкладки становятся весьма громоздкими. Очевидно, что в случае только двух классов нет необходимости рассматривать зависи- мость переориентации от предшествующего класса. В разделе 9.1 обобщаются результаты для абсолютного прио- ритета, полученные в гл. 8: ориентирование при прерывании про- изводится заново, а обслуживание производится с прерванного места. Следовательно, результаты гл. 8 являются частным слу- чаем результатов раздела 9.1. В трех других разделах рассматриваются различные дисципли- ны выбора: во-первых,— обслуживание в порядке поступления, причем длительность ориентации полностью определяется входя- щим потоком, во-вторых,— дисциплина, при которой как можно дольше обслуживаются заявки одного класса прежде, чем проис- ходит переориентация на обслуживание другого класса. Воспользуемся обозначениями гл. 8, и пусть 5 — длительность ориентации, К (s) — функция распределения длительности ори- ентации и х (г) — преобразование Лапласа — Стилтьеса для К (s). 9.1. Прерывание с дообслуживанием заявок и новой длительностью ориентирования для каждой заявки Рассмотрим заявки г классов, причем заявки класса к имеют приоритет с прерыванием по отношению к классам к -f- 1, ..., г. Примем, что при каждом поступлении заявки на прибор (первом или после прерывания) производится его ориентирование. Следовательно, ориентирование прерывается так же, как и обслу- живание. Активное время /с-заявки состоит из полного интервала ориентирования Sch, интервала обслуживания, затем, возйожно, интервала прерывания, полного интервала ориентирования, сле- дующего интервала обслуживания и т. д., пока заявка не получит все необходимое обслуживание. Типичный пример активного вре- мени /с-заявки показан на рис. 9.1. Полный интервал ориенти- рования состоит из безуспешных интервалов ориентирования длительности Swk, за каждым из которых следует интервал бло- кировки длительности Tbk, а завершающим является успешный интервал ориентирования длительности Ssk. Суммарная длитель- ность ориентирования Sgk представляет собой сумму длитель- ностей полных интервалов ориентирования, необходимых для обслуживания заявки. После завершения первого полного ^интервала ориентирования система ведет себя так же, как в случае прерывания с дообслу-
250 ОДНОЛИНЕЙНЫЕ СИСТЕМЫ С КЛАССАМИ ОРИЕНТАЦИИ [ГЛ. 9 живанием с интервалами прерывания длительностью Тbh + Sch. Поэтому из формулы (33, рг), полученной в гл. 8 для прерывания с дообслуживанием, следует, что Trfc(z) (^) Tfc (z 4“ (^) (^))" (1) В этой ситуации полное время ориентирования аналогично актив- ному времени для прерывания с обслуживанием заново, рассмот- ренному в п. 8.7.1. Используя выведенные там формулы (33, rs) Завершение Поступление Прерывания Длительно/ гр обслуъиОД/ия., Общее время ориентирова- ния ,8 ориентирования Рис. 9.1. для прерывания с обслуживанием заново с новой длительностью и (33, rw) для прерывания с обслуживанием заново с прежней дли- тельностью, получим ,_ч______(г + ^о) (2 + ^а)_ /П , %с*(2)-г + хо-ха^(2Ш-Мг4А)1’ } (3a-rs) E(Sh)-,474nr,|l-><.(K)-V(,sZA)l. (3b. rs) E (5ck) = [1 + V M E (S#s), (2a, rs) E (5^) = [i + ^Wl E(S^) + + 2XaE (7^) [1 + 2ьаЕ (Z^)] [E (Sg/;)p+XaE (Tg4) E (Sgfc), (2b, rs)
9.1] ПРЕРЫВАНИЕ С ДООБСЛУЖИВАНИЕМ ЗАЯВОК 251 Чг+Х„) s ---—------Ц^-dK^ Z + Ka~ ° 1 (2, rw) Ё(5П)== Мм-м -1], (3a,rw) Na E(S2ft> ^-[xk(-2M-xs(-^)-kE(5/A)], (3b, rw) E cfc) = [1 + (Tb^ E (5g/c), (2a, rw) E (S^) = [1 + V (7^)] E (8*к) + V (T2blt) E (Sgk) + + Д E (Tbk) (1 + V (Tbk)] E (/A - I)2. (2b, rw) Применим теперь формулы (37a), (37b) и (36a') гл. 8, которые служат для рекуррентного определения моментов длительностей ожидания и прерывания. Эти формулы вместе с другими, необходимыми для нахождения первых моментов длительностей ожидания и пребывания, приво- дятся ниже. E(^) = E(iyft) + E(Prfc), ЕСТ’ \ (ла + лр[1-х!£Е(Рг!£)]’ F _ V [1 - xfeE + ЧЕ (рг\) И + ЧЕ (^)1 (Ч + ЧН1- ЧЕ (^)18 Е (Pri£) = Е (5с0 + Е (Pk) (1 + к [Е (5c(t) + Е (ВД), (4) (5а) (5Ь) (1а) Е (P2fe) = Е (S2k) + 2Е (Scjt) Е (Pfe) {1 + k [Е (М + Е (Т№)]} + + Е (Р2) {1 + Ха [Е (5cS) + Е (Г№)])2 + + Х„Е (Pft) [Е (5С20 + 2Е (5ck) Е (Tw) + Е (П%)], (Ь) Е(И^+1) = ?Дс+1Е /с+1) 2 И ^S+1E ^Г, fc+l)l _2Щ_ i-4E(prt) ’ (6) Для класса 1 Ха = 0 и Тьк = 0, так что (6) дает непосредственно Е (IVi) и Е (Рх) — Е (ТУj) 4- Е (Sx) + Е (Pj), поскольку 5с1 = S^. За- тем, если известны Е (Гь!£), Е (Г2^, Е (Prfe) и Е (Р2&), то рекуррент- ные формулы (5а) и (5Ь) позволяют вычислить Е (?’bj fe+1) и Е (?ь, ft+1). Эти величины позволяют в свою очередь вычислить Е (5С1 к+1) и Е (5?, fc+i). Затем можно найти Е (Рг, и^) и Е(Р2, fe+1) и, наконец, вычислить Е (ТУ ft+i) и Е (Р^ц).
252 ОДНОЛИНЕЙНЫЕ СИСТЕМЫ С КЛАССАМИ ОРИЕНТАЦИИ [ГЛ. 9 9.2. Альтернирующие приоритеты без ориентирования Рассмотрим приоритетную дисциплину для двух классов зая- вок, в которой внутри каждого класса обслуживание производит- ся в порядке поступления. Пусть приоритет класса изменяется таким образом, что старшим в некоторый момент является тот класс, заявка которого обслуживается в рассматриваемый момент. При такой дисциплине производится обслуживание заявок одно- го класса в порядке их поступления до полного опустошения оче- реди от этих заявок. Если в момент окончания обслуживания зая- вок одного класса в очереди имеются заявки другого класса, пер- вая из них поступает на обслуживание, а заявки ее класса полу- чают высший приоритет. Таким образом, вслед за серией заявок одного класса происходит обслуживание серии заявок другого класса. Длина очереди является случайным процессом, зависящим от интенсивности суммарной нагрузки и доли каждого из классов. Вообще, такую дисциплину можно рассмотреть и для случая к классов, но тогда нужно установить правило, по которому сле- дует выбирать из (к — 1) классов тот, заявки которого будут об- служиваться после опустошения очереди от заявок обслуживае- мого в данный момент класса. Для двух классов выбор делать не нужно и именно этот случай будет здесь рассматриваться. Чтобы исследовать стационарное распределение длительности пребывания, рассмотрим два типа периодов занятости, зависящих от класса начальной заявки. Затем разделим период занятости на подпериоды, в которые обслуживаются заявки только одного класса. Обозначим длину подпериода через Г{^, где индексы име- ют следующий смысл: i — номер класса, получающего обслужи- вание в подпериоде (i = 1, 2); к — номер подпериода типа i в пери- оде занятости (к = 1, 2), j — номер класса заявки, начавшей пери- од занятости (/ = 1,2). Рис. 9.2 иллюстрирует последовательность подпериодов для каждого из двух типов периодов занятости. Под период TJt! Цикл Т Подоврио^ l?!?. | ^11Я I ^2221 ^1221 .,. ['Д ^ГК2 I Уикл 7/2 ' 'Л? Рис. 9.2. В силу симметрии задачи достаточно проанализировать дли- тельность пребывания лишь для 1-заявок, так как результаты для 2-заявок можно получить с помощью замены индексов.
9.2] АЛЬТЕРНИРУЮЩИЕ ПРИОРИТЕТЫ БЕЗ ОРИЕНТИРОВАНИЯ 253 Основной идеей анализа является представление периода за- нятости в виде последовательности циклов занятости. Роль пе- риода занятости в таком цикле играет подпериод типа 1, в котором обслуживаются лишь 1-заявки, а роль разогрева, за исклю- чением первого цикла периода занятости типа 1, играет предшест- вующий подпериоду типа 1 подпериод типа 2, в котором обслужи- ваются лишь 2-заявки. Пусть Тъ, обозначает длину к-го цикла для периода занятости типа /. Тогда m _ f Pi 11, fcl | rp IT1 t * 2, ~r 1 Ifcl, Tla = T2/c2 Tifc2, k = l, к = 2,3,..., к =1,2,... Обозначим длину периода занятости типа j через Tj, где Р, = S Рю- /с=1 Будем говорить, что в некоторый момент система находится в состоянии 0, 1, 2, если в этот момент система соответственно свободна, или имеет место период занятости типов 1 или 2. Анало- гично, система находится в состоянии к], если в этот момент имеет место цикл с индексом к]. Следовательно, если система находится в состоянии kj, то она находится также и в состоянии j *). Для каждого состояния $ (с двумя или одним индексом) обозначим, как обычно, через л8, ms и ls соответственно его стационарную ве- роятность, среднюю продолжительность и среднее время между двумя последовательными возвращениями в это состояние. Пусть riifcj (z) = Е а Е (e~zPi | s) — преобразование Лапла- са — Стилтьеса распределения длительности пребывания для 1-зая- вок при условии, что 1-заявка поступила, когда система находи- лась в состоянии s. Тогда Е 10) = ь (z) и подстановка в (18) из гл. 8 дает Е (е-^ | И) = i ’ ' 1 ’ (z) — At + z] Е и) _ МУ ДМ’Л1 • v 1 ’ "41 [Ml (z) — A,i+z] Е | А2) = • ' 1 ’ mk2 [AiTi (z) — X,i + z] (7) (8) (9) *) Можно сказать, что состояние /' — макросостояние, а состояние kj — микросостояние.— Прим. ред.
254 ОДНОЛИНЕЙНЫЕ СИСТЕМЫ С КЛАССАМИ ОРИЕНТАЦИИ [ГЛ. 9 Стационарные вероятности nkj, необходимые для вывода пре- образования Лапласа — Стилтьеса, получаются аналогично тому, как зто было сделано в гл. 8. Имеем > ___ 1 ? А-1 ‘ г А.2 1 у _ + А-2 1 ~~ (Х1 + м (1 - р) ’ * 1 = ог 42 L°’ Ло = 1 — р, JTj = pi, JTg — pg. Вероятность, что система находится в состоянии kj при усло- вии, что она находится в состоянии j, равна так что ~ Ъ = (1 — р) К}тк}. (10) Отсюда преобразование Лапласа — Стилтьеса для длительности пребывания 1-заявок равно 2 оо Pi (Z) = в (e~zF)'> ~ л0Е (e~zFi 10) + 2 3 1 */) = J=1 fc=l = Х1^)Р1Х(тг{г + 11 “T12w(z)] + •(11) Дифференцируя, получаем первый момент длительности пребыва- ния: Е(Л) = (1-Р){Е(Л) + 2 (1 — Pl) Е (Л) + Л.1Е (Р®) Г V Р /Т \ I 1 V с (Т Д I -----------2 Р1)2-----------|_Р1 + 2j fc О 2ki) + Ag 2j В О а*з) J + fc=1 fc=l оо оо 4" 2 (1 — рх) [^1Е (^*1) 4" 2 Е (^2Л1) 4" ^2 2 Е (?12fc2)j| • (На) Сумма средних длительностей подпериодов типа 2 в циклах типа 1, входящая в (И), представляет собой математическое ожидание суммарной длительности обслуживания 2-заявок в цикле типа1: 2 Е(?’2н) = Р2»г1 = £г^-). (12) &==i н Аналогично, оо 2 Е (^ш) = Е (Ра) 4- ра»г2 = ~ Р2ЕО(Р2) • (13) fc=i р
9.2] АЛЬТЕРНИРУЮЩИЕ ПРИОРИТЕТЫ БЕЗ ОРИЕНТИРОВАНИЯ 255 Чтобы вычислить суммы вторых моментов, используем (7а, Ь, 8а и 8Ь) из гл. 8. Так как Тш является простым периодом за- [ЯТОСТИ, то Е (Р?) 1 поскольку Tlhl для к 1 играет роль периода занятости в цикле шнятости, в котором длительность разогрева равна то Е ]) + Е г)’ к = 2’3....................... Зуммируя эти соотношения при к >> 2, прибавляя соотношение цля к = 1 и используя (12), получим 2 в ««) - + Нэт 1 в Л.>- Вторую формулу можно получить, суммируя соотношения Е (^i) = Е (Tw) + Е (TL), к = 1, 2,. . ., по /г > 1 и подставляя 3 ” fc=i (1 - ра)Е(Р!) 1 — р откуда оо 2 Е(7’г/н) — /с=1 , Р2 £ р.г2 (1 _ р2)2 (1 - Р) + (1 _ р2)2 Н П Разрешая систему из двух линейных уравнений относительно не- известных сумм вторых моментов, получим у Р/т13 - + W р!Е(^) Zl 1 П-1) (1_р)2[(1_р1)0_рг)+р1р21> (14) F/T2 Ч_ (1 - Р2) Е (Р12) + t1 - Р1)а Р1Е 1 ml (i_p)2[(1_pl)(1_p2) + pip2] (15) Замена индексов в (14) дает оо 2 Е&) = /с=1 (1 - pi)3E(P^) + р| Е(^) (1 — Р)2 [(1 — Pi) (1 — Рг) + Ргрг] * (16)
256 ОДНОЛИНЕЙНЫЕ СИСТЕМЫ С КЛАССАМИ ОРИЕНТАЦИИ [ГЛ. 9 Теперь, чтобы получить (15) и (16) в (11а): Е(А,), достаточно подставить (12), (13), E(F,) = £(₽.)+±221. М Е(рР + Mi - Р1)2 17 2(1 — Р1) (1 — Р) [(1 — Р1) (1 — р2) +Р1Р2] ’ ' ' В силу симметрии E(F2) = E(P2) + Ё(Ра) 2(1— р») Xi (1 - р2)2 Е(Р^) + E(Pf) 2 (1 — Ра) (1 — р) [(1 — pi) (1 — рз) + pipa] (18) Из этих результатов следует, что рассмотренная система имеет ин- тересные свойства. Если оба класса имеют одинаковое распреде- ление длительности обслуживания, то алгоритм выбора из очере- ди не зависит от длительности обслуживания и общая средняя дли- тельность пребывания будет той же самой, что и при обычном обслуживании в порядке поступления (раздел 8.4). Если, кроме того, оба класса имеют одинаковое распределение расстояний между поступлениями заявок, то модель полностью симметрична по отношению к классам, и средние длительности пребывания для каждого из классов совпадают. Однако при наличии асимметрии полученные результаты являются неожиданными. Если при фик- сированной интенсивности суммарного входящего потока заявки класса а появляются чаще, чем заявки класса р, то рассматривае- мая дисциплина более благоприятна для а-заявок в том смысле, что средняя длительность пребывания а-заявок меньше общей средней длительности пребывания и, тем более, меньше средней длительности пребывания p-заявок. Кроме того, если а и р-заяв- ки появляются одинаково часто, а a-заявки имеют меньшую сред- нюю длительность обслуживания, чем p-заявки, то результат будет противоположным; средняя длительность пребывания р-за- явок меньше, чем а-заявок. Действительно, подпериод занятости a-заявками заканчивается быстро, но a-заявкам приходится дол- го ожидать, пока закончится подпериод типа р. Чтобы пояснить это явление, приведем в качестве аналогии один детерминирован- ный пример. Предположим, что два одинаковых резервуара на- полняются непрерывно водой с одинаковой скоростью. Каждый из резервуаров имеет сток в общую ванну и закрывающийся кран, причем открытым может быть лишь один из кранов, но не два од- новременно. Алгоритм управления состоит в том, что сначала от- крывается один из кранов до полного опустошения соответствую- щего резервуара, затем другой, и т. д. Интересно заметить, что если мощности стоков из резервуаров различные, то средний уро- вень воды будет выше в резервуаре с большей мощностью стока. Общая средняя длительность пребывания в асимметричном случае может быть либо меньше, либо больше, чем при обслужи-
9.2] АЛЬТЕРНИРУЮЩИЕ ПРИОРИТЕТЫ БЕЗ ОРИЕНТИРОВАНИЯ 257 вании в порядке поступления. Если длительности обслуживания имеют экспоненциальные распределения, со средними соответ- ственно 1/р.а и 1/цз, причем ца > р,3, то альтернирующий прио- ритет дает меньшую общую среднюю длительность пребывания, чем FCFS, тогда и только тогда, когда 1 - Рр !^а или |1а — Альтернирующий приоритет является оптимальным в том смысле, что для двух классов заявок он дает меньше подпериодов занятости, чем любая другая дисциплина, не разрешающая ис- кусственные простои прибора при наличии очереди. Это означает, что минимизируется частота переключений от одного класса к другому, что особенно важно при учете времени переключения (длительности ориентирования) (см. раздел 9.4). Это свойство легко показать. Предположим, что альтернирую- щий приоритет применяется в системе с двумя классами заявок. Начало Конец периода периода занятости занятости Подпериод 1 Подпериод 2 Подпериод 5 а-заявки ьр-зая8ки а-зиявки Рис.’ 9.3. Рассмотрим период занятости, который начинается в момент с поступления a-заявки (см. рис. 9.3). Первый подпериод, во вре- мя которого обслуживаются a-заявки, заканчивается в момент tx, второй подпериод, во время которого обслуживаются Р-заявки, заканчивается в момент и т. д., а период занятости заканчива- ется в момент th вместе с завершением /с-го подпериода. Пред- положим теперь, что в течение этого периода занятости исполь- зуется другая дисциплина R, отличная от альтернирующего приоритета. При дисциплине R первый подпериод занятости заканчивается в £/, второй — в i2z ит. д., а последний — j-й подпе- риод — заканчивается в момент tj'. При этом th= tj', так как длина периода занятости не зависит *) от дисциплины, не допускающей вынужденных простоев прибора. Вообще, число подпериодов при двух рассматриваемых дисциплинах будет различным, так что k =f= j. Покажем теперь, что к у. Для этого заметим, что при обеих дисциплинах период заня- тости открывает a-заявка и что все подпериоды занятости с нечет- ♦) Напомним, что интенсивность поступающего потока не зависит от состояния системы,— Прим. ред. 9 Р. В. Конвей и др.
258 ОДНОЛИНЕЙНЫЕ СИСТЕМЫ С КЛАССАМИ ОРИЕНТАЦИИ [ГЛ. 9 ними номерами являются подпориодами типа а, а с четными — тина р. Установим теперь, как изменяется длительность первого подпериода в зависимости от дисциплины. При альтернирующем приоритете первый подпериод занятости заканчивается, когда в системе нет больше a-заявок, после чего прибор переходит к об- служиванию p-заявок, если они имеются в очереди, или остается свободным. Так как в данном случае последнее исключено, то на- чинается обслуживание p-заявки. Дисциплина R может отличать- ся от альтернирующего приоритета порядком обслуживания заявок в первом подпериоде (это не влияет на общую длину под- периода) или окончанием первого подпериода, когда еще возмож- на a-работа. Но при дисциплине R первый подпериод не может продолжаться более чем до t±, так как в момент tx в системе нет a-работы. Отсюда следует, что при любой дисциплине R. С помощью аналогичного рассуждения можно показать, что дис- циплина R не может продлить второй подпериод за £2, так что h- Продолжая зти рассуждения, получим, что i{ для i = 1, ..., к, так что при дисциплине R период занятости состоит из не менее чем к подпериодов. Если в течение периода занятости допускается вынужденный простой прибора, то ситуация, конечно, изменяется. При этом мо- жет оказаться целесообразным для продления подпериода типа а ожидать появления дальнейшей a-работы даже при наличии в системе ожидающей p-работы. Это аналогично различию между расписаниями работ с ожиданием и без ожидания, рассмотренно- му ранее в разделе 6.6. Теоретически введение вынужденных простоев прибора является полезным и можно построить примеры, показывающие необходимость вынужденных простоев для состав- ления хорошего расписания. Но на практике трудно придумать достаточно экономную процедуру с вынужденными простоями при- бора, а полученные результаты чаще всего являются плачевными. Распределение числа переключений можно исследовать чис- ленными методами. Пусть Е (7VU) — среднее значение числа под- периодов типа 1 в периоде занятости типа 1. Наличие точно к подпериодов типа 1 в периоде занятости типа 1 означает, что имеет место событие {Ли>0, Л, к+1, х= 0}. Вероятность того, что подпериод типа 1 имеет нулевую длину, совпадает с вероятностью того, что 1-заявки не поступают во вре- мя предшествующего подпериода типа 2. Обозначая через функцию распределения Ti]cj, получим ОО Р= 0} — e~^dH^ к-i, 1 (0 = Лз, fc-i, 1 (^1)- о
11.2] АЛЬТЕРНИРУЮЩИЕ ПРИОРИТЕТЫ БЕЗ ОРИЕНТИРОВАНИЯ 259 В этом подсчете учтена возможность события {T2jft Ъ1 0}. Ве- роятность наличия точно к поднериодов типа 1 в периоде занято- сти типа 1 равна Р -=к} = Р {Л, fc+1,1== 0} — Р {Тш= 0} = Пад (Ьх) - Т12, fc-1, 1 (Ч- Отсюда следует, что <7 4-1 2 кР {Nп = к} = г]271 (А,х) Ц- 2 [Лае! (^i) — Ла/с! fc=i /С=1 Если система не насыщена, то lim 1]2<Z1 (Хх) = 1. Переходя к пре- О'—>оо делу в предыдущем выражении, получим ЦЛ?и)= 1 + 2 [1~’1ш(ЧЬ (19) fc=i Аналогичный вывод дает для среднего значения числа подперио- дов типа 2 в периоде занятости типа 1 следующую формулу: оо Е(ЛМ= 2 [1-ПшО- (2°) Выражения для Е (TV12) и Е (TV22) могут быть найдены из сообра- жений симметрии. Для вычисления указанных сумм в конкрет- ных случаях достаточно вычислить рекуррентно г]ххх (Х2), д211 (Д), Pi2i (Х2), ... с помощью (8) гл. 8. Если число классов заявок больше двух, то после завершения некоторого подпериода вид следующего класса заявок (тип сле- дующего подпериода) можно выбрать, вообще говоря, многими способами. Например, можно использовать фиксированную цик- лическую последовательность классов, начиная с класса, первого в периоде занятости. Если у следующего по порядку класса в оче- реди нет заявок, то переходят к последующему но порядку клас- су, заявки которого имеются в очереди. Другой метод состоит в том, что классам присваиваются приоритеты, и в конце каждого подпериода поступает на обслуживание класс с наименьшим индексом, заявки которого имеются в очереди. Метод исследова- ния, использованный выше для двух классов, можно развить применительно к каждой из двух моделей, но вывод соотношений типа (14)^и (15) становится слишком громоздким *) даже для слу- чая трех^классов. *) Несколько иной подход к исследованию систем с альтернирующими приоритетами и весьма сильные результаты содержатся в статьях И. М. Д у- х о в н о г о [232] — [235].— Прим. ред. 9*
260 ОДНОЛИНЕЙНЫЕ СИСТЕМЫ С КЛАССАМИ ОРИЕНТАЦИИ [ГЛ. 9 9.3. Обслуживание в порядке поступления с классами ориентации Обслуживание в порядке поступления, требующее затрат вре- мени на ориентирование прибора и имеющее классы ориентации, было впервые рассмотрено Гэйвером [59]. В его модели ориен- тирование не требуется, если начальная заявка периода занятости принадлежит тому же классу, что последняя заявка предыдуще- го периода занятости. В случае двух классов Гэйвер приводит про- цедуру определения средней длительности ожидания для каждо- го из классов. Однако общая средняя длительность ожидания и интенсивность загрузки могут быть получены гораздо проще в специальном случае полностью симметричной системы с г клас- сами. Допустим, что имеется г классов ориентации и что заявки обслуживаются в порядке поступления независимо от их класса ориентации. Примем, что Х{ = X / г, i — 1, ..., г, и Gitp) = G (р), K^s) = K(s), г = 1, ..., г. Тогда затраты машинного времени Рт на некоторую типич- ную заявку составляют р __ f Р с вероятностью 1/г, т [ S ф- Р с вероятностью (г — 1)/г. Случайная величина Рт играет роль длительности обслуживания для дисциплины FCFS, рассмотренной в разделе 8.4. Коэффициент загрузки системы U = ХЕ (Рт) или С7==Р+^ХЕ (S). Преобразование Лапласа — Стилтьеса и среднее значение дли- тельности ожидания можно получить с помощью (15) и (15а) гл. 8: a (z) = Е (е~™) = , (21) 7 v 7 XTm(z) —X + z V 7 Е (W) = {Е (р2)+12Е (Р) Е А + Е (S2)]} • (21а) Среднее значение длительности пребывания равно Е (Ж) ф- (7/Х. Решение для несимметричного случая усложняется из-за не- обходимости определить г вероятностей пар событий: Р {прибор свободен и последней обслуживалась к заявка}, к = 1, ..., г.
9.4] АЛЬТЕРНИРУЮЩИЕ ПРИОРИТЕТЫ С ОРИЕНТИРОВАНИЕМ 261 Сумма этих г вероятностей несовместных событий равна 1 — О, ее найти легко, но вероятности индивидуальных событий получить трудно. Для несимметричного случая с двумя классами ориента- ции коэффициент использования (интенсивность загрузки) систе- мы равен = р + [Е(5Д+ E(S2)J. (22) 9.4. Альтернирующие приоритеты с интервалами ориентирования Введение интервалов ориентирования удлиняет подпериоды, но не изменяет характер или свойства альтернирующего приори- тета. Эта дисциплина по-прежнему минимизирует число подпе- риодов (в предположении, что искусственные простои прибора не допускаются), а также минимизирует общую длительность ори- ентирования и обладает по отношению к интервалам ориентирова- ния свойством автоматической компенсации, которое уменьшает возможность насыщения за счет ориентирования. Анализ распределения длительности пребывания проводится так же, как в разделе 9.2. Предположим, что каждый подпериод, Число поступлений Время No Iz-ZPi Период занятости ^Разогрев Замечание: Т^-О, если Ng=O 8 не изменяется. Рис. 9.4. включая первый подпериод периода занятости, начинается с ори- ентирования, распределение длительности которого зависит от класса заявок, которые будут обслуживаться в рассматривае- мом подпериоде. Первый подпериод периода занятости 1 представ- ляет собой цикл занятости, для которого длительность разогрева равна сумме длительности ориентирования типа 1 и длительности обслуживания 1-заявки (интервал номер 0 на рис. 9.4). Так как 31 н две случайные величины независимы, то по аналогии
262 ОДНОЛИНЕЙНЫЕ СИСТЕМЫ С КЛАССАМИ ОРИЕНТАЦИИ [ГЛ. 9 с формулой (7) получим F /А-zE, I I h _ T1 [z) [1 — Xi (z) Ti (z)J l1JJ mu[%iyi(z)_%i + z] Аналоги формул (8) и (9), описывающих длительность пребы- вания 1-заявок, поступивших во время других подпериодов, вы- водятся так 7i;e, как (10) и (18) в гл. 8 с соответствующей модифи- кацией для учета длительностей ориентирования. Если учесть возможность ориентирования в начале интервала номер 1, то те- перь вместо рис. 8.5 ситуацию изображает рис. 9.4. Ориентирова- ние изменяет распределение и длительность пребывания заявок, поступивших в интервале номер 0 и обслуживаемых в интервале номер 1. Преобразование Лапласа — Стилтьеса распределения дли- тельности пребывания заявок, поступивших в интервал номер 0, выводится аналогично (12) гл. 8: Р (p-zF | ; ^ ГЦ — и <г) Н° (X — Ху (z)) - До (z)] Е (e~zTt\T0 = t, No Соотношение записано в такой форме потому, что в рассматривае- мом случае формула т)х (z) = т]0 (X — Ху (г)) уже не является вер- ной. Чтобы выразить т]1(г) через ц0(г), заметим, что по аналогии с выводом формулы (10) гл. 8 при 7 = 1 теперь имеем 1 для п 0, х (z) [у (z)]n для п )> 0. Интегрируя по t и суммируя по п, получим 41 (2) = [1 — х (z)J По (z) + х (z) По (X — Ху (г)). Для у)>1 формулы раздела 8.4 сохраняют силу. Поэтому р (P-zF\ _ Е По) п (t,-zF I j _ Q\ j T (z) H ~ I1 (z)l __ ( ^E(X’c)4 17 H Е^сИХуО-Х + Ч^ = E7t л.-I (z) Mo(X - Xy (z)) - Ho(z)] + 1 - Hi(z)}- Подставляя сюда Ц| (z), получим аналог формулы (18) гл. 8: Pc (z) = Е (fc) fiy'(z) - % +z] ~ 110 + Х (Z) ho ~ n° (23) Отсюда следуют формулы, аналогичные (8) и (9): Е (e~zF‘ | kt) 71 {1 ~ 1 (М + И1 (Z) 14 (М ~ Ла- 1 (Z)1} тК1I.X1T1 (г) — Xi + z] Е (г^ | /г2) 71 (2) {1 ~ П2М lZl)r'Z1(z) [тЬа (M-T)afc2 (г)1) 1Х1У1 (z) — Xi + z]
9.4] АЛЬТЕРНИРУЮЩИЕ ПРИОРИТЕТЫ С ОРИЕНТИРОВАНИЕМ 263 Длительность пребывания 1-заявки, поступившей во время свободного периода, равна сумме длительности ориентирования типа 1 и длительности обслуживания типа 1, так что Е (e~zF1| 0) = xx(z) Тх (z). Преобразование Лапласа — Стилтьеса (не условное!) распре- деления длительностей пребывания 1-заявок, как обычно, находит- ся с помощью формулы полной вероятности: <г) = {Х1 ~211X1 (z) + ZX1 (z) + 4“ М 2 — Иг/сг (^i)J + ^iy-i (z) 2 Masi (^j) — Ha/ci (z)] 4" 4=1 k=i 4~ ^2 2 I1 --- г|2/с2 (^l)l + ^-2^1 (Z) 2 Изи (^z) — 'll 42 (Z)]| 4=1 4=1 J Используя Е(7УЪ) в том же смысле, что и в разделе 9.2, запишем формулу для средней длительности пребывания 1-заявок в виде ( 2 (1 - Р1) Е (Pi) -J- XiE (Р?) Е (Л) = л0 (Е (Л) 4- Е (51) + ----------------------- Х X Fpi + ^1 2 е (^"ам) + ^2 2 Е (^242) 4“ ^iE (Nц) Е (5Х) -|- k=l 4=1 4- J^E (Ni2) Е (5т)^ 4- 2’(| 4- 2рхЕ (5Х) Д- 4- Хх 2 Е (Г^х) 4- х2 2 Е (Т242) + 2ХхЕ (5х) 2 Е(Гда) 4" 4=1 4=1 4=1 ОО 4- 2ХаЕ (Sx) 2 Е Ы + ХхЕ (Vxi) Е (5?) 4- ^Е (Л/1а) Е (^)11. (24) 4=1 JJ Чтобы завершить вывод Е(/?1), нужно определить входящие в эту формулу величины: л0, среднее число интервалов ориенти- рования класса 1 для каждого типа периода занятости, а также суммы моментов длительностей подпериодов типа 2. Сначала нужно получить численные значения Е (Мц) с помощью формул (19) и (20) раздела 9.2. Необходимы также аналоги формул (7), (8), (8а) и (8Ь) гл. 8 с учетом интервалов ориентирования. Первый подпериод периода занятости, начавшегося с поступ- ления j-заявки, является циклом занятости, для которого интер- валом разогрева служит сумма интервала ориентирования типа j и интервала обслуживания /-заявки. Поэтому преобразование пласа — Стилтьеса распределения длительности первого под-
264 ОДНОЛИНЕЙНЫЕ СИСТЕМЫ С КЛАССАМИ ОРИЕНТАЦИИ [ГЛ. 9 периода периода занятости типа j имеет вид Е (е~гГпэ) = n.i; (Z) = т); (z) х, (z + Х? — Х,т], (г)), где тр (z) является решением уравнения ТЪ (z) = Ъ (z + к — м? (z))- Для последующих подпериодов рассмотрим цикл занятости с интервалами ориентирования, как это было сделано при выводе (23). Пусть ЛьС2) — преобразование Лапласа — Стилтьеса распреде- ления длительности периода занятости цикла, включая вре- мя ориентирования, если оно имеет место. Вероятность п заявок в очереди в конце интервала ориентирования при фиксированной длительности разогрева в цикле и фиксированной длительности ориентирования равна при п^>0: Р{« > »I г. = W , = 2 < „-»««> = 7П=1 4 ’ = Г Xn(t -Н)п _ (Ь)га 1 e_X((+s) L га! га! J Вместе с тем, условная вероятность равенства Тъ = 0 есть е~и. Поэтому Е (e~zTb \ T0=^t,S = s) = e~^s) 2 W + «)” — Л e~zs+ e"w = n=l ~~ e~\(t+s) ^X(z+s)-n(z)_ gls-n(z)j e~zs j Интегрирование дает Пь (z) = По (z) 4- x (z + К — Хц (z))[t|0 (X — Хц (z)) — ц0 (X)]. (25) Индексы 0 и b соответствуют двум периодам цикла, так что, напри- мер, Пш (z) = Лгл-!,! (z) + + Xi (Z + Xx — Ххцх (z)) [Ti2,fc-i(i (Xx — XXT]1 (z)) — ih.w.i (Ml- Дифференцируя (25), можно получить моменты длительности подпериода как функции моментов длительности предыдущего подпериода. Суммы моментов, входящие в (24), могут быть вычис- лены с помощью метода, использованного при выводе (12), (13), (15) и (16). Суммы первых моментов длительности подпериода типа 2 равны ОО 2 Е ы - [Е (Рх) + Е (yvxx) Е (5Х)1 + fc=i P1 Р2 + E(^)E(S2), (26)
9.4] АЛЬТЕРНИРУЮЩИЕ ПРИОРИТЕТЫ С ОРИЕНТИРОВАНИЕМ 265 2Е (Ы = 1 * Iе (pJ +Е (^22)Е (ад + к=1 ' р2 + i-pT-p. Е №.) Е №) (27) Суммы вторых моментов длительностей подпериодов типа 1 и 2 в цикле типа 1 являются решением системы двух уравнений с дву- мя неизвестными: С /Т2 \ Р1 V р/Т2 ч (1—Р2)Е(Р1) Д ( 1S1) (1 —Pi)2 ДЕ(Гш)“(1- Pi)2 (1-Р) + 2р1р2[Е(1У1)Р Р/дг , , Е(^) р,лг ч , (1 - Р1)2 (1 _ р) fc (Л'и) + ’(I— р^2- Е ("п) + 2 (1 - р2) Е (PQ Е (^) (1 — pi) (1 — р) 1ХЕ (Р?) + (Ь-Д-р) [Е н) Е (51) + Е (У21) Е (52)] + 2р1Е(1У1)Е(Л) Е,д, . и 2 ^Е(Р|)Е(Р1) Д t U т) — (1 _ Рг)2 (1 _ р) + 2ргЕ(Р1)Е(Л) , 2Р1Р2[Е W ч , Е(^) , (1 - р2) (1 - р) + (1 - Р2)2 (1 - P) < 2г) + (1 - № ("21) + 1гЕ(Р2) + (iрг)2 (1 _ р) Iе (Л^и) е (51) + Е (ЛГ21) Е (53)] + । 2р2Е Е (6г) р /дг >. + (1-Р2)(1-р) Е (А'»)- Средняя длительность периода занятости может быть найдена из (26) и (27), так что вероятность свободного состояния равна „ = _________________1/(11+%2)______________ = 0 1/(114- 1г) + Е (длины периода занятости) _ ________________________1 — Р1 — Р2______________________ 1 [liE (Mi) -f- 1гЕ (TVi2)] Е (1У1) -|- [liE (Nn) -|- 12Е (_ZV22)] Е (52) Наиболее интересным свойством альтернирующего приоритета с интервалами ориентирования является то, что система остается ненасыщенной и, следовательно, средние длительности ожидания являются конечными, если только интервалы ориентирования ко- нечны и р < 1. Для этого достаточно показать, что при указанных условиях средняя длительность каждого подпериода конечна, так как ни одна заявка не остается в системе более чем два подпериода.
266 ОДНОЛИНЕЙНЫЕ СИСТЕМЫ С КЛАССАМИ ОРИЕНТАЦИИ [ГЛ. 9 Средняя длительность первого подпериода в периоде занятости типа 1 равна Е(т1ц) = А1ЬШЖ, а из (25) следует, что <Ч(*) I рЕ(То) Е(У) -----— |г=о “ + гг?“ Т1« Начиная с первого из этих уравнений и используя второе, получим Е (М = —3 Hl - (Ml + ” 1 1=0 +3,rl i1 - ni.K-i-i.i (Mi. где r — PiP2 (1 — pi)(l — p2) Так как т] (X) является преобразованием Лапласа — Стилтьеса, то значения ц (X) заключены между 0 и 1, и, следовательно, пра- вая часть не уменьшится, если все т] (X) заменить на 0. Для г < 1 полученное таким образом выражение будет ограниченным и, в частности, lim Е (Т1к1) < 4^ Е (5Д 4- Е (S2). fc-^oo 1 ~ Р 1 Р Аналогичная оценка может быть получена и для E(T2ftl) и т. д. Наконец, r< 1 тогда и только тогда, когда р < 1. Табл. 9.1 иллюстрирует влияние интервалов ориентирования на общую среднюю длительность пребывания и коэффициент использования системы. Интересно отметить, что средняя длитель- ность пребывания в этом примере является почти линейной функ- цией средней длительности ориентирования. Значения коэффици- ентов использования системы показывают, как быстро этот коэф- фициент стремится к 1, даже если при р < 1 система является ненасыщенной. Г э й в е р [59] вычислил преобразование Лапласа — Стилтье- са и первые два момента активного времени для заявок младшего приоритета при двух классах и прерывании с дообслуживанием и ориентированием следующего вида: вновь поступившая 1-заяв- ка может прервать обслуживание 2-заявки или интервал ориенти- рования. При этом обслуживание, полученное прерванной 2-за- явкой, не теряется, а прерванное ориентирование начинается сна- чала. После прерывания ориентирование на второй класс должно быть успешно закончено прежде, чем прибор снова начнет обслу- живание 2-заявок, причем повторные интервалы ориентирования
9.4] АЛЬТЕРНИРУЮЩИЕ ПРИОРИТЕТЫ С ОРИЕНТИРОВАНИЕМ 267 Таблица 91 Средняя длительность пребывания и среднее использование системы с альтернирующим приоритетом и интервалами ориентирования (симметричный случай с двумя классами заявок и 1) экспоненциальной длительностью обслуживания с = 1,0; 2) экспоненциальной дли- тельностью ориентирования с одинаковым для обоих классов средним; 3) пуассоновским входящим потоком с = Хр = л/2) Средняя длительность ориентирова- ния Общая средняя стационарная длительность пребывания для обоих классов X == 0,5 0,7 o,s 0,9 0,95 0,0 2,000 3,333 5,000 10,000 20,000 1,0 3,739 5,826 8,369 15,915 30,943 2,0 5,706 8,522 11,912 21,960 41,981 3,0 4,0 7,732 11,228 15,446 27,981 53,0 9,768 13,925 18,967 33,991 64,0 5,0 11,803 16,612 22,479 40,0 6,0 13,833 19,293 25,987 46,0 7,0 15,857 21,970 29,491 8,0 17,878 24,644 33,0 9,0 19,894 27,316 36,5 Средняя Среднее использование U длительность ориентирова- ния Ъ = 0,5 0,7 0,8 0,9 0,95 0,0 0,5000 0,7000 0,8000 0,9000 0,9500 1,0 0,7390 0,8954 0,8954 0,9476 0,9943 2,0 0,8531 0,9565 0,9824 0,9960 0,9990 3,0 0,9106 0,9790 0,9928 0,9988 0,9998 4,0 0,9421 0,9888 0,9967 0,9996 0,9999 5,0 0,9606 0,9935 0,9983 0,9998 6,0 0,9721 0,9960 0,9991 0,9999 '7,0 0,9796 0,9974 0,9995 8,0 0,9847 0,9983 0,9997 9,0 0,9883 0,9988 0,9998 для той же самой 2-заявки имеют прежнюю длительность. Гэй- вер выводит следующее выражение для среднего использования системы: 77 _ -| । п ________1 — Pi______ ГРг [1 + Z. E Ал) • Для специального случая экспоненциально распределенных дли- тельностей интервалов ориентирования х2 (- Хх) - Е (е^) = [1 - ХхЕ (5г)Г.
268 ОДНОЛИНЕЙНЫЕ СИСТЕМЫ С КЛАССАМИ ОРИЕНТАЦИИ [ГЛ. 9 Большую производительность системы при альтернирующем приоритете по сравнению с прерыванием с дообслуживанием Гэй- вера или с обслуживанием в порядке поступления можно проиллю- стрировать в условиях табл. 9.1. Используя две последние форму- лы для прерывания с дообслуживанием и формулу (22) для FCFS при г = 2, вычислим Е(5"*) — среднюю длительность ориенти- рования, при которой наступает насыщение. Оказывается, что E(S*) = 2 (1 — Х)/Х для обеих дисциплин. Следующие значения Е(5*) соответствуют условиям табл. 9.1: X 0,5 0,7 0,8 0,9 0,95 Е(У *) 2,000 0,875 0,500 0,222 0,105 Фиксируем все условия, включая величину X, и посмотрим, ка- кое влияние оказывает изменение Хг и Х2. Для FCFS значение Е(5*) возрастает вместе с различием интенсивностей поступле- ния, поскольку множитель ХгХ2 в (22) при г — 2 и фиксированном X является максимальным при Хг = Х2 = Х/2. Однако при преры- вании с дообслуживанием Гэйвера способность системы переносить ориентирование возрастает вместе с долей низкоприоритетных зая- вок. При альтернирующем приоритете различие интенсивностей уменьшает скученность, измеряемую общей средней длительностью пребывания. Этот эффект показан в табл. 9.2. Таблица 9.2 Влияние различия в интенсивностях поступления на альтернирующий приоритет с интервалами ориентирования (два класса заявок; 1) экспоненциальная длительность обслужи- вания с = [ip = 1,0; 2) экспоненциальная длительность ориентирования с одинаковым для обоих классов средним, равным 2,0; 3) пуассоновский входящий поток с Хя-|-Х3=Х =0,9) Средняя длительность пребывания общая а-заявок 3 -заявок 0,00 11,354 11,354 0,10 16,327 52,071 11,859 0,20 19,123 36,964 14,025 0,30 20,944 29,233 16,799 0,40 21,847 24,055 20,080 0,45 21,960 21,960 21,960
ГЛАВА 10 МОДЕЛИ МНОГОКАНАЛЬНЫХ СИСТЕМ МАССОВОГО ОБСЛУЖИВАНИЯ С ОЖИДАНИЕМ Систему последовательных приборов конвейерного или общего типа можно представить как сеть, состоящую из многоканальных подсистем с ожиданием, причем заявки до ухода из системы могут получить обслуживание в нескольких подсистемах. К сожалению, для таких систем до сих пор получено мало теоретических резуль- татов. Основные результаты получены лишь в предположении, что индивидуальные приборы функционируют независимо, так что образующиеся перед ними очереди можно анализировать раздель- но методами типа тех, что были изложены в гл. 8 и 9. Вообще, эти предположения охватывают много факторов и являются весьма ограничительными. Действительно, требуется, чтобы 1) входящий поток был пуассоновским; 2) маршрут заявки — какие приборы и в каком порядке долж- ны быть пройдены — не зависел от состояния системы; 3) длительности обслуживания имели экспоненциальное рас- пределение (здесь допускаются некоторые обобщения); 4) порядок обслуживания заявок на конкретном приборе не зависел от а) длительностей обслуживания, в) последующего марш- рута, с) информации о будущих поступлениях на этот прибор. С нашей точки зрения, четвертое условие является наиболее ограничительным, поскольку оно означает, что имеющиеся ре- зультаты нельзя использовать для изучения интересных последо- вательных процедур. Строгий критик может сделать вывод, что результатов для сетей массового обслуживания с очередями фак- тически нет, поскольку согласно сделанным предположениям ин- дивидуальные приборы нельзя рассматривать как взаимно связ- ную сеть, а следует анализировать как однолинейные системы. Если же между приборами имеется взаимодействие, то полезных для приложений теоретических результатов по существу пет *). *) Разным аспектам теории сетей массового обслуживания посвящены вышедшие после 1966 г. книги Л.Клейнрока [238], В. Э. Бенеша [209], X. Штермера и др. [260], А. Эллдипа и Г. Линда [261], а также статьи Г. П. Башарина, II. П. Бочарова, Г. П. Климова, В. А. Кокотушкина, В. А. Наумова, Н. И. Пасько, Г. Н. Черкесова и др. (см., например, [263] — [267], [270], [271], [277]—[281], [287]—[299]. — Прим. ред.
270 МОДЕЛИ МНОГОКАНАЛЬНЫХ СИСТЕМ С ОЖИДАНИЕМ [ГЛ. 10 В теории очередей рассматриваются три основных типа си- стем с ожиданием. Многоканальные системы или системы с парал- лельными каналами имеют несколько идентичных приборов, дей- ствующих параллельно и предоставляющих один тип обслужива- ния. Это соответствует группе из нескольких взаимозаменяемых машин. Многофазные системы или последовательные очереди со- ответствуют системам конвейерного типа (гл. 5). Наконец, сеть общего типа, где каждая заявка проходит через некоторое подмно- жество приборов по индивидуальному маршруту, соответствует общей постановке задачи составления расписания (гл. 6). Важные результаты для этих случаев суммированы соответственно в раз- делах 10.1, 10.3 и 10.4. Анализ моделей, в которых входящие потоки для подсистем образуются полностью или частично из выходящих потоков дру- гих подсистем, зависит от трех основных результатов для пуассо- но-экспоненциальных очередей. Два из них (сохранение пуассо- новских свойств при объединении и полиномиальном разделении пуассоновских потоков) рассмотрены в разделе 8.1. Третий резуль- тат, который приводится в разделе 10.2, состоит в том, что обслу- женный группой приборов поток является пуассоновским, если (1) входящий поток пуассоновский, (2) длительности обслуживания экспоненциальные и (3) дисциплина обслуживания не зависит от длительностей обслуживания заявок. 10.1. Многоканальные системы с зависящими от состояния интенсивностями обслуживания Предположим, что на группу приборов поступает пуассонов- ский поток с интенсивностью X, а интенсивность обслуживания за- висит от числа заявок в системе. Пусть N (t) — число заявок в системе в момент t, тогда Р {A (t 4- Д£) = п 4-11 А (<) = п} = XAif 4- о (Д£), п — 0,1,. .. , Р {N (t 4- Д<) = п — 11 A (t) = п} = |1„Д;5 4- о (Д£), п — 1, 2,. . . Если обозначить через рп стационарную вероятность п заявок в системе, то после перехода к пределу по t в системе прямых диф- ференциально-разностных уравнений Колмогорова и очевидных упрощений получим +-Рп = П = 0,1,. . . (1) Отсюда следует, что Рп = Ро , (2) П Hi 2=1
10 11 ЗАВИСИМОСТЬ ОБСЛУЖИВАНИЯ ОТ СОСТОЯНИЯ СИСТЕМЫ 271 где р0 находится из условия 2 А = 1 и является положительным, г^О если выполняется условие иенасыщения. Многоканальные системы являются важным частным случаем этой модели. Здесь предполагается, что входящий поток однород- ных заявок является пуассоновским, очередь — общая, а каждый из т приборов имеет экспоненциальное распределение длительно- сти обслуживания с одинаковым средним 1/р.. Дисциплина обслу- живания не зависит от длительностей обслуживания заявок (на- пример, FGFS). Полагая в этом случае [пр,, т, Цп — I \ п >> пг, получим из (2) т—1 _ f VI / X 1 I ( \т_________1______Г"1 „о \ И J \ И / w! (1 — X/mp) / Коэффициент использования группы приборов есть р = Х/тр. и представляет собой отношение средней длительности обслужи- вания заявок, поступающих в единицу времени (Х/р), к мощности обслуживания в единицу времени (т). Величина р равна также отношению среднего числа приборов, занятых в единицу времени, к т. Действительно, 771 ОО —(2 пРп + т 2 Р’1)= • m \ 11 f / /7211 n=o ‘ Среднее значение длительности пребывания в системе равно Значения E(F) приведены в табл. 10.1 и 10.2 для различных зна- чений р и т. В табл. 10.1 фиксирована интенсивность поступления X = 1, так что р, = (л/гр)-1. В табл. 10.2 фиксирована интенсив- ность обслуживания одним прибором р, = 1, так что X = тр. Если для многоканальных систем при более слабых предполо- жениях о дисциплине выбора из очереди не существует компактных аналитических результатов, то как для входящего потока с огра- ниченным последействием, так и при более слабых предположени- ях относительно распределения длительности обслуживания такие результаты существуют (см. [38]).
272 МОДЕЛИ МНОГОКАНАЛЬНЫХ СИСТЕМ С ОЖИДАНИЕМ [ГЛ. 10 Таблица 10.1 Среднее значение длительности пребывания при 7.-1 р т 0,30 0,40 0,50 0,60 0,70 0,80 0,90 0,95 0,98 1 0,429 0,667 1,000 1,500 2,333 4,000 9,000 19,000 49,000 2 0,659 0,952 1,333 1,875 2,745 4,444 9,474 19,487 49,495 3 0,930 1,294 1,737 2,332 3,249 4,989 10,054 20,083 50,100 4 1,216 1,660 2,174 2,831 3,800 5,586 10,690 20,737 50,764 5 1,509 2,040 2,630 3,354 4,382 6,216 11,362 21,428 51,466 6 1,805 2,427 3,099 3,895 4,984 6,871 12,061 22,146 52,194 7 2,103 2,818 3,576 4,448 5,602 7,544 12,780 22,885 52,944 8 2,402 3,212 4,059 5,009 6,231 8,231 13,514 23,639 53,710 9 2,701 3,608 4,546 5,578 6,781 8,929 14,261 24,407 54,489 10 3,001 4,006 5,036 6,152 7,517 9,637 15,019 25,186 55,280 15 4,500 6,001 7,511 9,072 10,829 13,277 18,924 29,202 59,356 20 6,000 8,000 10,004 12,036 14,218 17,024 22,857 33,353 63,570 Таблица 10.2 Среднее значение длительности пребывания при у. = 1 р ?Т1 0,30 0,40 0,50 0,60 0,70 0,80 0,90 0,95 0,98 1 1,429 1,667 2,000 2,500 3,333 5,000 10,000 20,000 50,000 9. 1,099 1,190 1,333 1,563 1,961 2,778 5,263 10,256 25,253 3 1,033 1,078 1,158 1,296 1,547 2,079 3,724 7,047 17,041 4 1,013 1,038 1,087 1,179 1,357 1,746 2,969 5,457 12,950 5 1,006 1,020 1,052 1,118 1,252 1,554 2,525 4,511 10,503 6 1,003 1,011 1,033 1,082 1,187 1,431 2,234 3,885 8,877 7 1,001 1,006 1,022 1,059 1,143 1,347 2,029 3,441 7,718 8 1,001 1,004 1,015 1,044 1,113 1,286 1,877 3,110 6,851 9 1,000 1,002 1,010 1,033 1,091 1,240 1,761 2,855 6,178 10 1,000 1,001 1,007 1,025 1,074 1,205 1,669 2,651 5,641 15 1,000 1,000 1,001 1,008 1,031 1,106 1,402 2,049 4,038 20 1,000 1,000 1,000 1,003 1,016 1,064 1,275 1,755 3,243 Интересной разновидностью многоканальных систем является случай раздельных очередей перед каждым прибором и выбора заявкой прибора в момент ее поступления в систему. Очереди к контролерам в торговом центре или к кассирам в банке служат примерами систем, в которых заявка сама выбирает обслужи- вающий прибор в момент ее поступления в систему.
10.2] ВЫХОДЯЩИЙ ПОТОК СИСТЕМЫ С ОЧЕРЕДЬЮ В реальных ситуациях заявки могут переходить из очереди в очередь. Если поступающие заявки выбирают прибор случайно и независимо от состояния системы, а переходы между очередями не разрешены, то m-канальная система распадается на т незави- симых одноканальных систем. Если дисциплина выбора приборов является более рациональной и основывается, например, на дли- нах очередей перед каждым прибором или на средних значениях суммарной длительности обслуживания в каждой из очередей, то анализ соответствующих систем становится очень сложным. Кенигсберг [113] исследовал случай двух экспоненци- альных приборов с различными интенсивностями обслуживания, когда вновь поступающая заявка выбирает более короткую оче- редь. Второй разновидностью таких моделей является случай, когда переход из очереди в очередь возможен, если различие в длинах очередей больше 1. Кроме того, известны эксперименталь- ные исследования Эванса [49] и аналитические результаты Кингмана [НО]. 10.2. Выходящий поток пуассоно-экспоненциальной системы с очередью В этом разделе мы покажем, что выходящий поток пуассоно- экспоненциальной системы с очередью является пуассоновским. Сначала сделаем это для одноканальной системы, а затем для мно- гоканальной. Обозначим случайную длительность интервала между двумя последовательными моментами окончания обслуживания через U, соответствующую функцию распределения через D(u), а ее преобразование Лапласа — Стилтьеса — через б (г). Соответст- вующие величины для входящего потока обозначим V, Z (н) и £ (z). Обозначения для длительностей обслуживания (Р, G (р) и у (z)) те же, что и в гл. 8 и 9. Теорема 10.1. Пусть Е(Р) = 1/ц, E(V)=1/X и пусть {Р{} и {Г\} независимы в любом смысле. Для ненасыщенной одноканаль- ной системы, действующей в стационарном режиме, последова- тельные длины интервалов между уходами {СЛ} независимы в совокупности и имеют общую функцию распределения D (и) = 1 — e-Xu, и > 0, тогда и только тогда, когда 1) Z(v) = 1 — е-х®. у>0, 2) G (р) = 1 — е-№, р>0. 3) дисциплина выбора из очереди не зависит от множества длительностей обслуживания ожидающих заявок.
274 МОДЕЛИ МНОГОКАНАЛЬНЫХ СИСТЕМ С ОЖИДАНИЕМ [ГЛ. 10 Доказательство. Для одноканальной системы с ве- роятностью р = Х/р. система в момент ухода заявки будет непус- та, т. е. U = Р с вероятностью р. Если же в момент ухода заявки система будет пуста, то длина интервала до следующего ухода рав- на сумме длительности V интервала до ближайшего поступления заявки и длительности Р ее обслуживания, т. е. U = V -j- Р с вероятностью 1 — р. Поэтому и D (и) = р(? (и) Д- (1 — р) G (и — v)dZ (у) о или, в терминах преобразования Лапласа — Стилтьеса, 6 (z) = ру (z) + (1 — р)у (z)C (z). (3) Так как Р и V имеют экспоненциальные распределения с пара- метрами соответственно р, и А,, то у (z) = р /(р + Z) и g (z) = = А./(А. + z), так что fi М = РИ I t1 ~~ р) = А ' ' р + z (11 -р z) (А, + z) X + Z Следовательно, U имеет экспоненциальное распределение со сред- ним 1/А,. Если предположить, что 6 (z) = + z) и у (z) = р/(р + z), то из (3) следует, что £ (z) = Х/(Х + z). Если же £ (z) = 6 (z) = = А,/ (А, + z), то из (3) следует, что у (z) = р/ (р + z). С другой стороны, ру (z) + (1 — р)у (z)£ (z) А/(А, + z), если у (z) и £ (z) не являются преобразованиями Лапласа — Стилтье- са экспоненциальных распределений. Это доказательство из-за его громоздкости опустим (оно состоит в подробном сравнении ко- эффициентов разложения А, /(А, + z). Независимость длин интервалов между последовательными уходами вытекает из отсутствия памяти в пуассоно-экспоненци- альной системе и из независимости последовательных длитель- ностей обслуживания заявок, выбор которых из очереди длины более 1 не зависит от их длительностей обслуживания. Рассмот- рим (п — 1)-й и /г-й интервалы между уходами, общей граничной точкой которых служит момент ухода /г-й заявки. Зависимость длины /г-го интервала (между /г-м и (« + 1)-м уходами) от предысто- рии системы есть зависимость только от числа заявок в системе в момент n-го ухода. Ниже будет показано, что длина (п — 1)-го интервала и число заявок в системе в момент n-го ухода неза- висимы. Наконец, если дисциплина выбора из очереди зависит от дли- тельностей обслуживания, то длительность интервала между дву- мя последовательными уходами в течение периода занятости бу- дет иметь не экспоненциальное распределение, а другое, завися- щее от числа заявок в системе в момент предыдущих уходов.
10.21 ВЫХОДЯЩИЙ ПОТОК СИСТЕМЫ С ОЧЕРЕДЬЮ 275 В следующей теореме показывается, что выход из многоканаль- ной системы с ожиданием является пуассоновским, и будет завер- шено доказательство независимости, начатое в теореме 10.1. До- казательство проводится методом Б э р к а [24], но не содержит некоторых более тонких деталей. Введем следующие обозначения: U — длина случайно выбранного интервала между уходами; J (t) — число заявок в системе через время t после последне- го ухода из системы; J (U) — число заявок, остающихся в системе сразу после мо- мента ухода; Fn (() = Р {/(/) = в и U > Z}; оо F(t) ~ 2 Fn^ = ?{U — дополнение к безусловной функ- п—О ции распределения U. Величины рп, К и р„ определены в разделе 10.1. Теорема 10.2. Для ненасыщенной многоканальной пуас- соно-экспоненциальной системы, действующей в стационарном ре- жиме, длины интервалов между последовательными уходами неза- висимы в совокупности и имеют экспоненциальное распределение со средним 1/Х. Доказательство. Если система действует в стационар- ном режиме, то из п. 8.5.1 следует, что ^п(0) = Р„, ге = 0, 1, ... Обычным образом выводим следующие дифференциально-разност- ные уравнения: Fo (t + AZ) = (1 - ШД0 (Z), Fn (t + AZ) = (1 - %AZ)(1 - iinM)Fn (Z) + ШРп^ (Z), n = 1, 2, ... Переходя к пределу при AZ 0, получим следующую систему дифференциальных уравнений: —Jy-- = — kFо (0» —dt— = — + Hn) Fn (t) ф- kFn-i (Z), n — 1, 2,. . .. Эта система уравнений с начальным условием Fn(0) = рп, п > 0, имеет решение Fn (Z) = рпе~и, п^0. Так как Рп = 1, то F (i) = е~и или P{Z7<Z’= 1 — е~м.
276 МОДЕЛИ МНОГОКАНАЛЬНЫХ СИСТЕМ С ОЖИДАНИЕМ 1ГЛ. 10 Докажем теперь независимость JiU) и U. Совместное распре- деление J\U) и U можно получить из соотношения Р{7 (U) — n, t<U <£ +Ai} = = p,n+1pn+1e-XfA£. Так как на основании (1) Цп+iPn+i = Хрп, то P {J (U) = n, t < U < t 4- Д7} = pnKe-^St = = P {/ (U) = n} P {t < U < t + M}. Независимость длин интервалов между последовательными ухо- дами следует теперь из замечания, сделанного при доказательст- ве теоремы 10.1. 10.3. Многофазные системы Как показано в гл. 5, многофазной является система, состоя- щая из т последовательных групп приборов, причем маршрут каждой заявки можно записать в виде i, i + 1, ..., j — 1, j, где i — номер фазы, на которую первоначально поступила заявка, а / — номер фазы, после обслуживания на которой заявка поки- нула систему (1 <1 i j' т). Входящим потоком для фазы яв- ляется сумма выходящего из фазы i — 1 потока и потока от внеш- него источника. Обозначая интенсивность входящего на фазу к потока от внешнего источника, — интенсивность выходящего из фазы к Рис. 10.1. к к—1 потока заявок, покидающих систему, а А& = 2 — 2 ei — сум- 7=1 7=1 марную интенсивность потока, входящего на фазу к, получим си- стему, показанную на рис. 10;1. Если предположить, что после завершения обслуживания на фазе к заявка с вероятностью hk покидает систему (к = 1, ..., т), что все т потоков от внешних источников являются пуассонов- скими, а длительность обслуживания на каждой из фаз является экспоненциально распределенной со своим средним значением, то эта многофазная система распадается на т независимых фаз,
10 31 МНОГОФАЗНЫЕ СИСТЕМЫ 277 причем на фазу к поступает пуассоновский поток с интенсивно- стью Aft. Действительно, обозначим через I = (Zb Z2, •••> Zm) вектор, указывающий число заявок в каждой из т фаз, через р (Г) — ста- ционарную вероятность состояния I, а через pfe(Zfe)— стацио- нарную вероятность lk заявок в фазе к. Сформулированный выше результат означает, что т рЮ'-ЦрМ (4) 8=1 где Pkth) представляет собой распределение числа заявок в пу- ассоно-экспоненциальной многоканальной системе. Этот результат сразу следует из результатов разделов 8.1 и 10.2. Входящий на фазу к поток является объединением пуассо- новского потока заявок внешнего источника и случайно выбран- ных заявок из выходящего потока предыдущей фазы. Если пос- ледний поток является пуассоновским, то суммарный входящий на Рис. 10.2. фазу поток также является пуассоновским. Из раздела 10.2 сле- дует, что при экспоненциальном распределении длительностей об- служивания и дисциплине выбора из очереди, не зависящей от длительностей обслуживания, выходящий поток будет пуассонов- ским *). Если это распределение применить последовательно к фазам 1, 2 и т. д., то мы получим формулу (4). Строгое доказа- тельство этого факта содержится в работе Р э й ч [167]. Многофазная система с постоянной длительностью обслужива- ния на каждой фазе и обязательным обслуживанием заявки на каждой из фаз исследовалось А в и-И т ц а к о м [6] и Фрцдманом [55]. Эта система изображена на рис. 10.2, где sk — число приборов в фазе к, а pk — известная постоянная дли- тельность обслуживания в фазе к. Объем накопителя перед фазой 1 является неограниченным, а перед остальными фазами может быть ограниченным. Если заяв- ка завершила обслуживание на приборе фазы к, а накопитель *) Так как на фазу 1 поступает пуассоновский поток, то для выходящего потока фазы 1 выполнены условия теоремы 10.1. Случайный выбор, а затем сложение с независимым пуассоновским потоком, поступающим на фазу 2, сохраняют пуассоновский характер суммарного потока, поступающего на фазу 2, откуда и следует необходимый результат.— Прим. ред.
278 МОДЕЛИ МНОГОКАНАЛЬНЫХ СИСТЕМ С ОЖИДАНИЕМ [ГЛ. 10 перед фазой к + 1 полон, то этот прибор блокируется до тех пор, пока заявка не будет передана в накопитель фазы к + 1. G точки зрения числа заявок в системе достаточно рассмотреть лишь дисциплину FGFS, так как длительности обслуживания постоянны. Однако порядок размещения фаз может влиять на длительность ожидания заявки и, особенно, на ее длительность пребывания па фазе, когда последующий накопитель полон. Пред- ставляет интерес выяснение условий, при которых расположение последовательных фаз не влияет на длительность пребывания заявки. В настоящее время известны следующие условия, при выполнении которых длительность пребывания заявок не зависит от расположения фаз: 1) В фазу 1 поступает произвольный поток. 2) а) Одинаковое число приборов в каждой фазе и накопители любой емкости перед каждой фазой (А в и-И т ц а к [6]). в) Произвольное число приборов в каждой фазе и неограничен- ные накопители перед каждой фазой (Фридман [55]). Существует много вариантов условий, промежуточных между 2) а) и 2) Ь). Вместе с тем, попытки авторов найти простые контр- примеры также не увенчались успехом. 10.4. Сети общего типа с очередями По-видимому, наиболее важным аналитическим инструментом для анализа сетей служит теорема разбиения Джексона [100], содержащая достаточные условия, при выполнении которых сеть общего типа является совокупностью независимых полнодос- тупных систем с очередью *). Если 1) все входящие в систему потоки пуассоновские', 2) все маршруты переходов заявок между вершинами сети уп- равляются матрицей вероятностей перехода; 3) все длительности обслуживания имеют экспоненциальное распределение, причем интенсивность обслуживания может зави- сеть от числа заявок в подсистеме; 4) дисциплина выбора заявок из очереди в каждой подсистеме не зависит от длительностей обслуживания и маршрутов заявок, то каждая подсистема функционирует как независимая в ве- роятностном смысле система, рассмотренная в разделе 10.1. Отметим, что эта теорема содержит лишь достаточные условия разбиения, а соответствующие необходимые условия неизвестны. Более того, наиболее интересные дисциплины выбора заявок из очередей не удовлетворяют условиям теоремы Джексона. Доказательство теоремы разбиения, приведенное ниже, ана- логично доказательству Джексона. Общая модель подсистемы к, *) Такие сети в [244] названы линейными стохастическими сетями. Там же приводится их несколько более подробный анализ.— Прим. ред.
10.4] СЕТИ ОБЩЕГО ТИПА С ОЧЕРЕДЯМИ 279 к = 1, т, приводится на рис. 10.3, причем используются следующие обозначения: X — интенсивность потока, поступаю- щего в сеть извне; — интенсивность потока, поступающего Входящий поток от внешнего „ источника ' с ... tn Поток заявок, покидающих 1 2 систему Рис. 10.3. в подсистему к, к = i, ..., т; rjh — элемент матрицы вероят- ностей перехода между подсистемами. Эти элементы имеют такую интерпретацию: г (0, к) = Р {поступившая извне заявка сначала направля- ется в подсистему /с}; г {к, т + 1) = Р {если па шаге J маршрута заявка обслужи- валась в подсистеме к, то на этом шаге маршрут завершился}; г (j, к) — Р {если на шаге J маршрута заявка обслуживалась в подсистеме /, то на шаге (J + 1) обслуживание будет произво- диться в подсистеме /с}; г (к, к) = 0. Интенсивности удовлетворяют соотношению т X, = V(0,fc)+
280 МОДЕЛИ МНОГОКАНАЛЬНЫХ СИСТЕМ С ОЖИДАНИЕМ 1ГЛ. 10 Пусть вектор I = (Ц, Z2, • Zm) описывает состояние, когда в подсистеме к находится lk заявок (к = 1, m); ц (fc, lk) — ин- тенсивность обслуживания в подсистеме к при наличии в ней lk заявок; р (Z) — стационарная вероятность состояния Z; ph (Zfe) — стационарная вероятность состояния lk в подсистеме к. Теорема 10.3 (Джексон [100]). Если условия 1) — 4) (стр. 278) выполнены, то т Р^)=11рМ< (5) /С=1 зде Д (в) Доказательство. Для доказательства составим диф- ференциально-разностные уравнения. Если в момент t система находится в состоянии I, то за время могут произойти следую- щие события: 1) не произойдет никаких изменений; 2) в подсистему к поступает заявка извне; 3) после завершения обслуживания в подсистеме / эта заявка покинет систему; 4) после завершения обслуживания в подсистеме j эта заявка поступит в подсистему к. Вероятность других событий равна o(AZ). Для упрощения за- писи уравнений равновесия обозначим f 0, х 0, “W = b, *>0, Z (fc ) = (Z15 Z2,..., Ix-i, Zfe — и (Zk), Zfe+1,.. . , Zm), Z (fc+) = (Zx, Z2,..., lic-n Ir 4~ 1, • • • i Zm)> ? (jF> к ) = (Zx, Z2,. .., lj 4* 1,... , li; — и (Zjj),.. ., Zm), j 4= к. Тогда уравнения равновесия можно записать в виде тп Гы- Sn(fe- у]р(о = L Л=1 т т =.K^r(O,k)p(l (fc-)) + S и (к, I* + 1)г {к, т + \.)р{1 (fc+)) + т + 2 Н (7, 4->)г (у, Л) рД? (Л, fc-)). (7)
10.4] СЕТИ ОБЩЕГО ТИПА С ОЧЕРЕДЯМИ 281 Левая часть уравнения (7) представляет собой стационарную вероятность состояния I, умноженную на суммарную интенсив- ность выхода из этого состояния. Правая часть содержит по одному слагаемому для каждого состояния, из которого можно попасть в I за один переход. Каж- дое из этих слагаемых представляет собой произведение соответ- ствующей вероятности состояния на интенсивность перехода из него в I. Покажем, что подстановка (5) и (6) в (7) обращает (7) в тождест- во. Действительно, каждое слагаемое в обеих частях равенства т будет содержать множитель рДО), на который можно сокра- к—1 тить. Чтобы установить равенство слагаемых в левой и правой частях (7), выделим в каждом слагаемом в правой части коэффи- циент р(1). Например, из (6) следует, что ik-i т-г К Ри - 1) = Рк (0) П и (/С| 0 Р Uk), а подстановка в (5) дает и. (/с, I ) р(.п- Поэтому т т (к I ) X 2 г (°,к) Р (*(П) “ Р V 2 г (0, к) к=1 к=1 к и, аналогично, т т 2 lk + ^)г(к,т + l)p(Z(/c+)) = p(Z) 2 + 1), fc=i M m m 2 Р(/Л + 1)г(],к)р(Щ+,к~У) =p(l) 2 -fc-V<.k’lk)r<j’k). i,k=i j,fc=i к •j^-k j^k После сокращения на p(Z), получаем m X + 2 P (k’ ^k) k=i = x2-r(0’T(feJfc) + 2v(i,m+i)+ 2 x#(fe,yr(/’fe) • i¥=k
282 МОДЕЛИ МНОГОКАНАЛЬНЫХ СИСТЕМ С ОЖИДАНИЕМ [ГЛ. 10 Это равенство обращается в тождество, поскольку т т т 1) 2 V (чт +4) = 2 к I1 — 2г 7)1 = k=l fc=i ' j=i J т 7П т т т = 2ч- 2 2ччм== 2ч-21Ч-мо,7)1 = /i=1 /1=13=1 /i=l 3=1 m = х2 г(о,/)-ч 3=1 i)\« vi r H 4) 1 V V 4^ r (/’,c) ___ fc=l 3=1 fc=l "l 1'1- 7 1 Г m 1 m = 2 -Ц— (o, *) + 2 a, k)\ = 2 и (*> h)- k=i ^k L й=! Теорема доказана.
ГЛАВА 11 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ Наряду с использованием вероятностных и алгебраических методов при решении задач теории расписаний можно пытаться применять в реальных системах различные алгоритмы и сравни- вать результаты. При таком подходе удается, в принципе, избе- жать упрощений, характерных для аналитических методов, и получить адекватные результаты. При этом, однако, теряется общ- ность результатов и нет уверенности в том, что полученные ре- зультаты окажутся полезными даже для той конкретной системы, при исследовании которой они получены. Трудности строгой по- становки и контроля экспериментальной работы указанного типа и ее высокая стоимость в значительной мере уменьшают возмож- ность проведения сколько-нибудь значительного объема таких исследований. Появление ЭЦВМ открыло возможность постановки экспери- ментальной работы по исследованию систем и методов теории рас- писаний методами статистического моделирования. Индикаторы, счетчики, списки, массивы и т. д. в памяти ЭЦВМ могут реально представлять состояние системы, и можно так составить програм- му, чтобы изменения состояний во времени соответствовали бы изменениям состоянии реальной системы. Впервые такие возмож- ности были использованы разными исследовательскими группа- ми *) примерно в одно время (1952—1954 гг.), и поскольку пер- вые результаты в этом направлении не были опубликованы, труд- но сейчас установить хронологический порядок их появления. Вначале программы моделирования задач теории расписаний составлялись в машинном коде, затем перешли к использованию универсальных алгоритмических языков. В связи с тем, что прог- раммирование таких задач весьма сложно, первые модели были достаточно просты. В начале шестидесятых годов появилось не- *) Отметим работу группы сотрудников компании Дженерал Электрик, исследования Джексона, Нельсона и Рове из UCLA [93, 101], а также Бей- кера и Дзелинского из IBM [10]. Наибольшее влияние на последующие ра- боты оказали исследования, проведенные в UCLA и IBM.
284 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. И сколько специальных языков для программирования задач тео- рии расписаний [114], что позволило исследовать более сложные модели. Поскольку такие программы требуют большого объема памяти и больших затрат машинного времени, то для получения достаточно полных результатов необходимо использовать боль- шие ЭЦВМ. Например, при моделировании на IBM 7090 сети, со- стоящей из девяти приборов, на языке SIMSCKRIPT [32] на про- хождение 300—700 заявок (в зависимости от сложности алгорит- ма) требовалось около минуты. Все работы по моделированию задач теории расписаний мож- но разбить на два типа. С одной стороны, были сделаны попыт- ки обобщить теоретические результаты, описанные в предыду- щих главах. G другой стороны, многие работы проводились с целью предварительного анализа различных алгоритмов для ре- альных систем до их практического использования. В обоих слу- чаях достижения не слишком велики. Теоретический подход по- зволил получить некоторые обобщения, касающиеся размерности задач и критериев оценки системы; кроме того, было проверено несколько довольно сложных алгоритмов. Конечно, с помощью моделирования нельзя получить доказательства теоретических положений, а можно только отвергать или не отвергать те или иные гипотезы. Невозможно также установить оптимальность или не- оптимальность того или иного алгоритма, однако эксперименталь- ные результаты дают возможность оценки и выявления более эффективных алгоритмов. Так как публикаций по моделированию реальных систем до- вольно мало, то трудно дать сколько-нибудь полный обзор дости- жений в этой области. Ни статья [119], ни несколько других ра- бот, с которыми мы ознакомились, не содержат существенного прогресса. Все результаты хорошо согласуются с результатами, полученными на теоретических моделях. Так что нет оснований утверждать, что использование реальных данных и реальных раз- меров систем может привести к изменению оценок относительной эффективности основных алгоритмов. Главная трудность в рабо- тах этого типа состоит в систематизации и упорядочении данных, описывающих последовательность заявок и характеристики си- стемы. В будущем, когда автоматизированные системы управле- ния производством (АСУП), базирующиеся на использовании ЭЦВМ, получат более широкое распространение, такое накопле- ние данных будет, видимо, менее обременительным, причем моде- лирование реальных систем станет тогда обычным делом. Дейст- вительно, моделирование будет, вероятно, проводиться в рамках АСУП, использующих ЭЦВМ в реальном масштабе времени. Ес- ли АСУП, содержащая информацию о текущем состоянии произ- водства, участвует в планировании, то это, по существу, и явля- ется моделированием и позволяет оценить и прогнозировать эф-
11.1] УСЛОВИЯ И АЛГОРИТМЫ 285 фект от принятия решений. В периоды времени, свободные от те- кущих задач (например, ночные часы или выходные дни), ЭЦВМ, входящую в состав АСУП, можно использовать для проведения менее срочных и более систематических исследований. Все приводимые ниже результаты были получены при модели- ровании теоретических задач, а не реальных систем. Большинство этих результатов взято из работ, выполненных авторами настоя- щей книги. Причиной этого является их доступность и возмож- ность сравнения условий экспериментов, но ни в коем случае не желание умалить достоинства и значение других работ *). 11.1. Условия и алгоритмы Все последующие разделы (кроме п. 11.4.3) посвящены изуче- нию стационарного состояния динамических сетей обслуживания со случайным выбором последовательности обслуживающих при- боров каждой из заявок. За исключением модели, описанной в раз- деле 11.4, все они — простые сети с одним потоком заявок. На- помним, что согласно разделу 1.2 это означает следующее: 1) Каждый прибор доступен для обслуживания заявок и не учитываются смены, выходные дни и т. д. Отсутствуют также пе- риоды неработоспособности (поломки, выходы из строя). 2) Все заявки суть последовательности этапов обслуживания. 3, 4) Каждый из этапов одной заявки обслуживается только одним прибором. 5) Отсутствуют прерывания этапов. 6) Одновременно не может обслуживаться более одного этапа каждой из заявок. 7) Каждый прибор может одновременно обслуживать не более одной заявки. Кроме того, будем предполагать, что 8) Длительность настройки (ориентирования) равна 0. 9) Йосле завершения очередного этапа на одном из приборов соответствующая заявка переходит к следующему прибору или очереди либо покидает систему, если этот этап оказался послед- ним в ее обслуживании. Длительности обслуживания — показательно распределенные случайные величины со средним 1. Реализации этих случайных величин при моделировании получались до поступления заявок, так что длительности обслуживания были известны при поступле- нии, и эту информацию можно было использовать при выборе из очереди. Интервалы между поступлениями заявок также имели *) Рекомендуем читателю познакомиться, например, с исследованиями Беккера [12], Кэролла [25], Ле Гранде [119], Н а н о т [147] и Нельсона [154].
286 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. 11 показательное распределение и вычислялись заранее, однако ин- формация о моментах очередных поступлений не использовалась. Внутри каждой группы моделей варианты отличались только дисциплиной выбора из очереди при освобождении какого-либо прибора. При этом из очереди всегда выбиралась заявка с мини- мальным приоритетом, т. е. все варианты в одной группе моделей отличались методом назначения и изменения приоритетов. При различных алгоритмах выбора рассматривались полностью иден- тичные множества заявок, поступающих в одни и те же моменты времени, и проводилась оценка численных характеристик системы. При этом всякий раз вычисление оценок начиналось лишь после прохождения достаточно длинного участка реализации, чтобы про- цесс приблизился к стационарному состоянию. Кроме того, вычис- ление оценок завершалось за некоторое время до окончания реа- лизации. Таким образом, приведенные здесь результаты не учи- тывают заявок, потребовавшихся для вхождения в стационарный режим, и заявок, обслуженных в конце реализации, когда система выходит из равновесия. Сводка алгоритмов (дисциплин выбора) и таблицы, содержа- щие результаты моделирования, приведены в приложении С. В разделах 11.2 — 11.4 приводится краткое описание моделей и обсуждение результатов. 11.2. Методы уменьшения средней длины очереди и объема работы в системе Для однолинейных систем с одной очередью можно предложить два способа измерения общего объема работы, содержащейся в системе. Можно (а) принять за этот объем число заявок в системе (включая обслуживаемую в данный момент), что обычно принято в теории массового обслуживания, и (Ь) — считать объемом рабо- ты, содержащейся в системе, общую длительность обслуживания всех заявок в очереди (системе). В системах, где каждая заявка состоит из ряда этапов, также можно рассматривать общее число заявок в системе. Для обобщения указанных методов оценки об- щего объема работы в системе вводят следующие величины: 1) рг — оставшаяся часть работы. Эта величина есть сумма длительностей обслуживания всех необслужепных этапов *) всех заявок, находящихся в системе; 2) р — общий объем работы в системе. Он равен сумме дли- тельностей обслуживания всех заявок, находящихся в системе; 3) рс — объем выполненной работы. Он равен сумме длитель- ностей обслуживания всех уже законченных этапов всех работ, ♦) Суммируются целиком длительности как ожидающих, так п обслу- живаемых этапов,— Прим, перев.
11.21 СРЕДНЯЯ ДЛИНА ОЧЕРЕДИ И ОБЪЕМ РАБОТЫ 'В СИСТЕМЕ 287 находящихся в системе; объем выполненной работы равен общему объему работы в системе минус оставшаяся часть работы', 4) pq — суммарная длительность очередных этапов. Для каж- дой очереди вычисляется сумма длительностей этапов, обусловив- ших попадание заявки в эту очередь; pq равно сумме таких величин по всем очередям. Удобство использования той или иной из указанных величин зависит от конкретной задачи. Например, при расчете числа взлетно-посадочных полос на аэродроме наиболее важна миними- зация общего числа заявок (т. е. самолетов) в системе. В промыш- ленности обычно приходится учитывать общий запас работы, а не просто число заявок, и тогда наиболее подходящими являются величины, характеризующие объем работы в системе. В ряде слу- чаев интерес могут представить общий объем завершенной работы (в частности, если требуются складские помещения) или объем оставшейся работы, характеризующий реальную загруженность системы в данный момент. Ясно, что дисциплины, введенные для однолинейных систем, можно обобщать на сети массового обслуживания. Существует, например, несколько вариантов выбора заявки минимальной длительности: SPT — выбор кратчайшей заявки (Shortest processing-time); при- оритет заявки равен длительности обслуживания очередного этапа; LWKR — минимальная оставшаяся длительность (Least work re- maining); приоритет равен сумме длительностей обслуживания всех еще не обслуженных этапов; TWORK — общая длительность заявки (Total work); приоритет заявки равен суммарной длительности всех ее этапов. При моделировании все длительности обслуживания имели одно и то же распределение, поэтому суммарная длительность обслуживания заявки и число ее этапов зависят друг от друга. Следующая дисциплина имеет тот же смысл, что и LWKR, однако более проста с точки зрения реализации. FOPNR — минимальное число оставшихся этапов (Fewest opera- tions remaining); приоритет заявки равен числу ее необслуженных этапов. Можно также рассмотреть алгоритм, в каком-то смысле про- тивоположный приведенным выше (см. также раздел 3.5): MWKR — максимальный оставшийся объем работы (Most work remaining); приоритет заявки равен сумме дли- тельностей обслуживания всех ее необслуженных этапов, взятой со знаком минус.
288 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. И Забегая вперед, заметим, что этот алгоритм привел в одном из случаев к довольно неожиданным результатам. Все приведенные алгоритмы основываются на длительностях обслуживания, которые, как отмечалось выше, представляют ин- формацию, достаточную для оптимизации однолинейных систем (статических или динамических). Естественно, однако, ожидать, что в сетях массового обслуживания разумное использование дру- гих видов информации, в частности, некоторых типов информации о состоянии системы, может привести к уменьшению длин очере- дей и объемов содержащейся в них работы. Например, выбор на обслуживание заявки с кратчайшей длительностью очередного этапа не имеет, по-видимому, большого смысла, если по за- вершении этого этапа заявка перейдет к прибору, перед которым скопилась длинная очередь. Вместо этого целесообразно было бы выбирать заявку, которая затем перейдет к наименее загру- женному в данный момент прибору. Одним из таких алгоритмов является WINQ — оценка объема работы в следующей очереди (Work in next queue). Приоритет заявки при таком алгорит- ме равен сумме длительностей этапов заявок, на- ходящихся в следующей (для рассматриваемой за- явки) очереди. Приоритет заявки, ожидающей об- служивания последнего из ее этапов, равен нулю. Способ измерения загруженности следующей очереди в алго- ритме WINQ не является точным, так как она измеряется в момент выбора из предыдущей очереди; ко времени поступления этой заявки в следующую очередь ситуация может измениться. Реально это изменение весьма вероятно в силу того, что короткая очередь будет «притягивать» заявки из других очередей, не учитываемых при назначении приоритета. Можно модернизировать этот алго- ритм, учтя при вычислении объема работы в следующей очереди заявки, которые обслуживаются в данный момент другими при- борами, и присоединятся к этой очереди прежде, чем туда посту- пит рассматриваемая заявка. Таким образом учитывается работа, которая должна поступить в очередь, и это дает возможность умень- шить реакцию системы на изменение состояний. Таким образом, приходим к алгоритму XWINQ — ожидаемый объем работы в следующей очереди (Ex- pected work in next queue). Приоритет заявки равен сумме длительностей обслуживания соответствую- щих этапов всех заявок, находящихся в очереди, к которой присоединится рассматриваемая заявка, и всех заявок, находящихся в данный момент в других очередях или на других приборах, но таких, которые в следующей очереди окажутся впереди
11.21 СРЕДНЯЯ ДЛИНА ОЧЕРЕДИ И ОБЪЕМ РАБОТЫ В СИСТЕМЕ 289 рассматриваемой заявки. Заявка, ожидающая об- служивания последнего из ее этапов, имеет прио- ритет, равный 0. Для сравнения рассматривались алгоритмы: RANDOM — случайный выбор', приоритет заявки равен случай- ному числу, вычисляемому при поступлении ее в очередь; FCFS — обслуживание в порядке поступления (First-come, first- served); обслуживание производится по правилу; первым пришел — первым обслужен. Сводка результатов *) для каждого из указанных алгоритмов приведена в части I табл. 11.1. Алгоритмы RANDOM и FCFS, как и следовало ожидать, оказались эквивалентными, поскольку оба не зависят от длительностей обслуживания и приводят к модели Джексона (раздел 10.4). Очень хорошие результаты дает алгоритм SPT. Не удивительно, что при этом получается минимальная сум- марная средняя длина очередей; неожиданным является то, что алгоритм SPT более эффективен, чем TWORK, в отношении сред- него объема работы в системе. Интересно сравнить результаты при- менения алгоритмов LWKR и MWKR: LWKR позволяет получить очередь более чем вдвое короче, чем MWKR, однако общий объем работы, находящейся в системе, более чем в три раза превосходит аналогичную характеристику, получаемую при алгоритме MWKR. Различие объемов предстоящей работы для различных алгоритмов интересно само по себе. Напомним, что для простых однолинейных систем эта характеристика вообще не зависит от дисциплины вы- бора из очереди (раздел 8.3). Наибольший интерес представляют результаты, полученные при алгоритмах WINQ и XWINQ. Для однолинейных систем ал- горитмы, не зависящие от длительностей обслуживания, эквива- лентны FCFS (раздел 8.5). Ни WINQ, ни XWINQ не зависит от длительностей обслуживания и, как следует из табл. 11.1, не рав- носильны FCFS; это значит, что в них эффективно используется информация, характеризующая сети массового обслуживания и по- зволяющая уменьшить длины очередей. Правда, информацию о состоянии системы, используемую в алгоритмах WINQ и XWINQ, трудно получать как при моделировании, так и в практических си- стемах. При моделировании серия опытов с использованием алго- ритма XWINQ потребовала машинного времени втрое больше, чем такая же серия при алгоритме SPT. Практическая реализа- ция алгоритма XWINQ требует работы управляющей вычисли- тельной системы в реальном масштабе времени, тогда как при дру- гих алгоритмах используется лишь локальная информация. Во *) Эти исследования проведены в корпорации RAND [32]. 10 Р. В. Конвей и др.
290 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. 11 всех этих алгоритмах фактически предусматривается использова- ние характеристик конкретной заявки, которые можно фиксиро- вать заранее и записать в «маршрутную карточку». Далее остает- ся только выбрать заявки с минимальным значением этой харак- теристики. Одна из целей экспериментальной работы состояла в отыска- нии алгоритма, использующего как информацию о длительности заявки или ее этапа, так и о состоянии системы в целом, и позво- ляющего уменьшить длину очереди по сравнению с системами, где в алгоритмах используется лишь один из видов информации. Были проверены различные комбинации указанных двух типов алгоритмов с различными весовыми коэффициентами. Результаты для моделей, дающих минимальные средние длины очередей, приведены в части II табл. 11.1. При вычислении приоритета пер- вое слагаемое, соответствующее SPT и входящее с коэффициентом 0,96, равно длительности обслуживания одного этапа, а второе — Таблица 11.1 Сравнение алгоритмов, основанных на величине объема работы в простой симметричной сети обслуживания, состоящей из девнти приборов. Порядок прохождения приборов случайный Алгоритм Суммар- ное число заявок в очередях, Среднее по выборке Суммар- ная дли- тельность очередных этапов h объем остав- шейся работы ?Т объем завершен- ной работы рс общий объем работы в системе р=рг+рс SPT 23,25 297 248 545 62,54 LWKR 47,52 989 51,81 FOPNR 52,23 1019 51,83 MWKR 109,97 276 69,07 I TWORK 82,91 323 264 587 65,16 WINQ 40,43 421 380 801 39,16 XWINQ 34,03 379 330 709 41,26 RANDOM 59,42 554 526 1080 58,39 FCFS 58,87 559 519 1078 58,29 O,97(SPT) +0,03(WINQ) 22,83 294 245 539 59,98 и 0,96 (SPT)+ -p0,04 (XWINQ) 22,67 293 243 536 58,40 III SPT/TWORK 42,39 244 191 435 68,60 SPT/WKR 62,94 220 73,79 Объем выборки 8700 заявок; выборочный коэффициент использования 88,4%; сред- няя длительность этапа 1,0 (Приложение С-3).
11.2] СРЕДНЯЯ ДЛИНА ОЧЕРЕДИ И ОБЪЕМ РАБОТЫ В СИСТЕМЕ 291 сумме длительностей незавершенных этапов в следующей очере- ди. Поэтому, например, коэффициент 0,96 указывает на то, что вес SPT был приблизительно в 5 раз больше, чем второго алгорит- ма, а не в 20 раз, как кажется с первого взгляда. Практически этот составной алгоритм приводил обычно к выбору той же заявки, что и SPT, особенно при больших разностях между длительностя- ми обслуживания заявок в очереди. Однако когда эти длительно- сти близки, алгоритм учитывает, куда будут направлены заявки после обслуживания на данном приборе, и обес- печивает выбор той за- явки, которая затем по- ступит на наименее за- груженный прибор или покинет систему. Улуч- шение показателей си- стемы, достигаемое с по- мощью указанного со- ставного алгоритма, от- носительно SPT состав- ляет около 2,5% и, конечно, не имеет прак- тической ценности, осо- бенно, если учесть не- обходимость использо- вания дополнительной информации и вытекаю- щие отсюда трудности Рис. 11.1. Показатели функционирования про- стой симметричной сети, состоящей из девяти приборов, со случайным порядком их про- хождения. Объем выборки 8700, выборочный коэффициент использования 88,4%, средняя длительность этапа 1,0 (Приложение С.З). реализации. Вопрос о том, значимо ли полученное в результате моделирования отличие между SPT и составным алгоритмом, является достаточно трудным и интересным (см. [32]). Другой метод введения составных алгоритмов состоит в ис- пользовании отношений. Здесь интересные результаты получают- ся для характеристик, описывающих величину работы в системе. Если приоритет очередного этапа каждой из заявок положить равным отношению длительности его обслуживания к суммарной длительности обслуживания всех этапов этой заявки, то полу- чим минимальное по всем алгоритмам значение среднего объема работы в системе и среднего объема незавершенной работы (часть III табл. 11.1). Использование отношения длительности очередно- го этапа к суммарной длительности всех оставшихся этапов заяв- ки приводит к минимизации среднего объема оставшейся работы в системе. Степень влияния на конечный результат числителя и знаменателя можно оценить с помощью изменения знаменателя, возводя его в степень. Рассматривались различные реализации, полученные при различных показателях степени (см. рис. 11.1). 10*
292 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. 11 Если показатель степени в знаменателе равен 0, то имеем алгоритм SPT, а при его увеличении характеристики системы сходятся к характеристикам, получаемым при MWKR. Интересно, что ха- рактер изменения различных показателей функционирования си- стемы при этом неодинаков. 11.2.1. Модификации алгоритма выбора кратчайшей заявки (алгоритма SPT). Очевидно, что при использовании алгоритмов, основанных на выборе кратчайшей заявки, увеличивается дли- тельность ожидания для заявок с большими длительностями об- служивания. Однако широко распространенное мнение, что алго- ритм SPT приводит к значительному увеличению дисперсии дли- тельности пребывания, в действительности неверно. Например, среднее и дисперсия длительности пребывания по наблюдениям над 8700 заявками, имитированными на модели, оказались таковы: Алгоритм Среднее Дисперсия SPT RANDOM FCFS 34,02- 74,70 74,43 2318 10822 5739 Единственным алгоритмом, при котором дисперсия получилась меньше, чем при SPT, был модифицированный алгоритм FGFS, где приоритет определялся моментом поступления заявки в сеть, а не моментом поступления в данную очередь. Аналогичный ре- зультат получил независимо от нас Н а н о т [147]. Тем не менее, поскольку отдельные длительности ожидания могут оказаться слишком большими, рассматривались некоторые модификации алгоритма SPT, позволяющие предотвратить такой эффект. Одна из модификаций состояла в ограничении длительно- сти ожидания заявки в каждой очереди следующим образом: когда длительность ожидания достигала или превосходила определенную границу, заявка выбиралась из очереди следующей независимо от длительности обслуживания. Для разных значений этой гра- ницы были получены следующие результаты (подробнее см. в Приложении G.3): Ограничение на дли- тельность ожидания в каждой очереди О 4 8 16 32 оо 58,87 (эквивалентно FCFS) 55,67 53,50 44,20 32,85 23,25 (эквивалентно SPT)
11.2] СРЕДНЯЯ ДЛИНА ОЧЕРЕДИ И ОБЪЕМ РАБОТЫ В СИСТЕМЕ 293 Чтобы правильно понять эти результаты, вспомним, что средняя длительность обслуживания равна единице времени. Средняя длительность ожидания заявок в одной очереди равна 2,78 при SPT и 7,27 при FGFS. Теперь ясно, что алгоритм SPT достаточно чув- ствителен к рассматриваемому способу усечения длительности ожидания. Например, 32 единицы времени превосходят среднюю длительность ожидания примерно в 12 раз, в то время как такое ограничение на длительность ожидания приводит к потере преи- мущества, даваемого SPT по отношению к FGFS на 41%. Другой метод модификации SPT состоит в применении его тог- да, когда очередь достигает определенной длины. Пусть FCFS является основным алгоритмом и используется до тех пор, пока длина очереди не превзойдет определенной границы. С момента достижения границы для выбора из этой очереди применяется ал- горитм SPT до тех пор, пока длина очереди не станет меньше той же границы. Такой метод дал следующие результаты (подробнее см. в Приложении G.3): Число заявок в очереди, при котором происходит переключение на SPT 1 (эквивалентно SPT) 5 9 оо (эквивалентно FCFS) 22,35 29,49 38,67 58,87 Поскольку средняя длина одной очереди равна 6,54 при FGFS, то, видимо, целесообразно переходить к SPT при наличии в оче- реди девяти заявок, и это сохраняет 57% относительного улучше- ния показателей системы, даваемых алгоритмом SPT по сравне- нию с FCFS. 11.2.2. Алгоритм SPT при нескольких типах заявок. Здесь мы резюмируем результаты моделирования для случая, когда некото- рая часть заявок (назовем их заявками первого типа или 1-заявка- ми) имеет преимущество перед остальными (т. е. заявками второго типа или 2-заявками). Алгоритм выбора таков: если в очереди имеются 1-заявки, то из них выбирается заявка с минимальной длительностью обслуживания; в противном случае действует обычный алгоритм SPT. Средняя длина очереди для различных соотношений 1- и 2-заявок приведена на рис. 11.2. Аналогичные задачи с двумя типами заявок (работ) были рас- смотрены в разделе 3.8 при составлении расписания в системе п | 1 и в п. 8.6.3 для однолинейной системы обслуживания. Ре- зультаты, описываемые графиком на рис. 11.2, сходны с резуль- татами для однолинейной системы как в смысле несимметричного поведения кривой при изменении доли 1-заявок, так и по степени ухудшения показателей функционирования системы.
294 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ (ГЛ. 11 Система Ссылка Доля 1-заявок (работ), максимизи- рующая ухудшение качества системы Максималь- ное ухудше- ние по Сравнению с SPT п | 1 Рис. 3.9 50% 50% Однолинейная система обслу- живания Табл. 8.2 Коэффициент использо- вания 90% 80% 36% Сеть из девяти приборов Рис. 11.2 90% 26% В последних двух случаях наихудшие значения доли 1-за- явок не являются точными; это — наихудшие из моделируемых значений. Результаты показывают, что выделение небольшой доли заявок в первый приоритет- ный класс не приводит к серьезным ухудшениям сред- них показателей системы, в то Рис. 11.2. Алгоритм SPT при двух ти пах заявок. Симметричная сеть, состоя- щая из девяти приборов, со случай- ным порядком их прохождения. Объем выборки 8700, выборочный коэффициент использования 88,4% (Приложение С.4). время как выделение анало- гичной доли для неприори- /етпого обслуживания приво- дит к значительному возра- станию среднего числа заявок в системе. 11.2.3. Алгоритм SPT при неполной информации. Оче- видно, что требование апри- орной информации о длитель- ностях обслуживания, пред- усматриваемого алгоритмом SPT, редко выполнимо в прак- тических ситуациях, где эти длительности становятся точ- но известны лишь по оконча- нии обслуживания заявок. Влияние отсутствия полной информации о длительностях работ на качество функционирова- ния системы п | 1 исследовано в разделе 3.6; здесь мы приведем результаты аналогичного исследования для сети обслуживающих приборов. Рассматриваемая модель совпадает с описанной ранее, за ис- ключением того, что выбор из очереди основывается не на точных значениях длительностей обслуживания, а на оценках этих дли-
11.2] СРЕДНЯЯ ДЛИНА ОЧЕРЕДИ И ОБЪЕМ РАБОТЫ В СИСТЕМЕ 295 тельностей. Оценки при моделировании получаются умножением истинных значений на случайные числа. Рассматривается две моди- фикации. В первой случайные числа распределены так, чтобы зна- чения оценок длительностей были распределены равномерно в ин- тервале между 90% и 110% от истинных значений. Во втором случае распределение оценок равномерное в интервале от 0 до 200% от истинных значений. Результаты для алгоритма SPT иллюстрируются следующей таблицей: Оценка Nq Точное значение 23,25 (эквивалентно SPT) 90—110% от истинного значения 23,23 0—200% от истинного значения 27,13 Не зависит от истинного значения 59,42 (эквивалентно FCFS) Если ошибка при оценке не превосходит 10%, то качество функ- ционирования системы не ухудшается. Если эти ошибки могут достигать 100%, алгоритм SPT сохраняет 90% своих преимуществ перед алгоритмом случайного выбора. (Инженеры-производст- венники обычно считают, что опытные специалисты по организа- ции производства могут оценить затраты времени с точностью ±10%. Независимо от справедливости этой точки зрения оче- видно, что возможны ситуации, когда допустимы даже 100%-пые ошибки.) Еще одна модификация модели с неполной информацией состо- ит в том, что все заявки разбиваются на длинные и короткие в за- висимости от того, превышает их длительность среднюю или нет, и при этом допускается ошибка с вероятностью 25%. Дисциплина выбора предоставляет приоритет коротким заявкам, а внутри классов используется алгоритм FGFS. Результаты таковы: Дисциплина Nq Точное разбиение на короткие и длинные 35,29 Разбиение на короткие и длин- ные с 25%-ной ошибкой 44,99 Все этапы короткие 58,87 (эквивалентно FCFS)
296 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. И Таким образом, даже при грубом разбиении, допускающем ошибку с вероятностью 25%, сохраняется 40% преимущества, да- ваемого дисциплиной SPT*). Все эти данные говорят о том, что алгоритм SPT мало чувстви- телен к ошибкам при определении длительности заявок и нет смысла отказываться от него, даже если нельзя точно оценить длительности обслуживания. 11.3. Учет плановых сроков Среди большого числа показателей, характеризующих систему и рассматриваемых в теории расписаний, наибольший интерес у практиков вызывает, пожалуй, соблюдение плановых сроков, приписанных заявкам. Использование оборудования, объем рабо- ты в системе, длительности пребывания заявок — все это, конечно, более или менее важные показатели, однако способность выпол- нить в срок возложенные на систему задачи несомненно доминирует среди остальных характеристик. Задержки или вообще временное смещение относительно пла- новых сроков зависят как от длительностей обслуживания заявок, так и от значений плановых сроков, и поэтому при исследовании системы необходимо обращать внимание не только на возможно- сти дисциплин или алгоритмов обслуживания, но и на способ задания или формирования плановых сроков. 11.3.1. Назначение плановых сроков. Не существует алгоритма, который мог бы обеспечить соблюдение произвольно заданных плановых сроков. В противном случае не нужно было бы забо- титься о разумном назначении плановых сроков и исследование проводилось бы так же, как и в предыдущих разделах. Ясно, одна- ко, что ни одна из существующих дисциплин не обладает указан- ными возможностями, и поэтому обоснованность плановых сроков является весьма существенным фактором. В ряде случаев плановые сроки определяются объектом, внеш- ним по отношению к обслуживающей системе; тогда плановые сроки представляют собой множество чисел, задаваемых извне и объявляемых при поступлении заявки в систему обслуживания. В отличие от длительностей обслуживания или последовательно- сти прохождения обслуживающих приборов они являются за- *) Анализ аналогичной дисциплины с двумя классами заявок (без оши- бок) для однолинейной системы обслуживания с очередью (табл. 8.4 и 8.5) показал, что при коэффициенте использования 90% оптимальным разбие- нием на короткие и длинные заявки является разбиение, относящее 87,8% заявок к классу коротких, а не использующее среднюю длительность в ка- честве границы классов. Для однолинейной системы при оптимальной дис- циплине такого рода теряется всего 19% преимущества, даваемого дисцип- линой SPT по сравнению с FCFS.
И.з] УЧЕТ ПЛАНОВЫХ СРОКОВ 297 данными и фиксированными характеристиками заявок. С другой стороны, даже если плановые сроки устанавливаются какой-либо внешней организацией (заказчик, потребитель), они, как правило, обсуждаются и согласовываются с исполнителем, ответственным за их соблюдение. Наиболее типичная ситуация такова: предста- вители системы обслуживания и представители заказчика об- суждают и согласовывают плановые сроки в зависимости от воз- можностей системы, нужд потребителя и т. д., и лишь после этого плановые сроки устанавливаются окончательно. Зачастую потре- битель и исполнитель в действительности просто различные отделения одной и той же фирмы. Тогда плановые сроки являются средством координации усилий различных отделений одной орга- низации, но и здесь обоснованное их назначение не менее важно. Например, плановые сроки для производителей отдельных деталей могут устанавливаться центральным правлением компании, в за- дачи которого входит координация поступления этих деталей на сборку. При этом плановые сроки могут оказаться довольно жест- кими, а их несоблюдение повлечь за собой достаточно серьезные последствия. Цель обсуждения заказчиком и исполнителем плановых сроков состоит в том, чтобы эти сроки были назначены обоснованно и ока- зались выполнимыми. Вполне понятно, что заказчик, имея инфор- мацию о возможностях обслуживающей системы и классе приня- тых алгоритмов обслуживания, в определенной мере заинтересован в том, чтобы установленные плановые сроки оказались реально выполнимы. Этот вопрос тесно связан с возможностями прогно- зирования длительностей пребывания отдельных заявок в си- стеме. Если бы можно было точно предсказать длительность пре- бывания заявок при данном алгоритме обслуживания, то (распо- ряжаясь величинами плановых сроков) можно было бы учесть эти длительности и установить для каждой заявки плановый срок, совпадающий с моментом окончания ее обслуживания. Однако длительность пребывания заявки в системе обслуживания зависит не только от характеристик самой заявки и алгоритма выбора из очереди, по и от вида и числа остальных заявок, обслуживаемых системой в тот период, когда там находится данная заявка и, сле- довательно, длительность пребывания практически никогда нель- зя предсказать точно. Поэтому задача состоит в том, чтобы назна- чить плановые сроки и выбрать алгоритм обслуживания так, чтобы: а) можно было достаточно точно оценить длительность пребывания заявки в системе обслуживания, Ь) можно было назначить плановый срок на основании оценки длительности пребывания и с учетом наиболее важных внешних факторов, с) мо- жно было выбрать систему прпоритетов, обеспечивающую уско- рение или^замедление прохождения в системе в зависимости от планового срока.
298 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. 11 В исследованиях, предпринятых в корпорации RAND, нами *) рассматривалось четыре метода задания плановых сроков. В каж- дой из моделей использовались идентичные множества заявок ^одинаковыми моментами поступления. Плановые сроки и вместе с ними допустимые длительности пребывания были различны в различных моделях, однако для всех моделей средние допусти- мые длительности пребывания оставались постоянными с тем, чтобы трудности соблюдения плановых сроков при различных способах их назначения были бы примерно одинаковы. Таким образом, изменялись только относительные значения плановых сроков для последовательных заявок. Допустимые длительности пребывания задавались одним из следующих четырех способов: TWK — плановые сроки определяются общей длительностью об- служивания заявки (Total work due-dates). Допу- стимые длительности пребывания (т. е. разность между плановым сроком и моментом поступления) равны девяти суммарным длительностям обслужи- вания. Это значит, что заявка может провести в очереди время, равное восьмикратной длительно- сти осблуживания, все еще не запаздывая. NOP — плановые сроки определяются числом этапов (Number-of- operation due-dates). Допустимая длительность пре- бывания пропорциональна числу этапов обслужи- вания. GON — постоянные плановые сроки (Constant allowance due-dates). Каждой заявке приписана одна и та же допустимая длительность пребывания (равная 78,8 единицы времени). RDM — случайные плановые сроки (Random-allowance due-dates). Допустимая длительность пребывания назначается случайно (и имеет равномерное распределение на интервале (0; 157, 6)). TWK и NOP представляют собой два из возможных методов назначения обоснованных и реально достижимых плановых сро- ков, при которых допустимая длительность пребывания тем боль- ше, чем длиннее заявка или чем больше этапов обслуживания она должна пройти. Метод GON назначения плановых сроков соответ- ствует обычной практике; метод RDM можно, по-видимому, рас- сматривать как метод назначения произвольных плановых сроков внешним источником. Исследуемые алгоритмы, призванные обеспечить выполнение плановых сроков, являются обычно принятыми в промышленной практике. Эти основные алгоритмы таковы: *) В качестве дополнительного материала к этому разделу можно реко- мендовать статью Беккера [12].
11.3] УЧЕТ ПЛАНОВЫХ СРОКОЙ 299 DDATE — правило плановых сроков (Due date). Приоритет заявки равен ее плановому сроку. OPNDD — поэтапные плановые сроки (Operation due date). Задан- ная первоначально допустимая длительность пре- бывания делится поровну между этапами обслужи- вания заявки, и, таким образом, назначается пла- новый срок окончания каждого из этапов. Прио- ритет заявки принимается равным плановому сроку очередного этапа ее обслуживания. SLACK — приоритет основан на временном резерве (Slack-time). Здесь приоритет заявки равен разности между до- пустимой оставшейся длительностью пребывания и оставшейся длительностью обслуживания. S/OPN — временной резерв на этап (Slack per operation). Прио- ритет заявки равен отношению временного резерва к числу оставшихся этапов обслуживания. Для сравнения использовались результаты, полученные при алгоритмах SPT и FCFS. Полученные результаты приведены в Приложении G.3 и резю- мированы в табл. 11.2 *), где Р обозначает среднюю длитель- ность пребывания; L — среднее временное смещение относительно планового срока; а — среднее квадратическое отклонение вре- менного смещения, а /( — долю запоздавших заявок. Из таблицы следует, что дисциплины, основанные на плановых сроках, дают существенное улучшение по сравнению с дисциплиной FCFS отно- сительно доли запоздавших заявок. Это касается также среднего временного смещения и особенно уменьшения дисперсии распреде- ления временного смещения. Из всех правил назначения приори- тетов, основанных на плановых сроках, наиболее удачным, хотя и наиболее трудно реализуемым, является S/OPN, выбирающее на обслуживание заявку с наименьшим временнйм резервом по отношению к оставшемуся числу этапов обслуживания. При ис- пользовании этого правила (среди правил, основанных на плано- вых сроках) получается наименьшее значение такого важного показателя, как дисперсия временного смещения, а также наи- меньший процент запоздавших заявок. Интересно, что дисциплина SPT приводит почти к столь же малым долям запоздавших заявок, хотя она совершенно не зависит от плановых сроков. Такой эффект достигается за счет значитель- ного уменьшения среднего временного смещения, что компенсиру- ет возрастание среднего квадратического отклонения от этой ве- личины и приводит к тому, что положительная часть распределе- ния остается малой. *) Приведенные там данные взяты из более подробных и полных резуль- татов, с которыми можно ознакомиться по работам [32] или [31].
300 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ 1ГЛ. 11 Таблица 11.2 Сравнение алгоритмов при наличии плановых сроков. Простая симметричная сеть из девяти приборов со случайным выбором порядка их прохождения Алгоритм назначе- ния приоритетов Метод назначения плановых сроков TWK NOP CON RDM FCFS F L <5 fl 74,4 -4,5 41,1 0,448 74,4 —3,9 33,5 0,399 74,4 -4,4 75,7 0,337 74,4 —4,9 87,9 0,412 DDATE F L б ft 63,7 —15,5 20,8 0,177 70,6 —7,7 23,0 0,276 72,5 -6,3 39,6 0,439 72,9 —6,4 45,8 0,487 OPNDD F L б ft 69,0 —9,9 120 0,104 SLACK F L <3 ft 65,8 —13,1 20,8 0,220 S/OPN F L <3 ft 66,1 —12,8 15,0 0,037 72,9 —5,4 15,0 0,216 73,7 —5,1 33,4 0,481 74,0 —5,3 41,5 0,525 SPT F L <3 ft 34,0 —44,9 53,7 0,050 34,0 —44,3 54,1 0,062 34,0 -44,8 48,2 0,110 34,0 —45,3 66,5 0,198 Объем выборки 3700 заявок; выборочный коэффициент использования 88,4%; сред- няя длительность этапа 1,0. Эффективность и различие дисциплин SPT и S/OPN наглядно иллюстрируется таблицей, в которой приведены данные, получен- ные при прохождении через систему трех множеств заявок, причем нагрузка каждый раз увеличивается. Здесь приведен процент запоздавших заявок при назначении плановых сроков по методу TWK.
11.31 УЧЕТ ПЛАНОВЫХ СРОКОВ 301 I множество заявок; коэффи- циент использо- вания = 88,4% 11 множество заявок; коэффи- циент использова- ния = 90,4% III множество заявок; коэф- фициент использо- вания == 91,9% FCFS 44,8% 57,7% 67,5% S/OPN 3,7% 30,9% 54,8% SPT 5,0% 6,1% 7,3% Несмотря на то, что допустимые длительности пребывания при назначении плановых сроков по методу TWK с возрастанием нагрузки возрастают пропорционально длительностям обслужива- ния, возможности системы по выполнению плановых сроков сни- жаются. В результате соблюдение плановых сроков для II мно- жества заявок представляет задачу более трудную, чем для I мно- жества, и еще труднее обеспечить выполнение этих сроков для III множества заявок. Во всех случаях дисциплина S/OPN приводит к распределению временного смещения, имеющему наименьшую дисперсию, однако положительная часть распределения возрастает. Распределение, получаемое при SPT, имея большую дисперсию и асимметрию, не столь чувствительно к смещению среднего зна- чения, и доля запоздавших заявок остается малой. Отсюда напра- шивается вывод, что при дисциплине SPT система менее чувстви- тельна к колебаниям нагрузки, чем при других дисциплинах, а также, что метод TWK назначения плановых сроков, хотя и учи- тывает длительности заявок, все-таки не полностью компенсирует изменение величины нагрузки. Более детально изучение результатов моделирования позво- ляет выявить еще одно существенное различие между дисципли- нами SPT и S/OPN в системах, где требуется выполнение плано- вых сроков. Даже в тех случаях, когда эти дисциплины дают в среднем примерно одинаковый процент запоздавших заявок (I множество заявок, метод TWK), сами запоздавшие заявки появ- ляются внутри нескольких коротких интервалов времени, когда, по-видимому, имеют место пики нагрузки, обусловленные ее слу- чайными колебаниями. При этом имеются длинные промежутки времени, в течение которых все заявки обслуживаются до истече- ния плановых сроков. При алгоритме SPT запоздавшие заявки распределены более равномерно среди всего множества промоде- лированных заявок. Можно предположить, что весьма эффектив- ным был бы смешанный алгоритм: использование SPT во время пиков нагрузки и переход к S/OPN в относительно «спокойные» периоды; такой алгоритм обсуждается в п. 11.3.2. Упомянем еще о модели, в которой проверялся алгоритм, яв- ляющийся линейной комбинацией SPT и S/OPN, взятых с различ-
302 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. И ними весовыми коэффициентами. Наилучшим оказался алгоритм с использованием равных весов (0,5 SPT + 0,5 S/OPN). При та- ком алгоритме среднее временное смещение было равно —21,3, стандартное отклонение 22,8, а доля запоздавших заявок состави- ла лишь 1,52%. Интересно сравнить различные методы назначения плановых сроковли возможности их выполнения для разных дисциплин, имея в виду, что всякий раз используется одна и та же реализация потока заявок. Для дисциплины FGFS несущественно, какой метод принят для назначения плановых сроков; показатели функциони- рования системы остаются неважными в любом случае. Для DDATE, SPT и S/OPN показатели системы ухудшаются в соответ- ствии с последовательностью: TWK, NOP, CON, RDM. Понятно, что алгоритм SPT, не учитывающий плановых сроков, менее чув- ствителен к методу их назначения, но все-таки показатели системы оказываются лучше, если метод назначения плановых сроков основан на реальных длительностях заявок, т. е. для TWK и NOP. Алгоритмы, использующие информацию о плановых сро- ках — DDATE и S/OPN наиболее эффективны для обоснованных методов назначения, учитывающих характеристики заявок, и не обладают сколько-нибудь значительными возможностями по соб- людению произвольно задаваемых плановых сроков. Практически при задании плановых сроков по методу GON или RDM алгоритм FGFS обеспечивает лучшие показатели функционирования, неже- ли DDATE или S/OPN. Следует, однако, отметить, что такая важная характеристика, как дисперсия временного смещения при использовании DDATE или S/OPN, оказывается наименьшей независимо от метода назначения плановых сроков. Это позволяет предположить, что при увеличении средней допустимой дли- тельности пребывания заявок в системе эти алгоритмы окажутся выгоднее, чем FGFS или SPT, и позволят добиться удовлетвори- тельно малой вероятности запаздывания заявки. 11.3.2. Учет состояния системы при наличии плановых сроков. R предыдущем разделе была описана одна из первых моделей, осу- ществленных в корпорации RAND и использующих составные алгоритмы, учитывающие при назначении приоритетов различ- ные факторы. Однако там относительный вес того или иного факто- ра оставался неизменным в течение всей реализации. Более позд- няя работа [158] посвящена исследованию динамического состав- ного алгоритма, когда весовые коэффициенты, позволяющие учесть влияние различных компонент, изменяются и зависят от состоя- ния системы в момент принятия решения. Такой алгоритм приво- дит к возможности выбора заявок из разных очередей по разным алгоритмам в один и тот же момент времени, а также к возможно- сти изменения во времени алгоритма выбора из очереди перед фиксированным прибором. Фактически работа состояла в исследо-
11.3] УЧЕТ ПЛАНОВЫХ СРОКОВ 303 вании нескольких алгоритмов такого рода для различных реали- заций. Каждая из реализаций использовалась для изучения влия- ния изменения небольшого числа управляющих параметров на функционирование системы. Предыдущие результаты позволяют выделить три основных фактора, важных при наличии плановых сроков: 1) Учет некоторых величин, связанных с плановыми сроками, позволяющий оценить прохождение в системе каждой из заявок и уменьшить по возможности дисперсию временного смещения. 2) Учет длительности обслуживания, позволяющий умень- шить длины очередей и длительности пребывания заявок. 3) Прогноз, позволяющий избежать выбора заявки, которая, пройдя обслуживание на некотором приборе, перейдет в слишком длинную очередь. Задача состоит в совместном учете всех этих факторов в зависи- мости от состояния конкретной очереди и всей системы в момент выбора очередной заявки. При моделировании было решено поло- жить в основу алгоритма назначения приоритетов характеристику, зависящую от плановых сроков. К этой характеристике затем до- бавлялись величины, определяемые остальными двумя факторами, причем варьируемые весовые коэффициенты зависели от состоя- ния системы. После некоторого предварительного анализа была выбрана зависящая от плановых сроков характеристика, которую можно назвать временной избыточностью на этап обслуживания. При по- ступлении заявки в систему плановые сроки для этапов назнача- лись по тому же принципу, что и для заявок. Если, например, для каждой из заявок допустимые длительности ожидания равны че- тырем длительностям обслуживания, то для каждого из этапов обслуживания устанавливается допустимая длительность ожида- ния, равная четырем длительностям выполнения этого этапа на соответствующем приборе *). Временное смещение заявки относи- тельно планового срока вычислялось только по ее плановому сроку (совпадающему с плановым сроком последнего этапа), одна- ко указанные внутренние плановые сроки для отдельных этапов позволили контролировать процесс прохождения заявки в системе. Пусть Oij — плановый срок /-го этапа i-й заявки; ptj — длитель- ность обслуживания /-го этапа г-й заявки. Тогда временная избыточность в момент t для этого этапа равна Оц — pij — t. Поскольку t одинаково для всех этапов, среди кото- рых возможен выбор на обслуживание, и поскольку этот выбор *) В работе Орвина [159] показано, что такой способ выбора допу- стимого времени ожидания (пребывания) для этапов предпочтительнее, чем назначение одинаковых допустимых длительностей (равных в сумме допусти- мой длительности ожидания заявки) для каждого из этапов.
304 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. 11 зависит только от разностей, определяющих приоритеты, то мож- но считать, что временной резерв = оц — р^. Второй член при вычислении приоритета имеет вид Вр^, в~ъ (2 Ра)Г , где b и г постоянны для каждой моделируемой траектории, а сумма берется по всем этапам в очереди, среди которых возможен выбор на обслуживание. Если положить г == 0, то второй сомножитель правой части будет равен 1 и весовой коэффициент остается посто- янным и равным Ъ, как в модели, описанной в предыдущем пунк- те. При г /> 0 длительность обслуживания этапа больше влияет на приоритет при длинной очереди и меньше при короткой. Третий член имеет вид hWnq, где h — коэффициент, постоян- ный для всей траектории, a Wnq равно отношению суммы длитель- ностей всех этапов, стоящих в очереди, к которой присоединится рассматриваемая заявка после завершения данного этапа, к сум- марной длительности обслуживания всех этапов всех заявок по всем остальным (кроме рассматриваемой) очередям в системе. Если следующая очередь для рассматриваемой заявки пуста или рассматриваемый этап является последним для заявки и она покинет систему по завершении его обслуживания, то Wnq = 0. Таким образом, приоритет /-го этапа z-й заявки в момент t вычи- сляется по формуле (0 — Sij + Врц 4- hWnq = Оц — Pij + Ь (2 Pij) Pij + hWnq, где b, r, h — постоянные, выбираемые для каждой траектории и задающие один из семейства алгоритмов; рц — длительность обслуживания соответствующего этапа; при моделировании для удобства принимается, что это число известно до начала обслужи- вания; otj — плановый срок для этапа обслуживания, устанавли- ваемый по плановому сроку заявки и по р{р, ^Рц, Wnq — перемен- ные, характеризующие состояние системы в момент t. Всякий раз, когда по завершении этапа обслуживания две или более заявок претендуют на занятие прибора, для каждой из них вычисляется значение приоритета и выбирается заявка с мини- мальным приоритетом. Такой метод отдает предпочтение заявкам, у которых истекает плановый срок и (или) которые имеют малую длительность обслуживания и (или) поступят в очередь, относи- тельно мало загруженную в данный момент. Моделируемая система почти точно совпадала по структуре с моделью, рассмотренной в предыдущем пункте. Описываемая си- стема состояла из восьми (вместо девяти) приборов; имитировалось 6000 заявок; принималось, что длительности обслуживания имеют геометрическое, а не показательное распределение; средний выбо- рочный коэффициент использования составлял 86% (88% в моде-
11.3] УЧЕТ ПЛАНОВЫХ СРОКОВ 305 ли п. 11.3.1). Все эти различия, однако, незначительны. При моде- лировании оказалось, что составной алгоритм настолько эффек- тивен, что для интересного сравнения потребовалось бы задание гораздо более жестких плановых сроков, нежели рассматривае- мые в модели п. 11.3.1. В описываемой модели использовался ме- тод TWK назначения плановых сроков. Отношение допустимой длительности ожидания заявки к суммарной длительности обслу- живания ее этапов равнялось четырем. Сравнение с моделями п. 11.3.1 проводилось в предположении, что для последних указан- ное отношение равно восьми. Хотя некоторое уменьшение нагруз- ки приводило к уменьшению очередей в описываемой здесь модели, соблюдение плановых сроков представляло задачу гораздо более трудную. Для сравнения условий и влияния плановых сроков было проведено моделирование с алгоритмами, используемыми в моде- лях п. 11.3.1. Процент запоздавших заявок для модели п. 11.3.1 и для рассматриваемой здесь модели, приведен в таблице: Алгоритм Отношение допустимой длительности ожидания к длительности обслуживания 8/1 (п. 11.3.1) 4/1 DDATE 17,7% 49,8% OPNDD (с разбиением планового срока на равные части) 10,4% 61,7% S/OPN 3,7% 54,3% SPT 5,0% 10,8% Заметим, что здесь вновь подтверждается наименьшая чувстви- тельность SPT к сокращению плановых сроков. В рассматриваемой серии моделей главное внимание было уделено изучению величины запаздывания, заявок, а не временного смещения. В ходе моделирования вычислялись: среднее запазды- вание Т, доля запоздавших заявок/,, условное среднее запаздыва- ние запоздавших заявок Тс = Т/ft, а также среднее значение и стандартное отклонение временного смещения и длительности пре- бывания заявок. Часть результатов приведена в Приложении С.4. В целом результаты свидетельствуют о том, что составной ал- горитм приводит к заметно лучшим результатам и при этом не слишком чувствителен к изменению параметров Ь, г и Л.В довольно широких диапазонах изменения этих параметров алгоритм дает а) среднее значение временного смещения и долю запоздавших заявок, близкие к даваемым алгоритмом SPT; Ь) дисперсию временного смещения, меньшую, чем при любом простом алгоритме;
306 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. 11 с) дисперсию длительности пребывания, сравнимую с полу- чающейся при SPT и меньшую, чем при алгоритме, основанном только на плановых сроках; d) условное среднее запаздывание, втрое меньшее, чем при SPT, и несколько меньшее, чем при простом алгоритме, основан- ном на учете плановых сроков; е) среднее запаздывание примерно вдвое меньше, чем при SPT. Приведем для примера сравнение результатов применения составного алгоритма, с результатами, полученными при SPT и алгоритме, основанном на временном резерве на этап: т h тс L Стандарт- ное откло- нение L Стан- дартное отклоне- ние F SPT 12,1 0,108 112,1 -49,0 106 107,8 147 Временной резерв на этап: 6=0, г = 0, h = 0 21,9 0,422 51,9 -1,2 60,5 155,6 160 Составной алгоритм: 6 = 0,30, г = 1, /г =-0 6,11 0,118 51,9 -37,3 56,2 119,5 148 Сравнение алгоритмов по запаздыванию заявок показывает, что составной алгоритм позволяет сохранить долю запоздавших заявок почти на том же уровне, что и SPT, в то время как услов- ное среднее запаздывание заявок, не уложившихся в плановые сроки, гораздо меньше. В этом смысле составной алгоритм эффекти- вен в той же мере, что и алгоритм, основанный на временном резер- ве на зтап. Безусловное среднее запаздывание, равное произведе- нию доли запоздавших заявок ft на Тс, на 50% меньше, чем для каждого из простых алгоритмов. Сравнивая алгоритмы по сред- нему временному смещению относительно плановых сроков, заме- чаем, что использование составного алгоритма позволяет умень- шить эту величину почти до уровня, даваемого SPT, тогда как дисперсия уменьшается до величины, меньшей, чем при алгоритме, основанном на временном резерве на этап. Первое впечатление от приведенных результатов таково, что алгоритм SPT составляет очень хорошую альтернативу алгорит- мам, основанным на плановых сроках, приводя к заметному умень- шению доли запоздавших заявок, среднего временного смещения и даже среднего запаздывания. Однако на практике, как правило, нельзя пренебрегать ущербом, наносимым увеличением дисперсии временного смещения и величиной среднего запаздывания. Опи- санный здесь составной алгоритм позволяет, сохраняя преиму- щества SPT, резко уменьшить его недостатки. Поэтому можно
Н.З] УЧЕТ ПЛАНОВЫХ СРОКОВ 307 считать, что этот составной алгоритм является равномерно более эффективным, чем все алгоритмы, учитывающие только плановые сроки, а также более эффек- тивным, чем SPT, в боль- шинстве практических слу- чаев. На рис. 11.3 показано изменение показателей си- стемы при составном алго- ритме в зависимости от со- отношения весовых коэф- фициентов, используемых при вычислении приорите- тов. Точка 0 на оси абсцисс соответствует алгоритму, Рис. 11.3. Составной алгоритм, использую- щий плановые сроки. Симметричная сеть, состоящая из восьми приборов, со случай- ным порядком их прохождения. Объем выборки 6000, выборочный коэффициент использования 86%, г = 1, h == 0 (При- ложение С. 4). использующему временной резерв на этап. Возраста- ние абсциссы соответствует возрастанию коэффициен- та, с которым входит дли- тельность обслуживания этапа при вычислении при- оритета. Из графика видно, что процент запоздавших заявок монотонно убывает, в то время как условное среднее запаздывание имеет ярко выраженный минимум. Среднее запаздывание, равное произведению указанных величин, также имеет минимум. Приведем теперь сводку результатов для шести исследованных алгоритмов. Т L (1) SPT 12,1 0,108 112,1 —49,0 (2) DDATE 35,2 0,498 70,7 18,2 (3) Временной резерв на этап: 6 = 0, г = 0, 7г = 0 21,9 0,422 51,9 —1,2 (4) Составной: 6 = 15, г = 0, 6=0 6,52 0,152 42,8 -38,7 (5) Составной: Ъ = 0,3, г = 1, 6 = 0 6,11 0,118 51,9 —37,3 (6) Составной: 6 = 0,3, г = 1, 6 = 160 5,43 0,120 45,3 —39,4
308 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. 11 Алгоритм SPT наиболее употребителен. Несмотря на то, что при этом алгоритме совершенно не принимаются во внимание плановые сроки, он позволяет получить минимальное временное смещение и минимальный процент запоздавших заявок. DDATE представляет собой простейший способ учета плановых сроков. Использование временного резерва на этап обслуживания являет- ся наиболее сложным и среди всех рассмотренных нами вариантов представляет наилучший из простых алгоритмов. В основе этого алгоритма лежит та же идея, что и в основе алгоритма OPNDD, рассматривавшегося в п. 11.3.1, однако его эффективность резко увеличивают две простые модификации: 1) разбиение допустимой длительности ожидания не на равные части, а на части, пропор- циональные длительностям обслуживания этапов; 2) учет времен- ного резерва вместо планового срока. Алгоритм (4) является неожиданно удачной композицией (1) и (3) и сохраняет преимущества обоих. Алгоритм (5) позволяет, ис- пользуя информацию о состоянии системы, изменить вклад в чис- ленное значение приоритета, вносимый учетом планового срока и длительности обслуживания. Алгоритм (6) предусматривает использование информации о состоянии системы, позволяющее из- бежать перехода заявки к очереди, содержащей в данный момент слишком большой объем работы. Первые четыре из указанных алгоритмов позволяют при моде- лировании вычислять значения приоритетов каждого из этапов еще до поступления заявок в систему, так как приоритеты не за- висят от состояния системы и не изменяются во времени. Алгорит- мы (5) и (6) при практическом осуществлении потребовали бы от управляющей вычислительной системы работы в реальном мас- штабе времени, и, по-видимому, те небольшие преимущества, которые получаются при использовании этих алгоритмов, не оку- пили бы затрат на их реализацию. 11.4. Более сложные модели сетей массового обслуживания Во всех описанных выше моделях рассмотрены простые сети массового обслуживания и главное внимание сосредоточено на сравнении дисциплин или алгоритмов. В последующих работах, опирающихся на полученные результаты, изучалось влияние снятия некоторых ограничений, характеризующих простые сети. В двух моделях исследуются характерные для многих реальных систем неоднозначность выбора прибора, обслуживающего дан- ный этап (так что возможен выбор среди ряда приборов), и неодно- значность порядка выполнения этапов одной заявки. Оба допуще- ния способствуют уменьшению общего объема работы в очередях и длин очередей. Третий тип задач, изучаемый в п. 11.4.3, есть
11.4] ВОЛЕЕ СЛОЖНЫЕ СЕТИ МАССОВОГО ОБСЛУЖИВАНИЯ 309 система, где часть операций представляет собой операции «сборки» и требует совместного обслуживания нескольких заявок. В этом случае принимается, что заявки имеют ветвящуюся структуру, а не являются просто упорядоченными последовательностями этапов. Наличие операций сборки, по-видимому, в значительной мере изменяет эффективность алгоритмов, разработанных для простых задач упорядочения и простых сетей обслуживания, и требует новых типов алгоритмов и дисциплин обслуживания. Все дальнейшие результаты этой главы получены при услови- ях, аналогичных условиям, принятым в моделях п. 11.3.1; более того, работы проводились так, чтобы иметь возможность непосредственного сравнения. 11.4.1. Неоднозначность выбора прибора. В реальных комп- лексах часто имеется возможность избежать попадания заявки в чересчур перегруженную в данный момент очередь, направляя заявку на другой, менее загруженный прибор, который также может обслужить очередной этап. Такой прием позволяет полу- чить преимущество даже в том случае, если производительность этого прибора несколько ниже. Без учета указанной возможности модели простых систем приводят к завышенным оценкам длин очередей при фиксированных нагрузках и, по-видимому, к гораз- до большему различию показателей функционирования систем при различных алгоритмах. Исследованию системы с неоднозначным выбором обслуживаю- щего прибора посвящена работа В э й с о н а [198]. Исходные условия этой работы совпадают с условиями соответствующей модели п. 11.3.1 с той лишь разницей, что Вэйсон использует более высокий коэффициент использования. Возможные вариан- ты выбора обслуживающего прибора задаются квадратной матри- цей доступности, размерность которой равна числу приборов. Элемент Хц матрицы равен вероятности того, что этап, обслужива- ние которого должно производиться прибором г, может быть об- служен также на приборе /. (На практике, конечно, всегда четко определено, какие из приборов могут обслуживать данный этап, однако указанная вероятностная модель является удобным ин- струментом для определения возможностей /-го прибора по обслу- живанию тех или иных (но не всех) этапов, предназначенных для обслуживания на i-м приборе.) Ясно, что Хц= 1 при всех i. Если Хц = 0 при всех i Ф j, то имеем строгое правило выбора прибора для каждого этапа, рассматривавшееся выше. Равенство xij = 1 при i / означает, что любой зтап, предназначенный номинально для обслуживания на i-м приборе, может обслуживаться также и на приборе /. Равенство = 0,5 при г j означает, что при длинной реализации примерно половина всех i-этапов может полу- чить обслуживание на /-м приборе. При моделировании эти воз- можности реализуются с помощью выбора случайных чисел.
310 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. 11 Например, матрицей доступности для системы, состоящей из пяти приборов, может служить каждая из следующих четырех матриц: (1 0 0 0 0\ /1 1 0 0 0\ 0 1 0 0 0 1 /011001 001001, 5=00110, 000101 1000111 00001/ \1 0 0 0 1/ (1 0,5 0,2 О О \ / 1 О О О 0 \ О 1 0,5 0,2 0 \ / 0 1 0,5 0 0 \ О 0 1 0,5 0,2 I , D = I 0 0,5 1 0,3 0 | . 0,2 0 0 1 0,5 I I 0,1 0,1 0,1 1 0,1 I 0,5 0,2 0 0 1 / \ 1 1 1 1 1 / Матрица А соответствует строго однозначному выбору обслужи- вающего прибора; В — случаю единственной альтернативы при каждом выборе; С — случаю двух неравновероятных дополнитель- ных возможностей. Матрица D соответствует различным альтер- нативам для разных приборов, в частности, все этапы, обслужи- вание которых должно номинально производиться пятым прибором, могут также обслуживаться любым другим прибором. В работе [198] рассматриваются только матрицы, обладающие свойствами: тп т 2 = К. при всех i, 2 ХИ — К при всех /, 3=1 1=1 где 1 К т. Матрицы А, В, и С обладают этими свойствами, a D — нет. Число К — 1 является некоторой мерой числа воз- можных альтернативных решений при каждом выборе прибора. В модели Вэйсона каждый раз по завершении обслуживания очередного, но не последнего этапа некоторой заявки составляется список приборов, па которых мог бы получить обслуживание следующий этап этой заявки. При составлении списка сначала по матрице доступности устанавливается, на каких приборах этап может быть обслужен, и в список заносятся все приборы, для которых соответствующий элемент матрицы равен 1; далее, если какому-либо прибору соответствует отличный от 1 элемент матрицы, то вычисляется псевдослучайное число и прибор зано- сится в список, если оно меньше, чем элемент матрицы. После составления списка прибор выбирается по одному из следующих правил: 1) равновероятно; 2) по минимуму объема работы в очереди перед прибором; 3) по минимальному числу заявок в очереди перед прибором.
11.4] БОЛЕЕ СЛОЖНЫЕ СЕТИ МАССОВОГО ОБСЛУЖИВАНИЯ зи В случае равенства чисел, определяющих выбор прибора, предпочтение всегда отдается прибору, номинально предназна- ченному для обслуживания рассматриваемого этапа. Попавшая в некоторую очередь заявка остается в ней до обслуживания на соответствующем приборе; перемещения в другие очереди не до- пускаются. Все решения о направлении заявки в ту или иную очередь принимаются в момент окончания обслуживания очеред- ного этапа. Выбор из очереди про- изводится по одному из обычных алгоритмов. Основное внимание в работе Вэйсона уделено сравнению алгоритмов FCFS и SPT при выбо- ре прибора по минимальному числу заявок в очереди перед прибором. Часть результатов приводится в Приложении С. 5. На рис. 11.4 приведено среднее значение среднего числа заявок в очереди для FCFS и SPT в зависи- мости от числа альтернатив при выборе прибора (кривые 2). Гра- фик показывает, что алгоритм SPT равномерно более эффективен, чем FCFS, однако получаемый выиг- рыш уменьшается с возрастанием числа альтернатив. График частоты выбора прибора, не являющегося основным для данного этапа, при- веден на рис. 11.4 для FCFS (кри- вая 7). Предпочтение основного Число альтернатив при выборе прибора {К~1) Рис. 11.4. Влияние неоднознач- ности выбора обслуживающего прибора. Симметричная сеть, со- стоящая из девяти приборов, со случайным порядком их прохож- дения. Объем выборки 8880, вы- борочный коэффициент использо- вания 91,2% (Приложение2_С.5). прибора в случае равенства характеристик при выборе привело к тому, что эта частота несколько меньше ожидаемой, т. е. меньше (К — 1)/К. Например, при К = 2 частота выбора неосновного прибора равна 39%, а не 50%, при К = 3 она равна 48%, а не 67%. Заметим, что реакция системы на возможность неоднозначного выбора прибора выражена очень сильно. Даже небольшого числа альтернатив при выборе достаточно для резкого уменьшения сум- марной длины очередей. Если примерно 20% этапов имеют воз- можность альтернативного выбора прибора, то алгоритм FCFS дает то же среднее число ожидающих заявок, что и SPT при одно- значном выборе. Все это говорит о том, что на практике неразумно пренебрегать указанными возможностями и что сложные алгорит- мы, реализуемые с помощью дорогостоящих управляющих вычис- лительных комплексов, действующих в реальном масштабе време- ни, но не учитывающие возможностей неоднозначного выбора
312 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. 11 прибора, могут не выдержать конкуренции с простыми алгорит- мами, составленными с учетом этого свойства и реализуемыми человеком-диспетчером. 11.4.2. Неоднозначность последовательности обслуживания этапов. Другой возможностью, часто встречающейся в реальных системах, но не учитываемой в большинстве экспериментальных работ, является возможность изменения строгого порядка обслужи- вания этапов внутри одной заявки, т. е. изменение порядка про- хождения приборов этой заявкой. Иногда приходится считаться с некоторыми ограничениями на порядок обслуживания этапов одной заявки (например, сверление отверстий должно предшество- вать нанесению внутренней резьбы), однако эти ограничения не приводят к строгой упорядоченности этапов. В работе Нимейера [148] предпринято предварительное исследование подобных вопросов, причем структура системы и множество заявок аналогичны рассмотренным в работе Вэйсона (контрольные варианты с использованием FGFS и SPT и однознач- ным выбором приборов и строгим упорядочением этапов в точно- сти совпадали для моделей Нимейера и Вэйсона). Каждая заявка в модели Нимейера разбита на группы этапов таким образом, что внутри одной группы обслуживание может производиться в про- извольном порядке, но обслуживание каждого из этапов данной группы должно предшествовать обслуживанию любого этапа сле- дующей группы. Графически заявку, состоящую из девяти эта- пов, можно, например, представить в следующем виде: Обслуживание может начаться с первого или второго этапов, по оба они должны быть завершены до начала обслуживания третье- го и т. д. При моделировании разбиение осуществлялось с по- мощью задания вероятности Р того, что данный этап начинает новую группу. Сначала все этапы располагаются в исходном по- рядке, затем для каждого вычисляется псевдослучайное число и в зависимости от его величины этап объявляется начальным в новой группе или присоединяется к предыдущей. Степень неоднозначности в модели Нимейера оценивается отношением числа всех допустимых последовательностей обслужи- вания этапов к числу всех возможных при отсутствии] каких бы то ни было ограничений на порядок, т_. е. отношением произведе- ния факториалов размеров групп к факториалу числа этапов.
11.4] БОЛЕЕ СЛОЖНЫЕ СЕТИ МАССОВОГО ОБСЛУЖИВАНИЯ 313 Для вышеприведенного примера степень неоднозначности равна 211! 31211! _ 21 9! 36 288 ‘ Множество моделируемых заявок характеризуется средним значением такого отношения по всем заявкам. Меняя Р, Нимейер мог целенаправленно изме- нять размеры групп и указан- ное отношение. Правило вы- бора этапа из группы для оче- редного обслуживания напо- минает правило, используе- мое Вэйсоном для выбора обслуживающего прибора: среди «равноправных» этапов одной заявки следующим вы- бирается тот этап, который поступит в очередь, содержа- щую наименьшее число зая- вок. Выбор из очереди про- изводится по алгоритму FGFS или SPT. Часть результатов Ни- мейера приведена в Прило- жении С. 6 и показана на рис. 11.5. Эффект неоднознач- ности порядка обслуживания Рис. 11.5. Влияние неоднозначности по- рядка обслуживания этапов. Симмет- ричная сеть, состоящая из девяти при- боров, со случайным порядком их про- хождения. Объем выборки 4440, выбо- рочный коэффициент использования 91,2% (Приложение С.6). этапов напоминает эффект от неоднозначности выбора прибора (рис. 11.4), однако менее выражен. Последнее можно было пред- видеть, поскольку неоднозначность выбора прибора приводит к возможности вообще избежать перегруженных очередей, в то время как неоднозначность порядка обслуживания этапов позво- ляет лишь отсрочить попадание в длинную очередь. Во время этой отсрочки очередь может, в принципе, не только уменьшиться но и увеличиться, однако по результатам, представленным на рис. 11.5, можно с уверенностью сделать вывод, что реализуется чаще первая из возможностей. Упомянем еще о работе Руссо [177], где для аналогичной системы в качестве основной характеристики принималось запаз- дывание заявок. Допуская неоднозначность порядка обслужива- ния этапов и вводя подходящим образом приоритеты, Руссо добил- ся весьма заметного снижения среднего запаздывания. Он также показал, что важным фактором является возможность отложить вопрос о порядке обслуживания этапов до того момента, когда один из них должен начать обслуживаться; физически это озна- чает, что заявка помещается одновременно в несколько очередей. Последнее хотя и связано со значительным усложнением про-
314 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. 11 граммы, позволило добиться резкого улучшения показателей функционирования системы. 11.4.3. Упорядочение в системах типа сборочной линии. Термин система типа сборочной линии (assembly shop) мы исполь- зуем для обозначения систем, в которых маршруты происхожде- ния заявок через сеть приборов имеют структуру деревьев. Это значит, что ограничения на порядок обслуживания отдельных эта- пов заявки могут задаваться, например, следующим графом: Детерминированные системы такого типа описаны подробно в разделах 4.3 и 7.1. Необходимость координировать работу ряда независимых подсистем этого типа часто обусловливает введение плановых сроков. Однако введение плановых сроков позволяет лишь в той или иной степени приблизиться к решению задачи оптимизации таких систем; поэтому интересно исследовать их целиком с тем, чтобы попытаться обнаружить достаточно эффек- тивные алгоритмы. Публикаций об исследованиях указанных си- стем имеется гораздо меньше, чем статей по простым сетям массо- вого обслуживания. Мы остановимся на результатах работы [130], проведенной в корпорации RAND. Эта работа посвящена изучению частного вида систем, когда заявки имеют всего один уровень ветвления, причем этап (опера- ция) сборки является последним для каждой из заявок; более того его длительность равна 0, т. е. это — фиктивный этап. Структура заявок в рассматриваемой работе примерно такова: 9
11.4] БОЛЕЕ СЛОЖНЫЕ СЕТИ МАССОВОГО ОБСЛУЖИВАНИЯ 315 Каждая заявка состоит из ветвей, причем каждая ветвь экви- валентна одной заявке с точки зрения систем, рассмотренных в п. 11.3.1. Число ветвей, из которых состоит заявка, задается для каждого варианта модели. Если оно равно 1, то получается простая сеть, если оно больше 1, то получается сеть со сборками с одинаковым числом ветвей у каждой из заявок. Длительность интервалов между поступлениями заявок имеет показательное распределение с параметром, выбранным так, чтобы теоретический коэффициент использования системы равнялся 90%. Длитель- ность сборки считается равной 0, так что этап сборки нужен лишь для синхронизации прохождения отдельных ветвей заявки в си- стеме. Для каждой заявки задается плановый срок ее окончания, причем способ задания этого срока есть одна из разновидностей метода NOP. Плановый срок заявки равен сумме времени прибы- тия, максимальной длительности обслуживания одной ветви этой заявки и максимального (по ветвям заявки) числа этапов, умно- женного на некоторый коэффициент. Последний выбирается так, чтобы примерно 50% заявок было бы задержано сверх пла- нового срока при алгоритме FASFS. Исследовались алгоритмы FCFS, FASFS, SPT, DDATE, SLACK и S/OPN, описанные в предыдущих разделах. Рассматри- валось также пять новых алгоритмов, разработанных с целью учесть информацию о прохождении различных ветвей заявки: MAXRWD-NR — максимальная разность объемов работы в вет- вях', отсутствие пересчета (maximum remaining work difference; no re-evaluation). Приоритет этапа, находящегося в очереди, равен разности между максимальным по всем ветвям заявки оставшимся объемом работы и объемом оставшейся работы в вет- ви, содержащей рассматриваемый этап. Эта раз- ность вычисляется в момент поступления этапа в очередь и в дальнейшем не пересчитывается, даже когда заканчивается обслуживание других ветвей заявки. MAXNRD-NR — максимальная разность числа этапов', отсутст- вие пересчета (maximum remaining number of operati- ons difference; no re-evaluation). Приоритет стоящего в очереди этапа равен разности максимального по всем ветвям заявки числа этапов, обслуживание кото- рых еще не начиналось, и числа необслуженных этапов этой заявки, находящихся в той же ветви что и рассматриваемый. Эта разпость вычисляется в момент поступления этапа в очередь и в дальней- шем не пересчитывается в процессе обслуживания этапов других ветвей.
316 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. 11 NUB — число незавершенных ветвей (number of uncompleted bran- ches). Приоритет этапа равен общему числу ветвей заявки, обслуживание которых еще не закон- чено. Это число вычисляется для каждого этапа в очереди каждый раз, когда из нее произво- дится выбор на обслуживание. MAXNRD-SPT — приоритет этапа равен разности между максималь- ным по всем ветвям заявки числом необслуженных этапов и числом необслуженных этапов той ветви, к которой относится рассматриваемый этап. Эта раз- ность вычисляется для всех этапов в очереди при каждом выборе на обслуживание. (В случае равен- ства приоритетов двух или более этапов приме- няется алгоритм SPT.) NUB-SPT — приоритет этапа равен общему числу неполностью обслуженных ветвей заявки. Приоритет вычисляет- ся для всех этапов в очереди при каждом выборе на обслуживание. (В случае равенства приорите- тов применяется алгоритм SPT.) Каждая реализация при моделировании содержала 50 ветвей для начальной загрузки системы, 400 для вхождения в стацио- нарный режим, 9000 ветвей для получения выборочных оценок и 600 ветвей для окончания реализации. Рассматривалось три типа заявок (в разных реализациях), содержащих 2, 5 и 10 ветвей. Полу- чаемая выборка содержала 4500, 1800 или 900 заявок соответст- венно. Дополнительно вычислялись две характеристики обслужи- вания: В —средняя длительность завершения ветви, и А —сред- няя длительность ожидания сборки. В есть длительность пребы- вания ветви до окончания ее обслуживания. Если бы ветви пред- ставляли собой независимые заявки, то В было равно средней длительности пребывания этих заявок. А есть средняя длитель- ность ожидания ветвями завершения обслуживания всей заявки. Средняя длительность пребывания связана с В и А соотноше- нием F = В + А, поскольку для каждой из ветвей сумма дли- тельности пребывания до окончания обслуживания ветви и длитель- ности ожидания сборки равна длительности пребывания заявки. Первый из рассматриваемых алгоритмов — MAXNRD-NR не привел к хорошим результатам ни по одному из критериев. До- вольно понятно, что этот алгоритм не обеспечивает достаточно эффективной координации прохождения отдельных ветвей одной заявки. Две модификации этого алгоритма позволили получить значительно лучшие показатели. Одна из модификаций — пере- счет'приоритета каждого ожидавшего в очереди этапа при каждом завершении обслуживания этапов других ветвей заявки. Другая — применение SPT, а не FCFS при равенстве приоритетов.
11.4] БОЛЕЕ СЛОЖНЫЕ СЕТИ МАССОВОГО ОБСЛУЖИВАНИЯ 317 В табл. 11.3 приведены результаты для варианта модели при двух ветвях в каждой заявке. Результаты для длительностей завершения ветвей аналогичны результатам, описанным в разде- ле 11.2. Алгоритм SPT привел к очень хорошим показателям как для средних длительностей пребывания, так и для доли запоздав- ших заявок. Однако, что касается длительности ожидания сборки, то здесь, не считая FCFS, SPT дает наихудший результат, т. е. большую среднюю разность между длительностями завершения двух ветвей одной заявки. Хорошие результаты, полученные при SPT, есть пе более чем следствие способности этого алгоритма увеличивать среднюю скорость прохождения заявок в системе. Алгоритмы MAXNRD-SPT и NUB-SPT, использующие информа- цию о состоянии системы, привели к более низким средним дли- тельностям пребывания заявок и к незначительному увеличению средней длительности завершения_ ветвей по сравнению с SPT. Длительность ожидания сборки А сама по ссбс^пе определяет достоинств алгоритма; например, уменьшение А с 12,75 при S/OPN даже до нуля не позволило бы считать этот алгоритм срав- нимым по качеству с SPT. Алгоритмы MAXNRD-SPT и NUB-SPT по всем показателям, кроме условного среднего запаздывания, превосходят алгоритмы, основанные на плановых сроках. Более того, оказалось, что эти алгоритмы дают показатели, сходные с показателями, получае- мыми при SPT: временное смещение относительно плановых сро- ков имеет распределение с очень малым средним, но большой положительной асимметрией. Оба эти алгоритма требуют для Таблица 11.3 Сравнение алгоритмов для системы типа сборочной линии с двумя ветвями в каждой заявке Алгоритм Средняя длитель- ность пре- бывания F Средняя дли- тельность завершения ветви В Средняя дли- тельность ожидания сборки А Условное среднее за- паздывание Тс Додя запоздав- ших заявок ft FCFS 149,28 100,71 48,57 64,46 0,5879 SPT 73,80 45,01 28,79 139,65 0,1109 FASFS 121,13 98,66 22,47 50,66 0,5162 DDATE 116,91 95,59 21,02 40,71 0,3446 SLACK 114,40 96,11 18,29 35,79 0,3324 S/OPN 108,90 95,34 12,75 12,55 0,0993 MAXDRD-SPT 69,67 62,67 7,00 127,63 0,0957 NUB-SPT 72,31 61,99 10,32 92,82 0,1150 Объем выработки 4500 заявок; теоретический коэффициент использования 90%; (модель той же структуры, что и модель RAND для заявок с ветвящейся структурой подробнее см Приложение С 7)
318 МОДЕЛИРОВАНИЕ СЕТЕЙ МАССОВОГО ОБСЛУЖИВАНИЯ [ГЛ. 11 Таблица 11.4 Зависимость между алгоритмами и числом ветвей заявки в системе типа сборочной линии Алгоритм Число ветвей заявки 2 (4500 заявок) 5 (1800 заявок) 10 (900 заявок) SPT F 73,80 112,01 264,36 А 28,79 70,60 198,26 тс 64,46 129,90 279,43 ft 0,1109 0,1438 0,3761 FASFS F 121,13 122,12 171,69 А 22,47 38,34 54,42 Те 50,66 33,39 58,14 ft 0,5162 0,2167 0,2622 S/OPN F 108,09 135,43 198,27 А 12,75 33,31 39,49 Те 12,55 4,35 51,15 ft 0,0993 0,0044 0,1193 MAXNRD-SPT F 69,67 91,22 164,47 A 7,00 16,37 27,46 Tc 127,63 108,14 182,37 ft 0,0957 0,0776 0,1128 NUB SPT F 72,31 96,86 144,90 A 10,32 27,48 42,28 Те 92,82 73,99 129,60 h 0,1150 0,0968 0,1479 Объем выборки в каждой реализации 9000 ветвей; теоретический коэффициент ис пользования 90%; модель той же структуры, что и модель RAND для заявок с ветвя- щейся структурой (см Приложение С 7) реализации весьма большого объема информации. Информация о прохождении ветвей должна все время сравниваться, что требует наличия при моделировании текущей информации о состоянии системы (в реальных системах — работы в реальном масштабе времени).
1141 БОЛЕЕ СЛОЖНЫЕ СЕТИ МАССОВОГО ОБСЛУЖИВАНИЯ 319 Зависимость показателей системы от числа ветвей на заявку приведена в табл. 11.4, где, как и выше, F — средняя длительность пребывания; А — средняя длительность ожидания сборки; Тс — условное среднее запаздывание; /( — доля запоздавших заявок. Качество функционирования системы при алгоритме SPT ухуд- шается при возрастании числа ветвей на заявку. Это нетрудно понять, заметив, что в рассматриваемом случае длительность пре- бывания, грубо говоря, равна максимальной из нескольких дли- тельностей пребывания, получающихся для простой сети массо- вого обслуживания. Так как распределение длительности пребы- вания при SPT имеет большую положительную асимметрию, то максимум таких величин растет весьма быстро при увеличении их числа. Напротив, результаты, получаемые при S/OPN, растут медленнее, поскольку здесь ветви группируются по плановым срокам. То же относится и к MAXNRD-SPT и NUB-SPT, так как использование информации о состоянии системы разумным обра- зом упорядочивает ветви заявок. MAXNRD-SPT и NUB-SPT ведут себя по-разному при раз- ном числе ветвей, содержащихся в одной заявке. Для 2 и 5 ветвей MAXRD-SPT дает лучшие результаты, чем NUB-SPT, а при 10 вет- вях — наоборот. Возможно, что при увеличении числа ветвей алгоритм NUB-SPT более всего отличается от обычных алгорит- мов назначения приоритетов, и при его применении реже прихо- дится обращаться к SPT, чем при использовании MAXNRD-SPT.
ПРИЛОЖЕНИЕ А ПРЕОБРАЗОВАНИЕ ЛАПЛАСА — СТИЛТЬЕСА ФУНКЦИЙ РАСПРЕДЕЛЕНИЯ Пусть G (4) — функция распределения случайной величины Т, опреде- ленная равенством G (4) = Р (Т < t). Преобразование Лапласа — Стилтьеса этой функции есть 00 г (г) = Е (e-zT) = <ГгТ dG (4), (А. 1) о Использование интеграла Стилтьеса позволяет применять это преобразова- ние к непрерывным и дискретным функциям распределения, а также к функ- циям распределения смешанного типа. Пусть, например, G (4) имеет произ- водную g (4) везде, кроме точки х, где она имеет скачок, соответствующий ненулевой вероятности. Тогда х—О оо Т (г) = e~z,g (4) dt i- e~zx (G (x} — G (x — 0)) + e~ztg (4) dt. о X Приведем без доказательства основные свойства преобразования Лапласа — Стилтьеса функций распределения, встречающихся в этой книге. а) При 0 (или Re z^O, еслис— комплексное число} у (z) существует, т.е. у (z) конечно. Ь) Существует взаимно однозначное соответствие между функцией распределения и соответствующим преобразованием Лапласа — Стилтьеса. Иногда удается обратить преобразование и найти соответствующую функ- цию распределения, используя таблицы преобразований. с) Если Е (Т^} — k-й начальный момент случайной величины Т, то d) Если Т1 и Т\ — независимые случайные величины и Т — Тг -f- Т2, то функция распределения Т дается формулой t G(t)—P (Ti + Т2 < 4) = Gi (t — x) dGz (x), x=o a T (z) = Ti (z) Ya (z).
ПРЕОБРАЗОВАНИЕ ЛАПЛАСА — СТИЛТЬЕСА 321 Последовательно применяя эту теорему, можно показать, что преобразование Лапласа — Стилтьеса суммы п независимых одинаково распределенных слу- чайных величин, каждая из которых имеет преобразование Лапласа — Стил- тьеса у (z), равно (у (z))n. Приведенный выше интеграл называется сверткой функций Gt и G2 и часто записывается сокращенно: Gt * G.2 (f). Если распределение дискретно, т. е. вероятности сосредоточены в неот- рицательных целых точках, то удобно ввести производящую функцию II (£), полагая в (А.1) | = е~г, Тогда, если pn= Р (Т = и), то производящая функ- ция равна п К) = 2 гпРп. п=0 Отсюда получаем формулу для факториальных моментов сгП & I Е (Т (Т - 1) (Т - 2)... (Т- k + 1)) = | вероятности рп равны _ 1 dnn (О I Рп~ «1’ dC |5=о 1/г11 Р. В Конвей и др.
ПРИЛОЖЕНИЕ В РЕЗУЛЬТАТЫ МОДЕЛИРОВАНИЯ ДЛЯ СИСТЕМ n|m ВЛ. Средняя длительность прохождения Таблица В.1 Поряд- ковый номер п т Порядок прохождения машин Повто- рения Тип расписания RANDOM MOPNR MWKR- -р MWKR Р SPT MWKB LWKB LPT FCFS 12 10 4 Случайный 1 Компактное 29,0 32,0 33,0 33,0 29,9 32,4 Незадерж. 16,3 26,2 17,4 11,6 15,2 13 2 Компактное 29,1 33,7 33,8 33,8 29,7 33,4 Незадерж. 22,3 29,3 18,9 21,5 22,0 14 3 Компактное 59,2 72,0 78,6 71,6 61,6 75,4 Незадерж. 47,2 42,7 42,8 54,0 46,1 15 4 Компактное 46,2 54,8 53,4 50,0 49,0 52,7 Незадерж. 36,9 44,8 35,9 42,5 40,5 16 5 Компактное 68,5 94,5 88,8 86,1 70,4 85,6 Незадерж. 44,0 61,4 39,1 59,6 50,4 17 6 Компактное 68,2 89,2 85,4 82,5 68,7 84,0 Незадерж. 53,7 73,1 53,8 65,8 67,5 18 7 Компактное 48,4 64,9 62,5 59,2 52,2 61,7 Незадерж. 37,4 44,9 37,0 48,6 40,2 19 8 Компактное 53,5 69,0 64,9 69,0 57,9 66,6 Незадерж. 39,0 42,4 35,1 48,0 46,7 20 9 Компактное 54,7 70,4 72,2 72,2 59,8 72,6 Незадерж. 37,1 52,5 37,3 43,7 38,1 21 10 Компактное 43,2 51,7 58,0 57,5 43,1 57,6 Незадерж. 37,9 46,7 32,7 39,5 39,1 22 10 4 Случайный 11 Компактное 28,5 29,8 31,0 30,1 25,7 34,2 Незадерж. 24,1 33,2 18,7 28,9 26,1 приложения
Поряд- ковый номер п т Порядок прохождения машин Повто- рения Тип расписания 23 12 Компактное Незад ер ж. 24 13 Компактное Незадерж. 25 14 Компактное Незадерж. 26 20 4 Случайный 1 Компактное 27 2 Компактное 28 3 Компактное 29 4 Компактное 30 5 Компактное 31 6 Компактное 32 7 Компактное 33 8 Компактное 34 9 Компактное 35 10 Компактное 36 20 6 Случайный 1 Компактное 37 2 Компактное 38 3 Компактное 39 4 Компактное 40 5 Компактное 41 6 Компактное 42 7 Компактное 43 8 Компактное RANDOM MOPNR MWKR- -Р MWKR SPT MWKR LWKR LPT ECFS р 40,4 42,9 43,5 46,4 36,9 24,8 42,2 36,7 25,0 31,6 30,4 68,1 91,5 94,1 102,7 75,9 43,9 96,2 70,6 49,0 63,8 46,4 40,8 48,0 44,4 50,3 43,8 31,0 49,8 47,5 39,0 48,0 31,7 54,3 64,9 70,6 64,3 47,5 74,2 53,5 75,8 77,8 73,2 54,3 74,5 91,0 128,4 126,3 129,0 89,4 131,0 71,4 103,2 101,8 95,9 64,3 103,0 74,7 97,5 104,1 97,5 65,7 105,5 67,4 92,9 88,9 99,5 68,3 96,7 87,9 121,6 119,1 119,9 83,9 124,0 51,1 75,9 78,6 82,5 54,5 79,0 109,8 146,4 151,4 156,7 102,3 150,4 44,4 54,7 52,9 48,6 43,9 54,0 100,0 120,2 125,1 118,3 94,6 126,8 95,5 118,8 111,6 109,8 88,1 113,1 109,3 125,3 132,1 126,8 101,2 126,4 114,5 147,5 152,7 148,0 117,1 150,5 82,5 90,4 87,0 89,7 74,6 90,6 106,2 133,5 139,1 133,2 115,1 136,4 121,7 153,8 155,2 157,8 116,4 159,2 67,3 94,2 95,6 88,9 71,3 94,5 РЕЗУЛЬТАТЫ МОДЕЛИРОВАНИЯ ДЛЯ СИСТЕМ п]т
Поряд- ковый номер п тл Порядок прохождения машин Повто- рения Тип расписания 44 9 Компактное 45 10 Компактное 46 10 4 Сл.-Перест. 1 Компактное 47 2 Компактное 48 3 Компактное 49 4 Компактное 50 5 Компактное 51 6 Компактное 52 7 Компактное 53 8 Компактное 54 9 Компактное 55 10 Компактное 56 20 6 Сл.-Перест. 1 Компактное 57 2 Компактное 58 3 Компактное 59 4 Компактное 60 5 Компактное 61 6 Компактное 62 7 Компактное 63 8 Компактное 64 9 Компактное 65 10 Компактное 66 И Компактное 67 12 Компактное
Таблица В.1 (продолжение) RANDOM MOPNR MWKR- -p MWKR p SPT MWKB LWKR LPT POPS 103,7 146,7 148,1 145,2 109,3 148,2 107,4 139,5 133,8 137,7 113,4 135,5 133,2 146,2 123,5 146,5 187,0 140,1 158,0 170,9 150,5 131,7 143,4 128,9 123,2 145,8 110,2 121,4 152,0 130,7 148,0 152,4 726,3 150,7 204,6 134,7 159,8 179,8 151,3 150,1 181,7 129,4 138,3 130,9 132,0 142,0 133,2 156,0 165,2 168,4 172,8 176,5 146,5 187,8 163,1 161,5 174,8 164,9 160,9 195,3 149,6 153,6 152,0 163,7 145,2 157,4 174,4 146,0 164,7 170,5 163,8 181,9 207,8 203,7 221,8 201,3 168,2 230,0 162,0 162,0 150,5 146,0 132,7 171,7 148,3 151,8 153,5 153,4 139,4 149,1 163,8 168,2 161,9 172,0 142,2 176,7 117,3 126,0 125,9 120,3 113,3 135,9 176,0 202,0 193,3 182,3 171,7 202,4 213,3 197,2 224,9' 214,9 187,2 23i,g ПРИЛОЖЕНИЯ
Поряд- ковый иомер п ш Порядок прохождения машин Повто- рения Тип расписания RANDOM MOP NR 68 13 Компактное 180,7 189,1 69 14 Компактное 131,0 124,0 70 15 Компактное 191,7 211,2 71 16 Компактное 139,3 142,3 72 17 Компактное 162,0 179,7 73 18 Компактное 174,9 194,5 74 19 Компактное 141,9 161,6 75 20 Компактное 140,5 142,2 76 10 4 Перест. 1 Компактное Незадерж. 113,3 77 2 Компактное Незадерж. 158,1 78 3 Компактное Незадерж. 162,7 79 4 Компактное Незадерж. 138,1 80 5 Компактное Незадерж. 134,5 81 6 Компактное Незадерж. 165,7 82 7 Компактное Незадерж. 135,6 83 8 Компактное Незадерж. 139,1 84 9 Компактное Незадерж. 139,4
Таблица В.1 (продолжение) MWKR— —Р MWKR SPT mwkr LWKR LPT FCFS р 189,6 173,1 165,9 172,7 140,1 129,7 110,0 163,2 203,9 209,4 192,8 211,4 147,0 143,9 125,5 137,8 185,2 154,4 140,6 172,6 182,4 181,8 162,4 177,4 177,9 164,0 132,0 171,7 138,2 138,1 106,3 130,3 132,8 80,3 101,8 101,3 125,4 115,3 157,6 119,0 151,3 174,6 123,6 161,1 160,0 129,0 170,0 121,4 184,9 169,2 136,7 113,1 146,8 131,6 135,6 152,2 145,1 121,9 142,1 129,0 152,9 166,8 154,4 129,1 195,3 109,3 191,1 167,6 127,7 105,2 158,9 99,5 155,0 159,6 137,1 102,4 167,3 138,4 103,3 127,6 138,4 118,9 167,5 120,6 176,2 159,9 РЕЗУЛЬТАТЫ МОДЕЛИРОВАНИЯ ДЛЯ СИСТЕМ n|m
Таблица В.1 (продолжение) Поряд- ковый номер п m Порядок прохождения машин Повто- рения Тип расписания 85 10 Компактное Незадерж. 86 10 4 Перест. 11 Компактное Незадерж. 87 12 Компактное Незадерж. 88 13 Компактное Незадерж. 89 14 Компактное Незадерж. 90 15 Компактное Незадерж. 91 16 Компактное Незадерж. 92 17 Компактное Незадерж. 93 18 Компактное Незадерж. 94 19 Компактное Незадерж. 95 20 Компактное Незадерж. RANDOM MOPNR MWKR— —Р MWKR SPT MWKR LWKR LPT FGFS Р 116,9 132,2 97,0 162,4 134,3 102,8 151,9 124,3 141,6 140,4 156,0 170,9 129,0 178,0 168,6 160,9 127,5 156,6 189,8 135,4 182,6 172,5 151,7 132,1 103,8 170,6 159,8 172,2 170,8 101,8 98,2 155,4 120,6 103,1 129,1 122,7 174,1 137,3 130,3 189,2 120,5 179,8 170,9 127,7 113,0 148,6 158,8 111,9 158,5 127,1 148,2 112,6 167,3 158,5 120,4 164,5 160,2 145,3 113,0 123,4 169,1 126,8 169,6 170,1 174,1 121,7 101,6 176,7 125,6 171,2 146,8 97,1 1 96,9 130,9 85,8 136,9 110,0 приложения
В.2. Максимальная длительность прохождения Табл и па В.2 Поряд- ковый номер п т Порядок прохождения машин Повто- рения Тип расписания RANDOM MOPNR MWKR-P MWKR/P SPT MWKR LWKR LPT FCFS 12 10 4 Случайный 1 Компактное Незадерж. 67 52 52 54 66 52 52 52 59 58 60 2 Компактное 92 63 63 63 83 63 10 Незадерж. 80 70 80 75 75 з Компактное 118 96 94 104 118 93 122 123 14 Незадерж. ИЗ 98 125 4 Компактное 88 92 76 81 103 77 10 Незадерж. 84 78 91 81 79 4 в. 5 Компактное 156 136 136 736 199 136 192 173 10 Незадерж. 186 167 186 4 7 6 Компактное 155 107 106 111 155 101 ИЗ 109 11 Незадерж. 111 99 115 4 R 7 Компактное 116 86 92 94 123 92 116 120 1о Незадерж. 118 773 119 4 Q 8 Компактное 190 117 ПО 124 180 115 150 140 1J Незадерж. 158 109 141 90 9 Компактное 119 770 110 770 123 110 134 135 120 Незадерж. 87 116 107 21 10 Компактное 97 81 81 91 78 Незадерж. 89 83 103 93 100 99 11 Компактное 53 53 53 53 54 53 Незадерж. 53 53 64 58 53 23 10 4 Случайный 12 Компактное Незадерж. 78 62 62 66 88 88 62 61 81 74 79 РЕЗУЛЬТАТЫ МОДЕЛИРОВАНИЯ ДЛЯ СИСТЕМ п\т
Таблица В.2 (продолжение. Поряд- ковый номер п т Порядок прохождения машин Повто- рения Тип расписания RANDOM MOPNR MWKR—Р MWKR/P SPT MWKR LWKR LPT FCFS 24 13 Компактное Незадерж. 190 138 122 129 154 118 124 111 172 138 128 25 14 Компактное Незадерж. 81 78 77 81 88 73 77 73 91 80 78 26 20 4 Случайный 1 2 Компактное Компактное 120 136 НО 113 110 115 111 116 128 126 НО 109 27 3 Компактное 185 162 163 170 173 163 28 4 Компактное 162 132 132 128 170 129 29 5 Компактное 164 139 139 143 205 13b 30 6 Компактное 156 127 126 126 132 124 31 7 Компактное 225 167 168 169 202 167 32 33 8 Компактное 145 111 ИЗ 117 132 ИЗ 9 Компактное 252 196 198 213 230 201 04 10 Компактное 102 86 84 78 97 79 35 36 20 6 Случайный 1 2 Компактное Компактное 192 184 177 149 178 146 182 147 22Q 208 184 144 37 38 39 3 Компактное 226 176 185 188 248 174 4 Компактное 216 186 185 198 261 186 5 Компактное 267 151 155 157 199 142 40 6 Компактное 237 187 191 191 249 186 42 7 8 Компактное Компактное 247 168 187 121 187 116 193 125 238 146 194 119 44 9 10 Компактное Компактное 249 250 181 185 187 177 185 188 284 245 187 178 222 279 46 47 48 10 4 Сл.-Перест. 1 2 Компактное Компактное 206 253 164 219 3 Компактное 219 205 263 ПРИЛОЖЕНИЯ
2 Р. В. Конвей и др. Поряд- ковый номер п т Порядок прохождения машин Повто- рения Тип расписания 49 4 Компактное 50 5 Компактное 51 6 Компактной 52 7 Компактное 53 8 Компактное 54 9 Компактное 55 10 Компактное 56 20 6 Сл.-Перест. 1 Компактное 57 2 Компактное 58 3 Компактное 59 4 Компактное 60 5 Компактное 61 6 Компактное 62 7 Компактное 63 8 Компактное 64 9 Компактное 65 10 Компактное 66 11 Компактное 67 12 Компактное 68 13 Компактное 69 14 Компактное 70 15 Компактное 71 16 Компактное 72 17 Компактное 73 18 Компактное 74 19 Компактное 75 20 Компактное
Таблица [В.2 (продолжение) RANDOM MOPNR MWKR-P MWKR/P SPT MWKR LWKR LPT FCFS 247 164 273 248 195 229 170 214 193 225 191 234 193 222 373 243 333 300 210 263 258 248 239 199 218 183 233 206 249 219 204 205 217 253 219 247 214 229 231 280 241 247 189 177 186 305 180 253 242 253 248 270 247 339 259 258 264 352 292 228 207 194 198 299 200 225 162 177 172 210 167 251 198 195 233 259 201 197 163 168 167 245 171 254 235 235 246 327 241 310 279 315 287 334 298 310 251 271 247 292 236 226 214 236 220 214 225 324 255 251 268 277 251 219 178 182 175 255 165 298 219 212 231 331 194 223 227 204 241 266 196 209 201 212 218 278 205 189 165 169 187 194 154 РЕЗУЛЬТАТЫ МОДЕЛИРОВАНИЯ ДЛЯ СИСТЕМ п)т 329
Поряд- ковый номер п т Порядок прохождения машин Повто- рения Тип расписания 76 10 4 Перест. 1 Компактное Незадерж. 77 2 Компактное Незадерж. 78 3 Компактное Незадерж. 79 4 Компактное Незадерж. 80 5 Компактное Незадерж. 81 6 Компактное Незадерж. 82 7 Компактное Незадерж. 83 8 Компактное Незадерж. 84 9 Компактное Незадерж. 85 10 Компактное Незадерж. 86 11 Компактное Незадерж. 87 10 4 Перест. 12 Компактное Незадерж.
Таблица В.2 (продолжение) RAN DOM MOPNR MWKR-—Р MWKR/P SPT MWKR LWKR LPT FCFS 189 198 161 168 219 238 162 254 223 228 231 226 255 238 280 270 251 251 270 274 251 218 203 183 168 234 233 187 206 177 203 196 204 258 228 266 291 254 241 265 277 271 195 193 207 202 229 214 202 216 178 167 172 232 204 177 225 225 225 225 239 236 225 192 170 204 178 207 216 170 264 245 262 241 269 267 264 223 236 223 248 225 241 237 ПРИЛОЖЕНИЯ
Таблица В.2 (продолжение) Поряд- ковый номер п tn Порядок прохождения машин Повто- рения Тип расписания RANDOM MOPNR MWKR-P MWKR/P SPT MWKR LWKR LPT FCFS 88 13 К омпактное Незадерж. 238 206 214 214 275 251 214 89 14 Компактное Незадерж. 145 135 148 139 158 182 132 90 15 Компактное Незадерж. 310 257 241 268 267 293 290 91 16 Компактное Незадерж. т 171 186 199 213 199 197 92 17 Компактное Незадерж. 227 209 221 202 310 240 221 93 18 Компактное Незадерж. 230 217 231 226 272 230 216 94 19 Компактное Незадерж. 287 235 232 235 255 254 244 95 i 20 Компактное Незадерж. 194 171 144 150 188 181 167 РЕЗУЛЬТАТЫ МОДЕЛИРОВАНИЯ ДЛЯ СИСТЕМ n|m
В.З. Среднее время окончательного освобождения машин Таблица В.З Поряд- ковый номер п т Порядок прохождения машин Повто рения Тип расписания RANDOM MOPNR MWKR-P MWKR/P SPT MWKR LWKR SLPT FCFS 12 10 4 Случайный 1 Компактное 53,8 42,0 41,8 41,5 53,5 41,5 Незадерж. 43,3 13 2 Компактное 78,5 55,0 54,3 54,3 69,5 54,3 Незадерж. 57,8 14 3 Компактное 109,0 93,3 91,3 94,8 111,3 87,8 Незадерж. 88,0 15 4 Компактное Незадерж. 74,5 79,0 72,3 71,3 83,5 74,0 72,3 16 5 Компактное 149,5 132,0 129,5 129,5 192,5 129,5 Незадерж. 160,5 17 6 Компактное 145,3 100,3 100,3 100,5 145,3 97,3 Незадерж. 91,0 18 7 Компактное 108,8 78,8 82,0 88,8 113,8 83,0 Незадерж. 103,8 19 8 Компактное 174,3 115,0 108,0 119,5 167,0 110,5 Незадерж. 114,5 20 9 Компактное 105,0 96,5 96,8 98,0 110,5 99,5 Незадерж. 96,3 21 10 Компактное 82,0 72,8 72,5 78,8 77,3 71,0 Незадерж. 69,0 22 И Компактное Незадерж. 36,5 35,0 35,7 33,0 37,8 45,8 38,8 ПРИЛОЖЕНИЯ
Таблица В.З (продолжение) Поряд- ковый номер п т Порядок прохождения машин Повто- рения Тип расписания RANDOM MOPNR MWKR—Р MWKR/P SPT MWKR LWKR LPT FCFS 23 12 Компактное 59,8 53,5 53,5 58,0 72,8 54,0 Незадерж. 56,5 24 13 Компактное 181,3 120,5 117,5 122,8 135,3 119,3 Незадерж. 107,8 25 14 Компактное 77,8 56,3 59,8 59,0 71,8 64,8 Незадерж. 62,3 26 20 4 Случайный 1 Компактное 115,8 81,3 78,5 80,5 114,3 88,5 27 2 Компактное 127,3 95,3 97,3 97,5 116,3 97,3 28 3 Компактное 174,8 145,0 141,3 153,0 163,5 149,8 29 4 Компактное 149,0 119,3 119,3 115,8 152,5 117,0 30 5 Компактное 153,5 127,8 129,0 131,5 190,8 127,8 31 6 Компактное 143,8 119,3 116,3 118,8 129,3 111,5 32 7 Компактное 205,5 142,8 146,5 151,0 196,3 139,5 33 8 Компактное 126,8 104,0 102,8 107,5 117,8 107,8 34 9 Компактное 240,0 167,3 172,8 182,8 219,5 175,0 35 10 Компактное 89,3 75,0 70,3 68,5 86,5 70,0 36 20 6 Случайный 1 Компактное 179,3 156,2 157,7 156,2 191,5 170,3 37 2 Компактное 169,2 141,5 137,5 137,3 175,8 135,8 38 3 Компактное 215,0 151,7 163,8 166,2 227,5 154,0 39 4 Компактное 200,7 160,7 162,5 181,8 240,8 167,8 40 5 Компактное 248,0 132,7 128,7 133,5 177,2 125,3 41 6 Компактное 222,5 176,7 183,0 184,3 231,8 181,2 42 7 Компактное 224,7 165,3 163,2 172,5 212,5 172,0 43 8 Компактное 140,8 107,3 102,7 104,7 133,3 109,2 44 9 Компактное 228,3 165,0 165,7 169,8 254,3 170,7 45 10 Компактное 216,0 168,2 161,5 174,2 217,7 159,0 РЕЗУЛЬТАТЫ МОДЕЛИРОВАНИЯ ДЛЯ СИСТЕМ n|m
334 ПРИЛОЖЕНИЯ ПРИЛОЖЕНИЕ С РЕЗУЛЬТАТЫ МОДЕЛИРОВАНИЯ ДЛЯ СИСТЕМ ОБСЛУЖИВАНИЯ С.1. Список обозначении, используемых при описании алгоритмов назначения приоритетов t — момент выбора этапа на обслуживание; i — индекс заявки, находящейся в системе; / — индекс этапа обслуживания заявки, находящейся в системе; J — конкретное значение /; номер очередного этапа для заявки, стоящей в очереди; gi — общее число этапов г-й заявки; 1 / -^ gi', Rtf — момент, когда становится возможным начало обслуживания /-го этапа г-й заявки, т. е. момент завершения (/ — 1)-го ее этапа; Яц = = г; —момент поступления заявки в сеть; di — плановый срок г’-й заявки; рц — длительность обслуживания /-го этапа г-й заявки; рЛ — априорная оценка pj; Хц — реализация случайной величины, распределенной равномерно между О и 1 и приписанной /~му этапу г-й заявки; Fij (?) — общий объем работы в момент t в очереди, содержащей /-Й этап г-й заявки (общий объем работы равен сумме длительностей очеред- ных этапов заявок, стоящих в данной очереди); Уу (?) — общий объем работы (в момент ?), включающий длительности этапов, которые вскоре поступят в очередь, содержащую /-Й этап г-й заявки (считается, что заявка поступит вскоре, если в момент t обслужи- вается ее этап, предшествующий этапу, обслуживаемому на том же приборе, что и /-й этап г-й заявки); Z| (?) — приоритет заявки г в момент ?. С.2. Алгоритмы назначения приоритетов Таблица С.1 Обозначение Определение Описание Z/0 = Выбирается заявка, RANDOM Хи имеющая наименьшее значение приоритета, назначенного слу- чайно в момент поступления в очередь FCFS поступившая в очередь раньше остальных; первым пришел — первым обслужен (first соте— first served)
МОДЕЛИРОВАНИЕ СИСТЕМ ОБСЛУЖИВАНИЯ 335 Таблица С.1 (продолжение) Обозначение Определение Описание Z/t) = Выбирается заявка, F/VSFS Гг поступившая в систему раньше остальных заявок (first arrival at shop, first served) SPT PiJ имеющая минимальную d iu- телыюстъ (shortest processing time) LPT ~PiJ имеющая максимальную дли- тельность (longest processing time) LWKR Si 2 Pij 3=J имеющая минимальную остав- шуюся длительность обслужи- вания (least work remaining) MWKR — У Pij j=J имеющая максимальную остав- шуюся длительность обслужи- вания (most work remaining) FOPNR имеющая минимальное число необслуженных этапов (fewest operations remaining) TWORK Si 3 ph j=l имеющая минималъную суммар ную длительность всех (в том числе обслуженных) этапов (total work) WINQ Yi, J+i w которая после завершения эта- па поступит в очередь, содер- жащую в данный момент ми- нимальный объем работы XWINQ Yi,j±i w которая после завершения эта- па поступит в очередь с наи- меньшим объемом работы, как уже имеющейся, так и ожи- даемой
336 ПРИЛОЖЕНИЯ Таблица С.1 (продолжение) Обозначение Определение Описание Z4(t) = Выбирается заявка, SPT (WKR)U Aj / ( 3 Pij) для которой минимально отно- шение длительности обслужи- вания этапа к некоторой сте- пени суммарной оставшейся длительности ее этапов SPT TWORK Pi) 1 3 Pij для которой минимально отно- шение длительности очередного этапа к общей длительности (u) SPT + + (1 — h)WINQ uPlJ + (1 — “) К(t) для которой минимальна взве- шенная сумма длительности обслуживания этапа и объема работы в следующей очереди (h) SPT + + (!-“) XWINQ uPiJ + (1 ~~ “) для которой минимальна взве- шенная сумма длительности этапа и общего объема работы, уже имеющейся и ожидаемой в следующей очереди SPT | Trunc (u) Pij ПРИ (г — Ли) < u > в остальных случаях ожидающая к моменту t время, большее и (по алгоритму FCFS); если таких заявок нет, то вы- бирается заявка с минималь- ной длительностью обслужи- вания FCFS (и) | SPT при Nu (<) < и в противном случае первой поступившая в очередь, если последняя короче и, и за- явка с минимальной длитель- ностью, если длина очереди превосходит границу, равную и 2-Class SPT (u) ptJ при к < и, (pir + Ю,0) гфи /с > и, где к — последняя цифра в десятичной записи номера заявки i имеющая минимальную дли- тельность этапа среди 1-заявок; если 1-заявки отсутствуют, то выбирается заявка с кратчай- шим этапом среди остальных (у. е. 2-заявок)
МОДЕЛИРОВАНИЕ СИСТЕМ ОБСЛУЖИВАНИЯ 337 Таблица С.1 (продолжение) Обозначение Определение Описание Выбирается заявка, Est.-SPT (и) PiJ = =Pij(l+0t002“(-^ij—0»5)) имеющая минимальную оценку длительности очередного этапа (процент ошибки равномерно распределен между +и и —и) 2-Class (р) Zj(t) = 0 или 1, P(Zi(t) = 0 | PjJ<M)=P, P(Zi(t)=O 1 = = l-p поступившая первой среди ко- ротких заявок; если короткие отсутствуют в очереди, то вы- бирается длинная заявка, по- ступившая в очередь первой (вероятность того, что заявка правильно отнесена к катего- рии коротких или длинных, равна р); М равно средней длительности этапа DDATE di имеющая минимальный плано- вый срок (due-date) OPNDD Гг+ (di —n)(//gi) которая имеет минимальный плановый срок для очередного этапа (operation due-date); до- пустимая длительность пребы- вания делится поровну между этапами SLACK di—t— ^piJ i=J имеющая минимальный остав- шийся временной резерв (slack- time) S/OPN Si Pij fa°J gi — J + 1 для которой минимально отно- шение временного разерва к числу оставшихся этапов (и) SPT + + (1 — u) S/OPN uPij + di — t~ J. Pjj + (! — “) T^T- V ' gi — J+i для которой минимальна взве- шенная сумма длительности этапа и временного резерва на этот этап
338 ПРИЛОЖЕНИЯ С.З. Результаты моделирования для различных алгоритмов назначения приоритетов в симметричной сети, состоящей из девяти приборов*) Таблица С.2 Объем работы в системе (1-й поток заявок, выборочный коэффициент использования 88,4%, 26 периодов измерений, общее число заявок — около 9360) Алгоритм Среднее число заявок в очере- ди JVg Дисперсия сред- них значений (числа заявок в очереди) по периодам Средний объем работы в систе- ме р Средний объем оставшейся ра- боты в систе- ме рг Средняя дли- тельность оче- редных этапов р? RANDOM 59,42 373 1080 554 58,39 FCFS 58,87 336 1078 559 58,29 SPT 23,25 41 545 297 62,54 LPT 167,44 1022 2709 1369 59,08 LWKR 47,52 85 989 51,81 MWKR 109,97 3178 276 69,07 FOPNR 52,23 96 1019 51,83 TWORK 82,91 1445 587 323 65,16 WINQ 40,43 170 801 421 39,16 XWINQ 34,03 105 709 379 41,26 SPT 23,48 42 539 290 63,80 WKR0'05 SPT 29,63 94 540 235 70,58 WKR >5» SPT 24,85 55 524 260 65,95 WKRo>« SPT 37,99 195 597 224 73,77 WKRU-75 SPT 62,94 879 220 73,79 WKR SPT 83,23 1979 941 222 74,21 WK RM SPT 90,59 2226 1010 229 72,95 WKR2,0 SPT 42,39 2999 435 244 68,60 TWORK 0,5(SPT) + 0,5(WINQ) 30,14 103 649 346 43,35 0,9(SPT) +0,l(WINQ) 23,76 49 552 303 55,22 *) Взято из отчета RAND [32].
МОДЕЛИРОВАНИЕ СИСТЕМ ОБСЛУЖИВАНИЯ 339 Таблица С.2 (продолжение) Алгоритм Среднее число заявок в очере- ди JVg Дисперсия сред- них значений (числа заявок в очереди) по периодам Средний объем работы в систе- ме р Средний объем оставшейся ра- боты в систе- ме рг Средняя дли- тельность оче- редных этапов Pg 0,95 (SPT) + 0,05 (WINQ) 23,00 42 545 299 58,49 0,97 (SPT) +0,03 (WINQ) 22,83 40 539 294 59,98 0,94 (SPT) 4- 0,06 (XWINQ) 23,26 46 552 303 57,89 0,96 (SPT) + 0,04 (XWINQ) 22,67 39 536 293 58,40 0,98 (SPT) + 0,02( XWINQ) 22,74 38 541 295 59,96 SPT | Trunc (4) 55,67 408 534 57,77 SPT | Trunc (8) 53,50 310 520 60,32 SPT | Trunc (16) 44,20 334 863 452 60,54 SPT | Trunc (32) 32,85 197 664 368 61,36 FCFS (5) | SPT 29,49 52 342 61,59 FCFS (9) | SPT 38,67 90 407 59,08 2-Class SPT (0,1) 24,46 45 561 306 62,32 2-Class SPT (0,3) 27,29 52 602 326 62,09 2-Class SPT (0,5) 31,17 71 652 352 62,12 2-Class SPT (0,7) 34,57 103 696 375 59,74 2-Class SPT (0,9) 36,11 148 705 384 59,92 Est.-SPT (10) 23,23 41 546 297 62,50 Est.-SPT (100) 27,13 60 606 327 62,40 2-Class (1,00) 35,29 147 725 385 60,95 2-Class (0 75) i 44,99 216 873 458 58,98 Таблица С.З Временное емещение относительно планового срока (1-й поток заявок, выборочный коэффициент использования 88,4%; 2-й поток заявок, выборочный коэффициент использования 90,4%; 3-й поток заявок, выборочный коэффициент использования 91,9%. Объем выборки 8700 заявок; средняи допустимая длительность ожидания заявки равна восьми длительностям обслуживания) Алгоритм Поток Метод на- значения плановых сроков Длительность пребывания Временнбе смещение Доля за- поздавших заявок Среднее Ё Диспер- сия Среднее L Диспер- сия RANDOM 1 TWK 74,7 10822 —4,2 6914 0,3075 FCFS 1 TWK 74,4 5739 —4,5 1686 0,4479 FCFS 1 NOP 74,4 5739 —3,9 1126 0,3993 FCFS 1 CON 74,4 5739 -4,4 5739 0,3376
340 ПРИЛОЖЕНИЯ Таблица С.З (продолжение) Алгоритм Поток Метод на- значения плановых сроков Длительность пребывания Временное смещение Доля за- поздавших заявок ff Среднее F Диспер- сия Среднее L Диспер- сия FCFS 1 RDM 74,4 5739 -4,9 7729 0,4121 FCFS 2 TWK 90,6 8165 11,27 2122 0,5767 FCFS 3 TWK 112,9 13259 31,39 4543 0,6733 FASFS 1 TWK 72,5 1565 —6,4 3359 0,5286 DDATE 1 TWK 63,7 6780 —15,5 432 0,1775 DDATE 1 NOP 70,6 6838 —7,7 529 0,2669 DDATE 1 CON 72,5 1565 —6,3 1565 0,4390 DDATE 1 RDM 72,9 2903 —6,4 2101 0,4878 OPNDD 1 TWK 69,0 28820 -9,9 14560 0,1036 SLACK i TWK 65,8 6524 —13,1 433 0,2202 S/OPN 1 TWK 66,1 5460 -12,8 226 0,0371 S/OPN 1 NOP 72,9 5548 -5,4 226 0,2159 S/OPN 1 CON 73,7 1118 -5,1 1118 0,4808 S/OPN 1 RDM 74,0 2590 —5,3 1718 0,5256 S/OPN 2 TWK 76,2 6274 —3,1 205 0,3093 S/OPN 3 TWK 93,5 9238 11,9 1029 0,5475 0,3(SPT)4- +0,7(S/OPN) i TWK 67,7 5127 -17,3 368 0,0182 0,5(SPT)+ +0,5(S/OPN) 1 TWK 57,6 4758 -21,3 518 0,0152 0,75(SPT)+ +0,25(S/OPN) i TWK 52,2 4291 —26,7 696 0,0198 SPT 1 TWK 34,0 2318 -44,9 2878 0,0502 SPT 1 NOP 34,0 2318 —44,3 2930 0,0617 SPT 1 CON 34,0 2318 -44,8 2318 0,1100 SPT 1 RDM 34,0 2318 -45,3 4416 0,1984 SPT 2 TWK 39,8 5124 —39,6 4649 0,0609 SPT 3 TWK 46,3 13839 —35,3 12187 0,0726
МОДЕЛИРОВАНИЕ_СИСТЕМ ОБСЛУЖИВАНИЯ 341 С.4. Результаты моделирования для алгоритмов назначения приоритетов е учетом состояния системы и плановых сроков Таблица С.4 Результаты для простой симметричной сети, состоящей из восьми приборов, со случайным порядком их прохождения (Объем выборки 6000 заявок, выборочный коэффициент использования 86%; метод назначения плановых сроков — TWK; допустимая длительность ожидания заявки равна четырем длительностям обслуживания) *) Алгоритм Среднее запаз- дывание Т Доля запоздав- ших заявок ft Условное сред- нее запаздыза- ние 1 Среднее времен- ное смещение Ь Станд- откл. вре- менного смеще- ния Средняя дли- тельность пре- бывания F Станд. откл. длительности । пребывания Простые алгоритмы SPT 12,1 0,108 112,1 —49,0 106 107,8 147 S/OPN 24,0 0,543 44,2 11,8 62,2 168,6 183 DDATE 35,2 0,498 70,7 18,2 72,5 175,0 199 FASFS 59,1 0,629 94,0 29,6 115 186,4 117 Составные алгоритмы b г h ООО 21,9 0,422 51,9 —1,2 60,5 155,6 160 5 0 0 11,1 0,266 41,8 —22,3 55,4 134,5 152 10 0 0 6,73 0,183 36,8 —34,2 55,0 122,6 147 15 0 0 6,52 0,152 42,8 —38,7 58,7 118,0 145 20 0 0 6,62 0,133 49,9 —41,8 62,1 115,0 143 0,0750 1 0 11,8 0,296 40,0 —17,6 53,2 139,2 154 0,1125 1 0 9,32 0,249 37,4 —23,2 52,0 133,6 153 0,1500 1 0 6,95 0,191 36,5 —29,5 51,3 127,3 150 0,2250 1 0 6,47 0,149 43,4 —34,0 54,0 122,8 150 0,3000 1 0 6,11 0,118 51,9 —37,3 56,2 119,5 148 0,3375 1 0 6,72 0,124 54,3 —37,4 58,4 119,4 149 0,3750 1 0 7,08 0,119 59,4 —38,3 60,6 118,5 149 0,4500 1 0 7,25 0,112 65,0 —39,5 62,8 117,3 148 0,3000 1 80 5,81 0,117 49,8 —38,8 56,4 118,0 147 0,3000 1 160 5,43 0,120 45,3 —39,4 56,3 117,4 145 0,3000 1 240 5,61 0,128 43,8 —39,2 57,1 117,6 146 0,1500 1 80 6,55 0,184 35,7 —31,8 52,1 124,9 149 0,1500 1 160 6,39 0,187 34,3 —32,3 52,4 124,5 148 •) Взято из [36] или [158].
342 ПРИЛОЖЕНИЯ С.5. Неоднозначность выбора прибора в симметричной сети массового обслуживания Таблица С.5 Результаты *) для сети, состоящей из девяти приборов, со случайным порядком их прохождения (объем выборки 8880 заявок, выборочный коэффициент использования 91,2%) Число альтер- натив при выборе прибора (К — 1) Алгоритм Среднее суммар- ное число заявок в очередях N Средняя длительность пребывания F Частота выбора неосновного прибора (в %) 0 FCFS 81,77 97,41 0 0,5 FCFS 28,23 39,47 21,0 1 FCFS 19,72 30,25 38,7 2 FCFS 13,97 24,05 48,5 3 FCFS 11,77 21,67 53,7 8 FCFS 9,54 19,24 63,2 0 SPT 29,78 41,14 0 0,5 SPT 16,96 27,26 18,5 1 SPT 13,88 23,93 35,0 2 SPT 11,42 21,28 46,0 3 SPT 10,50 20,28 52,1 8 SPT 9,05 18,71 63,0 •) Заимствовано из [198]. С.6. Неоднозначность порядка обслуживания этапов в симметричной сети массового обслуживания Таблица С.6 Результаты *) для сети, состоящей из девяти приборов, со случайным порядком их прохождения (объем выборки 8880 заявок, выборочный коэффициент использования 91,2%) Характеристика неоднозначности порядка обслу- живания этапов Алгоритм Объем выборки Среднее суммар- ное число заявок во всех очередях Средняя длительность пребывания F Фактическая частота аль- тернативного выбора (в %) 0,1743 FCFS 8880 81,77 97,41 0 0,1743 FCFS 4440 82,7 98,6 0 0,1984 FCFS 4440 68,48 84,06 11,0 0,2502 FCFS 4440 53,53 67,26 23,9 1,0000 FCFS 8880 20,99 31,72 61,4 1,0000 FCFS 4440 22,3 33,2 0,1743 SPT 8880 29,78 41,14 0 0,1743 SPT 4440 30,1 41,8 0 0,1823 SPT 4440 28,91 40,24 4,9 0,1984 SPT 4440 28,28 39,46 10,4 0,2502 SPT 4440 26,52 37,56 22,8 0,3731 SPT 4440 23,83 34,64 38,1 1,0000 SPT 8880 15,31 25,28 60,3 1,0000 SPT 4440 16,4 27,0 *) Заимствовано из [148].
С.7. Назначение приоритетов в системе типа сборочной линии Таблица С.7 Результаты *) моделирования при различных алгоритмах (объем выборки 9000 ветвей, выборочный коэффициент использования 90%, коэффициент, используемый при назначении планового срока, равен 8,839) Алгоритм Число ветвей заявки Средняя длительность пребывания F Средняя длительность завершения ветви В Средняя длительность ожидания сборки А Дисперсия длительности пребывания Дисперсия временнб- го смеще- ния Условное среднее запаздыва- ние тс Доля за- поздавших заявок ft Общее число имитиро- ванных заявок FCFS 2 149,28 100,71 48,57 14750 5527 64,46 0,5789 4495 SPT 2 73,80 45,01 28,79 11808 11132 139,65 0,1109 4490 FASFS 2 12Ь,13 98,66 22,47 2623 5787 50,66 0,5162 4500 DDATE 2 116,91 95,59 21,02 11031 2034 40,71 0,3446 4500 SLACK 2 114,40 96,11 18,29 9867 1745 35,79 0,3324 4500 S/OPN 2 108,09 95,34 12,75 ' 7123 796 12,55 0,0993 4500 NOB 2 154,13 150,18 3,95 29262 31380 168,28 0,4265 4431 MAXRWD-NR 2 156,58 95,10 61,48 39902 31791 186,16 0,3605 4435 MAXNRD-NR 2 202,63 141,78 60,85 48077 50592 216,29 0,5172 4356 MAXNRD-SPT 2 69,67 62,67 7,00 9310 9048 127,63 0,0957 4495 NUB-SPT 2 72,31 61,99 10,32 8844 8370 92,82 0,1150 4494 SPT 5 112,01 41,41 70,60 13417 14009 129,90 0,1438 1773 FASFS 5 122,12 83,78 18,25 1825 6233 33,39 0,2167 1800 S/OPN 5 135,43 102,12 33,31 6939 2577 4,35 0,0044 1800 MAXNRD-SPT 5 91,22 74,85 16,37 7338 8819 108,14 0,0776 1791 NUB-SPT 5 96,86 69,38 27,48 5710 7659 73,99 0,0968 1796 SPT 10 264,36 66,10 198,26 67142 67142 279,43 0,3761 880 FASFS 10 171,69 117,27 54,42 4903 9218 58,14 0,2622 900 S/OPN 10 198,27 158,78 39,49 9138 4176 51,15 0,1193 900 MAXNRD-SPT 10 164,47 137,01 27,46 22692 22680 182,37 0,1128 897 NUB-SPT 10 144,90 102,62 42,28 12922 15193 129,60 0,1479 899 *) Взято из отчета RAND [130]. g МОДЕЛИРОВАНИЕ СИСТЕМ ОБСЛУЖИВАНИЯ
ЛИТЕРАТУРА 1. S. S. А с к е г m a n, Even — Flow, A Scheduling Method for Reducing Lateness in Job Shops, Management Technology 3, № 1 (1963). 2. M. A. A c z e 1, The Effect of Introducing Priorities, Operations Re- search 8, № 5 (1960). 3. S. В. A к e r s, Jr., A Graphical Approach to Production Scheduling Problems, Operations Research 4, № 2 (1956). 4. S. В. А к e r s, Jr., and J. Friedman, A Non — Numerical Approach to Production Scheduling Problems, Operations Research 3, № 4 (1955). 5. B. Avi-Itzhak, Preemptive Repeat Priority Queues as a Spe- cial Case of the Multipurpose Server Problem — I and II, Operations Research 11, № 4 (1963). 6. B. Avi-Itzhak, A Sequence of Serivice Stations with Arbitrary Input and Regular Service Times, Management Science 11, № 5 (1965). 7. B. A v i - 11 z h a k, W. L. Maxwell and L. W. M i 1 1 e r, Queuing with Alternating Priorities, Operations Research 13, № 2 (1965). 8. B. Avi-Itzhak and P. N a о r, Some Queuing Problems with the Service Station Subject to Breakdown, Operations Research 11, № 3 (1963). 9. B. Avi-Itzhak and M. Y a d i n, A Sequence of Two Servers with No Intermediate Queue, Management Science 11, № 5 (1965). 10. С. T. В а к e г and В. P. Dzielinski, Simulation of a Simpli- fied Job Shop, Management Science 6, № 3 (1960). 11. С. T. В а к e г, В. P. D z i e 1 i n s к i and A. S. M a n n e, Simu- lation Tests of Lot Size Programming, Management Science 9, № 2 (1963). 12. W. В а к к e r, De Levertijd in Machinefabriken, thesis, Technische Hogeschool at Delft, Holland, 1965. 13. A. N. В a к h r u and M. R. R a o, An Experimental Investigation of Job — Shop Scheduling research report, Department of Industrial Engine- ering, Cornell University, 1964. 14. В. P. В a n e r j e e, Single Facility Sequencing with Random Execu- tion Times, Operations Research 13, № 3 (1965). 15. L. L. В а г a c h e t, Graphic Solution of the Traveling Salesman Problem, Operations Researches, № 6 (1957). 16. E. W. В ar an k’i n, The Scheduling Problem as an Algebraic Generalization of Ordinary Linear Programming, UCLA Discussion Paper, № 9, 28, 1952. 17. *1. Y/Barry, A Priority Queuing Problem, Operations Research 4, № 3 (1956). 18. R. Bellman, Some Mathematical Aspects of Scheduling Theory, J. Soc. Ind. and Appl. Math. 4, № 3 (1956). 19. R. В e 1 1 m a n, Dynamic Programming Treatment of the Travelling Sales man Problem, J. Assn, for Computing Machinery 9, № 1 (1962). 20. D. H. Bessel, List Processing FORTRAN, master’s thesis, Cornell University, 1964.
ЛИТЕРАТУРА 345 21. Е. Н. Во wma n, The Schedule — Sequencing Problem, Operations Research 7, № 5 (1959). 22. G. H. Brooks and C. R. W h i t e, An Algorithm for Finding Optimal or Near — Optimal Solutions to the Production Scheduling Problem, J. Ind. Eng. 16, № 1 (1965). 23. P. J. В u г к e, Equilibrium Dealy Distribution for One Channel with Constant Holding Time, Poisson Input, and Random Service, Bell System Technical Journal 38, № 4 (1959). 24. P. J. В u г к e, The Output of Queuing Systems, Operations Research 4, № 6 (1956). 25. D. С. С а г г о 11, Heuristic Sequencing of Single and Multiple Com- ponent Jobs, Ph. D. thesis MIT, 1965. 26. A. Charnes and W.W. Cooper, A Network Interpretation and a Directed Sub — Dual Algorithm for Critical — Path Scheduling, J. Ind. Eng. 13, № 4 (1962). 27. W. С 1 a r k, The Gantt Chart (3rd edition), London, Pitman and Sons, 1952. 28. А. С о b h a m, Priority Assignment in Waiting Line Problems, Opera- tions Research 2, № 1 (1954). 29. R. W. С о n w a y, Some Tactical Problems in Digital Simulation, Management Science 10, № 1 (1963). 30. R. W. Conway, Priority Dispatching and Work — in — Process Inventory in a Job Shop, J. Ind. Eng. 16, № 2 (1965). 31. R. W. Conway, Priority Dispatching and Job Lateness in a Job Shop, J. Ind. Eng. 16, № 4 (1965). 32. R. W. С о n w a y, An Experimental Investigation of Priority Assign- ment in a Job Shop, RAND Corporation Memorandum RM-3789-PR, 1964. 33. R. W. С о n w a у and W. L. M a x w e 1 1, Network Dispatching by the Shortest Operation Discipline, Operations Research 10, № 1 (1962). 34. R. W. С о n w а у, В. M. Johnson and W. L. M a x w e 1 1, An Experimental Investigation of Priority Dispatching, J. Ind. Eng. 11, № 3 (1960). 35. R. W. С о n w a y, W. L. M a x w e 11, J. D e 1 f a u s s e and W. W a 1 к e r, CLP — The Cornell List Processor, Communications of the ACM 8, № 4 (1965). 36. R. W. С о n w a y, W. L. M a x w e 11 and J. W. О 1 d z i e y, Sequencing Against Due — Dates, Proceedings of IFORS Conference, Cambridge, Mass., 1966. 37. D. R. С о x and W. L. S m i t h, On the Superposition of Renewal Processes, Biometrica 41, 1, 2 (1954). 38. D. R. Cox and W. L. S m i t h, Queues, New York, John Wiley, 1961. (Русский перевод: Д. P. Кекс, В. Л. Смит, Теория очередей, «Мир», 1966.) 39. D. R. С о х, Renewal Theory, London, Methuen, 1962. (Русский пере- вод в книге: Д. Р. К о к с, В. Л. С м и т, Теория восстановления, «Совет- ское радио», 1967.) 40. Т. В. С г a b i 11, A Lower — Bound Approach to the Scheduling Problem, research report, Department of Industrial Engineering, Cornell Uni- versity, 1964. 41. G. А. С г о e s, A Method for Solving Traveling — Salesman Pro- blems, Operations Research 6, № 6 (1958). 42. M. F. D a c e y, Selection of an Initial Solution for the Traveling — Salesman Problem, Operations Research 8, № 1 (I960). 43. G. B. D a n t z i g, A Machine — Job Scheduling Model, Management Science 6, № 2 (1960). 44. G. B. D a n t z i g, D. R. F u 1 k e r s о n and S. M. J о h n s о n. On a Linear — Programming Combinatorial Approach to the Traveling — Sa- lesman Problem, Operations Research 7, № 1 (1959).
346 ЛИТЕРАТУРА 45. R. A. D u d е к and О. F. T e u t о n, Jr., Development of M-Stage Decision Rule for Scheduling n Jobs Through m Machines, Operations Rese- arch 12, № 3 (1964). 46. W. L. E a s t m a n, S. E v e n and I. M. Isaacs, Bounds for the Optimal Scheduling of n Johs on m Processors, Management Science 11, № 2 (1964). 47. S. E. E 1 m a g h r a b у and R. T. С о 1 e, On the Control of Pro- duction in Small Joh Shops, J. Ind. Eng. 14, № 4 (1963). 48. S. E. E 1 m a g h r a b у and A. S. G i n s b e r g, A Dynamic Mo- del of the Optimal Loading of Linear Multi — Operation Shops, Management Technology 4, № 1 (1964). 49. J. P. E v a n s, A Comparison of Two Queue Disciplines for Multi— Channel Queuing Systems, Master’s thesis, Cornell University, 1962. 50. W. J. Fahrycky and J. E. Shamblin, A Probability — Based Sequencing Algorithm, J. Ind. Eng. 18, № 6 (1966). 51. D. W. F i f e, Scheduling with Random Arrivals and Linear Loss Functions, Management Science 11, № 3 (1965). 52. H. F i s c h e r and G. L. T h о m p s о n, Probabilistic Learning Combinations of Local Job — Shop Scheduling Rules, Industrial Scheduling, J. F. Muth and G. L. Thompson, eds., Englewood Cliffs, N. J., Prentice — Hall, 1963, Ch. 15. 53. M. F 1 о о d The Traveling — Salesman Problem, Operations Research 4, № 1 (1956). 54. L. R. F о r d, Jr., and D. R. Fulkerson, Flows in Networks, Princeton, N. J., Princeton University Press, 1962 (Русский перевод: Л. P. Форд, Д. P. Ф а л к e p с о и, Потоки в сетях, «Мир», 1966.) 55. И. D. F г i е d m a n, Reduction Methods for Tandem Queuing Systems, Operations Research 13, № 1 (1965). 56. W. Gapp, P. S. Mankekar and L. G. M i t t e n, Sequen- cing Operations to Minimize In — Process Inventory Costs, Management Sci- ence 11, № 3 (1965). 57. D. P. G a v e r, Jr., A Waiting Line with Interrupted Service, Inclu- ding Priorities, J. Royal Stat. Soc. Series В 24, № 1 (1962). 58. D. P. G a v e r, Jr., Accommodation of Second — Class Traffic, Operations Research 11, № 1 (1963). 59. D. P. G a v e r, Jr., A. Comparison of Queue Disciplines when Ser- vice Orientation Times Occur, Nav. Res. Log. Quart. 10, № 3 (1963). 60. J. W. G a v e t t, Three Heuristic Rules for Sequencing Jobs to a Single Production Facility, Management Science 11, № 8 (1965). 61. W. Gere, A Heuristic Approach to Job — Shop Scheduling, Ph. D. thesis, Carnegie Institute of Technology, 1962. 62. B. G i f f 1 e r, Schedule Algebras and Their Use in Formulating General Systems Simulations, Industrial Scheduling, J. F. Muth and G. L. Thompson, eds., Englewood cliffs, N. J., Prentice — Hall, 1963, Ch. 4. 63. B. G i f f 1 e r, Scheduling General Production Systems Using Sche- dule Algebra, Nav. Res. Log. Quart. 10, № 3 (1963). 64. B. G i f f 1 e r and G. L. T h о m p s о n, Algorithms for Solving Production — Scheduling Problems, Operations Research 8, № 4 (1960). 65. B. Giffler, G. L. Thompson and V. V a n Ness, Nume- rical Experience with the Linear and Monte Carlo Algorithms for Solving Pro- duction Scheduling Problems, Industrial Scheduling, J. F. Muth and G. L. Thompson, eds., Englewood Cliffs, N. J., Prentice — Hall, 1963, Ch. 3. 66. R. J. Giglio and H. M. W a g n e r, Approximate Solutions to the Three — Machine Scheduling Problem, Operations Research 12, № 2 (1964). 67. P. C. Gilmore, Optimal and Suboptimal Algorithms for the Quadratic Assignment Problem, J. Soc. Ind. and Appl. Math. 10, № 2 (1962).
ЛИТЕРАТУРА 347 68. Р. С. Gilmore and R. Е. G о щ о г у, Sequencing a Ono Sta- te — Variable Machine. Л Solvable Case of the Traveling — Salesman Problem, Operations Research 12, № 5 (1964). 69. В. E. Gomory, An Algorithm for Integer Solutions to Linear Programs, Princeton — IBM Mathematics Research Project, Technical Report, № 1, 17, 1958. 70. M. H. G о t t e r e r, Scheduling with Deadlines, Priorities, and Nonlinear Loss Functions, research report, Department of Industrial Engi- neering, Georgia Institute of Technology, Atlanta, Ga. 1960. 71. A. A. G г i n d 1 a y, Tandem Queues with Dynamic Priorities, Ope- rations Research 11, № 2 (1963). 72. W. W. Hardgrave and G. N emha user, A. Geometric Model and Graphical Algorithm for a Sequencing Problem, Operations Research 11, № 6 (1963). s 73. A. G. H a w к e s, Queuing at Traffic Intersections, Proc. Second Symposium on Theory of Traffic Flow, London, 1963. 74. C. R. H ea t neo t e, A Simple Queue with Several Preemptive Priority Classes, Operations Research 8, № 5 (I960). 75. M. ILe 1 d and R. M. К a r p, A Dynamic Programming Approach to Sequencing Problems, J. Soc. Ind. and Appl. Math. 10, № 2 (1962). 76. J. Heller, Combinatorial, Probabilistic, and Statistical Aspects of an M X J Scheduling Problem, NYO-2540, AEC Research and Development Report, February 1959. 77. J. Heller, Some Problems in Linear Graph Theory that Arise in the Analysis of the Sequencing of Jobs through Machines, Report NYO- 9487, AEC Computing and Applied Mathematics Center, New York, October 15, 1960. 78. J. H e 1 1 e r, Some Numerical Experiments for an M X J Flow Shop and its Decision — Theoretical Aspectrs, Operations Research 8, № 2 (1960). 79. J. H e 1 1 e r and G. L о g e m a n n, An Algorithm for the Constru- ction and Evaluation of Feasible Schedules, Management Science 8, № 3 (1962) 80. W. A. H e u s e r, Jr., and В. E. W у n n e, Jr., An Application of the Critical Path Method to Job Shop Scheduling — A Case Study, Mana- gement Technology 3, № 2 (1963). 81. С. С. H о 1 t, Priority Rules for Minimizing the Cost of Queues in Machine Scheduling, Industrial Scheduling, J. F. Muth and G. L. Thompson, eds., Englewood Cliffs, N. J., Prentice — Hall, 1963, Ch. 6. 82. С. C. Holt, Modigliani, Muth and Simon, Planning Production. Inventories and Work Force. Englewood Cliffs, N. J., Prentice — Hall, I960. 83. T. С. H u, Parallel Sequencing and Assembly Line Problems, Opera- tions Research 9, № 6 (1961). 84. G. С. H u n t, Sequential Arrays of Waiting Lines, Operations Re- search 4, № 6 (1956). 85. IBM Mathematics and Applications Department. The Job Shop Simu- lator. 1271 Avenue of the Americas, New York, I960. 86. E. J.Ignall, A Review of Assembly — Line Balancing, J. Ind. Eng. 16, № 4 (1965). 87. E. I g n a 1 1 and L. Schrage, Application of the Branch-and- Bound Technique to Some Flow — Shop Scheduling Problems, Operations Research 13, № 3 (1965). 88. J. R. J а с к s о n, Notes on Some Scheduling Problems, Research Report № 35, Management Sciences Research Project, UCLA, October 1, 1954. 89. J. R. J а с к s о n, Two Ono — Machine Scheduling Problems, Re- search Report 47, Management Sciences Research Project, UCLA, December 1954.
348 ЛИТЕРАТУРА 90. J.R. Jackson, Scheduling a Production Line to Minimize Maxi- mum Tardiness, Research Report 43, Nanagement Sciences Research Project, UCLA, January 1955. 91. J. R. J а с к s о n, An Extension of Johnson’s Results on Job — Lot Scheduling, Nav. Res. Log. Quart. 3, № 3 (1956). 92. J. R. J а с к s о n, 5, № 4 (1957). 93. J. R. J а с к s о n, Nav. Res. Log. Quart. 4, 94. J. R. Jackson, Networks of Waiting Lines, Operations Research Simulation Research on Job — Shop Production, № 4 (1957). , Some Problems in Queueing with Dynamic Pro- perties, Nav. Res. Log. Quart. 7, № 3 (1960). 95. J. R. J а с к s о n, Simple Distribution of Mean Waiting Time in Queues, Research Report 67, Management Sciences Research Project, UCLA, September 20, 1960. 96. J. R. J acks on, Simulation of Queues with Dynamic Priorities Research Report 71, Management Sciences Research Project, UCLA, March 20, 1961. 97. J. R. J а с к s о n, Queues with Dynamic Priority Discipline, Mana- gement Science 8, № 1 (1961). 98. J. R. J а с к s о n, Simulation as Experimental Mathematics, Research Report 72, Management Sciences Research Project, UCLA, June 22, 1961. 99. J. R. J а с к s о n, Waiting — Time Distributions for Queues with Dynamic Priorities, Nav. Res. Log. Quart. 9, № 1 (1962). 100. J.R. J ackson, Jobshop — Like Queuing Systems, Research Report 81, Management Sciences Research Project, UCLA, 1963. 101. J. R. J ackson and R. T. N e 1 s о n, SWAC Computations for Some m X n Scheduling Problems, J. Assn, for Computing Machinery 4, № 4 (1957). 102. R. Jeremiah, A. Lalchandani and L. S c h r a g e, Heuristic Rules Toward Optimal Scheduling, research report, Department of Industrial Engineering, Cornell University, 1964. 103. S. M. J о hn so n, Optimal Two — and Three — Stage Production Schedules with Setup Times Included, Nav. Res. Log. Quart. 1, № 1 (1954). 104. S. M. J о h n s о n, Discussion: Sequencing n Jobs on Two Machines with Arbitrary Time Lags, Management Science 5, № 3 (1959). 105. W. К ar ush, A Counterexample to a Proposed Algorithm for Optimal Sequencing of Jobs, Operations Research 13, № 2 (1965). 106. J. E. К e 1 1 e y, Jr., Critical — Path Planning and Scheduling: Mathematical Rasis, Operations Research 9, № 3 (1961). 107. D. G. К e n d a 11, Some Problems in the Theory of Queues, J. Royal Stat. Soc. Series R 13, № 2 (1951). 108. А. Я. X и нчин, Математические методы теории массового об- служивания, в ки. «Работы по математической теории массового обслужи- вания», Физматгиз, 1963. 109. Н. Kes ten and J. Th. Runnenberg, Priority in Waiting Line Problems, Proc. Koninklijke Nederlandse Akademie van Wetenschappen, A-60, № 3, 1957. 110. J. F. C. Kingman, Two Similar Queues in Parallel, Ann. Math. Stat. 32, № 4 (1961). 111. J. F. С. К i n g m a n, On Queues in Which Customers Are Served in Random Order, Proc. Cambridge Phil. Soc. 58, 1 (1962). 112. L. Kleinrock, A Delay Dependent Queue Discipline, Nav. Res. Log. Quart. 11, № 4 (1964). 113. E. Koenigsberg, On Jockeynig in Queues, Management Science 12, № 5 (1966). 114. H. S. Krasnow and R. A. Merikallio, The Past, Pre- sent and Future of General Simulation Languages, Management Science 11, № 2 (1964L
ЛИТЕРАТУРА 349 115. Y. Kuratani and J. L. McKenney, A Preliminary Re- port on Job — Shop Simulation Research, Research Report 65, Management Sciences Research Project, UCLA March 16, 1958. 116. Z. A. Lo mnicki, A branch — and — Bound Algorithm for the Exact Solution of the Three — Machine Scheduling Problem, Operational Research Quarterly, 16 (1965). 117. E. L. L a w 1 e r, The Quadratic Assignement Problem, Management Science 9, № 4 (1963). 118. E. L. Lawler, On Scheduling Problems with Deferral Costs, Management Science 11, № 2 (1964). 119. E. L e G r a n d e, The Development of a Factory Simulation Using Actual Operating Data, Management Technology 3, № 1 (1963). 120. F. K. Levy, G. L. T h о m p s о n and J. D. W e i s t, Multi- ship, Multishop, Workload — Smoothing Program, Nav. Res. Log. Quart. 9, Я» 1 (1962). 121. E. Ligtenberg, Minimal Cost Sequencing o! n Grouped and Ordered Jobs on m Machines, J. Ind. Eng. 17, № 4 (1966). 122. J. D. C. L i t t 1 e, A Proof for the Queuing Formula L — KW, Ope- rations Research 9, № 3 (1961). 123. J. D. C. Little, K. G. M u r t y, D. W. S w e о n у and С. К a r e 1, An Algorithm for the Traveling— Salesman Problem, Operatiors Research 11, № 6 (1963). 124. D. G. Malcolm, J. H. Rosenboom, С. E. Clark and W. F a z a r, Applications of a Technique for Research and Development Program Evaluation, Operations Research 7, № 5 (1959). 125. P. S. Mankekar and L. G. M i t t e n, The Constrained Least- Cost Testing Sequence Problem, J. Ind. Eng. 16, № 2 (1965). 126. A. S. M anne, On the Job — Shop Scheduling Problem, Operations Research 8, № 2 (1960). 127. H. M. M а г к о w i t z, В. H a u s n e r and H. W. К a r r, Sim- script: A Simulation Programming Language, RM-3310-PR, RAND Corpora- tion, November 1962 (Prentice — Hall, 1963). 128. W. L. M a x w e 1 1, An Investigation of Multi — Product, Single— Machine Scheduling and Inventory Problems, Ph. D. thesis, Cornell Univer- sity, 1961. 129. W. L. M a x w e 1 1, The Scheduling of Economic Lot Sizes, Nav. Rec. Log. Quart. 11, № 2 (1964). 130. W. L. M a x w e 1 1, Priority Dispatching and Assembly Operations in a Job Shop, RM-5370-PR, RAND Corporation, Santa Monica, Cal. 131. J.Makino, On a Scheduling Problem, J. Operations Research Soc. of Japan 8, № 1 (1965). 132. J. O. Mayhug h, On the Mathematical Theory of Schedules, Management Science 11, № 2 '(1964). 133. R.McNaughton, Scheduling with Deadlines and Loss Func- tions, Management Science 6, № 1 (1959). 134. M. M e h г a, An Experimental Investigation of Job — Shop Sche- duling with Assembly Constraints, master’s thesis, Cornell University, 1967. 135. L. W. M i 1 1 e r, Alternating Priorities in Multiclass Queues, Ph. D. thesis, Cornell University, 1964. 136. L. W. M i 1 1 e r, election Disciplines in a Single — Server Queueing System, Research Memorandum RM-4693-PR, RAND Corporation; Santa Monica, Cal., 1966. 137. L. W. M i 1 1 e r and L. Schra go, The Queue M|GI1 with the Shortest Remaining Processing Time Discipline, RAND Paper P-3263, 1965. 138. R. G. M i 1 1 e r, Jr. Priority Queues, Ann. Math. Stat. 31, № 1 (1960). 139. G. J. M i n t y, A Comment on the Shortest — Route Problem, Operations Research 5, № 5 (1957).
350 ЛИТЕРАТУРА 140. L. G. М i t t е n, Sequencing n Jobs on Two Machines with Arbitrary Time Lags, Management Science 5, № 3 (1959). 141. L. G. M i t t e n, A Scheduling Problem, J. Ind. Eng. 10, № 2 (1959). 142. J. J. M о d e г and C. R. Phillips, Project Management with CPM and PERT, New York, Reinhold, 1964. 143. P. M. M о r s e, Queues, Inventories and Maintenance, New York, John Wiley, 1958. 144. J. F. Muth and G. L. T h о m p s о n, eds., Industrial Schedu- ling. Englewood Cliffs, N. J., Prentice — Hall, 1963. 145. I. Na beshim a, The Order of n Items Processed on m Machines, J. Operations Research Soc. of Japan, 1961 (2 papers). 146. M. D. N a i k, m by n Job — Shop Scheduling, master’s thesis, Cor- nell University, 1967. 147. Y. R. N a n о t, An Experimental Investigation and Comparative Evaluation of Priority Disciplines in Job — Shop — Like Queuing Networks, Research Report 87, Management Sciences Research Project, UCLA, December 1963. 148. H. A. N e i m e i e r, An Investigation of Alternative Routing in a Job Shop, master’s thesis, Cornell University, 1967. 149. R. T. N e 1 s о n, Enumeration of a Three Job, Three Machine Sche- duling Problem on SWAC; Discussion Paper No. 50, Management Sciences Research Project, UCLA, January 11, 1955. 150. R. T. N e 1 s о n, Priority Function Methods for Job — Lot Sche- duling, Research Report 51, Management Sciences Research Project, UCLA, February 24, 1955. 151. R. T. Nelson, Waiting — Time Distributions for Application to a Series of Service Centers, Operations Research 6, № 6 (1958). 152. R. T. N e 1 s о n, An Extension of Queuing Theory Results to a series of Service Centers, Discussion Paper 68, Management Sciences Research Project, UCLA, April 29, 1958. 153. R.T. Nelson, An Empirical Study of Arrival, Service Time and Waiting Time Distributions of a Job Shop Production Process, Research Report 60, Management Sciences Research Project, UCLA, June 19, 1959. 154. R.T. Nelson, A Simulation Study and Analysis of a Two— Station, Waiting — Line Network Model, Research Report 91, Management Sciences Research Project, January 5, 1965. 155. R. T. N e 1 s о n, Labor and Machine Limited Production System, Management Sciences Research Project, Paper 90, January 1966. 156. R. T. N e 1 s о n, Labor Assignment as a Dynamic Control Problem, Operations Research 14, № 3 (1966). 157. С. E. N u g e n t, On Sampling Approaches to the Solution of the n — by — m Static Sequencing Problem, Ph. D. thesis, Cornell University, 1964. 158. J. W. О 1 d z i e y, Dispatching Rules and Job Tardiness in a Simulated Job Shop, master’s thesis Cornell University, 1966. 159. G. L. О г к i n, An Experimanl Investigation of Shop Loading for Setting Operation Due — Dates, master’s thesis, Cornell University, 1966. 160. E. S. P a g e, An Approach to the Scheduling of Jobs on Machines, J. Royal Stat. Soc. Series В 23, № 2 (1961). 161. D. S. P a 1 m e r, Sequencing Jobs Through a Multi — Stage Process in the Minimum Total Time — A Quick Method of Obtaining a Near Optimum, Operational Research Quarterly 16, № 1 (1965). 162. E. P a r z e n, Stochastic Processes, San Francisco, 1962. 163. T. E. P h i p p s, Jr., Machine Repair as a priority Waiting — Line Problem, Operations Research 4, № 1 (1956). 164. S. Pollack and W. Wiebenson, Solutions of the Shor- test Route Problem — A Review, Operations Research 8, № 2 (1960).
ЛИТЕРАТУРА 351 165. N. U. Р г а Ь h u, Queues and Inventories, New York, John Wiley, 1965. (Русский перевод: H. П p а б x у, Методы теории массового обслужи- вания и управление запасами, «Машиностроение», 1969.) 166. A. A. Pritsker and W. W. Н а р р, GERT: Graphical Eva- luation and Review Technique, J. Ind. Eng. 17, № 5 (1966). 167. E. R e i c h, Waiting Times when Queues are in Tandem, Ann. Math. Stat. 28, № 3 (1957). 168. R. C. R e i n i t z, An Integrated Job — Shop Scheduling Problem, Ph. D. theisis, Case Institute of Technology, 1961. 169. R. C. R e i n i t z, On the Job Shop Scheduling Problem, Industrial Scheduling, J. F. Muth and G. L. Thompson, eds. Englewood Cliffs, N. J., Prentice — Hall, 1963, Ch. 5. 170. J. R iorad an, Stochastic Service Systems, New York, John Wiley, 1962. (Русский перевод: Дж. Риордан, Вероятностные системы обслуживания, «Связь», 1966.) 171. J. G. R о о t, Scheduling with Deadlines and Loss Functions on к Parallel Machines, Management Science 11, № 3 (1965). 172. M. H. R о t h k о p f, Scheduling Independent Tasks on One or More Processors, Ph. D. thesis, MIT, 1964. 173. M. H. R о t h k о p f, Scheduling Independent Tasks on Parallel Processors, Management Science 12, № 5 (1966). 174. M. H. R о t h k о p f, Scheduling with Random Service Times, Management Science 12, № 9 (1966). 175. A. J. R о we, Sequential Decision Rules in Production Scheduling, Ph. D. theisis, UCLA, 1958. 176. A. J. R owe, Toward a Theory of Scheduling, J. Ind. Eng. 11, № 2 (1960). 177. F. J. R u s s o, A Heuristic Approach to Alternate Routing in a Job Shop, master’s thesis, MIT, 1965. 178. T. L. S a a t y, Elements of Queueing Theory, New York, McGraw- Hill, 1961. (Русский перевод: T. С а а т и, Элементы теории массового об- служивания и ее приложения, «Советское радио», 1971). 179. Р. Sandeman, Empirical Design of Priority Waiting Times for Jobbing Shop Control, Operations Research 9, № 4 (1961). 180. M. Sasieni, A. Yaspan and L. Friedman, Operations Research, Methods and Problems, New York, John Wiley, 1959, Ch. 9. 181. A. Schild and I. J. F r e d m a n, Scheduling Tasks with Linear Loss Functions, Management Science 7, № 3 (1961). 182. A. S c h i 1 d and I. J. F r e d m a n, Scheduling Tasks with Deadlines and Nonlinear Loss Functions, Management Science 9, № 1 (1962). 183. L. E. S c h r a g e, A Survey of Priority Queueing, master’s thesis, Cornell University, 1965. 184. L. E. Schrage, Some Queuing Models for a Time — Shared Facility, Ph. D. thesis, Cornell University, 1966. 185. M. S e g a 1, On the Behavior of Queues Subject to Job — Shop Con- ditions, D. Eng. thesis, John Hopkins University, 1961. 186. R. L. Sisson, Sequencing Theory, Progress in Operations Re- search, vol. 1, R. L. Ackoff, ed. New York, John Wiley, 1961, Ch. 7. 187. W. E.Smith, Various Optimizers for Single — State Production, Nav. Res. Log. Quart. 3, № 1 (1956). 188. W. L. S m i t h, Renewal Theory and Its Ramifications, J. Royal Stat Soc., Series В 20, № 2 (1958). 189. A. E. S t о г у and H. M. Wagner, Computational Experience with Integer Programming for Job — Shop Scheduling, Industrial Scheduling, J. F. Muth and G. L. Thompson eds. Englewood Cliffs, N. J., Prentice — Hall, 1963, Ch. 14. 190. W. S z w a r c, Solution of the Akers — Friedman Scheduling Pro- blem, Operations Research 8, № 6 (1960).
352 ЛИТЕРАТУРА 191. L. Т а к а с s, Introduction to the Theory of Queues, New York, Oxford University Press, 1962. 192. J. C. Tanner, A Problem of Interference Between Two Queues, Biometrica 40, 1, 2 (1953). 193. G. L. T h о m p s о n, Recent Developments in the Job — Shop Scheduling Problem, Nav. Res. Log. Quart. 7, № 4 (1960). 194. G. L. Thompson and R. L. К a r g, Heuristic Approach to Solving Travelling — Salesman Problems, Management Science 10, № 2 (1964). 195. D. R. T r i 1 1 i n g, Job Shop Simulation of Orders That Are Net- works, J. Ind. Eng. 17, № 2 (1966). 196. S. P. Van der Zee and H. T h e i 1, Priority Assignment in Waiting — Line Problems Under Conditions of Misclassification, Operations Research 9, Ks 6 (1961). 197. H. M. W a g n e r, An Integer Linear — Programming Model for Machine Scheduling, Nav. Res. Log. Quart. 6, К» 2 (1959). 198. R. D. W a у s о n, The Effects of Alternate Machines on Two Pri- ority Dispatching Disciplines it the General Job Shops, master’s thesis, Cor- nell University, 1965. 199. J. D. W e i s t, Some Properties of Schedules for Large Projects with Limited Resources, Operations Research 12, № 3 (1964). 200. P. D. Welch, Some Contributions to the Theory of Priority Queues, Ph. D. thesis, Columbia University, 1963. 201. H. W h i t e and L. S. C h r i s t i e, Queuing with Preemptive Priorities or Breakdown, Operations Research 6, № 1 (1958). 202. D. M. G. W i s h a r t, Queuing Systems in Which the Discipline is Last — Gome, First — Served, Operations Research 8, № 5 (1960). Литература, добавленная при переводе 203. Р. А к о ф, М. С а с и е н и, Основы исследования операций, «Мир», 1971. 204. Г. Т. А р т а м о н о в, Анализ производительности ЦВМ мето- дами теории массового обслуживания, «Энергия», 1972. 205. Г. П. Б а ш а р и н, Об аналитических и численных методах ис- следования коммутационных систем, сб. [«Системы распределения инфор- мации», «Наука», 1972. 206. Г. П. Б а ш а р и и, О вычислении моментов обслуженной и из- быточной нагрузок сложной системы, Изв. АН СССР, Техническая кибер- нетика, № 2 (1972). 207. Г. П. Б а ш а р и н, В. Т. Л ы с е н к о в а, Об обслуживании нескольких неоднородных потоков полнодоступным пучком с ограниченной очередью, сб. «Системы распределения информации», «Наука», 1972. 208. Г. II. Б а ш а р и п, А. Д. X а р к е в и ч, М. А. III н е п с, Мас- совое обслуживание в телефонии, «Наука», 1968. 209. В. Э. Б е н е ш, Математические основы теории телефонных сооб- щений, «Связь», 1968. 210. П. П. Б о ч а р о в, Об однолинейной системе с ограниченным чис- лом мест для ожидания и приоритетами, Проблемы передачи информации IV, вып. 3 (1970). 211. П.П.Бочаров, Анализ однолинейной системы массового обслуживания с ограниченной очередью и заявками нескольких видов, Изв. АН СССР, Техническая кибернетика, № 6 (1970). 212. О. И. Б р о н ш т е й н, Об управлении системой многоэтапного обслуживания, Изв. АН СССР, Техническая кибернетика, № 2 (1969). 213. О. И. Бронштейн, О многоэтапном обслуживании одним прибором, Изв. АН СССР, Техническая кибернетика, № 5 (1970).
ЛИТЕРАТУРА 353 214. О. И. Б р о н ш т е й н, Е. Б. В е к л е р о в, Об одном классе дисциплин обслуживания, сб. «Массовое обслуживание в системах передачи информации», «Наука», 1969. 215. О. И. Бронштейн, Г. О. Розенталь, Приоритетная система с зонами прерываний, Автоматика и телемеханика, № 7 (1971). 216. О. И. Б р о и ш т е й н, В. В. Р ы к о в, Об оптимальных при- оритетах в системах массового обслуживания, Изв. АН СССР, Техническая кибернетика, № 6 (1965). 217. Дж. Букан, Э. Кенигсберг, Научное управление запа- сами, «Наука», 1967. 218. Н. П. Б у с л е н к о, Моделирование сложных систем, «Наука», 1968. 219. Н. П. Б у с л е н к о, Д. И. Г о л о н к о, И. М. С обол ь, В. Г. С р а г о в и ч, Ю. А. Ш р ей д е р, Метод статистических испытаний, Физматгиз, 1962. 220. Г. В а г н е р, Основы исследования операций, т. 1, «Мир», 1972. 221. Е. Б. В е к л о р о в, Об оптимальных приоритетах в системах массового обслуживания, Автоматика и телемеханика, № 6 (1971). 222. Е. Б. Беклеров, Вероятности больших ожиданий в системах с приоритетами, Изв. АН СССР, Техническая кибернетика, № 1 (1972). 223. Е. Б. В е к л е р о в, Об управлении замкнутой системой обслу- живания, Проблемы передачи информации VIH, вып. 2 (1972). 224. Е. С. В е н т ц е л ь, Исследование операций, «Советское радио», 1972. 225. О. В. В и с к о в, А. Н. Ш и р я е в, Об управлениях, приводя- щих к оптимальным стационарным решениям, Тр. МИАН СССР, 1964. 226. Б. В. Г н е д е н к о, Г. И. К л и м о в, Э. А. Д а и и е л я н и др., Приоритетные системы обслуживания, Изд-во МГУ, 1973. 227. Б. В. Гнеденко, И. Н. Коваленко, Введение в теорию массового обслуживания, «Наука», 1966. 228. Э. А. Д а н и е л я н, Приоритетные задачи в системах обслужи- вания одним прибором, Статистика и стохастические системы, вып. 13, Изд-во МГУ (1971). 229. Э. А. Д а н и е л я н, Об одной системе обслуживания с ненадеж- ным прибором и приоритетом, сб. «Вычислительные методы и программиро- вание», Изд-во МГУ, вып. XVIII, 1972. 230. Э. А. Д а н и е л я н, Обслуживание одним ненадежным прибором потоков вызовов с относительным приоритетом, Изв. АН СССР, Техниче- ская кибернетика, № 1 (1971). 231. Н. К. Д ж е й с у о л, Очереди с приоритетами, «Мир», 1973. 232. И. М. Духовный, Однолинейная система обслуживания с че- редованием приоритетов, Проблемы передачи информации V, вып. 2 (1969). 233. И. М. Духовный, Об оптимальных приоритетах в одной пол- нодоступной системе с ограниченным числом мест для ожидания, сб. «Теория надежности и массовое обслуживание», «Наука», 1969. 234. И. М. Д у 1 ов ный, Об однолинейной системе с чередованием приоритетов и «разогревом», Изв. АН СССР, Техническая кибернетика, № 4 (1969). 235. И. М. Д у х о в н ы й, Системы обслуживания с обобщенными приоритетами и ненадежным прибором, Изв. АН СССР, Техническая кибер- нетика, № 1 (1970). 236. 10. М. Е р м о л ь е в, И. М. М е л ь н и к, Экстремальные задачи на графах, «Наукова думка», Киев, 1968. 237. Г. И. Климов, Стохастические системы обслуживания, «Наука», 1966. 238. Л. К л е й н р о к, Коммуникационные сети, «Наука», 1970. 239. К. К. К о л и п, В. В. Л и п а е в, Проектирование алгоритмов управляющих ЦВМ, «Советское радио», 1970.
354 ЛИТЕРАТУРА 240. В. А. Кокотушкин, Д.Г. Михалев, Обслуживание полнодоступным пучком нескольких потоков с относительным приоритетом на обслуживании и ограниченной общей очередью, Проблемы передачи ин- формации V, вып. 2 (1969). 241. В. А. К о к о т у ш к и н, Д. Г. М и х а л е в, К вопросу расчета накопителей ЦКС, Электросвязь, № 9 (1969). 242. Д. Р. К о к с, В. Л. С м и т, Теория восстановления, «Советское радио», 1967. 243. Д. К о к с, II. Льюи с, Статистический анализ последователь- ностей событий, «Мир», 1968. 244. А. К о ф м а н, Р. К рюо и, Массовое обслуживание. Теория и приложения, «Мир», 1965. 245. Ф. М а р т и н, Моделирование на вычислительных машинах, «Советское радио», 1972. 246. В. Ф. М а т в е е в, Многоэтапные системы обслуживания, сб. «Вычислительные методы и программирование», Изд-во МГУ, вып. 7, 1972. 247. В. Ф. М а т в е е в, Система с «разогревом» после прерывания, сб. «Вычислительные методы и программирование». Изд-во МГУ, вып. 18, 1972. 248. Д. Г. М и х а л е в, Однолинейная система массовогоХобслужива- ния с ограниченной очередью, многими входящими потоками и произвольным временем обслуживания, Проблемы передачи информации VI, вып 1 (1970). 249. Н. Н. М о и с е е в, Численные методы в теории оптимальных систем, «Наука», 1971. 250. Д. М у т, Д. Т о м п с о и, Календарное планирование, «Прогресс», 1966. 251. М. Р у б и и, К. X о л е р, Коммутационные системы сетей связи, «Связь», 1972. 252. У. Рудин, Основы математического анализа, «Мир», 1966. 253. Е. И. Р у ч к а, Анализ управляющего цифрового вычислитель- ного комплекса как многофазной системы массового обслуживания, сб. «Математические методы моделирования в космических исследованиях», «Наука», 1971. 254. В. В. Р ы к о в, Э. Е. Л е м б е р г, Об оптимальных динамиче- ских приоритетах в однолинейных системах массового обслуживания, Изв. АН СССР, Техническая кибернетика, № 1 (1971). 255. И. П. Смирнов, А. М. Шнепс-Шнеппе, Медицинская системотехника, «Медицина», 1972. 256. И. М. С о б о л ь, Метод Монте-Карло, «Наука», 1968. 257. В. В. Ш к у р б а, Задачи календарного планирования и методы их решения, «Наукова думка», Киев, 1966. 258 *). В. С. Танаев, В. В. Ш к у р б а, Введение в теорию расписа- ний, «Наука», 1975. 259. М. А. Шнепс-Шнеппе, Статистическое моделирование те- лефонных систем, сб. «Системы управления и коммутации сложной струк- туры», «Наука», 1969. 260. X. Штермер и др., Теория телетрафика, «Связь», М., 1971. 261. А. Э л л д и и, Г. Л и н д, Основы теории телетрафика, «Связь», 1972. *) Эта очень интересная книга вышла в свет во время корректуры кни- ги Р. В. Конвея и др. и содержит подробную (428 ^названий) аннотирован- ную библиографию. Основная и добавленная при переводе литература к книге Р. В. Конвея и др. содержит работы по стохастическим задачам тео- рии расписаний и близким задачам теории массового обслуживания. Списки литературы этих двух книг, частично пересекаясь, удачно дополняют друг друга.— Прим. ред.
ЛИТЕРАТУРА 355 Литература, добавленная при корректуре 262. Автоматизированные системы управления предприятием, сб. ста- тей под. ред. В. В. Шкурба, В. Б. Ефетова, «Наукова думка», Киев, 1966. 263. Г. П. Б а ш а р и н, О пуассоновских обслуживающих системах с абсолютным приоритетом и обратной связью, сб. «Массовое обслуживание в системах передачи информации», «Наука», 1969. 264. Г. П. Башарин, К теории производительности пепадежпых двухучастковых автоматических линий с гибкой связью, Тр. 3 Всесоюзной школы-семинара по теории массового обслуживания в Пущино, Изд-во МГУ, 1975. 265. Г. П. Б а ш а р и и, М. А. Б р о м б е р г, Б. И. Ч е р н а к о в, Анализ производительности ненадежных сблокированных автоматических линий с профилактиками, сб. «Методы теории телетрафика в системах пере- дачи информации», «Наука», 1975. 266. Г. П. Башарин, М. А. Б р о м б е р г, Б. И. Ч е р п а к о в, Оценка производительности и ритмичности сблокированных автоматиче- ских линий с учетом неплановых ремонтов и технического обслуживания, Надежность и контроль качества, № 10, 1975. 267. Г. П. Б а ш а р и н, В. А. К о к о т у ш к и н, В. А. Н а у м о в, Об обслуживании ненадежным прибором при наличии профилактик, сб. «Ме- тоды теории телетрафика в системах передачи информации», «Наука», 1975. 268. Н. М. Б е л о с л у д ц е в, В. Ф. Б и л ю б а, Ю. И. Н е ft- мар к, Эффективность одного алгоритма пошагового планирования об- служивания при локальной по времени информации о потоке, Изв. АН СССР, Техническая кибернетика, № 2 (1972). 269. Н. М. Б е л о с л у д ц е в, В. Ф. Б и л ю б а, Ю. И. Н е ft- мар к, В. П. Савельев, М. А. Шелковников, Об одном оп- тимальном алгоритме обслуживания, сб. «Вопросы точности и эффективности вычислительных алгоритмов», т. 4, Институт кибернетики АН УССР, Киев, 1969. 270. П. П. Б о ч а р о в, А. И. Г р о м о в, О пуассоновской двухфазной системе ограниченной емкости, сб. «Методы теории телетрафика в системах передачи информации», «Наука», 1975. 271. П. П. Б о ч а р о в, В. А. Н а у м о в, О вычислении моментов обслуженной’ нагрузки некоторых систем массового обслуживания, сб. «Ме- тоды теории телетрафика в системах передачи информации», «Наука», 1975. 272. Т. А. Бурдюк, Упорядочение работ для станков равной про- изводительности, Изв. АН СССР, Техническая кибернетика, № 1 (1972). 273. А. А. Вдовин, А. О. Кр’авицк ий, Исследование методом статистических испытаний организации восстановления ненадежных систем, сб. «Системы управления и коммутации», «Наука», 1965. 274. Б. А. Власюк, Задача об оптимальном расписании обработки деталей на трех последовательных машинах, Изв. АН СССР, Техническая кибернетика, № 4 (1967). 5 275. И. Н. 3 и м и'п, Ю. П. Иванилов, Решение задач сетевого планпрования’сведением их к задачам оптимального управления, Журнал вычислительной математики и математической физики И, № 3 (1971). 276. 10. П. Иванилов, Н. Н. М о и с е е в, А. А. П е т р о в, О математических методах в теории программного управления экономиче- ской системой, сб. «Кибернетику — на службу коммунизму», вып. 6, «Энер- гия», 1970. 277. ГЛП. Климов, Некоторые решенные и нерешенные задачи в об- служивании последовательной цепочкой приборов, Изи. АП СССР, Тех- ническая кибернетика, № 6 (1970). 278. Г. П. Климов, Системы массового обслуживания с разделением времени, Теория вероятностей и ее применения 19, № 3 (1974).
356 ЛИТЕРАТУРА 279. Б. А. К о з л о в, И. А. У ш а к о в, Справочник по расчету на- дежности аппаратуры радиоэлектроники и автоматики, «Советское радио», 1975. 280. В. А. Кокотушкин, О вычислении моментов избыточной нагрузки некоторых систем с ограниченной очередью, сб. «Методы теории телетрафика в системах передачи информации», «Наука», 1975. 281. В. А. Кокотушкин, Одно обобщение теоремы Пальма — Хинчина, Теория вероятностей и ее применения 19, № 3 (1974). 282. Д. С. Конторе в, 10. С. Голубе в-Новожилов, Вве- дение в радиолокационную системотехнику, «Советское радио», 1971. 283. В. Г. Кукетов, А. А. Первозванский, Оптимальное обслуживание потока объектов при ограниченной зоне действия, Изв. АН СССР, Техническая кибернетика, № 5 (1968). 284. Е. В. Л е в н е р, Оптимальное планирование обработки объек- тов на ряде машин, Автоматика и телемеханика, № 12 (1969). 285. В. С. Л и п с к и й, М. 10. К о р и е в, Расписания для двухсту- пенчатых процессов без буфера, Изв. АН СССР, Техническая кибернетика, № 1 (1970). 286. В. С. Л и п с к и й, М. Д. К о р и е в, Составление оптимальных расписаний для параллельно действующих процессоров, Изв. АН СССР, Техническая кибернетика, № 3 (1972). 287. В. Т. Л ы с е н к о в а, Об организации работы ЭЦВМ, сб. «Си- стемы распределения информации», «Наука», 1972. 288. В. Т. Л ы с е н к о в а, Анализ многолинейной системы массового обслуживания с ограниченной очередью и приоритетами, сб. «Проблемы рас- пределения информации», «Наука», 1973. 289. В. С. Михалевич, В. В. Шкурба, Последовательные схемы оптимизации в задачах упорядочения выполнения работ, Киберне- тика, № 2 (1968). 290. Г. К. Мишкой, Некоторые характеристики для системы об- служивания с ориентацией и абсолютным приоритетом, Изв. АН СССР, Техническая кибернетика, № 5 (1974). 291. Г. К. М и ш к о й, Системы обслуживания с ориентацией и абсо- лютным приоритетом. Идентичное обслуживание заново прерванного вы- зова, Изв. АН СССР, Техническая кибернетика, № 6 (1974). 292. В.В.Мова, Л. А. Пономаренко, Итеративные методы определения оптимального управления, сб. «Математическое моделирование сложных систем», Институт кибернетики АН УССР, Киев, 1973. 293. В. В. М о в а, Л. А. П о н о м а р е н к о, Об оптимальном наз- начении приоритетов, зависящих от состояния обслуживающей системы с ограниченным числом мест для ожидания, Изв. АН СССР, Техническая кибернетика, № 5 (1974). 294. В. А. Наумов, О независимой работе подсистем сложной си- стемы, Тр. 3 Всесоюзной школы-семинара по теории массового обслужива- ния в Пущино, Изд-во МГУ, 1975. 295. В. А. Н а у м о в, О выходящем потоке однолинейной системы, сб. «Методы теории телетрафика в системах передачи информации», «Наука», 1975. 296. Г. О. Розенталь, А. Л. Толмачев, О последовательном обслуживании с блокировкой, сб. «Методы теории телетрафика в системах передачи информации», «Наука», 1975. 297. А. Л. Т о л м а ч е в, О марковских системах конечной емкости, сб. «Системы массового обслуживания и коммутации», «Наука», 1974. 298. Г. Н. Черкесов, О производительности многофазной системы с промежуточным накопителем, Тр. Ленинградского политехнического ин- ститута, № 332 (1973). 299. М. А. Ш н е п с, Численные методы теории телетрафика, «Связь», 1974.
ЛИТЕРАТУРА 357 300. Р. J. Burke, Output processes and tandem queues, Proceedings of the Symposium on Computer-Communication Networks and Teletraffic, New York, 1972. 301. H. Heffes, J. Holtsman, Peakedness of Traffic carried by a finite trunc group with renewal input, Bell System Techn. J. 52, № 9 (1973). 302. F. S. H i 1 1 e r, R. W. Boiling, Finite queues in series with exponential or Erlang service times. A numerical approach, Operations Re- search 15, № 2 (1967). 303. M. F. N e u t s, Two servers in series, studied in terms of Markov renewal branching process, Advances in Applied Probability 2, № 1 (1970). I 304. S. Payne, W. Slack, R. W i 1 d, A note on the operation characteristics of «balanced» and «unbalanced» production flow lines, IJPR 10, № 1 (1972). 305. M. Reiser, H. Kobayashi, Accuracy of the diffusion appro- ximation of some queueing systems, IBM Journal Research Development, № 3 (1974). 306. S. T e m b 1 e, R. W о 1 f, Optimal order of servers in zn-tandem queue, Operations Research 22, J\S 32 (1974).
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Активное время (residence time) 219 Алгоритм корректируемый (adjusting pro- cedure) 148 — — поочередного включения работ (job- -at-a-time adjusting procedure) 170 — назначения приоритетов при выборе из очереди (selection discipline): DDATB, OPNDD, SLACK, S/OPN 299, MAXRWD-NR, MAXNRD-NR 315, NUB, MAXNRD-SPT, NUB-SPT 316, SPT, LWKR, TWORK,FOPNR,M WKR287, WINQ, XWINQ, RANDOM, FCFS 288. — однократный (single-pass procedure) 148 — поочередного включения работ (job- at-a-time schedule generation) 150 — составления расписания 148 — эвристический (heuristic procedure) 170 Антитетичные правила составления рас- писания (antithetical procedures) 52 Временнбе смещение (lateness) 23 Временной резерв (slack) 299 — — на этап (slack per operation) 299 Время блокировки (blocking time) 208 Диаграмма Гантта (Gantt chart) 138 Диспетчеризация (dispatching procedure) 149 — вероятностная (probabilistic dispa- tc-hing) 164 — пезадерживающая (nondelay dispa- tc-hing) 151 Дисциплина выбора заявки с кратчайшей длительностью дообслуживания (shor- test remaining-processing time disci- pline) 230 — — кратчайшей заявки (shortest pro- cessing time) 287 — — работы (selection discipline) 183 — назначения приоритетов при выборе •из очереди см. Алгоритм назначения приоритетов при выборе из очереди — обслуживания «пришедший первым, об- служивается первым» (first-come, first- served) 191 Длительность настройки (setup-time) 74 обслуживания (processing time) 185 — — безуспешная (wasted processing time) 220 — — успешная (successful processing time) 220 — ожидания (waiting time) 22 — операции (processing time) 15 — ориентирования (setup-time) 248 Длительность пребывания (flow-time) 184 — прерывания (breackdown-time) 220 — прохождения (flow-time) 23 — — допустимая (allowance) 21 —максимальная (maximum flow-time) — разогрева (delay) 196 Задача коммивояжера (travelling-salesman problem) 76 — —, алгоритм ближайшего непосещен- ного города (closest unvisited city al- gorithm) 90 — —, решение методом ветвей и границ (branch-and-bound algorithm) 78 — —, решение методом динамического программирования (dinamic program- ming) 86 — назначения (assignment problem) 77 Класс ориентации (setup-class) 249 Коэффициент использования (facility uti- lisation) 25 — срочности (urgency number) 233 Критический путь (critical path) 176 Машина (machine) 15 Метод ветвей и границ (branch-and-bound algorithm) 78 — — — — Для задачи коммивояжера 78 — — — — для конвейерной системы п | 2 | F | г | 123 — — — — для конвейерной системы «|2| Л *тах 126 — — — — для общей задачи составле- ния расписания 154 — целочисленного программирования (integer programming) 141 Момент окончания (completion time) 23 — поступления (arrival time; ready time, release time) 20 Ненасыщенная система (nonsaturated sy- stem) 185 Обратный порядок обслуживания (LGFS) 194, 202 Общий объем работы в системе (total work content) 286 Объединение пуассоновских потоков (aggre- gation of Poisson streams) 186 Объем выполненной работы (work comple- ted) 286
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 359 Объем работа в системе (work-in-process inventory) 26 Операция (operation) 14 —, включаемая в расписание (schedual- able operation) 146 — критическая (critical operation) 176 Опережение (earliness) 23 Ориентирование (setup) 249 Оставшаяся часть работы (work remain- ing) 286 Отношение непосредственного предшест- вованин (между операциями) (direct precedence relationship) 15 — порядка (между операциями) (prece- dence relationship) 15 Перестановочное расписание (permutation schedule) 33, 109 Перестановочные маршруты (permutation routing) 160 Период занятости (delay busy period) 192, 196 Плановый срок (due date) 21, 296 Правило выбора операции (при состав- лении расписания) (procedure lor selec- ting operations): RANDOM,IMOPNR, MWKH-P, MWKR/P, SPT, LWKR 159, LPT, FCFS 160. — назначения плановых сроков (TWK, NOP, CON RDM) 298 Прерывание (preemption) 38 — с дообслуживанием (preempt-resume) 94, 219 — с обслуживанием заново (preempt-re- peat) 94, 219 — — — — с новой длительностью (pre- empt-repeat with resampling) 219 — — — — с той же длительностью (pre- empt-repeat without resampling) 219 Приоритет (priority) 152 — абсолютный (preemptive priority) 219 — альтернирующий (alternating priority) 252 — — без ориентирования (alternating pri- ority without setup-time) 252 — — с интервалами ориентации (alter- nating priority with setup-classes) 261 — динамический (dynamic priority dis- cipline) 233 — относительный (nonpreemptive priori- ty) 216 — — многоуровневый (multilevel nonpre- emptive priority) 216 Приоритет полуабсолютный (semipiTcmp- tive priority) 230 — статический (static priority discipline) 233 Проект (project) 175 Простои, искусственно вводимые (inser- ted idleness) Прямой порядок обслуживания (FCFS) 194, 202 Пуассоновский входящий поток (Poisson input) 185 Пуассопо-экспонепциальпая система (Po- isson-exponential quene) 190 Работа (job) 15 Разъединение пуассоновских потоков (bran- ching of Poisson streams) 186 Расписание (schedule) 14 — квазикомпактное (seiniactive schedule) 144 — компактное (active schedule) 146 — незадерживающее (nondclay schedule) 146 Распределение Эрланга (Erlang distribu- tion) 55 Сдвиг влево (операции при составлении расписания) (left-shift) 140 — — ограниченный (limited left-shift) 144 Сеть массового обслуживания (queueing network) 269 Система (job-shop) 109 — типа сборочной линии (assembly shop) 314 Случайная модификация (random modifi- cation) 189 Случайно-фиксированный выбор машин (fixed-random routing) 160 Случайный выбор из очереди (random selection) 205 — — машин (random routing) 160 — порядок обслуживания (random) 202 Упорядочение по максимуму длительностей работ (longest processing-time) 41 — — минимуму длительностей работ (sho- rtest processing-time) 41 — случайное (random) 41 Цикл занятости (delay сусе) 196
Р. В. Конвей, В. Л. Максвелл, Л. В. Миллер ТЕОРИЯ РАСПИСАНИЙ М., 1975 г., 360 стр. с илл. Редактор И. Е. Морозова Технич. редакторы Л. В. Лихачева, И. Я. Мурашова Корректор Л. С- Сомова Сдано в набор 28/11-1975 г. Подписано к печати 21/VII 1975 г- Бумага № 1 60 X 90*/1» • Физ- печ. л. 22,5. Условн. печ. л. 22,5. Уч.-изд. л. 23,15. Тираж 12 000 экз. Цена книги 1 р. 83 к. Заказ № 1872 Издательство «Наука» Главная редакция физико-математической литературы 117071, Москва, В-71, Ленинский проспект, 15 2-я типография издательства «Наука». Москва, Шубинский пер., 10