/
Текст
УДК 65.0.12.122 Вентцель Е. С. Исследование операций. М., «Советское радио», 1972, 552 стр., т 31 000 экз., ц. 1 р. 96 к. Излагаются основы исследования операций — науки, зани- мающейся количественным обоснованием решений во всех областях целенаправленной человеческой деятельности. В книге рассматриваются основные понятия и методологичес- кие принципы исследования операций, математические методы оп- тимизации (линейное, динамическое программирование, теория игр и статистических решений), а также методы математического моде- лирования операций. Большое внимание уделяется прикладной теории марковских случайных процессов (с приложениями в облас- ти теории массового обслуживания, теории надежности) и матема- тическому описанию процессов, протекающих в сложных, много^ элементных системах (метод динамики средних). Рассматриваются методы статистического моделирования операций на ЭЦВМ и осно- вы метода сетевого планирования. Книга содержит ряд новых ма- териалов, разработанных автором в последние годы и нигде ранее не публиковавшихся. Изложение ведется на сравнительно элементарном уровне, впол- не доступном читателю, знакомому с обычным вузовским курсом математики и с элементами теории вероятностей. Излагаемые мето- ды иллюстрируются большим количеством примеров из разных областей практики. Книга рассчитана на широкий круг читателей — инженеров, экономистов, научных работников и хозяйственных руководителей, интересующихся применением математики к обоснованию опти- мальных решений Рис. 266, табл 119, библ. 29 найм. 3—3—14 93—72
ОГЛАВЛЕНИЕ Предисловие....................................................... 6 Введение ......................................................... 7 1. Основные понятия исследования операций....................11 1. Операция. Эффективность операции .........................11 2. Математическая модель операции-...........................14 3. Общая постановка задачи исследования операций. Детермини- рованный случай..............................................16 4. Общая постановка задачи исследования операций Оптимиза- ция решения в условиях неопределенности......................18 5. Оценка операции по нескольким показателям.................23 2. Линейное программирование ...............................28 1. Задачи линейного программирования.........................28 2. Основная задача линейного программирования................39 3. Геометрическая интерпретация основной задачи линейного про- граммирования .............................................. 45 4. Задача линейного программирования с ограничениями-нера- венствами. Переход от нее к ОЗЛП и обратно...................55 5. Симплекс-метод решения задачи линейного программирования 59 6. Табличный алгоритм замены базисных переменных.............63 7. Отыскание опорного решения основной задачи линейного про- граммирования ...............................................71 8. Отыскание оптимального решения основной задачи линейного программирования ........................................... 77 9. Транспортная задача линейного программирования ... 83 10. Нахождение опорного плана................................87 11. Улучшение плана перевозок. Цикл пересчета . 91 12. Решение транспортной задачи методом потенциалов..........99 13. Транспортная задача с неправильным балансом.............110 14. Решение транспортной задачи по критерию времени.........115 3. Динамическое программирование . ... . ........ 120 1. Задачи динамического программирования...................120 2. Задача о наборе высоты и скорости летательным аппаратом . . 124 3. Общая постановка задачи динамического программирования. Интерпретация управления в фазовом пространстве.............132 4. Задачи распределения ресурсов............................142 5. Пример решения задачи распределения ресурсов.............146 6. Другие задачи распределения ресурсов.....................154 7 Распределение ресурсов со вложением доходов в производство 157 8 Решение задачи динамического программирования с учетом предыстории процесса........................................163 9. Задачи динамического программирования, несвязанные со вре- менем ......................................................172 3
10 Задачи динамического программирования с мультипликативным критерием • • ......................... 11 Бесконечношаговои процесс динамического программирования 177 4. Моделирование операций по схеме марковских случайных про- цессов ...................................................... 1 Марковский случайный процесс с дискретными состояниями 181 2 Случайные процессы с дискретным и непрерывным временем Марковская цепь ................................185 3 Марковский процесс с дискретными состояниями и непрерывным временем Уравнения Колмогорова для вероятностей состоя- .. 104 нии ........................................ 4 . Поток событий Простейший поток и его свойства .........200 5 Потоки Пальма Потоки Эрланга ......................206 6 Пуассоновские потоки событий и непрерывные марковские цепи 212 7 Предельные вероятности состояний . ..............217 8 Процесс «гибели и размножения» ......................222 9 Циклический процесс 22? 10 Приближенное сведение не-марковских процессов к марковс- ким Метод псевдосостояннй ......................232 5. Теория массового обслуживания ............. 238 1 Задачи теории массового обслуживания 238 2 Классификация систем массового обслуживания и их основ- ные характеристики 240 3 Одноканальная СМО с отказами ..........................242 4 Многоканальная СМО с отказами..........................245 5 Одноканальная СМО с ожиданием...........................248 6 Многоканальная СМО с ожиданием . 257 7 СМО с ограниченным временем ожидания ...................264 8 Замкнутые системы массового обслуживания ...............268 9 Системы массового обслуживания со «взаимопомощью» между каналами 275 10 Система массового обслуживания с ошибками..............281 11 . Системы массового обслуживания с не-пуассоновскими пото- ками событий 285 6. Метод динамики средних....................................291 1 Идея метода Область применимости .........................291 2 Учет зависимости интенсивностей потоков событий от численнос- тей состояний Принцип квазирегулярности .....................300 3 Учет пополнения численностей состояний ...................309 4 Метод динамики средних для системы, состоящей из неоднород- ных элементов 314 5 Предельное поведение средних численностей состояний . . . 320 6 . Уравнения динамики боя (модель А) . ..................329 7 Учет пополнения сил, упреждающего удара, темпа мобилиза- ции и прочих факторов в уравнениях динамики боя . . . . 333 8 Модель Б Случай отсутствия переноса огня..................336 9 МодельВ Учет деятельности разведки и системы управления боем 338 10 Учет восстановления единиц в ходе боевых действий . ... 343 11 Уравнения динамики боя для неоднородных единиц Функции распределения огня . .............................347 12 Уравнения смешанного типа ......................350 13 Некоторые уточнения метода динамики средних .............357
7. Методы учета надежности технических устройств . . . 366 1 Проблема оценки надежности ............366 2 Надежность элемента Плотность распределения времени без- отказной работы Среднее время безотказной работы .... 367 3 Экспоненциальный закон надежности Интенсивность отказов 372 4 Определение надежности системы по надежности ее элементов. Надежность нерезервированной системы ....................378 5 Надежность резервированной системы («горячий резерв»)..382 6 Надежность резервированной системы («холодный» и «облег- ченный» резерв) . 386 7 Надежность системы с восстановлением.................393 8 Учет зависимости отказов при оценке надежности технических устройств 400 8. Моделирование операций методом статистических испытаний . . 409 1 Метод статистических испытаний (Монте-Карло) .... 409 2 . Единичный жребий ............................413 3 Розыгрыш значения нормально распределенной случайной ве- личины ..................................................420 4 Получение случайного числа R от 0 до 1 ...............424 5 Примеры моделирования случайных процессов методом Монте- Карло 426 6 Определение характеристик стационарного случайного процес- са методом Монте-Карло по одной реализации 433 7 . Оценка точности характеристик полученных методом Монте- Карло Необходимое число реализаций ......................440 9. Игровые методы обоснования решений....................446 1 Задачи теории игр и статистических решений............446 2 . Предмет теории игр Основные понятия ................447 3 Платежная матрица 450 4 Нижняя и верхняя цена игры Принцип минимакса .... 454 5 Решение игры в смешанных стратегиях 461 6 Упрощение игр 464 7 Игра 2X2 466 8 . Игры 2Хп и тХ2.................................... 472 9 Решение игр т X п.....................................480 10 Решение конечных игр методом итераций ................489 11 . Физическая смесь стретегий 493 12 . Элементы теории статистических решений 496 13 Критерий, основанный на известных вероятностях условий. Критерии Вальда, Гурвица, Сэвиджа .......................500 14 Планирование эксперимента в условиях неопределенности . 509 10. Метод сетевого планирования ............. 516 1 Задача планирования комплекса работ ................. 516 2 . Сетевой график комплекса работ. Временной сетевой график . . 519 3 Формальная запись (алгоритм) задачи сетевого планирования 526 4 Оптимизация плана комплекса работ ....................529 5 Сетевое планирование при случайных временах выполнения работ Применение ЭЦВМ ........................539 Пр иложение (таблицы) ........543 Литература 545 Предметны йуказатель ........547 5
ПРЕДИСЛОВИЕ Настоящая книга написана на базе лекций по исследованию опе- раций, читанных автором в течение ряда лет в высших учебных заве- дениях, а также на основе опыта научно-исследовательских работ в раз- ных областях. Задачей автора было дать по возможности простое и понятное изло- жение идей и методов исследования операций, не пользуясь громозд- ким математическим аппаратом. В отношении математической подго- товки от читателя требуется только знакомство с обычным втузовским курсом высшей математики, а также владение элементами теории веро- ятностей. В целях наглядности изложение сопровождается многими примерами. Книга рассчитана на широкий круг читателей — глав- ным образом, инженеров и научных работников, интересующихся зада- чами обоснования решений в различных областях практики. Автор приносит глубокую благодарность И. Я. Динеру, Л. А. Ов- чарову и А. Д. Вентцелю, сотрудничество с которыми помогло ему в разработке материалов, изложенных в книге. Книга содержит ряд новых материалов, разработанных автором в последние годы и нигде ранее не публиковавшихся. Москва, 1970 Е. Вентцель
ВВЕДЕНИЕ За последние годы наука уделяет все большее внимание вопросам организации и управления; это обусловлено целым рядом причин. Быстрое развитие и усложнение техники; увеличение масштабов и сто- имостей проводимых мероприятий; широкое внедрение автоматизации в сферу управления — все это приводит к необходимости научного анализа сложных целенаправленных процессов под углом зрения их структуры и организации. От науки требуются рекомендации по наи- лучшему (оптимальному) управлению такими процессами. Эти потребности практики вызвали к жизни специальные научные методы, которые принято объединять под названием «Исследование операций». Под этим подразумевается применение математических, количественных методов для обоснования решений во всех областях целенаправленной человеческой деятельности. Необходимость принятия решений так же стара, как само челове- чество. Испокон веку люди, приступая к осуществлению своих меро- приятий, раздумывали над их возможными последствиями и принима- ли решения, выбирая тем или другим образом зависящие от них пара- метры — способы организации мероприятий. Но до поры, до времени решения могли приниматься без специального математического анали- за, просто на основе опыта и здравого смысла. Такой способ принятия решений не утратил своего значения и в наше время. Возьмем пример: человек вышел утром из дому, чтобы ехать на работу. По ходу дела ему приходится принять целый ряд решений: брать ли с собой зонтик? В каком месте перейти улицу? Каким видом транспорта воспользоваться? И так далее. Разумеется, все эти решения человек принимает без специальных расчетов, просто опираясь на имеющийся у него опыт и на здравый смысл. Для обоснования таких решений никакая наука не нужна, да вряд ли понадобится и в дальнейшем. Однако возьмем другой пример. Допустим, организуется работа городского транспорта. В нашем распоряжении имеется какое-то ко- личество транспортных средств. Необходимо принять ряд решений, например: какое количество и каких транспортных средств направить по тому или другому маршруту? Как изменять частоту следования ма- шин в зависимости от времени суток? Где разместить остановки? И так далее. Эти решения являются гораздо более ответственными, чем реше- ния предыдущего примера. В силу сложности явления последствия каждого из них не столь ясны; для того, чтобы представить себе эти 7
последствия, нужно провести расчеты. А главное, от этих решений гораздо больше зависит. В первом примере неправильный выбор реше- ния затронет интересы одного человека; во втором — может отразиться на деловой жизни целого города. Конечно, и во втором примере при выборе решения можно дей- ствовать интуитивно, опираясь на опыт и здравый смысл. Но решения окажутся гораздо более разумными, если они будут подкреплены количественными, математическими расчетами. Эти предварительные расчеты помогут избежать длительного и дорогостоящего поиска пра- вильного решения «наощупь». Наиболее сложно обстоит дело с принятием решений, когда речь идет о мероприятиях, опыта в проведении которых еще не существует и, следовательно, здравому смыслу не на что опереться, а интуиция может обмануть. Пусть, например, составляется перспективный план развития системы вооружения на несколько лет вперед. Образцы воо- ружения, о которых может идти речь, еще не существуют, никакого опыта их боевого применения нет. При планировании приходится опи- раться на большое количество данных, относящихся не столько к прош- лому опыту, сколько к предвидимому будущему. Выбранное решение должно по возможности гарантировать нас от ошибок, связанных с не- точным прогнозированием, и быть достаточно эффективным для широ- кого круга условий. Для обоснования такого решения приводится в действие сложная система математических расчетов, да иначе и быть не должно: ведь неправильное решение, если оно будет принято, мо- жет привести к самым тяжелым последствиям. Вообще, чем сложнее организуемое мероприятие, чем больше вкла- дывается в него материальных средств, чем шире спектр его возможных последствий, тем менее допустимы так называемые «волевые» решения, не опирающиеся на научный расчет, и тем большее значение получает совокупность научных методов, позволяющих заранее оценить послед- ствия каждого решения, заранее отбросить недопустимые варианты и рекомендовать те, которые представляются наиболее удачными. Такими математическими расчетами, облегчающими людям при- нятие правильных решений, и занимается наука «Исследование опе- раций». Это — сравнительно молодая наука. Ее возникновение обыч- но относят к годам второй мировой войны, когда в вооруженных силах США и Англии были сформированы специальные научные группы для подготовки решений по способам организации и обеспечения боевых действий [11. Справедливость требует отметить, что подобными иссле- дованиями (правда, не под таким названием) занимались и до войны, в частности, в нашей стране, где были широко развиты математичес- кие методы оценки эффективности стрельбы, представляющие собой, в современном понимании, часть исследования операций. Зародившись в области преимущественно военных задач, исследо- вание операций с течением времени вышло из этой узкой сферы. В нас- тоящее время исследование операций — одна из самых быстро разви- вающихся наук, завоевывающая все более обширные области приме- нения: промышленность, сельское хозяйство, торговля, транспорт, здравоохранение и т. д. Задачи исследования операций, к какой бы §
области они ни относились, имеют общие черты, и при их решении применяются сходные методологические приемы. Например, методика количественного исследования, выработанная для анализа процессов образования очередей в системах массового обслуживания (парик- махерских, ремонтных мастерских и т. д.), может, почти без изменений, быть перенесена на некоторые задачи электронной вычислительной техники, а также задачи, связанные с организацией системы противо- воздушной обороны (ПВО). Чтобы ближе познакомиться со спецификой задач исследования операций и их характерными особенностями, приведем несколько при- меров таких задач. Пример I. Завод выпускает определенного вида изделия. Для обеспечения высокого качества этих изделий организуется система выборочного контроля. Требуется рациональным образом организо- вать этот контроль, т. е. выбрать: — размер контрольной партии; — последовательность контрольных операций; — правила браковки изделий и т. д. так, чтобы обеспечить заданный уровень качества при мини- мальных расходах. Пример 2. Для реализации определенной массы сезонных товаров создается сеть временных торговых точек. Требуется выбрать пара- метры этой сети: — число точек; — их размещение; — количество персонала; — продажные цены товаров и т. д. так, чтобы обеспечить максимальную экономическую эффектив- ность распродажи. Пример 3. Организуется воздушный налет группы самолетов- бомбардировщиков на промышленный район противника. В нашем распоряжении — определенное количество самолетов с известными летно-тактическими данными и вооружением. Требуется выбрать параметры налета: — высоту полета; — эшелонирование самолетов в строю; — точки прицеливания отдельных самолетов и групп; — способ выполнения бомбометания (залпом, серией) и т. д. так, чтобы в результате налета максимально снизить про- мышленный потенциал района. Пример 4. Организуется снабжение сырьем группы промышлен- ных предприятий. Возможные поставщики сырья размещены в различ- ных географических пунктах страны и связаны с группой предприятий различными путями сообщения (с разными тарифами). Требуется ра- циональным образом разместить заказы на сырье, так, чтобы потреб- ности группы предприятий были удовлетворены в заданные сроки и при минимальных затратах на перевозки. 9
Пример 5. Сложное техническое устройство время от времени может отказывать (выходить из строя). Для того, чтобы ликвидировать аварию, необходимо локализовать неисправность (обнаружить ее при- чину). Требуется разработать систему тестов, позволяющую с опреде- ленной, достаточно большой вероятностью локализовать неисправность за минимальное время. Пример 6. Организуется медицинское обследование группы на- селения с целью выявления некоторых заболеваний. На обследование выделены определенные материальные средства, оборудование и меди- цинский персонал. Требуется разработать план обследования: — количество пунктов; — их размещение; — последовательность осмотров; — вид и количество анализов и т. д. с тем, чтобы к заданному сроку выявить максимальный процент заболевших. Число примеров можно было бы легко умножить, но и этих доста- точно, чтобы составить представление об отличительных особенностях задач исследования операций. Несмотря на то, что примеры относятся к самым разным областям практики, в них легко просматриваются сходные черты. В каждом из них идет речь о каком-то меропри- ятии (или системе мероприятий), преследующем определенную цель. Заданы некоторые условия, характеризующие обстановку мероприятия, изменять которые мы не вправе (например, отпущенные средства). В рамках этой системы условий, требуется принять какое- то решение с тем, чтобы мероприятие в некотором смысле было наиболее выгодным (или наименее убыточным). В соответствии с этими общими чертами вырабатываются и общие приемы решения подобных задач, в совокупности составляющие методо- логическую основу исследования операций. Для решения практических задач исследование операций распо- лагает целым арсеналом математических средств. К ним относятся: тео- рия вероятностей с ее новейшими разделами (теория случайных про- цессов, теория информации, теория массового обслуживания); мате- матические методы оптимизации, начиная от простейших способов на- хождения экстремумов (максимумов и минимумов), знакомых каждому инженеру, и кончая современными методами, такими, как линейное программирование, динамическое программирование, принцип мак- симума Л. С. Понтрягина и многие другие. Из них в данной книге, адресованной широкому кругу читателей, освещаются далеко не все, а только простейшие и наиболее распространенные. Для понимания текста читатель должен владеть только основами математического анализа и элементами теории вероятностей. В книге содержится много численных примеров, иллюстрирующих излагаемые методы. При выборе условий этих примеров автор исходил из методических соображений, так что этими материалами ни в коем случае нельзя пользоваться как справочными.
1 ОСНОВНЫЕ ПОНЯТИЯ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ 1. ОПЕРАЦИЯ. ЭФФЕКТИВНОСТЬ ОПЕРАЦИИ Под операцией мы будем понимать любое мероприятие (или систему действий), объединенное единым замыслом и направленное к достижению определенной цели. Примеры операций. 1. Система мероприятий, направленная к повышению надежнос- ти технического устройства. 2. Отражение воздушного налета средствами ПВО. 3. Размещение заказов на производство оборудования. 4. Разведывательный поиск группы самолетов в тылу противника. 5. Запуск группы искусственных спутников Земли для установле- ния системы телевизионной связи. 6. Система перевозок, обеспечивающая снабжение ряда пунктов определенного вида товарами. Операция всегда является управляемым мероприятием, т. е. от нас зависит выбрать тем или другим способом какие-то пара- метры, характеризующие способ ее организации. «Организация» здесь понимается в широком смысле слова, включая и выбор технических средств, применяемых в операции. Например, организуя отражение воздушного налета средствами ПВО, мы можем, в зависимости от об- становки, выбирать тип и свойства применяемых технических средств (ракет, установок) или же, при заданных технических средствах, ре- шать только задачу рациональной организации самой процедуры отра- жения начета (распределение целей между установками, количество ракет, направляемых на каждую цель и т. д.). Всякий определенный выбор зависящих от нас параметров мы бу- дем называть решением. Решения могут быть удачными и неудачными, разумными и нера- зумными. Оптимальными называются решения, которые, по тем или иным соображениям, предпочтительнее других. Основная задача исследования операций—предварительное коли- чественное обоснование оптимальных решений. Заметим, что само принятие решения выходит за рамки исследования операций и относится к компетенции ответственного ли- ца (или группы лиц), которым предоставлено право окончательного вы- бора. При этом выборе ответственные за него лица могут учитывать, 11
наряду с рекомендациями, вытекающими из математического расчета, еще ряд соображений (количественного и качественного характера), которые не были учтены расчетом. Таким образом, исследование операций не ставит себе задачей полную автоматизацию принятия решений, полное исключение из это- го процесса размышляющего, оценивающего, критикующего челове- ческого сознания. В конечном итоге, решение всегда принимается че- ловеком (или группой лиц); задача исследования операций — подго- товить количественные данные и рекомендации, облегчающие челове- ку принятие решения*). Наряду с основной задачей — обоснованием оптимальных реше- ний — к области исследования операций относятся и другие задачи, такие как — сравнительная оценка различных вариантов организации опе- рации; — оценка влияния на результат операции различных параметров (элементов решения и заданных условий); — исследование так называемых «узких мест», то есть элементов управляемой системы, нарушение работы которых особенно сильно сказывается на успехе операции, и т. д. Эти «вспомогательные» задачи исследования операций приобре- тают особую важность, когда мы рассматриваем данную операцию не изолированно, а как составной элемент целой системы операций. Так называемый «системный» подход к задачам исследования операций требует учета взаимной зависимости и обусловленности целого ком- плекса мероприятий. Разумеется, в принципе всегда можно объеди- нить систему операций в одну сложную операцию более «высокого по- рядка», но на практике это не всегда удобно (и не всегда желательно), и в ряде случаев целесообразно выделять в качестве «операций» от- дельные элементы системы, а окончательное решение принимать с уче- том роли и места данной операции в системе. Итак, рассмотрим отдельную операцию 0. Размышляя над ор- ганизацией операции, мы стремимся сделать ее наиболее эффективной. Под эффективностью операции разумеется степень ее при- способленности к выполнению стоящей перед ней задачи. Чем лучше организована операция, тем она эффективнее. Чтобы судить об эффективности операции и сравнивать между со- бой по эффективности различно организованные операции, нужно иметь некоторый численный критерий оценки или пока- затель эффективности (в некоторых руководствах пока- затель эффективности называют «целевой функцией»). Будем в дальнейшем обозначать показатель эффективности буквой W. *1 Даже в тех случаях, когда принятие решения, казалось бы, полностью авто- матизировано (например, в процессе автоматического управления предприя- тием или космическим кораблем), роль человека не устраняется, ибо, в конеч- ном счете, от него зависит выбор алгоритма, по которому осуществляется уп- равление. 12
Конкретный вид показателя эффективности W, которым следует пользоваться при численной оценке эффективности, зависит от спе- цифики рассматриваемой операции, ее целевой направленности, а так- же от задачи исследования, которая может быть поставлена в той или другой форме. Многие операции выполняются в условиях, содержащих элемент случайности (например, операции, связанные с колебаниями спроса и предложения, с движением народонаселения, заболеваемостью, смертностью, а также все военные операции). В этих случаях исход операции, даже организованной строго определенным образом, не мо- жет быть точно предсказан, остается случайным. Если это так, то в ка- честве показателя эффективности W выбирается не просто характерис- тика исхода операции, а ее среднее значение (математическое ожида- ние). Например, если задача операции — получение максимальной прибыли, то в качестве показателя эффективности берется средняя прибыль. В других случаях, когда задачей операции является осуществление вполне определенного события, в качестве показателя эффективности берут вероятность этого события (например, ве- роятность того, что в результате воздушного налета данная группа целей будет поражена). Правильный выбор показателя эффективности — необходимое условие полезности исследования, применяемого для обоснования ре- шения. Рассмотрим ряд примеров, в каждом из которых показатель эф- фективности W выбран в соответствии с целевой направленностью опе- рации. Пример 1. Рассматривается работа промышленного предприятия под углом зрения его рентабельности, причем проводится ряд мер с целью повышения этой рентабельности. Показатель эффективности — прибыль (или средняя прибыль), приносимая предприятием за хозяйственный год. Пример 2. Группа истребителей поднимается в воздух для перехвата оди- ночного самолета противника. Цель операции — сбить самолет. Показатель эф- фективности — вероятность поражения (сбития) самолета. Пример 3. Ремонтная мастерская занимается обслуживанием машин; ее рентабельность определяется количеством машин, обслуженных в течение дня. Показатель эффективности — среднее число машин, обслуженных за день («сред- нее» потому, что фактическое число случайно). Пример 4. Группа радиолокационных станций в определенном районе ве- дет наблюдение за воздушным пространством. Задача группы — обнаружить любой самолет, если он появится в районе. Показатель эффективности — ве- роятность обнаружения любого самолета, появившегося в районе. Пример 5. Предпринимается ряд мер по повышению надежности электрон- ной цифровой вычислительной машины (ЭЦВМ). Цель операции — уменьшить частоту появления неисправностей («сбоев») ЭЦВМ, или, что равносильно, уве- личить средний промежуток времени между сбоями («наработку на отказ»). По- казатель эффективности — среднее время безотказной работы ЭЦВМ (или сред- нее относительное время исправной работы). Пример 6. Проводится борьба за экономию средств при производстве опре- деленного вида товаров. Показатель эффективности — количество (или среднее количество) сэкономленных средств. Во всех рассмотренных примерах показатель эффективности, ка- ков бы он ни был, требовалось обратить в максимум («чем больше, тем 13
лучше»). Вообще, это не обязательно: в исследовании операций часто пользуются показателями, которые требуется обратить не в максимум, а в минимум («чем меньше, тем лучше»). Напримёр, в примере 4 можно было бы в качестве показателя эффективности веять «вероятность тоге, что появившийся самолет не будет обнаружен» — этот показатель же- лательно сделать как можно меньше. В примере 5 за показатель эф- фективности можно было бы принять «среднее число сбоев за сутких, которое желательно минимизировать. Если оценивается какая-то система, обеспечивающая наведение снаряда на цель, то в качестве по- казателя эффективности можно выбрать среднее значение «промаха» снаряда (расстояния от траектории до центра цели), которое желательно сделать как можно меньше. Наряд средств, выделяемых на выполнен ие какой-либо задачи, тоже желательно сделать минимальным, равно как и стоимость предпринимаемой системы мероприятий. Таким образом, во многих задачах исследования операций разумное решение должно обеспечивать не максимум, а минимум некоторого показателя. Очевидно, что случай, когда показатель эффективности W надо обратить в минимум, легко сводится к задаче максимизации (для этого достаточно, например, изменить знак величины №). Поэтому в даль- нейшем, рассматривая в общем виде задачу исследования операций, мы будем для простоты говорить только о случае, когда W требуется об- ратить в максимум. Что касается практических конкретных за- дач, то мы будем пользоваться как показателями эффективности, кото- рые требуется максимизировать, так и теми, которые требуется мини- мизировать. 2. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ОПЕРАЦИИ Для применения количественных методов исследования в любой области всегда требуется построить ту или другую математическую модель явления. Не составляет исключения и исследование опе- раций. При построении математической модели явление (в нашем слу- чае — операция) каким-то образом упрощается, схематизируется; из бесчисленного множества факторов, влияющих на явление, выделяется сравнительно небольшое количество важнейших, и полученная схема описывается с помощью того или другого математического аппарата. В результате усмнавливаются количественные связи между условиями операции, параметрами решения и исходом операции — показателем эффективности (или показателями, если их в данной задаче несколько). Чем удачнее подобрана математическая модель, тем лучше она отражает характерные черты явления, тем успешнее будет исследова- ние и полезнее — вытекающие из него рекомендации. Общих способов построения математических моделей не сущест- вует. В каждом конкретном случае модель строится, исходя из целевой направленности операции и задачи научного исследования, с учетом требуемой точности решения, а также точности, с какой могут быть известны исходные данные. Требования к модели противоречивы. С одной стороны, она долж- на быть достаточно полной, т. е. в ней должны быть учтены все важ- м
\ ные факторы, от кбторых существенно зависит исход операции. С дру- гой стороны, модельдолжна быть достаточно простой для того, чтобы можно было установить обозримые (желательно — аналитические) зависимости между вхддящими в нее параметрами. Модель не должна быть «засорена» множеством мелких, второстепенных факторов — их учет усложняет математический анализ и делает результаты исследо- вания трудно обозримыми. Одним словом, искусство составлять математические модели есть именно искусство, и опыт в этом деле приобретается постепенно. Две опасности гсегда подстерегают составителя модели: первая — утонуть в подробностях («из-за деревьев не увидеть леса»); вторая слишком огрубить явление («выплеснуть из ванны вместе с водой и ре- бенка»), В сложных случаях, когда построение модели вызывает наи- большее сомнение, полезным оказывается своеобразный «спор моделей», когда одно и то же явление исследуется на нескольких моделях. Если научные выводы и рекомендации от модели к модели меняются мало, это — серьезный аргумент в пользу объективности исследования. Характерным для сложных задач исследования операций являет- ся также повторное обращение к модели: после того, как первый цикл исследований выполнен, возвращаются снова к модели и вносят в нее необходимые коррективы. Построение математической модели — наиболее важная и ответ- ственная часть исследования, требующая глубоких знаний не только и не столько в математике, сколько в существе моделируемых явлений. Однако, раз созданная удачная модель может найти применение и далеко за пределами того круга явлений, для которого она перво- начально создавалась. Так, например, математические модели массо- вого обслуживания нашли широкое применение в целом ряде облас- тей, далеких, с первого взгляда, от массового обслуживания (надеж- ность технических устройств, организация автоматизированного про- изводства, задачи ПВО и др.). Математические модели, первоначаль- но предназначенные для описания динамики развития биологических популяций, находят широкое применение при описании боевых дейст- вий и наоборот — боевые модели с успехом применяются в биологии. Математические модели, применяемые в настоящее время в зада- чах исследования операций, можно грубо подразделить на два класса: аналитические и статистические. Для первых характерно установление формульных, аналитиче- ских зависимостей между параметрами задачи, записанных в любом виде: алгебраические уравнения, обыкновенные дифференциальные Уравнения, уравнения с частными производными и т. д. Чтобы такое аналитическое описание операции было возможно, как правило, нужно принять те или иные допущения или упрощения. С помощью аналити- ческих моделей удается с удовлетворительной точностью описать только сравнительно простые операции, где число взаимодействующих элементов не слишком велико. В операциях же большого масштаба, сложных, в которых переплетается действие огромного количества факторов, в том числе и случайных, на первый план выходит метод статистического моделирования. Он состоит в том, что процесс развития 15
операции как бы «копируется» на вычислительной/машине, со всеми сопровождающими его случайностями. Всякий паз, когда в ход опе- рации вмешивается какой-либо случайный фактор, его влияние учи- тывается посредством «розыгрыша», напомина19щего бросание жребия. В результате многократного повторения такой процедуры удается по- лучить интересующие нас характеристики /схода операции с любой степенью точности*). / Статистические модели имеют перед аналитическими то преиму- щество, что они позволяют учесть большее число факторов и не требуют грубых упрощений и допущений. Зато результаты статистического моделирования труднее поддаются анализу и осмыслению. Более гру- бые аналитические модели описывают явление лишь приближенно, зато результаты более наглядны и отчетливее отражают присущие яв- лению основные закономерности. Наилучшие результаты получаются при совместном применении аналитических и статистических моделей: простая аналитическая модель позволяет вчерне разобраться в основ- ных закономерностях явления, наметить главные его контуры, а лю- бое дальнейшее уточнение может быть получено статистическим моде- лированием. 3. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ.ДЕТЕРМИНИРОВАННЫЙ СЛУЧАЙ Рассмотрим задачу исследования операций в общей постановке, безотносительно к виду и цели операции. Пусть имеется некоторая операция 0, т. е. управляемое меро- приятие, на исход которого мы можем в какой-то мере влиять, выбирая тем или другим способом зависящие от нас параметры. Эффективность операции характеризуется каким-то численным критерием или пока- зателем W, который требуется обратить в максимум (случай, когда его требуется обратить в минимум, сводится к предыдущему и отдельно не рассматривается). Предположим, что тем или иным способом математическая модель операции построена; она позволяет вычислить показатель эффектив- ности W при любом принятом решении, для любой совокупности условий, в которых выполняется операция. Рассмотрим сначала наиболее простой случай: все факторы, от которых зависит успех операции, делятся на две группы: — заданные, заранее известные факторы (условия проведения опе- рации) ах, а2, ..., на которые мы влиять не можем; — зависящие от нас факторы (элементы решения) хъ х2, ..., которые мы, в известных пределах, можем выбирать цо своему усмотрению. Этот случай, в котором факторы, влияющие на исход операции, либо заранее известны, либо зависят от нас, мы будем называть д е- терминированным. *) Подробно о статистическом моделировании см. гл. 8. 16
Заметим, что под «заданными условиями» операции cq, а2, ... мо- гут пониматься не только обычные числа, но и функции, в частности— ограничения, наложенные на элементы решения. Равным об- разом, элементы решения хъ х2, ... также могут быть не только числа- ми, но и функциями. Показатель эффективности W зависит от обеих групп факторов: как от заданных условий, так и от элементов решения. Запишем эту зависимость в виде общей символической формулы: W = W (dj, a2, ...; х1( x2,...). (3.1) Так как математическая модель построена, будем считать, что за- висимость (3.1) нам известна, и для любых аь a2, ...; хъ х2, ... мы мо- жем найти W. Тогда задачу исследования операций можно математически сфор- мулировать так: При заданных условиях , а2, ... найти такие элементы решения х1г х2, ..., которые обращают показатель W в максимум. Перед нами — типично математическая задача, относящаяся к классу так называемых вариационных задач. Методы решения таких задач подробно разработаны в математике. Простейшие из этих методов («задачи на максимум и минимум») хорошо известны каждому инженеру. Для нахождения максимума или минимума (коро- че, экстремума) функции нужно продифференцировать ее по аргу- менту (или аргументам, если их несколько), приравнять производные нулю и решить полученную систему уравнений. Однако, этот простой метод в задачах исследования операций имеет ограниченное применение. Причин этому несколько. 1. Когда аргументов Xj, х2, ... много (а это типично для задач ис- следования операций), совместное решение системы уравнений, полу- ченных дифференцированием основной зависимости, зачастую оказы- вается не проще, а сложнее, чем непосредственный поиск экстремума. 2. В случае, когда на элементы решения xlt х2, ... наложены огра- ничения (т. е., область их изменения ограничена), часто экстремум на- блюдается не в точке, где производные обращаются в нуль, а на границе области возможных решений. Возникает специфическая для исследования операций математическая задача «поиска экстре- мума при наличии ограничений», не укладывающаяся в схему класси- ческих вариационных методов. 3. Наконец, производных, о которых идет речь, может вовсе не существовать, например, если аргументы хъ х2, ... изменяются не не- прерывно, а дискретно, или же сама функция W имеет особенности. Общих математических методов нахождения экстремумов функций любого вида при наличии произвольных ограничений не существует. Однако для случаев, когда функция и ограничения обладают опреде- ленными свойствами, современная математика предлагает ряд спе- циальных методов. Например, если показатель эффективности W зави- сит от элементов решения хъ х2, ... линейной ограничения, на- ложенные на хь х2, ..., также имеют вид линейных равенств (или неравенств), максимум функции W находится с помощью специального 17
аппарата, так называемого линейного программирова- ния (см. гл. 2). Если эти функции обладают другими свойствами (на- пример, выпуклы или квадратичны), применяется аппарат «выпуклого» или «квадратичного» программирования [2], болееюложный по сравне- нию с линейным программированием, но все же дозволяющий в прием- лемые сроки найти решение. Если операция ^'естественным образом расчленяется на ряд «шагов» или «этапов» (найример, хозяйственных Лет), а показатель эффективности W выражается в виде суммы показа- телей wir достигнутых за отдельные этапы, для нахождения решения, обеспечивающего максимальную эффективность, может быть применен метод динамического программирования (см. гл. 3). Если операция описывается обыкновенными дифференциальными уравнениями, а управление, меняющееся со временем, представляет собой некоторую функцию х(0, то для нахождения оптимального уп- равления может оказаться полезным специально разработанный метод Л. С. Понтрягина [3]. Таким образом, в рассматриваемом детерминированном случае задача отыскания оптимального решения сводится к математической задаче отыскания экстремума функции W; эта задача может быть весь- ма сложной (особенно при многих аргументах), но, в конце концов, является вычислительной задачей, которую, особенно при наличии быстродействующих ЭЦВМ, удается так или иначе решить до конца. Трудности, возникающие при этом, являются расчетными, а не прин- ципиальными. 4. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ. ОПТИМИЗАЦИЯ РЕШЕНИЯ В УСЛОВИЯХ НЕОПРЕДЕЛЕННОСТИ В предыдущем параграфе мы рассмотрели самый простой, пол- ностью детерминированный случай, когда все условия операции Я], а2> известны, и любой выбор решения х2, ... приводит к впол- не определенному значению показателя эффективности IE. К сожалению, этот простейший случай не так уж часто встре- чается на практике. Гораздо более типичен случай, когда не все условия, в которых будет проводиться операция, известны зара- нее, а некоторые из них содержат элемент неопределенности. Напри- мер, успех операции может зависеть от метеорологических условий, которые заранее неизвестны, или от колебаний спроса и предложения, заранее трудно предвидимых, связанных с капризами моды, или же от поведения разумного противника, действия которого заранее неиз- вестны. В подобных случаях эффективность операции зависит уже не от двух, а от трех категорий факторов: — условия выполнения операции alt а2.которые известны за- ранее и изменены быть не могут; — неизвестные условия или факторы Ylt Y2, ... ; — элементы решения хи х2, ..., которые нам предстоит выбрать. 18
Пусть эффективность операции характеризуется некоторым пока- зателем W, зависящим от всех трех групп факторов. Это мы запишем в виде общей формулы: W = W (alf а2,...; Yu Га, ...; х1г х2,...). (4.1) Если бы условия Yi, Ys, ... были известны, мы могли бы заранее подсчитать показатель W и выбрать такое решение х1г х2, ..., при кото- ром он максимизируется. Беда в том, что параметры Yi,Y2, ... нам не- известны, а значит, неизвестен и зависящий от них показатель эффек- тивности W при любом решении. Тем не менее задача выбора решения по-прежнему стоит перед нами. Ее можно сформулировать так: При заданных условиях а1; а2, с учетом неизвестных факторов Ki, Ys, ... найти такие элементы решения хъ х2, ..., которые по воз- можности обращали бы в максимум показатель эффективности И7. Это — уже другая, не чисто математическая задача (недаром в ее формулировке сделана оговорка «по возможности»). Наличие неизвест- ных факторов Ylt У2, ... переводит нашу задачу в другую категорию’ она превращается в задачу о выборе решения в условиях неопределен- ности. Давайте будем честны: неопределенность есть неопределенность. Если условия выполнения операции неизвестны, мы не имеем возмож- ности так же успешно организовать ее, как мы это сделали бы, если бы располагали большей информацией. Поэтому любое решение, приня- тое в условиях неопределенности, хуже решения, принятого во впол ie определенной ситуации. Наше дело — сообщить своему решению в наи- большей возможной мере черты разумности. Решение, принятое в ус- ловиях неопределенности, но на основе математических расчетов, бу- дет все же лучше решения, выбранного наобум. Недаром один из вид- ных зарубежных специалистов — Т. Л. Саати в книге «Математичес- кие методы исследования операций» [4] дает своему предмету следую- щее ироническое определение: «Исследование операций представляет собой искусство давать плохие ответы на те практические вопросы, на которые даются еще худшие ответы другими методами». Задачи о выборе решения в условиях неопределенности встречают- ся нам в жизни на каждом шагу. Пусть, например, мы собрались ехать в отпуск, взяв с собой чемодан ограниченного объема, причем вес че- модана не должен превышать того, при котором мы можем носить его без посторонней помощи (условия аь а2, ...). Погода в районах путе- шествия заранее неизвестна (условия Yr, У2, ...). Спрашивается, ка- кие предметы одежды (хг, х2, ...) следует взять с собой? Эту задачу мы, разумеется, решаем без всякого математического аппарата, хотя, по-видимому, не без опоры на какие-то численные дан- ные (хотя бы на вероятности морозной или дождливой погоды в райо- нах путешествия в данное время года). Однако, если нужно принять более серьезное и ответственное решение (например, о характеристи- ках проектируемой плотины в районе возможных паводков, или о вы- боре типа посадочного устройства для посадки на планету с неизвест- 19
ними свойствами поверхности, или о выборе образца вооружения для борьбы с противником, характеристики которого заранее неизвестны), то выбору решения в обязательном порядке должныбыть предпосланы математические расчеты, облегчающие этот выбор и сообщающие ему, в доступной мере, черты разумности. Применяемые при этом методы существенно зависят от того, ка- кова природа неизвестных факторов Ylt Y2, и какими ориентиро- вочными сведениями о них мы располагаем. Наиболее простым и благоприятным для расчетов является слу- чай, когда неизвестные факторы Ylt У2, ... представляют собой слу- чайные величины (или же случайные функции), о которых имеются статистические данные, характеризующие их распределение. Пусть, например, мы рассматриваем работу железнодорожной сортировочной станции, стремясь оптимизировать процесс обслужива- ния прибывающих на эту станцию грузовых поездов. Заранее неизвест- ны ни точные моменты прибытия поездов, ни количество вагонов в каж- дом поезде, ни адреса, по которым направляются вагоны. Все эти ха- рактеристики представляют собой случайные величины, закон распределения каждой из которых (и их совокупности) может быть определен по имеющимся данным обычными методами математи- ческой статистики. Аналогично, в каждой военной операции присутствуют случай- ные факторы, связанные с рассеиванием снарядов, со случайностью моментов обнаружения целей и т. п. В принципе все эти факторы могут быть изучены методами теории вероятностей, и для них могут быть по- лучены законы распределения (или, по крайней мере, числовые харак- теристики). В случае, когда неизвестные факторы, фигурирующие в опера- ции — Ylt Y2, ... — являются обычными случайными величинами (или случайными функциями), распределение которых, хотя бы ориен- тировочно, известно, для оптимизации решения может быть применен один из двух приемов: — искусственное сведение к детерминированной схеме; — «оптимизация в среднем». Остановимся более подробно на каждом из этих приемов. Первый прием сводится к тому, что неопределенная, вероятност- ная картина явления приближенно заменяется детерминированной. Для этого все участвующие в задаче случайные факторы Ylt У2, ... приближенно заменяются не случайными (как правило, их математи- ческими ожиданиями). Этот прием применяется по преимуществу в грубых, ориентиро- вочных расчетах, когда диапазон случайных изменений величин Yb Y2, ••• сравнительно мал, т. е. они без большой натяжки могут рас- сматриваться как не случайные. Заметим, что тот же прием замены случайных величин их математическими ожиданиями может успешно применяться и в случаях, когда величины Ylt Y2, ... обладают боль- шим разбросом, но показатель эффективности W зависит от них ли- нейно (или почти линейно). 20
Второй прием («оптимизация в среднем»), более сложный, при- меняется, когда случайность величин У1( У2, ... весьма существенна и замена каждой из них ее математическим ожиданием может привес- ти к большим ошибкам. Рассмотрим этот случай более подробно. Пусть показатель эф- фективности W существенно зависит от случайных факторов (будем для простоты считать их случайными величинами) Ylt Y2, ...; допус- тим, что нам известно распределение этих факторов, скажем, плот- ность распределения f(ylt у2, ...). Предположим, что операция выпол- няется много раз, причем условия Ylt Y2, ... меняются от раза к разу случайным образом. Какое решение xlt х2, ... следует выбрать? Очевидно, то, при котором операция в среднем будет наиболее эффективна, т. е. математическое ожидание показателя эффектив- ности W будет максимально. Таким образом, нужно выбирать такое решение хь х2, ... , при котором обращается в максимум математиче- ское ожидание показателя эффективности: Г = УИ[Г] = -Я •; У1, Уч, - ; Х2, х2 у2, ...)dy1dy2... (4.2) Такую оптимизацию мы будем называть «оптимизацией в сред- нем». А как же с элементом неопределенности? Конечно, в какой-то ме- ре он сохраняется. Успешность каждой отдельной операции, осущест- вляемой при случайных, заранее неизвестных значениях Ylt Y2....... может сильно отличаться от ожидаемой средней, как в большую, так, к сожалению, и в меньшую сторону. При многократном осуществлении операции эти различия, в среднем, сглаживаются; однако, нередко данный способ оптимизации решения, за неимением лучшего, приме- няется и тогда, когда операция осуществляется всего несколько раз или даже один раз. Тогда надо считаться с возможностью неприят- ных неожиданностей в каждом отдельном случае. Утешением нам мо- жет служить мысль о том, что «оптимизация в среднем» все же лучше, чем выбор решения без всяких обоснований. Применяя этот прием к многочисленным (хотя бы и различным) операциям, все же мы в сред- нем выигрываем больше, чем если бы совсем не пользовались расчетом. • Для того, чтобы составить себе представление о том, чем мы рис- куем в каждом отдельном случае, желательно, кроме математическо- го ожидания показателя эффективности, оценивать также и его дис- персию (или среднее квадратическое отклонение). Наиболее трудным для исследования является тот случай неопре- деленности, когда неизвестные факторы Ylt Y2, ... не могут быть изу- чены и описаны с помощью статистических методов: их законы распре- деления или не могут быть получены (соответствующие статистические Данные отсутствуют), или, что еще хуже, таких законов распределения вовсе не существует. Это бывает, когда явление, о котором идет речь, не обладает свойством статистической устойчивости. Например, мы 21
знаем, что на Марсе возможно наличие органической/Жизни, и некото- рые ученые даже считают его весьма вероятным, несовершенно невоз- можно подсчитать эту вероятность на основе какйх-либо статистичес- ких данных. Другой пример: предположим, что эффективность проек- тируемого вооружения сильно зависит от того, будет ли предполагае- мый противник к моменту начала боевых действий располагать сред- ствами защиты, и если да, то какими именно? Очевидно, нет никакой возможности подсчитать вероятности этих гипотез — самое большее, их можно назначить произвольно, что сильно повредит объективности исследования. В подобных случаях, вместо произвольного и субъективного на- значения вероятностей с дальнейшей «оптимизацией в среднем», ре- комендуется рассмотреть весь диапазон возможных условий Уъ У2, ... и составить представление о том, какова эффективность операции в этом диапазоне и как на нее влияют неизвестные условия. При этом задача исследования операций приобретает новые методологические особен- ности. Действительно, рассмотрим случай, когда эффективность опера- ции W зависит, помимо заданных условий аъ а2, ... и элементов реше- ния Xj, х2, ..., еще и от ряда неизвестных факторов Уъ У2, ... нестати- стической природы, о которых никаких определенных сведений нет, а можно делать только предположения. Попробуем все же решить за- дачу. Зафиксируем мысленно параметры Уъ У2, ... , придадим им вполне определенные значения Ух = ylt У2 — у2, ..., и переведем тем самым в категорию заданных условий аг, а2, .... Для этих усло- вий мы в принципе можем решить задачу исследования операций и найти соответствующее оптимальное решение хъ х2, ... Его элементы, кроме заданных условий аъ а2, ..., очевидно, будут зависеть еще и от того, какие частные значения мы придали условиям Ух, У2, ...: x1 = Xi(a1, а2,...; ylt у2,...); х2 = х2(аъ а2,...; уи у2,...). Такое решение, оптимальное для данной совокупности условий Уг> У(и только для нее), называется локально-оптимальным. Это решение, как правило, уже не оптимально для других значений Уъ У2, ... Совокупность локально-оптимальных решений для всего диа- пазона условий Уъ У2, ... дает нам представление о том, как мы дол- жны были бы поступать, если бы неизвестные условия Ylt У2, ... были нам в точности известны. Поэтому локально-оптимальное реше- ние, на получение которого зачастую тратится много усилий, имеет в случае неопределенности сугубо ограниченную ценность. Совершен- но очевидно, что в данном случае следует предпочесть не решение, строго оптимальное для каких-то определенных условий, а ком- промиссное решение, которое, не будучи, может быть, стро- го оптимальным ни для каких условий, оказывается приемлемым в целом диапазоне условий. В настоящее время полноценной- математической «теории компро- мисса» еще не существует, хотя в теории решений и имеются некоторые попытки в этом направлении (см., например, § 13 гл. 9 настоящей кни- 22
ги). Обычно окончательный выбор компромиссного решения осуществ- ляется человеком, который, опираясь на расчеты, может оценить и со- поставить сильные и слабые стороны каждого варианта решения в раз- ных условиях и на основе этого сделать окончательный выбор. При этом необязательно (хотя иногда и любопытно) знать точный локаль- ный оптимум для каждой совокупности условий уъ у2, ... Таким об- разом, классические вариационные и новейшие оптимизационные ме- тоды математики отступают в данном случае на задний план. В последнюю очередь рассмотрим своеобразный случай, возни- кающий в так называемых конфликтных ситуациях, когда неизвестные параметры У1( У2, ... зависят не от объективных обстоятельств, а от активно противодействующего нам против- ника. Такие ситуации характерны для боевых действий, отчасти для спортивных соревнований, в капиталистическом обществе — для конкурентной борьбы и т. д. При выборе решений в подобных случаях может оказаться по- лезным математический аппарат так называемой теории игр — математической теории конфликтных ситуаций (см. гл. 10). Модели конфликтных ситуаций, изучаемые в теории игр, основаны на пред- положении, что мы имеем дело с разумным и дальновидным противни- ком, всегда выбирающим свое поведение наихудшим для нас (и наилуч- шим для себя) способом. Такая идеализация конфликтной ситуации в некоторых случаях может подсказать нам наименее рискованное, «перестраховочное» решение, которое необязательно принимать, но во всяком случае полезно иметь в виду. Наконец, сделаем одно общее замечание. При обосновании реше- ния в условиях неопределенности, что бы мы ни делали, элемент не- определенности остается. Поэтому неразумно предъявлять к точности таких решений слишком высокие требования. Вместо того, чтобы пос- ле скрупулезных расчетов однозначно указать одно-единственное, в точности оптимальное (в каком-то смысле) решение, всегда лучше вы- делить область приемлемых решений, которые оказываются несущественно хуже других, какой бы точкой зрения мы ни пользо- вались. В пределах этой области могут произвести свой окончатель- ный выбор ответственные за него лица. 5. ОЦЕНКА ОПЕРАЦИИ ПО НЕСКОЛЬКИМ ПОКАЗАТЕЛЯМ Выше мы рассмотрели задачу исследования операций, где требо- валось так выбрать решение, чтобы максимизировать (или минимизиро- вать) один-единственный показатель эффективности W. На практике часто встречается случай, когда эффективность операции приходится оценивать не по одному, а сразу по нескольким показателям: W'i, и^2, ..., Wh; одни из этих показателей желательно сделать больше, Другие — меньше. Как правило, эффективность больших по объему, сложных опе- раций не может быть исчерпывающим образом охарактеризована с по- мощью одного показателя; на помощь ему приходится привлекать и дру- гие, дополнительные. 23
Например, при оценке деятельности промышленного предприя- тия приходится учитывать целый ряд показателей, как то: — прибыль, — полный объем продукции («вал»), — себестоимость и т. д. При анализе боевой операции, помимо основного показателя, ха- рактеризующего ее эффективность (например, математическое ожида- ние причиненного противнику ущерба), приходится учитывать и ряд дополнительных, как то: — собственные потери, — время выполнения операции, — расход боеприпасов и т. д. Такая множественность показателей эффективности, из которых некоторые желательно максимизировать, а другие — минимизировать, характерна для любой сколько-ни- будь сложной задачи исследования операций. Возникает вопрос: как же быть? •УД аг?» т,» *Xg х159 Прежде всего надо подчеркнуть, что выдвинутые требования, вообще •Хю *т,} > 7 говоря, несовместимы. Решение, об- ращающее в максимум один какой- то показатель как правило, не обращает ни в максимум, ни в мини- мум другие показатели W ъ, .... Поэтому широко распространенная формулировка «достижение макси- мального эффекта при минимальных Рис. 1.1 затратах» для научного исследования не подходит. Корректной является любая из формулировок «достижение максимального эффек- та при заданных затратах» или же «достижение заданного эффекта при минимальных затратах». В общем случае не существует решения, которое обращало бы в максимум один показатель W'j и одновременно в максимум (или минимум) другой показатель 1^2; тем более, такого решения не существует для нескольких показателей. Однако, количественный анализ эффективности может оказаться весьма полезным и в случае нескольких показателей эффективности. Прежде всего, он позволяет заранее отбросить явно нера- циональные варианты решений, уступающие лучшим вариан- там по всем показателям. Проиллюстрируем сказанное на примере. Пусть анализируется боевая операция О, оцениваемая по двум показателям: W — вероятность выполнения боевой задачи («эффективность»); S — стоимость израсходованных средств. Очевидно, первый показатель желательно обратить в максимум, а второй — в минимум. Предположим для простоты, что предлагается 24
на выбор конечное число — 20 различных вариантов решения; обоз- начим их Х1г Х2..... X20. Для каждого из них известны значения обоих показателей W и 3. Изобразим для наглядности каждый вариант решения в виде точ- ки на плоскости с координатами W и 3 (рис. 1.1)*>. Рассматривая рисунок, мы видим, что некоторые варианты реше- ния «неконкурентоспособны» и заранее должны быть отброшены. Дей- ствительно, те варианты, которые имеют над другими вариантами с той же стоимостью X преимущество по эффективности W, должны лежать на правой границе области возможных вариантов. Те же ва- рианты, которые при равной эффективности обладают меньшей стои- мостью, должны лежать на нижней границе области возмож- ных вариантов. Какие же варианты следует предпочесть при оценке эффективнос- ти по двум показателям? Очевидно, те, которые лежат одновременно ина правой, и на нижней границе области (см. пунк- тирную линию на рис. 1.1). Действительно, для каждого из вариантов, не лежащих на этом участке границы, всегда найдется другой вариант, не уступающий ему по эффективности, но зато более дешевый или, наоборот, не уступающий ему по дешевизне, но зато более эффектив- ный. Таким образом, из 20 предварительно выдвинутых вариантов большинство выпадает из соревнования, и нам остается только проана- лизировать оставшиеся четыре варианта: Xi6, ЛД, X19, Х20. Из них Хм — наиболее эффективный, но зато сравнительно дорогой; Х20 — самый дешевый, но зато не столь эффективный. Дело принимающего решение — разобраться в том, какой ценой мы согласны оплатить из- вестное повышение эффективности или, наоборот, какой долей эффек- тивности мы согласны пожертвовать, чтобы не нести слишком больших материальных потерь. Аналогичный предварительный просмотр вариантов (хотя и без такой наглядной геометрической интерпретации) может быть произ- веден и в случае многих показателей: Wlt W2, ..., Wh. Такая процедура предварительной отбраковки неконкуренто- способных вариантов решения должна всегда предшествовать решению задачи исследования операций с несколькими показателями. Это, хотя и не снимает необходимости компромисса, но существенно умень- шает множество решений, в пределах которого осуществляется выбор. Ввиду того, что комплексная оценка операции сразу по нескольким показателям затруднительна и требует размышлений, на практике часто пытаются искусственно объединить несколько показателей в один обобщенный показатель (или критерий). Нередко в качестве обобщенного (составного) критерия берут дробь; в числителе те показатели ..., Wm, которые желательно увеличить, а в нателе, — те, которые желательно уменьшить: t, IFt., Wm —-------- В книге рисунки пронумерованы по главам, а формулы и таблицы — по пара- графам такого ставят знаме- (5.1) 25
Например, если речь идет о боевой операции, в числителе ставят такие величины, как «вероятность выполнения боевой задачи» или «потери противника»; в знаменателе — «собственные потери», «расход боеприпасов», «время выполнения операции» и т. п. Общим недостатком «составных критериев» типа (5.1) является, то, что недостаток эффективности по одному показателю всегда можно скомпенсировать за счет другого (например, малую вероятность вы- полнения боевой задачи — за счет малого расхода боеприпасов, и т. п.). Критерии подобного рода напоминают в шутку предложенный Львом Толстым «критерий оценки человека» в виде дроби, где числитель — истинные достоинства человека, а знаменатель — его мнение о себе. Несостоятельность такого критерия очевидна: если принять его всерьез, то человек, почти без достоинств, но зато совсем без самомнения, будет иметь бесконечно большую ценность! Часто «составные критерии» предлагаются не в виде дроби, а в виде «взвешенной суммы» отдельных показателей эффективности: U— аг ...-f-ah №'h, (5.2) где alt а2, ..., ak — положительные или отрицательные коэффициенты. Положительные ставятся при тех показателях, которые желательно максимизировать; отрицательные—при тех, которые желательно ми- нимизировать. Абсолютные значения коэффициентов («веса») соот- ветствуют степени важности показателей. Нетрудно убедиться, что составной критерий вида (5.2) по сущест- ву ничем не отличается от критерия вида (5.1) и обладает теми же не- достатками (возможность взаимной компенсации разнородных показа- телей). Поэтому некритическое пользование любого вида «составными» критериями чревато опасностями и может привести к неправильным рекомендациям. Однако, в некоторых случаях, когда «веса» не выби- раются произвольно, а подбираются так, чтобы составной критерий наилучшим образом выполнял свою функцию, удается получить с его помощью некоторые результаты ограниченной ценности. В некоторых случаях задачу с несколькими показателями удается свести к задаче с одним-единственным показателем, если выделить толь- ко один (главный) показатель эффективности W2 и стремиться его об- ратить в максимум, а на остальные, вспомогательные показатели W2 Wa, ... наложить только некоторые ограничения вида: !F2>w2;---; Wm^wm; W„l+i ^Wm+r,...; Wk^wk. Эти ограничения, разумеется, войдут в комплекс заданных усло- вий аь а2, Например, при оптимизации плана работы промышленного пред- приятия можно потребовать, чтобы прибыль была максимальна, план по ассортименту — выполнен, а себестоимость продукции — не выше заданной. При планировании бомбардировочного налета можно потре- бовать, чтобы нанесенный противнику ущерб был максимален, но при этом собственные потери и стоимость операции не выходили за из- вестные пределы. 26
При такой постановке задачи все показатели эффективности, кроме одного, главного, переводятся в разряд заданных условий операции. Варианты решения, не укладывающиеся в заданные границы, сразу же отбрасываются, как неконкурентоспособные. По- лученные рекомендации, очевидно, будут зависеть от того, как выбра- ны ограничения для вспомогательных показателей. Чтобы определить, насколько это влияет на окончательные рекомендации по выбору реше- ния, полезно проварьировать ограничения в разумных пределах. Наконец, возможен еще один путь построения компромиссного решения, который можно назвать «методом последовательных усту- пок». Предположим, что показатели эффективности расположены в по- рядке убывающей важности: сначала основной Wi, затем другие, вспо- могательные: W2, ••• Для простоты будем считать, что каждый из них нужно обратить в максимум (если это не так, достаточно изме- нить знак показателя). Процедура построения компромиссного реше- ния сводится к следующему. Сначала ищется решение, обращающее в максимум главный показатель эффективности IFX. Затем назначает- ся, исходя из практических соображений и точности, с какой известны исходные данные (а часто она бывает небольшой), некоторая «уступка» Д Wlt которую мы согласны допустить для того, чтобы обратить в мак- симум второй показатель W2. Налагаем на показатель W'j ограничение, чтобы он был не меньше, чем — Д где W\* — максимально возможное значение IF1( и при этом ограничении ищем решение, об- ращающее в максимум W2. Далее снова назначается «уступка» в пока- зателе IV'a, ценой которой можно максимизировать W9, и т. д. Такой способ построения компромиссного решения хорош тем, что здесь сразу видно, ценой какой «уступки» в одном показателе при- обретается выигрыш в другом. Заметим, что свобода выбора решения, приобретаемая ценой даже незначительных «уступок», может оказаться существенной, так как в районе максимума обычно эффективность решения меняется очень слабо. Так или иначе, при любом способе формализации, задача коли- чественного обоснования решения по нескольким показателям остает- ся не до конца определенной, и окончательный выбор решения опреде- ляется волевым актом «командира» (так мы условно будем называть ответственное за выбор лицо). Дело исследователя — предоставить в распоряжение командира достаточное количество данных, позволяю. Щих ему всесторонне оценить преимущества и недостатки каждого ва- рианта решения и, опираясь на них, сделать окончательный выбор.
2 ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ 1. ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Во многих областях практики возникают своеобразные задачи оптимизации решений, для которых характерны следующие черты: — показатель эффективности W представляет собой линейную функцию от элементов решения хъ х2, ... ; — ограничительные условия, налагаемые на возможные решения, имеют вид линейных равенств или неравенств. Такие задачи принято называть задачами линейного программиро- вания*^ . Приведем несколько примеров задач линейного программирова- ния из разных областей практики. 1. Задача о пищевом рационе. Имеется четыре вида продуктов питания: Пх, П2, П3, П4. Известна стоимость единицы каждого продукта: 6*1, 6*2, С3, СА. Из этих продуктов необходимо составить пищевой рацион, кото- рый должен содержать: —белков не менее Ьг единиц, — углеводов не менее 62 единиц, — жиров не менее bs единиц. (1.1) Единица продукта П] содержит ап единиц белков, п12 единиц углеводов, а13 единиц жиров и т. д. Содержание элементов в единице каждого продукта задано таблицей (табл. 1.1). Требуется так составить пищевой рацион, чтобы обеспечить за- данные условия (1.1) при минимальной стоимости рациона. Запишем сформулированные словесно условия задачи в виде мате- матических формул. Обозначим Xj, х2, х3, х4 количества продуктов П1Я П2, П3, П4, входящих в рацион. *) Слово «программирование» заимствовано из зарубежной литературы и в данном случае означает не что иное, как «планирование» 28
Таблица I.) Элемент белки углеводы жиры £ >3 Ct 0 СХ Е Пх <3ц <312 °13 П2 °21 а22 а23 Пз °31 °32 а33 П4 °43 <342 а43 Очевидно, общая стоимость рациона будет L = ел + с2х2 + CgXa + с4х4 или короче 4 ь = 2 сгхг. /=1 (1-2) Запишем математически условия (1.1). В одной единице продукта Ilj содержится ап единиц белка, значит, в хг единицах — аиху, в х2 единицах продукта П2 содержится а21х2 единиц белка и т. д. Общее ко- личество белков, содержащееся в рационе, не должно быть меньше Ьг\ отсюда получаем первое условие-неравенство: ап %! + а21 х2 + а31 х3 4- а41 х4 > Ьг. (1.3) Записывая аналогичные условия для углеводов и жиров, получим, включая (1.3), три условия-неравенства: аи Ч- a2i х2 + #31 х3 п41 Хц blt а12 Х1 + а22 Х2 + а32 Х3 4“ а42 Х4 ^2- а13 Х1 4* а23 Х2 4" а33 Х3 4" й43 Х4 2^ ^3' (1.4) Эти условия представляют собой ограничения, наклады- ваемые на решение. Возникает следующая задача: Выбрать такие неотрицательные значения переменных х1( х2, х8, xit удовлетворяющие линейным неравенствам (1.4), при которых ли- нейная функция этих переменных В — Cixi 4“ с2х2 4- caxa 4- с^х^ обращалась бы в минимум. Поставленная задача представляет собой типичную задачу ли- нейного программирования. Не останавливаясь покуда на способах ее решения (об этом речь будет идти в дальнейшем), поставим еще не- сколько подобных задач. 29
2. Задача о загрузке станков. Ткацкая фабрика располагает станками типа 1 и Л/2 станками типа 2. Станки могут производить четы- ре вида тканей: ^i, Т2> тз', 7\, Каждый тип станка может производить любой из видов тканей, но в неодинаковом количестве. Станок типа 1 производит в месяц ап метров ткани Т1г а12 метров ткани Т2, а13 метров ткани Т3, а14 метров ткани Tt. Соответствующие числа для станка типа 2 будут а21, о22, агз, а24- Таким образом, производительности станков при произ- водстве каждого вида ткани заданы табл. 1.2. Таблица .2 1ип стайка Вид ткани т. г< 1 а11 ац «13 аы 2 а21 а22 «23 «24 Каждый метр ткани 7\ приносит фабрике доход съ ткани Т2 — доход с2, ткани Т3 — доход с3 и ткани Tt —доход с4. Фабрике пред- писан план, согласно которому она обязана произвести за месяц: не менее метров ткани Ти не менее Ь2 метров ткани Тг, не менее Ь3 метров ткани Т3 и не менее 64 метров ткани Tit т. е. пла- новое задание выражается числами Ьъ Ь2, Ь3, Ь4. Требуется так распределить загрузку станков производством тка- ней различного вида, чтобы план был выполнен и при этом месячная прибыль была максимальна. Запишем условия задачи математически. Обозначим хп—число станков типа 1, занятых производством ткани Т1г х12 — число станков типа 1, занятых производством ткани Т2, и вообще xtj — число станков типа I, занятых производством ткани Тs. Первый индекс соответствует типу станка, второй — виду ткани (i = 1, 2, / = 1, 2, 3, 4). Таким образом возникают восемь переменных — элементов реше- ния; (1.5) Х111 Х12> Х13> хи> X2lt Х22> X23i Х24> которые мы должны выбрать так, чтобы месячная прибыль была мак- симальна. Запишем формулу для вычисления этой прибыли. Каждый метр ткани Т\ приносит прибыль с4; хп метров ткани 7\ принесут при- быль CjXuj всего ткань 7\ принесет прибыли + х21) и т. д. Общая прибыль будет равна: L —Cj (хи -|- Х21) 4* ^2 (-*-12 + X2i) *Т^З (*13 4" *2з) ^4 (Х14 4“ *24)- (1 Требуется выбрать такие неотрицательные значения переменных (1.5), чтобы линейная функция от них (1.6) обращалась в максимум. При этом должны выполняться следующие ограничительные условия: 30
(1.7) 1) Ресурсы по станкам не должны быть превышены, т. е. сумма количеств станков каждого типа, занятых производством всех тканей, не должна превышать наличного запаса станков: *11 + *12 + *13 + *14 "С 1» *21 + *22 + *23 “Г *24 2' 2) Задания по ассортименту должны быть выполнены (или пере- выполнены). С учетом данных табл. 1.2 эти условия запишутся в виде неравенств: а11 *11 + а21 *21 ^1» °12 *12 + а22 *22 ^2» (18) Я13 *13 а2й *23 ^3» ®14 *14 ^24 *24 ^4’ Таким образом, сформулирована задача: Выбрать такие неотрицательные значения переменных хп, х12, ..., ..., *24» удовлетворяющие линейным неравенствам (1,7) и (1.8), при которых линейная функция этих переменных (1.6) обращалась бы в максимум. 3. Задача о распределении ресурсов. Имеются какие-то ресурсы (сырье, рабочая сила, оборудование): /?1, /?2> ••• > в количествах соответственно bi, b2, ..., Ьт единиц. С помощью Этих ресурсов могут производиться товары: Для производства одной единицы товара Т} необходимо atj еди- ниц ресурса Rt (t — 1,2, ... , т\ j = 1,2, ... , п). Каждая единица ресурса Rt стоит dt рублей (/ = 1,2...т). Каждая единица това- ра Т) может быть реализована по цене с> (/ = 1, 2, ..., п). По каждому виду товара количество произведенных единиц огра- ничивается спросом: известно, что рынок не может поглотить более, чем kj единиц товара Т} (j = 1,2, ..., п). Спрашивается: какое количество единиц какого товара надо про- извести для того, чтобы реализовать максимальную прибыль? Запишем условия задачи. Обозначим количества товаров Tlt Т2...... Тп, которые мы запланируем к произ- водству. Условия спроса налагают на эти величины ограничения: *i < ki, х2 < k2; ...; хп < kn. (1.9) 31
Ресурсов Должно хватить, отсюда возникают ограничения: а11 Х1 4“ й12 Х2 4* ••• + а1п Хп ^=5 а21 хг 4- ам х2 + ... + а2п хп < Ь2, ат1 *1 4- &т2 -^2 4-...4-^тп %п ^тп* I Эти же условия можно короче записать в виде: Gjj Xj SJZ blt (=1 п f ат1х1<Ьт. =i Выразим прибыль L в зависимости от элементов решения Х1, х2,..., хп. Х1) Себестоимость s> единицы товара Tj равна Sy = Gjj di 4- a2j d2 4- • • • 4- ami или, короче, tn s}^Yaudi (j=l, 2,..., n} (1.11) z=i Вычислив по этой формуле себестоимость единицы каждого то- вара, получим ряд значений: St, s2,..., sn. Чистая прибыль qjt получаемая от реализации одной единицы Товара Tj, равна разнице между ее продажной ценой С; и себестои- мостью s,: qi=c~si (/ = !. 2.......«)• (М2) По этой формуле получаем чистые прибыли на единицу для всех товаров: 71, 7г...qn- Общая чистая прибыль от реализации всех товаров будет L =q± Xj 4- 7г хг 4- ••• 4- 7« хт или, короче, п L=TqjXj. (1.13 32
Задача сводится к следующему: Выбрать такие неотрицательные значения переменных хг, х2, хп, которые удовлетворяют линейным неравенствам (1.9), (1.10) и об- ращают в максимум линейную функцию этих переменных (1.13). 4. Задача о перевозках. Имеются т складов: Ci, С2,..., Ст и п пунктов потребления: Ц1» П2,..., Пп (см. рис. 2.1). Речь идет о составлении плана перевозок со складов Сь С2, Ст в пункты П1( П2, Пп некоторого товара. На складах Ct, С2, ..., Ст имеются запасы товара в количествах ^2> ••• > единиц. Пункты потребления Пь П2, ..., Пп подали заявки соответст- венно на t>i, b2,..., Ьп единиц товара. Заявки выполнимы, т. е. сумма всех заявок не превос- ходит суммы всех имеющихся запасов: . п т Т' Ь) J at. i=i i=i Склады Сх.....Ст связаны с пунктами потребления Пъ ..., Пя какой-то сетью дорог с определенными тарифами на перевозки. Стоимость перевозки одной единицы товара со склада С, в пункт П] равна си (i =1, 2, ..., т; j = 1, 2, ..., п). 2 Зак 573 33
Требуется составить план перевозок, т. е. указать, с какого скла- да в какие пункты и какое количество товара нужно направлять так, чтобы заявки были выполнены, а общие расходы на все перевозки были минимальными. Обозначим хц — количество единиц товара, направляемое со склада С4 в пункт П,- (если с этого склада в этот пункт товары не направляются, х(7==0). Решение (план перевозок) состоит из тп чисел : *11> *12» ••• » *1п> *21» *22, ••• » *2п» хт1> хт2> •••» хтп> образующих прямоугольную таблицу (матрицу). Сокращенно будем обозначать ее (xj;). Требуется выбрать такие неотрицательные зна- чения переменных xtj (1=1,2,..., tn; j = l, 2... п), чтобы были выполнены следующие условия: 1. Емкость складов не должна быть превышена, т. е. общее коли- чество товара, взятое с каждого склада, не должно превышать имею- щихся на нем запасов: хп + *ia + ••• + х1п аЪ 1 Х21 +Х22 + ••• + %2п аъ', % ml ”1“ ••• 4~^тп > < или, короче, п /=1 п *2> @2> (1-14) т J xmJ @1 1=1 2. Заявки, поданные пунктами потребления, должны быть вы- полнены: *11 + *21 + ••• + *ml — ^1» *12 + *22 + ••• +*т2 — ^2» *м + *2п + ••• + хтп — 94
или, короче, т F ха=ьи f=l т X/2 = Ь2, /=1 (1.15) т Х{п = Ьп. Z=I Общая стоимость перевозок L будет равна L =сп Хц -{- с12 х12 4* ••• + cin xin 4" 4- С21 *21 4~ ^22 %22 ”1“ ••• 4“ ^2п %2п 4“ 4--- 4-cmi % ml 4“ Ctn2 % m2 + ••• 4- ^mn %тп* или, гораздо короче, т п ь = 2 ^ci]Xti. (1.16) Z—1 /=1 Требуется так выбрать план перевозок (хц) (i = 1,2, m; j — 1, 2, ..., и), чтобы стоимость L этих перевозок обратить в минимум. Снова возникает задача, аналогичная рассмотренным ранее: вы- брать неотрицательны^ значения переменных (х^) так, чтобы при вы- полнении условий (1.14), (1.15) линейная функция этих переменных (1.16) достигала минимума. Некоторая особенность этой задачи, по сравнению с ранее рас- смотренными, состоит в том, что не все ограничения, наложенные на переменные, являются линейными неравенствами; а именно, условия (1.15) записаны в виде линейных равенств. В дальнейшем мы будем встречаться с задачами линейного про- граммирования, в которых ограничительные условия имеют как вид линейных неравенств, так и равенств, и научимся с легкостью пере- ходить от одних к другим и обратно. Заметим, что при некоторой постановке задачи о перевозках все условия-ограничения задачи становятся равенствами. А именно, если сумма всех заявок равна сумме всех запасов п т S Ь) = S ai> i=l <=1 то неизбежно с каждого склада будет вывезено все, что на нем имеет- ся, и неравенства (1.14), так же как (1.15), превратятся в равенства. Такая задача о перевозках называется транспортной задачей, и ею мы будем специально заниматься в дальнейшем (см. § 9—14 дан- ной главы). 5. Задача о производстве сложного оборудования. Планируется производство сложного оборудования, каждый комплект которого со- стоит из п элементов: Эь Э4,..., Эп. 2* 35
Заказы на производство этих элементов могут быть размещены на т разных предприятиях: Пь П2,..., Пт. В течение заданного времени Т на предприятии Пг можно изго- товить ai} элементов типа Эу (t = l, ..., tn; j = 1, ..., п). Сдаче подлежат только полные комплекты оборудова- ния, состоящие из набора всех элементов Э1( Э2, ..., Эп. Требуется распределить заказы по предприятиям так, чтобы чис- ло полных комплектов оборудования, изготовленных за время Т, было максимально. Планируя производство оборудования, мы должны для каждого предприятия П{ указать, какую часть имеющегося в его рас- поряжении времени оно должно отдать на производство элементов Э,- (i = 1..т\ j ~ 1....п). Обозначим xtj долю времени Т, которую предприятие Пг будет уделять производству элемента Э, (если этот элемент на данном пред- приятии вообще не производится, х^ = 0). При планировании мы должны соблюдать следующие ограничи- тельные условия: количество времени, которое каждое предприятие затрачивает на производство всех элементов, не должно превышать общего ^запаса времени Т (а «доля» — единицы): Х11 + *12 +••• + *1п + 1, *21 + *22 + ••• + *2n 1 > *т1 + *тг + ••• + %mn 1 ' ИЛИ 2 *u^i> /=1 п 2 *2/ 1» /=1 (1.17) 2 Хт} < 1 • f=l Определим количество полных комплектов оборудования, кото- рое за время Т поставят все предприятия вместе. Общее количество элементов Эу, которое произведут все предприя- тия вместе, будет равно — aij Хц + a2j х2) amj xmj или зв m Nj = 2 ai} xt} 0 = 1.......«)• (1.18)
Таким образом, при заданном плане распределения заказов, т. е. при заданных т\ / = 1,..., п) будет произведено: —экземпляров элемента —Nt экземпляров элемента Э2 —iVn экземпляров элемента Эп. Сколько же полных комплектов оборудования можно собрать из этих элементов? Очевидно столько, каково минимальное из всех чисел Nlt N2, ..., iVn. Действительно, если, например, элементов типа произведено 100 шт., а элементов типа Э2 — всего 10 шт., то мы никак не сможем собрать из этих элементов более 10 полных ком- плектов. Обозначим Z — количество полных комплектов оборудования, которое можно собрать при данном плане размещения заказов (х,?). Имеем: Z = minNj, (1.19) I где знаком min обозначается минимальное из чисел, / стоящих под этим знаком, для всех возможных /. С учетом (1.18) , условие (1.19) можно переписать в виде Z = min 2 auXi}. (1.20) I z=i Таким образом, мы приходим к следующей математической поста- новке задачи: Найти такие неотрицательные значения переменных xi}, чтобы выполнялись неравенства (1.17) и при этом обращалась в максимум функция этих переменных т Z = min J auxi}. i i=i Отличие этой задачи от всех ранее рассмотренных состоит в том, что здесь максимизируемая функция Z не является линей- ной функциейот переменных хц и, таким образом, задача, соб- ственно, не является задачей линейного программирования. Однако ее легко свести к задаче линейного программирования следующими рассуждениями. Так как величина Z является минимальной из всех величин т Nj = У atj Хн, то можно написать ряд неравенств 37
т Т апхц^г-, /=1 т Г ai2xi2>Z; z=i (1.21) т У ain KiTl >: Z. Ав- lit III Z=1 Величину Z можно рассмотреть как новую неотрица- тельнуюпеременнуюи решить следующую задачу. Найти такие неотрицательные значения переменных х1л, х12, хтп и Z, чтобы они удовлетворяли линейным неравенствам (1.17) и (1.21) и при этом величина Z обращалась в максимум. Так как величина Z есть линейная функция новых пере- менных Хц, х12, ..., хтп, Z: Z — 0 • Xtl 0 • Х12 -{- ... 4" 0 ' хтп + 1'2, то задача сведена к обычной задаче линейного программирования, пу- тем введения «лишней» переменной Z, которая в первоначальной по- становке задачи не фигурировала. Задачи такого типа, где требуется обратить в максимум мини- мальное значение какой-то величины (или, наоборот, в минимум — мак- симальное), довольно часто встречаются на практике и называются «за- дачами на минимакс». С такими задачами мы еще встретимся в гл. 10. Итак, мы рассмотрели целый ряд задач исследования операций из самых разных областей практики; эти задачи характеризуются не- которыми общими чертами. В каждой из них элементы реше- ния представляют собой ряд неотрицательных переменных xlt х2, .... Требуется так выбрать значения этих переменных, чтобы 1) выполнялись некоторые ограничения, имеющие вид линейных неравенств или равенств относительно переменных х1( х2, ...; 2) некоторая линейная функция L тех же переменных обращалась в максимум (минимум). Математический аппарат линейного программирования, к изло- жению которого мы и приступаем, предназначен специально для реше- ния таких задач. Может возникнуть вопрос: а нужен ли такой специальный аппа- рат? Нельзя ли, как это принято в математике, просто продифферен- цировать L по аргументам х2, ..., приравнять производные нулю и решить полученную систему уравнений? Нет, оказывается, сделать этого нельзя! Так как функция L ли- не й н а, производные от нее по всем аргументам постоянны и ни- где в нуль не обращаются. Максимум (или минимум) функции L, если он существует, достигается всегда где-то на границе обла- сти возможных значений хи х2.т. е. там, где начинают действовать ограничения. Математический аппарат линейного программирования и позволяет нам последовательно, в кратчайшие сроки, обследовать 38
границы области возможных решений и найти на этих границах то решение, которое является оптимальным, т. е. такую совокупность значений х1г х2, ..., при которой линейная функция L обращается в максимум или в минимум. 2. ОСНОВНАЯ ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Выше мы рассмотрели различные практические задачи, сводящие- ся к схеме линейного программирования. В одних из этих задач ли- нейные ограничения имели вид неравенства, в других — равенств, в третьих — тех и других. Здесь мы рассмотрим задачу линейного программирования с огра- ничениями-равенствами — так называемую основную задачу линей- ного программирования (ОЗЛП). В дальнейшем мы покажем, как от задачи с ограничениями-не- равенствами можно перейти к ОЗЛП, и обратно. Основная задача линейного программирования ставится следую- щим образом. Имеется ряд переменных х2,, хп. Требуется найти такие неотрицательные значения этих пере- менных, которые удовлетворяли бы системе линейных уравнений! а11 Х1 + а12 хг + ••• + а1п хп = Ьъ а21 Х1 + а22 Х2 + ... + а2п Хп = ^2» • • ••• • ••••••»• ami xi + ат2 х2 + ... + атп хп = Ь и, кроме того, обращали бы в минимум линейную функцию L = Cj xt -j-c2 х2 сп хп. (2.2) Очевидно, случай, когда линейную функцию нужно обратить не в минимум, а в максимум, легко сводится к предыдущему, если изме- нить знак функции и рассмотреть вместо нее функцию L'= ~Ь = —с1х2—с2х2—...—спхп. (2.3) Условимся называть допустимым решением ОЗЛП любую совокупность переменных лу О, х2 0,..., хп 0, удовлетворяющую уравнениям (2.1). Оптимальным решением будем называть то из допустимых решений, при котором линейная функция (2.2) обращается в мини- мум. Основная задача линейного программирования необязательно должна иметь решение. Может оказаться, что уравнения (2.1) противо- (2.1)
речат друг другу; может оказаться, что они имеют решение, но не в об- ласти неотрицательных значений хъ х2, ..., хп. Тогда ОЗЛП не имеет допустимых решений. Наконец, может оказаться, что допустимые решения ОЗЛП существуют, но среди них нет оптимального: функция L в области допустимых решений неограничена снизу. С примерами таких особенностей ОЗЛП мы познакомимся в даль- нейшем. Рассмотрим, прежде всего, вопрос о существовании допусти- мых решений ОЗЛП. При решении этого вопроса мы можем исключить из рассмотрения линейную функцию L, которую требуется минимизировать — наличие допустимых решений определяется только уравнениями (2.1). Итак, пусть имеется система уравнений (2.1). Существуют ли не- отрицательные значения хи х2, ..., хп, удовлетворяющие этой систе- ме? Этот вопрос рассматривается в специальном разделе математики— линейной алгебре. Приведем вкратце некоторые положения линейной алгебры, не останавливаясь на доказательствах соответствующих теорем*) . Матрицей системы линейных уравнений аИ Х1 + й12 Х2 + ••• + а1п ХП ~ #21 xi4- #22 х2 а2п хп = Ь2, G-ml ^-1 -Г ^т2 Х2 + ••• + ^тп хп ~ называется таблица, составленная из коэффициентов при Xi, х2, ..., хп: #п а12 ... #in #21 й22 ••• #2п ^m2 ••• @тп Расширенной матрицей системы линейных уравне- ний называется та же матрица, дополненная столбцом свободных чле- нов: #и а12 ... #in Ьг а21 а22 ••• а2п '^2 ^ml &т2 ••• Рангом матрицы называется наибольший порядок от- личного от нуля определителя, который можно получить, вычеркивая из матрицы какие-то строки и какие-то столбцы. В линейной алгебре доказывается, что для совместности системы линейных уравнений (2.1) необходимо и достаточно, чтобы ранг мат- рицы системы был равен рангу ее расширенной матрицы. *) Элементарное изложение линейной алгебры см., например, в работе [5]. 40
Пример I. Дана система трех уравнений с четырьмя неизвестными: -(-Яг—хз~\~х4---1; *1 —х2 = 2; х 1 — 2х з 3. Определить, является ли эта система совместной? Решение. Матрица системы; 2 1—11 1—1 0 0. 1 0—2 0 Расширенная матрица; 2 1—11—1 1—1 00 2 . 1 0—20 3 Определим ранг первой матрицы. Он не может быть больше, чем 3 (так как число строк равно 3). Составим какой-нибудь определитель, вычеркивая из мат- рицы какой-нибудь столбец, например, последний. Получим 2 1 1 —1 1 0 Д = —1 0 —2 Вычисляя этот определитель по известному правилу, получим: Д = 2.(—1).(—2)+1-0.(—1)+1.1-0— —(—1)-(—1)-1— 2.0-0 — (—2). 1-1 =4 —1+2=5. Этот определитель не равен нулю, значит, ранг матрицы системы равен 3. Очевидно, ранг расширенной матрицы тоже равен 3, так как из элементов расши- ренной матрицы можно составить тот же определитель. Из равенства рангов мат- риц следует, что система уравнений совместна. Пример 2. Исследовать на совместность систему двух уравнений с тремя неизвестными xt, х2, xs: 2xj— x2+ х3=—4, 4xx — 2x2 + 2х3 = 1. Решение. Расширенная матрица системы: II 2 —1 1 —4 || II 4 —2 2 1 || ’ (левая ее часть — матрица системы). Найдем ранг матрицы системы, составляя все возможные определители второго порядка: 2 4 Д1 = = —44.4 = 0; 2 4 1 2 = 4—4=0; ЛН-2 2 | = ~2 + 2=0- 44
Итак, все возможные определители второго порядка, составленные из элементов матрицы системы равны нулю; значит, ранг этой матрицы систе- мы гс = 1 <2. Найдем ранг расширенной матрицы. Определитель I 2 _4 I Д4 = =2+16=18=^0. 4 II Отсюда ранг расширенной матрицы гр = 2, он не равен рангу матрицы си- стемы: /-р + гс, следовательно, система уравнений несовместна. Пример 3. Исследовать на совместность систему трех уравнений с четырьмя неизвестными: *1 + *г4* хз—2, xi—х2 + *з + х4=— 3xj—х2 + Зх3 + х4= 0 Решение Расширенная матрица системы (вместе с матрицей систе- мы): 1 11-1 2 1-11 1 -1 . 3—13 1 о Найдем ранг матрицы системы. Возьмем определитель третьего порядка, составленный из ее элементов, например: Л1 = 1 1 1 -1 3 —1 Известно, что если какая-либо строка определителя является линейной комбинацией двух других его строк, то определитель равен нулю. В нашем слу- чае третья строка является линейной комбинацией двух первых: чтобы ее полу- чить, достаточно сложить первую строку с удвоенной второй Поэтому Д] = 0. Нетрудно убедиться, что тем же свойством обладает и любой определитель третьего порядка, составленный из элементов матрицы системы Следовательно, ранг матрицы системы гс < 3. Так как имеется неравный нулю определитель второго порядка, например, I 1 Д2-| j 1 —1 то ранг матрицы системы равен гс — 2. С помощью таких же рассуждений убедимся, что и ранг расширенной мат- рицы равен двум: гр = 2. Следовательно, система уравнений совместна Заметим, что три уравнения данного примера не являются неза- висимыми: третье можно получить из двух первых, если умножить второе на два и прибавить к первому. Значит, третье уравнение есть простое следствие двух первых. Независимых уравнений в системе только два: это и отражено тем фактом, что ранг матрицы системы гс = 2. Итак, если система уравнений-ограничений ОЗЛП совместна, то матрица системы и ее расширенная матрица имеют один и тот же ранг. Этот общий ранг г называется рангом с и с т е м ы; он предста* 43
вляет собой не что иное, как число линейно незави- симых уравнений среди наложенных ограничений. Очевидно, ранг системы г не может быть больше числа уравне- ний т: г^т. Очевидно, также, что ранг системы не может быть больше общего числа переменных п: г < п. Действительно, ранг матрицы системы определяется как наиболь- ший порядок определителя, составленного из элементов матрицы; так как число ее строк равно т, то г т; так как число ее столбцов равно п, то г Структура задачи линейного программирования существенно за- висит от ранга системы ограничений (2.1). Рассмотрим, прежде всего, случай, когда г=п, т. е когда число линейно независимых уравнений, входящих в систему (2.1), равно чис- лу переменных п. Отбросим «лишние» уравнения, являющиеся линей- ными комбинациями других. Система уравнений-ограничений ОЗЛП принимает вид: а11 Х1 4~й12 *2 + ••• + аи Ч + ••• + а1пХп = ^1» а21 *14~а22 хг + ••• + а2г Х1 + •” + а2п хп ~ &2» (2 4) ап1 Х1~Ьап2 *2 + ••• + ani Xi + ••• + апп Хп =^п- Так как г = п, то определитель, составленный из коэффициентов, °11 °12 аи ••• ain ^21 а22 ••• ^2г ••• <Чп &пЛ ••• &пп не равен нулю. Из алгебры известно, что в этом случае система (2.4) имеет единственное решение. Чтобы найти величину xt, достаточно в определителе А -заменить i-й столбец — столбцом свободных членов и разделить на А. Итак, при г — п система уравнений-ограничений ОЗЛП имеет единственное решение: хъ х2...хп. Если в этом решении хотя бы одна из величин х1( х2, ..., хп отри- цательна, это значит, что полученное решение недопустимо и, значит, ОЗЛП не имеет решения. Если все величины хъ х2, ..., хп неотрицательны, то найденное решение является допустимым. Оно же, очевидно, является- и оптимальным (потому что других нет). Очевидно, этот тривиальный случай не может нас интересовать. Поэтому в дальнейшем мы будем рассматривать только случай, когда 43
г < и, т. е., когда число независимых уравнений, которым должны удовлетворять переменные хг, х2, ..., хп, м е н ь ш е числа самих пере- менных. Тогда, если система совместна, у нее существует бесчисленное множество решений. При этом п—г переменным мы можем придавать произвольные значения (так называемые свободные пере- менные), а остальные г переменных выразятся через них (эти г переменных мы будем называть базисными). Пример 4 Рассматривается система двух уравнений с четырьмя неизвест- ными: 2X1— х2+ xs— х4=1, 1 —= J Ранг этой системы равен г = 2 (уравнения линейно независимы). Выберем в качестве свободных переменных, например, х3 и х4, а в качестве базисных — *2 и х2. Выразим базисные переменные через свободные. Имеем из уравне- ний (2.5): 2Х| — х2 = 1 — х3 -|- х4, —х4 + х2 = 2 + 2х3 — хл Складывая эти уравнения, получим хх = 3 + х3. Умножая второе уравнение на 2 и складывая с первым, получим х2 = 5 + Зх3 — х4. Таким образом, базисные переменные хъ х2 выражены через свободные х3, xt Свободным переменным х3, х4 можно придавать любые значения; при этом мы будем всегда получать совокупность значений xlt х2, х3, xt, удовлетворяющую системе уравнений (2.5) Например, полагая х3 = xt =» 0, получим х4 — 3, х4= 5; эти значения удовлетворяют системе (2.5). Полагая х3 = 1, xt = 2, получим х, 4. х2 = 6; эти значения также удовлетворяют уравнениям (2.5). Вообще, если ранг системы уравнений ОЗЛП (т. е. число линейно независимых уравнений, входящих в систему ограничений) равен г, то всегда можно выразить какие-то г базисных переменных через п—г остальных (свободных) и, придавая свободным переменным лю- бые значения, получить бесчисленное множество решений системы. В дальнейшем для простоты, записывая уравнения ОЗЛП, мы будем считать их линейно независимыми; при этом ранг системы г бу- дет равен числу уравнений т. Итак, если число уравнений ОЗЛП г~т меньше, чем число пе- ременных п, то система линейных уравнений имеет бесчисленное мно- жество решений, т. е. совокупностей значений xlt х2, хп, удовлет- воряющих уравнениям-ограничениям (2.1). Если среди этих ре- шений нет ни одного, для которого все Xi, х2, ...,хп неотрицательны, то это значит, что ОЗЛП не имеет допустимого реше- ния. Если же существуют какие-то решения системы (2.1), для которых всегъ х2, ..., хп неотрицательны (короче, «неотрицательные решения»), то каждое из них допустимо. Возникает задача — найти среди допусти- мых решений оптимальное, т. е. такое решение Xi, х2, ... , хп, 44
для которого линейная функция L =cxxx-f-c2x2 + ...-|-cnxn обращается в минимум. Для того чтобы отчетливее представить себе особенности решения ОЗЛП и различные случаи, которые могут при этом встретиться, удобно воспользоваться геометрической интерпретацией. 3. ГЕОМЕТРИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ ОСНОВНОЙ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Рассмотрим случай, когда число переменных п на два больше, чем число независимых уравнений т, которым они должны удовлетворять: п—т = 2. Тогда, как мы уже знаем, можно две из п переменных, скажем» хх и х2, выбрать в качестве свободных, а остальные т сделать базис- ными и выразить их через свободные. Предположим, что это сделано. Получим т = п—2 уравнений вида: Х3 = «31 Х1 4“ «32 х2 4~ Рз» ^=«41^1+а42^ + р4. /ОП ^n=«nl^l + «n2^+Pn- Дадим задаче линейного программирования геометрическую ин- терпретацию. По осям Oxj и 0х2 будет откладывать значения свобод- ных переменных хх, х2 (рис. 2.2). Так как переменные хх, х2 должны быть неотрицательными, до- пустимые значения свободных переменных лежат только выше оси 0хх и правее оси 0х2; отметим это штриховкой, обозначающей «допусти- мую сторону» каждой координатной оси. 45
Остальные переменные xs, xit ..., хп также должны быть не- отрицательными, т. е. должны выполняться условия: х8 — a8i Xi -f- ос82 х2 4* 03 Xt ~СС^ Х^ СХ42 Х2 4* 04 О, (3.2) = *i4-an2x2 + 0n>O. Посмотрим, как изобразить эти условия геометрически. Возьмем одно из них, например, первое: х8 = а81 хх + а82 х2 4- 08 > 0. Рис. 2.3 Положим величину х8 равной своему крайнему значению — нулю. Получим уравнение asl х1 4“ а32 Х2 4* 03 = 0. Это — уравнение прямой. На этой прямой х3 = 0 (см. рис. 2.2); по одну сторону от нее х3 > 0, по другую х8 < 0 (по какую — это за- висит от коэффициентов уравнения). Отметим штриховкой ту сторону прямой х8 = 0, по которую х8 > 0. Аналогичным образом построим и все остальные ограничивающие прямые: х4 = 0, ..., хп = 0 и отметим у каждой из них штриховкой «допустимую сторону», где соответствующая переменная больше нуля (рис. 2.3). Таким образом, мы получили п прямых: две оси координат (х2 = 0, хх = 0) и п—2 прямых (х8 = 0, ...,хп = 0). Каждая из них определяет «допустимую полуплоскость», лежащую по одну ее сторону. Часть плоскости хх 0х2, принадлежащая одновременно всем этим полуплоскостям, образует область допустимых ре- шений (ОДР). На рис. 2.3 область допустимых решений отмечена редкой штриховкой. Нетрудно убедиться, что область допустимых решений всегда представляет собой выпуклый многоугольник. Как известно, вы- пуклой фигурой (рис. 2.4) называется фигура, обладающая следующим 46
свойством: если две точки А и В принадлежат этой фигуре, то и весь отрезок АВ также принадлежит ей. Докажем, что ОДР всегда является выпуклой фигурой. Предпо- ложим противное: точки А и В принадлежат ОДР, а какая-то точка С между ними не принадлежит (см. рис. 2.4). Тогда между точкой А, принадлежащей ОДР, и точкой С, не принадлежащей ей, непременно должна проходить какая-то из прямых xk = 0 : по одну сторону этой прямой точки удовлетворяют условию хк 0, по другую — не удов- летворяют. Пусть эта прямая пересекает отрезок АВ в какой-то точ- ке D. Тогда точки А и В, лежащие по разные стороны от прямой, не могут одновременно принадлежать ОДР (для нее все xh неотри- цательны), что противоречит условию. Рис. 2.4 На рис. 2.3 показан такой пример, когда ОДР существует, т. е. система уравнений ОЗЛП имеет неотрицательные решения. Могут быть и случаи, когда неотрицательных решений системы не существует. Пример такого случая показан на рис. 2.5. Действи- тельно, не существует области, лежащей по одну и ту же (заштрихо- ванную) сторону от всех прямых: хх = 0, х2 = 0, х8 = 0, х4=0, х& =0; т. е. условия неотрицательности переменных противоречат друг другу и допустимых решений ОЗЛП не существует. Пример 1 Задача линейного программирования с семью переменными хх, хг, х3, х4, х5) х„ х, имеет т = 5 уравнений-ограничений: х4—Х2 + Х3— 4; 2xj— xz—хз— х$ — —5; *1+^8—*6= —4, x2~\~xe — ! 2хх—2х2—хв4*2х7= 7 | (3.3) Требуется дать ее геометрическую интерпретацию и построить ОДР, если она существует. 47
Решение. Выберем в качестве свободных переменных, например, х, и хг и выразим через них остальные (базисные) переменные: х3, xit х8, х3, х-, Из пер- вого уравнения имеем: х3 = —х, + х2 + 4 (3.4) Из третьего: х8 = х, + х2 + 4. Из четвертого: х„ — —х3 + 5. (3.5) Подставляя (3.4) во второе уравнение (3.3) и (3.5) — в последнее и раз- решая относительно х4, х7, имеем: х8== Зх| —- 2х2+ 1; х?=—хх+ %х2 + 6. Геометрическая интерпретация задачи представлена на рис. 2.6 (прямые хх — 0, х2 = 0—оси координат; остальные ограничивающие прямые х3 = 0, х4=0, х8 = 0, хв — 0 и х7 = 0; короткой штриховкой помечены допустимые полу- плоскости). Как видно из расположения прямых и отмеченных полуплоскостей, допус- тимые решения для расй&отреиной задачи существуют; они заполняют ОДР, ко- торая на рис. 2.6 показана редкой штриховкой. Рис. 2.6 Таким образом, мы рассмотрели вопрос о существовании области допустимых решений ОЗЛП и (для случая т ~ п — 2) дали ему гео- метрическую интерпретацию. Теперь возникает вопрос о нахождении из числа допустимых оптимального решения, т. е. такого, которое обращает в ми- нимум линейную функцию L = c1xl4-c2xii4-...+cnxn. (3.6) 48
Дадим и этой задаче геометрическую интерпретацию, причем сно- ва для случая, когда т—п — 2 (т. е. число свободных переменных равно 2, а число базисных т). Предположим, что свободными переменными опять являются хъ х2, а базисными ха, х4, хп, выраженные через свободные фор- мулами (3.2). Подставим выражения (3.2) в формулу (3.6), приведем подобные члены и выразим линейную функцию L всех п переменных как линейную функцию только двух свободных переменных: хг и х2. Получим: £-“Yo-H1*1 + Y2*2. (3.7) где у0 — свободный член, которого в первоначальном виде у функции L не было; теперь, при переходе к переменным х1г х2, он мог поя- виться. Очевидно, линейная функция (3.7) достигает минимума при тех же значениях хх, х2, что и функция b'=Yi *i+Y2 х2 без свободного члена (линейная форма). Действительно, L! —L—у0, где у0 не зависит от хх и х2, и, очевидно, минимумы той и другой функ- ций, отличающиеся на у0, достигаются при одних и тех же значениях хъ х2. Найдем эти значения, пользуясь геометрической интерпретацией. Придадим L' некоторое постоянное значение С: L = ух хх у2 х2 ~ С; • получим уравнение прямой на плоскости хх0х2 (рис. 2.7). Угловой коэф- фициент этой прямой равен — ух/у2, а отрезок, отсекаемый ею на оси 0х2 (начальная ордината), равен С/у2. Очевидно, если мы заменим постоянную С на некоторую другую Сх, угловой коэффициент пря- мой не изменится; изменится только начальная ордината, и прямая переместится параллельно самой себе в новое положение U — С, (см. рис. 2.7). Таким образом, различным значениям U соответствуют разные прямые на плоскости, но все они параллельны между собой. Очевнд- 49
но, вместо всех этих прямых достаточно изобразить на плоскости одну основную прямую, например, L' = 0, а затем можно мысленно перемещать ее параллельно самой себе. При перемещении этой прямой в одну сторону L, будет возрастать, в другую — убывать. Построим основную прямую L' — 0 на плоскости х10х2 (рис. 2.8). Мы знаем, что ее угловой коэффициент равен — Т1/у2; чтобы построить прямую, проходящую через начало координат с угловым коэффициен- том — T1/V2» отложим по оси абсцисс отрезок у2, а по оси ординат от- резок —71, и через точку А с такими координатами проведем прямую. Это и будет основная прямая L’ — 0. Теперь остается только выяснить, в какую сторону (параллельно самой себе)надо двигать эту прямую, чтобы величина L' убывала. В случае, показанном на рис. 2.8 (оба коэффициента и у2 положи- тельны) направление убывания L' — вниз и налево (это показано стрелками, направленными от основной прямой в сторону убывания L'). При других знаках коэффициентов ух, у2 направление убывания меняется. Случаи различных направлений убывания показаны на рис. 2.9, 2.10 и 2.11. Таким образом, и направление основной прямой L' = 0, и на- правление убывания линейной формы L' определяются величинами и знаками коэффициентов yi, у2 при свободных переменных хи х2 в выражении L'. Дадим теперь геометрическую интерпретацию нахождения о п- тимального решения ОЗЛП среди допустимых. Пусть имеется область допустимых решений ОДР (рис. 2.12) и ос- новная прямая L' = 0; известно (указано стрелками) направление убывания линейной формы L'. При перемещении основной прямой в направлении, указанном стрелками, линейная форма L' будет убывать. Очевидно, наименьше- го значения она достигнет, когда прямая будет проходить через край- нюю точку ОДР, наиболее удаленную от начала координат в направ- лении стрелок (в нашем случае, точку А). Координаты этой точки хг*, х2* и определяют оптимальное решение ОЗЛП. Зная оптимальные зна- чения свободных переменных хг*, х2*, можно найти, подставляя их в уравнения (3.2), и оптимальные значения базисных переменных: 60
х3* — а31 Xi* аз2 х2* 4- Р3, х4* = а41 4- а42 х2* 4- р4, хп*=ап1 х^+ап2х^ + ^п, а также оптимальное (минимальное) значение линейной функции L: ^nin==Yo + Yl*l* + Y2*2*- (3-8) Таким образом, если число независимых уравнений-ограни- чений, которым должны удов- летворять переменные хъ х2, ..., хп, на два меньше, чем число переменных п (т. е. в ОЗЛП фи- гурируют две свободные пере- менные и любое число базис- ных), решение ОЗЛП может быть получено простым геомет- рическим построением. Пример 2. В условиях приме- ра 1 найти оптимальное решение ОЗЛП, обращающее в минимум линейную функцию семи неизвест- ных: L = x1 —х24-2х3—xt —Зх5Ц-х9 —2х, (3.9) Уравнения-ограничения —те же, что и в примере 1. Решение. В примере 1 уравнения-ограничения (3.3) были разрешены от- носительно базисных переменных х3, х4, хБ, хв, х7, которые были выражены через свободные х4 и х2: х3----*1+ *8 4-4; х4 = 3xj — 2х2 4~ 1; хъ~ Х1Ч~ х2~Ь4; хв — —х24~5, xi == —*14- % хг 4-6. (3.10) Подставляя эти выражения в (3.9) и приводя подобные члены, имеем: L— — 5xt—2х2 — 12. (3.11) Воспроизведем область допустимых решений, ранее построенную на рис. 2.6 (см рис. 2.13). Отбрасывая свободный член в (3.11), имеем: В ——5х4—2х2. Строим основную прямую L' — 0. Для этого откладываем отрезки у2 =—2 по оси абсцисс и —= 5 по оси ординат, проводим через точку В с координа- тами (—2, 5) прямую L' = 0 и отмечаем стрелками направление убывания L'. Перемещая основную прямую параллельно самой себе в сторону убывания L', наименьшее значение I/ мы получим в точке А (наиболее удаленной от нача- 51
ла координат в направлении стрелок). Координаты этой точки xt*, х2 и дают оптимальное решение ОЗЛП В точке А пересекаются две ограничивающие пря- мые: х, = 0 их, =0. Приравнивая нулю выражения для хе и х7, получим два уравнения: —х2-|-5=0, ) —Xj + /4*2-Ь 6=0. J Решая их совместно, найдем хх* = 8,5; х2* = 5. Подставляя эти значения в (3 11), найдем оптимальные значения базисных переменных: х3* = 0,5, х4*=16,5; х5*=17,5. Что касается хв и х7, го их оптимальные значения равны нулю: хв* = 0; х7* =0. Подставляя найденные оптимальные значения хх* И х2* в линейную функ- цию (3.11), найдем минимальное значение (оптимум) линейной функции L: L<= —5.8,5—2-5—12= —64,5. Таким образом, мы научились решать ОЗЛП в частном случае т = п — 2 при помощи геометрического построения. Несмотря на то, что это построение относится к частному случаю, из него вытекают некоторые общие соображения, относящиеся вообще к свойствам решения ОЗЛП. Отметим подмеченные нами закономерности для случая п—т = 2. 1. Решение ОЗЛП, если оно существует, не может лежать в н у т- р и области допустимых решений, а только на ее г р а н и ц е. 2. Решение ОЗЛП может быть и не единственным (см. рис. 2.14). Действительно, если основная прямая параллельна той стороне много- угольника допустимых решений, где достигается минимум L', то он 52
достигается не в одной точке, а на всей этой стороне. В этом случае ОЗЛП имеет бесчисленное множество оптимальных решений. 3. ОЗЛП может не иметь решения даже в случае, когда сущест- вует ОДР (рис. 2.15). Это бывает тогда, когда в направлении стрелок ОДР неограничена, т. е. в области допустимых решений линейная функция L неограничена снизу. Перемещая основную прямую в на- правлении стрелок, мы будем получать все меньшие и меньшие значе- ния L', а значит, и L. 4. Решение ОЗЛП, минимизирующее функцию L (оптимальное решение), всегда достигается в одной из вершин многоугольника до- пустимых решений (если оно достигается на целой стороне, то оно же Рис. 2.14 Рис. 215 достигается и в каждой из вершин, через которые проходит эта сторо- * на). Решение, лежащее в одной из вершин ОДР, называется опор- ным решением, а сама вершина — опорной точкой. 5. Для того, чтобы найти оптимальное решение, в принципе до- статочно перебрать все вершины ОДР (опорные точки) и выбрать из них ту, где функция L достигает минимума. 6. Если число свободных переменных в ОЗЛП равно 2, а число базисных — т и решение ОЗЛП существует, то оно всегда дости- гается в точке, где по крайней мере две из переменных х1( х2, ..., хп обращаются в нуль. Действительно, в любой опорной точке пересе- каются по крайней мере две из ограничивающих прямых; могут же в ней пересекаться и более двух (см. рис. 2.16). Случай, когда в оптимальном решении обращаются в нуль не две, а больше переменных, называется вырожденным. На рис. 2.16 показан вырожденный случай, когда в точке А, соответствующей оп- тимальному решению, обращаются в нуль три переменные: х8, х5 и хв. Рассмотрев подробно геометрическую интерпретацию для случая т ~ п — 2, обратимся к случаю, когда число переменных превышает на 3 число независимых уравнений-ограничений: т = п — 3. 53
В этом случае свободных переменных оказывается уже не две, а три (пусть это будут хъ х2, х3), а остальные т = п — 3 базисных переменных могут быть выражены через свободные: = (Z41 Xi ®42 ^2 4~ ®43 Х3 4* ХЬ ~ а51 Х1 4* а52 Х2 + а53 Х3 4* Psi И 1 21 Хп ~ ап1 Х1 4" ап2 Х2 4~ апЗ х3 4* Рп- Требуется найти такие неотрицательные значения xlt х2, хп, которые, удовлетворяя уравнениям (3.12), одновременно обращали бы в минимум линейную функцию этих переменных: Рис. 2.16 Рис. 2.17 Геометрическую интерпретацию этой задачи придется строить уже не на плоскости, а в пространстве (рис. 2.17). Каждое условие xk =0 для одной из базисных переменных xk (k = 4.....п) геометрически изобразится уже не прямой, а плоскостью. По одну сторону от этой плоскости xk > 0, по другую xh <z 0. Координатные плоскости х20х3, Xj0x3 и XjOx-j изображают условия Xj = 0, х2= 0, х3 = 0 соот- ветственно. Область допустимых решений (если она существует) пред- ставляет собой выпуклый многогранник, ограниченный этими пло- скостями, т. е. часть пространства, для которой выполнены все условия: xx^s0, х2^0, х3^0,..., хп^0. Роль «основной прямой» в этом случае будет играть «основная плоскость», уравнение которой L' = 0, где L'=L—уо; L = у0 4- Yi хг 4- у2 х2 4- у3 х3. При перемещении этой плоскости параллельно самой себе в одну сторону L’ будет убывать, в другую — возрастать. Точка А, в которой достигается оптимальное решение (если оно существует), представляет 54
собой ту вершину ОДР, которая находится дальше всего от начала координат, считая по направлению убывания L'. Может оказаться, как и при п — т =2, что ОЗЛП имеет бесчисленное множество реше- ний, либо заполняющих целое ребро, либо — целую грань многогран- ника допустимых решений. Оптимальное решение Xj*, х2*, х3* (если оно существует) совпадает с одной из о п о р н ы х т о ч е к, т. е. вершин многогранника, в которой по крайней мере три переменных хъ х2...... хп обращаются в нуль. Пользоваться геометрической интерпретацией для непосредст- венного отыскания решения даже при п — т = 3 затруднительно; при п — т = k> 3 это вообще выведет нас за рамки трехмерного пространства и геометрическая интерпретация потеряет наглядность. Однако соответствующая терминология может оказаться удобной: мож- но говорить об области допустимых решений, как о некотором «сверх- многограннике» в пространстве k измерений, ограниченном т «гипер- плоскостями»; об оптимальном решении — как об одной из «вершин» этого многогранника, о каждой «вершине» — как об «опорной точке» и т. д. Такой геометрической терминологией можно, по желанию, поль- зоваться или не пользоваться. Нам геометрическая интерпретация по- надобилась для того, чтобы обосновать следующие свойства решения ОЗЛП при любых значениях числа переменных п и числа уравне- ний т < п: 1. Оптимальное решение, если оно существует, лежит не внутри, а на границе области допустимых решений, в одной из опор- ных точек, в каждой из которых по крайней мере k из перемен- ных обращаются в нуль. 2. Для того, чтобы найти оптимальное решение, нужно, переходя от одной опорной точки к другой, двигаться в направлении уменьшения линейной функции L, которую требуется минимизировать. На этих принципах и будут основаны методы решения ОЗЛП, ко- торые мы изложим в дальнейшем. 4. ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ С ОГРАНИЧЕНИЯМИ-НЕРАВЕНСТВАМИ. ПЕРЕХОД ОТ НЕЕ К ОЗЛП И ОБРАТНО На практике ограничения в задаче линейного программирования часто задаются не уравнениями, а неравенствами. Покажем, как можно перейти от задачи с ограничениями-неравен- ствами к основной задаче линейного программирования. Пусть имеется задача линейного программирования с п перемен- ными х1( х2.хп, в которой ограничения, наложенные на перемен- ные, имеют вид линейных неравенств. В некоторых из них знак нера- венства может быть а других (второй вид сводится к первому простой переменой знака обеих частей). Поэтому зададим все ограни- чения-неравенства в стандартной форме: И
au xi fli2 xz 4~ •••4~ain xn 4~ 0; a2i X1 +a22 *2 + ••• 4“ aZn Xn + ^2 O', (4 j) aml X1 + ^m2 ^2 4- ••• 4* ^тн xn + bm>®-) Будем считать, что все эти неравенства линейно независимы (т. е. никакое из них нельзя представить в виде линейной комбинации дру- гих). Требуется найти такую совокупность неотрицательных значений х1г х2...хп, которая удовлетворяла бы неравенствам (4.1), и, кроме того, обращала бы в минимум линейную функцию: L = Су Ху -[* Сг х2 4*... 4-сп хп. (4.2) От поставленной таким образом задачи легко перейти к основной задаче линейного программирования. Действительно, введем обозна- чения: У1 — ап xi 4- ai2 хг 4* ••• 4* ain хп 4* У2 — а21 Х1 4~а22 Х2 4- ••• 4- а2п Хп 4- Ь2г (4 3) Ут = ^пг1 Х1 4- &т2 х2 4* ••• 4" ®тп хп 4* Ьт> где Уу, Уъ, ..., ут — некоторые новые переменные, которые мы будем называть «добавочными». Согласно условиям (4.1), эти добавочные пе- ременные так же, как и Ху, х2, ..., хп, должны быть неотрицательными. Таким образом, перед нами возникает задача линейного програм- мирования в следующей постановке: найти такие неотрицательные зна- чения п 4- т переменных Ху, х2, ..., хп; ylt у2, ут, чтобы они удов- летворяли системе уравнений (4.3) и одновременно обращали в мини- мум линейную функцию этих переменных: L = Су Ху 4- с2 х2 4-... 4~сп хп- Как видно, перед нами в чистом виде основная задача линейного программирования (ОЗЛП). Уравнения (4.3) заданы в форме, уже разрешенной относительно базисных переменных ylt у2, ..., ут, кото- рые выражены через свободные переменные хъ х2, ..., хп. Общее коли- чество переменных равно п 4* tn, из них п «первоначальных» и т «до- бавочных». Функция L выражена только через «первоначальные» пе- ременные (коэффициенты при «добавочных» переменных в ней равны нулю). Таким образом, задача линейного программирования с ограни- чениями-неравенствами сведена нами к основной задаче линейного программирования, но с большим числом переменных, чем первона- чально было в задаче. Пример 1 Имеется задача линейного программирования с ограничениями- неравенствами: иайти неотрицательные значения переменных Ху, х2, х3, xt, хъ, удовлетворяющие условиям ав
2Xj X2—1~ 3Xg 6, Xg---------3x2 < ----- 1, Хъ — 2x4 + Xj > —1, x5 — xj < 0 (4.4) и обращающие в минимум линейную функцию L — Xj — 2х2 — Зхд. (4.5) Требуется привести эту задачу к виду ОЗЛП. Решение. Приводим неравенства (4.4) к стандартной форме: —+ —ЗхзЧ"6 > О, ЗХ2 Хд 1 О, xt —2х4+ х5+ 1 > О, Xj— х5 > 0. Вводим дополнительные переменные: У а — —2xj + х2—Зх3 + 6, #2= Зх2— х3 —1, Уз — xi—2х4 + х6+1, У»= xi— х5. Задача сводится к тому, чтобы найти неотрицательные значения перемен- ных *1, х2, х8, х4, х5; у, у2, у3, yit удовлетворяющие уравнениям (4.6) и обращающие в минимум линейную фуик" цию (4.5). Мы показали, как от задачи линейного программирования с ог- раничениями-неравенствами можно перейти к задаче с ограничениями- равенствами (ОЗЛП). Всегда возможен и обратный переход — от ОЗЛП к задаче с ограничениями-неравенствами. Если в первом случае мы увеличивали число переменных, то во втором случае будем его умень- шать, устраняя базисные переменные и оставляя только свободные. Пример 2. Имеется задача линейного программирования с ограничениями- равенствами (ОЗЛП): xt+ х2= 1, х2 —2хд=—3, хз— Xf+ х5 = I и минимизируемой функцией L= --Xj---Xg + Xg. (4.7) (4.8) Требуется записать ее как задачу линейного программирования с ограниче- ниями-неравенствами. Решение. Так как т = 3, п — 5, п — т = 2, то выберем какие-то две из переменных в качестве свободных. Заметим, что переменные xlt х2 в качестве сво- бодных выбирать нельзя, так как они связаны первым из уравнений (4 7): зна- чение одной из них полностью определяется значением другой, а свободные пере- менные должны быть независимыми По такой же причине нельзя в качестве 57
свободных выбрать переменные х2, х3 (их связывает второе уравнение (4.7)). Выберем в качестве свободных переменные х, и х4 и выразим через них все остальные: хг — —Xi-j-1, х3 = —l/zXi -|-2, хБ = /2xi4~X4— У (4.9) Так как х2 > 0, х3 > 0, х5 > 0, условия (4 9) могут быть заменены нера- венствами: —Xi 4- — Уг^1 + (4.10) 4~ х$ — 1 > 0. , Перейдем в выражении линейной функции L к свободным переменным хг,х4. Подставляя в L вместо х, и х- их выражения (4.9). получим: L~ —Xi 4-Xi — 14* Уг-Х14~*4 — 1 = '/2*1 — 2, =1/2Х1+*4- (4.11) Таким образом, задача сведена к задаче линейного программирования с ог- раничениями-неравенствами. Ее геометрическая интерпретация показана на рис. 2.18. Основная прямая L' = 0 параллельна той стороне ОДР, где L' до- стигает минимума. Следовательно, все точки участка АВ дают оптимальное решение. Беря в качестве решения, например, координаты точки А, получим: Х1* = 0; х4*=1; х2*=1; х3* = 2; х5*=0. При таких значениях переменных линейная функция L достигает миниму- ма, равного Bmin= —2= -=1. 58
Таким образом, мы можем по произволу переходить от ОЗЛП к задаче линейного программирования с ограничениями-неравенствами и обратно. Если в числе ограничений задачи есть как уравнения, так и неравенства, рекомендуется произвести унификацию и перейти в какой-либо единообразной форме, например ОЗЛП. Пример 3. Рассматривается задача линейного программирования с пере- менными Xj, х2, xs, xt и ограничениями вида xi + хг — хз+xi> Х1--х2~}~х3 < 1> X2~\~X3~]~xt 5. Минимизируется функция б = хг—2х2+х3—Зх4. (4.12) (4.13) Требуется привести задачу к ОЗЛП. Решение. Введением добавочных переменных^, у2 приведем условия (4.12) к виду ОЗЛП: xi Ч- хг —хз —xt~^< Х1—хг + хз+(/1 = 1, ж2 + хз + х4 — У 2 — 5. Минимизируемая функция остается в виде (4.13). 5. СИМПЛЕКС-МЕТОД РЕШЕНИЯ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Геометрическая интерпретация, которой мы пользовались при решении задач линейного программирования, перестает быть при- годной для этой цели при числе свободных переменных п — т> 3, а затруднительна уже при п-—т = 3. Для нахождения решения зада- чи линейного программирования в общем случае (при произвольном числе свободных переменных) применяются не геометрические, а вы- числительные методы. Из них наиболее универсальным является так называемый симплекс-метод. Идея симплекс-метода относительно проста. Пусть в задаче ли- нейного программирования имеется п переменных и т независимых линейных ограничений, заданных в форме уравнений. Мы знаем, что оптимальное решение (если оно существует) достигается в одной из опорных точек (вершин ОДР), где по крайней мере k — n—т из пе- ременных равны нулю. Выберем какие-то k переменных в качестве свободных и выразим через них остальные т базисных переменных. Пусть, например, в качестве свободных выбраны первые k = п — т переменных х1( х2, ..., хк, а остальные т выражены через них: *Й+1Г —ай+1,1 Х1 + Дн-1.2 Х2+-” + ай4-1.АХ*+Р*4-1 > ХА4-2—afe4-2,l Xl + аАН-2,2 Х2 "I-•" "Ь ай-|-2, й Хй + Рй+2 > (5-1) Хп — ап, I *1 + ап, 2 Х2 + ••• + ап. A Xfe4~Pn' 59
Попробуем, что будет, если положить все свободные переменные хъ х2, Xk равными нулю: _(хх = 0, х2 = 0,..., = При этом мы получим: Х*4-1 == Рн-1, *64-2 = Рн-2, Хп=Р/, Это решение может быть допустимым или недопустимым. Оно допустимо, если все свободные члены pfe_|_x, Зь+г, •••> Рп неотрица- тельны. Предположим, что это условие выполнено. Тогда мы получи- ли опорное решение. Но является ли оно оптимальным? Мо- жет быть да, а может быть и нет. Чтобы проверить это, выразим мини- мизируемую линейную функцию L через свободные переменные ХХ, Х29 '•*» Xk‘ L = Yo + Yi xi 4* У2Х2 4* ••• + Yfe xk- (5»2)- Очевидно, что при хх —х2 = .... =хк = 0 L — у0. Посмотрим, не мо- жем ли мы улучшить решение, т. е. уменьшить функцию ^увели- чивая какие-нибудь из переменных хъ х2, .... хк (уменьшать их мы не можем, так как все они равны нулю, а отрицательные значения пе- ременных недопустимы). Если все коэффициенты ух, у2.....ук в фор- муле (5.2) положительны, то, увеличивая какие-то из перемен- ных хх, х2, хк сверх нуля, мы не можем уменьшить L; следо- вательно, найденное нами опорное решение является оптималь- н ы м. Если же среди коэффициентов ух, у2, ..., ук в формуле (5.2) есть отрицательные, то, увеличивая некоторые из переменных хХ( х2, хк, а именно — те, коэффициенты при которых отрицательны, мы можем улучшить решение, т. е. уменьшить L. Пусть, например, коэффициент ух в формуле (5.2) отрицателен. Значит, есть смысл увеличить хх, т. е. перейти от данного опорного решения к другому, где переменная хх не равна нулю, а вместо нее рав- на нулю какая-то другая. Увеличение хх «полезно» для линейной функ- ции L, делает ее меньше. Однако увеличивать хх надо осторожно, так чтобы не стали отрицательными другие переменные xft+1, хк+2...хп, выраженные через свободные переменные, в частности, через хх фор- мулами (5.1). Посмотрим, опасно ли для переменных хк+1, хк+2, ..., хп увели- чение хх, т. е. может ли оно сделать их отрицательными? Да, опасно, если коэффициент при хх в соответствующем уравнении отрицателен. Если среди уравнений (5.1) нет уравнения с отрицательным коэффи- циентом при хх, то величину хх можно увеличивать беспредельно, а, значит, линейная функция L не ограничена снизу и оптимального ре- шения ОЗЛП не существует. Допустим, что это не так и что среди уравнений (5.1) есть такие, в которых коэффициент при хх отрицателен. Для переменных, стоящих в левых частях этих уравнений, увеличение хх опасно — оно может сделать их отрицательными. во
Возьмем одну из таких переменных xt и посмотрим, до какой степени можно все же увеличить х1( пока переменная х; не станет от- рицательной? Выпишем Ле уравнение из системы (5.1): xi ~ аи xi 4* агг х2 + ••• + aik xk + Pi* Здесь свободный член 0, а коэффициент аг1 отрицателен. Легко понять, что если мы оставим х2 = ... = xk = 0, то хх мы можем увеличивать только до значения, равного — Рг/ац, а при дальнейшем увеличении Xj переменная х, станет отрицательной. Выберем ту из переменных х^, ..... хп, которая раньше всех обратится в нуль при увеличении т. е. ту, для которой вели- чина — Р/ад меньше всего. Пусть такая «наиболее угрожаемая» пе- ременная будет хг. Тогда имеет смысл «переразрешить» систему урав- нений (5.1) относительно других базисных переменных, выведя из чис- ла свободных переменных хх и переведя вместо нее в группу свободных переменных хг. Действительно, мы хотим перейти от опорного решения, задаваемого равенствами хх =х2 =... =хк —0, к опорному решению, в котором уже хг =И= 0, а х2 = ... = хк = хт = 0. Первое опорное ре- шение мы получили, положив равными нулю все прежние свободные переменные хх, х2, ..., xfe; второе мы получим, если обратим в нуль все новые свободные переменные х2, .... хк, хт. Базисными переменными при ЭТОМ будут Хх, Xfe_|_x, ..., хг_!, Хг+х, ..., хп. Предположим, что уравнения типа (5.1) для нового набора базис- ных и свободных переменных составлены. Тогда можно выразить че- рез новые свободные переменные и линейную функцию L. Если все коэффициенты при переменных в этой формуле положительны, то мы нашли оптимальное решение: оно получится, если все свободные пере- менные положить равными нулю. Если среди коэффициентов при пере- менных есть отрицательные, то процедура улучшения решения про- должается: система вновь переразрешается относительно других ба- зисных переменных, и так далее, пока не будет найдено оптимальное решение, обращающее функцию L в минимум. Проследим описанную процедуру постепенного улучшения реше- ния ОЗЛП на конкретном примере. Пример Имеется задача линейнего программирования с ограничениями- неравенствами: —5хх—x2-|-2xj < 2, — ххх3-|-х4 < 5, —3xj+5x4 < 7. (5.3) Требуется минимизировать линейную функцию L = 5xj — 2х3. Решение. Приводя неравенства к стандартному виду (>0) и вводя добавоч- ные переменные у1г у2, у3, переходим к условиям-равенствам: £71=5хх -|— х2 —2х3Ц- 2, У2~х1 —хз — -|-5, {/з = 3хх—5х. + 7. (5.4) 61
ЧисЛо переменный п — 7 на 4 Превышает число уравнений /й=ьЗ. Значит, четыре переменных могут быть выбраны в качестве свободных Попробуем выбрать в качестве свободных переменных хх, х2, х3, xt и поло- жить их равными нулю. При этом мы сразу получим опорное решение: хг = х2 = = х8 = х4 = 0; у4 = 2; у2 = 5; у8 = 7. При этих значениях переменных L = 0. Посмотрим, является ли это решение оптимальным? Нет! Потому что в вы- ражении линейной функции L коэффициент при х3 отрицателен. Значит, увели- чивая х3, можно уменьшить L. Попробуем увеличивать х3. Проследим по уравнениям (5.4), опасно ли это для других переменных? Да, опасно для yt и у2 — в оба эти уравнения перемен- ная х3 входит с отрицательным коэффициентом, значит, при увеличении х3 соот- ветствующие переменные у± и у2 могут стать отрицательными. Посмотрим, какая из этих переменных у± или у2 является наиболее «угро- жаемой», какая раньше обратится в нуль при увеличении х3. Очевидно, ух-. она станет равной нулю при х8 = 1, а величина у2—только при х3 = 5. Поэтому выбираем переменную у4 и вводим ее в число свободных вместо х3. Чтобы «переразрешить» систему (5.4) относительно х3, у2, у3, поступим следую- щим образом. Разрешим первое уравнение (5.4) относительно новой базисной пе- ременной х3: x3 = -/3Xi-{-1/2x2—l/2 bi 4"1- Это выражение подставим вместо х3 во второе уравнение; получим У2— ~3/2X1—1/2X2 + 1/2 yi—Xt+4. Что касается третьего уравнения, то оно, как не содержащее х3, не изме- нится. Итак, мы привели систему (5.4) к виду: хз — -/а Ху 4- J/2 х2— Vz Ух 4- Ь У2= —в/2Х1—1/2Х2+1/2У1—Х^ + 4, Уз — Зх4—5х44-7 со свободными переменными xlt х2, ylt х4 и базисными х3, у2, у3. Выразим линейную функцию L через новые свободные переменные: Т == 5х4——5х4х2 4“ У1 2, или L=—х24-(/т^2. (5.5) (5.6) Положим теперь свободные переменные равными нулю. Линейная функция L станет равной —2. Это уже лучше, чем прежнее значение L = 0. Но является ли это решение оптимальным? Все еще нет, так как коэффициент при х2 в выра- жении (5.6) отрицателен. Итак, будем увеличивать х2. Посмотрим, для какой из переменных, стоящих в левых частях системы (5.5), это может быть «опасно». Только для у2 (в первое уравнение х2 входит с положительным коэффициентом, а в третье совсем нс входит). Итак, обменяем местами переменные х2 и у2 — первую выведем из числа свободных, а вторую — введем. Для этого разрешим второе уравнение (5.5) от- носительно х2 и подставим это х2 в первое уравнение. Получим еще один вид си- стемы (5.4): —У2—*4 4-5; х2 = —Зхт—2(/24-?/i—2х4-|-8; Уз = 3х4—5х44-7. Выразим L через новые свободные переменные: или L — 3xj4-2y2 —ух + 2х.—84-^1 —2, L = 3xj 4- 2(/2 + 2х4 —10. (5.7) (5-8) 62
Полагая х1=у1 = у2 = х4 = 0, получим L = — 10. Является ли это решение оптимальным? На этот раз — да, так как коэффи- циенты при всех свободных переменных в выражении (5.8) неотрицательны. Итак, оптимальное решение ОЗЛП найдено: Х!*=0, х2* = 8; х3* = 5; х4* = 0; ^* = 0; г/2* = 0; ув*=7. При таких значениях переменных линейная функция L принимает мини- мальное значение: Lmin = Ю. Заметим, что в рассмотренном примере нам не пришлось искать опорного решения: оно сразу же получилось, когда мы положили сво- бодные переменные равными нулю. Это объясняется тем, что в урав- нениях (5.4) все свободные члены были неотрицательны и, значит, пер- вое же попавшееся решение оказалось опорным. Если это окажется не так, можно будет прийти к опорному решению с помощью такой же процедуры обмена местами некоторых базисных и свободных пере- менных, переразрешая уравнения до тех пор, пока свободные члены не станут неотрицательными. Как это делается, мы увидим в дальней- шем (см. § 7). 6. табличАый алгоритм замены БАЗИСНЫХ ПЕРЕМЕННЫХ Процедура «переразрешения» системы уравнений-ограничений ОЗЛП относительно новых базисных переменных может быть сущест- венно упрощена, если ее формализовать и свести к заполнению стан- дартных таблиц по определенной системе правил (короче, алго- ритму). Этот алгоритм мы продемонстрируем на конкретном приме- ре (в его справедливости для любого общего случая читатель сможет убедиться самостоятельно). Рассмотрим систему пяти уравнений-ограничений: У1 — а11 Х1 #12 Хг + #13 Х3 + #14 Х4 ^1> Уз = #21 Х1 + #22 Х2 + #23 Х3 + #24 Л'4 + ^2> Уз ~ #31 Х1 + #32 Х2 #33 Х3 + #34 Xi + ^3 ’ Уз = #41 Х1 + #42 Х2 + #43 Х3 + #44 Х4 + ^4> Уз ~ #51 Х1 #52 Х2 + #53 Х3 + #54 Х3 ^5 с четырьмя свободными переменными: хъ х2, х3, х4. Пусть нам требует- ся вывести из числа свободных какую-нибудь переменную, например х2, и перевести ее в базисные, а взамен ее ввести в число свободных какую-то базисную переменную, скажем г/3; короче, мы хотим обме- нять местами переменные х2 и г/3. Эту замену мы будем символически обозначать хг Уз- 63
Посмотрим, какие действия надо для этого осуществить. Вообще, можно было бы для каждой новой системы уравнений проводить переразрешение заново, т. е. для замены х2 <-->• z/3 мы взяли бы в третьем уравнении (6.1) член а^х* содержащий х2, (назовем его «разрешающим членом»; разумеется, предполагаем с32 =£ 0), перенесли бы его в левую часть, а у3 — в правую; решили бы уравнение относи- тельно х2 и подставили бы выражение для х2 во все остальные уравне- ния. Процедура достаточно громоздкая, требующая напряженного внимания; при ее выполнении легко ошибиться (особенно при большом числе уравнений). Но так как здесь каждый раз нужно проделывать одни и те же операции, то их достаточно выполнить один раз в общем виде и вывести правила преобразования, которые затем можно при- менять автоматически. Эти правила, осуществляющие «переразреше- ние» системы, удобно реализовать в виде табличного алгоритма. Чтобы этот алгоритм был проще и легче запоминался, целесооб- разно предварительно несколько преобразовать систему уравнений (6.1), представив их правые части как разности между свобод- ными членами и суммой остальных: У1 = — (— Яц хх — а12 х2 — а13 х3—я14 х4), Z/2 = Ь2 ( *4 «22 ^2 «23 Х3 О24 Х1)> Уз = Ь3—( —а31 Хц — а 2 х2 — а33 х3 — a3i х4), У4 = Ь4 ( «41 Хх я42 х2, «43 Х3 «44 Xi)' Уь — bb ( g5i х4 а52 х2 я53 х3 яй4 х4). Обозначая —«и=ан; — (6.1) получим: —а51=а54- Ух — bi—(«и Х14- а12 х2 -ф а13 х3 4- а14 х4), • (6.2) У2 ~ Ь2 («21 Х1 + «22 Х2 + «23 Х3 + «24 Xi)> Xi)> Уз — Ь3 («31 Х1 + «32 Х2 + «33 Хз+«34 Уь= bi — <«41 *1 + «42 *2 + «43 Х3 + «44 Xi)> Уъ = Ь3 — («51 Х1 + «52 Х2 + «53 Х3 + «54 xi). Форму записи уравнений (6.2) мы будем называть станда р т- н о й. Очевидно, вместо того, чтобы полностью записывать уравнения (6.2), можно ограничиться заполнением стандартной та б л и- ц ы, где указаны только свободные члены и коэффициенты при пере- менных. Первый столбец таблицы мы отведем под свободные члены, второй, третий, четвертый и пятый — под коэффициенты при пере- менных хъ х2, х3, х4 в стандартной форме (6.2). Стандартная таблиц^ для системы (6.2) приведена в табл. 6.1. Теперь представим себе, что мы хотим произвести замену х2 «-» y3f т. е. перевести переменную х2 в число базисных, а переменную у3 —< в число свободных. Выделим в стандартной таблице разрешаю-1 щ и й э л е м е н т а32 (обведем его кружком); выделим также жирны' 64
Таблица 6.1 Свободный член X, л?2 л?3 У: Ь, «12 «13 «14 У2 Ь2 «21 «22 «23 «24 Уз Ъ3 «з. «32 азз «34 У4 ь4 «4! «42 , «43 «44 у5 «5! «52 «53 «54 ми линиями строку и столбец, в которых стоит разрешающий элемент. Эту строку и этот столбец мы будем называть разрешающей строкой иразрешающим столбцом (см. табл. 6.2). • Таблица 6.2 Уз** Свободный член X, х2 Х3 х4 У> «и «12 «13 «14 Уг Ь2 «21 «22 «23 «24 Уз Ь3 «31 («зг) «33 «34 Ул ь4 «4, «42 «43 «44 Уз &5 «51 «52 «53 «54 Выполняя операцию <-> у3, мы хотим в разрешающей строке поместить переменную у3, а в разрешающем столбце — переменную х2 (это отмечено в таблице рядом со строкой и столбцом). Найдем коэффициенты, которые нужно будет поставить в таблице после обмена х2 у3. Начнем с преобразования разрешающей стро- ки. Решая третье уравнение (6.2) относительно х2, получим: х2 = ^—Уз + ^Хз + ^xJ. (6.3) а32 X а32 ^32 #82 &32 / Таким образом, преобразованные элементы разрешающей строки найдены. Составим правило преобразования остальных строк. Для 3 Зак. 573 85
этого подставим в первое уравнение (6.2) вместо его выражение (6.3). После приведения подобных членов получим Нетрудно убедиться, что совершенно аналогичным образом пре- образовываются все остальные строки. В результате мы получим преоб- разованную таблицу (см. табл. 6.3), в которой операция х2 ♦-» у3 уже совершена. Таблица 6.3 Свободный член Уз *3 *4 У1 , “12 ^3 *1 “32 “12 “31 “11 ' “32 “12 “32 “12 “33 “13 “32 “12 “34 “14 “32 Уз “22 Ь3 Ь2 “32 “22 “31 “21 “32 “2 2 “32 “22 “33 “23 “32 “22 “34 “24 " “32 х2 Ьз “32 “31 “32 1 “32 “33 “32 ° 34 “32 У4 ! “42 Уз Уц .. “32 “42 “31 “41 “32 “42 “32 “42 “33 “43 “32 “42 “34 “44 “32 Уь , “52 Уз 65 “32 “52 “31 “52 “32 “52 “33 “52 “34 аб1 а32 аБЗ " а32 “54 “32 Рассмотрев табл. 6.3, мы можем так сформулировать алгоритм преобразования коэффициентов стандартной таблицы. 1. Разрешающий элемент заменяется на обратную ему величину. 2. Все остальные элементы разрешающей строки делятся на раз- решающий элемент. 3. Все элементы разрешающего столбца (кроме самого разрешаю- щего элемента) меняют знак и делятся на разрешающий элемент. 4. Каждый из остальных элементов подвергается следующему преобразованию: к нему прибавляется произведение элемента, стояв- шего в прежней разрешающей строке на том же месте по’ порядку (т. е. в том же столбце), на элемент, стоящий в новом разрешающем столбце на соот- ветствующем месте (т. е. в той же строке, что и наш элемент). 66
Последнее правило может в первом чтении показаться не совсем понятным; покажем, как оно применяется, хотя бы на примере элемен- та, стоящего в первой строке и втором столбце табл. 6.3. Новый элемент равен прежнему (аи) плюс произведение прежнего элемента раз- решающей строки а31, стоящего в том же столбце, что а11( и ново- го элемента разрешающего столбца! — —), стоящего в той же стро- ке, что и преобразуемый элемент. Нетрудно убедиться, что сформулированные правила преобразо- вания стандартной таблицы справедливы для любого числа уравне- ний и свободных переменных и для любой замены Xj«-» yt. Преобразование стандартной таблицы при замене xj «-» yt удобно производить, выполняя все вспомогательные расчеты тут же, в табли- це, для чего выделяется нижняя часть каждой ячейки.. Алгоритм преобразования х, yt стандартной таблицы сводит- ся при этом к следующим операциям. 1. Выделить в таблице разрешающий элемент atj. Вычислить его обратную величину X = 1/аг; и записать в нижней части той же ячей- ки (в правом нижнем углу). 2. Все элементы разрешающей строки (кроме самого агу) умно- жить на X; результат записать в нижней части той же ячейки. 3. Все элементы разрешающего столбца (кроме самого агу) умно- жить на —X; результат записать в нижней части той же ячейки. 4. Подчеркнуть (или выделить иным способом) в разрешающей строке все верхние числа (прежние элементы), за исключением самого разрешающего элемента ячейки, а в разрешающем столбце — все нижние числа (новые элементы), за исключением самого разрешающего элемента. 5. Для каждого из элементов, не принадлежащих ни к разрешаю- щей строке, ни к разрешающему столбцу, записать в нижнюю часть ячейки произведение выделенных чисел, стоящих в том же столбце и в той же строке, что и данный элемент. 6. Переписать таблицу, заменив: — Xj на yt и обратно, — элементы разрешающей строки и столбца — числами, стоящи- ми в нижних частях тех же ячеек, — каждый из остальных элементов — суммой чисел, стоящих в верхней и нижней части той же ячейки. Пример 1. В системе уравнений У1 = Xj— Х2-|-2Хз—6, Уз — 2х% Х3 1, у4 = — *1 — *з+2 (6.4) произвести замену х} у2, т. е вывести из числа свободных переменных Xj и вза- мен ее ввести у2 3* 67
У2 Таблица 6. ь Свободный член х3 У1 -5 -1 1 -2 У2 1 1 О Уз -1 О -2 I у4 2 1 О 1 Решение. Записываем уравнения (6.3) в форме стандартной таблицы (см. табл. 6.4), оставляя в нижней части каждой ячейки достаточно свободного места. Выделяем кружком разрешающий элемент — 2 и жирными линиями —раз- решающие строку и столбец. Вычисляем к = — 1/2. Вспомогательные записи будем вести в правом нижнем углу ячейки (см. табл. 6.5). Заполним, согласно пунктам 1, 2 и 3 алгоритма, нижиие части ячеек разре- шающих строки и столбца. Выделим, окружив их рамкой, верхние числа разрешающей строки и ниж- ние числа разрешающего столбца (кроме самой разрешающей ячейки). Далее мы уже можем заполнить все остальные нижние части ячеек, пере- множая соответствующие им выделенные числа, стоящие в разрешающей строке и разрешающем столбце на тех же местах, что данная ячейка (см. табл. 6.6). Заканчиваем преобразование, для чего переписываем табл 6.6, заменяя х, на у2, элементы разрешающей строки и столбца — нижними числами тех же ячеек, а остальные элементы — суммой верхних и нижних чисел (см. табл. 6.7) Таким образом, мы научились с помощью табличного алгоритма совершать в уравнениях-ограничениях любую замену X;yt. Вспомним, что в задаче линейного программирования, кроме урав- нений-ограничений, существует еще и линейная функция = с0 + С1 Х1 + С2 Х2 + ••• + cj Xj + ••• ~Tcn Хп> которую нужно минимизировать. Если эта функция выражена через прежние свободные переменные xlt х2, ..., хп, то, очевидно, после за- мены Xj <-> yt ее нужно выразить через новые свободные переменные хъ х2, ..., х;+1, yit xj+1, ..., хп. Нетрудно убедиться, что для этого может быть применен тот же алгоритм, что и для преобразования лю- бой строки стандартной таблицы. Действительно, приводя L к стан- дартной форме ~со—(Yi xi + Уг Х2~Ь ••• + Уп хп)> где Yj = —ct; у2 = —с2; ...; уп = —сп, мы получим еще одну стро- ку (добавочную) стандартной таблицы, которая отличается от осталь- 68
t Таблица 6,5 Свободный член т, х2 *з У1 -5 -1 -1 2 1 -2 У2 1 -1 2 2 1 1 2 О О Уз -1 О I О -2 1 У4 2 1 1 2 О 1 габлица 6.6 '2 Свободный член т, тг т3 У| 2 -1 х 2 1 1 2 -2 0 У2 1 2 ® 1 2 1 1 ' 2 _oj 0 Уз -1 О О 1 о -2 0 1 0 У4 2 । 2 1 х 2 О , 2 1 0 Таблица 6.7 Свободный член Уг •^3 У1 _ц 2 1 2 1 2 -2 *1 2 2 __1_ 2 0 Уз -1 0 -2 1 у4 5 2 1 2 1 2 1 69
У2 Таблица 6.8 Свободный член X, J?2 Х3 L 1 1 -2 1 Ух -1 -1 1 -1 Уг -3 ЛТ\ <2/ О 1 Уз О О -3 2 ных только тем, что в ней никогда не выбирается разрешающий эле- мент. Пример 2. Сделать замену хг «->• у2 в системе уравнений У1= хг— х2+ хя — 1, | Уг = 1/2*1 — *з — 3, | (6.5) Уз = Зх2 — 2хя ) и в линейной функции б “ —+ 2х2 —хя 4-1. Решение. Заполняем стандартную таблицу, в верхней строке которой по- мещаем линейную функцию L (см. табл. 6.8). Таблица 6.9 32 Свободный член Д?1 3?2 д?з L 1 -6 1 2 -2 о 1 2 У1 -1 6 -1 -2 1 О -1 -2 У2 -3 6 \2J~2 О О ij -2 Уз О о О О -3 О 2 О 70
Для выполнения замены х, **р, в той же таблице делаем дополнительные расчеты (см. табл 6.9) Заменой х, ** таблица приводится к виду (табл. 6 10) Таблица В. 10 Свободный член У1 Х2 Д?3 L -5 2 -2 3 У) 5 -2 1 -з 6 -2 О -2 y3 О О -3 2 С помощью табличного алгоритма обмена переменных в уравне- ниях ОЗЛП можно решить любую задачу линейного программирова- ния или же убедиться, что она не имеет решения. Нахождение решения каждой задачи линейного программирова- ния распадается на два этапа: I) отыскание опорного решения; 2) отыскание оптимального решения, минимизирующего линей- ную функцию L. В процессе первого этапа попутно выясняется, имеет ли вообще данная задача допустимые (неотрицательные) решения; если да, то находится опорное решение, для которого все свободные переменные равны нулю, а все базисные — неотрицательны. В процессе второго этапа попутно выясняется, ограничена ли снизу минимизируемая функция L; если нет, то оптимального решения не существует. Если да, то оно находится после того или другого чис- ла замен Xj *-» yt. Оба этапа решения ОЗЛП удобно выполнять с помощью описан- ного алгоритма преобразования стандартных таблиц. 7. ОТЫСКАНИЕ ОПОРНОГО РЕШЕНИЯ ОСНОВНОЙ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Пусть имеется ОЗЛП с ограничениями-равенствами, записанными в стандартной форме: У1 = — (ап х, + а12 хг 4-... + а1п хп), У2— ^2-(a21 Xl + a ll X2 4* ••• 4~ Xn)> (7 1) Ут ~ Ьщ <®>nl Х1 Ь ^rn2 x2 4” ••• 4* 71
разрешенными относительно базисных переменных уъ ...... ут, ко- торые выражены через свободные переменные хъ х2........хп. В каждой вершине ОДР (опорном решении) по крайней мере п переменных долж- ны обращаться в нуль. Попробуем получить опорное решение, полагая в формулах (7.1) все свободные переменные равными нулю. Имеем: х1 = х2 = ...=хп = 0; , ь ь (7-2) У1 = ЬХ-, у2 — Ь2\ ...; ут = Ьт. Если все свободные члены blt b2, Ьт в уравнениях (7.1) неот- рицательны, это значит, что опорное решение уже получено; этот случай нас не интересует. Рассмотрим случай, когда среди сво- бодных членов blt b2, ..., Ьт есть отрицательные. Это значит, что реше- ние (7.2) не является опорным — оно вообще не допустимо, и опорное решение еще предстоит найти. Для этого мы будем шаг за шагом обме- нивать местами базисные и свободные переменные в уравнениях (7.1) до тех пор, пока не придем к опорному решению или не убедимся, что его не существует. Последнее бывает в случае, когда система уравне- ний (7.1) несовместима с неравенствами *1>0, х2>0,.... хп>0, у1>0,..., ут>0, (7.3) т. е. у нее нет неотрицательных решений. Очевидно, нужно так обменивать местами базисные и свободные переменные, чтобы эта процедура приближала нас к границе ОДР, а не удаляла от нее, т. е. чтобы число отрицательных свободных членов с каждым шагом убывало, или, если число отрицательных сво- бодных членов остается прежним, то, по крайней мере, убывали их абсолютные величины. Существует ряд способов выбора разрешающего элемента для при- ближения к опорному решению. Остановимся (без строгого доказатель- ства) на одном из них. Пусть имеется одно из уравнений (7.1) с отрицательным свободным членом. Ищем в этой строке отрицательный элемент аг;-. Если такого элемента нет (все элементы а<;- > 0), это признак того, что система уравнений (7.1) несовместима с неравенствами (7.3). Действительно, при отсутствии отрицательных элементов в строке вся правая часть соответствующего уравнения может быть только отрицательной, а это противоречит условиям неотрицательности переменных. Предположим, что отрицательный элемент есть. Тогда выбираем столбец, в котором он находится, в качестве разрешающего. Теперь надо выбрать в этом столбце сам разрешающий элемент. Рассмотрим все элементы данного столбца, имеющие одинаковый знак со свободным членом. Из них выбирем в качестве разрешающего тот, для которого отношение к нему свободного члена минимально. Таким образом, выбирается разрешающий столбец, разрешающий элемент в нем и, значит, разрешающая строка. Убедимся на примере, как совершается приближение к опорному решению при таком правиле выбора разрешающего элемента. Попут- но мы убедимся в разумности этого правила. 72
Пример 1. Найти (если оно существует) опорное решение задачи линейно- го программирования с ограничениями-равенствами: У1 = 1 — (— хг—2x2-j-x3), 1/2 = —5 — (—2xj-|- х2—х3), Уз — 2—(xi+ Vi— 1—(— х2 + хз)> (7.4) (здесь не приводится линейная форма, которую нужно минимизировать, потому что опорное решение ищется безотносительно к виду этой формы). Решение. Записываем условия (7.4) в виде стандартной таблицы (см. табл. 7.1). Таблица. 7.1 Свободный член X, Х2 Х3 У1 1 -1 -2 1 У2 -5 ^2 1 -1 Уз 2 1 1 О у4 1 О -1 1 В табл 7.1 имеется отрицательный свободный член —5 в строке у2 столбца хх. Согласно правилу, выбираем любой отрицательный элемент этой строки, на- пример —2 (в табл. 7.1 он подчеркнут). Этим мы выбрали разрешающий столбец хх. В качестве «кандидатов» на роль разрешающего элемента рассмотрим все те элементы этого столбца, которые одинаковы по знаку со своим свободным чле- ном; это будут —2 и 1 (нуль в качестве разрешающего элемента фигурировать не может). Вычисляем для каждого из «кандидатов» отношение к нему свободного члена: (-5)/(-2) = »/2; 2/1=2. Наименьшее из этих отношений 2; значит, элемент 1 выбираем в качестве разрешающего и меняем местами хх у2 (см. табл. 7.2). После выполнения действий приходим к табл. 7.3. В табл. 7.3 по-прежнему один отрицательный свободный член, но по абсо- лютной величине он уже меньше, чем в табл. 7.1 — значит, мы приближаемся к ОДР. Попробуем избавиться и от этого члена. В строке у2 имеется только один отрицательный элемент —1 (подчеркнут). Значит, разрешающим столбцом может быть только столбец х3. Вычисляем для всех элементов этого столбца, имеющих одинаковый знак со своим свободным членом, отношение свободного члена к эле- менту: 3/l=»3j (-!)/( —1)=1; 1/1=1. 73
Таблица 7.2 Уз~*~” Свободный член X 1 X Ig У1 1 2 -1 1 -2 । 1 0 У2 -5 4 -2 2 1 2 -1 0 Уз ’ 2 2 1 1 О О у4 1 О О О -1 О 1 0 Таблица 7.3 Свободный член Уз а?2 х3 У1 3 1 -1 -1 У2 -1 2 3 ч X, 2 1 1 О У4 1 О -1 1 Отношение достигает минимума, равного 1, для двух элементов; возьмем и качестве разрешающего первый из них (—1), стоящий в строке у3 и столбце хв, в сделаем замену х3 у2 (см. табл 7.4 и 7.5). В табл 7.5 все свободные члены неотрицательны, и опорное решение най- дено: = 0; й = 2; х3 = 1; х± = 2; у± = 0. Пример 2. Найти (если оно существует) опорное решение системы */i— —4—(—xt-f-2x3), 4*2 = —3 — (хх—х2+хз), 4*з= ~ Ю—(2*i—х2+аз), 4,4==-2-=(«-хх+х2). (7.5) 74
Таблица 7. Ч У2 — Свободный член Уз а?2 а?з У1 3 -1 1 2 -1 3 1 1 У2 -1 1 2 -2 3 -3 (н) -1 а?! 2 0 1 о 1 0 О О у4 1 -1 О 2 -1 3 1 1 Таблица 7.5 Свободный член Уз z2 У2 У1 2 3 2 1 X- о 1 -2 -3 -1 X] 2 1 1 О У4 О 2 2 t Таблица 7. В Свободный член а?1 Х2 ' % У1 -4 -1 2 0 У2 -3 1 -1 1 Уз -10 2 -1 1 у4 -2 (ч) 1 0 П
Уь— таблица 7. 7 Свободный член Т, Х2 J?3 У1 -4 2 -1 -1 2 -1 0 0 У2 -з -2 1 -1 1 1 0 Уз -10 -4 2 2 -1 2 1 0 у4 -2 -1 1 0 2 -1 0 Решение. Записываем систему уравнений (7.5) в виде стандартной табли- цы (см. табл. 7.6). Выбираем строку с отрицательным свободным членом, например, первую. В ней есть отрицательный элемент (—1). Выбираем столбец хг в качестве разре- шающего. Вычисляем отношения: (—4)/( —1) = 4; (-2)/(-1) = 2. Последнее отношение минимально; значит, в качестве разрешающего берем элемент ( —1) в строке р4 и производим замену х, ys (см. табл. 7.7 и 7.8). Обратим внимание на строку у3 в табл. 7 8. В ней свободный член отрица- телен, но нет ни одного отрицательного элемента (кроме самого свободного члена). Соответствующее уравнение имеет вид: (/з = —14 — &у} 4-x2-f-x3). Может ли при каких бы то ни было неотрицательных значениях у}, х2> х3 . величина у3 быть неотрицательной? Очевидно, нет: при у2=х2 = х3 == 0 полу- чим у3 = —14, а увеличение у4, х2, х3 сверх нуля сделает у3 еще меньше Следо- Таблица 78 Свободный член Ул х2 ХЛ У> -2 -1 1 0 У-2 -5 1 0 1 Уз -14 2 1 1 X. 2 -1 -1 0 76
вательно, система (7.5) несовместима с неравенствами, вытекающими из неотри- цательности переменных, и задача линейного программирования с условиями- ограничениями (7.5) допустимых решений не имеет. О том же свидетельствует и строка у2 табл. 7.8, где тоже нет ни одного отрицательного элемента (кроме самого свободного члена) Таким образом, мы видим, что нет необходимости специально исследовать систему условий ОЗЛП на совместность в области неот- рицательных решений: этот вопрос выясняется автоматически, в про- цессе нахождения опорного решения. 8. ОТЫСКАНИЕ ОПТИМАЛЬНОГО РЕШЕНИЯ ОСНОВНОЙ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ В предыдущем параграфе мы научились отыскивать опорное ре- шение системы уравнений ОЗЛП; при поисках этого опорного реше- ния мы вовсе не занимались минимизируемой функцией L. Теперь мы займемся оптимизацией решения, т. е. отысканием такого опорного решения, которое обращает в минимум линейную функцию: L = с0— (?1 Х1 + у2 х2 +... + у„ х„). В § 5 мы уже продемонстрировали принципиальную сторону ме- тодики оптимизации решения. Здесь мы на примерах покажем, как эта оптимизация может быть проведена с помощью табличного алго- ритма замены х/ «-> yt. Пример 1. Найти решение задачи линейного программирования с уравне- ниями J/1 —2— ( Xj-|-X2—2х8), У2=1— ( Xi—X2+ х8), (/3=5 — ( х24* хз), t/4 = 2 — (2х1— х2), обращающее в минимум линейную функцию L —0—(—Xi -}~2х2-}-Хз). (8*2) Решение. Все свободные члены в (8.1) неотрицательны, значит, опорное ре- шение налицо: Х4 = х2=х3 = 0; {/1=2; у2 = 1; (/3 = 5; (/, = 2. Является ли оно оптимальным? Нет, так как коэффициенты при х2 и х3 в (8.2) положительны, значит, увеличивая эти переменные, мы уменьшаем L. Запишем (8.1) и (8.2) в виде стандартной таблицы (табл. 8.1). Так как коэффициенты в первой строке при х2 и хз положительны, любую из этих переменных можно вывести из числа свободных. Пусть это будет х3. Ка- кой из элементов столбца х3 взять разрешающим? Этот элемент должен быть п о- ложительным. Значит, у нас есть выбор: 1 в строке у2 или 1 в строке у3. Выберем тот их них, для которого отношение к нему свободного члена минималь- но (обоснование см. в § 5). Отношения равны 1/1 = 1; 5/1=5. Минимальное из них 1. Значит, в ка- честве разрешающего нужно взять элемент 1 в столбце х3, строке у2. Произ- ведем замену х3 у2 (см. табл. 8.2, 8.3). 77
Таблица 8.1 1 Свободный член *4 гг Г3 L о -1 2 1 2 1 1 -2 уг 1 1 -1 (Т) Уз 5 О 1 1 У4 2 2 -1 О Таблица 8.2 У2— Свободный член Х2 лг3 L О -1 -1 -I 2 1 1 1— 1 -1 У! 2 2 1 2 1 -2 -2 । 1 2 У2 1 Jj 1 1 __Z1J -1 (Т) ч-/ 1 Уз 5 ! -1 О -1 1 1 1 , 1 -1 & 1 2 1 0 2 о -1 О О 1 0 Таблица 8.3 ! Свободный член X, Х2 у2 -1 -2 3 -1 У1 4 3 -1 2 ! 1 1 -1 1 Уз 4 -1 -1 . У4 2 2 -1 О 78
Таблица 8. f Уз— Свободный член *1 х2 У2 L -1 -6 "2 з 2 3 3 2* 1 3 2 У1 4 2 3 , 2 -1 1 2 2 _> 2 х3 1 2 ’ 1 2 -1 1 2 1 1 2 Уз и -1 1 . (А) 1 2 1 , 2 2 2 У< 2 2 КЗ 1 ю|— -1 1 2 О 1 Ю|— В верхней строке табл. 8.3 есть положительный коэффициент при х2, зна- чит, х2 надо вывести из свободных переменных. Выбираем в качестве разрешаю- щего тот положительный элемент столбца х2, для которого отношение к нему свободного члена минимально. Но в столбце х2 единственный положительный элемент 2, его и выбираем в качестве разрешающего (см. табл. 8.4 и 8.5). Оказывается, процедура еще не закончена: в первой строке табл. 8.5 имеет- ся положительный элемент в столбце у2, значит, переменную у2 нужно вывести из числа свободных. В качестве разрешающего берем тот из положительных эле- ментов столбца у2, для которого отношение к нему свободного члена минимально. Сравнивая отношения 6:3/2 = 4, 3 :1/2 = 6, выбираем в качестве разрешающего элемент 3/2 в строке уг и столбце у2 и продол- жаем процедуру оптимизации (см. табл. 8.6 и 8.7). В первой строке табл. 8.7 нет ни одного положительного элемента; значит, оптимальное решение достигнуто; оно будет: *1 = (/з = ?/1 = 0; ?/2=4; х8=1; «2=4; у4=6. • При этих значениях переменных линейная функция L достигает своего минималь- ного значения, равного 7-ш1п= —9. Возникает вопрос: а что если в столбце, содержащем положитель- ный элемент строки L, не найдется ни одного положительного элемен- та, чтобы сделать его разрешающим? Легко убедиться, что в этом слу- чае функция L не ограничена снизу и ОЗЛП не имеет оптимального решения. Действительно, в этом случае увеличение переменной, соответст- вующей данному столбцу, уменьшает линейную функцию L и не мо- жет сделать ни одной из базисных переменных отрицательной, значит, ничто не препятствует неограниченному уменьшению функции L. Итак, сформулируем правила нахождения оптимального решения ОЗЛП симплекс-методом. 1. Если все свободные члены (не считая строки L) в симплекс- таблице неотрицательны, а в строке L (не считая свободного члена) нет ни одного положительного элемента, то оптимальное ре- шение достигнуто. 7»
Таблица 8.5 Свободный член X, Уз Уз L -7 2 2 3 2 1 2 У, 6 5 2 2 2 /ЗЛ хз 3 2 2 2 2 2 2 х2 2 _2 2 2 2 2 2 у< 4 3 2 2 2 2 *2 таблица 8.5 У> — Свободный член Уз Уз L -7 -2 2 2 _ 5. 6 1 ю|со ! ~6 ^-1 2 ! 3 У, 6 4 i 5 3 1 2_ 1 3 /з' <2^ ) 2 3 *3 3 -2 2 2 5. ~ 6 2 2 1 6 2 2 1 3 х2 2 2 2 ~2 5 6 2 2 1 6 1 2 1 г 1 3 У4. 4 2 3 2 5 £ 2 2 1 6 2 2 ГТ 1 5 Таблица в. 7 Свободный член Уз У< L -9 _4. 3 5. 3 3 у2 4 5. 3 2 3 2 3 х3 1 2 ~з 1 3 1 3 х2 4 2 3 2 3 2 3 У< 6 7 3 2 3 2 3 80
Таблица 8.8 Свободный член Х2 Х3 Т4 L о -2 1 О О У. О -1 О О О У2 2 О 1 -1 О Уз 1 О О -1 -1 Таблица 8.9 Свободный член Х2 Х3 г4 L О 0 -2 1 1 [-1 О О О О У1 oj -1 | -1 со у 1 о| 0 О у2 2 0 О 1 'F -1 0 О О Уз 1 0 О 0 А» -1 0 -1 О л Таблица 8.10 Свободный член Х! У! хз Ж4 L О -1 -1 О О Х2 О -1 1 О О У2 2 1 -1 -1 О Уз 1 О О -1 -1 8!
2. Если в строке L есть положительный элемент, а в столбце, соответствующем ему, нет ни одного положительного элемента, то ли- нейная функция L не ограничена снизу, и оптимального ре- шения не существует. 3. Если в этом столбце есть положительные элементы, то следует произвести замену одной из свободных переменных на одну из баз ис- ных, причем в качестве разрешающего надо взять тот элемент этого столбца, для которого отношение к нему соответствующего свободного члена минимально. В заключение остановимся на так называемом «вырожденном» случае, когда один (или более) свободных членов в уравнениях-огра- ничениях получается равным нулю. Это означает, что в данном опор- ном решении обращаются в нуль не только свободные переменные, но и некоторые из базисных. Рассмотрим пример. Пример 2. Найти решение задачи линейного программирования с условия- ми t/i = Xi —-Ч> ] ,Q Уг — —х2-(-х3+2, I (8.3) !/з= *з+-ч+1, J обращающее в минимум линейную функцию L=2x1—х2. (8.4) Решение. Записываем (8.3) и (8.4) в виде стандартной таблицы (см. табл. 8.8). Согласно общему правилу, ищем в столбце х2 разрешающий элемент, для которого отношение к нему свободного члена неотрицательно и минимально. Сравнивая отношения 0:1 и 2:1, останавливаемся на разрешающем элементе 1 в строке ylt для которого это отношение равно нулю. Производим замену х2 «-» У) (см. табл. 8.9 и 8.10). При переходе от табл. 8.8 к табл. 8.10, естественно, не произошло умень- шения линейной функции L (она как была, так и осталась равной нулю), ио зато элементы верхней строки стали все неположительными, из чего видно, что опти- мальное решение достигнуто: минимум функции равен нулю и достигается при X] = У, = *3 = *4 = °; хг = 0; у2 = 2; у3 <= 1. Сделаем еще одно, последнее, замечание по поводу так называе- мого «зацикливания». Мы уже видели, что при наличии «вырождения» может оказаться, что замена одной из свободных переменных на ба- зисную и обратно приводит только к перестановке переменных, без уменьшения линейной функции L. В очень редких случаях может ока- заться, что последовательное применение правила выбора разрешаю- щего элемента приводит к тому, что после нескольких замен Xj «->yt мы вновь возвращаемся к тому же набору базисных и свободных пе- ременных, с которого начали. Это и называется «зацикливанием». Практически для того, чтобы избежать этого, достаточно бывает при повторении взять разрешающий элемент не так, как он был взят пер- вый раз (например, в другом столбце). При организации алгоритма линейного программирования на ЭЦВМ в программу должно быть введено соответствующее указание. 82
9. ТРАНСПОРТНАЯ ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Изложенный в предыдущих параграфах симплекс-метод решения задачи линейного программирования является универсальным и при- меним для решения любых таких задач. Однако существуют некоторые частные типы задач линейного программирования, которые, в силу не- которых особенностей своей структуры, допускают решение более простыми методами. К ним относится, в частности, так называемая транспортная задача. Классическая транспортная задача линейного программирова- ния формулируется следующим образом. Имеется т пунктов отправления: Аи А2,..., Агп, в которых со- средоточены запасы какого-то однородного товара (груза) в коли- честве соответственно а1г а2,..., ат единиц. Кроме того, имеется п пунктов назначения : В1, В2, ..., Вп, подавших заяки соответственно на b2, ..., Ьп единиц товара. Предполагается, что сумма всех заявок равна сумме всех запасов: т п ^at=^b3. (9.1) Z=l /=1 Известна стоимость ci3 перевозки единицы товара от каждого пункта отправления At до каждого пункта назначения В3. Таблица (матрица) стоимостей перевозки ci3j задана: С11 С12 ••• с1п С21 с22 ... с2п Ст1 ст2 ••• стп Требуется составить такой план перевозок, при котором все заяв- ки были бы выполнены, и при этом общая стоимость всех перевозок была минимальна. При такой постановке задачи показателем эффективности плана перевозок является стоимость; поэтому поставленную задачу точнее называют транспортной задачей по критерию стоимости. Дадим этой задаче математическую формулировку. Обозначим xi3 — количество груза, отправляемого из г-го пункта отправления Дг- в /-й пункт назначения В3 (г = 1, ..., т; / = 1.п). Неотрицатель- ные переменные хп, х12........................... хтп (число которых, очевидно, равно mXn) должны удовлетворять следующим условиям: 1. Суммарное количество груза, направляемое из каждого пунк- та отправления во все пункты назначения, должно быть равно запасу груза в данном пункте. Это даст нам т условий-равенств: 83
In —G2> “ CL mn nv или, короче, (9.2) п 2 xmi~ 2. Суммарное количество груза, доставляемое в каждый пункт назначения изо всех пунктов отправления, должно быть равно заяв- ке, поданной данным пунктом. Это даст п условий-равенств: *11 4* *21 4* ••• 4* Хт1 = (’и *12 4“ *22 4- ••• Ч~Хт2=^2> *1п4-*2п4* ••• Л~хтп~Ьп, или, короче, т 2*п=*1. 1 = 1 т V г — h *12 ~ «2, /О т 2 = ^п' 3. Суммарная стоимость всех перевозок, т. е. сумма величин х^/, умноженных на соответствующие стоимости с^, должна быть мини- мальной: L~cu xu с12 х12 4- ... 4- с1п х1п -}- 4~С21 *21 4- С22 *22 4- — 4- С2п*2п4* ••• 4* 4* С'т! Хт1 4- Cm2 Хт2 4“ ••• 4~ Стп Хтп — ПИП, или, гораздо : ороче, т п 2 2 *ii = min, (9.4) i=i /=1 tn а где знак двойной суммы 2 S означает, что суммирование произ- i=i ;=1 84
водится по всем комбинациям индексов (£ = 1.т; j = 1, п), т. е. по всем комбинациям пунктов отправления с пунктами назначения. Функция (9.4) линейна, ограничения - равенства (9.2), (9.3) так- же линейны. Перед нами — типичная задача линейного программи- рования с ограничениями-равенствами (ОЗЛП). Как и всякую другую задачу линейного программирования, ее можно было бы решить симплекс-методом, но данная задача имеет некоторые особенности, позволяющие решить ее более просто. Причи- ной является то, что все коэффициенты при переменных в уравнениях (9.2), (9.3) равны единице. Кроме того, имеет значение структура свя- зей между условиями. Нетрудно убедиться, что не все т -j- п уравне- ний нашей задачи являются независимыми. Действительно, склады- вая между собой все уравнения (9.2) и все уравнения (9.3), мы должны получить одно и то же, в силу условия (9.1). Таким образом, условия (9.2), (9.3) связаны одной линейной зависимостью, и фактически из этих уравнений только т п — 1, а не т + п являются линейно независимыми. Значит, ранг системы уравнений (9.2), (9.3) равен r = m-)-n— 1, а, следовательно, можно разрешить эти уравнения относительно т -\-п — 1 базисных переменных, выразив их через остальные, свобод- ные. Подсчитаем количество свободных переменных. Оно равно: k = mn—(т-^-п — 1) =тп—т—(п— 1) = = т’(п— 1) — (и— 1) — (т— 1) (п — 1). Мы знаем, что в задаче линейного программирования оптимальное решение достигается в одной из вершин ОДР, где по крайней мере k переменных обращаются в нуль. Значит, в нашем случае для опти- мального плана перевозок по крайней мере (т — 1)(п — 1) значений xi} должны быть равны нулю. Условимся о терминологии. Значения количества единиц гру- за, направляемых из пункта Дг в пункт В, мы будем называть пере- возками. Любую совокупность значений (хг?-) (г = 1, ..., т; j — 1.п) будем называть планом перевозок, или просто планом. План (xtj) будем называть допустимым, если он удовлетво- ряет условиям (9.2), (9.3) (так называемым «балансовым условиям»): все заявки удовлетворены, все запасы исчерпаны. Допустимый план будем называть опорным, если в нем от- личны от нуля не более г — т-(-п — 1 базисных перевозок х1}, а ос- тальные перевозки равны нулю. План (xtj) будем называть оптимальным, если он, среди всех допустимых планов, приводит к наименьшей стоимости всех пере- возок. Перейдем к изложению методов решения транспортной задачи (ТЗ). Эти методы не требуют манипуляций с симплекс-таблицами, 85
а сводятся к более простым операциям непосредственно с таблицей, где в определенном порядке записаны все условия ТЗ. Такую табли- цу мы будем называть транспортной таблицей. В транспортной таблице записываются — пункты отправления и назначения, — запасы, имеющиеся в пунктах отправления, — заявки, поданные пунктами назначения, — стоимости перевозок из каждого пункта отправления в каж- дый пункт назначения. Стоимости перевозок мы будем помещать в правом верхнем углу каждой ячейки, с тем чтобы в самой ячейке при составлении плана по- мещать перевозки х^. Образец транспортной таблицы дан в табл. 9.1. Таблица 9.1 Хпн пох В, Вг Вп Запасы «I Си С,2 с In а2 С2| С22 С2п а2 •J Ат {-'mt Ст2 Cion ат Заявки ^2 т п £,a=Z,bi i=i }=i ' Для краткости в дальнейшем будем обозначать пункты отправ- ления — ПО, пункты назначения — ПН. В правом верхнем углу каж- дой клетки проставлены стоимости перевозки единицы товара (груза) из ПО At в ПН Bj. В правом столбце помещены запасы товара в каждом ПО, в нижней строке — заявки, поданные каждым ПН. Для ТЗ сумма запасов равна сумме заявок; общее значение этой суммы записывается в правой нижней ячейке таблицы. Выше мы показали, что ранг системы уравнений-ограничений ТЗ равен г — т + п — I, где т — число строк, ап — число столбцов транспортной таблицы. Значит, в каждом опорном плане, включая оптимальный, будут отличны от нуля не более, чем п + т — I пере- возок. Ячейки (клетки) таблицы, в которых мы будем записывать эти отличные от нуля перевозки, условимся называть базисными, а остальные (пустые) свободными. 86
Таким образом, решение ТЗ свелось к следующему. Найти такие вначения положительных перевозок, которые, будучи проставлены в базисных клетках транспортной таблицы, удовлетворяли бы следую- щим условиям: — сумма перевозок в каждой строке таблицы должна быть равна запасу данного ПО; — сумма перевозок в каждом столбце должна быть равна заявке данного ПН; — общая стоимость перевозок — минимальная. В дальнейшем все действия по нахождению решения ТЗ будут сво- диться к преобразованию транспортной таблицы 9.1. При описании этих преобразований нам удобно будет пользовать- ся нумерацией клеток таблицы (подобной нумерации клеток шахмат- ной доски).' Клеткой (Д(, Bj) или, короче, клеткой (t, /) мы будем называть клетку, стоящую в /-й строке и /-м столбце транспортной таблицы. Например, самая верхняя левая клетка будет обозначаться (1, 1), стоящая под ней (2, 1) и т. д. 10. НАХОЖДЕНИЕ ОПОРНОГО ПЛАНА Решение транспортной задачи, как и всякой задачи линейного программирования, начинается с нахождения опорного решения, или, как мы будем говорить, опорного плана. В отличие от общего случая ОЗЛП с произвольными ограничениями и минимизируемой функцией, решение ТЗ всегда существует. Действительно, из чисто физических соображений ясно, что хоть какой-то допустимый план существовать должен. Среди допустимых планов непременно имеется оптимальный (может быть, не^один), потому что линейная функция L — стоимость перевозок заведомо неотрицательна (ограни- чена снизу нулем). В данном параграфе мы покажем, как построить опорный план. Для этого существуют различные способы, из которых мы остановимся на простейшем, так называемом «способе северо-за- падного угла». Пояснить его проще всего будет на конкретном при- мере. Пример 1. Условия ТЗ заданы транспортной таблицей (см. табл. 10.1). Требуется найти опорное решение ТЗ (построить опорный план). Решение. Перепишем табл. 10.1 и будем заполнять ее перевозка- ми постепенно, начиная с левой верхней ячейки (1,1) («северо-западно- го угла» таблицы). Будем рассуждать при этом следующим образом. Пункт By подал заявку на 18 единиц груза. Удовлетворим эту заявку за счет запаса 48, имеющегося в пункте Аъ и запишем перевозку 18 в клетке (1,1). После этого заявка пункта В] удовлетворена, а в пунк- те Ai осталось еще 30 единиц груза. Удовлетворим за счет них заявку пункта В2 (27 единиц), запишем 27 в клетке (1,2); оставшиеся 3 едини- цы пункта Ai назначим пункту В3. В составе заявки пункта В3 оста- лись неудовлетворенными 39 единиц. Из них 30 покроем за счет пункта 87
Таблица fO. i Xtih поХ в> В2 в3 в. в5 Запасы а. -4, 10 8 5 6 9 48 а2 6 7 8 6 5 30 А3 в 7 Ю в 7 27 Д4 7 5 4 6 8 20 Заявки Ь> 18 27 42 12 26 125 A2, чем его запас будет исчерпан, и еще 9 возьмем из пункта А3. Из оставшихся 18 единиц пункта Л3 12 выделим пункту В4; оставшиеся 6 единиц назначим пункту В6, что вместе со всеми 20 единицами пунк- та А4 покроет его заявку (см. табл. 10.2). На этом распределение запасов закончено: каждый пункт назна- чения получил груз согласно своей заявке. Это выражается в том, что сумма перевозок в каждой строке равна соответствующему запасу, а в столбце — заявке. Таким образом, нами сразу же составлен план перевозок, удов- летворяющий балансовым условиям. Полученное решение является не только допустимым, но и опорным решением транспортной задачи. Таблица 10.2 Хпн пох В\ в2 в3 в. в, Запасы 4] 10 18 8 27 5 3 в 9 48 а2 6 7 8 30 6 5 30 Аз 8 7 10 9 в 12 7 6 27 7 5 4 6 8 20 20 Заявки Ь 18 27 42 12 26 125 88
Клетки таблицы, в которых стоят ненулевые перевозки, являются базисными, их число удовлетворяет условию г = т-\-п—1=8. Ос- тальные клетки—свободные (пустые), в них стоят ненулевые перевоз- ки, их число равно (п — 1)(т — 1) = 12. Значит, наш план — опор- ный и поставленная задача построения опорного плана решена. Возникает вопрос: а является ли этот план оптимальным по стои- мости? Разумеется, нет! Ведь при его построении мы совсем не учи- тывали стоимостей перевозок с/?-. Естественно, план не получился оп- тимальным. Действительно, стоимость этого плана, которая найдется, если умножить каждую перевозку на соответствующую стоимость, равна 18-10+27-8+3-5+30-8 + 9-10 + 12-8 + 6-7 + 20-8 = 1039. Таблица 1О.З Хпн пох в. В2 В3 в4 в5 Запасы 10 а 27 5 21 6 9 48 Д2 6 18 7 8 12 6 5 30 43 8 7 10 9 8 12 7 6 27 7 5 4 6 8 20 20 Заявки Ь> 18 27 42 12 26 125 Попробуем улучшить этот план, перенеся, например, 18 единиц из клетки (1,1) в клетку (2,1) и, чтобы не нарушить баланса, перене- ся те же 18 единиц из клетки (2,3) в клетку (1,3). Получим новый план, приведенный в табл. 10.3. Нетрудно убедиться, что стоимость нового плана равна 27,8 + 21-5 + 18-6 + 12-8 + 9-10 + 12-8 +6-7 + 20-8 = 913,т. е. на 126 единиц меньше стоимости плана, приведенного в табл. 10.3. Таким образом, за счет циклической перестановки 18 единиц гру- за из одних клеток в другие нам удалось понизить стоимость плана. На этом способе уменьшения стоимости в дальнейшем и будет основан алгоритм оптимизации плана перевозок. Остановимся на одной особенности плана перевозок, которая мо- жет встретиться как при построении опорного плана, так и при его улучшении. Речь идет о так называемом «вырожденном» плане, в кото- ром некоторые из базисных перевозок оказываются равными нулю. Рассмотрим конкретный пример возникновения вырожденного плана. Пример 2. Дана транспортная таблица (без стоимостей перевозок, так как речь идет только о построении опорного плана)—см. табл. 10.4. 89
Таблица 10 4 \пн по\ з, в2 В3 в4 в, Запасы а, Л, 20 Д2 30 лз 25 Ад 20 Заявки Ь> 10 10 20 35 20 95 Таблица 10.5 \ПН по\ з. 32 3з Зд з5 Запасы ai А, 10 10 20 ^2 20 10 30 ^3 25 25 Ад 20 20 Заявки Й1 10 10 20 35 20 95 Таблица 10.6 Хпн поХ з. В2 Зз Вд в5 Запасы Я| 11 А, 10 10 £ 20 + ff а2 20-е 10+е 30 A3 25-е 2е 25+е а4 2О-2е 20-2е Заявки bJ 10 10 20 35 20 95 90
Составить опорный план перевозок. Решение. Применяя способ северо-западного угла, получим табл. 10.5. Опорный план составлен. Особенностью его является то, что в нем только шесть, а не восемь отличных от нуля перевозок. Значит, некоторые из базисных перевозок, которых должно быть т + п — 1 =8, оказались равными нулю. Нетрудно заметить, отчего это произошло: при распределении запасов по пунктам назначения в некоторых случаях остатки оказы- вались равными нулю и в соответствующую клетку не попадали. Такие случаи «вырождения» могут возникать не только при со- ставлении опорного плана, но и при его преобразовании, оптимизации. В дальнейшем нам удобно будет всегда иметь в транспортной таблице т + п — 1 базисных клеток, хотя в некоторых из них, может быть, будут стоять и нулевые значения перевозок. Для этого можно ничтожно мало изменить запасы или заявки, так чтобы общий баланс не нарушился, а лишние, «промежуточные» балансы уничтожились. Достаточно в нужных местах изменить запасы или заявки, например, на величину е, а после нахождения оптимального решения положить е = 0. Покажем, как перейти от вырожденного плана к невырожденному на примере табл. 10.5. Изменим слегка запасы в первой строке и поло- жим их равными 20 + 8. Кроме того, в третьей строке проставим за- пасы 25 + е. Чтобы «свести баланс», в четвертой строке ставим запасы 20 — 2е (см. табл. 10.6). Для этой таблицы строим опорный план спо- собом северо-западного угла. В табл. 10.6 уже содержится столько базисных переменных, сколь- ко требуется: т + п. — 1 = 8. В дальнейшем, после оптимизации пла- на, можно будет положить е = 0. 11. УЛУЧШЕНИЕ ПЛАНА ПЕРЕВОЗОК. ЦИКЛ ПЕРЕСЧЕТА В предыдущем параграфе мы уже бегло познакомились со спосо- бом улучшения плана, состоящим в том, что некоторые перевозки, без нарушения баланса, переносятся из клетки в клетку по некоторому замкнутому циклу. Здесь мы рассмотрим эти циклические перестанов- ки подробнее. Возьмем транспортную таблицу, состоящую, например, из т=5 строк и и = 6 столбцов (число строк и столбцов несущественно). Циклом в транспортной таблице мы будем называть несколько клеток, соединенных замкнутой ломаной линией, которая в каждой клетке совершает поворот на 90°. Например, в табл. 11.1 изображены два цикла: первый с четырь- мя вершинами (2,1), (2,3), (4,3), (4,1) и второй — с восемью вершина- ми (1,4), (1,6), (4,6), (4,4), (3,4), (3,5), (5,5), (5,4). Стрелками показано направление обхода цикла. 91
Таблица 11.1 Хпн поХ Bi в2 В3 в4 В5 В6 Запасы Ai Си С|2 с 13 см С|5 С|б О. а2 Qi с22 С23 С24 С25 *-"26 а2 ^з С31 С 32 С33 С34 С 35 С36 «3 А4 С4, С 42 С 43 С44 С45 С 46 а4 ^5 С51 С52 с 53 С 54 С55 С56 Заявки &2 &3 Ь4 ^6 т п Z'a.=Z'bl 1=1 1=1 ' Таблица 11.2 "хпн поХ в, в2 В3 В4 В5 В6 Запасы °| 41 с„ О 1 С13 С|4 С15 С|6 01 д2 С2| С22 с23 С 24 С25 С26 а2 Лз — С31 С32 С 33 4- С34 С35 х Оз —* + а4 С4, С42 С43 С44 С45 С46 а4 4s С51 С52 С53 С54 С55 С56 «5 + Заявки Ь) bi ь2 Ьз Ь4 Ь6 ГарГй) i=i j=i 1 92
Нетрудно убедиться, что каждый цикл имеет четное число вершин и, значит, четное число звеньев (стрелок). Условимся отмечать знаком «+» те вершины цикла, в которых пе- ревозки увеличиваются, а знаком «—» — те вершины, в которых они уменьшаются. Цикл с отмеченными вершинами будем называть «означенным». В табл 11.2 показано два означенных цикла: первый Щ с четырьмя вершинами (1,1), (1,2), (3,2) и (3,1) и второй Цг с восемью вершинами (3, 4), (3,6), (5, 6), (5,3), (2,3), (2,5), (4,5) и (4,4). Перенести («перебросить») какое-то количество единиц гру- за по означенному циклу — это значит увеличить перевозки, стоящие в положительных вершинах цикла, на это количество единиц, а пере- возки, стоящие в отрицательных вершинах — уменьшить на то же ко- личество. Очевидно, при переносе любого числа единиц по циклу рав- новесие между запасами и заявками не меняется: по-прежнему сумма перевозок в каждой строке равна запасам этой строки, а сумма пере- возок в каждом столбце — заявке этого столбца. Таким образом, при любом циклическом переносе, оставляющем перевозки неотрицатель- ными, допустимый план остается допустимым. Стоимость же плана при этом может меняться — увеличиваться или уменьшаться. Назовем ценой цикла увеличение стоимости перевозок при перемещении одной единицы груза по означенному циклу. Очевидно, цена цикла равна алгебраической сумме стоимостей, стоящих в вер- шинах цикла, причем стоимости, стоящие в положительных вершинах, берутся со знаком «+», а в отрицательных — со знаком «—». Напри- мер, для цикла Цх в табл. 11.2 цена равна: С11 С12 + С32 С31 > а для цикла Ц2 С34 С3в +С5в С53~ЬС23 С25 4* С45 С44’ Обозначим цену цикла Ц через у. При перемещении одной едини- цы груза по циклу Ц стоимость перевозок увеличивается на величину у; при перемещении по нему k единиц груза стоимость перевозок уве- личивается на ky. Очевидно, для улучшения плана имеет смысл перемещать пере- возки только по тем циклам, цена которых отрицательна. Каждый раз, когда нам удастся совершить такое перемещение, стоимость плана уменьшается на соответствующую величину ky. Так как перевозки не могут быть отрицательными, мы будем поль- зоваться только такими циклами, отрицательные вершины которых лежат в базисных клетках таблицы, где стоят положительные пере- возки*). Если циклов с отрицательной ценой в таблице больше не оста- лось, это означает, что дальнейшее улучшение плана невозможно, т. е. оптимальный план достигнут. *) В случае вырождения, как мы увидим далее, может оказаться полезным фик- тивный перенос по циклу, отрицательная вершина которого лежит в клетке с нулевой перевозкой. 93
Метод последовательного улучшения плана перевозок и состоит в том, что в таблице отыскиваются циклы с отрицательной ценой, по ним перемещаются перевозки, и план улучшается до тех пор, пока циклов с отрицательной ценой уже не останется. При улучшении плана циклическими переносами, как правило, пользуются приемом, заимствованным из симплекс-метода: при каж- дом шаге (цикле) заменяют одну свободную переменную на базисную, т. е. заполняют одну свободную клетку и взамен того освобождают одну из базисных клеток. При этом общее число базисных клеток остается неизменным и равным т 4- п — 1. Этот прием удобен тем, что для не- го легче находить подходящие циклы. Можно доказать, что для любой свободной клетки транспортной таблицы всегда существует цикл (и притом единственный), одна из вершин которого лежит в этой свободной клетке, а все остальные — в базисных клетках. Если цена такого цикла, с плюсом в свободной клетке, отрицательна, то план можно улучшить перемещением пере- возок по данному циклу. Количество единиц груза k, которое можно переместить, определяется минимальным значением перевозок, стоя- щих в отрицательных вершинах цикла (если переместить большее чис- ло единиц груза, возникнут отрицательные перевозки). Пример 1. Найти оптимальный план для транспортной задачи, приведен- ной в табл. 11.3. Таблица 11.3 \пн по\ в, В2 в3 в4 Запасы а, а, ю 7 6 8 31 Л2 5 6 5 4 4'8 Аз 8 7 6 7 38 Заявки Ь1 22 34 41 20 117 Решение. Составляем опорный план способом северо-западного угла (табл. 11.4). Стоимость этого плана равна: Щ = 22-10 4- 9-7 4- 25-6 4- 23-5 4- 18-6 4- 20-7 = 796. Число базисных переменных, как и полагается в невырожденном случае, равно г = т + п — 1 = 34*4 — 1 = 6. Попробуем улучшить план, заняв свободную клетку (2,4) с минимальной стоимостью 4. Цикл, соответствующий этой клетке, показан в табл. 11.4. Цена этого цикла равна у = 4 — 74-6 — 5 = —2. По этому циклу мы можем переместить максимум 20 единиц груза (чтобы не получить в клетке (3,4) отрицательной перевозки) Новый, улучшенный план показан в табл 11.5 94
Таблица if. б \пн пох в. в2 В3 в4 Запасы °. а. 10 22 7 9 6 8 31 а2 5 6 25 5 23Г- 4 48 Аз 8 7 6 18 b 7 —‘20 38 Заявки 61 22 34 41 20 117 Таблица ft. 5 \пн пох в, в2 В3 В4 Запасы а, А< 22 10 7 9 6 8 31 а2 5 6 5 4 20 — 25 3 48 А3 8 7 38 6 7 38 Заявки 22 34 41 20 117 Таблица 11.6 в. в2 В3 В4 Запасы А. ю 7 31 6 8 31 а2 5 22 6 3 5 3 4 20 48 4з 8 7 6 38 7 38 Заявки Ь> 22 34 41 20 117 95
Таблица 11.7 \пн по\ В2 в3 Запасы ai л ю 5 4 40 д2 6 4 5 23 Аз 7 3 8 20 Заявки bJ 20 20 43 83 Таблица 11.8 \пн по\ В\ В2 В3 Запасы а. А, 10 20 20 5 4 4 е 40 + е а2 6 4 б 23 23 ^з 7 3 6 120-е 20-е — Заявки 20 20 43 83 Таблица 11.9 \пн по\ в. В2 В3 Запасы °! А1 20 10 б е + 4 20 40 + £ а2 6 4 5 23 23 А3 7 3 20-е 6 20-е Заявки Ь> 20 20 43 83 96
Стоимость этого плана = 796 + 20-(—2) = 756. В нем по-прежнему шесть базисных клеток. Для дальнейшего улучшения плана обратим внимание на свободную клет- ку (2,1)со стоимостью 5. Цикл, соответствующий этой клетке, показан в табл. 11.5; цена его 7—6+5 — 10= —4 По этому циклу переместим 22 единицы груза, чем уменьшим стоимость перевозок до L3= 756 + 22 •(—4) = 668 (см. табл. 11.6). Попробуем дальше улучшить этот план, подсчитывая цены циклов, начи- нающихся положительной вершиной в свободной клетке. Просматриваем имею- щиеся свободные клетки табл. 11.6 и определяем цену цикла для каждой из них. Все эти цены (предоставляем читателю проверить это) или положительные, или нулевые, следовательно, никакое циклическое перенесение перевозок не может улучшить план перевозок. Таким образом, план, данный в табл. 11.6, является оптимальным. Примененный выше метод отыскания оптимального решения транспортной задачи называется распределительным; он состоит в непосредственном отыскании свободных клеток с отрица- тельной ценой цикла и в перенесении перевозок по этому циклу. Пример 2. Найти оптимальный план перевозок для ТЗ, условия которой приведены в табл. 11.7. Решение. Строим опорный план способом северо-западного угла; он полу- чается вырожденным. Чтобы избежать этого, нарушаем баланс запасов и заявок на е в первой и третьей строках, не нарушая общего баланса (сумма запасов равна сумме заявок). После этого строим опорный план также способом северо-запад- ного угла (табл. 11.8), в нем ровно столько базисных переменных, сколько нуж- но: пять. Улучшаем план перевозок переносом 20 — е единиц груза по циклу, показанному в табл. 11.8; получим новый, лучший план (см. табл. 11.9). План, приведенный в табл. 10.9, еще не оптимален, так как цикл с началом в свободной клетке (2,1) имеет отрицательную цену: у == 6 — 5 + 4 — 10 = —5. Перемещаем по этому циклу 20 единиц груза; получим табл. 11.10. Цена цикла, начинающегося в клетке (2,2) табл. 11.10, также отрицательна: 4 — 5+4 — 5 = —-2. Однако, по этому циклу можно перенести только пере- возку, равную 8. Тем не менее, сделаем это и получим новый план (см.табл. 11.11). В табл. 11.11 все циклы, соответствующие свободным клеткам, имеют не- отрицательную цену, поэтому план, приведенный в табл. 11.11, является опти- мальным. Полагая в нем 8 = 0, получим окончательный оптимальный план (табл 11.12) с минимальной стоимостью перевозок Lmln=40.4 + 20-6 + 3-5 + 20-3= 355. Заметим, что примененный здесь метод «ликвидации вырождения» путем е-изменения запасов не совсем удобен, так как требует допол- нительных действий с 8-измененными данными. Проще было бы при заполнении табл. 10.8 не изменять запасы, а «вообразить» их себе из- мененными и вместо 8 поставить в базисной клетке (3,3) просто нуль. Базисная клетка с нулевой перевозкой тем будет отличаться от сво- бодной, что в ней нуль проставлен, а в свободной — нет. Дальнейшие манипуляции с транспортной таблицей будут совершенно такими же, как если бы в базисных клетках стояли только положительные пере- возки, с той лишь разницей, что когда одна из отрицательных вершин цикла окажется в базисной клетке с нулевой перевозкой, нужно пере- носить по этому циклу нулевую перевозку (фиктивный перенос). Если в транспортной таблице немного (одна-две) базисных переменных об- ращаются в нуль, можно рекомендовать этот простой метод вместо 4 Зак. 573 97
Таблица 11. 1О пн ПО\ в, в2 В3 Запасы °. А, 10 £ 5 + 4 (40 40 + £ 6 20 4 5 23 а2 4- 3 А3 7 3 20-£ 6 20-е Заявки bj 20 20 43 83 Габлица 11.11 \ ПН по\ В. В2 в3 Запасы «1 А, 10 3 4 40 + £ 40 + £ а2 6 20 4 £ 5 3-£ 23 А3 7 3 20-е 6 20-£ Заявки 20 20 43 83 Таблица 11.1 Z \ПН по\ в, в2 В3 Запасы а. ' а. 10 5 4 40 40 А3 6 20 4 5 3 23 А3 7 3 20 6 20 Заявки 20 20 43 83 98
е-изменений запасов (заявок). Рекомендуем читателю самостоятельно решить пример 2 таким упрощенным способом. Следует иметь в виду, что при большом количестве базисных переменных, обращающихся в нуль, упрощенный метод становится менее удобным, так как легко запутаться с расстановкой по таблице нулевых базисных перевозок (т. е. ошибочно проставить базисные клетки там, где они находиться не могут). 12. РЕШЕНИЕ ТРАНСПОРТНОЙ ЗАДАЧИ МЕТОДОМ ПОТЕНЦИАЛОВ Распределительный метод решения ТЗ, с которым мы познакоми- лись в предыдущем параграфе, обладает одним недостатком: нужно отыскивать циклы для всех свободных клеток и находить их цены. От этой трудоемкой работы нас избавляет специальный метод решения ТЗ, который называется методом потенциалов. Этот метод позволяет автоматически выделять циклы с отрицательной ценой и оп- ределять их цены. Пусть имеется транспортная задача с балансовыми условиями 2 xtJ = at (i=l......m); ^хи = Ь} (/ = 1.........п), (12.1) /=i i=i причем т п 2 = 2 bj. 1 = 1 j-1 Стоимость перевозки единицы груза из At в Bj равна cfj; таблица стоимостей (сц) задана. Требуется найти план перевозок (xtj), который удовлетворял бы балансовым условиям(12.1), и при этом стоимость всех перевозок была минимальна: £=2 2 cf/xo = min. (12.2) t=i i=i Идея метода потенциалов для решения ТЗ сводится к следующе- му. Представим себе, что каждый из пунктов отправления А( вносит за перевозку единицы груза (все равно, куда) какую-то сумму аг; в свою очередь, каждый из пунктов назначения В; также вносит за перевозку единицы груза (куда угодно) сумму Ру; эти платежи передаются не- которому третьему лицу («перевозчику»). Обозначим (t = l, .... т; /=!,...,«) (12.3) и будем называть величину ctj «псевдостоимостью» перевозки единицы груза из Aj в Bj. 4* 99
Заметим, что платежи ctt, не обязательно должны быть Положи- тельными: не исключено, что «перевозчик» сам платит тому или дру- гому пункту какую-то премию за перевозку. Обозначим для краткости всю совокупность платежей а1( .... ат, Рь ..., через (аг, Р;). Не уточняя пока вопроса, из каких соображе- ний назначаются эти платежи, докажем прежде всего одно общее по- ложение или «теорему о платежах». Она состоит в следующем. Для заданной совокупности платежей (ait PJ суммарная псевдо- стоимость перевозок т п £=2 2 > = i /=i при любом допустимом плане перевозок (xi}) сохраняет одно и то же значение L — C — const. (12.4) В этой формуле величина С зависит только от совокупности пла- тежей (ah Pj), но н е зависит от того, каким именно допустимым планом (xtj) мы пользуемся. Докажем это положение. Имеем: т п т п А = 2 2 Сц Хц — 2 2 (а1 + РЛ хи — i=l /=1 Z=1 /=1 т п т п = 2 2 “г хи + 2 2 ?Чха- (12.5) 1=1 /=1 /=1 1=1 Преобразуем первую из двойных сумм в выражении (12.5). Выне- сем at из-под знака суммы по /: т п т п 2 2 хи = 2 «г 2 Хц- z=i / = 1 <=1 /=1 Но план (хг,) является допустимым, значит, для него выполняется балансовое условие: п 2 xii=^i> <=1 откуда т п т 2 агаг. (12.6) /=1 /=1 z=i Аналогичным образом преобразуем второе слагаемое в (12.5): т п пт 2 2 Pj Хц = 2 2 Р; Хц = i=l i=\ /=1 (= I пт п = 2 Р/ 2 XU= 2 Р;&;. (12.7) /=1 /=1 /=1 100
Подставляя (12.6) и (12.7) в (12.5), получим: т п >п п L— 2 cij xij = ai ai + (12.8) <=i /=i ;=i /=| В формуле (12.8) правая часть не зависит от плана перевозок (хгу), а зависит только от запасов (аг), заявок (bj) и платежей (af, Ру). Таким образом, мы доказали, что суммарная псевдостоимость лю- бого допустимого плана перевозок при заданных платежах (аг, Ру) о д- на и та же и от плана к плану не меняется. До сих пор мы никак не связывали платежи (аг, Ру) и псевдостои- мости сгу =а, + Ру с истинными стоимостями перевозок сгу. Теперь мы установим между ними связь. Предположим, что план (х,у) невырожденный (число базисных клеток в таблице перевозок равно т + п — 1). Для всех этих клеток х^ > 0. Определим платежи (аг, Ру) так, чтобы во всех базисных клет- ках псевдостоимости были равны стоимостям: О/ = аг + Ру = сгу при хгу> 0; что касается свободных клеток (где хц = 0), то в них соотношение между псевдостоимостями и стоимостями может быть какое угодно: си-, сц<си или cl}>ctJ при xl7=0. Оказывается соотношение между псевдостоимостями и стоимостя- ми в свободных клетках показывает, является ли план оптимальным, или же он может быть улучшен. Докажем следующую теорему. Теорема. Если для всех базисных клеток, плана (хгу>0) + = с2у = Сц, а для всех свободных клеток (х;у = 0) ai +Р/= Cii < cib то план является оптимальным и никакими способами улучшен быть не может. Доказательство. Обозначим (хгу)— план с соответствующей ему системой платежей (аг, Ру), обладающий указанным выше свойством (для всех базисных клеток псевдостоимости равны стоимостям, а для свободных — не превосходят их). Определим стоимость этого плана: т п 2 2 сах1}. (12.9) !=1 7=1 В сумме (12.9) отличны от нуля только слагаемые, соответству- щие базисным клеткам, в них стоимости равны псевдостоимостям. По- этому т п 1=2 2оуХо. (12.10) I — 1 / = 1 101
На основании ранее доказанного, эта сумма (при данной системе платежей) равна некоторой константе С (см. (12.4)): т п Ь= 2 (12.11) (=1 ,= 1 Теперь попробуем изменить план (xj7), заменив его каким-то другим планом (х/>). Обозначим стоимость нового плана т п £'=2 ЪсцХЧ, (12.12) Z= 1 /—1 где xi, — новые перевозки, отличные от нуля, вообще говоря, в дру- гих клетках, чем х;7. Некоторые из этих клеток совпадают с прежни- ми — базисными для плана (хо), а другие — со свободными для пла- на (xi}). В первых — стоимости ctj по-прежнему равны псевдостои- мостям, а во вторых — не меньше их: си си- Поэтому сумма (12.12) не может быть меньше, чем сумма (12.11) (она же 12.9): т п т п т п L' = 2 2 2 2 ~а/х'ц = 2 2 ~сцхц=С=Ь. (12.13) 1=1 /=1 /=1 , = 1 ;=1 /=1 Мы видим, что никаким изменением плана (хц) его стоимость не может быть уменьшена; значит, план (xi7) является оптимальным и теорема доказана. Нетрудно показать, что эта теорема справедлива также для вы- рожденного плана, в котором некоторые из базисных переменных рав- ны нулю. Действительно, то, что в базисных клетках перевозки строго положительны, для доказательства несущественно: достаточ- но, чтобы они были неотрицательными. Таким образом, доказано, что признаком оптимальности плана (хц) является выполнение двух условий: си = сц для всех базисных клеток; (12.14а) СИ^-СИ для всех свободных клеток. (12.146) План, обладающий таким свойством, называется потенциаль- ным, а соответствующие ему платежи (аг, (37) — потенциала- ми пунктов Аг, В} (i = l, т\ j=l, ..., п). Пользуясь этой терминологией, доказанную выше теорему можно сформулировать так: Всякий потенциальный план является оптимальным. Итак, для решения транспортной задачи нам нужно одно — по- строить потенциальный план. Оказывается, его можно построить мето- дом последовательных приближений, задаваясь сначала какой-то про- извольной системой платежей, удовлетворяющей условию (12.14 а). При этом в каждой базисной клетке получается сумма платежей, рав- 102 *
ная стоимости перевозок в данной клетке; затем, улучшая план, сле- дует одновременно менять систему платежей так, что они приближают- ся к потенциалам. При улучшении плана нам помогает следующее свойство плате- жей и псевдостоимостей: Какова бы ни была система платежей (аг, Р;), удовлетворяющая условию (12.14 a), для каждой свободной клетки цена цикла пере- счета равна разности между стоимостью сц и псевдостоимостью ci} в данной клетке; (12.15) Таблица 12.1 Хпн поХ В\ В2 В3 в4 В, В6 А» с„ с |2 С 1з С |4 С15 С16 С 21 С 22 С23 С24 С25 с 26 С31 С 32 С33 С34 С35 С зе — Д4 с4, С42 С43 С44 С45 ’-'46 а5 С51 С52 С53 С54 С 55 С56 Действительно, рассмотрим какую-то транспортную таблицу, например т = 5, п = 6 (табл. 12.1). Не будем проставлять в этой таблице ни запасов, ни заявок, ни перевозок (они не будут нам нужны), просто отметим (обведем жир- ной линией) базисные клетки. Возьмем любую свободную клетку, например (1.5), и построим соответствующий ей цикл пересчета, положительная вершина которого лежит в этой свободной клетке, а все остальные — в базисных. Опре- делим цену этого цикла. Она равна 715 =^15 4)5 4" 4)3 ^23 "Ь ^22 4.2- Но для всех базисных клеток стоимости равны псевдостоимостям, поэтому Yu = с1з — (а3 4 Рз) + (“з + РЛ) - (а2 + Ря) 44<*2 4- Р2) — -- (а| 4- Рг) = С15 (а1 4" Рз) = С13-С15> 103
т. е. цена цикла, начинающегося в свободной клетке (1, 5) равна раз- ности стоимости с15 и псевдостоимости с18 в этой клетке. Очевидно, то же будет справедливо и для любой свободной клетки. Таким образом, при пользовании методом потенциалов для реше- ния ТЗ отпадает наиболее трудоемкий элемент распределительного метода: поиски циклов с отрицательной ценой. Процедура построения потенциального (оптимального) плана состоит в следующем. В качестве первого приближения к оптимальному плану берется любой допустимый план (хотя бы построенный способом северо-за- падного угла). В этом плане т + п — 1 базисных клеток, где т — число строк, п — число столбцов транспортной таблицы. Для этого плана можно определить платежи (а{-, Р;), так, чтобы в каждой базис- ной клетке выполнялось условие: аг + Р;=сг7. (12.16) Уравнений (12.16) всего т + п — 1, а число неизвестных равно т + п. Следовательно, одну из этих неизвестных можно задать произвольно (например, равной нулю). После этого из т + п — 1 уравнений (12.16) можно найти остальные платежи ait (Зу, а по ним вычислить псевдостоимости: С,;=аг+ 0; для каждой свободной клетки. Если оказалось, что все эти псевдостои- мости не превосходят стоимостей ~сц<са, (12.17) то план потенциален и, значит, оптимален. Если же хотя бы в одной свободной клетке псевдостоимость больше стоимости си>си> то план не является оптимальным и может быть улучшен переносом перевозок по циклу, соответствующему данной свободной клетке. Цена этого цикла равна разности между стоимостью и псевдостоимостью в этой свободной клетке. Итак, мы приходим к следующему правилу (алгоритму) решения транспортной задачи методом потенциалов. 1. Взять любой опорный план перевозок, в котором отмечены т + п — 1 базисных клеток (остальные клетки — свободные). 2. Определить для этого плана платежи (аг, [Ц) исходя из усло- вия, чтобы в любой базисной клетке псевдостоимости были равны стои- мостям: аг + р; = сг7. (12.18) Один из платежей можно назначить произвольно, например, положить равным нулю. 1(Ц
3. Подсчитать псевдостоимости — аг + рг для всех свободных клеток. Если окажется, что все они не превышают стоимостей, то план оптимален. 4. Если бы хотя в одной свободной клетке псевдостоимость пре- вышает стоимость, следует приступить к улучшению плана путем пе- реброски перевозок по циклу, соответствующему любой свободной клетке с отрицательной ценой (для которой псевдостоимость больше стоимости). 5. После этого заново подсчитываются платежи и псевдостоимос- ти, и, если план все еще не оптимален, процедура улучшения продол- жается до тех пор, пока не будет найден оптимальный план. Таблица /2.2 \пн по\ 5, В2 В3 в4 в5 Запасы 01 А, 10 17 8 8 9 6 5 25 А-2 5 6 13 4 19 3 8 32 9 7 5 22 4 14 3 4 40 14 10 8 8 8 20 20 Заявни 17 21 41 14 24 117 Понятиям «платежей» и и «псевдостоимостей» можно дать нагляд- ную экономическую интерпретацию. Представим себе, что (аг, |jj7)—реальные платежи, которые пункты А( и Bj платят за перевозку единицы груза какому-то третьему лицу («перевозчику»). Не будем противопоставлять интересов А и В — пусть они действуют как единая экономическая система. Перевозка единицы груза из пункта At в пункт Bj объективно стоит с,у, а стороны А и В вместе платят за эту перевозку «перевозчику» сумму Сц = аг + Р;. Оптимальным будет такой план перевозок, при котором пункты Аг, Bj не переплачивают «перевозчику» ничего сверх объективной стои- мости перевозок, т. е. такой план, любое отступление от которого невыгодно для компании А, В — оно заставит их платить за перевоз- ки больше, чем если бы они возили грузы сами. Продемонстрируем применение метода потенциалов для решения ТЗ на конкретном примере. Пример 1. Решить методом потенциалов ТЗ, заданную в табл. 12.2, где проставлен первый опорный план, составленный по способу северо-западного угла. 105
Решение. Приписываем к табл 12 2 снизу добавочную строку для платежей Ру, справа — добавочный столбец для платежей а, (см табл. 12.3) Псевдостои- мости с;; = а; + Ру записываем в левом верхнем углу каждой клетки, а стои- мости — в правом верхнем углу. Один из платежей, например alt выбираем про- извольно, полагая, скажем, ах==0 Для каждой базисной клетки псевдостоимость ci} = at + Ру должна быть равна стоимости с;у. Полагая а1 = 0, находим из условия сц + Pi = 10; 0 + Pi = 10; Рг = 10, а из условия а1 + р2 = 0 + Р2 = 8; р2 = 8 Таблица 12.3 \пн по\ в2 в3 в4 в5 Запасы ai Платежи а1 ^1 10 17 10 8 8 8 + 6 9 5 6 4 5 25 0 а2 8 + 5 6 6 13 4 4 19 3 3 2 8 32 -2 9 9 7 7 5 5 22 4 4 14 3 3 4 40 -1 А4 14 14 12 10 10 8 9 8 8 8 20 20 4 Заявки Й1 17 21 41 14 24 117 Платежи h 10 8 6 5 4 Продолжая эту процедуру, находим: а2 + Р2 = а2+8=6, а2=— 2) —2 + Рз=4; Рз=6; а3-|-6 = 5; а3=—lj —-1+Р« = 4; р4 = 55 ^1+рБ=3; р6 = 4) а4-|-4 = 8; а4=4. Так как не все псевдостоимости в свободных клетках табл. 12.3 удовлет- воряют условию (12.17), план, приведенный в табл. 12.3, ие является оптималь- ным Попробуем улучшить его, переводя в базисные одну из свободных клеток, для которых ctj> Cij, например, клетку (2, 1) Строим соответствующий этой клетке цикл (показан в табл. 12.3). Цена этого цикла 5 — 8 = —3. Перенесем по этому циклу 13 единиц груза (больше нельзя, чтобы перевозки в клетке (2,2) не стали отрицательными), уменьшим стоимость плана на 13-3 = 39 и перейдем к табл. 12.4. Вычисляем для плана табл. 12.4 новые значения платежей, по-прежнему полагая сц = 0. Видим, что в табл. 12.4 все еще есть свободные клетки, для кото- рых 7гу>сгу, например (1, 4). Цикл для этой клетки показан в табл 12.4. Пере- нос четырех единиц по этому циклу приводит к плану, представленному (со свои- 106
Таблица 12.4 \по пн\ В, S2 S3 в4 S5 Запасы а. Платежи «1 А, 10 ю 4 8 8 21 9 9 8 6 7 5 25 0 + Аг 5 5 13 з 6 4 4 19 3 3 2 8 32 -5 Аз 6 8 4 7 в 5 22Ц 4 4 14 3 3 4 40 -4 А4 11 14 9 10 10 8 9 8 8 8 20 20 1 Заявим 61 17 21 41 14 24 117 Платежи Pi 10 8 9 8 7 Таблица <2.5 \пн по\ В| s2 S3 s4 S5 Запасы а1 Платежи “i А, 8 10 8 8 21 7 9 8 6 4 5 5 25 0 а2 5 5 17 5 6 4 4 15 3 3 2 8 32 -3 A3 6 9 6 7 5 5 26 4 4 10 3 3 4 40 -2 + а4 11 14 11 10 10 18 9 8 8 8 20 20 3 — Заявим 6J 17 21 41 14 24 117 Платежи Pi 8 8 7 6 5 Таблица I2.&t \|ПН по\ в. s2 83 s4 s5 Запасы Платежи «1 а, 8 10 8 В 21 7 9 6 6 4 5 5 25 О дг 5 5 17 5 6 4 4 15 3 3 2 8 32 -з A3 6 9 6 7 5 5 6 4 4 ю 3 3 24 40 -2 а4 9 14 9 Ю 8 9 20 7 9 6 9 20 1 Заявки Й1 17 21 41 14 24 1 17 Платежи Р, 8 8 7 6 5 107
Таблица 72t9 'Х<Г1Н по\ в, В2 Дз Запасы °! А, 6 4 2 20 а2 9 5 4 25 ^3 3 6 3 30 Заявки »> 20 25 30 75 Таблица 12.8 \ПН по\ В\ В2 В3 Запасы а. Платежи «1 А, 6 20 6 4 4 4 £ 3 2 20+г 0 д2 7 3 5 _ 5 4 + 4 25 + г 1 25—£ -"2г лз 6 , 3 4 6 3 3 ЗО-2г 0 ЗО-2г Заявки 20 25 30 75 Платежи 6 4 3 Таблица 12.9 \пн по\ Вг в2 Bs Запасы °! Платежи ai 4] 3 6 4 4 20+г 3 2 20+е 0 — + а2 4 3 6 + 5 4 4 25 + г 1 5-е 2О + 2г 4з 3 3 20 4 6 3 3 10-2г 30-2г 0 Заявки Ь1 20 25 30 75 Платежи 3 4 3 108
Таблица 10 '\ПН по\ в, в2 в3 Запасы а, Платежи «> а. 2 6 3 4 2 2 20+е 20+е 0 д2 4 3 5 5 25 4 4 £ 25 + е 2 4- Аз 3 _ 3 4 6 3 :+ 3 ЗО-2е 1 20 10-2е Заявки Ь> 20 25 30 75 Платежи Pi 2 3 2 Таблица 12.11 \пн ПО\ в, В2 в3 Запасы Платежи ai А] 2 6 4 4 2 2 20+е 20+е 0 а2 3 3 £ 5 5 25 3 4 25 + е 1 Аз 3 3 20-е 5 6 3 3 10—Е 30-2е 1 Заявки Ь> 20 25 30 75 Платежи > j 2 4 2 Таблица 12.12 \пн по\ в. в2 в3 Запасы ai Aj 6 4 2 20 20 а2 3 5 25 4 25 Аз 3 20 6 3 10 30 Заявки 20 25 30 75 109
ми платежами и псевдостоимостями) в табл. 12.5. Этот план все еще не оптималь- ный. Перенося по циклу, соответствующему свободной клетке (4, 3),/20 единиц груза, получаем новый план (табл 12.6) с новыми платежами и псевдостоимо- стями. В табл. 12.6 уже все псевдостоимости не превосходят соответствующих стои- мостей, значит, этот план оптимален Потенциалы пунктов найдены и рав- ны соответственно: cq =0; а2 = —3; а3 = —2; а4 = 1; ₽! = 8; ₽2 = 8; р3 = 7; р4 = 6; ₽5 = 5. При анализе этих значений нельзя забывать, что одно из них (в на- шем случае о^) назначено произвольно (а4 = 0), поэтому потенциалы (или равновесные платежи) пунктов достаточно условны. Важно, что их сумма для всех перевозок, отличных от нуля, равна сумме стоимос- тей, проставленных в соответствующих клетках. Если смотреть на эти платежи не с точки зрения каждого пункта в отдельности, а с точки зрения всей «компании» пунктов (Л, В), то безразлично, какой из пунктов платит больше, а какой — меньше. Следующий пример будет посвящен вырожденному случаю. Пример 2. Решить методом потенциалов ТЗ, условия которой даны в табл. 12.7. Решение. Применяя способ северо-западного угла, получаем вырожден- ный план. Вводя е-изменения запасов, получаем опорный план с пятью базисны- ми клетками. Подсчитывая платежи (табл. 12.8), видим, что план не оптимален. Улучшаем его циклическим переносом перевозок, и т. д. Процедура улучшения плана показана в табл. 12.8, 12.9, 12.10. 12.11; план, приведенный в последней таблице, оптимален. Полагая в нем е=0, получаем окончательный оптимальный план (табл. 12.12) со стоимостью Lmln = 20-2 + 25.5 = 20-3+10-3 = 255. Заметим, что эта стоимость такая же, как стоимость плана, показанного в табл. 12.10 при е= 0; это и естественно, так как табл. 12.11 получена из табл. 12.10 переносом по циклу фиктивных е-перевозок; этот перенос не меняет стоимости плана, а нужен только для того, чтобы убедиться, что план оп- тимален. 13. ТРАНСПОРТНАЯ ЗАДАЧА С НЕПРАВИЛЬНЫМ БАЛАНСОМ До сих пор мы рассматривали только такую задачу о перевозках, в которой сумма запасов равна сумме заявок: т п Ъ( = 2 Ь}. (13.1) <= 1 /= ! Это — классическая транспортная задача, иначе называемая «транспортной задачей с правильным балансом». Встречаются такие варианты ТЗ, где условие (13.1) нарушено. В этих услучаях говорят о ТЗ с неправильным балан- сом. Баланс ТЗ может нарушаться в двух направлениях: 119
1. Сумма запасов в пунктах отправления превышает сумму подан- ных заявок: т п 5 ai > S i=l 1=1 2. Сумма поданных заявок превышает наличные запасы: п т i bj> i at. /« 1 Z = 1 Условимся первый случай называть «ТЗ с избытком запасов», а второй — «ТЗ с избытком заявок». Рассмотрим последовательно эти два случая. /. ТЗ с избытком запасов В пунктах Л1( Аг....Ат имеются запасы груза аь а2, ..., ат; пункты Ви В2, Вп подали заявки Ьь Ь2, Ьп, причем т п 2 ai > X bj. Требуется найти такой план перевозок (хц), при котором все заявки будут выполнены, а общая стоимость перевозок минимальна; S J cMxu = min. Очевидно, При этой постановке задачи некоторые условия-равенст- ва ТЗ превращаются в условия-неравенства, а некоторые — остаются равенствами: п /=i т S xu~bj 1 (i = 1, .... tn), (/ = 1........n). (13.2) Мы умеем решать задачу линейного программирования, в какой бы форме — равенств или неравенств — ни были заданы ее условия. Поставленная задача может быть решена, например, обычным симп- лекс-методом. Однако, задачу можно решить проще, если искусствен- ным приемом свести ее к ранее рассмотренной ТЗ с правильным балансом. Для этого, сверх имеющихся п пунктов назначения Въ В2, .... Вп, введем еще один, фиктивный, пункт назначения Вф, которому припишем фиктивную заявку, равную избытку запасов над заявками: tn п Ь$ — Г at — S bj 1=1 /=1 (13.3) 111
и положим стоимости перевозок из всех ПО в фиктивный ПН/ Вф рав- ными нулю: Оф = ° (i = l, tn). Таким образом, отправление какого-то количества груза хгф из пункта At в пункт Вф попросту будет означать, что в пункте Аг- оста- лись неотправленными хгф единиц груза. Введением фиктивного ПН Вф с его заявкой Ьф мы сравняли ба- ланс ТЗ, и теперь ее можно решать как обычную ТЗ с правильным балансом. 2. ТЗ с избытком заявок В пунктах Аг, А3, .... Ат имеются запасы груза а1( ..., ат; пунк- п т ты Въ ..., Вп подали заявки Ьг, .... Ьп, причем S Ь< > S а;, т. е. /-1 /=1 имеющихся запасов недостаточно для удовлетворения всех заявок. Требуется составить такой план перевозок, при котором все запа- сы окажутся вывезенными, а стоимость перевозок — минимальной. Очевидно, эту задачу также можно свести к обычной ТЗ с правильным балансом, если ввести в рассмотрение фиктивный пункт отправления Аф с запасом аф, равным недостающему запасу: п tn Яф = Ъ bj — 2аг, /=1 /=1 и положить стоимости перевозок из ПО Аф в любой ПН равными нулю: сф;- = 0 (/=1, ..., п). При этом какая-то часть заявок хф; на каждом пункте останется неудовлетворенной; будем считать, что она как бы покрывается за счет фиктивного ПО Аф. Таким образом, мы свели ТЗ с избытком заявок к ТЗ с правиль- ным балансом. Заметим, что при этом мы вовсе не заботились о «спра- ведливости» удовлетворения заявок, не налагали никаких условий на то, какую долю своей заявки должен получить каждый ПН — нас ин- тересовали лишь расходы, которые нужно минимизировать. Если поставить задачу по-иному, например, потребовать, чтобы все ;ПН были удовлетворены в равной доле, задача снова сводится к ТЗ с правильным балансом. А именно, нужно поданные заявки «ис- т п править», умножив каждую из них на коэффициент k^a^b,, 1=1 7=1 после чего решать ТЗ с правильным балансом. Можно также поставить задачу о распределении грузов по пунктам назначения с учетом сравнительной важности каждого пункта. При этом доля заявки, которую получает каждый пункт, может быть не одинаковой, как в только что описанном способе, а различной. В этом случае задача также сводится к ТЗ с правильным балансом. 112
Таблица f3. t \пн по\ в, В2 в3 Запасы а\ л 5 7 6 50 д2 6 6 5 40 A3 8 4 б 20 Заявки *1 18 21 33 Таблица /3.2 \пн по\ в. В2 Вз Вф Запасы Платежи а( а, 5 5 18 7 7 21 6 6 11 - 1 0 + 50 0 а2 4 6 6 6 5 5 22 + 0 0 - 18 40 -1 Аз 4 8 6 4 5 5 0 0 20 20 -1 Заявки 18 21 33 38 110 Платежи 5 7 6 1 Таблица 63.3 \ПН по\ в, в2 В3 Вф Запасы Платежи «1 А, 5 5 18 7 21 7 5 6 0 0 11 50 0 А? 5 6 7 6 5 5 33 0 0 7 40 0 Аз 5 8 7 4 5 5 0 0 120 20 0 + — Заявки 18 21 33 38 110 Платежи 5 7 5 0
Таблиц^ /3. * пн по\ Bi в2 В3 вф Запасы ai Платежи а1 А, 5 5 18 7 1 7 5 6 0 0 31 50 0 — 4- Д2 5 6 7 6 5 5 33 0 0 7 ’ 40 0 — А3 2 8 4 4 20 2 5 -3 о 20 -3 Заявки 18 21 33 38 110 Платежи 5 7 5 0 Таблица /3.5 \ПН П0\ в. В2 в3 Вф Запасы а, Платежи а1 Л, 5 5 18 е 7 5 6 0 0 32 50 0 а2 5 6 в в 1 5 5 33 0 0 6 40 ' 0 А3 3 8 4 4 20 3 5 -2 0 20 -2 Заявки 1 18 21 33 38 110 Платежи _Л_1 5 ' 6 5 0 1 Пример. Решить ТЗ с избытком запасов, условия которой заданы в табл. 13.1. Решение. т п 2^ = 110} 26>=72> I = 1 / SB 1 114
разница между запасами и заявками равна 2 at— 2 bi~ 110—72 = 38. »= 1 |=i Введением фиктивного ПН5ф с заявкой Ьф = 38 сводим задачу к ТЗ с правильным балансом (см. табл. 13.2, 13.3, 13.4, 13.5). План, представленный в табл. 13.5, является оптимальным, так как во всех свободных клетках псевдостоимости не превосходят стоимостей. Согласно этому плану, из 50 единиц груза, имеющихся в пункте Alt не перевозятся 32, а осталь- ные 18 направляются в пункт Вх; из 40 единиц, имеющихся в пункте Д2> 6 не пе- ревозятся, 1 отправляется в пункт Вг и 33 — в пункт В3. Все 20 единиц, имею- щихся в пункте Л3, направляются в пункт В %. 14. РЕШЕНИЕ ТРАНСПОРТНОЙ ЗАДАЧИ ПО КРИТЕРИЮ ВРЕМЕНИ До сих пор критерием оптимальности решения ТЗ у нас была об- щая стоимость перевозок, и мы стремились эту стоимость минимизи- ровать. В большинстве случаев практики именно критерий стоимости яв- ляется главным, определяющим качество (эффективность) плана пере- возок. Однако в некоторых случаях иа первый план выдвигается не стоимость перевозок L, а время Т, в течение которого все перевозки бу- дут закончены. Так, например, бывает, когда речь идет о перевозках скоропортящихся продуктов или же о подвозе боеприпасов к месту боевых действий. Наилучшим планом перевозок (хц) будет считаться тот план, при котором время окончания всех перевозок минимально: T = min. (14.1) Такая транспортная задача, где оптимальным считается план с ми- нимальным временем Т, называется транспортной задачей по крите- рию времени. Задача ставится следующим образом. Имеется т пунктов отправ- ления Аъ ..., Ат с запасами ах.......ат -и п пунктов назначения В], ..., Вп с заявками Ь1г .... Ьп; сумма запасов равна сумме заявок: т п 2 «; = 2 bj. (14.2) /=i /=1 Заданы времена перевозок tiS из каждого ПО Аг в каждый ПН В у, предполагается, что они не зависят от количества перевозимого груза xtj, т. е. количество транспортных средств всегда достаточно для осуществления любого объема перевозок. Запасы а,, заявки bj и времена ttj приведены в табл. 14.1, построенной так же, как обычная транспортная таблица, с той разницей, что в правом верхнем углу каж- дой клетки вместо стоимостей стоят времена ti}. 115
Таблица №. 1 ХПИ по\ В, B2 • » • • • Bn Запасы «1 а, tn 112 • • * * . • tin а2 121 122 • • • • » t2n a2 е * * • • • • ♦ « • i • • ^т t ml *m2 • • « • » tmn Заявки 62 • • * • • b„ m n i=i j=i J Требуется выбрать перевозки (хц) таким образом, чтобы удовлет- ворялись балансовые условия п X хц=Щ 7=1 т 2 ха = Ь} t= 1 (* = 1.......т), (j= 1, .... п), (14.3) и, кроме того, обращалось в минимум время окончания всех пере- возок Т. Выразим время Т через времена ti} и перевозки xtj. Так как все перевозки заканчиваются в момент, когда кончается самая длительная из всех перевозок, то время Т есть максимальное из всех времен ttj, стоящих в ячейках, содержащих ненулевые перевозки. Запишем это в виде формулы: T = maxt<;, (14.4) > ° где знак Хц > 0 показывает, что берется максимальное не из всех ttj, а только из тех, для которых перевозки отличны от нуля. Мы хотим найти такой план перевозок для которого время Т обращается в минимум: 7 = max /j=min. (14.5) Поставленная задача не является задачей линей- ного программирования, так как величина Т — не ли- 116
нейная функция переменных xt). Эту задачу можно свести к решению задач линейного программирования, но не одной, а нескольких. Од- нако, мы не будем заниматься таким сведением, а продемонстрируем расчетный метод, позволяющий непосредственно найти оптимальное решение ТЗ по критерию времени преобразованием транспортной таб- лицы. Этот метод называется «методом запрещенных клеток». Проще всего будет пояснить его на примере. Пример. Условия ТЗ по критерию времени (запасы, заявки и времена перевозок) даны в табл. 14.2. Требуется найти план перевозок, укладывающийся в минимальное время, и указать это время. Решение. Начальный план перевозок можно было бы, как мы и де- лали раньше, составить способом северо-западного угла, но мы видим что при этом получится (за счет клетки (1,1)) очень большое время Т= 10. Попытаемся этого избежать, «запретив» себе ставить отличные от нуля перевозки в клетки (1,1) и (4,1), где стоят самые большие вре- мена в таблице (Zu = 10 и = 11). Перечеркнем в табл. 14.3 эти клет- ки и составим новый план перевозок так, чтобы в первую очередь за- нимать клетки с малыми временами. В плане (табл. 14.3) время окончания всех перевозок равно 8 — оно достигается в клетке (3, 2). Попробуем улучшить план, запретив себе Для дальнейшего использования все клетки, где время ti} 8, и перечеркнув эти клетки. Перенесем 14 единиц Груза по циклу, ука- занному в табл. 14.3; этим мы устраним перевозки со временем 8. По- лучится план, приведенный в табл. 14.4, со временем окончания Т = 7 (клетка (3, 3)). Чтобы еще улучшить этот план, нам нужно устранить перевозки из клетки (3, 3), запретив, кроме того, перенос в клетку (1, 5), со- держащую то же время. 7 из 13 единиц, стоящих в клетке (3, 3), устраняем переносом по циклу, показанному в табл. 14.4. Новый план приведен в табл. 14.5. Таблица гь.г \пн по\ В, В2 в3 в, В5 Запасы А-\ 10 8 5 6 7 25 а2 5 6 8 8 9 34 A3 4 8 7 8 5 42 А4 11 4 5 8 9 23 Заявки &1 21 37 40 11 15 124 П7
Таблица ff.3 \пн псХ. Bt в2 Вз в4 в8 Запасы 1, л Ч ioJ 5 25 6 7 25 д2 21 5 6 8 2 е И х х9 34 A3 + 4 8 14 7 13 5 15 42 А< 4 23 б X /8 X х9 23 Заявки 21 37 40 и 15 124 Таблица /4.4 \ПН поХ Bi В3 В4 В5 Запасы ai А, х^х X X8 5 25 6 х х7 25 а2 5 ’-г 6 14 6 2 е 11 \ X9 34 Аз 41 7 13 X /8 5 15 42 +*г — Ад X X 4 23 5 X /8 23 Заявки bi 21 37 40 11 15 124 Таблица fb 5 Хпн поХ В| В2 в3 в4 В, Запасы а, А| Х*х° X ,8 5 25 6 X х7 25 а2 5 6 21 6 2 6 11 X /9 34 Аз 4 21 X /8 7 6 5 15 42 а4 Х^\. 4 16 5 7 X ^8 X /9 23 Заявки &1 21 37 40 11 15 124 118
Попробуем избавиться от оставшихся 6 единиц в клетке (3,3) пу- тем их циклического переноса. Для этого испробуем все возможные переносы из этой клетки, начинающиеся горизонтально или верти- кально. Горизонтальный перенос в клетку (3,5) исключен, так как стол- бец 5 не содержит не запрещенных клеток. Горизонтальный перенос в клетку (3,1) также исключен, так как для этого пришлось бы умень- шить перевозки в клетке (2,1), что невозможно. Вертикальный перенос, как можно убедиться непосредственно, также не дает ни одного цикла, уменьшающего время перевозок. Из этого мы делаем заключение, что план перевозок, данный в табл. 14.5, оптимален, и минимальное время перевозок равно
3 ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 1. ЗАДАЧИ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ Динамическое программирование (иначе, «динамическое планиро- вание») представляет собой особый математический метод оптимизации решений, специально приспособленный к многошаговым (или многоэтапным) операциям. Представим себе, что исследуемая операция О представляет собой процесс, развивающийся во времени и распадающийся на ряд «шагов» или «этапов». Некоторые операции расчленяются на шаги естественно: например, при планировании хозяйственной деятельности группы предприятий естественным шагом является хозяйственный год. В дру- гих операциях разделение на шаги приходится вводить искусственно; например, процесс вывода ракеты на космическую орбиту можно ус- ловно разбить на этапы, каждый из которых занимает какой-то вре- менной отрезок Д/. Процесс, о котором идет речь, является управляемым, т. е. на каждом шаге принимается какое-то решение, от которого зави- сит успех данного шага и операции в целом. Управление операцией складывается из ряда элементарных, «шаговых» управлений. Рассмотрим пример естественно-многошаговой операции О. Пусть планируется деятельность группы (системы) промышленных предприя- тий П1, П2, .... Пь на некоторый период времени Т, состоящий из m хозяйственных лет (рис. 3.1). В начале периода на развитие системы предприятий выделяются какие-то основные средства Ко, которые должны быть как-то распреде- лены между предприятиями. В процессе функционирования системы выделенные средства частично расходуются (амортизируются). Кроме того, каждое предприятие за год приносит некоторый доход, зависящий от вложенных средств. В начале каждого хозяйственного года имею- щиеся средства могут перераспределяться между предприятиями: каждому из них выделяется какая-то доля средств. Ставится вопрос: как нужно в начале каждого года распределять имеющиеся средства между предприятиями, чтобы суммарный доход от всей системы предприятий за весь период Т = т был максимальным? 1-й год Z-й год i-u год т-й год —I----1-----1----1----j----J----1-----1____1_ О 1 2 i-1 i m-i т=т t Рис. 3.1 120
Перед нами — типичная задаче динамического про граммирования. Рассматривается управляемый процесс — функционирование си стемы предприятий. Управление процессом состоит в распреде- лении (и перераспределении) средств. Шагом управления является выделение каких-то средств каждому из предприятий в начале хозяй- ственного года. Пусть в начале г-го года предприятиям Пь П2, ..., Пй выделяются соответственно средства: X-1) Х^ Х{к} Совокупность этих значений представляет собой не что иное, как управление на z-м шаге: [/(= (Х,(1>, Х}2>.X\k}). (1.1) Управление U операцией в целом представляет собой совокупность всех шаговых управлений: U=^U1,U2.....ит). (1-2) Управление может быть хорошим или плохим, эффективным или неэффективным. Эффективность управления U оценивается тем же показателем W, что и эффективность операции в целом. В нашем при- мере показатель эффективности (целевая функция) представляет собой суммарный доход от всей системы предприятий за т лет. Он зависит от управления операцией U, т. е. от всей совокупности шаговых управ- лений: Г = Г(1/) = Г([/1,С72..Um). - (1.3) Возникает вопрос: как выбрать шаговые управления Uy U2.Um для того, чтобы величина W обратилась в максимум? Поставленная задача называется задачей оптимизации управления, а управление, при котором показатель W дости- гает максимума, — оптимальным управлением. Будем обозначать оптимальное управление (в отличие от управления вообще U) буквой и. Оптимальное управление и многошаговым процессом состоит из совокупности оптимальных шаговых управлений: и = (и1, и2..ит). (1.4) Таким образом, перед нами стоит задача: определить оптимальное управление на каждом шаге U; (г = 1, 2, ..., т) и, значит, оптимальное управление всей операцией и. Заметим, что в нашем примере (управление финансированием си- стемы предприятий) показатель эффективности W представляет собой сумму доходов за все отдельные годы (шаги): т (1-5) /= । где Wj — доход от всей системы предприятий за г-й год. 1?1
Показатель, обладающий таким свойством, называется адди- тивным. Мы будем пока рассматривать только задачи с аддитив- ным показателем. Поставим задачу динамического программирования в общем виде. Пусть имеется операция О с аддитивным показателем эффективности (1.5), распадающаяся (естественно или искусственно) на т шагов. На каждом шаге применяется какое-то управление (7г. Требуется найти оптимальное управление « = («!, и2, ит), при котором показатель эффективности т w==SiWi обращается в максимум. Поставленную задачу можно решать по-разному: или искать сразу оптимальное управление и, или же строить его постепенно, шаг за ша- гом, на каждом этапе расчета оптимизируя только один шаг. Обычно второй способ оптимизации оказы- вается проще, чем первый, особенно при большом числе шагов. Такая идея постепенной, пошаговой оптимизации процесса и со- ставляет суть метода динамического программирования. С первого взгляда эта идея может показаться довольно тривиаль- ной. В самом деле, чего, казалось бы, проще: если трудно оптимизи- ровать операцию в целом, то разбить ее на ряд шагов; каждый такой шаг будет отдельной, маленькой операцией, оптимизировать которую уже нетрудно. Надо выбрать на каждом шаге такое управление, при котором эффективность этого шага максимальна. Не так ли? Оказывается, вовсе не так! Принцип динамического программи- рования отнюдь не предполагает, что каждый шаг оптимизируется отдельно, независимо от других; что, выбирая шаговое управление, можно забыть обо всех других шагах. Напротив, шаговое управление должно выбираться с учетом всех его последствий в будущем. Планирование должно быть дальновидным, с учетом перспективы. Что толку, если мы выберем на данном шаге управление, при котором эффективность этого шага максимальна, если в даль- нейшем это помешает нам получить хорошие результаты других шагов? Нет, выбирая управление на каждом шаге, надо делать это непремен- но «с оглядкой на будущее», иначе возможны серьезные ошибки. Рассмотрим пример: пусть планируется работа группы промыш- ленных предприятий, одни из которых заняты выпуском предметов по- требления, другие же производят для этого машины. Задачей является получение за т лет максимального объема выпуска предметов потреб- ления. Пусть планируются капиталовложения на первый год. Исходя из узких интересов данного шага (года), мы должны были бы все сред- ства вложить в производство предметов потребления, пустить имею- 1?2
щиеся машины на полную мощность и добиться к концу года макси- мального объема продукции. Но правильным ли будет такое решение с точки зрения операции в целом? Очевидно, нет. Имея в виду будущее, необходимо выделить какую-то долю средств и на производство машин. При этом объем продукции за первый год, естественно, снизится, зато будут созданы условия, позволяющие увеличивать ее производство в последующие годы. Таким образом, планируя многошаговую операцию, необходимо вы- бирать управление на каждом шаге с учетом его будущих последствий на еще предстоящих шагах. Однако из этого правила есть исключение. Среди всех шагов су- ществует один, который может планироваться попросту, без «оглядки на будущее». Какой это шаг? Очевидно, последний — после не- го других шагов нет. Этот шаг, единственный из всех, можно плани- ровать так, чтобы он как таковой принес наибольшую выгоду. Сплани- ровав оптимально этот последний шаг, можно к нему пристраивать предпоследний, к предпоследнему — пред-предпоследний и т. д. Поэтому процесс динамического программирования разворачи- вается от конца к началу: раньше всех планируется послед- ний, /п-й шаг. А как его спланировать, если мы не знаем, чем кончил- ся предпоследний? Очевидно, нужно сделать разные предположения о том, чем кончился пред- последний (т — 1)-й ш а г, и для каждого из них найти такое управление, при котором выигрыш (доход) на последнем шаге был бы максимален. Решив эту задачу, мы найдем условное опти- мальное управление на /n-м шаге, т. е. то управление, кото- рое надо применить, если (т — 1)-й шаг закончился определенным образом. Предположим, что эта процедура выполнена и для каждого исхода (т — 1)-го шага мы знаем условное оптимальное управление на т-м шаге и соответствующий ему условный оптимальный выигрыш. Теперь мы можем оптимизировать управление на предпоследнем, (т — 1)-м шаге. Сделаем все возможные предположения о том, чем кончился пред-предпоследний, (т — 2)-й шаг, и для каждого из этих предполо- жений найдем такое управление на (т — 1)-м шаге, чтобы выигрыш за последние два шага (из которых последний уже оптимизирован) был максимален. Далее оптимизируется управление на (т—2)-мшаге, и т. д. Одним словом, на каждом шагу ищется такое управление, которое обеспечивает оптимальное продолжение процес- с а относительно достигнутого в данный момент состояния. Этот прин- цип выбора управления называется принципом оптималь- ности. Само управление, обеспечивающее оптимальное продолже- ние процесса относительно заданного состояния, называется услов- ным оптимальным управлением на данном шаге. Теперь предположим, что условное оптимальное управление на каждом шаге нам известно: мы знаем, что делать дальше, в каком бы состоянии ни был процесс к началу каждого шага. Тогда мы можем найти уже не «условное», а просто оптимальное управление на каждом шаге. 123
Действительно, пусть нам известно начальное состояние процесса, обозначим его So. Теперь мы уже знаем, что делать на первом шаге: надо применить условное оптимальное управление, выработанное на- ми для первого шага, относящееся к состоянию <S0. В результате этого управления после первого шага система перейдет в другое состояние но для этого состояния мы снова знаем условное оптимальное уп- равление на втором шаге «2, и т. д. Таким образом мы найдем оптималь- ное управление процессом « = («х, и2, .... ит), приводящее к максимально возможному выигрышу Wmax. Таким образом, в процессе оптимизации управления методом ди- намического программирования многошаговой процесс «проходится» дважды: — первый раз — от конца к началу, в результате чего находятся условные оптимальные управления на каждом шаге и оптимальный выигрыш (тоже условный) на всех шагах, начиная с данного и до конца процесса; — второй раз — от начала к концу, в результате чего находятся (уже не условные) оптимальные шаговые управления на всех шагах операции. Эти общие правила станут более понятными на конкретном при- мере. 2. ЗАДАЧА О НАБОРЕ ВЫСОТЫ И СКОРОСТИ ЛЕТАТЕЛЬНЫМ АППАРАТОМ Одной из простейших задач, решаемых методом динамического программирования, является задача об оптимальном режиме набора высоты и скорости летательным аппаратом. С этой задачи мы и начнем изложение практических приемов динамического программирования, причем в целях методической ясности, условия задачи будут до край- ности упрощены. Пусть самолет (или другой летательный аппарат), находящийся на высоте Но и имеющий скорость Уо, должен быть поднят на заданную высоту Н,.„ а скорость его доведена до заданного значения (буквой со мы будем отмечать конец процесса). Известен расход горючего, потребный для подъема аппарата с любой высоты Н на любую другую Н' >Н при неизменной скорости V; известен также расход горючего, потребный для увеличения скорости от любого значения V до V > V при неизменной высоте Н. Требуется найти оптимальный режим набора высоты и скорости, при котором общий расход горючего будет минимальным. Решение будем строить следующим образом. Для простоты до- пустим, что весь процесс набора высоты и скорости разделен на ряд по- следовательных шагов (этапов) и за каждый шаг самолет увеличивает только высоту или только скорость. 124
Будем изображать состояние самолета Точкой S на плоскости VOH (рис. 3.2), где абсцисса — скорость самолета, а ордината — его высота. Очевидно, существует множество возможных управлений — мно- жество траекторий, по которым можно перевести точку S из So в Из всех этих траекторий нужно выбрать ту, на которой расход горю- чего будет минимальным. Будем решать задачу методом динамического программирования. Для этого разделим интервал скоростей Va> — Vo на и.! равных частей: V —V ДУ — ---2-, «1 а интервал высот На — Но — на п2 равных частей: 125
Число частей пх и п2 принципиального значения не имеет и может быть выбрано исходя из требований к точности решения задачи. Так как за каждый шаг мы можем менять только высоту или только скорость, то общее число т шагов будет: ОТ = + п2. Например, для случая, изображенного на рис. 3.3, 7^ = 8, n2 = 6, т = 14. Любая траектория, переводящая точку S из So в So, состоит из 14 шагов, или этапов. Чтобы оптимизировать управление процессом набора высоты и скорости (т. е. выбрать ту траекторию, на которой расход горючего минимален), надо знать расход на каждом шаге (горизонтальном или вертикальном участке траектории). Предположим, что эти расходы заданы (см. рис. 3.4). На каждом отрезке записан расход горючего в условных единицах. Любой траектории, переводящей S из So в <8Ю, соответствует впол- не определенный расход горючего, равный сумме чисел, написанных на отрезках. Например, траектория, помеченная стрелками на рис. 3.4, дает расход горючего: Г=12 + 11 + 10+8 + 11+8 + 10+10 + 13 + 15 + 20+9+ + 12 + 14 = 163. Нам нужно из всех траекторий выбрать ту, для которой расход горючего минимален. Можно было бы, конечно, перебрать все возмож- ные траектории, но их слишком много. Гораздо проще будет решить задачу методом динамического программирования. Процесс состоит из 14 шагов; будем оптимизировать каждый шаг, начиная с последнего. Конечное состояние самолета (точка S<0) нам задано; 14-й шаг непре- менно должен привести нас в эту точку. Посмотрим, откуда мы можем 126
переместиться в точку So за один шаг, т. е. каковы возможные состоя- ния самолета после предпоследнего, 13-го шага? Рассмотрим отдельно правый верхний угол нашей прямоугольной сетки (рис. 3.5) с конечной точкой So. В эту точку можно за один шаг переместиться из двух соседних точек: Bj и В2, причем из каждой — только одним способом, так что выбора условного управления на по- следнем шаге у нас нет — оно единственно. Если предпоследний шаг привел нас в точку В1( мы должны двигаться по горизонтали (набирать скорость) и тратить 17 единиц горючего; если в точку В2 — идти по вертикали (набирать высоту) и тратить 14 единиц. Запишем эти мини- мальные (в данном случае просто неизбежные) расходы в специальных кружках, которые поставим в точках Вь В2 (рис. 3.6). Запись «17» в кружке у Bj означает: «если мы пришли в Вь то минимальный расход ----17- Рис. 3.5 Рис. 3.6 горючего, переводящий нас в точку <SO, равен 17 единицам». Анало- гичный смысл имеет запись «14» в кружке у точки В2. Оптимальное управление, приводящее к этому расходу, помечено в каждом случае стрелкой, выходящей из кружка. Стрелка указывает то направление, по которому мы должны двигаться из данной точки, если в результате предыдущей нашей деятельности оказались в ней. Таким образом, условное оптимальное управление на последнем, 14-м шаге, найдено для любого (В2 или В2) исхода тринадцатого шага. Для каждого из этих исходов найден, кроме того, условный минималь- ный расход горючего, за счет которого можно переместиться из данной точки в So,. Перейдем к планированию предпоследнего, 13-го шага. Для этого рассмотрим все возможные результаты пред-предпоследнего, 12-го ша- га. После этого шага мы можем оказаться только в одной из точек Cj, С2, С3 (рис. 3.7). Из каждой такой точки мы должны найти опти- мальный путь в точку <SO и соответствующий этому пути минимальный расход горючего. Если мы оказались в точке то выбора нет: мы должны переме- щаться по горизонтали и тратить 15 4- 17 — 32 единицы горючего. Этот расход мы запишем в кружке при точке Си а оптимальное (в дан- ном случае единственное) управление из точки С] снова пометим стрелкой. Для точки С2 выбор есть: из нее можно идти в S(0 либо через В1( либо через В2. В первом случае мы израсходуем 13 + 17 = 30 единиц 127
горючего, во втором 17 + 14 = 31 единицу. Значит, оптимальный путь из С2 в начинается вертикальным участком (отметим это вер- тикальной стрелкой), а минимальный расход горючего равен 30 (это число мы запишем в кружке при точке С2). Наконец, для точки Са путь в Sa опять единственный: по верти- кали. Обходится он в 124-14 = 26 единиц; эту величину (26) мы и за- пишем в кружке при С3, а стрелкой пометим оптимальное управле- ние. ! Таким образом, переходя от точки к точке справа налево и сверху вниз (от конца процесса к его началу), можно для каждой узловой точки рис. 3.4 выбрать условное оптимальное управление на следую- щем шаге, т. е. направление, ведущее из данной точки в точку So с ми- нимальным расходом горючего, и записать в кружке у данной точки этот минимальный расход. Чтобы найти в узловой точке оптимальное управление, нужно просмотреть два возможных пути из этой точки: направо и вверх, и для каждого из них найти сумму расхода горючего на этом шаге и минимального расхода горючего на оптимальном про- должении пути, уже построенном для следующей точки, куда ведет данный путь. Из двух путей (вправо и вверх) выбирается тот, для ко- торого эта сумма меньше (если суммы равны, выбирается любой путь). В результате выполнения такой процедуры, из каждой узловой точки (см. рис. 3.8) проводится стрелка, указывающая условное опти- мальное управление, а в кружке записывается минимальная стоимость перехода из этой точки в Sa (условная минимальная стоимость). Рано или поздно процесс заканчивается, дойдя до исходной точки <S0. Из этой точки, как и из любой другой, идет стрелка, указывающая, куда надо из нее перемещаться, а в кружке записан минимальный рас- ход горючего. На этом этап условной оптимизации управления закан- чивается, и начинается завершающий этап безусловной оптимизации — построение оптимального управления на каждом шаге от первого до по- |?8
следи его. При этом мы строим оптимальную траекторию точки S, пе- ремещаясь по стрелкам из So в 5Ш. На рис. 3.8 показан окончательный результат такой процедуры — оптимальная траектория отмечена жирными кружками и дополнитель- ными стрелками. Число «139», стоящее у точки So> означает минималь- ный расход горючего 1Ут|П, меньше которого нельзя получить ни на какой траектории. Таким образом, поставленная задача решена, и оптимальное уп- равление процессом найдено. Оно состоит в следующем: — на первом шаге увеличивать только скорость, сохраняя неиз- менной высоту Но, и довести скорость до Уо 4- ДУ; Рис. 3.8 — на втором и третьем шагах увеличить высоту до Но + 2АЯ, сохраняя скорость неизменной; — на четвертом, пятом и шестом шагах снова набирать скорость, пока она не станет равной Уо + 4ДУ; — на седьмом и восьмом шагах набирать высоту и довести ее до Но + 4ДЯ; — на девятом, десятом, одиннадцатом и двенадцатом шагах снова набирать скорость и довести ее до заданного конечного значения Уи; — на последних двух шагах (тринадцатом и четырнадцатом) на- бирать высоту до заданного значения На. Нетрудно на ряде примеров убедиться, что найденное управле- ние действительно является оптимальным и на любой другой траекто- рии расход горючего будет больше (или, по крайней мере, не меньше). Рассмотренная здесь задача оптимального набора высоты и ско- рости является простейшим примером, на котором часто демонстрируют основную идею динамического программирования. Действительно, 5 Зак. 573 129
в нашей упрошенной постановке задачи на каждом шагу нам нужно выбирать только между двумя управлениями: «набирать высоту» и «на- бирать скорость». Именно в связи с таким элементарно простым набо- ром управлений задача очень легко решается до конца. Такая намеренно упрощенная постановка задачи не вполне соот- ветствует действительности. Фактически летательный аппарат может набирать (а зачастую и набирает) высоту и скорость одновременно. В этом случае для каждой точки на плоскости V0H точка S мо- жет двигаться под любым углом в пределах некоторого сектора (рис. 3.9), причем каждому направлению соответствует свой расход горючего на единицу длины пройденного пути (разумеется, не ре- ального пути, а условного — на плоскости VOH). Чтобы решить такую задачу динамического программирования, мы должны как-то установить «шаги» или «этапы» процесса. Нам здесь уже неудобно будет пользоваться тем разделением на этапы, которое мы выбрали для предыдущей задачи Удобнее будет разбить отрезок S05o на т частей, провести через точки деления ряд опорных прямых (0) — (0), (1) — (1)...(0 — (/), (т) — (т), перпендикулярных S0So, и предположить, что «шаг» состоит из перехода точки с одной из опорных прямых на другую (рис. 3.10). Если взять опорные прямые достаточно близкими, можно допустить, что каждый участок траекто- рии, от одной опорной прямой до следующей, — прямолинеен. Ра- зумеется, направление каждого такого участка не должно выходить за пределы «разрешенного сектора», определяемого «розой направле- ний» на рис. 3.10. Расход горючего на прямолинейном участке определяется точкой, где он начинается, направлением участка и его длиной. Схема решения такой задачи методом динамического программи- рования несколько сложнее, чем вышеописанная «ступенчатая» схе- ма, но в принципе отличается от нее только тем, что на каждом шаге приходится выбирать не между двумя направлениями, а между не- сколькими. 130
Начинается процесс с Последнего Шага (рис. 3.11). Прежде всего, определяются возможные положения точки на прямой (т— 1)—(т—1), из которых она может прийти в <SO за один шаг. Это, очевидно, все положения от А до В (так как выбранная нами роза направлений предполагает, что скорость и высота в процессе набора убывать не мо- гут). Зададимся на отрезке АВ рядом возможных положений точки S, для каждого из них построим прямолинейный участок пути к точке SM и подсчитаем на этом участке расход горючего. Движение по этому Роза направлении участку и будет (вынужденным) оптимальным управлением, в расход — (неизбежным) минимальным расходом. Таким образом, условная оп- тимизация последнего шага выполнена. Перейдем к предпоследнему шагу. Зададимся рядом точек на отрезке CD прямой (т—2)—(т — 2). 5* 131
Для каждой из этих точек выявим оптимальное управление, т. е. то направление дальнейшего следования, двигаясь по котором) мы истратим на двух последних шагах минимум горючего. Чтобы найти это направление, мы должны для каждого из возможных отрезков, соединяющих данную точку с прямой (т — 1) — (т — 1), подсчитать расход горючего и сложить его с (уже оптимизированным) расходом на последнем шаге. Из всех направлений в качестве опти- мального выбирается то, для которого этот суммарный расход мини- мален. Далее переходим к оптимизации (т — 2)-го шага, и т. д. На каж- дом этапе ищется такое направление движения из каждой точки, для которого расход горючего на ближайшем шаге плюс (уже оптимизи- рованный) расход горючего на всех оставшихся до конца шагах дости- гает минимума. Этот процесс условной оптимизации продолжается до тех пор, пока мы не дойдем до первого шага, начало которого S,, уже не надо варьировать — оно известно. Таким образом определяется минимальный расход горючего на всю операцию, начиная от точки So. Далее, двигаясь из каждой точки, начиная от <S0, по оптимальному пути, находим оптимальный режим набора высоты и скорости (отмечен на рис. 3.11 точками). Заметим, что описанная методика построения оптимальной тра- ектории точки S (оптимального управления) отнюдь не относится толь- ко к случаю набора высоты и скорости. По осям могут откладываться не высота и скорость, а любые другие величины, например: — декартовы (полярные) координаты движущейся точки; — вес и три составляющие скорости ракеты; — количества средств, вкладываемые в разные отрасли произ- водства и т. п. Равным образом, максимизируемый (минимизируемый) показа- тель эффективности W может быть любой природы, например: — расход материальных средств на систему мероприятий; — время перемещения из точки So в Str); — доход, приносимый группой предприятий, и т. д. Выбор системы координат, в которой решается задача, и способ членения операции на шаги могут быть самыми разными; их конкрет- ные формы диктуются, главным образом, соображениями удобства расчетной схемы, а иногда — наглядностью геометрической интер- претации. 3. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ. ИНТЕРПРЕТАЦИЯ УПРАВЛЕНИЯ В ФАЗОВОМ ПРОСТРАНСТВЕ После того, как рассмотрены некоторые конкретные задачи дина- мического программирования, дадим общую постановку таких задач и сформулируем принципы их решения. При этом мы будем-пользо- ваться обобщенными, символическими, а не расчетными формулами; 132
каждая из них выражает, что от чего зависит, но не дает возможности что-либо вычислить. Тем не менее, написание таких об- щих формул очень полезно для уяснения сути метода. Рассматривается следующая общая задача. Имеется некоторая фи- зическая система 8, которая с течением времени меняет свое состоя- ние, т. е. в системе 8 происходит какой-то процесс. Мы можем управлять этим процессом, т. е. тем или другим способом влиять на состояние системы. Такую систему 5 мы будем называть управ- ляемой системой, а способ нашего воздействия на нее — уп- равлением U. Напомним, что буквой U обозначается не какая- то одна величина, а целая совокупность величин, векторов или функ- ций, характеризующих управление. Предположим, что с процессом связана какая-то наша заинтере- сованность, выражающаяся численно величиной W, которую мы будем называть «выигрышем». Мы хотим так управлять процессом, чтобы выигрыш был максимален*'. Очевидно, выигрыш зависит от управления: W = W(U). (3.1) Мы хотим найти такое управление (оптимальное) U=u, при котором выигрыш максимален: Wmax = max {W (U)}. (3.2) Запись max читается «максимум по U» и означает: «максимальное и из всех значений W(U) при всех возможных управлениях U». То из уп- равлений, при котором достигается этот максимум, и есть оптималь- ное управление и. Таким образом, поставлена общая задача оптимизации управле- ния физической системой. Однако она поставлена еще не полностью. Обычно в таких задачах должны быть учтены некоторые условия, на- кладываемые на начальное состояние системы So и конечное состояние <SW. В простейших случаях эти состояния могут быть полностью зада- ны (см., например, § 2). В других случаях они могут быть заданы не полностью, а только ограничены какими-то условиями, т. е. указаны область начальных состояний 80 и область конеч- ных состояний 8(о. Например, в задаче, подобной рассмотренной в предыдущем па- раграфе, может оказаться, что летательный аппарат надо привести не в точно заданное состояние 8О, а в какую-то область на плоскости УО// (скажем, достигнуть высоты, не меньше заданной, имея при этом •) Здесь и в дальнейшем для краткости будем говорить только о максимиза- ции W', подразумевается, что «максимум» в любом случае может быть заменен на «минимум» 133
скорость, заключенную в определенных пределах); начальная ско- рость Ео также может быть не в точности задана, а ее можно произ- вольно выбирать в некоторых границах. Тот факт, что начальное состояние системы 30 входит в область So, мы будем записывать с помощью принятого в математике «знака включения» G: So 6 S, Аналогично, для конечного состояния системы: So, С So. Таким образом, общая задача оптимального управления форму- лируется следующим образом: Из множества возможных управлений U найти такое оптималь- ное управление и, которое переводит физическую систему S из началь- ного состояния <S0 So в конечное состояние Зи £ So так, чтобы при этом выигрыш W обращался в максимум. Дадим процессу управления геометрическую интерпретацию. Для этого нам придется несколько расширить наши привычные гео- метрические представления и ввести понятие о так называемом фазо- вом пространстве (или пространстве состояний). Состояние S системы S, которой мы управляем, всегда можно описать с помощью того или другого количества численных парамет- ров. Такими параметрами могут быть, например: — координаты тела и его скорость; — количества средств, вложенных в отрасль производства; — численности группировок войск и т. д. Эти параметры мы будем называть фазовыми коорди- натами системы S, а состояние системы изображать точкой S с этими координатами в некотором условном фазовом прост- ранстве (пространстве состояний). Размерность этого пространст- ва зависит от числа фазовых координат. Если состояние системы ха- рактеризуется одним параметром то фазовое пространство будет , S ' ' — > ~0----~ у \»»»,»>,^ Область Возможных состояний системы (фазовое пространство) Рис. 3.12 одномерным и представляет собой участок оси абсцисс (рис. 3.12), а управление интерпретируется законом движения точки S из исход- ного состояния So £ St, в конечное состояние Зю £ Зю. Если состояние системы характеризуется двумя параметрами и |2 (например, ско- ростью и высотой, как в § 2, гл. 3), то фазовое пространство будет дву- 134
О Область Возможных состояний системы (фазовое пространс- ч тво) мерным (плоскость или ее часть), а процесс будет изображаться пере- мещением точки S из So € So в So С So по определенной траектории на фазовой плоскости |]0|2- Траектория эта и будет изображать управление (рис. 3.13). Если состояние системы S характеризуется тремя координатами 11, Вз (например, абсцисса, скорость и ускорение), то фазовым про- странством будет трехмерное пространство или его часть, а управля- емый процесс изобразится перемещением точки S по пространственной кривой (рис. 3.14). Если число параметров, характеризующих состояние системы, больше трех, то геометрическая интерпрета- ция теряет свою наглядность, но геометрическая термино- логия продолжает оставаться удобной. В общем случае, когда состояние системы S описывается п параметрами _ _ „ Рис. 3.13 Bi, Ва...Вп, мы будем говорить о точке S в n-мерном фазовом пространстве и о ее перемещении из области So в область So по такой траектории, для ко- торой выигрыш W максимален. Выбор фазовых координат |2, •••, определяющих состояние системы, и соответствующей геометрической интерпретации может быть тем или другим, в зависимости от удобства построения расчетной схе- мы. В некоторых случаях в качестве одной из фазовых координат, ха- рактеризующих состояние системы S, бывает удобно выбрать время t, протекшее с начала процесса; тогда этапы (шаги) будут наглядно видны в фазовом пространстве как перемещения точки S с одной из плоскостей (гиперплоскостей) t — const на другую (рис. 3.15). Предположим, что фаЗовые координаты |2, ..., определяющие состояние системы S, выбраны. Общая задача оптимизации управле- ния в геометрических терминах может быть сформулирована так: Найти такое управление и (оптимальное управление), под влия- нием которого точка S фазового пространства переместится из началь- ной области So в конечную область So так, что при этом выигрыш W обратится в максимум. Поставленную общую задачу можно решать различными спосо- бами — отнюдь не только методом динамического программирования. Характерным для динамического программирования является опреде- ленный методический прием, состоящий в следующем: процесс пере- мещения точки S из So в So разделяется на несколько шагов (этапов) (см. рис. 3.16), и затем проводится пошаговая оптимизация управления и выигрыша, 135
Рис. 3.15 130
Процедура построения оптимального управления методом ди- намического программирования распадается на две стадии: предвари- тельную и окончательную. На предварительной стадии определяется для каждого тага условное оптимальное управле- ние, зависящее от состояния S системы (достигнутого в результате предыдущих шагов), и условный оптимальный вы- игрыш на всех оставшихся шагах, начиная с данного, также за- висящий от состояния 5. На окончательной стадии определяется для каждого шага окон- чательное (безусловное) оптимальное управление. Предварительная (условная) оптимизация производится по шагам, в обратном порядке: от последнего шага к первому; окончательная (безусловная) оптимизация — также по шагам, но в естественном по- рядке: от первого шага к последнему. Из двух стадий оптимизации несравненно более важной и трудоем- кой является первая. После окончания первой стадии выполнение вто- рой трудности не представляет; остается только «прочесть» рекоменда- ции, уже заготовленные на первой стадии. В основе поэтапной процедуры лежит уже упоминавшийся прин- цип оптимальности, состоящий в следующем: Каково бы ни было состояние S системы в результате какого-то числа шагов, мы должны выбирать управление на ближайшем шаге, так, чтобы оно, в совокупности с оптимальным управлением на всех после- дующих шагах, приводило к максимальному выигрышу на всех оставших- ся шагах, включая данный. Запишем принципиальную структуру обеих стадий оптимизации с помощью общих символических формул. «Символическими» мы их называем потому, что в них будут фигурировать функции, аргументами которых будут не числа, а «состояния» и «управления», каждое из кото- рых в общем случае характеризуется не одним числом, а целой сово- купностью чисел или функцией. Введем некоторые обозначения. Условимся обозначать U7Z(S) (3.3) условный оптимальный выигрыш, получаемый на всех последующих ша- гах, начиная с i-го и до конца-, он достигается при оптимальном управ- лении на всех этих шагах и равен максимальному выигрышу, который можно получить на всех этих шагах вместе, если в их начале система находится в состоянии S. Коротко мы будем называть величину 1Уг(3) условным оптимальным выигрышем. Условимся также обозначать Uj(S) (3.4) условное оптимальное управление на t-м шаге, которое, совместно с оп- тимальным управлением на всех последующих шагах, обращает выи- грыш на всех оставшихся шагах, начиная с данного, в максимум. Ко- роче будем называть управление щ(8) условным оптималь- ным управлением. 137
Поставим задачу: определить функции U7;(S) и ut(S), т. е. услов- ный оптимальный выигрыш и условное оптимальное управление, для всех шагов (Z = 1,2, ..., т). Рассмотрим z-й шаг процесса управления. Пусть в результате i — 1 предыдущих шагов система пришла в состояние S, и мы выбираем какое-то управление Ut на i-м шаге. Если мы его применим, то, во- первых, получим на данном i-м шаге какой-то выигрыш wt; он зависит как от состояния системы S, так и от примененного управления Ut: wt=wt(S,Ut). (3.5) Кроме того, мы получим какой-то выигрыш на всех оставшихся шагах. Соответственно принципу оптимальности, будем считать, что он максимален. Чтобы найти этот выигрыш, мы должны знать состоя- ние системы перед следующим, (Z + 1)-м шагом. Под влиянием управ- ления Ut на /-м шаге система из состояния S (в котором она была пе- ред этим шагом) перейдет в какое-то новое состояние S'. Это новое состояние будет зависеть, опять-таки, от прежнего состояния S и при- мененного управления Ut: S'^JS,^). (3.6) Запишем выигрыш, который мы получим на всех шагах, начиная с i-го, если на i-м шаге будет применено любое (вообще говоря, не оптимальное) управление Ult а на всех последующих (от (z + 1)-го до т-го оптимальное управление. Этот выигрыш будет равен выигры- шу wt на данном, i-м шаге, плюс условный оптимальный выигрыш на всех последующих шагах, начиная с (Z + 1)-го, определяемый для но- вого состояния системы S'; обозначим такой «полуоптимальный» выи- грыш через $7(S, Ut): W((S, Ut)=wt(S, Ut) + Wl + l(S'), или, учитывая (3.6), r,.(S, U^w^S, Ut)+Wl+l(<ft(S, U,)). (3.7) Теперь, в соответствии с принципом оптимальности, мы должны выбрать такое управление Ut — ut, при котором величина (3.7) мак- симальна и достигает значения: (S) = тах k (S, Ut) + ,(Ф/ (S, [/,))}• (3.8) ut То управление ^• = «z (S), при котором этот максимум достигается, и есть условное опти- мальное управление на i-м шаге, а сама величина (3.8)— условный оптимальный выигрыш (на всех шагах, начиная с z-ro и до конца). В уравнении (3.8) функции w^S, Uи ср((5, Ut) известны. Неиз- вестными остаются функции U7;(S) и U^+1(S); из них первая выражает- ся через вторую. 138
Формула (3.8) представляет собой так называемое основное функциональное уравнение динамического программирования; она позволяет определить функцию IV'/S), если известна следующая за ней по порядку функция Й?г+1(Х). Что касается функции Wm(S) (условный оптимальный выигрыш на последнем шаге), то она может быть определена очень просто. Дей- ствительно, за последним шагом нет никакого другого, и нужно по- просту обратить в максимум выигрыш на последнем шаге: №m(S) = max КДЗ, Um)}. (3.9) Um Максимум в формуле (3.9) берется не по всем возможным управлениям Um на m-м шаге, а только по тем, которые приводят систему в заданную область конечных состояний Хо, т. е. по тем, для которых <pm(s,t/m)esw. Это всегда надо иметь в виду при пользовании формулой (3.9). То управление Um = um(S), при котором достигается максимум выигрыша (3.9), и есть условное оптимальное управление на послед- нем шаге. Теперь можно, одно за другим, построить всю цепочку условных оптимальных управлений. Действительно, зная U7m(X), можно, по общей формуле (3.8), полагая в ней i +1 = т, найти функцию й^т-ДХ) и соответствующее условное оптимальное управление u^S); за- тем U7m_2(X) и мт_2(Х) и так далее, вплоть до последнего от конца (первого ) шага, для которого будут найдены функции ^(Х) и Ui(X). Функция U7JX) есть условный оптимальный выигрыш за всю опера- цию, т. е. на всех шагах, начиная с первого и до последнего (если пер- вый шаг начинается с определенного состояния X системы X). Таким образом, предварительная оптимизация закончена — най- дены условный оптимальный выигрыш и условное оптимальное управ- ление для каждого шага. Теперь перейдем ко второй стадии оптимизации — нахождению безусловного (окончательного) оптимального управления u =(un и2, .... ит). Начнем в первого шага. Предположим, что исходное состояние Хо нам полностью известно. Подставим это состояние Хо в формулу для условного оптимального выигрыша W^S). Получим ^ = ^l(So). (ЗЛО) Оптимальное управление на первом шаге найдется одновременно с (3.10): «1 = «1(Х0). Далее, зная исходное состояние Хо и управление иъ можем найти состояние X* системы после первого шага: Si* = <h(Xe,«1). (З.П) И9
Зная это состояние S*, можно найти оптимальное управление на втором шаге u2 = u2(Si), затем S2 = <f2(Si, u2) и т- Д- Таким об- разом, идя по цепочке So—> «j (So) —> Si —> u2 (Sj) —>> Sm _ \^~um (Sm— i) —> Sm, (3.12) мы определим, одно за другим, все шаговые оптимальные управления и найдем состоящее из них оптимальное управление операцией в це- лом u=(ult и2, ..., ит), а также (если оно не было в точности задано заранее) конечное состоя- ние системы: sro=s;. (3.13)" Разумеется, это состояние будет принадлежать области Sm, пото- му что мы выбирали управление на последнем шаге именно так, чтобы это условие было соблюдено: Sm = <р (Sm— ], wm) f S(o- Предположим теперь, что исходное состояние системы известно нам не полностью, а только ограничено условием: So С So. Тогда нужно найти такое (оптимальное) начальное состояние So, при котором условный оптимальный выигрыш за все шаги мак- симален: = max {^(S)}. (3.14) s es, To начальное состояние So, для которого этот максимум дости- гается, и должно быть выбрано в качестве исходного. Далее оптималь- ное управление строится совершенно так же, как и раньше, по цепоч- ке: So —> U] (So)—> S]—> (Si)Sm_ j—> (Sm_ i)—>Sm, (3.15) что и дает оптимальное управление операцией в целом: «2> ит) и конечное состояние системы S0) — S*m, если оно заранее не было полностью определено. - — На этом процесс оптимизации заканчивается. В данном параграфе мы пользовались системой символических формул, которые, разумеется, непригодны для непосредственного вы- числения по ним: в этих формулах не указан не только конкретный вид функций U);(S, и,) и <p;(S, Uf), но даже и что такое аргументы S и Ui — числа, векторы, или же функции и т. п. Тем не менее, система 140
символических формул очень полезна для организации процедуры ди- намического программирования. При решении любой задачи динами- ческого программирования удобно придерживаться раз навсегда уста- новленного, стандартного порядка действий. Этот порядок можно установить, например, в такой форме. 1. Выбрать способ описания процесса, т. е. параметры, характе- ризующие состояние системы, фазовое пространство и способ членения операции на «шаги». 2. Записать выигрыш на i-м шаге в зависимости от состояния си- стемы S в начале этого шага и управления (7г: wt — wt (S, U;). 3. Записать для г-го шага функцию, выражающую изменение со- стояния системы от S к S' под влиянием управления Ut: S' — Vi (S, Ut). 4. Записать основное функциональное уравнение (3.8), выражаю- щее функцию U/,(S) через U7/+1(S): W\(S)=max {^(S, t/f)+^+i (<P. ($, ^))Ь (3-16) ui 5. Найти функцию U7m(S) (условный оптимальный выигрыш) для последнего шага: Wm(S) = max (wm(S, Um)} (3.17) (максимум берется только по тем управлениям, которые приводят си- стему в заданную область конечных состояний S<0) и соответствующее ей условное оптимальное управление на последнем шаге: um(S). 6. Зная IV'n/S) и пользуясь уравнением (3.16) при конкретном виде функций wt(S, U^, cp{(S, Ut), найти одну за другой функции Гт_, (S), U7m_2(S)....U7X(S) и соответствующие им условные оптимальные управления: Um— 1 (S), Um—2 (S), •••» Uj (S). 7. Если начальное состояние So задано, найти оптимальный выи- грыш Wmax — (So) и далее безусловные оптимальные управления (и, если надо, конечное состояние S*m) по цепочке: So —> Ui (So) —> Si —> и% (S,) —>... —> Sm_ i —> um (Sm— i) —> Sm- в. Если начальное состояние Sn не задано, а лишь ограничено условием So 6 So, in
найти оптимальное начальное состояние 56, при котором выигрыш, №1(5) достигает максимума r^^maxfr^S)} seSi и далее, по цепочке, безусловные оптимальные управления. В дальнейшем, решая различные задачи динамического програм- мирования, мы будем придерживаться этой последовательности дейст- вий. В заключение отметим следующее. В принципе процесс динами- ческого программирования может разворачиваться (хотя и не так ес- тественно) и в направлении, обратном тому, которое мы приняли: условные оптимальные управления могут отыскиваться в направлении от первого шага к последнему, а безусловные — от последнего к пер- вому. Например, в задаче о наборе высоты и скорости, которую мы рассматривали в предыдущем параграфе, ничто не мешает нам строить процесс не от правого верхнего угла к нижнему левому, а наоборот, и результат при этом получится тот же самый. Это относится к любой задаче многоэтапного планирования. Можно сначала планировать первый шаг, при условии, что он приведет систему в состояние 5, затем второй, так чтобы выигрыш за два первые шага (первый — уже опти- мизированный) был максимален, и т. д. После того, как все условные оптимальные управления и соответствующие выигрыши будут извест- ны, можно найти безусловные оптимальные управления на всех шагах. Вычислительно эта схема ничуть не хуже предложенной выше, но в смысле удобства изложения и понимания уступает ей. Поэтому мы всюду будем придерживаться вышеизложенной схемы: условные оп- тимальные управления находятся в обратном порядке, от последнего шага к первому, а безусловные — в прямом порядке, от первого шага к последнему. 4. ЗАДАЧИ РАСПРЕДЕЛЕНИЯ РЕСУРСОВ На практике очень часто встречаются многоэтапные операции, связанные с разумным распределением тех или других ресурсов. Речь может идти, например, о распределении денежных средств, сырья, рабочей силы по предприятиям, отраслям промышленности или этапам отдельных работ или, скажем, о распределении снарядов по целям, общего веса G, отведенного на техническое устройство, по его отдель- ным агрегатам, и т. д. — вообще, о распределении всевозможных средств по каким-то категориям мероприятий. Начнем с наиболее простой, «классической» задачи распределения ресурсов, на которой легко будет продемонстрировать особенности подобных задач. Задача ставится следующим образом. Имеется определенное начальное количество средств Ко (необяза- тельно в денежной форме), которые мы должны распределять в тече- ние т лет между двумя отраслями производства I и II. Средства, 142
вложенные в каждую отрасль, приносят за год определенный доход, зависящий от объема вложений. Если мы вложим средства X в отрасль 1, то за год получим доход, равный/(X); при этом вложен- ные средства частично уменьшаются (амортизируются, тратятся), так что к концу года от них остается какая-то часть: Ч>(Х)<Х. Аналогично, средства У, вложенные в отрасль II, приносят за год доход g(Y) и уменьшаются до ф(У)<У. По истечении года, оставшиеся от Ко средства заново распреде- ляются между отраслями I и II. Новых средств извне не поступает, и в производство вкладываются все оставшиеся в наличии средства; доход в производство не вкладывается, а накапливается отдельно. Требуется найти такой способ управления ресурсами (какие средства, в какие годы и в какую отрасль вкладывать), при котором суммарный доход от обеих отраслей за пг лет будет максимальным. Будем решать задачу методом динамического программирования, по развернутой выше стандартной схеме. 1. Система S в данном случае — две отрасли со вложенными в них средствами. Она характеризуется двумя параметрами X и У, выражаю- щими количества средств в отраслях I и II соответственно. Естествен- ным «шагом» (этапом) процесса является хозяйственный год. В процес- се управления величины X и У меняются в зависимости от двух при- чин: — перераспределение средств между отраслями в начале каждого года; — уменьшение (трата) средств за год, сказывающееся в конце каж- дого года. Управлением Ut на t-м шаге будут количества средств X,, Уг, вкла- дываемые в отрасли I и II на этом шаге. Управление операцией U со- стоит из совокупности всех шаговых управлений: U = (IA,U2....Um)- (4-1) Нам нужно найти такое (оптимальное) управление «==(«1, «2, •••, ит), (4.2) при котором суммарный доход, приносимый обеими отраслями за т т лет W — 2 wb был максимальным: i=I W = Wmax. (4.3) 2. Состояние системы перед t-м шагом характеризуется одним параметром К — количеством средств, сохранившихся после преды- дущих i — 1 шагов. Управление t/; на t-м шаге будет состоять в том, 143
что мы выделим в отрасль I средства Хг, величина Yt определится ав' томатически; она будет равна оставшимся средствам: Yt = K—Xt. Выигрыш (доход) на г-м шаге будет: ^(X,Xj=/(XJ+g(X-Xj. (4.4) 3. Под влиянием этого управления на i-м шаге система перейдет из состояния К в состояние X' = <p(Xj + t(X-Xj. (4.5) 4. Основное функциональное управление имеет вид: Гг(Х)= щах {/(Xj+g(X-Xj + + 1 (ф (XJ-|-ф (X— Хг-))}, (4.6) где знак О^Х^К обозначает, что максимум берется по всем неотри- цательным вложениям Xi, не превосходящим наличного запаса средств К. Условным оптимальным управлением на z-м шаге хг(Х) будет то из значений X,-, при котором выражение в фигурных скобках до- стигает максимума. 5. Условный оптимальный выигрыш на последнем шаге будет Wm (К) = шах {/ (Xm) + g (К —Хт)}; (4.7) о<хт</< ему соответствует условное оптимальное управление хт(К), при ко- тором этот максимум достигается. 6. Зная функцию находим по формуле (4.6) условные оп- тимальные выигрыши на двух последних, на трех последних и т. д. шагах: max {f (Xm_i)+g(K — XOT_J + + (ф(Хт_1) + ф(Х -xm_j)}; Wm-2(K)^ max [f(Xm-2) + g(K—Xm_2)~t 0<Xm_2<K + Wm-t (ф(Хт_2)+ф(Х-Хт_2))1; (4.8) Г, (X) = max* {/(XJ + g (X -XJ + . + ^2(ф(ХЛ-ф(Х-ХП)! ; и соответствующие им условные оптимальные управления: Хщ— 1 (X), Хщ—2 (К), •••> Xj, (X). (4.9) 144
7. Начальное состояние (начальный запас средств) задано, поэтом\ максимальный доход (оптимальный выигрыш) будет = W, (К0). Оптимальное управление на первом шаге будет; Х1=Х1(Л0). Состояние системы после первого шага: К\ = Ф(х1)+ф(Ло — xj. Оптимальное управление на втором шаге: х2=х2 (К,*), и т. д. по цепочке. Состояние системы после i шагов: К' = Ф(х;) + ф(К/- 1-х,). (4.10) Оптимальное управление на /-м шаге: хг = х((/С‘_ и т. д., вплоть до последнего шага, по цепочке: (Д о) “* К > ~Х2 (л 1) *“> ... ~>• ТСт— I *“> Хт {Кт— I) “>• Кт.' Величина Кт будет представлять собой количество средств, ос- тавшихся (при оптимальном управлении) после последнего шага. Со- вокупность средств, вложенных по годам в отрасль I: х = (хп х2, ..., хт) будет представлять собой оптимальное управление, наряду с которым имеет смысл рассмотреть У — (У1> Уг, Ут) =(^о—Xi, К\ — х2.......Km-i— хт) — количество средств, вложенных в отрасль II по годам. Дадим процессу распределения ресурсов геометрическую интер- претацию. Из соображений наглядности сделаем фазовое пространст- во двумерным, хотя можно было бы ограничиться и одномерным. Бу- дем откладывать по оси ОХ средства X, вкладываемые в отрасль I, по оси ОУ — средства Y, вкладываемые в отрасль II. Сумма этих средств не может быть больше, чем количество начальных средств Ко, по- этому фазовое пространство — это часть плоскости ХОУ, заключен- ная внутри равнобедренного прямоугольного треугольника 405 с ка- тетами Ко (рис. 3.17). Так как в начале процесса распределения сумма средств в обеих отраслях равна Ко> то область начальных состояний So есть не что иное, как гипотенуза треугольника АВ. На количество средств в конце пе- риода т лет никаких ограничений, кроме 0 «С X „ + Y.a < Ко, не накла- дывается; поэтому областью S конечных состояний системы яв- ляется весь треугольник 40В (кроме гипотенузы). 145-
Изобразим траекторию точки S в фазовом пространстве (рис. 3.18). Представим себе, что в начале каждого года происходит распре- деление (или перераспределение) средств по отраслям, а в течение го- да вложенные средства тратятся и образуется доход. Тогда каждое звено траектории точки 5 в фазовом пространстве будет состоять из двух полузвеньев: на первом происходит только перераспределение средств и точка S перемещается параллельно АВ, на втором — средст- ва тратятся и точка S перемещается вниз и налево, ближе к началу координат. Исключение составляет только первый шаг, для которого первое полузвено отсутствует: сразу назначаются Хь Уь и начинает- ся трата средств. Сумма абсциссы и ординаты последней точки траек- тории представляет собой количество средств Кч>, которое сохра- нится к концу периода при данном управлении. 5. ПРИМЕР РЕШЕНИЯ ЗАДАЧИ РАСПРЕДЕЛЕНИЯ РЕСУРСОВ Пример. Планируется деятельность двух отраслей производства 1 и II сроком на 5 лет (т = 5). Заданы «функции дохода»: f(X) = l-e-*; §(У) = 1—е-2У и «функции траты»: ср(Х)=0,75Х; ф (У) =0,3 Y. Требуется распределить имеющиеся средства в размере Хо = 2 (условных единиц) между отраслями I и II по годам, исходя из условия максимума дохода. Решение. В соответствии с общей схемой, приведенной в § 4, получаем: 1. Как в п. 1 общей схемы. 146
2. Выигрыш на t-м шаге: wt (К, Хг) = 1 -е-*/+ 1 _е-2(*"**) = 2-(e~xt + е~2 <К~ХЛ). 3. Под Влиянием управления Xt (вложения средств Xt в отрасль I, a Yi = К — Xt в отрасль II ) система на t-м шаге перейдет из со- стояния К в К'=0,75 Xt +0,3 (К —Xt). 4. Основное функциональное уравнение: Wt(K) = max {2 — [е-Л‘-|-е_2(х_х^] 4- о<х. <к + Wi+ , (0,75Хг + 0,3(К-Хг))|- Условное оптимальное управление на t'-м шаге — то, при кото- ром достигается этот максимум. 5. Условный оптимальный выигрыш на последнем шаге: Г6(К)= max {зу5(Л, Х6)} = о<х„<к = max {2—[e_x»-|-e_2<^'Л’,]}. о<х,<к Найдем этот максимум. При фиксированном К выражение, стоящее в фигурных скобках, есть функция аргумента Хь, выпуклая вверх. В зависимости от зна- чения К максимум этой функции может достигаться либо внутри от- резка (О, К) (рис. 3.19), либо на левом его конце (рис. 3.20). Чтобы найти этот максимум, продифференцируем выражение Х5) = 2 —[е-А» + е~2(/<-А‘)] при фиксированном /С по Х6 и приравняем производную нулю = е~*» — 2е-2<к-А‘) = 0. (5.1) дХ> 147
На данном (пятом) шаге нам еще удастся решить уравнение (5.1) в буквенном виде, на дальнейших шагах такие задачи придется решать численно (графически). Из (5.1) имеем: —Xs = ln2—2К |-2Х5; (5.2) Х6 = (2К — 1п2)/3. ' (5.3) Отсюда следует, что если К >(1п 2)/2 а? 0,347, ю максимум достигает- ся внутри отрезка (0, К) в точке х6(К) — (2К — 1п 2)/3, если же К < (In 2)/2 « 0,347, то максимум достигается в конце отрезка- х6(К)=0. Таким образом, условное оптимальное управление на последнем (пятом) шаге найдено: если мы подошли к этому шагу с запасом средств К (1л 2)/2, то из этих средств следует выделить в отрасль I долю (5.3); если же мы подошли к пятому шагу с запасом средств, меньшим, чем (1п2)/2, то все эти средства надо отдать в отрасль II. Как же быть, если мы подойдем к пятому шагу с запасом средств, в точности равным (1п 2)/2? Очевидно, в этом случае оба управления указывают одно и то же, а именно: выделять средств в отрасль I не нужно. Запишем най- денное условное оптимальное управление на пятом шаге в виде фор- мулы [ 0 при Хб(К) = 1(2К-1п2)/3 при К > (1п2)/2. (5.4) Найдем теперь условный оптимальный выигрыш (доход) на пятом шаге, который получится при таком управлении: (К) = 2 —{е-х‘ W -|-е-I 2£К-* <X>J}, или, подставляя сюда выражения (5.4): I —е~2Л 9 2 —1'^2 е~~ К 2 при К С (In 2)/2, при К >(1п 2)/2. Так как нам в дальнейшем придется вычислять величину U^5(K) для разных значений аргумента, построим ее график в зависимости от К (рис. 3.21). На том же графике, но в другом масштабе, изобразим зависимость от К условного оптимального управления х6(К). Вторая кривая пред- ставляет собой ломаную линию, которая до К = (1п 2)/2 идет по оси абсцисс, а после этой точки возрастает линейно. Построением этого графика заканчиваются все процедуры, свя- занные с оптимизацией последнего шага. 6. Переходим к предпоследнему (четвертому) шагу. Задачу его условной оптимизации будем решать численно, задаваясь рядом значений К (количества средств, Оставшихся после третьего шага). Чтобы не делать лишней работы, выясним, в каких пределах может на ходиться К- Найдем самое большое из возможных значений К. Оно 148
будет получено, если на первых трех шагах все средства будут вложе- ны в отрасль 1, где траты минимальны; тогда после трех лет получим: К,иох =К0-0,753 = 0,844. Наименьшее значение К получится, если на первых трех шагах все средства будут вложены в отрасль II: ' Km;n = Ко-0,33=о,054. На участке 0,054 -? 0,844 заключены все возможные значения К. Назначим на этом участке несколько опорных значений К: К = 0,1; 0,2; 0,3; 0,4; 0,5; 0,6; 0,7; 0,8 и для каждого из них найдем услов- Рис. 3.21 Рис. 3.22 ное оптимальное управление на четвертом шаге xt(K) и условный мак- симальный доход на двух последних шагах IF4(K). Для этого построим серию кривых, изображающих «полуоптимальный» выигрыш Wi на двух последних шагах (при любом управлении на четвертом шаге и при оптимальном — на пятом): (К, Х4) = ю4 (К, К4) + U76 (0,75Х4 + 0,3 (K-XJ), где первое слагаемое wi(K, Х4) = 2 — |e~x«4-e—а второе слагаемое Wb определяется по графику рис. 5.3, для чего нужно войти в него вместо К с аргументом К' ~ 0,75Х4 + 0,3(К—Х4). Кривые зависимости IF4 от Х4 (при заданном К) для шестого шага представлены на рис. 3.22. Найдем на каждой из кривых точку с максимальной ординатой и пометим ее кружком. Ордината такой точки представляет собой ус- ловный максимальный доход на двух последних шагах IF4(K), а абс- цисса — условное оптимальное управление х4(К). Определив эти ве- личины для каждого значения К =0,1; 0,2; . . . ; 0,8, построим графики зависимостей и х4(К) для четвертого шага (рис. 3.23). 149
Далее переходим к оптимизации третьего шага. Для него возмож- ные значения К находятся в пределах от 2-0,32 = 0,18 до 2-0,752 = = 1,12. Снова зададимся рядом опорных значений К ' К = 0,3; 0,5; 0,7; 0,9; 1,1 и для каждого из них вычислим доход на третьем шаге в зависимости от К и управления Х3: w3 (К, Х3) =2 — [е-*« 4-е-2 <«-*•>]. Затем прибавим к нему уже оптимизированный доход на двух последних шагах й^4, который мы определим по графику рис. 3.21, входя в него вместо К аргументом К' = 0,75 Х3-|-0,3 (К — Х3), и получим «полуоптимальный» выигрыш на трех последних шагах (при оптимальном управлении на двух последних и любом управлении — на третьем шаге) Ws (К, Х3) = w3 (К, Х3) 4. IF4 (0,75 Х3 4- 0,3 (X —Х3)). Для этой функции опять построим графики зависимостей от Х3 при фиксированном К- На каждой из кривых снова отметим мак- симум (рис. 3.24). После этого построим на одном графике (рис. 3.25) две кривые: условное оптимальное управление х3(Х) и условный оп- тимальный выигрыш №7з(Х). 150
Совершенно аналогично решается задача оптимизации второго шага. Варьируются значения /< от 2-0,3 = 0,6 до 2-0,75 = 1,5: К ~ 0,6; 0,9; 1,2; 1,5. Определяется доход на втором шаге: ю2 (К. Х2) =2 — [е~х- + е-2(к-х.)]. К нему прибавляется условный максимальный доход 1Г3(К'), опреде- ляемый по графику рис. 3.25 со входом /С = 0,75 Х2+ 0,3 (Л— Х2). Получается величина U72, для которой снова строятся графики (рис. 3.26). На каждой кривой находится максимум и строятся две кривые: х2(К) и 1Г2(К) (рис. 3.27). Осталось оптимизировать один только первый шаг. Это — уже более легкая задача, так как начальное состояние системы Ко — 2 нам известно и, значит, не должно варьироваться. Поэтому для первого шага строится только одна кривая зависимости Кг) от Xj при известном Ко (рис. 3.28), где (/<о, Кх) = юг (Ко, ^) 4- (К') = = 2—[е-^ 4- е-2 (хо-х,)] + а последний член находится по графику рис. 3.27 при входе в него с ар- гументом К' — 0,75Хг + О,3(Ко — Кг), где Ко = 2. Определяя на единственной кривой (см. рис. 3.28) максимум, най- дем окончательное (уже не условное) значение максимального дохода за все пять лет: Wmax = Гг(2) =4,35 и соответствующее ему безусловное оптимальное управление на первом шаге: *1 = 1,6. 151
6. После того, как процесс построения условных оптимальных управлений и выигрышей закончен, надо провести вторую стадию оп- тимизации, проходя, шаг за шагом, процесс управления от первого шага до последнего по цепочке: х4 -> К1 -> х2 -> К 2 -> xs -> К з -> х4 К < -> х5 -> К в. Зная х4 = 1,6, находим запас средств после первого шага: /<; =0,75^ 4-0,3 (Ко— х1) = 1,32. Войдя с этим значением К\ в график х2(/С) на рис. 3.27, находим оптимальное управление на втором шаге: Рис. 3.28 х2 = 1,02. Остаток средств после второго шага будет: Kz = 0,75 x2-j-0,3(К* —х2) =0,86. С этим значением К*2 входим в график х3(/С) (см. рис. 3.25) и находим оптимальное упра- вление на третьем шаге х3 = 0,62. Остаток средств после третьего шага: Кз = 0,75х3 + 0,3 (/<*2 -х8) = 0,54. По графику рис. 3.23 находим оптимальное управление на четвер- том шаге х4 = 0,30. Остаток средств после четвертого шага: К* = 0,75 х4 0,3 (Л|—х4) = 0,30. С этим значением К\ входим в график х5(К) (см. рис. 3.21) и находим оптимальное управление на последнем шаге х6 = 0. Итак, планирование закончено: найдено оптимальное управление, указывающее, сколько средств при начальном их запасе Ко = 2 нуж- но вкладывать в отрасль I по годам. Это управление будет: х = (1,60; 1,02; 0,62; 0,30; 0). Учитывая, что наличные средства перед началом каждого года известны и равны: Ко=2; К* = 1,32; /^ = 0,86; Кз = 0,54; ^ = 0,30, сразу же находим и количества средств, вкладываемых в отрасль II по годам: у = (0,40; 0,30; 0,24; 0,24; 0,30). Таким образом, можно сформулировать следующие рекомендации по вложению средств. Из имеющегося в начале запаса Ко = 2 и оста- 152
юшихся средств в конце каждого года нужно вкладывать по годам в от- расли 1 и И следующие суммы: трасли Год i 2 3 4 S 1 1,60 1,02 0,62 0,30 0 11 0,40 0,30 0,24 0,24 0,30 При таком распределении средств за пять лет будет получен мак- симальный доход, равный №тОх = 4,35. Остаток средств в конце периода будет равен: 0,3-0,30 — 0,09. Рис. 3.29 На рис. 3.29 изображена оптимальная траектория в фазовом пространстве (каждый этап, кроме первого, разделен на полуэтапы). Из рассмотренного примера видно, насколько сложной и кропот- ливой является пошаговая оптимизация «вручную», даже для наиболее элементарных задач (только две отрасли производства; простейшие «функции дохода» и «функции трат»). При сколько-нибудь более слож- ных условиях разработка оптимального плана методом динамического программирования практически невозможна без привлечения быстро- действующих ЭЦВМ, 153
6. ДРУГИЕ ЗАДАЧИ РАСПРЕДЕЛЕНИЯ РЕСУРСОВ Задача распределения ресурсов имеет много вариантов. Некоторые из них сравнительно мало отличаются от простейшей задачи, рассмот- ренной в §§ 4 и 5, другие настолько непохожи на нее по своей словесной формулировке, что иной раз трудно уловить в них общие черты. Здесь и в следующем параграфе мы приведем несколько примеров подобных задач. 1. Распределение ресурсов по неоднородным этапам В задаче, рассмотренной в § 4, этапы были однородными в том смысле, что «функции дохода» /(X), g(Y) и «функции траты» ф(Х), ф(У) были одинаковыми для всех шагов. Может оказаться, что они меняют- ся от шага к шагу, а именно для t-го шага они равны: h(X), ФДХ), (У)1 (i = l, 2, т). В этом случае стандартная схема решения задачи почти не меняет- ся. Основное функциональное уравнение принимает вид Wt(K)= max (*,) + £/(К-*;) + + Г(+1(фг (Х;) + Фг (К-Хг))). Условие оптимизации m-ro шага будет: Wm(K)= max [fm(Xm)+gm(K-Xm)}, 0<хт^к а во всем остальном процедура построения решения останется неиз- менной. 2. Задана о резервировании ресурсов Имеется всего одна отрасль производства и некоторый запас средств Ко, который можно вкладывать в производство не целиком, а частично резервировать. Если на i-м шаге в производство вложены средства X, то они дают доход /г(Х) и уменьшаются до <рг(Х). Требуется рационально распределить имеющиеся и остающиеся средства на т шагов так, чтобы суммарный доход за все т шагов был максимален. Нетрудно видеть, что эта задача сводится к предыдущей Дейст- вительно, резервированные средства можно считать вложенными в ка- 154
кую-то фиктивную вторую отрасль, где они не тратятся, но и не дают дохода: ^(У) = 0; фДГ) = У М..........m). С учетом этого условия задача решается совершенно так же, как зада- ча распределения ресурсов по неоднородным этапам. Геометрическая интерпретация задачи в фазовом пространстве показана на рис. 3.30. Рассмотрим частный случай задачи о резервировании ресурсов, когда на всех этапах tp( (X) — 0 (Z = 1, т), т. е. вложенные средства расходуются целиком (рис. 3.31). Так как средства тратятся целиком, то каждый горизонтальный участок траек- тории доходит до самой оси ординат. Поставленная задача сводится к отысканию максимума функции т аргументов (Хь Х2, .... Хт): т где Х2, Хт неотрицательны и ограничены условием: т 2W, (6.1) I— 1 Если доход Л(Х) (как это естественно предполагать) представляет собой неубывающую функцию вложенных средств X, то знак неравен- ства в формуле (6.1) можно отбросить, так как в этих условиях расхо- довать средства не до конца невыгодно. Заметим, что некоторые простейшие задачи резервирования ре- сурсов допускают элементарное решение и без метода динамического 155
программирования. К ним принадлежит, например, простейший чай, когда «функция дохода» на всех этапах одна и та же: (,(Х) = )2(Х)= ... = fm(X) = f(X) и средства расходуются полностью: Ф1(Х)==фДХ)= ... слу- вниз один Нетрудно убедиться, что если функция дохода выпукла (рис. 3.22), то выгоднее всего вложить все средства в какой-то этап, а в остальные не вкладывать. Если же.функция дохода выпукла вверх (рис. 3.33), то максимум дохода достигается при равномерном распределении средств между этапами: хг = х2 = ... = хт — KJm. 3. Задача распределения ресурсов между тремя и более отраслями Предположим, что в условиях задачи § 4 ресурсы распределяются не между двумя отраслями (I и II), а между несколькими: 1, II, .... (н). причем для каждой (/-й) отрасли заданы: «функция ^дохода» /г(/)(Х), выражающая доход, приносимый средствами X, вложенными на i-м году в /-ю отрасль, и «функция траты» <рг(,)(Х) < X, показывающая, насколько убывают средства X, вложенные на i-м году в /-ю отрасль. Задача отличается от рассмотренной в пунк- те 1 данного параграфа только размерностью (числом параметров, определяющих состояние системы). Например, для трех отраслей I, II и III фазовое пространство показано на рис. 3.34. Для случая более чем трех отраслей геомет- рическая интерпретация теряет наглядность, но сущность задачи ос- тается такой же. Состояние системы будет определяться уже не парой чисел X, Y, а п числами Х‘”, Х<2>, ..., Х<«>, обозначающими вложения в каждую из отраслей Процесс распреде- ления средств, как и в двумерном случае может быть разделен на этапы 156
и произведена сначала условная оптимизация (от конца к началу), а потом — безусловная( от начала к концу). Состояние системы перед началом каждого шага по-прежнему будет характеризоваться суммой средств, подлежащих распределению, т. е. одним числом /(. Сложнее будет обстоять дело с управлением. Управление на z-м шаге будет состоять в выделении средств не в одну отрасль, а в п от- раслей: п— 1 хд\ л/2»......2 х/'>. Придется находить максимум функции нескольких переменных. При числе отраслей п > 3 задача оптимизации становится очень громозд- кой и без помощи ЭВМ вряд ли может быть решена. 7. РАСПРЕДЕЛЕНИЕ РЕСУРСОВ СО ВЛОЖЕНИЕМ ДОХОДОВ В ПРОИЗВОДСТВО До сих пор в задачах о распределении ресурсов мы рассматривали «доход», приносимый предприятиями, совершенно независимо от рас- пределяемых средств; он даже мог выражаться в других единицах (например, ресурсы — в человеко-часах, а доход — в рублях). Теперь мы рассмотрим случай, когда доход вкладывается в производство (пол- ностью или частично). Разумеется, для этого доход и средства должны быть приведены к единому (денежному) эквиваленту. Задача о распределении ресурсов со вложением доходов в произ- водство может ставиться по-разному, в зависимости от того, вклады- вается доход полностью или частично и какая величина максимизи- руется. Ниже приводится ряд задач, в каждой из которых идет речь о рас- пределении ресурсов по двум отраслям производства со вложением (полным или частичным) доходов в производство, при разных целевых функциях. 1. Доход вкладывается в производство полностью, максимизирует- ся сумма всех средств (основные плюс доход) после т-го этапа. В этом случае выигрыш W представляет собой сумму всех средств, сохранившихся в обеих отраслях после завершения последнего этапа, плюс доход, данный обеими отраслями на последнем этапе. Весь этот выигрыш приобретается только на одном, последнем этапе, но он представляет собой частный случай аддитивного показателя эффективности, для которого т /= । если считать, что выигрыши на всех этапах, кроме последнего, равны нулю te»1 = ay2 = ••• =аУт=1=0; wm = W. 157
Так как всче средства (и основные и Доход) вкладываются в произ- водство на равных основаниях, нет надобности рассматривать отдельно «функции дохода» и «функции траты», а достаточно ввести для каждой отрасли только по одной функции: для отрасли I — функцию F t(X), показывающую, сколько средств (включая и доход) получится в конце t-го шага в отрасли 1 при вложении в нее средств X в начале этого ша- га. Аналогичная функция для отрасли II будетСг(У). Назовем функции ^(Х), бг(П «функциями изменения средств» на z-м этапе. Заметим, что вообще воз- можно любое из соотношений: ^(Х)>Х; Лг(Х)<Х; Ff(X)=X (аналогично для бг(У)). Рассмотрим фазовое прост- ранство, соответствующее дан- ной задаче (рис. 3.35). Таким пространством будет уже не треугольник AQB (как в зада- чах без вложения доходов), а весь первый квадрант XW (средства могут не только умень- шаться, но и расти). Траекто- рия по-прежнему состоит из ря- да звеньев, распадающихся на полузвенья; первое полузвено (для всех этапов, кроме перво- Рис 335 го) изображает перераспределе- “ ’ ' ние средств (точка S движется параллельно АВ), второе — трату и приобретени средств (точка S может двигаться в любом на- правлении). В отличие от ранее рассмотренных задач, здесь доход приносит только одно, последнее, звено, которое на рис. 3.35 выделе- но жирной стрелкой. В данном случае значение показателя W непосредственно видно на чертеже — это сумма абсциссы и ординаты точки Sm, изображающей конечное состояние системы. Задача оптимального управления: вы- вести точку на прямую АШВШ, параллельную АВ и наиболее уда- ленную от начала координат. Значение выигрыша для любой траекто- рии в фазовом пространстве представляет собой каждый из отрезков, отсекаемый прямой АаВа на осях координат. Построим схему решения этой задачи методом динамического про- граммирования, без подробных словесных объяснений (по образцу предыдущих задач). На функции FAX) и GAY) пока не будем накла- дывать никаких ограничений. Выигрыш на всех шагах, кроме последнего, равен нулю, поэтому не будем его записывать. На последнем же шаге он выражается 158
формулой: wm (К, Хт) = Fm (Хт) + Gm (К -Хп), (7.1) где /< — средства, с которыми мы подошли к последнему шагу. Основное функциональное уравнение динамического программи- рования будет: Гг(Л)= max [Гг+1(Л'(^) + Сг(/<-Хг.))), (7.2) О где К — средства, с которыми мы подошли к t-му шагу. На последнем шаге получаем условный оптимальный выигрыш, равный Wm(K) = max (Fm(Xm)-)-Gm(K—Хт)}, (7.3) о<х„ <к и условное оптимальное управление, при котором этот выигрыш до стигается: хт(К). Далее , по формуле (7.2) находим все условные выигрыши и услов- ные оптимальные управления на всех шагах, начиная с последнего, после чего процесс проходит в прямом направлении и определяются безусловные оптимальные управления на каждом шаге. Такова схема решения задачи методом динамического программи- рования при любом виде функций изменения средств Ft(X), G,(Y). Однако, если на эти функции наложить некоторые (очень естественные) ограничения, схема может быть сильно упрощена. Предположим, что все функции F^X), Gt(Y) представляют собой неубывающие функции своих аргументов, т. е. при увеличении коли- чества вложенных средств сумма дохода и оставшихся средств к концу этапа не может уменьшиться. Покажем, что при этом условный оптимальный выигрыш есть неубывающая функция от исхода каждого из предыдущих шагов, т. е. от суммы средств в его конце. Действительно, пусть исход какого-то, скажем, (i — 1)-го шага (сумма средств в его конце) равен Ki—i- Рассмотрим оптимальный выи- грыш при этом условии как функцию v Так как выигрыш приоб- ретается только на последнем шаге, то безразлично, рассматривать ли этот выигрыш за все шаги, или только за последний шаг, или за все шаги начиная с t-го. Выберем последнее: рассмотрим оптимальный выигрыш W за все шаги начиная с z-го, как функцию Ki—р Wt(K,-t). (7.4) Нужно доказать, что эта функция — неубывающая. Доказатель- ство будем вести методом полной индукции, но не от i к i -j-1, а, наобо- рот, от i 1 к I. Предположим, что доказываемое свойство справедли- во для i + 1, т. е. Wi+dKi) (7.5) есть неубывающая функция своего аргумента Kt (суммы средств в конце z-ro шага). Докажем, что тогда неубывающей функцией будет и (7.4). Действительно, согласно уравнению (7.2) (где К^ обозначено 159
просто К) функция Wt(Kt—i) представляет собой максимум выраже- ния Wl+ , (Гг (Хг) + G; (Ki-! —Xz)) (7.6) Покажем, что (7.6) есть неубывающая функция от Kt-i, тогда будет ясно, что и ее максимальное значение W^Kt-d с увеличением Кг_, убывать не может. Зафиксируем какое-то значение Kt-i- Пусть для этого значения выражение (7.6) достигает максимума по Xt, равного W^Kt-i), при определенном управлении х,. Придадим теперь величине Хг_, не- которое, положительное приращение AKt-i. У нас образовался не- который избыток средств, который мы можем вложить дополнительно либо в отрасль I, либо в отрасль II, либо в обе сразу. Так как функции Ft(X), G;(Y) неубывающие, то от такого «добавления» средств каждое слагаемое под знаком функции (7.6) может только увеличить- ся, а значит, и их сумма может только увеличиться, а не стать мень- ше. Что при этом станет с функцией (7.6)? Согласно нашему допущению, функция — неубывающая, значит, при увеличении Kt—i вы- ражение (7.6) уменьшиться не может. Итак, переход от i + 1 к i дока- зан. Покажем теперь, что наше свойство справедливо для последнего шага (i + 1 = т). Это доказывается просто. По формуле (7.3) выигрыш на т-м шаге при оптимальном управлении представляет собой макси- мум выражения Fm^m) + Gm(K,n-i-Xm) и, естественно, является неубывающей функцией от Km-i (это только что было доказано для любого i, а значит, и для i = т). Таким обра- зом, Wm(Km-i) есть неубывающая функция Кт-\, а значит, согласно принципу полной индукции, и любой из выгрышей Wi (Ki-i) — неубы- вающая функция, что и требовалось доказать. Из доказанного вытекают очень простые рекомендации по опти- мальному управлению. Действительно, если окончательный оптималь- ный выигрыш есть неубывающая функция от общей суммы средств, реализуемой на исходе каждого шага, то оптимальное управление со- стоит в том, чтобы в результате каждого шага получать максималь- ное значение этой суммы средств. Значит, управление каждым отдель- ным шагом можно выбирать исходя из интересов этого отдельного шага, не учитывая остальных. Эта особенность поставленной задачи приводит к тому, что процесс планирования сильно упрощается. Нет уже надобности в сложной про- цедуре нахождения условных оптимальных выигрышей и условных оптимальных управлений — для каждого шага, начиная с первого, сразу находится безусловное оптимальное управление. На первом шаге нужно выбрать то управление х1( при котором обращается в максимум Ki — сумма средств после первого шага: Ki = max (Л№) ( Gi(/<o—Хх)}. О /С» 160 На втором — то управление, при котором обращается в максимум величина F2(X2) + G2(Ki — Х2): /<2= max {F2(X2)+G2(K*-X)}, 0<Х2 и т. дГдо Кт-\- Максимальный выигрыш на m-м шаге будет равен: Wm= max {Fm (Xm)4-Gm(X,*-i—Xm)). Таким образом, при неубывающих функциях Ft(X), Gt(Y) постав- ленная задача распределения ресурсов только внешне похожа на за- дачу динамического программирования, а по существу — гораздо про- ще ее. Подобные вырожденные задачи динамического программирования, где оптимальное управление состоит в простой оптимизации каждого шага, нередко встречаются на практике. Если, не обратив внимания на такую их особенность, решать их все же методом динамического программирования, решение, разумеется, будет верным, но потребует во много раз больше времени, чем если бы сразу учесть их вырож- денность. 2. Доход вкладывается в производство полностью на всех этапах, кроме последнего; максимизируется доход на последнем шаге. Задача отличается от рассмотренной выше тем, что максимизи- руется не сумма оставшихся средств плюс доход на последнем шаге, а только один доход на последнем шаге, независимо от того, сколько средств сохранилось от первоначально вложенных. Для того, чтобы отделить сумму оставшихся средств от дохода, нужно для последнего шага задать не функции изменения средств, а по отдельности «функции дохода» fm(X), gm(Y) и «функции траты» фт(Х), Фт(^)- Легко убедиться, что задача так поставленная, сводится к пре- дыдущей. Действительно, полагая на последнем шаге Fm(X) — fm(X); Gm(Y)=gm(Y), получаем условия п. 1. Естественно, что если все функции Ft(X), Gt(Y) (i = 1, ..., m) — неубывающие, данная задача, как и предыдущая, будет вырожденной. 3. Доход вкладывается в производство не полностью, а какая-то часть его отчисляется; максимизируется полный отчисленный доход на всех этапах плюс остаток средств после т-го этапа. Для решения этой задачи должны быть заданы «функции дохода»: П(Х), gi(Y) (i = l,...,m), «функции траты»: Фг(Х)<Х; ^(Y)^Y (i=l............ m), и еще, дополнительно, «функции отчислений»: /ДП)^£> (i = l, .... m), 6 Зак. 573 161
показывающие, какая часть дохода D, полученного на i-м шаге, не вкладывается в производство на следующем (i + 1)-м шаге, а отчис- ляется. Наметим схему решения задачи методом динамического програм- мирования. Состояние системы перед началом z-ro шага будем характе- ризовать количеством средств X, подлежащих распределению; оно получается из исхода предыдущего шага путем отчисления определен- ной доли дохода. Выигрыш на z-м шаге будет wt Xt) = г; (fг (Хг)+§г (X -Хг)). Управление X, на i-м шаге (вложение средств Х( в отрасль I, а ос- тальных средств — в отрасль II) переводит систему из состояния К в новое состояние: Х' = Фг(Х;) + фг(Х-Х0+Гг(Хг) + (х -ха-с- а- (ха+gi (х-хг)). Основное функциональное уравнение: Wi (К) + + + W, +, (Ф/ (Хг) + фг (X -Хг) + ft (Хг) + +gi (к -xj+rs (jt (хг)+gi (к -ха))}. Условный оптимальный выигрыш на т-м шаге: Wm(K)= max {UXj+gUX-XJ-Wm(Xj + WX-Xm)}. о<хт<к / В остальном схема динамического программирования остается той же, как и раньше, для невырожденных задач распределения ре- сурсов. Рекомендуем читателю в качестве упражнения набросать схемы решения следующих задач распределения ресурсов. 4. Доход вкладывается в производство не полностью, а частично', максимизируется только полный отчисленный доход за все т шагов, без учета оставшихся средств. 5. Доход вкладывается в производство не полностью, а частично', максимизируется суммарное количество средств (основные плюс доход) после т-го шага, без учета ранее отчисленных сумм. Не будет ли какая-нибудь из этих задач при некоторых условиях вырожденной? *в2
8. РЕШЕНИЕ ЗАДАЧИ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ С УЧЕТОМ ПРЕДЫСТОРИИ ПРОЦЕССА Все задачи динамического программирования, которые мы до сих пор рассматривали, отличались следующей особенностью: «доход» wt на каждом z-м шаге и максимальный доход W начиная с Z-ro шага и далее зависели только от состояния S системы S перед данным, Z-м шагом и от примененного управления U h но не зависели от того, ка- ким образом (каким путем) система пришла в состояние S, т. е. в ре- зультате каких управлений, когда и как это произошло. Другими сло- вами, задачу оптимизации управления на каждом (Z-м) шаге мы реша- ли с учетом настоящего состояния S, но без учета предысто- рии процесса. Например, решая задачу распределения ресурсов между двумя (или более) отраслями производства, мы в качестве характеристики состояния системы перед каждым шагом брали одну величину — имею- щиеся в нашем распоряжении средства К; нам совершенно не было дела до того, когда и как система пришла в это состояние, т. е. как рас- пределялись средства между отраслями на всех предыдущих этапах. Важно было только количество средств К, с которым мы пришли к оче- редному шагу. Во многих задачах динамического программирования эта «неза- висимость от предыстории» не имеет места. Например, доход на Z-m шаге может зависеть не только от количества средств, вложенного в каждую отрасль на данном шаге, а еще и от того, какие средст- ва и на каких шагах вкладывались в нее ранее. Теоретически всегда можно учесть предысторию процесса с по- мощью следующего приема: включить в число фазовых координат, ха- рактеризующих состояние S системы S перед данным шагом, все те параметры из прошлого, от которых зависит будущее. Например, если доход на Z-м шаге зависит не только от вложенных средств Xt, но и от ранее вложенных средств Z, можно характеризо- вать состояние системы перед Z-м шагом не просто имеющимся в нашем распоряжении запасом средств К, а совокупностью (К, Z), где Z — ранее вложенные средства. Если существенна не только общая сумма ранее вложенных средств, но и когда именно и сколько средств вкладывалось — в прин- ципе можно «обогатить» состояние S и этими сведениями из прошло- го. Таким образом, теоретически всегда можно ввести в число парамет- ров, характеризующих состояние системы в настоящий момент, сколь- ко угодно параметров из «прошлого». Однако, на практике такое «обо- гащение» фазового пространства быстро приводит к необозримо слож- ной схеме динамического программирования, настолько сложной, что самый метод перестает быть пригодным. Ведь главная идея динами- ческого программирования: «вместо того, чтобы один раз решать сложную задачу, много раз решать сравнительно простую» перестает себя оправдывать, если «простая» задача перестает быть «простой». 6* 163
Поэтому попытки решать методом динамического программиро- вания задачи со сложным влиянием «предыстории» обычно ни к чему хорошему не приводят. Однако, если влияние «предыстории» может быть учтено с помощью небольшого числа параметров (одного, двух, трех), иногда удается построить сравнительно простую схему динамического программиро- вания и решить задачу оптимизации. В качестве примера задачи «с предысторией» рассмотрим задачу о профилактическом ремонте техники. Задача ставится следующим образом. Имеется техническое устройство S, эксплуатируемое в течение т лет. Эксплуатационные расходы зависят от следующих факторов: — от «возраста» устройства t, т. е. количества лет, протекшего со времени ввода его в эксплуатацию; — от количества профилактических ремонтов k, произведенных до момента t; — от количества лет т, протекшего со времени последнего профи- лактического ремонта*». Предположим, что профилактический ремонт производится (если производится) мгновенно и в начале года. Естественно предположить, что затраты на этот ремонт (стоимость ремонта) зависят от тех же ар- гументов t, k и т, что и эксплуатационные расходы. Мы хотим так распределить профилактические ремонты по годам, чтобы сумма общих затрат (эксплуатационные расходы плюс расходы на ремонт, если он производился) достигали минимума. Поставленная задача может быть решена методом динамического программирования, если характеризовать состояние системы (техни- ческого устройства 5) к началу каждого шага тремя фазовыми.коорди- натами: t — «возрастом» системы, k — количеством ремонтов в прош- лом ит — временем, протекшим с момента последнего ремонта. Чтобы решить задачу оптимизации управления, нужно задать- как эксплуатационные расходы, так и расходы на ремонт в функции от этих фазовых координат. Введем следующие обозначения. Эо(/) — стоимость эксплуатации устройства за год, начинающийся в момент /, если до момента t никакого ремонта не производилось; Эх(/, т) — стоимость эксплуатации устройства за год, начинаю- щийся в момент I, если до момента t производился один ремонт, и со времени этого ремонта прошло т лет; и вообще Эй(/, т) — стоимость эксплуатации устройства за один год, начи- нающийся в момент t, если до момента t производилось k ремонтов, и со времени последнего из них прошло т лет. *) Строго говоря, эксплуатационные расходы зависят не только от времени т, прошедшего после последнего ремонта, но и от сроков предыдущих k ремонтов; но эта зависимость слаба, и ее можно не учитывать. 164
R0(t) — стоимость ремонта, производимого в момент t, если до момента t никакого ремонта не производилось; /?!.(/, т) — стоимость ремонта, производимого в момент t, если до момента t производился один ремонт, и со времени этого ремонта прош- ло т лет; и вообще Rk((, т) — стоимость ремонта, производимого в момент t, если до момента t производилось k ремонтов, и со времени последнего из них прошло т лет. Будем изображать состояние технического устройства S точкой S в фазовом пространстве; по одной раст» устройства — время /, по другой — время т, протекшее с момента последнего ремонта, по третьей — количество ремонтов k (рис. 3.36). Так как при всех условиях т < t и k < t, то все возможные состояния системы будут изображаться точками внутри трехгранного угла QAIB. Если до момента t ремонта не было, точка S находится на оси 0/; если был один ре- монт — точка S находится в плоскости КО'L, параллельной /От и отстоящей от нее на рас- стояние 1, и т. д. Чтобы не пользоваться пространственной картиной, «расслоим» фазовое пространство на несколько частей, которые мы будем обозна- чать: (0), (1), (2)..........(k), ... Часть (0) фазового пространства представляет собой просто ось 0/; часть (1) — треугольник на плоскости КО'L, часть (2) — треуголь- ник на плоскости, параллельной /От и лежащей от нее на расстоянии 2 и т. д. С увеличением номера пространства размеры треугольников все время уменьшаются. Части фазового пространства (0), (1), (2), ..., (k), ... показаны на рис. 3.37. Перед началом каждого года у нас есть выбор между двумя уп- равлениями: U° — не делать ремонта (продолжать эксплуатировать устройст- во S). U1 — сделать ремонт (и после него продолжать эксплуатировать устройство). Посмотрим, какие перемещения в фазовом пространстве испыта- ет точка 5 под действием каждого управления. 165
Пусть точка S находится в пространстве (0) — на оси 01 в точке с координатой I (см. рис. 3.37). Под влиянием управления £/° (продол- жать эксплуатировать) она за год переместится в точку с абсциссой t 4- 1 на той же оси. Под влиянием управления U1 (сделать ремонт) она переместится в точку S' в пространстве (1) с координатами (t 1, 1). Вторая коор- дината т = 1, так как ремонт производится в начале года, т. е. за год до конца очередного шага. Теперь пусть точка S занимает какое-то положение в про- странстве (1). Управление U° (продолжать эксплуатировать) приведет к тому, что как t, так и т за один шаг увеличатся на одну едини цу, т. е. точка S переместится вверх и вправо (параллельно гипо- тенузе треугольника) в точку с координатами (t + 1, т -f- 1), если прежние координаты были (/, т). Если же мы применим управле- 166
ние IP (сделаем ремонт), точка переместится в пространство (2), в точ- ку S' с координатами (/ + 1, 1). Вообще, если точка S находится в пространстве (k) (k 1), то управление [7° перемещает ее на один шаг вправо и вверх, из точки с координатами (/, т) в точку с координатами (/ 4- 1, т -f- 1), а управ- ление U1 — в следующее по порядку пространство (k 4~ 1), в точку с координатами (/4-1, 1). Запишем правила перехода точки S в фазовом пространстве под влиянием управлений U° и IP в виде «таблицы преобразования» (см. табл. 8.1, первые пять столбцов). Таблица 8.1 Исходное положение Новое состояние Расход на данном шаге, начинающемся в момент t простран- ство координа- ты Управление простран- ство координаты (0) (/) U0 и1 (0) (1) (/+1) (/+1,1) Эо (/) ^(О+Э! (/, 0) (1) (1, Т) и° IP- (1) (2) (/-Н,т+1) (/+1,1) Э1 (/, Т) Я1(/, т)+Э2(/, 0) • • • • (*) (i, т) и0 и1 (*) (*+D (/4*1 ,т+1) (/+1,1) Эй (/, т) /?й(/,т)+ЭА+1(/,0) • • • • . . . Таким образом, нам ясно, как перемещается точка в фазовом пространстве под влиянием любого управления, т. е. мы знаем функ- цию S' = <p(S, t/), согласно которой меняется состояние системы под влиянием приме- ненного управления U (U = U°, LP). Теперь посмотрим, к какому «выигрышу» — расходу wt на дан- ном шаге приведет каждое управление. Если мы применим управле- ние U°, то на данном шаге мы будем иметь только эксплуатационные расходы; если управление IP — расходы на ремонт плюс эксплуата- ционные на ближайший год, но другие, чем если бы ремонта не было. Запишем эти расходы в той же табл. 8.1 в виде добавочного столбца. Пользуясь этой таблицей, мы можем теперь для любого состоя- ния системы S и любого управления (U° или IP), примененного в лю- бой момент /, найти: — куда переместится точка S под действием управления; — к какому расходу средств это приведет. После того, как такая таблица составлена, уже нетрудно органи- зовать самую процедуру оптимизации. Мы начнем, как всегда, с по- следнего шага, переберем все возможные состояния системы перед 167
этим шагом и для каждого из них найдем условное оптимальное уп- равление (U° или U1) на m-м шаге и условный оптимальный выигрыш (минимальный расход) на последнем шаге. Далее будем оптимизировать (т — 1)-й шаг, так чтобы он, в совокупности с уже оптимизирован- ным m-м, дал минимальный расход и т. д. Продемонстрируем эту методику на конкретном примере. Пример. Участок железнодорожного пути эксплуатируется в течение т—б лет. Эксплуатационные расходы за один год, начинающийся в момент t, (в условных единицах) выражены функциями: Эо((), 3r(t, т), Э2(/, т), Э3(/, т), Э4(/, т), Э6(/, т) (индекс — количество предшествующих ремонтов, т — коли- чество лет, протекшее с последнего ремонта пути). Стоимость ремонта задана функциями R0(t), Ri(t, т), R2(t, т), R3(t, т), R^t, т). Значения функций Эи/? приведены в табл. 8.2 и 8.3. Таблица 8.2 Функция t 0 2 3 4 5 э„ (О 1.9 2,5 3,1 4,0 5,1 6,6 э, (t, Т) / X —«ч 0 1 2 3 4 5 0 2,2 2,4 3,8 5,0 6,3 1 — — 2,5 3,9 5,1 6,4 2 — — — 4,0 5,1 6,5 3 — — — — 5,1 6,6 4 — — — — — 6,6 Эг (t, г) t X 0 I 2 3 4 4 б 0 2,3 3,7 4,8 5,5 1 — — — 3,8 4,9 5,7 2 — — — — 5,0 6,0 3 — — — — — 6,2 Э3 (/, г) X. / т 0 1 2 3 4 5 0 2,8 3,9 4,5 1 — — — — 4,0 ‘ 4,7 2 — — — — — 5,5 Э4 <J, т) 0 1 2 3 4 5 0 — — — — 3,5 4,2 1 — — — — — 4,5 Эз (t. г) f X 0 1 2 3 4 5 0 1 — — — — 3,8 168
Таблица 8.3 функция 1 2 3 4 5 R» (0 — 1,2 1,4 1,8 2,3 3,0 Ri (t, т) 1 1,2 1,4 1,9 2,4 2 —— — 1,5 2,0 2,5 3 — — — 2,1 - 2,6 4 — — — — 2,9 «г (/. 1 2 3 4 5 1 1,2 1,5 2,0 2 — —— — 1,6 2,1 3 — — — — 2,3 R, (1. г) 1 2 3 4 5 1 — — — 0,.8 1,1 2 — — — — 1,4 R, (/, г) 1 2 3 4 5 1 — — — 1,0 Таблица 8.4 Условная оптимизация шестого шага Про- странство Состояние систе- мы (координаты Г г) Расход при управлении Расход при уп- гравлении U1 Оптимальное управление Минималь- ный расход (0) 1=5 6,6 3,0+6,3=9,3 и» 6,6 (1) (5,1) 6,4 2,4+5,5=7,9 и° 6,4 (5,2) 6,5 2,5+5,5=8,0 и° 6,5 (5,3) 6,6 2,6+5,5=8,1 и° 6,6 (5,4) 6,6 2,9+5,5=8,4 и° 6,6 (2) (5,1) 5,7 2,0+4,5=6,5 и° 5,7 (5,2) 6,0 2,1+4,5=6,6 и0 6,0 (5,3) 6,2 2,3+4,5=6,8 и0 6,2 (3) (5,1) 4,7 1,1+4,2=5,3 и» 4,7 (5,2) 5,5 1,4+4,2=5,6 и° 5,5 (4) (5,1) 4,5 1,0+3,8=4,8 и° 4,5 169
Таблица 8.5 Условная оптимизация пятою шага 1 Прост- ранство Состояние системы (коорди- наты /. т) Расход при управ- лении 0° 1 Расход при управ- лении Ui Оптималь- ное уп- равление Мини- мальный расход (0) 1 = 4 5,14-6,6=11,7 2,3+5,0+6,4= 13,7 и0 11,7 (1) (4,1) (4,2) (4,3) 5,1+6,5=11,6 5,1+6,6=11,7 5,1+6,6=11,7 1,9+4,8+5,7=12,4 2,0+4,8+6,0=12,8 2,1+4,8+6,2=13,1 и° и° и0 Н,6 11,7 Н,7 (2) (4,1) (4,2) 4,9+6,0=10,9 5,0+6,2=11,2 1,5+3,9+4,7=10,1 1,6+3,9+4,7=10,2 и1 и1 10,1 10,2 (3) (4,1) 4,0+5,5=9,5 0,8+3,5+4,5=8,8 и1 8,8 Условная оптимизации четвертого шага (0) 1=3 4,0+11,7=15,7 1,8+3,8+11,6=17,2 и0 15,7 (1) (3,1) (3,2) 3,9+11,7=15,6 4,0+11,7=15,7 1,4+3,7+10,1 = 15,2 1,5+3,7+10,1=15,3 и1 и1 15,2 15,3 (2) (3,1) 3,8+10,2=14,0 1,2+2,8+8,8=12,8 и1 12,8 Условная оптимизация третьего шага (0) 1=2 3,1+15,7=18,8 1,4+2,4+15,2=19,0 I/O 18,8 (1) (2,1) 2,5+15,3=17,8 1,2+2,3+12,8=16,3 и1 16,3 Условная оптимизация второго шага (0) 1=1 2,5+18,8=21,3 1,2+2,2+16,3=19,7 и1 19,7 Оптимизация первого шага (0) 1=0 2,0+19,7=21,7 — и° 21,7 Решение. Пользуясь таблицами функций 8.2 и 8.3 и таблицей преобра- зования 8.1, развернем процесс динамического программирования. Как всегда, начнем с оптимизации последнего (шестого) шага. Все возможные состояния системы $ перед этим шагом будут изображаться точками с абсциссой t = 5 в пространствах (0), (1), (2), (3), (4) (см. рис. 3.38). Для шестого (последнего) шага оптимальным будет то управление (UQ или U1), при ко- тором расход на последнем шаге минимален. Расходы будем вычислять согласно последнему столбцу табл. 8.1. На рис. 3 38, кроме состояния системы, мы будем обозначать еще и оптимальное управление: U° будет обозначаться стрелкой, направленной вправо (в пространстве (0)) и вправо и вверх (в остальных про- странствах). Управление U1 , выводящее точку из данной части фазового про- странства и переводящее в следующую по порядку часть, будем изображать стрелкой, направленной вправо и вниз У каждой точки внутри кружка будем записывать минимальный расход на всех оставшихся шагах, соответствующий данному состоянию системы (условный оптимальный выигрыш). 170
Рис, 3.38 171
Расчеты, связанные с оптимизацией, будем оформлять в виде таблиц (см табл. 8.4 и 8.5 на стр 169, 170) Таким образом, оптимизация закончена Она привела нас к следующим выводам. Минимальный расход равен 21,7. Достигается он при следующем оптималь- ном управлении: и = (f/о, (/1, U\ U1, U°), т. е.: — на первом году участок эксплуатируется без ремонта; — в начале второго, третьего, четвертого и пятого годов производится ре- монт; — на шестом году участок эксплуатируется без ремонта. При этом расходы достигают минимума, равного 21,7 условных единиц*). 9. ЗАДАЧИ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ, НЕ СВЯЗАННЫЕ СО ВРЕМЕНЕМ До сих пор мы рассматривали только такие задачи динамическо- го программирования, где планируемая операция развивалась во вре- мени и распадалась на ряд шагов (этапов), следующих друг за другом в естественном, временном порядке — от первого шага к последнему. Вообще, это не обязательно: разбиение на шаги или «этапирование» в задачах динамического программирования может быть произведено не по времени, а по любому другому признаку, например, по поряд- ковому номеру того или другого объекта. В качестве примера рассмотрим следующую задачу. Пусть имеется группа предприятий Пт, П2....Пга, (9.1) которые выпускают одну и ту же продукцию. В нашем распоряжении— какой-то запас средств Кд, который мы можем вложить в группу пред- приятий (9.1) с тем, чтобы произвести сверх плана максимальное ко- личество продукции. Предположим, что каждое предприятие может освоить только ограниченное количество средств, и fei, k2, .... km (9.2) представляют собой максимальные суммы, которые могут освоить соот- ветственно предприятия (9.1). Если в предприятие Пг вложены сред- ства X, оно даст <Рг(Х) единиц дополнительной (сверхплановой) про- дукции. Требуется так распределить имеющиеся средства между предприя- тиями, чтобы суммарный объем W дополнительной продукции был мак- симальным. Управление средствами состоит в том, что предприятиям выделяются соответственно средства: хи хг, .... хт, *) При анализе этого примера следует иметь в виду, что численные данные выбра- ны из методических соображений и ничего общего с реальностью не имеют. 172
не превосходящие в сумме имеющегося капитала Ко' I т / 2W0, г=1 р требуется найти оптимальное управление, при котором W = 2 wt = max, i=i где wt — дополнительная продукция z-ro предприятия. Поставленная задача легко решается методом динамического программирования; «этапом» процесса распределения средств явля- ется выделение средств z-му предприятию. Будем нумеровать этапы (шаги) в порядке номеров предприятий (т. е. в произвольном порядке). Предположим, что средства предприя- тиям Пп ..., Пет__] уже выделены, и к последнему, m-му шагу мы приш- ли с каким-то запасом средств К. Очевидно, оптимальное управление на последнем шаге состоит в том, чтобы выделить m-му предприятию все оставшиеся средства К, если они не превосходят km, и максимально возможное количество средств kmt, если К km. Таким образом, условное оптимальное управление на последнем шаге: К при К < km, km при К > km. При таком управлении максимальный доход на последнем шаге будет ^т(Ю = №т(/<) = фт(хт(К)). (9.3) Перейдем к планированию предпоследнего шага — выделению средств на (т— 1)-е предприятие. Пусть после т — 2 шагов в нашем распоряжении остались средства К. Мы должны выбрать такое управ- ление Хщ—1 km — 1, при котором доход на (т— 1)-м шаге плюс уже оптимизированный доход на последнем обращается в максимум: Wm^(K)= max + (9.4) 0 1 ^Ktn— 1 И Т. Д. Основное функциональное уравнение динамического программи- рования будет Wt(K)= max {фг(Хг) + Г/+1 (К-Хг)), (9.5) о <х. а вся процедура условной и безусловной оптимизации ничем не отли- чается от той задачи о распределении ресурсов по неоднородным эта- пам с резервированием, которую мы рассматривали выше, в § 6. хт(К) = I 173
Таким образом, метод динамического программирования, который первоначально представлялся нам как специфический метод оптими- зации процессов, развивающихся во времени, имеет гораздо более шиА рокое поле применений. Пример. Предстоит спроектировать многоступенчатую космическую раке-^ ту в пределах определенного стартового веса G Кабина космонавта имеет задан- ный вес gK. Предполагается, что ракета будет иметь т ступеней. Стартовый вес 1 ракеты складывается из весов всех ступеней ракеты плюс вес кабины: б = Со + £к, где (?о — вес, выделенный на все т ступеней. Каждая ступень имеет какой-то запас горючего. После израсходования горючего отработанная ступень сбрасывается и вступает в действие следующая. Скорость ракеты в конце активного участка W складывается из т прира- щений скорости и»г, ш2, ..., wm, которые она приобретает на отдельных участках траектории, в результате работы каждой ступени. Добавочная скорость шг, при- даваемая ракете на i-м шаге, зависит, во-первых, от веса Х{, выделенного на t-ю ступень, и во-вторых, от того пассивного веса Р, который приходится нести этой ступени: шгМ(Хг, Р). (9.6) Требуется найти такое распределение веса по отдельным ступеням, при котором скорость в конце активного участка максимальна. Решение. Рассмотрим т ступеней ракеты как т этапов набора скорости Состояние S системы перед началом каждого шага мы будем характеризовать одним параметром Q — оставшимся весом, подлежащим распределению между ступенями Управление на t-м шаге состоит в выборе веса Xt, отводимого из ос- тавшегося веса Q на данную, t-ю ступень. Так как приращение скорости, согласно формуле (9.6), зависит от двух ар- гументов — веса ступени и пассивного веса Р, определим этот пассивный вес Очевидно, он равен Р = Q — Xrl~ gK, и приращение скорости будет: ^=/(Лг, Q-xi+gK). Под влиянием управления Xg система переходит из состояния Q в состоя- ние Q' = Q — Xi Основное функциональное уравнение будет иметь вид: 1У.((?) = тах{/(Хг, Q-X. + gK)4-F/+I (Q-X)}. (9.7) Оптимальное управление на t-м шаге есть то значение Xg = хг, при ко- тором достигается этот максимум. Оптимальное управление на m-м шаге (при естественном предположении, что с увеличением веса, отводимого на ступень, приращение скорости увеличи- вается), состоит в том, чтобы отвести на последнюю ступень весь оставшийся вес Q При этом на последнем шаге будет приобретена скорость: Fm(Q) = HQ, Ы- (9.8) Далее процедура динамического программирования разворачивается обыч- ным порядком. В результате находится оптимальный набор весов ступеней- х = (хь х2...хт), (9.9) придающий последней ступени (кабине) максимальную скорость: W'max=F1(Qo). 174
10 ЗАДАЧИ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ I С МУЛЬТИПЛИКАТИВНЫМ КРИТЕРИЕМ До сих пор мы рассматривали только такие задачи динамического программирования, в которых выигрыш (критерий, или показатель эффективности) складывался из суммы выигрышей wt на отдельных ша- гах: (Ю.1) i= I т. е. был аддитивен. Иногда возникают задачи, в которых величина W представляет собой не сумму, а произведение: «7= П wt, (10.2) i= 1 где wt — выигрыш на г-м шаге (предполагается, что все Wt положитель- ны). Такой показатель или критерий эффективности называется мультипликативным. Нетрудно убедиться, что любая задача с мультипликативным кри- терием может быть сведена к задаче с аддитивным критерием. Для этого достаточно, например, прологарифмировать выражение (10.2) и искать решение, обращающее в максимум логарифм величины W. Так как логарифм — возрастающая функция, то максимум логарифма соответствует максимуму величины W. Однако для решения задач с мультипликативным критерием нет прямой надобности непременно логарифмировать его. Вся процедура динамического программирования может быть для этого случая по- строена непосредственно. В основу ее кладется такой выбор условного оптимального управления на каждом шаге, при котором обращается в максимум выигрыш на всех оставшихся шагах, равный произведе- нию выигрыша на данном шаге и уже оптимизированного выигрыша на всех последующих шагах. Основное функциональное уравнение динамического программи- рования для этого случая будет иметь вид: Wt (S) = max К (S, Wl+, (Фг (S, Дг))}, (10.3) а условие оптимальности последнего шага сохранится в том же виде, как при аддитивном критерии: rm(S) = rnax{®m(S, Дт)}. (10.4) Um Вся процедура динамического программирования с мультипли- кативным критерием ничем не отличается от обычной, кроме того, что под знаком максимума стоит не сумма, а произведение. Рассмотрим одну из типичных задач динамического программиро- вания с мультипликативным критерием. 175
Распределение средств для повышения надежности технического устройства Имеется техническое устройство S, состоящее из т элементов, или узлов Эх, Э2, ... Эт (см. рис. 3.39). Безотказная работа каждого элемента безусловно необходима для работы устройства S в целом. Элементы могут отказывать (выходить из строя), причем незави- симо один от другого. Надежность (вероятность безотказной работы) всего устройства равна произведению надежностей всех элементов: tn Р = п pt, (10.5) i=l где pt — надежность z-ro элемента. В нашем распоряжении имеются некоторые средства Ко (в денеж- ном, весовом или ином выражении), которые можно употребить на по- Рис. 3.39 вышение надежностей элементов. Количество средств X, вложен- ное в приспособления, повышаю- щие надежность z-го элемента, до- водит ее до значения Pt^fi(X). (10.6) Все функции fi(X) — неубывающие. Требуется определить оптимальное распределение средств по эле- ментам, Приводящее к наибольшей надежности устройства в целом. Задача решается методом динамического программирования. Пе- ред нами — задача с мультипликативным критерием. Выигрыш на t-м шаге Pt — fi(Xt), где управление X, — количество средств, вло- женное в г-й элемент. Основное функциональное уравнение имеет вид: № max {fi(Xi)-Pi+l(K-~Xi)], (10.7) где Pt(K) — условный оптимальный выигрыш, т. е. максимальная на- дежность устройства, составленного из всех элементов, начиная с z-ro и до m-го, если после i — 1-го шага, т. е. после обеспечения средствами предыдущих i — 1 элементов, в нашем распоряжении остались сред- ства К- Условное оптимальное управление на z-м шаге хг(К) — то ко- личество средств, при котором достигается этот максимум. Как и во всех задачах распределения ресурсов, где средства рас- ходуются до конца, а выигрыш — неубывающая функция, оптималь- ное управление на последнем шаге состоит в том, чтобы выделить на этот шаг все оставшиеся средства: = (10.8) При этом достигается условный оптимальный выигрыш, равный Рт(К)ЧМ- i (10.9) 176
Последовательным применением формулы (10.7) для i — т— 1, т — 2....2, как всегда, находим условные оптимальные управления Хт — I (ТС), Хт—2 (ТС), ..., ^2 (ТС) и условные оптимальные выигрыши Рт_,(К), Рт-2 (К), .... Р2 (К). Первый шаг в данном случае оптимизируется не условно, а без- условно, так как исходное количество средств Ко задано: />i(Ko) = max (f1(X1).P2(K0-X1)}. (10.10) 0 X, /Со То управление Х1 = Х1(/С0), при котором достигается максимум (10.10), и есть безусловное опти- мальное управление на первом шаге, а Р^К^) — безусловный опти* мальный выигрыш, т. е. максимально достижимая данными средства- ми надежность устройства. Далее оптимальное управление строится по схеме: К Г = Ко—хг хг Ki = К*—х2 ... Кт— 1 — Кт — i~Xm — 1 ~> Хт—> Кт — 0. 11. БЕСКОНЕЧНОШАГОВЫЙ ПРОЦЕСС ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ Все задачи динамического программирования, которые мы рас- сматривали до сих пор, относились к процессам, разделяющимся на конечное число т шагов. Разумеется, все практические задачи, свя- занные с планированием экономических и подобных им операций, от- носятся к этому классу — планировать имеет смысл только на конеч- ный (пусть даже очень большой) участок времени вперед. Однако, есть задачи, в которых этот участок времени представляется заранее не вполне определенным, и нас может интересовать решение задачи оптимального планирования безотносительно к тому, на каком именно шаге операция закончится. В таких случаях иногда бывает целесооб- разно рассмотреть в качестве модели явления некоторый идеализи- рованный бесконечношаговый управляемый процесс, ко- торый получится из реального при т -> оо. Эта модель удобна тем, что в ней не существует исключительного по своей роли «последнего ша- га» — все шаги между собой равноправны, процесс В известном смысле однороден. Условное оптимальное управление в таком процес- се оказывается не зависящим от номера шага, а зави- сящим только от состояния S системы S перед началом шага. Разу- меется, для этого нужно, чтобы шаги были однородными, т. е. функции, определяющие доход и изменение состояния системы под действием управления, были для всех шагов одинаковыми. 177
Следует подчеркнуть, что в однородном бесконечношаговом про- цессе одинаковыми для всех шагов оказываются только условные оптимальные управления; что касается безусловного опти- мального управления, то оно, будучи зависимым от состояния систе- мы, достигнутого к данному шагу, в общем случае меняется от шага к шагу. Заметим, что в отличие от конечношаговых задач, для которых оп- тимальное управление всегда существует, бесконечношаговые задачи могут и не иметь решения. Чтобы убедиться в этом, рассмотрим эле- ментарный пример. Пусть имеется задача распределения ресурсов с резервированием (см. § 6), но с бесконечным числом шагов. Средства X, вложенные в производство, дают за год доход /(X) и расходуются до конца. В на- шем распоряжении имеется исходный запас средств Ко, который тре- буется оптимальным образом распределить по годам, так чтобы сум- марный доход был максимален. Существование и вид решения зависит от того, каков вид функции f(X). Предположим, что эта функция выпукла вниз (рис. 3.40). Тогда очевидно, что оптимальное решение существует и состоит в том, .чтобы вложить в производство все имеющиеся средства в пер- вый же год. Действительно, предположим, что мы, например, разделили средства пополам, первую половину вложили в производ- ство на первом году, а вторую — на следующем году. Очевидно, это будет невыгодно, так как для выпуклой вниз функции /(X) 2f(Kol2)<f(Ko). Предположим теперь, что функция /(X) выпукла вверх (рис. 3.41). Очевидно, что в этом случае выгодно не вкладывать в производст- во все средства сразу, а «растянуть» их. Например, если мы, вместо то- го, чтобы вкладывать в производство все средства на первом же шаге, распределим их на два шага, то получим больший доход: 2f(K0/2)>f(K0), на три шага — еще больший, и т. д. При увеличении числа шагов, на которые распределяются средства, доход только возрастает. 178
Определим предел, к которому будет стремиться суммарный до- ход при неограниченном возрастании числа шагов, в которые вклады- ваются средства, и значит, при одновременном уменьшении числа средств, вкладываемых на каждом шагу. Предположим сначала, что мы планируем на т лет и каждый год вкладываем в производство одну и ту же сумму &Х = Кй1т, а затем устремим т к бесконечности, а ДХ — к нулю. Из рис. 3.42 видно, что при достаточно малом ДХ можно заменить участок кривой /(X) участком касательной в начале координат. Тогда доход, получаемый за год, будет приближенно равен Г(0)ДХ»Г (О)Хо//и, где /'(0) — значение производной функции дохода в начале коорди- нат. При этом суммарный доход за весь период т лет будет приближен- но равен (О)Хо. (11.1) При т-> оо приближенное равенство (11.1) превращается в точ- ное. Таким образом, мы получили парадоксальный вывод: чем меньше средств мы вкладываем в производство на каждом году, тем больше будет доход; в пределе, при т-+ оо, получится максимальный до- ход (П.1). Если же прямо перейти к предельному случаю и положить АХ = 0, т. е. не вкладывать в производство никаких средств, то, оче- видно, и доход будет равен нулю. Это пример бесконечношаговой задачи, где оптимального решения не существует. При любом конечном т оно су- ществует и состоит в том, чтобы вкладывать средства во все этапы по- ровну, а при бесконечном числе шагов перестает существовать. При постановке и решении бесконечношаговых задач методом ди- намического программирования всегда необходимо исследовать вопрос о существовании решения*) **. Бесконечношаговая модель в задачах динамического программи- рования в ряде случаев может оказаться проще, чем конечношаговая. Действительно, вместо ряда функциональных уравнений, решаемых одно за другим в обычной процедуре динамического программирова- ния, здесь приходится решать всего только одно функциональное уравнение для условного оптимального выигрыша, пригодное для любого шага. Запишем это единственное функциональное уравнение. Пусть бес- конечношаговый управляемый процесс происходит в физической си- *) Условия существования решения в бесконечношаговых задачах рассмотрены, например, в [10]. 179
стеме S; обозначим S — состояние этой системы после какого-то (лю- бого) шага. Под влиянием управления U система S за следующий шаг переходит в новое состояние S', зависящее от предыдущего состояния S и примененного управления L7: S' ==ф (S, U). За этот шаг мы получаем выигрыш (доход) w, также зависящий от S и U-. w — f(S, U). Тогда можно написать основное функциональное уравнение для бесконечношаговой задачи в виде: W (S) = max U(S, l/) + №(<p(S, U))\, (11.2) и где 11^(5) — условный максимальный выигрыш, который можно по- лучить, управляя системой, находящейся в состоянии S. В уравнении (11.2) ЙДЗ) — единственная неизвестная функция; остальные функции (ф, /) являются заданными. Условное оптимальное управление u(S) — то управление, при котором достигается максимум (11.2). В некоторых простейших задачах удается подобрать функцию W(S) так, чтобы она удовлетворяла уравнению (11.2). Общих методов аналитического решения функциональных уравнений не существует. В случаях, когда подобрать функцию W(S), удовлетворяющую урав- нению (11.2), не удается, прибегают к приближенному решению этого уравнения. Для этого может быть применен метод последовательных приближений, состоящий в следующем: решается задача динамичес- кого программирования для конечного, все возрастающего числа ша- гов т; если решение существует, то при возрастании т функции Wt(S) и ut(S), определяющие условный оптимальный выигрыш и условное оптимальное управление для шагов, достаточно удаленных от конца, стабилизируются, приближаясь к соответствующим функциями U7(S) и u(S) для бесконечношагового процесса, в качестве которых они и мо-' гут быть приближенно взяты. В заключение отметим, что бесконечношаговые задачи динами- ческого программирования могут получаться не только за счет неогра- ниченного увеличения числа шагов при заданной длине каждого шага, но и за счет неограниченного уменьшения длины шага А/, когда дис- кретное поэтапное управление переходит в непрерывное. Такие задачи достаточно сложны, и мы не будем на них останавливаться.
4 МОДЕЛИРОВАНИЕ ОПЕРАЦИЙ ПО СХЕМЕ МАРКОВСКИХ СЛУЧАЙНЫХ ПРОЦЕССОВ 1. МАРКОВСКИЙ СЛУЧАЙНЫЙ ПРОЦЕСС С ДИСКРЕТНЫМИ состояниями Многие операции, которые приходится анализировать под углом зрения выбора оптимального решения, развиваются как случай - н ы е процессы, ход и исход которых зависят от ряда случайных факторов, сопровождающих эти операции. Для того, чтобы вычислить числовые параметры, характеризую- щие эффективность таких операций, нужно построить некоторую ве- роятностную модель явления, учитывающую сопровождающие его случайные факторы. Для математического описания многих операций, развивающихся в форме случайного процесса, может быть с успехом применен матема- тический аппарат, разработанный в теории вероятностей для так называемых марковских случайных процессов. Поясним понятие марковского случайного процесса. Пусть имеется некоторая физическая система S, состояние кото- рой меняется с течением времени (под системой S может пониматься что угодно: техническое устройство, ремонтная мастерская, вычисли- тельная машина, железнодорожный узел и т. д.). Если состояние си- стемы S меняется во времени случайным, заранее непредсказуемым образом, мы говорим, что в системе S протекает случайный про- цесс. Примерами случайных процессов могут быть: — процесс функционирования ЭЦВМ; — процесс наведения на цель управляемой ракеты или косми- ческого летательного аппарата; — процесс обслуживания клиентов парикмахерской или ремонт- ной мастерской; — процесс выполнения плана снабжения группы предприятий и т. д. Конкретное протекание каждого из таких процессов зависит от ряда случайных, заранее непредсказуемых факторов, таких как: — поступление заказов на ЭЦВМ и вид этих заказов; случайные выходы ЭЦВМ из строя; — случайные возмущения (помехи) в системе управления раке- той; 181
— случайный характер потока заявок (требований), поступаю- щих со стороны клиентов; — случайные перебои в выполнении плана снабжения и 1. д. Случайный процесс, протекающий в системе S, называется мар- ковским процессом (или «процессом без последействия»), если он обладает следующим свойством: Для каждого момента времени t0 вероятность любого состояния системы в будущем (при t > t0) зависит только от ее состояния в на- стоящем (при t=tQ) и не зависит от того, когда и каким образом систе- ма пришла в это состояние (т. е. как развивался процессе прошлом). 1 Другими словами, в марковском случайном процессе будущее раз- витие его зависит только от настоящего состояния и не зависит от «пре- дыстории» процесса. Рассмотрим пример. Пусть система S представляет собой техни- ческое устройство, которое уже проработало некоторое время, соот- ветственным образом «износилось» и пришло в некоторое состояние, характеризующееся определенной степенью изношенности S. Нас ин- тересует, как будет работать система в будущем. Ясно, что, по крайней мере в первом приближении, характеристики работы системы в буду- щем (частота отказов, потребность в ремонте) зависят от состояния устройства в настоящий момент и не зависят от того, когда и как устройство достигло своего настоящего состояния. На практике часто встречаются случайные процессы, которые, с той или другой степенью приближения, можно считать марков- скими. Теория марковских случайных процессов является в настоящее время очень обширным разделом теории вероятностей с широким спект- ром различных приложений — от описания физических явлений типз диффузии или перемешивания шихты во время плавки в доменной печи до процессов образования очередей или распространения мутаций ге- нов в биологической популяции. Нас будут интересовать, главным об- ( разом, применения теории марковских случайных процессов к построе- нию математических моделей операций, ход и исход которых сущест- венно зависит от случайных факторов. Марковские случайные процессы делятся на классы по некоторым признакам, в зависимости от того, как и в какие моменты времени си- стема S может менять свои состояния. Случайный процесс называется процессом с дискрет- ными состояниями, если возможные состояния системы: S1( S2, S3, ... можно перечислить (перенумеровать) одно за другим, а сам процесс состоит в том, что время от времени система S скачком (мгновенно) перескакивает из одного состояния в другое. Пример 1. Техническое устройство5состоит из двух узлов: 1 и II, каждый из которых может в ходе работы устройства отказать (выйти из строя). Воз- можны следующие состояния системы: 182
S, — оба узла работают; S2 — первый узел отказал, второй работает; S3 — второй узел отказал, первый работает; S4 — оба узла отказали. Процесс, протекающий в системе, состоит в том, что она случайным обра- зом, в какие-то моменты времени, переходит (перескакивает) из состояния в со- стояние. Всего у системы четыре возможных состояния, которые мы перенумеро- вали Перед нами — процесс с дискретными состояниями Кроме процессов с дискретными состояниями существуют случай- ные процессы с непрерывными состояниями: для этих процессов харак- терен постепенный, плавный переход из состояния в состояние. На- пример, процесс изменения напряжения в осветительной сети пред- ставляет собой случайный процесс с непрерывными состояниями. Рис. 4.2 Рис. 4.1 В данной главе мы будем рассматривать только случайные про- цессы с дискретными состояниями. При анализе случайных процессов с дискретными состояниями очень удобно пользоваться геометрической схемой — так называемым графом состояний. Граф состояний геометрически изобра- жает возможные состояния системы и ее возможные переходы из со- стояния в состояние. Пусть имеется система S с дискретными состояниями: Si, S2, Sn. Мы будем изображать каждое состояние прямоугольником, а воз- можные переходы («перескоки») из состояния в состояние — стрел- ками, соединяющими эти прямоугольники (рис. 4.1). Заметим, что стрелками отмечаются только непосредственные переходы из состояния в состояние; если система может перейти из состояния Sj в 83 только через S2, то стрелками отмечаются только переходы 8, S2 и S2 -> 83, но не Sj -> S3. Пример 2. Система 5 — автомашина, которая может находиться в одном из пяти возможных состояний: Sx — исправна, работает; S2 — неисправна, ожидает осмотра; 183
S3 — осматривается; S4 — ремонтируется; S6 — списана. Граф состояний системы показан на рис. 4.2. Пример 3. Построить граф состояний в условиях примера 1 (предпола- гается, что ремонт узлов в ходе процесса не производится). Решение. Граф состояний представлен на рис. 4.3. Отметим, что на графе не показан возможный переход, из состояния S4 непосредственно в S4, который осуществится, если строго одновременно выйдут из строя оба узла. Возможностью такого события мы пренебрегаем. Рис. 4.4 Рис. 4.3 Пример 4. Система 5, как и в примере 1, представляет собой техническое устройство, состоящее из двух узлов: I и II; каждый из них может в какой-то момент времени отказать. Отказавший узел немедленно начинает восстанавли- Рис. '4,5 184
ваться. Возможные состояния системы: Sj — оба узла работают; S2 — первый узел восстанавливается, второй работает; S3 — первый узел работает, второй восстанавливается; S4 — оба узла восстанавливаются Граф состояний системы показан на рис. 4.4 Пример 5. В условиях примера 4 каждый узел перед гем, как начать вос- станавливаться, подвергается осмотру с целью локализации неисправности. Состояния системы будем для удобства нумеровать не одним, а двумя ин- дексами; первый будет означать состояния первого узла: 1 — работает, I 2 — осматривается, 3 — восстанавливается; второй — те же состояния для второго узла, так что, например, S23 будет озна- чать: первый узел осматривается, второй — восстанавливается, и т. д. Возможные состояния системы S будут: Su — оба узла работают, S12 — первый узел работает, второй осматривается, S33 — оба узла восстанавливаются (всего 9 состояний). Граф состояний показан на рис. 4.5. 2. СЛУЧАЙНЫЕ ПРОЦЕССЫ С ДИСКРЕТНЫМ И НЕПРЕРЫВНЫМ ВРЕМЕНЕМ. МАРКОВСКАЯ ЦЕПЬ Способы математического описания марковского случайного про- цесса, протекающего в системе с дискретными состояниями, зависят от того, в какие моменты времени — заранее известные или случай- ные — могут происходить переходы («перескоки») системы из состоя- ния в состояние. Случайный процесс называется процессом с дискрет- ным временем, если переходы системы из состояния в состояние возможны только в строго определенные, заранее фиксированные мо- менты времени: tlt t2.В промежутки времени между этими момен- тами система S сохраняет свое состояние. Случайный процесс называется процессом с непрерыв- ным временем, если переход системы из состояния в состояние возможен в любой, наперед неизвестный, случайный момент t. Рассмотрим прежде всего марковский случайный процесс с дискрет- ными состояниями и дискретным временем. Пусть имеется физическая система S, которая может находиться в состояниях: ^2, •••> S„, причем переходы («перескоки») системы из состояния в состояние воз можны только в моменты: ti> tn •••> tk. Будем называть эти моменты «шагами» или «этапами» процесса и рассматривать случайный процесс, происходящий в системе S, как функцию целочисленного аргумента: 1,2, ..., k,... (номера шага). 185
Случайный процесс, происходящий в системе, состоит в том, что в последовательные моменты времени tlr t2, t3, ..., система S оказы- вается в тех или других состояниях, ведя себя, например, следую- щим образом: '2 или же <Si —> S2 —>- Sj —*Sa —S3 —> S4 —> Si —> .... В общем случае в моменты tlt t2, ... система может не только ме- нять состояние, но и оставаться в прежнем, например: —> S] —> S2 —> S3 S3 —> S3 —>- S4 —> St —> Рас. 4.6 Условимся обозначать S,(ft) событие, состоящее в том, что после k шагов система находится в состоянии S,. При любом k события S^, Sa<*>, ..., S/*>, .... Sn(ft> образуют полную группу и несовместны. Процесс, происходящий в системе, можно представить как после- довательность (цепочку) событий, например: Si<°), S2<*’, Sx<2>, S2(3), S3<4>, ... Такая случайная последовательность событий называется мар-' ковской цепью, если для каждого шага вероятность перехода из любого состояния S; в любоеS; не зависит от того, когда и как система пришла в состояние Sj. Мы будем описывать марковскую цепь с помощью так называе- мых вероятностей состояний. Пусть в любой момент времени (после любого, k-m шага) система S может быть в одном из со- стояний: Sn S2, ..., Sn, т. е. осуществится одно из полной группы несовместных событий: S/*>, S2<*>....................... Sn^>. 186
Обозначим вероятности этих событий: Л(1) = Р(5](1)); P2(1)=P(S2<’>); .... Pn(l)=P(S„(l)) — вероятности после первого шага, Р1(2)=Р(«г'2)); p2(2)=P(S2<2>); рп (2) =Р (Sn(2>) (2.1) — вероятности после второго шага; и вообще после k-го шага: p1(^) = /3(S1'ft>); pdk) = P(S2^ ...; pn(k)=P(Sn^). (2.2) Легко видеть, что для каждого номера шага k Pi(k) + Pt,(k) + ... 4-pn(k) = 1, так как это — вероятности несовместных событий, образующих пол- ную группу. Рис. 4.7 Будем называть вероятности Pi№), pz(k)...pn(k) вероятностями состояний; поставим задачу: найти ве- роятности состояний системы для любого k. Изобразим состояния системы в виде графа (рис. 4.6), где стрелка- ми указаны возможные переходы системы из состояния в состояние за один шаг. Случайный процессе (марковскую цепь) можно представить себе так, как будто точка, изображающая систему S, случайным образом перемещается (блуждает) по графу состояний, перескакивая из состоя- ния в состояние в моменты 4, t2, ..., а иногда (в общем случае) и задер- живаясь какое-то число шагов в одном и том же состоянии. Например, последовательность переходов Si —>- S3 —S2 —> S2 Л3 —> S5 —> Se —> S2 можно изобразить на графе состояний как последовательность различ- ных положений точки (см. пунктирные стрелки, изображающие пере- ходы из состояния в состояние на рис. 4.7). «Задержка» системы в со- стоянии S2 на третьем шаге изображена стрелкой, выходящей из со- стояния $а и в него же возвращающейся. 187
Для любого шага (момента времени /1( /2.4, ••• или номера 1, 2..k, ...) существуют какие-то вероятности перехода системы из любого состояния в любое другое (некоторые из них равны нулю, если непосредственный переход за один шаг невозможен), а также вероят- ность задержки системы в данном состоянии. Будем называть эти вероятности переходными веро- ятностями марковской цепи. Марковская цепь называется однородной, если переходные вероятности не зависят от номера шага. В противном случае марков- ская цепь называется неоднородной. Рассмотрим сначала однородную марковскую цепь. Пусть система S имеет п возможных состояний 51( S2, •••, Sn. Предположим, что для каждого состояния нам известна вероятность перехода в любое другое состояние за один шаг (в том числе и вероятность задержки в данном состоянии). Обозначим Рц вероятность перехода за один шаг из состоя- ния St в состояние Sf, Pti будет вероятность задержки системы в со- стоянии S;. Запишем переходные вероятности Рц в виде прямоуголь- ной таблицы (матрицы): Рц Рц ... Р1) ... Pin Рц Р.2 • • • Рц ... Р.п Рп Pi. • •• Рц ... Pin Рп1 Рп. « • • Рп] ... Рпп (2.3) Некоторые из переходных вероятностей Pt} могут быть равны ну- лю: это означает, что за один шаг переход системы из i-ro состояния в /-е невозможен. По главной диагонали матрицы переходных вероятностей стоят вероятности Рц того, что система не выйдет из состояния S;, а останется в нем. Пользуясь введенными выше событиями Sift), S^, ..., пере- ходные вероятности Рн- можно записать как условные вероятности: 188
Отсюда следует, что сумма членов, стоящих в каждой строке мат- рицы (2.3), должна быть равна единице, так как, в каком бы состоянии система ни была перед fe-м шагом, события S(2ft>, , Snk) несовмест- ны и образуют полную группу. При рассмотрении марковских цепей часто бывает удобно пользо- ваться графом состояний, на котором у стрелок проставлены соответ- ствующие переходные вероятности (см. рис. 4.8). Такой граф мы будем называть «размеченным графом состояний». Заметим, что на рис. 4.8 проставлены не все переходные вероят- ности, а только те из них, которые не равны нулю и меняют состоя- ние системы, т. е. Рц при i «вероятности задержки» Рп, Р22, проставлять на графе излишне, так как каждая из них допол- няет до единицы сумму переходных вероятностей, соот- ветствующих всем стрелкам, исходящим из данного состояния. Например, для графа рис. 4.8 Р И — 1--(Р12 + Р 1з)> Р 22 = 1 — (Р 23 + Р^> PS3 ~ 1 -(Р32 + РЗв)> Рц = 1 (Р 43 + Р 46 + Р 4б)> Р3Ь = 1 Р3в> Рев ” 1' Pei- Если из состояния S; не исходит ни одной стрелки (переход из не- го ни в какое другое состояние невозможен), соответствующая вероят- ность задержки Рц равна единице. Имея в распоряжении размеченный граф состояний (или, что рав- носильно, матрицу переходных вероятностей) и зная начальное состоя- ние системы, можно найти вероятности состояний Р1(/г), p2(k)...pn(k) после любого (/?-го) шага. Покажем, как это делается. Предположим, что в начальный момент (перед первым шагом) си- стема находится в каком-то определенном состоянии, например, STO. Тогда, для начального момента (0) будем иметь: Pi(0) = 0; р2 (0) =0;...; рт (0) = 1;...; рп(0) = 0, т. е. вероятности всех состояний равны нулю, кроме вероятности на- чального состояния Sm, которая равна единице. Найдем вероятности состояний после первого шага. Мы знаем, что перед первым шагом система заведомо находится в состоянии Sm. Значит, за первый шаг она перейдет в состояния Sb S2.....Sm, ..., Sn с вероятностями Р Р Р Р 1 ml» 1 m2» ••• » 1 mm» ••• » 1 mn’ записанными в m-й строке матрицы переходных вероятностей. Таким образом, вероятности состояний после первого шага будут: Pi(P)=PmP, МО-Ртз; pm(l)=Pmm;...; Рп(1)=Ртп- (2.4) 189
Найдем вероятности состояний после второго шага: Pi(2), р2(2), .... рг(2),..., рп(2). Будем вычислять их по формуле полной вероятности, с гипотезами: — после первого шага система была в состоянии Sjj — после первого шага система была в состоянии S2; — после первого шага система была в состоянии Si; — после первого шага система была в состоянии Sn. Вероятности гипотез известны (см. (2.4)); условные вероятности перехода в состояние 5г при каждой гипотезе тоже известны и записаны в матрице переходных вероятностей. По формуле полной вероятности получим: Pi (2) = Pi (1) Ри 4* А (И Р21 4" ••• + Рп (О Рnii Pi (2) = Pi (1) Рi2 + Pa (1) Р22 4- ••• 4~Pn (1) Pn2> Pl (2) —Pi (1) Рц 4- P2 (1) Рц 4" ••• 4" Pn (1) Pnb Pn (2) —Pl (1) Лп4- Pa (1) Pin 4" ••• +Pn G) PM> или, гораздо короче, п PiM^Pi^Pp a=i.............n). (2.6) В формуле (2.6) суммирование распространяется формально на все состояния Sj, ..., Sn; фактически учитывать надо только те из них, для которых переходные вероятности Рц отличны от нуля, то есть те состояния, из которых может совершиться переход в состоя- ние Sz (или задержка в нем). Таким образом, вероятности состояний после второго шага из- вестны. Очевидно, после третьего шага они определяются аналогично: п Pi(^=^p}(2)P}i, (2.7) /=1 и вообще после &-го шага: п Pi(k)~£Pj(k-l)PJt (1 = 1...... п). (2.8) Итак, вероятности состояний pt(k) после k-ro шага определяются рекуррентной формулой (2.8) через вероятности состояний после (k — 1)-го шага; те, в свою очередь—через вероятности состояний после (k — 2)-го шага, и т. д. 190
Пример 1. По некоторой цели ведется стрельба четырьмя выстрелами в мо- менты времени /1; /2, ts, tt. Возможные состояния цели (системы 5): Si — цель невредима; S2 — цель незначительно повреждена; S3 — цель получила существенные повреждения; S4 — цель полностью поражена (не может функционировать). Размеченный граф состояний системы показан иа рис. 4.9. В начальный момент цель находится в состоянии Sj (не повреждена). Оп- ределить вероятности состояний цели после четырех выстрелов Решение. Из графа состояний имеем: Pi2 = 0,4i Р1з = 0,2; Р14 = 0,1 и Ри~. 1 -(Р12 + Р1з + Л1) =0,3. Рис. 4.9 Аналогично находим: Р21 = 0; Р22 = 0,4; Раз = 0,4; P24 = 0,2j Р31 = 0; Р32 = 0; Р33 = 0,3; P34 = 0,7t Р41 = 0; Р42 = 0; Р43 —0; Р 44 — 1. Таким образом, матрица переходных вероятностей имеет вид: Иг; 11 = 0,4 0,4 0 0 0,2 0,1 0,4 0,2 0,3 0,7 0 1 Так как в начальный момент цель S находится в состоянии S], то Р1(0) = 1. Вероятности состояний после первого шага (выстрела) берутся из первой строки матрицы: Pi(l) = 0,3; р2(1) = 0,4; р3(1) = 0,2; Л(1) = 0,1. Вероятности состояний после второго шага: Pi (2) = Pi (1) Рц = 0,3-0,3 = 0,09; р2 (2)=Pi (О Рщ + Ра (1) Р22=0,.3-0,4 + 0,4-0,4 = 0,28; р3(2)=р1(1)Р13 + р3 (1) Р23 + р2(1)Р33 = 0,3.0,2 + 0,4.0,4 + 0,2.0,3 = 0128; р4 (2) = р4 (1) Р14 + р2 (1) Р24 + Р3 (1) Р34 + Р4 (1) Р44 = =0,3-0,1+0.4-0,2-4-0,2-0,7 + 0,1.1 = 0,35. 191
Вероятности состояний после третьего шага: Р1 (3) = Р1 (2) Рц=0,09-0,3 = 0,027; Рг (3) = Pi (2) Pi2 + Р2 (2) Р22 = 0,09- 0,4 + 0,28-0,4 = 0,148; Рз (3) = Pi (2) Pis + Ра (2) Р2з + р3 (2) Рзз = = 0,09-0,24-0,28.0,4 + 0,28-0,3 = 0,214; Pt (3) = Pi (2) Р14 + Рг (2) Рц + Рз (2) Pst + Pt (2) Ptt = = 0,09.0,1 +0,28.0,2 + 0,28-0,7 + 0,35-1 = 0,611. Вероятности состояний после четвертого шага: Pi (4) = Pl(3) Ри= 0,0081; P2(4) = Pi (3)Р12 + р2 (3) Р22=0,27-0,4 + 0,148-0,4 =0,0700, Рз (4) = Р1 (3) Р1з + р2 (3) Р23 + Рз (3) Рзз = = 0,027-0,2 + 0,148-0,4 + 0,214-0,3 = 0,1288; Рз (4) = Pi (3) Pi4 + р2 (3) Р24 + Рз (3) Р34 + р4 (3) Р44 = = 0,027-0,1 +0,148-0,2 + 0,214-0,7 + 0,611-1 =0,7931. Таким образом, нами получены вероятности всех исходов обстрела цели (четырех выстрелов): — цель не повреждена: Р1(4) ~ 0,008; — цель получила незначительные повреждения; Рг(4) ~ 0,070; — цель получила существенные повреждения: Рз(4) ж 0,129; — цель поражена полностью: Р1(4) ~ 0,793. Мы рассмотрели однородную марковскую цепь, для кото- рой вероятности перехода от шага к шагу не меняются. Рассмотрим теперь общий случай — неоднородную мар- ковскую цепь, для которой вероятности перехода Рц меняются от шага к шагу. Обозначим — вероятность перехода системы из состояния Sf в состояние Sy на k-м шаге, то есть условную вероятность Г**'=P(S^’/S}*-1>). Предположим, что нам заданы матрицы вероятностей перехода на каждом шаге. Тогда вероятность того, что система S после k шагов будет находиться в состоянии St, выразится формулой: Pt(k)=T р№ — 1)Рд) (t = 1......... п), (2.9) которая отличается от аналогичной формулы (2.8) для однородной цепи Маркова только тем, что в ней фигурируют вероятности перехода, за- висящие от номера шага k. Вычисления по формуле (2.9) ничуть не сложнее, чем в случае однородной цепи. Пример 2. Производится три выстрела по цели, которая может быть в тех же четырех состояниях S1, S2, S3, S4, что и в предыдущем примере, но вероят- ности перехода для трех последовательных выстрелов различны н заданы тремя матрицами: 192
0,05 0,3 0,4 0,25 |p(3)[l_ 0 °>1 °>6 °>3 8 11 8 0 0 0,1 0,9 0 0 0 1 В начальный момент цель находится в состоянии Sx. Найти вероятности со- стояний после трех выстрелов. Решение. Имеем: Р1(1) = 0,3; р2(1) = 0,4; р3(1) = 0,2; Р4(1) = 0,1; ' Р1 (2) = рх(1) P<V = O,3-0,1 = ЩОЗ; Р2 (2)=Р1 (1) Р\22Чр2 (1) = 0,3-0,4+0,4-0,2 = 0J20; р3 (2) = Р1 (1) Р$+р2 (1) + Р3 (1) Р$ = = 0,3-0,3 + 0,4-0,5 + 0,2-0,2 = 0,33; р4 (2)=Р1 (О р|24’+р2 (1) р^ +р3(1)/Ч2? р4+0) Р^=0,3-0,2+ + 0,4-0,3 + 0,2-0,8 + 0,1 -1=0,44- рх (3) = рх (2) Р^’ =0,03-0,05 ж 0,002; Р2 (3) = РХ (2) Р^’ + Рг (2) РЙ> =0,03-0,3 + 0,20-0,1 = 0,029; р3 (3) = р, (2) Р<3’ + р2 (2) Р^ + р, (2) Р<33 > = =0,3-0,4 + 0,20-0,6+0,33-0,1 =0,165; ’р4 (3) = Р1 (2) Р<3> + р2 (2) Р<3> + рз (2) Р<3> + р4 (2) Р<3> = =0,03-0,25 + 0,20-0,3 + 0,33-0,9 + 0,44.1 ж 0,804. Итак, вероятности состояний после трех выстрелов: Pj(3)w0,002; р2(3) =0,029; р,(3) = 0,165; р( (3) »0,804. 7 Зак. 673 193
3. МАРКОВСКИЙ ПРОЦЕСС С ДИСКРЕТНЫМИ СОСТОЯНИЯМИ И НЕПРЕРЫВНЫМ ВРЕМЕНЕМ. УРАВНЕНИЯ КОЛМОГОРОВА ДЛЯ ВЕРОЯТНОСТЕЙ СОСТОЯНИЙ В предыдущем параграфе мы рассматривали марковскую цепь, т. е. случайный процесс, протекающий в системе, которая случайным образом может переходить из состояния в состояние только в некоторые заранее определенные, фиксированные моменты времени. На практике значительно чаще встречаются ситуации, когда переходы системы из состояния в состояние происходят не в фиксиро- ванные, а в случайные моменты времени, которые заранее указать не- возможно — переход может осуществиться, вообще говоря, в любой момент. Например, выход из строя (отказ) любого элемента аппаратуры может произойти в любой момент времени; окончание ремонта (восста- новление) этого элемента также может произойти в заранее не зафикси- рованный момент и т. д. Для описания таких процессов в ряде случаев может быть с успе- хом применена схема марковского случайного процесса с дискретны- ми состояниями и непрерывным временем, который мы будем для крат- кости называть непрерывной цепьюМаркова. Рис. 4.10 Покажем, как выражаются вероятности состояний для такого процесса. Пусть имеется ряд дискретных состояний: Si, S2,..., Sn; переход (перескок) системы S из состояния в состояние может осуществ- ляться в любой момент времени. Граф состояний системы представлен на рис. 4.10. 194
Обозначим pi{t) — вероятность того, что в момент t система S будет находиться в состоянии S, (i = 1, п). Очевидно, для любого мо- мента t сумма вероятностей состояний равна единице: S Рг(О = 1. (3.1) так как события, состоящие в том, что в момент t система находится в состояниях S1( S2..Sn, несовместны и образуют полную группу. Поставим задачу — определить для любого t вероятности состояний: Pi (О» Ра(Л...Рп(0- ___________О___________> Для того, чтобы найти эти ве- 0 t t+At t роятности, необходимо знать харак- теристики процесса, аналогичные “ ’ переходным вероятностям для мар- ковской цепи. В случае процесса с непрерывным временем нам не при- дется задавать определенные, отличные от нуля, переходные вероят- ности Рц; вероятность перехода (перескока) системы из состояния в со- стояние точно в момент t будет равна нулю (так же как вероятность любого отдельного значения непрерывной случайной величины). Вмес- то переходных вероятностей Рц мы введем в рассмотрение плот- ности вероятностей перехода Кц. Пусть система S в момент t находится в состоянии S;. Рассмотрим элементарный промежуток времени А/, примыкающий к моменту t (рис. 4.11). Назовем плотностью вероятности перехода предел отношения вероятности перехода системы за время А/ из состояния St в состояние Sy к длине промежутка А/: = (3.2) д/->о Дг где Рц(ЛР) — вероятность того, что система, находившаяся в момент /в состоянии 5г, за время AZ перейдет из него в состояние Sj (плот- ность вероятностей перехода определяется только для /=/=0. Из формулы (3.2) следует, что при малом AZ вероятность перехода Рi}(ДР) (с точностью до бесконечно малых высших порядков) равна XO-AZ: Лу(А/)«%г7А/. Если все плотности вероятностей перехода Xi} не зависят от t (т. е. от того, в какой момент начинается элементарный участок AZ), мар- ковский процесс называется одно родным; если эти плотности представляют собой какие-то функции времени ^-(0, процесс назы- вается неоднородным. При пользовании сокращенным назва- 7* 195
нием «непрерывная марковская цепь» мы также будем различать одно- родные и неоднородные цепи. Предположим, что нам известны плотности вероятностей пере- хода Xjj для всех пар состояний S,, Sj. Рис. 4.12 Построим граф состояний системы S и против каждой стрелки про- ставим соответствующую плотность вероятности перехода (рис. 4.12). Такой граф, с проставленными у стрелок плотностями вероятнос- тей перехода, мы будем называть размеченным графом со- стояний. Рис. 4.13 Оказывается, зная размеченный граф состояний, можно определить вероятности состояний: Р1(а РаЮ..... Р„(0 (3-3) как функции времени. А именно, эти вероят- ности удовлетворяют определенного вида дифференциальным урав- нениям, так называемым уравне- ниям Колмогорова. Решая эти уравнения, мы получим вероятности (3.3). Продемонстрируем методику вывода уравнений Колмогорова для вероятностей состояний на конкретном примере. Пусть система S имеет четыре возможных состояния: Si, S2, <S3, S4; размеченный граф состояний системы показан на рис. 4.13. Поставим себе задачу: найти одну из вероятностей состояний, на- пример, Pi(/). Это есть вероятность того, что в момент t система будет находиться в состоянии Sx. Придадим t малое приращение Л/ и найдем вероятность того, что в момент t + Л/ система будет находиться в состоянии Как это событие может произойти? Очевидно, двумя способами: — в момент t система уже была в состоянии а за время А/ не вышла из этого состояния 198
или — в момент I система была с состоянии S3, а за время \t перешла из него в S). Вероятность первого варианта найдем как произведение вероят- ности рх(/) того, что в момент t система была в состоянии Sx, на услов- ную вероятность того, что, будучи в состоянии <SX, система за время Ы не перейдет из него в S2. Эта условная вероятность (с точностью до бесконечно малых высших порядков) равна 1 Х12Д/. Аналогично, вероятность второго варианта равна вероятности то- го, что в момент t система была в состоянии Ss, умноженной на услов- ную вероятность перехода за время Л/ в состояние Sx: Рз (0 ^31 А/. Применяя правило сложения вероятностей, получим: Pi 4* А/) = Pi (t) (1 —^12 А/) + Рз (0 ^з1 Раскроем скобки в правой части, перенесем рх(/) в левую и разде- лим обе части равенства на Л/; получим: Pi (< + д/)-Р1 (Z) = М ^12 Р1 (0 4” ^31 Рз (0* Теперь устремим Л/ к нулю и перейдем к пределу: - lim = _^12 Р1 (/) % рз (р. Д^о А/ Левая часть есть не что иное, как производная функции ^=-^2Pi(04-4iPJ0- (3.4) at Таким образом, выведено дифференциальное урав- нение, которому должна удовлетворять функция p^t). Аналогич- ные дифференциальные уравнения могут быть выведены и для осталь- ных вероятностей состояния: р2(0, Рз(0> Р$)- Рассмотрим второе состояние S2 и найдем p2(t 4- А/) — вероят- ность того, что в момент (/ 4* А/) система S будет находиться в состоя- нии S2. Это событие может произойти следующими способами: — в момент t система уже была в состоянии S2, а за время А/ не перешла из него ни в S3, ни в S4; или — в момент t система была в состоянии Sx, а за время А/ перешла из него в S2; или — в момент t система была в состоянии S4, а за время А/ перешла из него в S2. Вероятность первого варианта вычисляется так: p2(t) умножается на условную вероятность того, что система за А/ не перейдет ни в Ss, ни в S4. Так как события, состоящие в переходе за время AZ из S2 в S8 197
и из S2 в S4, несовместны, то вероятность того, что осуществится один из этих переходов, равна сумме их вероятностей, т. е. ^23 At + ^24^ (с точностью до бесконечно малых высших порядков). Вероятность то- го, что не осуществится ни один их этих переходов, равна 1 — ^23Д^ — — Х24Д/. Отсюда вероятность первого варианта: Pi (0 (1 -^23 At-^24 ^). Прибавляя сюда вероятности второго и третьего вариантов, по- лучим: Рг (t + At) ~Pi (t) (1 ^23 At А24 Д/) 4~ + Pi (t) \2 Д^ 4- Pj (t) л12 \t. Перенося р2(/) в левую часть, деля на Д/ и переходя к пределу, получим дифференциальное уравнение для р2(0: ) = -^23 Pi (t)-А.24 р2 (0 + ^12 Р1 (0 + ^42 Pi (t). (3.5) at Рассуждая аналогично для состояний S3, S4, получим в результа- те систему дифференциальных уравнений, составленных по типу (3.4) и (3.5). Отбросим в них для краткости аргумент t у функций plt р2, р3, pt и перепишем эту систему в виде: ~~ = --^12 Р1 + ^31 Рз> at “77 = ^23 Pi ^ii Pi Н~^12 Pl + ^42 Pi’ at аРз_ . . (3-6) ,, — 'v31 Рз ^31Рз~Г ^23 Pi’ at ~~ ~ ^42 Pi 4* ^24 Pi “Ь ^34 Рз- at Эти уравнения для вероятностей состояний и называются уравнения- ми Колмогорова. Интегрирование этой системы уравнений даст нам искомые вероят- ности состояний как функции времени. Начальные условия берутся в зависимости от того, каково было начальное состояние системы S. Например, если в начальный момент времени (при t — 0) система S находилась в состоянии то надо принять начальные условия: ПРИ /=0 £1 = 1, Р2=Рз=Р4=0- Заметим, что всех четырех уравнений для р2, р3, р4 можно было бы и не писать; действительно, pv 4- р2 -f- р3 4- р4 = 1 для всех t, и любую из вероятностей ръ р2, р3, pt можно выразить через три ос- тальные. Например р4 можно выразить через р2, р3 в виде 1 — (Р1 +Рг4-Рз) 198
и подставить в остальные уравнения. Тогда специального уравнения для вероятности р4 можно и не писать. Однако в дальнейшем нам будет удобнее пользоваться полной системой уравнений типа (3.6). Обратим внимание на структуру уравнений (3.6). Все они построе- ны по вполне определенному правилу, которое можно сформулировать следующим образом. В левой части каждого уравнения стоит производная вероятности состояния, а правая часть содержит столько связано с данным состоянием. Если стрелка направлена из состояния, соответствующий член имеет знак «минус»; если в состояние— знак «плюс». Каждый член равен произведению плотности вероятности перехода, соответс- твующей данной стрелке, умноженной на ве- роятность того состояния, из которого ис- ходит стрелка. Это правило составления дифферен- циальных уравнений для вероятностей со- стояний является общим и справедливо для любой непрерывной марковской цепи; с его помощью можно совершенно механически, без всяких рассуждений, записывать диффе- ренциальные уравнения для вероятностей со- стояний непосредственно по размеченному графу состояний. членов, сколько стрелок Пример. Размеченный граф состояний системы $ имеет вид, показанный на рис 4.14 Написать систему дифференциальных уравнений Колмогорова и начальные условия для решения этой системы, если известно, что в начальный момент система находится в состоянии S4. Решение. Система уравнений Колмогорова имеет вид: — —(^12 + Чз) Р1, at . . . ,, — Л12 Pi Т Л32 Рз, at ,,------(^32 + ^31) Рз + ^13 Pi + ^53 Рз, at dPi г - ,, — —Pi Т Л34 Рз, at dps = —Л-3 р5 -|- л4. р4. at Начальные условия. при / = 0 р4 = 1, Р2 = Рз = Р4 = Рб=О. 199
4. ПОТОК СОБЫТИЙ. ПРОСТЕЙШИЙ ПОТОК И ЕГО СВОЙСТВА При рассмотрении случайных процессов, протекающих в системах с дискретными состояниями и непрерывным временем, часто приходит- ся встречаться с так называемыми «потоками событий». Потоком событий называется последовательность одно- родных событий, следующих одно за другим в какие-то, вообще гово- ря, случайные моменты времени. Примерами могут быть: — поток вызовов на телефонной станции; - — поток включений приборов в бытовой электросети; — поток грузовых составов, поступающих на железнодорожную станцию; — поток неисправностей (сбоев) вычислительной машины; — поток выстрелов, направляемых на цель, и т. д. Рис. 4.15 При рассмотрении процессов, протекающих в системе с дискрет- ными состояниями и непрерывным временем, часто бывает удобно представлять себе процесс так, как будто переходы системы из состоя- ния в состояние происходят под действием каких-то потоков со- бытий (поток вызовов, поток неисправностей, поток заявок на об- служивание, поток посетителей и т. д.) Поэтому имеет смысл рассмот- реть подробнее потоки событий и их свойства. Будем изображать поток событий последовательностью точек на оси времени Ot (рис. 4.15). Пользуясь таким изображением, не надо за- бывать, что положение каждой точки на оси абсцисс случайно. Поток событий называется регулярным, если события сле- дуют одно за другим через строго определенные промежутки времени. Такой поток сравнительно редко встречается на практике, но представ- ляет определенный интерес как предельный случай. При исследовании операций чаще приходится встречаться с пото- ками событий, для которых и моменты наступления событий и проме- жутки времени между ними случайны. В данном параграфе мы рассмотрим потоки событий, обладающие некоторыми особо простыми свойствами. Для этого введем ряд опреде- лений. 1. Поток событий называется стационарным, если вероят- ность попадания того или иного числа событий на участок времени длиной т (рис. 4.15) зависит только от длины участка и не зави- сит от того, где именно на оси 0/ расположен этот участок. 200
2. Поток событий называется потоком без последей- ствия, если для любых непересекающихся участков времени число событий, попадающих на один из них, не зависит от того, сколько со- бытий попало на другой (или другие, если рассматривается больше двух участков). 3. Поток событий называется ординарным, если вероятность попадания на элементарный участок двух или более событий пренебре- жимо мала по сравнению с вероятностью попадания одного события. Рассмотрим подробнее эти три свойства потоков и посмотрим, ка- ким физическим условиям они соответствуют и за счет чего могут на- рушаться. Стациона рность потока означает его однородность по времени: вероятностные характеристики такого потока не должны ме- няться в зависимости от времени. В частности, так называемая интен- сивность (или «плотность») потока событий — среднее число собы- тий в единицу времени — для стационарного потока должна оставать- ся постоянной. Это, разумеется, не значит, что фактическое число собы- тий, появляющихся в единицу времени, постоянно — нет, поток может иметь местные сгущения и разрежения. Важно, что для стационарного потока эти сгущения и разрежения не носят закономерного характера, а среднее число событий, попадающих на единичный участок времени, остается постоянным для всего рассматриваемого периода. На практике часто встречаются потоки событий, которые (по край- ней мере, на ограниченном участке времени) могут рассматриваться как стационарные. Например, поток вызовов, поступающих на теле- фонную станцию, скажем, на интервале от 12 до 13 часов может счи- таться стационарным. Тот же поток в течение целых суток уже не будет стационарным (ночью интенсивность потока вызовов гораздо меньше, чем днем). Заметим, что так же обстоит дело и с большинством физи- ческих процессов, которые мы называем «стационарными» — в действи- тельности они стационарны только на ограниченном участке времени, а распространение этого участка до бесконечности — лишь удобный прием, применяемый в целях упрощения. Отсутствие последействия в потоке означает, что события, образующие поток, появляются в последовательные моменты времени независимо друг от друга. Например, поток пассажи- ров, входящих на станцию метро, можно считать потоком без после- действия, потому что причины, обусловившие приход отдельного пас- сажира именно в данный момент, а не в другой, как правило, не свя- заны с аналогичными причинами для других пассажиров. Если такая зависимость появляется, условие отсутствия последействия оказы- вается нарушенным. Рассмотрим, например, поток грузовых поездов, идущих по же- лезнодорожной ветке. Если, по условиям безопасности, они не могут следовать один за другим чаще, чем через интервал времени т0, то между событиями в потоке имеется зависимость, и условие отсутствия последействия нарушается. Если интервал т0 мал по сравнению со средним интервалом между поездами т, такое нарушение несуществен- но, но если интервал т0 сравним с т, его приходится учитывать. 201
Ординарность потока означает, что события в потоке приходят поодиночке, а не парами, тройками и т. д. Например, поток клиентов, направляющихся в парикмахерскую, практически можно считать ординарным, чего нельзя сказать о потоке клиентов, направляющихся в ЗАГС для регистрации брака. Поток атак истре- бителей по бомбардировщику, находящемуся над вражеской террито- рией, ординарен, если они атакуют цель поодиночке, и не ордина- рен, если они идут в атаку парами или тройками. Если в неординарном потоке события происходят только парами, только тройками и т. д., то можно его рассматривать как ординарный «поток пар», «поток троек» и т. д. Несколько сложнее обстоит дело, если число событий, образующих «пакет» (группу одновременно при- ходящих событий) случайно. Тогда приходится наряду с потоком пакетов рассматривать случайную величину X — число событий в па- кете, и математическая модель потока становится более сложной: он 5?, % J I... ф » » ф • а • 1 о— О t, t] tj t Рис. 4.16 представляет собой не только последовательность моментов появления пакетов, но и последовательность случайных величин — чисел собы- тий в каждом пакете (рис. 4.16), где хъ х2, ..., xt, ... — значения, принятые случайной величиной X в первом, втором и т. д. пакетах. Пример неординарного потока событий со случайным числом событий в пакете — поток товарных вагонов, прибывающих на сортировочную станцию («пакетом» является поезд). Рассмотрим поток событий, обладающий всеми тремя свойствами: стационарный, без последействия, ординарный. Такой поток назы- вается простейшим (или стационарным пуассоновским) потоком. Название «простейший» связано с тем, что математическое описание со- бытий, связанных с простейшими потоками, оказывается наиболее простым. Отметим, между прочим, что «самый простой», на первый взгляд, регулярный поток со строго постоянными интервалами между событиями отнюдь не является «простейшим» в вышеназванном смыс- ле слова: он обладает ярко выраженным последействием, так как мо- менты появления событий связаны между собой жесткой функцио- нальной зависимостью. Именно из-за этого последействия анализ про- цессов, связанных с регулярными потоками, оказывается, как правило, труднее,V’а не легче по сравнению с простейшими. Простейший поток играет среди других потоков особую роль. А именно, можно доказать, что при суперпозиции (взаимном наложе- нии) достаточно большого числа потоков, обладающих последействием (лишь бы они были стационарны и ординарны), образуется суммарный 202
поток, который можно считать простейшим, и тем точнее, чем большее число потоков складывается’'. Если поток событий не имеет последействия, ординарен, но не стационарен, он называется нестационарным пуассо- новским потоком. В таком потоке интенсивность % (среднее число событий в единицу времени) зависит от времени: Л == Л (Z), тогда как для простейшего потока X = const. Пуассоновский поток событий (как стационарный, так и неста- ционарный) тесно связан с известным распределением Пуас- сона. А именно, число событий потока, попадающих на любой участок, распределено по закону Пуассона. л. О Рис. 4.17 *-•—> t Поясним, что это означает. Рассмотрим на оси 0Z, где наблюдается поток событий, некоторый участок времени длины т (см. рис. 4.17), начинающийся в момент Zo и заканчивающийся в момент Zo + т. Не- трудно доказать (доказательство дается во всех курсах теории ве- роятностей), что вероятность попадания на этот участок ровно т со- бытий выражается формулой: а’" Рт^ — &'а (m=0, 1,...), (4.1) ml где а — среднее число событий, приходящееся на участок т. Для стационарного (простейшего) пуассоновского потока величи- на а равна интенсивности потока, умноженной на длину интервала: а — Хт, т. е. не зависит от того , г д е на оси 0Z взят участок т. Для нестацио- нарного пуассоновского потока величина а выражается формулой: а = J X(Z)dZ, о и, значит, зависит от того, в какой точке Zo начинается участок т. Рассмотрим на оси 0Z простейший поток событий с интенсивностью X (рис. 4.18). Нас будет интересовать интервал времени Т между со- Для этого дополнительно требуется, чтобы складываемые потоки были сравни- мы по интенсивности, т. е., чтобы среди них не было, скажем, одного, превос- ходящего по интенсивности сумму всех остальных. 203
седними событиями в этом потоке. Очевидно, Т есть величина случай- ная; найдем ее закон распределения. Сначала найдем функцию рас- пределения: F(t)=P(T<t), т. е. вероятность того, что величина Т примет значение, меньшее, чем t. Отложим от начала интервала Т (точки/0)отрезок^ и найдем вероят- ность того, что интервал Т будет меньше t. Для этого нужно, чтобы на участок длины t, примыкающий к точке t0, попало хотя бы одно событие потока. Вычислим вероятность этого F(t) через вероятность противоположного события (на участок t не попадет ни одного события потока): F(O = l-Po. to Рис. 4.18 Вероятность Ро найдем по формуле (1.4), полагая m = 0: откуда функция распределения величины Т будет: F(0 = l—e~w (/>0). (4.2) Чтобы найти плотность распределения f(t) случайной величины Т, продифференцируем выражение (4.2) по t: (4.3) Закон распределения с плотностью (4.3) называется показа- тельным (или экспоненциальным). График его имеет вид, пред- ставленный на рнс. 4.19. Величина X называется параметром, показательного закона. Показательный закон распределения, как мы увидим дальше, иг- рает большую роль в теории марковских случайных процессов. Найдем числовые характеристики случайной величины Т — ма- тематическое ожидание (среднее значение) mt и дисперсию Dt. Имеем: — (0 di — J Интегрируя по частям, получим: mt — —~. (4.4) 204
Дисперсию величины Т найдем через второй начальный момент: оо оо = (t) dt—m? = f V2e~w — о о откуда, снова интегрируя по частям, получим; * А,2 (4.5) Извлекая корень квадратный из дисперсии, найдем среднее квад- ратическое отклонение случайной величины Т: Рис. 4.19 Рис. 4.20 ние и среднее квадратическое отклонение равны друг другу и о б- ратны параметру %. Таким образом, исследуя структуру простейшего потока собы- тий, мы пришли к заключению: промежуток времени Т между сосед- ними событиями в простейшем потоке распределен по показательному закону, его среднее значение и среднее квадратическое отклонение равны 1/Х, где X — интенсивность потока. Для нестационарного пуассоновского потока закон распределе- ния промежутка Т уже не будет показательным; вид этого закона будет зависеть, во-первых, от того, где на оси 0/ расположено первое из со- бытий, и, во-вторых, от вида зависимости %(/), характеризующей пере- менную интенсивность потока. Однако если %(/) меняется сравнитель- но медленно и его изменение за время между двумя событиями невели- ко, то закон распределения промежутка времени между событиями мож- но приближенно считать показательным (4.3), полагая в этой формуле величину X равной среднему значению Х(/) на том участке, который нас интересует. В заключение данного параграфа выведем выражение для так на- зываемого «элемента вероятности появления события». Рассмотрим на оси 0/ простейший поток событий с интенсивностью К и элементарный участок А/, прилежащий в точке t (рис. 4.20). Найдем вероятность того, что на участке Д/ появится какое-то событие потока, т. е. участок не будет «пуст». Так как поток ордина- рен, вероятностью появления на участке Д/ более чем одного собы- тия можно пренебречь. Обозначим Ро(Д0 вероятность того, что на 20S
участке Д/ не будет события, а РХ(Д/) — вероятность того, что на нем появится одно событие. В силу ординарности потока P^t^l-P^t), а вероятность Р0(Ы) вычисляем по формуле (4.1): Ро (Л/) = -22- е-« = е~а = e~w, откуда Рх (ДО « 1 —е-ш. Разлагая е—w в ряд по степеням АД/ и пренебрегая величи- нами высшего порядка малости, получим: РХ(Д/)» 1—(1—АД/). Отсюда Рх (ДО « (4.7) т. е. вероятность появления на элементарном участке времени Д/ ка- кого-то события потока приближенно равна АД/, где % — интенсивность потока. Эту вероятность мы будем называть «элементом вероятности появления события». Очевидно, такая же формула будет справедлива и для нестацио- нарного пуассоновского потока, с той разницей, что величину А нуж- но брать равной ее значению в той точке t, к которой примыкает учас- ток Д/: РХ(Д/)«А(/) Д/. 5. ПОТОКИ ПАЛЬМА. ПОТОКИ ЭРЛАНГА Поток событий называется потоком Пальма (или потоком с ограниченным последействием), если промежутки времени между последовательными событиями: Л, Т2.... Tt, ... представляют собой независимые, одинаково распределенные случай- ные величины (рис. 4.21). Простейший поток есть частный случай потока Пальма: в нем рас- стояния Pi, Т2, ..., Tt, ... представляют собой случайные величины, распределенные по одному и тому же показательному закону; их неза- висимость следует из того, что простейший поток есть поток без после- действия, и расстояние по времени между любыми двумя событиями не зависит от того, каковы расстояния между другими. Рассмотрим пример потока Пальма. Некоторый элемент техничес- кого устройства (например, радиолампа) работает непрерывно до свое- го отказа (выхода из строя), после чего он мгновенно заменяется новым. Срок работы элемента случаен. Если отдельные экземпляры элементов выходят из строя независимо друг от друга, то поток отказов (или «по- 206
ток восстановлений», так как отказ и восстановление происходят в один и тот же момент) представляет собой поток Пальма. Если к тому же срок работы элемента распределен по показательному закону, поток Пальма превращается в простейший (стационарный пуассоновский) поток. Другой пример: группа самолетов идет в боевом порядке «колон- на» (рис. 4.22) с одинаковой для всех самолетов скоростью V. Каждый из ннх, кроме ведущего, обязан выдерживать строй, т. е. держаться на Рис. 4.21 заданном расстоянии от впереди идущего. Это расстояние, измеряемое дальномером, выдерживается с ошибками. Моменты пересечения са- молетами заданного рубежа при этих условиях образуют поток Пальма, так как случайные величины Тг = у-; Т.г = у-; ... независимы. За- метим, что тот же поток не будет потоком Пальма, если самолеты стре- мятся выдержать заданное расстояние не от соседа, а от ведущего всю колонну. Рис, 4.22 Многие потоки событий, встречающиеся на практике, хотя и не являются в точности потоками Пальма, но могут быть ими приближен- но заменены. Важными для практики образцами потоков Пальма являются так называемые потоки Эрланга. Эти потоки образуются в резуль- тате «просеивания» простейших потоков. Рассмотрим на оси Qt простейший поток событий (рис. 4.23) и со- храним в нем не все точки, а только каждую вторую; остальные выбро- сим (на рис. 4.23 сохраненные точки показаны жирными). В результа- те такой операции «прореживания» или «просеивания» образуется сно- ва поток событий; он называется потоком Эрланга второ- го порядка. Рис, 4,23 207
Вообще, потоком Эрланга k-т о порядка ЭЛ назы- вается поток, получающийся, если в простейшем потоке сохранить каждую k-ю точку, а остальные выбросить. Например, на рис. 4.24 показано образование потока Эрланга 4-го порядка Э4 (три точки простейшего потока выбрасываются, а чет- вертая сохраняется). Очевидно, простейший поток представляет собой частный случай потока Эрланга, а именно поток Эрланга 1-го порядка Эх. Итервал времени Т между соседними событиями в потоке Эрлан- га k-ro порядка представляет собой сумму k независимых случайных величин — расстояний между событиями в исходном простейшем по- токе: k T = Ti + T2 + ... + Tfe j Tt. Рис. 4.24 Каждая из этих случайных величин распределена по показательному закону: /1(/)=ке-^ (/>0). Закон распределения интервала Т между соседними событиями в пото- ке Эй называется законом Эрланга k-vo порядка. Найдем выражение для плотности распределения этого закона; обозначим ее Для этого рассмотрим на оси (рис. 4.25) простейший поток с интенсивностью X, в котором события разделены интервалами 7\, Тъ, ..., и найдем элемент вероятности fh(t)dt—вероятность того, что интервал Т = 2Tt окажется в пределах элементарного участка (t, t 4* dt). Для этого, во-первых, на участок длиной t должно попасть ровно k — 1 точек простейшего потока; вероятность этого события, соглас- но формуле (4.1), равна Кроме того, последняя (£-я) точка должна попасть на элементар- ный участок (/, t + dt) — вероятность этого равна Kdt (см. формулу (4.7)). Перемножая эти вероятности, получим: rft(0 dt = (^^- e-^Kdt, lh' ' (k—1)1 откуда г (^>0). (5.1) 208
Очевидно, при k = 1 получается обычное показательное распре- деление: f1(O = Xe-^ (f>0). (5.2) Найдем характеристики закона Эрланга k-ro порядка: его мате- матическое ожидание mt(k> и дисперсию Случайная величина Т, распределенная по закону Эрланга k-ro порядка, получается сло- жением k независимых случайных величин: Я Т~1Т„ 1=1 где каждая из величин Т,- распределена по показательному закону (5.2) с математическим ожиданием 1/Х и дисперсией 1/Х'2 (см. формулы (4.4) и (4.5)). Применяя теоремы сложения математических ожиданий и дисперсий, имеем Dt^=-^. (5.3) Извлекая из последнего выражения квадратный корень, найдем среднее квадратическое отклонение: Таким образом, мы нашли математическое ожидание, дисперсию и среднее квадратическое отклонение интервала между соседними со- бытиями в потоке Эрланга k-ro порядка: ^'=4; (5.4) Л Л® Л Заметим, что как закон распределения так и все его характе- ристики выражены не через интенсивность самого потока Эрланга ЭЛ, а через интенсивность X порождающего его простейшего потока, кото- рый подвергался прореживанию. Представляет интерес выразить их через интенсивность (среднее число событий в единицу времени) самого потока Эрланга Эй. Обозначим Лй — интенсивность потока 3fe. Оче- видно Afe=X/^; X = kAk, 209
так как из исходного простейшего потока с интенсивностью А> берется только /г-я часть. Подставляя выражение Л через Aft в формуле (5.1), получим f kXh(kXht)k~x n-UAbl е или (*>°)- (б-5) Математическое ожидание, дисперсия н среднее квадратическое отклонение этого закона будут: m/)= —; Dt^~—L-; а/>= —-—. (5.6) 4 Aft * kXh* 1 yrxh Теперь предположим, что, сохраняя неизменной интенсивность потока ЛА: ЛА =Л = const, мы будем менять только порядок k закона Эрланга. Его математичес- кое ожидание останется постоянным: ’ (5.7) а дисперсия и среднее квадратическое отклонение будут меняться: Dt^> = —; а(<*> = — . (5.8) /ГЛ V } Из формул (5.8) видно, что при k -> оо и дисперсия, и среднее квадратическое отклонение стремятся к нулю. А что это зна,- чит? Это значит, что при k->- оо поток Эрланга заданной интенсивности j\ неограниченно приближается к регулярному потоку с постоянным интервалом между событиями: Т = const =— . Л Это свойство потоков Эрланга удобно в практических примене- ниях: оно дает возможность, задаваясь различными k, получать пото- ки, обладающие различным последействием — от полного отсутствия последействия (1г — 1) до жесткой функциональной связи между мо- ментами появления событий (k = оо). Таким образом, порядок потока Эрланга k может служить в какой-то степени «мерой последействия». В целях упрощения часто бывает удобно приближенно заменить реальный поток событий — потоком Эрланга с тем же последействием. Это делают, согласовывая характеристики реального потока — мате- матическое ожидание и дисперсию интервала между событиями — с те- ми же характеристиками заменяющего потока Эрланга. 210
Пример. В результате статистической обработки интервалов времени меж- ду событиями в некотором потоке получены следующие характеристики: — среднее значение интервала mt = 2 мин, — среднее квадратическое отклонение интервала О( = 0,9 мин. Требуется подобрать поток Эрланга, обладающий приблизительно теми же характеристиками, найти его интенсивность Л и порядок k. Решение. Интенсивность Л есть величина, обратная среднему интервалу между событиями: Л = l/mt= 1/2 = 0,5 (соб/мин) Из формулы (5.8) находим порядок потока Эрланга k: Выбирая в качестве k ближайшее целое число, получаем k = 5. Итак, данный поток можно приближенно заменить потоком Эрланга 5-го порядка с плотностью вида: или (Z) = 4,l/4 е—2-5 z (/>0). (5.9) Вид кривой распределения (5.9) показан на рис. 4.26 Особое внимание, уделяемое здесь потокам Эрланга по сравнению с другими потоками Пальма (с произвольным законом распределения интервала времени между соседними событиями) объясняется тем, что при помощи этих потоков можно сводить не-марковские процессы к марковским. Как это делается, мы увидим дальше, в § 10, 11 настоящей главы, а также в § 6 гл. 5. Потоки Эрланга весьма удобны для приближенного представле- ния потоков Пальма любого вида, так как потоки Эрланга различных порядков образуют целую гамму, дающую постепенный переход от про- стейшего потока (полное отсутствие последействия) к потоку с регу- лярными интервалами (полное, жесткое последействие). Возможности приближенного представления любых потоков Пальма потоками типа Эрланга еще более расширяются, если воспользоваться «обобщенными законами Эрланга», которые получаются при сложении нескольких слу- чайных величин, распределенных по показательным законам с разными параметрами (см., например, [8]), а также «смешанными обобщенными законами Эрланга», которые получаются, если сложить несколько обобщенных законов Эрланга с коэффициентами («весами»), образую- щими в сумме единицу. 211
6. ПУАССОНОВСКИЕ ПОТОКИ СОБЫТИЙ И НЕПРЕРЫВНЫЕ МАРКОВСКИЕ ЦЕПИ Рассмотрим некоторую физическую систему S с дискретными со- стояниями Si, S2....Sn> которая переходит из состояния в состояние под влиянием каких-то случайных событий, например, вызовы на теле- фонной станции, выходы нз строя (отказы) элементов аппаратуры, вы- стрелы, направленные по цели и т. д. Будем себе это представлять так, будто события, переводящие си- стему из состояния в состояние, представляют собой какие-то пото- ки событий (потоки вызовов, потоки отказов, потоки выстрелов и т. д.). Пусть система S с графом состояний, показанным на рис. 4.27, в момент t находится в состоянии St и может перейти из него в состоя- ние Sj под влиянием какого-то пуассоновского потока событий с ин- тенсивностью как только появляется первое событие этого потока, система мгновенно переходит (перескакивает) из в S;. Как мы знаем, вероятность этого перехода за элементарный промежуток времени А/ (элемент вероятности перехода) равна Хг;А/. Таким образом, плотность вероятности перехода Хг7 в непрерывной цепи Маркова представляет собой не что иное, как интенсивность потока собы- тий, переводящего систему по соответствующей стрелке. Если все потоки событий, переводящие систему S из состояния в состояние, пуассоновские (стационарные или нестационарные — безразлично), то процесс, протекающий в системе, будет марковским. Действительно, пуассоновский поток обладает отсутствием последей- ствия, поэтому, при заданном состоянии системы в данный момент, ее переходы в другие состояния в будущем обусловлены только появле- нием каких-то событий в пуассоновских потоках, а вероятности появ- ления этих событий не зависят от «предыстории» процесса. В дальнейшем, рассматривая марковские процессы в системах с дискретными состояниями и непрерывным временем (непрерывные марковские цепи), нам удобно будет во всех случаях рассматривать переходы системы из состояния в состояние как происходящие под вли- янием каких-то потоков событий, хотя бы в действительности эти события были единичными. Например, работающее техническое устройство мы будем рассматривать как находящееся под действием потока отказов, хотя фактически оно может отказать толь- ко один раз. Действительно, если устройство отказывает в тот момент, когда приходит первое событие потока, то совершенно все рав- но — продолжается после этого поток отказов или же прекращает- ся: судьба устройства от этого уже не зависит. Для нас же будет удобнее иметь дело именно с потоками событий. Итак, рассматривается система S, в которой переходы из состоя- ния в состояние происходят под действием пуассоновских потоков со- бытий с определенными интенсивностями. Проставим эти интенсив- ности (плотности вероятностей переходов) на графе состояний систе- мы у соответствующих стрелок. Получим размеченный граф состоя- 218
ний (рис. 4.27); по которому, пользуясь правилом, сформулированным в § 3, можно сразу записать дифференциальные уравнения Колмо- горова для вероятностей состояний. Пример 1. Техническая система $ состоит из двух узлов: I и II; каждый из иих независимо от другого может отказывать (выходить из строя). Поток от- казов первого узла — пуассоновский, с интенсивностью Ку, второго — также пуассоновский, с интенсивностью 1П. Каждый узел сразу после отказа на- чинает ремонтироваться (восстанавливаться). Поток восстановлений (оконча- ний ремонта ремонтируемого узла) для обоих узлов — пуассоновский с интен- сивностью X. Рис. 4.28 Рис. 4.27 Составить граф состояний системы и написать уравнения Колмогорова для вероятностей состояний. Определить, при каких начальных условиях нужно решать эти уравнения, если в начальный момент (1 = 0) система работает исправно. Решение. Состояния системы: Su — оба узла исправны, S21 — первый узел ремонтируется, второй исправен, S12 — первый узел исправен, второй ремонтируется, S22 — оба узла ремонтируются. Размеченный граф состояний системы показан на рис. 4.28. Интенсивности потоков событий иа рис. 4.28 проставлены из следующих соображений. Если система 5 находится в состоянии Su, то иа нее действуют два потока событий: поток неисправностей узла I с интенсивностью X,, переводящий ее в состояние S21, и поток неисправностей узла II с интенсивностью Х,п> пере- водящий ее в S12. Пусть теперь система находится в состоянии S21 (узел I ремон- тируется, узел II—исправен). Из этого состояния система может, во-первых, вер- нуться в Su (это происходит под действием потока восстановлений с интенсив- ностью %); во-вторых, — перейти в состояние S22 (когда ремонт узла I еще не закончен, а узел II тем временем вышел из строя); этот переход происходит под действием потока отказов узла II с интенсивностьюХ,п. Интенсивности потоков у остальных стрелок проставляются аналогично. Обозначая вероятности состояний рп, р21, р12 и р22 и пользуясь правилом, сформулированным в § 3, запишем уравнения Колмогорова для вероятно- стей состояний: 213
— (^ + Ьи) Рп+цд+^лг’ -~= — (Ы-^п) Р21 +KI Pll + XP'22, -^= -~(& + Ь1) Pia + ^-u Рц + Хр22> -—=— 2Xp22 + \j Р214-К] Р12. (6.1) Начальные условия, при которых нужно решать эту систему: При t — 0 Рц = 1, Р21 = Р12 — Р22 = О- Помехи Рис 4.29 Заметим, что, пользуясь условием Р11 + Р21 + Р12 + Р22 = h можно было бы уменьшить число уравнений на одно. Действительно, любую из вероятностей рп, р21, р12, р22 можно выразить через остальные и подставить в уравнения (6.1), а уравнение, содержащее в левой части производную этой ве- роятности — отбросить. Заметим, кроме того, что уравнения (6.1) справедливы как для постоянных интенсивностей пуассоновских потоков X, так и для переменных: ^ = ^,(0; К,, = (/); Х = А.(О- Пример 2. Группа в составе пяти самолетов в строю «колонна» (рис. 4.29) совершает налет на территорию противника. Передний самолет (ведущий) является постановщиком помех; до тех пор, пока он не сбит, идущие за ним самолеты не могут быть обнаружены и атакованы средствами ПВО противника. Атакам подвергается только постановщик помех. Поток атак — пуассоновский, с интенсивностью X (атак/час). В результате атаки постановщик помех пора- жается с вероятностью р. Если постановщик помех поражен (сбит), то следующие за ним самолеты обнаруживаются и подвергаются атакам ПВО; на каждый из них (до тех пор, по- ка он не поражен) направляется пуассоновский поток атак с интенсивностью X; каждой атакой самолет поражается с вероятностью р. Когда самолет поражен, атаки по нему прекращаются, но на другие самолеты не переносятся. Написать уравнения Колмогорова для вероятностей состояний систе- мы и указать начальные условия. Решение. Будем нумеровать состояния системы соответственно числу со- хранившихся самолетов в группе: S5 — все самолеты целы; S4 — постановщик помех сбит, остальные самолеты целы; 214
S3 — постановщик помех и один бомбардировщик сбиты, остальные само- леты целы; S2 — постановщик помех и два бомбардировщика сбиты, остальные само- леты целы; Sj — постановщик помех и три бомбардировщика сбиты, один самолет цел; So — все самолеты сбиты. Состояния мы отличаем друг от друга по числу сохранившихся бом- бардировщиков, а не по тому, какой именно из них сохранился, так как все бомбардировщики по условиям задачи равноценны — атакуются с одинако- вой интенсивностью и поражаются с одинаковой вероятностью. Граф состояний системы показан на рис. 4 30. Чтобы разметить этот граф, определим интенсивности потоков событий, переводящих систему из состояния в состояние. Из состояния S5 в S4 систему переводит поток поражающих (или «успешных») атак, т. е. тех атак, которые приводят к поражению постановщика (разумеется, если он раньше не был поражен). Интенсивность Рис. 4.30 потока атак равна X, но не все они — поражающие: каждая из них оказывается поражающей только с вероятностью р. Очевидно, интенсивность потока пора- жающих атак равна Хр; эта интенсивность и проставлена в качестве Х54 у первой слева стрелки на графе (рис. 4.30). Займемся следующей стрелкой и найдем интенсивность Х43. Система нахо- дится в состоянии S4, т. е., целы и могут быть атакованы четыре самолета. Она перейдет в состояние S3 за время А/, если за это время какой-нибудь из самоле- тов (все равно, какой) будет сбит. Найдем вероятность противоположного собы- тия — за время Д/ ни один самолет не будет сбит: (1— крМ) (l^kpM) (1—Хр М) (1— кр Ы) = (1—кр Д/)4ж 1—4Хр Ы. Здесь отброшены члены высшего порядка малости относительно Д/. Вычитая эту вероятность из единицы, получим вероятность перехода из S4 в S3 за время Д/ (элемент вероятности перехода): 4ХрД/, откуда Х43 = 4Хр, что и проставлено у второй слева стрелки. Заметим, что интенсивность этого по- тока событий просто равна сумме интенсивностей потоков поражающих атак, направленных на отдельные самолеты Рассуждая наглядно, можно получить этот вывод следующим образом: система 5 в состоянии S4 состоит из четырех са- молетов; на каждый нз них действует поток поражающих атак с интенсивностью Хр; значит на систему в целом действует суммарный поток поражающих атак с интенсивностью 4Хр. С помощью аналогичных рассуждений проставляются интенсивности по- токов событий у остальных стрелок. 215
Уравнения Колмогорова для вероятностей состояний имеют вид» dPs . dt - -Xppe, ~Z"= —4%pp4-f-Xpp8, dt ~77= —3X,pp3-}- 41pp4, at —— = — 2Xppa + 3Xpp3, dt = —^PPi + 2X,ppa, Inn —=Xpp1. dt Так как в начальный момент (при t = 0) все самолеты -целы, начальные условия будут: при t = Q р5=1. Р4=Рз=Рг=Р1 = Ро=О- Рис. 4.31 Пример 3. Условия те же, что и в примере 2, но интенсивность X относит- ся к общему потоку атак, направляемому иа всю группу. До тех пор, пока постановщик помех цел, все эти атаки направляются на него; когда он сбит, ата- ки распределяются равномерно между оставшимися самолетами, так что на один самолет приходится в среднем 1/й (атак/час), где k—число сохранившихся само- летов. Составить граф состояний, разметить его и записать уравнения Кол- могорова для вероятностей состояний. Решение. Размеченный граф состояний показан на рис. 4.31. Уравнения Колмогорова: #5 . dt------lpPil dp& . _ Хрр4 4 1рр8, dt dps dt dPi dt = — Xppj 4- %pp2, dPo . "dF = lpP1, lpps 4- lppit Крр, Ьррз, Начальные условия =.те же, что и в примере 2. 216
Отметим, что в данном параграфе мы только выписывали дифференциальные уравнения для вероятностей состояний, но не за- нимались решением этих уравнений. По этому поводу можно заметить следующее. Уравнения для ве- роятностей состояний представляют собой линейные дифференциаль- ные уравнения с постоянными или переменными коэффициентами — в зависимости от того, постоянны или переменны интенсивности ki} потоков событий, переводящих систему из состояния в состояние. Система нескольких линейных дифференциальных уравнений тако- ко типа только в редких случаях может быть проинтегрирована в квад- ратурах: обычно такую систему приходится решать численно — либо вручную, либо на аналоговой вычислительной машине (АВМ), либо, наконец, на ЭЦВМ. Все эти способы решения систем дифференциаль- ных уравнений затруднений не доставляют; поэтому самое существен- ное — уметь записать систему уравнений и сформулировать для нее начальные условия, чем мы и ограничились здесь. 7. ПРЕДЕЛЬНЫЕ ВЕРОЯТНОСТИ СОСТОЯНИЙ Пусть имеется физическая система S с дискретными состояниями: Si> Sj,..., Sn, в которой протекает марковский случайный процесс с непрерывным временем (непрерывная цепь Маркова). Граф состояний показан на рис. 4.32. Рис. 4.32 Предположим, что все интенсивности потоков событий, переводя- щих систему из состояния в состояние, постоянны: А.0 = const, другими словами, все потоки событий — простейшие (стационарные пуассоновские) потоки. Записав систему дифференциальных уравнений Колмогорова для вероятностей состояний и проинтегрировав эти уравнения при задан- 217
ных начальных условиях, мы получим вероятности состояний, как функции времени, т. е. п функций: й(0> Рг(О...... РпЮ> при любом t дающих в сумме единицу: § А (0 = 1- ;=j Поставим теперь следующий вопрос: что будет происходить с сис- темой S при /—> оо? Будут ли функции pi(/), р2(0, Р«(0 стремиться к каким-то пределам? Эти пределы, если они существуют, называются предельными (или «финальными») вероятностями состояний. Можно доказать следующее общее положение. Если число состоя- ний системы S конечно и из каждого состояния можно перейти (за то или иное число шагов) в каждое другое, то предельные вероятности со- стояний существуют и не зависят от начального состояния системы. Рис. 4.33 Рис. 4.34 На рис. 4.33 показан граф состояний, удовлетворяющий постав- ленному условию: из любого состояния система может рано или позд- но перейти в любое другое. Напротив, для системы, граф состояний которой показан на рис. 4.34, условие не выполнено. Очевидно, что если начальное состояние такой системы S1( то, например, состояние Se при t ->• оо может быть достигнуто, а если начальное состояние S2 — не может. Предположим, что поставленное условие выполнено, и предель- ные вероятности существуют: limpz(^)=p; (i = 1, 2...., и). (7.1) t ->оо Предельные вероятности мы будем обозначать теми же буквами pi, Рг, < Рп, что и сами вероятности состояний, разумея подними на этот раз не переменные величины (функции времени), а постоянные числа. 218
Очевидно, предельные вероятности состояний, так же как и до- предельные, в сумме должны давать единицу: п 2 А- = 1- :=! Таким образом, при /—> оо в системе S устанавливается некоторый предельный стационарный режим: он состоит в том, что система случайным образом меняет свои состояния, но вероятность каждого из них уже не зависит от времени: каждое из состояний осу- ществляется с некоторой постоянной вероятностью. Каков смысл этой вероятности? Она представляет собой не что иное, как сред- нее относительное время пребывания си- стемы в данном состоянии. Например, если у системы 5 три возможных состояния: Si, S2 и S3, причем их предельные вероят- ности равны 0,2, 0,3 и 0,5, это означает, что после перехода к устано- вившемуся режиму система S в среднем две десятых времени будет находиться в состоянии Sx, три десятых — в состоянии S2 и полови- ну времени— в состоянии S3. Возникает вопрос: как вычислить пре- дельные вероятности состояний ри р2, ..., рп? Оказывается, для этого в системе уравнений Колмогорова, описывающих вероятности состояний, нужно положить все левые час- ти {производные) равными нулю. Действительно, в предельном (установившемся) режиме все вероят- ности состояний постоянны, значит, их производные равны нулю. Если все левые части уравнений Колмогорова для вероятностей состояний положить равными нулю, то система дифференциальных уравнений превратится в систему линейных алгеб- раических уравнений. Совместно с условием Ерг=1 (7.2) <=i (так называемым «нормировочным условием») эти уравнения дают возможность вычислить все предельные вероятности Pv Р2, - > Рп- Пример 1. Физическая система 5 имеет возможные состояния: S1; S2, S3, S4, размеченный граф которых дан на рис. 4.35 (у каждой стрелки поставлено численное значение соответствующей интенсивности). Вычислить предельные ве- роятности состояний: р1( р2, р3, рц. Решение. Пишем уравнения Колмогорова для вероятностей состояний: dpt к , = — 5р4 -f- ps, dt dp? ~dT dp3 dt dpt dt = — Рг + 2pi + 2р3, = — Зр3 4- Зрх -|- 2р4, = — 2ра 4- р2- (7.3) 219
Полагая левые части равными нулю, получим систему алгебраических уравие- ний для предельных вероятностей состояний: О = — 5р14-р3, О = — рг 4- 2pi 4- 2ps> О = — Зр3+Зр14-2р4, - - О = — 2р4 4* Ра- Уравнения (7.4) —так называемые однородные уравнения (без свободного члена). Как известно из алгебры, эти уравнения определяют величины р1, ра, р3, pt только с точностью до постоянного множителя. К счастью, у нас есть нор- мировочное условие: Pi + Ра + Рз + Pt = К (7-5) которое, совместно с уравнениями (7.4), дает возможность найти все неизвест- ные вероятности. Рис. 4.35 Действительно, выразим из (7.4) все неизвестные вероятности через одну из них, например, через pv Из первого уравнения: Рз= 5р4. Подставляя во второе уравнение, получим: р2 = 2рл + 2р3 = 2рл + 10рл = 12ft. Четвертое уравнение дает: Pi =• ЧгРа = 6Р1- Подставляя все эти выражения вместо р2, р3, р4 в нормировочное условие (7.5), получим Pi + 12pj + 5рл + брл = 1. Отсюда 24рл=1, Рл = 1/24, P2=12pi = 1/2. Рз = 5рл =6 /24, р4=брл = !/4. Таким образом, предельные вероятности состояний получены, они равны: Pi = 4ai, Ра — Чаг Рз = 8/з4> Pi = 4i- (7.6) Это значит, что в предельном, установившемся режиме система $ будет проводить в состоянии Зл в среднем одну двадцать четвертую часть времени, в состоянии S2 — половину времени, в состоянии S3 — пять двадцать четвертых и в состоянии S4 — одну четверть времени. 220
Заметим, что решая эту задачу, мы совсем не пользовались одним из урав- нений (7 4) — третьим Нетрудно убедиться, что оно является следствием грех остальных: складывая все четыре уравнения, мы получим тождественный нуль. С равным успехом, решая систему, мы могли бы отбросить любое из четырех урав- нений (7.4). Примененный нами способ составления алгебраических уравнений для предельных вероятностей состояний сводился к следующему: сперва написать дифференциальные уравнения, а затем положить в них левые части равными ну- лю. Однако можно записать алгебраические уравнения для предельных вероят- ностей и непосредственно, не проходя через этап дифференциальных. Проиллю- стрируем это на примере. Пример 2. Граф состояний системы показан на рис. 4.36. Написать ал- гебраические уравнения для предельных вероятностей состояний. Решение. Не записывая дифференциальных уравнений, прямо пишем соот- ветствующие правые части и приравниваем их и^лю; чтобы не иметь дела с от- рицательными членами, сразу переносим их в другую часть, меняя знак! ^21 Рг + ^з! Рз — (^12 + ^13) Р1> ^12 Р1 = (^23 + ^21) Рг. (у ^-1з Pi 4" ^-гз Рз + ^4з Ра — ^з! Рз, ^21 Рг — ^43 Ра- Чтобы в дальнейшем сразу же писать такие уравнения, полезно Запом- нить следующее мнемоническое правило: «чтд втекает, то и вытекает», то есть для каждого состояния сумма членов, соответствующих входящим стрелкам, рав- на сумме членов, соответствующих выходящим-, каждый член равен интенсивнос- ти потока событий, переводящего систему по данной стрелке, умноженной на вероятность того состояния, из которого выходит стрелка. В дальнейшем мы во всех случаях будем пользоваться именно этим кратчай- шим способом записи уравнений для предельных вероятностей. Пример 3. Написать алгебраические уравнения для предельных вероят- ностей состояний системы S, граф состояний которой дан на рис. 4.37. Решить эти уравнения. Решение. Пишем алгебраические уравнения для предельных вероятно- стей состояний: ^31 Рз — ^ii Pi, ^12 Pl — ^23 Рз, ^23 Pi — ^31 Рз- Нормировочное условие: Р1 + Рг + Рз = 1. Выразим С помощью первых двух уравнений (7.8) р2 и р3 через pt: ^-12 Рз— л Р1‘> Аз1 Р2^Т~ л 23 Р1- (7.8) (7.10) Подставим их в нормировочное условие (7.9): । ^12 „ । ^12 t Pi+т—Pi + т— Pi = l л23 л31 221
откуда Далее, из (7 10) получим 8. ПРОЦЕСС «ГИБЕЛИ И РАЗМНОЖЕНИЯ» В предыдущем параграфе мы убедились, что зная размеченный граф состояний системы, можно сразу написать алгебраические уравне- ния для предельных вероятностей состояний. Таким образом, если две непрерывные цепи Маркова имеют одинаковые графы состояний и раз- личаются только значениями интенсивностей kiit то нет надобности на- Рис. 4.38 ходить предельные вероятности состояний для каждого из графов в от- дельности: достаточно составить и решить в буквенном виде уравнения для одного из них, а затем подставить вместо Хг> соответствующие зна- чения. Для многих часто встречающихся форм графов линейные урав- нения легко решаются в буквенном виде. В данном параграфе мы познакомимся с одной очень типичной схемой непрерывных марковских цепей — так называемой «схемой гибели и размножения»*). Марковская непрерывная цепь называется «процессом гибели и размножения», если ее граф состояний имеет вид, представленный на рис. 4.38, т. е. все состояния можно вытянуть в одну цепочку, в кото- рой каждое из средних состояний (S2, ..., S„_i) связано прямой и об- ратной связью с каждым из соседних состояний, а крайние состояния (Si, Sn) — только с одним соседним состоянием. Пример 1. Техническое устройство состоит из трех одинаковых узлов; каждый из них может выходить из строя (отказывать); отказав- ший узел немедленно начинает восстанавливаться. Состояния систе- мы нумеруем по числу неисправных узлов: *' Происхождение термина «схема гибели и размножения» ведет начало от биоло- гических задач, где подобной схемой описывается процесс изменения числен- ности популяции. 222
So — все три узла исправны; Sj — один-узел отказал (восстанавливается), два исправны; S2 — два узла восстанавливаются, один исправен; 83 — все три узла восстанавливаются. Граф состояний показан на рис. 4.39. Из графа видно, что про- цесс, протекающий в системе, представляет собой процесс «гибели и размножения». Рис. 4.39 Схема гибели и размножения очень часто встречается в самых раз- нообразных практических задачах; поэтому имеет смысл заранее рас- смотреть эту схему в общем виде и решить соответствующую систему алгебраических уравнений с тем, чтобы в дальнейшем, встречаясь с кон- кретными процессами, протекающими по такой схеме, не решать зада- чу каждый раз заново, а пользоваться уже готовым решением. Итак, рассмотрим случайный процесс гибели и размножения с гра- фом состояний, представленным на рис. 4.40 Рис. 4.40 Напишем алгебраические уравнения для вероятностей состояний. Для первого состояния Sj имеем: ^12 Р1 — ^21 Pi- (8.1) Для второго состояния S2 суммы членов, соответствующих входя- щим и выходящим стрелкам, равны: ^23 Pz + ^21 Р2 = ^12 Р1 + ^32 Рз* Но, в силу (8.1), можно сократить справа и слева равные друг дру- гу члены ^i2Pi и ^21Р2; получим: ^23 Pz ~ ^32 Рз» и далее, совершенно аналогично, ^34 Рз ~ ^43 Р4> 223
Одним словом, для схемы гибели и размножения члены, соответ- ствующие стоящим друг над другом стрелкам, равны между собой: ^4—t. kpk~i =^fe. и— t Pv (8.2) где k принимает все значения от 2 до п. Итак, предельные вероятности состояний plt рг...рп в любой схеме гибели и размножения удовлетворяют уравнениям: S со -Л* Ci С2. • во ” ео со • 'll 1 II ' tx й е. ‘ S 3 s ’ << • • • (8.3) ^4—1. uPk—l = ^k, Ь— 1 Pv 1, nPn—1 ~^n. n—lPn и нормировочному условию: Р1+Р2 + - + Рп = 1- (8.4) Будем решать эту систему следующим образом: из первого урав- нения (7.3) выразим р2: Р2=7^Р1» (8.5) Л21 из второго, с учетом (8.5), получим: р3=^р2=Нк2^ <8-б> Л32 ™32 ^21 из третьего, с учетом (8.6): P4 = r1HL2Pv Л43 Л32 Л21 и вообще п - Х*-1’ ••• Х12 п /о 7\ Pk = , л л ~ Р1‘ (о. 1) Kk. 4—1 л4-1, 4—2 • • • л21 Эта формула справедлива для любого k от 2 до п. Обратим внимание на ее структуру. В числителе стоит произведе- ние всех плотностей вероятности перехода (интенсивностей) стоя- щих у стрелок, направленных слева направо, с начала и вплоть до той, которая идет в состояние Su, в знаменателе — произве- дение всех интенсивностей стоящих у стрелок, идущих справа налево, опять-таки, с начала и вплоть до стрелки, исходящей из состояния Sk. При k = п в числителе будет стоять произведение интен- сивностей стоящих у всех стрелок, идущих слева направо, а в знаменателе — у всех стрелок, идущих справа налево. 224
Итак, все вероятности р1( р2, .... рп выражены через одну из них: Ру. Подставим эти выражения в нормировочное условие: Ру-\-рг-\- 4-...-\-Рп = 1. Получим: , ^12 , ^23 ^12 Pi+г" Р1 + ” Л21 Л32 Л21 , . 4— 1, п h—2, п— 1 ’ ' "Г" ) л %, n—1 Лп—1, п—2 ' 4-1, k 4-2, k-\ X12 х х P1 ЛЛ, Л-1 ЛЛ-1, Л-2 Л21 41 откуда | I I _L2 I I п 1 ’ № «—* . и— i . п__у^ 41 4241 4, Л-1 4- 1, Л-2 ••'41 " Ч, П-1 •41 (8-8) Остальные вероятности выражаются через рр. %12 р2=~Ру, ^21 Рз=Нк2Л’ Л32 ^21 (8-9) Рп 4—1 , П •• .^12 4.И-.---41 Таким образом, задача «гибели и размножения» решена в общем виде: найдены предельные вероятности состояний. Пример 2. Найти предельные вероятности состояний для процесса гибели и размножения, граф которого показан на рис. 4.41. Рис. 4.41 Решение По формулам (8.8) и (8.9) имеем: ___________________1___________________1_________2_ Р1= 2 2-1 2-1-3 “ 2 1 1 “ 5 ’ 1 4- — 4- — +---- 1 4- — + — -ф- — ^ 3 3-2 3-2-2 3 3 2 224 1^2 _LJL_2_ Р2 = ~3 ? = 15’ Рз=3* ’ Т = 15 ’ Р4= 2 ' 5 “ 5 § Зчк 5/3 225
Пример 3. Прибор состоит из трех узлов; поток отказов — простейший, среднее время безотказной работы каждого узла равно t&. Отказавший узел сра- зу же начинает ремонтироваться; среднее время ремонта (восстановления) узла равно /р; закон распределения этого времени показательный (поток восста- новлений — простейший). Найти среднюю производительность прибора, если при трех работающих узлах она равна 100%, при двух — 50%, а при одном и менее — прибор вообще не работает. Решение. Перечень состояний системы и граф состояний уже приводились в примере 1 данного параграфа. Разметим этот граф, т. е. проставим у каждой стрелки соответствующую интенсивность (см. рис. 4.42). Так как поток отказов каждого узла — простейший, то промежуток вре- мени между отказами в этом потоке распределен по показательному закону с па- раметром % = 1//б. где fo—среднее время безотказной работы узла. ip ip ip Рис. 4.42 По стрелкам вправо систему переводят отказы. Если система на- ходится в состоянии So, то работают три узла; каждый из них подвергается по- току отказов с интенсивностью l/7g; значит, поток отказов, действующий на всю систему, в три раза более интенсивен: А01 = 3/Zg Если система находится в состоянии Sj, то работают два узла; общий поток отказов имеет интенсивность: Ai?J = 2//g Аналогично Л23 =» 1/#д По стрелкам влево систему переводят ремонты (восстановления). Среднее время восстановления узла равно £р, значит, интенсивность потока вос- становлений, действующего на один ^восстанавливаемый узел, равна ц = \Цр, на два узла — 2//р, на три узла — 3//р Эти значения %10, Х21, XS2 и проставлены на рис. 8.5 у стрелок, ведущих влево. Пользуясь полученным выше общим решением задачи гибели и размноже- ния, имеем (ставя р0 вместо pi): Pi — 3 ) Pol Мб/ /7р\2 Рг — 31 —— I Pol Мб / Рз = (-=Ч Ро. Мб / 226
- - /п Зададимся конкретными значениями /б = 10 (час),ft, =5 (час). Тогда -£- = 0,5 и 113/ |_3/ 11/ =8/27> Pi—Sli'al21~l2l21’ Pz—S14*8/27=6/27' Рз=с1/8'8/г7==1/27- * "г /2"г /4 "г /8 Средняя производительность прибора в установившемся режиме: iooo/oPu+woP1=(f^f) % =51,9% номинала. 9. ЦИКЛИЧЕСКИЙ ПРОЦЕСС Марковский случайный процесс, протекающий в системе, назы- вается циклическим, если состояния связаны между собой в кольцо (цикл) с односторонними переходами (см. рис. 4.43 на стр. 228). Напишем алгебраические уравнения для предельных вероятностей состояний: ^23 Pi — ^12 Р1> ^34 Рз = ^23 Pi> t-k—I, kPk— 1 = fc-н Pk> "^n— 1, П Pn— I =^n, I Pn> 1 Pn — ^12 Pl> (9.1) плюс нормировочное условие: Pi + Рз + ••• + Pn = 1 • Из уравнений (9.1), отбросив последнее, выразим все вероят- ности р2........ через рх: „ ___ 2 Рг — — Pi, Л23 Хпч Х.,9 ^*93 ^,<9 Рз =“ р2 = ~~ Р1=^-Р1’ Л.!4 Л23 Л34 Л34 Р4=7-Р1. л4, ^12 Pft=——Pl, М, 44-1 8* 227
Подставляя эти выражения в (9.2), получим: Pi + (т hr F••• + г—) Pi — 1» \Л23 Л36 ЛП1 / откуда 1 Р1 ~ ' /1.1 ГГ’ 1 + ^12 I т F т-+ ••• + i I \ л23 ^т/ ^“12 ^2 = Р1, Л23 ^12 Рз = Р1. Л34 А<12 Pk = X----— Р1> л/г, А- + I (9.2) X. 2 Рп= г1- Pi- кп\ Формулы (9.2), выражающие предельные вероятности состояний для циклического процесса, можно привести к более удобному и на- глядному виду, если перейти от интенсивностей 'Кц к средним време- нам tt пребывания системы (подряд) в состоянии 8г (1 = 1, п). Рис. 4.43 Рис. 4.44 Действительно, пусть из состояния St, как это имеет место в цик- лической схеме, исходит только одна стрелка (рис. 4.44). Пусть систе- ма S находится в состоянии 8г. Найдем математическое ожидание вре- мени Tt, которое она еще пробудет в этом состоянии. Так как процесс— марковский, закон распределения времени Tt не зависит от того, сколь- ко времени система уже пробыла в состоянии 8;; значит, он та- кой же, каким был бы, если бы система только что пришла в состояние 8г, т. е., представляет собой не что иное, как показатель- ный закон распределения промежутка времени Т между соседними событиями в простейшем «потоке уходов» системы из состояния 8f. Параметр этвго закона равен Х,г>г+1, а среднее время пребывания си- стемы в состоянии 8г (если она в нем уже находится) равно /г = ,—!—. V '+1 Отсюда 1ц /+| = — для всех г = 1, 2, ..., п — 1. Для t = п получим (в силу ЦИКЛИЧНОСТИ) 1П>1 228 1 ~in
Подставив эти выражения в формулы (9.2). после элементарных пре- образований получим: ^1+^2+ Рп - - - ’ Ц -W2+ ••• + tn или, короче: % = -^— (k = \, ...,п), (9.3) Ё "ti i = I т. е. предельные вероятности состояний в циклической схеме относятся как средние времена пребывания системы подряд в каждом из состояний. Пример 1. Электронная цифровая вычислительная машина может нахо- диться в одном из следующих состояний: S, — исправна, работает; S2 — неисправна, остановлена; ведется поиск неисправности! S3 — неисправность локализована; ведется ремонт; S4 — ремонт закончен; ведется подготовка к пуску машины. Все потоки событий — простейшие. Среднее время безотказной работы ЭЦВМ (подряд) равно 0,5 (суток) Для ремонта машину приходится останавли- вать в среднем па 6 часов. Поиск неисправности длится в среднем 0,5 часа. Пос- ле окончания ремонта машина готовится к пуску в среднем 1 час. Найти пре- дельные вероятности состояний. Рис. 4.45 Решение. Граф состояний имеет вид циклической схемы (рис. 4.45). Определим среднее время пребывания ЭЦВМ подряд в каждом состоянии: ^2 = 1/48> ^ = г/4, <4 = 1М (СуТОК), откуда, по формулам (9.3): 1/2 Рз — 12/з9> Р4 — 2/зв> или, в десятичных дробях, р1 = 0,615; рг = 0,026; р3=О,ЗО8; р4 = 0,051. 229
Таким образом, если процесс сводится к простому циклическому с односторонними переходами, предельные вероятности состояний находятся очень просто: из соотношения средних времен пребывания (подряд) в каждом из состояний. Во многих случаях практики приходится иметь дело с ветвя- щимся циклическим процессом, где граф состояний , в отдельных узлах образует разветвления. Пример 2. ЭЦВМ может находиться в следующих состояниях: Sx — исправна, работает; S2 — неисправна, остановлена; ведется поиск неисправности; S3 — неисправность оказалась незначительной и устраняется местными средствами; S4 — неисправность оказалась серьезной и устраняется бригадой специа- листов; S5 — подготовка к пуску Процесс, протекающий в системе — марковский (все потоки событий — простейшие). Среднее время исправной работы машины подряд равно tlt среднее время поиска неисправностей — t2, среднее время ремонта местными средства- ми —73, среднее время ремонта бригадой специалистов — tit среднее время подготовки ЭЦВМ к пуску — /5. Неисправность ЭЦВМ может быть ликвидирована местными средствами с вероятностью а с вероятностью 1 — требует вызова бригады специалис- тов. Труд бригады оплачивается в размере k (руб/час). Требуется найти предельные вероятности состояний и определить средний расход, идущий на оплату работы ремонтной бригады в единицу времени (в сут- ки). Решение. Строим размеченный граф состояний (рис. 4.46). Если из состоя- ния выходит только одна стрелка, то интенсивность потока событий, стоящей у этой стрелки, равна единице, деленной на среднее время пребывания (подряд) в этом состоянии. Если из состояния выходят не одна стрелка, а две, то общая интенсивность, равная единице, деленной иа среднее время пребывания (подряд) в данном состоянии, умножается для каждой стрелки на вероятность того, что переход совершится именно по этой стрелке. Уравнения для предельных вероятностей состояний имеют вид: 3 1 Рг — т Pi> М 1 1 1 *т~ Рг = ~ Рз. -2 1— 1 Рз + у- Р4=-у Р5, *3 Г4 *5 1 1 76 Рб= G Р1’ плюс нормировочное условие: Pi + Ра + Рз + Pi + Ph = I- (9.4) (9.5) Из уравнений (9.4) одно, как мы знаем, можно отбросить; отбросим самое сложное — четвертое, а из остальных выразим р2, ра, plt р6 через р±: 230
h p2 = Рь &i3 SPtz 1г £Й3 Рз— Рз— г т Р1— т Pi- ‘2 Р> ‘1 4 (1-^)Г4 (1-<Я*4 h (1-^)7« р4- _ г Рз- - ?1 Рт = - Ps = у- Pi- li Рис. 4.46 Подставляя в (9.5), имеем' „ Л , А , кк , ('-А. , U Pi I । Н~ _ ± _ -к z + \ 11 11 ^1 G / Отсюда <1 ₽l G+/2+^3+(l--Я /4+6> ’ <2 ^1 "Мг + ЯзЧ- (1 —-Я ^4 + ^5 =_________ЯЙз Рз Г1 + Г2+^з + (1-^)^ + Г6 ’ (1_-^К_______t 4 G+M-.^3+(i-.m+75 ’ ___________h_________ Н + ^2 4" + (1 —^4 + ^5 Средняя доля времени, которую система проводит (в установившемся ре- жиме) в состоянии S4 (ремонт бригадой специалистов) равна р4. Значит, за час система проводит в этом состоянии в среднем р4 часов. Умножая эту величину на 24/г, получим средний расход средств на оплату бригады специалистов за сутки: С = 24fep4. Обратим внимание на структуру вероятностей рг, р2, ..., р6 в схеме ветвя- щегося цикла. Они, так же как и в случае простого цикла, представляют собой отношения средних времен пребывания (подряд) в состояниях к сумме всех таких времен, с той разницей, что для состояния, лежащего на «ветке», это среднее вре- мя множится на вероятность перехода по данной «ветке» (^ или 1 — 5s) Поль- зуясь этим правилом, можно сразу писать предельные вероятности состояний для любой ветвящейся циклической схемы 231
10. ПРИБЛИЖЕННОЕ СВЕДЕНИЕ НЕ-МАРКОВСКИХ ПРОЦЕССОВ К МАРКОВСКИМ. МЕТОД «ПСЕВДОСОСТОЯНИЙ» На практике мы почти никогда не имеем дела с марковскими про- цессами в чистом виде: реальные процессы почти всегда обладают тем или другим последействием. Для марковского процесса время пре- бывания системы подряд в каком-либо состоянии распределено по по- казательному закону; на самом деле это далеко не всегда бывает так. Например, если поток событий, переводящий систему из состояния в состояние есть поток отказов какого-то узла, то более естественно предположить, что оставшееся время безотказной работы узла зави- сит от того, сколько времени узел уже рабо- тал. При этом время пребывания узла в рабочем состоянии пред- ставляет собой случайную величину, распределенную не по показа- тельному, а по какому-то иному закону. Возникает вопрос о том, мож- но ли приближенно заменять не-пуассоновские потоки — пуассоновс- кими и к каким ошибкам в предельных вероятностях состояний мо- жет привести подобная замена. Для этого необходимо уметь хотя бы приближенно исследовать случайные процессы, протекающие в систе- мах с последействием. Рассмотрим некоторую физическую систему S, в которой проте- кает случайный процесс, направляемый какими-то не-пуассоновскими потоками событий. Если мы попробуем для этого процесса написать уравнения, выражающие вероятности состояний как функции време- ни, мы увидим, что в общем случае это нам не удастся. Действитель- но, для марковской системы мы вычисляли вероятность того, что в мо- мент t -f- Д/ система будет в состоянии S;, учитывая только то, в ка- ком с о сто я н и и система была в момент t, и не учитывая, сколь- ко времени она была в этом состоянии. Для не-марковской си- стемы этот прием уже непригоден: вычисляя вероятность перехода из одного состояния в другое за время Д/, мы должны будем учитывать, сколько времени система уже провела в данном состоянии. Это приводит, вместо обыкновенных дифференциальных уравнений, к урав- нениям с частными производными, то есть к гораздо более сложному математическому аппарату, с помощью которого только в редких случаях можно получить нужные результаты. Возникает вопрос: а нельзя ли свести искусственно (хотя бы при- ближенно) не-марковский процесс к марковскому? Оказывается, в некоторых случаях это возможно: а именно, если число состояний системы не очень велико, а отличающиеся от про- стейших потоки событий, участвующие в задаче, представляют собой (точно или приближенно) потоки Эрланга. Тогда, вводя в схему воз- можных состояний системы некоторые фиктивные «псевдосостояния», удается свести не-марковский процесс к марковскому и описать его с помощью обыкновенных дифференциальных уравнений, которые при t -> оо переходят в алгебраические уравнения для предельных вероятностей состояний. Поясним идею метода «псевдосостояний» на конкретном примере. 232
Пример 1. Рассматривается система S — техническое устройст- во, которое может выходить из строя под влиянием простейшего пото- ка неисправностей с интенсивностью X. Отказавшее устройство немед- ленно начинает восстанавливаться. Время восстановления (ремонта) Т распределено не по показательному закону (как надо было бы для того, чтобы процесс был марковским), а по закону Эрланга 3-го порядка: /з(/)= МиШе-цг (/>0). (Ю.1) Требуется свести данный не-марковский процесс к марковскому и найти для него предельные вероятности состояний. Решение. Случайная величина Т — время вссстановления — рас- пределена по закону Эрланга и, значит, представляет собой сумму трех случайных величин Tlt Т2, Т3, распределенных по показательному за- кону (см. § 5 гл. 4) с параметром ц: (/>0). (10.2) Истинных состояний системы всего два: <$! — устройство исправно; S2 — устройство восстанавливается. Граф этих состояний показан на рис.4.47 (он относится к цикли- ческой схеме). Однако в виду того, что переход по стрелке S2 -> Sj происходит под влиянием не простейшего, а эрланговского потока событий, про- цесс, происходящий в системе, марковским не является, и для него мы не можем написать ни дифференциальных, ни алгебраических урав- нений. Чтобы искусственно свести это процесс к марковскому, введем в цепочку состояний, вместо одного состояния S2, ТРИ последователь- ных «псевдосостояния». SV> — ремонт начинается; 8<2> — ремонт продолжается; 8^3) — ремонт заканчивается, т. е. разделим ремонт на три этапа или «фазы», причем время пребыва- ния системы в каждой из фаз будем считать распределенным по показательному закону (10.2). Граф состояний будет иметь вид, пока- занный на рис. 4.48, где роль одного состояния S2 будут играть три псевдосостояния S^1), 8(г2> и S^3>. Процесс, протекающий в такой системе, уже будет марковским. Обозначим р^, р<22), —предельные вероятности пребывания системы в псевдосостояниях $(Л 5(22). 8^3>; тогда р2=рР+рР+р<23\ Обозначая Л = 1/Х, /2 = 1/н» 233
можем сразу написать (как для обычной циклической схемы) предель- ные вероятности состояний: fi — Pi — _ _ _ _ - > ^Нг-Мг-Нг h + 3f2 р(» = р^=^3)=_Л_ 11 + з/2 p2=pv,+<,+/’(23, = ^1-=- fi + 3f2 Заметим, что величина 3/2 представляет собой не что иное, как среднее время восстановления (ремонта) — оно равно сумме средних времен пребывания системы в каждой фазе ремонта. Переходя в формулах для ри р2 от средних времен 4, /2 к интен- сивностям потоков, по формулам 4 = 1Д, 4 = I/р, получим: Р1 = Н/(Н + 3^)> р2 = ЗМи + 3^). (Ю.З) Таким образом, получен вывод: для нашего элементарного приме- ра вероятность пребывания в каждом из двух состояний, как и для марковского цикла, равна относительному среднему времени пребы- вания подряд в каждом из состояний. Следующий пример будет несколько сложнее. Пример 2. Техническое устройство S состоит из двух одинаковых узлов, каждый из которых может выходить из строя (отказывать) под влиянием простейшего потока неисправностей с интенсивностью К. Отказавший узел немедленно начинает ремонтироваться. Время ремонта Т распределено по закону Эрланга второго порядка: /2(/) = И2/е-»' (/>0). Требуется найти предельные вероятности состояний системы. Решение. Истинных состояний системы три (нумеруем их по числу отказавших узлов). So — оба узла работают; Si — один узел работает, другой ремонтируется; S2 — оба узла ремонтируются. Разделим условно ремонт на две фазы: ремонт начинается и ремонт заканчивается. 234
Длительность каждой фазы будем считать распределенной по показа- тельному закону (10.2). Процесс, происходящий в системе, приводит- ся к марковскому, если ввести такие псевдосостояния: — один узел работает, другой начинает ремонтироваться; S[2> — один узел работает, другой кончает ремонтироваться; — оба узла начинают рамонтироваться; S^I>2> — один узел начинает ремонтироваться, а другой кончает; S(2.2) — оба узла кончают ремонтироваться. Граф состояний системы с псевдосостояниями показан на рис. 4.49. На стрелках, ведущих из Sp-‘> в Sp'2> и из SP 2) в S^, написано 2ц, а не ц, потому что перейти в следующую фазу ремонта (окончание ремонта) может любой из двух узлов. Рис. 4.49 Уравнения для предельных вероятностей состояний имеют вид: 2Хр0 ф- цр),1- + fipt1’ +2цр<22- 2> = (%+ ц) р<2\ Ар<» =2цр(’-»> 2цр(21’1>-|-^р(2)=2цр(1.2), Иру-2> =2цр<22-2>, iip<2> = 2Лр0. Из третьего, пятого и шестого уравнений (10.4) имеем: 2Л Р2) =— Ро, Н (Ю.4) (10.5) 235
что дает возможность уменьшить число неизвестных: подставляя (10.5) в оставшиеся три уравнения (10.4), получим: 2Хр0 4-рр<2‘ -2> = (X4- ц)р<», 1 > 4- цр<2‘ • 2> = (X 4- ц) — р0> И М”+ —2Ро = 2^-2). ц (10.6) Из этих трех уравнений с тремя неизвестными р0, р<Р, р^'-2> можно по произволу отбросить любое, например, последнее, и доба- вить нормировочное условие: Р„ + Р'11 ’ + Р12) + PV ’ ” + Р(21’ 2) + Р2- 2) = Ь или, с учетом (10.5), (1+-Ьо+ (1 +^Р(|1) + 4р<2112) = 1- Решим два первых уравнения (10.6) вместе с уравнением (10.7). Выразим из первого уравнения р(2’’2) через р0 и р<”: 1 Р'1’- —Ро (Ю.8) \ и / 1 и и подставим это выражение во второе уравнение; получим: (Х4- 2И)рО> = [2X4- ^(Х4-и)]ро. или, после сокращения на (Х4-2н): /?<’> = —Ро- (10.9) и Подставляя это в (10.8), выразим и вероятность р(2‘• 2> через р0: pV’2)=^Po- (10J0) Теперь подставим (10.9) и (10.10) в нормировочное - усло- вие (10.7): откуда 1 fl 2 I |Л / j Q j . Ро ~ 14- 4Х/р 4- 4Х2/ц2 ~ ц24-4Хц + 4Р • После этого найдем все остальные предельные вероятности: из (10.9), (10.10) ,п 2Хр .. 2Р n( 1 ) =-------!------n( I . 2 ) = ------------- • 1 |л‘24-4Хи + 4Х2 2 (124- 4Хц 4- 4Х2 236
из (10.5): Р<2> = ------2Х,г nd. О =_______№ 1 + Пц + 4V ? u2+4bM + W>’ р(2. 2) = ----------- 2 ц2 + 4Хц+ 4V После того, как найдены вероятности псевдосостояний, можно найти и вероятности состояний: ц2 Ро ____________• П = nd) + п(2) = _ p2 + 4fyt + 4V ’ 1 ц2+4Хц+4Х2 Р2 = Ptf •' > + /^’ •2) + Р? ’2) = - — ,, . 2 2 2 2 ц2 + 4^ + 4Х2 Например, при % = 1, р = 4 (в стационарном режиме) вероятность того, что оба узла работают, равна р0 — 16/25 = 0,64; вероятность того, что один узел ремонтируется рг = 8/25 = 0,32; вероятность то- го, что оба узла ремонтируются ръ = 1/25 = 0,04. Заметим, что метод псевдосостояний допускает сравнительно простое решение задачи только в самых простых случаях, когда чис- ло состояний исходной системы невелико. Однако, иногда удается применить этот метод и к задачам, где число состояний не очень мало; во всяком случае, получить если не буквенное, то численное прибли- женное решение соответствующей системы линейных алгебраических уравнений. Возможности метода псевдосостояний существенно расширяются, если пользоваться в качестве потоков событий не одними только эрлан- говскими -потоками в чистом виде, а и обобщенными эрланговскими и смешанными обобщенными эрланговскими распределениями, о кото- рых упоминалось в конце § 5.
5 ТЕОРИЯ МАССОВОГО ОБСЛУЖИВАНИЯ 1. ЗАДАЧИ ТЕОРИИ МАССОВОГО ОБСЛУЖИВАНИЯ При исследовании операций очень часто приходится сталкивать- ся с анализом работы своеобразных систем, называемых система- ми массового обслуживания (СМО). Примерами таких систем могут служить: телефонные станции, ремонтные мастерские, билетные кассы, справочные бюро, магазины, парикмахерские и т. п. Каждая СМО состоит из какого-то числа обслуживающих единиц, которые мы будем называть каналами обслуживания. В качестве «каналов» могут фигурировать: линии связи, рабочие точки, приборы, железнодорожные пути, лифты, автомашины и т. д. Системы массового обслуживания могут быть одноканальными или многоканальными. Каждая СМО предназначена для обслуживания (выполнения) какого-то потока заявок (или «требований»), поступающих на СМО в какие-то, вообще говоря, случайные моменты времени. Об- служивание поступившей заявки продолжается некоторое (вообще го- воря, случайное) время, после чего канал освобождается и готов к при- нятию следующей заявки. Случайный характер потока заявок приво- дит к тому, что в какие-то промежутки времени на входе СМО скапли- вается излишне большое число заявок (они либо образуют очередь, либо покидают СМО необслуженными); в другие же периоды СМО будет работать с недогрузкой или вообще простаивать. Каждая система массового обслуживания, в зависимости от числа каналов и их производительности, а также от характера потока заявок, обладает какой-то пропускной способностью, позво- ляющей ей более или менее успешно справляться с потоком заявок. Предмет теории массового обслуживания — установление зависимо' сти между характером потока заявок, числом каналов, их производи- тельностью, правилами работы СМО и успешностью (эффективностью) обслуживания. В качестве характеристик эффективности обслуживания, в зави- симости от условий задачи и целей исследования, могут применяться различные величины и функции, например: — среднее количество заявок, которое может обслужить СМО в единицу времени; — средний процент заявок, получающих отказ и покидающих СМО необслуженными; 238
— вероятность того, что поступившая заявка немедленно будет принята к обслуживанию; — среднее время ожидания в очереди; — закон распределения времени ожидания; — среднее количество заявок, находящихся в очереди; — закон распределения числа заявок в очереди; — средний доход, приносимый СМО в единицу времени и т. д. Случайный характер потока заявок, а в общем случае и длитель- ности обслуживания приводит к тому, что в системе массового обслужи- вания будет происходить какой-то случайный процесс. Чтобы дать рекомендации по рациональной организации этого процес- са и предъявить разумные требования к СМО, необходимо изучить слу- чайный процесс, протекающий в системе, описать его математически. Этим и занимается теория массового обслуживания. Заметим, что за последние годы область применения математи- ческих методов теории массового обслуживания непрерывно расши- ряется и все больше выходит за пределы задач, связанных с «обслужи- вающими организациями» в буквальном смысле слова. Как своеобраз- ные системы массового обслуживания могут рассматриваться: элект- ронные цифровые вычислительные машины; системы сбора и обработки информации; автоматизированные производственные цехи, поточные линии; транспортные системы; системы противовоздушной обороны и т. п. Близкими к задачам теории массового обслуживания являются многие задачи, возникающие при анализе надежности технических устройств. Математический анализ работы СМО очень облегчается, если слу- чайный процесс, протекающий в системе, является марковским. Тогда удается сравнительно просто описать работу СМО с помощью аппара- та обыкновенных дифференциальных (в предельном случае — линей- ных алгебраических) уравнений и выразить в явном виде основные характеристики эффективности обслуживания через параметры СМО и потока заявок. Мы знаем, что для того, чтобы процесс, протекающий в системе, был марковским, нужно, чтобы все потоки событий, переводящие си- стему из состояния в состояние, были пуассоновскими (потоками без последействия). Для СМО потоки событий — это потоки заявок, по- токи «обслуживанию заявок и т. д. Если эти потоки не являются пуас- соновскими, математическое описание процессов, происходящих в СМО, становится несравненно более сложным и требует более громозд- кого аппарата, доведение которого до явных, аналитических формул удается только в редких, простейших случаях. Однако, все же аппарат «марковской» теории массового обслуживания может пригодиться и в том случае, когда процесс, протекающий в СМО, отличен от марков- ского—с его помощью характеристики эффективности СМО могут быть оценены приближенно. Следует заметить, что чем сложнее СМО, чем больше в ней каналов обслуживания, тем точнее оказываются прибли- женные формулы, полученные с помощью марковской теории. Следует также заметить, что в ряде случаев для принятия обоснованных ре- 239
шений по управлению работой СМО вовсе и не требуется точного зна- ния всех ее характеристик — зачастую достаточно и приближенного, ориентировочного. В настоящей главе будут изложены элементы теории массового обслуживания, главным образом в той простейшей форме, которую они приобретают в рамках марковской теории. Для более подробного оз- накомления с теорией массового обслуживания в ее современной, раз- витой форме, читатель может обратиться к специальным монографиям, например, [14], [12], [20]. 2. КЛАССИФИКАЦИЯ СИСТЕМ МАССОВОГО ОБСЛУЖИВАНИЯ И ИХ ОСНОВНЫЕ ХАРАКТЕРИСТИКИ Системы массового обслуживания вообще могут быть двух типов. 1. Системы с отказами. В таких системах заявка, поступившая в момент, когда все каналы заняты, получает «отказ», покидает СМО и в дальнейшем процессе обслуживания не участвует. 2. Системы с ожиданием (с очередью). В таких системах заявка, поступившая в момент, когда все каналы заняты, становится в очередь и ожидает, пока не освободится один из каналов. Как только освобо- дится канал, принимается к обслуживанию одна из заявок, стоящих в очереди. Обслуживание в системе с ожиданием может быть «упорядоченным» (заявки обслуживаются в порядке поступления) и «неупорядоченным» (заявки обслуживаются в случайном порядке). Кроме того, в некото- рых СМО применяется так называемое «обслуживание с приоритетом», когда некоторые заявки обслуживаются в первую очередь, предпочти- тельно перед другими. Системы с очередью делятся на системы с неограниченным ожида- нием и системы с ограниченным ожиданием. В системах с неограниченным ожиданием каждая заявка, посту- пившая в момент, когда нет свободных каналов, становится в очередь и «терпеливо» ждет освобождения канала, который примет ее к обслу- живанию. Любая заявка, поступившая в СМО, рано или поздно будет обслужена. В системах с ограниченным ожиданием на пребывание заявки в оче- реди накладываются те или другие ограничения. Эти ограничения мо- гут касаться длины очереди (числа заявок, одновременно находящих- ся в очереди), времени пребывания заявки в очереди (после какого- то срока пребывания в очереди заявка покидает очередь и уходит), общего времени пребывания заявки в СМО и т. д. В зависимости от типа СМО, при оценке ее эффективности могут применяться те или другие величины (показатели эффективности). Например, для СМО с отказами одной из важнейших характеристик ее продуктивности является так называемая абсолютная про- пускная способность — среднее число заявок, которое может обслужить система за единицу времени. 240
Наряду с абсолютной, часто рассматривается относитель- ная пропускная способность СМО — средняя доля поступивших заявок, обслуживаемая системой (отношение среднего числа заявок, обслуживаемых системой в единицу времени, к средне- му числу поступающих за это время заявок). Помимо абсолютной и относительной пропускной способностей, при анализе СМО с отказами нас могут, в зависимости от задачи ис- следования, интересовать и другие характеристики, например: — среднее число занятых каналов, — среднее относительное время простоя системы в целом и от- дельного канала и т. д. Перейдем к рассмотрению характеристик СМО с ожиданием. Очевидно, для СМО с неограниченным ожиданием как абсолют- ная, так и относительная пропускная способность теряют смысл, так как каждая поступившая заявка рано или поздно будет обслуже- на. Зато для такой СМО весьма важными характеристиками являются: — среднее число заявок в очереди, — среднее число заявок в системе (в очереди и под обслуживанием), — среднее время ожидания заявки в очереди, — среднее время пребывания заявки в системе (в очереди и под об- служиванием), и другие характеристики ожидания. Для СМО с ограниченным ожиданием интерес представляют обе группы характеристик: как абсолютная и относительная пропускная способности, так и характеристики ожидания. Для анализа процесса, протекающего в СМО, существенно знать ос- новные параметры системы: число каналов п, интенсивность потока заявок к, производительность каждого канала (среднее число зая- вок |х, обслуживаемое каналом в единицу времени), условия образо- вания очереди (ограничения, если они есть). В зависимости от этих параметров мы и будем в дальнейшем вы- ражать характеристики эффективности работы СМО. Заранее условимся (чтобы не оговаривать это всякий раз отдель- но), что мы будем считать все потоки событий, переводящие СМО из состояния в состояние, пуассоновскими. В тех редких случаях, когда мы будем рассматривать не-марковские системы массового обслужи- вания, мы будем каждый раз оговаривать это специально. Напомним, что в случае, когда пуассоновский поток стационарен (простейший поток), интервал времени Т между событиями в этом по- токе есть случайная величина, распределенная по показательному за- кону: f(O = Xe~w (/>0), (2.1) где — интенсивность потока событий. В случае, когда из какого-то состояния <$г систему выводят сразу несколько простейших потоков, величина Т — время пребывания си- стемы (подряд) в данном состоянии есть случайная величина, распре- деленная по закону (2.1), где X — суммарная интенсивность всех по- токов событий, выводящих систему из данного состояния. 241
3. ОДНОКАНАЛЬНАЯ СМО С ОТКАЗАМИ Рассмотрим простейшую из всех задач теории массового обслу* живания — задачу о функционировании одноканальной СМО с отка- зами. Пусть, система массового обслуживания состоит только из одного канала (п — I) и на нее поступает пуассоновский поток заявок с ин- тенсивностью X, зависящей, в общем случае, от времени: Х = НО- (3.1) Заявка, заставшая канал занятым, получает отказ и покидает си- стему. Обслуживание заявки продолжается в течение случайного времени То5у распределенного по показательному закону с параметром р: /(0=це-^' (/>0). (3.2) Из этого следует, что «поток об- служивании» — простейший, с ин- тенсивностью р. Чтобы представить себе реально этот поток, вообразим Рис. 5.1 один непрерывно занятый канал — он будет выдавать обслуженные заявки потоком с интенсивностью р,. Требуется найти: 1) абсолютную пропускную способность СМО (А); 2) относительную пропускную способность СМО (q). Рассмотрим единственный канал обслуживания как физическую систему S, которая может находиться в одном из двух состояний: So — свободен, Si — занят. Граф состояний системы показан на рис. 5.1. Из состояния So в Si систему, очевидно, переводит поток заявок с интенсивностью X; из Sj и So — «поток обслуживаний» с интенсив- ностью р. Обозначим вероятности состояний ро(0 и Pi(0- Очевидно, для лю- бого момента t Po(O + Pitf) = l. (3.3) Составим дифференциальные уравнения Колмогорова для вероят- ностей состояний согласно правилу, данному в § 3 гл. 4. Имеем: ^ = — Xpo+HPi, = — Mh + *-Ро- (3.4) Из двух уравнений (3.4) одно является лишним, так как р0 и свя- заны соотношением (3.3). Учитывая это, отбросим второе уравнение, 242
а в первое подставим вместо рА его выражение (1 — р0): ---------^Ро + М (1 — Ро)> - at или ~~ — — (и + М Ро 4* И- (3.5) at Это уравнение естественно решать при начальных условиях: Ро(О) = 1, Р!(0) = о (в начальный момент канал свободен). Линейное дифференциальное уравнение (3.5) с одной неизвестной функцией р0 легко может быть решено не только для простейшего по- тока заявок (X = const), но и для Ро<Р)к случая, когда интенсивность этого потока со временем меняется (А, = А(/)). Не останавливаясь на последнем случае, приведем реше- ние уравнения (3.5) только для случая X = const: = <3-6> ь ~г ц л Р Зависимость величины р0 от Рис 52 времени имеет вид, изображенный на рис. 5.2. В начальный момент (при t ~ 0) канал заведомо свободен (ро(О) = 1). С увеличением t вероятность рй уменьшается и в пределе (при / оо) равна -. Величина р^), дополняющая ро(0 до еди- ницы, изменяется как показано на том же рис. 5.2. Нетрудно убедиться, что для одноканальной СМО с отказами ве- роятность р0 есть не что иное, как относительная пропускная способ- ность q. Действительно, р0 есть вероятность того, что в момент / канал сво- боден, иначе вероятность того, что заявка, пришедшая в момент t, будет обслужена. А значит, для данного момента времени t среднее от- ношение числа обслуженных заявок к числу поступивших также рав- но р0: q = Ро- В пределе, при t -+ оо, когда процесс обслуживания уже устано- вится, предельное значение относительной пропускной способности будет равно: ^ + р. ’ (3.7) Зная относительную пропускную способность q, легко найти аб- солютную А. Они связаны очевидным соотношением: Л = М- (3-8) 243
а я в о к среди поданных. X И В пределе, при t -> оо, абсолютная пропускная способность тоже установится и будет равна Д = (3.9) л 4-р Зная относительную пропускную способность системы q (вероят- ность того, что пришедшая в момент I заявка будет обслужена), легко найти вероятность отказа: Ротк = 1—?• (3.10) Вероятность отказа Ротк есть не что иное, как средняя до- ля необслуженных В пределе, при t -> оо, Пример. Одноканальная СМО с отказами представляет собой одну теле- фонную линию. Заявка — вызов, пришедший в момент, когда линия занята, получает отказ. Интенсивность потока вызовов X = 0,8 (вызовов в минуту). Средняя продолжительность разговора ^об=1.5мин- Все потоки событий — про- стейшие. Определить предельные (при t -> оо) значения: 1) относительной пропускной способности ц; 2) абсолютной пропускной способности А; 3) вероятности отказа Ротк. Сравнить фактическую пропускную способность СМО с номинальной, ко- торая была бы, если бы каждый разговор длился в точности 1,5 мин, и разгово- ры следовали бы один за другим без перерыва. Решение. Определяем параметр р потока обслуживании: р,= 1/7об= 1/1,5 = 0,667. По формуле (3.6) получаем относительную пропускную способность СМО: 0.667 „ _ о =-------------- 0,455. 4 0,8ф-0,667 Таким образом, в установившемся режиме система будет обслуживать около 45% поступающих вызовов. По формуле (3.9) находим абсолютную пропускную способность: Д=Ц = 0,8.0,455=с 0,364, т. е. линия способна осуществить в среднем 0,364 разговора в минуту. Вероятность отказа: РОтк= 1 —9=0,545, значит около 55% поступивших вызовов будет получать отказ Номинальная пропускная способность канала: Дном = = 0,667 (разговора в минуту), ‘ об что почти вдвое больше, чем фактическая пропускная способность, получаемая с учетом случайного характера потока заявок и случайности времени обслужи- вания. 244
4. МНОГОКАНАЛЬНАЯ СМО С ОТКАЗАМИ Рассмотрим n-канальную СМО с отказами. Будем нумеровать со- стояния системы по числу занятых каналов (или, что в данном случае то же, по числу заявок, связанных с системой). Состояния будут: So — все каналы свободны, S, — занят ровно один канал, остальные свободны, Sk — заняты ровно k каналов, остальные свободны, Sn — заняты все п каналов. Граф состояний СМО представлен на рис. 5.3. Разметим граф, т. е. проставим у стрелок интенсивности соответствующих потоков событий. По стрелкам слева направо систему переводит один и тот же Рис. 5.3 поток — поток заявок с интенсивностьюX. Если система находится в со- стоянии Sh (занято k каналов) и пришла новая заявка, система пере- ходит (перескакивает) в состояние S^i- Определим интенсивности потоков событий, переводящих систе- му по стрелкам справа налево. Пусть система находится в состоянии <Sj (занят один канал). Тог- да, как только закончится обслуживание заявки, занимающей этот канал, система перейдет в So; значит, поток событий, переводящий систему по стрелке S1 -> So, имеет интенсивность р. Очевидно, если обслуживанием занято два канала, а не один, поток обслуживании, переводящий систему по стрелке S2-> Si, будет вдвое интенсивнее (2ц); если занято k каналов—в k раз интенсивнее (&ц.). Проставим соответствующие интенсивности у стрелок, ведущих справа налево. Из рис. 5.3 видно, что процесс, протекающий в СМО, представляет собой частный случай процесса гибели и размноже- ния, рассмотренного нами в § 8 гл. 4. Пользуясь общими правилами, можно составить уравнения Кол- могорова для вероятностей состояний: — ^Po + HPi> at ~~ = —"Ь Р) Pi + Ро + %РРи at .............................................. (4.1) — — — (X 4~ ^Н) Рь + Хщ _ 1 (k 4-1) [ipk +-1, ~ = — ПЦРп + Хрп-ь 245
Уравнения (4.1) называются уравнениями Эрланга. Естественными начальными условиями для их решения являются: рв(0)=1; Р1(0) = р2(0)= ... =р„(0)=0 (в начальный момент система свободна). Интегрирование системы уравнений (4.1) в аналитическом виде довольно сложно; на практике такие системы дифференциальных уравнений обычно решаются численно, на АВМ или ЭЦВМ. Такое решение дает нам все вероятности состояний Po(*h ft (О, Р„ (0. •••» Рп (О как функции времени. Естественно, нас больше всего будут интересовать предел ь- ные вероятности состояний р0, ръ .... ph,.... рп, харак- теризующие установившийся режим работы СМО (при t оо). Для нахождения предельных вероятностей воспользуемся уже готовым ре- шением задачи, полученным для схемы гибели и размножения в § 8 гл. 4. Согласно этому решению, = -Т^т-Ро=^Ро, (*=1,2, ...,«); ___________________1_______________ 1 + । (W)2 । (Мр)л 11 Т" 21 nl (4-2) В этих формулах интенсивность потока заявок % и интенсивность потока обслуживаний (для одного канала) р не фигурируют по отдель- ности, а входят только своим отношением Мр. Обозначим это отноше- ние А/p = р и будем называть величину р «приведенной интенсивностью» потока заявок. Физический смысл ее таков: величина р представляет собой среднее число заявок, приходящих в СМО за среднее время обслужи- вания одной заявки. С учетом этого обозначения, формулы (4.2) примут вид: о* Ph = др ft» (* = 1, 2.../г); к! Формулы (4.3) называются формулами Эрланга. Они выражают предельные вероятности всех состояний системы в зависи- мости от параметров к, р и п (А — интенсивность потока заявок, р — интенсивность обслуживания, п — число каналов СМО). Зная все вероятности состояний Ро> Р1> Ph> •••> ft>. 246
можно найти характеристики эффективности СМО: относительную пропускную способность q, абсолютную пропускную способность А и вероятность отказа Дотк. Действительно, заявка получает отказ, если приходит в момент, когда все п каналов заняты. Вероятность этого равна ^отк ~ Рп~ Ро- (4.4) Вероятность того, что заявка будет принята к обслуживанию (она же относительная пропускная способность q) дополняет Р0№ до еди- ницы: <7=1 —рп- (4.5) Абсолютная пропускная способность: Д = М = М1-Рп). (4.6) Одной из важных характеристик СМО с отказами является сред- нее число занятых каналов (в данном случае оно совпадает со средним числом заявок, находящихся в системе). Обозначим это среднее число k. __ Величину k можно вычислить непосредственно через вероятности Ро> Pi...Рп по формуле: ^=0-ро4-1-р1+... +п-рп (4.7) как математическое ожидание дискретной случайной величины, при- нимающей значения 0, 1, .... п с вероятностями р0, р1; ..., рп. Однако значительно проще выразить среднее число занятых каналов через аб- солютную пропускную способность А, которую мы уже знаем. Дейст- вительно, А есть не что иное, как среднее число заявок, обслуживаемых в единицу времени-, один занятый канал обслуживает в среднем за еди- ницу времени р заявок; среднее число занятых каналов получится де- лением А ла р: k- А р ц или, переходя к обозначению й./р=р, £ = р(1—рп). (4.8) Пример. Повторяются условия примера предыдущего параграфа (X = 0,8, р = 0,667), однако вместо одноканальной СМО (п = 1) рассматривается трех- канальная (п = 3), т е число линий связи увеличено до трех Найти вероятнос- ти состояний, абсолютную и относительную пропускную способности, вероят- ность отказа и среднее число занятых каналов. Решение. Приведенная интенсивность потока заявок: р = Х./р,=0,8/0,667 = 1,2. По формулам Эрланга (4 3) получаем: р Pi = ~^ Ро=1.2ро, 847
р2 Pi — Ро = 0 > 72 Ро, Р3 Рз = ТГ Ро = 0,288ро, ОI ________________1____________ Ро~ 1-^1,2^0.72^0,288 ~0,312, р1Я5 1,2-0,312 = 0,374; р2 « 0,72-0,312=0,224} р3® 0,288-0,312 ==0,090. Вычисляем вероятность отказа: Р отк= Рз=0,090. Относительная и абсолютная пропускные способности равны: q = 1— р3 = 0,910; Л = Х9 = 0,8.0,910 = 0,728. Среднее число занятых каналов: fe=p(l — р3>= 1,2-0,91 ® 1,09, т. е. при установившемся режиме работы СМО в' среднем будет занят один с не- большим канал из трех — остальные два будут простаивать. Этой ценой добы- вается сравнительно высокий уровень эффективности обслуживания — около 91% всех поступивших вызовов будет обслужено 5. ОДНОКАНАЛЬНАЯ СМО С ОЖИДАНИЕМ Рассмотрим сначала простейшую из всех возможных СМО с ожи- данием — одноканальную систему (п = 1), на которую поступает поток заявок с интенсивностью X; интенсивность обслуживания р (т. е. в среднем непрерывно занятый канал будет выдавать р обслужен- ных заявок в единицу (времени). Заявка, поступившая в момент, когда канал занят, становится в очередь и ожидает обслуживания.- Очереди нет Рис. 5.4 Предположим, сначала, что количество мест в очереди ограниче- но числом т, т. е. если заявка пришла в момент, когда в очереди уже стоят т заявок, она покидает систему необслуженной. В дальней- шем, устремив т к бесконечности, мы получим характеристики одно- канальной СМО без ограничений по длине очереди. Будем нумеровать состояния СМО по числу заявок, находящихся в системе (как обслуживаемых, так и ожидающих обслуживания): So — канал свободен, Sj — канал занят, очереди нет, S2 — канал занят, одна заявка стоит в очереди, 248
Sb — канал занят, k — 1 заявок стоит в очереди, Sm+) — канал занят, т заявок стоят в очереди. Граф состояний СМО показан на рис. 5.4. Интенсивности потоков событий, переводящих в систему по стрелкам слева направо, все равны X, а справа налево — р. Действительно, по стрелкам слева направо систему переводит поток заявок (как только придет заявка, система переходит в следующее состояние), справа же налево — поток «ос- вобождений» занятого канала, имеющий интенсивность р (как только будет обслужена очередная заявка, канал либо освободится, либо уменьшится число заявок в очереди). Изображенная на рис. 5.4 схема представляет собой схему гибели и размножения. Пользуясь общим решением, данным для схемы ги- бели и размножения в § 8 гл. 4, напишем выражения предельных ве- роятностей состояний: Pi = (Vp) р0, Р2 = (Х/р)2 р0, Pk = (W)/e Ро> (5.1) Pm+i =(2l/p)m+' ро, Ро“ l + (X/p) + (W+ - + (Vp)'”+I’ Вводя обозначение Мр = р, перепишем формулы (5.1) в виде: Pi = РРо- Рг=Р2 Ро> Pk=Pk Ро< pm+i =Рт+’ ро, 1 _ Ро~ 14-р+р2+ - +Рт+’ ~ = [1 + Р + Р2+ - + р'"+1]-1. . (5.2) Заметим, что в знаменателе последней формулы (5.2) стоит геомет- рическая прогрессия с первым членом 1 и знаменателем р; суммируя эту прогрессию, находим: Ро = (1-р^+2)/(1_р) = i_pm+2 ’ (5>3)
Таким образом, формулы (5.2) окончательно примут вид: Ро~ l-p^ + 2 Pi = РРо. Р2 = Р2Ро> Pfe = P& Ро» (5.4) Рт+1 = Рт+ 1 Ро. Обратим внимание на то, что формула (5.3) справедлива только при р Ф 1 (при р = 1 она дает неопределенность вида 0/0). Но сумму геометрической прогрессии со знаменателем р = 1 найти еще проще чем по формуле (5.3): она равна т 4* 2, и в этом случае р0 = = l/(m -f- 2). Заметим, что тот же результат мы могли бы получить более сложным способом, раскрывая неопределенность (5.3) по пра- вилу Лопиталя. Определим характеристики СМО: вероятность отказа Ротк, от- носительную пропускную способность q, абсолютную пропускную спо- собность А, среднюю длину очереди г, среднее число заявок, связанных с системой k. Очевидно, заявка получает отказ только в случае, когда канал за- нят и все т мест в очереди — тоже: р pm+1 о-р) “отк Рт-}-\— |__рт + 2 Находим относительную пропускную способность: <7 = 1—р = 1— рт4' .(L~p)... ч 1 отк 1 |_рш + 2 (5.5) (5.6) Абсолютная пропускная способность: A =Xq. Найдем среднее число г заявок, находящихся в очереди; определим эту величину как математическое ожидание дискретной случайной ве- личины R — числа заявок, находящихся в очереди: С вероятностью р2 в очереди стоит одна заявка, с вероятностью р3 две заявки, вообще с вероятностью рь в очереди стоят k — 1 заявок, на- конец, с вероятностью рш+! в очереди стоят т заявок. Среднее число заявок в очереди получим, умножая число заявок в очереди на соот- ветствующую вероятность и складывая результаты: r — 1 'р2 4* 2'Рз 4-... 4- (k—1)4* ••• 4*т'Рт+1 — = 1 •ргРо4-2-р3ро 4- ... 4- (£—1)-Р*Ро+ - + т-рт+' р0. (5.7) ?50
Вынесем в этом выражении р2р0 за скобки: r = P2PoU Ч-2р+ ... (k~ 1)р*-2+ ... -bmp'"-1]. (5.8) Выведем формулу для суммы, стоящей в скобках (этой формулой мы будем часто пользоваться в дальнейшем). Очевидно, рассматривае- мая сумма представляет собой не что иное, как производную по р суммы 2 =Р-ЬР2+ ... -|-р*-'-)_ ... 4-р-п, а для этого выражения мы можем воспользоваться формулой суммы геометрической прогрессии: (5.9) 1 —р Продифференцируем (5.9) по р: у- 11— (т+1)р'7'](1— р) +(р—рт+’) (1-р)2 - __ 1—(/п+1) рт—р+ (m-f-1) рт+1-)-р —рт+1 (1—р)а 1— (т-|-1)рш+ трт+* 1—рш (т+ 1 — тр) (1-р)2 “ (1—Р)а Итак, выражение для суммы, стоящей в скобках в правой части (5.8), найдено: 1 4-2р+ ... + ... + (5.10) Подставляя его в (5.8), получим: |_-р>”(^+1-/ПР)> Г Р (1-Р)2 Учитывая выражение для р0 из (5.4), имеем: ~ а (!—Р) I1—Рт(т-Н—'пр)] Р (1_р'п + 2)(1_р)2 или, окончательно, Таким образом, мы вывели выражение для среднего числа заявок, ожидающих обслуживания в очереди. Выведем теперь формулу для среднего числа k заявок, связанных с системой (как стоящих в оче- реди, так и находящихся под обслуживанием). Будем решать задачу следующим образом: рассмотрим общее число заявок К, связанных с системой, как сумму двух случайных величин: числа заявок, стоя- щих в очереди, и числа заявок, находящихся под обслуживанием: 251
где /? — число заявок в очереди, Q — число заявок под обслужива- нием. По теореме сложения математических ожиданий k = M [К] = Л1 |/?|4-Л1[Й] = г 4-ю, где г — среднее число заявок в очереди, со — среднее число заявок под обслуживанием. Величину г мы только что нашли; найдем величину со. Так как канал у нас один, то случайная величина Q может принимать только два значения: 0 или 1. Значение 0 она принимает, если канал свобо- ден; вероятность этого равна 1—р р0~ i-p^+2 • Значение 1 она принимает, если канал занят; вероятность этого равна 1 Р-Рт+2 Ро )_рт+2 • Отсюда находим математическое ожидание числа заявок, находящихся под обслуживанием: со=0-р04-1-(1-ро) = -Р_^-2 Таким образом, среднее число заявок, связанных с СМО, будет _______________________ _ __ т-4-2 * = (5J2) где величина г определяется по формуле (5.11). Выведем выражение еще для одной существенной характеристики СМО с ожиданием: среднего времени ожидания заявки в очереди. Обо- значим его/ож. Пусть заявка проходит в систему в какой-то момент времени. С вероятностью р0 канал обслуживания не будет занят, и ей не придется стоять в очереди (время ожидания равно нулю). С вероят- ностью рг она придет в систему во время обслуживания какой-то заяв- ки, но перед ней не будет очереди, и заявка будет ждать начала своего обслуживания в течение времени 1/ц (среднее время обслуживания одной заявки). С вероятностью рг в очереди перед рассматриваемой заявкой будет стоять еще одна, и время ожидания в среднем будет равно 2/р, и т. д. Вообще, с вероятностью ph пришедшая заявка застанет в системе k заявок и будет ждать в среднем единиц времени; здесь k может быть любым целым числом до т. Что же касается k = т + 1, т. е. случая, когда вновь приходящая заявка застает канал обслужи- вания занятым и еще т заявок в очереди (вероятность этого pm+I), то время ожидания в этом случае также равно нулю, потому что заяв- 252
ка не становится в очередь (и не обслуживается) Поэтому среднее время ожидания будет: 'ож = Pl И Рз Н ••• + Ph----F ••• 4" Рт-• ММ и и Подставляя сюда выражения для рт, получаем: А>ж ~РоР---h Ро Р2 Ь ••• + Ро Р ’-F ••• + Ро Рт — = и и и н = — £ (1 + 2p-f- ... +kpk~l 4- ... -j-mp"1-1). и Преобразуем сумму в скобках, пользуясь формулой (5.10): 7 — РоР 1—Pm(m+1—^р) 0,к И (1- Р)’ или, выражая р0 через р: ^ож 1 р (1 — р> 1—Pm (/n4-1 —/пр) _ р[1—Рт (/п 4-1—/пр)] ,г .п. Ц l-p^+2 (1—р)2 н(1-рт + 2)(1-Р) ' ’ Сравнивая это выражение с формулой (5.11), замечаем, что т. е. среднее время ожидания равно среднему числу заявок в очереди, де- ленному на интенсивность потока заявок. Выведем еще формулу для среднего времени пребывания заявки в системе. Обозначим ТсиеТ случайную величину — время пребыва- ния заявки в СМО. Эта случайная величина складывается из двух сла- гаемых (тоже случайных): Т = Т 4-0 •* сист ®ж ~ » где Тож — время ожидания заявки в очереди, 0 — случайная вели- чина, равная времени обслуживания То5, если заявка обслуживает- ся, и нулю, если она не обслуживается (получает отказ). По теореме сложения математических ожиданий: ^сист = М [Тсист] = М [Т0Н(] 4- М [0], но, в наших обозначениях, Л4 [7\>ж] =t0K, а /VI[0] = qt06 = qlp. Отсю- да находим: /еиот = 70ж 4- q/p, или, с учетом формулы (5.4), *еист=г/Х-Н/И- (5.15) Пример 1. Автозаправочная станция (АЗС) представляет собой СМО с од- ним каналом обслуживания (одной колонкой). Площадка при станции допу- скает пребывание в очереди на заправку не более трех машин одновременно ,/п=3). Если в очереди уже находится три машины, очередная машина, 253
прибывшая к станции, в очередь не становится, а проезжает мимо. Поток машин, прибывающих для заправки, имеет интенсивность Х = 1 (машина в ми- нуту). Процесс заправки продолжается в среднем 1,25 мин. Определить: — вероятность отказа; — относительную и абсолютную пропускную способности СМО; — среднее число машин, ожидающих заправки; — среднее число машин, находящихся на АЗС (включая и обслуживаемую); — среднее время ожидания машины в очереди; — среднее время пребывания машины на АЗС (включая обслуживание). Решение. Находим приведенную интенсивность потока заявок: ц= 1/1,25 = 0,8; р = %/р = 1/0,8= 1,25. По формулам (5.4): 1 — 1,25 А> = ----3—ж 0,122, pj = 1,25.0,122 «0,152, 1 — 3,05 р2 = 1,25.0,122 ж 0,191, р3 = 1,25.0,122 ж 0,238, р4 = 1,25-0,122 «0,297. Вероятность отказа Ротн ж 0,297. Относительная пропускная способность СМО q = 1 — Ротк = 0,703. Абсолютная пропускная способность СМО А = kq = 0,703 (машины в мин.) Среднее число машин в очереди находим по формуле (5.11) - 1,2541-1,25’ (3+1-3,75)] Г =------------------------------- 1,00, (1—1,25») (1-1,25) т. е. среднее число машин, ожидающих в очереди на заправку, равно 1,56. Прибавляя к этой величине среднее число машин, находящихся под об- служиванием получаем среднее число машин, связанных с АЗС: fe = r + co ~ 2,44. Среднее время ожидания машины в очереди, по формуле (5.14) равно (ож = — = 1,56 (мин). К Прибавляя к этой величине Л4[0] = <y/p. = 0,703/0,8 ж 0,88, получим сред- нее время, которое машина проводит на АЗС: 7ОИОТ= 1,56 + 0,88 = 2,44 (мин). До сих пор мы рассматривали работу одноканальной СМО с ожи- данием при ограниченном числе т мест в очереди. Теперь снимем это ограничение, т. е. устремим т к бесконечности. При этом число возможных состояний системы станет бесконечным, и граф состояний примет вид, показанный на рис. 5.5. Попытаемся получить вероятности состояний СМО с неограничен- ной очередью путем предельного перехода (при т -> оо) из формул (5-4). Заметим, что при этом знаменатель в последней формуле (5.2) представляет собой сумму бесконечного числа членов 254
геометрической прогрессии. Эта сумма сходится только, когда прогрес- сия бесконечно убывающая, т. е. при р < 1. Можно со- вершенно строго доказать, что р < 1 есть условие, при котором в СМО с ожиданием существует предельный установившийся режим; прир > 1 такого режима не существует, и очередь при t -> оо растет до бесконечности. Очереди нет Рис. 5.5 Предположим, что р = А,/р < 1, т. е. что предельный режим существует. Устремим в формулах (5.4) т к оо и выведем формулы для предельных вероятностей состояний в СМО без ограничений по длине очереди. Получим: Ро = 1 - Р> р1 = р(1 —р), р2=рг(1 — р)> (5.16) Ра==Р*(1 — Р). При отсутствии ограничений по длине очереди каждая заявка, пришедшая в систему, будет обслужена, поэтому q = 1, A = kq = k. Среднее число заявок в очереди получим из (5.11) при т-+ оо: Среднее число заявок равно в системе по формуле (5.12) при т -> оо будет 5“?+»=Л+₽=Л;- (5Л8) Среднее время ожидания 70)Ь также получим из формулы (5.14) при т оо: или, в другой форме: '«-М.-РГ (6'20) ?55
Среднее время пребывания заявки в СМО равно среднему време- ни ожидания плюс среднее время обслуживания (обол = 1/р: ?сист=-1-Г£-4-—. (5.21) [X 1 — р ц р 1 — р Пример 2. На железнодорожную сортировочную горку прибывают соста- вы с интенсивностью X. = 2 (состава в час). Среднее время, в течение которого горка обрабатывает состав, равно 0,4 часа. Составы, прибывшие в момент, когда горка занята, становятся в очередь и ожидают в парке прибытия, где имеются три запасных пути, на каждом из которых может ожидать один состав Состав, прибывший в момент, когда все три запасных пути в парке прибытия заняты, становится в очередь на внешний путь. Все потоки событий — простейшие. Найти: — среднее число составов, ожидающих очереди (как в парке прибытия, так и вне его); — среднее время ожидания состава в парке прибытия и на внешних путях; — среднее время нахождения состава на сортировочной станции (включая ожидание и обслуживание); — вероятность того, что прибывший состав займет место на внешних путях Решение. В нашем случае % = 2, ц = 1/0,4 = 2,5, %/р. = р — 2/2,5 = = 0,8 <1, и СМО в среднем «справляется» с поступающим на нее потоком зая- вок. Среднее число составов, ожидающих очереди (как в парке прибытия, так и вне его), найдем по формуле (5.17): Среднее число составов, ожидающих очереди на внешних путях, подсчи- таем так: с вероятностью рв вне парка прибытия будет ожидать один состав, с ве- роятностью рв — два состава и т д., с вероятностью р^(й >5) — (k — 4) состава. Среднее число составов, ожидающих вне парка, будет: г’ = 1Рв + 2Рб4-... + (&—4) ph4-... = 1 (1 —р) р14-2 (1 —р) рв4-...4- 4-...4-(fe—4) (1—р) р*4-. .. = (1—р) р’ [14-2р4-Зр*4-. .]. Формулу для бесконечной суммы в скобках получаем предельным пере- ходом (при т -> оо) из формулы (5.10): 14-2р4~Зрг+. (5,22) (1—р)а Отсюда Подставляя сюда р = 0,8, получим: 7 = 1,64. Вероятность того, что прибывающий состав займет место на внешних пу- тях, определяется еще проще: она равна вероятности того, что длина очереди будет не меньше трех, т. е Р4 + Рв4-Рб4-... = (1—Р) Р44-0— Р) Р54-О— Р) Р64-.-- = = (1-р) р4 (14-р4-р2 + • ••) = р4 = 0,84^ 0,41. ?56
Среднее время ожидания в парке прибытия определяем, рассматривая различные гипотезы о числе составов, находящихся в системе: 12 3 ---Pi + Р2+ [Рз + Р4+Рб+---1 — II |Л [X « — {1-Р (1-р) + 2р2 (1 —р)+3 [р3 (1 —р) + р4 (1-Р) +...]} = н = —(p(l-p) + 2p2U-p)+3p3J = И = — {р— р24-2ра — 2р34-3р3]=— [р + р2 + р3]=—Рт- Р • р р р 1—р Для р = 0,8, р = 2,5, получаем, что среднее время ожидания в парке прибытия равно 0,8—0,41 0,4----—----= 0,78 (час) ~ 47 (мин). Что же касается среднего времени ожидания на внешних путях, то оно равно — Р +— Р5 + — Р»+...=— (1—Р)Р4 + —(1—Р)Р5+—(1—Р) Рв + --- = р р р р р р (1—р) р4 „ (1—р) р4 1 1 р4 = ----[ 1 + 2рЧ-Зра4- ... ]=----, = —Т~, Р И (1—Р)2 И 1—Р т. е. для наших численных данных, 0,4-0,41/0,2=0,82 (час) » 49 (мин) Среднее время пребывания состава на сортировочной станции (считая ожи- дание и обслуживание) будет равно: <СиСт = 0,82 + 0,78 + 0,4= 2 (час). 6. МНОГОКАНАЛЬНАЯ СМО С ОЖИДАНИЕМ Рассмотрим n-канальнуюСМО с ожиданием, на которую поступает поток заявок с интенсивностью X; интенсивность обслуживания (для одного канала) р; число мест в очереди т. Состояния системы будем нумеровать по числу заявок, связанных с системой: О) X X о о. о V о So — все каналы свободны, Sj—занят один канал, остальные свободны, Sk — заняты k каналов, остальные свободны, — заняты все п каналов, S„+i—заняты все п каналов; одна заявка стоит в очереди, S„+r — заняты все п каналов, г заявок стоят в очереди, Sn+m — заняты все п каналов, tn заявок стоят в очереди. 9 Зак 573 257
Граф состояний приведен на рис. 5.6. У каждой стрелки простав- лены соответствующие интенсивности потоков событий. Действитель- но, по стрелкам слева направо систему переводит всегда один и тот же поток заявок с интенсивностью X; по стрелкам справа налево систему переводит поток обслуживаний, интенсивность которого равна р, ум- ноженному на число занятых каналов. Очереди нет Рис. 5.6 Граф на рис. 5.6 представляет собой схему гибели и размножения, для которой решение в общем виде уже получено. Напишем выраже- ния для предельных вероятностей состояний, сразу же обозначая Х/р = р: р Ра р" Р1=-урРо. Р2=-^-Ро..............Рп=-^-Ро, р"+1 p"+2 р"+т Рп+1— — Ро. Рп+2— Ро» .... Рп + т— ———- Ро> пл! п2 nl пт п\ Р л2 р0 = 1 н—и — + 0 1 и 21 рп рп+> рп+5 nl "I" nnl п2 nl р'1^" пт nl или, суммируя геометрическую прогрессию со знаменателем р/п подчеркнутые члены): р2 Р2-— РО- р" Prt = ^Po. Рн+1 Р ----г Ро> п-п! Рп+2 р--Г‘ Vt Ро’ П2П! pH -j- Ifl Рп + т= — ; Ро- пт п! (6-1) 258
Таким образом, все вероятности состояний найдены. Найдем некоторые характеристики эффективности обслужи ва ния. Поступившая заявка получает отказ, если заняты все п каналов и все т мест в очереди: л«+"г '°отк ~ Рп + т ~ —- рп. (6-2) пт Относительная пропускная способность, как всегда, дополняет вероятность отказа до единицы рп + т Ро- Абсолютная пропускная способность СМО будет равна: = Х 1 р"+т Ро пт (6.3) Найдем среднее число занятых каналов. Для СМО с отказами оно совпадало со средним числом заявок, находящихся в системе. Для СМО с очередью среднее число занятых каналов не совпадает со сред- ним числом заявок, находящихся в системе: последняя величина от- личается от первой на среднее число заявок, находящихся в очереди. Сохраним обозначение k для среднего числа заявок, связанных с си- стемой, а среднее число занятых каналов обозначим г. Каждый заня- тый канал обслуживает в среднем р заявок в единицу времени; вся же СМО обслуживает в среднем А заявок в единицу времени. Деля одно на другое, получим: - А /, о"+т \ 2 =— = — 1 —-с-------- р0 . ц р \ Пт-п1 У или г = р 11 — ----ро\. (6.4) \ пт-п! °/ Среднее число заявок в очереди можно вычислить непосредствен- но, как математическое ожидание дискретной случайной величины, умножая любое возможное число заявок на вероятность того, что имен- но это число заявок будет в очереди, и складывая результаты: ! 0^4*2 Г = 1 -рп+ I 2 -Рп+2 + ••• +^’Pn-|-m=l -Ро+"- + n-nl n2-nl Р р = р Ро пт-пГ° П-п1 (6.5) Введем обозначение р/п = к и перепишем (6.5) в виде: г =— р0 [ 1 2х + Зх2-р ... '] (6.6) n-nl 9* 259
Заметим, что выражение в скобках есть не что иное, как уже вы- численная нами в предыдущем параграфе сумма (5.10), где вместо р поставлено х. Пользуясь этой формулой и подставляя результат в (6.6), получим: р” + 'ро 1— (т + 1) к-^-тк п-п! (1—-х)2 (6.7) Складывая среднее число заявок в очереди г и среднее число заня- тых каналов z, получим среднее число заявок, связанных с системой: k = z-\-r. (6.8) Теперь найдем среднее время ожидания заявки в очереди: 70ж. Сде- лаем ряд гипотез о том, в каком состоянии застанет систему вновь при- шедшая заявка и сколько времени ей придется ждать обслуживания. Если заявка застанет не все каналы занятыми, ей вообще не при- дется ждать (соответствующие члены в математическом ожидании от- бросим, как равные нулю). Если заявка придет в момент, когда заня- ты все п каналов, а очереди нет, ей придется ждать в среднем время, равное 1/пр (потому что поток освобождений п каналов имеет интен- сивность пр). Если заявка застанет все каналы занятыми и одну заяв- ку перед собой в очереди, ей придется в среднем ждать время 2/пр (по 1/пр на каждую впереди стоящую заявку) и т. д. Если заявка застанет в очереди г заявок, ей придется ждать в среднем время г/пр. Если вновь пришедшая заявка застанет в очереди уже т заявок, то она вообще не будет ждать (но и не будет обслуживаться). Среднее время ожида- ния найдем, умножая каждое из этих значений на соответствующую вероятность: 7 1 । 2 т -ож ~ Рп Н------------Рп+ 1 + ••• П-------Рп + т— 1 — пр пр пр Рп , , т(>Г1 + т-' ~ Ро +----------Г Ро + Н---------— Ро nl n-nl п -nl 1 пр р” Ро п- п! р /пр"1-' Так же, как и в случае одноканальной СМО с ожиданием, заме- чаем, что это выражение отличается от выражения для средней длины очереди (6.5) только множителем 1/рр = 1/Х, т. е. ^ож (6.9) Подставляя' сюда выражение для г, найдем: - _ РпРо 1—(m+l) + ^ОЖ , пцп! (1-х)2 (6.10) 260
Среднее время пребывания заявки в системе, так же, как и для одноканальной СМО, отличается от среднего времени ожидания на среднее время обслуживания, умноженное на относительную про- пускную способность: /сист = Л1[ТОЖ] + М [0] = /ож -f- qfti. (6.Н) Пример 1. Автозаправочная станция (АЗС) с двумя колонками (п = 2) предназначена для обслуживания машин. Поток машин, прибывающих на АЗС, имеет интенсивность % = 2 (машины в минуту); среднее время обслуживания одной машины <Об = 1/Н=2 (МИН). Площадка у АЗС может вместить очередь не более т — 3 (машин). Машина, прибывшая в момент, когда все три места в очереди заняты, покидает АЗС (по- лучает отказ). Найти характеристики СМО: — вероятность отказа, — относительную и абсолютную пропускную способности, — среднее число занятых колонок, — среднее число машин в очереди, — среднее время ожидания и пребывания машины на АЗС. Решение. Имеем: п = 2, т = 3, А. = 2, р. = 1/^Об = 0>5, р = 4, х = р/п = 2. По формулам (6.1) находим: 4 42 42 2—24 125 14- — +-----+~-------- 1 2 2 1—2 Вероятность отказа: 47 В Ротк = Рп+т = РВ = — Ро = 64р„ = 0,512. Относительная пропускная способность: ?=1-Ротк = 0,488. Абсолютная пропускная способность: А = = 0,976 (машины в минуту). Среднее число занятых каналов (колонок): г= А/р=0,976/0,5=1,952 (т. е. обе колонки почти все время заняты). Среднее число машин в очереди находим по формуле (6.7): 7______ 2-2-125 (1— 2Y 125 261
Среднее время ожидания в очереди — по формуле (6.9)! 70!К = г/А, = 2,18/2= 1,09 (мин). Среднее время пребывания машины на АЗС (включая время обслуживания)! ^сист ~ (ож+ ^об=1,09 + 0,976 = 2,07 (мин). Выше мы рассмотрели n-канальную СМО с ожиданием, когда в оче- реди одновременно могут находиться не более т заявок. Так же, как и в предыдущем параграфе, посмотрим, что будет, если длина очереди не ограничена каким-то числом т, а может быть сколь угодно большой. Граф состояний в этом случае — бесконеч- ный (см. рис. 5.7). Вероятности состояний получим из формул (6.1) предельным пе- реходом (при т оо). Заметим, что сумма соответствующей геомет- Очереди, нет Рис. 5.7 рической прогрессии сходится при к — р/п < 1 и расходится при х > 1; соответственно, установившийся режим будет существовать при х< 1, а при х > 1 очередь будет бесконечно возрастать. До- пустим, что х< I и устремим в формулах (6.1) величину т к беско- нечности. Получим выражения для предельных вероятностей состоя- ний: Г Р р2 Ро = П Н- — Ро, р-‘ Рг=— Ро» р Рп~=~ Р0> р'! +1 Рп + 1 - ~ Ро» п п! pft+1 п! (п—р) (6.12) р п‘-П1 Рп+г пг-п! Ро, 262
Так как каждая заявка рано или поздно будет обслужена, то ха- рактеристики пропускной способности СМО равны- Р =0 1 отк Среднее число заявок в п- п! (1 —х)2 а среднее время ожидания — из (6.10): 7 = 1, Л = Л? = Л. очереди получим при т -> оо из (6.7): РЛ+'РП Среднее число занятых каналов z найдется по-прежнему через аб- солютную пропускную способность: z = —=—=р, (6.15) ц ц а среднее число заявок, связанных с СМО — как среднее число заявок в очереди плюс среднее число заявок, находящихся под обслужива- нием (среднее число занятых каналов): й = г + г. (6.16) Пример 2. Автозаправочная станция с двумя колонками (п = 2) обслужи- вает поток машин с интенсивностью X = 0,8 (машин в минуту). Среднее время обслуживания одной машины 1 /об=---= 2 (мин). В В данном районе нет другой АЗС, так что очередь машин перед АЗС может расти практически неограниченно. Найти характеристики СМО. Решение Имеем: п = 2, Л = 0,8, р. = 1//од = 0,5, р = 1,6, х = р/п = = 0,8 Поскольку х < 1, очередь не растет безгранично и имеет смысл гово рнть о предельном стационарном режиме работы СМО. По формулам (6.11) на ходим вероятности состояний: Г 4,09'1-1 р„ = 1 + 1,6+1,28+—!— »0,111, " [ 2-0,4J Pi — 1,6р0 « 0,178, р2 = 1 ,28р0 — 0,142, 1,63 i,64 Рз = -^ Ро«0,114, P4 = ,jy^ Ро« 0,091 и т. д. Среднее число занятых каналов найдем, разделив абсолютную пропускную способность СМО Л = % = 0,8 на интенсивность обслуживания и = 0,5; г=0,8/0,5= 1,6. Вероятность отсутс1вия очереди у АЗС будет: Р0 + Р1 + Р2 ~ 0,431. 263
Среднее число машин в очереди: _ 1,63-0,111 г = —----1« 0,71. 2.2-0,42* Среднее число машин на АЗС: fe=7-hz«0,71 + 1,6 = 2,31 Среднее время ожидания в очереди: Сж ” л «0,89 (мин), Л Среднее время пребывания машины на АЗС: <сист=/ож + <об~ 0,89+2 = 2,89 (мии). 7. СМО С ОГРАНИЧЕННЫМ ВРЕМЕНЕМ ОЖИДАНИЯ До сих пор мы рассматривали СМО с ожиданием, ограниченным только длиной очереди (числом т заявок, одновременно находящихся в очереди). В такой СМО заявка, раз ставшая в очередь, уже не по- кидает ее и «терпеливо» дожидается обслуживания. На практике не- редко встречаются СМО другого типа, в которых заявка, подождав некоторое время, может уйти из очереди (так называемые «нетерпели- вые» заявки). Очереди нет Рис. 5.8 Рассмотрим СМО подобного типа, оставаясь в рамках марковской схемы. Предположим, что имеется n-канальная СМО с ожиданием, в ко- торой число мест в очереди не ограничено, но время пребывания заяв- ки в очереди ограничено некоторым случайным сроком Точ со средним значением 70Ч, таким образом, на каждую заявку, стоящую в очереди, действует как бы «поток уходов» с интенсивностью 1 v = —— Сч Если этот поток пуассоновский, то процесс, протекающий в СМО, будет марковским. Найдем для него вероятности состояний. Будем снова нумеровать состояния системы по числу заявок, связанных с си- стемой — как обслуживаемых, так и стоящих в очереди: 264
ь f So—все каналы свободны, “ Sj—занят один канал, S I о c=r { о2—заняты два канала, cl I S? ................................ о | Sn — заняты все п каналов, Sn+i — заняты все п каналов, одна заявка стоит в очереди, 5п-)-л—заняты все п каналов, г заявок стоит в очереди, и 7. Д. Граф состояний системы показан на рис. 5.8. Разметим этот граф, т. е. проставим у стрелок соответствующие интенсивности. Снова, как и раньше, у всех стрелок, ведущих слева направо, будет стоять интенсивность потока заявок X. Для состояний без очереди у стрелок, ведущих из них справа налево, будет, как и рань- ше, стоять суммарная интенсивность потока обслуживании всех заня- тых каналов. Что касается состояний с очередью, то у стрелок, веду- щих из них справа налево будет стоять суммарная интенсивность по- тока обслуживании всех п каналов пр, плюс соответствующая интен- сивность потока уходов из очереди. Если в очереди стоят г заявок, то суммарная интенсивность потока уходов будет равна rv. Как видно из графа, перед нами опять схема гибели и размноже- ния; применяя общие выражения для предельных вероятностей состоя- ний в этой схеме, напишем: %/р Р: Ро. __ (%/р)2 Рй — о, Ро> 2! Ро. .... (W%f п n! (np-|-v) (np-|-2v)...(np+z-v) п fl , М* . , I (%/р)" (W Г % , р0=(! +т+^-+- +—+ — _____________+... ++ ...1) (np+v) (np+2v) (np-f-v) (np+2v) ...(np-f-rv) J J 205
или, вводя обозначения: р = Х/ц, P = v/p,, ______И________I I_______________г___________ („+Р)(п + 2Р) ' (п+Р)(п + 2₽)...(п+;Р) р Pi=— Ро> Р2 Р2 = РО- Р" Рп = , Ах _ pn р Рп+1 — _ А» п! п + Р = Р2 Рп+2 nl (п + Р)(п+2Р) (7.1) Е--------------С----------- Рп, п< (п + Р) (п+2Р).. (п-НлР) Отметим некоторые особенности рассмотренной СМО с «нетерпе- ливыми» заявками по сравнению с ранее рассмотренной СМО с «тер- пеливыми» заявками. Если длина очереди не ограничена заранее никаким числом и за- явки «терпеливы» (не уходят из очереди), то стационарный предель- ный режим существует только в случае р < п (при р и соответствую- щая бесконечная геометрическая прогрессия расходится, что физичес- ки соответствует неограниченному росту очереди при t -> оо). Напро- тив, в СМО с «нетерпеливыми» заявками, уходящими рано или поздно из очереди, установившийся режим обслуживания при I -> оо дости- гается всегда, независимо от приведенной интенсивности потока заявок р. Это следует из того, что ряд в знаменателе первой формулы (7.1) сходится при любых положительных значениях р и [3. Для СМО с «нетерпеливыми» заявками понятие «вероятность от- каза» не имеет смысла — каждая заявка становится в очередь, но мо- жет и не дождаться обслуживания, уйдя раньше времени. Относительную пропускную способность q такой СМО можно под- считать следующим образом. Очевидно, обслужены будут все заявки, кроме тех, которые уйдут из очереди досрочно. Подсчитаем, какое в среднем число заявок покидает очередь досрочно. Для этого вычислим среднее число заявок в очереди: r= 1 -рп+14-2'Р*+-*+ ••• +r'P«+r_H>, • (7-2) 266
На каждую из этих заявок действует «поток уходов» с интенсив ностью V. Значит, из среднего числа г заявок в очереди в среднем бу- дет уходить, не дождавшись обслуживания, vr заявок в единицу вре- мени; всего в единицу времени в среднем будет обслужено А = А — vr заявок. Относительная пропускная способность СМО будет А Л — vr , v - а - — =--------= 1------г. 4 X X X (7.3) (7.4) Среднее число занятых каналов г по-прежнему получим, деля аб- солютную пропускную способность на р: , -А А, — vr о- г = —=------ =р—рг. ц р г 1 (7.5) Это позволяет вычислить среднее число заявок в очереди г, не сум- мируя бесконечного ряда (7.2). Действительно, из (7.5) получим: - Р г (7.6) а входящее в эту формулу среднее число занятых каналов можно найти как математическое ожидание случайной величины Z, принимающей значения 0,1, 2...п с вероятностями р0, рь р2> •••> П — (Ро + Pi + г=О-Ро+ l-Pi + 2-p8+ ... +«-Н—(Ро+Р1+ - +Pn-i)] = — Р14~2рг+ ... +М1 — (Po + Pi+ ••• Ч'Рп—1)1- (7.7) Мы не будем выводить формул для среднего времени ожидания в очереди, так как для этого требуются сравнительно сложные вы- кладки. Заметим, что, в отличие от формул §§ 5, 6, где суммы большого (или бесконечного) числа слагаемых «свертываются» при помощи формул для суммы геометрической прогрессии, в формуле (7.1) фигурирует сумма бесконечного ряда, не являющегося прогрессией. Однако эта сум- ма вычисляется приближенно, причем достаточно легко, так как члены ряда быстро убывают с увеличением их номера. В качестве прибли- женного значения для бесконечной суммы берется сумма конечного числа г — 1 членов, а остаток оценивается следующим образом: Р" nl (п+ 0) (п + 20) ... (п + г0) Рг Р1 Р р" nl 0 2.0. .... г 0 (»+₽) (п+20)...(л+(г+1)0) , Рг + 1 , nl (р/0)г , (Р/0>' +‘ Н + (г+1)! (7-8) 267
Можно доказать, что бесконечная сумма в квадратных скобках меньше, чем е₽/Р, и выражение (7.8) меньше, чем Р1 (р/Р)г р/р п! г! В заключение заметим, что если в формулах (7.1) перейти к преде- лу при v -> 0 (или, что то же, при [3 -> 0), то при р < п получатся формулы (6.10) предыдущего параграфа, т. е. «нетерпеливые» заявки станут «терпеливыми». 8. ЗАМКНУТЫЕ СИСТЕМЫ МАССОВОГО ОБСЛУЖИВАНИЯ До сих пор мы рассматривали такие системы массового обслужи- вания, где заявки приходили откуда-то извне и интенсивность по- тока заявок не зависела от состояния самой системы. В настоящем параграфе мы рассмотрим системы массового обслуживания другого типа — такие, в которых интенсивность потока поступающих заявок зависит от состояния самой СМО. Такие системы массового обслужи- вания называются замкнутыми. В качестве примера замкнутой СМО рассмотрим следующую си- стему. Рабочий-наладчик обслуживает п станков. Каждый станок мо- жет в любой момент выйти из строя и потребовать обслуживания со стороны наладчика. Интенсивность потока неисправностей каждого станка равна X. Вышедший из строя станок останавливается. Если в этот момент рабочий свободен, он берется за наладку станка; на это он тратит среднее время где р — интенсивность потока обслуживании (наладок). Если в момент выхода станка из строя рабочий занят, станок ста- новится в очередь на обслуживание и ждет, пока рабочий не освобо- дится. Требуется найти вероятности состояний данной системы и ее ха- рактеристики: — вероятность того, что рабочий не будет занят, — вероятность наличия очереди, — среднее число станков, ожидающих очереди на ремонт и т. д. Перед нами — своеобразная система массового обслуживания, где источниками заявок являются станки, имеющиеся в ограниченном количестве и подающие или не подающие заявки в зависимости от своего состояния: при выходе станка из строя он перестает быть источником новых заявок. Следовательно, интенсивность общего потока заявок, с которым приходится иметь дело рабочему, зависит от того, сколько имеется неисправных станков, т. е. сколько заявок связано с процес- сом обслуживания (непосредственно обслуживается или стоит в оче- реди). £68
Характерным для замкнутой системы массового обслуживания является наличие ограниченного числа источни- ков заявок. В сущности, любая СМО имеет дело только с ограниченным чис- лом источников заявок, но в ряде случаев число этих источников так велико, что можно пренебречь влиянием состояния самой СМО на по- ток заявок. Например, поток вызовов на АТС крупного города исходит, в сущности, от ограниченного числа абонентов, но это число так вели- ко, что практически можно считать интенсивность потока заявок не- зависимой от состояний самой АТС (сколько каналов занято в данный момент). В замкнутой же системе массового обслуживания источники заявок, наряду с каналами обслуживания, рассматриваются как эле- менты СМО. Рассмотрим сформулированную выше задачу о рабочем-наладчике в рамках общей схемы марковских процессов. Система, включающая рабочего и п станков, имеет ряд состояний, которые мы будем нумеровать по числу неисправных станков (станков, связанных с обслуживанием): So — все станки исправны (рабочий свободен), Sj — один станок неисправен, рабочий занят его наладкой, S2 — два станка неисправны, один налаживается, другой ожидает очереди, Sn — все п станков неисправны, один налаживается, п — 1 стоят в очереди. Граф состояний приведен на рис. 5.9. Интенсивности потоков событи й, переводящих систему из состояния в состояние, проставлены у стрелок. Из состояния So в Sj систему переводит поток неисправнос- тей всех работающих станков; его интенсивность равна пк. Из состоя- ния S в S2 систему переводит поток неисправностей уже не п, а п— 1 станко в (работают всего п — 1) и т. д. Что касается интенсивностей потоков событий, переводящих систему по стрелкам справа налево, то они все одинаковы — работает все время один рабочий с интенсив- ностью обслуживания р. Пользуясь, как обычно, общим решением задачи о предельных вероятностях состояний для схемы гибели и размножения (§8 гл. 4), напишем предельные вероятности состояний: п(п—1)Х» п ₽2 — 2 Ро> Р2 1 14-я (Х/р) + « (и-1) (Х/р)2+ ... +«(/2-1) ...1-(Х/р)" 269
Вводя, как и раньше, обозначения Х/р = р, перепишем эти фор- мулы в виде; _____________________।___________________ । 1+пр+ п (п—1)рг+ ... -рп(п—1)... 1-р" Р1 == « Р Ро> рг = п(п— 1)р2р0, Рп = п(п— 1)... 1 р«р0. (8.1) Итак, вероятности состояний СМО найдены. В силу своеобразия замкнутой СМО, характеристики ее эффек- тивности будут отличны от тех, которые мы применяли ранее для САЮ с неограниченным количеством источников заявок. Очереди нет Рис. 5.9 Роль «абсолютной пропускной способности» в данном случае бу- дет играть среднее количество неисправностей, устраняемых рабочим в единицу времени. Вычислим эту характери- стику. Рабочий занят наладкой станка с вероятностью —Ро- (8.2) Если он занят, он обслуживает р станков (ликвидирует р неис- правностей) в единицу времени; значит, абсолютная пропускная спо- собность системы Л = (1 — р0)р. (8.3) Относительную пропускную способность для замкнутой СМО мы не вычисляем, так как каждая заявка, в конце концов, будет обслуже- на: q = 1. Вероятность того, что рабочий не будет занят: ^своб= 1 ^зан Ро- (8.4) Вычислим среднее число неисправных стан- ков, иначе — среднее число станков, связанных с процессом обслужи- вания. Обозначим это среднее число w. Вообще говоря, величину w мож- но вычислить непосредственно, по формуле w — 1 'Pi 4~2-Рг+ •••А~п'Рп> но проще будет найти ее через абсолютную пропускную способность А. Действительно, каждый работающий станок порождает поток не- 270
исправностей с интенсивностью X; в нашей СМО в среднем работает и — w станков; порождаемый ими средний поток неисправностей будет иметь среднюю интенсивность (п — w)K-, все эти неисправности устра- няются рабочим, следовательно, (« — ш) Х = (1— р0)р, откуда w = n — (1—Ро) или w = n—(8.5) о Определим теперь среднее число станков г, ожидающих наладки в очереди. Будем рассуждать следующим образом: общее число стан- ков W, связанных с обслуживанием, складывается из числа станков 7?, стоящих в очереди, плюс число станков Q, непосредственно находящих- ся под обслуживанием: W = R + Q. Число станков Q, находящихся под обслуживанием, равно едини- це, если рабочий занят, и нулю, если он свободен, т. е. среднее значе- ние Q равно вероятности того, что рабочий занят: ® = 1 — Ро- Вычитая эту величину из среднего числа w станков, связанных с обслуживанием (неисправных), получим среднее число станков, ожи- дающих обслуживания в очереди: г =п— — (1— p0)=n — (1 — р0) (1 + — \ (8.6) Р \ Р / ' Остановимся еще на одной характеристике эффективности СМО: на производительности группы станков, обслуживаемых рабочим. _ Зная среднее число неисправных станков w и производительность I исправного станка за единицу времени, можно оценить среднюю по- терю L производительности группы станков в единицу времени за счет неисправностей: L = wl. Пример 1. Рабочий обслуживает группу из трех станков. Каждый станок останавливается в среднем 2 раза в час Процесс наладки занимает у рабочего, в среднем, 10 минут Определить характеристики замкнутой СМО: вероятность занятости рабочего; его абсолютную пропускную способность Я; среднее коли- чество неисправных станков; среднюю относительную потерю производитель- ности группы станков за счет неисправностей Решение. Имеем, п = 3, Х = 2, — = — = 6, р = Х/ц = 1/3. /об 1/6 271
По формулам (8.1) 1+3-1/3+3-2-1/32+3-2-1-1/33 Вероятность занятости рабочего: Р зан= 1 —Ро= 0,654. Абсолютная пропускная способность рабочего (среднее число неисправ- ностей, которое он ликвидирует в час): <4 = 0,654-6 = 3,94. Среднее число неисправных станков находим по формуле (8.5): Средняя относительная потеря производительности группы станков за счет неисправностей w/n = 0,347, т. е. за счет неисправностей группа станков теряет около 35% производительности. Рассмотрим теперь более общий пример замкнутой СМО: бригада из т рабочих обслуживает п станков (т < п). Перечислим состояния системы: О) X X ч OJ Q- OJ СТ о So—все станки работают, рабочие не заняты, Sx—один станок остановился, один рабочий занят, S2—два станка остановились, два рабочих заняты, —т станков остановились, все рабочие заняты, Sm+i—m-j-1 станок остановился, т из них налаживаются, один ждет очереди, Sn — все п станков остановились, т из них налаживаются, п—т ждут очереди. Очереди нет Рис. 5.10 Граф состояний системы показан на рис. 5.10 (интенсивности по» токов событий проставлены у стрелок). Применяя общее решение для схемы гибели и размножения, находим предельные вероятности со- стояний: п А Р1=~.-----Ро>. 1 М- Pi~ 1-2 ( 2 Ро> 272
„ я(п-1)(п-2) ( А \з л Ро ~ 1 О , I и J Р°’ 1-2-3 _ п (п—1) (п—2)... (п — т + 1) Рт 1-2-3 ... т п (п — \) ... (п~ т) рт+1 =------------------ Ро. 1 -2 ... т-т \ Li / п(п — 1)... (п—т —1) / А \п>+ 2 Рт+^~ Ро' Ь2... т-т2 п Pw п(л —1) ... 1 Рп 1-2 .т-тп~т л+'+т ± + L 'И '-2 \ !» / п(п—\) ... (п — «1+0 I \т I П (п— 1) (П—т) /ЗЛ'”'*’1 н- 1-2... т-т А VI-1 Обозначая, как I -2 .. m \ n (n— 1) ... 1 1-2 .. m • mn~'n \ ц ) всегда, X/p. = p, приведем формулы к виду: l+2Lp + 2fci).p2+. 1! Н 2! И n(n—1) ...(n - m+1) ---------- p ф ml «(»— 1) - (n—m) ,t ml т »(»-!) - 1 on ml mn~m Pi —РРо, п(п — 1) о Р2 =1 2! Р Ро' _ п(Д-1)(П-2) 3 Рз — О1 Р Ро» 31 (8.7) n(n—1) ... (n — m+1) Pm - ml P P°’ n(n -1) ... (n - m) O ---------- P Ро» ml m n(n—1) ... (n —ffl —1) + 2 po> ml m2 Рт + Рт+2 — П (п— !) ... 1 „ рл=-", „Lm-P" Ро- ml тп m 273
Через эти вероятности выражается среднее число г занятых рабо- чих: г = 0-/?о+ ' •/°1 + 2-р2+ +^-(Рт +рт-Н + ••• +рп) = = Р1+2/?24- ... + (/77—1)Рт —1 +/Т2 (1—Ро — ₽1—••• — Рт—|). (8.8) Через z выражается, в свою очередь, среднее число станков, обслу- живаемых бригадой в единицу времени (абсолютная пропускная спо- собность): А =гц, (8.9) а также среднее число неисправных станков: ы = п—— п-----------z~. (8.10) 7. Р ' ’ Отсюда же находится и средняя потеря производительности груп- пы станков в единицу времени за счет неисправностей: нужно умно- жить среднее число неисправных станков w на производительность I одного станка в единицу времени. Пример 2. Два рабочих обслуживают группу из шести станков Остановки каждого (работающего) станка случаются, в среднем, через каждые полчаса. Процесс наладки занимает у рабочего в среднем 10 минут Определить характе- ристики замкнутой СМО: — среднее число занятых рабочих, — абсолютную пропускную способность, — среднее количество неисправных станков Решение. Имеем: п=6, т = 2, А. = 2, ц=1/?об==6, p = >v/p=l/3. По фор- мулам (8.7) /, 6 1 6-5 1 6.5-4 1 6-5.4.3 1 Ро — [ 14- • 4- • —-1------------------------—1— \ 1 3 ~1-2 3И1 -2-2 3:i ' 1.2-22 3-> 6-5-4.3-2 1 6-5-4-3.2-1 1 1 4----------- • — 4----------- • — I =----------~ о 153 1-2.23 3 "> 1-2-24 З6 ) 6,549 ’ ’ Pi «6/1-1/3-0,153 ж 0,306. Отсюда среднее число занятых рабочих: г= 1Л-|-2(1— р0— Pl) = 1-0,153 +2-0,541 « 1,235. По формуле (8.9) находим абсолютную пропускную способность Д= 1,235-6 = 7,41. По формуле (8 10) находим среднее число Неисправных станков ш = 6—7,41/2=2,295. 274
9. СИСТЕМЫ МАССОВОГО ОБСЛУЖИВАНИЯ СО «ВЗАИМОПОМОЩЬЮ» МЕЖДУ КАНАЛАМИ До сих пор мы рассматривали только такие СМО, в которых каж- дая заявка может обслуживаться только одним каналом; незанятые каналы не могут «помогать» занятому в обслуживании. Вообще, это не всегда бывает так: встречаются системы массового обслуживания, где одна и та же заявка может одновременно обслу- живаться двумя и более каналами. Например, один и тот же вышедший из строя станок могут обслуживать два рабочих сразу. Такая «взаимо- помощь» между каналами может иметь место как в открытых, так и в замкнутых СМО. При рассмотрении СМО со взаимопомощью между каналами не- обходимо учитывать два фактора: 1. Насколько убыстряется обслуживание заявки, когда над ним работает не один, а сразу несколько каналов? 2. Какова «дисциплина взаимопомощи», т. е. когда и как несколь- ко каналов берут на себя обслуживание одной и той же заявки? Рассмотрим сначала первый вопрос. Естественно предположить, что если над обслуживанием заявки работает не один канал, а несколь- ко (£) каналов, интенсивность потока обслуживании не будет убы- вать с увеличением k, т. е. будет представлять собой некоторую неубы- вающую функцию числа k работающих каналов. Обозначим эту функ- цию |i(£). Возможный вид функции |i(£) показан на рис. 5.11. Очевидно, что неограниченное увеличение числа одновременно работающих каналов не всегда ведет к пропорциональному увеличению скорости обслуживания; естественнее предположить, что при некото- ром критическом значении k = /?кр дальнейшее увеличение числа за- нятых каналов уже не повышает интенсивности обслуживания. Для того, чтобы проанализировать работу СМО со взаимопомощью между каналами, нужно, прежде всего, задать вид функции р(й). Самым простым для исследования будет случай, когда функция р(й) возрастает пропорционально k при k < Акр, а при k > kKp оста- ется постоянной и равной цтоа. =£крц (см. рис. 5.12). Если при этом общее число каналов п, которые могут помогать друг другу, не превос- ходит 1гкр: ^кр’ «74
то можно считать интенсивность обслуживания заявки несколькими каналами пропорциональной числу каналов. Остановимся теперь на втором вопросе: дисциплине взаимопомощи. Самый простой случай этой дисциплины мы обозначим условно «все как один». Это означает, что при появлении одной заявки ее начинают обслуживать все п каналов сразу и остаются занятыми, пока не закон- чится обслуживание этой заявки; затем все каналы переключаются на обслуживание другой заявки (если она есть) или ждут ее появления, если ее нет, и т. д. Очевидно, в этом случае все п каналов работают как один, СМО становится одноканальной, но с более высокой интенсив- ностью обслуживания. Возникает вопрос: выгодно или невыгодно вводить такую взаимо- помощь между каналами? Ответ на этот вопрос зависит от того, ка- кова интенсивность потока заявок, каков вид функции р.(&), каков тип СМО (с отказами, с очередью), какая величина выбирается в качестве характеристики эффективности обслуживания. Пример 1. Имеется трехканальная СМО с отказами: интенсивность потока заявок X = 4 (заявки в минуту), среднее время обслуживания одно# заявки одним каналом (og = 0,5 (мин), функция p.(fe)=ftp,. Спрашивается, выгодно ли с точки зрения пропускной способности СМО вводить взаимопомощь между ка- налами по типу «все как один»? Выгодно ли это с точки зрения уменьшения сред- него времени пребывания заявки в системе? Решение, а. Без взаимопомощи, п = 3, % = 4, ц = 1/0,5 = 2, р = Х/р, = 2. По формулам Эрланга (см. § 4) имеем: 3 щ -0,158; 3 » 0,21. Ро 2 2» 23 14----4----4---- II 2! 31 23 4 Ротк = Рз= 3| Ро = 3 19 Относительная пропускная способность СМО: q= 1 —Ротк ~ 0,79. Абсолютная пропускная способность: А = ^«4-0,79= 3,16. Среднее время пребывания заявки в СМО найдется, как вероятность того, что заявка будет принята к обслуживанию, умноженная на среднее время об- служивания: /сист = 0,79-0,5 = 0,395 (мин). Не нужно забывать, что это среднее время относится ко всем заявкам — как обслуженным, так и необслуженным Нас же может интересовать среднее время, которое пробудет в системе обслуженная заявка. Эго время рав- но: <СИСТ = ^Об=0>5 (мин>- б. Со взаимопомощью. X 2 п* — 1, Х = 4, р.*=3р = 6, р* = — = —; ц* 3 276
1 3 2 3 2 Ро== 14-2/3 = -Г: °1= 3 ' 5 " 5 ’ 2 2 3 Р<УТК== Р1 = г • <?— 1 К = К =0>® О DO 4 = Х<? = 4-0,6= 2,4- Среднее время пребывания заявки в СМО: (сист = Р1 1/3^ = 2/5-6 = 0,0667 (мин). Среднее время пребывания обслуженной заявки в СМО; ^>=1/3)1=0,167 (мин). Таким образом, при наличии взаимопомощи «все как один» про- пускная способность СМО заметно уменьшилась. Это объясняется уве- личением вероятности отказа: за то время, пока все каналы заняты обслуживанием одной заявки, могут прийти другие заявки, и, естест- венно, получить отказ. Что касается среднего времени пребывания заявки в СМО, то оно, как и следовало ожидать, уменьшилось. Если, по каким-то соображениям, мы стремимся ко всемерному уменьшению времени, которое заявка проводит в СМО (например, если пребывание в СМО опасно для заявки), может оказаться, что, несмотря на умень- шение пропускной способности, все же будет выгодно объединить три канала в один. Рассмотрим теперь влияние взаимопомощи типа «все как один» на работу СМО с ожиданием. Возьмем для простоты только случай не- ограниченной очереди. Естественно, влияния взаимопомощи на про- пускную способность СМО в этом случае не будет, так как при любых условиях обслужены будут все пришедшие заявки. Возникает вопрос о влиянии взаимопомощи на характеристики ожидания: среднюю дли- ну очереди, среднее время ожидания, среднее время пребывания в СМО. В силу формул (6.13), (6.14) §6 для обслуживания без, взаимо- помощи среднее число заявок в очереди будет - _ рл+ ' Ро п-п\ (1 —х)2 ’ среднее время ожидания: 7 = Р" Ро ож пи,-п! (1 — х)2 (9-1) (9-2) а среднее время пребывания в системе: ^СИСТ 4* 1/Н’ (9.3) где Ро =----------—---------п------ттч—» х = —. (9.4) р рл + > п ’ II 21 "I" п1 п1 (п—р) 277
Если же применяется взаимопомощь типа «все как один», то си- стема будет работать как одноканальная с параметрами р* — Х/р* = Х/пц = р/и = х и ее характеристики определятся формулами (5.14), (5.15) § 5: х г —----. 1 —X 7 = J_____L_ ™ „ц 1_х> 7 —7 л___L — * сист ои.+ пм.(1_х) (9.5) (9.6) (9.7) Пример 2. Имеется трехканальная СМО с неограниченной очередью; ин- тенсивность потока заявок X = 4 (заявки в мин.), среднее время обслуживания /Об = 0,5 (мин) Функция ii(/e) = /гп (&кр > 3). Выгодно ли, имея в виду: — среднюю длину очереди, — среднее время ожидания обслуживания, — среднее время пребывания заявки в СМО вводить взаимопомощь между каналами типа «все как один»? Решение, а. Без взаимопомощи. п = 3, Л -- 4, it = 1/0,5 = 2, р = Х/р. = 2, х = р/п == 2/3. По формулам (9.1) — (9.4) имеем 1 2г 2! ₽0 = 24 _1_ 2 2г 2! 24 ~ 9 ‘ ' 1! + 21 +"зГ+ 31 (3—2) 2«-1/9 8 --------— =— = 0,889; 3-31 (1/3)г 9 toiK ==7/Х= 2/9=0,222; ^сист=^ож+ 7об= 2/9+ 1/2=0,722. б. Со взаимопомощью п*=1, Х=4, По формулам (9.5) — (9.7) находим: -_(2/3)*_ 1/3 1 2/3 Сж— г. . .,— □ =0,333; о 1/3 3 ^сист = ^огк + бэб:= 1/3 + 1/6 = 0,500. р*=3ц = 6, р*=Х/р* = х=2/3. 4 — = 1,333; Таким образом, средняя длина очереди и среднее время ожидания в очереди в случае взаимопомощи, больше, но среднее время пре- бывания заявки в системе — меньше. Из рассмотренных примеров видно, что взаимопомощь между ка налами типа «все как один», как правило, не способствует повышению эффективности обслуживания: время пребывания заявки в СМО умень- шается, но зато ухудшаются другие характеристики обслуживания. 278
Поэтому желательно изменить дисциплину обслуживания так, чтобы взаимопомощь между каналами не мешала принимать к обслуживанию новые заявки, если они появятся за время, пока все каналы заняты. Назовем условно «равномерной взаимопомощью» следующий тип взаимопомощи. Если заявка приходит в момент, когда все каналы сво- бодны, то все п каналов принимаются за ее обслуживание; если, в мо- мент обслуживания заявки, приходит еще одна, часть каналов пере- ключается на ее обслуживание; если, пока обслуживаются эти две заявки, приходит еще одна, часть каналов переключается на ее обслу- живание и т. д., до тех пор, пока не окажутся занятыми все п каналов; если это так, вновь пришедшая заявка получает отказ (в СМО с отказа- ми) или становится в очередь (в СМО с ожиданием). При такой дисциплине взаимопомощи заявка получает отказ или становится в очередь только тогда, когда нет возможности ее обслужить. Что касается «простоя» каналов, то он в этих условиях минимален; если в системе имеется хотя бы одна заявка, все каналы работают. Выше мы упомянули, что при появлении новой заявки часть занятых каналов освобождается и переключается на обслуживание вновь прибывшей заявки. Какая часть? Это зависит от вида функции р(£). Если она имеет вид линейной зависимости, как показано на рис. 5.12, и /гкр> п, то все равно, какую часть каналов выделить на обслуживание вновь поступившей заявки, лишь бы все каналы были заняты (тогда суммарная интенсивность обслуживании при лю- бом распределении каналов по заявкам будет равна пр). Можно дока- зать, что если кривая р(7г) выпукла кверху, как показано на рис. 5.11, то нужно распределять каналы по заявкам как можно более равномерно. Рассмотрим работу п-канальной СМО при «равномерной» взаимо- помощи между каналами. 1. СМО с отказами Будем нумеровать состояния СМО по числу заявок, находящихся в состоянии обслуживания: 30—СМО свободна, Sj—одна заявка обслуживается всеми п каналами. 32 — две заявки обслуживаются всеми п каналами, Sk—k заявок обслуживаются всеми п каналами, Sn — п заявок обслуживаются всеми п каналами. Рис. 5.13 279
Мы видим, что граф состояний (см. рис. 5.13) здесь тот же, что для одноканальной СМО с производительностью р* = пц и ограниченной очередью, имеющей п — 1 мест. Поэтому для определения характери- стик системы мы можем воспользоваться формулами § 5, подставляя в них х = 2./р* = V/гц вместо р = Х/р: р _ х"(1—X) . ,g g. 0ТК ~ 1 —хп+ ' ’ ' ' Л = М = ^-1~^г. (9.10) 1 — X Пример 3. В условиях примера 1 сравнить относительную и абсолютную пропускную способности СМО, а также среднее число занятых каналов: а) при отсутствии взаимопомощи, в) при наличии равномерной взаимопомощи между каналами. Решение а Без взаимопомощи. Из примера 1 имеем: q = 0,79, А = 3,16. Среднее число занятых каналов Г= Л/р = 1,58. б. С равномерной взаимопомощью. х = Х/рп= 4/2.3=2/3. По формуле (9.9) 1— (2/3)3 7= ~ 0,887; Л = 4<?»3,51; 2=3,51/2^1,76. Таким образом, за счет применения разумно организованной вза- имопомощи между каналами, пропускная способность СМО несколько повысилась. Соответственно увеличилась и средняя занятость кана- лов. 2. СМО с очередью Рассмотрим СМО с очередью и максимальным числом заявок в оче- реди т. Предположим, что между каналами имеется «равномерная» взаимопомощь и р(/г) = &р. Состояния системы опять будем нуме- ровать по числу заявок, находящихся в СМО: So—система свободна, Sj — одна заявка обслуживается всеми п каналами, 52—две заявки обслуживаются всеми п каналами, Sk—k заявок обслуживаются всеми п каналами, очереди нет, Sn—п заявок обслуживаются всеми п каналами, очереди нет, 280
S„+i —n заявок обслуживаются всеми и каналами, одна заявка стоит в очереди, Sn+m—п заявок обслуживаются всеми п каналами, в очереди стоит т заявок. Граф состояний СМО приведен на рис. 5.14. Рис. 5.14 Мы опять получили граф того же вида, что и на рис. 5.13, но с уве- личенным на т числом состояний. Значит, нам нужно воспользовать- ся формулами § 5 для одноканальной СМО с производительностью ц* = пр и числом мест в очереди л + т — 1. Получим; р ~ л +_____ (9 ц) ? = ; (9Л2) Д = = (9.13) ’ 1__x« + m+t ' ' ' Пример 4. В условиях примера 1 сравнить абсолютную и относительную пропускные способности для случая отсутствия взаимопомощи и наличия рав- номерной взаимопомощи, если в очереди имеется два места (т = 2). Решение, а. Без взаимопомощи. Из примера 1 имеем р ~ 0,79; A ss3,16. б. С равномерной взаимопомощью По формулам (9.11) —(9.13) для п = 3, Л = 4, р = 2, р = 2, х = р//г=2/3 I__72/3)3 57 имеем: о=--------=—т- = 0,88, 4=Лр = 3,52. 4 I—(2/3)4 65 Предоставляем читателю самостоятельно подсчитать среднее число заявок в очереди, среднее время ожидания и среднее время пребыва- ния в системе для обоих вариантов примера 4 и убедиться, что при на- личии равномерной взаимопомощи между каналами все характери- стики СМО меняются только в желательном для нас направлении. Не следует, однако, забывать, что организация такой взаимопо- мощи между каналами далеко не для всех СМО осуществима. 10. СИСТЕМА МАССОВОГО ОБСЛУЖИВАНИЯ С ОШИБКАМИ Иногда на практике приходится встречаться с такими случаями, когда заявка, принятая к обслуживанию в СМО, обслуживается не с полной достоверностью, а с некоторой вероятностью р #= 1; другими 281
словами, могут иметь место ошибки в обслуживании, результатом которых является то, что некоторые заявки, прошедшие СМО и якобы «обслуженные», в действительности остаются необслуженными из-за «брака» в работе СМО. Примерами СМО с ошибками могут быть: справочные бюро, иногда выдающие неправильные справки и указания; корректор, могущий пропустить ошибку или неверно ее исправить; телефонная станция, иногда соединяющая абонента не с тем номером; система ПВО, для которой «обслуживанием» является обстрел цели, как известно, не всегда кончающийся ее поражением и т. д. В разомкнутой СМО с ошибками появление ошибки в обслужива- нии практически не сказывается на потоке заявок: число источников заявок так велико, что интенсивность потока заявок вследствие ошиб- Очереди нет Рис. 5.15 ки практически не меняется. Поэтому для разомкнутых систем массо- вого обслуживания учет ошибок в обслуживании сводится только к то- му, что относительная пропускная способность системы уменьшается: она умножается на р < 1, где р — вероятность безошибочного обслу- живания. Соответственно, умножается на р и абсолютная пропускная способность. Что касается остальных характеристик СМО, таких, на- пример, как время ожидания, число заявок в очереди и т. д., то на них ошибки в обслуживании не сказываются. Другое дело — для замкну- той системы массового обслуживания, когда заявка, обслуженная с ошибкой, вновь становится в очередь на обслуживание, и, следова- тельно, увеличивает загрузку СМО. В качестве примера замкнутой СМО с ошибками рассмотрим одно- го рабочего, обслуживающего п станков. Интенсивность потока неис- правностей одного работающего станка равна X, среднее время об- служивания (наладки) станка /об = 1/ц; с вероятностью р обслужи- вание заканчивается удачно, и станок начинает снова работать; с ве- роятностью 1 — р обслуживание оказывается неудачным, и станок снова становится в очередь на обслуживание. Требуется определить предельные вероятности состояний. Будем нумеровать состояния СМО по числу неисправных стан- ков: So — все станки исправны, Sj — один станок неисправен, налаживается, очереди нет, S2 — два станка неисправны, один налаживается, другой ждет в очереди, 282
Sb — k станков неисправны, один налаживается, k — 1 ждут в оче- реди, Sn — все п станков неисправны, один налаживается, п — 1 ждут очереди, Граф состояний системы показан на рис. 5.15. Наличие ошибок в обслуживании сказывается в том, что у стрелок, идущих справа на- лево, стоит не интенсивность обслуживания ц, а интенсивность «успеш- ного обслуживания» рр, где р — вероятность того, что обслуживание будет выполнено успешно. Действительно, пусть, например, система ’ находится в состоянии Sk (один станок налаживается, k — 1 ждут оче- реди). Вероятность того, что за время А/ будет закончено обслужива- ние, равна цА/; но это обслуживание лишь с вероятностью р будет успешным и переведет систему из состояния Sk в н с вероятностью же 1 — р оно будет неуспешным и заявка снова вернется в очередь, следовательно, система опять останется в состоянии Sk- Значит, ин- тенсивность потока успешных обслуживаний будет равна рр, что и от- мечено на рис. 5.15. Полученный граф ничем не отличается от того, который приведен на рис. 5.9, стой разницей, что вместо р на нем стоит р* = рр. Значит, характеристики СМО с ошибками могут быть вычис- лены по формулам § 8, с заменой р на рр. Пример 1. Рабочий обслуживает группу из трех станков. Остановки рабо- тающего станка случаются в среднем два раза в час Процесс наладки отнимает у рабочего в среднем 10 минут, причем неисправность устраняется с вероят- ностью 2/3 (и остается неустраненной с вероятностью 1/3.). Определить характе- ристики этой замкнутой СМО: вероятность занятости рабочего, абсолютную пропускную способность; среднее количество неисправных станков Решение. Для п — 3, А.— 2, р,= 1//об = 6, р = 2/3, р,* = рр, = 4, р* = = Л/ц* = 1/2 по формулам (8.1) находим 1 Ро' 1 Ч-З-1/24-3-2-1/2аЧ-3.2-1-1/23 ~0,211- Вероятность занятости рабочего: Рзан = 1 —Рп ~ 0,789. Абсолютная пропускная способность (число неисправностей, устраняе- мые рабочим в час): 4=0,789-4 «3,16. Среднее число неисправных станков находим по формуле (8.5)! 0,789 ш = 3—-L—= 1,42. 1/2 Оригинальный случай СМО с ошибками представляет такая си- стема массового обслуживания, в которой характер обслуживания зависит от длины очереди: при увеличении этой длины обслуживающий канал начинает «спешить» — в связи с этим уменьшается время обслу- живания, но увеличивается вероятность ошибки. Разумеется, такая обстановка создается только там, где «каналом обслуживания» явля- ется живой человек. Рассмотрим пример такой СМО. Возьмем замкнутую одноканаль- ную СМО с п источниками заявок (рабочего, обслуживающего п стан- 283
ков). Пусть при отсутствии очереди (в нормальных условиях) среднее время обслуживания равно /об, а значит интенсивность потока обслу- живаний равна р(0) = 1//об. При наличии в очереди ожидающих на- ладки станков рабочий начинает торопиться, и интенсивность потока обслуживаний увеличивается. Обозначим интенсивность потока обслу- живании при наличии в очереди г станков через ц(г). Одновременно с увеличением темпа обслуживания (в связи с увеличением числа стан- ков, ожидающих в очереди) увеличивается и вероятность ошибки; при отсутствии очереди (в нормальных условиях) она равна р(0), а при наличии в очереди г станков — р(г). Очевидно, нужно перемножить для каждого г интенсивность обслуживания и вероятность ошибки и вве- сти одну «приведенную» интенсивность обслуживания: р*(г) = р(г)-р(г) (г = 0, и—1). Очереди нет Рис. 5.16 Граф состояний СМО представлен на рис. 5.16 (нумерация состоя- ний — та же, что и выше). Применяя общие формулы для предельных вероятностей в схеме гибели и размножения, получим: nk ц*(0) Р°’ п(п — 1) X2 >(0)и*(1) Ро’ _ n (n-1) (n-2) Xs 3 (0) ц* (1) Ц* (2) Pi Pi _ п (п—1)... (п—fe+1) Xй Рк~ и*(0)ц*(1)...и*(Ь-1) (10.1) п(п-1)...1Д" п ц*(0)ц*(1) ...ц*(п-1) Ро' __Г] । । —1) хг Ро L + ц*(0) + и*(О)и*О) , п (п — 1) ... (п— fe + 1) Xft ц*(0)р*(1)...ц*(/г-1) + ' । п(п—1) ... 1-Хя 1-1 н*(0)ц*(1) ..-и* (п-1) J 284
11. СИСТЕМЫ МАССОВОГО ОБСЛУЖИВАНИЯ С НЕ-ПУАССОНОВСКИМИ ПОТОКАМИ СОБЫТИЙ Все рассмотренные до сих пор задачи теории массового обслужи- вания относились только к случаю, когда процесс, протекающий в СМО, представляет собой непрерывную марковскую цепь (марковский про- цесс с дискретными состояниями и непрерывным временем), другими словами, когда все потоки событий, переводящие систему из состояния в состояние (потоки заявок, обслуживаний, уходов и т. д.) являются пуассоновскими. Для получения предельных характеристик системы в установившемся стационарном режиме требовалось, чтобы эти пото- ки были не только пуассоновскими, но и простейшими (с постоянными интенсивностями). Рис. 5.17 Рис. 5.18 На практике очень часто оказывается, что потоки событий, дейст- вующие в системе массового обслуживания, заметно отличаются от простейших. Особенно это относится к потоку обслуживаний. Дейст- вительно, мы знаем, что в простейшем потоке интервал времени между двумя соседними событиями распределен по показательному закону f(/)=pe-^ (*>0). (см. рис. 5.17). Очевидно, что время 7’об обслуживания заявки вовсе не обязательно распределяется по такому закону; напротив, гораздо более типичным является случай, когда закон распределения времени обслуживания /(/) отличен от показательного, и его наивероятнейшее значение не равно нулю (см. рис. 5.18). В случае, когда закон распределения времени обслуживания отличен от показательного, все ранее рассмотренные методы описания процессов, протекающих в СМО, становятся, строго говоря, непри- годными. В частности, нельзя записать ни линейных дифференциаль- ных уравнений для вероятностей состояний, ни линейных алгебраи- ческих уравнений для предельных вероятностей. Математический ап- парат исследования становится гораздо более сложным; аналитические формулы для характеристик СМО удается получить только для самых простых случаев. Приведем (без доказательства) некоторые из полученных в этой области результатов. 285
1. СМО с отказами Пусть на «-канальную систему массового обслуживания с отказа- ми поступает простейший поток заявок с интенсивностью X, а время обслуживания имеет произвольное распределение с математическим ожиданием — J tf (t) dt. (H.l) о Доказано (см. [16]), что в этом случае формулы Эрланга для ве- роятностей состояний остаются справедливыми, а именно (k = 0,..., п), kl (П-2) где р = Х/р = А/об. 2. Одноканальная СМО с ожиданием Пусть имеется одноканальная система массового обслуживания с неограниченной очередью (п = 1, т = оо); на вход ее поступает про- стейший поток заявок с интенсивностью X; закон распределения вре- мени обслуживания /(/) — произвольный, с математическим ожиданием (об = 1/р. и средним квадратическим отклонением о(об- Величина называется коэффициентом вариации времени обслу- живания (этот коэффициент показывает, насколько велик разброс времени обслуживания относительно его среднего значения). Доказано (см. напр., [20]), что для одноканальной СМО с прос- тейшим потоком заявок и произвольно распределенным временем об- служивания среднее число заявок, находящихся в очереди, выражает- ся формулой: "^Р2(1+ц'2) (Ц.З) 2(1—р) ’ где р = Х/р, v — коэффициент вариации времени обслуживания. Что касается среднего времени ожидания в очереди, то оно выражается формулой: _Р2 П+а'2) 2Х (1 — р)’ 286
Формулы (11.3), (11.4) обычно называются формулами Поляче- ка-Хинчина [20]. Заметим, что для показательного распределения /(/) = ре-^ (/>0) коэффициент вариации р_ > = 1/р== j ?0б 1/Р В этом случае формулы (11.3) и (11.4) превращаются в ранее вы- веденные нами формулы (5.17) и (5.20) (см. § 5): Рассмотрим крайний случай, когда время обслуживания вообще не случайно и равно своему математическому ожиданию: ^об = 1/Р- Тогда °to6 = 0> f = 0, и формулы (11.3), (11.4) дают. г =----s---- 2(1—р) ? =_______Р!___ ож 2% (1 -р) ’ (11.5) (11.6) т. е. как среднее число заявок в очереди, так и среднее время ожида- ния при строго постоянном времени обслуживания вдвое меньше, чем при случайном времени обслуживания, распределенном по показа- тельному закону. Пример 1. Поток железнодорожных составов, поступающих на сортировоч- ную станцию для обработки,—простейший поток с интенсивностью А, — 2 (со- става в час). Среднее время, затрачиваемое на обработку одного состава, равно /об = 20 (мин); его среднее квадратическое отклонение о(об = 8 (мин). Опре- делить среднее число составов, ожидающих обработки и среднее время ожида- ния обработки в очереди, а также среднее число составов, связанных с обслу- живанием на сортировочной станции. Решение. Переходя к одной и той же единице измерения времени (час) имеем: 1 1 ц=г— =—=3 (состава в час). ?сб 1/3 Коэффициент загрузки станции (приведенная интенсивность потока заявок); р= А/р, = 2/3. Коэффициент вариации времени обслуживания: Р = %бЛоб = 8/20 = 0,4. 287
По формулам (11.3) и (11.4) находим среднее число составов, ожидающих обработки __(2/3)^(1+0,4^) 0 77 2(1—2/3) ~ ' и среднее время ожидания обработки: = — 0,385 (час). Среднее число составов, связанных с сортировочной станцией, равно сред- нему числу составов в очереди г плюс среднее число составов под обслуживанием; последнее же равно вероятности занятости СМО, т. е. отношению среднего числа составов, поступающих в единицу времени к среднему числу составов, обслужи- ваемых каналом в единицу времени Отсюда среднее число составов (заявок) в системе равно: fe = /-|-p = 0,77 + 2/3 ss 1,437. Приведенные аналитические формулы относятся, как уже было сказано, к самым простейшим не-пуассоновским СМО. В случае более сложных СМО (многоканальных, с особенностями обслуживания и т.д.), простых аналитических формул получить не удается. В некоторых случаях исследование СМО с не-пуассоновскими потоками событий может быть произведено с помощью метода псевдосостояний, описан- ного в § 10 гл. 4. В качестве примера рассмотрим одноканальную СМО с очередью (без ограничений). На вход системы поступает простейший поток заявок с интенсивностью X; время обслуживания То§ распределено по закону Эрланга 2-го порядка с математическим ожиданием 1/р, т. е. представ- ляет собой сумму двух независимых случайных величин с одинаковым показательным распределением. Обозначим параметры этих показа- тельных распределений р/ и найдем значение р/. По теореме сложения математических ожиданий имеем: 1/р' + 1/р' = 2/р' = 1/р, откуда р' = 2р. Таким образом, время обслуживания То5, распределенное по за- кону Эрланга 2-го порядка с математическим ожиданием 1/р, может быть представлено, как сумма двух независимых случайных величин Тов* и Тоб’, имеющих каждая показательное распределение с па- раметром 2р. Эти два времени Tig1 и можно представить как две последовательные «фазы» процесса обслуживания. Рассмотрим различные состояния СМО, нумеруя их по числу зая- вок в системе и фазе обслуживания: So — заявок в системе нет (обслуживания не происходит); Si,i — одна заявка находится в СМО, обслуживание в пер- вой фазе, очереди нет; 51,2 — одна заявка находится в СМО, обслуживание во вто- рой фазе, очереди нет; 288 5г, 1 —две заявки находятся в СМО, первая обслуживается (первая фаза), вторая стоит в очереди; 5г,2 — две заявки находятся в СМО; первая обслуживается (вторая фаза), вторая стоит в очереди; Sk, । — k заявок находятся в СМО, одна под обслуживанием (первая фаза), остальные — в очереди; St,2—k заявок находятся в СМО, одна под обслуживанием (вторая фаза), остальные — в очереди; Размеченный граф состояний системы приведен на рис. 5.19. Дей- ствительно, из состояния So в Si,! систему переводит поток заявок с интенсивностью К. Из состояния Stli в Si,2 систему переводит по- ток с интенсивностью 2р (поток окончаний первой фазы обслуживания). Из состояния Si,2 в So —такой же поток. Из состояния 5ы в S2,i си- стему переводит поток заявок и т. д. Рис. 5.19 Пользуясь размеченным графом состояний, запишем линейные ал- гебраические уравнения для вероятностей состояний: — 2рР|, 2, (Х-+2р)Р|1 =>+0 + 2цр212, (Л, + 2р) 2 = 2p,pj (К + 2р) р2,1 = , । ~t~ 2ЦР3 2, (Z + 2р) /?2,2 = ^Р\ , 2 ^РР2,1> (Х + 2р)pk( +2ррА+12, (X + 2р) pk, 2 = ^Pk— i. 2 4“ ‘fyPk, i, (11-7) 10 Зак. 873 289
или вводя обозначение А/р = р, РРо = 2Р|,2» (р + 2)р1(1 =рр0 + 2р2 2) (р + 2)Р1.2 = 2Р1.1, (Р + 2)р2 != рр! j4-2p3 2; (И.8) (P + 2)Pft, 1=?^-!, ,+4+1.2. (P + 2)Pft.2=PPft_1>2 + 4, !, Это — система бесконечного числа уравнений с бесконечным чис- лом неизвестных р(), р1Л, р, ,2, P2,i, р2,2, ••• Существуют способы, по- зволяющие решать также системы буквенно, но они сравнительно слож- ны, и мы не будем на них останавливаться. Ограничимся указанием на то, как может быть решена система (11.8) при конкретных значе- ниях параметров X и р. Прежде всего оценивается максимальное практически возможное число заявок в очереди — это можно сделать грубо, приняв закон рас- пределения времени обслуживания показательным. Когда это сделано, удается отбросить некоторые (последние, начиная с какого-то номера) из уравнений, после чего система (11.8) превращается в систему конеч- ного числа уравнений с конечным числом неизвестных, которая решает- ся обычными методами вычислительной алгебры (см., например [21]). При большом числе уравнений удобно бывает пользоваться методом итераций (последовательных приближений), причем в качестве перво- го приближения можно взять значения вероятностей состояний, полу- чаемые при показательном распределении времени обслуживания, раз- делив вероятности поровну между двумя фазами обслуживания. Применяя метод псевдосостояний, можно, в принципе, прибли- женно свести любой не-марковский процесс массового обслуживания к марковскому; однако, при большом числе псевдосостояний решение системы линейных уравнений не только в буквенном, но и в численном виде становится затруднительным. В таких случаях для исследова- ния процесса, протекающего в СМО, можно воспользоваться универ- сальным методом моделирования случайных процессов — так назы- ваемым методом статистических испытаний (Монте-Карло), который будет рассмотрен в гл. 8.
6 МЕТОД ДИНАМИКИ СРЕДНИХ 1. ИДЕЯ МЕТОДА. ОБЛАСТЬ ПРИМЕНИМОСТИ В гл. 4 и 5 мы познакомились с методами описания случайных процессов, протекающих в различных физических системах, с помощью специального математического аппарата — теории непрерывных мар- ковских цепей. Этот аппарат дает возможность составить линейные дифференциальные уравнения для вероятностей состояний, а также линейные алгебраические уравнения для предельных вероятностей состояний, отражающих относительное время пребывания системы в каждом из этих состояний для предельного, установившегося режима. Эти методы представляют собой удобный математический аппарат только в том случае, когда число возможных состояний системы S сравнительно невелико. В случае, когда число возможных состояний системы велико (порядка нескольких десятков, а то и сотен), эти методы перестают быть удобными. Во-первых, совместное решение большого числа не только дифференциальных, но и алгебраических уравнений затруднительно даже при наличии ЭЦВМ. Кроме того, если даже нам удастся решить эти уравнения и найти вероятности всех состояний си- стемы, полученные результаты будут трудно обозримыми. Для того, чтобы их осмыслить, нам все равно придется пользоваться какими-то обобщенными характеристиками процесса, какими-то средними значениями (такими, например, как «среднее число занятых каналов» или «среднее число заявок в очереди», которыми мы поль- зовались в теории массового обслуживания). До сих пор мы такие средние характеристики вычисляли через вероятности со- стояний. Однако в случае, когда состояний слишком много, такой способ становится неприемлемым. Возникает вопрос: а нельзя ли составить и решить уравнения непосредственно для интересующих нас сред- них характеристик, минуя вероятности состояний? Оказы- вается, можно — иногда точно, иногда — приближенно, с некоторой погрешностью. Такими задачами и занимается так называемый «ме- тод динамики средних». Он ставит себе целью непосредственное изу- чение средних характеристик случайных процессов, протекающих в сложных системах с большим (практически необозримым) числом состояний. Любопытно, что основой применимости метода динамики сред- них является именно то, что препятствует изучению явлений более 10* 291
подробными методами: сложность изучаемых процессов и большое чис- ло участвующих в них элементов. Как и везде, где применяются ме- тоды теории вероятностей, массовость изучаемых явлений позволяет установить в них сравнительно простые закономерности. Продемонстрируем идею метода динамики средних на следующем простейшем примере. Пусть имеется сложная физическая система S, состоящая из боль- шого числа IV однородных элементов (или «единиц»), каждый из которых может случайным образом переходить из состояния в состоя- ние. Предположим, что все потоки событий, переводящие систему S (и каждый элемент) из состояния в состояние — пуассоновские (хотя в общем случае и не простейшие, а с интенсивностями, произвольным образом зависящими от времени). Тогда процесс, протекающий в си- стеме, будет марковским. Допустим, что каждый элемент может быть в любом из п возмож- ных состояний: #1, й’г» •••, #», а состояние системы S в каждый момент характеризуется числом эле- ментов, находящихся в каждом из состояний. Нам требуется исследо- вать случайный процесс, протекающий в системе S. В принципе, можно было бы применить ту же методику, которую мы уже применяли ранее при изучении подобных процессов, а именно, рас- смотреть все возможные состояния системы S: Sn, о....о — все элементы находятся в состоянии в других состояниях нет ни одного элемента; Sn—i, 1,0.....о — один элемент находится в состоянии <оа, все остальные — в состоянии Slt и т. д., и найти вероятности этих состояний. Однако при большом чис- ле элементов IV даже перечисление возможных состояний системы S затруднительно, не то, что составление и решение уравнений для ве- роятностей состояний. Очевидно, нам нужно идти другим путем. Отвлечемся от возмож- ных состояний системы в целом и сосредоточим свое внимание на от- дельном элементе % (так как все элементы однородны, все равно, какой это будет элемент) и рассмотрим для него граф состояний (рис. 6.1). Введем в рассмотрение случайную величину Xk(t) — число единиц, находящихся в момент t в состоянии <£h. Будем ее называть кратко чис- ленностью состояния <oft в момент t. Очевидно, для любого момента t сумма численностей всех состояний равна общей числен- ности элементов: Xi (0 + ^2 (0 + ••• + хп (0 ~ N, или, короче: п (1.1) k= i Рассмотренная нами величина Xk(t) для любого t представляет собой случайную величину, а вообще, при меняющемся t —-случайную функцию времени. MS
Поставим себе задачу: найти для любого t основные характерис- тики случайной величины Xk(t) — ее математическое ожидание и дисперсию: Dh(t) — D[Xh (01. (1.2) (1.3) Другими словами, для каждого момента времени t мы хотим знать среднее значение численности каждого состояния, а также разброс фак- тической численности около сред- ней. Для того, чтобы найти эти характеристики, надо знать интен- сивности всех потоков событий, пе- реводящих элемент (не систему, а именно элемент!) из состоя- ния в состояние. Предположим, что эти интен- сивности нам известны и простав- лены на.графе состояний (см. рис. 6.1). Тогда численность каждого состояния Xh(t) можно представить как сумму случайных величин, каждая из которых связана с от- дельным (4-м) элементом, а именно: Рис. 6.1 равна единице, если этот элемент в момент времени t находится в состоянии Sk, и равна нулю, если не находится: 4° (о- 1, если 4-й элемент в момент t находится в состоя- нии Sh; (1.4) О, если не находится. Очевидно, для любого момента t общая численность состояния равна сумме случайных величин (1.4): * jo=(о+ю> илн короче i — 1 (1-5) Если интенсивности кц потоков событий, переводящих каждый элемент из состояния в состояние, нам известны (а, стало быть, не слу- чайны), то величины ^’(О, х‘i 2,(0,.... x[N}(t) для отдельных элементов независимы между собой. По теореме сложения математических ожиданий (для которой, кста- ти, независимости не требуется) и теореме сложения дисперсий: 293
(1-6) ад = 2o[x'°w]- 4=1 Найдем числовые характеристики — математическое ожидание идисперсию—случайной величины Х(* (0, заданной выражением (1.4). Эта величина имеет два возможных значения: 0 и 1. Вероятность пер- вого из них равна рк(!) — вероятности того, что элемент находится в состоянии <oh (так как элементы однородны, то для всех них эта вероят- ность одна и та же). Ряд распределения каждой из случайных величин X<£’(0 один и тот же и имеет вид: --------М— - (1-7) 1-М)Ы0 где в верхней строке указаны возможные значения случайной вели- чины, а в нижней — их вероятности. Математическое ожидание случайной величины, заданной рядом распределения (1.7), равно: м [х<;’ (01 =0.(1 -pk (0) + 1 .pk (0 =pft (0, где pft(0 — вероятность того, что отдельный элемент в момент t будет находиться в состоянии gft. Дисперсия случайной величины с рядом распределения (1.7) равна: 7Ф1ММо-м<(1-р*(0) + + (1 -ph (0)2 рк (0 = pk (0 (1 -рк (0). Подставляя эти выражения в формулы (1.6), найдем математичес- кое ожидание и дисперсию численности k-ro состояния: mA(0=Mpft(0, (1.8) ^й(0=Л7рй(О(1—Pfe(0). (1-9) Таким образом, нам удалось для любого t найти математическое ожидание и дисперсию численности любого состояния они вы- ражаются формулами (1.8) и (1.9) через число элементов N и вероят- ность &-го состояния любого элемента. Зная дисперсию Dh (t), можно найти среднее квадратическое от- клонение численности состояния Oft(O=/^(O(l-Pfe(0)> (1.10) и, значит, для любого момента времени t указать ориентировочно диа- пазон практически возможных значений численности: mA(0±3ofe(0. (1.11) 294
Таким образом, не определяя вероятностей состояний системы S в целом, а занимаясь только вероятностями состояний отдельных ее элементов, можно определить, чему равна для любого момента / средняя численность каждого состояния и в каких пределах находится факти- ческая численность. Если мы знаем вероятности всех состояний одного элемента Pi, Р«» ...» Рп как функции времени, то нам известны и средние численности состоя- ний: т1г т2, ..., тп и их дисперсии: Dlt D,, .... Dn и средние квадратические отклонения: 01, о2, ..., ап. Таким образом, поставленная вероятностей состояний одного Эти вероятности, как извест- но, могут быть найдены как реше- ния дифференциальных уравнений Колмогорова для вероятностей со- стояний; правила их составления даны в § 6 гл. 4. Для этого нужно только знать (точно или прибли- женно) интенсивности потоков со- бытий, переводящих каждый эле- мент из состояния в состояние. По- ка что мы будем предполагать, что задача сводится к определению отдельного элемента. эти интенсивности нам известны и не случайны. О том, из каких Рис- 62 соображений можно определять эти интенсивности, мы будем говорить несколько позже (см. § 2). Заметим, что вместо дифференциальных уравнений для вероятнос- тей состояний можно (и иногда бывает удобнее) писать уравнения н е- посредственно для средних численностей состояний. Действительно, как видно из формулы (1.8), средняя численность каждого состояния пропорциональна вероятности этого состояния (отличается от нее множителем (V) и, очевидно, удовлетво- ряет тем же дифференциальным уравнениям, только интегрировать их нужно при .других начальных условиях, соответствующих н а- чальным численностям состояний. Пример 1. Система S состоит из N однородных элементов; граф состояний каждого элемента представлен на рис. 6.2. В начальный мо- мент (при t = 0) все элементы находятся в состоянии Написать систему дифференциальных уравнений, которым должны удовлетво- 285
рять средние численности состояний mlt т2, т3, mit и указать, при ка- ких начальных условиях ее нужно решать. Считая уравнения решен- ными, написать выражения для дисперсий численностей состояний. Решение. Непосредственно по графу (рис. 6.2) составляем урав- нения Колмогорова для вероятностей состояний: ~~~------^-12 Pi 4-^з1 Рз> at ~ —(^23 4* Pl 4" ^-12 Pit at = —?„31 ps X2S p2 4-I43 plt at ~77~ = X43 pt 4- X24 p2. at (1-12) Мы знаем, что одно из этих уравнений (любое) может быть отбро- шено, но мы пока сохраним их все. Умножим левую и правую части каждого из уравнений (1.12) на число элементов N и введем.в левых частях N под знак производной; получим: ^u-mpi+чл, at = -(Х23 4- Ч) MP* 4- КР1, at —^..Р^ = — ^”31 Np3 4* ^23 4* ^43 ^Pt> at ^-=-^3NPl + ^Np2. (1-13) Теперь вспомним, что Np.2=mit Np3 = m3, Npi = mi, (аргумент t у этих функций для краткости отброшен) и перепишем уравнения (1.13) в виде: dm4 . , « , —л12 гп2 4- /'-al гп3, at ~ ---(^23 4- ^21) m2 4* ^12 т11 " (1л4) ----------^31 тз + ^2з т2 + ^43 ^4> at dtJii л . л —— — — Х43 т4 4“ ^24 dt 2М
В уравнениях (1.14) неизвестными функциями являются непо- средственно средние численности состояний. Как видно, эти уравнения составлены совершенно по тому же правилу, что и уравнения для вероятностей состояний, поэтому их можно было со- ставить сразу, минуя промежуточные этапы (1.12) и (1.13). Так мы и будем поступать в дальнейшем. Очевидно, для каждого t средние численности состояний удовлет- воряют условию: + тг 4- т3 + = N, и поэтому одно (любое) из уравнений (1.14) можно отбросить. Отбро- сим, например, третье уравнение (оно наиболее сложно) и в остальные уравнения вместо т3 подставим выражение: m3 = N~(m1 + m2 + mt). Получится окончательно система трех дифференциальных уравнений: ~ ~ ?"12 + 41 [# — \т1 + ™2 + at ~~~ — -----(4з + ^24) т2 + ^12 т1> at ~ ,7~ ~ ~"4з ^4 + 41 ^2- at (1.15) Эту систему нужно решать при начальных условиях: /=0; m1 = N, т2~т3=т4 — 0. (1.16) Интегрирование такой системы дифференциальных уравнений для кон- кретных значений входящих в нее параметров (Af, Х12, Х31, Х24, А,34, Х43) проще всего осуществить на машине или же вручную, методом чис- ленного интегрирования. Предположим, что это осуществлено и нами получены четыре функ- ции, выражающие средние численности состояний: mJO, m2(0, m3(t), m^t). Найдем дисперсии численностей состояний: Di(0, О2(/), О3(/), О4(/). Ранее мы показали, что Dft(O=lVpft(O(l-pft(O)- (1-17) Отсюда, учитывая зависимость тк (/) —Npk (/), получим: , Z)ft(0 = ^(0(l-~^-), ^=1,2,3,4. (1.18) Таким образом, если интенсивности потоков событий, переводя- щих элемент из состояния в состояние, не зависят от численностей со- 297
стояний, то, вычислив средние численности состояний m^t)...tnn(f), можно сразу же найти дисперсии численностей состояний по формулам: Z)2(O = m2(o(l--^ (1-19) Dn(0 = /nn(0(l--^) и их средние квадратические отклонения: о1(0 = ’КД>; М0 = АЙ;-; пп(0 = /О)- П.20) Заметим, что зная математические ожидания и средние квадрати- ческие отклонения численностей состояний, мы получаем возможность оценивать также и вероятности различных состояний системы в целом, т. еч например, вероятность того, что численность какого-то состояния будет заключена в определенных пределах. Действительно, предполо- жим, что число элементов N в системе велико. Тогда численность ка- кого-то (&-го) состояния можно приближенно считать распределенной по нормальному закону. А если это так, то вероятность того, что случай- ная величина Хк (численность /г-го состояния) будет заключена в ка- ких-то границах от а и до 0, будет выражаться формулой: Р(Х;;е(а,Р)) = ф(^М_ф/^М , (1.21) \ °k / \ / где тк, <ук — математическое ожидание и среднее квадратическое от- клонение численности k-ro состояния, Ф(х) — функция Лапласа (см. приложение, табл. 1). Вернемся к уравнениям для средних численностей состояний и сформулируем правило их составления. Оно состоит в следующем. Если в системе S, состоящей из N однородных элементов типа S, происходит марковский случайный процесс, причем известен граф состояний каждого элемента и указаны интенсивности всех потоков событий, переводящих элемент 8 из состояния в состояние (не зави- сящие от численностей состояний), то для средних численностей со- стояний можно составить дифференциальные уравнения, пользуясь следующим мнемоническим правилом: Производная средней численности состояния равна сумме столь- ких членов, сколько стрелок связано с данным состоянием-, если стрелка направлена из состояния, член имеет знак «минус», если в состояние— знак «плюс». Каждый член равен произведению интенсивности потока событий, переводящего элемент по данной стрелке, на среднюю числен- ность того состояния, из которого исходит стрелка. Составленные по этому правилу дифференциальные уравнения, в которых неизвестными функциями являются средние численности 298
состояний, мы будем называть уравнениями динамики средних. Пример 2. Физическая система S состоит из ^ = 200 однородных элемен- тов — приборов <?. Каждый из приборов может находиться в одном из двух со- стояний: — исправен, $2 — неисправен. Переход элемента из состояния в состояние $2 происходит под дейст- вием потока неисправностей с интенсивностью А, = 2; среднее время ремонта (восстаиовлеиия) прибора равно /р = 1/р, = 1/3. Составить уравнения динамики средних и решить их при условии, что в начальный момент все приборы исправ- ны. Изобразить зависимости mt(t) и m2(i) на графике. Найти и построить на гра- фике функции О1(0, стг(0 — средние квадратические отклонения численностей 'состояний. •« Рис. 6.3 Решение. Граф состояний элемента имеет вид, показанный на рис. 6.3. Обозначаем: т1 — среднее число исправных элементов в момент t, т2 — среднее число неисправных элементов в тот же момент. Уравнения для средних численностей состояний будут: 0,0 --------2/П1 + Зи12, at dmi 0,0 at (1.22) Вместо двух уравнений можно ограничиться одним, если учесть, что для любого t m2 — N—mt. (1.23) Подставляя (1.23) в первое уравнение (1.22), получим: ^-~=—бпц+ЗАГ. (1.24) at Интегрируя это уравнение при начальном условии t — Q\ mt — Nt получим: 'П1(0 = Л/(4- + -4-е-5^. (1.25) \ О О J Из (1.23) имеем: т2(/)=У-И^ + 4-е~5^= 4-У(1-е~59. (1.26) \ и О / О 299
Построим на графике функции (1.25) и (1.26) (рис. 6.4). Из графика видно, что при t -* оо средние численности состояний стремятся к предельным значе- ниям: т-х -г 3/5/V) т2 -> 2/5/V. Определим дисперсии численностей состояний: Очевидно, дисперсия численности второго состояния будет такая же: о2(0=£1(0- Средние квадратические отклонения численностей состояний равны: +4e“5'Vi-e-5()- Zu ) График функции показан на рис. 6.5. 2. УЧЕТ ЗАВИСИМОСТИ ИНТЕНСИВНОСТЕЙ ПОТОКОВ СОБЫТИЙ ОТ ЧИСЛЕННОСТЕЙ СОСТОЯНИЙ. ПРИНЦИП КВАЗИРЕГУЛЯРНОСТИ До сих пор, применяя метод динамики средних, мы считали, что интенсивности потоков событий, переводящих элемент из состояния в состояние, нам заранее известны и не случайны. Тем самым предпола- галось, что они не зависят от численностей состоя- ний, которые, как известно, случайны. Однако, на практике очень часто эта бывает не так. Процессы, протекающие в системе элементов, чаще всего складываются так, что интенсивности потоков событий, пе- реводящих элемент из состояния в состояние, зависят от того, сколько элементов в данном состоянии (да и в других состояниях) имеется в си- стеме. Например, в примере 2 предыдущего параграфа мы предполагали, что среднее время ремонта элемента (величина, обратно пропорцио- зоо
нальная интенсивности потока ремонтов) не зависит от того, сколько элементов одновременно находится в ремонте. Это действительно так, если элементы настолько редко выходят из строя, что практически не может создаться «затора» при их восстановлении. Если же это не так, необходимо учитывать тот факт, что время, потребное на ремонт эле- мента, зависит от количества неисправных элементов, имеющихся в наличии. Действительно, рассмотрим систему S, состоящую из IV однород- ных элементов — приборов, которые могут в случайные моменты вы- ходить из строя и направляться в ремонт. Предположим, что ремонт осуществляется одной бригадой, имеющей вполне определенную про- пускную способность (среднее количество ремонтов в единицу време- ни). Тогда время, которое каждый отдельный неисправный элемент пробудет в ремонте, зависит от общего числа ремонтируемых в дан- ный момент элементов: чем это количество больше, тем больше, в сред- нем, пробудет в ремонте каждый отдельный элемент, и тем, следователь- но, меньше будет интенсивность потока событий, переводящего каждый отдельный элемент из состояния «неисправен» в состояние «исправен». Таким образом, интенсивность потока событий, переводящего элемент из второго состояния в первое, зависит от численности первого состояния. Эта численность случайна — значит и интенсивность переводящего потока, строго говоря, будет случай- ной. Другой пример. Пусть система S состоит из большого числа IV автомашин, каждая из которых может быть в состоянии «исправна» или «неисправна». Парк автомашин выполняет вполне определенный круг работ, так что при большом количестве неисправных машин на- грузка, ложащаяся на исправные, увеличивается, и, значит, увеличи- вается интенсивность потоков событий, переводящих их в состояние «неисправна». Снова интенсивность потока событий зависит от числен- ности состояния. В общем случае (ниже мы увидим ряд таких примеров) интенсив- ности потоков событий, переводящих элемент из состояния в состояние, могут зависеть от численности не одного состояния, а сразу несколь- ких. В случае, когда интенсивности потоков событий зависят от чис- ленностей состояний (значит, случайны), мы уже не можем, как это было раньше, писать уравнения динамики средних, так как не знаем численностей состояний, определяющих интенсивности. Однако эту трудность можно обойти, если предположить, что интенсивности пото- ков событий, переводящих элемент из состояния в состояние, зависят не от самих численностей состояний, а от их средних значений (матема- тических ожиданий) тг, т2, ..., тп. Это допущение, которое мы, следуя И. Я. Динеру [13], будем на- зывать «принципом квазирегулярности», позволит написать уравнения динамики средних и решить задачу (правда, не точно, а приближенно, потому что само это допущение — не точное, а приближенное). Заметим, что допущение, о котором идет речь, приводит к су- щественным ошибкам только когда общее число элементов N в систе- ме <S сравнительно мало — тогда фактические численности- состояний 301
Рис. 6.6 могут сильно отличаться от своих математических ожиданий. Если же общее число элементов N велико, отклонение численности каждого состояния от среднего значения относительно мало, и метод динамики средних дает сравнительно малые погрешности. Существенен также вид зависимости, связывающий интенсивнос- ти потоков событий с численностями состояний. Чем ближе эта зависи- мость к линейной (в области практически возможных значений ар- гументов), тем меньшую погрешность дает замена случайных числен- ностей их средними значениями. Поясним методику пользования принципом квазирегулярности на примерах. Пример 1. Система S состоит из большого числа N однородных технических устройств, каждое из которых может быть в одном из двух состояний: $1 — исправно, работает, $2 — неисправно, ремонти- руется. На каждый элемент действует поток неисправностей с интенсив- ностью X, не зависящей от числен- ностей состояний. Ремонтом элемен- тов занята группа рабочих в составе k человек (k X). Каждый неис- правный элемент ремонтируется одним рабочим (взаимопомощи между ними нет); каждый рабочий может ремонтировать в среднем р. эле- ментов в единицу времени. В начальный момент (/ = 0) все элементы исправны. Все потоки событий — пуассоновские (может быть, с пе- ременной интенсивностью). Написать уравнения динамики средних для средних численностей состояний. Решение. Граф состояний элемента (одного технического устрой- ства) имеет вид, представленный на рис. 6.6, где р — интенсивность потока ремонтов, приходящаяся на один ремонти- руемый элемент. Найдем зависимость р от числа Х2 элементов, находящихся в дан- ный момент в состоянии ремонта. Начнем с того, что определим, при данном Х2, суммарную интенсивность М% потока ремонтов, приходя- щегося на все элементы, которые находятся в состоянии $2. Эта суммарная интенсивность есть функция числа элементов, находя- щихся в состоянии ремонта: Л1г = <р (Х2). Так как рабочие работают без взаимопомощи и число их равно k, то суммарная интенсивность потока ремонтов с возрастанием числа ремонтируемых элементов растет по линейному закону (пропорцио- нально числу ремонтируемых элементов) до тех пор, пока их число не достигнет k\ после этого все рабочие будут заняты, интенсивность М? перестанет расти и останется равной pk: Л42 = ф(Х2) = М2 приХ2^, <21) (рк при Х2>я. 302
Построим график функции <р(Х2) (см. рис. 6.7). Она задана только в целочисленных точках; но при составлении уравнений динамики средних с использованием принципа квазирегулярности нам придется заменять случайное число Х2 элементов в состоянии ремонта его мате- матическим ожиданием т2, а оно может быть и не целым. Поэтому нам нужно определить функцию <р и для нецелых значений аргумента. Для этого воспользуемся линейной интерполяцией и соединим точки на графике рис. 6.7 отрезками прямых. Подсчитаем теперь, какова будет средняя интенсивность потока ремонтов, приходящаяся на один ремонтируемый элемент: ЛД р ~ Ф1 (Хг) — • Деля (2.1) на Х2, получим: ( Р Р = Ф1 (*2) = _рл I *2 при Х2 k, при Х2 k. (2.2) График функции <fi(X2) представлен на рис. 6.8. Эта кривая, как и <р(Х2), состоит из двух участков. На первом (от 0 до k) она параллель- на оси абсцисс, на втором — убывает по гиперболическому закону. Теперь нам известна интенсивность потока событий %21 = ц, пе- реводящего один элемент из состояния $2 в Она зависит от факти- ческого (случайного) числа Х2 элементов, находящихся в состоянии <g2. Согласно принципу квазирегулярности, заменим это случайное число его математическим ожиданием т2. Тогда, на основе графа со- стояний (рис. 6.6), дифференциальные уравнения динамики средних запишутся в виде: == _xmi + ф1 (m2) m2i (2.3) at + (2.4) at где тъ т2, — средние численности состояний <g2. зоз
Уравнения (2.3), (2.4) можно переписать в другом виде, если вспо- мнить, что „ tv ч <Р(Х2) . m ,т ч <P(m2) Ф1 vW — 5 ~ , Ф1 (тг) — А 2 ZHg Получим два уравнения: — Xmt + ф (т2), -^ = — Ф^ + Хт,. at (2.5) Из этих двух уравнений мы можем выбрать одно — например, второе, первое отбросить и во второе подставить выражение тх из условия: m1-\-tn2 = N; т1 = N — т2. Получим вместо (2.5) одно дифференциальное уравнение: = — ф(т2) + Х(У—т2). Это — ур внение с разделяющимися переменными: ________dm,________ X (М — m2) — <р (т2) = dt. Интегрируя правую часть от 0 до t, а левую—от 0 до т2 (начальное значение т2 равно нулю), имеем: т2 С _________dm2_________ J X (N—т2) — <р(/п2) о (2.6) Учитывая, что функция <р(т2) задана двумя разными выраже- ниями при т2 k и при т2 > k, имеем: при tn2 С' k т2 т, dm2 ________р dm2 X (М — т2) — цт2 J ХМ — (X 4- р) т2 о о _1 ]п М — (X + р) т2 , X 4- р ХМ откуда т2 = ——— [1 —е~ <х+ч)']. Х-рр. При m2> k (2.7) о dm2 KN — (X + р) т2 т2 4 /г dtn2 KN — ftp — Кт2 804
Первый интеграл равен: 1 |п Xfl - (X 4 р) fe X 4 р. KN Вычисляем второй интеграл: (* J KN — /гц—Km2 k =-------- In (KN — k[i — Xm2) X 1 |n ХЛ/— fcp,—Xm2 T xw — fe (X + p.) ’ Следовательно, при m2> k _ _ 1 |n X<V — (X + p.) fe_l_ (n ХЛ/ — fep—Xffi2 , X 4 p. ХА' X ХЛ/ — k (X 4 |0 откуда m2 = yv—k --------------------------------e~4 X Г X + u зх/(Х.+ ц) 1 —-----— k KN I (2.8) Формулой (2.7) величина m2 будет выражаться при t<_____1 .n XA/-(X4p)fe =______1 )n XW , X 4 p KN X 4 p KN — (X 4 p) k а формулой (2.8) — при больших значениях t. Пример 2. Условия те же, что и в примере 1, с той разницей, что k рабочих, ремонтирующих вышедшие из строя элементы, помогают друг другу, так что k рабочих осуществляют ремонт одного элемента в среднем в k раз скорей, чем один рабочий. Требуется построить для этих условий функцию = <р(Х2) (суммарную интенсивность потока ремонтов), функцию р, = q)j(X2) (интенсивность потока ремонтов, приходящуюся на один ремонтируе- мый элемент) и составить дифференциальные уравнения для средних численностей состояний (уравнения динамики средних). 805
Решение. График зависимости от числа ремонтируемых эле- ментов Х2 представлен на рис. 6.9. Действительно, при любом целом положительном числе элементов, находящихся в состоянии <о2 (Х2 = = 1, 2, 3, ...), все рабочие, работая одновременно над ремонтом этих элементов, порождают один поток ремонтов с интенсивностью /гц; они как бы эквивалентны одному «сверхрабочему» с производительностью, в k раз большей (см. § 9 гл. 5). Таким образом, чтобы решить постав- ленную задачу, достаточно в условиях примера 1 положить k = 1, ' а вместо ц — подставить В реальных условиях зависимость суммарной интенсивности по- тока ремонтов Ms от числа ремонтируемых элементов может быть и не такой простой, как в рассмотренных двух примерах — она может за- висеть от особенностей организа- ции ремонтов в бригаде, от оче- редности обслуживания элемен- тов, от емкости ремонтных ма- стерских, и т. д. Может ока- рис (л 1 заться, что для установления вида функции Ms = <р(Х2) придется делать специальное исследование, например, рассматривая ремонтную бригаду как систему массового обслуживания и строя для нее математическую модель. Пример 3. Рассматривается система, состоящая из N = 100 оди- наковых приборов; каждый прибор состоит из двух одинаковых узлов: один основной, второй резервный. В случае выхода из строя основного узла в работу включается резервный. При выходе из строя обоих узлов выходит из строя и перестает работать весь прибор. Поток неисправ- ностей, действующий на работающий узел, имеет интенсивность на неработающий (исправный) — Х2. Вышедшие из строя узлы ремон- тируются бригадой рабочих. Суммарная интенсивность потока ре- монтов бригады, в зависимости от общего числа ремонтируемых узлов у, задана функцией Alz = q>(t/). Вид функции ф(//) представлен на рис. 6.10. Отдельный прибор (элемент) может находиться в следующих сос- тояниях: Si — исправны оба узла, первый работает, второй в резерве, $2 — первый узел неисправен, ремонтируется, второй узел ра- бота ет; прибор работает, Ss— оба узла неисправны, ремонтируются; прибор не работает. Вышедшие из строя узлы ремонтируются независимо от того, яв- ляется ли узел основным или запасным (ремонты распределяются по узлам равномерно). После исправления вышедшего из строя узла он становится резервным, если другой не вышел из строя, и основным — если вышел. Написать уравнения динамики средних. Решение. Граф состояний элемента (прибора) имеет вид, показан- ный на рис. 6.11. зов
Определим интенсивности потоков событий, переводящих элемент из состояния в состояние. Прежде всего, ?-12 = + ^2- Действительно, пока прибор работает нормально, на оба узла действуют потоки неисправностей: на работающий—с интенсивностью на неработающий—с интенсивностью Х2. На прибор в целом дей- ствует поток с суммарной интенсивностью -|-Л-2. Далее, из состояния $2 в $3 прибор переходит под действием потока неисправностей, приходящегося на единственный работающий узел: Х23 = Обратно, из состояния S2 в 8г, прибор переводит поток ремонтов, приходящийся на один ремонтируемый узел. Общее число узлов, на- ходящихся в ремонте, равно // = Х2 + 2Х3. Действительно, на каждый прибор, находящийся в состоянии при ходится один неисправный узел; на каждый прибор в состоянии <£3 — два неисправных узла. Суммарная интенсивность потока ремонтов будет: v = ф (у) = ф (Х2-|-2Х3). Эта интенсивность делится поровну между всеми ремонтируемыми узлами, так что на один узел приходится интенсивность потока ремон- тов, равная ~ ф(Х2^2Х3) и Х2 -|- 2XS Следовательно, истинная интенсивность потока ремонтов, прихо- дящаяся на один элемент в состоянии <S2, равна: 1 ф(Хг-Ь2Х8) Х2 + 2Х3 Аналогично определим Х32. В состоянии SB прибор имеет два не- исправных узла; на каждый из них приходится поток ремонтов с ин- тенсивностью ф (Х2 2Х3) Х2 + 2Х3 а на оба — поток с интенсивностью, вдвое большей: 2ф (X 3 —р- 2Х3) Х2 + 2Хз Согласно принципу квазирегулярности, заменяем случайные ар- гументы Х2 и Х3 их математическими ожиданиями т2 и т3; получим: 1 _ Ф (т2 + 2/Пз) . 3 ~ 2<р (m2 + 2т3) । Л21 ....... ) ™32' * т2 + 2ms т2 + 2т3 307-
Таким образом, можно проставить на графе состояний все интен- сивности и, согласно общему правилу, записать уравнения динамики средних. Из трех уравнений (для mlt tn2 и т3) пишем первое и послед- нее — второе отбрасываем: = - (X, + Х2) mt + + di т2 Ч* 2пг3 dm3 ~di~ 2<р (т?-\-2т3) т3 т2 4- 2/п3 Из условия mi + тг + тз выражаем т2 через mi и т3: m2 = N— тг—т3 и подставляем в первое и второе уравнения (2.9): dms dt 2<р (N — т1 + т3) т3 N — /П1 + т3 + М^ —mt—m3). (2.9) (2.10) f-^m2, Полученную систему двух нелинейных дифференциальных урав- нений с неизвестными функциями m1( т3 можно решать на машине или вручную (численно). Таким образом, пользуясь принципом квазирегулярности, можно написать уравнения динамики средних, в которых неизвестными функ- циями являются средние численности состояний; эти уравнения при- ближенно описывают изменение средних численностей состояний даже в случае, когда интенсивности потоков событий, переводящих элемент из состояния в состояние, зависят от численностей состояний и, значит, являются случайными. Погрешность, с которой уравнения динамики средних описывают процесс, тем меньше, чем более мно- гочисленна группа элементов и чем ближе нелиней- ным функции, выражающие интенсивности потоков событий в зави- симости от численностей состояний. Возникает вопрос: а нельзя ли, пользуясь тем же методом, что в § 1, приближенно определить не только математические ожидания, но и дисперсии средних численностей состояний? Мы видели, что в случае, когда отдельные элементы переходили из состояния в состоя- ние независимо друг от друга (т. е. интенсивности потоков событий, переводящих элементы из состояния в состояние вовсе не зависели от численностей состояний), дисперсии численностей состояний находи- лись просто по формуле: / (О \ -----(2.11) аов
Исследования показывают, что в случае, когда интенсивности по- токов событий зависят от численностей состояний, этой формулой, вооб- ще говоря, нельзя пользоваться. Она оказывается пригодной только в случаях, когда зависимость интенсивностей потоков событий от чис- ленностей очень слабая (почти пренебрежимая), да и то на сравнитель- но малых участках времени, пока не накопилась погрешность. Если же зависимость интенсивностей от численностей существенна, формула (2.11) дает ошибку. Если функции, выражающие суммарные интенсив- ности потоков (как например, функция ср в примере 1) выпуклы вверх, то формула (2.11) дает заниженное значение для дис- персии: дисперсия, вычисляемая по этой формуле, может быть, скажем, вдвое меньше истинной (а иногда — и более, чем вдвое). Приближенно найти дисперсии численностей состояний можно, выписывая и решая специальные дифференциальные уравнения уже не для математических ожиданий, а для дисперсий Dk(t) и корреля- ционных моментов характеризующих связь между числен- ностями состояний $к, Эти уравнения в каком-то смысле анало- гичны уравнениям динамики средних, составляемым на базе принципа квазирегулярности, но гораздо сложнее их и не обладают той же на- глядностью. Число уравнений и число неизвестных в этих уравнениях равно числу дисперсий плюс число попарных корреляций между чис- ленностями Хъ Х2, ..., Хп, т. е. , (П — 1> _ n (n-h 1> + 2 2 Кроме дисперсий Dk(l) и корреляционных моментов в урав- нения для них входят еще и п функций m2(t), mn(t) — сред- них численностей состояний, которые предполагаются уже определен- ными из уравнений динамики средних. Уравнения для дисперсий Dh(t) и корреляционных моментов оказываются относительно самих этих переменных линейными, хотя математические ожидания численностей tnh(t) входят в них нелинейно. В виду сравнительной сложности вопроса, мы не рассматриваем методику построения системы уравнений для дисперсий и корре- ляционных моментов (для частного случая эти уравнения описаны в статье [22]). 3. УЧЕТ ПОПОЛНЕНИЯ ЧИСЛЕННОСТЕЙ СОСТОЯНИЙ До сих пор мы применяли метод динамики средних к решению толь- ко таких задач, где система была замкнутой, т. е. количество элемен- тов (V,-участвующих в процессе, оставалось неизменным. На практике нередко встречаются задачи, где в ходе процесса численности эле- ментов, находящихся в каких-то состояниях, пополняются извне. Это пополнение очень легко учесть в уравнениях динамики средних. Рассмотрим в качестве примера систему S, состоящую из N одно- родных элементов. Граф состояний элемента показан на рис. 6.12. 309
Интенсивности в общем случае зависят от численностей состояний Хх, Х2, Х3, Х4 (при составлении дифференциальных уравнений эти численности заменяются средними численностями т1г т2, /п3, т^. Если пополнения состава численностей состояний в ходе процес- са не происходит, то уравнения динамики средних будут: ~~~ — ------(^12 + ^1з) "Ь ^21 т2> at ~ ,7 = -----(^21 + ^23 4“ ^24) т2 + ^12 т19 at ~7~ ~ ?‘13 т1 4“ ^23 т2 + ^43 т4» at ~77~ ~ -----^43 т4 + ^24 т2> at (3.1) Рис. 6.12 Рис. 6.13 причем любое из этих уравнений может быть отброшено, и соответст- вующая переменная выражена из условия: + «2 + «з + т4 = X • (3.2) Теперь предположим, что контингент элементов, находящихся в одном из состояний (например, 84) пополняется извне, причем интенсивность пополнения, т. е. число элементов, вводимых в единицу времени в состояние $1( равна 6 (в случае, если за единицу времени вводится случайное число единиц, интенсивностью пополне- ния будет называться среднее число единиц, вводимых извне за едини- цу времени). Величина 6 может быть как постоянной, так и перемен- ной, как зависящей, так и не зависящей от средних численностей со- стояний. При наличии пополнения первое уравнение системы (3.1) изме- нится; в правой части его появится слагаемое, равное пополнению 6: ~ (^12 + ^13) + ^21 /К2~Ь \ (3.3) а остальные уравнения останутся такими, как были. Заметим, что условие (3.2) также изменится. Раньше в любой мо- мент времени сумма всех средних численностей была равна одной и той ДЮ
же величине N; теперь она будет равна изменяющейся со временем численности N(t) = N0+^6(t)dt, (3.4) о где Л(о — начальное значение численности элементов. Таким образом, учет пополнения численностей состояний сводит- ся к тому, что к правой части соответствующего дифференциального уравнения прибавляется слагаемое, равное интенсивности пополнения — среднему числу элементов, вводимых в данное состояние за единицу вре- мени. Пример 1. Рассматривается система, состоящая (в начальный мо- мент) из <V0 однородных технических устройств (приборов), каждый из которых может быть в одном из следующих состояний: — исправен; $2 — неисправен, осматривается; $3 — признан негодным, списан; — ремонтируется. Соответствующие средние численности обозначим пц, т2, ms, mi- Граф состояний элемента показан на рис. 6.13. Интенсивность потока неисправностей работающего прибора рав- на X. Среднее время осмотра не зависит от числа осматриваемых при- боров и равно 70СМ. Неисправный прибор оказывается негодным и спи- сывается с вероятностью р, а с вероятностью 1 — р направляется в ре- монт. Среднее время, которое прибор проводит в состоянии ремонта, 7рем есть некоторая функция от числа х приборов, одновременно нахо- дящихся в ремонте: ^рем ~ f W- Чтобы скомпенсировать убыль приборов в результате списания, производится пополнение численности приборов извне (исправными приборами), причем за единицу времени в систему вводится в среднем 6 = 6(/) исправных приборов. Требуется: — написать уравнения динамики средних с учетом пополнения, — определить, какова должна быть функция 6(0 для того, чтобы списание приборов в среднем было скомпенсировано, — написать формулу для суммарного числа элементов N{t), на- ходящихся во всех состояниях к моменту I. Решение. На графе рис. 6.13 проставляем интенсивности потоков событий. Интенсивность Х41 приближенно принимаем обратно пропор- ци опальной среднему времени ремонта (строго говоря, это верно толь- ко для стационарного пуассоновского потока): Х41= —Ь- 4 f(Xd 311
Заменяя истинную численность ремонтируемых приборов ее математическим ожиданием получим: ~ —------------------------------------- 4 f (т.) Система дифференциальных уравнений динамики средних будет: dm, __ dt ~ dm2 __ dt ~ dm3 __ ИГ ~ dtn.1 _ dl ~ = —^ + -^^4-6, fim.) = _^h_ + Xm1, Сем _ pm2 ^OCM = _ | 0 ~ P) f Сем Заметим, что в данном случае мы не можем так просто отбросить любое из уравнений, как в случае без пополнения, так как условие (3.2) видоизменяется; общее число элементов в системе зависит от вре- мени и равно: t tf(f)=,/Vo4-j6(Odt (3.5) о Для того чтобы в среднем скомпенсировать списываемые приборы, интенсивность пополнения должна быть равна среднему числу прибо- ров, списываемых за единицу времени. Всего в единицу времени спи- сывается (переходит из состояния $2 в $3) в среднем mz *осм приборов; значит, мы должны положить: 6 — ~~ т2. ^осм При такой интенсивности пополнения система уравнений динамики средних примет вид: = — Л/П1 ------!— tn. 4- ~Г— dt f(m4) /осм 2> dm ? 1 , — = 4-^, а{ Еосм Р т ---- = -=--- tn g, dt toCM dm, ~dt (3.6) 1 । 1 — Р --------т. + — — т, f-^осм 312
Из числа уравнений (3.6) можно безболезненно исключить третье, так как величина т3 не входит ни в одну правую часть. Величину т3 в условиях данного примера можно вычислить очень просто: для каж- дого момента / она равна суммарному числу вновь поступивших при- боров (так как все списанные в среднем компенсируются) и, значит, та = | т2 (t) dt. ^осм J о В данном примере 1 пополнение вводилось только в одно состоя- ние; вообще, это может быть и не так (например, можно вводить попол- нение неисправными приборами, которые должны ремонтироваться местными средствами). Заметим, кроме того, что функции пополне- ния могут иметь как положительные, так и отрицательные значения (убыль элементов). Рис. 6.14 Рис. 6.15 Пополнения, вводимые в состояния, иногда бывает удобно изобра- жать наглядно, на графе состояний (рис. 6.14). Условимся изображать их «полустрелками», не идущими ни из какого состояния, а в случае «убыли» — не направленными ни в какое состояние (для наглядности полустрелки, в отличие от стрелок, будем делать двойными). Размечая граф интенсивностями потоков событий, против полустрелок будем писать не интенсивность, приходящуюся на один элемент, а интенсивность приходящуюся на систему в целом (это делается для того, чтобы избежать ненужного деления и умножения на одно и то же число). Пример 2. В условиях примера 1 пополнение численностей отно- сится к двум состояниям: (исправные приборы) и (ремонтируе- мые приборы), причем некоторая доля а вновь поставляемых приборов дается исправными, а доля (1 — а) — неисправными; последние сразу же начинают ремонтироваться. Как и в предыдущем примере, суммар- р ное пополнение в единицу времени равно =— т2. 4)СМ 313
Построить граф состояний, отразив на нем пополнение, написать уравнения динамики средних, определить общее среднее количество элементов в системе N(t) как функцию времени. Решение. Граф состояний показан на рис. 6.15; полустрелки, на- правленные в состояния Si, изображают пополнение. Уравнения динамики средних имеют вид: dmt di dm2 ~dT dms dt атл di ~ = — Un-i +t“— mi + m2> flint) 4 Zoom 1 i = — -— m2 4- лть Доем p = Ш2, AjCM 1 . 1 — p (1 — a) p -----m, 4- ——- m2 4- —— m2. f (mi) 4qcm ^ocm (3-7) Из них по-прежнему удобнее всего исключить третье уравнение и выразить т3 как / m3 = -=^— I m2dt. ^осм J о Общее суммарное число элементов в системе меняется во времени согласно формуле: t У (/) = Л/о -=^— С /пг dt = No -f- та. ‘OCM J о 4. МЕТОД ДИНАМИКИ СРЕДНИХ ДЛЯ СИСТЕМЫ, СОСТОЯЩЕЙ ИЗ НЕОДНОРОДНЫХ ЭЛЕМЕНТОВ До сих пор мы применяли метод динамики средних к системам, состоящим из однородных элементов. Однако, без принципиальных изменений, он может быть применен и к системам, состоящим из неод- нородных элементов разных категорий — разница будет только в том, что число дифференциальных уравнений увеличится. Если число ка- тегорий и состояний не слишком велико, решение задачи трудностей не вызывает. Пример. В автохозяйстве имеется Nr грузовых и Ул легковых автомащин. Каждая грузовая машина может быть в одном из следую- щих состояний: Fj — ожидает вызова на базе, Г2 — совершает порожний рейс к месту погрузки, Г3 — совершает рейс с грузом, Г4 — совершает порожний рейс обратно на базу, 314
Г5 — проходит профилактический осмотр, Г6 — ремонтируется. Каждая легковая машина может быть в одном из следующих со- стояний: Л± — ожидает вызова на базе, Л2 — совершает рейс, Л3 — проходит профилактический осмотр, Л4 — ремонтируется. На базу поступают пуассоновские потоки заявок на грузовые и лег- ковые машины, интенсивности которых Хг и Хл не зависят от числа сво- бодных машин на базе. Пришедшие заявки распределяются равномерно между всеми машинами данной категории, ожидающими вызова. В слу- чае, если на базе нет ни одной свободной машины данной категории, заявка получает отказ (переадресуется на другую базу). На профилактический осмотр берутся только машины, находящие- ся в состояниях Гь Л1. Средняя интенсивность потока профилакти- ческих осмотров грузовой машины равна ^-проф, легковой Х„Роф- Осмотры проводятся специализированной бригадой; суммарный поток осмотров имеет интенсивность А%=а(1—е~^), (4.1) где у — число машин (грузовых и легковых вместе), проходящих осмотр. Средняя длительность профилактического осмотра грузовой и лег- ковой машины одинакова и равна 70СМ. Средняя длительность порожне- го рейса (к месту погрузки или к автобазе) равна /пор- Средняя дли- тельность груженого рейса равна /гР. Средняя длительность рейса легковой машины равна /л. Из профилактического осмотра грузовая машина с вероятностью рг идет в ремонт, а с вероятностью 1 — рг — обратно в состояние Г4. Аналогичные вероятности для легковых машин равны рл и 1 — рл. Ремонт как грузовых, так и легковых машин производится ре- монтной бригадой; суммарный поток ремонтов, производимый брига- дой, имеет интенсивность В2 = 6(1—е~*), (4.2) где х — число машин (грузовых и легковых вместе), одновременно находящихся в ремонте. Кроме состояния профилактического осмотра, машины могут по- ступать в ремонт непосредственно из рейса. Интенсивность потока не- исправностей одной грузовой машины в состоянии порожнего рейса равна VnOp, в состоянии груженого рейса — VrP- Интенсивность пото- ка неисправностей легковой машины, находящейся в рейсе, равна Vя. Требуется: — составить граф состояний элементов системы, — написать дифференциальные уравнения для средних численно- стей состояний. 315
Решение. Вводим обозначения: tnf — среднее число грузовых машин, ожидающих вызова в мо- мент т2г — среднее число грузовых машин, совершающих порожний рейс к месту погрузки; т3г — среднее число грузовых машин, совершающих груженый рейс; т4г — среднее число грузовых машин, возвращающихся порож- няком на базу; т5г — среднее число грузовых машин, проходящих профилакти- ческий осмотр; твг — среднее число ремонтируемых грузовых машин; т,л — среднее число легковых машин, ожидающих вызова; т2л — среднее число легковых машин, совершающих рейс; т3л—среднее число легковых машин, проходящих профилакти- ческий осмотр; т4л — среднее число ремонтируемых легковых машин. Граф состояний системы, распадающийся на два подграфа — Г и Л, показан на рис. 6.16. Рис. 6.16 Определим теперь интенсивности потоков событий, пере- водящих элементы (грузовые и легковые машины) из состояния в со- стояние. Некоторые из этих интенсивностей зависят от численностей состояний, другие не зависят. Для первых мы, при составлении диф- ференциальных уравнений, согласно принципу квазирегулярности, заменим численности состояний, от которых они зависят, средними численностями. Найдем ХУ2 — интенсивность потока событий, переводящего гру- зовую машину, ожидающую вызова, в состояние Г2 — рейс к месту погрузки. Вызовы грузовых машин, по условиям задачи, образуют по- ток с интенсивностью V; но вызов принимается только тогда, когда в состоянии Г4 есть хотя бы одна машина. Поэтому интенсивность по- тока принятых вызовов Х„р (а только такие вызовы могут пере- 816
водить грузовую машину из состояния Г, в Г2) зависит от числа X' машин в состоянии 1\ следующим образом: »г (Д’ при X/ > 1, пр ~ ( 0 при X/ = 0. Эта функция такого же вида, как нам встречалась уже ранее, в при- мере 2 §2, и встретится еще не раз в следующих примерах. Поэтому мы сейчас введем две функции, которые в дальнейшем будут обозначать- ся всегда одинаково: R(x) и р(х) (ими мы будем пользоваться во многих конкретных задачах динамики средних). Определим функцию R(x) следующим образом: п . . ( х при х < 1; .ч £(*)= , , (4.4) ( 1 при Х> 1. График этой функции представлен на рис. 6.17. Функцию р(х) определим формулой: р (х) =------= X при 1, при Х> 1. (4-5) 1 2 X График функции р(х) изображен на рис. 6.18. При помощи функции R(x) интенсивность Х„р потока принятых вызовов грузовых машин записывается так: ^p=v#(xo. (4-6) Теперь вычислим интенсивность ?Лг потока событий, переводя- щих отдельную грузовую машину из состояния G в Г2 (см. рис. 6.16): . г ^пр n R (^1 ) 7 г Л / Y П Л!г X/ (4.7) Далее найдем другие интенсивности. Имеем: Мз = 1//поР; Хз4 = 1//гр; %41 = 1//пор,‘ ^15 =^проф- (4.8) Теперь определим интенсивность потока событий, переводя- щего элемент (грузовую машину), находящийся в состоянии ГБ (про- 317
филактический осмотр), в состояние Г!. Эту интенсивность вычислим следующим образом. Суммарная интенсивность потока осмотров, ко- торый производит бригада, согласно формуле (4.1), равна: Аг = а[1 — е~(х»г+х’л1]. (4.9) Эту интенсивность нужно поровну разделить между всеми маши- нами, находящимися в состояниях Г5 и Л3; получится а [i _e-(V+V)l —t------------— (осмотров в единицу времени). ^5Г + -^3Л (4.Ю) Но это еще не все: ведь в состояние Гх переходит не каждая маши- на, прошедшая осмотр, а только какая-то часть из них. Чтобы получить из (4.10) интенсивность Х51, нужно умножить (4.10) на (1 —рг) — ве- роятность того, что машина из профилактического ремонта вернется в состояние Гх; получим: 7Г а (1 — рг) [1 — е-(х‘Г+х“Л)] д _ — —------------------------ Хзг + Хзл Аналогично находим: г _ арг [1—е-(х»г+х*л)] 66 ~ Х5Г + Х3Л (4.Н) (4-12) Интенсивность потока ремонтов, переводящих элемент из со- стояния Гв в Гх, выразится формулой: >-rei b [1 _ e-(V+V)] х6г+х/ (4.13) где Хвг, X/— численности ремонтируемых в данное время грузовых и легковых машин. Из состояний Г2, Г3, Г4 в состояние Г6 (ремонт) элемент переводит- ся потоками событий с интенсивностями, соответственно равными: ^-26 — vnop; ^зб—vrp; Х46 — Vnop. (4.14) Аналогично определяем интенсивности потоков событий для вто- рого подграфа (легковые машины): Г12 = Гр(Х1л), (4.15) 7 л 1 Л 21 — 1 1л Л Л Л Л] 3 — Л-ПрОф, (4-16) (4.17) V — g(l—Рл) [1 — е—<х»Г+ХзЛ^] 31 - х5г+х3л (4.18) »л арл [1 — е" <Х»Г + Х»Л)] Л34 * х5г+х3л (4.19) 318
*Л24=Л ^^[l-e-(V+X/)] Xer + X/ (4.20) (4.21) Таким образом, все интенсивности потоков событий для обоих подграфов рис. 6.16 найдены. Заменяя в них численности состояний средними численностями, напишем систему дифференциальных уравнений динамики средних в виде: R (тП -Х'роф + Л тр4 + at /г 1 пор + Д(1-Рг) [1-е(т~Г+'п/)] ; &[1-е~(,п»Г+т/)]/п6г . "'sr + "V m6r + 'V dm3r dt dtnj dt dmsr dt 1 ^тг + Г /Пг) т?, dm^ dt dmsr dt dmi1 dt ['’пор ф \ * nop l Г , 1 \ r , 1 — | vrp + I «3 + ------------ \ tr / Г \ 1 rp / ‘nop / г I 1 \ r I 1 I ^nop ~ I ^4 Ч" ~ I tr I tr \ 4 пор/ гр a [1 —e~ (твг+'Пз )] rrilr r< ^проф m j t b [1 —e~ ^'П,Г+'П<Л^ m6r । m6r + m4” ap' 11 —e" <т-’Г + т’'^1 m5r r / г , r\ . r r. ’ '’nop \ttl2 ~T ^4 / “b '’rp т3г + т3л ~knR (m?) — Хпроф + -=T m2 + (4.22) i 4- V1 j т2л + V R (яг/); д!т3л dt а [1—е~('п‘Г+'”зЛ)] т3л т3г + т3л dm,' _ _ 6 [1-е-^-Г+ст?)] т4л dt т6г-{-т3л 4- v” т2 ф b [1-е-(^г + '".л)] т-)л /п6г + тал ^проф Hl j, арл [1— е-("’»г + т/>] Отзл твг4-т8л 319
Напомним, что в этих уравнениях R(x) — функция, определен- ная формулой (4.4). Таким образом, нами написаны десять дифференциальных уравне- ний для средних численностей состояний (6 4-4 = 10). Однако факти- чески решать приходится не так много: любое из шести первых уравне- ний и любое из четырех последних может быть отброшено и соответст- вующая функция выражена из условия: т/ 4- тг 4- тзг 4* 4- тъ 4- = NT, 4- т2л 4- т3л 4- т4л = N*. Таким образом, общее количество дифференциальных уравнений, которое придется решать, равно восьми (5 4-3 = 8). Начальные условия, при которых мы будем решать эту систему, зависят от того, какой вопрос мы хотим выяснить. Если, например, нас интересует по преимуществу начальный период работы базы, вскоре после ее организации, естественно предположить, что в начальный мо- мент все машины находятся в состояниях Гх и Лх; тогда начальные усло- вия будут: t — 0; — Nr\ mJ ~ т3г = tntr — т3 — твг = 0; т/ == уул; щ2л = т3 — /и4л = 0. Если же нас интересует другое, например, насколько быстро си- стема может справиться с «затором», вызванным большим числом неис- правностей, — можно предположить, что в начальный момент уже большое число машин находится в ремонте (состояния Г6 и Л4). Обратим внимание на то, что полученная нами система дифферен- циальных уравнений для средних численностей состояний нели- нейна. Это очень типично для метода динамики средних в условиях, когда интенсивности потоков событий зависят от численностей состоя- ний. Тем не менее решение такой системы дифференциальных уравне- ний на ЭЦВМ или даже вручную (численно) затруднений не представ- ляет. Для этого только нужно задаться численными значениями всех параметров, фигурирующих в задаче. 5. ПРЕДЕЛЬНОЕ ПОВЕДЕНИЕ СРЕДНИХ ЧИСЛЕННОСТЕЙ СОСТОЯНИЙ В предыдущих параграфах мы рассмотрели методику описания процесса, протекающего в сложной (многоэлементной) системе <$ с по- мощью уравнений динамики средних, в которых неизвестными функ- циями являются средние численности состояний: ть т2, ... , тп. Естественно, возникает вопрос: к каким предельным значениям стремятся (если стремятся) эти средние численности при оо? Су- ществует ли, и если существует, то каков установившийся режим? В случае, когда мы рассматривали уравнения для вероятностей состояний, вопрос о предельном режиме решался достаточно просто. Если из любого состояния система могла перейт