Text
                    РОССИЙСКАЯ ЭКОНОМИЧЕСКАЯ АКАДЕМИЯ им. ГО. ПЛЕХАНОВА
О.А. Косоруков
А.В. Мищенко
ИССЛЕДОВАНИЕ
ОПЕРАЦИЙ
Учебник для вузов
ЭКЗАМЕН


РОССИЙСКАЯ ЭКОНОМИЧЕСКАЯ АКАДЕМИЯ им. Г.В. ПЛЕХАНОВА О.А. Косоруков, А.В. Мищенко ИССЛЕДОВАНИЕ О ОПЕРАЦИИ Под общей редакцией доктора экономических паук, профессора Н.П. Тихомирова Рекомендовано УМО по образованию в области математических методов в экономике в качестве учебника для студентов вузов, обучающихся по специальности 061800 «Математические методы в экономике» и другим экономическим специальностям Издательство «ЭКЗАМЕН» МОСКВА 2003
УДК 519.8 ББК 22.18 К71 Подготовлено при содействии Национального Фонда Под- Подготовки Кадров. Косоруков О.А,, Мищенко А.В. К71 Исследование операций: Учебник / Косоруков О.А., Мищенко А.В. // Под общ. ред. д.э.н., проф. Н.П. Тихомирова. — М: Издательство «Экзамен», 2003. — 448 с. ISBN 5-94692-363-3 В учебнике основное внимание уделено вопросам математического мо- моделирования экономических процессов средствами исследования операций. Авторы приводят математический аппарат исследования операций, пока- показывают сферы приложений методов исследования операций на наглядных примерах. Для студентов, обучающихся по экономическим специальностям, а также специалистов, занимающихся задачами организационного управления. УДК 519.8 ББК 22.18 ISBN 5-94692-363-3 © Косоруков О.А., Мищенко А.В., 2003 © Российская Экономическая Академия, 2003 © Издательство «ЭКЗАМЕН», 2003
ОГЛАВЛЕНИЕ Введение 7 Глава 1. Модели линейного программирования 12 7.7. Линейное программирование как инструмент математического моделирования экономики 12 1.2. Примеры моделей линейного программирования 13 13. Формы задач линейного программирования 19 1.4. Анализ классическими методами задачи линейного программирования 22 Глава 2. Системы линейных уравнений и неравенств, выпуклые множества 25 2.1. Система т-линейных уравнений с п переменными 25 2.2. Геометрический смысл задачи линейного программирования 28 2.3. Выпуклые множества 30 Глава 3. Симплексный метод 50 3.1. Метод исключения жордана-гаусса 50 3.2. Геометрическая интерпретация симплексного метода 55 3.3. Вычислительная схема симплексного метода 55 3.4. Вырожденные задачи линейного программирования 69 3.5. Нахождение начального допустимого базисного решения 71 3.6. Неединственность оптимального решения 80 3.7. Неограниченность целевой функции 82 Глава 4. Двойственные задачи линейного программирования 84 4.1. Двойственная задача для стандартной и канонической задачи линейного программирования 84 4.2. Основные теоремы двойственности 89 4.3. Экономическая интерпретация объективно обусловленных оценок 102 Глава 5. Теория игр 110 5.7. Основные понятия теории игр 110 5.2. Игры двух лиц с нулевой суммой 777 5.2.1. Основные предложения для игр двух лиц с нулевой суммой 111 5.2.2. Верхнее и нижнее значение игры, условие седловой точки 112 5.2.3. Смешанные стратегии 116 5.2.4. Аналитическое решение игры 2x2 120 5.2.5. Диагональные игры 122 5.2.6. Доминирование стратегий 122 5.2.7. Графическое решение игр вида Bхл) и (тх2) 125 5.2.8. Решение игр вида (тхп) с помощью линейного программирования 129 3
5.2.9. Определение бесконечной антагонистической игры 130 5.2.10. Игры с выпуклыми функциями выигрыша 136 5.3. Игры двух лиц с ненулевой суммой: понятие о кооперативных играх 142 5.3.1. Игры двух лиц с постоянной суммой 142 5.3.2. Критерии выбора оптимальных стратегий для игр с нулевой суммой 142 5.3.3. Введение в теорию игр п лиц 147 5.3.4. Ядро игры п лиц 149 5.4. Выбор оптимальной стратегии в условиях неопределенности {игры с природой) 152 5.4.1. Специфика ситуации полной неопределенности 152 5.4.2.Критерии выбора оптимальной стратегии 153 5.5. Выбор стратегии при наличии вероятностной информации 157 5.6. Многошаговые игры 158 5.6.1. Оценка стратегий 158 5.6.2. Дерево решений 161 5.7. Дифференциальные игры преследования 167 5.7.1. Фазовые координаты и управления 167 5.7.2. Игры с движущимся объектом 167 5.7.3. Игры преследования 169 Глава 6. Целочисленное линейноепрограммирование 174 6.1. Примеры задач целочисленного программирования 176 6.1.1. Задача с постоянными элементами затрат 177 6.1.2. Задача планирования производственной линии 178 6.1.3. Задача о рюкзаке 179 6.1.4. Задача оптимального выбора на множестве взаимозависимых альтернатив 180 6.2. Методы решения задач целочисленного программирования 181 6.2.1. Метод отсекающих плоскостей 182 6.2.2. Метод ветвей и границ 189 Глава 7. Динамическое программирование 199 7.1. Основная рекуррентная формула метода динамического программирования 203 7.2. Задача оптимального распределения ресурсов 208 7.3. Метод динамического программирования в недетерминированном случае 213 Глава 8. Сетевые модели 216 8.1. Основные понятия теории сетей и графов 216 8.2. Задача о кратчайшем пути 217 8.2.1. Алгоритм Дейкстры 219 8.2.2. Сведение задачи о крайнем пути к транспортной задаче 221 8.3. Задача о максимальном потоке 222 8.3.1. Метод Форда и Фалкерсона для решения задачи о максимальном потоке 224 8.4. Задача о минимальном остове 228 4
8.5. Задачи распределения ресурсов на сетевых графиках 231 8.5.1. Основы сетевого планирования 232 8.5.2. Оптимальное распределение ресурсов на сетевых графиках в детерминированном случае 234 8.5.3. Оптимальное распределение ресурсов на сетевых графиках при наличии неопределенных факторов 236 8.6. Задачи распределения ресурсов на транспортных сетях 237 8.6.1. Задача распределения ресурсов на транспортных сетях в детерминированном случае 238 8.6.2. Задача распределения ресурсов на транспортных сетях при наличии неопределенных факторов 239 Глава 9. Нелинейное программирование 241 9.1. Основные понятия 241 9.2. Выпуклые и вогнутые функции 242 9.3. Градиентный метод 246 9.4. Графический метод решения задач нелинейного программирования для функций двух переменных 248 9.5. Метод множителей лагранжа 250 9.6. Условия куна— таккера 254 Глава 10. Основы теории массового обслуживания 258 10.1 Классификация систем массового обслуживания 259 10.2. Входящий поток требований 262 10.3. Предельные вероятности состояний 267 10.4. Процесс размножения и гибели 271 10.5. Системы с отказами 273 10.6. Системы массового обслуживания с ожиданием 278 10.7. Основы статистического моделирования 291 10.8. Практическое применение теории массового обслуживания 292 Глава 11. Модели управления фирмой 295 11.1. Модель оптимизации объемов закупок торгово-коммерческой фирмы 295 11.2. Задача оптимизации времени выполнения проекта 301 11.2.1. Постановка задачи и метод решения 301 11.2.2. Устойчивость решений в задаче формирования оптимального портфеля оптовых закупок 308 11.3. Модели управления кредитными ресурсами предприятия 325 11.3.1. Постановка задачи и метод решения 325 11.3.2. Анализ устойчивости решений в задаче оптимизации времени реализации проекта 330 11.4. Динамическая модель оптимизации производственной программы предприятия 348 11.5. Нелинейная транспортная задача внутригородских пассажирских перевозок 355 11.6. Задача оптимизации инвестиционного портфеля 362 Глава 12. Основы теории сложности алгоритмов 375 12.1. Задачи, алгоритмы, сложность 377 5
12.2. Полиномиальные алгоритмы и труднорешаемые задачи 379 12.3. Труднорешаемые задачи 384 12.4. Задачи распознавания и кодирования 386 12.5. Детерминированная машина Тьюринга и класс Р 389 12.6. Недетерминированное вычисление и класс NP 393 12.7. Взаимоотношения между классами NP и Р 398 12.8. Полиномиальная сводимость и NP-полные задачи 399 Глава 13. Генетические алгоритмы 409 13.1. Естественный отбор в природе 409 13.2. Что такое генетический алгоритм 410 13.3. Особенности генетических алгоритмов 413 Глава 14. Нейросетевые технологии 415 14.1. Что такое нейросеть 415 14.2. Как работает нейросеть 416 14.3. Обучение нейросети 417 14.4. Основные направления применения нейросетей 419 14.4.1. Классификация 419 14.4.2. Кластеризация и поиск зависимостей... 420 14.4.3. Прогнозирование 421 14.5. Список практических приложений 422 14.5.1. Обслуживание кредитных карточек 422 14.5.2. Медицинская диагностика 422 14.5.3. Распознавание речи 422 14.5.4. Обнаружение фальсификаций 423 14.5.5. Анализ потребительского рынка 423 14.5.6. Прогнозирование объема продаж и управление закупками 424 14.5.7. Проектирование и оптимизация сетей связи 425 14.5.8. Прогнозирование изменений котировок 425 14.5.9. Управление ценами и производством 425 14.5.10. Исследование факторов спроса 426 14.5.11. Прогнозирование потребления энергии 426 14.5.12. Оценка недвижимости 427 14.5.13. Прогнозирование свойств полимеров 427 14.5.14. Анализ страховых исков 427 Примеры успешного применения методов исследования операций в социально-экономической сфере 429 Библиография 444
ВВЕДЕНИЕ Экономические реформы связанные со становлением рыночных от- отношений в России, предполагают совершенствование планирования раз- развития хозяйства. Для разработки направлений эффективного экономиче- экономического развития, необходимо владеть методами количественного моделирования экономических процессов. Это нужно и для определения различных вариантов экономического развития как на ближайшую пер- перспективу, так и при разработке стратегических планов, когда учитывают- учитываются крупные и долгосрочные мероприятия в сфере национальной эконо- экономики: создание региональных программ развития, обеспечение скоординированных планов исследований и разработок, распределение ресурсов для выполнения отдельных комплексов работ при программно- целевом планировании, осуществление рационального функционирова- функционирования предприятия в условиях рыночной внешней среды. Математическим инструментарием для исследования перечисленных организационных задач во многих случаях может служить достаточно эффективно разви- развивающееся в последнее время направление прикладной математики, полу- получившее название «иссле-дование операций». В предлагаемом учебном пособии основное внимание уделено вопро- вопросам математического моделирования экономических процессов средст- средствами исследования операций. К этим методам в первую очередь относят- относятся те, которые используют аппарат математического программирования, теории расписаний, теории управления запасами, теории игр, теории массового обслуживания и др. В последнее время сюда же с полным ос- основанием можно отнести такие задачи, как управление портфелем цен- ценных бумаг, управление финансовыми ресурсами, в том числе кредитны- кредитными, управление инвестициями и др. Это направление в отечественной науке возникло сравнительно недавно и связано оно с проведением ры- рыночных реформ в стране. Отличительной его особенностью, в частности, является широкое использование методов стохастического моделирова- моделирования, что связано с природой финансовых и фондовых рынков, а также нелинейностью и недетерминированностью развития банковской систе- системы страны. Последнее обстоятельство послужило поводом для широкого 7
использования при анализе финансового и банковского секторов эконо- экономики инструментария исследования операций. Цель, которую преследу- преследуют в процессе исследования операций, заключается в том, чтобы найти наилучшее решение при анализе той или иной задачи организационного управления в условиях, когда имеют место ограничения экономического, финансового, ресурсного или временного характера. При этом использо- использование термина исследования операций почти всегда предполагает при- применение математических методов при моделировании экономических и другого рода систем и анализа их характеристик. Математические моде- модели и методы действительно занимают в исследовании операций домини- доминирующее положение, хотя существует много примеров, когда решение за- задач организованного управления не сводится только к анализу математических моделей. Исследование операций как средство решения задач организационного управления можно рассматривать и как науку, и как искусство. Правомер- Правомерность утверждения о научности подхода к формированию управляющих решений вытекает из того обстоятельства, что при решении возникающих проблем эффективно используются математические модели и методы. Ис- Исследование операций можно рассматривать и как искусство, поскольку ус- успешное выполнение всех этапов исследования — от его начала до реали- реализации решения, полученного с помощью разработанной математической модели, — во многом определяется творческими способностями и интуи- интуицией исследователей. Поэтому при сборе информации, необходимой для построения математической модели, верификации модели и использова- использовании получаемых с помощью модели результатов успех несомненно зави- зависит от способности исследователей устанавливать рабочие контакты как с источниками необходимой информации, так и с лицами, ответственными за реализацию принимаемых решений. Следует подчеркнуть, что исследовательская группа, формируемая для решения той или иной задачи организационного управления, должна уметь использовать формальный математический аппарат и обладать способностью к чисто эвристическому анализу реальных ситуаций. При формализации задачи организационного управления прежде все- всего необходимо: V определить цель или цели, которые должны быть реализованы в про- процессе решения задачи; V выяснить, значениями каких входных переменных исследуемой сис- системы можно варьировать. 8
Под целью будем понимать тот результат, который необходимо полу- получить путем выбора и реализации тех или иных управляющих воздейст- воздействий. В сфере действия хозяйственного субъекта, занимающегося произ- производством товаров или услуг, цель чаще всего заключается в том, чтобы либо максимизировать прибыль (валовую, балансовую, чистую и т.д.), либо минимизировать суммарные издержки. Важным и тонким моментом при принятии управляющих решений яв- является идентификация неуправляемых переменных, т.е. переменных, из- изменение значений которых не зависит от решений субъекта управления. Так, например, в процессе подготовки решения относительно объемов и структурных характеристик сбыта готовой продукции соответствующая фирма должна иметь в виду, что рыночные цены могут из-за наличия кон- конкурентов колебаться. Ясно, что игнорирование в реальных ситуациях не- неуправляемых переменных может привести к построению неадекватной модели и, следовательно, к принятию ошибочных решений. В исследовании операций главная роль отводится математическому моделированию. Для построения математической модели необходимо иметь строгое представление о цели функционирования исследуемой системы и располагать информацией об ограничениях, которые опреде- определяют область допустимых значений управляемых переменных. Как цель, так и ограничения должны быть представлены в виде функций от управ- управляемых переменных. Анализ модели должен привести к определению наилучшего управляющего воздействия на объект управления при вы- выполнении всех установленных ограничений. Сложность реальных систем может сильно затруднить представление цели и ограничений в аналитическом виде. Поэтому очень важно умень- уменьшить «размерность» решаемой задачи таким образом, чтобы обеспечить возможность построения подходящей модели. Несмотря на слишком большое число переменных и ограничений, которые на первый взгляд необходимо учитывать при анализе реальных ситуаций, лишь небольшая их часть оказывается существенной для описания поведения исследуе- исследуемых систем. Поэтому при упрощенном описании реальных систем, на основе которого будет строиться та или иная модель, прежде всего сле- следует идентифицировать доминирующие переменные, параметры и огра- ограничения и выбрать адекватный уровень абстракции при моделировании реального объекта. Авторы больше внимания уделяют научным аспектам исследования операций. Названия глав соответствуют известной классификации мате- математических моделей исследования операций (линейное программирова- 9
ние, целочисленное программирование, нелинейное программирование, задачи управления запасами и т.д.). Последняя глава посвящена моделям управления фирмой в период про- проведения рыночных преобразований. В частности, исследуя реальный сектор экономики, нельзя не отметить, что в переходный период основным крите- критерием функционирования предприятия является прибыль, так как именно этот показатель в отличие от дореформенного периода является основой как для выживания предприятия, так и для его дальнейшего развития. Критерий максимальной прибыли в условиях ограниченных производственных, мате- материально-сырьевых, финансовых и инвестиционных ресурсов позволяет аде- адекватно использовать аппарат математического программирования для по- построения и анализа оптимальных производственных систем. Рыночные реформы внесли свои коррективы и в развитие транспорт- транспортного комплекса. Оценкой качества работы транспорта стали теперь не только показатели объемов перевозок, но и такие, как загруженность транспортных средств, цена на перевозки, время ожидания транспортно- транспортного обслуживания. Появление таких критериев приводит к необходимости использования как традиционных линейных транспортных моделей, так и нелинейных моделей, которые более сложные, но зато позволяют учи- учитывать перечисленные показатели функционирования транспортной сис- системы в условиях рыночной экономики. Рассматривая количественные методы анализа управления портфелем ценных бумаг, управление инвестиционными и кредитными ресурсами не- необходимо отметить все более широкое внедрение моделей и методов иссле- исследования операций в финансовом секторе экономики. При анализе эффек- эффективности капиталовложений в производство используются, как правило, модели оптимального управления и дискретные модели оптимизации на графах, а также линейного и нелинейного программирования в условиях не- неопределенности задания некоторых исходных параметров задачи, таких, в частности, как цены на материально-сырьевые ресурсы, цены на выпускае- выпускаемую продукцию, а также объемы спроса на товары. В настоящее время су- существует достаточно широкий спектр методов анализа этой ситуации. Это в первую очередь многовариантные расчеты и анализ чувствительности мо- моделей к изменению перечисленных параметров. Если задана функция слу- случайных параметров, то исследуется математическое ожидание, дисперсия, коэффициенты корреляции случайных величин и т.д. В предлагаемом учебном пособии для целочисленных оптимизацион- оптимизационных задач, имеющих, как правило, ограниченное число допустимых ре- решений, приводятся методы описания «областей устойчивости» задачи по 10
решению или функционалу при изменении параметров задачи в сущест- существующей области. Курс по исследованию операций должен дать студентам достаточное представление о математическом аппарате исследования операций, а также показать сферы приложений методов исследования операций на наглядных примерах. Освоение этого материала придает студенту уве- уверенность, которой обычно недостает, если он с самого начала направляет свои усилия на изучение философских аспектов и искусства принятия решений. После приобретения глубоких знаний по математическим ос- основам исследования операций студент может повышать уровень своей подготовки в данной области, изучая соответствующие публикации и за- занимаясь практическим исследованием реальных проблем.
Глава 1 МОДЕЛИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 1.1. Линейное программирование как инструмент математического моделирования экономики Исследование свойств общей системы линейных неравенств ведется с XIX в., а первая оптимизационная задача с линейной целевой функцией и линейными ограничениями была сформулирована в ЗО-е годы XX в. Од- Одним из первых зарубежных ученых, заложивших основы линейного про- программирования, является Джон фон Нейман, широко известный матема- математик и физик, доказавший основную теорему о матричных играх. Среди отечественных ученых большой вклад в теорию линейной оптимизации внесли лауреат Нобелевской премии Л.В. Канторович, Н.Н Моисеев, Е.Г. Гольштейн, Д.Б. Юдин и многие другие. Линейное программирование традиционно считается одним из разде- разделов исследования операций, который изучает методы нахождения услов- условного экстремума функций многих переменных. В классическом математическом анализе исследуется общая по- постановка задачи определения условного экстремума, однако в связи с развитием промышленного производства, транспорта, агропромыш- агропромышленного комплекса, банковского сектора традиционных результатов математического анализа оказалось недостаточно. Потребности прак- практики и развитие вычислительной техники привели к необходимости определения оптимальных решений при анализе сложных экономиче- экономических систем. Главным инструментом для решения таких задач являет- является математическое моделирование, т.е. формализованное описание изучаемого процесса и исследование его с помощью математического аппарата. Искусство математического моделирования состоит в том, чтобы учесть как можно более широкий спектр факторов, влияющих на поведе- поведение объекта, используя при этом по возможности несложные соотноше- соотношения. Именно в связи с этим процесс моделирования часто носит много- многоэтапный характер. Сначала строится относительно простая модель, затем 12
проводится ее исследование, позволяющее понять, какие из интегри- интегрирующих свойств объекта не улавливаются данной формальной схемой, после чего за счет усложнения модели обеспечивается большая ее адек- адекватность реальности. При этом во многих случаях первым приближени- приближением к действительности является модель, в которой все зависимости меж- между переменными, характеризующими состояние объекта, являются линейными. Практика показывает, что значительное количество эконо- экономических процессов достаточно полно описывается линейными моделя- моделями, а следовательно, линейное программирование как аппарат, позво- позволяющий отыскивать условный экстремум на множестве, заданном линейными уравнениями и неравенствами, играет важную роль при ана- анализе этих процессов. 1.2. Примеры моделей линейного программирования Ниже будут рассмотрены несколько ситуаций, исследование которых воз- В экономико-математических моделях линейного программиро- программирования часто в качестве оценки ка- качества решения используются та- такие показатели, как: прибыль, затраты, объем производства. можно с применением средств линей- линейного программирования. Так как ос- основным показателем в этих ситуациях является экономический— стоимость, то соответствующие модели являются экономико-математическими. Задача о раскрое материалов. На обработку поступает материал од- одного образца в количестве d единиц. Требуется изготовить из него к раз- разных комплектующих изделий в количествах, пропорциональных числам #1,..., ак. Каждая единица материала может быть раскроена п различны- различными способами, при этом использование /-го способа G = 1,..., и) дает by единиц/0 изделия (/ = 1,...Д). Требуется найти план раскроя, обеспечивающий максимальное число комплектов. Экономико-математическая модель этой задачи может быть сформу- сформулирована следующим образом. Обозначим xt— число единиц материа- материалов, раскраиваемых z-м способом, их — число изготавливаемых ком- комплектов изделий. Учитывая, что общее количество материала равно сумме его единиц, раскраиваемых различными способами, получим: ±x,=d. A.1) 13
Условие комплектности выразится уравнениями: A.2) Очевидно, что Xi>0 (/=!,...,«). A.3) Целью является определить такое решение Х= (х\, ...,*„)> удовлетво- удовлетворяющее ограничениям A.1)-A.3), при котором функция F = x принимает максимальное значение. Проиллюстрируем рассмотренную задачу следующим примером Для изготовления брусьев длиной 1,5 м, 3 м и 5 м в соотношении 2:1:3 на распил поступают 200 бревен длиной 6 м. Определить план рас- распила, обеспечивающий максимальное число комплектов. Чтобы сформу- сформулировать соответствующую оптимизационную задачу линейного про- программирования, определим все возможные способы распила бревен, указав соответствующее число получаемых при этом брусьев (табл. 1.1). Таблица 1.1 Способ распила i 1 2 3 4 Число получаемых брусьев различной длины 1,5 4 2 — — 3,0 — 1 2 — 5,0 — — 1 Обозначим через xt— число бревен, распиленных t* способом (/ = 1.2, 3, 4); х —число комплектов брусьев. С учетом того, что все бревна должны быть распилены, а число брусьев каждого размера должно удовлетворять условию комплектности, оптими- оптимизационная экономико-математическая модель примет следующий вид х -> max при ограничениях: 4 = 200 = 2х 0 (/-1,2, 3,4). 14
Задача выбора оптимальной производственной программы предприятия. Пусть предприятие может выпускать п различных ви- видов продукции. Для выпуска этих видов продукции предприятие ис- использует М видов материально-сырьевых ресурсов и N видов обору- оборудования. Необходимо определить объемы производства предприятия (т.е. его производственную программу) на заданном интервале плани- планирования [О, Т], чтобы максимизировать валовую прибыль предпри- предприятия. Далее будем полагать, что валовая прибыль есть выручка, полученная от реализации продукции за вычетом условно-постоянных и переменных затрат. Иными словами, необходимо максимизировать целевую функцию вида: п п Е ад - Z btxt -Zp -> max, A.4) где щ — цена реализации продукции вида i; bt — переменные затраты на выпуск одной единицы продукции ви- вида/; Zp — условно постоянные затраты, которые будем предполагать не- независимыми от векторах = (xi,..., xn). При этом должны быть выполнены ограничения на объемы исполь- используемых материально-сырьевых ресурсов и время использования обору- оборудования на интервале [0,7]. Обозначим через Lj(j = l,...,Af) объем запасов материально- сырьевых ресурсов видаj, а через тк (к = 1,..., N) — время, в течение ко- которого может быть использовано оборудование вида к. Известно потреб- потребление материально-сырьевых ресурсов вида j на выпуск одной единицы продукции вида /, которое обозначим через 10 (/ = 1,..., n;j = 1,...,М). Известно также f# — время загрузки одной единицы оборудования вида к изготовления одной единицы продукции вида / (/ = 1,..., п; к = 1,..., АО. Через rrik обозначим количество единиц оборудования вида к (k=l,...,N). При введенных обозначениях ограничения на объем потребляе- потребляемых материально-сырьевых ресурсов могут быть заданы таким обра- образом: ixlblj<LJ(j=h...,M). A.5) ы 15
Ограничения на производственные мощности задаются следующими неравенствами <mkikk=\,...9N. A.6) /=i Кроме того, переменные XiZ0i=l,...,n. A.7) Таким образом, задача выбора производственной программы, макси- максимизирующей прибыль, заключается в выборе такого плана выпуска х = (х\9...,х„)9 который удовлетворял бы ограничениям A.5)-A.7) и мак- максимизировал бы функцию A.4). В некоторых случаях предприятие должно поставить заранее огово- оговоренные объемы продукции Vt другим хозяйствующим субъектам и тогда в рассматриваемой модели вместо ограничения A.7) может быть вклю- включено ограничение вида: xt> Vt /= 1, ...,л. Задача о диете. Рассмотрим задачу составления душевого рациона пи- питания минимальной стоимости, которое бы содержало определенные пи- питательные вещества в необходимых объемах. Будем предполагать, что имеется известный перечень продуктов из п наименований (хлеб, сахар, масло, молоко, мясо и т.д.), которые мы будем обозначать буквами F\,...,Fn. Кроме того, рассматриваются такие характеристики продуктов (питательные вещества), как белки, жиры, витамины, минеральные веще- вещества и другие. Обозначим эти компоненты буквами N\,...,Nm. Предполо- Предположим, что для каждого продукта Ft известно (/ = 1,...,и) количественное содержание в одной единице продукта указанных выше компонент. В этом случае можно составить таблицу, содержащую характеристику продуктов: F\F2%...Fj...Fn ai2... ay... aiN 16
Элементы этой таблицы образуют матрицу, имеющую т строк и п столбцов. Обозначим ее через Л и назовем матрицей питательности. Предположим, что мы составили рацион х = (хьХ2,...,х„) на некоторый период (например, месяц). Иными словами, мы планируем каждому че- человеку на месяц х, единиц (килограммов) продукта F\jc2 единиц продукта F2 и т.д. Нетрудно вычислить, какое количество витаминов, жиров, бел- белков и прочих питательных веществ получит человек за этот период. На- Например, компонента N\ присутствует в этом рационе в количестве <*\ 1*1 +012*2+ ...+Я1/Л1, поскольку согласно условию в jci единицах продукта F\ согласно мат- матрице питательности содержится а\\Х\ единиц компоненты N\\ к этому ко- количеству добавляется порция а\2Х2 вещества N\ из х2 единиц продукта F2 и т.д. Аналогично можно определить и количество всех остальных ве- веществ Nj в составляемом рационе (х\,..., х„). Допустим, что имеются определенные физиологические требования, касающиеся необходимого количества питательных веществ в Nj (/ = 1,..., АО в планируемый срок. Пусть эти требования заданы вектором в = (в\9...,вп), i-я компонента которого в, указывает минимально необхо- необходимое содержание компонента Nj в рационе. Это означает, что коэффици- коэффициенты Xi векторах должны удовлетворять следующей системе ограничений: + ^12*2+ ... +аХпхп>вх + а22*2 + ... + а2пхп >в2 "-9>> 0mi*i + 0m2*2 + ... + атпхп ^ вт. Кроме того, из содержательного смысла задачи очевидно, что все пе- переменные хь...,х„ неотрицательны и поэтому к ограничениям A.9) до- добавляются еще неравенства Х!>0;х2>0, ...,*„> 0. A.10) Учитывая, что в большинстве случаев ограничениям A.9) и A.10) удовлетворяет бесконечно много рационов, выберем тот из них, стои- стоимость которого минимальна. Пусть цены на продукты F\,...,Fn равны соответственно с\9...,сПш Следовательно, стоимость всего рациона х = (хь..., х„) может быть запи- записана в виде +C2*2+ ... +?**„-> min. A.11) 17
Окончательно формулировка задачи о диете заключается в том, чтобы среди всех векторов х = (xi,...,хп\ удовлетворяющих ограничениям A.9) и A.10) выбрать такой, для которого целевая функция A.11) принимает минимальное значение. Транспортная задача. Имеется m пунктов Si,..., Sm производства однородного продукта (угля, цемента, нефти и т.п.), при этом объем производства в пункте St равен at единиц. Произведенный продукт потребляется в пунктах Q\9...9 Qn и потребность в нем в пункте Qj составляет в, единиц (/ = 1,..., п). Требуется составить план перево- перевозок из пунктов Si (/ = 1,..., т) в пункты Qj(J = 1,..., и), чтобы удов- удовлетворить потребности в продукте bj, минимизировав транспортные расходы. Пусть стоимость перевозок одной единицы продукта из пункта ?,- в пункт g, равна сут Будем далее предполагать, что при перевозке ху единиц продукта из Si в Q- транспортные расходы равны суХу, Назовем планом перевозок набор чисел ху ci = 1,..., т; j = 1,..., и, удовлетворяющий ограничениям: Xy>0, i = 1, 2, ..., т; j = I ..., п. Содержательный смысл уравнений A.12) состоит в том, что из пункта п Si при плане ху9 вывозится во все пункты Qj объем X xtJ , который дол- жен быть равен запасу aL В пункт Qj поступает из всех пунктов Si сум- п марное количество ^xtj продукта, которое в точности должно быть рав- /=i но потребности bj. При плане перевозок (ху) транспортные расходы составят величину п т I 1.СуХу. A.13) Окончательное формирование транспортной задачи таково: среди всех наборов чисел (ху), удовлетворяющих ограничениям A.12), найти набор, минимизирующий A.13). 18
1.3. Формы задач линейного программирования Мы рассмотрели примеры задач Все три формы задач линейного программирования: стандартная, ка- каноническая и общая эквивалентны в том смысле, что каждую из них мож- мирования в зависимости от наличия но простыми преобразованиями при- г вести к любой из двух остальных, ограничений разного типа линейного программирования, на ос- основании которых можно представить три формы задач линейного програм- Стандартная задача линейного программирования п max Y,cixn п ^ciyXj <bhi= 1, ...,m, 7=1 Xj>0J= 1, ...,и. Стандартная задача имеет важное значение ввиду того, что большое число прикладных моделей сводится к этому классу задач линейного программирования. Каноническая задача линейного программирования. п max 2>Л> Основные вычислительные методы (симплекс-метод и его модифика- модификации) решения задач линейного программирования разработаны именно для канонической задачи. Общая задача линейного программирования. Необходимо макси- максимизировать (или минимизировать) линейную функцию от п переменных *!,...,х„ вида п ? ctxt -> max (или min) A.14) при ограничениях tagXj ?Ь,/=1,2,...,к, A.15) 19
?я„х =bii = K+\, ...,w A.16) 7=1 Х!>0, ...,xr>0. A.17) Здесь к <т9 г <п. Понятно, что стандартная задача получается как ча- частный случай общей при к = т, г = п\ каноническая — при к = 0, г = п. Все три перечисленные формы задач эквивалентны в том смысле, что каждую из них можно простыми преобразованиями привести к любой из двух остальных. Поэтому если имеется способ решения одной из этих трех задач, то тем самым может быть решена и любая другая из двух ос- оставшихся. Покажем, например, как можно привести стандартную задачу к канонической форме. Для этого введем в рассмотрение новые перемен- переменные Zi,...,Zm, количество которых совпадает с числом ограничений в стандартной задаче и рассмотрим следующую каноническую задачу: max (сзд + с2х2+ ... + с„х„+ 0 • Zx +... + 0 • Zm) аих\ + апх2+ ... Z!>0,Z2>0, ...,Zm>0. Пусть (x*i,..., х*П9 Z*i,..., Z*w,) решение сформулированной канони- канонической задачи. Тогда решением исходной стандартной задачи является вектор (х*ьх*2 х*и). Докажем это, показав вначале, что вектор (x*i, jc*2,..., х*„) является допустимым. Это вытекает из того, что его координаты неотрицатель- неотрицательны, как следует из канонической задачи, и так как Z*b..., Z*m неотри- неотрицательны, то из равенств 0ii*i + 0д*2 + • • • + 0w*n + Zp = bt (i = 1,2,..., m) следует 0/i*i* + 0/2*2* + ... + 0/»х«* < bi (i = 1,2, ..., m). Предположим, что х* = (x\*,..., xn*) не является оптимальным реше- решением. В этом случае существует значение jc = (хь..., хД которое удовле- 20
творяет всем ограничениям стандартной задачи, на этом решение целе- целевой функции принимает большее решение, чем на решении х*, т.е. С\Х\ + С2Х2+ '•• + С^п> С\Х\* + С2Х2* + ... + С„Хп*. Покажем, что это невозможно, для чего построим решение, удовле- удовлетворяющее ограничениям канонической задачи и доставляющее большее значение целевой функции, чем на (х\*,...,х„*9 Z\*,..., Zm*\ что будет противоречить оптимальности последнего. Рассмотрим вектор (хь..., х„, Zb..., Zm), где Z, = bt- (anxY + ... + ainxn) (/= l,...,w). Так как х = (xi,...,xn) удовлетворяет ограничениям стандартной зада- задачи, то Zi >0 (/ = 1,..., т). Получаем, что вектор (хь..., х„, Zb..., Zm) удов- удовлетворяет всем ограничениям канонической задачи и при этом с\Х\ + с2х2 + ... + СпХп> с\Х\* + с2х2 * + ... + СпХп*9 что противоречит оп- оптимальности вектора (xi*,...,хт *, Z\*,..., Zw*). Полученное противоре- противоречие доказывает тот факт, что стандартная задача линейного программи- программирования может быть сведена к канонической. Для того чтобы свести каноническую задачу к стандартной, необхо- необходимо каждое ограничение вида: аахх + аах2 + ... записать двумя следующими неравенствами <*цх\ + аах2 + ... + ainxn < bt -айхх - аах2 - ... - ainxn < -bh Если на переменную х,- общей задачи не накладывается ограничение неотрицательности, то для того, чтобы общую задачу свести к стандарт- стандартной, необходимо ввести новые переменные их > 0 и v; > 0 и положить X/ = щ- V/. Тот случай, когда необходимо минимизировать линейную це- целевую функцию вида ciXi + с2х2 + ... + с^п легко свести к задаче макси- максимизации, для чего необходимо рассмотреть задачу нахождения макси- максимума функции Рассмотрим примеры задачи линейного программирования, приве- приведенные ранее. Задача о диете и задача выбора оптимальной производст- производственной программы являются стандартными задачами линейного про- программирования, а задача о раскрое материалов и транспортная задача — канонические задачи линейного программирования. 21
1.4. Анализ классическими методами задачи линейного программирования При анализе задачи линейного про- Основные вычислительные ия может проблемы решения задач ли- г г г нейного программирования со- состоят в определении границы множества допустимых реше- решений и вычислении значений це- целевой функции в точках грани- границы с тем, чтобы найти оптимальное решение. быть попытка применить для отыска- отыскания решения классические методы ма- математического анализа и линейной ал- алгебры. Как известно, при нахождении мак- максимума на отрезке [а, Ь] дифференци- дифференцируемой функции fix) одной перемен- переменной необходимо вначале вычислить первую производную f(x\ затем найти все решения jcb..., xK9 уравнения f(x)= О, далее вычислить все значения f(x\),...,f(xr,),fia),fib) и выбрать из них набольшее. Уже в этом простейшем случае могут возникнуть трудности, например, с раз- разрешимостью уравнения /*(*)= 0, или может оказаться, что число реше- решений этого уравнения очень велико и тогда возникает вопрос, каким об- образом наиболее эффективно организовать перебор. Если же речь идет о функции нескольких переменных, то положение еще более осложняет- осложняется. Пусть х = (*!,...,хг,) есть некоторая точка n-мерного пространства В", а!— замкнутое подмножество этого пространства и fix)— функ- функция п переменных, заданная на множестве X. Требуется найти макси- максимум дифференцируемой функции fix) на множестве X. Попытаемся использовать для решения этой задачи методы классического анализа. Рассмотрим множество точек х@) «-мерного пространства, координаты которого имеют вид: Геометрически множество таких точек представляет собой луч с на- налом в точке (х1°,...,х„°), на (s\,...9 sn). Будем считать, что чалом в точке (х1°,...,х„°), направление которого совпадает с вектором Зафиксировав направление s = (s\, S2v» sn) и увеличивая число 9, на- начиная с нуля, можно рассмотреть изменение функции f{x\(Q\ *2(9)> ....,х,(Э)). Локальное поведение функции fix) вдоль направления s будет определяться производной по 0 в точке 0=0. Учитывая, что при 22
9 = 0 значение х@)=х°, вычисляя производную функции fix), используя правило дифференцирования сложной функции: Л'(х1(в),дс2(в),...,хи(в)) = dxi дх2 дх„ Величина fe(x) Si +Si + _ + snz дх-[ дх2 дхп называется производной fix) в точке х° по направлению s = (s\,..., sn). Вектор i^-1—-,...,-^—-) называется градиентом функции fix) в точ- точит, дхп ке х° и обозначается grad fix0). Используя понятие скалярного произведе- произведения из линейной алгебры получим, что: где в правой части равенства записано скалярное произведение вектора s и вектора grad^x0). Далее один из основных фактов математического анализа состоит в том, что значение функции fix)=fix\,..., xn) в окрестности точки (xi°,..., xr°) растет быстрее всего, если в качестве направления выбрать градиент функции fix) в точке х°. Если в точке х° достигается локаль- локальный максимум функции fix), то в этой точке нет направления, вдоль которого функция возрастает. Поэтому необходимым условием мак- максимума функции Дх) во внутренней точке х° множества X является ра- равенство градиента gradf(x°) нулевому вектору. Обращаем внимание, что все предыдущие рассуждения корректны лишь для случая, когда х является внутренней точкой, т.е. когда из точки х° можно хотя бы немного сдвинуться по любому направлению, не выходя за пределы множества X. Окончательно по аналогии с функцией одной переменной получим: для нахождения максимума функции fix) на множестве X надо найти все решения х' = (х1\,...,х'„)A = \,...,к) системы уравнений =0 дх, 23
/= 1, ..., и, далее вычислить значения fixl)9...,fixk) и все значения Дх) на границе множества X, затем выбрать среди них максимальное. Из сказанного видно, как усложняется решение задачи для случая функции многих переменных: даже если удается получить все решения уравнения grad fix)= О и найти внутренние локальные максимумы функ- функции fix), надо еще вычислить и все максимумы на границе множествах Учитывая, что при п > 1 граница множества X (за исключением самых простых случаев) состоит из бесконечного числа точек, общего рецепта отыскания всех экстремальных значений функции fix) на границе нет. В частном случае, если все ограничения в задаче носят характер равенств, может быть использован метод множителей Лагранжа, но и здесь вычис- вычислительные проблемы остаются. Проанализируем стандартную задачу линейного программирования. Градиент целевой функции равен (сь..., с„), и если не все Cj равны нулю, то у функции fix) нет локальных максимумов на внутренних точках мно- множества X. Следовательно, основные вычислительные проблемы решения задач линейного программирования состоят в определении границы множества X, которая в явном виде нам не задана, и организации вычислений значе- значений целевой функции с\ х „, + ...+, спхп на границе множества Х9 чтобы найти оптимальное решение.
Глава 2 СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ И НЕРАВЕНСТВ, ВЫПУКЛЫЕ МНОЖЕСТВА 2.1. Система /л-линейных уравнений с п переменными Рассмотрим следующую систему т- линейных уравнений, содержащую п переменных, полагая т<п\ а2Ххх+а22х2+... B.1) Эта система может быть также запи- сана в виде: ^} = bt, / = l,..., Любые т переменных сис- системы т линейных уравнений с п неизвестными (т<п) назы- называются основными или ба- базисными, если определитель матрицы коэффициентов при них не равен нулю. Общее число комбинаций базисных переменных не превосходит числа Qtn _ п\ . п (п-т)\т\ Или в матричном виде: Ах = Ь. В задачах линейного программирования рассматриваются системы, в которых ранг г матрицы системы А = \аЛ, / = l,...,m, j = 1,...,н меньше числа переменных, т.е. г < п. Это означает, что наибольшее число незави- независимых переменных уравнений системы равно г. Далее будем полагать, что в системе B.1) число независимых уравнений равно т, т.е. г = т. Любые т переменных системы m-линейных уравнений с п неизвестны- неизвестными (т <п) назьюаются основными, или базисными, если определитель мат- матрицы коэффициентов при них не равен нулю. Тогда остальные п - т пере- переменных называются небазисными. Учитывая, что максимально возможное число сочетаний из п столбцов по т равно Ст = — , общее число и (п-т)\т\ комбинаций базисных переменных не превосходит числа С ™ . Рассмотрим следующий пример. Найти все возможные группы базис- базисных переменных в системе хх-х2 -Зх3+х4 =1 Ъхх + х2 + Зх3 - х4 = 2. 25
Общее число комбинаций базисных переменных не превосходит чис- лаС2=Ь2-3-4!=6 4 2!-D-2)! Возможные комбинации базисных переменных {хрх2}, {хрх3}, {хрх4}, {х2,х3}, {*2>Х4}> {хз'х4} • Выясним, например, являются ли ба- базисными переменные {хрх4}. Рассмотрим определитель из столбцов матрицы при переменных хрх4 1 1 3 -1 = -1-3=-4*0. Следовательно переменные х\,х^ являются базисными. Рассматривая определители для всех перечисленных комбинаций переменных, полу- получили, что базисными являются комбинации {хрх2}, {хрх3}, {хрх4}. Комбинации {х2,х3}, {х2,х4}, {л:3,х4} являются небазисными. Например, для {*2>*4} получили -1 1 1 -1 = 1-1=0. Для дальнейшего исследования системы B.1) докажем следующую теорему. Теорема 2.1. Если для системы w-линейных уравнений с п неизвест- неизвестными (т <п) ранг матрицы А = (а^, i = l,...,/w, у=1,...,л равен т, т.е. существует хотя бы одна группа базисных переменных, то эта система является неопределенной, причем каждому набору значений небазисных переменных соответствует одно решение системы. Доказательство. Пусть xp...,xw — основные переменные (если это не так, то нумерацию соответствующих переменных можно изменить), т.е. определитель матрицы ап ап ... аХп *т\ Оставим в левой части уравнений B.1) члены с переменными xb...,xm, а члены с переменными хт+р...,х„ перенесем в правую часть. 26
Получим ахххх + апх2 +... + аХпхп = bx- аХт+ххт+х -... - аХпхп ... + а2пхп =Ь2- а2т+ххт+х -... - а2пхп Задавая неосновным небазисным переменным xm+1,...,xw произволь- произвольные значения, каждый раз будем получать новую систему с новыми сво- бодными членами bx ,...,bm . Каждая из полученных систем будет иметь один и тот же определи- определитель \а\ * о. Следовательно, в силу теоремы Крамера, каждая из этих систем будет иметь единственное решение. Так как полученных таким образом систем бесконечно много, то система B.1) будет иметь бесконечное множество решений. Пример. Решить систему уравнений хх-х2- 2х3 + х4 = О 2хх+х2-2х3-х4=0. Базисными переменными здесь являются переменные {хрх2}, {х|,хз}, {^1,^4} • Выберем в качестве базисных переменных хх, х2, а переменные х3, х4 будем считать небазисными и перенесем их с соот- соответствующими коэффициентами в правые части системы. Получим: (хх-х2=2х3-х4 [2хх +х2 =2х3 +х4. Решая данную систему, найдем хх = 4/Зх3, х2=х4-2/Зх3. Задавая небазисными переменными произвольные значения, напри- например х3 = сх, х4 = с2, получим бесконечное множество решений этой сис- системы вида хх = 4/Зсх, х2=с2-2/Зсх, х3=сх, х4=с2. Решение X = (хх,...,хп) системы B.1) будем называть допустимым, если оно содержит лишь неотрицательные компоненты, т.е. ху > 0 для любых j = 1,...,и. В противном случае решение является недопустимым. Среди всего множества решений системы выделяют так называемые ба- базисные решения. 27
Базисным решением системы m-линейных уравнений с п переменными называются решения, в котором все п-т неосновных переменных равны 0. В задачах линейного программирования особый интерес представля- представляют допустимые базисные решения, или как их еще называют опорные планы. Число базисных переменных является конечным, так как оно рав- равно числу комбинаций основных переменных и не превосходит числа С ™ . Базисное решение, в котором хотя бы одна из основных перемен- переменных равна 0, называется вырожденным. Пример. Найти все базисные решения следующей системы: \хх -х2- 2х3 + х4 = 0 [2*! + х2 + 2х3 - х4 = 2. Также было установлено, что существует три группы основных пере- переменных {хрх2}, {хрх3}, {*i»*4}» т#е* число базисных решений равно трем. Приравняв не основные переменные к нулю, т.е. х3 = х4 = 0, полу- получим систему уравнений вида: хх-х2 = 0 2хх + х2=2, откуда ^=2/3, х2=2/3, следовательно, первое базисное решение Хх = {2/3,2/3,0,0} допустимое. Если взять за основные переменные хх, jc3 и приравнять к нулю соответствующие неосновные переменные х2 = х4 = 0, получим второе базисное решение Х2 = {2/3,0,2/3,0}. Аналогично можно найти и третье базисное решение Х3 = {2 / 3,0,0, -2 / 3}, которое в силу отрицательности последней компоненты не является допустимым. 2.2. Геометрический смысл задачи линейного программирования Рассмотрим следующую задачу линейного программирования: Зх,+5х2 <1; -хх + х2 < 2 <35 х2 28
Известно, что уравнение ах\ + Ь%2 = с определяет прямую на плоскости Х\ОХ2 (если а и Ъ не равны нулю одновременно). При этом вся плоскость делиться на две полуплоскости. Если две точки плоскости Ix, ,x2 1, Ixj ,x2 1 ле- лежат по разные стороны прямой, то величины ах{ + Ьх2 -с и В том случае, если в задаче ли- линейного программирования две пере- переменные X] и х2 и область допустимых решений ограничена, оптимальное решение может быть получено путем параллельного перемещения пара- параметрического семейства прямых cjX]+C2X2=d до пересечения с обла- областью допустимых решений задачи. При этом выражение CjXj+c2X2 яв- является целевой функцией, а параметр d принимает любые произвольные значения. ахх +Ьх2 -с принимают значения разных знаков, в противном случае указанные величины принимают значения одного знака. Рис. 2.1 Учитывая приведенные рассуждения, изобразим на координатной плос- плоскости множество точек, удовлетворяющих всем ограничениям примера. На рис. 2.1 заштриховано множество допустимых точек, т.е. точек плоскости, координаты которых удовлетворяют всем неравенствам рас- рассматриваемой задачи линейного программирования. Исследуем целевую функцию хх + х2. Рассмотрим прямую х\ + Х2 - 5 • График этой прямой изображен пунктирной прямой линией. Учитывая, что график не пересекает множество допустимых точек, нет допустимых точек, которые придавали бы целевой функции значение 5. Рассмотрим параметрическое семейство прямых xx+x2=L9 представ- представляющих собой множество параллельных прямых, каждая из которых соот- соответствует определенному значению параметра L. Тогда задачу линейного 29
программирования можно сформулировать следующим образом. Найти такое максимальное значение L9 при котором прямая х1 + х2 = L пересека- пересекает допустимое множество. Если двигать эту прямую параллельно самой себе в направлении начала координат, то первой точкой будет точка А с G0 45^ координатами —,— , которая находится на пересечении прямых 10*! + 7x2z = 35 и Зхх + 5х2 = 15. На этом примере можно увидеть основ- основные свойства задач линейного программирования: в нем допустимое мно- множество точек представляет собой выпуклый многоушльник, получивший- получившийся в результате пересечения полуплоскостей и наибольшее значение целевой функции достигается в его вершине — крайней точке. Решение задачи линейного программирования может быть не единст- единственным, а состоять из бесконечного числа точек. Рассмотрим следующий пример: max (8^ +9х2) 1хх + 4х2 < 28 8jc, + 9х2 < 36 Здесь решением служит любая точка отрезка между точками 18 12^1 Г108 28^1 _ —,— и ,— . Отметим, что сами эти точки — вершины допус- допустимого многоугольника — также являются решениями. Из рассматри- рассматриваемых примеров следует, что решение задачи линейного программиро- программирования состоит в следующем: необходимо построить многоугольник допустимых точек, найти его вершины и выбрать из них те, координаты которых придают максимальное значение целевой функции. 2.3. Выпуклые множества Пусть R" —«-мерное евклидово пространство и X некоторое множе- множество пространства R", т.е. X с R". Определение 2.1. Множество X назьюается выпуклым, если с любыми двумя точками х{, х2 (х19х2еХ ) оно содержит все точки вида х = ах,+A-а)л:2,где 30
Учитывая, что параметриче- параметрическое уравнение прямой, прохо- проходящей через точки jq , *2, имеет вид х(а) = х2 + (хх -х2)а , то пе- перегруппировав слагаемые в по- последнем соотношении, получим jc(a) = axj + A - а)х2 и, следо- следовательно, выпуклое множество X вместе с любыми двумя точ- точками х\,Х2^Х, содержит весь отрезок, соединяющий эти точки. На рисунке многоугольник ABFCDD является выпуклым, а многоугольник A'B'FC'D'L — выпуклым не является. Выпук- Выпуклыми могут быть не только многоугольники, но и круг, сектор, полу- полуплоскость, полупространство. Среди точек выпуклого множества можно выделить точки внутренние, граничные и угловые. Точка множест- множества называется внутренней, если суще- существует окрестность, в которой содер- содержатся только точки данного множества. Точка называется гранич- граничной, если в ее окрестности содержатся как точки, принадлежащие данному множеству, так точки и не принадле- принадлежащие ему. Точка множества называ- называется угловой (или крайней), если она не является внутренней ни для одного отрезка, целиком принадлежащего данному множеству. Если задача линейного программи- программирования имеет оптимальное решение, то целевая функция принимает оптималь- оптимальное значение в одной из угловых точек. Рис. 2.2 Рассмотрим свойства выпуклых множеств. Теорема 2.2. Пересечение выпуклых множеств выпукло. Доказательство. Пусть X = Хх п Х2, где Хх, Х2 выпуклые множе- множества. Рассмотрим две произвольные точки х, х' множества X. Так как X с= Хх, то x,jc' с Хх. В силу выпуклости множества Хх из этого выте- вытекает, что весь отрезок [^x'jcXj. Точно так же доказывается, что [х,хх]с Х2. Из этого следует, что [х,x']cl1nl2=l, Определение 2.2. Суммой двух множеств Х_х с R", Х2 с R" назовем множество ^ = |jc|x = jc1 +x2)x{ e Х_х,х2 еХЛ, состоящее из всех попар- попарных сумм элементов множеств Х_х и Х_2 . 31
Теорема 2.3. Сумма выпуклых множеств выпукла. Доказательство. Пусть x,jcgX, где X_ = X_i + К.г • Тогда в Х_х и Х_2 найдутся такие элементы, что х = хх + х2 и х = хх + х2 , где хххх с!,,а х2 х2с12. Пусть а произвольное число 0 < а < 1. Тогда ахх + A - ос)*! € J?i, ах2 + A - а)х2 е Х_2 . По определению сумма этих элементов принадлежит множеству Х_: ахх Теорема доказана. Основным свойством, характеризующим выпуклые множества явля- является так называемое свойство отделимости. Для пояснения этого свой- свойства рассмотрим на плоскости замкнутое выпуклое множество X и точку d, не принадлежащую этому множеству (рис. 2.3). Тогда найдется такая прямая ах\ + Ъх^ - с, что множество X и точка d = (dx,d2) лежат по разные стороны от этой прямой, т.е. для любой точки {хх,х2) е X выполняется неравенство ахх + Ъх2 < с, в то время как adx + bd2 > с . Сформулируем и докажем этот факт для выпуклого мно- множества в «-мерном пространстве. Для этого введем понятие — аналогич- аналогичное понятию прямой на плоскости. Xj Рис. 23 Определение 2.3. Гиперплоскостью в пространстве Rn называется мно- множество точек ^ = (x1,...,xw), координаты которых удовлетворяют уравне- уравнению вида рххх + р2х2 +... + рпхп = с, или в векторном виде (р,х) = с . 32
Вектор р = (/?р..;Р„) называется нормалью к этой гиперплоскости (предполагается, что р Ф О). Теорема 2,4. Пусть X — замкнутое выпуклое множество аеХ, а = (tfp...,дЛ), тогда существует гиперплоскость с нормалью р ф О такая, что (/?,#)> с и дая любого х g X выполняется неравенство (р,х) < с [14]. Доказательство. Рассмотрим функцию аргумента х = (х{9...,хп) на множестве X. <p(x) = (xl-al) + (х2-а2) +... + (xw-aJ . Для того чтобы воспользоваться теоремой Вейерштрасса о том, что функция, непрерывная на ограниченном и замкнутом множестве, дости- достигает на нем своей точной нижней грани, рассмотрим произвольную точ- точку xel и шар U с центром в точке а, квадрат радиуса которого равен ср(х) (рис. 2.4). Пересечение X' = UnX является замкнутым и ограниченным мно- множеством. Следовательно, функция q>(x) достигает на нем минимума в некоторой точке Ъ е X'. Учитывая, что Ъ является минимумом функции <р(х) на всем множе- множестве X , зафиксируем произвольную точку х е X и рассмотрим отрезок х(а) = ax + (l-a)b, 0 < а < 1 Так как X выпукло, то х(а) е X для всех 0<а<1 и поэтому ф(х(а))>(р(Ъ). Функция #>(x(a)) дифференци- дифференцируема по а как суперпозиция двух дифференцируемых функций <р(х) и (р(х(а))-(р(Ь) XI а), поэтому существует предел lim — а = <ра(х@))>0. хх Рис. 2.4 2 Исследование операций 33
Вычислим <ра (*(«)) по правилу дифференцирования сложной функции так как ^(а)=(ш;+A-а)^) =д;«^, а х, @ ) = 6/f получим и, следовательно, Х(^/""at)(xi ~Ь)>0. /=i Обозначим р^ =at -bi9 / = l,...,w, p = (a,...,a), c= X &(a-6.}. i=l Тогда полученное неравенство можно переписать следующим обра- п зом: Z Р/^/ ^ с . /=i Поскольку вектор /? = (#,.••»/О и число ^ не зависят от выбранного вектора х € X, то необходимо только убедиться, что р ф 0 и (р,д) > с. Первое следует из того, что р = а-Ь и 6еХ', #еХ и наконец (р,а) - с = ?(д; - *, )я/ - Z*/ (Д/ - *i) = 2(ai ~ */) > ° • Следовательно /=1 /=1 /=i (р,а)>с. Теорема доказана. Среди точек выпуклого множества можно выделить точки внут- внутренние, граничные и угловые. Точка множества называется внутрен- внутренней, если существует окрестность, в которой содержатся только точки данного множества. Точка множества называется граничной, если в любой ее окрестности содержатся как точки принадлежащие данному 34
множеству, так и точки не принадлежащие ему. Точка множества на- называется угловой (или крайней), если она не является внутренней ни для одного отрезка, целиком принадлежащего данному множеству. Для выпуклого множества угловые точки всегда совпадают с верши- вершинами многогранника. Множество точек называется замкнутым, если включает все свои гра- граничные точки. Множество точек называется ограниченным, если суще- существует шар радиуса конечной длины с центром в любой точке множест- множества, которой полностью содержит в себе данное множество. В противном случае множество называется неограниченным. Выпуклое замкнутое множество точек пространства В", имеющее ко- конечное число угловых точек, называется выпуклым многогранником, ес- если оно ограниченно, и выпуклой многогранной областью, если оно неог- неограниченное. Рассмотрим систему линейных неравенств вида B.J) Будем считать, что если есть ограничение видаxt> О, то они включе- включены в систему неравенств в форме — х, < 0. Обозначим символом я, вектор ai =(an,...,ain) — i° строку матрицы коэффициентов^ системы B.3). Тогда систему неравенств B.3) можно переписать в следующем ви- виде: (^x)^,^,*)^ &2,...^^ х = (х19х2,...9хп). Если обозначить через А матрицу Л = (а,у), / = l,...,/w, у=1,...,и система неравенств B.3) записывается в виде Ах<Ь, где b = (bvb2,...,bm). Обозначим через X множество допустимых векторов системы B.3), т.е. X = (х е R" \Лх < b\. Может оказаться, что множество допус- допустимых векторов X пусто. Например хх < 1, -х2 < -2. Поэтому в даль- дальнейшем будем считать, что множество X не является пустым множе- множеством. Скалярное произведение векторов сих далее будем обозначать М- 2. 35
Теорема 2.5. Множество X допустимых векторов выпукло и замк- замкнуто. Доказательство. Покажем, что полупространство Xi, определяемое одним неравенством (ai9x)<bt, выпукло. Выберем две точки х9х' eXt . Тогда (апх) < Ь,, (апх') < bt. Пусть а произвольное число 0 < а < 1. Тогда a (az-, х) < aty, A-а)(а19х')<A-а)Ьг Складывая эти неравенства получим (ai9ax + A - а)х'\ < bt. Отсюда вытекает выпуклость множества Xt. Так как множество X является пересечением полупространства Х{, т.е. х € X тогда и только тогда, когда х принадлежит всем Xi, / = 1,...,/я . Используя теорему 2.2 о том, что пересечение выпуклых мно- множеств выпукло получим, что множество X выпукло. Докажем, что X является замкнутым. Напомним, что множество яв- является замкнутым, если оно содержит предельную точку любой сходя- сходящейся последовательности, элементы которой принадлежат данному множеству. Пусть х(к)еХ— произвольная сходящаяся последова- последовательность, lim х(Аг) = х . ?->оо Перейдем к пределу неравенства Ах(к)<Ъ при &->оо. В силу не- непрерывности функций аахх + апх2 +... + ainxn < bt i = l,...,m получим Ax < b. Теорема доказана. Далее будет изучен специальный класс выпуклых множеств, отве- отвечающий геометрическому представлению о многогранниках. Определение 2.4. Пусть х\х2,...,хк — произвольные точки из R". Выпуклой линейной комбинацией этих точек называется сумма вида ахх1 ,а2х2,...,акхк, где at — произвольные неотрицательные числа, сум- п ма которых равна 1: ах > 0, / = l,...,fc, Х^/ = 1 • /=1 Согласно определению 2.1 множество X называется выпуклым, если оно содержит выпуклую линейную комбинацию любых двух своих то- точек. Теорема 2.6. Пусть X — выпуклое множество, jc1,*2,...,** произ- произвольной точки из X. Тогда множество X содержит любую выпуклую комбинацию этих точек. 36
Доказательство проводится по индукции по числу точек к. При к = 2 утверждение теоремы совпадает с определением выпуклого мно- множества. Пусть уже показано, что любая выпуклая комбинация к -1 то- точек множества X ему принадлежит. Рассмотрим к точек х\х2,...,хк~\хк и выпуклую линейную комби- к . _ нацию х = ?<2,х'. Если а^ = 1, то щ = О при \<i<k-\ и а = х еХ . i=i Аг—1 Пусть а к <1. Тогда 1-аА =?«,. >0, сгруппируем слагаемые в вы- выражении для х: x = (\-ak)Y<aixt + ***** • Числа \-ак / = !,...,?-1 — неотрицательны и их сумма равна 1: к-\ Следовательно, выражение х' = к-\ 1 - представляет собой выпук- лую линейную комбинацию точек х\х2,...,хк~\хк множества X. По предположению индукции х' е X, но тогда точка A - а^)х' + акхк явля- является выпуклой линейной комбинацией двух точек из X и, следователь- следовательно, хеХ. 4*2 Л1С. 2.5 Рис. 2.6 Определение 2.5. Пусть М — множество точек из Rn. Выпуклой оболочкой С(М) множества М называется множество всех выпуклых линейных комбинаций точек из М. 37
В качестве примеров рассмотрим множество Мх и М2: Мх состоит из трех различных точек (А, В9С) плоскости (рис. 2.5); М2 есть окруж- окружность (рис. 2.6). Нетрудно видеть, что выпуклой оболочкой множества Мх является треугольник ABC (вместе с внутренними точками). Действительно, пусть D — произвольная точка треугольника. Про- Проведем через D и С прямую и пусть Е — пересечение этой прямой и отрезка \АВ\, где точка Е является выпуклой комбинацией точек А и В: Е = аА + (\- а) В .Точка D принадлежит отрезку [ЕС] и поэтому представлена в виде D = J3E + A - /?)С 0 < /? < 1, отсюда D = j3(aA + (l-a)B + (l-/3)С . Правая часть этого выражения является выпуклой линейной комбинацией точек А, В и С, поскольку ар + A - а)Р + A - E) = 1. Следовательно, любая точка треугольника ABC принадлежит выпуклой оболочке множества М. Выпуклой оболочкой множества М2 является круг, границей кото- которого служит окружность М2. Действительно, всякая точка D внутри круга может быть представлена как выпуклая линейная комбинация точек А и В, лежащих на концах диаметра, проведенного через точ- точку D. Положим, что выпуклые оболочки множества Мх и М2 не содержат других точек, кроме указанных. Для этого докажем следующую теоре- теорему. Теорема 2.7. Выпуклая оболочка С(М) множества М совпадает с наименьшим выпуклым множеством, содержащим М. Доказательство следует из того факта, что с одной стороны выпуклая оболочка С(М) является выпуклым множеством, а с другой— если X выпуклое множество, содержащее А/, то оно содержит все выпуклые линейные комбинации точек из М, следовательно, C(M)czX. Ранее было дано неформальное определение крайней угловой точки. Проведем еще одно эквивалентное определение. Определение 2.6. Точка х выпуклого множества X называется край- 1 1 1 2 ней, если ее нельзя представить в виде: х = — х +— х , где я;1 *х2;х1 еХ9х2 еХ. 38
Отметим, что не всякое выпуклое множество имеет крайние точки. Так, замкнутая верхняя полуплоскость является выпуклым множеством, имеет граничные точки (все точки прямой, определяющей полуплос- полуплоскость), но не имеет крайних точек. Определение 2.7. Множество называется компактным, если оно огра- ограничено и замкнуто. Роль крайних точек выпуклого компактного множества определяет следующая теорема. Теорема 2.8. Любое компактное выпуклое множество в Rn является выпуклой оболочкой своих крайних точек. Утверждение теоремы означает, что любая точка х е X, где X — вы- выпуклый компакт, представлено в виде выпуклой комбинации конечного числа крайних точек из X. Покажем, что любая точка X выпуклого компакта X является выпуклой линейной комбинацией некоторых его граничных точек. Пусть S любой вектор S e R" (здесь Rn n -мерное евклидово про- пространство). Рассмотрим прямую 1{х) = х + AS, -оо < Я < оо, проходящую через точку х (при Я = 0 ). Так как X — ограниченное выпуклое множество, то прямая /(х) пе- пересекает его границу в двух точках х1 и х2 (может быть, совпадающих). Тогда точка хеХ принадлежит отрезку Г*1,*2] и, следовательно, явля- является выпуклой линейной комбинацией граничных точек х1 и х2 множе- множества^. Остается показать, что всякая граничная точка х° является выпук- выпуклой линейной комбинацией ограниченного числа крайних точек X. Для того чтобы это доказать, введем понятие размерности выпуклого множества. Из курса линейной алгебры известно, что линейным мно- многообразием QczR" называется множество вида Q = х° + L, где L — некоторое подпространство. При этом, если Q может быть представ- представлено так же как Q = х' + V, то V = L , т.е. линейному многообразию Q соответствует только одно подпространство L, сдвигом которого получается Q = х° + L. Размерностью линейного многообразия назы- называется размерность подпространства L. На рис. 2.7 линейное много- многообразие Q получено параллельным сдвигом подпространства L: про- произвольная точка xgQ представлена в виде х = х° + /, где leL. Точка 39
х° может быть выбрана различными способами. Размерность Q здесь равна 1. Q Рис. 2.7 Так как Rn также является линейным многообразием (размерности п) х° = О , то L - R" всякое выпуклое множествоIcif" принадлежит ли- линейному многообразию размерности п. Назовем размерностью выпуклого множества X е R" минимальное из размерности линейных многообразий, содержащих X . Так размерность от- отрезка \ЛВ\ (рис.2.5) равна 1, размерность выпуклого множества, состояще- состоящего из точки А, равна нулю, размерность треугольника ЛВС равна 2. Если размерность выпуклого множества X равна к, то можно считать, что X<^Ft и выбрать в Q=x°+l систему координат вида х° +/рх° +/2,...,х° +4, где /p..,Jk — система независимых векторов (ба- (базис) в L. Так, на рисунке 2.7 можно взять за начало координат в Q точку х°, а за базис вектор /, тогда Q превращается в R\. Отметим еще один факт, связанный с понятием размерности выпук- выпуклого множества. Пусть X имеет размерность к и 1сЛ*. Тогда пере- пересечение X с любой гиперплоскостью Р = [х\(р,х) = <i}, где РеД?, име- имеет размерность не более, чем к -1. Действительно, пусть Z=jx|(/?,jt) =0|. Тогда легко видеть, что размерность L=k-\. Это следует из того, что Pnlcx + L и поэтому по определению имеет размерность не бо- более, чем к-\ (х° еРг\Х]. 40
Доказательство теоремы 2.8. Доказательство проведем по индукции. Пусть к размерность множества X . Если к = 0, то X является точкой, и утверждение теоремы очевидно. Пусть для множества размерности меньше к утверждение доказано. Пусть а — произвольная граничная точка множества X (граничные точки существуют, поскольку X — компакт). Тогда по теореме о разде- разделяющей гиперплоскости существует такая гиперплоскость (р,х), что //?,*)<(/?, а) для любого х е X. Пересечение Ха множества X и этой гиперплоскости представляют собой непустое подмножество и выпуклое множество. Это следует из того, что гиперплоскость выпукла и содержит точку а е X. Множество Ха имеет размерность меньше к и, по пред- предположению индукции, является выпуклой линейной оболочкой своих крайних точек. При этом всякая крайняя точка с множества Ха является крайней точкой и множества X. Действительно, пусть это не так и c = axl+(l-a)x\ 0<а<1, х\х2 еХ . Так как с принадлежит гиперплоскости, то О = (р9с - а) = а(р9х1 - а) +A - а)(р9х2 - я) < 0, то (р,х1 - а) = 0 , *2-а) = 0,т.е. х1еТа9х2еТа. Учитывая, что с — крайняя точка в Ха , получили х1 = с, х2 = с. Таким образом, показано, что всякая граничная точка а множества X является выпуклой линейной комбинацией его крайних точек, что и до- доказывает теорему 2.8. Определение 2.8. Множество X называется выпуклым многогранни- многогранником, если оно является выпуклой оболочкой конечного числа точек, т.е. X является выпуклым многогранником, если оно содержит конечное число таких точек х\х2,...,хк, что любая точка хеХ представлена в к . к виде х = 2>,jc' , 0 < ах < 1, ]>>, = 1. /=1 /=1 Теорема 2.9. Выпуклый многогранник компактен. Доказательство. Пусть X — выпуклый многогранник, являющийся выпуклой оболочкой своих точек x\x29...9xk: x = c(xl,x2,...,**). Для доказательства компактности множества X достаточно показать, что из произвольной последовательности х[т)еХ, т = \929... можно выбрать подпоследовательность, сходящуюся к некоторому х еХ, 41
к . к . _ Так как х(т)еХ, /и = 1,2,..., то x(/w) = X^W; 0<аД/я)<1; ?а;(т) = 1. Каждая последовательность ягД/я) ограниченна, следовательно, из нее можно выбрать сходящуюся последовательность. Так как последова- последовательностей {аДю)} конечное число, то можно выбрать такую подпоследо- подпоследовательность номеров т19т2,..., что все последовательности a;(w;) = аг > 0, к к очевидно ?а, = 1. Тогда последовательность?а,(/я;)х', j = 1,2,..., сходит- /=i ся и при этом x = limYdaj(m )х' =] у->оо /=1 J ;=1 Теорема доказана. Из теоремы 2.8 и теоремы 2.9 вытекает, что выпуклый многогранник явля- является выпуклой оболочкой своих крайних точек. Если М = С(х1,х2,...,хк J — выпуклая оболочка своих точек S = (x\x2,...,x*), то ясно, что крайними точками в М могут быть лишь точки из S (возможно не все). Вернемся к системе линейных неравенств вида Ах<Ь, где (atjJ — матрица / = l,...,/w, у =1,...,и, х = (х*,...,х*), b = (bl,...,bm). Как и ранее будем обозначать через X — множество допустимых точек системы не- неравенств Ах<Ъ, т.е. х = |хе Rn\Ax<b\. Определение 2.9. Назовем точку хц е X внутренней, если для нее все неравенства вида Ах < Ъ выполняются строго, т.е. Ах < Ъ. Все точки не являющиеся внутренними, назовем граничными. Определение 2.10. Носителем граничной точки xq назовем множест- множество ограничений Ах<Ь, которым эта точка удовлетворяет в виде ра- равенств, т.е. это множество гиперплоскостей вида (tf/tx) = bt, которые со- содержат точку xq . Например, есть система линейных неравенств -хх + х2 < 2 Зхх + 5х2 <15 хх >0 ^<35 0. 42
Допустимая область для X этой системы изображена на рисунке 2.8. 3X^5X2=15 Рис. 2.8 Тогда носителем точки А является пара прямых Ъхх + 5х2 = 15; 1 Ох,+7*2 =35. Пусть сг = (/р...,/Л)я, \<ij<m, j = \,...,k номера тех векторов ai9 которые определяют носитель точки х$, а — множество остальных но- номеров / е {l,...,w}, не попавших в множество а . Обозначим через Аа матрицу, строками которой являются векторы щ , iea, через Ьа — вектор, составленный из координат вектора Ъ с номерами из множества а. Аналогично введем обозначения А-,Ь- . Тогда ограничения для точки jcq, являющейся граничной, примут вид: Аах0 = Ьа, А-х0 <Ы. Докажем следующую теорему. Теорема 2.10. Точка х$ еХ является крайней тогда и только тогда, когда ранг матрицы Аа равен п. Доказательство. Вспомним, что рангом матрицы называется макси- максимальное число ее линейно независимых строк (или столбцов) Далее, из курса линейной алгебры известно, что уравнение Аах - 0 имеет нулевое решение тогда и только тогда, когда ранг матрицы AG равен числу пере- переменных п. Покажем вначале, что если х0 — крайняя точка, то ранг матрицы Аа равен п . Допустим, это не так, тогда ранг меньше п и уравнение Аах - 0 име- имеет решение х * 0. Так как А-х0 , то можно подобрать такое малое 43
а * О ,что А-(х0 + ах) < Ь^ , Л- (х0 - ах) < Ъ^, при этом: Аа(х0 + ах) = Лстх0 +аАах = 4,х0 = 6а . Аналогично Аа(х0 -ах) = Ъа . Отсюда следует, что точки хо+ах, х0- ах принадлежит X. Это противоречит тому, что xq является крайней точкой, поскольку х0 = 1/2(х0 +ах) + \/2(х0 -ах). Обратно, пусть ранг матрицы А^ равен п. Допустим, х0 не является крайней точкой множества X. Тогда должны существовать две точки х', х" е X, х'*х", что х0 =1/2x4\/2х". В этом случае Ъа = Аах0 =\12Аах +\12Аах". Поскольку Аах <Ъа , Аах"<Ьа,то из по- последнего равенства вытекает Аах' = Ьо = Аах". Отсюда получим Аа(х -х") = 0, что противоречит предположению о ранге матрицы Аа, учитывая, что х - х" ф 0. Теорема доказана. Из этой теоремы получаем два важных следствия. Теорема 2.11. Если в множестве X - <х е Rn \Ах < Ъ \ имеются край- крайние точки, то их число конечно. Доказательство. Из теоремы 2.10 следует, что всякой крайней точке соответствует квадратная невырожденная матрица Аа, полностью оп- определяющая эту точку х0 = A~lba. Следовательно, число крайних точек в множестве X конечно, поскольку у матрицы А существует лишь ко- конечное число подматриц. Теорема 2.12. Если множество X = |х е R" \Ах < Ь| ограниченно, то оно является выпуклым многоугольником. Для доказательства достаточно применить определение 2.8. выпуклого многогранника и теорему 2.8 о том, что всякое ограниченное и замкнутое (компактное) множество является выпуклой оболочкой своих крайних точек. Определение 2.11. Множество X = {xeRn\Ax<b\ будем называть многогранной областью, если оно неограниченное. В общем случае множество X (если оно ограниченное или неограниченное) будем назы- называть многогранником решений задачи линейного программирования. Ответ на вопрос, в какой точке многогранника решений возможно решение задачи линейного программирования, дается в следующей фун- фундаментальной теореме. 44
Рассмотрим задачу линейного программирования: F - (с,х) -> max(min) при ограничениях Ах < Ъ , х > О. Теорема 2.13. Если задача линейного программирования имеет опти- оптимальное решение, то линейная функция принимает оптимальное значе- значение в одной из угловых точек многогранника решений. Если линейная функция принимает оптимальное значение более чем в одной угловой точке, то она принимает его в любой точке, являющейся выпуклой ли- линейной комбинацией этих точек [25]. Доказательство. Предположим, что многогранник решений являет- является ограниченным. Обозначим угловые точки через xl9...,xp, а опти- оптимальное решение через х * (далее доказательство приводится для ли- линейной задачи максимизации). Тогда целевая функция FyX 1>F(x) для всех точек многогранника решений. Если X — угловая точка, то первая часть теоремы доказана. Предположим, что X не является уг- угловой точкой. Тогда на основании теоремы 2.8 и 2.9 X можно представить как вы- выпуклую комбинацию угловых точек многогранника решений, т.е. X* =alxl+a2x2+... + apxp, ay >0, j = l,...9p9 ?а; =1. 7=1 Так как F(x) —линейная функция, получаем: JF(xJ). B.4) В последнем выражении среди значений F (х; ) / = 1,...,/? выберем максимальное. Пусть оно соответствует угловой точке xk(l<k<p). Обозначим его через М, т.е. F(xk) = M. Заменим в выражении B.4) ка- каждое значение этим максимальным значением М. X \<ахМ + а2М + ... + арМ = М^а; ~М . Так как пред- предположению X — оптимальное решение, поэтому FyX )>M, с дру- другой стороны F (х* )< М . Следовательно, F [х*) = М = F(xk), где х k — угловая точка, что и доказывает теорему. 45
Докажем вторую часть теоремы, предположив, что ^(х) принимает максимальное значение более, чем в одной угловой точке, например, в точках Xl9X29...9Xq , где \<q<p. В этом случае, следовательно, вы- выполняется F(xx) = F(x2) =... = F[xq ) = М. Пусть X — выпуклая линейная комбинация угловых точек, т.е.: X = alXl+a2X2+... + aqXq , aj>0, j = l,...9p, 5>у=1. В этом случае, учитывая линейность функции F(x), получим = ахМ + а2М +... + а М = M^at = М, т.е. линейная функция F принимает максимальное значение в произ- произвольной точке X, являющейся выпуклой линейной комбинацией угло- угловых точек xx,...,xq . Теорема доказана. Замечание 1. Теорема доказана для задачи линейного программиро- программирования на максимум. Утверждение теоремы сохраняет силу и при рас- рассмотрении задачи линейного программирования на минимум. Доказа- Доказательство теоремы в этом случае аналогично уже приведенному. Замечание 2. В теореме требование ограниченности многогранника является существенным, так как в случае неограниченной многогранной области не каждую точку области можно представить в виде выпуклой линейной комбинации угловых точек. Доказанная теорема носит принципиальный характер, так как она предлагает теоретическое обоснование алгоритма решения задач ли- линейного программирования. Согласно этой теоремы, вместо того чтобы исследовать бесконечное множество допустимых решений для нахождения среди них оптимального, необходимо исследовать лишь конечное число угловых точек многогранника решений. Метод ана- аналитического нахождения угловых точек предлагает следующая тео- теорема. Теорема 2.14. Каждому допустимому базисному решению задачи ли- линейного программирования соответствует угловая точка многогранника 46
решений и наоборот, каждой угловой точке многогранника решений со- соответствует допустимое базисное решение [2]. Пусть Х = (хр...,д:т,0,...,0) — допустимое базисное решение задачи линейного программирования вида тах(с,х), Ах < Ъ, х > О. В этом решении первые т компонент основные переменные, а ос- остальные п-т компонент — неосновные переменные, равные нулю в базисном решении (если это не так, то можно перенумеровать перемен- переменные); покажем, что X — угловая точка многогранника. Предположим обратное, т.е. X не является угловой точкой, и тогда точку X можно представить внутренней точкой отрезка, соединяющего две различные, не совпадающие с X точки. X ХХХ Тогда Сможет быть представлена как выпуклая линейная комбинация точек X1 и Х2, т.е. ~ ~Y2, B.5) где ах > О, а2 > 0 и ах + а2 = 1. Запишем векторное равенство B.5) в координатной форме. = alxlH+a2x2H. Поскольку х]> 0, x2j > 0 (j = 1,...,л), ах > 0, а2 > 0, но из последних п-т равенств следует, что х1т+1 =0, х2т+х =0, ..., х\ =0, х2п =0, т.е. в решениях Х\, Хг и X системы уравнений Ах - В значения п-т ком- компонент можно считать значениями не основных переменных. Значения не основных переменных определяют значения основных и, следова- следовательно х\ =хх =дср...,х^ =х2т =х2. Таким образом, все п компонент в 47
решениях X, , Х2 , X совпадают, и значит точки Хх и Х2 сливаются, что противоречит допущению. Следовательно, X — угловая точка мно- многогранника решений. Докажем обратное утверждение. Пусть X = (xvx2,..,xm,xm+V...,xn)— угловая точка многогранника решений и первое ее т координат поло- положительны. Покажем, что X — допустимое базисное решение. Рассмот- Рассмотрим задачу линейного программирования в виде F - (с,х) -> max . где х > О 4,N a. 21 а 22 \bmj Если векторы Р19...9Рт линейно независимы, то ранг г матрицы А9 составленной из компонент этих векторов, равен т, т.е. определитель |^|^0, следовательно, переменные х19х29..9хт — базисные, а решение X = (хх,х2,...,хт,0,...,0)— базисное допустимое, и теорема доказана. Предположим противное, т.е. векторы /;,...,Рт линейно зависимы, сле- следовательно, в равенстве ахРх +а2Р2 +... + awPm +... + а„Рп =0 B.6) хотя бы один из коэффициентов al9...9am9...9an отличен от нуля. Умножим почленно равенство B.6) на множитель /и > 0 , = 0. B.7) Подставив координаты угловой точки в ограничения задачи, получим Pv«_i_Pv _i_ _i_Pv D (^ СЛ FXXX + Г2Х2 +... + ГпХп - В. B.5) Равенство B.7) и B.8) почленно сложим и затем вычтем его из равен- равенства B.8). Получим = В B.9) = А B.10) 48
Сравнивая равенства B.9) и B.10) с равенством B.8), заключаем, что при любом ju системе ограничений B.8) удовлетворяет решение Хх = (хх + juax..jcm +juam,0,-0) Х2 = (хх -//ar..xw -//aw,0,...0). Учитывая, что х} >0 (у = 1,...,«) можно подобрать ju настолько ма- малым, что все компоненты решений Хх и Х2 будут неотрицательными. В результате Хх и Х2 будут допустимыми решениями задачи, при этом точка X = —(Х{ + Х2} будет лежать на отрезке, соединяющем точки Хх , Хх , и следовательно, X не является угловой. Следовательно, векторы Р19...,Рт линейно независимы, и теорема доказана. Используя утверждения теорем B.13) и B.14), можно сделать сле- следующий вывод: если задача линейного программирования имеет реше- решение, то оно совпадает с одним из допустимых базисных решений.
Глава 3 СИМПЛЕКСНЫЙ МЕТОД 3.1. Метод исключения Жордана-Гаусса Большинство из существующих численных методов решения задач линейного программирования используют идею приведения системы ли- линейных уравнений записываемой в матричном виде как Ах = Ъ , к более приемлемому виду с помощью преобразований Жордана-Гаусса. Суть этих преобразований состоит в следующем [47]. В первом уравнении системы отыскивается коэффициент ац , отлич- отличный от нуля. С помощью этого коэффициента обращаются в нуль коэф- коэффициенты при переменной xi2 в остальных уравнениях системы. Для этого первое уравнение умножается на число яц /ац и прибавляется к уравнению с номером г (г = 2,3, ..., т). Затем первое уравнение делится на число Оц . Это преобразование называется "элементарным преобразо- преобразованием, которое не меняет множества решений системы. Полученная эк- эквивалентная система обладает тем свойством, что переменная хп при- присутствует только в первом уравнении и притом с коэффициентом 1. Переменная хц называется базисной переменной. Аналогичная операция совершается поочередно; при этом каждый раз преобразуются все урав- уравнения и пополняется список базисных переменных. В результате приме- применения метода Жордана-Гаусса либо устанавливается, что система урав- уравнений несовместна (все коэффициенты очередного рассматриваемого уравнения нулевые, а свободный член отличен от нуля), либо выявляют- выявляются и отбрасываются все уравнения, у которых все коэффициенты и сво- свободный член равны нулю. 50
При этом итоговая система уравнений имеет вид *, + Z <*ijXj = ai09ie a jeco где а - {i{J2,—Jk} — список номеров базисных переменных, 6) = {il9i29...9ik}\(T— множество номеров небазисных перемен- переменных. Здесь к— ранг матрицы А. Полученную систему уравнений будем называть приведенной систе- системой, соответствующей множеству а номеров базисных переменных. В качестве базисных переменных xil9 xi2, ..., х# может служить лишь та- такой набор, для которого соответствующая система а'\ а'2, ..., а'к столбцов матрицы А линейно независима. Приведенная система уравнений удобнее первоначальной, поскольку дает явное описание множества всех решений. Давая небазисным пере- переменным х.ч) ? оз произвольные значения, вычисляем значение осталь- остальных (базисных) переменных по формулам: jeco таким образом, получаем любое решение системы. В частности, одно из решений задается вектором хо = iai09 если iест ' \ 0, если i е со. Пусть ранг матрицы Л равен т. Если обозначить через Аа =(al\al2,...,ajm) матрицу, составленную из столбцов матрицы А, со- соответствующих базисным переменным, то Ао квадратная невырожден- невырожденная матрица размера mxm. В этом случае преобразование Жорда- на-Гаусса состоит в умножении исходной матрицы на матрицу А'1, и приведенная система имеет вид: Докажем справедливость приведенного равенства. Для этого обозна- обозначим элементы тхп матрицы А'1 А через J3tj,, i = 1, ..., m;j ~ 1,2, ..., п. По 51
определению обратной матрицы имеем: при iea /^=0, если j ? а Д, = 1. Обозначим вектор А~ХЬ через /?° =(Ло>/?2о>-..,у#шО)- Тогда система уравнений A~lAx = A~lb имеет вид: jea) При умножении на невырожденную матрицу множество решений системы уравнений не меняется, отсюда нетрудно показать, что Pij =atjC для всех/,у. п Рассмотрим поведение целевой функции Xе/*/ задачи линейного /=1 программирования на множестве допустимых решений, заданных огра- ограничениями вида Ах = Ъ . Для этого введем дополнительную переменную xq и рассмотрим систему уравнений. Ах = Ь. Применяя метод Жордана-Гаусса, можно эту переменную включить в состав базисных переменных. Если о"={/1?/2,...,/т} — список базисных переменных для уравнения Ах = Ъ и уже найдена соответствующая при- приведенная система (считаем, что ранг матрицы А равен т), то для нахож- нахождения приведенной системы, соответствующей списку {0,/р/2,...,/„} нужно выразить переменную через небазисные п *0 = Е CjXj = Z С,Х, + I С,Х,. 7=1 iea ieco Подставляя в это выражение значения базисных переменных JC., / g а, получим: JJr /ест jeco iea Используя введенный выше вектор Хо, заметим, что 52
Далее, если ввести обозначение то приведенная система уравнений примет вид C.0) jeco Данное представление в дальнейшем будет использовано при описа- описании алгоритма симплекс-метода. 3.2. Геометрическая интерпретация симплексного метода В предыдущий главе было пока- показано, что если задача линейного про- программирования имеет решение, то оно соответствует хотя бы одной уг- угловой точке многогранника решений и совпадает по крайней мере с одним из допустимых базисных решений системы ограничений. Поэтому для решения задачи линейного програм- программирования необходимо перебрать конечное число базисных решений, выбрать среди них то, на котором целевая функция принимает экстре- экстремальное значение. Геометрически это соответствует перебору всех уг- угловых (крайних) точек многогран- многогранника. Если оптимальное решение существует, то такой перебор приве- приведет к нахождению оптимального решения. Такой прямой перебор свя- связан с очень большим числом вычислений. Как будет показано в гл. 12, рост объема вычислений происходит экспоненциально вместе с ростом размерности задачи. Число перебираемых допустимых базисных реше- решений можно сократить, если производить перебор не произвольно, а до- добиваясь того, чтобы каждое последующее решение было не хуже пре- 53 Геометрическая интерпрета- интерпретация симплексного метода состоит в том, что осуществляется после- последовательный переход от одной вершины многогранника допус- допустимых решений к другой, в кото- которой целевая функция принимает значение не худшее, чем в преды- предыдущей. Эта процедура продолжа- продолжается до тех пор, пока не будет найдено оптимальное решение. Для решения задач линейного программирования большой раз- размерности используется компью- компьютер и соответствующее про- программное обеспечение. Для задач небольшой размерности он может использоваться вручную.
дыдущего. Такой подход хотя и не исключает теоретической возмож- возможности перебора всех угловых точек, на практике позволяет существен- существенно сократить число шагов при отыскании оптимума. Поясним это на графическом примере. Пусть область допустимых решений изображается многоугольни- многоугольником. F=o Fmax Симплексный метод состоит из трех основных элементов: 1) Определение первона- первоначального базисного решения 2) Правила перехода к сле- следующему лучшему решению 3) Проверка оптимальности решения. Рис. 3.1 Необходимо решить задачу максимизации линейной целевой функции F на множестве, заданном многогранником ABCDEFGH. Пусть угловая точка В соответствует исходному допустимому базисному рушению. При произвольном переборе всех вершин мы могли бы исследовать все семь вершин многогранника В то же время видно, что после точки В выгод- выгоднее перейти к точке С, а затем к точке D, которая и будет оптимальной, т.е. вместо семи точек перебрали только три. Идея последовательного улучшения решения легла в основу наиболее часто применяемого метода решения за- задач линейного программирования. Геометрический смысл симплексного метода состоит в том, что осу- осуществляется последовательный переход от одной вершины многогран- многогранника ограничений к другой, соседней, в которой линейная функция при- принимает значение не худшее, чем в предыдущей. Эта процедура продолжается до тех пор, пока не будет найдено оптимальное решение. Симплексный метод, позволяющий решать любую задачу линейного программирования, универсален. В настоящее время он используется в 54
программном обеспечении для решения задач линейного программиро- программирования на компьютере. Для задач небольшой размерности он может ис- использоваться и вручную. Симплексный метод состоит из трех основных элементов: 1) определения какого-либо первоначального допустимого базисного решения задачи; 2) правила перехода к лучшему решению; 3) проверки оптимальности допустимого решения. Для использования симплексного метода задача линейного програм- программирования должна быть приведена к каноническому виду, т.е. система ограничений должна быть представлена в виде уравнений. 3.3. Вычислительная схема симплексного метода Рассмотрение алгоритма сим- симплексного метода начнем с анализа следующего примера [44]. Решить симплексным методом задачу: F = 2хх + Зх2 -» max при ограни- ограничениях: В качестве основных перемен- переменных на первом шаге симплекс- метода следует выбрать (если это возможно) такие m переменных, каждая из которых входит только в одно из т уравнений системы огра- ограничений. х1+3х2<18; 2хх+х2<\6\ х2<5\ C.1) хх>0; х2>0. Решение. С помощью дополнительных неотрицательных переменных перейдем к системе уравнений. Учитывая, что все неравенства имеют знак «<», дополнительные переменные входят со знаком плюс. Исходная система ограничений после указанных преобразований примет следующий вид: х{ + Зх2 + х3 = 18 2хх +х2 +jc4 =16 х2 + х5 = 5 3jct+x6 =21 C.2) 55
Для нахождения первоначального базисного решения разобьем пере- переменные на две группы: основные (базисные) и неосновные (небазисные). Легко видеть, что определитель \А х3, х4, х5, х6 имеет следующий вид: при дополнительных переменных 1000 0100 0010 0001 и, следовательно, отличен от нуля. Исходя из этого переменные х3, х4, х5, х6 можно взять в качестве основных на первом шаге решения задачи. При выборе основных переменных на первом шаге не обязатель- обязательно составлять определитель и проверять равно ли его значение нулю. Можно воспользоваться следующим правилом. В качестве основных переменных на первом шаге следует выбрать (если это возможно) такие т переменных, каждая из которых входит только в одно из т уравнений системы офаничений. При этом нет таких уравнений систе- системы, в которые не входит ни одна из этих переменных. В рассматриваемой си- ситуации дополнительные переменные удовлетворяют этому правилу. Шаг 1. Основные переменные х3,х4,х5,х6. Неосновные переменные хх, х2. Выразим основные переменные через неосновные: х3 = 18 - хх - Зх2 х4 =16-2^ -х2 х6 =21-3^. C.3) Положим неосновные переменные равными нулю, то есть хх = 0, х2 = 0, получим базисное решение 2L\ = № 0; 18; 16; 5; 21), кото- которое является допустимым. Учитывая, что целевая функция, выраженная через неосновные переменные, имеет вид F = 2хг + Зх2, легко понять, что ее значение при х{ = 0, х2 = 0 равно нулю и может быть увеличено за счет увеличения любой из неосновных переменных х1Ьх2. 56
Это можно сделать, если перейти к такому новому допустимому базисно- базисному решению, в котором эта переменная будет основной, т.е. будет прини- принимать не нулевое, а положительное значение. При таком переходе одна из основных переменных перейдет в неосновные, а геометрически произой- произойдет переход к соседней вершине многогранника, где значение целевой функции лучше (по крайней мере, не хуже). В данном примере, учитывая, При решении задачи определения минимума целевой функции можно ис- использовать один из следующих путей: 1.Если необходимо отыскать мини- минимум функции F, то решается задача мак- максимизации функции - F и это решение деленности в основные перемен- пршшшется за решение исходной задачи. г 2. На каждом шаге симплекс-метода что в целевой функции коэффици- коэффициенты при хх и при х2 положитель- положительны, в основные переменные можно переводить и хх, и х2. Для опре- ные переведем ту переменную, ко- коэффициент которой в целевой функции больше. В данном случае w с отрицательным коэффициентом, такой переменной является х2. уменьшать целевую функцию за счет той неосновной переменной, которая входит в выражение линейной функции Поскольку необходимо сохранять допустимость решений, т.е. все пе- переменные должны оставаться неотрицательными и, следовательно, необ- необходимо выполнение следующих неравенств (при этом х\ = О как неос- неосновная переменная) *4 *5 *6 = 18-Зх2>0 = 16-х2>0 = 5-х2>0 = 21 х2 х2 х2 <18/3 <16 <5 Каждое уравнение системы C.3), кроме последнего, определяет оце- оценочное отношение — границу роста переменной х2, сохраняющую неот- неотрицательность соответствующей переменной. Эта граница определяется абсолютной величиной отношения числа, стоя- стоящего в правой части неравенства C.1), к коэффициенту, стоящему при х2 в соответствующем неравенстве. Уравнение х6 = 21 не ограничивает рост пе- переменной, так как данная переменная х2 в него не входит. В этом случае ус- условимся обозначать границу символом оо. Такой же знак будем использовать, когда свободный член и коэффициент при переменной в уравнении имеют одинаковые знаки, так как в этом случае нет ограничений на рост переменной. На рост переменной не накладывается ограничений и в том случае, когда правая часть соответствующего неравенства равна нулю, а перево- 57
димая переменная имеет положительный коэффициент. В этом случае граница обозначается символом оо. Все возможные случаи, которые возникают при оценке переменной, перечислены далее. Очевидно, что сохранение неотрицательности возможно, если не на- нарушена ни одна из границ. Следовательно, в рассматриваемом случае Jt2=min{ 18/3,16,5,oo} = 5. При х2 = 5 переменная х5 обращается в нуль и переходит в неоснов- неосновные. Уравнение, где достигается наибольшее возможное значение пере- переменной, переводимой в основные (т.е. где оценка минимальна), называ- называется разрешающим. В данном случае — это третье уравнение. Шаг 2. Основные переменные хг, хз, *4, *б- Неосновные переменные На этом шаге выразим новые неосновные переменные, начиная с раз- разрешающего уравнения (оно используется при выражении записи для х2) х2=5-х5 *з=18-дс1-3E-*з) ' C.4) х4 = \6-2хх-E-х5) Преобразуя систему, получим: х2=5-х5 х3 =18-х1-3E-х5) jc4=16-2jc1-E-x5) Второе базисное решение Х2 = @; 5; 3; 11; 0; 21) является допусти- допустимым. Выразив линейную функцию через неосновные переменные, получим: F = 2хх + Зх2 = 2хх + 3E -х5) = 15 + 2хх -Зх5. Значение целевой функции f(Xj\ = 15. 58
Изменение значения линейной целевой функции можно определить заранее как произведение наибольшего возможного значения перемен- переменной, переводимой в основные, на ее коэффициент в выражении для целе- целевой функции. В рассматриваемом примере Далее, как легко видеть, значение F(X2) не является максимальным, поскольку оно может быть улучшено за счет переменной хх, входящей в выражение для F с положительным коэффициентом. Как и ранее пред- предположив, что правые части уравнений C.4) неотрицательны, получим, что наибольшее значение хх определяется из выражения хх =min{ оо, 3,5,5, оо} = 3. Второе уравнение является разрешающим, пе- переменная переходит в неосновные при этом AF2 =3-2 = 6. Шаг 3. Основные переменные хХ9х29х4,х6. Неосновные переменные Повторяя процедуру шага 2, выражаем новые основные переменные через неосновные, начиная с разрешающего уравнения. Проведя необхо- необходимые преобразования, получим: хх = 3 - х3 + Зх5 Ху = 5 - х5 х -5 + 2* -5х <3> л4 — Э + LX3 — DX5 6 3 5' Базисное решение Х3 = C; 5; 0; 5; 0; 12) соответствует вершине, у которой хх = 3; х2 = 5 . Выражаем линейную функцию через неосновные переменные: F = 2хх + Зх2 = 2C - х3 + Зх5) + 3E - х5) = 21 - 2х3 + Зх5 F3=F{X3) = 2l, Проверяем F(X3) -F(X2) = 21-15 =6 = AF2. Третье допустимое базисное решение не является оптимальным, так как при неосновной переменной х5 в выражении целевой функции через неосновные переменные содержится положительный коэффици- коэффициент. Переводим х5 в основную переменную. При определении наи- наибольшего возможного значения для х5 получаем, рассмотрев все че- 59
тыре уравнения системы C.5), х5 =min{ оо,5,1,12/9} = 1. Третье урав- уравнение является разрешающим, и переменная х^ переходит в неоснов- неосновные AF3 = 1 • 3 = 3. Шаг 4. Основные переменные х19х29х59х6. Неосновные переменные х3, х4. После преобразований получим * * 3 =6 + -х3--х4 _1 2 ] - 7Хз~7х* -> 3 9 Базисное решение Х4 = F; 4; 0; 0; 1,3). Целевая функция, выраженная через неосновные переменные, имеет вид F = 24-ix3-|x4. C.6) Это выражение не содержит положительных коэффициентов при не- неосновных переменных, следовательно, улучшить решение нельзя и по- поэтому значение целевой функции F( X4) = 24 максимальное. На основе изучения рассмотренного выше примера критерий опти- оптимальности решения при отыскании максимума линейной функции может быть сформулирован так: V если в выражении целевой функции через неосновные переменные отсутствуют положительные коэффициенты при неосновных пере- переменных, то решение оптимально. При решении задачи определения минимума линейной целевой функ- функции можно использовать один из следующих путей: 1) если необходимо отыскать минимум F, то решается задача максими- максимизации функции —F, и это решение принимается за решение исходной задачи; 2) на каждом шаге симплексного метода уменьшать целевую функцию за счет той неосновной переменной, которая входит в выражение ли- линейной функции с отрицательным коэффициентом. 60
Рассмотрим симплексный метод решения следующей задачи на ми- минимум. Z = 18yi+ 16у2+5уз + 21>>4^тт. При ограничениях: ух+2у2+ЗуА7>2 Зу{+у2+у3>3 у, >0, / = 1,2,3,4. Сведем данную задачу к каноническому виду, для чего введем допол- дополнительные переменные с отрицательным знаком, так как неравенства имеют вид « > ». Получим систему уравнений: >;1+2<у2+З.У4-.У5=2 Зу1+у2+у3-у6=3. Выберем в качестве основных переменных у^у*. Шаг1. Основные переменные уз9Уа. Неосновные переменные У1,У2,У5,У6. Выражаем основные переменные через неосновные: \у3=3-3у1-у2+у6 2 12 1 Первое базисное решение Y\ получим, приравняв к нулю все неоснов- неосновные переменные Y\ = @; 0; 3; 2/3; 0; 0). Учитывая, что все координаты вектора Y неотрицательны, это реше- решение допустимо. Выразим линейную целевую функцию Z через неосновные перемен- переменные: Z = 18yi + 16у2+ 5у3 + 21>ч= 18yi + \6у2+ 5C -Зух- 2\ = 0Z(Y\) = 29. Значение Z = 29 не является оптимальным, так как функцию Z можно уменьшить за счет перевода в основные любой из пе- переменных у\ или у2, имеющих в выражении для Z отрицательные коэф- коэффициенты. Так как у\ имеет больший по абсолютному значению коэффи- коэффициент, то переведем в основные эту переменную. 61
Для нее наибольшее возможное значение определяется из соотно- соотношения >>i = min {1,2} = 1, т.е. первое уравнение становится разрешаю- разрешающим. Следовательно,уз становится неосновной переменной, AZ\ =-4 • 1 =-4. Шаг 2. Основные переменные у и у*. Неосновные переменные У2,УЗ,У5,У6. Получим после преобразований: 1 1--У 15 1 5 4 11 Z = 25—у2 + — у3 +7>>5 +—у6— целевая функция. При базисном решении Y2 = A; 0; 0; 1/3; 0; 0) получаем Z2 = Z(Y2) = 25; Z2-Zi = Переменную у2 переводим в основные, так как в выражении для Z она входит с отрицательным коэффициентом. Наибольшее возможное значе- • L з1 з ние у2 - тпт< 3,— > = —, поэтому второе уравнение разрешающее и у* пе- переходит в неосновные переменные; Уб. ШагЗ. Основные переменные уи у-i. Неосновные переменные уг, уц, у$, Получим после преобразований 4 2 3 12 3 19 3 1 Уг = ~ + -Уз --У4+-У5 ~-Уб- Базисное решение К3 = D/5; 3/5; 0; 0; 0; 0). Оно оптимально, так как в выражении для целевой функции Z нет не- неосновных переменных с отрицательными коэффициентами. Поэтому 62
Сформулируем критерии оптимальности при отыскании минимума целевой функции: если в выражении линейной функции через неоснов- неосновные переменные отсутствуют отрицательные коэффициенты при неос- неосновных переменных, то решение оптимально. В рассмотренных примерах применения симплексного метода на ка- каждом шаге какая-либо неосновная переменная переводится в основные. При этом определяется наибольшее возможное значение вновь вводимой основной переменной. Сформулируем все возможные случаи оценки роста неосновной пе- переменной. Обозначим через х{ переводимую неосновную переменную, bi— свободный член, #у —коэффициент при х,- В общем виде уравнение Xj= bi+, ..., + ayXi+ ... определяет наибольшее возможное значение xi по следующим правилам: ь/ 1) *,= , если bj>0 иау<0; например: Хз = 8-2x2+ ...;х2 = 8/2, 2) х;= оо, если Ъ} и #у одного знака и щ * 0; bj * О например, хз=8 + 2хз+...;х2= оо, 3) Xi:= 0, если bj?= 0 иai}<О, например,хз = 0-2x2+ ...;х2 = О, 4) Xj= со, если bj= 0 и ау> 0, например,х3 = 0 + 2х2 + ...;х2= оо, 5) Xj= оо, если ау=09 например, х3 = 5 + 0*Х2+ ...;хз = -5 + 0*Х2+ ...; х2= оо, 6) xj= со, если bj<0 иау>09 например,х3 =-8 + 2х2+ ...;х2= оо. Практические расчеты при решении реальных задач симплексным ме- методом выполняются с использованием компьютеров. Если же задачи не- небольшой размерности решаются вручную, то удобнее использовать так называемые симплексные таблицы. Рассмотрим общую схему формиро- формирования симплексной таблицы. Пусть ранг матрицы А равен т. Базисом опорного плана будем назы- называть произвольную линейно независимую систему из т столбцов матри- матрицы А, включающую в себя все столбцы, соответствующие ненулевым ко- координатам опорного плана. Рассмотрим каноническую задачу линейного программирования в следующем виде: п max J^CfXf C.7) /=i Ax = b; x>0. 63
Пусть х° некоторый опорный план задачи C.7) и {ак, d1, ...,aim } его базис. C.8) Обозначим <У-[ *ь'2>—»*т} хо _ (о о о \ Отметим, что задание базиса полностью определяет опорный план. Действительно, если Аа =(ah9 а'2, ...,а'т) — квадратная тхт матрица, составленная из столбцов матрицы А, участвующей в базисе C.8), то Аа — невырожденная матрица и существует обратная ей матрица А~1. Так как х] = 0 приу' е а, то Ах° = Аах^ , т.е. Аах^ - Ъ , откуда Таким образом, задание базиса C.8) однозначно определяет т- мерный вектор ха, откуда находим вектор х : если iea . , Л /о ЛЧ если jea J = l> 2' -Л- C'9) Отсюда видно, что поиск оптимального опорного плана можно осу- осуществлять, подыскивая подходящий базис — систему из т линейно не- независимых столбцов матрицы А. При этом необходимо, чтобы вектор, полученный по формуле C.9), был неотрицательным. Пусть есть некоторый начальный опорный план х. Будем считать, что он вычислен еще до начала применения симплекс- процедуры. Сопоставим задаче C.7) систему уравнений -Хо+5>Л=О Ах = Ъ. C.10) Рассмотрим матрицу следующего вида: ГО ср с2, ...9с в первой строке которой стоят числа, во второй m-мерные векторы. Раз- Размерность этой матрицы (т + \)х(т + 1). 64
Так как система векторов г-1 о J'U, '" - "•••" - ' (ЗЛ1) линейно независима в пространстве В? + \ то матрица (— 1 г г г _ 1 СП9 С/2, ...,С/Л а°-{0 а\ а12,..„а1" квадратная невырожденная матрица размера (w+l)x(m+l) и поэтому су- существует обратная к ней матрица В& . Введем матрицу U следующим образом: Матрицу U назовем симплексной таблицей, соответствующей базису C.8) опорного планах0. Будем обозначать элементы первой строки симплексной таблицы че- через До,Аь •••> Аи- В дальнейшем будем обозначать ао = (До, Дь Аг> •••» Д«)» А = (Дь Д2,..., Aw). Отсюда, в частности, следует, Ооу= Д/,у = 1,2,...,«. Элементы остальных строк обозначим а,у, / е а, j = 0, 1, 2, ...,«. Строку с номером / е а обозначим а/= (а/0, а/Ь ..., ain). Вектор, состоящий из последних т координату-го столбца матрицы U обозначим через a/ = (a/iy, аду, ..., aimj)j = 0, 1, 2, ..., п так, что весьу'-й столбец симплексной таблицы имеет вид: Элементы симплексной таблицы имеют наглядный смысл: если z, у е i?™4, то запись у = Д^ означает, что вектор z представляет собой ко- координаты вектора у в базисе C.11). Так как BGU= A, то, записав матри- Aс } цу Вав виде Ва = ^ , нетрудно заметить, что \у А ) 3 Исследование операций Aja°=b C.12) <co,a°>-A0=0 C.13) =a/,y=l,2,...,« C.14) -A/ = c/,y= 1,2, ...,«. C.15)
Из равенства C.12) следует, что Используя, что хОу= 0,у е а, получим C.16) До = <с,х°>. C.17) Из C.14) видно, что вектор а7 представляет собой координаты вектора а* в базисе C.8) и из C.15) следует, что AJ = <ca9a!>-cJ, C.18) Учитывая C.12)-C.18), получим общий вид симплексной таблицы: А h h : s im 0 <cx°> x°n Л # Л Л, 1 A! «/1.1 «/2.1 : «5,1 ot/w.i 2 A2 «/1.2 «/2.2 : «5,2 * a/m.2 ... ... ... • ... : ... к Ak <*l2Jt : «5,* * ... ... : * ... n К «/1./I . a/2./, : : OLimj, Заметим, что если бы вместо матрицы А рассмотрели матрицу сис- системы уравнений C.10): 1 С15 С2, ...,СЛ Ъ 0 а\ а\...,ап )' -1 то при умножении на В о получили бы матрицу, элементы которой в точности соответствуют коэффициентам системы C.0). Как уже отмечалось, основная идея симплекс-метода состоит в том, чтобы искать новый опорный план х\ базис которого отличался бы от базиса планах0 лишь одним вектором. Пусть S = ite a (к е с) — новый базис пространства тогда система векторов ^) W И'й* C.19) C.20) является базисом пространства /?™ +'. 66
Обозначим через Ва\ матрицу, составленную из этих векторов, тогда Ва\ — квадратная (т + \)х(т + 1) матрица, имеющая обратную. Назовем матрицей перехода к новому базису матрицу, столбцами ко- которой являются координаты векторов нового базиса в их разложении по векторам старого. Если V— единичный орт пространства /?m + 1, г = 0, 1, 2, ..., т, то матрица перехода от базиса C.11) к базису C.20) имеет вид: 0 1 /-1 (АЛ *+1 гп П-(у V V к V V } При этом Ва\ = BaQ. При указанной смене базиса любой вектор у е Вт + \ координаты которого в базисе C.11) выражались вектором z, то есть у = BfjZ, в новом базисе будет иметь координаты, описываемые вектором z, который легко находится подстановкой 5О = Ba\Q~l: У = Ba\(Q~lz)9 то есть I = Q~lz. Следовательно, новые координаты столбцов матрицы U выражаются формулами: (а Л Обозначим матрицу, состоящую из столбцов J. через U, W) т.е. U =0~1С/или QU = U. Чтобы явно вычислить элементы матрицы, поступим следующим образом. Для строк матриц U и U можно написать соотношение ссо= C/F°, <x,= UV, / е а, / = ir C.21) Щ = UfV,ak= U'V, a0 = U't°,ie<j9i<ir,i4ts. C.22) Тогда а,- — 5j- =(U - U ')V или a, — at = U XQ - I)Vr, i = 0, i g a, i = ir, i Ф s, C.23) где /— единичная (т + \)x(m + 1) матрица. Из явного вида Q следует, что yl C-24) ДЛЯ ЛЮбоГО У = (уо,У\9...,Уь...9 Ут). з* 67
В частности {Q -I)V= alk V, i Ф ir, r Ф t C.25) V\)V C.26) C.27) Используя C.23) и C.26), получим as-ak = (ask-\)UtV=(aSk-\)ak, откуда ак =— as, C.28) «а из C.23), C.25) и C.28) получим а,- а, = alkU' V' = alkak= %Las. C.29) а Sk В частности изC.27) получим *. C-30) o «а Очевидно, что а^ ф 0, так как в противном случае матрица Q — вы- вырожденная, т.е. C.19) не базис. Смысл преобразований C.28)-C.30) ясен: к /-й строке матрицы [/при- [/прибавляется строка as с таким коэффициентом а^ / а^, чтобы элемент а^ стал равен нулю, после чего строку as делим на а^, добиваясь равенства -1. В результате столбец I * в матрице U оказывается ортом V пространства i?" + 1, как и должно быть в симплексной таблице, так как вектор ак теперь уже входит в базис и занимает в нем место с номером t. На основании рассмотренной симплекс-таблицы, дадим описание вы- вычислительной схемы симплекс-метода. Пусть имеется начальная симплексная таблица С/. Этап 1. Проверяем выполнение неравенств А,>0,у = 1,2, ..., и. Если эти неравенства справедливы, то план х°, вычисляемый по формуле C.9), — оп- оптимален. В противном случае ищем индекс к, 1 < к < п9 для которого Д*< 0. Этап 2. Проверяем выполнение неравенства а* < 0. Если все коорди- координаты а,* вектора а* неположительны, то вычисления прекращаются, так 68
как исходная задача max Хс,х, Ах = b; x >0 вида не имеет решения. В противном случае ищем такой индекс S, что а^ > 0 и aso / cx-sk ^ а/о / а,* для всех /, для которых а#> 0. Этап 3. По формуламC.28)-C.30) строим новую симплексную табли- таблицу U, которую принимаем за начальную и возвращаемся к этапу 1. Последовательность выполнения этапов 1-3 называется итерацией симплекс-метода. Подчеркнем основные свойства симплекс-метода: 1. Конечность итераций в симплекс-методе и каждая из итераций за- заключается в нахождении очередной крайней точки, на которой значе- значение целевой функции не хуже, чем на предыдущей. 2. Все вычисления симплекс-метода совершаются либо сравнением элементов симплексной таблицы с нулем, либо вычисление по фор- формулам этапа 3. В этом состоит достоинство симплекс-метода, так как при решении практических задач число необходимых итераций велико, и поэтому время выполнения компьютером одной итерации играет важную роль. 3.4. Вырожденные задачи линейного программирования Рассмотрим ситуацию, когда зада- задача max Базисное решение, в котором хотя бы одна из основных пере- переменных равна нулю, называется вырожденным. Если в процессе работы сим- симплекс-метода появляется вырож- вырожденное базисное решение (выро- (вырожденный опорный план), то возможна ситуация зациклива- зацикливания, т.е. на очередной итерации симплекс-метода при переходе к новому базисному решению не происходит улучшение значения целевой функции. х>0 C.31) обладает вырожденными опорными планами, что приводит к определен- определенным трудностям. Напомним, что опорный план является вырожден- вырожденным, если равна нулю хотя бы одна основная переменная. Имея начальную симплексную таблицу ?/, соот- соответствующую данному базису плана jc°, можно осуществить все три этапа симплекс-метода, как они описаны в предыдущем разделе. При этом выбор индекса S может оказаться таким, что x°s = 0. Тогда новый опорный план х\ определяемый по формулам C.28), C.29), совпа- 69
дет с планом х°. При этом, естественно, значения целевой функции не улучшатся, т.е. В этой ситуации можно продолжить вычисления с вектором х\ наде- надеясь, что в ходе очередной итерации возможно увеличить значение целе- целевой функции, но в этом случае возникает возможность «зацикливания», т.е. перебора одного и того же набора планов х°, х1,..., xq, и на очередной итерации происходит возврат к плану jc°. Чтобы избежать проблемы зацикливания, рассмотрим следующую процедуру. Введем понятие лексикографической упорядоченности в пространстве Л"+ \ Пусть а = (ао5 а^ ..., ап) е Rn + l. Будем говорить, что вектор а лексикографически больше нулевого вектора 0 е Вп + 19(а у 0), если а ф Ои первая ненулевая координата век- вектора а положительна, т.е. а д > 0, где q = min j j\ocj ф0\. Если а' = (а ' а ' ..., а '),то будем говорить, что вектор а лексико- лексикографически больше а' (а у а'), если а - а' >- 0. Иными словами а у а', если а Ф а' и а > а' , где q = min | j\aj Фа^ \. Отметим два важных свойства отношения « у »: 1) для любых двух векторов а, а'еВ"+1 имеет место одна из трех воз- возможностей: а = а'; а' >- а; а у а'; 2) отношение « У» транзитивно, т.е. если а >- а' и а' >- а", то а У а". Далее для того, чтобы сделать невозможной ситуацию зацикливания, надо после выбора вектора ак, который вводится в базис, более тщатель- тщательно выбирать тот вектор, который будет выведен из базиса. С этой целью усилим требования на рассматриваемые в симплекс- методе опорные планы (базисные решения). Будем говорить, что опорный план х° строго допустим, если все стро- строки a,-, i € а (кроме строки oto) симплекс-таблицы, соответствующей пла- плану х°, лексикографически больше нуля: а; >- 0, / е <х Из этого определе- определения следует, что если базисное решение не вырождено, то оно строго допустимо в каждом векторе а,-, /еа, первая координата а/о = х°/ положи- положительна. Будем считать, что начальный опорный план х строго допустим. 70
Правило L. Если вектор а решено ввести в базис (т.е. А* < 0), то сле- следует рассмотреть к-и столбец а симплекс-таблицы и все строки oij, для которых а,*>0. Индекс S выбирается так, чтобы —as -< —at, S, / е о aSk> 0, а,*> 0 aSk aik и вектор а выводится из базиса. Правило L жестко определяет выбор индекса S, указывающего, какой вектор as следует выводить из базиса. Иными словами, среди векторов а, / <хцс имеется ровно один минимальный в смысле отношения « у». Действительно, все векторы aiy i e а линейно независимы, так как ранг матрицы U равен рангу матрицы А, т.е. числу строк т. Если предположить, что имеется два лексикографически упорядочен- упорядоченных вектора as I а5* и а, / а,*, то это означает, что as I aSk = а, / а,*, что противоречит линейной независимости векторов as и а. Теорема 3.1. Если действовать по Правилу L, то новый опорный план строго допустим (т.е. ах? > 0, iea и ccq > а0). Доказательство. Так как а5* > 0, сц У 0 то а^ = as / а^ У 0. Если ин- индекс / таков, что а^ 0, то очевидно оц anJ а^ -< 0 и Щ У а/ > 0. Если же аи?» 0, то согласно правилу L a/ / а# >- сц / aSk, откуда Щ I а^ У 0, т.е. Sf > 0. При этом ccq = ао- Ai<as/ ask> Oo, так как Д^/ a^< 0, то a5 >- 0. Тео- Теорема доказана. Теорема 3.1 утверждает, что если начать вычисления со строго допус- допустимого опорного плана, то на каждой итерации мы будем получать вновь строго допустимый опорный план и при этом исключается возможность зацикливания. Действительно, пусть в процессе итеративного применения сим- симплекс-метода возникает последовательность строго допустимых планов х°, х1,..., хя9 ... Тогда по теоремеЗ.1 а(О)о -< аAH -< ..., -< а(<7H -< ... Поскольку отношение «>» транзитивно, то а@H -< а(^о, а это означает, что хя *х и ни при каком q зацикливание невозможно. 3.5. Нахождение начального допустимого базисного решения В рассмотренных численных примерах решения задач линейного программирования симплексным методом использовалась итерацион- 71
ная процедура перехода от первоначально допустимого базисного ре- решения к следующему и так далее до достижения оптимального реше- решения. При этом получение первого допустимого решения задачи не всегда является задачей тривиальной. Рассмотрим один из возможных алгоритмов нахождения допустимого базисного решения [6]. Пусть необходимо решить симплексным методом задачу минимизации ли- линейной целевой функции вида F = х\ + 2 Х2 ¦ •mm при ограничениях ^ 0. Для решения этой задачи вводятся дополнительные неотрицательные переменные х3, x^ х5 с соответствующими знаками: -Х2 +Х3 =-1 - Х2 - Х^ ~ -J В соответствии с правилами, сформулированными при рассмотрении предыдущих примеров на шаге 1, в качестве основных возьмем дополни- дополнительные переменные. Шаг 1. Основные переменные х , х , х Неосновные переменные х , х Выражаем основные переменные через неосновные: =-1-хх+х2 \х4 = 3 - х2 Тогда первое базисное решение Хх - = @; 0; -1; 3; 3) является недопустимым. В последней системе выберем то урав- уравнение, которое содержит отрицательный свободный член, т.е. первое. Если окажется, что таких уравнений несколько, то выбира- выбираем произвольное. Поскольку переменная х принимает отрицательное значение при первом базисном решении, то ее необходимо увеличить. Это можно сде- сделать за счет увеличения любой из неосновных переменных, входящих в первое уравнение с положительным коэффициентом, в данном случае 72 Начальный опорный план задачи линейного программирования может быть определен путем ре- решения вспомогательной задачи линейного про- программирования, началь- начальный опорный план кото- которой легко определяется.
переменной х2. Если перевести эту переменную в основные, то она, став положительной, увеличит переменную х . Как только х достигнет уров- уровня 1, то х обратиться в нуль, т.е. переменная х станет неосновной. В то же время рост переменной х ограничен условиями неотрицательности остальных переменных, которые определяют х2 = min {1,3,00} =1. То есть первое уравнение разрешающее. При х =1, переменная х3 = О и переходит в неосновные переменные. Шаг 2. Основные переменные х ,х, х Неосновные переменные х jc Выражая новые основные переменные через неосновные, получим Базисное решение соответственно равно Хъ = @; 1; 0; 2; 3) и является допустимым. Целевая линейная функция F, выраженная через неоснов- неосновные переменные, имеет вид В дальнейшем процедура получения оптимального решения соответ- соответствует описанному выше симплекс-методу. Не во всех случаях получение допустимого базисного решения воз- возможно уже после первого шага. Рассмотрим следующий пример. Определить максимум линейной функции F = -2х] + Зх2 -> max при ограничениях: 2хх + Зх2 > 12; -хх + х2 < 7; 2х] + х2 < 10; х2 > 2; хх > 0, введем дополнительные переменные и перейдем к системе уравнений. 2x^3x2-^3=12 = 10 х2-х6 = На первом шаге дополнительные переменные возьмем в качестве ос- основных, учитывая, что они входят во все уравнения по одному разу. 73
Шаг 1. Основные переменные *3, х4, х5, х6 Неосновные переменные X2- Выразим основные переменные через неосновные: c = 10-2х -х Хх = @; 0; - 12; 7; 10; -2) первое базисное решение недопустимо, так как в него входят две отрицательные компоненты. Для получения допустимо- допустимого базисного решения выбираем уравнение, содержащее отрицательную постоянную. В рассматриваемом примере это первое и четвертое уравне- уравнения. Выберем, например, первое и в нем неосновную переменную х{ или х . Пусть это будет х наибольшее возможное значение х выбирается из соотношения х{ = min { 00,00,5,00} = 3 достигается в третьем уравнении, оно разрешающее, и переменная jc переходит в неосновные переменные. Нетрудно проверить, что в этом случае количество отрицательных переменных в базисном решении сохраняется и, следовательно, перево- переводить х в основные переменные нецелесообразно. Переведем в основные переменные х2. Наибольшее значение х2 определяется из соотношения *2 = niin{ oo,7,5,oo} = 5, достигается в четвертом уравнении. При этом пе- переменная х6 переходит в неосновные, и в базисном решении становится на одну отрицательную компоненту меньше. Шаг 2. Основные переменные х 9 х , х 9 *5 Неосновные переменные хр х& Выразим новые основные переменные через новые неосновные, на- начиная с четвертого уравнения: х =-6 + 2х.+Зх, 3 1о X = @; 2; -6; 5; 8; 0) — недопустимое базисное решение с одной от- отрицательной компонентой. Рассмотрим второе уравнение, в которое вхо- 74
дит отрицательная постоянная «-6», и переведем в основные одну из не- неосновные переменных х или х , входящих в уравнение с положительны- положительными коэффициентами. Получим из уравнений их набольшие возможные значения jc = min {00,00,00,4} =4 достигается на четвертом уравнении х =min joo,oo,5,oo} =5. Выберем х , например, в качестве основной. ШагЗ. Основные переменные х , х , х , х Неосновные переменные х , *4 Выразим основные переменные через неосновные, начиная с третьего уравнения. = 9 + 5х{ - X = @; 7; 9; 0; 3; 5) — допустимое базисное решение. Выражая функ- функцию цели через неосновные переменные, получим: F = -2х1 + Зх2 = -2хх + 3G + jc1 - х4) = 21+ jc] - Зх4 В дальнейшем задача решается согласно алгоритму симплекс- метода. Пользуясь предлагаемой схемой определения допустимого базисного решения, необходимо учитывать следующее. Если базисное решение не- недопустимо и для его улучшения есть возможность выбора переменной, переводимой из неосновных переменных в основные, то рекомендуется выбрать такую неосновную переменную, которая должна определить в качестве разрешающего то уравнение системы, где содержится отрица- отрицательная постоянная. Только в этом случае новое базисное решение будет содержать по крайней мере на одну отрицательную компоненту меньше. Если в качестве разрешающего будет получено уравнение, не содержа- содержащее отрицательной постоянной, то в новом базисе количество отрица- отрицательных компонент сохранится. Как будет показано ниже, количество шагов, необходимых для полу- получения допустимого базисного решения, не зависит от числа отрицатель- отрицательных компонент в исходном базисном решении. В качестве примера рассмотрим задачу следующего вида. 75
Определить минимум целевой функции F = Ах + 6х -> min при ограничениях Зх} +x2>9;xY+2x2> 8; х{ + 6х2 > 12; х} > 0; х, > 0. Введем дополнительные переменные, каждую со знаком «минус»: х\ + 6x2-*5 = 12 На первом шаге выберем в качестве основных переменных дополни- дополнительные переменные. Шаг 1. Основные переменные х , *4, х$ Неосновные переменные х]Гх2 После преобразований получим х = -8 + л:, + 2х > 0 4 12 jc5 = -12 + ^ + 6х2 > 0. Первое базисное решение Хх = @; 0; 0; -9; -8; -12) является недо- недопустимым. Учитьюая, что неосновная переменная входит в каждое уравнение с по- положительным коэффициентом, целесообразно перевести ее в основные. В случае когда все основные переменные принимают отрицательное значение, для ускорения процесса можно в качестве значения для переменной х взять максимальное оценочное отношение из уравнений х = max {9 / 3; 8; 12} =12. Следовательно, третье уравнение является разрешающим, а перемен- переменная х переходит в основные. Шаг 2. Основные переменные х , х , х Неосновные переменные х , jc После преобразований получим: х2 = 9 - Зхх + х3 х= 10 -5х, +2х, 4 1 3 +6х3 76
Х2 = @; 9; 0; 10; 42)— допустимое базисное решение. Применяя в дальнейшем симплекс-метод, получим оптимальное базисное решение Хъ = B; 3; 0; 0; 5), при котором минимальное значение целевой функции равно Fmin = 26. Рассмотрим пример, из которого видно, что начальное базисное ре- решение не всегда может быть определено. Пусть необходимо определить максимум следующей целевой функции: F = х - Зх -> max при ограничениях: Как и в предыдущих примерах вводим дополнительные переменные: хх + х2 + х3 = 2 , 2хх+х2-х4 = 6. Шаг 1. Основные переменные *3, х4 Неосновные переменные х^ *2 Хх = @; 0; 2; -1)— недопустимое базисное решение. Во втором уравнении выбираем любую переменную х или х , так как обе перемен- переменные имеют знак «плюс», и переводим в основные. Для х} = min{ 2,6/2} = 2 разрешающее первое уравнение; для х2 = min{ 2,6} =2 разрешающим является тоже первое уравнение, поэтому сразу избавиться от отрица- отрицательной компоненты не удается. Шаг 2. Основные переменные х , х Неосновные переменные х , х Получим после преобразований: Х2 = B; 0; 0; -2) — недопустимое базисное решение. Учитывая, что второе уравнение не содержит неосновной переменной с положительным 77
коэффициентом, невозможно увеличить переменную и получить допус- допустимое базисное решение, следовательно, задача противоречива. Данную ситуацию иллюстрирует рис. 3.2. Рис. 3.2 После анализа результатов, полученных при решении рассмотренных примеров, сформулируем метод получения первоначального базисного решения: 1. Если каждая дополнительная переменная входит в уравнение с тем же знаком, что и постоянная, стоящая в правой части уравнения, то до- дополнительные переменные можно брать в качестве основных на 1-м шаге. При этом получим допустимое базисное решение. 2. Если первое базисное решение получилось недопустимым (например, в качестве основных взяты дополнительные переменные, при этом хотя бы одна из них входила со знаком, противоположным знаку по- постоянной величины этого уравнения), то рассматриваем уравнение, содержащее отрицательную постоянную (любую, если их несколько) и переводим в основные ту неосновную переменную, которая входит в это уравнение с положительным коэффициентом (любую, если их несколько). Такие шаги повторяются пока не будет получено допус- допустимое базисное решение. 3. Если базисное решение недопустимо, а в уравнении, содержащем от- отрицательный свободный член отсутствует неосновная переменная с положительным коэффициентом, то в этом случае допустимое базис- базисное решение получить невозможно, т.е. условия задачи взаимоисклю- взаимоисключающие. 78
Рассмотрим еще одну процедуру нахождения начального опорного ре- решения (допустимого базисного решения), особенность которой состоит в том, что она использует симплекс-метод. Будем считать, что в системе уравнений Ах = b, bh > О, (/ = 1, ..., т), а если это не так, то соответствую- соответствующее уравнение умножается на «-1». Далее, считая, что Ь>0, рассмотрим каноническую задачу линейного программирования сп + т переменными: vi + амх\ + *i2*2 + - + аыхп = Ъх V2 + а2Ххх + а22х2 +... + а2пхп = Ъ2 Vm + ат\Х\ + ат2Х2 + - + атпХп = К Исследуем связь между задачей C.31) и задачей C.32). Задача C.32) имеет непустое множество допустимых решений. Например, вектор (Z?i,..., bm О, 0,...,0) является допустимым для задачи C.32) Кроме того, целевая функция этой задачи ограничена сверху числом «О» и, следова- следовательно, задача C.32) имеет решение. Пусть d— значение целевой функ- функции задачи C.32) на оптимальном решении. Тогда возможны случаи, ко- когда*^ 0, <i<0. Теорема 3.2. Если оптимальное значение d задачи C.32) равно нулю, то задача C.31) имеет решение. Если d < 0, то задача C.31) не имеет до- допустимых решений [6]. Доказательство. Пусть задача C.31) имеет решение х° = (дЛ,..., х°п)* В этом случае п + /w-мерный вектор х = @, 0, ..., О, х°ь ..., х°п) удовлетво- удовлетворяет всем ограничениям задачи C.32) и является ее допустимым решени- решением, и при этом значение целевой функции на решении равно нулю. От- Отсюда следует, что х решение оптимально для C.32) и d = 0. С другой стороны, если d = 0, то для любого решения (Кь ..., Vmt x\t *2> • • •» *п) зада- задачи C.32) V\ V\ = V2 = ... = Vm = 0, и следовательно, вектор (x\t х2,..., хп) — план задачи C.31). Теорема доказана. Из доказанной теоремы следует, что в результате решения вспомога- вспомогательной задачи C.32) либо будет определено решение задачи C.31), либо выяснится, что система ограничений задачи C.31) противоречива, т.е. мно- множество допустимых решений задачи пусто. Основным свойством задачи C.32) является то, что для нее можно сразу определить начальное допусти- допустимое базисное решение. Таким решением является п + m-мерный вектор F,0) = (Ь\9 ..., Ьт, 0, 0,...,0). Нетрудно убедиться, что F, 0)— строго до- допустимый план. 79
Действительно, a20 = Фъ 0, 1, ..., 0, a2u а2ъ .., a2n) ато = (Ьт, 0,0,..., l9am\, ...,атл). Поскольку bj> 0, / = 1,2, ..., /я, то первая ненулевая координата в каж- каждом векторе сц положительна, то есть а,> 0, / = 1,2,..., /я. 3.6. Неединственность оптимального решения Рассматривая геометрическую интерпретацию решения задачи ли- линейного программирования, установили, что решение этой задачи не все- всегда единственно. Исследуем на примере, каким образом аналитически можно описать множество всех оптимальных решений [25]. Пусть необходимо решить задачу определения максимума следующей целевой функции: при ограничениях 8; 2хх -х2 max -2*2 <2;х{ >0;х2 > 0. Используя геометрический способ решения этой задачи, получим, что линия уровня, задающая максимальное значение целевой функции, сов- совпадает с граничной линией АВ многоугольника решений ABCD, то есть с линией х} + х2 = 8. Рис. 33 Следовательно, на всем отрезке АВ линейная функция принимает од- одно и то же максимальное значение равное ЗЦ + х2)в 3 • 8 в 24. 80
Покажем, как проявляется наличие альтернативного оптимума при решении задачи симплексным методом. На очередном шаге получаем: основные переменные х , х , х • неос- неосновные переменные ху хА Выражаем основные переменные через неосновные 1 )_ Y _ Q у у Хх = C; 5; 0; 0; 9) — допустимое базисное решение, соответствую- соответствующее угловой точке А = C; 5). Линейная целевая функция в этом случае равна F = 24 - х . В выражении для F отсутствуют положительные коэффициенты при неосновных переменных и, следовательно, критерий оптимальности вы- выполняется, а поэтому Xх оптимальное базисное решение, Fmax = F( Xх ) = 24. В целевую функцию F основная переменная х входит с нулевым ко- коэффициентом, и поэтому изменение этой переменной не повлечет за со- собой изменение целевой функции. Переводя в основные переменные пе- переменную х = min{ 15,оо,9} = 9, а в неосновные, как следует из последнего выражения для *4, переменную х$ получим, что изменения целевой функции не произойдет AF =9-0 = 0. Это следует из того, что на следующем шаге получим новое базисное решение Х2 = F; 2; 0; 9; 0), соответствующее угловой точке В = F; 2), ^тах = F(X2 ) = 24. Учитывая, что переменная х = 0, а переменная х = 9 удовлетворяет неравенству 0 < х < 9, из системы уравнений можно по- получить все множество оптимальных решений задачи. Положим, напри- например, х4 = t, где t g [0;9]. Тогда множество оптимальных решений 1 -5--U х3 = 0, х4 = / *5=9 + f. 81
Учитывая свойство оптимального решения, которое заключается в том, что оно может быть представлено как выпуклая комбинация базис- базисных решений, получим, принимая за базисные решения: % =C;5;0;0;9), ?,с = F; 2; 0; 9; 0) 3.7. Неограниченность целевой функции Если система ограничений в за- задаче линейного программирования непротиворечива, тог применение конечного числа итераций сим- симплекс-метода приводит либо к по- получению решения задачи (может быть неединственного) либо к ус- установлению факта неограниченно- неограниченности целевой функции. Рассмотрим следующую задачу линейного программирования. Ре- Решить задачу минимизации линейной целевой функции: при ограничениях: 2х,-х2^1 х,-2х2<0 х{>0 х2>0 Рассмотрим геометрическое решение этой задачи. C.33) C.34) C.35) C.36) C.37) Г=0 Рис. 3.4 Из рис. 3.4 видно, что если перемещать линию уровня в направлении, противоположном вектору q (в направлении убывания), то она всегда будет пересекать множество допустимых решений и, следовательно, це- 82
левая функция не ограниченна на множестве заданном ограничениями (З.ЗЗН3.37). Если эту задачу решать симплексным методом, то на очередном шаге решения задачи получаем: основные переменные л;, х , х - неосновные переменные *3, *4- -II 1 ^1-з + зХз + зХ4 7 2 1 у — J V V Л2 "" ~ о 3 о 4 X = E/3; 7/3; 0; 0; 4) — базисное решение; 12 4 г= хъ + ""Х4С» минимум не достигнут: переменная х имеет от- 3 3 5 3 рицательный коэффициент в выражении для F. Определяем х3 = min( оо, оо, оо) = оо, следовательно, уравнения не ограничивают рост *з и, следовательно, оптимальное значение функции F не ограниченно и отрицательно, т.е. Fmin = -оо. Из рассмотренного примера видно, что ес- если на каком либо шаге получаем во всех уравнениях системы бесконеч- бесконечные оценочные отношения переменной, которая переводится в основные, то задача не имеет конечного оптимума (Fmax= оо , если задача на макси- максимум и Fmin = -оо, если задача на минимум). Можно сделать следующий вывод. Если система ограничений непро- непротиворечива, то выполнение конечного плана шагов симплексного метода либо приводит к нахождению оптимального решения задачи (возможно неединственного), либо к установлению того факта, что целевая функция не имеет конечного оптимума.
Глава 4 ДВОЙСТВЕННЫЕ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Каждой задаче линейного программирования можно поставить в со- соответствие так называемую двойственную или сопряженную задачу по отношению к исходной. Аппарат теории двойственности может быть эффективно использован для проведения качественных исследований свойств задачи линейного программирования. 4.1. Двойственная задача для стандартной и канонической задачи линейного программирования Рассмотрим частный вид задачи Каждой задаче линейного про- выбора оптимально производствен- производственной программы, представленной в граммирования на максимум может быть поставлена в соответствие зада- задача линейного программирования на минимум, получаемая из исходной путем определенных преобразований. Эти задачи называются симметрич- симметричными или взаимно-двойственными. гл.1. Пусть предприятие № 1 имеет запасы материально-сырьевых ре- ресурсов в объемах ty (i = 1,...,т ), где т — число видов ресурсов. Как и раньше будем считать, что atj — это объем материально-сырьевых ресурсов вида i, необходимых для выпус- выпуска одной единицы продукции вида j, Cj — прибыль от выпуска и реа- реализации единицы продукции вида j (j = 1,.:., л). Далее будем считать, что предприятие № 2 решило купить все мате- материально-сырьевые ресурсы у предприятия № 1 по некоторым оптималь- оптимальным ценам на эти ресурсы, которые обозначим как у\,..-,ут . Естествен- Естественно, что предприятие №2 заинтересовано в том, чтобы затраты на приобретение материально-сырьевых ресурсов были минимальными, т.е. Z = blyl+b2y2+... + bmy С другой стороны, предприятие № 1, которое продает материально- сырьевые ресурсы (далее их будем называть ресурсы), заинтересовано в 84
том, чтобы полученная выручка была не менее той суммы, которую предприятие может получить при использовании ресурсов на производ- производство готовой продукции. Для изготовления единицы продукции вида 1 расходуется аи ресур- ресурсов первого вида, а2Х ресурсов второго вида, ..., ап ресурсов /-го вида. Поэтому для того чтобы удовлетворить требованиям продавца (пред- (предприятие № 1), затраты на ресурсы, используемые для изготовления од- одной единицы продукции первого вида, должны быть не менее ее цены с\. Иными словами, необходимо выполнение неравенства следующего вида: Аналогично можно представить ограничения по всем остальным ви- видам продукции 2,3,...,и . Экономико-математическая модель и содержа- содержательная интерпретация получаемой таким образом задачи представлена в правой части табл. 4.1 Таблица 4.1 Исходная задача (I) Двойственная задача (II) F ~ с\х\ + С2*2 + •••+ спхп ~* тах при ограничениях: Z = blyl+ Ь2У2 +... + Ьтут -> min D.4) при ограничениях: и условие неотрицательности D.2) D.3) а\гУ\+аггУг +- D.5) а\пУ\+ аш ••• + атпут>сп составить такой план выпуска продукции, при котором прибыль (выручка) от реализа- реализации продукции будет максимальной при ус- условии, что потребление ресурсов по каждому виду продукции не превзойдет имеющихся запасов и условие неотрицательности у1 >0> у2 >0,--., ут >0 D.6) найти такой набор цен ресурсов Y = (ух,у2,...,ут)> ПРИ котором общие за- затраты на ресурсы будут минимальными при условии, что затраты на ресурсы при про- производстве каждого вида продукции будут не менее прибыли (выручки) от реализации продукции Цены ресурсов yl9..-9ym в экономической литературе получили раз- различные названия: учетные, неявные, теневые. Смысл их названий состо- состоит в том, что в отличие от цен на полученную продукцию, которые дос- достаточно точно могут прогнозироваться, цены ресурсов yv...,ym являются внутренними, так как они задаются не извне, а определяются в результа- результате решения задачи, поэтому их часто называют оценками ресурсов. 85
Рассмотрим задачи линейного программирования I и II, представлен- представленные в табл. 4.1. Эти задачи обладают следующими характеристиками: 1. В первой задаче определяется максимум линейной целевой функции, во второй — минимум. 2. Коэффициенты при переменных в целевой функции первой задачи являются правыми частями в системе ограничений во второй задаче. 3. Каждая из задач задана в стандартной форме, при этом в задаче мак- максимизации все неравенства вида «<», а в задаче минимизации все не- неравенства вида «>». 4. Матрицы коэффициентов при переменных в системах ограничений обеих задач являются транспонированными друг к другу. Для задачи I A = <hx ат2 Для задачи И. А'- а21 а22 лт\ лт2 а\п а2п 5. Число неравенств в системе ограничений одной задачи совпадает с числом переменных в другой задаче. 6. Условие неотрицательности переменных имеются в обеих задачах. Задачи (I и II) линейного программирования, обладающие указанными характеристиками, называются симметричными взаимодвойственными задачами. В данной главе будем называть их просто двойственными зада- задачами. Задачу (I) еще называют исходной или прямой паре двойственных задач. Исходя из описанных характеристик двойственных задач можно предложить следующее правило формирования двойственной задачи: 1. Привести все неравенства системы к одному виду: если в исходной за- задаче ищут максимум целевой функции, то все неравенства системы ог- ограничений приводятся к виду «<», а если минимум — к виду «>», для чего неравенства, не удовлетворяющие требованиям, умножают на -1. 2. Составить расширенную матрицу А]9 в которую включить матрицу коэффициентов при переменных А, столбец правых частей исходной системы ограничений и строку коэффициентов при переменных в це- целевой функции. 86
3. Сформировать матрицу А[, транспонированную к матрице Ах. 4, Сформировать двойственную задачу на основании полученной мат- матрицы А[ и условия неотрицательности переменных. Используя указанную последовательность преобразований, рассмот- рассмотрим пример формирования двойственной задачи. Пусть исходная (ее также еще назьгоают прямой) задача линейного программирования со- состоит в определении максимума целевой функции при ограничениях: F = -хх + Зх2 -> max 2хх-Ъх2>\ -хх + 4х2 <14 хх - х2 < 3 хх + х2 >15 хх > 0, х2 > 0. Решение: 1. Так как исходная задача на максимум, то обе части перврго и четвер- четвертого неравенства умножим на-1. Получим: -2х1+Зх2<-\ - х2 < 3 -хх -х2 <-15. 2. Составим расширенную матрицу системы: ( -2 -1 1 -1 i -1 3 4 -1 -1 3 -Р 14 3 -15 F 3. Найдем матрицу Д', транспонированную к матрице Ах (-2 -1 1 -1 -\Л 3 4-1-13 -1 14 3 -15 Z 87
4. Сформулируем двойственную задачу при ограничениях: В рассмотренном примере в качестве исходной задачи линейного программирования рассматривалась стандартная задача линейного про- программирования. Выясним, в каком виде может быть представлена двойственная задача для канонической задачи линейного программирования. F = сххх + с2х2 +... + стхт -> max. а2Ххх + а22х2 +... + а2пхп = Ь2 *Л ^2^2 + - + ^^ = К хх>0,х2>0,...,хп>0. „ п Заменим каждое равенство ^dijXJ=bi на два 2^aijXj<bi и 7=1 У=1 п ~~Х ^yx/ - ~^/ 9 тогда задача D.7) эквивалентна следующей задаче, ко- У=1 торую мы зададим в матричном виде. Обозначив А = , 6 = получаем в других обозначениях но- вую запись задачи D.8): 88
max^c,*, Ax<b D.9) jc>0. Ясно, что D.9) представляет собой стандартную задачу линейного про- программирования. Воспользовавшись правилом формирования двойственной задачи для стандартной задачи линейного программирования получим: min AV>c где V = (г,, г2,..., rm, Sx, S2,.. JSm) — вектор 2т-мерного пространства. Возвращаясь к прежним обозначениям имеем: min((b,r)-(b9S)) A'r-A'S>c D.10) r>0, S>0, где r = (rpr2,...,rm), S = (Sl9S29..Sm). Обозначим p = r-S. Очевидно, что задача D.10) эквивалентна следующей: А'р>с, D.11) где на р уже не накладывается никаких дополнительных ограничений (типа неотрицательности), поскольку р есть разница двух неотрица- неотрицательных векторов Р и S и это никакой информации не несет. Задача D.11) называется двойственной канонической задачей D.7). 4.2. Основные теоремы двойственности Рассмотрим некоторые свойства систем линейных неравенств вида Ах < Ъ или в векторном виде: (агх)<Ь19 (а2х)<62,..., {атх)<Ьт. D.12) 89
которых совпадают. Пусть неравенство т системы ли- линейных неравенств D.12) является не- Если взаимно-двойственные задачи имеют непустое множе- ство решений, то они имеют оп- отрицательной линейной комбинацией тимальные решения, значения г остальных т -1 линейных неравенств, т.е. существуют неотрицательные: А»А'--'Дп-1 такие> что ат = t Pfli > bm > t PA . Тогда ясно, что /я-ое неравенство «лишнее» в системе D.12). Действительно, если точка х удовлетворяет только первым т -1 не- неравенствам, то она автоматически удовлетворяет неравенству с отноше- отношением т : т-\ . , т-\ Будем говорить, что неравенство (c,x)<d D.13) является следствием системы неравенств (я,,х)^ty i = 1,...,т, если для любого х, удовлетворяющего всем неравенствам этой системы выпол- выполняется неравенство D.13).Для сокращения записи это будет выражаться следующим образом: Ax<b=>(c9x)<d. Будем говорить, что неравенство D.13) является неотрицательной ли- линейной комбинацией неравенств D.12), если существуют такие неотри- неотрицательные ЧИСЛа Р\9Р29—9Рт> ЧТ0 D.14) D-15) /=1 С использованием транспонированной матрицы А и обозначе- обозначения /? = (р1,р2,...,/7т) формулы D.14) и D.15) могут быть записаны в форме 90
с = А'р, D.16) d*(b,p). D.17) Легко видеть, что если неравенство {c,x)<d является неотрицатель- неотрицательной линейной комбинацией неравенств системы D.12), то Ax<b=>(c,x)<d . В дальнейшем нам понадобится результат, являющийся одной из формулировок леммы Фаркаша, который мы сформулируем без доказа- доказательства [б]. Теорема 4.1. Имеет место следующая альтернатива: либо система уравнений А'у = с имеет неотрицательное решение, либо имеет решение система неравенств Ах < О, (с,х) > 0. Рассмотрим несколько очевидных соотношений. Пусть p = (pl,p2,...,pm) неотрицательный вектор, /?,>(), / = 1,...,т. Умножив /-е равенство системы D.12) на число pi получим: pi(anxl+ai2x2+... + ainxn)<pibl. D.18) Просуммируем полученные неравенства по / = 1,...,/и: qj D.19) /=/ 7=1 '=1 п Так как число X ayxj представляет собой компоненту вектора Ах, то 7=1 формулу D.19) можно записать в более компактной форме: (р,Ах)<(р,Ь). D.20) Поскольку (р9Ах) = {А'х9р), D.21) то при р > 0 из неравенства Ах < b вытекает: (А'р,х)<(р,Ь). D.22) Обозначим через Y множество планов двойственной задачи D.4)- D.6). 91
Лемма 4.1. Пусть хеХ, yeY — произвольные допустимые реше- решения прямой D.1)-D.3) и двойственной D.4)-D.6) задачи. Тогда (c,x)<(b,y). D.23) Доказательство. Поскольку х е X, то Ах < Ъ. Умножив это неравен- неравенство на вектор у>0 из D.20) и D.22), получим Лемма 4.2. Пусть х е X, у eY — допустимые решения задач D.1)-D.3); D.4)-D.6) соответственно. Если (с,х ) = (b,y ), то х — оп- оптимальное решение задачи D.1)-D.3); у — оптимальное решение зада- задачи D.4.)-D.6). Доказательство. Пусть хеХ — допустимое решение задачи D.1)-D.3).Тогда по лемме 4.1 {с,х)<{Ь,у \ = (с9х V т.е. х — опти- оптимальное решение задачи D.1)-D.3). Если у eY — допустимое решение задачи D.4)-D.6), то также учитывается утверждение леммы 4.1 {b,y)>ic,x ) = (b,y ) и следовательно, у —оптимальное решение за- задачи D.4)-D.6). Легко видеть, что лемма 4.2 дает достаточное условие оптимальности решение прямой двойственной задачи. Основу теорем двойственности составляют две теоремы. Одна из них называется первой теоремой двойственности, вторая — теоремой равно- равновесия. Кроме достаточного признака оптимальности взаимодвойственных задач, существуют и другие важные соотношения между их решениями. Ответ на вопрос о взаимной разрешимости двойственных задач дает сле- следующая теорема [47]. Первая теорема двойственности. Если взаимодвойственные задачи D.1)-D.3) D.4)-D.6) имеют непустое множество допустимых решений, то они имеют оптимальные решения, значения которых совпадают. Доказательство. Пусть каждая из задач D.1)-D.3) и D.4)-D.6) имеет непустое множество допустимых решений и у eY — произвольное до- допустимое решение (план) задачи D.4)-D.6). Тогда по лемме 4.1 целевая функция {с, х) ограничена на множестве X числом (b,y). Отсюда учитывая, что множество решений задачи 92
D.1)-D.3) йе пусто и ограничено, следует, что она имеет оптимальное ре- решение х . Рассмотрим в пространстве Rm систему линейных уравнений А'у = с D.24) D.25) Если вектор у* неотрицателен и является решением системы D.24)- D.25), то 1) у — допустимое решение задачи D.4)-D.6), так как у >0, А'у*=с; 2) у — оптимальное решение задачи D.4)-D.6), так как (b,y ) = /с,х \, а это согласно лемме 4.2 является достаточным усло- условием оптимальности 3) оптимальные значения (с,х \ (b,y \ задач D.1)-D.3) и D.4)-D.6) совпадают. Таким образом, для доказательства теоремы двойственности оста- остается показать, что система D.24)-D.25) имеет неотрицательное реше- решение. Запишем эту систему в матричном виде. Пусть А = с } , тогда с = Ау = с D.26) — запись системы уравнений D.24), D.25) в новых обозначениях. Допустим, что система D.26) не имеет неотрицательных решений. В этом случае, согласно теореме 4.1, имеет решение система нера- неравенств J5'x<0, (с,х)>0. D.27) Здесь вектор х имеет размерность п +1 (в соответствии с тем, что у матрицы А! = (А,Ь) имеется и +1 столбец)'. 93
Обозначим х = (х9у), где xeR" 9 а у — число. Тогда система неравенств D.27) может быть записана в виде Ах + уЪ<09 D.28) 0. D.29) Покажем, что данная система не может иметь решения (х9у). Умножим скалярно неравенство D.28) на вектор у > 0 — план задачи D.4Н4.6) (y9Ax) + y(y9b)<0. D.30) Воспользовавшись равенствами (у9Ах)<(А'у9х) = (с9х) из D.26) по- получаем (с,х) + у(р9у) < 0, что вместе с D.29) дает у 1(с9х )- (b9у) 1> 0. Так как (с,х* ) < (b,y), то у < 0. Поделив обе части неравенства D.28) на положительное число -у, получим А у~у \< Ъ. Это означает, что вектор ~у допустим для зада- задачи D.1)-D.3). Так как х — решение задачи D.1)-D.3), то (с,~у)<(с,х у, или (с9х) + у(с9х )<0, что противоречит D.29). Та- Таким образом, система D.28), D.29) не может иметь решений, и, следова- следовательно, теорема двойственности доказана. Теорема равновесия [2]. Пусть х* =(х*19х*2,...,х*п} и у* ={у*19у*2<>...,у*т) — оптимальные решения прямой и двойственной за- задачи D.1)-D.3) и D.4)-D.6). Тогда если yi > 0, то aiXx\ +а12ь+... + а1нх*я=Ьг D.31) Доказательство. Поскольку х е X, то Ах < Ь. Умножим это нера- неравенство скалярно на у >0 и получим (с9х \ = (А'у ,jc \ = 94
Учитывая, что по теореме двойственности (с,х \ = (b9y ), получим (у* 9Axj = (b9y*\. Следовательно, (у*, -Ах + b) = 0. Вектор г = -Ах + й неотрицателен, так как Ах <Ъ. Рассмотрим скалярное произведение Скалярное произведение (y*,r) = Y,y*ri может равняться нулю толь- ко в том случае, когда равенство у^ rz- = 0 выполняется для всех i = 1,...,/и. Если у* > О, то 0 = rt = (b - Ах* j = bt - J? ayxj отсюда и выте- вытекает утверждение теоремы. Отметим, что решение задач D.1)-D.3) и D.4)-D.6) не обяза- обязательно единственно. В связи с этим обратим внимание на то, что в теореме равновесия речь идет о любой паре решений х , у этих за- задач. Рассмотрим следствия из теоремы двойственности. Теорема 4.2. Если одна из симметричных взаимодвойственных задач имеет решение, то имеет решение и другая. Доказательство. Допустим, одна из взаимодвойственных задач, на- например, D.1)-D.3), имеет оптимальное решение х . Тогда возможны два случая: а) множество допустимых решений Y задачи D.4)-D.6) — не пусто, и целевая функция (b,y) ограничена на нем снизу числом (с,х \ (со- (согласно лемме 4.1) и, следовательно, задача D.4)-D.6) имеет опти- оптимальное решение; б) задача D.4)-D.6) не имеет допустимых решений. Тогда по теореме 4.1 имеет решение х система неравенств Ах<09 (с,х)>0. Рассмотрим вектор jc = jc +jc. Ясно, что Ах<Ь9 т.е. хеХ. При этом (c,jc) = /c,x ) + (c,x)>(c,jc \, что невозможно. Следовательно, вто- второй случай нереализуем и теорема доказана. Теорема 4.2. указывает, что имеются следующие возможности: а) обе задачи D.1)-D.3) и D.4)-D.6) имеют непустое множество допус- допустимых решений, (а, следовательно, имеют оптимальное решение); 95
б) обе задачи D.1)-D.3) и D.4)-D.6) не имеют допустимых решений; в) одна задача имеет допустимые решения, а другая нет. Приведем примеры, где видно, что все три возможности имеют место: a) max(xj+X2) minD>>i 2у{+у2>\ х, + 2х2 < 4 \у{ + 2у2 > 1 ^О, х2>0 ^>0, у2>0 Поскольку значения целевых функций прямой и двойственной задачи совпадают, то по лемме 4.2 х и у являются оптимальными решениями соответствующих задач: б) max(xj +3*2) minC>>i -4y2) хх-х2<3 [ух-у2>\ -х1+х2<-4 \-у1+у2>Ъ х{>0, х2>0 ух>0, у2>0. Обе задачи не имеют решений: в) max x\ х, > 0 , х2 > 0 ух > 0. Здесь прямая задача допустима, двойственная — нет, при этом значе- значение целевой функции первой задачи неограниченно. В общем случае эта ситуация описывается следующей теоремой. Теорема 4.3. Если одна из двойственных задач недопустима, а вто- вторая — допустима, то целевая функция второй задачи неограниченна на допустимом множестве. Доказательство, Пусть задача D.4)-D.6) недопустима, а допустимое множество Jf задачи D.1)-D.3)— не пусто. Если предположить, что це- целевая функция (с,х) ограниченна на множестве X, то тогда задача D.1)-D.3) имеет оптимальное решение, а следовательно, по теореме 4.2 96
должна иметь решение и задача D.4)-D.6), что противоречит условиям теоремы 4.3. Теорема 4.4. Пусть х =(хрх2,...,хЛ), у=(у1,у2,-,Ут) допустимые планы задач D.1)-D.3) и D.4)-D.6) соответственно, при этом выполняет- выполняется условие: если, yf > 0, то апхх + апх2 + ... + Д,А =br D.32) Тогда х , у оптимальные решения соответствующих задач [49]. Доказательство. Из условия D.32) вытекает, что (у9Лх) = (y,b). По- Поскольку (у, Лх) = \А*у,xj — (с,jc) , получаем равенство (с, х) = (р9 у). Применяя лемму 4.2, получаем утверждение теоремы. Рассматривая экономический смысл теории двойственности, необхо- необходимо отметить следующее. План производства х* = (х*19х*2,...9х*п) и набор цен (оценок) ресурсов у* = (у*, у\,..., ут J оказываются оптимальными тогда и только тогда, когда прибыль с выручки от продукции, найденная при «внешних» (заранее известных) ценах CvC2,...9Cn, равна суммар- суммарным затратам на ресурсы по «внутренним» (определенным только по решениям задачи) ценам У\,у2,...,ут - Для всех других планов задач х и у в соответствие с неравенством леммы 4.1 прибыль (выручка) от продук- продукции меньше (или равна) затратам на ресурсы. Чтобы дополнительно изучить свойства взаимодвойственных задач D.1)-D.3) и D.4)-D.6), приведем каждую из них к каноническому виду. п Для этого в систему ограничений D.2) X<tyXy < bf i = l,...,m следует вве- ввести т неотрицательных переменных хн+19хп+29...9хп+т9 а в систему огра- т ничений D.5) (?#,•,}>, > су, j = 1,...,и) — п неотрицательных переменных Ут+\*Ут+г*—>Ут+п* системы ограничений каждой из взаимодвойственных задач примут вид: п ^atJXj+ xn+i =bi9 / = 1,...,/и, D.33) т 1La9yi-ym+j=cj> У = и.,л. D.34) 97 4 Исследование операций
Установим соответствие между первоначальными переменными одной из двойственных задач и дополнительными переменными другой задачи [25]. Таблица 4.2 D.35) Теорема 4.5. Положительным (ненулевым) компонентам оптимально- оптимального решения одной из взаимодвойственных задач соответствуют нулевые компоненты оптимального решения другой задачи, т.е. для любых / = 1,...,/я и у = 1,...,л: если ху >0, то y*m+J = 0 , если хп+; >0, то yj = 0 и аналогично, если у* >0, то x*n+i = 0; если y*m+J > 0, то x*j= 0. Доказательство. Выразим дополнительные переменные из системы ограничений прямой задачи D.33) и двойственной задачи C.41) Переменные исходной задачи I Первоначальные х, х2 ... Xj ... хп г г г г Дополнительные Дополнительные Хп+\ Хп+2 ••¦Xn+j ¦¦Хп+т г г г г У\ Уг ••• yt - Ут Первоначальные Переменные двойственной задачи II = 1,...,да, D.36) ym+j=lLyi-Cj,j = \,..,n. D.37) Умножив каждое неравенство системы D.36) на соответствующее > 0 и складывая полученные неравенства, найдем: т т т п Е ХшУг = Z btyt -11 аух]У> ¦ <=1 1=1 /=17=1 D.38) Аналогично, умножая каждое неравенство системы D.37) на соответст- соответствующее переменные х} > 0 и складывая полученные неравенства, найдем: Z Xjy^j = Z I Ofay, ~? CjXj. j=i /=iy=i y=i D.39) Равенства D.38) и D.39) будут справедливы для любых допустимых значений переменных, в том числе и для оптимальных значений xj, 98
x*n+l, у*, y*m+j- В силу первой теоремы двойственности получим: п # т ч Hcjxj =Z*i^ > поэтому из записи правых частей D.38), D.39) следует, >=1 /=1 что они должны отличаться только знаком. С другой стороны, из неот- т п рицательности выражений и ? хп+<у* и ? х<ут+-, входящих в выраже- ния D.38) и D.39), следует, что те же правые части этих неравенств должны быть неотрицательными. Эти условия могут выполняться одновременно только при равенстве этих правых частей для оптимальных значений переменных нулю: D.40) 7=1 В силу условия неотрицательности переменных каждое из слагаемых в равенствах D.40) должно равняться нулю откуда и вытекает заключение теоремы. Из доказанной теоремы следует важный вывод о том, что введенное ра- ранее соответствие D.35) между переменными взаимодвойственных задач при достижении оптимальности (т.е. на последнем шаге решения каждой задачи симплексным методом) представляет соответствие между переменными од- одной из двойственных задач и неосновными (равными нулю) переменными другой задачи, когда они образуют допустимые базисные решения. Рассмотренная теорема является следствием следующей теоремы. Вторая теорема двойственности. Компоненты оптимального реше- решения двойственной задачи равны абсолютным значениям коэффициентов при соответствующих переменных целевой функции исходной задачи, выраженной через неосновные переменные ее оптимального решения. Проиллюстрируем вторую теорему двойственности на следующем примере. Пусть даны две взаимно двойственные задачи: D.41) 99
Z = min A Syl +16y2 + 5y3 + 2 \y4) D.42) Xj + 3X2 2xj + x, < x2<5 3x{<: \ > 0 , x2 > 0 >,/ = l,2,3,4. На основании выражения D.35) установим следующее соответствие между переменными: Х2 г Ув х, г X Уг г Уз г Ул- Решая каждую из задач симплекс-методом и выражая значения целе- целевой функции через неосновные переменные на последнем шаге получим: В исходной задаче = 24- -/5X4 В двойственной задаче Z = 24+ 7 при оптимальном базисном решении X' =F,4,0,0,1,3) при оптимальном базисном решении Г =(%,у5Ао,о,о). Компоненты оптимального решения двойственной задачи y\=Ys' у\ - уС , у*ъ = 0, у\ = 0, у*5 =0, у*6 = 0 равны (по абсолютной величи- величине) коэффициентам при соответствующих переменных целевой функ- функции D.41), которую можно представить F = 24 - 4^ х3 - J/C х4 - 0х5 - 0х6 - 0х{ - 0х2, решения исходной задачи х\ = 6, хг = 4, Хз = 0, Х4 = 0, х*5 = 1, х^ = 3 равны коэффициентам при соответствующих переменных линейной функции D.42), которую можно представить в виде: в виде а компоненты оптимального В случае если в одной из взаимодвойственных задач нарушается единственность оптимального решения, то оптимальное решение двой- двойственной задачи вырождено. Это связано с тем, что при нарушении 100
единственности оптимального решения исходной задачи в выражении целевой функции через неосновные переменные отсутствует хотя бы од- одна из основных переменных. Используя теоремы двойственности, можно, решив симплексным мето- методом исходную задачу, найти оптимальное решение двойственной задачи. Рассмотрим следующий пример. Определим максимум целевой функции F = -хх + 2х2 при ограничениях: *-2х1+х2 <-1 хх - 4х2 < -24 хх + х2 < 3 х{ + х2 > 5 хх > 0 , х2 > 0 . Определим оптимальное решение для двойственной задачи и опти- оптимум целевой функции двойственной задачи, используя теоремы двойст- двойственности. Решение. Используя симплекс-метод, получим на последнем шаге оп- оптимальное решение X =D,7,0,0,6,6) . Целевая функция на этом реше- решении, выраженная через неосновные переменные, имеет вид T.e. Fmax=10. В данной задаче соответствие D.35) между переменными прямой и двойственной задач имеет вид: г г г г г г D.43) .Уз У в Ух У2 Уз Уа- На основании первой теоремы двойственности Zmin = Fmax = 10. На ос- основании второй теоремы двойственности и соотношения D.43) оптималь- оптимальное решение двойственной задачи Y* -у/п-^А^0,0,0,0]. Такой метод ре- решения, при котором сначала решается двойственная задача, а затем оптимум и оптимальное решение находится с помощью теоремы двойст- двойственности называется двойственным симплекс-методом. Этот метод может быть эффективен, если, например, первое базисное решение прямой зада- задачи недопустимо, или когда число ограничений больше числа переменных. 101
4.3. Экономическая интерпретация объективно обусловленных оценок Компоненты оптимального решения двойственной задачи называют опти- оптимальными (двойственными) оценками исходной задачи, которые также еще имеют название объективно обуслов- обусловленных оценок [49]. Чтобы пояснить смысл этих оценок, вернемся к паре двойственных задач D.41) и D.42), уже рассмотренных нами, используя каноническую интерпретацию этих задач из табл. 4.1. Компоненты оптимальных решений этой задачи приведены в табл. 4.3. Таблица 43 Объективно обусловленные оценки ресурсов определяют степень дефицитности ресурсов, т.е. в оптимальном плане произ- производства дефицитные ресурсы по- получают ненулевые оценки, а не- недефицитные - нулевые оценки. Компоненты оптимального решения прямой задачи Число единиц продукции Остатки ресурсов (в единицах объема) Превышение затрат на ресурсы над ценой реализации Объективно обусловленные оценки ресурсов (условные цены ресурсов) Компоненты оптимального решения двойственной задачи В табл. 4.3 дополнительные переменные исходной прямой задачи х3, *4» Х5' Х6 > представляющие согласно D.36) разность между запасами bt, ресурсов и их потреблением, выражают остатки ресурсов. Дополнитель- Дополнительные переменные двойственной задачи у5, у6, представляющие в соот- соответствии с выражением D.37) разность между затратами на ресурсы для производства из них единицы продукции и ценами су продукции j = 1,2, выражают превышение затрат над ценой. Ресурсы bx, b2 по оптимальному плану полностью использованы (хз = 0, Х4 = 0), и объективно обусловленные оценки этих ресурсов не- ненулевые (у\ = у5, у\=Уъ\ Ресурсы b3, b4 не полностью используются в оптимальном плане (х*5 = 1, х*6 = 3) и объективно обусловленные оценки этих ресурсов 102
Таким образом, объективно обусловленные оценки ресурсов опреде- определяют степень дефицитности ресурсов, т.е. в оптимальном плане произ- производства дефицитные (т.е. полностью используемые) ресурсы получают ненулевые оценки, а недефицитные — нулевые оценки. По оптимальному плану в исходной задаче следует производить оба вида продукции (х* = 6, х*2 = 4), и превышение затрат на ресурсы над це- ценой реализации равно нулю (у*5=0, у\ = 0). Если бы затраты на ресур- ресурсы превышали цену изготавливаемой из них продукции, например, про- продукции второго вида, т.е. если бы у\ > О, то на основании теоремы 4.5 оптимальное решение соответствующей переменной х*2 = 0, и в этом случае по оптимальному плану производить продукцию Р2, т.е. продукцию второго вида, не следует. Таким образом, в оптимальный план производства могут попасть только рентабельные (неубыточные) виды продукции при условии, что критерий рентабельности состоит в том, что цена продукции не превы- превышает затрат на потребляемые при ее изготовлении материально- сырьевые ресурсы. Следующая теорема отвечает на вопрос о том, что же показывают численные значения объективно обусловленных оценок ре- ресурсов. Третья теорема двойственности. Компоненты оптимального реше- решения двойственной задачи равны значениям частных производных линей- линейной функции Fmax =Fpfe2,...,ftm) по соответствующим аргументам, т.е. ^ = ^;,(/ = 1,2,...,т). D.44) дЬ Доказательство. Используем для доказательства табл. 4.1 взаимно- двойственных задач D.1)-D.3) и D.4)-D.6). В соответствии с D.4), опти- оптимальное значение целевой функции 1=1 Изменим незначительно значение /-го ресурса bt на величину Д&,, при этом оптимальное решение двойственной задачи не изменится, (на рис. 4.1 для случая двух переменных оптимальное решение соответствует точке 5), т.е. y\,y*2i—<>y*m прежние, а изменится только линейная функция (на рис. 4.1 для случая Z = bxyx + b2y2 изменится наклон линии уровня). 103
Рис. 4.1 Тогда изменение минимальных затрат на ресурсы можно выразить следующим образом: + b2y2 ... + Ътут ) = Abj* т.е. AZ* = Atyy*. Учитывая, что по первой теореме двойственности Fmax = Zmin, максимальная прибыль (выручка) также увеличится на откуда D.45) Существенным в этой ситуации является то, что последнее соотноше- соотношение остается верным и для достаточно малых изменений А^, так как в противном случае могут существенно измениться наклон линии уровня (см. рис. 4.1) и оптимум в силу того что минимум целевой функции Z может перейти в другую угловую точку, что приведет к изменению оп- оптимального решения. Понятие достаточной малости приращения запаса ресурса Д6, можно формализовать, потребовав, чтобы Ай7 стремилось к нулю. Из соотно- соотношения D.45) получим доказываемую формулу D.44). Из соотношения D.45) следует, что объективно обусловленные оцен- оценки показывают, на сколько денежных единиц изменится максимальная прибыль (выручка) от реализации продукции при изменении запаса со- соответствующего материально-сырьевого ресурса на одну единицу. 104
Вернемся к паре взаимно двойственных задач, рассмотренных ра- ранее. F - 2хх + Зх2 -> max xl+3x2 2х. + х9 х2<5 Z = X! > 0, х2 > О 16>>2 ^>0, / = 1,2,3,4. Решая задачу на минимум, получим у = т.е. при увеличении (уменьшении) запаса ресурсов Ъ\ или Ь\ на единицу максимальная прибыль (выручка) увеличивается (уменьшается) соответ- соответственно на уС и у с. руб., а при изменении запасов ресурсов Ь$, Ь^ — не изменится. В задаче I из приведенной пары задач D.46), D.47) исследуем ситуа- ситуацию, когда возможно расширение производственной программы за счет выпуска дополнительного, третьего вида продукции. Рассмотрим, как могут быть использованы двойственные оценки для составления опти- оптимальных затрат и результатов производства. Пусть затраты ресурсов на выпуск третьего вида продукции состав- составляют а13 = 3 единицам ресурса первого вида, а22 - 2 единицам ресурса второго вида, а33 = 4 единицам ресурса третьего вида, я43 = 1 единице ресурса четвертого вида; цена единиц продукции третьего вида с3 = 3 . Определим, даст ли дополнительную прибыль включение третьего вида продукции в программу производства. Для ответа на этот вопрос можно видоизменить целевую функцию и ограничения задачи D.46) Но можно определить целесообразность включения третьего вида продукции в производственную программу, используя объективно обусловленные оценки ресурсов, для чего сопоставим дополнительные затраты на вы- 105
пуск продукции с ценой реализации продукции. Для расчета затрат вос- воспользуемся формулой = 3-У5+2-У5+4-0+ 1-0 = 3,6 руб. Учитывая, что затраты на продукцию третьего вида выше цены реали- реализации с3 = 3 , включать ее в производственную программу нецелесообраз- нецелесообразно. Для того чтобы производство продукции третьего вида было рента- рентабельно, необходимо чтобы цена ее реализации была не менее 3,6 руб. Заметим, что объективно обусловленные оценки позволяют судить об эффекте изменения объемов материально-сырьевых ресурсов не во всех случаях их изменения, а лишь при локальных их возмущениях. Проанализируем, при каких изменениях объемов ресурсов двойствен- двойственные оценки остаются неизменными. Рассмотрим ситуацию, когда запасы ресурсов по каждому виду увеличиваются на 10 единиц (одновременно или в отдельности). Рассмотрим, как изменяется максимальная прибыль (выручка) от реа- реализации продукции. Предположим, что запасы ресурсов Ъх, Ъ2, Ь3, Ь4, равные первона- первоначально 18, 16, 5, 21 единицам, изменились соответственно на величину Abx, АЬ2, АЬ3, Л&4- Тогда затраты на ресурсы в соответствии с выражением D.4) составят: Z = A8 + АЬ{)у{ +A6 + АЬ2)у2 + Заменим у{, у2 их выражениями через неосновные переменные оп- оптимального решения: Подставляя значения у\, у>2 в выражения для Z, получим: Z = B4 + У5&Ь{ + У5 &Ь2) + A ~У5^Ь{ +^А + C + У5АЬ1~У5 АЬ2 + Д2>з )^4 + F - У5 Аи, + % Л62 )Уь + D.48) 106
В случае если АЬХ = АЬ2 = АЬ3 = АЬ4 = 0, т.е. запасы ресурсов равны первоначальным значениям, получим ранее известное выражение линей- линейной целевой функции Z через неосновные переменные оптимального ре- решения задачи D.47). Для того, чтобы в выражении D.48) оставались не- неизменными оценки ресурсов и при изменении запасов ресурсов, т.е. сохранилось бы решение двойственности задачи Y - уу- >у- ,0,0 j, дос- достаточно, чтобы коэффициенты при неосновных переменных в выраже- выражении D.48) оставались неотрицательными, и, следовательно, значение це- целевой функции нельзя было бы улучшить. D.49) Предположим, что изменяется только запас ресурса Ьх, а остальные запасы ресурсов остаются неизменными: АЬ2 = АЬ3 = АЪ4 = 0. Тогда из выражения D.49) получим: 1-0,4Д^>0 АЬХ<2,5 3 + 0,6^ ?0 Д^>-5 0 АЬх<30 Ь2+Дйз >0 3/,АЬх-9/,АЬ2+АЬ4>0 Следовательно, -5 < АЬХ < 2,5 и 18 - 5 < Ъх + АЬ} < 18 + 2,5 или 13 < 2?! +АЬХ <20,5, т.е. при неизменности объективно обусловленных оценок ресурсов запас ресурса Ъ\ может изменяться в пределах от 13 до 20,5 единиц. Аналогично можно получить, что 11 <b2 + Ab2 <\lVL\ 4 < Ь3 + АЪЪ < оо; 18 < Ъ4 + АЬ4 < оо. Таким образом, при применении запа- запаса только одного из ресурсов Ъх в пределах от 13 до 20,5 единиц или Ъ2 в пределах от 11 до 17^ единиц, или Ъъ в пределах не менее 4 единиц, или Ъ4 в пределах не менее 18 единиц, оптимальное решение двойствен- двойственной задачи остается прежним, т.е. Y = И/,^,0,0,0,0]. 107
Таким образом, получим, что увеличение на 10 единиц в отдельно- отдельности запасов ресурсов первого или второго вида приведет к изменению их объективно обусловленных оценок, а запасов ресурсов третьего или четвертого вида оставит эти оценки прежними (равными нулю). С уче- учетом изложенного можно сделать вывод, что в результате полученных оптимальных оценок ресурсов невозможно найти соответствующее изменение прибыли AFmax . Если запасы ресурсов изменяются одно- одновременно, то исследование устойчивости объективно обусловленных оценок усложняется, поскольку в данном случае необходимо опреде- определить многогранник решений системы неравенств D.49). Если же речь идет о некотором фиксированном увеличении объема ресурсов, на- например на 10 единиц по каждому виду, то достаточно проверить удов- удовлетворяют ли эти изменения системе неравенств D.49), т.е. Abl=Ab2=... = Ab4=\0. В рассматриваемом примере все неравенства системы D.49) справед- справедливы, следовательно, оптимальное решение двойственной задачи остает- остается прежним, т.е. Y = (%,%,0,0,0,0). Изменение максимальной прибы- прибыли в этом случае составит: + у2АЪ2 + у3АЬ3 + у4АЬ4 = 10 • % + +10-^ + 0-10+ 0-10 = 14 дуб. По соотношению объективно обусловленных оценок могут быть оп- определены расчетные нормы заменяемости ресурсов, при соблюдении ко- которых проводимые замены в пределах устойчивости двойственных оце- оценок не влияют на эффективность оптимального плана. По условию задачи D.47) определим нормы заменяемости ресурсов первого и второго вида, т.е. у[\ у*2 = J/: у, - уС, иными словами для максимизации общей прибыли (выручки) каждые дополнительные три единицы ресурса первого вида эквивалентны дополнительным четырем ресурсам второго вида. Этот вывод действителен в пределах устойчивости двойственных оценок, когда изменение запасов ресурсов АЪХ, АЬ2, а также АЬ3, АЬ4 удовлетворяют системе D.49). Рассмотрим способ анализа прямой задачи с использованием двойст- двойственных оценок при изменении запасов ресурсов и при условии, что есть 108
решение двойственной задачи на примере пары взаимно двойственных задач D.41) и D.42). Пусть изменение запасов ресурсов заключается в следующем: AZ?j = -2, Ab2 = 1; Ab3 = 5, Ab4 = 19. Эти изменения находятся в преде- пределах устойчивости двойственных оценок. Это легко проверить, подставив Abl9 Ab2, Ab3, Ab4 в систему неравенств D.41). Вследствие этого реше- решение двойственной задачи Y* =(%,^,0,0,0,0) останется без изменения. На основании теоремы D.5) положительным значениям переменных ух = у у2-у оптимального решения двойственной задачи соответ- соответствуют нулевые значения переменных прямой задачи х3 = 0, х4 = 0. По- Поэтому остальные переменные оптимального решения исходной задачи можно найти, исходя из системы ограничений, в которой х3 = 0 , х4 = 0, а в правых частях указаны скорректированные запасы материально- сырьевых ресурсов: / = 1,2,3,4). Определим Ъ\ и запишем систему ограничений ^' = 18-2 = 62=16 + 1 = 17, ^ =5 + 5 = 10, 2>;=21 + 19 = 40 хх +3х2 =16 2хх+х2 =17 х2 +х5 =10 откуда хх = 7, х2 = 3 , х5 = 7, х6 = 19. Соответствующее значение мак- максимума целевой функции прямой задачи равно: AFmax =2-7 + 3-3 = 23. Таким образом, максимальный размер прибыли (выручки) составит AFmax = 23 руб. при оптимальном плане производства х = G,3,0,0,7,19).
Глава 5 ТЕОРИЯ ИГР Очень часто в задачах бизнес-анализа два или более лиц принимают решения независимо друг от друга, и решение, принятое каждым кон- конкретным лицом, влияет на результаты остальных. В данной главе мы более подробно остановимся на ситуации двух игроков, имеющих про- противоположные интересы. Кратко рассмотрим ситуацию большего числа игроков, а также случай неантагонистических интересов между игро- игроками. 5.1. Основные понятия теории игр Теория игр - это матема- математическая дисциплина, иссле- исследующая ситуации, в которых Теория игр— это математическая дисциплина, исследующая ситуации, в которых принятие решений зависит от принятие решений зависит от 1Л нескольких участников. нескольких участников. Интересы уча- стников могут быть как антагонистиче- антагонистические (полностью противоположные) так и неантагонистические. В по- последнем случае может исследоваться вопрос о наиболее эффективных совместных действиях (кооперативные игры). Игра — это упрощенная формализованная модель реальной ситуа- ситуации, описывающая действия двух или более участников. Предполагается, что известны варианты действий сторон (стратегии), исход игры для ка- каждого участника в случае выбора конкретных действий всеми участни- участниками, степень и порядок информированности каждого участника игры о поведении всех других участников. Приведем некоторую классификацию игр в зависимости от различ- различных параметров. Количество игроков. Различаются игры двух лиц B участника игры) и игры п лиц (число участников более 2). Количество стратегий. Если каждый из игроков имеет конечное число возможных стратегий в игре, то игра называется конечной. Если число стратегий хотя бы одного из участников игры бесконечно, то игра называется бесконечной. ПО
Соотношение интересов участников. Игры с нулевой суммой — сумма выигрышей участников всегда равна нулю (антагонистические интересы — антагонистические игры). Игры с ненулевой суммой. Возможности взаимодействия участников. С этой точки зрения можно рассматривать коалиционные (допускается образование коалиций между участниками), бескоалиционные (коалиции не допускаются) и кооперативные игры (коалиции определены заранее). Тип функции выигрыша. По данному критерию традиционно рассматри- рассматриваются такие классы игр, как матричные (игра 2-х лиц, выигрыш одного из игроков (соответственно проигрыш другого) задается в виде матрицы), би- матричные (игра 2-х лиц, выигрыш каждого из игроков задается своей мат- матрицей), непрерьгоные (функция выигрышей является непрерывной функци- функцией на множестве стратегий каждого из игроков), выпуклые (функция выигрышей есть выпуклая функция на множестве стратегий) и так далее. Количество ходов. Если после одного хода каждого игрока игра заканчивается и происходит распределение выигрышей, то игра назы- называется одношаговой. В противном случае игра называется многошаго- многошаговой (позиционной, например, шахматы). Кроме этого выделяются различные классы игр по иным признакам (статистические, дифференциальные и многие другие). В частности рассматриваются так называемые «игры с природой», т.е. игры, когда в качестве второго игрока выступает не игрок с противоположными ин- интересами, а некоторая сторона с «неопределенными» интересами (при- (природа). В этом случае для поиска оптимальных стратегий используются наряду с принципом гарантированного результата и другие критерии, например Максимакса, Вальда, Сэвиджа, Гурвица, которые рассмотрим далее. 5.2, Игры двух лиц с нулевой суммой 5.2.1. Основные предположения для игр двух лиц с нулевой сум- суммой. Игра двух лиц с нулевой сум- суммой задается следующими условия- условиями: В игре с нулевой суммой сумма выигрышей игроков всегда равна нулю. Платилыциком выигрыша первого игрока является второй иг- игрок. Таким образом, какая-либо коо- кооперация между ними не возможна имеются два игрока, стратегии одного из которых расположены по строкам (первый игрок), а дру- другого по столбцам (второй игрок); 111
V каждый игрок выбирает одну из своих стратегий независимо от друго- другого: первый одну из т стратегий, второй одну из п\ V если первый игрок выбирает стратегию /, а второй стратегию у, то первый игрок получает выигрыш atj, который интерпретируется как платеж от второго игрока. Такая игра называется игрой двух лиц с нулевой суммой и пред- представляется в виде матрицы игры (табл. 5.1), которая содержит выиг- выигрыши первого игрока (или, как отмечалось, проигрыши второго игро- игрока). Таблица 5.1 Стратегия 1 Игрока 1 Стратегия 2 Игрока 1 Стратегия т Игрока 1 Стратегия 1 Игрока 2 «и «21 ««1 Стратегия 2 Игрока 2 «12 «22 ат2 Стратегия п Игрока 2 «.„ «2* «„,„ В табл. 5.2 приведена некоторая конкретная матрица игры, согласно которой выигрыш первого игрока составит 2 единицы, если первый иг- игрок выберет свою вторую стратегию, а второй игрок свою первую стра- стратегию. Таблица 5.2 Стратегия 1 Стратегия 2 Стратегия 1 1 2 Стратегия 2 2 1 Стратегия 3 3 -2 Стратегия 4 -1 0 В игре с нулевой суммой сумма выигрышей игроков всегда равна ну- нулю. Как уже отмечалось, плательщиком выигрыша первого игрока явля- является второй игрок. Таким образом, какая-либо кооперация между ними не возможна. 5.2.2. Верхнее и нижнее значение игры, условие седловой точки. Предполагается, что каждый из игроков знает стратегию своего против- противника и платежную матрицу игры. Рассмотрим с этой точки зрения неко- некоторую конкретную игру (табл. 5.3). 112
Таблица 5.3 Стратегия 1 Стратегия 2 Стратегия 3 Максимум по столб- столбцам Стратегия 1 4 2 6 6 Стратегия 2 4 3 5 5 Стратегия 3 10 1 7 10 Минимум по стро- строкам 4 1 5 Матрица удовлетворяет усло- условию седловой точки в том случае, если: max (минимумы по строкам) = min (максимум по столбцам) или max min a. = min max a.. Величина называет- называется нижней ценой игры, или макси- максимальным гарантированным вы- выигрышем первого игрока (максимином). Величина min max а., называется верхней ценой игры, или минималь- минимальным гарантированным проигры- проигрышем второго игрока (минимаксом). Как должен играть первый иг- игрок? Если первый игрок выберет свою первую стратегию, то второй игрок, очевидно, выберет первую или вторую, поскольку в этом слу- случае его потери будут минимальны- минимальными - 4 единицы. Значение «4» явля- является минимальным в первой строке. Рассуждая аналогично, легко ви- видеть, что если первый игрок выби- выбирает свою третью стратегию, то второй выбирает 3-ю, проигрывая при этом 1. Если первый игрок вы- выбирает стратегию 2, то второй стра- стратегию 2 с проигрышем 5. В крайнем правом столбце таблицы записаны минимумы по строкам. Логично предположить, что первый игрок будет выбирать стратегию, обеспечивающую ему выигрыш максимального из этих значений. Мы показали, что первый игрок может гарантированно выиграть по крайней мере 5 единиц. Он понимает, что на большее он рассчитывать не может, так как, выбирая стратегию 2, второй игрок обеспечивает выиг- выигрыш первого не более 5. Матрица, которую мы рассматриваем, удовлетворяет условию седло- вой точки: max (минимумы по строкам) = min (максимум по столбцам). E.1) Говорят, что если выполнено условие E.1), то игра имеет седловую точку. В строго математическом виде это можно переписать как v = max min atJ = min max au. E.2) 113
Справедлива следующая теорема: Теорема 1. Для любой конечной игры выполнено соотношение max min а.. < min max au. max min au < max au. J \<i<m J Доказательство: Очевидно, что отсюда получаем Так как в этом неравенстве слева стоит конкретное число, а справа — выражение, зависящее от/, то справедливо следующее неравенство max min аи < min max au, \&<м\?}<м J l<j?nl?i<m J что и требовалось доказать. Назовем величину max min au нижней ценой игры, или максимальным \<Li<>m\<>jun J гарантированным выигрышем первого игрока (максимином). Стратегия, соответствующая максимину, называется максиминной стратегией. Назовем величину min max au верхней ценой игры, или минималь- \ZJZn \&<т J ным гарантированным проигрышем второго игрока (минимаксом). Стра- Стратегия, соответствующая минимаксу называется минимаксной стратегией. Как было доказано, нижнее значение любой матричной игры не пре- превосходит верхнего значения. Если игра имеет седловую точку, то первый игрок может выбирать любую стратегию, для которой реализуется максимум в левой части со- соотношения E.2) (максиминная стратегия), а второй игрок может выбрать любую стратегию, на которой реализуется минимум в правой части со- соотношения E.2) (минимаксная стратегия). Если игра имеет седловую точку, то общее значение v, которое достигается слева и справа в соот- соотношении E.2), называется ценой игры. Седловая точка может рассматриваться как точка равновесия в том смысле, что отклонение от нее для каждого из игроков невыгодно. Дей- Действительно, в нашем примере если первый игрок сменит свою оптималь- оптимальную стратегию 2 на 1 или 3, то выигрыш первого (соответственно проиг- проигрыш второго) увеличится. 114
В общем виде условие того, что пара стратегий (/0,у0) образуют си- ситуацию равновесия, можно записать как aiJo < aioJo < atj для всех / и j. Справедлива следующая теорема. Теорема 2. Конечная игра имеет седловую точку тогда и только то- тогда, когда существуют такие чистые стратегии (i09j0), при которых ;оУо 'oJ E.3) Доказательство (необходимость). Пусть игра имеет седловую точку, т.е. выполнено соотношение max min a.=min max a.. J \<,j<nl<>iSm J Тогда если /q — максиминная стратегия первого игрока, то maxmina..=mina. ;<a ,.. l</<ml<y^w IJ \<,j<n '0J 'О-7 Если у'о — минимаксная стратегия второго игрока, то а < max au = min max a, ,. />0 1Я*т J tejuni<j<m 0-> Поскольку max min a^ = min max aii, \<i<m\<j<n J \<j<n\<i<m J справедливо соотношение a. < max min a,, < a, .. E.4) lj0 \<i<m\<j<n lJ !0J Это неравенство справедливо при любых значениях / и;, ив частно- частности при / = /0 J = j0, а следовательно, a, i < max min au < at , . J '0^0 Откуда очевидно следует, что max min a. = min max a. = д. , . l?i?m\<j<n V \<,j<n\<i<m V 070 Из данных равенства и неравенства E.4) следует неравенство E.3), что и требовалось доказать. 115
(Достаточность). Если выполняется неравенство E.3), то справед- справедлива следующая последовательность неравенств min max аи < max au < a, , < min a, , < max min au. j , У i Vo hJo j hJ i j У Откуда следует, что min max au < max min au. J i J i J J В теореме была доказана справедливость обратного неравенства для произвольной матричной игры, а следовательно, справедливо равенство min max au = max min au, что и требовалось доказать. j i i j J Игра двух лиц с нулевой суммой далеко не всегда имеет седловую точку. Например, рассмотрим игру со следующей платежной матрицей (табл. 5.4) Таблица 5.4 Стратегия 1 Стратегия 2 Максимум по столбцам Стратегия 1 -1 +1 +1 Стратегия 2 +1 -1 +1 Минимум по строкам -1 -1 Как легко видеть, условие существования седловой точки для данной пла- платежной матрицы не выполняется в силу того что справедливо условие E.5) max min au = -1 < min max au - +1 \<i<m \<j<n J \<,j<n \<i<m J E.5) Далее исследуем вопрос о нахождении значения игры и оптимальных стратегий игроков в случае отсутствия седловой точки. 5.2.3. Смешанные стратегии. Как мы отмечали, не все игры двух лиц с нулевой суммой имеют седло- седловую точку. Рассмотрим, каким об- образом строятся оптимальные стра- стратегии в этом случае. В качестве примера приведем следующую иг- РУ- Пример (игра «четное- нечетное»). Два игрока одновременно выбрасывают один или два паль- Теорема фон Неймана. Каждая конечная игра с нулевой суммой имеет по крайней мере одно оптимальное решение, возможно, среди смешанных стратегий. Если один из игроков придерживается своей оптимальной смешанной стратегии, то выигрыш остается неизменным и равным цене игры V, если второй игрок не выходит за пределы своих активных стратегий. 116
ца. Если сумма выброшенных пальцев оказывается четной, то первый игрок получает от второго 1$. Если же количество выброшенных паль- пальцев будет нечетным, то первый игрок платит второму 1$. Рассмотрим платежную матрицу данной игры (табл. 5.5). Таблица 5.5 Стратегия 1 Стратегия 2 Максимум по столбцам Стратегия 1 -1 +1 +1 Стратегия 2 + 1 -1 +1 Минимум по строкам -1 -1 Как было показано, данная игра не имеет седловой точки, поскольку не выполняется соотношение E.2) В этом случае неясно, как находить значение игры и как определять оптимальные стратегии. Заметим, что для любой пары стратегий одному из игроков будет вы- выгодно отклоняться от своей стратегии при условии, что другой сохраняет свою стратегию. Для того чтобы ввести понятие оптимальных стратегий в случае иг- игры двух лиц без седловой точки, необходимо обобщить понятие страте- стратегии, введя понятие случайной стратегии. До этого под оптимальной стратегией мы понимали некоторую стратегию, которую игрок приме- применяет каждый раз, когда реализуется данная игра. Почему бы не предос- предоставить игрокам возможность выбирать свои стратегии некоторым слу- случайным образом в соответствии с некоторыми вероятностями. Пусть: X] — вероятность, с которой первый игрок выбрасывает один палец; х2— вероятность, с которой первый игрок выбрасывает два пальца; У\ — вероятность, с которой второй игрок выбрасывает один палец; Уг — вероятность, с которой второй игрок выбрасывает два пальца. Если х\ и Х2 таковы, что xi > 0, хг ^ 0 и х\ + Х2= 1, то (х\, xi) — слу- случайная, или смешанная, стратегия первого игрока. Аналогично (у\уг) — случайная, или смешанная, стратегия второго игрока, если уХ> 0,у2> 0, В общем случае смешанные стратегии есть векторы (хь Х2, ..., хт) и (Уи Уъ • -.9уп), Для которых х,> 0,/ = 1, ..., ,. =1, 7=1 E.6) E.7) 117
Если смешанная стратегия (х\, Х2, ..., хт) такова, что одно из значе- значений Xi¦¦= 1, а следовательно, остальные равны нулю, то такая стратегия на- называется чистой стратегией игрока. Чистая стратегия уже не является слу- случайной. Вспоминая игру, показанную ранее, можно записать оптимальную стратегию первого игрока, какх = @,0,1), а второго, как >> = @,1,0). Для случая игры со смешанными стратегиями платежная матрица принимает следующий вид (табл. 5.6). Таблица 5.6 X, х2 хт Ух «и «21 «ml Уг «12 «22 «т2 Уп «>„ «2„ тп Подход к определению решения игры при смешанных стратегиях также основывается на критерии минимакса. Единственная разница за- заключается в том, что первый игрок выбирает xz- так, чтобы максимизи- максимизировать наименьший ожидаемый выигрыш по столбцам, тогда как второй игрок выбирает у ,• с целью минимизировать наибольший ожидаемый проигрыш по строкам. Математически критерий минимакса при сме- смешанных стратегиях может быть описан следующим образом. Первый иг- игрок выбирает стратегию, обеспечивающую т max min У а..,*,, х, \<j<ni=x J где переменные х и у удовлетворяют соотношениям E.6) и E.7), а вто- второй игрок выбирает стратегию, обеспечивающую п min max У я„у,. yj \^<тр{ U J Эти величины определяются соответственно как среднеожидаемые максиминные и среднеожидаемые минимаксные платежи. Если х*, и у*j — оптимальные решения для обоих игроков, каждому элементу платежной матрицы ау соответствует вероятность x*y*j. Сле- довательно, оптимальное ожидаемое значение игры v =ZjjL ацх\ У\ 118
Как и в случае чистых стратегий, выполняется соотношение: минимаксный ожидаемый проигрыш > > максиминный ожидаемый выигрыш. Когда Xj и у,- соответствуют оптимальным решениям, выполняется строгое равенство, и результирующее значение равно ожидаемому (оп- (оптимальному) значению игры. Это утверждение следует из теоремы о ми- нимаксе и приведено здесь без доказательства. Справедлива следующая основная теорема теории матричных игр с нулевой суммой (теорема фон Неймана). Теорема 3. Каждая конечная игра с нулевой суммой имеет по крайней мере одно оптимальное решение среди смешанных стратегий. Вместо доказательства данной теоремы приведем формулировку более общей теоремы (также доказанной фон Нейманом), из которой приведенная теорема является следствием. Теорема 4. Пусть К(х,у) — вещественная непрерывная функция двух векторных аргументов х и у, принимающих значения из выпуклых, замк- замкнутых, ограниченных множеств С с Еп и D d Em . Причем К(х, у) во- вогнута по х для всех у е D и выпукла по у для всех х е С. Тогда min max К(х, у) = max min K(x, у). ух х у Вернемся к рассмотрению матричной игры в смешанных стратегиях. В этом случае платежная функция имеет вид /=iy=i Области изменения векторов х и у задаются соотношениями E.6) и E.7) и, как нетрудно видеть, являются выпуклыми, замкнутыми, ограни- ограниченными множествами евклидовых пространств. Функция К(х, у) явля- является линейной и, следовательно, вогнутой по х при фиксированном у и выпукла по у при фиксированном х. Таким образом, из приведенной тео- теоремы следует основная теорема теории матричных игр. Определение. Если чистая стратегия входит в смешанную стратегию с отличной от нуля вероятностью, то она называется активной. Справедлива теорема об активных стратегиях. Теорема 5. Если один из игроков придерживается своей оптимальной смешанной стратегии, то выигрыш остается неизменным и равным цене игры v, если второй игрок не выходит за пределы своих активных стратегий. 119
Эта теорема имеет большое практическое значение— она дает конкретный способ нахождения оптимальных стратегий при отсутствии седловой точки. Для игры 2x2 любая чистая стратегия противника является активной, если отсутствует 5.2.4. Аналитическое решение игры 2x2. Рассмотрим игру размера 2x2, которая является простейшим игра имеет седловую точку, то оптимальное решение— это пара седловая точка м ^ Доминируемые стратегии мо- «^У4**1 конечной игры. Если такая гут быть исключены, при этом цена игры не изменяется. Доминирование можно рас- м р F чистых стратегии, соответствующих пространить и на смешанные „ стратегии. этой точке. Для игры, в которой отсутствует седловая точка, в соответствии с основной теоремой теории игр оптимальное решение игры существует и определяется парой смешанных стратегий (х[9х*2) и (yl,y*2). Для того чтобы их найти, воспользуемся теоремой об активных стратегиях. Если первый игрок придерживается своей оптимальной смешанной стратегии, то его средний выигрыш будет равен цене игры v, какой бы активной стратегией ни пользовался второй игрок. Для игры 2x2 любая чистая стратегия противника является активной, если отсутствует седловая точка. Поэтому средний выигрыш и первого игрока, и второго будет равен цене игры. Пусть игра задана платежной матрицей Средний выигрыш первого игрока, если он использует оптималь- оптимальную смешанную стратегиюх* = (х*,х2), а второй игрок— чистую стра- стратегию, соответствующую первому столбцу платежной матрицы, равен це- цене игры v: Тот же средний выигрыш получает первый игрок, если второй игрок применяет стратегию, соответствующую второму столбцу платежной матрицы, т.е. апх\ + а22х2 = v. Учитывая, что х* + х2 = 1, получаем сис- систему уравнений для определения оптимальной стратегии первого игрока и цены игры: 120
al2xl+a21x2=v xx + x2 = 1. Решая эту систему, получим оптимальную стратегию ахх+а22-аХ2-а2Х а\\~а\2 и цену игры V =¦ а22-аХ2-а2Х Применяя теорему об активных стратегиях при отыскании оптималь- оптимальной смешанной стратегии второго игрока, получаем, что при любой чис- чистой стратегии первого игрока средний проигрыш второго игрока равен v, т.е. =v Тогда оптимальная стратегия второго игрока определяется по форму- формулам: а22 - ап у2= и ^ . ахх + а22 - аХ2 - а2Х Известно несколько методов нахождения оптимальных стратегий х t и у j в играх двух лиц с нулевой суммой. Мы приведем только два из них, а именно: графический метод решения игр вида Bхп) или (тх2) и общий метод сведения игры двух лиц с нулевой суммой к задаче линей- линейного программирования. 121
5.2.5. Диагональные игры. Пусть игра задана диагональной матри- матрицей вида 0 0 0 «22 0 0 0 .0 п пп J Пусть К(х, у) = J] ]Г ац*1У] — платежная функция матричной игры, а х* и у* — оптимальные смешанные стратегии игроков. Тогда из теории матричных игр вытекает справедливость следующих соотношений v= ттК(х\у)<К(х\е') hv= такК(х 9у)>К(е\у\ У У где е1 — чистая /-я стратегия игроков. Откуда аиу* < v < aux* и ¦ v ¦ ух < — <xt, /= 1, ...,«. Просуммировав все двойные последние нера- ап п 1 венства, получим 1 < v^— ^ 1. Откуда следует, что полученное двой- /=1 аи ное неравенство и все предыдущие двойные неравенства выполняются как равенства. Тогда решение игры задается следующими соотноше- соотношениями ¦ * v = — —, xt =yt = — ,/= 1,2, ...,«. 1 1 а + ...4- » aU am 5.2.6. Доминирование стратегий. Говорят, что некоторая стратегия / первого игрока (задается /-й строкой платежной матрицы) доминиру- ется некоторой другой стратегией к первого игрока, если все элементы строки / не больше соответствующих элементов строки к, а именно: ai} <akj,j= I, ..., п. Аналогичное определение можно привести и для стратегий второго игрока, а именно: некоторая стратегия j второго иг- игрока (задается j-u столбцом платежной матрицы) доминируется неко- некоторой другой стратегией к второго игрока, если все элементы столбца у не меньше соответствующих элементов столбца к, а именно: atJ < aik, /= 1, ...,т. 122
Доминирование представляет отношение между стратегиями, наличие которого во многих практических случаях дает возможность сократить размеры исходной платежной матрицы игры. Это следует из того факта, что доминируемые стратегии могут быть исключены, при этом цена иг- игры не изменяется. Рассмотрим это понятие на примере матрицы -0,5 3 -1 0 2 0,5 Рассуждая с позиции игрока 2, можно обнаружить преимущество его третьей стратегии перед второй, поскольку при первой стратегии игрока 1 выигрыш игрока 2 равен -3 (вторая стратегия) и 1 (третья стратегия), а при второй стратегии игрока 1 выигрыш игрока 2 равен -2 (вторая стра- стратегия) и -0,5 (третья стратегия). Таким образом, при любой стратегии игрока 1 игроку 2 выгоднее применять свою третью стратегию по срав- сравнению со второй. При наличии третьей стратегии игрок 2, если он стре- стремится играть оптимально, никогда не будет использовать свою вторую стратегию, поэтому ее можно исключить из игры, т.е. в исходной пла- платежной матрице можно вычеркнуть 2-й столбец: -0 -1 0 0,5 С позиции игрока 1 его первая стратегия оказывается хуже вто- второй, так как по первой стратегии он только проигрывает. Поэтому первую стратегию можно исключить, а матрицу игры преобразовать к виду: @ 0,5). Учитывая интересы игрока 2, следует оставить только его первую стратегию, поскольку, выбирая вторую стратегию, игрок 2 оказывается в проигрыше @,5 — выигрыш игрока 1), и матрица игры принимает про- простейший вид: @), т.е. имеется седловая точка. Доминирование можно распространить и на смешанные стратегии. Справедлива следующая теорема. Теорема 6. Если элементы одной строки (столбца) не все меньше (больше) или равны соответствующим элементам других строк, но все меньше (больше) или равны некоторым выпуклым линейным комбина- комбинациям соответствующих элементов других строк (столбцов), то эту стра- 123
тегию можно исключить, заменив ее смешанной стратегией с соответст- соответствующими частотами использования чистых стратегий. В качестве иллюстрации рассмотрим матрицу игры: '24 О О 8 4 5 ч s Для первых двух чистых стратегий игрока 1 возьмем частоты их при- применения (вероятности) равными 0,25 и 0,75. Третья стратегия игрока 1 доминируется линейной выпуклой комби- комбинацией первой и второй чистых стратегий, взятых с частотами 0,25 и 0,75 соответственно, т.е. смешанной стратегией: 0-0,25 + 8-0,75 = 6>5. Поэтому третью стратегию игрока 1 можно исключить, используя вместо нее указанную смешанную стратегию. Аналогично если каждый элемент некоторого столбца больше или равен некоторой выпуклой линейной комбинации соответствующих элементов некоторых других столбцов, то этот столбец можно исклю- исключить из рассмотрения (вычеркнуть из матрицы). Например, для мат- матрицы 10 0 0 10 7 третья стратегия игрока 2 доминируется смешанной стратегией из первой и второй его чистых стратегий, взятых с частотами 0,5 и 0,5: 10 0,5 + 0 0,5 = 5 <6, 0-0,5 + 10 -0,5 = 5 <7. Таким образом, исходная матрица игры эквивалентна матрице сле- следующего вида: '10 0 0 10 Как видно, возможности доминирования смешанными стратегиями в отличие от чистых значительно менее прозрачны (нужно должным обра- 124
зом подобрать частоты применения чистых стратегий), но такие возмож- возможности есть, и ими полезно уметь пользоваться. 5.2.7. Графическое решение игр вида Bx/i) и (тх2). Этот метод применим только к играм, в которых хотя бы один игрок имеет только две стратегии. Рассмотрим следующую игру вида 2хп (табл. 5.7). Таблица 5.7 Х2=\-х{ У\ «11 «21 У2 «12 «22 Уп «1/7 «2« Предполагается, что эта игра не имеет седловой точки. Поскольку первый игрок имеет только две стратегии, то х2 = 1 - хх, xj > 0,^2 > 0. Ожидаемые выигрыши первого игрока, соответствующие чистым страте- стратегиям второго игрока, представлены в табл. 5.8. Таблица 5.8 Чистые стратегии второго игрока 1 2 п Ожидаемые выигрыши первого игрока Х,а,! + A - Л, )«21 = («11 " «21 )*1 + «21 *1«12 + 0 - *| )«22 = («12 - «22 )*1 + «22 ххаХп + {\-хх )а1п = (аХп - а1п )хх + а1п Отсюда видно, что ожидаемый выигрыш первого игрока линейно за- зависит от х\. В соответствии с критерием минимакса для игр в смешанных страте- стратегиях первый игрок должен выбирать х\ так, чтобы максимизировать свой минимальный ожидаемый выигрыш. Эта задача может быть решена графически построением прямых линий, соответствующих линейным функциям от переменной х\. Такая процедура иллюстрируется ниже на конкретном примере. Пример. Рассмотрим игру вида 2x4 (табл. 5.9). Таблица 5.9 Стратегия 1 Стратегия 2 Стратегия 1 2 4 Стратегия 2 2 3 Стратегия 3 3 2 Стратегия 4 -1 6 125
Решение. Эта игра не имеет седловой точки. Ожидаемые выигрыши первого иг- игрока, соответствующие чистым стратегиям второго игрока, представле- представлены в табл. 5.10. Таблица 5.10 Чистые стратегии второго игрока 1 2 3 4 Ожидаемые выигрыши первого игрока -2jq+4 -Д1+3 х{+2 -7JCJ+6 На рис. 5.1 изображены четыре прямые, являющиеся графиками этих функций от переменной хх. Максимин достигается при х\ = 1/2. В этой точке пересекаются любые две из прямых 2, 3 и 4. Следовательно, оп- оптимальной стратегией первого игрока является (х[ =1/2, х*2 = 1/2) и Среднеожидаемый выигрыш первого игрока Рис. 5.1 значение игры находится подстановкой переменной хх в уравнение лю- любой из прямых, проходящих через максиминную точку. Это дает [-1/2 + 3 = 5/2, v*=Jl/2 + 2 = = 5/2. Интересно отметить, что при определении оптимальных стратегий второго игрока три прямые проходят через максиминную точку. Это оз- 126
начает, что оптимальная стратегия второго игрока представляет собой совокупность трех стратегий. Любые две прямые, имеющие противопо- противоположные наклоны, определяют одно возможное оптимальное решение. Таким образом, из трех комбинаций B, 3), B, 4) и C, 4) комбинация B, 4) должна быть исключена как неоптимальная. Комбинация B, 3) дает у\ = у\ - 0. Следовательно, у3 = 1 -у2. Ожи- Ожидаемые проигрыши второго игрока, соответствующие чистым стра- стратегиям первого игрока, представлены в табл. 5.12. Таблица 5.12 Чистые стратегии первого игрока 1 2 Ожидаемые проигрыши второго игрока -д+3 у2+2 Значение у\-\12 (соответствующее минимаксной точке) определя- определяется из равенства Отметим, что подстановкой у\-\12 в выражение для ожидаемого проигрыша второго игрока можно найти минимаксное значение, равное 5/2, совпадающее, как и должно быть, со значением игры v *. Аналогично может быть рассмотрена и комбинация C, 4), дающая другое оптимальное решение. Любое взвешенное среднее комбинаций B, 3) и C,4) также будет давать оптимальное решение, в которое входят стратегии 2, 3 и 4. Пример. Рассмотрим следующую игру вида 4x2 (табл. 5.13). Таблица 5.13 Стратегия 1 Стратегия 2 Стратегия 3 Стратегия 4 Стратегия 1 2 2 3 -2 Стратегия 2 4 3 2 6 Решение. Эта игра не имеет седловой точки. Пусть ух и у2 = 1 - ух — смешан- смешанные стратегии второго игрока. Тогда ожидаемые проигрыши второго иг- игрока показаны в табл. 5.14. 127
Таблица 5.14 Чистые стратегии первого игрока 1 2 3 4 Ожидаемые проигрыши второго игрока -2Л + 4 -л + з ух+2 -8Л+6 Эти четыре прямые изображены на рис. 5.2. В данном случае мини- минимаксная точка определяется как самая нижняя точка на огибающей свер- сверху. Значение у\ получается как точка пересечения прямых 1 и 3. Это да- дает .у* =2/3 и v*=8/3. \| /=8/3 0 Среднеожидаемый выигрыш /~ первого игрока \ \ \ \ Л*-2/з\ \ У\ ' 2 1 К к -8^ + о Рис. 5.2 Прямые, пересекающиеся в минимаксной точке, соответствуют чистым стратегиям 1 и 3 первого игрока. Это показывает, что Х2 = Х1 = 0 • Следовательно, хх = 1 - х3. Ожидаемые выигрыши первого иг- игрока, соответствующие чистым стратегиям второго игрока, приведены в табл. 5.16. Таблица 5.16 Чистые стратегии второго игрока 1 2 Ожидаемые выигрыши первого игрока -Д1+3 2*!+2 128
Значение х\ = 1/3 определяется из уравнения -х, + 3 = 2jtj + 2 . Таким образом, оптимальной стратегией первого игрока будет х* = 1/3, х*2 = О, *з = 2/3, Х4 = 0. Это дает, как и прежде, v - 8/3 . 5.2.8. Решение игр вида (тхп) с помощью линейного программи- программирования. Теория игр находится в тесной связи с линейным программи- программированием, так как каждая конечная игра двух лиц с нулевой суммой мо- ег задача линейного программиро- жет быть представлена как задача * г вания может быть представлена Теория игр находится в тес- тесной связи с линейным програм- программированием, так как каждая ко- конечная игра двух лиц с нулевой суммой может быть представлена как задача линейного програм- программирования и, наоборот, каждая как игра. линейного программирования и, на- наоборот, каждая задача линейного программирования может быть представлена как игра. Г. Данциг указы- указывает, что создатель теории игр Дж. фон Нейман, который первым ввел симплекс-метод в линейное программирование A947 г.), установил это соотношение и в дальнейшем обосновал и развил концепцию двойствен- двойственности в линейном программировании. В этом разделе описывается спо- способ нахождения решения игры методом линейного программирования, который особенно эффективен для игр, описываемых матрицей большой размерности. Мы показали, что оптимальная смешанная стратегия первого игрока определяется условиями т maxminY а..хп E.8) х, \<j<ni=] IJ т хг> Q,i= I, ...,m, ?*,• =1. Эта задача может быть сформулирована в виде задачи линейного про- программирования. Пусть v = min? ax. =mir>(?anxl9ttai2xlr..9Za,nxi)9 \<j±ni=l IJ /=1 ;=1 /=1 тогда задача принимает вид maxv E.9) 129 5 Исследование операций
? a xt >v9j = l92,...9n, xt > 0,/= 1, ...,w, где v является значением игры. Для второго игрока задача записывается в виде inmaxX ci..yn ; 1</<;т>=1 I] J Запишем промежуточное соотношение п п V = й^ ?! aijyj = max(?1 ^у^у' ? ^^.-' ? а^^)# Тогда задача принимает вид minv E.10) п X a..yj<v, i = \,2,-,m, где v является значением игры. Отметим, что задача для второго игрока E.10) является двойственной к задаче для первого игрока E.9). Задача для второго игрока может быть решена, например, стандартным симплекс-методом, а для первого игро- игрока — двойственным симплекс-методом. Выбор метода определяется тем, какая из задач имеет меньше ограничений, что в свою очередь зависит от числа чистых стратегий каждого из игроков. 5.2.9. Определение бесконечной антагонистической игры. Есте- Естественным обобщением матричных игр являются бесконечные антаго- антагонистические игры (БАИ), в которых хотя бы один из игроков имеет 130
бесконечное количество возможных стратегий. Мы будем рассматри- рассматривать игры двух игроков, делающих по одному ходу, и после этого про- происходит распределение выигрышей. При формализации реальной си- ситуации с бесконечным числом выборов можно каждую стратегию сопоставить определенному числу из единичного интервала, так как всегда можно простым преобразованием любой интервал перевести в единичный и наоборот. Напоминание. Пусть Е— неко- некоторое множество вещественных чисел. Если существует число у та- такое, что х < у при всех х е Е (при Естественным обобщением мат- матричных игр являются бесконечные антагонистические игры, в которых хотя бы один из игроков имеет бес- бесконечное количество возможных - этом у не обязательно принадлежит стратегий Всякая антагонистическая бес- бесконечная игра двух игроков с не- непрерывной функцией выигрышей М (х,у) на единичном квадрате имеет решение (игроки имеют оптималь- оптимальные смешанные стратегии). Е), то множество Е называется ог- ограниченным сверху, а число у на- называется верхней границей множе- множества Е. Аналогично определяется ограниченность снизу и нижняя граница множества Е. Обозначают- Обозначаются верхняя и нижняя границы соответственно через sup E и inf E соответ- соответственно. Пример. Пусть множество Е состоит из всех чисел вида —, п = 1,2,... п Тогда множество Е ограниченно, его верхняя грань равна 1, а нижняя О, причем 0 g Е, а 1 е Е. Для дальнейшего изложения теории игр этого класса введем опреде- определения и обозначения: [0; 1] — единичный промежуток, из которого иг- игрок может сделать выбор; х — число (стратегия), выбираемое игроком 1; у — число (стратегия), выбираемое игроком 2; М/(х, у) — выигрыш /'- го игрока; G {X,Y,M\Mi)— игра двух игроков с ненулевой суммой, в которой игрок 1 выбирает число х из множества X, игрок 2 выбирает число у из множества У, и после этого игроки 1 и 2 получают соответ- соответственно выигрыши М\(х, у) и М2(х, у). Пусть G (X, Y,M) — игра двух игроков с нулевой суммой, в которой игрок 1 выбирает число х, игрок 2 — число у, после чего игрок 1 получает выигрыш М(х, у) за счет вто- второго игрока. Большое значение в теории БАИ имеет вид функции выигрышей Щх> У)- Так, в отличие от матричных игр не для всякой функции М(х, у) существует решение. Будем считать, что выб ;*о определенного числа иг- 5* 131
роком означает применение его чистой стратегии, соответствующей это- этому числу. По аналогии с матричными играми назовем чистой нижней це- ценой игры величину Vx = max inf M(x, у) или Vx = max min М(х, у), х у х у а чистой верхней ценой игры величину Vx = min sup М(х9 у) или Vx = min max M(x, у). Ух У* Для матричных игр величины Vi и V2 всегда существуют, а в беско- бесконечных играх они могут не существовать. Естественно считать, что если для какой-либо бесконечной игры ве- величины V\ и V2 существуют и равны между собой (V\ = V2 = V), то такая игра имеет решение в чистых стратегиях, т.е. оптимальной стратегией игрока 1 есть выбор числахоеХи игрока 2 — числау0 е Y, при которых М(х09 у0) = F, в этом случае V называется ценой игры, а (х0, у0) — седло- вой точкой в чистых стратегиях. Пример. Игрок 1 выбирает число х из множества Х= [0; 1], игрок 2 выбирает число >> из множества 7= [0; 1]. После этого игрок 2 платит иг- игроку 1 сумму Решение. Поскольку игрок 2 хочет минимизировать выигрыш игро- игрока 1, то он определяет ттBх2-у2) = 2х2-19 т.е. при этом j> = 1. Игрок 1 желает максимизировать свой выигрыш и по- поэтому определяет max(minM(jt,>>)) = maxBx2 -1) = 2 -1 = 1, GEX &Y GX который достигается при х = 1. Итак, нижняя цена игры равна V\ = 1. Верхняя цена игры V2 = min(minBx2 - /)) = minB - /) = 2 -1 = 1, т.е. в этой игре V\ = Vi- 1. Поэтому цена игры V= 1, а седловая точка 132
Пример. Игрок 1 выбирает хе!=@;1), игрок 2 выбирает у е Y = @;1). После этого игрок 1 получает сумму М(х,у) = х+у за счет игрока 2. Поскольку X и Y— открытые интервалы, то на них V\ и Vi не существуют. Если быХи Г были замкнутые интервалы, то было бы следующее: V\ = V2= 1,прихо= \,уо=0. С другой стороны, выбирая х достаточно близкое к 1, игрок 1 будет уверен, что он получит выигрыш не меньше, чем число, близкое к цене игры V- 1; выбирая >> близкое к нулю, игрок 2 не допустит, чтобы выиг- выигрыш игрока 1 значительно отличался от цены игры V- 1. Степень близости к цене игры может характеризоваться числом 8 > 0. Поэтому в описываемой игре можно говорить об оптимальности чистых стратегий х0 = 1, у0 = 0 соответственно игроков 1 и 2 с точно- точностью до произвольного числа е > 0. В связи с этим введем следующие определения. Определение. Точка (xs,ys)9 где х? е X, ys e 7, в антагонистиче- антагонистической непрерывной игре G называется точкой е-равновесия, если для любых стратегий х е X игрока 1, у е Y игрока 2 имеет место неравенст- неравенство М(х, у?)-г<М(х?, у?)<М(х?,у) + г. Точка е-равновесия (х?,у?) называется также s-седловой точкой функции М(х, у\ а стратегии хе и уе называются е-оптимальными стра- стратегиями. Эти стратегии являются оптимальными с точностью до е в том смысле, что если отклонение от оптимальной стратегии никакой пользы игроку принести не может, то его отклонение от е-оптимальной страте- стратегии может увеличить его выигрыш не более чем на г. Чтобы функция М имела е-седловые точки для любого г > 0 необхо- необходимо и достаточно, чтобы sup inf M(x,y)= inf sup Аф;, у). х У Ух Если игра G не имеет седловой точки (s-седловой точки) в чистых стратегиях, то оптимальные стратегии можно искать среди смешанных стратегий. Однако в качестве вероятностной меры здесь вводятся функ- 133
ции распределения вероятностей применения игроками чистых страте- стратегий. Пусть F(x)— функция распределения вероятностей применения чистых стратегий игроком 1. Если число \ — чистая стратегия игро- игрока 1, то где Р(?> < х) означает вероятность того, что случайно выбранная чистая стратегия ? не будет превосходить числа х. Аналогично рассматривается функция распределения вероятностей применения чистых стратегий г| игроком 2 Q(y) = Р(л < у). Функции F(x) и Q(y) называются смешанными стратегиями соответ- соответственно игроков 1 и 2. Если F(x) и Q(y) дифференцируемы, то существу- существуют их производные, обозначаемые, соответственно, через fix) и q(y) (функции плотности распределения). В общем случае дифференциал функции распределения dF(x) выра- выражает вероятность того, что стратегия ? находится в промежутке х < Е, < х + dx. Аналогично для игрока 2: dQ(y) означает вероятность то- того, что его стратегия у\ находится в интервале у < г\ < у + dy. Тогда вы- выигрыш игрока 1 составит М(х, у) dF(x\ а выигрыш игрока 2 равен M(x,y)dQ(y). Средний выигрыш игрока 1 при условии, что игрок 2 применяет свою чистую стратегию у, получим, если проинтегрируем выигрыш по всем возможным значениям х, т.е. E(F,y)=JM(x9y)dF(x). о Напомним, что множество Уддяу является замкнутым промежутком [0; 1]. Если игрок 1 применяет свою чистую стратегию х, а игрок 2 — у, то выигрыш игрока 1 составит М(х, у) dP(x) dQ(y). Средний выигрыш игрока 1 при условии, что оба игрока применяют свои смешанные стратегии F(x) и Q(y), будет равен E(F,Q) = j\M(x,y) dF(x) dQ(y). 00 По аналогии с матричными играми определяются оптимальные сме- смешанные стратегии игроков и цена игры: в антагонистической непрерыв- 134
ной игре G(X9Y,M) пара смешанных стратегий F*(x) и Q*(y) соответст- соответственно для игроков 1 и 2 образует седловую точку в смешанных стратеги- стратегиях, если для любых смешанных стратегий F(x) и Q(y) справедливы соот- соотношения E(F,Q*) < E(F*,Q*) < E(F*,Q). Из левой части последнего неравенства следует, что если игрок 1 отступает от своей стратегии F*(x\ то его средний выигрыш не может увеличиться, но может уменьшиться за счет лучших действий игрока 2, поэтому F*(x) называется оптимальной смешанной стратегией иг- игрока 1. Из правой части последнего неравенства следует, что если игрок 2 от- отступит от своей смешанной стратегии Q*(y), то средний выигрыш игрока 1 может увеличиться, а не уменьшиться, за счет более разумных дейст- действий игрока 1, поэтому Q*(y) называется оптимальной смешанной страте- стратегией игрока 2. Средний выигрыш E(F*9Q*% получаемый игроком 1 при применении игроками оптимальных смешанных стратегий, называется ценой игры. По аналогии с матричными играми рассматривается нижняя цена не- непрерывной игры в смешанных стратегиях V\ - max min E{F,Q) и верхняя цена игры V2 = min max E(F9Q). Если существуют такие смешанные стратегии F*(x) и Q*(y) соответ- соответственно для игроков 1 и 2, при которых нижняя и верхняя цены непре- непрерывной игры совпадают, то F*(x) и Q*(y) естественно назвать оптималь- оптимальными смешанными стратегиями соответствующих игроков, а V\ = V2 = V— ценой игры. Можно доказать, что существование седловой точки в смешанных стратегиях игры G(X,Y,M) равносильно существованию верхней V2 и нижней V\ цен игры в смешанных стратегиях и их равенству Vx = V2 = V. Таким образом, решить игру G(XJM) означает найти седловую точку или такие смешанные стратегии, при которых нижняя и верхняя цены игры совпадают. Теорема 7 (существования). Всякая антагонистическая бесконечная игра двух игроков G с непрерывной функцией выигрышей М(х,у) на еди- единичном квадрате имеет решение (игроки имеют оптимальные смешан- смешанные стратегии). Теорема 8. Пусть имеется бесконечная антагонистическая игра с не- непрерывной функцией выигрышей М(х, у) на единичном квадрате и ценой 135
игры V. Тогда, если Q(y) — оптимальная стратегия игрока 2 и для неко- некоторого хо }M(xo,y)dQ(y)<V, о то х0 не может входить в точки спектра оптимальной стратегии игрока 1; если F(x) — оптимальная стратегия игрока 1и для некоторого^ ]M(x9y0)dF(x)>V, о то у о не может быть точкой спектра оптимальной стратегии игрока 2. Из теоремы 8 следует, что если один из игроков применяет опти- оптимальную стратегию, а другой — чистую, при том что средний выигрыш игрока 1 отличается от цены игры, то эта чистая стратегия не может вой- войти в его оптимальную стратегию (или она входит в нее с вероятностью нуль). Теорема 9. Пусть в бесконечной антагонистической игре функция выигрышей М(х, у) непрерывная для хе[0; 1], у е [0; 1] и М(х9у) = = -М(у, х), тогда цена игры равна нулю и любая оптимальная стратегия одного игрока будет также оптимальной стратегией другого игрока. Сформулированные свойства оптимальных смешанных стратегий и цены игры помогают находить или проверять решения, но они еще не дают в общем виде приемлемых методов решения игры. Более того, не существует общих методов для точного нахождения решения БАИ, и в том числе непрерывных игр на единичном квадрате. Поэтому рассматри- рассматриваются частные виды антагонистических бесконечных игр. 5.2.10. Игры с выпуклыми функ- функциями выигрыша. Игры с выпуклы- выпуклыми непрерывными функциями выиг- выигрышей называются выпуклыми. Напомним, что выпуклой функ- функцией/действительной переменной х на интервале (д, Ъ) называется такая функция, для которой выполняется неравенство J{a\ х\ + а2 *2) ^ &\ Лх\) + а2 А*2), где х\ и х2 — любые две точки из интервала (я, Ь)\ а\, а2> 0, причем а\ + аг = 1. Если функция выигрышей М(х,у) непрерывна по обоим ар- аргументам и строго выпукла по у при любом х, то в этом случае игрок 2 имеет единственную оп- оптимальную чистую стратегию. Если функция выигрышей М(х,у) непрерывна по обоим аргу- аргументам и строго вогнута по х при любом у, то в этом случае игрок 1 имеет единственную оптимальную чистую стратегию. 136
Если для #1*0, #2*0 всегда имеет место строгое неравенство j{a\ х\ + a-i x2) < a\f{x\) + ctifixi), то функция / называется строго выпуклой на (а; Ь). Геометрически выпуклая функция изображает дугу, график ко- которой расположен ниже стягивающей ее хорды (рис. 5.3). Напомним, что непрерывная и строго выпуклая функция /на замкну- замкнутом интервале принимает минимальное значение только в одной точке интервала. Для нахождения решения выпуклой игры можно воспользо- воспользоваться следующей теоремой. F(x) Рис 53 Теорема 10. Пусть М(х, у) — непрерывная функция выигрышей игро- игрока 1 на единичном квадрате и строго выпуклая по у для любого х. Тогда имеется единственная оптимальная чистая стратегия у=уое [0;1] для игрока 2, цена игры определяется по формуле V = min max M(x, у), E.11) у х значение уо определяется как решение следующего уравнения тзхМ(х9у0)=У. E.12) X Замечание. Если в теореме 10 не предполагать строгую выпуклость функции М(х, у) по у, а просто выпуклость, то теорема остается в силе с тем отличием, что у игрока 2 оптимальная чистая стратегия не будет единственной. Замечание. Выпуклые игры называют часто выпукло-вогнутыми, так как игра в них имеет седлообразное ядро, а так как ядро седлообразное, то игра имеет седловую точку в чистых стратегиях. Таким образом, если М(х, у) непрерывна и выпукла по у, то цена игры определяется по формуле E.11), и игрок 2 имеет оптимальную чистую стратегию, определяемую из уравнения E.12). 137
Аналогично и для игрока 1: если функция выигрышей М(х, у) непре- непрерывна по обоим аргументам и строго вогнута по х при любом у, то в этом случае игрок 1 имеет единственную оптимальную стратегию. Цена игры определяется по формуле V = max min M(x9 у), E.13) х у а чистая оптимальная стратегия х0 игрока 1 определяется из уравнения minM(jto,y)=K E.14) у Пример. Пусть на квадрате [0;1] задана функция E.15) Решение. Так как J^Z) для* в [0; 1],,е @;1), то М(х, у) строго вогнута по х для любого у е @;1). Следовательно, цена игры находится по формуле E.13) = max min sin min sin. у 2 Отметим, что при 0 <х <1/2 справедливо равенство . к(х + у) . п х min sin— — = sin , 2 2 а при 0,5 < х < 1 тг(х + у) л(х + \) (min аи)— = sin— - \uj<n J 2 2 Поэтому ir г • Я(х + У) - п(х + У) 1 F= max [max min sin—-——; max min sin-^ — 1 = o<jc<- °^>'^1 2 i< <i osy^i 2 r . я x . я(х +1) л r V2 л/2 _ V2 = max [max sin—; max sin— |*=max [— ;— 1 = — . OZxZ- ? -<.x<\ ? ALL 138
При этом значение х получается равным х0 =1/2. Это же значение по- получается из решения уравнения V2 mm sin 2 2 так как минимум достигается при у = 0, и это уравнение превращается в следующее: . пх V2 sin— = —, 2 2 откуда следует, что х =1/2. Заметим, что если в функции выигрышей E.15) поменять местами х и у, то она не изменится, а следовательно, эта функция выпукла ипо^ при всех х е [0;1]. Поэтому к ней применима та же теория, т.е. у игро- игрока 2 существует оптимальная чистая стратегия у0, определяемая из уравнения E.14) max sin Очевидно, максимум по х достигается при х =1/2, и последнее урав- уравнение примет вид DJ.il Решением последнего уравнения будет у0 = 0. Следовательно, игрок 2 имеет оптимальную чистую стратегию у0 = 0. Замечание. В приведенном выше примере мы могли определить оп- оптимальную стратегию игрока 1, а игрока 2— только случайно, в силу "удачного" вида М(х, у). Рассмотрим теперь метод определения оптимальных стратегий того иг- игрока, для которого функция выигрышей не обязательно выпукла. Пусть непрерывная функция М(х, у), заданная на единичном квадрате, выпукла по у. Нас будет интересовать вопрос нахождения оптимальных стратегий 1 игрока. Предположим также, что для х е [0; 1], у е [0; 1] существует част- частная производная функции М(х, у) по у, причем в точках >> = 0 и дМ(х,у) = ду - . • ч дМ(х,у) У=\ М (х,у)= понимается как правая и левая производная, у ду 139
соответственно. Обозначим через у0 одну из оптимальных чистых страте- стратегий игрока 2 (эта стратегия существует в соответствии с теоремой 4). Согласно теореме 2 чистые стратегии х игрока 1 могут входить в его оптимальную стратегию с положительной вероятностью, если для них выполняется равенство М(х, у0) = V. Такие чистые стратегии х называются существенными. Теорема 11. Пусть дана бесконечная антагонистическая игра с непре- непрерывной и дифференцируемой по у на единичном квадрате при любом х функцией выигрышей М{х, у), с оптимальной чистой стратегией у0 игро- игрока 2 и ценой игры F, тогда: 1) если у0 = 1, то среди оптимальных стратегий игрока 1 имеется суще- существенная чистая стратегия х\9 для которой Л/ (*ь 1) ^ U 2) если у0 = 0, то среди оптимальных стратегий игрока 1 имеется суще- существенная чистая стратегия *2, для которой м (*2> 0) > 0; 3) если 0 <уо < 1, то среди оптимальных стратегий игрока 1 найдется та- такая, которая является смесью двух существенных стратегий х\ и хг. Для этих стратегий Му(х\, у о) ^ 0, Му(х2, у0) ^ 0, стратегия xi упот- употребляется с вероятностью а, стратегия х2— с вероятностью A -а), где а находится из уравнения а Му (хь Уо) + A - а) Му (х2, у0) = 0, E.16) Пример. Пусть функция выигрышей в бесконечной антагонистической игре задана на единичном квадрате и равна М(х, у) = (х -уJ =х2 - 2ху + у2. Эта функция непрерывна по х и у, и поэтому эта игра имеет решение. Кроме того, 20. д/ Следовательно, М(х, у) выпукла по у, и поэтому согласно теореме 10 цена игры определяется по формуле E.11), игрок 2 имеет чистую опти- оптимальную стратегию у09 определяемую из уравнения E.12). Таким обра- образом, имеем V = min max(x - у) . у х Для определения тах(х2 -2ху + >>2) последовательно найдем дМ дх 140 ¦ = 2х - 2у = 0 => х = у
дх1 - 2 > 0 => при х = у функция М имеет минимум для любого у. А, следовательно, максимум достигается в одной из крайних точек х = 0 и (или) jc = 1 М@;у)=у2 Щ1;у)= I -2y + )? = (y- if ^V = minmax{y2;(l-уJ}. Данный minmaxf...} достигается в том случае, если у2 = A -уJ, т.е. у =1/2. Следовательно, V= — при^0 = —. 4 2 Определим теперь оптимальные стратегии для игрока 1. Поскольку у0 =1/2, то 0 <уо< 1. Согласно теореме 11 рассмотрим третий случай. ( if 1 Определим х из уравнения М(х, у0) = V, т.е. \х — =¦—. Решая последнее уравнение, получим х\ = 0, хг = 1. Теперь необходи- необходимо определить величину а — вероятность применения чистой стратегии х\ = 0. С этой целью используем уравнение E.16): Нетрудно найти =-1. Тогда уравнение для а примет вид: а-A-а) = 0, откуда а = 1 / 2 . Следовательно, стратегия игрока 1 141
а игрока 2 Q(y)=Jy Здесь через Jа (х) обозначена ступенчатая функция [0, при х < а 5.3. Игры двух лиц с ненулевой суммой: понятие о кооперативных играх 5.3.1. Игры двух лиц с постоянной суммой. Даже если игра двух лиц не является игрой с нулевой суммой, интересы игроков могут быть антагонистические. Определение. Игра двух лиц называется игрой с постоянной суммой, если для любых двух стратегий игроков сумма выигрышей игроков име- имеет постоянное значение С. Игра с нулевой суммой соответствует случаю С = 0. Оказывается, что для случая игр двух лиц с постоянной суммой справедливы те же методы нахождения оптимальных стратегий, что и для игр двух лиц с нулевой суммой. 5.3.2. Критерии выбора опти- оптимальных стратегий для игр с ненулевой суммой. Рассмотрим пример игры двух лиц, каждый их которых выбирает одну из двух стратегий: положить в коробку 10 фунтов или не положить ничего. Каждый из игроков выбирает свою стратегию независимо от страте- стратегии другого игрока. После того как игроки приняли решения относи- относительно своих стратегий, рефери прибавляет еще 50% к сумме, которая находится в коробке и делит эту сумму пополам между игроками. На- Например, если каждый из игроков положил по 10 фунтов, то рефери до- добавляет еще 10, и каждый получает по 15 фунтов. Результаты выигрышей можно представить в виде матрицы (табл. 5.17) 142 Оптимальность по Парето. Рассматриваются решения, которые лучше по одному критерию, но хуже по другому, и нет такого вектора, который был бы лучше сразу по всем критериям. Ситуации равновесия по Нэ- шу. Смысл ситуации равновесия в том, что никому из игроков в оди- одиночку не выгодно от нее отклонять- отклоняться, его выигрыш при этом не увели- увеличивается.
Таблица 5.17 Игрок 1 / Игрок 2 10 фунтов 0 фунтов 10 фунтов 5/5 7.57-2.5 0 фунтов -2.5/7.5 0/0 Предположим, что игроки имеют возможность договариваться. Тогда наиболее выгодная для них стратегия — это положить по 10 фунтов. В этом случае они выигрывают по 5 фунтов. Теперь предположим, что игроки выбирают стратегии самостоя- самостоятельно и кооперация между ними не возможна. Рассмотрим первого игрока. Он размышляет следующим образом: «Если второй игрок ре- решит положить 10 фунтов, какова лучшая стратегия для меня? Если я тоже положу 10 фунтов, то мой выигрыш составит 10 фунтов; если же я не положу ничего, то мой выигрыш составит 7,5 фунтов. Таким об- образом, лучшая стратегия в этом случае — не класть ничего. Теперь предположим, что мой противник ничего не положил, тогда если я тоже ничего не положу, то ничего и не потеряю; однако если я положу 10 фунтов, то потеряю в этом случае 2,5 фунтов. Таким образом, и в этом случае предпочтительнее стратегия «не класть ничего». Анало- Аналогичные рассуждения можно провести и с точки зрения второго игро- игрока. Таким образом, наиболее разумной стратегией для обоих игроков будет стратегия «ничего не класть». А ожидаемый выигрыш в этом случае равен 0. Теперь рассмотрим еще один пример, в котором имеются два про- продавца, продающие определенный товар на рынке. Оба из них знают, что чем выше цена, тем меньше общий объем продаж. Для простоты предположим, что каждый из них может продать либо 400 единиц не- некоторого товара, либо 100 единиц. Известно, что при продаже 800 единиц на рынке складывается цена равная 100 фунтам, при 500 еди- единицах — 200 фунтов, а при объеме продаж 200 единиц — 500 фунтов. Матрица выигрышей продавцов показана в нижеследующей табли- таблице 5.18. Таблица 5.18 Продавец 1 / Продавец 2 400 100 400 40 000/40 000 20 000/80 000 100 80 000/20 000 50 000/50 000 143
Если бы игроки имели возможность и желание согласовывать свои действия, то они решили бы продать по 100 единиц и получить прибыль по 50 000 каждый. Предположим теперь, что по каким-либо причинам они принимают ре- решения независимо друг от друга. Каковы оптимальные стратегии для игро- игроков в этом случае? Пара стратегий D00,100) не является ситуацией равнове- равновесия, так как в этом случае второму игроку выгодно изменить свою стратегию на 400 и тем самым увеличить свой выигрыш с 20000 до 40 000. Если рассмотреть пару стратегий A00,100), то она также не является ситуа- ситуацией равновесия, поскольку каждому отдельному игроку выгодно поменять свою стратегию на 100 и получить вместо 50 000 выигрыш в 80 000. Если же мы рассмотрим пару стратегий D00,400), то, как легко заметить, отклонение каждого отдельного игрока является для него невыгодным. Такую ситуацию мы называем ситуацией некооперативного равновесия. Таким образом, основным определяющим свойством ситуации некоо- некооперативного равновесия является невыгодность для каждого отдельного игрока отклоняться от своей стратегии, входящей в ситуацию равнове- равновесия. В этом случае речь не идет о каких-либо договоренностях между иг- игроками и поэтому такое равновесие называется некооперативным. На- Напротив, когда возможность достигать определенные договоренности между игроками существует, игроки стараются найти такую пару страте- стратегий, для которой не существует другой пары, одновременно улучшаю- улучшающей выигрыши обоих игроков. Такая пара стратегий называется ситуа- ситуацией кооперативного равновесия. Таковыми являются пары стратегий A0,10) в первой игре и A00,100) во второй. Оба примера игр можно отнести к так называемым биматричным играм, суть которых состоит в следующем. Пусть первый игрок имеет m чистых стратегий, а второй игрок имеет п чистых стратегий. Выигрыши первого иг- игрока при различных выборах стратегий игроками задаются матрицей А1 =\а\\ — платежная матрица первого игрока, а второго игрока матри- матрицей А2 - д? — платежная матрица второго игрока. На практике решение в чистых стратегиях для биматричных игр встречается крайне редко, по- поэтому решение ищется в смешанных стратегиях, которые определяются так же как и для матричных игр соотношениями E.6) и E.7). Среднеожи- даемые выигрыши игроков в этом случае определяются соотношениями E.17) 144
В биматричных играх существует несколько критериев оптимально- оптимальности. Важнейшими из них являются критерий оптимальности по Парето и критерий, выделяющий ситуации равновесия по Нэшу. Приведем лишь основные определения этих двух подходов. 1. Оптимальность по Парето. Пусть имеется несколько целевых функ- функций F{(z),...,Fn(z), каждую из которых хотят максимизировать. Век- Вектор решения z называется оптимальным по Парето (или эффектив- эффективным), если не существует другого вектора z, для которого значения всех функций Ft(z) >Ft(z*) и хотя бы одно неравенство строгое. Суть данного подхода состоит в том, что рассматриваются реше- решения, которые лучше по одному критерию, но хуже по другому, и нет такого вектора, который был бы лучше сразу по всем критериям. Множество эффективных векторов называется множеством Паре- то, а любой вектор этого множества — оптимумом по Парето. В случае биматричной игры z = (х9у), а в качестве целевых функций рас- рассматриваются функции V(x,y) и W(x,y), заданные соотношениями E.17). 2. Ситуации равновесия по Нэшу. Это такая пара смешанных стратегий (х ,у ), что для любых произвольных стратегий х и у выполняются неравенства V(x*, у*) > V 1х, у* ) и W(x* ,y*)> W (х*, у ) . Смысл ситуации равновесия в том, что никому из игроков в оди- одиночку не выгодно от нее отклоняться, его выигрыш при этом не уве- увеличивается. Справедлива следующая основная теорема теории биматричных игр. Теорема 12 (теорема Нэша). Существует хотя бы одна ситуация рав- равновесия в любой биматричной игре. Замечание. В разных ситуациях равновесия (их может быть несколь- несколько) выигрыши игроков, вообще говоря, различны. Рассмотрим понятия кооперативного и некооперативного равновесия на примере классической рыночной модели. Владелец двух источников минеральной воды умирает и оставляет свое дело в наследство своим сыновьям, каждому по одному источнику. Рассмотрим первый случай, когда братья договариваются вести дело вместе, эксплуатируя оба источника как единый монополист. Стоимость эксплуатации каждого источника определяется формулой + —, E.18) 2 3200 145
где q — количество минеральной воды, разлитой из данного источника. Если они решают реализовать на рынке количество Q, то рыночная цена определяется формулой p(Q)=\-Q. E.19) Допустим, что обоим братьям известны соотношения E.18) и E.19). Ка- Какое количество минеральной воды они станут производить? Если они будут максимизировать свою совместную прибыль (случай монополии), они будут максимизировать функцию p{Q) Q-C(Q), которая выражает прибыль как разность между доходом реализации и издержками производства. В нашем случае эта функция имеет вид Дифференцируя функцию по Q, находим, что ее максимальное значе- значение достигается при объеме выпуска бтах = 1/3. Соответствующая при- прибыль в этом случае равна 1/6-1/3200, а соответствующая рыночная це- цена будет равна 2 ) Рассмотрим теперь ситуацию, когда сотрудничество по каким-либо причинам не получилось, и каждый из братьев приступает к эксплуата- эксплуатации своего источника самостоятельно. Каковы количества q\ и q2 , которые братья станут производить каж- каждый на своем источнике? Каждый из братьев (игроков) в данном случае выбирает стратегию из отрезка [0,1]. Итоговая рыночная цена будет определяться соотношением 1~"(?1 +сИ)-> так как теперь q\ + доесть совместная поставка товара на рынок. Подставляя эту цену в формулу прибыли, мы получаем выигрыш первого игрока по формуле и выигрыш второго соответственно по формуле 146
Как мы видим, выигрыш каждого из игроков зависит не только от вы- выбранной им стратегии, но и от стратегии другого игрока. Нам необходимо найти такую пару стратегий (#i ,^2)» что никому из игроков будет невыгодно отклоняться, иными словами найти ситуацию некооперативного равновесия. Дифференцируя п\ по переменной q\ и л*2 по переменной #2 и ПРИ~ равнивая производные нулю, получим систему линейных уравнений: решением которой являются q* =q2* =^/4. Пара стратегий A/4,1/4) и есть ситуация некооперативного равновесия. Соответствующая рыноч- рыночная цена будет равна p(g[9q*2) = 1/2. Таким образом, из-за отсутствия со- согласованности рыночная цена упала с 2/3 до 1/2 Дадим формальные определения для введенных понятий для случая игры п лиц. Оптимальная стратегия для коалиции гарантирует с одной сторо- стороны, что сумма индивидуальных выиг- выигрышей не будет меньше того, что мо- может себе обеспечить коалиция в целом, а с другой стороны, что выигрыш каж- каждого игрока не должен быть меньше того количества, которое он может се- себе обеспечить самостоятельно. 53.3. Введение в теорию игр п лиц. Во многих реальных ситуациях в процессе принятия решений участвует более двух игроков. Рассмотрим слу- случай, когда участников игры трое или более. Пусть N - {1, 2,..., и} — мно- множество игроков, х{ — стратегия /-го игрока, Xt — множество стратегий /-го игрока, fi(xl9...9xn) — функция выигрыша /-го игрока в зависимости от выбранных стратегий xv...9xn (ситуация игры). Такую игру будем на- называть игрой п лиц. Введем определения характеристической функции. Определение. Функцию vE) называют характеристической функцией для игры п лиц, если для любого подмножества S множества игроков N (S <zN) v(S) — максимальный суммарный гарантированный выигрыш иг- игроков подмножества S при условии их оптимальных совместных дейст- действий. Или в математическом виде min 147
Рассмотрим несколько простых примеров. Пример. Джо изобрел новое лекарство. Джо не может самостоятельно наладить производство этого лекарства, но он может продать рецептуру лекарства либо компании 2, либо 3. Компания, получившая рецептуру, получит прибыль в 1 млн. долл., часть которой получит Джо. Построим характеристическую функцию. Решение. Пусть в данном случае Джо будет игроком 1, компания 2 — игроком 2, а компания 3 — игроком 3. Тогда = 1 000 000. Пример. Игрок 1 имеет земельный участок, который он оценивает в 10 000 долл. Игрок 2 является агентом, который, разбив его на более мелкие участки, может довести его стоимость до 20 000 долл. Игрок 3 может за счет разбивки и улучшения качества участков довести цену до 30 000 долл. В этом случае мы получаем следующую характеристическую функцию ({l}) = 10 000, v({2}) = v({3}) = 0, v({l,2}) = 20 000, v({2,3}) = 0, v({l,3}) = 30 000, v({l,2,3}) = 30 000, Характеристическая функция v(S) обладает свойством суперадцитив- ности, а именно: для любых двух непересекающихся подмножеств А и В выполнено: V{A\jB)>v(A) + v(B). Действительно, если члены коалиции AKJB действуют совместно, то один из вариантов совместных действий состоит в том, что члены коали- коалиции А действуют только в интересах членов коалиции А, а члены коали- коалиции В действуют только в интересах членов коалиции В. Тогда по- крайней мере они обеспечат себе выигрыш v (A) + v (В). Пусть вектор х=(я;,д^,...,д^) является вектором выигрышей, т.е. лс, — выигрыш /-го игрока. Необходимыми условиями для того, чтобы вектор х являлся решением игры, являются условия: Y,x, (групповая рациональность), E.20) 148
х, > v({/}), / = 1,..., n (индивидуальная рациональность). E.21) Определение. Если вектор х удовлетворяет условиям E.20) и E.21), то он называется дележом. Условие E.20) гарантирует, что мы полагаем, что сумма индивиду- индивидуальных выигрышей не должна быть меньше того, что может себе обеспе- обеспечить коалиция в целом. С другой стороны, условие E.21) означает, что выигрыш каждого иг- игрока xt не должен быть меньше того количества, которое он может себе обеспечить самостоятельно. Решением игры п лиц (ядром игры) является множество недоминируе- 5.3.4. Ядро игры п лиц. Прежде всего, определим понятие доминирования. Определение. Мы говорим, что дележу мых дележей, доминирует дележ х по коалиции S (обозначается у > xs), если 2>, <v(S) и у, >Xl.ieS. ieS Если у > xs, то справедливы следующие утверждения. 1. Каждый член коалиции S предпочитает дележ у по сравнению с деле- дележом х. 2. Так как *?у. < v(S), члены коалиции S могут достичь выигрышей из ieS дележа >>. Основатели теории игр Джон фон Нейман и Оскар Моргенштерн по- полагали, что разумным решением игры п лиц является множество недо- недоминируемых дележей. Определение. Ядром игры п лиц называется множество недомини- недоминируемых дележей. Пример. Рассмотрим игру трех лиц со следующей характеристиче- характеристической функцией: v({2,3}) = 0,2 Пусть х = @,05; 0,90; 0,05), а у = @,10; 0,80; 0,10). Покажите, что 149
Решение. Сначала убедимся, что х и у являются дележами. Далее за- заметим, что дележ у обеспечивает игрокам 1 и 3 больше, чем дележ х. В сумме выигрыши 1-го и 3-го игрока при дележе у составляет 0,10 + 0,10=0,20. Поэтому условие B) выполнено, поскольку v({l,3})=0,2. Поэтому игроки 1 и 3 предпочтут дележ у. Находить ядра игр п лиц помогает следующая теорема. Теорема 13. Дележ х=(х[,х2,...,хп) принадлежит ядру игры п лиц, тогда и только тогда, когда для любого подмножества S множества N выполне- выполнено Ix,>v(S). ieS Теорема утверждает, что дележ х принадлежит ядру (т.е. х не домини- доминируем) тогда и только тогда, когда для любой коалиции S сумма выигры- выигрышей игроков (в соответствии с дележом х) не меньше чем v(S). Из этой теоремы следует, что непустота ядра равносильна разрешимости систе- системы линейных неравенств. Построим ядро для двух приведенных примеров. Пример (производство нового лекарства). В этой игре вектор х = (xi,X2,*3) будет дележом тогда и только тогда, когда х{>0, E.22) *2>0, E.23) х3>0, E.24) х,+л:2+л:з= 1000 000. E.25) Теорема утверждает, что дележ будет принадлежать ядру, если поми- помимо выполнения условий E.22)-E.25), будут выполнены условия хх+х2> 1000 000, E.26) хх+хъ> 1000 000, E.27) х2+х3>0, E.28) jq+^+^lOOOOOO. E.29) Для решения этой системы неравенств заметим, что, сложив неравен- неравенства E.26)-E.29), получим 2(хх + х2 + д:3) > 2 000 000, или хх + х2 + х3 > 1 000 000. 150
Но согласно E.25) хх + х2 + х3 = 1 000 000. Следовательно, все условия E.26)-E.29) выполняются как строгие ра- равенства. Решая полученные уравнения, находим х\ = 1000 000, Х2 = 0, х3 =0. Найденный вектор A000 000; 0; 0) удовлетворяет и остальным нера- неравенствам и, следовательно, является ядром данной игры. Пример (игра с продажей земельного участка). В данной игре вектор х = (х\,Х2,хз), являющийся дележом, удовле- удовлетворяет системе неравенств хх> 10 000, E.30) х2>0, E.31) х3>0, E.32) х1+х2+х3=30 000 000. E.33) Дележ х принадлежит ядру тогда и только тогда, когда выполнены также неравенства х1+х2>20 000, E.34) Xj+Хз^ЗОООО, E.35) х2+х3>0, E.36) л^+^+Хз^ЗОООО. E.37) Складывая неравенства E.31) и E.35), получаем х\ +x>i +X3 > 30000. Из E.33) имеем xj +X2 +Х3 =30000. Следовательно, соотношения E.31) и E.35) должны выполняться как строгие равенства, т.е. х2 = 0 и хх + х3 = 30 000. E.38) Из E.36) теперь следует, что E.39) Итак, для того, чтобы х принадлежал ядру, должны выполняться со- соотношения E.38) и E.39). Каждый вектор из ядра должен удовлетворять также условиям х3 > 0 и хх < 30 000 . С другой стороны, любой вектор, 151
удовлетворяющий E.38), E.39), х3 >0 и х1 < 30 000 будет принадлежать ядру игры. Следовательно, любой вектор вида (XpO^OOOO-Xj), 20 000 <хх < 30 000 принадлежит ядру игры. Интерпретация ядра следующая. Игрок 3 перебивает предложение иг- игрока 2 и покупает землю по цене jc, B0 000 < хх < 30 000 ). В этом слу- случае игрок 1 получает выигрыш х\, а игрок 3 выигрыш 30 000 - хх. Игрок 2 не получает ничего. В этом примере ядро содержит бесконечное коли- количество дележей. 5.4. Выбор оптимальной стратегии в условиях неопределенности (игры с природой) 5.4.1. Специфика ситуации полной неопределенности. Мы пред- предполагали, что все участники игры имеют свои интересы, которые вы- выражаются либо платежными матрицами (антагонистические игры, би- матричные игры), либо платежными функциями (игры п лиц). Однако так бывает далеко не всегда. Ситуации, при которой нам либо ничего не известно об интересах второй стороны (или сторон), либо эти инте- интересы действительно отсутствуют (второй игрок — «природа»), харак- характеризуются как ситуации принятия решений в условиях полной неоп- неопределенности (или игры с «природой»). Естественно, что термин «природа» употребляется здесь в некотором символическом смысле как обозначение некой действительности, мотивы проявления которой нам неизвестны. Как мы отмечали, теория игр — это математическая дисциплина, ис- исследующая ситуации, в которых принятие решений зависит от несколь- нескольких участников. Поэтому тот факт, что в рассматриваемой ситуации вто- вторая сторона не имеет, с нашей точки, зрения каких-либо интересов, несколько меняет и наш подход к выбору своей оптимальной стратегии. То есть разумно рассмотреть несколько иные критерии, чем, например, принцип минимакса для антагонистической игры (игры с нулевой сум- суммой) двух лиц. Следует отметить и еще одно отличие. При применении принципа доминирования стратегий мы уже не можем производить исключение стратегий второго игрока («природы»), поскольку не имеем информации о его интересах, а следовательно, никаких разумных оснований для ис- исключения его стратегий. 152
1. В случае минимаксного кри- критерия Вальда мы выбираем такую стратегию, которая максимизировала бы наш выигрыш в самой неблаго- неблагоприятной для нас ситуации. 2. В случае критерия максимакса мы выбираем в качестве оптимальной такую стратегия, для которой самый благоприят- благоприятный случай дает самый большой выигрыш. 3. Критерий Гурвица представляет из себя целое семейство критериев, за- зависящих от некоторого параметра СС, смысл которого в определении баланса между подходами "крайнего пессимиз- пессимизма" и "крайнего оптимизма". 4. В случае критерия Сэвиджа мы выбираем такую стратегию, для которой наибольшее значение "недополучения" (до максимально возможного выигры- выигрыша) будет иметь наименьшее значение. 5. Смысл критерия Лапласа - максимизация ожидаемого выиг- выигрыша в предположении о равноверо- равновероятности применения вторым игроком своих стратегий. 5.4.2. Критерии выбора оп- оптимальной стратегии. Рассмот- Рассмотрим игру, заданную платежной матрицей первого игрока (матри- (матрица выигрышей первого игрока размера тхп) — II ^ Wmxn 1. Максиминный критерий Валь- Вальда. Это тот самый критерий, который использовался при рассмотрении игр с нулевой суммой (антагонистических) игр. Он отражает «принцип га- гарантированного результата», то есть мы откладываемся на самый неблагоприятный для нас случай и пытаемся выбрать такую стратегию, которая мак- максимизировала бы наш выиг- выигрыш в самой неблагоприятной для нас ситуации. В математическом виде критерий записывается как V = max min au. \<i<m \<j<n J В качестве оптимальной выбирается стратегия, на которой достигает- достигается значение max. Иногда этот критерий называют критерием «крайнего пессимизма». 2. Критерий максимакса. Этот критерий является в определенном смысле противоположным по своему смыслу предыдущему критерию. А именно, он предполагает рассмотрение не самого для нас неблагопри- неблагоприятного случая (критерий Вальда), а наоборот наиболее благоприятного. Выбирается в качестве оптимальной такая стратегия, для которой этот самый благоприятный случай дает самый большой выигрыш. В математическом виде критерий записывается как V - max max aH. \<i<m \<j<n J В качестве оптимальной стратегии выбирается стратегия, на которой достигается значение max. Иногда этот критерий называют критерием «крайнего оптимизма». 153
3. Критерий Гурвица. Этот критерий является своего рода обобщением двух предыдущих критериев. Он представляет из себя целое семейст- семейство критериев, зависящих от некоторого параметра а , смысл которо- которого — в определении баланса между подходами «крайнего пессимиз- пессимизма» и «крайнего оптимизма». В математическом виде критерий записывается как V = max \a max аи + A - a) min au 1. l</<mL \<j<n lJ \<j<n u В качестве оптимальной стратегии выбирается стратегия, на которой дости- достигается значение max. Значение параметра выбирается из интервала 0 < а < 1. Критерий Вальда получается как частный случай при а = О, а критерий максимакса при а-\. Выбор конкретного значения параметра определя- определяется скорее субъективными факторами, например склонностью к риску ЛПР (лица принимающего решение). При отсутствии каких-либо явных предпочтений вполне логично, например, выбрать значение а = 0,5 . 4. Критерий Сэвиджа {критерий минимаксного риска). Применение данного критерия предполагает рассмотрение некоторой производной матрицы, смысл которой состоит в том, что для каждой стратегии второго игрока определяется выигрыш в наиболее благоприятном случае (при наиболее правильном выборе стратегии первым игроком для данной ситуации), а далее вычисляются величины «недополучен- «недополученных» выигрышей для всех остальных стратегий первого игрока при рассматриваемой стратегии второго игрока. Элементы данной матри- матрицы i? = |k| , которая обычно называется матрицей риска, рассчиты- II ¦* И/я,л ваются как ги = таха/ -аи. Далее к матрице рисков применяется ми- •' l<i<,m J J нимаксный подход, а именно: V - min max ru. \<i<m l J В качестве оптимальной стратегии выбирается стратегия, на которой достигается min. Тем самым мы выбираем такую стратегию, для которой наибольшее значение «недополучения» будет иметь наименьшее значение. 5. Критерий Лапласа. Этот критерий исходит из следующего соображе- соображения. Поскольку нам ничего не известно о принципах или вероятно- вероятностях применения вторым игроком своих стратегий, то мы предполага- 1 ем эти вероятности все равными —. 154
Тогда критерий можно записать как 1 п = max|-Y Таким образом, смысл данного критерия — максимизация ожидаемо- ожидаемого выигрыша в предположении о равновероятности применения вторым игроком своих стратегий. Пример. Найти оптимальные стратегии первого игрока, исходя из различных критериев, в игре с полной неопределенностью относи- относительно поведения второго игрока, заданной следующей платежной матрицей: 5 10 18 25 8 7 8 23 21 18 12 21 20 22 19 15 Решение. 1. Максиминный критерий Валъда. Вычислим минимальные значения по строкам (min atj), а далее из них выберем максимальное. ' 5 10 18 25^| 5 8 7 8 23 7 21 18 12 21 12 ,20 22 19 15 J 15 А = Таким образом, получаем V = maxmin^ = 15 при применении «стра- «стратегии 4». Ответ: оптимальной стратегией первого игрока является «страте- «стратегия 4». 2. Критерий максимакса. Вычислим максимальные значения по строкам (таха^), а далее из них выберем максимальное f 5 10 18 25^ 25 8 7 8 23 23 21 18 12 21 21 ,20 22 19 15 j 22 А = 155
Таким образом, получаем V = max max я/7 = 25 при применении «стратегии 1». Ответ: оптимальной стратегией первого игрока является «стратегия 1». 3. Критерий Гурвица. Вычислим максимальные (maxяг) и МИНИМаЛЬ- ^У^ J ные (min^) значения по строкам, а далее произведем их взвешива- взвешивание с коэффициентом а = 0,5 : А = 5 8 21 20 10 7 18 22 18 8 12 19 25 1 23 21 15 5 7 12 15 25 23 21 22 5*0,5 + 25*0,5 = 15 7*0,5 + 23*0,5 = 15 12*0,5 + 21*0,5 = 16,5 15*0,5 + 22*0,5 = 18,5. Таким образом, получаем V = max [0,5 max аИ + 0,5 min аи 1 = 18,5 при 1Шт1 1<у<л J \<jun lJ J применении «стратегии 4». Ответ: оптимальной стратегией первого игрока является «стратегия 4». 4. Критерий Сэвиджа {критерий минимаксного риска). Построим мат- матрицу рисков. Для этого первоначально вычислим максимальные зна- значения по столбцам А = 5 8 21 20 21 21 10 7 18 22 22 -5 21-8 21- 21- -21 -20 18 8 12 19 19 22- 22- 22- 22- 25 23 21 15 25 J 10 -7 18 22 , а далее 19-18 19-8 19-12 19-19 непосредственно матрицу р 25 - 25" 25-23 25-21 25-15 ' 16 13 0 1 12 15 4 0 1 11 7 0 иск 0 2 4 10 Далее вычислим максимальные значения по строкам и из них выбе- выберем строку с минимальным значением A6 13 о 1 12 15 4 О 1 11 7 0 0 N 2 4 10 J 16 15 7 10 156
Таким образом, получаем V = min max к, = 1 при применении «стра- \<i<m \<j<n J тегии 3». Ответ: оптимальной стратегией первого игрока является «стратегия 3». 5. Критерий Лапласа. Вычислим средние арифметические по строкам — 2 с А = 5 10 18 25 8 7 8 23 21 18 12 21 20 22 19 15 0,25*(8 + 0,25*B1 0,25*B0 Г] п 1 Таким образом, получаем F = max — ?а; =19 при применении 1</<т[л;=1 J J «стратегии 4». Ответ: оптимальной стратегией первого игрока является «стратегия 4». В условиях полной неопределенности теория не дает однозначных принципов выбора того или иного критерия. Оптимальные стратегии, выбранные по различным критериям, различны. 5.5. Выбор стратегии при наличии вероятностной информации Множества оптимальных стратегий первого игрока по кри- критерию максимизация средне- ожидаемого выигрыша и по критерию минимизация средне- ожидаемого риска совпадают. В отличие от ситуации полной не- неопределенности весьма частой являет- является ситуация, когда в распоряжении первого игрока есть информация о ве- вероятностях применения стратегий вто- второй стороной. Эти вероятности назы- называются априорными вероятностями. Обозначим вероятности стратегий вто- второго игрока как р} ,j = 1, ..., и, платежную матрицу первого игрока как А~ \аЛ » а матрицу рисков как R= r,JI . Тогда наиболее разумны- II "Нт.л г j г || ij\\mn ми критериями представляются либо максимизация среднеожидаемого выигрыша 157
либо минимизация среднеожидаемого риска \<i<m J=l Оказывается, что оба эти подхода эквивалентны в том плане, что множества оптимальных стратегий первого игрока по обоим из этих кри- критериев совпадают. Это следует из следующей цепочки равенств min(const - Y*Piaii) = comt ~~ max \<i<m Отсюда видно, что минимум левой части достигается на тех же стра- стратегиях первого игрока, что и максимум в правой части. 5.6. Многошаговые игры 5.6.1. Оценка стратегий. Хотя си- Наиболее универсальным подходом для выбора оптималь- оптимальной стратегии является подход, при котором выбирается страте- туации принятия решений существенно отличаются друг от друга, тем не менее - они имеют три общих составляющих: гия, обеспечивающая максималь- г ную ожидаемую оценку, смысл которой состоит в вычислении математического ожидания выиг- выигрыша первого игрока при приме- ' нении им данной стратегии. 1) множество вариантов решений (стра- (стратегий) для лица, принимающего реше- 2) множество возможных исходов и ве- вероятностей этих исходов, 3) оценка результатов (обычно в денежной форме) при различных вари- вариантах принятых решений и исходов. В том случае, если эти составляющие описаны корректно, лицо, при- принимающее решение, может рассчитывать найти «оптимальную» страте- стратегию с точки зрения некоторого критерия. Пример. Некая компания, специализирующаяся на программных раз- разработках, планирует принять участие в тендере на получение некоторого госзаказа на разработку информационной системы. Тендер проводится закрытым способом, т.е. предложения подаются участниками в запеча- запечатанных конвертах и неизвестны другим участникам. По оценкам компа- 158
нии, участие в тендере обойдется в 5 000 долл., а выполнение заказа в 95 000 долл. Из опыта предыдущих тендеров известно, что с вероятно- вероятностью 30% конкуренции вообще не будет. Кроме того, известно, что цена подобного тендера имеет следующие условные вероятности (табл. 5.19). Необходимо принять решение, участвовать ли в аукционе и, если да, то с какой ценой. Необходимо выбрать решение, которое максимизирует ожидаемую прибыль. Таблица 5.19 Цена тендера Менее 115 000 От 115 000 до 120 000 От 120 000 до 125 000 Более 125 000 Вероятность 0,2 0,4 0,3 0,1 Решение. Рассмотрим на примере данной задачи три составляющие для ситуации принятия решений в условиях неопределенности. 1. Компания должна принять решение — участвовать в аукционе или нет. Если она все же принимает решение участвовать, то возникает вопрос, с какой ценой. Ясно, что минимальные затраты в этом случае составят 5 000 + 95 000 = 100 000. Отсюда следует, что цена менее 100 000 лишена смысла (отсутствие прибыли). К сожалению, отсутст- отсутствие полной вероятностной информации о возможных ценах аукциона приводит к тому, что мы имеем возможность рассмотреть лишь стра- стратегии участия с ценами 115 000, 120 000 и 125 000. 2. Далее, нам необходимо описать исходы и их вероятности. Поскольку компания точно знает расходы на участие в тендере E 000) и стои- стоимость выполнения работы (95 000), то вся неопределенность заключа- заключается в стратегиях, которые изберут конкуренты. Мы предполагаем, что поведение других игроков подчиняется тем же закономерностям, что и раньше, поэтому мы используем вероятностные данные по це- ценам предыдущих тендеров. 3. Теперь необходимо количественно оценить (вычислить стоимостную оценку) ситуации для компании при различных выборах стратегии и различных вариантах разрешения неопределенности в поведении дру- других участников. Если компания принимает решение не участвовать в тендере, то нет ни затрат, ни прибыли, т.е. оценка ситуации равна 0. Если компания участвует в тендере и не проходит по цене, то она те- 159
ряет 5 000. Если компания участвует в тендере с ценой В и проходит по цене, то ее ожидаемая прибыль составит В— 100 000, где, как от- отмечалось ранее, 100 000 = 95 000 + 5 000. Оценки ситуации иногда удобно записать в виде платежной матрицы, где строки соответствуют стратегиям, которые выбирает сторона, прини- принимающая решение, а столбцы соответствуют стратегиям конкурентов. Эле- Элементы данной матрицы А = |а/у| отражают стоимостную оценку ситуаций при различных сочетаниях стратегий участников тендера (табл. 5.20). Таблица 5.20 Неучастие 115 000 120 000 125 000 Вероятности Нет конкуренции 0 15 000 20 000 25 000 0,3 Не более 115 0 -5 000 -5 000 -5 000 0,14 = = 0,7 • 0,2 От 115 до 120 0 15 000 -5 000 -5 000 0,28 = = 0,7-0,4 От 120 до 125 0 15 000 20 000 -5 000 0,21 = = 0,7 • 0,3 Более 125 0 15 000 20 000 25 000 0,07 = = 0,7-0,1 Наиболее универсальным подходом для выбора оптимальной страте- стратегии является подход, при котором выбирается стратегия, обеспечиваю- обеспечивающая максимальную ожидаемую оценку. Оценку стратегии будем обозна- обозначать как EMV (expected monetary value), и вычислять как Смысл данной оценки состоит в вычислении математического ожида- ожидания выигрыша первого игрока при применении им стратегии /. Опираясь на данные платежной матрицы, вычислим оценки для всех стратегий первого игрока, результаты оформим в виде табл. 5.21 Таблица 5.21 Стратегии игрока Не участвовать 115 000 120 000 125 000 Расчет EMV 0A) 15 000@,3 + 0,28 + 0,21 + 0,07) - 5 000@,14) 20 000@,3 + 0,21 + 0,07) - 5 000@,14 + 0,28) 25 000@,3 + 0,07) - 5 000@,14 + 0,28 + 0,21) Значение EMV 0 12 200 9 500 6 100 160
Необходимо отметить, что значение EMV не есть значение реальных выигрышей, а есть среднеожидаемое значение выигрышей при различных стратегиях других участников. Таким образом, наиболее эффективной пред- представляется стратегия участия в аукционе с ценой 115 000, так как именно этой стратегии соответствует максимальное значение EMV A2 200). 5.6.2. Дерево решений. Дерево решений представляет из себя не- некий графический инструмент, ко- который помогает производить дей- • описание возможных стратегий ствия, описанные в изложенном к игрока, принимающего решение • описание неопределенных исхо- исходов (неизвестные стратегии второй стороны) и их вероятностей • вычисление среднеожидаемых вы- определенных исходов „ г игрышеи по стратегиям первого игрока примере, а именно: описание воз- возможных стратегий игрока, прини- принимающего решение, описание не- Дерево решений представляет из себя некий графический инстру- инструмент, который помогает произво- производить следующие действия: выбор стратегии с максимальным значением оценки. (неизвестные стратегии второй стороны) и их вероятностей, вы- вычисление EMV по стратегиям пер- первого игрока, выбор стратегии с максимальным значением EMV. Как пра- правило, применение этого графического средства предполагает использо- использование следующих соглашений: 1) деревья решений состоят из вершин (круги, квадраты и треугольники) и ветвей (линии); 2) вершины соответствуют определенным моментам времени. Вер- Вершины-решения (квадраты) соответствуют моментам времени, ко- когда ЛПР (лицо принимающее решение) принимает решение. Вер- Вершины-вероятности (круги) соответствуют моментам времени, когда разрешается одна из неопределенностей. Оконечные верши- вершины (треугольники) соответствуют окончанию задачи, когда все ре- решения приняты, все неопределенности разрешились и все платежи произошли; 3) развитие ситуации во времени происходит согласно данной графиче- графической схеме слева направо; 4) ветви, идущие из вершин-решений, соответствуют различным воз- возможным решениям. Ветви, идущие из вершин-вероятностей, соответ- соответствуют различным возможным вариантам разрешения неопределен- неопределенности и не являются объектом чьего-либо управления; 5) вероятности соответствуют ветвям, исходящим из вершин- вероятностей. Эти вероятности являются условными вероятностями 6 Исследование операций ^*
при условии свершения события, соответствующего вершине, из ко- которой они исходят. Поэтому сумма вероятностей по всем ветвям, ис- исходящим из одной вершины, равна 1; 6) каждой оконечной вершине соответствуют два числовых значения. Первое — это вероятность прихода в данную оконечную вершину и второе— значение платежа, соответствующее данному сценарию развития событий. На рис. 5.4 изображено дерево решений, соответствующее рассмот- рассмотренной задаче о проведении тендера. 30.0% Компания 15000 Выигран ли тендер? 11000 0.14 -5000 Участвовать в тендере? 12200 Истина -5000 20000 Выигран ли тендер? 5000 -5000 -5000 Рис. 5.4 162
Процедура принятия оптимального решения после построения дерева решений производится методом обратного хода и заключается в сле- следующем. 1. Для каждой вероятностной вершины (круги) вычислим среднеожи- даемое значение выигрыша по всем альтернативам, исходящим из данной вершины. Например, 0.8A5 000) + @.2(-5 000) = 11 000. Далее для другой вершины 0.3A5 000) + 0.7A1 000) = 12 200. 2. Для каждой вершины-решения мы приписываем максимальное значе- значение из ожидаемых значений выигрыша, соответствующих различным вариантам решения, исходящим из данной вершины. То решение, на котором достигается максимум, помечается пометкой «истина», иначе помечаем решение как «ложь». После данной процедуры расстановки пометок на вершинах-решениях оптимальная стратегия определяется путем следования слева направо по вершинам, помеченным как «ис- «истина». Рассмотренный пример относится к так называемым одношаговым играм, в которых на первом шаге принимаются все решения, а далее раз- разрешаются все неопределенности. В более сложных случаях принятие решений чередуется с разрешением некоторых неопределенностей, при- причем решения, принятые на очередном шаге, порождают свое множество неопределенностей (неопределенных факторов), которые далее разре- разрешаются. Такие ситуации принятия решений называются многошаговыми (позиционными) играми. Рассмотрим пример подобной ситуации. Пример. Компания решает вопрос о представлении нового продукта на общенациональный рынок. Неопределенность заключается в том, как отреагирует рынок на новый продукт. Рассматривается вопрос об апро- апробации нового продукта первоначально на некотором региональном рын- рынке. Таким образом, первоначальное решение, которое необходимо при- принять компании — это проводить ли первоначальный маркетинг продукта на региональном уровне. Компания предполагает, что выход на регио- региональный уровень потребует затрат на 3 млн. руб., а выход на общенацио- общенациональный рынок потребует вложения 90 млн. руб. Если не проводить пер- первоначальных пробных продаж на региональном уровне, то решение о выходе на общенациональный рынок можно принять незамедлительно. 6* 163
Компания рассматривает результаты продаж как успешные, средние или отрицательные в зависимости от объемов продаж. Для регионально- регионального уровня этим градациям соответствуют объемы в 200, 100 и 30 тыс. эк- экземпляров, а для общенационального 6 000, 3 000 и 900 тыс. экземпляров соответственно. Исходя из данных по результатам региональных тести- тестирований аналогичных видов продукции компания оценивает вероятности указанных трех исходов как 0,3, 0,6 и 0,1. Кроме того, исследуя данные о соотношении результатов региональных продаж с последующими про- продажами на общенациональном рынке, компания сумела оценить сле- следующие условные вероятности (табл. 5.22) Таблица 5.22 Вероятности продаж на региональном рынке 0,3 0,6 0,1 Условные вероятности продаж на общенациональном рынке Успешные Средние Отрицательные успешные 0,8 0,3 0,05 средние 0,15 0,5 0,25 отрицательные 0,05 0,2 0,7 Кроме этого известно, что каждая продажа приносит прибыль в 18 руб. как при продаже на региональном рынке, так и на общенациональном. Задача состоит в принятии обоснованной стратегии выхода (или не- невыхода) на рынок с новой товарной позицией. Решение. Как и в предыдущей задаче, рассмотрим три основные со- составляющие для ситуаций подобного типа. Далее построим дерево реше- решений для данной задачи (рис. 5.5). Приведем расчет характеристик дерева решений: @,8X0,3) + @3X0,6) + @,05)@,1) = 0,425 @,15)@,3) + @,5X0,6) + @,25)@,1) = 0,37 @,05X03) + @,2X0,6) + @,7X0,1) = 0,205 6 000 18 =108 000 3 000-18 = 54 000 900 18 = 16 200 108 000-90 000 = 18 000 54 000-90 000 = -72 000 164
16 200-90 000 = -73 800 0,425 • 108 000 + 0,37 • 54 000 + 0,205 • 16 200 - 90 000 = -20 799 200- 18 = 3 600 100- 18 = 1 800 30 18 = 540 0,8 • 108 000 + 0,15 • 54 000 + 0,05 • 16 200 - 90 000 + 3 600 - 3 000 = 5 910 3 600 - 3 000 = 600 108 000 - 90 000 + 3 600 - 3 000 = 18 600 54 000 - 90 000 + 3 600 - 3 000 = -35 400 16 200 - 90 000 + 3 600 - 3 000 = -73 200 0,8 • 0.3 = 0,24 0,15 0,3 = 0,045 0,05 • 0,3 = 0,015 0,3 • 108 000 + 0,5 • 54 000 + 0,2-16 200 - 90 000 + 1 800 - 3 000 = -28 560 1800-3 000 = -1200 108 000 - 90 000 + 1 800 - 3 000 = 16 800 54 000 - 90 000 + 1 800 - 3 000 = -37 200 16 200 - 90 000 + 1 800 - 3 000 = -75 000 0,05 • 108 000 + 0,25 • 54 000 + 0,7 • 16 200 - 90 000 + 540-3 000 = -62 220 540 - 3 000 = -2 460 108 000 - 90 000 + 540 - 3 000 = 15 540 54 000 - 90 000 + 540-3 000 = -38 460 16 200 - 90 000 + 540-3 000 = -76 260. Таким образом, анализируя дерево решений, можно сформулировать оптимальную стратегию компании, а именно: следует произвести пред- предварительную продажу на региональном рынке и развернуть продажи на общенациональном уровне, только если результаты на региональном уровне оказались успешными. Существует специальное программное средство, разработанное ком- компанией «Palisade Corporation» (США) (http://wwW.palisade.com) — Preci- Precision Tree, которое является расширением программы Excel. Это средство 165
позволяет не только строить деревья решений, но и строить диаграммы влияния, отображающие взаимосвязи между различными частями зада- задачи, строить диаграммы рисков и производить анализ чувствительности, оценивая значимость отдельных факторов задачи. 42.5% 18 000 Компания 18 600 0 ^ 0 Выходить на общенациональный рынок? 0 Ложь Да Результаты на общенациональном рынке? 20 799 37.0% 0 0 ^ 600 Выходить на общенациональный рынок? 5910 Истина региональном рынке 807 Выходить на общенациональный рынок? -1200 Ложь Результаты на общенациональном рынке? -28 560 50.0% . 0 Выходить на общенациональный рынок? -2 460 Результаты на общенациональном рынке? -62 220 25.0% 16 200-76 260 Рис. 5.5 166
5.7. Дифференциальные игры преследования Когда собака гонится за кроли- кроликом, то даже если она все время видит его, она не знает его даль- Игры преследования часто на- называются дифференциальными по- потому, что в них поведение обоих игроков описывается дифференци- неишего поведения и может руко- альными уравнениями. водствоваться только знанием фи- физических возможностей кролика и своих собственных. Таково своеоб- своеобразие задачи преследования одного управляемого объекта другим управляемым объектом, математическому описанию которой посвя- посвящен данный раздел. Конечно, здесь речь идет не о животных, а о тех- технических объектах, но у этих объектов предполагается некоторая сво- свобода действий, аналогичная свободе воли животных. Рассмотрим игры, в которых участвуют два игрока: убегающий и преследующий. Такие игры преследования называются дифференциальными, так как в них поведение обоих игроков описывается дифференциальными урав- уравнениями. Приведем лишь качественное описание основных идей по- подобного класса игр. 5.7.1. Фазовые координаты и управления. Типичными примерами дифференциальных игр являются сражения, воздушные бои, преследова- преследование судна торпедой, перехват самолета зенитной ракетой, охрана объек- объектов. Если один из игроков выключается из игры, мы получаем обычную задачу максимизации. Она уже относится к вариационному исчислению и составляет основную часть теории управления. Решения игроков всегда заключаются в выборе некоторых величин, называемых управлениями. Они определяют собой значения других ве- величин — фазовых координат. Последние обладают тем свойством, что знание их значений в любой момент времени полностью определяет те- течение игры. 5.7.2. Игры с движущимся объектом. Возьмем в качестве примера движущегося объекта автомобиль и рассмотрим при этом уравнение движения, фазовые координаты, управления и различия между послед- последними. Автомобиль выбран потому, что его свойства общеизвестны. Рас- Рассуждения можно применить лишь с малыми изменениями к любому движущемуся объекту. Летательные аппараты движутся в трехмерном пространстве, но принцип остается тот же. Геометрическое положение объекта, например автомобиля, описы- описывается тремя фазовыми координатами: х\, Х2 — декартовы координаты 167
некоторой фиксированной точки автомобиля и хз — угол, образуемый осью автомобиля с фиксированным направлением, например направ- направлением X]. Предполагается, что движение происходит во всей плоско- плоскости х\9 Х2. Если автомобиль фигурирует в дифференциальной игре, то нужно знать о нем больше. Предположим, что автомобиль управляет- управляется с помощью мотора и руля. Мотор управляет тангенциальным уско- ускорением. Эта величина, находящаяся под контролем игрока, является управлением и будет обозначаться через <р\. Чтобы иметь простой и единообразный вид границ уравнений, примем ускорение равным Аср\. Здесь А — максимальное возможное ускорение, и управление <р\ под- подчиняется теперь ограничению вида 0 < <р\ < 1. Таким образом, оно яв- является долей полного ускорения и находится под контролем водителя. Скорость х4 не находится под непосредственным контролем водителя, но ее величину, как и величины х\, Х2, *з> оба игрока должны прини- принимать в расчет. Следовательно, она должна рассматриваться как фазо- фазовая координата. Положение руля определяет кривизну траектории автомобиля. Но не- нереально считать, что водитель может менять ее произвольно. Имеет смысл принять кривизну траектории автомобиля за еще одну фазовую координату х5 (очевидно, физически это есть угол поворота передних ко- колес), а долю скорости ее изменения — за управление срг. Итак, если W - максимальная скорость изменения величины Х5, то скорость, выбираемая водителем, равна W ^, где -1 < q>i < 1. В этих предположениях движение автомобиля будет определяться следующими уравнениями движения: х\ =x4cosx3 E.40) хУ2 = Х4 sinx3, E.41) E.42) E.43) . E.44) Здесь E.40), E.41) есть просто разложение скорости автомобиля по осям координат; E.42) устанавливает, что скорость изменения направле- направления равна скорости, умноженной на кривизну. Что касается E.43), то скорость изменения скорости есть ускорение. Резюмируя, можем сказать, что величины jci ... х$ описывают те свой- свойства автомобиля, которые существенны при его участии, скажем, в игре 168
преследования. Они называются фазовыми координатами. Водитель управляет с помощью величин (pi (положение педали газа) и ф2 (доля скорости вращения руля). Эти величины являются управлениями, и только они одни в каждый момент времени находятся под контролем иг- игрока. Они, в отличие от фазовых координат, не могут быть изменены или измерены противником. Данная модель имеет недостаток — неограниченную скорость. Это можно исправить, налагая ограничения на х4, но более естественно изменить само управление E.43). Во-первых, утверждение, что сила, развиваемая мотором, пропорциональна величине, на которую отжата педаль газа, следует считать сверхупрощением динамики автомоби- автомобиля. Во-вторых, самое важное, эта сила пропорциональна ускорению автомобиля, только если пренебрегать трением. Если предположить, что трение пропорционально скорости и направлено в противопо- противоположном направлении, то получим улучшенный вариант уравнения E.43): х\ = F(A q>0 - KxA. Здесь А ф1 @ < ф1 < 1)— величина, на которую отжата педаль газа, F— результирующая сила (на единицу массы автомобиля), развиваемая мотором, а К— коэффициент трения. Тогда скорость будет ограничена величиной F(A)/K. Другая существенная поправка состоит в ограничении кривизны х5- Итак, уравнения движения можно усложнить для получения более точного соответствия с действительностью или упростить для облегче- облегчения математических выкладок. 5.7.3. Игры преследования. Много примеров игр преследования можно привести из области военного дела: торпеда и корабль, корабль и подлодка, танк и джип и т.д. Чтобы получить общую картину, будем обозначать преследовате- преследователя через Р, а преследуемого через Е. Соответствующие движущиеся объекты могут управляться человеком или автоматически. В более сложных случаях участников игры может быть больше двух, напри- например группа боевых самолетов противостоит эскадре вражеских бом- бомбардировщиков или — уже из другой области — в футболе несколь- несколько нападающих играют с удерживающим мяч противником. В общем случае Р и Е — разумные противники с противоположными интере- интересами. Но если каждый из них управляет лишь одним движущимся 169
объектом, то символами Р и Е будут обозначаться сами эти объекты. Так, Р может быть некоторой фиксированной точкой преследующего объекта, например его геометрическим центром. Игра преследования обычно считается оконченной, когда произошел захват. Это означа- означает, что расстояние РЕ стало меньше некоторой наперед заданной ве- величины 1. Для пояснения остановимся на некоторых типичных моментах. За Е обычно принимают вторгающийся бомбардировщик, самолет или управляемый снаряд, а за Р — защищающий перехватчик, также само- самолет или снаряд. Во-вторых, спрашивается: как наилучшим образом должен преследовать Е? Далее, если в каждый момент времени Р знает и свое положение и положение Е, то как он должен в этот момент из- изменять свои управления? Под положением понимаются не только коор- координаты точек Р или Е, но и другие характеризующие состояние вели- величины такие, как направление полета, ориентация, скорость, короче — фазовые координаты. Во-вторых, нужно определить, что означает «наилучшим образом». По терминологии теории игр необходимо выбрать плату. Критерий наи- наиболее очевиден, если захват всегда осуществим. В том случае, когда ин- интерес представляют только два исхода игры, будем говорить о проблеме как о некоторой игре качества (в отличие от игры степени, которые име- имеют континуум возможных исходов). Но Р может быть перехватчиком с ограниченным запасом горючего. Тогда наиболее реальный критерий должен основываться на том, сможет ли произойти захват раньше неко- некоторого определенного момента времени. Если Е— бомбардировщик, цель которого — достижение данного объекта, то наиболее интересным является вопрос, сможет ли быть осуществлен захват прежде, чем Е вы- выполнит свое назначение. Если Р использует снаряды, ракеты или другое подобное оружие, то захват состоит в том, чтобы оказаться в зоне дости- достижимости Е. Если же Р не уверен, что попадет в цель точно, он может ставить своей задачей оказаться в зоне достижимости Е в течение опре- определенного времени. Все описанные случаи соответствуют дискретной, точнее, дву- двузначной плате, и мы будем классифицировать соответствующие им игры как игры качества. Но бывают случаи, когда противники стре- стремятся минимизировать или максимизировать определенную перемен- переменную величину. Эта величина есть плата, и игра является игрой степе- степени. 170
Часто в качестве платы удается выбрать такую непрерывную величи- величину, что она автоматически содержит в себе определенный выше дискрет- дискретный критерий. Например, предположим, что нас интересует только один вопрос: может ли быть осуществлен захват? В качестве платы можно взять время захвата, причем цель Р — сделать это время по возможности меньшим, а цель Е - по возможности большим. Бесконечное время соот- соответствует случаю, когда захват неосуществим. Тогда, если Р действует в соответствии с этим предписанием, он, конечно, достигает своей основ- основной цели всякий раз, когда захват осуществим. Притом сделает это в кратчайшее время. Теперь предположим, что вначале целью Р был захват за время, не превосходящее некоторого фиксированного Т. Минимизи- Минимизируя время захвата, Р, разумеется, добьется успеха, если у него есть для этого возможность; нужно только взять минимальную величину времени захвата, которой смог добиться Р9 и посмотреть, превосходит эта вели- величина Т или нет. Эта мысль является достаточно общей. Если первоначально было желательно узнать, сможет или нет Е достичь определенной прибли- приближенности к некоторому объекту, в качестве платы можно выбрать расстояние до объекта в момент захвата. Имеется в виду, что Р стре- стремится максимизировать это расстояние, можно быть уверенным, что он не только выполнит свою задачу защиты объекта, если это воз- возможно, но и достигнет наибольшего резерва безопасности или же сде- сделает все, что в его силах, если он окажется не в состоянии расстроить планы Е. Итак, ответом на вопрос, что означает в играх «наилучшим обра- образом», является установление численного значения платы. Для игр ка- качества это можно сделать несколько искусственно, приписав два (или более) числовых значения величине платы для двух (или более) исхо- исходов. «Наилучшим образом» для Р означает сделать эту плату наиболее малой. Предположим, что плата выбрана; как Р должен минимизировать ее? Если он преследует снаряд Е, как ему действовать? Должен ли он, например, используя данные о положении Е, пытаться экстраполиро- экстраполировать будущее движение Е и маневрировать так, чтобы преградить ему путь? Нетрудно видеть, что такие вопросы бессмысленны. Ответ зависит от того, как будет вести себя Е. Если он принял решение двигаться по пря- прямой с постоянной скоростью, то Р, разумеется, сможет преградить ему 171
путь, причем довольно просто подсчитать, как это сделать наилучшим образом. Но если Р всегда будет действовать так, то Е, если он достаточ- достаточно проницателен, может заманить Р в ловушку. Таким образом, никакой план преследования не будет для Р оптимальным, если противник дви- движется произвольно. Из этого следует, что нельзя говорить об оптимальном преследова- преследовании, не определив, что такое оптимальное уклонение. Необходимо од- одновременно рассматривать всевозможные способы поведения обоих противников, для того чтобы разработать методы анализа игровых си- ситуаций. Оптимальное уклонение (оптимальная стратегия второго игрока) можно классифицировать так же как оптимальное преследование (опти- (оптимальная стратегия первого игрока). Все замечания, сделанные относи- относительно Р и его цели преследования, сохраняют свой смысл и для Е с его целью уклонения. Например, можно говорить о способах избежать за- захвата или по крайней мере предупредить его до истечения времени Т. Если за плату принять расстояние до объекта в момент захвата, то можно обсуждать вопрос о том, как Е должен максимизировать это расстояние. В военных задачах, разумеется, обе стороны рассматривают оба класса этих вопросов. Мы обсуждали задачи игры и понятия платы только с точки зрения преследователя Р, но делали это лишь чтобы облегчить описание. Пусть С есть область расположения объекта, который Р защищает от атакующего врага Е\ Р и Е оба совершают простое движение с одинако- одинаковой скоростью и начинают двигаться из некоторого начального положе- положения. Примем здесь для простоты, что захват означает совпадение точек Р и Е. Платой является расстояние от точки захвата до С (если захват воз- возможен); Р должен максимизировать это расстояние, а ? — минимизиро- минимизировать его. Если Е может достичь С и захвата не произойдет, то этот исход считается для Е наилучшим. Вообразим, что Е— носитель могущественного оружия, скажем, ядерного, и если он не может достичь объекта, то стремится взорваться как можно ближе к нему. Соответственно перехватчик Р стремится встретить его в наиболее удаленной от С точке. Приведем более сложный пример. Он представляет собой игру пре- преследования, где один из противников вынужден двигаться так, чтобы кривизна его траектории не превышала некоторой величины. Это кине- кинематическое ограничение типично. 172
Дано: автомобиль на бесконечной пустой площади, который пытает- пытается наехать на пешехода. Таким образом, рассматривается игра пресле- преследования, где Р обладает превосходящей скоростью, но меньшей манев- маневренностью по сравнению с Е. Преследователь Р движется с постоянной скоростью w\9 радиус кривизны его траектории ограничен заданной ве- величиной R; Р управляет выбором значения этой кривизны в каждый момент. Убегающий Е обладает более простым движением. Это значит, что его скорость и>2 фиксирована, и управление состоит в том, что в ка- каждый момент выбирается направление движения. В этом случае допус- допустимы любые крутые повороты; траектория может не иметь касательной в каждой точке. Захват происходит, когда расстояние РЕ не больше заданной величи- величины 1 радиуса захвата. Преследователь обязан быть быстрее w\ > w2. Нас интересуют два вопроса. Задача состоит в том, чтобы определить точные условия: значения R, 1, w\ I w2, которые разграничивают эти возможности. 1. Игра степени с временем захвата в качестве платы. Теперь предполо- предположим, что Р всегда может поймать, и выберем платой время, в течение которого происходит захват. В терминах принятой терминологии можно считать, что пешеход надеется на прибытие спасения и пото- потому, если он сам не может избежать захвата, по крайней мере, старает- старается отсрочить его. Разумеется, Р стремится действовать настолько бы- быстро, насколько позволяют обстоятельства. 2. Игра качества. Когда Р может поймать Е ? Ясно, что если R велико, 1 мало и w\ не очень превышает w2, то Е всегда может избежать захва- захвата. Можно считать, например, что он сделает это, просто отступая в сторону всякий раз, когда появляется угроза захвата. Ограничение кривизны траектории преследователя запрещает ему слишком резкие повороты. Он может промчаться мимо Е и, вернувшись обратно для новой попытки, может быть снова обманут тем же маневром Е.
Глава 6 ЦЕЛОЧИСЛЕННОЕ ЛИНЕЙНОЕПРОГРАММИРОВАНИЕ Задача называется полностью целочисленной, если условие цело- численности наложено на все ее пе- переменные; когда это условие отно- относится лишь к некоторым переменным, задача называется частично целочисленной. Невозможно обосновать какое- либо утверждение относительно близости целочисленного решения и решения задачи без требований целочисленности. Целочисленное программирова- программирование ориентировано на решение задач математического программирования, в которых все или некоторые пере- переменные должны принимать только целочисленные значения. Задача на- называется полностью целочисленной, если условие целочисленности нало- наложено на все ее переменные; когда это условие относится лишь к некоторым переменным, задача называется час- частично целочисленной. Если при этом целевая функция и функции, вхо- входящие в ограничения, линейные, то говорят, что данная задача является задачей линейного целочисленного программирования (ЦЛП). Наиболее естественным классом практических задач, которые сводят- сводятся к задачам целочисленного программирования, являются задачи, в ко- которых переменные — физически неделимые величины (например, коли- количество единиц какой-либо продукции). Другим важным классом таких задач являются экстремальные комби- комбинаторные задачи, переменные которых носят логический характер (jc = О или х = 1). Такие переменные называются булевыми. К таким задачам относятся, например, задачи выбора некоторого подмножества, обла- обладающего какими-либо экстремальными свойствами. Кроме этого существует класс задач, в которых нет явного требования целочисленности переменных, но существуют некоторые особенности, позволяющие свести их к задачам целочисленного или частично цело- целочисленного программирования. Несмотря на то что к настоящему времени разработан ряд методов решения целочисленных задач, ни один из них не обеспечивает желае- желаемой эффективности соответствующих вычислительных процедур, что особенно проявляется при увеличении размерности задачи. 174
Таким образом, в отличие от задач линейного программирования, время решения которых относительно невелико, реализация целочислен- целочисленных алгоритмов в ряде случаев весьма затруднительна. Далее изложим идею одного из современных методов целочисленного программирова- программирования. Присущие целочисленному программированию трудности вычисли- вычислительного характера обусловили стремление исследователей найти аль- альтернативные пути решения проблемы. Один из простейших подходов за- заключается в решении непрерывной модификации целочисленной задачи с последующим округлением координат полученного оптимума до до- допустимых целых значений. Округление в данном случае есть не что иное, как приближение. Например, если получено решение непрерывной зада- задачи, содержащее число 10,1, то можно приближенно заменить это число на 10 (т.е. округлить до 10). Однако нет гарантии, что округленное реше- решение будет удовлетворять ограничениям. Например, для линейной задачи с ограничениями в виде равенств округленное решение всегда не удовле- удовлетворяет этим ограничениям. Как следует из теории линейного програм- программирования, округленное решение не может быть допустимым, поскольку это означало бы, что один и тот же базис (при условии равенства нулю небазисных переменных) определяет два различных решения задачи. Приведенный пример показывает возможную несостоятельность подхо- подхода, основанного на округлении оптимального решения задачи линейного программирования, полученной из исходной целочисленной задачи пу- путем отбрасывания требований целочисленности. Пример. Решить следующую задачу ЦЛП -5*! - 2х2 —> min 1Ц+4х2<33 -х, + 2х2 < 8 хх,х2 €{0,1,2,....}. Решение. Отбросив требование целочисленности переменных, получим задачу линейного программирования. Решением данной задачи является точка х = (х[,х*2) = A—,4—). Если рассматривать все возможные округления 13 26 компонент оптимальной точки, то получим четыре возможных целочис- целочисленных точки A,4), B,4), A,5), B,5). Во-первых, из этих точек только точка A,4) является допустимой для исходной задачи. А во-вторых, она 175
находится далеко от истинного оптимального решения исходной задачи /=(*;,*;)=(з,о). Невозможно обосновать какое-либо утверждение относительно бли- близости целочисленного решения и решения задачи без требований цело- численности, поскольку можно построить пример, показывающий, что данный подход может давать сколь угодно плохие приближения к реше- решению исходной целочисленной задачи. Эффект округления не слишком заметен, лишь когда искомые пара- параметры задачи подчинены относительно нежестким ограничениям. Одна- Однако типичными для задач целочисленного программирования являются ограничения-равенства, достаточно жестко определяющие поведение ре- релевантных переменных. Примером может служить условие jCj + х2 +... + хп = 1, где xi = @,1) для всех /. В такой ситуации процедура округления не имеет смысла и необходимо обратиться к другим алго- алгоритмам решения. Несостоятельность округления подчеркивается также следующими со- соображениями. Несмотря на то что целочисленные переменные обычно вы- выражают количество неделимых предметов (например, машин, людей, ко- кораблей), возможны и другие типы спецификации этих переменных. Так, решение о финансировании некоторого проекта представляется булевой переменной х (х = 0, если проект отклоняется, и х = 1, если проект прини- принимается). В этом случае бессмысленно оперировать дробными значениями величины х, и процедура округления является логически неприемлемой. Так как практическая ценность задач с целочисленными переменны- переменными не вызывает сомнений, целочисленное программирование занимает важное место среди методов исследования операций. 6.1. Примеры задач целочисленного программирования Рассмотрим примеры решения задач, ни одна из которых не является ярко выраженной задачей целочисленного программирования. Значи- Значительно больший интерес представляют открываемые целочисленным программированием возможности приведения «некорректных» задач к стандартному виду задач математического программирования. Исполь- Использование специальных приемов позволяет получить решение в ряде слу- случаев, когда решить задачу с помощью прямых методов оказывается крайне затруднительным. 176
6.1.1. Задача с постоянными элементами затрат. В одной из типич- типичных задач планирования производства рассматривается N видов про- промышленной продукции. Затраты на производство продукции вида j скла- складываются из постоянных затрат в объеме Kj9 не зависящем от количества произведенной продукции, и текущих издержек с j на произ- производство единицы продукции. Таким образом, если х. — объем выпуска продукции вида j, функ- функцию суммарных затрат можно записать следующим образом: C(x\-\Kj+CjXj' ^>0' С^~|0, х,=0. Естественным выглядит стремление минимизировать величину сум- суммарных затрат N j(j)>т\п. 7=1 Рассматриваемый критерий не является линейным по переменной xj вследствие разрыва в начале координат. Поэтому задача с целевой функ- функцией z оказывается непригодной для дальнейшего исследования класси- классическими методами. Введение дополнительных булевых переменных позволяет преобразо- преобразовать задачу к виду, «более приемлемому» с аналитических позиций. Пусть yJ0- *'=°- J 11 х > О что можно переписать в форме (линейного) неравенства: xj < My,-. Здесь М> 0 достаточно велико, чтобы условие Xj < М выполнялось для всех допустимых объемов выпуска продукции. Теперь исходную за- задачу можно сформулировать следующим образом: N (Kj)-> mm. = \,..,N, ¦ = l,...,N. 177
Рассмотрим подробнее ограничение xi < Му^. При условии Xj > О имеем у}, = 1 и целевая функция включает постоянные затраты Kj. Если Xj = 0, то yj может принимать значения 0 или 1, однако, поскольку ЛГ7 > 0 и z требуется минимизировать, переменная у} должна быть рав- равна нулю. Следует подчеркнуть, что исходная задача с постоянными элемента- элементами затрат не имеет никакого отношения к целочисленному программи- программированию. Тем не менее «преобразованная» задача представляет собой частично целочисленную задачу с булевыми переменными («О - 1» зада- задачу). Необходимость рассмотренного преобразования была обусловлена исключительно аналитическими соображениями. В самом деле, введен- введенные булевы переменные являются вспомогательными, так как ассоции- ассоциированную с ними информацию можно назвать полезной лишь условно. Например, >>у = 1 в оптимальном решении означает, что х} > О. 6.1.2. Задача планирования производственной линии. Рассмотрим задачу, связанную с выполнением п различных производственных опе- операций на одном станке за минимально возможное время. В процессе производства последовательно выполняется ряд операций, порядок кото- которых устанавливается технологическими требованиями. Каждое изделие необходимо изготовить к заданному сроку. В задаче имеются три типа ограничений, связанных с последова- последовательным осуществлением операций, неразветвленностью производст- производственного процесса и наличием установленного срока изготовления ка- каждого изделия. Ограничения второго типа отражают тот факт, что никакие две операции не выполняются (на одном станке) одновре- одновременно. Рассмотрим первый тип ограничений. Обозначим через х ,• время нача- начала операции j (отсчитываемое от некоторого исходного момента), а через uj — величину промежутка времени, требуемого для выполнения этой операции. Если операция / должна предшествовать операции у, то соответ- соответствующее ограничение записывается в виде неравенства х, + at < Xj. Рассмотрим условие неразветвленности производственного процесса. Для операций / и у, не выполняемых на станке одновременно, или х, - Xj > uj, или Xj - xi > at, когда в оптимальном решении у предшест- предшествует / или / предшествует^ соответственно. 178
Логические ограничения вида «или — или» не укладываются в рамки обычной задачи линейного программирования (так как порождают не- невыпуклое пространство допустимых решений). Эту трудность можно обойти путем введения вспомогательных булевых переменных если операция j предшествует операции /, если операция / предшествует операции j. Если М достаточно велико, ограничение вида «или —' или» эквива- эквивалентно следующей системе неравенств: В случае, когда для оптимального решения у у = О , второе неравенст- неравенство становится избыточным, а активным ограничением будет первое не- неравенство. Если же у у = 1, первое неравенство становится избыточным, а в качестве ограничения фигурирует второе неравенство. Таким обра- образом, введение булевых переменных у у позволяет преобразовать эти ог- ограничения к обычному виду ограничений линейной частично целочис- целочисленной задачи. Учет заданных сроков изготовления осуществляется следующим обра- образом. Пусть операция^ должна быть завершена к моменту времени dj, тогда Если обозначить через / суммарное время, требуемое для выполнения всех п операций, рассматриваемая задача принимает следующий вид: t->min и выполняются ограничения трех перечисленных выше типов. 6.1.3. Задача о рюкзаке. К задачам рассматриваемого типа относится классическая задача о рюкзаке, которая в переменных 0 и 1 имеет сле- следующий вид: max z = сххх + с2х2 +... + спхп аххх + а2х2 +... + апхп < Ь, х,е{0; 1}, / = 1, 2,...,л. 179
В общем виде этот тип задач может быть описан следующим образом. Имеется п позиций, каждую из которых можно либо выбрать {х{ = 1), либо нет {х{ - 0) . Выбор /-и позиции требует затрат ресурса в количестве ai. Общее количество имеющегося в распоряжении ресурса равно Ь. Эффект от выбора /-й позиции есть с,. Следует осуществить выбор среди позиций, допустимый в смысле затрат ресурсов, и имеющий максималь- максимальный суммарный эффект. 6.1.4. Задача оптимального выбора на множестве взаимозависи- взаимозависимых альтернатив. В общем виде задача формулируется следующим образом. Пусть имеется N альтернатив, каждая из которых приносит прибыль в размере рп i = 1, ..., N. Необходимо выбрать не более к из данных альтернатив так, чтобы суммарная прибыль была бы макси- максимальна. На альтернативы наложены некоторые ограничения нескольких типов, а именно: 1) /-я альтернатива может быть выбрана только в том случае, если выбранау-я; 2) /-я альтернатива не может быть выбрана, если выбранау-я; 3) хотя бы одна из альтернатив /-я или у-я обязательно должна быть выбрана; 4) одна и только одна из альтернатив /-я или у-я обязательно должна быть выбрана; 5) к-я альтернатива может быть вы- выбрана, только если выбрана хотя бы одна из альтернатив /-я или у-я. Для математической постановки задачи введем переменные логиче- логического (булева) типа, а именно: положим _ (\, если альтернатива / выбирается ' @, если альтернатива / не выбирается. Целевую функцию задачи можно записать в виде р\Х\ + ....р^х^ . Покажем, как можно выразить математически ограничения перечис- перечисленных типов. 2) х,+ху<1, 3) х,+ху>1, 4) xt + Xj = 1, С\ Y — Y — Y < П J) Л^ Л; Лу _ V . Таким образом, разнообразные ограничения на выбор альтернатив мо- могут быть выражены с помощью линейных ограничений, накладываемых на булевы переменные. Естественно, что кроме приведенных типов ограни- ограничений возможны и многие другие. 180
6.2. Методы решения задач целочисленного программирования Методы решения задач целочис- целочисленного программирования можно классифицировать как методы отсе- _ чений и комбинаторные методы, чении и комбинаторные методы. Методы решения задач целочис- целочисленного профаммирования можно классифицировать как методы отсе- Исходной задачей для демонстрации возможностей методов отсечений, используемых при решении линейных целочисленных задач, является за- задача с ослабленными ограничениями, которая возникает в результате ис- исключения требования целочисленности переменных. По мере введения специальных дополнительных ограничений, учитывающих требование це- целочисленности, многогранник допустимых решений ослабленной задачи постепенно деформируется до тех пор, пока координаты оптимального решения не станут целочисленными. Название «методы отсечений» связа- связано с тем обстоятельством, что вводимые дополнительные ограничения от- отсекают (исключают) некоторые области многогранника допустимых ре- решений, в которых отсутствуют точки с целочисленными координатами. В основе комбинаторных методов лежит идея перебора всех допусти- допустимых целочисленных решений. Разумеется, на первый план здесь выдви- выдвигается проблема разработки тестовых процедур, позволяющих непосред- непосредственно рассматривать лишь относительно небольшую часть указанных решений, а остальные допустимые решения учитывать некоторым кос- косвенным образом. Наиболее известным комбинаторным методом является метод ветвей и границ, который также опирается на процедуру решения задачи с ослабленными ограничениями. При таком подходе из рассмат- рассматриваемой задачи получаются две подзадачи путем специального «раз- «разбиения» пространства решений и отбрасывания областей, не содержащих допустимых целочисленных решений. В случае, когда целочисленные переменные являются булевыми, применяют комбинированные методы. Булевы свойства переменных су- существенно упрощают поиск решения. Методы, рассматриваемые в данной главе, предназначены для реше- решения главным образом линейных целочисленных задач. Метод отсекаю- отсекающих плоскостей, разработанный Р. Гомори, включает дробный алгоритм (первый алгоритм Гомори), который используется при решении полно- полностью целочисленных задач, а также алгоритм решения частично цело- целочисленных задач (второй алгоритм Гомори). Алгоритм, реализующий метод ветвей и границ, был предложен А. Лэндом и А. Дойгом. 181
Для решения задач, содержащих только булевы переменные, обычно используется так называемый аддитивный алгоритм. Для решения нели- нелинейных задач с булевыми переменными используется также обобщенный аддитивный алгоритм. Основная идея метода отсекающих плоскостей состоит в том, что на каж- каждом шаге рассматривается задача с ослабленными ограничениями (без требования целочисленности), для ко- которой по специальному алгоритму строится некоторое дополнительное линейное ограничение (отсечение), отсекающее только некоторые неце- нецелочисленные точки. 6.2.1. Метод отсекающих плоскостей. Рассмотрим задачу ЦЛП, записанную в стандартном виде (только ограничения равен- равенства). F.1) Xj >0,у= 1, ...,л, Xj G Z, где Z — множество целых чисел. Основная идея метода отсечений состоит в том, что исходная задача ЦЛП первоначально рассматривается без требований целочисленности переменных. Если оптимальное решение такой задачи с ослабленными ограничениями тем не менее является целочисленным, то, как нетрудно показать, оно является оптимальным решением для исходной задачи. В противном случае по специальному алгоритму строится некоторое до- дополнительное линейное ограничение, обладающее следующими свойст- свойствами: 1) данное дополнительное ограничение отсекает полученное нецелочис- нецелочисленное оптимальное решение (т.е. оно не удовлетворяет данному до- дополнительному ограничению). 2) данное дополнительное ограничение не отсекает ни одного целочислен- целочисленного решения (т.е. любое допустимое целочисленное решение предыду- предыдущей задачи удовлетворяет данному дополнительному ограничению). Дополнительное линейное ограничение, обладающее приведенными свойствами, будем называть правильным отсечением. Приведем алгоритм построения правильных отсечений, который предложен Гомори (метод Гомори). Пусть решение исходной задачи с ослабленными ограничениями (без требования целочисленности) сим- симплекс-методом дало на последнем шаге, соответствующем оптимальному 182
решению, следующее выражение основных (базисных) переменных х\,...,хт, через неосновные (свободные) переменные хт+\9...,хп: *1 = Ь1 ~ *1ш+Л.+1 - - - <hn*n > Как следует из теории симплекс-метода, оптимальным решением за- задачи в этом случае является вектор jc* = Fp...,6m,0,...,0). Если все ком- компоненты этого вектора целочисленные, то, как было отмечено, это и есть оптимальное решение исходной задачи, иначе среди компонент вектора есть хотя бы одна нецелочисленная (с положительной дробной частью). Пусть это будет компонента Ьк (ibk) > О). Тогда рассмотрим следующее линейное ограничение Покажем, что линейное ограничение F.3) удовлетворяет требованиям правильного отсечения. 1. Подставив компоненты вектора jc* =(bj,...,6w,0,...,0) в неравенство F.3), получим fe|<0, что противоречит выбору компоненты Ь*к. Таким образом, мы показали, что ограничение F.3) отсекает нецело- нецелочисленное оптимальное решение исходной задачи. 2. Рассмотрим произвольное допустимое целочисленное решение х = (x15...,xw) задачи F.1). Тогда компоненты вектора х удовлетворяют уравнениям F.2). А, следовательно, выполнено сле- следующее соотношение хк = Ьк - ^+1хт+1 -... - акпхп. Откуда К =хк +акт+\хт+\ + — + акпхп • Взяв дробную часть от обеих частей данного соотношения и учитывая, что дробная часть суммы не пре- превосходит суммы дробных частей слагаемых, а дробная часть произве- произведения неотрицательного целого и числа не превосходит произведения целого на дробную часть этого числа, получаем ^{ хк } + { 4L+i К+1 +••• + { акп R- 183
Так как {хк } = 0, получаем неравенство F.3). Следовательно, мы показали, что оно не отсе- отсекает никаких допустимых целочисленных решений исходной задачи F.1). Сформулируем теперь этапы решения задачи целочисленного линей- линейного программирования методом Гомори. Этап 1. Используя симплекс-метод, решаем исходную задачу F.1) без ограничений на целочисленность. Если задача с ослабленными огра- ограничениями не имеет решения, то и исходная задача не имеет решения. Если решение задачи оказывается целочисленным, то оно является ре- решением исходной задачи F.1), и процесс поиска решения завершен. Этап 2. Выбирается одна из нецелых компонент полученного на этапе 1 решения (как правило, выбирается компонента, имеющая наи- наибольшую дробную часть). Исходя из выбранной компоненты строится правильное отсечение F.3). Этап 3., Неравенство F.3), полученное на этапе 2, преобразуется в равенство путем добавления новой неотрицательной переменной Эти соотношения присоединяем к ограничениям задачи, рассмотрен- рассмотренной на этапе 1. Этап 4. Решаем задачу с модифицированными на этапе 3 ограниче- ограничениями. Если ее оптимальное решение является целочисленным, то это и есть оптимальное решение исходной задачи, иначе возвращаемся к этапу 2. Оказывается что если исходная задача имеет решение, то данный ал- алгоритм позволяет его найти за конечное число шагов. Пример. Решить следующую задачу целочисленного линейного про- программирования: max Gjc! + 9д:2) F.4) -хх +3х2 < 6, 7хх +х2 <35, х15д:2>0, xvx2 Решение. Область допустимых решений задачи с ослабленными огра- ограничениями (четырехугольник ABCD), получаемой путем отбрасывания 184
требования целочисленности переменных, а также оптимальное решение этой задачи изображены на рис. 6.1. (9/2, 7/2) -Х\ +3*2 =6 7*!+9*2 = 63 Рис. 6.1 Добавляя в задаче с ослабленными ограничениями две новые неотри- неотрицательные переменные, приведем задачу к стандартному виду max (lxx+9x2) F.5) -хх + Зх2 + х3 = 6, 1хх +х2 +х4 =35, хХ9х29х3,х4 >0. Применяя симплекс-метод (этап 1) для решения задачи F.5), получим последнюю симплексную таблицу, определяющую оптимальное реше- решение, в следующем виде (табл. 6.1). Таблица 6.1 Z *2 *1 0 0 1 *2 0 1 0 *з 28/11 7/22 -1/22 Ч 15/11 1/22 3/22 Решение 63 7/2 9/2 Оптимальное значение целевой функции равное 63 достигается в точ- точке х* =(xl,x*2,x*39x*A) с координатами х*х = 9/2, х*2 = 7/2, х] = 0, х\ = 0. Поскольку оптимальное решение задачи с ослабленными ограничениями 185
не является целочисленным, то необходимо переходить к этапу 2, то есть строить правильное отсечение. Поскольку обе компоненты оптимального решения нецелочисленны и их дробные части равны, то выберем в каче- качестве переменной, на базе которой строится отсечение, например пере- переменную х2. Тогда, добавляя новую неотрицательную переменную *5, получаем согласно F.3) дополнительное ограничение следующего вида: или J7_. 22' 22' Y F.6) Добавляя новое ограничение F.6) к ограничениям задачи F.5) полу- получаем модифицированную задачу линейного программирования со сле- следующей исходной симплекс-таблицей (табл. 6.2). Таблица 6.2 г *2 *1 0 0 1 0 0 1 0 0 28/11 7/22 -1/22 -7/22 хА 15/11 1/22 3/22 -1/22 0 0 0 1 Решение 63 7/2 9/2 -1/2 Продолжая решение симплекс-методом, приходим к следующей за- заключительной симплекс-таблице (табл. 6.3). Таблица 6.3 Z х2 *1 0 0 1 0 Х2 0 1 0 0 *з 0 0 0 1 1 0 1/7 1/7 8 1 -1/7 -22/7 Решение 59 3 32/7 11/7 Оптимальное значение целевой функции равное 59 достигается в точ- точке х* =(х*19х*29х19х*4,х*5) с координатами х\ = 32/7, х*2 = 3, х*3 = 11/7, х*А = 0, х*5 = 0. Поскольку оптимальное решение задачи с ослабленными ограничениями опять не является целочисленным, то необходимо пере- переходить к этапу 2, т.е. строить еще одно правильное отсечение. Поскольку две компоненты оптимального решения нецелочисленны, то выберем в 186
качестве переменной, на базе которой строится отсечение, переменную xj. Тогда, добавляя новую неотрицательную переменную х6, получаем согласно F.3) дополнительное ограничение следующего вида: -{1/7}х4-{-1/7}*5+*6=-{32/7} или -1/7jc4-6/7x5+x6=-4/7. F.7) Добавляя новое ограничение F.7) к ограничениям задачи, рассмотрен- рассмотренной на предыдущем шаге, получаем модифицированную задачу линейного программирования со следующей исходной симплекс-таблицей (табл. 6.4). Таблица 6.4 Z *2 *1 *3 ч х\ 0 0 1 0 0 *2 0 1 0 0 0 0 0 0 1 0 1 0 1/7 1/7 -1/7 8 1 -1/7 -22/7 -6/7 Ч 0 0 0 0 1 Решение 59 3 32/7 11/7 -4/7 Продолжая решение симплекс-методом, приходим к следующей за- заключительной симплекс-таблице (табл. 6.5). Таблица 6.5 Z *2 *1 *3 Ч *1 0 0 1 0 0 *2 0 1 0 0 0 *3 0 0 0 1 0 ч 0 0 0 0 1 2 1 -1 -4 6 ч 1 0 1 1 -7 Решение 55 3 4 1 4 х =(x1,x2,x3,x4,x5,x6) с координатами хх =4, х2 = 3, х3 = 1, х4 =4, Поскольку оптимальное решение задачи с ослабленными ограниче- ограничениями является целочисленным, то процесс поиска оптимального реше- решения исходной задачи F.4) завершен— оптимальной точкой является точка D, 3) со значением целевой функции 55. В ходе решения задачи по методу Гомори было построено два допол- дополнительных линейных отсечения. Для того чтобы представить себе гео- геометрический смысл построенных отсечений, преобразуем ограничение 187
F.6), выразив переменные х3 и хА через исходные переменные хх и х2 из уравнений F.5). А именно: F + 3)C57) или х2 + х5 = 3, что эквивалентно, учитывая неотрицательность пере- переменной х5 х2<3. F.8) Аналогичным образом преобразуем линейное отсечение F.7), выра- выразив переменную х3 и х4 из уравнений F.5) и переменную х$ из уравне- уравнения F.6), а именно: 1 6 17 1 4 7 ' 2 7 2 22 * 2 22 ] 2 6 7' или хх + х2 + х6 = 7, что эквивалентно, учитывая неотрицательность пе- переменной х6, хх + jc2 < 7. F.9) Изобразив ограничения F.8) и F.9) эквивалентные, как мы показали, линейным отсекающим ограничениям F.6) и F.7), мы получим геомет- геометрическую интерпретацию метода отсекающих плоскостей (рис. 6.2). \ х\ + *2 = 7 Рис. 6.2 188
Новое допустимое множество решений, получившееся после отсече- отсечений, есть многоугольник ABCDEF. 6.2.2. Метод ветвей и границ. Методы типа ветвей и границ ши- широко используются для решения не только задач линейного целочис- целочисленного и частично целочисленно- целочисленного программирования, но и для решения многих других дискрет- дискретных оптимизационных задач (на- (например, задача коммивояжера). Поэтому первоначально мы рас- рассмотрим схему метода в общем виде, а затем конкретизируем ее для задач ЦЛП. Пусть требуется решить некоторую оптимизационную задачу, запи- записанную в общем виде, как Идея метода ветвей и границ состоит в разбиении допустимого множества на подмножества (пра- (правило ветвления) и вычислении оценок целевой функции на этих подмножествах, которые позволяют исключать из рассмотрения под- подмножества, заведомо не содержа- содержащие оптимальных точек. В настоящее время алгоритмы метода ветвей и границ являются наиболее надежным средством ре- решения целочисленных задач, встре- встречающихся в практических исследо- исследованиях. max F(x) хеХ. F.10) Метод предполагает наличие некоторого способа вычисления оценок сверху целевой функции F(x) на подмножествах множества X, X аХ . Эту оценку на подмножестве будем обозначать как R( X ). Оценка свер- сверху предполагает выполнение следующего соотношения: F(x)<R(X)9x eX. Способ оценивания зависит от специфики решаемой задачи, однако весьма часто в основе оценивания функции F(x) на множестве X лежит решение задачи максимизации на некотором более широком множестве. Как правило, задача максимизации функции на расширенном множестве оказывается проще с вычислительной точки зрения. Сразу поясним, что для задач ЦЛП это расширение заключается в отбрасывании требования целочисленности переменных, что, с одной стороны, расширяет допус- допустимое множество, а с другой— сводит задачу максимизации к задаче линейного программирования, которая существенно проще с вычисли- вычислительной точки зрения. 189
Кроме этого метод предполагает наличие некоторого правила ветвле- ветвления, суть которого состоит в следующем. Пусть имеется некоторое раз- разбиение множества X на систему подмножеств. Правило предполагает выбор некоторым способом одного из подмножеств и разбиение (ветвле- (ветвление) его на непересекающиеся подмножества. Как правило, в качестве подмножества для ветвления выбирается подмножество с максимальным значением оценки. Иногда говорят не о ветвлении допустимого множе- множества, а о ветвлении задачи (разбиение на подзадачи). Далее для вновь появившихся в результате ветвления подмножеств X строятся их оценки сверху. При этом могут возникнуть следующие ситуации: 1) подмножество X оказалось пустым; 2) полученная оценка R( X ) меньше или равна наибольшему из уже вы- вычисленных к этому моменту значений функции F(x\ которое называ- называется текущим значением рекорда. Отсюда следует, что оптимальное решение исходной задачи F.10) находится вне множества X ; 3) точка из расширенного множества, в которой достигается оценка R( X ), принадлежит самому множеству X . Во всех трех случаях подмножество X исключается из рассмотре- рассмотрения. В случае 3, кроме того, вычисленное значение max F(x) на множест- множестве х е X сравнивается с текущим значением рекорда. В качестве нового значения текущего рекорда выбирается максимальное из этих чисел. Важным достоинством метода ветвей и границ является то обстоя- обстоятельство, что в процессе решения на каждом шаге мы располагаем дву- двусторонними оценками для оптимального значения задачи F.10). А имен- именно, это значение ограничивается снизу значением текущего рекорда и ограничивается сверху максимумом из всех имеющихся оценок R(X ). Эти оценки в процессе решения уточняются, поэтому если точность оце- оценок на каком либо шаге удовлетворяет, процесс вычисления по данному алгоритму может быть прекращен. Перейдем теперь непосредственно к рассмотрению метода ветвей и границ применительно к ЦЛП. Как отмечалось в начале данной главы, алгоритм, реализующий метод ветвей и границ, был предложен А. Лэндом и А. Дойгом. Рассматриваемый метод решения задачи целочисленного программи- программирования также опирается на решение задач с ослабленными ограниче- ограничениями. Однако в отличие от методов отсечений метод ветвей и границ 190
непосредственно применим как к полностью, так и к частично целочис- целочисленным задачам. Согласно общей идее метода, сначала решается задача с ослабленны- ослабленными ограничениями (задача линейного программирования). Пусть хг — целочисленная переменная, значение хг которой в оптимальном реше- решении ослабленной задачи является дробным. Интервал [*;]<*, <[*;]+! не содержит допустимых целочисленных компонент решения. Поэтому допустимое целое значение х должно удовлетворять строго одному из неравенств хг < \хг или хг > \хг +1. Введение этих условий в задачу с ослабленными ограничениями по- порождает две не связанные между собой задачи. В таком случае говорят, что исходная задача разветвляется (или разбивается) на две подзадачи. Осуществляемый в процессе ветвления учет необходимых условий цело- численности позволяет исключить части многогранника допустимых решений, не содержащие точек с целыми координатами. Затем каждая подзадача решается как задача линейного программи- программирования (с целевой функцией исходной задачи). Если полученный опти- оптимум оказывается допустимым для целочисленной задачи, такое решение следует зафиксировать как наилучшее. При этом нет необходимости продолжать «ветвление» подзадачи, поскольку улучшить полученное решение, очевидно, не удастся. В противном случае подзадача в свою очередь должна быть разбита на две подзадачи опять при учете условия целочисленности переменных, значения которых в оптимальном реше- решении не являются целыми. Разумеется, как только полученное допустимое целочисленное решение одной из подзадач оказывается лучше имеюще- имеющегося (текущее значение рекорда), оно фиксируется вместо зафиксиро- зафиксированного ранее. Процесс ветвления продолжается насколько это возможно до тех пор, пока каждая подзадача не приведет к целочисленному реше- решению или пока не будет установлена невозможность улучшения имеюще- имеющегося решения. В этом случае зафиксированное допустимое решение яв- является оптимальным. Эффективность вычислительной схемы метода можно повысить, вве- введя в рассмотрение понятие границы, на основе которого делается вывод 191
о необходимости дальнейшего разбиения каждой из подзадач. Если оп- оптимальное решение подзадачи с ослабленными ограничениями обеспе- обеспечивает худшее, чем имеющееся решение, значение целевой функции, эту подзадачу далее рассматривать не следует. В таких случаях говорят, что подзадача прозондирована, ее можно вычеркнуть из списка подзадач, порожденных исходной задачей. Иными словами, как только получено допустимое целочисленное решение некоторой подзадачи, соответст- соответствующее значение целевой функции может быть использовано в качестве (верхней в случае минимизации и нижней в случае максимизации) гра- границы, наличие которой позволяет формализовать процедуру исключения прозондированных подзадач. Следует подчеркнуть исключительную важность проблемы выявле- выявления достаточно близкой к оптимальному решению границы уже на пер- первых этапах вычислений. Успешное разрешение указанной проблемы на- находится в прямой зависимости от порядка, в котором порождаются и решаются различные подзадачи, а также от выбора переменной, иниции- инициирующей процесс ветвления. К сожалению, вопрос о «наилучшем» спосо- способе выбора переменной ветвления или последовательности решения кон- конкретных подзадач пока еще не решен. Пример. Предприятие может выпускать металлические шкафы и ме- металлические стеллажи. Для производства шкафа требуется 1 человек/час рабочего времени и 9 м2. листового металла, а для производства стелла- жа— 1 человек/час рабочего времени и 5 м . металла. Имеется 6 чело- человек/часов рабочего времени и 45 м2 листового металла. Один шкаф при- приносит прибыль 8 тыс. руб., а один стеллаж— 5 тыс. Необходимо определить, сколько изготавливать шкафов и сколько стеллажей, чтобы прибыль предприятия была бы максимальной. Решение. В качестве переменных задачи рассмотрим х{ — количест- количество произведенных шкафов, х2 — количество произведенных стеллажей. Поскольку данные переменные должны быть неотрицательным це- целыми по смыслу задачи, мы имеем следующую задачу ЦЛП: z = 8xj + 5х2 -> max, F.11) хх + х2 < 6, 9х1 + 5х2 < 45 , хх,х2 >0, хрх2 eZ. 192
Сначала решим задачу F.11) без требования целочисленности, т.е. на расширенном допустимом множестве. Эту задачу назовем «подзадача 1». Если найденное в этом случае решение было бы целочисленным, то это и было бы решение задачи F.11). Однако получаем следующее — ¦ 165 * 15 ¦ 9 тт ,_ z = ,хх = —,х2 = —. На рис. 6.3 представлена геометрическая интер- 4 4 4 претация решения подзадачи 1. Четырехугольник ABCD есть допусти- допустимое множество подзадачи 1. Как было отмечено при описании общей схемы метода, максимальная из оценок, полученных на подмножествах, есть оценка сверху для опти- оптимального значения исходной задачи. Поэтому на данном этапе оценкой сверху для оптимального решения задачи F.11) является число 165/4. Далее, согласно схеме метода, переходим к процессу ветвления задачи. Выберем одну из нецелочисленных компонент решения, полученного на предыдущем шаге. Например, Xj =9/4. Тогда любая допустимая точка задачи F.11) удовлетворяет одному из ограничений хх<Ъ или хх>4. Произведем ветвление задачи на две новые подзадачи, которые для крат- краткости запишем в некотором схематичном виде: «подзадача 2» = «подзада- «подзадача 1» + «дополнительное ограничение Х!>4»; «подзадача 3» = «подзадача 1» + «дополнительное ограничение хх < 3 ». Рис. 63 Эту процедуру называют ветвление по переменной хх. На рис. 6.4 изо- изображены допустимые множества обеих подзадач. 193 7 Исследование операций
В " Подзадача 3 А к S \ \ \ N s \ Л \ D V \ Е Г С 1 J Г Л F D, 9/5) \ Подзадача 2 - G ;q+X2=6 x\ 9д:1 + 5^9 = 45 Рис. 6.4 Допустимое множество подзадачи 3 есть четырехугольник ABCD, а подзадачи 2 — треугольник EFG. Как и следовало ожидать, эти два мно- множества не пересекаются, и их объединение покрывает допустимое мно- множество задачи F.11). Далее выбираем любую из подзадач, для которой еще не получена оценка сверху исходной целевой функции. Например, подзадачу 2. Ее 9 решение приводит к результату z* =41, х*=4, х*2=- (точка F). По- Поскольку решение подзадачи 2 содержит только одну нецелочисленную компоненту, мы можем продолжить ветвление только по переменной х2. Это приводит нас к рассмотрению двух ограничений х2 > 2 и х2 < 1. Да- Далее строятся две новые подзадачи: «подзадача 4» = «подзадача 2» + «до- «дополнительное ограничение х2 > 2»; «подзадача 5» = «подзадача 2» + «дополнительное ограничение х2 < 1». Множества допустимых значений для подзадачи 4 и подзадачи 5 по- показаны на рис. 6.5. Допустимым множеством для подзадачи 5 является многоугольник FHIG. К этому моменту остаются нерешенными подзадачи 3, 4 и 5. Нет од- однозначного правила выбора порядка решения задач в методе ветвей и границ. Один из возможных подходов— это решать последнюю из сформированных подзадач. С этой точки зрения можно решать подза- подзадачу 4 или 5. Выберем задачу 4. Как видно из рис. 6.5, эта подзадача имеет пустое множество допустимых решений. Следовательно, соглас- согласно приведенной схеме метода эта подзадача исключается из рассмотре- рассмотрения. 194
Рис. 6.5 Теперь нерешенными остаются подзадачи 3 и 5. С точки зрения приведен- приведенного правила относительно порядка выбора решаемых подзадач, следует вы- * со * 365 * 40 * 1 брать подзадачу 5. Результаты ее решения таковы: z = , х{ - —, х2 = 1 (точка I, рис 6.5). Поскольку решение подзадачи 5 содержит только одну нецелочисленную компоненту, мы можем продолжить ветвление только по переменной хх. Это приводит нас к рассмотрению двух ограничений хх > 5 и хх < 4. Далее строятся две новые подзадачи: «подзадача 6» = «подзадача 5» + «дополнительное ограничение хг > 5 »; «подзадача 7» = «подзадача 5» + «дополнительное ограничение хх < 4 ». *2 Подзадача 7 \ Г 1 Подзадача 6 > Е Рис. 6.6 х\ 195
Множества допустимых значений для подзадачи 6 и подзадачи 7 по- показаны на рис. 6.6. Допустимым множеством для подзадачи 7 является отрезок ЕН, а для подзадачи 6 точка G. К текущему моменту нерешенными являются задачи 3, 6 и 7. Со- Согласно правилу выбора, можно решать подзадачу 6 или 7. Выберем, например, подзадачу 7. Результаты ее решения таковы: z* = 37, х[ =4, х*2 = 1 (точка Я, рис. 6.6). Поскольку полученное опти- оптимальное решение является целочисленным, мы можем сделать два выво- вывода: 1) данная точка является допустимой для исходной задачи F.11), и, следовательно, мы можем определить текущее значение рекорда равным 37 (оценка снизу для решения исходной задачи), а точку D,1) рассматривать как возможную кандидатуру на оптимальное решение; 2) допустимое множество подзадачи 7 не содержит целочисленных то- точек со значением целевой функции больше чем 37, а следовательно, не имеет смысла производить дальнейшее ветвление подзадачи 7, что позволяет нам считать ее прозондированной. К текущему моменту нерешенными являются задачи 3 и 6. Согласно правилу выбора, нужно решать подзадачу 6. Результаты ее решения та- таковы, z* = 40, х\ =5, х*2 = 0 (точка G, рис 6.6). Поскольку полученное оптимальное решение является целочисленным, мы можем сделать два вывода: 1) данная точка является допустимой для исходной задачи F.11), и зна- значение целевой функции в данной точке больше текущего значения рекорда. Следовательно, мы должны присвоить текущему значению рекорда новое значение равное 40 (новая оценка снизу для решения исходной задачи), а точку E,0) рассматривать как новую возможную кандидатуру на оптимальное решение; 2) допустимое множество подзадачи 6 не содержит целочисленных то- точек со значением целевой функции больше чем 40, а следовательно, не имеет смысла производить дальнейшее ветвление подзадачи 6, что позволяет нам считать ее прозондированной. К текущему моменту нерешенной является только задача 3. Результа- Результаты ее решения таковы: z* = 39, х\ =3, х*2 = 3 (точка С, рис. 6.4). По- Поскольку полученное оптимальное значение задачи равное 39 (оценка сверху для значения целевой функции исходной задачи на целочислен- целочисленных точках, содержащихся в допустимом множестве данной подзадачи) 196
меньше значения текущего рекорда равного 40, то подзадачу 6 можно исключить из дальнейшего рассмотрения. Таким образом, процесс ветвления завершен, и оптимальным решени- решением задачи F.11) являются z* = 40, х* =5, х*2 = 0 . Процесс решения задачи по методу ветвей и границ удобно изо- изображать графически в виде древовидной структуры, в которой верши- вершины соответствуют подзадачам, а дуги дополнительным ограничениям, возникающим в момент ветвления по какой-либо переменной. Число рядом с подзадачей обозначает хронологический порядок решения подзадач. Для рассмотренной задачи дерево решения приведено на рис. 6.7. Между алгоритмами метода ветвей и границ, положенными в основу большинства используемых программ для ЭВМ, и описанным выше ал- алгоритмом имеются определенные различия, которые главным образом связаны с правилами выбора последовательности рассмотрения подзадач и переменных, инициирующих процессы ветвления в вершинах. Обычно это эвристические правила, разработанные в ходе машинных экспери- экспериментов. Подзадача 3 z* = 39, х* = 3, х*2 = 3 Подзадача 4 Пустое множество допустимых точек Подзадача 5 365 ¦ 40 * Подзадача 6 z* = 40, х\ = 5, Х2 = 0 Кандидатура на оптимальное решение Рис. 6.7 Подзадача 7 z =37, X] = 4, \2 = 1 Кандидатура на оптимальное решение 197
В приведенном примере мы использовали следующий подход к выбо- выбору подзадачи — решать последнюю из сформированных подзадач. Опи- Опираясь на приведенную выше интерпретацию процесса решения по мето- методу ветвей и границ, можно предположить, что в этом случае мы как бы движемся по какой-то ветке дерева, быстро доходим до возможной кан- кандидатуры на оптимальное решение, а затем возвращаемся по этой ветке обратно. Поэтому условно этот подход можно назвать «подходом обрат- обратного хода». В качестве альтернативного можно рассмотреть подход, основанный на том, что в момент ветвления решаются сразу обе задачи, а далее ветв- ветвление производится для той подзадачи (из всего списка еще не прозон- прозондированных подзадач), для которой оценка значения целевой функции является максимальной. Основанием для такого подхода является ожи- ожидание найти оптимальное решение исходной целочисленной задачи с большей вероятностью в подзадачах с высоким значением оценки целе- целевой функции. По сравнению с «подходом обратного хода» этот подход ведет к порождению большего числа подзадач. В терминах древовидной интерпретации решения этот подход может приводить к перепрыгива- перепрыгиванию с одной ветки решения на другую. Поэтому он условно может быть назван «прыгающий подход». В заключение хотелось бы сделать еще одно замечание, весьма по- полезное при построении конкретных вычислительных алгоритмов метода. В процессе решения мы решаем подзадачи, которые по своей сути явля- являются задачами линейного программирования. Естественно, что в этом случае мы используем один из алгоритмов симплекс-метода. Однако, как нетрудно заметить, подзадача, полученная в результате ветвления, отли- отличается от «породившей» ее задачи одним дополнительным ограничени- ограничением. Поскольку «породившая» ее задача была уже решена, нецелесооб- нецелесообразно, решая подзадачу симплекс-методом, начинать процедуру решения с самого начала. Целесообразно добавить строку в последнюю симплекс- таблицу, полученную при решении «породившей» задачи. Этим приемом мы пользовались, рассматривая пример решения ЦЛП по методу Гомори при добавлении к уже решенной симплекс-методом задаче дополнитель- дополнительного «отсекающего» ограничения. Можно утверждать, что в настоящее время алгоритмы метода ветвей и границ являются наиболее надежным средством решения целочислен- целочисленных задач, встречающихся в практических исследованиях.
Глава 7 даНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ Динамическое программиро- Л г г г Основное рекуррентное соот- вание представляет подход, по- позволяющий решить многие оп- оптимизационные задачи. В большинстве приложений дина- динамическое программирование по- получает оптимальное решение пу- шага ' " ™Ma™x затрат кото- J рые необходимы для того, чтобы от ношение динамического программи- программирования отражает тот факт, что ми- минимальная стоимость затрат, необходимых, чтобы от шага t дойти до конца задачи может быть получена минимизацией суммы затрат самого шага /+1 дойти до конца задачи. тем движения в обратном направлении— от конца задачи к началу. Задача большой размерности заменяется серией задач меньшей размерности. Продемонстрируем основную идею динамического программирова- программирования — движение от конца к началу на примере известной головоломки, а затем рассмотрим приложения этого метода к решению сетевых за- задач, задач управления запасами, задач оптимального распределения ре- ресурсов. Пример (игра со спичками). Пусть на столе лежат 30 спичек. Каждый игрок должен взять 1, 2 или 3 спички. Проигравшим считается тот, кто взял последнюю спичку. Может ли первый игрок всегда добиться выиг- выигрыша? Решение. Очевидно, что тот игрок, перед ходом которого на столе осталась только одна спичка, проигрывает. Если на столе остается 5 спичек, то тот, кто делает ход, проигрывает. Это следует из того, что какой бы он ход ни сделал, другой игрок всегда может совершить такой ход, после которого на столе останется 1 спичка. Действительно, если, например, на столе остается 5 спичек и очеред- очередным ходом забирается 2 спички, то следующий игрок забирает две спич- спички и он выиграл. Рассуждая аналогичным образом, логично прийти к за- заключению, что тот игрок, перед ходом которого на столе остается 5, 9, 13, 17, 21, 25 или 29 спичек, проигрывает при правильной игре его про- 199
тивника. Таким образом, первый игрок всегда может выиграть, взяв со стола на первом ходу одну спичку и тем самым оставив на столе 29 спи- спичек. Обратите внимание, что схема решения этой задачи заключалась в движении от конца к началу! Метод динамического программирования часто используется в сетевых задачах для нахождения кратчайшего пути, соединяющего две вершины. Данный пример является иллюстрацией данного под- подхода. Пример. Джо Кучер живет в Нью-Йорке, но планирует перебраться в Лос-Анджелес. Средства Джо ограниченны, поэтому он решил прово- проводить каждую ночь во время своего путешествия не в гостиницах, а у сво- своих друзей. У него есть друзья в Колумбии, Нэшвиле, Луисвилле, Канзас- Сити, Омахе, Далласе, Сан-Антонио и Денвере. Джо знает, что после од- одного дня пути он может достичь Колумбии, Нэшвила и Луисвилля. По- После двух дней пути он может достичь Канзас-Сити, Омахи и Далласа. После трех дней пути он может достичь Сан-Антонио и Денвера. А после четырех дней пути он может достичь Лос-Анджелеса. Где должен оста- останавливаться Джо, чтобы минимизировать протяженность всего маршру- маршрута? Расстояния между городами указаны на рис. 7.1. Канзас-Сити 5 1030 Лос-Анджелес 10 770 7 Сан-Антонио 9 270 Луисвилль Рис. 7.1 200
Решение. Применим принцип обратного хода. Сначала проведем классифика- классификацию городов. Скажем, что город относится к и-му классу, если в нем можно оказаться утром «-го дня. Так, например, Денвер и Сан-Антонио будут отнесены нами к 4-му классу. Согласно принципу обратного хода, мы начинаем находить крат- кратчайшие пути в Лос-Анджелес из городов 4-го класса. Далее, исполь- используя эту информацию, мы сможем найти кратчайшие пути в Лос- Анджелес из городов 3-го класса. Далее из городов 1-го класса, т.е. из Нью-Йорка. Для удобства записи каждому из 10 городов присвоен номер от 1 до 10 (см. рис. 7.1). Мы также обозначим через ctj — расстояние между /-м иу-м городами. Например, с35 = 580 — это расстояние между Нэшвилом и Канзас-Сити. Мы также обозначим через ft (/) кратчайшее расстояние от города / до Лос-Анджелеса, полагая, что город i принадлежит классу t. Этапы будем нумеровать с конца. Этап 4. Первоначально, согласно нашему плану, определим кратчай- кратчайшие пути до Лос-Анджелеса из городов 4-го класса. Поскольку эти пути единственны, мы сразу получаем следующие результаты:/4(8) = 1030, /4(9) = 1390. Этап 3. Теперь совершим еще один шаг в сторону начала и рассмот- рассмотрим города класса 3. Например, для того чтобы найти /зE); мы заме- заметим, что существует два возможных пути из города 5 (Канзас-Сити) в Лос-Анджелес: V путь 1: из города 5 в город 8 и далее кратчайшим путем в 10; V путь 2: из города 5 в город 9 и далее кратчайшим путем в 10. Длина пути 1 может быть вычислена как с58 +/4(8), а длина пути 2 может быть вычислена как с59 +/4(9). Следовательно, кратчайший путь из города 5 в город 10 может быть записан как (* — обозначает случай, на котором достигается минимум). Таким обра- образом, мы нашли кратчайший путь из города 5 в город 10: 5 — 8 — 10 и его Длину 1 640. Заметим, что мы использовали при этом результаты преды- предыдущего шага, а именно /4(8) и/4(9). 201
Рассуждая аналогично для нахождения /зF), заметим, что кратчайший путь из города 6 проходит либо через город 8, либо 9. Отсюда следует: с69+/4(9) = 940+ 1390 = 2330. Таким образом, ^F) = 1570 и кратчайший путь из города 6 в 10: 6 — 8 — 10. Для нахождения /3G), заметим, что: [с78 + /4 (8) = 790 +1030 = 1820 [с19 + /4 (9) = 270 + 1390 = 1660*. Таким образом, /3G) = 1660, а кратчайший путь из города 7 в город 10:7 — 9—10. Этап 2. Вычисленные ранее величины f3E), /3F) и/3G) позволяют сделать еще один шаг назад и вычислить /2B), /2C) и/2D), а также оп- определить кратчайшие пути в Лос-Анджелес из городов 2, 3 и 4. Найдем кратчайший путь из города 2 в город 10. Заметим, что любой из возможных путей проходит через города 5, 6 или 7. Отсюда с25 + /3E) = 680 + 1 640 = 2 320* = min \ с9, + /,F) = 790 +1 570 = 2 360 с27+/3G) = 1050 + 1660 = 2710. Таким образом, /2B) = 2 320, кратчайший путь из города 2 проходит через город 5, а далее кратчайшим путем 5 — 8 — 10, определенным на- нами на этапе 3, и, следовательно, есть 2 — 5 — 8 — 10. Аналогично с35 + /3E) = 580 + 1 640 = 2 220* /2C) = min< c36 +/3F) = 760 + 1570 = 2 330 с37 + /3G) = 660 + 1 660 = 2 320. Следовательно, /2C) = 2 220, а кратчайший путь из 3 в 10 проходит через 5, а далее кратчайшим путем 5 — 8 — 10, определенным нами на этапе 3, следовательно, и есть 3 — 5 — 8 — 10. 202
Аналогично /2D) = min \с46 +/3F) = 700 + 1 570 = 2 270 [7 + /з G) = 830 +1 660 = 2 490. Следовательно, /2D) = 2150, а кратчайший путь из 4 в 10 есть 4 — 5 — 8 — 10. Этап 1. Теперь мы можем использовать найденные значения /2B), /2C)и/2D) для нахождения /j(l). Рассуждая аналогично, можно получить соотношение [ = minjc13+/2C)=900+2220=3120 [ Таким образом, /,A) = 2 870, а кратчайший путь из 1 в 10 проходит через город 2, а далее по кратчайшему пути из 2 в 10, найденному нами на предыдущем этапе. Итак, оптимальным является маршрут 1 — 2 — 5 — 8 — 10. 7.1. Основная рекуррентная формула метода динамического программирования Во многих примерах, использующих метод динамического про- программирования (задача о закупке оборудования или задача о крат- кратчайшем пути), каждый очередной итог состоит в рассмотрении всех состояний, в котором система может находиться на данном шаге. В этом случае основная рекурсивная формула динамического програм- программирования (в случае решения задачи минимизации) может быть запи- записана в виде ft(i) = min { (стоимость шага t) + +/,+1 (новое состояние перед шагом t+1) }, G.1) где минимум в соотношении G.1) берется по всем возможным решениям в ситуации, когда система на шаге t находится в состоянии /. В соотно- соотношении G.1) величина }(/) есть минимальная стоимость завершения за- задачи из состояния / (допустим, задача заканчивается на шаге Г), если предположим, что на шаге / система находится в состоянии /. 203
Соотношение G.1) отражает тот факт, что минимальная стоимость за- затрат, необходимых, чтобы от шага / дойти до конца задачи, может быть получена минимизацией суммы затрат самого шага / и минимальных за- затрат, которые необходимы для того, чтобы от шага t + 1 дойти до конца задачи. Корректность соотношения G.1) в конкретной задаче зависит от трех важных обстоятельств: 1) правильной спецификации всех возможных шагов на этапе / и из дан- данного состояния /; 2) определения, как зависят текущие затраты на этапе t от значения t, те- текущего состояния и решения, принятого на этапе t\ 3) определения, как состояние на этапе / + 1 зависит от значения /, со- состояния на этапе / и решения, принятого на этапе /. Если понятия «состояние», «этап» и «решение» определены коррект- корректно, то перечисленные аспекты 1-3 не будут представлять большую слож- сложность при реализации. Рассмотрим еще ряд примеров применения метода динамического программирования с целью построения рекурсивных соотношений ти- типа G.1). Пример. Владелец озера должен решить, сколько форели вылавли- вылавливать и продавать каждый год. Если он продает х форелей в течение года /, то доход составляет г(х). Стоимость отлова х форелей в течение года есть функция с (х, Ь) от х — количества вылавливаемых форелей и Ъ — количество форелей на начало года. Конечно, форель размножается. Предположим, что количество форелей к началу каждого года возрас- возрастает на 20 % по сравнению с количеством на конец предыдущего. Предположим также, что в начале первого года в озере 10 000 форелей. Применяя рекурсию по методу динамического программирования, оп- определить план отлова, который максимизирует суммарную чистую прибыль за период Т лет. Решение. В задачах, в которых решения надо принимать в несколько моментов времени, часто существует альтернатива между текущей выгодой и вы- выгодой будущих периодов. Например, мы можем отловить сразу много форели, но тогда озеро опустеет и отлов в последующие годы снизится. С другой стороны, если отловить мало форели, то хотя мы заработаем мало, но сможем рассчитывать на большие уловы, а следовательно, и на большие прибыли в конце нашего временного периода. 204
В начале года Т владелец озера уже не будет беспокоиться о послед- последствиях отлова в год Т на последующий размер популяции. Поэтому в на- начале года Т задача принятия решения упрощается. В качестве этапов мы принимаем годы. На каждом этапе владелец озера принимает решение относительно размера отлова в текущем году. Это количество будем обо- обозначать xt. Для принятия оптимального решения на этапе t он должен знать количество особей на начало текущего года — bt. Другими слова- словами, bt — состояние популяции на начало этапа /. Определим функцию ft(bt) как максимальную чистую прибыль, ко- которую можно получить за период t, t + 1, ..., Г, имея в начале этапа / со- состояние bt. Рассмотрим теперь три аспекта, упомянутые применительно к данной конкретной задаче. 1. Каково множество допустимых решений на каждом этапе! В каж- каждый год мы не можем выловить больше форели, чем есть в озере. Та- Таким образом, для любого состояния / должно выполняться соотноше- соотношение 0 <xt <br 2. Какова чистая прибыль, зарабатываемая в год ft Если вылавливается хг форелей в год, в начале которого форелей было bt, то чистая при- прибыль выражается как v(xt) -c(xt,bt). 3. Каково будет состояние к началу t + 1-го года! К концу года t в озере будет bt - xt форелей. К началу следующего года количество форелей увеличится на 20%, а следовательно, составит 1,2(bt-xt) или bM=\,2ib,-x,). Теперь мы можем воспользоваться общим рекурсивным соотноше- соотношением G.1). Поскольку после года Т прибыли уже не рассматриваются, то fT(bT) = max{r(xT)~c(xT,bT)}, хТ гДе 0 < хт < Ьт . Далее на основании соотношения G.1) получаем соот- соотношение (\,2(bl -x,))}, G.2) где 0 < х, < Ь,. 205
Для того чтобы начать вычисления по приведенной схеме, вычислим fT(bT) для всех возможных значений Ът (от 0 до 10 000 • A,2O4). Да- Далее, используя рекурсивное соотношение G.2), проводим вычисления, пока не получим /1A0 000), которое будет достигаться при некотором значении х\. Тогда в начале второго года в озере будет 1,2A0 000 - х\) форелей. Это означает, что в качестве %2 можно выбрать любое реше- решение, на котором соотношение B) достигает значения /2A,2A0000-л:*)). Продолжая эту процедуру аналогичным образом, можно получить все остальные элементы оптимального решения, а именно х*3,х*4,...,х*т . Приведенная модель имеет тот недостаток, что в ней не делается раз- различия между прибылями различных годов. С точки зрения дисконтиро- дисконтирования, доходы ранних лет имеют большую ценность, чем последующих. Предположим, что 1 доллар, полученный в начале года / + 1, эквивален- эквивалентен величине J3 < 1, полученной в начале года /. Мы можем учесть эф- эффект дисконтирования, введя коэффициент J3 в рекуррентную формулу G.2) следующим образом { (],2(b, -*,))}, G.3) где 0 < jc, < bt. Пример. Известны прогнозные значения потребления электроэнер- электроэнергии на ближайшие Т лет, а именно rt — прогнозируемая мощность по- потребления электроэнергии в год t. Каждый год необходимо принимать решение, на сколько нужно увеличить (или уменьшить) мощность вы- выработки электроэнергии. Пусть с((х) — стоимость увеличения мощно- мощности на х кВт ч в году t. Так как мощность может сокращаться, х может быть отрицательной величиной. В течение года 10% ранее выработан- выработанной, но не использованной электрической мощности теряется (в первый год потери не происходят). Себестоимость выработки / единиц элек- электрической мощности в год t составляет mt (/). В начале первого года уровень вырабатываемой электрической мощности составляет 100 000 кВт ч Сформулируйте рекурсивное соотношение для метода динамиче- динамического программирования, позволяющее компании найти решение, удовлетворяющее потребностям в электроэнергии на ближайшие Т лет с минимальными затратами. 206
Решение. Пусть как и в предыдущем примере годы будут соответствовать эта- этапам алгоритма. В начале каждого года компания принимает решение об изменении производимой мощности на величину xt. Пусть it — мощ- мощность, вырабатываемая в начале года, является состоянием системы. Как и в предыдущей задаче, рассмотрим три аспекта применительно к данной конкретной задаче. 1. Каково множество допустимых решений на каждом этапе! Для то- того, чтобы потребность в электроэнергии была бы удовлетворена, не- необходимо выполнение неравенства /, +х, >rt, или xt >rt -ir Это ус- условие и определяет множество допустимых решений на каждом этапе. 2. Каковы затраты в год ft Если xt — объем наращивания (или сокраще- сокращения) мощностей в год t, a it — мощность на начало года, то затраты вы- выражаются соотношением c(xt ) + mt (/, + xt). 3. Каково будет состояние системы к началу t + 1-го года! В начале t + 1-го года компания будет располагать 0,9 it старых мощностей и xt новыми, а следовательно, it+l=0,9it+xr Теперь мы вновь можем воспользоваться рекурсивным соотношением G.1). Определим функцию ft (it) как минимальные затраты на удовлетво- удовлетворение спроса на электроэнергию за годы t, t + 1, ..., Т при условии, что мощности на начало года t, составляют it fT(iT) = m i n{cT(xT) + хт +mT(iT +хг)}, хт >rT -iT. Для t< Гимеем fT(d) = 0 для всех d, ft(it) = min{ct(xt) + m((it+xt) + ft+l@,9it+xt)}, G.4) xt xt>rt-ir Можно предположить, что мощность не будет превышать rmax = max {rt}. Это значит, что мы можем рассмотреть только состоя- состояния 0, 1,2, ..., rmax. Будем использовать соотношение G.4) для расчетов в обратном направлении до тех пор пока не вычислим /j A00000). Да- Далее мы найдем оптимальные изменения мощностей по годам 207
7.2. Задача оптимального распределения ресурсов Допустим, что в нашем распоряжении имеется некоторое количество единиц какого-либо однородного ресурса. В качестве ресурса могут вы- выступать деньги, человеческие технические ресурсы (например, материа- материалы, оборудование) и т.д. в количестве w. Имеется Т объектов его распре- распределения. Это могут быть объекты строительства, инвестиционные проекты, регионы и т. д. Пусть х( — количество ресурса, выделяемое на объект /. Известны функции эффективности при выделении ресурса в ко- количестве xt на объект t - cpt (xt). Эффективность конкретного способа распределения имеющегося ресурса оценивается как сумма эффективно- стей от вложения в каждый объект. В математическом виде задача запи- записывается следующим образом: т <pt(xt) х /=i х +х2 Согласно методу динамического программирования нам необходимо определить функции ft(d) как максимальную эффективность, которую можно получить, распределяя d единиц ресурса по объектам /, / + 1, ..., Г. Как мы уже отмечали, fT (d) = 0 для всех d, 0 < d < w. Последующие функции (t <T) допускают задание через следующие рекуррентные соот- соотношения ) + fl+l(d-xt)}. G.5) Пусть x](d) — значение xt, на котором достигается значение макси- максимума в соотношение G.5). Сначала с помощью соотношения G.5) нахо- находятся значения функции fT(x) и х*т(х) для всевозможных значений ар- аргумента @<х< и>). Далее аналогичным способом из соотношения G.5) строятся функции fT_x(x) и Xf_\{x) и так далее, заканчивая функциями fx (x) и х[(х). Значение max/^jc) и есть максимальная эффективность, которая достигается при оптимальном способе распределения ресурсов между объектами. Само же оптимальное распределение дс* ^(Xt*,^,".,**) получается как 208
x3 = G.6) b,-x, xT = Пример. Банк намерен предоставить 5 млн. руб. в качестве кредита для модернизации трех предприятий. Расчеты показывают, что выделе- выделение /-му предприятию (/ = 1, 2, 3) *' млн. руб. принесет Vi^i' млн. руб. прибыли (см. табл. 7.1). Как следует распределить всю сумму кредита по предприятиям, чтобы получить максимальную суммарную прибыль, если средства выделяются в размерах, кратных 1 млн. руб.? Таблица 7.1 X 0 1 2 3 4 5 <Pi(x) 0 3 4 5 7 8 <Pi(x ) 0 1 3 6 7 8 <РЗ(Х ) 0 2 4 5 6 8 Решение. Исходя из общего вида задачи G.2) и учитывая, что w = 5, а Т = 3, данную задачу можно записать в виде: х) + <р2 (х2) + #>з О3)) = 5, . x,g{0, 1,2,3,4,5}, / = 1,2,3. Вычислим функции /з(О, /2(d), У1W • Как было отмечено, fA(d) = О Для всех значений d (d = 0, 1, 2, 3, 4, 5). 209
Вычислим значения функции f3(d) и соответствующие значения x\(d) исходя из соотношения О < х3 < d или так как /4 (d) = О, имеем <d /зA) = тах{^3@),^A)} = тах{0,2} = 2, *3-A) = 1, /3B) = тах{0>з(О),РзО),РзB)} = тах{0,2А} = 4, х3'B) = 2, /3C) = max {<р3ф),<р, (\),<р3 B),?зC)} = тах{0,2,4,5} = 5, *з*C) = 3, /3D) = тах{^(О),^а)^зB)^зC)^зD)} = max {0,2,4,5,6} = 6, *з'D) = 4, /3E) = тах{%@)^за)^зB)^зC)^зD),«>зE)} = max {0,2,4,5,6,8} = 8, Далее вычислим значения функции f2(d) и соответствующие значе- значения x'2(d) исходя из соотношения f2{d) = тах{<р2(х2) + /3(d -x2)}. 0<x2<d 210
/2@) = ?2@) + /3@) = 0 + 0 = 0, х*@) = О, х'2B) = 0, /2 C) = max {ср2 @) + /3 C), <р2 A) + /3 B), р2 B) + /3 A), р2 C) + /3 A)} = = max{5,5,5,6} = 6, 6,6,7,8,7[ = 8, Г^2 @) + /3 E), <»2 A) + /3 D), <р2 B) 3)^2C) + /3B),р2D) + /з( = тах{8,7,8,Ю,9,8} = 10, Далее вычислим значения функции fx{d) и соответствующие значе- значения x\{d) исходя из соотношения 0 < д:, < d /,A) = тахЦ(О) + /2A),^,A) + /2@)} = тах{2,3} = 3, 211
= тах{3,5,4} = 4, = max{6,7,6,5} = 7, = тах{8,9,8,7,7} =9, /2@)J = тах{10,11,10,9,9,8} = 11, Результаты приведенных вычислений собраны в табл. 7.2. Таблица 7.2 X 0 1 2 3 4 5 1 0 3 4 5 7 8 /iW 0 3 5 7 9 11 *Г(*) 0 2 0 1 3 6 7 8 Л(*) 0 2 4 6 8 10 Ж*) 0 0 3 3 3 3 0 2 4 5 6 8 ЛМ 0 2 4 5 6 8 * 0 1 2 3 4 5 Как отмечалось, максимальная эффективность может быть вычислена из соотношения max/(х) = max {0,3,5,7,9,11} = 11. 0<х<5 Далее воспользуемся общими соотношениями G.3) для нахождения оптимального распределения 212
х2 = х*2E - х[) = *2D) = 3, х*3 = х*3E-х\ -х2) = х]E-1 -3) = х*A) = 1 • Ответ, Оптимальным распределением кредитных денег между пред- предприятиями является распределение: 1-е предприятие 1 млн. руб.; 2-е предприятие 3 млн. руб.; 3-е предприятие 1 млн. руб. Ожидаемая при этом прибыль составит 11 млн. руб. К задачам рассматриваемого типа относится и такая классическая за- задача линейного программирования, как задача о рюкзаке, которая в пе- переменных 0 и 1 имеет следующий вид: max z = сххх + с2х2 +... + спхп axx^a2x2+..^anxn<b, x,e{0; 1}, i = l, 2,...,л. В общем виде этот тип задач может быть описан следующим образом. Имеется п позиций, каждую из которых можно либо выбрать {xi = 1), либо нет {хг = 0). Выбор /-й позиции требует затрат ресурса в количестве щ. Общее количество имеющегося в распоряжении ресурса равно Ь. Эффект от выбора /-й позиции есть ct. Следует осуществить выбор сре- среди позиций, допустимый в смысле затрат ресурсов и имеющий макси- максимальный суммарный эффект. 7.3. Метод динамического программирования в недетерминированном случае В рассмотренных задачах текущее состояние системы и решение на текущем шаге однозначно определяли состояние системы в по- последующем периоде. Такие задачи относятся к детерминированным задачам динамического программирования. Однако во многих слу- случаях последующее состояние может зависеть от некоторых случай- случайных величин (например, уровень рыночного спроса на определенный вид товара и так далее). Рассмотрим модификацию метода динами- динамического программирования в этом случае на примере задачи о вос- воспроизводстве форели в озере, приведенной ранее в детерминирован- детерминированном случае. Пример. Владелец озера должен решить, сколько форели вылавли- вылавливать и продавать каждый год. Если он продает х форелей в течение года 213
/, то доход составляет г(х). Стоимость отлова х форелей в течение года есть функция с(х9 Ъ) от х — количества вылавливаемых форелей и b — количество форелей на начало года. Конечно, форель размножается. Предположим, что количество форелей к началу каждого года возрас- возрастает в d раз по сравнению с количеством на конец предыдущего. Вели- Величина мультипликативного коэффициента d есть дискретная случайная величина. Вероятность конкретного значения d есть q(d). Предположим также, что в начале первого года в озере 10 000 форелей. Применяя ре- рекурсию по методу динамического программирования, определить план отлова, который максимизирует суммарную чистую прибыль за период Глет. Решение. Как и в детерминированном случае, в качестве этапов мы принимаем годы. На каждом этапе владелец озера принимает решение относительно размера отлова в текущем году. Это количество будем обозначать xt. Для принятия оптимального решения на этапе / он должен знать количе- количество особей на начало текущего года — bt. Другими словами, bt — со- состояние популяции на начало этапа t. Определим функцию ft(bt) как максимальную ожидаемую чистую прибыль, которую можно получить за период /, t + 1, ..., Г, имея в начале этапа / состояние bt. Схема дальнейшего решения данной задачи полностью совпадает с детерминированным случаем. Необходимо лишь внести изменения в ос- основную рекуррентную формулу. Поскольку после года Г прибыли уже не рассматриваются, то fT(bT) = max{r(xT)-c(xT,bT)}, хт где о < хт < Ьт . Далее на основании соотношения G.1) получаем соотношение G.7) где 0 < х, < bt. Выражение 214
представляет из себя математическое ожидание максимальной прибыли, которая может быть получена.в годы /, / + 1, ..., Г. Для того чтобы начать вычисления по приведенной схеме, вычислим fT(bT) для всех возможных значений Ът (от 0 до 10 000 • (maxrfO^1). Далее, используя рекурсивное соотношение G.7), проводим вычисления, пока не получим /^10 000), которое будет достигаться при некотором значении х*. Продолжая эту процедуру аналогичным образом, можно получить все остальные элементы оптимального решения, а именно:
Глава 8 СЕТЕВЫЕ МОДЕЛИ Многие важные оптимизационные задачи хорошо представимы в терминах сетевой интерпретации. В этой главе будут рассмотрены не- несколько конкретных сетевых моделей — задача о кратчайшем пути, за- задача о максимальном потоке, задача построения минимального остовно- го дерева, для которых построены специальные эффективные алгоритмы. Мы также рассмотрим задачу о потоке минимальной стоимости и пока- покажем, что к ней сводятся такие задачи, как транспортная, задача о назна- назначениях и многие другие. В начале главы остановимся на основных поня- понятиях теории графов и сетей. В заключение рассмотрим постановки некоторых задач оптимального распределения ресурсов на сетях и сетевых графиках как в детерминиро- детерминированном случае, так и при наличии неопределенных факторов. 8.1. Основные понятия теории сетей и графов Граф, или сеть, определяется двумя множествами: множеством вер- вершин и множеством дуг. Пусть М— множество вершин, а N— множест- множество дуг графа. Дуга определяется упорядоченной парой вершин и интер- интерпретируется как возможные направления перемещений между вершинами. Если граф содержит дугу (/,/), то возможно перемещение из вершины / в вершину у. Предположим, что вершины 1, 2, 3 и 4 (рис. 8.1) представляют некоторые города, а дуги - некоторые дороги, связываю- связывающие данные города. Тогда для данной сети М-{1,2,3,4}, а N = {A,2), B,3), C,4), D,3), D,1)}. о Рис. 8.1 216
Введем два определения. Определение 1. Последовательность дуг сети, в которой каждая дуга имеет с предыдущей ровно одну общую вершину, назовем цепью. Определение 2. Последовательность дуг сети, в которой конечная вершина каждой дуги является начальной вершиной следующей, назовем путем. Например, на рис. 8.1 последовательность дуг A,2)-B,3)-D,3)— яв- является цепью, но не является путем, в то время как последовательность A,2)-B,3)-C,4) есть путь. 8.2. Задача о кратчайшем пути Задача нахождения путей ми- минимальной длины из данной вер- вершину во все остальные называется задачей о кратчайшем пути. Предположим, что каждая дуга имеет длину. Предположим также, что мы выделяем некоторую вершину, на- например, вершину 1. Задача нахождения путей минимальной длины из данной вершины во все остальные называется задачей о кратчайшем пути. Пример. Предположим, что в вершине 1 находится электростанция, вырабатывающая электроэнергию. Необходимо передать выработанную электроэнергию в город, который находится в вершине 6. Передача про- производится по линиям электропередач, соединяющим промежуточные подстанции — вершины 2, 3, 4, 5. Расстояния между всеми пунктами по- показаны на рис. 8.2. Предполагая, что стоимость передачи электроэнергии прямо пропорциональна длине передающих линий, необходимо найти оптимальный (с минимальной стоимостью) маршрут передачи электро- электроэнергии. Рис. 8.2 217
Сетевое представление допускают и многие задачи, не связанные не- непосредственно с какими-либо перевозками или территориальными пере- перемещениями. Рассмотрим следующий пример. Пример. В 0-й момент времени приобретается новая машина по цене 12 000. Годовые расходы на эксплуатацию зависят от возраста автомоби- автомобиля и приведены в табл. 8.1. Таблица 8.1 Возраст автомобиля 0 1 2 3 4 Ежегодные расходы на эксплуатацию 2 000 4 000 5 000 9 000 12 000 Для того чтобы избежать высоких расходов на эксплуатацию, имеет смысл в какой-то момент продать автомобиль и приобрести новый. Про- Продажная стоимость автомобиля в зависимости от возраста приведена в табл. 8.2. Таблица 8.2 Возраст автомобиля 1 2 3 4 5 Продажная стоимость 7 000 6 000 2 000 1 000 0 Предполагаем, что стоимость покупки нового автомобиля всегда со- составляет 12 000. Требуется минимизировать затраты на автомобиль в ближайшие пять лет. Под затратами понимается — «стоимость покупки нового автомобиля» + «стоимость эксплуатационных расходов» - «стоимость продажи подержанного автомобиля». Решение. Сформулируем данную задачу как задачу о кратчайшем пути. Сеть будет содержать 6 вершин. Вершина с номером / соответствует началу /- го года. Для / <j дуга (/,/) соответствует ситуации покупки нового авто- автомобиля в начале года и содержание его до начало года. Длина дуги (/,/), обозначаемая как ctj, вычисляется следующим образом: 218
ctj - «стоимость эксплуатации в течение года» + «стоимость покупки автомобиля в начале года» - «стоимость продажи подержанного ав- автомобиля в начале года». Используя данные задачи, можем вычислить: Ci2=2+ 12-7 = 7 с13 = 2 + 4+12-6=12 с,4 = 2 + 4 + 5 + 12-2 = 21 cl5= 2 + 4 + 5+9+12-1=31 + 9+12+12-0 = С2з = 2 + 12 - 7 = 7 = 2 + 4+12-6=12 + 12-2 = 21 2 + 4 + 5 + 9+12-1=31 с34 = 2+12-7 = 7 с35 = 2 + 4+ 12-6= 12 6 = 2 + 4 + 5+12-2 = 21 с45 = 2+12-7 = 7 с46 = 2 + 4+12-6=12 Теперь легко заметить, что длина любого пути из вершины 1 в вер- вершину 6 соответствует 5-летним затратам на автомобиль при выборе со- соответствующей стратегии продажи и покупки. Соответствующая сеть для данной задачи изображена на рис. 8.3. Рис. 83 Например, предположим, что машина продается в начале 3-го года, а далее в конце года 5 (начало года 6). Эта стратегия соответствует пути 1-3-6. Длина данного пути составляет сп +с36 =33 и соответствует за- затратам на автомобиль за рассматриваемый период. 8.2.1. Алгоритм Дейкстры. Предположим, что длины всех ребер — неотрицательные числа, тогда для нахождения кратчайших путей из не- 219
которой вершины (например, вершины 1) до всех остальных вершин мо- может быть применен алгоритм Дейкстры. Первоначально присвоим вершине 1 постоянное значение метки 0. Затем каждой вершине, связанной с вершиной 1 только одной дугой, присвоим текущие метки, равные длинам этих дуг. Всем остальным вершинам (кроме вершины 1) присвоим значение метки оо. Выберем вершину с самой маленькой временной меткой и сделаем ее постоян- постоянной. Теперь предположим, что /-я вершина стала {к + 1)-й вершиной, полу- получившей постоянную метку. Тогда скажем, что вершина / имеет (к + 1)-ю степень близости к вершине 1. В этот момент временные метки каждой вершины (например, вершины /) есть величина кратчайшего пути из вершины 1 до вершины t, который обязательно проходит через вершину к-й степени близости к вершине 1. Для каждой вершиныу, которая имеет временную метку и связана с вершиной / дугой, заменяем текущее зна- значение метки на . J текущее значение метки вершины j [постоянное значение метки вершины / + ctj. Для иллюстрации алгоритма Дейкстры применим его для нахождения кратчайшего пути из вершины 1 в вершину 6 в задаче о передаче элек- электроэнергии (рис. 8.2). Символ * будет обозначать постоянную метку. Метки будем представлять в виде массива, на /-м месте которого стоит текущее значение метки вершины /. Тогда первоначальный набор меток может быть представлен как @ 4 3 оо оо оо). Вершина 3 имеет наименьшее значение из всех временных меток. По- Поэтому ее метку помечаем как постоянную и получаем следующий набор меток (О* 4 3* оо оо оо|. Теперь пересчитываем значение временных меток для всех вершин, которые связаны дугой с вершиной 3. Таковой является только вершина 5. Согласно приведенному правилу имеем «новое значение метки вер- вершины 5» = min(oo,3 + 3) = 6. Теперь наименьшее значение временной метки имеет вершина 2, а следовательно, она становится постоянной. Получаем набор меток (¦ ¦ ¦ \ 0 4 3 ообоо . 220
Рассмотрим вершины, связанные дугами с вершиной, получившей постоянную метку (вершина 2). Таковыми вершинами являются верши- вершины 4 и 5. Необходимо пересчитать значения их временных меток. Эти значения находятся из соотношений min(oo, 4 + 3) = 7 (для вершины 4) и min F, 4 + 2) = 6 (для вершины 5). Вершина 5 имеет теперь самое ма- маленькое значение временной метки, поэтому оно становится постоян- постоянным, а массив меток принимает вид @* 4* 3* 7 6* оо ). Так как только вершина 6 связана дугой с вершиной 5, получившей постоянную метку, значение временной метки пересчитывается только для вершины 6, а именно: min(oo, 6+ 2) = 8. Из всех временных меток наименьшим является значение метки вершины 4, поэтому оно становит- становится постоянным. Новый массив меток выглядит на данном этапе следую- следующим образом: (о* 4* 3* 7* 6* s). Так как только вершина 6 связана с вершиной 4, получившей посто- постоянную метку, мы пересчитываем значение временной метки для верши- вершины 6, а именно: min (8, 7 + 2) = 8. Теперь остается лишь пометить метку вершины 6 как постоянную, поскольку она имеет наименьшее значение среди временных меток, и получить окончательный набор меток @*4*3*7*6*8*). Теперь осталось найти кратчайший путь из вершины 1 в вершину 6, применяя процедуру «обратного хода». Разница между значениями ме- меток вершины 6 и 5 равняется 2, что соответствует длине дуги E,6). По- Поэтому возвращаемся в вершину 5. Разница между значениями меток вершины 5 и 2 равняется 2, что соответствует длине дуги B,5). Поэтому возвращаемся в вершину 2. Разница между значениями меток вершины 2 и 1 равняется 4, что соответствует длине дуги A,2). Поэтому возвраща- возвращаемся в вершину 1. Таким образом, кратчайший путь из вершины 1 в вер- вершину 6 есть путь: 1-2-5-6. Заметим, что из вершины 5 мы могли бы вер- вернуться в вершину 3 и в этом случае получили бы в качестве кратчайшего пути путь 1-3-5-6. 8.2.2. Сведение задачи о кратчайшем пути к транспортной задаче. Если необходимо найти кратчайший путь в некоторой сети из вершины / в вершину у, то рассмотрим транспортную задачу, в которой необходимо перевезти продукт в количестве 1 из вершины / в вершину j. При этом стоимость перевозок между любыми двумя вершинами равна длине дуги 221
(в том случае, если дуга существует) и некоторому большому положи- положительному числу М, если дуги между парой вершин не существует. Стои- Стоимость перевозок из вершины в саму себя равна нулю. Представим соот- соответствующую транспортную задачу для рассмотренной задачи о кратчайшем пути в виде табл. 8.3. Таблица 8.3 Вершины 1 2 3 4 5 Спрос 2 4 0 м м м 1 3 3 м 0 м м 1 4 м 3 м 0 м 1 5 м 2 3 м 0 1 6 м м м 2 2 1 Запасы 1 1 1 1 1 Транспортная задача, представленная выше, имеет два оптимальных решения. 1) z = 4 + 2 + 2 = 8, х12 = х25 = х56 = х33 = х44 = 1, остальные переменные равны 0. Это решение соответствует пути 1-2-5-6; 2) z = 3 + 3 + 2 = 8, jc13 = лг35 = х56 = х22 = х44 = 1, остальные переменные равны 0. Это решение соответствует пути 1-3-5-6. 8.3. Задача о максимальном потоке Задачу о максимальном потоке можно представить как задачу линейного про- программирования. Во многих сетевых задачах имеет смысл рассматривать дуги как некоторые коммуникации, обладающие определен- определенной пропускной способностью. В этом случае, как правило, рассматривается за- задача о максимизации некоторого потока, направленного из выделенной вершины (источник) в некоторую другую вершину (сток). Задача такого типа называется задачей о максимальном потоке. Существует ряд специ- специальных алгоритмов для решения данной задачи. Первоначально рассмот- рассмотрим два примера подобных задач. Пример. Нефтедобывающая компания перекачивает нефть от места добычи (вершина 1) на нефтеперерабатывающий завод (вершина 5). Уча- Участки нефтепроводов с их пропускными способностями (миллионы бар- баррелей в час) изображены на рис. 8.4. Необходимо определить поток мак- максимальной мощности из вершины 1 в вершину 5. 222
-ао B) Рис. 8.4 Решение. Вершина 1 называется источником, поскольку поток только вытекает из данной вершины. Вершина 5 называется стоком, поскольку поток только втекает в данную вершину. Мы также добавляем некото- некоторую фиктивную дугу из стока в источник с неограниченной пропускной способностью. Данные о пропускных способностях дуг сети приведены в табл. 8.4. Таблица 8.4 Дуги Пропускные способности A,2) 2 A,4) 3 B,3) 4 B,4) 3 C,5) 1 D,5) 2 Обозначим величину потока из вершины i в вершину j через ху. В качестве допустимого потока можно предложить поток х12 = 2, х14 = 0, х23 = 0, х24 = 2, х35 = 0, х45 = 2, х51 = 2 . Для того, чтобы поток был до- допустимым, он должен удовлетворять двум группам условий, которые схематично можно изобразить как О < поток по дуге < пропускная способность дуги, (8.1) поток, втекающий в вершину у = поток, вытекающий из вершиныу. (8.2) Условия (8.2) следуют из предположения, что поток не исчезает в процессе транспортировки, поэтому условия (8.2) называются условиями сохранения потока. Добавление фиктивной дуги из стока в источник по- позволяет нам написать условия сохранения потока для всех вершин (включая источник и сток) в единообразной форме. Пусть z— величина потока. Тогда задачу о максимальном потоке можно представить как задачу линейного программирования. 223
maxz jc12 < 2 (ограничения на пропускные способности дуг) *14<3, *23<4, х35<\, х45<2, z = xyi+x\\ (условие сохранения потока в вершине 1) х\2 ~ Х2Ъ + Х24 (условие сохранения потока в вершине 2) Х23 = *35 (условие сохранения потока в вершине 3) Х\Ъ + Х23 = Х45 (условие сохранения потока в вершине 4) JC45 + *35 = z (условие сохранения потока в вершине 5) XiJ>0. Одно из оптимальных решений этой задачи линейного программиро- программирования z = 3, л:12 = 2 , х14 = 1, л:23 = 1, х24 = 1, л:35 = 1, х45 = 2 , x5i = 3. 8.3.1. Метод Форда и Фалкерсона Величина максимальг ного потока из источника в сток равна, величине ми- минимального разреза. для решения задачи о максимальном потоке. Предположим, что уже найден какой-либо допустимый поток (напри- (например, нулевой поток является допусти- допустимым). Зададимся двумя вопросами: 1) как, имея допустимый поток, определить, является ли он оптимальным? 2) как в случае, если до- допустимый поток не является оптимальным, получить другой допусти- допустимый поток больше по величине данного? Первоначально ответим на второй вопрос. Для этого для каждой дуги выясним, каким из двух приведенных свойств обладает каждая из дуг се- сети: 1) поток по дуге (/,у) меньше, чем пропускная способность дуги (/, Д что, естественно, означает, что поток по дуге может быть увеличен. 224
Множество таких дуг сети обозначим /; 2) поток по дуге (ij) положите- положителен, что означает, что он может быть уменьшен. Множество таких дуг сети обозначим R. В качестве иллюстрации множеств / и R рассмотрим сеть, изображен- изображенную на рис. 8.5. Рис. 8.5 Дуга A,2) принадлежит множеству /, дуга A,3) принадлежит множе- множествам/и R, дуга C,4) принадлежит множеству R, дуга B,4) принадлежит множеству /. Теперь можем описать процедуру метода Форда и Фалкерсона рас- расстановки меток для построения потока большей величины, чем дан- данный. Шаг 1. Присвоим метку источнику (вершине 1). Шаг 2. Присвоим остальные метки вершинам и дугам (кроме дуги D,1)), исходя из следующих правил: 1) если вершина х имеет метку, а вершина у не помечена и дуга (х,у) е /, то пометим дугу (ху) и вершину у. В этом случае дуга (х,у) называется дугой прямого направления; 2) ес- если вершина х имеет метку, а вершина у не помечена и дуга (yjc) e R, то пометим дугу (урс) и вершину у. В этом случае дуга (yjc) называется ду- дугой обратного направления. Шаг 3. Продолжаем процедуру расстановки пометок до тех пор, по- пока либо не будет помечен сток, либо не останется непомеченных вер- вершин. Если в ходе реализации данной процедуры сток оказывается поме- помеченным, то можно показать, что существует последовательность поме- помеченных дуг (назовем ее С) из источника в сток. Изменяя потоки дуг, входящих в С, можно построить поток большей величины, чем исход- 225 8 Исследование операций
ный. Для того чтобы убедиться в этом, рассмотрим два случая: 1) по- последовательность С содержит только дуги прямого направления; 2) по- последовательность С содержит дуги как прямого, так и обратного на- направления. В каждом из этих случаев мы покажем, как получить поток большей величины, чем данный. Рассмотрим случай 1. Пусть / (х, у) — максимальная величина, на ко- которую может быть увеличен поток по дуге без нарушения ограничения на пропускную способность. Положим к = min i(x,y). (х,у)еС Тогда к > 0. Для того чтобы модифицировать поток в сторону увели- увеличения, увеличим значения величин потоков на всех дугах из С на вели- величину к. В этом случае ни одно из ограничений на пропускные способно- способности нарушено не будет. Легко видеть, что условия сохранения потока для всех вершин также будут удовлетворяться. Следовательно, новый поток, с одной стороны, является допустимым, а с другой стороны, имеет вели- величину на к большую, чем исходный. Рассмотрим случай 2. В этом случае в последовательность С входят как дуги прямого направления так и обратного. Пусть г (х,у) — макси- максимальная величина, на которую поток может быть уменьшен по дуге (х,у). Положим также кл = min г(х,у) и к2= min i(x9y). ()Cr^R ()eCnI (x,y)eCnI Обе величины к\ и &2 > а следовательно, и min (к\, k*i) > 0. Для того чтобы модифицировать поток в сторону увеличения, увеличим значения величин потоков на всех дугах из С прямого направления на величину min (к\, k>i), а на всех дугах из С обратного направления уменьшим вели- величину потока на эту же величину min (к\, &2 )• В этом случае ни одно из ог- ограничений на пропускные способности нарушено не будет. Легко видеть, что условия сохранения потока для всех вершин также будут удовлетво- удовлетворяться. Следовательно, новый поток, с одной стороны, является допусти- допустимым, а с другой стороны, он имеет величину на min (к\, А>>) большую, чем исходный. Если сток не может быть помечен, то это означает, что поток является максимальным. Для обоснования этого рассуждения рассмотрим понятие разреза. Определение 1. Выберем любое множество К, содержащее сток, но не содержащее источник. Тогда множество дуг (х,у) для которых х € V, а у е V называется разрезом сети. 226
Определение 2. Величиной разреза называется сумма пропускных способностей дуг, входящих в разрез. Разрез — это множество дуг, удаление которых из сети приводит к тому, что невозможно пройти из источника в сток по оставшимся дугам. В сети существует несколько разрезов. Например, для сети, изображен- изображенной на рис. 8.5 существуют следующие разрезы: 1) для множества F = {2,4} разрез состоит из множества дуг {A,2),C,4)}. Величина разреза равна 2 + 1=3; 2) для множества V = {1,2,4} разрез состоит из множества Величина разреза равна 2 + 8=10. Лемма 1 и лемма 2 устанавливают связь между разрезами и макси- максимальным потоком. Лемма 1. Величина любого допустимого потока из источника в сток не больше, чем величина любого разреза. Доказательство. Рассмотрим произвольный разрез, определяемый множеством V. Пусть W— все остальные вершины сети, не входящие в множество V. Пусть х^ — величина потока для дуги (у), a z — общая величина потока из источника в сток. Если просуммировать условия со- сохранения потока для всех вершин из множества W, то поскольку значе- значения потоков для дуг (ij)9 для которых вершина i и вершина у принадле- принадлежат множеству W9 сократятся, то в результате останется 1*//-!*//=*. (8.3) ieW ieW jeV jeV Учитывая, что первая сумма из данного соотношения не больше ве- величины разреза, можно сделать вывод о справедливости леммы 1. Лемма 2. Если сток не может быть помечен, то величина некоторого разреза сети равна величине потока. Доказательство. Пусть V— множество непомеченных вершин, а W — множество помеченных вершин. Рассмотрим дуги (у), для которых i e W, a j е V, тогда для них справедливо Ху = су. Это следует из того, что в противном случае мы смогли бы пометить вершину j из множества V (так как дуга (ij) является дугой прямого направления), что противоре- противоречило бы определению множества V. «¦ 227
Рассмотрим дуги (ij), для которых ieV, a j eW, тогда для них справедливо ху = 0. Это следует из того, что в противном случае мы смогли бы пометить вершину / из множества К(так как дуга (ij) является дугой обратного направления), что противоречило бы определению множества V. Тогда из соотношения C) видно, что величина разреза равна величине потока. 8.4. Задача о минимальном остове Пусть дан связный неориентированный граф Г= (V,R)9 где как обыч- обычно V= {1, ...,/?}. Каждому ребру (ij) e R приписано некоторое число су > О. Назовем остовом графа Г любое такое подмножество R' множе- множества ребер R, что Г' = (Т,Л')есть связный (неориентированный) граф. Длиной остова R' называется величина ')= Z су, т.е. сумма длин ребер, входящих в R'. Требуется найти остов графа Г9 имеющий наименьшую длину. Задачи такого вида часто возникают на практике. Пример. В городе имеются шесть вычислительных центров, между каждыми двумя из которых необходимо установить связь, возможно, че- через другие центры. На рис. 8.6 показано, между какими центрами можно установить непосредственную связь и какими при этом будут затраты на прокладку кабеля с учетом городских условий. Рис. 8.6 228
Возникает вопрос, при каком способе соединения центров затраты будут наименьшими? Мы пришли к задаче указанного вида. Описываемый далее алгоритм решения задачи о минимальном остове состоит из п шагов. На нулевом (вспомогательном) шаге выбирается произвольная вер- вершина, например вершина 1 и полагается V\ = {l}, R\ = ®. К началу к-го шага (к=1, ..., п - X) даны множества VkaV и Rk с R, образующие связный граф Гк = (yk,Rk). Выберем такое ребро (Jk>Jk) 9 У которого начало ik лежит в множестве Vk , конец jk — в его дополнении V \ Vk и которое имеет наименьшую длину среди всех таких дуг, т.е. = min {cfj: QJ)eR, ieVk, j€ После этого полагаем F^+1 = Vk ^{j'k} > &к+\ = &к и{0*Л»Л)} • Ясно, что Гк+\ =(Ук+\*Кк+\) есть связный граф, так как новая вер- вершина jk связана с любой вершиной из множества Vk через вершину ik . Поскольку на каждом шаге к множеству Vk добавляется ровно одна вершина, то на шаге к = п-\ мы получим, что Vn = V. При этом, соглас- согласно сказанному, Гп =(V,Rn) есть связный граф, т.е. по определению Rn является остовом исходного графа, 7" = (F, R ). Теорема. Множество Rn есть остов минимальной длины. Перед тем как доказать эту теорему, продемонстрируем работу алгоритма на при- примере графа, указанного на рис 8.6. Решение. ШагО. Полагаем V\ = {l}, R\ = ®. Шаг 1. Минимальным среди чисел с\2=4, с^^б, <?i4=5 является С12- Поэтому полагаем V2 = {1,2}, R2= {A,2)}. Шаг 2. Минимальным среди чисел сц = 6, с\^ = 5, c2i = 1, ^5 = 7 является с2з. Поэтому полагаем V3 = {1,2,3}, Л3 = {0»2)'С2'3)} • ШагЗ. Минимальным среди чисел щ = 5, c2s = 7, С34 = 2, С35 = 5, сзб = 4 является С34 • Поэтому полагаем V^ = {1,2,3,4}, i?{2} 229
Шаг 4. Минимальным среди чисел с35 = 5> ^25 = 7> сЪв = 4» ^46 = 5 является сзб • Поэтому полагаем V5 ={1,2,3,4,6}, R5 = {A,2),B,3),C,4),C,6)}. Шаг 5. Минимальным среди чисел С35 = 5, С25 = 7, с$5 = 1 является С65 • Поэтому полагаем V6 ={1,2,3,4,6,5}, J% ={A,2),B,3),C,4),C,6),F,5)}. Таким образом, минимальные затраты на прокладку кабеля дос- достигаются при соединении пар центров из вершины R^ и равны У(Лб) = 4+1+2 + 4+1 = 12. Минимальный остов изображен на рис. 8.7. Рис. 8.7 Теперь докажем приведенную теорему, для простоты ограничившись случаем, когда все числа су ((ij) e R) различны. Доказательство. Пусть R — остов наименьшей длины и Rn ф R . Ясно, что Rn не может лежать целиком в R , так как иначе f(Rn) < f(R ) и, значит, R не есть решение задачи. Тогда найдется та- такая дуга (ij) e Rn, что ((/,у) ? R . Согласно построению множества Rn существует такой индекс к е {1, ..., «}, что (/,./) = 0'ьЛ)- Поскольку Г =(V,R ) —связный граф, то вершины /^ иу'^ могут быть соединены некоторым маршрутом, все дуги которого лежат в R . Начало /^ этого маршрута лежит в^,а конец д не лежит. Следовательно, найдется та- 230
кая дуга (г, s) этого маршрута, что г eV^ и s <? V^. Тогда по определению дуги (/?, jit) (и с учетом различности чисел с^) имеем %jk <c™- (8*4) Введем множество ребер R' = R u {(/^, д) \ {(г,5)}}, образованное из R путем замены ребра (г, s) на ребро (^,д). Граф /"' = (Р\Я') являет- является связным, поскольку вершины г и s соединены маршрутом, проходя- проходящим через дугу (/^, Д). В то же время из (8.4) имеем f(R') < f(R ), но это противоречит тому, что R — остов наименьшей длины. Таким об- образом, Rn= R . 8.5. Задачи распределения ресурсов на сетевых графиках О способах и методах распределения ресурсов, об их важности для функционирования экономических, экологических, военных и других систем сказано очень много. Тем не менее в области исследования опе- операций и теории игр сложилось ограниченное понимание задач распреде- распределения ресурсов. Под этим классом задач понимают в основном задачи типа леммы Гиббса и ее обобщений, оговаривая, однако, что большинст- большинство задач линейного программирования (а их многообразие неисчислимо) тоже подпадают под класс задач распределения ресурсов. Наше понимание этих задач состоит в следующем. При любых мате- математических описаниях функционирующих систем, подвластных челове- человеческому воздействию, на эти системы могут быть наложены ресурсные ограничения, и эволюция этих систем будет зависеть от способов рас- распределения ограниченных ресурсов. Системы могут быть детерминиро- детерминированными, функционирующими при наличии неопределенных факторов (в том числе и при наличии противоборствующей стороны) и адаптив- адаптивными (со случайными факторами), характеристики которых известны или становятся известными в процессе их функционирования. В наибо- наиболее общем описании функционирования больших систем, очевидно, бу- будут присутствовать все факторы. При рассмотрении таких систем спосо- способами распределения ресурсов будут выборы скалярных или векторных переменных, вектор-функций и даже мер в зависимости от возможностей оперирующей стороны. 231
Рассмотрены два типа моделей: распределения векторных ресурсов по сетевым графикам и транспортным сетям при наличии неопределен- неопределенных факторов или противника и детерминированные модели. Задачи распределения ресурсов на сетевых графиках и транспорт- транспортных сетях в детерминированном случае весьма просто сводятся к за- задачам нелинейного программирования. Если же имеются неопреде- неопределенные факторы, то поиск гарантированного распределения ресурсов в прямой постановке приводит к задаче тройной оптимизации игрово- игрового характера со связанными ограничениями, и требуется определен- определенное искусство, чтобы свести эти задачи к задачам нелинейного про- программирования. В данной главе не приводятся алгоритмы решения задач, поскольку эти задачи являются задачами нелинейного программирования, где име- имеется очень много известных алгоритмов решения. Выбор каждого алго- алгоритма обусловливается особенностями задачи и имеющимся математи- математическим обеспечением. Впрочем, в список литературы включено довольно много руководств, содержащих описание и даже программы на различ- различных алгоритмических языках алгоритмов локальной, глобальной и вы- выпуклой оптимизации. На первый взгляд может показаться, что рассмотрение случая ко- конечного числа значений неопределенных факторов сужает область применимости рассматриваемых задач. Но это ограничение, во-первых, позволяет значительно упростить структуру задач, а во-вторых, не яв- является слишком ограничительным, поскольку любую непрерывную иг- игру на компактных множествах стратегий игроков можно аппроксими- аппроксимировать конечной игрой, выбрав достаточно плотные сетки на множествах стратегий игроков. 8.5.1. Основы сетевого планирования. Возьмем ориентированный граф (MJV) обла- обладающий следующими свойствами: 1) сущест- существует единственная вершина графа z\, из ко- которой дуги только выходят, т.е. не существует дуг вида (zj,z\) ; 2) суще- существует единственная вершина графа z , в которую дуги только входят, т.е. не существует дуг вида (z^,zy); 3) в графе отсутствуют замкнутые пути и, следовательно, все пути в нем простые; 4) пусть zl5...,z^ — все вершины графа, /. ,у' = 1, ..., /w, — все дуги графа, тогда для любой вер- 232 Время комплекса величине пути. выполнения работ равно критического
шиныг,- существует путь из z\ в z^, проходящий через эту вершину, а для любой дуги lj9j = 1, ..., т существует путь из z\ в z^ , содержащий эту дугу. Вершины нашего графа будем называть событиями, а его дуги — работами. Пусть каждой работе /у поставлено в соответствие число Tj >0,у = 1, ..., т, которое назовем продолжительностью рабо- работы. Граф, удовлетворяющий всем перечисленным ограничениям и имеющий все перечисленные характеристики, называется сетевым гра- графиком. Содержательное истолкование сетевого графика состоит в следую- следующем. Имеется проект, состоящий из работ l:,j = 1, ..., т. Для каждой работы задана ее продолжительность. Событие zj — начало всех работ. С началом работ начинаются все работы, выходящие из события Z]. Ка- Каждое промежуточное событие z, состоит в том, что окончились все ра- работы, входящие в z,-, и начались все работы, выходящие из zt. Наступ- Наступление события z~ означает окончание всех работ. Если бы в сетевом графике существовал замкнутый путь, то существовала бы последова- последовательность событий zt ,z,- ,...,z; _ ,z,- , соединенных работами. Пусть ts, s = 1, ..., к - 1,— время наступления события zt , тогда t\ </2 <...<ffc-l <^1- Но это противоречие. Следовательно, для содержа- содержательной непротиворечивости необходимо отсутствие замкнутых путей в сетевом графике. Пусть дан путь zi,...,z; и пусть /r., i = 1, ...,? — дуги этого пути. Be- Beit личиной пути назовем число dj = X *>. , где тг — продолжительность /=1 работы 1Г . В дальнейшем будем считать, что событие z\ наступает в нулевой момент времени. Теорема. Время наступления события z равно dj=maxdj > гДе 1<S<1 dj9 s = \,...J, —величины всех путей из z\ в 233
Максимальный по величине путь из z\ в z^ будет определять время окончания всего комплекса работ, т.е. время совершения события z^. Такой путь называется критическим. Рассмотрим работу ls. Пусть начало этой работы есть событие zt и ведет работа в событие z .• , тогда, если продолжительность работы есть ts , должно выполняться условие tJs-tis>Ts, s = \9...,m. (8.5) Числа tX9.,.9tr), удовлетворяющие условию (8.5), будем называть ка- календарным планом. Если задан календарный план, то продолжительность всего комплекса работ будет н„ -tA. Естественно стремиться к назначению такого ка- календарного плана, при котором продолжительность всего комплекса ра- работ была бы минимальной. Тогда надо решить задачу. miny^ -t\), (8.6) t Задача (8.6) есть задача линейного программирования. 8.5.2. Оптимальное распределение ресурсов на сетевых графиках в детерминированном случае. Рассмотрим сетевой график с событиями z\9..,9z^ и работами /. ,j = 1,..., т, причем будем считать, что zj — нача- начало всех работ, z^ — их окончание. Предположим также, что времена выполнения всех работ есть функции от распределений ресурсов. При этом будем предполагать, что задано множество X распределений ресур- ресурсов, и как только выбрано распределение ресурсов х е X, так сразу же определяются функции<pj(x), т.е. времена выполнения работ /,,у = 1,..., т. Будем считать, что функции (pj(x),j = 1,..., т, — непрерывные функ- функции, а множество X— компактное множество евклидова пространства Е^. Поставим задачу нахождения такого распределения ресурсов, что- чтобы время выполнения всех работ было минимальным. Если распределе- распределение ресурсов х g X выбрано, то время выполнения всех работ согласно (8.6) будет определяться из решения задачи 234
(8.7) xe X;<ps(x)>0. Если мы хотим выбрать такое распределение ресурсов, чтобы время выполнения работ было минимальным по всем распределениям ресур- ресурсов, то нам надо решить задачу minmin(^ -*i) ПРИ ограничениях задачи X t (8.7). Объединяя два последовательных минимума в один, окончательно получаем (8.8) x,t tjs-tis ><ps(x)9 f = (*!,...,fl?),$ = l,...,m; xeX. Решение задачи (8.8) всегда существует. Особо отметим случай, когда распределяется один вид ресурса, на- например деньги. В этом случае задача (8.8) будет иметь вид (8.9) т x = (xb...,xm), xs >0; %xs <A9 5 = 1,...,т, 5=1 где А — заранее заданное количество ресурса, которое распределяется по всем работам. Такой вид распределения ресурсов называется сепара- бельным. Задача (8.9) является сепарабельной задачей нелинейного про- программирования. Предположим теперь, что нам задано директивное время t *, за кото- которое необходимо выполнить весь комплекс работ, при этом надо выбрать самое дешевое распределение ресурсов, то есть предположим, что задана непрерывная функция стоимости распределения ресурсов fix) x e X и надо выбрать такое распределение ресурсов, чтобы время выполнения всех работ не превышало t * и при этом функция fix) принимала мини- минимальное значение. Для этого рассмотрим задачу: 235
min/(x), (8.10) x e X, s = l,...,w. Аналогично задаче (8.9) приведем отдельно постановку задачи (8.10) для случая сепарабельного распределения ресурсов. В этом случае име- имеется только один ресурс и естественно экономить именно его. Тогда за- задача (8.10) принимает вид т mini*,, (8.11) x,t s=\ x = (x\9...9xm), xs >0, s = \9...9m. В случае наличия некото- некоторого количества неопределен- неопределенных факторов будем искать га- гарантированные распределения ресурсов, которые дают наи- наилучший результат при наихуд- наихудшем выборе неопределенных факторов. 8.5.3. Оптимальное распределение ресурсов на сетевых графиках при на- наличии неопределенных факторов. Предположим, что имеется некоторое количество неопределенных факторов, которые находятся в распоряжении при- природы или противника. В этом случае бу- будем искать гарантированные распределе- распределения ресурсов, которые дают наилучший результат при наихудшем выбо- выборе неопределенных факторов. Постановки задач в случае когда неопре- неопределенные факторы носят стохастический характер или когда целесооб- целесообразно рассмотреть критерии, отличные от принципа гарантированного результата, мы в данном случае не приводим, однако они могут быть по- построены на основании материала гл. 5. Итак, дан сетевой график с событиями zj,...,z^ и работами /у,У= 1,..., /я. Каждой работе поставлена в соответствие некоторая не- непрерывная функция <pj(x,k) J = 1,..., т, х е X, к = 1, ..., г. Эта функция 236
есть время выполнения работы lj, если выбрано распределение ресурсов х е X, а неопределенный фактор принял значение к. Предполагаем, что события развиваются следующим образом. Снача- Сначала выбирается распределение ресурсов. После этого неопределенные факторы принимают одно из своих значений, затем полностью опреде- определяются времена выполнения работ, и работы выполняются в соответст- соответствии с ними. Будем считать, что эти факторы при заданном распределе- распределении ресурсов принимают наименее благоприятные для выполнения работ значения, поэтому гарантированное распределение ресурсов будет получаться в результате решения следующей задачи: со = min max minf $ - t[k)\, (8.12) () M 8.6, Задачи распределения ресурсов на транспортных сетях Мы уже рассматривали задачу о максимальном потоке. Приведем бо- более формальную ее постановку. Пусть задан ориентированный граф с вершинами zj,...,^ и дугами lj9j = l,...,/w. Для каждой вершины zr определим множество дуг С(/), выходящих из этой вершины, и множество дуг D(y), входящих в данную вершину. Будем предполагать, что СA) и D(tj)— пустые мно- множества. Вершину z\ будем называть источником, а вершину z» — стоком. Будем считать, что каждой дуге lj поставлено в соответствие число dj>09j= I,..., m, которое мы будем называть пропускной спо- способностью дуги. Ориентированный граф с такими характеристиками бу- будем называть сетью. Тогда задача о максимальном потоке в сети может быть записана как maxt>> (8.13) 237
(и при y = l, О при / = 2,...,7-1, -о при г = 7, 0<yj ^dj\j = l,...,m;; у = {У\ где v есть величина максимального потока. Рассматривается задача вы- ный поток в сети будет самым большим. 8.6.1. Задача распределения ре- ресурсов на транспортных сетях в де- бора такого распределения ре- терминированном случае. Пусть те- сурсов при котором максималь- f r j j перь пропускные способности дуг есть непрерывные функции от вложенных в эти дуги ресурсов, т.е. будем пред- предполагать, что задано множество распределений ресурсов хеХ. Как только выбрано конкретное распределение ресурсов х, так сразу же оп- определяются пропускные способности дуг <pj(x), j = 1, ..., т. Естествен- Естественно поставить следующую задачу. Выбрать такое распределение ресур- ресурсов х еХири котором максимальный поток в сети будет самым большим. max о (8-14) (о при / = 1, О при ^ = 2,...,7-1, -о при y = Tj, ; xeX; y = {yi,...9ym Естественно рассмотреть также следующую задачу. Пусть задана сеть с пропускными способностями дуг, зависящими от распределения ресур- ресурсов. Пусть, как и в случае сетевых графиков, каждому распределению ресурсов х соответствует стоимость этого распределения fix). Требуется распределить ресурс по сети так, чтобы в ней существовал поток не меньший некоторой заданной величины v , и чтобы стоимость распре- распределения ресурсов была бы минимальной. Эта задача может быть записа- записана следующим образом. тш/(х), (8.15) 238
и при у = 1, О при 7 = 2,...,/7-1, и>и*; 0<yj <<pj хеХ; у = (у Как и для сетевых графиков отдельно сформулируем сепарабельную задачу, то есть случай одного ресурса, затраты которого минимизируют- минимизируются. В этом случае имеем следующую постановку. Z ;<=С(Г) 5=1 v>u*'9 0<yj >0;y = 8.6.2. Задача распределения ре- ресурсов на транспортных сетях при наличии неопределенных факто- факторов. Будем считать, что имеется не- неопределенный фактор, принимающий конечное число значений и^, к = 1, Рассматривается задача выбо- выбора такого распределение ресурсов, при котором максимальный поток в сети будет наибольшим при ус- условии, что неопределенные фак- факторы примут наименее благопри- благоприятное значение. ..., г, поэтому пропускные значения дуг есть непрерывные функции фj (х, и^ ) = ср,• (х, к), х е X ; А: = 1,..., г; Как и в случае предыдущих рассмотрений, отдельно рассмотрим се- парабельный случай, а именно случай, когда функции пропускных спо- способностей имеют вид: ^;(x,?) = ^;(x;,?j, x = (xj,...,xm); y' = l,...,m; Пусть задача состоит в том, чтобы выбрать распределение ресурсов х g X, при котором максимальный поток в сети будет наибольшим при условии, что неопределенные факторы примут наименее благоприятное 239
значение. Будем считать, что происходят следующим образом. Сначала строится транспортная сеть. Потом неопределенные факторы принимают одно из своих значений. По полученной сети пропускается максималь- максимальный поток. В этом случае задача имеет следующий вид: max mm max о ,(*) „(*) о^7 и№ при у = 1, 0 при y = 2,...,t]-l, -о' ' При y = TJ, т; к = \,...,г, хеХ. Рассмотрим также в некотором смысле обратную задачу. Необходимо выбрать такое распределение ресурсов х еХ, чтобы при этом распре- распределении ресурсов в самом неблагоприятном случае (в смысле значения неопределенных факторов) максимальный поток в сети был бы не мень- меньше величины v , а стоимость распределения ресурсов f(x ) была бы минимальной. В этом случае задача записывается следующим образом: min/(x); min maxu \<к<г у() ,(*) У ,(*)_ Z У)>=\ jeD(r) и^ ' при у = 1, О при у = 2,...,т]-1, (к) -uv ' при у = г), (к) Sk) , к = l,...,r; хеХ.
Глава 9 НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ Мы рассмотрели задачу линейного программирования, которая со- состояла в минимизации или максимизации линейной функции при ли- линейных ограничениях. Однако во многих оптимизационных задачах це- целевая функция, или функции, задающие ограничения, не являются линейными. Такие задачи называются задачами нелинейного програм- программирования. 9.1. Основные понятия В общем виде задача нелинейного программирования может быть за- записана в виде max/О) (9.1) X Функция fix) называется целевой функцией, а неравенства gl(x)<bi , / = 1,..., т называются ограничениями задачи. Определение. Множество точек х, удовлетворяющих ограничениям задачи (9.1), называется допустимым множеством задачи. Ограничения могут отсутствовать. В этом случае мы говорим о задаче безусловной оптимизации. Определение. Оптимальным решением задачи (9.1) (точкой глобаль- глобального максимума) называется любая точка х из допустимого множества такая, что справедливо соотношение /(/)>/(* ), где х — произвольная точка из допустимого множества задачи. В теории нелинейной оптимизации выделяют понятие локального максимума (локального минимума). 241
Определение. Точкой х = (х \,...,х п) из допустимого множества на- называется точка локального максимума, если существует некоторое число Е > 0, такое, что для любой допустимой точки х = (jcj,..., хЛ), такой, что Xi -X; <Е, / = !,...,л, выполняется f(x )>f(x Разницу между глобальным и локальным максимумами легко видеть на рис. 9.1. В Рис. 9.1 Точки А и В являются точками локального максимума, точка С явля- является точкой глобального максимума. 9.2. Выпуклые и вогнутые функции Для задачи максимиза- максимизации вогнутой функции на выпуклом множестве любая точка локального максиму- максимума является и точкой гло- глобального максимума. Для задачи минимизации выпуклой функции на вы- выпуклом множестве любая точка локального минимума является и точкой глобаль- глобального минимума. В теории нелинейного программиро- программирования отдельно рассматриваются слу- случаи, когда целевая функция и функции ограничений являются выпуклыми (или вогнутыми). Определение. Функция /(х1?...,хп) называется выпуклой на некотором вы- выпуклом множестве S, если для любых двух точек х' е S и х" е S соотношение выполняется для всех с: Графический пример выпуклой функции изображен на рис. 9.2. 242
) + (\-c)f(x) f(cx Рис. 9.2 Определение. Функция f(x\,...,xn) называется вогнутой на некото- некотором выпуклом множестве S", если для любых двух точек х е S и х" е 5 соотношение /(сх' + A-с)х")<с/(х') + A-с)/(х") выполняется для всех с: 0 < с < 1. Графический пример вогнутой функции изображен на рис. 9.3. /(?*' + A - С)* (\-c)f(x сх + A - с)х Рис. 9.3 Нетрудно запомнить, что функция f(x) является выпуклой тогда и только тогда, когда fix) является вогнутой и наоборот. Выделение именно данных классов функций связано в первую оче- очередь с тем, что для них справедливы следующие теоремы. Теорема. Пусть рассматривается задача максимизации вогнутой функции Дх) на выпуклом множестве S. Тогда любая точка локального максимума является и точкой глобального максимума. Теорема. Пусть рассматривается задача минимизации выпуклой функции fix) на выпуклом множестве S. Тогда любая точка локального минимума является и точкой глобального минимума. Рассмотрим далее критерии выпуклости и вогнутости функций. Вве- Введем некоторые дополнительные определения. 243
Определение. Гессианом функции f(x\,...9xn), называется матрица размером пхп, на пересечении /-й строки иу-го столбца которой находит- находится значение соответствующей смешанной производной второго порядка в точке х = (х\9...,хп), а именно: d2f(xx,...,xn) dxtdxj Эта матрица обозначается как Н(х\,...,хп). Определение. Главным минором Аг-го порядка квадратной матрицы размером пхп называется значение любой подматрицы, полученной пу- путем удаления из данной матрицы некоторых п-к строк и соответствую- соответствующих (с теми же номерами) п~к столбцов. Приведем без доказательства следующие теоремы, которые являются критериями выпуклости (вогнутости) для функций, имеющих непрерыв- непрерывные вторые производные. Теорема. Пусть функция/х), x = (xi,...,xn) есть функция, опреде- определенная на некотором множестве S и имеющая на этом множестве непре- непрерывные частные производные второго порядка. Тогда fix) есть выпуклая функция на множестве S тогда и только тогда, когда все главные миноры Гессиана функции fix) неотрицательны во всех точках множества S. Теорема. Пусть функция fix), х = (х\,...,хп) есть функция, опреде- определенная на некотором множестве S и имеющая на этом множестве непре- непрерывные частные производные второго порядка. Тогда fix) есть вогнутая функция на множестве S тогда и только тогда, когда знак любого главно- главного минора к-го порядка Гессиана функции fix) совпадает со знаком вы- выражения (-1) во всех точках множества S. Рассмотрим некоторые примеры применения данных теорем. Пример. Докажите, что функция f(xhx2,x3) = xi +X2+ 2*з ~*l*2 -*2*3 -*1*з является выпуклой функцией на всей области определения. Решение. Построим Гессиан данной функции Я(х, >*2>хз) = 2 -1 -1 -1 2 -1 -1 -1 4 244
Вычислим все главные миноры данной матрицы. Первоначально рас- рассмотрим главные миноры первого порядка. После удаления рядов (и столб- столбцов) 1 и 2 остается один единственный элемент 4 > 0. После удаления рядов (и столбцов) 1 и 3 остается один единственный элемент 2 > 0. После удале- удаления рядов (и столбцов) 2 и 3 остается один единственный элемент 2 > 0. Вычислим все главные миноры второго порядка. Удаляя строку 1 и столбец 1, получаем det 2 -1 -1 4 = 7 >0. Удаляя строку 2 и столбец 2, получаем 2 -1 det -1 4 = 7 >0. Удаляя строку 3 и столбец 3, получаем 2 -1 det -1 2 = 3 >0. Вычислим главные миноры третьего порядка. Таковым единственным минором является сам Гессиан. Вычислим его определитель путем раз- разложения по первой строке, а именно: Поскольку все главные миноры Гессиана являются неотрицательны- неотрицательными на всей области определения функции, функция /(xi,*2>x3) > соглас- согласно приведенному критерию, является выпуклой. 2 2 Пример. Докажите, что функция f(x\,X2) = -х{ - 2^2 ~~Х\Х2 является вогнутой функцией на всей области определения. Решение. Как легко заметить, главные миноры первого порядка име- имеют значения (совпадающие со значениями диагональных элементов) -2 и -4, т.е. являются отрицательными. Единственным главным минором второго порядка является сама мат- матрица. Ее определитель равен (-2) • (-4) - (-1) • (-1) = 7 > 0. Поэтому согласно вышеприведенному критерию, функция является вогнутой на всей области определения. 245
Заметим, что для случая функции одной переменной приведенные теоремы принимают следующий вид. Теорема. Пусть функция fix) имеет вторую производную во всех точ- точках некоторого выпуклого множества S. Тогда функция fix) является вы- выпуклой функцией на множестве S тогда и только тогда, когда / (х) > О для всех точек х множества S. Теорема. Пусть функция fix) имеет вторую производную во всех точ- точках некоторого выпуклого множества S. Тогда функция fix) является во- вогнутой функцией на множестве S тогда и только тогда, когда / (х) < О для всех точек х множества S. 9.3. Градиентный метод Основная идея градиентного Данный метод применим для за- дач безусловной оптимизации. В об- метода состоит в замене максими- J зируемой (минимизируемой) функ- функции в окрестности конкретной точ- точки ее линейным приближением. В методе наискорейшего спуска длина шага выбирается из условия минимизации функции вдоль направления антиградиента. щем виде такая задача может быть записана как max (min) f{x\,..., хп), x = (xh...,xn)eRn. Основная идея метода состоит в замене максимизируемой (миними- (минимизируемой) функции в окрестности конкретной точки ее линейным приближением, получаемым из разложе- разложения данной функции в ряд Тейлора в данной точке. Общая схема метода состоит в построении последовательности при- приближений х ,х ,...,хп исходя из соотношения где h — направление убывания функции Дх) вдоль h . к. В градиентном методе h берется равным антиградиенту функции fix) в точке х , а именно hk = -/ (хк). Что касается выбора длины шага ак, то в градиентном методе могут использоваться различные алгорит- алгоритмы. Так, если длина шага выбирается из условия минимизации функции вдоль направления антиградиента, то получаем вариант градиентного метода, носящий название метода наискорейшего спуска. Опишем коротко еще один способ выбора параметров а^ градиент- градиентного метода, называемый дроблением шага. Выбираются некоторые кон- 246
станты /3 >0,0<А<1. Для коэффициента а = C проверяется выполне- выполнение условия f(xk+ahk)<f(xk). (9.2) Если оно выполнено, то полагается сск = а. Если нет, то произво- производится дробление шага, т.е. принимается а = Я/3 и вновь проверяется вы- выполнение условия (9.2). Процесс дробления, т.е. умножения текущего значения а на Л, продолжается до тех пор, пока условие 9.2 не окажет- окажется выполненным. Этот процесс не может быть бесконечным, поскольку h — направление убывания. Первое а , при котором условие выполне- выполнено и принимается за а^. Приведем пример использования метода наискорейшего спуска. Пример. Используя метод наискорейшего спуска, решить следующую задачу безусловной оптимизации для функции Решение. В качестве начальной точки выберем х =A,1). Вычислим градиент функции / {х\,Х2) = {-2(х\ -3), -2(л>> -2)) , а также его зна- значение в начальной точке / A,1) = D,2). Далее мы должны выбрать зна- значение шага aQ таким образом, чтобы достигался максимум функции Данную задачу легко решить, приравнивая нулю первую производ- производную приведенной функции, /(а$) = 0. А именно: -8(-2 + 4а0) - 4(-1 + 2а0) = 0, откуда а0 = 0,5 . Тогда jq = A,1) + 0,5D,2) = C,2), а /C,2) = @,0). В этом случае реа- реализация алгоритма завершается. Как несложно показать, в силу того что функция f(x\9X2) является вогнутой, найденная точка является решени- решением задачи безусловной оптимизации. 247
9.4. Графический метод решения задач нелинейного программирования для функций двух переменных Наиболее существенное отличие задачи нелинейно- нелинейного программирования от линейных задач, заключа- заключается в том, что оптималь- оптимальное решение может нахо- находиться как на границе допустимого множества, так и являться его внут- внутренней точкой. Рассмотрим задачу нелинейного про- программирования, содержащую только две переменные, записанную в виде тах/(х) gm(x)<bm, x = (xhx2)eR . Как уже отмечалось, функция fix) называется целевой функцией, а неравенства g.(x)<bi, / = l,...,wi называются ограничениями задачи. Множество точек, удовлетворяющих ограничениям задачи, называется допустимым множеством задачи. Решить задачу нелинейного программирования графически — значит найти такую точку из допустимого множества, через которую проходит линия уровня /(х\,Х2) = С , имеющая максимальное значение величины С из всех линий уровня, проходящих через допустимые точки задачи. Как и в случае задач линейного программирования, для задач нелиней- нелинейного программирования, содержащих только две переменные, возможна графическая интерпретация. Наиболее существенное отличие задачи нелинейного программирова- программирования от линейных задач заключается в том, что оптимальное решение мо- может находиться как на границе допустимого множества, так и являться его внутренней точкой. Этапы графического решения задач нелинейного программирования можно сформулировать следующим образом. Этап1. На плоскости наносятся геометрические места точек, соответ- соответствующих каждому уравнению из ограничений задачи g/(x) = fy, /= 1, ..., т. Строится допустимое множество задачи. Если допустимое множество задачи пусто, то задача не имеет решения. Этап 2. Строятся линии уровня целевой функции /(х],Х2) = С при различных значениях параметра С. 248
Этап 3. Определяется направление возрастания (для задачи максими- максимизации) или убывания (для задачи минимизации) линий уровня целевой функции. Этап 4. Определяется точка допустимого множества, через которую проходит линия уровня с максимальным (для задачи максимизации) или минимальным (для задачи минимизации) значением параметра С. Если целевая функция не ограничена сверху (для задачи максимизации) или не ограничена снизу (для задачи минимизации) на допустимом множест- множестве, то задача не имеет решения. Этап 5. Для найденной точки определяют ее координаты х =(х i,x 2)tR2 и значение целевой функции в данной точке /(**!, **2 )• Пример. Решить следующую задачу нелинейного программирования, используя геометрическую интерпретацию тах i +Х2<\, х\ + х2 < 2, х -х2<0. (9.4) Решение. Построим линии, соответствующие ограничениям задачи (9.4), рассмотренным как равенства (рис. 9.2). Рис. 9.4 249
Линия уровня, соответствующая максимальному параметру С и про- проходящая через какую-либо точку допустимого множества, изображена на рис. 9.4 — АА. Координаты оптимальной точки находятся из системы уравнений + х2 = 2, откуда хх = -, х2 = -. 9.5. Метод множителей Лагранжа Геометрическая интер- интерпретация метода Лагранжа основана на том, что линия уровня целевой функции с максимальным значением будет касаться линии гра- границы в точке, являющейся оптимальным решением за- задачи. Пусть требуется решить задачу нели- нелинейного программирования следующего вида: f(xh...,xn) -> max(min). 82 (xh...,xn)=b2, im Ы,-,х„)=Ьт, где функции/и gh i = \,m непрерывны, и непрерывны их частные про- изводные ПО Xj, j= \,П . Для решения поставленной задачи может быть применен метод мно- множителей Лагранжа. Объясним идею метода на примере задачи нелиней- нелинейного программирования, зависящей от двух переменных и имеющей только одно ограничение: Будем исходить из геометрической интерпретации задачи, описанной в параграфе 9.4. А именно, заметим, что линия уровня с максимальным значением параметра С будет касаться линии границы в точке, являю- являющейся оптимальным решением задачи. Схематично это изображено на рис. 9.5. 250
/(*)=Cmax g\x*) . 9.5 Поскольку две гладкие линии (имеющие непрерывные частные про- производные) касаются друг друга в точке х , то их векторы-нормали сона- правлены. Поскольку вектор-нормаль есть градиенты функций (вектор частных производных), то справедливо векторное соотношение f (x ) = hg(x ), где Л есть некоторый коэффициент пропорционально- сти. Координаторами векторов / (х ) и g (x ) являются значения част- ных производных функций/и g соответственно в точке х . Из условия пропорциональности в точке х имеем -Х дх\ дх\ Для определения значений х\ и *2' в которых функция / достигает максимума, к этим уравнениям надо добавить условие принадлежности точки х графику функции glx\ ,*2 )= Ь . Окончательно получаем систему уравнений, определяющую опти- оптимальное решение поставленной задачи 251
df дхх ~fr2 = X = Я dg_. дх\ ' дх2 g(xl,x2) = b. Введем новую функцию F(xhx2,X) = f{x\,x2) + Л(Ь- g Тогда последняя система перепишется в виде dF(xhx2,A) дх\ дх\ dF(x\9x2,A) __ =0; 8x2 Функцию F назьюают функцией Лагранжа. Приведем ниже алгоритм метода множителей Лагранжа решения за- задач нелинейного программирования. Этап 1. Составляют функцию Лагранжа т Этап 2. Находят частные производные функции Лагранжа по х .• и 7 = 1, л; 1 = 1,/я и приравнивают их к нулю dF df (9.5) /(x1,...,xA2) = b/, /= 1,/w. ЭтапЗ. Решают систему (9.5) и определяют точки, в которых функция .,xrt) может иметь экстремум. 252
Этап 4. Проверяют полученные на этапе 3 точки на экстремум и оп- определяют экстремальное значение функции/найденной точки. Рассмотрим применение изученных методов на примере решения за- задачи оптимальной реализации продукции. Пример (расчет экономико-математической модели при нелинейных затратах на производство). Фирма реализует автомобили двумя способа- способами: через магазин и через торговых агентов. При реализации Л} автомоби- автомобилей через магазин расходы на реализацию составляют 4х\ + х\ усл. ед., а при продаже х2 автомобилей через торговых агентов расходы составляют х2 усл. ед. Найти оптимальный способ реализации автомобилей, миними- минимизирующий суммарные расходы, если общее число предназначенных для продажи автомобилей составляет 200 шт. Решение. Составим математическую модель задачи. Целью является минимизация суммарных расходов R = Ах\ + х\ + х2. Управляющие переменные— это число автомобилей, реализуемых первым и вторым способом: х\ и х2 > соответственно B00 шт.). Окончательно математическая модель имеет следующий вид: R = 4*1 + х\ + х2 - Для ее расчета применим метод множителей Лагранжа. Функция Ла- Лагранжа имеет вид F(xhx2,X) = 4jq + x\ + *2 + ЯB00-хх -х2). Найдем частные производные функции F по х\, х2 и Я и приравня- приравняем их к нулю. Получим следующую систему уравнений: f =2jcj + 4- Я= 0, [ = 200-jq-jc2 = o. Решая систему, найдем *! * 99, х2 = 101, Я = 202, /(x1$x2) = 20 398. 253
Таким образом, для получения минимальных расходов, нужно реа- реализовать 99 автомобилей через магазин и 101 автомобиль через тор- торговых агентов. При этом расходы на реализацию составят 20 398 усл. ед. 9.6. Условия Куна — Таккера Условия Куна - Таккера определяют необходимые усло- условия оптимальности, но при неко- некоторых дополнительных предпо- предположениях относительно целевой функции они являются необхо- необходимыми и достаточными усло- условиями оптимальности (критерии оптимальной точки). Важное место в теории выпуклого программирования занимают условия Куна-Таккера, названные так в честь открывших их американских матема- математиков Куна и Таккера. Пусть требуется решить задачу не- нелинейного программирования сле- следующего вида: f(xh...,xn) ->max(min) (9.6) g2 ёт (Xh...,xn)<bm. Тот факт, что ограничения задачи содержат только ограничения в ви- виде неравенств «меньше или равно», никак не ограничивает общность за- задачи, поскольку каждое неравенство вида «больше или равно» приводит- приводится к требуемому виду умножением левой и правой частей на -1. Каждое равенство может быть представлено в виде двух неравенств противопо- противоположного знака, а далее неравенство вида «больше или равно» приведено к неравенству вида «меньше или равно» описанным способом. Далее будем предполагать, что функции g/(x), i = 1, ..., т, удовле- удовлетворяют так называемым условиям регулярности. Не давая точных мате- математических понятий этим условиям, приведем лишь два достаточных ус- условия их выполнения: 1) все функции &•(*), / = 1, ..., т, являются линейными; 2) существует точка х, такая, что выполняются соотношения gj(x) <bt, i = 1,..., т (условие Слейтера). Теорема. Пусть задача (9.6) есть задача максимизации; функции f(x), gj(x) дифференцируемы на допустимом множестве. Функции g/(x), 254
/ = 1, ..., т выпуклые и удовлетворяют условиям регулярности. Если точка х =(х\ ,...,хп) является оптимальным решением задачи (9.6), то существуют значения Х\ ,...9Лт такие, что выполняются соотношения -1Л -6|) = о, /= (9.7) X,- >0, / = 1,/и. Для задачи минимизации аналогичная теорема имеет следующий вид. Теорема. Пусть задача (9.6) есть задача минимизации, функции flx),gi(x) дифференцируемы на допустимом множестве. Функции g/(x), / = 1, ..., т выпуклые и удовлетворяют условиям регулярности. Если точка х ={х\,...,хп) является оптимальным решением задачи (9.6), то существуют значения Х\,..., Ат такие, что выполняются соотношения dg(x*) .0Ly.CT; 1=1 (9.8) Как видно из формулировок приведенных теорем, они определяют необходимые условия оптимальности для задачи (9.6). При дополни- дополнительных предположениях относительно целевой функции могут быть сформулированы уже необходимые и достаточные условия оптимально- оптимальности (критерии оптимальной точки). Эти условия определяют две сле- следующие теоремы. Теорема. Пусть задача (9.6) есть задача максимизации, функции f(xX Si (x) дифференцируемы на допустимом множестве. Функции g/(x), / = 1, ..., т выпуклые и удовлетворяют условиям регулярности. Функция fix) является вогнутой. Тогда точка х =(х\,...9хп) является оптималь- оптимальным решением задачи (9.6) тогда и только тогда, когда существуют зна- значения Х\ ,...,Ят такие, что выполняются соотношения (9.7). 255
Теорема. Пусть задача (9.6) есть задача минимизации, функции Ax)>gj(x) дифференцируемы на допустимом множестве. Функции #Дх), i= 1, ..., т выпуклые и удовлетворяют условиям регулярности. Функция Дх) является выпуклой. Тогда точка х =(xj,...,x^) является оптималь- оптимальным решением задачи (9.6) тогда и только тогда, когда существуют зна- значения \ 9...,Лт такие, что выполняются соотношения (9.8). Рассмотрим пример использования условий Куна-Таккера для обос- обоснования оптимальности найденной точки. Пример. Производитель имеет возможность закупить некоторый хи- химический компонент в количестве 17.25 единиц по цене 10 долл. за еди- единицу. Из единицы данного вещества можно произвести единицу продук- продукции 1, затратив 3 долл. на переработку, или единицу продукта 2, затратив 5 долл. на переработку. Если произведено х^ единиц продукции 1, то она будет продана по цене 30 — х\ долл. за единицу. Если будет произведе- произведено х2 единиц продукции 2, то она будет продана по цене 50 — 2 х2 долл. за единицу. Определите, каким образом производитель должен максими- максимизировать свою прибыль. Решение. Таким образом, переменными задачи являются х\ — количество еди- единиц продукции 1, х2 — количество единиц продукции 2, х3 — количе- количество единиц закупленного химического компонента. В математическом виде задача о максимизации прибыли производи- производителя формулируется в следующем виде: тах(х! C0 - хх) + х2 E0 - 2х2) - Зх{ - 5х2 -10х3) xi + х2 - х3 < 0, х3< 17.25, xl9x2,x3 >0. Целевая функция является вогнутой функцией (как сумма вогнутых функций). Функции ограничений являются выпуклыми (так как они явля- являются линейными). Функции ограничений удовлетворяют условиям регу- регулярности (так как они являются линейными). Поэтому для данной задачи условия (9.7) являются необходимыми и достаточными условиями опти- оптимальности. Для данной задачи условия (9.7) принимают следующий вид: 30-2Х! -3-^=0 (9.9) 256
50-4x2-5-^=0 (9.10) Х2=0 (9.11) +x3) = 0 (9.12) х3) = 0 (9.13) ^>0 (9.14) Х2>0 (9.15) Далее рассмотрим несколько случаев. 1. Х\ - fy = 0. Но это невозможно, поскольку будет нарушено соотно- соотношение (9.11). 2. %i = 0Д2 > О.Так как Х\ = 0, то из (9.11) Х2 = -10, что противоречит (9.15). 3. Х{ >0Д2 =0. Из (9.11) Хх =10. Из (9.9) хх =8,5, а из (9.10) х2 =8,75. Из (9.12) х3 =17,25. Поэтому х*1=8,5, х*2=8,75, х*3 =17,25, А,1=10,А,2=0 — удовлетворяют условиям Куна-Таккера, а следо- следовательно, оптимальная точка найдена. Таким образом, максимальная прибыль будет достигнута при закупке химического компонента в ко- количестве 17,25, производстве продукта 1 в количестве 8,5, а продукта 2 в количестве 8,75. 9 Исследование операций
Глава 10 ОСНОВЫ ТЕОРИИ МАССОВОГО ОБСЛУЖИВАНИЯ Цель анализа систем массово- массового обслуживания заключается в нахождении числовых значений таких показателей, как среднее время пребывания заявки в очере- очереди на обслуживание или доля вре- времени, в течение которой система простаивает. При этом в первом случае оценивается система с по- позиции «клиента», тогда как во вто- втором оценивается система с точки зрения ее загруженности. В реальной жизни часто приходит- приходится сталкиваться с ситуациями, в кото- которых необходимо пребывать в состоя- состоянии ожидания. Примерами тому может служить очередь покупателей у касс большого магазина, группа пас- пассажирских самолетов, ожидающих разрешения на взлет в аэропорте, ряд вышедших из строя станков и меха- механизмов, поставленных в очередь для починки в ремонтном цехе предпри- предприятия и так далее. Избежать ситуации ожидания чаще всего не удается, но можно сокра- сократить время ожидания до какого-то терпимого предела. Встречающийся на каждом шагу феномен ожидания чаще всего явля- является прямым следствием вероятностного характера возникновения по- потребности в том или ином виде обслуживания и разброса показателей соответствующих обслуживающих систем. Действительно, ни время возникновения потребностей в обслуживании, ни продолжительность обслуживания, как правило, заранее неизвестны. Цель изучения режима функционирования обслуживающей системы в условиях, когда фактор случайности является существенным, контроли- контролировать некоторые количественные показатели функционирования систем массового обслуживания. Такими показателями, в частности, являются среднее время пребывания клиента в очереди или доля времени, в тече- течение которой обслуживающая система простаивает. При этом в первом случае мы оцениваем систему с позиции «клиента», тогда как во втором случае мы оцениваем степень загруженности обслуживающей системы. На интуитивном уровне понятно, что чем больше время ожидания заявки в очереди на обслуживание, тем меньше доля времени простаивания сис- системы обслуживания и наоборот, чем меньше время пребывания требова- 258
ний в очереди на обслуживании, тем больше шансов у обслуживающей системы находиться в состоянии вынужденных простоев. Путем варьи- варьирования операционными характеристиками обслуживающей системы может быть достигнут разумный компромисс между требованиями «кли- «клиентов» и мощностью обслуживающей системы. Рассмотрим ряд моделей массового обслуживания, которые пригодны для анализа многих ситуаций, возникающих в повседневной жизни. Обсуждаемые модели основаны главным образом на теории вероят- вероятностей и теории случайных процессов. Конечная цель анализа этих мо- моделей заключается в нахождении числовых значений показателей, кото- которые характеризуют операционные возможности обслуживающих систем. ЮЛ Классификация систем массового обслуживания Любая система массового обслужи- обслуживания (СМО) состоит из определенного числа обслуживающих единиц (станков, - w СМО с ожиданием. приборов, компьютеров, станции, машин Системы массового об- обслуживания (СМО) делятся на два класса: СМО с отказами и и т.д.), которые называются каналами обслуживания. По количеству ка- каналов СМО подразделяют на одноканальные и многоканальные. Заявки на обслуживание в СМО поступают, как мы уже говорили, обычно не регулярно, а случайно, образуя так называемый поток заявок (или требований). СМО делятся на два основных класса: СМО с отказами и СМО с ожи- ожиданиями (очередью). В СМО с отказами заявка, поступающая в момент, когда все каналы заняты, получает отказ, покидает СМО и в дальнейшем в процессе обслуживания не участвует. Примером СМО с отказами слу- служит телефонная сеть, в которой заявка на телефонный разговор покидает СМО в том случае, когда соответствующий канал занят. В СМО с ожи- ожиданием заявка, пришедшая в момент, когда все каналы заняты, не ухо- уходит, а становится в очередь на обслуживание. СМО с ожиданием подразделяются на разные виды в зависимости от того, как организована очередь: с ограниченной или неограниченной длиной ожидания, с ограниченным временем ожидания и т.д. Для классификации СМО важное значение имеет дисциплина об- обслуживания, определяющая порядок выбора заявок из числа поступив- поступивших и порядок распределения их между свободными каналами. По этому признаку обслуживание требования может быть организовано по 259
принципу «первый пришел — первый обслужен» или по принципу «первый пришел — последний обслужен» (такой порядок обслужива- обслуживания характерен при отгрузке однородной продукции со склада). Кроме перечисленных дисциплин обслуживания есть еще обслуживание с приоритетом. При этом приоритет может быть абсолютным, когда бо- более важная заявка вытесняет из обслуживания обычную заявку в любом случае или относительным, когда важная заявка получает лишь «луч- «лучшее» место в очереди. Процесс работы СМО, как уже говорилось, но- носит случайный характер, т.е. представляет собой случайный процесс. Дадим формальное определение последнему понятию. Под случайным (стохастическим, вероятностным) процессом понимается процесс из- изменения во времени состояния какой-либо системы в соответствии с вероятностным законом. Процесс называется процессом с дискретными состояниями, если его возможные состояния S\, S2, S3, ..., Sn, ... можно заранее перечислить, а переход системы из состояния в состояние происходит мгновенно. Про- Процесс называется процессом с непрерывным временем, если моменты возможных переходов системы из состояния в состояние не фиксирова- фиксированы заранее, а являются случайными. Процесс работы СМО представляет собой случайный процесс с дискретными состояниями и непрерывным временем. Это означает, что состояние СМО меняется скачком в случай- случайные моменты появления каких-либо событий (появление новой заявки, приоритета обслуживания, окончания обслуживания). Анализ функционирования системы массового обслуживания существенно упрощается, если процесс ее функцио- функционирования марковский. Случайный Наиболее распространенные дисциплины обслуживания в СМО следующие: 1) «первым пришел - первым обслужен» 2) «первым пришел последним процесс называется марковским, или обслужен» 3) обслуживание с приоритетом. случайным процессом без последст- последствий, если для любого момента времени /о вероятностные характеристики процесса в будущем зависят только от его состояния в данный момент t0 и не зависят от того, когда и как систе- система пришла в это состояние. Пример марковского процесса: система S— счетчик пройденного расстояния автомобилем. Состояние системы в момент t характеризует- характеризуется числом километров, пройденных автомобилем до данного момента. Пусть в момент времени /0 счетчик показывает 50. Вероятность того, что в момент t> to счетчик покажет то или иное число километров S\, зависит только от So, но не зависит от того, каким были показатели 260
счетчика до момента to. В ряде случаев предысторией рассматриваемых процессов можно пренебречь и применять для их изучения марковские модели. При анализе случайных процессов с дискретным состоянием удобно пользоваться геометрической схемой — так называемым графом состоя- состояний. Обычно состояния системы обозначаются вершинами ориентирован- ориентированного графа, а возможные переходы из состояние в состояние ориентиро- ориентированными дугами, соединяющими вершины [57]. Пример. Построить граф состояний следующего случайного процес- процесса: устройство S состоит из двух узлов, каждый из которых в случай- случайный момент времени может выйти из строя, после чего мгновенно на- начинается ремонт узла, продолжающийся заранее неизвестное случайное время. Для того чтобы решить эту задачу, перечислим возможные состоя- состояния системы: So— оба узла исправны; Si— первый узел ремонтирует- ремонтируется, второй исправен; S2— первый узел исправен, второй ремонтирует- ремонтируется; S3 — оба узла ремонтируются. Соответствующий граф приведен на рис. 10.1. Рис. ЮЛ Дуга, направленная из So в S\t означает переход в момент отказа пер- первого узла; из Si в So переход в момент окончания ремонта этого узла. На графе отсутствуют стрелки из So в S3 и из Si в Si. Это объясняется тем, что выходы узлов из строя предполагаются независимыми друг от друга и, например, вероятностью одновременного выхода из строя двух узлов (переход от So в S3) или одновременного окончания ремонтов двух узлов (переход из S3 в So) можно пренебречь. 261
10.2. Входящий поток требований Процесс поступления в систему мас- массового обслуживания требований явля- является вероятностным. Он предоставляет они поступают через случай- собо„ пот(ж или не ные промежутки времени. г родных событий, поступающих через Поток требований или заявок, поступающий в СМО, является вероятностным, т.е. случайные промежутки времени (например, поток вызовов на телефон- телефонной станции, поток отказов компьютеров, поток покупателей и т.д.). Поток характеризуется интенсивностью X — частотой появления со- событий или средним числом событий, поступающих в СМО в единицу времени. Поток событий называется регулярным, если события следуют одно за другим через определенные равные промежутки времени. Например, поток изделий на конвейере сборочного цеха в том случае, если он движется с постоянной скоростью, является регулярным. Поток событий называется стационарным, если его вероятностные характеристики не зависят от времени. В частности, интенсивность стационарного потока есть величина постоянная X(t) = X. Поток авто- автомобилей на городском проспекте не является стационарным в течение суток, но его можно считать стационарным в течение какого-то вре- временного интервала, например, в часы пик. В этом случае, хотя количе- количество автомобилей, проходящих в единицу времени, будет отличаться друг от друга, их среднее число будет постоянным и не будет зависеть от времени. Поток событий называется потоком без последействия, если для любых двух непересекающихся участков времени - т\ и ъ — число событий, попадающих на один из них, не зависит от числа событий, попадающих на другие. Например, поток пассажиров, входящих в метро, практически не имеет последствия. А поток покупателей, от- отходящих от кассы с покупками, уже имеет последствие. Это следует из того, что интервал времени между отдельными покупателями не может быть меньше, чем минимальное время обслуживания каждого из них. Поток событий называется ординарным, если вероятность попадания на малый (элементарный) участок времени А/ двух и более событий пре- пренебрежительно мала по сравнению с вероятностью попадания одного со- события. Другими словами, поток событий ординарен, если события появ- появляются в нем поодиночке, а не группами. Например, поток поездов, 262
подходящих к станции, ординарен, а поток вагонов неординарен. Веро- Вероятность того, что событие произойдет один раз на интервале At для орди- ординарного потока пропорциональна dt и равна Xdt. Поток событий называется простейшим, если он одновременно ста- стационарен, ординарен и не имеет последствий. Определим распределение веро- вероятностей для такого потока (т.е. най- найдем величины рп(т), п - 0,1, ... к). динарен и не имеет последейст- /\J\J1 \J 11 L/V1VJ.V/SIX Y 1 1YU. ULS4/1V1V11.T1 it имеем: Для любого промежутка времени г Поток событий (требований) называется простейшим, если он одновременно стационарен, ор- +...+Жг)+... = 1. A0.1) Кроме того, для промежутка At po(At) +pi(At) + ... +а(Л0 + ... = 1. A0.2) Но по предположению об ординарности при At -> dt величины pi<(Ai), к = 2,3,... бесконечно малые по сравнению с А/, и потому PoW+px(dt)=\. A0.3) Так как то po(dt)=\-Xdt. A0.4) Вычислим теперь вероятность рп( т + dt) того, что в интервале т+ dt произойдет п событий Е. Для того чтобы в интервале г+d/ событие Е произошло п раз, должен осуществиться один из взаимоисключающшх случаев: 1) п событий Е в интервале г и 0 событий Е в интервале dz, следующем непосредственно за г, вероятность этого случая р„(г)A - fair); 2) (п - 1) событий Е в интервале г и одно событие в интервале dr, соот- соответствующая вероятность равная _ i(r)(l - Xdr). Таким образом, по формуле полной вероятности рп(т+ dt) =#,(г)A -Ыт) +рп-х(т) A-Хdr) + 0(dr), A0.5) где 0(dr) — бесконечно малые высшего порядка по сравнению с dr. pn(T+dt)-pn(T)=-Xpn(T)dT+ Xpn-\{r)dz A0.6) 263
или dpn{r) dx dx rnx ™~14 ' A0.7) = -*[Pn(.T)- Pn-lW]* где п= 1,2, ... Если n = 0, то из A0.7), с учетом того, что рп_\ (г) = 0, получим ФоО) п ,_ч -г.ч ппйч Дифференциальные уравнения A0.7), A0.8) описывают состояния простейшего потока. Дополним их очевидными начальными условиями: и = 1,2,.... A0.9) Решая A0.8) с учетом A0.9), сразу получим Лт. A0.10) Для нахождения решения системы A0.7) используем преобразование Лапласа-Карсона. Для этого положим [38,40] = s]pn(r)e-STdT,n = 0,1,... 0 Применив это преобразование к системе A0.7), приходим к системе алгебраических уравнений ИЛИ Pn(S) = -^Pn-l(S). A0.11) Так как 264
то Sf Ц. () (я + sf = ^ A0.13) ( )"+1 Используя таблицы соответствий преобразования Лапласа, найдем окончательно [44]: п\ A0.14) Как видим, нами получено распределение Пуассона, причем величина Лт есть среднее число событий Е в интервале г . Таким образом, ординарный поток заявок без последствий описыва- описывается распределением (законом) Пуассона. Следует отметить, что простейший поток в теории массового обслу- обслуживания играет такую же роль, как и нормальный закон в теории вероят- вероятности. Главная его особенность заключается в том, что при сложении не- нескольких независимых простейших потоков образуется суммарный поток, который также близок к простейшему. Непосредственной подстановкой получаем A0.15) рп(т) или Процесс многократного появления однородных событий Е через случайные интервалы времени при выполнении условий стационарно- стационарности, ординарности и отсутствия последствия называется процессом Пу- Пуассона. Найдем распределение интервала времени Т между произвольными двумя соседними событиями простейшего потока. В соответствии с A0.10) вероятность того, что на участке времени длиной t не появится ни одного из последующих событий, равна 265
p(T>t) = -Xt A0.17) а вероятность противоположного события, т.е. функция распределения случайной величины Г, есть F(t) = р(Т < t) = 1 -e~Xt. A0.18) Плотность вероятности случайной величины есть производная ее функции распределения (рис.10.2.), т.е. .-Я/ A0.19) (Pit) Рис 10.2 Распределение, задаваемое плотностью вероятности A0.19) или функцией распределения A0.18), называется показательным, или экспо- экспоненциальным. Таким образом, интервал времени между двумя соседни- соседними произвольными событиями имеет показательное распределение, для которого математическое ожидание равно среднему квадратичному от- отклонению случайной величины и обратно по величине интенсивности потока Л+ а = ? = -. A0.20) Доказательство этого факта приводится в [25]. Важнейшее свойство показательного распределения состоит в сле- следующем: если промежуток времени, распределенный по показательному закону, уже длился некоторое время т, то это никак не влияет на закон 266
распределения оставшейся части промежутка (Т - г): он будет таким же, как и закон распределения всего промежутка Т. Для простейшего потока с интенсивностью Я вероятность попадания на элементарный (малый) отрезок времени At хотя бы одного события потока равна, согласно A0.18), :АО = \-е~лш «ЛАГ. A0.21) 10.3. Предельные вероятности состояний Рассмотрим математическое _ г Если число состоянии системы описание марковского процесса с дискретными состояниями и непре- рывным временем на примере про- любое дРУгое состояние> то пРе" дельные вероятности существуют, цесса, граф которого изображен на конечно и из каждого из них можно за конечное число шагов перейти в рис 10.1. Будем полагать что все переходы системы из состояния S/ в S.- происходят под воздействием простейших потоков событий с интенсив- ностями состояний Я.. (/, j = 0,1,2,3). Так, переход системы из состояния Sq в состояние 5] будет проис- происходить под воздействием потока отказов первого узла, а обратный пере- переход из состояния S\ в Sq — под воздействием потока и событий, свя- связанных с окончанием ремонтов первого узла и т.п. Граф состояний системы с проставленными у стрелок интенсивно- стями будем называть размеченным. Рассматриваемая система S имеет четыре возможные состояния: Sq, Sj,^, S3 . Назовем вероятностью /-го состояния вероятность pt(t) того, что в момент t система будет нахо- находиться в состоянии Si. Очевидно, что для любого момента / сумма ве- вероятностей всех состояний равна единице: 1й@ = 1. (Ю-22) Рассмотрим систему в момент / и, задав малый интервал времени At, найдем вероятность /?0(г + Лг)того, что система в момент t + At будет находиться в состоянии Sq . Это достигается разными способами. 1. Система в момент t с вероятностью pqQ), находясь в состоянии Sq и за время At, не вышла из него. Вывести систему из этого состояния 267
можно суммарным простейшим потоком с интенсивностью (ЛI + hi)' т-е- в соответствии с A0.21) с вероятностью приближенно равной (Aq\ + Aqi)^ • Вероятность же того, что система не выйдет из состояния So, равна по теореме умножения вероятностей 2. Система в момент / с вероятностями pi(t)(nnn р2@) находилась в состоянии S\ или ^2 и за время А/ перешла в состояние Sq . Пото- Потоком, интенсивностью Ащ (или Я^о как следует из рис. 10.1) система перейдет в состояние 5q с вероятностью приближенно равной Х\ о At (или Xjo&t). Вероятность того, что система будет находиться в состоянии Sq по этому способу, равна p\(t)A[$At(или Применяя теорему сложения вероятностей, получим po(t + А/) = Pi(t)Zl0At откуда Переходя к пределу в левой части последнего равенства получим: Получили дифференциальное уравнение первого порядка, т.е. урав- уравнение, содержащее как саму неизвестную функцию, так и ее производ- производную первого порядка. Рассуждая аналогично для других состояний системы S, получим систему дифференциальных уравнений, которая носит название системы дифференциальных уравнений Колмогорова для вероятностей состояний 0 + hiPz @ ~ 0 "DI 0-(я1о + 4з)Р1(О Сформулируем правило составления уравнений Колмогорова. В ле- левой части каждого из них стоит производная вероятностей /-го состоя- состояния. В правой части — сумма произведений вероятностей всех состоя- 268
ний (из которых идут дуги в данное состояние) на интенсивности соот- соответствующих потоков событий минус суммарная интенсивность всех по- потоков, выводящих систему из данного состояния, умноженная на вероят- вероятность данного состояния. В системе A0.23) независимых уравнений на единицу меньше об- общего числа уравнений, поэтому для решения системы для каждого фиксированного / необходимо добавить еще уравнение A0.22). Осо- Особенность решения дифференциальных уравнений состоит в том, что необходимо задать начальные условия уравнений, т.е. в данном случае вероятности состояний системы в начальный момент времени t = 0 . Так, например, систему уравнений A0.23) естественно решать при условии, что в начальный момент времени t = 0 оба узла исправны и система на- находится в состоянии Sq, т.е. при начальном условии Уравнения Колмогорова дают возможность найти все вероятности со- состояний как функции времени. Особый интерес представляют вероятности системы p((t) в предельном стационарном решении, т.е. при / -> оо , кото- которые называются предельными (или финальными) вероятностями состояний. В теории случайных процессов доказывается, что если число состояний системы конечно и из каждого из них можно (за конечное число шагов) пе- перейти в любое другое состояние, то предельные вероятности существуют. Предельная вероятность состояния 5/ имеет вполне определенный смысл: она показывает среднее относительное время пребывания систе- системы в этом состоянии. Например, если предельная вероятность состояния Sq , т.е. ро = 0,5, то это означает, что в среднем половину времени сис- система находится в состоянии Sq . Так как предельные вероятности постоянны, то, заменяя в уравнениях Колмогорова их производные нулевыми значениями, получим систему линейных алгебраических уравнений, описывающих стационарный ре- режим. Для системы 5 с графом состояний, изображенном на рис. 10.1, та- такая система уравнений имеет вид (Я10 13)Р1 о^о 31Рз по 24) (Л2о + ^23 ) Р2 = Л Л (Я31 +%2)Рз 269
Система A0.24) может быть получена непосредственно по размеченному графу состояний, если руководствоваться правилом, согласно которому в левой части уравнений стоит предельная вероятность данного состояния pi, умноженная на суммарную интенсивность всех потоков, входящих в /-е со- состояние, на вероятности тех состояний, из которых эти потоки исходят. Пример. Найти предельные вероятности для системы, граф со- состояний которого изображен на рис. 10.1 при АI =1>Л(J =2, А10 = 2, Я13 =2, А20 = 3,^23 =1>Лз1 =3'^32 = 2- Система алгебраических уравнений для этого случая согласно A0.24) имеет вид Зро=2р1+3р2 4^=Р0^Р2 A025) 4р2=2р0+2р3 P0+P\+P2+P3=L Решив линейную систему уравнений, получим pq =0,4; р\= 0,2; Р2 =0,27;/?з =ОЛЗ; т.е. в предельном стационарном режиме система S в среднем 40% времени будет находиться в состоянии Sq (оба узла исправ- исправны), 13% времени в состоянии S\ (первый узел ремонтируется, второй ра- работает), 27% — в состоянии 5*2 (второй узел ремонтируется, первый рабо- работает) и 13% в состоянии S3 (оба узла ремонтируются). Определим чистый доход от эксплуатации в стационарном режиме рассмотренной системы S в условиях, что в единицу времени исправная работа узла один и узла два приносит доход соответственно 10 и 6 де- денежных единиц, а их ремонт требует соответственно затрат 11 и 2 де- денежных единиц. Оценим экономическую эффективность имеющейся возможности уменьшения вдвое среднего времени ремонта каждого из двух узлов, если при этом придется вдвое увеличить затраты на ремонт каждого узла (в единицу времени). Для решения этой задачи с учетом полученных значений Pq,P\, Р2 > Ръ определим долю времени исправной работы первого узла, т.е. Pq +/?з =0,4 + 0,27 = 0,67 и долю времени исправной работы второго узла pq + р\ =0,4 + 0,2 = 0,6. В то же время первый узел находится в ремонте в среднем долю времени равную р\+ р$ =0,2 + 0,13 = 0,33, а 270
второй узел pi +рз = 0,27 + 0,13 = 0,40. Поэтому средний чистый до- доход в единицу времени от эксплуатации системы равен Д = 0,6710 + 0,6-6-0,33-4-0,4-2 = 8,18 ден. ед. Уменьшение вдвое среднего времени ремонта каждого узла будет означать увеличение вдвое интенсивностей потока «окончания ремонтов» каждого узла, т.е. теперь Ajq =4, Л20 =6, Л31 = 6, Л32 =4 и система уравнений, опи- описывающая стационарный режим системы S, будет иметь вид: = 4Р\ + 6Р2 = Ро + 6РЗ Р0+Р\+Р2+РЗ=1- Решив систему, получим /?0 = 0>6, р\ = 0,15, р2 = 0,2, /73 = 0,05 . Учи- Учитывая, что Ро+Р2 =0,6 + 0,2 = 0,8, Ро+Л =0,6 + 0,15 = 0,75 Р\+Р3 =0,15 + 0,05 = 0,2, р2 +Рз =0,2 + 0,05 = 0,25, а затраты на ре- ремонт первого и второго узла составляют соответственно 8 и 4 ден. ед., вычислим чистый средний доход в единицу времени: Д1=0,8-10 + 0,75-6-0,2-8-0,25-4 = 9,99 ден. ед. Так как Д\ больше Д (примерно на 20%), то экономическая целесо- целесообразность ускорения ремонта узлов очевидна. 10.4. Процесс размножения и гибели В теории массового обслужива- обслуживания широкое распространение имеет специальный класс случайных про- процессов— так называемый процесс размножения и гибели. Название этого процесса связано с рядом за- задач, которые описывают динамику Рассматриваемый в СМО про- процесс размножения и гибели харак- характеризуется тем, что если все со- состояния системы пронумеровать So, Sh ..., Sm то из состояния Sk (к<п) можно попасть либо в со- состояние Sk.j либо в состояние Sk+J. биологических популяций. Граф состояний процесса размножения и ги- гибели имеет вид, представленный на рис. 10.3. So a,, A,, %3 Ч \,k * ... » hi 4,k-\ sk %к+\ Рис. 103 271
Рассмотрим упорядоченное множество состояний системы Sq,S\,S2,.-.,Sic.Переходы могут осуществляться из любого состояния только в состояние с соседним номером, т.е. из состояния 5^ возмож- возможны только переходы в состояние S^i или S^+j. Будем полагать, что все потоки событий простейшие, с соответствующими интенсивностя- ми Л^+i или Я^+1д. По графу состояний на рис. 10.3 сформируем систему уравнений для предельных вероятностей состояний. В соответ- соответствии с правилами составления таких уравнений для состояния Sq по- получим A0.26) Для состояния S\ соответствующее уравнение имеет вид:(Я12 +A10)/?i =Ло1/?о + *2\Р2 • Это уравнение с учетом A0.26) преобразуется к виду A0.27) Аналогично, записывая уравнения для предельных вероятностей дру- других состояний, получим следующую систему уравнений Л]2р\ =. , , A0.28) ^Ir—1 lr VV—\ = A,L Li\ Dh к которой добавляется условие -РО "*" Л "*" -Р2 "**"" "^" J^« = ^ • A0.28.1) Решая систему A0.28)-A0.28.1), получим -1 A0.29) Р\ = — Ро,Р2 =::1?:жР0>->Рп =-^^ 1±-^-/>о- (Ю-30) 272
Можно заметить, что в формулах A0.30) для р\, Р2, р^,..., рп коэф- коэффициенты при р есть слагаемые, стоящие после единицы в формуле A0.29). Числители этих коэффициентов есть произведение всех интен- сивностей, стоящих у дуг графа, ведущих справа налево до состояния V Пример. Процесс гибели и размножения представлен графом состоя- состояния на рис. 10.4. Найти предельные вероятности состояний. So % 2 *3 s2 Рис. 10.4 По формуле A0.29) найдем = 1 + — + V 4 3-4 Используя формулу A0.30), получим -1 = 0,706. рх = 1о, 706 = 0,176, р\= — 0,706 = 0,118, 4 3-4 т.е. в установившемся стационарном режиме в среднем 70,6% времени система будет находиться в состоянии 5о,17,6%— в состоянии S\9 и 11,8% — в состоянии #2. 10.5. Системы с отказами Формулы Эрланга позво- позволяют определять предельные вероятности состояния через интенсивности нагрузки ка- канала для многоканальной СМО с отказами. В качестве показателей эффективно- эффективности СМО с отказами будем рассматри- рассматривать: А — абсолютную пропускную спо- способность СМО, т.е. среднее число заявок, обслуживаемых в единицу вре- времени. Q — относительную пропускную способность, т.е. среднюю долю пришедших заявок, обслуживаемых системой; Ротк — вероятность отказа, т.е. того, что заявка покинет СМО необслуженной; к — среднее число занятых каналов (для много- многоканальной системы). 273
Одноканальная система с отказами. Рассмотрим следующую задачу. Пусть имеется один канал, на который поступает поток заявок с интенсив- интенсивностью Я. Поток обслуживания имеет интенсивность ju . Найти предель- предельные вероятности состояний системы и показатели ее эффективности. Система S имеет два состояния: So — канал свободен, S\ — канал занят. Размеченный граф состояний представлен на рис. 10.5. So Я Si Рис. 10.5 В предельном стационарном режиме система алгебраических уравне- уравнений для вероятностей состояний имеет вид Up0 = A0.31) т.е. система вырождается в одно уравнение. Учитывая, что р$ + р^ = 1, найдем из A0.31) предельные вероятности состояний A + ju A0.32) которые выражают среднее относительное время пребывания системы в состоянии iSq (когда канал свободен) и S\ (когда канал занят), т.е. опре- определяют соответственно пропускную способность Q системы и вероят- вероятность отказа Ротк. "отк — /л + А А отк я+, A0.33) A0.34) Абсолютную пропускную способность найдем, умножив относитель- относительную пропускную способность на интенсивность потока отказов А = - A + ju 274
Пример. Пусть заявки на телефонные переговоры в телевизионном ателье поступают с интенсивностью Я равной 90 заявок в час, а средняя продолжительность разговора по телефону То^ = 2 мин. Определить по- показатели эффективности работы СМО (телефонной связи) при наличии одного телефонного номера. В данной задаче Я = 90A/ч), То$ = 2 мин. Интенсивность потока обслуживания = — = - = 0,5 A/мин) = го6 2 30A/час). Используя формулу A0.33), получим, что относительная про- пропускная способность СМО Q = 30(90 + 30) = 0,25, т.е. в среднем только 25 % поступивших заявок осуществляет переговоры по телефону. Соот- Соответственно вероятность отказа в обслуживании согласно A0.34) составит Ротк = 0Л5. Абсолютная пропускная способность СМО составит: А = 90 • 0,25 = 22,5, т.е. в среднем в час будут обслужены 22,5 заявки на переговоры. Очевидно, что при наличии одного телефонного номера СМО будет пло- плохо справляться с потоком заявок. Пример. Рассмотрим классическую задачу Эрланга. Имеется п кана- каналов, на которые поступает поток заявок интенсивности Я. Поток обслу- обслуживания имеет интенсивность ju. Найти предельные вероятности со- состояний системы и показатели ее эффективности. Система S (СМО) имеет следующие состояния (нумеруем их по чис- числу заявок, находящихся в системе): So, S\, S2,..., S^,..., Sn : Здесь Sfc, — состояние системы, когда в ней находится к заявок, т.е. занято к каналов. Граф состояний СМО, соответствующий процессу гибели и размно- размножения на рис. 10.6. So Я м Si я * Я Я j 3// *// Рис. 10.6 Поток заявок переводит систему из любого левого состояния в сосед- соседнее правое. Интенсивность потока обслуживания наоборот переводит систему из любого правого состояния в соседнее левое. Действительно, если СМО находится в состоянии *^2 (два канала заняты), то она может перейти в состояние S\ (один канал занят), когда закончит обслуживание 275
либо первый, либо второй канал. Аналогично для любого из состояний S3,...,Sn. Для этой задачи в стационарном режиме Эрлангом были найдены следующие зависимости. 1. Вероятность того, что обслуживанием заняты к каналов: Р,= Ь_,* = 0,1,...,и, (Ю.35) К П 1 1г k=0kl к Я 7 где р = —;Я —плотность потока заявок; И п — число каналов (приборов); /л = — параметр обслуживания одним прибором (каналом). го6с 2. Частными случаями A0.35) будут: а) вероятность того, что все обслуживающие приборы свободны: ро=—Ц-; 00.36) б) вероятность того, что все приборы заняты. Это одновременно и вероятность отказа в обслуживании вновь поступившего требова- требования в систему Р = nl . =pn—. A0.37) отк п к у0 п\ v . > У — 3. Среднее число приборов, занятых обслуживанием 4. Коэффициент загрузки приборов 276
5. Среднее число каналов, свободных от обслуживания, 6. Коэффициент простоя каналов Кп = ——. Очевидно N3 + Nq =п . п Несмотря на то что эти зависимости выведены Эрлангом при условии, что время обслуживания распределено экспоненциально, другими иссле- исследователями, в частности Форте и Б. А. Севастьяновым, доказана спра- справедливость формул Эрланга для произвольного абсолютно непрерывного закона распределения обслуживания (при условии конечности его мате- математического ожидания). Эти выводы позволяют значительно расширить рамки применимости формул Эрланга. Пример. Оценить работу АТС, которая имеет и = 5 линий связи. Предполагаем, что поток требований: простейший с интенсивностью Я = 2 вызова/ед. времени. Продолжительность разговоров распределена экспоненциально, причем Т0^с = 1 ед. времени. Решение. Определим коэффициент загрузки р = XI ju = Ato6c = 2 .Вероятность того что все линии связи свободны, Вероятность отказа в обслуживании />„ =0,138-« 0,037. Среднее число занятых линий связи 5 ( 21 22 23 24 25) N* = S *Р, =\ Ь —+ 2- —+ 3- —+ 4- —+ 5-— \р. =1,93 линий. 3 ?о * [ 1! 2! 3! 4! 51J1 Коэффициент загрузки линий связи к -ILL = hll = о, 386 « 0,39. п 5 277
Среднее число свободных линий связи #0=1 (n-k)pk = Z E-к)^-ро= 3,05. к=\ к=\ kl Коэффициент простоя равен: 10.6. Системы массового обслуживания с ожиданием В одноканальной СМО с В качестве показателей эффективно- эффективности СМО с ожиданием, кроме показате- неограниченной очередью ее- ^ ^ „ . ли среднее число заявок, при- леи абсолютной А и относительной ходящих в единицу времени меньше среднего числа заявок, обслуженных за это время, то предельные вероятности су- налов * (Для многоканальной системы), шествуют. пропускной способности, вероятности отказа Ротк, среднего числа занятых ка- будем рассматривать также следующие: Lcucm — среднее число заявок в систе- системе; Тсист — среднее время пребывания заявки в системе L04 — среднее число заявок в очереди (длина очереди); Точ — среднее время пребыва- пребывания заявки в очереди; Рзан — вероятность того, что канал занят (степень загрузки канала). Одноканальная система с неограниченной очередью. На практике часто встречаются одноканальные СМО с неограниченной очередью (например, телефон-автомат). Рассмотрим следующую задачу. Имеется одноканальная СМО с очередью, на которую не наложены никакие огра- ограничения (ни по длине очереди, ни по времени ожидания). Поток заявок, поступающий в СМО, имеет интенсивность Я, а поток обслуживания — интенсивность /л. Необходимо найти предельные вероятности состоя- состояний и показатели эффективности СМО. Система может находиться в одном из состояний Sq, S\, 52,..., S^ по числу заявок, находящихся в СМО: 5q — канал свободен, S\ — ка- канал занят (обслуживает заявку), очереди нет, ^2 —канал занят, одна заявка стоит в очереди ..., SK — канал занят, (к-1) заявок стоят в оче- очереди и т.д. 278
Граф состояний СМО представлен на рис. 10.7. А | 1 /t | 1 А А So Рис. 10.7 Это процесс гибели и размножения, но с бесконечным числом со- состояний, в котором интенсивность потока заявок равна Я, а интен- интенсивность потока обслуживания ju . Пусть р есть отношение среднего числа приходящих заявок к среднему числу обслуживаемых заявок (в единицу времени). Доказано следующее утверждение: если р<1, то предельные вероятности существуют; если р > 1, то очередь растет до бесконечности. Для определения предельных вероятностей состояний применим формулы A0.29), A0.30) для процесса размножения и гибе- гибели — I +• к -I +¦ -1 A0.38) Так как предельные вероятности существуют только при р < 1, то геометрический ряд со знаменателем р < 1, записанный в скобках в 1 формуле A0.38), сходится к сумме равной Поэтому \-р A0.39) С учетом формулы A0.30) р{=р pQ;p2 =p pQ;...,ps =pe Найдем предельные вероятности других состояний Р\ = РО-Р); Р2 = Р20-Р),-,РК = Рк0 ~Р)- A0.40) Предельные вероятности рц, р\, р2,..., р^,... образуют убывающую геометрическую прогрессию со знаменателем р < 1, следовательно, ве- 279
роятность pq наибольшая. Это означает, что если СМО справляется с потоком заявок (при р<\), то наиболее вероятным будет отсутствие заявок в системе. Среднее число заявок в системе Lcucm определим по формуле мате- математического ожидания, которая с учетом A0.40) примет вид W«=I*P* =0-^I */>*• 00.41) Можно показать, что формула A0.41) преобразуется (при р< 1) к ви- ДУ Найдем среднее число заявок в очереди Ьоч. Очевидно, что A0.43) где 10? — среднее число заявок, находящихся под обслуживанием. Среднее число заявок под обслуживанием определим по формуле математического ожидания числа заявок под обслуживанием, при- принимающем значение 0 (если канал свободен) либо 1 (если канал за- занят): т.е. среднее число заявок под обслуживаем равно вероятности того, что канал занят: Lo6 =Рзан =1~Р0- В силу того что pq = 1 - р получили Lo6=P3aH=P- (Ю.44) Далее по формуле A0.43) с учетом A0.42) и A0.44) получили ? A0.45) L04. 1-р Доказаны следующие утверждения: при любом характере потока зая- заявок, при любом распределении времени обслуживания, при любой дис- 280
циплине обслуживания среднее время пребывания заявки в системе (очереди) равна среднему числу заявок в системе (очереди), деленному на интенсивность потока заявок, т.е. Теист =jLcucm> О0'46) T04=-L04. A0.47) Формулы A0.46) и A0.47) называются формулами Литтла. Они вытекают из того, что в предельном стационарном режиме среднее число заявок, прибывающих в систему, равно среднему числу заявок, покидающих ее: оба потока заявок имеют одну и ту же интенсивность Я. На основании формулы A0.46) и A0.47) с учетом A0.40) и A0.44) среднее время пребывания заявки в системе определяется по форму- формуле A0.48) Л(\-р)9 а среднее время пребывания заявки в очереди: Пример. В порту имеется один причал для разгрузки судов. Интен- Интенсивность потока судов равна 0,4 судов в сутки. Среднее время разгрузки одного судна составляет двое суток. Предполагается, что очередь может быть неограниченной длины. Найти показатели эффективности работы причала, а также вероятность того, что ожидают разгрузки не более чем 2 судна. Для решения этой задачи заметим, что р = - = Я/об=0,4.2 = 0,8. Так как р = 0,8 < 1, то очередь на разгрузку не может бесконечно воз- возрастать и предельные вероятности существуют. Найдем их. Вероятность того, что причал свободен, как было показано ранее, /7q =1 — р = 1 — 0,8 = 0,2, а вероятность того, что он занят Рзан =1-0,2 = 0,8. 281
По формуле A0.39) вероятности того, что у причала находятся 1,2,3 судна (т.е. ожидают разгрузки 0,1,2 судна) равны = 0,83A-0,8) = 0,1024. Вероятность того, что ожидают разгрузки не более чем 2 судна равна По формуле A0.45) среднее число судов, ожидающих разгрузки А>ч =0,82/A-0,8) = 3,2. Среднее время ожидания разгрузки вычисляется по формуле A0.47): Точ =3,2/0,8 = 4 (суток). По формуле A0.41) среднее число судов, находящихся у причала, Lcucm = 0-8/A -0,8) = 4 (суток), а среднее время пребывания судна у причала вычисляется по формуле A0.46) Тсист = 4:0,8 = 5 суток. Очевидно, что эффективность разгрузки судов невысокая. Для ее по- повышения необходимо уменьшение среднего времени разгрузки судна 70б либо увеличение числа причалов и. Многоканальные СМО с неограниченной очередью. Рассмотрим следующую задачу. Имеется «-канальная СМО с неограниченной очере- очередью. Поток заявок, поступающих в СМО, имеет интенсивность X, а по- поток обслуживания — интенсивность /л . Необходимо найти предельные вероятности состояний СМО и показатели ее эффективности. Система может находиться в одном из состояний Sq,Si,S2,..',S/c, ...,5Я,...,нумеруемых по числу заявок, находящихся в СМО: Sq — в системе нет заявок (все каналы свободны), S\ — канал занят, S2 — за- заняты два канала, остальные свободны, ..., SK — занято к каналов, ос- остальные свободны, ..., Sn — заняты все п каналов (очереди нет); Sn+r — заняты все п каналов, г заявок в очереди. Рассмотрим граф состояний этой системы (рис. 10.8). Отметим, что в отличие от предыдущей ситуации, интенсивность по- потока обслуживания (переводящего систему из одного состояния в другое справа налево) не остается постоянной, а по мере увеличения числа зая- заявок в СМО от 0 до п увеличивается от величины /л до величины п/л, так 282
как соответственно увеличивается число каналов обслуживания. Когда число заявок в системе больше п, интенсивность потока обслуживания сохраняется равной п/и. So Я 5, * 2ц s2 Л пц S. Л п/и л л 3ju к/и Л Л (к + \)ц п/л п/л л л// Рис. 10.8 Можно доказать, что если отношение р/п < 1, предельные вероятно- вероятности существуют. В том случае, когда р/п > 1, очередь неограниченно растет. Используя формулы A0.21), A0.22) для процесса размножения и ги- гибели, получим формулы для предельных вероятностей состояний п- канальной СМО с неограниченной очередью Р0 +1!+ 2! +"'+ п\ + п\(п-р) Р Р\ =— 1! Рк РП =-ггРо>'">Рп =—т к: п\ Рп+\ = пгп\ Ро- A0.50) A0.51) A0.52) Вероятность того, что заявка окажется в очереди (п-р)-п\ Ро- A0.53) Для «-канальной СМО с неограниченной очередью, используя преж- прежние приемы, можно найти: среднее число занятых каналов г я к = — = А A0.54) 283
среднее число заявок в очереди L04= рП+1р°о, (Ю.55) «•«!A-Я2 п среднее число заявок в системе L04+p. A0.56) Среднее время пребывания заявки в очереди и среднее время пребы- пребывания заявки в системе вычисляются по формулам Литтла A0.47) и A0.48). Отметим, что для систем с неограниченной очередью при р < 1 лю- любая заявка, пришедшая в систему, будет обслужена, т.е. вероятность от- отказа Ротк = 0, относительная пропускная способность Q = 1, а абсолют- абсолютная пропускная способность равна интенсивности входящего потока заявок, т.е. А = Л . Пример. В супермаркете к расчетному центру поступает поток поку- покупателей с интенсивностью Я = 81 человек в час. Средняя продолжитель- продолжительность обслуживания контролером-кассиром одного покупателя равно 70б = 2 мин. Определить: 1) минимальное количество контролеров-кассиров пт[п при котором очередь не будет расти до бесконечности, и соответствующие харак- характеристики обслуживания при п = пт[п; 2) оптимальное количество попт контролеров-кассиров, при котором относительная величина затрат Сотн, связанная с издержками на со- содержание каналов обслуживания и с пребыванием в очереди покупа- покупателей, задаваемая, например, как Сотн =—п + ЗТ0Ч , будет минималь- на, и сравнить характеристики обслуживания при п = rcmjn и 3) вероятность того, что в очереди будет не более трех покупателей. Решение. 1. По условию Я = 81A/ч) = 81/60 = 1,35A/лш«). По форму- формуле A0.29) р = XI 1л = ЛТоб = 1,35 • 2 = 2,7. Очередь не будет возрастать до бесконечности при условии, что р/п<\, т.е. при и > р = 2,7 . Таким об- образом, минимальное количество кассиров пт[п = 3 . 284
Найдем характеристики обслуживания СМО при п = 3. Вероятность того,что в центре расчета будет очередь по A0.53): Роч = B,7 / 3 !C - 2,7)) • 0,025 = 0,735; среднее число покупателей, нахо- находящихся в очереди по A0.55): 10Ч = B,7/3-3!A-2,7/3J)-0,025 = 7,35; среднее время ожидания в очереди по A0.47): Точ= 7,35/1,35 = 5,44 мин; среднее число покупателей в узле расчета по A0.56): исист = 7,35 + 2,7 = 10,05; среднее время нахождения покупателей в центре расчета по A0.46): Тсист =Ю,05 /1,35 = 7,44 мин; среднее число контролеров-кассиров, занятых обслуживанием покупате- покупателей, по A0.54) равно 2,7; коэффициент (доля) занятых обслуживанием контролеров-кассиров: *з = р/л = 2,7/3 = 0,9. Абсолютная пропускная способность узла расчета А = 1,3 5A/мин) или 81A /час), т.е. 81 покупатель в час. Анализ характеристик обслуживания свидетельствует о значительной перегрузке узла расчета при наличии трех контролеров-кассиров. 1. Относительная величина затрат при п = 3 = 3/1,35 + 3-5,44 = 18,54. Рассчитаем относительную величину затрат при других значениях п. Таблица. ЮЛ Характеристика обслуживания Вероятность простоя контролеров-кассиров Ро Среднее число покупателей в очереди точ Относительная величина затрат сотн Число контролеров-кассиров 3 0,025 5,44 18,54 4 0,057 0,60 4,77 5 0,065 0,15 4,14 6 0,067 0,03 4,53 7 0,067 0,01 5,22 285
Как видно из табл. 10.1, минимальные затраты получены при п = попт = 5 контролерам-кассирам. Определяя характеристики обслуживания расчетного центра при п = попт = 5 получили: Роч = 0,091; 10Ч = 0,198; Точ = 0,1Щмин); Lcucm = 2990\Tcucm = 2,\5(мин);к=2,1;к3 =0,54. Из приведенных расчетов видно, что при п = 5 по сравнению с п = 3 существенно уменьшились вероятность возникновения Роч, длина оче- очереди L04 и среднее время пребывания в очереди Точ и, соответственно, среднее число покупателей Lcucm и среднее время нахождения в центре расчета Тсист, а также доля занятых обслуживанием контролеров к3. Но среднее число занятых обслуживанием контролеров-кассиров к и аб- абсолютная пропускная способность расчетного центра не изменились. 2. Вероятность того, что в очереди будет не более 3-х покупателей, оп- определяется следующим образом: = р1 +р2 +Рз +Р4 +Р5 +Р5+1+Р5+2+Р5+3 = = 1 - Роч + /?5+1 + Р5+2 где каждое слагаемое найдем по формулам A0.50)-A0.53). При этом получим при п = 5 2 76 2 76 2 77 Р(г<3) = \ 0,065 + -^ 0,065 + -V-- 0,065 + 5!E-2,3) 5-5! 525! 2 78 +^—•0,065 = 0,986. 535! Пример. На железнодорожной станции касса с двумя окошками про- продает билеты в два пункта А и Б. Интенсивность потока пассажиров, же- желающих купить билеты для обоих пунктов, одинаковы Л^ = Я^ = 0,45 (пассажиров в минуту). На обслуживание пассажиров кассир в среднем тратит 2 мин. При этом могут быть два варианта продажи билетов: в первом случае билеты продаются в каждом окошке и в пункт А, и в пункт Б; во втором случае билеты в окошке продают только в пункт А, а во втором только в пункт ?. Необходимо: 1) сравнить два варианта продажи по основным характеристикам об- обслуживания; 286
2) определить, как надо изменить среднее время обслуживания одного пассажира, чтобы по второму варианту продажи билетов пассажиры затрачивали на приобретение билетов времени в среднем меньше, чем по первому варианту. Решение. 1. По первому варианту имеем 2-канальную СМО, на которую по- поступает поток заявок интенсивности Я = 0,45+ 0,45 = 0,90, интен- интенсивность потока обслуживания // = l/2;p = A//i = l,8. Так как — = 1,8/2 = 0,9< 1, то предельные вероятности существуют. Вероят- п ность простоя двух кассиров по A0.50): р = fi + l»*+i»*l + ^ ) =0,0526; F0 { 1! 2! 2!B-l,8)J среднее число пассажиров в очереди по A0.55): 10Ч =1,83/2-2!A-1,8/2)-0,0526 = 7,67; среднее число пассажиров у кассы по A0.56): =7,67 + 1,8 = 9,47; среднее время на ожидание в очереди и покупку билетов равно соответ- соответственно по формулам A0.47) и A0.46)): Точ =7,67/0,9 = 8,52(лши) и Тсисгп =9,47/0,9 = 10,5(мин). По второму варианту имеем две одноканальные СМО (два специали- специализированных окошка); на каждую поступает поток заявок с интенсивно- интенсивностью Я = 0,45. По прежнему /л = 0,5; р = XI ju = 0,9 <1, предельные ве- вероятности существуют. По формулам A0.45), A0.41), A0.47), A0.46) получим: 10Ч =0,92 /A-0,9) = 8,1; Lcucm =0,9A-0,9) = 9,0; Точ = 8,1 / 0,45 = 18,0(мии); Тсиап = 9,0 / 0,45 = 20,0(мин). Таким образом, по второму варианту увеличились и длина очереди, и среднее время ожидания в ней в целом на покупку билетов. Такое разли- различие объясняется тем, что в первом варианте (двухканальная СМО) мень- меньше средняя доля времени, которую простаивает каждый из двух касси- кассиров: если он не занят обслуживанием пассажира, покупающего билет в 287
пункт А, он может заняться обслуживанием пассажира, покупающего билет в пункт 2>, и наоборот. Во втором варианте такой взаимозаменяе- взаимозаменяемости нет. Можно заметить, что среднее время на покупку билета по второму варианту увеличилось более чем в 2 раза. Такое значительное увеличение связано с тем, что система массового обслуживания работает на пределе своих возможностей (р = 0,9), т.е. достаточно незначительно увеличить среднее время обслуживания t0^, т.е. уменьшить /л , и р ста- станет больше 1, т.е. очередь начнет неограниченно расти. 2. Ранее мы получили, что по первому варианту продажи билетов при среднем времени обслуживания одного пассажира То^ = 2{мин) сред- среднее время на покупку билетов составит Тсист =10,5. По условию для второго варианта продажи Тсист < Тсист или с уче- учетом A0.41) и A0.46): Полагая, что р- — - ЯТ0^, получили — _ < Тсист , откуда найдем Тсист Ю 5 - < *— или / - < = 1 83(лш«). \ + М об 1 + 0,45-10,5 Таким образом, средние затраты времени на покупку билетов по второму варианту продажи уменьшается, если среднее время обслуживания одного пассажира уменьшится более чем на 0,17 мин, или более чем на 8,5%. СМО с ограниченной очередью. Эти системы отличаются от рас- рассмотренных лишь тем, что число заявок в очереди ограниченно, т.е. не может превосходить некоторого числа т . Если в очередь поступает т +1 заявка, она покидает систему необслуженной, т.е. получает отказ. Для вычисления предельных вероятностей состояний и показателей эф- эффективности таких СМО может быть использован уже показанный подход. Разница будет заключаться в том, что суммировать надо не бесконечную про- прогрессию, а конечную. Соответствующие формулы рассмотрим в табл. 9.2,9.3. Среднее время пребывания заявки в очереди и в системе, как и ранее, определим по формулам Литтла A0.49), A0.48). В условиях задачи о разгрузке судов определим показатели эффектив- эффективности работы причала. Известно, что приходящее судно покидает причал (без разгрузки), если в очередь на разгрузку стоит более 3-х судов. 288
Решение. По условию т = 3. Используем формулы, приведенные в табл. 10.2. Вероятность того что причал свободен, 1-0,6 i>3+2 = 0,297. l-0,8J Вероятность того что приходящее судно покинет причал без разгрузки, Р =0 83+* • 0 297 = 0 122 Относительная пропускная способность причала: 6 = 1-0,122 = 0,878. Таблица 10.2 Показатели обслуживания Предельные вероятности Вероятность отказа Абсолютная пропускная способность Относительная пропускная способность Среднее число заявок в очереди Среднее число заявок под обслуживанием (среднее число занятых каналов) Среднее число заявок в системе Одноканальная система массового об- обслуживания с ограниченной очередью Po=i-Pm+iPl РР0' Ротк ~ Рт+Х = Рт Р0 A = XQ = A(X-pm+lp0) Q = X-PomK=X-pm+lp0 2 1°ч р 1- рт(т + \-тр) (Х-рт+2)(Х-р) Lo6^~ Р0 Lcucm = Кч + Кб Абсолютная пропускная способность причала: ^ = 0,4-0,878 = 0,351. Среднее число судов, ожидающих разгрузки: 0,82[l-0983 C + 1-3-0,8I = 0,861. (l-0,83+2)(l-0,8) Среднее время ожидания разгрузки вычислим по A0.47): 1 оч 0,8 10 Исследование операций 289
Среднее число судов, находящихся у причала: исист = 0,861+ A-0,297) = 1,564. Среднее время пребывания судна у причала вычислим и с использо- использованием формулы A0.46): 1 сист 1,564 0,8 = 1,955 суток. Таблица 10.3 Показатели обслуживания Предельные вероятности Вероятность отказа Абсолютная пропускная способ- способность Относительная пропускная способность Среднее число заявок в системе Среднее число заявок под обслужива- обслуживанием (среднее число занятых каналов) Среднее число заявок в системе Многоканальная система массового обслуживания с ограниченной очередью Ро- Рп+\ " 1! ? [Р\рпЛх-рД' ' «1 ' пп\(\-Р/п) , =zp ,...,„ =z, A! w a?! Рп+Г \г-\ >Pn+r~ r РО п п\ -1 •о D ., Р готк Рп+т т РО ( Рп+т ) А™ п+т 1 Р D отк 1 „ РО Пт п\ ( f г Г, Рп+т } L'cucm = **оч "*" *¦ Системы массового обслуживания с ограниченным временем ожидания. На практике часто встречаются системы с ограниченным временем ожидания, к числу которых относятся, городские транспорт- транспортные системы, в которых пассажиры ожидают транспортного обслужива- обслуживания данным транспортным средством ограниченное время, а далее могут предпочесть другой вид транспорта, технологические системы, в кото- которых длительное ожидание обработки сырья приводит к потере качества 290
продукции в системах оперативного управления, когда важна срочность передачи информации и т.д. В простейших математических моделях таких систем предполагается, что заявка может находиться в очереди случайное время, распределенное по показательному закону с некоторым параметром У, т.е. можно счи- считать, что каждая заявка, стоящая в очереди на обслуживание, может по- покинуть систему с интенсивностью У . Соответствующие результаты показателей эффективности системы получаются на базе результатов, полученных для процесса гибели и раз- размножения. Кроме рассмотренных систем обслуживания, существуют еще замкнутые системы, у которых входящий поток существенно зависит от состояния самой СМО. Для замкнутых СМО характерно ограни- ограниченное число источников заявок, причем каждый источник блокиру- блокируется на время обслуживания его заявки (т.е. он не выдает новых зая- заявок). Примером может служить ситуация городского парка автобуса, куда поступают на ремонт неисправные транспортные средства с мест эксплуатации. В этом случае чем больше автобусов находятся в со- состоянии ремонта, тем меньше автобусов эксплуатируются и тем меньше их интенсивность поступления для ремонта. В таких системах при конечном числе состояний СМО предельные вероятности будут существовать при любых значениях интенсивностей потоков заявок и обслуживании. 10.7. Основы статистического моделирования Рассмотренные ранее методы анализа СМО корректны в том случае, когда все потоки событий, переводящие их из состояния в состояние, яв- являются простейшими. При нарушении этих требований аналитических методов для таких систем, как правило, не существует. В этой ситуации используют универсальный метод статистического моделирования или, как он еще называется, метод Монте-Карло. Основа этого метода состоит в том, что вместо аналитического опи- описания обслуживающей системы с помощью датчика случайных чисел производится имитация случайного процесса. В результате этого получается каждый раз новая, отличная от преды- предыдущих реализация случайного процесса. Эти реализации можно исполь- использовать как статистические данные, которые могут быть обработаны ме- методами математической статистики. 291
После того как такая обработка произведена, могут быть получены приближенно любые характеристики обслуживания. Пусть, например, необходимо проанализировать очереди, возникаю- возникающие в магазине для решения вопроса о расширении магазина. Будем предполагать, что интенсивность поступления покупателей и время их обслуживания носит случайный характер, и их распределения могут быть установлены по имеющейся информации. Применяя метод статистического моделирования с помощью компь- компьютера, перебирают различные возможные состояния системы с разными интенсивностями, поступления покупателей, временем их обслуживания, и т.п., сохраняя те же характеристики распределения. В результате мно- многократной имитации работы магазина рассчитывают характеристики об- обслуживания, так же как если бы они были получены при наблюдении за реальными потоками покупателей. Таким образом, при моделировании случайных процессов, которые не являются простейшими, достаточно эффективно может быть использо- использован метод Монте-Карло. 10.8. Практическое применение теории массового обслуживания Практическое применение теории массового обслуживания предпола- предполагает: 1) выбор подходящей математической модели, адекватно представляю- представляющей реальную систему; 2) внедрение полученных результатов на конкретном объекте. При выборе той или иной модели массового обслуживания от иссле- исследователя требуется понимание возможности ее применения в реальной ситуации. Необходимо исследовать ограничения, в рамках которых при- применимы результаты теории массового обслуживания с тем, чтобы содер- содержащиеся в моделях упрощающие предположения относительно функ- функционирования конкретных реальных систем не были слишком грубыми и, таким образом, чтобы весь процесс моделирования не оказался некор- некорректным. После выбора модели массового обслуживания важно правильно ис- использовать результаты моделирования для конструирования или усо- усовершенствования конкретной обслуживающей системы, для чего в ряде случаев функционирования системы может потребоваться оптимизаци- оптимизационная модель. 292
В экономических системах массового обслуживания часто превали- превалирует стоимостный фактор. Эти модели массового обслуживания направ- направлены на определение такого уровня функционирования СМО (который задается либо скоростью обслуживания, либо числом обслуживающих приборов), при котором достигается «компромисс» между двумя показа- показателями: 1) прибылью, получаемой за счет оказанных услуг; 2) потерями прибыли, обусловленной задержками в предоставлении ус- услуг. Первый показатель ассоциируется со степенью функциональной ак- активности системы, а второй — с пребыванием обслуживающей системы в состоянии простоя или с неспособностью системы удовлетворить все потребности в обслуживании. Исходя из соображений здравого смысла, понятно, что увеличение функциональной мощности СМО должно привести к сокращению вре- времени пребывания клиентов в очереди. Это означает, что по мере того как затраты, связанные с обслуживанием, возрастают из-за повышения уров- уровня обслуживания, выраженные в экономических терминах потери, свя- связанные с ожиданием, должны уменьшаться. Естественно, справедливо и обратное утверждение. На рис. 10.9 изображены графически функции уровня обслуживания. А Стоимостный показатель Уровень обслуживания Рис. 10.9 Здесь кривая А задает стоимость ожидания; В — стоимость обеспече- обеспечения функционирования обслуживающей системы; Б — суммарный стои- стоимостный показатель; М— оптимальный уровень обслуживания. Из рассмотренных двух стоимостных показателей труднее всего ко- количественно оценить «цену» ожидания. Эта проблема особенно ощути- 293
ма, когда в качестве клиента выступает человек, интересы которого не совпадают с интересами обслуживающей системы. Так, например, слиш- слишком длительное ожидание в очереди в продовольственном магазине мо- может привести к тому, что покупатели откажутся от услуг данного мага- магазина, при этом потерю прибыли магазина в этом случае оценить непросто. Если же в качестве объектов обслуживания выступают станки, ожидающие ремонта, то здесь экономический ущерб можно связать с не- довыпущенной продукцией. В этом случае, естественно, потери оценить легче. Таким образом, учитывая особенности стоимостных моделей массо- массового обслуживания можно сделать вывод, что практическая реализация затруднена по причине сложности учета стоимости экономических по- потерь, связанных с ожиданием процесса обслуживания. В некоторых слу- случаях преодолеть эти трудности помогает метод предпочтительного уров- уровня обслуживания, изложенный в [25].
Глава 11 МОДЕЛИ УПРАВЛЕНИЯ ФИРМОЙ Вэтой главе исследованы различные модели управления фирмой, ис- используемые для периода переходной экономики, связанного с проведе- проведением рыночных реформ. Характерным для этого периода является с одной стороны оценка деятельности фирмы с точки зрения получаемой прибыли (валовой, ба- балансовой, чистой и т.д.) или динамики роста курсовой стоимости акций фирмы, а с другой — появление таких атрибутов переходной экономики, как: высокий темп инфляции, дефицит материальных, финансовых, сырьевых и других видов ресурсов, несовершенство законодательства, неразвитость банковского сектора экономики и т.д. Вследствие этого возрастает роль учета неопределенности и рисков при анализе той или иной экономической ситуации. Как отмечается в [13], неопределенность часто интерпретируется как неудача (неуспех) предсказать поведение некоторой системы на базе предполагаемых законов ее функционирования и доступной информации о начальном состоянии. Таким образом, неопределенность ситуации — это прежде всего информационная неопределенность, т.е. отсутствие или неполнота информации о возможных состояниях системы, внешней сре- среде, значениях входных параметров и т.д. Вследствие этого в рассматри- рассматриваемых моделях предлагается один из подходов анализа неопределенно- неопределенности, связанный с исследованием устойчивости моделей. Такой анализ чаще всего связан с оценкой изменения выходных параметров модели при локальном изменении входных данных в заданном диапазоне или по заданному закону. 11.1. Модель оптимизации объемов закупок торгово-коммерческой фирмы 11.1.1. Постановка задачи и метод решения. Рассмотрим задачу формирования портфеля о+птовых закупок товаров торгово- коммерческой фирмы. Пусть на оптовой базе фирма может приобрести товары п видов (или товары множества N), минимальный объем покупки 295
которых составляет v, единиц, а максимальный— Vt{i- 1,..., ri). Цена оптовой покупки товара i составляет ах рублей за единицу, а цена прода- продажи этого товара в розницу — Д рублей (а,- < Д; / = 1,..., и). Пусть объем свободных финансовых средств на временном интервале [0, 7] составляет величину F. Необходимо приобрести такие виды товаров, которые после перепродажи в розничной торгов- торговле максимизировали бы доход к момен- моменту времени Г, т.е. покупатель, имея первоначально сумму денег F, хотел бы максимизировать прирост этой суммы AF, полученной после рознич- розничной продажи товаров, приобретенных оптом в начале периода [0, 7]. Рассмотрим формализованную постановку данной задачи. Обозначим через ki =Vi/ v, — количество партий товара /. Необходимо максимизировать функцию При формировании портфе- портфеля оптовых закупок необходимо учитывать не только разницу в оптовой и розничной цене, но и интенсивность продаж по каж- каждому виду товара. п max при ограничениях п I 1=1 F, <х, <к{; х{ el, isl,n, A1.1) A1.2) A1.3) A1.4) Здесь ограничение A1.2) лимитирует объем используемых финансо- финансовых ресурсов; ограничение A1.3) говорит о том, что количество куплен- купленного оптом товара не должно быть больше чем объем Vh В ограничении A1.4) Qf (r) задает интенсивность реализации товара, т.е. оно свидетельствует о том, что закупать товара больше, чем его воз- возможно продать на интервале времени [0, 7] — нецелесообразно в рамках рассматриваемой постановки задачи. Рассмотрим алгоритм решения поставленной задачи, используя тра- традиционную схему метода ветвей и границ. Шаг 1. Вычисление верхней оценки оптимального решения задачи A1.1)-A1.4). Для вычисления верхней оценки целевой функции A) Se не 296
будем учитывать ограничения на то, что при оптовой покупке товары должны приобретаться партиями объема vt (/= 1,..., л), считая, что их можно купить в любом объеме. В дальнейшем предположим, что товары пронумерованы в порядке убывания величины — (/= 1, ...,«). Тогда стратегия формирования оптимального портфеля оптовых закупок будет состоять в том, что необходимо сначала купить максимально возможное 1 количество товара первого вида (но не больше чем \Q\(i)dt), затем второ- 0 го вида и т.д., пока не будут израсходованы все средства. Обозначим эти объемы W\, ..., Wn. Легко видеть, что значение целевой функции на этом п портфеле закупок будет равно ? ЙР/ Д- и ее значение будет не меньше, /=1 чем на любом формируемом портфеле закупок задачи A1.1-11.4). Шаг 2. В качестве нижней оценки SH может быть взято значение целе- целевой функции на произвольном формируемом решении задачи A1.1)-A1.4). Таким решением может быть, например, решение, состоя- состоящее в том, что сначала покупается максимально возможное количество партий товара первого вида, затем второго и т.д. вплоть до того, когда все деньги будут израсходованы, либо остаток финансовых средств бу- будет такой, что ни одну партию никакого товара на эти деньги купить уже невозможно. Если значение верхней оценки Se будет равно значению нижней оцен- оценки SH, то оптимальное решение построено. Шаг 3. Выбирается какой-либо вариант оптовых закупок и оптимизи- оптимизируется текущая верхняя оценка каждый раз после того как было опреде- определено количество закупленного товара, т.е. (П.5) Здесь S™eK(I) — значение текущей верхней оценки, когда определе- определено множество I закупаемых товаров и vj (jel) — объемы товаров из этого множества. ? VjPj — деньги, полученные от реализации това- 7'е/ ров в объеме v,-; Se(N11) — верхняя оценка целевой функции A1.1) на множестве товаров NIL 297
Если S™6KU) - SH 5 то дальнейший анализ текущего варианта опто- оптовых закупок прекращается. Если же S™eKU) > SH 9 то выбирается еще один вид товаров и вы- вычисляется S^W* где I^h и сравнивается S™eK(W c SH- Продол- Продолжая этот процесс, получим, что на каком-то этапе вычисления S™eK(h) станет больше или равна SH> ™бо будет построен новый ва- вариант закупок, целевая функция которого S или S > SH и продолжим анализ оставшихся вариантов оптовых закупок по методу, изложенно- изложенному в шаге 3. Если в процессе анализа вариантов оптовых закупок ока- окажется, что SH = Se, то вариант закупок, соответствующий SH9 будет оп- оптимальным. В противном случае, после того как проанализировали все возможные варианты закупок, в качестве оптимального варианта опто- оптовых закупок выбираем тот, который соответствует последнему (наи- (наибольшему) значению SH. А „ 11.1.2. Устойчивость решений в Анализ устойчивости реше- г ний в задаче оптимизации опто- оптовых закупок позволяет опреде- товары, связанный с процессом инфляции, при котором решение задачи сохраняется. задаче формирования оптимального портфеля оптовых закупок. Предпо- лить диапазон изменения ло чт0 решение Задачи розничных цен на продаваемые A1.1)-A1.4) получено, используя ме- метод ветвей и границ, описание которо- которого было дано. Возникает вопрос, со- сохранится ли исходное оптимальное решение хопт - (х\пт^-^х^пт) в том случае, если розничные цены реа- реализации продукции Рг увеличатся на некоторую величину 5,-. Такое уве- увеличение может произойти, например, из-за инфляционных процессов. Пусть уровень инфляции за истекший период [О, Т\ составил не- некоторую величину 8. Будем предполагать, что розничные цены на закупленные товары изменятся на величину 8,- и станут равными р, + 8/, где 8/ = kjS. Здесь kt — коэффициент увеличения цены на товар вида /. Рассмотрим все допустимые решения задачи A1.1)-A1.4). Обозначим это множество через Ar = {x],...,x^}. Будем предполагать, что множест- множество допустимых решений х\, ..., х# упорядочено по возрастанию взвешен- п ной суммы компонент решения, т.е. по Y,xji^i > 0'= Ь •••» ^0- Тогда jci /=l 298
имеет минимальную сумму компонент , а решение xN имеет мак- N симальную сумму компонент ? ^ixN i • i=l Если решение х/ A < / <N) оптимально, то рассмотрим, как изменит- изменится значение целевой функции A1.1) при увеличении цен р/ на величину kfi (ki > 0). Получим следующее выражение: (F - ? w) = ? х/,А (F - 1.6) При изменении г в интервале @, ос) правая часть равенства может рассматриваться как линейная функция 8. Обозначим ее как Де). Анало- Аналогично на любом другом решении *,•(/= 1, ..., N; i ф 1) может быть по- построена функция Де). Каждая из функций ffiz) (j = 1, ..., N) является неотрицательной, линейной и возрастающей. Последнее обстоятельство следует из того, что / .(?) = ]?Ъс.. >0. При s = 0 максимальное значение имеет функция f/(e), так как х/ является оптимальным решением задачи A1.1)-A1.4) при различных ценах р,. При увеличении же 8, рост функций Де) (J = / + 1, ..., N) будет более интенсивным, и, следова- следовательно, графики функций ^(е) будут пересекаться с графиками функ- функции Де) (рис. 11.1). к №) /ДО) МО) V 7 уг ! i i i i i 8* гт Рис. 11.1 8 299
Очевидно, что графики функций//е) (/ = 1 + 1, ..., АО пересечет гра- график функции fis) при каких-то значениях е. Обозначим эти значения че- через 8j (/ = 1 + 1, ..., АО- Вычисление значений €j происходит с учетом выполнения соотношения fl(eJ) = fj(sJ) A1.7) ? xu{fij + ki?j) + (F - ? хищ) = ? xjiifii + sJki) + (F - ? XjiCtf) A1 -8) ?/|Д ?y/* ?x//a, ("-9) (=1 /=1 i=l ? *« a+^ ? ***«+^ - ? *//«/=? I ? xjfy - ? kfx,, I = ? */,/? - ? xy/^ + ? xjiCt, - ? дг/(а,- A1.11) /=l /=1 J A1.12) Учитывая последнее равенство для того, чтобы определить интервал изменения уровня инфляции, при котором сохраняется оптимальным значение х/, необходимо определить mine7 j = / +1, N . Предположим, что этот минимум достигается на каком-то / (к > 1). Тогда для решения х и уровня розничных цен р, + к? можно повторить всю предыдущую цепь рассуждений; получим новое значение Z1 (к\ > к) и т.д. В итоге через К итераций (К < N- 1) получим разбиение полубеско- полубесконечного интервала изменения уровня инфляции е е @, оо) на конечное число таких интервалов, что при изменении инфляции в рамках одного и того же интервала оптимальный портфель закупок сохраняется. Воз- Возможность такого разбиения следует из того, что при изменении опти- оптимального решения, которое произошло при увеличении уровня инфля- инфляции, номер соответствующего допустимого решения, ставшего 300
оптимальным, обязательно будет больше чем номер предыдущего до- допустимого решения, бывшего оптимальным при меньшем уровне ин- инфляции. В заключение необходимо отметить, что предложенная процедура получения интервалов устойчивости оптимальных решений задачи мо- может быть использована и для любого подмножества допустимых реше- решений IcI допустимых решений. 11.2. Задача оптимизации времени выполнения проекта 11.2.1. Постановка задачи и метод _ Задача оптимизации време- решения. При реализации подавляюще- ни выполнения прое1Сга являет_ го большинства инвестиционных проек- проектов на фазе предынвестиционного ана- схемы направленного перебора, лиза для инвестора немаловажным к кторыь/тностся мет;д ся NP-полной. Для решения за- задач этого класса применяются вей и границ. представляется такой показатель, как время его реализации. Рассмотрим задачу оптимизации выполнения проекта, в которой при анализе плана реализации этапов проекта учитывают ресурсные ограничения. Пусть необходимо выполнить проект, состоящий из п этапов, технологическая последовательность выполнения которых за- задана ациклическим ориентированным графом G(m, и), где т — число дуг графа, п — число вершин. Для выполнения этапа i проекта ему должны быть выделены ресурсы нескладируемого вида в объеме а, = (а/Ь ..., aim). Прерывать выполнение этапа до его полного завершения нельзя. Напомним, что нескладируемыми ресурсами являются оборудова- оборудование, станки, механизмы, транспортные средства, трудовые ресурсы и т.д., то есть все виды ресурсов, которые могут быть многократно ис- использованы при выполнении различных этапов проекта, и после за- завершения очередного из этапов они передаются для использования их на последующих. Задан также общий объем упомянутых нескладируемых ресурсов всех видов, которые используются исполнителями проекта b = (bl...,bm). Кроме того, известно время выполнения каждого из этапов tx (i = 1,..., и). Выполнение каждого этапа i должно осуществляться непрерывно в 301
течение времени th при условии, что для его выполнения выделены ре- ресурсы в объеме я, = (а/Ь .., Дш) и все этапы, предшествующие этапу / со- согласно ориентированному графу G(m9 n\ уже выполнены. Необходимо выбрать такую последовательность выполнения всех этапов проекта, ко- которая не нарушала бы технологических ограничений заданных графом G(m, ri) и ограничений на объем используемых ресурсов в каждый мо- момент времени / реализации проекта и была бы минимальной по продол- продолжительности. Данная задача принадлежит, как показано в [40], к классу TVP-полных задач, которые будут рассмотрены в последующей главе. Точными мето- методами решения подобных дискретных оптимизационных задач является, в частности, метод ветвей и границ. Рассмотрим схему метода ветвей и границ применительно к решению данной задачи. Шаг 1. Вычисление нижней оценки целевой функции задачи. Рас- Рассмотрим формулу для вычисления нижней оценки для трех случаев. 1. Ресурсы, рассматриваемые в задаче, являются ресурсами типа станков или приборов, и для выполнения одного этапа необходим один ста- станок. Всего станков М Тогда нижняя оценка вычисляется по следую- следующей формуле: Тн =тах 1=1, И С 1=1 Чф> М A1.13) где SKp— длина критического пути графа G(m9 n). Суть нижней оценки состоит в том, что время выполнения проекта, с одной стороны, не может быть меньше чем продолжительность критического пути, так как все этапы, входящие в этот путь, должны выполняться последо- последовательно и не допускают выполнения двух различных этапов в один и тот же момент времени, а с другой — продолжительностью такого плана реализации проекта, когда все станки (приборы) непрерывно работают в течение всего времени реализации проекта, т.е. плана, п продолжительность которого ^—-. М 2. В этом случае для выполнения каждого этапа необходимо я,- A <> щ < М) единиц ресурсов (оборудования, транспортных единиц, обслужи- 302
вающего персонала и т.д.). В этой ситуации нижняя оценка вычисля- вычисляется так: Ти =тах ^ко>'~ М A1.14) 3. В общем случае, т.е. когда а, = (ац9 ..., aim\ нижняя оценка может быть вычислена таким образом: Тн =тах ti9SKp9 ma^L1- j=\,m A1.15) Шаг 2. Вычисление верхней оценки осуществляется путем построе- построения какого либо допустимого плана реализации проекта, и продолжи- продолжительность этого плана выбирается в качестве верхней оценки Тв. Если выполняется равенство Тн = Тв, то решение задачи получено и им будет тот план, который соответствует оценке Тв. В противном случае переходим к шагу 3. Шаг 3. Выполнение шага 3 заключается в построении очередного до- допустимого плана выполнения проекта, в процессе которого после завер- завершения очередного этапа проекта вычисляется нижняя текущая оценка TffeK(r) по следующей формуле: ттек * и (г) = г + max 1=1^ /=U M A1.16) где k—число путей в графе G(m, n)\ т— момент завершения какого либо из этапов проекта; tf — продолжительность этапа / с учетом его частичного или полного выполнения к моменту времени г (в последнем случае полагаем tf = 0); Sj — продолжительность пути S/к моменту времени г с уче- учетом полного или частичного выполнения этапов, входящих в путь S/. 303
Если оказалось, что Т™ек(т)>Тв,то построение текущего плана пре- прекращается ввиду его неперспективности и переходим на начало шага 3, т.е. выбирается новый вариант построения плана выполнения проекта. В случае если Т™ек(т)<Тв, то выбирается очередной этап для выполне- выполнения, ему выделяются ресурсы и в момент завершения г1 (т > г) какого- либо этапа проекта вычисляем Т™ек(тх). В процессе описанного по- построения плана реализации проекта возможна одна из альтернатив: либо для какого-либо т* окажется, что Т™ек(т)>Тв, либо будет построен но- новый план реализации проекта продолжительности f < Тв. В этом случае значение Тв, полагаем равным Т и переходим к анализу очередного вари- варианта реализации проекта. Оптимальное решение будет определено либо когда Тв станет равным Гн> либо когда анализ всех допустимых вариантов построения плана исчерпан. В качестве оптимального и в том и в другом случае выбирается план, соответствующий последнему значению верх- верхней границы Тв. Пример. Решение задачи оптимизации времени выполнения проекта. Будем предполагать, что последовательность выполнения этапов проекта задана ориентированным ациклическим графом G(m, n) следующего ви- вида: Рис. 11.2 Пусть вершины графа соответствуют этапам выполняемого проек- проекта, а дуги отражают технологическую последовательность их выпол- выполнения. Не уменьшая общности, можно сказать, что продолжительность ка- каждого этапа проекта совпадает с его номером, и для выполнения каж- 304
дого этапа проекта необходим один исполнитель, т.е. а>¦ = 1 (/ = 1, ..., 10), число исполнителей равно двум (Ь = 2). Вычислим продолжитель- продолжительности путей графа. В путь S\ входят этапы 1, 2, 3, 9, 10 и, следователь- следовательно, его длина равна 25. Аналогично S2 = 31, S3 = 33, 54 = 37. Следова- Следовательно, SKp = S4 = 37. Определим сумму продолжительностей всех этапов проекта: 10 */=1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55. A1.17) Далее вычислим Тн по формуле Тн =тах 1=1,Л 10 I'/ ,fU. A1.18) Далее, следуя описанию метода ветвей и границ, вычислим верхнюю оценку Тв, для чего определяется некоторое допустимое решение (допус- (допустимый план выполнения всех этапов проекта). Выберем в качестве этого решения следующую последовательность выполнения этапов, изобра- изображенную графически на диаграмме Ганта. Диаграмма Ганта представляет собой двумерную систему координат, в которой по горизонтальной оси фиксируется время, а по вертикальной— номер исполнителя (станка, прибора, машины и т.д.). Пронумерованные дуги на диаграмме Ганта от- отражают динамику выполнения этапов проекта (рис. 11.3). 2 6 > 3 9 10 -+ * > Рис. 11.3 Продолжительность выполнения проекта по этому плану (решению) равна 41. Следовательно, Тв = 41. Так как ТИ > Тв, переходим к анализу следующего варианта выполнения проекта. Выберем, например, в каче- 305
стве исходных элементов для выполнения этап 6 и этап 7. Тогда в мо- момент г=6 завершится выполнение этапа 6 и вычислим Т™ек(т) при г= 6 I'/ 25,31,27,31,f} = 6 + 31 = 37. ("-19) На диаграмме Ганта эта ситуация отразится следующим образом: 2 1 7 6 fc ' > Рис. 11.4 Так как Т™екF)<Тв, следовательно выбираем следующий этап для выполнения. Пусть это будет этап 4. Тогда в момент времени т = 7 за- завершится выполнение этапа 7 и вновь вычислим Т™екA)тю предыдущей формуле 5,30,27,30,—1 = 37. A1.20) Отметим эту ситуацию на диаграмме Ганта: 7 г=7 Далее продолжаем анализ этого и других допустимых решений со- согласно следующей схеме: 306
Вычислить Ч г Вычислить тн да нет Выбор очередного Определить т; окончания очередного в данном варианте i: «1+1 да Все ли варианты выполнения проекта рассмотрены Найдено оптимальное решение В качестве оптимального выбираем решение, которому соответствует последнее значение Тв Продолжи- Продолжительность плана больше Т, нет Положить Тв равной продолжительности полученного плана да Учитывая большие затраты вычислительных ресурсов при решении NP-полных задач, для решения рассматриваемой задачи может быть ис- использован, например, усеченный метод ветвей и границ. Для использо- использования такой схемы необходимо определить точность, с которой пользо- пользователь хотел бы получить приближенное решение. После этого при 307
решении задачи не анализируется все дерево вариантов проекта, а анализ продолжается до тех пор, пока не будет выполняться следующее нера- неравенство: 1 Тв~т" -ioo<a:, (н.21) где Тв— последнее значение верхней оценки; Тн— значение нижней оценки; К— требуемая относительная точность решения в процен- процентах. 11.2.2. Анализ устойчивости Анализ устойчивости решений решений в задаче оптимизации времени реализации проекта. Мы в задаче оптимизации времени вы- выполнения проекта позволяет опре- делять области изменения длитель- рассмотрели задачу минимизации ности выполнения для каждого этапа проекта, в рамках которых оптимальная последовательность выполнения этапов проекта не ме- ходных дашых задачи и в частНости няется. фиксированных продолжительностях времени реализации проекта в усло- условиях детерминированности всех ис- этапов проекта. На практике же часто встречаются ситуации, когда такой параметр, как продолжительность выполнения того или иного этапа про- проекта не может быть определена точно и в лучшем случае может быть дана только интервальная ее оценка. Рассмотрим возможные подходы анализа данной ситуации. Пусть длительность каждого этапа / (/ = 1,2, ..., п) про- Г 1 2~] екта может принимать любое значение t из интервала // , f / . Учиты- Учитывая, что рассмотренная выше задача планирования выполнения проекта является общей задачей теории расписаний, анализ влияния на опти- оптимальный план (расписание) выполнения проекта изменения значений исходных параметров выполняется в рамках исследования устойчиво- устойчивости задачи. Далее этапы проекта, следуя терминологии [37], будем на- называть работами. Учитывая сделанные замечания, рассмотрим задачу оптимального планирования выполнения проекта в следующей постановке. Пусть есть множество работ d\,...,dn, последовательность выполне- выполнения которых задана ациклическим орграфом G, у которого отсутствуют транзитивные дуги, поэтому каждой работе di может быть поставлено в соответствие множество работ R; = | dj>\ так, что в множество Щ входят 308
те и только те работы, которые должны быть выполнены прежде, чем может быть начато выполнение работы dj. Каждая работа характеризуется интервалом длительности выполне- выполнения^/,^]. Длительность работы di может быть любым числом интерва- ла[tj9tj ]. Ресурсы, необходимые для выполнения работы dj9 задаются вектором <2j =(яп'—>а/т)> где ад — количество ресурсов у, необходи- необходимых для выполнения работы /, (/ = 1,..., п; j = 1,..., т). Общий объем ре- ресурсов, который может привлекаться к выполнению работ, задается век- вектором Z)/=(Z>1,...,ftw). Ресурсы, используемые для выполнения каждой из работ, являются многократно используемыми, т.е. после завершения выполнения работы могут быть переданы для выполнения работам из множества невыпол- невыполненных работ. Прерывания в выполнении работ не допускаются, т.е. ра- работа после начала ее выполнения должна выполняться до полного ее за- завершения. Выполнение работ происходит по допустимому расписанию, которое определяется следующим образом. Определение 11.1. Допустимым расписанием выполнения работ d\,...,dn назовем набор множеств работ Х^.^Х^и набор интервалов времени [т^т^], ... [л,^] длиной 7\,...,7^ соответственно такие, что в интервале времени [г{,Г2] выполняются работы только из множества g(/ = l,...,*;*?w). При этом должны выполняться следующие ограничения: 1. работа di может начать выполняться только в том случае, если выпол- выполнены все работы Я,-; Отметим, что последовательность выполнения работ может быть задана также матрицей R размерности п х п\ 2. общий объем используемых ресурсов в каждый момент времени ин- интервалов [т"{,Г2] не должен превышать значения bj(j = 1,..., т); 3. все работы </,-(/= 1,...,и) должны непрерывно выполняться в течение времени tt, где f,- — продолжительность работы d(. Задача составления оптимального расписания заключается в том, что- чтобы для каждого вектора длительности работ f en[f},f?l (*l-0) Ha**™ /=lL J расписание минимальной длины. Обозначим через Р «-мерный паралле- 309
лепипед РепГ/}»/?!* Тогда задача отыскания минимального по дли- тельности расписания для каждого / е P(t = (t\,...9tn)) может быть сфор- сформулирована следующим образом. Для каждого t e P найти минимум функционала 1Г/ 01.22) /=1 при ограничениях ti^bj {^""Z (П-23) \i\U i = U,n. (П.24) /=i Если Х]*09 то ZlXc;>/a О' = 1,...,л) A1.25) для всех daeRi /=1, ...*; A1.26) где 7/ — величина интервала времени [т[, х\ ]; Здесь г б P(r = (/j,...,/„)) задает длительность работ, для которых на- находится оптимальное расписание. - fl, если в 1-й интервал времени выполняется работа dj [О, если работа d± в этом интервале не выполняется; с\ — равно единице в том случае, если существуют такие к\, к^, что кх +кг </,и Y, X'jTj^tj'Knpu3™™ Xy = l для всех кх <j<kx +?2. В остальных случаях с\ = 0 • Прежде чем перейти к описанию метода решения поставленной зада- задачи, докажем вспомогательное утверждение. Зафиксируем какой-либо вектор t e P, задающий длительность выполнения работ. 310
Среди всех допустимых расписаний задачи A1.22)-( 11.26) рассмот- рассмотрим те, которые могут быть получены по следующей схеме. При первом назначении работ на выполнение рассмотрим все подмножества работ, которые могут выполняться на интервале [г*,^], не нарушая ограниче- ограничений на последовательность выполнения работ и ресурсные ограничения. Пусть векторы <х},...,^1 [ соответствуют этим подмножествам работ так, что Г1, если 1-я работа вошла в подмножество j [О, если 1-я работа не вошла в подмножество j. Введем отношение частичного порядка на множестве векторов |Jf},...,Xlkj • БУДем считать, что х) ^ Х)> если x)t ^ x)fj = U., л). Заданное отношение порядка разбивает множество векторов I JSTiv»> х\ \ на классы, в каждом из которых существует максимальный элемент. Оставим среди множества векторов Ijjf},...,Jjf\ \ только мак- симальные элементы и выберем какой-либо из них х\- Среди работ, соответствующих ненулевым координатам вектора х\ •> выберем такую работу d » У которой время выполнения минимально. Положим T\ = t и будем считать, что работа d выполнена. После этого пе- перейдем к построению совокупности векторов \хЬ->х1 К соответст- вующих множеству работ, готовых к выполнению после выполнения работы d • Выполняя процедуру выбора максимальных элементов и выбирая один из таких элементов, найдем минимальную по продолжительно- продолжительности работу d с учетом ее возможного выполнения на предыдущем шаге. Будем считать j2 = f'P2> гДе t'P2=tP2> если Jjf1 =0 и f -I -tn.9 если X =1- Через k(k<ri) шагов мы получим не- некоторое допустимое расписание задачи A1.22)-A1.2б). Рассматривая 311
все возможные варианты выбора максимальных элементов на всех этапах построения допустимого расписания, получим множество до- допустимых расписаний, которое назовем базовым множеством распи- расписаний. Каждое базовое расписание, учитывая определение 11.1, может быть представлено следующим образом. Сопоставим каждому вектору Х\ > задающему множество выполняемых работ на интервале [г{,Г2] номер ДГ;- самой короткой работы среди работ, соответствующих ненулевым координатам вектора Х\ •> учитывая при этом время выполнения этих работ на интервалах времени^,^],...^",^]. Получим, что множе- множество векторов Xt и номеров АГД/ = 1,...,?) однозначно определяет до- допустимое базовое расписание. Значение функционала A1.22) подсчитывается по формуле к к где tfN. — продолжительность работы rf „ с учетом ее возможного вы- выполнения на этапах 1,...,/-1. Если в задаче A1.22)-( 11.26) интервалы 12 1 9 времени [t.,t. ] таковы, что t\ = tf Для всех * = 1 >•••» «> то получена задача оптимального распределения ресурсов с фиксированным вре- временем выполнения работ. По построению среди базовых расписаний будет хотя бы одно расписание минимальной длины. Докажем следующее утверждение. Лемма 11.1. Длина оптимального расписания задачи A1.22)-( 11.26) при фиксированном времени выполнения работ может быть представле- п на как ?*/*/> /=1 где х,- €{0,1}. Доказательство. Пусть Xu—->Xh — векторы оптимального распи- расписания. Построим разбиение всех работ на К классов L\*-iLk следую- следующим образом: d^ e L,-, если Хц = 1 0' = Ь •••> ?)• Сопоставим оптималь- оптимальному расписанию орграф G, заданный следующим образом. Если dt e L\, 312
то Л/ =0 (/ = 1, ..., п). Если di €i^ и для <^еще не построено Ri9 то проверяем, существует ли к\: В случае если A1.27) выполняется, то в множество Rt войдет работа dtf _ , где N„1 — номер кратчайшей работы для вектора X„_\. Если ju -1 = 1, то в Rj войдет только работа d ы » в противном случае в Л/ войдут еще и все работы RN .В построенный учитывающий ресурс- ресурсные ограничения орграф будет входить исходное множество работ d\->—>dn-> и длина критического пути будет равна продолжительности соответствующего базового расписания. Лемма доказана. Рассмотрим свойства допустимых расписаний задачи A1.22)-A1.26) для случая, когда времена выполнения работ dt заключены в интервалах [ti\ f,-2] (i = 1,..., «). Выберем какую-либо точку t e P и построим для нее систему базовых расписаний {^ь..., ^4^}- Пусть А\— одно из базо- базовых расписаний, которому соответствует набор векторов {^^...Д^} и набор номеров работ {М^Ч—Д/} Отметим, что для работы d^ вы- выполняется одно из условий: 2) [^ где mini —номер работы, удовлетворяющий условию 1. Выберем все остальные работы: П U>t?]*0. (И-28) L J Включим в множество Mi те работы, которые удовлетворяют усло- условию A1.28) и работу dmini. Нетрудно видеть, что для всякого t e P кратчайшими работами среди работ, соответствующих ненулевым координатам вектора Х\9 могут быть только те работы, которые принад- принадлежат множеству М;. Выберем какую-либо работу dk e М\и «назначим» ее самой короткой работой. Тогда очевидно, что длительность остальных 313
работ должна быт* такой, что f/ > tk для всех /A <i<ri) dt e M\. Поэто- Поэтому преобразуем // по формуле tf= maxU.f/}. С другой стороны, понятно, что если dk — кратчайшая работа, то tk не может быть больше любого из t} (dt e M\) t? = min itf\; A1.29) djeM^ > t? = t^dteMx A1.30) После того как работа dk будет выполнена, интервалы, задающие дли- длительность работ dh для которых Х1ц Ф 0, будут удовлетворять следующим условиям: t}= tl<t}-t^d^Mx. A1.32) Будем считать t} и t} равными правым частям в неравенствах A1.31) и A1.32). Сформируем далее множество максимальных векторов, характери- характеризующих возможность выполнения остальных работ орграфа G после того как выполнена работа dk и выберем один из них: Х2к. Затем, аналогично тому, как это было сделано ранее, формируем множество кратчайших ра- работ М2, назначаем кратчайшую работу и преобразовываем интервалы [tj,tj ] (/: л 2/ * 0). Когда все работы будут выполнены, получим допусти- допустимое решение для всех точек t e P, удовлетворяющих системе неравенств: ^/<Л/(/=1,2,...,«;//:^//=1), A1.33) где А* — вектор {X} = {0,1}, / = 1,...,и), у которого ненулевые координаты соответствуют работам, выполняемым после завершения /- 1 работы. k , если работа d^ не выполнялась на интервале /-1 /=/-l-m/ если работа d^ выполнялась на интервале /-1 тм|. 314
tj , если работа d^ не выполнялась на интервале /=/-1-/П/ — в противном случае. где mi — число интервалов, предшествующих интервалу р{ ^ J, на ко- которых выполнялась работа d^ mt — количество интервалов, предше- предшествующих рргу, на которых выполнялась работа dcf kt — номер кратчайшей работы, выполняемой на интервале /(< / -1). Рассмотрев все возможные варианты назначения кратчайших работ из множества М19...9Мп при фиксированном способе выбора макси- максимальных векторов, получим такое множество базовых расписаний, что каждое из расписаний остается допустимым для всех точек мно- многогранника, полученного из исходного параллелепипеда добавлением системы ограничений A1.33). Этот результат можно сформулировать в виде леммы. Лемма 11.2. Пусть необходимо выполнить работы, последователь- последовательность выполнения которых задана орграфом G и длительность выполне- выполнения работ dj может изменяться в интервалах [t}9tf] (/ = 1,...,«). Тогда существует конечный набор базовых решений \Al9...9AN} и разбиение параллелепипеда Р системой гиперплоскостей на многогранники Bl9...,BN такое, что N 2) для любого Bt существует такое базовое расписание At с {A\,...,AN}9 что оно остается допустимых для всех точек / g Bt. Непосредственно используя лемму 11.2, можно доказать следующую теорему. Теорема 11.1. Для любого орграфа G, задающего последовательность выполнения работ и любого параллелепипеда Р продолжительностей ра- работ задачи A1.22)-( 11.26), существует множество гиперплоскостей, про- проходящих через начало координат и разбивающих параллелепипед Р на конечное число многогранников, и множество таких допустимых распи- расписаний {^i,..., Ан}9 что каждому многограннику Bt (/=1,...,Л0 взаимно од- однозначно соответствует некоторое допустимое расписание 315
Acz{A\9...9An}9 которое остается оптимальным для всех точек много- многогранника Bi. Доказательство. Как было показано, при фиксированном времени вы- выполнения работ для каждого базового расписания можно построить такой орграф G' из работ исходного орграфа G, что длина базового расписания будет равна длине критического пути орграфа G. Построим для базового расписания Д соответствующий орграф G', отображающий последова- последовательность выполнения работ по расписанию Д. Пусть Z)j,...,?>^ — все пути орграфа G\, соответствующего базовому расписанию At. Тогда сре- среди путей ?>р...,?>^ существует, по крайней мере, один критический путь Дь такой, что для точки t G Bt длина расписания Д равна ? */ • Интервал изменения длины пути Dk\ а значит и интервал изменения длины расписания [7} ,7} ] могут быть оценены, если будут вычислены максимум и минимум функционала: Z tj A1.34) при ограничениях: clt<V; A1.35) t>0; A1.36) где * = (/!,...,/„), с1 —матрица кхп; V= (Fb..., Vk\ неравенства A1.35)-A1.36) задают многогранник Bt. Пусть [Tj,Tj] (/=l,...y/V)— верхнее и нижнее значения соответст- соответствующего базового расписания Aj на многограннике 2? . Определим для заданного разбиения величины Т \ и Т г по формулам: min min Т 1 = min T;\ min j-\9...,N T 2 = max TJ. max j=\,...,N 316
Рассмотрев все возможные разбиения параллелепипеда Р на систему многогранников {Bl9...9BN.\ (/=1,..., L2), где L2 — количество разбие- разбиений при всех возможных вариантах выбора максимальных векторов на всех этапах построения допустимого расписания, получим возможность попарно сравнивать значения расписаний на общей части многогранни- многогранников Bj. На каждом шаге /A < / < п) построения допустимого базового расписания при новом разбиении параллелепипеда Р можем оценить снизу значение этого расписания. Пусть ?>!>•••» Dk — все пути орграфа G, задающего последовательность выполнения работ. Вычислим минимум следующего выражения: min I tj =Tj C/ = l,...,*). При ограничениях clt > 0; t > 0, где D'j — невыполненные работы пути D/, с— матрица кхп; к — количество ограничений, полученных за / шагов построения ба- базового расписания. Ограничения A1.37) задают построенный многогранник при состав- составлении базового расписания. Обозначим Тт[п = min Т.-. Если окажет- ся, что /-1 , 9 li Jmin - -'max > где t} — нижняя оценка на этапах 1,2, ... / - 1, то прекращаем дальней- дальнейшее построение допустимого расписания, так как оно заведомо хуже составленного ранее. После того как построено очередное разбиение, на пересечении мно- многогранников можно оценить длину нового допустимого расписания и со- составленного ранее, при этом возможно: 1) интервалы длительности допустимых расписаний не пересекаются; 2) интервалы длительности пересекаются. В первом случае на пересечении многогранников задается то допус- допустимое расписание, у которого верхняя оценка времени выполнения всех работ ниже. 317
Во втором случае проводится дополнительная разделяющая гиперп- гиперплоскость вида I // = I '/, ieAH ieAcm где в левой части равенства A1.38) стоит сумма длительностей работ со- соответствующего критического пути для нового, а в правой части крити- критического пути для ранее полученного допустимого расписания. Таким об- образом, мы разделили гиперплоскостью A1.38) общую часть многогранников для решения Ан и Аст на два многогранника и поставили каждому из них в соответствие решения Ан и Аст. После того как будут произведены все возможные выборы максимальных векторов при по- построении допустимых расписаний получим такое разбиение параллеле- параллелепипеда Р на многогранники ВХ9...9ВЯ9 что каждому многограннику Bt будет поставлено в соответствие расписание Д., которое будет наилуч- наилучшим среди базовых допустимых расписаний для всех teBn а поэтому оно будет и оптимальным для этих точек. Далее многогранники, полученные при разбиении, о котором гово- говорится в теореме 11.1, будем называть многогранниками устойчивости оптимальных решений. Рассмотрим некоторые свойства разбиений, полученных в теореме 11.1. Лемма 11.3. Пусть для орграфа G и параллелепипеда возможных вре- времен выполнения работ Р существует разбиение на такие многогранники Д,-(/ = 1,...,#), что каждому многограннику соответствует некоторое оп- оптимальное для всех точек Bt решение Д-(/ = 1,...,АГ). Тогда, если teP{t = (t\9...9tn)), и существует такое Л > О, что At e P, и такое Аь с {A\9...9Atf}9 что Ак является оптимальным расписанием для точки At, то расписание Ак будет оптимальным и для точки и Доказательство. Утверждение леммы 11.3 следует из того факта, что если в орграфе G с фиксированной длительностью выполнения работ и оптимальным расписанием А время выполнения всех работ умножить на одну и ту же константу с >09 то расписание А останется оптимальным для орграфа G, продолжительность работ которого ctt (/=1,...,л), где U — первоначальная продолжительность работ. Предположим, что для всех работ dt (i=\,...,ri) продолжительность ра- работ изменяется в интервале О,/2 (/=1,...,«) т.е. параллелепипед 318
Р° = [ О,/2 jx Г О,/2 Jx ...хГ О,/2 1 в качестве одной из своих вершин содержит начало координат. Тогда разбиение на многогранники устой- устойчивости оптимальных решений обладает свойствами, описываемыми следующей леммой. Лемма 11.4. Пусть для некоторого множества работ dl9...,dn, последовательность выполнения которых задана орграфом G, существует разбиение параллелепипеда Р° множеством гиперплоскостей {Гь..., Гм} на многогранники устойчивости А(/ = 1,.„,Л0 оптимальных решений {А9...9А^}. Тогда это решение обладает следующими свойст- свойствами: 1. Для любого другого параллелепипеда Р' множество гиперплоскостей {Г\9...9 Гм}9 разбивающее параллелепипед на многогранники устой- устойчивости оптимальных решений, таково, что 2. Для каждого teP (U > 0: / = 1,..., п) существует Ak cz {A,...9AN}9 ко- которое является оптимальным для точки t. 3. Среди множества оптимальных решений {А9...,iL}существуют та- такие, которые будут оптимальны для всех орграфов работ G', полу- полученных из G удалением любого конечного числа работ. Доказательство. Утверждение 1 леммы 11.4 следует из того, что: а) при построении всех возможных разбиений параллелепипеда Р на многогранники 5.(/ = l,...,Af.) и соответствующих систем допус- допустимых решений на каждом шаге построения какого-либо допусти- допустимого расписания на роль короткой работы будут претендовать все работы, выполнявшиеся на соответствующем интервале времени; б) любые два допустимые расписания А^ и А\, каждое из которых остается допустимым для всех точек многогранников Вк и Bt, в качестве нижней оценки времени выполнения всех работ имеют ноль. Докажем утверждение 2 леммы 11.4. Выберем Я по формуле ,2 Я= min —. 319
Тогда точка At е Р . Из леммы 11.3 следует, что в этом случае / суще- существует оптимальное расписание из системы оптимальных расписаний {A\,...JM}. Утверждение 3 леммы является следствием того факта, что при по- построении разбиения параллелепипеда Р на многогранники устойчивости оптимальных решений среди множества расписаний {AO\,...yA°M} сущест- существуют оптимальные расписания для всех точек параллелепипеда Р9 в том числе и для его граничных точек. Пусть в орграф, задающий последовательность выполнения работ dl9...,dn, входят пути Sl9...9Sk. Определим понятия параллельно выпол- выполняемых работ. Определение 11.2. Назовем работы dt и d параллельно выполняе- выполняемыми, если они не входят в один и тот же путь орграфа G. Следующая лемма описывает свойства оптимальных расписаний при некоторых специальных ограничениях на параллелепипед Р9 задающий длительность выполняемых работ. Лемма 11.5. Пусть орграф G работ dX9...9dn задан матрицей R и объ- объем ресурсов Ъ = (&,..., 6 ) настолько велик, что любые две параллельно выполняемые работы могут выполняться одновременно. Тогда для лю- любой работы d,(/ = 1,...,и) существует параллелепипед Р задающий дли- длительности выполнения работ, при котором для всех точек параллелепи- параллелепипеда оптимальным будет любое базовое расписание, в котором в каждый момент времени выполняется работа из критического пути орграфа G. Доказательство. Построим параллелепипед Р{ следующим образом. Зададим для всех работ di = 0' * 0 произвольно интервалы выполнения работ [t.9t. ]. Для работы dt выберем //, чтобы выполнялось неравен- неравенство a t} = t\ + а, где а > 0. Нетрудно видеть, что для всех t E Р{ критическими могут быть только пути, в которые вошла работа d{. Так как ТА > Ткр , где ТА — длина оптимального расписания, если на каждом этапе построения базового рас- 320
писания выделять ресурсы в первую очередь работам критического пути, то по условию леммы 7^ = Ткр, что и доказывает утверждение леммы. Рассмотрим еще один подход для получения многогранников устой- устойчивости оптимальных решений, когда длительности выполнения работ меняются на параллелепипеде Р. Пусть фиксирована t'еР . Рассмотрим некоторое допустимое базовое решение задачи A1.22)-( 11.26), когда длины выполнения работ равны /' = (*.',...,/'). Как было показано выше, любое базовое решение может быть представлено как набор векторов{Хь..., Хк}, каждому из которых по- поставлена в соответствие работа я?..G = 1,...,?), являющаяся самой короткой работой среди работ, соответствующих ненулевым координатам вектора Х1. Каждому базовому расписанию может быть поставлена в соответст- соответствие система неравенства A1.33). Если построить систему неравенств для всех базовых решений точки t' и взять их объединение, то получим мно- многогранник Л/, на котором система базовых решений остается такой же, как и для точки t'. На многограннике А/* могут быть определены интервалы 12 12 [Г 7 ],...,[7' Т' ] системы базовых расписаний {А\,..., AN}. Выберем среди них Г1. = min 71. min i=\9...,N l Отбросим все те Ak (I < k < N), для которых[т}т^] п [71. 72. ] = 0. /с /с min miri Остальные базовые расписания {А\,...9 AN} (NY <N) будут прини- принимать оптимальные значения на некоторых точках многогранника М. Пусть многогранник Л/ задан системой неравенств п , И,сцЧ ^ Ь,- ] = 1,2,...,^; Тогда для решения Ак с; {Ль..., AN{} многогранник устойчивости оп- оптимального решения А к задается следующим образом: Cijti<bj G = 1,2,...,/^^ /;>0; 1=1 л); II Исследование операций
j = 1,2 Л^;у * к\ п где J^ajjt; (у = 1,2,...,Nx\j Ф к)задает линейный функционал базового /=1 расписания Aj. Описанная выше процедура позволяет получить многогранник устойчиво- устойчивости М' оптимального решения по заданной точке t' e P, и расписание А1 остается оптимальным для всех точек teMf. Это позволяет строить мно- многогранники устойчивости оптимальных решений, не делая полного разбиения параллелепипеда Р на многогранники устойчивости оптимальных решений. Рассмотрим случай разбиения на многогранники устойчивости опти- оптимальных решений, если время выполнения работ изменяется на множе- множестве, заданном ограничениями вида ?*///?*/.У = 1Д...,/ A1.39) i=l ;,>0(/ = 1,...,и). A1.40) Пусть G^.,,,Gk — вершины многогранника, заданного неравенствами A1.39)-( 11.40), координаты которых соответственно равны Gx =(G\,-,Gt\.;Gk =(GJt,...,GD- Построим параллелепипед Р с вер- вершинами //= min {g/} (/ = 1,...,и); A1.41) llkK > tf= max (g/1 (/ = 1,...,л). A1.42) Этот параллелепипед будет содержать в себе многогранник, заданный нера- неравенствами A1.39)-A1.40). Для решения задачи разбиения на многогранники устойчивости для случая, когда время выполнения работ меняется на множестве, заданном неравенствами A1.39)-A1.40), можно сделать раз- разбиение на многогранники устойчивости оптимальных решений для парал- параллелепипеда, заданного формулами A1.41X11.42), и после этого для каждой системы неравенств, задающих многогранник, добавить ограничения A1.39). Пусть длина выполнения работ изменяется на многограннике Р9 за- заданном неравенствами A1.39)-( 11.40). Рассмотрим следующую задачу: 322
среди точек многогранника Р найти такую, для которой значение опти- оптимального расписания было бы не больше, чем для всех других точек многогранника Р. Назовем эту точку точкой глобального оптимума зада- задачи A1.22)-( 11.26). Если многогранник Р является параллелепипедом п h ?1 w ~ р = Пк/ Л I' то Решение этои задачи дается следующей леммой. /=1 Лемма 11.6. Вершина параллелепипеда Р, удовлетворяющая условию tt = //, является точкой глобального оптимума для задачи A1.22)-A1.26) с нефиксированным временем выполнения работ. Доказательство. Предположим, что существует t'^ t и А\ < Ah где At и А'? — значения оптимальных расписаний для точек / и Л Тогда среди координат точки f = (/'ь.../„) существует fj > tj (I <j< ri), а для всех ос- остальных / (/ = 1,..., п; i *j) t'j > tt. Это означает, что, увеличив продолжи- продолжительность работы dp сократим длину оптимального расписания. Полу- Полученное противоречие и доказывает утверждение леммы. В случае если многогранник М, заданный A1.39)-A1.40), не является параллелепипедом, точка глобального оптимума может быть определена следующим образом. Сначала осуществляется разбиение многогранника М на многогранники устойчивости оптимальных решений МД/ = 1,...,ЛГ)> где N— количество многогранников, полученных при разбиении, и пусть fi(i = \9...9N) — линейные функционалы, соответст- соответствующие оптимальному решению Д для многогранника М/. Далее ре- решается для каждого Mt задача минимизации функционала ft на много- многограннике и затем определяется min /,min, A1.43) где /Гт — минимум функционала/ на многограннике М{. Точка teM, на которой будет выполняться A1.44), будет точкой глобального оптимума. Теорема 11.2. Пусть длина выполняемых работ заключена в много- многограннике М9 заданном неравенствами A1.39)-A1.40). Тогда точка гло- глобального оптимума является граничной точкой многогранника М. Для доказательства теоремы 11.2. покажем справедливость следую- следующих вспомогательных лемм. Лемма 11.7. Пусть задан орграф G, отражающий последовательность выполнения работ с фиксированным временем выполнения работ t и су- 323
ществует базовое оптимальное расписание Аопт для работ орграфа G. То- Тогда если длины всех работ умножить на с > 0, то оптимальное расписа- расписание сохранится и ТА^ = сТ^ , где ТАопт — длина оптимального распи- расписания для работ длительности ti9 а 7^ — длина оптимального расписания для работ с временем выполнения с/,-(/ = 1,..., и). Доказательство, Утверждение леммы очевидно. Геометрически это означает, что если Аопт является оптимальным расписанием для точки t, то оно будет оптимально и для всех точек прямой, проходящей через на- начало координат и через точку /. Лемма 11.8. Если в орграфе G с фиксированными длительностями выполнения работ время выполнения всех работ уменьшить на величину s> О, то длина оптимального расписания уменьшится не менее чем на е. Доказательство, Выберем среди работ */,-(/= 1,...,л) работу с макси- максимальной продолжительностью Jmax, время выполнения всех работ разде- разделим на величину с, где = Из леммы 11.6 следует, что оптимальное расписание при этом не из- изменится. Пусть ?'/ — время оптимального расписания для орграфа работ G ieDk с продолжительностью работ и и Yj\ " вРем я выполнения работ, ко- гда длительность выполнения работ t\, Dk — критический путь в графе, соответствующему оптимальному расписанию. Оценим, как изменилась продолжительность работ по сравнению с Ч " Ч - Ч " ¦ s ? ^ 'max Оценим, как изменилось время оптимального расписания: ? I'/ ^ g) ieDk L4 Lhs L,4 L ieDk ieDk ieDk ieDk 'max fmax 324
так как YJ,- ^t max > ieDk то 'max >e. Уменьшим теперь продолжительность всех работ ti на величину шах—— > 0. Получим для всех работ tt = tt - е. Так как при сокраще- *тах нии времени выполнения работ длина оптимального расписания не уве- увеличивается, то отсюда следует утверждение леммы. Доказательство теоремы 11.2. Предположим, что утверждение тео- теоремы неверно, и поэтому точка глобального оптимума t=(t\,...Jn) являет- является внутренней. Тогда можно подобрать такое ?, что ft = tx¦- s e M, а сле- следовательно, по лемме 11.8 длина оптимального расписания для точки /' =(f[,...5^) меньше, чем для точки t=(t\,...,tn\ что противоречит пер- первоначальному предложению. 11.3. Модели управления кредитными ресурсами предприятия Одним из основных такти- тактических показателей эффектив- эффективности функционирования пред- предприятия реального сектора экономики в условиях рынка является прибыль. 11.3.1. Принципы построения мо- моделей управления кредитными ресур- ресурсами. Работа промышленных предпри- предприятий в условиях рынка предопределяет свободу хозяйственной инициативы и принципы стратегического управления производственно-финансовой деятельностью. В рыночной экономике предприятие самостоятельно определяет рацио- рациональные варианты всех составляющих производственно-финансовой дея- деятельности на основе баланса интересов производителей и потребителей вы- выпускаемой продукции. При этом одной из экономических оценок эффективности варианта мероприятий является прибыль предприятия, ос- остающаяся в его распоряжении. Поэтому основной задачей в условиях рынка является повышение эффективности функционирования предприятия путем 325
оптимизации использования его ресурсов, в том числе финансовых, и разра- разработка наиболее рациональной производственной программы, а также планов предприятия по повышению эффективности его функционирования. Именно эти принципы и легли в основу построения рассмотренных ниже экономико-математических моделей. Ключевым вопросом при оптимизации деятельности предприятия яв- является построение его производственной программы с учетом наиболее рационального использования ресурсов предприятия. Для определения объемов прибыли от реализации продукции различных вариантов произ- производственной программы необходимо иметь данные о цене реализации продукции и себестоимости ее изготовления, а также данные об объеме выпуска продукции по каждому виду продукции. Производственная про- программа формируется исходя из имеющихся у предприятий ресурсов (ма- (материально-сырьевых, производственных, финансовых и т.д.). • Процедура выбора оптимального варианта производственной про- программы предприятия на этапе стратегического управления производст- производственно-финансовой деятельностью включает: генерацию вариантов пер- перспективной производственной программы; расчет объема товарной продукции, соответствующего каждому варианту производственной про- программы и планируемой балансовой прибыли; определение расхода мате- материально-сырьевых и интенсивности использования производственных ресурсов для каждого варианта; При решении такой задачи стратегического управления как формиро- формирование плана технического перевооружения предприятия, особенно в ус- условиях использования им кредитных средств для реализации данного проекта, возникает необходимость генерации и сравнения альтернатив- альтернативных вариантов его производственно-технологической и организационно- технической структур с последующим выбором наиболее рационального, обеспечивающего достижение задаваемого уровня значения критерия оптимальности. В условиях директивной экономики при осуществлении мероприятий по реконструкции производства условия оптимальности игнорировались по причинам большой трудоемкости генерации альтер- альтернативных вариантов и их многообразия, а также сложности определения показателя эффективности для каждого варианта. При осуществлении экономической оценки вариантов финансирова- финансирования работ по созданию нового или реконструкции действующего пред- предприятия с привлечением для финансирования кредита, наилучшим вари- вариантом признается тот, который обеспечивает, во-первых, наибольшую 326
эффективность от использования ресурсов для реализации проекта и, во- вторых, обеспечивающий его участникам наибольшую рентабельность производства. Очевидно, что в каждом из случаев расширения производства, пере- перевооружения предприятия, перехода на выпуск новой продукции возника- возникает вопрос о необходимости дополнительных инвестиций. При этом инве- инвестиции могут осуществляться как самим предприятием, его собственниками, так и сторонними кредитными организациями. Пробле- Проблема поиска наиболее эффективных условий инвестирования, учитываю- учитывающих оптимальную производственную программу предприятия, имеет немаловажное значение. Причем данная проблема актуальна не только для предприятия, но и для инвестора. Ведь оба эти субъекта решают за- задачу определения условий инвестирования для получения от них макси- максимального экономического эффекта. Поэтому основной целью, которая ставится при моделировании, явля- является получение оптимального решения задачи получения предприятием максимальной прибыли как важнейшей задачи предприятия [19, 49], пу- путем оптимизации производственной программы в условиях ограничений на время использования оборудования, материальных и финансовых ре- ресурсов, а также в условиях использования кредита для пополнения обо- оборотных средств и реализации инвестиционных программ. Кроме того, важным также является решение задачи минимизации срока окупаемости проекта с целью сделать кредит более доступным для предприятия и со- сократить издержки на обслуживание долга. Решение задачи управления кредитными ресурсами предприятия с использованием моделей реализуется путем анализа результатов, полу- полученных в процессе моделирования различных вариантов производствен- производственно-хозяйственной деятельности предприятия с учетом использования им заемных средств. Предложенный механизм позволяет решать вопросы управления предприятием в ходе текущей деятельности и при проведении реоргани- реорганизационных мероприятий, когда предприятие использует банковский кре- кредит в своей деятельности. К числу таких мероприятий могут относиться реализация программ расширения и реорганизации производства, пере- перехода на выпуск новой продукции и др. Использование моделей позволяет решать вопросы формирования оптимальной производственной про- программы предприятия, осуществления инвестиций в производство, а так- также помогает при осуществлении стратегического планирования развития предприятия. 327
В основу моделирования производственно-хозяйственной деятельно- деятельности предприятия легло решение задачи оптимизации с использованием методов линейного программирования. При решении задачи оптимиза- оптимизации целью ставится достижение максимального экономического эффек- эффекта, что и учитывается при формировании целевой функции. Состояние предприятия, прежде всего объем его ресурсов, учитывается при анализе ограничений для решения задачи оптимизации. Таким образом, модели- моделирование осуществляется в условиях ограничений на имеющиеся матери- материально-сырьевые и трудовые ресурсы, а также производственные мощно- мощности предприятия. Для автоматизированной обработки данных и вычислений могут использоваться пакеты программ линейной оптимиза- оптимизации, в том числе программный продукт Microsoft Excel. При моделировании также проводится анализ устойчивости моделей и изменения объема производственной программы в зависимости от из- изменения цен на материально-сырьевые ресурсы и производимую про- продукцию. Использование моделей предназначено преимущественно для сред- средних и крупных предприятий, имеющих серийное производство, произво- производящих разнообразную номенклатуру изделий и имеющих большое коли- количество видов используемых в производстве материально-сырьевых ресурсов. Модели управления кредитными ресурсами предприятия построены на основе базовой модели, которая состоит в решении задачи выбора оп- оптимальной производственной программы в простейшем случае, когда в модель включены ограничения по производственным мощностям, мате- материально-сырьевым ресурсам, спросу на продукцию и она не включает условия использования финансовых ресурсов. Постановка задачи для базовой модели состоит в следующем. Обо- Обозначим через X/ объем производства продукции вида / (/ = 1,2, ..., п). Пусть с — вектор, определяющий прибыль от реализации производи- производимой продукции, т.е. с = (с\, С2,..., с„), где с,— прибыль от реализации единицы продукции вида / (без учета условно-постоянных издержек производства). Для производства планируемого объема продукции на предприятии имеется К видов оборудования. Лимит полезного времени работы оборудования вида j определим равный Tj. Обозначим А/ как число единиц оборудования видау. Введем величину tip которая определяет время работы у'-й единицы оборудования, требуемое для производства единицы продукции вида /. 328
Объем имеющихся материально-сырьевых ресурсов задается векто- вектором L = (L\9 Ь2„..., Lm,) где Lj— запас материально-сырьевых ресурсов вида j, предназначенных для изготовления того перечня продукции, ко- который планирует выпускать данное предприятие. Величина Ц— объем материальных ресурсов вида у, необходимый для получения одной единицы продукции вида /. Известен также прогнозируемый спрос на выпускаемую продукцию Д и объем заказа на продукцию Р/. Необходимо решить задачу выбора объемов производства по каждо- каждому виду продукции, обеспечивающих получение предприятием макси- максимальной прибыли в условиях, когда объемы производства ограничены использованием имеющихся производственных и материально-сырьевых ресурсов, спросом или заказом на продукцию. В общем виде решение данной задачи можно записать следующим образом: ]Гс,х,-> max A1.44) целевая функция максимизации прибыли, без учета постоянных издер- издержек; при ограничениях: tt&ZkjTjJ-UK (П-45) 1=1 ограничение на производственные мощности; ограничение на материально-сырьевые ресурсы; х,?Ц.,/ = п (П-47) ограничение для учета спроса на продукцию; XiZPi9i = u A1.48) ограничение на заказ или план выпуска продукции; х,>0 A1.49) ограничение на неотрицательность переменных; ;с, el A1.50) ограничение на целочисленность переменных, 329
где Tj — эффективное время использования единицы оборудования видау на период планирования; 1, ..., к— виды имеющегося оборудования; 1, ..., т— виды используемых материально-сырьевых ресурсов; 1,..., п — виды выпускаемой продукции; с, — разница между ценой реали- реализации продукции вида / и переменными затратами на выпуск продук- продукции вида /; Д— спрос на продукцию вида /; к/— число единиц обо- оборудования вида у; Ц— объем сырья видау для производства единицы продукции вида /; Lj— объем имеющихся материально-сырьевых ре- ресурсов вида у; Р{— заказ на продукцию вида /; ty— время обработки единицы продукции вида / на оборудовании вида у; х,— объем вы- выпуска продукции вида /. Решение задачи A1.44)-A1.50) задается вектором х = (х\9...хп), кото- который определяет оптимальные объемы выпускаемой продукции по вы- выбранному критерию. При формировании модели 113'2- М°Дели оптимизации управления кредитом, привлекаемым для решения проблемы пополнения оборотных средств предприятия, пользования моделей дая решения структура закупаемых материально- г сырьевых ресурсов производства оп- определяется исходя из критерия мак- максимизации валовой прибыли пред- предприятия, за счет которой и должен быть погашен кредит. управления кредитными ресурса- ресурсами. Далее обратимся к проблеме ис- задачи управления кредитными ре- ресурсами предприятия. Для построе- построения данных моделей необходим пе- переход к стоимостной оценке ресурсов предприятия, а также учет в ограничениях моделей объемов финансовых ресурсов предприятия. Для моделирования были использованы такие базовые задачи управ- управления кредитными ресурсами предприятия, как расчет объемов кредита, оценка времени кредитования, оптимизация использования кредита для задач привлечения кредита для пополнения оборотных средств и реали- реализации различных вариантов инвестиционного проекта. Таким образом, для решения задач управления кредитными ресурса- ресурсами предприятия используются следующие нижеописанные оптимизаци- оптимизационные модели: модель расчета объема кредитования оборотных средств предприятия, модель расширения производства с учетом использования кредита, модель перепрофилирования производства с целью выпуска но- новых видов продукции, модель оценки времени и объемов кредитования предприятий в условиях расширения производства. Модель расчета объема кредитования оборотных средств предпри- предприятия. Часто невозможность решения задачи эффективного функциониро- 330
вания предприятия связана с нехваткой оборотных денежных средств. Од- Одним из вариантов восполнения нехватки оборотных денежных средств для предприятия является привлечение кредита, который может, в частности, использоваться для приобретения материально-сырьевых ресурсов. Таким образом, цель данной модели — произвести расчет объемов необходимого кредита для приобретения материально-сырьевых ресур- ресурсов и получить наиболее эффективный способ использования кредита с целью получения максимального экономического эффекта от производ- производства и реализации продукции, важность чего подчеркивается в [19]. С целью построения данной модели, во взятую за основу базовую мо- модель вводится стоимостная оценка материально-сырьевых ресурсов уу и условие приобретения материально-сырьевых ресурсов в пределах объе- объема кредита A1.53). Постоянные затраты предприятия в модели не учитываются, потому что в данном случае постоянные затраты, представленные в виде кон- константы, не будут оказывать влияние на решение. В общем виде модель можно записать следующим образом: п A1.51) целевая функция максимизации прибыли; при ограничениях: 5>,/,^,у=пй о1-52) ограничение на объем дополнительных материально-сырьевых ресурсов; ограничение на приобретение дополнительных материально-сырьевых ресурсов в пределах объема кредита; ±ЦХ1<к}тр] = Гк (П-54) ы ограничение на производственные мощности; ограничение для учета спроса на продукцию; х,<Рп1 = п1 A1.56) 331
ограничение на заказ или план выпуска продукции; х,>0 A1.57) ограничение на неотрицательность переменных; *,€/ A1.58) ограничение на целочисленность переменных, где jj— стоимость единицы дополнительных материально-сырьевых ре- ресурсов вида у; tj— эффективное время использования единицы обору- оборудования вида у на период планирования; 1, ..., к— виды имеющегося оборудования; 1, ..., m— виды используемых материально-сырьевых ресурсов; 1,..., п— виды выпускаемой продукции; С/— разница между ценой реализации продукции вида / и переменными затратами на вы- выпуск продукции вида /; Д— спрос на продукцию вида /; kj— число единиц оборудования видау; Ц— кол-во сырья видау для производства единицы продукции вида /; Pt — заказ на продукцию вида /; ц — время обработки единицы продукции вида / на оборудовании вида у; V— объем кредита; х,— объем выпуска продукции вида /; Zj— объем до- дополнительных материально-сырьевых ресурсов вида/ Модель расширения производства с учетом использования креди- кредита. Данная модель описывает ситуацию, когда предприятие принимает решение о реализации инвестиционного проекта, предполагающего рас- расширение номенклатуры выпускаемой предприятием продукции. Проект предполагает приобретение за счет кредита нового оборудования и допол- дополнительных материально-сырьевых ресурсов для выпуска новых изделий. Использование этой модели позволяет рассчитать оптимальную схему реализации проекта расширения производства, оценить полученный эф- эффект, определить необходимый объем кредитования и оптимальный спо- способ использования кредита для реализации проекта. С целью моделирования ситуации расширения производства к преды- предыдущей модели следует добавить ограничения A1.61), A1.63), A1.64),A1.65) с учетом: новых видов продукции п+\9...9п\\ дополнитель- дополнительных видов материально-сырьевых ресурсов m + I,..., m\\ дополнительных видов оборудования к + 1,..., к\. В общем виде данную модель можно записать следующим образом: 2>,х,-ипах О1-59) /=1 целевая функция максимизации прибыли 332
при ограничениях: 5>,/#? 1у,у=пй (П.60) ограничение на объем имеющихся материально-сырьевых ресурсов; * (П.61) ограничение на объем дополнительных материально-сырьевых ресурсов; it&ZkjTjJ'U (П-62) ограничение на имеющиеся производственные мощности; = ГГ1л (п.63) ограничение на дополнительные производственные мощности; X yjfij* I zjyjuV (П.64) j=k+\ /l ограничение на дополнительное оборудование и материально-сырьевые ресурсы в пределах объема кредита; дл<5 A1.65) ограничение на площадь под дополнительное оборудование; ,Д = п A1.66) ограничение для учета спроса на продукцию; xi<Pl,i = ui A1.67) ограничение на заказ или план выпуска продукции; x,>0;z;>0;^>0 A1.68) ограничение на неотрицательность переменных; x,el;yjel (П-69) 333
ограничение на целочисленность переменных, где fij— стоимость единицы дополнительного оборудования вида у; #— стоимость единицы дополнительных материально-сырьевых ресур- ресурсов вида у; Tj— эффективное время использования единицы оборудо- оборудования вида у на период планирования; 1, ..., к— виды имеющегося оборудования; 1, ..., т— виды используемых материально-сырьевых ресурсов; 1,..., п— виды выпускаемой продукции; ct— разница меж- между ценой реализации продукции вида / и переменными затратами на выпуск продукции вида /; Д — спрос на продукцию вида /; kj— число единиц оборудования вида /; 1у— кол-во сырья вида у для производ- производства единицы продукции вида /; L — объем имеющихся материально- сырьевых ресурсов вида у; Pt— заказ на продукцию вида /; s — сво- свободная производственная площадь; Sj— площадь, необходимая для установки единицы дополнительного оборудования видау; ty — время обработки единицы продукции вида / на оборудовании видау; V— объем кредита; xt— объем выпуска продукции вида /; у}— число единиц дополнительного оборудования вида у; zy — объем дополни- дополнительных материально-сырьевых ресурсов видау. Модель перепрофилирования производства на выпуск новых ви- видов продукции. Использование данной модели находит свое примене- применение в условиях экономического кризиса предприятия и предлагает ана- анализ возможностей выхода предприятия из кризиса путем повышения конкурентоспособности его продукции на основе перепрофилирования производства. Для целей построения модели использованы условия, когда проект перепрофилирования производства предполагает отказ от выпуска ста- старых видов продукции, демонтаж старого оборудования, переход на вы- выпуск новых видов изделий. Для перехода на выпуск новых изделий за счет средств кредита должно быть приобретено новое оборудование, ма- материально-сырьевые ресурсы. В случае успешной продажи старого обо- оборудования, частично для финансирования проекта, может быть исполь- использована выручка от продажи старого оборудования. Использование данной модели дает возможность рассчитать опти- оптимальную схему реализации проекта перепрофилирования производства, оценить эффект, достигаемый от реализации проекта, определить необ- необходимый объем кредитования и оптимальный способ использования кре- кредита для реализации проекта. Модель перепрофилирования производства строится путем исключе- исключения ограничений A1.71), A1.73) из модели расширения производства и 334
добавления в данную модель нового ограничения A1.73), учитывающего средства, полученные от продажи ранее использованного оборудования. В общем виде данная модель может быть сформулирована следую- следующим образом: (П.70) целевая функция максимизации прибыли; при ограничениях: ограничение на объем новых видов материально-сырьевых ресурсов; ^ (П.72) ограничение на производительность новых видов оборудования; Для высоколиквидного оборудования: t yjPj+ I 'jrjZV+iqjkj 01.73) j=k+\ i=m+\ j=\ ограничение на приобретение новых видов оборудования и материально- сырьевых ресурсов в пределах объема кредита с учетом суммы от про- продажи ранее использованного оборудования. Для неликвидного оборудования: I yj0j+ I zjYj<V (И.73.1) j=k+\ i=m+\ ограничение на приобретение новых видов оборудования и материально- сырьевых ресурсов в пределах объема кредита; ,)',<*' (Н.74) j=k=\ ограничение на площадь под новое оборудование; Xi<Dni = ui A1.75) 335
ограничение для учета спроса на продукцию; ограничение на заказ или план выпуска продукции; jc,.>0;zy>0;>;,>0 A1.77) ограничение на неотрицательность переменных; x^Iiyjel A1.78) ограничение на целочисленность переменных, где дополнительно к обозначениям для предыдущей модели: s'— вся производственная площадь; #;— рыночная стоимость ранее использо- использованного оборудования. Модель оценки времени и объемов кредитования предприятий в условиях расширения производства. Важной составляющей про- процесса управления кредитными ресурсами предприятия является оцен- оценка и оптимизация сроков окупаемости проекта, реализуемого с при- привлечением заемных средств. Минимизация сроков использования кредита делает кредит более доступным для заемщика, позволяет снизить затраты на обслужива- обслуживание долга, сократив расходы заемщика по выплате процентов по кре- кредиту. Для целей построения базовой модели оптимизации сроков кредито- кредитования возьмем проект расширения производства с освоением выпуска новых изделий, при котором традиционные виды продукции продолжа- продолжают производиться. Для производства новых видов продукции необходи- необходимы закупки нового оборудования и материально-сырьевых ресурсов но- новых видов, а также используются имеющееся оборудование, сырье и материалы. Приобретение новых видов оборудования и материально- сырьевых ресурсов финансируется за счет кредитных средств, привле- привлекаемых предприятием. Окупаемость проекта реконструкции и возврат кредита происходит за счет прибыли от производства новых видов и тра- традиционно выпускаемых видов продукции. Перед предприятием стоит задача создать условия, при которых про- проект окупится в минимальные сроки, соответственно сократив необходи- необходимые сроки использования кредита. Решение данной задачи возможно с использованием нижеописанной методики. 336
Срок кредитования Т на реализацию инвестиционного проекта опре- определяется периодом с момента начала реализации проекта и до момента, когда происходит окончательное погашение кредита за счет средств, по- полученных от реализации проекта. Срок Т определяется продолжительно- продолжительностью следующих этапов (см. рис. 11.5): Т\ — время проведения реконструкции производства; Т2 — время, в течение которого осуществляется выпуск новой продук- продукции и происходит окупаемость проекта за счет прибыли от ее реализации. Рис. 11.5. Срок окупаемости инвестиционного проекта Процесс проведения реконструкции производства и подготовки к на- началу выпуска новых видов продукции может быть представлен ориенти- ориентированным графом, типа «вершина-работа» и типом логической взаимо- взаимосвязи связи между работами «окончание-начало» [30]. Дуги ориентированного графа задают связи между этапами проведе- проведения работ по реконструкции [50]. Пример такого графа представлен на рис. 11.6, в котором этапы вы- выполнения работ обозначены следующим образом: 1 — разработка техни- технического задания; 2 — проведение проектно-конструкторских работ; 3 — проведение тендера на строительство; 4 — разработка технологических маршрутов и процессов; 5 — закупка оборудования; 6 — строительство и реконструкция производственных помещений; 7 — демонтаж старого оборудования; 8 — установка нового оборудования; 9 — проектирование и изготовление оснастки; 10— отладка процессов и сдача цехов; 11 — организация освоения выпуска. Рис.11.6. Пример ориентированного графа, определяющего процесс проведения реконструкции 337
Оптимизация времени реконструкции (Т\) на основе упорядочения этапов выполнения проекта производится с использованием метода вет- ветвей и границ. Алгоритм метода ветвей и границ представляет собой процедуру пе- перебора всех допустимых решений и выбор из них оптимального (см. рис. 11.7). Формирование варианта Вычисление Ттекн очередного варианта Нет Отбросить вариант Рис. 11.7. Алгоритм оптимизации времени Tj реализации проекта на основе метода ветвей и границ Постановка задачи для оптимизации времени Т\, сводится к следую- следующему. Обозначим число этапов проекта — п. Для каждого этапа продол- 338
жительностью /; требуются ресурсы (ап... aim). Объем имеющихся ресур- ресурсов задан вектором Ъ = (Ь\... Ът). При добавлении к общепроизводственным ресурсам финансовых ре- ресурсов ат + 1 в объеме Ът + ь должно соблюдаться ограничение на финан- совые ресурсы в виде У^/* ^F, где/— использование финансовых /=0 ресурсов на каждом из этапов, a F— общее количество финансовых ре- ресурсов, предназначающихся для реконструкции. Оценка времени выполнения этапов работ при использовании ресурса j равно tt ay / bj, где: ay — объем ресурсов вида у, требующихся для выполнения работ на этапе /; Ъ} — объем ресурсов, которые могут быть использованы для выполнения работ на этапе /; /, — продолжительность этапа /. Вычисление оценок с учетом всех видов ресурсов производится сле- следующим образом. Время выполнения этапов проекта не может быть ни- ниже, чем максимальный по длительности путь ориентированного графа SKp. В то же время длительность выполнения проекта не может быть ни- ниже чем время, которое будет затрачено на выполнение всех этапов па- параллельно, если предположить, что этапы между собой не связаны "(Ч<%1 max X — • В этом случае формула для вычисления нижних оценок j=\;mi=i[ bj J продолжительности оптимального плана примет следующий вид: Т1 mavJ С • mov 1 н - mdxs окр, nidx^ tjaij Текущая нижняя оценка Тнтек (х)вычисляется по мере выполнения этапов проекта по формуле где SKp — продолжительность критического пути с учетом выполнения этапов проекта до момента времени г, //—продолжительность эта- этапов с учетом их выполнения до момента т. В качестве верхней оценки Тв принимается продолжительность некоторого допустимого решения. 339
Вычисления производятся согласно алгоритму, представленному на рис. 11.3. По результатам проведения соответствующих вычислений минималь- минимальное время проведения реконструкции Т\ будет равно Топт. Для моделирования ситуации расширения производства и оптимиза- оптимизации времени Т2 используется модель, которая в общем виде может быть записана следующим образом: Tj ->min,y =1Д A1.79) целевая функция минимизации срока окупаемости проекта; при ограничениях: уг, 01.80) /=и+1 j=k+l j=m+l ограничение по превышению объемов прибыли над объемами инвести- инвестиций; ±х^<Ь^ = пг 01.81) ограничение на объем имеющихся материально-сырьевых ресурсов; A1.82) ограничение на объем дополнительных материально-сырьевых ресурсов с учетом использования имеющихся; fjti)xi<k)Tj,j = \^ A1.83) 1=1 ограничение на имеющиеся производственные мощности; Kt (П.84) ограничение на дополнительные производственные мощности с учетом использования имеющихся; j=k=l i=m+\ 340
ограничение на дополнительное оборудование и материально-сырьевые ресурсы в пределах объема кредита; ,У;<5 (П.8б) ограничение на площадь под дополнительное оборудование; x,?Dl9i = u A1.87) ограничение для учета спроса на продукцию; х, <;/>,/=п A1.88) ограничение на заказ или план выпуска продукции; х, >0;z7>0;.y7>0 A1.89) ограничение на неотрицательность переменных; х,е/;.у,е/ A1.90) ограничение на целочисленность переменных, где Pj— стоимость единицы дополнительного оборудования видау; % — стоимость единицы дополнительных материально-сырьевых ресур- ресурсов видау; Tj— эффективное время использования единицы оборудо- оборудования видау на период планирования; 1, ..., к— виды имеющегося оборудования; 1, ..., т— виды используемых материально-сырьевых ресурсов; 1,..., п— виды производимой продукции; с, — разница ме- между ценой реализации единицы продукции вида / и переменными за- затратами на выпуск единицы продукции вида /; Д — спрос на продук- продукцию вида /; К + 1,..., К\ — виды дополнительного оборудования; kj — число единиц оборудования видау; 1у— кол-во сырья видау для про- производства единицы продукции вида /; Lj— объем имеющихся матери- материально-сырьевых ресурсов видау; т + /,..., ш\— виды дополнитель- дополнительных материально-сырьевых ресурсов; п + 1, ..., щ— новые виды продукции; Pt— заказ на продукцию вида /; s — свободная производ- производственная площадь; sj — площадь, необходимая для установки едини- единицы дополнительного оборудования видау; ty— время обработки еди- единицы продукции вида / на оборудовании видау; V— объем кредита; X/— объем выпуска продукции вида /; у^— число единиц дополни- дополнительного оборудования видау; z,— объем дополнительных матери- 341
ально-сырьевых ресурсов вида у; 2^cixl -W — валовая прибыль от реализации новых видов продукции; W— условно-постоянные из- издержки производства. Для перехода от эффективного времени работы оборудования к ре- реальному календарному времени используется коэффициент е, т.е.:щ = Tj, где 7} — календарное время использования оборудования видау. Для определения времени Тг необходимо выбрать max 7} С целью проведения более точного анализа возможен учет времени реализации продукции Rh в этом случае необходимо выбрать max В задаче оптимизации ис- тельного оборудования, которое должно использоваться при вы- выпуске новых видов продукции. 11.3.3. Анализ устойчивости моде- моделей в условиях изменения цен на пользования кредитных ресурсов выпускаемую предпри- при расширении номенклатуры f ^j ^ > j j v « v выпускаемой предприятием про- продукции, кредит используется для приобретения материально- менение параметров моделей, что влия- сырьевых ресурсов и дополни- r r ятием. В условиях нестабильности экономической среды происходит из- ет на решение задачи оптимизации. Об- Обратимся к исследованию проблемы устойчивости решения оптимизацион- оптимизационной задачи при изменении параметров модели. Рассмотрение данного вопроса интересно в условиях инфляции, когда цены на выпускаемую предприятием продукцию изменяются и это, следовательно, может привести к изменению производственной про- программы по номенклатуре и объемам выпускаемой продукции. Для этого рассмотрим три ситуации изменения цен на выпускаемую продукцию, где обозначим С,- — прибыль от производства единицы про- продукции данного вида, е — увеличение рыночных цен на продукцию предприятия вследствие инфляционных процессов, kt— коэффициент, учитывающий специфику вида продукции. Рассмотрим следующие три варианта изменения цен на продукцию предприятия. Первый вариант предполагает, что на все виды продукции цена будет изменяться одинаково, т.е.: С,- + 6. Второй вариант с помо- помощью коэффициента к учитывает изменение цен на каждый отдельный вид продукции, т.е.: С,-+ ekt. Третий вариант определяет ситуацию, когда можно оценить только интервал изменения цен с достаточно высокой достоверностью, т.е.: с, е \с}\ с}\ 342
Рассмотрим случай с, -+ct+?9i = \-n9? e [05оо]. ПустьX— множе- множество допустимых вариантов выпуска. X = {jc1,...,*^ } — варианты, упо- упорядоченные по возрастанию объемов выпуска продукции ?х/, j = l,N- Пусть х — оптимальное решение, при п L котором Y*cixi —максимально. п j Предположим, L = N, т.е. Xх/ — максимально, тогда м п , п j J{сi +?)= Yjxici + ?Xх/ j следовательно оптимальное решение max max сохраняется. п . Теперь предположим, что Xх/ — не максимально, т.е. множество i=l допустимых вариантов выпуска упорядочено следующим образом: Сравнив по прибыли jcl cjc;(/ = 1,...,I-1), получим, что: поскольку п i п ' п j п 1=1 1 1=1 ' 1=1 1 1=1 п и так как T^x^Cf — максимальна, а по условию е ?*? > s Y^xj . Следо- i=l i=l i=l вательно, для решений xl9...9xL оптимальное решение сохранится. Рассмотрим решения xL+ ,...,x . Для того, чтобы оптимальное ре- решение xL поменялось на xJ, должно выполняться условие: п /• (с,- +е)< 2>/(с,- +e),j = L + \,N, i=i 343
или: 1=1 1=1 1=1 1=1 В результате преобразований: п т п получаем П j П с^ 1=1 l l 1=1 я . п Z*/ - Z* Положим, = min j=L+\,...,N j^xj _ J^xl i=\ l i=l ' следовательно, при изменении ? в интервале [0; ?х] — оптимальное решение не меняется, если ? > ?х, то решение меняется на соответст- соответствующее xJ. Рассмотрим случай с, —» ci + А:^. Пусть X— множество допустимых вариантов выпуска. X = )xl9...9xN j— варианты, упорядоченные по возрастанию ^kjxj , j = \,N. Пусть jc — оптимальное решение, при п , котором Y*cixt —максимальная. П j Предположим, L = N9 т.е. Х^/ —максимальная, тогда i-l 344
п 1=1 V max max следовательно оптимальное решение сохраняется. п т Теперь предположим, что zJ^ixi — не максимальна, т.е. множество допустимых вариантов выпуска упорядочено следующим образом: Y-U XL XN) Сравнив по прибыли xL с xj на промежутке у = 1,...,Z - 1, получим, что: ?х/ (с,- + kte) i=l поскольку ixf-, у = 1,1-1 и так как y?txici — максимальна, а по условию Z^/x/ > Z^/x/ • /=1 i=l i=l довательно, на промежутке решений от xl9...9xL оптимальное решение сохранится. Рассмотрим решения xL+l9...9xN. Для того, чтобы оптимальное ре- решение х поменялось на xJ, должно выполняться условие: или: 345
получаем „^ /=l ' i=l Положим, б\ = min — — , следовательно, ех — /=1 /=1 это крайнее значение, при котором сохраняется оптимальное решение xL, если ?>ех, то решение меняется на соответствующее Рассмотрим случай с,- е [с,-1; с2]. Пусть оптимальное решение принад- принадлежит множеству допустимых решений, то есть хопт с X, область из- менения цен задана р = Рассмотрим случай, когда предприятие выпускает 2 вида продукции, т.е. п = 2 и с\ е [с\1; сх2]\ с2 е [с2х\ с22]. Осуществим выбор между двумя допустимыми вариантами х = = (jci1; JC21] и х2 = [xi2; x2] для различных вариантов изменения (с\\ с2). Положим: FmaxCx1) = с2х\ + с2х2 — прибыль при использовании ва- варианта jc1 при максимальных ценах; F^x1) = с\Х\ + с2х2 — прибыль при использовании варианта jc1 при минимальных ценах; Fmafa2) = с\2х\2 + с2х2 — прибыль при использовании варианта х2 при максимальных ценах; Fm[n(x2) = ci1*!2 + с2х2 — прибыль при использовании варианта х2 при минимальных ценах. Теперь рассмотрим два случая: В первом случае (см. рис. 11.8), когда ); ^maxC*1)] П [Fmin(x2); FmSK(x2)] = 0 для всех вариантов (сх; с2) оп- оптимально решение х2. Рис 11.8. Значение целевой функции в первом случае, когда области не пересекаются 346
Рассмотрим второй случай (см. рис. 11.9), когда [Fmia(x]); П [Fmin(x2); Fmm(x2)] * 0. П Puc.11.9. Значения целевой функции для второго случая, когда области пересекаются Найдем границу, разделяющую области, на которых оптимальны пер- первое и второе решения. Для этого определим F(xl) = clxu + с2х21 = с\х2 + + С2Х2 ~ F(x2), где с\И С2 — переменные, с\(х\1 + х\2) + Ci(x2 + X2) = 0 — уравнение прямой на плоскости Графическое представление предположения, что х\ < х\2 и x-i представлено на рис. 11.10. x] )=F(x2) Рис. 11.10. Области оптимальности первого и второго вариантов Область оптимальности 1-го решения (х1) с\<сх<с$ с\<с2<с\ 1 1^2 2 С\Х\ ¦+• с2х2 S C\JCj + ^2-^2 • Область оптимальности 2-го решения (х2) с\ <с\< с\ с\<с2< с\ \+с2х\< 347
Анализ устойчивости моделей управления кредитными ресурса- ресурсами предприятия позволяет опре- определить предел изменения цены по каждому виду выпускаемой про- продукции, при котором изначальное распределение кредита по статьям расходов сохраняется. При условии, что объемы прибыли должны превышать выплаты по креди- кредиту v, необходимо наложить дополни- дополнительное условие с\Х\ + cjXi > v для об- области оптимальности х1: с\Х\ + к, для х\ схх\ + с2х2 области 2 оптимальности v. Данную ситуацию иллюстрирует рис. 11.11. Область оптимальности л:1 при условии возвращения кредита Область оптимальности х2 при условии возвращения кредита V/J(? Рис. 11.11. Области оптимальности первого и второго вариантов при условии возвращения кредита 11.4. Динамическая модель оптимизации производственной программы предприятия В предыдущем разделе была сформулирована модель опре- определения оптимальной произ- производственной программы для си- ситуации, когда все необходимые материально-сырьевые ресурсы уже поставлены на предпри- предприятие. На практике это не всегда выполняется, к тому же во мно- многих случаях при определении производственной программы необходимо еще учитывать и технологическую последовательность выполнения производственных 348 Динамическая задача оптимизации производственной программы позволяет наиболее рациональным образом исполь- использовать производственные мощности пред- предприятия при заданной технологической последовательности обработки посту- поступающего на вход производственной сис- системы потока материально-сырьевых ре- ресурсов. Эта задача относится к классу задач оптимального управления, но при дискретизации входного потока и ряде до- дополнительных требований может быть сведена к задаче линейного программиро- программирования.
операций при выпуске той или иной продукции. Исходя из этого рас- рассмотрим ситуацию, когда материально-сырьевые ресурсы динамиче- динамически поступают на вход производственной системы при однозначно за- заданной последовательности их обработки по всем операциям производственного цикла. Иными словами, для того, чтобы произве- произвести продукцию вида j (/' = 1, ... т) необходимо провести обработку исходного материально-сырьевого потока на Nj последовательных операциях. Графически эта схема может быть представлена в виде л- сети [5] следующего вида: Рис. 11.12 Здесь U/J) — поток материально-сырьевых ресурсов для у'-го вида производимой продукции (/ = 1,..., т). Обработка исходного сырья и ма- материалов проходит в заданной технологической последовательности с использованием производственных ресурсов (станков, механизмов, обо- оборудования, специалистов и т.д.), объем которых на предприятии задан вектором С = (Сь ..., См)- Для того, чтобы обеспечить единичную производительность на опе- операции у по z-му виду выпускаемой продукции (обозначим ее О у), необхо- необходимо вьщелить на эту операцию объем производственных ресурсов за- заданный вектором a^ = (a/y;...;aiyf) . Если же необходимо обеспечить производительность qy на операции OiJ9 то, соответственно, объем произ- производственных ресурсов должен быть равен а^0 =(a-jqiJ;afjqij;...;a%ir^.)- Пусть известны Zp — постоянные затраты производства, at — перемен- переменные затраты на выпуск одной единицы продукции вида /, dt — цена реа- реализации единицы продукции вида i (/ = 1,2,..., m). 349
Тогда для того чтобы задать производственную программу, которая давала бы наибольшую валовую прибыль, необходимо максимизировать следующую целевую функцию: 1=1 о Здесь pi = di - щ\ qiN. — производительность (интенсивность выхода готовой продукции) на последней операции по /-му виду выпускаемой продукции; [0, 7] период планирования. При этом должны быть выпол- выполнены ограничения на объем используемых производственных ресурсов в каждый момент времени и балансовые ограничения на объем обработки по каждой операции Оу, которые соответственно могут быть записаны следующим образом: m N, ZIfy-«4*c/ ' = 1-., м; v/€[o,n /=1 у=1 Здесь qu{t) — производительность на операции / /-го вида продукции в момент времени /; A =j - \j); qi0(t) = Ufa); Уу{0) — объем незавершенно- незавершенного производства на операции Оу в момент времени / = 0. Кроме того, если заданы ограничения на спрос по каждому виду про- продукции, то появляется еще одно ограничение вида т \qiN\t)dt<bi / = l,...,w. 0 Здесь hi — объем спроса на продукцию вида i. Решением задачи A1.91)-A1.94) является множество производительностей qift) (/ = 1,..., m;j = 1, ..., Щ, не нарушающих ограничений A1.92)-A1.94) и максимизирующих функцию A1.91). В этом виде эта задача может быть ре- решена с использованием аппарата теории оптимального управления [37]. Динамика поступления материально-сырьевых потоков производства, за- заданная в задаче A1.91)-A1.94) непрерывными функциями времени Ufa), ..., Um(t), в реальных условиях часто определяется динамикой финансовых пото- 350
ков предприятия (кредиты, деньги, получаемые от реализации продукции, не- непроизводственные доходы предприятий и т.д.)- В этом случае задача A1.91X11.94) принимает несколько видоизмененную форму, а именно: на вход производственной системы, производящей m видов продукции поступа- поступает поток финансовых ресурсов U(t). Необходимо таким образом использовать эти деньги, закупая материально-сырьевые ресурсы производства, чтобы мак- максимизировать целевую функцию A1.91) при ограничении A1.92)-A1 -94). Будем считать, что цена одной единицы материально-сырьевых ре- ресурсов вида / (/ = 1, 2, ..., т) есть величина J3/. Тогда необходимо исход- исходный финансовый поток Щ\ разбить на т составляющих U\(t\ т Um(t), так чтобы ??/,(/) = ^@ • Интенсивность же материально-сырьевых потоков тогда будет задана величинами U\(t) I рь С/гС^УРг»"---» ?/«(*УРлр В этой ситуации, обозначив Ufa) I Pi через qi0(f) (/ = 1, ..., т\ а также доба- т вив к ограничениям A1.92)-( 11.94) ограничение Е^0(ОА =^@> полу- чили задачу выбора оптимальной производственной программы пред- предприятия в условиях динамического финансового потока, используемого для закупки материально-сырьевых ресурсов. Учитывая сложность решения задачи A1.91)-A1.94) в общем виде, исследуем данную задачу в условиях дискретизации входных и выход- выходных потоков производственной системы. Далее, будем полагать, матери- материально-сырьевые ресурсы поступают ежедневно на вход производствен- производственной системы в объемах (/^(/ = 1,2,...,т;/ = 1,2,,...,Г). Здесь Т— число дней в периоде планирования. Тогда задача оптимизации производст- производственной программы может быть сформулирована следующим образом: здесь q\N. — дневной объем выпуска готовой продукции на операции Ом в день t. При ограничениях к к Vi№+ I Uif < I?I{ , к = 1Д....Г , A1.96) /1 /1 (П-97) 351
m Nt к , I Z Z44 - c/'Z = b2,...,w; * = 1,2,...,Г A1.98) 14,*М = 1А....»«. (H.99) Задача A1.95)-( 11.99) является линейной относительно переменных qy и может быть решена методами, изложенными в работах по линейной оптимизации, используя, например, широко известное программное средство СИПЛЕКС. Методы линейной оптимизации могут использоваться в некоторых ча- частных случаях и при решении задачи A1.91)-A1.94). Далее будем пола- полагать, что ограничение A1.94) отсутствует, Ut(t) = О V/ е[0,7] и К^-(О) > О Очевидно, что в этом случае для максимизации функционала A1.91) необходимо в первую очередь производственные ресурсы выделить на операции О,и, ,...,Отпт, то есть на последние операции по каждому виду выпускаемой продукции. Таким образом, необходимо максимизировать целевую функцию вида т F = Z С*Щ -> max A1.100) при ограничениях т , ZftY,-0^ <ск,к=1Х...М A1.101) qlNi>0. A1.102) Очевидно, что если интервал планирования [0,7] достаточно корот- короткий, то, решив задачу A1.100)-( 11.102), мы определим оптимальное ре- решение задачи A1.91)-A1.94) для указанного выше частного случая. Рас- ViN. @) смотрим ситуацию, когда это не так, т.е. 7 > min—'¦ , / = 1, т, и введем . ViN@) обозначение г = mm—¦ ,/ = \,m . 352
В этом случае объем незавершенного производства на одной из по- последних операций будет исчерпан до наступления момента времени т . Таким образом, решение задачи A1.100)-( 11.102) перестает быть допус- допустимым для любого момента г' > т, и, следовательно, оно должно быть • Ч() скорректировано. Пусть mm достигается на каком-либо номере / 9iNi A < / < ш) выпускаемой продукции. После того как в момент времени г'закончена обработка незавер- незавершенного производства на операции OiN(, для того, чтобы в дальнейшем выпускать продукцию вида /, производственные ресурсы должны быть выделены и на операции Ош и Ош . Следовательно, задача оптималь- оптимальной загрузки оборудования в этом случае будет выглядеть следующим образом: m ILPMiNi ~>niax A1.103) /=1 при ограничениях: m , , ЪЩащ +Щ-х *a/Vi ^*>* = 1>2->1Я A1.104) qiN.>O;qlNl<qiNllt A1.105) Далее необходимо выяснить выполняется ли неравенство Т-т <mm< ¦ -; —> i = l,m. A1.106) [ J Если неравенство A1.106) выполняется, то это означает, что на од- одной из операций, на которую были выделены ресурсы производства, закончена обработка и, следовательно, существует момент времени тп, на котором достигается минимум в правой части неравенства A1.106). Продолжая эту процедуру итеративного решения задач линейного программирования, мы разобьем интервал времени [09Т] на конечное число отрезков, на каждом из которых будет сохраняться одно и то же в течение определенной продолжительности распределение производст- производственных ресурсов, обеспечивающих при сделанных предположениях оп- оптимальное решение задачи A1.91)-A1.94). 12 Исследование операций JJ-J
В заключение необходимо отметить, что характер распределения производственных ресурсов на интервалах времени [0, г1],[г1,г2], ... [т',Т] зависит не от величины объема незавершенного производства на операциях Ог, а от последовательности достижения минимумов в со- соотношениях вида: mm A1.107) Здесь У}/ — объем незавершенного производства на операции Otj при к-и итерации решения задачи линейной оптимизации A1.100)-( 11.102); 1 < к < I qif — соответствующие производительности при решении ?~й задачи оптимизации. Таким образом, при сохранении последовательно- последовательности достижения минимумов на операциях в соотношении A1.107) для различных Vtj / = 1,ю; у = 1,Л^ меняются величины интервалов [0, г1], [г1, г2],... [г', Г], а их количество и распределение производствен- производственных ресурсов по операциям сохраняется. Геометрическая интерпретация этого факта состоит в следующем. Целевая функция A1.100) при последовательном решении задач опти- оптимального распределения ресурсов является невозрастающей ступенчатой функцией времени, которую мы обозначим F(t). Она имеет вид, пред- представленный на рис. 11.8. F(t) f f Г Т t Рис, 11.13. График ступенчатой функции прибыли F(t) Если сохраняется последовательность операций, на которых достига- достигается минимум в соотношении A1.107), то график F(t) при варьировании Уу@) будет сохранять количество ступеней и их высоту, а изменяться будут только интервалы времени, на которых сохраняет постоянство функция F(t). 354
11.5. Нелинейная транспортная задача внутригородских пассажирских перевозок Ниже будет рассмотрена динами- динамическая транспортная задача городских * Динамической транспорт- r r r ной задаче показателем качества пассажирских перевозок, в которой исходными данными являются интен- интенсивности поступающих пассажиров на портного обслуживания. В уело- виях существования альтернативных видов транспор- транспорта большие потери времени на ожидание транспортного обслу- остановочные пункты, корреспонден- корреспонденции пассажиров, т.е. распределение поступающего пассажиропотока по решения является величина по- потерь времени на ожидание транс- - живания могут привести к тому, пунктам прибытия, и количество что тентом будет выбран дру- транспортных единиц на каждом мар- гой вид транспорта. шруте. Задачей менеджеров, занимающихся планированием такого рода ав- автоперевозок является распределение существующего автобусного парка города таким образом, чтобы, с одной стороны, обеспечить перевозку всего пассажиропотока, и, с другой - минимизировать общие потери пас- пассажиров на ожидание транспортного обслуживания. Последнее обстоятельство имеет значение в рыночной экономике в связи с тем, что увеличение времени ожидания транспортного обслужи- обслуживания на остановочных пунктах приведет к тому, что пассажиры могут избрать другой вид транспорта при планировании внутригородских по- поездок, что в свою очередь приведет к потере прибыли автотранспортного предприятия. Перейдем непосредственно к рассмотрению задачи оптимального распределения транспортных ресурсов при перевозке пассажиров по маршрутам городского транспорта. При решении этих задач такие ис- исходные параметры, как интенсивность пассажиропотоков, объем сущест- существующих транспортных ресурсов и некоторые другие заданы неточно, и, в лучшем случае, существуют интервальные оценки перечисленных пара- параметров. Это обстоятельство приводит к необходимости исследовать ус- устойчивость решений при варьировании перечисленными исходными данными. Рассмотрим задачу распределения п автобусов по т городским мар- маршрутам (п>т). Обозначим интенсивность поступления пассажиров на остановку а, следующих до остановки р на маршруте / через остановку Uap(t) . (/ = 1,...,/я;я = 1,...,/и/;/? = 1,...,/и/;а * Р), где т1 - число остановок 12* 355
на маршруте. Через qla (/) обозначим интенсивность обслуживания пас- пассажиров на остановке а маршрута / в момент времени t. Здесь и далее под интенсивностью транспортного обслуживания бу- будем понимать интенсивность поступления пассажиров в транспортное средство в заданный момент времени t. Определим qa(t) следующим образом: Здесь /^ — момент прибытия автобуса j на остановку а маршру- маршрута /; /^ — момент отправления автобуса j от остановки а маршру- маршрута 1\М— число автобусов, проходящих через остановку а маршрута I. Для введенных обозначений очереди на автобусных остановках вы- вычисляются исходя из уравнения at где Uae(f) — интенсивность поступления пассажиров на остановку а маршрута /, вычисляемое из соотношения l Ulap(t). Va(t)— очередь пассажиров на остановке а маршрута / в момент времени t; Bla ^ j — количество свободных мест в автобусе j мар- маршрута /, прибывшего на остановку а, после выхода пассажиров на этой остановке. 356
Здесь vV \t{, I — объем очереди пассажиров на остановке к маршрута /, маршрут которых заканчивается за остановкой а в момент прибытия автобуса j на эту остановку (к= 1, ..., а- 1); v'( t'm) — объем пассажиров на остановке к маршрута / в момент прибытия автобуса j на эту оста- остановку; Waem — вместимость автобуса; t-L , t-J, — соответственно мо- момент прибытия и отправления автобуса j с остановки к маршрута /. Будем обозначать время, которое пассажир, поступивший на останов- остановку а маршрута / в момент t, тратит на ожидание транспортного обслу- обслуживания Ta(i). Вычисляется Tal(t) исходя из следующего соотношения: va(*)= J qlk(t')dt',a = U,ml;l = U.,m, t где ml —число остановок на маршруте/. Задача оптимального распределения транспортных средств, при задан- заданных корреспонденциях пассажиров, состоит в том, чтобы осуществить та- такое распределение автобусов по маршрутам, которое минимизирует общие потери времени пассажиров на ожидание транспортных средств. Этот кри- критерий равнозначен критерию минимизации затрат времени пассажиров на транспортное обслуживание, если предположить, что скорость перевозки пассажиров является исходным параметром задачи. Естественным ограни- ограничением этой задачи является то, что все пассажиры, прибывшие на оста- остановки, до заданного момента времени должны быть перевезены. Иными словами, необходимо минимизировать функционал т Щ Т E ? \Tla{aht)q{aht)dt A1.147) при ограничениях т п;а,>1;1 = \,...,т A1.148) Т Т \ql(a t)dt=\Ul(t)dt;l = <0 357
Здесь Tal(oi,t)— потери времени пассажиров, прибывших на оста- остановку а маршрута / в момент t, при условии, что на маршрут / выделе- выделено а, автобусов; А — число всех возможных вариантов распределения автобусов; qd(ai,f) — интенсивность транспортного обслуживания пас- пассажиров на остановке а маршрута /, если на маршрут / выделено a t ав- автобусов. Интервал времени (to,T) — это интервал, в течение которого планируется распределение транспортных средств для перевозки пас- пассажиров. Рассмотрим алгоритм решения полученной нелинейной задачи дис- дискретной оптимизации, используя схему метода ветвей и границ: 1. Выбирается начальное допустимое распределение автобусов, задан- заданное вектором а = (а[,...9ат)9 задающее распределение автобусов по ( п \ маршрутам Х<я/ <л , вычисляется значение функционала A1.147) l/=i ) при заданном распределении автобусов по маршрутам. Получена верхняя оценка оптимального решения. Значение функционала A1.147) при начальном распределении транспортных средств далее будем называть «рекордом». 2. Вычисление нижней оценки конструируемого решения, связанного с другим распределением транспортных средств по маршрутам для лю- любого момента ?. w* (*) = *„(*, О + I I \Ti(aht)qla(aht)dt. A1.150) l=la=\t' Первое слагаемое первой части формулы A1.150) задает фактические потери времени пассажиров на ожидание транспортного средства до мо- момента времени tf. Второе слагаемое задает предполагаемые потери времени пассажиров на ожидание транспортного средства, перевозка которых будет осуществ- осуществлена в период времени (tr ,Г), при условии неограниченной вместимости транспортных средств. Уточнение нижней оценки производится через ин- интервалы времени, кратные периоду следования автобусов на маршрутах, и сравнивается с «рекордом», пока не будет реализована одна из альтерна- альтернатив: а) получено решение, у которого значение функционала A1.147) мень- меньше, чем у «рекорда». В этом случае значение функционала A1.147) 358
для нового решения назначается «рекордом» и осуществляется пере- переход к пункту 2, если не все варианты распределения транспортных средств по маршрутам исследованы, и выход из алгоритма, если ис- исследованы все варианты распределения транспортных средств; б) нижняя оценка исследуемого решения на момент времени t1 оказалась выше значения «рекорда». В этом случае осуществляется выбор нового варианта распределения транспортных средств и пере- переход к пункту 2. Одной из проблем, возникающих при распределении транспортных средств по маршрутам, является неточность исходных данных, в частно- частности неточная информация о корреспонденциях пассажиров, перевозимых городским пассажирским транспортом. Причина этого состоит в том, что корреспонденции пассажиров вычисляются, как правило, на основе ин- информации о входе-выходе пассажиров на остановочных пунктах. Этих данных недостаточно, чтобы точно вычислить интенсивность коррес- корреспонденции пассажиров на заданном временном интервале, и возможна только интервальная оценка корреспонденции пассажиропотоком. Рассмотрим способ построения интервального задания корреспон- корреспонденции пассажиров по остановочным пунктам в предположении стацио- стационарности поступающих пассажиропотоков на остановочные пункты в интервале между двумя любыми приходами автобусов. Введем следующие обозначения: Uа — объем пассажиров, прибывших на остановку а маршрута /; иар— объем пассажиров, прибывших на остановку а маршрута /, следующих до остановки Д. Очевидно, выполняется соотношение: 0=1 0фа Обозначим через Ul\ и Ul\ соответственно нижнюю и верхнюю границы величины U ~; В а — объем выхода пассажиров из транспорт- транспортного средства на остановке а маршрута /. Ниже приводятся формулы вычисления верхних и нижних оценок ве- величины U^n на основе информации о входе-выходе пассажиров (/= 1, ... т; J3= 1,.,.,/и/;: 359
тП _ 11 0,-если- I 1 \ >U[ ыг ml i=2 ml i=2 \и[-В12,-если-и[-В12 ul\ = 0,-если- /=2 mi 12 [ - Bl2 ,-если - U[ -Bl2< Blj 0,-если- k [ k=i Щ- Z Внесли- Y,Blk<U[ k=i k=i кФ] кФ] ulf=. U¦,-если-UI <Blj Рассмотрим, как может быть использована информация об интер- интервальном задании корреспонденции для решения задачи о распределении транспортных средств по маршрутам. Введем следующие определения. 360
Задача A1.147)-( 11.149) устойчива при изменении корреспонденции пассажиропотоков на маршруте /, если существует такое е > О, что при уменьшении lfap не более чем на 8 для всех а, Д за исключением иат^^ 1,.») пц\ Р = Ь—> шй а ф р), и сохранении соотношения щ I I j X и* = Ua (т.е. увеличении С/^ на величину е{пц - а +1)) сохраня- ется вектор а* =(а1*,...,ат*), задающий оптимальное распределение ав- автобусов по маршрутам и значение функционала A1.147). Задача A1.147)-( 11.149) устойчива по структуре решения при измене- изменении корреспонденции пассажиропотоков на маршруте /, если существует такое ?, что при уменьшении lfap не более чем на е для всех а, Д за ис- исключением if от, G = 1,..., Щ\ Д = 1>—> Щ\ & * Р) сохраняется вектор а* =(а{9...9ат*)9 задающий оптимальное решение задачи. Очевидно, что для устойчивости решения на маршруте / необходимо и достаточно вы- выполнения следующего соотношения: min J где В?у — количество свободных мест в транспортном средстве для рей- рейса у на остановке а маршрута /; L— число рейсов; mi— число оста- остановок. Величину ?иНт далее будем называть интервалом устойчивости задачи A1.147ХП.149). Для того чтобы определить интервал устойчивости по структуре ре- решения при изменении корреспонденции пассажиропотоков, необходимо решить следующую задачу нелинейной оптимизации: max?cw A1.151) со{а\ ?ст) < а>(а\ ест\ i,\...M\ A1.152) ест>0. A1.153) Здесь М— число всех возможных вариантов распределения транс- транспортных средств по маршрутам; со(а*9 ?ст)— значение функционала A1.147) для оптимального распределения транспортных средств по мар- маршрутам при уменьшении l/^ на всех остановках, за исключением по- последней на шшшину 5ж, при сохранении соотношений, 361
где со(а, ?ст) — значение функционала A1.147) для варианта at распре- распределения автобусов по маршрутам. Очевидно, что если задача A1.147)-( 11.149) устойчива, то она устой- устойчива и по структуре решения. Учитывая монотонное неубывание функционала A1.147) при возрас- возрастании ?ст, легко видеть, что достаточным условием того, чтобы ест > О, является единственность решения а*, минимизирующего значение функционала A1.147). Отсюда, в частности, следует, что необходимым условием того, чтобы ?ст = 0, в задаче A1.150)-A1.152) будет неединст- неединственность решения задачи A1.147)-A1.149). Легко понять, что решение задачи задаче A1.150)-A1.152) при изменении корреспонденции пасса- пассажиропотоков в смысле определения 11.148 не может быть больше min Ula. a=l,...,w/ Исходя из определения, необходимым условием того, чтобы ?ст = min t/#, является совпадение решения A1.147)-( 11.149) для а=1,...,т/ корреспонденции lfap с решением для корреспонденции, у которых l/ap = = сЛгш, (/ = 1,..., т) и t/a/?= 0 для всех р = l,...,wM;/? * а. Учитывая конечное число всех вариантов распределения автобусов по маршрутам и монотонное возрастание функционала A1.147) при измене- изменении корреспонденции пассажиров, получим следующее утверждение. При изменении корреспонденции пассажиров от 0 до minf/a интервал изменения корреспонденции может быть разбит на конечное число от- отрезков так, что каждому отрезку, в котором изменяется ест, будет соот- соответствовать один и тот же вектор at, задающий оптимальное распреде- распределение автобусов по маршрутам. 11.6. Задача оптимизации инвестиционного портфеля В сложившейся мировой практике фондового рынка под инвестици- инвестиционным портфелем понимается некая совокупность ценных бумаг, при- принадлежащих физическому или юридическому лицу, выступающая как 362
целостный объект управления. Это означает, что при формировании портфеля и в дальнейшем, изменяя его состав и структуру, менеджер- управляющий формирует новое инвестиционное качество. Основную проблему, которую необходимо решать при формировании портфеля ценных бумаг, составляет задача распределения инвестором определен- определенной суммы денег по различным альтернативным вложениям (например, акциям, облигациям, наличным деньгам и др.) таким образом, чтобы наилучшим образом достичь своих целей. В первую очередь инвестор Одной из проблем фондового рынка является создание диверси- диверсифицированного портфеля ценных бумаг, доходность которого была бы наибольшей. В условиях неточного прогноза изменения курса по каж- каждому виду ценных бумаг необходи- необходимо оценивать влияние отклонения курсовых стоимостей от наиболее вероятных на структуру портфеля. стремится к получению макси- максимального дохода за счет: выиг- выигрыша от благоприятного измене- изменения курса акций, дивидендов, получения твердых процентов и т.д. С другой стороны, любое вложение капитала связано не только с ожиданием получения дохода, но и с постоянной опасностью проигрыша, а значит в задачах формирования портфеля ценных бумаг необходимо учитывать риск. В принципе для создания портфеля ценных бумаг достаточно инвестиро- инвестировать деньги в какой-либо один вид финансовых активов. Но современ- современная экономическая практика показывает, что такой однородный по со- содержанию портфель (недиверсифицированный) встречается очень редко. Гораздо более распространенный формой является так называе- называемый диверсифицированный портфель, т.е. портфель с самыми разнооб- разнообразными ценными бумагами. Использование диверсифицированного портфеля устраняет разброс в нормах доходности различных финансо- финансовых активов. Иными словами, портфель, состоящий из акций разнопла- разноплановых компаний, обеспечивает стабильность получения положительно- положительного результата. Смысл портфеля — улучшить условия инвестирования, придав сово- совокупности ценных бумаг такие инвестиционные характеристики, которые недостижимы с позиции отдельно взятой ценной бумаги и возможны только при их комбинации. Доходы по портфельным инвестициям представляют собой валовую прибыль по всей совокупности бумаг, включенных в тот или иной портфель с учетом риска. Возникает проблема количественного соот- соответствия между прибылью и риском, которая должна решаться опера- 363
тивно в целях постоянного совершенствования структуры уже сформи- сформированных портфелей и формирования новых в соответствии с пожела- пожеланиями инвесторов. Надо сказать, что указанная проблема относится к числу тех, для выяснения которых достаточно быстро удается найти общую схему решения, но которые практически неразрешимы до кон- конца. С учетом инвестиционных качеств ценных бумаг можно сформиро- сформировать различные портфели ценных бумаг, в каждом из которых будет соб- собственный баланс между существующим риском, приемлемым для вла- владельца портфеля, и ожидаемой им отдачей (доходом) в определенный период времени. Соотношение этих факторов и позволяет определить тип портфеля ценных бумаг. Итак, тип портфеля — это его инвестиционная характеристика, осно- основанная на соотношении дохода и риска. При этом важным признаком при классификации типа портфеля становится то, каким способом, при помощи какого источника данный доход получен: за счет роста курсовой стоимости или текущих выплат дивидендов, процентов. Следует отметить, что одно из «золотых» правил работы с ценными бумагами гласит: «нельзя вкладывать все средства в ценные бумаги - не- необходимо иметь резерв свободной денежной наличности для решения инвестиционных задач, возникающих неожиданно». Данные экономического анализа подтверждают, что при определен- определенных допущениях, таких как желаемый размер денежных средств, предна- предназначаемый на непредвиденные цели, так и предполагаемый размер де- денежных средств на трансакционные нужды зависят от процентной ставки. Поэтому инвестор, вкладывая часть средств в денежную форму, обеспечивает требуемую устойчивость портфеля. Денежная наличность может быть конвертируема в иностранную валюту, если курс нацио- национальной валюты ниже, чем иностранной. Таким образом, помимо сохра- сохранения средств, достигается увеличение вложенного капитала за счет кур- курсовой разницы. Мы рассмотрели принципы формирования портфеля в качественном отношении. Не менее важен количественный аспект проблемы. Сколько ценных бумаг должно быть в портфеле? Теория инвестиционного анализа утверждает, что простая диверси- диверсификация, т.е. распределение средств портфеля по принципу «не клади все яйца в одну корзину», ничуть не хуже, чем диверсификация по от- отраслям, предприятиям и т.д. Кроме того, увеличение различных активов, т.е. видов ценных бумаг, находящихся в портфеле, более 15 видов не да- 364
ет значительного уменьшения портфельного риска. Максимальное со- сокращение риска достижимо, если в портфеле отобрано от 10 до 15 раз- различных ценных бумаг; дальнейшее увеличение состава портфеля нецеле- нецелесообразно, так как возникает эффект излишней диверсификации, которого необходимо избегать. Излишняя диверсификация может привести к таким отрицательным результатам, как: S невозможность качественного портфельного управления; S покупка недостаточно надежных, доходных, ликвидных ценных бумаг; S рост издержек, связанных с поиском ценных бумаг (расходы на пред- предварительный анализ и т.д.); S высокие издержки при покупке небольших партий ценных бумаг и т.д. Издержки по управлению излишне диверсифицированным портфелем не дадут желаемого результата, так как доходность портфеля вряд ли бу- будет возрастать более высокими темпами, чем издержки в связи с излиш- излишней диверсификацией. Следует отметить, что формирование и управление портфелем - об- область деятельности профессионалов, а создаваемый портфель — это то- товар, который может продаваться либо частями (продают доли в портфеле для каждого инвестора), либо целиком (когда менеджер берет на себя труд управлять портфелем ценных бумаг клиента). Как и любой товар, портфель определенных инвестиционных свойств может пользоваться спросом на фондовом рынке. Одним из действенных методов оценки при составлении инвестици- инвестиционного портфеля служит моделирование. Моделирование позволяет в короткие сроки получить требуемые инвестиционные характеристики будущего портфеля в зависимости от складывающейся конъюнктуры рынка. Рассмотрим следующую оптимизационную модель, связанную с формированием инвестиционного портфеля. Пусть инвестор обладает свободными финансовыми ресурсами в объ- объеме F на периоде времени [0,7], может приобрести лоты (пакеты) акций VhV2, ..., Vm где Vt— объем лота по /-му виду ценных бумаг. (/ = 1,...,«). Необходимо выбрать те лоты акций, купив которые в момент времени / = 0и продав в момент времени t = Г, инвестор обеспечивает наибольший прирост финансовых средств AF. Формально эта задача мо- может быть представлена так: Jj^ A1.154) 365
A1.155) х,е {0,1},/=1...л A1.156) Здесь Xj = 1, если z-й лот ценных бумаг приобретается, и хх= 0 в противном случае. В задаче A1.154)-( 11.156) в качестве целевой функции выбрано вы- выражение, состоящее из 2-х слагаемых, первое из которых — это выручка от продажи ценных бумаг по цене Д в момент времени / = Т, которые были приобретены в момент времени / = 0 по цене Л,. Второе слагаемое п (F- YyixiA<i)(y + a)n — это остаток денежных средств после формиро- вания портфеля ценных бумаг в количестве, заданном вектором х = (jci..jcw). Учитывая то, что в общем случае эта сумма может быть разме- размещена на депозите в банке под процент а, появляется дополнительный множитель A + а)к, где к — это число периодов начисления процентов в интервале @, 7). Например, если @,7) — это временной интервал про- продолжительностью в один год, а проценты начисляются раз в квартал, то к = 4. В дальнейшем будет рассмотрен частный случай целевой функции A1.154), когда интервал @,7) достаточно короткий, и поэтому величина A + а)к из-за малости аи к близка к единице. Поэтому целевая функция A1.154) будет иметь вид: t VtXiPi + (F - t У(хЛ) max. Так как постоянная F не оказывает влияния на решение, обозначив (Д - Я/) через #, получим следующую целевую функцию вида: f ^х,г/. A1.154а) max Согласно [39], эта задача является задачей о рюкзаке с одномерными ограничениями и принадлежит к числу так называемых NP-трудных за- задач, характеризующихся экспоненциальным ростом объема вычислений с ростом размерности задачи. Для решения приведенной задачи может быть использована следую- следующая схема метода ветвей и границ. Шаг1. Вычисление верхней оценки оптимального значения целевой функции происходит следующим образом. Все пакеты акций упорядочи- Збб
Pi ваются по величине отношения — (/=1...л). Пронумеруем все пакеты Я/ соответствующим образом и получим — > -^- > ... > ——. Далее в пер- Х\ Я2 Лп вую очередь финансовые ресурсы выделяются для ценных бумаг первого вида, затем второго и т.д. до того момента, пока остатка денежных средств станет недостаточно для приобретения полностью пакета акций вида 1 в объеме К/. В этой ситуации снимаются ограничения на приобре- приобретение всех акций пакета вида / и приобретаются акции вида / в макси- максимально возможном объеме. Это количество v\ вычисляется из формулы I Fl~X w 1 Vj = , где F — остаток финансовых средств после приобретения Я/ первых/- 1 пакетов акций A <1<п). Далее верхняя оценка прибыли вы- вычисляется по формуле 1=1 1=1 Шаг 2. Вычисление нижней оценки целевой функции осуществляется по формуле /=1 Ы После того как вычислены верхняя и нижняя оценки прибыльности для оптимального решения, исследуются все варианты формирования портфеля ценных бумаг, вычисляя при этом текущие верхние оценки для решения. Шаг 3. Вычисление текущих верхних оценок Рвтек. при анализе оче- очередного варианта портфеля ценных бумаг производится каждый раз по- после выделения финансовых средств на приобретение очередного паке- пакета. Эта оценка складывается из прибыли, полученной от приобретения ценных бумаг, на которые уже выделены деньги, и прибыли оставших- оставшихся ценных бумаг, вычисляемой по правилу получения Рв. При этом, ес- если окажется, что Рвтек < Р", то данный вариант формирования портфеля не рассматривается. В противном случае в портфель включается оче- очередной пакет акций, и снова вычисляется Рвтек. В итоге либо анализи- анализируемый вариант портфеля будет отвергнут либо в результате будет сформирован пакет, прибыль которого больше нижней оценки Рн. В 367
этом случае в качестве нижней оценки принимаем полученное значение прибыли от последнего портфеля ценных бумаг и переходим к анализу нового варианта формирования портфеля. Работа алгоритма заканчива- заканчивается либо после перебора всех вариантов формирования портфеля, и тогда оптимальным будет тот вариант, которому соответствует послед- последнее значение Р", либо в случае, когда получен вариант портфеля, при- прибыль по которому равна Р6. Алгоритм решения задачи A1.154)-( 11.156) с учетом множителя A + ос)к в целевой функции A1.154) будет отличаться от описанного выше тем, что лоты, для которых ^-< (\ + а)к при формировании портфеля щ рассматриваться не будут. Одной из проблем, возникающих при практическом использовании решения предложенной задачи, является достоверность прогноза стои- стоимости ценных бумаг д (/ = 1, ..., п). Если известна функция распределе- распределения случайных величин, задающих возможную прибыль по каждому ви- виду ценных бумаг, то выбирается портфель, максимизирующий математическое ожидание выигрыша, либо минимизирующий риск фи- финансовых потерь (среднее квадратичное отклонение). Схема решения и результаты для данной задачи подробно описаны в работе [5]. Другим подходом использования решения задачи в условиях неточ- неточного прогноза является анализ чувствительности решения к изменению величин д . При этом возможны четыре варианта. В первом случае считается, что известны минимальные значенияд , и необходимо вычислить, насколько могут быть увеличены значения д , чтобы оптимальное решение задачи сохранилось, т.е. необходимо определить такое ем > 0, чтобы при увеличении всех Д на любое ее@,ем)решение задачи сохранилось. Во втором случае предполагает- предполагается, что д меняются по правилу Д +kt89 где kt— коэффициент, раз- разный для каждого вида /. В третьем случае предполагается, что д. ме- меняются по правилу p.+i*?, где 6 = 0.00001 *тт{Д}, ет = = /* 0.00001 *тт{Д}, se@y?M), i— итерационный шаг. В четвертом случае предполагается, что д на момент времени Т могут принимать значение в интервале \fi\ >р}\ т^Д в Г/S/ > р} 1, 368
Рассмотрим первый случай. Пусть множество Jf = <л: ...л: >, где xj (j = \,Mj — это n-мерный вектор с булевыми переменными— множе- множество всех возможных решений задачи A.1а)-A.3), и пусть эти решения упо- рядочены по возрастанию величин Y.xTvi [т = \,М\. Пусть х е X яв- является оптимальным решением. Рассмотрим, что произойдет со значением целевой функции A1.154а) при увеличении д для всех /=1.. .п на одно и то же значение ? е @9ем). Введем функции f (е) = X Av№i +*)»(/ = 1,Л/J и вычислим производную каждой функции / {?) по Б . Получим \vt , (/ = Щ . = | ? xfafit Полученное выражение для производных fl(s) позволяет сделать вывод, что эти функции являются неубывающими линейными функция- функциями от е и наибольшее значение имеет производная функции fM (s), т.е. Поэтому графически поведение функций f\s) может быть изобра- изображено следующим образом: fm(e),m<M Puc.ll.14 Таким образом, функция fM(s) при ? =0 в силу оптимальности х имеет большее значение, чем все остальные fJ (е) при s = 0. Ско- Скорость роста по е в силу того, что производная имеет максимальное зна- значение, также максимальна у функции /м{е) v*e(O(uo), Это, в частно- 369
м сти, означает, что решение х остается оптимальным, если произошло приращение всех Д на любое значение б е @,оо). Рассмотрим ситуацию, когда оптимальным решением задачи A1.154а)-A1.156) является некоторое решение х1, которое принадлежит X = |jc\..jc j— множеству допустимых решений задачи, упорядочен- П . . ч ных по возрастанию величины X xjvt lj = \9MJ. В этом случае поведение функций fJ (б) графически может быть изображено следующим образом: f'(s)9k>l,m>l Рис.11J Пересечение графиков функций fl(s) с графиками функций fk(s) и /т (е) обусловлено тем, что в силу оптимальности решения х при Б =0 значение fl{s)>fJ{s) \J = k9m)9 но так как у>/, то скорость роста функций fJ{s) выше, чем скорость роста функции fl(s). Следователь- Следовательно, попарные графики этих функций имеют точки пересечения. Таким образом, оптимальность решения х будет сохраняться при увеличении всех Д. на б до момента первого пересечения функции / (s) с одной из функций fj {s) (у = / +1, Л/). Для того, чтобы определить эту точку, необходимо решить следую- следующие уравнения: ? 4 W,-+*./)= 370
Решая каждое из этих уравнений относительно Б , получим следую- следующее: ^A-Z*/>/A 1=1 1=1 Далее для того, чтобы узнать минимальные значения приращения б , при котором сохраняется решение jc , необходимо взять минимальное значение ?., то есть определить minej9j = / + 1,М. Пусть этот минимум достигается на каком-либо 1Х>1. Тогда проце- процедура приращения ех для решения jc'1 повторяется. Это происходит до тех пор, пока через конечное число шагов не произойдет переход на ре- решение Xм , и тогда дальнейшее увеличение всех значений Д не приве- приведет к новому решению. Таким образом доказано следующее свойство оп- оптимальных решений задачи: Пусть A' = |jc1..jca/|— все допустимые решения задачи A1.154а)-A1.156), упорядоченные по возрастанию величины Y^xT^i [m=:hMj9 x eX является оптимальным решением, а /?, полу- чают приращение на любое Б из [0,оо), тогда существует такое раз- разбиение из полубесконечного интервала [о,оо) на конечное число отрез- отрезков, что при увеличении на Б внутри каждого отрезка всех значений ft оптимальное решение сохраняется. В частности, если первоначаль- первоначальным решением задачи было решение хм, то при равномерном увели- увеличении всех ft на любое Б е [0,оо) решение задачи не меняется. Во втором случае, то есть когда Д меняется по правилу Д +kt?, схема рассуждений сохраняется, только упорядочение решений проис- П ходит по величине Х 371
Соответственно, формула для вычисления Б, при котором сохраняет- сохраняется оптимальное решение х1 е X , выглядит следующим образом: 1=1 /=i Аналогичное утверждение формулируется и для этого случая. Пусть Ar = |jc1..jcA/|— все допустимые решения задачи A1.154а)-A1.156), упорядоченные по возрастанию величины ?*/%• \j = 1, Af), где ki — коэффициенты приращения стоимости Д. /=1 при изменении Б е [о,оо), то есть Д получают приращение ^ Б. Тогда существует такое разбиение из полубесконечного интервала изменения s [0,оо) на конечное число таких отрезков, что при изменении Б внутри одного и того же отрезка оптимальное решение сохраняется. Для второго случая приращение стоимости Д. можно интерпретировать как реакцию фондового рынка на уровень инфляции, заданный величиной Б. Коэф- Коэффициенты kt отражают реакцию фондового рынка на этот макропоказа- макропоказатель по каждому виду ценных бумаг. В третьем случае Д меняется по правилу Д +/*0.00001 *тт{Д}. Выбор величины, равной 0.001% от пнп{Д} , обусловлен получением необходимой точности по четвертый знак после запятой. Именно с точ- точностью по четвертый знак после запятой приводятся котировки ценных бумаг на фондовом рынке, а 0.001% от величины min{ Д} дают требуе- требуемую точность при практических расчетах. Для решения задачи может быть использована следующая схема. Шаг 1. Сортируем значения Д. ,/ = 1..л по убыванию. Обозначим Шаг 2. Предположим, что приращение значения е e@,s ) равно 0.001% от рт. Увеличим все значения Д,/ = 1..и на величи- величину ? = 0.00001 *j3m , т.е. Д1 = Д +0.00001*/? 1Я,| = 1..л. 372
ШагЗ. Подставляем значения Д1,/ = 1..« в схему метода ветвей и гра- границ, описанную ранее. В случае, если последовательность выделения фи- финансовых средств остается прежней, то увеличиваем теперь уже значения Д1,/ = 1..л на величинуе = 0.00001 *рт , т.е. pf = р\ + 0.00001 * р mJ = \..п. Подставляем опять значения Д.",/ = \..п в схему метода ветвей и границ и снова проверяем последовательность выделения средств. Продолжаем ал- алгоритм до тех пор, пока последовательность выделения финансовых средств изменится по отношению к первоначальной. Предположим, что на шаге к = z получили последовательность, отличную от первоначальной. Тогда величина устойчивости sm = (z -1) * е = (z -1) * 0.00001 * рт . В четвертом случае прогнозные цены Д оценены интервально, то есть Д. на момент времени Т могут принимать любые значения в интер- интервале [р1р?]. Как и ранее, пусть A^JA.jc^ j — все допустимые решения задачи A1.154а)-A1.156). В этом случае определим значения целевой функции на решении xj как f^{s) и f2Jf(e)9 где величина f\J(e) получена при про- прогнозном значении fi}9 а величина f2Jf(e) при прогнозном значении р?. Если pt принимает все значения из \p},pf L то в силу непрерывной за- зависимости fJ(e) от параметров Д , fJ (б) принимает значения на f{\e\f{\s) L (у = 1,A^). Выберем среди функций / J (s) следующие: =fxk(s), Из множества всех допустимых решений выберем те, у которых Только решения, удовлетворяющие A1.157), могут быть оптималь- оптимальными при каком либо значении параметра Д (/ = 1 ..п). Поэтому оставим среди множества допустимых решений только те целевые функции, ко- 373
торые удовлетворяют условию A1.157), получим множество допустимых решений X = \х1...хЬ\,1<М. Используя методику, изложенную в [1], получим, что n-мерный параллелепипед изменения цен на ценные бума- бумаги в момент времени Т р= П[/^>/?П может быть разбит на конечное число областей M^..ML так, что при изменении /?, (/ = \..п) на множест- множестве Mj оптимальным остается решение xJ еХ. Область Л/у в данном случае задается следующей системой неравенств относительно парамет- параметра Д : Оценив величину каждой из областей Mj (j = 1..Z,), при равновероят- равновероятном распределении Д на интервалах /?/,/?? .получим, что в качестве оптимального решения xJ (j = 1..Z,) может быть выбрано то, соответст- соответствующая область которого больше. Очевидна практическая значимость получения количественной оцен- оценки верхней границы прогнозных цен, при которой сохраняется опти- оптимальное решение. Зная эту оценку, портфельный менеджер имеет неко- некоторый запас прочности по инвестициям. Кроме того, в зависимости от этой величины менеджер может принять решение о смене метода опти- оптимизации или даже критерия оптимизации. Например, если при увеличе- увеличении всех прогнозных цен на 10% и более от величины наименьшей про- прогнозной цены, оптимальное решение сохраняется, то можно говорить об относительно высоком запасе прочности инвестиций.
Глава 12 ОСНОВЫ ТЕОРИИ СЛОЖНОСТИ АЛГОРИТМОВ В предыдущих главах этой книги мы уже сталкивались с проблемой сложно- сложности алгоритмов при решении оптимизи- оптимизированных задач. Рассмотрим еще один пример, который может возникнуть на ределен наиб°лее эФФек™в" r r r J ныи метод приближенного или практике [21]. Предположим, вы занимаетесь ис- Используя информацию о том, к какому классу задач Р или NP принадлежит иссле- исследуемая задача, может быть оп- точного ее решения. следовательской деятельностью на фирме, производящей продукцию в одной из отраслей промышленности. Однажды руководитель сообщает, что фирма собирается начать выпуск новой продукции в условиях жест- жесткой конкуренции. По этой причине нужен хороший метод, выявляющий возможность (или невозможность) создания новых изделий или их ком- комплектующих узлов с заданными технологическими характеристиками, и при этом метод должен выдавать ответ для любого заданного набора ха- характеристик (эта проблема может возникнуть при анализе задачи расши- расширения или перепрофилирования производства, рассмотренной в главе 11). При этом в случае положительного ответа необходимо представить проект выпуска соответствующего изделия. Так как вы отвечаете за раз- разработку алгоритмов в фирме, то вам предстоит разработать или отыскать соответствующий метод с соответствующим алгоритмом. Получив необходимые разъяснения, вы принимаетесь за работу. Спус- Спустя несколько недель кабинет завален грудой скомканных черновиков, а эн- энтузиазма у вас значительно поубавилось, так как не удалось придумать ал- алгоритма существенно лучшего, чем перебор всех возможных вариантов. За это решение шеф вряд ли похвалит, так как только для одного набора ха- характеристик компьютеру потребуется несколько лет непрерывной работы. Естественно, у вас нет желания возвращаться к шефу со словами: «Я не могу найти эффективного алгоритма, боюсь, что я для этого недостаточно умен». Для вас было бы гораздо лучше, если бы вы могли сказать, что по- поставленная задача в принципе трудна и ни один алгоритм не может ее 375
решить быстро. В этом случае вы могли бы уверенно заявить: «Я не могу найти эффективного алгоритма, потому что такого алгоритма не сущест- существует». К сожалению, доказать, что задача труднорешаема часто не менее трудно, чем найти эффективные алгоритмы ее решения. Даже вы- выдающиеся теоретики оказывались беспомощными в попытках полу- получить подобное доказательство для часто встречающихся трудных за- задач. Мы предлагаем подходы, позволяющие найти достойный выход из положения: это методы доказательства того, что та или иная задача так же трудна, как и большое число других задач, признанных очень труд- трудными и не поддающимися усилиям специалистов в течение многих лет. Такие методы изложены в теории так называемых NP-полных задач. Используя изложенные в этой главе подходы и методы, вы могли бы доказать NP-полноту задачи о выпуске новой продукции и таким образом установить ее эквивалентность всем другим задачам этого класса. В этом случае можно было бы смело отправиться к шефу и со- сообщить: «Я не могу найти эффективного алгоритма, но этого никто не может сделать». В этом случае по крайней мере ваш руководитель бу- будет знать, что нет смысла увольнять вас и брать на работу другого специалиста. Если же говорить серьезно, то проблема решения задачи после выявления ее NP-полноты не исчезает, а работа над ней только начинается. Знание же этого факта дает важную информацию о том, какие методы окажутся наиболее перспективными. В этом случае не следует пытаться разработать эффективный точный алгоритм, а со- сосредоточить внимание на получении иных, более скромных результа- результатов. Например, попытаться разработать эффективные алгоритмы, по- позволяющие решать различные частные случаи поставленной общей задачи. Можно заняться отысканием алгоритма, хотя и не гаранти- гарантирующего быстрого решения во всех случаях, однако работающего бы- быстро в большинстве ситуаций. И, наконец, можно ослабить постанов- постановку задачи, потребовав при разработке алгоритма проектирования нового вида продукции выполнения не всех требований на значение характеристик продукции, а только части из них. Иными словами ос- основное предназначение теории NP-полных задач состоит в том, чтобы помочь разработчикам алгоритмов и направить их усилия на выбор таких подходов к решению задач, которые вероятнее всего приведут к практически полезным алгоритмам, 376
12.1. Задачи, алгоритмы, сложность В дальнейшем будут использо- использованы такие понятия, как «трудно- решаемые задачи» и «эквивалент- некоторые другие термины. Рассмотрим понятие «задача». Под массовой задачей (или просто Массовая задача определяется: 1. Общим списком всех ее входных параметров ные по сложности задачи», а также 2. Формулировкой свойств, ко- торым должно удовлетворять реше- решение задачи. Индивидуальная задача может быть получена из массовой если w4 ^ всем параметрам массовой задачи задачей) мы будем понимать неко- присв0ИтЬ конкретные значения, торый общий вопрос, на который необходимо дать ответ. Обычно задача содержит несколько параметров или свободных переменных, конкретные значения которых не определе- определены. Далее массовую задачу назовем «задача II», и определяется она сле- следующей информацией: 1) общим списком всех ее параметров; 2) форму- формулировкой тех свойств, которым должно удовлетворять решение задачи. Индивидуальная задача I может быть получена из массовой, если всем параметрам задачи II присвоить конкретные значения. В качестве примера рассмотрим классическую задачу коммивояжера. Параметры этой задачи состоят из конечного набора «городов» С = {Cl, С2, ..., Cm} и расстояний d (С/, Cj) между каждой парой городов (С/, Cj) из С. Решение задачи — это такой упорядоченный набор < Ск(\), СяB), ..., Ск(т) > заданных городов, который минимизирует величину т-\ X A(Слг(/),Слг(/ + 1)) + ё(Офи),СЭД). i=l Это выражение дает длину маршрута, начинающегося в городе С7гA), проходящего последовательно через все города и возвращающегося в СтсA) непосредственно из последнего города Ск(т). Индивидуальная же задача коммивояжера, указанная на рис 12.1, задается следующим обра- образом: С = (С1, С2, СЗ, С4); d (С2, С4) = 9, d (C2, СЗ) = 6; Последовательность <С1,С2,С4,СЗ> представляет собой решение за- задачи, поскольку соответствующий маршрут имеет минимальную воз- возможную длину равную 27. 377
Рис. 12.1 Под алгоритмом будем понимать общую выполняемую шаг за ша- шагом процедуру решения задачи. Для определенности будем считать, что эта процедура записана на одном из формальных языков про- программирования. Будем говорить, что алгоритм решает массовую зада- задачу II, если он применим для любой индивидуальной задачи I из II и обязательно дает решение задачи I. Отметим здесь, что нельзя гово- говорить о том, что алгоритм «решает» задачу коммивояжера, если он не выдает маршрут минимальной длины хотя бы для какой-то одной ин- индивидуальной задачи. В большинстве случаев, учитывая размерность решаемых задач, иссле- исследователя интересует наиболее эффек- эффективный алгоритм решения. Понятие эффективности связано со всеми вы- вычислительными ресурсами, необходи- необходимыми для работы алгоритма. Однако под «самым С Под алгоритмом будем по- понимать общую, выполняемую шаг за шагом процедуру реше-1 ния задачи. Будем говорить, что алгоритм решает массовую зада- задачу, если он применим для любой индивидуальной задачи, полу- полученной из данной массовой. фективным алгорит- алгоритмом» понимается самый быстрый, так как именно быстродействие алго- алгоритма является доминирующим фактором, определяющим пригодность конкретного алгоритма для практики. Время работы алгоритма удобно выражать в виде функций от одной переменной, характеризующей раз- размер индивидуальной задачи, т.е. объема входимых данных, требуемых для описания этой задачи. Такой подход удобен, так как в дальнейшем сравнительная сложность задачи будет оцениваться через ее размеры. Часто размер задачи определяется неформально. Например, для опреде- определения размера в задаче коммивояжера используется число городов. Кро- Кроме числа городов в этой задаче важно учитывать расстояния между m го- городами, которые представляют собой т (т - 1) / 2 чисел. Чтобы учесть 378
все факторы, влияющие на время решения задачи, необходимо дать опи- описание индивидуальной задачи, которое можно рассмотреть как некото- некоторую цепочку символов, выбранных из конечного входного алгоритма. Далее мы будем полагать, что с каждой массовой задачей связана некоторая фиксированная схема кодирования, которая отображает ин- индивидуальные задачи в соответствующей цепочке символов. Входная длина индивидуальной цепочки задачи I из II определяется как число символов в цепочке, полученной применением к задаче I схемы коди- кодирования для массовой задачи И. Именно это число, т.е. входная длина, и используется в качестве формальной характеристики размера инди- индивидуальной задачи. Например, реализуемые конкретные задачи о коммивояжере можно описать с помощью алфавита {С, [,], /, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,} при этом задача на рис Л 2.1 может быть закодирована цепочкой символов вида: С[1] С[2] С[3] С[4]//10/5/9//6/9//3/. Аналогичным образом могут быть закодированы и более сложные индивидуальные задачи. При такой кодирующей схеме индивидуальная задача о коммивояжере на рис. 12.1 имеет длину 32. Временная сложность алгоритма отражает требующиеся для его рабо- работы затраты времени. Эта функция, которая каждой входной длине ставит в соответствие максимальное (по всем индивидуальным задачам дли- длины п) время, затрачиваемое алгоритмом на решение индивидуальных за- задач этой длины. 12.2. Полиномиальные алгоритмы и труднорешаемые задачи Различные алгоритмы имеют раз- различную временную сложность, и вы- Полиномиальные алгоритмы, J r J как правило, являются эффектив- эффективными с точки зрения их быстродей- быстродействия. Экспоненциальные алгорит- алгоритмы таковыми чаще всего не являются и чаще всего представ- представляют собой варианты полного по- пояснение того, какие алгоритмы «дос- «достаточно эффективны», а какие совершенно неэффективны, всегда бу- будет зависеть от конкретной ситуации. В настоящее время теоретики, зани- занимающиеся разработкой и анализом ал- алгоритмов, предлагают выделять среди всего множества алгоритмов по- полиномиальные и экспоненциальные. Будем говорить, что функция fin) есть O(g(w)), если существует кон- константа С такая, что |Дл)| < C\g(n)\ для всех значений п > 0. Полиномиаль- 379
ным алгоритмом (или алгоритмом полиномиальной временной сложности) называется алгоритм, у которого временная сложность равна О(Р(п)\ где Р(п) некоторая полиномиальная функция, ал — входная длина. Алгоритмы, временная сложность которых не поддается такой оцен- оценке, называются экспоненциальными. Различие между двумя указанными типами алгоритмов становится особенно заметно при решении задач большого размера. Табл. 12.1 по- позволяет сравнить скорости роста нескольких типичных полиномиальных и экспоненциальных функций [20]. Таблица 12.1 Функция временной сложности п п2 п3 п5 Т Ъп Размеры 10 0.00001 сек. 0.001 сек. 0.001 сек. 0.1 сек. 0.001 сек. 0.059 сек. 20 0.00002 сек. 0.004 сек. 0.008 сек. 3.2 сек. 1.0 сек. 58 мин. 30 0.00003 сек. 0.0009 сек. 0.027 сек. 24.3 сек. 17.9 мин. 6.5 лет 40 0.00004 сек. 0.0016 сек. 0.064 сек. 1.7 мин 12.7 дней 3855 столетий 50 0.00005 сек. 0.0025 сек. 0.125 сек. 5.2 мин. 35.7 лет 2- 108 столетий 60 0.00006 сек. 0.0036 сек. 0.216 сек. 13.0 мин. 366 столетий 1.3- 1013 столетий Таблица 12.2 Функций времен- временной сложности п п2 п3 п5 2п Зп На современных компьютерах N1 N2 N3 N4 N5 N6 На компьютерах в 100 раз более быст- быстрых 100 N1 10 N2 4.64 N3 2.5 N4 N5+6.64 N6+4.19 На компьютерах в 1 000 раз более быст- быстрых 1000N1 31.6 N2 10 N3 3.98 N4 N5 + 9.97 N6 + 6.29 Различие между полиномиальными и экспоненциальными алгорит- алгоритмами проявляется еще более убедительно, если проанализировать влия- влияния увеличения быстродействия компьютера на время работы алгорит- 380
мов. В табл. 12.2 показано, на сколько увеличатся размеры задач, решае- решаемых за 1 ч машинного времени, если благодаря совершенствованию тех- технологий быстродействие компьютера возрастет в 100 или 1000 раз по сравнению с современными. Заметим, что для функции fin) = 2" увеличе- увеличение скорости вычисления в 1 000 раз приводит к тому, что размер наи- наибольшей задачи, разрешаемой за 1 ч, возрастает точно на 10, в то время как для функции fiji) = п5 этот размер возрастает почти в 4 раза. Эти таблицы демонстрируют причину, по которой полиномиальные алгоритмы обычно считаются более предпочтительными по сравнению с экспоненциальными. Эта точка зрения, различающая, с одной стороны, полиномиальные алгоритмы, а с другой стороны, экспоненциальные, яв- является отправной точкой в определении труднорешаемых задач и NP- полных задач. Основной характер различия между этими классами, как считают многие исследователи, заключается в том, что полиномиальные алгорит- алгоритмы как правило являются «хорошими» с точки зрения их быстродейст- быстродействия. В то же время экспоненциальные алгоритмы не являются таковыми и чаще всего представляют собой варианты полного перебора. Имеется распространенное мнение, согласно которому задача не считается «хо- «хорошо решаемой» до тех пор, пока для нее не получен полиномиальный алгоритм. Задачу будем называть труднорешаемой, если для ее решения не существует полиномиального алгоритма. Полиномиальные алгоритмы можно построить лишь тогда, когда удается более глубоко проникнуть в суть решаемой задачи. Необходимо отметить, что различия между «эффективными» (поли- (полиномиальными) алгоритмами и «неэффективными» (экспоненциальными) алгоритмами в пользу эффективных проявляется лишь для больших зна- значений п. В противном случае это различие принимает совсем иной ха- характер. В качестве примера, сравнивая функции fi(n) = 2" nj2(n) = и5, ви- видим, что для п < 20 функцияfl(n) ведет себя лучше. Более того, известны конкретные экспоненциальные алгоритмы, хо- хорошо зарекомендовавшие себя на практике. Дело в том, что временная сложность определена нами как мера поведения алгоритма в наихудшем случае и тот факт, что какой-то алгоритм имеет временную сложность порядка 2п означает лишь то, что решение по крайней мере одной инди- индивидуальной задачи размера п требует времени порядка 2". На самом деле может оказаться, что большинство индивидуальных задач требует для своего решения времени значительно меньше. Так, например, симплекс- метод имеет экспоненциальную временную сложность, но многочислен- 381
ные примеры подтверждают, что он хорошо работает на практике. Еще один пример: алгоритмы ветвей и границ успешно решают задачу «о рюкзаке» и поэтому многие исследователи считают ее «хорошо решае- решаемой», хотя алгоритмы ветвей и границ имеют экспоненциальную оценку сложности. Приведенные примеры «хорошего» поведения экспоненци- экспоненциальных алгоритмов, достаточно редки, поэтому хотя экспоненциальные алгоритмы известны для многих задач, немногие из них можно исполь- использовать для практических целей. Далее при условии успешной работы экспоненциальных алгоритмов попытки найти для соответствующих задач полиномиальные алгоритмы не прекращаются. В действительности сам факт успешного применения экспоненциальных алгоритмов дает основания для предположения, что они каким-то образом выявляют некоторые существенные особенности решаемых задач и что более глубокое их исследование может привести к дальнейшему улучшению методов. В настоящее время пока неизвестны удовлетворительные объяснения, почему эти алгоритмы работают успешно и неизвестны способы заранее прогнозировать хорошую работу того или иного экспоненциального ал- алгоритма при решении практических задач. С другой стороны, полиномиальные алгоритмы позволяют делать та- такие прогнозы, поскольку полиномиальные функции значительно более адекватно оценивают время работы алгоритмов. Хотя алгоритмы, имеющие временную сложность типа и100 или 10"л2, не могут считаться эффективными с практической точки зрения, естест- естественно возникающие «полиномиальные задачи» обычно требуют для сво- своего решения (в самом худшем случае) времени порядка п2 или л3, причем коэффициенты полиномов не слишком велики. Алгоритмы, обладающие такими оценками, можно считать «эффективными». Наше определение труднорешаемой задачи оказывается независимым от конкретной схемы кодирования и модели компьютера, использующе- использующегося для определения временной сложности. Рассмотрим сначала схемы кодирования. Предположим, например, что решаемая задача определена на графе G(V9E), где V— множество вершин, Е — множество ребер и каждое ребро понимается как неупо- неупорядоченная пара вершин. Условия этой задачи могут быть описаны (табл. 12.3) либо списками всех вершин и ребер, либо с помощью мат- матрицы инценденций графа, либо составлением для каждой вершины списка всех вершин, имеющих с данной общее ребро («список сосе- соседей»). 382
Таблица 12.3 Схема кодирования Списки вершин и ребер Списки соседей Строки матрицы инценденций Цепочка символов (слово) (F[2])(F[1]F[3])(F[2]) 0100/10101001010000 Длина 36 24 19 Эти схемы кодирования для одного и того же города могут дать вхо- входы разной длины. Однако легко сравнить (табл. 12.4), что получаемые входы отличаются друг от друга не более чем полиномиальным образом, т.е. любой алгоритм, имеющий полиномиальную временную сложность при одной из этих схем кодирования, будет также обладать полиноми- полиномиальной временной сложностью при остальных схемах. Действительно, оценим длины схем кодирования для графа, различные способы кодиро- кодирования которого представлены в табл. 12.3 с помощью табл. 12.4. Таблица 12.4 Схема кодирования Списки вершин Список соседей Матрица инценденций Нижняя оценка 4F+ 10е 2F+8e V2+V-X Верхняя оценка 4F+10e + (F+2e)lgF 2F+8e + 2elgF F2+F-1 Здесь использованы обозначения: \V\ = V; \Е\ = е. Поскольку е < V2, эти оценки показывают, что длины входов отличаются друг от друга не бо- более чем «полиномиальным образом». Формально трудно определить понятие разумности кодирования, хотя следующие два условия охватывают важные требования, связанные с этим понятием: 1) код любой индивидуальной задачи I должен быть сжа- сжатым, т.е. не содержать избыточной информации или символов; 2) числа, входящие в условие задачи I, должны быть представлены в двоичной системе счисления (или десятичной, или восьмеричной, или иметь дру- другое основание, но только не 1). Если ограничиться рассмотрением только тех схем кодирования, ко- которые удовлетворяют этим условиям, т.е. выявление вопроса, является ли данная задача труднорешаемой, не будет зависеть от схемы кодирова- кодирования. Аналогичные замечания можно сделать относительно выбора моде- модели компьютера. Все известные в настоящее время реалистичные компь- компьютеры (например, одноленточные и многоленточные машины Тьюринга, машины с произвольным доступом памяти) эквиваленты относительно полиномиальной временной сложности, что показано в табл. 12.5. 383
Таблица 12.5 Моделируемая машина В Машина Тьюринга с 1 лентой AМТ) Машина Тьюринга с К лентами (КМТ) Машина произвольного доступа (МПД) Моделирующая машина А 1МТ О(Ап)) O(f(n)) КМТ О(Т(п)) О(Пп)) МПД O(T(n))\gT(n) О(Т(п)) \gT(n) Здесь показано время, требуемое машине А для моделирования алго- алгоритма сложности Т(п) на машине В. При дальнейшем исследовании про- проблемы можно ожидать, что любая другая разумная модель вычислитель- вычислительной машины будет эквивалентна по сложности перечисленным моделям. К числу NP-полных задач отно- относится много таких, которые исполь- используются при анализе экономических процессов математическими мето- методами. Это задачи целочисленного программирования, задачи оптими- оптимизации времени выполнения инвести- инвестиционных проектов, задачи оптими- оптимизации на графах, задачи теории расписаний и многие другие. 12.3. Труднорешаемые задачи После обсуждения формального содержания понятия «трудноре- шаемая задача» рассмотрим совре- современное состояние знаний об этих задачах. Вначале охарактеризуем разли- различия между двумя аспектами труд- норешаемости, которые отражены в нашем определении. Первый ас- аспект состоит в том, что для решения задачи требуется экспоненциальное время. Второй заключается в том, что искомое решение настолько вели- велико, что не может быть представлено в виде выражения, длина которого была бы ограничена полиномом от длины входа. Вторая ситуация может возникнуть, например, если в задаче комми- коммивояжера в качестве дополнительного параметра фигурирует число В и тре- требуется найти все маршруты длины, не превосходящей В, Для этого доста- достаточно легко можно построить индивидуальную задачу коммивояжера, в которой имеется экспоненциальное число маршрутов, длина которых не превосходит В, Для этого достаточно найти максимальное расстояние ме- между парой городов d(Ck,Cl) и далее умножить это число на количество го- городов т. Тогда, положив В = md(Ck, С/), получим искомый пример. Сле- Следовательно, в этой ситуации не существует алгоритма с полиномиальной временной сложностью, который перечисляет все решения. 384
Труднорешаемостью этого вида нельзя пренебрегать и важно ее во- вовремя обнаружить. Этот аспект труднорешаемости задачи можно рас- рассматривать как указание на то, что постановка задачи нереалистична, по- поскольку запрашивается такой объем информации, который полностью никогда не может быть использован. В связи с этим в дальнейшем мы будем рассматривать только первый аспект труднорешаемости, т.е. будут изучаться такие задачи, длина решения которых ограничена полиноми- полиномиальной функцией от длины входной информации. Первые результаты о труднорешаемости задач были получены Тьюрингом около 40 лет назад. Он доказал, что существуют «неразрешимые» задачи в том смысле, что вообще не существует алгоритма их решения. К ним, например, относит- относится десятая проблема Гильберта (разрешимость в целых числах полино- полиномиальных уравнений). Поскольку эти задачи не могут быть решены ни- никакими алгоритмами, то тем более не могут быть решены и полиномиальным алгоритмом и, следовательно, они труднорешаемы в самом сильном смысле. Первые примеры труднорешаемых разрешаемых задач были получе- получены в начале 60-х годов в работах Хартнаниса и Стирнза, а также позднее в работах Фишера и Рабина. В число этих задач вошли задачи по теории автоматов, математической логике, формальной теории языков. Анализ труднорешаемых задач, с одной стороны, предполагает разра- разработку методов доказательства труднорешаемости задач, с другой сторо- стороны, ведутся работы по сравнению сложности различных задач. Основной метод, используемый для доказательства труднорешаемости задач, со- состоит в «сведении» их друг к другу с помощью преобразования, которое отображает любую индивидуальную задачу первого типа в эквивалент- эквивалентную ей индивидуальную задачу второго типа. Такое преобразование по- позволяет превратить любой алгоритм решения второй задачи в соответст- соответствующий алгоритм решения первой задачи. К числу примеров такой сводимости относятся примеры, приведенные в работах Данцига по све- сведению нескольких комбинаторных задач оптимизации к общей задаче целочисленного программирования с булевыми переменными. Фундамент теории NP-полных задач был заложен в работе С. Кука, опубликованной в 1971 г. под названием «Сложность процедур вывода теории». В этой работе было получено несколько важных результатов. Была обоснована важность понятия «сводимость за полиномиальное время», т.е. сводимость, которая выполняется с помощью алгоритма с полиномиальной временной сложностью. С. Кук обратил внимание на класс задач распознавания свойств (класс NP), которые могут быть ре- 13 Исследование операций
шены за полиномиальное время на недетерминированном вычислитель- вычислительном устройстве. Отметим, что задачей распознавания свойств называется задача, решением которой могут быть либо «да», либо «нет». Большин- Большинство не поддающихся решению задач после их переформулировки попа- попадают в этот класс. Далее он доказал, что конкретная задача из NP, назы- называемая задачей о выполнимости, обладает тем свойством, что всякая другая задача из класса NP может быть сведена к ней за полиномиальное время. Таким образом, если задача о выполнимости может быть решена за полиномиальное время, то любая задача из класса NP полиномиально разрешима. Если же какая-либо задача из NP труднорешаема, то задача о выполнимости также труднорешаема. Позднее Р. Карп опубликовал ряд результатов, из которых следует, что многие хорошо известные задачи, включая задачу коммивояжера, будучи сформулированы в виде задачи распознавания, столь же трудны, как задача о выполнимости. Далее для относительно широкого круга других задач было доказано, что они по трудности эквивалентны этим задачам, а сам класс эквивалентности, состоящий из «самых трудных» задач из NP, получил название «класс NP-пол-ных задач». На основании работы Кука все вопросы сложности свелись в единый вопрос: «Верно ли, что NP-полные задачи труднорешаемы?» К числу NP-полных задач относится много таких, которые используются при анализе математиче- математическими методами экономических процессов. К ним относятся задачи це- целочисленного линейного программирования, распределения ресурсов на графах, теории расписаний и др. Поэтому при моделировании реальных экономических систем, что связано как правило с анализом большого объема входной информации, крайне важен ответ на вопрос: как будет расти объем вычислений при увеличении объема входной информации? 12.4. Задачи распознавания и кодирования Из соображений удобства теория NP- мы к соответствующим опти- оптимизационным задачам. В теории NP-полных задач рассматриваются только зада- задачи распознавания, но выводы этой теории вполне примени- нуто в предыдущем разделе, такие задачи полных задач строится только для задач распознавания свойств. Как было упомя- имеют только возможные решения «да» или «нет». Заметим, что задача распозна- распознавания II состоит из двух множеств: множества Dn всех возможных инди- индивидуальных задач и множества Гп ObG АО индивидуальных задач с от- ответом «да». 386
Стандартная форма, которую мы будем применять для описания задач, состоит из двух частей. В первой части дается описание условий задачи в терминах различных компонент: теории множеств, теории расписаний, теории графов и т.д. Во второй части в терминах условий формулируется вопрос, предполагающий ответ «да» или «нет». Это описание определяет множества Уц и Ai очевидным образом индивидуальная задача принадле- принадлежит Ai только в том случае, когда она может быть получена из стандарт- стандартной формы описания подстановкой конкретных значений во все компо- компоненты условий. Индивидуальная задача принадлежит Уц только в том случае, когда ответом на вопрос задачи будет «да». Приведем в качестве примера задачи распознавания, соответствую- соответствующей задаче коммивояжера, следующее описание. Пример. Заданы конечное множество С = (С1, С2„ Cm) «городов», расстояние d(C/, Cj) e Z* для каждой пары городов С/, Cj e С и граница Be/. (Здесь 2? означает положительные целые числа.) Существует ли маршрут, проходящий через все города из С, длина которого не превосходит В? Иными словами, существует ли последова- последовательность <СтсA), СлB), ..., Сп(т)> элементов С такая, что т-\ 2 d(C7c(i),Cn{i + \)) + с1(С7г(т)9Стг(\))<Вс? Этот пример служит для иллюстрации важного приема — получения из оптимизационной задачи соответствующей задачи распознавания. Ес- Если в оптимизационной задаче ищется решение на минимум (минимум за- затрат при производстве продукции), то этой задаче можно поставить в со- соответствие задачу распознавания, в которой в качестве дополнительного параметра фигурирует числовая граница В (например, маршрут длины не более В), Аналогичным образом задача распознавания может быть получена из задачи максимизации. В этом случае достаточно условие «не превосхо- превосходит» заменить условием «не меньше». Относительно сложности задачи распознавания можно отметить, что задача распознавания не может быть сложнее соответствующей оптими- оптимизационной задачи. Например, если в задаче коммивояжера можно за по- полиномиальное время найти маршрут минимальной длины, то ясно, как за полиномиальное время можно решить соответствующую задачу распо- распознавания. Для этого находится маршрут минимальной длины, вычисля- вычисляется его длина и сравнивается с заданной границей В. Поэтому, если уда- 387
стся показать, что коммивояжер есть NP-полная задача, то отсюда следу- следует, что и оптимизационная задача о коммивояжере будет столь же слож- сложна. Таким образом, хотя в теории NP-полных задач рассматриваются только задачи распознавания, выводы этой теории вполне применимы к оптимизационным задачам. В работе [1] строго доказано, что многие за- задачи распознавания и в частности коммивояжер не проще соответст- соответствующих оптимизационных задач. Как уже отмечалось, теория NP-полных задач ограничивается только задачами распознавания. Это объясняется тем, что задачи распознавания имеют очень естественный формальный эквивалент, удобный для изуче- изучения методами теории вычислений. Этот эквивалент называют «языком» и определяют следующим образом. Для любого конечного множества символов ? (называемого алфави- алфавитом) обозначим через ?* множество всех конечных цепочек, составлен- составленных из символов алфавита ?. Такие цепочки мы будем называть слова- словами. Например, если ? = {0,1}» то ?* состоит из пустого слова «8», а также слов 0, 1, 00, 01, 10, 11, 000, 001 и всех других конечных слов, со- состоящих из нулей и единиц. Любое подмножество L е ?* будем назы- называть языком в алфавите ?. Таким образом, множество {01, 001,111,1001} является языком в алфавите 0,1. Языком также является множество квад- квадратов целых чисел в двоичной системе, а также само множество {0,1}. Соответствие между задачами распознавания и языками устанавливается с помощью схем кодирования, которые обычно применяются для пред- представления индивидуальной задачи для решения ее компьютером. Напомним, что схема кодирования е задачи II разбивают слова из ?* на три класса: слова, не являющиеся кодами индивидуальных задач из II; слова, являющиеся кодами индивидуальных задач из II с отрицательным ответом на вопрос, и слова, являющиеся кодами индивидуальных задач с положительным ответом на вопрос. Третий класс слов как раз и есть тот язык, который ставится в соответствие задаче II при кодировании е и обозначается через ЦП, е) т I тт \ — j? есть алфавит схемы кодирования, а Х- код индивидуальной задачи; / е Гц при схеме кодирования. При применении формальной теории NP-полноты к задачам распо- распознавания будем говорить, что некоторый результат имеет место для за- задачи II при схеме кодирования, если этот результат имеет место для язы- языка ДП,). 388
Заметим, что если вести изложение в стиле, не зависящем от кодиро- кодирования, то теряется связь с формальным понятием «длина входа». Поэто- Поэтому необходим некоторый параметр, через который можно выразить вре- временную сложность. Удобно считать, что с некоторой задачей распознавания связана не зависящая от схемы кодирования функция Length: D\\ —* Z*, которая полиномиально эквивалентна длине кода ин- индивидуальной задачи, получаемой при любой разумной схеме кодирова- кодирования. Полиномиальная эквивалентность понимается в следующем смысле: для любой разумной схемы кодирования е задачи II существует два по- полинома Р и Р' такие, что если / е D и слово X есть код индивидуальной задачи / при кодировании е, то Length(T) < Р(\Х\) и \Х\ < Р '(Length [i]), где \Х\ — длина словах В задаче коммивояжер можно получить Length [I] = т + Iog2? + max {log2d (С/, С/); С/, С/ e С}. Так как любые две разумные схемы кодирования задачи II дают по- полиномиально эквивалентные длины входов, то диапазон для выбора функции Length очень широк, а получаемые результаты будут верны для любой функции Length, удовлетворяющей сформулированным ус- условиям. 12.5. Детерминированная машина Тьюринга и класс Р Для того чтобы формализовать понятие алгоритм необходимо за- зафиксировать определенную модель процесса вычисления. Далее такой моделью будет служить детерминированная одноленточная машина Тьюринга (сокращенно ДМТ), которая схематически изображена на рис. 12.2. Устройство управления читающая (пишущая) головка -3-2-1 0 12 Рис. 12.2 389
Машина Тьюринга состоит из управляющего устройства с конечным числом состояний, читающей / пишущей головки, которая может считы- считывать и записывать символы, и неограниченной в обе стороны ленты, раз- разделенной на бесконечное число одинаковых ячеек, занумерованных чис- числами...,-3,-2,-1, О, 1,2,3,.... Программа для ДМТ или ДМП-программа определена следующи- следующими компонентами: 1) конечным множеством /"-символов, которые за- записываются на ленте подмножеством ЕсГ входных символов и вы- выделенным пустым символом Ъ с Г \ Е\ 2) конечным множеством состояний Q, в котором выделены начальное состояние яо и два за- заключительных состояния qy, qN 3) функция перехода b:{Q\{qy9qN}xr-*Qxr{-h\}. Работа программы определяется следующим образом. Входом для де- детерминированной программы является слово х е 27*. Слово записывается на ленте в ячейках с номерами 1,2, ..., \х\ по одному символу в ячейке. Все другие ячейки в начальный момент времени содержат пустой символ и называются пустыми. Программа начинает работу, находясь в состоя- состоянии яо- При этом читающая/пишущая находится под ячейкой с номе- номером 1. Далее процесс вычислений осуществляется последовательно шаг за шагом. Если текущее состояние я есть Яу или Ям, результатом будет «да», если я ~ Яу и «нет», если я ~ Ям- В противном случае текущее со- состояние принадлежит множеству Q \ { qy, qN }, при этом головка читает на ленте некоторый символ S е Г и определено значение 5 (#,5). Пред- Предположим, что д (q,S) = (q\ S\ А). В этом случае головка стирает S и пишет на этом месте S" и сдвигается на одну ячейку влево, если Д = -1 или на одну ячейку вправо, если Л = +1. Одновременно управляющее устройство переходит из состояния я в я'- На этом заканчивается один «шаг» процесса вычисления и программа готова к выполнению сле- следующего шага. Пример простой ДМТ-программы представлен на рис. 12.3. (Яо, Я и Я2, Я^ Яь Яу* Ям} g go g\ gi <7з 0 foo, 0, +1) fo2, b,-\) foy, 6,-1) fotf, 6,-1) 1 foo, 1,+1) (<7з,6,-1) (g»,b,-\) fo*,6,-0 b (gub,-\) (ды,Ь,-\) (gv,b,-\) (gN, b,-\) Рис. 12.3. Пример ДМТ-программы M = (Г, Q, д) 390
Яо ь 1 0 | 1 0 0 ь ... т Яо ъ 1 0 | 1 0 0 ь т до ъ 1 0 1 0 0 ъ т Яо ъ 1 0 1 0 0 b Т до | ... ъ 1 | 0 1 0 0 b т до ъ 1 0 0 b ъ 1 0 1 0 0 b Т до ъ 1 0 1 0 ь b до ъ 1 0 1 ь b b Рис. 12.4. Вычисление no программе M при входе 10100 Функция перехода д определена таблицей, где величина, записанная в Г строке и S столбце, есть значение 6 (q, S). Рис. 12.4 иллюстрирует по про- программе Мпри входе х = 10100, здесь указаны состояние, распространение головки и содержание пустых ячеек ленты до и после каждого шага. Заметим, что вычисление после восьми шагов оканчивается в состоя- состоянии qy, поэтому на входе 10100 ответом будет «да». В общем случае будем говорить, что программа М, имеющая входной алфавит 27, принимает X е 27* в том и только в том случае, когда, будучи примененной ко входу X, она останавливается в состоянии qy . Язык LM, распознаваемый програм- программой М, задается следующим образом: LM = {X е 27*: Мпринимает X}. Нетрудно видеть, что программа, представленная на рис. 12.3, распо- распознает язык: {X е {0,1}; два последних символа словаXявляются нулями}. Отметим, что это определение распознавания языка не требует, чтобы программа М останавливалась при всех входах из Z*. М обязана останав- останавливаться лишь при входах LM. Если X е 27* \ LM, то работа программы М на X может либо заканчи- заканчиваться в состоянии qN, либо может бесконечно продолжаться без оста- остановки. Однако ДМТ-программа, соответствующая нашему пониманию 391
алгоритма, должна останавливаться на всех словах входного алгоритма. В этом смысле программа на рис. 12.3. является алгоритмической, так как, начиная работать на любом слове из символов 0,1, она будет оста- останавливаться. Соответствие между «распознаванием» языков и «решением» задач распознавания определяется следующим образом. Будем говорить, что ДМТ-программа М решает задачу распознавания II при кодировании е, если М останавливается на всех словах, составленных из букв входного алфавита LM - L [II, е]. Программа на рис. 12.3 иллюстрирует это соот- соответствие. Пример. Делимость на четыре. Дано положительное число N. Суще- Существует ли положительное число m такое, htoN= Am. При стандартном кодировании целое число N представляется словом из 0,1, т.е. двоичной записью этого числа. Так как положительное целое число делится на четыре тогда и только тогда, когда последние две циф- цифры двоичной записи этого числа являются нулями, то программа, изо- изображенная на рис. 12.4, «решает» при нашем стандартном кодировании задачу «делимость на четыре». Заметим, что ДМТ-программой можно пользоваться и для вычисле- вычисления функций. Предположим, что программа А/, имеющая входной алфа- алфавит Е и ленточный алфавит Г, останавливается на любом входе из 27*. Тогда М вычисляет функцию fM: 27* —> Г* которая для каждого X е ?* определяется следующим образом. Если программа М9 начиная работать при входе X, останавливается, то в качестве/^ (X) берется слово, состав- составленное из символов, записанных после остановки машины в ячейке с но- номерами 1, 2, 3, ..., включая последнюю пустую ячейку. Программа М, представленная на рис. 12.4, вычисляет функцию/м'-{®> 1}* —> {0, 1, 6}*, которая отображает каждое слово X е {0,1 }* в слово fM, получаемое из X удалением двух крайних справа символов (если \Х\<2, то М выдаст в ка- качестве fa пустое слово). Хорошо известно, что ДМТ-программы могут решать задачи намного более сложные, чем в рассмотренном примере. Несмотря на то что ДМТ имеет только одну последовательную ленту и на каждом шаге может выполнять весьма ограниченную работу, ДМТ- программа может быть составлена так, что проведет любое вычисление, выполняемое обычным компьютером. Далее определим понятие «временная сложность». Время, требуемое ДМТ-программой М для вычисления при входе X, есть число шагов, вы- выполняемых до момента остановки. Если программа М останавливается на 392
всех входах X е 27*, то временную сложность Тм: 2?—> 7? можно опреде- определить так: гр _ \ существует такое слово XeZ \х\=п m: I M(N) ~ j цто вычисление по программе М на входе X требует времени т | ' Детерминированная программа М называется полиномиальной ДМТ- программой, если существует такой полином Р, что для всех n e Z\ Тм (п)<Р(п). Далее определим формально первый важный класс языков — класс Р. Он определяется следующим образом: Р = {L: существует полиномиаль- полиномиальная ДМТ-программа М, для которой L = LM}. Будем говорить, что задача распознавания II принадлежит классу Р при кодировании е, если Z(II, e) e Р, т.е. существует полиномиальная программа ДМТ-программа, которая «решает» задачу при кодировании е. Далее мы не будем приводить конкретные схемы кодирования, а бу- будем говорить, что задача распознавания II принадлежит классу Р. 11.6. Недетерминированное вычисление и класс NP В настоящем разделе вводится второй важный класс языков (задач распознавания свойств) — класс NP. Прежде чем перейти к формально- формальному определению этого класса в терминах языков и машин Тьюринга, по- поясним смысл понятия, лежащего в основе определения класса NP. Рассмотрим задачу коммивояжера. В условии даны множества горо- городов, расстояние между ними и граница В. При этом спрашивается, суще- существует ли маршрут, проходящий через все города, и длины, не превосхо- превосходящий В. Полиномиальный алгоритм этой задачи неизвестен. Предположим, однако, что относительно некоторой индивидуальной за- задачи кто-то получил ответ «да». Если вы в этом сомневаетесь, то можно потребовать доказательство этого факта, заключающегося в предъявле- предъявлении маршрута, обладающего необходимыми свойствами. Имея предъяв- предъявленное решение, нетрудно проверить является ли оно на самом деле маршрутом и если это так, вычислить его длину, сравнить ее с границей В и тем самым проверить соответствующее утверждение. Более того, эту «процедуру проверки» можно представить в виде алгоритма, временная сложность которого ограничена полиномом от Length (/). Именно поня- понятие полиномиальной проверяемости позволяет выделить задачи класса NP» Отметим, что проверяемость за полиномиальное время не влечет 393
разрешимости за полиномиальное время. То есть утверждая, что за по- полиномиальное время можно проверить ответ «да» для задачи коммивоя- коммивояжера мы не учитываем время, которое может понадобиться на поиск нужного маршрута среди экспоненциального числа всех маршрутов. Мы лишь утверждаем, что по любому заданному маршруту для индивиду- индивидуальной задачи / можно за полиномиальное время проверить, «доказыва- «доказывает» ли этот маршрут, что ответ на вопрос относительно индивидуальной задачи/есть «да». Неформально класс NP можно определить с помощью понятия, кото- которое мы будем называть недетерминированный алгоритм. Такой алгоритм состоит из двух стадий: 1) стадии угадывания; 2) стадии проверки. По заданной индивидуальной задаче / на первой стадии происходит просто «угадывание» некоторой структуры S. Затем задача / и S вместе по- подаются в качестве входа на стадию проверки, которая выполняется обыч- обычным детерминированным способом и заканчивается либо ответом «да», либо ответом «нет», либо продолжается бесконечно без остановки. Неде- Недетерминированный алгоритм «решает» задачу распознавания II, если для любой индивидуальной задачи / е ?>п выполнены следующие условия: 1) если / е Гц, то существует такая структура 5, угадывание которой для входа / приведет к тому, что стадия проверки начинает работу на вхо- входе (/, 5), заканчивается ответом «да»; 2) если / е Г1Ь то не существует такой структуры S, угадывание которой для входа / обеспечило бы окончание стадии проверки на входе (/, S) ответом «да». Например, недетерминированный алгоритм решения задачи комми- коммивояжер можно было бы построить, используя в качестве стадии угады- угадывания просто выбор произвольной последовательности городов, а в ка- качестве стадии проверки упомянутую, полиномиальную процедуру и проверку доказательства для задачи коммивояжер. Очевидно, для лю- любой индивидуальной задачи / найдется такая догадка S, что результатом работы стадии проверки на входе (/, S) будет «да» в том и только в том случае, если для индивидуальной задачи / существует маршрут иско- искомой длины. Говорят, что недетерминированный алгоритм, решающий задачу рас- распознавания II, работает в течение полиномиального времени, если най- найдется полином Р такой, что для любого / е Гц найдется такая догадка S, приводящая на стадии детерминированной проверки на входе (/, S) к от- 394
вету «да» за время P(Length [7]). Отсюда следует, что «размер» угады- угадываемой структуры S будет обязательно ограничен полиномом от Length [/], так как на проверку догадки S может быть затрачено не более чем по- полиномиальное время. Класс NP, определяемый неформально, это класс всех задач распо- распознавания II, которые при разумном кодировании могут быть решены не- недетерминированными алгоритмами за полиномиальное время. Приве- Приведенный пример показывает, что задача коммивояжер принадлежит NP. Поясним значение термина «решает» в этом определении. Основное назначение «полиномиального недетерминированного алгоритма» со- состоит в объяснении понятия «проверяемости за полиномиальное время», а не в том, чтобы служить реалистическим методом решения задач рас- распознавания свойств. При каждом входе такой алгоритм имеет не одно, а несколько воз- возможных вычислений — по одному для каждой возможной догадки. Имеется еще одно важное отличие «решения» задачи распознавания недетерминированным алгоритмом от решения детерминированным ал- алгоритмом, а именно в первом случае отсутствует симметрия между отве- ответами «да» или «нет». Если задача «дано /; верно ли что для I выполняет- выполняется свойство X» может быть решена полиномиальным (детерминированным) алгоритмом, то такое же утверждение справедли- справедливо и для дополнительной задачи: «Дано /, верно ли, что для / не выпол- выполняется свойство Х7». Детерминированный алгоритм останавливается при всех входах, поэтому достаточно поменять местами ответы «да» и «нет» (переставить состояния qY и qN в ДМТ-программе). Неочевиден этот факт для всех задач, разрешаемых за полиномиаль- полиномиальное время недетерминированными алгоритмами. Рассмотрим, напри- например, дополнение задачи коммивояжер: дано множество городов, рас- расстояние между ними и граница В. Верно ли, что нет маршрута, проходящего через все города и имеющего длину, не превосходящую В1 Для выяснения, имеет ли поставленный вопрос ответ «да», неизвес- неизвестен способ, который был бы короче, чем проверка всех (или почти всех) возможных маршрутов. Иными словами неизвестен полиноми- полиномиальный недетерминированный алгоритм решения этой дополнительной задачи из NP. В заключение формализуем приведенное определение в терминах языков и машин Тьюринга. Формальным эквивалентом недетерминиро- недетерминированного алгоритма является программа для недетерминированной одно- ленточной машины Тьюринга (НДМТ). 395
Модель НДМТ, которой мы будем пользоваться, имеет в точности та- такую же структуру, как ДМТ (рис. 12.5). Отличие состоит в том, что НДМТ дополнена угадывающим модулем со своей головкой, которая может только записывать на ленту. Угадывающий модуль дает информа- информацию для записывания «догадки» и применяется исключительно с этой целью. Угадывающий модуль Управляющее устройство угадывающая головка читающая (пишущая) головка -3-2-1 0 12 3 4 Рис. 12.5 Программа НДМТ или НДМТ-программа определяется точно так же, как ДМТ-программа, при этом используется ленточный алфавит Г, вход- входной алфавит I, пустой символ Ь, множество состояний Q, начальное со- состояние qo, заключительные состояния qY и цн, функция перехода 5 (Q \ { qY, qN }) х Г-* Q х Г х {-1, +1}. Вычисление НДМТ-программы при вхо- входе X е 2/* в отличие от вычислений ДМТ-программы имеет две различ- различные стадии. На первой стадии происходит «угадывание». В начальный момент времени входное слово X записывается в ячейке с номерами 1, 2, 3, ..., Щ (остальные ячейки пусты), читающая / пишущая головка «смот- «смотрит» на ячейку с номером 1, пишущая головка угадывающего модуля «смотрит» на ячейку с номером -1, а устройство управления «пассивно». Затем угадывающий модуль начинает управлять угадывающей головкой, которая делает один шаг в каждый момент времени и либо пишет в на- находящейся под ней ячейке одну букву из алфавита Г и сдвигается на од- одну ячейку влево, либо останавливается. В последнем случае угадываю- угадывающий модуль переходит в пассивное состояние, а управляющее устройство начинает работу в состоянии q0. Угадывающий модуль реша- решает, продолжить ли работу (перейти ли в пассивное состояние, какую бук- букву из Г написать на ленте), причем делается это совершенно произволь- произвольно. Таким образом, угадывающий модуль до момента окончания своей работы может написать любое слово из Г* и в действительности может никогда не остановиться. Стадия проверки начинается в тот момент, когда управляющее уст- устройство переходит в состояние q0 . Начиная с этого момента, вычисле- 396
ние НДМТ-программы осуществляется в точности по тем же правилам, что и ДМТ-программа. Угадывающий модуль и его головка в вычисле- вычислении больше не участвуют, выполнив свою роль, т.е. записав на ленте слово-догадку. Слово-догадка может (и обычно будет) просматриваться читающей / пишущей головкой в процессе проверки. Выполнение за- заканчивается тогда, когда управляющее устройство перейдет в одно из двух заключительных состояний (qY или qN); оно называется прини- принимающим вычислением, если остановка происходит в состоянии qY. Все остальные вычисления, заканчивающиеся или нет, называются непри- нимающими. Отметим, что любая НДМТ-программа М может иметь бесконечное число возможных вычислений при данном входе X, по одному для каж- каждого слова-догадки из Г*. Будем говорить, что НДМТ-программа М принимает X, если по край- крайней мере одно из ее вычислений на входе Xявляется принимающим. Язык, распознаваемый программой М, — это язык Ьм= {X е 27*: М принимает X). Время, требующееся недетерминированной программе М для того, чтобы принять слово X € LM, — это минимальное число шагов, выпол- выполняемых на стадии угадывания и проверки до момента достижения за- заключительного состояния qy> где минимум берется по всем принимаю- принимающим вычислениям программы М на входе X. Временная сложность НДМТ-программы М— это функция Тм\ Z* —> 2?\ определяемая сле- следующим образом: Тм(п) = max ({1} U {m: существует X е Ьм, \Х\ = п такое, что время принятия X программой Мравно т}). Заметим, что временная сложность программы М зависит только от числа шагов, выполняемых в принимающих вычислениях, а также, что мы полагаем М{п) равным единице, если нет ни одного входа длины п, принимаемого программой М. НДМТ-программа называется НДМТ-программой с полиномиальным временем работы, если найдется полином Р такой, что Tjjji) < P{ri) для всех п > 1. Наконец класс NP формально определяется так: NP = {L: существует НДМТ-программа М с полиномиальным време- временем работы такая, что Lm = Ц Нетрудно установить взаимосвязь между этими формальными опре- определениями и предшествующими неформальными. Будем говорить, что задача распознавания принадлежит классу NP при схеме кодирования е, если L (И, е) е NP. Как и в случае класса Р 397
мы говорим, что II лежит в NP, не упоминая конкретную схему кодиро- кодирования, когда ясно, что некоторая разумная схема кодирования задачи II даст язык, принадлежащий NP. 12.7. Взаимоотношения между классами NP и Р Вопрос о взаимоотношении клас- Всякая задача распознава- хт_ ~ ния, разрешимая за полиноми- сов NP и Р имеет важное значение альное время детерминирован- детерминированным алгоритмом, разрешима также за полиномиальное время недетерминированным алго- алгоритмом, т.е. PCZNP. для теории NP-полных задач. Одно соотношение заключается в том, что Р с NP. Всякая задача распознава- распознавания, разрешимая за полиномиальное врем детерминированным алгорит- алгоритмом, разрешима также за полиномиальное время недетерминирован- недетерминированным алгоритмом. Чтобы убедиться в этом, достаточно заметить, что любой детерминированный алгоритм может быть использован в каче- качестве стадии проверки недетерминированного алгоритма. Если II е Р и А — произвольный детерминированный алгоритм решения задачи II, то полиномиальный недетерминированный алгоритм для II можно полу- получить, воспользовавшись А в качестве стадии проверки и игнорируя ста- стадию угадывания. Таким образом, из II е Р, следует, что II е NP. Один из самых значительных результатов о соотношении классов Р и NP состоит в следующем. Теорема 12.1. Если II е NP, то существует такой полином Р, что II может быть решена детерминированным алгоритмом с временной слож- сложностью ОB вд). Доказательство. Пусть А — полиномиальный недетерминированный алгоритм решения задачи II и q(n)— полином, ограничивающий вре- временную сложность алгоритма^. По определению класса NP, для каждого принимаемого входа длины п найдется некоторое слово-догадка (в алфавите Г символов ленты) дли- длины не более q{ri) такое, что в алгоритме А стадия проверки дает при рас- рассматриваемом входе ответ «да» не более, чем за q(n) шагов. Таким обра- образом, общее число догадок, которые нужно рассмотреть, не превосходит К?^п\ где К = \Ц (если слово-догадка короче q(n\ то его можно дополнить пустыми словами и рассматривать как слово длины q(n)). Теперь можно детерминированным образом выяснить, имеет ли алго- алгоритм А на заданном входе длины п принимающее вычисление. Для этого достаточно на каждом из А?(и) возможных догадок запустить детермини- 398
рованную стадию проверки алгоритма А и позволить ей работать до того момента, пока она не остановится или не сделает q(n) шагов. Этот моде- моделирующий алгоритм даст ответ «да», если ему встретится слово-догадка, приводящее к принимающему вычислению не более q(ri) и ответ «нет» — в противном случае. Такой алгоритм очевидно будет детерми- детерминированным алгоритмом решения задачи II. Более того, его временная сложность равна по существу q(ri) • А^(л) и хотя это экспонента, но при подходящем выборе полинома сложность не превосходит ОB P(w)). Тео- Теорема доказана. Процесс моделирования, предложенный в доказательстве теоремы 12.1 можно в некоторой степени ускорить с помощью метода ветвей и границ или с помощью более тщательного перебора, когда избегаются ненужные слова-догадки. Тем не менее несмотря на значительное со- сокращение перебора в этом случае неизвестен метод, который осуществ- осуществляет такое моделирование быстрее, чем за экспоненциальное время. 12.8. Полиномиальная сводимость и NP-полные задачи Способность недетерминирован- недетерминированного алгоритма проверить за полино- Если ПРИ анализе °птимиза- ционной задачи окажется, что она миальное время экспоненциальное число возможностей может навести на мысль, что полиномиальные неде- недетерминированные алгоритмы являют- являются более мощным средством, чем по- полиномиальные детерминированные. Действительно, для многих частных задача является NP-полной, то принадлежит классу Р (к этому классу, в частности, принадлежит задача линейного программиро- программирования), то внимание исследовате- исследователя должно быть сосредоточено на поиске эффективных полиноми- полиномиальных точных алгоритмов. Если необходимо в большинстве слу- случаев использовать приближенные методы ее решения. задач класса NP, таких как комми- коммивояжер и других, не найдено полино- полиномиального детерминированного алго- алгоритма несмотря на упорные усилия многих известных исследователей. По- Поэтому не удивляет широко распространенное мнение, что Р Ф NP, хотя до- доказательство этой гипотезы отсутствует. Если Р не совпадает с NP, то раз- различие между NP/P и Р очень существенно. Все задачи из Р могут быть решены полиномиальными алгоритмами, а все задачи из NP/P трудноре- шаемы. Поэтому если Р Ф NP, то для каждой конкретной задачи II е NP важно знать, какая из этих двух возможностей реализуется. Конечно, пока не доказано, что Р Ф NP, нет никаких шансов показать, что некоторая кон- конкретная задача принадлежит классу NP/P. По этой причине цель теории 399
NP-полных задач заключается в доказательстве более слабых результатов вида: «если Р Ф NP, то II с NP/P». Основная идея такого условного подхода основана на идее полиноми- полиномиальной сводимости. Будем говорить, что имеет место полиномиальная сводимость языка II с 271* к языку 12 с 272*, если существует функция /: 271 * —> 272*, удовлетворяющая двум условиям: 1) существует ДМТ-программа, вычисляющая f с временной сложно- сложностью, ограниченной полиномом; 2) для любого X е II*, X е II в том и только в том случае, если/Х) е 12. Если II полиномиально сводится к 12, то будем писать II оо LI и говорить «II сводится к L2» (опуская слово полиномиально). Если L1 полиномиально сводится к 12, то будем писать II оо L2. Важность понятия полиномиальная сводимость вытекает из следую- следующей леммы. Лемма 12.1. Если II оо 12, то из 12 е Р следует, что II e P (эквива- (эквивалентно: из II <? Р следует, что 12 g P). Доказательство. Пусть 2Л и 22 алфавиты языков II и 12 соответ- соответственно, функция/ 271* —> 272* осуществляет полиномиальную своди- сводимость II к 12, A(jf— полиномиальная ДМТ-программа, вычисляющая/ и Ml — полиномиальная ДМТ-программа, распознающая 12. Полино- Полиномиальная ДМТ-программа, распознающая II, может быть получена композицией программы Mf и Ml. Ко входу X е 271* вначале применя- применяется Mf чтобы построить f(X) e 272*. Затем к f{X) применяется про- программа М2, выясняющая верно ли, wiof{X) е 12. Поскольку^ € II то- тогда и только тогда, когда f{X) e 12, то это описание дает ДМТ- программу, распознающую II. То, что время работы этой программы ограничено полиномом, немедленно следует из полиномиальности про- программ Mf и Ml. Точнее, если Р/ и Р2 — полиномы, ограничивающие время работы программ Mf и М2 соответственно, то \f{X) < Pfi\X\)\, a время работы только что построенной программы, как нетрудно видеть, ограничено функцией O(P/((Z|) + P2(Pf[\X\)), которая является полино- полиномом от \Х\. Лемма доказана. Если III и 112 — задачи распознавания, a el и е2 — их схемы кодиро- кодирования, то будем писать III оо 112 (относительно заданных схем кодирова- кодирования), если существует полиномиальная сводимость языка 1A11, el) к 1A12, е2). Когда будет действовать стандартное предположение о «ра- «разумности» используемых схем кодирования, упоминание о конкретных схемах кодирования как обычно будет опускаться. Таким образом, на уровне задач полиномиальная сводимость задачи распознавания /71 к за- 400
даче распознавания /72 означает наличие функции/: Dm —> Dn2i удовле- удовлетворяющей двум условиям: 1) /вычисляется полиномиальным алгоритмом; 2) для всех / е ?>//, / е Ym тогда и только тогда, когдаf{I) e Yn2. Отношение полиномиальной сводимости особенно удобно, поскольку оно является транзитивным. Это устанавливает следующая лемма. Лемма 12.2. Если Ы оо 12 и Z2 оо 13, то Zl oo Z3. Доказательство. Пусть 271, 22, 23 — алфавиты языков Z,l, Z,2, L3 со- соответственно. Функция/1: 271* —> 22* реализует полиномиальную сво- сводимость L2 к L3. Тогда функция/: 21* —» 23*, которая для всех X е 21* определяется соотношением /(А) = /2(fl (X)) реализует исходную своди- сводимость языка Z1 к языку Z3. Действительно,/(X) е Z3 тогда и только то- тогда, когда X е Z1, а вычислимость/за полиномиальное время получается с помощью рассуждений, аналогичными рассуждениям, использованным при доказательстве леммы 12.1. Доказав лемму 12.2, можно говорить, что языки L\ и L2 (соответствен- (соответственно задачи распознавания /71 и /72) полиномиально эквивалентны, если они сводятся друг к другу, т.е. Ы оо 12 и L2 оо /Л (имеет место сводимость III оо 112 и 112 оо III). Лемма 12.2 утверждает, что это отношение является от- отношением эквивалентности, а также, что отношение «оо» определяет час- частичное упорядочение возникающих классов эквивалентности языков (за- (задач распознавания). На самом деле класс Р— это наименьший относительно этого частичного порядка класс эквивалентности и с вычис- вычислительной точки зрения его можно рассматривать как класс самых легких языков задач распознавания. Класс NP-полных языков задач распознава- распознавания дает нам другой класс эквивалентности, который характеризуется тем, что он содержит «самые трудные» языки задач распознавания из NP. Язык L называется NP-полным, если L e NP и любой другой язык U е NP сводится к L. Говоря неформально, задача распознавания П назы- называется NP-полной, если П е NP и любая другая задача распознавания Я' е NP сводится к П. Таким образом, лемма 12.1 позволяет отождествлять NP-полные задачи с «самыми трудными задачами из NP». Если хотя бы одна NP-полная задача может быть решена за полиномиальное время, то и все задачи из NP также могут быть решены за полиномиальное время. Если хотя бы одна задача из NP труднорешаема, то и все NP-полные за- задачи труднорешаемы. Следовательно, любая NP-полная задача II обладает свойством, кото- которое сформулировано в начале настоящего раздела: если Р Ф NP, то II е 401
NP/P. Точнее II e P тогда и только тогда, когда Р = NP. В предложении, что Р Ф NP, можно дать гипотетическую картину класса NP (рис. 12.6). Рис. 12.6 Из рис. 12.6 видно, что если предположить, что класс Р отличен от NP, то должны существовать задачи из NP, не разрешимые за полиномиаль- полиномиальное время и не являющиеся NP-полными. В дальнейшем мы будем изучать в основном NP-полные задачи. В на- начале настоящего раздела говорилось о том, что имеются простые методы доказательства NP-полноты задачи, то для этого необходимо доказать, что любая задача из NP сводится к некоторому кандидату на NP-полную задачу. Следующая лемма указывает простой путь доказательства NP- полноты новой задачи П, если известна хотя бы одна NP-полная задача. Лемма 12.3. Если Ь\ и L2 принадлежит классу NP, L\ — это NP- полный язык и Ы оо L2, то L2 также NP-полный язык. Доказательство. Так как L2 е NP, то достаточно показать, что для всякого V € NP V сводится к L2. Рассмотрим любой язык V е NP. Так как Ы — это NP-полный язык, то V сводится к L\. В силу транзитивно- транзитивности отношения оо из сводимости Z1 оо Z2 следует L' оо L2. Лемма доказа- доказана. Из доказанной леммы следует, что для доказательства NP-полноты новой задачи II показать: 1) II е NP; 2) Какая-то одна известная NP-полная задача сводится к II. Однако прежде чем воспользоваться этим методом доказательства, необходимо найти некоторую хотя бы одну NP-полную задачу. В настоящее время известен обширный список NP-полных задач (сре- (среди которых рассмотренная нами: коммивояжер). При анализе любой новой задачи, связанной, например, с оптималь- оптимальным распределением ресурсов в экономической системе, естественно сначала задать вопрос: «Можно ли рассматриваемую задачу решить по- 402
линомиальным алгоритмом?» Если ответ на этот вопрос положителен, то с точки зрения NP-полноты ничего больше сказать о задаче нельзя. Дальнейшие усилия должны быть сконцентрированы на поиске как мож- можно более эффективных полиномиальных алгоритмов. Если же для реше- решения задачи неизвестны полиномиальные алгоритмы, то естественно воз- возникает вопрос: «Является ли рассматриваемая задача NP-полной». Если задача оказалась NP-полной, то это сильный аргумент в пользу того, что ее нельзя решить за полиномиальное время. На практике при анализе новой задачи пользуются двухсторонним подходом. С одной стороны, предпринимаются попытки доказательства NP-полноты задачи, с другой— осуществляется поиск эффективных (полиномиальных) алгоритмов ее решения. Естественно, что успешное применение на практике такого двухстороннего подхода требует от ис- исследователя мастерства как в отыскании доказательств в NP-полноты, так и в построении полиномиальных алгоритмов. С методами построения эффективных алгоритмов можно ознакомиться в книгах по построению алгоритмов, например [25]. Мы же сосредоточили внимание на вопросе: если доказана NP-полнота задачи, каким образом продолжить ее анализ с точки зрения получения практических рекомендаций по отысканию ре- решения задачи. Один из таких методов анализа заключается в том, чтобы, налагая дополнительные ограничения, рассмотреть подзадачи исходной задачи, по возможности разграничивая NP-полные и полиномиальные задачи. Другим подходом является максимальное сокращение объема перебора при решении задачи, хотя при этом признается возможность экспоненци- экспоненциального времени работы алгоритма на какой-либо из индивидуальных за- задач. К наиболее широко используемым приемам сокращения перебора от- относятся приемы, основанные' на методе «ветвей и границ» или других методах неявного перебора. Эти приемы состоят в построении частичных решений, представленных в виде дерева поиска и применении мощных методов построения оценок, позволяющих идентифицировать бесперспек- бесперспективные частичные решения, в результате чего от дерева поиска на одном шаге может быть отсечена целая ветвь «плохих» решений. Известны и другие методы, кроме метода «ветвей и границ». Это метод динамическо- динамического программирования, методы отсечений и метод Лагранжа. И, наконец, еще один подход основан на приеме, который можно на- назвать «снижение требований». Он заключается в отказе от поиска опти- оптимального решения и нахождение вместо этого хорошего решения за при- приемлемое время. Алгоритмы, основанные на этом приеме, обычно 403
называются эвристическими, поскольку они используют различные со- соображения без строгих обоснований. Методы, применяемые при по- построении таких алгоритмов, сильно зависят от специфики задачи, хотя существуют несколько исходных принципов, которые могут служить не- некоторой отправной точкой. Наиболее широко используется так называе- называемый метод «локального поиска». В этом случае заранее выбранное мно- множество локальных операций используется для последовательного улучшения начального решения до тех пор, пока такое улучшение воз- возможно, а в противном случае оказывается достигнутым «локальный оп- оптимум». Эвристические алгоритмы, построенные этим и другими мето- методами, на практике оказываются весьма удовлетворительными, хотя для получения удовлетворительных характеристик требуется большая рабо- работа, связанная с последовательным улучшением применяемых эвристик. В результате только в очень редких случаях удается заранее предсказать и оценить поведение таких алгоритмов. Вместо этого такие алгоритмы оцениваются и сравниваются на основе сочетания эмпирических данных и аргументов, опирающихся на здравый смысл. В то же время в некото- некоторых случаях удастся доказать, что решения, получаемые эвристическим алгоритмом, всегда будут отличаться от оптимальных в процентном от- отношении не более чем на определенную величину. Подобные результаты можно рассматривать как «оценки погрешности» алгоритмов. Рассмотрим один из примеров применения приближенных алгорит- алгоритмов для задачи «упаковка в контейнеры». Дадим формальное описание понятия и обозначений комбинаторной оптимизационной задачи. Комбинаторная оптимизационная задача II есть либо задача миними- минимизации, либо задача максимизации и состоит из трех частей: 1) множество Du индивидуальных задач; 2) для каждой / е Du существует конечное множество Su(I) допустимых решений индивидуальной задачи /; 3) функции гпц, сопоставляющей каждой индивидуальной задаче / е /)п и каждому допустимому реше- решению о е Sjj(I) некоторое положительное целое число тиA9а), называе- называемое величиной решения а. Если II задача минимизации (максимиза- (максимизации), то оптимальным решением индивидуальным решением индивидуальной задачи I е Вц является такое допустимое решение а* е Sn(I), что для всех а е Sn(I) выполнено неравенство тцA,а*) < ти/ХЛ^)- Соответственно тпA,0*) > тпA9о). Для обозначения величины тпA,(т*) оптимального решения индиви- индивидуальной задачи /будем использовать символ ОРТцA) (в тех случаях, ко- когда задача ясна из контекста, индекс II будет опускаться). 404
Алгоритм А называется приближенным алгоритмом решения задачи II, если для любой индивидуальной задачи I e Dn алгоритм А отыскивает не- некоторое допустимое решение о е Su(I). Через АA) будем обозначать величи- величину тиA9<т) того возможного решения о, которое А строит по /. Если АA) = ОРЩ) для всех I е ?>я, то А назовем точным алгоритмом решения задачи П. Если оптимизационная задача NP, трудна, то, как было сказано ранее скорее всего нельзя построить точный полиномиальный алгоритм реше- решения этой задачи. Более реалистично попытаться построить приближен- приближенный алгоритм А, время работы которого ограничено полиномом невысо- невысокой степени и величина АA) близка к ОРТG). Перейдем к изучению свойств приближенных алгоритмов примени- применительно к задаче об «упаковке в контейнеры». Она формулируется следую- следующим образом. Задано конечное множество V= (U\, ..., Uri) «предметов» и «размеры» S(U) e @,1) каждого предмета U е К (размер предмета задан рациональным числом). Требуется найти такое разбиение множества V на непересекающиеся подмножества F1, ..., Vk, что сумма размеров предме- предметов в каждом из подмножеств и VI не превосходила 1 и чтобы к было наи- наименьшим из возможных. Можно считать, что предметы, принадлежащие каждому множеству Vi9 упаковываются в один контейнер размера 1, а на- наша цель — упаковать предметы множества V в как можно меньшее число контейнеров. Если контейнер один, а каждый предмет обладает опреде- определенной ценностью, то в некоторых ситуациях необходимо упаковать в контейнер те предметы, которые максимизируют суммарную ценность упакованных предметов. В такой формулировке данная задача использует- используется при формировании портфеля ценных бумаг для ситуации, когда извест- известна динамика изменения курсовой стоимости входящих в портфель ценных бумаг. Данная задача является NP-трудной, поэтому надежд на отыскание эффективного точного алгоритма ее решения немного. В то же время име- имеется несколько заслуживающих внимания простых приближенных алго- алгоритмов. Один из них известен под названием «в первый подходящий». Ал- Алгоритм заключается в том, чтобы помещать предметы в контейнеры по очереди в порядке возрастания номеров. Предметы помещаются в контей- контейнер согласно следующему простому правилу: «Очередной предмет U по- помещается в контейнер с наименьшим номером, у которого сумма размеров уже помещенных в него предметов не превосходит 1 - S(Ui). Другими словами, Ui помещается в первый из контейнеров, куда он может попасть, не нарушая ограничений по размеру. На рисунке 12.7 показан пример ра- работы этого алгоритма. Здесь каждый предмет представлен прямоугольни- прямоугольником, имеющим высоту, пропорциональную размеру предмета. 405
ив LZI3 № С/1 Ul Рис. 12 7 wmm\ ив UA С интуитивной точки зрения этот алгоритм кажется весьма разумным. Он не начинает заполнять новый контейнер, пока среди контейнеров есть хотя бы один, в который можно поместить очередной предмет. Проанализируем насколько близко к оптимальному решение, полу- полученное алгоритмом «в первый подходящий». Вначале рассмотрим число контейнеров, требующихся для указанного алгоритма, как функцию от параметров задачи. Обозначим эту функцию как FF(I). Имеют место не- неравенства: FF(I)>\ FF(I)<[2 Последнее неравенство следует из того, что в результате работы ал- алгоритма не может получиться более одного контейнера, заполненного более чем на половину. В противном случае первый же предмет, по- попавший в такой контейнер с наибольшим номером, должен быть поме- помещен алгоритмом «в первый подходящий», т.е. такой же контейнер с тем же номером. То, что указанная граница наилучшая из возможных, сле- следует из рассмотрения индивидуальной задачи V= {С/1, U1, ... Un}, где S(Uf) = Уг + е; 1 < i < п. Поскольку никакие два предмета не могут по- попасть в один ящик, то FF(J) = n, в то время как сумма размеров предме- предметов равна nil + ne и если е достаточно малое, то она будет как угодно близка к nil. Сделанное замечание позволяет нам также оценить, во сколько раз плохое решение, получаемое алгоритмом «в первый подходящий» может отличаться от оптимального решения задачи. Поскольку ясно, что О?ТA)> [ЕS(Ui)], 406
то отсюда вытекает, что для всех индивидуальных задач I вытекает нера- неравенство FF(I) < 2ОРТ{1). В [34] приводится теорема, что для FF(I) имеется лучшая оценка. Теорема 12.2. Для всех индивидуальных задач / об упаковке имеет место неравенство FF{I) < 17/10 ОРТA) + 2. Более того, существует индивидуальная задача /, для которой ОРТA) сколь угодно велико FF(\) > 17/10 (ОРД7) - 1). Таким образом, теорема 12.2 характеризует асимптотическое поведе- поведение в худшем случае алгоритма «в первый подходящий». Величина FF(I) никогда не отличается от оптимума более чем на 70% и в некоторых слу- случаях такое отличие действительно достигается. Далее перейдем к анализу алгоритмов с лучшей оценкой поведения. Ясно, что алгоритм «в первый подходящий» можно видоизменить, поль- пользуясь, например, следующим более совершенным правилом размещения: каждый следующий предмет Ui помещать в контейнер, содержимое ко- которого ближе всего к величине 1 - Si(U), но не превосходит ее (если име- имеется несколько таких контейнеров, то выбирается контейнер с наимень- наименьшим номером). Этот алгоритм называется «в наилучший из подходящих». Этот алгоритм, как показано в [34], в наихудшем случае имеет те же характеристики, что и алгоритм «в первый подходящий». Несколько лучший приближенный алгоритм получается, если учесть, что наихудшей для алгоритма «в первый подходящий» (а также для ал- алгоритма «в наилучший из подходящих») оказывается ситуация, когда в упорядочении предметов предметы с наибольшими размерами идут раньше предметов с наименьшими размерами, т.е. S(U\) > S(U2) > ... >S(Uri). Алгоритм применения процедуры «в первый подходящий» к пе- переупорядоченному таким образом списку предметов называется «в пер- первый подходящий в порядке убывания» (соответствующая функция обо- обозначается FFD(I)). Работа этого алгоритма характеризуется следующей теоремой Джонсона. Теорема 12.3. Для всех индивидуальных задач об упаковке выполня- выполняется неравенство FFD(I) < A1/9) ОРТA) + 4. Более того, существуют индивидуальные задачи, для которых ОРТA) произвольно велико и FFD(I) > A1/9) OPT(I). Таким образом, мы имеем гарантию, что алгоритм «в первый подхо- подходящий в порядке убывания» даже в худшем случае выдает решение, от- отличающееся от оптимального не более чем на 22%. Более того, встреча- встречаются задачи, для которых эта оценка достигается. Такой же результат 407
имеет место для аналогичного алгоритма «в наилучший из подходящих в порядке убывания». Нетрудно понять причину, в силу которой желательно иметь такие оценки погрешностей приближенных алгоритмов. Даже если конкретная оценка погрешности не столь сильна как хотелось бы, тем не менее весьма разумно начать решение задачи с простого алгоритма, имеющего такую оценку погрешности, а затем улучшить ее, пользуясь более со- совершенными эвристиками и методами оптимизации. Естественно, наи- наибольший интерес для нас представляет, в какой степени наш алгоритм «на практике» будет приближен к оптимальному. В качестве альтернати- альтернативы к анализу погрешности алгоритмов «в худшем случае» можно было бы попытаться оценить погрешность «в среднем». Изучение поведения алгоритмов «в среднем» чаще всего сводится к формированию типовых индивидуальных задач и апробации нескольких алгоритмов на этих за- задачах с последующим сравнением результатов.
Глава 13 ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ Рассматрим основную идею построе- построения так называемых генетических алго- алгоритмов. Этот класс алгоритмов относится итерационными методами реше- к так называемым эвристическим алго- F F F ния оптимизационных задач, ко- которые приводят, вообще говоря, не к оптимальному, но, как пра- ритмам. Эвристические алгоритмы — это итерационные методы решения оп- оптимизационных задач, которые приводят вило' к близкомУ к оптимально- му решению, не к оптимальному, но, как правило, к Генетические алгоритмы относятся к эвристическим ал- алгоритмам, то есть являются близкому к оптимальному решению. Правомочность таких алгоритмов имеет не строго математическое, а лишь интуитивное обоснование. Они обычно применяются в тех случаях, когда использование точных оптимизационных алгоритмов на практике невозможно. Приводятся примеры успешного при- применения генетических алгоритмов. 13.1. Естественный отбор в природе Эволюционная теория утверждает, что каждый биологический вид целенаправленно развивается и изменяется для того, чтобы наилучшим образом приспособиться к окружающей среде. В процессе эволюции многие виды насекомых и рыб приобрели защитную окраску, еж стал не- неуязвимым благодаря иглам, человек стал обладателем сложнейшей нерв- нервной системы. Можно сказать, что эволюция — это процесс оптимизации всех живых организмов. Рассмотрим, какими же средствами природа решает эту задачу оптимизации. Основной механизм эволюции — это естественный отбор. Его суть состоит в том, что более приспособленные особи имеют больше возмож- возможностей для выживания и размножения и, следовательно, приносят боль- больше потомства, чем плохо приспособленные особи. При этом благодаря передаче генетической информации (генетическому наследованию) по- потомки наследуют от родителей основные их качества. Таким образом, потомки сильных индивидуумов также будут относительно хорошо при- приспособленными, а их доля в общей массе особей будет возрастать. После 409
смены нескольких десятков или сотен поколений средняя приспособлен- приспособленность особей данного вида заметно возрастает. Чтобы сделать понятными принципы работы генетических алгоритмов, поясним также, как устроены механизмы генетического наследования в природе. В каждой клетке любого животного содержится вся генетическая информация этой особи. Эта информация записана в виде набора очень длинных молекул ДНК (дезоксирибонуклеиновая кислота). Каждая моле- молекула ДНК — это цепочка, состоящая из молекул нуклеотидов четырех ти- типов, обозначаемых А, Г, С и G. Собственно, информацию несет порядок следования нуклеотидов в ДНК. Таким образом, генетический код инди- индивидуума— это просто очень длинная строка символов, где используются всего 4 буквы. В животной клетке каждая молекула ДНК окружена обо- оболочкой; такое образование называется хромосомой. Каждое врожденное качество особи (цвет глаз, наследственные бо- болезни, тип волос и т.д.) кодируется определенной частью хромосомы, ко- которая называется геном этого свойства. Например, ген цвета глаз содер- содержит информацию, кодирующую определенный цвет глаз. Различные значения гена называются его аллелями. При размножении животных происходит слияние двух родительских половых клеток, и их ДНК взаимодействуют, образуя ДНК потомка. Ос- Основной способ взаимодействия — кроссовер {cross-over, скрещивание). При кроссовере ДНК предков делятся на две части, а затем обменивают- обмениваются своими половинками. При наследовании возможны мутации из-за радиоактивности или других влияний, в результате которых могут измениться некоторые гены в половых клетках одного из родителей. Измененные гены передаются потомку и придают ему новые свойства. Если эти новые свойства полез- полезны, они скорее всего сохранятся в данном виде, при этом произойдет скачкообразное повышение приспособленности вида. 13.2. Что такое генетический алгоритм Пусть дана некоторая сложная Генетический алгоритм имитирует эволюцию попу- популяции как циклический про- процесс скрещивания индиви- индивидуумов и смены поколений. которых значение функции максималь- функция {целевая функция), зависящая от нескольких переменных, и требуется найти такие значения переменных, при но. Задачи такого рода называются задачами оптимизации и встречают- встречаются на практике очень часто. 410
Один из наиболее наглядных примеров — задача распределения ин- инвестиций. В этой задаче переменными являются объемы инвестиций в каждый проект, а функцией, которую нужно максимизировать— сум- суммарный доход инвестора. Также даны значения минимального и макси- максимального объема вложения в каждый из проектов, которые задают об- область изменения каждой из переменных. Попытаемся решить эту задачу, применяя известные нам природные способы оптимизации. Будем рас- рассматривать каждый вариант инвести- инвестирования (набор значений переменных) как индивидуума, а доходность этого варианта — как приспособленность этого индивидуума. Тогда в процессе эволюции (если мы сумеем его орга- организовать) приспособленность индиви- индивидуумов будет возрастать, а значит будут появляться все более и более доходные варианты инвестирования. Остановив эволюцию в некоторый момент и выбрав самого лучшего индивидуума, мы получим достаточно хорошее решение задачи. Генетический алгоритм — это простая модель эволюции в природе, реали- реализованная в виде компьютерной программы. В нем используются как аналог механизма генетического наследования, так и аналог естественного отбора. При этом сохраняется биологическая терминология в упрощенном виде. Вот как моделируется генетическое наследование (табл. 13.1): Таблица 13.1 Жизненный цикл популяции - это несколько случайных скре- скрещиваний (посредством кроссове- кроссовера) и мутаций, в результате кото- которых к популяции добавляется какое-то количество новых ин- индивидуумов. Отбор в генетическом алго- алгоритме - это процесс формирования новой популяции из старой, после чего старая популяция погибает. Хромосома Индивидуум = = генетический код Кроссовер Мутация Вектор (последовательность) из нулей и единиц. Каждая позиция (бит) называется геном Набор хромосом = вариант решения задачи Операция, при которой две хромосомы обмениваются своими частями Случайное изменение одной или нескольких позиций в хромосоме Чтобы смоделировать эволюционный процесс, сгенерируем вначале случайную популяцию — несколько индивидуумов со случайным набо- набором хромосом (числовых векторов). Генетический алгоритм имитирует эволюцию этой популяции как циклический процесс скрещивания инди- индивидуумов и смены поколений. 411
Жизненный цикл популяции — это несколько случайных скрещива- скрещиваний (посредством кроссовера) и мутаций, в результате которых к попу- популяции добавляется какое-то количество новых индивидуумов. Отбор в генетическом алгоритме — это процесс формирования новой популяции из старой, после чего старая популяция погибает. После отбора к новой популяции опять применяются операции кроссовера и мутации, затем опять происходит отбор, и так далее. Отбор в генетическом алгоритме тесно связан с принципами естест- естественного отбора в природе следующим образом (табл. 13.2): Таблица 13.2 Приспособленность индивидуума Выживание наиболее при- приспособленных Значение целевой функции на этом индивидууме Популяция следующего поколения формируется в соответствии с целевой функцией. Чем приспособ- леннее индивидуум, тем больше вероятность его уча- участия в кроссовере, т.е. размножении Таким образом, модель отбора определяет, как следует строить попу- популяцию следующего поколения. Как правило, вероятность участия инди- индивидуума в скрещивании берется пропорциональной его приспособленно- приспособленности. Часто используется так называемая стратегия элитизма, при которой несколько лучших индивидуумов переходят в следующее поко- поколение без изменений, не участвуя в кроссовере и отборе. В любом случае каждое следующее поколение будет в среднем лучше предыдущего. Ко- Когда приспособленность индивидуумов перестает заметно увеличиваться, процесс останавливают и в качестве решения задачи оптимизации берут наилучшего из найденных индивидуумов. Возвращаясь к задаче оптимального распределения инвестиций, по- поясним особенности реализации генетического алгоритма в этом слу- случае: 1) индивидуум = вариант решения задачи = набор из 10 хромосом Х/9 2) хромосома Xj = объем вложения в проекту = 16-разрядная запись это- этого числа; 3) так как объемы вложений ограниченны, не все значения хромосом являются допустимыми. Это учитывается при генерации популя- популяций; 4) так как суммарный объем инвестиций фиксирован, то реально варьи- варьируются только 9 хромосом, а значение 10-й определяется по ним од- однозначно. 412
Генетический алгоритм представляет собой комбини- комбинированный метод, в котором механизмы скрещивания и му- мутации в каком-то смысле реа- реализуют переборную часть метода, а отбор лучших реше- решений - градиентный спуск. Приведем некоторые выводы по результатам работы генетического ал- алгоритма для трех различных значений суммарного объема инвестиций К. 1) При малом значении К инвестируются только те проекты, которые прибыльны при минимальных вложениях; 2) если увеличить суммарный объем инвестиций, становится прибыль- прибыльным вкладывать деньги и в более дорогостоящие проекты; 3) при дальнейшем увеличении К достигается порог максимального вложения в прибыльные проекты, и инвестирование в малоприбыль- малоприбыльные проекты опять приобретает смысл. 13.3. Особенности генетических алгоритмов Генетический алгоритм — новей- новейший, но не единственно возможный способ решения задач оптимизации. С давних пор известны два основных пути решения таких задач— переборный и локально-градиентный. У этих методов свои достоинства и недостатки, и в каж- каждом конкретном случае следует поду- подумать, какой из них выбрать. Рассмотрим достоинства и недостатки стандартных и генетических методов на примере классической задачи коммивояжера. Суть задачи состоит в том, чтобы найти кратчайший замкнутый путь обхода несколь- нескольких городов, заданных своими координатами. Оказывается, что уже для 30 городов поиск оптимального пути представляет собой сложную зада- задачу, побудившую развитие различных новых методов (в том числе нейро- сетей и генетических алгоритмов). Каждый вариант решения (для 30 городов) — это числовая строка, где нау-м месте стоит номеру-го по порядку обхода города. Таким обра- образом, в этой задаче 30 параметров, причем не все комбинации значений допустимы. Естественно, первой идеей является полный перебор всех вариантов обхода. Переборный метод наиболее прост по своей сути и тривиален в про- программировании. Для поиска оптимального решения (точки максимума целевой функции) требуется последовательно вычислить значения целе- целевой функции во всех возможных точках, запоминая максимальное из них. Недостатком этого метода является большая вычислительная стои- стоимость. В частности, в задаче коммивояжера потребуется просчитать дли- 413
ны более 1030 вариантов путей, что совершенно нереально. Однако если перебор всех вариантов за разумное время возможен, то можно быть аб- абсолютно уверенным в том, что найденное решение действительно опти- оптимально. Второй популярный способ основан на методе градиентного спуска. При этом вначале выбираются некоторые случайные значения парамет- параметров, а затем эти значения постепенно изменяют, добиваясь наибольшей скорости роста целевой функции. Достигнув локального максимума, та- такой алгоритм останавливается, поэтому для поиска глобального оптиму- оптимума потребуются дополнительные усилия. Градиентные методы работают очень быстро, но не гарантируют оп- оптимальности найденного решения. Они идеальны для применения в так называемых унимодальных задачах, где целевая функция имеет единст- единственный локальный максимум (он же — глобальный). Легко видеть, что задача коммивояжера унимодальной не является. Типичная практическая задача, как правило, мультимодапьна и мно- многомерна, т.е. содержит много параметров. Для таких задач не существует ни одного универсального метода, который позволял бы достаточно бы- быстро найти абсолютно точное решение. Однако, комбинируя переборный и градиентный методы, можно надеяться получить хотя бы приближен- приближенное решение, точность которого будет возрастать при увеличении време- времени расчета. Генетический алгоритм представляет собой именно такой комбини- комбинированный метод. Механизмы скрещивания и мутации в каком-то смысле реализуют переборную часть метода, а отбор лучших решений — гради- градиентный спуск. Итак, если на некотором множестве задана сложная функция от не- нескольких переменных, то генетический алгоритм — это программа, ко- которая за разумное время находит точку, где значение функции достаточ- достаточно близко к максимально возможному. Выбирая приемлемое время расчета, получим одно из лучших решений, которые вообще возможно получить за это время. Компанией Ward Systems Group подготовлен наглядный пример ре- решения задачи коммивояжера с помощью генетического алгоритма. Для этого была использована библиотека функций продукта GeneHunter. Го- Города можно располагать на карте с помощью мыши, а поиск кратчайшего пути занимает не более 1 мин.
Глава 14 НЕЙРОСЕТЕВЫЕ ТЕХНОЛОГИИ 14.1. Что такое нейросеть Познакомимся с основной идеей построения так называемых нейро- сетевых моделей и рассмотрим примеры успешного применения нейро- сетевых моделей. Как работает человеческий мозг? Нервная система и мозг человека состоят из нейронов, соединенных между собой нервными волокнами. Нервные волокна способны передавать электрические импульсы меж- между нейронами. Все процессы передачи раздражений от нашей кожи, ушей и глаз к мозгу, процессы мышления и управления действиями — все это реализовано в живом организме как передача электрических импульсов между нейронами. Каждый нейрон имеет отростки нерв- нервных волокон двух типов — дендриты, по которым принимаются им- импульсы, и единственный аксон, по которому нейрон может передавать импульс. Аксон контактирует с дендритами других нейронов через специальные образования — синапсы, которые влияют на силу им- импульса. Можно считать, что при прохождении синапса сила импульса меняет- меняется в определенное число раз, которое мы будем называть весом синапса. Импульсы, поступившие к нейрону одновременно по нескольким денд- ритам, суммируются. Если суммарный импульс превышает некоторый порог, нейрон возбуждается, формирует собственный импульс и переда- передает его далее по аксону. Важно отметить, что веса синапсов могут изме- изменяться со временем, а значит меняется и поведение соответствующего нейрона. Нетрудно построить математическую модель описанного процесса. Рассмотрим модель нейрона с тремя входами (дендритами), причем си- синапсы этих дендритов имеют веса w\9 м>2, w3. Пусть к синапсам поступа- поступают импульсы силы х\, x2, х3 соответственно, тогда после прохождения синапсов и дендритов к нейрону поступают импульсы w\X\9 W2X2, W3X3. Нейрон преобразует полученный суммарный импульс х = w\X\ + W2X2 + W3X3 в соответствии с некоторой передаточной функцией fix). Сила вы- 415
ходного импульса равна у = fix) = flyv\X\ + w2*2 + W3JC3). Таким образом, нейрон полностью описывается своими весами w* и передаточной функ- функцией fix). Получив набор чисел (вектор) х* в качестве входов, нейрон вы- выдает некоторое число у на выходе. 14.2. Как работает нейросеть Искусственная нейронная сеть (ИНС, нейросеть)— это набор ней- нейронов, соединенных между собой. Как правило, передаточные функции всех нейронов в сети фиксированы, а веса являются параметрами сети и могут изменяться. Некоторые входы нейронов помечены как внешние входы сети, а некоторые выходы — как внешние выходы сети. Подавая любые числа на входы сети, мы по- получаем какой-то набор чисел на выходах сети. Таким образом, работа нейросети состоит в преобразовании входного вектора в выходной век- вектор, причем это преобразование задается весами сети. Практически лю- любую задачу можно свести к задаче, решаемой нейросетью. В табл. 14.1 показано, каким образом следует формулировать в терминах нейросети задачу распознавания рукописных букв. Таблица 14.1 Таким образом, работа нейро- нейросети состоит в преобразовании входного вектора в выходной век- вектор, причем это преобразование задается весами сети. Одной из основных областей применения нейросетевых тех- технологий являются задачи клас- классификации, то есть задачи, в ко- которых нужно отнести входные данные к одной из известных ка- категорий. Дано растровое черно-белое изображе- ние буквы размером 30 х 30 пикселов Задача распознавания рукописных букв Надо определить, какая это буква (в алфа- вите 33 буквы) Формулировка для нейросети Дано: входной вектор из 900 двоичных символов (900 = 30 х 30) Надо построить нейросеть с 900 входами и 33 выходами, которые помечены буква- буквами. Если на входе сети— изображение буквы «А», то максимальное значение выходного сигнала достигается на выходе «А». Аналогично сеть работает для всех 33 букв Поясним, зачем требуется выбирать выход с максимальным уровнем сигнала. Дело в том, что уровень выходного сигнала, как правило, мо- может принимать любые значения из какого-то отрезка. Однако в данной задаче нас интересует не аналоговый ответ, а всего лишь номер катего- 416
рии (номер буквы в алфавите). Поэтому используется следующий под- подход— каждой категории сопоставляется свой выход, а ответом сети считается та категория, на чьем выходе уровень сигнала максимален. В определенном смысле уровень сигнала на выходе «А» — это достовер- достоверность того, что на вход была подана рукописная буква «А». Задачи, в которых нужно отнести входные данные к одной из известных катего- категорий, называются задачами классификации. Изложенный подход — стандартный. Теперь, когда стало ясно, что именно мы хотим постро- построить, можно переходить к вопросу «как строить такую сеть». Этот во- вопрос решается в два этапа: 1) выбор типа (архитектуры) сети; 2) подбор весов (обучение) сети; На первом этапе следует выбрать: какие нейроны мы хотим ис- использовать (число входов, передаточные функции); каким образом следует соединить их между собой; что взять в качестве входов и вы- выходов сети. Эта задача на первый взгляд кажется необозримой, но к счастью нам необязательно придумывать нейросеть «с нуля» — существует несколько десятков различных нейросетевых архитектур, причем эффективность многих из них доказана математически. Наиболее популярные и изучен- изученные архитектуры — это многослойный персептрон, нейросеть с общей регрессией, сети Кохонена и другие. На втором этапе следует «обучить» выбранную сеть, т.е. подобрать такие значения ее весов, чтобы сеть работала нужным образом. Необу- Необученная сеть подобна ребенку— ее можно научить чему угодно. В ис- используемых на практике неиросетях количество весов может составлять несколько десятков тысяч, поэтому обучение — действительно сложный процесс. Для многих архитектур разработаны специальные алгоритмы обучения, которые позволяют настроить веса сети определенным обра- образом. Наиболее популярный из этих алгоритмов — метод обратного рас- распространения ошибки (Error Back Propagation), используемый, например, для обучения персептрона. 14.3. Обучение нейросети Обучить нейросеть - значит сообщить ей, чего мы от нее добиваемся. Этот процесс очень похож на обучение ребенка алфавиту. Показав ре- ребенку изображение буквы «А», мы спрашиваем его: «Какая это буква?» Если ответ неверен, мы сообщаем ребенку тот ответ, который хотели бы 14 Исследование операций ^ ' '
Учение сети представляет из себя процесс многократного предъявления примеров на вход сети, в результате чего веса сети стабилизируются, причем сеть дает правильные ответы на все (или почти все) примеры из базы данных. от него получить: «Это буква А». Ребенок запоминает этот пример вме- вместе с верным ответом, т.е. в его памяти происходят некоторые изменения в нужном направлении. Будем повторять процесс предъявления букв снова и снова до тех пор, пока все 33 буквы будут твердо запомнены. Та- Такой процесс называют «обучение с учителем». При обучении сети мы дейст- действуем аналогично. У нас имеется некоторая база данных, содержа- содержащая примеры (набор рукописных изображений букв). Предъявляя изображение буквы «А» на вход сети, мы получаем от нее некото- некоторый ответ, не обязательно верный. Нам известен и верный (желаемый) ответ — в данном случае нам хоте- хотелось бы, чтобы на выходе с меткой «А» уровень сигнала был максима- максимален. Обычно в качестве желаемого выхода в задаче классификации бе- берут набор A, 0, 0,...), где 1 стоит на выходе с меткой «А», а 0 — на всех остальных выходах. Вычисляя разность между желаемым ответом и ре- реальным ответом сети, мы получаем 33 числа — вектор ошибки. Алго- Алгоритм обратного распространения ошибки — это набор формул, кото- который позволяет по вектору ошибки вычислить требуемые поправки для весов сети. Одну и ту же букву (а также различные изображения одной и той же буквы) мы можем предъявлять сети много раз. В этом смысле обучение скорее напоминает повторение упражнений в спорте — тре- тренировку. Оказывается, что после многократного предъявления примеров ве- веса сети стабилизируются, причем сеть дает правильные ответы на все (или почти все) примеры из базы данных. В таком случае говорят, что «сеть выучила все примеры», «сеть обучена», или «сеть натренирова- натренирована». В программных реализациях можно видеть, что в процессе обу- обучения величина ошибки (сумма квадратов ошибок по всем выходам) постепенно уменьшается. Когда величина ошибки достигает нуля или приемлемого малого уровня, тренировку останавливают, а получен- полученную сеть считают натренированной и готовой к применению на новых данных. Важно отметить, что вся информация, которую сеть имеет о задаче, содержится в наборе примеров. Поэтому качество обучения сети напрямую зависит от количества примеров в обучающей выбор- выборке, а также от того, насколько полно эти примеры описывают данную 418
задачу. Так, например, бессмысленно использовать сеть для предска- предсказания финансового кризиса, если в обучающей выборке кризисы не представлены. Считается, что для полноценной тренировки требуется хотя бы несколько десятков (а лучше сотен) примеров. Повторим еще раз, что обучение сети — сложный и наукоемкий процесс. Алгоритмы обучения имеют различные параметры и настройки, для управления которыми требуется понимание их влияния. Об этих тонкостях и о теоретических основах работы нейросетей можно прочитать в специ- специальной литературе. 14.4. Основные направления применения нейросетей После того как сеть обучена, можно применять ее для решения полезных задач. Важнейшая особен- ность человеческого мозга состоит в жет с большой веР0ЯТН0СТЬЮ правильно реагировать на новые, не предъявленные ей ранее дан- Применение нейросети ос- основывается на том, что, грамот- грамотным образом обученная, она мо- ные. том, что однажды обучившись опре- определенному процессу, он верно дей- действует и в тех ситуациях, по кото- которым не обучался. Например, мы можем разобрать почти любой по- почерк, даже если видим его первый раз в жизни. Так же и нейросеть, грамотно обученная, может с большой вероятностью правильно реа- реагировать на новые, не предъявленные ей ранее данные. Например, можно нарисовать букву «А» другим почерком, а затем предложить нашей сети классифицировать новое изображение. Веса обученной сети хранят достаточно много информации о сходстве и различиях букв, поэтому можно рассчитывать на правильный ответ и для нового варианта изображения. 14.4.1. Классификация. Отметим, что задачи классификации (типа распознавания букв) очень плохо алгоритмизуются. Если в случае распо- распознавания букв верный ответ очевиден для нас заранее, то в более слож- сложных практических задачах обученная нейросеть выступает как эксперт, обладающий большим опытом и способный дать ответ на трудный во- вопрос. Примером такой задачи служит медицинская диагностика, где сеть может учитывать большое количество числовых параметров (энцефало- 419
грамма, давление, вес и т.д.). Конечно, «мнение» сети в этом случае нельзя считать окончательным. Классификация предприятий по степени их перспективности — это уже привычный способ использования нейросетей в практике западных компаний. При этом сеть также использует множество экономических показателей, сложным образом связанных между собой. Нейросетевой подход особенно эффективен в задачах экспертной оценки по той причине, что он сочетает в себе способность компьютера к обработке чисел и способность мозга к обобщению и распознаванию. Говорят, что у хорошего врача способность к распознаванию в своей об- области столь велика, что он может провести приблизительную диагности- диагностику уже по внешнему виду пациента. Можно согласиться также, что опытный трейдер чувствует направление движения рынка по виду гра- графика. Однако в первом случае все факторы наглядны, т.е. характеристи- характеристики пациента мгновенно воспринимаются мозгом как «бледное лицо», «блеск в глазах» и т.д. Во втором же случае учитывается только один фактор, показанный на графике, — курс за определенный период време- времени. Нейросеть позволяет обрабатывать огромное количество факторов (до нескольких тысяч), независимо от их наглядности — это универсаль- универсальный «хороший врач», который может поставить свой диагноз в любой области. 14.4.2. Кластеризация и поиск зависимостей. Помимо задач клас- классификации, нейросети широко используются для поиска зависимостей в данных и кластеризации. Например, нейросеть на базе методики МГУА (метод группового учета аргументов) позволяет на основе обучающей выборки построить зависимость одного параметра от других в виде по- полинома. Такая сеть может не только мгновенно выучить таблицу умно- умножения, но и найти сложные скрытые зависимости в данных (например, финансовых), которые не обнаруживаются стандартными статистиче- статистическими методами. Кластеризация — это разбиение набора примеров на несколько ком- компактных областей (кластеров), причем число кластеров заранее неиз- неизвестно. Кластеризация позволяет представить неоднородные данные в более наглядном виде и использовать далее для исследования каждого кластера различные методы. Например, таким образом можно быстро выявить фальсифицированные страховые случаи или недобросовестные предприятия. 420
14.4.3. Прогнозирование. Задачи прогнозирования особенно важны для практики, в частности для финансовых приложений, поэтому пояс- поясним способы применения нейросетей в этой области более подробно. Рассмотрим практическую задачу, ответ в которой неочевиден — задачу прогнозирования курса акций на 1 день вперед. Пусть у нас имеется база данных, содержащая значения курса за по- последние 300 дней. Простейший вариант в данном случае — попытаться построить прогноз завтрашней цены на основе курсов за последние не- несколько дней. Понятно, что прогнозирующая сеть должна иметь всего один выход и столько входов, сколько предыдущих значений мы хотим использовать для прогноза, например 4 последних значения. Составить обучающий пример очень просто — входными значениями будут курсы за 4 последовательных дня, а желаемым выходом — известный нам курс в следующий день за этими четырьмя. Если нейросеть совместима с какой-либо системой обработки элек- электронных таблиц (например, Excel), то подготовка обучающей выборки состоит из следующих операций: 1) скопировать столбец данных значений котировок в 4 соседних столб- столбца; 2) сдвинуть второй столбец на 1 ячейку вверх, третий столбец — на 2 ячейки вверх и т.д. Теперь каждая строка таблицы представляет собой обучающий пример, где первые 4 числа — входные значения сети, а пятое чис- число — желаемое значение выхода. Исключение составляют последние 4 строки, где данных недостаточно — эти строки не учитываются при тренировке. Заметим, что в четвертой снизу строке заданы все 4 входных значения, но неизвестно значение выхода. Именно к этой строке мы применим обученную сеть и получим прогноз на следую- следующий день. Как видно из этого примера, объем обучающей выборки зависит от выбранного нами количества входов. Если сделать 299 входов, то та- такая сеть потенциально могла бы строить лучший прогноз, чем сеть с 4 входами, однако в этом случае мы имеем всего 1 обучающий пример, и обучение бессмысленно. При выборе числа входов следует учиты- учитывать это, выбирая разумный компромисс между глубиной предсказа- предсказания (число входов) и качеством обучения (объем тренировочного на- набора). 421
14.5. Список практических приложений 14.5.1. Обслуживание кредитных карточек. Способности нейросе- тей к классификации применяются для отслеживания операций с кра- крадеными кредитными картами и поддельными чеками. Специализиро- Специализированная система Falcon фирмы HNC позволяет по частоте сделок и характеру покупок выделить подозрительные сделки и сигнализировать об этом. Благодаря этой системе потери банков от таких операций за- заметно уменьшились. В настоящее время Falcon контролирует более 260 млн счетов 16 крупнейших эмитентов кредитных карт. Аналогичная система, разработанная фирмой ITC, используется для обработки опе- операций с кредитными картами Visa. В 1995 г. с помощью этой системы были предотвращены нелегальные сделки на сумму более 100 млн долл. 14.5.2. Медицинская диагностика. Компанией «НейроПроект» соз- создана система объективной диагностики слуха у грудных детей. Обще- Общепринятая методика объективной диагностики состоит в том, что в про- процессе обследования регистрируются «вызванные потенциалы» (отклики мозга) в ответ на звуковой раздражитель, проявляющиеся в виде вспле- всплесков на электроэнцефалограмме. Для достаточно уверенной диагностики слуха ребенка опытному эксперту-аудиологу необходимо провести около 2000 тестов, что занимает около часа. Нейросеть способна с той же дос- достоверностью определить уровень слуха уже по 200 наблюдениям в тече- течение всего нескольких минут, причем без участия квалифицированного персонала. 14.5.3. Распознавание речи. Распознавание речи — одно из наи- наиболее популярных применений нейросетей. В компании «НейроПро- «НейроПроект» сделана демонстрационная система для речевого управления встроенным калькулятором Windows. Система уверенно распознает *юбое из 36 слов, сказанных в микрофон любым человеком. Для клас- классификации используется двухкаскадная иерархическая нейросеть, где первый каскад состоит из одного персептрона A000 входов, 24 нейро- нейрона в скрытом слое, 6 выходов), а второй каскад — из 6 персептронов с различными параметрами. Первый персептрон осуществляет грубое распознавание слова, относя его к одному из 6 классов. Роль второго каскада — точно классифицировать слово внутри каждого из классов. 422
Для построения этой сети использовалась библиотека NeuroWindows, а также разработанный в компании «НейроПроект» алгоритм иерар- иерархического обучения. В обучении сети принимали участие 19 дикто- дикторов. 14.5.4. Обнаружение фальсификаций. В США введена в действие система обнаружения мошенничеств в области здравоохранения. Под- Подсчитано, что потери бюджета от такого рода фальсификаций составляют около 730 млн долл. в год. Создание нейросетевой специализированной системы заняло у фирмы ITC более года и обошлось в 2,5 млн долл. Тес- Тестирование показало, что нейросеть позволяет обнаруживать 38% мошен- мошеннических случаев, в то время как существующая экспертная система — только 14%. Для настройки системы были использованы также методы нечеткой логики и генетической оптимизации. (http://www.fcw-civic.com/pubs/may/solutiontx.htm) 14.5.5. Анализ потребительского рынка. Несколько лет назад фирма IBM Consulting выполнила заказ на создание нейросетевой сис- системы, прогнозирующей свойства потребительского рынка. Заказчик — один из крупнейших производителей пищевых продуктов, имеющий огромные рынки сбыта. Одним из основных маркетинговых механиз- механизмов заказчика является распространение купонов, дающих право по- покупки определенного товара со скидкой. Так как затраты на рассылку купонов довольно велики, решающим фактором является эффектив- эффективность рассылки, то есть доля клиентов, воспользовавшихся скидкой. Для повышения эффективности купонной системы важно было провес- провести предварительную сегментацию рынка, а затем адресовать клиентам каждого сегмента именно те купоны, которыми они с большей вероят- вероятностью воспользуются. В терминах анализа данных здесь требовалось решить задачу кластеризации, что и было успешно сделано с помощью сетей Кохонена. На втором этапе для потребителей каждого из класте- кластеров подбирались подходящие коммерческие предложения, а затем строился прогноз объема продаж для каждого сегмента. (http://www.db2mag.com/9701eds2.htm) Другой вариант решения этой же задачи избрала компания GoalAssist Corporation, исполняя заказ крупной маркетинговой фирмы. Требовалось исследовать стратегию поощрительных товаров (когда, например, при- присылая 5 этикеток от чипсов, клиент получает бесплатно футболку) для определенной компании, торгующей пищевыми продуктами. Обычные 423
методы прогнозирования отклика потребителей в данном случае были недостаточно точны. В результате спрос на футболки оказался слишком велик, и многим покупателям пришлось подолгу ждать получения приза, в то время как другие подарки остались невостребованными. Чтобы по- повысить точность прогнозирования, было решено использовать историче- исторические данные и нейронные сети. Компания GoalAssist Corporation построила две нейросети для реше- решения этой задачи. Первая из них — это сеть с адаптивной архитектурой пакета NeuroShell Classifier компании Ward Systems Group, на входы ко- которой подавались различные параметры товаров и рекламной политики. С помощью этой сети, предназначенной специально для классификации, было получено разделение входов на 4 класса, характеризующих отклик потребителей. Те же входы вместе с ответом первой сети подавались да- далее на вход пакета NeuroShell Predictor, который также содержит слож- сложную самоорганизующуюся сеть, но приспособленную для задач количе- количественного прогнозирования. Средняя ошибка предсказаний составила всего около 4%. Построение этой модели заняло около 120 ч, также по- потребовалось время на предобработку входных данных. Эксперты GoalAssist Corp. считают, что эта модель и далее будет успешно приме- применяться для решения маркетинговых задач. (http://www.wardsystems.com/predconsum.htm) Компания Neural Innovation Ltd использует при работе с маркетинго- маркетинговыми компаниями конкретную стратегию прямой рассылки. Вначале рас- рассылается 25% от общего числа предложений и собирается информация об откликах потребителей. Затем эта информация поступает на вход нейро- нейрокомпьютера, который осуществляет поиск оптимального сегмента потреби- потребительского рынка для данного товара. Затем остальные 75% предложений рассылаются в указанный сегмент. При этом эффективность рассылки су- существенно возрастает. (http://www.neural.co.ulc/marketing/mailshot.html). 14.5.6. Прогнозирование объема продаж и управление закупками. Изложенные методы хорошо зарекомендовали себя на устойчивых за- западных рынках. При создании подобных систем на российском рынке необходимо учитывать его нестабильность, а также особенности поведе- поведения российских потребителей (например, закупки в период высоких ин- инфляционных ожиданий). В изменчивых условиях для торговых фирм особенно важно иметь прогноз спроса клиентов и дохода компании, что- чтобы осуществлять оптимальное управление закупками. В настоящее время 424
компания «НейроПроект» совместно с маркетинговой фирмой «Коней» (Нижний Новгород) ведет разработку системы анализа потребительского рынка и прогнозирования спроса на основе российских исторических данных. (http://www.konsi.nnov.ru:8002/) 14.5.7. Проектирование и оптимизация сетей связи. Одна из важ- важнейших задач в области телекоммуникаций — нахождение оптимального пути пересылки трафика между узлами — может быть успешно решена с помощью нейронных сетей. В данном случае важны две особенности: во- первых, решение должно быть адаптивным, т.е. учитывать текущее со- состояние сети связи и наличие сбойных участков, а во-вторых, найти оп- оптимальное решение нужно очень быстро в реальном времени. Нейросети прекрасно приспособлены для такого рода задач. Кроме управления маршрутизацией потоков, нейросети используются и для проектирова- проектирования новых телекоммуникационных сетей. При этом удается получить очень эффективные решения. (http://www.cbu.edu/-pong/624kep2.htm) 14.5.8. Прогнозирование изменений котировок. Компания Alela Corp. занимается прогнозированием изменения биржевых индексов. Для предсказания знаков изменения индексов применяется нейронная сеть, использующая РБФ (радиальные базисные функции). На сайте компании можно бесплатно получить прогнозы изменения индексов Dow Jones, S&P500 и Merval, а также убедиться, что доля верных пред- предсказаний составляет не менее 80%. Создатели сайта предлагают всем желающим использовать эти прогнозы в качестве дополнительных ин- индикаторов. (http://www.netverk.com.ar/-alela/index.htm) 14.5.9. Управление ценами и производством. Руководители пред- предприятий часто недооценивают потери от неоптимального планирования производства. Так как спрос и условия реализации зависят от времени, сезона, курсов валют и многих других факторов, то и объем производст- производства следует гибко варьировать с целью оптимального использования ре- ресурсов. Уже существуют примеры нейросетевых систем планирования, которые применяются совместно со стандартными методами исследова- исследования операций, динамического программирования, а также с методами нечеткой логики. (http://www.cbu»edu'-pong/624twg2.htm) 425
Крупное английское издательство, выпускающее газеты, приобрело у фирмы Neural Innovation Ltd систему планирования цен и затрат, основан- основанную на нейросети с использованием генетических алгоритмов. На основе исторических данных система обнаруживает сложные зависимости между затратами на рекламу, объемом продаж, ценой газеты, ценами конкурен- конкурентов, днем недели, сезоном и т.д. После этого возможен подбор оптималь- оптимальной стратегии с точки зрения максимизации объема продаж или прибыли. (http://www.neural.co.uk/marketing/news.html) 14.5.10. Исследование факторов спроса. Для увеличения прибыль- прибыльности бизнеса в условиях конкуренции компании необходимо поддержи- поддерживать постоянный контакт с потребителями — обратную связь. В частно- частности, для этого солидные компании проводят опросы потребителей, позволяющие выяснить, какие факторы являются для потребителя ре- решающими при покупке данного товара или услуги, почему в некоторых случаях предпочтение отдается конкурентам, и какие улучшения товара потребитель хотел бы увидеть в будущем. Анализ результатов такого оп- опроса — достаточно сложная задача, так как здесь участвует большое ко- количество связанных между собой параметров. Нейронные сети идеально подходят для решения этой задачи. Существующие нейросетевые мето- методы позволяют выявлять сложные зависимости между факторами спроса, прогнозировать поведение потребителей при изменении маркетинговой политики, находить наиболее значимые факторы и оптимальные страте- стратегии рекламы, а также очерчивать сегмент потребителей, наиболее пер- перспективный для данного товара. (http://www.zsolutions.com/examples.htm; http://www.neuralt.com/Marketing/marketingpaper.htm) Примеры успешного использования нейросетевых технологий для по- построения эффективной маркетинговой политики: 1) маркетинговая кам- кампания «Tango Orange Man», организованная английским производителем безалкогольных напитков, компанией Britvic Soft Drinks совместно с фирмой Neural Technologies; 2) исследование предпочтений потребите- потребителей различных сортов пива в зависимости от их возраста, дохода, семей- семейного положения и других параметров, проведенное фирмой Neural Technologies. (http://www.neuralt.com/Marketing/CaseStudies.htm) 14.5.11. Прогнозирование потребления энергии. Крупная электри- электрическая компания заказала фирме ZSolutions систему анализа данных об 426
энергопотреблении. Эти данные получены в результате измерений по- потребляемой энергии для каждого клиента. Измерения проводились каж- каждые 15 мин, причем известно, что некоторые из них ошибочны. С помо- помощью нейросетей была построена система выявления ошибочных измерений, а также система прогнозирования потребления энергии в ка- каждый момент времени. Знание точного прогноза позволило энергетиче- энергетической компании использовать гибкую тарифную политику и увеличить свою прибыль. (http://www.zsolutions.com/examples.htm) 14.5.12. Оценка недвижимости. Стоимость дома или квартиры зави- зависит от большого числа факторов, таких как общая площадь, удален- удаленность от центра, экологическая обстановка, престижность, тип дома и т.д. Так как вид этой зависимости неизвестен, то стандартные методы анализа неэффективны в задаче оценки стоимости квартиры. Как пра- правило, эта задача решается экспертами-оценщиками, работающими в агентстве по недвижимости. Недостатком такого подхода является субъективность оценщика, а также возможные разногласия между раз- различными экспертами. Существуют успешные примеры решения задачи объективной оценки с помощью нейросети. В частности, фирма Attrasoft приводит пример оценки стоимости домов в Бостоне с учетом 13 параметров. (http://attrasoft.com/decision/examples.html) 14.5.13. Прогнозирование свойств полимеров. В 1997 г. фирма Aspen Technology, один из лидеров среди производителей программных продуктов для моделирования и оптимизации производственных процес- процессов, приобрела компанию NeuralWare Inc., владеющую нейросетевыми технологиями. Это слияние, в частности, дало возможность создать тех- технологию прогнозирования свойств материалов в химических полимер- полимерных производствах с помощью нейросетей. Этот подход оказался гораз- гораздо более дешевым, чем разработка теоретической модели, и даже более эффективным. Уже добилась успеха на этом пути компания DuPont, соз- создавшая новый сорт безопасного стекла с помощью пакета NeuroShell. (http://news.chemicalonline.com/industry-news/chemind90897.html) 14.5.14. Анализ страховых исков. Фирмой Neural Innovation Ltd. создана нейросетевая система Claim Fraud Analyser, позволяющая мгно- мгновенно выявлять подозрительные страховые иски, относящиеся к повреж- 427
денным автомобилям. На входы системы подаются такие параметры, как возраст и опыт водителя, стоимость автомобиля, наличие подобных про- происшествий в прошлом и др. В результате обработки выдается число — вероятность того, что данный иск связан с мошенничеством. Такая сис- система позволяет не только сэкономить за счет выявления фальсификаций, но и улучшить отношения с клиентами за счет более быстрого удовле- удовлетворения честных исков. (http://www.neural.co.uk/finance/fraud.html) Приведенные примеры показывают, что технологии нейронных сетей и генетических алгоритмов применимы практически в любой области. В некоторых задачах, таких как прогнозирование котировок или распозна- распознавание образов, нейросети стали уже привычным инструментом. Нет со- сомнений, что повсеместное проникновение новых технологий и в другие области — вопрос времени. Аналогичный процесс уже произошел с ком- компьютерами, которые в течение всего 20 лет распространились из военных вычислительных центров в каждый офис и во многие квартиры. Внедрение новых наукоемких технологий в коммерческой фирме — достаточно непростое дело, требующее кроме денег и времени еще и не- некоторой перемены психологии. Однако практика показывает, что эти вложения окупаются и выводят компанию на качественно новый уро- уровень. Deductor — это пакет приложений, предназначенный для быстрого и эффективного анализа информации. В нем сосредоточены самые совре- современные методы извлечения, очистки, манипулирования и визуализации данных. С применением Deductor-a вам становятся доступны моделиро- моделирование, прогнозирование, кластеризация, поиск закономерностей и мно- многие другие технологии обнаружения знаний. Пакет состоит из 5-ти ин- интегрированных приложений — Cube Analyzer, RawData Analyzer, Tree Analyzer, SOMap Analyzer и Neural Analyzer.
ПРИМЕРЫ УСПЕШНОГО ПРИМЕНЕНИЯ МЕТОДОВ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ В СОЦИАЛЬНО-ЭКОНОМИЧЕСКОЙ СФЕРЕ Стратегии минимальной стоимости развития системы железных дорог на основе имитационного и параметрического анализа. Столкнувшись с ожиданием увеличения железнодорожного трафика в 2 раза в ближайшие 10 лет на уже перегруженной единственной основ- основной ветке западной Канады, Канадские национальные железнодорож- железнодорожные линии сформировали команду транспортного планирования для выбора наиболее эффективных средств обеспечения растущего трафи- трафика. Используя методы имитационного моделирования, удалось вырабо- выработать ряд рекомендаций, которые сэкономили около 300 млн долл. капи- капитальных затрат. Система управления гидросистемами. Ключевая задача эффектив- эффективного исшш^ования гидроресурсов состоит в выработке оптимального расписания гидрогенерации, которое определяет, из какого резервуара и через какую водонапорную систему взять гидроресурсы, чтобы инте- интегрально максимизировать полезный выход гидроэлектроэнергии, при этом надо, чтобы расписание удовлетворяло различным физическим, са- санитарным, юридическим и контрактным ограничениям. В результате ис- использование модели нелинейного математического программирования была создана рабочая система, которая позволила увеличить выход гид- гидроэлектроэнергии на 2-3% (Тихоокеанская Компания по газу и электро- электроэнергии, Сан-Франциско, США). Совершенствование системы муниципального хозяйства. Приме- Применение моделирования группой специалистов по теории управления сыг- сыграло решающую роль в системе принятия решений санитарным департа- департаментом, отвечающим за уборку улиц Нью-Йорка. Использование методов статистического анализа, имитационного моделирования и ана- аналитических методов анализа внесло решающий вклад в систему приня- принятия оперативных решений департамента. Следствием этого стало суще- существенное повышение уровня чистоты улиц в последующие 4 года (Санитарный Департамент, Нью-Йорк, США). 429
«Имитатор решений» ускоряет внедрение и улучшает управле- управление. Как видеоигры и имитация полетов, «имитатор решений» усили- усиливает реальный эффект от применения систем принятия решений. «Ими- «Имитатор решений» был внедрен фирмой Weyerhaeuser при реализации оптимизационных методов динамического программирования в дере- деревообрабатывающем производстве. Имитатор позволяет апробировать различные подходы по распределению и обработке поступающей дре- древесины. Применение «имитатора» продолжает приносить многомилли- многомиллионную дополнительную прибыль ежегодно (Weyerhaeuser Co., Tacoma, WA). Координация выработки электроэнергии в энергосистеме Бра- Бразилии. Гидроэнергетика Бразилии характеризуется обширными бас- бассейнами, допускающими долговременное регулирование. В силу быст- быстрого развития системы была создана координационная группа для поисков наиболее эффективных путей использования гидро- и терморе- терморесурсов. Учитывались долговременная эволюция мощностей бассейнов, стохастика будущих входных потоков, ожидаемые затраты на произ- производство тепловой энергии, риски будущих возможных нехваток элек- электроэнергии. Применение стохастического подхода и методов динами- динамического программирования для нахождения оптимальных ежемесячных стратегий привело к многомиллионной экономии (Neto. Eletro bras, Бразилия). Система принятия решений по вопросам профессиональной подготовки в армии США. Система принятия решений по вопросам профессиональной подготовки в армии США была создана для под- поддержки планирования и принятия решений по вопросам вербовки, подготовки и обучения, продвижения, переквалификации и увольне- увольнения. Система поддержки решений основывается на моделировании потока персонала как методами линейной оптимизации, так и имитационными методами. Потоковая имитационная модель используется как контроли- контролирующий механизм и позволяет более детально отразить те грани управле- управления персоналом, которые не могут быть адекватно смоделированы мето- методами линейного программирования либо из-за соображений точности, либо из-за ограничений по размерности. Модель может использоваться в режиме «что, если?», то есть в режиме, когда можно менять политику в области профессиональной военной подготовки и оценивать последствия. 430
Система строится на базе данных, доступной в реальном времени, и раз- различном матобеспечении, обеспечивающем статистический анализ, генера- генерацию отчетов и прямые запросы к базе данных (General Research Corporation, USA). Модель принятия решений для увеличения размера продаж и развития. Менеджеры компании SYNTEX сформировали модель при- принятия решений для увеличения размера продаж и развития с горизон- горизонтом планирования 3 года. На выходе модель отображала увеличение объемов продаж и прибыльности при существенных увеличениях сети реализации и выдавала рекомендации по концентрации ресурсов на оп- определенных видах продукции, на определенных сегментах рынка за счет других. Спустя 3 года предсказания, сделанные на основе этой модели, оказа- оказались намного точнее, чем полученные стандартными методами прогно- прогнозирования, и увеличение объема продаж на 25 млн долл. были признаны заслугой внедренной модели (SYNTAX Laboratories). Диспетчеризация в реальном времени и стратегическое оцени- оценивание: новый стратегический подход в грузоперевозках. Сетевая модель LOADHAP используется в реальном времени для координации перемещений нескольких тысяч грузовиков. Обрабатывая прогнозы по спросу и запасам, система принимает решения по отправке или задерж- задержке грузовиков. Перевозчик перемещает трейлеры исходя из прогнозов рынка и учитывая разницу в уровнях прибыльности в различных ре- регионах. Кроме того, модель предоставляет новые возможности для оценки загружаемых партий и рынков. Используя двойственные пере- переменные модели, система немедленно оценивает вклад каждого загру- загруженного или холостого пробега в общую систему. Эта информация ис- используется для стратегической оценки различных рынков и возможностей перевозчиков, помогает диспетчерскому персоналу сконцентрировать усилия на координации рынка и перевозок (Noth American Van Line, USA). Автоматизированная почтовая система: анализ принятия реше- решений. Автоматизация принятия решений в почтовой системе потребовала около 350 млн долл. и ежегодно обходится в 300 млн долл. Ежегодная экономия составляет около 1 500 млн долл. (Decision Science Consortium). 431
Успешное внедрение науки об управлении (managment science) MS во всем цикле операций главной независимой нефтяной компа- компании. Комбинация некоторых творческих приложений MS была исполь- использована при разработке и успешном внедрении систем сбора и обработки информации, которые применили как последние наработки, так и анали- аналитическую технику. Системы управления процессами и принятием реше- решений помогают менеджерам в таких вопросах, как приобретение сырой нефти, уровни очистки, уровни производства, текущие рыночные закуп- закупки и продажи, торгово-закупочная деятельность, бартерные операции, логистические операции, стратегии ценообразования. Системы прогно- прогнозирования цен и объемов обеспечивают максимальный доход. Эта систе- система сыграла существенную роль в повороте корпорации от существенных убытков к существенным доходам за последние 2 года (CITGO Petroleum Corporation). Линейное программирование не теряет своей актуальности. Мо- Модель является имитатором финансового планирования, интерпретирую- интерпретирующим матрицу вексельных расчетов в форме линейной модели транспорт- транспортного типа, которая динамически меняется во времени в зависимости от экзогенных факторов. Она позволяет анализировать и планировать изменения в доходах фи- финансовых институтов с беспрецедентной точностью и помогает устанав- устанавливать уровни рыночного хеджирования для защиты будущих доходов. Важно, что система связывает банкиров с линейным программировани- программированием, минуя необходимость с их стороны вникать в традиционную терми- терминологию оптимизационных задач. Эта микрокомпьютерная модель была установлена с 1982 г. более чем в 400 банках и принесла дополнитель- дополнительный доход этим банкам не менее 20 млн долл. только за последние 2 года (George Darling and Associates). PLANETS — продукт 5-го поколения, объединяющий в себе экс- экспертную систему и технологию математического моделирования и осуществляющий поддержку стратегического анализа в бизнесе. Система сетевого анализа размещения производства (Prodaction Location Analysis NETwork System) (PLANETS) была разработана для удовлетво- удовлетворения потребностей управления в оценке сложных количественных ре- решений управления бизнесом, включающих в себя все аспекты автомати- автоматизированного производства. Она допускает использование ее персоналом без какой-либо предшествующей подготовки в области компьютеров или 432
математического программирования. Пользователи определяют в терми- терминах бизнеса ситуации и данные. После просмотра всей проблемы специальным систематическим ме- методом, пользователь обращается к системе PLANETS, которая автомати- автоматически проводит анализ проблемы, определяя математическую структуру, целостность и существование решения. Далее система автоматически ге- генерирует либо смешанный целочисленный, либо сетевой программный код в зависимости от ситуации и выполняет его, интерпретируя в заклю- заключении полученные результаты. Использование системы PLANETS для анализа некоторых исследова- исследований, таких как оценка выбора местоположения и размещения станков, сэкономило согласно документам более 1 млрд долл США (Electronic Data Systems Corporation). Сокращение материально-технических расходов в компании General Motors. Оптимизационный инструмент, который включает раз- разнообразные аналитические методы и формулы и минимизирует транс- транспортные расходы и расходы хранения (включая расходы транспортных простоев), впервые был применен в GM в 1982 г. Система, известная сейчас как TRANSPART2, реализована на IBM PC и внедряется по всей корпорации GM. Система материально-технического обеспечения в GM включает в себя поставки от более чем 30 000 поставщиков на 150 фаб- фабрик GM. В результате внедрения системы была зафиксирована ежегодная экономия около 50 тыс. долл. на каждой из фабрик. Метод не предусмат- предусматривает использование сложной техники математического программиро- программирования и позволяет менеджерам легко и быстро производить анализ чув- чувствительности и исследовать влияние различных изменений на решение о поставках. (General Motors Research Laboratories). Диверсификация активов в компании Hormat Development. Hormat Development владеет 31 региональным торговым центром, 18 офисными зданиями и земельным участком площадью около 1000 акров. Рассматриваемая модель касается диверсификации этих активов или оп- определения пропорций для будущих активов и в своей основе представле- представлена многокритериальной задачей целочисленного программирования, со- содержащей примерно 2000 переменных и решаемой для некоторого скользящего горизонта. Предполагаемые решения являются скорее стратегическими, чем тактическими, ведущими к сглаживанию уровней агрегированных до- 433
ходов и прибылей по обыкновенным акциям и оказывающими благо- благоприятное воздействие на сумму активов держателей. Вклад от этой ра- работы оценивается в пределах от 10 до 30 млн долл. в течение рассмат- рассматриваемого десятилетнего периода планирования (Hormat Development Corporation). Территориальная система диспетчеризации бензовозов в реаль- реальном времени. Описана высокоавтоматизированная система диспетчери- диспетчеризации в реальном времени, которая использует встроенные методы оп- оптимизации для замены многочисленных ручных операций и существенно сокращает необходимый диспетчерский персонал и стоимость перевозок для общенациональной системы бензовозов. Эта работа позволила ком- компании Mobil сосредоточить диспетчеризацию общенациональных пере- перевозок легких нефтепродуктов только в одном центре вместо трех. Произ- Производительность отдельного диспетчера выросла более чем в 2 раза, а экономия от стоимости перевозок превысила 2 млн долл. ежегодно (Mobil Jil Corporation). Использование математических методов декомпозиции для опти- оптимизации инвестиций в производство и транспортировку газа. Ис- Используя график прогнозируемых ежегодных потребностей и цен на бли- ближайшие 25 лет, разработанная система планирует инвестиции в капитальное строительство новых резервуаров, газопроводов, максими- максимизируя объем чистой прибыли. Предлагаемый подход использует деком- декомпозицию исходной задачи линейного программирования на серию под- подзадач, некоторые из которых не являются линейными. Важным фактором успеха системы является ее способность интерпретировать результаты вычислений в словесной форме в итоговом отчете. Стандартный отчет представляет полную информацию о параметрах резервуаров и финансо- финансовых потоках, а также большой выбор специальных отчетов. Система яв- является основным официальным инструментом планирования в компании. Сокращение расходов оценивается в диапазоне от 10 до 15% от общих капитальных затрат (Santos Limited). Метод покрытий для выбора оптимальных размеров слитков (ПС). Компания Betlehem Steel Corporation установила новое оборудова- оборудование для обработки слитков, позволяющее обрабатывать удлиненные слитки. Для того чтобы максимально эффективно использовать преиму- преимущества нового оборудования, была разработана двухфазовая компьютер- компьютерная модель для выбора оптимальных размеров ПС и внутреннего размера 434
прокатного оборудования. На первом этапе модель генерирует допусти- допустимые размеры ПС и внутреннего размера прокатного оборудования, исхо- исходя из возможностей оборудования и учитывая ограничения на прокат, литье и металлообработку. На втором этапе из выбранных допустимых вариантов этих размеров, используя метод покрытий, выбираются опти- оптимальные размеры. После анализа данной модели разработаны рекомен- рекомендации по размерам для прокатного оборудования, которые были успеш- успешно реализованы. Выгода от внедрения системы оказалась многогранной. Система установлена на всех заводах корпорации, что привело к ежегод- ежегодной дополнительной прибыли около 5 млн долл. (Betlehem Steel Corporation). Диспетчеризация патрулирования на базе оптимизационной сис- системы поддержки решений для полиции Сан-Франциско (SFPD). SFPD инвестировала деньги в создание системы, оптимизирующей раз- размещение патрульных групп. Система позволяет анализировать стратеги- стратегические решения, осуществлять текущую диспетчеризацию, а также в ин- интерактивном режиме оценивать различные изменения и предлагать альтернативные сценарии размещения. Система ежечасно прогнозирует потребность в патрульных офицерах, автоматически осуществляя их диспетчеризацию с целью максимизировать контролируемую площадь и позволяет осуществлять «настройку» оптимального расписания. Пря- модвойственный целочисленный алгоритм генерировал решения, кото- которые позволили высвобождать до 25% экипажей в случае необходимости, это эквивалентно дополнительному штату из 200 офицеров или эконо- экономии в 11 млн. долларов в год. Время реакции в среднем уменьшилось на 29%, принося дополнительно около 3 млн долл. в городской бюджет (San Francisco Police Department). Системы планирования мощностей и обработки материалов на военно-воздушной базе в Tinker. Сильный пожар, который уничтожил ремонтное и производственное оборудование на военно-воздушной базе в Tinker, вызвал необходимость сконструировать 13 отдельных агрегатов в течение 3 месяцев. Пожар дал возможность заменить устаревшее узко- узкоориентированное оборудование на современную систему, ориентирован- ориентированную на более широкое семейство изделий. Была разработана имитацион- имитационная модель для разработки всех 13 агрегатов с целью максимизации их эффективности. Проект позволил сэкономить 3,5 млн долл. за счет ис- исключения лишнего оборудования, на 2% выросла производительность 435
труда (ежегодная экономия 1,8 млн долл.) и на 50% сократилось время выполнения потока заказов. Система обработки материалов была разра- разработана с помощью сетевой оптимизационной модели (US Air Force Tinker Air Force Base). Разработка гостиничного комплекса с помощью маркетинговой модели, ориентированной на потребителя. Дизайном новых продуктов и услуг традиционно занимались дизайнеры, архитекторы, художники. Данное применение аналитического подхода (охватывающего все основ- основные характеристики и услуги, влияющие на потребительский выбор) к созданию нового семейства гостиниц компании Mariott иллюстрирует силу и ценность применения маркетинга для разработки таких сложных сервисных систем, как отель. В результате проведенных исследований были выработаны ориентиры для выбора целевых сегментов рынка, раз- размещения услуг и разработки улучшенного оборудования и услуг. Эти стратегические и дизайнерские рекомендации легли в основу развития новой концепции Mariott, которая после успешной апробации на рынке гостиничных услуг получила широкое распространение (Mariott Corporation). Логистическая управляющая система (LMS): непрерывное управление производством с использованием экспертной системы, основанной на базе знаний (KBES). В последние годы компания IBM в производстве полупроводников сделала особый упор на производствен- производственную логистику как технологию. Логистическая управляющая система (LMS) представляет из себя систему реального времени по обработке транзакций, основанную на экспертной системе и базе знаний, которая служит «диспетчером» (мониторинг и контроль) для управления произ- производством или логистикой. Система предназначена для улучшения ис- использования оборудования, улучшения сервиса (поставка продукции со- согласно графику) и сокращения времени производственного цикла. Существенные успехи были достигнуты во всех этих направлениях, в силу чего LMS сейчас являются необходимой компонентой на многих производственных участках (International Business Machines). HASTUS — система управления транспортом и людскими ресур- ресурсами в Montreal Urban Community Transit Corporation (STCUM). Ме- Меняющийся в течение дня уровень сервиса и сложные правила работы де- делают задачу составления расписаний перевозок весьма сложной. В 436
течение последних 10 лет частное совместное предприятие университет- STCUM разработало систему HASTUS, представляющую собой набор различных компьютерных инструментов, которые помогают STCUM в составлении высококачественных, эффективных по цене расписаний. HASTUS-Macro использует методы линейного программирования для оценки влияния изменений в ценах на контракты и уровни сервиса. HASTUS-Bus использует методы сетевой оптимизации для генерации оптимальных расписаний транспорта. HASTUS-Micro генерирует назна- назначения операторов, используя как специальные эвристики, так и методы оптимальных назначений. Годовой эффект превысил 2 млн долл. C% от оборота). Успешное использование системы в STCUM позволило вне- внедрить ее в более чем 30 крупных городах. Система управления запасами в компании IBM. «Оптимиза- «Оптимизатор»— это недавно внедренная система для гибкого оптимального управления уровнями сервиса и запасами в сервисной сети IBM на тер- территории США. Она основана на исследованиях многоэшелонной тео- теории запасов, проводимых IBM и консультантами из Wharton School. Сложность и большая размерность основной задачи потребовала разра- разработки нестандартных структур данных и техники управления памяти. «Оптимизатор» оказал существенное влияние на весь сервисный бизнес IBM в США. Он позволил на 20% сократить необходимые уровни запа- запасов, сохранив или даже улучшив уровень обслуживания. Очень важно также то, что «Оптимизатор» показал себя как в высшей степени гибкая система для менеджерского управления (International Business Mashines). Интегрированные управляющие модели, позволяющие новому бизнесу занять существенную нишу на рынке вопреки присутст- присутствию на нем крупных устоявшихся конкурентов (ABB Electric). ABB была основана в 1970 г. Для того чтобы развернуть дело, высшее руководство обратилось к моделям управления в целях правильной концентрации имеющихся ресурсов. Были проведены специальные обследования, чтобы создать базу данных потребителей. Моделирова- Моделирование сегментации рынка и выбора ассортимента привело к стратегиям множественных продаж и очень точному предсказанию объемов про- продаж. Эти прогнозы были задействованы в серии моделей производст- производства. Последовательное использование этих производственных моделей позволили ABB снизить себестоимость производства примерно на од- 437
ну треть по сравнению со среднеотраслевой. Новая инновационная модель производства, учитывающая как долговременность поставок, так и предпочтения потребителей, давала направления для развития высокоприбыльной продукции, которая практически не имела конку- конкурентоспособных аналогов. К 1988 г. ABB стала лидером в своей от- отрасли наряду с General Electric и Weetinghouse, свернувшими произ- производство оборудования, которое непосредственно конкурировало с моделями ABB. Выбор мест для телемаркетингов (AT&T). В более чем 180 тыс. те- телемаркетинговых центрах в США задействованы более 2 млн человек. Из-за быстрого роста телемаркетинговой индустрии определение место- местоположения стало критической проблемой. Национальный технический центр обратился к анализу Бизнес-операций (Business Operations Analysis) для разработки системы принятия решений, помогающей кли- клиентам AT&T определить «хорошее» положение для своих телемаркетин- телемаркетинговых центров. Ядро системы составляет модель смешанного целочис- целочисленного программирования, которая минимизирует трудозатраты, объем коммуникаций и стоимость недвижимости, определяя оптимальное ко- количество центров, их местоположение и географические регионы для об- обслуживания. Сорок шесть клиентов AT&T приняли решения о месте размещения быстро и уверенно, взяв на себя обязательства по объему потребляемых услуг на 375 млн долл. и на закупку оборудования на 31 млн долл. Управленческие системы принятия решений для кабинета мини- министров Египта. Это концепция получила свое развитие в ходе реализации 28 крупных проектов в Египте. Проекты были частью программы, нача- начатой правительством Египта еще в 1985 г. Целью программы является увеличение доли принятия стратегических решений на правительствен- правительственном уровне. Проекты были продиктованы макростратегическими вопросами и потребностями в управленческом и технологическом развитии, связан- связанном с внедрением систем принятия решений в различных министерст- министерствах и правительственных учреждениях. Системы касались управления долгами, таможенных реформ, тарифов на электроэнергию, а также до- дополнительные подсистемы, поддерживающие функционирование ос- основных систем принятия решений на различных уровнях. Внедрение, развитие и использование этих систем предполагало, что построение 438
системы управления так же важно, как и построение моделей. Должен быть ясный, полный и интегрированный процесс, который сопровожда- сопровождает разработку системы и построение модели (Managing institutionalization). Планирование водных ресурсов Голландии. Была разработана и использована для многоэтапного анализа интегрированная система управления водными ресурсами, включающая более 40 моделей. Новая государственная политика управления водными ресурсами в значитель- значительной степени основывалась на результатах данной системы, которая сэко- сэкономила сотни миллионов долларов с годовым эффектом более 10 млн долл. Определение размещения транспортных средств скорой меди- медицинской помощи. Методы выбора зон покрытия были использованы для анализа параметров размещения транспортных средств скорой ме- медицинской помощи в г. Остин (Техас, США) с точки зрения социальной справедливости и эффективности. Были рассмотрены различные вари- варианты цен в сочетании с различными административными альтернати- альтернативами. План был претворен в жизнь, сэкономив 3,2 млн долл. на созда- создании системы скорой помощи и 1-2 млн долл. на текущих вызовах ежегодно. Повышение эффективности использования транспортной авиации военно-воздушных сил США. Модель, реализованная на небольшом микрокомпьютере, использующая модифицированные эвристические ме- методы отсечения запасов, генерирует допустимые планы загрузок для гру- грузовых самолетов, которые модифицируются в интерактивном режиме в за- зависимости от текущих графиков перевозок грузов. Система сократила количество человекочасов, затрачиваемых на данный вид планирования, на 95% и повысила эффективность использования транспортных самоле- самолетов на 10%. Годовой эффект составляет 20 млн долл. Оптимизация химического производства. Модель планирования производства для многостадийного химического процесса выбирает стратегию, минимизирующую стоимость при различных производствен- производственных критериях для поиска оптимального соотношения до- доход/производство (ситуация, типичная для химического производства, когда наращивание объемов производства может привести к падению цен на сырье). Годовой эффект оценивается от 1 до 3 млн долл. 439
Управление запасами на Pfizer Pharmacenticals. Подразделения Pfizer Pharmacenticals в США сократили запасы на трех своих фабриках и пяти региональных дистрибьюторских центрах, используя как базу данных прогнозирования объемов продаж, так и специальную технику управления запасами готовой продукции, производительностью труда, сырьем и запасами активных фармацевтических составляющих. Систе- Система позволила за 2 года сократить запасы на общую сумму в 20,9 млн долл. Сокращение запасов в компании Blue Bell. За период в 18 месяцев компания Blue Bell сократила запасы более чем на 100 млн долл. при по- помощи систем анализа и новых систем обработки данных. Были задейст- задействованы: модель целевых запасов, модель потребностей производства, модель составления производственных расписаний, техника прогнозиро- прогнозирования сезонного спроса и диагностическое компьютерное имитационное моделирование. Системный подход к проблеме жилищного строительства в Тур- Турции. В 1983 г. по указанию правительства Турции Промышленная палата Стамбула поручила группе специалистов в области исследования опера- операций (ИО) изучить причины снижения объемов жилищного строительства с целью выработки рекомендаций по изменению этой тенденции. Группа специалистов в области ИО провела тщательный анализ экономических, социальных, демографических, технологических, финансовых и других аспектов этой сложной проблемы. Используя как математические методы, так и экспертные оценки, группа выработала всеобъемлющий перечень мер, который и был представлен правительству. Результатом последова- последовательности ряда законодательных актов и нововведений, которые во мно- многом опирались на выработанные группой рекомендации, годовой объем строительства увеличился на 12,4% в 1984 г., 36,3% — в 1985 г. и 51,5% — в 1986 г. Моделирование топливных запасов. Выбор стратегии в области то- топливных запасов является сложной задачей для пользователей электро- электроэнергией, сильно влияющей на затраты. Суммы, затрачиваемые на соз- создание запасов, превосходят 10 млрд долл. Модель эффективного использования топливных запасов (UFIM) яв- является моделирующей системой, применяемой в настоящее время более чем 50 потребителями для выработки своей стратегии в области топлив- топливных запасов. Выборочные обследования установили размер средней эко- 440
номии — около 1 млн долл. в год на одного потребителя. Максимальная зафиксированная годовая экономия на одного потребителя составляет более 100 млн долл. UFIM был единственным проектом аналитического типа, который вошел в список «Big Winner» Power Research Institute (USA) в 1996 г., включающий в себя проекты, направленные на максими- максимизацию выгоды потребителей. OMEGA — улучшенная система смешивания бензина в компа- компании TEXACO. Отделение компьютерных и информационных систем компании Texaco разработало улучшенную интерактивную систему ре- реального времени для смешивания бензина, названную OMEGA. Она по- позволяет пользователям изменять данные задачи в интерактивном режи- режиме, а также ставить и решать нелинейные оптимизационные задачи по распределению запасов для смешивания с целью достичь оптимального баланса качества и цены при определенных ограничениях. OMEGA сейчас используется на 7 нефтеперегонных заводах в США и 3 за рубе- рубежом. Беря для сравнения смешивания, проводимые до установки OMEGA, было зафиксировано увеличение прибылей до 30% в отдельных случаях. Используя более консервативный подход к оценке эффективности, Теха- со оценивает годовой эффект от использования OMEGA в 15 млн долл. (Texaco Inc). Логистическая модель производства в компании DEC. Многие оп- оптимизационные модели относятся к логистическим моделям, т.е. моде- моделям, в которых решаются задачи минимизации расходов при перевозках, удовлетворяющим определенным потребностям. Часто эти задачи рас- рассматриваются в сочетании с задачами размещения производства и фор- формирования их производственных программ. В конце 80-х компания по- почувствовала, что систему производства и распределения, которая успешно функционировала последние 20 лет, необходимо быстро и ра- радикально менять, если она хочет оставаться процветающей компанией. В компании на тот момент было очень много предприятий и отдельных групп, принимающих автономные решения без какой-либо централизо- централизованной координации. В 1989 г. компания приступила к реорганизации всей своей сети поставок и сбыта. Центральное место было отведено разработке сложной (большой размерности) математической модели (ЛП), которая получила название Global Supply Chain Model (GSCM). Эта модель имеет внушительную размерность — от 2 000 до 6 000 ограниче- 441
ний и от 5 000 до 20 000 переменных. Целевая функция модели — мини- минимизация затрат, которые включают в себя производственные затраты, стоимость хранения запасов, транспортные расходы, налоги и так далее. Модель учитывает несколько периодов планирования, особенности меж- международной торговли и многое другое. Система была внедрена в 1992 г. К весне 1994 г. удалось сократить производственные расходы примерно на 167 млн долл. и транспортные расходы на 200 млн долл. В этот период существенно возрос как объем производства, так и объем перевозок. Оптимизационная модель планирования производства в компа- компании Libbey-Owens-Ford (LOF). Компания Libbey-Owens-Ford (LOF) производит посудное стекло, штат 9 000, годовой оборот 900 млн долл. Крупномасштабная модель линейного программирования, охваты- охватывающая процессы как производства, так и распределения в компании LOF (FLAGPOL — FLAt Glass Product Optimization ModeL), охваты- охватывает 4 фабрики, обеспечивающие около 200 производственно- технологических процесса, более 40 центров спроса и горизонт плани- планирования в 12 месяцев. На создание модели потребовалось около 2 лет, после чего ежегодная прибыль от внедрения составила около 2 млн долл. ежегодно. Стекло заданного цвета и оттенка производится большими партиями, поскольку переход от производства одного оттенка к другому требует от 2 до 4 дней. Поэтому производство осуществляется некоторыми перио- периодами примерно 10 месяцев, и каждый оттенок производится только один раз в течение этого периода. Поэтому объем стекла определенного от- оттенка нужно производить из расчета его потребности (имеющиеся заказы и прогноз) на довольно значительный период времени. Необходимо при- принимать и некоторые технологические решения относительно формы хра- хранения стекла. Учитывая сложность производства, менеджмент компании принял решение о создании формальной модели данного производства. Для это- этого руководство компании сформировало команду из персонала, вклю- включающую сотрудников финансовой, маркетинговой, снабженческой, транспортной служб, службы производственного планирования, техно- технологов и т.д. В силу этого модель охватывала широкий круг аспектов. На первом этапе была создана база данных, поддерживающая модель, в ко- которой собиралась как внутренняя информация (имеющиеся запасы, про- производственные мощности, ...), так и внешние данные (прогнозы цен, 442
спроса, транспортные тарифы и другие данные по перевозкам между фабриками). Только после создания базы была создана модель FLAGPOL. Далее модель тестировалась и внедрялась в производство. Процесс внедрения занял около 9 месяцев. В настоящее время модель производит расчеты примерно 10-20 раз в месяц и формирует как краткосрочные, так и долгосрочные планы, а именно: сколько какого стекла и на какой фабрике производить ежеме- ежемесячно, сколько и какого стекла перевозить с фабрики на фабрику, какой уровень запаса нужно поддерживать по каждому типу стекла на каждой фабрике и так далее. В стратегическом плане модель помогает прини- принимать решения относительно целесообразности ввода в действие новых позиций и замещения старых, объемов и мест размещения нового обору- оборудования, планирование капитального строительства и ремонтных работ на фабриках. Данная модель стала неотъемлемой частью общего процес- процесса планирования в компании.
БИБЛИОГРАФИЯ 1. Аронович А.Б., Афанасьев М.Ю., Суворов Б.П. Сборник задач по ис- исследованию операций: Учебное пособие для студентов экономических специальностей вузов. М.: Изд-во МГУ, 1997. 2. Афанасьев М.Ю. и др. Линейное программирование: Учебно- методическое пособие. М: Изд-во МГУ, 1992. 3. Афанасьев М.Ю. Компьютеризация обучения экономистов: Учеб- Учебное пособие. М.: Изд-во МГУ, 1993. 4. Афанасьев М.Ю. Методология компьютеризации обучения эконо- экономистов: Автореф. дисс. на соискание уч. ст. д-ра эконом, наук. М., 1993. 5. Афанасьев М.Ю., Суворов Б.П. Исследование операций в конкрет- конкретных ситуациях. М.: ТЕИС, 1999. 6. Ашманов С. А. Линейное программирование. М.: Наука, 1981. 7. Балабанов И Т. Основы финансового менеджмента. М.: Финансы и статистика, 1997. 8. Башарин ГЛ. Начала финансовой математики. М.: ИНФРА-М, 1997. 9. Большой экономический словарь / Под ред. A.M. Израэмана. М.: Институт новой экономики, 1999. 10. Бородин А.В. Математические модели управления кредитными портфелями коммерческого банка. Йошкар-Ола, 1998. 11. Брейлир Майерс С. Принципы корпоративных финансов. М.: Олимп-Бизнес, 1997. 12. Бромвич Г. Анализ экономической эффективности капиталовло- капиталовложений. М.: Инфо-М, 1996. 13. Ван Хорн Дж. К. Основы управления финансами. М.: Финансы и статистика, 1997. 14. Вентцелъ Е.С. Исследование операций. Задачи, принципы, мето- методология. М.: Наука, 1988. 15. Гермейер Ю. Б. Введение в теорию исследования операций. М.: Наука, 1971. 16. Гитман ЛД.,Джолек МД. Основы инвестирования. М.: Демо, 1997. 17. Голыитейн Е. Г., Юдин Д.Б. Задачи линейного программирования транспортного типа. М.: Наука. 1969. 444
18. Гребенников П.И., ЛедскипАЛ., Тарасевич П.С. Микроэкономика. СПб.: Университет экономики и финансов, 1996. 19. Гэлбрейш Дж. К. Экономические теории и цели общества. М: Прогресс, 1976. 20. Гэри М., Джонсон Д. Вычислительные машины и труднорешае- мые задачи. М.: Мир, 1982. 2\.ДоугертиК. Введение в эконометрику. М.: ИНФРА-М, 1997. 22. Дубров А.Н., Лагогиа Б Л., Хрусталев Е.Ю. Моделирование риско- рисковых ситуаций в экономике и бизнесе. М.: Финансы и статистика, 1999. 23. Исследование операций в экономике / Под ред. Н.Ш. Кремера. М.: ЮНИТИ, 2000. 24. Идрисов А.Б., Картышев СВ., Постышев А,В. Стратегическое планирование и анализ эффективности инвестиций. М.: ФИЛИНЪ, 1997. 25. КадиДж. Количественные методы в экономике. М., 1997. 26. Ким BJI., Суворов БЛ, Прикладные задачи исследования опера- операций: Учебное пособие. Бишкек, 1991. 27. Киселева ИЛ. Моделирование банковской деятельности в пере- переходной экономике. М.: Изд-во МГУ, 1999. 28. Количественные методы финансового анализа / Под ред. Дж. Брауна. М.: ИНФРА-М, 1997. 29. Компьютерные системы в обучении экономистов // Сборник статей, РАН, Центр. Эконом.-мат. Ин-т. Отв. редактор Суворов Б.П. М., 1992. 30. Курс переходной экономики / Под ред. акад. Л.И. Абалкина. М.: Финстатинформ, 1997. 31. Лимитовский МЛ. Основы оценки инвестиционных и финансо- финансовых решений. М.: ДЕКА, 1997. 32. Лукаевич А.Е. Анализ финансовых операций. Методы, модели, техника вычислений. М.: Финансы. ЮНИТИ, 1998. 33. Мелкумов Я.С. Экономические оценки эффективности инвести- инвестиций. М.: ИКЦ «ДИС», 1997. 34. Мищенко А.В., Попов АЛ. Модели управления портфелем ценных бумаг. М.: Российская экономическая академия, 1999. 35. Моршиима М. Равновесие, устойчивость, рост (многоотраслевой анализ). М.: Наука, 1972. 36. НоркоттД. Принятие инвестиционных решений. М.: ЮНИТИ, 1997. 37. Самуэлъсон П. Экономика. М.: Прогресс, 1964. 38. Сорос Дж. Алхимия финансов. М.: ИНФРА-М, 1997. 39. Тренев НЛ. Управление финансами. М.: Финансы и статистика, 1998. 445
40. Уотшен Т. Дж., Паррамоу К. Количественные методы в финан- финансах. М.: ЮНИТИ, 1999. 41. Фиакко А.9 Мак-Кормик Г. Нелинейное программирование. М.: Мир, 1972. 42. Фон-Нейман Дж., Моргенгитерн О. Теория игр и экономическое поведение. М: Наука, 1970. 43. Чуйко В.Г., Шершнев ВТ., Моделирование основы финансового обслуживания. М.: Российская экономическая академия, 1998. 44. Эддоус М., Стэнсфилд Р. Методы принятия решений. М.: ЮНИ- ЮНИТИ, 1997. 45. Юдин Д.Б., Голыитейн Е. Г., Линейное программирование (тео- (теория, методы и приложения) М.: Наука, 1968. 46. Ahuja R.K., Magneti T.L., Orlin J.B. Solution of Networks Flows (Theory, Algorithms and Applications), 2000. 47. Bertsmis D., Tsitsiklis John N. Introduction to Linear Optimization, 1997. 48. Cuthbertson K. Quantitative Financial Economics: Stocks, Bonds and Foreign Exchange. New York, 1997. '; 49. Fabrucky W.J. Economic Decision Analysis. — Prentice Holl, 1997. 50. Feist W.R., Heely JA., Lu M.H., Nersesian R.L. Managing a Global Enterprise (A Concise Guide to International Operations). Monmouth Univer- University, Quorum Press, 1999. 51. Glover F., Laguna M. Tabu Search. University of Colorado at Boulder, 1997. 52. Heely JA., Nersesian R.L. Global Management Accounting. Mon- Monmouth University, Quorum Press. 53. Johuson C, Scholes K. Exploring Corporate Strategy. Prentic Hall, 1997. 54. Kaminsky I.P., Simchi-Levi E. Designing and Managing, the Supply Chain. Me. Graw-Hill, IL, 1999. 55. Mehlmann A. The Games Afoot! Game Theory in Myth and Paradox. Viena University of Technology, Austria, 2000. 56. Nersesian R.L. Trends and Tools for Operations Management (An Up- Updated Guide for Executives and Managers). Monmouth University, Quorum Press, 2000. 57. Springer Verlag, BramelJ. The Logic of Logistics. New York, 1997. 58. Vaugham E.J. Risk management. New York: Wiley, 1997. 59. Wandehuel R.J. Linear Programming: Foundations and Extentions. Princeton University, 2000.
Учебник Косоруков Олег Анатольевич, Мищенко Александр Владимирович ИССЛЕДОВАНИЕ ОПЕРАЦИЙ Под общ. ред. д.э.н., проф. И.П. Тихомирова Издательство «ЭКЗАМЕН» ИД №05518 от 01.08.01 Гигиенический сертификат № 77.99.10.953.П.001553.07.02 от 26.07.2002 г. Научный редактор Е.Е. Узлова Технический редактор Н.Я. Богданова Дизайн обложки Я. Р. Захаркана Компьютерная верстка А.Н. Богатова 105066, Москва, ул. Александра Лукьянова, д. 4, стр. 1. www.examen.biz E-mail: info@examen.biz тел./факс 263-96-60. Подписано в печать с диапозитивов 18.04.2003 Формат 60x90/16. Гарнитура «Тайме» Бумага офсетная. Уч.-изд. л. 16,26 Усл. печ. л. 28,00. Тираж 5 000 экз. Заказ № 2865 Общероссийский классификатор продукции ОК 005-93/гом 2; 953005 — книги, брошюры, литература учебная Отпечатано с готовых диапозитивов заказчика во ФГУП ИПК «Ульяновский Дом Печати» 432980, г. Ульяновск, ул. Гончарова, 14 ISBN 5-94692-363-3 785946'923637 По вопросам реализации обращаться по тел.: 263-96-60.
ИССЛЕДОВАНИЕ ОПЕРАЦИЙ намай мшшш шщчт т 11 пиши НШ1ЩШНИ1 ВКРЩЙ O.A. Косоруков A.B. Мищенко В учебнике для вузов основное внимание уделено вопросам математического моделирования , экономических процессов средствами исследования операций. Авторы приводят математический аппарат исследования операций, показывают сферы приложения методов исследования операций на наглядных примерах. Для студентов, обучающихся по экономическим специальностям, а также специалистов, занимающихся задачами организационного управления. ISBN 5-94692-363-3 78 946 923637