Текст
                    Введение
в теорию
расписаний

ЭКОНОМИКО-МАТЕМАТИЧЕСКАЯ БИБЛИОТЕКА В. С. ТАНАЕВ, В. В. ШКУРБА Введение в теорию расписаний Под редакцией Д. Б. ЮДИНА 4JДСЕЛЬСТВО «НАУКА» ГЛАВНАЯ РЕДАКЦИЯ ФИЗИКО-МАТЕМАТИЧЕ СКОЙ ЛИТЕРАТУРЫ Москва 1975
518 Т 18 УДК 519.95 Введение в теорию расписаний. В. С. Танаев, В. В. Шкурба (серия «Экономико-математиче- ская библиотека»), Главная редакция физико-матема- тической литературы изд-ва «Наука», М., 1975. В монографии предпринята попытка в сжатой и вместе с тем доступной для широкого читателя форме отразить современное состояние теории расписаний. Основное внимание уделяется рассмотрению задач оптимального упорядочения комплекса взаимосвязан- ных операций во времени. Приводятся описания точных и приближенных методов их решения. Монография предназначена для студентов и препо- давателей вузов математических специальностей, спе- циалистов в области управления, инженеров и прак- тиков, сталкивающихся с задачами дискретной опти- мизации вообще, оптимального моделирования дис- кретных систем и календарного планирования про- цессов в частности. Илл. 34, таблиц 28, библ, названий 428. Вячеслав Сергеевич Танаев, Виктор Васильевич Шкурба ВВЕДЕНИЕ В ТЕОРИЮ РАСПИСАНИЙ М., 1975 г., 256 стр. с илл. Редактор И. Л. Рябенькая Техн, редактор Н. В. Кошелева Корректор В. П. Сорокина Сдано в набор 23JXII 1974 г. Подписано к печати 4/IV 1975 г. Бумага 84хЮ81/82> тип. № 1. Физ. печ. л. 8. Условн. печ. л. 13,44. Уч.-изд. л. 14,24. Тираж 9800 экз. Т-06545. Цена книги 1 р. 06 к. Заказ № 1501. Издательство «Наука» Главная редакция физико-математической литературы 117071, Москва, В-71, Ленинский проспект, 15 2-типография изд-ва «Наука», Москва, Шубинский пер., 10. 'ТТТГГГ _ 20204-063 ПЛ Т 053(02)-75 81‘74 щия ^^Н^атеЛатической литературы :зДаУельства|«Наука», 1975.
ОГЛАВЛЕНИЕ Предисловие редактора..................................... ° Предисловие авторов....................................... ? Глава 1. Введение......................................... 9 § 1. Предмет теории расписаний...................... 9 § 2. Классификация задач........................... 12 § 3. Формы представления расписаний................ 17 § 4. Общая характеристика методов.................. 23 § 5. Библиографическая справка..................... 26 Глава 2. Элементы комбинаторного анализа................. 27 § 1. Множества, отношения, отображения, графы . 27 § 2. Упорядоченность............................... 31 § 3. Смешанные (дизъюнктивные) графы............... 40 § 4. Перестановки. Задачи упорядочения. Перестано- вочный прием..................................... § 5. Оптимизация функций, рекуррентно заданных на множестве перестановок............................. 50 § 6. Библиографическая справка.................... 59 Глава 3. Детерминированные системы обслуживания с од- ним прибором . . г.................................... 61 § 1. Предварительные замечания..................... 61 § 2. Интервалы очередности......................... 64 § 3. Директивные сроки............................. 73 § 4. Задача коммивояжера.......................... 88 § 5. Взаимосвязанные требования................... 100 § 6. Древовидно упорядоченные требования....... 103 § 7. Общий случай................................. 410 § 8. Библиографическая справка.................... 116 Глава 4. Параллельные приборы........................... 119 § 1. Прерывания................................... 119 § 2. Обслуживание в заданные сроки................ 128 § 3. Некоторые задачи упорядочения................ 133 § 4. Библиографическая справка.................... 143 Глава 5. Детерминированные системы обслуживания с двумя последовательными приборами.................... 145 § 1. Последовательное обслуживание................ 145 § 2. Параллельно-последовательное обслуживание . . 156 § 3. Библиографическая справка.................... 165 1*
4 ОГЛАВЛЕНИЕ Глава 6. М последовательных приборов. Одинаковые мар- шруты .......................................... 166 § 1. Общие замечания........................... 166 § 2. Конструктивный подход..................... 169 § 3. Элиминация...........................• . . 174 § 4. Вырожденные случаи........................ 180 § 5. Библиографическая справка................. 184 Глава 7. М последовательных приборов. Различные мар- шруты .......................................... 186 § 1. Сетевое представление..................... 186 § 2. Генераторы допустимых расписаний.......... 192 § 3. Случайный поиск с обучением............... 198 § 4. Линейные модели........................... 207 § 5. Библиографическая справка................. 209 Глава 8. Многооператорные процессы обслуживания ... 211 § 1. Процессы с неограниченным числом операторов переноса........................................ 211 § 2. Процессы с ограниченным числом операторов пе- реноса ......................................... 222 § 3. Библиографическая справка................. 232 Цитированная литература.............................. 233
ПРЕДИСЛОВИЕ РЕДАКТОРА Многие задачи планирования и управления требуют упорядочения во времени фиксированной системы ресур- сов для выполнения определенной совокупности работ. От выбора постановки и качества решения таких задач существенно зависит рациональная организация работ и эффективность производства. Начиная с пятидесятых годов, задачи календарного планирования и оперативного управления привлекают внимание специалистов по исследованию операций. В свя- зи с большим разнообразием анализируемых ситуаций исследования группировались по различным характерным признакам и проводились в рамках различных научных дисциплин. В теории сетевого планирования основное внимание уделялось распределению времени и мате- риальных ресурсов при выполнении заданного комп- лекса работ. В теории расписаний рассматривались не- делимые виды ресурсов (станки, машины) и такие виды работ, как операции по обработке и транспортировке некоторых деталей, изделий, продуктов. В теории мас- сового обслуживания рассматривались задачи назначе- ния приоритетов в обслуживании поступающих заявок некоторыми устройствами, приборами и т. п. Формальные модели, отвечающие разнообразным по постановке и содержанию задачам календарного плани- рования и оперативного управления, обнаруживают оп- ределенное сходство. Для их анализа могут быть исполь- зованы и однотипные математические методы. В настоящее время наблюдается тенденция к форми- рованию единой научной дисциплины, в рамках которой сосредоточилось бы изучение различных по приложе- ниям, но единых по структуре моделей задач календар- ного планирования и оперативного управления. Предлагаемая вниманию читателей монография В. С. Танаева (Минск) и В. В. Шкурбы (Киев) является, вероятно, наиболее полным изложением теории распи-
6 ПРЕДИСЛОВИЕ РЕДАКТОРА саний в ее классическом понимании. Авторы монографии предлагают использовать термин «теория расписаний» в качестве названия указанной единой дисциплины. В этом смысле предметом монографии является детальное рас- смотрение важного ее раздела — задач упорядочения. По простоте и доступности изложения монография рассчитана на читателей, желающих получить первона- чальное представление о предмете. По полноте же и ори- гинальности приводимых результатов она представляет определенный интерес и для специалистов по теории расписаний. При подготовке монографии авторы стремились к то- му, чтобы у читателя сложилось достаточно полное пред- ставление о месте теории расписаний в общей теории уп- равления большими системами, об особенностях решае- мых задач, о том арсенале разнообразных приемов и мето- дов, использование которых позволяет, по крайней мере, надеяться на возможность построения рациональных рас- писаний в реальных ситуациях. В монографии представлены не все интересные резуль- таты и перспективные направления развития теории рас- писаний. Однако обширный список литературы и библио- графические справки, сопровождающие каждую главу, позволяют читателю ориентироваться в современном со- стоянии исследований. Можно надеяться, что читатель, не нашедший в мо- нографии непосредственного ответа на свой вопрос, су- меет во всяком случае использовать полученную инфор- мацию для составления расписания самостоятельной под- готовки к построению и анализу модели интересующей его задачи. Д. Б. Юдин
ПРЕДИСЛОВИЕ АВТОРОВ В рамках теории расписаний строятся и анализируют- ся математические модели специфических ситуаций, по- стоянно возникающих при календарном планировании различных видов человеческой деятельности; создаются формальные методы принятия наилучших решений в этих ситуациях; вырабатываются практические рекомендации по улучшению качества планирования и управления. Среди задач теории расписаний особое место занимают задачи упорядочения, рассмотрению которых, в основном, и посвящена эта книга. В ней отсутствуют обычно при- водимые в такого рода работах сведения из теории массо- вого обслуживания, сетевого планирования, математи- ческого программирования и некоторых других смежных областей, которые достаточно полно представлены в су- ществующей литературе. В первой главе книги предпринята попытка определить предмет теории расписаний, классифицировать задачи, крат- ко охарактеризовать методы их решения. Вторая глава носит вспомогательный характер и содержит широко исполь- зуемые в дальнейшем сведения из комбинаторного анализа. Последующие две главы посвящены рассмотрению так на- зываемых одностадийных задач теории расписаний. В пятой главе рассматриваются задачи построения оптимальных (по быстродействию) расписаний для двух приборов при раз- личных допущениях относительно рарактера обслуживания требований. В шестой и седьмой главах анализируются системы, содержащие произвольное число последовательных приборов. Наконец, восьмая глава посвящена описанию систем с операторами переноса.
8 ПРЕДИСЛОВИЕ АВТОРОВ Все главы книги, а подчас и отдельные параграфы в значительной степени самостоятельны. Однако выбран- ный порядок глав обеспечивает определенную логичес- кую последовательность изложения материала. Каж- дая глава сопровождается краткой библиографической справкой. Авторы считают своим приятным долгом поблагодарить В. С. Гордона, Г. М. Левина, Е. В. Левнера и Ю. Н. Сот- скова за ряд полезных замечаний и советов, сделанных по рукописи и способствовавших существенному улучшению ее качества. Большую помощь в оформлении рукописи оказали С. Н. Воронкова и С. И. Крючкова. Авторы выражают искреннюю признательность профес- сору Д. Б. Юдину, взявшему на себя нелегкий труд редакти- рования этой книги. Все замечания и пожелания, присланные читателями в адрес книги, будут восприняты авторами с благодарностью. В. С. Танаев, В. В. Шкурба
ГЛАВА 1 ВВЕДЕНИЕ § 1. Предмет теории расписаний 1.1. Расширение масштабов современного производ- ства, усложнение уровня проводимых мероприятий, необ- ходимость координации деятельности больших коллек- тивов людей существенно усложнили функции организа- ционного управления. В различных областях целенаправленной человечес- кой деятельности, в сложных, зачастую противоречивых условиях приходится принимать решения, нередко свя- занные с судьбами людей и большими материальными зат- ратами. Принимаемые решения всегда направлены на до- стижение некоторых целей и реализуются в рамках некоторой системы ограничений, обусловленных конкрет- ными обстоятельствами проведения мероприятия. Как правило, одни и те же цели могут быть достигнуты различным образом, с различными затратами труда и ма- териальных ресурсов. Выбрать наиболее экономичный и целесообразный путь, принять обоснованное, наиболее правильное решение — далеко не простая задача и для своего решения требует привлечения современных научных методов. Эти методы, которые принято объединять под общим названием «исследование операций», практически сформи- ровались в последнее тридцатилетие. В настоящее время исследование операций — достаточно мощный инструмент количественного анализа сложных целенаправленных про- цессов, протекающих в различных сферах человеческой деятельности. Методы исследования операций способст- вуют выработке рациональных, обоснованных решений по управлению этими процессами. 1.2. При операционном подходе к поиску наиболее эффективных путей достижения цели осуществляется построение математической модели, содержащей описание этой цели и отражающей условия проведения операции.
10 ВВЕДЕНИЕ [ГЛ. 1 На этом этапе тщательно анализируется содержание операции, определяются необходимые действия, выявля- ются условия их выполнения, оцениваются разнообразные ограничения и т. п. Методология исследования операций позволяет систематизировать всю эту работу, придать ей большую целенаправленность и определенность. Оценка и сравнение эффективности возможных спосо- бов действий при достижении поставленной цели прово- дятся на основании построенной модели. Эта же модель позволяет принять и наилучшее в рассматриваемой си- туации решение. В большинстве случаев выработка та- кого решения требует привлечения соответствующих ма- тематических методов оптимизации и сопряжена с большим объемом вычислений. Анализируемые в рамках исследований операций мо- дели являются разумным компромиссом между двумя естественными, но противоречивыми тенденциями. С од- ной стороны, желательно, чтобы модель возможно полнее отражала реальные процессы, с другой — она должна быть настолько простой, чтобы можно было получить ис- комые результаты за практически приемлемое время. Постоянное развитие математических методов и вычисли- тельной техники позволяет расширить круг анализи- руемых моделей и тем самым расширить сферу практи- ческого применения методов исследования операций. 1.3. С использованием операционного подхода ока- залось возможным разработать эффективную методику управления транспортными перевозками, решить ряд за- дач распределения ресурсов и размещения производи- тельных сил, выработать наилучшие стратегии управле- ния запасами и т. д. В середине пятидесятых годов начались интенсивные исследования по построению и анализу моделей кален- дарного планирования и разработке методов принятия плановых решений с использованием этих моделей. Сре- ди причин, вызвавших появление этого нового направле- ния в исследовании операций, в первую очередь следует отметить все возрастающую необходимость планирования и управления сложными разработками, включающими большое число взаимосвязанных работ, требующих мно- гочисленных исполнителей и значительных материальных затрат.
§ 1] ПРЕДМЕТ ТЕОРИИ РАСПИСАНИЙ 11 Все отчетливее осознавалось, что качество функцио- нирования современного производства во многом опреде- ляется качеством решений, принимаемых на этапах ка- лендарного планирования и оперативного управления. Наряду с улучшением качества плановых решений необ- ходимо было также сократить сроки их выработки, по- высить оперативность и гибкость управления. Временная увязка всего множества действий, сопря- женных с достижением заданной цели, уже сама по себе достаточно сложная задача. Если же речь идет о построе- нии наилучшего календарного плана, да еще в кратчай- ший срок, то сложность этой задачи неизмеримо возра- стает. Традиционные методы календарного планирования все меньше отвечали запросам практики. В этих условиях применение математических методов и вычислительной техники открывало определенные перспективы и позво- ляло надеяться на успешное преодоление возникших затруднений. 1.4. Круг вопросов, связанных с построением наи- лучших календарных планов (расписаний), особенно с раз- работкой математических методов получения решений с использованием соответствующих моделей, изучается в рамках теории расписаний. Эта теория использует характерный для исследования операций модельный подход к анализу реальных процес- сов. Изучаемые в теории расписаний модели отражают специфические ситуации, возникающие при календар- ном планировании различных видов целенаправленной человеческой деятельности. Разнообразие моделей, степень их общности и универсальности постепенно увеличиваются, охватывая все более широкую сферу возможных приложений — календарное планирование производства, транспорта, военных операций, обучения, информационно-вычисли- тельных процессов и т. п. По мере усложнения моделей усложняются и методы принятия плановых решений с использованием этих моделей. В свою очередь совер- шенствование методов, поиск новых подходов открывает перспективы новым приложениям. Следует отметить, что уже на начальной стадии раз- вития теории расписаний стало ясно, что задачи опти- мального календарного планирования исключительно
12 ВВЕДЕНИЕ 1ГЛ. 1 трудоемки. Для их решения пришлось привлечь обшир- ный арсенал средств современной прикладной матема- тики, провести обстоятельные экспериментальные ис- следования, выдвинуть и проанализировать различные гипотезы, разработать новые подходы и методы. Тем не менее значительная доля полученных результатов носит негативный характер и скорее выявляет сложность проб- лемы, чем намечает конструктивные пути ее решения. 1.5. При построении математических моделей кален- дарного планирования, как, впрочем, и при операцион- ном подходе к анализу иных видов целенаправленной деятельности, серьезные затруднения вызывает недоста- точная информированность исследователя об анализируе- мом процессе. В этой книге рассматриваются простейшие случаи принятия плановых решений в условиях полной определен- ности, с четким знанием целей и ограничений, с фик- сированными известными значениями неконтролируемых факторов. Наряду с такого рода ситуациями в теории расписаний рассматриваются ситуации, в которых решения прихо- дится принимать в условиях риска или неопределенности. Так, при календарном планировании военных операций, работы рыбодобывающих судов, сельскохозяйственных работ и т. п. в лучшем случае известны распределения ве- роятностей многих факторов, существенно влияющих на формирование календарных планов. § 2. Классификация задач 2.1. Целенаправленную деятельность всегда можно рассматривать как некоторый, протекающий во времени процесс, результатом которого является достижение по- ставленных целей. Как правило, этот процесс включает определенную совокупность действий, мероприятий, ра- бот, которые реализуются в некоторой существующей или специально создаваемой системе. Выполняемые действия, мероприятия, работы не яв- ляются независимыми. Существуют определенные взаи- мосвязи, как между работами рассматриваемой совокуп- ности, так и между этими работами и работами, реали- зуемыми вне рассматриваемой совокупности. Так, сборка
5 2] КЛАССИФИКАЦИЯ ЗАДАЧ 13 некоторого узла технического устройства может быть проведена лишь после завершения изготовления всех составляющих его компонент. Возведение фундамента строящегося здания невозможно без наличия кирпича и цемента, изготовление и транспортировка которых мо- жет и не входить в рассматриваемую совокупность работ по строительству здания. Наличие такого рода взаимосвязей между работами налагает определенные ограничения на возможное проте- кание соответствующего целенаправленного процесса во времени. Ту или иную работу оказывается возможным осу- ществить только при наступлении вполне определенной ситуации в процессе выполнения работ рассматриваемой совокупности. Существенные ограничения налагает и та конкретная система, в которой этот процесс реализуется. Во многих случаях систему можно и целесообразно представить в виде некоторой совокупности определен- ным образом взаимосвязанных подсистем — блоков, уст- ройств, приборов. На вход каждого блока поступает некоторое множество заявок, заказов, требований на вы- полнение определенного вида работ. В результате выпол- нения этих работ появляются новые заказы, заявки, требования на выполнение иных видов работ, поступаю- щие на вход некоторых других блоков и т. д., пока не будет выполнена совокупность всех реализуемых в дан- ной системе работ. Поскольку процесс выполнения работ протекает в реальном времени, то перед отдельно выбран- ным блоком может образоваться очередь требований на выполнение работ. 2.2. Следует отметить, что как деление всего множест- ва работ на отдельные «работы», так и представление системы в виде набора взаимосвязанных «блоков» могут быть проведены с различной степенью детализации и зависят от конкретно анализируемой ситуации. Рассмотрим, например, некоторый завод, выполняю- щий отдельные заказы. В зависимости от конкретно ана- лизируемой ситуации в качестве совокупности работ мо- жет быть выбрана совокупность заказов. Завод же можно представить одним блоком, на вход которого поступают требования на выполнение этих заказов. Вместе с тем заказы можно детализировать до отдельных видов работ,
14 ВВЕДЕНИЕ [ГЛ. 1 а завод рассматривать как совокупность блоков — про- изводственных участков, на каждом из которых выпол- няется определенный вид работ. Аналогично, вычислительную систему можно рассмат- ривать либо как единый блок, либо как совокупность взаимосвязанных блоков, выделяя, например, арифмети- ческие и запоминающие устройства, устройства ввода- вывода информации и т. д. Соответственно работами бу- дут служить либо программы, либо отдельные виды дейст- вий, предусмотренные данными программами. При планировании учебного процесса могут быть выде- лены такие «блоки» как преподаватели, осуществляющие определенные работы по обучению студентов, учебные груп- пы студентов, воспринимающие определенную информацию, и т. д. При планировании работы транспорта могут быть выделены «блоки» — дороги, «блоки» — локомотивы и т. д. Степень детализации работ и уровень «структуриза- ции» системы обычно согласуются между собой и с теми задачами, которые предполагается решать. 2.3. При реализации данной совокупности работ в данной или проектируемой системе необходимо закрепить определенные работы за определенными блоками, сог- ласовать длительности выполнения работ и установить порядок выполнения их во времени. Простейшим и наиболее изученным классом задач тео- рии расписаний являются задачи упорядочения. В этих задачах распределение работ по блокам и длительнос- ти их выполнения предполагаются заданными. Необхо- димо указать наиболее эффективную стратегию управле- ния очередями требований на выполнение работ каждым блоком. В задачах согласования основное внимание уделяется выбору длительностей работ при заданном их распреде- лении по блокам. Наконец, в задачах распределения предполагается, что один и тот же блок может выполнять различные работы или наборы работ. Необходимо указать в некотором смыс- ле наилучшее распределение работ по блокам. Во всех перечисленных классах задач теории распи- саний совокупность работ и структура реализующей их системы предполагаются заданными и неизменными.
§ 2] КЛАССИФИКАЦИЯ ЗАДАЧ 15 В последнее время наметилось новое направление в теории расписаний, связанное с изучением влияния струк- туры системы на временные характеристики протекаю- щих в ней процессов. Необходимость в изучении задач такого рода вызвана в первую очередь развитием вычис- лительной техники, появившейся возможностью созда- вать различные по составу и конфигурации вычислитель- ные системы. Приведенная классификация задач теории расписаний, как, впрочем, и любая другая классификация, в значи- тельной степени условна и скорее подчеркивает некото- рые характерные особенности той или инойг задачи, чем лишает ее всех остальных черт, возможно прису- щих другим классам задач. Многие авторы, например, к задачам теории расписаний относят только задачи упо- рядочения. Задачи согласования объединяют термином «сетевое планирование». Распределительные задачи также груп- пируют в отдельную, рассматриваемую вне теории рас- писаний совокупность задач. Приведем примеры некоторых типичных задач теории расписаний. 2Л. Наиболее известной в теории расписаний задачей упорядочения является задача построения оптимального (в том или ином смысле) расписания процесса обработки «деталей» некоторой совокупностью «машин». Процесс обработки каждой детали включает последо- вательное выполнение некоторого множества операций. Каждая операция выполняется некоторой машиной. Дли- тельность выполнения каждой операции предполагается известной. Она может быть как детерминированной, так и случайной величиной. Каждая машина одновременно может выполнять не более одной операции. При построении наилучшего, скажем по быстродейст- вию, расписания процесса обработки всех деталей необ- ходимо решить, в какой именно последовательности дол- жны выполняться операции каждой машиной. В рассматриваемом случае множество «работ» — это множество всех операций. Машины представляют собой «блоки» системы, реализующей заданную совокупность работ. Взаимосвязи между работами задаются посредст-
16 ВВЕДЕНИЕ 1ГЛ* 1 вом указания последовательностей их выполнения при обработке каждой детали. Если одна и та же операция может быть выполнена не на одной машине, а на любой из некоторой совокуп- ности машин, то наряду с упорядочением операций не- обходимо провести и распределение их по машинам. 2.5. Классической задачей согласования является за- дача определения длительностей выполнения работ за- данной совокупности с целью минимизации суммарной стоимости работ при заданном общем времени выполнения всех работ совокупности. Каждая работа характеризуется длительностью и сто- имостью ее выполнения. Предполагается, что длитель- ность выполнения работы может изменяться в заданных пределах. Стоимость выполнения работы зависит от дли- тельности. Обычно предполагается, что эта зависимость описывается выпуклой, чаще всего, линейной функцией. Работы рассматриваемой совокупности не являются независимыми. Для каждой работы известно множество работ, после выполнения которых может быть начато выполнение данной работы. Необходимо выбрать длительность каждой работы (в заданных пределах) таким образом, чтобы общее время выполнения всех работ не превосходило заданной вели- чины, а суммарная стоимость их выполнения была на- именьшей. Нас может интересовать также уменьшение общего времени выполнения всех работ при заданной суммарной стоимости их выполнения. Эта задача существенно усложняется, если приходится принимать во внимание обычную на практике ограни- ченность других видов ресурсов, отличных от временных и финансовых. 2.6. Среди многочисленных распределительных задач теории расписаний отметим одну из простейших — так называемую задачу балансирования сборочной линии. В этой задаче необходимо распределить некоторую совокупность работ по рабочим местам, расположенным в линию. Для каждой работы известна длительность ее выполнения и множество работ, после завершения кото- рых может быть начато выполнение данной работы. С учетом заданных отношений предшествования работы распределяются таким образом, чтобы суммарное время
ФОРМЫ ПРЕДСТАВЛЕНИЯ РАСПИСАНИЙ 17 выполнения работ на каждом рабочем месте не превос- ходило заданную величину (так называемого времени цикла) и число рабочих мест было минимально. Широко известны также задачи закрепления препода- вателей за группами студентов, распределения учебных помещений, распределения программ в многопроцессор- ных вычислительных системах и т. п. 2.7. При построении операционных моделей календар- ного планирования в реальных ситуациях редко удается получить «чистую» задачу упорядочения, согласования или распределения. Как правило, принятие наилучших плановых решений сопряжено с рассмотрением экстре- мальных задач, в которых элементы упорядочения, сог- ласования и распределения в значительной мере «пере- плетаются». Тем не менее выделение и анализ «чистых» задач представляют интерес как в непосредственно приклад- ном аспекте, так и в плане разработки эффективных общих методов оптимального календарного планирования. В этой книге основное внимание уделяется задачам упорядочения. С задачами согласования и распределе- ния заинтересованный читатель может ознакомиться по многочисленным монографиям, посвященным исследова- нию операций и сетевому планированию. § 3. Формы представления расписаний В расписаниях для рассматриваемой совокупности действий, операций, работ указываются моменты их на- чала, а подчас моменты окончания или даже каких-то промежуточных состояний их выполнения во времени. При необходимости указываются также те блоки системы, которые реализуют выполнение соответствующих дейст- вий, операций, работ. 3.1. На практике предложены и используются раз- личные способы представления расписаний. Наиболее на- глядны из них графические представления — графики Ган- та, ленточные графики, планировочные графики, цикло- граммы, оперограммы, учетные графики и т. п. На рис. 1.3.1 приведен образец графика Ганта. Этот график отражает загрузку рабочйх мест № 1 и № 2 (блоков) при обработке некоторы^^7'^ ° 7 “ — Де- ЙМ.
18 ВВЕДЕНИЕ [ГЛ. 1 талей). Обработка каждой детали сводится к выполнению ряда технологических операций. Каждая операция на рисунке представляется отрезком, по длине равным про- должительности выполнения операции в выбранном мас- штабе времени. Моменты начала и конца выполнения Рис. 1.3.1. График Ганта. операций обозначаются отметками и | соответствен- но. Под отрезками обычно указывают какие-то характе- ристики операции — например, принятые номер детали (партии деталей), номер операции, размер партии и т. п. В хрономограмме, представленной на рис. 1.3.2, ос- новное внимание обращается на последовательность и взаимоувязку во времени выполнения комплекса работ безотносительно к характеру использования ресурсов. Весьма специфично в диспетчерских службах желез- ных дорог графически представляются расписания дви- жения поездов (рис. 1.3.3). Расписание занимает часть координатной плоскости, где на оси абсцисс откладыва- ется время (от 0 до 24 час.), а на ось ординат наносятся точки, соответствующие станциям рассматриваемой же- лезнодорожной ветви. Расписание движения (формирова- ния, расформирования, стоянки) того или иного состава задается линией, которая совмещает пространственное и временное расположение состава в каждый момент времени. 3.2. В последние годы широкое распространение по- лучили особые формы представления календарных пла- нов в виде так называемых стрелочных диаграмм или сетевых графиков. Такие формы чаще всего используются для представления календарных планов выполнения слож- ных разработок, индивидуальных заказов особой важ-
§ 3] ФОРМЫ ПРЕДСТАВЛЕНИЯ РАСПИСАНИЙ 19 ности, проектирования или строительства уникальных объектов большим количеством соисполнителей. лм» пщ Наименование работ Октябрь Г Ноябрь \ Декабрь \ Январь \ Февраль \ Март \Апрель_ ! г 3 4 5!'l 2 3 4 5П 2 3 4 5П 2 3 4 5П 2 3 4 ЗП г 3 4 51 4 2 3 4 / 2 3 4 5 6 7 8 9 Ю // Ознакомление с темой, постановка основных задач исследования Изучение и подготовка обзора литературы по теме Разработка и обоснование методов Разработка алгоритмов и программ Отладка программ,решение примеров Оформление работы, согласование с консультантом Внесение изменений и уточнений Окончательное Оформление роботы Рецензирование работы Подготовка иллюстративных материалов (плакатов) Защита работы 1 Г Рис. 1.3.2. Хрономограмма выполнения курсовой (дипломной) работы. Для таких разработок, проектов, строек особо важно представить взаимоувязку во времени выполнения от- дельных работ или их комплексов. Этим целям служат сетевые графики. Образец сетевого графика в так называемой форме «работы-вершины» представлен на рис. 1.3.4. Вершинами сетевого графика обозначены отдельные работы, на ко- торые расщепляется общий комплекс работ, дуги пред-
20 ВВЕДЕНИЕ [ГЛ. 1 ставляют информацию о взаимозависимости очередности выполнения работ. Логическая взаимозависимость очередности выполне- ния работ, представленная сетевым графиком, облегчает прежде всего распараллеливание комплекса разработок, распределение работ между исполнителями. Рис. 1.3.4. Сетевой график разработки и внедрения задачи (програм- много комплекса) в АСУ. Работы: 1 — предварительное определе- ние перечня и структуры выдаваемых документов, информационных массивов и характера их использования; 2 — разработка общей схемы решения задачи, утверждение перечня и форм выдаваемых документов, выдача задания на программирование, корректировку базовых массивов и первичных документов и т. п.; 3 — определение структур данных и способов кодирования информации; 4 — обес- печение формирования первичных данных; б — обеспечение фор- мирования нормативных массивов; 6 — обеспечение формирования базовых массивов; 7 — разработка программного обеспечения; 8 — отладка программ; 9 — техническое обеспечение решения за- дачи; 10 — организационное обеспечение решения задачи; 11 — опытно-промышленная проверка; 12 — корректировка по результатам проверки. Масштабное представление продолжительности и сро- ков выполнения работ, столь наглядное в графиках Ган- та, используется и в сетевых графиках в так называемой форме «вершины-события». В сетевых графиках в форме «вершины-события» ра- боты отображаются дугами, а вершины отделяют работы друг от друга — их принято отождествлять с некоторыми событиями (например, приемкой выполнения работ). Ду- ги, исходящие из некоторой вершины, соответствуют ра- ботам, которые могут быть начаты только после того, как совершилось событие, представленное этой вершиной (т. е. закончены все работы, соответствующие стрелкам, входящим в эту вершину). На рис. 1.3.5 дано такое
§ 3] ФОРМЫ ПРЕДСТАВЛЕНИЯ РАСПИСАНИЙ 21 представление сетевого графика (идентичного графику рис. 1.3.4) в форме «вершины-события». Из графика в форме «вершины-работы» можно всегда получить (очевидным преобразованием) график в форме «вершины-события». Понятно, что осуществим всегда и обратный переход. Неудобством второго представления является то, что для отражения очередности выполнения работ приходится вводить так называемые «фиктивные Рис. 1.3.5» Представление сетевого графика в форме «вершины- события». работы» (работа 13 на рис. 1.3.5). Фиктивные работы вводят, в частности, для устранения случаев двух или нескольких параллельных дуг, выходящих из одной и той же и входящих в одну и ту же вершину (особенно если «приемка» каждой из работ может происходить от- дельно). 3.3. Как ни наглядны бывают формы графического представления расписаний, все они обычно сопровож- даются и некоторыми таблицами с численными харак- теристиками графиков. Во многих случаях табличное представление является общепринятым, в достаточной ме- ре ^наглядным и не требующим дополнительных поясне- ний — расписание учебных занятий, футбольный кален- дарь, расписание работы учреждений и т. п. Для удобства пользования данные, характеризующие календарный план (особенно в случае их подготовки с использованием ЭВМ), выдают в нескольких разрезах. Так, отдельно группируется информация о динамике об- работки каждой детали, о загрузке каждого рабочего места и т. п. Табл. 1.3.1 представляет пример календарного плана работы производственного участка, выданного на бук- венно-цифровую печать ЭВМ.
22 ВВЕДЕНИЕ [ГЛ. 1 Таблица 1.3.1 Сменное задание Цех 1 Число 3 Смена 2 Месяц 1 Номер Время запуска партии Длит, операции Размер партии станка детали операции партии 6 18 010123 2 2 20.12 2.36 555 7 17 102 153 3 1 17.00 6.00 1170 8 17102151 3 3 17.00 6.00 1180 9 17 102151 3 2 16.00 4.12 836 9 17 070142 5 2 20.12 2.36 1650 19 18 230118 3 1 22.30 0.18 33 20 17 102 150 7 1 17.12 2.24 2170 21 17102150 5 2 16.00 2.06 1850 ЗЛ. В теории расписаний широко используется спе- цифическая форма представления расписаний посредст- вом задания вектор-функций времени. Эта форма пред- ставления расписаний, в основном, и используется в дан- ной книге. Так, для представления расписания рис. 1.3.1 доста- точно задать вектор-функцию s (t) = {sx (Z), s2 (/)}, ком- поненты которой описывают загрузку рабочих мест № 1 и № 2 во времени. Если $х (/') = 0, то в момент времени t = t' рабочее место № 1 не загружено, на нем не выпол- няется ни одна из операций рассматриваемой совокупнос- ти. Аналогично, если s2 = 0, то в момент времени t = t' не загружено рабочее место № 2. Если (f) = к, то в момент времени t = t' на рабочем месте № 1 выпол- няется операция с номером к. Если s2 (f) = Z, то на рабочем месте № 2 в момент времени t = tr выполня- ется операция с номером Z. Например, (2) = И, (12) = 13, $х (15) = 0 и т. д. Выбор той или иной формы представления расписа- ний определяется теми конкретными условиями, в ко- торых возникает необходимость в их составлении и рас- смотрении.
§ 4] ОБЩАЯ ХАРАКТЕРИСТИКА МЕТОДОВ 23 § 4. Общая характеристика методов 4.1. В теории расписаний используется большинство известных в настоящее время идей и методов принятия наилучших решений посредством построения и анализа соответствующих операционных моделей. Прогресс в раз* витии методов решения экстремальных задач, методов статистических испытаний, эвристического программи- рования и т. д. в той или иной мере оказывал влияние и на развитие методов построения оптимальных распи- саний. В рамках теории расписаний в свою очередь раз- рабатывались приемы и методы, получившие затем опре- деленное распространение в иных разделах исследова- ния операций. Интересно отметить, что совершенствование методов теории расписаний протекало в условиях относительной стабильности анализируемых моделей. На протяжении двух десятилетий предлагались различные методы реше- ния, по существу, одних и тех же классических сетевых задач, задач упорядочения операций обработки деталей машинами, весьма немногочисленных распределительных задач. Это явление ни в коем случае не следует объяснять отсутствием иных моделей. Модели теории расписаний непрерывно развиваются, совершенствуются, обретают определенную общность, полнее отражают конкретные ситуации календарного планирования. Объяснение ско- рее следует искать в том, что уже на стадии решения простейших по постановке задач возникли серьезные за- труднения. Кроме того, хорошо зарекомендовавшие себя методы решения этих задач, как правило, допускают естественное распространение и обобщение на более слож- ные реальные задачи. 4.2. Становление теории расписаний как самостоя- тельного направления прикладной математики происхо- дилр в период, когда в достаточной мере был развит аппарат линейного программирования, исследованы мно- гие линейные модели, получены обнадеживающие резуль- таты в практическом использовании этих моделей и ме- тодов. Совершенно естественно, что методы линейного про- граммирования получили определенное распространение и в календарном планировании различных видов чело-
24 ВВЕДЕНИЕ !ГЛ. 1 веческой деятельности, особенно для решения задач вре- менного согласования и распределения планируемых ра- бот и ресурсов. Наряду с применением общих методов решения линейных задач начали разрабатываться и спе- циальные методы, ориентированные на решения различ- ных классов задач календарного планирования. Первые же результаты по созданию эффективных мето- дов решения линейных задач с условием целочисленности переменных значительно расширили круг анализируемых в теории расписаний линейных моделей. Появились оп- ределенные возможности учитывать комбинаторный ха- рактер плановых решений, неделимость отдельных видов работ и ресурсов и т. п. Использование линейных моделей для описания реаль- ных ситуаций даже в тех немногих случаях, когда это возможно, приводит к необходимости решения задач ли- нейного программирования большого размера. В то же время специфические особенности этих задач позволяют предложить эффективные декомпозиционные подходы к их решению. Нелинейные модели в теории расписаний получи- ли относительно небольшое распространение, что свя- зано, вероятно, с общим недостаточным развитием аппа- рата нелинейного, особенно невыпуклого программиро- вания. Аналогичная ситуация имеет место и с вероятност- ными моделями, хотя в направлении их анализа и пред- принимаются весьма серьезные усилия. 4.3. Достаточно развитыми методами теории распи- саний являются методы, основанные на идеях последо- вательного конструирования, анализа и отсеивания вари- антов расписаний. Предложены многочисленные правила доминирования, позволяющие «отбраковывать» целые группы расписаний по отдельным построенным их фраг- ментам. Разработаны вычислительные схемы, в которых проводится систематическая оценка перспективности, пред- почтительности одних расписаний относительно других конструируемых расписаний. Такие схемы, в частности, могут включать эвристические элементы (использования разнообразных функций предпочтения), некоторые спо- собы обучения в сочетании с элементами статистического моделирования и т. п.
I 4] ОБЩАЯ ХАРАКТЕРИСТИКА МЕТОДОВ 25 Для решения многих задач теории расписаний может быть непосредственно использован аппарат динамического программирования. В простейших случаях оптимальные расписания могут быть построены в результате весьма простых рассужде- ний относительно изменения характеристик расписания при некоторых элементарных его преобразованиях. Сово- купность такого рода приемов составляет основу так называемых комбинаторных методов теории расписаний. В результате их использования получены наиболее эф- фектные алгоритмы решения некоторых, правда, весьма немногих задач теории расписаний. В графических методах прослеживается стремление использовать те же приемы локального «воздействия» на расписание, но с привлечением таких изобразительных средств, как графики, диаграммы, схемы. Определенное распространение в теории расписаний получил и теоретико-игровой подход, особенно к анализу ситуаций с элементами неопределенности. 4.4. Среди приближенных методов теории расписаний в первую очередь следует отметить обширную группу эвристических методов. В этих методах в той или иной степени отражается опыт, накопленный в результате мно- гократного построения расписаний в практически одно- типных условиях. Область поиска наилучшего расписания при этом искусственно сужается, подчас до одного кон- кретного расписания. Эвристические методы нашли ши- рокое применение при решении практических задач и позволяют получить относительно неплохие расписания при сравнительно небольшом объеме необходимых вы- числений. Несколько более ограниченное распространение по- лучили различные вариации метода статистических испытаний. Этот метод позволяет построить расписание, близкое к искомому, в результате анализа некоторой со- вокупности случайным образом выбираемых расписаний. Обычно в вычислительных схемах предусматриваются воз- можности обучения, адаптации этих схем к решаемым классам задач. Разнообразные локальные методы существенно исполь- зуют понятие близости одного расписания к другому. В результате оказывается возможным введение понятия
26 ВВЕДЕНИЕ [ГЛ. 1 окрестности расписания как совокупности расписаний, наиболее близких к рассматриваемому. Локальные ме- тоды позволяют получить одно или несколько локально оптимальных расписаний с последующим выбором на- илучшего из них. Полезным приемом в теории расписаний оказалось исследование анализируемых процессов в асимптотике. При этом «гипертрофируются» те или иные особенности рассматриваемой ситуации. Предполагается, например, что процесс протекает бесконечно долго, что возможна сколь угодно частая смена состояний этого процесса и т. п. Получаемая в результате информация используется для построения близких к оптимальным расписаний про- текания реальных процессов. Необходимо отметить, что при разработке приближен- ных методов решения задач теории расписаний весьма нетривиальными являются вопросы оценки близости по- строенного расписания к искомому оптимальному. § 5. Библиографическая справка Заметное влияние на выбор определения предмета теории рас- писаний и классификацию задач оказали работы Р. Веллмана [236], Р. Акофа и М. Сасиени [4]. Общее представление о задачах сетевого планирования и распределительных задачах можно получить по упомянутой монографии Р. Акофа и М. Сасиени и монографии А. Кофмана и Г. Дебазея [85]. Многие вопросы теории расписаний детально рассматриваются в монографиях В. В. Шкурбы, Т. П. Подчасовой, А. Н. Ппшчук и Л. П. Тур [211], А. И. Семенова и В. М. Португала [156], Р. Кон- вея, В. Максвелла и Л. Миллера [254], X. Мюллера-Мербаха [354], А. Л. Лурье [111], А. А. Воронова [39], Н. П. Бусленко [31], С. Ашура [220], С. А. Думлера [63], А. А. Корбута и Ю. Ю. Финкель- штейна [83], Н. Б. Мироносецкого [118]. Достаточно полное описание методов решения задач упорядо- чения содержится в обзорных статьях Р. Л. Сиссона [405, 406], В. Я. Бурдюка и В. В. Шкурбы [26], В. Н. Буркова и С. Е. Ло- вецкого [28, 29], С. Е. Осколковой и И. О. Осколкова [130], П. Мел- лора [345]. Следует отметить также обзорные статьи [65, 117, 203, 205, 213, 227, 260, 271, 307, 389, 391].
ГЛАВА2 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА В большинстве ситуаций, рассматриваемых в данной книге, построение оптимальных расписаний сопряжено с решением некоторых комбинаторных задач, сформули- рованных относительно заданных неупорядоченных или частично упорядоченных множеств. Эти задачи, как пра- вило, состоят в отыскании наилучших «доупорядочений» заданных множеств либо наилучших разбиений их на подмножества. В этой главе в весьма сжатой форме приводятся не- которые, необходимые в дальнейшем, сведения из теории графов, теории упорядоченных множеств, теории опти- мизации функций на множествах перестановок. § 1. Множества, отношения, отображения, графы 1.1. Понятие множества широко используется не толь- ко в математике, но и других науках. Интуитивно под множеством принято понимать совокупность, объедине- ние некоторых элементов, предметов, объектов. В раз- личных науках обычно фиксируются некоторые множест- ва предметов, свойства которых исследуются в данной науке. Например, в алгебре рассматриваются множества уравнений и многочленов, в геометрии — множества точек, прямых, плоскостей, в календарном планировании — множество работ, в антропологии — множество людей и т. д. J Понятие отношения является таким же первичным, как и понятие множества. Говоря, что элементы или множества находятся в некотором отношении, подразу- мевают установление между ними некоторой определен- ной связи, зависимости. Примерами отношений являются отношения равенст- ва, принадлежности (множеству), входимости (подмно- жества в множество).
28 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА (ГЛ. 2 Пожалуй, основными изучаемыми в математике отно- шениями являются отображения. Отображение Г мно- жества X во множество Y есть такое отношение, когда каждому элементу х ЕЕ X ставится в соответствие мно- жество элементов Гя Y. В этих обозначениях X — область определения отображения, Y — область его зна- чений, Гх — образ элемента х. Отображение Г"1, обрат- ное отображению Г, определяется как такое отношение, когда каждому у е= Y ставится в соответствие множество Г-1г/ тех х g= X, для которых у е= Гя, Г*1?/ — прообраз у. Если Гя для каждого х состоит из единственного элемента у & Y, то отображение обычно называют опе- ратором. Операцией называют отображение подмножеств мно- жества А в элементы множества А. Так, бинарная опе- рация, или бинарная композиция, есть оператор, отобра- жающий пары (а, Ь) элементов из А в элементы множества А. Примерами бинарных операций могут служить ариф- метические операции, теоретико-множественные операции такие, как объединение и пересечение множеств. ► ^1.2. Удобной и наглядной формой представления мно- жеств с определенными на них отношениями являются графы. Графом обычно принято называть следующую кон- струкцию. Заданы п точек, произвольно расположенных на плоскости. От некоторых точек (не обязательно от каждой) к некоторым другим точкам проведены стрелки. Можно считать, что стрелки определяют некоторое отоб- ражение точек в другие точки из числа заданных. В общем случае считается, что задан граф, если зада- ны непустое множество X и отображение Г множества X в X. Граф мы будем обозначать через G = (X, Г). Очевидно, любое так определенное конечное (со срав- нительно небольшим количеством элементов) множество с заданным на нем отношением допускает приведенное выше геометрическое представление. Это представление (в некотором фрагменте) удобно бывает и для бесконеч- ных множеств. Частным (вырожденным) случаем графа является нуль-граф: нуль-граф состоит из изолированных элемен- тов, иными словами, для любого х в нуль-графе Га? = ф*
§ 1] МНОЖЕСТВА, ОТНОШЕНИЯ, ОТОБРАЖЕНИЯ, ГРАФЫ 29 В отличие от этого в полном графе для любого х мно- жество Yx = X (полным называется и граф, для которого Гж = X \ {ж}). В соответствии с графическим представлением принято называть элементы множества X точками или вершинами (узлами) графа, а пары и = (х, у) такие, что х е X, у Тх,—дугами графа. Множество всех дуг в графе будем обозначать через U. В дуге и = (х, у) вершины х и у — граничные вер- шины, при этом х — начало дуги, у — конец дуги; го- ворят также, что дуга исходит из х и заходит в у. Дуга (я, У) — стрелка — имеет ориентацию, она направлена от х к у. Дуга (я, х) называется петлей. Часто в задачах в отношении между образом и про- образом ориентация нас не интересует, важно лишь то, что вершины х и у соединены дугой. Будем говорить в этом случае, что вершины х и у соединены ребром [х, у] (графически это соответствует тому, что точки соединя- ются линиями, а не стрелками). Множество ребер мы будем обозначать через U. Графы с дугами называются ориентированными, гра- фы с ребрами — неориентированными. В рассмотрениях часто используется представление графа перечислением множества X его вершин и множест- ва U дуг или множества U ребер. Будем обозначать через G == (X, U) ориентированные графы, через G = (X, U) неориентированные графы, обо- значение G = (X, Г) сохраним, в основном, для утверж- дений, справедливых для ориентированных и неориен- тированных графов. Граф G1 = (X1, Г1) будем называть частичным графом графа С2 = (X2, Г2), если X1 = X2 = X и для каждого Е X множество Г1# CS Г2ж (множество дуг — или ре- бер — С2 содержит множество дуг — или ребер — G1). Граф G1 = (X1, Г1) называется подграфом графа G2 = == (X2, Г2), если X1 GZ X2 и Г1# = P^QX1 (любая дуга — или ребро — (х, у) из G2 содержится в графе (?, если я е X1 и у е X1). 1.3. Понятие пути, контура, цепи, цикла, связности есть понятия некоторых отношений, порождаемых в X отношением Г.
30 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА [ГЛ. 2 Дуги (ребра) и и v смежны, если они различны и име- ют одну общую граничную вершину. Вершины х и у смеж- ны, если они различны и соединены ребром или дугой. Путем в графе G = (X, U) называется последователь- ность дуг м2, • • • , wm, когда конец каждой пред- шествующей дуги совпадает с началом следующей; иными словами, когда последовательность дуг имеет вид (^1, З'г)» (^2? *^з)> • • • , (^п-1» ^п)« (!•!) Здесь — начало пути, хп — конец пути. Контур — это путь, у которого хх = хп; элементар- ный контур не содержит других совпадающих вершин, кроме хг и хп. Понятиям пути и контура в неориентированном графе соответствуют понятия цепи и цикла. Граф G = (X, U) называется связным, если любые две его вершины можно соединить цепью. Компонентой связности графа G называется любой его подграф, который наряду с некоторой вершиной х содержит и все вершины, с которыми х в G сое- динена цепью. Связный граф состоит из одной компо- ненты связности. Различные компоненты связности гра- фа образуют разбиение множества X. Понятие связности распространяется и на ориентиро- ванные графы G = (X, UY Для этого достаточно все дуги (х, у) GE U заменить ребрами [я, у} и воспользо- ваться приведенными определениями. Локальной степенью вершины графа называется число ребер (дуг), инцидентных этой вершине. Если граф ори- ентированный, то число дуг, исходящих (заходящих) из некоторой вершины, называется по л у степенью исхода (захода) этой вершины. 1.4. Среди графов особое место занимают так назы- ваемые деревья и прадеревья. Деревом называется связный неориентированный граф, имеющий не менее двух вершин и не содержащий цик- лов. В дереве любые две вершины связаны единственной цепью. Деревьями часто называются и ориентированные гра- фы, если они удовлетворяют перечисленным условиям без учета ориентации их дуг.
S 2] УПОРЯДОЧЕННОСТЬ 31 Связный ориентированный граф без контуров назы- вается прадеревом с корнем х [х вершина графа), если в вершину х не заходит ни одна дуга, а в каждую из остальных вершин заходит ровню по одной дуге. Если ориентированный граф не содержит петель и контуров, то все его вершины можно распределить по рангам (слоям). При этом к первому рангу относят все те вершины исходного графа, полустепень захода которых равна нулю. Удаляя эти вершины вместе с инцидентны- ми им дугами, получаем некоторый подграф. Если этот подграф не пуст, то все его вершины, полустепень захода которых равна нулю, относят ко второму рангу, удаляя их вместе с инцидентными им дугами. Процедура по- вторяется до тех пор, пока все вершины исходного графа не будут распределены по рангам. § 2. Упорядоченность В этом параграфе приводятся необходимые сведения о свойствах упорядоченных множеств. Все рассматривае- мые множества предполагаются конечными. Поскольку природа элементов этих множеств для нас безразлична, не нарушая общности, будем рассматривать множества натуральных чисел. 2.1. Пусть N = {1, 2, . . . , п}. Бинарное отношение —> на множестве N называется отношением строгого по- рядка (или строгим порядком), если оно антирефлексивно, т. е. ни для какого i ЕЕ N не выполнено i -> i, и тран- зитивно, т. е. если i -> / и j -> к, то i -> к. Отсюда сле- дует, что это отношение антисимметрично, т. е. если вы- полнено г ->• /, то невозможно / г. Если i —> /, то говорят, что элемент i предшествует элементу /; если, кроме того, не существует к такого, что i -> к и к -> /, то элемент i непосредственно предшест- вует элементу /. Элементы i и ] называются несравнимы- ми, если не имеет место ни одно из соотношений i —> j и 7 -> i. Отношение строгого порядка —> называется совершен- ным строгим порядком, если для любых несовпадающих i и ] имеет место i —> / или / -> г. Множество N с заданным на нем отношением строгого порядка называется упорядоченным множеством. Если
32 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА [ГЛ. 2 отношение —> — совершенный строгий порядок, то N — линейно упорядоченное множество. В противном случае N — частично упорядоченное множество. Элемент i ее N называется минимальным (максималь- ным), если не существует j ЕЕ N такого, что ] -+ i (соот- ветственно i -> /). Остальные элементы называются про- межуточными. Если N — линейно упорядоченное мно- жество, то оно содержит ровно один максимальный, один минимальный и п — 2 промежуточных элементов. Упорядоченное множество N допускает простую гра- фическую интерпретацию. Ориентированный граф (TV, U) называется графом отношения строгого порядка за- данного на множестве 7V, если (i, 7) е= U в том и только в том случае, когда i 7. Граф, очевидно, не содержит петель и контуров и является транзитивно замкнутым. Если отношение -> — совершенный строгий порядок, то любая пара вершин графа соединена дугой. Более распространенным является представление упо- рядоченного множества в виде графа (N, Up) отношения, называемого редукцией отношения строгого порядка. Граф (М Ср) отличается от графа (TV, tZ) тем, что он не содер- жит дуги (г, 7) всякий раз, когда существует путь из i в 7, отличный от дуги (f, 7). Иными словами, дуга (£, /) е= Е= тогда и только тогда, когда i непосредственно предшествует 7. Известно, что транзитивное замыкание редукции строгого порядка на конечном множестве совпадает с исходным порядком. Редукция является минимальным отношением, позволяющим восстановить исходное отношение строгого порядка в результате транзитивного замыкания. Граф (7V, СГР), как правило, содержит значительно меньше дуг по сравнению с графом (2V, U). В ряде случаев упорядоченное множество представ- ляется неориентированным графом (TV, U) при следующем дополнительном соглашении: если i непосредственно пред- шествует 7, то вершина j на рисунке изображается выше вершины i и эти вершины соединяются ребром. На рис. 2.2.1, а изображен граф (TV, U) строгого по- рядка заданного на N — {1, 2, 3, 4, 5, 6, 7, 8, 9} усло- виями 4 -> 3, 7 9, 3 2, 1 -> 3, 2 -> 5, 6 7, 6 8.
§ 2J УПОРЯДОЧЕННОСТЬ 33 На рис. 2.2.1, б и рис. 2.2.1, в приведены графы (АГ, Up) и (TV, U). 2.2. Пусть на множестве N задано отношение стро- гого порядка Подмножество М N называется совершенным, если отношение —> на М — совершенный строгий порядок. Линейно упорядоченное множество М называется также цепью. а) О Рис. 2.2.1. Если на любом подмножестве М' С2 7V, содержащем совершенное множество 71/, отношение -> уже не явля- ется совершенным строгим порядком, то множество 71/ называется максимальным совершенным. Нетрудно убе- диться, что для любого элемента i €= TV существует мак- симальное совершенное подмножество 71/ множества TV, содержащее этот элемент. Линейно упорядоченное мно- жество 71/ в этом случае называется максимальной цепью, содержащей элемент г. В частности, максимальная цепь может состоять из единственного элемента i. В любом упорядоченном множестве могут быть вы- делены попарно непересекающиеся цепи, содержащие в совокупности все элементы этого множества. Множество таких цепей называется D-разложением упорядоченного множества. Теорема 2.1. Минимальное число цепей в D-раз- ложении упорядоченного множества N равно максималь- ному числу s попарно несравнимых элементов этого мно- жества. Доказательство. Если $ = 1, то 7V — линейно упорядоченное множество и искомое /^-разложение содер- жит одну цепь. Пусть утверждение справедливо для всех 2 В. С. Танаев, В. В. Шкурба
34 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА [ГЛ, 2 $ к — 1 и максимальное число попарно несравнимых элементов множества N равно к. Обозначим эти элементы через гх, г2, ...» Каждый элемент iv, v = 1, к, явля- ется некоторой цепью. Пусть вообще Ci, С2, • • • » Ск — некоторые непересекающиеся цепи элементов множества N и С = (J_ v=l,k Покажем, что если N\C=/=0 и a€EN\C, то сущест- вует D-разложение множества С (J {а}, содержащее к цепей. Пусть Uy, — множество всех тех элементов Cv, ко- торые предшествуют а; Д — множество всех тех эле- ментов Су,, которым предшествует а; Р? — множество всех элементов не сравнимых с а. Обозначим U = = U_^V, ь= Р= Очевидно, P(J?7UL== v=l,fc v=i, к v=i, к = С. Теорема будет доказана, если удастся показать, что существуют такие что множество С'= C\{Um\JLJ содержит не более А — 1 попарно не- сравнимых элементов. Действительно, в этом случае ми- нимальное D-разложение множества С", по предположе- нию, будет содержать не более к — 1 цепей, а D-разло- жение множества CUfa} будет дополнительно содержать цепь Z7TOU {a}ULj. Предположим, что для любого 1 v к множество А у, =PlJi7\Z7v содержит к попарно несравнимых эле- ментов Qy> = {gj, ql, . . . , qx}. Пусть эти элементы про- нумерованы таким образом, что Е Поскольку qt, Uy,, то qt ЕВР,,' Следовательно, множество Q = (J Q* »=Ък содержит, по крайней мере, один элемент, принадлежа- щий С., и не сравнимый с а, для всех v = 1, к. Выберем среди всех элементов Q, принадлежащих С» и не срав- нимых с а, максимальный элемент by,, v = 1, к. Пока- жем, что элементы Ь19 Ъ2, . . . , ЪК попарно несравнимы- Действительно, если Ьа -> Ь$ и b$ ЕЕ Qr, то & -> q£> что противоречит условию несравнимости элементов мно- жества Qr. Таким образом, элементы Ъг, Ь2, . . • , Ьк по- парно несравнимы и не сравнимы с элементом си Однако, по предположению, множество N содержит не более к
§ 2] УПОРЯДОЧЕННОСТЬ 35 попарно несравнимых элементов. Следовательно, сущест- вует такое 1 < т к, что множество Ат содержит не более к — 1 попарно несравнимых элементов. Аналогично можно показать, что существует такое 1 Z Л, что множество В i = Р J L\ L i содержит не более к — 1 попарно несравнимых элементов. Любое подмножество Т попарно несравнимых элемен- тов множества Cf = В г принадлежит Ат или (h)Bz. Действительно, если бы х, у GE Т, х ЕЕ Z7\ Um и у L\ Li, то х _а -> у и, следовательно, х у, что противоречит условию несравнимости этих элементов. Следовательно, и множество Г, содержащее максимальное число попар- но несравнимых элементов С", также принадлежит Ат или (и) В г, и число этих элементов не превосходит к — 1. Теорема доказана. 2.3. Для нахождения D-разложения с минимальным числом цепей (так же как и для нахождения максималь- ного числа попарно несравнимых элементов) упорядочен- ного множества можно использовать методы линейного программирования. Пусть {С2, С2, . . . , Сг} — некоторое D-разложение упорядоченного множества N и цепь имеет вид -> f2 -> • • • -> if Сопоставим этому разложению набор значений (п + I)* 2 переменных х^, i9 j = О, п, полагая ^oo = n — к xoj = 1, если ] является минимальным эле- ментом некоторой цепи разложения (в частности, яОг1 = = 1); xjq = 1, если / является максимальным элементом некоторой цепи разложения (в частности, xij>Q = 1); х^ = = 1, если в некоторой цепи разложения элемент i непос- редственно предшествует / (в частности, = 1, к = = 1, г — 1); значения остальных переменных полагаем равными нулю. Для того чтобы набору значений переменных х# соответствовало некоторое D-разложение, необходимо, чтобы выполнялись ограничения п п 2 2 (2.1) j=o j=o п п 2 2 xji = 1? i = 1, (2.2) 5=о 5=о _ Яг;>0, 7 = 0, п. (2.3) 2*
36 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА [ГЛ. 2 Если, кроме того, потребовать, чтобы переменные х^, за возможным исключением я00, принимали только зна- чения 0 и 1, причем каждый раз, когда i не предшествует j в 7V, значение Хц = 0, то оказывается возможным уста- новить взаимно однозначное соответствие между множест- вом всех D-разложений и множеством наборов значений переменных х^. Введем в рассмотрение матрицу | ||, f, j = 0, тг, с элементами с00 = 1, с07- = CjQ = 0 для всех j = 1, тг, ctj = 0, если i —> j в N, и = — ос в противном случае для всех i, j — 1, п. Рассмотрим задачу максимизации линейной формы п . 2 Cijxij (2-4) i, j=0 при ограничениях (2.1) — (2.3). Эта задача является част- ным случаем транспортной задачи линейного программи- рования, у которой существует целочисленное решение. Вместе с тем всякий раз, когда = — ею, естественно полагать х^ = 0. Следовательно, задача построения D-разложения с на- именьшим числом цепей сводится к транспортной зада- че, для решения которой известны весьма эффективные методы. 2.4. Для разработки алгоритмов построения миними- зированных D-разложений желательно располагать кри- териями, которые позволяли бы установить, существуют или нет D-разложения с минимальным числом цепей, содержащие в качестве составляющей данную цепь С. При этом естественно рассматривать максимальные це- пи С. Пусть $ — максимальное число попарно несравнимых элементов множества N с заданным на нем порядком а С == (4, г2, • • • , ir) — некоторая максимальная цепь этого множества. Если множество N \ С содержит не более $ — 1 попарно несравнимых элементов, то в силу теоремы 2.1 указан- ное разложение, очевидно, существует. В ряде случаев более удобным оказывается иной подход.
§ 2J УПОРЯДОЧЕННОСТЬ 37 «Уплотним» цепь С введением новых элементов, от- личных от элементов множества N. Если в цепи С эле- мент i непосредственно предшествует элементу /, то вве- дем новый элемент к и упорядочим их так, чтобы i -+ к j. Эта операция проводится для всех пар (г, /) элементов исходной цепи С. В результате получаем уп- лотненную цепь С = (гх, кх, i2, к2, i3, . . . , kr-ц ir) и рас- ширенное упорядоченное множество Я = NIJ6L Обозна- чим максимальное число попарно несравнимых элемен- тов множества 7V через Очевидно, £ > Теорема 2.2. Для того чтобы D-разложение с минимальным числом цепей содержало данную макси- мальную цепь С, необходимо и достаточно, чтобы з = з. Доказательство. Пусть {С^, С2, . . . , Cs} — минимальное по числу цепей D-разложение множества N, содержащее цепь С. Заменяя в этом разложении цепь С уплотненной цепью С, получаем ^-разложение множест- ва содержащее 5 цепей. В силу теоремы 2.1 значение $ $ и, следовательно, з = з. Пусть s = з. Покажем, что множество N \ С, или что то же N \ С, содержит не более s — 1 попарно несравни- мых элементов. Предположим, что оно содержит $ попар- но несравнимых элементов, и обозначим множество этих элементов через Н. Если j ЕЕ С, то элемент j сравним хотя бы с одним элементом множества Н. Поскольку С — максимальная цепь, то не существует h ЕЕ Н такого, что h —ir или ir —> h. Следовательно, существуют /" ЕЕ ЕЕ С такие, что к± -> -> hr j" к^, где hr h2 — некоторые элементы множества Н. Среди f и удов- летворяющих указанным условиям, выберем соответст- венно максимальный и минимальный элементы. Если /" -> или j" — f, то h2 Фи h2 -> Лх, что противоречит условию несравнимости элементов мно- жества Н. Если f -> то по построению существует элемент ki е С \ С, удовлетворяющий условию /' -> ki~^ /" и не сравнимый ни с одним элементом множества Н. Это про- тиворечит условию, что множество 7? содержит не более 5 попарно несравнимых элементов. Следовательно, множество N\C содержит не более 5 — 1 попарно несравнимых элементов, и исходное мно-
38 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА [ГЛ. 2 жество N может быть разложено на $ цепей, одной из которых является цепь С. Теорема доказана. 2.5. Наряду с разложением на цепи в теории распи- саний рассматриваются разнообразные «доупорядочения» частично упорядоченных множеств. Пусть (ДГ, ->) — упорядоченное множество N с за- данным на нем отношением строгого порядка Будем говорить, что (7V,>) порождает (7V, =>)-упорядоченное множество N с заданным на нем отношением строгого порядка =>, если из условия i -> j следует i J. В част- ности, множество (2V, ->) порождает само себя. В практическом отношении желательно располагать способом построения всех линейно упорядоченных мно- жеств, порождаемых данным частично упорядоченным множеством, а также возможностями оценки или непо- средственного подсчета их числа. Иными словами, нас будут интересовать вопросы, связанные с построением перестановок элементов множества 2V, удовлетворяющих заданному на N отношению строгого порядка Пере- становка (4, г2, . • . , in) элементов множества N назы- вается допустимой относительно заданного на N отно- шения строгого порядка если из условия —> ip следует v < р». Процедура построения допустимой перестановки мо- жет быть описана следующим образом. Пусть отмечено Z 0 элементов множества N, элемент i не отмечен и не существует другого неотмеченного элемента / такого, что / -> i. Выберем элемент i в качестве (Z + 1)-го эле- мента искомой перестановки. Отметим элемент г. Повто- ряя эту процедуру п раз, получаем, очевидно, допусти- мую относительно —> перестановку элементов множества ДГ. Если на каждом шаге принимать все альтернативные решения, то можно построить все допустимые пере- становки. Обозначим число таких перестановок через р. Множество N с учетом заданного на нем отношения строгого порядка —> можно представить, вообще говоря, в виде объединения нескольких, для определенности т + 1, попарно непересекающихся подмножеств ДГ0, N19 . . . , Nm. Множество No содержит все те элементы iEN, для которых выполняется условие: не существу- ет у €= N такого, что i —7 или 7 г. Множество 2Vfc, к = 1, т, содержит все те элементы i Е= N, для которых
S 2] УПОРЯДОЧЕННОСТЬ 39 выполняется условие: существует j^Nk такое, что i j или j i, и не существует таких i Е и j е N \ Nk, qT0 или j •—>i. Графически множество NQ представ- ляет собой совокупность изолированных вершин графа отношения строгого порядка, а множества Nk, к = 1, т,~ компоненты связности этого графа, каждая из которых содержит более одной вершины. Обозначим через рк множество перестановок элементов множества Nk, удовлетворяющих заданному на нем от- ношению строгого порядка. Очевидно, р0 = п0!. Здесь пк — число элементов множества Nk9 к — 0, п. Пусть Гу, / ЕЕ число элементов i Е таких, что i -> J; Rk — множество различных значений гу; 1к (г) и Lk (г) — число элементов / ЕЕ Nk4 для которых = r и г соответственно. Теорема 2.3. Число допустимых перестановок элементов упорядоченного множества N равно Р — &! II УД > г®е Рк^ Ц ^n^-r-Lk(r). (2.5) fc=0, т к r^Rk Доказательство. Если т = 0, то р = р0 = п\. Пусть т > 0. Допустимую относительно заданного отно- шения строгого порядка перестановку элементов множе- ства Nm можно разместить на п возможных линейно упо- рядоченных позициях С™т способами. Число различных допустимых перестановок элементов множества Nm рав- но рт. Предполагая справедливость первой формулы при всех к < /п, имеем Р-С>.рт(п^пт)\ П = П ^г- (2-6) ЬвзЪ, т—1 fc=0, 7П Пусть, для определенности, Rk = {гх < г2 < . . . < г^}. Среди пк линейно упорядоченных позиций элементы множества Nk с Гу = ту не могут занимать первых ту по- зиций. Таким образом, число возможных размещений этих элементов не превосходит величины 4^* Если элементы с Гу = ту размещены, то, поскольку элементы с г/ = r^i не могут занимать первых позиций, число возможных размещений элементов с Гу = Гр._х не превос-
io ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА [ГЛ. 2 ходит величины )• Следова- тельно, число возможных размещений элементов множе- ства Nk с rj = и г; = Гре не превосходит величины fl Ап^г-ь^гу Повторяя конечное число раз эти г=гН-1’ Гр, рассуждения, убеждаемся в справедливости второй фор- мулы. Теорема доказана. Для вычисления значения рк целесообразно исполь- зовать рекуррентный метод, основанный на следующем утверждении, справедливость которого непосредственно следует из описанного выше способа построения допусти- мых перестановок. Пусть (Nk) — множество минимальных (макси- мальных) элементов множества Nk. Обозначим через рк (i) число допустимых перестановок элементов множе- ства Nk \ {i}. Тогда рк= 2 Pk(j) = 2 Рк (О- Приме- ^Ик няя эту формулу к исходному множеству Nk, затем к каж- дому из множеств, образуемых из Nk удалением одного из минимальных (максимальных) элементов и т. д., полу- чаем в итоге значение рк. При этом естественно использо- вать первую часть теоремы 2.3* § 3. Смешанные (дизъюнктивные) графы Смешанные графы получили широкое распростране- ние для описания ситуаций, в которых отношение поряд- ка необходимо распространить не на все, а на отдельные пары ранее несравнимых элементов частично упорядочен- ных множеств. 3.1. Пусть (N, ->) — конечное частично упорядоченное множество N с заданным на нем строгим порядком а В -— некоторая совокупность пар несравнимых элемен- тов этого множества. Множество (N, =Ф) порождается множеством (N, ->), если из условия i -> j следует i ==> J. Среди всех множеств, порождаемых множеством (N, —>), выделим множества (JV, =^), удовлетворяющие условию: если пара {/, /} е В, to i j или j ==> i. Обозначим совокупность таких мно- жеств через К. Будем говорить, что множество (TV, =>)
§ 3] СМЕШАННЫЕ (ДИЗЪЮНКТИВНЫЕ) ГРАФЫ 41 порождается множеством (А, ->) по совокупности В, если оно принадлежит К и не порождается никаким другим множеством из К. Совокупность этих множеств обозна- чим через А. В частности, если В — совокупность всех пар несравнимых элементов множества (N, ->), то К — совокупность всех линейно упорядоченных множеств, порождаемых множеством (А, ->). Аналогичным образом можно ввести понятие множе- ства, порождаемого неупорядоченным множеством N по совокупности В. Описанная ситуация графически может быть представ- лена следующим образом. Пусть (TV, U) — граф отно- шения Соединим вершины I и j этого графа (неориен- тированным) ребром U, j] всякий раз, когда пара {i, j} ЕЕ ЕЕ В. Заметим, что в этом случае граф (TV, U) не содержит дуги, соединяющей вершины i и у. В результате получаем смешанный граф G = (N, U, U), содержащий множество вершин N, множество дуг U и множество ребер U. Заменим в этом графе каждое ребро [г, у] €Е U одной из дуг (i, ]) или (у, i). Если полученный ориентированный граф не содержит контуров, то, используя операцию транзи- тивного замыкания, получаем граф (A, U) искомого отношения =>. Множество (А, =>) принадлежит совокупности К. Действительно, множество (А, ==>) порождается множе- ством (А, ->), поскольку граф (A, U) является частичным подграфом графа (A, U). Для всех пар {i, у} ЕЕ В имеет место i ==> у или у => г, поскольку граф (A, U) содержит одну из дуг (г, у) или (у, 0. Множество (А, =Ф), наконец, не порождается ни одним из множеств совокупности К, отличным от (А, =£>), так как граф (A, U) не содержит «лишних» дуг. С другой стороны, каждому множеству из К соответ- ствует некоторый ориентированный граф без контуров, полученный из графа G в результате замены каждого его ребра дугой. Таким образом, существует взаимно однозначное соот- ветствие между элементами множества К и бесконтурны- ми графами, порождаемыми смешанным графом G,
42 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА [ГЛ. 2 Смешанный граф G иногда называют дизъюнктивным графом. Это название непосредственно связано с опера- цией замены ребра дугой, имеющей два возможных взаим- но исключающих исхода. 3.2. Пусть G = (N, tf, U) — некоторый смешанный граф (без петель, кратных дуг и ребер). Обозначим через Kg множество всех ориентированных графов, порождае- мых данным смешанным графом в результате замены всех его ребер дугами, а через Kg — множество тех графов из KG, которые не содержат контуров. Очевидно, | KG | = 21 и | Kg | #= 0 тогда и только тогда, когда граф (TV, U) не содержит контуров. Построение графов множества KG не вызывает особых затруднений. Пусть G^ — смешанный граф, у которого I > О вершин отмечено и существует неотмеченная вершина i, в которую не заходит ни одной дуги, исходящей из не- отмеченной вершины. Отметим вершину i и в случае, если в G^ есть неориентированные ребра, инцидентные этой вершине, заменим их исходящими из нее дугами. Полученный в результате граф обозначим через Нетрудно убедиться, что любой элемент множества Kq может быть получен из исходного графа 6?(0) == G ко- нечным числом указанных преобразований. Многие задачи теории расписаний формулируются как задачи нахождения во множестве Kg графа или гра- фов, обладающих определенными экстремальными свой- ствами. При организации процедур поиска таких графов целесообразно располагать информацией о количествен- ных характеристиках и свойствах множества Kg- 3.3. В качестве верхней оценки числа р (G) = | KG | элементов Kg может быть выбрано число перестановок, допустимых относительно заданного на N графом G отно- шения строгого порядка При этом непосредственно используется теорема 2.3 § 2 гл. 2. Способ вычисления нижней оценки величины р (G) основан на систематическом использовании следующего, в достаточной мере очевидного приема. Пусть 91 == {N^ N^, . . ., Nr} — упорядоченное раз- биение множества N на попарно непересекающиеся непустые подмножества, удовлетворяющие условию: если
» й, СМЁШАННЫЕ (ДИЗЪЮНКТИВНЫЕ) ГРАФЫ 43 I е Л’р и j е Nq, ТО р < q для любой дуги (i, /) GE и. В качестве 91 может быть выбрано, например, разбиение множества N по рангам относительно графа (TV, U) или разбиение N по числу вершин, из которых существует путь в данную вершину в графе (TV, U). Обозначим через Gi = (Nh Ut) подграф графа G с множеством вершин Nh а через G? = (Ni, Uj) — компо- ненты связности этого подграфа, I = 1, h, к = 1, sb Очевидно, Gi, а следовательно, и G? не содержат дуг множества ?7. Разбиение 91 и граф G порождают граф G* == (ТУ, £7*, £7*), получаемый из G в результате замены ребер [i, j] е U дугами (i, j) всякий раз, когда i G Np, j ЕЕ Nq и р < q. Граф (ТУ, £7*) не содержит контуров. Для любого связного неориентированного графа (Л\ Ь) имеет место соотношение р(ТУ, £7) (3.1) Действительно, максимальное дерево в таком графе содержит | N | — 1 ребер. Поскольку дерево не содержит циклов, то число способов бесконтурной ориентации его ребер равно правой части неравенства (3.1). Каждой ориентации ребер дерева соответствует, по крайней мере, одна бесконтурная ориентация ребер исходного графа. Таким образом, logs R (<?•)> 2(1^1- !)• (3-2) /с, I Среди дуг множества U* \ U выделим дуги (i, j), для каждой из которых в графе (TV, U*) не существует пути из i в у, отличного от дуги (i, j). Обозначим множество всех таких дуг через U*- Построим | Ut | графов: Gl = {N, ЁГ1( U*), G\ = (N, Ul U*), . . G* . = ( 1ит1 = (Л7, £7^*^, £7*), отличающихся от G* ориентацией одной ИЗ дуг множества U*T. Графы (N, U*), к = 1, 2,ч . ., | Ё7*т|,
44 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА (ГЛ. 2 не содержат контуров по построению и 1?т1 p(G)>p((7)+ 2 Р(£)- г=1 (3.3) Если в качестве исходного графа G выбирать последо- вательно графы Gi, G2, . . ., G^ , то описанная про- цедура позволяет получить нижние оценки значений р (Gr). При этом получаем соотношения, аналогичные (3.3), и производные графы с меньшим числом неориентированных ребер, для которых в свою очередь может быть применена описанная процедура. Пусть дуга (i, 7) G U*T, i NSP, j Nq, р < q, и Gr — граф, полученный из G* заменой этой дуги дугой (7, V). Нетрудно видеть, что iog2 р (<?;)> 2 (1^?|-1)+ к + 2 (|2V?|-1)-|^p|-|M| + 2. (3.4) Соотношение (3.4) позволяет ограничить итерацион- ный процесс получения нижних оценок значения р (G) любым заранее выбранным числом шагов. 3.4. Для вычисления точного значения величины р (G) заменим в G каждое ребро [i, 7] GE U парой дуг (г, 7) и (7, i) и выделим в полученном ориентированном графе все элементарные контуры, длина которых больше двух, Hi? р-2» . . (список 1). Пусть — контур с наимень- шим числом ребер, содержащий ребра, наиболее часто встречающиеся в контурах списка 1. Заменим в G каж- дое ребро, принадлежащее р1? дугой. Если jxj содержит иг ребер, то в результате получим 2”1 различных графов G*. = (TV, {7fe), к = 1, 2, . . ., 24 Пусть, для опре- деленности, контур Ц! содержится в графе G2??1. Число графов множества ^g, содержащих контур р1? равно, qI очевидно, 2 2 . Отметим графы Gk, к = 1, 2, . . 2Г> — 1. Для каж- дого из этих графов построим список контуров, удаляя
45 СМЕШАННЫЙ (ДИЗЪЮНКТИВНЫЕ) ГРАФЫ § 3] из списка 1 соответствующие контуры. Таким образом, на первом шаге оказывается рассмотренным исходный граф G, отмеченными — графы Gx, G2, . . ., G^^ и ото- бранным — граф G2D1. На втором шаге аналогичным обра- зом рассматривается граф G±. В результате этот граф ока- зывается рассмотренным, некоторые графы G2n+1, . . . . . .» ~ отмеченными и некоторый граф G2l)1+1?2 — отобранным и содержащим контур jl2. После выполне- ния т шагов имеем W I ГТ , р (G) = 2|г;| - 2 2 - 2 12IL'9' - Р (Go)l, (3.5) 1=1 qGQ 1 Где wi == 2 Q — множество индексов отмеченных, но не рассмотренных до тп-го шага включительно графов; р (GQ) — число бесконтурных графов, порождаемых гра- фом Gq в результате замены всех его ребер дугами. При реализации этого метода в ряде случаев оказы- вается целесообразным выделять контуры в графах после- довательно по мере выполнения шагов алгоритма. 3.5. Известно, что любая из двух перестановок эле- ментов множества N может быть получена из другой ко- нечным числом транспозиций. Аналогичная ситуация имеет место и в случае, когда перестановки являются до- пустимыми относительно заданного на N строгого по- рядка. Пусть G' = (TV, U') и G” = (N, U") — различные графы из KG. Обозначим через е (G', G") — число ребер U, /1 е U таких, что (f, у) ЕЕ U', a (J, i) EE.U”. Пусть Е (Gf, G") — наименьшая из абсолютных величин раз- ностей рангов вершин i и j, вычисленных для всех ука- занных пар {Z, j} относительно графа G'. Теорема 3.1. Если G', G" ЕЕ KG и s (Gr, G") = т, то существует такая последовательность графов G' = = Gq, G17 . . ., Gm = Gn из KG, что 8 (Gi-i, G[) = 1 и E (Gi~lt Gi) ~ E (G^, G"), Z.= 1, m. Если множество U = 0, то существует последовательность графов G' = Go, Glf . . ., Gr = G" из KG такая, что 8 (G^1? Gt) ~ = E (G^i, Gt) = 1, l^TTr.
46 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА [ГЛ. 2 Доказательство. Пусть граф G' содержит дугу (а, Ь), графв" — дугу (Ь, а), граф Gx получен из гра- фа G' в результате замены дуги (а, Ь) дугой (&, а), причем Е (G', Gx) = £ (G', G"). Для доказательства первой части теоремы достаточно показать, что Gr е Kq. Допустим от противного, что существует контур в графе G1? а сле- довательно, не содержащий дуги (а, Ь) путь из а в b в графе G'. Поскольку абсолютные величины разности рангов вершин, инцидентных каждой дуге этого пути, меньше чем Е (G', G"), то в графе G" существует тот же путь из а в b и, следовательно, G" не принадлежит Kq. Получаем противоречие. Для доказательства второй части теоремы достаточно рассмотреть случай, когда 8 (G', G") = 1. Пусть графы G' и G" отличаются ориентацией ребра [а, Ь], причем G' содержит дугу (а, Ь), а граф G" — дугу (Ь, а). Возможны два случая: или граф G' содержит вершину с у= &, полу- степень исхода которой равна нулю, или он не содержит такой вершины. В первом случае предположим, что теорема справед- лива при числе вершин, равном п > 3, и докажем ее справедливость при числе вершин, равном п + 1. При п = 2 теорема очевидна. Удалим из G' и G" вершину с вместе с инцидентными ей дугами. Обозначим полученные частичные подграфы со- ответственно через G' и G". По предположению существует последовательность бесконтурных графов G'_j= Gq, G19 ... • • м ~ таких> что 8 (Pi-n Gi) = Е (Gi-n Gi) 1» I = 1, г. Присоединим вершину с вместе с инцидентными ей дугами к каждому графу этой последовательности. Полученная последовательность является искомой. Во втором случае единственной вершиной, полустепень исхода которой равна нулю, является вершина Ъ. Выбе- рем в G' вершину d, которая связана с Ъ дугой и для кото- рой R (b) — R (d) = 1, где R (х) — ранг вершины х в G'. Будем рассматривать нетривиальный случай, когда R (Ь) — R (а) >1 и, следовательно, d #= а. Обозначим через G' и G" графы, отличающиеся соответственно от G' и G" только ориентацией ребра [Ь, d]. Нетрудно видеть, что G' и G" не содержат контуров, отличаются ориентацией ребра [а, Ь] и содержат вершину d Ф Ь, полуСтепень ис-
ПЕРЕСТАНОВКИ. ПЕРЕСТАНОВОЧНЫЙ ПРИЕМ 47 § 4] хода которой равна нулю. Следовательно, к этим графам применима доказанная часть теоремы. Аналогичное за- ключение может быть сделано относительно бесконтур- ных графов 'G" и G". Действительно, они отличаются ори- ентацией ребра [6, d], и поскольку в них не существует пути, соединяющего вершины а и d, то эти графы содер- жат вершину е =# d, полустепень исхода которой равна нулю. Теорема доказана. § 4. Перестановки. Задачи упорядочения. Перестановочный прием 4.1. Понятие перестановки хорошо знакомо — распо- ложение элементов некоторого множества в любом поряд- ке (без повторений) представляет собой перестановку элементов этого множества. Перестановка обычно представляется последователь- ностью элементов (чисел) из N = {1, 2, . . п}. Символи- ческой записью этой конструкции является эх = .. . . ., in) или л == ([1], [2], . . [п]), где iK или [Л] — эле- мент из 7V, занимающий в последовательности л А-е слева место. Перестановка может быть представлена таблицей вида {(г, /)}> отражающей тот факт, что в перестановке элемент i е= N занимает j-е место. Определенное распространение получило представ- ление перестановки в виде матрицы Цх^Ц размерности n X п, элементами которой являются числа 0 или 1. Значение Хц = 1 при этом соответствует записи (j, /). В этой матрице сумма элементов, стоящих в каждой строке и каждом столбце, равна 1. Под задачей упорядочения понимается, как правило, задача построения одной или нескольких перестановок, удовлетворяющих определенным ограничениям и достав- ляющих экстремум некоторой функции или функциям, определенным на рассматриваемом множестве переста- новок. 4.2. В этом параграфе мы рассмотрим сравнительно простые задачи упорядочения, решение которых может быть получено с использованием так называемого пере- становочного приема. Суть этого приема заключается в предварительном исследовании влияния взаимного
48 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА (ГЛ. 2 расположения соседних элементов перестановки на значе- ние оптимизируемой функции. В ряде случаев это позво- ляет резко сузить множество возможных решений. Последнее характерно для ситуаций, в которых опти- мизируемой функции / (л), заданной на множестве всех перестановок элементов множества АГ, оказывается воз- можным сопоставить некоторую функцию со (i), i G= N, обладающую следующим свойством. Если л = (i1? i2, . . . • • •> h, > h ) И (D (ift) > <D (ift+1), то /(л)</ (л'), где л' отличается от л только транспозицией элементов h и 4+1- Для построения перестановки л*, которой соответству- ет наименьшее значение / (л), в этом случае достаточно упорядочить элементы N в порядке невозрастания значе- ний со (i), i G: N. Действительно, в противном случае осуществляя транс- позицию элементов ik и im, всякий раз, когда <о (im) > со (гД приходим к перестановке л*, и / (л*) не превос- ходит значения, соответствующего исходной перестановке. 4.3. Пусть даны два n-мерных вектора а = (а1? а2,... . . ., ап) и р = (р1? р2, . . ., р„), компоненты которых — действительные числа. Обозначим через л = (i1? г2, • • •> in) некоторую перестановку элементов множества {1, 2,... . . ., и}. Определим п /1(л) = SaAr (4.1) Требуется построить перестановку л* элементов мно- жества N, которой соответствует наименьшее значение /1 (я). Не нарушая общности, будем предполагать, что ком- поненты векторов аир пронумерованы так, что ах < а2 < . . . < ап. Рассмотрим перестановку л', отличающуюся от л транспозицией элементов и ц.+1. Имеем /1 (л') — /1 (л) = (ак — am) ф{ fe+1 - (4.2) Если pi/f > 01/м-р то эта разность неотрицательна. Таким образом, упорядочивая числа рг в порядке их невозрастания^ получаем искомую перестановку
§ 4] ПЕРЕСТАНОВКИ. ПЕРЕСТАНОВОЧНЫЙ ПРИЕМ 49 л*! = Gn • • •’ **)• Здесь р.* > р.* для всех к = к /с+1 — 1, п — 1. Теорема 4.1. Функция Д (л) достигает наимень- шего значения тогда и только тогда, когда меньшим соответствуют большие рг/с. 4.4. Рассмотрим задачу построения последователь- ности л2, которой соответствует наименьшее значение функции U . /2 (л) = шах ( 2 <*ik + Pi„)• (4.3) k=l Прежде всего найдем достаточные условия, при кото- рых /2 (я) /2 (л'), гДе отличается от л транспозицией элементов, занимающих k-ю и (к + 1)-ю позиции, т. е. еСЛИ Л == (Г]_, • • •> ^—1» • • •? то л = = 01, • • 4-1, U *&> ч+ъ • • м in)- Имеем и к /2(л)=тах[ max (2%- + Р<«)> 2%- + fc+1 + Pl/С» 2 %• + Pi/t+l] • w и /£—1 ( 2 %• + PiJ > 2 aij + k^-2^u^n 3=1 | fc+l + aik+i + Pik+1, 2 aij + Pifc] • C"4-5) j=l । Следовательно, для того чтобы /2 (л) /2 (л'), достаточно, чтобы min (a^ 4- р1А, ₽im) < min (ocim + ЗгД (4-6) В свою очередь для того чтобы имело место соотношение > (4-6), достаточно, чтобы ^gn (aift) [М - min < . <8^п(%+г)1л/-п11п(а|&+1 + р^+3. Рч+1)], (4.7) /c+2^w^n Аналогично, /2(л')=тах тах
50 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА (ГЛ. 2 где М — достаточно большое число (значение М^> max min(af + pz))- Действительно, могут представиться следующие случаи: 1) ot«k+i>0- в этом случае OiS + < ₽ik и P’/t+l аЧ+1 "Ь Р’к+1’ 2) 0Чк<0, По Условию min (о^ + pfk, ₽i(t) < min (a^ + pjjt+1, ₽jft+1), откуда ctik + pifc < min (pifc, Ptk+1, Oik+1 + ₽ifc+1); 3) «^>0, ®ik+1>0. По условию min (aik + ₽tk, pift) > min (агк+1 + pi/t+1, pik+1), откуда pilt+1 < min(aijf + p{j£, p{jt, aik+1 + pifc+1). Следовательно, в любом случае имеет место соотноше- ние (4.6). Таким образом, справедлива Теорема 4.2. Для того чтобы перестановке л = (i1? i2, . . ., in) соответствовало наименьшее значе- ние функции f2 (л), достаточно, чтобы соотношение (4.7) выполнялось для всех к — 1, п — 1. Для нахождения оптимальной перестановки л2 чисел множества N каждому из i е N следует приписать «вес» (приоритет) со (0 = sign (a0 [М — min (af + pf)l (4.8) и упорядочить эти числа в порядке неубывания «весов». Класс оптимальных перестановок, вообще говоря, можно расширить, если непосредственно воспользоваться соотношением (4.6). Это соотношение, как будет показано в § 1 гл. 5, обла- дает свойством транзитивности. Условие же (4.7) является достаточным условием выполнимости соотношения (4.6). § 5. Оптимизация функций, рекуррентно заданных на множестве перестановок Многие задачи упорядочения естественным образом могут быть сформулированы как задачи нахождения пере- становок, которым соответствуют наименьшие значения функций, в рекуррентном задании которых содержатся
§ я РЁКУРРЕЙТЙО ЗАДАЙЙЫЁ ФУНКЦИЙ 51 некоторые характеристики соответствующих перестано- вок. В этом параграфе мы рассмотрим одну из ситуаций такого рода, получившую широкое распространение в тео- рии расписаний. 5.1. Пусть Р — некоторое множество (не обязательно всех) перестановок л = (^, i2, . . ., in) элементов множе- ства N = {1, 2, . . ., п}. Под st-окрестностью fc-ro по порядку элемента в пере- становке л (обозначение Qsf (л, к)) будем понимать упоря- доченный набор < Q, б8, Где б8 = (lmax(l, fc-s+l), • • • . . ., ^k-1’ и = Gfc+i» • • •» &min(n,fc+t))— пере- становки длины min (A, s) и min (n — fc, t) соответствен- но и Q — множество (неупорядоченное) элементов {jn • • •» Если s, to Q = ф. Предполага- ется, что s > 0 и f > 0. Требуется найти перестановку л* Е Р, которой соот- ветствует наименьшее значение функции F (л, п), задан- ной на Р рекуррентным соотношением F (л, к) = Ф [F (л, к - 1), Qsf (л, к)], (5.1) где F (л, 0) — известная не зависящая от л величина, а функция, стоящая в правой части этого соотношения, неубывающая по F (л, к — 1). В этих терминах могут быть сформулированы весьма разнородные экстремальные задачи. Рассмотрим некото- рые из них. 5.2. Примеры. 1. Требуется найти кратчайший путь из начальной вершины 1 некоторого ориентирован- ного графа (N, U) в конечную вершину п, проходящий через остальные вершины ровно по одному разу. Длина дуги (i, /) ЕЕ U равна Itj 0. Если (i, j) С7, то будем пола- гать li} = оо. Для каждой вершины к ЕЕ N известно мно- жество вершин Мк9 которые должны предшествовать при обходе этой вершине. В частности, Мг = ф, Мп = =={1,2, Последовательность обхода вершин естественно зада- вать перестановкой вида л = (ix = 1, ц, . . ., in-1? in = п). Длина пути при этом равна п—1 Ля(В)=2^+1. (5-2) fc=l
52 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА (ГЛ. 2 Положим й2> 0 (л, к) = < Q, <з2, ф >, где Q = = {^i> ^2> • • •> ~ (^fc—1> fyf) при к 2, Имеем F (л, к) = Ф (F (л, к — 1\ С2)0 (л, к}} — если Mi/cC{<2, i^}, (ею в противном случае, ' где F (л, 1) = 0. Таким образом, задача сводится к нахождению среди всех перестановок вида л = (ix == 1, f2, . . ., jn_1? in == n) перестановки, которой соответствует наименьшее значе- ние функции F (л, к), заданной рекуррентным соотноше- нием (5.3). В рассматриваемом случае $ = 2, t = 0. 2. Процесс обработки объекта в технологической ма- шине последовательного действия можно представить как последовательное прохождение объектом некоторого фик- сированного множества N операций^ возможный порядок прохождения которых регламентируется рядом техноло- гических факторов. Время выполнения каждой операции состоит из основного и вспомогательного. Вообще говоря, основное время зависит от множества ранее выполненных операций, а вспомогательное — как от множества ранее выполненных операций, так и от последовательности их выполнения. В зависимости от требуемой точности решения задачи и характера операций при оценке вспомогательного вре- мени на каждую операцию достаточно учесть влияние множества всех ранее выполненных операций и последо- вательность выполнения не более I операций, непосред- ственно предшествующих данной. В этом случае задача выбора последовательности вы- полнения операций, минимизирующей общее время на обработку, сводится к построению перестановки пп = = (ix, ., in) элементов множества N, которой соответствует наименьшее зййчение функции F (л, и), где F (л, к) = F (л, к— 1) + Т [Qz+1> 0 (л, к)]. (5.4) Здесь Т [<(>, 6Z+1, фу] — время выполнения опера- ции ik при условии, что ей предшествуют операции мно- жества Q = {fx, i2, . . ., ik^} и упорядочение I операций
1»ЕКУРРЕНТЙ0 ЗАДАННЫЕ ФУНКЦИЙ 53 § Ь] непосредственно предшествующих операции описыва- ется перестановкой В этом случае $ = Z + 1, Z = 0. 3. Такт работы тп-позиционной технологической ма- шины состоит из вспомогательного и рабочего хода. Первый заключается в одновременной переадресации объектов, находящихся в позициях j = 1, 2, . . ., т — 1, в позиции j + 1, поступлении в первую позицию нового обрабатываемого объекта и выдачи с тп-й позиции обра- ботанного объекта; второй — в обработке объектов, находящихся в соответствующих позициях. Продолжительность рабочего хода определяется дли- тельностью лимитирующей в данном такте операции; продолжительность вспомогательного хода предполагает- ся постоянной и равной £Вс. Общее время F (л, п) обработки заданного множества объектов N = {1, 2, . . ., п} при некоторой фиксирован- ной последовательности л = (Zx, i2, . . ., in) их поступле- ния в машину и заданных временах t} обработки г-го объекта в j-й позиции определяется следующими соотно- шениями: т F(n, 1) = 2 max(#.» С1, •••> z«r) + mtBc, (5.5) r=l F (Л, к) = F (Л, к — 1) + T [QXi (л, /с)] 4- tBc. (5.б') Здесь = и, следовательно, s=l, t=m—1. Задача заключается в выборе такой перестановки эле- ментов множества 7V, допустимой относительно заданного на N частичного порядка, которой соответствует наимень- шее значение функции F (л, п), определенной рекуррент- ными соотношениями (5.5), (5.6). 4. Надежность (вероятность безотказной работы) устройства, состоящего из п узлов, при условии, что выход последних из строя не зависит друг от друга и выход каж- дого влечет выход из строя всего устройства, определяется величиной р = П А, гДе Pi — надежность i-ro узла. Для повышения надежности i-ro узла можно восполь- зоваться одним из заданных объемов средств v*, v?,. . ., у™*,
54 ЭЛЕМЕНТЫ КОМЪИЙЛФОРНОГО АНАЛИЗА [ГЛ. 2 каждый из которых повышает надежность узла до вели- чины Р{, ] = 1, 7Пг. Задачу распределения заданного объема средств v для обеспечения максимальной надежности устройства в целом можно представить как задачу нахождения по- следовательности Л = V^), 1 jk ТП/с, которой соответствует наименьшее значение функции F (л, п), где F (л, к) = Ф [F (л, к - 1), 0 (л, к)] = F (л, к — 1) • pft, если 2 v, == ' г=1Д (5-7) оо в противном случае. При этом предполагается, что F (л, 0) = —1. В данном случае s = 1, t = 0. 5.3. Для нахождения оптимальной перестановки л* Е f воспользуемся приемами, характерными для ме- тода последовательного конструирования вариантов. По- видимому, при оптимизации функций, подобных (5.1), указанные приемы оказываются наиболее эффективными, позволяя получить решение в результате перебора числа вариантов, существенно меньшего по сравнению с непо- средственным перебором всех возможных вариантов. В дальнейшем мы будем полагать s > 1 и рассмат- ривать только нормализованные множества Р. Множест- во Р перестановок элементов множества N называется нормализованным, если оно вместе с перестановками лх = (4, • • •, й) и л2 = (ij, il, . . ., in) такими, что ^з-1,г(л1, к) = Qs_1)i(n2, к), содержит и перестановку _, (Л .1 *2 «2\ Л — (/1, . . ., J/c+i, • • •> Нетрудно видеть, что множество всех перестановок элементов множества N является нормализованным так же, как и множество всех перестановок, допустимых отно- сительно заданного на N строгого порядка при любых s и t. В частности, множество перестановок, графически пред- ставленных на рис. 2.5.1, является нормализованным при любых значениях з и t. Пусть л Е Р. Обозначим Q (к) = Qs-i,t(3T, к). Пусть Р' — множество всех перестановок л Е Р, для которых
§ 5] РЕКУРРЕНТНО ЗАДАННЫЕ ФУНКЦИИ 55 q х t (лЛ) = (^)- Обозначим через F [й (к)] наименьшее из значений F (л, к), вычисленных для всех л ЕЕ Р'. Разобьем множество Р' на подмножества Р2, . . . Рис. 2.5.1. л е= Р' с одинаковыми окрестностями Qs^1>r (л, к — 1), равными, для определенности, Й* (к — 1). Очевидно, F [й (к)] — min {F (л, к)} = = min {min {/^л, к^},..., min {F (л, &)}}. (5.8)
56 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА [ГЛ. 2 Поскольку функция, стоящая в правой части соотно- шения (5.1), является неубывающей по первому аргумен- ту и й8< (л, к) одинаковы для всех л ЕЕ Pi, то min {F (л, к)} = Ф [ min {F (л, к — 1)}, й8? t (л, к)]. (5.9) Покажем, что min {F (л, к — 1)} — F [Й* {к — l)j. (5.10) Действительно, пусть F [й* (к — 1)] = F (лх, к — 1) и min {F (л, к — 1)} = F (л2, к — 1), где лх = (ij, i\, ..., in) п&Р^ и л2 = (ii, i|, • • •> Й). По условию Й8НМ (ль к — 1) = = Й8_м(л2, к — 1). Поскольку Р — нормализованное множество, то оно содержит перестановку л' = (i|, i2,... . . ., ij-i, й» • • м Ф- Перестановка л'Е Л и F (л', к — 1) = F (лх, к — 1), откуда следует справед- ливость соотношения (5.10). Таким образом, F [й (Ат)] = min Ф [F [Й (к — 1)], Й% t (л, &)], (5.11) яеР* где Р* — множество всех перестановок Л ЕЕ Р, для кото- рых £2s_bf (л, к) = й (к) и F (л, к — 1) = F [й (к — 1)] при Й8_хи (л, к — 1) = й (к — 1). Соотношение (5.11) позволяет существенно сократить объем вычислений при п Е>> 5 + t. Оптимальной перестановке л* соответствует наимень- шее значение F [й (п)]. Эта перестановка удовлетворяет условию Р(л*,/с) = F [й8_м (л*, &)],&=!,и. Тем самым, за- поминая значение й (к — 1), при котором в правой части соотношения (5.11) достигается минимум каждый раз, когда вычисляется F [й (к)], можно без значительных за- труднений восстановить перестановку л*. 5.4. Описанная ситуация имеет простую графическую интерпретацию. Используя соотношение (5.11) мы, по существу, заменяем задачу поиска пути из а в 0, обла- дающего требуемым свойством в графе типа рис. 2.5.1, задачей поиска пути, обладающего аналогичным свойством
§ 5j РЕКУРРЕНТНО ЗАДАННЫЕ ФУЙКЦИЙ 57 в некотором новом графе, получаемом из первого объеди- нением вершин. Вершины графа рис. 2.5.1 объединяются в одну верши- ну нового графа, если соответствующие им элементы из N в данной последовательности имеют одинаковые (s — 1, t)- окрестности. Рис. 2.5.2 иллюстрирует процесс объединения вершин графа, изображенного на рис. 2.5.1, при а) з = 2, t = 1; б) s = 1, t = 2; в) з = 3, t = 1. Размер и сложность получаемых графов естественно рассматривать в качестве оценки вычислительной слож- ности алгоритма построения оптимальной перестановки. С увеличением n, s и t размер этих графов существенно возрастает и тем самым значительно увеличивается не- обходимый объем вычислений. 5.5. Вычислим основные количественные характери- стики алгоритма построения оптимальной последователь- ности в случае, когда Р — множество всех п! перестано- вок элементов множества N. Обозначим через — перестановку I элементов из N. В рассматриваемом случае, используя соотношение (5.1), вычисляем F (jts+n з) для всех возможных лж. Полагаем F [Q (з)] равными соответствующим F з). По определению Q (к) — это упорядоченный набор вида <Q, of>. Запишем последовательность (<5s_i, oz) в виде ns+f-i = (ns+<_2, 05 где I — последний по поряд- ку элемент в 6f. Тогда соотношение (5.11) можно записать как Р 2> ЛМ = = тшФЬП<<?\&, (&, л8+<_2)>], <(?, (ft, rts+t-2, 0>1- (5.12) Вычисления проводятся последовательно для всех возможных Q и лж_2, не содержащих одинаковых эле- ментов сначала при | Q | = 2, затем при | Q | = 3 и т. д., наконец, при = п — з—Z-|-l. При нахождении F [<(?, (ns+f_a, Z)>] используются только значения F [<Q \ к, (к, ns+t-2)>L найденные на предыдущем шаге. В соответствии с соотношением (5.12) вычисляется | Q | значений функции Ф (или, что то же, функции F) и в результате | Q | — 1 сравнений этих зна- чений находится значение F [<(>, (ns+f_2, /)>].
58 ЭЙЕМЁЙТЫ КОМЁЙНАТОРНОГО АЙАЙИЗА (ГЛ. 2 Рве. 2.5.2,
БИБЛИОГРАФИЧЕСКАЯ СПРАВКА 59 Таким образом, в общем случае требуется вычислить п Rf= S(l/(&k-l)!)4? (5.13) fc=l значений функции F (л, &), из них запомнить тг—1 fl3=S(WM?+l (5.14) к=1 значений, произведя /?Ср — Rf — Rq их сравнений. При этом одновременно требуется помнить не более Дд= 44(у.]) + 2 , (515) + 1 P + ~2J1 значений. Здесь bk = max (к — з, 0) + 1, ск = min (t + к. п), d = у (п — t — s); А™ — число размещений из п эле- ментов по иг; [р] — целая часть числа р. При п s +1 процесс объединения вершин неосуще- ствим, что приводит к необходимости рассмотрения всех перестановок множества N. При решении большеразмерных практических задач обычно ограничиваются получением приближенного ре- шения. В этом случае целесообразно проводить текущую поэтапную оценку перспективности конструируемых пере- становок с соответствующим «достраиванием» наиболее перспективных. Определенный эффект может быть до- стигнут также в результате разбиения рассматриваемой задачи на ряд задач меньшего размера с использованием получаемой информации о решении последних. § 6. Библиографическая справка Теории графов посвящена обширная литература. В данной книге используется, в основном, терминология К. Бержа [17]. С основны- ми понятиями теории бинарных отношений, в частности отношений порядка, можно более подробно ознакомиться по книге Ю. А. Шрей- дера [212]. Теорема 2.1 известна в литературе как теорема Дилворта [263, 153]. Теорема 2.2 доказана В. Г. Спринджуком [163]. Обе теоремы справедливы и для бесконечных множеств. Формулировка задачи нахождения минимального P-разложения в терминах
60 ЭЛЕМЕНТЫ КОМБИНАТОРНОГО АНАЛИЗА [ГЛ. 2 линейного программирования дана Д. Б. Данцигом и А. Дж. Гоф- фманом [59]. Вопросы определения числа допустимых перестановок рассматривались С. С. Кислицыным [77] и В. С. Танаевым [175]. Применению матричных методов к решению этих вопросов посвяще- на работа [372]. На возможность использования теоремы Дилворта для решения некоторых задач сетевого планирования указано в [245]. Интерпретация задач теории расписаний в терминах смешанных графов проведена в работах Л. П. Матюшкова и В. С. Танаева [113], Е. Балаша [229], Б. Сассмана [415] и (в несколько иной термино- логии) В. В. Шкурбы [202], Дж. Геллера и Дж. Логемана [300]. Более подробно эти вопросы рассмотрены в гл. 7. Определению числа элементов множества KG и нижней его оценки посвящена работа [161]. Формулировка и доказательство теоремы 3.1 содер- жатся в [92]. Перестановочный прием для минимизации функции (4.1) при- менялся Г. Г. Харди, Дж. Литтлвудом, Г. Полна [192]. Интересный цикл работ по минимизации линейных форм на различных подмно- жествах множества перестановок проведен Д. А. Супруненко, В. С. Айзенштатом, Н. А. Лепешинским, И. М. Кунцевичем, Д. Н. Кравчуком и Н. Н. Метельским. Обзор этих работ приве- ден в [165]. Функция (4.3), вероятно, впервые исследовалась С. М. Джон- соном [313] и Р. Веллманом [236]. Формулировка и доказательство теоремы 4.2 содержатся в работе [170]. Попытки обобщения пере- становочного приема предприняты в работах [382, 311]. В [240] вводится понятие многогранников перестановок. Систематическое исследование функций, рекуррентно задан- ных на множестве перестановок, проведено Г. М. Левиным и В. С. Танаевым [93, 178]. Существенно более общая ситуация (по сравнению с описанной) рассмотрена в [94].
ГЛАВА 3 ДЕТЕРМИНИРОВАННЫЕ СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ Конечный поток требований, поступающих на обслу- живание в заданные моменты времени, обслуживается одним прибором. В каждый момент времени прибор обслу- живает не более одного требования. Известны времена обслуживания требований. Порядок обслуживания может быть произвольным, либо регламентироваться заданными отношениями частичного порядка. При некоторых поста- новках задачи могут допускаться прерывания в_ обслу- живании каждого отдельного требования. Необходимо так организовать процесс обслуживания, чтобы он в том или ином смысле был наилучшим. В этой главе рассматриваются ситуации, в которых тре- бования поступают на обслуживание одновременно и ка- чество расписания характеризуется суммарным или мак- симальным штрафом за обслуживание. Линейные, экспо- ненциальные и монотонные (отличающиеся на константу) функции штрафа рассматриваются в § 2, а константно- линейные — в § 3. Вопросы минимизации суммарного времени (или стоимости) пуско-наладочных работ рассма- триваются в § 4. Некоторые, специальные критерии опти- мальности анализируются в § 5. Обобщение ситуаций, рассматриваемых в S 2, на случай частично упорядочен- ного множества требований проведено в § 6. В § 7 описаны вычислительные схемы построения наилучших расписа- ний при произвольных (неубывающих) функциях штрафа. § 1. Предварительные замечания Пусть необходимо обслужить множество N = {1,2,... . . ., п} требований. Требование к, к — 1, и, поступает на обслуживание в момент времени > 0 и для обслу- живания требует tk > 0 единиц времени. 1.1. Процесс обслуживания может быть описан зада- нием кусочно-постоянной, непрерывной слева функции s = s (/), принимающей при 0 t оо одно из значений
62 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 О, 1, 2,..., и. Если s (t) = к =7^0, то в момент времени t при- бор обслуживает требование к\ если s (t) — 0, то в момент времени t ни одно из требований не обслуживается. Эта функция называется расписанием. Расписание должно удовлетворять определенным усло- виям, вытекающим из самой постановки задачи. В каче- стве основных могут быть выделены — условие полноты: для любого 1 <1 к п сущест- вует 0 t < оо такое, что s (t) = к; суммарная длина промежутков, на которых s (t) — к, равна — условие готовности к обслуживанию: s (t) #= к для всех t dk\ — условие упорядоченности: если по условию задачи требование i необходимо обслужить раньше требования j и s (f) = i, то s (/) =/= у для всех t < t'\ — условие непрерывности: если по условию задачи прерывания в обслуживании требований не допускаются и s (f) = s (£") = к Ф 0, то s (/) = к для всех t' < t < Г. Расписания $ == s (t), которые удовлетворяют перечис- ленным условиям, называются допустимыми. Определенный практический интерес представляют расписания, которые удовлетворяют некоторым допол- нительным условиям таким, как условия, связанные с не- обходимостью переналадок обслуживающего прибора, ус- ловия группирования требований при их обслуживании и т. п. При рассмотрении задач такого рода под допустимым расписанием будем понимать такое расписание s = s (t), которое удовлетворяет всем требованиям, вытекающим из постановки конкретно рассматриваемой задачи. 1.2. Каждому допустимому расписанию $ = s (t) соот- ветствует вектор t = (ft, ?2, . . ., ?п) времен завершения обслуживания требований при этом расписании. Значе- ния к = 1, п, таковы, что $ (?fc) = к и s (t) Ф к для всех t > tk. Предполагается, что качество расписания s определя- ется вектором 7, т. е. каждому расписанию s ставится в со- ответствие значение некоторой скалярной функции F (?) вектора 7, определяемого расписанием $. Функция F (?) предполагается монотонно возрастаю- щей кусочно-непрерывной относительно всех компонент вектора I.
ПРЕДВАРИТЕЛЬНЫЕ ЗАМЕЧАНИЯ 63 § Н Наиболее распространенным является следующий спо- соб задания F (?). Для каждого требования к = 1, п задается неубывающая кусочно-непрерывная функция (я), выражающая в количественном отношении «штраф», который необходимо «заплатить», если обслуживание этого требования завершится в момент времени х. В ка- честве F (?) выбирается одна из функций F^ (?) = п == 5J Фк (?s) или (?) = max {<pfc (7fc)}. Функции <pk (х) называются функциями штрафа. Расписание, которое удовлетворяет всем условиям рассматриваемой задачи, называется оптимальным, если ему соответствует наименьшее значение F (I). 1.3. Поскольку функция F (?) является неубывающей, то при поиске оптимального расписания достаточно рас- сматривать только такие расписания, при которых недопу- стимы неоправданные задержки в завершении обслуживания требований. Такие расписания получили название актив- ных. Характерной их особенностью является невозмож- ность уменьшения времени завершения обслуживания любого из требований без увеличения времен завершения обслуживания каких-либо других требований. Если прерывания обслуживания каждого отдельного требования запрещены, то активное расписание однознач- но определяется заданием последовательности л = (i*i, г2, • • •, *п)> в которой эти требования обслуживаются. Здесь означает номер требования, которое в последова- тельности л обслуживается fc-м по порядку. В этом слу- 486 = dtl + th’ Ч = ШаХ k — 2, n. Таким образом, если поиск оптимального рас- писания ограничен классом расписаний, при которых не происходит прерываний процесса обслуживания каж- дого отдельного требования, то решение задачи может быть получено в результате рассмотрения конечного числа рас- писаний, определяемых возможными последовательностя- ми обслуживания требований. Такие расписания называ- ются перестановочными. В этом случае наряду с обозна- чением F (?) будем употреблять обозначение F (л). Если множество N не упорядочено, то число переста- новочных расписаний п!. Если множество N — частично
64 СЙСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 упорядоченное множество, то число перестановочных рас- писаний не превышает величины, рассчитанной в соответ- ствии с теоремой 2.3 § 2 гл. 2. В общем случае, если допустимы прерывания процесса обслуживания требований, можно показать, что оптималь- ное расписание также может быть получено в результате рассмотрения конечного числа расписаний. Однако для однозначного описания этих расписаний уже недостаточно простого задания последовательности обслуживания тре- бований. Необходимо указать, в какие моменты времени прерывается, а затем возобновляется процесс обслужива- ния каждого требования. В этой главе основное внимание уделяется анализу ситуаций, когда все dk одинаковы и, следовательно, можно положить dl: = 0, к = 1, п. Интересной особенностью систем такого рода является возможность исключения из рассмотрения расписаний с прерываниями процесса об- служивания требований (см. гл. 4, § 1, теорема 1.1). § 2. Интервалы очередности В этом параграфе мы приведем весьма простые методы решения задачи оптимального упорядочения требований для некоторых частных случаев функций штрафа. Пред- полагается, что множество N требований не упорядочено, все требования поступают в очередь на обслуживание одновременно, в момент времени d = 0, критерий опти- мальности расписания — суммарный штраф. 2.1. Пусть требования i и j обслуживаются непосред- ственно друг за другом и их обслуживание начинается в момент времени / > 0. Если при этом первым обслужи- вается требование i, то суммарный штраф за обслужива- ние этих требований РS (*, h j) — фг (* + ti) + Ф; (* + h + fy)- (2-1) Если первым обслуживается требование /, то суммар- ный штраф за обслуживание этих двух требований Рв 7, 0 — Tj (* + fy) + Фг (* h + tj)- (2-2) Определим Рц (0 = Ръ (t, i, j) — Pz (*> h (2.3)
ИНТЕРВАЛЫ ОЧЕРЕДНОСТИ 65 § 2] Величина Rij (t) показывает, насколько изменяется суммарный штраф при переходе от последовательности, при которой требование i начинало обслуживаться в мо- мент времени t непосредственно перед требованием /, к последовательности, отличающейся от исходной транс- позицией элементов i и /. Если Rij (0 < 0, то при решении вопроса, какое именно из двух последовательно обслуживаемых требова- ний i и j необходимо начать обслуживать в момент вре- мени t, предпочтение следует отдать требованию i. Ана- логично, если Rij(t)^>0, то первым в момент времени t следует обслуживать требование /. Наконец, если Rij (О == то порядок обслуживания этих требований безразличен. Поскольку функции срг (х) и <р; (х) предполагаются ку- п сочно-непрерывными в интервале (О, Т = 2 ^)» то этот fc=i интервал может быть разбит на конечное число интерва- лов, в каждом из которых величина R^ (t) положительна, отрицательна или равна нулю. Интервал (0f, 02) называется интервалом очередности типа i->/, если Rtj (t) < 0 для всех ^е(0ь 02). Если Rij (О J> 0 для всех t ЕЕ (0±, 02), то интервал (0Ь 02) называется интервалом очередности типа / -> i. При Rij (0 — 0 для всех t ЕЕ (01, 02) порядок обслуживания требований безразличен. Величина Rij (t) по определению зависит от значений t, ti, tj и функций штрафа (х) и <р; (х). В каждом кон- кретном случае в результате несложных преобразований могут быть выделены интервалы очередности. i 2.2. Пусть, например, <pf (я) = а^2 и фу (ж) = UjX2. Найдем интервалы очередности при различных сочетани- ях a^f a>j^ ti, tj» Имеем Rij (0 = аг (t + h)2 + ty (t + 4 + tj)2 — -^{t + t^^a^t + t. + tj)^ = 2 a^tj) t -f- [2tjtj (cij -f- Ujt^ — a^tj]. (2.4) Пусть ajti = Uj/tj. В этом случае R^ (t) не зависит от t и определяется величиной Q \flit fy* ti, tj) = 2t]tj (cij Hi) 4- a fa a^tj. (2.5) 3 В. С. Танаев, В. В. Шкурба
66 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ 1ГЛ. 3 Если Q (di, aj, ti, tj) < 0, то при последовательном обслу- живании требований I и j требование i всегда обслужива- ется первым. В этом случае интервал (—оо, оо) (а, следова- тельно, и интересующий нас интервал (О, Т)) является интервалом очередности типа i -> 7. Аналогично, если Q (аг, a;, ti, tj) > 0, то (—оо, оо) — интервал очередности типа j* -> I. Наконец, если Q (dh dj, ti, tj) = 0, то поря- док обслуживания требований i и j безразличен, если эти требования обслуживаются непосредственно друг за другом. Пусть at/ti Ф djltj. Величина 7?^ (t) = 0 при (aj ~~~ + a3 ~~ ai 2 (Oj tj — dj t) (2.6) Интервал (—-оо, оо) разбивается на три интервала очеред- ности (—*оо, tQ), (tQ), (tOi оо). Тип интервалов (—оо, tQ) и (t0, оо) определяется знаком R^ (t) в этих интервалах. При t = to порядок обслуживания требований i и / без- различен. По предположению обслуживание всех требований осу- ществляется во временном интервале (О, Т) или, во всяком случае, в интервале (0, оо). Следовательно, в практиче- ском отношении интерес представляет выделение интер- валов очередности в интервале планирования (О, Т) или (О, оо). Если tQ < 0 или to > Т — ti — tj, то (О, Т), очевидно, является интервалом очередности, тип которого определяется знаком R^ (t). Если 0 < tQ <С Т — ti —- tj, то интервал (О, Т) разбивается на три интервала очеред- ности. Если tQ = 0 или to = Т — ti — tj, то имеем два интервала очередности, один из которых (£0). Полагая, для определенности, ti = 2, tj = 1, аг- = 9 и dj = 5, имеем t0 = 2,5. Следовательно, интервал (—оо, оо) разбивается на три интервала очередности (—оо; 2,5), (2,5) и (2,5; оо). При t < 2,5 величина R^ (t) < 0, при t = 2,5 величина Rtj (t) = 0, наконец, при t > 2,5 ве- личина Rij (t) > 0. Таким образом, если требования i и / обслуживаются непосредственно одно за другим и первое из этих требований необходимо начать обслуживать в мо- мент времени / > 0, то этим требованием будет требова- ние i при t 2,5 и требование / при t 2,5. Если t = 2,5, то первым может обслуживаться любое из этих требований.
§ 2] ИНТЕРВАЛЫ ОЧЕРЕДНОСТИ 67 Это утверждение, вообще говоря, несправедливо, если после завершения процесса обслуживания одного из тре- бований i или / до начала обслуживания второго проходит некоторый промежуток времени, занятый, например, обслуживанием некоторого третьего требования. 2.3. Выделение интервалов очередности может быть проведено для любых пар функций штрафа фг (х), фу (х) и любых tt, tj. Для этого достаточно решить (относитель- но t) соответствующее уравнение Rtj (t) = 0. Знание интервалов очередности оказывается весьма полезным при поиске оптимальных расписаний методом последовательного конструирования вариантов. Знак величины (t), а следовательно, и тип интер- вала очередности определяется в общем случае значения- ми t, ti, tj и конкретным видом функций штрафа фг (х) и фу (х). При некоторых сочетаниях tj, фг (х) и фу (х) знак Rtj (0 может не зависеть от t, как это было показано при рассмотрении двух квадратичных функций штрафа в предыдущем пункте. Найдем такие пары функций фг (х) и фу (х), для кото- рых знак Rij (t) не зависит от t при любых сочетаниях tt и tj. Пусть фг (х) = atx 4- bt и фу (х) = аух 4~ Ьу. Имеем Rij (0 = ai (£ 4“ h) *4“ aj *4“ — aj 4“ tj) — ai (t -|- tf -j" tj) = djt^ (Ljtj. Следовательно, эта пара функций является искомой, по- скольку величина и тем самым знак Rij (t) не зависят от t при любых данных и tj. Пусть фг (х) = di exp (ах) 4- bt и фу (х) = а, ехр (ах) 4- + bj. Имеем Rij (0 = exp (at) [at ехр (а^) — — dj ехр (atj) + (dj — dt) exp [a (^ + tj)]]. (2.7) В данном случае величина 7?fy (t) зависит от t, однако знак этой величины определяется только значениями ^г, dji ti, tj, а при фиксированных a, dt и ау только зна- чениями ti и tj. Пусть <рг (х) = <р (х) + bt и ф; (х) = ф (х) + bj, где Ф (х) — возрастающая на (—оо, оо) функция. Поскольку Rij (t) = ф (t 4- tt) — ф (t + tj), то знак Rij (t) не зави- сит от t при любых конкретных значениях и tj. 3*
68 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 Таким образом, указанные три пары функций обладают свойством независимости знака величины (t) от зна- чения — оо < t <f оо. Интервал (—Soo, оо), а следователь- но, и (0, оо), и (О, Т) являются интервалами очередности для этих пар функций. Тип этих интервалов определяется конкретными значениями параметров функций и значе- ниями ti и tj. Теорема 2.1. Пусть (pf (х) и <р,- (х) — строго воз- растающие достаточно гладкие (существует третья про- изводная) на (—оо, оо) функции. Для того чтобы знак величины Rij (t) не зависел от t, —оо t<^ оо, при любых ti и tj. необходимо и достаточно, чтобы 1) фй (#) = акх + к ~ h Ъ или 2) Фй (х) = exp (ах) + bk, k = i, j, или 3) Фл (х) = ф (х) + Ьк, к = i, j. Доказательство. Поскольку достаточность условия теоремы доказана, переходим к доказательству его необходимости. Прежде всего сделаем одно замечание. Пусть уравнение вида (у, z) 4- xF2 (у, z) = 0 имеет действительное ре- шение (yQ, z0) при любом т = т0 и F2 (Уо, Zq) =# 0. Тогда знак функции F (у, z, v) = Fr (у. z) 4- т (v)F2 (у, z) не за- висит от v тогда и только тогда, когда т (v) = const. Действительно, предполагая, что т (v) 7^ const, т (vx) = clt х (v2) = c2, Ci<^c2 и обозначая через (у*, 2*) решение уравнения Л (у, z) +C1~t--F2 (у, z) = 0, имеем F(y*, z*, Л + г’) = = Л (У, Л + F* <)== = ^F2(/,z‘). (2.8) Аналогично, F (у’, z*, va) = —уС* Fa (у*, z*). Следовательно, знак F {у, z, V) зависит от v, если т (v) =f= const. Покажем, что если знак Иц (t) не зависит от t, то ф{ (х) = с = const и при с =# 1 ф3-(х)/ф) (х) = а = = const. Воспользуемся разложениями функции Иц({) в ряд Тейлора. Имеем Fa (о = ф;(п & - (ф; (о/ф; (о «л+<>&+(2.9)
ИНТЕРВАЛЫ ОЧЕРЕДНОСТИ 69 § 2] При достаточно малых tit знак (t) определяется знаком первого слагаемого, и поскольку ср^ (t) > 0, то знаком выражения, стоящего в квадратных скобках. На основании сделанного замечания знак этого выражения не зависит от t, тогда и только тогда, когда (pi (£)/<pj (t) = == с = const. Следовательно, (х) = сер; (я) Ц- &• Пусть с =# 1. Имеем г 1 ф* (0 Rij (О = Ч>; (0 [0 - *0 + Т & & + 20> - Т j V / - d5 (tj + 2z{))] + 0 (tj + tj)3. (2.10) При достаточно малых t^ tj знак Rij(t) определяется зна- ком выражения, стоящего в квадратных скобках. Посколь- ку при любом фиксированном значении cpj (£)/(pj (0 суще- ствуют сколь угодно малые значения tj, обращающие это выражение в нуль, то на основании сделанного заме- чания (pj (t)/q>j (t) = а = const. Таким образом, если с = 1, то <pf (х) = ср,- (х) + Ъ. Если с #= 1, то при q)j (t) = 0 имеем ср^ (х) = a,jX -\-Ъ} и <Рг(я) = сцх + bi. Наконец, при а^0 имеем <р,- (х) == = ocpj(^), фу (х) == aj exp (ах) -\-bj, <pf (х) = at exp (ая) + + bt. Теорема доказана. 2.4. Перечисленные в теореме 2.1 пары функций обла- дают тем характерным свойством, что интервал (—оо, оо) (и тем самым любой заданный временной интервал) явля- ется интервалом очередности, тип которого при фикси- рованных параметрах этих функций определяется зна- чениями ti и tj. Можно показать что при достаточно общих предполо- жениях относительно функций штрафа <pf (х) и ф7- (я) соответствующим выбором значений tt и tj любой заданный интервал можно превратить в интервал очередности того или иного типа. Особый интерес представляет выявление условий, при которых заданный временной интервал будет интервалом очередности независимо от конкретных значений и tj, но с учетом сравнительных соотношений между этими значениями. Теорема 2.2. Если функции штрафа срг- (х) и (х) сколь угодно раз дифференцируемы и (х) <pjl) (х)
70 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 для всех I = 1, 2, . . . на временном интервале (01 — е, 02 + 8), г®е 8 0, то пРи h <С интервал (01, 02) явля- ется интервалом очередности типа i -> /. Доказательство. Разлагая функцию (t) в ряд Тейлора в точке t G= (0i, 02), имеем оо пц (о =2 4- ® - z=i n -<₽?’(<) «5-ф?’Ю ft + <;)'} = = 3 t{S <?Wi‘)-A‘)> + ?=i fc=i + ^°(О4-фГ)(п4)}- (2.H) Следовательно, если выполняется условие теоремы, то Rij (0 <С 0 независимо от значения t G (0i, 02). В качестве примера рассмотрим пару функций ср^ (я) = = ехр х и, ф j (х) = х. Эти функции сколь угодно раз дифференцируемы и ф{° (х) ф!° (х) на (0, оо) для всех I = 1, 2, . . . Если 0 < ti < fy, то знак Rij (t) = tt — ехр (t + ^)(ехр — 1)< < Ц - ехр (^)(ехр — 1) < ti — (1 + tifa = = (*i ~ tj) — W < 0 (2.12) не зависит от t > 0 и конкретных значений tt и tj. Интер* вал (0, оо) является интервалом очередности типа i -> /, что соответствует теореме 2.2. Если ti tj, то интервал (0, оо), вообще говоря, раз- бивается на несколько интервалов очередности в зависи- мости от конкретных значений tt и tj. Эти интервалы могут быть определены способом, описанным в предыдущем пункте. 2.5. Знание интервалов очередности в значительной степени ускоряет процесс поиска оптимальной последо- вательности обслуживания требований и в ряде случаев приводит к весьма простым способам ее построения. Теорема 2.3. Пусть dk = 0, к — 1, п, все неубы- вающие функции штрафа ф^ (х) принадлежат одному и только одцому из следующих трех классов' а) фл (х) =
$ 2] ИНТЕРВАЛЫ ОЧЕРЕДНОСТИ 71 = + Ьк, б) фй (ж) = ак ехр (ах) + Ь* и в) ч>4 (ж) - ф (х) + bfc, и значения со (к) равны соответственна а) о (к) = «А, б) <в (к) = (1 — exp (atk))/ak exp (atk) и в) со (к) = — tk. Для того чтобы последовательности л == (h> ^2, • • •’ М соответствовал наименьший суммар- ный штраф, достаточно, чтобы <o(Q > ММ &ля всех 1 v < |л гс- Доказательство. Покажем справедливость утверждения теоремы для случая б), предполагая, есте- ственно, ак 0. В остальных случаях доказательство аналогичное. Выбираем два произвольных требования i и j. В п. 2.3 было показано, что знак величины Rij (t) на интервале (б, оо) не зависит от t. Из соотношения (2.7) следует, что для того, чтобы Rij (t) 0 на (0, оо), достаточно, чтобы 1 — exp (ai|) 1 — exp (at.) «I exp (at) a. exp (otf р ’ (2.13) причем равенство имеет место только в случае Rij (t) = 0. 1— exp(aL) Положим со (к) =—-—гтт“ • Следовательно, функ- ехР ция Fe (л) такова, что каждому требованию к может быть отнесена некоторая величина со (к), обладающая свойст- вом: если со (г) > о> (/), то Fe (л) Fs (л'). Здесь л — последовательность, в которой требование i обслуживает- ся непосредственно перед требованием j, а л' отличается от л транспозицией элементов i и /. Покажем, что если последовательность обслуживания требований л = (ь, г2, . . in) удовлетворяет условию (о (М > (о (ip,) для всех то л — опти- мальная последовательность. Действительно, если в опти- мальной последовательности л* = (ix, i2, . . ., ij, ..., in) при некотором j = к значение со (ik) < со (ik+i), то последовательности л*, отличающейся от л* транспо- зицией элементов ik и ik+1, соответствует меньшее значе- ние Fe, что противоречит предположению об опги- мальности л*. Теорема доказана. Из приведенных рассуждений следует, что если, на- пример, все функции штрафа <рк (х) — акх + Ьк, то,
72 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 обслуживая требования в порядке невозрастания величин со (fc) = , получаем суммарного штрафа. 2.6. Примеры. 1. На одном станке наименыпее значение величины необходимо обработать п различ- ных деталей. Известны длительность обработки каждой детали tk и срок D, к которому необходимо обработать эти детали. Функции штрафа (х) = max (х — D, 0). Необходимо определить такой порядок обработки дета- п лей, при котором средний штраф max (h — D, 0) _ п наименьший. Здесь — фактическое время завершения обработки fc-й детали. Последовательность л == (i^ . . . in) такая, что tiyf ^v+1, v = 1, п — 1, является оптимальной, что соответствует классу в) теоремы 2.3. 2. Пакет, содержащий п программ с известными вре- менами их прохождения, выполняется однопрограммной ЭВМ. Необходимо так организовать пакет, т. е. устано- вить такую очередность прохождения программ, чтобы п' минимизировать величину — 3 а > где?й — время к=1 завершения выполнения fc-й программы. Здесь, как и в примере 1, программы следует упорядочить в порядке неубывания величины tk, поскольку срк (х) = — 3. Последовательно осуществляется п операций. Стои- мость /с-й операции равна ик, вероятность брака при ее выполнении равна рк. При возникновении брака все опе- рации повторяются сначала. Необходимо указать такой порядок л — (ii, i2, . . in) выполнения операций, при котором средняя стоимость выполнения операций будет наименьшей. Производя замену переменной
§ з] ДИРЕКТИВНЫЕ СРОКИ 73 1 _ рк = ехр (—tk), можно записать п к щ»') = 2 ut exp(S ti)» (2-15) fc=l к Z=1 1 т%е л' — (й, й> • • •> in) и ik = Jn-fc+i- Таким образом, на основании п. б) теоремы 2.3 операции необходимо вы- полнять в порядке неубывания величины ик!рк. § 3. Директивные сроки Директивным сроком называется момент времени Дс 0, к которому необходимо или, во всяком случае, желательно завершить обслуживание требования Л = 1, п. В общем случае не удается построить такого расписания, при котором обслуживание каждого требования к завер- шается не позднее заданного директивного срока Появляется объективная необходимость в нарушении от- дельных директивных сроков, что сопряжено с определен- ными потерями. Эти потери, как правило, зависят от того, какие именно требования и на сколько задерживаются с обслуживанием. Иными словами, каждому требованию к = 1, п отнесена неубывающая кусочно-непрерывная функция штрафа <pft (х) = 0 при х Dk и <pfc (х) > 0 при х > Dk. Требуется определить расписание обслужива- ния п требований, при котором суммарный штраф наи- меньший. Предполагается, что множество требований неупорядочено и значение dk — 0, к = 1, п. 3.1. Найдем необходимые и достаточные условия, при которых все требования могут быть обслужены в задан- ные директивные сроки и, следовательно, F% (л*) = О, где л* — оптимальная последовательность обслужива- ния требований. Пусть лр — последовательность требований, упоря- доченных по неубыванию значений Dk. Теорема 3.1. Fa (л*) = 0 тогда и только тогда, когда Fs (лБ) = 0. Доказательство. Если Fa (лп) = 0, то, оче- видно, л° — оптимальная последовательность и можно положить л* == лБ. Если Fa (л*) = 0 и л* лр, то в последовательности — (h, ^2, • • •, in) существуют требования ij и
74 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 такие, что . Рассмотрим последовательность г5 Ь’+х ф ф л, полученную из л* транспозицией элементов i$ и В расписании, определяемом этой новой последователь- ностью, все требования, за исключением требований i. и fy-i, будут обслужены в те же моменты времени, что и в расписании, определяемом последовательностью л* Обозначим моменты завершения обслуживания требований ij и ij+i относительно л* через 7 • (л*) и 7 • (л*), а отно- S’+x сительно л — через 7.* (л) и 7.* (л) соответственно. Оче- Ъ* гЯх видно, 7.» (л) = 7.* (л*) С другой сторо- гм b’+i Ч ны, 7.* (й)<7.* (л*)^Р.» . Следовательно, и тре- b‘+i b‘+i ф е бования с индексами ij и будут обслужены в срок, если требования обслуживаются в последовательности л. Проводя аналогичные рассуждения конечное число раз, убеждаемся в справедливости утверждения теоремы. Теорема доказана. Не нарушая общности, пронумеруем все требования в порядке неубывания Dk. Таким образом, на основании к приведенной теоремы, если 7fc = ^h^Dk, к = 1, м, i=X то обслуживание всех требований может быть завершено в заданные сроки и оптимальная последовательность об- служивания требований л* == (1, 2, . . ., п). Если хотя бы при одном значении к значение tk > D& то не существует последовательности обслуживания требований, при кото- рой эти требования обслуживались бы в заданные сроки. В этом случае заведомо (л*) > 0 и построение опти- мальной последовательности сопряжено с определенными вычислительными затруднениями. 3.2. Пусть все (х) — ступенчатые функции, т. е. функции вида {О, если х > 0, если х > где к = 1, п
§ 31 ДИРЕКТИВНЫЕ СРОКИ 75 Предположим, что имеется способ, посредством кото- рого из множества ЛГ={1,2, ...,п} всех требований может быть выделено подмножество В*, элементы кото- рого обладают характеристическим свойством: сущест- вует оптимальная последовательность л*, при которой требование к в срок не обслуживается, тогда и только тогда, когда к GE В*. Тогда, очевидно, (л*) = 2 Покажем, что в этом случае и построение самой опти- мальной последовательности не вызывает затруднений. Действительно, пусть лв* — произвольная последова- тельность элементов множества В*, а л а* — упорядочен- ная по возрастанию последовательность элементов мно- жества Л* == N \ В*. Будем обслуживать требования в последовательности л = (ла*, лв*)- Учитывая тот факт, что все требования пронумерованы в порядке неубывания значений Dk, на основании теоремы 3.1 требования мно- жества Л* по-прежнему будут обслуживаться в срок. Что касается требований множества 5*, то ни одно из них при этой последовательности не будет обслужено в срок, так как в противном случае исходная последова- тельность не была бы оптимальной. Следовательно, Fa (лаф, лв*) = Fa (л*) и л = (ла*, лв*) — оптималь- ная последовательность. Если каждому требованию к — 1, п отнесем перемен- ную принимающую значение 1, если к ЕЕ В*, и зна- чение 0, если i'E Л*, то искомое разбиение множества N может быть получено в результате решения задачи цело- численного линейного программирования с п ограниче- ниями и п булевыми переменными: п 2 акхи пнн, (3-2) fc=l i 2 h (! ~ < A, t = 1, (3.3) k=i ajtG={0, 1}, к — 1, n. (3-4) Положим zfe = max (0, — Pft), где — фактическое время завершения обслуживания требования к, a Dk — соответствующий директивный срок. Если требования об-
76 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 служиваются в последовательности л = (ix, Z2, . . ., in), то 3 tij “ 2 k=i Пусть ВCZ В*, А = N \ В кпд — последовательность требований множества А, расположенных в порядке их возрастания. На основании предыдущих рассуждений можно за- ключить, что если ла = (ц, . . ip, . . iq), zip > 0 и zt. = 0 при ] < р, то в В* содержится, по крайней мере, одно из требований множества С = {L, i2, . . ., ip}. Следовательно, задачу (3.2)—(ЗЛ) можно заменить эквивалентной ей задачей целочисленного линейного про- граммирования, в ряде случаев меньшей размерности. Обозначим через S множество элементов последователь- ности (1, 2, . . ., п), которым соответствует строго воз- растающая последовательность zk 0. Имеем S 2 аА niin, (3.5) к=1 I 2 tkxk z eS, (3.6) /С=1 xfce{0, 1}, (3.7) Здесь s — наибольший элемент множества S. Будем говорить, что множество С £ С является кри- тическим, если 2 И 2 tij<ZZip Для всех ij&J ij^C собственных подмножеств С множества С. Одно из крити- ческих подмножеств множества С содержится в В*. Этот факт позволяет организовать целенаправленный поиск оптимального разбиения множества N всех требо- ваний на два подмножества Л* и В*. Простейшая схема организации такого поиска может быть описана следую- щим образом. 1. Положим В = В0 = ф, Л = Л° = 7V \ В0 = /V и построим Лао = (1, 2, . . ., п). Если все = 0, то В* = А* = Л° и Лао — искомая последовательность. Пусть Zp>0 и я* = 0 при k<Z р. Образуем все критичес-
§ 31 ДИРЕКТИВНЫЕ СРОКИ 77 киеподмножестваСпСг, • • •, 6/г<> множества С— {1,2,.. . Положим В} = В° (J C°i, А] = N \ В\, I — 1, г0. 2. Переходим к последовательному рассмотрению раз- биений (Л\В}). Полагая В = В}, А = А], строим nAi = = (4» • • •» 4>i» • • •» ^1)- Если все z.i — 0, то строим 3 л = (5? 1, л i), вычисляем F% (л) и приписываем это зна- Ai чение Fs (л) разбиению (Л|, В|), Если >0 и = 0 гР1 гз при /< Pi, то образуем все критические подмножества Сп, С/г,. . множества С} = {4» . . Положим B?t = BtUClh A?t = JV\Bfh t = 3. Переходим затем к последовательному рассмотре- нию разбиений (Ain Вн), . . (Аг0гГо, В\Тг) и т. д. Этот процесс, очевидно, конечен. В результате будет получен набор разбиений множества 2V, каждому из которых будет приписано некоторое значение Ве(л). То из разбиений, которому приписано наименьшее значение (л), явля- ется оптимальным разбиением (Л*, В*), а последователь- ность л = (ла*, лв*) — искомой оптимальной последова- тельностью обслуживания требований. Приведенный алгоритм, по существу, описывает про- цесс последовательного конструирования оптимальной последовательности и графически может быть представлен в виде графа, изображенного на рис. 3.3.1. Каждой вершине графа приписано выбираемое на данном шаге множество С. Объединение всех множеств, приписанных всем вершинам пути, соединяющего начальную вершину графа с рассматриваемой, образует множество В, соответ- ствующее рассматриваемой вершине. Применение алгоритма, очевидно, может привести к образованию одинаковых множеств В. В этом случае из всех вершин, которым соответствуют одинаковые мно- жества В, дальнейшему «развитию» подлежит одна, по- скольку рассмотрение остальных не приводит к новым разбиениям множества N. Эти последние вершины будем относить к классу тупиковых. Некоторого ускорения процесса поиска оптимального разбиения можно добиться следующим простым приемом.
78 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 Припишем всем вершинам графа числа а (В) = 2 аъ г^В где В — множество, соответствующее рассматриваемой вершине. Поскольку все > 0, то вершинам, связанным с рассматриваемой вершиной исходящими из нее дугами, будут приписаны числа, каждое из которых больше числа, приписанного рассматриваемой вершине. Для конечных вершин, которым приписаны значения (л), окажутся приписанными значения а (В) = (л). Пусть а* = Fz (л*). Все вершины, которым приписа- ны значения а(5)>а*, очевидно, являются «бесперспек- тивными» и могут не рассматриваться в процессе поиска оптимального разбиения. Поскольку значение а* заранее неизвестно, то в процессе поиска на каждом шаге целесо- образно «развивать» ту из конечных вершин, которой соот- ветствует наименьшее значение а (В). Признаком окон- чания процесса служит ситуация, когда одной из конеч- ных вершин оказывается приписанным значение F% (л)
§ 3] ДИРЕКТИВНЫЕ СРОКИ 79 и это значение не больше значений а (В), приписанных остальным конечным вершинам (кроме тупиковых). Отметим, что любая конечная вершина, за исключени- ем тупиковых, будучи «бесперспективной» на данном шаге алгоритма, может подвергнуться «развитию» на последую- щих его шагах. В этом отношении тупиковые вершины, заведомо не подлежащие дальнейшему «развитию», зани- мают особое положение среди конечных вершин. Можно сформулировать ряд правил оценки и выбора направления ветвления, так называемых условий доми- нирования, применение которых позволяет отнести ту или иную конечную вершину в разряд тупиковых. Одно из такого рода правил состоит в следующем. Предположим, что на некотором шаге алгоритма одной из конечных вершин соответствует множество Вг и припи- сано значение a (BJ = аФ, а второй — множество В2 и значение а (В2) — а(2>. Пусть а(2> и множества В! и В2 отличаются одним элементом. Для определенности, пусть множество В± содержит элемент i и не содержит элемента /, а множество В2 содержит элемент / и не содер- жит элемента i. Предположим далее, что > tj. Тогда конечная вершина, которой приписано множество В2, является тупиковой. Действительно, поскольку то при а(1> (и, следовательно, at множество 5* наряду с тре- бованием / должно содержать требование i либо содержать требование Z, но не содержать требования /, либо не со- держать ни одного из этих требований. Если = а(2> (и, следовательно, = a,j) и /ЕВ*, то элемент / в В* можно, очевидно, заменить элементом i. 3.3. Перейдем к рассмотрению задачи, в которой не- обходимо в заданные директивные сроки обслужить наи- большее число требований. В этом случае ак — 1, к = 1, п. По-прежнему будем предполагать, что все требования про- нумерованы в порядке неубывания значений Dk. Поскольку ак = 1, к = 1, п, то, используя описанное выше правило доминирования, при формировании мно- жества В* нет необходимости в анализе всех возможных альтернатив. Достаточно на каждом шаге из множества С выбирать требование с наибольшим значением tk. Алгоритм построения оптимальной последовательно- сти в данном случае может быть описан следующим образом.
80 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 1. Если при обслуживании требований в последова- тельности л(п) = (1, 2, . . ., п) все требования обслужи- ваются в срок, то эта последовательность оптимальна. Если все tk Dk, то ни одно из требований не может быть обслужено в срок, и в этом случае любая последователь- ность обслуживания требований является оптимальной. 2. Пусть на некотором шаге алгоритма последователь- ность л<«) = (г’х, г2, . . ., гр, . . iQ) требований, упорядо- ченных по неубыванию их индексов, такова, что zip > 0 и zt. — 0 при /< р. Среди требований множества С = {i1? z2, . . ., ip] выберем требование (или одно из требований) с наибольшим значением Перейдем к рас- смотрению последовательности полученной из n(Q) удалением требования ц. 3. Повторяя шаг 2 конечное число раз, получаем последовательность л(г> = i3, . . ., ir), для которой все z.' = 0, / = 1, г. Последовательность л* = (л<г\ л) « г» ~ является оптимальной. Здесь л — произвольная последо- вательность требований, отличных от требований множе- ства Z ^2, • • •, • 3.4. Пример. Требуется определить последова- тельность обслуживания требований, при которой наи- большее число требований обслуживается в заданные директивные сроки. Значения времен обслуживания tk и директивных сроков Dk приведены в следующей таб- лице: к 1 2 3 4 5 6 7 tk 2 1 4 3 2 3 1 Ок 4 5 5 6 8 10 10 1. Обслуживая требования в последовательности л(7> = (1,2, 3, 4, 5, 6, 7), получаем фактические време- на 1к завершения их обслуживания, равные соответствен- но 2, 3, 7, 10, 12, 15 и 16. Значения z± = % = 0, z3 = 2, z4 = 4, z5 = 4, zQ = 5, z1 = 6. Поскольку не все zk = 0, то не все требования могут быть обслужены в заданные директивные сроки. 2. Из множества С = {1, 2, 3} требований выберем требование с наибольшим tk. В данном случае к = 3.
§ 31 ДИРЕКТИВНЫЕ СРОКИ 81 Обслуживая требования в последовательности = = (1,2,4, 5, 6, 7), получаем = 2, 72 = 3, 74 = 6, 7,5 = 8, 7g = 11, = 12, ~ ^2 = z4 — Z5 = 0, Zq — 1, z? = 2. 3. Из множества С = {1, 2, 4, 5, 6} выбираем требо- вание с наибольшим В данном случае к = 4. Имеем последовательность л<5) = (1, 2, 5, 6, 7), для которой все = 0. Следовательно, л* = (1, 2, 5, 6, 7, 3, 4) — опти- мальная последовательность обслуживания требований. В заданные директивные сроки обслуживается 5 требо- ваний. 3.5. В заключение этого параграфа рассмотрим задачу построения оптимальной (по критерию (л)) последова- тельности обслуживания требований в случае, когда функ- ции штрафа (х) = max (х — 0), к — 1, п. Подход к разработке и обоснованию алгоритма ее решения в до- статочной мере универсален и может быть использован при решении иных аналогичных задач. Введем понятие обобщенного интервала очередности. Наряду с выявлением условий, при которых одно из двух требований следует обслуживать первым в случае, когда эти требования обслуживаются непосредственно друг за другом (см. § 2 гл. 3), определенный интерес пред- ставляет выявление условий, при которых одно из двух требований следует обслуживать первым независимо от того, обслуживается ли второе требование непосредствен- но за первым или между моментом завершения обслужи- вания первого требования и моментом начала обслужива- ния второго проходит некоторый промежуток времени, занятый, например, обслуживанием других требований. Будем говорить, что временной интервал (0П 02) яв- ляется обобщенным интервалом очередности типа i -> /, если <Pi (* -Hi) — ф; (£ + tj) < Ti (?) — Tj (1) (3.8) при ti tj или Ti (? — tj) — Tj (t + tj) < (?) — <pj (?) (3.9) ПРИ ti > tj для всех t и 7, удовлетворяющих условию L < t -|- ti -j- tj t 02. Содержательно это означает, что если требования об- служиваются, например, в некоторой последовательности
82 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 Я == (Лх, ^2> • • •» • • •, &р,, • • •, А^д), — 7» — Z, V—1 Р- t = 2 = 2*»< и 0i<^< ^<02, то ^а(л'Х^2(л), z==i i=i ГДС Л (А^х, А>2, • • •» ^^—1» A>ji, ^v+1? • • •, Afyu-1, *v, ^рЧ-Х? • • • • • • , кп) при ti tj И Л —> (Лх, А?2, • • •> ку— 1, ^v+1, • • . . . Ар,, к^, Лр.+1, . . ., кп) при ti tj. Действительно, в обоих случаях время завершения обслуживания каж- дого требования, кроме требований i и /, относительно по- следовательности л' не больше времени завершения обслу- живания этого требования относительно последовательно- сти л. Поскольку все функции штрафа — неубывающие и интервал (0Х, 02) — обобщенный интервал очередности типа i -> /, то Fs (л') (л). Используя понятие обобщенных интервалов очередно- сти, в каждом конкретном случае можно сформулировать достаточные условия, при которых некоторое требование из данного множества требований будет обслуживаться первым (или последним), если требования этого множе- ства начинают обслуживание в данный момент вре- мени. Действительно, если рассматриваемое множество требований обозначить через TV, а через 0Х и 02 обозначить соответственно моменты начала и завершения обслужива- ния всех требований этого множества, то указанные усло- вия в общем виде означают следующее. Требование i GE TV следует обслуживать первым (последним), если интервал (01? 02) является обобщенным интервалом очередности типа i -> 7 (соответственно, типа / -> i) для всех / GE TV, 7 3.6. Теорема 3.2. Пусть <pfe (х) = max (л? — Dk, 0), к — i, /. Для того чтобы интервал (0Х, 02) являлся обобщенным интервалом очередности типа i -> /, доста- точно, чтобы при ti tj значение Di max (0Х + 0. -Dy), а при ti > tj значение Dj~^ Dt > 02 — tj. Доказательство. В рассматриваемом случае условия (3.8)—(3.9) можно записать в виде max (t + ti, Dt) — max (f + tj, Dj) max (I, DJ — — max (?, Dj) при tt tj, (3.10) max (7 — tj, Dt) — max (t -|- tj, D}) max (?, DJ — — max (?, Dj) при tt tj. (3.11)
$ 3] ДИРЕКТИВНЫЕ СРОКИ 83 Пусть ti < tj. По условию Di < max (0Х + tj, Dj). Поскольку I > 0i -Hi + tj,jo Di max (7, Dj). Возмож- ны следующие ситуации: l^Dj или lj>Dj и, следовав тельно, 7 В обоих случаях непосредственной про- веркой убеждаемся в справедливости неравенства (3.10). Пусть Ц tj. Левая часть неравенства (3.11) прини- мает наибольшее значение при 7 = 02 и t = 0Х. При выпол- нении неравенств Dj Dt > 02 — tj неравенство Di —- шах (0! + tj, Dj) max (7, Dj) —- max (7, Dj), очевидно, выполняется при любом 7 > 0Х + ti + tj. Тео- рема доказана. Обозначим через 7? некоторое подмножество множест- ва N требований. Пусть обслуживание требований мно- жества N начинается в момент времени 0Х и завершается в момент времени 02 = 01 + 2 h* Сформулируем доста- fceiv точные условия, при которых некоторое требование i ЕЕ ЕЕ 2? следует обслуживать первым, а некоторое требование / ЕЕ 7V последним среди всех требований множества 2?. Эти условия непосредственно следуют из определения обобщенного интервала очередности и приведенной тео- ремы. Следствие 1. Если i ЕЕ N и для всех j ЕЕ N вы- полняются условия Di max (0Х + 0> Dj) при Ц tj или 02 — tj Di Dj при ti j> tj, то существует оптимальная последовательность обслуживания требова- ний множества П, в которой требование i обслужи- вается первым. Следствие 2. Если j ЕЕ N и для всех i ЕЕ N вы- полняются условия Di тах(0х 4- tj, Dj) при tt tj или % — tj^Di^Dj при tij> tj, то существует опти- мальная последовательность обслуживания требований множества N, в которой требование j обслуживается последним. На основании этих утверждений можно сформулиро- вать критерии оптимальности некоторых последователь- ностей. Следствие 3. Последовательность л/= (г\, i2,..., in) всех требований, упорядоченных по неубыванию
84 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 значений tk, является оптимальной, если D^^Di. или fc-i ; Dik < S *il + hp 1=1 Последовательность nD = (j\, fn) всех требова- ний, упорядоченных no неубыванию значений Dk, является п оптимальной, если tjn + Dh>T = 3 tk, i = 1, га — 1. I fc=i i 3.7. Следствия из теоремы 3.2 позволяют предложить следующий алгоритм конструирования оптимальной (от- носительно Fs (л)) последовательности обслуживания тре- бований в рассматриваемом случае, т. е. когда cpfc (х) = = max (х — Пк, 0), к — 1, га. 1. Упорядочим множество N всех требований по не- убыванию значений Dk. Обозначим полученную последо- вательность лп = (/р /2,..., /п), Dh < Dh+X, i = 1, га — 1. Если при этом все требования обслуживаются в срок, т. е. г п ^tjk или tjn +Z>j. > Т = то — оптималь- ней к=1 ч ная последовательность (следствие 3). 2. Упорядочим множество N всех требований по не- убыванию значений tk. Обозначим полученную последо- вательность л* = (i1? in), /=1, га — 1. 5 k—1 Если при этом Di}s < Dt. или Dik < 2 *<г + Для Z=1 всех 1 к < / n, то л* — оптимальная последователь- ность (следствие 3). 3. Из множества N выберем требование ln с ttn = = max tk. Если Dk max (tin, Dln) для всех к EE N, то в оптимальной последовательности это требование мож- но обслуживать последним (следствие 2). Перейдем к рассмотрению множества Nr = N\ 1п. Вы- берем среди требований множества требование 1п^ с = max tk. Если Dk < max (tln l, D^) для всех к Nv то требование Zn_1 в оптимальной последователь- ности можно обслуживать предпоследним. Перейдем к рассмотрению множества N2 = Nt \ ln-i- Пусть этот
$ 3] ДИРЕКТИВНЫЕ СРОКИ 85 процесс удается повторить р раз. В результате получаем множество требований Zn}, которые в, опти- мальной последовательности можно обслужить послед- ними, и порядок их обслуживания Zn). Мно- жество оставшихся требований обозначим через NP. 4. Среди требований множества Np выберем требова- ние 1п-Р с D, = max Dk. Если -J- Ds > 2 h <^NP l&Np для всех kENp, то в оптимальной последовательности требования множества Np будут обслуживаться первыми в порядке неубывания значений Dk (следствие 3). В про- тивном случае обозначим Np через М. 5. На основании теоремы 3.2 разобьем множество М на два подмножества М± и М2 по следующему принципу: если для / ЕЕ М существует i ЕЕ М такое, что интервал (0Х = 0, 02 = 2 **) является интервалом очередности типа i -> /, то / S М2, остальные требования принадле- жат множеству Mv Иными словами, множество М± со- стоит из конкурентноспособных претендентов на первооче- редное обслуживание в оптимальной последовательности среди всех требований множества М. 6. Выберем произвольное требование ЕЕ М± и пред- положим, что в оптимальной последовательности это тре- бование обслуживается первым среди всех требований множества М. Уменьшим значение Dk для всех к ЕЕ М, к Ф 119 на величину th и перейдем к выполнению пп. 3—4, полагая N = М \ Таким образом, в результате при- нятия гипотезы, что первым в оптимальной последователь- ности обслуживается требование получаем множество М (Z1) с М все еще неупорядоченных требований. Аналогичные рассуждения проводим относительно ос- тальных требований множества Mv 7. Перейдем к последовательному рассмотрению ситуа- ций вида: требование обслуживается первым и М (1г) — множество все еще неупорядоченных требований. Повто- ряем пп. 5, 6, полагая М = М (ZJ и принимая в качестве Dk значения исходных директивных сроков, уменьшен- ные на величину th. Затем перейдем к последовательному рассмотрению ситуаций вида: требования l19 12 обслужи- ваются первыми в последовательности (Zx, 12) и М (Zx, 1%)
86 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 — множество все еще неупорядоченных требований и т. д. В результате получаем конечное число последователь- ностей, среди которых выбираем последовательность л*, которой соответствует наименьшее значение Fs (л). Эта последовательность является искомой. 3.8. Пример. Построим оптимальную (по крите- рию Fs (л)) последовательность л* обслуживания семи требований одним прибором в предположении, что все функции штрафа <рл (х) = max (х —- Dk, 0). Значения tk и Dk приведены в следующей таблице: к 1 2 3 4 5 6 7 tk 9 10 9 8 5 2 7 Dk 15 20 17 8 10 И 12 1. Последовательности лп = (4, 5, 6, 7, 1, 3, 2) и л* = (6, 5, 7, 4, (1, 3), 2) не удовлетворяют достаточным условиям оптимальности. 2. Выберем требование Z7 = 2 с Z2 = max tk = 10, N = {1, 2,..., 7}. Поскольку Dk max (Z2, T>2) = 20 для всех к e TV, то требование 2 в искомой последовательнос- ти л* можно обслуживать последним. Из множества = = N \ {2} выберем требование lQ — 3 с t3 = max tk = 9. teNi Поскольку Dk max (t3, D3) = 17 для всех к e= Nv то требование 3 в л* можно обслуживать предпоследним. Аналогично, требование 1 можно обслуживать пятым по порядку. Таким образом, требования 1, 3, 2 могут обслу- живаться последними в указанном порядке. 3. Перейдем к рассмотрению задачи упорядочения об- служивания оставшихся требований М — {4, 5, 6, 7} во временном интервале (ох = 0, 0а = 2 h = 22). Интер- teAf вал (0,22) является интервалом очередности {5, 6}-> -> 7. Поэтому Мг = {4, 5, 6} и М2 = {7}. Одно из тре- бований множества Мг может обслуживаться в л* первым по порядку. Рассмотрим каждую из имеющихся возмож- ностей. а) Пусть = 4. Уменьшим значения Dk для всех к е G= М9 к 4, на величину = 8, и перейдем к рассмотре-
§ з] ДИРЕКТИВНЫЕ СРОКИ 87 нию эквивалентной задачи оптимального обслуживания в интервале (0, 14) требований, значения tk и Dk которых приведены в следующей таблице: к 5 6 7 5 2 7 2 3 4 Выберем требование Z4 = 7 с Z7 = max tk = 7. По- fe{5, в, 7} скольку Dk max (г7, Z>7) = 7 для к = 5,6, то требова- ние 7 может обслуживаться четвертым по порядку. Ана- логично получаем 13 = 5. Таким образом, получаем последовательность (6, 5, 7) с суммарным штрафом 15. б) Пусть 1± = 5. Уменьшая значения Dk для всех к ЕЕ М, к Ф 5, на величину — 5, перейдем к упорядоче- нию в интервале (0, 17) требований, параметры которых приведены в следующей таблице: к 4 6 7 tk 8 2 7 Dk 3 6 7 Выберем требование Z4 — 4 с £4 =* max tk = 8. Тре- fe{4, 6, 7} бование 4 может обслуживаться четвертым по порядку, так как Dk max (Z4, Z>4) = 8 для к = 6, 7. Анало- гично находим Z3 = 7 и получаем последовательность (6, 7, 4) с суммарным штрафом 16. в) Пусть = 6. Уменьшая значения Dk для всех к £= М, к Ф 6, на величину Ze = 2, перейдем к упорядо- чению в интервале (0, 20) требований, параметры которых приведены в следующей таблице: к 4 5 7 h 8 5 7 Dk 6 8 10
88 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ (ГЛ. 3 Интервал (0, 20) является интервалом очередности 5—>{4, 7}. Получаем последовательности (5, 4, 7) и (5, 7, 4) с суммарным штрафом 17 и 16 соответственно. 4. Выберем среди последовательностей, полученных в случаях а), б), в), последовательность с наименьшим штра- фом. Это — последовательность (6, 5, 7) с 4 = 4 и сум- марным штрафом, равным 15. Таким образом, искомой последовательностью является последовательность л* = - (4, 6, 5, 7, 1, 3, 2) и Fs (л*) = 84. В практическом отношении целесообразно вычислять нижнюю оценку значений суммарного штрафа на мно- жестве всех последовательностей с заданным начальным и конечным фрагментами. Это позволяет в последующем развивать наиболее перспективные направления ветвле- ния. Если для некоторой последовательности л значение Fs (л) оказывается не больше значений суммарного штра- фа каждой из остальных полученных последовательностей и не больше нижних границ остальных, подлежащих развитию вариантов, то л, очевидно,— искомая после- довательность. § 4. Задача коммивояжера Задача коммивояжера является одной из наиболее из- вестных экстремальных комбинаторных задач. Обширный круг возможных приложений, сосредоточение характерных для задач дискретного программирования трудностей, наряду с простотой и прозрачностью формулировки, привлекает к этой задаче внимание многих исследовате- лей. Многие общеизвестные в настоящее время приемы и методы дискретного программирования впервые были наиболее четко сформулированы при разработке эффек- тивных алгоритмов решения задачи коммивояжера. 4.1. Необходимость рассмотрения задачи коммивоя- жера и различных ее обобщений в теории расписаний возникает, как правило, при изучении ситуаций, в кото- рых качество расписания существенно зависит от пра- вильной организации разнообразных пуско-наладочных и транспортных работ, связанных с эксплуатацией об- служивающих приборов. Опишем одну из характерных ситуаций такого рода.
89 § 4] ЗАДАЧА КОММИВОЯЖЕРА Пусть п требований обслуживается одним прибором. Все требования поступают на обслуживание в момент времени d = 0. Длительность обслуживания требования к равна единиц времени. Если требование к обслужи- вается первым, то для подготовки прибора к обслужива- нию этого требования необходимо б0Л единиц времени, к = 1, п. Если требование / обслуживается непосредствен- но после требования i, то для переналадки прибора с об- служивания требования i на обслуживание требования / необходимо единиц времени, 1 <1 i п. Требует- ся так организовать процесс обслуживания требований (т. е. указать такую их последовательность), чтобы общее время обслуживания всех требований было наименьшим. Нетрудно видеть, что искомой последовательности при этом должно соответствовать наименьшее общее время пуско-наладочных работ. В ряде случаев желательно так- же учитывать время 6fc0, требуемое на приведение обслу- живающего прибора в исходное состояние, если требо- вание к обслуживается последним, к = 1, п. Таким об- разом, необходимо найти такую последовательность л = = (i19 f2,..., in) обслуживания требований, чтобы вели- чина 60it + 2 ifc+i + о была наименьшей. fc=i Эта задача допускает простую геометрическую интер- претацию. Рассмотрим полный симметрический ориенти- рованный граф (X, U); X = {0, 1,..., п} —- множество вершин; U — множество дуг. Каждой дуге (i, j) припи- шем число 6^, которое будем называть длиной этой дуги. Требуется найти гамильтонов контур, т. е. контур, про- ходящий через каждую вершину один и только один раз, которому соответствует наименьшая длина. Под длиной контура понимается величина, равная сумме длин его дуг. Задача коммивояжера обязана своим названием не- сколько более частной геометрической ситуации. Пусть X — множество городов, a 1ц > 0 — расстояние между городами i и J. Вообще говоря, 1цг учитывая, напри- мер, наличие различных магистралей одностороннего дви- жения, связывающих города ^и /. Коммивояжер должен выехать из города 0, объехать все остальные города ров- но по одному разу и вернуться в исходный город 0»
90 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 Необходимо указать такую последовательность объезда городов, при которой коммивояжеру требуется прое- хать наименьшее суммарное расстояние. Задача называется симметрической, если 1ц = 1ц, и геометрической, если при этом значения 1^ удовлетво- ряют всем аксиомам метрики евклидовой плоскости. 4.2. Задача коммивояжера допускает формулировку в терминах смешанного линейного программирования. К сожалению, получаемые при этом модели оказываются весьма громоздкими и, что особенно неблагоприятно, содержат большое число целочисленных переменных. Тем не менее сам процесс постановки задачи коммивояжера как задачи математического программирования пред- ставляет определенный интерес. Введем переменные x{j, 0 i j п, принимающие значения = 1, если дуга (г, j) принадлежит гамильто- нову контуру, и значение = 0 в противном случае. Всего гамильтоновых контуров п!. Обозначим через Q совокупность п\ наборов {xfJ} значений xfJ-, соответствую- щих этим контурам. Таким образом, задачу коммивоя- жера можно записать в виде (4.1) {жу}£Й. 0.2) Обозначим через £2 совокупность наборов {жу} зна- чений х^ удовлетворяющих условиям п 3 Жу = 1, i = 0, п, t=j= j, (4.3) 3=0 п 2 ХИ = 1 > 7 = 7 #= i- 0-4) i=0 Нетрудно убедиться, что Q CZ £2. Кроме наборов {хц} значений xi^ которым соответствуют гамильтоновы контуры, множество £2 содержит также наборы {xtj} значений х^, которым соответствуют несколько изоли- рованных контуров. Чтобы исключить подобные ситуации, необходимо наложить некоторые дополнительные условия на наборы
§ 4] ЗАДАЧА КОММИВОЯЖЕРА 91 {хц}, которые естественно называть условиями связнос- ти. Заметим, что задача (4.1), (4.3) и (4.4) является из- вестной задачей о назначениях, для которой существуют весьма эффективные методы решения. Эта задача неадек- ватна задаче коммивояжера из-за отсутствия условий связ- ности, исключающих возможность получения несколь- ких изолированных контуров. Условия связности могут быть записаны (без введения дополнительных переменных) в виде 3 ХИ < к’ 1 £—р"] > 1 Сп+1, (4.5) г, где Ml — g-e подмножество множества X = {0,1,2,..., п}, содержащее к элементов; [а] — целая часть а. Всякий набор {xtj} Q удовлетворяет, очевидно, ограничениям (4.5). Покажем, что всякий набор S Е= удовлетворяющий ограничениям (4.5), принадле- жит Q. Действительно, если набору {хц} ЕЕ Q соответствует несколько изолированных контуров, то хотя бы один из этих контуров содержит не более вершин, пусть это будет контур (vx, v2,..., vx). Следовательно, = = X^ = . . . = X^x =1 И 2 Xti = Г«е Ml = i, j&M* = {viV2... vj, что противоречит условию (4.5). Таким образом, задача (4.1), (4.3), (4.4) и (4.5) экви- валентна задаче коммивояжера. Та же цель может быть достигнута введением допол- нительных переменных, играющих роль своеобразных счетчиков дуг или вершин, встречающихся при обходе контура. В случае организации «счетчика дуг» каждой дуге (г, у) относят переменную yi3 > 0, удовлетворяющую ус- ловию Тем самым набору ставится в соответствие не- который набор {уг;} значений уц. При этом нулевым
92 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 значениям х^ соответствуют значения у и, равные нулю. Если = 1, то уц, вообще говоря, не равно нулю. Поскольку набору {хц} GE Q соответствует или гамиль- тонов контур, или несколько изолированных контуров, то в любом случае можно выбрать контур, содержащий вершину 0. Произведем обход этого контура, начиная с вершины 0. Пусть первой из дуг этого контура припи- сано значение yiS — у0, второй значение = yQ + р (или y$-q), третьей значение у^ = yQ + 2р (или у0-д2) и т. д., где р и q — некоторые действительные числа. Если рассматриваемый контур является гамильтоно- вым, то последней дуге должно быть приписано значение .Уи = У о + пР (или Уъ*дп>)- В противном случае ей ока- жется приписанным число у и = у0 + niP (или Уо*УП1), где nL<Z п. Таким образом, условия связности могут быть запи- саньгв виде П П 3 Ун = 2 Ун + Р» i = TTn, i=/=j, 0<р = const i=o i=o (4.7) ИЛИ n n 2ру = з2ря> f = i=M, 0<g = const<1, (4.8) y=0 J=O n n 2 voi =2 Узо = qn (4-9) i=i i=i и задача (4.1), (4.3), (4.4), (4.6) и (4.7) или (4.8), (4.9) эквивалентна задаче коммивояжера. При организации «счетчика вершин» достаточно ввес- ти п новых переменных zt >0, i = 1, п, означающих порядковый «номер» вершины i при обходе контура, со- держащего вершину 0. Условия связности в этом случае могут быть записаны в виде zt — Zj гь (1 —xtj) — 1, 1 <1 i j n. (4.10) Действительно, пусть набор {xfJ} принадлежит Q и ому соответствует гамильтонов контур (0, vx, vn, 0), Tv e. . == * • • — -v = Ху о := 1, осталЬ”
§ 4] ЗАДАЧА КОММИВОЯЖЕРА 93 ные хи = 0. Положим zV1 =1, zV1 = 2, ..., z^n = п. Непосредственной проверкой убеждаемся в справедли- вости условий (4.10). Если {хц} G Й и {х^} Q, то набору {хц} соответствует несколько изолированных кон- туров. Выберем контур (р,п р,2,..., рь рх), не содержа- щий вершины 0, = ... = х^^ = х^ = 1. Покажем, что не существует чисел z^, z^ ,..., 0, удовлетворяющих ограничениям (4.10). По условию z^>zy.1 +!,•••, Zp., > Zp.;_1 + 1, Т. е. > Zp., + (Z — 1), но zH > z^ 4-1 и Z > 2. Получаем противоречие. Следо- вательно, задача коммивояжера эквивалентна задаче (4.1), (4.3), (4.4) и (4.10). Введение переменных двух типов и разделение ограни- чений на две группы, первая из которых обеспечивает «контурность», а вторая «связность» решения, является вполне оправданным, но не необходимым приемом. Впол- не очевидна возможность построения линейной модели, переменные которой несут двойную содержательную на- грузку. Пусть переменная х^ принимает значения 1 или 0, в зависимости от того, встречается дуга (i, /) при обходе гамильтонова контура (начиная с вершины 0) к-й по по- рядку или нет, 0 i Ф ] п, к = 1, п 4- 1. Тогда задача коммивояжера может быть сформулирована в виде п-{-1 2 S (4-11) lt—1 при ограничениях п 2 4=24 = 1, (4.12) j=l п п 2 4 = 24+1, / = !>", к — 1,п. (4.13) 1=0 1=0 Эти ограничения, по существу, означают, что если дуга (Z, у) входит в гамильтонов контур и при его обходе, на- чиная с вершины 0, встречается к-й по порядку, то одно из значений x^+1 = 1.
94 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 Перечисленные линейные модели задачи коммивояжера отличаются друг от друга как числом переменных, так и числом и видом ограничений. Априори отдать предпоч- тение той или иной модели не представляется возможным. Немногочисленные попытки непосредственного примене- ния методов целочисленного линейного программирова- ния к решению задачи коммивояжера не привели к сколь-нибудь обнадеживающим результатам. Определенный теоретический интерес представляет формулировка задачи коммивояжера в терминах цело- численного квадратичного программирования. Введем переменные ж?, г, к = 1, п, принимающие значения О и 1. Если х* = 1, то содержательно это означает, что при обходе гамильтонова контура, начиная с вершины О, вершина i встречается А-й по порядку. В противном слу- чае х* — 0. Таким образом, значения х* должны удовлетворять ограничениям 2^ = 1, к = ТГп, (4.14) г=1 2^=1, 1 = 17^, (4.15) fc=l и доставлять наименьшее значение квадратичной форме п п—1 2 ) + 2 2 lijXiX1}*1. (4.16) г=1 fc=l Эта задача не является задачей выпуклого программи- рования. 4.3. Основой многих методов решения задачи коммиво- яжера служит систематическое использование следующего очевидного свойства решения этой задачи. Пусть последо- вательность вершин (0, ii, г2, ..., г\, i\+1, ..., ij, ... ..., г’п, 0) определяет искомый оптимальный контур. Тог- да длина пути (г\. ffc+1, ..., it не больше длины пути A+i, • ••, Л-i, где (Д+1, ..., /*-1) произвольная по- следовательность вершин множества ...,
§ 4] ЗАДАЧА КОММИВОЯЖЕРА 95 Задача коммивояжера относится к классу задач, рас- смотренных в § 5 гл. 2. Вычислительная схема в данном случае может быть описана следующим образом. Обозначим через Q произвольное подмножество мно- жества N = {1, 2,..., п}, а через F (Q; к) — длину крат- чайшего пути из вершины 0 в вершину к проходя- щего через вершины множества Q. Величина F (ЛГ; 0) — длина искомого гамильтонова контура. _______ По определению F (0; к) — Zofc, к = 1, п. Учитывая отмеченное выше свойство решения задачи коммивояже- ра, можно записать рекуррентное соотношение F(Q, к) = mxa[F,{Q \i; i)4-Zi(c], Q<=>N, (4.17) ieQ Таким образом, для вычисления значения F (Л7; 0) необходимо располагать п значениями F (N \ г; Z), i ЕЕ N. Если в соотношении (4.17) минимум достигается при i = f, то in = i'. Положим Q = N \ in, к = fn* Из соотношения (4.17) может быть найдено значение i = = i", при котором достигается минимум. Следовательно, г‘п-1 = iw. Полагая, далее, Q = N \ {г*„ анало- гичным образом может быть найдено значение in-z и т. д., пока не будет найдено значение i19 Процесс построения кратчайшего гамильтонова кон- тура включает последовательное вычисление значений F к) для |^| =1, 2,..., п — 1, вычисление значе- ния F (N, 0) и запоминание тех значений Z, при которых в соотношении (4.17) достигается минимум. Возможны различные схемы организации вычислений. Наиболее распространенной является схема, при которой сначала вычисляются и запоминаются все значения F (Q; к) для | () | = 1, затем все значения F (Q, к) для | Q | = = 2 и т. д., пока не будет вычислено значение F (N; 0). При реализации этой вычислительной схемы лимитирую- щим оказывается объем промежуточных результатов, ко- торые необходимо запомнить для проведения последую- щих вычислений. Так/ для вычисления всех значений F (Q; к) при |^| = 2 необходимо располагать (п — 1) С„ значениями F (Q\ к) при | Q | = 1, для вычисления всех значений F (Q; к) при | Q | = 3 необходимо располагать
96 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 (п — 2) Сп значениями F (Q; к), вычисленными при | Q | = 2 и т. д. Тем не менее с использованием средних ЭВМ оказывается возможным решать задачи коммивоя- жера с п 15. Объем одновременно хранимых промежуточных ре- зультатов существенно уменьшается, если воспользовать- ся иной вычислительной схемой. Согласно этой схеме при вычислении значения F (Q; к) для каждой конкрет- ной пары (Q, к) последовательно вычисляются, начиная с | Q | = 1, только те значения F (Q; к), которые необхо- димы для вычисления значения F (Q, к). При этом, естественно, происходит значительное дублирование вычис- лений, однако объем запоминаемой промежуточной ин- формации уменьшается. Тем самым оказывается возмож- ным решать задачи с п 18 за практически приемлемое время. При разработке вычислительных процедур для кон- кретных ЭВМ целесообразно сочетать различные приемы с целью максимального использования возможностей ЭВМ. 4Л Прежде чем переходить к описанию метода ветвей и границ решения задачи коммивояжера, сделаем одно общее замечание. Пусть, как и прежде, || ZfJ-1| — матрица расстояний между вершиной i и вершиной /, 0 i =/= / п. Положим Zrt == оо, i = 0, п. Значения больше или равны 0. Вычтем из какой-либо строки (или столбца) матри- цы || ltj || положительное число Z, не превосходящее элементов этой строки (или столбца). Обозначим полученную в резуль- тате матрицу через || || , Z^ >0, 0 i п. Ре- шая задачу коммивояжера с матрицей расстояний || ZJ, получаем, очевидно, тот же гамильтонов контур, что и при решении этой задачи с матрицей расстояний || ||, однако длина полученного контура будет на Z единиц мень- ше. Другими словами, длина искомого контура (и тем са- мым любого гамильтонова контура) не меньше величины Z. Это обстоятельство позволяет получать нижнюю оцен- ку длин гамильтоновых контуров в результате последова- тельного вычитания из строк и столбцов матрицы || Zi7-1 неотрицательных величин Zx, Z2,..., Zr, пока в каждой строке и каждом столбце результирующей матрицы (с неотрицательными элементами) не будет содержаться хо- тя бы один нулевой элемент. Искомой оценкой является
§ 4] ЗАДАЧА КОММИВОЯЖЕРА 97 величина г ТИМ = 2^. (4.18) /С=1 Процесс построения оптимального гамильтонова кон- тура методом ветвей и границ представляется процессом последовательного разбиения множества всех гамильто- новых контуров на подмножества с последующим опреде- лением нижней границы длин контуров каждого подмно- жества. При этом к одному подмножеству {Я, S} относят все те гамильтоновы контуры, которые содержат все дуги некоторого множества R CZ U и не содержат дуг некото- рого другого множества S CZ U, R П 5 = ф. Если R и S таковы, что множество {R, не пусто, то нижняя оценка у {R, 5} длин гамильтоновых контуров этого множества может быть вычислена следующим об- разом. Для всех (£, /) ЕЕ R в матрице || liS || удаляем £-ю строку и /-й столбец. Для всех (i, /) Е 5 в матрице || 1^ || заменяем элемент ltj достаточно большим числом. Обозначим полученную в результате матрицу через || ||. Описанным выше способом находим величину у L Полагаем X{R,S}= 2 ^ + TlW (4-19) (i. йен Если множество {R, 8} = ф, то полагаем значение Т {R, 8} = со. На первом этапе множество всех гамильтоновых кон- туров разбивается на два подмножества вида {Д} = (ix, /г), 5} = 0} и {Д1 = 0, Si = (ix, д)}. Вычисляются значения Т {Д}, 5}} и у {Д1, 5J}. Если у {Д}, 5}} у {Д1, 51}, то множество {R{, 5}} разбивается на два подмножества вида {Дц = {Д1, (г2,72)}, 5ц = 0} и {Дц = Д1, «512 — (га> /г)}- Вычисляются зна- чения л у {Дц, 5ц} и у {Дц, 5?2}. Множество всех га- мильтоновых контуров оказывается разбитым на три подмножества вида {Д1, 51}, {Дц, 5ц} и {Дц, 5ц}. Для последующего разбиения выбирается то из этих 4 В. С. Танаев, В. В. Шкурба
98 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 подмножеств, которому соответствует наименьшее значе- ние у {Я, 5}. Если у {Я},§ £}} {Я£, 5г}4 то множество {Я|, S2} разбивается на два подмножества следующего вида: {/?21 ~ (г2> /а)> ^21 = *$2}» {-^22 = ^2, $22 = {*$2» (*2> 7а)}}* Вычисляются значения у {R^ S|i} и у {Я22, ^221- Множество всех гамильтоновых контуров оказы- вается разбитым на три подмножества вида {7?}, 5}}, {Я11, 61} и {Я|2, Для последующего разбиения выбирается то из этих подмножеств, которому соответ- ствует наименьшее значение у {Я, 5}. Процесс продолжается до тех пор, пока не будет по- лучено разбиение множества всех гамильтоновых конту- ров на подмножества вида {Я, 5}, удовлетворяющее сле- дующему условию. Хотя бы одно из подмножеств {Я, 5} содержит ровно один гамильтонов контур и значение у (Я, 5} для этого подмножества (являющееся, по суще- ству, длиной этого контура) не больше значений у {Я, 6} остальных подмножеств разбиения. Указанный контур является искомым. При разбиении множества {Я, 5} на два подмножества вида {{Я, (f, j')}, S} и {Я, {5, (f, /)}} необходимо распо- лагать некоторым правилом, согласно которому осущест- вляется выбор дуги Пусть ||7#|| —матрица, полу- ченная из матрицы ||Zi;-|| в результате вычитания не- отрицательных чисел из элементов ее строк и столбцов* Все элементы матрицы Ц || неотрицательны и в каждой строке и каждом столбце этой матрицы содержится хотя бы один нулевой элемент. В качестве (Г, /') естественно выбирать ту из дуг, которой соответствует нулевой эле- мент в матрице || ||. Среди всех таких дуг выбирается дуга (f, /')> которой соответствует наибольшее значение суммы наименьшего элемента в i'-й строке и наименьшего элемента в /'-м столбце этой матрицы. При этом сам эле- мент Цу не учитывается. Объем вычислений, которые необходимо провести при решении задачи коммивояжера описанным методом, и объем запоминаемых промежуточных результатов су- щественно зависят от конкретных условий задачи и могут колебаться в весьма широких пределах.
§ 4] ЗАДАЧА КОММИВОЯЖЕРА 99 В гл. 8, § 1, п. 1.3 описан метод решения задачи ком- мивояжера, использующий тот факт, что формулировка этой задачи в терминах целочисленного линейного програм- мирования отличается от задачи о назначениях только наличием условий связности искомого контура. 4.5. Локальные методы решения задачи коммивояжера составляют обширную группу приближенных методов, основанных на понятии окрестности произвольного до- пустимого варианта (гамильтонова контура). Окрест- ность состоит из конечного числа гамильтоновых конту- ров, в некотором смысле близких к рассматриваемому. Как правило, переход от рассмотрения одного контура к рассмотрению другого осуществляется в случае, когда второй контур принадлежит окрестности первого и имеет меньшую длину. В некоторых вычислительных схемах переход осуществляется только в случае, когда второй контур имеет наименьшую длину среди всех контуров ок- рестности. Однако в любом случае сохраняется стремле- ние перейти к рассмотрению контура с возможно меньшей длиной. Контур, длина которого не больше длины любого контура его окрестности, является локально оптималь- ным. В качестве искомого принимается локально опти- мальный контур или наилучший среди нескольких найден- ных локально оптимальных контуров. При определении окрестности контура наибольшее распространение получил принцип «три в три». Согласно этому принципу окрестностью контура является сово- купность контуров, отличающихся от данного ровно тремя дугами. Такой окрестностью является, например, сово- купность контуров, отличающихся от данного транс- позицией двух рядом встречающихся при его обходе вершин. Для симметрических задач используется также прин- цип «два в два», согласно которому окрестность конту- ра определяется таким образом, что любой контур этой окрестности отличается от данного ровно двумя реб- рами. Локальные методы практически применялись для^ре- шения симметрических, особенно геометрических, задач коммивояжера. В частности, были получены наилучшие из известных решений для геометрических задач с 48 и 57 вершинами. 4*
100 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 § 5. Взаимосвязанные требования Во многих практических ситуациях качество расписа- ния определяется тем, насколько полно учтены специфи- ческие условия, в которых протекает процесс обслужива- ния требований. Такие условия могут, например, отражать стремление к определенному группированию требований при их обслуживании, к сокращению временных проме- жутков между обслуживанием отдельных пар требований, к уменьшению времени «пролеживания» обслуженного требования до завершения обслуживания остальных тре- бований и т. п. В этом параграфе мы рассмотрим две типичные за- дачи такого рода, предполагая, что все требования мно- жества N = {1, 2,..., п} поступают в очередь на обслу- живание в момент времени d = 0, обслуживаются после- довательно и непрерывно. 5.1. Сопоставим каждой упорядоченной паре требова- ний некоторое действительное число ац 0. Числа а^ и ал называются коэффициентами взаимосвязанности тре- бований i и /. Если требования обслуживаются в последовательности л = (г\, г2,..., гп), то обслуживание требования ik завер- k шается в момент времени tik = 3 tty гДе — время об- . • J==1 служивания требования ij. Необходимо указать такую последовательность обслу- живания требований, которой соответствует наименьшее значение величины рвз (Я) = S ip, (^ip, ^iv)* (5.1) Примеры. 1. Учебный процесс состоит в последовательном изу- чении конечного множества N = {1, 2,..., п} отдельных тем. Тема I для своего изучения требует ^единиц време- ни. Как правило, темы не могут изучаться в произвольной последовательности. На множестве N всех тем задано не- которое отношение строгого порядка, показывающее изу- чение каких именно тем должно предшествовать во вре- мени изучению данной темы. Если для изучения темы /
ВЗАИМОСВЯЗАННЫЕ ТРЕБОВАНИЯ 101 § 5] необходимо сначала изучить тему i, то естественным яв- ляется стремление сократить промежуток времени между изучением этих тем. Аналогичная ситуация будет иметь место для любой пары взаимосвязанных тем. «Степень взаимосвязанности» тем i и j в рассматриваемом случае можно охарактеризовать числами > 0 и ал = R, где д — достаточно большое число. Тем самым учитывается как крайняя нежелательность изучения темы / до изуче- ния темы i, так и различия в необходимости сокращения промежутков времени между изучением отдельных взаимо- связанных тем. Если темы i и / могут изучаться независимо друг от друга, то полагаем = ап = 0. 2. На магнитной ленте требуется последовательно разместить п массивов информации, каждый из которых имеет длину Ь. Вероятность обращения к массиву с ин- дексом I равна pi. Поиск требуемого массива осуществ- ляется движением вдоль ленты вправо или влево, считы- вание массива производится слева направо с последующей фиксацией считывающей головки в положении, соответ- ствующем правому концу искомого массива — блуждаю- щий поиск, поиск без возврата в исходную позицию. Если массивы расположены на ленте слева направо в последовательности л = (i1? Z2,..., in), то средняя длина пробега при поиске массива равна В(л)= 2 — V— 1)6+ 2 v + D& = = Е 2 (и — v) + (5-2) где величины Е и L не зависят от л. В данном случае естественно положить = 1, == = PiPb 1 < i Ф ] < П. 5.2. Задача построения последовательности л*, кото- рой соответствует наименьшее значение (5.1), относится к классу задач, рассмотренных в § 5 гл. 2. Действительно, введем в рассмотрение функцию F (л, к) = 2 ipt (tip ““ tiy) + 2 <4 ip. (hk-1 + (5.3) где к « 1, n.
102 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 Очевидно, FB3 (л) = F (л, п). Имеем F(n,k) — F(n, + l 2 aivi(X+ 3 v<fc— 1<|Л ft—1<H (5-4) где F (л, 1) = 0. Следовательно, значение F (л, к) однозначно определя- ется значением F (л, к — 1), множеством {г\, z2,..., и значением i^. Это соответствует случаю 5=1, t = 0. Если все atj =1, I < то Fвз (я) = 0 4^ + (п — 1) + 2 (п — 2) ti* + ... ... +2(n —2)^n l l)zin- (5-5) Коэффициенты при tt. образуют сначала возрастающую, затем убывающую последовательности. На основании теоремы 4.1 гл. 2 в этом случае доста- точно пронумеровать требования в порядке невозраста- ния значений tt. Требование с номером 1 следует обслу- живать первым, требование с номером 2 — последним, требование с номером 3 — вторым, требование с номе- ром 4 — предпоследним и т. д., пока не будут исчерпаны все требования. Аналогичный алгоритм построения оптимальной пос- ледовательности имеет место и в случае, когда ац — ataj и tj — t. 1 i Ф j п. 5.3. Рассмотрим задачу минимизации суммарного взве- шенного времени «пролеживания» обслуженных требо- ваний. Пусть требования обслуживаются в последователь- ности л = (£г, i2,..., in). Время завершения обслужива- к ния требования ik равно lik = а вРемя заверше- 5=1 п ния обслуживания всех требований Т = 2 i=i Требование г\, обслуживание которого завершается в момент времени в течение Т — tik единиц времени находится в состоянии ожидания завершения обслужива- ния остальных требований, что сопряжено с определен- ными затратами. Пусть aik > 0 — стоимость проле-
$ 6] ДРЁВОВИДЙО УПО>ЯДОЧЁЙНЫЕ ТРЕБОВАНИЯ ЮЗ живания требования ik в течение одной единицы вре- мени. Необходимо указать такую последовательность об- служивания требований, при которой суммарная стои- мость пролеживания п Гпр(л)= 3 aik(T-tik) (5.6) ы является наименьшей. Используя перестановочный прием (см. § 4 гл. 2), приходим к заключению, что требования следует обслу- живать в порядке неубывания значений а^. § 6. Древовидно упорядоченные требования Рассмотренные во втором параграфе этой главы ситуа- ции позволяют получить оптимальные последовательнос- ти обслуживания требований в результате весьма простых рассуждений. Если все функции штрафа линейные, или все экспоненциальные (с одним и тем же коэффициентом при показателе степени), или все отличаются от некоторой монотонной функции на константу, то каждому требованию к можно поставить в соответствие некоторую величину ф (к) и упорядочить требования в порядке невозрастания этих величин. Значение со (к) при этом однозначно опре- деляется параметрами требования к. Если множество N требований частично упорядочено, то полученные оптимальные последовательности могут противоречить заданному на N порядку. В этом случае желательно располагать эффективными алгоритмами, по- зволяющими находить оптимальные последовательности среди последовательностей, допустимых относительно за- данного на N отношения строгого порядка. Пусть (2V, ->) — множество N требований с заданным на нем отношением строгого порядкаОбслуживание лю- бого требования не может быть начато до того, как закон- чится обслуживание всех предшествующих ему требова- ний. Предполагается, что редукция отношения порядка —> представима графом, все компоненты связности которого— прадеревья с корнями. Все требования поступают в оче- редь на обслуживание в момент времени d = 0.
104 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 Обозначим через Fa (л) и Fe (л) — суммарный штраф за обслуживание требований в последовательности л в случаях, когда все функции штрафа <рк (х) = акх + + fyc > 0), или <pfc (х) = exp (ах) -j- 0, а > 0), к = 1, n, соответственно. Приведем алгоритмы построения допустимых (отно- сительно заданного на N древовидного порядка) последо- вательностей, которым соответствуют наименьшие зна- чения Fr (л) и Fq (л). В дальнейшем именно эти последо- вательности будем называть оптимальными. Указанные алгоритмы во многом идентичны, что позволяет совмес- тить их описание. Обозначение F (л) будем употреблять при формули- ровке утверждений, справедливых как для (л), так и для F9 (л). В заключение параграфа опишем прием, позволяющий построить оптимальную последовательность обслужива- ния требований, допустимую относительно порядка, про- тивоположного порядку, заданному на N. 6Л. Прежде чем переходить к непосредственному опи- санию алгоритмов, сделаем несколько общих замечаний. Если требования множества {о} = {/г, f2,..., iq} 0 N обслуживаются в последовательности а = (iD i2,...., iq), на- чиная с момента времени d = 0, то суммарный штраф за их обслуживание будем обозначать через F (о). Нетрудно видеть, что если л = (о*1), ), то ^(n) = Fa(6<i))+Рл(^)) + 2 2 <61) ^э(л) = ^(^>) + ехр(а 2 М PM6®)- 2 Ь‘] + } ге{а<2)} + 2 <6-2> ге{а(2)} Следовательно, если известно, что в оптимальной по- следовательности первыми обслуживаются требования множества {о*1)}, то исходная задача редуцируется к аналогичной задаче оптимального упорядочения требований множества
§ 6] ДРЕВОВИДНО УПОРЯДОЧЕННЫЕ ТРЕБОВАНИЯ 105 Отметим, что если фй (х) = ср (х) + Ьк, к = 1,п, ф — неубывающая функция, то оптимальная последо- вательность обслуживания требований, вообще говоря, зависит от времени начала их обслуживания. Тем самый, если, например, N = {1, 2, 3, 4}, 1 2 3 и 1 4, то оптимальный порядок обслуживания требований 2, 3, 4 может зависеть от длительности обслуживания требования 1. Действительно, положим <Pi(x) = <р2 (х) = ф3 (х) = ф4(х) = = Ф (#), где ф (х) = max (0, х — 3) при х 5 и ф (#) — = 2 min (2, х — 4) при х > 5, Z2 = 3, t3 = 1, = 2. Тогда npnJZi = 1 ^наименьший суммарный штраф соот- ветствует допустимой последовательности (1, 2, 3, 4). При = 2 - оптимальной последовательностью является (1, 4, 2, 3). " Пусть Лх = (cjfc), CF<2>, CF^, CF^), Л2 = (CF(1\ CF^, CF<2\ CF<4>). Из (6.1) и (6.2) следует, что F (nJ (л2), если co (б<2>) > о (о<3)), . и F (лх) < F (л2), если <о (а<2>) > > со (а<3>), где ю(б) = 2 ai / 2 (6-3) iS{o} ie{o} . при минимизации Fa (я) и й(<5) = Г1 —exp/ос Ml/|X(6) — 2 М (6Л) при минимизации FQ (л). Таким образом, если лх — искомая оптимальная по- следовательность, а л2 — последовательность, допусти- мая относительно заданного на N порядка, то <о (о(2>) > > со (о<3>). 6.2. Алгоритм построения оптимальной последователь- ности в рассматриваемом случае состоит из двух этапов: 1) вычисление приоритетов обслуживания требований и 2) построение допустимой последовательности в соот- ветствии с вычисленными на предыдущем этапе приори- тетами. Описание алгоритма будем иллюстрировать примером построения оптимальной по критерию FQ (л) последова- тельности обслуживания восьми требований, параметры ак и tk которых представлены в табл. 3.6.1, а редукция отношения порядка представлена графом, изображенным на рис. 3.6.1. Значения Ьк = 0, к = 1,8, а = 0,1.
106 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 Таблица 3.6.1 к 1 2 3 4 5 6 7 8 h 3 4 2 8 7 10 5 12 ак 2 1 1 0,2 6 6 4 0,1 Разобьем множество N на попарно непересекающиеся * непустые подмножества Nv Np. Здесь — мно- ( жество всех максимальных элементов множества N; N2 — множество всех максимальных элементов множества N \ N19 N3 — множество всех максимальных элемен- тов множества N \ {Nr (J N2} и т. д. Если N' CZ N, то через М (N') обозначим множество всех тех элементов из N \N', каждому из которых непо- средственно предшествует хотя бы один элемент мно- жества N'. Вычисление приоритетов обслуживания требований проводится сначала для всех требований множества 7V\, затем для всех требований множества N2 и т. д. При этом каждому требованию к ставится в соответствие его прио- ритет со (к) и некоторая допустимая последовательность о (к) элементов из N. Множество элементов последова- тельности о (к) будем по-прежнему обозначать через {о (Л)}. При вычислении приоритетов требований множества полагаем со (к) = со (к) и б (к) = (к) для всех к е Nv Значения со (к) для (л) и F9 (л) вычисляются согласно теореме 2.3 пп. а) и б) соответственно (см. § 2 гл. 3). В условиях рассматриваемого примера N± = {1, 3, 6, 7, 8}, N2 = {4, 5},_ЛГ3 = {2}. Используя указанную тео- рему, вычисляем а) (к) = со (к) для всех к е Полу- чаем (с точностью до второго знака после запятой) со (1)= = - 0,13, ю (3) = -0,18, со (6) = - 0,10, со (7) = = —0,098 и со (8) = — 6,99, Полагаем а (к) = (к) для всех к е Nv ( I (
$ 6] ДРЕВОВИДНО УПОРЯДОЧЕННЫЕ ТРЕБОВАНИЯ 10*? Пусть известны 5 (к) и о (Л) для всех к ЕЕ (J U (J ••• U Приоритет обслуживания требования A GE Ni, I р, вычисляется следующим образом. На пер- вом шаге полагаем о^ = (к). Обозначим через ix то из тре- бований множества М ({oi})> которому соответствует_наи- болыпее значение приоритета со (ix). Если со (к) со (i\), то полагаем со (к) = со (к) и о (к) = ох = (к). Если со(Л)< со (гх), то переходим ко второму шагу. Полагаем о2 — (ох, б (гх)) и вычисляем значение со2 = со (о2) по формулам (6.3), (6.4). Обозначим через i2 то из требо- ваний множества М ({о2}), которому соответствует_наи- болыпее значение приоритета со (i2). Если со2 > со (г2), то полагаем со (к) == со2 и а (к) = <т2. Если со2< со (f2), то переходим к следующему шагу. В общем случае на шаге г — 3, 4,... полагаем ог = — (ог-1? о ((г-i)) и вычисляем значение 5Г = со (ог). Если М({ог})^0, то обозначим через ir то из требований множества М ({аг}), которому соответствует наибольшее значение приоритета 5 (гг). Если М ({<тг}) == ф или cor > со (zr), то вычисления закончены. В этом случае со (к) = сог и о (к) ~ аг. Если cor< со (ir), то переходим к следующему шагу и т. д., пока не будет вычислено зна- чение со (к). Требованию к окажется приписана последо- вательность о (к). Процесс вычисления приоритетов заканчивается рас- смотрением всех требований множества N. В условиях рассматриваемого примера для требова- ния 4 на первом шаге полагаем о\ = (4) и вычисляем о (4) == —2,75. Множество М ({аг}) = {6}. Поскольку со (6) = —0,10 >* со (4), то полагаем о2 = (ах, о (6)) = = (4, 6) и по формуле (6.4) вычисляем со2 = со (о2) = = —0,14. Поскольку М ({о2}) = ф, то полагаем со (4) = = S2 = —0,14 и а (4) = о2 = (4,6). Для требования 5 на первом шаге полагаем ох = (5) и вычисляем со (5) = = —0,08. Множество М ({ох}) = {7,8}. Поскольку со (5) > со (7) со (8), то полагаем со (5) = со (5) = —0,08 и а (5) = (5). Для требования 2 на первом шаге полагаем ах = (2) и вычисляем со (2) — —0,33. Множество М ({ах}) = = {3, 4, 5}. Так как со (5) > со (4)_> со (3), то обозначим через гх требование 5. Поскольку со > со (2), то пере- ходим ко второму шагу. Полагаем а2 = (ар а (г\)) =
108 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 = (2,5) и вычисляем 52 = со (о2) = —0,10. Множество М ({а2}) =_{3, 7, 8}. Поскольку 5 (7) > со (4) > > со (3) (8), то обозначим через i2 требование 7. Так как со (f2) = —0,098 > Й2, то переходим к третьему шагу. Полагаем о3 = (о2, о (г2)) — (2, 5, 7) и вычисляем со3 = (д (о3) 0,10. Поскольку М ({о3}) = {3, 4, 8} и S3 > со (4) > 5 (3) > со (8), то вычисления закончены. Полагаем со (2) = со3 = —0,10 и о (2) = о3 = (2, 5, 7). Построение допустимой последовательности обслужи- вания требований в соответствии с вычисленными на пре- дыдущем этапе приоритетами проводится следующим об- разом. Полагаем N^> = N, = NV-V \ {о (к^)}, где к^ — требование (или одно из требований) с наи- большим приоритетом среди всех минимальных элементов множества Z = 2, 3,... Пусть 7V<v) у= ф и Mv+1> = = ф. Построим последовательность л* = (о (fcx), о (А2),... ..., a(Av)). В рассматриваемом примере среди минимальных эле- ментов 1 и 2 множества /V(1) = N = {1, 2, 3, 4, 5, 6, 7, 8} элемент 2 имеет наибольший приоритет со (2) = = -0,10. Полагаем^) = \ {о (2)} - {1, 3, 4, 6,8}. Среди минимальных элементов 1, 3, 4, 8 множества N®> элемент 1 имеет наибольший приоритет. Полагаем ДГ(з) = дг(2) \ (1)}. Продолжая эти рассуждения, при- ходим к последовательности л* — (о (2), о (1), о (4), а (3), а (8)) = (2, 5, 7, 1, 4, 6, 3, 8). 6.3. Покажем, что построенная последовательность л* — (а (Л^), о (Л2),..., о (к„)) является допустимой отно- сительно заданного на множестве N порядка Запишем эту последовательность в виде л* = (i*, ц ,•••, ip ,•••» i* ,•••» i*)- Предположим, что i*-+- ip, p<Z q, ip EE {a (&s)} и i* EE {o (kt)}. По построению частичные последовательности о (AJ, о (Л2),..., о (Av) яв- ляются допустимыми и, следовательно, t, ks-+i* или kg — ip, kt iq или kt — io* Если k8 = ip, to kt -> ks, что противоречит принято- му способу выбора элементов кг. Если ks =^= ip, то к8 -> -> i* и (по предположению) -> i*. Элементы ks и г* не могут быть независимыми, так как это противоречило бы условию представимости отношения строгого порядка
ДРЕВОВИДНО УПОРЯДОЧЕННЫЕ ТРЕБОВАНИЯ Ю9 прадеревьями с корнями. Бели ks >• ig, то к§ iq i* и, следовательно, Z* ЕЕ {о (Л8)}, т. е. s = t. По- лучаем противоречие. Таким образом, всякий раз, когда имеем 6, и, следовательно, л* — допусти- мая последовательность. Доказательство оптимальности последовательности л* проведем по индукции относительно числа элементов множества N. При | N | 2 указанная последовательность, очевид- но, оптимальна. Пусть при | N | = п — 1 последовательность, по- строенная в соответствии с приведенным алгоритмом, яв- ляется оптимальной, ал' — оптимальная последова- тельность обслуживания | N | = п требований. Если в последовательности л' первым обслуживается требование г, то на основании соотношений (6.1), (6.2) и предположения индукции последовательность л", в ко- торой первым элементом является требование г, а осталь- ные п — 1 требований упорядочены согласно приведен- ному алгоритму, также является оптимальной. Обозначим через р тот из минимальных элементов мно- жества N (| N | — п), которому соответствует наибольший приоритет 5 (р). Если со (р) = со (г), то, выбирая в ка- честве р требование г, приходим к заключению, что F (л*) = F (л"). Пусть со (р) > со (г). В общем случае последователь- ность л" можно записать в виде л" — (г, о (Zx),..., в (Zpi), а (р), о ($),...), где Zx,..., — некоторый набор элементов из N, для которых г является предшествующим элементом в N. В частности, может быть {о (Zf)} = 0, i — 1, р,. Построим последовательность л — (о (р), г, a (Zx),... ..., о (Z|x), а ($),...). Эта последовательность является до- пустимой. Согласно описанной процедуре вычисления приоритетов и построения последовательности л" имеем со (г) > со (г, о (Zi),..., a (Zp,)) и, следовательно, со (а (р)) = = ® (р) > & (г) > со (г, о (Zx),..., о (Z^)). Приходим к заключению, что F (л) < F (л") и п" не является опти- мальной последовательностью. Таким образом, существует оптимальная последова- тельность, в которой первыми обслуживаются требования множества {а(р)} в последовательности о(р). На основании
110 СЙСТЁМЫ OfeCJiy&ИВАЙИЯ С ОДНИМ ПРИБОРОМ [ЁЛ. 3 соотношений (6.1) и (6.2) и предположения индукции последовательность л*, построенная с использованием приведенного алгоритма, является оптимальной. 6.4. Рассмотрим метод определения оптимальной по- следовательности обслуживания требований, удовлетво- ряющих порядку, противоположному по отношению к по- рядку заданному на N. Пусть на N заданы отношения строгого порядка аир (не обязательно древовидные), причем из условия ш/ следует /pi, i, / GE N, и наоборот. Пусть л = (ix, i2,... ..., in_x, in) — допустимая последовательность обслужи- вания требований частично упорядоченного множества (N, а) и Й = (in, in_x,..., i2, ix). Тогда л является допусти- мой последовательностью обслуживания требований час- тично упорядоченного множества (ДГ, Р). Обозначим через F^ (л) и F9 (л) суммарный штраф за обслуживание требований в последовательности л при условии, что все функции штрафа <pfc (х) = акх + Ьк или (pfe (х) = ак ехр (а'х) + Ьк, к = 1, п, соответствен- но, а время обслуживания требования к равно tk. Полагая ак = 4 = a.fc и имеем (л) = 7^л(п). Аналогично, полагая = afc exp а/ *<+ hV<*' = t к == tk и Ьк = Ьк, имеем F9 (л) = Fq (л). Тем самым описанный алгоритм построения оптималь- ной последовательности может быть использован и в случае, когда редукция отношения строгого порядка, заданного на N, представима в виде графа, все компонен- ты связности которого получаются из прадеревьев с кор- нями заменой ориентации всех дуг на противоположные. § 7. Общий случай В этом параграфе мы рассмотрим методы построения оптимальных последовательностей обслуживания требо- ваний в предположении, что функции штрафа <рл (х) — произвольные неубывающие функции. Множество N требований, вообще говоря, частично упорядочено. По- иск оптимальных расписаний ограничен классом пере- становочных расписаний. Критерии оптимальности — суммарный или максимальный штраф за обслуживание.
§ 7] ОБЩИЙ СЛУЧАЙ , 111 7.1. Пусть все требования поступают в очередь на об- служивание в момент времени d — 0. Рассмотрим задачу построения допустимой относитель- но заданного на N отношения строгого порядка -> после- довательности я*, которой соответствует наименьшее значение!максимального штрафа за обслуживание fc Лпах (л) = max [ф| (2 Mb (7Л) Здесь л = (i\, гп) — допустимая последовательность, — требование, обслуживаемое &-м по порядку. Пусть N — множество всех максимальных элементов N. Пусть /п Е и ф>„ ( 2 М = min (ф* (2 Ml • <7-2) 'teN ' 1 'kSN ,J Аналогично, пусть = N \ {/п}, 7?j — множество всех максимальных элементов N19 ЕЕ и ф?п-1 (2 М = mLn ( 2 Ml • (7-3) 'ta=w, ' 'ew, I 'kejv, 'J Продолжая этот процесс, получаем в результате последо- вательность п = (/lf /п). Покажем, что эта после- довательность является искомой оптимальной последо- вательностью. По построению последовательность л допустима от- носительно заданного на N строгого порядка Пусть Л* =J/1, /2, ..., ] п), /п = /п, /Х-1ф=/п-1» ••• • • •, Mi = Mi и Тогда среди элементов 7’1, 7’2, ..., Mi последовательности л* содержится элемент /р, = /м. Рас- смотрим последовательность л = (д, ...,7^, /риц, ...,М £, /v+1, ..., /п). Эта последовательность является допу- стимой, поскольку допустима последовательность л. Покажем, что Fmax (л) = Fmax (л*). Будем через и обозначать времена завершения обслуживания тре- бования с индексом к, если все требования обслуживают- ся в последовательности л* и л соответственно. Имеем t .• = t .* для А = 1, ц — 1 и к ~ v 4-1, и, ?.•<£*
112 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ (ГЛ. 3 для к = р, + 1, v и 7.* 7.*- Поскольку функции штра- ____¥ фа фй (я), к = 1, п, неубывающие и.фл (О» где t = Т* = 7.*, то Fmax (л) < Fmax (л*). С другой сто- роны, по определению Fmax (л) Fmax (л*). Следова- тельно, Fmax (л) = Fmax (л*). Повторяя эти рассуждения конечное число раз, при- ходим к заключению, что л — оптимальная последова- тельность обслуживания требований. Таким образом, независимо от конкретного вида функ- ции штрафа, решение задачи минимизации наибольшего штрафа требует вычисления не более п 4- (п — 1) + ... ... + 1 = п (п 4-1)/2 значений функций штрафа и про- ведения не более п (п — 1)/2 их сравнений. 7.2. Примеры. 1. Рассмотрим задачу размещения п информационных массивов на магнитной ленте в случае, когда поиск этих массивов осуществляется от нулевого адреса. Массив к = 1, п имеет длину 1к. Массивы разме- щаются на ленте последовательно, начиная с левого ее конца. Исходное положение считывающей головки — левый конец ленты. При поиске массива осуществляется перемещение ленты относительно считывающей головки слева направо со скоростью г?п> считывание массива осу- ществляется слева направо со скоростью г?с, возврат в исходное положение — со скоростью г?в. Вероятность об- ращения к массиву к равна рк. Если массивы расположены в последовательности л = (iv гп), то максимальное среднее время обра- щения равно Лпах (Л) = max pik Г 2 k} I Vn + lik fve + 2 li} /ув1 • (7.4) LJ<fc .<k J Для построения последовательности л*, которой соот- ветствует наименьшее значение Гтах (л), может быть не- посредственно использован описанный алгоритм, если положить h = 1к> Фл(^) = V + где (1/1>п+ 1/^в) Рк> ък = <1/^о — l/Ри) Pkk-
g 7] ОБЩИЙ СЛУЧАЙ ИЗ Таблица 3.7.1 к 1 2 3 4 5 tk 2 3 1 4 4 Фй (*) 2х +1 2*-ю _ з max (х— 3,2) х* — Ъ х — 3 Таблица 3.7.2 \ х\ 1 2 3 4 5 14 13 191 И 10 —2 95 7 15 44 5 20 1 2 Рис. 3.7.1. 2. Найдем оптимальную по критерию Fmax (л) после- довательность обслуживания пяти требований, времена обслуживания и функции штрафа <pfc (х) которых при- ведены в табл. 3.7.1. Значения dk = d = 0. Отношение строгого частичного порядка, заданное на множестве требований N — {1, 2, 3, 4, 5}, изображено на рис. 3.7.1. Результаты последовательного вычисления значений <рл (х) при- ведены в табл. 3.7.2. Последовательность л = (3, 4, 1, 2, 5) является искомой, T^max (ft) = 20. 7.3. При минимизации суммарного штрафа F% (л) за об- служивание требований в последовательности л вычис- лительная схема существенно усложняется. Пусть, как и в предыдущем пункте, все требования поступают на обслужива- ние в момент времени d — 0, множество требований, вообще говоря, частично упо- рядочено отношением Задача минимизации F^ (л) относится к классу задач, рассмотренных в § 5 гл. 2. Действительно, если л = (fp in), то, обозначая через F (л, к) наименьший сум- марный штраф за обслуживание первых к требований в последовательности л, имеем к F (л, к) = F (л, к - 1) + <piJt (2 t4) , (7.5) з=1 где F (л, 0) = 0,
114 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ [ГЛ. 3 Поскольку в данном случае $ = 1, t == 0, то соотно- шение (5.11) гл. 2 можно записать в виде ^)=тт|7(еМ) + Ф*(3«1)}. <7-6) Здесь множество Q cz N и удовлетворяет условию: не существует krE Q и к2Е N \ Q таких, что Л2 -> Af, Q — множество максимальных относительно -> элементов Q; F (0) = о. Для построения оптимальной последовательности до- статочно вычислить значения F (Q) для всех допустимых в указанном выше смысле множеств Q cz N. При этом сна- чала вычисляются значения F (Q) для всех Q с числом элементов | Q | — 1, затем для всех Q с числом элементов | Q | = 2 и т. д., наконец, для Q = N. Вычисляя значе- ние F (0, необходимо запоминать значения Е при которых в (7.6) достигается минимум. Если при Q — N значение к = in, при Q = N \ {in} значение к — in_T и т. д., то (ix, г2,..., гп) искомая последовательность. Объем вычислений определяется структурой отноше- ния порядка, заданного на N. Если N — неупорядочен- ное множество, то при вычислении F (0 необходимо про- вести — 1 сравнений, используя значения этой функ- ции, вычисленные на предыдущем шаге. Значения F (0 вычисляются для всех 2П — 1 непустых подмножеств множества ТУ. Для частично упорядоченного множества эти величины являются верхними оценками соответствен- но числа определяемых значений функции F (Q) и числа проводимых при этом сравнений. Следует отметить, что при практической реализации этой вычислительной схемы существенные затруднения возникают из-за необходимости запоминания значений функции F (0, вычисленных на предыдущем шаге, в ка- честве исходной информации для вычислений ее значе- ний на следующем шаге. Поэтому в ряде случаев предпоч- тительно проводить дополнительный объем дублирующих вычислений, сокращая при этом объем запоминаемой про- межуточной информации. 7.4. Пример. Применим этот метод построения оп- тимальной по критерию Fs (л) последовательности об- служивания требований множества N = {1, 2, 3, 4, 5, 6}?
§ 7] \ бёщий СЛУЧАЙ 1 Рис. 3.7.2. поступающих в очередь на обслуживание в момент вре- мени d = 0. Граф отношения строгого порядка, заданного на N, представлен на рис. 3.7.2. Значения tk и функции штрафа <pft (х) приведены в табл. 3.7.3. Элементы множества Q, значения F (Q) и запоминаемые значения к при- ведены в табл. 3.7.4. Значение равно 1 или 3, значение равно 3 или 1 соответственно. Значе- ния ="- 2, i8 = 6, i2 = 4, ir = 5. Все эти значения выделены в таблице. Оптимальные последовательности л® = (5, 4, 6, 2, 3,1) и 4 = (5, 4, 6, 2, 1, 3). Суммарный штраф за обслуживание равен 1. Описанные в предыдущих пунктах методы построения оптимальных последовательностей могут быть обобщены и на случай различных значений dk > 0, к — 1, п. 7.5. В практическом отношении весьма эффективными оказались схемы последовательного конструирования ре- шений с использованием оценочных функций и правил доминирования. Применимость этих схем, как правило, не зависит от значений dk. Таблица 3.7.3 к Ьс ФкСО 1 2 х — 5 2 3 max [(а;— б)3, 0] 3 4 2 max (я —10,0) к tk Фк (*) 4 2 2х-За; 5 1 х +1 6 1 х2 — 7х + 1 Множество всех допустимых последовательностей об- служивания требований по некоторому признаку разби- вается на подмножества. Вычисляются нижние границы значений оптимизируемой функции на каждом из этих подмножеств. Если в процессе последовательного разбие- ния исходного множества значение оптимизируемой функ- ции, соответствующее некоторой последовательности об- служивания требований, оказывается не больше нижних
116 СИСТЕМЫ ОБСЛУЖИВАНИЯ с ОДНИМ ПРИВОДОМ [гл. 3 Таблица 3.7.4 1 Q 1 Q F(Q) к 1 Q 1 Q F(Q) к 0 0 0 — 4 {2, 3, 4, 6} {2, 4, 5, 6} {1, 2, 4, 5} {1, 4, 5, 6} —13 —9 4 -9 3 2* 1 1 1 {4} {5} —2 2 4 5* 2 {2, 4} {4, 6} {4, 5} {1, 5} —2 —13 1 0 2 6 4* 1 5 {2, 3, 4, 5, 6} {1, 2, 4, 5, .6} —7 —5 3 j * 3 {2, 4, 6} {2, 4, 5} {4, 5, 6} {1, 4, 5} -13 1 —10 1 2 2 6* 1 6 {1, 2, 3, 4, 5, 6} 1 1,3* границ значений этой функции на каждом из рассматри- ваемых на данном шаге подмножеств, то указанная после- довательность, очевидно, является искомой. В качестве признака, согласно которому множество последовательностей разбивается на подмножества, в рас- сматриваемом случае естественно выбрать частичную по- следовательность обслуживания первых 1 I п тре- бований. При этом две последовательности принадлежат одному и тому же подмножеству, если первые I элементов у них одинаковы. § 8. Библиографическая справка Начало систематическому использованию интервалов очеред- ности в задачах теории расписаний положили работы В. В* Шкурбы [204] и Г. Эммонса [272]. Отмеченные в п. 2.3 пары функций рассма- тривались В. Е. Смитом [409], Дж. Р. Джексоном [309], М. Роткоп- фом [387], В. С. Танаевым [176, 177]. Теорема 2.1 доказана Г. К. Кладовым и Э. М. Лифшицем [79], теорема 2.2 — А. Д. Глу- бочанским [52]. Доказательство теоремы 2.3 содержатся в [176]. Примеры п. 2.6 рассмотрены соответственно в [366, 409, 103]. Теорема , 3.1 доказана Р. Мак-Нотоном [344]. Различные ее обобщения рассматриваются в [388, 171, 56]. Ступенчатые функции штрафа исследовались Е. Л. Лоулером и Дж. М. Муром [327],
БИБЛИОГРАФИЧЕСКАЯ СПРАВКА 11? В. С. Гордоном и В. С. Танаевым [55]. Вопросы минимизации числа запаздывающих требований рассматривались в работах Дж. М. Мура [352], Л. Б. Штурма [413] и В. Л. Максвелл^ [339]. Обобщение этих результатов на случай, когда задано подмножество требований, каждое из которых должно быть обслужено в срок, рассмотрено Дж. Сиднеем [404]. Теорема 3.2 (в несколько иной интерпретации) доказана Г. Эм- монсом [272]. Соответствующий алгоритм описан в [272, 411]. Сравнительный экспериментальный анализ известных методов ре- шения этой задачи (при различных Dk) провели К. Бакер и Дж. Мар- тип [226]. Простые методы минимизации суммарного или макси- мального запаздывания в обслуживании требований (разрешены прерывания) предложены В. Хорном [304]. Первые попытки использовать методы линейного программи- рования для решения задачи коммивояжера были предприняты Дж. Данцигом, Д. Фалкерсоном и С. Джонсоном [258, 259]. Условия связности (4.5) приведены в [174]. Условия (4.6), (4.7) сформулиро- ваны А. Е. Залесским [71], (4.6), (4.8), (4.9) — В. И. Мудровым [125], а (4.10) — С. Миллером, А. Таккером и Р. Землиным [349]. Формулировка задачи коммивояжера в виде (4.11)—(4.13) приве- дена в работе Дж. Мортона и А. Лэнда [353], в виде (4.14)—(4.16) — в работе Б. Кортэ [319]. Использованию методов линейного програм- мирования для решения задачи коммивояжера посвящены также работы [347, 357, 358, 427]. Решение этой задачи методом динамического программирования осуществлено Р. Беллманом [235]. Некоторое обобщение описано в [301]. Своеобразный подход предложен В. К. Коробковым и Р. Е. Кричевским [84]. Метод ветвей и границ для решения задачи коммивояжера был впервые предложен Дж. Литтлом, К. Мурти, Д. Суини и К. Кэ- рел [332]. Дальнейшее развитие этот метод получил в работах [216, 297, 317, 318, 372, 424], в основном, в части уточнения оценок. Описанию методов направленного перебора посвящены также работы [32, 197, 377, 397]. В [396] приведен метод определения всех оптимальных решений задачи коммивояжера. Подробное описание нескольких локальных алгоритмов содер- жится в работах Дж. Круса [256]. С. Рэйтера и К. Шермана [384], С. М. Робертса и Б. Флоренса [385], С. Мака [334—336], Н. Хрис- тофайдса и С. Эйлона [251], Л. С. Гельтмана и С. Я. Гусмана [44]. Для решения большеразмерных практических задач предло- жены разнообразные приближенные методы, основанные на раз- личных эвристических соображениях, В. А. Леонтьевым [98], Е. И. Радевым [145], М. М. Телемтаевым [179], Р. Л. Каргом и Дж. Л. Томпсоном [315] и другими авторами [9, 105, 151, 277, 289, 330, 371, 414]. В работе М. Вебба [426] приведены результаты экспе- риментов по решению задач коммивояжера с числом городов до 2,5 тысячи. Декомпозиционный подход предложен Т. Ху [305]. Задача коммивояжера допускает сравнительно простое реше- ние в случае, когда = шах (0, — г$), где и sj (i, j = 1, n) — неотрицательные числа [285]. Практически важное обобщение этого результата содержится в [283, 284]. В [42] рассмотрен случай, когда fy = min (rit sj).
118 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ОДНИМ ПРИБОРОМ {ГЛ. 3 Решению задачи коммивояжера на узкие места посвящены работы [43, 283, 402]. Обобщение на случай нескольких коммивояжеров рассмотрено в работах [66, 84, 249]. Задача коммивояжера в стохастическом варианте изучалась в [261], с подвижными клиентами (1$ = (£)) — в [159]. Иные обобщения, связанные, в частности, с определенным группирова- нием «городов», неоднократным их «посещением», рассмотрены в ра- ботах [87, 88, 91, 172, 301, 390]. Взаимосвязь задачи коммивояжера с задачей о назначениях изучается в [238], с задачей о деревьях-остовах — в [299]. Асимпто- тический подход к решению этих задач предложен в [134]. Среди обзорных работ следует отметить статьи Дж. Немхау- зера и М. Беллмора [370], Е. Габовича [41]. Задача минимизации функции (5.1) рассматривалась С. Е. Эл- маграби [269], А. В. Никитиным [127], функции (5.6) — В. Гаппом, П. Манкекаром и Л. Миттэном [276]. Вопросы оптимального раз- мещения информационных массивов на магнитных лентах рассма- тривались В. Н. Бурковым и В. Б. Соколовым [30]. В основу параграфа 6 положены работы [303, 58]. Вопросы упо- рядочения «цепочек» требований рассмотрены в [254, 211]. Применению метода динамического программирования для решения задачи минимизации суммарного штрафа посвящены ра- боты [36, 108, 143, 247, 298], методов последовательного анализа вариантов — работы [78, 176, 246, 262, 270, 360, 403]. Алгоритм минимизации максимального штрафа разработан Э. М. Лифши- цем [104] и Е. Л. Лоулером [325]. Приближенные методы для решения различных задач одно- стадийного обслуживания описаны в работах [267, 278, 378, 394, 395]. Применению методов линейного программирования посвяще- ны работы [288, 326, 368]. Задача построения последовательности обслуживания, миними- зирующей суммарные переналадки оборудования, рассматривалась Ю. А. Заком [67, 68, 70] и С. Р. Глассэем [286]. Попытки учесть вероятностный характер величин и пред- приняты в работах Л. И. Фейгина [188], Б. П. Банержи [230], Д. В. Файфа [273], С. Усна [425], Р. Блау [239]. Связь рассматриваемых задач с задачами распределения ре- сурсов, минимизации производственных затрат, затрат на хране- ние и т. п. устанавливается в [276, 331]. Несколько более специальные вопросы, связанные с планиро- ванием работы одного обслуживающего прибора, рассмотрены в [20, 147, 296, 301, 391].
ГЛАВА 4 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ Конечный поток требований, поступающих на обслу- живание в заданные моменты времени, обслуживается несколькими идентичными приборами. В каждый момент времени отдельный прибор обслуживает не более одного требования. Каждое требование может обслуживаться лю- бым прибором. Известны времена обслуживания требова- ний. Необходимо так организовать процесс обслуживания, чтобы он был в некотором смысле наилучшим. В § 1 ^устанавливаются достаточные условия существо- вания оптимальных расписаний, допускающих прерыва- ния процесса обслуживания только в моменты времени поступления требований. В § 2 приводятся необходимые и достаточные условия существования расписаний, при которых все требования могут быть обслужены в заданные сроки. В § 3 рассматриваются две частные задачи опти- мального обслуживания требований параллельными идентичными приборами. В первой задаче необходимо минимизировать суммарное время запаздывания в об- служивании требований. Во второй — минимизировать общее время обслуживания частично упорядоченного множества требований двумя приборами. § 1. Прерывания Рассмотрим систему обслуживания, состоящую из М параллельных идентичных приборов. На обслуживание поступает конечный поток п требований, каждое из кото- рых к = 1, п поступает в момент времени 4>0 и для своего обслуживания требует > 0 единиц времени. 1.1. Расписанием s — s (t) = {sx (Z),..., sM (£)} назы- вается совокупность M кусочно-постоянных, непрерывных слева функций (О, L = 1, М, каждая из кото- рых задана на промежутке 0 t оо и принимает значе- ния 0, 1,..., п причем если$ь (/') = к 0 при некотором
120 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ [ГЛ. 4 t = t', то Sh (f) к для любых 1 L Н М. Выра- жение (?) = кф 0 означает, что в момент временив = t' прибор L обслуживает требование к. Если sL (f) — 0, то в момент времени t = t' прибор L свободен. Расписание должно удовлетворять — условию полноты: суммарная длина промежутков, на которых функции sL (£), L = 1, М, принимают значе- ние к 0, равна — условию готовности к обслуживанию: sl (О к, L = 1, М, при t dk, t — 1, п. Будем говорить, что расписание $ = $ (0 допускает прерывания в процессе обслуживания требований, если существуют такие 1 к и, 1 L =/= Н М и 0 tf t t" оо, что выполняется хотя бы одно из ус- ловий: 1) SL (f) = SL {t”) = к, НО SL (0 #= fc и 2) SL (tf) = = Sh (Л = к. Содержательно процесс обслуживания требований без прерываний удовлетворяет следующему условию. Каждое требование обслуживается только одним прибором. Если обслуживание некоторого требования к начинается в мо- мент времени tk, то оно протекает непрерывно и заверша- ется в момент времени tk -}- tk. Предполагается, что количество разрывов каждой из функций sl (t) конечно. Каждому расписанию $ соответствует вектор I ($) = = (?1, ?2, • • • > ?п) моментов завершения обслуживания требований. Здесь tk — наибольшее значение t, при кото- ром П (sL(t) — k) = Q. Качество расписания s характеризуется значением дей- ствительной кусочно-непрерывной монотонно возрастаю- щей функции F (%) = F (xi, х2, . . . , хп) при X = I ($). Из двух расписаний лучшим считается то, которому соот- ветствует меньшее значение F (я). Расписание, которому соответствует наименьшее значение F (ж), называется оп- тимальным расписанием. Наиболее распространенным является способ задания F (ж), при котором каждому требованию к = 1, п относят некоторую кусочно-непрерывную неубывающую функ- цию — функцию штрафа <р* (хк), выражающую в коли- чественном отношении «штраф», который необходимо «зац-
$ 11 ПРЕРЫВАНИЯ 121 латить», если обслуживание этого требования завершается в момент времени хк = 1к. Качество расписания s харак- теризуется суммарным или максимальным штрафом, кото- рый необходимо заплатить при обслуживании требований п по расписанию s, т. е. F (7 ($)) = 2 Ф& (7J или F $ («)) = fc=l = max {<pfc 1.2. В общем случае оптимальное расписание содержит прерывания процесса обслуживания требований. Приве- дем достаточные условия существования оптимальных рас- писаний, не содержащих прерываний в моменты времени, отличные от dk, к = 1, п. Теорема 1.1. Если М = 1 u F (ж) — неубывающая функция, то для любого расписания s существует расписа- ние s * такое, что F (7 ($*)) F (7 ($)) и прерывания про- цесса обслуживания при расписании имеют место не чаще, чем в моменты времени dk, к — 1, п. Доказательство. Пусть di = ... = dit <С = ••• == <С ••• dir = ... = dn. Обозначим че- рез Pi, . . . , рг-1, рг временные промежутки (dh, d^, ... . . ., (dir_v dir], (dir, оо) соответственно. 1. He нарушая общности рассуждений, можно рас- сматривать только такие расписания s, при которых об- служивание каждого требования к в любом промежутке Ру проходит непрерывно. Действительно, если s (t) — к на промежутках (tlt f2l и (h, (h < h) промежутка py, но s (t) #= к при < < * < T<> расписание s можно преобразовать в расписа- ние s', полагая s'(t) = s (t) при t ^h и t> h, s'(t) = = 5 (^+ (4 — h)) при h < t < h ~ (h — 4) и s'(t) = к при h — (h — h) h- Полученное расписание не уступает по качеству исходному и содержит меньшее чис- ло прерываний. 2. Если в некотором промежутке Ру, 7 <С г> происходит прерывание обслуживания тп > 2 требований (с последу- ющим возобновлением их обслуживания в некоторых иных промежутках), то исходное расписание $ можно преобра- зовать в не уступающее ему по качеству расписание s', при
122 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ [ГЛ. 4 котором в рассматриваемом промежутке происходит преры- вание обслуживания не более т — 1 требований. Введем в рассмотрение следующую операцию преобра- зования расписаний. Пусть s (t) — а на (f, t"} и f > tn. Выберем на (i, оо) один из промежутков (tu £2], на котором s (t) = b. Если t2 — > t” — f, то преобразуем s в s', полагая s' (0 = ь при t' < t f, s'(t) = а при t± < t h + + (Z" — t') и s'(t) = s (t) при остальных значениях t. Если t2 — ti<^ t" — t', то преобразуем s в $, полагая s'(t) = b при t' <" t t' 4- (t2 — Zi), s (t) = а при h < <Z t t2 и s'(t) = s (t) при остальных значениях t. Рас- сматривая 's в качестве s и выбирая в качестве (Z', t"] про- межуток (Z' 4- t2 — t^ t"], повторяем указанные преобра- зования и т. д. до тех пор, пока либо s (t) == b на (Z', Л, либо в промежутке (t, оо) уже не содержатся промежутки (Zi, ^1, на которых 's(t) = b. Полученную в результате функцию 's (t) обозначим через s'(t). Если s' — расписание, то будем говорить, что оно по- лучено из расписания $ в результате применения операции О (a, b, t', t", t). Пусть в промежутке р происходит прерывание обслужи- вания требований к и Z, s(t) = к при t Е= Z2] €= Р;, s (Z) = I при t е (ti, Z21 ЕЕ pj и, для определенности, ?z- Применим к расписанию s операцию О (Z, к, ti, Z2»^tj+1). В результате получаем расписание s', при котором либо требование к завершает обслуживание в промежутке ру, либо в этом промежутке не обслуживается требова- ние Z. В любом случае получаем расписание, не уступающее по качеству исходному и допускающее в промежутке Ру пре- рывания обслуживания не более т — 1 требований. 3. Если в некотором промежутке р;, / < г, происходит прерывание только одного требования к (обслуживание которого возобновляется в некотором последующем про- межутке), то исходное расписание $ можно преобразовать в новое расписание, при котором если в промежутке Р; и происходит прерывание, то оно происходит только в момент времени
S и ПРЕРЫВАНИЯ 123 Действительно, пусть s (t) = к на промежутке t2] GE S 0/, s(t) = Z на промежутке (t', Л, Z2 < *' < dij+1 < < t”. а) Если I = 0 или (при l Ф 0) требование l завершает обслуживание в момент времени Z", то преобразуем рас- писание $ в расписание s', полагая s' (Z) = s (t) при t tt и t", s' (Z) = $ (Z + (Z2 — Zi)) при Zi t t” — — (Z2 — Zi) и s' (Z) — к при Z" — (Z2 — Zi) < Z t". б) Если обслуживание требования l прерывается в мо- мент времени Z", то преобразуем расписание 5 в расписание s', используя операцию О (Z, к, Z', Z*)» если Z^ < или операцию О (к, I, tlt t2, t"), если ti В любом случае полученное расписание может быть преобразовано в искомое приемами пн. 1 и 2. 4. Поскольку число прерываний конечно, в результате конечного числа указанных преобразований исходного расписания s может быть получено расписание $*, при ко- тором прерывания обслуживания требований происходят не чаще, чем в моменты времени dk. При этом промежутки следует рассматривать последовательно слева направо. Каждое из вновь получаемых расписаний по качеству не уступает исходному. Теорема доказана. Эта теорема указывает точную верхнюю границу мини- мального количества прерываний, имеющих место при оп- тимальном расписании для систем обслуживания с одним прибором. ____ Следствие. Если dk = 0, к — 1, п, то при М = ~ 1 и неубывающей функции F(%) существует оптималь- ное расписание без прерываний процесса обслуживания. 1. 3. Перейдем к рассмотрению случая нескольких при- боров. Введем понятие квазивогнутой функции F (я). Обозначим через Е множество всех n-мерных векторов, компонентами которых являются числа 0, 1 или —1. Будем предполагать, что функция F (ж) является монотон- но возрастающей по каждому аргументу и, следовательно, по каждому направлению, определяемому вектором ё EzE с неотрицательными компонентами. Потребуем, чтобы по- ведение функции F (%) по направлению, определяемому вектором ё е= Е, который содержит как положительные,
124 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ [ГЛ. 4 так и отрицательные компоненты, удовлетворяло следую- щему условию. Если существует вектор £ = и число а > 0 такие, что F (£0) <" F (#0 + «е), то F (ж0) > >F($q — (Зё) для всех (3 > 0. Значения^, а, 0, вообще го- воря, не могут быть произвольными, поскольку функция F (%) определена для X > 0, не содержащих более М одина- ковых компонент. Функцию F (£), обладающую указан- ными свойствами, будем называть квазивогнутой функцией. Класс квазивогнутых функций содержит, в частности, все вогнутые, не убывающие в положительном октанте функции. Теорема 1.2. Если М 1, = 0, k = 1, п и F (ж) — квазивогнутая функция, то для любого расписания s существует расписание s* без прерываний процесса об- служивания требований такое, что F (7 ($*)) F (7 ($)). Доказательство. 1. Введем некоторые опе- рации преобразования расписаний. Операция Oi (Q, R, f). Будем говорить, что расписа- ние s' = {«1 (t), . . ., sm (0) получено из расписания $ в результате операции Oi (Q, R, tf), если s'l (t) = sl (t), 0 t оо, для всех L ф Q, R; sq (t) == sq (t) и sr (t) = = SR (t), 0 < t < tf; Sq (t) = Sr (t) И Sr (t) = Sq (t), t’ < < t < оо. Эта операция позволяет в момент времени f приборы Q к R поменять ролями. Поскольку приборы иден- тичны, то расписания s и s одинаковы по качеству, т. е. F (I (s)) = F (I (/)). Операция О2 (Q, t‘,+ а). Эта операция позволяет уве- личить или уменьшить величину простоя некоторого зара- нее выбранного прибора на заданную величину а > 0. В результате ее применения к расписанию 5 получаем сово- купность функций s' = {si (t), . . . , sM (t)}, где sL (t) = = sL (t), 0 t < оо, для всех L ф Q; sq (t) = sQ (t), 0 t Sq (t) = 0, tf < f + a, И Sq (t) = Sq (t — a), f 4- a <4 < оо, если а имеет знак плюс; sq (t) == = Sq (t), 0 t < t’ — а, И Sq (t) = Sq (t a), t' — a < t <* оо, если а имеет знак минус. Если s' — расписание, то в силу неубывания функции F (^) оно по качеству не уступает исходному расписанию s в случае, когда а имеет знак минус.
§ 1] ПРЕРЫВАНИЯ 125 Операция 03 ((?, R, t', t", а). Пусть tf, t" и а — неотри- цательные числа. Рассмотрим совокупность функций s' = = {$'(t), . . ... s'M (*)}> где sL (t) = sL (0, 0 < t < oo, для всех L =^= Q. R\ sq (t) = sq (t) при 0 <; £ f — а и sq (0 = sQ(t + а) при t' — a < t < oo; sR (t) = sR (t) при 0 t < tf; sR ,(t) = sq (t + tf — t" — а) при t" < t < t'' + а и sb (t) = sR (t — а) при f + a t oo. В случае, когда Q = R и tr <" f. положим sq (t) — sq (t) при 0 t t’ — а и t> t” a, s\q (t) == sq (t + а) при t' — a <^t t" И Sq (t) — Sq (t + t' — t" — а) при t" t f + а. Если s' — расписание, то будем говорить, что оно получено из расписания s в результате применения операции О3 (Q. R. t'. t", а). 2. Не нарушая общности рассуждений, можно рассмат- ривать только такие расписания s, что sl (t) Ф 0 на неко- тором промежутке (0, Ть) и sl (t) = 0 при t Тъ или sL(t) = 0 для всех £ > О, L = 1, М. Иными словами, каково бы ни было исходное расписание s, существует рас- писание s, при котором каждый прибор при обслуживании требований функционирует непрерывно, и это расписание по качеству не уступает исходному. Действительно, пусть, например, sR (t') = 0 и sR (t) =/= Ф 0 при некотором t > f 0. Поскольку расписание s допускает конечное число прерываний, то R и f можно выбрать таким образом, чтобы f было наибольшим. Пусть при этом sl (?) = Vl. a sL (? + 6) = рь, L = 1, M. Зна- чения Vl и рь не обязательно различны. Выберем 6 > 0 таким образом, чтобы sl (tf + 6i) = рь для всех 0 < 61 < <6, L = Если существует такое 1 Q М, что vq 0 и Pq 0, то применим к расписанию s операцию Oi (7?, Q. t'), получая в результате новое расписание s'. Если все vL = О, L == 1, М, то применим к расписанию s операцию О2 (Л, f, — (f — f')), получая в результате расписание s". Значение t" 0 выбирается наибольшим среди всех значений, удовлетворяющих условию sL (t) = = 0, t” t t', для всех L — 1, М, и, по крайней мере, для одного 1 L М значение sl (О =# 0.
126 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ [ГЛ. 4 Наконец, если не имеет место ни одна из перечисленных ситуаций, то существует 1 Н М такое, что цн =И= О и|1н vL для всех L = 1, М. В частности, может оказать- ся Н = R. Применим к расписанию $ последователь- но операцию Oi (7?, Я, f), затем О2 (7?, f, — (tf — F)), получая в результате] расписание Значение F О выбирается наибольшим среди всех значений, удовлет- воряющих условию sl (0 #= Ин, = 1, t t', и sh (0 = <С * I' + — ?)• Таким образом, в любом случае удается сократить ве- личину простоя прибора 7?, не увеличивая простоя осталь- ных приборов. Качество получаемых расписаний з', s” или £ оказывается не хуже качества исходного расписания. Повторяя аналогичные рассуждения конечное число раз, приходим к искомому заключению. 3. Пусть расписание s допускает прерывания только в момент времени t = и в этот момент времени происхо- дит прерывание процесса обслуживания v М требова- ний &i, к2, . . . , к„. Требование к3 сначала обслуживается прибором Q3 в течение tk. единиц времени, затем прибором R3 в течение единиц времени. Если Qj = Rj, то при до- статочно малом 8 > 0 значение sq. (^> + 8) к3. Длину временного интервала между моментом времени возобнов- ления обслуживания требования к3 и моментом времени обозначим через А;. Пусть А,* = min А;. Если Qj* — Rj*4 то применим к расписанию 5 опера- ЦИЮ О3 (Qj*, Qj*. № + Д;» — t^, t'kp), получая в ре- зультате расписание з*1). Вектор времени завершения об- служивания требований при этом расписании удовлетво- ряет условию I (s*1)) I (з). Следовательно, F (7 (з*1))) <F(7 (з)). Пусть Q3* Ф R3*. Если А;» = 0, то, применяя к рас- писанию з операцию Oi (7?;*, Q3*, №), получаем рас- писание з<2), по качеству эквивалентное исходному. Если Aj* 0, то применим к расписанию s операцию О3 (<23*, 7?,*, ^), № + А;* + Полученная совокупность функций s(3> также является расписанием. Если F (7 (з<3))) F (I (з)), то применим к з операцию
ПРЕРЫВАНИЯ 127 § И Оз (Rj*, Qj*i *(1) + д;* + *(1), Ц*)- Обозначим полу- ченную совокупность функций через s<4). Эта совокупность функций является расписанием. Векторы t (s<3)) и t (s<4>) времен завершения обслуживания требований при распи- саниях $<3) и s(4> соответственно связаны с вектором I (s) соотношениями t (s<3>) = 7 (s) + и I (з<4)) = t (s) — — где ё — некоторый n-мерный вектор с компонен- тами 0, 1 и —1. Поскольку F (х) — квазивогнутая функ- ция и по предположению F (7 (s<3))) F (t ($)), то F (i (^>))< Л* (*))• Таким образом, всегда можно построить расписание, по качеству не уступающее исходному расписанию s. Это расписание, так же как и расписание s, допускает преры- вания только в момент времени t = Однако прерыва- нию подвергается не более v — 1 требований. Следо- вательно, существует и расписание без прерываний процесса обслуживания требований, по качеству не усту- пающее расписанию s. 4. Для завершения доказательства теоремы достаточно показать, что если расписание s допускает прерывания только в моменты времени . . . , £(w), то сущест- вует расписание s', допускающее прерывания только в мо- менты времени . . . , и при этом F (7 (s')) <^ (?(»)). Расписание s удовлетворяет условиям предыдущего пункта при t > Следовательно, можно положить _ о и воспользоваться приведенными выше рассуж- дениями. В результате получаем расписание, не допуска- ющее прерываний при t > ^“г), совпадающее с исходным расписанием при t и не уступающее ему по ка- честву. Теорема доказана. Из определения квазивогнутой функции и доказанной теоремы следует, в частности, что при минимизации сум- марного штрафа за обслуживание для достаточно широкого класса функций штрафа можно рассматривать расписания без прерываний процесса обслуживания. При этом, одна- ко, предполагается, что все требования поступают в оче- редь на обслуживание одновременно. Если требования поступают неодновременно и число приборов М J>1, то ситуация значительно усложняется. В этом случае даже при одинаковых для всех требований
128 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ 1гЛ. 4 линейных функциях штрафа оптимальное расписание мо- жет содержать прерывания процесса обслуживания в мо- менты времени» отличные от моментов времени поступле- ния требований. Конструктивные приемы доказательства приведенных в этом параграфе теорем позволяют в соответствующих си- туациях преобразовать любое оптимальное расписание в оптимальное расписание с минимально возможным числом прерываний. § 2. Обслуживание в заданные сроки Рассмотрим детерминированную систему обслужива ния, состоящую из М параллельных идентичных при- боров. На обслуживание поступает п требований, каждое из которых может обслуживаться на любом из приборов. При этом в каждый момент времени любой прибор может обслуживать не более одного требования, а каждое требова- ние может обслуживаться одним прибором. Требование к поступает в очередь на обслуживание в момент времени > 0 и требует для обслуживания tk > 0 единиц време- ни. Известен момент времени (директивный срок) Dk > > 0, к которому необходимо завершить обслуживание тре- бования к. Будем считать, что tkv.Dk — целые числа, к = 1, п. Предполагается, что возможны прерывания про- цесса обслуживания требований. Под прерыванием пони- мается перенос обслуживания требования с одного прибо- ра на другой либо прекращение обслуживания требования до его полного завершения (с последующим возобновле- нием обслуживания на этом же или на другом приборе). Определенный интерес представляет выявление условий, при которых все требования могут быть обслужены в за- данные директивные сроки. 2.1 • Присвоим временным промежуткам единичной дли- ны, начиная с момента d = 0, номера 1,2, . . . , max Dk. Будем предполагать, что единичный промежуток с номером 0 имеет вид (0 — 1,0]. Поскольку требование к поступает в очередь на обслуживание в момент времени dk и должно быть обслужено не позднее момента времени Dk, то это требование может обслуживаться в течение вре- менных промежутков с номерами dk 1, dk + 2, . . .,Dk.
§ 2] ОБСЛУЖИВАНИЕ В ЗАДАННЫЕ СРОКИ 129 Поставим множеству номеров временных промежутков {1,2, . . . , 0, . . . , max Dk}, множеству требований ____ {1, 2, . . . , п} и набору чисел dd, tk, Dk, к = 1, n, в соответствие транспортную сеть G, образованную вер- шинами ^х, Х2, . . . , ЖтахП,., У1, Уы • • • ? Уп, ВХОДОМ XQ И к К выходом г; вершина xq соответствует временному проме- жутку с номером 0, вершина ук соответствует требованию к; вершины 0 = dk + 1, Dk, соединим дугами пропуск- ной способности с (xq, ук) = 1 с вершиной ук\ вершины и Xq — дугой пропускной способности С (х0, Xq) = М (0 = 1, max Dk), вершины ук иг — дугой пропускной спо- к ___ собности с (yl£, z) = tk, к = 1, п (рис. 4.2.1). Каждый поток, насыщающий выходные дуги сети G, определяет расписание, при котором все требования об- служиваются без нарушения директивных сроков. С дру- гой стороны, каждое расписание, при котором все требо- вания обслуживаются в заданные сроки, определяет по- ток, насыщающий выходные дуги сети G. 5 В. С. Танаев, В. В. Шкурба
130 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ [ГЛ. 4 Пусть TV £ N = {1, 2, . . . , п}. Обозначим через 8 (7V, 0) число требований к ЕЕ N таких, что dk <f 0 Dk. Тогда в силу известной теоремы о насыщении, необходи- мым и достаточным условием существования потока, на- сыщающего выходные дуги, является выполнение неравен- ства max D,, 2 2 min [е (У, 9), М] keN 9=mindfc+l (2.1) для всех TV cz TV. Таким образом, для того чтобы существовало расписа- ние, при котором все требования обслуживаются без на- рушения директивных сроков, необходимо и достаточно, чтобы неравенство (2.1) выполнялось для всех TV cz TV. 2.2 . Сформулируем условия обслуживания требований в заданные сроки для некоторых частных случаев поста- новки задачи. _____ a) dK > 0, Dk = D, к = 1, п. Пронумеруем требования множества N в порядке поступления их в очередь на об- служивание, т. е. будем считать dT ... dn. Пусть Я cz N и TV = {in • • • , ч}, гДе Ч < если 7 < Тогда неравенство (2.1) преобразуется следующим обра- зом: I D S min[8(JV,0), М] = e=dit+1 = (d[, — dj,)-1 + (4 — 4)min (2, M) + (p _ dij) min (I, M). (2.2) Неравенство (2.2) должно выполняться для всех TV = = {ii, i2, . . . , it} C N, 1 I n. При I 4 M и I M из (2.2) получим соответственно i i (2.3) j =1 5=1 и I -^dt.. (2.4)
§ 2] ОБСЛУЖИВАНИЕ В ЗАДАННЫЕ СРОКИ 131 Для выполнения этих неравенств при любых X не- обходимо и достаточно выполнение условий <** + **<£, /с = Т?п, (2.5) М П S + ^) + 2 D-M (2*6) j =1 k=iM+l для всех 7? = {ii, i2, ...» im} N. Таким образом, для обслуживания требований без на- рушения директивного срока в случае а) необходимо и до- статочно выполнение условий (2.5)» (2.6). б) = 0, Dk = D, к = 1, п. Из (2.5), (2.6) непосред- ственно следует, что условием обслуживания требований в заданный срок для случая б) является выполнение не- равенств к = 7^п, (2.7) п (2.8) к=^1 в) = 0, > О, к = 1, и. Пронумеруем требования по неубыванию директивных сроков Z)fc. Пусть $ £ N и N = {h, • • • » ч}> гДе Ч <С если 7 <С Тогда не- равенство (2.1) запишется в виде i 2 ^<2 min [8 (У, 0), Л/] = 3=1 9=1 - Dit min (Z, М) + (Д2 - Dil) min (I ~ 1, M) + ... • • • + (Az,, - A,_2) min (2, M) + (D4 - (2.9) Неравенство (2.9) должно выполняться для всех 7? = = {ii, Z2, ... , ij TV, 1 < I < n. При I M и I M получим из (2.9) соответственно i i 2 '2 (2.Ю) j=l j=l 3=1 c 3 D4- (2.11) 5*
132 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ [ГЛ. 4 Для выполнения последних неравенств при любых vV cz N необходимо и достаточно, чтобы выполнялись сле- дующие условия: tk^Dk, k=TJl. (2.12) Ч-м+i i i 2 + 2 2 (2.i3) fc=l j=i-M+l для всех N = {h, f2, . . ., i J c TV, I M. Итак, для того чтобы существовало расписание, при котором требования обслуживаются без нарушения дирек- тивных сроков, необходимо и достаточно выполнение ус- ловий __ tk^Dk, к = 1,п, (2.14) ii м м 2^+2 2 (2.15) к=1 j—2 j =1 для всех 7? = {fn f2, . . . , 1м} N. г) й/с > 0, > О, к = 1, n, М = 1. Пронумеруем требования так же, как в случае в). Пусть Я Q N и N = ~ {fi, . . . , fj, где ij fte, если j <" к. Тогда нера- венство (2.1) преобразуется следующим образом: 1 2 2 min [е (JV, 0), 1] = D4 — mindj. (2.16) "1 1 0=mind. .+ 1 Неравенство (2.16) должно выполняться 2V = {h, f2, . . . , f J cr TV, n. Пусть к = 1, n — 1. Тогда из (2.16) получаем к 2 Dk, к = i, п. г=1 для всех > ^/с+1» (2.17) Пусть dk dk+1, к — 1, п — 1. Тогда из (2.16) полу- чаем i (2.18) i=k %ля любых 1 к I п.
НЕКОТОРЫЕ ЗАДАЧИ УПОРЯДОЧЕНИЯ 133 Таким образом, условия (2.17), (2.18) являются необ- ходимыми и достаточными условиями для того, чтобы в случае г) соответственно при dk dk+1 и dk dk+1, к = = j ге _ 1” существовало расписание обслуживания тре- бований, при котором не нарушаются директивные сроки. д) dk = 0, Dk > 0, к = 1, п, М = 1. Из п. г) следует, что условием существования расписания, при котором все требования обслуживаются без нарушения директивных сроков, является в этом случае соблюдение следующих неравенств: к к = \~^. (2.19) 1=1 Приведенные условия существования расписаний, при которых все требования обслуживаются в заданные сроки, справедливы только при разрешении прерываний процесса обслуживания требований (за исключением условия (2.19)). § 3. Некоторые задачи упорядочения Рассмотрим сравнительно частные задачи построения оптимальных расписаний обслуживания п требований М идентичными параллельными приборами в предположе- нии, что процесс обслуживания каждого требования про- текает непрерывно. 3.1. Одной из задач такого рода является задача пост- роения расписания, которому соответствует наименьшее значение суммы времен запаздываний в обслуживании тре- бований относительно заданных директивных сроков. Ди- рективные сроки будем по-прежнему обозначать через а времена завершения обслуживания требований при рас- писании $ через Предполагается, что процесс обслужи- вания каждого требования может быть начат в любой мо- мент времени, т. е. dk = 0, /с — 1, п, и протекает без пре- рываний до завершения обслуживания этого требования. Необходимо так распределить требования множества N = {1, 2, . . . , п} по обслуживающим приборам и ука- зать такие последовательности их обслуживания каждым п прибором, чтобы величина F% (s) = 2 max (°> 1ц — Dk) была...наименьшей. .....
134 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ [ГЛ. 4 Ограничимся рассмотрением ситуации, когда все ди- рективные сроки одинаковы и равны D > 0. Все рассмат- риваемые ниже расписания предполагаются активными. Пусть требования множества N = {1,2, ...» п} пронумерованы в порядке неубывания значений tk и Nl cz. N — множество требований, обслуживаемых L-м прибором,*L = 1, М. На основании теоремы 2.3 гл. 3 поиск оптимального расписания можно ограничить рассмотре- нием расписаний, при которых каждый прибор обслужи- вает требования в порядке возрастания их номеров. Та- ким образом, искомое расписание однозначно определя- ется разбиением множества N на (не обязательно непустые) подмножества TVi, jV2, . . . , NM, попарно не имеющие об- щих элементов. Если упорядоченной по возрастанию по- следовательностью элементов множества Nl является по- следовательность i2, . . . , то время начала М обслуживания требования ij равно tt. — 2 tiK, а время к—1 завершения его обслуживания = tij + Разобьем множество Nl на два подмножества Ql и Rl по следуюпеиу признаку: ij ЕЕ Ql, если tt. Z), в про- тивном случае ij ЕЕ Rl- Положим Q = (J Ql и R = = U Rl- L=ltM Теорема 3.1. Существует оптимальное расписа- ние, при котором 1) Q = {1, 2, ...» | Q |}, 2) если | Q | < п, то 2 h & и Rl содержит те и ^Ql только те элементы R = { | Q | + 1, ..., п}, которые отличаются от | Q | + L на величину, кратную М, L = = 1JH. Доказательство, а) Пусть 5* — оптимальное расписание и при этом расписании L-й прибор обслуживает (в порядке возрастания номеров) требования множества Nl, Ql - Ql, Rl = Rl, L = i?M, (? = <?* и R = /?*. Если | 0* | = n, то справедливость утверждения теоремы очевидна. Пусть |$* | п. Если предположить, что при
§ 5] НЕКОТОРЫЕ ЗАДАЧИ УПОРЯДОЧЕНИЯ 135 некотором 1 Ь М значение 2 tk <^D, то при- teo! ходим к заключению, что расписание $* не является оп- тимальным, поскольку одно из требований множества 7?* можно было бы обслужить L-м прибором, начиная с мо- мента времени 2 h & • Следовательно, 2 > D keqI l^Q* для всех L = 1, М. б) Выберем наибольший элемент j ЕЕ (?* и наименьший элемент / ЕЙ*. Предположим, что i 1- Если = tj, то эти требования эквивалентны и их можно поменять мес- тами. Пусть tf < tj. Поскольку каждый прибор обслужи- вает требования в порядке возрастания их номеров, то требования i и j обслуживаются разными приборами. Пусть, для определенности, требование i обслуживается прибором L, а требование / — прибором Н. Очевидно, можно полагать, что tj Р, tj^ D, tt D и не сущест- вует к е Rl с tk Рассмотрим новое расписание $х, отличающееся от рас- писания $* тем, что требование i обслуживается прибором Н непосредственно перед требованием у. Суммарный штраф при этом изменяется на величину (| 7?н | — | Rl | + + 2) + max & + tt - D, 0) - (li - D). Если | Rl | > | Rs | + 2, то эта величина неположи- тельна. Если | Rl | = | Rh | + 1, то эта величина также неположительна при tj tt Если не имеет места ни одна из указанных ситуаций, то рассмотрим расписание $2, отличающееся от исходного оп- тимального расписания $* тем, что на приборе L вместо требования i обслуживается требование /, а на приборе Н вместо требования j обслуживается требование i. Суммар- ный штраф при этом изменится на величину (tj — ti) х X (| | - \Rh |) + max (tj + ti-D,O)- (tj - D). Если | Rl I | Rh |, to эта величина неположитель- на. Она неположительна и в случае, когда | Rl | = | Ян| + + 1 при условии, что tj + ti D. Таким образом, в любом случае существует расписание, которому соответствует суммарный штраф, не превосходя- щий по величине суммарного штрафа, соответствующего
136 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ [ГЛ. 4 оптимальному расписанию s*. Множество О, определяемое этим расписанием, отличается от <2* только тем, что оно содержит элемент i и, возможно, не содержит элемента /. Повторяя аналогичные рассуждения конечное число раз, приходим к заключению, что существует оптимальное расписание, удовлетворяющее условию 1) теоремы. Если | Q | + п, то в этом расписании 2 Для всех L = _____ = 1, М. Не нарушая общности, можно полагать, что 2 < 2 '«• В дальнейшем символ $* бу- * * KeQi дем употреблять для обозначения оптимального распи- сания, обладающего указанными свойствами. в) Для завершения доказательства теоремы достаточно показать, что существует оптимальное расписание, при котором требование | Q* | + 1 обслуживается первым прибором, требование | Q* | + 2 — вторым прибором и т. д., требование |()* | + М — М-м прибором, требова- ние | ()* | + М + 1 — первым прибором и т. д., пока не будет исчерпано множество /?♦ = {| ()* | + 1, . . ., п}. Предполагается, естественно, что | Q* | < п. Пусть при расписании $* указанным образом обслу- живаются требования |(?*| + 1, |(?*| + 2, . . . , | Q* | + + IM + (L — 1). Множество этих требований обо- значим через_Я, а множество остальных требований из Л* — через R. Предположим, что й ^=0 и наименьший номер требования из 7?, обслуживаемого Л-м прибором, ра- вен / =?£= | (2* | + IM + L. Тогда требование i = | Q* | + + IM + L обслуживается некоторым прибором Н =/= Л. Таким образом, по предположению оптимальное расписа- ние s* таково, что прибор L обслуживает последователь- но требования | (?* | + L, | <2* | + М + L, .. ., | <2* | + + (Z — 1) М + L, /, . . . , а прибор Н обслуживает последовательно требования | Q* | + Я, | Q* | + М + + Я, . . . , | С* | + (/ - 1) М + Я, i - | С* I + 1М + + L, . . . , если Я +> L, или требования | Q* | + Я, | Q* | + м + Я, . . . , | (?* | + 1М + Я, г = | (?* | + + IM + L, . . . , если Я + L. В любом случае £; + tit Аналогично п. б) рассмотрим расписания $i и $2- Первое из них отличается от $* только тем, что требование I об-
§ 3] НЕКОТОРЫЕ ЗАДАЧИ УПОРЯДОЧЕНИЯ 137 служивается прибором L непосредственно перед требова- нием /. Второе отличается от $* тем, что на приборе L вместо требования j обслуживается требование Z, а на при- боре Н вместо требования i обслуживается требование /. В зависимости от числа требований, обслуживаемых прибором L, начиная с момента времени tj, и числа требо- ваний, обслуживаемых прибором Н, начиная с момента времени^, одно из расписаний или s2 окажется опти- мальным? Поскольку в обоих случаях прибором L обслу- живается требование i = | Q* | + IM + L, то, повторяя аналогичные рассуждения конечное число раз, убеждаем- ся в справедливости теоремы. Следствие 1. Расписанию s, при котором каждый прибор L — 1, М обслуживает требования в последова- тельности L, М + L, 2М + L, . . . , соответствует наи- меньшее значение суммы времен завершения обслуживания всех требований. Следствие 2. Пусть обслуживание требований L-м прибором не может быть начато раньше момента вре- мени > О, L = 1, М. Расписанию $, при котором каж- дое очередное требование k = 1, 2, . . . , п назначается на обслуживание на тот прибор, который раньше других оказывается свободным, соответствует наименьшее значе- ние суммы времен завершения обслуживания всех требо- ваний. Обозначим через 5 (р) класс расписаний, удовлетворя- ющих условию теоремы 3.1 и дополнительному условию | Q | = р, р — натуральное число. Оптимальное распи- сание $*, очевидно, принадлежит хотя бы одному из клас- сов 5 (р) при некотором р = р*. Число различных непустых классов 5 (р) не превышает М. Действительно, пусть р — наименьшее значение р, при котором S (р) ф. Если р = п, то S (р) — единст- венный непустой класс. Если р <" п, то по определению класса S (р) значения zl~ tk — D^Q, L — 1, М, H^Ql для любого расписания из этого класса и, следовательно, м h М 2 ZL + S Z|Q| +г < 2 ^IQl+i ТОЛЬКО ПрИ h М — 1. Ь==1 i=l i=i
138 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ [ГЛ. 4 Обозначим через р наибольшее значение р, при котором S (р) ф ф. Таким образом, р — р М — 1. Необ- ходимо отметить, что при некоторых р < р < р может оказаться S (р) = ф. Найдем достаточные условия, при которых расписанию $ ЕЕ S (р) соответствует наименьший суммарный штраф среди всех расписаний, принадлежащих классу S (р), р р р. Обозначим через с (р) число, равное остатку от деления (п — р) на М при п — р Е> 0 и равное М в про- тивном случае. Теорема 3.2. Расписание s е= S (р) является опти- мальным в S (р), если при этом расписании величина е(Р-) z (р) = 2 тах (°» zl) (3.1) L=1 достигает наименьшего значения. Доказательство. Если р = п, то Z (р) = = (s)- Пусть р < п и, следовательно, zL > 0 для всех L = 1, М. Не нарушая общности, будем предполагать, ЧТО Z-± Z% ... Суммарный штраф (s), соответствующий любому расписанию s е= 5 (р), можно представить в виде м Fe(s) = 2 |#l|zl + Fs, (3.2) L=1 где величина F% не зависит от see 5 (р). По условию I 7?! I = I R2 | = ... = I 7?С(Р) I = I Яс(и)+11 + м 4- 1 — ... = | RM | + 1 и S = const для всех sЕЕ S (р). L=1 Следовательно, F% (s) достигает наименьшего значе- с(Н) ния, если величина 2 zl минимальна, что и требова- L=1 лось доказать. Таким образом, при построении оптимального расписа- ния s* можно воспользоваться следующей вычислитель- ной схемой. Сначала необходимо определить значение р. Затем, используя теоремы 3.1, 3.2, построить оптимальное
НЕКОТОРЫЕ ЗАДАЧИ УПОРЯДОЧЕНИЯ 139 в 5 (р) расписание для р = р, р + 1, . . . , р. Среди полученных расписаний, число которых не превосходит М, выбрать то, которому соответствует наименьший суммар- ный штраф. Это расписание является искомым. В общем случае поиск оптимального расписания требу- ет перебора большого числа возможных вариантов. Следу- ющая теорема позволяет оценить и выбрать, если необхо- димо, в качестве приближенного решения некоторое из «промежуточных» расписаний. Теорема 3.3. Если расписание s ЕЕ S (р), то Fs(s)-Fs(s*)<Z(h). (3.3) Доказательство. Не нарушая общности, мож- но предполагать, что 5*G (р*). Неравенство (3.3), очевидно, выполняется при р * = р. Пусть р* =56= р. Расписанию $ соответствуют множест- ва Q, /?1? /?2, • • • » Rm, а расписанию $* — множества (?*, /?*, /?*, . . . , По определению I Q I = р и I <2* I = н*. Рассмотрим случай, когда р* = р + h, О <4 Л/ — 1. Множества Ri — ЯЛ+Ь • • •, Rm-h~ Rm, Км-h+i = -Si\ {| Q | 1}> • • •, Rm = Rh \ {| QI + h}. Значения zl, определяемые расписанием s, неотрицательна и М М h 2 max (0, zl) = 2 Zl + 2 *|Q|+b L=1 L=1 i=l где значения z*L определяются расписанием s*. Возможны следующие ситуации. Если h < с (р), то С(Н) с(|Л)-Л Fe (5) — ($*) = 2 zL — 2 max (0, 4). L=1 L=1 Если h = с (p), to С(Ю Fs(s)-Fs(s-)= 2 zt, L=i
140 ПАРАЛЛЕЛЬНЫЕ ПРИЙОРЫ [ГЛ. 4 Если fe>c(p,), ТО М г(Н) Fs(s)-Fs(?)= 2 zL+ 2 zL + L—l L~1 r(H) M-hj-cfr) + 2zlQM — 2 max(0, z[) = i=l ь=1 r(|X) h M = 2 ZL — ( 2 zIQI+i — 2 max(0, zj; L=1 r.=.W-/i+XW+1 Таким образом, неравенство 3.3 выполняется при р*>р. Пусть [х = р* + h, 0 < h < М — 1. В этом случае R*t = = RM-h+1U{\Q\-h+i},...,R; = RM[J {| Q |}, R^ = = R^ Rm = Rm-k- Значения zL неотрицательны и Af Af h 2 max(0, zL)= 2 4 + 2zIQIn-i- Если h < M — с (p,), to L=1 L=1 i=l r([X) cQX)+'i Ft (s) — (s‘) = 2 max (°’ Zl) — 2 4- L=1 L=1 Если h> M — с (p), to c(P<) Л4-г(1Х)—Af Fs (s) — Ft. (s‘) = 2 max (°’ ze) — 2 2 ze — L=1 L=1 M Н-з(Н)-М r(H) — 2 4—2 z|Q|-?l+i< 2 max(0, zl). L=h+c([X)—Af-H i=l L=1 Следовательно, неравенство (3.3) выполняется и при р<^ р*. Теорема доказана. 3.2. Рассмотрим задачу оптимального обслуживания п идентичных частично упорядоченных требований двумя идентичными приборами. Не нарушая общности, будем предполагать, что каждое требование может быть обслу- жено любым из двух приборов в течение одной единицы времени. На множестве N = {1, 2, . . . , п} всех требований за- дано отношение —» строго частичного порядка, регламен- тирующее возможную последовательность их обслужива-
§ з] НЕКОТОРЫЕ ЗАДАЧИ УПОРЯДОЧЕНИЯ 141 ния. Если i i, то требование ; должно быть обслужено после того, как будет обслужено требование Л В качестве критерия оптимальности выберем общее время обслужива- ния требований. Процесс обслуживания в рассматриваемом случае мо- жет быть описан заданием последовательности векторов = <(А, 41), • • • , (А> 4/), •• • > (Рт, где pt и qt, t = 1, Т, принимают одно из значений 0, 1, 2, . . . , п. Если pt = к 0 и qt - I #= 0, то в Z-й единичный интер- вал времени один из приборов обслуживает требование к, второй — требование Z. Условие pt = 0 или qt = О означает, что один из приборов в Z-й единичный интервал времени простаивает. Эту последовательность естественно называть расписанием. Расписания 5 должны удовлетворять следующим двум условиям: 1) pt qt, t = 1, Т7, и для каждого 1 к п существует одно и только одно 1 Т такое, что (Pt — к) (qt — к) = 0; 2) если i -> у, (ри — г) (qtl — i) = = 0 и (ри — j) (qti — /) = 0, то < tz. Оптимальному расписанию s* соответствует наимень- шее значение общего времени Т = Т* обслуживания тре- бований. Тем самым это расписание должно содержать максимально воз- можное число векторов, компоненты которых отличны от нуля. Рассмотрим неориентированный граф (TV, U), Tj^eN — множество вер- шин (требований); U — множество ребер. Множество U не содержит ребро [г, /] тогда и только тогда, ^ис- 4.3.1. когда i -» ] или j -> i. В расписание $* в качестве векторов (pt, qt) могут вой- ти только те ребра [?’, /] графа (TV, U), которые попарно не имеют общих вершин (условие 1)). Обозначим наибольшее число таких ребер через ап*. Таким образом, приходим к заключению, что Т* > п — т*. Определение числа in* и самих ребер может быть проведено методом чередующихся цепей. Однако не всякая совокупность ребер графа (TV, С7), попарно не имеющих общих вершин, может входить в одно и то же расписание s. Действительно, ребра [1, 4] и [2, 3] (рис. 4.3.1) не могут входить в одну и ту же последова-
142 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ (ГЛ. 4 тельность s, поскольку при любом их упорядочении в этом расписании будет нарушено условие 2). Теорема 3.4. Существует расписание s с Т = п — — т*. Доказательство. Пусть 7? £ N и U — произ- вольное непустое множество ребер [i, у] графа (TV, U), по- парно не имеющих общих вершин. Будем говорить, что элемент к ЕЕ /V является максимальным в 7V, если не су- ществует I ЕЕ N такого, что к —> /. Возможны следующие ситуации: а) существует максимальный элемент к в N и /с ц у для всех ребер [г, у] из £7; б) существует ребро [г, /] в U такое, что элементы i и у являются максимальными в У?; в) существуют ребра [i1? и [i2, Уг1 в & такие, что элементы i± и 12 являются максимальными в TV, a [у1? у2] €= е и. Действительно, если не имеет место ситуация а), то все максимальные в $ элементы инцидентны ребрам £7. Пусть id) — один из таких элементов, [id), yd)] (= £7. Если yd) — максимальный в N элемент, то имеет место си- туация б). В противном случае в N может быть выбран элемент id), который является максимальным в 7V, и yd) —> id). Очевидно, № Ф id) и существует ребро [id), yd)] £7. Если/2) = id), то имеет место ситуация б). Если [yd), yd)] е U, то имеет место ситуация в). Наконец, если yd) ф id) и [yd), yd)] U, то yd) —» yd) и в N может быть выбран максимальный элемент id), для которого вы- полняется условие yd) —> id). Очевидно, id) ф id) и id) ф /(2), Повторяя описанные рассуждения конечное число раз (число элементов, а следовательно, и максималь- ных в 7V элементов конечно), приходим к заключению, что приведенные ситуации являются исчерпывающими. Перейдем теперь к непосредственному построению ис- комого расписания s с Т == п — т*. Пусть £7 — максимальное множество ребер графа (7V, £7), попарно не имеющих общих вершин, | £7 | — ш*, а /V — множество тех вершин графа (7V, £7), которые не инцидентны ни одному из указанных ребер. Если £7=0, то N является линейно упорядоченным множеством и последовательность, имеющая вид 5 = = 0), (i2, 0), . . ., (in, 0)>, где < i2, при
БИБЛИОГРАФИЧЕСКАЯ СПРАВКА 143 § 4] I -> является последовательностью обслуживания требований с общим временем обслуживания Т = п. Если $ = ф, то относительно £7 и N могут иметь место ситуации б) и (или) в). При ситуации б) в момент времени i = тп* на одном из приборов может быть обслужено тре- бование г, на втором — требование /. При ситуации в) в момент времени t = могут быть обслужены требования и i2- В первом случае ребро [i, j] удаляется из множества £7, во втором — ребра [г^, /J и U2, 7’2! удаляются из £7 и заменяются ребром [Д, у2]. В обоих случаях получаем новое множество £7 с | £7 | = — 1, что позволяет продол- жить приведенные рассуждения для t = m* — 1, m* — __2, . . . , и т. д. до тех пор, пока не будет построено рас- писание 5 = <(/?!, ft), (/>2» • • • , (Pm*, <1т*У>- В ЭТОМ расписании ни одно pt и qt не равно нулю. Наконец, если £7 Ф Ф и 7?=# 0, то наряду с ситуация- ми б) и в) может иметь место ситуация а). В этом случае в рассматриваемый момент времени t = п — тп*, п — — m* — 1, . . . , 1 необходимо в первую очередь обслу- жить требование к и удалить это требование из множества N. В остальном процесс построения расписания s аналоги- чен ранее описанному. Таким образом, существует расписание s, при котором общее время обслуживания всех требований Т = п — т*. Это расписание является оптимальным, поскольку вели- чина п — т* является нижней границей значений Т на множестве всех расписаний $. Процесс его построения включает определение множества £7, содержащего наи- большее число ребер графа (TV, U), попарно не имеющих общих вершин, и последующее выявление векторов (Рп-т', Qn-m*), (рп-т*-1, qn-m*-a), •••, (Pi, ft) ОПИСаННЫМ ВЫ- ше методом. § 4. Библиографическая справка Вопросы существования оптимальных расписаний без преры- ваний процесса обслуживания рассматривались Р. Мак-Нотоном (линейные функции штрафа) [344] и М. Роткопфом (экспоненциаль- ные функции штрафа) [387]. Теорема 1.1 приведена в [171] и [54], теорема 1.2 — в [171]. Обобщение теоремы 1.2 на случай неодно- временного поступления требований проведено в [56]. Основу § 2 составили работы В. С. Танаева и В. С. Гордона
144 ПАРАЛЛЕЛЬНЫЕ ПРИБОРЫ [ГЛ. 4 Первая из задач § 3 рассматривалась Дж. Рутом [386]. Эта за- дача существенно упрощается, если (х) = ат^ и, в случае неидентичных приборов, время обслуживания tkL = t^HL, к = 1,п, L — 1, М [254]. Вторая задача § 3 рассматривалась в [274]. Случай древовидных порядков рассматривался ранее Т. С. Ху [306]. Дальнейшее развитие эти результаты получили в работах Р. Мюнт- ца и Е. Коффмана [355, 356] (случай М 2, различные t^, разрешены прерывания). Задача минимизации суммарного и мак- симального запаздывания в обслуживании требований рассматри- валась В. А. Хорном [304]. Определению наименьшего числа пре- рываний посвящены работы Б. Н. Панайоти, Л. Я. Пьянзиной и В. А. Чебакова [131], В. А. Таланова [168]. Вопросы существования расписания заданной длины рассмотрены К. Г. Николаевым и Л. Н. Плужниковым [128]. Для построения оптимальных (в основном, по быстродействию) расписаний предложены разнообразные схемы метода «ветвей и границ» [8, 69, 107, 198, 242, 250, 269, 366, 326], динамического программирования [298, 327, 387], приближенные методы [6, 11, 14, 34, 162, 210, 287, 326, 399]. При этом, как правило, рассма- триваются несколько более общие ситуации (приборы неидентич- ны, множество требований частично упорядочено и т. п.). Некоторые вопросы рационального использования ограничен- ного числа операторов, обслуживающих параллельные приборы, рассмотрены В. К. Тютюкиным [181], Е. В. Левнером [97], Э. И. Во- лынским и Л. А. Красиным [38]. Использованию методов линейного программирования для упо- рядочения на параллельных приборах посвящены работы [112, 365, 428].
Г Л А В A 5 ДЕТЕРМИНИРОВАННЫЕ СИСТЕМЫ ОБСЛУЖИВАНИЯ С ДВУМЯ ПОСЛЕДОВАТЕЛЬНЫМИ ПРИБОРАМИ Некоторое множество требований необходимо обслу- жить двумя приборами. Каждый прибор одновременно об- служивает не более одного требования. Для каждого тре- бования указан порядок и характер его обслуживания приборами. Прерывания в обслуживании не допускаются. Необходимо построить в некотором смысле оптимальные (в основном по быстродействию) расписания процесса об- служивания требований. § 1. Последовательное обслуживание Рассмотрим систему, состоящую из двух приборов А и В. На обслуживание в момент времени d = 0 поступают требования множества N ~ {1, 2, . . . , п}. Для обслу- живания требования к = 1, п прибором А необходимо единиц времени, а прибором В необходимо tkB единиц времени. Если обслуживание требования к прибором А начинается в момент времени tkA, то оно протекает непре- рывно до момента времени = tkA + Аналогично, если обслуживание требования к прибором В начинается в момент времени то оно протекает непрерывно и завер- шается в момент времени 1кВ = 1кв + Предполагает- ся, что каждый прибор одновременно не может обслужи- вать более одного требования и каждое требование одно- временно обслуживается не более чем одним прибором. В общем случае не обязательно все требования множест- ва N должны быть обслужены сначала прибором А, затем прибором 5. Обозначим через Nab множество указанных требований. Аналогично, обозначим через Nba множество требований, которые должны быть обслужены сначала прибором 5, затем прибором А. Наконец, пусть Na и Nb — множества требований, которые должны быть обслужены Трдько прибором А или прибором В соответственно. Для
146 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ДВУМЯ ПРИБОРАМИ [ГЛ. 5 любого требования к €= Nab величина tkB > для лю- бого требования к GE Nba величина tkB. Предполагается, что множества Nab, Nba, Na и Nb попарно не пересекаются и N = Nab (J Nba J Na (J* NB. Нас будет интересовать определение таких последова- тельностей обслуживания требований каждым из прибо- ров А и В, при которых общее время обслуживания всех требований будет наименьшим. 1.1. Начнем с рассмотрения случая, когда Nab = N, т. е. все требования множества N сначала обслуживаются прибором Л, затем прибором В. Пусть прибором А требования обслуживаются в после- довательности л = (z\, i2, • • • , in)9 а прибором В — в последовательности л' = (Д, /2, . . . , /п). По условию задачи прибор А может начать обслуживание требования в момент времени d = 0 и требования 1к — после завершения обслуживания требования iK, к = 2, п. Прибор В может начать обслуживание требования к = 2, п, если, во-первых, завершено обслуживание этого требования прибором А и, во-вторых, завершено обслужи- вание требования прибором В. Что касается требова- ния /х, то оно может обслуживаться прибором В после за- вершения его обслуживания прибором Л. Таким образом, > tjiA И tjkB max tjk_1B) при к = 2, п. Общее время обслуживания всех требований Т (л, л') == 1jnB- Величина Т (л, л') достигает наименьшего значения (при фиксированных л и л'), если во всех приведенных соотношениях знак нестрогого неравенства заменить зна- ком равенства. В дальнейшем именно это значение общего времени обслуживания будем обозначать через Т (л, л'). Покажем, что общее время обслуживания не увеличит- ся, если потребовать, чтобы каждый прибор обслуживал требования непрерывно одно за другим. Это условие выполняется для прибора Л, т. е. можно полагать ^ггА ~ iiiA, ii3A = ti3A, • • • , ^inA = ^in_xA* Пусть tjiB = tjiB, . . . ,tjlB = tjt lB И tjl+1B = tjiB + h, где h > 0. Положим t^B = t^B + и hkB — + h для всех Д: = 1, Z. Значение и, следовательно, величина Т (л, л') при этом не изменятся. С другой стороны, требо-
§ 11 ПОСЛЕДОВАТЕЛЬНОЕ ОБСЛУЖИВАНИЕ 147 ванря /1, /г» ••• Ji могут быть начаты обслуживаться при- бором В в моменты времени fy1B, tjiB,..., в соответствен- но, ПОСКОЛЬКУ tjiB — + h t^A + и ^в + + fe > max + h > max (?^л, ?^_хв) для всех k^L Применяя эту процедуру конечное число раз, получаем искомые значения tj в. Таким образом, для определения величины Г (л, л') достаточно рассматривать расписания, при которых как прибор А, так и прибор В обслуживают требовадия множества N непрерывно одно за другим в последова- тельности лил' соответственно. Естественно полагать, что прибор А начинает обслуживать требования в момент времени dA~d— 0. Тогда ^а—О, ~ t^A,* • • , £$па = = ?1П-1Л‘ Значения ?ifcA = tj^A + *^a, fc = l,n. Если при- бор В начинает обслуживать требования в момент време- ни dB, то tjiB = dB,t^B = tjiB ,tjnB = ljn^B- Значения 1^в = h^B + tjKB. к = 1, ft. Следовательно, T (л, л') = dB + n + 2 гДе втоРое слагаемое не зависит от л и л'. Зна- fc=i чение йв-=йв(л, л') = max (Ди(л, л')). Здесь Ди(л, л') = и V—1 = fikA — 3 Ькв и значение v таково, что /„ = iu. к—1 к—1 Для вычисления dB достаточно рассматривать только такие и и v, при которых наряду с выполнением условия ]v = iu выполняется следующее условие. Для любого к', 1 к' v, существует к, 1 к а, такое, что = ifc. Действительно, если и и v не удовлетворяют этому усло- вию, т. е. среди элементов ;х, /2, •••>/» существует эле- мент такой, что j’kt = zr, г то г Ki—1 и —1 2 2 > 2 \а 21зкв- (1-1) к=1 1 fc=i /c=i Покажем, что при любых лил' имеет место соотноше- ние dB (л, л)<^с?в (л, л'), а следовательно, и соотноше- ние Т (л, л) Т (л, л'). Пусть л = (i1? /2, • • • , ^п), Л (/1 = г1» • • • , ] I ~ i /, j l+l i /+l, • • • , ] l + P ~
148 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ДВУМЯ ПРИБОРАМИ [ГЛ. 5 = ii+1, • , in) и л" = (А = j'l = it, /1+1 = — ll+l> Jl+2 — 7 Z+l? • • • > 7z+p = ] l+p-l, ]l+p+l — ]l+p+li • • » • . • » jn = jn)- Пусть u14 u2, . . . , ua — все те значения 1 < и п и г?1? г2, . . . , — соответствующие им зна- чения 1 v тг, при которых и множество {/,, 7 г, • • • » 7vi.} содержится во множестве {г1? i2, . . ., iu k = 1, а. Аналогично, пусть и1? гг2, . . . , wa+1 — все те значения 1 и' п и г1? г2, . . . , г?а+1 — соответствую- щие им значения 1 г/ /г, при которых i • — j > и множество {j19 j2, содержится во множестве {г1? i2, . . . , г ' }, к = 1, a + 1. Не нарушая общности, г _______________________________________ можно полагать ut: = ик для всех к — 1, а и ua+1 = I + 1. Поскольку ик = vk = ик = ик — к при 1 к 7, то Дий(л, л') = Ди'Дл, л") для всех к — 1, I. Если ик^> I, то Ди/г (л, л') — Ди^(л, л") = ^г+1и, следовательно, Дм^(л, л") AUft (л, л') для всех к = I 4- 1, а. Наконец, Ди'а+1(л, л")^Ди/+1 (л, л'). Следовательно, dB (л, л")<;йв(л, л'). Если л" у= л, то аналогичные рассуждения можно про- вести относительно последовательности п". В результате получим последовательность л'", у которой, по крайней ме- ре, первые I + 2 элемента будут совпадать с пе выми I + 2 элементами исходной последовательности л и (л, л") йв (л, л"). Повторяя эту процедуру конечное число раз, приходим к заключению, что с?в (л, л)<^ с?в (л, л'). Таким образом, поиск оптимального по быстродейст- вию расписания последовательного обслуживания п тре- бований двумя приборами можно ограничить рассмот- рением таких ситуаций, при которых каждый прибор обслуживает требования в одной и той же последователь- ности л непрерывно одно за другим. Если последователь- ность л = (г\, z2? • • • , *п)> то общее время обслуживания п всех требований Т (л) = max (Ди (л)) + 2 > где и it—1 Дц (л) — 2 /1—1 1
§ (j ПОСЛЕДОЁАТЁЛЬЙОЁ ОБСЛУЖИЁАЙИЁ 149 Тем самым задача построения оптимального расписа- ния сводится к нахождению перестановки л, которой соот- ветствует наименьшее значение и и—1 dB(jt) •-= max I 2 Ч,л — 2 fi в] • С1’2) '* A-=i J 1.2. Воспользуемся перестановочным приемом. Пусть перестановка лх отличается от перестановки л = (Z1? . . . . . . , ih г;+1, //42, • • • , in) элементов множества N только транспозицией элементов ii и z\+1, т. е. лх = = (*i, . . . , ii+1, ih ii+2, • • • , in)- Найдем достаточ- ные условия, при которых ds (л) ds (щ)-____________ Имеем Ди (л) = Ди (лх) для всех к = 1, Z — 1 и и = = I + 2, л. Следовательно, если max {Дг (л), Дг+Х (л)} < max {Д г (лх), Дг+1 (лх)}, (1.3) или что то же min ttMB) < min (*г-г+1д, *//B), (1.4) TO dB (tt) < dB (лх). Таким образом, если требования v и |х обслуживаются непосредственно друг за другом и min (ivA, ^в) < min (ZM, Ъв), (1.5) то требование v следует обслуживать первым. Иными словами, в этом случае интервал (0, оо) являет- ся интервалом очередности типа v —> р,. Пусть требования V, р и у таковы, что min (ZvA, t^B) < min (Zp.A, ZvB) (1.6) и min (Zp,A, tyB) < min (ZyA, t^B)- (1.7) Покажем, что тогда и min (ZvA, tyB) min (ZyA, Zvb). (1.8) Действительно, если, например, ZvA t^B и Z^A tyB, то из (1.6) следует, что ZvA t^A- Если t^A tyB и ^ya ^в, то из (1.7) t^A tyA. Следовательно, ZvA t-<A и ZvA tyB и неравенство (1.8) справедливо как при /vA tyB, так и при ZvA > tyB-
156 бЙСТЁМЫ ОёсЛужйёаййй с двумя приёораМи (гл. $ Аналогичным образом можно убедиться в справедли- вости этого неравенства во всех остальных случаях. Учитывая результаты § 2 гл. 3, получаем следующую теорему. Теорема 1.1. Общее время последовательного об- служивания требований двумя приборами достигает наи- меньшего значения, если каждый прибор обслуживает тре- бования непрерывно в одной и той же последовательности л = (г1, z2, . . . , zn), удовлетворяющей условию (1.4) при всех I — 1, п — 1. Эта теорема позволяет предложить весьма простой ал- горитм построения оптимального по быстродействию рас- писания обслуживания требований. Сопоставим каждому требованию k е N величину 04. = min (tkA, Среди всех требований множества N выберем требование (или одно из требований) к — кх, которому соответствует наименьшее значение 0fc. Если 0/С1 = tkxA, то требование кг будем обслуживать первым как на приборе А, так и на приборе В. Если 0fcl = то требование кх будем обслу- живать последним как на приборе А, так и на приборе В. Удалим это требование из рассмотрения. Пусть упорядочено обслуживание г требований, при этом гх требований обслуживается первыми в некоторой по- следовательности (i\, i2, • • • , irj, а г2 = г — гх требова- ний — последними в порядке (in_rr^i, . . . , Zn). Среди ос- тавшихся требований выберем требование к = кг+1 с наи- меньшим значением 0fe. Если 0^г+1 — ^г+1д, то требование кг+1 будем обслуживать непосредственно после требования гГ1. Если 0&г+1 — Чг+1в, то требование кг+1 будем обслужи- вать непосредственно перед требованием in-ri+1. В резуль- тате получим последовательность л = (i1? ц), удовлетворяющую условию теоремы. В качестве момен- тов времени начала и завершения обслуживания каж- дого требования На каждом приборе могут быть выбра- ны величины tjiA = 0, + ^г^А, к = 2,П, tilB = = max (Ди (л)), в = + Ьк в, к = 2,п, А = *м+ - я - л - л + tileA, titiB = tjkB + tilsB- При этом как прибор А, так и прибор В будут обслуживать требования непрерывно одно за другим, прибор А начнет обслуживание требований в
§ Н ПОСЛЕДОВАТЕЛЬНОЕ ОБСЛУЖИВАНИЕ 151 момент времени Ла = 0» а прибор В — в момент времени Лв = t^B* Для построения оптимальной последовательности об- служивания требований можно воспользоваться также следующим алгоритмом (см. п. 4.4 § 4 гл. 2). Каждому требованию к поставим в соответствие вели- чину <о (/с) = Sign (^Д — ^в) [М — min (£ы, £fcB)], (1.9) где М > max min (tiA, tiB), и упорядочим требования в порядке неубывания этих величин. В общем случае, первый из приведенных алгоритмов порождает большее число оптимальных последовательнос- тей, среди которых, естест- венно, содержатся все после- довательности, порождаемые вторым алгоритмом. 1.3. Пример. Необхо- димо построить оптимальную (по быстродействию) после- довательность обслуживания шести требований двумя приборами Л и В при условии, что каждое требование обслуживается сначала прибором Л, затем прибором В. Совмещение процессов обслуживания одного и того же требования обоими приборами не допус- кается. Времена обслуживания требований каждым при- бором приведены в табл. 5.1.1. Используя первый из приведенных алгоритмов, полу- чаем 0Х = 2, 02 = 1, 03 = 3 , 04 = 4, 0б = 4, 0в = 2. Поскольку min 0Л = 02 = то требование 2 можно обслуживать последним. Среди оставшихся требований наименьшее значение 0к соответствует требованиям 1 и 6, причем 0Х = tlA и 06 = ~ ^6А* Первыми в оптимальной последовательности можно об- служивать требования 1 и 6 в произвольном порядке. Среди еще не рассмотренных требований наименьшее значение соответствует требованию 3, причем 03 = t3B. Требование 3 можно обслуживать предпоследним. Наконец, 04 = 05 = 4, причем 04 = t^A = Чв, а 05 = = ^54-
152 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ДВУМЯ ПРИБОРАМИ [ГЛ. 5 Получаем в результате четыре оптимальные последова- тельности лх = (1, 6, 4, 5, 3, 2), л2 = (1, 6, 5, 4, 3, 2), л3 — (6, 1, 4, 5, 3, 2) и л4 = (6, 1, 5, 4, 3, 2). Общее время обслуживания равно 27. Используя второй алгоритм, полагая, для определен- ности, М = 10, получаем со (1) = — 8, со (2) = 9, со (3) = = 7, со (4) =0, со (5) = — 6, со (6) = — 8. Следователь- но, оптимальными последовательностями являются л2 и л^. Отметим, что в условиях этого примера существуют и другие оптимальные последовательности, например л5 = = (1, 4, 6, 5, 3, 2). 1.4. Прежде чем перейти к рассмотрению общего слу- чая, сделаем несколько замечаний. Если Nba = N, т. е. каждое требование сначала об- служивается прибором В, затем прибором А, то все ут- верждения предыдущего пункта остаются справедливыми, если приборы А и В поменять ролями. В частности, при обслуживании требований обоими приборами в последо- вательности л — (ix, i2, . . . , zn), удовлетворяющей для всех I = 1, п — 1 условию min til+1A) < min ,ti(A), (1.10) получаем наименьшее значение общего времени обслужи- вания всех требований. Если хотя бы одно из множеств Na и Nb непусто, то все эти требования можно отнести или ко множеству Nab, или ко множеству Nba, полагая = 0, если к ЕЕ Na, и ^а = 0, если к Е= Nb- Следовательно, построение оптимальной по быстродей- ствию последовательности обслуживания требований не вызывает особых затруднений, если Nab = Ф или Nba = = 0- Пусть Nab ф Ф, Nba Ф, прибором А необходимо обслужить тгх требований, прибором В необходимо обслу- жить п2 требований. Обозначим через Т (л, л') наименьшее время обслуживания всех требований при условии, что прибор А обслуживает требования в последовательности л == G’i> it, - - - , ini), а прибор В — в последовательное- ти л' = /2, . . . , ]П!). Последовательности л и л' не могут быть произвольны- ми, Будем говорить, что последовательности лил' непро-
§ 11 1Г0СЛЕД0ВАТЕЛЬЙ0Е ОБСЛУЖИВАНИЕ 153 тиворечпвы, если пе существует такой пары требований v €= Nab и [1 Е N в а, порядок обслуживания которых прибором А противоположен порядку их обслуживания прибором В и требование р, прибором А обслуживается первым. Если лил' непротиворечивы, то им соответствует бес- конечно много расписаний процесса обслуживания требо- ваний, определяемых в рассматриваемом случае заданием моментов tkA и tfB времени начала обслуживания каждого требования каждым прибором. Обозначим N'ab = Nab U Na и A/'ba = NBa IINB- Если то titA = йд>0, в противном случае Вн- если /1 G= N'ba, то tjlB = dB > 0, в противном случае tjiB > > 7дд- Для всех к = 2, пх значение <{/£д > ^ik-xA’ если ф n'ab, И max (Бл_ха, 7i/fB), если гле NBa- Аналогично, для всех к = 2, п2 значение tj^ > ?Xfc_1B, если Jh^N'ba, и ^(.в>тах (?^._1В, если jk G NAb- Значения а = h л + Ц а для всех к = 1, пг и 7; в = t} в + + t^B для всех к = 1, п2. Набор значений t^A и ^в, удовлетворяющих перечис- ленным неравенствам, определяет некоторое допустимое расписание. Общее время обслуживания требований равно max (?гП1л, Чпв) и достигает наименьшего значения (при фиксированных л и л'), если набор значений и t^p> удов- летворяет всем этим неравенствам как равенствам. Пусть в последовательности л = (г1? г2, • • • » 1*Л1) требование гг е Nba, требование г/+1 е NAb и л = = ... , г’г+i, г’г+г» ... , im)- Покажем, что Г (л, л') < Т (л, л'). Если tikA и t^B — моменты времени начала обслужива- ния требований при обслуживании их в последовательнос- ти л на приборе А и последовательности л' на приборе В, то длина временного интервала ^z+1a) не меньше ^za + + Рассмотрим расписание, при котором требование i/+1 на- чинает обслуживаться прибором А в момент времени £ч+ха а требование начинает обслуживаться
154 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ДВУМЯ ЙРЙБОРАМИ [ГЛ. § в момент времени Л^д — tilA Ц- ^/+1А. Значения осталь- ных tifcA и tjkB сохраняются неизменными. Это расписание допустимо, поскольку ^/+1а = ^/+1д + + ^z+1A<C7iZ+iA< если Nab, и tilA > tjlA > > “i^B, если IiEzNba- Общее время обслуживания требо- ваний при этом не больше Т (л, л'). Аналогично можно показать, что если /г s Nab и Л+1 ЕЕ Nba, то, обслуживая требования прибором В в после- довательности л' = (Д, /2, • • • , 7i-i, Л+1» /ь 7z+2, • • м 7п«)» получаем Т (л, л') <; Т (л, л'). Таким образом, в дальнейшем можно рассматривать только такие последовательности лил' обслуживания тре- бований, при которых прибор А сначала обслуживает тре- бования множества NAb, затем — требования множества Nba, а прибор В сначала обслуживает требования множест- ва Nba, затем — требования множества Nab- Поскольку NAb П Nba = Ф, то прибор А может об- служивать требования множества Nab непрерывно одно за другим, начиная с момента времени dA = 0, а прибор В может обслуживать требования множества Nba непрерыв- но одно за другим, также начиная с момента времени (1в = 0. Аналогично п. 1.1 можно показать, что общее время об- служивания всех требований не увеличится, если потребо- вать, чтобы прибор А непрерывно обслуживал требования множества Nba, начиная с некоторого момента времени dA^, л'), а прибор В непрерывно обслуживал требования множества Nab, начиная с некоторого момента времени d'e (л, л'). Очевидно, йд > 2 и > У Об- щее время обслуживания всех требований Т (л, л') = = шах (л, л') + <4(л,л')+ • feNBA fe^AB Таким образом, решение исходной задачи сводится к рассмотрению двух однотипных задач оптимального (по быстродействию) упорядочения требований. В первой не- обходимо упорядочить обслуживание требований множе-
§ 11 ПОСЛЕДОВАТЕЛЬНОЕ ОБСЛУЖИВАНИЕ 155 ства Nab (полагая = 0, если Ле /Уд), во второй — обслуживание требований множества Nba (полагая tkA = = 0, если к е Nb)- Обе задачи относятся к классу задач, рассматриваемых в п. 1.2. Отметим, что если йд(л, л') = Ча + h, А^>0, то fee N А.в <1'в{Л,л') == 2 и ®ез Увеличения (Л, л') можно по- fceNBA дожить dA = h. Аналогично, если dB (л, л') = У + nba + fe, h > 0, то dA (л,л') = и можно положить dB = h. ^nab В обоих случаях каждый прибор будет обслуживать тре- бования непрерывно одно за другим: прибор А, начиная с момента времени йд, а прибор В, начиная с момента времени Тем самым доказана Теорема 1.2. Общее время обслуживания требова- ний множества N — Nab U Nba (J ^а U NB приборам и А и В достигает наименьшего значения, если прибор А об- служивает требования в последовательности Nab, Na, Nba, а прибор В — в последовательности Nba, Nb, Nab- Требования множества NAb упорядочены согласно условию (1.4), требования множества Nba — согласно условию (1.10), требования множеств Na и Nb упорядочены произ- вольным образом. При этом каждый прибор может обслу- живать требования непрерывно одно за другим. 1.5. Пример. Рассмотрим задачу построения опти- мального по быстродействию расписания обслуживания десяти требований, условия обслуживания которых при- ведены в табл. 5.1.2. Упорядочим требования множества Nab так, чтобы соответствующая последовательность л {Nab) удовлетво- ряла условию (1.4). Используя алгоритм п. 1.2, получаем я {Nab) = (1, 4,2, 3). Упорядочим требования множества Nba так, чтобы соответствующая последовательность удов- летворяла условию (1.10). Получаем л {Nba) = (7, 6, 5). Согласно теореме 1.2 прибор А может обслуживать тре- бования в последовательности л =? (1, 4, 2, 3, 8, 7, 6, 5),
156 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ДВУМЯ ПРИБОРАМИ [ГЛ. 5 Таблица 5.1.2 nab ^ВА к 1 2 3 4 5 6 7 8 9 10 ^А 1 4 2 2 1 3 2 1 — — 1кВ 3 2 1 3 2 4 1 — 2 3 а прибор В — в последовательности л' = (7, 6, 5, (9, 10), 1, 4, 2, 3). Если прибор А начинает обслуживание требований в момент времени dA и обслуживает их непрерывно одно за другим, то обслуживание всех требований этот прибор за- вершает в момент времени йд + 16. Аналогично, прибор В завершает обслуживание всех требований в момент време* ни (1в + 21, где dp —момент времени начала непрерыв- ного обслуживания требований этим прибором. По- скольку = 9 < Ьв = 12 и 2 = 7 < ЛеЛГАВ < 2 ifiA “ т0 можно положить dA == dB — 0 и, ^^АВ следовательно, Т (л, л') = 21. § 2. Параллельно-последовательное обслуживание Задача построения оптимальных по быстродействию расписаний обслуживания требований двумя последова- тельными приборами в значительной степени усложня- ется, если допустить частичное совмещение во времени процессов обслуживания требований. На практике такого рода ситуации имеют место каждый раз, когда под требо- ванием понимается, например, партия деталей, требующих обработки сначала па одном станке, затем на другом. В этом случае отдельная деталь из рассматриваемой партии деталей может, вообще говоря, обрабатываться на втором станке спустя некоторое время (связанное с ее транспор- тировкой и установкой) или непосредственно после завер- шения ее обработки на первом станке*
§ 2] СОВМЕЩЕННОЕ ОБСЛУЖИВАНИЕ 157 2.1. Обозначим через tkA и tkB время обслуживания требования к = 1,п приборами А и В соответственно. Пусть каждое требование обслуживается, начиная с при- бора А. Если требование к начинает обслуживаться при- бором А в момент времени tkA, то момент времени начала его обслуживания прибором В tkB > tkA + g;f, где %к > 0 — данное число. Будем предполагать также заданны- ми наименьшие допустимые промежутки времени > О и б®/ > 0 между моментами времени начала обслуживания требований к и I приборами А и В соответственно при ус- ловии, что требование к начинает обслуживаться первым. Пусть хкА > 0 и хкВ >0 — заданные моменты времени, раньше которых не может быть начато обслуживание тре- бования к приборами А и В соответственно. Если положить____%к = 8к1 = 1кА, 6^ = t>liB и хкА = = Ч-в = 0, к, I == 1, п, то получим ситуацию, описанную в предыдущем параграфе, п. 1.1. Найдем наименьшее общее время Т (л, л') обслужива- ния всех требований при условии, что прибор А обслу- живает требования в последовательности л = (j1? Z2,... jn), а прибор В — в последовательности л' = (/1? j2,..., jn). По условию требование 1± может быть начато обслужи- ваться прибором А в момент времени ^д-=Ч1Д,требование i2— в момент времени tiiA = тах(Тг2д, h1A + требование i3 — в момент времени ZiaA = max (rijA, t^A + t_itA + 6^3) и т. д., наконец, требование in — в момент времени = max(TinA,filA + 6&n,.... £{n_x + <_xin). Самый ранний момент времени обслуживания требова- ния /х прибором В равен t^B = max tjlA 4- ЕД требо- вания ja равен tjiB = max (TjlB,thA + + 63®-2) и т. д., требования j„ равен tjnB = max (Впв33-па + gjn, tJiB + Величина Т(л,л') = max (7;.д, ?,• в), где ?{..а = ^,,.а + 1</с<п л л “ - h + tif.A И tjkB = tj^B + f^B- В общем случае последовательности лил', которым соответствует наименьшее значение Т (л, л'), различны. Тем самым при построении оптимального расписания
158 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ДВУМЯ ПРИБОРАМИ [ГЛ. 5 необходимо рассмотреть (п!)2 возможных вариантов с по- следующим выбором наилучшего. 2.2. Сформулируем достаточные условия, при которых неравенство Т (л, л) Т (л, л') выполняется для любых л и л'. Не нарушая общности рассуждений, будем полагать л = (1, 2, . . . , и) и л' = (л, /2, . . . , /п). Если при любых i^k^l^r^n имеют место не- равенства бЙ^бн + Sfcr И Т/а— (2.1) то значение /с-1 tkA = T'lA + 2 ®Ц+1 * (2*2) 1=1 Аналогично, если при любых l^k^l^r^n имеют место неравенства Sfcr + 6н и TfcB — Т/сД 5/с? (2.3) то значение к—1 = max (tjrA + %jr + 2^^+iV (2.4) 1<г</с i~r 1 * Следовательно, при выполнении условий (2.1) и (2.3) имеем к—1 Т (л, л ) = max (тха + 2 4" ^ia4* i^r</c<n х 1=1 ir-1 к-1 + 2 + ljr + 2 + tjkBY (2.5) 1=1 l=r Потребуем, чтобы при любых 1 к Ф I п выпол- нялись неравенства tkA — tkB <1 5/с И ffcB — tlB S^/. (2.6) Тогда i/-1 n-i T (л, л') = тах(тХА+ 2 + 2^fz, iI+i + ^?гв). l<r<n Z=1 z_r (2-7)
§ 2] СОВМЕЩЕННОЕ ОБСЛУЖИВАНИЕ 159 Теорема 2.1. Если при параллельно-последователь- ном обслуживании требований двумя приборами выпол- няются условия (2.1), (2.3), (2.6), 8ы = и < для всех 1 < к I п, то Т (л, л) Т (л, л'), где лил' — произвольные последовательности обслужи- вания требований приборами А и В соответственно. Доказательство. Не нарушая общности рас- суждений, по-прежнему будем полагать л = (1, 2,..., п). Пусть л — (/1, ..., jp-i, jp, ...» Jp+ш • ••> 7п)> гДе jt = Z, I = 1, p — 1, jp=£ P> 1p+u = P- Обозначим л' = (1, 2, ..., p — 1, /?, jp, ..., jp+u-ii jp+u+ii • ••> 7n)- Для доказательства теоремы достаточно показать, что Т(л, л')< Т (л, л'). В рассматриваемом случае 7г-1 п Т(л, л') = max (tia + 2 i+i + “Ь 2 • (2-8) 1<г<п 1=1 1=г Аналогично можно записать выражение для Т (л, л'). По построению единственной компонентой в выражении для Т (л, л'), значение которой увеличивается при пере- ходе к последовательности л', является компонента с г =р. По предположению 6$ для всех 1 к Ф jp 1 =/= I п и, следовательно, 2 8г, г+1. Таким образом, среди компонент в выражении для Т (л, л') существует компонента с г = /р, значение которой не меньше значения компоненты с г = р в выражении для Т (л, л'). Теорема доказана. Эта теорема позволяет в некоторых случаях ограничить поиск оптимального по быстродействию расписания про- цесса обслуживания требований двумя приборами рас- смотрением только таких расписаний, при которых тре- бования каждым прибором обслуживаются в одной и той же последовательности. 2.3. В качестве примера рассмотрим задачу оптималь- ного упорядочения обслуживания п требований, каждое к-е из которых сначала обслуживается прибором А в те- чение единиц времени, затем прибором В в течение единиц времени. В каждый момент времени как прибор А,
160 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ДВУМЯ ПРИБОРАМИ [ГЛ. 5 так и прибор В обслуживает не более одного требования. Предполагается, что между моментами времени начала обслуживания этого требования приборами А и В должно пройти не менее > 0 единиц времени. Если то процессы обслуживания требования к двумя приборами могут совмещаться во времени. Если то эти про- цессы не могут совмещаться во времени, а при 3> между моментом завершения обслуживания требования к прибором А и моментом времени начала его обслужива- ния прибором В должно пройти не менее — tkA единиц времени. В последнем случае величина — tkA может означать, например, время, необходимое для транспор- тировки или передачи требования к с прибора А на при- бор В. Пусть п — 2, t-^A — t^A = t^B = 3, t±B “ 2, = 8, ?2 = 2. Если обслуживать требования в одной и той же последовательности обоими приборами, то общее время их обслуживания не менее 13. Если прибором А обслуживать сначала требование 1, затем требование 2, а прибором В — сначала требование 2, а затем требование 1, то наимень- шее общее время обслуживания равно 10. Таким образом, в условиях рассматриваемой задачи при построении оп- тимального по быстродействию расписания следует, во- обще говоря, перебрать (п!)2 возможных последователь- ностей обслуживания требований. Используя приведенную теорему, можно сформули- ровать достаточно простые и часто реализуемые на прак- тике условия, при выполнении которых нет необходимости рассматривать последовательности обслуживания требо- ваний прибором В, отличающиеся от последовательности их обслуживания прибором А. Действительно, поскольку ^кА = 1>кВ ~ 0, $к1 = tkA, 6к1 = tkBi 1 к '=/= I TI, TO T (л, л) T (л, л') для любых л и л', если — tkA — — tkB для всех 1 к Ф I п. Эти условия содержательно означают, что если про- цессы обслуживания одного и того же требования к дву- мя приборами могут совмещаться во времени (случай <" ^д), то процесс обслуживания этого требования при- бором А должен завершиться во всяком случае не позднее, чем процесс его обслуживания прибором В. Если прибор В не может начинать обслуживание требования к непо- средственно после завершения процесса обслуживания это-
§ 2] СОВМЕЩЕННОЕ ОБСЛУЖИВАНИЕ 161 го требования прибором А (случай то заданное минимальное время %к — tkA транспортировки (проле- живания) требования к не должно превышать значений остальных требований. В частности, если для всех требо- ваний lk > tkA, то время транспортировки каждого от- дельного требования должно быть не больше времени об- служивания прибором А любого из остальных требований. 2.4. Опишем отдельные классы задач, решение которых требует просмотра и оценки сравнительно небольшого числа конкурентноспособных вариантов. На двух машинах А и В в порядке АВ требуется обра- ботать п комплектов деталей (в комплект входят одина- ковые детали). Каждый комплект деталей обрабатывается как машиной А, так и машиной В непрерывно. Время обработки fc-ro комплекта деталей на машинах А и В равно tkA и tkBi а время обработки одной детали этого комплекта 0/^а и &кв соответственно. Детали обрабаты- ваются каждой машиной в одной и той же последователь- ности, причем одновременно каждая машина обрабаты- вает не более одной детали. Требуется найти такой поря- док запуска комплектов деталей в обработку, при котором общее время обработки всех деталей наименьшее. В рассматриваемом случае 6kt = tkA, Sw = ^в, тц — = TfcB = 0, J-fc = max (0Ы, tkA + 0/св — tkB), 1 < к ф I Если комплекты деталей на каждой машине об- рабатываются в одной и той же последовательности л — = (ii, ц, •••> zn) (h— номер комплекта, обрабатываемого А-м по порядку), то наименьшее общее время обработки всех деталей U Т (л) = max Г 2 + l<U<n п + max (0{ив, tiuB + 0iuA — tluA) + 2 ^в]. (2-9) Таким образом, задача сводится к нахождению после- довательности л, которой соответствует наименьшее зна- чение функции и Т (л) = шах Г 2 (tikA — ^гкв) + 4- max (0{ив, ^ив + 0iuA ^wa)j • (2.10) 6 В. С. Танаев, В. В. Шкурба
162 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ДВУМЯ ПРИБОРАМИ [ГЛ. 5 Полагая ак = tkA — tkB, = max (0^.в, tkB + бы — tkA) для всех к — 1, п, на основании теоремы 4.2 гл. 2 комплекты следует запускать в обработку в порядке неубывания их весов: <0 (к) = sign ak [М.— min (а* + (ik, JJk)J. Отметим, что общее время обработки всех деталей, вообще говоря, можно уменьшить, если эти детали обрабаты- вать на машине В не обязательно в той же последова- тельности, что и на машине А. Однако и в этом случае указанное правило приводит к получению оптимального по быстродействию расписания, если для всех 1 fc =/= Ф I п выполняются неравенства max (0kA — 0kB — fkB) < tlA 4- max (0iA — tlA, 0iB — tlB), (2.11) что непосредственно следует из теоремы 2.1. 2.5. Аналогично решается задача групповой обработ- ки деталей на двух взаимосвязанных рабочих местах А и В. Эта задача состоит в определении такого порядка за- пуска в обработку групп и подгрупп каждой группы деталей, при котором общее время обработки всех дета- лей наименьшее. Число групп п; каждая группа к состоит из пк подгрупп деталей к^ к2, ..., кп^ Времена обработки групп и подгрупп деталей на рабочих местах А и В изве- стны и равны соответственно tkA, tkB, tkjA и ^.в. При определении очередности запуска в обработку подгрупп деталей fc-й группы задача сводится к опреде- лению последовательности = (j19 j2, ..., jnft), которой соответствует наименьшее значение функции и — max 3 (2.12) Пусть Ate = max [0, min Lk (лк)]. Для определения по- следовательности запуска в обработку групп деталей до- статочно найти последовательность л = (pl9 р2, ..., рп), которой соответствует наименьшее значение функции и—1 L(n)= max Г 2 • (2.13) l<U<n 1 -J
$ 21 СОВМЕЩЕННОЕ ОБСЛУЖИВАНИЕ 163 Используя теорему 4.2 гл. 2, получаем следующее пра- вило оптимального упорядочения. Каждой группе к де- талей приписать вес со (к) = sign (tkA — tkB) УМ — — min (Д&, Цв — tkA + каждой подгруппе kt — вес' со (kJ = sign (tk.A — tk.B) (M — min (0, tk.A — tk.B)]. Каждую группу деталей и каждую подгруппу в группе запускать в обработку в порядке неубывания весов. 2.6. Рассмотрим несколько более общую, по сравнению с описанными в предыдущем пункте, задачу оптимальной организации параллельно-последовательного обслужи- вания требований. Пусть выполняются условия теоремы 2.1 и, кроме того, 8ki = 8к, 1 к I п. Общее время обслужи- вания всех требований достигает наименьшего значения, если требования обслуживаются обоими приборами в одной и той же последовательности. Наименьшее время обслуживания всех требований при условии, что эти требования обслуживаются в последовательности л = = (гх, г2> •••> равно и—1 п Т(л) = шах 2 ^4 + • (2-14) Если известно, какое именно требование в последо- вательности л обслуживается первым (пусть, например, = у), то задача нахождения оптимальной по быстродей- ствию последовательности обслуживания требований сво- дится к задаче минимизации функции и t («il=v) = max Г2 (б£ - ^в) + < + ^в!, (2.15) где л?1=у — перестановка элементов множества N — = {1, 2, п} вида(р, in). Полагая ак = — 4лв> 0л = £л — бл + £лв и ис- пользуя теорему 4.2 гл. 2, получаем следующее правило оптимального упорядочения. Каждому требованию к при- писать вес (О (к) = sign _ tkB) \М - min Лл - 6л + Mb 6*
164 СИСТЕМЫ ОБСЛУЖИВАНИЯ С ДВУМЯ ПРИБОРАМИ [ГЛ. 5 Вычислить наименьшее общее время обслуживания требований при условии, что первым обслуживается тре- бование v=l,2, ..., п, а остальные требования обслужи- ваются в порядке неубывания их весов. В качестве иско- мой следует выбрать ту из рассмотренных п перестановок Л[1==г, которой соответствует наименьшее значение Т (Лг1==и). 2.7. Рассмотрим конкретный пример, в котором тре- буется упорядочить обслуживание пяти требований двумя Таблица 5.2.1 к хкА ткВ о» хв — 1 °1с ~ 1кВ <0 (к) 1 0 5 6 1 8 5 7 2 2 0 2 4 3 3 —7 3 0 3 5 2 5 6 8 4 1 2 8 3 2 5 13 5 0 4 3 4 6 4 —4 приборами А и В. Все параметры и значения весов этих требований приведены в табл. 5.2.1. Непосредственной проверкой-можно убедиться, что ус- ловия теоремы 2.1 выполняются и для всех 1 к =/= I п. Следовательно, достаточно рассмотреть пять пере- становок лг-1==1 = (1,2, 5, 3, 4), — (2, 5, 1, 3, 4),
§ 3] БИБЛИОГРАФИЧЕСКАЯ СПРАВКА 165 я.1=3==(3, 2, 5, 1, 4\ Jtil=4=(4, 2, 5, 1, 3) и лн=5 = = (5, 2,1,3, 4). Соответствующие значения Г (jii1==p) рав- ны 23, 23, 22, 30 и 21. Таким образом, требования необходимо обслуживать в последовательности (5, 2, 1, 3, 4). Общее время обслу- живания при этом равно 21. График соответствующего расписания приведен на рис. 5.2.1. § 3. Библиографическая справка Теорема 1.1 известна в литературе как теорема Веллмана — Джонсона [236, 237, 313]. Теорема 1.2 доказана Дж. Джексоном [310, 109, 224], теорема 2.1 — С. А. Баркан [12]. Изучению параллельно-последовательных процессов обслужи- вания посвящены работы Л. Дж. Миттэна [350], В. Шварца [416], И. Набешимы [359], С. М. Джонсона [314], Ф. И. Парамонова [132]. Обобщение этих результатов содержится в работах В. С. Танаева [170] и Е. В. Левнера [95]. Алгоритм определения всех оптимальных расписаний описан в [73], классификация задач Веллмана — Джонсона с двумя по- следовательными приборами приведена в [99]. В. Я. Бурдюк и Т. А. Мазня [25], Б* А. Власюк [35] рассмотре- ли естественное обобщение задачи двухстадийного обслуживания в предположении, что на каждой стадии имеется несколько парал- лельно работающих приборов. В [223] приведен алгоритм построения последовательности об- п служивания, минимизирующей . величину 2 wilPb где — общее г=1 время пролеживания i-ro требования в ожидании обслуживания, Pi — общее время его обслуживания на обоих приборах. Следует отметить также работы [225, 399]. В работах [24, 321, 337] рассматриваются стохастические ва- рианты задачи двухстадийного последовательного обслуживания.
ГЛАВА 6 М ПОСЛЕДОВАТЕЛЬНЫХ ПРИБОРОВ. ОДИНАКОВЫЕ МАРШРУТЫ Рассматривается задача построения оптимального по быстродействию расписания последовательного обслужи- вания п требований М приборами. Каждое требование об- служивается сначала прибором 1, затем прибором 2 и т. д., наконец, прибором М. Время обслуживания тре- бования к прибором L равно Предполагается, что все требования обслуживаются каждым прибором в одной и той же последовательности. Каждый прибор обслужи- вает одновременно не более одного требования и присту- пает к обслуживанию каждого очередного требования пос- ле завершения предыдущего без неоправданного простоя. В § 1 приводятся формулы расчета общего времени об- служивания всех требований при различных допущениях относительно характера их обслуживания. В § 2 описы- вается один из вариантов метода ветвей и границ. В § 3 рассматриваются специфические условия, позволяющие исключить из рассмотрения заведомо бесперспективные варианты обслуживания. В § 4 исследуются некоторые ча- стные случаи рассматриваемой задачи. § 1. Общие замечания 1.1. Задача построения оптимального (по быстродей- ствию) расписания последовательного обслуживания п требований^ М приборами существенно усложняется при переходе от М = 2 приборов к числу приборов М^>2. В этом случае последовательность обслуживания тре- бований одним прибором при оптимальном расписании, вообще говоря, отличается от последовательности их об- служивания другими приборами. Однако можнп показать, что существует оптимальное расписание, при котором прибором 1 требования обслу- живаются в той же последовательности, что и прибором 2, а прибором М в той же последовательности, что и при- бором М — 1, Поиск оптимального расписания, таким об-
ОЁЩИЁ ЗАМЁЧАЙЙЯ <6? разом, можно ограничить рассмотрением (n!)M~2 вариантов обслуживания требований. В частности, если М = 3, то оптимальное расписание можно искать в классе расписа- ний, при которых каждый прибор обслуживает требования в одной и той же последова- тельности. Если М > 4, то, как показывает простой при- мер (значения Ьъ при- ведены в табл. 6.1.1), опти- мальным расписанием может быть расписание, при кото- ром приборы обслуживают требования в разных после- довательностях. В рассмат- риваемом случае приборы 1 и 2 должны обслуживать тре- бования в последовательности (1, 2, 3), а приборы 3 и 4 — в последовательности (2, 1,3). График этого расписа- ния приведен на рис. 6.1.1. В отличие от рассмотренного в гл. 5, § 1, п. 1.1 случая М = 2 в общем случае условие непрерывности обслужива- ния требования каждым прибором (за исключением при- боров 1 и М) может привести к увеличению общего времени их обслуживания. Мы ограничимся рассмотрением ситуаций, в которых все требования обслуживаются каждым прибором в одной и той же последовательности. Если при этом потребовать,
168 М ПРИБОРОВ. ОДИНАКОВЫЕ МАРШРУТЫ [ГЛ. 6 чтобы каждый прибор приступал к обслуживанию оче- редного поступающего к нему требования сразу после завершения обслуживания предыдущего требования, то расписание однозначно определяется заданием последо- вательности л = (i1? i2, in) обслуживания требо- ваний. 1.2. Если требования обслуживаются каждым прибо- ром в последовательности л = (i1? f2, ..., in), то момент времени начала обслуживания требования прибором 1 равен £гп= 0, а требования Нравен = к = 2, и. Аналогично, l-i и £ l = шах (tikL-4, 7ifc_1L), к = 2, n, L = 2, М. Здесь + + tikL — момент времени завершения обслуживания тре- бования ik прибором L. Обозначим через Т (л) наименьшее общее время обслу- живания всех требований при обслуживании их каждым прибором в последовательности л. Очевидно, Т (л) = м • Зависимость Т (л) от и л можно записать в виде Т (л) = шах Г 2 *гк1 + ил п + 2 ^i/f2 + • • • + 2 - (1*0 k—ui k=wAf-i Нас будут интересовать вопросы, связанные с построе- нием последовательности л*, которой соответствует на- именьшее значение Т (л). 1.3. Определенный практический интерес представ- ляют ситуации, в которых необходимо соблюдать одно из двух дополнительных условий — каждый прибор дол- жен обслуживать требования непрерывно одно за другим или каждое требование должно обслуживаться непрерыв- но одним прибором за другим. В первом случае общее время обслуживания равно М—1 и и—1 п Г(л)= 2 max 2 *ifcL+l| + (I-2) L=1 Lfc=l k-1 J k=l
$ 2] КОНСТРУКТИВНЫЙ подход 169 Во втором случае общее время обслуживания равно п-1 U U—1 М Т"(л) = S max [ 2 — 2 ^t+iL] + S (13) fc=1 l^U^M LL==1 L=1 J L=1 Величину Т"(л) можно рассматривать в качестве длины гамильтонова контура (0, л, 0) в полном графе с верши- нами {0, 1, .... п}, если длины li} его дуг (г, j) положить м и и—1 равными /о; = о, li0 — 2 kj = max I 2 — 2 I ' L=1 Ll=1 L=i Следовательно, для построения последовательности с наименьшим значением Т" (я) достаточно решить соот- ветствующую задачу коммивояжера. § 2. Конструк тинный подход В основе методов последовательного конструирова- ния, анализа и отсеивания вариантов лежит идея по- шагового построения решения. Если при таком последо- вательном конструировании на основании некоторых свойств решения можно ввести понятия «доминирования» одних вариантов над другими, «перспективности» одних вариантов перед другими, оперируя отдельными, постро- енными частями этих вариантов, то тогда удается разра- ботать простые вычислительные схемы отыскания опти- мального варианта. В этом параграфе мы рассмотрим одну из схем после- довательного конструирования оптимальной последова- тельности л* обслуживания п требований множества N — {1, 2, ..., п} М приборами. Эта схема получила наз- вание схемы ветвей и границ. 2.1. Процесс построения искомой последовательности можно представить как процесс пошагового «развития» частичной (возможно пустой) последовательности б обслу- живания некоторых требований из N до полной последова- тельности л обслуживания всех требований N. Подобное «развитие» может проводиться по различным «направле- ниям» путем приписывания справа различных элементов из N. Естественно, что дальнейшему развитию должна под- вергаться та из рассматриваемых на данном шаге частич-
170 М ПРИБОРОВ. ОДИНАКОВЫЕ МАРШРУТЫ [ГЛ. 6 ных последовательностей, развитие которой представляет- ся наиболее перспективным. Способы оценки перспек- тивности частичных последовательностей в рассматривае- мом случае весьма разнообразны. Они отличаются друг от друга как по сложности, так и по точности вычисления оценок. В схемах последовательного анализа вариантов выбор того или иного метода обусловлен двумя противоре- чивыми обстоятельствами. Во-первых, уточнение оценок позволяет обычно сократить процесс ветвления. Во-вто- рых, всякое уточнение сопряжено с увеличением объема вычислений, что может привести к компенсации выигрыша, получаемого от сокращения процесса ветвления. Мы приведем описание одного из методов вычисления оценок для случая М = 3. Обобщение на случай М > 3 не вызывает особых затруднений и может быть проведено читателем самостоятельно. Обозначим приборы через Л, В и С. Каждое требова- ние сначала обслуживается прибором А в течение ак еди- ниц времени, затем прибором В в течение Ьк единиц време- ни, наконец, прибором С в течение ск единиц времени. Если требования множества 7? CZ N обслуживаются в последовательности б == (i19 ..., jr), г = | $ |, а остальные требования обслуживаются в последователь- ности б' = (ir+1, ir+2, ..., in), то общее время обслу- живания всех требований равно Ut U2 п Т(р,<з')= max Г 2 aik + 2Ч+ S сч] • (2Л) k=ui к=иг Прибор А завершает обслуживание требований мно- жества 7? в момент времени г Гд(о)=2«1г (2-2) к=1 Прибор В завершает обслуживание требований мно- жества 7? в момент времени и г Тв (о) =7тах Г 2 а^+ 2 bik 1. (2.3) l<U<r Lfc=l fa=u J
5 21 КОЙСТРУКТИВНЫЙ ПОДХОД 471 Прибор С завершает обслуживание требований мно- жества N в момент времени Тс (з) = max I 2 <hk + S Ч + 2 сJ • <2-4) Lfc=i k=ui k=u2 Определим оценку упр (б) последовательности б (по приборам), полагая Та (з) + 2 ак + min~ (Ьк ск), уп_(с) = max1 2 Ьк+ minck, (2.5) Тпр' ’ к<=н\Я Гс (о) + 2 ск- , ksN\N Очевидно, упр (з) < Т (б, б'). Аналогично определим оценку угр (б) последователь- ности б (по требованиям), полагая ТА (з) 4- max Га; + Ьг + ск + 2 min (ак, ск)1, TTD(6) = max'2’B(0) + malh + ci+ 2 mjn(&fc, с*)], *PV/ i&VXNL fceN\N 7c (6) + 2 ci- i&N\N (2.6) Очевидно, утр (б) < T (б, б'). Таким образом, в качестве нижней оценки у (б) значе- ний Т (б, б') при различных б' может быть выбрана лю- бая из величин уПр (с) или утр (б). При вычислении обеих этих величин в качестве у (б) естественно выбрать наи- большую из них. В результате некоторого усложнения формул вычис- ления упр (о) и утр (б) могут быть получены более точные нижние оценки yjo) значений Т (б, б'). Конструирование оптимальной последовательности включает построение частичных последовательностей,
172 М ПРИБОРОВ. ОДИНАКОВЫЕ МАРШРУТЫ [ГЛ. е оценку этих последовательностей, выбор для последующего «развития» наиболее перспективной частичной последова- тельности и ее «развитие» по возможным направлениям. Этот процесс является, по существу, процессом после- довательного разбиения множества всех п\ возможных пе- рестановок на подмножества и вычисления нижних оценок значений оптимизируемой функции на каждом из этих подмножеств. При этом к од- ному подмножеству относят- ся все перестановки, начина- ющиеся с одной и той же ча- стичной перестановки. Конструирование опти- мальной последовательности завершается наступлением ситуации, в которой окажется построенной некоторая перестановка л* и значение Т (л*) будет не больше оценок у (о) для всех рассматриваемых на данном шаге множеств перестановок вида (б, б'). 2.2. При мер. Рассмотрим простейшую задачу по- строения оптимального по быстродействию расписания обслуживания пяти требований тремя приборами А, В и С. Времена обслуживания каждого требования каждым прибором приведены в табл. 6.2.1. Рассмотрим пять множеств перестановок вида (б, о'), б — = (fc), к = 1, 5, б' — произвольная перестановка эле- ментов множества АГ \ {fc}, N = (1, 2, 3, 4, 5}. Каждое из этих множеств содержит 4! = 24 перестановки. В качестве нижней оценки у (б) значений оптимизи- руемой функции Т (л) на множестве перестановок вида (б, б') выберем, для определенности, величину упр (б). Имеем у (1) = 32, у (2) = 31, у (3) = 34, у (4) = 29, у (5) = 30. Выбираем перестановку б = (4) с наименьшим значе- нием у (б). Рассмотрим четыре множества перестановок вида (б, б'), б = (4, /с), к — 1, 2, 3, 5, б' — произвольная пе- рестановка элементов множества N \ {4, к}. Каждое из этих множеств содержит 3! = 6 перестановок. Имеем у(4,1) = 33, у(4, 2) = 29, у(4, 3) = 29, у(4,5) = 30. Ветвящийся процесс построения оптимальной пере- становки иллюстрируется рис. 6.2.1.
КОНСТРУКТИВНЫЙ ПОДХОД § 2] Рис. 6.2.1. Рис. 6.2.2.
174 М ПРИБОРОВ. ОДИНАКОВЫЕ МАРШРУТЫ [ГЛ 6. Дальнейшему «развитию» естественно подвергнуть пе- рестановку (4, 2) или (4, 3). Выберем, для определенности, о = (4, 2). Имеем у (4, 2, 1) = 29, у (4, 2, 3) = 29, у (4, 2, 5) = 29. Ана- логично, у (4, 2, 1, 3) = 29 и у (4, 2, 1, 5) = 32. Наконец, Т (4, 2, 1, 3, 5) = 29. Множество всех перестановок оказалось разбитым на И подмножеств, соответствующих конечным вершинам прадерева, изображенного на рис. 6.2.1. При этом найдена перестановка л* = (4, 2, 1, 3, 5), которой соответствует значение Т (л), не большее нижних оценок значений Т (л) на остальных множествах перестановок. Следовательно, обслуживая требования в последовательности л*, получаем оптимальное по быстродействию расписание. График этого расписания приведен на рис. 6.2.2. § 3. Элиминация Сформулируем достаточные условия, при которых воз- можно исключить (элиминировать) из рассмотрения все последовательности обслуживания п требований М при- борами, начинающиеся с данной частичной последователь- ности о. Оставшееся множество последовательностей дол- жно, естественно, содержать хотя бы одну оптимальную последовательность. 3.1. Каждое требование множества N = {1,2,..., п} обслуживается последовательно приборами 1,2,... ..., L, ..., М. Время обслуживания требования к прибором L равно tjcL. Предполагается, что все приборы обслужи- вают требования в одной и той же последовательности без неоправданных простоев. Пусть iV CZ N и о = (i1? i2, ..., ir), st1), <з<2) — произ- вольные перестановки элементов множества 7?, г = | N |. Если требования множества Я обслуживаются первыми в последовательности б, начиная с момента времени d = О, то прибор L завершает их обслуживание в момент времени (3.1)
ЭЛИМИНАЦИЯ 175 § з] Предположим, что TL (б*1)) < Ть (б<2>) для всех L = 1, М. Тогда, очевидно, Т (б*1), б*) < Т (б<2>, о*) для всех перестановок б* элементов множества N \ Я. Напомним, что Т (л) — общее время обслуживания всех требований при обслуживании их в последовательности л. Таким образом, если Ть (<№) Tl (У2)) для всех L = == 1, М9 то при поиске оптимальной (по быстродействию) последовательности обслуживания требований можно от- сеить | 7У\7? | ! последовательностей, начинающихся с ча- стичной последовательности Указанное условие элиминации является простейшим, достаточно жестким и в реальных задачах упорядочения выполняется сравнительно редко. Значительно более широкое распространение получило следующее условие. Будем через {<□} обозначать множество элементов в пе- рестановке б, т. е. в рассматриваемом случае {<□} = 7?. Пусть а, Ь ЕЕ N \ {о}. Обозначим через б' и У некоторые перестановки эле- ментов из множества N \ {а, а, &}. Предполагается, что {У} П К) = Ф и {У} U Ю = N \ {о, а, Ь}. В ча- стности, эти перестановки могут быть пустыми. Сравним значения Т (б, а, й, б', б") и Т (б, Ь, У, а, б"). Если нам удастся сформулировать условия, при ко- торых Т (б, а, Ь, б', б") < Т (з, Ь. У, а, б") (3.2) для всех возможных б' и б", то множество последователь- ностей, начинающихся с частичной последовательности (б, Ь), можно удалить из рассмотрения. Действительно, в этом случае для любой последова- тельности вида л/1) = (б, b, с', а, б") можно указать по- следовательность, начинающуюся с частичной последо- вательности (б, а), а именно последовательность = = (б, а, Ь, б', б") такую, что Т (л/2>) Т (л/1)). 3.2. Обозначим Al = Гь(б,а, Ъ) - fL(o, Ь). (3.3) Теорема 3.1. Если Al-i< Al< taL, L - 2ГМ, (3.4) тгьо соотношение (3.2) справедливо для всех возможных
176 М ПРИБОРОВ. ОДИНАКОВЫЕ МАРШРУТЫ [ГЛ. 6 Доказательство. 1. Пусть выполняется со- отношение (3.4) ио' = (р1? р2, ..., pq). Покажем, что TL (б, а, Ь, У) - Ть(б, Ь, а') < Дь. (3.5) Начнем с рассмотрения случая q = 1. Имеем Л (з, a, b, pt) — Tl (з, b, рг) = tal = Дх. (3.6) Пусть соотношение (3.5) справедливо для приборов 1, 2, ..., L — 1. Покажем, что оно справедливо и для при- бора L (значение q по-прежнему равно 1). Имеем Tl(<5, а, Ь, рх) —TL(a, Ъ, рг) = = max {Tl-i (з, а, Ь, рг), TL (о, a, b)} + tP1L — — тах{7’ь_1(б, b, Pl), Tl(s, b)} — tPtL< < max {Tl-i (o, a, b, pt) — TL.t (з, b, pt), Tb (s, a, b) — - TL (o, b)} < max {4L_b AL) = Дь. (3.7) Таким образом, если q = 1, то соотношение (3.5) выполняется для всех L = 1, М. Пусть q = 2 и соотношение (3.5) выполняется для при- боров 1, 2, .., L — 1. Покажем, что оно справедливо и для прибора L. Для L = 1 справедливость (3.5) очевидна. Имеем Гь(з, а, Ь, ръ Pz) — TL(a, b, pi, p2)< < шах{Ть-1 (б, a, b, Pl, P^ — Tl-iIp, b, pi, p2), TL(s, a, b, pi) — TL(s, b, pO}< max{4L-i, Al) = Al. (3.8) Аналогично можно показать справедливость соотно- шения (3. 5) и для q 2. 2. По условию. Aj, taL и, следовательно, Ть(з, а, Ь, У) < Гь(з, Ь, У) 4- taL, L = Гм. (3.9) По определению правая часть соотношения (3.9) не превосходит величины b, s', а). Таким образом, для всех L = 1, М TL(s, a, b, s')^TL(s, b, s', а). (3.10) 3. Для завершения доказательства теоремы достаточно доказать, что ерлд р' д е" — различные последователь-
ЭЛИМИНАЦИЯ 177 § з] ности обслуживания одних и тех же требований из N, а 6___произвольная последовательность обслуживания остальных требований множества ДГ, то из условия W)<W) (3.11) для всех L = 1, М следует Гь(е', e)<7Y(s", 8) (3.12) для всех L = 1, М. Пусть 8 = (р1? •••» Pqh V = 1» и утверждение спра- ведливо для приборов 1, 2, L — 1. При L = 1 спра- ведливость утверждения очевидна. Имеем Tl(8', pi) = тах{Гь(8), Л)} + *Р1ь< < max {TL (8"), TL^ (8", Р1)} + tPxL < TL (e", P1). (3.13) Если q = 2, то, полагая 8' равным (e', P1), a 8* равным (e\ P1), можно повторить предыдущие рассуждения. Ана- логичным образом поступаем и в случае q 2. Теорема доказана. Теорема 3.2. Для того чтобы выполнялись условия (3.4), достаточно. чтобы Ab-1 ^aL и Ть-1 (б, а) Tl-1 (<5? Ъ) (3.14) для всех L = 2, М. Доказательство. 1. Обозначим taL = 2 fe{a} Ql(s) = TL(s) — taL. KL(p, a) = a) — taL. Ве- личина taL — суммарное время обслуживания всех тре- бований множества {□} прибором L. Величина QL (з) —- время простоя прибора L при обслуживании приборами 1,2,..., L требований множества {а} в последовательности <з. Наконец, величина KL (з, а) — разность между общим временем обслуживания приборами 1, 2, ..., L — 1 тре- бований множества {з, а} в последовательности (<з, а) и суммарным временем обслуживания требований множе- ства {о} прибором L. Введенные в рассмотрение величины связаны соотно- шением Ql(g, а) = тах{<2ь(<5), а)}, (3.15)
178 М ПРИБОРОВ. ОДИНАКОВЫЕ МАРШРУТЫ [ГЛ. 6 которое непосредственно следует из соотношения Ть(б, а) = тах{7\(<з), ТЬ-1(б, а)} + taL. (3.16) 2. Пусть выполняются соотношения (3.14) для всех L — 2, М и, следовательно, для всех L = 2, М: max{Ki,(6, a), KL(p, a, b)}^KL(s, b). (3.17) Покажем, что в этом случае Дь £ol> L = 2, М. Имеем тах{<?ь(<5), KiAp, a), KL(s, a, b)} < max {Ql(g), KL(a, b)}, (3.18) откуда, учитывая (3.15), имеем max{<?L(<5, a), KL(<s, a, b)}^Qh(<s, b), (3.19) или Ql(0, a, b)<QL(G, b). (3.20) Полученное соотношение можно переписать в виде ^ь(б> Ь) £(в, а, Ь) L b)— i(e, b)L» (3.21) откуда следует, что Дь taL для всех L = 2, М. 3. Для завершения доказательства теоремы необхо- димо показать, что &l-i Дь для всех L = 2, М. Из (3.16), следует, что TL(<j,b)-T^(p, b)>tbL. (3.22) Пусть в этом соотношении имеет место знак равенства. Прибавляя к, обеим частям величину Д^, получаем Ть(б, а, Ь) — Tl-i (о, Ь) — Дд -|- tbi,. Из (3.16) следует, что TL(s, a, b)>Z’L-i(|3, a, b) + tbL. (3.23) (3-24) Вычитая из обеих частей этого неравенства величину Гц (з, Ь), получаем П(з, а, Ь) - Ть_х (б, Ь) > Дь_х + tbL. (3.25) Из (3.23) и (3.25) следует, что Д^, > ДЬ-Х.
Элиминация 170 31 Пусть в соотношении (3.22) имеет место Зйак строгого неравенства. Тогда, учитывая (3.16), имеем соотношения Tl(°> &) “ И TL-1 (<3, а) ^L-l (<5, b) <^TL{(5, Ь) — tbL = TL((S) или, учитывая (3.16), TL(c5,a) = TL(a) + U. (3.26) Таким образом, TL(s, а, b) = max{TL(o, a), TL^(^ a, b)} + tbL = = max {Ть(б) + taL, b) + Дь-i} + hb = = rL(o) + faL + *bL. (3.27) Окончательно Дь = Л,(б, a, b) - TL& b) = TL(c) + taL + tbL - - TL(O) - tbL = taL > Дь-1. (3.28) Теорема доказана. 3.3. Пример. Рассмотрим задачу построения опти- , п} тремя при- мального (по быстродействию) расписания обслуживания требований множества N == {1, 2, борами 1, 2 и 3. Пусть требования а, 6, с G= N и времена их обслу- живания приведены в табл. 6.3.1. Выберем <з = (с), тогда Дь = Гь(с,а,й)-Ть(с, Ь). Вычислим Дь для L = 1, 2, 3. Имеем Дх = 9—7 = 2, Д2 = 24— —14 = 10, Д3 = 83-43 = 40. Непосредственной проверкой убеждаемся, что условие теоремы 3.1 выполняется. Следовательно, при поиске опти- мальной последовательности можно исключить из рас- смотрения все последовательности вида (с, Ь, г3, j4, ..., in). Отметим, что в данном случае соотношения (3.14) не выполняются, так как Т2 (с, а) — 18 14 = Г2 (с> Ь). Систематическое использование условий элиминации в схемах последовательного конструирования вариантов позволяет существенно сузить область поиска оптималь- ного варианта.
Igo M ПРИБОРОВ. ОДИНАКОВЫЕ МАРШРУТЕ! [ГЛ. 6 § 4. Вырожденные случаи В этом параграфе рассматриваются некоторые частные случаи задачи построения оптимального (по быстродей- ствию) расписания обслуживания п требований М после- довательными приборами. Показано, что если матрица || Ьь || времен обслуживания требований удовлетворяет определенным условиям, то оптимальная последователь- ность обслуживания требований может быть построена в результате весьма простых рассуждений. 4.1. Зададим на множестве столбцов матрицы || | бинарное отношение, полагая Lx (г Ь2, если tjb Для всех 1 i Ф / и. Величина — время обслуживания требования к прибором L. Будем говорить, что матрица || tkL || обладает свой- ством Ci(%) (при некотором 1 X М — 1), если 1 (1-1) (г . . . |= 1, (X +1)М* +2) к • • ФМ. Покажем, что если при некотором X = X* матрица || Z/cl || обладает свойством Ci(X), то общее время обслу- живания всех требований при обслуживании их в после- довательности л = (ii, Z2, •••> in) равно и М—1 п Т (л) = max [ 2 г1к1 + 2 Чл + 2 fcAfl • (4.1) Lfe=1 l=2 J Иными словами, в этом случае в соотношении (1.1) максимум достигается при = и2 = ... = и* = ... ... =^М-1 = Действительно, поскольку 2 1, то U1 Ut Ui 2 fifcl + 2 2 + ZiUsS- (^.2) fc=l k=ui fc=i Поскольку 3 2, to U2 из из 2 kl + ^2 + 2 *ik3 < 2 + V (43) fc—1 к=щ M Повторяя аналогичные рассуждения (поскольку 4 (= 3,... ..., X* X*—1), получаем Ui. X* 2 + • • • + 2 < 2 Ч-i + 2 ^uX.l (4’4) k=i к—и-^** k=i L=2
§ 41 ВЫРОЖДЕННЫЕ СЛУЧАИ 181 И (поскольку (М - 1) 1= М, (М - 2) |= (М - 1), ... .... (%* +1) (%* + 2)) ux«+i « М-1 « У + • • • + 2 *Ч-М < 2 Zi«x.L + , *ikM' к=и\* k~uM—l L=X»-|-1 w1* (4.5) откуда непосредственно следует справедливость соотно- шения (4.1). Прибавим и вычтем из прдвой части этого соотноше- М—1 п ния величину 2 2 не зависящую от л. Обозначим Ь=2 к=1 М М-1 Pj — 2 И ~ 2 Рг L—2 L==l Имеем и I (л) = max ( 2 Oifc + Piu) + а, (4.6) l<U<n ' fc—J,' ' где A — не зависящая от л величина. Таким образом, если матрица || || обладает свой- ством C'i(X) при некотором А, = X*, то построение оптималь- ной последовательности обслуживания требований сво- дится к нахождению перестановки л*, которой соответ- ствует наименьшее значение функции и к (л) = max ( 2 “ik + М • (4-7) Х fe=1 ' Последняя задача подробно рассмотрена в гл. 2, § 4, п. 4.4. 4.2. Пример. Рассмотрим задачу построения опти- мального (по быстродействию) расписания обслуживания восьми требований пятью приборами; времена обслу- живания требования к = 1,8 прибором L — 1,5 приведе- ны в табл. 6.4.1. В рассматриваемом случае матрица II II обладает свойством Сх(2). Значения а,- и |37и вычисленные в соответствии с гл. 2, (полагаем М = 100) приведены в табл. S ч значения <о (1\ 6.4.2. V 7
182 M ПРИБОРОВ. ОДИЙАКОбЫЕ МАРШРУТЫ • [ГЛ. 6 Таблица 6.4.1 \r k \ 1 2 3 4 5 1 22 15 20 24 34 2 18 10 14 32 40 3 34 13 10 30 38 4 40 14 12 25 36 5 16 18 12 28 40 6 21 16 22 20 37 7 26 12 20 31 42 8 32 12 14 30 45 Таблица 6.4.2 i 1 2 3 4 5 6 7 8 —12 —22 —4 4 —24 —16 »—16 —13 3; 93 96 91 87 98 95 105 101 ®(z) —19 —26 —13 13 —26 -21 —11 —12 Оптимальные последовательности обслуживания я* = = ((2, 5), 6, 1, 3, 8, 7, 4). Значение Т (л*) = 386. 4.3. Будем говорить, что матрица || t^i, || обладает свой- ством С2(К) (при некотором 1 X М), если 1 |5: 2 ... f= X и М (М- 1) [=...[= X. Покажем, что если матрица || || обладает свойством С2 (X) при некотором X — X*, то X*—1 п м Т{П) = 2 ^1L + 3 ^ftx* + S 4iL* (4*8) L=1 fc=l L=X*4-1 Действительно, в этом случае U1 Ui WX* uz 2 + 2 4^2. + • • • 4- 2 ^кк* 4" 2 *ijs4* • • • fc=l fc=Ui fc=ux*-i wx* x*—i «x* • • • + 2 < • • • < 2 + 2 (4-9) /£=UX*-1 L=1 fc=l
ВЫРОЖДЕННЫЕ СЛУЧАИ 183 § 41 Аналогично, «Х*+1 п wx*+l 2 ^fcx*+i+• • • + 2 ЬцМ 2 ^ifcX*+l + • • • S=ux. Й=«Л/-1 »=«X« n n M . . • + S + tinM < 2 + 2 ^nL’ ^=uAf—2 L^X*-f-l (4.10) откуда следует справедливость соотношения (4.8). Рассмотрим отдельно случаи X* = 1, X* — М и 1 < %* < М. Если X* = 1, то п М Т (Я) — 2 ^ifcX + 2 ^nL- (4.11) fc=l L=2 Поскольку первое слагаемое от л не зависит, то Т (л) принимает наименьшее значение, если последним обслу- живается требование / с наименьшим значением 2 fyx* L=2 Остальные требования можно обслуживать в произволь- ном порядке. Если %* = М, то М—1 п г(л)=2^+2^м- (4Л2) Ъ=1 к=1 Поскольку второе слагаемое от л не зависит, то Т (л) принимает наименьшее значение, если первым обслу- живать требование j с наименьшим значением 2 fyx* L=1 Остальные требования можно обслуживать в произволь- ном порядке. Пусть, наконец, 1 X* М. Образуем множество J± требований /, которым соответствует наименьшее значе- Х*-1 ние Vj = 2 и множество J2 требований /, которым L=1 М соответствует наименьшее значение га, = У, L=X»+1
184 М ПРИБОРОВ. ОДИНАКОВЫЕ МАРШРУТЫ [ГЛ. 6 Если можно выбрать ]\ такие, что ji =/= =/= /2, то в оптимальной последовательности требование ji следует обслуживать первым, а требование /2 — по- следним. Остальные требования можно обслуживать в про- извольном порядке. Пусть Л = J2 = (/'}• Среди требований множества 7У\{/'} выберем требование j" с наименьшим значением Vj и требование f" с наименьшим значением wj- Требова- ния /" и не обязательно различны. Если Vf + Wj'„ <1 Vf 4- w?, то в оптимальной после- довательности требование f следует обслуживать первым, а требование j"' последним. Если v? 4- Wy vy + wy, то первым следует обслуживать требование/", а последним требование /'. В обоих случаях порядок обслуживания остальных требований безразличен. § 5. Библиографическая справка Рассматриваемая в данной главе задача известна в литературе как задача М X га Веллмана — Джонсона. Конструктивный подход к решению экстремальных задач, в том числе задач теории расписаний, развит в работах Р. Веллмана и С. Дрейфуса [15, 16], Н. Н. Моисеева [124], В. С. Михалевича, Ю. М. Ермольева, В. В. Шкурбы и Н. 3. Шора [119—122], [211]. Вероятно, первый вариант метода ветвей и границ для решения зада- чи М X п Веллмана — Джонсона был предложен 3. Ломницким сначала для М = 3 [333], затем (совместно с А. Броуном) для про- извольного М [244]. Мы в изложении следовали работе [343]. В на- стоящее время предложены разнообразные варианты метода ветвей и границ Б. Банком и Е. Сэйфартом [231, 232], X. Гринбергом [290], Г. В. Черновой [195, 196] и другими авторами [183, 216, 308]. До- статочно общее описание этого метода дано Е. Балашем [228], обзор литературы — Е. Лоулером и Д. Вудом [328]. Использованию метода динамического программирования для решения рассматриваемой задачи посвящена работа Р. Веллмана и О. Круса [237]. Систематические исследования в этой области проведены И. Набешимой [361—364], Е. X. Драхлиным и Р. М. Яки- мовым [62, 214], Б. А. Власюком [37]. Разнообразные приближенные методы предложены С. Л. Жур- женко [64], В. М. Португалом [140], В. М. Озерным и Л. П. Рябо- вым [129], В. Н. Резниченко [146], Д. С. Палмером [376] и другими авторами [227, 234, 282, 392, 423]. Использованию методов сорти- ровки посвящены работы Е. Пэйджа [373—375], организации на- правленного поиска,— работа Д. И. Голенко и Ю. Я. Тарнополь- ского [53]. В ряде работ (см. следующую главу) предлагается использо- вать методы (целочисленного) линейного программирования.
БИБЛИОГРАФИЧЕСКАЯ СПРАВКА 185 § 5] Сравнительный анализ некоторых точных и приближенных методов решения задачи М X п Веллмана — Джонсона проведен Е. Сэйфартом [400] (243 тестовые задачи, 4 < п < 100, 4 < М < 60} И *С. Ашуром [222] (550 тестовых задач, 6 < п < 12, 3 < М < 5). Выявлению условий элиминации посвящены работы Р. Смита, Р. Дудека и О. Тэйтона [266, 407, 408], Дж. Мак-Махона [341, 342] и В. Шварца [419]. Результаты машинных экспериментов с исполь- зованием соответствующих алгоритмов приведены в [293]. Параграф 4 написан на основе работы В. Я. Бурдюка [23]. Аналогичные вырожденные ситуации для случая М = 3 рассма- тривались С. М. Джонсоном [313] и В. Шварцем [417, 418]. Несколь- ко иные ситуации рассмотрены в работах [219, 182, 95]. Задача минимизации функционала (1.2) рассматривалась В. Я. Бурдюком [21], функционала (1.3) — Н. А. Лепешинским [100], Е. X. Драхлиным и Р. М. Якимовым [61] и другими авто- рами [380, 383, 401]. Обобщение последней задачи на случай не- скольких возможных графиков обслуживания требований приведе- но в работах Р. Солиха [160, 410]. Еще одно естественное обобщение этой задачи рассматривается в § 1 гл. 8. Асимптотическое поведение решений большеразмерных задач исследовано в [139]. Задача М X п Веллмана — Джонсона с неко- торыми дополнительными ограничениями рассмотрена в работах [74, 316, 348, 369]. П. Талвар [422] и Л. И. Фейгин [189] рассмотрели вариант этой задачи, предполагая, что времена обслуживания до- стоверно не известны.
глава i М ПОСЛЕДОВАТЕЛЬНЫХ ПРИБОРОВ РАЗЛИЧНЫЕ МАРШРУТЫ Имеется п требований и М обслуживающих приборов. Каждое требование обслуживается приборами в задан- ной, специфической для него последовательности. Про- цесс обслуживания требования к может включать повтор- ные обращения к одним и тем же приборам. Каждый прибор одновременно обслуживает не более одного требова- ния и каждое требование одновременно обслуживается не более чем одним прибором. Известны времена обслужи- вания каждого требования каждым прибором, участвующим в его обслуживании (при каждом обращении к этому при- бору). Прерывания в обслуживании каждого отдельного требования отдельным прибором не допускаются. Необхо- димо построить оптимальное, по быстродействию распи- сание процесса обслуживания всех требований. Пред- полагается, что времена транспортировок требований и переналадок приборов равны нулю. В § 1 приводится сетевая интерпретация этой задачи. В § 2 анализируются разнообразные используемые на практике правила предпочтения. В § 3 обсуждаются вопросы организации поиска оптимальных расписаний ме- тодами статистических испытаний. Наконец, в § 4 задача построения оптимального по критерию быстродействия расписания формулируется в терминах целочисленного линейного программирования. § 1. Сетевое представление Рассмотрим задачу построения оптимального (по бы- стродействию) расписания обслуживания требований мно- жества N = {1, 2, ..., п} приборами множества {1, 2, ... ..., L, ..., М}. Требование к е N обслуживается прибо- рами в заданной последовательности (Lj, L*, ...» brft). Приборы Lj, j = 1, rfc, не обязательно различны. Каждый прибор обслуживает требования последовательно. Известны
СЕТЕВОЕ ПРЕДСТАВЛЕНИЕ 187 S п времена обслуживания требований приборами при каждом к ним обращении. 1.1. В рассматриваемом случае определенные затруд- нения возникают уже на стадии построения допустимых расписаний. Введем понятие операции как процесса обслуживания отдельного требования отдельным прибором при неко- тором конкретном обращении к этому прибору. В этой терминологии процесс обслуживания требования к состоит в последовательном выполнении гк операций. Если тре- бование к обслуживается прибором L в g-й по очереди раз, то эту операцию будем обозначать через (fe, L, д), а дли- тельность ее выполнения через t (к, L, q). Представим все операции в виде точек (кружков) на плоскости. Каждые две операции (къ Lu qr) и (к2, L2, q2) могут быть зависимыми или независимыми в том смысле, что календарное время выполнения одной из них оказы- вает или не оказывает влияние на календарное время вы- полнения другой. В условиях рассматриваемой задачи целесообразно выделить три вида бинарных межопера- ционных отношений. Если fci =/= к2 и Z/i =# Л2, то операции (kr, Lu дг) и (fc2, L2, д2) являются независимыми. Графически они не соединяются никакими видами связей — ребрами, дугами и т. п. Если fci = к2 = к, то по условию задачи одна из опе- раций, для определенности, (к, L2, g2), следует во времени за второй. В данном случае операция (Л, L2, g2) не может быть начата раньше, чем закончится операция (к. Lr,q^. Графически операции (fc, Lu q-^ и (к, L2, g2) естественно соединять дуюй, направленной от первой операции ко второй. Наконец, если L± = L2 = L и =# й2, то операции (&i, L, qr) и (k2, L, g2) не могут выполняться одновременно, однако очередность их выполнения заранее не оговорена. В этом случае соединим операции ребром. В результате получаем смешанный граф (X, U, U), где X — множество операций (вершин), U — множество Дуг, U — множество ребер. 1.2. Пример. Рассмотрим три требования 1, 2, 3, обслуживаемых четырьмя приборами Л, В, С, DK
188 М ПРИБОРОВ. РАЗЛИЧНЫЕ МАРШРУТЫ [ГЛ. 7 Последовательности (маршруты) обслуживания приведены в табл. 7.1.1. Процесс обслуживания требования 1 состоит в после- довательном выполнении операций (1, 4, 1), (1, В, 1) и (1, D, 1). При обслуживании требования 2 последовательно выполняются операции (2, А, 1), (2, В, 1) и (2, А, 2). На- конец, при обслуживании требования 3 последователь- но выполняются операции (3,4, 1), (3, С, 1), (3, В, 1) и (3,В, 1). Операции (1, В, 1) и (2,4,2) независимы, посколь- ку эти операции осуществля- ются над разными требова- ниями с использованием различных приборов. Независи- мыми являются также пары операций (1, В, 1) и (3, 4,1), (2,В, 1) и(3, В, 1) и т. д. Таб лица 7.1.1 1 А В D — 2 А В А — 3 А С В D По условию операция (1, В, 1) следует во времени за операцией (1, В, 1), которая в свою очередь следует за опе- рацией (1, 4, 1). Операции (1, 4, 1) и (2, 4, 2) осуществляются с ис- пользованием одного и того же прибора 4. Одновременно эти операции выполняться не могут, однако очередность их выполнения не фиксирована. Аналогичная ситуация имеет место и в случае операций (2, 4, 1) и (3, 4, 1), (1, D, 1) и (3, D, 1) и т. д. Соответствующий смешанный граф (X, U, U) представлен на рис. 7.1.1. 1.3. Каждое (допустимое) расписание определяет ка- лендарные сроки проведения каждой операции и тем самым однозначно фиксирует определенные последова- тельности выполнения операций каждым прибором. Ины- ми словами, каждому расписанию соответствует неко- торый ориентированный бесконтурный граф, порождав-
§ 11 СЕТЕВОЕ ПРЕДСТАВЛЕНИЕ 189 мый данным смешанным графом в результате замены всех его ребер дугами. В свою очередь каждый бесконтурный ориентирован- ный граф определяет бесконечное число (допустимых) ра- списаний. Действительно, припишем каждой дуге этого графа, соединяющей вершину (ки L14 qr) с вершиной (fc2> ^2’ &)’ число t Дь £1) “ длительность операции (fci, Li, Qi)- В результате получаем сетевой график. Исполь- зуя обычную технику сетевого планирования, можно оп- ределить время начала и окончания каждой операции, т. е. построить расписание обслуживания требований приборами. Таких расписаний, очевидно, можно построить сколь угодно много. Поскольку нас интересуют оптимальные (по быстро- действию) расписания, то среди указанного множества расписаний целесообразно выделить расписание, при ко- тором каждая операция начинает выполняться в момент времени завершения всех предшествующих ей операций. Тем самым каждому бесконтурному графу, порождае- мому рассматриваемым смешанным графом, будет соот- ветствовать одно вполне определенное расписание. Таким образом, задача построения оптимального (по быстродействию) расписания обслуживания п требований М приборами может быть решена перебором конечного числа возможных вариантов расписаний. Этот перебор определяется числом бесконтурных графов, порождаемых данным смешанным графом. Методы оценки и прямого определения указанного числа описаны в § 3 гл. 2. 1.4. Вернемся к рассмотрению примера, дополнив его условие заданием времен выполнения операций. Пусть время обслуживания требования к = 1, 2, 3 каждым из обслуживающих его приборов равно А;2. На рис. 7.1.2,а) и 7.1.2, б) приведены два бесконтур- ных графа (сетевые графики), порождаемых графом, изображенным на рис. 7.1.1, в результате замены всех его ребер дугами. Каждой дуге приписана длительность выполнения, каждой вершине — календарное время на- чала выполнения соответствующей операции. Сетевые графики, изображенные на рис. 7.1.2, а) и 7.1.2, б), дополнены вершиной R — окончание всех операций. В соответствии с графиком, изображенным на рис. 7.1.2, а), обслуживание всех требований можно
190 М ПРИБОРОВ. РАЗЛИЧНЫЕ МАРШРУТЫ [ГЛ. 7 завершить в течение 43 единиц времени. В соответствии с графиком, изображенным на рис. 7.1.2, б), обслужива- ния всех требований можно завершить в течение 50 единиц времени. Каждый из графиков фиксирует последовательности обслуживания требований каждым прибором, и обратно, фиксированные (допустимые) последовательности обслу- живания определяют некоторый сетевой график. 1.5. Процесс построения допустимых расписаний, та- ким образом, может быть разделен на два этапа: 1) построе- ние бесконтурного графа (сетевого графика), порождаемого исходным смешанным графом в результате замены всех его ребер дугами, и 2) построение расписания по данному сетевому графику. Такой подход позволяет создавать программные генераторы допустимых расписаний в ре- зультате незначительной модификации существующих программ расчета временных параметров сетевых графи- ков. Для этого достаточно дополнить их программой гене- рирования самих сетевых графиков. В соответствии с гл. 2, § 3, п. 3.2 для построения сете- вого графика можно воспользоваться следующей фор- мальной процедурой.
191 СЕТЕВОЕ ПРЕДСТАВЛЕНИЕ § 1] а) В списке операций выбираем одну из операций, ко- торая не следует ни за одной операцией списка. б) Заменяем все ребра в рассматриваемом смешанном графе, соединяющие выбранную операцию и другие опе- рации списка, на исходящие из соответствующей ей вер- шины дуги. Удаляем операцию из списка. в) Если список операций исчерпан, процедура окон- чена. В противном случае переходим к п. а). Выбирая в п. а) различные операции, получаем в ре- зультате многократного применения данной процедуры все допустимые (относительно исходного смешанного графа) сетевые графики. Последующее построение расписания по сетевому графику проводится общеизвестными методами сетевого планирования. В условиях рассматриваемого примера на первом шаге может быть выбрана любая из трех операций (вершин): (1, А, 1), (2, Л, 1) и (3, Л, 1). Если выбрать вершину (1, Л, 1), то ребра, соединяющие эту вершину с вершинами (2, Л, 1), (3, Л, 1) и (2, Л, 2), необходимо заменить на исходящие из нее дуги (см. рис. 7.1. 2, а). Если выбрать вершину (2, Л, 1), то ребра, соединяющие эту вершину с вершинами (1, Л, 1) и (3, Л, 1), меняются на исходящие из вершины (2, Л, 1) дуги (см. рис. 7.1.2, б). Предположим, что выбрана вершина (1, Л, 1). Удалим эту вершину из рассмотрения (вместе с инцидентными ей дугами). На следующем шаге может быть выбрана любая из трех операций, (2, Л, 1), (3, Л, 1) и (1, В, 1), поскольку ни одна из этих операций не следует ни за одной из операций, отличных от (1, Л, 1). Процесс продолжается до тех пор, пока не окажутся рассмотренными все операции (вершины). В результате получаем бесконтурный ориентированный граф. Этот граф вместе с информацией о временных длительностях операций представляет собой один из допустимых сетевых графиков выполнения операций. Наша задача заключается в построении такого графи- ка, при котором общее время выполнения всех операций окажется наименьшим. Иными словами, необходимо выб- рать операции в такой последовательности, чтобы полу- чаемый в результате сетевой график позволял осуществить все операции в кратчайший срок.
192 М ПРИБОРОВ. РАЗЛИЧНЫЕ МАРШРУТЫ [ГЛ. 7 В общем случае приходится принимать во внимание не только время выполнения отдельных операций, но и временные затраты, связанные с переналадкой приборов, транспортировкой требований и т. п. В этом случае каж- дой дуге, соединяющей вершины (к13 Lu qr) и (&2, L2, g2), следует приписать длительность промежутка времени, спустя который операция (&2, L2, g2) может быть начата после начала выполнения операции (fcb Lx, qr). В остальном процесс построения допустимых расписаний не претерпе- вает изменений. § 2. Генераторы допустимых расписаний 2.1. Описанный в предыдущем параграфе метод по- строения допустимых расписаний включает построение бесконтурного ориентированного графа и последующее вычисление необходимых временных характеристик по полученному сетевому графику. Конструирование графа осуществляется пошагово и на каждом шаге осуществляется выбор очередной опера- ции из множества возможных претендентов. От того, на- сколько правильно на каждом шаге осуществляется этот выбор, зависит качество получаемого в дальнейшем до- пустимого расписания. Поскольку анализ всех возможных последствий вы- бора той или иной операции практически не реализуем, появляется необходимость принимать решения в условиях относительной неопределенности, на основе анализа ог- раниченного объема информации, имеющейся к моменту принятия решения. Поэтому представляется целесообраз- ным совместить процессы конструирования сетевого гра- фика и расчеты соответствующих временных характе- ристик. Процедура построения допустимых расписаний в этом случае может быть описана следующим образом. а) Положим (Х<о), U^) = (X, U, U). Используя граф (Х<°), Е7(о)), стандартными методами сетевого плани- рования вычисляем самые ранние сроки (0> (fc, L, q) на- чала всех операций. Очевидно, искомые ре мена начала операций t (к, L, q) > £(0) (к, L, q). б) В графе (Х<р), выбираем одну из вершин (к\ L', qf), в которую не заходит ни одной дуги.
g 2] ГЕНЕРАТОРЫ ДОПУСТИМЫХ РАСПИСАНИЙ 193 в) Заменим в графе (Х(р\ U&), СЛг>)все ребра, инцидент- ные вершине (к', Lf, q'), на исходящие из нее дуги. По- лученный граф обозначим через (XW, UW, £7(р)'). г) Используя граф (Х&У, C7W) и вычисленные на предыдущем шаге значения (к, L, q), вычисляем са- мые ранние сроки £(р+1> (к, L, q) начала операций множе- ства XW. д) Полагаем £ (к', L', qf) = £(р> (к', Lf, д') и удаляем вершину (&', L', д') из рассмотрения вместе с инцидентны- ми ей дугами. Полученный в результате граф обозначим через (Х<р+1>, Z/tP+i)). е) Если СДр+D = ф, то £ (к, L, g) = t<P+1> (fc, L, д) для всех операций множества Х<р+1>. В противном случае переходим к п. б.), заменяя граф (Х<р), СЛ?), U^) гра- фом (X(P+D, tfa+D, Z7(p+D). Применяя эту формальную процедуру к исходному графу (X, U, U), через конечное число шагов получаем искомые времена £ (к, L, q) начала всех операций. По- скольку процесс выполнения каждой отдельной операции непрерывен, то найденные значения £ (к9 L, q) однозначно определяют расписание. Нетрудно заметить, что в п. б) необходимо уточнить принцип, согласно которому производится выбор той или иной вершины (операции) из множества возможных пре- тендентов. К этому моменту известны нижние границы £<р) (к, L, q) времен начала всех операций множества Х<р) и все «технологические» условия, которым должен удов- летворять процесс их выполнения, т. е. СДр), СД?), и дли- тельности t (к, L, д) выполнения операций. Выбор операции должен проводиться с более или менее полным учетом имеющейся информации с тем, чтобы обес- печить достаточно высокое качество получаемого распи- сания. С другой стороны, степень полноты учета этой информации определяет скорость построения отдельного расписания, следовательно, число допустимых расписа- ний, генерируемых за приемлемый промежуток времени. 2.2. В настоящее время известны различные по бы- стродействию и качеству получаемых расписаний гене- раторы. 7 В. С. Танаев, В. в. Шкурба
194 м ПРИБОРОВ. РАЗЛИЧНЫЕ МАРШРУТЫ 1гЛ. 7 Г (R) — генератор с равновероятной выборкой — вы- бирает любую операцию из множества I возможных на данном шаге претендентов с вероятностью 1/1. Г (А) — генератор активных расписаний — если среди множества I возможных на р-м шаге претендентов сущест- вует операция (fc', L', q'), выбор которой не изменяет ран- них сроков начала других операций, т. е. (к, L, q) = = W (к, L, q), то осуществляется выбор этой операции. В противном случае выбирается любая операция с вероят- ностью 1/1. Первый из этих генераторов за достаточно большой промежуток времени позволяет построить все допустимые расписания. Во втором предусмотрена возможность исключения из рассмотрения заведомо неконкурентно- способных расписаний. Наиболее распространены на практике генераторы, использующие разнообразные правила предпочтения (при- оритеты). Эти генераторы не гарантируют, вообще говоря, получения оптимального расписания. Г (FIFO) — генератор, использующий правило «пер- вый пришел — первый обслуживается», (First In —- First On). Из множества возможных на р-м шаге претен- дентов выбирается операция с наименьшим значением №) (к', L', q'). При наличии нескольких таких операций с равной вероятностью выбирается любая из них. В основу правила FIFO положено соображение, что чем меньше сох- раняется в очереди операция, тем скорее разгружается вся очередь. Г (LIFO) — генератор, использующий правило «по- следним пришел — первым обслуживается» (Last In — First On). Из множества претендентов на р-м шаге выби- рается операция с наибольшим значением № (к', L', q')- При наличии нескольких таких операций с равной ве- роятностью выбирается любая из них. Правило LIFO неявно утверждает, что если какая-то операция задер- жалась, то желательно, чтобы она не мешала разгрузке очереди других операций. Г (SIO) — генератор, использующий правило «крат- чайшей операции» (Shortest Imminent Operation). Выби- рается операция с наименьшей длительностью t (к', I/, q')- Если таких операций несколько, то с равной вероятно- стью выбирается любая из них. Правило SIO приме-
§ 2] ГЕНЕРАТОРЫ ДОПУСТИМЫХ РАСПИСАНИЙ 195 няется в предположении, что чем меньшая по длительно- сти операция выполняется, тем скорее разгружается очередь. Г (FOFO) — генератор, использующий правило «пер- вым уйдет — первым обслуживается» (First Off — First On). Выбирается операция с наименьшим значением t(p) (А/, I/, д') + t (к', L', q'). Если таких операций не- сколько, то с равной вероятностью выбирается любая из них. В правиле FOFO выбирается операция, которая раньше всех может быть выполнена и, по-видимому, обес- печивает и быструю разгрузку очереди. Г (LRT) — генератор, использующий правило «на- ибольшего оставшегося времени обслуживания» (Longest Remaining Time). В правиле LRT заложено стремление поскорее обслужить требование, общая длительность об- служивания которого является наибольшей. Применение каждого из этих правил имеет под собой более или менее правдоподобное основание, хотя нетрудно видеть, например, что правила FIFO и LIFO явно проти- воречивы. Эффективность того или иного генератора мо- жет быть проверена в каждом конкретном случае, для каждой конкретной ситуации. 2.3. Определенное распространение получили так назы- ваемые рандомизированные генераторы Ir, получаемые из перечисленных заменой условия «... выбрать операцию, обладающую некоторым свойством» условием «... с боль- шей вероятностью выбрать операцию, обладающую этим свойством». Тем самым за достаточно большой про- межуток времени рандомизированные генераторы Гд по- зволяют получить все допустимые расписания, с большей вероятностью генерируя те же расписания, что и соответ- ствующие генераторы Г. Второе, не менее естественное направление в созда- нии программных генераторов заключается в максималь- ном сужении класса генерируемых расписаний. Это до- стигается заменой в обычном генераторе условия «... при наличии операций, обладающих одним и тем же свой- ством, с равной вероятностью выбрать любую из них» условием «... выбрать ту из них, которая обладает неко- торым другим свойством». Повторяя этот прием, можно создать «генератор», порождающий только одно допустимое расписание. Так. генератор Г (FIFO LRT) осущест- 7*
196 М ПРИБОРОВ. РАЗЛИЧНЫЕ МАРШРУТЫ [ГЛ. 7 вляет выбор операции по правилу FIFO; при наличии нескольких равноправных относительно этого правила операций — по правилу LRT; если и относительно этого Таблица 7.2.1 Требования Порядок прохождения приборов и время обслуживания (в скобках) 1 3(1) 1(3) 2(6) 4(7) 6(3) 5(6) 2 2(8) 3(5) 5(10) 6(Ю) 1(10) 4(4) 3 3(5) 4(4) 6(8) 1(9) 2(1) 5(7) 4 2(5) 1(5) 3(5) 4(3) 5(8) 6(9) 5 3(9) 2(3) 5(5) 6(4) 1(3) 4(1) 6 2(3) 4(3) 6(9) 1(10) 5(4) 3(1) Таблица 7.2.2 Требования Порядок прохождения приборов и время обслуживания (в скобках) 1 1(29) 2(9) 3(49) 4(62) 5(44) 2 1(43) 2(75) 4(69) 3(46) 5(72) 3 2(91) 1(39) 3(90) 5(12) 4(45) 4 2(81) 1(71) 5(9) 3(85) 4(22) 5 3(14) 2(22) 1(26) 4(21) 5(72) 6 3(84) 2(52) 5(48) 1(47) 4(6) 7 2(46) 1(61) 3(32) 4(32) 5(30) 8 3(31) 2(46) 1(32) 4(19) 5(36) 9 1(76) 4(76) 3(85) 2(40) 5(26) 10 2(85) 3(61) 1(64) 4(47) 5(90) 11 2(78) 4(36) 1(11) 5(56) 3(21) 12 3(90) 1(11) 2(28) 4(46) 5(30) 13 1(85) 3(74) 2(10) 4(89) 5(33) 14 3(95) 1(99) 2(52) 4(98) 5(43) 15 1(6) 2(61) 5(69) 3(49) 4(53) 16 2(2) 1(95) 4(72) 5(65) 3(25) 17 1(37) 3(13) 2(21) 4(89) 5(55) 18 1(86) 2(74) 5(88) 3(48) 4(79) 19 2(69) 3(51) 1(11) 4(89) 5(74) 20 1(13) 2(7) 3(76) 4(52) 5(45)
ГЕНЕРАТОРЫ ДОПУСТИМЫХ РАСПИСАНИЙ 197 § 2] правила имеется несколько равноправных операций, то осуществляется равновероятная выборка любой из них. Создание подобных генераторов не лишено практи- ческого интереса в условиях расчетов «вручную» и машин- ного решения задач большого размера. о 10 20 30 40 50 60 70 Номер расписания Рис. 7.2.2. 2.4. В качестве иллюстрации рассмотрим две простей- шие задачи последовательного обслуживания п требо- ваний М приборами. Каждое требование к последователь- но обслуживается приборами 1, 2, ..., М. В первой задаче (задаче Л) п = 6, М = 6 и значения приведены в табл. 7.2.1. Во второй задаче (задаче В) п = 20, М = 5 и значения приведены в табл. 7.2.2.
198 М ПРИБОРОВ. РАЗЛИЧНЫЕ МАРШРУТЫ [ГЛ. 7 На рис. 7.2.1 приведены результаты экспериментов с ис- пользованием генераторов Г (FIFO) (линия 1) и Гк (FIFO) (линия 2), на рис. 7.2.2 — с использованием генераторов Г (R) (линия 1) и Г (А) (линия 2) для решения задачи А.'Об- щее число построенных расписаний равно 75. Для каждого расписания приведено общее время Т выполнения всех операций. Решая эту задачу с использованием Г (FIFO -> FOFO)t получаем расписание с общим временем обслуживания всех требований Т == 88. § 3. Случайный поиск с обучением 3.1. Программные генераторы допустимых расписа- ний могут быть использованы как при массовом решении серии однотипных, незначительно отличающихся друг от друга задач теории расписаний, так и для эпизодического решения существенно различных задач. Если в первом случае экономически оправдано создание специального генератора, то эта возможность, как правило, совершенно исключается во втором случае. Подобное положение вы- зывает серьезные затруднения. Действительно, заранее оценить эффективность исполь- зования того или иного генератора при решении каждой конкретной задачи практически невозможно. Последо- вательное опробование всех имеющихся в распоряжении генераторов — достаточно трудоемкий процесс, не даю- щий к тому же сколько-нибудь определенных гарантий, так как совершенно не исключены ситуации, в которых все эти генераторы оказываются неэффективными. В ча- стности, подобная ситуация может потребовать исполь- зования различных принципов выбора операций на разных шагах, что не предусмотрено в описанных выше генерато- рах. Это обстоятельство делает, по существу, необозри- мым набор генераторов, требуемых для решения различ- ных задач теории расписаний. Поэтому весьма перспективными являются попытки автоматического конструирования в процессе решения каж- дой конкретной задачи относительно сложного генератора, учитывающего в той или иной мере ее специфику. 3.2. Одна из наиболее удачных и легко реализуемых попыток этого рода заключается в следующем. Выбирают- ся несколько различных принципов выборки операций
§ 3] СЛУЧАЙНЫЙ ПОИСК С ОБУЧЕНИЕМ 199 (приоритетов) Пх, П2, ..., Пг и неотрицательные числа af, al, 4, 1 < Р < I X |, такие, что 24 = 1. i=i В частности, полагаем р * а'- = а7- для всех р и /. Обозначим через Г (aflli, а2П2, а?Пг) генератор, выбирающий на р-м. шаге операцию по прин - ципу П1 с вероятностью af, по принципу П2 с вероятно- стью а2 ит. д., по принципу Пг с вероятностью а?. В процессе решения задачи проводится корректировка величин ctf в зависимости от качества генерируемых рас- писаний. Иными словами, организуется поиск в про- странстве матриц || af || такого набора значений а?, кото- рому соответствует наилучшее расписание. Подобный поиск, естественно, может быть организован самыми раз- нообразными способами. Простейший из них заключается в случайной выборке нескольких наборов af и последующем генерировании при каждом из этих наборов по одному или по серии распи- саний. Более сложные включают элементы поиска в соб- ственном смысле слова, когда изменения приводя- щие к улучшению качества расписания, закрепляются и развиваются в последующем. При организации направленного поиска желательно обеспечить быструю сходимость процесса поиска и опти- мальность получаемого в результате расписания. Эти усло- вия являются достаточно жесткими для задач теории рас- писаний, что приводит к необходимости включения в процесс направленного поиска значительного объема элементов зондирования области поиска. Одна из воз- можных процедур такого рода состоит в следующем. Пусть для простоты даны два генератора Г (Пх) и Г (П2). Реализуется генерирование $ 1 серий расписа- ний генераторами г(|пъ^П2) , /с = 0, 1, ..., $. Из последних выбирается генератор (к = fc0), с использо- ванием которого получено лучшее расписание. Затем
М ПРИЁОРОЁ. РАЗЛИЧНЫЕ МАРШРУТЫ [М. 7 множество операций разбивается на несколько групп (не обязательно содержащих одинаковое число элементов), из которых выбирается одна. Реализуется генерирование «х + феерий расписаний с использованием генераторов Г (“-П1, , к = 0, 1, si, если отмечаемая опе- рация принадлежит выбранной группе, в противном случае — генератором Г (—Пх, -—— П2). Закрепляется Рис. 7.3.1. Зависимость оценок серии расписаний от значения к0. Задачи А и В. значение к = ки при котором получилось лучшее распи- сание. Если все расписания оказываются хуже получен- ного на предыдущем шаге, то полагаем к = fc0. В дальнейшем подобным образом поступаем со второй группой операций, сохраняя для первой группы к = к^ для всех остальных к — и т. д. В случае необходимости процесс может быть повторен, начиная с первой группы, при сохранении для остальных полученных на предыду- щих этапах значений к. Возможно последующее разби- ение групп операций на более мелкие подгруппы. Выбор значений fc0, fcx,... проводится по признаку «лучшее расписание в серии» на основании непосредствен- ного генерирования серий расписаний для всех значений к из некоторого диапазона. Этот признак не является единственно возможным. На рис. 7.3.1 показана зави- симость различных оценок серии расписаний от выбран- ных значений fc0 Для генераторов Г (FIFO) и rR (А —»FIFO) в условиях задач А и В, Оценки проводились по
§ з] СЛУЧАЙНЫЙ ПОИСК С ОБУЧЕНИЕМ 201 признакам «лучшее расписание в серии» (1), «лучшая в среднем серия» (2) и признаку, являющемуся усредне- нием первых двух (3). Значение s = 8. Последние два признака дают возможность (во всяком случае в условиях рассматриваемых задач) организовать направленный по- иск к0 из-за отсутствия явно выраженных локальных эк- стремумов. Это соображение и желание получить генератор, даю- щий «хорошие в среднем» расписания, обусловили выбор третьего из указанных признаков. Далее, поскольку разбиение множества операций на группы в значительной степени определяется интуицией экспериментатора, процедура была несколько видоизме- нена в результате введения «переменных» групп. В этом случае из п последовательно отмечаемых при построении расписания операций первые операций автоматически относились к первой группе, следующие п2 операций — ко второй и т. д. Таким образом, состав групп изменялся в процессе генерирования расписаний. 3.3. На рис. 7.3.2 приведены результаты работы гене- ратора Г (FIFO) (линия 1) и генератора Г <6; 8> (линия 2), полученного из Г (FIFO) и Гв (А -> FIFO) описанным методом при — п2=. . . — п6 = 6 и $ = $х= . . . ... = $в=8. Параметры последнего к± = к3 = = ко — 8, к2 = 4, кь = 7. Рассматривается задача А. Рис. 7.3.3 иллюстрирует распределение числа распи- саний заданной длительности, полученных с использова- нием генераторов Г <6; 8> (линия 2) и Г <4; 8> (линия 1), являющегося результатом применения описанного метода для случая = и2 = п3 = п4 = 9 и$ = $х=. . . = $4 = 8. Параметры последнего кг = 4, к2 = 3, к3 = &4 = 8. Рис. 7.3.4 аналогичен рис. 7.3.2 для случая задачи В и ni = ^2=- • . = п20 = 5, $ = = . . . = $20 = 8. Луч- ший результат — расписание с общим временем 1281. В обоих случаях для определения Ао генерировалось 50 расписаний, для определения к2, ... — два расписа- ния. Уточнение значений ки к2, ... в результате повторе- ния процесса не проводилось. 3.4. Качество расписаний, получаемых в результате использования вероятностных «смесей» различных прин- ципов выбора операций, определяется тем, насколько
202 М ПРИБОРОВ. РАЗЛИЧНЫЕ МАРШРУТЫ [ГЛ. 7 т ...______________I_______________I_______________I---------------L- о ю го зо w Номер расписания Рис. 7.3.4.
§ з] СЛУЧАЙНЫЙ ПОИСП С ОБУЧЕНИЕМ 203 обосновано выбраны принципы для решения каждой кон- кретной задачи. Этот факт становится очевидным, если учесть, что организация эффективного поиска оптимально- го расписания с использованием большого числа правил приоритета встречает значительные затруднения. Простейшим выходом из создавшегося положения яв- ляется создание генераторов Г (ахЩ, • • •> а?Пг), в которых принципы Пх, П2, . . ., Пг взаимно дополняют друг друга в том смысле, что при различных значениях af могут быть получены все допустимые, точнее, все кон- курентноспособные расписания. Такие генераторы могут быть использованы для решения разнообразных задач. Однако оценить заранее их эффективность не представ- ляется возможным. Указанное решение не является единственным. Рас- смотрим одну из процедур поиска оптимального расписа- ния, в основе которой лежит стремление желательным образом развивать ранговую структуру расписания. Пусть построен один из сетевых графиков, порождае- мых данным смешанным графом. Этот график, очевид- но, однозначно определяет распределение операций по рангам. К первому рангу относят операции, каждая из которых не следует ни за одной операцией списка всех операций. Ко второму —- операции, каждая из которых не следует ни за одной операцией списка, полученного в результате удаления операций первого ранга, и т. д. Предположим, что известен способ построения нового графика, отличающегося от исходного небольшим изме- нением распределения всех или части операций по рангам. Этому графику соответствует, вообще говоря, некоторое новое значение общего времени выполнения всех опера- ций Т. Если это значение меньше ранее полученного, то последняя схема выбирается в качестве исходной для сле- дующего шага. В противном случае исходную схему сле- дует подвергнуть другим изменениям. В реально испытанной процедуре этого рода все по- строения велись в классе активных расписаний. На первом этапе с использованием Г (А) генерирова- лась серия расписаний, из которых выбиралось наилуч- шее и определялось распределение операций по рангам при этом расписании. Задавалось число 0 a 1 и
204 м йФиВогоЩ различные Маршруты [ГЛ. 7 генерировалось новое расписание по следующему принци- пу. Каждый раз, когда требовалось выбрать ту или иную операцию, из множества возможных претендентов выде- лялась группа операций с наименьшим относительно ис- ходного расписания рангом. Генератор с вероятностью а проводил выбор среди операций этой группы и с вероятно- стью 1—а — среди всех возможных претендентов. h/jV~ I I | | । । [ | озззззззз^гь^зззььг^зззьь г зз зз з зь ь г ъ оззззьззьзигььззьзмгьззьз^зззззмьггьа?** озззз ь ззььзигьзз^з^ззз^зьзззззъзььь г Рис. 7.3.5. Последовательное изменение ранговой структуры. Задача А. Если полученное расписание оказывалось лучше, то оно выбиралось в качестве исходного для следующего ша- га. В противном случае при заданном значении а процесс повторялся р раз, после чего изменялось значение а. Полученное в результате расписание на втором этапе аналогичным образом обрабатывалось «по частям». Ины- ми словами, при построении нового расписания описанный принцип выбора операций использовался только на пер- вых п± шагах, если не наступало улучшения — толь- ко на вторых п2 шагах и т. д. На остальных шагах вы- бор производился из группы операций с наименьшим рангом. В случае необходимости предусматривалась возмож- ность повторения описанного процесса, начиная с перво- го этапа и используя полученное расписание в качестве исходного. 3.5. Решение задачи А этим методом показано на рис. 7.3.5. Начальному расписанию соответствовало Т = = 82. Поскольку на втором этапе проводилась последова-
СЛУЧАЙЙЫИ ЙОЙСЙ G ОБУЧЕНИЕМ 205 $ 31 тельная обработка трех частей расписания (п± = п2 = = п3 = 12), на этом рисунке приведены три значения а, равные соответственно ап а2 и а3. На первом этапе 04 = а2 = аз полагались равными 0,75 без последующих изменений. На втором — значения ап а2 и а3 изменялись независимо с шагом 0,25. Значение р на первом этапе равнялось 2, на втором 1. Процесс поиска оптимального расписания с Т == 55 (табл. 7.3.1) потребовал построения 40 расписаний. Рис. 7.3.6. Сходимость процесса поиска оптимального расписания. Задача Л. На рис. 7.3.6 приведены значения Т последовательно улучшаемых расписаний, начиная с различных генерируе-
206 М ПРИБОРОВ. РАЗЛИЧНЫЕ МАРШРУТЫ (ГЛ. 7 Таблица 7.3.2 Требования Время начала обслуживания требования прибором Приборы 1 2 1 3 1 1 4 5 1 158 199 218 301 373 2 187 254 501 382 606 3 935 842 983 1092 1073 4 774 683 898 1143 857 5 37 14 0 63 84 6 845 147 58 1137 225 7 553 488 656 767 866 8 316 208 14 363 417 9 82 943 739 173 1026 10 614 403 547 720 767 11 924 764 1073 888 970 12 443 534 267 576 678 13 678 933 824 1003 1092 14 454 562 357 622 720 15 76 86 452 523 156 16 348 0 1094 451 541 17 0 58 45 84 273 18 230 329 608 924 453 19 763 614 688 799 896 20 63 79 142 249 328 мых Г (А) расписаний. Приведено также общее число построенных в каждом случае расписаний. Эти данные получены в результате использования только первой части описанной процедуры при а = 0,81 и р = 3. Решение задачи В привело к расписанию с Т = 1178. Значения пх = п2 = . . . = п10 = 10, значения alt a2, ... . . ., a10 изменялись так же, как и в случае задачи А. Всего потребовалось построить 69 расписаний. Незначи- тельная модификация полученного расписания, проведен- ная вручную, позволила построить расписание с Т = 1165, являющееся оптимальным в условиях рассматриваемой задачи (табл. 7.3.2).
§ 4] ЛИНЕЙНЫЕ МОДЕЛИ 207 § 4. Линейные модели В этом параграфе мы приведем несколько формулиро- вок задачи построения оптимального (по быстродействию) расписания в терминах (частично) целочисленного линей- ного программирования. 4.1. Будем предполагать, что все операции (см. § 1) пронумерованы числами 1, 2, . . ., R — 1, tt — (изве- стная) длительность операции с номером г, a — (иско- мое) время начала этой операции. Введем в рассмотрение также «операцию» с номером В и нулевой длительностью. Предполагается, что эта операция следует во времени за каждой из остальных операций и время tji начала ее «вы- полнения» совпадает с общим временем выполнения всех операций. Для каждой пары операций i и j известно, являются ли эти операции зависимыми или независимыми. Если эти операции зависимы, то они не могут выполняться одно- временно. Последовательность их выполнения либо зада- на, либо должна быть определена. Выберем в качестве искомых величин значения = = tt — времена начала выполнения операций. Если известно, что операция / следует во времени за операцией i, то, очевидно, должно выполняться неравен- ство xi — xi > h- (4.1) Аналогично, если операции i и j одновременно не мо- гут выполняться, но последовательность их выполнения заранее не оговорена, то должно быть справедливо одно из неравенств xi — xi > или xt — xj > tj. (4.2) Отнесем каждой паре таких операций i и j величину у а, принимающую значение = 1, если операцию i ре- шено выполнять раньше операции /, и г/17- = 0 в против- ном случае. Тогда условие (4.2) можно записать в виде Вуц — > х5 — Xi > — В (1 — уц), (4.3) где В — достаточно большое число. Задача построения оптимального по быстродействию расписания, таким образом, сводится к нахождению зна-
208 М ПРИБОРОВ, РАЗЛИЧНЫЕ МАРШРУТЫ [ГЛ, 7 чений Xf и уи, которые удовлетворяют неравенствам (4.1) для всех (ц /) еЕ U и неравенствам (4.3) для всех [г, /] е= U и при которых величина xr = tR достигает наименьше- го значения. 4.2. В практическом отношении достаточно рассматри- вать ситуации, в которых времена выполнения опера- ций — целые числа. Пронумеруем временные промежутки единичной длины вида (0 — 1, 0] числами0= 1,2, . . .,Т, где Т — интервал планирования. Обозначим через х^ величину, принимающую значение 1, если г-я операция выполняется в 0-м временном проме- жутке, и значение 0 в противном случае. Для того чтобы за Т единиц времени могли быть выпол- нены все операции, необходимо, чтобы для всех i— 1, R выполнялось условие т 2 хи = ti- (4.4) 9=1 Поскольку каждая операция по условию выполняется непрерывно, то необходимо, чтобы неравенство т ^i9o — ^i90+l 4" 3 е=9<н-2 было справедливо для каждой операции i и всех 1 0О < Т-2. Если операции i и j не могут выполняться одновремен- но (т. е. [f, j] G U), то До + < 1 (4.6) для всех 0 = 1, Т. Если, кроме того, операция j по условию следует за операцией i (т. е. (г, J) Е !7), то Оо—1 ^0, — 2 < 0 (4-7) 0=1 для всех 2 0О TJ Задача заключается в нахождении таких значений xiQ, которые удовлетворяют перечисленным неравенствам и при этом величина Т минимальна.
БИБЛИОГРАФИЧЕСКАЯ СПРАВКА 209 § 5] 4.3. Своеобразным объединением обоих описанных вы- ше подходов служит модель, в которой переменные z^ принимают значения 1 или 0 в зависимости от того, начи- нается или нет выполнение операции i в 0-м промежутке вре- мени. Значения по-прежнему предполагаются целочис- ленными. В этом случае, очевидно, необходимо, чтобы * т 2 zi9 = 1 (4.8) ’ 9=1 для всех операций i. Если операция г предшествует операции / (т. е. (г, /) е= S Р), то должно выполняться неравенство f Go . 2 2z^ (^*9) I 9=1 0=1 для всех 0О и 9о ' 2 (4-10) 9=1 если 0О tt. Наконец, если операции i л j не могут выполняться одновременно, но порядок их выполнения заранее не ого- ворен (т. е. [г, /] е= Z7), то необходимо, чтобы выполнялось неравенство Go 9о 2+ 2 zjq 1» (4.И) 9=9| 9=9j где 0fe = max (1, 0О — tk + 1) и 1 0О Т. По-прежнему задача состоит в минимизации значения Т. v Линейные модели практически всех задач теории рас- писаний имеют большую размерность и содержат значи- i тельное число целочисленных переменных. § 5. Библиографическая справка Сетевые формы представления рассматриваемых в этой главе ситуаций предложены в работах Л. П. Матюшкова и В. С. Танаева v [113], Е. Балаша [229], В. В. Шкурбы [202], Дж. Геллера и Дж. Логемана [300]. В основу изложения §§ 2, 3 положена работа [113]. Генератор 1 (А) описан (в несколько иной терминологии) Б. Гиффлером и Дж. Томпсоном [281]. Р. Конвей и У. Максвелл [82] исследовдди
210 М ПРИБОРОВ. РАЗЛИЧНЫЕ МАРШРУТЫ (ГЛ. 7 правило «кратчайшей операции». Генератор Г (FIFO —> LRT) ис- пользовался для решения задач календарного планирования В. М. Португалом [138]. Исследование влияния правил приоритета на отдельные стороны производственного процесса проведено А. В. Бондаренко [19], В. Гере [279]. Различные по сложности пра- вила предпочтения предложены Э. Г. Иоффе [72], П. К. Выгнаном и Б. И. Кузиным [40], Д. Р. Джексоном [60], Н. Б. Мироносецким [118] и другими авторами. Идея построения рандомизированных генераторов наиболее четко описана в работе В. В. Шкурбы [205]. Сравнительный экспериментальный анализ разнообразных правил предпочтения провели Р. Конвей, Б. Джонсон, У. Мак- свелл [81, 253], Б. Гиффлер, Дж. Томпсон, В. Ван-Нессе [46], В. Гере [279]. Условия иллюстративных задач А л В заимствованы из работы [191]. Вопросам выбора правил предпочтения, оптимальной их компо- зиции и настройке посвящены работы Г. Фишера и Г. Л. Томпсона [191], У. Максвелла и М. Мехры [340], Т. П. Подчасовой [137], М. X. Андгуладзе [7], Л. В. Кочнева [86], А. Б. Ароновича [10]. Моделирующая система для исследования эффективности приори- тетов предложена в [243]. Линейная модель (4.1), (4.3) описана в работе А. Манна [338], (4.4)—(4.7) — в работе Е. Боумана [241], (4.8)—(4.11) — в работе А. Л. Лурье [НО]. Дж. Данциг [257] построил линейную модель с использованием специфического сетевого представления задачи. В [322] предложена модель, в которой все коэффициенты в ограни- чениях и все переменные булевы. Систематическое исследование применимости методов линейного программирования для решения задач календарного планирования проведено Ю. В. Глебским и В. Н. Шевченко [50,51], [199—201]. Этим же вопросам посвящены работы [75, 324, 381, 392]. Рас- пределение работ по параллельным машинам рассмотрено в [320, 323]. Несколько частных ситуаций оптимального планирования рас- смотрено в [164, 233, 252, 312, 329, 351, 367, 393]. Вопросы существования расписаний, реализующих процесс обслуживания в соответствии с заданными технологическими мар- шрутами, рассматривали Л. И. Фейгин [187] и Г. П. Акимов [3]. Попытки использовать декомпозиционный подход к решению большеразмерных задач предприняты в [221, 275, 294]. Метод ветвей и границ (применительно к сетевой постановке рассматриваемой задачи) описан в [229, 398]. С. Е. Эйкерс и Дж. Фридман [217, 218] предложили простей графический метод решения задачи оптимального (по быстродей- ствию) обслуживания двух требований М приборами. Этот метод получил дальнейшее усовершенствование и обобщение (на случай произвольного числа требований) в работах [47, 295, 346, 420, 421]. Специфический подход предложен в [5]. Верхние оценки длины оп- тимального расписания установлены Н. И. Глебовым и В. А. Пе- репелицей [48, 49], В. Э. Хенкиным [193].
ГЛАЙЛ 8 МЙОГООПЕРАТОРНЫЕ ПРОЦЕССЫ ОБСЛУЖИВАНИЯ Рассматривается ряд вопросов, связанных с оптимиза- цией процесса функционирования систем с М последова- тельными приборами, ограниченным числом операторов переноса, осуществляющих передачу требований от одного прибора к другому, и заданными временными графиками обслуживания требований. § 1. Процессы с неограниченным числом операторов переноса 1.1. Рассмотрим обслуживающую систему, содержа- щую М последовательных приборов, на вход которой в мо- мент времени d = 0 поступает п требований г типов (и = г = 2 пк9 где пк — число требований А-го типа). Время об- w служивания требования А-го типа L-м прибором равно tkL. Для осуществления передачи (транспортировки) тре- бований от одного прибора к другому используется $ одно- типных операторов переноса. Обозначим время, затрачи- ваемое оператором на перемещение обслуживаемого тре- бования А-го типа от L-ro к (L + 1)-му прибору, через Одь, а время перемещения незагруженного оператора от + + 1)-го прибора к L2-My прибору через SL1Lt- Пусть 02 озна- чает время, необходимое для переналадки L-ro прибора с обслуживания требования £-го типа на обслуживание требования типа /. Предполагается, что процесс обслужи- вания каждого требования непрерывен. Если обслужива- ние некоторого р-го по порядку требования, принадлежа- щего А-му типу, начинается в момент времени Vp первым прибором, то процесс протекает непрерывно до момента времени v* + tkl. Затем в течение ак1 единиц времени один из операторов переноса доставляет это требование ко вто- рому прибору. В момент времени v* + tkl + a/fl начинает-
^12 МЙО^ООПЁРАТОРЙЫЕ ПРОЦЕССЫ ОЁСЛУ&ИЁАЙИЛ [Гл. $ ся процесс обслуживания этого требования вторым при- бором и т. д., пока в момент времени v* + zm, где L L—1 z£ = 2 + 2 °^Q’ не будет завершен процесс обслу- Q—1 Q—1 живания этого требования. Каждый прибор одновременно обслуживает, а каждый оператор переноса осуществляет транспортировку не более одного требования. Все при- боры обслуживают требования в одной и той же последова- тельности. Для описания процесса функционирования систем та- кого рода достаточно задать моменты v}1, . . ., Vnn времени начала обслуживания каждого из п требований и временные графики перемещения каждого из s операто- ров переноса. В этом параграфе мы рассмотрим вопросы построения оптимальных по быстродействию расписаний обслужива- ния всех требований в предположении, что число операто- ров переноса достаточно для реализации любого или, по крайней мере, найденного оптимального расписания. За- тем рассмотрим задачу определения наименьшего числа операторов переноса, необходимых для реализации постро- енного расписания. 1.2. Пусть при заданном порядке обслуживания требо- ваний в системе р-е требование принадлежит г-му типу, а (р + 1)-е — /-му типу. Для того чтобы эти два требования не обслуживались одновременно L-м прибором, очевидно, необходимо и достаточно, чтобы (с учетом переналадки) Vp+l — Vp> zl — z[-}- tjL + 0Lj (!•!) для всех L — 1, M. Если каждая пара чисел v? < vl2 < • • • < vnn, где ik g U* 2, . . ., г}, удовлетворяет условию (1.1) при всех L = 1, М, то набор этих чисел будем называть расписани- ем и обозначать R {vj1, . . ., vnn}. Общее время обслу- живания всех требований при этом равно vnn + zm • Рас- писание R {vj1, v|2, . . ., Удп} будем называть оптималь- ным (по быстродействию), если vnn + z'm < vnn +
i 11 ЙЕОЙРАЙЙЧЕЙЙОЁ ЧЙСЛО ОПЁ РАТО РОЙ 213 где R {vi, v2j • • •> vnn} — произвольное расписание. Оптимальное расписание будем обозначать Rom {vl> v2> • • •» Vnn}. Положим 1ц = max {zl — z}L + tjL +0Й, 1<г, 7<r. (1.2) Поскольку обслуживание каждого требования на всех приборах идет непрерывно и в одной и той же последова- тельности, то каждая пара чисел {v'p, v^1} из набора Rom Va, . . ., угп} должна удовлетворять условию ^~^ = hpip+1, (1-3) Таким образом, если число операторов достаточно ве- лико, то оптимальное расписание полностью определяется порядком, в котором требования поступают на обслужи- вание. Этот порядок естественно называть оптимальным. Формула (1.3) дает возможность определить моменты вре- мени начала обслуживания требований и, в силу непре- рывности процесса обслуживания каждого требования, ка- лендарные сроки обслуживания каждого требования каж- дым прибором. Рассмотрим полный ориентированный симметрический граф (X, U), где X = {0, 1, . . ., г}, a U — множество дуг (г, /), 0 г, г. Каждой дуге (г, у) отнесем число Itj, которое будем называть длиной этой дуги, полагая lQj =0, IjQ = 41, 7 = 1, г, и Zoo = оо. Для нахождения оптимального порядка обслуживания требований, оче- видно, достаточно найти контур в графе (X, U), проходя- щий через каждую вершину к ровно пк раз (n0 = 1) и име- ющий наименьшую длину. Под длиной контура понимает- ся суммарная длина составляющих его дуг. Тем самым, если пк = 1, к = 1, г, то задача определе- ния оптимального порядка обслуживания требований сво- Дится к задаче коммивояжера. Если пк^ 1, к = 1, г, то получаем естественное обобщение задачи коммивояже- ра. В этом случае вместо поиска контура наименьшей дли- ны в графе (X, /7), проходящего через каждую вершину к
1 214 МЙОГООПЕРАФОРЙЫЕ ПРОЦЕССЫ ОБСЛУЖИВАНИЯ [Гл, 8 ровно пк раз, можно осуществить поиск гамильтонова кон- тура наименьшей длины в графе (Хх, U\). Здесь множество вершин Х± = {0, 1<х> , . . 1(П1\ . . г(п^}, U1 — множество всех дуг, соединяющих эти вершины. Каждой дуге (£<*>, fb) отнесено число длина этой дуги, 1 < г, / < г, 1 < к < nf, 1 < I < nh lQp = 0 и Z.(fc)o - = zm- Однако сведение исходной задачи к задаче коммиво- яжера при пк^1, особенно при п^>г, нецелесообраз- но из-за отсутствия эффективных методов решения по- следней. 1.3. Опишем один из методов решения указанной обоб- щенной задачи коммивояжера, так называемый метод по- следовательного восстановления связности. В этом методе существенно используется тот факт, что формулировка (обобщенной) задачи коммивояжера в терминах целочис- ленного линейного программирования отличается от со- ответствующей формулировки (обобщенной) задачи о наз- начениях только наличием ограничений, обеспечивающих связность получаемых в результате контуров. Посколь- ку для решения последней известны весьма эффективные методы, то появляется реальная возможность организации поиска решения исходной задачи среди допустимых реше- ний соответствующей задачи о назначениях. Обозначая через Хц число дуг вида (Z, /), содержащихся в искомом контуре, аналогично гл. 3, § 4, п. 4.2, рассма- триваемую (обобщенную) задачу коммивояжера можно за- писать в виде г 3 (1.4) 1, j=0 г г 'Eft J === О, Г, (1*5) j=0 j—О я{3>0, i, j = Q, r. (1.6) Кроме того, для каждого подмножества TV множества {О, 1, 2, . . ., г), содержащего 1 ц 1(г + 1)/2] элемен- тов, должно выполняться условие (1-7) г, j&N
5 Н НЕОГРАНИЧЕННОЕ ЧИСЛО ОПЕРАТОРОВ 215 Совокупность условий (1.7) обеспечивает связность по- лучаемого в результате контура. Переменные могут принимать только целочисленные значения. Метод последовательного восстановления связности обеспечивает целенаправленный поиск решения задачи (1.4) — (1.7) среди допусти- мых решений (планов) задачи (1.4) — (1.6). При этом на каждом шаге осуществляется решение задачи (1.4) — (1.6) с некоторой совокупностью дополнительных ограничений вида Ьц, где ^ — из- вестные целые неотрицатель- ные числа. Описание метода проиллю- стрируем примером, в кото- ром требуется найти контур наименьшей длины в полном графе (с петлями), содержащем 5 вершин — 0, 1, 2, 3, 4, длины дуг которого даны в табл. 8.1.1, при условии, что этот контур проходит через вершину 0 один раз, верши- ну 1 — четыре раза, вершину 2 — восемь раз, вершину 3 — пять раз, вершину 4 — семь раз. Рис. 8.1.1. Пусть {я?,} — (целочисленное) решение задачи (1.4)— (1.6). Если удовлетворяет условиям (1.7), то {#°} определяет искомый связный контур. В рассматриваемом случае получаем три изолирован- ных контура (рис. 8.1.1). Суммарная длина дуг равна 174. Выделим одну из компонент связности, содержащую, для определенности, наименьшее число q различных дуг.
216 МНОГООПЕРАТОРНЫЕ ПРОЦЕССЫ ОБСЛУЖИВАНИЯ [ГЛ. 8 Пусть эта компонента содержит аа3 дуг (а, р), дуг (у, 6) и т. д. avp, дуг (у, р,) и не содержит других дуг. В рассматриваемом случае наименьшее число различ- ных дуг, а именно дугу (2, 2), содержит компонента связ- ности с вершиной 2. Искомое решение должно удовлетворять хотя бы одно- му из ограничений <; аа3 — 1, — 1, ... . . ., — 1- В результате приходим к q задачам (1.4) — (1.6) с одним дополнительным ограничением вида btj. Решая каждую из них, получаем (целочислен- ные) значения равные {^}, . . ., {я$}, и значения линейной формы (1.4), равные с1, с2, . .., cq соот- ветственно. Если с1 = min (ск) и {х[Л определяет связный кон- тур, то {x\j} — искомое решение задачи. В противном слу- чае {x[j} определяет несколько изолированных контуров и, повторяя приведенные рассуждения, приходим к qt за- дачам минимизации линейной формы (1.4) при ограниче- ниях (1.5) — (1.6), ранее наложенном дополнительном ограничении вида и налагаемом на данном шаге еще одном ограничении вида х^ bij. В условиях рассматриваемого примера, решая задачу (1.4) — (1.6) с дополнительным ограничением х22<^ 7, по- лучаем два изолированных контура с суммарной длиной дуг, равной 177 (рис. 8.1.2). Компонента связности с вер- шинами 0 и 1 содержит наименьшее число различных дуг — дуги (0, 1), (1, 0) и (1, 1). Решаем три задачи (1.4)— (1.6) при х22^ 7 и дополнительном ограничении я01 = = 0, я10 = 0 и 2 соответственно. Полученные в ре- зультате решения этих задач контуры представлены на рис. 8.1.3, а, б, в. Суммарная длина дуг равна а) 178, б) 179 и в) 181. Ветвящийся процесс наложения дополнительных огра- ничений вида Xtj Ьц на задачу (1.4) — (1.6) представим древовидной структурой. При выборе наименьшего значе- ния линейной формы сравниваются между собой значения этой формы, соответствующие концевым вершинам этого дерева. На каждом шаге ветвлению подвергается одна из концевых вершин рассматриваемого на данном шаге дерева,
il нёоёрайичёнйоё число ойёратоёоё 217 Этот процесс конечен и завершается наступлением си- туации, при которой значения {я#}, соответствующие наи- меньшему из рассматриваемых значений линейной формы, определяют связный контур. В рассматриваемом случае контур, изображенный на рис. 8.1.3, а), является искомым. л; Рис. 8.1.3. Метод последовательного восстановления связности позволяет получить решение (обобщенной) задачи комми- вояжера сравнительно большого размера. На рис. 8.1.4 представлено решение задачи (1.4) — (1.6) в условиях табл. 8.1.2. Суммарная длина дуг равна 4102. Искомый контур представлен на рис. 8.1.5. Длина его равна 4451. Он получен в результате наложения на задачу (1.4) — (1.6) дополнительных Ограничений = 0, #14,14^ 2, *£13,5 2, %1?17 2. 1.4. Пусть Л {vl1, V2, . . ., Vn} — произвольное (в частности, оптимальное) расписание обслуживания требо- ваний. Рассмотрим задачу определения наименьшего чис- ла $ операторов переноса, необходимых для реализации этого расписания.
218 МНОГООПЕРАТОРНЫЁ ПРОЦЕССЫ ОБСЛУЖИВАНИЯ [ГЛ. 8 Расписание 7? {v|\ v2i . . vnn} однозначно опреде- ляет календарные сроки переноса (транспортировки) Рис. 8.1.4. Ю Рис. 8.1.5. требований от прибора к прибору, т. е. множество W временных интервалов wipL = (Урр + VpP + ZLP + (1’8) Зададим на множестве W отношение строгого поряд- ка. Будем говорить, что интервал предшествует
Таблица 8.1.2 1 \ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0 276 142 314 150 178 284 70 163 312 283 467 160 515 237 174 416 141 545 312 410 1 174 625 700 374 890 346 218 471 516 520 180 292 372 613 21 662 145 564 130 210 2 807 140 80 437 200 372 464 413 662 307 633 373 870 682 156 713 36 326 210 317 3 412 998 516 34 823 173 62 712 172 340 259 918 686 145 484 160 707 876 46 562 4 267 819 57 152 912 997 993 722 759 264 814 297 252 319 399 662 392 601 648 154 5 815 390 139 520 828 73 150 264 860 517 630 496 416 88 689 900 161 943 156 154 6 135 625 174 93 890 341 698 284 463 485 961 763 94 137 546 516 880 343 127 215 7 364 170 362 291 455 46 339 154 172 752 467 333 578 302 607 174 703 440 178 743 8 163 910 773 477 264 563 401 172 473 214 770 548 957 131 538 438 94 32 778 763 9 700 524 708 312 805 778 283 336 221 927 538 39 571 597 368 171 311 318 664 543 10 680 150 971 620 79 691 792 609 814 637 982 870 171 256 942 190 810 522 144 139 11 264 488 503 668 852 976 700 213 80 71 519 147 853 281 967 698 281 850 ИЗ 320 12 141 645 823 417 256 148 97 417 256 270 163 192 656 162 154 441 877 149 993 247 13 413 145 702 172 636 982 562 32 188 162 496 297 154 117 930 198 913 802 607 316 14 961 16 181 274 414 903 139 481 730 381 466 905 662 244 68 225 151 545 650 701 15 312 774 188 186 453 326 176 764 801 313 172 434 224 967 342 416 935 447 150 37 16 178 665 163 227 107 271 154 282 197 399 114 721 307 818 593 613 50 319 371 413 17 398 145 451 482 278 648 215 465 196 520 806 81 518 333 238 165 320 16 750 197 18 116 162 237 181 270 500 120 453 268 665 719 947 755 668 524 174 156 918 437 215 19 413 340 140 686 571 513 828 152 662 538 239 264 215 181 516 35 229 171 215 128 "i 1 5 3 4 2 4 6 3 3 2 1 5 3 4 8 1 3 7 2 2 НЕОГРАНИЧЕННОЕ ЧИСЛО ОПЕРАТОРОВ
220 МНОГООПЕРАТОРНЫЕ ПРОЦЕССЫ ОБСЛУЖИВАНИЯ [ГЛ. 8 интервалу если vp? - V* > 4? - 4?+'-(1.9) Поскольку одним оператором переноса можно осу- ществить те и только те перемещения требований, соответ- ствующие временные интервалы которых образуют ли- нейно упорядоченное подмножество множества W, то для определения наименьшего числа операторов переноса, тре- буемых для реализации расписания 7? {vi1, v22 , . . .,"vnn}, достаточно найти наименьшее число попарно непересекаю- щихся линейно упорядоченных подмножеств (цепей) мно- жества Ж, покрывающих это множество. По теореме 2.1 гл. 2 наименьшее число таких цепей равно максимальному числу попарно несравнимых элементов множества Ж. Эти элементы и сами цепи могут быть определены методами ли- нейного программирования (см. гл. 2, § 2, п. 2.3). Таб’л'ица 8.1.3 к hl Ьз *fc4 aki °/C4 | | 9b1 Hfc2 <>L TH М СО 5 4 8 3 3 6 3 5 5 2 6 4 4 7 4 6 2 6 6 3 0 5 2 3 1 2 1 2 1 2 1 1 1 1 1 1 2 2 1 2 to to <1 СЛ ОО JX О 1 0 1 1 1 1 0 1 1 1 1 0 1.5. В качестве примера рассмотрим задачу построе- ния оптимального расписания процесса обслуживания требований четырех типов, параметры которых приведе- ны в табл. 8.1.3. Значения ZfJ«, вычисленные по формуле (1.2), приведены в табл. 8.1.1. Используя полученное в предыдущем пункте решение соответствующей (обобщенной) задачи коммивояжера, по- лучаем оптимальный порядок обслуживания требований (2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 3, 4, 3,4, 3, 4, 3, 4, 4, 4,1,1,1,1)’ (см. рис. 8.1.3, а). Сначала последовательно обслуживают- ся все требования типа 2, затем попеременно типа Зи4, за- тем требования типа 4 и, наконец, требования типа 1.»
Таблица 8.1.4 Номер требования Тип требования Прибор 1 Прибор 2 Прибор 3 Прибор 4 Прибор 5 Прибор 6 нач. оконч. нач. оконч. нач. 0К0НЧ.О нач. оконч. нач. оконч. нач. оконч. 1 2 0 4 6 12 14 16 17 24 26 32 33 38 2 2 7 11 13 19 21 23 24 31 33 39 40 45 3 2 14 18 20 26 28 30 31 38 40 46 47 52 4 2 21 25 27 33 35 37 38 45 47 53 54 59 5 2 28 32 34 40 42 44 45 52 54 60 61 66 6 2 35 39 41 47 49 51 52 59 61 67 68 73 7 2 42 46 48 54 56 58 59 66 68 74 75 80 8 2 49 53 55 61 63 65 66 73 75 81 82 87 9 3 57 65 66 69 70 76 77 81 82 88 89 91 10 4 66 69 71 76 77 81 82 88 90 93 95 98 11 3 70 78 79 82 83 89 90 94 95 101 102 104 12 4 79 82 84 89 90 94 95 101 103 106 108 111 13 3 83 91 92 95 96 102 103 107 108 114 115 117 14 4 92 95 97 102 103 107 108 114 116 119 121 124 15 3 96 104 105 108 109 115 116 120 121 127 128 130 16 4 105 108 110 115 116 120 121 127 129 132 134 137 17 3 109 117 118 121 122 128 129 133 134 140 141 143 18 4 118 121 123 128 129 133 134 140 142 145 147 150 19 4 124 127 129 134 135 139 140 146 148 151 153 156 20 4 130 133 135 140 141 145 146 152 154 157 159 162 21 1 137 142 143 146 147 152 153 157 159 161 — — 22 1 142 147 148 151 152 157 158 162 164 166 — — 23 1 147 152 153 156 157 162 163 167 169 171 — — 24 1 152 157 158 161 162 167 168 172 174 176 — — НЕОГРАНИЧЕННОЕ ЧИСЛО ОПЕРАТОРОВ
222 МНОГООПЕРАТОРНЫЕ ПРОЦЕССЫ ОБСЛУЖИВАНИЯ [ГЛ. 8 Календарные сроки обслуживания каждого требова- ния каждым прибором приведены в табл. 8.1.4. Предиела- гнется, что процесс обслуживания требований начинается в момент времени d = 0. Общее время обслуживания всех требований равно 178 (с учетом транспортировки требова- ний типа 1 от 5-го к 6-му прибору). Пронумеруем ин- тервалы wipLi, определяемые табл. 8.1.4, приписывая каж- дому интервалу wipL номер 5 (р — 1) + L. Так, интервал (4, 6) получает номер 1, интервал (12, 14) — номер 2 и т. д., интервал (32, 33) — номер 5 и т. д., интервал (162, 163) — номер 113. Число интервалов равно 120, и сле- довательно, множество W содержит 120 элементов. Используя соотношение (1.9), на множестве W зада- дим отношение частичного порядка. Для определенности, положим = 0 для всех 1 Lx, L2 <1 М. Таким об- разом, интервал с номером 1 предшествует интервалу с но- мером 2, интервал с номером И предшествует интервалу с номером 9 и т. д. Интервалы с номерами 21*и 5 оказы- ваются несравнимыми. Максимальное число попарно несравнимых элементов множества W равно четырем. Такими элементами являют- ся, в частности, интервалы с номерами 79, 83, 87 и 91. Следовательно, если все = 0, то оптимальное распи- сание можно реализовать с использованием четырех опе- раторов переноса и нельзя реализовать с использованием меньшего числа операторов. Отметим, что если все 6L1L2 0, то оптимальное распи- сание нельзя реализовать с числом операторов, меньшим пяти. Действительно, в этом случае интервалы с номерами 40, 44, 48, 52, 56 оказываются попарно несравнимыми. Для нахождения допустимых графиков передвижения операторов от прибора к прибору и их загрузки во време- ни достаточно найти минимальное D-разложение множест- ва W. Вопросы рационального использования операторов переноса рассмотрены в конце следующего параграфа. § 2. Процессы с ограниченным числом операторов переноса Построение оптимального (по быстродействию) рас- писания процесса обслуживания требований в системе, описанной в предыдущем параграфе, в случае, когда чис-
S 2] ОГРАНИЧЕННОЕ ЧИСЛО ОПЕРАТОРОВ 223 до операторов s оказывается недостаточным для реа- лизации в системе допустимого расписания, представ- ляет значительные затруднения. Мы ограничимся рас- смотрением практически важного частного случая этой задачи, предполагая, что все обслуживаемые требования однотипны. Такого рода ситуации имеют место, в частно- сти, в гальванических цехах промышленных предприятий. В качестве критерия оптимальности расписания, как и раньше, выберем общее время обслуживания всех требо- ваний, если число этих требований конечно, и так назы- ваемую плотность расписания, если процесс обслужива- ния требований бесконечен. 2.1. Пусть, как и раньше, vp означает момент начала обслуживания р-го по порядку требования, р = 1, п. Най- дем условия, которым должны удовлетворять числа vx, v2, . . vn, чтобы процесс обслуживания требований мож- но было реализовать в системе с заданными параметрами (поскольку требования одного типа, у всех параметров опущены индексы типа). Так как каждый прибор системы не может одновремен- но обслуживать более одного требования, то необходимо, чтобы (с учетом переналадки) Vp+i vp > £, (2.1) р = 1, где t = max(ZL + 0l) (условие 1). Числа vx, v2, . . ., vn определяют множество W интер- валов WpL = (Vp + ZL, Vp + ZL 4- 3L), --- ------------ p = l,n, L= 1, M. Будем говорить, что интервалы и wP2l2 (pi < y?2) несравнимы, если VP2~~~ VPi (zLt — Zl2 — — Sl2Lp —^l2 + + Suu)- (2.3) Так как для межоперационной транспортировки тре- бований используется $ операторов переноса, то множест- во W не может содержать более s попарно несравнимых
224 МНОГООПЕРАТОРНЫЕ ПРОЦЕССЫ ОБСЛУЖИВАНИЯ [ГЛ. 8 интервалов (условие 2). Справедливо и обратное, т. е. если множество W содержит s попарно несравнимых интерва- лов, то для реализации процесса необходимо, по крайней мере, $ операторов переноса (см. предыдущий параграф этой главы). В случае, когда 5=1, условия 1 и 2 можно записать в виде VP2 — Vpt ЕЕ В, V1 = О, 1 < Р1 < < П, (2.4) где В — множество, образованное путем удаления интер- валов (2.3) из интервала (£, оо). Набор vx, v2, • • • > vn называется расписанием s-опера- торного процесса обслуживания однотипных требований (обозначение: R {vx, v2, . . ., vn}), если числа vx, v2, . . . . . vn удовлетворяют условиям 1 и 2. Расписание, оче- видно, полностью определяет календарные сроки обслу- живания каждого требования каждым прибором. При этом общее время обслуживания требований выразится вели- чиной Vn + ^м- Расписание R {vx, v2, . . ., vn} называет- ся оптимальным (обозначение: /?Опт {vxt v2, . . .,vn}), ес- ли vn vn, где R {vx, v2, . . ., v^} — произвольное рас- писание. Обозначим = ^опт (и), если /?{v19 v2, ... , vn} — оптимальное расписание. Наряду с конечными расписаниями мы будем рассма- тривать расписания бесконечных 5-операторных процес- сов обслуживания однотипных требований в системе. Рас- писанием бесконечного 5-операторного процесса обслу- живания однотипных требований в системе с известными параметрами называется последовательность чисел {vp}, удовлетворяющих условиям 1 и 2 (обозначение: R {vp}). Расписание R {vp} называется периодическим с периодом Г, если последовательность vx, v2, . . ., vh, vx + Г, . . . . . ., vh + T, vx + 2Г, ... — периодическая с тем же периодом (обозначение: R {v1? v2, . . ., vn; Т}). Плотно- стью периодического расписания называется величина h/T. Оптимальным периодическим расписанием называет- ся периодическое расписание с максимальной плотностью (обозначение: RonT {vx, v2, . . ., vh; T}).
5 2] ОГРАНИЧЕННОЕ ЧИСЛО ОПЕРАТОРОВ 225 2.2. Оптимальные периодические расписания занима- ют особое место среди расписаний s-операторных процес- сов. При весьма общих предположениях относительно то- го, что следует понимать под оптимальным расписанием бесконечного s-операторного процесса, можно показать, что поиск таких расписаний естественным образом огра- ничивается классом периодических расписаний. В этом параграфе мы покажем, что оптимальные распи- сания конечного s-операторного процесса можно аппрокси- мировать «отрезком» подходящей длины оптимального пе- риодического расписания. Рассмотрим также вопросы су- ществования оптимальных периодических расписаний и методы их построения. Поскольку на практике рассматриваются только сис- темы с рациональными параметрами и при подходящем выборе единицы измерения эти параметры можно считать целочисленными, то в дальнейшем мы будем рассматри- вать системы с целочисленными параметрами. Наблюде- ние за состоянием системы будем проводить также в цело- численные моменты времени £ = 0, 1, 2, . . . Состояние системы в момент времени t полностью опре- деляется заданием вектора U (£) = <Х (£), Y (£), V (£)>. При этом X (£) = <хх (£), . . ., хм (£)> описывает загру- женность приборов в момент времени £, т. е. если xL (£) = = 0, то Л-й прибор в момент времени t свободен, если (0 > 0, то L-й прибор в момент времени t занят обслу- живанием некоторого требования и с начала обслужива- ния этого требования L-м прибором прошло х^ (£) единиц времени. ВекторУ (£) = (i), ...» у! (*), • • Ум-i (0»- • • •> Ум-i (0> описывает загруженность операторов пе- реноса, т. е. если (£) ;> 0, то в момент времени t опера" тор с номером г транспортирует обслуживаемое требова" ние от L-ro к (L + 1)-му прибору и с начала транспорти- ровки этого требования до момента времени t прошло z/l (£) единиц времени. Если в момент времени t оператор с но- мером г не транспортирует обслуживаемое требование от Ь-го к (L + 1)-му прибору, то yrL (£) = 0. Наконец, вектор V (0 = Ох (£),- . . v8 (£)> описывает расположение (координаты) операторов переноса в момент времени £. Будем полагать, что если t —- целое число, то компоненты 8 В. G. Танаев, В. В. Шкурба
226 МНОГООПЕРАТОРНЫЕ ПРОЦЕССЫ ОБСЛУЖИВАНИЯ [ГЛ. 8 вектора V (t) могут принимать лишь конечное число зна- чений. Так как в этом случае число различных состояний сис- темы в моменты времени t — 0, 1, 2, ... при любом цело- численном расписании R {vp} не превосходит некоторой величины ф (так называемого числа допустимых состояний системы), существует такая подпоследовательность {ур } последовательности целых чисел {vp}, что состояния сис- темы в моменты времени v1? v2,. . . одинаковы, т. е. описы- ваются одним и тем же вектором: U (vp) = U (vp+1), р = = 1, 2, . . . Теорема 2.1. Среди периодических целочисленных расписаний s-операторного процесса обслуживания одно- типных требований в системе с целочисленными парамет- рами существует оптимальное расписание. Доказательс тво. Пусть Д{уь..., vz,..., vz+r,...,vh; Т}-— оптимальное целочисленное расписание при заданном пе- риоде Т. При достаточно большом периоде Т TQ (в ка- честве Tq можно выбрать, например, величину суще- ствуют такие числа vt и vHr, что состояния системы в мо- менты времени и vl+r одинаковы. Если-------то можно построить такое расписание R' {vz, ..., vz+r-i; Т'}> где T’ = Vi+r — Vi, что-^7 > 7г и Т'<Т. Если -—< Ч+г Ч , то можно построить такое расписание R" {v1?.. ., vz, V'i+1’ • • •’ Vh-r; ГДе Т" = Т “ Т' И V(+fc = Vl+r+fc - (Vz+r — Vt), — I —г, чтоЦ^->^- и Т"<Т. В обоих случаях периодическое расписание с периодом Т может быть заменено периодическим расписанием с пе- риодом, меньшим Т, и с плотностью не ниже плотности ис- ходного расписания. В заключение доказательства заме- тим, что плотность периодического расписания обслужи- вания однотипных требований в системе с заданными па- раметрами не превышает величины Mt. 2.3. Частным видом периодических расписаний яв- ляется расписание так называемого примитивного процес- са R {v; zM} и расписание циклического процесса, полу- ченного в результате совмещения примитивных процессов
§ 2j ОГРАНИЧЕННОЕ ЧИСЛО ОПЕРАТОРОВ 227 R {vn v2, * • • > z^}. Числа v1? v2, . . vh выбираются так, чтобы они принадлежали сегменту [t, zM — и удов- летворяли условиям типа условий 1 и 2. Циклические расписания, полученные в результате совмещения примитивных расписаний, образуют подкласс периодических расписаний, который может не включать оптимальное расписание. Рассмотрим, например, однооператорный бесконечный процесс обслуживания однотипных требований в системе со следующими параметрами: (JL) = (2х/2, 2, 2, 2, 0), (sL) — = е/а, 1, 1, 1V2), (0L) = (0), (6LlLt) = (0). Очевидно, в данном случае не существует циклическо- го процесса, совмещающего более двух примитивных про- цессов. Иначе говоря, не существует циклического процесса, являющегося результатом совмещения примитивных процессов, плотность расписания которого превышает 0,16. В то же время существует допустимое периодическое рас- писание R {0; 5} с плотностью 0, 2. 2.4. Связь между конечными и бесконечными расписа- ниями ^-операторного процесса обслуживания требований в системах с целочисленными параметрами устанавливает следующая Теорема 2.2. Имеет место соотношение . 0 < Гпер (п) - Топт (n) < (Tlh - t) ф + (1 - Uh) Т, (2.5) где Гпер (п) — время обслуживания п требований при периодическом расписании RoaT {vx, v2, . . ., vh; T}. Доказательство. Пусть -КОпт {Vi,..., Vip • • •> Vi2,... ..., ..., vn} — оптимальное расписание s-операторного процесса обслуживания п требований в системе с извест- ными параметрами. Так как параметры системы целочис- ленны, набор чисел {[vr],..., [vj,..., [vj,. . ., [vifo],..., [vn]} является расписанием и, поскольку [vp] vp, оптималь- ным расписанием. Пусть в моменты времени [ViJ, [vtj,... • • •» состояния системы одинаковы. Рассмотрим распи- сание 2?1{лК1),..vW} =[vfJ, [vi/o+1] - ([viz>] - — • • •, [Vn] — — [Vi,])}. Положим v<p 4- zM = Tj. Очевидно, Топт (n) = T± + ([vi(J — [vjJ). Если в моменты времени v^A),..состояния системы одинаковы, рас- 8*
228 МНОГООПЕРАТОРНЫЕ ПРОЦЕССЫ ОБСЛУЖИВАНИЯ [ГЛ. I смотрим расписание Т?2 {v<2>,..v^>} = R {vW,..v(A>, v(D — _ (v(i) _ va>),..v(i) — (v(i) _ V(i))}. Очевидно, Л == T2 + 4-(v<i>—r^e = vr? "I" Zm' В результате этих по- строений получаем такое расписание 7?u{v<u>,..v<u>}, что состояния системы в моменты времени v(w\..у(ад) раз- 1 ги личны и, следовательно, ги $р (ф — число допустимых состояний системы). Имеем Топт (п) = ти + ([vi(0] - [Vi,]) + (V$*> - v£>) + . . . • • • + СС?! ~ - 1) + (n - r„) + ZM, Tnep(n) = T + Упер (n - bpf1]) < (~T^ + 4) — * + ZM- Следовательно, ^пер (^) ^опт (w) ( 77 j “F (1 — T <(т-‘)”+(1-4)г’- По определению ГОпт (и) < ^пер (и). Теорема доказана. Из доказанной теоремы следует, что в качестве расписа- ния Яопт {vi, v2, . . ., vn} при достаточно большом значе- нии п можно использовать отрезок оптимального перио- дического расписания соответствующей длины. В случае, когда число операторов достаточно для реализации любо- го расписания, очевидно, Топт (п) = Тпер (п). Таким образом, поиск оптимального расписания (ко- нечного или бесконечного) процесса обслуживания одно- типных требований в системе с известными целочисленны- ми параметрами можно ограничить рассмотрением перио- дических целочисленных расписаний R {vx, . . ., vh; Т}, где vn v2, . . Vi + Т, v2 + Г, ... — целые числа, удовлетворяющие условиям 1 и 2. При этом числа vx, v2, . . ., vh и Т необходимо подобрать так, чтобы максими- зировать величину h/T. 2.5. Покажем, что эту задачу можно решить методами линейного программирования.
§ 2] ОГРАНИЧЕННОЕ ЧИСЛО ОПЕРАТОРОВ 229 Состояние системы называется допустимым, если су- ществует такое целочисленное расписание R {vp}, при ко- тором система в некоторый момент времени t (t — целое число) будет находиться в этом состоянии. Состояние IV называется состоянием, смежным допустимому состоянию U, если существует целочисленное расписание R {vp}, при котором система переходит из состояния U в состоя- ние U' за единицу времени. Рассмотрим граф, вершинам которого соответствуют допустимые состояния системы, и каждая вершина кото- рого, соответствующая состоянию U, соединена дугами с вершинами, соответствующими состояниям, смежным сос- тоянию U. Если IV = < (х1? . . ., хм), У', V > — состояние, смежное состоянию U, и = 1, то дуге, соединяющей со- ответствующие вершины графа, припишем «массу», рав- ную единице. Если =/= 1, то этой дуге припишем «массу», равную нулю. Длины всех дуг полагаем равными едини- це. Выберем произвольный контур в построенном таким образом графе. Определим длину и массу контура соот- ветственно как сумму длин и масс его дуг. Плотностью контура назовем отношение массы контура к его длине. Из доказательства теоремы следует, что задача нахож- дения оптимального периодического расписания сводится к задаче нахождения в описанном графе контура с наи- большей плотностью. Последняя задача может быть сформулирована в тер- минах линейного программирования. Действительно, пусть (X,~U) — некоторый ориентиро- ванный граф, каждой дуге (i, j) ее U которого приписаны длина lij и масса лг^. Если у — некоторый контур в гра- фе (X, Z7), то плотность этого контура р (Т) = S та I S 1а- (2-6) (г, j)ev / (г, j)GY Требуется найти в (X, U) контур у с наибольшей плот- ностью р (у). Рассмотрим задачу линейного программирования, в которой необходимо найти хц > 0, (i, j) е Uy удовле-
230 МНОГООПЕРАТОРНЫЕ ПРОЦЕССЫ ОБСЛУЖИВАНИЯ [ГЛ. 8 творяющие условиям 2 ХИ= 2 ХЯ* ЕЕ X, (2.7) (г, j)&J (j, г)&Т 2 = (2-8) G, и такие, что 2^0^^max. (2-9) (г, Если Xij > 0, то дуга (£, /) принадлежит искомому контуру у*. Если xij = 0, то дуга (г, /) не принадлежит этому контуру. Каждому контуру у можно сопоставить значения хц, равные ( 2 Ьи для всех (ь /) ЕЕ V и равные нулю для всех остальных дуг из 17. Эти значения х^, очевидно, удовлетворяют условиям (2.7), (2.8). Можно показать также, что любой вектор (xfJ), удов- летворяющий условиям (2.7), (2.8), представим в виде вы- пуклой линейной комбинации векторов (х^), определяю- щих контуры в графе (X, U). Отметим также, что поиск оптимального по плотности контура можно ограничить рассмотрением элементарных контуров графа (X, U). Действительно, если у* — состав- ной контур, то представляя его в виде объединения двух контуров Vi и уз, получаем р (7*) > р (72), если р (7*) < < р (71)- Следовательно, р (у*) = р (yj) =* р (yj). 2.6. Известные моменты начала обслуживания требова- ний неоднозначно определяют перемещения операторов пе- реноса и таким образом лишь частично описывают поведе- ние системы. Действительно, задавая целые числа vx, v2, . . vn, удовлетворяющие условиям 1 и 2, мы тем са- мым полностью определяем вектор X (t) в любой момент времени t, что, вообще говоря, не справедливо для векто- ров Y (t) и V (t). В связи с возможной неоднозначностью определения векторов У (i) и У (t) известным целочислен- ным расписанием R {vx, va, . . ., vn} возникает задача на- хождения оптимального в том или ином смысле режима работы операторов переноса.
§ 2] ОГРАНИЧЕННОЕ^ЧИС ПОДОПЕРАТОРОВ 231 Пусть на плоскости задано (уп — vx 4- z^ +yl) парал- лельных прямых (рис. 8.2.1). Занумеруем их в порядке О, 1, 2, . . ., vn — vx 4- Рассмотрим граф, верши- ны которого расположены на этих прямых, причем на Рис. 8.2.1. Схема возможных изменений состояний операторов переноса. fc-й прямой расположены вершины, соответствующие допу- стимым состояниям U (vx 4- к) системы при известном рас- писании R {vx, v2, ...» vn}. Если U (vx + к 4- 1) — состо- яние, смежное состоянию U (vx 4~ к), то соответствующие вершины графа соединим дугой. Переход U (vx + к) -> -> U (vx 4- к 4- 1) вызывает изменение в загрузке и место- расположении операторов переноса, которое можно оха- рактеризовать некоторой величиной, которую мы припи- шем соответствующей дуге графа и будем называть «дли- ной» этой дуги. Очевидно, путь в этом графе, началом которого служит вершина, расположенная на 0-й прямой и соответствую- щая начальному состоянию системы U (vi), концом — вер- шина, расположенная на (уп — vx 4“ ^м)-й прямой, дает полную информацию о расположении загруженных и не- загруженных операторов переноса в любой момент време- ни. Так как этот путь существует не для любого начально- го состояния системы,, то следует дополнить рассматри- ваемый граф вершинами, соответствующими всевозмож- ным начальны^ состояниям системы.
232 МНОГООПЕРАТОРНЫЕ ПРОЦЕССЫ ОБСЛУЖИВАНИЯ [ГЛ, 8 Таким образом, задача рационального использования операторов переноса при реализации заданного расписа- ния сводится к задаче нахождения пути наименьшей дли- ны вида U (V1) + u (V1 + 1) + U (vn + ZA1) в построенном графе. Последняя задача может быть реше- на известными методами. В каждом конкретном случае размер графа можно существенно уменьшить. § 3. Библиографическая справка Аппарат описания и анализа многооператорных процессов раз- вит в работах Д. А. Супруненко, Р. И. Тышкевич, В. С. Айзен- штата и А. С. Метельского [1, 2, 114, 115, 116, 166, 167]. В [1, 2] рассматриваются вопросы совмещения примитивных процессов в системах с одинаковыми маршрутами обслуживания, в [114— 116] эти результаты обобщаются на случай различных маршрутов. В основу данной главы положены работы А. Ш. Блоха и В. С. Танаева [18, 173]. Вопросы асимптотического оптимального управ- ления рассматривались И. В. Романовским [150]. В частности, в [150] содержится формулировка задачи 2.7—2.9 и аналог теоремы 2.2. Алгоритм определения ограниченного по длине пути с макси- мальным весом приведен в [157]. Метод последовательного восстановления связности описан в [172]. Определению оптимальных путей в графах типа рис. 8.2.1 посвящены работы Н. Н. Моисеева [123], И. X. Сигала и В. А. Че- бакова [158]. Вопросы реализуемости плана и использования методов линей- ного программирования для построения оптимальных расписаний рассмотрены Д. И. Коганом [80].
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 1. Айзенштат В. С., Многооператорные циклические про- цессы, ДАН БССР 7, № 4 (1963), 224-227. 2. Айзенштат В. С., Совмещение примитивных цикличе- ских процессов, ДАН БССР 7, № 3 (1963), 148—151. 3. А к и м о в Г. IL, Об одном алгоритме в задаче календар- ного планирования, Сб. «Матем. программирование», М., «Наука», 1966, 46—61. 4. А к о ф Р., С а си е ни М., Основы исследования операций, М., «Наука», 1971. 5. А л е к с е е в А. С., Метод точечных преобразований в зада- че составления оптимального графика ритмичного производ- ства двух типов изделий на одном оборудовании, Изв. высш, учебн. заведений, Радиофизика 3, № 4 (1960), 706—715. б. Ангуладзе М. X., Ломинадзе М. М., Чанко- тадзе В. В., Шартава В. К., К задаче оптимального распределения работ по параллельным местам в случае нели- нейных функций потерь, Тр. проблем, лаб. автом. и выч. техн., Груз, политехи, ин-т, № 3, 1972, 117—123. 7. А н г у л а д з е М. X., Об использовании метода статисти- ческого поиска с применением правил предпочтения в задачах составления расписаний, Сакартвелос ССР, Мецниеребата Академиис моамбе, Сообщ. АН Груз. ССР 65, № 2 (1972), 417— 420. 8. Антипов В. И., Решение частной задачи календарного планирования методом сравнения состояний, Сб. «Системы распределения ресурсов на графах», М., Вычисл. центр АН СССР, 1970, 7—24. 9. Арайс Е. А., О задаче коммивояжера, Тр. Сиб. физ.- техн. ин-та при Томск, ун-те, вып. 51, 1970, 274—277. 10. Аронович А. Б., О выборе оптимальных комбинаций локальных правил календарного планирования, Экономика и матем. методы 6, № 4 (1970), 548—557. 11. Аронович А. Б., Об одной задаче календарного плани- рования, Экономика и матем. методы 4, № 3 (1968), 401—406. 12. Б а р к а н С. А., Об одной модели двухстадийного произ- водства, Изв. АН БССР, сер. физ.-техн. наук, № 2 (1969), 42-47. 13. Б а р к а н С. А., Танаев В. С., О построении расписа- ний учебных занятий, Изв. АН БССР, сер. физ.-мат. наук, № 1 (1970), 76—82. 14. Б а р с к и й А. Б., Две задачи оптимизации использования неоднородных вычислительных систем, Изв. АН СССР, Техн, кибернетика, № 4, (1968), 32—38.
234 ЦИТИРОВАННАЯ ЛИТЕРАТУРА 15. Веллман Р., Динамическое программирование, М., ИЛ, 1960. 16. Б е л л м а н Р., Дрейфус С., Прикладные задачи ди- намического программирования, М., «Наука», 1965. 17. Б е р ж К., Теория графов и ее применение, М., ИЛ, 1962. 18. Б л о х А. Ш., Танаев В. С., Многооператорные про- цессы, Изв. АН БССР, сер. физ.-мат. наук, № 2 (1966), 5—11. 19. Бондаренко А. В., Эвристические подходы к решению задач календарного планирования, Сб. «Автоматизир. системы упр. предприятиями. Тр. семинара», вып. 1, Киев, 1968, 47—65, Дискуссия, 71—73. 20. Б у л г а к о в В. А., Кузнецов И. Н., Детерминиро- ванная система с многократным обслуживанием, Сб. «Избр. тр. Всес. межвуз. симпоз. по прикл. матем. и кибернет.», Горький, 1967, М., «Наука», 1973, 146—150. 21. Бурдюк В. Я., О выборе последовательности загрузки станков, Экономика и матем. методы 6, № 1 (1970), 112—116. 22. Бурдюк В. Я., Одна экстремальная задача теории распи- саний, Кибернетика, № 3 (1973), 103—108. 23. Б у р д ю к В. Я., О задаче т станков (т 2), Кибернетика, № 3 (1969), 74-76. 24. Бурдюк В. Я., Стохастическая задача двух станков, Кибернетика, № 5 (1969), 110—114. 25. Б у р д ю к В. Я., Мазня Т. А., Об одной задаче упоря- дочения, Сб. «Автоматизир. системы упр. предприятиями. Тр. семинара», вып. 2, Киев, 1969, 88—98. ,26 . Бурдюк В. Я., Ш к у р б а В. В., Теория расписаний. Задачи и методы решений, Кибернетика, № 1 (1971), 89—102. 27. Б у р д ю к Т. А., Упорядочение работ для станков равной производительности, Изв. АН СССР, Техн, кибернетика, № 1 (1972), 32—36. 28. Б у р к о в В. Н., Ловецкий С. Е., Методы решения экстремальных комбинаторных задач (обзор), Изв. АН СССР, Техн, кибернетика, № 4 (1968), 82—93. 29. Б у р к о в В. Н., Ловецкий С. Е., Методы решения экстремальных задач комбинаторного типа (обзор), Автоматика и телемеханика, № 11 (1968), 68—93. 30. Б у р к о в В. Н., Соколов В. Б., Оптимальное разме- щение информационных массивов в памяти на магнитных лентах для случая двунаправленного поиска, Автоматика и телемеханика, № 4 (1969), 107—117. 31. Бусленко Н. П., Математическое моделирование произ- водственных процессов М., «Наука», 1964. 32. В а с и л ь е в В. В., Додонов А. Г., Л е в и н а А. И., Об одном методе решения задачи коммивояжера, Тр. семинара по методам матем. моделирования и теории электр. цепей, Ин-т кибернет. АН УССР, вып. 9, 1971, 58—67. 33. В е д у т а Н. И., Сафроненко В. А., Математиче- ская модель календарного планирования серийного произ- водства, Экономика и матем. методы 6, № 6 (1970), 894—909. 34. Венкова Н. Б., Тушкина Т. А., Шахбазяа К. В., О расписании, минимизирующем число процессоров
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 235 однородной вычислительной системы, Изв. АН СССР, Техн, кибернетика, № 5 (1971), 115—117. 35. Власюк Б. А., Задача оптимального расписания при па- раллельно-последовательном соединении машин, Изв. АН СССР, Техн, кибернетика, № 4 (1966), 67—71. 36. Власюк Б. А., Задача оптимального расписания при на- . личии переналадок, Экономика и матем. методы 3, № 3 (1967), 415—419. 37. В л а с ю к Б. А., Оптимальное расписание обработки дета- г лей на трех последовательных машинах, Изв. АН СССР, Техн, кибернетика, № 4 (1967), 79—84. 38. Волынский Э. И., К р а с и н Л. А., Оптимальная рас- становка исполнителей на заключительном этапе работ, Изв. АН СССР, Механиз. и автоматиз. упр., Научн.-произв. сб., № 2, 1973, 16—18. 39. В о р о н о в А. А., Исследование операций и управление, 1 М., «Наука», 1970. 40. В ы г н а н П. К., Кузин Б. И., Алгоритм построения календарного графика работы оборудования на участках с разнонаправленными маршрутами обработки, Сб. «Примен. матем. в экон.», вып. 5, Л., Ленингр. ун-т, 1969, 68—78. 41. Габов ич Е., Задача коммивояжера. I. Тр. Вычисл. I центра, Тартуск. ун-т, вып. 19, 1970, 52—96. 42. Г а б о в и ч Е., Малая задача коммивояжера, Тр. Вычисл. центра, Тартуск. ун-т, вып. 19, 1970, 27—51. > 43. Г а б о в и ч Е., Чиж А., Я л а с А., О задаче комми- вояжера на узкие места, Тр. вычисл. центра, Тартуск. ун-т, вып. 22, 1971, 3—24. 44. Г е л ь т м а н Л. С., Гусман С. Я., О решении задачи нахождения оптимального маршрута, Тр. Н.-и. ин-та упр. выч. машин и систем, вып. 2, 1968, 51—55. I 45. Гиффлер Б., Алгебры календарного планирования и их применение при формулировании моделей общих систем, Сб. «Календари, планирование», М., «Прогресс», 1966, 62—83. 46. Гиффлер Б., Томпсон Д., Ван-Нессе В., Опыт вычислений с применением линейного алгоритма и ал- । горитма Монте-Карло для решения задач календарного пла- нирования на производстве, Сб. «Календаря, планирование», М., «Прогресс», 1966, 42—61. г 47. Глебов Н.И., Алгоритм составления оптимального рас- писания для двух работ, Сб. «Управляемые системы», вып. 1, Новосибирск, «Наука», 1968, 14—20. 48. Г л е б о в Н. И., О верхней оценке длины оптимального расписания для двух работ, Сб. «Пробл. кибернетики», вып. 20, М., «Наука», 1968, 225—229. 49. Глебов Н. И., Перепелица В. А., О нижней и верх- ней оценках для одной задачи теории расписаний, Сб. «Исслед. по кибернетике», М., «Сов. радио», 1970, 11—17. 50. Г л е б с к и й Ю. В., Шевченко В. Н., О составлении оптимального расписания работы на п станках, Тр. по вопр. ' применения ЭВМ в нар. хоз-ве, Горький, 1964, 31—34.
236 ЦИТИРОВАННАЯ ЛИТЕРАТУРА 51. Глебский Ю. В., Шевченко В. Н., О составлении оптимального плана работ, Научи, тр. Моск, инж.-экон. ин-та, вып. 21, 1964, 318—324. 52. Г л у б о ч а н с к и й А. Д., Об одном расширении класса функций штрафов в задачах составления расписаний, Кибер- нетика, № 1 (1971), 103—104. 53. Голенко Д. И., Т арнопо л ьский Ю. Я., Опти- мизация календарных планов методами направленного поиска, Кибернетика, № 6 (1970), 138—144. 54. Гордон В. С., Детерминированные одностадийные систе- мы обслуживания с прерываниями процесса обслуживания, Сб. «Вычислит, техн, в машиностроении», 1973, июнь, 30—38. 55. Г о р д о н В. С., Танаев В. С., Детерминированная система обслуживания с одним прибором и ступенчатыми функ- циями штрафа, Сб. «Вычислит, техн, в машиностроении», 1971, сентябрь, 3—8. 56. Гордон В. С., Танаев В. С., Прерывания в детерми- нированных системах с параллельными приборами и неодно- временным поступлением требований на обслуживание, Ма- териалы семинара ИТК БАН и ИТК АН БССР «Оптимизация систем сбора, передачи и обработки аналоговой и дискретной информации в локальных ИВС», Минск, 1973, 36—50. 57. Г о р д о н В. С., Танаев В. С., Директивные сроки в однофазных детерминированных системах обслуживания, Материалы семинара ИТК БАН и ИТК АН БССР «Оптимиза- ция систем сбора, передачи и обработки аналоговой и дискрет- ной информации в локальных ИВС», Минск, 1973, 51—58. 58. Г о р д о н В. С., Танаев В. С., Детерминированные системы обслуживания с одним прибором, древовидным упо- рядочением требований и экспоненциальными функциями штрафа, Сб. «Вычислит, техн, в машиностроении», 1973, июнь, 3—10. 59. Д а н ц и г Д. Б., Г о ф ф м а н А. Дж., Теорема Дилворта о частично упорядоченных множествах, Сб. «Линейные нера- венства и смежн. вопр.», М., ИЛ, 1959, 311—317. 60. Джексон Д. Р., Очереди с динамическим правилом при- оритета, Сб. «Календарное планирование», М., 1966, 357—377. 61. Д р а х л и н Е. X., Якимов Р. М., Об одном методе определения оптимальной последовательности непрерывного процесса обработки, Сб. научн. тр. Пермск. ин-та, № 21, 1966, 55-58. 62. Д р а х л и н Е. X., Якимов Р. М., Анализ свойств оптимального варианта последовательности обработки изде- лий, Сб. научн. тр. Пермск. ин-та, № 21, 1966, 59—61. 63. Д у м л е р С. А., Управление производством и кибернетика, М., «Машиностроение», 1969. 64. Журженко С. Л., О методе решения одного класса задач теории расписаний, Изв. АН СССР, Техн, кибернетика, № 1 (1968), 59-67. 65. Ж у р ж е н к о С. Л., Задачи распределения одностадий- ного производства (обзор литературы), Сб. «Моделиров. экон, процессов», вып. 2, М., МГУ, 1968.
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 237 66. Зак Ю. А., Алгоритмы решения задач «п коммивояжеров», Кибернетика, № 1 (1972), 99—106. 67. Зак Ю. А., Об одной задаче определения оптимальной по- следовательности переналадок оборудования, Кибернетика, № 6 (1968), 86—92. 68. Зак Ю. А., О некоторых задачах определения оптимальной последовательности переналадок оборудования, Сб. «Опера- тивн. упр. произв.», М., «Наука», 1971, 119—128. 69. Зак Ю. А., Определение порядка выполнения независимых операций на параллельных машинах, Изв. АН СССР, Техн, кибернетика, № 2 (1969), 15—20. 70. Зак Ю. А., Мельник И.М., Определение оптимальной последовательности переналадок, Сб. «Применение матем. методов в экон, исслед. и планирования. Тр. семинара», вып. 1, Киев, 1967, 10—19. 71. 3 а л е с с к и й А. Е., Сведение некоторых комбинаторных задач к целочисленному линейному программированию, Изв. АН БССР, сер. физ.-мат. наук, № 3 (1965), 24—28. 72. И о ф ф е Э. Г., Об одном алгоритме расчета календарных расписаний для производственного участка, Экономика и матем. методы 7, № 6 (1971), 876—882. 73. И о ф ф е Э. Г., Алгоритм для определения всех оптималь- ных расписаний в двухоперационной задаче Джонсона, Авто- матика и телемеханика, № 7 (1973), 95—101. 74. И р и к о в В. А., Некоторые задачи упорядочения, Изв. АН СССР, Техн, кибернетика, № 4 (1970), 38—42. 75. К а з а н ц е в Э. Н., Математическая модель графика вы- пуска изделий, удовлетворяющего требованию комплектации сборки, Изв. АН БССР, сер. физ.-мат. наук, № 1 (1968), 54-60. 76. Катаев В. А., Оптимальная очередь обработки деталей на произвольном количестве станков (теория расписаний), На- учи. тр. Н.-и. ин-та управл. выч. машин и систем, вып. 1,1967, 57-68. 77. Кислицын С. С., Конечные частично упорядоченные мно- жества и соответствующие им множества перестановок, Ма- тем. заметки 4, № 5 (1968), 511—518. 78. К и т и к М. Г., К вопросу «сужения» ветвления в задаче одного станка, Кибернетика, № 1 (1972), 145—147. 79. К л а д о в Г. К., Лившиц Э. М., О задаче минимизации суммы штрафов при составлении расписания, Кибернетика, № 6 (1968), 99-100. 80. К о г а н Д. И., Р-множества, A-множества и неразрешимые задачи дискретного управления, Изв. высш, учебн. заведений, Радиофизика, 15, № 3 (1972), 358—364. 81. Конвей Р., Джонсон Б., Максвелл У., Экспериментальные исследования распределения работ в соответствии с фиксированными правилами очередности их выполнения, Сб. «Применение статистических методов в про- изводстве», М., 1963, 212—232. 82. Конвей Р., Максвелл У., Календарное планиро- вание в условиях сети очередей с дисциплиной по кратчайшей
238 ЦИТИРОВАННАЯ ЛИТЕРАТУРА операции, Сб. «Календарное планирование», М., 1966, 321— 347. 83. Корбут А. А., Финкельштейн Ю. Ю., Дискрет- ное программирование, М., «Наука», 1969. 84. Коробков В. К., Кричевский Р. Е., Некоторые алгоритмы для решения задачи «коммивояжера», Сб. «Матем. модели и методы оптимальн. планир.», Новосибирск, «Наука», 1966, 106—108. 85. К о ф м а н А., Дебазей Г., Сетевые методы планиро- вания и их применение, М., «Прогресс», 1968. 86. Кочнев Л. В., Оптимизация системы приоритета в зада- чах расписания, Сб. «Кибернетика и вуз», вып. 3, Томск, Томск, ун-т, 1970, 114—122. 87. К у з и н Б. И., Тютюкин В. К., Задача о коммивоя- жере с ограничением на передвижение, ее алгорифм и эконо- мические приложения, Сб. «Применение матем. в экон.», вып. 6, Л., Ленингр. ун-т, 1970, 53—67. 88. Кузин Б. И., Тютюкин В. К., Обобщенная «задача коммивояжера», ее алгоритм и применение к определению порядка запуска предметов на переменно поточных линиях. Сб. «Применение матем. в экон.», вып. 5, Л., Ленингр. ун-т, 1969, 56—67. 89. К у к с а А. И., Задачи упорядочения в графах, Сб. «Алго- ритмизация произ. процессов. Тр. семинара», вып. 1, Киев, 1968, 56-71. 90. К у к с а А. И., Расписания на графах и независимые мно- жества графов, Кибернетика, № 4 (1970), 92—95. 91. Л а з е б н и к А. И., Хранович И. Л., Решение обоб- щенной задачи коммивояжера методом ветвей и границ, Эко- номика и матем. методы 9, № 2 (1973), 563—564. 92. Л а м б и н Н. В., Танаев В. С., О бесконтурной ори- ентации смешанных графов, ДАН БССР 14, № 9 (1970), 780— 781. 93. Л евин Г. М., Танаев В. С., Об одном классе комби- наторных задач оптимизации, Изв. АН БССР, сер. физ.-мат. наук № 5 (1968), 30—35. 94. Л е в и н Г. М., Танаев В. С., К теории оптимизации на множествах перестановок, ДАН БССР 14, К® 7 (1970), 588—590. 95. Левнер Е. В., Сетевой подход к задачам теории расписа- ний, Сб. «Исслед. по дискретн. матем.», М., «Наука», 1973, 135—150. 96. Левнер Е. В., Оптимальное планирование обработки объектов на ряде машин, Автоматика и телемеханика, № 12 (1969), 94-100. 97. Левнер Е. В., Об одной задаче календарного планировав ния, сводимой к задаче о кратчайшем пути, Тр. 4-й зимней школы по матем. программированию и смеж. вопросам, вып. 2, М., 1971, 93—98. 98. Л е о н т ь е в В. А., Построение на заданном множестве точек гамильтонова цикла, близкого по длине к наикратчай-
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 239 г шему, Сб. «Актуальн. вопр. техн, кибернетики», М., «Наука», ‘ 1972, 244—248. 99. Лепешинский Н. А., О классификации 2 X п задач Джонсона — Веллмана, Изв. АН БССР, сер. физ.-мат. наук, № 1 (1967), 18—21. 100. Лепешинский Н-. А., К вопросу упорядочения обра- ботки деталей, Изв. АН БССР, сер. физ.-мат. наук, № 2 (1966), f 31—35. i 101. Лепешинский Н. А., Одна задача теории расписаний \ и максимум суммы линейных форм на множестве перестано- вок, Изв. АН БССР, сер. физ.-мат. наук, № 3 (1967), 51—54. 102. Лепешинский Н. А., Об одной задаче теории распи- саний, Изв. АН БССР, сер. физ.-мат. наук, № 3 (1966), 90—96. 103. Лившиц Э. М., Последовательность операций при изго- товлении сложной детали, Автоматика и телемеханика, № 11 } (1968), 94-95. [ 104. Лившиц Э. М., Минимизация максимального штрафа I в задаче одного станка, Тр. 1-й зимней школы по матем. программированию в г. Дрогобыче, М., 1969, 474—475. 105. Лившиц Э. М., П ленкова В. А., Руб липец- кий В. И., Рандомизация локально-оптимальных алгорит- мов решения дискретных задач, Сб. научн. тр. физ.-техн. 1 ин-та низк. температур, АН УССР, вып. 1, 1969, 5—11. 106. Лившиц Э. М., Рублинецкий В. И., О сравни- тельной сложности некоторых задач дискретной оптимизации, ' Сб. «Вычисл. матем. и вычисл. техн.», вып. 3, Харьков, 1972, 78—85. 107. Л и н с к и й В. С., Корнев М. Д., Составление опти- мальных расписаний для параллельно действующих процес- соров, Изв. АН СССР, Техн, кибернетика, № 3 (1972), 160—167. 108. Лобановский Н. М., Об оптимальном планировании * последовательности выполнения работ на одной или двух ма- шинах, Сб. «Кибернетика и управление», М., «Наука», 1967, 109. Логинов Э. А., Замечание к алгоритму Джонсона, Эко- I номика и матем. методы 9, № 2 (1973), 359—361. 110. Лурье А. Л., О некоторых задачах календарного плани- i рования, Сб. «Пробл. кибернетики», М., «Наука», вып. 7, 1962, 201—208. ’ Ш. Лурье А. Л., О математических методах решения задач { на оптимум при планировании социалистического хозяйства, М., «Наука», 1964. 112. Лыткин И. П., Об одной задаче календарного планирова- ния, Экономика и матем. методы 7, № 2 (1971), 286—289. ИЗ. М а тюшков Л. П., Танаев В. С., Программные генераторы допустимых расписаний, Сб. «Вычислительная । техника в машиностроении», Минск, 1967, июль, 35—48; 1968, февраль, 12—28. 114. Метельский А. С., О некоторых периодических про- цессах, ДАН БССР 7, № 9 (1963), 584—587. 115. М е т е л ь с к и й А. С., Периодические процессы, ДАН БССР, 9, № 12 (1965), 788—790.
240 ЦИТИРОВАННАЯ ЛИТЕРАТУРА 116. Метельский А. С., К системе периодических процес- сов, ДАН БССР 7, № 11 (1963), 724—728. 117. Мимори С., Теория расписаний, Дэнки гаккай дзасси, J. Inst. Elec. Eng. Jap. 92, № 11 (1972), 1088—1092. 118. Мироносецкий H. Б., Экономико-математические методы календарного планирования, Новосибирск, «Наука», 119. Михалевич В. С., Последовательные алгоритмы опти- мизации и их применение. I, II, Кибернетика, № 12 (1965), 85—89. 120. Михайлович В. С., Ермольев Ю. М., Ш к у р- ба В.В., Шор Н.З., Сложные системы и решение экстре- мальных задач, Кибернетика, № 5 (1967), 29—37. 121. Михалевич В. С., Шкурба В. В., Последователь- ные схемы оптимизации в задачах упорядочения выполнения работ, Кибернетика, № 2 (1966), 34—40. 122. Михалевич В. С., Шор Н. 3., Численное решение многовариантных задач по методу последовательного анализа вариантов. Научн.-метод. материалы экон.-матем. семинара, вып. 1, М., ЛЭММ АН СССР, 1962. 123. Моисеев Н. Н., Методы динамического программирова- ния в теории оптимальных управлений, ЖВМ и МФ, ч. I, 4, № 3 (1964), 485—494; ч. II, 5, № 1 (1965), 44—56. 124. Моисеев Н. Н., Численные методы теории оптимальных управлений, использующие вариации в пространстве состоя- ний, Кибернетика, № 3 (1966), 1—129. 125. М уд р о в В. И., Один способ решения задачи коммивоя- жера с помощью целочисленного линейного программирова- ния, ЖВМ и МФ 3, № 6 (1963), 1137—1139. 126. Мудров В. И., Определение гамильтоновых путей крат- чайшей длины в полном графе методами целочисленного ли- нейного программирования, Изв. АН СССР, Техн, киберне- тика, № 2 (1965), 3—8. 127. Никитин А. В., Применение динамического программи- рования для решения некоторых задач упорядочения, Тр. Моск, энерг. ин-та, вып. 68, 1969, 165—169. 128. Николаев К. Г., Плужников Л. П., Алгоритм перестановок для построения допустимого расписания, Изв. АН СССР, Техн, кибернетика, № 3 (1969), 26—32. 129. Озерной В. М., Рябов Л. П., Эвристический метод оптимизации последовательности выполнения операций, Авто- матика и телемеханика, № 12 (1967), 169—172. 130. Осколкова С. Е., Осколков И. О., Применение некоторых эвристических методов к решению задач календар- ного планирования (обзор), Автоматика и телемеханика, № 2 (1968), 177—184. 131. Панайоти Б. Н., Пьянзина Л. Я., Чебаков В. А., Минимизация числа прерываний в многопроцессорном расписании, Изв. АН СССР, Техн, кибернетика, № 4 (1971), 103—110. 132. Парамонов Ф. И., Математические методы расчета многономенклатурных потоков, М., «Машиностроение», 1964.
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 241 133. Парамонов Ф. И., Автоматизация управления груп- повыми поточными линиями, М., «Машиностроение», 1973. 134. Перепелица А. В., Асимптотический подход к решению некоторых экстремальных задач на графах, Сб. «Пробл. кибер- нетики», вып. 26, 1973, 291—314. 135. Перепелица В.А., Об одной задаче теории расписаний, Кибернетика, № 5 (1966), 75—78. 136. Перепелица В.А., К задаче нахождения минимального гамильтонова пути на графе со взвешенными дугами, Сб. «Методы управления большими системами», т. 2, Иркутск, 1970, 252—259. 137. Подчасова Т. П., Об оценках и выборе правил предпоч- тения в задачах календарного планирования, Сб. «Автомати- зир. системы упр. предприятиями. Тр. семинара», вып. 1, Киев, 1968, 5—46, Дискуссия, 71—73. 138. Португал В. М., Решение задач календарного планиро- вания с помощью правил предпочтения, Сб. «Прикл. матем. и кибернет. Материалы к Всес. межвуз. симпозиуму по прикл. матем. и кибернет.», Горький, 1967, 254—258. 139. Португал В. М., Исследования асимптотического пове- дения решений Джонсона, Кибернетика, № 1 (1971), 105—107. 140. Португал В. М., Об одной задаче теории расписаний, Кибернетика, № 1 (1972), 143—145. 141. Португал В. М., Применение комбинаторного метода для решения задачи составления расписаний, Кибернетика, № 4 (1967), 98-100. 142. Прилуцкий М< X., Шевченко В. Н., Об одном подходе к составлению оптимального плана работ, Сб. «Ис- следования по кибернетике», М., «Сов. радио», 1970, 18-20. 143. Прокофьев О. Н., Выбор оптимальной очередности обслуживания, Изв. АН СССР, Техн, кибернетика, № 5 (1972), 104—107. 144. Пчелинцев Л. А., Об одном решении задачи комми- вояжера, ЖВМ и МФ 6, № 3 (1966), 597—599. 145. Радев Е. И., О двух эвристических методах решения задачи коммивояжера, Тр. Моск, экон.-стат. ин-та, ч. I, 1972, 134-150. 146. Резниченко В. Н., Решение одной задачи теории рас- писаний эвристическим методом, Сб. «Алгоритмизация произ. процессов. Тр. семинара», вып. 1, Киев, 1968, 91—НО. 147. Резниченко В. Н., Минимизация времени входа в рит- мичную работу в задаче одного станка, Сб. «Системотехника», вып. 2, Киев, 1970, 80—86. 148. Резниченко В. Н., Шкурба В. В., Подчасо- ва Т. П., Определение оптимальной программы запуска- выпуска деталей в условиях неустановившегося производствен- ного процесса, Сб. «Автоматизир. системы упр. предприятия- ми. Тр. семинара», вып. 3, Киев, 1969, 3—33. 149. Романовский И. В., Задача о наивыгоднейшей кру- говой расстановке станков, Экономика и матем. методы 2, № 4 (1966), 578-581.
242 ЦИТИРОВАННАЯ ЛИТЕРАТУРА 150. Романовский И. В., Асимптотика рекуррентных соот- ношений динамического программирования и оптимальное стационарное управление, ДАН СССР 157, № 6 (1964), 1303— 151. Рубинштейн М. И., О симметричной задаче комми- вояжера, Автоматика и телемеханика, № 9 (1971), 126—133. 152. Рублинецкий В. И., Об оценках точности процедур в задаче коммивояжера, Сб. «Вычислительная техника в ма- шиностроении», вып. 4, 1973, 18—23. 153. Рыбников К. А., Введение в комбинаторный анализ, М., издательство МГУ, 1972. 154. Сафроненко В. А., Математическое и электронное мо- делирование задачи оптимального календарного планиро- вания, Минск, «Наука и техника», 1972. 155. С г у р е в В.. Построяване на оптимално разписание при ста- ционарни процеси, Изв. Ин-та техн, кибернетики, № 12 (1970), 29—51. 156. Семенов А. И., Португал В. М., Задачи теории расписаний в календарном планировании мелкосерийного производства, М., «Наука», 1972. 157. Сигал И. X., Последовательный анализ вариантов в зада- че о нахождении на графе ограниченного по длине пути с мак- симальным весом, Изв. АН СССР, Техн, кибернетика, № 6 (1970), 41—47. 158. Сигал И. X., Чебаков В. А., Метод матричного пере- бора и его применение к одной задаче теории графов, ЖВМ и МФ 5, № 1 (1965), 148—150. 159. Сихарулидзе Г. Г., Об одном обобщении задачи ком- мивояжера, Автоматика и телемеханика, № 8 (1971), 116— 123; № 10 (1971), 142—147. 160. С о л и х Р., Задача календарного планирования для цикли- чески повторяющегося производства, ЖВМ и МФ 13, № 2 (1973), 326-342. 161. Сотсков Ю. Н., Танаев В. С., О перечислении ориен- тированных бесконтурных графов, порождаемых смешанным графом, Изв. АН БССР, сер. физ.-мат. наук, № 2 (1974), 16—21. 162. Сохранская В. С., Решение на ЭВМ задач парал- лельного упорядочения, Зап. научн. семинаров, Ленингр. отд. Мат. ин-та, АН СССР 35 (1973), 138—141. 163. Спринджук В. Г., К теореме Дилворта о частично упо- рядоченных множествах, ДАН БССР 7, № 12 (1963), 803— 804. 164. Стори А. Е., Вагнер X. М., Опыт применения цело- численного программирования при расчете календарного плана для предприятий единичного и мелкосерийного производства, Сб. «Календарное планирование», М., «Прогресс». 1966, 241— 256. 165. Супруненко Д. А., Айзенштат В. С., Л еп е- шинский Н. А., Экстремальные значения функций на множествах перестановок, Тезисы докл. 1 Всес. конф, по ис- след. операций, Минск, 1972, 61—64.
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 243 166. Су пр у ненко Д. А., Айзенштат В. С., Метель- ский А. С., Многоэтапный процесс превращения, ДАН БССР 6, № 9 (1962), 541-544. 167. С у п р у н е н к о Д. А., Тышкевич Р. И., Динамиче- ские отображения и один класс детерминированных машин, Кибернетика, № 2 (1965), 9—17. 168. Таланов В. А., Задача о переналадках, Уч. зап. Горь- ковск. ун-та, вып. 105, 1969, 9—12. 169. Таланов В. А., Математическая модель некоторых задач теории расписаний, Сб. «Вычислительная техника в машино- строении», 1972, декабрь, 12—16. 170. Танаев В. С., К теории расписаний, ДАН БССР 8, № 12 (1964), 792—794. 171. Танаев В. С., Прерывания в детерминированных систе- мах обслуживания с параллельными идентичными приборами, Изв. АН БССР, сер. физ.-мат. наук № 6 (1973), 44—48. 172. Танаев В. С., Метод решения задач дискретного програм- мирования, Экономика и матем. методы 4, вып. 5 (1968), 776— 782. 173. Т а н а е в В. С., К задаче составления расписания работы поточной линии с одним автооператором, Инж.-физ. ж. 7, № 3 (1964), 111—114. 174. Танаев В. С., Об одной задаче теории расписаний, Изв. АН БССР, сер. физ.-мат. наук № 4 (1964), 128—131. 175. Танаев В. С., О числе перестановок п частично упорядо- ченных элементов, ДАН БССР 11, № 3 (1967), 208. 176. Танаев В. С., Некоторые оптимизируемые функции одно- стадийного производства, ДАН БССР 9, № 1 (1965), 11—14. 177. Танаев В. С., Об одном классе задач теории расписаний, Тр. III Всес. совещания по автомат, упр. (техн, кибер- нет.), 1965, М., «Наука», 1967, 211—214. 178. Танаев В. С., Левин Г. М., Об оптимальном поведе- нии систем с частично ограниченной памятью, Изв. АН БССР, сер. физ.-мат. наук, № 3 (1967), 82—88. 179. Телемтаев М.М., К вопросу о решении задачи о комми- вояжере, Изв. АН СССР, Техн, кибернетика, № 6 (1972), 94—100. 180. Титов В.В., Об одном алгоритме решения задачи о комми- вояжере, Сб. «Оптимальн. планирование», вып. 7, Новоси- бирск, «Наука», 1967, 107—111. 181. Тютюкин В. К., Об оптимальном однооперационном календарном графике со станками-дублерами. Сб. «Прим, матем. в эконом.», вып. 5, Л., Ленингр. ун-та, 1969, 79—91. 182. Тютюкин В. К., Об оптимизации календарной длитель- ности обработки изделий при одинаковой последовательно- сти запуска их на всех станках. Сб. «Оптимальн. планирова- ние», вып. 16, Новосибирск, 1970, 89—97. 183. Тютюкин В. К., Нахождение оптимальных планов в мно- гооперационных процессах обработки изделий методом «вет- вей и границ», Сб. «Применение матем. в эконом.», вып. 6, Л., Ленингр. ун-т, 1970, 29—45.
244 ЦИТИРОВАННАЯ ЛИТЕРАТУРА 184. Фейгин Л. И., О влиянии возмущений на расписание, Изв. АН СССР, Техн, кибернетика, № 1 (1967), 14—15. 185. Фейгин Л. И., Применение метода статистического моде- лирования для определения оптимальной частоты коррекции расписания, Сб. «Оперативн. упр. произв.», М., «Наука», 1971, 60—67. 186. Фейгин Л. И., Управление и прогнозирование в задачах теории расписаний при неполной информации, ДАН СССР 200, № 6 (1971), 1298—1301. 187. Фейгин Л. И., Об осуществимости процесса обработки объектов множеством машин, Изв. АН СССР, Техн, кибер- нетика, № 2 (1964), 24—29. 188. Фейгин Л.И., Оптимальное расписание для одной машины при неполной информации, Кибернетика, № 4 (1971), 149— 151. 189. Фейгин Л. И., Общая задача теории расписаний при не- полной информации. Автоматика и телемеханика, № 3 (1972), 110—116. 190. Фишбейн С. М., О вероятностном подходе к решению задачи очередностей, Кибернетика, № 6 (1971), 95—97, 191. Фишер Г., Томпсон Г. Л., Комбинации локальных правил календарного планирования применительно к само- настраивающимся на вероятностной основе программ для ЭВМ, Сб. «Календарное планирование», М., «Прогресс», 1966, 260—290. 192. Харди Г. Г., Литтлвуд Дж., Полна Г., Нера- венства, М., ИЛ, 1948. 193. Хенкин В. Э., Об одном вопросе теории расписаний (2ХЛ7 задача упорядочения), Кибернетика, № 6 (1966), 67—71. 194. Хенкин В.Э., О некоторых последовательностях переста- новок, возникающих в теории расписаний, Сб. «Пробл. кибер- нетики», вып. 20, 1968, 231—240. 195. Чернова Г. В., Задача об определении порядка запуска деталей, обеспечивающего минимум пролеживания деталей, Сб. «Прим, матем. в экон.», вып. 5, Л., Ленингр. ун-т, 1969, 147—158. 196. Чернова Г. В., Задача определения последовательности обработки деталей, имеющих одинаковые технологические маршруты, Сб. «Применение матем. в экон.», вып. 4, Л., Ленингр. ун-т, 1967, 66—81. 197. Чернявский А. Л., Алгоритмы для решения комби- наторных задач, основанные на методе неявного перебо- ра, Автоматика и телемеханика, №№ 2, 3 (1972), 98—108, 76—82. 198. Ш а х б а з я н К. В., Т у ш к и н а Т. А., Метод ветвей и границ для задачи параллельного упорядочения, Зап. научи, семинаров Ленингр. отд. Мат. ин-та АН СССР 35 (1973), 146-155. 199. Шевченко В. Н., Задача о равномерном распределении простоев (несколько смен), Экономика и матем. методы 3, № 4 (1967), 619—623.
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 245 200. Шевченко В. Н., Задача оптимального календарного планирования с ограничением на число рабочих, Изв. высш, учебн. заведений, Радиофизика 8, № 3 (1965), 635—637. 201. Шевченко В. Н., Задача составления оптимального расписания работы на п станках, Сб. «Пробл. кибернетики», вып. 18, 1967, 129—146. 202. Шкурба В. В., О задачах упорядочения, Кибернетика, № 2 (1967), 63—65. 203. Шкурба В. В., Теория расписаний, 1—2 (доклад), Киев, 1964. 204. Шкурба В. В., Интервалы очередности в задачах упоря- дочения, Кибернетика, № 2 (1970), 77—79. 205. Шкурба В. В., Вычислительные схемы решения задач теории расписаний, Кибернетика, № 3 (1965), 72—76. 206. Шкурба В.В., К решению задачи о круговой расстановке станков, Кибернетика, № 3 (1967), 44—46. 207. Шкурба В. В., Некоторые вопросы автоматизированного управления предприятиями, Кибернетика, № 5 (1967), 66—77. 208. Шкурба В. В., Автоматизированные системы управления предприятиями. Структура, функции, направления разра- ботки, Сб. «Автоматизир. системы упр. предприятиями», ИК АН УССР, вып. 2, 1968. 209. Ш к у р б а В. В., Подчасов а Т. П., Об одном под- ходе к организации и планированию работы предприятий массового производства, Киев, 1963. 210. Шкурба В. В., П о д ч а с о в а Т. П., Пеннер Н. Я., Савицкий В. Н., Исследование эффективности неко- торых функций предпочтения в задачах календарного плани- рования, Сб. «Системотехника», Киев, 1971, 79—96. 211. Шкурба В. В., Подчасова Т. П., Пшич у к А. Н., Тур Л. П., Задачи календарного планирования и методы их решения, Киев, «Наукова думка», 1966. 212. Шрейдер Ю. А., Равенство, сходство, порядок, М., «На- ука», 1971. 213. Юдин Д. Б., Теория расписаний, В кн. «Энциклопедия со- временной техники», т. 3, М., 1964, 151—152. 214. Я к и м о в Р. М., Об одном функциональном уравнении, описы- вающем оптимальную последовательность обработки изделий, Сб. научн. тр. Пермск. политехи, ин-та, № 21, 1966, 62—71. 215. Якимов Р. М., Оптимальный вариант работы одной авто- матической линии, Сб. научн. тр. Пермск. политехи, ин-та, № 21, 1966, 72-74. 216. Agin N., Optimum seeking with branch and bound, Manag. Sci. 13, № 4 (1966), B176—B185. 217. A k e г s S. E., Jr., A graphical approach to production schedu- ling problems, Operat. Res. J. 4, № 2 (1956), 244—245. 218. Akers S. E., Jr., Friedman J., A non-numerical ap- proach to production scheduling problems, Operat. Res. Ill (1955), 429-442. 219. A r t h a n a r i T. S., M u k h о p a d h у а у A. C., On so- me sequencing problems. A note on a paper by W. Szwarc, Nav. Res. Log. Quart. 18, № 1 (1971), 135-138.
246 ЦИТИРОВАННАЯ ЛИТЕРАТУРА 220. Ashour S., Sequencing theory, Leet. Notes Econ. and Math. Syst. 69 (1972). 221. Ashour S., A decomposition approach for the machine sche- duling problem, Internat. J. Product. Res. 6, № 2 (1967), 109— 122. 222. Ashour S., An experimental investigation and comparative evaluation of flow-shop scheduling techniques, Operat. Res. 18, № 3 (1970), 541-549. 223. Bagga P. C., Two machines scheduling problem, Logist. Rev. 3, № 14 (1967), 27—37. 224. Bagga P. C., Two machine scheduling problem when passing allowend, Metrika 20, № 1 (1973), 36—40. 225. Bagga P. C., Ghakraverti N. K., Minimizing waiting cost over two stage production schedule, Z. angew. Math, und Meeh. 49, № 5 (1969), 299-301. 226. Baker K. R., Martin J. B., An experimental compari- son of solution algorithms for the singlemachine tardiness prob- lem, Nav. Res. Log. Quart. 21, № 1 (1974), 187—199. 227. В a к s h i M. S., Arora S. R., The sequencing problem, Manag. Sci. 16, № 4 (1969), B247—B263. 228. Balas E., A note on the branch-and-bound principle, Operat. Res. 16, № 2 (1968), 442-445. 229. Balas E., Machine sequencing via disjunctive graphs: an implicit enumeration algorithm, Operat. Res. 17, № 6 (1969), 941—957. 230. Banerjee В. P., Single facility sequencing with random execution times, Operat. Res. 13, № 3 (1965), 358—364. 231. Bank B., «Branch and Bound» Algorithmen fur zwei Reinhen- folgeprobleme, Math. Operationsforsch. und Statist. 1, № 3 (1970), 217—228. 232. Bank B., Seiffart E., Ein «Branch and Bound» Algo- rithmus eines Reihenfolgeproblems, Ekon.-mat. obzor 5, № 1 (1969), 22-29. 233. Baran-Jarosz B., Metoda rozwiqzywania pewnego za- gadneenia sekweneyjnego, Prz. statyst. 20, № 2 (1973), 181— 192. 234. Baran-Jarosz B., Grabowski W., Wyznacza- nie kolejnosci detali przechodzacych w procesie produkeji ciag operaeji, Prz. statyst. 18, № 3—4 (1971), 365—376. 235. Bellman R., Dynamic programming treatment of the tra- velling salesman problem, S. Assoc. Gomput. Machinery 9, № 1 (1962), 61-63. 236. Bellman R., Mathematical aspects of scheduling theory, J. Soc. Industr. and Appl. Math. 4, № 3 (1956), 168—205. 237. Bellman R., Gross O., Some combinatorial problems arising in the theory of multistage processes, J. Soc. Industr. and Appl. Math. 2, № 3 (1954), 175—183. 238. Bellmore M., Malone J. G., Pathology of travelling- salesman subtour-elimination algorithms, Operat. Res. 19, № 2 (1971), 278—307. 239. Blau R. A., АГ-job, one machine sequencing problems under uncertainty, Manag. Sci. 20, № 1 (1973), 101—109.
г ЦИТИРОВАННАЯ ЛИТЕРАТУРА 247 240. Bowman V. J., Permutation polyhedra, SIAM J. Appl. Math. 22, № 4 (1972), 580-589. 241. Bowman E. H., The schedule-sequencing problem, Operat. Res. 7, № 5 (1959), 621—624. 242. BozOki G., RichardJ. P., A branch-and-bound algo- rithm for the continions-process job-shop scheduling problem, AIIE Trans. 2, № 3 (1970), 246—252. 243. Brown R. G., Simulations to explore alternative sequencing rules, Nav. Res. Log. Quart. 15, № 2 (1968), 281—286. 244. Brown A. P., L о m n i с к i Z. A., Some applications of the «branch-and-bound» algorthm to the machine scheduling problem, Operat. Res. Quart. 17, № 2 (1966), 173—186. 245. В u r 1 a g a H., Minimalizacja ilosci wykonawcow operacji о ustalonym harmonogrie, Biul. WAT J. Dabrowskiego 21, № 12 (1972), 93—99. 246. Burstall R. M., A heuristic method for a jobscheduling problem, Operat. Res. Quart. 17, № 3 (1966), 291—304. 247. Buzacott J. A., Dutta S. K., Sequencing many jobs on a multipurpose facility, Nav. Res. Log. Quart. 18, № 1 (1971), 75—82. 248. Byrne E. R., Optimal scheduling of indivisible jobs on a sequence of machines without job passing, Dissert. Abstrs. B28, № 5 (1967), 2021. 249. Cerny M., Algoritmus reseni okruznich dopravnich uloh, Ekon.-mat. obzor 1, № 4 (1965), 391—405. 250. Charlton J. M., Death С. C., A method of solution ► for general machine-scheduling problems, Operat. Res. 18, № 4 (1970), 689-707. 251. Christofides N., Eilon S., Algorithms for large scale travelling salesman problems, Operat. Res. Quart. 23, № 4 (1972), 511-518. 252. Co n ti n i B., Un modello di sequenze di produzione risolvi- bile con la program mazione linneare, Metroeconomica 20, № 1 (1968), 36-41. 253. Conway R. W., Johnson В. M., Maxwell W. L., An experimental investigation of priority dispatching, J. Industr. Engng. 11, № 3 (1960), 221—229. 254. Conway R. W., M a x w e 1 1 W. L., M i 11 e r L. W., Theory of scheduling, New York, Addison — Wesley, 1967. 255. Conway R. W., Maxwell W. L., О 1 d z i e у J. W., Sequencing against due-dates, Proc. 4th. Int. Conf. Operat. Res., Boston, New York e. a. (1966), 599—618. 256. С г о e s G. A., A method for solving travelling-salelsman prob- lems, Operat. Res. 6, № 6 (1958), 791—812. 257. Dantzig G. B., A machine-job scheduling model, Manag. Sci. 6, № 2 (1960), 191—196. 258. Dantzig G. B., Fulkerson D. R., Johnson S. M., On a linear-programming, combinatorial approach to the tra- velling-salesman problem, Operat. Res. 7, № 1 (1959), 58—66. 259. Dantzig G. B., Fulkerson D. R., Johnson S. M., Solution of a large-scale travelling-salesman problem, J. Operat. Res. Soc. Amer. 2, № 3 (1954), 393—410.
248 ЦИТИРОВАННАЯ ЛИТЕРАТУРА 260. Day J. Е., H о t tens tei n M. P., Reveew of sequencing research, Nav. Res. Log. Quart. 17, № 1 (1970), 11—39. 261. Derman C., Klein M., Surveillance of multi-component systems: a stochastic travelling salesman’s problem. Nav. Res. Log. Quart. 13, № 2 (1966), 103—111. 262. Dessouky M. I., Margenthaler C. R., The one- machine sequencing problem with early starts and dates, Al IE Trans. 4, № 3 (1972), 214—222. 263. Dilworth R. P., A decomposition for partially ordered sets, Ann. of Math. 51 (1950), 161—166. 264. D u c a m p A., Un probleme d’affectation, Cahiers Centre etu- des recn. operat. 8, № 1 (1966), 69—72. 265. Dudek R. A., Chare P. M., Makespan sequencing on m- machines, J. Industr. Engng. 18, № 1 (1967), 131—134. 266. Dudek R. A., Teuton 0. F. J., Development of M- stage decision rule for scheduling n jobs through M machines, Operat. Res. 12, № 3 (1964), 471—497. 267. Eastman W. L., Comments on a paper by Schild and Fred- man, Manag. Sci. 11, № 7 (1965), 754—755. 268. Eastman W. L., Even S., Isaacs I. M., Bounds for the optimal scheduling of n jobs on m processors, Manag. Sci. 11, № 2 (1964), 268-279. 269. E 1 m a g r a b у S. E., The sequencing of «related» jobs, Nav. Res. Log. Quart. 15, № 1 (1968), 23—32. 270. Elmagraby S. E., The one machine sequencing prob- lem with delay costs, J. Industr. Engng 19, № 2 (1968), 105-108. 271. Elmagraby S. E., The machine sequencing problem-re- view and extensions, Nav. Res. Log. Quart. 15, № 2 (1968), 205— 232. 272. Emmons H., One-machine sequencing to minimize certain functions of job tardiness, Operat. Res. 17, № 4 (1969), 701— 715. 273. Fife D. W., Scheduling with random arrivals and linear loss functions, Manag. Sci. 11, № 3 (1965), 429—437. 274. F u j i i M., Kasami T., Ninomiya K., Optimal sequencing of two equivalent processors, SIAM J. Appl. Math. 17, № 4 (1969), 784—789. 275. F u к u n a g a L., Tamura H., Have da H., Simu- lating a production scheduling control systems, IEEE Trans. Automat. Control 12, № 1 (1967), 102—103. 276. Gapp W., Mankekar P. S., Mitten L., Sequen- cing operations to minimize in-process inventory costs, Manag. Sci. 2, № 3 (1965), 476—484. 277. Gaunt S., A non-computer method using search for resolving the travelling salesman problem, CORS Journal 6, № 1 (1968), 44-54. 278. Gavett J. W., Three heuristic rules for sequencing jobs to a single production facility, Manag. Sci. 11, № 8 (1965), 166— 176. 279. Gere W. S. J., Heuristics in job shop scheduling, Manag. Sci. 13, № 3 (1966), 167—190.
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 249 280. G i f f 1 е г В., Schedule algebra: a progress report, Nav. Res. Log. Quart. 15, № 2 (1968), 255—280. 281. G i f f 1 e r B., Thompson G. L., Algorithms for solving production-scheduling problems, Operat. Res. 8, № 4 (1960), 487—503. 282. Giglio R. J., Wagner H. M., Approximate solutions to the threemachine scheduling problem, Operat. Res. 12, № 2 (1964), 305-324. 283. Gilmore P. C., A solvable case of the travelling salesman problem, Canad. Math. Bull. 9, № 6 (1966), 743—744. 284. Gilmore P. C., G о m о г у R. E., Sequencing a one sta- te-variable machine: a solvable case of the travelling salesman problem, Operat. Res. 12, № 5 (1964), 655—679. 285. Gilmore P. C., G о m о г у R. E., A solvable case of the travelling salesman problem. Proc. Nat. Acad. Sci. USA 51 (1964), 178-181. 286. G 1 a s s e у C. R., Minimum change — over scheduling of se- veral products on one machine, Operat. Res. 16, № 2 (1968), 342—352. 287. Gonzalez Mario J. Jr., Ramamoorthy С. V., Parallel task execution in a decentralised system, IEEE Trans. Gomput. 21, № 12 (1972), 1310—1331. 288. G о 11 e г e г M. H., On the development of a supervisory se- quencing routine, On Line Data Process, New York, N. Y., Inst. Electr. and Electron. Engrs., Inc. (1963), 22—32. 289. G о у a 1 S. K., The tree development method for solving the travelling-salesman problem, Internet. J. Product. Res. 9, № 2 (1971), 239—246. 290. Greenberg H. H., A branch-bound solution to the gene- ral scheduling problem, Operat. Res. 16, № 2 (1968), 353— 361. 291. Gupta Jatinder N. D., A general algorithm for the n X M flowshop scheduling problem, Internet. J. Product. Res. 7, № 3 (1969), 241—247. 292. Gupta Jatinder N. D., A functional heuristic algo- rithm for the flowshop scheduling problem. Operat. Res. Quart. 22, № 1 (1971), 39—47. 293. Gupta Jatinder N. D., An improved combinatorial algorithm for flowshopscheduling problem, Operator. Res. 19, № 7 (1971), 1753-1758. 294. Gupta Jatinder N. D., M а у к u t A. R., Flow-shop scheduling by heuristic decomposition, Internet. J. Product. Res. 11, № 2 (1973), 105-111. 295. Hardgrave W. W., Nemhauser G. L., A geomet- ric model and a graphical algorithm fora sequencing problem, Operat. Res. 11, № 6 (1963), 889—900. 296. Heck H., Roberts S., A note on the extension of a result on scheduling with secondary criteria, Nav. Res. Log. Quart. 19, № 2 (1972), 403—405. 297. Held M., Karp R.M., The travelling-salesman problem and minimum spanning trees, Math. Program. 1, № 1 (1971),
250 ЦИТИРОВАННАЯ ЛИТЕРАТУРА 298. Held М., Karp R. М., A dynamic programming appro- ach to sequencing problems, J. Soc. Industr. and AppT. Math. 10, № 1 (1962), 196—210. 299. Held M., Karp R. M., The travelling-salesman problem and minimum spanning trees, Operat. Res. 18, № 6 (1970), 1138— 300. Heller J., Logemann G., An algorithm for construc- tion and evaluation of feasible schedules, Manag. Sci. 8, № 2 (1962), 168-183. 301. Henry-Labordere A. L., The record balancing problem: a dynamic programming solution of a generalized traveling sales- man problem, Rev. fran$. inform, et rech. operat. 3, № В—2 (1969), 43-49. 302. Horn W. A., Minimizing average flow time with parallel ma- chines, Operat. Res. 21, № 3 (1973), 846—847. 303. Horn W. A., Single-machine job sequencing with treelike precedence ordering and linear delay penalties, SIAM. J. Appl. Math. 23, № 2 (1972), 189—202. 304. Horn W. A., Some simple scheduling algorithms, Nav. Res. Log. Quart. 21, № 1 (1974), 177—185. 305. Hu T. G., Decomposition in traveling-salesman problems, Proc. 4th Int. Conf. Oper. Res., Boston, New York e. a. (1966), 1021—1027. 306. Hu T. C., Parallel sequencing and assembly line problems, Operat. Res. 9, № 6 (1961), 841—848. 307. I b a г a к i T., Scheduling and integer programming, Сисутэ- му то сэйгё, Syst. and Contr. 17, № 5 (1973), 269—274. 308. I g n a 1 1 E., Schrage L., Application of the branch and bound technique to some flowshop scheduling problems, Operat. Res. 13, № 3 (1965), 400—412. 309. Jackson J. R., Scheduling a production line to minimize maximum tardiness, Research Report 43, Manag. Sci. Res. Pro- ject, UCLA, Jan., 1955. 310. Jackson J. R., An extension of Johnson’s results on job lot scheduling, Nav. Res. Log. Quart. 3, № 3 (1956), 201—203. 311. Jaeschke G., Vicinal sequecing problems, Operat. Res. 20, № 5 (1972), 984—992. 312. Jankowska-Zorychta Z., Modele uszeregowania prac na maszynach, Prz. statyst 20, № 1 (1973), 11—25. 313. Johnson S. M., Optimal two-and-three stage production schedules with set-up times included, Nav. Res. Log. Quart. 1, № 1 (1954), 61—68. 314. Johnson S. M., Discussion: sequencing n-jobs on two ma- chines with arbitrary time lags, Manag. Sci. 5, № 3 (1959), 299— 303. 315. Karg R. L., Thompson G. L., A heuristic approach to solving travelling salesman problem, Manag. Sci 10, № 2 (1964), 225—248. 316. К i r i s u T., Flow shop sequencing problem with time lags, Technol. Repts. Osaka Univ. 22 (1972), 303—314. 317. К i s e H., Scheduling and branch-and-bound method, Syst. and Contr. 17, № 5 (1973), 275—281.
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 251 318. К п б d е 1 W., Kiirzeste Rundreise zwischen п Orten (Travel- ling salesman problem), Computing 3, № 2 (1968), 151—156. 319. Korte B., Ober eine Klasse kombinatorischer Extremalprob- leme. Ber. Ges. Math, und Datenverarb. № 57 (1972), 123—134. 320. К о r t h H., Losung eines Maschinenbelegungsproblems 9. In- ternet. Kolloq. Techn. Hochschul Ilmenan (1964), okon. Ind., 5—6. 321. К ur isu T., Two-machine sequencing problem with exponen- tial processing times, Technol. Rept. Osaka Univ. 23, March (1973), 1-8. 322. Lanzenauer С. H. von, Himes R. S., A linear pro- gramming solution to the general sequencing problem, CORS Journal 8, № 2 (1970), 129—134. 323. L a s d о n L., Solving multi-item scheduling problems, 20th Ann. ISA Conf. Proc., Los. Angeles, 1965, vol. 20, part. 3, Pitts- burgh, Pa, 1/2, № 31 (1965), 1—4. 324. Lasdo n L. S., T e r j u n g R. S., An efficient algorithm for multi-item scheduling, Operat. Res. 19, № 4 (1971), 946—969. 325. Lawler E. L., Optimal sequencing of a single machine sub- ject to precedence constraints, Manag. Sci. 19, № 5 (1973), 544— 326. Lawler E. L., On scheduling problems with deferral costs, Manag. Sci. 11, № 2 (1964), 280—288. 327. Lawler E. L., Moore J. M., A functional equation and its application to resource allocation and sequencing problems, Manag. Sci. 16, № 1 (1969), 77—84. 328. Lawler E. L., Wood D.E., Branch-and-bound methods: a survey, Operat. Res. 14, № 4 (1966), 699—719. 329. Ligtenberg E., Minimal cost sequencing of n-grouped and ordered jobs on zn-machine, J. Industr. Engng. 17, № 4 (1966), 217—223. 330. Lin S., Kernighan B. W., A heuristic technique for solving a class of combinatorial optimization problems, Proc. 5th Annu. Princeton Conf. Inform. Sci. and Syst., 1971, Prince- ton, N. J. s. a., 210—213. 331. Litsios S., A resource allocation problem, Operat. Res. 13, № 6 (1965), 960-988. 332. Little J., Murty K., Sweeney D., Karel C., An algorithm for the travelling salesman problem, Operat. Res. 11, № 6 (1963), 972-989. 333. Lomnicki Z. A., A «branch-and-bound» algorithm for the exact solution of the three-machine scheduling problem, Operat. Res. Quart. 16, № 1 (1965), 89—100. 334. Mack C., The elimination-reduction method of solving the symmetric travelling salesman problem, New J. Statist, and Ope- rat. Res. 3, № 3 (1967), 3—15. 335. Mack C., Further rules for the elimination-reduction method of solving the symmetric Travelling Salesman problem, New J. Statist, and Operat. Res. 5, № 2 (1969), 8—15. 336. Mack C., More improvements in the elimination-reduction method for the symmetric travelling salesman problem. New J. Statist, and Operat. Res. 6, № 3 (1970), 3—11,
252 ЦИТИРОВАННАЯ ЛИТЕРАТУРА 337. М а к i п о Toji, On a scheduling problem, J. Operat. Res. Soc. Japan 8, № 1 (1965), 32-44. 338. Manne A. S., On the job-shop scheduling problem, Operat. Res. 8, № 2 (1960), 219—223. 339. Maxwell W. L., On sequencing n-jobs on one machine to minimize the number of late job’s, Manag. Sci. 16, № 5 (1970), 295—297. 340. Maxwell W. L., Mehra M., Multiple-factor rules for sequencing with assembly constraints. Nav. Res. Log. Quart. 15, № 2 (1968), 241—254. 341. McMahon G. B., Optimal production schedules for flow shops. CORS Journal 7, № 2 (1969), 141—151; 342. McMahon G. B., Note on optimal production schedules. CORS Journal 7, № 2 (1969), 154—155. 343. McMahon G. B., Burton P. G., Flow-shop scheduling with the branch-and-bound method, Operat. Res. 15, № 3 (1967), 473—481. 344. McNaughton R., Scheduling with deadlines and loss functions, Manag. Sci. 6, № 1 (1959), 1—12. 345. Mellor P., Job shop scheduling, Product. Engr. 46, № 2 (1967), 82-87. 346. Mensch G., Generalization of Aker’s two-demensional job shop scheduling model to n dimensions. SIAM J. Appl. Math. 18, № 2 (1970), 462—466. 347. Mensch G., Single-stage linear programming zero-one solu- tions to some travelling salesman type problems. INFOR. Can. J. Operat. Res. and Inform. Process 9, № 3 (1971), 282— 292. 348. M i e r 1 e a V., Algoritm pentru ordonantarea a nlucrari pe m masini cu timp interoperational minim la pornire si opire, Stud, si cere. calc. ekon. si cibern. econ., № 3 (1972), 45—59. 349. Miller С. E., Tucker A., Z e m 1 i n R. A., Integer programming formution of traveling salesman problems, I. As- soc. Comput. Machinery 7, № 4 (1960), 326—329. 350. Mitten L. G., Sequencing n-jobs on two machines with arbi- trary time lags, Manag. Sci. 5, № 3 (1959), 293—298. 351. Moore J. С., V a n d e g r i f t J. B., Linear programming technique for assigning work to machines, Machinery 96, № 2466 (1960), 383-385. 352. Moore J. M., An n-job, one machine sequencing algorithm for minimizing the number of late jobs, Manag. Sci. 15, № 1 (1968), 102—109. 353. Morton G., Land A. H., A contribution to the «travel- ling salesman» problem, J. Roy. Statist. Soc. № 2 (1955), 185— 194. 354. Miiller-Merbach H., Optimale Reihenfolgen (Окоп, und Unternehmensforsch., 15), Berlin — Heidelberg — New York, Springer, 1970, X, 2255. 355. Muntz R. R., Coffman E. A., Preemptive scheduling of real-time tasks on multiprocessors systems, J. Assoc. Comput. Mach. 17, № 2 (1970), 324-338.
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 253 356. Muntz R. R., Coffman E. A., Optimal preemptive scheduling on two-processor systems, IEEE Trans. Computers C-18, № 11 (1969), 1014—1020. 357. Mur t у Katta G.,A fundamental problem in linear inequa- lities with applications to travelling salesman problem, Math. Progr. 2, № 3 (1972), 296—308. 358. Murty Katta G., On the tours of a travelling salesman, SIAM J. Control 7, № 1 (1969), 122—131. 359. Na beshima I., Sequencing on two machines with start lag and stop lag, J. Operat. Res. Soc. Japan 5, № 3 (1963), 97— 101. 360. Nabeshima I., Unified treatment on single machine sche- duling problems, Repts. Univ. Electro-Communs, 22, № 2 (1971), 29-38. 361. Nabeshima I., Some extensions of the zn-machine schedu- ling problem, J. Operat. Res. Soc. Japan 10, № 1—2 (1967), 1—17. 362. Nabeshima I., The order of n -items processed on m — machines.l, J. Operat. Res. Soc. Japan 3, № 4 (1961), 170—175. 363. Nabeshima I., The order of n-i terns processed on ^-ma- chines. 2, J. Operat. Res. Soc. Japan 4, № 1 (1961), 1—8. 364. Nabeshima I., Computational solution to the zn-machine scheduling problem, J. Operat. Res. Soc. Japan 7, № 3 (1965), 93—103. 365. Neme t i L., Uber die Durchfiihrungsdauer eines Arbeitgan- ges in der Ablaufplanung, Bull. math. Soc. sci. math. RSR 19, № 3 (1969), 81—86. 366. Neme ti L., On the scheduling problem in the case of several machines of the same type, Mathematica (RSR) 13, № 2 (1971), 251—261. 367. Nemeti L., Das Reihefolgeproblem in der Fertigung mit Pufferbestanden, Rev. roumain math, pures et appl. 13, № 7 (1968), 1009—1016. 368. Nemeti L., Das Reihenfolgeproblem in der Fertigungspro- grammierung und Lenearplanung mit Logischen Bedingungen, Mathematica (RPR) 6, № 1 (1964), 87—99. 369. Nemeti L., Rado F., Ein Wartezeitproblem in der pro- grammierung der Produktion, Mathematica (RPR) 5, № 1 (1963), 65—96. 370. Nemhauser G. L., Bellmore M., The travelling salesman problem: a survey, Operat. Res. 16, № 3 (1968), 538— 558. 371. О bruc a A. K., Spanning tree manipulation and the travel- ling salesman problem, Comput. J. 10, № 4 (1968), 374—377. 372. О к a m u r a K., Yamashina H., Eastablishment of linear sequences, Mem. Fas. Engng. Kyorto Univ. 31, № 3 (1969), 307-331. 373. Page E. S., An approach to the scheduling of jobs on machi- nes, J. Roy. Statist. Soc. B23, № 2 (1961), 484—492. 374. Page E. S., On Monte Carlo methods in congestion problems 1. Searching for an optimum in discrete situations, Operat. Res. 13j № 2 (1965), 291—299.
254 ЦИТИРОВАННАЯ ЛИТЕРАТУРА 375. Раге Е. S., On the scheduling of jobs by computer, Comput. J. 5, № 3 (1962), 214-220. 376. Palmer D. S., Sequencing jobs through a multistage pro- cess in the minimum total time — a quick method of obtaining a near optimum, Operat, Res. Quart. 16, № 1 (1965), 101—107. 377. Parsons J. A., Matrix methods. J. Syst. Manag. 20, № 8 (1969), 38-40. 378. Petersen С. C., Solving sequencing problems through reor- dering operations, AIIE Trans. 5, № 1 (1973), 68—73. 379. P e t i с к J., Ein Beitrag zum Rundreiserproblem, Wiss. Z. Hochsch. Archit. und Bauwesen Weimar 17, № 2 (1970), 193— 196. 380. P i e h 1 e r J., Ein Beitrag zum Reihenfolgerproblem, Unter- nehmensforschung 4, № 3 (1960), 138—142. 381. Pritsker A., Alau B., Watters L. J., W о 1- f e Ph. M., Multiprogect scheduling with limited resources: a zero-one programming approach, Manag. Sci. 16, № 1 (1969), 93—108. 382. Ran J. G., Minimizing a function of permutations of n inte- gers, Operat. Res. 19, № 1 (1971), 237—240. 383. Reddi S. S., Ramamoorthy С. V., On the flow-shop sequencing problem with no wait in process, Operat. Res. Quart. 23, № 3 (1972), 323—331. 384. Reiter S., Sherman C., Discrete optimizing, J. S.c. Industr. and Appl. Math. 13, № 3 (1965), 864—889. 385. Roberts S. M., Flores B., An engineering approach to the travelling salesman problem, Manag. Sci. 13, № 3 (1966), 269—288. 386. Root J. G., Scheduling with deadlines and loss functions on к parallel machines, Manag. Sci. 11, № 3 (1965), 460—475. 387. Rothkopf M. H., Scheduling independent tasks on parallel processors, Manag. Sci. 12, № 5 (1966), 437—447. 388. Rothkopf M. H., Scheduling with random service times, Manag. Sci. 12, № 9 (1966), 707—713. 389. Roy B., Phisionomie et traitement des problemes d ordonnace- ment, Gestion 6, avr. (1963), 220—227. 390. Saksena L. P., Mathematical model of scheduling clients through welfare agencies, CORS Journal 8, № 3 (1970), 185— 200. 391. Salah E. E., M a 1 1 i к A. К., N u 111 e H. L. W., The scheduling of lots on a single facility, AIIE Trans. 2, № 3 (1970), 203—213. 392. SaJveson M. E., A computational technique for the sche- duling problem, J. Industr. Engng. 13, № 1 (1962), 30—41. 393. Sanderova J., Matematicky model pro, reseni jisteho sekvencniho problemu, Ekon-mat. obz. 7, № 1 (1971), 48—60. 394. Schild A., Fredman I. J., On scheduling tasks with associated linear loss functions, Manag. Sci. 7, № 3 (1961), 280— 285. 395. Schild A., F r e d m a n I. J., Scheduling tasks with dead- lines ^and non-linear functions, Manag. Sci. 8, № 1 (1962),
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 255 396. Schoch М., Ein Algorithmic zur exakten Bestimmung aller Optimallosungen des Rundreiseproblems, Wiss. Z. Techn. Hoch- schule Karl-Marx-Stadt 8, №№ 4-5 (1966), 247-255. 397. Schoch M., Ein Erwarterungsprinzip als Konzepzion zur Losung kombinatorischer Optimierungsprobleme, Math. Ope- ratidnforsch. und Statist. 1, № 4 (1970), 265—280. 398. Schrage L., Solving resource-constrained network problems by implicit enumeration nonpreemptive case, Operat. Res. 18, № 2 (1970), 263—278. 399. Schwartz E. S., A heuristic procedure for parallel sequen- cing with choice of machines, Manag. Sci. 10, № 4 (1964), 767—' 777. 400. Seiffart E., Exakte und approximative Losungsmoglichkei- ten von Reihenfolgeproblemen, Elektron. Informationsverarb. und Kybernet. 2, № 3 (1966), 123—150. 401. Seif fart E., Ein Reihenfolgeproblem. Golloq. on applic. mathem. to econ. Budapest, 1963, Hung. Acad. Sci. (1965), 339— 341. 402. Shapiro D. M., Algorithms for the solution of the optimal cost and bottleneck travelling salesman problems, Dissert. Abstrs. B27, № 2 (1966), 550—551. 403. S h w i m e r J., On the n-job, one-machine, sequence-indepen- dent scheduling problem with tardiness penalties. A branch-bound solution, Manag. Sci. 18, № 6 (1972), 301—313. 404. Sidney J. B., An extension of Moore’s due date algorithm, Leet. Notes Econ. and Math. Syst. 86 (1973), 393—398. 405. Sisson R. L., Methods of sequencing in job shops (A review), Operat. Res. 7, № 1 (1959), 10—29. 406. Sisson R. L., Sequencing theory, Progr. Operat. Res., vol. 1, New York — London, John Wiley and Sons, Inc. (1961), 293— 326. 407. Smith R. D., Dudek R. A., A general algorithm for so- lution of the n-job, m-machine sequencing problem of the flow shop, Operat. Res. 15, № 1 (1967), 71—82. 408. Smith R. D., Dudek R. A., A general algorithm for solution of the n-job, m-machine sequencing problem of the flow shop. Errata, Operat. Res. 17, № 4 (1969), 756. 409. Smith W. E., Various optimizers for single stage production, Nav. Res. Log. Quart. 3, №№ 1—2 (1956), 59—66. 410. S о 1 i c h R., Задача календарного планирования для ци- ц^72)СКИ повторяющегося производства, Pr. СО PAN, № 80 411. Srinivasan V., A hybrid algorithm for the one machine sequencing problem to minimize total tardiness, Nav. Res. Log. Quart. 18, № 3 (1971), 317—327. 412. Srivastava S. S., Kumar Santosh, Garg R. C., Sen Prasenjit. Generalized travelling salesman problem trough n sets of nodes, CORS Journal 7, № 2 (1969), 97—101. 413. Sturm L. B. J. M., A simple optimality proof of Moore’s se- quencing algorithm, Manag. Sci. 17, № 1 (1970), 116—118. 414. Summer A., Optimal and sub-optimal algorithms for the assignment and travelling-salesman problems, Brit. Joint Com- puter Conf., London (1966), 9—15.
I I 256 ЦИТИРОВАННАЯ ЛИТЕРАТУРА 415. Sussma nn В., Scheduling problems with interval disjunc- tions, Z. Operat. Res. Ser. A16, № 5 (1972), 165-178. 416. S z w a r c W., О pewnym zagadnieniu kolejnosci. Cz. I, Prz. ! statyst. 9, № 4 (1962), 367—382. j 417. S z w a r c W., О pewnym zagadnieniu kolejnosci. Cz.- II, Prz. f statyst. 10, № 1 (1963), 139—154. | 418. S z w a r c W., On some sequencing problems, Nav. Res. Log. I Quart. 15, № 2 (1968), 127-155. I 419. S z w a r c W., Elimination methods in the m X n sequencing 1 problem, Nav. Res. Log. Quart. 18, № 3 (1971), 295—305. J 420. S z w a r c W., Solution of the Akers — Friedman scheduling £ problem, Operat. Res. 8, №. 6 (1960), 782—788. ] 421. Takagi Masahide, Graphical solution of 2-job m-machine j sequencing problem, Дэнки сикэнсё ихо, Bull. Elektrotechn. I Lab. 25, № 8 (1961), 575—584. I 422. Tai war P. P., A note on sequencing problem with uncertain I |ob times, J. Operat. Res. Soc. Japan 9, №№ 3—4 (1967), 93— I 423. Terno J., Algorithmen fur das klassische Maschinenbele - I |ungsj>roblem, Math. Operationsforsch. und Statist. 3, № 3 (1972), 1 424. Tyagi M. S., The travelling-salesman problem, Math. Se- min. 4, № 4 (1968), 168-176. 425. U s n S. G. B., Scheduling to minimize the number of late jobs when set-up and processing times are uncertain, Manag. Sci. 19, № 11 (1973), 1283—1288. 426. Webb M. H. J., Some methods of producing approximate solutions to travelling salesman problems with hundreds or tho- usands of cities, Operat. Res. Quart. 22, № 1 (1971), 49—66. j 427. Weinberg F., BehandlungdesverallgemeinertenTraveling- Salesman-Problems und seiner Anwendungen'im Sequecing mit ^anzzahliger Programmierung, Industr. Organis. 36, № 4 (1967), 428. Werra D. de, Balanced schedules, INFOR. Can. J. Operat. Res. and Inform. Process. 9, № 3 (1971), 230—237.