Исследование операций 978-5-8114-1480-2

260 30 5MB

Russian Pages [476] Year 2013

Report DMCA / Copyright

DOWNLOAD FILE

Исследование операций
 978-5-8114-1480-2

Citation preview

•САНКТПЕТЕРБУРГ •МОСКВА •КРАСНОДАР 2013

С. В. РЖЕВСКИЙ

ССЛЕДОВАНИЕ ОПЕРАЦИЙ УЧЕБНОЕ ПОСОБИЕ

САНКТПЕТЕРБУРГ МОСКВА КРАСНОДАР 2013

ББК 22.1я73 Р48 Р48

Ржевский С. В. Исследование операций: Учебное пособие. — СПб.: Из дательство «Лань», 2013. — 480 с.: ил. — (Учебники для вузов. Специальная литература). ISBN 9785811414802 В учебном пособии последовательно и систематизированно изложе ны основные понятия и методологические принципы теории исследова ния операций, математические методы одно и многокритериальной оп тимизации (общая классификация типов задач математического програм мирования, способы распознавания и поиска их решений), элементы теории двойственности, примеры постановок и методов решения задач линейного, нелинейного, целочисленного, стохастического и динамиче ского программирования, задачи сетевого планирования и управления запасами, элементы теории игр. Пособие соответствует современным программам учебных дисцип лин «Исследование операций», «Математическое программирование» и «Методы оптимальных решений» — типовым учебным программам фе деральной компоненты «Математика» государственного образовательно го стандарта высшего профессионального образования для подготовки бакалавров экономики, управления и других направлений подготовки. Книга также предназначена для студентов других направлений подго товки с углубленным изучением современных информационных техно логий, и для всех тех, кто стремится овладеть общими принципами опти мизации управленческих решений в самых разных областях деятельности.

ББК 22.1я73

Обложка Е. А. ВЛАСОВА Охраняется Законом РФ об авторском праве. Воспроизведение всей книги или любой ее части запрещается без письменного разрешения издателя. Любые попытки нарушения закона будут преследоваться в судебном порядке. © Издательство «Лань», 2013 © С. В. Ржевский, 2013 © Издательство «Лань», художественное оформление, 2013

СПИСОК ОСНОВНЫХ ОБОЗНАЧЕНИЙ

" — квантор всеобщности (запись " x читается так: «для всех x» или «для произвольного x»); $ — квантор существования (запись $ x читается так: «найдется x» или «существует x»); º — знак тождественного равенства («равно по оп ределению»); » — знак приближенного равенства или отношения эквивалентности альтернативных решений; Þ — знак логического следования; Û — знак эквивалентности утверждений (условий); Æ — пустое множество; {x Î W: P(x)} — подмножество элементов x множества W, имею щих признак (свойства) P(x); x Î A (x Ï A) — элемент x принадлежит (не принадлежит) мно жеству A; A Ì B или A Í B — множество A содержится в множестве B, или множество B содержит множество A, или мно жество A является подмножеством множества B; A U B (A I B) — объединение (пересечение) множеств A и B; A\B — дополнение множества B до множества A; A´B — декартово произведение множеств A и B; R — множество действительных чисел; R+ — множество неотрицательных действительных чисел; R — расширенное множество действительных чисел ( R 1 R 1 {23} 1 {3}); e — константа Эйлера, основание натуральных ло гарифмов, e » 2,718281828; AT — транспонированная матрица; DA — определитель квадратной матрицы A; A–1 — обратная матрица матрицы A; n 3 ai 1 a1 2 a2 2 ... 2 an — сумма n векторов a1, a2, ..., an;

n

i 11

3 ai 1 a1 2 ... 2 an и

i 11

n

3 ai 1 a1 2 a2 2 ... 2 an — соответственно сумма и произведение n чисел i 11

СПИСОК ОСНОВНЫХ ОБОЗНАЧЕНИЙ

a1, a2, ..., an;

5

n! — произведение последовательных натуральных чисел от 1 до n; Rn — nмерное евклидово пространство; R1n — неотрицательный ортант пространства Rn; 0 — нулевой вектор; — (евклидово) скалярное произведение векторов a и b; |a| — длина вектора a (или абсолютная величина чис ла a); [d] — целая часть действительного числа d; {d} — дробная часть действительного числа d; ||A|| — норма матрицы A; f или µ — отношение предпочтения; ~ — знак эквивалентности решений; f: X ® R — функция f, определенная на множестве X и при нимающая действительные значения; levaf — поверхность (линия) уровня функции f; Ñf (x), Ñ2f (x) — соответственно градиент и гессиан функции f в точке x; ¶f (x) — субдифференциал выпуклой функции f в точ ке x; inf f (sup f) — точная нижняя (верхняя) грань функции f на множестве ее определения; f (x) 2 inf (f (x) 2 sup) — задача отыскания точной нижней (верхней) гра x1X x1X ни функции f на множестве X; f (x) 2 min (f (x) 2 max) — задача отыскания точки минимума (максиму x1X x1X ма) функции f и ее наименьшего (наибольшего) значения на множестве X; L(x, u) — функция Лагранжа задачи математического программирования; Ex, Dx — соответственно математическое ожидание и дисперсия случайной величины x; a — указатель задачи многокритериальной оптими зации; XP — множество оптимальных по Парето решений многокритериальной задачи оптимизации; dom f — эффективное множество функции f; epi f — надграфик (эпиграф) функции f.

6

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ПРЕДИСЛОВИЕ

У

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

ПРЕДИСЛОВИЕ

7

Три пути есть у человека, чтобы разумно поступать: первый, самый благородный, — размышление; второй, самый легкий, — подражание; третий, самый горький, — опыт. Конфуций1

ВВЕДЕНИЕ К

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

8

Конфуций (ок. 551–479 до н. э.) — древнекитайский мыслитель.

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

предприятия, эксплуатационными свойствами оборудования, имеющегося на предприятии, возможными перебоями в работе поставщиков и многими другими ограничениями (условиями) организационного, производственного и технологического характера. Поэтому разработка реального и экономически выгодного плана выпуска продукции — проведение на предприятии соответ ствующей операции планирования — является далеко не простой задачей. Другой пример. Руководители разных подразделений одной организа ции могут иметь свои собственные цели (не обязательно скрытые), в общем случае отличающиеся от целей руководителя всей организации — ее прези дента. Очевидно, что в такой ситуации необходимо провести серьезную анали тическую работу, направленную на поиск таких распределений администра тивных полномочий и конкретизацию обязанностей отдельных подразделе ний всей организации, при которых, по мнению президента, обеспечивается приемлемое ее развитие. Понятийный аппарат теории исследования операций отражает ее при кладное назначение. В ключевых терминах этой теории обобщены самые об щие свойства ситуаций, представляющих интерес и разных по своей приро де. Знание и понимание этих терминов способствует осознанию роли и места всей теории исследования операций, а значит, и математического програм мирования в их многочисленных приложениях. Операция — это действие (мероприятие) или система согласованных ме жду собой действий, направленное/направленных на достижение некоторой поставленной цели. Приведем еще несколько примеров операций. 1. Выбрать места размещения временных торговых точек (лотков) по про даже сезонных товаров, в которых будет обеспечена заданная экономиче ская эффективность распродажи этих товаров. 2. С целью получения прибыли назначить цены продажи имеющихся то варов (учитывая при этом затраты, связанные с транспортировкой, хранени ем и реализацией этих товаров). 3. На некоторых заданных промышленных предприятиях можно изго тавливать какието виды продукции. Ее номенклатура, количество, качест во, себестоимость и рыночная цена зависят, в частности, от принятой техно логии производства и от объемов инвестиций в каждое предприятие (напри мер, инвестиции используются для обеспечения выбранной технологии производства и для ее усовершенствования, для проведения маркетинговых исследований, для приобретения сырья и продукции у предприятийсмеж ников). Значит, помимо других факторов политика инвестирования пред приятий обусловливает номенклатуру и объемы производства продукции, способы и время ее сбыта, отражается на величине прибыли или убытков как каждого отдельного предприятия, так и всех предприятий вместе. Проведение политики инвестирования всех предприятий, при которой будет получена наибольшая прибыль от их работы, является одной из воз можных операций. 4. На предприятиях, связанных с заданными населенными пунктами се тью дорог, имеются известные количества некоторых товаров потребления. ВВЕДЕНИЕ

9

Необходимо выбрать такие маршруты и объемы транспортировки этих товаров, при которых спрос на имеющиеся товары был бы удовлетворен в каждом населенном пункте, а соответствующие транспортные расходы при этом были бы минимальными. 5. Конкретизация статей расходной части государственного бюджета с целью приближения социальноэкономических показателей страны к их желаемым значениям. Организатор операции по своему усмотрению выбирает способы проведе ния всех основных мероприятий (действий), составляющих операцию, и тем самым в какойто степени конкретизирует ее проведение. Каждый способ про ведения операции, выбор которого находится в распоряжении ее организатора, называют его решением. В примере 3 организатором операции может являться президент консорциума этих предприятий, а составляющими компонентами решения могут быть такие условия проведения инвестиционной политики, как сумма кредита, время и форма его возврата, величина учетной ставки и др. В примере 5 под решением естественно понимать прогнозируемое значение до ходной части государственного бюджета и значения всех его расходных статей. Организатора операции также называют лицом, принимающим решение (ЛПР). Этим подчеркивается, что именно этот человек делает окончатель ный выбор из множества имеющихся у него альтернативных решений и тем самым несет полную ответственность за проведение и последствия операции. Имеющиеся ресурсные, технические, технологические, правовые, мо ральноэтические и другие условия ограничивают возможности выбора ЛПР некоторым множеством допустимых для него альтернативных решений. Результаты проведения операции (как фактические, так и прогнозируе мые) зависят от решения, выбранного ЛПР. Для разных альтернативных решений эти результаты обычно можно сравнивать между собой и по ним уже оценивать качество и/или степень привлекательности соответствующих решений (например, некоторое решение A лучше решения B или, что равно сильно, решение B хуже решения A; решения C и D эквивалентны, т. е. ре зультаты операции, определяемые этими решениями, между собой неразли чимы; решение E очень хорошее, хорошее или плохое, удачное или неудач ное, разумное или неразумное и т. п.). Оптимальным называют такое решение из множества альтернативных решений ЛПР, которое в некотором смысле лучше или не хуже любого из этих решений. В данном определении оптимального решения предполагается возмож ным проведение сравнения между собой любых двух решений из множества альтернативных решений. При этом после каждого такого сравнения долж но быть выявлено лучшее из сравниваемых решений или должна быть уста новлена их эквивалентность. Критерием эффективности решений называют количественный показа тель, только по значениям которого, определяемым для каждого из альтерна тивных решений, может проводиться сравнение между собой этих решений. Сравнивать между собой решения, руководствуясь при этом т о л ь к о о д  н и м критерием их эффективности, может оказаться нецелесообразным. Для 10

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

многих операций обычно имеется несколько таких критериев (продолжи тельность операции, ожидаемая от ее проведения прибыль или рентабель ность, расходы, связанные с проведением операции, вероятность понести убытки данной величины и др.). Следует отметить, что при наличии уже двух критериев эффективности решений основная сложность проблемы выбора одного решения из множества альтернативных состоит в том, что значения этих критериев могут оказаться противоречивыми в таком смысле: если по одному из критериев некоторое решение А оказывается лучше, чем решение В, то по другому критерию, на оборот, решение B оказывается лучше решения А (разумеется, и альтернатив ных решений, и критериев их эффективности на практике обычно бывает гораздо больше двух). На операцию помимо принятого ЛПР решения могут также существенно влиять состояние внешней среды — место и условия проведения операции — и факторы, определяемые не только или даже не столько желанием ЛПР, а зависящие от с о з н а т е л ь н о г о п о в е д е н и я л ю д е й, заинтересован ных в других результатах операции. Все это не всегда можно игнорировать, и поэтому при сравнении альтернативных решений необходимо учитывать в с е ф а к т о р ы, с у щ е с т в е н н о в л и я ю щ и е н а о п е р а ц и ю, и возможную неопределенность некоторых из них. Кроме того, решение всегда принимает ся д о проведения операции, а правильно оценить его качество можно только лишь после ее завершения. Значит, при сравнении альтернативных реше ний необходимо уметь как можно более точно прогнозировать последствия принятия каждого из них. При исследовании к а ж д о й з н а ч и м о й и н е т р и в и а л ь н о й о п е  р а ц и и должны разрабатываться ее математические модели. Математическая модель операции — это некоторое формализованное описание (на математическом языке) всех действий операции и связей меж ду ними, внешней среды, где проводится операция, факторов, существен ных для операции, цели/целей операции и множества альтернативных ре шений. Участие в разработке математической операции принимают ЛПР, спе циалисты соответствующего рода деятельности (экономисты, юристы, воен ные деятели, психологи, политики и др.) и, конечно же, математики. Формально каждую операцию можно описать поразному — мир беско нечен. Чтобы с математической моделью операции можно было плодотворно работать, она не должна быть перенасыщена ненужными подробностями и несущественными факторами. Кроме того, сложность этой модели должна быть такой, чтобы с ее применением можно было бы получать как нетриви альные выводы об особенностях исследуемой операции, так и рекомендации о приемлемых решениях, конкретизирующих ее проведение. Поэтому раз работка математической модели операции, являющейся удачной в указан ных смыслах, является своего рода искусством. Форма и содержание предлагаемых математических моделей операции, их «разумная сложность» и удобство применения определяются имеющим ся опытом и квалификацией их разработчиков. Это, в конечном итоге, ВВЕДЕНИЕ

11

и обусловливает целесообразность применения математических моделей при поиске оптимального или приемлемого решения. Итак, если ошибка в выборе решения приводит к нежелательным по следствиям, то необходимо разрабатывать и исследовать математические модели операции. Основная задача исследования операции состоит в формализации этой операции и в предварительном количественном обосновании оптимальных или приемлемых решений. Каждая з а д а ч а м а т е м а т и ч е с к о г о п р о  г р а м м и р о в а н и я может рассматриваться как формализованное описа ние некоторой операции, для которой особым образом конкретизированы множество альтернативных решений и е д и н с т в е н н ы й критерий сравне ния их эффективности. Таким образом, проблематика теории исследования операций включает исследование самых разных типов задач принятия решения (постановки за дач, исследования их свойств и поиск решений). Роль ЛПР состоит в принятии окончательного решения относительно способа проведения операции. Полученные по ее завершении результаты за висят от качества разработанных и примененных математических моделей операции, от жизненного опыта (интуиции) и желаний ЛПР, часто заранее не известных и не формализованных. Следует отметить, что все модели опе рации составляют только лишь часть общей системы поддержки принятия решения (СППР) — всех вспомогательных средств, имеющихся в распоря жении ЛПР и предназначенных для оказания ему помощи в выборе оконча тельного решения. В частности, к общей СППР относят консультантовэкс пертов, научных работников в соответствующих областях знаний, службы информационного обеспечения и связи, математиковразработчиков уникаль ного программного обеспечения вычислительных систем (компьютеров), соб ственно вычислительные системы с обслуживающим их персоналом и др. Начало интенсивного развития теории исследования операций относят к периоду Второй мировой войны (1939–1945 гг.), хотя ее основы были заложе ны значительно раньше в некоторых попытках формализовать исследуемые явления, и прежде всего в экономике. Так, например, одна из первых количест венных моделей национальной экономики — «экономическая таблица Кенэ» — была предложена лейбмедиком короля Людовика XV Франсуа Кенэ1 еще в 1766 г. Французские экономисты и математики Антуан Курно2 и Леон Валь рас3, итальянский социолог и экономист Вильфредо Парето4 постоянно в своих работах применяли математические модели и методы. В частности, именно В. Парето предложил один из методов принятия решения в случае нескольких критериев оценивания эффективности альтернативных решений. Л. Вальрас — основатель математической экономики — один из первых определил и проде монстрировал роль математических методов при изучении экономики. Пред 1

Франсуа Кенэ (Francois Quesnay, 1694–1774) — французский экономист. Антуан Курно (Antoine Cournot, 1801–1877) — французский математик, философ и эко номист. 3 Леон Вальрас (Le´on Walras, 1834–1923) — французский математик и экономист. 4 Вильфредо Парето (Vilfredo Pareto, 1848–1923) — итальянский социолог и экономист. 2

12

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ложенная им теория общего конкурентного равновесия на протяжении многих лет была и остается движущим фактором этих методов. Теоретико!игровую концепцию некоторых экономических отношений предложил в 1928 г. выдаю! щийся математик из США, один из создателей кибернетики Джон фон Нейман1, который вместе с экономистом Оскаром Моргенштерном2 последовательно развил и изложил эту концепцию в монографии «Теория игр и экономическое поведение» (1944). Кроме того, в 1937 г. Дж. фон Нейман предложил экономи! ко!математическую модель производства. Эта модель является обобщением межотраслевой модели производства и распределения, годом ранее разработан! ной экономистом из США русского происхождения В. В. Леонтьевым3. Следует отметить, что и сейчас большинство экономико!математических моделей, разработанных из потребностей практики, являются моделями ле! онтьевского или неймановского типа. Одним из первых, кто обратил внимание на оптимизационный подход при принятии решений в случаях управления экономическими процессами, был советский математик и экономист Л. В. Канторович4. Еще в 1939 г. он опубликовал статью «Математические методы организации и планирования производства», в которой ряд его предложений, касающихся рационализа! ции нескольких производственных процессов, был конкретизирован в виде соответствующих оптимизационных задач: 1. Распределение обработки отдельных деталей на станках, дающее мак! симальные результаты для комплексной производственной программы. 2. Организация производства с целью максимального выполнения плана при заданном ассортименте. 3. Полная загрузка станков. 4. Максимальное уменьшение отходов. 5. Максимальное использование комплексного сырья. 6. Рациональное распределение топлива. 7. Наилучшее выполнение плана строительства при имеющихся строй! материалах. 8. Наилучшее распределение семян по посевной площади. 9. Оптимальный план перевозок. Кроме того, что названия этих задач отражают содержание сути проблем, исследуемых в то время Л. В. Канторовичем, они также указывают на эконо! мику как на одну из многочисленных и практически неограниченных облас! тей применения идеи оптимизации решений. С появлением формализованных постановок указанного типа оптимиза! ционных задач связывают появление большого интереса к проблематике ли нейного программирования (ЛП) — одного из основных и наиболее полно изученных разделов математического программирования. 1

Джон фон Нейман (John von Neumann, 1903–1957) — американский математик. Оскар Моргенштерн (Oskar Morgenstern, 1902–1977) — американский экономист. 3 Василий Васильевич Леонтьев (1906–1999) — американский экономист, лауреат Нобе! левской премии (1973). 4 Леонид Витальевич Канторович (1912–1986) — советский математик и экономист, лау! реат Нобелевской премии (1975). 2

ВВЕДЕНИЕ

13

В 1945 г. Джордж Стиглер1 сформулировал и решил задачу о диете — одну из типичных по форме задач ЛП. Именно на этой задаче на одной из первых электронновычислительных машин был апробирован симплекс*метод Джорд жа Данцига2, разработанный им в 1947–1949 гг. для решения произвольных задач ЛП. В годы Второй мировой войны внимание Дж. Данцига привлекли задачи ЛП, возникающие при исследовании проблем планирования некото рых, в частности транспортных, операций военновоздушных сил США. Летом 1949 г. в Чикаго, США, состоялась специализированная конфе ренция, на которой были подведены итоги почти двухсотлетнего формиро вания ЛП как самостоятельной математической дисциплины. С того време ни начался новый этап совершенствования и расширения ЛП, этап развития и широкого применения других, более сложных моделей и методов матема тического программирования. Как следует из накопленного опыта, именно математическое моделирование многих процессов часто помогает достичь значительных успехов в их понимании, в разработке приемлемых путей дос тижения поставленных целей. Приведенный в конце книги список литературы содержит лишь малую часть публикаций, посвященных становлению и состоянию современной про блематики как теории исследования операций, так и ее неотделимой состав ной части — математического программирования. Выбор этой литературы в основном продиктован желанием автора более подробно, чем это возможно в одной книге, ознакомить заинтересованного читателя с самой теорией ис следования операций и многочисленными иллюстрациями ее практическо го применения как в экономике, так и в науке управления3. Вопросы и задания 1. Что понимают под операцией? Приведите примеры операций. 2. Что понимают под решением, оптимальным решением, критерием эффективно сти решения? 3. Зачем нужны математические модели операций, кто их разрабатывает? 4. Какова роль ЛПР в проведении операции? 5. Что понимают под системой поддержки принятия решений? 6. Приведите пример операции, для которой назовите ее организатора и опишите: сущность и цель операции, существенные факторы, влияющие на ход ее прове дения и полученные результаты, множество альтернативных решений, способ/ способы сравнения между собой этих решений. Если бы вы были организатором этой операции, то какое решение было бы приемлемым или оптимальным для ее проведения? Какой для вас был бы желательный состав системы поддержки принятия решения? 7. В чем состоит проблематика теории исследования операций? 8. Какова сущность задач математического программирования? 1 Джордж Стиглер (George Stigler, 1911–1991) — американский экономист, лауреат Нобе левской премии (1982). 2 Джордж Данциг (George Dantzig, 1914–2005) — американский математик. 3 Читателю рекомендуется ознакомиться с научным и публицистическим наследием Н. Н. Моисеева. Только малая часть его работ, посвященных применению математических методов при выборе управленческих решений в самых разных областях деятельности челове ка, отмечена в списке литературы. Никита Николаевич Моисеев (1917–2000) — советский и российский механик и математик.

14

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ГЛАВА

ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

О

тыскание приемлемого, а в некоторых случаях — наилуч шего (оптимального) решения, конкретизирующего проведение любой, даже сравнительно несложной операции, обычно включает постановку, исследо вание и поиск решений задач математического программирования. Поста новке этих задач всегда предшествует этап разработки по крайней мере од ной математической модели операции. Каждая математическая модель операции представляет собой совокуп ность математических соотношений между факторами (числовыми показа телями), существенными, по мнению создателей модели, при определении и конкретизации этой операции. Среди факторов операции обязательно должны быть и такие, в терминах которых определяются альтернативные решения. К математической модели операции также относят функции, значения которых выражают некоторые количественные оценки результатов опера ции, обусловливаемых принятием каждого из возможных решений. Эти функции применяют для сравнения между собой альтернативных решений и называют критериальными функциями. Для создания математической модели операции необходимо: · выбрать существенные факторы операции; · решить вопросы, касающиеся вычисления значений этих факторов и дос тупности всей необходимой информации; · конкретизировать влияние факторов операции на достижение ее цели и связи, имеющиеся между этими факторами. Уже на втором и третьем этапах создания математической модели опера ции принимают участие математики. После построения этой модели именно математикам предстоит анализировать ее свойства, а из множества альтер нативных решений выбирать приемлемые решения и предлагать их внима нию ЛПР. Следует отметить, что научно обоснованный прогноз последствий принятия любого решения собственно и возможно проводить лишь в рамках соответствующей математической модели операции. ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

15

Вместе с тем нередки случаи, когда до начала операции принципиально нельзя с желаемой точностью описать все существенные связи, имеющиеся между некоторыми факторами этой операции. Тогда обычно принимается некоторое стратегическое (осторожное и не полностью конкретизированное) решение, которое, если для данной операции это возможно, в процессе ее проведения соответствующим образом корректируется и уточняется — по сле начала операции собирается и специальным образом обрабатывается ин формация о ее развитии; это позволяет уточнить и список существенных факторов операции, и связи между ними и тем самым уточнить математиче скую модель операции, а значит, оперативно откорректировать ранее приня тое стратегическое решение. Некоторые способы конкретизации количественных связей между фак торами операции основаны на информации о полученных значениях этих фак торов и изложены в курсе учебной дисциплины «Эконометрика». В частности, к таким способам относят широко известный метод наименьших квадратов. Собственно стратегическое решение также может приниматься после ис следования соответствующих математических моделей операции. Однако такие модели по сравнению с подробными моделями разрабатываются в тер минах значений более общих факторов, называемых макрофакторами или макропоказателями операции. Характер связей между макропоказателя ми операции может быть получен после исследования ранее проведенных аналогичных операций. Далее в этой книге будут рассматриваться лишь такие операции, связи между факторами которых могут быть либо легко установлены, либо заданы функциями, имеющими известные аналитические свойства.

1.1. ПРИМЕРЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ 1.1.1. ЗАДАЧИ О СОСТАВЛЕНИИ РАЦИОНА

Рассмотрим проблему питания туриста, собирающегося пройти по неко торому сложному маршруту. Предположим, что все свое снаряжение и продукты питания турист, в дан ном случае — ЛПР, должен подготовить и нести сам. Поэтому одним из глав ных для него вопросов, ответ на который он о б я з а н будет получить, явля ется вопрос выбора продуктов питания в походе. Пусть после консультаций с врачомдиетологом (врачом) турист выяс нил, что его ежедневный рацион, при котором только и возможно б е з в р е  д а д л я з д о р о в ь я п р е о д о л е т ь в ы б р а н н ы й м а р ш р у т — цель рассматриваемой операции, должен содержать не меньше 100 г белков, 120 г жиров и 480 г углеводов.1 Предположим также, что в результате предварительного обдумывания проблемы питания, когда учитывались такие характеристики продуктов 1

16

Все числовые данные этой задачи условны.

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

питания, как возможность их приобретения, цена, вес, время хранения в условиях преодоления маршрута, надежность, удобство и вес упаковки и др., единственно приемлемыми продуктами питания в походе оказались две кон центрированные питательные смеси. Одна из них специально была изготов лена для питания космонавтов (смесь 1), а вторая (смесь 2) — для питания исследователей океанских глубин. При этом, хотя эти смеси и различны по составу (табл. 1.1), их одновременное употребление не приводит к измене нию ни их питательных свойств, ни пропорций между составляющими сме си компонентами (смеси не вступают между собой ни в какую реакцию). 1 2 3 4 5 6 2 7 8987 1234567524

4 63 7 432 78 4567524 4472 2465 54567524

56758494

567584 4

123456

76

876

95 6

76

76

32 6

6

6

1

Следующий вопрос туриста касается приобретения им таких количеств каждой из указанных питательных смесей, которых было бы достаточно для выполнения требований врача (предполагается, что турист может приобре сти любое количество как смеси 1, так и смеси 2). Пусть x1 и x2 — количество (в граммах) ежедневного потребления тури стом соответственно смеси 1 и смеси 2. Значит, учитывая данные первой, вто рой и третьей строк таблицы 1.1, он ежесуточно будет потреблять в граммах соответственно 0,05x1 + 0,15x2 белков, 0,25x1 + 0,05x2 жиров и 0,4x1 + 0,3x2 углеводов. Следовательно, учитывая в с е требования врача о наименьших количе ствах ежесуточного потребления туристом белков, жиров и углеводов, неотри цательные значения x1 и x2 и очевидно должны удовлетворять неравенствам: 100 £ 0,05x1 + 0,15x2,

(1.1)

120 £ 0,25x1 + 0,05x2,

(1.2)

480 £ 0,4x1 + 0,3x2.

(1.3)

1x 2 Если компоненты x1 и x2 вектора x 3 4 1 5 н е о т р и ц а т е л ь н ы и удов 6 x2 7 летворяют системе неравенств (1.1)–(1.3), то такой вектор представляет со бой решение (туриста). Очевидно, что решение туриста однозначно определяет его суточный рацион. Пусть X — множество всех решений системы неравенств (1.1)–(1.3). Оче видно, это множество не пусто и содержит бесконечное (более того, несчет ное) количество элементов. Действительно, легко убедиться, что при условии принадлежности мно жеству X векторов x1 и x2 каждый вектор

xl = lx1 + (1 – l) x2, l Î (0; 1), ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

17

также принадлежит множеству X. В частности, поскольку множеству X при" 2000 2 2 1 0 2 надлежат векторы x1 1 3 14 5 и x1 3 4 2400 5 , при произвольном l Î (0; 1) обе 0 6 7 6 7 2000 3 5 4 компоненты вектора x1 3 6 3x1 1 7 (1 8 3)x1 2 6 9 положительны и удов" 2400 11 8 3 2 летворяют неравенствам (1.1)–(1.3). Интерпретация выбора каждого из векторов x1 1 и x1 2 очевидна: если вы" бран вектор x1 1, то лишь смесь 1 в количестве 2000 г составляет ежесуточный рацион туриста, а если выбран вектор 11 1, то этот рацион составляет лишь смесь 2 в количестве 2400 г. Итак, какое же решение выбрать туристу из множества альтернативных решений X? Одним из возможных критериев, по которому он может сравнивать меж" ду собой векторы множества X, является общий вес смесей 1 и 2, ежесуточ" но им потребляемых: если векторы x и y принадлежат множеству X, то лучшим из них естественно считать тот вектор, сумма компонент которого меньше суммы компонент другого. Такой способ сравнения альтернативных пище" вых смесей (рационов) целесообразно применять тогда, когда при условии выполнения требований врача турист стремится как можно меньше утяже" лять свой рюкзак. Следует отметить, что при указанном количественном критерии F(x) º x1 + x2 (1.4) оценивания качества решения x можно сравнивать между собой л ю б ы е альтернативные решения из множества X. Сравнивать же векторы множества X с векторами, не принадлежащими это" му множеству, в рассматриваемом случае излишне. Действительно, если неко" торый вектор не принадлежит множеству X, то это означает, что либо по край" ней мере одна из его компонент отрицательна, либо не выполняется по крайней мере одно из требований врача. В первом случае в контексте исследуемой опе" рации нельзя дать толкование такому вектору. Во втором — турист не выпол" нит одно из обязательных условий прохождения маршрута, т. е. цель опера" ции — прохождение маршрута без вреда для здоровья — не будет достигнута. Итак, одной из возможных и важных для туриста задач определения его ежесуточного рациона является такая задача. Задача 1.1. Из векторов множества X — всех неотрицательных решений системы неравенств (1.1)–(1.3) — выбрать вектор x*, для которого значение F(x*) функции F (1.4) — наименьшее из возможных ее значений на множест" ве X, т. е. найти такой вектор x* Î X, что F(x*) £ F(x) " x Î X.

(1.5)

После обращения к м а т е м а т и к у с просьбой отыскать вектор x*, обла" дающий свойством (1.5), оказалось, что 2 21 3 2 933,3 3 x 1 4 400 7 8 5 7 и F (x 1 ) 4 400 (21 6 8) 5 1288,9. 9 9 8 9 355,6 8

9

18

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Таким образом, требования врача будут выполнены, если ежесуточный рацион туриста будет включать около 933,3 г смеси 1 и около 355,6 г сме си 2. При этом общий вес всей пищевой смеси будет наименьшим и прибли зительно равным 1288,9 г (из расчета на 1 сутки пребывания в походе). Другим важным для туриста вопросом является вопрос о денежных рас ходах на питание. Предположим, что цены за смесь 1 и смесь 2 равны соответственно 80 и 20 руб. за килограмм. Тогда расходы, связанные с покупкой 933,3 г смеси 1 и 355,6 г смеси 2, очевидно составят 0,08 × 933,3 + 0,02 × 355,6 = 81,76 (81 руб. 76 коп.). Такие ежедневные расходы на питание туристу показались слишком боль шими — ведь ему еще предстоит потратить некоторую сумму денег на обнов ление своего технического снаряжения, на оплату проезда от дома к началу маршрута и от конца маршрута домой и на другие нужды путешественника, а выделенная для похода сумма денег была сравнительно небольшой. Поэтому он решил выяснить, какую н а и м е н ь ш у ю с у м м у д е н е г н а е ж е с у  точное питание он может расходовать при условии вы п о л н е н и я в с е х т р е б о в а н и й в р а ч а. Это намерение туриста формализовано в следующей задаче. Задача 1.2. Из множества векторов X выбрать вектор y*, для которого функция F(x) = 0,08x1 + 0,02x2 (1.6) принимает н а и м е н ь ш е е на множестве X значение: найти такой вектор y* Î X, что

F(y*) £ F(x) " x Î X.

(1.7)

Экономическая интерпретация значений функции F (1.6) очевидна: за выбор решения x — за покупку x1 грамм смеси 1 и x2 грамм смеси 2 — нужно заплатить F(x) руб. Именно по этой причине функцию F также можно ис пользовать как один из возможных критериев сравнения между собой аль тернативных решений: если оба решения x и y принадлежат множеству X, то при условии F(x) < F(y) решение x считается лучше, чем решение y; при усло вии F(x) > F(y) решение y считается лучше, чем решение x; при условии F(x) = F(y) решения x и y считаются эквивалентными (равнозначными по критерию F). Опять математик помог туристу. Он нашел вектор y*, обладающий свой ством (1.7). Оказалось, что 2 1 3 2 218,2 3 y 1 4 2400 7 8 5 7 e 6( y 1 ) 4 480 5 43,64. 11 9 6 9 1309,1 8

11

Итак, самый дешевый ежедневный рацион туриста обойдется ему в 43 руб. 64 коп. Этот рацион содержит приблизительно 218,2 г смеси 1 и 1309,1 г смеси 2, а его вес приблизительно равен 1527,3 г (F(y*) = y*1 + y*2 » 1527,3). Теперь турист стал размышлять: выбрать ему решение x*, «вес» которого приблизительно равен 1288,9 г, а «цена» — 81,76 руб., или решение y*, «вес» и «цена» которого приблизительно равны соответственно 1527,3 г и 43,64 руб., ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

19

или продолжить исследования проблемы питания. Турист — думающий че ловек — выбрал последнее. Сначала он решил подсчитать общее количество белков, жиров и углево дов, которые он фактически потреблял бы ежесуточно в зависимости от при нятого им решения x* или y*. Для этого, очевидно, достаточно вычислить зна чения правых частей неравенств (1.1)–(1.3), где вместо x1 и x2 надо подста вить сначала x*1 и x*2, а затем — y*1 и y*2 (компоненты соответственно векторов x* и y*). Результаты проведенных расчетов турист занес в таблицу 1.2. 1 2 3 4 5 6 2 7 89 7 5424797

77849

5522 9 2

94 7 75 

12345678397 94 7 757 

7757 11

7757 21

123456

7886

7886

66698 6

56

7986

66697 76

7986

326

86

86

86

1

После анализа содержимого таблицы 1.2 туристу показалось существен ным и поэтому вредным для здоровья превышение минимальной нормы еже суточного потребления жиров, если бы он принял решение x*, и белков, если бы он принял решение y*. Чтобы не злоупотреблять хорошим отношением к себе врача и не обреме нять его своими «спортивными проблемами», турист решил просто ограни чить сверху фактические нормы суточного потребления белков, жиров и уг леводов, увеличив на 10% минимальные нормы потребления этих питатель ных веществ. Он предположил, что именно такие дополнительные требования достаточно сузят множество альтернативных решений X до множества, со держащего лишь решения, позволяющие ему без вреда для здоровья преодо леть выбранный маршрут. Итак, к условиям (1.1)–(1.3) и неотрицательности значений x1 и x2 ту рист решил добавить еще условия 0,05x1 + 0,15x2 £ 110, 0,25x1 + 0,05x2 £ 132, 0,4x1 + 0,3x2 £ 528

(1.8) (1.9) (1.10)

(правые части этих неравенств равны увеличенным на 10% соответствую щим значениям левых частей неравенств (1.1)–(1.3)). Однако оказалось, и установить это туристу опять помог м а т е м а т и к, что система неравенств (1.1)–(1.3), (1.8)–(1.10) не выполняется ни при ка ких неотрицательных значениях x1 и x2. Таким образом, дополнительные требования (1.8)–(1.10) относительно желаемых свойств приемлемого решения сузили исходное множество X аль тернативных решений туриста до пустого множества. О сложившейся ситуации высказал свое мнение математик. Он отметил, что, конечно же, можно формально определить такие неотрицательные зна чения z1, z2 и z3, для которых система из 6 неравенств 20

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

100 £ 0,05x1 + 0,15x2 £ 100 + z1, 120 £ 0,25x1 + 0,05x2 £ 120 + z2, 480 £ 0,4x1 + 0,3x2 £ 480 + z3

(1.11) (1.12) (1.13)

была бы совместной (непротиворечивой), т. е. выполнялась бы при некото рых неотрицательных x1 и x2. Интерпретация этих слагаемых z1, z2 и z3 оче видна: их значения выражают допустимые увеличения наименьших норм потребления белков, жиров и углеводов. 1x 2 Множество X(z) векторов x 3 4 1 5 с неотрицательными и удовлетворяю 6 x2 7 щими всем неравенствам (1.11)–(1.13) компонентами является подмножест 1 z1 2 вом множества X, зависящем от выбора вектора z 5 3 z 2 4. Следовательно, 33 44 6 z3 7 выбор вектора z некоторым образом обусловит и выбор из X(z) некоторого решения x1, имеющего соответствующие свойства («вес» F (x1 ), «цену» 1(x1 ) и др.). В свою очередь, решение x1 предопределит и количества фактическо го потребления туристом белков, жиров и углеводов. Однако вредны ли эти количества для здоровья, а если вредны, то в какой степени, — судить не туристу и не математику, а квалифицированному врачудиетологу. Поэтому туристу нужно о б я з а т е л ь н о выяснить у врача характер воздействия на здоровье человека ежедневного потребления белков, жиров и углеводов со ответственно в количествах 100 + z1, 120 + z2 и 480 + z3 граммов. Таким об разом, при серьезном и ответственном отношении к проблеме выбора рациона было бы полезным еще знать: недопустимые количества ежесуточного потреб ления человеком белков, жиров и углеводов (при игнорировании такого типа требований человек может неизлечимо заболеть или даже умереть); количества потребления белков, жиров и углеводов, при которых человек заболеет некото рой болезнью, для лечения которой потребуются время и расходы, связанные с выполнением условий лечения; какие количества потребления питательных веществ не будут вредными для здоровья человека. Рассмотренные задачи 1.1 и 1.2 являются частными случаями следую щей более общей задачи. Задача 1.3 (задача о диете). Пусть в результате исследований, проведен ных врачамидиетологами, оказалось, что для некоторого заданного физи ческого развития человека (поддержания его желательного физического со стояния) на протяжении заданного промежутка времени человек должен еже суточно потреблять m видов некоторых питательных веществ (белков, жиров, углеводов, аминокислот, витаминов, микроэлементов). Пусть при этом также было установлено, что масса фактического потребления каждого iго питатель ного вещества не должна быть меньше b i и не должна превышать b i некото рой единицы массы этого вещества, i = 1, ..., m. При этом не исключается слу чай, когда для некоторых питательных веществ значения {b i } очень велики. Пусть выбраны n типов продуктов питания, о каждом из которых из вестно содержание в нем каждого питательного вещества — масса aij iго ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

21

питательного вещества, содержащегося в единице массы jго продукта пита ния, i = 1, ..., m, j = 1, ..., n (очевидно, что aij ³ 0, причем равенство aij = 0 выполняется тогда и только тогда, когда в jм продукте питания не содер жится iго питательного вещества). Пусть также известны: cj — цена единицы массы каждого jго продукта питания и dj — наибольшее возможное его ежесуточное потребление чело веком. Необходимо определить такие количества x1, x2, ..., xn ежесуточного по требления имеющихся продуктов питания, общие затраты на приобретение которых наименьшие при о б я з а т е л ь н о м в ы п о л н е н и и всех требова ний врачадиетолога. Формализованная постановка этой задачи такова. Из множества всех на боров переменных {xj}, которые при известных значениях {aij}, {bi }, {b i }, {cj} и {dj} удовлетворяют неравенствам n

bi 2 3 aij xj 2 bi , i 1 1, ..., m,

(1.14)

j 11

0 £ x j £ dj,

j = 1, ..., n,

(1.15)

определить набор {x*j}, доставляющий наименьшее значение функции n

2(x) 3 4 cj xj .

(1.16)

j 11

Очевидно, если для измерения количеств всех продуктов питания приме няется одна единица измерения, а в определении (1.16) критериальной функ ции j значения всех параметров {cj} равны 1, то искомый в задаче 1.3 набор {x*j} можно интерпретировать как такие количества ежесуточного потребле ния имеющихся продуктов питания, общая масса которых при условии вы полнения требований врача наименьшая (сравните с интерпретацией компо нент вектора x*, искомого в задаче 1.1). 1 x1 2 Если найдется по крайней мере один вектор x 5 3 1 4, компоненты кото 33 44 6 xn 7 рого удовлетворяют неравенствам (1.14)–(1.15), то в задаче 1.3 имеется по 2 x1 1 3 крайней мере одно решение x 1 6 4 1 5. Если же неравенства (1.14)–(1.15) не 44 55 7 x 1n 8 выполняются ни при каких значениях x1, x2, ..., xn, то все или некоторые про дукты имеющегося набора продуктов питания необходимо заменить на продук ты с другим содержанием питательных веществ — с другими значениями {aij}. Если решения из некоторого множества альтернативных решений мож но сравнивать между собой по нескольким разным критериям (например, по их «весу», «цене» и др.), то сам принцип (сущность общего способа) выбора окончательного решения с у щ е с т в е н н о о т л и ч а е т с я от принципа оп ределения наилучшего (оптимального) решения, примененного в зада чах 1.1–1.3, где наилучшим считается то решение из соответствующего множества альтернативных решений, при котором е д и н с т в е н н а я кри* 22

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

териальная функция задачи принимает наименьшее возможное на этом множестве значение. Разные принципы выбора решения при условии нескольких критериев сравнения между собой альтернативных решений состоят в выделении из их множества некоторых подмножеств, собственно из которых ЛПР и будет выбирать окончательное решение, руководствуясь при этом собственными и, не исключается, заранее не формализованными предпочтениями. Спосо бы построения таких подмножеств будут описаны далее — при рассмотре нии многокритериальных задач оптимизации. 1.1.2. ЗАДАЧИ О ВЫБОРЕ ПРОИЗВОДСТВЕННОЙ ПРОГРАММЫ

Пусть в n подразделениях некоторого предприятия может производиться продукция m видов. При этом если в какомлибо подразделении предприятия начато производство части какойлибо продукции, то только в этом подразделе нии эта часть продукции и будет производиться. Кроме того, ни в одном из подразделений разные виды продукции о д н о в р е м е н н о не производятся. Пусть за t единиц времени работы jго подразделения может быть произ ведено aijt единиц продукции iго вида (aij ³ 0 и равенство aij = 0 выполняется тогда и только тогда, когда в jм подразделении продукция iго вида не мо жет быть произведена; aij — производительность jго подразделения при про изводстве продукции iго вида), j = 1, ..., n, i = 1, ..., m. Пусть для каждого i = 1, ..., m среди чисел ai1, ..., ain имеется по крайней мере одно положительное число. Это предположение очевидно равносильно тому, что н а и б о л ь ш е е из чисел ai1, ..., ain — число ai1 3 max aij — поло 12 j 2 n жительное: (1.17) ai1 2 0 3i 4 1, ..., m. Условие (1.17) существования положительного элемента в каждой стро ке матрицы {aij}m´n производительностей подразделений предприятия оче видно выражает возможность изготовления л ю б о й из m видов продукции по крайней мере в одном из этих подразделений. Предположим, что на предприятии получен заказ на изготовление про дукции всех m видов соответственно в количествах b1, ..., bm единиц. Выполнение этого заказа о б я з ы в а е т руководство предприятия при нять решение, конкретизирующее номенклатуру (виды) и количество про дукции, которые должны быть произведены в каждом подразделении. Пусть xij — время работы jго подразделения по изготовлению продук ции iго вида. Тогда этой продукции в jм подразделении будет произведено n

aijxij единиц, а во всех n подразделениях вместо ее будет произведено

2 aij xij j 11

единиц. Значит, условие выполнения в с е г о з а к а з а может быть форма лизовано в виде требования выполнения для некоторых mn неотрицатель ных значениях {xij} равенств n

2 aij xij 1 bi ,

i 1 1, ..., m.

(1.18)

j 11

ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

23

Следует отметить, что неравенства (1.17) являются д о с т а т о ч н ы м условием существования по крайней мере одного неотрицательного решения {xij} системы линейных алгебраических уравнений (1.18). Действительно, при выполнении неравенств (1.17) для каждого i = 1, ..., m найдется по крайней мере одно подразделение, в котором можно произво дить продукцию iго вида. В л ю б о м о д н о м из таких подразделений ji Î {1, ..., n}, aiji 1 0, можно выполнить в е с ь заказ на производство bi еди b ниц продукции iго вида. Для этого потребуется x1iji 1 i единиц времени ра aiji боты jiго подразделения. Во всех других подразделениях продукция iго вида вообще не будет производиться: x1ik 1 0, k = 1, ..., n, k ¹ ji. Очевидно, что на бор значений {x1ij } является одним из неотрицательных решений системы уравнений (1.18). Пусть Tj — общее время выполнения jм подразделением своей части об щего заказа предприятия на производство продукции. Тогда m

Tj 1 2 xij , i 11

а наименьшая возможная для заданных {xij} продолжительность T(x) выпол нения на предприятии всего заказа равна наибольшему из чисел T1, ..., Tn: T (x) 2 max Tj

(1.19)

11 j 1 n

(предполагается, что все подразделения предприятия начинают работать од новременно и независимо одно от другого; в разных подразделениях может производиться продукция одного вида). Итак, перед руководством предприятия возникает проблема разработки такой производственной программы — отыскания такой m´nматрицы X, состоящей из неотрицательных элементов {xij}, при которой выполнение за каза на изготовление заданных количеств {bi} продукции m видов потребует наименьшего времени. Формализованным описанием указанной проблемы является следующая задача. Задача 1.4. Из множества неотрицательных решений {xij} системы линей ных алгебраических уравнений (1.18) выбрать решение, доставляющее наи меньшее значение функции T(x) (1.19). Разумеется, руководитель предприятия может определять номенклату ру и объемы производимой продукции и из других соображений. Например, если рыночная цена единицы продукции iго вида равна ci денежных еди ниц, то при условии производства этой продукции во всех подразделениях предприятия в количестве

n

n

j 11

j 11

2 aij xij единиц будет получен доход ci 2 aij xij ,

а с учетом продажи всей произведенной продукции общий доход составит сумма m n

C(x) 1 22 dij xij ,

(1.20)

i 11 j 11

где dij º ci aij, i = 1, ..., m, j = 1, ..., n. 24

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Количества произведенной продукции, а значит, и полученный от ее про дажи доход C(x), зависят от продолжительности работы Tj каждого jго под разделения предприятия. Если стремиться получить наибольший доход от продажи произведенной продукции, то соответствующий выбор производст венной программы предприятия собственно и состоит в отыскании решения задачи максимизации значения функции C(x). Задача 1.5. При известных производительностях {aij} подразделений пред приятия, продолжительностях {Tj} их работы и ценах {cj} на произведенную продукцию найти неотрицательные компоненты {xij} матрицы X, при кото рых при условии выполнения равенств m

2 xij 1 Tj ,

j 1 1, ..., n,

(1.21)

i 11

функция C(x) (1.20) принимает наибольшее значение. При других способах выбора производственной программы предприятия могут учитываться: · имеющиеся на предприятии ресурсы, используемые при производстве продукции; · затраты, обусловленные необходимостью приобретения дополнительных ресурсов; · наименьшие обязательные количества некоторых видов производимой продукции; · желаемые соотношения между количествами произведенной продукции разных видов; · штрафные санкции за несвоевременное или неполное выполнение заказа и другие условия. Учет таких и других дополнительных требований приводит к необходи мости разрабатывать более сложные математические модели выбора производ ственной программы предприятия, чем модели, рассмотренные при постановке задач 1.4 и 1.5. Поэтому для анализа альтернативных решений (производст венных программ) и выбора из них приемлемого руководителю предприятия обязательно придется инициировать проведение соответствующих исследо ваний группой специалистов, в состав которой должны входить экономи сты, маркетологи, инженеры, юристы и, конечно же, м а т е м а т и к и. 1.1.3. ЗАДАЧА О РАЗМЕЩЕНИИ ПРОИЗВОДСТВА

Пусть в n магазинах, находящихся, возможно, в разных населенных пунк тах, определены заказы {bj} на приобретение некоторого товара (например, сахара): bj — количество единиц товара (кг), заказанного jм магазином, j = 1, ..., n. Пусть заказанный товар может быть произведен на m предприятиях, причем для каждого iго предприятия известна функция затрат ji, значе ние ji(y) которой выражает количество денежных единиц затрат (руб.) на iм предприятии, необходимых для изготовления на этом предприятии y еди ниц продукции (товара), i = 1, ..., m. ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

25

Свойства функции затрат ji( × ) обусловлены расходами, связанными с приобретением необ ходимого сырья и использованием оборудования на iм предприятии, принятой на этом предпри ятии технологией производства и т. п. Обычно производственные затраты, приходя щиеся на единицу изготовленной продукции, не увеличиваются при увеличении объема произ Рис. 1.1 водства: отношение ji(y)/y является н е в о з  р а с т а ю щ е й функцией положительного y. Графики функций затрат с таким свойством приведены на рисунках 1.1 и 1.2: на рисунке 1.1 изображен график линейной функции j(y) = ay, a — фиксированное положительное чис ло, а на рисунке 1.2 — график нелинейной функции j(y). Пусть также известны затраты {cij}, связан ные с транспортировкой продукции от мест ее изготовления до магазиновзаказчиков: cij — де нежные затраты доставки единицы продукции от iго места ее изготовления до jго магазина заказчика, i = 1, ..., m, j = 1, ..., n. Пусть xij — количество произведенной продук ции на iм предприятии для jго магазиназаказчи Рис. 1.2 ка. Тогда на iм предприятии для всех магазинов n

заказчиков производится

2 xij

единиц продукции, для чего расходуется

j 11

2 3 4i 5 9 xij 6 руб., а затраты, связанные с транспортировкой этой продукции в 5 6 7 j 11 8 n места ее заказа, равны 2 cij xij руб. n

j 11

В предположении, что на каждом из m предприятий может быть изготовлено л ю б о е количество продукции, возникает вопрос о таком размещении заказов на изготовление продукции между предприятиями, при котором при условии выполнения каждого заказа общие затраты на производство и транс портировку продукции наименьшие. Формализует эти условия и цель про ведения соответствующей операции такая задача. Задача 1.6. Из неотрицательных решений {xij} системы линейных алгеб раических уравнений m

2 xij 1 bj ,

j 1 1, ..., n

(1.22)

i 11

найти такое, для которого функция m 2 3 2 n 3 n H(x) 1 6 4i 6 xij 7 5 cij xij 7 6 7 6 7 i 11 8 8 j 11 9 j 11 9

принимает наименьшее значение (X — m´nматрица с элементами {xij}). 26

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1.2. ЭКВИВАЛЕНТНЫЕ ПОСТАНОВКИ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ Сформулированные в предыдущем разделе задачи 1.1–1.6 являются при мерами задач математического программирования (МП). От других задач все задачи МП отличаются наличием следующей общей особенности — в по становке любой задачи МП о б я з а т е л ь н о наличие функции, на некото ром заданном множестве аргументов которой необходимо найти точку (решение задачи), где эта функция принимает экстремальное значение: в зависимости от требования задачи либо н а и б о л ь ш е е, либо н а и м е н ь  ш е е. Поэтому такую функцию называют целевой или критериальной функ* цией задачи, а саму задачу математического программирования также на зывают задачей на экстремум (экстремальной или оптимизационной за* дачей). Множество аргументов целевой функции задачи МП, среди которых отыскивается именно тот, который доставляет желаемое экстремальное значение целевой функции, называют допустимым множеством этой за дачи. Допустимое множество задачи МП может быть задано поразному. Для того чтобы для задач МП, имеющих разные постановки и свойства, единооб разно описывать способы распознавания и отыскания решений, каждую за дачу МП обычно преобразуют к некоторому стандартному виду. После этого решение исходной задачи проводится опосредованно через решение соответ ствующей задачи МП в стандартной постановке. В этом разделе рассматриваются основные способы преобразования по становок задач МП, не изменяющие множества решений этих задач. 1.2.1. ПРЕОБРАЗОВАНИЕ ОГРАНИЧЕНИЙ НА ПЕРЕМЕННЫЕ ЗАДАЧИ

Пусть D — множество произвольной природы (действительных чисел, векторов конечномерного евклидова пространства, матриц и т. п.), на кото ром задана некоторая функция h. Задание функции h на множестве D обозна чают h: D ® R, а понимают так: каждому элементу x множества D ставится в соответствие (сопоставляется) действительное число (элемент множества дей ствительных чисел R), обозначаемое h(x). В записи h(x) подчеркивается, что вопервых, правило сопоставления элементу x действительного числа опреде ляется именно функцией h, а вовторых, действительное число, сопоставляемое элементу x, зависит от этого элемента. Множество D называют областью определения (или задания) функции h, а множество {h(x): x Î D} — множество возможных значений, принимаемых функцией h на множестве определения — областью ее значений. Элементы множества D также называют аргументами функции h. Для заданных функции h: D ® R и действительного числа r запись h(x) = r

(1.23)

называют уравнением. ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

27

Запись

r = h(x)

называют альтернативной (другой возможной) формой записи уравне ния (1.23). Решением уравнения (1.23) называют элемент d множества D, для кото рого выполняется числовое равенство h(d) = r. Итак, решение d уравне ния (1.23) — это именно тот аргумент функции h (элемент множества D), которому сопоставляется действительное число r. В зависимости от данных функции h и действительного числа r множест во решений уравнения (1.23) может быть пустым, содержать единственный элемент, конечное или бесконечное число элементов. Рассмотрим несколько примеров. Пример 1.1. Пусть множеством D является nмерное евклидово простран ство Rn. Известно, что элементами этого пространства являются столбцы 1 x1 2 x 5 3 1 4, состоящие из n компонент — указанным образом упорядоченных 3 4 6 xn 7 действительных чисел x1, ..., xn. Пусть h(x) — заданная на Rn линейная функция, т. е. для некоторых фик сированных вектора a Î Rn и действительного числа a h(x) º + a

" x Î Rn,

(1.24)

где — обозначение евклидова скалярного произведения векторов a и x: n

2 a, x 3 4 a 1x1 5 ... 5 an xn 4 6 ai xi . i 11

(1.25)

Исследуем вопрос о существовании решений уравнения + a = r.

(1.23¢)

Предположим сначала, что a = 0, т. е. вектор a имеет только нулевые компоненты. Тогда при произвольном x Î Rn = = 0 и если r = a, то л ю б о й вектор x Î Rn является решением уравнения (1.23¢) (множество решений уравнения совпадает с Rn), а если r ¹ a, то у этого уравнения реше ний очевидно нет. Предположим теперь, что некоторая kя компонента вектора a отлична r 12 , от нуля: ak ¹ 0. Тогда вектор x1, у которого kя компонента равна x1 k 3 ak значение x1 i iй компоненты равно нулю, если ai ¹ 0 и i ¹ k, и равно произ вольному действительному числу, если ai = 0, i = 1, ..., n, является решени ем уравнения (1.23¢). Действительно,

r 12 3 a, x1 4 5 2 6 ak x1 k 5 2 6 ak 5 2 6 r. ak

28

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Следовательно, если по крайней мере одна компонента вектора a в опре делении функции h (1.24) не равна нулю, то при произвольном значении r у уравнения (1.23¢) имеется по крайней мере одно решение. Пусть у уравнения (1.23¢) имеется t решений x1, ..., xt, т. е. + a = r,

j = 1, ..., t.

(1.26)

Тогда при произвольных действительных значениях l1, ..., lt, сумма ко торых равна 1, l1 + ... + lt = 1, (1.27) вектор xl º l1x1 + ... + ltxt (1.28) также является решением уравнения (1.23¢). Действительно, учитывая определение евклидова скалярного произведе ния (1.25) и равенства (1.26), (1.27), имеем = = + ... + = = l1 + ... + lt = l1(r – a) + ... + lt(r – a) = (r – a)(l1 + ... + lt) = r – a. Отсюда следует, что h(xl) = + a = r и поэтому вектор xl, опреде ляемый по формуле (1.28), действительно является решением уравне ния (1.23¢). Итак, если доказано существование у уравнения (1.23¢) двух решений, то правильным будет и утверждение о существовании у этого уравнения б е с к о н е ч н о г о (даже несчетного) числа решений. В случае, когда n = 2 или n = 3, легко дать геометрическую иллюстрацию множества решений уравнения (1.23¢). Если n = 2, то линейное алгебраическое уравнение (1.23¢) эквивалентно уравнению a1x1 + a2x2 + a – r = 0,

(1.23²)

a1x1 + a2x2 + a3x3 + a – r = 0.

(1.23¢¢¢)

а если n = 3 —

Из курса аналитической геометрии известно, что уравнения (1.23²) и (1.23¢¢¢) являются общими уравнениями соответственно прямой линии на плоскости и плоскости в трехмерном пространстве. В первом случае (когда n = 2) век 1a 2 тор a 3 4 1 5 образует прямой угол с разностью любых двух векторов (точек) 6 a2 7 прямой, уравнением которой является именно уравнение (1.23²). Поэтому век* тор a называют нормальным или ортогональным к этой прямой. Во втором

1 a1 2 случае (n = 3) вектор a 5 3 a2 4 ортогонален плоскости, уравнением которой 3 4 6 a3 7 является уравнение (1.23¢¢¢). ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

29

Если n > 3, то аналогично двух и трехмерному случаям множество точек x Î Rn, для которых = b ( – b = 0), называют гиперплоскостью в Rn, определяемой заданными нормальным вектором a Î Rn и действитель ным числом b. Пример 1.2. Пусть D = R2 и для некоторого положительного числа a функ ция h: D ® R определяется формулой h (x) 1 x21 2 3 x22 . Очевидно, что для этой функции h при отрицательном значении r у урав нения (1.23) нет решений. Если r = 0, то у этого уравнения имеется единст венное нулевое решение 0 3 14 0 25 . Наконец, при любом положительном r мно 607 жеством решений уравнения (1.23) является эллипс, каноническим уравне нием которого является уравнение

x21

1

r2

2

3

x22 2

5 r6 7 8

9

41

(чтобы получить это уравнение, необходимо обе части уравнения (1.23), в ко тором h(x) 1 x12 2 3 x22 , разделить на r и в левой части полученного равенства выполнить очевидные преобразования). Обычно при задании допустимого множества задачи МП применяют уравнения (условия на переменные задачи в форме равенств или условия* равенства) в тех случаях, когда в задаче надо обязательно учесть сохране ние некоторого, для определенности, ресурса (см., например, условия (1.21) и (1.22) при постановке соответственно задач 1.5 и 1.6 раздела 1.1.2). Одна ко применение такого типа условий возможно и тогда, когда известно, что некоторые переменные задачи могут принимать некоторые известные значе ния, число которых конечно. Например, если переменная z может прини мать только p значений z1, ..., zp, то это условие можно записать в виде h(z) =0,

(1.29)

p

где h(z) 47 1 z 5 6 i 2 — заданная на множестве действительных чисел R функ i 31

ция одной переменной (для заданного z значением этой функции является произведение p чисел z – z1, ..., z – zp). В частности, если переменная z может принимать только значения 0 и 1, то функция h в левой части уравнения (1.29) имеет вид h(z) = z(z – 1). Следует отметить, что для произвольных функции h: D ® R и действи тельного числа r функция h1 (x), заданная на множестве D согласно правилу h1 (x) 1 h(x) 2 r " x Î D, определяет уравнение

h1 (x) 1 0,

(1.30)

эквивалентное уравнению (1.23), т. е. либо у обоих этих уравнений нет ре шений, либо каждое решение любого из этих уравнений также является решением другого уравнения. Поскольку в некоторых случаях запись урав нения в виде (1.30), когда его правая часть принимает нулевое значение, 30

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

более удобна, чем в виде (1.23), применяют именно такую форму записи со ответствующего требования задачи. При этом указатель ~ («тильда»; запись h1 читается — «аш с тильдой») над названием функции может оказаться излишним. Пусть на множестве D заданы l функций {hj}: hj: D ® R, j = 1, ..., l. Системой уравнений, определяемой функциями {hj}, называют совокуп ность уравнений hj(x) = 0, j = 1, ..., l. (1.31) Решением системы уравнений (1.31) называют элемент d множества D, являющийся решением к а ж д о г о уравнения этой системы. Следователь но, множеством решений системы уравнений (1.31) является пересечение множеств решений каждого из уравнений этой системы. Очевидно, условия (1.21) задачи 1.5 можно записать в виде с и с т е м ы уравнений hj(x) = 0, j = 1, ..., n, (1.21¢) m

где hj (x) 2 4 xij 3 Tj , j 1 1,..., n. i 11

Множеству решений jго уравнения этой системы принадлежит любая матрица {xij}m´n, сумма элементов jго столбца которой равна Tj. Допусти мым множеством задачи 1.5 является пересечение множества матриц разме ра m´n, каждая из которых состоит лишь из неотрицательных (нулевых или положительных) элементов, с множеством матриц {xij}m´n, каждая из кото рых является решением системы уравнений (1.21¢). Для любых заданных функции h: D ® R и действительного числа r записи h(x) £ r

(1.32)

h(x) ³ r называют неравенствами. Записи

(1.33)

r ³ h(x)

(1.32¢)

и

и r £ h(x) (1.33¢) называют альтернативными формами записи соответственно неравенств (1.32) и (1.33). Решениями неравенств (1.32) и (1.33) называют соответственно элемен ты v и w множества D, для которых выполняются числовые неравенства h(v) £ r и h(w) ³ r. Из выполнения неравенств h(v) £ r и h(w) ³ r следует выполнение нера венств h(v) ³ –r и –h(w) £ –r. Поэтому элементы v и w являются решениями соответственно неравенств –h(x) ³ –r (1.32²) и –h(x) £ –r. (1.33²)

ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

31

Итак, множество решений неравенства (1.32), имеющего вид (форму) не равенства (1.33¢), совпадает с множеством решений неравенства (1.32²), имеющего вид неравенства (1.33). Аналогично множества решений нера венств (1.33) и (1.33²) совпадают, причем неравенство (1.33²) имеет вид не равенства (1.32). Таким образом, чтобы изменить вид неравенства — знак неравенства «³» на «£» или наоборот, знак неравенства «£» на «³», — достаточно поме* нять знаки «+» на «–» и «–» на «+» перед записями выражений, находя* щихся в обеих частях неравенства. При такой замене множество решений полученного неравенства будет совпадать с множеством решений исходного неравенства. Очевидно также, что для произвольных функции h: D ® R и действитель ного числа r неравенство (1.32) эквивалентно неравенству h(x) – r £ 0,

(1.32¢¢¢)

т. е. либо у каждого из этих неравенств решений нет вообще, либо любое решение одного из этих неравенств также является решением другого не равенства. Поэтому каждое неравенство, имеющее вид неравенства (1.32) или (1.33), можно привести к неравенству вида h1 (x) 1 0, множество решений которого совпадает с множеством решений исходного не равенства и в котором функция h1 задана на D таким образом: если исходное неравенство имеет вид (1.32), то h1 (x) 1 h(x) 2 r, а если (1.33), то h1 (x) 1 r 2 h(x). Пример 1.3. Рассмотрим неравенство – b £ 0,

(1.34)

определяемое линейной функцией h(x) = – b, где a и b — заданные соответственно вектор из Rn и действительное число. Если a = 0, то при отрицательном b множество решений X неравенства (1.34) очевидно пусто, а при нулевом или положительном b — совпадает с Rn. В случае, когда вектор a ненулевой, множество решений X неравенст ва (1.34) не пусто и содержит по крайней мере один вектор x1, для которого выполняется равенство 1 a, x1 2 3 4

(см. пример 1.1). Учитывая это неравенство, (1.34) можно переписать в виде 1 a , x 2 3 1 a , x1 2 4 0

и поэтому 1 a, x 2 x1 3 4 0.

(1.34¢)

Из курса линейной алгебры известно, что 1 a, x 2 x1 3 4 | a || x 2 x1 | cos 5,

(1.35)

где | × | — обозначение длины вектора из Rn 32

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

(| a | 1 a21 2 ... 2 an2 , | x 3 x1 | 1 (x1 3 x1 1 ) 2 2 ... 2 (xn 3 x1 n )2 ), а j — некоторое действительное число отрезка [0; p] — угол между вектора* ми a и x 1 x1 . Итак, из выполнения неравенства (1.34¢), эквивалентного неравенст ву (1.34), и из соотношения (1.35) следует, что вектор x тогда и только тогда является решением неравенства (1.34) — принадлежит множеству X, — ко гда угол j между векторами a и x 1 x1 не является острым (является прямым или тупым углом): 1 2 3 2 1 (cos 3 2 0). 2 Геометрическая иллюстрация множества решений X неравенства (1.34) для случая R2 дана на рисунке 1.3. По аналогии с двух и трехмерными случаями говорят, что гиперпло скость, определяемая равенством = b, Rn

разделяет пространство на два полупространства: на множества векто ров x, для которых ³ b — «верхнее полупространство», и на множест во векторов x, для которых £ b — «нижнее полупространство». Для этих полупространств общими являются лишь точки указанной гипер плоскости. Итак, в рассматриваемом случае множество решений X неравенства (1.34) не пусто и совпадает с соответствующим «нижним полупространством» в пространстве Rn. Пусть на множестве D заданы s функций {hj}: hj: D ® R, j = 1, ..., s. Системой неравенств, определяемой функциями {hj}, называют сово купность неравенств hj(x) £ 0,

j = 1, ..., s.

(1.36)

Решением системы неравенств (1.36) называют элемент d множества D, являющийся решением каждого из неравенств этой системы. Значит,

Рис. 1.3

ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

33

множеством решений системы неравенств (1.36) является пересечение мно жеств решений каждого из неравенств этой системы. Пример 1.4. Пусть система неравенств образована тремя линейными функ циями, заданными на R2: 6 1 a1, x 2 3 41 5 0, 7 8 1 a2 , x 2 3 42 5 0, 79 1 a3 , x 2 3 43 5 0,

(1.37)

где среди векторов a1, a2, a3 из R2 нет нулевого. Тогда, учитывая геометрическую иллюстрацию в R2 множества решений неравенства (1.34) (см. рис. 1.3), в зависимости от направлений векторов a1, a2, a3 и значений параметров b1, b2, b3 множество решений X системы нера венств (1.37) или пусто (рис. 1.4), или ограничено (рис. 1.5), или неограни чено (рис. 1.6 и 1.7). Самый распространенный способ задания допустимого множества X за дачи МП является таким. Пусть на некотором известном множестве W заданы m функций {fi}. Пред положим, что эти функции разделены на две группы, причем, для опреде ленности, первые m¢ функций отнесены к первой группе, а остальные m – m¢ функций — ко второй.

34

Рис. 1.4

Рис. 1.5

Рис. 1.6

Рис. 1.7

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

В терминах введенных понятий допустимое множество X задачи МП обычно определяется как пересечение множества решений на W системы не равенств fi(x) £ 0, i = 1, ..., m¢ (1.38) с множеством решений на W системы уравнений (равенств) fi(x) = 0,

i = m¢ + 1, ..., m.

(1.39)

Итак, допустимое множество X задачи МП является множеством реше ний на множестве W системы равенствнеравенств (1.38)–(1.39), что обычно записывают так: i 3 1, ..., m1, 4fi (x) 2 0, 5 i 3 m1 6 1, ..., m, (1.40) 7fi (x) 3 0, 5x 89.

При этом не исключается случай, когда множество X — множество аль* тернативных решений — совпадает с множеством W (такой случай в запи си (1.40) формально учитывается, когда m = 0 — никаких функций*ограниче* ний {fi} в задаче просто нет). Задача МП также может быть такой, что в ней допустимый выбор решения x не содержит требований в виде выполнения системы неравенств (1.38) (формально m¢ = 0). Наконец, в задаче может не быть требования на выбор x в виде выполнения системы равенств (1.39) (m¢ = m). Вид системы требований (1.40) в н е ш н е можно еще более упростить. Способ такого упрощения состоит в следующем. Очевидно, что для произвольной функции h: W ® R множество решений уравнения h(x) = 0 (1.41) совпадает с множеством решений системы неравенств 2 h(x) 1 0, 3 54h(x) 1 0.

(1.42)

Следовательно, каждое ограничение в виде равенства (1.41) формально можно заменить на пару ограничений в виде неравенств (1.42) и таким обра зом в определении допустимого множества X избавиться от условийравенств вида (1.39). Пусть m¢ = m. Тогда все условия (1.38) можно объединить в о д н о — f (x) £ 0, где

(1.43)

f (x) 2 max fi (x) 11 i 1 m

— заданная на W функция максимума (для произвольного x Î W значение f (x) равно наибольшему из m чисел f1(x), ..., fm(x)). Кроме того, множество решений неравенства (1.43) на W очевидно совпа дает с множеством решений на W уравнения j(x) = 0, ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

(1.44) 35

где

j(x) º max{f (x), 0} — наибольшее из чисел f (x) и 0. Значит, заданное в виде (1.40) допустимое множество X задачи МП в н е ш н е можно записать проще — как множество решений единственного уравнения (1.44). Однако в большинстве случаев нецелесообразно проводить такого типа упрощение первоначального способа задания множества допус тимых решений задачи, поскольку при этом могут быть утеряны некоторые его привлекательные аналитические и структурные особенности, на учете которых, собственно, и основаны все методы как распознавания, так и оты скания решений задачи. Задание допустимого множества X задачи МП в виде (1.40) называют стандартной формой задания этого множества. 1.2.2. ЗНАЧЕНИЕ И РЕШЕНИЕ ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

Пусть f0 и X — соответственно целевая функция и допустимое множество некоторой задачи математического программирования. Эта задача, очевид но, имеет смысл только тогда, когда область определения функции f0 содер жит множество X или совпадает с этим множеством. Задача МП состоит в отыскании среди точек (элементов) множества X хотя бы одной точки x*, в которой функция f0 принимает значение, для опреде ленности, н а и м е н ь ш е е по сравнению с другими точками множества X: f0(x*) £ f0(x)

" x Î X.

(1.45)

Такую точку x* Î X называют решением данной задачи МП или точкой минимума функции f0 на множестве X. Допустимое множество X задачи МП можно интерпретировать как мно жество альтернативных решений, каждое из которых конкретизирует соот ветствующий способ проведения некоторой операции, а значение целевой функции f0(x) — как величину некоторых убытков (потерь), обусловленных принятым решением x. Тогда задачу поиска точки x*, обладающей свойст вом (1.45), естественно понимать как задачу выбора из множества альтерна тивных решений X такого решения, при котором убытки от его принятия наименьшие из возможных. Однако если допустимое множество X содержит бесконечное число точек, то может оказаться, что ни одна точка x* Î X не обладает свойством (1.45). В таком случае говорят, что у данной задачи МП нет решений. Отсутствие решений у задачи МП формально означает, что для л ю б о й точки x¢ допустимого множества X найдется по крайней мере одна точка x² этого множества, для которой f0(x²) < f0(x¢). Отсюда, в частности, следует, что таких точек x² в множестве X имеется бесконечно много. Например, если множеством X является множество действительных чисел (X = R), то для функции f0(x) = e– |x| ни одно действительное число x* не удов летворяет требованию (1.45) (на рисунке 1.8 изображен вид графика функ ции f0(x) = e– |x|). 36

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Рис. 1.8

Даже если у задачи МП нет решений, интерес представляет вопрос об отыскании наибольшей нижней оценки «убытков от проведения операции», т. е. вопрос об отыскании такого наибольшего действительного числа f0*, что f0* £ f0(x)

" x Î X,

(1.46)

а для произвольного e > 0 найдется точка xe Î X (какая именно точка xe — зависит от e), для которой f0(xe) < f0* + e.

(1.47)

Действительное число f0*, имеющее свойства (1.46) и (1.47), называют значением данной задачи МП (или f0* — точная нижняя грань функции f0 на множестве X). Легко понять, что для функции f0(x) = e– |x| и множества X = R только нулевое значение f0* удовлетворяет требованиям (1.46) и (1.47). Неравенство (1.46) не выполняется ни для одного действительного числа f0* только тогда, когда функция f0 не ограничена снизу на X: для произволь ного числа g найдется точка xg Î X, для которой f0(xg) < g. В таком случае говорят, что значение задачи не ограничено снизу (равно «минус бесконеч ности») и формально полагают f0* = –¥. Если в задаче МП множество допустимых точек X пусто (в некоторых случаях бывает и так), то принято считать, что f0* = +¥ («потери от проведен ной операции бесконечно большие при любом выборе решения x Î X опери руемой стороны»). Очевидно, что при существовании у задачи МП решения x* выполняется равенство f0* = f0(x*) — значение задачи МП равно значению целевой функ ции задачи в ее решении. В отличие от решений задачи МП, которых может вообще не быть или быть несколько, значение задачи (конечное или бесконечное) всегда сущест вует и единственно. Задачу отыскания на множестве X точной нижней грани f0* функции f0 и/или точки минимума x* этой функции (при ее существовании) назы ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

37

вают задачей минимизации функции f0 на множестве X и записывают в виде или f0 (x) 2 inf,

(1.48)

x1X

или, применяя стандартную форму (1.40) записи допустимого множества X,1 f0 (x) 1 inf,

(1.49)

fi(x) £ 0, fi(x) = 0, x Î W.

(1.50) (1.51) (1.52)

x

i = 1, ..., m¢, i = m¢ + 1, ..., m,

Запись задачи минимизации функции f0 в виде (1.49)–(1.52) называют стандартной формой записи задачи математического программирования при ограничениях, определяемых множеством W и функциями3ограничения3 ми {fi}. В тех случаях, когда известно или предполагается, что в рассматривае3 мой задаче МП имеется по крайней мере одно решение, в записях (1.48) и (1.49) вместо «inf»1 принято писать «min»2. Не менее типичной, чем задача минимизации, является задача максими зации — для некоторой функции y, заданной на множестве X, вычислить на этом множестве точную верхнюю грань y* функции y и/или отыскать ее точ ку максимума x* — найти наименьшее действительное число y*, для которого y(x) £ y*

"xÎX

и при произвольном e > 0 найдется такая точка xe Î X, что y(xe) > y* – e, и/или отыскать точку x* Î X, для которой y(x) £ y(x*)

" x Î X.

Такую задачу также называют задачей математического программирова3 ния, значение которой y*, а решение — x*, однако записывают эту задачу или в виде3 2(x) 3 sup,

(1.53)

x1X

или 1 112 2 3456

(1.54)

fi(x) £ 0, fi(x) = 0, x Î W.

(1.55) (1.56) (1.57)

1

i = 1, ..., m¢, i = m¢ + 1, ..., m,

1 inf — первые три буквы латинского слова infimum (читается — «инфимум»; переводится — самый нижний, низший). 2 min — от лат. minimum («минимум»; наименьший). 3 sup — от лат. supremum («супремум»; наивысший).

38

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Если известно или предполагается, что у задачи максимизации есть по крайней мере одно решение, в записях (1.53) и (1.54) этой задачи вместо «sup» принято писать «max»1. Задачу (1.53) можно интерпретировать как задачу отыскания такого реше ния x* Î X, конкретизирующего проведение некоторой операции, прибыль (или доход) y(x*) от принятия которого не меньше, чем другая возможная прибыль: y(x*) ³ y(x), x Î X. Каждую задачу максимизации (1.53) довольно просто можно привести к виду задачи минимизации (1.48), имеющей такое же множество решений, а значение — противоположное значению задачи (1.53). Для этого достаточ но в задаче (1.53) положить f0(x) = –y(x). Аналогичное утверждение также является правильным и при сведе нии (преобразовании) задачи минимизации (1.48) к задаче максимиза ции (1.53). Итак, для изменения формы записи любой задачи математического про граммирования достаточно знак перед критериальной (целевой) функцией этой задачи заменить на противоположный («+» на «–», а «–» на «+»), а обо значение операции «min» («inf») — на «max» («sup»), а «max» («sup») — на «min» («inf»). 1.2.3. ЗАДАЧИ ОТЫСКАНИЯ РЕШЕНИЙ СИСТЕМ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ И НЕРАВЕНСТВ

В этом разделе рассматриваются некоторые способы сведе´ния задач оты скания решений систем уравнений (равенств) и неравенств к задачам мате матического программирования. Так как любую систему уравненийнеравенств можно привести к виду

4fi (x) 2 0, 5 7fi (x) 3 0, 5x 89,

i 3 1, ..., m1, i 3 m1 6 1, ..., m,

(1.40¢)

пусть соответствующее сведение уже произведено (см. разд. 1.2.1). Задачу отыскания решения системы равенствнеравенств (1.40¢) можно свести к разным задачам математического программирования, множество решений каждой из которых совпадает с непустым множеством решений этой системы. Рассмотрим несколько наиболее распространенных способов такого сведения. Способ 1. Пусть система (1.40¢) содержит по крайней мере одно уравне ние (равенство). Тогда, применив метод замены каждого уравнения (1.41) на два неравенства (1.42), исходную систему можно переписать в виде системы, состоящей лишь из неравенств.

1

max — от лат. maximum («максимум»; наибольший).

ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

39

Пусть f (x) — определенная на W функция максимума приведенной сис темы: (1.58) f (x) 8 max max fi (x), max fi (x), max 1 9fi (x) 2

3

16 i 6 m5

m5716i 6 m

m5716 i 6 m

4

(напомним, max{a, b, g} — наибольшее из чисел a, b, g). Таким образом, определяемая функция f принимает на W только неотри цательные (нулевое или положительные) значения. Действительно, для каждого x Î W выполняются неравенства fi(x) £ f (x)

" i Î {1, ..., m}

(1.59)

– fi(x) £ f (x)

" i Î {m¢ + 1, ..., m}.

(1.60)

и Поэтому если в точке x Î W хотя бы одна из функций {fi} принимает неот рицательное значение, то из неравенств (1.59) следует, что в этой точке также fj(x) ³ 0. Если же fj(x) < 0 для некоторых x Î W и j Î {m¢ + 1, ..., m}, то –fj(x) > 0 и тогда уже из неравенств (1.60) следует, что 0 < –fj(x) £ f (x). Следовательно, значение f* задачи МП f (x) 3 inf x12

(1.61)

неотрицательно (f* ³ 0). Только тогда, когда у задачи (1.61) есть решение x* и эта задача имеет нулевое значение (f* = 0), решение x* также является решением системы (1.40¢). Действительно, из определения (1.58) целевой функции f (x) задачи (1.61) и предположения f* = f (x*) = 0 (1.62) следует, что max fi (x1 ) 3 f (x1 ) 4 0, 13 i 3 m2

и поэтому fi(x*) £ 0,

i = 1, ..., m¢,

(1.63)

fi(x*) = 0,

i = m¢ + 1, ..., m

(1.64)

а также (если для некоторого j Î {m¢ + 1, ..., m} выполнялось бы неравенство fj(x*) > > 0 или fj(x*) < 0, то тогда выполнялось бы соответственно неравенство max fi (x1 ) 5 0 или max 1 7fi (x3 ) 2 8 0, что, учитывая неравенства (1.59)

m2314i 4 m

m4516i 6m

и (1.60), противоречило бы предположению (1.62)). Так как по предположению x* Î W, выполнение соотношений (1.63) и (1.64) собственно и есть выражением принадлежности x* множеству решений сис темы (1.40¢). Очевидно, что любое решение x* системы (1.40¢) также является решени ем задачи (1.61), имеющей в таком случае нулевое значение. Легко доказать, что в случае, когда у задачи (1.61) положительное значе ние f* или когда f* = 0, однако решений у этой задачи нет, у системы (1.40¢) решений нет — система условий (1.40¢) несовместна или, как еще говорят, противоречива. 40

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Способ 2. Пусть система (1.40¢) содержит лишь равенства (уравнения), а неравенства не содержит (m¢ = 0). Для заданной на W вспомогательной функции рассмотрим задачу МП

F (x) 1 f12 (x) 2 ... 2 fm2 (x)

(1.65)

F (x) 3 inf.

(1.66)

x12

Легко понять, почему множество решений на W системы уравнений fi(x) = 0,

i = 1, ..., m,

(1.40²)

совпадает с множеством решений задачи (1.66) только тогда, когда эта зада ча имеет решение и нулевое значение F*. В других случаях, когдалибо F* > 0 либо у задачи (1.66) решений нет, у системы уравнений (1.40²) нет решений на множестве W. Метод отыскания решения системы уравнений (1.40²) на множестве W путем определения функции F(x) (1.65) и дальнейшего поиска решения за дачи (1.66) называют методом наименьших квадратов. Способ 3. Пусть система (1.40¢) определяется только неравенствами, а ра венств (уравнений) вообще нет (m¢ = m). Пусть на множестве всех возможных пар z = (x, y), x Î W, y Î Rm опреде лены функции 1i (z) 2 fi (x) 3 yi2 , i 4 1, ..., m. Так как из выполнения равенства ji(z) = 0 следует, что

fi (x) 1 2 yi2 3 0, множество решений на W системы неравенств fi(x) £ 0,

i = 1, ..., m,

(1.40¢¢¢)

очевидно совпадает с множеством компонент {x*} решений {z* = (x*, y*)} на W´Rm º {z = (x, y): x Î W, y Î Rm} системы уравнений ji(z) = 0,

i = 1, ..., m.

Найти решение z* этой системы уравнений (разумеется, если оно есть) можно методом наименьших квадратов: на множестве W´Rm минимизиро вать функцию 1(z) 2 312 (z) 4 ... 4 32m (z).

1.3. ОБЩАЯ ОДНОКРИТЕРИАЛЬНАЯ ПРОБЛЕМА ПРИНЯТИЯ РЕШЕНИЯ Задачи математического программирования являются примерами воз можных формализованных моделей выбора решений, конкретизирующих способы проведения некоторых операций. И распознавание решения ка ждой задачи МП — наилучшего решения согласно принятому критерию ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

41

сравнения между собой альтернативных решений, — и метод отыскания этого решения с у щ е с т в е н н о з а в и с я т от свойств функций, применяемых в постановке задачи. Прежде чем изучать отдельные типы задач МП и способы их решения, рас смотрим с а м о е о б щ е е о п р е д е л е н и е н а и л у ч ш е г о (оп т и м а л ь  н о г о) р е ш е н и я. 1.3.1. ОТНОШЕНИЕ ПРЕДПОЧТЕНИЯ

Следует отметить, что проблема выбора решения всегда возникает толь ко тогда, когда множество альтернативных решений содержит по крайней мере два решения, т. е. тогда, когда есть из чего выбирать. Предположим, что при рациональном выборе решения, а не при выборе его наугад, все решения можно сравнивать между собой. Говорят, что на множестве альтернативных решений X задано (полное) отношение предпочтения µ, если для любых двух решений x и y из этого множества утверждается, что или «решение x не хуже, чем решение y» (обо значают это так: x µ y), или «решение y не хуже, чем решение x» (y µ x). Если же эти оба утверждения являются правильными, то говорят, что решения x и y эквивалентны, и обозначают это или x ~ y, или y ~ x. Задание на множестве X (полного) отношения предпочтения означает, что вопервых, любые два решения (элемента) этого множества можно срав нивать между собой, а вовторых, результатом этого сравнения должно быть одно из указанных «не категоричных» утверждений об общей к а ч е с т в е н  н о й п р и в л е к а т е л ь н о с т и сравниваемых решений. Утверждение «решение x не хуже, чем решение y» (или аналогичное по сути утверждение «решение y не лучше, чем решение x») следует понимать так: или решение x лучше, чем решение y (не важно насколько лучше, глав ное, что лучше), или эти решения эквивалентны (приводят к одинаковым результатам операции). Если решение x лучше, чем решение y (решение y хуже, чем решение x), то обозначают это так: x f y. Итак, при заданном на множестве альтернативных решений X (полном) отношении предпочтения µ относительно любых двух решений x и y этого множества можно лишь утверждать, что: · или x f y (решение x лучше, чем решение y; решение y хуже, чем реше ние x); · или y f x (решение y лучше, чем решение x; решение x хуже, чем реше ние y); · или x µ y (решение x не хуже, чем решение y; решение y не лучше, чем решение x); · или y µ x (решение y не хуже, чем решение x; решение x не лучше, чем решение y), · или x ~ y (решение x эквивалентно решению y; решения x и y эквива лентны), · или y ~ x (решение y эквивалентно решению x; решения x и y эквива лентны). 42

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Все другие утверждения, касающиеся сравнения альтернативных реше ний x и y, считаются недопустимыми. Следует отметить, что собственно сам способ установления отношения предпочтения между альтернативными решениями сейчас не исследуется, а только к о н с т а т и р у е т с я его наличие. Предполагается, что при сравне нии между собой любых двух альтернативных решений о б я з а т е л ь н о должно быть либо выявлено лучшее из них, либо должна быть установлена эквивалентность этих решений. Невозможность сделать это равносильно от казу от принятия решения. Единственное требование «разумности» принятого способа сравнения между собой альтернативных решений («непротиворечивости» отношения предпочтения µ) имеет смысл только в случаях, когда множество альтерна тивных решений X содержит 3 и более элементов. Это требование называют транзитивностью отношения предпочтения, и оно состоит в следующем: для любых решений x, y и z из множества решений X из условий xµy и yµz следует, что x µ z. Свойство транзитивности полного отношения предпочтения на множест ве X принято записывать так: x µ y, y µ z Þ x µ z " x, y, z Î X. Отсутствие транзитивности отношения предпочтения может привести к парадоксальному случаю, когда для некоторых альтернативных решений A, B и C решение A лучше, чем решение B, решение B лучше, чем решение C, однако решение C лучше, чем решение A! Тогда не понятно, какое именно решение из трех указанных решений A, B и C выбирать как наилучшее. Ведь предполагается, что решения можно сравнивать между собой только с при менением данного отношения предпочтения. Только тогда, когда на множестве альтернативных решений X определе но некоторое полное и транзитивное отношение предпочтения µ, в терминах этого отношения и можно определить наилучшее (оптимальное) решение xopt этого множества: xopt Î X: xopt µ x " x Î X,

(1.67)

т. е. оптимальным называют такое решение xopt из имеющегося множества альтернативных решений X, которое для данного п о л н о г о и т р а н з и  т и в н о г о отношения предпочтения µ не хуже (лучше или эквивалентно), чем любое альтернативное решение x из этого множества. Для конкретной пары (X, µ) множество Xopt оптимальных решений мо жет оказаться пустым. В любом случае это множество является подмножест вом альтернативных решений X, Xopt Í X, а все его элементы, если их боль ше одного, согласно отношению предпочтения µ эквивалентны между собой. Разумеется, если изменить множество альтернативных решений X или за данное на этом множестве полное и транзитивное отношение предпочтения µ, ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

43

то также может измениться и соответствующее множество оптимальных ре шений. В завершение этого раздела приведем два примера отношения предпоч тения. Рассмотрим сначала задачу математического программирования (1.48). В этой задаче множество допустимых точек X является множеством аль тернативных решений некоторой операции (какой именно операции — за висит от природы или интерпретации задачи (1.48)). На множестве X определим отношение предпочтения µ таким образом: решение x Î X будем считать лучшим, чем решение y Î X, если f0(x) < f0(y), а если f0(x) = f0(y), то решения x и y будем считать эквивалентными. Очевидно, что таким образом определенное отношение предпочтения яв ляется полным (целевая функция f0 задачи (1.48) определена на всех точках допустимого множества X) и транзитивным. В терминах этого отношения предпочтения множество оптимальных решений Xopt является множеством X* решений задачи (1.48). Рассмотрим теперь задачу МП (1.53). В этом случае определим отношение предпочтения µ на множестве X подругому: решение x Î X будем считать лучшим, чем решение y Î X, если y(x) > y(x), а если y(x) = y(x), то решения x и y будем считать эквивалент ными. И таким образом определенное (заданное) отношение предпочтения яв ляется полным и транзитивным на множестве X, а множество оптимальных решений Xopt, определяемое согласно (1.67), является множеством решений X* задачи (1.53). Итак, целевая (критериальная) функция любой задачи математическо* го программирования определяет некоторое полное и транзитивное отно* шение предпочтения на множестве допустимых точек этой задачи. 1.3.2. УНИВЕРСАЛЬНЫЙ МЕТОД ПЕРЕБОРА

Пусть на множестве альтернативных решений X определено некоторое полное и транзитивное отношение предпочтения µ. В терминах этого отно шения предпочтения можно дать определение (но не конкретизировать!) — оптимальное (наилучшее) решение xopt среди решений множества X. При указанных самых общих условиях можно организовать простейший по структуре метод отыскания xopt. Этот метод состоит в последовательном сравнении между собой в с е х альтернативных решений из множества X и выявлении среди них наилучшего. Представим этот метод в виде, принятом в математическом программировании при описании вычислительных про цедур. Алгоритм 1.1 (универсальный метод перебора). Шаг 0. Выбрать x Î X, положить xr = x, k = 0, X0 = X\{x}. (Подготовительные операции для работы алгоритма: k — счетчик итера* ций — некоторой совокупности вычислительных действий, xr — наилучшее среди рассмотренных решений из X.) 44

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Шаг 1. Если Xk = Æ (не осталось не просмотренных альтернативных ре шений до kй итерации), то S t o p — прекратить вычисления: · xr — наилучшее среди всех решений из X (xopt = xr); · Xk — подмножество X, содержащее решения, еще не просмотренные до kй итерации. Шаг 2. Выбрать y Î Xk и положить Xk+1 = Xk\{y} (из множества Xk исклю чить решение y). Шаг 3. Если y µ xr, то положить xr = y (обновить текущее наилучшее ре шение xr; полнота отношения предпочтения µ позволяет сравнивать между собой решения y и xr). Шаг 4. Положить k = k + 1 и перейти к выполнению шага 1. Только в случае, когда множество альтернативных решений X содержит конечное число K элементов, именно на (K – 1)й итерации алгоритма 1.1 на его шаге 1 будет выполнено условие прекращения вычислений. При этом, в силу транзитивности отношения предпочтения µ, найденное решение xr и будет искомым оптимальным решением xopt. 1.3.3. ОСНОВНЫЕ ПРОБЛЕМЫ РЕШЕНИЯ ЗАДАЧ МП

На выполнение любого действия требуется время. В частности, время не обходимо для выбора решения y из множества альтернативных решений Xk на kй итерации алгоритма 1.1 и для сравнения этого решения с текущим наилучшим решением xr. Поэтому какой бы незначительной ни была про должительность t выполнения одной итерации алгоритма 1.1, прекращение его работы последует после t (K – 1) единиц времени, что при большом числе K альтернативных решений может существенно превысить приемлемое вре мя, выделенное для отыскания решения задачи. Итак, алгоритм 1.1 — единственно возможный метод отыскания опти мального решения xopt при указанных самых общих характеристиках отно шения предпочтения µ, заданного на множестве альтернативных решений X, — можно применять только в случаях, когда множество X содержит срав нительно небольшое (значит, конечное) число элементов. В других вычислительных методах поиска оптимального решения xopt или некоторого приемлемого к нему приближения с у щ е с т в е н н о у ч и  т ы в а ю т с я способы задания и свойства как множества X, так и отноше ния предпочтения µ. Поскольку при этом не исключаются случаи огромно го или даже бесконечного числа элементов множества X, несколько другой смысл принимают вычислительные действия на каждой итерации этих ме тодов. Сначала для имеющейся задачи МП разрабатываются или конкретизи руются ранее разработанные условия оптимальности — совокупность про веряемых свойств, присущих решению задачи. Если эти свойства могут иметь не только решения задачи, то условия оптимальности называют необходи* мыми условиями оптимальности. Проверку выполнения условий оптималь ности для точки — п р е д п о л а г а е м о м решении задачи — называют п р о  ц е д у р о й р а с п о з н а в а н и я решения задачи. ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

45

Если условия оптимальности являются достаточными, т. е. этим усло виям удовлетворяет т о л ь к о решение задачи, то при их выполнении для проверяемой точки вычисления прекращают — именно эта точка и является искомым (оптимальным) решением задачи. Если же проверяемая точка удовлетворяет лишь необходимым условиям оптимальности, то переходят к дальнейшему исследованию этой точки на оптимальность. Если проверяемая точка н е я в л я е т с я решением задачи, то в соответ ствии с некоторой вычислительной процедурой, характеризующей данный вычислительный метод, определяется (строится) для проверки на оптималь ность следующая точка — п р е д п о л а г а е м о е решение задачи. Итак, для данной задачи МП и некоторым образом выбранного начально го приближения — первой предлагаемой для проверки на оптимальность точ ки x0 — строится конечная или бесконечная совокупность проверяемых на оптимальность точек {xk}. Если число этих точек {xk} конечно, то или среди них имеется решение задачи, или утверждается, что у задачи решений нет. Однако даже если у задачи и есть решения, то по причине неизбежных при вычислениях ошибок округления число построенных точек {xk} может оказаться бесконечным. В связи с этим возникают вопросы об условиях, при выполнении кото рых точки последовательности {xk} в некотором смысле приближаются к ка комулибо оптимальному решению xopt — решению задачи МП. При этом помимо вопросов о трудоемкости построения текущего приближения xk на kй итерации метода и о необходимом для этого времени одним из основных является вопрос о с к о р о с т и приближения точек {xk} к xopt. Именно толь ко после получения ответов на эти вопросы и можно оценить общее время отыскания с приемлемой точностью приблизительного решения задачи. Вопросы и задания 1. Опишите сущность проблемы составления рациона. Почему мероприятия, свя занные с составлением рациона, можно рассматривать как некоторую опера цию? Что следует понимать под решением для этой операции? Кто несет ответ ственность за окончательно принятое решение? Чем может быть обусловлено отсутствие какихлибо решений при составлении рациона? Какие специалисты принимают участие в исследовании и решении проблемы составления рациона? В чем именно состоит их участие? 2. Почему при разработке минимального потребительского бюджета необходимо исследовать проблему составления рациона? По вашему мнению, в чем именно состоят особенности проблемы составления рациона при разработке минималь ного потребительского бюджета (рациона ребенка, спортсмена, пожилого чело века)? Какие основные отличия между проблемами составления питательных смесей для животных и составления рационов для людей? 3. Опишите формализованную постановку задачи о составлении диеты. 4. В обозначениях, принятых при постановке задачи 1.5 (о выборе производствен ной программы), дайте экономическую интерпретацию положительных пара метров {pi} функции m n m n 42 43 G (x) 5 ci aij xij 6 pi max 70, bi 6 aij xij 8, i 11 j 11 i 11 j 11 94

4

46

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

значение которой руководитель предприятия хотел бы иметь как можно боль шим, выбирая неотрицательные значения {xij}, удовлетворяющие равенст ву (1.18), где по определению

max1a , b2 4

1

a, b,

a 3 b, b 3 a,

— наибольшее из чисел a и b. 5. В обозначениях, принятых при постановке задачи 1.6 (о размещении производ ства), дайте экономическую интерпретацию таких дополнительных требований о возможных значениях {xij}: среди неотрицательных решений {xij} системы ли нейных алгебраических уравнений m

2 xij 1 bj ,

j 1 1, ..., n

i 11

(1.68)

и также удовлетворяющих системе неравенств n

3 xij 2 ai ,

i 1 1, ..., m

(1.69)

j 11

выбрать такое решение, при котором функция m 2 3 2 n 3 n H(x) 1 6 4i 6 xij 7 5 cij xij 7 6 7 6 7 i 11 8 8 j 11 9 j 11 9

принимает наименьшее значение. Какой экономический смысл имеют положительные параметры {ai} в неравен ствах (1.69)? Докажите, что при выполнении условия n

m

j 11

i 11

3 bj 2 3 ai

6. 7. 8. 9.

10.

значения {x1 ij }, вычисленные по формуле m 3 4 51 12 1 1 2 1 1 1 21 3331 61 2 1 21 3331 71 где A 2 3 ai , 8 i 11 удовлетворяют и системе равенств (1.68), и системе неравенств (1.69). Запишите множество допустимых точек задачи 1.3 (о диете) в стандартной фор ме (1.40). Запишите целевую функцию метода наименьших квадратов для отыскания ре шения системы линейных алгебраических уравнений. Каковы последствия отсутствия свойства полноты или транзитивности отноше ния предпочтения, применяемого для сравнения между собой альтернативных решений? Докажите, что для любого п о л н о г о и т р а н з и т и в н о г о отношения пред почтения, заданного на множестве, содержащем конечное число элементов, все гда существует по крайней мере одно оптимальное на этом множестве решение. Почему после завершения работы алгоритма 1.1 будет найдено одно из опти мальных решений? Приведите примеры множеств и заданных на этих множествах отношений пред почтения, не являющихся полными (транзитивными).

ГЛАВА 1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

47

ГЛАВА

ГЛАВА 2. ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА

К

ак уже отмечалось, универсальный метод перебора можно применять для отыскания решения задачи математического программиро вания только тогда, когда допустимое множество этой задачи содержит срав нительно небольшое число элементов (допустимых решений). В других же случаях для успешного отыскания точного или приближенного решения за дачи надо научиться выбирать из множества ее допустимых решений не про извольные решения, как это делается в алгоритме 1.1 (см. разд. 1.3.2), а ре шения, в какомто смысле лучшие решений, ранее уже выбранных и иссле дованных на оптимальность. Методы выбора таких решений существенно зависят от способов задания и от свойств как целевой функции, так и допус тимого множества задачи. В настоящее время наиболее полно исследованы задачи выпуклого про* граммирования. К таким задачам относят задачи математического програм мирования, в которых целевые функции, если их требуется минимизировать, выпуклы, а если максимизировать — вогнуты, а множества допустимых ре шений являются некоторым образом заданными выпуклыми множествами. Для отыскания решений задач выпуклого программирования разработаны и хорошо зарекомендовали себя на практике соответствующие вычислитель ные методы. В этом разделе книги рассматриваются определения и основные свойства выпуклых множеств и функций, необходимые для описания специальных классов задач математического программирования и некоторых ключевых вычислительных методов оптимизации — методов решения оптимизаци онных задач.

2.1. ВЫПУКЛЫЕ МНОЖЕСТВА Определим несколько типов множеств n*мерного евклидова пространст* ва Rn и введем вспомогательные понятия, применяемые в дальнейшем. Как известно, пространство Rn — это множество, элементами которого являются столбцы 48

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1 x1 2 x 5 3 1 4, 3 4 6 xn 7

(2.1)

составленные из произвольных действительных чисел x1, ..., xn. Число xi, находящееся на iм месте в записи столбца (2.1), называют iй компонен* той (иногда — координатой) элемента x, i = 1, ..., n. Элементы пространства Rn, которые также называют точками или век* торами, можно умножать на действительные числа и складывать. В резуль тате этого также будут получены элементы пространства Rn. По определе нию для произвольных действительных чисел a, b Î R и векторов x, y Î Rn 4 x1 5 4 y1 5 4 1 x1 5 4 2 y1 5 4 1 x1 3 2 y1 5 7. 1 x 3 2y 8 1 6 1 7 3 26 1 7 8 6 1 7 3 6 1 7 8 6 1 6 x 7 6 y 7 6 1 x 7 62 y 7 6 1 x 3 2 y 7 n

9 n 9 n 9 n 9 n 9 n

Прямой, проходящей через две фиксированные точки x и y пространства Rn, называют множество {zl = lx + (1 – l)y: l Î R}.

(2.2)

zl

прямой (2.2) можно записать в виде Очевидно, что каждую точку zl = y + l(x – y). Поэтому данное определение прямой в Rn является распро странением соответствующих определений прямой на плоскости и в трех мерном пространстве, заданных векторным способом с известными направ* ляющим вектором x – y и точкой y, принадлежащей прямой. Лучом, проходящим через две фиксированные точки x и y пространства Rn и начинающимся в точке y, называют множество {zl = lx + (1 – l)y: l ³ 0}.

(2.3)

Отрезком, соединяющим две фиксированные точки x и y пространства Rn, называют множество {zl = lx + (1 – l)y: 0 £ l £ 1}. (2.4) Геометрическая иллюстрация введенных понятий прямой, луча и отрез ка в R2 дана соответственно на рисунках 2.1–2.3.

Рис. 2.1

ГЛАВА 2. ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА

Рис. 2.2

49

Евклидовым скалярным произведением векто ров x и y из Rn называют число, обозначаемое и вычисляемое по формуле º x1y1 + ... + xnyn. Правило вычисления (евклидова) скалярного произведения имеет такие свойства: а) = " x, y Î Rn Рис. 2.3 (скалярное произведение является симметри ческой операцией); б) = l " x, y Î Rn, l Î R (постоянный множитель можно выносить за скобки в обозначении опе рации скалярного произведения); в) = + (дистрибутивность скалярного произведения); г) ³ 0 " x Î Rn, причем = 0 Û x = 0 (скалярное произведение произвольного вектора с самим собой является неотрицательным числом, равным нулю тогда и только тогда, когда этот вектор нулевой, т. е. содержит только нулевые компоненты). Длиной вектора x Î Rn называют неотрицательное число |x| | x | 1 2 x , x 3 4 x12 5 ... 5 xn2 .

Введенное понятие длины вектора является некоторым обобщением по нятия абсолютной величины (модуля) действительного числа (случая, когда n = 1). Множество X пространства Rn называют ограниченным, если длины всех элементов этого множества не превосходят некоторое положительное число C: $ C > 0: |x| £ C

" x Î X.

Легко доказать, что ни прямая (2.2), ни луч (2.3) не являются ограничен ными множествами, а отрезок (2.4) — ограниченное множество. Расстоянием между векторами x и y из Rn называют число | x 1 y | 2 3 x 1 y, x 1 y 4 5 (x1 1 y1 )2 6 ... 6 (xn 1 yn )2

Последовательностью в Rn называют упорядоченную совокупность то чек из Rn, сопоставленных со всеми натуральными числами k = 1, 2, ..., x1, x2, ..., xk, ... (точку xk называют kм элементом последовательности). Последовательность x1, x2, ..., xk, ... обычно записывают в сокращенном виде так: {xk}. Говорят, что последовательность {xk} сходится к некоторой точке a Î Rn, если последовательность действительных чисел {| xk – a |} сходится к нулю (расстояние от точек последовательности {xk} до точки a стремится к нулю при неограниченном возрастании номеров {k} этих точек). Последовательность {xk} сходится к точке a тогда и только тогда, когда все последовательности чисел {xik }, образованные из iх компонент векторов {xk}, сходятся к соответствующим iм компонентам вектора a, i = 1, ..., n. 50

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Если lim xk 3 a 4 0, то точку a называют пределом или предельной точ* k12 кой последовательности {xk} и обозначают либо a 3 lim xk , либо xk ® a, k ® ¥. k12

У любой последовательности может быть только один предел. Сходящейся называют последовательность, у которой есть предел. Точки сходящейся последовательности являются ограниченным множе ством. Из ограниченности последовательности не следует ее сходимость. Из каждой ограниченной последовательности {xk} можно выделить схо дящуюся подпоследовательность {xkj } — последовательность, элементами которой являются некоторые элементы последовательности {xk}, записан ные в том же порядке, что и в последовательности {xk}.1 Множество X пространства Rn называют замкнутым, если предельные точки всех сходящихся последовательностей, образованных из точек мно жества X, принадлежат этому множеству. Замкнутыми множествами являются прямая (2.2), луч (2.3) и отрезок (2.4). Незамкнутым является множество {zl = lx + (1 – l)y: 0 < l < 1} (например, все точки сходящейся последовательности {zk}, zk 3 y 4 1 1 x 5 y 2, k = 1, 2, ..., при k надлежат этому множеству, однако ее предел — точка y — не принадлежит). Для положительного числа e eокрестностью точки x0 Î Rn называют множество Oe(x0) всех точек пространства Rn, расстояние от каждой из кото рых до точки x0 меньше e: Oe(x0) º {x Î Rn: |x – x0| < e}. Множество X пространства Rn называют открытым, если для каждой точки y этого множества найдется ее некоторая eyокрестность (значение ey зависит от точки y), целиком содержащаяся в множестве X. Примером открытого множества является любая eокрестность произ вольной точки x0. Множество {zl = lx + (1 – l)y: 0 < l £ 1} не является ни замкнутым, ни открытым (ни одна eокрестность точки x не является подмножеством этого множества). Замкнутое ограниченное множество в Rn называют компактным. Множество W nмерного евклидова пространства Rn называют выпуклым, если отрезок, соединяющий две произвольные точки этого множества, цели ком ему принадлежит: {zl = lx + (1 – l)y: 0 < l £ 1} Í W

" x, y Î W.

Гиперплоскость — множество решений уравнения = b,

(2.5)

1 Формально последовательность {yj} называют подпоследовательностью последователь ности {xk}, если для любого натурального числа j = 1, 2, ... найдется такое натуральное число kj, что y j 1 xkj , причем kj1 1 kj2 тогда и только тогда, когда j1 < j2. В таком случае последова тельность {yj} принято обозначать {xkj } .

ГЛАВА 2. ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА

51

Рис. 2.5 Рис. 2.4

52

Рис. 2.6

Рис. 2.7

Рис. 2.8

Рис. 2.9

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

определяемого фиксированными вектором a Î Rn и действительным числом b Î R, и открытый шар радиуса r с центром в точке x0 Î Rn — {x Î Rn: |x – x0| < r}

(2.6)

x0 )

являются выпуклыми множествами. (rокрестность точки Докажем, например, выпуклость гиперплоскости (2.5). Пусть точки x и y принадлежат этой гиперплоскости, т. е. пусть = b и = b.

(2.7)

Тогда, приняв во внимание свойства а–в евклидова скалярного произве дения и равенства (2.7), для произвольного l Î [0; 1] и точки zl = lx + (1 – l) = = + = = l + (1 – l) = lb + (1 – l)b = b, т. е. zl — произвольная точка отрезка (2.4), соединяющего произвольные точ ки x и y гиперплоскости (2.5) — принадлежит этой гиперплоскости. Пересечение любого числа выпуклых множеств является выпуклым мно жеством. На рисунках 2.4–2.6 даны графические изображения выпуклых мно жеств A, а на рисунках 2.7–2.9 — не выпуклых множеств B, расположенных на плоскости.

2.2. ВЫПУКЛЫЕ ФУНКЦИИ 2.2.1. ОПРЕДЕЛЕНИЕ И СПОСОБЫ РАСПОЗНАВАНИЯ ВЫПУКЛЫХ ФУНКЦИЙ

Пусть X — выпуклое множество в Rn. Заданную на этом множестве функ цию f: X ® R называют выпуклой, если для произвольных точек x¢, x² Î X и действительного числа l Î [0; 1] (0 £ l £ 1) выполняется неравенство f (zl) £ lf (x¢) + (1 – l)f (x²), где zl

(2.8)

º lx¢ + (1 – l)x².

Рис. 2.10

ГЛАВА 2. ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА

53

Для функции одной переменной (если n = 1) геометрическая интерпре тация требования (2.8) дана на рисунке 2.10: для любых фиксированных x¢, x² Î X при произвольном l Î [0; 1] значение функции j(l) º f (zl) = f (lx¢ + (1 – l)x²) переменной l не превосходит соответствующее значение линейной функции l(l) º lf (x¢) + (1 – l)f (x²), графиком которой является прямая линия, прохо дящая через точки (x¢, f (x¢)) и (x², f (x²)). Заданная на выпуклом множестве X Í Rn функция f выпукла тогда и толь ко тогда, когда ее надграфик

2 x 3 epi f 6 4 5 7 R n 11 : x 7 X, 8 9 f (x)  8   n+1 является выпуклым множеством в R . В частности, из этого утверждения следует, что на рисунках 2.11–2.13 изображены фрагменты графиков (над графиков) выпуклых функций, а на рисунках 2.14–2.16 — не выпуклых. Примером выпуклой на Rn функции является линейная функция f (x) = + b,

(2.9)

определяемая фиксированными вектором a Î Rn и действительным числом b Î R. Квадратичная функция 1 2 x, H x 3 4 2 h , x 3 45, (2.10) 2 определяемая произвольными фиксированными симметричной n´nматри цей H, вектором h Î Rn и действительным числом g, выпукла тогда и только тогда, когда матрица H неотрицательно определена: f (x ) 1

³ 0 " z Î Rn. Действительно, для произвольных x¢, x² Î во (2.11) принимает вид

Rn

(2.11) и при z = x¢ – x² неравенст

0 £ .

(2.11¢)

Учитывая свойства а–в евклидова скалярного произведения, имеем = – = = – – + , и, значит, ввиду симметричности матрицы H, неравенство (2.11¢) эквива лентно неравенству 2 £ + . (2.11²) Очевидно, что неравенство (2.11²) выполняется тогда и только тогда, ко гда для произвольного l Î (0; 1) выполняется неравенство 2l(1 – l) £ l(1 – l) + l(1 – l), которое можно переписать в виде l2 + 2l(1 – l) + (1 – l)2 £ £ l + (1 – l). 54

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Рис. 2.12

Рис. 2.11

Рис. 2.13

Рис. 2.14

Рис. 2.15

Рис. 2.16

ГЛАВА 2. ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА

55

Обозначим zl = lx¢ + (1 – l)x². Тогда из последнего неравенства и опреде ления (2.10) функции f следует выполнение соотношений 1 2 1 3 6 x4, Hx4 7 823(1 9 3) 6 x4, H x44 7 8(1 9 3)2 6 x44, Hx44 7 2 8 2 1 83 6 h , x4 7 8(1 9 3) 6 h , x44 7 8 3 6 x4, Hx4 7 8 6 h, x4 7 8 8 2 1 8(1 9 3) 6 x44, Hx44 7 8 6 h, x44 7 8 5 3 f (x4) 8 (1 9 3) f (x44), 2

f 1 z3 2 5

1

1

2

2

из которых следует эквивалентность утверждения (2.11) выпуклости квад ратичной функции (2.10). Напомним, n´nматрицу H называют положительно определенной, если знак равенства в условии (2.11) возможен только для нулевого вектора z (см. в курсе линейной алгебры условия положительной определенности мат риц и, в частности, необходимое и достаточное условие Сильвестра1). Итак, если матрица положительно определена, то она также и неотрица тельно определена. Так как единичная n´nматрица 11 0 0 1 30 1 0 1 E53 33 . . . . 60 0 0 1

02 04 . 44 1 47

симметрична и положительно определена, а при произвольном фиксирован ном векторе a Î Rn функцию r2(x) º (x1 – a1)2 + ... + (xn – an)2

(2.12)

очевидно можно записать в виде (2.10) 12 (x) 2

1 3 x ,2E x 4 5 3 62a , x 4 5 | a |2 , 2

(2.12¢)

то эта функция является квадратичной и выпуклой на Rn (значение этой функции в точке x равно |x – a|2 — квадрату евклидова расстояния между точками x и a). Заданную на выпуклом множестве X функцию y: X ® R называют вогну* той, если противоположная этой функции функция –y(x) выпукла. Только линейная функция (2.9) одновременно и выпукла, и вогнута. Наиболее часто применяемые способы распознавания выпуклых функ ций основаны на следующем утверждении. Теорема 2.1. Пусть f1, ..., fm — выпуклые функции, заданные на выпук* лом множестве X. Тогда и функция f (x) = c1f1(x) + ... + cmfm(x),

1

56

Джемс Сильвестр (James Sylvester, 1814–1897) — английский математик и поэт.

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

где c1, ..., cm — произвольные фиксированные неотрицательные числа, и функция максимума 2(x) 3 max fi (x) 11 i 1 m

являются выпуклыми на X функциями. По определению абсолютная величина |a| любого действительного числа a равна наибольшему из чисел a и –a, т. е. |a| º max{a, –a}. Поскольку при любом действительном числе b Î R и натуральном числе j Î {1, ..., n} функции xj – b и b – xj выпуклы на Rn, в силу теоремы 2.1 при любом фиксированном векторе a Î Rn и функция r1(x) º |x1 – a1| + ... + |xn – an|,

(2.13)

которую можно записать в виде n

41 (x) 3 6 max1xj 5 aj , aj 5 xj 2,

(2.13¢)

j 31

и функция 31 (x) 4 max xj 5 aj 12 j 2n

являются выпуклыми на функциями (значения r1(x) и r¥(x) называют расстоянием между точками x и a соответственно в манхэттенской метри ке — метрике городских кварталов — и в метрике Чебышева1). Сформулируем признаки выпуклости функции в терминах свойств ее ча9 стных производных. Далее в этом разделе предполагается открытой область определения X функции f. Напомним, частной производной относительно переменной xj функции f: X ® R в точке x называют предел Rn

2 f (x) f ( x 3 t e j ) 4 f (x ) 5 lim , 2 xj t t10 где ej — вектор Rn, в котором j9я компонента равна 1, а все другие компонен9 ты равны нулю, j = 1, ..., n. 1f (x) Значит, вычисление частной производной выполняется по извест9 1xj ным из курса высшей математики правилам вычисления обычной произ9 водной функции f как функции переменной xj, предполагая при этом по9 стоянными все остальные переменные. В частности, отсюда следует, что j9я частная производная л и н е й н о й функции (2.9) равна aj, а к в а д р а 9 т и ч н о й функции (2.10) — сумме hj и j9й компоненты вектора Hx. Вектор из Rn, каждой j9й компонентой которого является частная про9 изводная функции f: X ® R относительно компоненты xj вектора x Î X,

1

Пафнутий Львович Чебышев (1821–1894) — российский математик.

ГЛАВА 2. ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА

57

j = 1, ..., n, называют градиентом функции f в точке x и обозначают Ñf (x).1 Итак, по определению 2 1f (x) 3 4 1x1 5 6f (x) 7 44 1 55. 4 1f (x) 5 4 1x 5 8 n 9

(2.14)

Значит, в каждой точке x Î Rn градиент линейной функции (2.9) совпа дает с вектором a Ñf (x) = a, а градиент квадратичной функции (2.10), определяемой симметричной мат рицей H, равен Ñf (x) = Hx + h. Функция f: X ® R может быть дважды непрерывно дифференцируемой в точке x Î X, т. е. в этой точке n´nматрица вторых смешанных производных

2 1 2 f (x) 4 1x2 1 4 4 1 2 f (x) 2 2 1 f ( x) 3 4 6 2 f ( x) 7 4 5 7 1x21x1 8 1xi 1xj 9 4 . 4 2 f (x) 1 4 4 1xn 1x1 8

1 2 f (x) 1x11x2 1 2 f (x) 1x22 . 1 2 f (x) 1xn 1x2

1 2 f (x ) 3 1x11xn 5 5 1 2 f (x ) 5 1 1x21 xn 5 5 1 . 5 1 2 f (x ) 5 1 1xn2 59 1

состоит из элементов, являющихся непрерывными в точке x функциями. В таком случае матрица Ñ2f (x), на пересечении iй строки и jго столбца ко 1 f (x ) торой находится частная производная функции относительно компо 1 xi ненты xj в точке x, является симметричной матрицей. Матрицу Ñ2f (x) также называют гессианом2 функции f в точке x. Гессиан линейной функции (2.9) является нулевой матрицей, а гессиан квадратичной функции (2.10) совпадает с симметричной матрицей H. Теорема 2.2. Дифференцируемая на открытом выпуклом множестве X функция f: X ® R выпукла тогда и только тогда, когда для произвольных точек x и y из X выполняется неравенство f (y) ³ f (x) + , 1 Символ Ñ называют наблой. Этот символ предложил применять для обозначения некото рого действия над математическим объектом английский математик Уильям Гамильтон (Willi am Hamilton, 1805–1865). В данном случае это действие состоит в вычислении градиента функ ции, и запись Ñf (x) читают: «Набла эф от икс». 2 Этот термин ввел Дж. Сильвестр, своеобразно отметив вклад в науку своего коллеги — немецкого математика Людвига Гессе (Ludwig Hesse, 1811–1874).

58

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

эквивалентное неравенству ³ 0. Если функция f дважды непрерывно дифференцируема на X, то ее выпук лость на X эквивалентна неотрицательной определенности гессиана Ñ2f (x). ³ 0

" x Î X, z Î Rn.

2.2.2. ОСНОВНЫЕ СВОЙСТВА ВЫПУКЛЫХ ФУНКЦИЙ

Выпуклая или вогнутая на выпуклом множестве X Í Rn функция f: X ® R непрерывна в каждой внутренней точке x0 множества X: т. е. если для некоторого положительного e e-окрестность Oe(x0) º {x Î Rn: |x – x0| < e} точки x0 Î X принадлежит множеству X, то для произвольной последовательности точек {xk}, сходящейся к x0, последовательность действительных чисел {f (xk)} сходится к f (x0). Более того, почти во всех внутренних точках множества X можно вычис2 1 f ( x) 3 лять частные производные 4 5 функции f. Значит, в этих точках опре6 1 xj 7 делен градиент Ñf (x). В частности, отсюда следует, что в бесконечном числе точек любой окрестности произвольной внутренней точки x0 выпуклого множества X определен градиент Ñf (x) выпуклой (вогнутой) функции f: X ® R. Производной по направлению s Î Rn функции f: X ® R, X Í Rn, в точке x Î X называют конечный или бесконечный предел f 4(x; s) 5 lim

t 120

f (x 2 t s) 3 f (x) , t

при вычислении которого предполагается, что при всех достаточно малых п о л о ж и т е л ь н ы х t точки {x + ts} принадлежат множеству X. Если в точке x функция f дифференцируема, то f ¢(x; s) = . Не в каждой точке области определения произвольной функции существует ее производная по направлению. Например, заданная на R н е п р е рывная функция 12x sin 1 , если x 3 0, f (x ) 4 5 x если x 4 0 260, в точке x = 0 не имеет производной ни по одному из двух возможных направлений: ни по направлению s = 1, ни по направлению s = –1 (ни один из пределов f 4(0;1) 5 lim

t 120

f (t) 3 f (0) 1 6 lim sin , t t t 120

ГЛАВА 2. ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА

59

f 6(0; 5 1) 7 lim

t 340

1 2

f (5t) 5 f (0) 1 8 lim sin 5 t t t 340

не существует). Теорема 2.3. Производная f ¢(x; s) по любому направлению s Î Rn, задан* ной на выпуклом множестве X Í Rn выпуклой (вогнутой) функции f: X ® R, существует в каждой точке x Î X, для которой при всех достаточно ма* лых положительных t точки {x + ts} принадлежат множеству X. При этом, если функция f выпукла, то f 4(x ; s) 5 inf t 10

f (x 2 t s) 3 f (x) t

11 2 1 3 42 2 1122 (значение f¢(x; s) равно точной нижней грани функции на 3 множестве положительных t), а если функция f вогнута, то

f 4(x ; s) 5 sup t 10

f (x 2 t s) 3 f (x) t

11 2 1 3 42 2 1122 (значение f¢(x; s) равно точной верхней грани функции на 3 множестве положительных t). В частности, из этой теоремы следует, что выпуклая (вогнутая) функция имеет производную по любому направлению в каждой внутренней точке вы пуклого множества X. Теорема 2.4. Для заданной на выпуклом множестве X выпуклой (вогну* той) функции f: X ® R, X Í Rn, при любом действительном значении a мно* жества уровней этой функции

{x Î X: f (x) < a} и {x Î X: f (x) £ a} ({x Î X: f (x) > a} и {x Î X: f (x) ³ a}) выпуклы. Если даже замкнуто выпуклое множество X Í Rn, на котором опреде лена выпуклая (вогнутая) функция f: X ® R, множество уровня {x Î X: f (x) £ a} ({x Î X: f (x) ³ a}) может не быть ни замкнутым, ни открытым. Например, для заданной на множестве неотрицательных чисел — выпук лом замкнутом множестве — выпук лой функции

2x2 , если x 1 0, f ( x) 3 4 если x 3 0, 51,

(2.15)

для произвольного a Î (0; 1) множество

1x 3 0 : f (x) 4 52 6 1x 7 R : 0 8 x 4

52

не является ни замкнутым, ни откры тым, а при a ³ 1 это множество

11 3 0 1 2 213 4 52 6 11 7 3 1 0 4 1 4 Рис. 2.17

60

52

замкнуто (рис. 2.17). ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Легко доказать, что при условии замкнутости множества X и непрерыв ности на этом множестве любой функции f: X ® R и множество {x Î X: f (x) £ a}, и множество {x Î X: f (x) ³ a} замкнуты (для обоснования правильности этого утверждения выпуклость множества X не требуется). 2.2.3. СУБДИФФЕРЕНЦИАЛ ВЫПУКЛОЙ ФУНКЦИИ

Заданную на выпуклом множестве X Í Rn выпуклую функцию f: X ® R называют субдифференцируемой в точке x Î X, если для некоторого вектора g Î Rn для каждого y Î X выполняется неравенство f (y) ³ f (x) + . Этот вектор g называют субградиентом функции f в точке x, а множество всех таких векторов — субдифференциалом и обозначают ¶f (x). Даже если выпуклая функция f недифференцируема в некоторой внут ренней точке x области определения X, ее субдифференциал ¶f (x) в этой точке является непустым множеством. Более того, выполняется следующее утверждение. Теорема 2.5. Субдифференциал ¶f (x) выпуклой функции f: X ® R, задан* ной на выпуклом множестве X Í Rn, является непустым выпуклым замк* нутым и ограниченным множеством в любой внутренней точке x множе* ства X. При этом ¶f (x) содержит единственный элемент g тогда и только тогда, когда функция f дифференцируема в точке x. Указанный элемент g является градиентом Ñf (x). При известном субдифференциале ¶f (x) выпуклой функции f: X ® R, вычисленном во внутренней точке x выпуклого множества X Í Rn, производ ная f¢(x; s) по направлению s Î Rn равна значению задачи максимизации ли нейной функции как функции g на множестве ¶f (x): 3 g, s 4 5 max , g12f ( x )

т. е. 2 3133 42 4 456 5 17 4 6 8 1122 1 3 2

Теорема 2.6. Пусть точка x является внутренней точкой выпуклого множества X Í Rn, на котором определена выпуклая функция f: X ® R. Тогда при сходимости последовательностей {xk} и {gk}, gk Î ¶f (xk), k = 1, 2, ..., со* ответственно к точкам x и g следует, что g Î ¶f (x). Указанное в этой теореме свойство субдифференциального отображения ¶f ( × ) — правила сопоставления внутренним точкам множества X соответст вующих субдифференциалов функции f — называют полунепрерывностью сверху этого отображения. Наличие полунепрерывности сверху субдифферен циального отображения ¶f ( × ) позволяет утверждать о наличии некоторых ГЛАВА 2. ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА

61

свойств у предельных точек последовательности субградиентов функции f, вычисленных в разных внутренних точках области ее определения. Приведем несколько правил вычисления субдифференциалов выпуклых функций. Если во внутренней точке x области определения X выпуклая функция f дифференцируема, то, согласно теореме 2.5, субдифференциал ¶f (x) содержит единственный элемент Ñf (x) (2.14), компоненты которого — частные произ 2 1f (x) 3 водные 4 1x 5 — вычисляются по правилам, известным из курса высшей j 7 6 математики. Теорема 2.7. Для заданной на Rm выпуклой функции f и произвольной m´n*матрицы A функция y(x) = f (Ax) (2.16) выпукла на Rm, а ее субдифференциал ¶y(x) вычисляется по формуле ¶y(x) = AT¶f (Ax), где AT — транспонированная матрица A, ¶f (Ax) — субдифференциал функ* ции f в точке y = Ax. Итак, при линейной замене y = Ax переменной y Î Rm выпуклой функ ции f: Rm ® R свойство выпуклости присуще также и функции y (2.16), для вычисления субдифференциала ¶y(x) которой в точке x Î Rn достаточно каж дый субградиент функции f, вычисленный в точке y = Ax, умножить на AT. Например, для выпуклой на множестве действительных чисел R функ ции f (y) = y4 при произвольном фиксированном a Î Rn функция y(x) º 4 выпукла на Rn и дифференцируема в произвольной точке x Î Rn, поскольку ее субдифференциал в этой точке содержит единственный элемент 4a3. Теорема 2.8. Пусть f1, ..., fm — заданные на выпуклом множестве X вы* пуклые функции. Тогда для произвольных внутренней точки x множества X и фиксированных неотрицательных чисел c1, ..., cm ¶f (x) = c1¶f1(x) + ... + cm¶fm(x) — субдифференциал выпуклой функции f (x) = c1f1(x) + ... + cmfm(x). Приведем правило вычисления субдифференциала функции максимума, определяемой дифференцируемыми выпуклыми функциями. Теорема 2.9. Пусть на открытом выпуклом множестве X Í Rn опреде* лены m выпуклых дифференцируемых функций f1, ..., fm. Тогда субдиффе* ренциал ¶f (x) выпуклой функции

f (x) 2 max fi (x)

(2.17)

11 i 1 m

в произвольной точке x Î X равен

1

4f (x) 5 g 5

62



i3I ( x )

6i 7fi (x) :



i3I ( x )

2

6i 5 1, 6i 8 0 9i 3 I (x) ,

(2.18)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

где

I(x) º {i Î {1, ..., m}: fi(x) = f (x)}.

(2.19) Итак, для вычисления субдифференциала в заданной точке x области определения функции максимума (2.17) следует: а) вычислить значения f1(x), ..., fm(x) (наибольшее из этих значений по определению равно f (x)); б) определить среди номеров функций f1, ..., fm все те номера, соответ ственно которым функции в точке x принимают наибольшее значение f (x) (конкретизировать множество индексов I(x) (2.19)); в) вычислить градиент Ñfi(x) в точке x каждой функции fi, номер i кото рой содержится в множестве индексов I(x); г) по формуле (2.18) вычислить субдифференциал ¶f (x). Если окажется, что множество I(x) содержит единственный элемент, для определенности l, то в точке x функция максимума f (2.17) дифференцируе ма и ее градиент Ñf (x) равен градиенту Ñfl(x). Рассмотрим два примера. Вычислим сначала субдифференциал ¶f (x) выпуклой функции f (x) = | x |, определяемой на множестве действительных чисел R. Поскольку для любого x выполняется равенство | x | = max{x, –x}, эта функ ция является функцией максимума двух выпуклых дифференцируемых функций f1(x) = x и f2(x) = –x: f (x) = max{f1(x), f2(x)}.

(2.20)

Для любого x Î R градиентами функций f1 и f2 являются их обычные производные: соответственно f11(x) 2 1 и f21 (x) 2 31. Если x > 0, то f1(x) = x > –x = f2(x) и поэтому I(x) = {1}. Значит, в этом случае субдифференциал ¶f (x) функции f (2.20) содержит единственный эле мент 1 — производную функции f1. Если x < 0, то f1(x) = x < –x = f2(x) и поэтому I(x) = {2}. В этом случае ¶f (x) = {–1}. Очевидно, что I(0) = {1, 2} (f1(0) = f2(0) = f (0) = 0). Поэтому, учитывая со отношение (2.18), ¶f (0) = {g = l1 – l2: l1 + l2 = 1, l1, l2 ³ 0} = = {l1 – (1 – l1): l1, l2 = 1 – l1 ³ 0} = = {g = 2l – 1: 0 £ l £ 1} = [–1; 1].

112 Вычислим теперь в точке x0 3 4 5 субдифференциал ¶f (x0) выпуклой на 617 R2 функции максимума f (x) = max{f1(x), f2(x), f3(x)}, где f1 (x) 1 x1 2 x2 , f2 (x) 1 x1 3 x2 2 2, f3 (x) 1 x12 2 x22 . Поскольку f1(x0) = f2(x0) = f3(x0) = 2, f (x0) = 2 и поэтому I(x0) = {1, 2, 3}. В точке x0 градиентами функций f1, f2 и f3 являются соответственно

11 2 112 122 3f1 (x0 ) 4 5 6, 3f2 (x0 ) 4 5 6 и 3f3 (x0 ) 4 5 6. 81 9 8 719 728 ГЛАВА 2. ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА

63

Значит, из теоремы 2.9 следует, что 1 314 314 324 2 8g 5 61 9 7 62 9 7 63 9 : 8 f ( x 0 ) 5 

1

1 

2  . 861 7 62 7 63 5 1, 61, 62 , 63  0 8

На рисунке 2.18 дана геометриче ская иллюстрация субдифференциала ¶f (x0). Для вычисления отдельного субгра диента g Î ¶f (x) функции максимума (2.17) достаточно вычислить множест во индексов I(x), выбрать соответствую щее количество неотрицательных чи сел {li}, сумма которых равна 1, и по ложить

Рис. 2.18

g2

5

3 i 4fi (x).

i1I ( x )

Вопросы и задания 1. Докажите свойства а–г евклидова скалярного произведения. 2. Докажите, что прямая (2.2) и луч (2.3) в пространстве Rn являются неограни ченными множествами, а отрезок (2.4) — ограниченным. 3. Докажите, что последовательность в Rn может иметь единственную предельную точку. 4. Докажите, что точки сходящейся последовательности в Rn образуют ограничен ное множество. 5. Приведите пример последовательности в Rn, ограниченной и не сходящейся. Укажите сходящуюся подпоследовательность этой последовательности. 6. Докажите, что пространство Rn является одновременно замкнутым и открытым множеством. 7. Докажите, что открытый шар в Rn (2.6) является открытым выпуклым множе ством. 8. Почему изображенные на рисунках 2.7–2.9 множества B не являются выпук лыми? 9. Докажите, что пересечение любого числа выпуклых множеств является выпук лым множеством. 10. Докажите выпуклость и вогнутость линейной функции (2.9). 11. Докажите теорему 2.1. 1 `12. Докажите, что градиент Ñf (x) функции 1 2 2 3 1 5 2 2 4 32 3 4 2 44 2 34 определяе мой фиксированными n´nматрицей H и вектором h Î Rn, вычисляется по фор муле 1 32 2 3 3 4 1 4 5 4 1 2 3 5 54 5 где HT — транспонированная матрица H. 13. Докажите, что для фиксированного a Î Rn функция f (x) = 2 выпукла, а ее градиент Ñf (x) вычисляется по формуле Ñf (x) = 2a,

64

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

а гессиан — 3 1 32 21 5 5 71 4 3 5 4 8 1332 8 1 5 3132 5 6 5 53 3 9 1 2

3231 4 6 6 1 3131 6 5 6 6 1 1 6 1 1 31 2 6

3231

1

1

1 31 2 6

31 31

где aT º (a1a2...an) — матрицастрока (транспонированная матрицыстолбца a). 14. Докажите, что система линейных алгебраических уравнений = bi, i = 1, ..., m, определяемая m векторами {ai} Ì Rn и действительными числами {bi}, совместна тогда и только тогда, когда задача минимизации на Rn функции 1

43 3 4 5 9 1 6 42 5 3 7 8 52 2

1

(2.21)

2 32

имеет решение и нулевое значение. Докажите, что функция (2.21) выпукла, а ее градиент Ñj(x) вычисляется по формуле 1

452 3 3 3 4 9 1 6 42 5 3 7 8 52 2 4 2 5 2 31

а гессиан — 3

8193 6 4 3 1 1 32

4 1 51 2 1 6 2 3 6 1 1 1 1 1 24 5 5 3 1 6 5152 5 1 32 6 66 521 5 12

5 12511

1 511 2

1

5

511 511

512521 5 7 1 511 521 75 7 5 7 1 1 1 1 521 2 77 1

15. Докажите выпуклость функции (2.15). 16. Докажите вогнутость заданной на отрезке [–1; 1] — выпуклом замкнутом мно жестве — функции 1 4121 2 28 19 5 6 47212

3456 1 3 72 3456 1 5 7

Исследуйте свойства замкнутости множеств уровня {x: f (x) ³ a} в зависимости от значения a. 17. Докажите, что в точке x = 0 функция (2.15) не субдифференцируема. 18. Вычислите градиент функции f (x) = + 2 11 3 21 2 3 3 2 14 3 в точке 1 6 4 2 5 3 если 1 6 4 5 4 6 5 7 2 6 4 8 5 9 4 14 5 4 85 4 25 7 8 7 8 7 8 19. Вычислите субдифференциал функции

1 в точке 1 3 14 252 6 7 18

1 3 2 4 1 5678 22 2 21 9 22 3 21 9 221 2 211

ГЛАВА 2. ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА

65

20. Пусть f: X ® R — выпуклая функция, определенная на выпуклом множестве X Í Rn. Докажите, что для произвольных натурального m ³ 1, точек x1, ..., xm множества X и действительных чисел l1, ..., lm таких, что li ³ 0, i = 1, ..., m, 1

3 22 1 12

выполняется неравенство Йенсена1

211

21 3 1 3 6 42 4 2 7 5 42 3 2 4 2 34 8 2 11 9 2 11 21. Докажите выпуклость функции f (x) = –lnx, определяемой на множестве поло жительных действительных чисел. Применяя неравенство Йенсена, докажите выполнение неравенства 1

1

5 321 3 4 12 32 2 1

2 21

2 21

выполняющегося для произвольных натурального m ³ 1, положительных чисел x1, ..., xm и таких неотрицательных чисел l1, ..., lm, что

1

3 22 1 12 Применяя это 211

же неравенство, докажите известное соотношение между средним геометри* ческим и средним арифметическим положительных действительных чисел x1, ..., xm: 1

1

2 11

9

66

1

1

4 32 2 1 3 32 2 2 11

Иоган Йенсен (Johan Jensen, 1859–1925) — датский математик и инженер.

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ГЛАВА

ГЛАВА 3. ЗАДАЧИ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ

С

реди разнообразия задач математического программиро' вания оптимизационные задачи без ограничений на переменные внешне пред' ставляются самыми простыми. Однако из этого совсем не следует, что легче всего решать именно такие задачи. Действительно, любую оптимизационную задачу с ограничениями на пе' ременные можно преобразовать к виду оптимизационной задачи без каких' либо условий относительно допустимых значений ее переменных, т. е. за' писать в виде задачи безусловной оптимизации. Разумеется, при этом все сложности, присущие исходной задаче, не исчезнут, а просто примут другую форму, обусловят соответствующие свойства целевой функции полученной задачи безусловной оптимизации. Например, пусть областью определения целевой функции f0 задачи f0 (x) 2 inf x1X

(3.1)

является n'мерное евклидово пространство Rn, а допустимым множеством X этой задачи — некоторое непустое подмножество пространства Rn. Легко доказать, что и значение, и множество решений задачи (3.1) совпа' дают соответственно со значением и множеством решений задачи безуслов' ной минимизации функции 2f (x), f ( x) 3 4 0 8 56,

если x 1 X, если x 7 X.

(3.2)

Однако аналитические свойства таким образом определенной функции f могут оказаться значительно хуже по сравнению с аналитическими свойст' вами целевой функции f0 исходной задачи (3.1). Например, даже если функ' ция f0 непрерывно дифференцируема на Rn, то функция f (3.2) не является непрерывной. Вместе с тем свойства целевой функции любой оптимизацион' ной задачи существенно обусловливают возможные способы как распознава' ния, так и отыскания ее решения. ГЛАВА 3. ЗАДАЧИ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ

67

В этом разделе книги рассматриваются условия, которым удовлетворяет решение задачи безусловной минимизации или максимизации функции, за данной и непрерывной на Rn. В зависимости от некоторых других свойств целевой функции задачи эти условия конкретизируют способы распознава ния решения задачи и являются необходимыми и/или достаточными усло* виями оптимальности. Следует напомнить, что основное различие между этими двумя типами условий оптимальности состоит в следующем: каждое решение задачи удовлетворяет необходимым условиям оптимальности (не только решения задачи также могут удовлетворять этим условиям); если же некоторая точка пространства Rn удовлетворяет достаточным условиям оп* тимальности, то она является решением задачи.

3.1. ЛОКАЛЬНЫЕ И ГЛОБАЛЬНЫЕ ЭКСТРЕМУМЫ Пусть заданная на Rn функция f принимает только конечные значения. Напомним, если для некоторой точки x* Î Rn выполняется неравенство f (x*) £ f (x) " x Î Rn,

(3.3)

то эту точку x* называют точкой минимума или просто минимумом функции f на Rn. Решением задачи безусловной минимизации функции f f (x) 1 inf

(3.4)

x

называют любую точку минимума этой функции. Если точка x* является решением задачи (3.4), то значение f* этой задачи равно f (x*). Точку x* Î Rn называют точкой максимума (максимумом) функции f на n R , если выполняется неравенство f (x*) ³ f (x) "x Î Rn.

(3.5)

Решением задачи безусловной максимизации функции f f (x) 1 sup

(3.6)

x

x*

называют любую точку максимума этой функции. Если точка является решением задачи (3.6), то значение f * этой задачи равно f (x*). Не у каждой функции имеются точки минимума и/или максимума, а даже если и есть такие точки, то далеко не всегда их можно найти. Вместе с тем в многочисленных приложениях известный интерес представляют и точ ки, свойства которых более слабые, чем указанные в условиях (3.3) и (3.5). Точку x11 2 R n называют локальным минимумом функции f, если для некоторой eокрестности O1 (x12 ) 3 {x 4 R n : x 5 x12 6 1}, e > 0, точки x11 f (x11 ) 3 f (x) 4x 5 O2 (x11 ).

Аналогично точку x11 если для некоторого e > 0

2 Rn

называют локальным максимумом функции f,

f (x1 1 ) 3 f (x) 4x 5 O2 (x1 1 ).

68

(3.7)

(3.8) ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Очевидно, что каждая точка мини мума (максимума) функции также яв ляется точкой локального минимума (максимума) этой функции, но не на оборот. Кроме того, в разных точках минимума (максимума) функция при нимает одно и то же значение, а в раз ных точках ее локального минимума (максимума) функция может прини мать разные значения. Разумеется, эти экстремальные значения функции не Рис. 3.1 могут быть меньшими (большими), чем значения задачи ее безусловной мини мизации (максимизации). Ввиду указанного точки минимума (максимума) функции также называ ют ее абсолютными или глобальными минимумами (максимумами). Все точ ки глобального и локального миниму ма и максимума функции называют ее экстремальными точками или экс* Рис. 3.2 тремумами1. На рисунках 3.1–3.3 для функций одной переменной даны геометриче ские иллюстрации введенных понятий экстремальных точек: · на рисунке 3.1 изображен фрагмент эскиза графика функции f, не имею щей ни точек минимума, ни точек максимума, однако имеющей две Рис. 3.3 точки локального минимума (точ ки x111 и x112 ) и две точки локального максимума ( x1 1 1 и x1 1 2 ). Для этой функции значение f* задачи (3.4) равно 0, а значение f * задачи (6) считается бесконечно большим: f * = +¥; · на рисунке 3.2 изображен фрагмент эскиза графика функции, имеющей и точку минимума x*, и точку максимума x* ( x11 и x1 1 — соответственно точки локального минимума и локального максимума); · на рисунке 3.3 изображен фрагмент эскиза графика функции, множест во значений которой ограничено, однако у функции нет ни локальных минимумов, ни локальных максимумов. Для некоторых функций из условия существования у них экстремаль ных точек следует, что все эти точки являются абсолютными экстремумами соответствующего типа. В частности, такими функциями являются выпук лые и вогнутые функции. 1

От латинского слова extremum («экстремум», крайний).

ГЛАВА 3. ЗАДАЧИ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ

69

Теорема 3.1. Если функция f выпукла (вогнута) на Rn, то каждый ее локальный минимум (максимум) также является глобальным минимумом (максимумом). Действительно, пусть, например, точка x* является локальным миниму мом выпуклой функции f. Тогда для некоторого положительного e для про извольной точки z Î Oe(x*) следует, что f (x*) £ f (z).

(3.7¢)

Предположим, что точка x* не является абсолютным минимумом функ ции f, т. е. найдется точка y, для которой f (y) < f (x*)

(3.9)

f (y) – f (x*) < 0.

(3.9¢)

и, значит, Для произвольного l Î (0; 1) и точки сти функции f следует, что

zl

º ly + (1 – l)x* из условия выпукло

f (zl) £ lf (y) + (1 – l)f (x*) = f (x*) + l(f (y) – f (x*)) (см. определение (2.8) выпуклой функции в разд. 2.2.1). Отсюда, учитывая неравенство (3.9¢), f (zl) < f (x*). (3.10) Однако при достаточно малом положительном значении l точка zl º ly + (1 – l)x* = x* + l(y – x*) будет находиться в eокрестности Oe(x*) точки x* (|zl – x*| = l|y – x*| < e) и по этому для этой точки должно выполняться неравенство f (x*) £ f (zl)

(3.7²)

(поскольку точка x* является локальным минимумом функции f ). Итак, предположение о том, что локальный минимум выпуклой функ ции не является ее абсолютным минимумом обусловливает выполнение про тиворечивых утверждений (3.10) и (3.7²). Поэтому это предположение явля ется неправильным. Аналогично можно обосновать правильность теоремы 3.1 для случая во гнутых функций.

3.2. МИНИМИЗАЦИЯ И МАКСИМИЗАЦИЯ ДИФФЕРЕНЦИРУЕМЫХ ФУНКЦИЙ В этом разделе предполагается дифференцируемость функции f: Rn ® R. Значит, в каждой точке x Î Rn существует градиент Ñf (x) функции f, а если точка является экстремальной, то градиент в ней равен нулевому вектору. Итак, для дифференцируемой функции f условие Ñf (x) = 0

(3.11)

является необходимым условием экстремальности точки x. 70

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Таким образом, все точки локальных и глобальных минимумов и макси мумов дифференцируемой функции f: Rn ® R принадлежат множеству ее стационарных точек X0 º {x Î Rn: Ñf (x) = 0}.

(3.12)

Из этого утверждения следует, что если у дифференцируемой функции нет стационарных точек, то у нее нет ни одной экстремальной точки. В част ности, в таком случае нет решений ни у задачи (3.4) безусловной минимиза ции этой функции, ни у задачи (3.6) ее безусловной максимизации. Кроме того, из условия принадлежно сти некоторой точки множеству X0 (3.12) еще не следует, что именно эта точка является экстремальной точкой функ ции f. Прежде чем рассмотреть примеры воз можных экстремальных свойств, имею щихся у стационарных точек дифферен цируемых функций, следует напомнить, что для функции одной переменной мно жество ее стационарных точек совпада ет с множеством нулей производной: Рис. 3.4 X0 º {x Î Rn: f ¢(x) = 0}.

(3.12¢)

Пример 3.1. Производная f ¢(x) непре рывно дифференцируемой на множестве действительных чисел функции f (x) = ex совпадает с этой функцией: f ¢(x) = ex. Так как у уравнения ex = 0 нет решений, мно жество стационарных точек функции f (x) = ex пусто и значит, у этой функции нет экстремальных точек (см. на рисун ке 3.4 вид графика функции f (x) = ex). Пример 3.2. Производная функции f (x) = x3 равна f ¢(x) = 3x2. Поэтому мно жество стационарных точек этой функ ции содержит единственную точку x = 0 — единственное решение уравне ния 3x2 = 0. Однако эта точка очевидно не является экстремальной точкой функ ции f (x) = x3 (см. на рисунке 3.5 вид гра фика функции f (x) = x3). Пример 3.3. У функции f (x) = x2 име ется единственная стационарная точка x0 = 0 (f ¢(x) = 2x), которая является аб солютным минимумом этой функции (рис. 3.6). ГЛАВА 3. ЗАДАЧИ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ

Рис. 3.5

Рис. 3.6

71

Пример 3.4. Для заданной на Rn линейной функции f (x) = + b

(3.13)

градиент Ñf (x) в произвольной точке x Î равен a. Поэтому при ненулевом векторе a у функции f (3.13) нет стационарных точек, а значит, нет и экстре мумов. Если же a = 0, то множество стационарных точек функции f (3.13) совпа дает с Rn. Так как во всех точках эта функция принимает одно и то же значение b, каждая точка является одновременно и абсолютным миниму мом, и абсолютным максимумом функции (3.13). Пример 3.5. Заданная на R2 функция Rn

f (x) 1 x21 2 x22

(3.14)

1x 2 1 x 2 дифференцируема в каждой точке x 3 5 1 6 : 4f (x) 3 25 1 6. Единственной 8 x2 9 8 7 x2 9 стационарной точкой этой функции является 0. Однако 0 не является ее 2 1 /2 3 2 0 3 экстремумом: f (0) = 0, а для точек y1 4 5 6 и z1 4 5 0 6 из произвольной 7 1 /2 8 7 8 eокрестности точки 0 выполняются неравенства f (ye) = –e 2/4 < f (0) и f (ze) = e2/4 > f (0), противоречащие определениям (3.7) и (3.8) локальных минимума и максимума. Итак, для каждой стационарной точки необходимо проводить некоторые дополнительные исследования, направленные на выяснение принадлежно сти или непринадлежности этой точки соответствующему типу экстремаль ных точек. Для функции одной переменной два самых распространенных способа проведения этих исследований таковы. Способ 1 (выяснение знака производной функции в окрестности ее ста* ционарной точки). Если во всех точках некоторой окрестности стационарной точки произ водная функции о т р и ц а т е л ь н а в случае нахождения этих точек с л е в а от стационарной точки (меньших ее) и п о л о ж и т е л ь н а в случае нахож дения этих точек с п р а в а от стационарной точки (больших ее), то эта ста ционарная точка является л о к а л ь н ы м м и н и м у м о м функции. Если, наоборот, в точках с л е в а от стационарной точки производная функции п о л о ж и т е л ь н а, а в точках с п р а в а от нее — о т р и ц а т е л ь  н а, то эта стационарная точка является л о к а л ь н ы м м а к с и м у м о м функции. Наконец, если и слева, и справа от стационарной точки знак про изводной функции один и тот же, то эта точка не является точкой экстремума. Другая форма этого утверждения приведена в таблице 3.1. Способ 2 (выяснение знака второй производной функции в ее стационар* ной точке). Этот способ можно применять только в случаях, когда функция f в ста ционарной точке, для определенности, x0 имеет вторую производную f ²(x0). Если f ¢(x0) = 0, то стационарная точка x0 при условии f ²(x0) > 0 является локальным минимумом; при условии f ²(x0) < 0 — локальным максимумом. 72

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1 2 3 4 5 6 2 7 89 7 123456789 8 28 5115 528472895 39823728 58495215

8  2952499515 58472895 39823728 58495215

1 1 1 1 1 1 2 3 4 5 6 2 7 89 7 1234567898 5 98 6828 511215 6573 823928 57845215

479328568 7685 73 823928 5784 5215

11 2345424

24

2464789 7 4 4

11 234424

24

2464789 7 4 94

11 234424

24

888484 887 7 478 4

1

Если f ²(x0) = 0, то выяснение наличия экстремальных свойств стацио нарной точки x0 требует дополнительных исследований. Например, если в точке x0 у функции f имеются производные до mго порядка, причем все они до производной (m – 1)го порядка включительно принимают в этой точке нулевое значение (f ¢(x0) = ... = f (m – 1)(x0) = 0), то при нечетном m точка x0 не является экстремальной; если же m четное, то при условии f (m)(x0) > 0 точка x0 является локальным минимумом, а при условии f (m)(x0) < 0 — локальным максимумом. Таблица 3.2 содержит наглядную форму утверждений о наличии и типе экстремальных свойствах стационар ной точки x0. Пример 3.6. Для функции f (x) = x3 – – 5x 2 + 3x + 1 ее производная равна f ¢(x) = 3x2 – 10x + 3 = (3x – 1)(x – 3). По этому множество стационарных точек этой функции содержит только две точ ки x1 = 1/3 и x2 =3, в которых вторая производная f ²(x) = 6x – 10 принимает соответственно отрицательное и поло жительное значения: f ²(x1) = –8 < 0 и f ²(x2) = 8 > 0. Значит, согласно способу 2 Рис. 3.7 исследования стационарной точки на ГЛАВА 3. ЗАДАЧИ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ

73

Рис. 3.8

оптимальность, точка x1 = 1/3 явля ется локальным максимумом, а точка x2 = 3 — локальным минимумом (см. вид графика функции на рисунке 3.7). Пример 3.7. Производной диффе ренцируемой функции f (x) = x3(x + 2)2

(3.15)

+ 2)(5x + 6). По является f ¢(x) = этому множество стационарных точек этой функции содержит только три точ ки: x1 = –2, x2 = –1,2 и x3 = 0. Рис. 3.9 Изменение знака производной функ ции (3.15) между ее стационарными точками показано на рисунке 3.8. Поэтому, согласно способу 1 исследования экстремальных свойств стационарных точек, x1 = –2 — локальный максимум, x2 = –1,2 — локальный минимум, а точка x3 = 0 не является экстремальной (см. на рисунке 3.9 вид графика функции (3.15)). Для функции нескольких переменных выяснить имеющиеся экстремаль ные свойства ее стационарных точек существенно сложнее. Теорема 3.2. Пусть функция f: Rn ® R дважды непрерывно дифференци* руема и x0 — ее стационарная точка. · Если гессиан Ñ2f (x0) является положительно определенной матрицей, то x0 — локальный минимум. · Если n´n*матрица Ñ2f (x0) отрицательно определена, то x0 — локаль* ный максимум. · Если гессиан Ñ2f (x0) является неопределенной матрицей, т. е. если квад* ратичная форма при разных z Î Rn может принимать как положительные, так и отрицательные значения, то x0 не является экстремальной точкой. · Если квадратичная форма полуопределена, т. е. принима* ет на Rn только неотрицательные или только неположительные зна* чения, то выяснение имеющихся экстремальных свойств у точки x0 требует дополнительных исследований. Пример 3.8. Градиентом и гессианом квадратичной функции двух пере менных 1 f (x) 3 1 x21 4 4 x1 x2 4 3 x22 2 (3.16) 2 2 x 1 2x2 3 1x 2 в точке x 3 4 1 5 являются соответственно вектор 4f (x) 5 6 1 7 и матрица x 6 27 8 2x1 1 3x2 9 11 22 32f (x) 4 5 6. (3.17) 72 38 x2(x

Так как гессиан Ñ2f (x0) (3.17) является неопределенной матрицей (если a > 0, 3 12 2 4 213 то для вектора p 4 8 9 5 p, 62 f (x) p 7 4 8 12 7 0, а для вектора q 5 7 8 6 q, 1 9 2

74

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Ñ2f (x0)> = –a2 < 0), то 0 — единственная стационарная точка функции f (3.16) — не является экстремумом. Итак, для выяснения имеющихся экстремальных свойств только в одной стационарной точке x0 дважды непрерывно дифференцируемой функции f, зависящей от n переменных, необходимо: (n 1 1) · вычислить n смешанных производных второго порядка этой функ 2 ции (из предположения о дифференциальных свойствах функции f сле дует симметричность ее гессиана Ñ2f (x0), содержащего n2 элементов); · выяснить характер определенности гессиана Ñ2f (x0) (если для этого вос пользоваться методом Сильвестра, то потребуется вычисление определи телей матриц от второго до nго порядка включительно — главных мино ров матрицы Ñ2f (x0)). Для некоторых функций указанная вычислительная работа может по требовать значительного времени. Однако для выпуклых или вогнутых функ* ций нет необходимости проводить дополнительные исследования их ста* ционарных точек на экстремальность. Теорема 3.3. Каждая стационарная точка выпуклой (вогнутой) функ* ции является ее абсолютным минимумом (максимумом). Действительно, если, например, выпуклая функция f дифференцируема и Ñ2f (x0) = 0, то из первого неравенства в условиях теоремы 2.2 следует, что f (y) ³ f (x0) + = f (x0) "y Î Rn, т. е. x0 — глобальный минимум функции f (решение задачи (3.4) безуслов ной минимизации этой функции). Итак, для выпуклой (вогнутой) дифференцируемой функции условие при надлежности некоторой точки множеству стационарных точек помимо необхо димого является и достаточным условием минимума (максимума) этой точки. Пример 3.9. Градиент квадратичной функции f ( x) 1

1 2 x, Hx 3 4 2 h, x 3 4 5, 2

(3.18)

определяемой на Rn симметричной n´nматрицей H, вектором h и действи тельным числом g Î R, равен Ñ2f (x) = Hx + h. Поэтому множество стацио нарных точек X0 этой функции совпадает с множеством решений системы линейных алгебраических уравнений Hx = –h. Ñ2f (x)

Гессианом функции f (3.18) в точке x Î Rn является матрица H. Если матрица H неотрицательно определена, то функция f (3.18) выпук ла (теорема 2.2) и поэтому каждая ее стационарная точка также является абсолютным минимумом. Пример 3.10. Градиент выпуклой функции f ( x) 1

2 1 2 x 2 x3c , 2

ГЛАВА 3. ЗАДАЧИ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ

(3.19)

75

заданной на Rn, (|x| — длина вектора x Î Rn, c — фиксированный вектор про странства Rn) равен Ñ2f (x) = 3x – 2c. (3.20) Поэтому в единственной своей стационарной точке x0 1 2 c эта функция 3 1 2 принимает наименьшее значение f1 2 f (x0 ) 2 c . 3

3.3. МИНИМИЗАЦИЯ НЕДИФФЕРЕНЦИРУЕМЫХ ВЫПУКЛЫХ ФУНКЦИЙ Пусть целевой функцией задачи (3.4) является выпуклая, однако не обя зательно дифференцируемая функция f: Rn ® R. Условие оптимальности для такой задачи сформулировано в следующем утверждении. Теорема 3.4. Включение 0 Î ¶f (x*) —

(3.21)

является ми* необходимое и достаточное условие того, что точка x* Î нимумом выпуклой функции f. Действительно, определение того, что x* — абсолютный минимум функ ции f, состоит в выполнении неравенства Rn

f (x) ³ f (x*) " x Î Rn,

(3.3¢)

f (x) ³ f (x*) + " x Î Rn.

(3.22)

равносильного Отсюда и из определения субградиента выпуклой функции f в точке x* (см. разд. 2.2.3) следует, что 0 является элементом ¶f (x*), т. е. выполняет ся включение (3.21). С другой стороны, из предположения выполнения для некоторой точки x* Î Rn включения (3.21) и из определения субградиента следует утвержде ние (3.22), а значит, и утверждение (3.3¢). Следовательно, x* — минимум вы пуклой функции f. Итак, включение (3.21) обобщает необходимое и достаточное условие минимума (3.11) на случай недифференцируемой выпуклой функции. Приведем пример применения теоремы 3.4. Пусть необходимо найти значение f* и множество X* решений задачи f ( x)

1

inf, x

где

f (x) º |x| – ,

(3.4¢) (3.23)

Rn.

а c — фиксированная точка пространства Докажем сначала выпуклость функции f (3.23). Для этого достаточно обосновать выпуклость функции j(x) º |x|

(3.24)

(поскольку линейная функция – выпукла, то, в силу теоремы 2.1, сум ма выпуклых функций является выпуклой функцией). 76

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Для произвольных x1, x2 Î Rn и l Î [0; 1] для точки zl = lx1 + (1 – l)x2 ввиду известного из курса линейной алгебры неравенства Коши1 — Буняковского2 £ |x| |y| " x, y Î Rn выполняется цепочка соотношений 4(z3 ) 5 z3 6 7 z3 , z3 8 6 7 3x1 9 (1 3)x2 , 3x1 9 (1 3)x2 8 6 6 32 7 x1 , x1 8 923(1 3) 7 x1 , x2 8 9(1 3)2 7 x2 , x2 8 6 2

6 32 x1 9 23(1 3) 7 x1 , x2 8 9(1 3)2 x2 6

2 32 x1

9 2 3(1 3)

1 3 x1 9 (1 3) x2 2

2

2 x1 x2 9 (1 3)2 x2

2



6

6 3 x1 9 (1 3) x2 6 34(x1 ) 9 (1 3)4(x2 ).

Значит, функция j (3.24) выпукла и поэтому выпукла и функция f (3.23). Вычислим теперь субдифференциал ¶j(x) в точке x Î Rn. 12(x) функции j Если точка x ненулевая (x ¹ 0), то частная производная 1xj xj (1(x) 2 x21 3 ... 3 xn2 ). По@ в этой точке относительно переменной xj равна |x| x этому при ненулевом x существует градиент 12(x) 3 (функция j диффе@ |x| ренцируема) и значит, 34(x) 5 x (теорема 2.5). |x| Предположим теперь, что x = 0. Поскольку j(0) = 0, по определению субградиента g функции j в точке 0 (см. разд. 2.2.3)

1 2

|y| ³ " y Î Rn.

(3.25)

Так как утверждение (3.25) выполняется тогда и только тогда, когда |g| £ 1, j(0) = {g Î Rn: |g| £ 1}. Значит, в силу теоремы 2.8, субдифференциал ¶f (x) выпуклой функции f вычисляется по формуле если x 4 0, 5{g 1 R n : | g |2 1} 3 c, 6 (3.26) 7f ( x ) 4 8 x 3 c, если x 9 0. 6

|x| Предположим сначала, что 0 Ï X*. Тогда из теоремы 3.4 и формулы (3.26) следует, что x 2 c 3 0 4x 5 X1. (3.27) |x|

1 2

Огюстен Коши (Augustin Cauchy, 1789–1857) — французский математик. Виктор Яковлевич Буняковский (1804–1889) — украинский математик.

ГЛАВА 3. ЗАДАЧИ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ

77

Очевидно, что при сделанном предположении равенство (3.27) выпол няется тогда и только тогда, когда |c| = 1, а x = lc, l > 0. В таком случае {lc: l > 0} Í X* и f* = 0. Пусть теперь 0 Î X*. Тогда 0 Î ¶f (0) и f* = 0 только в случае, когда |c| £ 1 (см. формулу (3.26)). Предположим, что |c| > 1. Тогда 0 Ï ¶f (x) для каждого x Î Rn и поэтому у задачи (3.4¢) нет решений. Так как для точки xt = tc f (xt) = t| c | – t| c |2 = t| c | (1 – | c |), f (xt) ® –¥ при t ® ¥. Значит, f* = –¥. Итак, если в определении (3.23) функции f | c | £ 1, то f* = 0 и X* = {lc: l ³ 1}, а если |c| > 1, то f* = –¥ и X* = Æ. Вопросы и задания 1. Является ли правильным утверждение о том, что значение задачи безуслов ной минимизации (максимизации) функции равно наименьшему (наиболь шему) значению этой функции в точках ее локальных минимумов (макси мумов)? 2. Докажите, что функция f (x) = x sinx не ограничена ни сверху, ни снизу и имеет бесконечное число экстремальных точек. Какой вид имеет график этой функции? 3. Докажите, что множество решений задачи безусловной минимизации (макси мизации) выпуклой (вогнутой) функции является выпуклым множеством. 4. Постройте график функции, у которой некоторые аргументы одновременно яв ляются точками локального минимума и локального максимума. Приведите примеры функций, у которых все аргументы являются точками минимума (мак симума). 5. Докажите, что если выпуклая (вогнутая) и непрерывная на Rn функция в неко торой точке принимает наибольшее (наименьшее) значение, то эта функция яв ляется постоянной. 6. Докажите, что множества стационарных точек выпуклой и вогнутой функции выпуклы. 7. Установите имеющиеся экстремальные свойства всех стационарных точек функ ции f (x) = x3(x + 1)2, вычислив в этих точках знаки высших производных. 8. Найдите все стационарные точки функции двух переменных

1 4 2 5 1 2 231 2 221 3 232 3 2 222 и установите имеющиеся у них экстремальные свойства. 9. Докажите, что функция двух переменных 1 3 2 4 3 1 22 4 2 11 21 122 4 2 11 2

принимает наименьшее значение в точке каждой прямой, проходящей через 0, однако эта точка не является локальным минимумом данной функции. 10. Докажите, что и задача безусловной максимизации, и задача безусловной ми нимизации функции (3.16) имеют соответственно бесконечно большое и беско нечно малое значения. 11. Докажите выпуклость квадратичной функции (3.19) и обоснуйте правильность формулы (3.20) вычисления ее градиента.

78

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

12. Обоснуйте дифференцируемость и выпуклость функции f (x) = (min{0, x +1})2 + (max{0, x – 1})2. Постройте график этой функции и укажите множество точек ее минимума. 13. Докажите, что для фиксированного ненулевого c Î Rn функция f (x) = |x| + |x – c|

(3.28)

выпукла, ее субдифференциал ¶f (x) вычисляется по формуле

1{g 2 R n : | g |3 1} 4 c , 6 |c| 6 6 n 7f (x) 5 9{g 2 R : | g |3 1} 8 c , |c| 6 6 x 8 x4c 6 | x | | x 4 c |

если x 5 0, если x 5 c, в остальных случаях.

множеством решений и значением задачи безусловной минимизации функ? ции (3.28) являются соответственно X* = {lc: 0 £ l £ 1} и f* = | c |.

ГЛАВА 3. ЗАДАЧИ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ

79

ГЛАВА

ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

С

войства целевой функции, а также способ задания и свой ства допустимого множества задачи математического программирования как обусловливают саму возможность конкретизировать условия экстремума для этой задачи, так и определяют их форму. Как отмечалось в разделе 1.2, каждую задачу математического програм мирования можно преобразовать к некоторому стандартному виду — задаче минимизации некоторой функции f0 на некотором множестве X: f0 (x) 2 inf . (4.1) x1X

При этом предполагается, что целевая функция f0 задачи (4.1) определе на по крайней мере на допустимом множестве X этой задачи. Поскольку способы задания множества могут быть разными, то и допус тимое множество X задачи (4.1) также принято задавать в некотором стан дартном виде. В теории экстремальных задач применяют несколько стан дартных способов задания ограничений на переменные задачи математиче ского программирования, один из достаточно общих и распространенных состоит в следующем. Допустимое множество X задачи (4.1) совпадает с мно жеством решений системы условий fi(x) £ 0,

i = 1, ..., m¢,

(4.2)

fi(x) = 0,

i = m¢ + 1, ..., m,

(4.3)

x Î W,

(4.4)

где W — заданное множество, а {fi} — функции*ограничения задачи (4.1), оп ределенные по крайней мере на множестве W. В зависимости от природы задачи (4.1), характера и целей ее исследова ния если имеются условия (4.2) и/или (4.3), то их отделяют от общего требова ния (4.4) тогда, когда именно такие способы задания ограничений на перемен ные задачи используются явным образом. Например, к условиям (4.4) относят требования неотрицательности и/или целочисленности всех или некоторых 80

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

указанных компонент точек x (тут и в дальнейшем предполагается, что W является некоторым множеством nмерного евклидова пространства Rn). В этом разделе книги приведены условия оптимальности для разных за дач математического программирования в постановке (4.1), допустимые мно жества в которых заданы в виде (4.2)–(4.4). Эти условия сформулированы для задач как при наличии, так и при отсутствии ограничений типа (4.2) и/ или (4.3), для задач с разными свойствами целевой функции f0, функций ограничений {fi} и множества W.

4.1. УСЛОВНЫЕ ЭКСТРЕМУМЫ Пусть на множестве X nмерного евклидова пространства Rn задана функция f. Напомним, если для некоторой точки x* Î X выполняется неравенство f (x*) £ f (x) " x Î X,

(4.5)

то эту точку называют точкой (абсолютного) минимума или просто (абсо* лютным) минимумом функции f на множестве X. По определению решением задачи (условной) минимизации функции f на множестве X f (x) 2 inf (4.6) x1X

называют каждую точку минимума этой функции на множестве X. Если точка x* является решением задачи (4.6), то значение f* этой задачи рав но f (x*). Точку x* Î X называют точкой (абсолютного) максимума (максимумом, абсолютным максимумом) функции f на множестве X, если f (x*) ³ f (x) " x Î X.

(4.7)

Решением задачи (условной) максимизации функции f на множестве X f (x) 2 sup (4.8) x1X

называют каждую точку максимума этой функции на множестве X. Если точ ка x* является решением задачи (4.8), то значение f * этой задачи равно f (x*). Не у каждой функции на заданном множестве имеются точки минимума или максимума на этом множестве, а даже если и есть такие точки, то далеко не всегда их можно отыскать. Вместе с тем в многочисленных приложениях определенный интерес представляют и такие точки, экстремальные свойст ва которых более слабые, чем сформулированные в условиях (4.5) и (4.7) свой ства соответственно точек x* и x*. Точку x11 2 X называют л о к а л ь н ы м минимумом функции f на мно* жестве X или ее условным л о к а л ь н ы м минимумом, если для каждой точки x множества X из некоторой eокрестности O1 (x12 ) точки x11 выполня ется неравенство f (x11 ) 2 f (x). ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

81

Аналогично точку x11 2 X называют л о к а л ь н ы м максимумом функ* ции f на множестве X (условным л о к а л ь н ы м максимумом), если для некоторого e > 0 f (x1 1 ) 3 f (x) 4x 5 O2 (x1 1 ) 2 X —

точка x1 1 принадлежит множеству X, а значение f (x1 1 ) не меньше значе ния f (x), вычисленного в произвольной точке x множества X из некото рой eокрестности O2 (x1 1 ) точки x1 1 : O2 (x1 1 ) 2 X 3 {x 4 X : | x 5 x1 1 |6 2}.

Очевидно, что каждая точка минимума (максимума) функции на множе стве также является точкой ее локального минимума (максимума) на этом множестве, но не наоборот. Кроме того, в разных точках минимума (макси мума) функции на множестве эта функция принимает одно и то же значение, а в разных точках ее локального минимума (максимума) на этом множестве функция может принимать разные значения. Разумеется, эти экстремаль* ные значения функции не могут быть меньшими (большими), чем значения задачи минимизации (максимизации) функции на данном множестве. Все точки локального минимума и максимума некоторой функции на заданном множестве называют условными локальными экстремальными точками или просто условными локальными экстремумами этой функции. В следующей теореме сформулированы условия, при выполнении кото рых условные локальные экстремумы функции также являются ее соответ ствующего типа абсолютными экстремумами. Теорема 4.1. Каждая точка локального минимума (максимума) выпук* лой (вогнутой) функции f на выпуклом множестве X является абсолют* ным минимумом (максимумом) этой функции на множестве X. Действительно, предположим, например, что некоторая точка x* являет ся лишь локальным, а не абсолютным минимумом выпуклой функции f на выпуклом множестве X. Тогда в этом множестве должна содержаться точка y, для которой f (y) < f (x*).

(4.9)

Так как множество X выпукло и x*, y Î X, при любом l Î [0; 1] точка xl º ly + (1 – l) x* принадлежит множеству X. Ввиду выпуклости функции f выполняется неравенство f (xl) £ lf (y) + 1 – l) f (x*). Отсюда и из неравенства (4.9) следует, что f (xl) £ f (x*) + l(f (y) – f (x*)) < f (x*). Поскольку для произвольного e > 0 при достаточно малом значении l точка xl = x* + l(y – x*) принадлежит eокрестности Oe(x*) точки x*, получен ное неравенство f (xl) < f (x*) противоречит предположению о том, что точка x* является локальным минимумом функции f на множестве X. Значит, x* — абсолютный минимум функции f на множестве X. 82

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Аналогично можно доказать другую часть теоремы 4.1: при условии во гнутости функции f на выпуклом множестве X каждый локальный макси мум этой функции на множестве X также является и абсолютным ее макси мумом на множестве X — является решением задачи (4.8). Достаточное условие существования условных абсолютных экстремумов функции сформулировано в следующем утверждении. Теорема 4.2 (Вейерштрасса1). Функция f, непрерывная на ограниченном и замкнутом множестве X, в некоторых точках этого множества прини* мает свои наименьшее и наибольшее значения на этом множестве — у за* дач (4.6) и (4.8) есть решения. Для задачи (4.6) дадим геометрические условия минимума в терминах направлений спуска (убывания) минимизируемой функции f и возможных направлений относительно допустимого множества X. Вектор s Î Rn называют возможным направлением относительно множе ства X в точке x0 Î X, если для каждого достаточно малого положительного t точка x0 + ts принадлежит множеству X: $ t = t(s) >0:

x0 +ts Î X

" t Î (0; t)

(4.10)

(в этой записи значение положительного числа t зависит от вектора s). Множество всех возможных направлений относительно множества X в точке x0 обозначим K(x0; X). Если точка x0 не принадлежит множеству X, то по определению считает ся, что K(x0; X) является пустым множеством Æ. Множество K( × ; X) может быть пустым и в точках, принадлежащих мно жеству X. Например, K(x; X) = Æ для каждой точки x окружности X º {x Î R2:

|x – a|2 = r2}

радиуса r > 0 с центром в точке a Î R2. Если x0 — внутренняя точка множества X, т. е. принадлежит этому мно жеству вместе с некоторой своей eокрестностью Oe(x0) º {x Î Rn:

|x – x0| < e},

то K(x0; X) = Rn. Пусть точка x0 принадлежит области определения функции f. Вектор s Î Rn называют направлением убывания (спуска) функции f в точке x0, если при любом достаточно малом положительном t точка x0 + ts также принад лежит области определения этой функции и f (x0 + ts) < f (x0). Пусть D(x0; f) — множество направлений убывания функции f в точке x0. Поскольку для дифференцируемой в точке x0 функции f производная по направлению f ¢(x0; s) равна — евклидовому скалярному произ ведению градиента Ñf (x0) и вектора s, — в этом случае каждый вектор s, для

1

Карл Вейерштрасс (Karl Weierstrass, 1815–1897) — немецкий математик.

ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

83

которого < 0, принадлежит множеству D(x0; f ) (вектор s образу ет тупой угол с градиентом Ñf (x0)). Следует отметить, что даже для стационарной точки x0 функции f (т. е. если Ñf (x0) = 0), множество D(x0; f) может быть не пустым (см. задание 6 к этому разделу). Для заданной на выпуклом множестве X Í Rn выпуклой функции f: X ® R в любой внутренней точке x0 Î X выполняется утверждение D(x0; f) = {s Î Rn:

< 0 " g Î ¶f (x0)},

где ¶f (x0) — субдифференциал функции f в точке x0. В введенных терминах необходимое условие локального минимума зада чи (4.6) принимает достаточно простой вид. Теорема 4.3. Если x11 — локальный минимум функции f на множестве X, то у множеств D(x11; f ) и K (x11; X) нет общих элементов :

D(x11; f ) 2 K (x11; X) 2 3.

(4.11)

Следовательно, из точки локального минимума x11 функции f на множе стве X — локального решения задачи (4.6) — н е л ь з я произвести сколь угодно малое смещение по какомулибо направлению таким образом, что бы уменьшить значение этой функции и остаться при этом в пределах до пустимого множества (для произвольных s Î Rn и t > 0 или x11 2 ts 3 X, или f (x11 2 ts) 3 f (x11 ) ). В частности, из теоремы 4.3 следуют такие утверждения. Если локальный минимум x11 является внутренней точкой множества X, то условие (4.11) принимает вид D(x11; f ) 2 3

(4.11¢)

(так как в этом случае K (x1 * ; X ) 1 R n ). Если при этом в точке x11 функция f имеет производную f 2(x11; s) по любому направлению s Î Rn, то при усло вии (4.11¢) выполняется неравенство f 1(x1 * ; s) 2 0

3 s 4 Rn.

(4.11²)

Значит, если в точке 111 функция f дифференцируема, то

11 121 1 2 2 03

(4.11¢¢¢)

Если же функция f выпукла на выпуклом множестве X и внутренняя точка 111 множества X является решением задачи (4.6), то условие (4.11²) равносильно условию 2 g, s 3 4 0

5 g 67f (x11 ),

(4.12)

эквивалентному, в свою очередь, условию 1 231 1211 23

(4.12¢)

Следует отметить, что в общем случае теорема 4.3 имеет характер н е о б  х о д и м ы х условий локального минимума в задаче (4.6), но недостаточ ных. Может оказаться, что хотя в некоторой точке x11 множества X и выпол 84

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

няется соотношение (4.11), однако точка 111 не является локальным реше нием задачи (4.6). Например, для заданной на R2 функции f (x) º x2

(4.13)

и множества

1

X 3 x 4 R 2 : x2 5 x31

2

(4.14)

(рис. 4.1) в точке 0 Î X имеем D(0; f) = {s Î R2: s2 < 0} ¹ Æ (рис. 4.2), K(0; X) = {s Î R2: s2 ³ 0}\{s Î R2: s1 ³ 0, s2 = 0} = Æ (рис. 4.3) и D(0; f) I K(0; X) = Æ. Вместе с тем точка 0 Î X не является локаль ным минимумом функции f (4.13) на множестве X (4.14): для каждого зна 1x 2 чения x1 точка x1 3 4 13 5 принадлежит 6 x1 7 множеству X; для любой eокрестности O1 (0) точки 0 при достаточно малом значении |x 1| точка x1 принадлежит этой окрестности, однако если x1 < 0, то f (x1 ) 1 x13 2 0 1 f (0), а если x1 > 0, то f (x1 ) 1 x31 2 0 1 f (0). Другие формы условий локального или абсолютного минимума для зада чи (4.6) существенно зависят от способа задания и свойств как минимизируемой функции f, так и допустимого множест ва X. В частности, одним из следствий теоремы 4.3 является следующее утвер ждение. Теорема 4.4. Пусть в задаче (4.6) множество X выпукло и точка x* при* надлежит этому множеству. Тогда а) если x* — локальный минимум функции f на множестве X, в которой эта функция дифференцируема, то 2 3f (x1 ),x 4 x1 5 6 0

Рис. 4.1

Рис. 4.2

7x 8 X; (4.15)

б) если функция f выпукла и мно* жество внутренних точек области ее определения содержит множество X, то точка x* Î X тогда и только тогда ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

Рис. 4.3

85

является (абсолютным) решением задачи (4.6), когда для некоторого суб* градиента g1 2 3f (x1 ) выполняется неравенство 2 g1 , x 3 x1 4 5 0

6x 7 X;

в частности, если в точке x* Î X функция f дифференцируема, то усло* вие (4.15) необходимо и достаточно для того, чтобы точка x* была решени* ем задачи (4.6). Следует отметить, что если множество X выпукло, то для произвольных точек x*, x Î X вектор s = x – x* является возможным направлением относи тельно множества X в точке x*. Это очевидным образом следует из определе ний выпуклого множества и вектора возможного направления (4.10): lx + (1 – l)x* = x* + l(x – x*) = x* + ls Î X " l Î (0; 1). Знание указанного свойства выпуклого множества позволяет легче по нять имеющуюся связь между теоремами 4.3 и 4.4.

4.2. ЗАДАЧИ С ПРОСТЕЙШИМИ ОГРАНИЧЕНИЯМИ В этом разделе рассматриваются задачи условной минимизации, в кото рых ограничения на переменные являются простейшими по составу и струк туре. Допустимое множество каждой такой задачи имеет вид X = {x Î Rn: aj £ xj £ bj, j = 1, ..., n},

(4.16)

где фиксированные a1, ..., an и b1, ..., bn таковы, что –¥ £ aj < bj £ +¥,

j = 1, ..., n

(если aj = –¥ или bj = +¥, то соответствующий знак неравенства в определе нии (4.16) следует понимать как строгий; если aj = –¥ и bj = +¥, то jя компо нента xj вектора x Î Rn может принимать любые действительные значения). Легко обосновать выпуклость множества X (4.16). Теорема 4.5. Для задачи (4.6), допустимое множество X которой опре* деляется согласно (4.16), условие (4.15) равносильно требованию: для любо* го j = 1, ..., n 42 12 3456 21 3 31 1 3 41 2 55 731 8 6 7 12 3456 311 2 21 2 892 531 6  12 3456 311 2 41 99

(4.17)

Итак, для отыскания на множестве X (4.16) всех локальных и абсолютных минимумов дифференцируемой на этом множестве функции f необходимо: 2 1f (x) 3, · вычислить все компоненты 4 5 j = 1, ..., n градиента Ñf (x) функции f 6 1xj 7 для произвольной точки x Î X; · найти все решения X1 всех возможных систем уравненийнеравенств, каждая из которых содержит n уравнений и неравенств: для j = 1, ..., n, 86

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

31 0, если 4f (x) 5 6 0, если 4xj 95

0, если

aj 2 xj 2 bj , xj 1 aj 1 78,

(4.17¢)

xj 1 bj 8,

(если в определении (4.16) множества X все параметры {aj} и {bj} конеч% ны, то общее число таких систем уравнений%неравенств равно 3n); · исследовать каждую точку множества X1 на оптимальность в задаче (4.6) — 1 1 X находятся все локальные и абсо% именно среди точек множества X 1 лютные решения задачи (4.6) . Пример 4.1. Найти все точки минимума функции f (x) 1 x21 2 x 1x2 2 x22

(4.18)

X = {x Î R2: x1 £ 0, 1 £ x2}.

(4.19)

на множестве

Функция f (4.18) дважды непрерывно дифференцируема в каждой точке пространства R2:

2 x 1 x2 3 4f (x) 5 26 1 7 8 x1 1 2 x2 9

и

2 13 42 f (x) 5 26 1 2 79 8



соответственно градиент и гессиан этой функции в точке x Î R2. Согласно критерию Сильвестра гессиан Ñ2f (x) функции f (4.18) является положительно определенной матрицей. Значит, в силу теоремы 2.2, эта функ% ция выпукла. Поэтому, во%первых, каждый локальный минимум функции f (4.18) на выпуклом множестве X также является ее абсолютным миниму% мом на X, а во%вторых, для рассматриваемой задачи условие (4.15) является необходимым и достаточным условием оптимальности точки x*. Конкретизируем теперь условия, которым должно удовлетворять реше% ние и только решение задачи. Ввиду (4.17¢), эти условия находятся среди условий:

42 x1 1 x2 2 0, 5 7x1 1 2 x2 3 0,

если x1 3 0, если x2 6 1;

(4.20)

42 11 1 12 2 01 5 611 1 2 12 3 01

если 11 3 01 если 12 3 12

(4.21)

42 x1 1 x2 2 0, 5 7x1 1 2 x2 2 0,

если x1 3 0, если x2 6 1;

(4.22)

42 x1 1 x2 2 0, 5 7x1 1 2 x2 6 0,

если x1 3 0, если x2 2 1.

(4.23)

1 Если минимизируемая функция f выпукла, то этот этап излишний — ввиду части б) 1 является (абсолютным) решением задачи (4.6). теоремы 4.4 каждая точка множества X

ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

87

Нетрудно убедиться, что каждая из трех совокупностей условий (4.20)– (4.22) является противоречивой и только условия (4.23) выполняются в един ственном случае, когда x2 = 1 и x1 = –0,5. Значит, у задачи минимизации функции f (4.18) на множестве X (4.19) 3 20,5 4 имеется единственное решение x1 5 6 7; значение f* этой задачи равно 8 1 9 f* = f (x*) = 0,75. Рассмотрим теперь частный, однако достаточно распространенный слу чай множества X (4.16): X = {x Î Rn: xj ³ 0, j = 1, ..., m},

(4.24)

где натуральное число m не превосходит n (требование неотрицательности первых m компонент вектора x). Если в записи (4.24) m = n, то множество X называют неотрицательным ортантом пространства Rn и обозначают R1n . Итак, по определению R3n 4 1x 5 R n : xj 6 0, j 7 1, ..., n2.

Теорема 4.6. Для задачи (4.6), допустимое множество X которой опре* деляется согласно (4.24), условие (4.15) равносильно требованию 2f (x1 ) 3 0, 2x j

x1 j

2f (x1 ) 4 0, 2 xj

2f (x1 ) 3 0, 2xj

j 3 m 4 1, ..., n.

j 4 1, ..., m,

Пример 4.2. Для некоторого заданного вектора c Î Rn минимизировать на множестве R1n выпуклую функцию 1 (4.25) f (x) 1 | x |2 2 3 c, x 4 . 2 Поскольку для произвольного x Î Rn Ñf (x) = x – c, (4.26) ввиду теоремы 4.6, каждое решение и только решение x* рассматриваемой задачи 1 2 | x | 3 4 c, x 5 6 min, (4.27) 2 x2R1n удовлетворяет соотношениям x*j – cj ³ 0,

x*j(x*j – cj) = 0,

j = 1, ..., n.

Из этих соотношений следует, что единственным решением задачи (4.27) является вектор x* 2 R1n , каждая jя компонента которого вычисляется со гласно правилу: если cj ³ 0, то x*j = cj, а если cj < 0, то x*j = 0, j = 1, ..., n. Значение f* задачи (4.27) очевидно равно 1 f1 3 f (x1 ) 3 4 5 c2j , 2 j2J где J = {j Î {1, ..., n}: cj ³ 0}. 88

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

4.3. ЗАДАЧИ С ОГРАНИЧЕНИЯМИ В ФОРМЕ РАВЕНСТВ В этом разделе рассматриваются условия оптимальности для задачи ма тематического программирования в постановке f0(x) ® inf, (4.28) fi(x) = 0, i = 1, ..., m, (4.29) где целевая функция f0 и все функцииограничения {fi} предполагаются за данными на Rn. Допустимым множеством X этой задачи является множество решений системы уравнений (4.29): X º {x Î Rn: fi(x) = 0, i = 1, ..., m}. 4.3.1. ФУНКЦИЯ ЛАГРАНЖА

Необходимые, а в некоторых случаях и достаточные условия оптималь ности для задачи математического программирования с ограничениями на переменные в форме общих систем уравнений и неравенств обычно форму лируют в терминах свойств особым образом определяемой функции Лагран жа1 этой задачи. Для задачи (4.28), (4.29) функция Лагранжа L определяется так: L(x, u) º f0(x) + u1f1(x) + ... + umfm(x).

(4.30)

Таким образом, функция Лагранжа L задана на декартовом произведе* нии Rn´Rm евклидовых пространств Rn и Rm: каждой паре (x, u) векторов x Î Rn и u Î Rm ставится в соответствие действительное число L(x, u), вычис ляемое по формуле (4.30). Если все функции {fi} в постановке задачи (4.28), (4.29) дифференцируе мы, то дифференцируемой относительно x является также и функция Ла гранжа L (4.30), соответствующий градиент которой по переменным {xj} — по компонентам вектора x — принято обозначать ÑxL(x, u):

2 1L(x, u) 3 4 1x1 5 5. 6 x L(x, u) 7 44 1 5 4 1L(x, u) 5 4 1x 5 8 9 n Итак, по определению jя компонента вектора ÑxL(x, u) равна частной производной функции Лагранжа относительно jй компоненты xj вектора x. Поэтому, согласно правилам дифференцирования функций, 1L(x, u) 1f0 (x) 1f ( x ) 1f ( x ) 2 3 u1 1 3 ... 3 um m , 1xj 1x j 1x j 1x j 1

j 2 1, ..., n,

(4.31)

Жозеф Лагранж (Joseph Lagrange, 1736–1813) — французский математик.

ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

89

и, значит, m

2 x L(x, u) 1 2f0 (x) 3 4 ui2fi (x).

(4.31¢)

i 11

Остальные компоненты градиента ÑL(x, u) функции Лагранжа относи тельно переменных {ui} — компонент вектора u — очевидно совпадают со зна чениями соответствующих функцийограничений, вычисленных в точке x:

2 1L(x, u) 3 4 1u1 5 2 f1 (x) 3 5 4 5 1 6u L(x, u) 7 44 5 8 4 1 5. 1 L ( x , u ) f ( x ) 4 5 9m

4 1u 5 9

m Градиент ÑL(x, u) функции Лагранжа (4.30) очевидно составляют упоря доченные компоненты векторов ÑxL(x, u) и ÑuL(x, u): 2 4f0 (x) m 4fi (x) 3 6 4x 5 ui 4x 7 1 1 7 i 11 6 1 6 7 8 x L(x, u) 3 6 4f0 (x) m 4fi (x) 7 2 8L(x, u) 9 6 7. 5 ui 796

8u L(x, u) 6 4 xn 4 x n 7 i 11 6 7 f1 (x) 6 7 1 66 77 fm (x)



(4.32)

4.3.2. УСЛОВИЕ РЕГУЛЯРНОСТИ

Пусть x1 — допустимая в задаче (4.28), (4.29) точка, в некоторой окрест ности которой каждая функцияограничение fi непрерывно дифференцируе ма, i = 1, ..., m. Точку x1 называют регулярной точкой задачи, если градиенты 13fi (x1 )2 всех функцийограничений {fi} линейно н е з а в и с и м ы, т. е. если вектор ное равенство (4.33) 112f1 (x1 ) 3 ... 3 1 m2fm (x1 ) 4 0 возможно только при нулевых значениях {li}. Из курса линейной алгебры известно, что наибольшее число линейно не зависимых векторов в nмерном евклидовом пространстве Rn равно n. Поэто му для выполнения условия регулярности в допустимой точке 11 необходи мо, чтобы m £ n. Кроме того, регулярная точка задачи (4.28), (4.29) не может быть стационарной точкой ни для одной из функцийограничений этой зада чи, т. е. 1fi (x1 ) 2 0 " i = 1, ..., m. Рассмотрим следующий пример. Очевидно, что в задаче f0 (x) 1 2x1 2 x2 3 min, f1 (x) 1 x12 2 x22 3 1 4 0,

90

(4.34) (4.35) ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

11 324 1 221 2 21 3 2 4 5

(4.36)

203 2 11 3 213 имеются только три допустимые точки: x1 4 5 6, x2 4 5 6 e x3 4 5 6. 1 0 7 8 7 8 7 08 Поскольку в точке x Î R2 градиентами функцийограничений f1 и f2 яв 1x 2 12x 2 ляются соответственно векторы 3f1 (x) 4 25 1 6 и 3f2 (x) 4 5 1 6, в допусти x 7 28 7 1 8 мых точках задачи (4.34)–(4.36):

132 311 421 5 4 5 6 6 728

132 312 421 5 4 5 66 718

12 4f1 (x2 ) 5 26 37, 8 09

12 4f2 (x2 ) 5 26 37, 8 19

122 3f1 (x3 ) 4 5 6, 708

122 3f2 (x3 ) 4 5 6. 718

(4.37) (4.38)

(4.39)

Легко доказать, что векторное равенство l1Ñf1(x1) + l2Ñf2(x2) = 0

(4.33¢)

выполняется при ненулевых l1 и l2, если l2 = –2l1, а равенства l1Ñf1(x2) + l2Ñf2(x2) = 0

(4.33²)

l1Ñf1(x3) + l2Ñf2(x3) = 0

(4.33¢¢¢)

и выполняются только при нулевых значениях l1 и l2. Значит, x2 и x3 являются регулярными в задаче (4.34)–(4.36) точками, 1 а x — нерегулярной. 4.3.3. УСЛОВИЯ МИНИМУМА

При некоторых предположениях о свойствах задачи (4.28), (4.29) в сле дующей теореме сформулированы необходимые условия локального мини мума. Теорема 4.7. Пусть x* — локальное регулярное решение задачи (4.28), (4.29), в некоторой окрестности которого целевая функция f0 этой задачи непрерывно дифференцируема. Тогда найдется такая точка u* Î Rm, что ÑxL(x*, u*) = 0.

(4.40)

Учитывая соотношение (4.31¢), условие (4.40) можно записать в виде m

34f0 (x1 ) 2 5 ui14fi (x1 ) i 21

(4.40¢)

и дать такую геометрическую интерпретацию теоремы 4.7: антиградиент –Ñf0(x*) целевой функции f0 в регулярной точке локального минимума x* задачи (4.28), (4.29) является линейной комбинацией градиентов {Ñfi(x*)} функций*ограничений {fi}. ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

91

Компоненты {ui1 } точки u*, указанной в теореме 4.7, называют множите* лями Лагранжа, а саму точку u* — вектором множителей Лагранжа. Ка ждой регулярной точке локального минимума задачи (4.28), (4.29) соответ ствует е д и н с т в е н н ы й вектор множителей Лагранжа. Поскольку по предположению x* является допустимой в задаче (4.28), (4.29) точкой, учитывая определения (4.31) и (4.32), при выполнении соотноше ния (4.40) также выполняется векторное равенство ÑL(x*, u*) = 0,

(4.41)

u*)

является стационарной точкой функции Лагранжа (4.30). т. е. пара (x*, Итак, при выполнении предположений теоремы 4.7 некоторые локаль ные решения задачи (4.28), (4.29) можно искать среди соответствующих ком понент решений системы n + m уравнений (4.41) относительно n + m неиз вестных (x*, u*). При этом следует помнить, что поскольку теорема 4.7 имеет характер необходимых условий локального минимума, после отыскания ка ждого решения (x*, u*) системы уравнений (4.41) его компоненты x* необхо димо еще дополнительно исследовать на (локальный) м и н и м у м задачи. Кроме того, даже если в точке локального минимума целевая функция зада чи дифференцируема, однако эта точка не является регулярной, то в общем случае указанным способом — методом множителей Лагранжа — ее мож но и не найти. Рассмотрим несколько примеров. Пример 4.3. Найти все (локальные) решения задачи (4.34)–(4.36) и соот ветствующий каждому регулярному решению вектор множителей Лагранжа. 102 У задачи (4.34)–(4.36) имеется только три допустимые точки: x1 3 4 5, 617 2 11 3 112 x2 4 5 6 и x3 3 4 5 — решения системы уравнений (4.35), (4.36) (двух по 7 08 607 следних уравнений системы уравнений (4.41)). Каждая из точек x1, x2 и x3 является изолированной точкой1 допусти мого множества рассматриваемой задачи. Поэтому все эти точки являются условными локальными как минимумами, так и максимумами целевой функ ции f0 (4.34) на допустимом множестве задачи. Поскольку f0(x1) = f0(x3) = –1, f0(x2) = 1, то точки x1 и x3 являются абсо лютными минимумами, а точка x2 — локальным минимумом функции f0 на допустимом множестве задачи (4.34)–(4.36) (точка x2 является абсолютным максимумом, а точки x1 и x3 — локальными максимумами функции f0 на допустимом множестве задачи (4.34)–(4.36)). Первыми двумя компонентами градиента функции Лагранжа L(x, u) 3 4x1 4 x2 5 u1 1 x12 5 x22 4 12 5 u2 1 x12 5 x2 4 12

задачи (4.34)–(4.36) являются 1L(x, u) 2 31 4 2u1x1 4 2u2x1 1x1

e

1L(x, u) 2 31 4 2u1x2 4 u2. 1x2

(4.42)

1 Точку y, принадлежащую множеству Y Í Rn, называют изолированной точкой этого мно жества, если в некоторой окрестности точки y нет других точек множества Y.

92

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Система уравнений

2 1L(x 1, u) 3 0, 44 1x1 5 1 4 1L(x , u) 3 0, 46 1x2

(4.40²)

относительно неизвестных множителей Лагранжа u1 и u2, соответствующих решению x1 задачи, ввиду соотношений (4.42) принимает вид 11 2 0, 3 4 1 1 5 2 u 5 2 u2 2 0, 1 6

(4.40¢¢¢)

и очевидно является несовместной. Поэтому одному из двух решений зада чи (4.34)–(4.36) — точке x1 — н е л ь з я сопоставить ни один вектор u Î R2, имеющий свойства вектора множителей Лагранжа (x1 не является регуляр ной точкой задачи). Система уравнений 2 1 1 3 2 1 4 35 3 64 44 122 5 1 1 3 2 1 4 35 4 3 64 46 121 относительно неизвестных множителей Лагранжа u1 и u2, соответствующих регулярному локальному решению задачи x2, ввиду соотношений (4.42) при нимает вид 341 4 2 1 u1 5 u2 2 6 0, 7 41 5 u2 6 0 8

2 11,5 3. и имеет единственное решение u2 4 5 6 7 1 8 По такому же принципу построена и система уравнений 4 3L(x3 , u) 5 61 7 2 1u1 7 u2 2 5 0, 88 3x1 9 3 8 3L(x , u) 5 61 7 u2 5 0, 8 3x2

2 10,5 3 имеющая единственное решение u3 4 5 6. 7 1 8 Итак, у задачи (4.34)–(4.36): 2 11 3 · x2 4 5 6 — локальное регулярное решение, которому соответствует век 7 08 2 1234 3 тор множителей Лагранжа 11 4 5 65 7 2 8 1 1 2 · 13 3 4 5 — регулярное решение, которому соответствует вектор множи 607 2 10,5 3; телей Лагранжа u3 4 5 6 7 1 8 02 1 1 · x 3 4 5 — нерегулярное решение, для которого н е с у щ е с т в у е т век 617 тор множителей Лагранжа. ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

93

Пример 4.4. Методом множителей Лагранжа решить задачу x2 2 inf2 ,

(4.43)

x2 1 x31 2 0.

(4.44)

x1R

Функция Лагранжа задачи (4.43), (4.44) — L(x, u) 3 x2 4 u 1 x2 5 x13 2.

(4.45)

Градиент функции Лагранжа (4.45) — вектор 2 1L(x, u) 3 4 1x 5 2 4 1L(x1, u) 5 2 63 u x1 3 4 5 9 1 u 5. 7L(x, u) 8 4 4 1x2 5 44 x 6 x3 55 4 1L(x, u) 5 2 1 4 5 1u

Е д и н с т в е н н ы м решением системы уравнений 313 u x12 2 0, 4 6 1 5 u 2 0, 4x 1 x3 2 0, 7 2 1

(4.41¢)

единственной стационарной точкой функции Лагранжа (4.45) является пара 203 точек (x*, u*), x1 4 5 6, u* = –1, причем x* = 0 очевидно является регулярной 708 допустимой точкой задачи (4.43), (4.44). Поскольку у задачи (4.43), (4.44) н е т решений, полученная методом Лагранжа единственная пара точек (x*, u*) такова, что ее компоненты x* н е я в л я ю т с я решением задачи, а точка (в данном случае число) u* — соот ветствующим x* множителем Лагранжа. Пример 4.5. Методом множителей Лагранжа решить задачу n

f0 (x) 3 5 xj 4 infn,

(4.46)

f1 (x) 2 4 x2j 3 1 1 0.

(4.47)

j 21 n

j 11

x1R

Множество допустимых точек задачи (4.46), (4.47) ограничено и замкну то в Rn. На этом множестве целевая функция f0 задачи непрерывна. Поэтому, согласно теореме 4.2 (Вейерштрасса), у этой задачи имеется по крайней мере одно решение. Градиент Ñf1(x) единственной функцииограничения равен Ñf1(x) = 2x и отличен от нулевого вектора на допустимом множестве задачи. Поэтому ка ждая допустимая точка этой задачи, и в частности любое ее решение, являет ся регулярной точкой. Значит, все (локальные) решения задачи (4.46), (4.47) находятся среди соответствующих компонент стационарных точек функции Лагранжа 94

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

n 2 n 3 L(x, u) 1 xj 4 u 6 xj2 5 1 7 6 7 j 11 8 j 11 9

(4.48)

этой задачи. 1L(x, u) 2L(x, u) n 2 Так как 1 4 xj 3 1, то у системы 2 1 3 2uxj , j 2 1, ..., n, и 2u 1xj j 11 уравнений 3 1 2 2 u x1 1 0, 4 1 4 1 2 2 u x 1 0, (4.41²) n 5 n 4 2 4 8 xj 6 1 1 0, 7 j 11 очевидно имеются д в а решения (x*, u*) и (x*, u*), где u1 2 n 2 3u1 , а векторы 2 1 1 , x* Î Rn и x* Î Rn содержат только одинаковые компоненты: x1 j 2 3 1 2 3 2u n 1 1 j = 1, ..., n (у функции Лагранжа (4.48) имеются две стацио x1j 2 3 2 , 2u1 n нарные точки). Очевидно, что единственным решением задачи (4.46), (4.47) является точка 21 3 1 4 5 1 8 R n , этой точке соответствует множитель Лагранжа 21 2 1 1 x1 6 7 2 n 41 5 9

а значение задачи равно f01 2 f0 (x1 ) 2 3 n. Легко доказать, что в точке x* с 1 компонентами x1j 2 , j = 1, ..., n, целевая функция f0(x) задачи (4.46), (4.47) n принимает н а и б о л ь ш е е значение f01 2 f0 (x1 ) 2 n на множестве допусти мых точек этой задачи — на множестве решений уравнения (4.47). Если в задаче (4.28), (4.29) все функцииограничения {fi} линейны и из вестно, что по крайней мере одна допустимая точка задачи регулярна, то и каждая допустимая точка этой задачи регулярна. В случае, когда целевая функция f0 выпукла, а все функцииограниче ния {fi} линейны, задача (4.28), (4.29) является задачей выпуклого програм мирования. Тогда имеет место следующее утверждение. Теорема 4.8. Пусть в задаче (4.28), (4.29) целевая функция f0 выпукла и дифференцируема на Rn, а градиенты заданных на Rn линейных функций* ограничений {fi} линейно независимы. Тогда если для некоторой пары то* чек (x*, u*), x* Î Rn, u* Î Rm, выполняется векторное равенство (4.41), то x* — решение задачи (4.28), (4.29), а u* — соответствующий x* вектор множи* телей Лагранжа.

4.4. ЗАДАЧИ В ОБЩЕЙ ПОСТАНОВКЕ В этом разделе рассматривается задача математического программиро вания в постановке f0(x) ® inf, (4.49) fi(x) £ 0, i = 1, ..., m¢, (4.50) ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

95

fi(x) = 0,

i = m + 1, ..., m, x Î W,

(4.51) (4.52)

где m¢ и m — заданные неотрицательные целые числа, m¢ £ m, W — некоторое заданное множество евклидова пространства Rn, на котором определены це левая функция f0 и функцииограничения {fi}. Задача (4.49)–(4.52) имеет наиболее общий по форме вид по сравнению с задачами, рассмотренными в предыдущих разделах. Действительно, если W = Rn и m = 0, то эта задача является задачей безусловной минимизации функции f0; если m = 0 (нет ни ограничений*неравенств (4.50), ни ограниче* ний*равенств (4.51)), а множество W имеет вид множества X (4.16), то зада ча является задачей минимизации с простейшими ограничениями; если m¢ = 0, m ³ 1 и W = Rn, то задача принимает вид задачи (4.28), (4.29), содержащей только ограниченияравенства. Поэтому условия оптимальности в зада чи (4.49)–(4.52), существенно обусловленные свойствами функций {fi} и мно жества W, должны также охватывать все типы ранее рассмотренных задач. Определим функцию Лагранжа задачи (4.49)–(4.52) m

L(x, u) 2 f0 (x) 3 4 ui fi (x), i 11

где предполагается, что x Î W, u Î U и U º {u Î Rm: ui ³ 0, i = 1, ..., m¢}

(4.53) R m,

первые m¢ (множество U содержит те и только те точки пространства компонент которых неотрицательны). Если в задаче (4.49)–(4.52) W = Rn и все функцииограничения {fi} непре рывно дифференцируемы на Rn, допустимую точку x1 называют регулярной, если в этой точке выполняется по крайней мере одно из следующих двух утверждений: · (R1): линейно независимы градиенты {1fi (x1 )} тех функцийограничений {fi}, номера которых содержит множество индексов A (x1 ) 1 {i 2 {1, ..., m} : fi (x1 ) 3 0};

· (R2): линейно независимы градиенты 1121 231 34 всех функций {fi}, i = = m¢ + 1, ..., m, и для некоторого вектора s Î Rn выполняются соотношения 72 3fi (x1 ), s 45 0, 8 2 3fi (x1 ), s 42 0

где

i 5 m1 6 1, ..., m, 9 i I (x1 ),

2 131 2 2 31 3 345 6665 417 8

51 131 2 4 976

i*е ограничение задачи (4.49)–(4.52) называют активным в допусти мой точке x1 , если fi (x1 ) 1 0. Согласно этому определению все ограниченияравенства (4.51) являются активными ограничениями в к а ж д о й допустимой точке. Также актив ными могут быть все или только некоторые ограничениянеравенства (4.50), однако какие именно — зависит от конкретной допустимой точки. 96

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Рис. 4.4

Итак, A(x1 ) — множество номеров всех активных ограничений в допус тимой точке x1, а I(x1 ) — множество номеров всех активных в этой точке ограниченийнеравенств; всегда I (x1 ) 1 A(x1 ) и не исключается случай, когда множество 1121 2 пусто. Неактивное в допустимой точке ограничение называют пассивным в этой точке. Очевидно, что ни одно ограничениеравенство ни в одной допустимой точке не может быть пассивным. iе ограничениенеравенство (4.50) в допус тимой точке x1 является пассивным тогда и только тогда, когда fi (x1 ) 1 0. Таким образом, в части (R1) определения регулярной точки x1 требуется л и н е й н а я н е з а в и с и м о с т ь градиентов в с е х функцийограничений, являющихся а к т и в н ы м и в этой точке ограничениями, а в части (R2) — менее ограничительной по сравнению с (R1) — требуется линейная независи мость градиентов только функцийограничений, определяющих ограниче нияравенства (4.51)1. На рисунке 4.4 дана геометрическая иллюстрация различия условий (R1) и (R2): в указанной допустимой точке x1 условия (R2) выполняются, а усло вие (R1) не выполняется. В следующем утверждении сформулированы н е о б х о д и м ы е у с л о  в и я локального решения задачи (4.49)–(4.52). Теорема 4.9. Пусть в задаче (4.49)–(4.52) W = Rn, x* — регулярная точка минимума функции f0, в некоторой окрестности которой и функция f0,

1

Можно доказать, что при выполнении условий (R1) всегда выполняются условия (R2).

ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

97

и все функции*ограничения {fi} непрерывно дифференцируемы. Тогда найдет* ся такой вектор u* Î U, что m

3 x L(x1 , u1 ) 4 3f0 (x1 ) 5 6 ui1fi (x1 ) 2 0, i 21

ui1 fi (x1 ) 3 0,

i 3 1, ..., m 2.

(4.54) (4.55)

Равенства (4.55) называют условиями дополняющей нежесткости. Из этих условий, определения множества U (4.53) и допустимости точки x* следует, что для каждого пассивного iго ограничения задачи ui1 2 0. Как и для оптимизационных задач с ограничениями на переменные в форме равенств компоненты {ui1 } указанного в теореме 4.9 вектора u* назы вают множителями Лагранжа, а сам вектор u* — вектором Лагранжа. Теорема 4.10. При выполнении условий теоремы 4.9 и линейной незави* симости градиентов всех функций, определяющих активные ограничения задачи (4.49)–(4.52), существует единственный вектор Лагранжа. Достаточные условия локального решения задачи (4.49)–(4.52) сформу лированы в следующем утверждении. Теорема 4.11. Пусть в задаче (4.49)–(4.52) W = Rn, x* — допустимая точ* ка, минимизируемая функция f0 и все функции*ограничения {fi} непрерывно дифференцируемы в некоторой окрестности точки x*, число активных ог* раничений в точке x* (количество элементов множества A(x*)) равно n, а градиенты {Ñfi(x*)}, i Î A(x*), соответствующих функций*ограничений ли* нейно независимы. Пусть для некоторого вектора u* Î U, каждая i*я компо* нента ui1 которого нулевая, если fi(x*) < 0, и положительная, если i Î I(x*), выполняется векторное равенство 3f0 (x1 ) 4

6

i2 A ( x1 )

ui1fi (x1 ) 5 0.

(4.54¢)

Тогда x* — локальное решение задачи (4.49)–(4.52). При описании условий локального решения x* задачи (4.49)–(4.52) нали чие свойств выпуклости множества W, минимизируемой функции f0 и функ цийограничений {fi} позволяет исключить из определения регулярности точ ки x* требования выполнения достаточно обременительных предположе ний (R1) и (R2). Формулировке соответствующих утверждений необходимо предпослать несколько вспомогательных определений. Задачу (4.49)–(4.52) называют задачей выпуклого программирования, если в постановке этой задачи множество W, целевая функция f0 и функцииогра ничения {fi}, i = 1, ..., m¢ выпуклы, а функцииограничения {fi}, i = m¢ + 1, ..., m, линейны. В силу теоремы 4.1, каждое локальное решение задачи выпуклого про граммирования также является ее (абсолютным) решением. Множество W Í Rn называют полиэдральным или полиэдром, если это мно жество совпадает с множеством решений некоторой системы конечного числа линейных неравенств: для некоторых k векторов {pi} пространства Rn и дейст вительных чисел {qi} W = {x Î Rn: £ qi, i = 1, ..., k}. 98

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Очевидно, что множество решений уравнения < h, x > = q, определяемого вектором p Î жеством решений системы двух линейных неравенств

Rn и действительным числом q, совпадает с мно+ 41 p, x 2 3 q, 5 71 6 p, x 2 3 6 q.

Поэтому данное определение полиэдрального множества равносильно внешне более общему определению: полиэдральным множеством в Rn назы+ вают множество, совпадающее с множеством решений некоторой системы к о н е ч н о г о числа линейных уравнений и линейных неравенств. Легко доказать, что каждый полиэдр является выпуклым множеством. Теорема 4.12. Пусть в задаче (4.49)–(4.52) множество W выпукло и содер жится в множестве внутренних точек областей определения минимизируе мой функции f0 и нелинейных функций, определяющих ограничения (4.50). Пусть все функции {fi}, i = 1, ..., m¢, выпуклы, функции {fi}, i = m¢ + 1, ..., m, линейны и x* — локальное решение задачи, в некоторой окрестности кото рой функции f0 и функции {fi}, i = 1, ..., m¢, непрерывно дифференцируемы. Пусть также выполняется по крайней мере одно из следующих условий: · (R3): ограниченийравенств (4.51) нет (m = m¢) и для некоторой точки x1 1 2 fi (x1 ) 2 0, i 3 1, ..., m1; (4.56) · (R4): множество W — полиэдр и все функцииограничения {fi} линейны; · (R5): множество W — полиэдр, для некоторого k, 0 < k £ m¢, функции fk 21, ..., fm1 линейны и найдется такая допустимая в задаче точка x1, что (4.56¢) fi (x1 ) 1 0, i 2 1, ..., k; · (R6): для некоторого k, 0 < k £ m¢ функции 31212 3332 321 линейны и найдет ся такая допустимая в задаче внутренняя точка x1 множества W, для которой выполняются неравенства (4.56¢). Тогда найдется точка u* Î U, для которой выполняются условия допол няющей нежесткости (4.55) и неравенство ³ 0 " x Î W.

(4.57)

При этом: 1) если x* является внутренней точкой множества W, то условие (4.57) равносильно условию (4.54); 2) если множество W имеет вид W = {x Î Rn: aj £ xj £ bj, j = 1, ..., n}, где фиксированы действительные числа a1, . . . , an и b1, . . . , bn таковы, что –¥ £ aj < bj £ +¥, ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

j = 1, ..., n, 99

то условие (4.57) равносильно условию: для каждого j = 1, ..., n, 42 0, если aj 3 x1 j 3 bj , 5L(x1 , u1 ) 6

7 0, если x1 j 2 aj 2 89, 5xj 6 0, если x 2 b 9; 1j j 

3) если множество W имеет вид W = {x Î Rn: xj ³ 0,

j = 1, ..., l},

где l — целое число, 0 £ l £ n, то условие (4.57) равносильно совокупности условий

3 2L(x1 , u1 ) 4 0, 7 2x j 7 8 1 7 2L(x1 , u ) 6 0, 7 2xj

x1 j 5

2L(x1 , u1 ) 6 0, j 6 1, ..., l, 2xj

j 6 l 9 1, ..., n.

Условие (R4) теоремы 4.12 называют условием линейности ограниче ний задачи (4.49)–(4.52), условие (R3) — условием Слейтера, условия (R5) и (R6) — модифицированными условиями Слейтера, точку u* — вектором Лагранжа. Общим для условий (R5) и (R6) является требование выполнения некото* рого типа обычного условия Слейтера для ограничений*неравенств задачи. Различие этих условий определяется общими свойствами множества W и ме* стоположением допустимой точки 11 1 Очевидно, что в случае, когда W = Rn, нет никаких различий между условиями (R5) и (R6). Если дополнительно к условиям теоремы 4.12 потребовать выпуклость на множестве W минимизируемой функции f0 задачи (4.49)–(4.52), то эта задача будет принадлежать классу задач выпуклого программирования. Для каждой задачи этого класса сформулированные необходимые условия мини* мума также являются и достаточными условиями минимума. Теорема 4.13 (Куна1 — Таккера2 в дифференциальной форме). Пусть до полнительно к предположениям теоремы 4.12 функция f0 выпукла на W. Тогда допустимая в задаче (4.49)–(4.52) точка x* является решением этой задачи тогда и только тогда, когда для некоторого вектора u* Î U выпол няются условия (4.55) и (4.57). Для задач математического программирования, сформулированных в тер* минах недифференцируемых функций, условия минимума не могут содер* жать требования дифференцирования функции Лагранжа в классическом понимании этой операции. Для таких задач выполняются некоторые обоб* щенные условия минимума. Теорема 4.14 (Куна — Таккера). Пусть в задаче (4.49)–(4.52) нет огра ниченийравенств (4.51), а выпуклое множество W содержится в пересечении 1 2

Гарольд Кун (Harold Kuhn, b. 1925) — американский математик. Альберт Таккер (Albert Tucker, 1905–1995) — американский математик.

100

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

внутренних точек областей определения выпуклых функций f 0 и {fi}, i = 1, . . . , m. Пусть также выполняется условие Слейтера (R3). Тогда допустимая в задаче точка x* тогда и только тогда является ее решением, когда найдется вектор u* Î U, имеющий такие свойства: ( A)

ui1 2 0,

i 3 1, ..., m

(условие неотрицательности компонент вектора u*); ( B)

ui1 fi (x1 ) 2 0,

i 2 1, ..., m

(условия дополняющей нежесткости); (C)

L(x*, u*) £ L(x, u*)

"xÎW

(условие минимума функции L( × , u*) на множестве W). Указанный в теореме 4.14 вектор u* называют вектором Лагранжа. Свойство (C) вектора Лагранжа u* состоит в том, что именно при этом векторе выпуклая функция L( × , u*) принимает в точке x* Î W наименьшее на множестве W значение, т. е. x* принадлежит множеству решений задачи выпуклого программирования

L(x, u1 ) 4 min. x23

(4.58)

то задача (4.58) является задачей безусловной минимиза Если W = ции функции L( × , u*). В таком случае, ввиду свойства (A) вектора u*, а также теорем 2.8 и 3.4, свойство (C) вектора u* равносильно выполнению включения Rn,

m

0 3 4f0 (x1 ) 5 6 ui14fi (x1 ), i 21

(4.59)

где ¶fi(x*) — субдифференциал в точке x* выпуклой функции fi, i = 0, 1, ..., m (см. разд. 2.2.3). Если к тому же все функции {fi} задачи дифференцируемы на Rn, то, согласно теореме 2.5, включение (4.59) принимает вид векторного равенства m

3f0 (x1 ) 4 5 ui13fi (x1 ) 2 0. i 21

(4.60)

В задачах выпуклого программирования требование, подобное условию Слейтера, излишне только в случае линейных ограничений на переменные. Например, выполняется такое утверждение. Теорема 4.15. Пусть в задаче f0(x) ® min, £ qi, i = 1, ..., m,

(4.61) (4.62)

множество внутренних точек области определения выпуклой функции f0 содержит допустимое множество X º {x Î Rn: £ qi, i = 1, ..., m}.

ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

101

Тогда необходимым и достаточным условием принадлежности точки x* Î X множеству решений задачи (4.61), (4.62) является существование такого вектора u* Î Rm, что ( A 2)

ui1 3 0,

( B2)

3 pi , x1 4 3 qi

(C3)

i 4 1, ..., m;

ui1 6 0,

5

i 6 1, ..., m;

m

7ui1 pi 4 56f0 (x1 ). i 21

При этом если функция f0 дифференцируема, то условие (C¢) принима* ет вид m (C 33) – 4f0 (x1 ) 2 5 ui1 pi , i 21

а если f0(x) = 33 3334

– q0, то

1

4 41 2 5 521 42 5 2 22

Рассмотрим пример применения теоремы 4.14 для решения одной из простейших задач математического программирования. Пример 4.6. Найти все решения задачи –x2 ® max,

(4.63)

x12 1 x22 2 1,

(4.64)

1 x1,

(4.65)

x1 + x2 ³ 0.

(4.66)

x22

Очевидно, что множество решений задачи (4.63)–(4.66) совпадает с мно жеством решений задачи выпуклого программирования f0(x) º x2 ® min, f1 (x) 1

x12

2 x22

(4.63¢)

3 1 4 0,

(4.64¢)

f2 (x) 1 2x1 3 x22 4 0,

(4.65¢)

f3(x) º –x1 – x2 £ 0,

(4.66¢)

имеющей вид задачи (4.49)–(4.52) с W = R2, содержащей ограничения на пе ременные только в форме неравенств. Для задачи (4.63¢)–(4.66¢) выполняется условие Слейтера (например, в 1 точке x1 3 0,514 25 неравенства (4.64¢)–(4.66¢) выполняются как строгие). По 617 этому для отыскания решения этой задачи можно воспользоваться теоре мой 4.14 (Куна — Таккера), в которой условие (C) равносильно векторному равенству (4.60). Функцией Лагранжа задачи (4.63¢)–(4.66¢) является L(x, u) 1 x2 2 u1 (x12 2 x22 3 1) 2 u2 ( 3x1 2 x22 ) 2 u3 (3x1 3 x2 ).

102

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Значит, решениями задачи (4.63¢)–(4.66¢) являются соответствующие компоненты {x*} всех решений {(x*, u*)} системы уравнений 2u1x1 – u2 – u3 = 0,

(4.67)

1 + 2u1x2 + 2u2x2 – u3 = 0,

(4.68)

u1 (x12 1 x22 2 1) 3 0,

(4.69)

u2 (1x1 2 x22 )

3 0,

(4.70)

u3(–x1 – x2) = 0,

(4.71)

к которой также добавлены условия неотрицательности неизвестных {ui} u1 ³ 0,

u2 ³ 0,

u3 ³ 0,

(4.72)

и условия (4.64¢)–(4.66¢), выражающие принадлежность искомой точки x* множеству допустимых точек задачи (равенства (4.67) и (4.68) являются след ствием условия стационарности точки x* для функции L( × , u*) — усло вия (4.60), а соотношения (4.69)–(4.71) представляют собой условия допол няющей нежесткости). Найти все решения полученной системы уравненийнеравенств можно, рас смотрев все возможные варианты принадлежности каждого ограничения зада чи множествам активных или пассивных ограничений (если некоторое iе ограничение задачи пассивное, то согласно условиям дополняющей нежестко сти ui1 2 0, что естественно учесть в соотношениях (4.67)–(4.72), полагая ui = 0). Для задачи (4.63¢)–(4.66¢) всего имеется 8 возможных вариантов разделе ния ограничений на активные и пассивные: 1 вариант, когда все ограниче ния пассивны; 1 вариант, когда пассивных ограничений нет (все ограниче ния активны); 3 варианта, когда имеется одно пассивное и два активных ограничения; 3 варианта, когда имеется два пассивных и одно активное ог раничение. Рассмотрим случай, когда ограничение (4.65¢) пассивное, а ограниче ния (4.64¢) и (4.66¢) активные. При таком предположении имеем систему условий 2u1x1 – u3 = 0, (4.67¢) 1 + 2u1x2 – u3 = 0,

(4.68¢)

x12 1 x22 2 1 3 0,

(4.64²)

–x1 – x2 = 0,

(4.66²)

u1 ³ 0, u3 ³ 0

(4.72¢)

(в записи системы требований (4.67)–(4.72) учтено, что u2 = 0). У системы уравнений (4.64²), (4.66²) имеется единственное решение 2 2 13 x1 4 , подстановка которого в уравнения (4.67¢) и (4.68¢) позволяет 2 58 7196 2 1 найти u11 2 и u31 2 . 4 2 ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

103

2 23 2 2 13 1 1 4 5 , u 6 0 Итак, при сделанном предположении пара 2 48 71 59 44 5 2 8 9 является единственным решением системы уравненийнеравенств (4.67)– (4.72), (4.64¢)–(4.66¢). Поэтому, в силу теоремы 4.14, точка x* является реше нием как задачи (4.63¢)–(4.66¢), так и исходной задачи (4.63)–(4.66). Читателю предоставляется возможность самостоятельно убедиться в том, что каждый из оставшихся 7 вариантов разбиения множества ограни чений задачи (4.63¢)–(4.66¢) на активные и пассивные приводит к противо речивой (несовместной) системе уравненийнеравенств. Поэтому других 2 2 13 , у задачи решений, отличных от уже найденного решения x1 4 2 58 7196 (4.63)–(4.66) нет. В завершение этого раздела необходимо отметить следующее. Для большинства задач, даже содержащих сравнительно небольшие ко личества неизвестных и ограничений и в которых аналитические свойства целевых функций и функцийограничений достаточно простые, непосредст венно применять приведенные условия оптимальности для отыскания реше ний этих задач достаточно сложно. Основное значение условий оптимально сти состоит несколько в другом. Во*первых, условия оптимальности, сформулированные для задач из не которых классов задач, позволяют проверять на оптимальность (или на отсут ствие оптимальности) точки, предлагаемые в качестве решений этих задач. Во*вторых, условия оптимальности определяют идейные основы для по строения и обоснования специальных численных методов отыскания реше ний задач, самых разных по своим свойствам. И в*третьих, условия оптимальности применяют для исследования не которых свойств уже найденных решений задач, в частности, для выясне ния единственности этих решений или их некоторой устойчивости к ошиб кам (погрешностям), неизбежным как при проведении вычислений, так и при предоставлении исходной информации о задаче. Соответствующие примеры применения условий оптимальности будут приведены в последующих разделах книги.

(x*, u*),

x1 6

Вопросы и задания 1. Докажите, что требование «переменная x может принимать только значение 0 или 1» равносильно требованию «значение переменной x принадлежит множе ству решений уравнения x(x – 1) = 0». Определите функцию f одной перемен ной, для которой требование x Î {x1, ..., xm} равносильно требованию f (x) = 0. 2. Докажите, что требование неотрицательности переменной x введением вспомо гательной переменной y равносильно любому одному из четырех требований: | y | – x = 0;

| y | – x £ 0;

y2 – x = 0;

y2 – x £ 0.

3. Приведите пример множества в евклидовом пространстве, каждая точка кото рого одновременно является и локальным минимумом, и локальным максиму мом п р о и з в о л ь н о й функции, определенной на этом множестве.

104

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

4. Приведите примеры, когда отсутствие какоголибо условия теоремы 4.2 (Вей ерштрасса) приводит к неправильному ее утверждению. 5. Докажите, что в случае отрицательности производной f ¢(x; s) функции f по на правлению s в точке x направление s является направлением убывания функ ции f в точке x. 6. Докажите, что в стационарной точке 0 функции 1 3 2 4 1 221 2 211 5 определенной на R2, множеством направлений убывания D(0; f) является {s Î R2: |s2| > |s1|}. 7. Докажите, что в стационарной точке x0 = 0 функции f (x) = x3, определенной на R, производная f ¢(x0; –1) равна 0, однако направление s = –1 является направ лением убывания этой функции в точке x0 (один из простейших примеров, ко гда из утверждения (4.11²) не следует (4.11¢)). 8. Докажите, что для функции f (x) = x2, определенной на R2, множеством направ лений убывания в точке 0 Î R2 является D(0; f ) = {s Î R2: s2 < 0}. 9. Докажите, что множеством возможных направлений относительно множества X 1 {x 2 R 2 : x2 3 x13 } в точке 0 Î X является K(0; X) = {s Î R2: s2 ³ 0}\{s Î R2: s1 ³ 0, s2 = 0}. 10. Докажите выпуклость множества X (4.16). 11. Докажите, что функция 1 3 2 4 1 5 221 2 22 21 3 1 211 выпукла на R2 и что задача ее минимизации на множестве X = {x Î R2: 4 £ x1 £ 8, –1 £ x2 £ 2} имеет значение

1 f* = 62 и единственное решение 11 4 25 36 2 73 8 12. Докажите выпуклость на Rn и дифференцируемость функции f (4.25); обоснуй те правило (4.26) вычисления градиента этой функции. 13. Пусть числа a, b и c таковы, что a > 0 и 4ac > b2. Докажите, что единственным решением задачи минимизации на множестве неотрицательных чисел R + функции f (x) = ax2 + bx + c является 0, если b > 0, и –b/(2a), если b £ 0. 14. Докажите, что если все функции {fi} задачи (4.28), (4.29) выпуклы, то при любом фиксированном векторе u, имеющем неотрицательные компоненты 12 2 311 23 функция Лагранжа L(x, u) (4.30) этой задачи выпукла относительно x. Докажите также, что если все функцииограничения {fi} задачи линейны, а ее целевая функция f0 выпукла, то при произвольном фиксированном векторе u Î Rm функция Лагранжа L(x, u) (4.30) выпукла относительно x. 15. Докажите, что в задаче x2 ®

min,

3 12 1 241 1 111 2 25 3 12 1 241 2 1 11 3 25

единственной допустимой точкой является нерегулярная точка 0 — решение задачи. ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

105

16. Докажите, что у задачи

121 1 3 11 2 241 3 5678 x1 = 0, –x1 = 0

17. 18. 19. 20.

1 имеется единственное решение 1 1 3 14 25 2 не являющееся регулярной точкой. 63 7 Докажите линейную зависимость пары векторов (4.37) и линейную независи мость как векторов (4.38), так и векторов (4.39). Почему каждая изолированная точка множества допустимых точек задачи условной оптимизации является локальным решением (экстремумом целевой функции) этой задачи? Докажите, что у задачи (4.43), (4.44) нет решений, а ее значение равно –¥. Применяя метод множителей Лагранжа, докажите, что у задачи 21 1 47 3 2 3 3456 4 2 12 51 4 3 12 2 47 6 2 12

единственным решением является точка x* Î Rn, имеющая одинаковые компо ненты x*j = 1/n, j = 1, ..., n, значение задачи равно 1/n, и u* = –2/n — множи тель Лагранжа. 21. Применив метод множителей Лагранжа, докажите, что единственным решени ем задачи

2 1 1 538 3 2 4 3456 5 2 12 61 5 23 12 2 58 7 2 12 21 3 11 425 3 1 4 является точка 11 6 2 4 5 3 а значение этой задачи равно –p, где 3 5 6 22 7 3 6 7 44 1 55 8 2 21 9 3 7 8 22. Докажите, что каждый полиэдр является выпуклым множеством. 23. На примере задачи 11

2 2341 5 112

3 12 1 24 1 1 1 11 2 25 3 12 1 24 1 2 1 11 3 2 ,

имеющей единственное решение x* = 0, убедитесь в отсутствии вектора Лагран жа для этого решения. 24. Докажите, что единственным решением задачи 11

2 2341 5 112

x1 + x2 £ 2,

106

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1 4 5 6 11 4 231 3 12 11 7 22 1 является точка 11 4 25 36 2 для которой нет вектора Лагранжа. 71 8 25. Докажите, что единственным решением задачи 121 4 1 1 1 4 22 121

1

1 11

1

5 3451 6 132

2 23

1 4 5 6 11 4 231 3 12 7 42 213 является точка 11 4 5 6 2 которой соответствует единственный множитель Ла 8 73 9 * гранжа u = 0. 26. Предложите пример задачи математического программирования, значение ко торой конечно и множество решений непусто, однако добавление к ограниче ниям этой задачи единственного простейшего ограничения вида x1 £ a приво дит к задаче, имеющей непустое множество допустимых точек, но не имею щей решений.

ГЛАВА 4. ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ

107

ГЛАВА

ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

К

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

5.1. ОПРЕДЕЛЕНИЕ ДВОЙСТВЕННОЙ ЗАДАЧИ Пусть в задаче математического программирования f0(x) ® inf, fi(x) £ 0, i = 1, ..., m¢, fi(x) = 0, i = m¢ + 1, ..., m, x Î W,

(5.1) (5.2) (5.3) (5.4)

m¢ и m — заданные неотрицательные целые числа, m¢ £ m, W — некоторое заданное множество евклидова пространства Rn, на котором определены це* левая функция f0 и функции*ограничения {fi} этой задачи. 108

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Функция Лагранжа задачи (5.1)–(5.4) — это функция двух групп пере' менных m L(x, u) 2 f0 (x) 3 4ui fi (x), (5.5) i 11

где предполагается, что x Î W, u Î U и U º {u Î Rm: ui ³ 0, i = 1, ..., m¢}

(5.6) R m,

первые m¢ ком' (множество U составляют только те точки пространства понент которых неотрицательны). Задаче (5.1)–(5.4) ставится в соответствие двойственная задача 2 (u) 3 sup, (5.7) u1U

целевую функцию которой 34inf L(x, u), если u 1 U, (5.8) 5(u) 6 7x12 8 9, если u U, 4 называют двойственной функцией, а множество U — множеством допусти мых точек двойственной задачи. Задачу (5.1)–(5.4), если речь идет о двой' ственной задаче (5.7) или о двойственной функции y(u) (5.8), называют пря мой или исходной задачей. Таким образом, чтобы вычислить значение двойственной функции y(u) (5.8) необходимо найти значение задачи математического программи' рования L(x, u) 3 inf — (5.9) x12

при фиксированном u Î U минимизировать функцию Лагранжа L( × , u) (5.5) на множестве W. В некоторых случаях легче решить задачу (5.9), чем исходную зада' чу (5.1)–(5.4), так как при отыскании решения задачи (5.9) требуется при' надлежность точки x только множеству W, а в задаче (5.1)–(5.4) требуется обеспечивать принадлежность этой точки как множеству W, так и множест' ву решений системы уравнений'неравенств (5.2), (5.3). Следует отметить, что в определении множества U (5.6) требование неот' рицательности компонент вектора двойственных переменных u распростра' няется только на те его компоненты, которые сопоставляются ограничениям в форме неравенств (5.2). Исходная задача (5.1)–(5.4) может не содержать ни ограничений (5.2), ни ограничений (5.3). Для такой задачи определить функцию Лагранжа по форму' ле (5.5) очевидно нельзя, а значит, нельзя определить, согласно (5.8), двойст' венную функцию. В таком случае исходной задаче сначала ставится в соответст' вие эквивалентная ей задача, содержащая единственное ограничение, напри' мер, в форме равенства, а затем уже для этой задачи по формулам (5.5) и (5.7) определяются соответственно функция Лагранжа и двойственная задача. Например, для задачи f0(x) ® inf, (5.10) x Î W, (5.11) ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

109

содержащей n переменных x1, ..., xn — компонент вектора x Î Rn — введе нием дополнительной (n + 1)й переменной xn + 1 определим задачу xn + 1 ® inf,

(5.12)

f0(x) – xn + 1 = 0,

(5.13)

x Î W.

(5.14)

Задачи (5.10), (5.11) и (5.12)–(5.14) эквивалентны между собой в таком смысле: значения этих задач одинаковые, а решения одновременно или есть, или их нет. При этом действительное число f0* и вектор x* Î W Í Rn тогда и толь ко тогда являются соответственно значением и решением задачи (5.10), (5.11), 3x 4 когда вектор 6 1 7 5 R n21 является решением задачи (5.12)–(5.14) (если у за 8 f01 9 3 x11 4 5 1 6 6, то значение этой задачи рав дачи (5.12)–(5.14) имеется решение x1 7 5 5 x1n 6 5 x1n21 6 8 9 но значению x1 n 21 последней (n + 1)й компоненты решения x1 — конечно му значению f0* задачи (5.10), (5.11), а первые n компонент вектора x1 явля ются соответствующими компонентами решения x* задачи (5.10), (5.11); обратно, если x* — решение задачи (5.10), (5.11), то значением этой задачи и 3x 4 задачи (5.12)–(5.14) является число f0* º f0(x*), а вектор 6 1 7 5 R n21 является 8 f01 9 решением задачи (5.12)–(5.14)). Двойственной задачей, сопоставляемой задаче (5.12)–(5.14), а значит, и задаче (5.10), (5.11), является задача 1(u) 2 sup u

безусловной м а к с и м и з а ц и и функции одной переменной 7(u) 8

inf

x23 456xn11 65

L(x, u),

(5.15)

2 x1 3 x 3 4 1 5 2 aaa x 6 4 5 7 R n 11 , a 564 8 xn 11 9 4 xn 5 4x 5 8 n 11 9

L(x, u) 4 xn 31 3 u 1 f0 (x) 5 xn 31 2 — функция Лагранжа задачи (5.12)–(5.14). Легко понять, что при замене ограниченияравенства (5.13) задачи (5.12)– (5.14) на ограничениенеравенство f0(x) – xn + 1 £ 0,

(5.16)

полученная задача (5.12), (5.16), (5.14) также будет эквивалентна задаче (5.10), (5.11) в указанном выше понимании. Однако двойственная функция 110

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

задачи (5.12), (5.16), (5.14) для отрицательных значений двойственной пе ременной u принимает бесконечно малое значение –¥, а для неотрицатель ных значений u совпадает со значением функции y(u) (5.15). Следует отметить, что двойственная функция y (5.8) может принимать бесконечно малое значение –¥ и в точках множества U (5.6). Подмножество множества U, в точках которого функция y принимает конечные значения, называют эффективным множеством функции y и обозначают dom y. Итак, по определению dom y º {u Î Rm: y(u) > –¥}

(5.17)

— эффективное множество двойственной функции y и dom y Í U. При любых свойствах множества W и всех функций {fi} задачи (5.1)–(5.4) э ф ф е к т и в н о е м н о ж е с т в о dom y (5.17) д в о й с т в е н н о й ф у н к ц и и y (5.8) является в ы п у к л ы м м н о ж е с т в о м в Rm (разумеется, если это множество не пусто), а сама д в о й с т в е н н а я ф у н к ц и я в о г н у т а: для про извольных точек u¢, u² Î dom y и значении l Î [0; 1] выполняется неравенство y(vl) ³ ly(u¢) + (1 – l)y(u²), где vl º lu¢ + (1 – l)u² (т. е. противоположная функция –y(u) выпукла). В общем случае двойственная функция y задачи (5.1)–(5.4) может не быть непрерывной относительно множества dom y в граничных его точках. Одна ко если u — внутренняя точка множества dom y, все функции {fi} непрерыв ны на W, а точная нижняя грань функции L( × , u) на множестве W достигается в единственной точке xu: xu Î W, y(u) = L(xu, u) < L(x, u)

" x Î W, x ¹ xu

(точка xu зависит от u), то в точке u функция y дифференцируема и ее гради ент Ñy(u) вычисляется по формуле 2 1f1 (xu ) 3 5. 16(u) 7 4 1 4 1f (x ) 5 8 m u 9

Рассмотрим несколько примеров построения двойственных функций. Пример 5.1. Очевидно, что у задачи выпуклого программирования x ® inf,

(5.18)

x £ 0, x Î W,

(5.19) (5.20)

где W = {x Î R: x ³ 1}, допустимых точек, а значит, и решений нет1. Однако это не означает, что такой задаче нельзя сопоставить ее двойственную задачу2. 1 Принято считать, что при пустом допустимом множестве задачи математического про граммирования значение этой задачи бесконечно велико и равно +¥, если целевая функция минимизируется, и бесконечно мало и равно –¥, если целевая функция максимизируется. 2 Для некоторых оптимизационных задач нельзя без соответствующих и иногда весьма слож ных обоснований утверждать о наличии у этих задач допустимых точек.

ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

111

Функция Лагранжа задачи (5.18)–(5.20) — L(x, u) = x + ux. Значит, по определению (5.8) двойственной функции

34inf x(1 2 u), если u 1 0, 5(u) 6 8 x 11 9 , если u 0, 4

31 2 u, если u 1 0, 7 8 9 , если u 0.

(5.21)

Эффективное множество функции y(u) — dom y = {u Î R: u ³ 0}. Так как функция y(u) (5.21) не ограничена сверху на своем эффективном множестве dom y, значение y* соответствующей двойственной задачи (5.7) очевидно равно +¥ (бесконечно большое). Решений у двойственной задачи нет. Пример 5.2. Пусть в задаче (5.18)–(5.20) W = R — множество W является множеством действительных чисел R. Хотя у этой задачи и есть допустимые точки, решений у нее нет, а значеA ние равно –¥. Так как W = R, двойственной функцией задачи (5.18)–(5.20) является 67 inf x(1 4 u), если u 5 0, 8 (u) 9 12 3 x 3 2 1 2, если u 3 0, 7

1 2 u,

(5.22)

у которой эффективное множество dom y = Æ — пустое множество. Значение y* двойственной задачи (5.7) с целевой функцией (5.22) бескоA нечно мало (равно –¥). Пример 5.3. Если W = R+ º {x Î R: x ³ 0}, то единственной допустимой точкой задачи

11 1

2

2345

(5.23)

x £ 0,

(5.24)

xÎW

(5.25)

является действительное число 0 — единственное решение задачи. Значение этой задачи равно 0. Поскольку

L(x, u) 1 2 2 x 3 ux — функция Лагранжа задачи (5.23)–(5.25), двойственная функция — 3inf 1 42 x 7 ux 2, 9(u) 4 , 

112

если u 8 0, если u  0,



34 1 , если u 5 0, 6 u 64 , если u  0.

(5.26)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Эффективное множество функции y(u) (5.26) — dom y = {u Î R: u > 0}; у двойственной задачи (5.7) с целевой функцией y(u) (5.26) значение равно 0, а решений нет. Пример 5.4. У задачи выпуклого программирования e–x ® inf, –x £ 0,

(5.27) (5.28)

где e — постоянная Эйлера (e » 2,718281828 — основание натуральных ло< гарифмов), x — действительная переменная (x Î R), решений очевидно нет, а значение равно 0. Функция Лагранжа задачи L(x, u) = e–x – ux. Поэтому двойственная функция 47inf 1 e 3 x 3 ux 2, 8 (u) 9 x 3 , 7

если u 5 0, если u  0,

6

4 0, если u 6 0,

3 , если u 0.

(5.29)

Эффективное множество dom y функции y(u) (5.29) содержит единствен< ную точку 0 — решение двойственной задачи. Значение y* двойственной за< дачи очевидно равно 0. Пример 5.5. Единственной допустимой точкой задачи ® inf, (5.30) –x £ 0, (5.31) x=0 (5.32) является 0. Значит, 0 является единственным решением этой задачи, значе< ние которой равно 1. Пусть ограничению (5.31) сопоставлена двойственная переменная u1, а ограничению (5.32) — двойственная переменная u2. Тогда функцией Ла< гранжа задачи (5.30)–(5.32) является e–x

L(x, u) = e–x – u1x + u2x, и после вычислений умеренной сложности нетрудно получить двойственную функцию 3 4, 6 7 8(u) 9

0, 7 1 u2 3 u1 211 3 ln(u2 3 u1 ) 2,

если u1 5 0 или u2 5 u1 , если u1 9 u2 9 0, если u2 u1 0.

(5.33)

Эффективное множество функции y(u) (5.33) — dom y = {u Î R2: u2 > u1 ³ 0} U {0}. ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

113

Значение двойственной задачи (5.7) с максимизируемой функцией y(u) (5.33) равно 1, а множество решений U* этой задачи — U* = {u Î R2: u2 – u1 = 1, u1 ³ 0}.

(5.34)

Пример 5.6. Пусть в задаче (5.30)–(5.32) условие (5.32) заменено на рав* нозначное требование x Î W, где W = {0} (множество W содержит единствен* ный элемент — действительное число 0). Полученная задача очевидно отли* чается от задачи (5.30)–(5.32) только формой записи — допустимые множе* ства, минимизируемые функции, значения и решения этих задач совпадают. Однако для задачи (5.30), (5.31), в которой еще добавлено требование x Î W, функцией Лагранжа является L(x, u) = e–x – ux, а двойственной функцией — 1x 65 inf(e 1 ux), если u 4 0, 7(u) 8 x23 1 , если u 0, 6

9

5 1, если u 4 0,

1 , если u 0.

Для этой функции dom y = R+, значение двойственной задачи равно 1, а ее решением является каждая точка множества dom y. В завершение этого раздела следует отметить, что каждой задаче матема* тического программирования можно ставить в соответствие разные двойствен* ные задачи. Каждая из этих задач определяется согласно правилу (5.7), (5.8), которое, в свою очередь, обусловлено разбиением ограничений задачи на огра* ничения, входящие в условия (5.2) и (5.3), и на ограничения, конкретизирую* щие множество W (5.4). Именно принятый способ указанного разбиения огра* ничений исходной задачи предопределяет как аналитические свойства двойст* венной функции, так и трудоемкость методов вычисления ее значений и отыскания решения двойственной задачи. Некоторой иллюстрацией этого являются примеры 5.5 и 5.6.

5.2. СВЯЗЬ МЕЖДУ ПРЯМОЙ И ДВОЙСТВЕННОЙ ЗАДАЧАМИ Основным утверждением об имеющейся связи между прямой (исходной) задачей (5.1)–(5.4) и двойственной к ней задаче (5.7) является следующая теорема. Теорема 5.1. Для произвольных допустимой точки x задачи (5.1)–(5.4) и вектора переменных u двойственной задачи (5.7) между значениями це левых функций этих задач выполняется неравенство y(u) £ f0(x).

(5.35)

Из неравенства (5.35) следует, что без каких*либо дополнительных предпо* ложений о свойствах задачи (5.1)–(5.4) ее значение f0* всегда не меньше значе* ния y* двойственной задачи (5.7): y* £ f0*. (5.36) 114

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Кроме того, ввиду теоремы 5.1, н и ж н е й оценкой значения f0* прямой задачи (5.1)–(5.4) является значение двойственной функции y(u), вычислен ное в произвольной точке u Î U (5.6). Аналогично в е р х н е й оценкой значе ния y* двойственной задачи (5.7) является значение минимизируемой функ ции f0(x) задачи (5.1)–(5.4), вычисленное в произвольной допустимой в этой задаче точке x — точке множества W, являющейся также решением системы уравненийнеравенств (5.2), (5.3). Указанные соотношения (соотношения двойственности) между значе ниями целевых функций исходной и двойственной задач широко применя ются во многих вычислительных методах отыскания решений задач матема тического программирования. Например, при о т с у т с т в и и разрыва двой* ственности, т. е. при выполнении равенства y* = f0*,

(5.37)

если для известных допустимых точек x и u Î U соответственно задач (5.1)– (5.4) и (5.7) для заданного положительного числа e выполняется неравенство f0(x) – y(u) £ e, то ввиду выполнения неравенств y* £ f0(x)

и

y(u) £ f0*

можно утверждать, что с абсолютной погрешностью, не превосходящей e, значение f0* задачи (5.1)–(5.4) (значение y* двойственной задачи (5.7)) не меньше f0(x) (не превосходит y(u)). Если такая погрешность приемлема, то поиск точки, «лучшей», чем x (или u), естественно прекратить. В задачах примеров 5.1–5.6 нет разрыва двойственности. В следующих задачах есть разрыв двойственности, т. е. для значений двойственной и прямой задач — соответственно y* и f0* — выполняется стро гое неравенство y* < f0*. Пример 5.7. В задаче f0(x) º –x ® inf, f1(x) + 1 £ 0, x Î R +,

(5.38) (5.39) (5.40)

ограничение (5.39) которой определяется любой функцией f1, принимаю щей нулевое значение при произвольном действительном x — например, f1(x) = min{0, | x |}, — нет допустимых точек и поэтому по определению для этой задачи f0* = +¥. Поскольку L(x, u) = –x + u(f1(x) + 1) — функция Лагранжа задачи (5.38)–(5.40), ввиду предположения f1(x) º 0 " x Î R, двойственная функция 2(u) 3 inf L(x, u) при любом u принимает беско x 10

нечно малое значение –¥. Значит, и значение y* двойственной задачи равно –¥. ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

115

Пример 5.8. В задаче f0(x) º x ® inf, x £ 0, x Î (0; 1) нет допустимых точек и поэтому ее значение равно +¥. Функция Лагранжа этой задачи — L(x, u) = x + ux и поэтому при произвольном неотрицательном u значение y(u) двойственной функции вычисляется по формуле 2(u) 3 inf x(1 4 u)

(5.41)

0 1 x 11

и равно 0. Значит, значение y* двойственной задачи (5.7) с максимизируемой функ6 цией y (5.41) конечно и равно 0. Множество решений U* этой задачи совпада6 ет с множеством неотрицательных действительных чисел R+ — эффектив6 ным множеством dom y двойственной функции y (5.41). В следующем примере имеется разрыв двойственности при конечных зна6 чениях прямой и двойственной задач. Пример 5.9. У задачи f0(x) º 2x ® inf, (5.42) 0,5 – x £ 0, (5.43) x Î {0, 1} (5.44) имеется единственное решение x* = 1; значение f0* этой задачи равно 2. Функция Лагранжа задачи (5.42)–(5.44) — L(x, u) = 2x + u(0,5 – x) = 0,5u + x(2 – u) и поэтому при произвольном неотрицательном u значение двойственной функ6 ции y(u) вычисляется по формуле 8 (u) 9 min 3 0,5u x(2 u) 4 x510,12



7 0,5u, если 0 6 u 6 2,

2 0,5u, если u  2.

(5.45)

Значит, у двойственной задачи (5.7) с целевой функцией y(u) (5.45) име6 ется только одно решение u* = 2, а значение y* этой задачи равно 1. Следует отметить, что f01 4 inf sup L(x, u). (5.46) x23 u2U

Действительно, множество W можно записать в виде объединения двух множеств, не имеющих общих точек: W = (W\X) U X, где X — множество допустимых точек задачи (5.1)–(5.4); W\X — дополне6 ние множества X до множества W (точки множества W, не принадлежащие множеству X). 116

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Учитывая это, значение задачи sup L(x, u) 3 inf

(5.47)

x12

u1U

очевидно равно наименьшему из значений задач sup L(x, u) 3

inf

(5.48)

sup L(x, u) 2 inf.

(5.49)

u1U

и

x12\ X

x1X

u1U

Вычислим значение минимизируемой функции 123 3445 16 задач (5.48) 112 и (5.49). Предположим сначала, что x Î W\X. Значит, либо fi(x) > 0 для некоторо го i Î {1, ..., m¢}, либо fi(x) ¹ 0 для некоторого i Î {m¢ + 1, ..., m}. Для вычисления значения 123 3445 16 задачи 112

L(x, u) 2 f0 (x) 3 u1f1 (x) 3 ... 3 um fm (x) 4 sup

(5.50)

u1U

положим нулевыми все компоненты вектора u, кроме компоненты ui. Если fi(x) > 0 для некоторого i Î {1, ..., m}, то при неограниченном уве личении, а если fi(x) < 0 для некоторого i Î {m¢ + 1, ..., m}, то при неограни ченном уменьшении значения ui точка u будет принадлежать множеству U (5.6), а значение L(x, u) неограниченно возрастает (стремится к +¥). Зна чит, sup L(x, u) 2 34 и поэтому значение задачи (5.48) также равно +¥. u1U

Рассмотрим теперь случай, когда x Î X, т. е. когда точка x принадлежит множеству W и в этой точке fi(x) £ 0 для каждого i Î {1, ..., m} и fi(x) = 0 для каждого i Î {m¢ + 1, ..., m}. Очевидно, что в этом случае наибольшее значе ние f0(x) задача (5.50) принимает в точке u множества U, для которой выпол няются равенства uifi(x) = 0,

i = 1, ..., m.

Значит, значение задачи (5.49), а поэтому и задачи (5.47), равно f0* (т. е. выполняется равенство (5.46)). Так как по определению 41 5 sup inf L(x, u), учитывая равенство (5.46), u2U

x23

неравенство (5.36) можно переписать в виде

sup inf L(x, u) 3 inf sup L(x, u). u1U x12

(5.36¢)

x12 u1U

Таким образом, альтернативной формой записи условия отсутствия раз рыва двойственности (5.37) является выполнение так называемого соотно* шения двойственности sup inf L(x, u) 3 inf sup L(x, u). u1U x12

ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

(5.37¢)

x12 u1U

117

Основные вопросы относительно двойственной задачи касаются: · конкретизации условий выполнения соотношения двойственности (5.37¢); · существования решений у двойственной задачи; · имеющейся связи решений двойственной задачи с решениями прямой задачи. Для упрощения сложности этих вопросов далее предполагается, что пря мая задача (5.1)–(5.4) принадлежит классу задач выпуклого программи рования, т. е. минимизируемая функция f0 и функцииограничения {fi}, i = 1, ..., m¢, выпуклы на выпуклом множестве W, а функцииограничения {fi}, i = m¢ + 1, ..., m, линейны. Точку u* множества U (5.6) называют вектором Куна — Таккера задачи выпуклого программирования (5.1)–(5.4), если значения f0* этой задачи не превосходят значений L( × , u*) ее функции Лагранжа (5.5) в точках множе ства W: f0* £ L(x, u*)

" x Î W.

Следует отметить, что при некоторых условиях (например, при выполне нии условий теоремы 4.14) вектор Лагранжа задачи также является ее векто ром Куна — Таккера. Однако в общем случае обратное утверждение неправиль но: в определении вектора Куна — Таккера задачи в отличие от определения ее вектора Лагранжа не т р е б у е т с я существование у этой задачи (регуляр ного) решения. Теорема 5.2. Пусть в задаче (5.1)–(5.4) множество W выпукло и содер* жится в множестве внутренних точек областей определения миними* зируемой функции f0 и нелинейных функций, определяющих ограниче* ния (5.2). Пусть все функции f0 и {fi}, i = 1, . . . , m¢, выпуклы, а функции {fi}, i = m¢ + 1, ..., m, линейны. Пусть также выполняется по крайней мере одно из следующих условий: · (R3): нет ограничений*равенств (5.3) (m = m¢) и для некоторой точки x1 12 (5.51) fi (x1 ) 2 0, i 3 1, ..., m1; · (R4): множество W — полиэдр, функции f0 и {fi}, i = 1, ..., m¢, линейные, а множество X допустимых точек задачи непусто; · (R5): множество W — полиэдр, для некоторого k, 0 < k £ m¢, функции 31 21 2 3332 321 линейны и найдется такая допустимая в задаче точка x1 , что

21 1312 1 34

1 2 54 6664 47

(5.51¢)

· (R6): для некоторого k, 0 < k £ m¢, функции 31 21 2 3332 321 линейны и найдет* ся такая допустимая в задаче внутренняя точка x1 множества W, для которой выполняются неравенства (5.51¢). Тогда: 1) множество U* векторов Куна — Таккера для задачи (5.1)–(5.4) не* пусто; 2) если значение f0* задачи (5.1)–(5.4) отлично от –¥ (f0*> –¥), в частно* сти, если у этой задачи имеется по крайней мере одно решение, то множе* 118

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ство векторов Куна — Таккера задачи (5.1)–(5.4) совпадает с множест* вом решений двойственной задачи (5.7) и выполняется соотношение двойственности (5.37¢) (в задачах (5.1)–(5.4) и (5.7) нет разрыва двойст* венности — выполняется равенство (5.37)); 3) если эффективное множество dom y двойственной функции y (5.8) непусто, то у двойственной задачи (5.7) имеется по крайней мере одно ре* шение; если dom y = Æ, то значение задачи (5.1)–(5.4) f0* равно –¥; 4) если множество W замкнуто и множество решений задачи (5.1)–(5.4) непусто и ограничено, то dom y ¹ Æ и выполняется соотношение двойст* венности (5.37¢). Свойства прямой задачи и предположения о ее связи с двойственной за дачей обусловливают разные формы оптимальности для этих задач. Рассмот рим соответствующие примеры. Теорема 5.3 (Куна — Таккера в форме двойственности). При выполне* нии предположений теоремы 5.2 допустимая в задаче (5.1)–(5.4) точка x* тогда и только тогда является решением этой задачи, когда для некоторой точки u* Î U выполняется равенство f0(x*) = y(u*),

(5.52)

равносильное системе равенств

L(x1, u1 ) 4 min L(x, u1 ), x23

i 3 1, ..., m 2.

ui1 fi (x1 ) 3 0,

(5.53) (5.54)

Подмножество U* точек {u*} множества U (5.6), удовлетворяющих равенству (5.52), совпадает с множеством решений двойственной за* дачи (5.7) — с множеством векторов Куна — Таккера прямой задачи (5.1)–(5.4). Очевидно, что требование (5.52) теоремы 5.3 обусловливает требова ние (5.37) отсутствия разрыва двойственности, т. е. требование выполнения соотношения двойственности (5.37¢). Кроме того, требование (5.53) являет ся обобщением условия (5.58) раздела 4.4 на случай не обязательно диффе ренцируемых в точке x* выпуклых функций f0 , f1 , ..., fm1 . Итак, если задаче (5.1)–(5.4) присущи свойства, указанные в теореме 5.3, то при известном решении u* двойственной задачи (5.7) решением x* исход ной задачи является произвольное решение системы условий (5.2)–(5.4), к которым добавлено требование выполнения либо равенства f0(x) = y(u*),

(5.52¢)

L(x, u1 ) 4 min L(y, u1 ),

(5.53¢)

либо равенств y23

ui1 fi (x) 3 0,

i 3 1, ..., m 2.

(5.54¢)

В некоторых случаях именно такой подход к отысканию решения пря мой задачи оказывается сравнительно простым. ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

119

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

4 xj 2 a j j 11

3 inf,

(5.55)

n

2 bj xj 1 0,

(5.56)

j 11

где предполагаются известными числовые параметры a1, ..., an и b1, ..., bn, причем ни один из параметров b1, ..., bn не принимает нулевое значение. Функция Лагранжа задачи (5.55)–(5.56) — n

n

n

j 31

j 31

j 31

L(x, u) 4 7 xj 5 aj 6 u7 bj xj 3 7 1 xj 5 aj 6 ubj xj 2, Rn

где x — вектор из с компонентами x1, ..., xn, а u — единственная двойст7 венная переменная. Очевидно, что значение двойственной функции 5(u) 4 infn x3R

n

8 1 xj 6 aj 7 ubj xj 2 j 41

равно сумме значений {yj(u)} задач безусловной минимизации, независимых между собой и имеющих одинаковые структуры и общие свойства: xj 2 aj 3 ubj xj 4 inf, xj 1R

j 5 1, ..., n, —

(5.57)

n

2(u) 1 3 2 j (u). j 11

Легко понять, что значение yj(u) задачи (5.57) равно наименьшему из значений задач xj 2 aj 3 ubj xj 4 inf

(5.58)

21 2 31 3 451 21 4

(5.59)

xj 1 aj

и

123

21 1 31

(множество действительных чисел R — множество допустимых значений единственной переменной xj задачи (5.57) — совпадает с объединением двух множеств {y Î R: y £ aj} и {y Î R: y ³ aj}). Так как на множествах допустимых значений переменной xj минимизи7 руемые функции задач (5.58) и (5.59) принимают соответственно вид –(xj – aj) + ubjxj = (ubj – 1) xj + aj и xj – aj + ubjxj = (ubj + 1) xj – aj, найти значения этих задач довольно просто: значение 2 1j (u) задачи (5.58) равно 3 a b u, если ubj 2 1, 4 1j (u) 5 6 j j 1 7, если ubj 8 1, 9 120

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

а значение 2 11 122 задачи (5.59) — 4 a b u, 5 1j (u) 6 7 j j

3 8,

если ubj 2 31, если ubj 9 31.

13 aj bj u, 4 j (u) 5 6 3 7 8,

если ubj 21,

Значит,

ubj 9 1,

если

и поэтому 2 n 3(u) 1 6 aj bj u, 7 j 11 6 8 9,

если ubj 4 1

5j 1 1, ..., n,

в противном случае.

Итак, на своем эффективном множестве

1

dom 4 5 u6R : u 3

2

1 , B

B 7 max bj , 13 j 3 n

двойственная функция

2(u) 1 Au,

n

A 3 4 aj bj j 11

линейна и ее максимизация проблем не вызывает: значение y* двойственной A , а ее решение u* равно 1 , если A ³ 0, и 1 1 , если задачи очевидно равно B B B A < 0. Поскольку в рассматриваемом случае значение задачи (5.55), (5.56) рав8 A но (нет разрыва двойственности), согласно теореме 5.3, множество ре8 B шений этой задачи совпадает с множеством решений системы двух уравнений: уравнения (5.56) и уравнения n

3 xj 2 aj j 11

1

A . B

(5.60)

Следует отметить, что эта система уравнений совместна, т. е. у нее име8 ются решения. Действительно, будем искать решение системы уравнений (5.56), (5.60) в виде A x j 1 aj 2 3 j , j 1 1, ..., n, B где {lj} — некоторые действительные числа. После подстановки таких значений {xj} в уравнения (5.56) и (5.60) бу8 дут получены соотношения, связывающие между собой значения неизвест8 ных {lj}: n (5.56¢) 6 bj aj 4 5 j BA 3 0, j 31

1

ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

2

121

n

3 2 j BA

1

j 11

A . B

(5.60¢)

Если A = 0, то произвольный набор значений {lj} является решением сис темы уравнений (5.56¢), (5.60¢), и поэтому вектор x = a является единствен ным решением задачи (5.55), (5.56). В предположении, что A ¹ 0, после несложных и очевидных упрощений система (5.56¢), (5.60¢) примет вид n

3 bj 2 j 1 B,

(5.56²)

j 11

n

3 2j

1 1.

(5.60²)

j 11

Пусть J — множество тех значений индекса j, для которых bj 2 B 3 max bi , j 2 1, ..., n, 11i 1n

и пусть J– = {j Î J: bj < 0}, J+ = {j Î J: bj > 0}. Если в системе уравнений (5.56²), (5.60²) положить нулевыми те компо ненты {lj}, номера {j} которых не принадлежат непустому множеству J, то эту систему можно переписать в виде

6 4 j 2 6 4 j 5 1,

(5.56¢¢¢)

6 4j 1 6 4j

(5.60¢¢¢)

j3J1

j3J1

j3J2

5 1.

j3J2

Доказать совместность полученной системы уравнений (5.56¢¢¢), (5.60¢¢¢) достаточно просто, и читателю предлагается сделать это самостоятельно. В некоторых случаях более удобно применять утверждения об одновре менной оптимальности двух данных точек исходной и двойственной задач. В частности, эквивалентным теореме 5.3 является следующее утверждение. Теорема 5.4. При выполнении предположений теоремы 5.2 допустимые точки x* и u* соответственно задач (5.1)–(5.4) и (5.7) тогда и только то* гда являются решениями этих задач, когда выполняется равенство (5.52), равносильное системе равенств (5.53), (5.54). Другой вид принимает теорема 5.3, сформулированная в терминах седло* вой точки функции Лагранжа L(x, u) (5.5) задачи (5.1)–(5.4) на декартовом произведении W´U множеств W и U, т. е. в терминах такой пары (x*, u*) точек x* Î W, u* Î U, что L(x*, u) £ L(x*, u*) £ L(x, u*)

" x Î W, u Î U.

Теорема 5.5. В предположениях теоремы 5.2 точки x* Î W и u* Î U явля* ются решениями соответственно задач (5.1)–(5.4) и (5.7) тогда и только тогда, когда пара (x*, u*) является седловой точкой функции Лагранжа L(x, u) (5.5) задачи (5.1)–(5.4) на декартовом произведении W´U. 122

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

5.3. ФУНКЦИЯ ВОЗМУЩЕНИЙ И ЕЕ СВОЙСТВА Исследование каждой оптимизационной задачи, появление которой вы звано потребностями практики, обязательно включает поиск ответов на во просы о степени влияния на значение этой задачи погрешностей (ошибок) вычисления значений целевой функции и функцийограничений. Игнори рование наличия таких ошибок при выработке окончательного решения по проведению соответствующей операции, только одной из возможных мате матических моделей которой, собственно, и является исследуемая оптими зационная задача, может привести к в е с ь м а н е ж е л а т е л ь н ы м п о  с л е д с т в и я м и поэтому является н е о п р а в д а н н о р и с к о в а н н ы м. Причины ошибок вычисления значений функций, определяющих оп тимизационную задачу, могут быть самыми разными и обусловленными как природой этих функций, так и принятой точностью проведения вычис лений. Рассмотрим следующий пример. Предположим, что рыночные цены про дажи некоторых k видов товаров равны соответственно c1, ..., ck условным денежным единицам за единицу соответствующего товара. Пусть на некотором предприятии при изготовлении единицы товара jго вида используется aij единиц некоторого сырья iго вида, причем указанная пропорция расходования сырья на потребности производства товаров сохра няется при любых объемах производства: при изготовлении xj единиц това ра jго вида используется aijxj единиц сырья iго вида, i = 1, ..., r, j = 1, ..., k. Предположим также, что агентыпоставщики готовы обеспечить предпри ятие необходимым сырьем соответственно в количествах b1, ..., br единиц. Перед руководителем предприятия возникает, в частности, вопрос об оп ределении таких объемов изготовления товаров, продажа которых принесет наибольший доход. При сделанных предположениях объемы производства товаров должны, оче видно, совпадать с компонентами {x1j } решения x* оптимизационной задачи 2 max, 5 x j 11 5 5 k (5.61)

aij xj 7 bi , i 1 1, ..., r, 65 j 11 5 xj 8 0, j 1 1, ..., k.59 Действительно ли изготовление товаров, количества которых совпадают с соответствующими компонентами решения задачи (5.61), обеспечит наи больший доход предприятия? В общем случае — нет. И одна из причин тако го ответа такова. За время изготовления товаров могут измениться, и существенно, как цены на некоторые товары, так и условия приобретения сырья. Вследствие этого может оказаться, что либо обеспечить предприятие сырьем в объемах {bj} станет невозможно, либо доход от реализации на рынке произведенных k

F (x) 3 cj xj

ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

4

123

товаров будет меньшим, чем тот, ради получения которого и планируется проведение операции по их изготовлению. Поскольку такого рода р е а л ь  н ы е, а не гипотетичные изменения ни в одной математической модели опе рации принципиально не могут быть учтены, то и действительный доход предприятия может отличаться от ожидаемого — значения F* º F(x*) зада чи (5.61). Может даже оказаться, что и при обеспечении предприятия зака занным сырьем изготовление некоторого количества товаров существенно убыточно. Значит, целесообразно ли тогда при разработке производственной программы предприятия исследовать какиелибо оптимизационные задачи, подобные задаче (5.61)? Из опыта разработки и дальнейшей реализации сложных производствен ных программ следует ответ на этот вопрос: н е в о з м о ж н о без разработки и применения соответствующей математической модели или совокупности таких моделей количественно учесть ни воздействие всех существенных фак торов операции на характер ее развития, ни последствия принятия того или другого альтернативного решения, конкретизирующего способ проведения операции. Именно эти причины и обусловливают необходимость постановки самых разных оптимизационных задач, исследование свойств этих задач, разработку методов отыскания их решений, собственно отыскание решений и проведение анализа найденных решений. Кроме того, следует всегда помнить, что решение любой оптимизацион ной задачи конкретизирует только один из возможных способов проведения соответствующей операции. Поэтому понятным является желание лица, принимающего окончательное решение, получить также результаты иссле дования устойчивости значения оптимизационной задачи к погрешностям задания исходной информации — получить некоторые оценки влияния воз можных изменений некоторых факторов операции на соответствующее экс тремальное значение количественного критерия оценивания качества пред полагаемого решения. Общий метод выяснения влияния ошибок вычисления значений функ ций произвольной оптимизационной задачи на ее значение состоит в сле дующем. Исследуемая задача рассматривается как одна из возможных задач особым образом определяемого семейства оптимизационных задач. Задачи этого семейства отличаются от исследуемой задачи только значениями неко торых числовых параметров, интерпретируемых как соответствующие абсо лютные возмущения (ошибки вычисления) функций этой задачи. Оказывается, характер и степень влияния указанных возмущений на зна чение исследуемой задачи обусловлены некоторыми свойствами множества решений и собственно решениями одной из ее двойственных задач. Поэтому проведение анализа устойчивости значения исследуемой задачи к возмуще ниям (ошибкам вычисления значений функций, определяющих эту задачу) включает выяснение имеющихся свойств соответствующей двойственной задачи и отыскание ее решения. Для иллюстрации метода проведения анализа устойчивости значения оптимизационной задачи рассмотрим задачу (5.61). Очевидно, что эта зада ча эквивалентна задаче 124

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

2 6 x, y j 11 6 k 66 (5.62) aij xj 4 bi 7 0, i 1 1, ..., r, 8 j 11 6 yj 4 cj xj 1 0, j 1 1, ..., k,6 6 xj 9 0, j 1 1, ..., k,6

в таком смысле: действительное число F* и вектор x* Î Rk тогда и только тогда являются соответственно значением и решением задачи (5.61), когда действительное число F11 2 3 F 1 и пара векторов (x*, y*), x* º x*, y1 j 2 cj xj1 , j = 1, ..., k, являются соответственно значением и решением задачи (5.62). Переменные {yj} задачи (5.62) имеют естественное толкование: yj — до ход предприятия от продажи изготовленных xj единиц jго товара, j = 1, ..., k. Значит, значение функции F1 (x, y), противоположной целевой функции F1 (x, y) задачи (5.62), равно общему доходу предприятия, полученному по сле продажи всех изготовленных товаров. Для фиксированных числовых параметров {dt}, t = 1, ..., r +k, определим некоторый «возмущенный» вариант задачи (5.62) — задачу k

F1 (x, y) 3 4 yj

k

5

min,

3 6 x, y 6 66 i 1 1, ..., r, 9 6 j 1 1, ..., k,6 6 j 1 1, ..., k.6

F1 (x, y) 1 4 yj 5 min, j 11

k

aij xj 4 bi

7 8i ,

j 11

yj 4 cj xj 1 8r 2 j , xj 0,

(5.62¢)

В задаче (5.62¢) значение bi + di очевидно определяет ф а к т и ч е с к и й объем обеспечения предприятия сырьем iго вида, i = 1, ..., r, а значение dr + j естественно интерпретировать так: если dr + j ³ 0, то параметр dr + j выражает г а р а н т и р о в а н н ы й доход, а если dr + j < 0, — некоторые расходы, обу словленные продажей xj единиц jго товара, j = 1, ..., k . Для заданного вектора возмущений d Î Rr + k пусть F11 (1) — значение за дачи (5.62¢) (решение этой задачи также зависит от вектора d). В предположении о м г н о в е н н о м изготовлении и продаже товаров чис ло 2 F11 (1) очевидно выражает наибольший возможный доход предприятия при известных возмущениях {dt}. Если нет никаких возмущений (d = 0), то F 1 2 3 F11 (0). Следовательно, влияние ошибок задания параметров {cj} и {bi} исходной задачи (5.61) на значение F* этой задачи можно исследовать в тер минах свойств функции F11 (1) в окрестности точки d = 0. Например, при условии дифференцируемости функции F11 ( 2) в точке 0 и при известном гра диенте 2 F11 (0) приближенное значение 111 11 2 вычислить достаточно просто: r 1k 4 F1 (0) F12 (1) 5 F12 (0) 1 8 2 6 7t , 4 7t t 31

ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

125

2 F11 (0) — tя компонента градиента 2 F11 (0) (частная производная функ 23t ции F11 (2) относительно переменной dt в точке d = 0), t = 1, ..., r + k. Оказывается, что при условии существования единственного решения u* двойственной задачи 3 (u) 4 sup,

где

u2U1

в которой U¢ º {u Î Rr + k: ui ³ 0, i = 1, ..., r} и

6(u) 7

r 4 k 5 4 k 5 k 8 1 8 y u a x b 9 9

1 ur 1 j (yj 8 cj xj )

, j i ij j i

9 x2R1 , y2R k 9 i 31 j 31 j 31 j 31

inf k

градиент 2F11 (0) существует и совпадает с вектором –u*. Следовательно, сравнивая между собой компоненты u*, можно ранжиро вать ограничения задачи (5.62) по величине относительного влияния на 111 1 22 ошибок {dt} и выявить среди этих ограничений самые существенные — те ограничения задачи (5.62), невыполнение которых наиболее отрицательно скажется на ожидаемом доходе. Такие ограничения н е о б х о д и м о з н а т ь до начала проведения операции по изготовлению и про д а ж е т о в а р о в для того, чтобы провести предупредительные мероприя тия для устранения или ослабления воздействия нежелательных событий. Чтобы не усложнять непринципиальными деталями описание метода ис следования устойчивости значения оптимизационной задачи в общей поста новке (5.1)–(5.4), далее предполагается, что целевая функция f0 этой задачи вычисляется с абсолютной точностью в каждой точке x Î W. Если же функция f0 всетаки вычисляется с ошибками, то исследовать влияние этих ошибок на значение задачи (5.1)–(5.4) можно на примере задачи, в которой минимизи руемой функцией является дополнительная переменная xn + 1, а допустимое множество определяется условиями (5.2)–(5.4), к которым добавлено либо равенство (5.13), либо неравенство (5.16). Задача математического программирования (5.1)–(5.4) очевидно принад лежит семейству оптимизационных задач, каждая из которых следующим образом определяется фиксированным вектором возмущений d Î Rm: f0 (x) 1 inf, x

fi(x) £ di, fi(x) = di, x Î W,

i = 1, ..., m¢, i = m¢ + 1, ..., m,

(5.1¢) (5.2¢) (5.3¢) (5.4')

где m¢ и m — заданные неотрицательные целые числа, m¢ £ m, W — заданное множество евклидова пространства Rn, на котором определены целевая функ ция f0 и функцииограничения {fi}. Функцией возмущений (или функцией чувствительности) задачи (5.1)– (5.4) называют определенную на Rm функцию j, значение которой j(d) в про извольной точке d Î Rm равно значению задачи (5.1¢)–(5.4¢). 126

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Следует отметить, что данное определение функции возмущений формаль( но несколько отличается от обычного определения функции (см. разд. 1.2.1). Это отличие состоит в следующем. Для некоторых точек d пространства Rm система условий (5.2¢)–(5.4¢) мо( жет оказаться противоречивой (задача (5.1¢)–(5.4¢) может не иметь допусти( мых точек). В таком случае значение задачи (5.1¢)–(5.4¢), а значит, и соответ( ствующие значения функции возмущений полагают равными +¥ — превос( ходящими любое действительное число. Кроме того, может оказаться, что для некоторых d Î Rm минимизируе( мая функция f0 задачи (5.1¢)–(5.4¢) на допустимом множестве не ограничена снизу. В таком случае и значение этой задачи, и соответствующее значение функции возмущений полагают равными –¥, т. е. меньшими любого дейст( вительного числа. Итак, для задачи (5.1)–(5.4) функция возмущений j определена на m( мерном евклидовом пространстве Rm и может принимать значения из расши ренного множества действительных чисел R 1 R 1 {23, 3}. Пример 5.11. Легко убедиться, что для задачи

x2 3 inf,

4 5 5 x1 6 0, 7 89 0 45 2 x 1x R : 0  x1 6 1, x2 6 12 1  75  1  x

(5.63)

значения функции возмущений, определенной на множестве действитель( ных чисел R, вычисляются согласно правилу 512, если 3 4 0, 6 7(3) 8 9 1, если 3 8 0, 6 2, если 3 0, (рис. 5.1). В следующих двух теоремах сформулированы д о с т а т о ч н ы е у с л о ( в и я выпуклости функции возмущений задачи (5.1)–(5.4). Теорема 5.6. Пусть в задаче (5.1)–(5.4) множество W выпукло, целевая функция f0 и функцииограничения {fi}, i = 1, ..., m¢, непрерывны и выпук лы, а функцииограничения {fi}, i = m¢ + + 1, ..., m, линейны. Тогда если ни функции {fi}, i = 0, ..., m¢, ни функция возмущений 1: R m 2 R задачи не при нимают значение –¥, то j — выпуклая функция. Теорема 5.7. Пусть помимо предпо ложений теоремы 5.6 множество W замкнуто и при некотором действи тельном числе a пересечение множест ва {x Î W: f0(x) £ a} с множеством до пустимых точек задачи (5.1)–(5.4) Рис. 5.1 непусто. ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

127

Тогда функция возмущений j этой задачи ни в одной точке d Î Rm не принимает значение –¥: j(d) > –¥ " d Î Rm. При некоторых условиях субдифференциал ¶j(0) выпуклой функции воз мущений j задачи (5.1)–(5.4) является непустым множеством, т. е. в точке 0 функция j субдифференцируема. Теорема 5.8. Если u* — вектор Куна — Таккера задачи (5.1)–(5.4), для которой выполняются предположения теоремы 5.6, то –u* Î ¶j(0).

(5.64)

Условия существования векторов Куна — Таккера для задачи математи ческого программирования в постановке (5.1)–(5.4) сформулированы в теоре ме 5.2. В этой теореме также указаны условия, при которых множество векто ров Куна — Таккера задачи (5.1)–(5.4) совпадает с множеством решений U* двойственной задачи (5.7) и при этом значение y* двойственной задачи (5.7) конечно и равно значению f0* задачи (5.1)–(5.4). Более того, оказывается, что ¶j(0) = –U* — субдифференциал ¶j(0) выпуклой функции возмущений j задачи (5.1)– (5.4) в точке 0 совпадает с множеством, противоположным множеству решений U* двойственной задачи (5.7). Итак, в предположениях теоремы 5.2 из определения субдифференциала произвольной выпуклой функции (5.32) (см. разд. 2.2.3) и включения (5.64) следует, что для каждого решения u* двойственной задачи (5.7) выполняет ся неравенство j(d) ³ j(0) – " d Î Rm.

(5.65)

Если к тому же u* — единственное решение двойственной задачи (5.7), то это решение является вектором, противоположным градиенту Ñj(0) выпук лой функции возмущений j задачи (5.1)–(5.4) в точке 0 (теорема 2.5): 4 23(0) 5 6 281 7 u1 9 3(0) 66 1 77 6 23(0) 7 6 28 7

m 

(5.66)

и поэтому для произвольного d Î Rm из некоторой окрестности этой точки m

3(4) 5 f01 6 7 ui14i . i 21

5.4. ЭКОНОМИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ РЕШЕНИЯ ДВОЙСТВЕННОЙ ЗАДАЧИ В следующих разделах приведены примеры нескольких экономико математических моделей, в соответствующих терминах каждой из которых дана экономическая интерпретация решения двойственной задачи. 128

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

5.4.1. ЗАДАЧА ОПРЕДЕЛЕНИЯ ОБЪЕМОВ ПРОИЗВОДСТВА

Пусть на некотором предприятии можно изготавливать n видов товаров, прибыль от продажи которых в количествах {xj} определяется в некото рых условных денежных единицах значением –h0(x) (x — вектор простран ства Rn, jя компонента xj которого выражает количество изготовленного и проданного товара jго вида, j = 1, ..., n, h0(x) — некоторая известная функция). Пусть bi и hi(x) — количества сырья iго вида, соответственно имеющего ся на предприятии и необходимого для изготовления на этом предприятии товаров в количествах, выражаемых компонентами вектора x, i = 1, ..., r. Пусть W — множество наборов количеств товаров, изготовление которых возможно на предприятии, 2 3 R1n . Пусть 0 Î W и hi(0) = 0 для каждого вида сырья i = 1, ..., r, т. е. на пред приятии вообще могут не изготовляться товары и при этом никакое сырье не расходуется. Количества изготовленных на предприятии товаров естественно опреде лить в терминах соответствующих компонент решения x* любой из следую щих двух эквивалентных задач

1h0 (x) 2 sup,

3 4 i 7 1, ..., r,5 4

x

hi (x) 6 bi , x 89

или

h0 (x) 1 inf, x

hi(x) – bi £ 0, x Î W.

i = 1, ..., r,

(5.67) (5.68) (5.69)

Пусть множество W выпукло, а все функции h0, h1, ..., hr непрерывны и выпуклы. Итак, при указанных предположениях о свойствах задачи (5.67)–(5.69) и при условии положительности всех {bi} множество ее векторов Куна — Так кера U* непусто. Более того, если при этом значение h0* задачи (5.67)–(5.69) отлично от –¥ (h0* > –¥), то множество U* совпадает с множеством решений двойственной задачи inf L(x, u) 4 sup, x23

(5.70)

u2R1r

r

где L(x, u) 3 h0 (x) 4 6ui 1 hi (x) 5 bi 2 — функция Лагранжа задачи (5.67)–(5.69) i 31

(теорема 5.2). Пусть для задачи (5.67)–(5.69) выполняются предположения теоремы 5.6 и у двойственной задачи (5.70) имеется единственное решение u*. Тогда функ ция возмущений F(d) задачи (5.67)–(5.69) выпукла, дифференцируема в точке 0, ÑF(0) = –u* и поскольку F(0) º h0*, то ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

129

r

3(1) 4 h01 5 9 ui1 6i

7 1 8 Rr

(5.65¢)

i 21

(см. теоремы 2.5, 5.8 и соотношения (5.65), (5.66)). Из неравенства (5.65¢) следует, что только за счет изменения на величину di имеющегося количества bi сырья iго вида, для которого ui1 2 0, н е в о з  м о ж н о увеличить прибыль –h 0* предприятия — изготовить на этом предприятии такое количество товаров, прибыль от продажи которых пре высит значение –h0*. Из неравенства (5.65¢) также следует, что нельзя увеличить прибыль пред приятия только за счет увеличения (уменьшения) имеющегося количества bi сырья iго вида, для которого ui1 2 0 (ui1 3 0). Итак, каждую компоненту решения двойственной задачи (5.70) можно интерпретировать как некоторую меру дефицитности соответствующе* го вида сырья, используемого для изготовления товаров. 5.4.2. ИЗГОТОВЛЕНИЕ ТОВАРОВ С ПОКУПКОЙ И ПРОДАЖЕЙ СЫРЬЯ

Предположим теперь, что указанное в предыдущем разделе производст венное предприятие для увеличения своей общей прибыли, обусловленной производственной и торговой деятельностью, может как покупать необходи мое сырье, так и продавать избыточную часть его имеющегося запаса {bi}. Пусть yi — количество проданного (если yi < 0) или купленного (если yi > 0) сырья iго вида по цене pi условных денежных единиц за единицу его количе ства (pi > 0), i = 1, ..., r. Итак, количества изготовленных на предприятии и проданных товаров и купленного (проданного) дополнительного (избыточного) сырья представля ется естественным определить как соответствующие компоненты решения (x*, y*) задачи r

h0 (x) 2 4 pi yi 3 inf,

(5.71)

hi(x) – bi – yi £ 0,

(5.72)

x, y

i 11

x Î W, y Î Y,

i = 1, ..., r,

(5.73)

где Y º {y Î Rr: yi ³ –bi, i = 1, ..., r} (условие yi ³ –bi выражает запрет на объем продажи предприятием имеющегося на нем сырья iго вида: нельзя продать больше этого вида сырья, чем bi единиц). Пусть u* — вектор Куна — Таккера задачи (5.71)–(5.73) (например, если для задачи (5.71)–(5.73) выполняются предположения теоремы 5.2, то мно жество ее векторов Куна — Таккера непусто и совпадает с множеством реше ний соответствующим образом определяемой двойственной задачи). Тогда, в силу теоремы 5.3, L(x1 , y1 , u1 ) 4 min L(x, y, u1 ), (5.53²) x23, y2Y

где для произвольных x Î W, y Î Y, u 2 R1r 130

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

r

r

i 31

i 31

L(x, y, u) 4 h0 (x) 5 7 pi yi 5 7 ui 1 hi (x) 6 bi 6 yi 2

— функция Лагранжа задачи (5.71)–(5.73). Пусть компоненты вектора y* удовлетворяют неравенствам –bi < y*i,

i = 1, ..., r,

т. е. предприятию невыгодно продавать в с е имеющееся сырье. Поскольку функция L(x*, y, u*) дифференцируема по переменным {yi}, 2L(x1 , y, u1 ) 3 pi 4 u1 2yi

5y 6 R r ,

i 3 1, ..., r,

и функция L(x*, y, u*) принимает наименьшее значение во внутренней точке y* множества Y, то, согласно теореме 4.5, pi 2 ui1 3 0,

i 3 1, ..., r.

Следовательно, компонентами вектора Куна —Таккера u* задачи (5.71)– (5.73) являются цены на сырье, используемого при изготовлении товаров. 5.4.3. МОДЕЛЬ ГЕЙЛА — ЭЙЗЕНБЕРГА ПРОСТОГО ОБМЕНА

Пусть имеется m потребителей n видов некоторых товаров. Отношение каждого iго потребителя к имеющимся товарам состоит в его 1 xi1 2 стремлении приобрести эти товары в таких количествах xi 5 3 1 4, которые 3x 4 6 in 7 доставляли бы максимальное значение его функции полезности n

Fi (xi ) 2 3 aij xij .

(5.74)

j 11

При этом предполагается, что общая цена всех приобретаемых iм потре бителем товаров xi не превышает суммы имеющихся у него денег bi > 0; {aij} — некоторые фиксированные н е о т р и ц а т е л ь н ы е числа. Пусть на каждый товар имеется спрос, т. е. m

4 aij 2 0

3j 1 1, ..., n,

i 11

и каждый потребитель заинтересован в приобретении некоторого товара — n

4 aij 2 0

3i 1 1, ..., m.

j 11

Известный интерес представляет следующая з а д а ч а: установить такие неотрицательные цены {u*j} на имеющиеся товары, при которых: · виды и количества товаров, выбранные для покупки каждым потребите лем, он мог бы приобрести; ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

131

· каждый потребитель, руководствуясь только желанием максимизировать свою функцию полезности, потратил бы на приобретение выбранных то варов все свои деньги; · все имеющиеся в количествах {bj} товары были бы распроданы. Оказывается, отыскание решения сформулированной задачи — линей* ной модели Гейла1 — Эйзенберга 2 простого обмена — сводится к отысканию решений следующих двух задач математического программирования: реше ние {xi*} задачи m 4 5 n 6 9 7i ln

 aij xij 8 max, 1xi 2 i 31 9 j 31

9 m (5.75)  x 3 b j 3 n , 1, ..., ,  ij j 9q i 31 9 xij  0, j 3 1, ..., n, i 3 1, ..., m9 :

указывает на количество товаров, приобретаемых каждым потребителем, а решение {u*j} двойственной задачи (5.75) n

m

j 41

i 41

bjuj 5 6i 1ln 7i (u) 8 12 где

2i (u) 3 4i max 11 j 1n

aij , uj

9

min,

(5.76)

uj 30, j 41,..., n

i 5 1, ..., m,

(5.77)

конкретизирует цены, по которым товары следует продавать3. Итак, в приведенном примере помимо отыскания решения исходной оп тимизационной задачи (5.75) обязательно требуется отыскать и решение ее двойственной задачи (5.76). Наконец, следует отметить, что задача (5.75) содержит mn неизвестных {xij}, а задача (5.76) — только n неизвестных {uj}. Вопросы и задания 1. Докажите, что для задачи

3 11 4 3456 11 7 12 8 76 11 7 212 8 76

5 6 6 9 6 2 1 11 2 8 12 8 926 одной из возможных двойственных функций является 4 134 5678 11 2 12 3 14 591 3 8 194 5678 11 2 12 14

61 7 2 2

1

Дэвид Гейл (David Gale, 1921–2008) — американский математик и экономист. Эдмунд Эйзенберг (Edmund Eisenberg, 1928–1965) — американский математик. 3 Полтерович, В. М. Экономическое равновесие и оптимум // Экономика и математиче ские методы. — 1973. — Т. 9, № 5. — С. 835–845. 2

132

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

2. Докажите выпуклость эффективного множества каждой двойственной функции. 3. Докажите вогнутость двойственной функции (5.8) задачи (5.1)–(5.4). 4. Обоснуйте правильность формулы (5.33) вычисления значений одной из двой ственных функций задачи (5.30)–(5.32). 5. Докажите, что множеством решений двойственной задачи (5.7) с максимизи руемой функцией (5.33) является множество U* (5.34). 6. Для каких двойственных функций примеров 5.1–5.6 эффективные множества dom y таковы, как изображено на рисунках 5.2–5.5? Укажите на этих рисун ках решения соответствующих двойственных задач. Какие из приведенных на рисунках эффективные множества замкнуты (открыты, незамкнуты и неоткры ты, ограничены, неограничены)? 7. Какое из условий теоремы 5.2 не выполняется для задачи примера 5.7? 8. Почему для задачи (5.55), (5.56) примера 5.10 выполняется соотношение двой ственности? Обоснуйте совместность системы уравнений (5.56¢¢¢), (5.60¢¢¢). 9. Докажите, что значение задачи 1

4

2 11

3 2 2 42

3 234 5 3

1

4 3 2 1 65 2 11

1

в которой a1, ..., an — заданные числовые параметры, равно | A |, 3 2 3 4 2 2 а ком 2 11 поненты {x*j} решения этой задачи вычисляются по формулам x*j = aj – Alj, j = 1, ..., n, где 2 2 3 23 2 1 1, ..., 13

1

4 2 2 1 14 2 11

10. Пусть необходимо изготовить или при обрести на рынке продукты n видов в количествах a1, ..., an единиц (aj > 0 " j =1, ..., n). Пусть количество yj изготовленного продукта jго вида прямо пропорцио нально зависит от суммы денег xj, вло женных в изготовление этого продук та: для известного kj > 0 выполняется соотношение yj = kjxj, j = 1, ..., n. Пусть pj — цена на рынке единицы про дукта jго вида. Пусть в случае, когда количество yj из готовленного продукта jго вида мень ше необходимого его количества aj, то этот продукт докупается на рынке — затрачиваемая на это сумма денег рав на pj(aj – yj). Пусть для изготовления продуктов вы делена сумма денег q. Дайте экономическое толкование, ис следуйте общие свойства и найдите ре шение задачи математического про граммирования 1

3 5 9 76 3 6 7 (5.78) 1 1 6 3 7 3 8 8 7 9 2 2 6 2 11

Рис. 5.2

Рис. 5.3

Рис. 5.4

4 2 2345675 2 4 6 2 3 2 8 2 11

ГЛАВА 5. ЭЛЕМЕНТЫ ТЕОРИИ ДВОЙСТВЕННОСТИ

Рис. 5.5

133

11. В терминах обозначений задачи (5.78) дайте экономическое толкование целе вой функции и ограничений задачи 1

3 6 2 12 6 1 6 8 32 2 42 7 81 6 2 12 42 7 52 345671 72 4 62 32 81 2 1 21 1 116 6 31 4 9 921  6

52 345671 62 32 4 72 8

5

9 1 31 4

Исследуйте наличие или отсутствие основных свойств у этой задачи (дифферен цируемость и выпуклость целевой функции и функцийограничений, конеч ность или бесконечность значения задачи, существование решений). 12. Докажите, что функцией возмущений задачи (5.18)–(5.20) является функция

3 12 3456 1 2 12 4718 5 6

782 3456 1 9 19 13. Докажите, что функция возмущений задачи примера 5.2 принимает только бес конечное значение –¥. Какие условия теоремы 5.7 не выполняются для этой задачи? 14. Докажите, что функция возмущений задачи (5.27), (5.28) принимает нулевое значение при любом возмущении. 15. Докажите, что для задачи (5.63) предположения теоремы 5.7 не выполняются. 16. Докажите, что у задачи 11 2 12 112

2

122

3

345 645 6 7 2 8 7 59 112 1

(5.79)

21 3 имеется единственное решение 11 4 5 6 7 2 значение этой задачи равно –2, а ее 81 9 функция возмущений — 12 1 3 243 6849 7 8 3 93 Докажите также, что функция 2121 1 3214 115 4 3 14 5 6 1 75 9

4567 4 5 223 4567 4 22

6789 1 3 5 6789 1 8 5

21.

является двойственной функцией задачи (5.79) и принимает наибольшее значе ние y* = –2 в единственной точке u* = 0,5. Убедитесь в выполнении равенства j¢(0) = –0,5 (j¢(0) = –u*). Дайте экономическое толкование каждого предположения, касающегося свойств множества W и функций h0, h1, ..., hr задачи (5.67)–(5.69). Дайте экономическое толкование коэффициентам {aij} в определении (5.74) функ ции полезности. Как можно определить эти коэффициенты? Докажите вогнутость целевой функции задачи (5.75). Докажите выпуклость каждой функции Fi(u) (5.77) и вычислите ее субдиффе ренциал ¶Fi(u) в точке u Î Rn, в которой все компоненты положительны. Докажите, что задача (5.76) является двойственной задачей задачи (5.75).

134

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

17. 18. 19. 20.

ГЛАВА

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

С

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

6.1. ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Задача линейного программирования — это такая задача математического программирования, целевая функция которой линейна, а допустимое мно жество совпадает с множеством решений системы уравненийнеравенств, определяемой конечным числом линейных функций. К задачам линейного программирования (ЛП) приводит формализация некоторых способов оценивания качества управленческих решений в много численных приложениях. Помимо того что такие задачи достаточно распро странены и имеют большое самостоятельное значение, отыскание их решений 1

Обычно к наиболее значимым характеристикам численного метода относят: · наибольшую гарантированную точность отыскания решения задачи; · общее время, необходимое для отыскания решения задачи с заданной точностью; · число требуемых обращений к информации о задаче — число вычислений значений и/ или градиентов (обобщенных градиентов) ее целевой функции и функций, определяю щих ограничения на переменные, — необходимых для отыскания решения задачи с за данной точностью; · объем дополнительной памяти, требуемой для организации и проведения расчетов; · возможность вычислять решение двойственной задачи и др.

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

135

также предполагается в методах отыскания решений существенно более слож ных оптимизационных задач, в частности, в методах отсечений и в методах ветвей и границ, предназначенных для решения задач целочисленного ЛП, в методах возможных направлений нелинейного программирования и др. Примерами задач ЛП являются задачи 1.1 и 1.2 о составлении питатель ных смесей туриста, задача 1.5 о выборе производственной программы (см. разд. 1.1.2), задача (6.85) об определении объемов производства (см. разд. 5.3). Среди всех нетривиальных функций линейные функции являются самы ми простыми. Каждая из них в nмерном евклидовом пространстве Rn опре деляется соответствующими вектором a Î Rn и действительным числом b; значение линейной функции в точке x Î Rn вычисляется по формуле < a, x > + b, в которой

1

2 31 4 3 4 31 41 565 31 41 4 7 32 42 2 11

евклидово скалярное произведение векторов a и x. Согласно определению задачи ЛП, ее целевая функция линейна, а значит, непрерывна и одновременно выпукла и вогнута. Допустимое множество этой задачи выпукло и замкнуто. Следовательно, все утверждения о задачах вы пуклого программирования также выполняются и для задач ЛП — одного из подклассов задач выпуклого программирования. Вместе с тем естественно, что для более узкого класса задач, которыми являются задачи ЛП, выполня ются и более сильные утверждения. Среди них, в частности, следует отме тить и такие утверждения. Теорема 6.1. Если значение задачи ЛП конечно, то у нее обязательно имеется по крайней мере одно решение. Установить конечность значения задачи ЛП в большинстве случаев дос таточно просто. Например, значение задачи ЛП конечно, если ее допустимое множество ограничено или если множество допустимых точек ее двойствен ной задачи непусто. Также понятно, что у задачи ЛП обязательно должны быть ограничения на переменные — в противном случае значение задачи было бы бесконеч ным, а решений у нее не было бы. Теорема 6.2. Все решения задачи ЛП являются граничными точками ее допустимого множества. В дальнейшем основное внимание будет уделено тем свойствам задач ЛП, наличие которых предполагается в большинстве методов отыскания их ре шений. 6.1.1. КАНОНИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ ЛП

Задача ЛП может быть сформулирована поразному: в зависимости от природы задачи ее целевую функцию можно стремиться минимизировать или максимизировать, проводя соответствующий выбор переменных; неко торые ограничения, определяющие допустимое множество задачи, могут быть записаны как в виде уравнений, так и виде неравенств. 136

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Однако каждую задачу ЛП описываемым далее способом можно преобра зовать к другой задаче ЛП — приведенной — имеющей некоторую стан* дартную (каноническую) постановку. Эта приведенная задача такова, что по ее известному значению можно вычислить значение исходной задачи, а по известному ее решению — решение исходной задачи (если же окажется, что у приведенной задачи нет решений, то их нет и у исходной задачи). Если некоторая задача ЛП формулируется не в канонической постановке и к тому же неизвестно, как присущие ей свойства можно использовать при отыскании ее решения, то сначала эта задача преобразуется в задачу ЛП в канонической постановке. Затем решается задача в канонической постанов ке, по значению и решению которой определяются соответственно значение и решение исходной задачи. Итак, отыскание решения каждой задачи ЛП может проводиться опосре дованно через отыскание решения ее приведенной задачи. В некоторых случаях свойства конкретной задачи ЛП все же можно учесть, привнеся необходимые изменения в организацию вычислений обще го метода решения задач ЛП в канонической постановке. Как именно это делается — зависит как от понимания основных принципов построения это го общего метода, так и от особенностей задачи. Стандартной, или канонической, постановкой задачи ЛП называют задачу n

l(x) 2 4 cj xj 3 min,

1

2 423 53 3 11

j 11

x

(6.1)

1 62 2

2 1 12 3332 72

(6.2)

j = 1, ..., n,

(6.3)

xj ³ 0,

в которой коэффициенты {cj} и {aij} при переменных (неизвестных) {xj} зада чи, а также правые части {bi} ограничений (6.2), записанных в форме равен ств (уравнений), предполагаются известными действительными числами. В обозначениях: c и x — векторы из Rn с компонентами соответственно {cj} и {xj}; b — вектор из Rm с компонентами {bi}; A — m´nматрица с элемента ми {aij}, задача (6.1)–(6.3) принимает более компактный вид 21 12 1 2 33 1 3 4 4563

(6.1¢)

Ax = b, x³0

(6.2¢) (6.3¢)

1

(требование (6.3¢) принято записывать и так: x 2 R1n — все компоненты век тора x из Rn принимают неотрицательные значения). 1 311 2 Если 31 5 3 1 4 — вектор из Rn, компонентами которого являются элемен 33 44 6 312 7 ты iй строки матрицы A, то условие (6.2¢) также можно записать в виде ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

137

= bi,

i = 1, ..., m.

(6.2²)

Задачу (6.1¢)–(6.3¢) обычно называют стандартной, или канонической, постановкой задачи ЛП в матричном виде. Каждой задаче ЛП довольно простым способом можно поставить в соот ветствие эквивалентную ей задачу ЛП, имеющую каноническую постанов ку (приведенную задачу). 1. Если в исходной задаче целевую функцию

112 23 1 2 314 2 3 45

(6.4)

( 21 1 3 1 2

требуется м а к с и м и з и р о в а т ь g — действительное число), то в целевой функции приведенной задачи коэффициенты {cj} при переменных следует положить п р о т и в о п о л о ж н ы м и значениям соответствующих коэффициентов при переменных целевой функции исходной задачи: 2 1 1 2 21 1 3 j = 1, ..., n, 21 1 21134 После вычисления значения l* приведенной задачи (6.1¢)–(6.3¢) значение 111 исходной задачи очевидно определяется по формуле

111 2 311 4 52

(6.5)

Если же в исходной постановке задачи ЛП требуется м и н и м и з и р о  в а т ь функцию (6.4), то в приведенной задаче 1 1 112 После вычисления зна чения l* приведенной задачи (6.1¢)–(6.3¢) значение 111 исходной задачи вычис ляется по формуле 111 2 11 3 42 2. Если в исходной задаче имеется ограничение на переменные в форме неравенства 1 21 2 1 3 4 51 (6.6) ( 11 2 2 1 2 31 — действительное число), то ввести дополнительную переменную z и ограничение (6.6) заменить в приведенной задаче на пару условий (6.6¢) 1 21 2 1 3 4 2 5 61 2 2 7 03 3. Если в исходной задаче имеется ограничение на переменные в форме неравенства (6.7) 1 21 2 1 3 4 51 2 то ввести дополнительную переменную z и это неравенство заменить в при веденной задаче условиями (6.7¢) 1 21 2 1 3 4 2 5 61 2 2 7 03 4. Если от некоторой переменной xk задачи н е т р е б у е т с я ее неотри цательность, то в о в с е х выражениях исходной задачи переменную xk за менить на разность 211 2 2111 двух дополнительных неотрицательных перемен* ных 211 и 2111. Компонента xk решения исходной задачи вычисляется по известным ком понентам 211 и 2111 решения приведенной задачи по формуле 21 2 211 3 2111.

138

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Итак, если в задаче ЛП допустимое множество определяется p ограниче ниями в форме неравенств, а от q переменных задачи не требуется их неотри цательность, то после введения p + q дополнительных переменных и при менения описанного метода исходная задача будет преобразована к задаче ЛП в канонической постановке — к приведенной задаче. Рассмотрим пример сведения задачи ЛП к эквивалентной задаче ЛП в канонической постановке. Пример 6.1. Задача ЛП 212 13 2 32 11 4 12 5 45671 1 6 6 11 4 3 12 7 57 6 (6.8) 8 11 3 12 7 17 6 5 11 3 12 9 377 6 6

12 9 07 записана не в канонической форме. В соответствии с описанным правилом преобразования условий задачи ЛП в каноническую форму определим сначала целевую функцию 112 23 приве денной задачи — (6.9) 112 23 1 2 21 2 22 4

Для преобразования первых трех ограниченийнеравенств задачи (6.8) к виду равенств (уравнений) введем три дополнительные неотрицательные пе ременные x3, x4 и x5. Тогда соответствующие ограничения приведенной зада чи примут вид 11 1 3 12 1 13 2 51 3 4 11 5 12 1 14 2 11 6 (6.10) 4 5 11 5 12 5 15 2 5727 Поскольку в исходной задаче (6.8) не требуется неотрицательность пере менной x1, в записях (6.9) и (6.10) эту переменную нужно заменить разно стью д в у х дополнительных неотрицательных переменных. Для сохранения преемственности в системе обозначений введем 6 новых неотрицательных переменных {yj}, связанных с переменными {xj}, j = 1, ..., 5, соотношениями x1 = y1 – y6, xj = yj, j = 2, ..., 5. (6.11) После замены переменных {xj} на {yj} в записях (6.9) и (6.10) будет полу чена приведенная задача задачи (6.8): 3112 1 211 2 12 2 216 3 34564 1 5 11 6 312 6 13 2 16 7 56 5 5 11 2 12 6 14 2 16 7 16 8 511 2 12 2 15 2 516 7 276 5 5 12 9 06 2 7 16 7776 67 5

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

(6.8¢)

139

После отыскания значения l* и решения y* Î R6 приведенной задачи (6.8¢) значение 111 исходной задачи (6.8) вычисляется по формуле

111 2 3 11 2 а компоненты

1211 2

ее решения

x*

x11 2 y11 3 y16 ,

(6.5¢)

— по формулам

xj1 2 y1 j ,

j 2 21222132

(6.11¢)

Если же окажется, что у задачи (6.8¢) нет решений, то тогда нет решений и у задачи (6.8). 6.1.2. ГЕОМЕТРИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ЗАДАЧ ЛП

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

Рис. 6.1

140

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ческие образы основных математических объектов, в терминах которых обыч но формулируются и исследуются оптимизационные задачи (см. разд. 1.2). 1. Рассмотрим сначала задачу (6.8). Множеством допустимых точек X этой задачи является замкнутый вы пуклый четырехугольник, изображенный на рисунке 6.1. На этом же рисун 213 2 13 2 15 3 ке показаны и направления векторов 11 4 5 6 1 12 4 5 6 1 13 4 5 6 1 ортого 738 7 11 8 7 18 нальных (нормальных) к отдельным участкам границы множества X. Компоненты векторов {ai} определяются соответствующими коэффици ентами при переменных в первых трех неравенствахограничениях в поста новке задачи. Следует обратить внимание и на то, как именно в зависимости от типа (£ или ³) iго неравенстваограничения определяются компоненты век тора ai; кроме того, вектор ai направлен в ту часть плоскости (пространства R2), выбор из которой переменных задачи з а п р е щ е н ее iм ограничением. Для функции f: Rn ® R множество всех решений уравнения f (x) = m, определяемого действительным числом m, называют поверхностью уровня этой функции. При n = 2 поверхность уровня функции называют линией уровня. Таким образом, линию уровня целевой функции 112 23 1 22 21 3 22 зада чи (6.8) составляют все решения линейного уравнения x2 = 2x1 + m — все точки соответствующей прямой линии. Итак, линиями уровней функции 112 23 является семейство всех находя щихся в одной плоскости параллельных прямых линий, с каждой из кото 2 12 3 рых градиент 11 4 5 6 функции 112 23 образует прямой угол. Кроме того, в точ 7 18 ках той из произвольных двух прямых линий указанного семейства, кото рая может быть получена путем условного перемещения другой прямой в направлении вектора 112 функция 112 23 принимает бо´льшее значение (посколь ку 112 23 1 2 31 4 2 34 при замене каждой точки x0 Î R2 на точку 10 1 231 значение 112 20 1 3413 при t > 0 станет большим, а при t < 0 — меньшим значения 112 20 3 на величину 1 |21 | 2 ). «Перемещая» на плоскости в соответствующем направлении прямую ли нию, параллельную линиям уровней функции 112 234 и учитывая при этом толь ко точки множества X, можно найти как решение x* задачи (6.8), так и до пустимую в этой задаче точку x*, в которой функция 112 23 принимает наи меньшее на множестве X значение (рис. 6.2). Такой метод решения задачи ЛП называют геометрическим. Применив этот метод, легко убедиться, что единственным решением за 3 21 4 дачи (6.8) является точка 11 5 6 7 1 а значение 111 этой задачи равно 112 21 3 2 44 8 29 223 Кроме того, в единственной допустимой точке 11 4 5 6 функция 112 23 при 718 1 1 нимает наименьшее на множестве X значение 11 2 1 2 21 3 2 334 ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

141

Рис. 6.2

2. Рассмотрим задачу ЛП в канонической постановке (6.1¢)–(6.3¢). По определению, все имеющие неотрицательные компоненты решения сис темы уравнений (6.2¢) составляют допустимое множество X задачи (6.1¢)–(6.3¢). Из курса линейной алгебры известно, что система линейных алгебраиче ских уравнений (6.2¢) имеет решения тогда и только тогда, когда ранг r мат рицы A равен рангу ее расширенной матрицы — матрицы, образованной из матрицы A дописыванием к ней дополнительным столбцом вектора b (теоре ма Кронекера1 — Капелли2). Множества допустимых точек некоторых задач, число переменных в ка ждой из которых превышает 2, также можно изображать на плоскости. По 1 2

Леопольд Кронекер (Leopold Kronecker, 1823–1891) — немецкий математик. Альфредо Капелли (Alfredo Capelli, 1855–1910) — итальянский математик.

142

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

этому для решения таких задач геометрический метод также может оказать ся применимым. Известно, что ранг каждой матрицы A равен наибольшему числу ее ли нейно независимых строк (или столбцов) — наибольшему числу векторов {ai}, i Î I Ì {1, ..., m}, для которых равенство

4 2 1 31 3 1 112

выполняется только при нулевых значениях {li}. Если r < m (ранг матрицы A меньше числа ее строк), то у системы уравне ний (6.2) имеется m – r «зависимых» уравнений. Каждое «зависимое» урав нение является некоторой линейной комбинацией1 остальных r «независи мых» уравнений системы (6.2) — уравнений, определяемых линейно неза висимыми векторами {ai}. Все «зависимые» уравнения можно исключить из дальнейшего рассмот рения. Оставшиеся «независимые» уравнения составят систему уравнений, множество решений которой такое же, что и множество решений исходной системы уравнений (6.2). Геометрическая иллюстрация местонахождения решений уравнения < s, x > = h, являющегося линейной комбинацией двух уравнений < v, x > = d и < w, x > = s, дана на рисунках 6.3 и 6.4. В дальнейшем, не ограничивая общности выводов, предполагается, что ранг r матриц A равен числу m ее строк: r = m. (6.12) Поскольку ранг m´nматрицы A не превосходит наименьшее из чисел m и n, сделанное предположение обусловливает выполнение неравенства m£n (число n переменных {xj} задачи (6.1)–(6.3) не меньше числа m линейно незави симых уравнений (6.2), связывающих допустимые значения этих переменных). Случай, когда m = n, при исследовании задачи (6.1)–(6.3) интереса не представляет.

Рис. 6.3

Рис. 6.4

1 Уравнение < ak, x > = b называют линейной комбинацией уравнений < ai, x > = b , i Î I, если k i для некоторых действительных чисел {li}, i Î I, выполняются равенства 4 1 2 4 3 2 4 2 1 51 2 4 32 52 2 213

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

213

143

Действительно, при r = m = n квадратная матрица A невырождена и по этому имеет обратную матрицу A–1. Значит, у системы линейных алгебраи ческих уравнений (6.2¢) имеется единственное решение. Если все компонен ты этого решения неотрицательны, то оно также является единственным решением и задачи ЛП (6.1)–(6.3); если же по крайней мере одна компонента единственного решения системы уравнений (6.2) отрицательна, то у зада чи (6.1)–(6.3) нет допустимых решений, а значит, у нее также нет и решений. Пусть помимо предположения (6.12) также выполняется неравенство m,

i = 1, ..., m,

(6.29)

где — iя строка матрицы A, bi — iя компонента вектора b, i = 1, ..., m (спо соб такого преобразования задачи (6.26) подробно описан в п. 2 разд. 6.1.2). В векторной форме записи соотношения (6.29) очевидно имеют вид ai

x = b – Az

(6.29¢)

— вектор x, составленный из базисных переменных {xi} задачи, равен разно сти правой и левой частей векторного неравенства (6.28). Симплексметод решения задачи (6.27), (6.28) далее описывается при сле дующем предположении: переменные {xj} исходной задачи (6.26) так разде лены на свободные {zj} и базисные {xi} переменные, что значения всех свобод* ных членов {bi} неотрицательны: bi ³ 0,

i = 1, ..., m.

(6.30)

Из этого предположения следует, что точка Î у которой свободные компоненты 1101 2 нулевые, а базисные 1101 2 принимают соответствующие зна чения {bi}, является угловой точкой множества допустимых точек зада чи (6.26). x0

Rn,

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

157

Если для данного разделения переменных задачи (6.26) на свободные и базисные переменные хотя бы одно из значений {bi} окажется отрицатель ным, то после конечного числа специальным образом организованных обме нов переменными между наборами (списками) базисных и свободных пере менных окажется, что либо у задачи нет допустимых точек, либо эти наборы будут определены такими, при которых выполняются неравенства (6.30). Основной принцип построения одной из возможных процедур обменов меж ду наборами базисных и свободных переменных состоит в следующем. 1. Определение опорной вершины (угловой точки) Пусть разделение переменных {xj} задачи (6.26) на свободные {zj} и базис ные {xi} переменные оказалось таким, что bk < 0 для некоторого k Î {1, ..., m}. Если значения {akj} всех элементов kй строки матрицы A неотрицатель ны, то базисная переменная xk, вычисляемая по формуле xk = bk – ak1z1 – ... – akn – mzn – m,

(6.29²)

при произвольных неотрицательных значениях свободных переменных {zj} очевидно принимает только отрицательные значения. Это противоречит не отрицательности всех базисных и свободных переменных и является при знаком отсутствия допустимых точек у задачи (6.26), а значит, и отсутствия у нее решений. Пусть akt < 0 для некоторого t Î {1, ..., n – m}. Тогда именно свободную переменную zt следует вывести из списка сво бодных переменных и ввести в список базисных переменных задачи (6.26). При этом некоторую базисную переменную следует обязательно исключить из списка базисных переменных и ввести в список свободных переменных. Од нако с какой именно базисной переменной следует выполнить эту операцию? Пусть p — произвольный номер той из базисных переменных {xi}, для которой 22 2 3 123 3 4 (6.31) 4 21 314 1 4 31 It º {i Î (1, ..., m): biait > 0}

1 2

11 3 — наименьшее из положительных чисел 1 1 каждое 2 12 412 из которых определяется отношением отличных от 0 чисел bi и ait, имеющих одинаковые знаки; множество It номеров базисных переменных непусто, по скольку содержит по крайней мере такой элемент k, для которого bk < 0 и akt < 0). Итак, переменную zt следует исключить из списка свободных перемен ных и ввести в список базисных переменных; из списка базисных следует исключить переменную xp и ввести ее в список свободных переменных. Та кой обмен переменными между списками свободных и базисных перемен ных далее будет обозначаться zt « xp. Описанный обмен в ы б р а н н ы х свободных и базисных переменных обу словливает необходимость, вопервых, переписать соотношения (6.29), а во вторых, определить коэффициенты при новом наборе свободных перемен ных критериальной функции соответствующей задачи ЛП. (по определению

158

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Из pго соотношения (6.29) xp = bp – ap1z1 – ...–aptzt – ... – apn – mzn – m следует эквивалентное соотношение 22 3 23 1 41 5 68 4 6 7 1 3 21 314 3 21 3 3 21 2

(6.32)

1

Jt º {1, ..., n – m}\{t} (Jt — множество номеров свободных переменных, из которого исключен но мер t). После подстановки выражения zt (6.32) во все остальные соотноше ния (6.29) и в критериальную функцию задачи (6.27), (6.28), и приведения подобных членов получим: для каждого i = 1, ..., m, i ¹ p, 22 5 4 64 7 24 8 341 8 3 21



315 1

3 23 5 4 4 341 5

343 8 3 41 3 9 3 8 8 3 6 2 21 21



(6.33)

и 4

2 23 5

314 1



5

32

 5 3 6 51 2 21 7 3 6 2 121 8 2 9 9 51 2 21 1

(6.34)

После выполнения обмена zt « xp задача (6.27), (6.28) примет вид задачи ЛП минимизации функции (6.34) по неотрицательным переменным {zj}, j Î Jt и xp, значения которых удовлетворяют неравенствам 2 23

32 , 2 21

4 9 314 1 9 9 2 23 32



251 2

2 5 6

7 8 3

2 , 5 51   53 51 2 21  3  2 21  2 9 2 21    314 1  9 5  1, ..., 6, 5  2.9 1

 2 21 5 3 6 2 21 7 2

8

(6.35)

Структура этой задачи такая же, как и задачи (6.27), (6.28). Однако об щее число ее о т р и ц а т е л ь н ы х свободных членов 111 1 2 11 , 11 1 3 5 12 11 11 3 3 13 7 532 , 5 12

3 8 1,..., 4,

2 4 4 6 3 9 1,4 4

(6.36)

при выполнении некоторых условий уменьшится. Например, если bp < 0 и среди свободных членов {bi} либо нет нулевых, либо если bi = 0, то выполня ется неравенство ait < 0 (это утверждение является очевидным следствием правила (6.31) выбора номера p базисной переменной, переводимой в список свободных переменных; из правила (6.31) также следует, что свободная пере менная 11 1 принимает нулевое значение при каждом отличном от p индексе ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

159

q Î It\{p}, для которого

11 12 2 — при выполнении включения i Î It отно 3 13 3 23

11 принимает наименьшее значение и при i = q). 212 Модификации описанной процедуры, позволяющие определить опорную вершину множества допустимых точек произвольной задачи ЛП, подробно изложены в многочисленных специализированных работах, посвященных проблематике линейного программирования. Рассмотрим несколько примеров применения описанной о с н о в н о й п р о ц е д у р ы. С целью наглядности выполняемых действий их результаты удобно представлять в виде последовательности симплекс*таблиц. Структу ра и содержание симплекстаблицы в обозначениях задачи ЛП (6.27), (6.28) представлены в таблице 6.2. После выполнения обмена zt « xp содержание симплекстаблицы изме няется согласно преобразованиям (6.32)–(6.34) и (6.36); эта таблица прини мает вид таблицы 6.3. Описанная процедура повторяется до тех пор, пока либо не выяснится, что у задачи нет допустимых точек, либо все свободные члены 111 1 2 получен ной преобразованной задачи не примут неотрицательные значения. Пример 6.4. Преобразовать задачу ЛП

шение

11 2 2 12 3 13

4

2 11 2 2 12 3 13 2 2 11 3 12 2 13 11 3 12 2 12 3 13

234 15 6 6 11 6 2 51 8 6 21 6 69 1

11 1 12 1 13 10

7 7 7 7

(6.37)

к эквивалентной задаче ЛП, имеющей каноническую форму постановки. Найти угловую точку множества допустимых точек приведенной задачи. Пусть дополнительные переменные x4, x5, x6, x7 принимают лишь неот рицательные значения и связаны с переменными x1, x2, x3 задачи (6.37) ра венствами

1x1 1 2x2 2 x3 2 x4 3 1, 4 12x1 2 x2 1 x3 2 x5 3 15,55 6 x1 2 x2 2 x6 3 2, 5 1 x2 2 x3 2 x7 3 1. 57

(6.38)

Очевидно, что задача минимизации функции l(x) º x1 – 2x2 + x3,

(6.39)

на множестве неотрицательных решений системы уравнений (6.38) являет ся приведенной формой задачи (6.37) (имеет каноническую форму). 160

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1 2 3 4 5 6 2 7 89 7

123456789 52 

6789 2  33 8 3

    

1 5 6 8  46636 

1  ! 5611

"21



12 1



2#3222323

12113

213

3113

4443

31 3

4443

31 353 3

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

213

23

313

4443

3 3

4443

3 353 3

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

21 3

2 3

3 13

4443

3 3

4443

3 353 3

45

13

4443

 3

4443

 353 3

 3 3

1

1 2 3 4 5 6 2 7 89 7

123456789 52  856  36  11232

56789 2  37 3

12213

1 5 6 8  46636 

1  56 11 i 

11 3 41t

11



1p 4 p1 3 411 3 41t 3 4443 4 pt 4 pt

. .3 .

132

3

21 3



41t 3 4443 4 pt

41 j 3 41t

4 pj 3 4443 4 pt

41n3m 3 41t

. .3 .

. .3 .

. .3 .

. .3 .

4it 3 4443 4 pt

4ij 3 4it

4 pj 3 4443 4 pt

4in3m 3 4it

4 pn3m 3 4 pt

. .3 .

22 3

1i 3 4it

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

25 3

1p 3 4 pt

4 p1 3 4 pt

4443

1 3 4 pt

4443

4 pj 3 4 pt

4443

4 pn3m 3 4 pt

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

. .3 .

4 i1 3 4it

4 p1 3 4 pt

4443

. .3 .

34142325

. .3 .

1p 3 4 pt

. .3 .



3

4 1 p 4 m1 3 4mt p1 4 pt 223 1m 3 4mt 4 3 pt 3

4mt 4443 3 4 3 4443 pt

1p 3 4 pt

. . s . 3 3 4t 3 . 3 pt . .

 3 9 3

6 7 st

s1 3 st

4 p1 3 4 pt

4mj 3 4 mt

4 pj 4 pt

4443

4mn3m 3 4 mt

. .3 .

sn3m 3 st

3 sj 3 st

4 pj 3 4 pt

4 pn3m 3 4 pt

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

4 pn3m 3 4 pt

4 pn3m 3 4 pt

161

1 2 3 4 5 6 2 7 89 1 1 353  46 11

 6 6   

31 1

123456789 353 666  811

812

813

23 41

21

521

561

21

63 71

571

561

21

521

83 91

61

21

21

1

43 1

21

1

521

21

1

21

561

21

1 1

7

1 2 3 4 5 6 2 7 89 7 1 353  46  11 i 

123456789 353 666 

23 41

2151!52"12161

3

63 71

57151!56"12161

3

83 21

61

43 1

2151 12161

3

1#1212161

3946356 11214

31 1

1 1

814

812

813

31 1 1

56151!52"42121

2151!52"121 1

32 1 1

2151!56"12121

52151!56"121 1

1 1 1

0 1 1

0 1 1

52151 12121

2151 121 1

1 3 1 1

56151212121

21512121 1

1 1 1

7

1 2 3 4 5 6 2 7 89 17 1 353  46  11 i 

3946356 11214

31 1

123456789 353 666  814

812

813

23 41

81

21

521

21

63 71

521

61

81

521

83 21

61

21

21

1

43 1

21

1

521

21

61

521

581

21

1 1

7

1 2 3 4 5 6 2 7 89 27 1 353  46  11 i 

3946356 13215

31 1

1 1

162

123456789 353 666  814

812

815

23 41

61

81

61

21

63 71

21

561

581

521

83 21

61

21

21

1

43 1

1

61

61

21

81

21

1

21

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Поскольку дополнительные переменные x4, x5, x6, x7 очевидным образом определяются из системы уравнений (6.38).

14 15 16 17

1 1 2 12 11 2 2 12 3 13 23 4 1 25 2 122 11 3 12 2 13 2355 6 1 2 2 1 11 3 12 23 5 57 1 1 2 12 12 3 13 23

(6.38¢)

эти переменные можно принять в качестве базисных переменных. Значит, переменные x1, x2, x3 составляют один из возможных наборов свободных переменных приведенной задачи. Таблица 6.4 является симплекстаблицей приведенной задачи (6.37). Так как свободный член b2, соответствующий базисной переменной x5 отрицателен (k = 2, b2 = –5), следует искать любое отрицательное число сре ди чисел {a2t}, t = 1, 2, 3 (в соответствующей части второй строки таблицы 6.4). Поскольку a21 = –2 < 0 и a23 = –1 < 0, согласно описанному правилу для исключения из списка свободных переменных можно принять переменную x1 или x3. Пусть этой переменной будет x1 (t = 1). Определим базисную переменную, вводимую в список свободных пере менных. Для этого следует воспользоваться условием (6.31). В рассматриваемом случае I3 = {2, 3}. 1 1 25 2 3 215 и 3 2 2 2. Значит, из списка базисных сле Вычислим 2 3 421 22 331 1 дует исключить переменную x6 (p = 3) и ввести ее в список свободных пере менных. Выполнение обмена x1 « x6 состоит в проведении вычислений по форму лам, приведенным в таблице 6.3. Эти вычисления конкретизированы в таб лице 6.5, а их результат содержит таблица 6.5¢. Так как соответствующий базисной переменной x5 свободный член вто рой строки таблицы 6.5¢ отрицателен (k = 2, 11 2 2 31 ), следует искать в этой же строке таблицы среди чисел 11 21 1 t = 1, 2, 3 любое отрицательное число. Поскольку только 11 23 2 31 4 01 согласно описанномуправилу для выведе ния из списка свободных переменных можно взять лишь переменную x3 (t = 3). Теперь необходимо определить базисную переменную, которую необхо димо будет ввести в список свободных переменных. Для этого следует вос пользоваться условием (6.31). 11 3 11 21 Поскольку теперь уже I3 = {1, 2} и 1 3 4 2 3 1 p = 2 и из списка 51 13 1 51 23 21 базисных следует вывести переменную, имеющую в этом списке второй по рядковый номер, т. е. переменную x5. После проведения обмена x3 « x5 и необходимых преобразований теку щей симплекстаблицы 6.5¢ она примет вид таблицы 6.5². Все свободные члены 111 1 2 симплекстаблицы 6.5² неотрицательны. По этому, вопервых, возможные списки свободных и базисных переменных приведенной к каноническому виду постановки задачи (6.37) составляют соответственно переменные x2, x5, x6 и x1, x3, x4, x7, а вовторых, точка x0 Î R7 ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

163

с компонентами 110 1 21 120 1 01 130 1 11 140 1 21 150 1 160 1 170 1 0 является (вырож денной) угловой точкой множества допустимых точек этой задачи. По итоговой симплекстаблице можно определить аналитическую форму результатов преобразований исходной задачи (6.27), (6.28). Например, по сим плекстаблице 6.5² результатом всех преобразований задачи (6.37) является задача 15 1 16 1 3 2 1234 3 2 12 1 15 1 3 16 5 24 4 4 63 12 6 15 6 2 16 5 144 (6.37¢) 7 12 1 16 5 244 2 12 1 15 1 2 16 5 044 12 4 15 4 16 8 0549 Пример 6.5. Найти угловую точку множества допустимых точек задачи ЛП в канонической постановке 3 11 3 2 12 1 13 4 1234 5 12217 6 3 11 1 2 12 1 14 7 3 44 6 6 (6.40) 11 3 12 1 13 1 15 7 3 34 8 6 2 11 3 12 1 13 1 16 7 3 1046 3 11 1 12 1 17 7 3 25 69 Из ограниченийравенств этой задачи следует, что 14 15 16 17

1 24 2 12 11 3 2 12 23 4 1 23 2 1 11 2 12 3 13 23 55 6 1 210 2 12 11 2 12 3 13 235 57 1 22 2 12 11 3 12 24 1 2 3 4 5 6 2 7 8987 1 353  46 11

  

24 4

123456789 353 666  811

812

12 34

534

514

64

74

62 84 92

4

594 5174

14 64

514 514

14 14

32 4

564

514

14

74

74

94

564

14

4 4

813

7 1 2 3 4 5 6 2 7 89817 1 353 

3946356 11214

24 4

4 4

164

46  11 i 

123456789 353 666  814

812

813

12 34 62 84

564 584

514 14

14 74

74 14

92

4 32 14

5134 64

64 514

14 514

14 74

4

94

14

14

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Поэтому переменные x1, x2, x3 составляют один из возможных наборов свободных переменных задачи, а переменные x4, x5, x6, x7 — набор базисных переменных. Для указанного разделения переменных задачи (6.40) на свободные и ба зисные переменные симплекстаблицей этой задачи является таблица 6.6. Поскольку все свободные члены {bi} в симплекстаблице 6.6 отрицатель ны, можно выбрать любую ее строку для отыскания переменной, которую следует вывести из набора свободных переменных и ввести в набор базисных переменных. Пусть это будет первая строка (k = 1). Так как среди коэффициентов {a1j}, j = 1, 2, 3, только коэффициент a11 отрицателен (a11 = –1), из набора свобод ных переменных должна быть выведена переменная x1 (t = 1). Теперь необходимо определить номер базисной переменной, которую не обходимо ввести в набор свободных переменных. Для этого следует восполь зоваться правилом (6.31). 1 1 24 22 4 3 4 1 В рассматриваемом случае I1 = {1, 4}, и поскольку 1 3 511 21 21 514 p = 4 — базисная переменная x7 должна быть переведена в набор свободных переменных. После выполнения замены x1 « x7 и необходимых преобразований сим плекстаблица 6.6 примет вид таблицы 6.6¢. В таблице 6.6¢ свободный член 11 2 отрицателен 111 2 2 3523 однако среди значений 111 2 1 23 j = 1, 2, 3, нет ни одного отрицательного. Значит, множество допустимых точек задачи (6.40) пусто (у этой задачи нет ни угловых точек допустимого множества, ни решений). Этот же вывод можно сделать, анализируя содержимое третьей строки симплекстаблицы 6.6¢. Описанный метод можно также применять для отыскания угловой точки любого множества решений системы конечного числа линейных уравнений неравенств. Разумеется, в таких случаях последняя строка симплекстабли цы является излишней. 2. Решение задачи ЛП симплекс*методом Итак, пусть переменные {xj} задачи (6.26) так разделены на свободные {zj} и базисные {xi}, что значения всех свободных членов {bi} в постанов ке (6.27), (6.28) этой задачи неотрицательны. Идея, положенная в основу симплексметода решения задачи (6.26), дос таточно проста. Предположим сначала, что все коэффициенты {sj} при свободных пере менных {zj} в записи целевой функции 11 112 задачи (6.27), (6.28) неотрица тельны: sj ³ 0, j = 1, ..., n – m. (6.41) В таком случае ввиду м и н и м и з а ц и и функции 11 112 наилучшими яв ляются нулевые значения свободных переменных {zj} — по условию задачи эти переменные не могут принимать отрицательные значения, а увеличе ние любой из них, коэффициент s при которой положителен, приведет ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

165

к увеличению значения функции 11 112 (значения базисных переменных {xi} задачи (6.26) на значения 11 112 не влияют). Итак, значение задачи (6.27), (6.28), а значит, и задачи (6.26), равно q; компоненты решения x* задачи (6.26), соответствующие свободным пере* менным, принимают нулевые значения, а значения компонент, соответ* ствующие базисным переменным, равны соответствующим значениям сво* бодных членов {bi}. Предположим теперь, что среди коэффициентов {sj} имеется по крайней мере один отрицательный коэффициент (для определенности пусть st < 0, где t Î {1, ..., n – m}). В таком случае увеличение значения свободной переменной zt приводит к уменьшению значения минимизируемой функции 11 1123 Если нет ограничений на увеличение переменной zt, то неограниченное уве личение ее значения приведет к неограниченному уменьшению значения функции 11 112 — значение задачи (6.27), (6.28), а значит, и задачи (6.26), бес конечно мало (по договоренности равно –¥). Имеется или нет ограничение сверху на значение zt — зависит от значе ний коэффициентов {ait}, i = 1, ..., m. Если выполняются неравенства ait £ 0

" i = 1, ..., m,

(6.42)

то никаких дополнительных ограничений на выбор значения zt кроме его не отрицательности очевидно нет — при любом допустимом выборе значений ос тальных свободных переменных значение zt может быть любым положитель ным числом, поскольку это не нарушит выполнение ни одного из неравенств ai1z1 +... + aitzt + ... + ain – mzn – m £ bi

" i = 1, ..., m.

(6.28¢)

Если же aqt > 0 для некоторого q Î {1, ..., m} — по крайней мере один из коэффициентов {ait}, i = 1, ..., m, положителен, — то из qго неравенства aq1z1 +... + aqtzt + ... + aqn – mzn – m £ bq

(6.28²)

следует о г р а н и ч е н и е с в е р х у на выбор zt:

4t 5

2q 6 3qt

3 qj

73 j1Jt

4j,

(6.28¢¢¢)

qt

где Jt º {1, ..., n – m}\{t}. Значит, в предположении нулевых значений всех свободных перемен ных, кроме tй, значение zt не может превосходить наименьшее из неотрица 43 5 тельных чисел 1 1 1 6 412 7 13 6 111 2221 52 3 8 32 9 02 3 8 12 2q 3t 4 min . 1 q1It 5 qt Если значение свободной переменной zt принять максимально возмож 2q ным min , а все остальные свободные переменные положить нулевыми, то q1I1t 3 qt 166

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

точка 31 4 321 1 2 с такими компонентами будет допустимой в задаче (6.27), (6.28) и лучше, чем также допустимая в этой задаче точка, но имеющая только нулевые компоненты: 2q 1 l1(31 ) 4 5 6 st min 7 5 8 5 4 l1(0). q1I1t 9 qt При таком способе выбора значений свободных переменных {zj} по край ней мере одна из базисных переменных1 примет нулевое значение. Номер p такой базисной переменной очевидно принадлежит множеству номеров ба зисных переменных 311 3 12 4 111 2221 42 3 521 6 02 и является таким, что 22 23 (6.43) 3 123 4 4 21 31411 4 31 Теперь наборы свободных и базисных переменных можно обновить пу тем обмена переменными zt и xp — выполнить уже описанную операцию zt « xp. Результатом этого обмена будет новая задача ЛП, имеющая вид задачи (6.27), (6.28), однако с м е н ь ш и м значением слагаемого q в целе вой функции. Кроме того, ввиду правила (6.43) выбора базисной перемен ной xp значения свободных членов {bi} новой задачи также будут неотрица тельными. Такие операции обмена между наборами свободных и базисных перемен ных можно повторять до тех пор, пока либо не окажется, что у исходной задачи (6.26) значение бесконечно мало (равно –¥) — признаком такого слу чая является выполнение на некотором этапе вычислений неравенств (6.42) для некоторого такого t Î {1, ..., n – m}, что st < 0, — либо не будет выполне но условие (6.41) прекращения вычислений. В последнем случае значение задачи (6.26) равно q, а ее решением x* будет точка, компоненты которой равны соответствующим значениям свободных и базисных переменных последней задачи (6.27), (6.28) — з н а ч е н и е к а ж д о й с в о б о д н о й п е р е м е н н о й р а в н о 0, а з н а ч е н и я м и б а з и с н ы х п е  р е м е н н ы х я в л я ю т с я с о о т в е т с т в у ю щ и е с в о б о д н ы е ч л е н ы. Описанный метод преобразований симплекстаблицы называют симплекс* методом решения задачи ЛП в канонической постановке. Следует отметить, что для начала работы симплексметода необходимо найти опорную (угло вую) точку множества допустимых точек задачи — конкретизировать при емлемое в указанном ранее смысле разделение переменных задачи на свобод ные и базисные. Итак, общая структура симплекс*метода решения любой задачи ЛП включает несколько этапов и состоит в следующем. 1 этап. Исходную задачу ЛП преобразовать к эквивалентной задаче ЛП, имеющей каноническую форму постановки (6.26).

1

Значения базисных переменных вычисляются по формулам (6.29).

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

167

2 этап. Разделить переменные задачи (6.26) на свободные и базисные — задачу (6.26) привести к виду задачи (6.27), (6.28). Заполнить симплекстаб лицу 6.2. 3 этап. По формулам, приведенным в таблице 6.3, содержимое симплекс таблицы 6.2 обновлять столько раз, пока либо не выяснится, что у зада чи (6.26) нет допустимых точек, либо все свободные члены {bi} не примут неотрицательные значения — будет найдена угловая точка множества до пустимых точек задачи (6.26). При каждом обновлении содержимого сим плекстаблицы 6.2 выбор свободной zt и базисной xp переменных проводится в соответствии с условиями akt < 0, t Î {1, ..., n – m} и (6.31). 4 этап. По формулам, приведенным в таблице 6.3, содержимое симплекс таблицы 6.2 обновлять столько раз, пока либо не выяснится, что значение задачи (6.26) бесконечно мало (равно –¥), либо не будет выполнено усло вие (6.41) прекращения вычислений. При каждом обновлении симплекс таблицы 6.2 выбор свободной zt и базисной xp переменных проводится в соот ветствии с условиями st < 0, t Î {1, ..., n – m} и (6.43). Рассмотрим несколько примеров решения задач ЛП симплексметодом. Пример 6.6. Решить задачу (6.37) симплексметодом. Результатом выполнения первых трех этапов симплексметода, приме ненного к задаче (6.37), является симплекстаблица 6.5². Поскольку строка «Целевая функция» этой таблицы содержит только неотрицательные значения коэффициентов при свободных переменных це левой функции задачи, значение задачи (6.37) равно q = 3, а компонентами ее решения x* являются: x*1 = 2, x*2 = 0, x*3 = 1 (значения x*4 = 2, x*5 = 0, x*6 = 0 и x*7 = 0 соответственно дополнительных переменных x4, x5, x6 и x7 равны разности правой и левой частей линейных неравенствограничений зада чи (6.37) после подстановки в них значений x*1 = 2, x*2 = 0, x*3 = 1). Пример 6.7. Решить симплексметодом задачу 11 2 12 3 22 11 7 12 2 11 7 2 12

234 14 5 8 11 6 5 1 45 9 11 1 12 10

(6.44)

1 этап. Введем в задачу (6.44) две дополнительные переменные x3 и x4, принимающие только неотрицательные значения и связанные с переменны ми x1 и x2 равенствами 12 11 2 12 2 13 3 11 4 5 1 11 2 2 12 1 14 3 426 Задача 3 1 12 3 11 4 12 5 3456 6 12214 7 42 11 1 12 1 13 9 16 8 7 4 11 1 2 12 4 14 9 4

(6.44¢)

очевидно эквивалентна задаче (6.44) и имеет каноническую форму. 168

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

2 этап. Ограниченияравенства задачи (6.44¢) эквивалентны уравнениям 13 1 1 2 122 11 3 12 23 4 5 14 1 24 2 1 11 2 2 12 246

Значит, переменные x1 и x2 можно отнести к свободным, а переменные x3 и x4 — к базисным переменным задачи (6.44¢). Задача (6.44¢) эквивалентна задаче 21 2 11 1 12 3 3 11 4 12 5 456 12 11 1 12 1 0 6 (6.45) 7 42 11 8 12 9 11 6 11 4 2 12 9 4 41

симплекстаблицей которой является таблица 6.7. 3 этап. Свободный член b2 = –4 отрицателен (k = 2) и среди чисел a21 = 1 и a22 = –2 только a22 отрицательно. Значит, из списка свободных переменных сле дует вывести переменную x2 (t = 2) и ввести ее в список базисных переменных. В соответствии с правилом (6.31) определяется номер p переменной, ко торую следует исключить из списка базисных переменных и ввести в список 1 1 свободных переменных. Так как 1 3 1 4 24 3 2 1 такой переменной 512 1 21 522 оказывается x3 (p = 1). После выполнения замены x2 « x3 симплекстаблица 6.7 принимает вид таблицы 6.7¢. Поскольку таблица 6.7¢ содержит отрицательный свободный член b2 = –2 (k = 2), процесс отыскания угловой точки множества допустимых точек за дачи (6.44¢) следует продолжить. 1 2 3 4 5 6 2 7 89 1 1 353  46 11

  

789 3  19 1

123456789 353 666  811

812

561

21

23 41

21

63 1

51

21

561

1

21

521

 1 1

7

1 2 3 4 5 6 2 7 89 17 1 353  46 11

3946356 12213

789 3  19 1

123456789 353 666  811

813

23 61

21

561

21

63 1

561

541

561

521

521

21

 1 1

7

1 2 3 4 5 6 2 7 89 27 1 353  46 11

3946356 11214

789 3  19 1  1 1

123456789 353 666  814

813

23 61

21

56341

341

63 21

6341

52341

6341

5341

52341

341

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

169

Оба числа a21 = –3 и a22 = –2 отрицательны. Поэтому выводить из списка свободных можно и переменную x1, и переменную x3. Пусть этой переменной будет x1 (t = 1). В соответствии с правилом (6.31) необходимо определить номер p пере менной, которую следует исключить из списка базисных переменных и вве сти в список свободных переменных. Так как у чисел a1t = –2 и a2t = –3 только у числа a2t знак такой же, как и у соответствующего ему свободного члена b2 (b1 = 1), именно переменная x4 является единственно возможной искомой переменной (p = 2). После проведения обмена x1 « x4 симплекстаблица 6.7¢ принимает вид таблицы 6.7². Поскольку все свободные члены таблицы 6.7² положительны, следует перейти к выполнению предписаний следующего этапа. 4 этап. В строке «Целевая функция» симплекстаблицы 6.7² имеется единственный отрицательный коэффициент при свободной переменной в фор муле вычисления целевой функции: s1 = –1/3 — коэффициент при свобод ной переменной x4 (t = 1). Так как среди элементов {ai1} первого столбца таблицы 6.7² нет положи тельных (a11 = –2/3, a21 = –1/3), значение свободной переменной x4 не огра ничено сверху. Поэтому и значение приведенной задачи 5 1 5 1 3 1 3 3 3 3 4 3 7 2 1 3 1 6 3 3 3 4 2 1 1 3 1 6 3 3 3 4

4 11 2 1 3

234 12 5 55 7 5 5 58

13 1 14 10

и значение исходной задачи (6.44) бесконечно малы — равны –¥. Пример 6.8. Решить симплексметодом задачу 11 2 2 12 3 6 11 2 12 12 11 2 12 11 6 2 12 11

7 7 7 7 7

234 1

11 1 12 10

81 121 171 21 105

4 5 5 55 8 5 5 5 59

(6.46)

1 этап. Введем в задачу (6.46) пять дополнительных переменных x3, ..., x7, принимающих только неотрицательные значения и связанных с пере менными x1 и x2 равенствами 1 11 2 12 2 13 3 81 4 12 2 14 3 121 5 55 11 2 12 2 15 3 171 6 11 1 2 12 2 16 3 21 5 5 11 2 17 3 102 75 170

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Задача 3 1 12 3 4 11 4 2 12 5 3457 6 1221 7 4 11 1 12 1 13 8 86 7 77 12 1 14 8 126 9 11 1 12 1 15 8 176 7 7 11 4 2 12 1 16 8 26 7 11 1 17 8 10 7

(6.46¢)

очевидно эквивалентна задаче (6.46) и имеет каноническую форму. 2 этап. Ограниченияравенства задачи (6.46¢) эквивалентны условиям

13 3 8 4 1 4 11 5 12 2 16 7 14 3 12 4 12 1 77 15 3 17 4 1 11 12 2 1 8 16 3 2 4 1 11 4 2 12 2 1 7 7 17 3 10 4 11 2 79 Значит, переменные x1 и x2 можно принять в качестве свободных, а пере менные x3, ..., x7 — базисных переменных задачи (6.46¢). Задача (6.46¢) эквивалентна задаче 21 2 13 3 4 11 4 2 12 5 456 12 11 1 12 10 6 6 4 11 7 12 8 81 66 12 8 121 (6.47) 9 11 7 12 8 171 6 6 11 4 2 12 8 21 6 11 8 101

6 имеющей симплекстаблицу 6.8 (следует обратить внимание на единствен ное отличие в постановках задач (6.46) и (6.47); все выполненные к этому моменту действия предназначены лишь для некоторого обоснования право мерности принятого способа определения структуры и содержания симплекс таблицы задачи (6.47)). 3 этап. Так как все свободные члены {bi} симплекстаблицы 6.8 положи тельны, можно перейти к выполнению следующего этапа. 1 2 3 4 5 6 2 7 89 7 1 353  46 11

  

244

4 !4

123456789 353 666  811

812

12 34

54

614

14

72 84

174

94

14

32 4

1 4

14

14

82 4

74

14

674

2 4

194

14

94

94

614

674

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

171

4 этап. В строке «Целевая функция» симплекстаблицы 6.8 имеются толь ко отрицательные коэффициенты при свободных переменных в формуле вы числения значений целевой функции: s1 = –1 — коэффициент при свобод ной переменной x1 и s2 = –2 — коэффициент при свободной переменной x2. Значит, любую из переменных x1 и x2 можно вывести из списка свободных и ввести в список базисных переменных. Пусть этой переменной будет x2 (t = 2) (коэффициент s2 меньше, чем s1, и можно ожидать, что при таком выборе свободной переменной уменьшение значения целевой функции будет больше). Тогда единственной базисной переменной, которую следует ввести в спи сок свободных переменных, будет переменная x3 — согласно правилу (6.43) 1 1 отношение 1 является наименьшим среди отношений 1 1 в которых 212 211 bi × ait > 0 (p = 1). После обмена x2 « x3 симплекстаблица 6.8 принимает вид таблицы 6.8¢. Так как в строке «Целевая функция» таблицы 6.8¢ лишь коэффициент s1 = –3 при переменной x1 в формуле целевой функции отрицателен, только 1 2 3 4 5 6 2 7 89 11 1 353  46 21

3946356 11112

311

123456789 353 666  813

812

23 41

51

621

21

43 71

71

21

621

83 91

1

41

621

73 1

251

621

41

93 1

21

21

1

62 1

681

41

1 !"1

7 1 2 3 4 5 6 2 7 89 27 1 353  46 21

3946356 13114

311

123456789 353 666  814

812

23 41

241

21

1

43 21

71

21

621

83 91

21

641

21

73 1

441

21

21

1

621

21

6451

81

621

93 1 1 !"1

7 1 2 3 4 5 6 2 7 89 1117 1 353  46 21

3946356 12115

311

1 !"1

172

123456789 353 666  814

815

23 41

241

21

1

43 21

91

621

21

83 81

21

641

21

73 1

421

81

621

93 1

91

21

621

64 1

21

21

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

эту переменную можно исключить из списка свободных и включить в список базисных переменных (t = 1). Кандидатами на исключение из списка базисных являются переменные x4, x5 и x7 — только соответствующие этим переменным значения {ai1} по ложительны и поэтому 111 3 121 31 522 Поскольку наименьшее значение отноше 1 ние 1 1 1 2 211 1 принимает при i = 2, именно переменная x4 с номером 2 должна 311 быть переведена из списка базисных в список свободных переменных (p = 2). После обмена x1 « x4 симплекстаблица 6.8¢ принимает вид таблицы 6.8². Так как в строке «Целевая функция» таблицы 6.8² лишь коэффициент s2 = –1 при переменной x3 в формуле вычисления значения целевой функции отрицателен, только эта переменная может быть исключена из списка сво бодных и включена в список базисных переменных (t = 2). Кандидатами на исключение из списка базисных являются переменные x5, x6 и x7 — только соответствующие этим переменным значения {ai1} поло жительны и поэтому 112 3 131 41 522 Поскольку наименьшее значение отноше 1 ние 1 1 1 2 212 1 принимает при i = 3, именно переменная x5 с номером 3 из 311 списка базисных переменных должна быть переведена в список свободных переменных (p = 3). После обмена x3 « x5 симплекстаблица 6.8² принимает вид таблицы 6.8¢¢¢. Так как строка «Целевая функция» симплекстаблицы 6.8¢¢¢ содержит лишь положительные значения коэффициентов при свободных переменных целевой функции задачи, значение задачи (6.46¢) равно q = –29, а ее решением является вектор x* с компонентами: x*1 = 5, x*2 = 12, x*3 = 1, x*4 = x*5 = 0, x*6 = 21, x*7 = 5. Значение задачи (6.46) противоположно значению задачи (6.46¢) и поэто му равно 29, а ее решение составляет пара чисел x*1 = 5 и x*2 = 12. Разумеется, без применения компьютера со специальным программным обеспечением практическое применение симплексметода решения задачи ЛП даже умеренных размеров — с небольшим количеством переменных и линейных ограничений — может быть весьма трудоемкой, продолжитель ной и неприятной работой. Допущенные на какомлибо этапе ее выполнения ошибки могут проявиться далеко не сразу и обусловить принятие далеко не наилучшего решения. Обобщение полученного опыта решения практических задач ЛП сим плексметодом позволяет сделать такие выводы. 1. Общее число итераций этого метода — число обновлений симплекс таблиц после построения приемлемых наборов базисных и свободных пере менных на 4м этапе вычислений — находится в пределах от 1,5m до 3m, где m — число ограничений (6.28) задачи (6.27), (6.28). 2. Общее число арифметических операций, необходимых для решения каж дой конкретной задачи, существенно зависит от применяемой программы для компьютера. Кроме того, что качество каждой такой программы и ее вычисли тельные характеристики определяются мастерством ее разработчика и его доб росовестным отношением к работе по ее созданию, программа также может со держать некоторые дополнительные «коррекции», касающиеся организации проведения вычислений. Привнесение соответствующих усложнений в базовую ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

173

программу симплексметода — за реализацию которых нужно «платить», в ча стности, общим увеличением числа выполненных операций, а значит, и увели чением времени решения задачи — предназначены, например, для того, чтобы: · избежать ситуаций, при которых хотя обмен базисных и свободных пере менных и проводится, однако: – общее число отрицательных свободных членов {bi} не уменьшается или не уменьшаются их абсолютные значения (это возможно на 3м этапе работы симплексметода, на котором отыскивается угловая точка мно жества допустимых точек задачи); – слагаемое q в формуле (6.27) вычисления значения целевой функции задачи не уменьшается (это возможно на 4м этапе работы симплекс метода); · учесть увеличение влияния неизбежных ошибок (погрешностей) вычис лений, игнорирование которых через некоторое число обновлений сим плекстаблицы может привести к задаче, существенно не эквивалентной исходной задаче; · организации удобного интерфейса программы решения задачи (в частно сти, для искусственного прерывания вычислений в случае возникнове ния некоторых заранее конкретизированных ситуаций). 3. При решении практических задач умеренных размеров общее число арифметических операций симплексметода достигает десятков миллионов и пропорционально m3 (увеличивается примерно в 8 раз при удвоении числа m ограничений задачи). 4. Далеко не каждую программу, предназначенную для решения задач ЛП на компьютере, можно применять для решения конкретной и важной для вас задачи. Ввиду этих выводов, доверять решать практически значимые задачи сле дует всетаки специалистам, имеющим соответствующие квалификацию, уровень мастерства и добросовестно относящимся к порученному делу. По лученные же будущими экономистами и управленцами знания о задачах ЛП позволят им, с одной стороны, принимать активное участие в постановке таких задач, понимать смысл их решений и проблемы информационного обес печения, а с другой — правильно оценивать возможности и сложности рабо ты, выполняемой математикамианалитиками и программистами. 6.1.4. ДВОЙСТВЕННАЯ ЗАДАЧА ЗАДАЧИ ЛП

Определим двойственную задачу задачи ЛП в постановке n

cj xj j 31

n

aij xj 8 bi , j 31 n

aij xj 3 bi , j 31

xj 8 0,

174

4 6 1xj 2 6 6 66 i 3 1, ..., m7, 9 6 i 3 m7 1, ..., m,6 6 6 j 3 1, ..., n, 6 5 min,

(6.48)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

где {cj} и {bi} — компоненты соответственно векторов c Î Rn и b Î Rm, {aij} — элементы m´n(матрицы A, m¢ — некоторое целое число (0 £ m¢ £ m), {xj} — неизвестные задачи (компоненты вектора x Î Rn). Согласно общему правилу определения двойственной задачи сначала сле( дует преобразовать исходную задачу математического программирования к эквивалентной (приведенной) задаче, имеющей стандартный вид. Для зада( чи (6.48) такой задачей является 4 6 1xj 2 6 6 i 3 1, ..., m7, 66

6 i 3 m7 1, ..., m,6 6 6 j 3 1, ..., n. 6

n

 cj xj

5 min,

j 31

n

bi 8  aij xj 9 0, j 31 n

bi 8  aij xj 3 0, j 31

xj 0,

(6.48¢)

Затем для приведенной задачи определяется функция Лагранжа — 1 2 1 1 2 2 3 2 2 3 51 62 7 3 4 8 3 6 3 5 74 7 94 6 43 6 3 8 1 94 74 5 7 8 3 6 43 74 86 3 2 7 8 3 11 4 11 9 3 11 3 11 9 4 11

4 11

(6.49)

где {ui} — двойственные переменные — компоненты вектора u Î Rm (см. разд. 5). Двойственная функция y(u) определяется по правилу 45 min L(x, u), если u 2 U 3, 6 (u) 7 8 x2R1n 9 , если u U 3, 5 где U¢ º {u Î Rm: ui ³ 0, i = 1, ..., m¢}. Так как

(6.50)

n 7 m n 7 m 7m 8 8 m 8 minn L(x, u) 6 min  bi ui 3  cj 9  aij ui xj 6  biui 3 min  cj 9  aij ui xj 6

x5R3 1xj 402 i 61 1xj 402 j 61 j 61 i 61 i 61

i 61

m n m 7 8 6  bi ui 3  min cj 9  aij ui xj , xj 4 0 i 61 j 61 i 61

для вычисления значения двойственной функции необходимо вычислить значения n простейших и независимых между собой задач ЛП: 2 3 4 1 2 14 5554 85 7 5 1 5 631 73 8 4 1 6 1234 4 1 10 3 21 9

Очевидно, что значение каждой j(й задачи (6.51) равно 0, если

(6.51)

1

4 2 2 4 532 63 3 01 3 11

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

175

и равно –¥, если

1

4 2 2 4 532 63 3 01 3 11

j = 1, ..., n, значит, для произвольной точки u Î U¢ m 4 85 b, u 6, если  aij ui 7 cj , j 3 1,..., n, 8 i 31 9(u) m 8 , если aik ui 6 ck для некоторого k  11,..., n2  8 i 31 и двойственной задачей задачи ЛП (6.48) является задача ЛП 1

6232 1

2 21

72532 2 21

7 855

32 9 75

3 5 314 55 6 5 2 156665 95 5 5 2 2 156665 1855

4 2345 1

(6.52)

в которой: · целевая функция максимизируется, · общее число линейных ограничений равно n — числу неизвестных ис/ ходной задачи (6.48), · условия неотрицательности налагаются только на первые m¢ двойствен/ ные переменные {ui} — именно на переменные, сопоставляемые с ограни/ чениями/неравенствами задачи (6.48). В частности, если в исходной задаче (6.48) нет ограничений/равенств на переменные (если m¢ = m), то в постановке двойственной задачи имеется тре/ бование неотрицательности значений каждой двойственной переменной {ui}; если же в задаче (6.48) нет ограничений/неравенств, как, например, в кано/ нической постановке задачи ЛП (6.26) (если m¢ = 0), то каждая двойствен/ ная переменная может принимать значения любых знаков (U¢ = Rm). В матричных обозначениях задача (6.52) принимает компактный вид: 3 41 1 4 5 234167 122 1 (6.52¢) 8 3 5 1 9 61 7

где AT — транспонированная матрица матрицы A. Определим теперь двойственную задачу задачи ЛП «на максимум» в по/ становке n 4

c1j xj 5 max, 6 x 1 j2 j 31 6 n 6

a1ij xj 8 b1i , i 3 1,..., m7, 66 (6.53) 9 j 31 6 n

a1ij xj 3 b1i , i 3 m7 1,..., m,66 j 31 6 xj 0, j 3 1,..., n. 6 176

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

У этой задачи такое же множество решений, что и у следующей зада чи, полученной после эквивалентных преобразований в задаче (6.53) условийограничений на переменные — после замены знака целевой функции на противоположный, а операции максимизации — на миними зацию: 2

 1 7511 2 31

6 9 9 9 99 4 5 14 5554 8 4 9 4 5 8 14 5554 849 9 9 1 5 14 5554 25 9

8 1234 331 4

1 51

2

1 7714 24

 1 76141 2 31 1 51 2

 1 76141 2 31 5 1 7714 24 1 51

31 04

(6.54)

Очевидно, что значение задачи (6.54) противоположно значению исход ной задачи (6.53). По форме задача (6.54) такая же, что и задача (6.48). Поэтому ее двойст венной задачей является задача 1

 1 6612 2 32 2 41

1

 1 67125 2 32 2 41

Поскольку

1

1

2 31

2 31

334

1 6815 24

32 04

5 8 88 9 5 4 14 5554 94 8 8 2 4 14 5554 1 5 8

7 1234 1

(6.55)

5 1 4312 2 42 3 45 312 42 1 множество решений задачи (6.55) такое же,

что и у задачи 1

612 32 2 21

1

7125 32 2 21

7 815 5

32 7 75

3 5 55 6 5 2 15 6665 95 5 5 2 2 15 6665 18559

4 2345 1 314

(6.56)

а значения этих задач противоположны. Задачу (6.56) принимают как одну из возможных двойственных задач задачи (6.53) (следует помнить, что каждой задаче математического програм мирования можно сопоставить несколько двойственных задач, каждая из которых определяется функциональными ограничениями на переменные, включаемые в функцию Лагранжа). ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

177

В матричных обозначениях задача (6.56) принимает вид 4 411 1 5 6 234137 122 1 8 3 1 5 1 9 611 7

(6.56¢)

где 31 1 4 1 1 51 1 4 2 — векторы, имеющие соответственно компоненты 1211 2 и 121 1 23 21 1 — транспонированная матрица m´nматрицы 11 с элементами 13112 23 U¢ º {u Î Rm: ui ³ 0, i = 1, ..., m¢}. Двойственной задаче (6.52), как и любой другой задаче математического программирования, можно сопоставить разные двойственные задачи. Ока зывается, что задача (6.48) является одной из ее двойственных задач. Если множество допустимых точек задачи ЛП (6.48) непусто, то выпол няются условия применимости теоремы 5.2 и теоремы 5.3 (Куна — Таккера в форме двойственности). В частности, из этих утверждений следует такая связь между значениями и решениями пары взаимодвойственных задач (6.48) и (6.52)1: 1) задачи (6.48) и (6.52) имеют одинаковые значения; 2) если множество допустимых точек любой из задач (6.48) или (6.52) пусто, то значения обеих задач бесконечны и поэтому ни у одной из них нет решений; 3) если множество допустимых точек одной из задач (6.48) или (6.52) не пусто, а решений у этой задачи нет, то множество допустимых точек другой задачи пусто; 4) если множества допустимых точек обеих задач (6.48) и (6.52) непусты, то значения этих задач конечны и поэтому у них есть решения; 5) если у одной из задач (6.48) или (6.52) имеется решение, то решение есть и у другой задачи; 6) допустимая в задаче (6.48) точка x* является ее решением тогда и только тогда, когда для некоторого решения u* задачи (6.52) выполняются равенства 1

6 5 3 61 3 3 21

3 4 51 61 5 2 4 71 8 1 5 3

2

6 74 841 1

(6.57)

4 21

1 3 4 1 6 4 2 5 532 63 7 71 2 2 01 3 21 8 9

2 2 11 2221 81

(6.58)

1 3 4 1 66 42 5 523 61 3 77 72 2 01 3 21 8 9

2 2 11 2221 83

(6.59)

7) допустимая в задаче (6.52) точка u* является ее решением тогда и толь ко тогда, когда для некоторого решения x* задачи (6.48) выполняются равен ства (6.57)–(6.59). 1 Аналогичная связь имеется также между значениями и решениями пары взаимодвойст венных задач (6.53) и (6.56).

178

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Указанная связь между парой взаимодвойственных задач ЛП может ис пользоваться, например, так: по известному решению одной из этих задач решение другой задачи отыскивается как решение соответствующей конеч ной системы линейных алгебраических уравнений и неравенств. Действительно, пусть, для определенности, известно решение u* двойст венной задачи (6.52). Так как у взаимодвойственных задач ЛП нет разрыва двойственности (выполняется равенство (6.57)), значение задачи (6.48) равно значению ее двойственной задачи (6.52). Для каждой н е н у л е в о й компоненты 211 вектора u* из соответствую щего равенства (6.59) следует условие о возможных значениях компонент решения x* задачи (6.48) — 421 3 0

1

5 523 61 3 2 72 1

4

(6.60)

3 21

Кроме того, поскольку точка u* допустима в задаче (6.52), для некоторо го j Î {1, ..., n} может выполняться строгое неравенство

1

4 423 521 3 6 3 1

Ввиду

2 21

выполнения соответствующего равенства (6.58) следует, что x*j = 0 — 1

5 423 521 3 6 3

4

71 3 2 01

2 21

(6.61)

Итак, утверждения (6.61) делают возможным определить (нулевые) зна чения некоторых неизвестных задачи (6.48), а утверждение (6.60) — выде лить из ее ограниченийнеравенств те ограничения, которые после подста новки в них решения этой задачи выполняются как числовые равенства. Для взаимодвойственных задач (6.53) и (6.56) соотношения (6.57)–(6.59) и утверждения (6.60), (6.61) принимают соответственно вид 1

6 51 3 613 3 21

3 4 511 61 5 2 4 711 81 5 3

1 3 4 1 6 41 2 5 5132 613 7 7 2 2 0 1 3 21 8 9 1 31 4 1 66 42 5 5123 6 3 77 712 2 01 3 21 8 9

и

412 3 0 4 1

5 4123 512 3 61 3 2 21

2

6 714 814 1

(6.57¢)

4 21

2 2 11 2221 8 1

(6.58¢)

2 2 11 2221 8

(6.59¢)

1

5 5123 613 2 712 1

2 2 11 2221 81

(6.60¢)

3 21

4

713 2 01

3 2 11 2221 82

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

(6.61¢)

179

Рассмотрим несколько примеров. Пример 6.9. Найти значение и в с е решения задачи 2 12 3

234 14 5 6 22 11 7 12 1 2 11 5 2 11 2 12 1 2 15 8 11 1 12 1 0

(6.63)

Сопоставим этой задаче, имеющей такую же форму постановки, что и задача (6.48), в соответствии с правилом (6.52) ее двойственную задачу 2 11 2 12 3

234 14 5 6 2211 2 12 7 01 5 11 2 12 7 2 15 8 11 1 12 10

(6.64)

Поскольку u1 ³ 0, выполнение первого неравенстваограничения зада чи (6.64) является следствием выполнения второго: u1 – u2 £ 1 Û u2 ³ u1 + 1 Þ u2 ³ –2u1 Û –2u1 – u2 £ 0. Значит, первое неравенство –2u1 – u2 £ 0 можно исключить из условий зада чи (6.64), а ввиду максимизации ее критериальной функции и отрицательности коэффициента при u2 в формуле вычисления значений этой функции u2 = u1 + 1. Так как для произвольного неотрицательного значения u1 вычисленное по формуле u2 = u1 + 1 значение u2 положительно, задача (6.64) сводится к тривиальной задаче, имеющей одну переменную u1: 2211 2 1 3 1234 11 10

Очевидно, что единственным решением этой задачи является 111 2 01 а ее значение равно –1. Следовательно, значение каждой из задач (6.63) и (6.64) также равно –1, а единственным решением двойственной задачи (6.64) является точка u* с компонентами 111 2 0 и 121 2 111 3 1 2 1. Определим теперь все решения задачи (6.63). Кроме того, что все они яв ляются допустимыми в этой задаче точками, они также должны удовлетво рять утверждениям (6.60) и (6.61): 22111

2 121

121 2 1 3 0

4

5 211 5 212 2 51;

3 21 4 0

5

211 3 01

Единственной точкой, удовлетворяющей всем указанным требованиям, является допустимая в задаче (6.63) точка x* с компонентами x*1 = 0 и x*2 = 1. Именно эта точка и является единственным решением этой задачи. Пример 6.10. Найти значение и все решения задачи ЛП 2 11 2 12 3

234 14 5 6 2 2 11 7 12 1 2 11 5 2 11 2 12 1 2 15 8

180

11 1 12 10

(6.65)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Сопоставим задаче (6.65) ее двойственную: 2 11 2 12 3 2211 2 12 11 2 12

234 14 5 6 7 2 11 5 7 2 15 8 11 112 10

(6.66)

Так же, как и для задачи (6.64), легко доказать, что единственным реше нием задачи (6.66) является точка u* с компонентами 111 2 0 и 121 2 11 а значе ние этой задачи и задачи (6.65) равно –1. Поскольку 22111 2 121 3 21 и 111 2 121 3 21 (для решения u* двойственной задачи (6.66) все ее ограничениянеравенства выполняются как равенства), в данном случае нельзя воспользоваться пра вилом (6.61) определения некоторых (нулевых) компонент решения x* зада чи (6.65). Так как 111 2 0 и 121 2 1 3 01 множеством решений задачи (6.65) очевидно является непустое подмножество

1 3 5 12 6 342 1 2 21 7 22 8 12

21 4 22 5 12

множества X ее допустимых точек (рис. 6.16). Пример 6.11. Пусть имеется n типов товаров, количества каждого из ко торых можно измерить неотрицательным действительным числом (напри мер, сахар, масло, мука, крупа и др.). Предположим, что вес единицы jго товара вместе с его упаковкой равен pj килограммов, а его рыночная цена составляет cj рублей, j = 1, ..., n.

Рис. 6.16

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

181

Пусть и вес каждого товара вместе с упаковкой, и рыночная цена его продажи прямо пропорциональны количеству этого товара. Кроме того, все значения {pj} и {cj} предполагаются положительными. Пусть на некотором транспортном средстве можно перевозить грузы, вес которых не превосходит P килограммов. Какими товарами и в каких количествах следует загрузить имеющееся транспортное средство, чтобы после продажи этих товаров получить наи больший доход? Пусть xj — неизвестное количество jго товара, вывозимого на рынок, j = 1, ..., n. Очевидно, что ответы на поставленные вопросы конкретизирует реше ние задачи ЛП

4 5 max, 6 n x2R1 6 j 31 7 n

pj xj 8 P. 66 j 31 9 n

cj xj

(6.67)

В этой задаче n неотрицательных неизвестных {xj} должны удовлетво рять единственному линейному ограничению в форме неравенства. Поскольку постановка задачи (6.67) является частным случаем зада чи (6.53), ее двойственной задачей является задача

31 2 1234 4 21 1 5 2 4

1 10

34 5 2 6 14 5554 6547

(6.68)

Решить задачу (6.68) достаточно легко. Очевидно, что значение двойственной переменной u удовлетворяет нера венству 31 4 2 123 4 11 1 1 2 5 1 т. е. должно быть не меньше наибольшего из n положительных отношений 1 21 2 3 3 41 Поэтому, ввиду минимизации целевой функции задачи (6.68) и поло 5 16 жительности P, решением этой задачи является положительное число 41 3 123

12 1 2 2

31 4 51

а ее значение равно Pu*. Значит, максимальная сумма денег, которую можно получить от прода жи вывезенных на рынок товаров, равна Pu* руб. Какие при этом товары и в каких количествах следует вывозить на ры нок, чтобы получить доход Pu* от их продажи, определяется из утвержде ний (6.60¢) и (6.61¢), применяемых для взаимодвойственных задач (6.67) и (6.68) — 182

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

31 3 0 4 2 31 5 7 2

1

6 4 2 512 2 61

4

2 21

512 2 02

4

2 2 12 3332 12

и условий неотрицательности всех значений 1211 23 если

2 4 5 33 6 91 7 1112221 42 3 1 8 53 4 6 1 множество номеров товаров, отношение цены и веса единицы каждого из которых наименьшее, то решением задачи (6.67) является вектор 21 3 321 1 имеющий нулевые компоненты 1211 23 j Ï J*, и произвольные неотрицатель ные компоненты с номерами из множества J*, для которых выполняется равенство (6.69) 4 3 1 411 3 51 122 1

Например, если в задаче (6.67) c = (15, 24 33, 18, 28)T, P = 1200 и p = = (5, 12, 11, 9, 7)T, то u* = 2 и J* = {2, 4}. Значит, для получения максималь но возможного дохода в сумме Pu* = 2400 руб. на рынок следует вывезти толь ко второй и четвертый товары в любых количествах 121 и 141 соответственно, удовлетворяющие равенству 12 121 2 9 141 3 1200.

(6.69¢)

6.1.5. ТРАНСПОРТНЫЕ ЗАДАЧИ

Задачи математического программирования, каждую из которых можно интерпретировать как задачу отыскания наилучшего плана перевозки неко торых грузов от мест их хранения или изготовления в места заказа, называ ют транспортными задачами (ТЗ). В частности, к транспортным относят и ряд задач линейного программирования. Наличие особенностей у транспорт ных задач ЛП позволило разработать для их решения специальные методы, более эффективные, чем методы, предназначенные для решения общих за дач ЛП. 6.1.5.1. ЗАКРЫТАЯ ТРАНСПОРТНАЯ ЗАДАЧА

Простейшая транспортная задача ЛП формулируется таким образом. Пусть имеется m мест нахождения A1, ..., Am некоторой продукции одно го типа и качества (например, сахара) и ai — имеющееся количество этой продукции в iм месте Ai, i = 1, ..., m. Пусть в каждом из n мест B1, ..., Bn выражено желание приобрести имею щуюся продукцию в количестве b1, ..., bn единиц соответственно. Предполагается, что общее количество d заказанной продукции равно имеющемуся ее количеству: 1

2

3 11

4 11

5 2 3 6 3 1 3 74 1

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

(6.70)

183

Пусть также известна цена (тариф) cij за транспортировку единицы про# дукции из i#го места Ai ее нахождения в j#е место Bj ее заказа, i = 1, ..., m, j = 1, ..., n. Пусть xij — количество продукции, перевозимой из i#го места Ai ее нахо# ждения в j#е место Bj ее заказа, i = 1, ..., m, j = 1, ..., n. Требуется определить такие значения {xij}, при которых все заказы на продукцию выполнены, а общие затраты на ее транспортировку мини# мальны. Эту задачу называют закрытой транспортной задачей. В предположении, что цена транспортировки продукции от места ее на# хождения до места заказа прямо пропорциональна количеству этой продук# ции, математическая постановка задачи такова: m

n

3 3 cij xij i 11 j 11 n

2 xij 1 ai ,

2 min,

(6.71)

{xij }

i 1 1, …, m,

(6.72)

j 1 1, …, n,

(6.73)

j 11 m

2xij 1 bj , i 11

xij ³ 0,

i = 1, ..., m,

j = 1, ..., n.

(6.74)

В задаче (6.71)–(6.74): · общее количество неизвестных {xij} равно m´n; · целевая (минимизируемая) функция и левые части ограничений#ра# венств (6.72) и (6.73) являются линейными функциями неизвестных; · каждое i#е ограничение (6.72) выражает условие вывоза всей имеющейся продукции из места Ai ее нахождения, i = 1, ..., m; · каждое j#е ограничение (6.73) выражает условие выполнения заказа на продукцию в место Bj, j = 1, ..., n; · условие (6.74) неотрицательности неизвестных {xij} является естествен# ным требованием выполнения операций с фактически имеющимися ко# личествами продукции. Из предположения (6.70) следует существование допустимых точек в за# даче ЛП (6.71)–(6.74). Действительно, легко убедиться, что значения неизвестных xij 1

ai bj , d

i 1 1, ..., m,

j 1 1, ..., n,

удовлетворяют всем ограничениям (6.72)–(6.74). Поскольку множество допустимых точек задачи (6.71)–(6.74) непусто, а значение ее целевой функции ограничено снизу нулем, у этой задачи ЛП обязательно имеется по крайней мере одно решение. Ранг r матрицы A, составленной из коэффициентов при неизвестных в m + n ограничениях#равенствах (6.72), (6.73), равен m + n – 1. Значит, одно 184

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

из уравнений (6.72), (6.73) является линейной комбинацией остальных урав нений. Такой вывод следует из анализа структуры матрицы A: 2 3 3 3 3 3 243 3 3 3 3 3 3 3 5

1 4 1 4 1 1 4 1 1232 1232 1232 4 1232 1232 4 1111111 0000100 0000100 1 0000100 0000100 0000100 1111111 0000100 1 0000100 0000100 1 0000100 0000100 11111 1111 1111 0000100 0000100 0000100 1 1111111 0000100 0000100 0000100 0000100 1 0000100 1111111 1000100 1000100 1000100 1 1000100 1000100 0100100 0100100 0100100 1 0100100 0100100 0010100 0010100 0010100 1 0010100 0010100 11111 11111 11111 11111 1111 1 0000101 0000101 0000101 1 0000101 0000101 52222222222222 2622222222222222 7 31

7 9 9 9 9 9 9 9 9 9 9 9 9 9

6 8 88

3 8 8 8 (6.75) 6 8 88

1 8 8 8 2

определяемой в предположении упорядочения неизвестных {xij} задачи в по следовательность компонент вектора x Î Rmn x º (x11, x12, ..., x1n, x21, x22, ..., x2n, ..., xm1, xm2, ..., xmn)T.

(6.76)

Значит, среди переменных задачи (6.71)–(6.74) имеется m + n – 1 пере менных (базисных переменных), каждая из которых является соответствую щей линейной комбинацией (функцией) остальных переменных этой задачи — свободных переменных. Общее число свободных переменных задачи (6.71)– (6.74) равно m n – m + n – 1 = (m – 1)(n – 1). Следует напомнить, что именно числу свободных переменных равно число нулевых компонент по крайней мере одного из решений общей задачи ЛП. Зна чит, по крайней мере у одного из решений задачи (6.71)–(6.74) (m – 1)(n – 1) переменных {xij} принимают нулевое значение. Далее применяются следующие термины: · перевозка — количество xij продукции, перевозимой из iго места Ai ее нахождения в jе место Bj ее заказа; · план перевозок — любая совокупность перевозок {xij}, i = 1, ..., m, j = 1, ..., n; · допустимый план перевозок — план перевозок {xij}, удовлетворяющий условиям (6.72)–(6.74); · опорный план перевозок — допустимый план перевозок, в котором от личны от нуля не более r = m + n – 1 базисных перевозок, а остальные перевозки равны нулю; · оптимальный план перевозок — допустимый план перевозок, цена кото рого не превосходит цены любого другого допустимого плана перевозок. Для наглядной иллюстрации постановки и метода решения задачи (6.71)– (6.74) удобно пользоваться транспортной таблицей. Содержание и струк туру этой таблицы отражает таблица 6.9. ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

185

1 2 3 4 5 6 2 7 89 7

123456728439 83 3





56789 2 6 622 962

2

 22

i

723 58 11 333 627

j

2







3635 42

32

12

112

132

4442

1 2

12

32

312

332

4442

3 2

32

. .2 .

. .2 .

7

. .2 . 12

12

. .2 . 32

32

. .2 .

4442 4442

. .2 .  2

 2

2 7

1

В эту таблицу вписывают: · в правом верхнем углу каждой (i, j)й клетки — цену (тариф) cij транс портировки единицы продукции от iго ее отправителя Ai в адрес jго заказчика Bj, i = 1, ..., m, j = 1, ..., n; · в нижней строке — количества b1, ..., bn заказанной продукции; · в правом столбце — количества a1, ..., am имеющейся продукции; · в правой нижней клетке — общее количество d предлагаемой (заказан ной) продукции. Конкретные значения базисных переменных {xij} транспортной зада* чи (6.71)–(6.74) вписывают в центры соответствующих — базисных — кле* ток транспортной таблицы (остальные клетки этой таблицы, которым соответствуют свободные переменные {xij}, принимающие нулевые значе ния, называют свободными клетками; нули в свободные клетки не впи сывают). Разумеется, сумма чисел, находящихся в центрах всех базисных клеток iй строки транспортной таблицы, должна быть равна ai — запасу продукции, имею щейся у ее iго поставщика Ai, i = 1, ..., m, а сумма чисел, находящихся в цен трах всех базисных клеток jго столбца этой таблицы, должна быть равна заяв ленному количеству bj продукции ее jм заказчиком Bj, j = 1, ..., n. Общая структура одного из методов решения закрытой ТЗ (6.71)–(6.74) такова. Сначала отыскивается опорный план перевозок. Для этого плана пе ревозок вычисляется его цена и проверяется, выполняются ли некоторые достаточные условия его оптимальности — выясняется, можно ли этот опор ный план перевозок заменить на другой опорный план перевозок, имеющий меньшую цену. Если имеющийся опорный план перевозок удовлетворяет условиям оптимальности, то последующие вычисления прекращают — этот план перевозок является решением задачи. В противном случае одна базис ная переменная задачи переводится в список свободных переменных; из спи ска же свободных переменных одна переменная исключается и переводится в список базисных переменных. Вследствие такого обмена опорный план перевозок и содержимое транспортной таблицы некоторым образом изменя 186

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ются, причем цена нового опорного плана перевозок уменьшается; затем опи санная процедура отыскания решения задачи повторяется. Рассмотрим один из простейших универсальных способов построения начального опорного плана перевозок. 1. Метод северо*западного угла1 отыскания опорного плана перевозок определяет некоторый способ назначения базисных клеток транспортной таб лицы и вписывания в их центры значений соответствующих базисных пере менных задачи. Поскольку при этом тарифы {cij} перевозок не учитываются, на данном этапе решения ТЗ они в транспортной таблице не указываются. Первой базисной переменной задачи н а з н а ч а е т с я переменная x11. Ее значение 111 1 вычисляется по формуле 1 2 123421 5 31 6 111

(6.77)

и вписывается в центр (1, 1)клетки. Эта клетка находится в самом северо западном углу транспортной таблицы. При этом возможны такие три случая. а) a1 < b1. 1 2 21 и поэтому вся продукция, имеющаяся у поставщика A1, Значит, 111 вывозится заказчику B1. При конкретизации значений остальных компонент определяемого опорного плана перевозок поставщик A1 уже не учитывается, поскольку у него продукции уже не осталось (в дальнейшем первая строка транспортной таблицы условно из нее исключается). Заказчик B1 на величину a1 удовлетворил свой спрос на продукцию и от остальных поставщиков ему необходимо дополучить продукцию в количест ве 111 2 11 3 211 1 4 0 единиц. б) a1 > b1. Значит, 111 1 2 21 и заявка на продукцию заказчика B1 полностью выпол нена. При конкретизации значений остальных компонент определяемого опорного плана перевозок заказчика B1 естественно уже не учитывать (пер вый столбец транспортной таблицы условно из нее исключается). У поставщика A1 остается 111 2 11 3 211 1 4 0 единиц продукции для удовле творения потребностей остальных заказчиков. в) a1 = b1. В этом случае 111 1 2 21 2 31 — вся имеющаяся у поставщика A1 продукция вывозится заказчику B1 и полностью удовлетворяет его потребности. При кон кретизации остальных компонент строящегося опорного плана перевозок поставщик A1, для определенности, уже не учитывается, а потребности в продукции заказчика B1 считаются нулевыми (первая строка транспортной таблицы условно из нее вычеркивается). После назначения перевозки 111 1 будет получена «обновленная» транспорт ная таблица, в которой общее число поставщиков и заказчиков продукции 1 Если для указания направлений местонахождения верхней и левой частей транспортной таблицы применять географические термины «север» и «запад» соответственно, то причина такого названия метода становится очевидной после рассмотрения процедуры назначения базисных клеток транспортной таблицы.

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

187

по сравнению с предыдущей таблицей уменьшится на 1, объемы предложе ний и заказов на эту продукцию известны и, кроме того, сохраняется общий баланс между спросом на продукцию и ее предложением. Значит, к «обновленной» транспортной таблице можно опять применить описанный метод северозападного угла. Очевидно, что через m + n – 1 выполнений указанной процедуры будет конкретизирован один из возможных опорных планов перевозок — будут заполнены m + n – 1 клеток исходной транспортной таблицы (некоторые из этих клеток могут оказаться нулевыми). Рассмотрим два примера построения опорных планов закрытых ТЗ. Пример 6.12. Методом северозападного угла определить опорный план перевозок продукции, заказы на которую и имеющиеся количества которой приведены в таблице 6.10. 1. По формуле (6.77) определяется количество 111 1 перевозимой продук ции от ее поставщика A1 заказчику B1: 1 2 1234135 216 2 13 111

и записывается в центре клетки (1, 1) таблицы 6.11 — самой северозапад ной клетки этой таблицы1. У поставщика A1 продукции уже не остается. Поэтому при построении данного опорного плана перевозок этот поставщик в дальнейшем уже не бу дет учитываться (в первой строке таблицы 6.11 базисные клетки уже не бу дут выбираться — все клетки первой строки таблицы будут считаться «за прещенными»). Для полного выполнения заявки заказчика B1 ему еще следует доот править 1 2 21 3 13 2 8 111 2 11 3 211 единиц продукции. 2. Затем определяется количество 121 1 перевозимой продукции от ее по ставщика A2 заказчику B1: 1 2 123422 5 3116 2 1234475 86 2 8 121

и записывается в центре клетки (2, 1) — самой северозападной клетки сре ди всех не запрещенных клеток таблицы 6.11. У поставщика A2 остается 1 2 47 3 8 2 39 121 2 12 3 221

единиц продукции, а заявка заказчика B1 на продукцию полностью удов летворена (в первом столбце таблицы 6.11 уже не будут выбираться базис ные клетки — все клетки первого столбца таблицы считаются «запрещен ными»). 1 Под (i, j)й клеткой транспортной таблицы понимают ее клетку, находящуюся на пересе чении iй строки и jго столбца этой таблицы. В верхнем правом углу (i, j)й клетки указыва ется тариф за перевозку единицы продукции от iго ее поставщика Ai в адрес jго заказчика Bj, а в центре — эта перевозка 3112 1

188

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1 2 3 4 5 6 2 7 89 7 1

234567145891 12 1 7 7 7163 31

1

1

89 2 9  92  2 9 2

3

j

3

7781 41 1

1

1

1

1

1

12

2

2

2

2

2

132

42

2

2

2

2

2

562

32

2

2

2

2

2

472

52

2

2

2

2

2

352

412

12

12

542

162

1152

i

 22

7

1 2 3 4 5 6 2 7 89

7 1

89 2 9  92  2 9 2

3

 22

234567145891 5 1 7 7 7163 1

1

1

i

j

3

1

1

1

1

1

7781 42 1

12

132

2

2

2

2

132

42

2

12

12

2

2

562

32

2

2

2

472

2

472

52

2

2

2

162

162

352

412

12

12

542

162

1152

1

3. Далее определяется количество 122 1 перевозимой продукции от ее по ставщика A2 заказчику B2: 1 2 1234221 5 32 6 2 1234395 156 2 15 122

и записывается в центре клетки (2,2) таблицы 6.11. У поставщика A2 остается 1 2 39 3 15 2 24 1211 2 121 3 222

единиц продукции, а заявка на нее заказчика B2 полностью выполнена (во втором столбце таблицы 6.11 уже не будут выбираться базисные клетки — все клетки второго столбца таблицы считаются «запрещенными»). 1 продукции от ее поставщика A2 4. Затем определяется перевозка 123 заказчику B3: 3 4 345121336 322 4 3451176892 4 89 112 и записывается в центре клетки (2, 3) таблицы 6.11. У поставщика A2 остается 1 2 24 3 19 2 5 12111 2 1211 3 223

единиц продукции, а заявка заказчика B3 на эту продукцию полностью вы полнена (в третьем столбце таблицы 6.11 уже не будут выбираться базисные клетки — клетки третьего столбца этой таблицы «запрещены»). 5. Затем определяется перевозка 124 1 продукции от ее поставщика A2 заказчику B4: 3 4 123 1223334 34 2 4 123 154 422 4 5 124 и записывается в центре (2, 4)клетки таблицы 6.11. ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

189

У поставщика A2 продукции уже не остается. Поэтому при построении опорного плана перевозок этот поставщик уже не учитывается (во второй строке таблицы 6.11 последняя клетка (2, 5) уже не может быть назначена базисной — она становится «запрещенной»). Для выполнения заявки заказчика B4 ему еще следует отправить 1 2 42 3 5 2 37 141 2 14 3 224

единиц продукции. 1 продукции от ее поставщика A3 6. Затем определяется перевозка 134 заказчику B4: 3 4 123 123 4 343 2 4 123 1204 372 4 20 134 и записывается в центре (3, 4)клетки таблицы 6.11. У поставщика A3 продукции уже не осталось. Поэтому при построении опорного плана перевозок этот поставщик уже не рассматривается (в третьей строке таблицы 6.11 ни одна из клеток (3, j), j = 1, 2, 3, 5, уже не может быть назначена как базисная — все эти клетки «запрещены»). Для выполнения заявки заказчика B4 ему еще следует получить 1 2 37 3 20 2 17 1411 2 141 3 234

единиц продукции. 7. Далее определяется перевозка 144 1 продукции от ее поставщика A4 заказчику B4: 3 4 123 124 4 34332 4 123 1344 172 4 17 144 и записывается в центре (4, 4)клетки таблицы 6.11. Заявка заказчика B4 на продукцию полностью выполнена. У поставщика A4 продукции осталось в количестве 1 2 34 3 17 2 17 141 2 14 3 244

единиц. 1 продукции от ее поставщика A4 8. Затем определяется перевозка 145 заказчику B5: 3 4 123 1243 4 35 2 4 123 1174 172 4 17 145 и записывается в центре (4, 5)клетки таблицы 6.11. Заявка заказчика B5 на продукцию полностью выполнена, а у поставщи ка A4 продукции не осталось. Итак, методом северозападного угла построен и записан в таблице 6.11 опорный план перевозок продукции, имеющиеся количества которой и за явки на которую указаны в таблице 6.10. Пример 6.13. Методом северозападного угла построить опорный план перевозок продукции, заявки на которую и имеющиеся количества которой приведены в таблице 6.12. 1. По формуле (6.77) определяется перевозка 111 1 продукции от ее постав щика A1 заказчику B1: 3 4 123 1284 152 4 15 111 и записывается в центр (1, 1)клетки таблицы 6.13. 190

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Заявка заказчика B1 на продукцию полностью выполнена, а у поставщи ка A1 продукции осталось 1 2 28 3 15 2 13 111 2 11 3 211

единиц (первый столбец таблицы 6.13 условно вычеркивается — клет ка (1, 1) назначается базисной, а все остальные клетки (i, 1), i = 2, 3, 4, «запрещаются»). 2. Определяется перевозка 112 1 продукции от ее поставщика A1 заказ чику B2: 3 4 123 1213 4 32 2 4 123 1134 132 4 13 112 и записывается в центр (2, 1)клетки — самой северозападной клетки среди всех не запрещенных клеток таблицы 6.13. У поставщика A1 продукции не осталось, а заявка заказчика B2 полно стью выполнена: 121 2 12 3 212 1 2 13 3 13 2 01 Значит, первую строку таблицы 6.13 следует условно вычеркнуть — пер вые ее клетки (1, 1) и (1, 2) уже назначены базисными, а все остальные клет ки согласно методу северозападного угла в случае в) теперь должны быть «запрещены». 3. Перевозка 122 1 продукции от ее поставщика A2 заказчику B2 равна 3 4 123 122 4 323 2 4 123 1194 02 4 05 122

Значит, в центр самой северозападной клетки (2, 2) среди не запрещен ных пока клеток таблицы 6.13 записывается 0. Эта клетка принимается 1 2 3 4 5 6 2 7 89 7 1

234567145891 11 1 7 7 7163 1

1

1

789 2

8  82 2

82

2

2

7781 32 1

1

1

1

1

1

12

2

2

2

2

2

342

32

2

2

2

2

2

152

62

2

2

2

2

2

132

2

2

2

2

2

2

112

12

162

12

312

112

2

j

i

 22

7 1 2 3 4 5 6 2 7 89  7 1

1

1

789 2

8  82 2

82

2

 22

234567145891 11 1 7 7 7163 1 2

1

1

12

12

162

32

2

2

62

2

2

2

2

2

2

2

12

162

12

i

j

1

7781 32 1

1

1

2

2

2

342

12

52

2

152

132

2

132

2

112

112

312

112

2

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

191

в качестве очередной базисной клетки таблицы, а весь ее второй столбец при построении данного опорного плана перевозок далее учитываться не будет. 1 продукции от ее поставщика A2 заказчику B3: 4. Определяется перевозка 123 3 4 123 122 4 33 2 4 123 1194 102 4 10 123

и записывается в центр клетки (2, 3) таблицы 6.13. У поставщика A2 остается 1 2 19 3 10 2 9 121 2 12 3 223

единиц продукции, а заявка на нее заказчика B3 полностью выполнена (третий столбец из таблицы 6.13 условно вычеркивается). 5. Определяется перевозка 124 1 продукции от ее поставщика A2 заказчику B4:

3 4 123 1223 4 34 2 4 123 194 212 4 9 124 и записывается в центр (2, 4)-клетки таблицы 6.13. У поставщика A2 продукции не осталось (вторая строка из таблицы 6.13 условно вычеркивается), а для выполнения заявки заказчика B4 ему еще следует отправить 1 2 21 3 9 2 12 141 2 14 3 224 единиц продукции. 1 продукции от ее поставщика A3 заказчику B4: 6. Определяется перевозка 134 3 4 123 123 4 343 2 4 123 1124 122 4 12 134

и записывается в центр (3, 4)-клетки таблицы 6.13. У поставщика A3 продукции уже не осталось, а спрос на нее заказчика B4 1 2 12 3 12 2 0 . полностью удовлетворен: 1411 2 141 3 234 Значит, третью строку таблицы 6.13 следует условно вычеркнуть — первые три ее клетки (3, 1), (3, 2) и (3, 3) как и соответствующие клетки 1-го, 2-го и 3-го столбцов таблицы уже были «запрещены», клетка (3, 4) назначается базисной, а последняя клетка (3, 5) согласно методу работы метода северозападного угла в случае в) теперь должна быть «запрещена». 7. Определяется перевозка 144 1 продукции от ее поставщика A4 заказчику B4: 3 4 123 124 4 34332 4 123 1114 02 4 0 144

Значит, в центр самой северо-западной клетки (4, 4) среди еще не запрещенных клеток таблицы 6.13 записывается 0. Эта последняя клетка четвертого столбца таблицы принимается за ее очередную базисную клетку. 1 продукции от ее поставщика A4 заказчику B5: 8. Определяется перевозка 145

3 4 123 124 4 35 2 4 123 1114 112 4 11 145 и записывается в центр (4, 5)-клетки таблицы 6.13. Заявка заказчика B5 на продукцию полностью выполнена, а у поставщика A4 продукции не осталось. Итак, методом северо-западного угла найден и занесен в таблицу 6.13 опорный план перевозок продукции, имеющиеся количества которой и заявки на которую приведены в таблице 6.12. При этом 2 перевозки 122 1 и 144 1 192

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

из 8 оказались нулевыми — разумеется, согласно таким «привязкам» по ставщиков продукции и ее заказчиков перевозки не производятся. Так же как и в случае общей задачи ЛП в канонической постановке, опорный план перевозок, содержащий нулевые перевозки, называют вырожденным. 2. Метод последовательного улучшения планов перевозок состоит в та кой организации последовательного обмена базисных и свободных клеток транспортной таблицы, при которой общая цена перевозок объемов продук ции, указанных в базисных клетках, уменьшается. Для описания этого ме тода потребуется новое понятие — цикл перевозок. Цикл перевозок (или просто цикл) — это упорядоченная совокупность клеток транспортной таблицы, имеющая такие свойства: · клетка таблицы может входить в один цикл только 1 раз; · из условия принадлежности циклу некоторой клетки транспортной таб лицы следует, что этому же циклу принадлежат ч е т н ы е количества клеток таблицы, находящихся вместе с данной клеткой в одной строке и в одном столбце таблицы; · две последовательные в цикле клетки транспортной таблицы находятся либо в одной ее строке, либо в одном столбце; · в каждой последовательной тройке клеток цикла третья клетка не может находиться в одной строке и в одном столбце транспортной таблицы, что и первая клетка этой тройки; · первая и последняя клетки цикла находятся или в одной строке транс портной таблицы, или в одном ее столбце. Примеры возможных циклов некоторых транспортных таблиц приведе ны на рисунке 6.17. На этом рисунке черными кружочками обозначены ме стоположения клеток таблицы, а стрелки, соединяющие эти кружочки, ука зывают на последовательность вхождения клеток в цикле; в качестве первой

Рис. 6.17

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

193

клетки каждого цикла может быть принята любая клетка таблицы, указан ная в этом цикле. Разумеется, одна и та же клетка транспортной таблицы может принадле жать ее разным циклам. Пусть Ц º {(i1, j1), ..., (ik, jk)} — некоторый цикл транспортной таблицы, состоящий из k ее клеток: (i1, j1) — первая клетка цикла, (ik, jk) — послед няя. Следует напомнить, что в правом верхнем углу каждой tй клетки (it, jt) транспортной таблицы указана цена (тариф) 421 31 перевозки единицы продук ции от ее поставщика 321 заказчику 3 21 1 а в центре этой клетки, если она базисная, — значение этой перевозки. Пусть каждая клетка цикла помечена знаком «+» или «–» согласно сле дующему правилу: первая клетка помечена знаком «+», вторая — знаком «–», третья — «+», четвертая — «–» и т. д. (клетки цикла, имеющие нечетные порядковые номера, помечены знаком «+», а нечетные — знаком «–»). Вви ду четности числа клеток в любом цикле его последняя клетка должна быть помечена знаком «–». Смысл таких дополнительных пометок клеток цикла таков: перевозку, указанную в клетке цикла, следует увеличить на некоторую положительную величину d, если эта клетка помечена знаком «+», и уменьшить на d, если клетка помечена знаком «–», или, что по существу является тем же самым, количество d продукции вычитается из перевозки, указанной в клетке, по меченной знаком «–», и добавляется к перевозке, указанной в следующей клетке цикла, помеченной знаком «+» (положительное число d — корректи* рующая поправка — предполагается одним и тем же для всех клеток данного цикла (рис. 6.18), на котором «пустыми» кружочками помечены первые клет ки циклов). Читателю предлагается самостоятельно интерпретировать суть указанной коррекции (увеличение или уменьшение) перевозок, составляю щих цикл, в терминах выполнения поставщиками заказов на продукцию. Поскольку количество клеток транспортной таблицы, составляющих один цикл перевозок и находящихся в одной ее строке или в одном ее столб це, является четным числом, число этих клеток, помеченных знаком «+», такое же, что и число клеток, помеченных знаком «–». Кроме того, посколь ку указанная коррекция содержимого клеток цикла проводится на одну и ту же величину d, все имеющиеся балансы по строкам и столбцам транспортной таблицы очевидно остаются неизменными: общие суммы перевозок, указан

Рис. 6.18

194

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ные в клетках строк и столбцов этой таблицы, не изменяются — просто про водится обычное перераспределение значений некоторых перевозок 13121 23 Значит, если записанный в транспортной таблице план перевозок 13121 2: является допустимым, то и после указанной коррекции перевозок в о в с е х к л е т к а х л ю б о г о ц и к л а на величину d полученный новый план пере возок 1312112 также будет допустимым планом. Какой же окажется общая цена C² всех перевозок согласно новому плану 11 112? Легко понять, что она будет равна общей цене C¢ всех перевозок соглас но плану 13121 23 увеличенной на величину 6 7 8 4 421 31 2 421 31 5 4 9 12 2 3 33Ц

1 21 2 31 33Ц 2 1 1 1

C² = C¢ + D,

(6.78)

где Ц+ и Ц– — совокупность всех клеток цикла Ц, помеченных соответствен но знаком «+» и знаком «–». Значит, для того чтобы цена C² всех перевозок согласно новому плану 1312112 уменьшилась по сравнению с ценой C¢ всех перевозок согласно плану 13121 23 цена цикла Ц 4Ц 6 4 521 31 2 521 31 5 7 12 2 3 33Ц 8 1 21 2 31 33Ц2 9 1 1 1

(6.79)

должна быть отрицательной. Таким образом, для построения метода последовательного улучшения планов перевозок нужно научиться: · строить цикл, имеющий отрицательную цену, для клеток которого мож но проводить указанную выше допустимую коррекцию перевозок1; · для данного цикла определять максимально возможное значение кор ректирующей поправки d перевозок, составляющих этот цикл. Цикл, цена которого отрицательная, не подходит для проведения ука занных корректирующих правок отдельных компонент имеющегося плана перевозок только в том случае, если в этом цикле имеется по крайней мере одна помеченная знаком «–» клетка, являющаяся либо свободной клеткой транспортной таблицы, либо базисной клеткой транспортной таблицы с нуле вой перевозкой (последнее возможно для вырожденного опорного плана пере возок). Причина этого состоит в том, что уменьшение нулевой перевозки на положительное число d приводит к недопустимой отрицательной перевозке. Любой другой цикл с отрицательной ценой можно использовать для ука занного способа улучшения имеющегося плана перевозок. Оказывается, что для каждой свободной клетки транспортной табли* цы всегда имеется цикл (к тому же единственный), началом которого яв* ляется эта клетка, а все остальные клетки — базисные клетки транс* портной таблицы2. 1 2

Каждая перевозка может принимать только неотрицательное значение. Обсуждение проблем построения и выяснение вычислительных свойств общего метода отыскания такого цикла оставим математикам.

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

195

Пусть цикл Ц имеет отрицательную цену CЦ. Тогда для этого цикла мак симально возможное значение dmax корректирующей поправки d очевидно равно наименьшей перевозке среди перевозок, находящихся в центрах кле ток цикла Ц, помеченных знаком «–», — 3 123 4 178 421 31 9 (6.80) 4 21 5 31 62Ц1

Значит, перевозку, указанную в к а ж д о й клетке цикла Ц, следует уменьшить или увеличить на величину dmax, если клетка помечена соответ ственно знаком «–» или знаком «+». Если в данном цикле наименьшей среди соответствующих перевозок явля ется только одна перевозка, то после проведения коррекции плана перевозок клетка, в которой была указана эта перевозка, станет свободной клеткой транс портной таблицы. Если при этом в цикле была свободная клетка (обязательно помеченная знаком «+»), то при новой положительной поправке dmax эта клетка должна быть переведена в список базисных клеток — таким образом произво дится обмен между свободными и базисными клетками транспортной таблицы. После каждого обновления допустимого плана перевозок, цена которого по сравнению с ценой предыдущего и также допустимого плана перевозок уменьшается, повторяется процедура отыскания цикла перевозок с отрица тельной ценой и последующим проведением соответствующих коррекций содержимого клеток этого цикла. Однако после конечного числа таких по вторений в транспортной таблице не останется ни одного цикла, подходяще го для проведения коррекции полученного допустимого плана перевозок. Если при этом в транспортной таблице не останется циклов с нулевой ценой и подходящих для проведения перераспределения перевозок, указан* ных в их клетках, то полученный допустимый план перевозок является оптимальным — решением транспортной задачи (6.71)–(6.74). Однако если существует хотя бы один цикл с нулевой ценой и подходя щий для проведения перераспределения перевозок, указанных в его клетках (естественно, без уменьшения общей цены всех перевозок), нельзя утвер ждать об оптимальности последнего построенного допустимого плана пере возок по следующей причине. В транспортной таблице может оказаться цикл Ц¢ с отрицательной це ной, использовать который для корректировки имеющегося допустимого плана перевозок нельзя, например, потому, что в этот цикл входят подряд две свободные клетки таблицы, одна из которых, для определенности (iq, jq), обязательно помечена знаком «–». Помимо этого клетка (iq, jq) может вхо дить в другой цикл Ц² с н у л е в о й ц е н о й, перераспределение перевозок в клетках которого может привести к п о л о ж и т е л ь н о м у значению пере возки в клетке (iq, jq). А это сделает возможным провести соответствующую коррекцию перевозок цикла Ц¢ и уменьшить при этом их общую цену. Также возможны другие ситуации, возникающие при применении опи санного метода последовательного улучшения планов перевозок. Для всех таких ситуаций математики разработали необходимые уточнения, касаю щиеся организации и условий прекращения работы этого метода. Посколь ку при решении практически важных задач ситуации, не рассмотренные здесь, 196

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

случаются редко, иллюстрация работы метода далее будет проведена при ре шении закрытой ТЗ без возможных «патологий». Пример 6.14. Решить закрытую ТЗ с данными, приведенными в таблице 6.14. Методом северозападного угла определяется допустимый план перево зок, компоненты которого записываются в центры соответствующих базис ных клеток транспортной таблицы 6.15. 1. Вычисляется цена C1 полученного плана перевозок: C1 = 9 × 8 + 3 × 9 + 9 × 5 + 5 × 6 + 2 × 4 + 11 × 5 = 237. Свободная клетка (1, 3) транспортной таблицы 6.15 отмечается знаком «+» и принимается в качестве начальной клетки цикла Ц1 = {(1, 3), (2, 3), (2, 2), (1, 2)}. Согласно описанному правилу помечаются все остальные три клетки это го цикла (табл. 6.15). По формуле (6.79) вычисляется цена 1Ц1 цикла Ц1: 1Ц1 1 2 2 6 3 5 2 9 1 281

а по формуле (6.80) — наибольшая возможная корректирующая поправка d = dmax перевозок, указанных в его клетках: d = min{5, 3} = 3. 1 2 3 4 5 6 2 7 89 7 1

234567145891 11 1 7 7 7163 1

1

1 2

i

2 j

1

1

7781

32 1

1

32

42

52

12

52

62

72

82

52

2

52

12

62

72

12

9 2    2  2   2

1

222

42

152

2

112

152 162 12 42

7 1 2 3 4 5 6 2 7 89 7

12

52

2

1

1

1

7781

32 1

1

2 2

2 1

32 2

2 2

2 1

42 1

2 2

2 2

52 2

2 2

2 2

12 2

2

2

2

2

12

2

!2

2

2

2

2

2

2

2

62

2

2

72

2

2

82

2

2

52

2 2 2 2 2

2 2 2 2 2

2 2 52 2 2

2 !2 2 2 2

1 2 2 2 2

2 2 12 2 2

2 2 2 2 2

1 2 2 1 2

2 2 62 2 2

2 2 2 2 2

2 2 2 2 2

2 2 72 2 2

42

1

i

2 j

1

9 2  2 2  2

2

222

234567145891 11 1 7 7 7163 1

1

1

1

1

152

2

112

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

152

162

12 42

197

После проведения коррекции перевозок, указанных лишь в клетках цик ла Ц1 (их увеличение или уменьшение на d = 3 в зависимости от того, каким знаком «+» или «–» помечена клетка цикла), будет получен новый план перевозок, приведенный в транспортной таблице 6.16 и отличающийся от предыдущего плана перевозок только содержимым клеток цикла Ц1. 2. Вычисляется цена C2 нового плана перевозок: C2 = 9 × 8 + 3 × 2 + 12 × 5 + 2 × 6 + 2 × 4 + 11 × 5 = 213. Цену C2 нового плана перевозок можно также вычислить по форму ле (6.78): 12 3 11 4 5 6 1Ц1 3 237 4 3 6 1 78 2 3 2131 Свободная клетка (2, 1) транспортной таблицы 6.16 принимается в каче стве начальной клетки цикла Ц2 = {(2, 1), (1, 1), (1, 3), (2, 3)} и отмечается знаком «+». Согласно принятому правилу помечаются все ос тальные три клетки цикла Ц2 (табл. 6.16). По формуле (6.79) вычисляется цена 1Ц2 цикла Ц2: 1Ц2 1 4 2 8 3 2 2 6 1 28

и по формуле (6.80) — наибольшая возможная корректирующая поправка d = dmax перевозок, указанных в его клетках: d = min{9, 2} = 2. После проведения коррекции перевозок, указанных только в клетках цикла Ц2, будет получен новый план перевозок, приведенный в транспорт ной таблице 6.17. 3. Вычисляется цена C3 нового плана перевозок:

13 1 12 2 3 4 1Ц2 1 213 2 2 4 1582 1 1973 Свободная клетка (1, 4) транспортной таблицы 6.17 принимается в каче стве начальной клетки цикла Ц3 = {(1, 4), (3, 4), (3, 3), (1, 3)} и отмечается знаком «+». Согласно принятому правилу помечаются все ос тальные три клетки цикла Ц3 (табл. 6.17). Вычисляются цена 1Ц3 цикла Ц3:

1Ц3 1 1 2 5 3 4 2 2 1 22 и наибольшая возможная корректирующая поправка d = dmax перевозок, ука занных в его клетках: d = min{5, 11} = 5. После проведения коррекции перевозок только клеток цикла Ц3 будет получен новый план перевозок, приведенный в транспортной таблице 6.18. 198

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1 2 3 4 5 6 2 7 89 87 234567145891 11 1 7 7 7163 1

1 2 j

1  1 1  1

51

41

1

1

7781

32 1

1

1

1

21

1

1

31

1

1

i

1

1

41

1

1

51

1

1

1

1

1

1

1

1

1

1

1

61

11

1 1

1

1

1

1

1

71

1

1

1

1

1

81

1

1

91

1

1

1

1

1

41

1

1

1

1

1

1

1

1

1

1

1

1

71

1

1

1

1

1

1

1

61

1

1

1

1

1

41

1

1

2

1

1

1

1

1

1

51

1

1

81

1

1

91

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1 11

31

541

1

551

541

581

51 31

7

1 2 3 4 5 6 2 7 89 7 2

j

51

41

1

1

1

1

7781

32 1

1

1

1  1 1  1

2 i

234567145891 11 1 7 7 7163 1

1

1

21

1

1

31

1

1

41

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

71

1

1

81

1

1

91

1

1

1

1

1

41

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

41

1

1

51

1

1

81

1

1

61 1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

71

1

1

1

1

1 11

31

541

1

1

1

1

51

1

1

581

1

91 1

51

61

551

1

541

31 1 2 3 4 5 6 2 7 89 7

234567145891 11 1 7 7 7163 1

1

111

51

7781

32 1

1

1

21

1

1

31

1

1

41

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

71

1

1

1

1 61 41

1

11

51

1

81

1

1

91

1

1

1

1

1

41

1

1

1

1

1

1

1

1

1

1

1

11

1 1

1

1

1

1

1

1

1

1

1

1

41

1

1

51

1

1

81

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

31

541

1

i

1

1

1  1 1  1

2

2 j

1

1

1

1

1

541

581

1

91 1

51

61

551

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

31

199

4. Вычисляется цена C4 нового плана перевозок: 14 1 13 2 3 4 1Ц3 1 197 2 5 4 1522 1 1873

Свободная клетка (3, 1) транспортной таблицы 6.18 принимается в каче стве начальной клетки цикла Ц4 = {(3, 1), (1, 1), (1, 4), (3, 4)} и отмечается знаком «+». Согласно принятому правилу помечаются осталь ные три клетки цикла Ц4 (см. табл. 6.18). Вычисляются цена 1Ц4 цикла Ц4:

1Ц4 1 2 2 8 3 1 2 5 1 210 и наибольшая возможная корректирующая поправка d = dmax перевозок, ука занных в его клетках d = min{7, 6} = 6. После проведения коррекции перевозок только клеток цикла Ц4 будет получен новый план перевозок, приведенный в транспортной таблице 6.19. 5. Вычисляется цена C5 нового плана перевозок: 15 1 14 2 3 4 1Ц4 1 187 2 6 4 15102 1 1273

Свободная клетка (3, 2) транспортной таблицы 6.19 принимается в каче стве начальной клетки цикла Ц5 = {(3, 2), (3, 1), (2, 1), (2, 2)} и отмечается знаком «+». Согласно принятому правилу помечаются все ос тальные три клетки цикла Ц5 (табл. 6.19). Вычисляются цена 1Ц5 цикла Ц5:

1Ц5 1 1 2 2 3 4 2 5 1 22 и наибольшая возможная корректирующая поправка d = dmax перевозок, ука занных в его клетках: d = min{6, 12} = 6. 1 2 3 4 5 6 2 7 89 7

200

i

51

41

j

2

1

1

7781

32 1

1

1

1

21

1

1

31

1

1

41

1

1

51

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

61

1

1

71

1

1

81

1

1

41

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

91

11 1

41

1

1

51

1

1

61

1

1

71

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

91

1

1

1

1

1

1

1 1

1

1

1  1 1  1

2

1

1

111

234567145891 11 1 7 7 7163 1

1

1

1

31

541

1

551

541

561

51 31

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1 2 3 4 5 6 2 7 89 7

51

41

1

2

1

1

1

7781

32 1

1

1

1

21

1

1

31

1

1

41

1

1

51

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

61

1

1

71

1

1

1

1

1

1

1

1

1

1

41

1

1

1

1

1

1

1

1

1

1

31

1

1

1

1

1

1

1

1

81

1

1

41

1

1  1 1  1

2 i

j

1

1

1

1

1

1

1

91

1

1

1

1

1

1

1

51

1

1

61

1

1

71

1

1

1

1

1

1

1

1

1

1

1

91

1

1

1

1

11

1

1

111

234567145891 11 1 7 7 7163 1

1

541

1

1

1

551

541

561

51 31

1

После проведения коррекции перевозок только клеток цикла Ц5 будет получен новый план перевозок, приведенный в транспортной таблице 6.20. 6. Вычисляется цена C6 нового плана перевозок:

16 1 15 2 3 4 1Ц5 1 127 2 6 4 1522 1 1153 Свободная клетка (2, 3) транспортной таблицы 6.20 принимается в каче стве начальной клетки цикла Ц6 = {(2, 3), (3, 3), (3, 2), (2, 2)} и отмечается знаком «+». Согласно принятому правилу помечаются все ос тальные три клетки цикла Ц6 (табл. 6.20). Вычисляются цена 1Ц6 цикла Ц6:

1Ц6 1 6 2 4 3 1 2 5 1 22 и наибольшая возможная корректирующая поправка d = dmax перевозок, ука занных в его клетках: d = min{7, 6} = 6. После проведения коррекции перевозок только клеток цикла Ц6 будет получен новый план перевозок, приведенный в транспортной таблице 6.21. 7. Вычисляется цена С7 нового плана перевозок:

17 1 16 2 3 4 1Ц6 1 115 2 6 4 1522 1 1033 Свободная клетка (1, 3) транспортной таблицы 6.21 принимается в каче стве начальной клетки цикла Ц7 = {(1, 3), (2, 3), (2, 1), (1, 1)} и отмечается знаком «+». Согласно принятому правилу помечаются все ос тальные три клетки цикла Ц7 (см. табл. 6.21). Вычисляются цена 1Ц7 цикла Ц7: 1Ц7 1 2 2 6 3 4 2 8 1 28 ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

201

1 2 3 4 5 6 2 7 89 7 2 j

2 i

41

1

1

1

7781

32 1

1

1

1

21

1

1

31

1

1

51

1

1

41

1

1

51

1

1

1

1

1

1

1

1

1

1

1

61

11

1 1

1

1

1

1

1

1

81

1

1

91

1

1

1

1

1

1

1

71

1

71

1

1

1

1

1

1

41

1

1

1

1

1

1

1

1

1

1

1

1

1

1

61

1

1

1

1

1

41

1

1

51

1

1

81

1

1

91

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

111

1

1

1  1 1  1

234567145891 11 1 7 7 7163 1

1

1

1

31

541

1

551

541

581

51 31

7

1 2 3 4 5 6 2 7 89

7

41

1

1

1

1

7781

32 1

1

1

1

21

1

1

31

1

1

41

1

1

51

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

11

71

1

1

61

1

1

81

1

1

91

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

41

61

1

1

71

81

1

1

91

1

1

1

1

1

1

1

1

1

1

41

1

1

51

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

31

541

1

51

j

2

1

1  1 1  1

2 i

111

234567145891 11 1 7 7 7163 1

1

1

1

1

1

551

541

581

51 31

1

и наибольшая возможная корректирующая поправка d = dmax перевозок, ука занных в его клетках: d = min{6, 1} = 1. После проведения коррекции перевозок только клеток цикла Ц7 будет получен новый план перевозок, приведенный в транспортной таблице 6.22. 8. Вычисляется цена С8 нового плана перевозок:

18 1 17 2 3 4 1Ц7 1 103 2 1 4 1582 1 953 Свободная клетка (3, 4) транспортной таблицы 6.22 принимается в каче стве начальной клетки цикла Ц8 = {(3, 4), (3, 3), (1, 3), (1, 4)} 202

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

и отмечается знаком «+». Согласно принятому правилу помечаются все ос тальные три клетки цикла Ц8 (табл. 6.22). Вычисляются цена 1Ц8 цикла Ц8: 1Ц8 1 2 2 6 3 2 2 1 1 23

и наибольшая возможная корректирующая поправка d = dmax перевозок, ука занных в его клетках: d = min{5, 11} = 5. После проведения коррекции перевозок только клеток цикла Ц8 будет получен новый план перевозок, приведенный в транспортной таблице 6.23. 9. Вычисляется цена С9 нового плана перевозок: 19 1 18 2 3 4 1Ц8 1 95 2 5 4 1532 1 803

Свободная клетка (3, 1) транспортной таблицы 6.23 принимается в каче стве начальной клетки цикла Ц9 = {(3, 1), (2, 1), (2, 4), (1, 4), (1, 3), (3, 3)} и отмечается знаком «+». Согласно принятому правилу помечаются все ос тальные пять клеток цикла Ц9 (табл. 6.23). Вычисляются цена 1Ц9 цикла Ц9:

1Ц9 1 2 2 4 3 2 2 1 3 2 2 4 1 23 и наибольшая возможная корректирующая поправка d = dmax перевозок, ука занных в его клетках: d = min{9, 6, 1} = 1. После проведения коррекции перевозок только клеток цикла Ц9 будет получен новый план перевозок, приведенный в транспортной таблице 6.24. 1 2 3 4 5 6 2 7 89 7

1

1

1

7781

32 1

1

1

1

21

1

1

31

1

1

41

1

1

51

1

1

1

1

1

1

1

1

1

1

1

1

61

1

11

1 71

1

1

41

1

1

1

1

1

1

1

81

1

1

91

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

61

1

51

1

1

1

1

1

11

71

1

1

1

41

1

1

1

1

1

1

1

61

1

31

1

1 1 1

541

1

1

1 1

1

41

1

1

51

2

1

1  1 1  1

2 i

j

1

1

111

234567145891 11 1 7 7 7163 1

1

1

1

1

1

81

1

1

91

1

1

1

1

1

1

1

1

1

1

71

1

1

1

1

551

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

541

581

51 31

203

1 2 3 4 5 6 2 7 89 7 1

234567145891 11 1 7 7 7163 1

1

1

9 1  1 1  1

2 i

51

41

1

111

2 j

1

1

1

7781

32 1

1

1

1

21

1

1

31

1

1

41

1

1

51

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

61

1

1

71

1

1

81

1

1

41

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

41

1

1

51

1

1

61

1

1

71

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

31

541

1

551

541

561

51 31

1

10. Вычисляется цена С10 нового плана перевозок: 110 1 19 2 3 4 1Ц9 1 80 2 14 1532 1 77 .

Читателю предлагается самостоятельно убедиться в том, что теперь в транспортной таблице не осталось ни одного цикла, имеющего отрицатель ную или нулевую цену, допустимая коррекция перевозок, указанных в клет ках которого, соответственно улучшила бы или не ухудшила бы цены плана перевозок, приведенного в таблице 6.24. Значит, построенный план перево зок является оптимальным, а его цена — значение задачи — равна 77 приня тым единицам измерения цены перевозки единицы продукции. Следует также обратить внимание читателя и на то, что для данной зада чи в оптимальном плане перевозок ни один поставщик продукции ее не от правляет ни одному из тех заказчиков, которым «предлагается» ее отправ лять в количествах, определяемых методом северозападного угла (сравните содержание таблицы 6.15 и 6.24). 6.1.5.2. ДВОЙСТВЕННАЯ ЗАДАЧА ЗАКРЫТОЙ ТЗ

Для закрытой транспортной задачи ЛП m

n

3 3 cij xij i 11 j 11 n

2 xij 1 ai ,

2 min,

(6.81)

{xij }

i 1 1, ..., m,

(6.82)

2 xij 1 bj ,

j 1 1, ..., n,

(6.83)

xij ³ 0,

i = 1, ..., m,

j 11 m

i 11

j = 1, ..., n

(6.84)

определим следующую ее двойственную задачу. 204

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Сопоставим каждому iму и jму ограничениям (6.82) и (6.83) соответст венно двойственную переменную ui и vj, i = 1, ..., m, j = 1, ..., n. Тогда функцией Лагранжа задачи (6.81)–(6.84) является 1 2 1 2 1 2 3 2 2 3 51 62 7 2 83 1 934 634 4 73 6 3 5 634 7 4 8 4 6 4 5 634 7 2 6 7 3 11 4 11 3 11 8 4 11 3 11 9 9 4 11 8

которую после очевидных преобразований можно записать в виде 1

2

1

3 31

4 31

2

51 62 7 2 83 3 6 93 73 4 6 4 8 4 4 6 6 1 34 5 73 5 8 4 2 634 4 3 31 4 31

(6.85)

Только при выполнении неравенств cij – ui – vj ³ 0,

i = 1, ..., m,

j = 1, ..., n,

(6.86)

двойственная функция y(u, v) задачи (6.81)–(6.84) принимает конечные зна чения 1

2

3 11

4 11

2 152 63 1 4 73 53 3 4 8 4 6 4

(6.87)

(u Î Rm и v Î Rn — векторы двойственных переменных, имеющие соответст венно компоненты {ui} и {vj}). Таким образом, одной из возможных двойственных задач закрытой транс портной задачи (6.81)–(6.84) является задача ЛП 1

2

3 11

4 11

4 73 53 2 4 8 4 6 4 ui + vj £ cij,

3 234 1

(6.88)

51 6

i = 1, ..., m,

j = 1, ..., n,

(6.86¢)

в постановке которой, следует отметить, нет требования неотрицательности переменных {ui} и {vj}. Задаче (6.88), (6.86¢) можно дать такое экономическое толкование. Пусть тарифы {cij} на перевозку единицы продукции от ее поставщиков {Ai} потребителям {Bj} определяются некоторыми объективными условиями их местонахождения — имеющимися для перевозки транспортными средст вами, особенностями обслуживания перевозимой продукции и т. п. Также предполагается, что при тарифах {cij} на рынке перевозчиков всегда найдет ся желающий выполнить соответствующий заказ на транспортировку про дукции. Пусть координатор всех перевозок, намерение которого минимизировать общие затраты этих перевозок собственно и обусловливает постановку зада чи (6.81)–(6.84), поручил провести все эти перевозки некоторому транспорт ному агентству (ТА). Пусть ТА вправе устанавливать свои тарифы на вывоз и ввоз продукции: за вывоз (все равно куда) единицы продукции от iго ее поставщика Ai и за ее ввоз (все равно откуда) jму заказчику Bj ТА получает суммы денег ui и vj соот ветственно. При этом ТА может привлекать к сотрудничеству некоторых ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

205

поставщиков и заказчиков продукции, устанавливая для них отрицатель ные льготные тарифы: если, например, ut < 0, то именно ТА оплачивает по ставщику At сумму денег |ut| за вывоз от него единицы продукции. Очевидно, что для установленных тарифов {ui} и {vj} ТА получает за вывоз всей продукции от всех ее поставщиков {Ai} и за ее ввоз всем заказчикам {Bj} сумму денег y(u, v) (6.87), которую, путем соответствующего выбора этих тарифов, ТА, естественно, будет стремиться сделать как можно большей. Однако назначение тарифов {ui} и {vj} не может быть произвольным: если для некоторого поставщика продукции Ai и ее заказчика Bj окажется, что ui + vj > cij, то объяснить координатору перевозок целесообразность заключения согла шения между ним и ТА на проведение перевозок между Ai и Bj только сообра жениями минимизации общих транспортных расходов нельзя (по предполо жению, координатор перевозок может найти перевозчика, согласного при тарифе cij меньшем, чем ui + vj, выполнить соответствующий заказ на пере возку продукции от поставщика Ai ее заказчику Bj; доход 312 4121 1 полученный этим перевозчиком за перевозку 3121 единиц продукции от поставщика Ai за казчику Bj, равен сумме денег, недополученной ТА за отсутствие соглаше ния с ним на эту перевозку). Итак, оптимизационную задачу (6.88), (6.86¢) можно интерпретировать как задачу поиска таких тарифов {ui} и {vj} на перевозку продукции, при которых и при некоторых указанных условиях ТА получает наибольший возможный доход — сумму денег, выплачиваемую координатором всех перевозок. Для отыскания решения задачи ЛП (6.88), (6.86¢) ее структурные особен ности (характер ограничений (6.86¢), аддитивность целевой функции зада чи, положительность {ai} и {bj}) можно учесть, например, таким образом. Очевидно, что система, состоящая из mn неравенств (6.86¢), эквивалент на системе, состоящей из n неравенств:

4 1 3 123 1521 4 62 2 4 132 3 3

1 5 14 5554 75

(6.86²)

Так как целевая функция двойственной задачи максимизируется, а ко эффициенты {bj} при переменных {vj} в этой функции положительны, в реше нии {ui} и {vj} задачи должны выполняться равенства

4 1 4 123 1521 5 62 2 4 132 3 3

1 4 14 5554 75

(6.89)

Значит, двойственная задача (6.88), (6.86¢) ЛП сводится к задаче 1

2

341

4 41

6 152 5 97353 6 984 345 1934 7 53 2 8 367 13331

5

(6.90)

— задаче безусловной максимизации вогнутой недифференцируемой функ ции F(u), содержащей только m переменных {ui} (для сравнения: у двойст венной задачи (6.88), (6.86¢) на n неизвестных {vj} больше, а у исходной зада чи неизвестных {xij} в n раз больше; однако обе задачи (6.88), (6.86¢) и (6.81)– (6.84) являются задачами линейного программирования; задача же (6.90) принадлежит классу задач безусловного выпуклого программирования). 206

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Значение задачи (6.90) такое же, что и значения задач (6.88), (6.86¢) и (6.81)–(6.84). При известном решении u* задачи (6.90) компоненты 1211 2 другой состав ляющей v* решения (u*, v*) двойственной задачи (6.88), (6.86¢) вычисляются по формулам (6.89¢) v3j 5 min 1cij 6 ui32, j 5 1,..., n. 14 i 4m

Компоненты {x*ij} решения x* транспортной задачи (6.81)–(6.84) удовле творяют условиям (6.82)–(6.83) и связаны с решением (u*, v*) двойственной задачи (6.88), (6.86¢) соотношениями

1cij 4 ui3 4 v3j 2 x3ij 5 0,

i 5 1,..., m,

j 5 1,..., n.

(6.91)

Эти соотношения можно использовать при отыскании решения x* исход ной задачи (6.81)–(6.84) по известному решению (u*, v*) двойственной зада чи (6.88), (6.86¢) и, наоборот, при отыскании решения (u*, v*) задачи (6.88), (6.86¢) по известному решению x* задачи (6.81)–(6.84) (см. разд. 6.1.4). 6.1.5.3. МЕТОД ПОТЕНЦИАЛОВ РЕШЕНИЯ ЗАКРЫТОЙ ТЗ

Итак, для отыскания решения закрытой транспортной задачи ЛП m

n

3 3 cij xij i 11 j 11 n

2 xij 1 ai ,

2 min,

(6.92)

{xij }

i 1 1,..., m,

(6.93)

2 xij 1 bj ,

j 1 1,..., n,

(6.94)

xij ³ 0,

i = 1, ..., m,

j 11 m

i 11

j = 1, ..., n,

(6.95)

можно применять любой из следующих трех методов: · привести задачу к общей задаче ЛП в канонической постановке, а за тем — решить приведенную задачу, например, симплексметодом; · привести двойственную задачу (6.88), (6.86¢) к задаче (6.90) безусловной максимизации недифференцируемой вогнутой функции; далее, приме нив любой метод недифференцируемой оптимизации, например, метод обобщенного градиентного спуска (см. разд. 9.3.4), найти решение u* этой задачи; далее по формулам (6.89¢) определить остальные компоненты v* решения (u*, v*) двойственной задачи; и, наконец, из условий (6.91) и (6.93)–(6.95) определить решение {x*ij} задачи (6.92)–(6.95); · метод последовательного улучшения планов перевозок. Каждому из этих методов присущи соответствующие сложности его прак тической реализации. Например, для того чтобы в методе последовательно го улучшения планов перевозок выяснить возможность перевода данной сво бодной клетки транспортной таблицы в список базисных — выполнить толь ко одну из многих операций по улучшению имеющегося допустимого плана ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

207

перевозок, — нужно найти допустимый цикл, имеющий отрицательную цену и содержащий эту клетку, помеченную знаком «+». В наихудшем случае выяснение наличия или отсутствия такой возможности может потребовать построения всех допустимых циклов, в которых эта клетка является началь0 ной. Даже для задач умеренных размерностей — при сравнительно неболь0 ших количествах поставщиков и заказчиков продукции — выполнение та0 кой большой по объему дополнительной работы может оказаться непреодо0 лимым препятствием для проведения дальнейших вычислений даже на современных вычислительных машинах. Указанного недостатка метода последовательного улучшения планов пе0 ревозок можно избежать, если для каждого текущего плана перевозок 13121 2 по специальному правилу вычислять некоторые оценки 12112 и 1 211 2 значений соответствующих двойственных переменных {ui} и {vj}. Оказывается, цена 2Ц1 цикла Цq каждой свободной клетки (iq, jq) транс портной таблицы, началом которого является эта клетка, а все осталь ные клетки принадлежат множеству базисных клеток этой таблицы, равна разности 421 31 и суммы оценок 3211 и vj1q :

CO q 2 ciq jq 3 ui1q 3 vj1q .

(6.96)

Только в случае, когда для всех свободных клеток транспортной табли0 цы цены их указанных циклов неотрицательны, текущий план перевозок 13121 2 является решением задачи (6.92)–(6.95), а оценки 12112 и { v j1 } совпада0 ют с соответствующими компонентами решения (u*, v*) двойственной зада0 чи (6.88), (6.86¢). В противном же случае можно взять любую свободную клет0 ку транспортной таблицы, цена соответствующего цикла для которой отрица0 тельна, построить этот цикл и по его клеткам откорректировать имеющийся план перевозок 13121 2 в сторону уменьшения его цены (откорректировать план перевозок цикла способом, описанным в методе последовательного улучше0 ния планов перевозок). Для известного плана перевозок 13121 2 правило вычисления значений 12112 и { vj1 } — потенциалов соответственно мест поставщиков {Ai} продукции и ее заказчиков {Bj} — является достаточно простым. Эти значения являются ре0 шением системы линейных алгебраических уравнений uit 1 vjt 2 cit jt ,

t 2 1, ..., m 1 n 3 1,

(6.97)

правые части 1421 31 2 которых определяются базисными компонентами плана перевозок 13121 2 (базисными клетками транспортной таблицы для имеющего0 ся плана перевозок 13121 2 ). Поскольку в каждых строке и столбце транспортной таблицы имеется по крайней мере одна ее базисная клетка, неизвестными системы уравнений (6.97) являются в с е u1, ..., um и v1, ..., vn. Ранг системы уравнений (6.97) равен m + n – 1, а число ее неизвестных {ui} и {vj} на единицу больше. Значит, так как эта система совместна, при оты0 скании какого0либо ее решения значение одной из неизвестных можно поло0 жить равным произвольному действительному числу, например, нулю. Тогда все остальные компоненты решения уже будут однозначно определены. 208

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

После отыскания решения системы уравнений (6.97) — значений 12112 и 1 2 11 2 — вычисляются псевдотарифы перевозок cij1 2 ui1 3 vj1 ,

i 4 1, ..., m,

j 4 1, ..., n.

(6.98)

Для каждой базисной клетки (it, jt) транспортной таблицы псевдотариф 4211 31 очевидно совпадает с тарифом 421 31 1 Если для всех клеток транспортной таблицы cij1 2 cij ,

i 3 1, ..., m,

j 3 1, ..., n,

(6.99)

то имеющийся план перевозок 13121 2 является решением задачи (6.92)–(6.95), а оценки 12112 и 12 11 2 совпадают с соответствующими компонентами решения (u*, v*) двойственной задачи (6.88), (6.86¢) (см. условия оптимальности (6.91)). Если же для некоторой (свободной) клетки (iq, jq) транспортной таблицы псевдотариф 421 31 превосходит тариф 421 31 1 то имеется цикл перевозок Цq с началом в этой клетки, все остальные клетки которого принадлежат базис ным клеткам транспортной таблицы, а цена 2Ц1 его отрицательна и равна

CO q 2 ciq jq 3 ci1q jq .

(6.96¢)

Для наглядной иллюстрации результатов действий, выполняемых со гласно описываемому далее методу потенциалов отыскания решения за крытой ТЗ (6.92)–(6.95), к обычной транспортной таблице 6.9 этой зада чи дописываются дополнительные строка и столбец, в которые для каж дого опорного плана перевозок вписываются соответствующие ему оценки 12112 и 12 11 23 вычисленные по формулам (6.98) псевдотарифы 13121 2 записы ваются в левые верхние углы клеток (расширенной) транспортной таб* лицы (табл. 6.25). 1 2 3 4 5 6 2 7 89 7

123456728439 83 3







56789 2 6 62 2 96 2

2

i

12 42

. .2 . 7

 22 6 8 2 {v1j } 2

723 58 11 333 627

2 j





1 c11 2 c11

1 c12 2 c12

1 2 x11

1 2 x12

1 c21 2 c21

1 c22 2 c22

1 2 x21

1 2 x22

. .2 .

. .2 .

1 1 cm1 2 cm

1 2 cm2 2 cm

112 xm

1 22 xm

12 v11 2

42 v21 2

3635

42

784  3 

{ui1}



32

3332

c11n c1n 2 1 2 x1n

12

u11 2

3332

c21 n c2n 2 1 2 x2n

42

u21 2

. .2 .

. .2 .

. .2 .

. .2 .

2

1 cmn 2 cmn 1 2 xmn

2

1 2 um

7

2

2

2

3332 3332

2 vn1 2

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

209

Метод потенциалов 1. Найти любой опорный план перевозок 13121 2 и вычислить его цену C¢. 2. Вычислить потенциалы 12112 и 12 11 2 — найти любое решение системы линейных алгебраических уравнений (6.97). 3. По формулам (6.98) вычислить псевдотарифы перевозок 13121 23 4. Если для всех (свободных) клеток транспортной таблицы выполняют ся неравенства (6.99), то поиск решений задач (6.92)–(6.95) и (6.88), (6.86¢) прекратить — опорный план 13121 2 является решением закрытой транспорт ной задачи (6.92)–(6.95), а потенциалы 12112 и 12 11 2 — соответствующими ком понентами решения ее двойственной задачи (6.88), (6.86¢). 5. Для произвольной свободной клетки (iq, jq) транспортной таблицы, псевдотариф 421 31 которой превосходит тариф 421 31 : 1) определить цикл перевозок Цq, началом которого является выбранная свободная клетка (iq, jq), и его цену 2Ц1 (все остальные клетки этого цикла должны принадлежать множеству базисных клеток транспортной таблицы, а его цена 2Ц1 вычисляется по формуле (6.96¢)); 2) клетки цикла Цq поочередно пометить знаками «+» и «–», начиная с клетки (iq, jq); 3) по формуле 4123 5 178 5331 41 (6.100) 4 31 5 41 62Ц2 1

вычислить наибольшую возможную корректирующую поправку d = dmax пе ревозок цикла Цq; 4) провести коррекцию опорного плана перевозок согласно соответствую щей процедуре метода последовательного улучшения планов перевозок — определить новый опорный план перевозок 13121123 5) по формуле 2 11 2 2 1 3 42Ц1 (6.101) вычислить цену C² нового опорного плана перевозок; 6) в транспортной таблице заменить 13121 2 на 13121123 положить C¢ = C² и вер нуться к выполнению п. 2. Пример 6.15. Методом потенциалов решить закрытую ТЗ с данными, при веденными в таблице 6.14. I цикл вычислений (первая итерация) 1. Опорный план перевозок 13121 2 этой задачи уже определен методом севе розападного угла и записан в таблице 6.15; все базисные компоненты этого плана не равны нулю; цена C¢ плана 13121 2 равна 237. Значения базисных компонент плана 13121 2 из таблицы 6.15 переписыва ются в таблицу 6.26. 2. По базисным компонентам имеющегося плана перевозок 13121 2 состав ляется система линейных алгебраических уравнений относительно неизвест ных потенциалов 12112 и 12 11 2: 11 1 21 2 81 11 1 22 2 91

210

12 1 22 2 51 12 1 23 2 61

13 1 23 2 41 3 4 13 1 24 2 525 ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1 2 3 4 5 6 2 7 89 87 1

42

62

2

1

"#$%2 {v1j } 2

1

1

2

42

1

2

2

2

2

2

82

2

2

2

2

62

1

2

2

2

2

72

2

2

2

92

2

2

2

1

2

1

2

2

2

82

2

2

72

12

2

12

32

2

32 452

2

62 442

2

1

2

2

1

2

2

2

2

2

2

2

12

2 72

2

2

92

2

92

2

2

2

2

2

2

2

2

1

2

2

2

2

2

2

2

82

2

62

2

62

2

2

42

92 2

2

2

2

2

2

2

2

2

2

2

2

2

2

2 !2 2

1

12

1

i

1

22 22 2

2

234567145891 11 1 7 7 7163 1 2 j

1

1

7781

32 1

395 71 {ui1} 1

462

52

492

792

4 2

7 2

1

1

32

462

2

442

32

2

12

32

452

442

2

2

1

Эта система уравнений неопределенная — у нее имеется бесконечное чис ло решений. Для конкретизации одного из них можно положить, например, u1 = 0. Затем определить все остальные компоненты этого решения: 111 2 01 211 2 81 221 2 91 121 2 341 231 2 101 131 2 361 241 2 11

и записать его в соответствующие клетки таблицы 6.26. 3. Для потенциалов 12112 и 12 11 2 по формулам (6.98) вычисляются псевдо тарифы перевозок 13121 2 и записываются в верхние левые углы соответствую щих клеток таблицы 6.26. 4. Псевдотарифы перевозок 13121 23 записанные в клетках (1, 3), (1, 4), (2, 4) и (3, 2) таблицы 6.26, превосходят соответствующие тарифы {cij} — для них не выполняются неравенства (6.99). Значит, имеющийся опорный план перево зок 13121 2 не является оптимальным и поэтому вычисления следует продолжать. 5. Для свободной клетки (1, 4) таблицы 6.26, в которой 114 1 2 11 3 1 2 114: 1) определяется цикл перевозок Ц1 = {(1, 4), (3, 4), (3, 3), (2, 3), (2, 2), (1, 2)} с началом в этой клетке; все остальные клетки цикла Ц1 принадлежат мно жеству базисных клеток таблицы, а вычисленная по формуле (6.96¢) цена 1Ц1 этого цикла равна 1 4 1 3 11 4 3101 1Ц1 2 214 3 214 2) клетки цикла Ц1 поочередно помечаются знаками «+» и «–», начиная с клетки (1, 4) (табл. 6.26); 3) по формуле (6.100) вычисляется наибольшая возможная корректирую щая поправка d = dmax перевозок цикла Ц1: d = min{11, 5, 3} = 3; ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

211

1 2 3 4 5 6 2 7 89 7 1

42

72

2

!22 "#$%2 {v1j } 2

1

1

1

1

52

62

2

72

42

2

42

2

2

2

2

1

1

2

2

2

2

2

2

2

1

82

2

2

2

2

2

2

2

2

72

2

2

2

2

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

1

72

2

2

42

92

2

92

2

2

71

2

2

2

1

1

1

2

82

2

2

2

2

2

2

12

2

12 342

12

1

1

2

2

1

32

2

492

2

92

2

2

2

2

2

472 2 2

2

2 2

2 2

1

i

1

22 22 2

2

234567145891 11 1 7 7 7163 1 2 j

1

1

7781

32 1

395 71 {ui1} 1

472

62

492

2

4 2

92

2 1

2

1

1

2

32

52

472

2

442

52

2

12

342

62

42

2

2

1

4) проводится коррекция имеющегося опорного плана перевозок 13121 2 со гласно соответствующей процедуре метода последовательного улучшения планов перевозок — определяется новый опорный план перевозок 13121123 ко торый записывается в таблицу 6.27; 5) по формуле (6.101) вычисляется цена C² опорного плана перевозок 1312112: C² = 237 + 3 × (–10) = 207; 6) далее предпринимается попытка улучшить записанный в транспорт ную таблицу 6.27 допустимый опорный план перевозок 13121 23 цена C¢ кото рого равна 207. II цикл вычислений (вторая итерация) 2. По базисным компонентам имеющегося плана перевозок 13121 23 запи санным в таблице 6.27, составляется система линейных алгебраических урав нений относительно неизвестных потенциалов 12112 и 1211 2: 11 1 21 2 81 11 1 24 2 11

12 1 22 2 51 12 1 23 2 61

13 1 23 2 413 4 13 1 24 2 525

Эта система уравнений неопределенная — у нее имеется бесконечное число решений. Пусть u1 = 0. Тогда все остальные компоненты одного из решений этой системы уравнений равны: 111 2 01 211 2 81 241 2 11 131 2 41 231 2 01 121 2 61 221 2 312

Именно это решение и записывается в соответствующие клетки табли цы 6.27. 3. Для потенциалов 12112 и 12 11 2 по формулам (6.98) вычисляются псевдо тарифы перевозок 13121 2 и записываются в верхние левые углы соответствую щих клеток таблицы 6.27. 212

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

4. Псевдотарифы перевозок 13121 23 записанные в клетках (2, 1), (2, 4), (3, 1) и (3, 2) таблицы 6.27, превосходят соответствующие тарифы {cij} — для них не выполняются неравенства (6.99). Значит, имеющийся опорный план пе ревозок 13121 2 не является оптимальным и поэтому вычисления следует про должать. 1 2 12 3 2 2 131: 5. Для свободной клетки (3, 1) таблицы 6.27, в которой 131 1) определяется цикл перевозок Ц2 = {(3, 1), (1, 1), (1, 4), (3, 4)}, с началом в этой клетке; все остальные клетки цикла Ц2 принадлежат мно жеству базисных клеток таблицы, а вычисленная по формуле (6.96¢) цена 1Ц2 этого цикла равна 1 4 2 3 12 4 3101 1Ц2 2 231 3 231

2) клетки цикла Ц2 поочередно помечаются знаками «+» и «–», начиная с клетки (3, 1) (табл. 6.27); 3) по формуле (6.100) вычисляется наибольшая возможная корректирую щая поправка d = dmax перевозок цикла Ц2: d = min{9, 8} = 8; 4) проводится коррекция имеющегося опорного плана перевозок 13121 2 со гласно соответствующей процедуре метода последовательного улучшения планов перевозок — определяется новый опорный план перевозок 13121123 ко торый записывается в таблицу 6.28; 5) вычисляется цена C² опорного плана перевозок 1312112: C² = 207 + 8 × (–10) = 127; 1 2 3 4 5 6 2 7 89 7 1

62

2

!22 "#$%2 {v1j } 2

1

12

2

12

1

1

2

2

2

1

72

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

62

1

62

2

1

1

2

2

92

1

42

1

12

32

2

1

32

1

22 22 2

2 i

234567145891 11 1 7 7 7163 1 2 j

452

2

2

1

2

2

2

2

1

62

782

2

42

1

2

2

2

2

1

92

2

2

2

2

1

2 7442

2

62

2

2

1

2

2

2

2

2

2

2

1

2

2

2

2

2

2

42

2

1

1

1

1

1

2 74 2

2

2

2

2

2

1

1

2

2

2

2

2

2

2

2

2

72

2

2

2

7781

32 1

395 71 {ui1} 1

462

52

4 2

7 2

4 2

7 2

32

462

82

442

32

2

12

32

452

782

2

2

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

213

6) далее предпринимается попытка улучшить записанный в транспорт ную таблицу 6.28 допустимый опорный план перевозок 13121 23 цена C¢ которо го равна 127. III цикл вычислений (третья итерация) 2. По базисным компонентам имеющегося плана перевозок 13121 23 запи санным в таблице 6.28, составляется система линейных алгебраических урав нений относительно неизвестных потенциалов 12112 и 12 11 2: 11 1 21 2 81 11 1 24 2 11

12 1 22 2 51 12 1 23 2 61

13 1 21 2 21 3 4 13 1 23 2 425

Эта система уравнений неопределенная — у нее имеется бесконечное чис ло решений. Пусть u1 = 0. Тогда все остальные компоненты одного из реше ний этой системы уравнений равны: 111 2 01 211 2 81 241 2 371 131 2 361 231 2 101 121 2 341 221 2 92

Именно это решение и записывается в соответствующие клетки табли цы 6.28. 3. Для потенциалов 12112 и 12 11 2 по формулам (6.98) вычисляются псевдо тарифы перевозок 13121 2 и записываются в верхние левые углы соответствую щих клеток таблицы 6.28. 4. Псевдотарифы перевозок 13121 23 записанные в клетках (1, 3) и (3, 2) таб лицы 6.28, превосходят соответствующие тарифы {cij} — для них не выпол няются неравенства (6.99). Значит, имеющийся опорный план перевозок 13121 2 не является оптимальным и поэтому вычисления следует продолжать. 1 2 10 3 2 2 113: 5. Для свободной клетки (1, 3) таблицы 6.28, в которой 113 1) определяется цикл перевозок Ц3 = {(1, 3), (3, 3), (3, 1), (1, 1)} с началом в этой клетке; все остальные клетки цикла Ц3 принадлежат мно жеству базисных клеток таблицы, а вычисленная по формуле (6.96¢) цена 1Ц3 этого цикла равна

1 4 2 3 10 4 381 1Ц3 2 213 3 213 2) клетки цикла Ц3 поочередно помечаются знаками «+» и «–», начиная с клетки (1, 3) (см. табл. 6.28); 3) по формуле (6.100) вычисляется наибольшая возможная корректирую щая поправка d = dmax перевозок цикла Ц3: d = min{5, 1} = 1; 4) проводится коррекция имеющегося опорного плана перевозок 13121 2 со гласно соответствующей процедуре метода последовательного улучшения планов перевозок — определяется новый опорный план перевозок 13121123 ко торый записывается в таблицу 6.29; 5) по формуле (6.101) вычисляется цена C² опорного плана перевозок 1312112: C² = 127 + 1 × (–8) = 119; 214

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1 2 3 4 5 6 2 7 89 7 1

42

62

2

1

1

1

395 71

7781

32 1

1

12

2

32

42

2

52

62

2

62

42

2

42

2

2

2

2

2

2

2

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

72

2

72

82

2

82

92

2

92

82

2

62

2

2

2

2

2

1

1

1

2

2

2

2

1

22 2 2

2 i

2 j

2

2

2

2

11

2

2

1

2

2

2

2

62

2

62

2

1

42

72

1

72

2

2

82

2

1

2

2

1

1

1

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

1

1

234567145891 11 1 7 7 7163 1

1

1

{ui1} 1

462

12

472

72

4 2

62

 22

52

462

!2

442

52

2

"#$%2 {v1j } 2

12

42

62

42

2

2

1

6) далее предпринимается попытка улучшить записанный в транспорт ную таблицу 6.29 допустимый опорный план перевозок 13121 23 цена C¢ которо го равна 119. IV цикл вычислений (четвертая итерация) 2. По базисным компонентам имеющегося плана перевозок 13121 23 запи санным в таблице 6.29, составляется система линейных алгебраических урав нений относительно неизвестных потенциалов 12112 и 12 11 2: 11 1 23 2 21 11 1 24 2 11

12 1 22 2 51 12 1 23 2 61

13 1 21 2 21 3 4 13 1 23 2 425

Эта система уравнений неопределенная — у нее имеется бесконечное чис ло решений. Пусть u1 = 0. Тогда все остальные компоненты одного из реше ний этой системы уравнений равны: 111 2 01 231 2 21 241 2 11 131 2 21 211 2 01 121 2 41 221 2 12

Именно это решение и записывается в соответствующие клетки табли цы 6.29. 3. Для потенциалов 12112 и 12 11 2 по формулам (6.98) вычисляются псевдо тарифы перевозок 13121 2 и записываются в верхние левые углы соответствую щих клеток таблицы 6.29. 4. Псевдотарифы перевозок 13121 23 записанные в клетках (2, 4) и (3, 2) таб лицы 6.29, превосходят соответствующие тарифы {cij} — для них не выпол няются неравенства (6.99). Значит, имеющийся опорный план перевозок 13121 2 не является оптимальным и поэтому вычисления следует продолжать. 1 2 3 3 1 2 132: 5. Для свободной клетки (3, 2) таблицы 6.29, в которой 132 1) определяется цикл перевозок Ц4 = {(3, 2), (2, 2), (2, 3), (3, 3)} ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

215

с началом в этой клетке; все остальные клетки цикла Ц4 принадлежат мно жеству базисных клеток таблицы, а вычисленная по формуле (6.96¢) цена 1Ц4 этого цикла равна 1 4 1 3 3 4 321 1Ц4 2 232 3 232

2) клетки цикла Ц4 поочередно помечаются знаками «+» и «–», начиная с клетки (3, 2) (см. табл. 6.29); 3) по формуле (6.100) вычисляется наибольшая возможная корректирую щая поправка d = dmax перевозок цикла Ц4: d = min{5, 4} = 4; 4) проводится коррекция имеющегося опорного плана перевозок 13121 2 со гласно соответствующей процедуре метода последовательного улучшения планов перевозок — определяется новый опорный план перевозок 13121123 ко торый записывается в таблицу 6.30; 5) по формуле (6.101) вычисляется цена C² опорного плана перевозок 1312112: C² = 119 + 4 × (–2) = 111; 6) далее предпринимается попытка улучшить записанный в транспорт ную таблицу 6.30 допустимый опорный план перевозок 13121 23 цена C¢ которо го равна 111. V цикл вычислений (пятая итерация) 2. По базисным компонентам имеющегося плана перевозок 13121 23 запи санным в таблице 6.30, составляется система линейных алгебраических урав нений относительно неизвестных потенциалов 12112 и 12 11 2: 11 1 23 2 21 11 1 24 2 11

12 1 22 2 51 12 1 23 2 61

13 1 21 2 213 4 13 1 22 2 125

Эта система уравнений неопределенная — у нее имеется бесконечное чис ло решений. Пусть u1 = 0. Тогда все остальные компоненты одного из реше ний этой системы уравнений равны: 111 2 01 231 2 21 241 2 11 121 2 41 221 2 11 131 2 01 211 2 22

Именно это решение и записывается в соответствующие клетки табли цы 6.30. 3. Для потенциалов 12112 и 12 11 2 по формулам (6.98) вычисляются псевдо тарифы перевозок 13121 2 и записываются в верхние левые углы соответствую щих клеток таблицы 6.30. 4. Псевдотарифы перевозок 13121 23 записанные в клетках (2, 1) и (2, 4) таб лицы 6.30, превосходят соответствующие тарифы {cij} — для них не выпол няются неравенства (6.99). Значит, имеющийся опорный план перевозок 13121 2 не является оптимальным и поэтому вычисления следует продолжать. 5. Для свободной клетки (2, 1) таблицы 6.30, в которой 121 1 2 6 3 4 2 121: 1) определяется цикл перевозок Ц5 = {(2, 1), (2, 2), (3, 2), (3, 1)} 216

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1 2 3 4 5 6 2 7 89 7 1

42

2

1

1

1

12

2

32

42

2

52

12

2

12

42

2

42

2

2

2

2

2

2

2

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

72

2

82

92

2

92

72

2

72

92

2

12

2

1

2 11

1

1

1

2

2

2

2

2

2

2

2

1

2

2

2

2

2

2

2

12

1

12

42

1

42

12

2

82

42

2

92

2

!1

1

1

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

!22 # $%&2 {v1j } 2

1

12

1

1

2 i

2  2 2  2

234567145891 11 1 7 7 7163 1 2 j

1

1

1

1

7781

32 1

395 71 {ui1} 1

412

62

482

82

42

62

52

412

"2

442

52

2

12

42

12

42

2

2

1 1 2 3 4 5 6 2 7 89 7 1

52

72

2

!22 #$%&2 1211 2 2

1

1

1

1

12

2

32 452

2

62

72

2

72

1

22 2 2

2 i

2 j

52

2

52

2

2

2

2

2

2

2

1

1

1

2

2

2

2

2

2

2

2

2

11

82

2

1

42

92

2

92

2

2

2

2

1

2

2

1

72

2

1

2

2

2

2

2

1

1

1

1

2

2

2

2

2

2

2

2

2

1

1

234567145891 11 1 7 7 7163 1

1

1

42

2

2

82

72

2

72

52

2

52

92

2

92

2

2

2

2

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

7781

32 1

395 71 {u1j } 1

572

12

592

492

5 2

4 2

62

572

"2

552

62

2

12

452

72

52

2

2

1

с началом в этой клетке; все остальные клетки цикла Ц5 принадлежат мно жеству базисных клеток таблицы, а вычисленная по формуле (6.96¢) цена 1Ц5 этого цикла равна

1 4 4 3 6 4 321 1Ц5 2 221 3 221 2) клетки цикла Ц5 поочередно помечаются знаками «+» и «–», начиная с клетки (2, 1) (табл. 6.30); ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

217

3) по формуле (6.100) вычисляется наибольшая возможная корректирую щая поправка d = dmax перевозок цикла Ц5: d = min{8, 9} = 8; 4) проводится коррекция имеющегося опорного плана перевозок 13121 2 со гласно соответствующей процедуре метода последовательного улучшения планов перевозок — определяется новый опорный план перевозок 13121123 ко торый записывается в таблицу 6.31; 5) по формуле (6.101) вычисляется цена C² опорного плана перевозок 1312112: C² = 111 + 8 × (–2) = 95; 6) далее предпринимается попытка улучшить записанный в транспорт ную таблицы 6.31 допустимый опорный план перевозок 13121 23 цена C¢ которо го равна 95. VI цикл вычислений (шестая итерация) 2. По базисным компонентам имеющегося плана перевозок 13121 23 запи санным в таблице 6.31, составляется система линейных алгебраических урав нений относительно неизвестных потенциалов 12112 и 12 11 2: 11 1 23 2 21 11 1 24 2 11

12 1 21 2 41 12 1 23 2 61

13 1 21 2 213 4 13 1 22 2 125

Эта система уравнений неопределенная — у нее имеется бесконечное чис ло решений. Пусть u1 = 0. Тогда все остальные компоненты одного из реше ний этой системы уравнений равны: 111 2 01 231 2 21 241 2 11 121 2 41 211 2 01 131 2 21 221 2 312

Именно это решение и записывается в соответствующие клетки табли цы 6.31. 3. Для потенциалов 12112 и 12 11 2 по формулам (6.98) вычисляются псевдо тарифы перевозок 13121 2 и записываются в верхние левые углы соответствую щих клеток таблицы 6.31. 4. Только записанный в клетке (2, 4) таблицы 6.31 псевдотариф перевоз 1 2 5 превосходит соответствующий тариф c24 = 2. Значит, имеющийся ки 124 опорный план перевозок 13121 2 не является оптимальным и поэтому вычисле ния следует продолжать. 5. Для свободной клетки (2, 4) таблицы 6.31: 1) определяется цикл перевозок Ц6 = {(2, 4), (2, 3), (1, 3), (1, 4)} с началом в этой клетке; все остальные клетки цикла Ц6 принадлежат мно жеству базисных клеток таблицы, а вычисленная по формуле (6.96¢) цена 1Ц6 этого цикла равна

1 4 2 3 5 4 331 1Ц6 2 224 3 224 2) клетки цикла Ц6 поочередно помечаются знаками «+» и «–», начиная с клетки (2, 4) (см. табл. 6.31); 218

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

3) по формуле (6.100) вычисляется наибольшая возможная корректирую щая поправка d = dmax перевозок цикла Ц6: d = min{6, 11} = 6; 4) проводится коррекция имеющегося опорного плана перевозок 13121 2 со гласно соответствующей процедуре метода последовательного улучшения планов перевозок — определяется новый опорный план перевозок 13121123 ко торый записывается в таблицу 6.32; 5) по формуле (6.101) вычисляется цена C² опорного плана перевозок 13121123 C² = 95 + 6 × (–3) = 77; 6) далее предпринимается попытка улучшить записанный в транспорт ную таблицу 6.32 допустимый опорный план перевозок 13121 23 цена C¢ которо го равна 77. VII цикл вычислений (седьмая итерация) 2. По базисным компонентам имеющегося плана перевозок 13121 23 запи санным в таблице 6.32, составляется система линейных алгебраических урав нений относительно неизвестных потенциалов 12112 и 12 11 2 3 11 1 23 2 21 11 1 24 2 11

12 1 21 2 41 12 1 24 2 21

13 1 21 2 213 4 13 1 22 2 125

Эта система уравнений неопределенная — у нее имеется бесконечное чис ло решений. Пусть u1 = 0. Тогда все остальные компоненты одного из реше ний этой системы уравнений равны: 111 2 01 231 2 21 241 2 11 121 2 11 211 2 31 131 2 311 221 2 22

Именно это решение и записывается в соответствующие клетки табли цы 6.32. 1 2 3 4 5 6 2 7 89 7 1

1

1

2  2 2  2

2 i

62

42

12

234567145891 11 1 7 7 7163 1 2 j

1

1

1

1

12

2

32

42

2

52

42

2

42

62

2

62

2

2

2

2

2

2

2

1

2

2

1

2

2

2

2

2

2

2

2

2

2

2

2

2

82

2

82

12

2

92

12

2

2

42

2

42

2

1

2

2

2

2

2

2

2

2

1

2

2

2

2

2

2

2

2

2

2

2

2

2

42

2

42

62

2

62

62

2

82

72

2

92

2

1

2

2

62

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

7781

32 1

395 71 {ui1} 1

642

72

682

62

612

62

22

52

642

2

662

152

2

! "#$2 {v1j } 2

12

42

42

62

2

2

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

219

3. Для потенциалов 12112 и 12 11 2 по формулам (6.98) вычисляются псевдо тарифы перевозок 13121 2 и записываются в верхние левые углы соответствую щих клеток таблицы 6.32. 4. Все псевдотарифы перевозок 13121 23 записанные в клетках таблицы 6.32, не превосходят соответствующие тарифы {cij}. Значит, построен оптимальный опорный план перевозок 13121 23 ненулевые компоненты которого записаны в таблице 6.32. Поэтому вычисления, направленные на его поиск, прекращаются. Цена перевозок по оптималь ному плану равна 77. Компоненты решения (u*, v*) двойственной зада чи (6.88), (6.86¢) совпадают с соответствующими потенциалами 12112 и {v j1 }, записанными в последних столбце и строке таблицы. Описанный метод потенциалов при практическом его применении требу ет некоторых уточнений, конкретизация которых предполагает обязатель ным участие математиковпрограммистов. Причин этого несколько. Во*первых, только при сравнительно небольших числах поставщиков продукции и ее заказчиков транспортные задачи и процессы их решения удобно описывать с применением соответствующих таблиц (представьте себе такие таблицы и объем работы, связанной с их обновлением, если эти табли цы имеют, например, размер 15´45). Поэтому техническим средством реше ния транспортной задачи должна быть вычислительная машина. Только одно это требует специальной подготовки для перевода на ее «язык» подробно описанных как постановки задачи, так и формализованного метода отыска ния ее решения. Во*вторых, только для очень малой по размерам транспортной таблицы и для данной ее свободной клетки сравнительно легко можно построить цикл перевозок с отрицательной ценой, все остальные клетки которого принадле жат множеству базисных клеток этой таблицы, или убедиться, что такого цикла нет. Формализация соответствующей процедуры для вычислитель ной машины и транспортных таблиц произвольных размеров не является тривиальной задачей, а ее решение опятьтаки возлагается на математиков. В*третьих, в процедуре улучшения текущего плана перевозок для оты скания решения соответствующей системы линейных алгебраических урав нений — для вычисления потенциалов 12112 и 12 11 2 — целесообразно приме нять некоторый специальный метод, в котором следует учесть как «незна чительное изменение» состава уравнений этой системы по сравнению с аналогичной системой уравнений из предыдущей процедуры вычислений, так и структурные особенности этой системы. Применение для этого универ сального метода Крамера1 или метода обратной матрицы является непродук тивным расходованием вычислительных ресурсов. В*четвертых, именно математикам, профессионально занимающимся программированием вычислительных методов по отысканию решений транс портных задач, следует предпринять некоторые дополнительные меры на случай вырожденных допустимых планов перевозок (когда по крайней мере одна базисная клетка транспортной таблицы содержит нулевую перевозку). 1

Габриэль Крамер (Gabriel Cramer, 1704–1752) — швейцарский математик.

220

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

6.1.5.4. НЕКОТОРЫЕ ДРУГИЕ ПОСТАНОВКИ ТРАНСПОРТНЫХ ЗАДАЧ

Закрытая транспортная задача ЛП является только одним из многих ти пов задач математического программирования, объединенных общим назва нием «транспортные задачи». Рассмотрим несколько простейших примеров других постановок таких задач. Во всех этих задачах баланс между количе ством имеющейся продукции у ее поставщиков и общим количеством ее за каза не предполагается — возможны случаи, когда 1

2

3 11

4 11

3 53 2 3 6 4 1 Причины, по которым на практике выполняется это неравенство, могут быть самыми разными. В частности, это могут быть и просчеты в планирова нии объемов производства, и отказ некоторых заказчиков в приобретении продукции и др. 1. Пусть, например, общее количество заказанной продукции меньше имеющегося ее количества: 1

2

3 11

4 11

3 5 3 2 3 64 1

(6.102)

В таком случае планирование выполнения заказов на поставку продук ции можно проводить в соответствии с решением задачи 3

4

9 9 612 512 1 11 2 11 4

9 512 5 71 6

3 3456 1 512 2

1 1 16 7776 36

2 11 3

9 512 1 8 2 6 1 11

512 7 06

2 1 16 7776 46 1 1 16 7776 36

2 4 4 4 4 6 4 4 4 4 2 1 16 7776 4748

(6.103)

Причина записи первых m линейных ограничений на переменные этой задачи в форме неравенств такого типа понятна: так как продукции больше, чем ее заказано, ее некоторые количества следует оставить у некоторых ее поставщиков. У каких именно и сколько — можно выяснить после отыска ния решения задачи. Формально решать задачу ЛП (6.103) можно любым методом, например, симплексметодом, предназначенным для решения задач ЛП. Однако неко торым искусственным приемом эту задачу можно преобразовать к виду уже рассмотренной закрытой транспортной задачи ЛП (ТЗЛП). Добавим в задачу еще одного (n + 1)го «фиктивного» заказчика продук ции. Предполагается, что количество bn + 1 заказанной им продукции равно разности между имеющимся ее количеством и общим количеством продук ции, заказанной всеми остальными «реальными» заказчиками: ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

221

1

2

3 21

4 21

52 11 2 4 63 3 4 5 4 1

Пусть тарифы за перевозку продукции «фиктивному» заказчику нулевые: cin + 1 = 0,

i = 1, ..., m.

Очевидно, что при таком предположении план перевозок продукции, оп ределяемый как решение задачи (6.103), совпадает с соответствующими ком понентами решения закрытой транспортной задачи ЛП, сформулированной в терминах m поставщиков продукции и (n + 1)го ее заказчиков. Определенные для некоторых поставщиков перевозки «фиктивному» (n + 1)му заказчику всей или некоторой части имеющейся у них продукции остаются у этих поставщиков. Сумма всех этих остатков равна разности ме 1

жду предложением

2 32

1

продукции и спросом на нее

2 11

232 1 2 11

2. Рассмотрим теперь случай, когда спрос на продукцию превосходит ее предложение: 1

2

3 11

4 11

3 5 3 2 3 64 1

(6.104)

2.1. Так как выполнить все заявки на продукцию в полном объеме нель зя, учесть это можно, например, в такой постановке ТЗ: 3

4

99 612 512 1 11 2 11 4

9 512 1 71 ,

2 4 4 4 4 5 4 4 4 4 2 1 1, ..., 4.48

3 345, 1 512 2

1 1 1, ..., 3,

2 11 3

9 512 6 8 2 , 1 11

512 7 0,

2 1 1, ..., 4, 1 1 1, ..., 3,

(6.105)

Эту задачу ЛП также можно свести к постановке закрытой ТЗЛП. Пусть у некоторого «фиктивного» (m + 1)го поставщика имеется 1

2

3 21

4 21

52 11 2 4 6 3 3 4 54

единиц продукции, тарифы за транспортировку которой ее заказчикам ну левые cm + 1j = 0, j = 1, ..., n. Очевидно, что соответствующие компоненты решения закрытой ТЗЛП с (m + 1)м поставщиками и n заказчиками продукции совпадают с компо нентами решения задачи (6.105). При этом продукцию от «фиктивного» по ставщика ни один из ее заказчиков не получает — ведь ее просто нет! 2.2. Постановка задачи (6.105) такова, что некоторые заказчики продук ции могут совсем ее не получить, в то время как другие заявки будут выпол 222

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

нены полностью. В некоторых случаях такая ситуация недопустима и обес печение всех заказчиков можно проводить согласно такому, например, прин ципу распределения между ними имеющейся продукции: все заказчики про дукции получают одинаковые ее части от своих заказов, т. е. если bj — количество продукции, заказанной jм ее заказчиком, то он получит ее в количестве 211 2 32 1 единиц, j = 1, ..., n, где 1

2

2 1 3 53

364 1

3 11

4 11

Очевидно, что в таком случае выполняется баланс между имеющимся количеством продукции и скорректированным на нее спросом: 1

2

3 11

4 11

3 53 1 3 624 1

(6.106)

Поэтому определить план перевозок продукции от ее поставщиков заказ чикам можно после решения закрытой ТЗЛП (6.92)–(6.95), в ограничени ях (6.94) которой вместо bj записаны их откорректированные значения 211 1 2.3. Разумеется, координатор обеспечения данной продукцией всех мест ее потребления может руководствоваться другими принципами распределе ния имеющегося ее количества. Формализация этих принципов приведет к соответствующим оптимизационным задачам транспортного типа. Рассмот рим один из примеров таких задач. Пусть недопоставка заказанной в количестве bj единиц продукции на ве личину Dj в jм месте ее заказа приводит к увеличению общих затрат коорди натора всех перевозок на pjDj единиц (эти дополнительные затраты могут быть вызваны, например, заказом на изготовление и транспортировку про дукции изза рубежа; положительное значение Dj можно интерпретировать как некоторый «штраф» за недопоставку jму заказчику единицы заказан ной им продукции), j = 1, ..., n. Тогда координатору всех перевозок представляется полезным знать зна чение и решение следующей нелинейной оптимизационной задачи, в кото рой целевая функция выпукла и недифференцируема, а ограничения на пе ременные — линейные функции: m n

n

i 11 j 11

j 11

2 min,9 { xij } i 11

9 9 99 i 1 1, ..., m, 8 9 9 j 1 1, ..., n, 9 9 i 1 1, ..., m, j 1 1, ..., n. 9 3

m

2

 cij xij 4  pj max 70, bj 5  xij 8 n

 xij 1 ai , j 11 m

 xij bj , i 11

xij 0,

6

(6.107)

3. Координатора перевозок помимо их общей цены также может интере совать время T выполнения всех заказов. Постановка соответствующей ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

223

оптимизационной задачи в предположении общего баланса между спросом на продукцию и ее предложением может быть, например, такой. Пусть tij — известное время, необходимое для перевозки любого количе ства продукции от iго ее поставщика jму заказчику, i = 1, ..., m, j = 1, ..., n. Тогда при одновременном начале вывоза продукции ее заказчикам от разных поставщиков время {Tj} выполнения всего jго заказа очевидно опре деляется как наибольшее из тех значений {tij}, для которых xij > 0, i = 1, ..., m, а общее время T выполнения всех заказов равно наибольшему из значений {Tj}. Значит, перевозки продукции можно проводить в соответствии с реше нием задачи 3 min,

max tij (i, j ):xij 1 0

4 5 5 5 i 2 1, ..., m, 5 6 5 j 2 1, ..., n, 5 5 i 2 1, ..., m, j 2 1, ..., n.58 { xij }

n

9 xij 2 ai , j 21 m

9 xij 2 bj , i 21

xij 7 0,

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

6.2. ЗАДАЧИ ДРОБНОЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Пусть c и d — некоторые векторы из Rn, а a и b — действительные числа. Заданную на множестве D º {x Î Rn: + b ¹ 0} функцию f (x ) 5

(6.108)

1 c, x 2 3 4 1 d, x 2 3 6

(6.109)

называют дробно*линейной функцией (с областью определения D). Для заданных дробнолинейной функции f (x), m´nматрицы A и векто ра b Î Rm задачу математического программирования

f (x ) в которой

3

inf ,

(6.110)

x12 1 D

4 5 1x 6 R3n : Ax 7 b2,

(6.111)

R3n 4 1x 5 R n : xj 6 0, j 7 1,..., n2,

называют задачей дробно*линейного программирования. 224

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Например, к задаче дробно%линейного программирования (6.110) можно свести проблему выбора x из множества W I D, когда этот выбор оценивается по двум линейным критериям: принимаемое решение x Î W I D, конкрети% зирующее способ проведения некоторой операции, приводит к денежным расходам + a (эти расходы желательно уменьшать) и вместе с тем обес% печивает ненулевую прибыль + b (желательно увеличивать). Следова% тельно, дробно%линейная функция f (x) (6.109) выражает денежные расхо% ды, приходящиеся на единицу полученной прибыли, — является величи% ной, обратной рентабельности, если под этой операцией понимать некоторый производственный процесс. Значение этого одного из возможных показателей эффективности операции представляется естественным сделать как можно меньшим, выбирая соответствующее решение из множества альтернативных решений W I D — найти значение f* и решение x* (если оно есть) задачи (6.110). Следует отметить, что область определения D (6.108) дробно%линейной функции f (x) (6.109) является объединением множеств D– º {x Î Rn: + b < 0}

и

D+ º {x Î Rn: + b > 0},

не имеющих общих точек: D = D– U D+, D– I D+ = Æ. Поэтому множество до% пустимых точек W I D задачи дробно%линейного программирования (6.110) является объединением двух непересекающихся множеств W I D– и W I D+: W I D = (W I D–) U (W I D+) (не исключено, что одно из множеств W I D– или W I D+ или даже оба эти множества пустые). Итак, для отыскания решения задачи (6.110) достаточно решить две «поч% ти одинаковые» задачи

f (x)

5

inf

x34 1 D1

e

f (x)

5

inf .

x34 1 D2

(6.110¢)

Наименьшее из значений задач (6.110¢) — соответственно f21 и f21 — яв% ляется значением задачи (6.110). Решением же задачи (6.110) очевидно яв% ляется решение той из задач (6.110¢), значение которой меньше1. Возможный метод приближенного решения каждой из задач (6.110¢) со% стоит в отыскании решений особым образом построенных последовательно% стей систем линейных алгебраических неравенств и равенств. Рассмотрим сначала первую из задач (6.110¢):

f ( x)

4

inf .

x23 1 D1

(6.112)

Обоснование корректности метода отыскания приближенного решения этой задачи основано на применении следующего очевидного утверждения. 1 Следует напомнить, если множество допустимых точек задачи минимизации некоторой функции пусто, то принято считать, что значение такой задачи бесконечно велико (равно +¥) и решений у задачи нет. Если минимизируемая функция не ограничена снизу на множестве допустимых точек, то значение такой задачи бесконечно мало (равно –¥) и решений у задачи также нет. Решений у задачи нет и тогда, когда ни в одной из допустимых точек задачи минимизируемая функция не принимает своего наименьшего на множестве допустимых то% чек значения (точной нижней грани).

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

225

Если для некоторого действительного числа u система условий 2 c, x 3 14 5 u, 2 d, x 3 18

x 67 1 D1 ,

(6.113)

противоречива, то при t < u также противоречивой является и система 2 c, x 3 14 5 t, 2 d, x 3 18

x 67 1 D1

(6.113¢)

Значит, если для действительного числа u система условий (6.113) про% тиворечива, то значение f21 задачи (6.112) не меньше u (u является нижней оценкой значения f21 : u 3 f21 ). Если же для некоторого действительного числа v найдется точка x+ Î W I D+, для которой выполняется неравенство

2 c, x 1 3 14 5 v, 2 d, x 1 3 16

(6.114)

то и число v, и значение f (x+) очевидно являются верхними оценками значе% ния f21 задачи (6.112) (f21 3 f (x) 3 v), а саму точку x+ можно считать некото% рым приближением к множеству возможных решений этой задачи. Следует отметить, что поскольку для произвольной точки x Î D+ неравен% ство (6.114) выполняется тогда и только тогда, когда выполняется неравенство + a £ v( + b), систему условий (6.113¢) можно переписать в виде системы линейных отно% сительно x алгебраических равенств и неравенств (одно из двух неравенств нестрогое) и условия неотрицательности компонент {xj} точки x:

2 3 d, x 4 3 5, 6 3 c 2 td, x 4 8 5t 2 9,77

Ax b, 7 x R1n . 7

(6.113²)

Для произвольного значения t выяснить совместность системы усло% вий (6.113²) можно, например, решив задачу линейного программирования

1 2 d, x 3

4

inf,5 x 6 2 c 1 td, x 3 8 9t 1 ,7 6 x .

(6.115)

Если значение 321 этой задачи окажется не меньшим, чем b (321 4 5), то система условий (6.113²) очевидно противоречива и поэтому значение t яв% ляется нижней оценкой значения 121 задачи (6.112): t 3 f21 . Если же 321 4 5, то условия (6.113²) совместны, а значение t является верх% ней оценкой значения f21 задачи (6.112): f21 3 t. При этом для каждой допус% тимой в задаче (6.115) точки x+, в которой – < b (можно доказать, что такие точки есть), выполняются неравенства f21 3 f (x 1 ) 3 t. 226

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Например, если значение 321 задачи (6.115) конечно (множество допусти% мых точек задачи непусто, а функция – ограничена снизу), то у этой задачи линейного программирования имеется по крайней мере одно решение. При этом из условия 321 4 5 следует, что для каждого решения x21 задачи (6.115) выполняется неравенство 3 4 d, x21 5 4 6, а значит, и неравенства 121 3 1 1221 2 3 33 Легко доказать, что при выполнении неравенств (6.116) u 3 f21 3 f (x 1 ) 3 v также выполняется неравенство f (x 1 ) 3 f21 4 v 3 u.

(6.117)

Один из возможных методов отыскания приближенного решения задачи дробно%линейного программирования (6.112) состоит в следующем. Метод 6.2.1 Шаг 0. (Подготовительный этап.) Выбрать: · положительное число e — желаемую абсолютную точность вычисления значения f21 задачи (6.112); · действительное число t — оценку значения f21 ; · положительное число r — величину, на которую увеличивается или умень% шается оценка t при отыскании отрезка, содержащего f21 ; · «большое» положительное число M — «числовое представление» беско% нечности +¥. Положить u = –M и v = M (u и v — соответственно нижняя и верхняя оценки значения f21 : предполагается, что u 3 f21 3 v). Шаг 1. Вычислить значение 321 задачи линейного программирования (6.115). Если 321 4 5, то перейти к выполнению задания шага 3. Шаг 2. (Случай, когда 321 4 5; значение u следует увеличить.) Заменить u на t, затем t на t + r, затем r на 2 r — положить u = t, t = t + r, r = 2 r (для вычисленного значения u система условий (6.113²) противоречива, и поэто% му u является нижней оценкой f21 : u 3 f21). Если u ³ M, то вычисления прекратить, так как f21 3 M. Если v = M, то перейти к выполнению задания шага 1, иначе (если v < M) перейти к выполнению задания шага 4. Шаг 3. (Случай, когда 321 4 5; значение v следует уменьшить.) Выбрать допустимую в задаче (6.115) точку x+, для которой – < b. Вычислить значение f (x+) и положить v = f (x+), t = v – r, r = 2 r (v является верхней оцен% кой f21 : f21 3 v ). Если v £ –M, то вычисления прекратить, так как f21 3 4 M. Если u = –M, то перейти к выполнению задания шага 1. Шаг 4. (Вычислены значения u, v и найдена такая точка x+ Î W I D+, что выполняются неравенства (6.116) и u > –M, v = f (x+) < M.) Если v – u £ e,

(6.118)

то вычисления прекратить (найдена допустимая в задаче (6.112) точка x+, в которой, ввиду выполнения неравенств (6.116)–(6.118), достигнута желае% мая абсолютная точность вычисления f21 : f (x 1 ) 3 f21 4 5 ). ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

227

Шаг 5. (Значение f21 принадлежит отрезку [u; v] : u 3 f21 3 v. ) Положить u1v t2 и вычислить значение 321 задачи (6.115). 2 Шаг 6. Если 321 4 5, то положить u = t (значение u увеличивается) и перей% ти к выполнению задания шага 4 (для вычисленного значения u система усло% вий (6.113²) противоречива и поэтому u является нижней оценкой f21 : u 3 f21 ). Шаг 7. (Случай, когда 321 4 5; значение v следует уменьшить.) Выбрать допустимую в задаче (6.115) точку x+, для которой – < b. Вычислить значение f (x+) и положить v = f (x+) (f21 3 v 3 t). Перейти к выполнению зада% ния шага 4. При произвольных значениях параметров e, t, r и M, выбранных на шаге 0 метода 6.2.1, после конечного числа выполнения заданий шагов этого метода будет выполнено одно из трех возможных условий прекращения его работы: · v = M и u ³ M (это имеет место, когда f21 3 M и, в частности, если множе% ство допустимых точек W I D+ задачи (6.112) пусто); · u = –M и v £ –M (это имеет место, когда f21 3 4 M и, в частности, если минимизируемая функция f (x) задачи (6.112) не ограничена снизу на до% пустимом множестве W I D+); · –M < u< v < M и найдена точка x+ Î W I D+, для которой f (x+) = v и вы% полняются неравенства (6.118) и f21 3 f (x 1 ) 3 f21 1 4.

(6.119)

Рассмотрим теперь вторую из задач (6.110¢):

f (x )

4

inf .

x23 1 D1

(6.120)

Как и для задачи (6.112), можно доказать, что если при некотором дейст% вительном числе t система условий 2 c, x 3 45 6 t, 2 d, x 3 49

x 78 1 D1 ,

(6.121)

противоречива, то значение f21 задачи (6.120) не меньше, чем t: t 3 f21 . Если же точка x удовлетворяет условиям (6.121), то выполняются неравенства f21 3 f (x) 3 t.

Очевидно, что условия (6.121) эквивалентны системе соотношений 2 d, x 3 2 td 4 c, x 3 Ax x

2 45, 6 8 9 4 5t,77

b, 7 R1n , 7

(6.121¢)

проверка совместности которых состоит в сравнении значения 321 задачи линейного программирования 1 d, x 2

3

inf,4 x 5 1 td 7 c, x 2 8 9 7 t,6 5 x

228

(6.122)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

со значением параметра –b: если 321 4 15, то условия (6.121¢) противоречивы и поэтому t 3 f21 ; если же 321 4 15, то условия (6.121¢) совместны и для каждой точки x–, в которой < –b (можно доказать, что такие точки есть), выполняются неравенства f21 3 f (x 1 ) 3 t. Например, если значение 321 задачи (6.122) конечно (если множество до% пустимых точек этой задачи непусто, а функция ограничена снизу), то у этой задачи линейного программирования имеется по крайней мере одно решение. При этом из условия 321 4 5 следует, что для любого решения x21 задачи (6.122) выполняется неравенство 3 d, x21 4 3 5, а значит, выполняются и неравенства 121 3 1 1221 2 3 33 Легко убедиться, что в обозначениях a¢ º –a, b¢ º –b, d¢ º –d, c¢ º –c зада% чу (6.122) можно переписать в виде 2 3 d 1, x 4

5

inf, 6 x 7 3 c1 2 td 1, x 4 9 1t 2 1,8 7 x . 

(6.122¢)

Так как у задачи (6.122¢) такая же структура, как и у задачи (6.115), и эти задачи отличаются между собой только обозначениями некоторых пара% метров, для отыскания приближенного решения задачи (6.122¢) также можно применить метод 6.2.1. Как и в случае задачи (6.115), этот метод после конеч% ного числа выполнения заданий своих шагов прекратит свою работу. При этом: · v = M и u ³ M (это имеет место, когда f21 3 M и, в частности, если множе% ство допустимых точек W I D– задачи (6.120) пусто); · u = –M и v £ –M (это имеет место, когда f21 3 1 M и, в частности, если минимизируемая функция f (x) задачи (6.120) не ограничена снизу на до% пустимом множестве W I D–); · –M < u< v < M и найдена точка x– Î W I D–, для которой f (x–) = v и вы% полняются неравенства (6.118) и f21 3 f (x 1 ) 3 f21 4 5.

(6.119¢)

Итак, прекращение работы метода 6.2.1 при его применении для отыска% ния приближенного решения каждой из задач (6.112) и (6.120) возможно по трем причинам. Поэтому для определения более точной полученной оценки значения задачи (6.110) и выяснения, в какой именно из найденных точек множества W I D значение целевой функции f этой задачи наименьшее, сле% дует проанализировать 9 возможных комбинаций причин прекращения ра% боты метода 6.2.1. Читателю предлагается сделать это самостоятельно.

6.3. ЗАДАЧИ ЦЕЛОЧИСЛЕННОГО (ДИСКРЕТНОГО) ПРОГРАММИРОВАНИЯ В многочисленных приложениях возникают задачи математического про% граммирования, в которых условия о возможных значениях всех или неко% торых переменных усложнены требованием целочисленности или дискрет% ности этих переменных. ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

229

По определению, переменную, которая может принимать только цело% численные значения, например, –3, –1, 0, 1, 4 и т. п., называют целочисленной переменной. Если же переменная может принимать только конечное, или счет% ное, количество действительных числовых значений (например, –1,3, 0,7, 1 1 1 2,2 или 11 1 2 1 2221 1 1222 ), то ее называют дискретной переменной. 2 2 2 Задачи математического программирования, в которых имеется условие целочисленности или дискретности значений всех переменных, называ% ют задачами соответственно целочисленного и дискретного программиро вания. Если же требование целочисленности (дискретности) относится не ко всем, а только к некоторым переменным, то соответствующую задачу называют задачей частично целочисленного (дискретного) программи рования. Разумеется, каждая задача целочисленного программирования является частным случаем задачи дискретного программирования. Обратно: каждую задачу дискретного программирования некоторой заменой переменных мож% но привести к задаче целочисленного программирования. Действительно, пусть x — дискретная переменная, все возможные значе% ния которой являются элементами конечного множества 131 1 32 12221 31 22 Пусть {xj} — целочисленные переменные, каждая из которых может при% нимать лишь одно из двух значений: 0 или 1. Тогда в постановке исходной задачи переменную x можно заменить сум% 1

мой

32 2 32 2 11

и добавить условия 1

3 3 2 1 11 2 11

3 2 2 201 131 2 1 114441 1 4

(6.123)

Аналогичные замены можно провести для каждой дискретной перемен% ной. В результате этого исходная задача будет приведена к задаче, имеющей такое же значение, однако сформулированной в терминах не общих дискрет% ных переменных, а только целочисленных. Хотя формально классы задач целочисленного и дискретного програм% мирования и совпадают, целесообразность соответствующего преобразова% ния переменных каждой конкретной задачи должна обосновываться отдель% но. Ведь при таком преобразовании некоторые свойства исходной задачи мо% гут быть утрачены, хотя их наличие могло бы оказаться весьма полезным при разработке метода ее решения. Следует также напомнить, что в задачах математического программиро% вания требование неотрицательности переменных или отсутствие такого тре% бования не является принципиальным — введением дополнительных пере% менных можно либо избавиться от такого требования, либо, наоборот, его привнести. Действительно, пусть y — некоторая переменная задачи, которая может принимать как положительные, так и отрицательные значения. Пусть две дополнительные н е о т р и ц а т е л ь н ы е переменные v и w таковы, что y = v – w. 230

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Если в условиях исходной задачи переменную y заменить разностью v – w, то общее количество переменных задачи увеличится на 1, а количество неизвестных, от которых не требуется их неотрицательность, уменьшится на 1. Обратно: если некоторая переменная z может принимать т о л ь к о неот% рицательные значения, то замена всех ее вхождений в задачу, например, на | t | привнесет в эту задачу новую переменную t, на знак которой ограничений уже нет. 6.3.1. ПРИМЕРЫ ЗАДАЧ ЦЕЛОЧИСЛЕННОГО ПРОГРАММИРОВАНИЯ

Чтобы отметить важность и практическую значимость задач целочис% ленного (дискретного) программирования, приведем несколько примеров таких задач. Пример 6.16. Задача целочисленного линейного программирования. Пусть имеется n типов некоторых объектов (упаковки для товаров, производствен% ное оборудование, транспортные средства, продуктовые наборы и т. п.), ка% ждый из которых характеризуется соответствующим действительным чис% лом c. — показателем полезности объекта (ценой, производительностью, гру% зоподъемностью, калорийностью и т. п.). Пусть при выборе каждого из имеющихся типов объектов приходится расходовать некоторые ресурсы m типов (этими ресурсами могут быть: день% ги, необходимые или для развития торговой сети, или для транспортировки грузов, или для обслуживания объектов, или для приобретения дополни% тельного оборудования, топливо, электроэнергия, габариты и/или грузоподъ% емность используемых транспортных средств и т. п.). Пусть bi — имеющееся количество ресурса i%го типа, i = 1, ..., m. Пусть известно количество aij ресурса i%го типа, расходуемого при выборе о д н о г о объекта j%го типа, i = 1, ..., m, j = 1, ..., n. Пусть xj — неизвестное количество приобретаемых объектов j%го типа, j = 1, ..., n (значение xj может быть только н е о т р и ц а т е л ь н ы м и ц е л о % ч и с л е н н ы м). Пусть независимы и аддитивны как общая полезность приобретаемых объектов, так и расходы ресурсов, обусловленные этим приобретением. Пусть значения указанных показателей прямо пропорционально зависят от коли% честв приобретаемых объектов одного типа. Тогда одним из самых общих примеров задачи ц е л о ч и с л е н н о г о л и н е й н о г о п р о г р а м м и р о % в а н и я является задача: 1

34 2 3 2 2 11 1

2

3 423 5 3 2 62 ,

1234

(6.124)

3

2 1 1, ..., 7,

(6.125)

3 11

xj — целое неотрицательное число, j = 1, ..., n.

(6.126)

Единственное принципиальное отличие задачи (6.124)–(6.126) от обычной задачи линейного программирования состоит в требовании целочисленности ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

231

неизвестных {xj}. Однако именно это внешне незначительное отличие с у % щ е с т в е н н о у с л о ж н я е т проблему отыскания решения задачи. Частным случаем задачи (6.124)–(6.126) является задача о рюкзаке — одна из первых задач, которая собственно и послужила стимулом к разви% тию целочисленного программирования. Рассмотрим одну из возможных интерпретаций этой задачи. Пример 6.17. Задача о рюкзаке. Пусть b — наибольший вес рюкзака с про% дуктами питания, который некий турист может нести в походе. Пусть этот турист может поместить в свой рюкзак одну упаковку с про% дуктами питания любого из имеющихся n типов таких упаковок (турист мо% жет поместить в рюкзак несколько упаковок разных типов, однако ему нель% зя помещать в рюкзак более одной упаковки какого%либо одного типа; упа% ковки некоторых типов турист может и не помещать в свой рюкзак). Пусть для каждой j%й упаковки известны ее вес aj и калорийность cj всех продуктов питания в ней содержащихся, j = 1, ..., n. Пусть xj Î {0, 1} — переменная, принимающая только одно из двух зна% чений: 0 — если турист не берет в свой рюкзак j%ю упаковку, и 1 — если берет, j = 1, ..., n. Необходимо заполнить рюкзак туриста упаковками продуктов так, что% бы эти продукты имели наибольшую калорийность и чтобы этот рюкзак ту% рист мог нести. Формальная постановка этой з а д а ч и ц е л о ч и с л е н н о г о л и н е й н о г о п р о г р а м м и р о в а н и я (с булевыми переменными {xj}) такова: 4 6 x j 31 6 6 n 7 aj xj 8 b, 6 j 31 6 xj 9 10,12, j 3 1,..., n.6

n

cj x j

5 max,

(6.127)

Особый раздел задач целочисленного программирования составляют задачи комбинаторного типа. К этим задачам относят задачи выбора та% кого варианта из конечного множества имеющихся вариантов, для кото% рого некоторая заданная функция принимает желаемое экстремальное зна% чение. Обычно с каждым вариантом можно сопоставить некоторую точку ко% нечномерного евклидова пространства. Однако сложность практически зна% чимых задач комбинаторного типа помимо требования дискретности также обусловлена и огромным количеством альтернативных вариантов. Пример 6.18. Задача о коммивояжере1. Постановка этой задачи такова: коммивояжер, находящийся в некотором городе А, должен последовательно и т о л ь к о п о о д н о м у р а з у посетить каждый из других известных n – 1 городов (n ³ 3) и возвратиться в город А. При этом в предположении известной 1 Коммивояжер — передвигающийся между населенными пунктами агент по продаже то% варов.

232

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

матрицы C = {cij} попарных расстояний между городами (cij — расстояние от i% го города до j%го города, i, j = 1, ..., n) длина общего пути коммивояжера долж% на быть наименьшей. Если под значением cij понимается время, некоторые денежные расходы или какой%либо другой показатель, то к задаче о коммивояжере могут быть сведены задачи, связанные с самым быстрым обходом ряда пунктов, про% кладкой между ними некоторых технических коммуникаций, составлением расписания выполнения некоторых работ и т. п. Формально решение задачи о коммивояжере может быть найдено после сравнения между собой (n – 1)! возможных вариантов (маршрутов комми% вояжера). Однако с увеличением n число альтернативных вариантов быстро увеличивается, что делает невозможным применение этого метода простого перебора (для сравнения: 6! = 720, 8! = 40 320, 10! = 3 628 800). Оказывается, задачу о коммивояжере можно сформулировать в виде за% дачи линейного целочисленного программирования. Поэтому один из спосо% бов отыскания ее решения и состоит в применении методов для решения задач такого типа. В предположении, что в начале своего маршрута коммивояжер находит% ся в городе, имеющем первый порядковый номер, постановка задачи о ком% мивояжере в виде задачи целочисленного линейного программирования при% нимает вид: n

n

3 3 cij xij i 11 j 11

n

2 xij 1 1,

2 min,

(6.128)

i 1 1, ..., n,

(6.129)

j 1 1, ..., n,

(6.130)

x

j 11 n

2 xij 1 1, i 11

ui – uj + nxij £ n – 1, xij Î {0, 1}, xii = 0,

i ¹ j,

i = 2, 3, ..., n,

i, j = 1, ..., n,

(6.131) (6.132)

где u1, ..., un – 1 — некоторые целочисленные переменные, а переменная xij тогда и только тогда принимает значение 1, когда коммивояжер после посе% щения i%го города непосредственно выезжает в j%й город. В постановке задачи (6.128)–(6.132) предполагается, что cij ³ 0 для всех городов i и j, а если между некоторыми k%м и l%м городами нет связывающего их пути, то ckl = ¥ (т. е. коммивояжеру запрещается из k%го города непосред% ственно переезжать в l%й город). Кроме того, не исключено, что для некото% рых городов i и j выполняется неравенство cij ¹ cji. Условие (6.129) выражает требование одного переезда из каждого i%го горо% да, а условие (6.130) — одного приезда в каждый j%й город, i, j = 1, ..., n. Дока% зано, что только этих условий и требования неотрицательности значений {cij} достаточно для замены требований (6.132) на их некоторое ослабление: ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

233

решение задачи (6.128)–(6.132) не изменится, если условия (6.132) заменить на условие неотрицательности {xij}. Условия (6.131) представляют один из возможных способов формализа% ции требования того, что маршрут коммивояжера должен являться одним циклом. В общем случае эти условия не следуют из выполнения усло% вий (6.129), (6.130) и (6.132). Например, матрица {xij}, в которой ненулевы% ми (единичными) являются только элементы x12, x23, x31, x45, x56, x67, ..., xn4, очевидно удовлетворяет требованиям (6.129), (6.130) и (6.132), однако не ото% бражает маршрут коммивояжера (в соответствии с этой матрицей очеред% ность городов в переездах коммивояжера состояла бы из двух циклов: 1®2®3®1

и

4 ® 5 ® 6 ® 7 ® ...® 4,

что очевидно противоречит определению маршрута коммивояжера). Рассмотрим теперь примеры задач нелинейного программирования, про% блемы отыскания решений которых могут быть сведены к проблемам оты% скания решений соответствующих задач целочисленного и частично цело% численного программирования. Пример 6.19. Транспортная задача с фиксированными доплатами. Пусть в каждом из m пунктов A1, ..., Am имеется некоторый однородный продукт (на% пример, сахар) в количестве ai единиц в каждом пункте Ai, i = 1, ..., m, а в n пунктах B1, ..., Bn имеется спрос на этот продукт, величина которого составляет bj единиц продукта в каждом пункте Bj, j = 1, ..., n. Пусть в отличие от классической транспортной задачи расходы fij(xij), обу% словленные перевозкой xij единиц продукта из пункта Ai в пункт Bj, опреде% ляются следующим образом: 4cij xij 1 2ij , fij (xij ) 5 6 0, 7

если xij 3 0, если xij 5 0,

где cij и dij — некоторые известные положительные числа (например, dij — величина платы за аренду транспортных средств, не зависящая от количест% ва xij перевозимой продукции), i = 1, ..., m, j = 1, ..., n. Задача отыскания перевозок {xij} продукции из мест ее нахождения {Ai} в места заказа {Bj}, при которых транспортные издержки минимальны, такова: m

n

3 3 fij (xij ) i 11 j 11 n

2 xij 1 ai ,

2 min,

(6.133)

i 1 1,..., m,

(6.134)

j 1 1,..., n,

(6.135)

x

j 11 m

2 xij 1 bj , i 11

xij ³ 0,

i = 1, ..., m,

j = 1, ..., n.

(6.136)

Очевидно, что минимизируемая функция этой задачи р а з р ы в н а. 234

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Общие расходы на перевозку можно также записать в виде 1

2

6 6 1534 634 4 534 734 21

(6.137)

3 31 4 31

где 212 3456 312 1 12 412 3 4 672 3456 312 5 12

1 1 72 8882 52

2 1 72 8882 68

(6.138)

Так как значение xij не может превосходить число dij = min{ai, bj} — наи% меньшее из чисел ai и bj, то условия (6.138) очевидно равносильны требова% ниям xij £ dijyij, yij Î {0, 1}, i = 1, ..., m, j = 1, ..., n. (6.139) Значит, задача (6.133)–(6.136) эквивалентна задаче минимизации функ% ции (6.137) с ограничениями (6.134)–(6.136), (6.139) на переменные {xij} и {yij}. Более того, в предположении целочисленности значений {ai} и {bj} эта задача является з а д а ч е й ц е л о ч и с л е н н о г о л и н е й н о г о п р о г р а м % м и р о в а н и я. Пример 6.20. Задача о размещении производства. Пусть в m пунктах A1, ..., Am можно производить некоторый однородный продукт, на который имеется спрос в n пунктах B1, ..., Bn. Пусть также известны: · bj — количество заказанного продукта в пункте Bj, j = 1, ..., n; · cij — расходы, обусловленные перевозкой единицы продукта из пункта его производства Ai в пункт заказа Bj, i = 1, ..., m, j = 1, ..., n; 51 2 2 31 1 61 2 2 3 7 8 1 01 9

ane e 2 4 01 ane e 2 7 01

— функция расходов в пункте Ai, обусловленных производством там X еди% ниц продукта (неотрицательные параметры ai и bi заданы), i = 1, ..., m. Пусть xij — количество произведенного в пункте Ai продукта, отправлен% ного в пункт Bj, i = 1, ..., m, j = 1, ..., n. Задачей о размещении производства однородного продукта называют задачу 1

3

2

2 8 8 8

4 1 16 7776 26 8 8 3 1 16 7776 16 4 1 16 7776 268 4

 99  634 534 5 63 1 7 3 2

7 3456 5 3 11 4 11 1

 534 1 8 4 6 3 11

1

534  06

(6.140)

где 4 2 2 3 523 — количество продукции, производимой в пункте Ai и транс% 3 11

портируемой во все пункты B1, ..., Bn ее заказа, i = 1, ..., m. Оказывается, эта задача математического программирования с разрыв% ной критериальной функцией эквивалентна з а д а ч е ч а с т и ч н о ц е л о % ч и с л е н н о г о п р о г р а м м и р о в а н и я: ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

235

4

2341 51 6 3 31  4 31  1 (6.141)  3 1 1 3 1 1 5551 1 5 4 2  34 3 31 0  534  63 1 3 3 115551 11 4 3 115551 21 63  601 171 3 3 115551 15  Требование целочисленности переменных задачи математического про& граммирования с у щ е с т в е н н о усложняет методы отыскания и распозна& вания ее решения. В частности, н е п р а в и л ь н о полагать, что если задачу целочисленного линейного программирования решить сначала без требова& ния целочисленности как обычную задачу ЛП, а затем уже компоненты полу& ченного решения округлить до ближайших целых чисел, то таким образом будет получено либо решение исходной задачи, либо, по крайней мере, при& емлемое приближение к этому решению. Действительно, рассмотрим задачу 1

5

2

6

 7363 8  1 734 8 93 2 8 4 534

1 1 22 1 2121 2 1122 3 3456 4 5 7 21 2 4 22 6 136 7 21 6 22 7 неотрицательные целые числа.58

(6.142)

Очевидно, что множество допустимых точек этой задачи содержит лишь 203 6 точек. При этом точка 11 4 5 6 является единственным решением задачи, 738 а число f * = 33 — ее значением (рис. 6.19). Решением задачи (6.142) без требова& ния его целочисленности является точка 1 13 1 7 2 12 3 4 5 3 в которой целевая функция 6 0 7 задачи принимает значение 1 2 21 3 1 394 Округление согласно принятому в математике правилу единственной не& целочисленной компоненты 11 1 13 2 7 точки 1 до ближайшего целого значе& ния приводит к недопустимой в зада& 122 че (6.142) точке 1 3 4 5 6 1 Если же ок& 708 ругление компоненты 11 провести в сторону ее уменьшения, то для полу& 112 ченной допустимой точки 1 33 4 5 6 име& 708 Рис. 6.19

236

ем 1 1 2112 2 213 ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Следовательно, точка 111 находится далеко от оптимальной точки x* и по расстоянию, и по значению критериальной функции задачи. Еще одна неприятная особенность задач целочисленного программиро% вания состоит в том, что для таких задач нет простого способа проверки данного допустимого решения на его оптимальность. Например, даже если значение критериальной функции задачи в некоторой допустимой точке 1 оказывается наилучшим по сравнению со значениями этой функции, вычис% ленными в ближайших к 1 допустимых точках, то из этого не следует, что именно точка 1 является решением задачи. 112 Действительно, точка 1 3 4 5 допустима в задаче (6.142) и 1 1 21 2 1 323 Бли% 617 102 102 жайшими к точке 1 являются допустимые в задаче точки x², 1 0 4 5 6 1 1 3 4 5 6 0 7 8 718 0 1 2 и 133 4 5 6 1 в которых f (x²) = 21, f (y0) = 0, f (y¢) = 11, f (y²) = 22. Отсюда, хотя 728 точка 1 и является наилучшей среди всех ближайших к ней допустимых в задаче (6.142) точек, она не является решением этой задачи. Следует ли из данного примера вывод о том, что единственно возмож% ным методом решения задач целочисленного программирования является метод простого перебора всех допустимых точек задачи с соответствующим сравнением между собой значений критериальной функции? Если бы ответ на этот вопрос оказался утвердительным, то большинство умеренных по размерам задач целочисленного программирования никогда не были бы ре% шены. Действительно, пусть некоторая задача содержит 100 неизвестных, каж% дое из которых может принимать только одно из двух возможных значений. Общее число вариантов решения задачи очевидно равно 2100. При весьма силь% ном предположении о том, что за 1 секунду можно найти наилучший вари% ант из 1 триллиона1 альтернативных вариантов, для полного перебора всех вариантов потребуется более 30 млрд лет. 6.3.2. МЕТОД ОТСЕЧЕНИЙ (ГОМОРИ)

Метод отсечений — первый метод решения задач целочисленного ли% нейного программирования — был предложен Гомори2 в 1958 г. Общая струк% тура этого и т е р а ц и о н н о г о метода такова. Сначала — на нулевой итерации метода Гомори — отыскивается реше% ние x*0 так называемой 0%й (нулевой) задачи — исходной задачи линейного программирования, из условий которой исключено условие целочисленно% сти неизвестных. Если все компоненты вектора x*0 окажутся целочисленными, то этот вектор является решением исходной задачи. Поэтому работа метода прекращается. 1 2

1 триллион = 1000 миллиардов = миллион миллионов. Ральф Гомори (Ralph Edward Gomory, b. 1929) — американский математик.

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

237

В противном случае (по крайней мере одна компонента вектора x*0 явля% ется дробным числом) счетчик итераций k метода полагается равным 1 и выполняется п е р в а я и т е р а ц и я метода Гомори. На k%й итерации: 1. Формулируется k%я задача, отличающаяся от предыдущей (k – 1)%й задачи (задача линейного программирования, которая была решена на пре% дыдущей итерации) только одним дополнительным линейным ограничением на переменные. Этому ограничению удовлетворяет любое допустимое реше% ние исходной задачи целочисленного линейного программирования, однако не удовлетворяет решение x*k – 1 (k –1)%й задачи, имеющее нецелочисленные компоненты. 2. Отыскивается решение x*k k%й задачи. 3. Если вектор x*k содержит только целочисленные компоненты, то рабо% та метода прекращается (вектор x*k также является решением исходной за% дачи целочисленного линейного программирования); в противном случае (по крайней мере одна компонента вектора x*k является дробным числом) счетчик итераций k увеличивается на 1 и выполняется следующая итерация метода. При некоторых условиях метод Гомори является к о н е ч н ы м — через конечное (иногда достаточно большое) число итераций, на каждой из которых отыскивается решение соответствующей k%задачи — задачи линейного про% граммирования, будет найдено решение исходной задачи целочисленного линейного программирования. Рассмотрим более подробное описание метода отсечений Гомори, приме% няемого для отыскания решения задачи целочисленного линейного програм мирования в стандартной постановке: n

3 cj xj

2 max,

n

(6.143)

x

j 11

2 aij xj 1 bi ,

i 1 1,..., m,

(6.144)

j 11

xj ³ 0,

j = 1, ..., n,

xj — целое число,

(6.145)

j = 1, ..., n.

(6.146)

Предполагается, что множество точек x евклидова пространства Rn, ком% поненты которых удовлетворяют требованиям (6.144)–(6.146), непусто и что значение задачи (6.143)–(6.146) конечно. Для подробного описания метода отсечений прежде всего необходимо конкретизировать способ построения правильного отсечения — дополнитель% ного линейного ограничения на переменные k%й задачи, которому не удовле% творяет решение x*k – 1 (k – 1)%й задачи, имеющее нецелочисленные компонен% ты, однако удовлетворяет каждая допустимая точка задачи (6.143)–(6.146). Метод построения правильного отсечения в методе Гомори существенно опирается на применение на каждой его итерации симплекс%метода реше% ния вспомогательной задачи линейного программирования в стандартной постановке (k%задачи). 238

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Следует напомнить, что если в задаче линейного программирования есть решение, то через конечное число итераций симплекс1метода это решение будет найдено 1. Более того, все переменные задачи некоторым образом будут разделены на так называемые базисные и небазисные переменные (относи1 тельно каждой переменной задачи можно будет утверждать, является ли она базисной или небазисной переменной; одновременно быть базисной и неба1 зисной ни одна переменная задачи не может). Все небазисные переменные задачи в ее решении принимают нулевое значение. Кроме того, множество всех решений исходной системы линейных огра1 ничений1равенств на переменные задачи совпадает с множеством всех реше1 ний некоторой особым образом построенной системы линейных уравнений. Число этих уравнений равно числу базисных переменных, а структура каж1 дого l1го уравнения имеет вид 41 3

6 512 4 2 4 411

51 2 3 б 1

(6.147)

223 нб

где Iб и Iнб — множества номеров соответственно базисных и небазисных переменных задачи (Iб I Iнб = Æ); xt — t1я компонента вектора переменных задачи, t Î Iб U Iнб; 211 — t1я компонента решения задачи ( 211 2 01 если t Î Iнб); tlj — некоторое действительное число, известное для любых l Î Iб и j Î Iнб. Наконец, если из всех равенств (6.147) определить все базисные перемен1 ные и подставить их выражения в терминах небазисных переменных в целе1 вую функцию исходной задачи линейного программирования, то после при1 ведения подобных членов в записи этой функции все коэффициенты при (небазисных) переменных будут отрицательными. Общий метод построения п р а в и л ь н о г о отсечения далее описан на примере 01й задачи — задачи (6.143)–(6.145). Пусть каждое решение x системы линейных алгебраических уравне1 ний (6.144) также является решением линейного уравнения 1

4 2 2 3 2 1 31

(6.148)

2 11

где {aj}, b — некоторые известные действительные числа (например, это урав1 нение образовано в результате суммирования некоторых уравнений системы уравнений (6.144), умноженных на некоторые действительные числа). Пусть среди числовых значений {aj} и b имеется по крайней мере одно дробное. Наибольшее целое число, не превосходящее данное действительное число d, обозначают [d] и называют целой частью числа d (запись [d] читает1 ся: «антье де»). Например, [1,5] = 1, [1] = 1,

[–1,5] = –2, [–3] = –3,

[–0,5] = –1, [0] = 0.

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

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

239

Поскольку для каждого действительного числа d выполняется неравен% ство [d] £ d, для произвольного решения x уравнения (6.148), имеющего не% отрицательные компоненты, очевидно выполняется неравенство 1

512 2 23 2 3 43

(6.149)

2 11

Если к тому же все компоненты вектора x целочисленные, то левая часть неравенства (6.149) принимает только целочисленные значения. Поэтому это неравенство можно заменить более сильным неравенством: 1

512 2 23 2 3 1423 2 11

Значит, для каждого решения x уравнения (6.148), имеющего неотрица% тельные целочисленные компоненты, найдется такое целое неотрицатель% ное число z, что пара (x, z) является решением уравнения 1

512 2 23 2 3 4 1 1423

(6.150)

2 11

Для некоторого упрощения описания работы метода Гомори вместо урав% нения%отсечения (6.150) обычно применяют эквивалентное уравнение 1

6 21 3 2 2 3 2 4 4 1 2 1523

(6.150¢)

2 11

где, по определению, {d} º d – [d] — дробная часть действительного числа d. Например, {1,5} = 0,5,

{–1,5} = 0,5,

{–0,5} = 0,5,

{1} = 0,

{–3} = 0,

{0} = 0.

Обоснование эквивалентности уравнений (6.150¢) и (6.150) является про% стой технической задачей: достаточно вычесть (6.148) из (6.150), привести подобные члены в левой части полученного равенства и воспользоваться тем, что для произвольного действительного числа d [d] + {d} = d. Пусть x*0

— найденное симплекс%методом решение задачи (6.143)–(6.145), 1 — множества номеров соответственно базисных и небазисных пере% 121 и 123 0 5 11 2221 2 менных этой задачи 3 1 б0 1 1 нб 1 24 и пусть для некоторого 1 1 2 б0 значе% 10 ние 21 является дробным. Пусть k = 1, 201 1 2 1 1 j = 1, ..., n. Далее согласно методу Гомори формули% руется 1%я задача. Ограничения на переменные каждой k%й задачи определяет система ли% нейных алгебраических уравнений

52 4

240

7

1 11 334 нб

623 5 3 5 5221 11

62 3 4 б1 11 1

(6.151)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

8

k31 j6Iнб

3{tlj }xj 5 xn 5 k 7 31xl4k 312 (отсечение)

(6.152)

относительно неизвестных переменных x1, ..., xn + k — соответствующих ком4 понент вектора x Î Rn + k (xn + k — дополнительная переменная k4й задачи). Целевой функцией этой задачи является линейная функция fk (x) 6



i3Iбk11

cik 11xi2k 11 7



4 cjk 11 1 cik 11tij 5 xj , 8 9 i3Iбk11

(6.153)

k11 j3Iнб

которую необходимо максимизировать на множестве всех неотрицательных решений системы линейных алгебраических уравнений (6.151), (6.152). Если хотя бы одна компонента решения x*k k4й задачи окажется дробной, то необходимо перейти к выполнению следующей итерации метода Гомори: номер итерации k увеличить на 1, для нового значения k сформулировать и решить k4ю задачу, проверить, все ли компоненты найденного решения x*k являются целыми числами; иначе (если все компоненты вектора x*k цело4 численные) метод Гомори прекращает работу — первые n компонент векто4 ра x*k являются решением задачи (6.143)–(6.146). Следует отметить, что ни для одного неотрицательного значения допол4 нительной переменной xn + k решение x*k – 1 (k – 1)4й задачи не удовлетво4 ряет ограничению (6.152) k4й задачи. Это очевидно следует из того, что 1 21 1 312 1 21 3 0 4 2 5 4 нб Итак, на языке геометрии, равенство (6.152) о т с е к а е т некоторое мно4 жество допустимых точек с нецелочисленными компонентами от множества допустимых точек предыдущей (k – 1)4й задачи. Поэтому, в частности, зна4 чение k4й задачи не может превосходить значение (k – 1)4й задачи. Формально и количество переменных задачи, и количество линейных ограничений на значения этих переменных при переходе к вычислениям на каждой последующей итерации метода Гомори увеличиваются на 1. Однако специалистам4математикам известна нетрудоемкая модификация описан4 ного метода Гомори, позволяющая ограничить общее число этих ограниче4 ний числом n — числом неизвестных исходной задачи. Тем самым ограничи4 вается и предельная сложность вспомогательных задач линейного програм4 мирования, которые необходимо решать на каждой итерации этого метода. Рассмотрим иллюстрацию работы основного метода Гомори. Пример 6.21. Найти значение f* и решение x* Î R3 задачи 2 1 12 1 2111 2 1112 3 3456 1

7x1 + 4x2 + x3 = 13, xj ³ 0, j = 1, 2, 3, xj — целое число, j = 1, 2, 3.

(6.154) (6.155) (6.156) (6.157)

На подготовительной итерации метода Гомори (k = 0) для 04й задачи (6.154)–(6.156) определяются: ее значение 101 2 39 и решение x*0, компо4 нентами которого являются 1110 2 13 7 и 1210 2 1310 2 01 множества номеров 0 1 123 32 соответственно базисных и небазисных переменных. 1 б0 1 112 и 1 нб ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

241

Так как значение 1110 2 13 7 является дробным, выполняется первая ите$ рация метода Гомори (k = 1). Формулируется 1$я задача линейного программирования: · ограничение (6.155) заменяется эквивалентным ему ограничением 4 1 13 1 1 1 2 7 2 7 3 7

11 1

(6.155¢)

(сравните с равенством (6.151)); · согласно правилу (6.152) строится ограничение$отсечение 4 1 6 1 12 1 13 2 14 3 1 7 7 7

(x4 — дополнительная переменная); · согласно правилу (6.153), с учетом равенства (6.155¢), определяются ко$ эффициенты при неизвестных целевой функции

1137 6 74 2 6 71 2 2 4 112 5

11 1 22 3 2121 4 1122 5 21

2

3

2

5 39 6 22 6 3 23 3

Для 1$й задачи 21 1 12 1 39 2 12 2 3 13 3 3456

(6.158)

1

11 1

4 1 13 1 1 1 2 1 7 2 7 3 7

(6.159)

4 1 6 1 x2 1 x3 2 x4 3 1 (отсечение), 7 7 7

(6.160)

xj ³ 0,

(6.161)

j = 1, 2, 3, 4,

определяются: · ее значение 111 2 75 2 и решение x*1, компонентами которого являются 1111 2 11 1211 2 115 и 1311 2 1411 2 01 1 3 3,4 · множества номеров Iб1 3 11,22 и Iнб 1 2 соответственно базисных и небазисных переменных. Поскольку значение 1211 2 115 является дробным, выполняется вторая ите$ рация метода Гомори (k = 2). Формулируется 2$я задача линейного программирования: · система уравнений (6.159) и (6.160) 1$й задачи заменяется эквивалент$ ной ей системой уравнений x1 + x4 = 1, 12 1

1 7 3 1 2 1 3 4 3 4 4 2

(6.162) (6.163)

(уравнение (6.162) является суммой уравнений (6.159) и (6.160), а уравне$ ние (6.163) — результат умножения обеих частей уравнения (6.160) на –7/4); 242

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

· на основе уравнения (6.163) строится ограничение%отсечение 1 1 1 1 13 1 14 2 15 3 1 4 4 2

(x5 — дополнительная переменная); · согласно правилу (6.153) и уравнению (6.163) определяются коэффици% енты при неизвестных целевой функции 12 1 22 1 39 2 22 2 3 23 3 39 2

3 1 7 75 11 7 4 2 2 2 2 3 22 3 2 23 2 24 3 2 4 3 4 4 2 4 4

Для 2%й задачи 75 11 7 3 x3 3 x4 4 max, 1 5 2 4 4 x 5 x1 6 x4 7 1, 5 5 1 7 3 x2 6 x3 3 x4 7 , 8 4 4 2 5 1 1 1 3 x3 3 x4 6 x5 7 3 (отсечение),5 4 4 2 5 5 xj 9 0, j 7 1, 2, 3, 4, 5,

f2 (x) 2

определяются ее значение 121 2 33 и решение x*2, компонентами которого являются 1112 2 01 1212 2 31 1312 2 11 1412 2 1 и 1512 2 0 (множествами номеров базисных и небазисных переменных этой задачи являются соответственно 2 3 11 5 1 б2 3 121 31 42 и 1 нб 1 2 ). Поскольку все компоненты решения x*2 целочисленные, работа метода Гомори прекращается. Значением и решением задачи (6.154)–(6.157) являются соответственно число f * = 33 и вектор x* с компонентами 111 2 01 121 2 31 131 2 12 В заключение этого раздела необходимо отметить, что если для реше% ния (k – 1)%й задачи применять симплекс%метод, то для формирования по% следующей k%й задачи необходимо конкретизировать только ограничение% отсечение (6.152) — все остальные подготовительные преобразования (k – 1)%й задачи, определяющие k%ю задачу, выполняются автоматически на этапе формирования итоговой симплекс%таблицы. 6.3.3. МЕТОД ВЕТВЕЙ И ГРАНИЦ

Этот итерационный метод можно применять для отыскания решений за% дач математического программирования, в которых имеется требование це% лочисленности или дискретности значений всех или некоторых заданных переменных. Идея метода ветвей и границ достаточно проста и основана на легко реа% лизуемом способе разделения множества допустимых точек некоторой спе% циальным образом формулируемой задачи математического программирова% ния на два подмножества, которые, во%первых, не пересекаются, во%вторых, не содержат требования целочисленности (дискретности) значений ни одной ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

243

переменной и, в%третьих, их объединение содержит все решения исходной задачи целочисленного (дискретного) программирования. Рассмотрим для определенности задачу

4 1 22 2 3456 1

(6.164)

ji(x) £ 0, i = 1, ..., m, xj — целочисленная переменная,

(6.165) (6.166)

213

j Î J,

где J Ì {1, ..., n} — заданное непустое множество номеров целочисленных переменных. Далее предполагается, что если к условиям (6.165) добавить условие ограниченности сверху и/или снизу значений любой переменной xj, j Î J, то задача максимизации функции F на множестве точек, удовлетворяющих этим условиям, будет иметь решение. Общая вычислительная схема метода ветвей и границ для решения зада% чи (6.164)–(6.166) такова. В начале каждой k%й итерации (k = 1, 2, ...) имеется некоторая нижняя оценка (граница) Fk значения F* исходной задачи (6.164)–(6.166) (Fk £ F*) и список L задач математического программирования, ни в одной из которых н е т т р е б о в а н и я целочисленности переменных. В частности, на первой итерации метода, если известна какая%либо допустимая в задаче (6.164)– (6.166) точка 1 1 то 11 1 1 1 21 23 а если такая точка неизвестна, то F1 = –¥; список задач L содержит единственную задачу (6.164), (6.165). На k%й итерации выполняются такие вычисления. Шаг 1. Если в списке L нет задач, то вычисления прекратить. Иначе ис% ключить из списка L любую задачу t. Шаг 2. Если в задаче t множество допустимых точек Dt пусто или значе% ние 211 этой задачи не превосходит Fk, то положить Fk + 1 = Fk, увеличить k на 1 и перейти к выполнению следующей итерации. Шаг 3. (Случай, когда 311 2 32 1 ) Если все компоненты решения x*t задачи t удовлетворяют условию целочисленности (6.166), то положить 21 2 211 1 32 21 3 311 1 увеличить k на 1 и перейти к выполнению следующей итерации. Шаг 4. (Случай, когда 311 2 32 и по крайней мере одна компонента векто% ра x*t не является целочисленной.) Выбрать любую переменную xj, j Î J, для которой значение 312 1 не является целочисленным. Добавить в список L две задачи, отличающиеся от задачи t только единст% венным дополнительным ограничением на переменную xj: в одной из этих задач требуется выполнение неравенства 3 2 2 1 312 1 23 а в другой — 3 2 2 1 312 1 2 313 где 1 312 1 2 — целая часть числа 312 1 1 Положить Fk + 1 = Fk, увеличить k на 1 и перейти к выполнению следую% щей итерации. Если описанный метод ветвей и границ на некоторой k%й итерации пре% кратит свою работу и окажется, что значение Fk конечно, то это значение и является значением F* задачи (6.164)–(6.166), а ее решением x* является най% денная точка 11 Рассмотрим два примера вычислений согласно методу ветвей и границ. 244

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Пример 6.22. Найти значение F* и решение x* Î R2 задачи целочисленно% го линейного программирования 2 1 12 1 5 11 2 3 12 3 3456 1

–x1 + x2 £ 1, x1 – 3x2 £ 3, x1 + x2 £ 4, xj ³ 0, j = 1, 2, xj — целое число, j = 1, 2.

(6.167) (6.168) (6.169) (6.170) (6.171) (6.172)

112 Так как точка 1 3 4 5 удовлетворяет всем ограничениям задачи (6.167)– 617 (6.172), нижней оценкой значения F* очевидно является 11 1 1 1 21 2 1 83 Итерация 1 (k = 1). Список задач L содержит одну задачу (6.167)–(6.171) — задачу 1 (t = 1). Решением этой задачи является точка x*1 с компонентами 1111 2 315 и 1 1 12 2 0151 а ее значение — число 111 2 1 1 211 2 2 19 (рис. 6.20). Так как первая компонента 1111 2 315 вектора x*1 дробная, в список за% дач L должны быть включены 2 задачи: задача 2, отличающаяся от задачи 1 только наличием дополнительного ограничения x1 £ 3, (6.173) и задача 3 — x1 ³ 4. (6.174)

Рис. 6.20

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

245

Рис. 6.21

Итерация 2 (k = 2). Перед этой итерацией нижняя оценка F2 значения F* задачи (6.167)– (6.172) не изменилась и равна 8. Список задач L содержит 2 задачи: задачу 2 и задачу 3. Пусть выбрана задача 2. Эта задача состоит в максимизации функции F на множестве, определяемом условиями (6.168)–(6.171) и (6.173). Решением задачи 2 является точка x*2 с компонентами 1112 2 3 и 1212 2 11 а ее значение — число 121 2 1 1 212 2 2 18 (рис. 6.21). Так как обе компоненты решения x*2 задачи 2 являются целыми числа% ми и 121 2 18 3 12 2 81 следует положить 13 2 18 1 21 2 212 2 Итерация 3 (k = 3). Перед этой итерацией нижняя оценка F3 значения F* задачи (6.167)– (6.172) равна 18. Кроме того, 13 1 1 1 21 2 1 18 для допустимой для этой задачи точки 1 1 имеющей компоненты 11 1 3 и 12 1 11 Список задач L содержит только задачу 3. Ограничения (6.169), (6.171) и (6.174) этой задачи п р о т и в о р е ч и в ы. Значит, у нее нет решений. Так как в списке L задач не осталось, метод ветвей и границ прекращает работу. Итак, значением и решением задач (6.167)–(6.172) являются соответст% 2 13 венно число F* = 18 и вектор 11 4 5 62 738 Пример 6.23. Найти значение F* и решение x* Î R3 задачи 2 1 12 1 3 11 2 3 12 2 13 13 3 3456

(6.175)

13 11 2 6 12 2 7 13 3 81

(6.176)

1

246

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

6 11 1 3 12 2 7 13 3 81

(6.177)

xj ³ 0, j = 1, 2, 3, xj — целое число, j = 1, 2, 3.

(6.178) (6.179)

Поскольку точка 1 1 0 удовлетворяет всем ограничениям задачи (6.175)– (6.179), нижней оценкой значения F* этой задачи очевидно является число 11 1 1 1 21 2 1 03 Итерация 1 (k = 1). Список задач L содержит только задачу (6.175)–(6.178) — задачу 1 (t = 1). Решением задачи 1 является точка x*1 с компонентами 1111 2 1211 2 8 3 и 1 1 13 2 01 а ее значение — число 111 2 1 1 211 2 2 163 Так как первая компонента 1111 2 8 3 вектора x*1 дробная, две задачи сле% дует ввести в список задач L: задачу 2, отличающуюся от задачи 1 только наличием дополнительного ограничения x1 £ 2,

(6.180)

x1 ³ 3.

(6.181)

и задачу 3 —

Итерация 2 (k = 2). Перед этой итерацией нижняя оценка F2 значения F* задачи (6.175)– (6.179) не изменилась и равна 0. Список задач L содержит 2 задачи: задачу 2 и задачу 3. Пусть выбрана задача 2. Эта задача состоит в максимизации функции F на множестве, определяемом условиями (6.176)–(6.178) и (6.180). Решением задачи 2 является точка x *2 с компонентами 1112 2 1212 2 21 1 2 13 2 2 7 1 а ее значение — число 121 2 1 1 212 2 2 110 73 Так как третья компонента 1312 вектора x*2 является дробным числом, еще две задачи следует включить в список задач L: задачу 4, отличающуюся от задачи 2 только наличием дополнительного ограничения x3 £ 0,

(6.182)

x3 ³ 1.

(6.183)

и задачу 5 — Итерация 3 (k = 3). Перед этой итерацией нижняя оценка F3 значения F* задачи (6.175)– (6.179) не изменилась и равна 0. Список задач L содержит 3 задачи: задачу 3, задачу 4 и задачу 5. Пусть выбрана задача 3. Эта задача состоит в максимизации функции F на множестве, определяемом условиями (6.176)–(6.178) и (6.181). Так как множество допустимых точек D3 задачи 3 пусто (условия (6.177), (6.178) и (6.181) противоречивы), следует перейти к следующей итерации. Итерация 4 (k = 4). Перед этой итерацией нижняя оценка F4 значения F* задачи (6.175)– (6.179) не изменилась и равна 0. Список задач L содержит 2 задачи: задачу 4 и задачу 5. ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

247

Пусть выбрана задача 4. Эта задача состоит в максимизации функции F на множестве, определяемом условиями (6.176)–(6.178), (6.180) и (6.182). Решением задачи 4 является вектор x*4 с целочисленными компонента% ми 1114 2 1214 2 21 1314 2 01 а ее значение — число 141 2 121 Поскольку при этом 141 2 14 1 следует положить 15 2 141 2 121 21 2 216 и перейти к выполнению сле% дующей итерации.

Рис. 6.22

248

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Итерация 5 (k = 5). Перед этой итерацией нижняя оценка F5 значения F* задачи (6.175)– (6.179) равна 12. Список задач L содержит только одну задачу 5: максимизи% ровать функцию F при условиях (6.176)–(6.178), (6.180) и (6.183). Решением задачи 5 является вектор x*5 с компонентами 1115 2 1215 2 01 1 5 13 2 8 7 1 а ее значение — число 151 2 104 7 1 Так как третья компонента 1315 вектора x*5 является дробным числом, еще две задачи следует включить в список задач L: задачу 6, отличающуюся от задачи 5 только наличием дополнительного ограничения x3 £ 1,

(6.184)

x3 ³ 2.

(6.185)

и задачу 7 —

Итерация 6 (k = 6). Перед этой итерацией нижняя оценка F6 значения F* задачи (6.175)– (6.179) не изменилась и равна 12. Список задач L содержит 2 задачи: зада% чу 6 и задачу 7. Пусть выбрана задача 6. Эта задача состоит в максимизации функции F на множестве, определяемом условиями (6.176)–(6.178), (6.180), (6.183) и (6.184). Решением задачи 6 является вектор x*6 с целочисленными компонента% ми 1116 2 1216 2 01 1316 2 11 а ее значение — число 161 2 131 Поскольку при этом 161 2 16 1 следует положить 17 2 161 2 131 21 2 216 и перейти к выполнению сле% дующей итерации. Итерация 7 (k = 7). Перед этой итерацией нижняя оценка F7 значения F* задачи (6.175)– (6.179) равна 13. Список задач L содержит только задачу 7: максимизиро% вать функцию F при условиях (6.176)–(6.178), (6.180), (6.183) и (6.185). Поскольку множество допустимых точек D7 задачи 7 пусто (докажите это) и в списке L уже не осталось задач, работа метода должна быть прекращена. Итак, решением задачи (6.175)–(6.179) является вектор 11 2 1 с компо% нентами 111 2 121 2 01 1 2 116 а ее значение — число 1 1 2 17 2 131 На рисунке 6.22 представлена последовательность выполнения вычисле% ний по отысканию решения задачи (6.175)–(6.179) согласно методу ветвей и границ. Наглядно выраженное разветвление этой последовательности собст% венно и обусловливает появление слова «ветвей» в его названии.

6.4. ЗАДАЧИ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ Динамическое программирование является специальным методом опти% мизации решений, предназначенным для особых многошаговых (т. е. много этапных) операций. Такие операции представляют собой некоторые прохо% дящие во времени процессы, которые для удобства исследования искусст% венным образом разделяют на ряд шагов (этапов). ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

249

На каждом шаге соответствующей операции принимается некоторое ре% шение, от которого зависит эффективность как текущего шага, так и всей операции. Общее решение по управлению операцией состоит из последова% тельности элементарных, «п о ш а г о в ы х» решений (у п р а в л е н и й). Рассмотрим пример операции такого типа. Пусть на последующие m лет планируется деятельность некоторых промышленных предприятий, в раз% витие которых предполагается вложить некоторые количества заданных ре% сурсов. В процессе работы этих предприятий имеющиеся ресурсы расходу% ются. Кроме того, каждое предприятие ежегодно приносит доход, величина которого зависит от принятого распределения ресурсами между всеми пред% приятиями. В начале каждого хозяйственного года возможный остаток ре% сурсов опять перераспределяется между предприятиями. Итак, возникает естественный вопрос: как именно следует распределять имеющиеся ресурсы между предприятиями в начале каждого года, чтобы общий доход от работы предприятий на протяжении последующих m лет был бы максимальным? Именно такого типа задачи относят к задачам динамического програм мирования (ДП). 6.4.1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ ДП

Формализованное описание задачи динамического программирования состоит в следующем. Пусть в начале t%го года каждому j%му предприятию j = 1, 2, ..., k, выде% лено xjt условных единиц некоторых ресурсов. Вектор xt Î Rk с компонента% ми x1t , x2t ,..., xkt , характеризует принятое распределение имеющихся ресур% сов между всеми k предприятиями в t%м году. Решение операции в целом составляет совокупность всех пошаговых ре шений (управлений) x = (x1, x2, ..., xm), эффективность которого оценивается аддитивным критерием m

F (x) 2 3 Qt , t 11

(6.186)

где Qt — общий доход всех предприятий в конце t%го года. Итак, не рассматривая пока вопрос о количестве ресурсов, распределяе% мых между предприятиями в начале каждого хозяйственного года, задача состоит в отыскании решения x* Î Rkm, максимизирующего критерий (6.186): F (x) 1 max. x

(6.187)

Эту оптимизационную задачу можно решать разными способами: или сразу искать решение x*, или постепенно, пошагово, строить этот вектор, на каждом этапе расчетов оптимизируя только один шаг. Обычно второй способ решения задачи (6.187) оказывается проще первого способа, особенно при большом числе шагов m. 250

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Идея п о ш а г о в о й оптимизации операции определяет сущность мето% да динамического программирования. На первый взгляд эта идея представляется очевидной и очень простой. Действительно, если сложно оптимизировать операцию в целом (например, из%за того, что ее определяют большое число неизвестных параметров), то ее следует разбить на ряд шагов; каждый такой шаг рассматривать как отдель% ную «маленькую» операцию, которую оптимизировать сравнительно легче. Далее для каждого шага нужно будет только отыскать такое решение, при котором эффективность этого шага максимальна. Однако такая интерпретация основного принципа динамического про% граммирования неправильна! В этом принципе не предполагается, что каж% дый шаг операции оптимизируется отдельно, независимо от других шагов; что, выбирая управление для данного шага операции, можно не учитывать все остальные шаги. Наоборот, пошаговое управление следует выбирать с учетом всех его будущих последствий, учитывать перспективу. Какой смысл в выборе наилучшего решения на данном шаге, если в дальнейшем это поме% шает получить более существенные доходы? Например, пусть планируется работа только двух предприятий, на одном из которых производятся средства потребления, а на другом — средства про% изводства — средства, используемые в процессе производства средств потреб% ления. Задача состоит в том, чтобы за m лет произвести максимально воз% можное количество средств потребления. При планировании капиталовложений на первый год, принимая во вни% мание только интересы этого года, следовало бы все ресурсы вложить в пер% вое предприятие и сразу же в этом году обеспечить максимальный прирост средств потребления. Очевидно, что такое решение неправильное: учитывая будущее, следова% ло бы выделить ресурсы и для производства средств производства. Это, есте% ственно, уменьшило бы количество средств потребления, произведенных в первый год, однако обеспечило бы их производство в последующие годы. Итак, для каждого шага многошаговой операции необходимо принимать такое решение, для которого учитываются его последствия на последую щих шагах. Однако у этого правила есть исключение. Не учитывать будущее в рас% сматриваемых задачах можно только на последнем шаге — после этого шага других шагов уже нет. Этот единственный шаг можно планировать так, чтобы он имел наибольший эффект. Определив оптимальное управление (решение) x*m на последнем шаге, можно его «достроить» оптимальным управлением x*m – 1 предпоследнего шага, его, в свою очередь, предпред% последним и т. д. Итак, п р о ц е с с д и н а м и ч е с к о г о п р о г р а м м и р о в а н и я р а з % в и в а е т с я о т к о н ц а к н а ч а л у: прежде всего планируется последний, m%й шаг. Однако как именно планировать этот шаг, если неизвестно, как закончился предпоследний (m – 1)%й шаг? Очевидно, что необходимо делать разные предположения о том, как закончится предпоследний шаг, и для каждого из этих предположений о «состоянии системы» найти такое ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

251

решение (управление), при котором доход на последнем шаге был бы мак% симальным. После решения указанной задачи будет найдено условное управ% ление на m%м шаге, т. е. решение, которое следует принимать при условии, что (m – 1)%й шаг закончится некоторым известным образом. Пусть соответствующие расчеты уже проведены и для каждого результа% та (m – 1)%го шага известно условное управление на m%м шаге и соответст% вующий этому управлению у с л о в н ы й в ы и г р ы ш. Теперь можно опти% мизировать решение на предпоследнем (m – 1)%м шаге: необходимо конкрети% зировать все возможные предположения о завершении предпредпоследнего, (m – 2)%го, шага и для каждого из этих предположений найти такое управле% ние для (m – 1)%го шага, для которого выигрыш за последние два шага (послед% ний шаг уже оптимизирован!) был бы максимальным. Затем перейти к оты% сканию оптимального управления на (m – 2)%м шаге и т. д. Итак, на каждом шаге отыскивается управление, обеспечивающее оп% тимальное продолжение процесса от состояния системы, достигнутого на данный момент. Этот принцип выбора управления называют принципом оптимальности. Управление, обеспечивающее оптимальное продолжение процесса от со% стояния системы, достигнутого на данный момент, называют условным оп тимальным управлением (решением) на данном шаге. При известном на каждом шаге условном оптимальном управлении (если известно, что следует делать при любом состоянии системы в начале каждого шага) можно определить уже н е у с л о в н о е, а о п т и м а л ь н о е управление (решение) на каждом шаге. Действительно, если известно некоторое начальное состояние системы S0, то на первом шаге следует применять условное оптимальное управление, разработанное именно для этого ее состояния. Вследствие этого управления система после первого шага перейдет в другое состояние S1, для которого уже известно условное оптимальное управление для второго шага, и т. д. Та% ким способом будет найдено оптимальное управления процессом, обеспечи% вающее максимально возможное значение W*. Итак, при оптимизации управления методом динамического программи% рования многошаговый процесс «проходят» дважды: · первый раз — о т к о н ц а к н а ч а л у, в результате чего определяются условные оптимальные управления для каждого шага и оптимальный (условный) выигрыш для всех шагов, начиная от данного шага и до конца процесса; · второй раз — о т н а ч а л а д о к о н ц а, в результате чего конкрети% зируются оптимальные управления для каждого шага. Для общей задачи динамического программирования рассмотрим более подробно указанные правила построения оптимальных управлений. Поста% новка общей задачи ДП и метод ее решения будут представлены в терминах с и м в о л и ч е с к и х, а не расчетных формул. В таких формулах отражается наличие некоторой имеющейся связи между параметрами математической модели или вычислительного метода. Применение символических формул способствует пониманию сущности исследуемого математического объекта 252

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

или метода, не вникая при этом во второстепенные, в некотором смысле, подробности задания расчетных формул. Рассмотрим такую задачу. Пусть некоторая экономическая (социальная, техническая или какая%либо другая) система S со временем изменяет свое состояние S. При этом под состоянием S системы S понимаются значения некоторой совокупности параметров (показателей, фазовых координат сис темы), применяемых для описания этой системы. Например, если систе% му S составляет некоторое множество промышленных предприятий, то ее состояние S может характеризоваться такими показателями: основной и обо% ротный фонды каждого предприятия, количество произведенной продукции, часть продукции от общего объема произведенной продукции, расходуемой каждым предприятием, инвестиции в развитие предприятий и т. п. Пусть имеется возможность управлять процессами, проходящими в сис% теме, т. е. некоторым образом влиять на ее состояние. Такую систему S назы% вают управляемой системой, а соответствующий способ воздействия на нее — управлением U. Здесь и в дальнейшем буквой U обозначается не значение какой%либо одной величины, а некоторая совокупность величин, векторов или функций, определяющих управление. Пусть заинтересованность управляющей стороны в процессах, проходя% щих в системе S, выражена в желании максимально увеличить значение некоторой функции W путем выбора соответствующего управления U. Таким образом, цель управляющей стороны состоит в отыскании такого возможного управления U*, которое доставило бы максимальное значение W* º W(U*) функции («выигрыша») W, т. е. в решении задачи W (U ) 1 max. U

(6.188)

Задача (6.188) описана еще не полностью. Необходимо еще: · указать начальное состояние S0, в котором находится система S в начале управления ею; · указать конечное состояние ST системы (состояние, в котором должна находиться система S после прекращения управления ею); · формализовать имеющийся «ресурс управления»: конкретизировать «множество допустимых значений» U и характер его «расходования» в процессе управления; · конкретизировать «отклик» (реакцию) системы S на воздействие управ% ления U — указать изменение текущего состояния S системы под воздей% ствием управления U. Начальное и/или конечное состояние системы могут быть заданы «неточ% но», как некоторые множества S10 и S1T , которым принадлежат соответствен% но S0 и ST. В таких случаях под задачей (6.188) понимают задачу отыскания такого (оптимального) управления U*, под воздействием которого некоторая точка S фазового пространства переместится из начального множества S10 в конечное множество S1T так, чтобы при этом выигрыш W был бы максимальным. Разумеется, задачу (6.188) можно решать разными способами, выбирае% мыми в зависимости от присущих ей свойств. Общий же и характерный для динамического программирования подход состоит в следующем: ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

253

процесс перемещения точки S в фазовом пространстве из множества S10 в множество S1T разделяется на некоторое число шагов (этапов) и уже затем проводится пошаговая оптимизация управления и выигрыша. Итак, процедура построения оптимального управления методом динамиче% ского программирования включает две стадии: п р е д в а р и т е л ь н у ю и о к о н % ч а т е л ь н у ю. На предварительной стадии для каждого шага вычисляются: · условное оптимальное управление; · условный оптимальный выигрыш на данном и на всех последующих шагах. При этом условное оптимальное управление и условный оптимальный выигрыш на данном и на всех последующих шагах зависят от состояния системы, в котором она оказалась в результате предшествующих шагов. На окончательной стадии для каждого шага определяется окончатель% ное (безусловное) оптимальное управление. Предварительная (условная) оптимизация проводится пошагово в обрат% ном порядке: от последнего шага к первому; окончательная (безусловная) оптимизация — тоже по шагам, однако в естественном порядке: от первого шага до последнего. Из этих двух стадий оптимизации более сложной и трудоемкой является первая. После ее завершения выполнение второй стадии трудностей не вызы% вает: остается лишь «вспомнить» рекомендации, полученные на первой стадии. Суть метода динамического программирования выражена в следующем принципе оптимальности: для любого состояния S, в котором оказалась система S вследствие некоторого оказываемого на нее воздействия, управление на эту сис% тему на ближайшем шаге должно выбираться таким, чтобы оно, вме% сте с оптимальным управлением на всех последующих шагах, обеспе% чивало бы максимальный выигрыш на всех последующих шагах, включая данный. Итак, метод динамического программирования состоит в следующем. Пусть Wi(S) — условный оптимальный выигрыш, который будет полу% чен на всех шагах, начиная от i%го шага и до последнего (этот выигрыш будет получен при оптимальном управлении на всех указанных шагах; он равен максимальному выигрышу, который можно получить на всех этих шагах вместе, если перед их началом система S находится в состоянии S). Пусть ui(S) — условное оптимальное управление на i%м шаге, при кото% ром вместе с оптимальным управлением на всех последующих шагах обеспе% чивается максимальный выигрыш на всех этих шагах, включая i%й шаг. Определим Wi(S) и ui(S) для каждого шага i = 1, 2, ..., m. Рассмотрим i%й шаг управления. Пусть вследствие предыдущих (i – 1)%го шагов система оказалась в состоя% нии S и необходимо определить некоторое управление Ui на i%м шаге. При при% менении этого управления на i%м шаге будет получен некоторый выигрыш wi = wi(S, Ui), величина которого зависит от состояния S системы и управления Ui. 254

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Кроме того, будет получен и некоторый выигрыш на всех последующих шагах, величина которого, согласно принципу оптимальности, должна быть максимальной. Однако для подсчета этого выигрыша необходимо знать со% стояние системы перед последующим (i + 1)%м шагом. Под воздействием управления Ui на i%м шаге система из состояния S, в котором она находилась перед этим шагом, перейдет в некоторое новое со% стояние S¢. Естественно, это новое состояние зависит как от S, так и от Ui, т. е. S¢ = ji(S, Ui).

(6.189)

Подсчитаем выигрыш, который будет получен на всех шагах, начиная с i%го, если на i%м шаге будет применено управление Ui, а на всех последующих шагах, от (i+1)%го до m%го, — оптимальное. Очевидно, этот выигрыш будет равен сумме wi и оптимального выигрыша Wi + 1(S¢) на всех последующих шагах, начиная с (i+1)%го, определяемого состоянием S¢ системы: wi(S, Ui) + Wi+1(S¢), или, учитывая (6.189), wi(S, Ui) + Wi+1(ji(S, Ui)).

(6.190)

Теперь, согласно принципу оптимальности, управление Ui должно быть равно ui(S), т. е. максимизировать значение (6.190). Следовательно, Wi (S) 6 max3wi (S, Ui ) 5 Wi51 1 7i (S, Ui ) 24 Ui

(6.191)

и любое решение задачи (6.191) принимается в качестве ui(S). Следует отметить, что в основном функциональном уравнении (6.191) ди намического программирования (уравнении Беллмана1) функции wi( × ) и ji( × ) известны. Неизвестными при i + 1 < m являются только функции Wi + 1( × ) и Wi( × ). Значение Wm(S) (условный оптимальный выигрыш на последнем шаге) подсчитать просто. Так как после последнего шага нет никакого другого шага, необходимо найти максимальный выигрыш на последнем шаге: Wm (S) 1 max wm (S, Um ). (6.192) Um

Следует отметить, что задача (6.192) решается только по тем управле% ниям Um, которые переводят состояние системы S в заданное множество S1T , т. е. для этих управлений должно выполняться включение 1m (S, Um ) 2 S1T

(6.193)

(тут и далее предполагается, что имеющегося «управленческого ресурса» дос% таточно для перевода состояния системы из множества S10 в множество S1T ). Каждое решение задачи (6.192) (управление Um) удовлетворяет требова% нию (6.193), доставляет максимальное значение функции wm(S, Um) и явля% ется условным оптимальным управлением um(S) на последнем шаге. Теперь уже можно построить всю цепочку условных оптимальных управ% лений. Действительно, при известном Wm(S) согласно общей формуле (6.191), 1

Ричард Беллман (Richard Bellman, 1920–1984) — американский математик.

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

255

в которой полагается i + 1 = m, можно найти функцию Wm–1(S) и соответст% вующее условное оптимальное управление um–1(S); затем найти Wm–2(S) и um–2(S) и т. д. до последнего от конца (первого) шага, для которого будут найдены функции W1(S) и u1(S). Функция W1(S) является условным опти% мальным выигрышем за всю операцию, т. е. на всех ее шагах, начиная с первого и до последнего (если первый шаг начинается в состоянии S сис% темы S). Таким образом, предварительная оптимизация завершена, поскольку найдены условный оптимальный выигрыш и условное оптимальное управ% ление для каждого шага. Теперь уже можно перейти ко второй стадии оптимизации — к отысканию 1 ). б е з у с л о в н о г о о п т и м а л ь н о г о у п р а в л е н и я U 1 2 (U11, U21, ..., Um Первый шаг. Пусть известно начальное состояние S0 системы S. Подставим это состояние S0 в формулу для условного оптимального выигрыша W1(S). По% лучим W* = W1(S0). Оптимальное управление U11 на первом шаге вычисляется по формуле U11 2 u1 (S0 ).

Затем, для известных начального состояния S0 системы S и управления U11 можно найти состояние S11 системы п о с л е п е р в о г о ш а г а: S11 2 31 (S0 , U11 ).

При известном состоянии S11 системы можно найти оптимальное управ% ление U21 2 u2 (S11 ) д л я в т о р о г о ш а г а, затем вычислить S21 2 32 (S11, U21 ) и т. д. Таким образом, по цепочке 1 1 1 S0 3 u1 (S0 ) 3 S11 3 u2 (S11 ) 3 ... 3 Sm 21 3 um (Sm 21 ) 3 Sm

(6.194)

можно последовательно определить все пошаговые оптимальные управле% ния и, следовательно, оптимальное управление U* всей операции 3 2, U 3 5 u (S ), U 3 5 u (S3 ), i 5 2,..., m, U 3 5 1U13, U23,..., Um 1 1 0 i i i 41

(6.195)

1 Sm

и конечное состояние системы, если оно не было конкретизировано (за% дано равным ST). 1 системы должно принадлежать множеству 1 Разумеется, состояние Sm ST , 1 выбирается таким, чтобы вы% поскольку на последнем шаге управление Um полнялось включение 1 3 4 (S1 , U 1 ) 5 S 1T . Sm m m 21 m Если же точное начальное состояние S0 системы неизвестно, а известно, что оно принадлежит множеству S10 (S0 1 S10 ), то можно, например, найти такое начальное состояние S01 системы S, для которого условный оптималь% ный выигрыш за все шаги является максимальным: W 1 3 max W1 (S). 1 S2S0

256

(6.196)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Затем любое решение этой задачи можно принять в качестве начального состояния S0 2 S01 системы и по цепочке (6.194) вычислить пошаговые оп% тимальные управления (6.195). Итак, при решении каждой задачи динамического программирования рекомендуется придерживаться такого стандартного порядка действий. 1. Выбрать параметры, характеризующие состояние системы (фазовые переменные), и способ разделения операции на шаги (этапы). 2. Разработать правило (процедуру) подсчета выигрыша wi на i%м шаге, зависящем от состояния S системы в начале этого шага и управления Ui: wi = wi(S, Ui). 3. Разработать для каждого i%го шага правило вычисления функции ji, определяющей переход состояния системы от S к S¢ под воздействием управ% ления Ui: S¢ = ji(S, Ui). 4. Конкретизировать способ вычисления значения функции Wi(S) при известной функции Wi + 1(S) — способ отыскания решения задачи (6.191). 5. Согласно правилам (6.192) и (6.193) определить функцию Wm(S) (услов% ный оптимальный выигрыш) для последнего шага. 6. Для известных функций Wm(S), {wi(S, Ui)}, {ji(S, Ui)} согласно функ% циональному уравнению (6.191) динамического программирования после% довательно найти функции Wm–1(S), Wm–2(S), ..., W1(S) и соответствующие условные оптимальные управления um – 1(S), um – 2(S), ..., u1(S). 7. Если задано начальное состояние S0, то найти оптимальный выиг% рыш W* = W1(S0) и затем уже — безусловные оптимальные управления {Ui1 } (см. цепочку действий (6.194) и соотношения (6.195)). 8. Если начальное состояние S0 системы не конкретизировано, но извест% но, что оно может быть выбрано произвольным образом из множества S10 , то в качестве S0 принять решение S01 задачи (6.196) и затем уже выполнить пред% писание предыдущего п. 7. 6.4.2. ЗАДАЧА О РАСПРЕДЕЛЕНИИ РЕСУРСОВ

Пусть некоторые ресурсы (деньги, сырье), имеющиеся в количестве S0 условных единиц, на протяжении последующих m лет необходимо распреде% лять между двумя производственными предприятиями — предприятием I и предприятием II. Пусть на каждом из предприятий полученный годовой доход зависит толь% ко от количества ресурсов, вложенных в производство именно на этом пред% приятии: если в начале года в предприятие I вложить X единиц ресурсов, то в конце года полученный доход составит f1(X) условных единиц. При этом ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

257

некоторая часть ресурсов, вложенных в предприятие I, будет израсходована и в конце этого года их останется j1(X) единиц (0 £ j1(X) < X). Аналогично, ресурсы в количестве Y единиц, вложенные в предприятие II, позволяют получить доход f2(Y) в конце года, а их количество уменьшится до величины j2(Y) (0 £ j2(Y) < Y). В конце каждого года ресурсы, оставшиеся на обоих предприятиях, не% обходимо опять распределить между этими предприятиями. В производстве должны использоваться все имеющиеся ресурсы, причем извне дополнительные ресурсы на предприятия не поступают. Полученные на предприятиях доходы накапливаются отдельно и не вкла% дываются для целей производства на этих предприятиях. Необходимо определить такой способ управления ресурсами (какие их количества на какие предприятия и в какие годы вкладывать), чтобы об% щий доход, полученный на обоих предприятиях за все m лет, был бы наи% большим. Для отыскания решения этой типичной задачи динамического програм% мирования естественно воспользоваться методом, описанным в разделе 6.4.1. 1. В рассматриваемом случае систему S составляют указанные два пред% приятия. Эту систему характеризуют функции доходов f1, f2, функции рас% ходов j1, j2 и количества ресурсов, вкладываемых в каждое предприятие. Естественным этапом (шагом) процесса (операции) является хозяйственный год. При управлении системой вложения ресурсов в предприятия изменяют% ся по двум причинам: · ввиду перераспределения ресурсов между предприятиями в начале каж% дого года; · из%за использования ресурсов на нужды производства. Под управлением Ui на i%м этапе естественно понимать количества Xi и Yi ресурсов, вкладываемых соответственно в I и II предприятия на этом этапе. Управление операцией U состоит из совокупности всех пошаговых управлений U = (U1, U2, ..., Um). Итак, необходимо найти такое (оптимальное) управление u = (u1, u2, ..., um), при котором общий доход m

W 1 2 wi i 11

обоих предприятий через m лет был бы максимально возможным. 2. Состояние системы перед i%м этапом (шагом) характеризуется одним параметром S — количеством ресурсов, остающихся после окончания преды% дущего (i – 1)%го этапа. Управление Yi на i%м шаге состоит в выделении для предприятия I ресурсов в количестве Xi единиц; при этом объем вложений Yi в предприятие II определится автоматически — он будет равен остатку имею% щихся ресурсов: Yi = S – Xi. 258

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Выигрыш (доход) на i%м шаге равен wi(S, Xi) = f1(Xi) + f2(S – Xi). 3. При воздействии управления Ui на i%м шаге система из состояния S переходит в состояние S¢ S¢ = j1(Xi) + j2(S – Xi). 4. Основное функциональное уравнение имеет вид

Wi (S) 7 max 1f1 ( Xi ) 5 f2 (S 8 Xi ) 5Wi 51 2 91 ( Xi ) 5 92 (S 8 Xi ) 34 06 Xi 6 S

(6.197)

(разумеется, количество Xi ресурсов, вкладываемых в предприятие I, не мо% жет быть отрицательным и превышать имеющееся их количество S). Условным оптимальным управлением xi(S) на i%м шаге является любое значение Xi отрезка [0; S], доставляющее максимальное значение функции, записанной в фигурных скобках (6.197). 5. Условный оптимальный выигрыш на последнем шаге равен

Wm (S) 4 max 1f1 ( Xm ) 5 f2 (S 6 Xm )2, 03 Xm 3S

и ему соответствует условное оптимальное управление xm(S) — значение Xm Î [0; S], доставляющее максимальное значение функции f1(Xm) + f2(S – Xm). 6. Для известной функции Wm(S) по формуле (6.197) определяются услов% ные оптимальные выигрыши на предпоследнем, далее — на предпредпоследнем и т. д. шагах

4f1 (Xm51 ) 8 f2 (S 5 Xm51 ) 8 Wm 191 (Xm51 ) 8 92 (S 5 Xm51 )23; Wm 52 (S) 7 max 4f1 ( Xm 52 ) 8 f2 (S 5 Xm 52 ) 8 Wm 51 1 91 ( Xm 52 ) 8 92 (S 5 Xm 52 ) 23; 06 X 6S Wm 51 (S) 7 max

06 Xm51 6 S

m52 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . W1 (S) 7 max f1 ( X1 ) 8 f2 (S 5 X1 ) 8 W2 1 91 ( X1 ) 8 92 (S 5 X1 ) 23 06 X1 6 S

4

и соответствующие этим выигрышам условные оптимальные управления: xm–1(S),

xm–2(S),

...,

x1(S).

7. Так как начальное состояние S0 (начальное количество ресурсов) сис% темы задано, максимальный доход (оптимальный выигрыш) равен W* = W1(S0). Оптимальное управление на первом шаге (количество ресурсов, направ% ляемых в первый год на предприятие I) — это x1 = x1(S0).

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

259

Состояние системы после первого этапа (года):

S1* 1 21 (x1 ) 3 22 (S0 4 x1 ). Оптимальное управление на втором шаге (этапе):

x2 1 x2 (S1* ) и т. д. по цепочке. Состояние системы после i шагов:

Si* 2 31 (xi ) 4 32 (Si*11 1 xi ). Оптимальное управление на i%м шаге:

xi 2 xi (Si*11 ) и т. д., до самого последнего шага, по цепочке: * ) 2 S* . S0 2 x1 (S0 ) 2 S1* 2 x2 (S1* ) 2 ... 2 xm (Sm 11 m * — это количество ресурсов, остающихся после проведения Величина Sm (оптимального) управления на последнем шаге. Количества ресурсов, кото% рые для получения максимально возможного дохода должны ежегодно вкла% дываться в предприятие I на протяжении m последовательных лет, состав% ляют соответствующие компоненты вектора

x = (x1, x2, ..., xm). Понятно, что при этом в предприятие II будут вкладываться ресурсы, количества которых определяются значениями {yi}: * y 2 ( y1, y2 , ..., ym ) 3 (S0 1 x1, S1* 1 x2 , ..., Sm 11 1 xm ).

6.5. ЗАДАЧИ СТОХАСТИЧЕСКОГО ПРОГРАММИРОВАНИЯ Не всегда для построения математической модели исследуемой операции имеется вся необходимая информация. Для некоторых операций значения нескольких или даже всех параметров, применяемых для формализованно% го описания этих операций, принципиально не могут быть конкретизирова% ны. Такие параметры называют неопределенными. В одних случаях имеющийся опыт изучения типичных операций и соб% ранные статистические данные позволяют установить вероятностные харак% теристики неопределенных параметров исследуемой операции. В таких слу% чаях говорят, что поиск приемлемого решения, конкретизирующего способ проведения этой операции, проводится в условиях риска (относительно всех неопределенных параметров математической модели операции известны их все необходимые вероятностные характеристики). 260

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

В других случаях может не быть оснований для каких%либо суждений о статистических свойствах неопределенных параметров операции. В частно% сти, значения таких параметров могут определяться в результате сознатель% ных действий других лиц, цели которых о результатах проведения данной операции неизвестны. Тогда говорят, что поиск приемлемого решения про% водится в условиях неопределенности. Задачи математического программирования, в постановках которых при% меняются числовые параметры с неопределенными значениями, называют задачами стохастического программирования (СП). В этом разделе рассматриваются несколько постановок задач стохастиче% ского программирования и способы их исследования. Чтобы избежать неприн% ципиальных подробностей при описании общих постановок таких задач, рассматриваются только задачи, которые при фиксированных значениях не% определенных параметров являются задачами линейного программирования. Этого вполне достаточно для получения представления о задачах стохасти% ческого программирования, понимания как сути применяемых при их ис% следовании терминов, так и основных методов сведения таких задач к обыч% ным (детерминированным) задачам математического программирования. 6.5.1. ОБЩАЯ КЛАССИФИКАЦИЯ ЗАДАЧ СП

Пусть в задаче линейного программирования 1 21 1 2 3 2341

(6.198)

1

Ax £ b,

(6.199)

x ³ 0,

(6.200)

x, c — векторы евклидова пространства 2 1 1 3 2 211 23 b Î Rm, A — m´n%матрица. Пусть сначала все компоненты матрицы A и вектора b известны, а компо% ненты вектора c — неизвестны (неопределенны), т. е. их значения зависят от реализации некоторой случайной величины или набора случайных величин, для определенности x Î X (c = c(x)). Первый вопрос, возникающий при таком предположении, касается вы% бора критериальной функции, применяемой для сравнения между собой раз% ных решений, конкретизирующих проведение соответствующей операции, — разных решений системы неравенств (6.199), (6.200). Может оказаться, что для разных решений x и y этих систем неравенств и разных x¢, x² Î X :

< (т. е. решение x лучше решения y) и < (решение y лучше решения x). ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

261

Если можно вычислить математическое ожидание1 nj 1 Ecj каждой ком% поненты случайного вектора c, j = 1, ..., n, то в качестве минимизируемой функции задачи обычно принимают 1 1 1 2 21 где 1 — вектор с компонента% ми {nj }. Если матрица A и/или вектор b в условиях (6.199) неопределенны, то возникает вопрос об определении допустимых точек задачи (6.198)–(6.200). Действительно, один и тот же вектор x с положительными компонента% ми при одной реализации матрицы A и вектора b может удовлетворять усло% вию (6.199), а при другой — нет. Исходную задачу стохастического программирования (6.198)–(6.200) раз% ными способами можно приводить к детерминированным задачам матема% тического программирования. Все эти задачи в основном отличаются между собой определениями допустимых и оптимальных точек. Выбор конкретно% го способа приведения задачи СП к детерминированной постановке сущест% венно зависит от особенностей исследуемой операции. В зависимости от конкретного содержания задачи выбора решения в условиях неопределенности или риска допустимой точкой задачи принято считать некоторый детерминированный или случайный вектор. В каждом из этих случаев возможны разные способы определения допустимой точки. Собственно эти способы и положены в основу одной из возможных класси% фикаций задач стохастического программирования. 1

Напомним несколько характеристик случайных величин, необходимых в дальнейшем. Если x — дискретная случайная величина, принимающая с вероятностью Rx(z) действи% тельное значение z, то ее математическим ожиданием называют число E1 3

4 1P1 1 1 2

122

(при вычислении суммы естественно учитывать лишь слагаемые, где Rx(z) > 0). Если x — непрерывная случайная величина с плотностью распределения r x(z), то ее мате матическое ожидание Ex вычисляется по формуле E2 4

1

6 152 1 1 2213

31

1

Для непрерывной случайной величины x определенный интеграл 3 21 1 3 243 равен вероятно% 2

сти того, что случайная величина x принимает значение в границах отрезка [v; w]: 1

P12 4 3 4 12 5 7 63 1 3 2433 2

Если j — некоторая функция одной переменной и x — случайная величина, то j(x) — также случайная величина, математическое ожидание Ej(x) которой в случае дискретной случай% ной величины x вычисляется по формуле E3112 4

5 31 12P1 1 123

122

а в случае непрерывной — по формуле E2 4

1

7 51 1262 1 12213

31

Дисперсией Dx случайной величины x называют действительное число, вычисляемое по формуле Dx º E(x – Ex)2.

262

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1. Рассмотрим сначала случай, когда под допустимой точкой задачи по% нимают детерминированный вектор. 1.1. Если для некоторых матрицы A и вектора b невыполнение по край% ней мере одного неравенства в векторном неравенстве (6.199) приводит к ка% тастрофическим или просто нежелательным последствиям, то допустимым в задаче вектором неизвестных (допустимой точкой) обычно считают такой вектор x с положительными компонентами, что A(x)x £ b(x)

" x Î X.

(6.199¢)

Такой способ определения допустимой точки задачи стохастического про% граммирования является достаточно жестким, и поэтому соответствующие постановки таких задач называют жесткими. При жесткой постановке задачи СП решение, конкретизирующее способ проведения соответствующей операции (решение задачи), принимается один раз. Никакие его коррекции при получении дополнительных сведений о реа% лизации A(x) и/или b(x) не проводятся. По этой причине задачи СП в жест% кой постановке называют одноэтапными задачами. Следует отметить, что при жестком требовании (6.199¢) совсем не учиты% вается вероятность реализации x — неравенство A(x)x £ b(x)

(6.199²)

должно выполняться при значениях x, вероятность которых как велика, так и мала. При этом совокупность требований (6.199¢) может оказаться про% тиворечивой — множество векторов x Î Rn, удовлетворяющих этим требо% ваниям, пусто. 1.2. При нежесткой постановке процесс отыскания решения задачи СП состоит из двух этапов. На первом этапе выбирается вектор x Î Rn, имеющий неотрицательные компоненты и не обязательно удовлетворяющий требова% ниям (6.199¢). На втором этапе — после реализации x в множестве X — сна% чала определяются матрица A(x), вектор b(x) и вычисляется вектор невязок Выполняются следующие утверждения: 1) Dx ³ 0; 2) Dx = Ex2 – (Ex)2; для произвольного фиксированного действительного числа g: 3) E(gx) = gEx; 4) D(gx) = g2Dx; для произвольного п о л о ж и т е л ь н о г о числа e: E32 5) P1 3 4 52 6 2 — неравенство Чебышева2 (P{|x| > e} — вероятность того, что абсолютная 5 величина случайной величины x превосходит e);

D3 1 62 для произвольных случайных величин x и z: 7) E(x + z) = Ex + Ez, а если эти случайные величины независимы, то 8) E(x × z) = Ex × Ez; 9) D(x + z) = Dx + Dz. 2 Пафнутий Львович Чебышев (1821–1894) — русский математик и механик.

6) P1 3 4 E3 5 62 7 1 4

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

263

h = A(x)x – b(x), а затем, в зависимости от компонент вектора h, вектор x не% которым образом корректируется. Эта возможность корректировать вектор x устраняет проблему определения допустимой точки задачи. Задачи стохастического программирования в нежесткой постановке на% зывают двухэтапными задачами. В качестве целевой (минимизируемой) функции двухэтапной задачи СП обычно принимают математическое ожидание суммы значения целевой функ% ции исходной задачи и некоторого штрафа за невязки — за несоответствие принятого решения условиям (ограничениям) исходной задачи. 1.3. В некоторых случаях определение допустимых точек задачи стоха% стического программирования формулируют в терминах выполнения в е р о % я т н о с т н ы х н е р а в е н с т в. Пусть заданы m фиксированных положительных чисел, каждое из кото% рых не превосходит 1. Точку x Î Rn с неотрицательными компонентами {xj} называют допусти мой в задаче СП, если 1 42 43 P 9 423 152 5 3 6 62 152 7 72 4 3 11 4

8 2 1 1 3 4443 83

(6.201)

где P{ × } — вероятность некоторого события; {aij(x)} — элементы матрицы A(x)); bi(x) — i%я компонента вектора b(x), i = 1, ..., m. Итак, если каждая компонента векторного неравенства (6.199) выполня% ется с вероятностью, не меньшей заданной вероятности p, то точку x Î Rn с неотрицательными компонентами называют допустимой в задаче стохасти% ческого программирования в вероятностном смысле. При выборе конкретных значений вероятностей {pi} обычно руководству% ются такими соображениями: чем менее желательно невыполнение i%го ог% раничения (или, что то же самое, чем более желательно выполнение i%го ог% раничения) 1 (6.202) 4 423 122 5 3 3 62 1223 3 11

тем ближе к 1 должно быть значение pi, i = 1, ..., m. При жесткой постановке задачи СП, вне зависимости важности отдель% ных ограничений (6.202), все значения {pi} равны 1. Задачи стохастического программирования, в которых ограничения на выбор вектора x задаются в виде (6.201), называют задачами с вероятност ными ограничениями. 2. В некоторых случаях под допустимыми точками задачи СП понимают некоторые неопределенные векторы, определяемые в зависимости от кон% кретной реализации условий этой задачи. Обычно из смысла задачи следует вид естественных дополнительных свя% зей, определяющих допустимые точки (в том числе и решение задачи) в тер% минах реализации случайных условий — в терминах элементов матрицы A, компонент векторов b и c — и некоторого набора D детерминированных па% раметров: x = F(A, b, c, D). 264

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

При таком подходе уже отыскиваются детерминированные параметры D. Система, в которой именно так можно организовать отыскание допусти% мой точки (управления) x, лучше приспособлена к изменению условий за% дачи. Управление такой системой не определяется единым правилом, об% щим для всех возможных «состояний природы» X, а изменяется с каждой реализацией условий задачи, гибко реагируя на все изменения ее состоя% ния x Î X. Например, в задачах стохастического программирования, в которых слу% чайным является только вектор b правых частей ограничений (6.199), мо% жет оказаться целесообразным определить управление x в терминах случай% ной реализации вектора b соотношением x = Db,

(6.203)

где D — некоторая неизвестная (искомая) n´m%матрица. В этом случае отыскание случайного вектора x сводится к отысканию детерминированной матрицы D. 3. Задачи стохастического программирования также различают по при% нятым определениям понятия «решение задачи», т. е. по тому, как именно определяется критерий качества решения, задаваемый на множестве аль% тернативных способов проведения операции. Такими критериями качества допустимых точек задач СП обычно яв% ляются следующие функции, каждую из которых необходимо минимизи% ровать: 1) математическое ожидание E случайной величины (если x — детерминированный вектор, то E1 11 2 2 3 1 E11 2 2 3 1 1 1 2 2 , где 1 — вектор с компонентами 2 1 1 E2 1 1 j = = 1, ..., n); 2) дисперсия D случайной величины ; 3) линейная комбинация математического ожидания E и диспер сии D случайной величины : для некоторых фиксированных положительных чисел a и b aE + bD; 4) вероятность превышения случайной величиной некоторого за% данного п о р о г о в о г о з н а ч е н и я g: P{ ³ g}; 5) наибольшее (наихудшее с точки зрения лица, принимающего решение) возможное значение : 123 4 14 2 5 5 123

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

265

6.5.2. ОДНОЭТАПНЫЕ ЗАДАЧИ СП

Рассмотрим одноэтапную задачу стохастического программирования в постановке E 1 21223 1 3 4 456 3 5 1 6 3122 1 8 4122 9 2 37 6 1 03

(6.204)

где x — вектор евклидова пространства Rn; x — элемент некоторого множест% ва X, выбор которого находится в распоряжении «природы»; c(x), b(x) — век% торы соответственно евклидовых пространств Rn и Rm; A(x) — m´n%матрица, состоящая из элементов {aij(x)}. Пусть множество X состоит из конечного числа элементов (это предполо% жение позволит в дальнейшем избежать необходимости делать уточнения непринципиального характера). Пару (A, b), образуемую m´n%матрицей A и вектором b Î Rm, называют допустимой, если вероятность события A = A(x), b = b(x) ненулевая: P { A = A(x), b = b(x)} > 0. Точку x Î щую условию

Rn,

имеющую неотрицательные компоненты и удовлетворяю% A(x)x £ b(x)

"x Î X,

называют перманентным планом задачи (6.204). Значит, для произвольной допустимой пары (A, b) перманентный план x задачи (6.204) удовлетворяет векторному неравенству Ax £ b. (A0,

(6.205)

b0 )

Пусть — некоторая допустимая пара, а точка x* — решение зада% чи линейного программирования 1 2 1 1 2 3 23414 1 55 (6.206) 30 1 6 40 1 7 5 1 8 01 59 в которой c 1 Ec(2) — математическое ожидание вектора коэффициентов c(x) линейной функции . Очевидно, что если точка x* является перманентным планом задачи сто% хастического программирования (6.204), то она является и решением этой задачи. Значит, один из способов решения одноэтапной задачи СП состоит в отыскании такого перманентного плана, который для некоторой допусти% мой пары (A0, b0) являлся бы решением детерминированной задачи (6.206). Если пара (A0, b0) недопустима, то из перманентности решения x* зада% чи (6.206) еще не следует, что x* также является решением задачи (6.204). Обычно пару (A0, b0) составляют из матрицы 1 1 E1122 и вектора 1 1 E11223 элементами и компонентами которых являются математические ожидания

266

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

соответствующих элементов матрицы A(x) и компонент вектора b(x). Разуме% ется, так определяют пару (A0, b0) только тогда, когда пара 1 12 2 3 допустима. Пусть точка x* является решением детерминированной задачи (6.206). Чтобы удостовериться, является ли x* также и решением стохастической задачи (6.204), достаточно проверить эту точку на перманентность. Если все элементы матриц A(x) ограничены сверху, а компоненты векторов b(x) — сни% зу, сделать это достаточно просто. Действительно, пусть 3121 5 123 312 425 — наибольшее возможное значение 234

aij(x), а 211 5 123 21 425 — наименьшее возможное значение bi(x) при всех x Î X. 234

Так как для произвольных xj ³ 0 и x Î X выполняются неравенства 312 122 4 2 3 3121 4 2 и 211 2 21 1323 то

312 132 4 2 2 51 132 4 3121 4 2 2 512

5 1 6 134443 63

2 6 13 4443 74

В силу этих неравенств, если 5 1 6 123 7 5231 6 3 2 722 8 3 04 7 8 13 2 3 4 9 3 41

то вектор x Î Rn с неотрицательными компонентами для произвольной до% пустимой пары (A, b) также удовлетворяет векторному неравенству (6.205), т. е. является перманентным планом задачи (6.204). Описанный метод решения одноэтапных задач стохастического програм% мирования, начинающий свою работу с отыскания решения задачи 1 2 1 1 2 3 23414 1 55 (6.206¢) 31 6 4 1 7 5 1 8 01 59 называют методом решения по средним. В общем случае нельзя утверждать, что, начав с произвольной допусти% мой пары (A0, b0), в частности с 1 1 2 2 32 если эта пара допустима, обязательно будет получен перманентный план стохастической задачи (6.204). Возможны случаи, когда для его отыскания приходится применять более сложный метод. Идея этого метода достаточно проста. Так как по предположению множе% ство X возможных выборов «природы» конечно, то так же конечным являет% ся и множество допустимых пар {(Ak, bk)}. Значит, если k — число таких пар, то задача (6.204) принимает вид задачи линейного программирования

1 3 1 1 2 3 2341 42 1 6 52 1 1 9 05

4 55 2 7 115551 618 5 5

1

(6.204¢)

При большом значении K множество всех возможных допустимых пар {(Ak, bk)} заменяют множеством с меньшим числом элементов. При этом точ% ность отыскания решения исходной задачи СП (6.204) определяется соот% ветствующей точностью аппроксимации множества {(Ak, bk)}. ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

267

6.5.3. ЗАДАЧИ С ВЕРОЯТНОСТНЫМИ ОГРАНИЧЕНИЯМИ

1. В некоторых случаях вероятностные ограничения на переменные за% дачи стохастического программирования можно преобразовать к обычным (детерминированным) ограничениям. Рассмотрим пример таких преобразо% ваний. Пусть ограничения на переменные {xj} задачи имеют вид 1 42 43 8 2 1 134443 83 P 9 423 5 3 5 62 162 7 72 (6.207) 4 3 11 4 где {aij} — элементы некоторой известной m´n%матрицы A; xj — j%я компо% нента вектора x Î Rn; x — случайная величина; bi(x) — i%я компонента слу% чайного вектора b Î Rm; pi — известное положительное число, 0 < pi £ 1. Пусть для каждого i = 1, ..., m случайная величина bi(x) непрерывна и известна плотность ее распределения ri(z). Тогда вероятностные условия (6.207), определяющие множество допустимых векторов x Î Rn, можно пред% ставить в терминах выполнения некоторой системы линейных неравенств. Действительно, каждая функция

1

31 12 2 2 4 31 1 4 254 2

монотонно убывает при увеличении t (значение Fi(t) равно P{t £ bi(x)} — веро% ятности того, что t £ bi(x)). Поэтому у уравнения Fi(t) = pi (6.208) 1 имеется единственное решение 21 2 а для каждого t, не превосходящего это решение, выполняется неравенство Fi(t) ³ pi. система вероятностных неравенств (6.207) Значит, для вектора x Î выполняется тогда и только тогда, когда выполняется система линейных неравенств 1 4 423 5 3 2 612 3 2 1 12 3332 72 Rn

3 11

где 211 — единственное решение уравнения (6.208), i = 1, ..., m. 2. Рассмотрим задачу стохастического программирования, в которой на множестве всех решений x системы вероятностных неравенств (6.207) необ% ходимо минимизировать математическое ожидание функции , где c(x) — случайный вектор евклидова пространства Rn. Пусть при каждой реализации случайного вектора b Î Rm вектор x этой задачи также удовлетворяет векторному равенству (6.203). Итак, формальная постановка рассматриваемой задачи СП такова: E 1 21223 3 3 4 45635 1 66 (6.209) P7 43 7 58 8 63 9 6 3 153 6 268

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

где D — некоторая (неизвестная) n´m%матрица с элементами {dij}; p — вектор с известными компонентами {pi}, 0 < pi £ 1, i = 1, ..., m. Пусть также c = c(x) и b = b(x) являются независимыми случайными век% торами (компоненты каждого из этих векторов могут быть зависимыми). Тогда задачу (6.209) очевидно можно переписать в виде 4 3 1 14 5

6

37 8 2 11 5551 717

234 1 1

P14 52 1 14 5 9 42 2 62 1

(6.209¢)

где 1 и 1 — математические ожидания соответственно векторов c и b; ai — вектор пространства Rn, компонентами которого являются соответствующие элементы i%й строки матрицы A: 312 1 312 1 j = 1, ..., n, i = 1, ..., m. Вероятностные ограничения задачи (6.209¢) можно преобразовать к эк% вивалентному детерминированному виду. Пусть случайные величины {zi} определены следующим образом: 61 7

121 3 21 23 4 3 1 3 4 12 3 2 2 5 E 1 121 3 21 2 3 4 3 1 3 4 12 3 2 2 5 2

2

3

1 8 13 4443 54

Легко доказать, что каждая из случайных величин {zi} имеет нулевое математическое ожидание и единичную дисперсию: E11 2 01

321i 4 D11 2 1

5 1 2 11 2221 22

(6.210)

Непосредственной проверкой также можно убедиться в том, что для ка% ждого i = 1, ..., m неравенство £ bi эквивалентно неравенству 11 2 11 1 2 где 72 1 8

321 4 5 31 1 42 6 E1 421 3 21 5 3 5 31 1 442 3 2 5 6 2

2

3

(6.211)

В новых обозначениях ограничения задачи (6.209¢) принимают вид P131 4 31 1 2 4 21 2

1 5 12 3332 33

(6.212)

Пусть, для определенности, вектор ограничений b(x), а значит, и каж% дая случайная величина zi, распределены по нормальному закону1. Тогда,

1 Непрерывная случайная величина x имеет нормальный закон распределения, если ее плот% ность распределения rx(z) определяется формулой

1 1 34 22

3 1 2 252 3 295 где m и s2 — соответственно математическое ожидание и дисперсия случайной величины x, а e — константа Эйлера (e » 2,718281828).

76 1 1 2 8

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

269

учитывая утверждения (6.210), неравенства (6.212) можно переписать в виде 1 22 2 1 2 42 4 5 2 (6.212¢) 3 1 5 12 3332 62 1 26 317 1

или, так как для произвольного действительного числа t 1

2 2 1 3 2 42 6 25 21

1

32

3 26

3 1 11 1

7

1

2 2 2 2 1 1 3 2 42 4 3 2 42 6 6 25 21 25 1

2

3

2

11 2

2

41 4

52 4

2

3

11

2 5 34 5554 6 5

(6.212²)

23

Пусть ri — решение уравнения 21

1

3 1 2 4 1 53 3 2 1 61 3 5 14 12

1 3 23 4443 73

(для произвольного pi Î (0; 1) имеется единственное конечное решение этого уравнения; если pi= 1, то ri = –¥; если pi ³0,5, то ri £0). 1

2 1 1 3 2 42 при увеличении ее 4 23 12 аргумента t неравенства (6.212²) эквивалентны неравенствам 11 1 2 21 2 1 3 123332 32 2

Ввиду монотонного увеличения функции

которые, учитывая определения (6.211), можно переписать в виде 321 4 5 3 1 1 42 6 7 51 E 1 221 3 21 33 5 3 1 1 4 22 3 2 3 6 2 1 2

1 8 11 4441 64

Пусть каждая дополнительная переменная yi, i = 1, ..., m, удовлетворяет неравенствам 321 4 5 3 1 1 42 6 7 3 51 7 61 E 1 221 3 21 3 3 5 3 1 1 4 22 3 2 3 6 2 4 2

(6.213)

Если pi ³ 0,5, то ri £ 0, i = 1, ..., m. В таком случае все m пар неравенств (6.213) эквивалентны системе неравенств 3 99 612 E 1 241 6 41 36 4 2 1 1 324 6 4 3 5 2 6 512 8 01

(6.214) 9 51 01 1 11 4441 74 9 Можно доказать, что условия (6.214) в пространстве nm + m переменных {dij} и {yi} определяют выпуклое множество. Итак, при сделанных предположениях задача стохастического програм% мирования (6.209¢) с линейной минимизируемой функцией и m вероятност% ными ограничениями относительно nm неизвестных сведена к задаче вы% пуклого программирования с той же минимизируемой функцией, m линей% ными и m нелинейными ограничениями относительно nm + m неизвестных, на m из которых наложены условия неотрицательности. 4 2 1 1 34 5 641 7 51 8 01

2

270

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

6.5.4. ДВУХЭТАПНЫЕ ЗАДАЧИ СП

К двухэтапным задачам стохастического программирования относят та% кие задачи, в которых выбор решения, конкретизирующего проведение не% которой операции, состоит из двух этапов. На первом этапе, при неточной информации о ресурсах и расходах, принимается первая составляющая со% ответствующего решения — в дальнейшем обозначаемая буквой x. На вто% ром этапе, когда становится известной вся необходимая информация об условиях проведения операции, принимается вторая составляющая реше% ния — y, некоторым образом корректирующая («подправляющая») последствия выбора x. С каждой составляющей x и y решения, принятой на соответствующем этапе, связаны некоторые расходы, общее значение которых желательно сде% лать минимально возможными. Рассмотрим пример одной из формализованных постановок двухэтапных задач стохастического программирования. Пусть: · x и c — векторы пространства 2 1 1 1 · x — случайная величина (или набор случайных величин); · y и e — векторы пространства 2 1 2 1 компоненты {ek(x)} вектора e являют% ся функциями x; · b — вектор пространства Rm с компонентами {bi(x)}; · A — m´n1%матрица с элементами {aij(x)}; · D — m´n2%матрица с элементами {dij(x)}. Пусть X и Y — некоторые заданные множества соответственно евклидо% вых пространств 2 11 и 2 12 (например, множества векторов этих пространств, имеющих неотрицательные компоненты). Пусть операция проводится таким образом. Сначала (I этап) из множест% ва X выбирается вектор x. За этот выбор необходимо заплатить

2 31 4 3 4

11

53 2 4 2 2 11

некоторых денежных единиц. Далее становится известным «состояние природы» x, конкретизирующее матрицы A = A(x), D = D(x) и векторы b = b(x), e = e(x) (некоторые или даже все элементы и/или компоненты соответственно этих матриц и векторов могут не зависеть от x; однако приводимая интерпретация постановки задачи имеет смысл только тогда, когда случайная реализация x влияет на значение по крайней мере одного элемента матриц A и D или одной компоненты векторов b и e). При известных A, D, b и e (II этап) из множества Y выбирается вектор y, удовлетворяющий векторному равенству Ax + Dy = b

(6.215)

и выбор которого обусловливает затраты 2 31 4 3 4

12

5 32 42 2 2 11

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

271

Пусть, для упрощения описываемой ситуации, для произвольно выбран% ного x Î X и реализованного x в множестве Y найдется по крайней мере один элемент y, при котором выполняется равенство (6.215). Поскольку сумма расходов является случайной величиной (так как она зависит от реализации x), на первом этапе следует выбирать x Î X так, чтобы минимизировать общие ожидаемые расходы. Например, один из прин% ципов выбора x состоит в отыскании решения задачи 4 82 4 5 2 E

min

112 1 34 2 51 36

4 92 1 5 6 3456 41 7

(6.216)

Вторым слагаемым минимизируемой функции задачи (6.216) является математическое ожидание значения (случайной величины) обычной (детер% минированной) задачи математического программирования 4 72 1 5 6 345 6 (6.217) 112 1 34 2 51 36

Эта задача решается при известных x и x. Даже если множество Y таково, что задача (6.217) является задачей ли% нейного программирования, выяснение вероятностных характеристик рас% пределения значения этой задачи, а значит, и аналитических свойств его математического ожидания как функции x может представлять весьма серь% езную исследовательскую проблему. Таким образом, за гибкость в выборе решения по схеме двухэтапной за% дачи стохастического программирования приходится «платить» существен% ными усложнениями, связанными с поиском этого решения — отысканием решения задачи (6.216). Без привлечения к этой работе математиков, про% фессионально занимающихся проблемами стохастической оптимизации, здесь не обойтись.

6.6. ЗАДАЧИ СЕТЕВОГО ПЛАНИРОВАНИЯ При планировании выполнения некоторых работ часто приходится эти работы рассматривать как некоторые совокупности взаимосвязанных меж% ду собой более простых — элементарных — работ. Хотя элементарные рабо% ты и могут выполняться независимо одна от другой, все же необходимо при% держиваться некоторой последовательности их выполнения, обусловленной тем, что нельзя выполнять некоторые работы до завершения других. Примером указанного типа комплексной работы может быть работа по строительству жилого здания: фундамент здания не может быть заложен раньше, чем для него будет подготовлен котлован и завезены необходимые материалы, что, в свою очередь, предполагает завершение строительства подъездных путей и прокладку основных коммуникаций. Не конкретизи% руя все элементарные работы, выполнение которых обязательно при строи% тельстве любого здания, следует отметить, что для проведения каждого эта% па этого строительства необходимо подготовить соответствующую проектно% техническую документацию. 272

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Планирование комплексной работы следует проводить, учитывая, напри% мер, следующее: · время, необходимое для выполнения всей работы и ее отдельных элемен% тарных составляющих; · стоимость всего комплекса работ и ее составляющих; · необходимые энергетические и сырьевые ресурсы; · необходимую квалификацию исполнителей и их количество. Для рационального планирования комплекса работ необходимо ответить на такие, в частности, вопросы: · Как именно следует распределить имеющиеся материальные и трудовые ресурсы между элементарными работами? · Когда начинать выполнение и когда заканчивать отдельные элементар% ные работы? · Какие препятствия своевременному окончанию комплекса работ могут возникнуть и как эти препятствия устранить? При планировании комплекса работ, определяемого сравнительно неболь% шим количеством элементарных работ, найти ответы на указанные и многие другие вопросы может человек, имеющий соответствующий жизненный опыт и руководствующийся здравым смыслом. В случаях же большого количест% ва элементарных работ, ошибки в координации и сроков выполнения кото% рых приводят к значительным потерям, необходимо применять специаль% ные математические методы. Одним из таких методов, широко применяемым при решении задач ука% занного типа, является метод сетевого планирования. Этим методом можно решать так называемые прямые и обратные задачи сетевого (календарного) планирования. Прямые задачи формулируются для отыскания ответов на вопросы о результатах применения принятой схемы организации операции. Обратные задачи формализуют проблему отыскания такой схемы организа% ции операции, при которой эта операция имела бы заданную эффективность. Обычно обратные задачи более сложные, чем прямые. При этом для оты% скания их решений необходимо сначала находить решения соответствую% щих прямых задач. Далее будут рассмотрены несколько примеров прямых задач и описаны методы отыскания их решения. Отправным для постановки задач сетевого планирования является спи% сок (перечень) элементарных работ, в котором также указывается взаимо% зависимость задач (какие именно работы необходимо выполнить прежде, чем начинать выполнение других). Этот список работ называют структур ной таблицей комплекса работ. Итак, в структурной таблице комплекса работ указывается, выполнение каких именно работ должно быть завершено к моменту начала выполнения каждой (элементарной) работы, т. е. указываются все остальные элементар% ные работы, на которую эта работа о п и р а е т с я. Пример структурной таблицы комплекса работ представлен в табли% це 6.33. В этой таблице последний столбец содержит перечень имен (назва% ний) {aki } всех элементарных работ, до окончания которых (элементарная) работа ak не может быть начата, k = 1, ..., 15. Если же соответствующая клетка ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

273

1 2 3 4 5 6 2 7 89

7

1

1 2 3 4 5 6 2 7 89

89 4 7 1 41 45671

1

3456741

12

2

2

32

142 52

2

52

52

2

72

72

62 82

89 4 7 1 41 45671

341

12

2

12

12

32

142 52

32

62

2

52

2

12

32

142 342 52

2

72

142 342 52

52

82

62

2

2

62

2

12

52

82

2

2

82

2

12

72

92

92

142 742 1 2

2

92

142 742 1 2

82

132

2

2

142 32

2

2

142 32

52

92

2

2

542 742 62

2

2

542 742 62

72

2

1 2

1 2

2

2

1 2

2

62

112

112

112

942 132

2

112

942 132

92

162

132

132

142 32

2

132

142 32

52

2

152

152

742 642 1 2

2

152

742 642 1 2

82

152

172

172

542 742 62

2

172

542 742 62

72

1 2

162

162

1 2

2

162

1 2

82

172

21

3456741

12 32

66 16564   1 45671

1

строки таблицы пустая, то это означает, что работа может выполняться сра% зу же после принятия решения о проведении всего комплекса работ. Первая операция, выполняемая со структурной таблицей комплекса эле% ментарных работ, состоит в их упорядочивании. Цель этого упорядочивания состоит в такой перенумерации работ, при которой каждая из них опирается только на работы, имеющие меньшие порядковые номера. Перед упорядочиванием каждой работе присваивается ее ранг — прово% дится ранжирование работ. Первый ранг присваивается работе, начало вы% полнения которой не предполагает окончания выполнения никаких других работ. Таблица 6.33 содержит четыре работы первого ранга: a1, a3, a5, a6. Работе присваивается второй ранг, если она опирается на одну или не% сколько работ первого ранга. В структурной таблице 6.33 только работа a2 имеет второй ранг. В общем случае работе присваивается k%й ранг, если она опирается на одну или несколько работ не выше (k – 1)%го ранга, среди которых обязатель% но имеется по крайней мере одна работа (k –1)%го ранга. После ранжирования все работы перенумеровывают, начиная с работ пер% вого ранга, затем — второго и т. д. Среди работ одного ранга перенумерация проводится произвольным образом. Пример результата упорядочивания работ структурной таблицы 6.33 при% веден в таблице 6.34. После упорядочивания работ по рангам составляется новая структурная таблица, в которую названия работ записываются согласно их новым номе% 274

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

рам. В новой структурной таблице каждая работа может опираться только на работы, имеющие меньшие порядковые номера (табл. 6.35). Затем в новой структурной таблице из соответствующего списка работ, на которые опирается каждая элементарная работа, исключаются работы, о б я з а т е л ь н о выполняемые до начала выполнения каждой работы этого списка — исключаются у ж е у ч т е н н ы е, а значит, излишние связи между работами. Способ исключения излишних связей между работами, т. е. связей, являющихся следствием уже учтенных других связей, иллюстрируется на примере работ структурной таблицы 6.35. Каждая из первых четырех работ этой таблицы ни на какие работы не опирается — соответствующие списки работ пусты. Начало выполнения работы b5 возможно только после окончания работ b1 и b2, не опирающихся ни на одну из работ. Значит, список работ {b1, b2}, на которые опирается работа b5, остается без изменений. Работа b6 опирается на работы b1, b2 и b5. Поскольку работа b5 опирается на работы b1 и b2, из списка работ {b1, b2, b5} следует исключить работы b1 и b2 (начать выполнение работы b6 можно только после окончания выполне% ния работы b5, в свою очередь, начало выполнения которой возможно только после окончания выполнения работ b1 и b2). Работа b7 опирается на работы b1 и b5. Так как начало выполнения работы b5 возможно только после окончания работы b1, из списка работ {b1, b5} следу% ет исключить работу b1. Аналогично, из списка работ {b1, b5}, на которые опирается работа b8, так% же следует исключить работу b1. Из списка работ {b2, b3, b6}, на которые опирается работа b9, следует ис% ключить работу b2 (на работу b2 опирается работа b6). Каждая из работ b10 и b11 опирается только на работу b9. Поэтому в этих случаях не возникает вопрос об устранении излишних (дублирующих) свя% зей среди работ, на которые опирается каждая из работ b10 и b11. Работа b12 опирается на работы b1, b6, b11. Начало выполнения работы b11 предполагает окончание выполнения работы b9, начало выполнения которой возможно лишь после окончания работы b6. Выполнять же работу b6 можно только после окончания выполнения работы b1. Значит, поскольку выполнять работу b11 можно только после окончания выполнения работ b1 и b6, в списке работ, на которые опирается работа b12, следует оставить только работу b11. Аналогично, в списке работ, на которые опирается работа b13, следует оставить только работу b11, а списки работ, на которые опираются работы b14 и b15, должны быть оставлены без изменений. После вычеркивания из третьего столбца структурной таблицы комплек% са работ некоторых работ — исключения из этого столбца всех уже учтенных связей — этот столбец будет описан с использованием меньшего, иногда су% щественно меньшего, количества работ. (Сравните таблицу 6.35 и результат ее указанного преобразования — таблицу 6.35¢.) В дальнейшем предполагаются уже выполненными процедуры упорядо чивания элементарных работ и исключения из третьего столбца структурной таблицы всего их комплекса уже учтенных связей между работами. При этом ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

275

1 2 3 4 5 6 2 7 89 7 1

1 2 3 4 5 6 2 7 89 17

21

3456741

89 4 7 141 45671

12

12

2

21

3456741

89 4 7 141 45671

12

12

2

32

32

2

32

32

2

42

42

2

52

52

2

2

42

42

2

2

52

52

2

62

62

172 32

2

82

82

172 372 62

2

62

62

172 32

82

82

62

92

92

172 62

2

92

92

62

2

2

172 62

2

2

2

62

2

2

372 472 82

2

2

2

472 82

1 2

1 2

2

2

1 2

1 2

2

112

112

2

2

112

112

2

132

132

172 872 112

2

132

132

112

142

142

472 872 112

2

142

142

112

152

152

112

2

152

152

112

162

162

72 132

2

162

162

72 132

1

1

для обозначения элементарных работ будут применяться их обозначения a1, a2, ... Итак, пусть задана упорядоченная структурная таблица 6.36 некоторого комплекса работ. Связи между работами этого комплекса можно изобразить графически в виде сетевого графика (или графа). Этот граф можно строить по%разному. Чаще всего работы комплекса изображают стрелками, а события, состоящие в окончании некоторых работ и определяющие возможности для начала вы% полнения каких%либо других работ, — кружками (узлами). На рисунке 6.23 изображен сетевой граф комплекса работ, представлен% ных в таблице 6.36. На этом сетевом графе узлы обозначены буквой A с соот% ветствующими индексами, а работы — буквами a1, a2, ... Начальный узел всего комплекса работ — начало работ — обозначен A0. Из этого узла выходят стрелки a1, a2 и a3, изображающие соответствующие работы и ведущие к узлам A1, A2 и A4. Событие, состоящее в выполнении обеих работ a1 и a2, изображено дополнительным узлом A1, 2, к которому ве% дут п у н к т и р н ы е стрелки. Эти стрелки не изображают работы, а только выражают имеющуюся логическую связь в выполнении работ. От узла A1, 2 идет (сплошная) стрелка a4, изображающая работу a4 и опирающаяся на работы a1, a2; в конце этой стрелки находится узел A4, означающий окончание выполнения работы a4, и т. д. Узел AT обозначает окончание выполнения в с е г о комплекса работ. При другом наглядном способе представления комплекса работ в виде сетевого графа узлы обозначают э л е м е н т а р н ы е р а б о т ы, а стрелки — 276

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

л о г и ч е с к и е с в я з и между ними. Такой граф, построенный для комплек% са работ таблицы 6.36, изображен на рисунке 6.24. Каждому типу сетевого графа присущи достоинства и недостатки. Досто% инство графа первого типа состоит в том, что его сравнительно легко приме% нить для подсчета времени выполнения как отдельных работ, так и всего их комплекса. Достоинством графа второго типа является то, что в такой граф можно легко привносить новые, ранее не указанные связи, выявляющиеся в ходе выполнения работ. Пусть известно время ti (продолжительность) выполнения каждой отдель% ной i%й элементарной работы. Это время указывается в соответствующей ячей% ке дополнительного столбца к структурной таблице (см. таблицу 6.37, полу% ченную из таблицы 6.36 добавлением столбца с указанием продолжительно% сти выполнения каждой работы).

1 2 3 4 5 6 2 7 89 87 12

3456742

89 4 7 242 45672

12

12

2

32

32

2

42

42

2

52

52

162 32

72

72

362 42

82

82

52

92

92

762 82

2

2

762 82

2

2

92

1 2

1 2

2

Рис. 6.23

1

Рис. 6.24 1 2 3 4 5 6 2 7 89 7 12

3456742

89 4 7 2 42 45672

 66 7 6 72 96  2 45672

342 45672

12

12

2

12

12

32

32

2

32

12

42

42

2

42

12

52

52

162 32

52

32

72

72

362 42

72

32

82

82

52

82

42

92

92

762 82

92

52

2

2

762 82

2

52

2

2

92

2

72

1 2

1 2

2

1 2

72

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

277

Указанным образом дополненную структурную таблицу называют структурновременной таблицей комплекса работ. Продолжительности выполнения работ и их логические связи можно изо% бражать на одном графе — временном сетевом графике (графе). При его по% строении на двухмерной декартовой плоскости вдоль оси абсцисс отклады% вается время, а вдоль оси ординат — узлы графа; абсцисса каждого узла рав% на времени окончания соответствующей работы (или работ), а его ордината — произвольна. Длина каждой стрелки между узлами измеряется между цен% трами соответствующих узлов. После построения временного сетевого графа легко подсчитать общее (минимальное) время T выполнения всего комплекса работ. Разумеется, это время равно разности абсцисс узлов AT и A0. Для отыскания минимально необходимого времени окончания всех ра% бот строить соответствующий временной сетевой граф целесообразно лишь тогда, когда этих работ сравнительно мало и логические связи между ними сравнительно просты. В другом методе вычисления минимального времени выполнения ком% плекса работ не требуется графическое изображение его логической структу% ры. Этот метод специально разработан для анализа сложных комплексов работ, и для его практического применения естественно применять компью% тер с соответствующим программным обеспечением. Сущность метода состоит в следующем. Пусть уже проведено упорядочивание комплекса работ и построена его структурно%временная таблица. Пусть ti и Ti — минимально возможные моменты времени соответственно н а ч а л а и о к о н ч а н и я выполнения работы ai. Очевидно, что Ti = ti + ti, где ti — продолжительность выполнения работы ai. В указанных обозначениях описываются все имеющиеся логические свя% зи между работами комплекса. Действительно, пусть, например, работа ai опирается на работы aj, al, ak. Тогда выполнение работы ai не может быть начато до окончания всех ра% бот aj, al, ak. Очевидно, это условие выражает формула ti = max{Tj, Tl, Tk}. Применив формулы такого типа для всех работ комплекса, можно вы% числить времена {Ti} их окончания и, в частности, время T окончания вы% полнения в с е г о комплекса работ: T = max{T1, T2, ..., Tn},

(6.218)

где n — общее число элементарных работ. Соответствующие расчеты иллюстрируются на примере структурно%вре% менной таблицы 6.37. 278

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Для работ п е р в о г о ранга a1, a2, a3 имеем:

11 2 0, 12 2 0, 13 2 0,

T1 2 t1, 3 4 T2 2 t2 ,5 T3 2 t3 .46

(6.219)

Работа a4 опирается на работы a1, a2, начать ее выполнение можно в мо% мент времени t4, когда окончится выполнение работ a1, a2: t4 = max{T1, T2}. Момент окончания работы a4:

(6.220)

T4 = t4 + t4. Аналогично для всех остальных работ комплекса:

(6.221)

35 4 max1T2 , T32, 36 4 T4 , 37 4 max1T5 , T6 2,

38 4 max1T5 , T62, 39 4 T7 , 310 4 T8 ,

T5 4 35 5 t5 , T6 4 36 5 t6 , T7 4 37 5 t7 ,

6 7 7 7 8 T8 4 38 5 t8 , 7 T9 4 39 5 t9, 7 7 T10 4 310 5 t10 .79

(6.222)

Таким образом определены моменты начала {ti} и окончания {Ti} к а ж д о й работы комплекса. Теперь уже по формуле (6.218) легко вычислить время T окончания в с е х работ. Например, для

t1 2 10, t6 2 18,

t2 2 5, t7 2 8,

t3 2 15, t8 2 25,

t4 2 18, t9 2 30,

t5 2 19, t10 2 8,

1

(6.223)

вычисленные по формулам (6.219)–(6.222) значения {ti} и {Ti} представлены в таблице 6.38. 1 2 3 4 5 6 2 7 89 7 12

3456742

8494 62 6 2112

6942 6 2112

12

12

2

2

32

32

42

52

62

62

42

152

72

72

2

2

52

52

152

672

82

82

2

2

92

92

2

2

2

2

782

912

2

2

2

2

142

142

912

9 2

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

279

Ввиду формулы (6.218) и содержимого правого столбца таблицы 6.38 об% щее время T выполнения всего комплекса работ составляет 84 единицы вре% мени (в этих единицах времени в таблице 6.37 приведены продолжительно% сти {ti} выполнения работ {ai}). Очевидно, что не все элементарные работы {ai} одинаково влияют на об% щее время T выполнения всего комплекса работ. Это обусловлено не только продолжительностью, но и самой системой очередностей выполнения работ. Например, среди работ комплекса работ в с е г д а и м е е т с я по крайней мере одна такая у п о р я д о ч е н н а я совокупность работ M, что · момент окончания выполнения последней работы из совокупности работ M совпадает с моментом окончания выполнения всего комплекса работ; · первая работа в M имеет первый ранг; · каждая работа из M, кроме первой работы, опирается только на одну работу из M; · на каждую работу из M, кроме последней работы, опирается только одна работа из M. Работы из M называют критическими, а их совокупность M — критиче ским путем. Особенность критических работ состоит в том, что для обеспечения ми% нимального времени T выполнения всего комплекса работ выполнение каж% дой из них должно, во%первых, начинаться точно в момент окончания по% следней из работ, на которые она опирается, во%вторых, продолжаться не дольше времени, указанного в плане; задержка в начале выполнения или увеличение продолжительности выполнения любой из критических работ приводит к увеличению T (к задержке выполнения всего плана). Критический путь комплекса работ (или критический путь сетевого графа, соответствующего этому комплексу) составляет совокупность наиболее уязвимых его мест. Что же касается других, некритических работ, у каждой из них имеются некоторые резервы времени для начала и продол% жительности выполнения; некоторые задержка в начале выполнения и уве% личение продолжительности выполнения некритических работ никак не ска% жется на общем времени выполнения всего комплекса работ. Знание критического пути сетевого графа полезно по таким двум причи% нам: во%первых, позволяет выделить из всего комплекса работ наиболее «уг% рожающие» работы, постоянно наблюдать за ними и в случае необходимости форсировать их выполнение; во%вторых, в некоторых случаях знание крити% ческого пути позволяет ускорить выполнение комплекса работ за счет при% влечения резервов, «скрытых» в некритических работах, — перебросить часть ресурсов, используемых для выполнения некритических работ, для выполнения более важных критических работ. Метод отыскания критического пути 1. Определить моменты начала {ti} и окончания {Ti} выполнения каждой работы комплекса. 2. Определить время T окончания выполнения всего комплекса работ (зна% чение T равно максимальному из значений {Ti}). 280

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

3. Найти любую работу 211 1 время окончания Ti 1 которой равно продол% жительности T выполнения всего комплекса работ (Ti1 1 T ); работа ai1 явля% ется п о с л е д н е й работой в списке критических работ, составляющих строя% щийся критический путь 12223 211 42 Если работа 211 имеет первый ранг, то последующие операции прекра% тить (работа 211 составляет критический путь; если нет других работ, время окончания которых равно T, то в данном комплексе работ имеется единст% венный критический путь). 4. Из всех работ комплекса, на которые опирается работа 21 1 , выбрать любую такую работу ai 2 , для которой выполняется равенство 1i1 2 Ti2 (момент 11 1 начала выполнения п е р в о й н а й д е н н о й работы 21 1 критического пути равен максимальному значению моментов окончания всех работ, на которые опирается эта работа); 21 1 — п р е д п о с л е д н я я работа в списке критиче% ских работ, составляющих строящийся критический путь {..., ai2 , ai1 }. Если 21 2 — работа первого ранга, то дальнейшие операции по построе% нию критического пути прекратить: {ai2 , ai1 } — критический путь. 5. Из всех работ, на которые опирается работа ai 2 , выбрать любую та% кую работу ai 3 , для которой выполняется равенство 1i 2 2 Ti 3 (время 1i 2 начала выполнения второй найденной работы ai 2 критического пути рав% но максимальному значению моментов окончания выполнения всех работ, на которые опирается эта работа); 21 1 — п р е д п р е д п о с л е д н я я работа в списке критических работ, составляющих строящийся критический путь {..., ai3 , ai2 , ai1 }. Если ai 3 — работа первого ранга, то дальнейшие операции по построе% нию критического пути прекратить: {ai3 , ai2 , ai1 } — критический путь; Описанный процесс следует продолжать до тех пор, пока не будет найде% на работа ai k п е р в о г о ранга, на которую опирается критическая работа aik11 , для которой 2ik11 3 Tik . Упорядоченная совокупность работ {aik , aik11 ,..., ai1 } составляет критиче% ский путь (один из возможных, если таких путей несколько). Пример 6.24. Найти какой%либо критический путь комплекса работ, за% данного структурной таблицей 6.37. Продолжительности {ti} выполнения работ этого комплекса конкретизированы условиями (6.223). 1. В таблице 6.38 указаны моменты начала {ti} и окончания {Ti} выполне% ния каждой работы комплекса. 2. Продолжительность T выполнения всех работ этого комплекса состав% ляет 84 единицы времени: T = 84. 3. Ввиду данных значений {Ti} последнего столбца таблицы 6.38 только выполнением работы a9 завершается выполнение всего комплекса работ: T9 = T. Значит, работа a9 является последней работой (первой от конца, т. е. i1 = 9) в списке работ, составляющих строящийся критический путь M: M = {..., a9}. Поскольку работа a9 не является работой 1%го ранга (ее ранг равен 5, см. табл. 6.37), построение критического пути следует продолжить. 4. Работа a9 начинает выполняться в момент времени t9 = 54 — сразу же после окончания выполнения единственной работы a7, на которую она ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

281

опирается (см. табл. 6.38): t9 = T7. Значит, a7 — предпоследняя работа (i2 = 7) в списке работ, составляющих строящийся критический путь M = {..., a7, a9}. Поскольку работа a7 не является работой 1%го ранга (ее ранг равен 4), построение критического пути следует продолжить. 5. Работа a7 начинает выполняться в момент времени t7 = 46 — сразу же после окончания выполнения работы a6 — одной из двух работ, на которые она опирается (см. табл. 6.37 и 6.38): t7 = T6. Значит, a6 — третья работа от конца (i3 = 6) в списке работ, составляющих строящийся критический путь M = {..., a6, a7, a9}. Поскольку работа a6 не является работой 1%го ранга (ее ранг равен 3), построение критического пути следует продолжить. 6. Работа a6 начинает выполняться в момент времени t6 = 28 — сразу же после окончания выполнения единственной работы a4, на которую она опирается (см. табл. 6.38): t6 = T4. Значит, a4 — четвертая работа от кон% ца (i4 = 4) в списке работ, составляющих строящийся критический путь M = {..., a4, a6, a7, a9}. Поскольку работа a4 не является работой 1%го ранга (ее ранг равен 2), построение критического пути следует продолжить. 7. Работа a4 начинает выполняться в момент времени t4 = 10 — сразу же после окончания выполнения работы a1 — одной из двух работ, на которые она опирается (см. табл. 6.37 и 6.38): t4 = T1. Значит, a1 — пятая работа от конца (i5 = 1) в списке работ, составляющих строящийся критический путь M = {..., a1, a4, a6, a7, a9}. Так как ранг работы a1 равен 1, именно эта работа является первой в списке работ п о с т р о е н н о г о критического пути M = {a1, a4, a6, a7, a9}. Для комплекса работ таблицы 6.36, продолжительности {ti} выполнения которых определяются согласно (6.223), в таблице 6.38 жирным шрифтом указаны моменты начала и окончания выполнения работ критического пу% ти M. Для с е т е в ы х г р а ф о в этого комплекса работ на рисунках 6.23 и 6.24 утолщенными линиями изображены критический путь M и логические связи в очередности выполнения работ этого пути. В рассмотренном примере выбор каждой n%й работы ain , включаемой на соответствующем этапе метода в критический путь 2 2 34445 321 5 321 11 5 4445 321 65 проводится без возможных в общем случае альтернативных вариантов: только для е д и н с т в е н н о й работы ai1 выполняется условие Ti1 1 T, а при n > 1 только для е д и н с т в е н н о й работы ain , на которую опирается ранее выб% ранная работа 32111 1 выполняется равенство 2in11 3 Tin . Значит, в рассмотренном комплексе работ имеется е д и н с т в е н н ы й к р и т и ч е с к и й п у т ь — упорядоченная совокупность работ M = {a1, a4, a6, a7, a9}. Однако если в условиях (6.223) изменить только продолжительность t10 выполнения работы a10 и увеличить ее по сравнению с первоначальным зна% чением на 5 единиц (положить t10 = 13), то таким образом в измененном ком% плексе работ будет 2 критических пути: один — уже построенный путь M и второй — {a1, a4, a6, a7, a10}. Если же к измененному комплексу работ добавить работу a11, н е о п и % р а ю щ у ю с я ни на одну из работ этого комплекса (значит, ранг этой работы 282

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

равен 1), продолжительность выполнения которой равна t11, то у допол% ненного комплекса работ будет: 1 критический путь {a11}, при t11 > 84; 2 критических пути: {a1, a4, a6, a7, a9} и {a1, a4, a6, a8, a10}, при t11 < 84; 3 критических пути: {a1, a4, a6, a7, a9}, {a1, a4, a6, a8, a10}, {a11}, при t11 = 84. Улучшать план выполнения комплекса работ можно по разным крите% риям. Например, может оказаться, что общее время T выполнения всех работ слишком велико и потому неприемлемо; возникает вопрос о таком ускорении выполнения работ, при котором время T их о к о н ч а н и я н е п р е в о с х о д и т заданную величину T0. Очевидно, что для этого следует форсировать выполнение именно критических работ, сокращение продол% жительности выполнения которых непосредственно скажется на сокращении времени T. Однако при этом критический путь может измениться и наиболее слабыми местами по времени будут уже другие работы. Обычно форсирование выполнения работ требует дополнительных вло% жений некоторых ресурсов. Отсюда следует одна из типичных задач теории исследования операций: какие дополнительные ресурсы и в какие работы необходимо вложить, чтобы общее время выполнения комплекса работ не превосходило заданную величину T0 и чтобы при этом общие расходы ресур сов были бы минимальными? Другая оптимизационная задача состоит в перераспределении имеющихся ресурсов между отдельными работами: как перераспределить имеющиеся ресурсы, чтобы общее время выполнения комплекса работ было бы мини мальным? Наконец, возможна и такого типа задача. Пусть после распределения имеющихся ресурсов общее время T выполнения всех работ с некоторым запасом укладывается в заданный срок T0 (T < T0). В каких пределах можно увеличивать сроки выполнения работ, чтобы количество сэкономленных при этом ресурсов было бы максимальным? Следует отметить, что в такой постановке может ставиться задача оптимизации не всего комплекса работ, а только некоторой его части (например, указанных некритических работ).

6.7. ЗАДАЧИ УПРАВЛЕНИЯ ЗАПАСАМИ Теория управления запасами является одним из разделов прикладной математики, в котором изучаются процессы накопления, расходования и пополнения запасов — некоторых производственных ресурсов, произведен% ной или заказанной продукции. Эта теория также является составной ча% стью теории исследования операций и включает в себя необходимый инст% рументарий о постановках и методах решения соответствующих задач — за дач управления запасами. Прагматическая составляющая интереса к таким задачам понятна: если в производственном процессе недостаточно запасов необходимого сырья, то это обязательно приводит к излишним и поэтому нежелательным расходам. ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

283

Обратно чрезмерное накопление запасов сырья также приводит к лишнему расходованию денежных средств, к порче запасов при их хранении, к пере% полнению складских помещений. Следует отметить, что результаты исследования задач управления за% пасами уже давно далеко вышли за границы проблем, связанных собствен% но с организацией только складского хозяйства, отпуском и хранением запасов. Например, соответствующие обобщения полученных результатов успеш% но применяют при отыскании решений самых разных задач, возникающих при проектировании транспортных сетей, электронной аппаратуры, при экс% плуатации водохранилищ, в теории надежности и др. Сначала задачи управления запасами имели исключительно утилитар% ный характер, их постановки были крайне упрощенными, а применяемые математические методы в основном были эвристическими, т. е. построен% ными по соображениям здравого смысла, без обязательных обоснований, принятых в математике. Теоретических обобщений почти совсем не было. Однако уже в начале 50%х годов XX века бурное развитие теории случайных процессов, теории массового обслуживания, математического программиро% вания, а также существенное увеличение мощностей вычислительной тех% ники и расширение возможностей ее применения способствовали стреми% тельному развитию теории управления запасами. Задачи управления запасами имеют широкий диапазон особенностей. Их постановки могут касаться проблем управления запасами как на простей% ших хозяйственных складах, так и в существенно более общих системах, имеющих сложные сети связей и условия функционирования. Такие задачи составляют предмет исследований как одно%, так и многономенклатурных запасов. Основной характеристикой любого запаса является его количество, имею% щееся в данный момент времени, для определенности, на складе. Это коли% чество запаса может являться непрерывной или дискретной функцией вре% мени. В некоторых задачах отрицательное количество запаса интерпретиру% ется как н е у д о в л е т в о р е н н ы й спрос — абсолютная величина такого запаса выражает его желательное количество. Для многономенклатурных запасов, а также запасов, находящихся в раз% ных местах, их количества определяются векторами, компоненты которых выражают количества запасов соответствующих видов и находящихся в со% ответствующих местах. Основными характеристиками запаса являются с п р о с на него (жела% емое количество запаса), з а к а з н а п о п о л н е н и е з а п а с а (заказанное количество запаса) и п о п о л н е н и е з а п а с а (величина, на которую запас увеличивается). Значения этих показателей запаса со временем изменяются и могут быть случайными величинами. Под и н т е н с и в н о с т ь ю понимают скорость изменения значения со% ответствующего показателя запаса. При постановке задач управления запасами особо отмечают моменты вре% мени, когда появляется спрос на запас, поступают заказы на его пополнение 284

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Рис. 6.25

и собственно проводится пополнение запаса. Такие моменты времени могут быть случайными, заранее установленными или определяться после реше% ния этих задач. Рассмотрим несколько примеров задач управления запасами. Пусть на протяжении ближайших T единиц времени необходимо обеспе% чивать сырьем некоторое промышленное предприятие. Учитывая расходы, связанные с необходимостью приобретения этого сырья, его транспортиров% кой и хранением, требуется разработать такой план обеспечения предпри% ятия сырьем, при котором при условии полного и своевременного удовле% творения спроса на сырье общая сумма соответствующих расходов мини% мальна. Пусть в моменты времени t0, t1, ..., tn–1 на предприятие может поступать заказанное сырье. Пусть t0 º 0, t0 < t1 < t2 ... < tn–1 < tn, tn º T, и в момент вре% мени ti–1 известен спрос di на это сырье, i = 1, ..., n. Формально промежуток времени [0; T] разделен на n промежутков {[ti–1; ti]}. Пусть ti º ti – ti–1 — продолжительность i%го промежутка времени [ti–1; ti], i = 1, ..., n (рис. 6.25). Пусть количества приобретенного и имеющегося сырья в момент време% ни ti–1 обозначены соответственно xi и yi–1, а yn — количество сырья в момент времени tn = T, i = 1, .., n. Для каждого i%го промежутка времени [ti–1; ti] расходы на приобретение и хранение сырья зависят от его количества xi, скорости использования имею% щегося сырья, количество оставшегося сырья yi и, возможно, от порядково% го номера i промежутка времени [ti–1; ti]. Пусть Ci(xi, yi, yi–1) — указанного типа расходы на протяжении i%го про% межутка времени [ti–1; ti]. Тогда значение функции f (x, y) 3

n

4 Ci (xi , yi , yi11 ) i 21

(6.224)

выражает общие расходы на приобретение и хранение сырья в течение про% межутка времени [0; T]. Пусть компоненты {xi} и {yi} соответственно векторов x º (x1, ..., xn) и y º (y0, y1, ..., yn) удовлетворяют условиям xi + yi–1 = di,

i = 1, ..., n,

(6.225)

(спрос di на сырье в каждый i%й промежуток времени [ti – 1; ti] полностью удов% летворен); xi ³ 0, yi ³ 0, i = 1, ..., n, y0 ³ 0, (6.226) (компоненты векторов x и y являются неотрицательными действительными числами). ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

285

Наилучшим планом, конкретизирующим объемы заказанного и храня% щегося сырья, естественно считать векторы x и y, доставляющие наимень% шее значение функции расходов f (x, y) (6.224) (компоненты этих векторов должны удовлетворять условиям (6.225) и (6.226); y0 — некоторое фиксиро% ванное неотрицательное число). Рассмотрим несколько задач указанного типа, различающихся продол% жительностью времени {ti} между последовательными заказами сырья, спросом на сырье {di} и расходами {Ci(xi, yi, yi – 1)} на его приобретение и хранение. Пусть на i%м промежутке времени [ti–1; ti] часть общих расходов Ci(xi, yi, yi–1), связанных с приобретением сырья в количестве xi единиц, равна произведению qixi, где qi — цена покупки и доставки на предприятие едини% цы количества сырья. Кроме того, пусть в момент времени t Î [ti–1; ti]: · zi(t) — имеющееся на предприятии количество сырья; · ci(t) — денежные расходы, обусловленные хранением единицы количест% ва сырья на протяжении единицы времени. Тогда расходы на хранение сырья на протяжении dt единиц времени со% ставят ci(t)zi(t)dt, а на протяжении времени [ti–1; ti] — ti

2 ci (t)zi (t)dt

ti11

единиц измерения денежных расходов. Значит, при указанных предположениях и при условии аддитивности расходов, связанных с приобретением и хранением сырья, ti

Ci (xi , yi , yi 11 ) 2 qi xi 3

4 ci (t)zi (t)dt.

(6.227)

ti11

Если расходы, связанные с хранением сырья, не изменяются, т. е. если для некоторого действительного числа gi ci(t) = gi

" t Î [ti–1; ti],

(6.228)

то ti

Ci (xi , yi , yi11 ) 2 qi xi 3 gi

4 zi (t)dt.

(6.227¢)

ti11

Если при этом количество имеющегося сырья zi(t) изменяется со време% нем по линейному закону — для некоторых фиксированных действитель% ных чисел a и b zi(t) = at + b " t Î [ti – 1; ti], (6.229) то 4 22 3 21231 5 7 9 121 3 21 31 2 94 31 141 2 51 2 51 31 3 6 61 41 7 71 8 8 1

2

286

(6.227²)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Так как ti º ti – ti–1, равенство (6.227²) можно переписать в виде

1

Ci (xi , yi , yi31 ) 5 qi xi 6 gi 4i ati31 6

2

a4i 6b . 2

(6.230)

В предположении линейной зависимости изменения количества сырья, имеющегося на предприятии, значения числовых параметров a и b зависи% мости (6.229) вычислить достаточно просто. Действительно, в принятых обозначениях в момент времени ti–1 на пред% приятии имеется yi–1 + xi единиц сырья, а в момент времени ti этого сырья остается yi единиц. Значит, указанные параметры a и b удовлетворяют систе% ме линейных алгебраических уравнений

4ati11 2 b 3 yi11 2 xi , 5 6 ati 2 b 3 yi .

(6.231)

Единственное решение этой системы уравнений вычисляется просто:

a6

1 x 4 y 21t 4 5 2 3 yiti31 yi 3 xi 3 yi31 , b 6 i i31 i31 i . 5i 5i

(6.232)

После подстановки в формулу (6.230) значений a и b, вычисленных со% гласно (6.232), эта формула принимает вид g4 Ci (xi , yi , yi 31 ) 5 qi xi 6 i i 1 xi 6 yi 31 6 yi 2. (6.230¢) 2 Если указанные предположения выполняются на всех промежутках вре% мени {[ti – 1; ti]}, то общие расходы, связанные с приобретением и хранением сырья на протяжении времени [0; T], подсчитываются по формуле n

f (x, y) 4 7 qi xi 5 i 41

n

1 gi 6i 1 xi 5 yi31 5 yi 2. 27 i 41

(6.233)

Следует отметить, что отличия тарифов q и g соответственно на приобре% тение и хранение сырья для разных промежутков времени могут быть вызва% ны известными сезонными изменениями на его спрос и предложение. Условия (6.225) очевидно эквивалентны условиям xi + yi–1 + yi = di + 2yi,

i = 1, ..., n.

(6.225¢)

Значит, ввиду (6.233) n

f (x, y) 3 6 qi xi 4 i 31

n

1 gi 5i 1 di 4 2yi 2. 26 i 31

(6.233¢)

Легко убедиться, что условия (6.225) можно также переписать в виде i

yi 3 y0 4 6 1 xj 5 dj 2,

i 3 1, ..., n .

j 31

(6.225²)

После подстановки в формулу (6.233¢) значений {yi}, вычисленных соглас% но (6.225²), и выполнения несложных преобразований будет получена зависи% мость общих расходов на приобретение и хранение сырья как функции j(x) только количеств {xi} сырья, заказанного в моменты времени t0, t1, ..., tn – 1: ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

287

n i 4 4 55 1 g 9 d 8 y 8 xj dj 2 3 2 1 i i i 0   2 i 31 i 31 j 31



n 4 n n 5 3  qi 8  g j 9 j xi 8 B 3  Ai xi 8 B, i 31 j 3i i 31  n

6(x) 7  qi xi 8

где

n

Ai 2 qi 3 5 g j 4 j ,

i 1 1,..., n,

(6.234)

(6.235)

j 1i

B2

n

n

n

i

1 gidi 3i 4 y0 6 gi 3i 5 6 gi 3i 6 dj . 26 i 11 i 11 i 11 j 11

(6.236)

При таких предположениях наименьшие расходы, вызванные приобре% тением и хранением сырья, равны значению j* следующей задачи линейного программирования. Задача 6.7.1. n (6.237) 2(x) 1 5 Ai xi 3 B 4 min, x

i 11 i

i

j 11

j 11

4 xj 2 4 dj 3 y0 , xi ³ 0,

i 1 1,..., n,

i = 1, ..., n,

(6.238) (6.239)

где числовые параметры {Ai} и B вычисляются соответственно по форму% лам (6.235) и (6.236); неравенства (6.238) эквивалентны требованию (6.226) неотрицательности значений {yi}, вычисляемых по формуле (6.225²). Поскольку все значения {Ai} положительны, а допустимые значения {xi} ограничены снизу, у задачи (6.237)–(6.239) имеется по крайней мере одно решение x*. Компоненты этого решения собственно и определяют количест% ва заказанного сырья в моменты времени t0, t1, ..., tn–1, при которых затраты на его приобретение и хранение наименьшие из возможных. Для отыскания решения задачи (6.237)–(6.239) можно воспользоваться, например, симплекс%методом (см. разд. 6.1.3). Однако в некоторых случаях найти решение этой задачи достаточно просто. Пусть тарифы {qi} и {gi} на приобретение и хранение сырья на протяже% нии времени [0; T] неизменны: для некоторых фиксированных положитель% ных параметров q и g qi = q,

gi = g,

i = 1, ..., n.

(6.240)

Приняв во внимание это предположение в формулах (6.235), имеем n

Ai 1 q 2 g 4 3 j ,

i 1 1,..., n,

(6.235¢)

j 1i

ввиду чего и положительности {ti} следует, что A1 > A2 > ... > An. 288

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Введем n новых переменных {zi}: z1 2 x1 , 3 4 z2 2 x1 5 x2 6 z1 5 x2 , 44 z3 2 x1 5 x2 5 x3 6 z2 5 x3 , 7 4 . . . . . . . . . . . . . . . . . 4 zn 2 x1 5 x2 5 x3 5 1 5 xn 6 zn 11 5 xn .48

(6.241)

x1 2 z1, 3 x2 2 z2 1 z1, 4 44 x3 2 z3 1 z2 , 5 4 . . . . . 4 xn 2 zn 1 zn11,46

(6.241¢)

Значит,

и в терминах переменных {zi} задача (6.237)–(6.239) принимает вид n

n 31

i 52

i 51

6(z) 7 A1z1 4 Ai 1 zi 3 zi 31 2 4 B 5 1 Ai 3 Ai 41 2 zi 4 An zn 4 B 5 n 31

5 g 8i zi 4 1 q 4 g 8n 2 zn 4 B 9 min,

(6.237¢)

z

i 51

zi 2

i

4 dj 3 y0 ,

i 1 1,..., n,

(6.238¢)

j 11

zn ³ zn – 1 ³ ... ³ z1 ³ 0.

(6.239¢)

Так как все параметры g, q и {ti} принимают только положительные зна% чения, положительны и все коэффициенты при переменных {zi} линейной минимизируемой функции F(z). Значит, каждая i%я компонента z*i решения z* задачи (6.237¢)–(6.239¢) — задачи 6.7.1 — вычисляется таким образом: z31 5 max10, d1 4 y0 2, 78 76 z3i 5 max z3i 41, dj 4 y0 9, j 51 7 7 i

6 7 9 i 5 2,..., n,7

(6.242)

где, по определению,

2v, если v 1 w, max{v, w} 3 4 6w, если v 5 w, — наибольшее из чисел v и w. Итак, при условии (6.240) задача 6.7.1 решается следующим образом: · по формулам (6.242) вычисляются значения {z*i} вспомогательных пере% менных {zi} — отыскивается решение z* задачи (6.237¢)–(6.239¢); ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

289

· после подстановки в формулы (6.241¢) вместо {zi} соответствующих зна% чений {z*i} определяется решение {x*i} задачи (6.237)–(6.239) — значения соответствующих компонент {xi}; · наименьшие возможные затраты на приобретение и хранение сырья рав% ны значению функции j(x) (6.234), принимаемому ею в точке x*. Пусть теперь количество сырья xi + yi–1 – yi, расходуемого на предпри% ятии за время [ti–1; ti], о т л и ч а е т с я от запланированного значения di (т. е. для некоторых промежутков времени планового периода равенства (6.225) могут не выполняться). Если для некоторого i Î {1, ..., n} выполняется неравенство xi + yi–1 – yi £ di,

(6.243)

то это означает, что количество недополученного на предприятии сырья за промежуток времени [ti–1; ti] равно значению di – (xi + yi–1 – yi); если же xi + yi–1 – yi ³ di,

(6.244)

то на предприятие завезен излишек сырья (xi + yi–1 – yi) – di. В каждом из отмеченных случаев приходится расходовать дополнитель% ные деньги: при выполнении неравенства (6.243) деньги могут тратиться на оплату штрафов, налагаемых на предприятие за невыполнение догово% ренностей по выпуску продукции, за простой производственного оборудо% вания, на оперативную закупку сырья и т. п.; при выполнении неравенст% ва (6.244) могут существенно возрасти расходы, связанные с хранением сырья (необходимо создавать новые или арендовать дополнительные склад% ские помещения). Пусть сумма денег, выплачиваемых предприятием за невыполнение условия xi + yi–1 – yi = di, (6.245) прямо пропорциональна величине отклонения его левой части xi + yi–1 – yi от запланированного значения di: для некоторых заданных положительных qi1 и qi1 значения функции pi (xi , yi 51 , yi ) 7 qi5 max30, di 5 1 xi 6 yi 51 5 yi 24 6 qi6 max 30, 1 xi 6 yi 51 5 yi 2 5 di 4

(6.246) являются количественным выражением денежного наказания предприятия (штрафа) за нарушение соглашения (6.243) на протяжении i%го промежутка времени [ti–1; ti], i = 1, ..., n. В функции pi(xi, yi–1, yi) обобщены три возможных случая характера вы% полнения (невыполнения) условия (6.243). Очевидно, что 5qi3 1 di 3 (xi 4 yi31 3 yi ) 2, 6 pi (xi , yi31, yi ) 7 8qi4 1 (xi 4 yi 31 3 yi ) 3 di 2, 60, 9

290

при условии (6.243), при условии (6.244), при условии (6.245).

(6.246¢)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Ввиду правила (6.233) вычисления расходов f (x, y), связанных с постав% кой и хранением сырья, более общей функцией этих расходов является n

F (x, y) 3 f (x, y) 4 5 pi (xi , yi 11,yi ).

(6.247)

i 21

При ограниченных объемах поставки сырья и вместимости склада для его хранения известный интерес представляет и такая задача. Задача 6.7.2. Определить объемы поставок {xi} сырья и его хранения {yi}, при которых выполняются условия 0 £ x i £ hi,

0 £ yi £ s i,

i = 1, ..., n,

а функция F(x, y) (6.247) принимает наименьшее значение. Поскольку все функции {pi( × )} недифференцируемы, функция F(x, y) (6.247) также недифференцируема. Поэтому задача 6.7.2 является задачей недифференцируемой оптимизации (более точно, она является задачей ми% нимизации недифференцируемой выпуклой функции при простейших огра% ничениях на переменные), и для отыскания ее решения нужно применять специальные методы. Рассмотрим теперь другие условия поставки сырья — задачу 6.7.3. Задача 6.7.3. Пусть за время T на предприятии следует переработать сы% рье в количестве D единиц, за приобретение которого уже выплачена неко% торая сумма денег. Пусть также: · запасов сырья на предприятии нет и на момент времени T его не должно остаться на предприятии; · расходы, связанные с доставкой сырья, не зависят от его количества и равны Q денежным единицам за каждый акт его поставки; · количество имеющегося на предприятии сырья уменьшается по линей% ному закону и темп этого уменьшения неизменен и равен частному D/T: если z(t) — количество имеющегося на предприятии сырья в момент вре% мени t Î [0; T], то для произвольных моментов времени t1 и t2, между которыми сырье на предприятие не поступает и таких, что

1

0 3 t1 4 t2 3 min t1 5

2

T z(t ), T , D 1

выполняется равенство z(t2 ) 1 z(t1 ) D 21 , t2 1 t1 T

эквивалентное равенству z(t2 ) 3 z(t1 ) 4

D 1t 4 t 2 T 2 1

Рис. 6.26

(геометрическая иллюстрация этого предположения дана на рисунке 6.26; жирной линией отражено количество имеющегося на предприятии сы% рья в промежутке времени [t1; t2]); ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

291

· расходы, обусловленные хранением сырья, со временем не изменяются и пропорциональны его количеству: за хранение v единиц сырья на протя% жении единицы времени предприятие тратит gv денежных единиц. Значит, если все необходимое сырье завести на предприятие за один раз, то за это придется заплатить сумму денег Q — минимально возможную сум% му. Однако поскольку все это сырье не будет мгновенно переработано, за его gDT хранение придется заплатить еще сумму денег (согласно методу полу% 2 чения второго слагаемого в формуле (6.230¢)). Если же сырье завозится на предприятие несколько раз, то расходы, свя% занные с его транспортировкой, увеличиваются, а за его хранение — умень% шаются. Отсюда следует естественный вопрос о разработке такого плана поставок сырья на предприятие, при котором общие расходы на его транспортировку и хранение минимальны. Для исключения необходимости обосновывать правильность нескольких утверждений, имеющих технический характер, далее предполагается, что поставки сырья на предприятие проводятся: · мгновенно в тот момент времени, когда в сырье возникает необходимость, а его на предприятии уже не осталось; · одинаковыми по объему партиями; · через одинаковые промежутки времени. Геометрическая иллюстрация этих предположений дана на рисунке 6.27. Пусть t — продолжительность времени между двумя последовательны% ми поставками сырья на предприятие, а d — количество сырья, завозимого при каждой поставке. Тогда: gd1 · — расходы на хранение сырья между двумя последовательными его 2 поставками на предприятие; T D · n1 1 — общее количество поставок сырья на предприятие; 2 d · Q 4 gd3 n 5 QT 4 gD3 — общие расходы, связанные с поставками сырья 2 3 2 на предприятие и его хранение. Очевидно функция

1

2

2112 3

34 121 4 1 3

(6.248)

выпукла и дифференцируема на множе% стве положительных значений t. Поэто% му каждая положительная стационар% ная точка этой функции является реше% нием задачи 3 (1) 4 min. 12 0

Рис. 6.27

292

(6.249)

Согласно правилам дифференциро% вания функций имеем ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

QT gD 6 . 2 32 Значит, единственным положительным решением уравнения 21(3) 4 5

1

QT gD 2 30 2 42

— единственной положительной стационарной точкой функции y (6.248) — является точка 2QT 12 , gD в которой эта функция принимает наименьшее значение 21 3 2gDQT .

Количество поставок сырья на предприятие, при котором обеспечиваются наименьшие общие расходы y* на эти поставки и на хранение сырья, равно

n1

gDT , 2Q

а объем партии сырья при каждой его поставке —

d1

2QD . gT

Вопросы и задания К разд. 6.1. Задачи линейного программирования

1. Дайте определение задачи линейного программирования (ЛП). Запишите по% становку общей задачи ЛП в каноническом (стандартном) виде. 2. Какие вам известны утверждения о свойствах задач ЛП? 3. Докажите, что отсутствие ограничений на переменные в задаче ЛП привело бы к неограниченности ее значения и к отсутствию решений. 4. Как произвольную задачу ЛП преобразовать к задаче ЛП в канонической (стан% дартной) постановке? Как связаны между собой соответственно значения и ре% шения исходной задачи и преобразованной? 5. Дайте геометрическую интерпретацию задачи ЛП в канонической постановке. В каких случаях применим геометрический метод решения задачи ЛП? Опи% шите этот метод. 6. Разработайте и опишите метод решения такой задачи ЛП в канонической поста% новке, в которой число линейных ограничений на 1 меньше числа переменных задачи. 7. Какие переменные задачи ЛП называют свободными, а какие — базисными? 8. Какое множество называют симплексом? Дайте определение угловой точки вы% пуклого множества. 9. Преобразуйте к каноническому виду задачи ЛП:

4321 2 522 3 6789 11111 5 а) 6221 2 22 2 23 7 2 9 5

21 2 222 2 24 7

421 2 222 3 6789 11112 5 б) 6 21 2 522 8 219 5

921 2 322 8

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

293

421 2 22 3 3456 11111 5 57 21 6 22 7 186 в) 8 5221 2 922 7 186 57 2 6 2 7 9 1 2

421 2 222 3 3456 11111 5 5 7 21 6 22 7 126 г) 8 5 221 2 922 7 186 5 7 2 6 2 7 9 1 2

41321 2 22 3 4567 11111 5 д) 622921 7 2222 8

7 5 92321 2 922 8 2

4821 2 22 3 4567 11111 5 е) 622121 7 2222 8 7 5 91821 2 22 8 29

10. Приведите к каноническому виду задачу ЛП 5321 2 4 2 2 3 23 4 5678 1111 6 8 2 21 3 923 7 9 8 6 22 2 32 9 128

1 2

в которой переменные также удовлетворяют условиям: а) x1, x2, x3 ³ 0; б) x4 ³ 4, x2, x3 ³ 0; г) x1 ³ 4, x3 ³ 0; в) x1, x3 ³ 0, x2 ³ –5; д) x1 ³ 0, 0 £ x3 £ 20; е) | x1 | £ 5, 0 £ x3 £ 10. 11. Приведите к каноническому виду задачу ЛП 521 2 22 2 3 323 4 4567 1111 6 6 21 3 22 3 23 7 87 6 8 21 2 22 3 23 7 227 6 321 3 223 9 97 6 6 2 2 2 23 17

в которой переменные также удовлетворяют условиям: а) x1, x2, x3 ³ 0; б) x1, x2 ³ 0, x3 £ 0; в) x1, x2 ³ 0, x3 ³ –4; г) x1, x2 ³ 0; е) x2, x3 ³ 0, x2 ³ 2. д) x2, x3 ³ 0; 12. Приведите к каноническому виду задачу ЛП

52221 3 52 2 2 23 3 62 4 4 789

1111 6 4 21 2 223 3 2 4 7 2

66 8 221 3 2 2 3 4 23 2 24 9 12

6 2321 3 222 2 2 4 7 231

6 6 21 3 22 3 23 3 24 12 в которой переменные также удовлетворяют условиям: б) x1, x2, x3 ³ 0, x4 £ 0; а) x1, x2, x3, x4 ³ 0; в) x1, x2, x3 ³ 0, x4 ³ 2; г) x1, x2, x3 ³ 0, x4 ³ –2; д) x1, x2, x3 ³ 0; е) x1, x3 ³ 0, x2 ³ –6, x4 ³ –2. 13. Приведите к каноническому виду задачу ЛП

5 21 2 522 2 523 3 224 4 6789 1111 6 663521 2 32 2 3 4 23 2 2 4 7 31 9 8 321 2 2 2 3 223 3 2 4 9 9 6 6 21 2 4 2 2 2 4 23 2 32 4 7 159 6 221 2 2 2 2 223 3 2 4 9 3119

294

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

в которой переменные также удовлетворяют условиям: а) x1, x2, x3, x4 ³ 0; б) x2, x3, x4 ³ 0, x1 £ 0; г) x1 ³ –2, x2, x3, x4 ³ 0; в) x1 ³ 2, x2, x3, x4 ³ 0; д) x2, x3, x4 ³ 0; е) x2, x3 ³ 0. 14. Решите геометрическим методом задачи, сформулированные в пп.9–13. 15. При ограничениях 311311 1 141 2 2 11435 4 411 5 1312 2 435 6 11 1 1 2 2 35 4 11 2 25 1 2 2 3 7

a) минимизируйте x1; б) максимизируйте x1; в) минимизируйте x2; г) максимизируйте x2; е) максимизируйте x1 + x2; д) минимизируйте x1 + x2; ж) минимизируйте 2x1 – x2; з) максимизируйте 2x1 – x2. 16. Дайте геометрическую интерпретацию условиям 4 11 1 312 2 213 2 1 4 3 215 5 6611 1 21 2 2 13 2 31 4 3 25 5 11 5 1 2 5 13 5 1 4 7 78 8

17. Опишите метод отыскания угловой точки множества неотрицательных реше% ний системы конечного числа линейных равенств и неравенств. 18. Для задач, являющихся результатами преобразования задач ЛП заданий 9–13 к задачам ЛП в канонических постановках, определите наборы базисных и сво% бодных переменных. Для каждой из этих задач найдите угловую точку ее мно% жества допустимых точек. 19. Как определяется симплекс%таблица задачи ЛП? Для чего предназначена эта таблица? Для каждой ли задачи ЛП определяется симплекс%таблица? 20. Опишите процедуру обновления симплекс%таблицы, предназначенную для оты% скания угловой точки множества допустимых точек задачи ЛП. 21. Опишите процедуру обновления симплекс%таблицы при работе симплекс%метода. 22. Опишите структуру симплекс%метода решения задачи ЛП. 23. Опишите сущность общих проблем, возникающих при практичном примене% нии симплекс%метода. 24. Симплекс%методом решите задачи, сформулированные в заданиях 9–13, 15. 25. Как определяется двойственная задача задачи ЛП? Приведите пример. 26. Какая имеется связь между значениями и решениями взаимодвойственных за% дач ЛП? Как эту связь можно использовать на практике? 27. Почему полезно знать решение двойственной задачи? 28. Сопоставьте задачам, сформулированным в заданиях 9–13 и 15, их двойствен% ные задачи. Решите каждую из этих двойственных задач и по полученным ее значению и решению найдите значение и решение соответствующей исходной задачи. 29. Как найти значение и решение двойственной задачи по известным значению и решению исходной задачи ЛП? 30. Решите задачу (6.67) в предположении, что n = 10 и 352 4 1123453 63 273 463 453 283 223 473 4821 9

6 1 57 3 4 163 23 73 53 23 73 3483 23 12 9 4 4 41889

352 4 112 342562 472512562 482 4425725821 9

6 1 57 3 4 172 12 42 62 42 72 2582 42 32 9 4 4 55889

352 4 1123453 263473453 283 73 2234634821 9 352 4 1123453 263 473 73453 283 223 463 48 21 9

6

6 1 1 57 3 4 1 73 23 53 23 63 3 63483 23 12 9 4 4 4 889 57 3 4 173 23 53 23 63 63 3 483 23 12 9 4 4 4 889 ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

295

352 4 1123 43563 273543563 283 2235735821 9

6 1 57 3 4 1 43 73 23 63 23 73 3583 23 12 9 4 4 5 889 1

352 4 1123453 263 73473453 283 2234634821 9

6 1 57 3 4 173 23 53 63 23 63 3483 23 12 9 4 4 46889

532 4 1123453 263473453 73 283 223463482 9

6 1 57 3 4 173 23 53 23 63 63 3483 23 12 9 4 4 45889

352 4 1123453 263473453 283 223463483 72 9

6 1 57 3 4 173 23 53 23 63 3483 23 13 62 9 4 4 48889

32 4 1123453 263473453 283 223463 734821 9 5

6 1 57 3 4 173 23 53 23 63 3483 23 63 12 9 4 4 4 889

32 4 1123453 263473453 283 223 7346348 21 9 5

6 1 57 3 4 173 23 53 23 63 3483 63 23 1 2 9 4 4 4788

1

31. Сформулируйте математическую постановку и дайте экономическое толкова% ние закрытой транспортной задачи ЛП (ТЗЛП). Какие утверждения об этой за% даче вам известны? 32. Как преобразовать постановку закрытой ТЗЛП к каноническому виду задачи ЛП? В каких случаях целесообразно проводить такое преобразование? 33. Опишите транспортную таблицу. Какие клетки этой таблицы называют свобод% ными, а какие — базисными? Сколько в транспортной таблице имеется базис% ных и сколько — свободных клеток? Могут ли базисные клетки транспортной таблицы содержать нулевые перевозки? 34. Опишите метод северо%западного угла отыскания допустимого опорного плана закрытой ТЗЛП. Для каждой ли такой задачи возможно применение этого ме% тода? Проиллюстрируйте работу метода северо%западного угла. 35. Можно ли применять метод северо%восточного (юго%западного) угла для отыска% ния допустимого опорного плана закрытой ТЗЛП? Опишите один из таких ме% тодов и проиллюстрируйте его работу на примере. 36. Для данных натуральных значений k, m и n (k — номер варианта задачи, m — число поставщиков и n — число заказчиков продукции) постройте транспорт% ную таблицу и методом северо%западного угла определите опорный план перево% зок в предположении, что у i%го поставщика имеется ai = k(i + 1)2 единиц про% дукции, i = 1, ..., m, j%й заказчик заказал эту продукцию в количестве bj = kj 2 31 6 51 2 единиц, 52 4 6 88 13 7 12 3 4 99 3 а цена cij перевозки единицы продукции от i%го 4 41

3 41 ее поставщика j%му заказчику определяется по формуле

cij = k + | i – j |,

i = 1, ..., m, j = 1, ..., n.

37. Сформулируйте определения цикла перевозок и его цены. Приведите примеры таких циклов. Как можно применять цикл перевозок для корректировки имею% щегося плана перевозок? Как при этом изменяется цена перевозок? 38. Для транспортной таблицы 6.24 постройте все циклы, началами которых являют% ся свободные клетки таблицы, а всеми другими клетками каждого цикла являют% ся только базисные клетки этой таблицы. Вычислите цены построенных циклов. 39. Опишите общую структуру метода последовательного улучшения планов пере% возок. Какие вспомогательные задачи нужно решать и какие проблемы могут возникнуть при практической реализации этого метода? Когда целесообразно применять метод последовательного улучшения планов перевозок? 40. Закрытую ТЗЛП задания 36 решите методом последовательного улучшения пла% нов перевозок. 41. Запишите двойственную задачу закрытой ТЗЛП. Что можно утверждать о зна% чении этой задачи и о наличии у нее решения? 42. Дайте экономическую интерпретацию двойственной задачи закрытой ТЗЛП. 43. Как по известному решению закрытой ТЗЛП найти решение ее двойственной задачи? Всегда ли у двойственной задачи есть решение?

296

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

44. Как по известному решению двойственной задачи закрытой ТЗЛП найти ее ре% шение? 45. Как закрытую ТЗЛП преобразовать к виду задачи безусловной минимизации вогнутой недифференцируемой функции? Каковы достоинства и недостатки у полученной задачи? 46. Как в данной точке u0 Î Rm вычислить какой%либо субградиент выпуклой функ% ции –F(u), противоположной вогнутой функции F(u) (6.90)? Как в этой точке вычисляется субдифференциал функции –F(u)? 47. Запишите двойственную задачу закрытой ТЗЛП, сформулированной в задании 36. 48. Опишите метод потенциалов решения закрытой ТЗЛП. Каковы основные слож% ности практической реализации этого метода? 49. Закрытую ТЗЛП задания 36 решите методом потенциалов. 50. Составьте математическую модель постановки закрытой ТЗЛП в предположе% нии (6.103) и при условии следующего принципа вывоза продукции: количества продукции, вывозимой от всех поставщиков, составляют одинаковые доли от имеющихся у них количеств этой продукции. 51. Какой вид примет транспортная задача распределения продукции среди заказ% чиков, если при условиях постановки задачи (6.107) каждому заказчику можно поставлять любое количество продукции? 52. Дайте экономическую интерпретацию задачи 2 41 5 6 4 7 4 2 7 2 

683 234 56 783 9  543  6883 234 56  543 9 7883   843 543  278 15 2 3 31     4 31  4 31 4 31  1  4 3 169996 26  543 3 94 6 3 31 543  56 4 3 169996 26 3 3 169996 19  12

К какому классу задач математического программирования относится эта зада% ча? При каких условиях у нее есть решения? К разд. 6.2. Задачи дробноBлинейного программирования

1. Приведите пример дробно%линейной функции одной переменной, не являющейся выпуклой функцией. 1 1 1 2 2 33 2. Докажите, что градиент Ñf (x) дробно%линейной функции 4 2 2 3 4 вы% 1 51 2 2 3 6 числяется по формуле 1 1 2 1 3 24 22 1 3 2 3 3 4 44 3 5 6 5 3. Докажите, что задача дробно%линейного программирования 1 6 7 8 234 5 9

45 1 5 5 1 34 94 11 3 652 6 71  82 5 652 11 3 62 6 1 3  75

3  158885 22

эквивалентна задаче линейного программирования

3 21 1 4 53 6 234 5 1 12

4. Составьте блок%схему метода 6.2.1 и обоснуйте условия прекращения его работы. 5. Оцените значение и решение задачи (6.110) по данным, полученным после пре% кращения работы метода 6.2.1, примененного для решения задач (6.112) и (6.120). 6. Как следует изменить метод 6.2.1 для одновременного приближенного решения задач (6.112) и (6.120)? ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

297

К разд. 6.3. Задачи целочисленного (дискретного) программирования

1. Пусть каждую из n работ может выполнить любой из n имеющихся специали% стов. Пусть каждая работа может выполняться независимо от других работ и для ее выполнения может быть назначен только один исполнитель. Предпола% гая, что для выполнения i%й работы j%м специалистом необходимо потратить tij единиц времени, i, j = 1, ..., n, запишите математическую постановку задачи распределения специалистов по работам (задачу о назначениях), при котором суммарное время выполнения этих работ минимально. Какой вид примет задача, если при распределении специалистов по работам потребовать как можно более быстро выполнить все работы? 2. Запишите модифицированную постановку задачи о рюкзаке в предположении, что турист может его наполнять несколькими упаковками одного типа. 3. Пусть каждая j%я прямоугольная упаковка некоторых товаров характеризуется ценой cj, весом pj, высотой hj, шириной wj и длиной lj, j = 1, ..., n. Пусть для перевозки товаров в этих упаковках можно применять автомобиль с прямоугольным кузовом. При этом общий вес и габариты груза не должны пре% вышать соответственно P единиц веса, а по высоте, ширине и длине — H, W и L единиц длины. Пусть в кузове автомобиля упаковки можно размещать произвольным образом: одну за другой, одну рядом с другой, одну над другой, поворачивать прямо% угольные грани упаковок параллельно граням кузова автомобиля (упаковки можно переворачивать). Запишите постановку задачи отыскания такого заполнения и размещения упа% ковок товаров в кузове автомобиля, при котором общая цена груза автомобиля была бы наибольшей. 4. Как бы вы сформулировали задачу задания 3 в предположении наличия не% скольких типов автомобилей, только один из которых можно арендовать для перевозки товаров? Как при этом можно было бы учесть разные тарифы за арен% ду автомобилей? 5. Как при условиях заданий 3 и 4 описать задачу формирования состава колонны автомобилей, арендуемых для перевозки имеющейся партии товаров? 6. Докажите эквивалентность задач (6.140) и (6.141). 7. Пусть некоторая задача целочисленного программирования содержит 50 неиз% вестных, каждое из которых может принимать только одно из двух возможных значений. Пусть для определения лучшего из двух любых наборов значений переменных задачи требуется 10–9 с. Оцените общее время, необходимое для решения этой задачи методом полного перебора всех возможных наборов значений ее неизвестных. 8. Как общую задачу целочисленного программирования, значения переменных которой ограничены, преобразовать к задаче, имеющей булевы переменные xj Î {0, 1}? 9. Опишите общую вычислительную схему метода отсечений. Как определяется ограничение%отсечение в случае линейных ограничений на переменные зада% чи? Можно ли применять метод отсечений Гомори для решения задач цело% численного нелинейного программирования? Какие при этом появляются про% блемы? 10. Постройте графики функций y = [x] и y = {x} — соответственно целой и дробной части действительного числа x. 11. Докажите, что f * = 19 является значением, а вектор x* с компонентами 111 2 23 1 11 2 12 111 2 23 1 11 2 23 111 2 23 1 11 2 2 — решением задачи целочисленного линей% ного программирования

298

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

43 718 1 411 2 512 2 13 3 9 1 5 5311 2 212 2 14 1 1 5 611 2 412 2 15 1 11 531 2 31 2 1 2 1 1 13 2 3 6 5 1 512     2 1 1  6 7 12. Методом отсечений (Гомори) решите задачи целочисленного линейного програм% мирования (предполагается, что все переменные задач являются неотрицатель% ными целыми числами): 4 311 2 512 3 6789 11211 5

6211 2 12 2 13 7 2 9 5

11 2 212 2 14 7 

411 2 212 3 6789 11212 5 6 11 2 512 8 219 5

911 2 312 8 

411 2 12 3 3451 1121 5 5611 6 12 7 178 9 8 5211 2 12 7 178 561 6 1 7  9 1 2

411 2 212 3 3451 1121 5 5 611 6 12 7 128 8 5 211 2 12 7 178 5 61 6 1 7  9 1 2

4 1311 2 12 3 456 4 711 2 12 3 4568 11211 11211 5 5 9 822 11 6 2212 7

8 822111 6 2212 7 8 5231 2 1 7 2 5171 2 1 7 2  1 2 1 2 9 9 5511 2 212 3 313 2 214 2 315 3 16 4 789

11211 6 6511 2 612 2 413 2 214 3 315 2 516 7 11

8 2 315 2 516 7 1

6511 2 512 2 13 621 2 21 2 21 2 7 4 315 9 1 2 3 13. Решите задачу 36811 1 681 2 1 4813 1 1814 1 28 15 1 18 16 1 317 4 5311 1 51 2 1 4 13 1 1 4 1 4 15 1 316 1 17 6 18 41 7 8 1 2 8 1  7 9 2

2 9 1

14. Для решения каких задач предназначен метод ветвей и границ? Опишите об% щую вычислительную схему этого метода для решения задач целочисленного программирования. 15. Опишите общую вычислительную схему метода ветвей и границ для решения задачи математического программирования, содержащей одну дискретную пе% ременную. 16. Как при решении задачи целочисленного (дискретного) программирования ме% тодом ветвей и границ можно учитывать свойства двойственной задачи? 17. Методом ветвей и границ решите задачи целочисленного линейного программи% рования (предполагается, что все переменные задач являются неотрицательны% ми целыми числами):

4311 2 812 3 4567 11211 5 9 6211 2 12 7 2 7 5 911 2 212 7 

411 2 3 12 3 4567 11211 5 6 11 2 812 7 217 5 9811 2 312 7 

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

299

4 11 2 212 3 3456 1 5 571 6 12 7 186 9 8 1 5211 2 12 7 186 59711 6 12 7 

4 11 2 212 3 3456 11211 5 5 8711 6 12 7 126 5211 2 12 7 186 571 6 1 7  9 1 2

4 311 2 212 3 4567 11211 5

622 11 7 2212 8 997 5 9211 2 12 8 2

4 811 2 912 3 4567 11211 5 622111 7 1 12 8 917 5 9111 2 12 8 2

4411 2 512 2 13 3 6789 11211 5 5 311 2 212 6 1 9 7 5 11 2 412 6 119 5 311 2 312 2 13 6 13 8

18. Методом ветвей и границ решите задачи 12ж и 13. 19. Решите задачу частично дискретного программирования 411 2 12 3 3456 112 1 5 611 7 12 8 12786 5

11 9 96 12 1 16 27 6 7 6 7 6 7 6 7 6 7 6 786 87 6 116 12787 20. Решите задачи дискретного программирования: 611 4 212 5 3456 6211 4 712 5 3456 132 1 132 1 7 7 711 8 12 9 176 711 8 12 9 186 9



711 3 1 16 1 26 11 76 12  2 6 711 3 1 16  26  76  6 8 82 6 71 3  86 8 6  6    71 3 8 6  86  6  6 2 2 2 1 2 1 К разд. 6.4. Задачи динамического программирования

1. Приведите пример задачи динамического программирования. 2. Сформулируйте принцип оптимальности, применяемый при решении задач ди% намического программирования. Поясните сущность этого принципа. 3. Опишите общую постановку задачи динамического программирования. 4. Запишите основное функциональное уравнение динамического программирования. 5. Опишите общую структуру метода решения задач динамического программи% рования. 6. Десять населенных пунктов связывает сеть дорог, обозначенных на рисунке 6.28. Продолжительность {tij} (в часах) перемещения на автомобиле между отдельными населенными пунктами указана рядом с обозначениями этих дорог. Докажите, что быстрее всего из пункта 1 в пункт 10 можно добраться за 34 часа. Укажите соответ% ствующий маршрут перемещения. 7. При условиях предыдущего задания определите кратчайший по продолжи% тельности маршрут передвижения из пункта 1 в пункт 10, предполагая, что время tij переезда из пункта i в пункт j вычисляется по формуле: а) tij = tij + i; б) tij = tij + j; в) tij = tij + i + j, Рис. 6.28 где i и j — номера населенных пунктов.

300

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

8. При условиях задачи задания 6 определите путь, который предпочел бы так% сист, заинтересованный в самой продолжительной поездке с пассажиром из на% селенного пункта 1 в населенный пункт 10. 9. При условиях задач заданий 6 и 8 определите время поездки таксиста из насе% ленного пункта 1 в пункт 10 (с пассажиром) и обратно (без пассажира). Какой именно маршрут предпочтет выбрать таксист? 10. Пусть на производственном предприятии может изготавливаться и храниться некоторая продукция. Пусть при изготовлении xt единиц продукции в t%м проме% жутке времени и при имеющемся количестве yt этой продукции на начало этого промежутка предприятие должно заплатить сумму денег Qt(xt, yt). Пусть извест% ны количества {Dt} заказанной продукции предприятия для каждого промежут% ка времени t = 1, ..., n, и количество y0 имеющейся на предприятии продукции перед первым этапом планирования его производственной деятельности. В указанных терминах дайте экономическую интерпретацию целевой функции и ограничений задачи математического программирования: 6 331 44 5

1

72 332 1 42 4 2 22

42 32 9 32 3 42 2 82 1 32 1 42 91

4 5671 1 7 31 415 7 8 2 2 21 8881 117 2 2 21 8881 187

6

(I)

11. Пусть в терминах задачи задания 10 известно, что n = 6 и 11 1

12 1

13 1

14 1

15 1

16 1

123

143

53

643

163

723

1

Выясните, удовлетворяют ли ограничениям задачи (I) данные: а) y0 = 10, x1 = x2 = ... = x6 = 15; б) y0 = 5, x1 = 20, x2 = x3 = ... = x6 = 15; в) y0 = 5, x1 = x2 = ... = x5 = 15, x6 = 20; г) y0 = 1, x1 = x2 = x3 = 10, x4 = x5 = x6 = 23; д) y0 = 1, y1 = 15, y2 = 20, y3 = 25, y4 = 15, y5 = 5, y6 = 0; е) y0 = 10, y1 = 15, y2 = 20, y3 = 25, y4 = 15, y5 = 5, y6 = 0; ж) y0 = 30, y1 = 15, y2 = 20, y3 = 25, y4 = 15, y5 = 5, y6 = 0; з) y0 = 0, y1 = y2 = ... = y6 = 10; и) y0 = y2 = ... = y5 = 35, y6 = 0; к) y0 = y1 = y2 = y3 = y4 = 35, y5 = 10, y6 = 0. 12. Пусть в терминах задания 10 для каждого t = 1, ..., n, функция затрат Qt(x, y) предприятия определяется по формуле

Qt(x, y) = C(x) + hy, где

2718 2

1

12 3456 3 3 412 3456

1 2 12 141

и a, b, h — заданные неотрицательные числа. Прокомментируйте такую функцию затрат предприятия и смысл всех ее пара% метров. При условиях задания 11 и того, что a = 5, b = 10 и h = 2 определите текущие и общие затраты предприятия, обусловленные производством и хранением цело% численных количеств продукции. 12342567

123

423

523

623

723

823

923

82559 7 23425627 2 25477

123

423

523

723

823

23

23

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

301

13. Для указанных в заданиях 11 и 12 соответственно объемов заказанной на предприятии продукции {Dt} и функций затрат {Qt} и при условии, что коли% чества изготовленной продукции определяются целыми числами, решите за% дачу (I): 12342567

123

423

523

623

723

823

923

1187117

3 3

3 3

3 3

3 3

3 3

3 3

3 3

1 К разд. 6.5. Задачи стохастического программирования

1. Решите одноэтапную задачу стохастического программирования 22 3 23445 1 5 6 3 3441 43445

678578 1 11 9 8

в которой: 1 1 1 2 2 2 3 71455 6 39 4 8 6 3 71455 6 39 4 8 6 6789  

1 1 1 2 2 2 3 71455 6 39 4 8 6 6787 3 71455 6 39 4 8 6 679

96  91 

1 1 4 1 32 52 7 43 5 8 1 667 7

9 389 8 5 8 1 667 7 2

4

  

4 52 7 384 1 9

1 12 3 2 33 223 2. Пусть 1 4 25 64 2 4 5 5 64 3 4 5 136 и для равномерно распределенной на от% 6 3 7 8 7 8 7 8 резке [0; 1] случайной величины x элементы {aij(x)} матрицы A(x) и компоненты {bi(x)}, {cj(x)} соответственно векторов b(x) и c(x) вычисляются по формулам

aij(x) = aije(i – j)x, bi(x) = bieix, cj(x) = cje–jx. Является ли решение задачи 22 3 23445 1 5 6

678578 1 11 9 8

(II)

678578 1 11 9 3 3441 4344 4 91 58

(III)

3 3141 43145 перманентным планом задачи 22 3 23445 1 5

6

(т. е. удовлетворяет ли решение задачи (II) условиям задачи (III))? 3. Приведет ли решение задачи (III) по средним к ее решению? 2 1 12 3 4 13 4 5 4. Пусть 1 6 4 55 b — случайный нормально распределенный вектор евкли% 4 13 6 5 4 6 13 5 7 8 дова пространства R 4, b1 1 b2 1 3, b3 1 b4 1 0, 22bi 1 1, i = 1, ..., 4, D — 2´4%матрица.

302

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Преобразуйте условия

P{ai1x1 + ai2x2 £ bi} ³ 0,9, i = 1, ..., 4, которым должен удовлетворять вектор x = Db, к соответствующим условиям в виде системы линейных алгебраических неравенств. 5. Докажите, что условия (6.214) в пространстве nm + m переменных {dij} и {yi} определяют выпуклое множество. 6. Дайте интерпретацию двухэтапной задачи стохастического программирования в постановке

6 82 4 7 4 345

367

123

122 1 34 4 51 5 6

6 92 1 7

8

3678 427

К разд. 6.6. Задачи сетевого планирования

1. Опишите содержание и назначение структурной таблицы комплекса работ. 2. Опишите процедуру ранжирования «элементарных» работ. 3. Каково назначение сетевого графа комплекса работ? Приведите пример такого графа. 4. Какие работы называют критическими? Как найти такие работы? 5. Приведите примеры оптимизационных задач комплексов работ. 6. Для приведенных в таблице 6.39 структуры комплекса работ и продолжитель% ностей выполнения его отдельных составляющих: а) постройте сетевой граф комплекса работ; б) определите время окончания выполнения всех работ; в) определите все критические пути. 1 2 3 4 5 6 2 7 89 7

43267 5273267

37 5547

43267 5273267

37 5547

43267 5273267

37 5547

12342567 7

37 5547

12342567 7

43267 5273267

12342567 7

37 5547

1234256797

43267 5273267

1234256787

12

2

32

2

42

2

112

2

42

2

32

42

2

42

12

32

2

52

12

32

2

42

62

12

72

42

112

42

72

12

112

12

72

72

42

52

18242

52

18248262

162

48262

52

18262

52

32

2

92

62

32

42

42

12

32

72

42

2

68278232

62

12

42

68272

32

48272

42

18232

32

52

18262

42

382 2

72

78232

112

682 2

72

78232

112

2

18278252

32

48232

52

38252

52

682 2

52

68272

52

92

52

112

2

42

32

32

72

42

62

42

1 2

48232

52

68272

32

78232

42

382 2

32

8252

72

2627

112

8252

72

682 2

112

18242

72

48262

112

68272

52

142

68258292

162

9821 2

52

782 2

52

68252

52

782 82 2

92

ГЛАВА 6. СПЕЦИАЛЬНЫЕ КЛАССЫ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

303

К разд. 6.7. Задачи управления запасами

1. Пусть j, y и f — функции, заданные на множестве X. Докажите, что задача математического программирования 123 144 1 56 54 1 52 6 3 4 1 5 7 178

(IV)

y 1 f (x) 2 min,3 x, y 4 4 y 5 6 (x), 7 y 5 8 (x), 4 4 x 9 X,

(V)

1 32

эквивалентна задаче

в следующем смысле: значения обеих задач одинаковые, а элемент x* Î X тогда и только тогда является решением задачи (IV), когда пара (x* , y *), y* = max{j(x*), y(x*)}, является решением задачи (V). 2. Докажите, что задача 6.7.3 выпуклого программирования эквивалентна задаче линейного программирования 1 8 3 4

5 3 3 1 4 4 4  1 62 52 4 62 62 2 9 5671 3 1 41 5 1 6 7 2 2

52 81 52 72 3 1 32 4 42 32 3 42 2 1

62 81

62 32 4 42 32 3 42 3 72 1 2 7 219991 19  8 32 82 1 8 42 92 1

3. Докажите выпуклость функции (6.248). Обоснуйте правомерность применения теоремы Вейерштрасса для доказательства существования по крайней мере одного решения у задачи (6.249). 4. Исследуйте, изменятся ли решение и значение задачи (6.249) при условии «мгновенных» поставок сырья на предприятие, однако при нарушении некоторых других «технических предположений» поставки сырья проводятся: а) тогда, когда его на предприятии уже не осталось; б) одинаковыми партиями; в) через равноудаленные промежутки времени.

304

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ГЛАВА

ГЛАВА 7. ЗАДАЧИ МНОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

С

равнивать между собой альтернативные решения, конкре% тизирующие различные способы проведения операции, и при этом приме% нять единственный критерий оценивания эффективности этих решений мож% но только в исключительных случаях. Обычно таких критериев бывает не% сколько, причем каждый из них предполагается настолько существенным, что не учитывать его при выборе решения было бы весьма рискованно ввиду возможных нежелательных результатов проводимой операции. Основной методологический вопрос, возникающий при сравнении меж% ду собой альтернативных решений по нескольким критериям их эффектив% ности, такой: какое из двух решений считать лучшим, если при замене од ного из этих решений на второе значение одного или нескольких критериев улучшатся, а остальных — ухудшатся?1 Именно в таких случаях и нельзя дать определение наилучшего (оптимального) решения из множества аль% тернативных решений — что возможно только при одном критерии эффек% тивности (см. разд. 1.3). В этом разделе рассматриваются самые распространенные способы выбо% ра решений, в которых учитываются несколько критериев оценивания их эффективности.

7.1. ПАРЕТОBОПТИМАЛЬНЫЕ РЕШЕНИЯ Пусть X — некоторое множество (альтернативных решений), а {Fi} — за% данные на этом множестве m функций (m ³ 1). Пусть значение каждой из функций {Fi} соответствующим выбором элемента (решения) из множества 1 Пусть f — критериальная функция и для произвольных двух решений x и y лучшим решением считается решение y, если f (x) < f (y). Тогда говорят, что при замене решения a на решение b при f (a) < f (b) значение критерия f улучшается, а при f (a) > f (b) — ухудшается. Если же при условии f (x) < f (y) лучшим считается решение x, то при замене решения a на решение b при f (a) > f (b) значение критерия f улучшается, а при f (a) < f (b) — ухудшается. Если же f (a) = f (b), то решения a и b по критерию f неразличимы (эквивалентны).

ГЛАВА 7. ЗАДАЧИ МОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

305

X желательно сделать, для определенности, наименьшим. Это намерение будет записываться следующим образом: F (x) 1 inf, x1X

(7.1)

1 F1 (x) 2 где F (x) 5 3 1 4 — m%компонентная (критериальная) векторфункция. 3 F (x ) 4 6 m 7 Если m = 1, то осуществление указанного намерения состоит в отыска% нии решения задачи математического программирования F1 (x) 2 inf. x1X

Поскольку такого типа задачи уже достаточно подробно рассматрива% лись в предыдущих разделах книги, далее предполагается, что m > 1, т. е. имеются по крайней мере две критериальные функции {Fi}, каждую из кото% рых можно применять для сравнения решений из X. При этом для данного i%го критерия Fi решение x Î X считается лучшим, чем решение y Î Y, если Fi(x) < Fi(y). Основная проблема, возникающая при выборе решения, состоит в проти% воречивости желания одновременной минимизации на множестве X в с е х критериальных функций {Fi}: может оказаться, что при замене данного ре% шения x Î X на какое%либо другое решение y Î X, хотя значения одних функ% ций%критериев и уменьшаются (улучшаются), значения же некоторых дру% гих критериальных функций увеличиваются (ухудшаются). Пример такого типа ситуаций приведен в разделе 1.1.1, где описана про% блема составления рациона туриста. Эта проблема была сведена к задаче выбора туристом решения, конкретизирующего количества пищевых смесей, приобретаемых им для питания в походе. При этом состав и количество со% держащихся в смесях питательных веществ обязательно должны были удов% летворять требованиям врача%диетолога. Как было отмечено, каждое решение туриста можно характеризовать по крайней мере двумя независимыми показателями — весом (массой) куплен% ных продуктов питания и их ценой. Понятно и желание туриста — принять такое решение, при котором каждый из указанных показателей (критериев) при условии выполнения требований врача%диетолога принимает наимень% шее возможное значение. Однако удовлетворить такое желание туриста оказалось невозможно: у каждой из задач 1.1 и 1.2 имеются единственные решения — соответственно x*, при котором вес купленных продуктов питания наименьший, и y*, отличаю% щееся от x*, при котором цена купленных продуктов питания наименьшая. Рассмотрим еще один пример двухкритериальной задачи оптимизации выбора решения. Пусть необходимо распределить заданную сумму Q денеж% ных поступлений в государственный бюджет страны только между двумя ее секторами — сельскохозяйственным и промышленным. Пусть, для упрощения проблемы, эффективность работы каждого из этих секторов можно охарактеризовать только одним критерием, конкретизируе% 306

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

мым соответствующей функцией F1(x) и F2(x), значение каждой из которых желательно максимизировать путем соответствующего выбора вектора (ре% 1x 2 шения) x 3 4 1 5 (например, Fi(x) — рентабельность i%го сектора экономики, 6 x2 7 оцениваемая в конце года по результатам его работы; x1 и x2 — объемы фи% нансирования первого и второго секторов экономики страны). Такое предположение о зависимости каждого из критериев F1, F2 от объ% емов финансирования о б о и х указанных секторов экономики представля% ется достаточно естественным. Действительно, «недостаточное» финансиро% вание сельского хозяйства не даст соответствующих заказов промышленности и поэтому негативно повлияет на оба сектора экономики; в свою очередь, «недостаточное» финансирование промышленности уменьшит обеспечен% ность сельского хозяйства минеральными удобрениями, сельскохозяйствен% ной техникой, горючесмазочными материалами и т. д., а значит, также при% ведет к общему упадку экономики. Для рассматриваемой задачи каждое возможное решение x Î R2 опреде% ляется н е о т р и ц а т е л ь н ы м и компонентами x1, x2, удовлетворяющими неравенству x1 + x2 £ Q. Однако как же сравнивать между собой альтернативные решения? На% пример, какое из двух имеющихся решений x¢ и x² считать лучшим, если каждое из них имеет неотрицательные компоненты, суммы этих компонент не превосходят Q, но при этом F1(x¢) > F1(x²)

и

F2(x²) > F2(x¢)

(т. е. по критерию F1 лучшим является решение x¢, а по критерию F2 — ре% шение x²)? Такая ситуация типична для бо´льшей части практически значимых многокритериальных задач оптимизации решений. Итак, для нетривиальных многокритериальных задач оптимизации обыч% но нет абсолютно наилучших (по всем критериям одновременно) решений. Однако из этого совсем не следует невозможность рационализировать выбор решения на заданном множестве альтернативных решений. Действительно, если какие%либо два решения x и y из множества X тако% вы, что Fi(x) £ Fi(y)

" i = 1, ..., m,

(7.2)

то решение x естественно считать не хуже решения y. Если же при этом хотя бы одно из неравенств (7.2) выполняется как строгое (для некоторого j Î {1, ..., m} выполняется неравенство Fj(x) < Fj(y)), то решение x лучше ре% шения y. Очевидно, если решение y Î X в указанном смысле не хуже (лучше) неко% торого решения z Î X, то и решение x Î X, что не хуже (лучше) решения y, будет не хуже (лучше) решения z. Поэтому такое правило сравнения реше% ний определяет на множестве X транзитивное отношение предпочтений. ГЛАВА 7. ЗАДАЧИ МОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

307

Однако это отношение предпочтений н е я в л я е т с я п о л н ы м, т. е. н е д л я л ю б ы х н а б о р о в критериальных функций {Fi} описанное правило можно применять для сравнения между собой п р о и з в о л ь н ы х решений: может оказаться, что для некоторых решений x, y Î X Fi(x) £ Fi(y)

" i Î I1

и

Fi(x) > Fi(y)

" i Î I2 ,

где ни одно из множеств индексов I1 и I2 непусто, а их объединение совпадает с множеством {1, 2, ..., m}. В таком случае без каких%либо дополнительных условий нельзя сделать вывод о предпочтительности одного из таких двух решений. Решение xP Î X называют оптимальным по Парето1 (Паретооптималь ным, оптимумом Парето или эффективным), если для произвольного ре% шения x Î X или найдется функция Fi, i = i(x) Î {1, ..., m} (какая именно функция — зависит от решения x), для которой Fi(x) > Fi(xP), или выполняется система нестрогих неравенств Fj(x) ³ Fj(xP),

j = 1, ..., m.

Это же определение может быть представлено и в таком виде: решение xP Î X называют оптимальным по Парето, если н и д л я о д н о й т о ч к и xÎXневозможно выполнение системы неравенств Fj(x) £ Fj(xP),

j = 1, ..., m,

среди которых по крайней мере одно неравенство выполняется как строгое, т. е. для некоторого i = i(x) Î {1, ..., m} Fi(x) < Fi(xP). Из определения Парето%оптимального решения следует, что замена та% кого решения если и приведет к неухудшению (уменьшению или неизменно% сти) значений некоторых критериальных функций, то она о б я з а т е л ь н о приведет к ухудшению (увеличению) значения по крайней мере одной кри% териальной функции. По этой причине именно оптимальные по Парето решения считают разумными решениями. Действительно, утверждать, что имеющееся решение x¢ н е я в л я е т с я оптимальным по Парето, — то же, что и утверждать о возможности заменить это решение на некоторое другое решение x², улучшив при этом значения одних критериев и не ухудшив значения остальных критериев. (Зачем же тогда принимать решение x¢, если имеется лучшее решение x²?) Обратно: если решение Парето%оптимально, то его замена если и не ухудшит значения неко% торых критериев, то т о л ь к о л и ш ь з а с ч е т у х у д ш е н и я значения по крайней мере одного критерия.

1

Вильфредо Парето (Vilfredo Pareto, 1848–1923) — итальянский экономист и социолог.

308

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Для данных множества X и набора критериальных функций {Fi}, опреде0 ленных на этом множестве, множество Парето0оптимальных решений (точек) далее будет обозначаться XP. Таким образом, именно из этого подмножества множества альтернативных решений X и представляется целесообразным для ЛПР проводить выбор решения. Однако множество точек XP может оказаться пустым. Например, у двух функций F1 (x) 4 min{x,2 5 x},

3F (x) 1 1, если 0 2 x 2 2, F2 (x) 4 6 1 если x 7 0 или x 7 2 8 2,

(7.3)

на отрезке X º [0; 2] º {x Î R: 0 £ x £ 2} нет Парето0оптимальных точек (эски0 зы графиков этих функций изображены на рисунке 7.1). Из определения Парето0оптимального решения следует, что при наличии у какой0либо критериальной функции {Fi} е д и н с т в е н н о й точки минимума на множестве X эта точка является оптимумом Парето. Кроме того, каждая точка, являющаяся точкой минимума на X всех без исключения критери0 альных функций (что в большинстве практически значимых задач случает0 ся исключительно редко), также является оптимумом Парето — принадле0 жит множеству XP. Несколько менее жестким, чем определение Парето0оптимального реше0 ния, является определение слабо Парето0оптимального решения. Решение xP Î X называют слабо оптимальным по Парето (слабо Паре тооптимальным, слабым оптимумом Парето или слабоэффективным), если для произвольного решения x Î X найдется функция Fi, i = i(x) Î {1, ..., m}, для которой Fi(x) ³ Fi(xP). (7.4) Альтернативная форма определения слабо Парето0оптимального решения та0 кова: точку xP Î X называют слабым оптимумом Парето, если система не0 равенств Fi(x) < Fi(xP), i = 1, ..., m,

(7.4¢)

на множестве X несовместна — не вы0 полняется ни для одной точки x из мно0 жества X (заменой точки xP на другую точку x Î X н е л ь з я обеспечить одно0 временное улучшение значений всех критериальных функций). В частности, из этого определения следует, что к а ж д а я точка минимума на множестве X любой критериальной функции {Fi} является слабо Парето0 оптимальным решением. ГЛАВА 7. ЗАДАЧИ МОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

Рис. 7.1

309

Множество слабо Парето%оптималь% ных решений далее будет обозначаться XPs . Очевидно выполнение включений

XP 1 XPs 1 X. Значит, даже если множество Парето% оптимальных решений и окажется пустым, то множество слабо оптималь% ных по Парето решений может и не быть таковым. Например, для функций (7.3), заданных на отрезке X º [0; 2], XP = Æ, однако множество XPs непусто и его составляют две точки: XPs 1 {0, 2}. У функций F1(x) º min{x, 1, 3 – x}, F2(x) º max{3 – x, 2, x}

Рис. 7.2

множеством XP Парето%оптимальных на отрезке X º [0; 3] точек является объединение двух интервалов (0; 1) и (2; 3): XP = {x Î R: 0 < x < 1 или 2 < x < 3}, а множество слабо оптимальных по Парето точек XPs совпадает с отрезком [0; 3] ( XP 1 XPs 2 X, рис. 7.2). Возможны случаи, когда множества Парето%оптимальных и (слабо) Па% рето%оптимальных точек совпадают. Например, для функций F1(x) º x,

F2(x) º 1 – x,

заданных на отрезке X º [0; 1]: XP 1 XPs 1 X (рис. 7.3).

Рис. 7.3

310

Рис. 7.4

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Наконец, множество (слабо) Парето$оптимальных точек также может ока$ заться пустым: для функций 20.5, если x 1 0, F1 (x) 3 4 8 x, если 0 5 x 6 1,

если x 1 0, 2 1, F2 (x) 3 4 7 0.2, если 0 5 x 6 1, x 8

заданных на отрезке X º [0; 1], на этом отрезке XPs 1 2 (рис. 7.4). Итак, для данных множества X и набора критериальных функций {Fi}, определенных на этом множестве, интерес представляют ответы на такие 3 основных вопроса о (слабо) Парето$оптимальных точках: · При каких условиях есть (существуют) такие точки? · Как их отличать от других точек? · Как эти точки находить? Ответы на эти и другие вопросы о (слабо) Парето$оптимальных точках существенно зависят от свойств и способов задания множества X и всех критериальных функций {Fi}. Здесь же возможно ограничиться лишь самыми общими утверждениями. При каких условиях существуют (слабо) Парето$оптимальные точки? Как уже отмечалось, из определения Парето$оптимальной точки следу$ ет, что если хотя бы у одной критериальной функции на множестве X имеет$ ся только одна точка минимума, то эта точка принадлежит множеству XP Парето$оптимальных точек, т. е. тогда множество XP непусто. Кроме того, из определения (слабо) Парето$оптимальной точки следует, что к а ж д а я т о ч к а м и н и м у м а на множестве X к а ж д о й к р и т е $ р и а л ь н о й ф у н к ц и и принадлежит множеству XPs (слабо) Парето$ оптимальных точек. Существование же (единственных) точек минимума на данном множестве X для некоторых функций является очевидным следствием нескольких фун$ даментальных теорем из соответствующих разделов математики и свойств, присущих как множеству X, так и этим функциям. Например, если множество X составляет конечное число точек, то у к а ж д о й функции, определенной на этом множестве, очевидно имеется по крайней мере одна точка минимума (каждая из этих точек является слабым оптимумом Парето; если же у какой$либо критериальной функции имеется только одна точка минимума, то она является оптимумом Парето). Если множество X содержит бесконечное число точек и является о г р а $ н и ч е н н ы м и з а м к н у т ы м, то каждая н е п р е р ы в н а я на этом множе$ стве критериальная функция согласно теореме Вейерштрасса в некоторой его точке принимает значение, наименьшее на этом множестве. Значит, эта точка является слабо Парето$оптимальной точкой. Если к тому же множество X в ы п у к л о, то, например, у строго выпуклой на этом множестве функции1 имеется т о л ь к о о д н а т о ч к а м и н и м у м а — одно из достаточных 1 Пусть на выпуклом множестве X Í Rn задана функция f. Эту функцию называют строго выпуклой на множестве X, если для произвольных точек x¢, x² Î X и действительного числа l Î (0; 1) выполняется строгое неравенство f (lx¢ + (1 – l) x²) < lf (x¢) + (1 – l) f (x²) (сравните с определением выпуклой функции, данным в разд. 2.2).

ГЛАВА 7. ЗАДАЧИ МОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

311

условий существования оптимумов Парето при выпуклости множества X и при наличии по крайней мере одной строго выпуклой на этом множестве критериальной функции. Следует отметить, что множества Парето%оптимальных и (слабо) Парето% оптимальных точек все же могут оказаться шире, чем множества точек (стро% гого) минимума критериальных функций {Fi} на множестве X, т. е., для оп% ределенности, множество Парето%оптимальных точек XP может содержать точки, не являющиеся точками минимума ни одной критериальной функции на множестве X (см. рис. 7.2). Поэтому интерес представляют также и такие условия существования непустых множеств XP и XPs , которые не описыва% ются в терминах существования точек минимума отдельных критериаль% ных функций {Fi}. Некоторые из таких условий будут далее конкретизиро% ваны. Как о т л и ч а т ь (слабо) Парето%оптимальные точки от точек, не являю% щихся таковыми? Условия того, что данная точка множества X является (единственной) точкой минимума какой%либо критериальной функции на этом множестве, очевидно, являются д о с т а т о ч н ы м и условиями проверки принадлежности этой точки множеству (слабо) Парето%оптимальных точек (для произвольных и в основном дифференцируемых функций и при различных способах задания множества X эти условия приведены в виде соответствующих утверждений в разд. 3.5, а для специальных классов функций и способах задания мно% жества X — в разд. 6). Безотносительно принадлежности точек минимума какой%либо критери% альной функции {Fi}, i = 1, ... , m, н е о б х о д и м о е и д о с т а т о ч н о е условие Парето%оптимальности данной точки x0 Î X формулируется в терминах функции m

и множества

F (x) 2 3 Fi (x)

(7.5)

X0 º {x Î X: Fi(x) £ F(x0), i = 1, ..., m}.

(7.6)

i 11

Теорема 7.1. Точка x0 Î X является оптимумом Парето для набора кри териальных функций {Fi}, i = 1, . . . , m, на множестве X тогда и только тогда, когда эта точка является точкой минимума функции F(x) (7.5) на множестве X0 (7.6). Если окажется, что проверяемая точка x0 Î X н е я в л я е т с я точкой минимума функции F(x) (7.5) на множестве X0 (7.6) (значит, в силу теоремы 7.1, эта точка не является оптимумом Парето), то для некоторой точки x¢ Î X0 выполняется неравенство F(x¢) < F(x0). (7.7) Поэтому, ввиду принадлежности точки x¢ множеству X 0, выполняется система неравенств Fi(x¢) £ Fi(x0), i = 1, ..., m, среди которых, ввиду выполнения неравенства (7.7), о б я з а т е л ь н о найдет% ся по крайней мере одна критериальная функция Fj, j = j(x¢) Î {1, ..., m}, для которой Fj(x¢) £ Fj(x0). Значит, точка (решение) x¢ л у ч ш е точки (решения) x0. 312

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Таким образом, применение указанного в теореме 7.1 метода проверки имеющегося решения на Парето%оптимальность позволяет, в случае отрица% тельного результата, найти л у ч ш е е решение, чем проверяемое. Способ о т ы с к а н и я (слабо) Парето%оптимальных точек существенно зависит от свойств множества X и критериальных функций {Fi}. Пусть для m критериальных функций {Fi} и m фиксированных п о л о % ж и т е л ь н ы х чисел {ai} V1 (x) 3 max 1 i Fi (x) 12 i 2 m

(7.8)

— функция, заданная на множестве X (для произвольного x Î X значение Va(x) равно наибольшему из m значений a1F1(x), ..., amFm(x)). Теорема 7.2. Пусть в точках множества X все критериальные функции {Fi} принимают только п о л о ж и т е л ь н ы е значения. Тогда для любого набора положительных чисел {ai} каждое решение x* = x* (a) задачи математического программирования V1 (x) 3 inf

x2X

(7.9)

является слабо Паретооптимальной точкой для функций {Fi} на множе стве X. Кроме того, для каждой слабо Паретооптимальной точки x0 1 XPs для функций {Fi} на множестве X найдется набор положительных значений {ai}, при котором эта точка является решением задачи (7.9): Va(x0) £ Va(x)

" x Î X.

(7.10)

Следует отметить, что в случае ограниченности снизу на множестве X всех критериальных функций {fi} можно обеспечить условие положительно% сти на этом множестве некоторых вспомогательных функций {Fi}, множест% ва (слабо) Парето%оптимальных точек для которых и для функций {fi} совпа% дают. Действительно, пусть для некоторых функций {fi} и действительных чи% сел {Ci} выполняются неравенства Ci < fi(x)

" x Î X,

Тогда все функции Fi(x) º fi(x) – Ci,

i = 1, ..., m. i = 1, ..., m,

(7.11) (7.12)

определены на множестве X и принимают на этом множестве только поло% жительные значения. При этом множества (слабо) Парето%оптимальных то% чек для функций {fi} и для функций {Fi} на любом множестве совпадают. Второй у н и в е р с а л ь н ы й метод отыскания слабо Парето%оптимальных решений состоит в следующем. Для произвольного фиксированного набора неотрицательных чисел {ai}, среди которых имеется по крайней мере одно положительное число, пусть m

W1 (x) 3 4 1 i Fi (x) i 21

(7.13)

— функция, заданная на множестве X. ГЛАВА 7. ЗАДАЧИ МОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

313

Каждая точка минимума x* = x* (a) функции Wa (x) (7.13) на множест ве X является слабо Паретооптимальной точкой для критериальных функций {Fi} на этом множестве. Действительно, если для произвольной точки x Î X найдется критери% альная функция Fi, i = i(x) Î {1, ..., m}, для которой выполняется неравенство Fi(x) ³ Fi(x*), то по определению точка x* является слабым оптимумом Парето. Если же для некоторой точки x¢ Î X " i Î {1, ..., m},

Fi(x¢) < Fi(x*)

то, ввиду неотрицательности {ai}, также выполняются и неравенства ai Fi(x¢) < ai Fi(x*)

" i Î {1, ..., m},

а значит, и неравенство W1 (x 4) 5

m

7 1i Fi (x4) i 31

6

m

7 1i Fi (x2 ) i 31

5 W1 (x2 ),

противоречащее предположению о том, что x* — точка минимума функции Wa на множестве X. Весовые коэффициенты {ai} в определении критериальной функции Wa(x) (7.13) обычной (однокритериальной) задачи математического програм% мирования (7.15) можно интерпретировать так. Во%первых, эти коэффици% енты являются коэффициентами приведения к единой единице измерения различных, в общем случае, единиц измерения значений критериальных функций {Fi} (если, например, значение F1(x) выражает «вес» решения x, а значение F2(x) — его «цену», то коэффициенты a1 и a2 должны быть такими, при которых значение a1F1(x) + a2F2(x) имеет смысл и выражает или «вес», или «цену», или какую%либо другую единицу измерения характеристики решения x; в частности, значение a1F1(x) + a2F2(x) может быть и безразмер% ной величиной). И во%вторых, коэффициент ai выражает «степень относи% тельной значимости» критериальной функции Fi: критериальной функции F, более значимой для лица, принимающего решение, должен соответство% вать бо´льший весовой коэффициент a. Оказывается, если все критериальные функции {Fi} в ы п у к л ы н а в ы  п у к л о м множестве X, то к а ж д а я с л а б о Паретооптимальная точка путем соответствующего выбора неотрицательных чисел {ai} является точкой минимума функции Wa(x) (7.13) на множестве X1. Более того, для получения в с е х слабо Паретооптимальных точек выбор значений {ai} достаточно подчинить условию 2 i 3 0,

i 1 1,..., m,

m

4 2i 1 1.

(7.14)

i 11

Следует отметить, что для выбранных значений {ai} условия существова% ния на множестве X точек минимума у функции Va(x) (7.8) или у функции 1 Одно из первых доказательств этого утверждения связывают с именем американского математика и экономиста, лауреата Нобелевской премии по экономике (2007) Л. Гурви% цем (Гурвичем) — Leo (Leonid) Hurwicz (1917–2008).

314

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Wa(x) (7.13) также являются и условиями существования на этом множестве слабо Парето%оптимальных точек для критериальных функций {Fi}. Итак, чтобы отыскать к а к о е % л и б о с л а б о о п т и м а л ь н о е по Парето решение, можно поступать, например, таким образом: · выбрать m произвольных неотрицательных чисел {ai}, по крайней мере одно из которых положительно; · найти решение x* задачи математического программирования m

W1 (x) 4 6 1 i Fi (x) 5 inf.

(7.15)

x2X

i 31

Решение x* = x*(a) этой задачи зависит от выбранных значений {ai} и яв% ляется искомой точкой — слабо оптимальным по Парето решением. Чтобы найти в с е слабо оптимальные по Парето решения, можно, пере% бирая все возможные наборы коэффициентов {ai} в определении функции Va(x) (7.8) или, при условии выпуклости всех функций {Fi} на выпуклом мно% жестве X, функции Wa(x) (7.13), отыскивать решения соответственно или задачи (7.9), или задачи (7.15). Совокупность решений каждой из этих задач и является множеством в с е х слабо Парето%оптимальных решений рассмат% риваемой mкритериальной задачи оптимизации (минимизации) (7.1). Ка% кое именно из этих решений предпочтительнее для ЛПР — неизвестно. Окон% чательное решение, принятое ЛПР, зависит как от ранее полученного им опыта принятия решения в аналогичных ситуациях, так и от его заранее не формализованных желаний.

7.2. ЛЕКСИКОГРАФИЧЕСКАЯ ОПТИМИЗАЦИЯ При другом способе принятия решения в многокритериальных задачах оптимизации предполагается с т р о г о е р а н ж и р о в а н и е критериев эф% фективности {Fi} по их важности и оптимизация каждого частного критерия Fi на множестве решений более значимого (важного) критерия, специальным образом назначаемого. Формализация этого способа приводит к так назы% ваемым лексикографическим задачам оптимизации. Пусть F1 — с а м ы й з н а ч и м ы й для ЛПР критерий, критерий F2 менее значим, чем критерий F1, но самый значимый среди критериев F3, ..., Fm и т. д. Таким образом, Fm — н а и м е н е е з н а ч и м ы й для ЛПР критерий. Пусть X0 º X и для k = 1, ... , m

1

2

Xk 5 x 4 Xk 31 : Fk (x) 6 min Fk (y) . y4Xk31

m%критериальная лексикографическая задача минимизации состоит в оты% скании какой%либо точки x* Î Xm и/или значений F1(x*), ..., Fm(x*). Очевидно, такой принцип принятия решения целесообразно применять в тех случаях, когда д а ж е н е з н а ч и т е л ь н о е у л у ч ш е н и е по какому% либо критерию п р е д п о ч т и т е л ь н е е л ю б ы х п о т е р ь по менее значи% мым критериям. Несмотря на такую жесткость, лексикографический прин% цип оптимизации достаточно распространен. ГЛАВА 7. ЗАДАЧИ МОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

315

Например, каждую задачу математического программирования f0 (x) 2 min,

(7.16)

f1(x) £ 0

(7.17)

x1X

можно рассматривать в лексикографической постановке с двумя крите% риями F1(x) = max{0, f1(x)},

F2(x) = f0(x).

(7.18)

Нетрудно доказать, что если у задачи (7.16), (7.17) есть решения, то их множество совпадает с множеством решений лексикографической задачи минимизации с двумя критериями (7.18). Преобразование задачи (7.16), (7.17) к лексикографической может быть обусловлено необходимостью некоторого рационального выбора решения x в случае возможной несовместности условий x Î X и (7.17). Обычную (однокритериальную) задачу математического программирова% ния с пустым множеством допустимых точек называют несобственной зада чей. Хотя, н а п е р в ы й в з г л я д, несобственные оптимизационные задачи и не имеют смысла, их широкое распространение, например, в экономике стимулировало многочисленные и плодотворные исследования. Кроме того, оказывается, что множество всех Парето%оптимальных то% чек для m непрерывных критериальных функций {fi} на множестве X совпа% дает с множеством всех решений двухкритериальных лексикографических задач минимизации на этом множестве функций F1 (x) 3 max 4 i fi (x), 11 i 1 m

m

F2 (x) 3 5 fi (x),

(7.19)

i 21

определяемых всевозможными наборами п о л о ж и т е л ь н ы х значений {ai} (при произвольных положительных {ai} к а ж д о е решение двухкритериаль% ной лексикографической минимизации функций F1 и F2 (7.19) на множестве X является Парето%оптимальным решением для критериальных функций {fi} на этом множестве)1.

7.3. МЕТОД ПОСЛЕДОВАТЕЛЬНЫХ УСТУПОК Выбирать решение x Î X при нескольких критериях {Fi} их эффективно% сти можно также и методом последовательных уступок. Сущность этого метода, предложенного Е. С. Вентцель2, такова. Из некоторых соображений, зависящих от природы задачи, а также от воли и желаний ЛПР, назначаются наибольшие приемлемые значения {gi} 1 Доказательства этих утверждений можно найти, например, в монографии: Гермейер, Ю. Б. Игры с непротивоположными интересами. — М.: Наука, 1976. — 328 с. Юрий Борисович Гермейер (1918–1975) — советский математик. 2 Елена Сергеевна Вентцель (1907–2002) — советский математик.

316

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

критериев {Fi}. Затем производится попытка найти в множестве X решение xg системы неравенств Fi(x) £ gi,

i = 1, ..., m.

(7.20)

Если эта попытка окажется удачной, то расчеты либо прекращают, либо повторяют с иными (естественно, у м е н ь ш е н н ы м и) значениями {gi}. Если же система неравенств (7.20) окажется несовместной с условием x Î X, то расчеты повторяют с у в е л и ч е н н ы м и значениями {gi}. После проведения нескольких таких циклов изменения {gi} ЛПР прини% мает окончательное решение о приемлемом элементе x1 1 X. Естественно, ре% шение x1 рекомендуется выбирать из множества (слабо) Парето%оптимальных точек для критериальных функций {Fi} на множестве решений совместной системы неравенств (7.20), принадлежащих множеству X.

7.4. ТЕОРЕМА ЭРРОУ Яркой иллюстрацией сложностей, возникающих в многокритериальной оптимизации, является проблема распределения имеющейся, для опреде% ленности, суммы денег W между m заинтересованными в этом распределении участниками. Точку x из m%мерного евклидова пространства Rm называют распределе нием (суммы денег W), если все компоненты {xi} этой точки неотрицатель ны, а их сумма равна W: m

4 xi 1 2 ,

xi 3 0,

i 1 1,..., m.

(7.21)

i 11

Пусть у каждого i%го участника дележа, i = 1, ..., m, имеется свое собст% венное представление о «правильном и справедливом» способе сравнения между собой альтернативных распределений, конкретизированное в виде некоторого частного правила (метода) — отношения предпочтений. При этом каждое частное отношение предпочтений предполагается таким, что его мож% но применять для определения и последующего отыскания распределения, оптимального в соответствующем смысле (см. разд. 1.3.1). Формально, для любых допустимых распределений x и y (т. е. для рас% пределений, удовлетворяющих условиям (7.21)) отношение предпочтений i%го участника дележа позволяет или установить, какое из этих распределений по его мнению лучше, или утверждать о равноценности для него этих распределений; это обычно обозначается таким образом: · x f i y, если i%й участник дележа считает лучшим распределение x; · y f i x, если лучшим он считает распределение y; · x » i y, если распределения x и y для него равноценны. Это принято записывать и так: x µ i y, если по мнению i%го участника дележа распределение x не хуже распределения y, т. е. или x f i y, или x » i y. Кроме того предполагается, что для произвольных трех допустимых рас% пределений x, y и z из условия x µ i y, y µ i z следует, что x µ i z, (7.22) ГЛАВА 7. ЗАДАЧИ МОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

317

т. е. выполняется транзитивность отношения предпочтения i%го участни% ка дележа на множестве альтернативных (допустимых) распределений. Итак, если бы решение о выборе приемлемого распределения принимал только один из участников дележа, то ему естественно было бы применять такой способ отыскания наилучшего распределения: перебирать все допус% тимые распределения, сравнивать их между собой и оставлять только луч% шие; свойство транзитивности (7.22) отношения предпочтения µ этого уча% стника позволит выявить лучшее распределение из выбранных альтернатив% ных распределений. Ситуация усложнена тем, что отношения предпочтения {µ i} отличаются между собой, а все участники дележа должны принимать в нем участие на равных основаниях. Ввиду этого и возникает вопрос о возможности построения правила (от ношения) коллективного предпочтения µ S, которое и применялось бы в дальнейшем для отыскания «объективно» наилучшего распределения. Это правило должно быть таким, что: 1. Для произвольных допустимых распределений x и y можно утверждать: или x µ S y, или y µ S x (полнота правила коллективного предпочтения). 2. Для произвольных допустимых распределений x, y и z из условий x µ S y, y µ S z следует, что x µ S z (транзитивность правила коллективного предпочтения). 3. Коллективное предпочтение µ S определяется т о л ь к о в терминах д а н н ы х индивидуальных отношений предпочтения {µ i}. 4. Выполняется требование единогласия: если все участники дележа пред% почитают распределение x распределению y, то и согласно правилу коллек% тивного предпочтения x µ S y, т. е. xµiy

" i = 1, ..., m

Þ

x µ S y.

5. Выполняется требование независимости: при сравнении распределе% ний x и y участники дележа «забывают» о наличии всех других распределе% ний. Важно только помнить, кто из них предпочитает распределение x, а кто — y. Формально, если I = {i: x µ i y}

и

J = {j: y µ j x},

то для любой другой системы индивидуальных предпочтений {® i}, для кото% рой x ® i y " i Î I и y ® j x " j Î J, утверждения x µ S y и x ® S y эквивалент% ны. В 1951 г. К. Эрроу1 доказал теорему, согласно которой только правило предпочтения диктатора удовлетворяет всем требованиям 1–5. По определению, правило диктатора — это любое одно из m данных правил предпочтения {µ i}. Итак, правило диктатора является единственно возможным правилом коллективного предпочтения, удовлетворяющим всем требованиям 1–5. 1 Кеннет Эрроу (Kenneth J. Arrow, род. 1921) — американский математик и экономист, лау% реат Нобелевской премии по экономике (1972).

318

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Следует отметить, что распространенный способ принятия коллективно% го решения путем простого голосования н е у д о в л е т в о р я е т требованию транзитивности. Одним из примеров этого является описанный далее парадокс Кондорсе, известный из опубликованной в 1785 г. статьи маркиза де Кондор% се1 «Рассуждения о применении анализа к оценке выборов большинством голосов». Пример 7.1. Пусть трем экспертам нужно выбрать наилучшего из трех кандидатов A, B и C. Пусть каждый эксперт, руководствуясь только своими личными сообра% жениями, упорядочил всех указанных кандидатов от наилучшего, по его мнению, до наихудшего. Результаты упорядочивания оказались такими: Эксперт 1: Эксперт 2: Эксперт 3:

A µ 1 B µ 1 C; B µ 2 C µ 2 A; Cµ3Aµ3B

(µ 1, µ 2 и µ 3 — отношения предпочтения соответственно первого, второго и третьего экспертов). Пусть отношение коллективного предпочтения µ S кандидатов опреде% ляется таким образом: лучшим из двух кандидатов считается тот, за кого эксперты отдали большее число голосов. Тогда по результатам голосования A µ S B (кандидат A лучше кандидата B; первый и третий эксперты так считают и поэтому их мнение двумя голосами против одного «побеждает» мнение второго эксперта); B µ S C (кандидат B лучше кандидата C; два голоса первого и второго экспертов «побеждают» один голос третьего эксперта); C µ S A (кандидат C лучше кандидата A; мне% ния второго и третьего экспертов оказались более «весомыми», чем мнение первого эксперта). Следовательно, так как оказывается, что A µ S B µ S C µ S A, введенное отношение коллективного предпочтения µ S нетранзитивно. Если же в процедуру подсчета голосов привнести некоторые корректи% рующие поправки, обеспечивающие транзитивность отношения коллектив% ного предпочтения (например, особым способом «взвешивать» голоса), то такое отношение может уже не удовлетворять требованию независимости. Пример 7.2. Пусть среди четырех претендентов A, B, C и D на некоторую должность нужно выбрать только одного. Сначала для этого каждому из трех экспертов предложено определить способность каждого из претендентов выполнять соответствующие должно% стные обязанности. Пусть эксперты условились проводить ранжирование претендентов та% ким образом. Каждый из них должен выставить каждому претенденту свою оценку в баллах. Все оценки претендентов, выставляемые одним экспертом, 1 Жан Кондорсе (Jean de Condorcet, 1743–1794) — французский экономист, философ%про% светитель, политический деятель.

ГЛАВА 7. ЗАДАЧИ МОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

319

должны быть разными, наименьшей из которых должна быть 1, а наиболь% шей — число, равное количеству претендентов на должность. Каждый экс% перт лучшему, по его мнению, претенденту должен выставить более высо% кую оценку — начислить больше баллов. Итак, указанным способом каждый эксперт должен строго упорядочить всех претендентов. Пусть различные опыт и квалификация экспертов учитываются при вы% числении итоговых количеств баллов, набранных претендентами, таким обра% зом: оценки, выставляемые первым и вторым экспертами, увеличиваются со% ответственно в 3 и в 2 раза (первый и второй эксперты считаются соответствен% но в 3 и в 2 раза более опытными и квалифицированными, чем третий эксперт). Отношение коллективного предпочтения µ S эксперты условились опре% делить так: · после выставления оценок претендентам всеми экспертами, оценки, вы% ставленные первым и вторым экспертами, увеличиваются соответствен% но в 3 и в 2 раза; · суммируется общее число («взвешенных») баллов, выставленных каж% дому претенденту; · из двух претендентов лучшим считается тот претендент, у которого ока% жется больше («взвешенных») баллов. Пусть в результате проведенного анализа эксперты выставили оценки претендентам, представленные в таблице 7.1. Согласно принятой договоренности претенденты упорядочиваются таким образом: A µ S C µ S D µ S B. Пусть претенденту B, последнему в этой цепочке, стало обидно за такую низкую оценку его способностей. Поэтому он снял свою кандидатуру из рас% смотрения. Ввиду принятого способа измерения профессиональных способностей претендентов, их оценки экспертами будут уже другими (табл. 7.2), хотя индивидуальные упорядочивания претендентов при этом не изменятся. 1 2 3 4 5 6 2 7 89 7 1

12

32

42

52

6789 2 2

2

2

2

2

6789 22

2

2

2

2

6789 22

2

2

2

2

12345466789 46 79

2

2

2

2

1

1 2 3 4 5 6 2 7 89 7 12

32

42

56789 2 2

2

2

2

56789 22

2

2

2

56789 2 2

2

2

2

12345466789 46 79

2

2

2

1

320

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Значит, оставшиеся претенденты уже упорядочатся иначе: C ® S A ® S D. Итак, от волеизъявления одного из претендентов на должность (к тому же того претендента, общая взвешенная оценка профессиональных качеств кото% рого оказалась н а и х у д ш е й!) зависит, кто именно из претендентов (A или C) будет объявлен победителем в конкурсе. Это указывает на о т с у т с т в и е свойства независимости принятого правила коллективного предпочтения. Рассмотрим еще несколько иллюстраций типичных проблем, возникаю% щих при принятии решения путем голосования. Пример 7.3. Пусть из трех кандидатов A, B и C необходимо выбрать пред% седателя некоторого собрания. Пусть каждый из 60 участников собрания получил бюллетень, в котором ему следует записать имена кандидатов в порядке уменьшения их привлека% тельности (от имени кандидата, наиболее подходящего на должность предсе% дателя, до имени кандидата, наименее подходящего). Итак, в урне после голосования должно быть 60 бюллетеней, в каждом из которых должна быть указана лишь одна из возможных шести комбинаций имен: ABC, ACB, BAC, BCA, CAB и CBA (предполагается, что все участники собрания принимают участие в голосовании и правильно выполняют его требования). 1 2 3 4 5 6 2 7 89 7 Пусть после голосования в урне 123456

632356 оказалось то количество бюллетеней, 78449 9 9 6  2 56 которое представлено в таблице 7.3. 123 1234 (За списки ABC и BAC ни один из уча% 453 3214 стников собрания не голосовал.) 13 2134 Возникает вопрос: как же теперь 463 2314 выбрать председателя собрания? Рас% 789 3 6 3 3 смотрим только 2 из многих других 4 возможных способов. 1Bй способ. При сравнении двух альтернативных кандидатов лучшим счи% тать того из них, кому отдало предпочтение большее число участников соб% рания. Председателем назначить кандидата, который окажется наилучшим. (В примере 7.1 описан случай, когда таким образом определяемое отноше% ние коллективного предпочтения нетранзитивно и поэтому его нельзя при% менять для отыскания наилучшего кандидата. Однако в данном случае это правило оказывается транзитивным.) Итак, при сравнении кандидатов A и B лучшим следует признать канди% дата B (его считают лучшим, чем кандидата A, 35 = 19 + 16 участников соб% рания; в отличие от 25 = 23 + 2 участников, считающих кандидата A луч% шим, чем кандидата B). При сравнении кандидатов C и A лучшим следует признать кандидата C (37 = 19 + 2 + 16 голосов против 23). При сравнении кандидатов C и B лучшим следует признать также канди% дата C (41 = 23 + 2 + 16 голосов против 19). Значит, при принятом способе сравнения кандидатов имеем: C µ S B µ S A. ГЛАВА 7. ЗАДАЧИ МОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

321

2Bй способ. При сравнении двух альтернативных кандидатов лучшим счи% тать того из них, имя которого поставлено большинством участников собра% ния первым в бюллетенях для голосования. Председателем собрания назна% чить наилучшего кандидата. В таком случае упорядочивание кандидатов будет уже другим: кандидат A набирает 23 балла, кандидат B — 19, а кандидат C — только 18 (2 + 16) баллов и поэтому A ® S B ® S C. Итак, придерживаясь любого из приведенных и достаточно традицион% ных способов обработки данных голосования, можно получить диаметраль% но противоположные результаты: при изменении способа определения наи% лучшего кандидата ранее найденный наилучший кандидат оказывается наи% худшим кандидатом. Ввиду существования такого рода примеров становится понятным иску% шение организаторов собрания провести предварительный выборочный оп% рос его будущих участников и в дальнейшем, в зависимости от результатов этого опроса, для желаемого кандидата разработать такой способ обработки данных голосования, при котором будет обеспечена его победа на выборах. Отметим теперь некоторые наиболее распространенные критические за% мечания относительно требований к правилу определения коллективного предпочтения, сформулированные в теореме Эрроу. Именно совокупность этих требований не позволяет разработать соответствующее правило, в неко% торых смыслах рациональное и непротиворечивое. Во%первых, некоторым критикам теоремы Эрроу представляется весьма сильным и искусственным предположение о возможности построения при% емлемого отношения коллективного предпочтения для произвольной систе% мы индивидуальных предпочтений {µ i}. По мнению этих критиков, такая универсальность чрезмерна и ее следует исключить. Утверждается, что в жизни обычно происходит некоторая взаимная адаптация индивидуальных предпочтений, ввиду которой можно построить рациональное и непротиво% речивое отношение коллективного предпочтения. Следует, однако, отметить, что такая критика и соответствующая аргу% ментация в большинстве случаев присущи ситуациям согласования п о л и т и % ч е с к и х м н е н и й, чем обычным эгоистическим э к о н о м и ч е с к и м пред% почтениям. Во%вторых, в некоторых случаях требование наличия свойства транзи% тивности отношения коллективного предпочтения может быть излишним (иногда, как в примере 7.1, придется смириться с невозможностью сделать выбор; хотя, как в примере 7.3 — см. 1%й способ построения правила коллек% тивного предпочтения, — этот выбор можно сделать). В%третьих, может вызывать возражение и требование наличия свойства независимости у отношения коллективного предпочтения. При этом приво% дятся такие, например, соображения. Пусть каждому из двух экспертов нужно упорядочить большое число n претендентов на занятие некоторой должности — от наилучшего претенден% та до наихудшего. 322

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Пусть в списке первого эксперта претендент A оказался первым (наилуч% шим), а претендент B — вторым. В списке же второго эксперта пусть первым оказался претендент B, а претендент A — последним: Эксперт 1: Эксперт 2:

A, B, ... B, ..., A.

Таким образом, первый эксперт считает, что претендент B менее осталь% ных претендентов отличается от наилучшего претендента A, а второй экс% перт считает претендента B наилучшим, а кандидата A — наихудшим среди всех претендентов. Представляется естественным, что после обсуждения ситуации оба экс% перта определят наилучшим именно претендента B. Пусть по прошествии некоторого времени этих же экспертов попросили еще раз выразить свои мнения относительно составленных ими списков пре% тендентов. Пусть эти списки теперь оказались такими: Эксперт 1: Эксперт 2:

A, ..., B; B, A, ...

(эксперт 1 разочаровался в претенденте B; эксперт 2 существенно улучшил свое мнение о претенденте A). Из тех же соображений, что и в первый раз, теперь наилучшим эксперты должны считать претендента A. Однако это уже будет противоречить свойству независимости правила коллективного предпочтения (поскольку взаимное расположение обоих пре% тендентов в каждом из списков не изменилось). Итак, для описанной проблемы распределения (дележа) суммы денег W между m участниками нет универсального способа ее решения, приемлемого во всех случаях. Разумеется, отсюда не следует, что в каждом отдельном случае все участники дележа не придут к некоторому соглашению. В теоре% ме Эрроу только утверждается, что нет такого общего метода проведения дележа, который удовлетворил бы сразу всех его участников. Вопросы и задания 1. Приведите пример многокритериальной оптимизационной задачи и дайте ее формализованную постановку. 2. Сформулируйте различные по форме определения Парето%оптимальных и слабо Парето%оптимальных точек. Докажите эквивалентность соответствующих оп% ределений. 3. Докажите, что множество Парето%оптимальных решений содержится в множе% стве слабо Парето%оптимальных решений. 4. Приведите примеры функций, для которых на некоторых множествах: а) нет ни Парето%оптимальных, ни слабо Парето%оптимальных точек; б) нет Парето%оптимальных точек, но есть слабо Парето%оптимальные точки; в) множество Парето%оптимальных точек строго содержится в множестве слабо Парето%оптимальных точек; г) множество Парето%оптимальных точек совпадает с множеством слабо Паре% то%оптимальных точек. Обоснуйте правильность ваших утверждений. ГЛАВА 7. ЗАДАЧИ МОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

323

5. Докажите, что для функций (7.3) на отрезке X º [0; 2] нет Парето%оптимальных точек. 6. Докажите, что строго выпуклая функция может иметь не более одной точки минимума на выпуклом множестве. 7. Докажите теорему 7.1. 8. Опишите известные вам методы отыскания каких%либо или всех (слабо) Паре% то%оптимальных точек. При каких условиях эти методы можно применять? 9. Докажите, что для критериальных функций {fi}, имеющих на множестве X свой% ство (7.11) и связанных с функциями {Fi} соотношениями (7.12), множества (слабо) Парето%оптимальных точек совпадают. 10. Предложите пример двухкритериальной оптимизационной задачи, для которой каждая допустимая точка этой задачи является ее Парето%оптимальной точкой. 11. Докажите, что для задачи 3 1 1 2 1 3456

(7.23)

1 12

1 1 32 4 2 где 1 3 2 4 3 6 1 7 5 11 3 2 4 3 21 4 22 5 12 3 2 4 3 21 5 22 5 8 12 3 2 4 9 13 1 4 2 2 5 79 1 3 4 6 11 6 15 1 6 12 6 68 1

2  на рисунках 7.5 и 7.6 жирными линиями обозначены соответственно множест% во Парето%оптимальных точек XP и F(XP) º {F(x): x Î XP}. 12. Для весовых коэффициентов a1 = 2, a2 = 1 и для a1 = 1, a2 = 2 критериальных функций задачи (7.23) найдите соответствующие Парето%оптимальные решения. Укажите местоположения этих точек на рисунке 7.5. 13. Дайте определение лексикографической задачи оптимизации. Что называют решением такой задачи? 14. Какую точку x вы предложили бы принять в качестве приемлемого решения задачи 3 11 2 2

Рис. 7.5

324

345 6

1 12 1 2

Рис. 7.6

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

13 1 4 2 в которой 5 6 1 3 11 7 12 8 2 1 4 11 9 12 8 2 2 4 а вектор%функция F и множество  12   X определены при постановке задачи (7.23), если окажется, что для заданных ЛПР числовых значений a1 и a2 у множеств X и W нет общих точек? 15. Считая функцию F2 более значимой, чем функция F1, найти решение лексико% графической задачи минимизации функций F1 и F2 на множестве X (F1, F2 и X — соответственно компоненты критериальной вектор%функции и допустимое множество задачи (7.23)). 16. Предложите математическую модель задачи многокритериальной оптимизации, в которой был бы отражен некоторый принцип принятия решения в реальных условиях. 17. Докажите, что для лексикографической задачи минимизации трех функций F1(x), F2(x) и F3(x), заданных на множестве точек {x1, ..., x7} согласно табли% це 7.4, единственным решением является точка x5, в которой F1(x5) = 0, F2(x5) = 2 и F3(x5) = 1, если считать самой значимой функцию F1, а функцию F2 считать более значимой, чем функция F3. Если же функцию F3 считать более значимой, чем функция F2, то единственным решением такой задачи уже будет точка x6, в которой F1(x6) = 0, F2(x6) = 4 и F3(x6) = –4. 1 2 3 4 5 6 2 7 89 7 1

111

121

131

141

151

161

171

211

123

43

53

23

23

23

23

221

673

683

53

93

83

53

83

231

6 3

6 3

673

653

13

653

83

1 18. Опишите метод последовательных уступок отыскания решений задач много% критериальной оптимизации. 19. Сформулируйте теорему Эрроу и приведите примеры ее возможного применения. 20. Как, по вашему мнению, следует проводить конкретизацию расходной части государственного бюджета страны?

ГЛАВА 7. ЗАДАЧИ МОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ

325

ГЛАВА

ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

Р

езультаты проведения достаточно распространенных опе% раций определяются решениями, принимаемыми не одним, а несколькими н е з а в и с и м ы м и между собой основными их участниками (организаторами операций). У каждого из этих участников имеется свое множество альтерна% тивных решений, из которого он, н е з а в и с и м о о т в о л и и ж е л а н и й других участников операции, может выбрать только одно решение, руковод% ствуясь при этом только своими собственными интересами. Совокупность ин% дивидуальных решений, принимаемых всеми основными участниками операции, полностью конкретизирует в с е мероприятия по ее проведению. Каждый из основных участников операции при выборе своего решения может преследовать свою собственную цель, отличную от целей других ос% новных участников этой операции. Поскольку р е з у л ь т а т принятого им решения зависит от решений, принятых всеми остальными основными уча% стниками операции, такие ситуации называют конфликтными. Обычно каждый основной участник операции принимает свое решение, н е з н а я решений остальных основных ее участников. Поэтому свой выбор ему приходится проводить в условиях неопределенности, обусловленных сознательными намерениями и действиями остальных основных участни% ков этой операции. Операции, с присущими им конфликтными ситуациями, можно найти в любой области деятельности человека. Например, такие ситуации типичны на рынке товаров и услуг, при проведении спортивных состязаний и воен% ных операций. Необходимость рационализировать принятие решений в конфликтных ситуациях, учесть сознательное противоборство разумных соперников или противников при достижении некоторой поставленной цели обусловила ста% новление и развитие особого раздела математики — теории игр, одной из гармоничных и важнейших систем математических методов исследования социально%экономических процессов и явлений. Таким образом, теория игр — это математическая теория исследования конфликтных ситуаций. 326

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

8.1. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ ИГР Игра — это некоторая идеализированная (математическая) модель кол% лективного поведения: несколько участников игры (игроков) путем выбора индивидуальных решений влияют на ситуацию и тем самым как%то пред% определяют результат игры; при этом интересы (цели) игроков относительно результатов игры могут быть различными1. По определению число участников игры должно быть не меньшим 2. Если игроков 2, то такую игру называют парной. Чтобы различать игроков, их как%то обозначают. Например, буквами алфавита: игрок A, игрок B, игрок C и т. д., или натуральными числами: игрок 1, игрок 2, игрок 3 и т. д. Несколько игроков могут образовать постоянную или временную коали цию (игроки коалиции принимают некоторое соглашение о правиле приня% тия ими индивидуальных решений). Формально создание коалиции эквива% лентно замене всех ее участников одним «обобщенным» игроком. Для конкретизации некоторых принципов принятия решений в операци% ях с конкурирующими участниками и во избежание второстепенных и зачас% тую технических подробностей, имеющих место в общем случае, далее здесь и в последующих разд. 8.2 и 8.3 книги основное внимание будет уделено играм двух игроков A и B — парным играм в так называемой нормальной форме. Пусть X и Y — множества альтернативных (возможных) решений соот% ветственно игроков A и B. Если x Î X и y Î Y — принятые игроками решения, то пару (x, y) называ% ют ситуацией, или бистратегией, игры2. Принятые игроками решения пред% определяют результат игры в том смысле, что повлиять на этот результат как%либо иначе никто из них уже не может. Каждой бистратегии (x, y) сопоставляются д в а действительных числа FA(x, y) и FB(x, y). Число FA(x, y) интерпретируется как выигрыш игрока A, а число FB(x, y) — выигрыш игрока B3. Итак, игра в нормальной форме двух лиц A и B — это заданная четверка (X, Y; FA, FB), в которой X, Y и FA, FB — соответственно множества страте% гий (индивидуальных решений) игроков A и B и функции их выигрышей (полезностей), заданные на декартовом произведении X´Y (величина выиг% рыша каждого игрока зависит не только от принятого им решения, но также и от решения, принятого другим участником игры). Пусть единственной целью каждого игрока является получение им мак% симально возможного выигрыша или, что равносильно, минимизации сво% его проигрыша. 1 Современный вид теории игр как математической дисциплины сформирован Джоном фон Нейманом, который в промежуток времени между 1928 и 1941 гг. предложил общую схему исследования конфликтов и коопераций игроков (См. кн.: Нейман Дж., Моргенштерн О. Теория игр и экономическое поведение. — М.: Наука, 1970. — 709 с. — Перевод с английского соответствующей монографии 1944 г. издания). 2 Стратегией игрока в теории игр принято называть или совокупность правил, по которым определяется выбор его решения из множества альтернативных решений, или собственно при% нятое им решение. 3 Выигрыш игрока может быть отрицательным. Проигрыш игрока — число, противопо% ложное выигрышу этого игрока.

ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

327

Можно еще больше сузить проблему выбора индивидуальных решений двух игроков — рассматривать игру с нулевой суммой, т. е. такую игру, в ко% торой для значений выигрышей ее участников выполняется равенство FA(x, y) + FB(x, y) = 0

" x Î X, y Î Y.

Экономическая интерпретация этого равенства очевидна: в ы и г р ы ш о д н о г о и з и г р о к о в р а в е н п р о и г р ы ш у д р у г о г о. По этой причи% не такую парную игру также называют антагонистической игрой, а ее уча% стников — противниками. Для задания антагонистической парной игры в нормальной форме дос% таточно задать тройку (X, Y; F), в которой, как и раньше, X и Y — множе% ства индивидуальных стратегий (решений) соответственно игроков A и B, а F: X´Y ® R — функция выигрыша игрока A, являющаяся также функци ей проигрыша игрока B1. В парной антагонистической игре основная сложность проблемы выбора наилучшего в каком%то смысле индивидуального решения игрока очевидна: выигрыш игрока возможен только за счет соответствующего проигрыша его противника. Поэтому рационализация принятия решения в такой игре воз% можна только при наличии некоторой дополнительной информации. Напри% мер, информации, касающейся очередности игроков при принятии ими ин% дивидуальных решений и/или осведомленности кого%либо из них о множе% стве альтернативных решений своего противника.

8.2. АНТАГОНИСТИЧЕСКИЕ МАТРИЧНЫЕ ИГРЫ Если в игре принимают участие только два игрока — игрок A и игрок B — и множества их индивидуальных альтернативных решений к о н е ч н ы — соответственно X = {x1, x2, ..., xm} и Y = {y1, y2, ..., yn}, то такую игру называют парной конечной игрой или парной m´n%игрой. Мат% ричной или m´n%игрой называют а н т а г о н и с т и ч е с к у ю конечную игру. Пусть для каждой бистратегии (xi, yi) некоторой матричной игры изве% стен в ы и г р ы ш Fij º F(xi, yj) и г р о к а A (п р о и г р ы ш и в ы и г р ы ш игро% ка B равны соответственно Fij и –Fij), i = 1,..., m, j = 1,..., n. Значения {Fij} являются элементами некоторой матрицы, строки которой соответствуют стратегиям (решениям) {xi} игрока A, а столбцы — стратегиям {yj} игрока B (рис. 8.1). Эту матрицу называют платежной матрицей или матрицей игры. Рассмотрим несколько примеров простейших игр и построим для них платежные матрицы. Пример 8.1. Игра «Камень — ножницы — бумага». Два игрока считают вместе вслух «Камень... Ножницы... Бумага... Раз... Два... Три», одновременно качая кулаками. На счет «Три» они одновремен% 1

Функцией выигрыша игрока B очевидно является функция –F.

328

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

но показывают при помощи руки один из трех знаков: сжатый кулак (ка% мень), два пальца (ножницы) или пять пальцев (бумагу) (рис. 8.2). Победитель определяется по следующим правилам: · камень побеждает ножницы («камень затупляет или ломает ножницы»); · ножницы побеждают бумагу («ножницы разрезают бумагу»); · бумага побеждает камень («в бумагу можно завернуть камень»). Если игроки показали одинаковый знак, то засчитывается ничья и игра переигрывается. Таким образом, каждый из знаков К (камень), Н (ножницы) или Б (бума% га) — одно из трех возможных решений каждого из игроков — побеждает один знак и проигрывает другому (рис. 8.2¢). Пусть победителю и проигравшему в этой игре засчитываются соответст% венно 1 и –1 баллов; в случае же ничьей ни одному игроку баллы не начисля% ются — им засчитывается по 0 баллов. Значит, матрицей а н т а г о н и % с т и ч е с к о й конечной игры «Камень — ножницы — бумага» является матрица, изображенная на рисунке 8.3. Рассмотрим эту игру более подробно. Пусть игра состоит только из одной партии: каждый из игроков незави% симо от противника принимает решение — показывает один из знаков К, Н или Б — только один раз, после чего игра заканчивается выигрышем одного из них и проигрышем второго. Очевидно, что в таком случае говорить о преимуществе какого%либо ре% шения для каждого из игроков нет никакого смысла: каждый из них с оди% наковым успехом может принять любое возможное для него решение. Если же эта игра повторяется много раз (состоит из большого числа партий; по% бедителем считается игрок, набравший наибольшее число баллов), то над 1 1

Рис. 8.2

1

221

231

1222122212

231

421 431

5221 5321

5231 5331

1222122212 1222122212

5231 5331

. .2 .

. .2 .

. .2 .

. .2 .

. .2 .

461

5621

5631

1222122212

5631

X

Y

2

Рис. 8.1

Платежная матрица антогонистической конечной игры

1

X

21 31 41 Рис. 8.2¢

ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

1

Y

1

21

31

41

51 761 61

61 51 761

761 61 51

Рис. 8.3

329

принципом выбора решения, обеспечивающего победу или ничью в игре, можно еще поразмышлять. Действительно, если, для определенности, игрок A выберет некоторое решение и начнет его придерживаться, то через несколько партий игры его противник — игрок B — догадается об этом решении и начнет выигрывать. Даже если игрок A придумает какую%либо определенную последовательность чередования своих индивидуальных решений К, Н или Б, то р а з у м н ы й игрок B после анализа своих проигрышей и выигрышей догадается о принятом плане игрока A и начнет ему противодействовать в свою пользу — в ущерб игроку A. Для игрока A может оказаться выгодно выбирать решение для каждой партии случайным образом. Очевидно, что в таком же положении относительно принципа выбора при% емлемого индивидуального решения находится и игрок B. Пример 8.2. Игра «Три пальца». Игроки A и B одновременно и независимо один от другого показывают один, два или три пальца. Величина выигрыша (проигрыша) равна в баллах общему числу показанных игроками пальцев. При этом, если число пока% занных пальцев является четным, то выигрывает игрок A (игрок B проигры% вает), а если нечетное, то выигрывает игрок B (проигрывает игрок A). Проанализируем платежную матрицу антагонистической конечной игры «Три пальца», изображенную на рисунке 8.4. Очевидно, что для каждого решения игрока A у игрока B имеется наи% худшее для игрока A соответствующее решение. Действительно, если игрок A покажет 1 палец, а игрок B — 2, то игрок A получит –3 балла (проиграет игроку B 3 балла). Если игрок A покажет 2 паль% ца, а игрок B — 1 или 3 пальца, игрок A проиграет игроку B соответственно 3 и 5 баллов. Наконец, если игрок A покажет 3 пальца, а игрок B — 2 пальца, то игрок A проиграет игроку B 5 баллов. Следовательно, к н а и м е н ь ш и м в о з м о ж н ы м п о т е р я м в 3 балла приводит решение игрока A всегда показывать 1 палец. Однако придерживать% ся такого решения ему невыгодно, поскольку оно все же ведет его к проигрышу. С позиций интересов игрока B игра «Три пальца» тоже непривлекательна. Действительно, если он покажет 1 палец, а игрок A — 1 или 3, то игрок B проиграет соответственно 2 и 4 балла. Если игрок B покажет 2 пальца и игрок A покажет 2 пальца, то игрок B проиграет 4 балла. Наконец, если игрок B покажет 3 пальца, а игрок A — 1 или 3, то игрок B проиграет соответственно 4 и 6 баллов. Значит, к наименьшим возможным потерям в 2 балла приводит решение игрока B в с е г д а показывать 1 палец. Однако принимать такое решение ему тоже невыгодно, поскольку оно ведет его к проигрышу. 1 2 3 Y Итак, можно прийти к выводу о X том, что игра невыгодна ни одному из 1 2 –3 4 игроков: каждый из них, придержи% 2 –3 4 –5 ваясь какого%либо заранее заданного 3 4 –5 6 правила выбора решения, проиграет. 1 Поэтому, как и в игре «Камень — Рис. 8.4 330

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ножницы — бумага», игрокам, чтобы не проигрывать в игре «Три пальца», состоящей из большого числа партий, следует придерживаться некоторой ве% роятностной стратегии выбора своих индивидуальных решений. В дальней% шем будет показано, в чем именно состоит эта стратегия. Пример 8.3. Игра «Решающая схватка». По итогам соревнований, проведенных в течение года, два спортивных клуба — клуб A и клуб B, проводящие подготовку бойцов по разным видам восточных единоборств (бусидо, дзюдо, каратэ, тхэквондо и др.), набрали одинаковые суммы рейтинговых баллов. Для того чтобы определить лучший клуб, было решено провести одну схватку между двумя бойцами бусидо, один из которых представляет клуб A, а второй — клуб B. Лучшим было договоре% но считать тот клуб, боец которого победит в этой схватке (ничья в схватке не допускалась). Для участия в назначенной схватке были заявлены 4 бойца из клуба A — бойцы x1, x2, x3, x4 — и 3 бойца y1, y2, y3 из клуба B. Все эти бойцы были хорошо известны экспертам по борьбе бусидо, и они, после некоторых раз% мышлений и проведения необходимых расчетов, выставили такие прогноз% ные оценки результатов ожидаемой схватки: · вероятность победы бойца x1 в поединке с каждым из бойцов y1, y2, и y3 равна соответственно 0.8, 0.6 и 0.3 (каждый из бойцов y1, y2, и y3 соответ% ственно с вероятностью 0.8, 0.6 и 0.3 проиграет схватку бойцу x1); · вероятность победы бойца x2 в поединке с каждым из бойцов y1, y2, и y3 равна соответственно 0.4, 0.5 и 0.9; · вероятность победы бойца x3 в поединке с каждым из бойцов y1, y2, и y3 равна соответственно 0.7, 0.6 и 0.8; · вероятность победы бойца x4 в поединке с каждым из бойцов y1, y2, и y3 равна соответственно 0.5, 0.3 и 0.7. Заключение экспертов стало известно обоим главным тренерам клубов. Более того, с этим заключением они были полностью согласны. Таким образом, главному тренеру каждого клуба предстояло принять ре% шение — какого именно бойца своего клуба, заявленного для участия в схват% ке, назначить для ее проведения: главному тренеру клуба A выбрать бойца из множества бойцов X= {x1, x2, x3, x4}, а главному тренеру клуба B выбрать бойца из множества Y = {y1, y2, y3}. Предполагая целью каждого бойца победу в схватке, возможная платеж% ная матрица антагонистической конечной игры «Решающая схватка» пред% ставлена на рисунке 8.5. Проанализируем эту матрицу, элементами которой являются вероятности победы каждо% 1 1 го бойца из множества X над каждым Y 121 131 141 бойцом из множества Y. 1 X Если игрок A (главный тренер клу% 221 5671 5681 5641 ба A) примет решение x1, т. е. назначит 231 5691 56 1 56 1 для участия в поединке бойца x1, то при 241 56 1 5681 5671 решении y3 игрока B (главного трене% 293 56 1 5641 56 1 ра клуба B) вероятность победы бойца 1 x1 минимальна и равна 0.3 (выигрыш Рис. 8.5 ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

331

игрока A — проигрыш игрока B — минимален и равен 0.3). При решении x2 игрока A и решении y1 игрока B минимальные выигрыш игрока A и проигрыш игрока B равны 0.4. Если же игрок A примет решение x3 или x4, то при решении y2 игрока B в каждом из этих случаев минимальный выигрыш игрока A (минимальный проигрыш игрока B) будет равен соответственно 0.6 или 0.3. Таким образом, решение x3 игрока A обеспечивает ему м а к с и м а л ь н ы й в ы и г р ы ш 0.6 при н а и х у д ш и х д л я н е г о р е ш е н и я х игрока B. Рассмотрим теперь игру с позиции интересов игрока B. Если он примет решение y1, то наихудшим для него решением игрока A (решением, прино% сящим игроку B наибольший проигрыш) является x1 (проигрыш игрока B и выигрыш игрока A равны 0.8). Если игрок B примет решение y2, то его наи% больший проигрыш будет равен 0.6 (при любом решении x1 или x3 игрока A). Наконец, если игрок B примет решение y3, то его наибольший проигрыш будет равен 0.9 (при решении x2 игрока A). Значит, решение y2 игрока B гарантирует ему наименьший проигрыш, равный 0.6. Следовательно, в игре «Решающая схватка» бистратегия (x3, y2) с равны% ми 0.6 выигрышем игрока A и проигрышем игрока B является наилучшей одновременно для обоих игроков. При этой бистратегии достигается некото% рое равновесие в игре: если игрок A принимает решение x3, то наилучшим для игрока B является его решение y2; обратно, если игрок B принимает ре% шение y2, то наилучшим для игрока A является его решение x3. Бистратегию указанного типа называют решением (антагонистической) игры. 8.2.1. ПРИНЦИП МИНИМАКСА

Для произвольной парной конечной игры с нулевой суммой (платежная матрица такой игры изображена на рисунке 8.1) рассмотрим проблему выбо% ра каждым из игроков наилучшего для него решения. Сначала проанализируем альтернативные решения x1, ..., xm игрока A. Если этот игрок примет некоторое решение xi, то, имея дело с абсолютно проницательным, корыстным и разумным противником — игроком B, его выигрыш будет равен 2 1 3 123 412 (8.1) 11 2 1 3

(р а з у м н ы й игрок B, п р а в и л ь н о п р е д в и д я выбор решения xi игро% ка A и р у к о в о д с т в у я с ь ж е л а н и е м п р о и г р а т ь ему к а к м о ж н о м е н ь ш е, выберет из всех возможных решений {yi} именно то решение, которое минимизирует его проигрыш — выигрыш игрока A). Поэтому н а и % б о л ь ш и й в ы и г р ы ш и г р о к а A в его игре с абсолютно проницательным, корыстным и разумным игроком B равен 2 3 234 21 3 234 256 512 (8.2) 111 13

11 1 13

11 2 14

(из всех возможных решений {xi} корыстный и разумный игрок A выберет такое решение, при котором его м и н и м а л ь н о г а р а н т и р о в а н н ы й в ы и г р ы ш примет наибольшее значение). 332

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Значение a (8.2) называют нижней ценой игры (максиминным выигры шем игрока A). Решение игрока A, обеспечивающее ему максиминный вы% игрыш a, называют его максиминным решением. При принятии игроком A максиминного решения ему гарантирован вы% игрыш не меньший, чем a, при л ю б о м решении его противника — игрока B. Поэтому значение a называют нижней ценой игры. Нижняя цена игры — это г а р а н т и р о в а н н ы й м и н и м у м, который может обеспечить себе игрок A, принимая свое с а м о е о с т о р о ж н о е р е ш е н и е (не рискуя и предполагая своего противника абсолютно проницательным, корыстным и разумным). Аналогичные рассуждения можно провести, руководствуясь интересами игрока B. Игрок B заинтересован в минимизации своего проигрыша; значит, ему следует просмотреть все свои решения, оценивая каждое из них с позиций абсолютно проницательного, корыстного и разумного противника — игрока A. Поэтому при решении yj игрока B его проигрыш (выигрыш игрока A) равен 21

3 234 421 5 11 2 13

(8.3)

Следовательно, наилучшим для игрока B является его решение, при ко% тором достигается наименьшее значение {bj}. Поэтому игрок B не может про% играть больше, чем 2 3 123 2 1 3 123 145 521 (8.4) 11 1 1 3

11 1 1 3 11 2 1 4

(в ы и г р ы ш и г р о к а A в его игре с разумным и корыстным игроком B н е м о ж е т п р е в ы с и т ь з н а ч е н и е b). По указанной причине значение b (8.4) называют верхней ценой игры или минимаксным выигрышем игрока A (минимаксным проигрышем игро% ка B). Минимаксным называют решение игрока B, доставляющее ему про% игрыш b. П р и н ц и п о с т о р о ж н о с т и, руководствуясь которым игроки выбирают максиминное и минимаксное решения, в теории игр является основным и назы% вается принципом минимакса. Этот принцип является следствием предполо% жения об абсолютной проницательности, корыстности и разумности о б о и х игроков, каждый из которых стремится к цели, противоположной цели сво% его противника. Для «самых осторожных» максиминного и минимаксного решений обычно применяют обобщенный термин — «минимаксное решение». Для рассмотренных примеров игр вычислим их нижние и верхние цены — найдем минимаксные решения. Значения {ai} (8.1) и {bj} (8.3), применяемые для количественного оценивания индивидуальных решений игроков, запи% сываются в соответствующих дополнительных столбце и строке расширен ной платежной матрицы антагонистической конечной игры (расширен ной матрицы игры, рис. 8.6). Расширенная матрица игры «Камень — ножницы — бумага» представ% лена на рисунке 8.7. Нижняя цена и верхняя цена этой игры равны соответственно a = –1 и b = 1. Кроме того, в этой игре каждое решение игрока A является его макси% минным решением, а каждое решение игрока B — его минимаксным реше% нием. ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

333

1

1 1 Y

1 11

1 21

1111111111

21 1

311 1

312 1

22 1

321 1

322 1

1 11 1

1 1 1 1

23 1 24 1

X

11 1

12 1

1111111111

31 1 1

11 1

1111111111

32 1 1

12 1

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

331 1

33 2 1

1111111111

331 1

13 1

21 1

22 1

1111111111

21 1

1 1

1

2 1

Рис. 8.6

1

1

X

Y

21

31

41

11 1

1 X

Y

1

21

31

41

11 1

541

21

51

61

761

761

21

31

541

61

31

761

51

61

761

31

541

61

571

571

41

61

761

51

761

41

61

571

81

571

22 1

61

61

61

22 1

61

61

81

1

Рис. 8.7

1 1

761

1

4 1

541

Рис. 8.8

Итак, вывод для игры «Камень — ножницы — бумага» тривиален (край% не прост и очевиден): при любых своих решениях ни один из игроков не проиграет и не выиграет более 1 балла. Расширенная матрица игры «Три пальца» представлена на рисунке 8.8. Нижняя цена и верхняя цена этой игры равны соответственно a = –3 и b = 4. Максиминное решение игрока A — показывать 1 палец (см. первую стро% ку расширенной матрицы игры). Тогда он выиграет не менее –3 баллов (про% играет не более 3 баллов). Минимаксное решение игрока B — показывать 1 или 2 пальца (см. пер% вый и второй столбцы расширенной матрицы игры). При каждом из этих решений он проиграет не более 4 баллов. В игре «Три пальца» минимаксные решения игроков н е у с т о й ч и в ы в следующем смысле. Рассмотрим игру, состоящую из большого числа партий игры «Три пальца». Пусть, например, игрок B выбрал одно из своих минимаксных решений y1 — всегда показывать 1 палец. Разумный и корыстный игрок A догадается об этом и будет выбирать решение x3 — начнет показывать 3 пальца, что приведет к его выигрышу и, соответственно, к проигрышу игрока B в каж% дой партии по 4 балла. Также разумный и корыстный игрок B поймет при% чину своих неудач и в каждой партии будет принимать решение y2 — начнет показывать 2 пальца — и выигрывать по 5 баллов. Тогда игрок A будет выби% рать решение x2 — будет показывать 2 пальца — и начнет выигрывать по 4 балла. Долго это продолжаться не будет — игрок B начнет принимать ре% 334

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

шение y3 (показывать 3 пальца) и выигрывать по 5 баллов. Тогда игрок A начнет принимать решение x3 и выигрывать по 6 баллов. В этом случае иг% рок B начнет принимать решение y2 и выигрывать по 5 баллов и т. д.: 11 1 23 1 12 1 22 1 13 1 23 1 12 1 22 1 13 1 23 1 111 122232224 122232224

Если же игрок A будет принимать свое единственное максиминное реше% ние x1 — показывать 1 палец, то игрок B, поняв это, начнет принимать реше% ние y2. При таких решениях в каждой партии игрок A будет проигрывать, а игрок B — выигрывать по 3 балла. Разумеется, такой исход партии будет неприемлем для игрока A и он начнет принимать решение x2 — начнет выиг% рывать по 4 балла. Проигрыш в каждой партии по 4 балла уже не будет уст% раивать игрока B. Зная, что игрок A принимает решение x2, игрок B начнет принимать решение y3 и выигрывать по 5 баллов и т. д.: 11 1 22 1 12 1 23 1 13 1 22 1 12 1 23 1 13 1 111 122232224 122232224 Таким образом, ситуация, при которой оба игрока применяют свои ми% нимаксные решения, неустойчива в указанном смысле и может быть изме% нена информацией о решении, предполагаемом к принятию противником. Однако такая неустойчивость минимаксных решений присуща не каждой игре. Расширенная матрица игры «Решающая схватка» представлена на ри% сунке 8.9. Нижняя цена этой игры равна ее верхней цене и равна 0.6: a = b = 0.6. Минимаксные решения x3 и y2 у с т о й ч и в ы в таком смысле. В игре, состоящей из большого числа партий игры «Решающая схватка», если один из игроков будет придерживаться своего минимаксного решения, то его про тивник не сможет увеличить свой выигрыш (уменьшить свой проигрыш), не принимая свое минимаксное решение. Итак, есть антагонистические конечные игры, в которых нижние цены равны верхним ценам: a = b. (8.5) Такие игры называют играми с седловыми точками. В матрице игры с седловой точкой всегда имеется элемент, являющийся одновременно минимальным элементом в своей строке и максимальным эле% ментом в своем столбце; такой элемент называют седловой точкой. 1 Значение нижней и верхней цены Y 12 1 131 141 121 1 X игры с седловой точкой называют чис 321 5671 5681 5641 5641 той ценой игры: a = b º g. Седловой точке соответствует пара минимаксных решений игроков; эти решения называют оптимальными, а саму седловую точку — решением игры или оптимальной бистратегией. ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

331

5691

56 1

56 1

5691

341

56 1

5681

5671

5681

391

56 1

5641

56 1

5641

24 1

5671

5681

56 1

5681 0.6 1

1 Рис. 8.9

335

1

1

121

131

141

151

161

12 1

321

31

31

21

21

31

21

331

71

21

21

21

21

71

341

21

21

21

21

31

21

351

21

31

21

21

31

21

24 1

31

31

21

21

31

X

Y

1

1

1

1

1 Рис. 8.10

Решению игры присуще такое свойство: если один из игроков придержи вается своего оптимального решения, то его противнику не выгодно не при нимать свое оптимальное решение (в противном случае это либо оставит выигрыш/проигрыш игрока неизменным, либо ухудшит его). Действительно, пусть в игре с седловой точкой игрок A придерживается своего оптимального решения xi, а игрок B — своего yj. До тех пор, пока это так — выигрыш игрока A и проигрыш игрока B остаются неизменными и равными цене игры g — значению элемента платежной матрицы игры, нахо% дящегося на пересечении ее xi%й строки и yj%го столбца. Пусть, например, игрок A перестанет принимать свое оптимальное ре% шение xi. Поскольку соответствующий элемент со значением g платежной мат% рицы является н а и б о л ь ш и м в ее yj%м столбце, при принятии игроком B своего оптимального решения yj такое поведение игрока A не будет ему вы% годным. Аналогично игроку B тоже невыгодно не принимать свое оптимальное решение yj, если игрок A принимает свое оптимальное решение xi. Итак, для игр с седловыми точками минимаксные решения устойчивы. Соответствующие бистратегии определяют некоторое равновесное состоя ние игры: отклонение от оптимального решения приводит к потерям игрока, вызвавшего это отклонение. Эти потери «принуждают» игрока%нарушителя вернуться к принятию своего оптимального решения. Чистая цена игры с седловой точкой g является тем значением выигрыша игрока A и проигрыша игрока B, которое каждый из них в игре против абсо% лютно проницательного, корыстного и разумного противника не может со% ответственно увеличить и уменьшить. Следует отметить, что платежная матрица игры может содержать несколь% ко седловых точек. Например, цена некоторой антагонистической игры 4´5 с платежной матрицей, изображенной на рисунке 8.10, очевидно равна g = 1. У этой игры имеется 6 седловых точек: (x1, y3), (x1, y4), (x3, y3), (x3, y4), (x4, y3), (x4, y4). При наличии у матрицы игры нескольких седловых точек все они опре% деляют одну чистую цену этой игры (доставляют одно и то же значение выиг% рыша игрока A и проигрыша игрока B). 336

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

8.2.2. ОСНОВНАЯ ТЕОРЕМА ДЛЯ АНТАГОНИСТИЧЕСКИХ МАТРИЧНЫХ ИГР

Среди практически значимых конечных а н т а г о н и с т и ч е с к и х и г р типичны игры, в которых нижние и верхние цены отличаются между собой: a 0, то его индивидуаль% ное решение y1 следует отбросить как заведомо для него невыгодное; если n < 0, то по этой же причине следует отбросить решение y2; при n = 0 реше% ния y1 и y2 взаимно дублируют одно другое и поэтому любое из них может быть отброшено. Наконец, в игре, в которой у одного из игроков имеется только одно воз% можное индивидуальное решение, седловая точка очевидно имеется. Итак, предположение «D = 0» обусловливает выполнение запрещенного утверждения о существовании седловой точки в игре. Значит, D ¹ 0. Остается доказать, что предположение об отсутствии заведомо невыгод% ных стратегий обусловливает неотрицательность вероятностей p1, p2 и q1, q2, вычисленных соответственно по формулам (8.8) и (8.10). Пусть, например, выполняется неравенство F11 ³ F12. Тогда, чтобы инди% видуальное решение y1 игрока B не было для него заведомо невыгодным, должно выполняться неравенство F21 < F22. Значит, D > 0, p1 > 0 и p2 ³ 0 (см. определение D (8.11) и формулы (8.8)). Аналогично можно проанализировать остальные возможные соотноше% ния между выигрышами {Fij}. Рассмотрим теперь метод отыскания оптимальных смешанных страте% гий игроков матричной m´n%игры с платежной матрицей, изображенной на рисунке 8.1. Сначала сформулируем и исследуем задачу отыскания оптимальной сме% 1 6 игрока A — набора неотрицательных зна% шанной стратегии 211 2 3 321 4 5554 31 1 чений вероятностей 1 21 2 применения этим игроком своих чистых стратегий {xi}, i = 1, ..., m: 211 2 111 2 211 3 11 При любом поведении игрока B (при любом выборе этим игроком сво% его индивидуального решения) стратегия 1 A1 должна обеспечить игроку A ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

341

выигрыш не меньший, чем (неизвестная) цена игры g, и выигрыш, равный g, если игрок B применит свою оптимальную стратегию 1B1 1 Если игрок A будет применять свою оптимальную смешанную стратегию 1A1 1 а его противник — игрок B — свою чистую стратегию yj, то м а т е м а т и % ч е с к о е о ж и д а н и е (с р е д н е е з н а ч е н и е) Aj выигрыша игрока A будет равно 31 2 41 1 511 3 111 3 421 521 2 1 4 12 1112 61 Основное свойство стратегии 1 A1 таково, что при любом поведении игро% ка B эта стратегия обеспечивает игроку A выигрыш не меньший цены игры g. Значит, ни одно из чисел {Aj} не может быть меньшим, чем g:

31 1 411 2 111 2 321 421 3 4

5 1 6 121112 51

Цель игрока A — обеспечить себе максимальный выигрыш (выбрать такую свою смешанную стратегию из множества возможных, которая максимизиро% вала бы цену игры g). Поэтому задача отыскания его оптимальной смешанной стратегии 1 A1 сводится к отысканию решения следующей задачи л и н е й н о % г о п р о г р а м м и р о в а н и я (ЛП):

1 3 4561 1 12 21 3

3

9 514 21 6 1 1 1 21 3

9 21 2 11 1 21

4 5 5 4 2 117771 61 5 7 5 21 6 01 1 2 11 7771 375 5 8

(8.14)

Нетрудно доказать, что з н а ч е н и е g* задачи (8.14) — цена g рассматри% ваемой m´n%игры — конечно. Поэтому у этой задачи, как у задачи ЛП с ко% нечным значением, есть по крайней мере одно решение. Таким образом, компоненты 211 1 1 1 211 любого решения 1 21 2 211 23332 211 4 за% дачи (8.14) являются соответствующими компонентами оптимальной сме% шанной стратегии 1 A1 игрока A. Оптимальную смешанную стратегию 1B1 игрока B можно найти, руковод% ствуясь теми же соображениями, что и при отыскании стратегии 1 A1 . При этом, однако, следует учесть, что игрок B, во%первых, пытается минимизировать свой проигрыш g и, во%вторых, должны выполняться неравенства 311 411 2 111 2 312 421 3 4

5 1 6 12 1112 51

Задача отыскания оптимальной смешанной стратегии 1B1 игрока B сво% дится к отысканию решения задачи линейного программирования: 1 3 456 1 1 122 1 3

3

541 2 1 6 11 1 21 3

2 1 2 11 1 21

342

4 5 5 4 2 117771 615 7 5 2 1 8 01 1 2 117771 3755 9

(8.15)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Нетрудно доказать, что задачи (8.14) и (8.15) являются взаимодвойствен% ными задачами: задача (8.15) является двойственной задачей задачи (8.14) и, обратно, задача (8.14) является двойственной задачей задачи (8.15). В качестве примера применения описанного метода отыскания оптималь% ных смешанных стратегий рассмотрим игру «Три пальца». Задача (8.14) отыскания цены игры g и оптимальной смешанной страте% гии 1 A1 игрока A принимает вид 1 2 4561 (8.16) 1 12 21 3

2p1 – 3p2 + 4p3 ³ g, –3p1 + 4p2 – 5p3 ³ g, 4p1 – 5p2 + 6p3 ³ g, p1 + p2 + p3 = 1, p1, p2, p3 ³ 0,

(8.17) (8.18) (8.19) (8.20)

а задача (8.15) отыскания цены игры g и оптимальной смешанной стратегии 1B1 игрока B (двойственной задачи (8.16)–(8.20)) —

1 2 456 1

3 4 4 11 4 8 11 4 11 4 21 1 22 1 23 074 1 122 1 3

221 5 322 6 423 5321 6 422 5 523 421 5 522 6 623 21 6 22 6 23 9

7 7 7 11

(8.21)

Значения g* обеих этих задач равны цене игры g. Формально для отыскания решений задач (8.16)–(8.20) и (8.21) можно воспользоваться любым методом отыскания решений задач ЛП (см. разд. 6.1). Однако в данном случае эти задачи можно решить аналитически. Действительно, после сложения неравенств (8.17), (8.19) и неравенст% ва (8.18), обе части которого умножены на 2, и приведения подобных членов получим неравенство g £ 0, из которого следует, что з н а ч е н и е g* з а д а % ч и (8.16)–(8.20) — цена игры g — н е п р е в о с х о д и т 0. Предположим, что g* = 0. Из равенства (8.20) следует, что p3 = 1 – p1 – p2. Учитывая это в левых час% тях неравенств (8.17)–(8.19), после попарного сложения неравенств (8.17) и (8.18) и неравенств (8.18) и (8.19) будут получены неравенства 1 + 2g £ 2p2 £ 1 – 2g, выполняющиеся для любого допустимого в задаче (8.16)–(8.20) значения g, в частности, при g = 0. Отсюда и ввиду предположения g* = 0 значение компоненты p2 в л ю б о м решении задачи (8.16)–(8.20) равно 1/2 2 111 2 3415 и поэтому p1 + p3 = 1/2. (8.22) Переписав левые части неравенств (8.18) и (8.19) соответственно в виде 3(p1 + p3) – 2p3 + 4p2 и 4(p1 + p3) + 2p3 – 5p2, подставив в эти неравенства зна% чения p2 = 1/2, p1 + p3 = 1/2 и g = 0, получим, что p3 = 1/4, и, значит, в си% лу (8.22), p1 = 1/4. ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

343

Таким образом, из предположения g* = 0 следует существование у зада% чи (8.16)–(8.20) единственного решения 1 21 2 111 2 121 2 131 32 где 111 2 1234 111 2 2314 111 2 2345 Следовательно, цена игры «Три пальца» равна 0, а единствен% ной оптимальной стратегией 111 игрока A в этой игре является вектор 111 2 234567 3467 345684 Легко доказать, что оптимальной смешанной стратегией 1B1 игрока B в игре «Три пальца» является 111 2 234567 3467 345684

8.3. ПАРНЫЕ ИГРЫ (ОБЩИЙ СЛУЧАЙ) Пусть задана игра в нормальной форме двух лиц A и B — четверка (X, Y; FA, FB), в которой X, Y и FA, FB — соответственно множества стратегий (ин% дивидуальных решений) игроков A и B и функции их выигрышей, опреде% ленные на декартовом произведении X´Y (величина выигрыша каждого иг% рока зависит не только от принятого им решения, но также и от решения, принятого другим участником игры). Предполагается, что четверка (X, Y; FA, FB) известна каждому игроку и что ц е л ь каждого из них состоит в м а к с и м и з а ц и и с в о е г о в ы и г р ы ш а в п р е д е л а х в о з м о ж н о г о. Основная сложность как формализации, так и осуществления указанно% го намерения игроков обусловлена их правом самостоятельно выбирать и принимать свои решения. Эта самостоятельность игроков не исключает воз% можность обмениваться информацией об имеющихся у каждого из них пред% почтениях, намерениях, проводить переговоры, направленные на достиже% ние компромисса при выборе решений, блефовать и пр. Каждую пару (x, y), в которой x Î X, y Î Y, называют бистратегией игры (X, Y; FA, FB). 8.3.1. КАНОНИЧЕСКИЕ ПРАВИЛА ПРИНЯТИЯ РЕШЕНИЙ

Если игроку A по каким%либо причинам становится известно решение y Î Y, принятое игроком B, то для него представляется естественным выби% рать решение x из подмножества

1

2

2 1 3 2 5 1 4 2 3 4A 1 14 3 2 6 567 4A 1 1 34 3 2 1 34 2

(8.23)

множества X своих альтернативных решений1. Таким образом, X(y) — мно% жество всех решений задачи математического программирования 31 21 13 44

3

5673 1 122

определяемой элементом y Î Y (принятым решением игрока B), множест% вом индивидуальных решений X и функцией выигрышей FA игрока A. 1 Здесь и далее предполагается, что рассматриваемые экстремальные значения функций достигаются.

344

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Аналогично, если игроку B известно решение x Î X, принятое игроком A, то для него естественно выбирать свое решение из множества 2 233 5 1 4 2 4 41 235 13 6 678 41 235 1 33 (8.24)

1

1 342

2

— множества всех максимумов функции FB(x, y¢) на множестве Y: 3B 1 42 1 13 3 4567 1 122

Правила принятия игроками A и B решений соответственно из множеств X(y) (8.23) и Y(x) (8.24) называют каноническими правилами принятия ре шений. 8.3.2. РАВНОВЕСИЕ ИГРЫ

Пусть x* и y* — решения соответственно игроков A и B, принимаемые ими по своим каноническим правилам. Бистратегию (x*, y*) называют некоопера тивным равновесием игры, равновесной бистратегией или равновесием игры по Нэшу1 (далее — равновесием игры), если выполняются включения x* Î X(y*), y* Î Y(x*).

(8.25)

Равновесие игры является частным случаем более общего понятия — пары согласованных стратегий игроков или их согласованной бистратегии, кон% кретизируемым каноническими правилами (8.23) и (8.24) принятия игрока% ми решений. Ввиду определения (8.25) равновесие игры составляет пара таких ин дивидуальных решений игроков, при отказе от принятия любого из кото рых соответствующий игрок может только или уменьшить, или оста вить без изменения свой выигрыш, если только второй игрок будет придер живаться своей компоненты равновесной стратегии. Действительно, пусть (x*, y*) — равновесие игры (равновесная бистратегия). Пусть, для определенности, решение x Î X игрока A отличается от его решения x*. Значит, если игрок B принимает решение y*, то при x Ï X(y*) выигрыш FA(x, y*) игрока A станет меньшим, чем его выигрыш FA(x*, y*), а при x Î X(y*) его выигрыш не изменится. Значение же выигрыша FB(x, y*) игрока B по сравнению со значением его выигрыша FB(x*, y*) в зависимости от особенностей функции FB( × , y*) может измениться как угодно — увели% читься, уменьшиться или остаться равным FB(x*, y*). Последнее обстоятельство может позволить игроку A все же как%то влиять на выбор игрока B. В самом деле, если у игрока A найдется такое отличное от x* решение x¢ Î X(y*), что FB(x¢, y*) < FB(x*, y*), то это поставит перед игроком B вопрос о целесообразности принимать ему решение y* (для решения x¢ выиг% рыш FA(x¢, y*) игрока A по определению равен FA(x*, y*)). Значит, если руко% водствоваться только интересами игрока A, бистратегия (x¢, y*) для него не хуже равновесной бистратегии (x*, y*); если же выполняется неравенство 1 Джон Нэш (John Nash, 1928) — американский математик и экономист, лауреат Нобелев% ской премии по экономике (1994).

ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

345

FB(x¢, y*) < FB(x*, y*) и руководствоваться интересами игрока B, то для него бистратегия (x¢, y*) хуже бистратегии (x*, y*). Аналогично может оказаться, что некоторая бистратегия (x*, y¢), y¢ Î Y(x*), для игрока B не хуже равновесной бистратегии (x*, y*) и хуже для игрока A. Таким образом, даже знание только одной равновесной бистратегии может оставить открытым вопрос для игроков о рекомендованных для них приемлемых индивидуальных решениях. Если же для имеющейся равновесной бистратегии (x*, y*) множества X(y*) и Y(x*) содержат только по одному элементу — соответственно X(y*) = {x*}

и

Y(x*) = {y*},

(8.26)

то ни одному из игроков отступать от своей компоненты этой бистратегии н е в ы г о д н о: если второй игрок будет придерживаться своей компоненты рав% новесной стратегии, то у «игрока%нарушителя» в ы и г р ы ш у м е н ь ш и т с я. Значит, в предположении (8.26) единственным побуждающим мотивом для иг% рока не придерживаться своей компоненты равновесной стратегии может быть лишь его желание «насолить» второму игроку — выбрать такое решение, при котором выигрыш этого игрока уменьшится. Однако такое поведение игроков исключается ввиду предположения о цели участия в игре каждого из них — максимизировать свой выигрыш в пределах возможного. Отсюда — условия существования и методы отыскания равновесных бистратегий, обладающих свойством (8.26), представляют первоочередный интерес для обоих игроков. Если же некоторая бистратегия (x0, y0), x0 Î X, y0 Î Y, не является равно% весной, то по крайней мере для одного из игроков его индивидуальное реше% ние можно изменить на такое, при котором его выигрыш увеличится (при условии неизменного решения второго игрока). В таком случае методы (8.23) и (8.24) выбора игроками решений, конкретизирующие их стремление к мак% симизации собственных выигрышей, могут и не привести к какой%либо вза% имно приемлемой бистратегии. Действительно, пусть, для определенности, x0 Ï X(y0). Тогда при выборе игроком A решения x1 Î X(y0) его выигрыш станет равным FA(x1, y0) и п р е в ы с и т значение FA(x0, y0). Для бистратегии (x1, y0) выигрыш игрока B станет равным FB(x1, y0) и если 0 y Ï Y(x1), то он не будет для него максимально возможным. Тогда игрок B решению y0 предпочтет решение y1 Î Y(x1), доставляющее ему выигрыш FB(x1, y1) больший, чем выигрыш FB(x1, y0), а игроку A обеспечит выигрыш FA(x1, y1). Кроме того, даже если окажется, что y0 Î Y(x1) и множество Y(x1) помимо y0 еще содержит и другие элементы, игрок B может попытаться «за% ставить» игрока A отказаться от принятия им решения x1, выбрав отличаю% щееся от y0 решение y1 Î Y(x1), для которого выигрыш FB(x1, y1) игрока A будет меньшим, чем его выигрыш FA(x1, y0). Как бы там ни было, если x1 Ï X(y1) или если x1 Î X(y1) и множество X(y1) помимо x1 содержит и другие элементы, решение x1 игрока A может перестать его устраивать и он ему предпочтет какое%либо иное решение x2 Î X(y1) и т. д. Указанный процесс построения бистратегий {(xk, yk)}, определяющих со% ответствующие выигрыши {FA(xk, yk)} и {FB(xk, yk)} игроков, может оказать% 346

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ся бесконечным и даже не приближать их к какой%либо бистратегии, прием% лемой для них обоих. Таким образом, именно среди соответствующих компонент равновес ных бистратегий, если такие имеются, и представляется целесообразным выбирать игрокам свои решения. Для данной игры (X, Y; FA, FB) и для канонических правил (8.23), (8.24) принятия игроками своих индивидуальных решений множество согласован% ных бистратегий может оказаться пустым (рис. 8.15). Возможно, что это множество содержит только один элемент (рис. 8.16) или несколько элемен% тов (рис. 8.17). Не исключается существование и бесконечного числа согла% сованных бистратегий (рис. 8.18). На рисунках 8.15–8.18 обозначены: · X, Y — множества индивидуальных решений соответственно игрока A и игрока B; · 1 — график правила принятия игроком A своих решений — множество все% возможных пар (X(y), y), y Î Y; множество X(y) определено согласно (8.23); · 2 — график правила принятия игроком B своих решений — множество всевозможных пар (x, Y(x)), x Î X; множество Y(x) определено соглас% но (8.24); · 3 — равновесная бистратегия (множество равновесных бистратегий).

Рис. 8.15

Рис. 8.16

Рис. 8.17

Рис. 8.18

ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

347

Обсуждение вопроса о существовании равновесных бистратегий игры (X, Y; FA, FB) для принятого канонического правила принятия игроками ре* шений (8.23), (8.24) предполагает наличие у читателя существенно более об* ширных и глубоких знаний математики, далеко выходящих за пределы ком* плекса современных учебных дисциплин по подготовке как экономистов, так и специалистов*управленцев общего профиля. Поэтому далее примени* тельно к данной игре и принятому игроками правилу принятия ими реше* ний сформулировано только одно, но весьма важное в приложениях, доста* точное условие существования равновесных бистратегий. Теорема (Какутани1). Если в игре двух лиц в нормальной форме (X, Y; FA, FB) множества индивидуальных решений игроков X и Y являются в ы п у к л ы  м и, о г р а н и ч е н н ы м и и з а м к н у т ы м и множествами соответст венно в nA и nBмерных евклидовых пространствах 2 1A и 2 1B, ф у н к ц и и в ы и г р ы ш е й игроков FA и FB н е п р е р ы в н ы на декартовом произведении X´Y, а множества X(y) (8.23) и Y(x) (8.24) в ы п у к л ы при любых x Î X и y Î Y, то множество равновесных стратегий этой игры непусто. Эта теорема является следствием более общих утверждений о существо* вании неподвижных точек некоторых точечномножественных отображе ний2, доказанных в 1910 г. Брауэром3 и в 1941 г. Какутани. Итак, по определению (8.25) пара (x*, y*), x* Î X, y* Î Y, является равно* весной бистратегией для игры (X, Y; FA, FB) двух лиц в нормальной форме при каноническом правиле принятия игроками решений (8.23), (8.24), если выполняются неравенства 1A 1 21 2 3 1 3 2 1A 1 22 3 1 3 1B 1 21 2 3 1 3 2 1B 1 21 2 3 3

3 2 4 4 25 6 3 3 454 7

(8.27)

Введением некоторой специальной вспомогательной функции усло* вия (8.27) можно записать внешне в несколько более простой форме. Пусть Z — декартово произведение множеств X´Y: Z º X´Y, элемента* ми которого являются пары z º (x, y) упорядоченных между собой произ* вольных элементов x Î X и y Î Y. Пусть z º (x, y) Î Z, 1 1 1 21 2 31 3 2 4 и (8.28) Ф1 1 2 1 3 1 2A 1 32 41 3 2 2B 1 31 2 4 3 — функция, областью определения которой является декартово произведе* ние Z´Z. 1

Шизуо Какутани (Shizuo Kakutani, 1911–2004) — японский математик. Пусть U и V — некоторые множества. Если каждому элементу u Î U ставится в соответст* вие некоторое подмножество W(u) множества V (W(u) Í V), то говорят, что задано точечно множественное отображение W: U ® V из множества U в множество V. В частности, способ (8.23) задания множества X(y) конкретизирует соответствующее точечно*множественное отобра* жение из множества Y в множество X. Пусть V = U. Точку u0 множества U называют неподвижной точкой при точечно*множест* венном отображении W: U ® U, если u0 Î W(u0). Таким образом, каждая равновесная бистратегия для игры в нормальной форме (X, Y; FA, FB) с каноническим правилом принятия игроками решений (8.23), (8.24) является неподвижной точкой декартова произведения X´Y при точечно*множественном отображении X( × )´Y( × ): X´Y ® ® X´Y (см. определения (8.23)–(8.25)). 3 Лёйтзен Брауэр (Luitzen Brouwer, 1881–1966) — голландский математик и философ. 2

348

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

После сложения соответственно левых и правых частей неравенств (8.27) нетрудно убедиться, что для каждой равновесной бистратегии z* º (x*, y*) Î Z выполняется неравенство F(z, z*) £ F(z*, z*)

" z Î Z. z*

(x*,

(8.29)

y *)

Î Z выполняется нера* Обратно, если для некоторой точки º венство (8.29), то это неравенство выполняется и для произвольной точки z¢ º (x, y*) Î Z, x Î X. После подстановки точки z¢ вместо точки z в левую часть неравенства (8.29) ввиду определения (8.28) имеем: F(z¢, z*) º FA(x, y*) + FB(x*, y*) £ F(z*, z*) º FA(x*, y*) + FB(x*, y*), а значит,

FA(x, y*) £ FA(x*, y*),

т. е. выполняется первое из двух условий (8.27). Аналогично, подставив точку z² º (x*, y) Î Z, y Î Y, вместо точки z в ле* вую часть неравенства (8.29), можно убедиться в выполнении и второго усло* вия (8.27). Следовательно, для функции F, определяемой согласно (8.28), выполне ние для точки z* º (x*, y*) Î Z неравенства (8.29) н е о б х о д и м о и д о с т а т о ч н о для того, чтобы эта точка z* была равновесной бистра тегией для игры (X, Y; FA, FB) двух лиц в нормальной форме при канониче ском правиле (8.23), (8.24) принятия игроками решений. По определению а н т а г о н и с т и ч е с к о й и г р ы FB(x, y) = –FA(x, y)

" x Î X, y Î Y.

Поэтому для такой игры 1213 114 1 212113 14 313 11 4 2 и, значит, F(z, z) = 0 " z Î Z. Следовательно, F(z*, z*) = 0 и условие (8.29) принимают вид F(z, z*) £ 0 " z Î Z. (8.30) * Итак, точка z Î Z является равновесной бистратегией игры (X, Y; FA, FB) тогда и только тогда, когда она является решением задачи м а к с и м и з а ц и и функции F(z, z*) на множестве Z:

Ф1 12 1 1 3 3 4567 122

F(z*,

(8.31) z*)

При этом значение задачи (8.31) равно (для антагонистической игры F(z*, z*) = 0)1. Кроме того, для а н т а г о н и с т и ч е с к о й игры условия (8.27) равновес* ности бистратегии z* º (x*, y*) Î Z также могут быть представлены в виде FA(x, y*) £ FA(x*, y*) £ FA(x*, y)

"x Î X, y Î Y.

(8.32)

1 Поскольку равновесная бистратегия z* неизвестна, то и целевая функция задачи (8.30) полностью не конкретизирована.

ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

349

Значит, для а н т а г о н и с т и ч е с к о й игры ее равновесная бистратегия (x*, y*) является седловой точкой функции FA(x, y) на множестве X´Y. Например, в антагонистической игре «Решающая схватка» (см. при% мер 8.3 в разд. 8.2 и расширенную платежную матрицу этой игры, пред% ставленную на рис. 8.9) имеется единственная седловая точка (x *, y*), имеющая компоненты x* = x3, y* = y2 (смысловые значения этих компонент конкретизированы при описании игры). В гипотетической антагонистической игре, платежная матрица которой представлена на рисунке 8.10, имеется 6 седловых точек: (x1, y3), (x1, y4), (x3, y3), (x3, y4), (x4, y3), (x4, y4). В антагонистических играх «Камень — ножницы — бумага» и «Три паль% ца» (см. примеры 8.1 и 8.2 в разд. 8.2) нет седловых точек — нет равновесных (чистых) бистратегий (однако есть седловые точки в смешанных стратегиях). Компонентами каждой седловой точки (x*, y*) функции FA(x, y) на мно% жестве X´Y являются произвольные решения пары задач математического программирования: компонента x* — любое решение задачи 123 5A 4 3 5 1 6 2 178 (8.33) 112

а компонента

y*

31 4

— любое решение задачи 123 5A 4 35 1 6 2 1789 31 4

112

(8.34)

При этом у задач (8.33) и (8.34) одинаковые значения, равные FA(x*, y*). К настоящему времени разработаны и специальные численные методы отыскания седловых точек1, в которых не предполагается раздельный поиск решений задач (8.33), (8.34), в общем случае, недифференцируемой оптими% зации (даже при условии дифференцируемости функции FA(x, y), целевые функции задач (8.33) и (8.34) могут оказаться недифференцируемыми). Таким образом, для игры (X, Y; FA, FB) двух лиц в нормальной форме при каноническом правиле принятия игроками решений (8.23), (8.24) представ% лены различные формы (8.29)–(8.32) условий того, что пара z* º (x*, y*), x* Î X, y* Î Y, является равновесной бистратегией этой игры. Достаточные условия существования таких равновесных бистратегий сформулированы в теореме Какутани и н е з а в и с я т от формы описания равновесности бистратегии. Однако для антагонистической игры эти условия — условия (8.32) сущест% вования седловых точек у функции FA(x, y) выигрыша игрока A — могут быть несколько ослаблены. Теорема (фон Неймана). Пусть X и Y — выпуклые, ограниченные и замк нутые множества. Если при любом фиксированном y Î Y функция FA(x, y) вогнута и полунепрерывна сверху по x на X, а при любом фиксированном x Î X функция FA(x, y) выпукла и полунепрерывна снизу по y на Y, то у функции FA(x, y) на X´Y имеется по крайней мере одна седловая точка. 1 Например, в монографии: Ржевский С. В. Монотонные методы выпуклого программиро% вания. — Киев: Наукова думка, 1993. — 324 с. Описан способ отыскания седловых точек на декартовом произведении выпуклых ограниченных замкнутых множеств X и Y вогнутой по x при любом фиксированном y Î Y и выпуклой по y при любом фиксированном x Î X не обяза% тельно дифференцируемой непрерывной функций FA(x, y).

350

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Для понимания сущности условий теоремы фон Неймана и ее отличия от теоремы Какутани необходимо знать, в чем именно состоит свойство функ% ции, называемое ее полунепрерывностью в точке сверху и/или снизу. Свойство полунепрерывности функции является менее жестким, чем свойство ее непрерывности, и состоит в следующем. Функцию f, заданную на множестве U, называют полунепрерывной сверху в точке u0 Î U, если для произвольного e > 0 найдется такое значение de > 0, что f (u) £ f (u0) + e

" u Î U: |u – u0| < de.

Пример полунепрерывной сверху функции приведен в разделе 2.2.2 — функция (8.15). На рисунке 2.17 приведен эскиз графика этой функции. Функцию f, заданную на множестве U, называют полунепрерывной сни зу в точке u0 Î U, если в этой точке функция –f полунепрерывна сверху. Функция f, заданная на множестве U, непрерывна в точке u0 Î U тогда и только тогда, когда в этой точке она одновременно полунепрерывна и свер% ху, и снизу. 8.3.3. ПАРЕТОBОПТИМАЛЬНЫЕ И ОСТОРОЖНЫЕ РЕШЕНИЯ ИГРОКОВ

Пусть на множестве U заданы m функций {fi}, каждую из которых на этом множестве желательно м а к с и м и з и р о в а т ь. Применительно к задачам многокритериальной м а к с и м и з а ц и и функций {fi} определения слабо Парето%оптимальных решений принимают следующий вид. Точку up Î U называют Паретооптимальной (оптимумом Парето, оптимумом по Парето или эффективной) для функций {fi} на множестве U, если для произвольной точки u Î U или найдется такая функция fj, j = j(u) Î {1, ..., m}, что fj(u) < fj(up), (8.35) или fi(u) £ fi(up), i = 1, ..., m. (8.36) Альтернативная форма определения Парето%оптимальной точки up Î U такая: ни для одной точки u Î U н е в ы п о л н я е т с я система неравенств fi(u) ³ fi(up),

i = 1, ..., m,

среди которых по крайней мере одно неравенство выполняется как строгое: имеется такой элемент k = k(u) Î {1, ..., m}, что fk(u) < fk(up). Точку up Î U называют слабо Паретооптимальной (слабым оптимумом Парето, слабым оптимумом по Парето или слабо эффективной) для функ% ций {fi} на множестве U, если для произвольной точки u Î U найдется функ% ция fk, k = k(u) Î {1, ..., m}, для которой fk(u) £ fk(up). ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

351

Эквивалентное определение слабо Паретооптимальной точки up Î U: система неравенств fi(u) > fi(up),

i = 1, ..., m,

н е с о в м е с т н а на множестве U (не имеет ни одного решения, принадлежа% щего множеству U). Ответ на вопрос о наличии связи между равновесными бистратегиями игроков и множеством слабо Парето%оптимальных точек для функций FA и FB их выигрышей на декартовом произведении X´Y в общем случае отрица% тельный: множества равновесных бистратегий игры и слабо Паретооп тимальных решений могут не иметь общих элементов. Например, каждая бистратегия антагонистической игры является слабо Парето%оптимальной точкой, однако в этой игре может и не быть равновес% ных бистратегий. Понятный интерес вызывает и вопрос о минимально гарантированных выигрышах игроков. Их значения естественно учитывать при сравнении и выборе игроками своих решений. Игрок A, предполагая выбор игрока B наихудшим для него, т. е. прово% димым из соображений минимизации игроком B функции выигрыша FA(x, y) на множестве Y при каждом фиксированным x Î X, будет стремиться макси% мизировать значение 123 3A 4 45 1 67 Поэтому выигрыш игрока A не может быть 1 12 меньшим, чем 51A 2 234 256 5A 7 38 1 9

314

112

Решение 1 1 2 игрока A, для которого

31A 2 234 3A 5 41 6 1 76 112

т. е. при котором функция 123 3A 4 45 1 6 принимает значение наибольшее на 1 12

множестве X, называют осторожной стратегией (осторожным решением) игрока A. Свой гарантированный выигрыш 11A игрок A может использовать как своеобразную угрозу игроку B, отклоняя каждую бистратегию (x, y), для ко% торой его выигрыш будет меньше 11A 2 Таким образом, если

11A 1 1A 2 23 3 43 то принятие игроком A решения 1 1 2 обеспечит ему выигрыш не меньший, чем 11A 2 Аналогичным образом определяются гарантированный выигрыш 11B и осторожное решение (осторожная стратегия) 1 1 2 игрока B — соответст% венно 51B 2 234 256 5B 7 18 3 9 314

112

и 31B 2 234 3B 5 16 41 78 11 2

352

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Разумеется, так же как и игрок A, свой гарантированный выигрыш 11B игрок B может себе обеспечить, отклоняя каждую бистратегию (x, y), для которой его выигрыш будет меньше 11B. В некотором смысле идеальным является существование для игры слабо оптимальных по Парето решений игроков, которые составляют или равно% весную бистратегию, или пару их осторожных стратегий. Игры, у которых пары осторожных стратегий слабо оптимальны по Па% рето, называют несущественными. Некоторые антагонистические игры яв% ляются несущественными. 8.3.4. БИМАТРИЧНЫЕ ИГРЫ

Во многих случаях условия теорем Какутани и фон Неймана о существо% вании равновесных бистратегий являются весьма жесткими. Так, в частно% сти, эти теоремы неприменимы для парной конечной игры — биматричной игры, задаваемой обычно в виде специальной матрицы — биматрицы игры, имеющей такую структуру: если X = {x1, x2, ..., xm}

и

Y = {y1, y2, ..., yn},

то в клетке этой матрицы, находящейся на пересечении ее i%й строки и j%го столбца, в левом верхнем углу записывается значение выигрыша FA(xi, yj) игрока A, а в нижнем правом углу — выигрыш FB(xi, yj) игрока B, приняв% ших соответственно решения xi Î X и yj Î Y, i = 1,..., m, j = 1,..., n (рис. 8.19). Антагонистическая конечная игра (матричная игра) является частным случаем биматричной игры, в записи биматрицы которой при всех i = 1, ..., m, j = 1, ..., n значения FA(xi, yj) и FB(xi, yj) противоположны: FA(xi, yj) + FB(xi, yj) = 0

"i = 1, ..., m,

j = 1, ..., n.

Поэтому для описания такой игры достаточно конкретизировать обыч% ную матрицу выигрышей одного из игроков — игрока A, — называемую пла% тежной матрицей игры (см. рис. 8.1 в разд. 8.2). 1 1

X

32 1 33 1

1 11 1 35 1

Y

1

12 1

13 1

44 5 32 6 12 7 1

44 5 32 6 13 7 1

48 5 32 6 12 7 1

48 5 32 6 13 7 1

44 5 33 6 12 7 1

44 5 33 6 13 7 1

48 5 3 3 6 12 7 1

48 5 3 3 6 13 7 1

1 11 1

1 11 1

44 5 35 6 12 7 1

44 5 35 6 13 7 1

48 5 35 6 12 7 1

48 5 35 6 13 7 1

1

1111111111 1111111111 1111111111 1 11 1

1111111111

12 1 44 5 32 6 12 7 1 48 5 32 6 12 7 1 44 5 33 6 12 7 1 48 5 33 6 12 7 1

1 11 1 44 5 35 6 12 7 1 48 5 35 6 12 7 1

Рис. 8.19

Биматрица парной конечной игры ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

353

Пример 8.4. Игра «Дилемма подследственного»1. Для каждого из двух подследственных (далее — игроков), задержанных по подозрению в совершении некоторого преступления, имеется возможность выбора только между двумя противоположными по сути способами поведе% ния (дилемма): с т р а т е г и я з а п и р а т е л ь с т в а — отказ давать какие% либо показания (решения x1 и y1 соответственно игрока A и игрока B) и с т р а т е г и я с о т р у д н и ч е с т в а со следствием — дача правдивых ответов на вопросы следствия (решения x2 и y2 соответственно игрока A и игрока B). Если оба игрока выбирают стратегию запирательства — бистратегию (x1, y1), то поскольку их вина — пусть и не в расследуемом преступлении — все же будет доказана, каждый из них будет приговорен к a годам тюрьмы. Если оба игрока выбирают стратегию сотрудничества со следствием — би% стратегию (x2, y2), то каждый из них будет приговорен к b годам тюрьмы, b > a. Если же один из игроков примет стратегию запирательства, а второй — сотрудничества со следствием, то тот из них, кто избрал стратегию запира% тельства, будет приговорен к c годам тюрьмы, а второй, избравший страте% гию сотрудничества, будет освобожден (приговорен к 0 годам тюрьмы), c > b. В предположении желания каждого из игроков минимизировать свой срок заключения биматрица игры «Дилемма подследственного» имеет вид, представленный на рисунке 8.20 (на соответствующих местах в клетках би% матрицы парной конечной игры записываются в ы и г р ы ш и игроков, зна% чения которых противоположны их проигрышам; полученный срок заклю% чения естественно интерпретировать как п р о и г р ы ш подследственного). Итак, зная, что 0 < a < b < c, и желая минимизировать свой срок заклю% чения, каждый игрок должен принять одно из двух имеющихся у него аль% тернативных решений. В настоящее время неизвестны эффективные методы отыскания равно% весных бистратегий, применимые к любым конечным бескоалиционным иг% рам. Однако, ввиду существования для данной игры только четырех воз% можных бистратегий, для поиска равновесия этой игры, если, конечно, оно существует, можно применить универсальный метод перебора, основанный на проверке выполнения условий (8.27). В игре «Дилемма подследственного» только бистратегия z* º (x2, y2) (каж% дый игрок принимает решение сотрудничать со следствием) является равно% весной. При этой бистратегии каждый 1 игрок получает по b лет тюрьмы. Y 121 131 1 Р а в н о в е с н а я бистратегия z* н е X я в л я е т с я точкой, слабооптимальной 423 453 11 1 3333333333351 421 по Парето (в точке z11 º (x1, y1) функции 51 463 FA и FB выигрышей игроков принима% 12 1 111111111451 3333333461 ют значение –a, превосходящее значе% 1 ние –b, принимаемое этими функция% Рис. 8.20 ми в точке z*). 1 В литературе эта игра известна под названием «Дилемма бандита» или «Дилемма заклю% ченного». По%видимому, принятое здесь название игры более согласуется с современной ква% лификацией подследственного и соответствующим к нему отношением.

354

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Бистратегии z11 º (x1, y1), z12 º (x1, y2), z21 º (x2, y1) являются о п т и м а л ь % н ы м и п о П а р е т о точками. О с т о р о ж н ы м и р е ш е н и я м и игроков A и B являются соответственно 2 их стратегии 1 1 12 e 21 1 22 2 гарантирующие им выигрыши, равные 11 1 22 2 и 11 1 223 Следует обратить внимание на то, что в игре «Дилемма подследственного» отказ от сотрудничества со следствием обоих игроков — выбор ими решений x1 и y1 — позволяет к а ж д о м у из них в ы и г р а т ь б о л ь ш е, чем при при% нятии осторожных решений, составляющих в данном случае равновесную би% стратегию z*. (При решениях x1 и y1 каждый игрок будет осужден на a лет тю% ремного заключения, а при выборе ими решений x2 и y2 каждый из них будет осужден на b лет заключения, b > a; даже при принятии игроками договорен% ности придерживаться бистратегии z11 не окажется ли слишком большим искуше% нием для одного из них нарушить договор и быть выпущенным на свободу?) Пример 8.5. Игра «Перекресток». Пусть к перекрестку дорог подъезжают два автомобиля1. Водитель автомобиля может принять только одно из двух имеющихся у него решений — или остановиться, предоставляя возможность второму во% дителю проехать перекресток первым (решения x1 и y1 водителей), или про% ехать перекресток без остановки (решения x2 и y2). Если оба водителя остановятся — выберут бистратегию (x1, y1), то неболь% шая задержка во времени и несколько повышенный при этом расход горюче% го приведут к потерям каждого из них, равным a — некоторым условным единицам убытков. Если оба водителя решат проехать перекресток без остановки — выберут бистратегию (x2, y2), то потери каждого из них вследствие столкновения ав% томобилей составят c единиц потерь. Если же один водитель остановится, а второй проедет перекресток без остановки, то потери того из них, кто остановится, составят b единиц, а у водителя, проехавшего перекресток без остановки, потерь не будет. В предположении намерений каждого водителя минимизировать свои потери и при условии, что 0 < a < b < c, водитель A — игрок A — должен вы% брать либо решение x1, либо решение x2, а водитель B — игрок B — либо решение y1, либо решение y2. Биматрица игры «Перекресток» 1 Y 1 21 1 31 представлена на рисунке 8.21. 1 X В этой игре имеется две равновесные 423 453 бистратегии: 111 2 1 21 2 32 3 (водитель A 11 1 333333333421 3333333333361 останавливается на перекрестке, а во% 51 473 дитель B проезжает перекресток, не ос% 12 1 111111111451 3333333333471 танавливаясь) и 121 2 1 22 2 31 3 (водитель A 1 проезжает перекресток без остановки, Рис. 8.21 а водитель B останавливается). 1 Предполагается, что событие происходит в стране, в правилах дорожного движения кото% рой очередность проезда перекрестков не регламентируется.

ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

355

В случае бистратегии 111 потери водителя A составляют b единиц потерь, а у водителя B потерь нет. В случае же бистратегии 121 — наоборот, у водителя A потерь нет, а потери водителя B составляют b единиц. Обе равновесные бистратегии 111 и 121 1 а также бистратегия 111 1 1 21 2 31 32 являются оптимальными по Парето точками. О с т о р о ж н ы м и р е ш е н и я м и водителей A и B являются соответст% 1 1 11 и 1 1 11 2 гарантирующие им выигрыши, равные венно их стратегии 2 2 11 1 22 и 11 1 223 Поскольку бистратегия 111 1 2 213 31 4 слабо оптимальна по Парето, то игра «Перекресток» является несущественной. Пример 8.6. Игра «Место встречи». Два студента разных московских вузов договорились о времени встречи, но ввиду присущей студентам занятости и зависимости от непредвиденных обстоятельств место встречи решили конкретизировать позже, примерно за 1 час до ее начала. Условились только, что встреча произойдет либо у памят% ника А. С. Пушкину, либо у памятника А. С. Грибоедову, либо где%то непо% далеку от этих памятников. По мере приближения времени встречи каждый из студентов, чтобы не опоздать, мог выбирать свое местонахождение таким образом, чтобы ока% заться поближе или к памятнику А. С. Пушкину (решения x1 и y1 соответст% венно студента A и студента B), или к памятнику А. С. Грибоедову (реше% ние x2 студента A и решение y2 студента B). При исследовании возможных маршрутов передвижения студентов по Москве до условленного ими момента встречи оказалось: · если оба студента местом встречи будут предполагать памятник А. С. Пуш% кину, то студент A, принявший решение x1, на встречу прибудет вовре% мя, а студенту B, принявшему решение y1, потребуется сократить свой график деловых встреч на a минут — время, необходимое для того, что% бы без опозданий добраться от места своей последней встречи до памят% ника А. С. Пушкину; · если оба студента местом встречи будут предполагать памятник А. С. Гри% боедову, то теперь уже студенту A, принявшему решение x2, потребуется сократить свой график деловых встреч на a минут, а студент B, принявший решение y2, прибудет на встречу у памятника А. С. Грибоедову вовремя; · если же студенты будут предполагать местом встречи разные памятни% ки (один студент — памятник А. С. Пушкину, а другой — памятник А. С. Грибоедову), то для того, чтобы их встреча состоялась точно в условленное 1 Y 121 1 31 время, но уже у памятника В. С. Высоц% 1 X кому, каждому студенту придется «уп% 41 542 лотнить» свой график предыдущих 11 1 222222222531 22222222222541 встреч ровно на b минут. 542 532 Предполагая выполнение неравенств 12 1 111111111541 222222222241 0 < a < b и присущее студентам стрем% ление экономить свое время, каждому 1 Рис. 8.22 из них следует принять только одно из 356

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

двух имеющихся решений: студенту A принять или решение x1, или реше% ние x2, а студенту B — или решение y1, или решение y2. Биматрица игры «Место встречи» представлена на рисунке 8.22. В этой игре имеется две равновесные бистратегии: 111 2 1 21 2 32 3 и 121 2 1 22 2 32 3 (оба студента предполагают встречу или у памятника А. С. Пушкину, или у памятника А. С. Грибоедову). В случае бистратегии 111 студент A график сво% их предыдущих встреч не изменяет — у него нет потерь времени, а студент B уплотняет свой график встреч на a минут (его потери равны a минутам); в слу% чае же бистратегии 121 — наоборот, студент A уплотняет свой график встреч на a минут, а у студента B потерь времени нет. Обе равновесные бистратегии 111 и 121 являются оптимальными по Парето точками. Любое решение каждого студента является его осторожным решением: у студента A осторожными решениями являются 11 1 11 и 12 1 12 2 при любом из которых он теряет b минут (уплотняет график предыдущих встреч на b минут), а у студента B осторожными решениями являются 11 1 11 и 12 1 12 2 при любом из которых он также теряет b минут. Поскольку р а в н о в е с н ы е бистратегии 111 2 1 21 2 32 3 и 121 2 1 22 2 32 3 составле% ны из о с т о р о ж н ы х решений студентов и, кроме того, являются с л а б о о п т и м а л ь н ы м и п о П а р е т о т о ч к а м и, во%первых, игра «Место встречи» является н е с у щ е с т в е н н о й и, во%вторых, эта игра является примером и д е а л ь н о й и г р ы — замена любой равновесной бистратегии либо увеличит потери времени каждым студентом, либо приведет к уменьшению потерь времени одного из них за счет увеличения потерь времени вторым студентом. Пример 8.7. Игра «Пожар». Два человека — игрок A и игрок B — оказались в запертой комнате, в ко% торой начался пожар. Чтобы выбраться из этой комнаты у каждого из них имеется два способа поведения: пройти в дверь (стратегии x1 и y1; дверь мо% жет оказаться как открытой, так и запертой) или, потратив некоторые уси% лия и время, отпереть дверь и затем уже выйти (стратегии x2 и y2). Если оба игрока выберут решения пройти в дверь — в случае бистрате% гии (x1, y1), то, оставаясь в запертой комнате до прибытия пожарных, поте% ри каждого из них составят c единиц (эти потери могут исчисляться, напри% мер, временем, необходимым для восстановления здоровья). Если оба игрока примут решения отпереть дверь и затем уже выйти — бистратегия (x2, y2), то после некоторой суеты возле двери при ее откры% вании оба выберутся из комнаты, получив при этом легкие ожоги, — потери каждого из них будут равны b, b < c. 1 1 Наконец, если один игрок примет 121 131 Y X 1 решение открыть дверь, а второй — 51 423 выйти в открытую дверь, то у этого вто% 11 1 33333333333441 333333333421 рого игрока потерь не будет вовсе, а по% 453 443 тери того из них, кто открывал дверь, 12 1 11111111151 3333333333451 будут равны a, a < b. Биматрица игры «Пожар» пред% 1 Рис. 8.23 ставлена на рисунке 8.23. ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

357

В этой игре имеются две равновесные бистратегии: 111 2 1 21 2 32 3 и 121 2 1 22 2 31 3 (один игрок открывает дверь, а второй проходит в уже открытую дверь). В случае бистратегии 111 игрок A не имеет потерь, потери же игрока B равны a (его выигрыш равен –a). При бистратегии 121 — наоборот, потери игрока A равны a единицам потерь, у игрока B потерь нет. Обе равновесные бистратегии 111 и 121 являются оптимальными по Парето точками. О с т о р о ж н ы м и р е ш е н и я м и игроков A и B являются соответственно 2 их 2стратегии 1 1 12 и 1 1 12 2 гарантирующие им выигрыши, равные 11 1 22 и 11 1 223 Поскольку бистратегия 122 1 2 213 31 4 оптимальна по Парето, игра «Пожар» является несущественной. 8.3.5. ДУОПОЛИЯ КУРНО

Более сложный пример игры двух игроков, каждый из которых в своем распоряжении имеет бесконечное множество альтернативных решений, был предложен Антуаном Курно1 в работе «Исследование математических прин% ципов теории богатства» (1838). Именно на этом примере дуополии2 впервые с применением математических методов была предпринята успешная попыт% ка прояснить природу поведения производителей и продавцов продукции одного вида, конкурирующих на одном рынке. В теории Курно и, в частности, в рассматриваемой далее математической модели предполагается конкуренция между поставщиками продукции на ры% нок. Эта конкуренция основана на том, что покупатели объявляют цены, а за% тем уже продавцы приспосабливают свой объем выпуска к этим ценам. Каждый дуополист (производитель и продавец продукции) оценивает функцию спроса на продукцию и устанавливает ее количество, предназначенное для продажи, предполагая при этом, что объем выпуска конкурента остается неизменным. Согласно Курно, дуополия занимает по объему выпуска продукции про% межуточное положение между полной монополией и свободной конкурен% цией: по сравнению с монополией выпуск здесь несколько больше, а по срав% нению с чистой конкуренцией — меньше. Итак, пусть имеется два производителя одного вида продукции, которую они же и продают на одном рынке: дуополист A принимает решение о коли% честве x производимой им продукции, а дуополист B решает, какое именно количество y продукции ему следует производить. Формально решения дуо% полистов представляют выбранные ими самостоятельно соответствующие неотрицательные действительные числа x и y. Пусть цена p(x, y) единицы продукции определяется ее общим количеством x + y на рынке следующим образом: для некоторых известных положительных чисел a и b p(x, y) = a – b (x + y). 1 Антуан Курно (Antoine Cournot, 1801–1877) — французский математик, экономист и философ, родоначальник математического направления в политической экономии. 2 Дуополия (от латинского слова два и греческого слова продаю) — ситуация, при которой имеются только два продавца определенного товара, не связанных между собой монополисти% ческим соглашением о ценах, рынках сбыта, квотах и др.

358

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Пусть также дуополистами применяется одна и та же технология изго% товления продукции, при которой общие затраты на производство прямо пропорциональны количеству производимой продукции: общие расходы e(u) по изготовлению u единиц продукции вычисляются по формуле e(u) = c u, где c — фиксированное п о л о ж и т е л ь н о е число (например, c — денежные затраты на изготовление единицы продукции и на приобретение для этого необходимого сырья). Значит, прибыль дуополиста A, полученная им после изготовления и про% дажи x единиц продукции, равна FA(x, y) º p(x, y) x – cx = (a – c – b(x + y)) x, а прибыль дуополиста B, полученная им после изготовления и продажи y еди% ниц продукции, — FB(x, y) = (a – c – b(x + y)) y. Пусть d º (a – c)/b. Очевидно, что прибыль, получаемая каждым дуопо% листом, вычисляется по соответствующей формуле 1A 1 22 3 3 1 412 3 2 3 3 3 224 5 1B 1 22 3 3 1 412 3 2 3 3 3 34 6

(8.37)

Из этих формул следует, что получаемая прибыль неотрицательна, если общее количество продукции на рынке не превосходит значение d: x+y£d

(8.38)

(здесь и далее предполагается, что a > c и поэтому d > 0). При известном количестве продукции y, изготовляемой дуополистом B, количество продукции x¢, изготовление которой позволит дуополисту A по% лучить максимальную прибыль, является решением задачи 2A 1 12 3 3 2 413 4 1 4 3 3 1

5

4562 1 10

(8.39)

где, ввиду условий x ³ 0 и (8.38), y £ d. Нетрудно подсчитать, что 12 1 23 4 (8.40) 2 и FA(x¢, y) = b(d – y)2/4 (для канонического правила (8.23) принятия дуопо% листом A решений множество X(y) его альтернативных решений содержит единственный элемент — точку x¢, вычисляемую по формуле (8.40)). Аналогично максимально возможная прибыль дуополиста B, получен% ная им при известном количестве x продукции, производимой дуополистом A, равна значению задачи 2B 1 32 1 3 2 413 4 3 4 1 3 1 5 4562 (8.41) 110

решение которой y¢ равно количеству продукции, необходимо производимой дуополистом B: y¢ = (d – x)/2 (8.42) ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

359

и FB(x, y¢) = b(d – x)2/4 (для канониче% ского правила (8.24) принятия дуопо% листом B решений множество Y(x) его альтернативных решений содержит единственный элемент — точку y¢, вы% числяемую по формуле (8.42)). Итак, равновесная бистратегия (x*, y*) дуополистов является решени% ем системы линейных алгебраических уравнений 5 11 2 13 4 2 1 2 3 24 6 1 1 7 2 2 13 4 1 2 3 25

У этой системы уравнений имеется единственное решение

Рис. 8.24

x* = d/3, y* = d/3

(8.43)

— дуополисты производят одинаковые количества продукции, по d/3 ее еди% ниц каждый, обеспечивая себе одинаковую прибыль FA(x*, y*) = FB(x*, y*) = b d2/9

(8.44)

(рис. 8.24). Поскольку функции FA(x, y) и FB(x, y) (8.37) в о г н у т ы, а множество Z º {z º (x, y): x, y ³ 0, x + y £ d}

(8.45)

3 21 слабо Парето%оптимальных точек задачи м а к % с и м и з а ц и и этих функций на множестве Z совпадает с объединением всех множеств, каждое из которых является множеством решений одной из се% мейства задач (8.46) 31 2 11 2 3 6 14A 2 11 2 3 3 21 7 13 4B 2 11 2 3 8 4561 выпукло в R2, множество

1 1 2 2 01 1 3 2 45

конкретизируемых значением a Î [0; 1]. Для фиксированного значения a Î [0; 1] градиент ÑWa(x, y) целевой функ% ции Wa(x, y) задачи (8.46) — вектор, компонентами которого являются част% ные производные функции Wa(x, y), — вычисляется просто: 3 2 11 1 22 3 3 4 5 6 3 72 1 2 7 3 8 1 9 4 22

11 1 22 3 3 5 6 5 64 2 1 1 2 2 3 3 7 2 1 1 7 1 3 3 7 2 8 1 1 7 1 3 9 1

 55 66 23



(8.47)

Стационарные точки функции Wa(x, y) — точки, в которых градиент ÑWa(x, y) равен нулевому вектору и поэтому, ввиду в о г н у т о с т и функции Wa(x, y), являющиеся ее а б с о л ю т н ы м и м а к с и м у м а м и, — являются решениями системы линейных алгебраических уравнений 360

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

2 1 1 2 2 3 1 41 5 6 8 1 2 2 21 7 13 2 3 21 7 1344

(8.48)

Система уравнений (8.48) имеет единственное решение тогда и только тогда, когда определитель матрицы коэффициентов при неизвестных этой системы 21 1 23 3 2 1 4 2 11 5 1 2 5 1 4 1 6 5121 5 122 (8.49) 1 2 11 5 1 2 не равен нулю. Очевидно, что D ¹ 0 тогда и только тогда, когда a ¹ 0,5. Если D ¹ 0 (a ¹ 0,5) то решением системы уравнений (8.48) является па6 ра (x, y), где 11 2 2 (8.50) 41 42 131 23 22 1 1 22 1 1 При этом, если 2a – 1 >0 (если a > 0,5), то ввиду a £ 1, x £ 0, а если 2a – 1< 0,5 — также принадлежат множеству (8.52), то ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

361

множеством слабо оптимальных по Парето точек задачи максимизации на множестве Z функций FA и FB (8.37) является множество

3 21 3 11 42 5 3 4 3 4 4 5 5 6 7 522

(8.53)

(см. рис. 8.22). В частности, решения дуополистов производить продукцию в оди% наковых количествах по d/4 единиц (xp = yP = d/4) определяют слабо Парето% оптимальную точку и позволяют каждому из них получить б о ´ л ь ш у ю при% быль, чем при применении р а в н о в е с н о й б и с т р а т е г и и (x*, y*) (8.43), также имеющей одинаковые компоненты x* = y* = d/3: 3A 1 41 2 5 1 3 3

222 222 4 3 3A 1 41 2 5 1 32 8 9

3B 1 41 2 5 1 3 3

222 222 4 3 3B 1 41 2 5 1 34 8 9

Нетрудно доказать, что о с т о р о ж н о е р е ш е н и е каждого дуополиста состоит в его отказе производить продукцию: 1 1 21 1 02 Очевидно, что в этом случае и прибыль никто из них не получает: 11A 1 11B 1 02 Вопросы и задания 1. Сформулируйте определение парной игры. 2. Какую игру называют игрой с нулевой суммой? Приведите пример такой игры. 3. Как бы вы, будучи экспертом в каком%либо виде спорта, определяли значения элементов соответствующей платежной матрицы, аналогичной по сути предло% женной платежной матрице игры «Решающая схватка» (см. рис. 8.5)? Какая для этого информация о спортсменах вам была бы необходима? 4. Для конечной антагонистической игры дайте определения ее решения, ее ниж% ней и верхней цены. 5. Как вы понимаете характеристику участника антагонистической игры как «аб% солютно проницательного, корыстного и разумного»? Что изменится, если по крайней мере один из участников такой игры не будет или (абсолютно) прони% цательным, или (абсолютно) корыстным, или разумным человеком? 6. Докажите, что нижняя цена конечной антагонистической игры не превосходит ее верхнюю цену. 7. Докажите, что если у одного из игроков конечной антагонистической игры име% ется только одно возможное индивидуальное решение, то в этой игре имеется по крайней мере одна седловая точка. 8. Сформулируйте принцип минимакса теории игр. 9. Дайте определение смешанных стратегий и опишите метод их отыскания. 10. Какое решение игрока называют максиминным (минимаксным)? Найдите мак% симинное и минимаксное решения игры с платежной матрицей, представлен% ной на рисунке 8.25. Найдите верхнюю и нижнюю цены игры. Есть ли у этой игры седловая точка? Если — нет, то вычислите цену игры, а также найдите все оптимальные сме% шанные стратегии для каждого игрока. 11. Докажите, что задачи (8.14) и (8.15) являются взаимодвойственными зада% чами. 12. Докажите, что цена игры «Камень — 1 ножницы — бумага» равна 0, а каждая Y 121 131 1451 1 X компонента оптимальной смешанной стратегии каждого игрока равна 1/3. 221 21 621 31 13. Найдите нижнюю и верхнюю цены ан% 231 621 31 21 тагонистической игры, платежная мат% 1 рица которой изображена на рисун% Рис. 8.25

362

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

14. 15.

16. 17.

18.

ке 8.11. Вычислите цену этой игры, а также найдите все оптимальные смешан% ные стратегии для каждого игрока. Найдите значение и решение задачи (8.21). Дайте определение игры двух лиц в нормальной форме. Приведите примеры таких игр. Какой принцип принятия решений, отличный от игрового, можно предложить двум основным участникам некоторой операции (у каждого из них имеется соответствующее множество альтернативных индивидуальных реше% ний; только после конкретизации решений каждым участником операции воз% можно оценить результат ее проведения)? Сформулируйте канонические правила принятия игроками решений в парной игре. Могут ли игроки придерживаться каких%либо иных правил принятия ре% шений? Каких именно? Сформулируйте определение равновесной бистратегии игры двух лиц в нормаль% ной форме. В любой ли такой игре имеются равновесные бистратегии? Как ска% жется отсутствие равновесных бистратегий в игре на правилах выбора игрока% ми своих индивидуальных решений? Пусть X º [0; 4] и Y º [0; 2] — множества действительных чисел, на декартовом произведении которых определены функции 1231 2 42 3 451 6 52 316 25 6 7 2 86

789

789

4 1 4 16 1 9 1 4 46

1 22 5 61 812 29 7 8 1

181 9 72 1 9 2

3456 3456

7 3 1 4 12 1 3 1 3 2

FB(x, y) º max{y1(x, y), y2(x, y)},

FA(x, y) º –(y – x + 1)2.

Докажите, что функция FB(x, y) р а з р ы в н а в точке x¢ = 2, y¢ = 1. В каких именно точках множества X´Y эта функция разрывна? Предполагая, что игроки при выборе своих решений применяют канонические правила, обоснуйте отсутствие равновесий для заданной игры (X, Y; FA, FB). 19. Пусть X º [0; 2] и Y º [0; 2] — множества действительных чисел,

j1(y) º min{1, 2 – y}, j2(y) º min{1, y} и FB(x, y) º –|x – y|, FA(x, y) º max{j1(y) – |x – 1.5|, j2(y) – |x – 0.5|} — функции, заданные соответственно на отрезке Y и на декартовом произведе% нии X´Y. Докажите: а) непрерывность функций FA и FB; б) если X(y) и Y(x) — множества, определяемые согласно правилам (8.23) и (8.24), то

789 1 1 2 26 3123 456 4 2 1 5 81 346 23456 789 1 5 26

3 4 5 145 64 7 2 41 3 456 789 2 2 1 1 6 9 в) графики точечномножественных отображений X(y) и Y(x) имеют вид, пред% ставленный на рисунке 8.26; г) если игроки при выборе своих решений применяют канонические прави% ла (8.23) и (8.24), то в игре (X, Y; FA, FB) нет равновесий. Какие именно не выполняются условия теоремы Какутани о существовании равновесных бистратегий в игре (X, Y; FA, FB), в которой игроки применяют канонические правила выбора решений? ГЛАВА 8. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

363

20. Конкретизируйте какие%либо игры в нор% мальной форме, для которых эскизы гра% фиков канонических правил принятия игроками решений имеют вид, представ% ленный на рисунках 8.16–8.18. 21. Обоснуйте правильность утверждения о том, что для антагонистической игры усло% вия (8.27) о равновесности бистратегии z º (x*, y*) принимают вид условий (8.33) о том, что пара (x*, y*) является седловой точкой функции выигрыша FA игрока A. Как эти же условия записать в терминах функции выигрыша FB игрока B? 22. Приведите пример разрывной в точке функции, в которой эта функция: Рис. 8.26 а) полунепрерывна снизу; б) полунепрерывна сверху; в) не является полунепрерывной снизу; г) не является полунепрерывной сверху; д) не является полунепрерывной ни снизу, ни сверху. Изобразите на графике характер поведения предложенной вами функции в ок% рестности ее точки разрыва. Докажите, что функция непрерывна в точке тогда и только тогда, когда она в этой точке одновременно полунепрерывна и сверху, и снизу. 23. Приведите примеры антагонистических игр, одна из которых является несуще% ственной, а вторая не является несущественной. 24. Найдите равновесную бистратегию, (слабо) Парето%оптимальные точки и осто% рожные стратегии для игр: а) «Дилемма подследственного»; б) «Перекресток»; в) «Место встречи»; г) «Пожар». Обоснуйте правильность ваших утверждений. 25. Докажите, что единственным решением задачи (8.39) является точка x¢, вычис% ляемая по формуле (8.40). 26. Найдите решение и значение задачи (8.41). 27. Докажите выпуклость множества Z (8.45). 28. Предполагая доказанными утверждения раздела 7.1, обоснуйте, что множество слабо Парето%оптимальных точек функций FA и FB (8.37), максимизируемых на множестве Z (8.45), совпадает с объединением множеств, каждое из которых является множеством решений одной из задач (8.46). 29. Докажите правильность формул (8.47) вычисления градиента функции Wa(x, y). 30. Обоснуйте правильность формул (8.50) вычисления решения системы линей% ных алгебраических уравнений (8.48) при a ¹ 0,5. 31. Подсчитайте прибыль каждого из дуополистов модели «Дуополия Курно», если один из них решил нарушить условие договора о производстве каждым из них продукции в количестве d/4 единиц. 32. Обобщите определение игры двух лиц в нормальной форме на случай m игро% ков (m > 2). Приведите примеры таких игр. Предложите правила принятия решений участниками игры m лиц. Как определить равновесие игры m лиц в нормальной форме?

364

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ГЛАВА

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

Т

олько в исключительных случаях можно найти точное ре% шение задачи математического программирования. Обычно же приходится рассчитывать на отыскание лишь п р и б л и ж е н н о г о р е ш е н и я задачи, определяемого после конечного числа тактов работы (итераций) специально разработанного для этой задачи вычислительного алгоритма (метода). В этой главе книги рассматриваются несколько классических численных методов решения задач нелинейного программирования, принадлежащих разным классам оптимизационных задач. Определяются понятия итераци% онного метода и его основные свойства — сходимость и скорость сходимости. Для решения задач минимизации функций одной переменной описаны методы дихотомии, золотого сечения, касательных и хорд; для задач безус% ловной минимизации функций нескольких переменных — методы наиско% рейшего спуска, Ньютона, двойственных направлений и обобщенного гради% ентного спуска. Для решения задач нелинейного программирования с ограничениями на переменные описаны общие вычислительные схемы методов возможных на% правлений, центров, внешних и внутренних штрафных функций.

9.1. ИТЕРАЦИОННЫЕ АЛГОРИТМЫ Пусть на некотором множестве X Í Rn определена функция f(x). Под численным алгоритмом (просто алгоритмом или методом) отыска% ния решения задачи математического программирования 3 1 12 2 345

11 2

(9.1)

понимают некоторый набор правил построения последовательности точек (приближений) x0, x1, x2, ... в пространстве Rn. Начальное приближение x0 обычно предполагается известным и удов% летворяющим некоторым условиям начала работы алгоритма. Процедуру построения приближения xk+1 после уже вычисленных точек x0, x1, ..., xk ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

365

называют k%й итерацией алгоритма. Во многих алгоритмах решения зада% чи (9.1) построение приближения xk+1 зависит только от предыдущего при% ближения xk и от некоторой информации о задаче, полученной при проведе% нии вычислений на предыдущих итерациях. Для каждого алгоритма задание на его k%й итерации приближения xk+1 можно представить в самом общем виде следующим образом: xk+1 = xk + aksk,

(9.2)

называют направлением поиска в точке а числовой где вектор Î множитель ak — длиной шага в направлении поиска. Сложность отыскания решения задачи (9.1) определяется многими фак% торами: числом n переменных задачи, аналитическими свойствами ее целевой функции f, способом задания и свойствами допустимого множества X и др. Помимо того, что каждый алгоритм предназначен для отыскания реше% ния задачи из некоторого класса задач, этот алгоритм также характеризует% ся типом, объемом и способом обработки информации, полученной в процес% се вычислений, условиями прекращения этих вычислений. Необходимой для работы алгоритма информацией может быть: точные или приближенные значения функций, определяющих задачу, и/или их не% которые производные, оценки множителей Лагранжа, значения двойствен% ной функции и пр. Алгоритмы, в которых используется только информация о значениях функций, определяющих задачу, называют алгоритмами нулевого порядка; алгоритмы, в которых также используется информация о значениях первых производных этих функций, — алгоритмами первого порядка; алгоритмы, в которых кроме того используется информация о значениях вторых произ% водных функций, — алгоритмами второго порядка. Если некоторое предписание алгоритма практически выполнить нельзя (например, если для построения последующего приближения необходимо найти точное решение задачи минимизации общей функции одной перемен% ной), то такой алгоритм называют концептуальным. В описании концепту% ального алгоритма приводятся лишь основные принципы построения при% ближений x0, x1, x2, ... В практически реализуемых вариантах алгоритма некоторые предписания его концептуального прообраза выполняются не точ% но, а только с указанной точностью. Алгоритмы, в которых после выполнения конечного числа итераций га% рантировано получение решения задачи, называют конечными. Такие алго% ритмы возможны только для узкого круга задач (например, для задач линей% ного программирования). Однако из%за неизбежных погрешностей вычисле% ний даже теоретически конечный алгоритм на практике может оказаться бесконечношаговым, т. е. без искусственного прекращения вычислений этим алгоритмом может порождаться бесконечное число приближений, среди ко% торых обычно нет решения задачи. Одной из характеристик бесконечношагового алгоритма является его схо димость — свойство порождать последовательность приближений {xk}, схо% дящуюся в некотором смысле. Выбор того либо иного определения сходимо% sk

366

Rn

x k,

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

сти алгоритма в известной степени произволен и в основном зависит от кон% кретного класса задач, для которых этот алгоритм предназначен. Так, на% пример, если необходимо отыскать наименьшее на Rn значение f* функции f: Rn ® R, то сходящимся для такой задачи можно считать алгоритм, кото% рым строится последовательность приближений {xk}, содержащая такую под% последовательность 1 3 21 23 что 3 1 4 21 2 2

31

i ?e

1 2 3

(на последовательности 1 3 21 2 значения минимизируемой функции f сходят% ся к значению f* задачи). Итак, для получения приемлемого приближения к решению задачи необ% ходима сходимость алгоритма. Выяснить наличие или отсутствие этой важной характеристики помогают некоторые формальные приемы. Их применение мо% жет способствовать установлению свойства сходимости алгоритма, не погру% жаясь при этом в конструктивные подробности его отдельных предписаний. Помимо сходимости алгоритма, наличие которой является своеобразной гарантией получить приемлемое приближение к решению задачи, другой его важной характеристикой является скорость сходимости. Под скоростью сходимости алгоритма понимают скорость приближения порождаемой им последовательности {xk} к предельной точке. Приведем формальные опреде% ления нескольких соответствующих понятий. Последовательность точек {xk} n%мерного евклидова пространства Rn схо% дится к некоторой точке x* этого пространства, если длины векторов {xk – x*} сходятся к нулю: |xk – x*| ® 0 при k ® ¥. (9.3) Сходимость последовательности {xk} к точке x* также принято обозна% чать и так: (9.4) 123 2 1 4 21 454 2 1 2 21 6 1 23

Следует отметить, если последовательность {xk} сходится к некоторой точ% ке x*, то для непрерывной функции f последовательность значений {f(xk)} этой функции также сходится к f(x*): |f(xk) – f(x*) |

® 0

при k

®

¥,

или, используя другую форму записи, f(xk)

®

В общем же случае обратное утвер% ждение неправильно: при выполнении предельного соотношения (9.5) последова% тельность {xk} может и не сходиться в смыс% ле (9.4) к точке x*. Наглядная иллюстра% ция такого случая дана на рисунке 9.1. На этом рисунке представлен пример зада% ния таких функции f: R+ ® R+, точки x* = 0 и последовательности x0, x1, ..., xk, ..., что ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

f(x*).

(9.5)

Рис. 9.1

367

f(0) = 0 и f(xk) ® 0, однако последовательность {xk} вообще не сходится (бо% лее того, эта последовательность не содержит ни одной сходящейся подпос% ледовательности). Говорят, что последовательность {xk} сходится к точке x* с геометриче ской (или линейной) скоростью, если для некоторого числа g, 0 < g < 1 и для произвольного натурального k выполняется неравенство |xk+1 – x*| £ g |xk – x*|.

(9.6)

Последовательность {xk} сходится к точке x* со сверхлинейной скоростью, если найдется такая последовательность положительных чисел {gk}, что gk ® 0 и |xk+1 – x*| £ gk| xk – x* |

" k = 1, 2, ...

(9.7)

Если для последовательности {gk}, указанной в условии (9.7), для некото% рого d > 0 и при любом k = 1, 2, ... выполняется неравенство gk £ d|xk – x*|,

(9.8)

{xk}

сходится к точке x* с квадратичной скоростью. то последовательность Установленная сходимость или, что еще лучше, скорость сходимости ал% горитма является важной информацией о самых общих количественных и качественных характеристиках выбранного метода решения оптимизацион% ной задачи. В соответствующих теоремах о сходимости вычислительного алгоритма обычно указываются свойства функций, в терминах которых фор% мулируется задача, и условия, которым должно удовлетворять начальное приближение для этого алгоритма. При разработке алгоритма решения оптимизационной задачи, как пра% вило, предусматриваются условия прекращения вычислений. Необходимость этих условий обусловлена ограниченностью имеющихся вычислительных ресурсов: временем, выделенным для отыскания приемлемого (приближен% ного) решения задачи, скоростными характеристиками применяемой вычис% лительной машины, возможностью проводить вспомогательные вычисления с заданной точностью и др. Представляется естественным задавать такое число итераций работы ал% горитма, при котором будет достигнута желаемая точность решения задачи. Однако в большинстве случаев это сделать не удается, поскольку нельзя дос% таточно точно оценить значения параметров g, {gk} и d в формулах (9.6)–(9.8). Достаточно распространенным на практике условием прекращения ра% боты алгоритмов является построение точки xk+1, для которой выполняется по крайней мере одно из неравенств: |xk+1 – xk| £ e1, |f(xk+1) – f(xk)| £ e2, |Ñf(xk+1)| £ e3

(9.9) (9.10) (9.11)

(значения {ei} правых частей этих неравенств выбирают до начала проведе% ния вычислений). Интерпретация смысла этих неравенств может быть, например, такая. Если для точки xk+1 выполняется одно из неравенств (9.9) или (9.10), то эта 368

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

точка считается настолько близко расположенной от построенной на преды% дущей итерации точки xk, что получить в этой точке существенно новую информацию о задаче нельзя (в частности, из%за отличия значений f(xk+1) и f(xk) в пределах ошибок округления). Поэтому дальнейшую работу алгорит% ма продолжать не стоит. Если же выполняется неравенство (9.11), то построенная точка xk+1 счи% тается «почти» стационарной точкой функции f.

9.2. МЕТОДЫ ОДНОМЕРНОЙ МИНИМИЗАЦИИ Пусть в задаче математического программирования 311 2 4 345

(9.12)

12 1

целевая функция q определена на некотором промежутке A множества дей% ствительных чисел (A Í R). Методы (алгоритмы), предназначенные для решения задачи вида (9.12), называют методами (алгоритмами) одномерной минимизации. Помимо того, что необходимость находить точки минимума функций од% ной переменной возникает в многочисленных приложениях, такие задачи часто возникают и как вспомогательные при разработке общих численных методов математического программирования. Рассмотрим несколько при% меров. Общая структура каждого алгоритма минимизации функции f: X ® R на некоторым образом заданном множестве X Í Rn имеет вид xk+1 = xk + aksk,

k = 0, 1, 2, ... xk

(9.13) sk ,

и направление поиска а ве% Пусть известны текущее приближение личину шага ak в направлении sk следует еще как%то определить. Эту вспомо% гательную задачу отыскания приемлемого значения ak называют линейным поиском. Вектор sk называют направлением убывания функции f в точке xk, если для некоторого положительного 11 выполняются условия: 2 1 1 23 1 3 4 2

5 3 2 1 1 23 1 4 4 5 3 2 1 4

5 2 3 356 21 4

(9.14)

(для произвольного достаточно малого положительного a, во%первых, точка xk + ask принадлежит множеству допустимых точек X задачи, а во%вторых, в этой точке значения минимизируемой функции f по сравнению с ее значени% ем в точке xk являются меньшими — точка xk + ask в понятном смысле луч% ше, чем точка xk). Если исходная задача является задачей безусловной минимизации функ% ции f (если X = Rn) и неизвестно, является ли вектор sk направлением убыва% ния функции f в точке xk, то линейный поиск может, например, состоять в безусловной минимизации функции одной переменной q(a) º f(xk + ask) ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

(9.15) 369

(произвольное решение a* задачи (9.12) с целевой функцией q(a) (9.15) и мно% жеством A º R — разумеется, если у этой задачи есть решения — принимает% ся в качестве ak). Если вектор sk является направлением убывания функции f в точке xk, линейный поиск состоит в отыскании решения задачи (9.12), в которой про% межуток A является множеством неотрицательных действительных чисел. Если же допустимое множество X исходной задачи не совпадает с Rn, то в задаче (9.12) с целевой функцией (9.15) при построении промежутка A сле% дует еще учитывать возможную ограниченность значений a, обусловленную требованием принадлежности точек {xk + ask} множеству X. 9.2.1. УНИМОДАЛЬНЫЕ ФУНКЦИИ

По своим свойствам унимодальные функции принадлежат к классу наи% более общих функций, для которых разработаны практически значимые ал% горитмы одномерной минимизации. Пусть в задаче (9.12) промежуток A является отрезком [a; b] множества действительных чисел, на котором целевая функция q: A ® R унимодальная, т. е. для единственной точки 11 этого отрезка выполняются неравенства:

1122 3 11423 4567 1 5 2 6 4 6 71 38 9 1122 6 11423 4567 71 6 2 6 4 5 28

(9.16)

Если в точке 11 функция q разрывна, то в этой точке функция q может и не принимать наименьшее на отрезке [a; b] значение. В таком случае у зада% чи (9.12) нет решений. На рисунках 9.2 и 9.3 приведены фрагменты эскизов графиков двух уни% модальных функций — соответственно разрывной и непрерывной. Далее предполагается, что в точке 11 унимодальная функция q непрерыв% на. Тогда в этой точке функция q принимает наименьшее на отрезке [a; b] значение, а сама точка 11 является единственным решением a* задачи (9.12). Каждый отрезок множества действительных чисел, содержащий точку минимума функции q, называют отрезком неопределенности. В ряде методов минимизации унимодальных функций предполагается применение информации только о значениях минимизируемой функции,

Рис. 9.2

370

Рис. 9.3

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

вычисленных в точках соответствующих отрезков неопределенности. Общая структура этих методов п р я м о г о поиска такова. Сначала определяется отрезок, содержащий точку минимума минимизи% руемой функции q — строится первый отрезок неопределенности. Затем в особым образом выбранных точках этого отрезка вычисляются значения функции q. Свойство унимодальности функции q делает возможным постро% ить новый отрезок неопределенности, имеющий меньшую длину. После это% го процесс вычислений повторяется. Выбор точек из отрезков неопределен% ности так организован, что длины этих отрезков сходятся к нулю. Ввиду этого и можно локализовать решение задачи с любой наперед заданной точностью. Оказывается, что для построения нового отрезка неопределенности уни% модальной функции q, длина которого Рис. 9.4 меньше длины данного отрезка неопре% деленности [a; b], необходимо помимо значений функции q в граничных точ% ках a и b также знать и значения этой функции еще в двух точках l и m отрез% ка [a; b]. Действительно, из определения уни% модальной функции следует, что при a < l < m < b новым отрезком неопреде% Рис. 9.5 ленности будет отрезок [l, b], если q(l) > q(m), [a, m], если q(l) < q(m), [l, m], если q(l) = q(m). Все эти случаи показаны соответст% венно на рисунках 9.4–9.6. Способы выбора точек l и m опреде% ляют соответствующие методы мини% мизации унимодальных функций.

Рис. 9.6

9.2.2. МЕТОД ДИХОТОМИИ

В этом методе н у л е в о г о п о р я д к а минимизации унимодальной функции q точки l и m выбираются симметрично на расстоянии e > 0 от середины предыдущего отрезка неопределенности. Алгоритм 9.2.1 (метод дихотомии). Шаг 0. Определить [a1; b1] — начальный отрезок неопределенности, вы% брать константу e > 0 и желаемую длину d ³ 2e последнего отрезка неопреде% ленности. Положить k = 1. ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

371

Шаг 1. Если bk – ak £ d, то вычисления прекратить (достигнута желаемая точность локализации точки минимума функции q). Иначе вычислить

21 3

21 1 31 2 13 4 5 1 61 3 1 1 1 52 3 3

Шаг 2. Если q(lk) < q(mk), то положить ak + 1 = ak, bk + 1 = mk; иначе положить ak + 1 = lk, bk + 1 = bk. Заменить k на k + 1 и перейти к шагу 1. Пусть Dk º bk – ak — длина отрезка неопределенности перед началом k%й итерации алгоритма 9.2.1. Легко доказать выполнение равенства 2 1 11 3

21 1 41 2

1 3 11 21 2221

(9.17)

которое, собственно, и обусловливает название метода дихотомии — после довательного разделения целого на две части (длина каждого последующе% го отрезка неопределенности в два раза меньше — с точностью до e — длины предыдущего отрезка неопределенности). Параметр e в методе дихотомии должен выбираться таким, чтобы отли% чие или совпадение значений функции q, вычисленных в точках, находя% щихся на расстоянии 2e одна от другой, не было бы следствием лишь по% грешностей округления этих значений. 9.2.3. МЕТОД ЗОЛОТОГО СЕЧЕНИЯ

Пусть при построении отрезков неопределенности {[ak; bk]} выбор точек {lk} и {mk} для каждого k = 1, 2, ... удовлетворяет таким двум требованиям. 1. Длина Dk+1 º bk+1 – ak + 1 последующего отрезка неопределенности [ak+1; bk+1] не зависит от того, выполняется ли неравенство q(lk) < q(mk) или неравенство q(lk) ³ q(mk). 2. При выборе точек lk+1 и mk+1 должно выполняться или равенство lk+1 = mk, или равенство mk+1 = lk. Ввиду унимодальности функции q смысл требования 1 состоит в выпол% нении для каждого k = 1, 2, ... равенства bk – lk = mk – ak. Отсюда, если для некоторого выбранного g Î (0; 1) выполняется равенство lk = ak + (1 – g)(bk – ak),

(9.18)

то также должно выполняться и равенство mk = ak + g(bk – ak).

(9.19)

Кроме того, при выполнении равенств (9.18) и (9.19) для каждого k = 1, 2, ... также выполняются и равенства: mk – lk = (2g – 1)(bk – ak) = (2g – 1)Dk, bk+1 – ak+1 = g (bk – ak), Dk+1 = gDk.

372

(9.20) (9.21) (9.21¢)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Значит, длина Dk + 1 каждого последующего отрезка неопределенности [ak+1; bk+1] уменьшается по сравнению с длиной Dk предыдущего отрезка не% определенности [ak; bk] в g раз. При выполнении же условия 2 при каждом k = 1, 2, ... достаточно вычис% лять значение функции q только в одной точке — или в точке lk+1, или в точке mk+1, — поскольку значения этой функции в точках lk и mk уже вычис% лены. При каких же значениях параметра g интервала (0; 1) возможно одновре% менное выполнение требований 1 и 2? Пусть для некоторого k = 1, 2, ... выполняется неравенство q(lk) ³ q(mk). Тогда ввиду унимодальности функции q граничными точками отрезка неопределенности [ak+1; bk+1] являются ak+1 = lk и bk+1 = bk, а ввиду требова% ния 2 и соотношения (9.19) точки lk+1 и mk+1 принимают соответственно зна% чения mk и ak+1 + g(bk+1 – ak+1). Итак, в силу выполнения равенств (9.21¢) и (9.20) mk+1 – lk+1 = ak+1 + g(bk+1 – ak+1) – mk = lk – mk + gDk+1 = = lk – mk + g2Dk = –(2g – 1) Dk + g2Dk = (g – 1) Dk.

(9.22)

С другой стороны, из равенства (9.20), в котором индекс k заменен на k + 1, следует, что mk+1 – lk+1 = (2g – 1)Dk+1 = (2g – 1)g Dk. Отсюда, учитывая (9.22) и то, что Dk ¹ 0, следует равенство (g – 1)2 = (2g – 1)g, которое после очевидных преобразований принимает вид g2 + g – 1 = 0. (9.23) 11 2 5 5 01 618 уравнения (9.23) принадлежит интер% Только корень 3 4 2 валу (0; 1). Такое же значение для g, при котором одновременно выполняются оба требования 1 и 2, можно получить и в предположении выполнения неравен% ства q(lk) < q(mk). При g Ï {0, 1} равенство (9.23) очевидно эквивалентно равенству 1 1 2 1 13 1 1

(9.23¢)

геометрическая интерпретация которого дана на рисунке 9.7: число g явля% ется той частью отрезка единичной длины, отношение 1 к длине которого такое же, что и отношение его длины и длины оставшейся части единичного отрезка. Собственно поэтому число 3 4 11 2 5 5 01 618 и называют золотым 2 сечением 1. Алгоритм 9.2.2 (золотого сечения). Шаг 0. Выбрать [a1; b1] — началь% ный отрезок неопределенности и поло% Рис. 9.7 ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

373

жительное число d — желаемую точность локализации точки минимума уни% модальной функции q. Для g = 0,618 вычислить l1 = a1 + (1 – g)(b1 – a1),

m1 = a1 + g(b1 – a1),

и значения q(l1), q(m1). Положить k = 1. Шаг 1. Если bk – ak £ d, то в ы ч и с л е н и я п р е к р а т и т ь (точка мини% мума функции q локализована на отрезке [ak; bk] с желаемой точностью d). Иначе, при выполнении неравенства q(lk) > q(mk) перейти к шагу 2, а при выполнении неравенства q(lk) £ q(mk) — к шагу 3. Шаг 2. Положить ak+1 = lk, bk+1 = bk, mk + 1 = ak+1 + g (bk+1 – ak+1),

lk+1 = mk.

Вычислить q(mk+1), заменить k на k + 1 и перейти к шагу 1. Шаг 3. Положить ak+1 = ak, bk+1 = mk, lk+1 = ak+1 + (1 – g)(bk+1 – ak+1),

mk+1 = lk.

Вычислить q(mk+1), заменить k на k + 1 и перейти к шагу 1. 9.2.4. МЕТОД КАСАТЕЛЬНЫХ

Рассмотрим теперь случай непрерывно дифференцируемой функции q: R ® R. Тогда, как известно, каждая точка минимума этой функции также является и ее стационарной точкой, т. е. находится среди решений (корней) уравнения q¢(a) = 0. (9.24) В отличие от методов, изложенных в разделах 9.2.2 и 9.2.3, на каждой итерации которых вычисляются только значения функции q, в методах, пред% назначенных для решения уравнения (9.24), вычисляются значения первой и второй производных функции q. Отыскание корней уравнения (9.24) очевидно состоит в отыскании кор% ней уравнения j(a) = 0, (9.24¢) в котором j(a) = q¢(a) "a. В дальнейшем предполагается наличие таких свойств у функции j(a): для некоторого известного отрезка [a; b]: 1) функция j(a) дважды дифференцируема на некотором интервале, со% держащем этот отрезок; 2) первая и вторая производные функции j(a) на отрезке [a; b] не изменя% ют знак и отличны от нуля; 3) в граничных точках a и b отрезка функция j(a) принимает значения разных знаков (или j(a) > 0 и j(b) < 0, или j(a) < 0 и j(b) > 0). Ввиду сделанных предположений имеется единственный корень 11 2 11 2 23 уравнения (9.24¢), самыми известными методами отыскания которого явля% ются метод касательных и метод хорд. 374

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Общая схема м е т о д а к а с а т е л ь % н ы х такова. В качестве начальной точки a0 метода выбирается одна из гра% ничных точек a или b отрезка [a; b]. Пусть, для определенности, выбра% на точка b (a0 = b). Через точку (a0, j(a0)) проводится касательная к графику функции j. Абс% цисса a1 точки пересечения этой каса% тельной с осью абсцисс 0a принимается за п е р в о е приближение к корню 11 уравнения (9.24¢). Рис. 9.8 Далее, для a1 Î {a; b} из двух отрез% ков [a; a1] и [a1; b] выбирается тот, в граничных точках которого функция j принимает значения разных знаков. Через точку (a1, j(a1)) проводится касательная к графику функции j, пересечение которой с осью абсцисс 0a принимается за следующее прибли% жение a2 и т. д. Графическая иллюстрация вычислений по методу касательных приведе% на на рисунке 9.8. Конкретизируем рекуррентные формулы для вычисления точек последо% вательности {ak}. Пусть для некоторого k = 0, 1, ..., уже определена точка ak отрезка [a; b]. Уравнением касательной в точке (ak, j(ak)) к графику функции j является l(a) = j¢(ak)(a – ak) + j(ak) "a. Так как j¢(ak) ¹ 0, точкой пересечения ak+1 касательной l(a) с осью абс% цисс является единственное решение уравнения 0 = j¢(ak)(a – ak) + j(ak). Значит, 213 1 2 3 3 1 11 4 3 1 5 (9.25) 2613 1 2 Вообще говоря, вычисленное по формуле (9.25) приближение ak + 1 может оказаться за пределами отрезка [a; b]. Однако это не произойдет при сделан% ных предположениях 1–3 относительно свойств функции j и при таком пра% виле выбора начального приближения a0: 411 2345 2627211627 3 01 50 6 7 (9.26) 921 2345 2627211627 8 0 (a0 = a, если значения j(b) и j²(b) имеют разные знаки и a0 = b, если значения j(b) и j²(b) одного знака). Из предположений 1–3 также следует правильность каждого из двух формулируемых далее утверждений, которые естественно учитывать при выборе a0: а) j(a)j²(a) > 0 Û j(b)j²(b) < 0; б) j(a)j²(a) < 0 Û j(b)j²(b) > 0. ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

375

(напомним, под стрелкой Û понимают словосочетание «тогда и только то% гда, когда» или «эквивалентно»; утверждения (условия), находящиеся с каж% дой из сторон этой стрелки, эквивалентны). Рассмотрим для определенности случай, когда j(a) < 0, j(b) > 0 и j¢(a) > 0, j²(a) > 0

" a Î [a; b],

т. е., во%первых, a0 = b, во%вторых, на отрезке [a; b] функция j возрастающая (следует из предположения положительности на этом отрезке производной j¢) и, в%третьих, функция j строго выпуклая — j(a) > j(b) + j¢(b)(a – b)

" a, b Î [a; b], a ¹ b,

(9.27)

(это утверждение является следствием предположения положительности на отрезке [a; b] второй производной j²). Графическая иллюстрация рассматриваемого случая дана на рисун% ке 9.8. Из утверждения (9.27), в которое вместо a и b подставлены соответствен% но ak+1 и ak,x с учетом (9.25) имеем

314 1 11 2 5 314 1 2 1 3214 1 214 1 11 6 4 1 2 7 314 1 2 7 314 1 2 6 3214 1 2 70 3214 1 2 Рис. 9.9

Рис. 9.10

Рис. 9.11

376

и поэтому j(ak+1) > 0. Отсюда и ввиду непрерывности и монотонности функ% ции j на отрезке [a; b] следует, что 21 3 2 1 11 1 Поскольку j(ak) > 0 (для k = 0 это неравенство выполняется в силу пра% вила (9.26) выбора a0, а для k = 1, 2, ... — как только что доказано), ввиду неравенства j¢(ak) > 0 из (9.25) следует, что ak+1 < ak. Значит, для каждого k = = 0, 1, 2, ... выполняются включения 2 1 11 3 121 2 2 1 3 4 422 356 Аналогично рассматриваются и все остальные три возможных случая соот% ношений знаков значений функции j в граничных точках отрезка [a; b] и зна% ков ее первой и второй производной на этом отрезке (рис. 9.9–9.11). Теорема 9.1. Пусть функции j в левой части уравнения (9.24¢) прису щи свойства 1–3. Тогда если начальное приближение a0 в методе касатель ных (9.25) выбирать согласно прави ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

лу (9.26), то порождаемая этим методом последовательность чисел {ak} сходится к единственному корню 11 уравнения (9.24¢). При этом последо вательность {ak} монотонно возрастает, если a0 = a, и монотонно убыва ет, если a0 = b. Если к тому же производная j¢ на отрезке [a; b] ограничена снизу неко торым положительным числом m: |j¢(a)| ³ m

" a Î [a; b],

(9.28)

то для скорости сходимости {ak} имеет место оценка 2 1 3 21 4

112 1 2 3 2

(9.29)

9.2.5. МЕТОД ХОРД

Общая схема работы этого метода такова. Сначала строится уравнение прямой, проходящей через точки (a, j(a)) и (b, j(b)) (отрезок прямой, соединяющий две разные точки графика функ% ции, называют хордой этого графика; отсюда и происходит название метода). Так как j(a)j(b) < 0 (у значений j(a) и j(b) разные знаки), хорда постро% енной прямой обязательно пересечет ось абсцисс в некоторой точке a1 Î [a; b], которая и принимается в качестве первого приближения к искомому корню 11 уравнения (9.24¢) (если окажется, что j(a1) = 0, то вычисления прекраща% ются, поскольку в этом случае 11 2 11 ). Далее из двух отрезков [a; a1] и [a1; b] выбирается тот, на концах которо% го функция j принимает значения разных знаков. Для выбранного отрезка эта процедура повторяется. В результате ее вы% полнения будет построено следующее приближение a2 к 11 и т. д. Описанный процесс или завершится после отыскания корня 11 уравне% ния (9.24¢), или будет построена последовательность {ak}, сходящаяся к 11 1 Если в точках исходного отрезка [a; b] вторая производная j² не равна нулю и не изменяет знак (или положи% тельна, или отрицательна), то методом хорд будет построена последователь% ность чисел {ak}. Далее предполагается, что функции j присущи все свойства 1–3, указанные при описании метода касательных. Графическая иллюстрация вычис% лений, проводимых согласно методу хорд, приведена на рисунке 9.12. Выведем рекуррентные формулы вычисления точек последовательности {ak}. Рассмотрим случай, когда j(a) < 0, j(b) > 0 и j¢(a) >0,

j²(a) >0

" a Î [a; b].

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

Рис. 9.12

377

В частности, из предположения j²(a) > 0 "a Î [a; b] следует строгая вы пуклость функции j на отрезке [a; b] — для произвольных a¢, b¢ Î [a; b], a¢ < b¢ и l Î (0; 1) выполняется с т р о г о е неравенство j((1 – l)a¢ + lb¢) < (1 – l)j(a¢) + lj(b¢).

(9.30)

Пусть a0 = a и для некоторого k = 0, 1, 2, ... определена точка ak отрезка [a; b], для которой j(ak) < 0. Известно (см. соответствующий раздел аналитической геометрии курса высшей математики), что уравнением прямой, проходящей через две точ% ки (ak, j(ak)) и (b, j(b)), ak ¹ b, является 3 15 2 6

3122 4 315 1 2 1 5 4 5 1 2 7 315 1 23 2 4 51

(9.31)

Эта прямая пересекает ось абсцисс в единственной точке ak + 1 5 1 31 7 5 1 4

12 4 5 1 2 615 1 2 6122 4 615 1 2

3

(9.32)

ввиду отрицательности j(ak), находящейся правее от ak: ak < ak+1. Легко до% казать, что положительное число 345

112 1 2 1122 5 112 1 2

меньше 1 и ak + 1 = (1 – l)ak + lb.

(9.32¢)

Отсюда, ввиду утверждения (9.30), 415 1 31 2 6 4 1 11 7 825 1 3 82 2 9 11 7 8 2 415 1 2 3 84122 6 415 1 2 415 1 2

6 1 3

415 1 2 7 4122 7 415 2 4122 6 03 2 4 7 4 5 1 2 1 2 1  1 

Поскольку j(ak+1) < 0, значение ak+1 меньше, чем 11 1 Построенная по методу хорд (9.32) последовательность {ak} сходится к 11 1 Действительно, так как последовательность {ak} монотонно возрастает и ограничена сверху 12 1 3 2 1 11 3 21 4 1 5 02 12 2233342 то у нее есть предел a¢, 21 3 21 1 Из сходимости последовательности {ak} следует, что ak + 1 – ak ® 0, k ® ¥. Значит, ввиду (9.32),

12 3 4 1 2 514 1 2 5122 3 514 1 2

6 03 1 6 73

а из непрерывности функции j следует, что 11 2 3 12413 12 5 03 4112 2 413 12

378

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Рис. 9.13

Рис. 9.14

Поскольку 21 3 21 4 11 полученное равенство возможно лишь при условии j(a¢) = 0, т. е. при 2 1 3 21 1 Аналогично можно исследовать свойства метода хорд и при других пред% положениях о знаках значений j(a), j(b) и производных j¢, j². При этом следует учесть, что при условии противоположных знаков производных j¢ и j² для a0 = b рекуррентная формула вычисления значения ak + 1 прини% мает вид 12 3 2 2412 1 2 1 5 03 13 23444 2 1 11 5 2 1 3 1 3 (9.33) 412 1 2 3 412 2 (рис. 9.13–9.15). Оказывается, методу хорд присущи те же свойства сходимости, что и свойства сходимости метода касательных, сформулированные в теоре% ме 9.1. Теорема 9.2. Пусть функция j в левой части уравнения (9.24¢) имеет свой ства 1–3. Пусть в случае, когда на отрезке [a; b] производные j¢ и j² одного знака a0 = a и для k = 0, 1, 2, ... значение ak+1 вычисляется по формуле (9.32), а если у производных j¢ и j² разные знаки, то a0 = b и для k = 0, 1, 2, ... значение ak+1 вычисляется по формуле (9.33). Тогда таким способом построен ная последовательность чисел {a k} сходится к единственному корню 11 уравнения (9.24¢). При этом последо вательность {ak} монотонно возрас тает, если a0 = a, и монотонно убыва ет, если a0 = b. Если к тому же первая производ ная j¢ имеет свойство (9.28), то для скорости сходимости {ak} имеет ме сто оценка (9.29). Рис. 9.15

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

379

9.3. МЕТОДЫ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ В этом разделе рассматриваются несколько самых распространенных чис% ленных методов (алгоритмов) решения задач безусловной минимизации — задач математического программирования, в которых нет ограничений на переменные и целевая функция в которых минимизируется. Несмотря на то, что в большинстве практически значимых оптимизаци% онных задач все же есть ограничения на переменные, изучение методов без% условной оптимизации полезно по нескольким причинам. Самой значимой из них, вероятно, является та, что при разработке чис% ленных методов математического программирования в том или ином виде обычно применяются именно методы точного или приближенного отыска% ния решений задач безусловной оптимизации (например, см. далее описа% ния методов возможных направлений, центров, внешних и внутренних штрафных функций). 9.3.1. МЕТОД НАИСКОРЕЙШЕГО СПУСКА

Пусть в каждой точке x Î Rn n%мерного евклидова пространства Rn у функ% ции f: Rn ® R имеется производная f¢(x; s) по любому направлению s Î Rn: 15224 33 6 567

1231

122 3 133 4 1223 8 1

В частности, из этого предположения следует, что для достаточно малых положительных a, во%первых, выполняется приблизительное равенство f(x + as) » f(x) + af¢(x; s),

(9.34)

и, во%вторых, производная f¢(x; s) определяет скорость изменения значений {f(x + as)} при малом увеличении a. Для функции f, дифференцируемой в точке x, известна связь между вы% численными в этой точке ее градиентом Ñf(x) и производной f¢(x; s) по на% правлению s: f¢(x; s) = . Отсюда, если вектор s образует тупой угол с градиентом Ñf(x), т. е. если < 0, (9.35) то при произвольном достаточно малом положительном a выполняется нера% венство f(x + as) < f(x). Более того, если при этом направление s противоположно градиенту Ñf(x), в частности, если s = –Ñf(x), то и скорость уменьшения значения f(x) будет наибольшей: среди всех возможных направлений S единичной длины произ% 380

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

водная по направлению f¢(x; × ) именно для направления 31 3 4 мает наименьшее значение

21 1 2 2 прини% 21 1 2 2

234 2 35 36 1 7 2 234 4 1 8 52 5 37 6 2 4 41 8 52 5 37 6 2 7 52 5 37 9

1 1 1 21

1 1 1 21

Очевидно, что для стационарных точек функции f, а значит, и для всех возможных решений задачи 2 1 12 1 345

(9.36)

1

неравенство (9.35) н е в ы п о л н я е т с я ни для одного направления s Î Rn. Указанные свойства градиента дифференцируемой функции f: Rn ® R положены в основу метода (алгоритма) наискорейшего спуска ее безуслов% ной минимизации. Алгоритм 9.3.1 (наискорейшего спуска). Шаг 0. Выбрать произвольное начальное приближение x0 Î Rn. Положить k = 0. Шаг 1. Вычислить градиент Ñf(xk). Шаг 2. Если Ñf(xk) = 0, то вычисления прекратить (xk — стационарная точка функции f). Шаг 3. Найти точку минимума ak функции одной переменной q(a) º f(xk – aÑf(xk)) при a > 0. Шаг 4. Положить xk+1 = xk – akÑf(xk)

(9.37)

k = k + 1 и перейти к шагу 1. Очевидно, что или алгоритм 9.3.1 прекратит вычисления в стационар% ной точке функции f, или будет построена последовательность точек {xk}. Можно доказать, что в случае ограниченности множества {x Î Rn: f(x) £ f(x0)}

(9.38)

у последовательности {xk} есть предельные точки и все они являются стацио% нарными точками функции f. Если функция f дважды непрерывно дифференцируема и ее гессиан Ñ2f(x) для некоторых положительных m и M, m £ M, удовлетворяет нера% венствам m|y|2 £ £ M|y|2

" x, y Î Rn,

(9.39)

то функция f выпукла (см. теорему 2.2), для произвольной точки x0 Î Rn множество (9.38) ограничено, а у задачи (9.36) есть единственное реше% ние x*. Теорема 9.3. Пусть в задаче (9.36) функция f обладает свойством (9.39). Тогда для произвольного начального приближения x0 либо алгоритм наиско рейшего спуска прекратит свою работу в решении x* задачи (9.36), либо ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

381

порожденная этим алгоритмом последовательность {xk} сходится к точке 1 12 1 x* с линейной скоростью. Более того, в формуле (9.6) 2 3 1 42 На рисунке 9.16 дана графическая иллюстрация построения двух последо% вательных точек методом наискорей% шего спуска минимизации дифферен% цируемой выпуклой функции. Следует отметить, что в данном случае градиент Ñf(xk) определяет нормаль касательной гиперплоскости к множеству {x Î Rn: f(x) £ (xk)} в точке xk. Для данной функции f может ока% заться невозможным проводить выбор длины шага ak в формуле (9.37) из усло% Рис. 9.16 вия минимума функции q(a) º f(xk – – aÑf(xk)). Однако и при таком, и при некоторых других практически реализуемых способах выбора ak для соот% ветствующим образом модифицированных алгоритмов наискорейшего спус% ка присуще свойство линейной скорости сходимости. Теорема 9.4. Пусть функция f задачи (9.36) обладает свойством (9.39), а в формуле (9.37) ak = a для каждого k = 1, 2, ..., где a — произвольное число 2 из интервала 01 2 1 Тогда при произвольном начальном приближении x0 либо модифициро ванный алгоритм наискорейшего спуска прекратит свою работу в реше нии x* задачи (9.36), либо этим алгоритмом будет построена последова тельность {xk}, сходящаяся к точке x* с линейной скоростью. Более того, в 1 12 формуле (9.6) g = max{|1 – am|, |1 – aM|}, а наименьшее значение 2 123 3 1 42 достигается при 1 2 2 1 1 32 Иной способ выбора шага ak в формуле (9.37) описан в следующем утвер% ждении. Теорема 9.5. Пусть параметры a > 0 и e Î (0; 1) фиксированы, а значе ние ak в формуле (9.37) является наибольшим среди тех значений 211 3 множества {a, 2–1a, 2–2a, ..., 2–ia, ...}, для которых выполняется неравен ство

1 2

1221 3 3 2 2 3 1 3 4 521 62 2 3 1 3 4

Тогда если функция f обладает свойством (9.39), то при произвольном начальном приближении x0 либо модифицированный алгоритм наискорей шего спуска прекратит свою работу в решении x* задачи (9.36), либо порож денная этим алгоритмом последовательность {xk} сходится к точке x* с линейной скоростью. 382

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

9.3.2. МЕТОД НЬЮТОНА

Другой классический метод решения задачи (9.36) — метод Ньютона1 — может применяться тогда, когда функция f дважды непрерывно дифферен% цируема. Тогда для произвольных точек x0 и x из Rn выполняется приблизи% тельное равенство 1 1 1 22 1 1 1 20 22 3 41 1 20 23 2 5 20 6 2 3 2 5 20 3 42 1 1 20 21 2 5 20 2 6 2

(9.40)

(см. формулу Тейлора2). Поэтому можно рассчитывать на то, что точка м и % н и м у м а x1 квадратичной функции — правой части приближенного равен% ства (9.40) — не будет находиться далеко от решения x* задачи (9.36). Точка x1 является стационарной точкой указанной квадратичной функ% ции и поэтому является решением системы линейных уравнений Ñf(x0) + Ñ2f(x0)(x1 – x0) = 0. Значит, если матрица вторых производных рицу (Ñ2f(x0))–1, то из (9.41) следует равенство

Ñ2f(x0)

(9.41) имеет обратную мат%

x1 – x0 = – (Ñ2f(x0))–1Ñf(x0) и поэтому x1 = x0 – (Ñ2f(x0))–1Ñf(x0). Затем можно вычислить Ñf(x1), и если Ñf(x1) ¹ 0, то вычислить гессиан обратную матрицу (Ñ2f(x1))–1, точку

Ñ2f(x1),

x2 = x1 – (Ñ2f(x1))–1Ñf(x1) и т. д. Итак, для имеющейся нестационарной точки xk функции f k%я итера% ция метода Ньютона состоит в вычислении точки xk+1 согласно рекуррент% ной формуле xk+1 = xk – (Ñ2f(xk))–1Ñf(xk). (9.42) Естественным обобщением этой рекуррентной формулы является формула xk+1 = xk + aksk,

(9.43) sk

в которой для каждого k = 1, 2, ... направление вычисляется так же, как и в обычном методе Ньютона sk º – (Ñ2f(xk))–1Ñf(xk), а ak — специальным обра% зом подобранный шаг в направлении sk (для некоторого приближения xk при% нятая квадратичная аппроксимация функции f может оказаться недостаточ% но точной, так что для точки xk+1, построенной по формуле (9.42), выполнится неравенство f(xk+1) > f(xk); в таком случае более подходящим может оказаться другой шаг ak, отличающийся от принятого в формуле (9.42) шага).

1 2

Исаак Ньютон (sir Isaac Newton, 1643–1727) — английский физик, математик и астроном. Брук Тейлор (Brook Taylor, 1685–1731) — английский математик.

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

383

1 12 2 — фиксированный параметр, а значение a

Теорема 9.6. Пусть 3 4 01

k

в формуле (9.43) является наибольшим среди тех значений 211 3 множества {1, 2–1, 2–2, ..., 2–i, ...}, для которых выполняется неравенство 22 31 1 214 1 3 3 22 31 3 1 421 5 41 4 622 31 3 7 5

(9.44)

Пусть функции f присуще свойство (9.39). Тогда при произвольном начальном приближении x0 или модифициро ванный указанным образом метод Ньютона прекратит свою работу в ре шении x* задачи (9.36), или порожденная этим методом последовательность {xk} сходится к точке x* со сверхлинейной скоростью, а если для матрицы вторых производных Ñ2f(x) выполняется условие Липшица — для некото рого Q > 0 ||Ñ2f(x) – Ñ2f(y) || £ Q| x – y|

" x, y Î Rn,

(9.45)

скоростью.1

— то — с квадратичной Доказано, что при наличии у функции f свойств (9.39) и при достаточном приближении точек {xk} к решению x* задачи (9.36) условие (9.44) выполня% ется при 11 2 12 т. е. модифицированный метод Ньютона принимает вид сво% его классического прообраза (9.42). Очевидно, что для квадратичной функции f, определяемой положитель% но определенной симметричной матрицей, при произвольном начальном при% ближении x0 методом Ньютона на первой же итерации будет найдено единст% венное решение x* задачи (9.36). 9.3.3. МЕТОДЫ ДВОЙСТВЕННЫХ НАПРАВЛЕНИЙ

Основная сложность реализации метода Ньютона состоит в вычислении и обращении матрицы вторых смешанных производных (гессиана) целевой функции. Выполнение указанных операций при большом числе аргументов у этой функции может потребовать слишком много времени. Рассмотрим еще один класс методов, предназначенных для решения за% дачи (9.36). В каждом методе этого класса для вычисления точек {xk} опре% деляются направления поиска {sk}, в некотором смысле близкие к соответ% ствующим направлениям метода Ньютона. Однако при построении направ% лений {sk} используются только первые производные (градиенты) целевой функции f. Пусть в итерационном методе 2 1 11 3 2 1 2 4 1 312154 22 1 34

4 1 6 54

(9.46)

1 При записи условия (9.45) применяется обозначение нормы матрицы ||×||, под которой для произвольной m´n%матрицы C = {cij}m´n можно, в частности, понимать число

5 1

1 2

22 6341 3 3 12 412

384

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

матрица Hk является некоторой аппроксимацией (приближением) матрицы вторых производных Ñ2f(xk) функции f, вычисленной в точке xk. Предполагая т р и ж д ы непрерывную дифференцируемость функции f, из формулы Тейлора следует соотношение Ñf(y) – Ñf(x) = Ñ2f(x)(y – x) + w(x, y),

(9.47)

в котором длина вектора w(x, y) из Rn стремится к 0, если точка y стремится к фиксированной точке x: 123 24 25 1 6 3 07 112

Пусть квадратная n´n матрица H является решением системы линейных алгебраических уравнений Ñf(xi+1) – Ñf(xi) = H(xi+1 – xi),

i = 1, ..., n,

(9.48)

определяемой градиентами {Ñf(xi)} функции f, вычисленных в данных и «не% далеко» находящихся одна от другой точках x1, ..., xn+1. Пусть также векторы {xi+1 – xi}, i = 1, ..., n, линейно независимы. Из условий (9.47) и (9.48) следует, что матрица H также должна быть решением системы уравнений H(xi+1 – xi) = Ñ2f(xi)(xi+1 – xi) + w(xi, xi+1),

i = 1, ..., n.

Очевидно, что для произвольного j = 1, ..., n, эта система уравнений эк% вивалентна n векторным равенствам H(xi+1 – xi) = Ñ2f(xj)(xi+1 – xi) + (Ñ2f(xi) – Ñ2f(xj))(xi+1 – xi) + w(xi, xi+1), (9.49) каждое из которых определено при i = 1, ..., n. При условии невырожденности и непрерывности гессиана Ñ2f( × ), а так% же в предположении близкого нахождения между собой точек xi+1 и xi, в правой части системы уравнений (9.49) сумма двух последних слагаемых будет существенно меньше, чем первое слагаемое. Поэтому H(xi+1 – xi) » Ñ2f(xj)(xi+1 – xi),

i = 1, ..., n,

и можно утверждать о малом отличии матрицы H и гессианов {Ñ2f(xj)}. Если некоторая последовательность {xk} сходится к решению x* зада% чи (9.36), то все точки xk, xk–1, ..., xk–n находятся в достаточно малой окрест% ности точки x*, и, значит, недалеко одна от другой. Поэтому если матрица Hk является решением системы n векторных уравнений Hk(xk–i – xx–k–i) = Ñf(xk–i) – Ñf(xx–k–i),

i = 1, ..., n,

(9.50)

то она мало отличается от гессиана Ñ2f(xk). Значит, тогда и вектор 1 2 11123 1 4 1 2 будет мало отличаться от вектора –(Ñ2f(xk))–1Ñf(xk), определяемого в методе Ньютона (9.42). Итак, если матрицы {Hk} в методе (9.46) определяются из условий (9.50), то для некоторого правила выбора шаговых множителей {ak} этого метода скорость сходимости порождаемой последовательности {xk} должна мало от% личаться от скорости сходимости последовательности, определяемой методом ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

385

Ньютона. Следует отметить, что в отличие от метода Ньютона в методе (9.46) не нужно вычислять на каждой итерации гессиан Ñ2f(xk) Следующее утверждение является основным при обосновании как кор% ректности методов (9.46), так и свойств их сходимости. Пусть {xk} и {rk} — некоторые последовательности точек (векторов) про% странства Rn. При этом векторы {rk} таковы, что: 1) каждые последовательные n векторов ri, ri+1, ..., ri+n–1, i = 1, 2, ..., ли% нейно независимы; 2) |rk| ® 0 при k ® ¥ (длины векторов {rk} сходятся к нулю). Теорема 9.7. Если последовательность точек {xk} ограничена, 123 2 1 11 4 2 1 5 0

1 23

и для каждого k ³ n – 1 матрица Hk является решением системы линейных алгебраических уравнений Hkrk–i = dk–i, в которой

dk–i

º

Ñf(yk–i)



Ñf(xk–i)

и

123 2 1

1 12

i = 0, 1, ..., n – 1,

yk

º

3 42

xk 3

+

rk ,

4 41 5

(9.51)

то

5 06

Таким образом, способ задания последовательности {rk} определяет неко% торую последовательность матриц {Hk} — решений систем уравнений (9.51), — которые, в свою очередь, конкретизируют метод (9.46). Например, можно выбирать векторы {rk} вдоль координатных осей про% странства Rn и такими, что: rk = lkei+1,

k = 0, 1, 2, ...,

где i — наименьшее возможное неотрицательное значение k – tn, в определе% нии которого t = 0, 1, 2, ... (0 £ i £ n – 1); ei — вектор из Rn, все компоненты которого, кроме i%й, нулевые, а абсолютная величина i%й компоненты равна 1; lk — числовой множитель. Характер сходимости числовых множителей {lk} к 0 может быть произ% вольным. Однако из опыта проведения соответствующих вычислений реко% мендуется монотонное уменьшение абсолютных значений {lk}, например, lk = 1/k2, k = 1, 2, ... Рассмотрим теперь вопрос о вычислении вектора 21 2 1311134251 34 При этом естественно учитывать, что Hk является решением системы линейных алгеб% раических уравнений (9.53). Очевидно, что при существовании обратной матрицы 2 111 систему (9.51) можно записать либо в виде 31114 1 12

2 5 1 12 2

2 2 32 12 4442 6 1 12

(9.51¢)

либо в виде 211131 2 41 2

(9.51²)

где Dk, Rk — матрицы, столбцами которых являются соответствующие ком% поненты векторов dk–i и rk–i. 386

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Из (9.51²) следует, что 2 111 2 31 4111 1

(9.52) 2111

(обозна% Из курса линейной алгебры известно, что строки матрицы чим их pk, ..., pk–n+1) составляют двойственный1 базис пространства Rn к ба% зису dk, ..., dk–n+1 этого пространства. Можно также доказать, что каждая из матриц Dk, k = 0, 1, 2, ..., отлича% ется от предыдущей и последующей матриц только одним столбцом. Поэто% му процесс построения базиса pk, ..., pk–n+1 можно проводить с применением некоторых рекуррентных соотношений. Это потребует существенно мень% ших вычислительных затрат, чем при использовании других способов. Пусть матрица 2111 уже построена, т. е. известна система векторов k p , ..., pk–n+1. Определим систему из n векторов 3 1 11 1 3 1 1 2221 3 1 2 212 следую% щим образом:

3 1 11 3 3 1 112 2

3 1 11 4

3 1 2 2 11 1 4 1 11

5

1

3 3 1 1 1 2 2 2 4 3 1 11 2 2 2 4 1 11 5 3 1 11 2

2 3 12 3332 5 2 13

Векторы 3 1 11 1 3 1 1 2221 3 1 2212 образуют базис, двойственный базису dk+1, ..., dk–n+2. Итак, ввиду (9.52), вектор sk вычисляется по формуле 111

42 2 1 521136372 4 2 1 6 4 8 213 5 36372 4 59 213 5 3 22

а приближение

xk+1

— по формуле 1 11

4 2 21 3 4 2 1 4 2 8 5 5 2 1 3 3 6 6 4 4 2 5 7 7 2 1 3 3

2 7 1 1 16

3 32

Итерационный процесс (9.46) можно начинать только тогда, когда уже определены n векторов {pk} и n векторов {dk}, необходимые для вычис% ления матрицы 2 111 1 Поэтому для построения первых n точек {xk} приме% няются другие итерационные методы, например, метод наискорейшего спуска. Скорость сходимости метода (9.46) конкретизируется в следующем ут% верждении. Теорема 9.8. Пусть функция f дважды непрерывно дифференцируема и обладает свойством (9.39). Пусть для всех k ³ n – 1 матрица Hk является решением системы ли нейных алгебраических уравнений (9.51) и такова, что 2 2111332 41 34 332 41 3 4 4 56 1 Линейно независимые системы векторов a1, ..., an и b1, ..., bn называют двойственными, если = 0 при i ¹ j и = 1.

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

387

Тогда если для некоторого фиксированного параметра e Î (0; 0,5) значе ние ak в формуле (9.46) является наибольшим среди тех значений 211 3 множества {1, 2–1, 2–2, ..., 2–i, ...}, для которых при 21 2 1311134251 3 выпол няется неравенство (9.44), то при произвольном начальном приближении x0 согласно (9.46) порождается последовательность {xk}, сходящаяся со с в е р х л и н е й н о й скоростью к единственному решению x* задачи (9.36). 9.3.4. ОБОБЩЕННЫЙ ГРАДИЕНТНЫЙ СПУСК

Пусть в задаче (9.36) функция f выпукла и не обязательно дифференци% руема. В таком случае в произвольной точке x Î Rn производная f¢(x; s) этой функции по любому направлению s Î Rn вычисляется по формуле 23133 42 4 456 5 47 1 67 1122 1 32

где ¶f(x) — субдифференциал (множество обобщенных градиентов) функции f в точке x (не пустое, ограниченное, замкнутое и выпуклое множество; см. разд. 2.2.3). Если для вектора s Î Rn производная f¢(x; s) отрицательна, то этот вектор является направлением убывания функции f в точке x (см. приближенное равенство (9.34)). Очевидно, что производная f¢(x; s) отрицательна только при выполнении таких двух условий: · точка x не является решением задачи (9.36) (тогда и только тогда, когда 0 Ï ¶f(x)); · выполняется неравенство " g Î ¶f(x).

< 0

(9.53)

В частности, если точка x не является решением задачи (9.36), то усло% вию (9.53) удовлетворяет вектор 1 1 2Proj1 2 32 3 34

(9.54)

наискорейшего спуска функции f в этой точке — вектор, противоположный проекции 0 (начала координат Rn) на субдифференциал ¶f(x). Задача отыскания направления наискорейшего спуска 1 (9.54) сводится к отысканию е д и н с т в е н н о г о решения g* задачи 1

2

3

345 6

1122 1 3 2

(9.55)

именно для которого 1 2 3 21 2 Формально вектор наискорейшего спуска 112 вычисленный согласно (9.47), можно применить в алгоритме 9.3.1 наискорейшего спуска вместо градиен% та Ñf. Однако, как оказывается, для некоторых функций последовательно% сти приближений {xk}, порождаемые этим алгоритмом, н е с х о д я т с я к решениям задачи (9.36) (соответствующие примеры, очевидно, касаются лишь недифференцируемых выпуклых функций, поскольку для диффе% ренцируемых функций именно при 1 1 232 2 3 3 в теоремах 9.3–9.5 доказана сходимость алгоритма наискорейшего спуска). Кроме того, для решения 388

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

специальной задачи (9.55) необходимо вычислять в е с ь субдифференциал ¶f(x) (или по крайней мере его часть, содержащую g*). Следует также отметить, из условия g Î ¶f(x) еще н е с л е д у е т, что вектор –g является направлением убывания функции f в точке x. Рассмотрим соответствующий пример. Легко доказать, что функция двух переменных f(x) = max{x2 – 0,5x1, –2x2 – x1, x1 – 1}

(9.56)

выпукла, а в точке x = 0 недифференцируема. Единственным решением зада% 2 016 3 чи (9.36) безусловной минимизации этой функции является точка 11 4 5 62 8 7011 9 значение f* задачи (9.36) равно –0,4. В соответствии с правилом вычисления субдифференциала в точке x = 0 функции максимума f (9.56), в которой f(0) = 0, имеем: 3 4 35 01 52 1 1 6 4 5 101 5 6 5 11 6 71 203 8 22 1 9 21 1 2 3 2 2 4 2 1 8 1 2 2 8  1 2 50617 8 4 2 50617 8    1   12     32 1 2  

Вместе с тем ни один из векторов –g1 и –g2 не является направлением убывания функции f (9.56) в точке x = 0 (рис. 9.17). Оказывается, что для произвольных выпуклой функции f и точки x, не являющейся решением задачи (9.36), для произвольного субградиента g Î ¶f(x) при всех достаточно малых положительных a точки x – ag находят% ся б л и ж е к множеству решений X* задачи (9.36), чем точка x. Именно это свойство субдифференциала ¶f(x) и положено в основу обобщенного гради ентного спуска решения задачи (9.36). Теорема 9.9. Пусть множество решений задачи (9.36) непусто, функция f выпукла и непрерывна на Rn, а x0 — произвольная точка в Rn. Пусть gk — произвольный элемент субдифференциала ¶f(xk) и если |gk| = 0, то последующие вычисления прекращаются, а если |gk | > 0, то для некото рого положительного ak точка xk+1 оп ределяется по формуле 3 1 11 2 3 1 3 4 1

21 1 1 2 01 11 21 222 21

(9.57)

Тогда если выбор {ak} в (9.57) удов летворяет условиям

3 1 4 50 и

1

6 3 1 2 11

1 21

то либо на некоторой итерации 11 ал горитма обобщенного градиентного спуска (9.57) будет получено решение 1 2 1 задачи (9.36) (точка, в которой 1 1 вычисленный субградиент 2 1 1 23 2 4 1 3 является нулевым вектором), либо ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

Рис. 9.17

389

4 1 2 1 2 2 41

и

345 546 2 1 5 21 6 0

1 23 21 4 3 1

значения {f(xk)} сходятся к значению f* задачи (9.36), а порожденная после довательность {xk} имеет предельные точки и все они являются решения ми этой задачи.

9.4. МЕТОДЫ УСЛОВНОЙ МИНИМИЗАЦИИ Существенно более сложными, чем описанные в предыдущем разделе, являются итерационные методы, предназначенные для решения задач мате* матического программирования с ограничениями на переменные — задач условной оптимизации. К таким задачам, следует напомнить, относят все задачи, которые могут быть сведены к задаче 3 0 1 12 2 345 6 (9.58) 11 2

в которой область определения целевой функции f0, во*первых, содержит множество допустимых точек X Ì Rn, а во*вторых, это множество X не совпадает с пространством Rn (среди точек Rn имеются точки, не являющие* ся точками множества X). В методах, предназначенных для решения задачи (9.58), должно учиты* ваться требование x Î X. Обычно способ выполнения этого требования состо* ит в построении и решении некоторых вспомогательных задач. Естественно, что помимо усложнения общей процедуры проведения вычислений это так* же приводит к необходимости решения ряда дополнительных и зачастую нетривиальных вопросов. Среди них, в частности, есть и вопросы о точности решения вспомогательных задач, достаточной для обеспечения приемлемой точности решения исходной задачи. По признаку принадлежности допустимому множеству X точек {xk}, по* рождаемых итерационными методами, все эти методы принято разделять на следующие два класса. 1. Все точки {xk} являются допустимыми в задаче (9.58), т. е. принадле* жат множеству X. Такими методами являются некоторые обобщения гради* ентных методов из раздела 9.3, методы возможных направлений, центров, внутренних штрафных функций и др. 2. Все или некоторые точки последовательности {xk} не принадлежат до* пустимому множеству X (при некоторых условиях в методе внешних штраф* ных функций каждая точка последовательности {xk} находится вне множе* ства X). Сущность одного из способов построения ряда методов первого типа лег* ко понять на примере соответствующей модификации градиентного метода безусловной минимизации функции f0: xk+1 = xk – akÑf0(xk),

390

ak > 0,

k = 1, 2, ...

(9.59)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Обычно рекуррентное соотношение (9.59) нельзя непосредственно при% менять для построения приближения xk+1, принадлежащего множеству до% пустимых точек X, поскольку для некоторых граничных точек xk этого мно% жества, не являющихся решениями задачи (9.58), при любом положитель% ном a точка xk – aÑf0(xk) может находиться вне множества X. По этой причине соотношение (9.59) соответствующим образом коррек% тируется — приближение xk+1 определяется согласно правилу xk+1 = ПX(xk – akÑf0(xk)), где ПX(p) — проекция точки p Î

Rn

321

ak > 0,

k = 1, 2, ...,

(9.60)

на множество X — решение задачи 2

3 1234 11 2

(9.61)

Итак, на каждой итерации метода (9.60) после определения шагового множителя ak необходимо в множестве X найти точку минимума xk+1 выпук% лой квадратичной функции yk(x) º |xk – akÑf0(xk)|2 = |x|2 – 2 + |xk – akÑf0(xk)|2. И наличие решений у задачи (9.61), и сложность их отыскания обуслов% лены как свойствами множества X, так и способом его задания. Например, если X является множеством решений конечной системы ра% венств и неравенств, каждое из которых определяется соответствующей ли% нейной функцией, то задача (9.61) является задачей выпуклого квадратич% ного программирования и у нее есть единственное решение. Никаких проблем, связанных с решением вспомогательной задачи (9.61), не возникает в случае, когда в задаче (9.58) имеются только простейшие огра% ничения на переменные: для заданных действительных чисел a1, ..., an и b1, ..., bn X = {x Î Rn: ai £ xi £ bi, i = 1, ..., n}

(9.62)

(если на значения некоторых компонент xi и xj точки x не накладываются ограничения снизу и/или сверху, то в определении (9.62) предполагается, что соответственно ai = –¥ и/или bj = ¥). 9.4.1. МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ

Основу методов возможных направлений определяют два требования: на каждой k%й итерации этих методов для данной точки xk Î X вектор спуска sk и величина шага ak должны быть такими, чтобы, во%первых, последующая точка xk+1 была допустимой в задаче (xk+1 Î X), а во%вторых, по критерию f0 — лучше, чем точка xk: f0(xk+1) < f0(xk). Вектор s Î Rn называют возможным направлением в точке x Î X, если для некоторых числа 11 2 0 и произвольного 1 2 203 11 4 точка x + as принадле% жит множеству X: 1 1 22 3 3 ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

42 3 234 21 56

391

Возможное направление s в точке x Î X называют возможным направле нием спуска (убывания) функции f0 в этой точке, если для некоторого поло' жительного числа 11 2 1 23 3 4

и

5 0 1 2 1 1 23 1 2 4 50 1 2 1 2

5 2 3 103 21 24

Рассмотрим сначала случай, когда допустимое множество X задачи (9.58) является множеством решений системы линейных неравенств X = {x Î Rn: £ bi, i = 1, ..., m}, определяемой m векторами {ai} из Rn и m действительными числами {b когда

X = {x Î Rn: fi(x) £ 0, i = 1, ..., m},

(9.63) i}, т.

е.

(9.63¢)

где fi(x) º – bi, i = 1, ..., m. Для допустимой точки x Î X множество I(x) º {i Î {1, ..., m}: fi(x) = 0}

(9.64)

называют множеством активных ограничений задачи в этой точке. Если fi(x) < 0 для каждого i = 1, ..., m, то множество I(x) пусто, а точка x является внутренней точкой множества X. Геометрическая иллюстрация множеств возможных направлений, воз' можных направлений спуска и активных ограничений представлена на ри' сунке 9.18.

Рис. 9.18

392

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Легко доказать, что вектор s Î Rn является возможным направлением спуска функции f0 в точке x Î X, если выполняются неравенства 1 22 0 1 3 23 4 3 1 03 4 5 1 1 5 34 3 6 0 71 8 6 1 3 249

(9.65)

В частности, из этого утверждения следует один из способов определения возможного направления спуска функции f0 в точке x Î X как решения s* задачи линейного программирования 1 240 1 523 1 3 4 4563

5 6 9 2 7 1 523 7 3 137773 876 1

1 62 3 1 3 8 0 1 8 1 3 8 13

(9.66)

Теорема 9.10. Пусть в задаче (9.58) целевая функция f0 дифференцируе ма, а допустимое множество X определяется согласно (9.63). Если точка x является решением задачи (9.58), то значение задачи (9.66) равно 0. Если функция f0 выпукла, то допустимая в задаче (9.58) точка x явля ется ее решением тогда и только тогда, когда значение задачи (9.66) равно 0. Пусть точка x принадлежит множеству X (9.63) и вектор s — возможное направление в этой точке: для некоторого 11 2 0 для каждого 1 2 203 11 4 вы= полняются неравенства £ bi,

i = 1, ..., m,

(9.67)

равносильные неравенствам a £ bi – ,

i = 1, ..., m.

(9.67¢)

Ввиду предположения x Î X выполняются неравенства 0 £ bi – ,

i = 1, ..., m,

и поэтому i=е неравенство (9.67¢) выполняется · при любом a ³ 0, если £ 0; 2 1 2 31 1 4 3 1 если > 0. · при 4 5 1 2 31 1 5 3 Значит, для заданных точки x Î X и возможного в этой точке направле= ния s точка x + as допустима в задаче (9.58) (все неравенства (9.67) выполня= ются), если a Î [0; amax], где

123

2 2 31 3 4 4 1 4 5 5 6 7 4 4 1 4 6 5 5 09 4 7 156 8 1 1 2 1 1 1 8 4 4 46 5

74 если 4 41 4 6 5 1 0  1 14 8884 28

(9.68)

Предположим, что для некоторой точки x Î X значение задачи (9.66) от= рицательно и что известно решение s* этой задачи (у вектора s* очевидно есть ненулевые компоненты). Тогда, во=первых, вектор s* является направлением ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

393

убывания функции f0 в точке x, а во%вторых, из определения множества X (9.63) следует, что x + as* Î X

" a Î [0; amax],

(9.69)

где значение amax вычисляется по формуле (9.68) при s = s*. Так как s* является направлением убывания функции f0, среди допусти% мых в задаче (9.58) точек {x + as*} (9.69) обязательно найдутся и такие, в ко% торых функция f0 принимает значения меньшие, чем f0(x). Итак, второе определяющее требование методов возможных направле% ний можно обеспечить таким образом: на каждой k%й итерации этих методов для заданных допустимой в задаче (9.58) точки x = xk и возможного в этой точке направления sk = s* длина шага ak в рекуррентной формуле xk+1 = xk + aksk

(9.70)

выбирается из условия одномерной минимизации функции f0: 2 0 4 3 1 3 24 1 5 4

678

(9.71)

01212 123

при% (значение amax вычисляется по формуле (9.68), в которой x = и s = чем sk — решение задачи (9.66), значение которой отрицательно). Рассмотрим теперь случай, когда допустимое множество X задачи (9.58) также выпукло, однако определяется согласно (9.63¢) произвольными m вы% пуклыми и дифференцируемыми функциями%ограничениями {fi}. Из выпуклости множества X следует, что для произвольных допустимых точек x, y Î X вектор s = y – x является возможным направлением в точке x. Пусть x Î X. Если для некоторого i Î {1, ..., m} fi(x) < 0, то из непрерыв% ности функции fi следует, что для произвольного вектора s Î Rn при доста% точно малом положительном a выполняется неравенство fi(x + as) < 0. Если i Î I(x), т. е. если fi(x) < 0, то из определения xk

215234 43 6 567

1231

s k,

21 23 3 143 4 21 233 2 23 3 143 7 567 1 1231 1 1

производной по направлению s Î Rn функции fi в точке x и равенства 2111 32 43 23 421 1 334 4 5

(см. разд. 2.2.2) следует выполнение при некотором положительном a нера% венства fi(x + as) < 0 (x + as Î X) только при условии < 0. Значит, вектор s Î если

Rn

является возможным направлением в точке x Î X,

< 0

" i Î I(x),

а если при этом < 0, то этот вектор также является возможным направлением убывания функ% ции f0 в точке x. 394

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Рис. 9.19

Геометрическая иллюстрация множества возможных направлений спус% ка в случае нелинейных функций%ограничений {fi} задачи (9.58) представле% на на рисунке 9.19. Итак, если допустимое множество X задачи (9.58) определяется соглас% но (9.63¢) произвольными m выпуклыми и дифференцируемыми функция% ми%ограничениями {fi} и x Î X, то при условии отрицательного значения g* задачи

1 2 2341 11 1

5 640 5 561 1 7 8 11 5 642 5 561 1 7 8 1 1 8 1 3 8 11

3 4 4 9

2 6 5 561 4 3 117771 714

(9.72)

компонента s* ее решения (g*, s*) является возможным направлением убыва% ния функции f0 в точке x. Пусть для задачи (9.58), множество допустимых точек X которой опре% деляется выпуклыми функциями f1, ..., fm согласно (9.63¢), выполняются условия регулярности Слейтера — для некоторой точки 21 1 3 1 ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

395

21 1312 1 03

1 2 134443 44

(9.73)

Кроме того, пусть критериальная функция f0 выпукла, а все функции f0, f1, ..., fm, дифференцируемы. Тогда допустимые точки {xk}, сходящиеся к множеству решений зада% чи (9.58), можно строить таким, например, способом. Алгоритм 9.4.1 (возможных направлений). Шаг 0. Выбрать произвольное начальное приближение x0 Î X. Положить k = 0. Шаг 1. Для x = xk и I(xk) º {i Î {1, ..., m}: fi(xk) = 0} найти решение (gk, sk) задачи (9.72). Если gk ³ 0, то вычисления прекратить (точка xk Î X является решением задачи (9.58)). Шаг 2. Найти решение ak задачи одномерной минимизации 30 2 4 1 6 35 1 3 9

678

1

34 3501 32 2 4 1 635 1 3 7 04

2

2 8145554 6

5

(9.74)

Шаг 3. Положить xk+1 = xk + aksk, k = k + 1 и перейти к шагу 1. Если замкнутое множество {x Î X: f0(x) £ f0(x0)} ограничено, то у зада% чи (9.74) всегда имеется по крайней мере одно решение. В частности, у зада% чи (9.74) есть решения, если замкнутое множество X допустимых точек за% дачи (9.58) ограничено. 9.4.2. МЕТОДЫ ЦЕНТРОВ

В методах центров построение точек {xk}, допустимых для ряда задач 3 0 1 1 2 2 345 6 11 2

(9.75)

производится существенно иначе, чем в методах возможных направлений. Пусть и критериальная функция f0 задачи (9.75), и все функции%ограни% чения {fi}, согласно (9.63¢) определяющие множество допустимых точек X этой задачи, непрерывны на Rn и выпуклы, а множество X0 внутренних то% чек множества X непусто и X0 = {x Î Rn: j(x) < 0}, где

21 3 2 3 345 4 1 1 3 2 111 1 2

(9.76)

— функция максимума функций {fi}. Очевидно, что X = {x Î Rn: j(x) £ 0}, а из выпуклости и непрерывности функций {fi} следует выпуклость и непре% рывность функции максимума j (9.76) (см. разд. 2.2.1). Название методов центров объясняется такими дополнительным пред% положением о свойствах задачи (9.75) и способом построения приближений {xk} Ì X. 396

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Пусть X* — множество решений задачи (9.75) и для произвольной точки y Î X\X* множество X(y) = {x Î X: f0(x) £ f0(y)} ограничено, а его множество внутренних точек X0(y) непусто и совпадает с множеством {x Î X0: f0(x) £ f0(y)}. Пусть для фиксированной точки y Î X\X* на Rn задана некоторая функ% ция d( × , y), непрерывная на множестве X(y) и принимающая на множестве X0(y) и только на множестве X0(y) положительные значения. Тогда если значение d(x, y) интерпретировать как расстояние от точки x Î X0(y) до множества X(y)\X0(y) = {z Î X: f0(z) £ f0(y)}, то каждую точку 1 1 2 0 2 3 34 для которой 4 2 21 3 5 4 2 5671 4 2 23 5 43 213

естественно интерпретировать как центр множества X(y) (при принятых пред% положениях у множества X(y) имеется по крайней мере один центр). Очевидно, что центр 1 множества X(y) является внутренней точкой мно% жества X и при этом 1 0 2 21 3 1 10 2 3 34 Это свойство точки 1 и является опреде% ляющим для ряда методов решения задачи (9.75). Алгоритм 9.4.2 (метод центров). Шаг 0. Выбрать произвольное начальное приближение x0 Î X. Положить k = 0. Шаг 1. Найти решение xk+1 задачи 5 1 32 3 2 3 2 4567 1

314 d(xk+1,

(9.77) x k)

Шаг 2. Если выполняется равенство = 0, то вычисления пре% кратить (xk Î X*). Шаг 3. Положить k = k + 1 и перейти к шагу 1. Итак, каждый метод центров определяется функцией расстояния d( × , y). В частности, если в качестве этой функции принять функцию –H(x, y), где H(x, y) º max{f0(x) – f0(y), j(x)},

(9.78)

то задача (9.77), решаемая на шаге 1 на каждой k%й итерации метода цен% тров, состоит в б е з у с л о в н о й минимизации функции H(x, xk). Обоснование корректности алгоритма 9.4.2 основано на нескольких ут% верждениях. Теорема 9.11. Допустимая в задаче (9.75) точка x* тогда и только то гда является решением этой задачи, когда H(x, x*) ³ 0 "x. Значит, для данной допустимой в задаче (9.75) точки y (j(y) £ 0) значение H(y, y) = 0 функции H( × , y) можно уменьшить тогда и только тогда, когда точка y не является решением этой задачи. Пусть x0 Î X и для k = 0, 1, 2, ... H(xk+1, xk) < H(xk, xk) = 0. Отсюда f0(xk+1) < f0(xk), j(xk+1) < 0, ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

397

и поэтому все точки {xk} принадлежат множеству

21 3 13 4 4 1 1 5 2 33 30 4 5 02 6 2 5 Значит, если множество 11 ограничено (например, при ограниченных множестве X допустимых точек задачи (9.75) или множестве уровней целе% вой функции f0 этой задачи), то ввиду непрерывности функции H( × , xk) на компактном множестве 13 3 4 1 1 5 2 33 3 2 4 4 02 5 61 у задачи (9.77) есть решения. Если же у этой задачи значение окажется рав% ным нулю, то xk Î X*. Теорема 9.12. Пусть для некоторой точки x0 Î X множество {x Î Rn: H(x, x0) £ 0} ограничено. Тогда либо через конечное число итераций алгоритма 9.4.2 бу дет получено решение задачи (9.75), либо к множеству решений этой зада чи сходится порождаемая алгоритмом последовательность {xk} Ì X. Следует отметить, что даже при дифференцируемости всех функций {fi} функция H( × ,y), определяемая согласно (9.78), недифференцируема. Поэто% му задача 3 1 2 2 2 1 3 1 4562 (9.77¢) 2

которую необходимо решать на каждой итерации метода центров, является задачей безусловной минимизации н е д и ф ф е р е н ц и р у е м о й функции. Вместе с тем легко понять, что задача (9.77¢) эквивалентна задаче услов% ной минимизации 2 1 2341

2 3 4 50 5 16 5 50 5 1 3 6 6 2 1 3 54 5 16 5 2 1 4 7 117771 61 8 11 2

(9.77²)

в таком смысле: у задач (9.77¢) и (9.77²) одинаковые значения t*, а пара (t*, x*) является решением задачи (9.77²) тогда и только тогда, когда число t* явля% ется значением, а вектор x* Î Rn — решением задачи (9.77¢). Для задачи выпуклого программирования (9.75), множество внутренних точек X0 множества допустимых точек которой X непусто и совпадает с мно% жеством {x Î Rn: fi(x) < 0 " i = 1, ..., m}, разработаны модифицированные методы центров. В этих методах зада% ча (9.77¢) решается не точно, а приближенно, с некоторыми заданными усло% виями прекращения соответствующей процедуры решения этой задачи. На каждой итерации модифицированных методов центров условия прекра% щения процесса решения задачи (9.77¢) выполняются после конечного числа вычислений значений и субградиентов функций {fi}, в терминах которых формулируется задача (9.75). 398

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

9.4.3. МЕТОДЫ ВНЕШНИХ ШТРАФНЫХ ФУНКЦИЙ

Пусть функция f0 определена и непрерывна на Rn, X — непустое множе% ство в Rn. В основе ряда методов решения задачи 3 0 1 12 2 345

(9.79)

11 2

ограничение x Î X учитывается следующим образом. Определяется последовательность функций {pk}, pk: Rn ® R+ (R+ — мно% жество неотрицательных действительных чисел), принимающих положи% тельные значения лишь в точках, не принадлежащих множеству X. При не% которых условиях все предельные точки последовательности точных или приближенных решений {xk} задач безусловной минимизации 31 1 2 2 1 4 0 1 22 2 51 1 22 3 345 6

1 4 16 26 7776

2

(9.80)

являются решениями задачи (9.79). Методы такого типа различают в зависимости от свойств функций {pk} и называют методами внешних штрафных функций. Название этих методов объясняется тем, что в каждой задаче (9.80) количественная мера Fk(x) каче% ства точки x за невыполнение требования «x Î X» увеличена (ухудшена) на положительную величину pk(x) по сравнению с соответствующей мерой ка% чества этой точки f0(x), принимаемой для задачи (9.79): если точка x не при% надлежит множеству допустимых точек X задачи (9.79), то за выбор такой «запрещенной» точки налагается «штраф» в размере pk(x) некоторых допол% нительных единиц оценки качества выбора точек в Rn. Последовательность непрерывных на Rn функций {pk} называют последо вательностью внешних штрафных функций для множества X Ì Rn, если каждая функция pk, k = 1, 2, ..., обладает свойствами 3 34 43 5 21 1 32 2 0 6 3 38 43 9 21 1 32 7 0 6 21 11 1 32 7 21 1 32 3 3 8 4

(9.81)

и для каждой фиксированной точки x Ï X pk(x) ® ¥ при k ® ¥.

(9.82)

Например, пусть X является множеством решений системы 3 21 1 32 1 03 4 6 21 1 3 2 2 03

1 2 13 4443 41 3 1 2 41 5 13 4443 43

(9.83)

определяемой непрерывными функциями fi: Rn ® R, i = 1, ..., m, 0 £ m1 £ m, m ³ 1. Тогда функции 11

423 1 52 1 4 632 345607 73 1 528 2 3 11

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

1

4

3 1 11 21

632 73 1 52 7

(9.84)

399

11

4277 1 52 5 8 632 3 345106 73 1 5224 6 2

3 51

1

8

3 5 11 61

632 3 73 1 52 4 6 2

(9.85)

при условии, что для произвольных i = 1, ..., m, k = 1, 2, ... rik >0, rik + 1 > rik, rit ® ¥ при t ® ¥, свойствами (9.81) и (9.82) очевидно обладают. Одно из принципиальных отличий функций 211 1 32 и 2111 1 32 состоит в том, что даже при всех дифференцируемых функциях {fi} функция 211 1 32 недиф% ференцируема, а функция 2111 1 32 дифференцируема и ее градиент 2 2111 1 32 вы% числяется по формуле 1 5 11 6 8 4277 1 5 2 3 29 632 345 106 73 1 5 22 8 7 3 1 5 2 4 632 7 3 1 5 28 73 1 5 2 7 9

3 3 11 41 3 31 Рассмотрим несколько примеров применения методов внешних штраф% ных функций для решения задач условной минимизации. Очевидно, что единственным реше% нием задачи 10 1 2 2 1 2 2 34563 4 11 1 2 2 1 2 5 2 6 0 7

(9.86)

является точка x* = 2. Пусть r — произвольное положи% тельное число и

21551 32 6 1 3 345 106 41 1 3224

2

73 8 56

т. е.

если 2 1 21 2 01 31332 23 4 5 2 1 если 2 7 24 2 1 2 2 3 6 8 Для нескольких положительных значений r фрагмент эскиза графика штрафной функции 21111 3 2 представлен Рис. 9.20 на рисунке 9.20. Нетрудно понять, что вспомогательная функция 21 1 3 2 2 3 3 41111 32 прини% 1 мает наименьшее значение в единственной точке 21 1 2 2 , недопустимой 21 для задачи (9.86). Тем не менее последовательность точек {xr} при r ® +¥ сходится к решению задачи (9.86) — к точке x* = 2. Рассмотрим еще один пример — задачу выпуклого квадратичного про% граммирования с двумя неизвестными: 112 1 122 2 12343 4 11 1 12 5 1 6 05 7

(9.87)

2 015 3 Точка 11 4 5 6 является единственным решением задачи (9.87). Значе% 7 015 8 ние этой задачи равно 0,5 (рис. 9.21).

400

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Рис. 9.21

Определим штрафную функцию задачи (9.87) по формуле (9.85): для по% ложительного r 2 21331 32 4 1 1 31 5 32 6 12 . Ввиду выпуклости функции 21 1 32 3 312 4 322 4 1 1 31 4 32 5 12

2

решением вспомогательной задачи безусловной минимизации 112 3 122 3 2 1 11 3 12 4 12

2

5 123 1

(9.80¢)

является каждая стационарная точка функции Fr(x) — решение системы уравнений 321 1 3 2 4 5 2 31 6 21 1 31 6 32 7 12 5 03 8 331 8 9 321 1 32 5 2 32 6 21 1 31 6 32 7 12 5 048 332 8

(9.88)

Очевидно, система уравнений (9.88) эквивалентна системе линейных ал% гебраических уравнений 11 3 2 1 11 3 12 4 12 5 01 6 (9.88¢) 7 12 3 2 1 11 3 12 4 12 5 018 1 112 при произвольном положи% 1 6 21 471 58 тельном r — точку, недопустимую для исходной задачи (9.87). Однако при всех достаточно больших положительных значениях r точка xr мало отличается от

имеющей единственное решение 21 3

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

401

решения x* этой задачи, поскольку к нему сходится последовательность то% чек {xr} при r ® +¥. В общем случае, во%первых, не у каждой задачи (9.80) могут быть реше% ния, а во%вторых, даже если для каждого k = 1, 2, ... у задачи (9.80) и есть решение xk, последовательность {xk} может не сходиться. Однако при выпол% нении некоторых условий указанных проблем не возникает. Теорема 9.13. Пусть в задаче (9.79) множество X замкнуто, функция f0 непрерывна и для некоторой точки x0 Î X множество X0 º {x Î Rn: f0(x) £ f0(x0)} ограничено. Тогда значение f0* этой задачи конечно (f0* > –¥), а множество ее реше ний X* непусто, ограничено и замкнуто. Кроме того, если {pk} — последовательность внешних штрафных функ ций для множества X, то у каждой kй задачи (9.80) имеется непустое, ограниченное и замкнутое множество решений Xk*, содержащееся в мно жестве X0. Значит, при выполнении условий этой теоремы последовательность {xk} решений задач (9.80) ограничена и поэтому у нее есть предельные точки. Следует также отметить свойство монотонности, присущее каждой по% следовательности {xk} решений задач (9.80). Теорема 9.14. Пусть последовательность непрерывных на Rn функций {pk} имеет свойства (9.81), (9.82) и {xk} — последовательность решений задачи (9.80). Тогда для k = 1, 2, ... а) Fk(xk) £ Fk+1(xk+1); б) f0(xk) £ Fk(xk) £ f0*; в) xk Î X Þ xt Î X " t ³ k; г) если для некоторого числа g > 1 выполняется равенство pk+1(x) = gpk(x) то

" x Î Rn,

f0(xk) £ f0(xk+1).

Более общей, чем утверждение о сходимости к решениям задачи (9.79) последовательности {xk} решений задач (9.80), является следующая теорема. Теорема 9.15. Пусть выполняются предположения теоремы 9.13, {pk} — последовательность внешних штрафных функций для множества X, {xk} — последовательность решений задач (9.80). Тогда если для последовательности {yk} Ì Rn выполняется предельное со отношение |yk – xk| ® 0 при k ® ¥,

(9.89)

то она ограничена и поэтому имеет предельные точки. Каждая предельная точка последовательности {yk} является решением задачи (9.79). Если же при выполнении условий теоремы 9.13 точка x0 не является решением задачи (9.79), то для наличия указанных свойств у последо 402

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

вательности {yk} достаточно выполнения менее сильного требования, чем (9.89): Fk(yk) – Fk(xk) ® 0 при k ® ¥. Если задача (9.79) формулируется в терминах выпуклых функций, то некоторым методам внешних штрафных функций или их модификациям присущи свойства, интересные и важные в многочисленных приложениях. Теорема 9.16. Пусть в задаче (9.79) X = {x Î Rn: fi(x) £ 0, i = 1, ..., m}, где для каждого i Î I º {1, ..., m} функция fi, заданная на Rn, непрерывна и выпукла. Если для некоторой точки 1 1 2 выполняются неравенства 2 1 2 31 3 1 0

21 3 4

(9.90)

(выполняется условие регулярности Слейтера) и последовательность {yk} Ì Rn сходится к точке y Î X, то к этой же точке сходится и последова# тельность {zk} Ì X, элементы которой образованы согласно правилу

2 1 3 4 1 31 5 11 6 4 1 2 4 1 2 42 1 5 1 2 2 6 5 345 6 1 7 9 213 1 4 2 1 5 1 2 8 4 2 1 67 2 5 06

(9.91)

если 3 1 3 4 6 если 3 1 7 4 6

Ik º {i Î {1, ..., m}: fi(yk) >0}. Найти точку 1 1 2 (9.90) (если она есть) можно, например, решая задачу безусловной минимизации функции максимума 21 32 3 345 41 1 326 11 1 1 2

Итак, при выполнении предположений теоремы 9.16, даже если целевая функция f0 задачи (9.79) и не является выпуклой, в процессе построения методом внешних штрафных функций последовательности точных или при< ближенных решений {yk} задач (9.80) можно вычислять по формуле (9.91) д о п у с т и м ы е в задаче (9.79) точки {zk}, которые при условии сходимости точек {yk} к решениям задачи (9.79) также сходятся к этим решениям. Оказывается, что для некоторых задач (9.79) и при некоторых свойствах штрафных функций {pk} нет необходимости решать бесконечное число задач безусловной минимизации (9.80) — значение и решение исходной зада< чи (9.79) будут найдены после к о н е ч н о г о числа решения задач (9.80). Теорема 9.17. Пусть в задаче (9.79) целевая функция f0 непрерывна и выпукла, множество допустимых точек X является множеством решений системы (9.83), определяемой непрерывными и выпуклыми функциями fi, i = 1, ... , m¢, и линейными функциями fi, i = m¢ + 1, ..., m. Пусть 211 — компонента решения u* двойственной к (9.79) задачи, со# поставляемая i#й функции#ограничению fi, i = 1, ... , m. ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

403

Если в определении (9.84) внешней штрафной для множества X функ ции 211 1 32 значения {rik} удовлетворяют неравенствам 312 3 411 1

1 4 11 2221 521

1 4 52 5 11 2221 51

312 3 411 1

то значение задачи 31 223 2 41 223 3 511 223

4

456

(9.92)

2

равно значению f0* задачи (9.79). Если же 312 3 411 1

1 4 11 2221 521

312 3 411 1

1 4 5 2 5 11 2221 51

то множество решений задачи (9.92) совпадает с множеством решений X* задачи (9.79). 9.4.4. МЕТОДЫ ВНУТРЕННИХ ШТРАФНЫХ ФУНКЦИЙ

Если в задаче математического программирования с ограничениями на переменные 3 0 1 12 2 345 (9.93) 11 2 целевая функция f0 не определена в точках, не принадлежащих множеству допустимых точек X Ì Rn, то для отыскания решения этой задачи можно применять либо методы возможных направлений, либо методы центров, либо методы внутренних штрафных функций. Общая структура методов внутренних штрафных функций такая же, что и методов внешних штрафных функций: исходная задача условной ми% нимизации (9.93) заменяется последовательностью задач безусловной ми% нимизации 31 122 1 40 122 2 51 122 3 3456 2

1 4 16 267776

(9.94)

{xk}

(или некоторые приближения к этим решениям) при решения которых некоторых условиях образуют последовательность, все предельные точки которой принадлежат множеству решений X* задачи (9.93). При этом, в от% личие от внешних штрафных функций для множества X, «наказание» в раз% мере pk(x) принимает бесконечно большое значение при выборе любой точки x, находящейся вне множества внутренних точек X0 множества X1. Последовательность функций {pk}, pk: Rn ® R U {¥}, непрерывных на X0, называют последовательностью внутренних штрафных функций для мно жества X, если для k = 1, 2, ... 1 3 21 12 334 3 21 334 3 4 21 334 8 4

5 3 6 4 1 52 7 5 3 9 416

(9.95)

1 Методы внутренних штрафных функций применяются, если множество внутренних точек X0 множества X непусто. Более того, предполагается, что замыкание множества X0 (множест% во всех предельных точек всех последовательностей, образованных из точек множества X0) совпадает с X.

404

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Причем pk(x) ® 0 при k ® ¥

" x Î X0 ,

(9.96)

а для произвольных y Ï X0, {yt} Ì X0, из условия yt ® y следует, что pk(yt) ® ¥.

(9.97)

Например, если X º {x Î Rn: fi(x) £ 0, i = 1, ..., m},

(9.98)

X0 = {x Î Rn: fi(x) < 0, i = 1, ..., m} ¹ Æ,

(9.99)

где каждая функция fi: Rn ® R, i = 1, ..., m, непрерывна, то последователь3 ность {pk}

2 1 423 1 53 83 2 53 6 7 2 11 72 2 53 5 81

если 5 4 6 0 1 если 5 9

(9.100)

6 01

при условии 0 < rik+1 < rik

" k = 1, 2, ...,

rik ® 0, i = 1, ..., m,

(9.101)

очевидно имеет свойства (9.95)–(9.97). Для иллюстрации работы одного из возможных методов внутренних штрафных функций рассмотрим следующий пример1. Очевидно, что единственным решением задачи 10 1 2 2 1 2 2 34563 4 11 1 2 2 1 1 5 2 6 0 7

(9.102)

является точка x* = 1, а f0* = f0(x*) = 1 — значение этой задачи. Согласно определению (9.100) внут3 ренняя штрафная функция для допус3 тимого множества задачи (9.102) опре3 деляется так: для произвольного поло3 жительного числа r

1 1 1 если 2 2 11 3 31 2 23 4 6 2 5 1 3 7 81 если 2 9 14

(9.103)

Для нескольких положительных значений r фрагмент эскиза графика функции pr(x) представлен на рисун3 ке 9.22. Рис. 9.22 1 Каждый метод внутренних штрафных функций определяется выбранной последователь3 ностью этих функций.

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

405

Нетрудно доказать, что вспомогательная функция Fr(x) º x + pr(x) при& нимает наименьшее значение 21 1 2 1 3 2 1 в допустимой для задачи (9.102) точке 21 1 1 2 1 1 При этом при r ® +0 последовательности {xr} и {Fr*} сходят& ся соответственно к решению x* = 1 и к значению f0* = 1 задачи (9.102). Если целевая функция f0 задачи (9.93) непрерывна на множестве X, то для существования непустого ограниченного и замкнутого множества реше& ний X* этой задачи достаточно, чтобы для некоторой точки x0 Î X множест& во {x Î R: f0(x) £ f0(x0)} было ограниченным. Для существования же решений у каждой из задач (9.94) в методах внутренних штрафных функций это тре& бование оказывается слишком слабым. Действительно, для X = {x Î R: x £ 0} и

1 1 2 2 1 4 20 2 13 5 6 1 2 1 1 2 2 4

7 81

если 1 3 01 если 1 9 0

(9.104)

значение f0* задачи 3 0 1 12 2 345

(9.93¢)

11 2

равно 1 и у нее имеется единственное решение x* = 0. Функции {pk}, 1 21 42 1 если 3 3 01 41 2 33 5 6 3 4 781 если 3 9 0

(9.105)

1 при 21 1 1 k = 1, 2, ... очевидно обладают всеми свойствами (9.95)–(9.97) 1 внутренних штрафных функций для множества X = {x Î R: x £ 0}, однако хотя значение каждой задачи 3 0 1 22 1 41 1 22 2 345 6 2

1 3 16 26 777

(9.94¢)

равно 0, ни у одной из этих задач нет решений. Теорема 9.18. Пусть в задаче (9.93) допустимое множество X замкну то, совпадает с замыканием множества своих внутренних точек X0, функ ция f0 непрерывна на множестве X и {pk} — последовательность внутрен них штрафных функций для множества X. Тогда если для некоторой точки x0 Î X0 множество X0 º {x Î X: f0(x) £ F1(x0)} ограничено, то множества X* и Xk* решений соответственно задач (9.93) и (9.94) непусты, ограничены и замкнуты. Более того, Xk* Í X0

" k = 1, 2, ...

Таким образом, при выполнении условий этой теоремы последователь& ность {xk} решений задач (9.94) ограничена и поэтому у нее, во&первых, есть предельные точки и, во&вторых, все эти предельные точки принадлежат замк& 406

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

нутому множеству X0. Кроме того, последовательности {xk} присущи и неко% торые свойства монотонности. Теорема 9.19. Пусть f0* — значение задачи (9.93) и {pk} — последователь ность внутренних штрафных функций для множества X. Тогда f0* £ Fk+1(xk+1) £ Fk(xk) " k = 1, 2, ... Если же для некоторых k и g Î (0; 1) выполняется равенство pk + 1(x) = gpk(x) " x, то f0* £ f0(xk+1) £ f0(xk). Достаточные условия сходимости решений {xk} и приближенных реше% ний {yk} задач (9.94) к множеству X* решений задачи (9.93) сформулированы в следующей теореме. Теорема 9.20. Пусть значение f0* задачи (9.93) конечно, функция f0 не прерывна на множестве X и {pk} — последовательность внутренних штраф ных функций для множества X. Тогда: а) последовательность {Fk(xk)} значений задач (9.94) сходится к значе нию f0* задачи (9.93); б) если точки последовательности {yk} Ì X таковы, что |yk – xk| ® 0 при k ® ¥, то все ее предельные точки принадлежат множеству решений X* зада чи (9.93); в) если для точек последовательности {yk} Ì X выполняется предельное соотношение Fk(yk) – Fk(xk) ® 0 при k ® ¥, то при выполнении условий теоремы 9.18 у последовательности {yk} есть предельные точки и все они принадлежат множеству X*. В методах внутренних штрафных функций последовательность значений {Fk(xk)} задач (9.94) и значения {f0(xk)} сходятся сверху к значению f0* зада% чи (9.93) (теорема 9.19). Далее сформулированы условия, когда можно вы% числять и нижние оценки значения f0*. Теорема 9.21. Пусть в задаче (9.93) ограничено и замкнуто допустимое множество X, определяемое согласно (9.98) выпуклыми и непрерывными на Rn функциями {fi}, i = 1, ..., m. Пусть целевая функция f0 этой задачи также выпукла и непрерывна на Rn. Тогда при применении внутренних штрафных для множества X функ ций {pk} (9.100) выполняются утверждения: а) у каждой задачи семейства задач (9.94) есть решение x k Î X 0, k = 1, 2, ...; б) последовательность {xk} сходится к множеству X* решений зада чи (9.93); ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

407

в) для каждого k = 1, 2, ... выполняется неравенство 1

41 352 4 3 5 632 43 352 4 4 411 5 3 22

в котором f0* — значение задачи (9.93), 3 412 1 2 12 2 2 1 3 11 2221 53 61 4 7 5

(9.106)

г) последовательность 13 1 2 2 412 , компоненты каждого элемента кото рой вычислены по формулам (9.106), сходится к множеству решений двой ственной задачи 3 12 2 4 345 6 22311

где для произвольной точки

22311

2 14 2 3 345 51 36 4 2 3

1

e

51 36 4 2 3 6 0 1 32 4 5 42 6 2 1 32 2 11

— соответственно двойственная функция и функция Лагранжа зада чи (9.93).

9.5. РЕШЕНИЕ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ СРЕДСТВАМИ MS EXCEL Математики разработали и продолжают разрабатывать для вычислитель% ных машин программное обеспечение, предназначенное для решения самых разных оптимизационных задач. Исследования и работы по созданию соот% ветствующих программных комплексов проводятся, например, в Вычис% лительном центре им. А. А. Дородницына Российской академии наук1 и в Институте кибернетики им. В. М. Глушкова Национальной академии наук Украины2. Для решения самых общих задач линейной и нелинейной опти% мизации математики Стэндфордского университета (США) разработали ши% роко известный оптимизационный пакет MINOS. В программном комплексе MS Excel имеется специальная процедура Поиск решения, которая может применяться для решения задач как линей% ного программирования, так и дифференцируемой оптимизации (для задач нелинейной оптимизации непрерывно дифференцируемых функций в этой процедуре реализованы несколько модификаций метода Ньютона). Следует помнить, что вычислительные характеристики любого стандарт% ного программного обеспечения компьютера, предназначенного для реше% ния оптимизационных задач из некоторого класса задач, могут существенно уступать соответствующим характеристикам специализированной програм% 1 Анатолий Алексеевич Дородницын (1910–1994) — российский математик, геофизик и механик. 2 Виктор Михайлович Глушков (1923–1982) — советский математик.

408

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

мы, при разработке которой учитываются свойства и конкретные особенно% сти решаемой задачи. Поэтому универсальное программное обеспечение обыч% но применяют только в случаях предъявления «умеренных» требований к общему времени и точности отыскания решения задачи. Если же эти требо% вания более жесткие, то к достаточно сложной работе по созданию необходи% мого программного обеспечения для решения задачи необходимо привле% кать как математиков%аналитиков по вопросам решения оптимизационных задач данного класса, так и математиков%программистов. Процедура Поиск решения может применяться только при таких самых общих характеристиках задачи: · число неизвестных не должно превышать 200; · число функций%ограничений на переменные задачи не должно превы% шать 100. Для применения процедуры Поиск решения необходимо выполнить сле% дующие действия. Во%первых, на рабочем листе MS Excel необходимо описать математиче% скую модель задачи: · указать клетки, в которых будут записаны значения переменных задачи (перед проведением вычислений в этих клетках должны быть записаны начальные значения переменных); · указать клетку, в которой будет записана формула вычисления значения целевой функции задачи (в этой формуле обязательно должны быть пря% мые или опосредованные ссылки на клетки, содержащие значения пере% менных задачи); · указать клетки, в которых будут записаны формулы вычисления значе% ний функций%ограничений (формулы в этих клетках также должны со% держать ссылки на клетки, содержащие значения переменных задачи). Во%вторых, в меню Сервис выбрать команду Поиск решения. После вызо% ва одноименного окна диалога указать адреса ячеек рабочего листа MS Excel, содержащих введенную информацию о задаче, и задать параметры, необхо% димые для работы п р о ц е д у р ы Поиск решения (см. рис. 9.23). Элементы окна диалога Поиск решения имеют такое назначение. Поле Установить целевую ячейку: содержит ссылку на клетку 1 рабоче% го листа MS Excel, в которой записана формула вычисления значения целе% вой функции оптимизационной задачи. Эта задача состоит в том, чтобы на множестве допустимых значений переменных найти или точку максимума целевой функции, или ее точку минимума, или точку, в которой целевая функция принимает заданное значение. 1 Рабочий лист MS Excel имеет вид таблицы, состоящей из строк, пронумерованных числа% ми, и столбцов, обозначенных буквами. На пересечении строки и столбца находится клетка. Каждая клетка имеет адрес, состоящий из имени столбца и номера строки. Например, запись B5 означает адрес клетки, находящейся на пересечении столбца B и строки 5. Кроме того, пользователь может связать адрес клетки с некоторым именем. Для этого нужно выделить клетку, выбрать команды Имя, Присвоить меню Вставка, в окне диалога Присвоение имени ввести имя ячейки и нажать кнопку OK. На рабочем листе ячейку идентифицируют либо по ее адресу, либо по ее имени. Адрес или имя ячейки называют ссылкой на ячейки.

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

409

Рис. 9.23

Переключатель Равной: может находиться только в одном из трех воз% можных положений и конкретизирует характер работы процедуры Поиск решения. При выборе положения максимальному значению или минималь ному значению выполняется соответственно максимизация или минимиза% ция целевой функции задачи. Если же необходимо найти значения перемен% ных задачи, при которых значение целевой функции равно некоторому за% данному значению, то выбирается положение переключателя значению: и после этого заданное значение целевой функции вводится в специальное поле переключателя. В поле Изменяя ячейки записываются ссылки на диапазон1 рабочего лис% та, содержащий значения переменных (неизвестных) задачи. Кнопка Предположить служит для автоматического определения диа% пазона с переменными задачи: после нажатия на эту кнопку MS Excel под% ставляет ссылки на диапазон с переменными задачи в поле Изменяя ячейки. Адрес соответствующего диапазона определяется по наличию формулы в клетке, ссылка на которую задана в текстовом поле Установить целевую.

1 Диапазон рабочего листа — одна или несколько клеток рабочего листа. Диапазоны бывают смежными и несмежными. Смежный диапазон образуют клетки из одной (непрерывной) пря% моугольной области рабочего листа. Несмежный диапазон является объединением несколь% ких смежных диапазонов. Ссылка на диапазон — это адрес или имя диапазона. Адрес смеж% ного диапазона определяется адресом верхней левой клетки и адресом правой нижней клетки диапазона, объединяемых операцией «:» (двоеточие), например А1:D3. Адреса несмежного диапазона определяются адресами смежных диапазонов, его образующих; адреса смежных диапазонов объединяются операцией «;» (точка с запятой), например А1:D3; B5:F6. Адрес диапазона можно задать некоторым именем. Это делается командами Имя, Присвоить меню Вставка. Самый удобный способ задания ссылки на диапазон состоит в выделении диапазона на рабочем листе при помощи мышки. В частности, для введения ссылки на несмежный диа% пазон сначала выделяется один диапазон, а затем выделяются остальные диапазоны, его со% ставляющие, с одновременным нажатием клавиши .

410

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Рис. 9.24

Кнопки Добавить, Изменить, Удалить служат для формирования спи% ска ограничений задачи. Для добавления ограничения в список Ограничения нужно нажать на кнопку Добавить. Затем при помощи элементов окна диалога Добавление ограничения (рис. 9.24), появляющегося на экране после нажатия на эту кноп% ку, ввести следующие данные: · в поле Ссылка на ячейку — ссылку на клетку, для которой создается ограничение; · выбрать тип этого ограничения из предлагаемого списка возможных ти% пов ограничений; · в поле Ограничение — значение ограничения или ссылку на клетку, со% держащую это значение. Кнопки окна диалога Добавление ограничения имеют такое назначение: · кнопка OK — сохранение введенного ограничения и закрытие окна диа% лога; · кнопка Отмена — закрытие окна диалога без сохранения введенных данных; · кнопка Добавить — сохранение введенного ограничения и, при необхо% димости, создание следующего ограничения; · кнопка Справка — получение справки по данной теме. Для редактирования выделенного ограничения следует нажать на кноп% ку Изменить, а для удаления этого ограничения — на кнопку Удалить. Кнопка Выполнить активизирует выполнение процедуры Поиск реше ния (начинается процесс решения задачи). Кнопка Закрыть закрывает окно диалога без отыскания решения задачи. Кнопка Восстановить возвращает все измененные значения параметров к значениям, задаваемым MS Excel по умолчанию. Кнопка Параметры выводит на экран окно диалога Параметры поиска решений (см. рис. 9.25). Элементы управления этого окна позволяют изменять условия и способы отыскания решения задач линейной и нелинейной оптими% зации, а также сохранять параметры как математической модели оптимиза% ционной задачи, так и процедуры Поиск решения в диапазоне рабочего листа. Значения параметров метода, уже установленные в процедуре Поиск ре шения, можно применять при решении большинства простейших задач. Од% нако по желанию эти значения можно и изменять. Назначение параметров окна диалога Параметры поиска решений опи% сано в таблице 9.1. ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

411

Рис. 9.25 1 2 3 4 5 6 2 7 89 7 123245637

829 2 5 57 232456327

1234562789

 6

92 95 226 2 2955 2   6  4 392  7 6 7

43295   95 225 92 95   226 2 6  !8 7"# !6  7 5 7896 $ 76 547 6 9  4 %56 &' ()(

*  789 54# 7 5 2$5+

92 95 226 2 2955 2  !%  6  7 6 7 # 43295   95 225  4 4 6 2295 6234562789 6 9  3 75 4 2 5 2$5+ !299  547 99  6  2 92 95   226 2 6  !8 7"!6 $ 76  7 5 7896 547 6 9  #

4 %56 &' ()(

,9 45 7892   9 48

*226  4292 75 2   456" 6  92 95 295 95+ 225  3    7 6 +  $  + 5  5 92 95 6   226 2 6  !8 7"!  !9 547 5 59  272 -. / 1 98 92 95 226 2 6 982  7559 92 95 295#  95+ 225 5   6  755 2   6 2!   $  5  5 * 6 7295" 92 95   226 2 2 9 ------/

0 456 # 37 9 95

*226  56  4647  783 7 22 $ 7 547 99   2665 #

295 156 226  6 4292 75 2 4   $ 92 6234562789

9 45 789 37 9 95  7 99 + $ 935 92 95 225 4 !4#

99    92 95 2 6 ! 78 92 95 226 2  6 298  $ 2 5  5  32%2  2! 

3 56 48

*226  56  4647  783 7 22 9 759 +9   2665

2# 95 4475 9 45 789 56 9 95 92 95 $ 7 + 593$55 225 2  47 95 8 5 2$5+ 6  2 6 98 2299  92 95 22# 6 2   79 95  $  5  5  32%2 4 92 # 95 6 226 2 6  !8 7"!  !9 547 5 59  272 -. / *5 6 98 6 92 955 226 2  $ 2 5  5 2! 2   78

659 +92 6 #  78

*226  32 2  92     2 62 222  7 4 22 + 75# 9 +9   2665

295

* 32 28  # 782 5 2# $5+

*5 !    226 2 2! 2  $  5  5 !    284 92 32  + 5 2$55 6  2 7  6 942$55  7 99  782

547 95+

412

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1 2 3 4 3 5 6 7 8 9 7 5 

123245637

829 2 5 57 232456327

1234563789 49 56

367426 79

7 249 344 665936 42473  6234563789 49 56

367426 79 7 4 7 24 6 6897 434 9 3294 437 863 

9437!639" 9 6897

7 249 344 665936  2 9 9959 6687  434 2

7 9 467897# 9 7 66 7$79 67! 46293   4279 7 9437!639"4 37

%!9 7

&4 665936 7 34#  6659342 49993 5934 4299 7 445944 47 6 7 9 977 437576!744# 6687' 66 593 59878  7  42 98  46863 834 2 4 42 344 59346 44$96 443293 3294 79#6 7 2663786  364!7 9 4344# 2 454639"4# ( !77

)64 37

&4 665936 7 34#  6659342 4 937793 5934 87  944 7((99!74267 46 4 5 *66593 27+ 77 !936" *66593 78 2 587+ 498 64 39#' ,37 5934 7593   287 97 86 3 4724 !9924# ( !77 7 ( !7#467897# 6687' 759979 499 34844 59346 !936" 498 64 39# 3993 42997 4" 94 87 6 287 97# 895 759979 5934 6 5 498 64 39#' -934 !936" 498 64 39# 9 45993  7593"  ( !7# 7597 4" 79 45493 679342' % 67877 36 4#

736!77 54$4 73" 4 4497 4!9 139 27789 4 9 2454$4 37 6"9# 94 8 97 4 34944 77$97 9

97 6687

-934 47 6

&4 665936 7 34#  6659342 4 937793 5934 4

3497 66297 47 6. 66593  38 468693 24 26 7"3442 44 59346 6 66593 3267887 2 4978  / 5934

4$9 679342' -934 4$9 679342 4 6297 593445 "3442 44 376 3993 59" 9 2 454639"4# 6537 4 4"  7 94 967 6!77 93 944754 37 287 3" 7 673" 5637! 234 47 24 !9924# ( !77 6687' %6 4 343 5934 473  59999 895 267"3442 7# 5934

0673" 54 9"

6$6379 6 4  72473 4297 44739"44 4 6 764 6 7 4547 43444 54$4 263" 7664 64894 7 36 4 9$675 66593 4694# 5639563789 4# 5497 7 4!9 139 27789 6 6395 673" 37 66593 2 4 4 7646 139

27789

14673" 54 9"

6$6379 6 4  72473 4297 4 6 7646 7 4547 43444 54$4 4673" 66593 5639563789 4# 5497 7 4 !9 139 27789 2 9 43445 76649 64894 7 36' ,36 4 6 75993  2 39 86 46 944754 4673" 9 4" 4 5639563789 7 5499# 6 445 64895 7 39' 4 9 56395637 89 6 549" 437576!744# 6687 4693  6234563789 7' 7 423445 43 2677 4 6 139 27789 66593 34# 5497 6$63  2 9593 4 6

1

После выполнения вышеописанных действий нужно нажать кнопку Вы полнить, что приведет к активизации процедуры Поиск решения — началу ее работы. На каждой итерации работы процедура Поиск решения определяет но% вый набор значений переменных задачи и пересчитывает содержимое кле% ток рабочего листа, содержащих формулы со ссылками на эти значения. В процессе решения задачи пользователь может остановить выполнение про% цедуры Поиск решения, нажав клавишу . ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

413

Выполнение процедуры Поиск решения прекращается в таких случаях: · найдено решение задачи с заданной точностью; · дальнейшее выполнение процедуры невозможно вследствие неограничен% ного увеличения или уменьшения целевой функции; · количество итераций равно заданному числу (параметр Предельное чис ло итераций в окне Параметры поиска решения); · закончилось время, выделенное для решения задачи (параметр Макси мальное время в окне Параметры поиска решения); · пользователь остановил выполнение процедуры, нажав клавишу или кнопку Остановить, если процедура выполняется с заданной опцией Показывать результаты итераций; · для задачи нелинейной оптимизации выбран параметр Линейная модель в окне Параметры поиска решения. Если найдено решение задачи, то на экран выводится окно диалога (рис. 9.26), в котором предлагается выбрать одно из трех действий: · сохранить найденные значения независимых переменных; · восстановить начальные значения независимых переменных; · сохранить результаты в виде сценария или просмотреть отчет о выполне% нии процедуры.

Рис. 9.26

Рис. 9.27

414

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Если пользователь выбирает первый вариант, то MS Excel проводит пере% счет всех формул рабочего листа согласно найденным значениям независи% мых переменных, иначе значения клеток рабочего листа остаются такими же, какими они были до запуска процедуры Поиск решения. Если пользователь выбирает вариант Сохранить сценарий..., то MS Excel сохраняет найденные значения независимых переменных и соответствую% щее значение целевой функции в виде сценария. Сценарий в MS Excel пред% ставляет собой удобный способ сравнения значений функции или несколь% ких функций для разных наборов значений независимых переменных. Для просмотра более подробной информации о результатах выполнения процедуры Поиск решения пользователь может просмотреть один из трех отчетов. Рассмотрим примеры применения процедуры Поиск решения. Пример 9.1. Решить задачу н е л и н е й н о г о программирования 3 0 1 12 3 1000 4 112 4 2 122 4 132 4 11 12 4 11 13 5 3456 6 12213 7 8 31 1 12 3 112 1 122 1 132 4 25 9 06 7 32 1 12 3 8 11 1 14 12 1 7 13 4 56 9 07

Описание математической модели задачи на рабочем листе MS Excel На рабочем листе MS Excel вводятся начальные значения переменных задачи и формулы, по которым вычисляются целевая функция и функции% ограничения задачи — конкретизируется ее математическая модель. На ри% сунке 9.27 показан вид рабочего листа (соответственно в режимах значений и формул1) для задачи примера 9.1. Начальной для итерационного процесса принимается точка x0 Î R3, каж% дая компонента которой равна 1. Переменные задачи записаны в диапазоне B2:B4, формула вычисления значений целевой функции записана в клетке, имеющей адрес B7, а формулы вычисления двух функций%ограничений за% дачи — в диапазоне B8:B9 (рис. 9.27). Инициализация процедуры Поиск решения Для того чтобы конкретизировать параметры процедуры Поиск решения, в меню Сервис следует нажать кнопку Поиск решения, после чего открывает% ся окно диалога Поиск решения. В этом окне вводятся: ссылка на клетку, в которой вычисляется значение целевой функции; ссылки на диапазон кле% ток, содержащих значения переменных задачи; а также указываются тип

1 Для переключения рабочего листа в режим формул нужно включить переключатель фор мулы вкладки Вид раздела Параметры окна диалогового окна Параметры, которое вызыва% ется выбором команды Параметры меню Сервис.

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

415

оптимизации, условия неотрицательности переменных задачи и допустимые значения ее функций%ограничений (рис. 9.28). Для ввода ссылки на клетку, содержащую значение целевой функции, или на диапазон, содержащий значения переменных задачи, помимо непо% средственного ввода их адресов с клавиатуры можно просто выделить соот% ветствующие ячейки на рабочем листе при помощи мыши. Список ограничений создается при помощи кнопок Добавить, Изменить, Удалить. После нажатия на кнопку Добавить в окне Добавление ограничения: · указывается ссылка на ячейку, содержащую значение или функции%ог% раничения, или переменной задачи, значение которой ограничено; · выбирается тип (знак) ограничения; · указывается предельно допустимое значение функции%ограничения или переменной задачи (вводится соответствующее число или адрес клетки, содержащей это число). На рисунке 9.29 показано добавление ограничения для переменной x1: x1 ³ 0.

Рис. 9.28

Рис. 9.29

416

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

После задания ограничения следует нажать на кнопку Добавить, если предполагается перейти к заданию следующего ограничения, или на кноп% ку OK, если все ограничения уже заданы. Все заданные ограничения будут представлены в списке Ограничения окна диалога Поиск ре шения. Выполнение процедуры Поиск решения проводится после нажатия на кнопку Выпол нить. На рисунке 9.30 приведен фрагмент ра% бочего листа книги MS Excel после выполне% ния процедуры Поиск решения и сохранения найденного решения задачи, а на рисун% ке 9.31 — отчет по результатам проведенных вычислений (этот отчет содержит автоматиче% ски создаваемый лист книги MS Excel Отчет Рис. 9.30 по результатам).

Рис. 9.31

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

417

Пример 9.2. Решить задачу л и н е й н о г о программирования 11 2 5 12 2 5 13 3 2 14

4 1234 4

5 6 3 5 11 2 3 12 3 4 13 2 14 7 3 10 4 6 66 3 11 2 6 12 3 2 13 3 14 8 7 4 9 11 2 4 12 2 4 13 2 3 14 7 154 6 6 2 11 2 12 2 2 13 3 6 14 8 3 114 6 11 7 3 24 5 7 12 7 14 13 7 04 14 10 56 11 2

Описание математической модели задачи на рабочем листе MS Excel На рабочем листе MS Excel вводятся исходные данные задачи и показате% ли, значения которых представляют интерес после отыскания ее решения. В данном случае это невязки — разности значений левых частей неравенств или равенств%ограничений и их допустимых значений, записанных в пра% вых частях соответствующих ограничений; по величине невязки можно су%

Рис. 9.32

418

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

дить о степени выполнения или нарушения соответствующего ограничения в полученной точке. Начальные значения неизвестных задачи линейного программирования задавать не следует (они полагаются равными 0 автома% тически), а в выбранных клетках диапазона B3:E3 будут содержаться их полученные значения. Формула вычисления значений целевой функции за% писана в клетке, имеющей адрес B16, а формулы вычисления четырех функ% ций%ограничений задачи — в диапазоне B19:B22 (рис. 9.32). Инициализация процедуры Поиск решения Чтобы конкретизировать параметры процедуры Поиск решения, в меню Сервис следует выбрать команду Поиск решения, после чего открывается окно диалога Поиск решения. В этом окне вводятся: · адрес ячейки, в которой вычисляется значение целевой функции — B16; · указывается тип оптимизации — переключатель Равной устанавливает% ся в положение максимальному значению; · в поле Изменяя ячейки вводятся ссылки на диапазон клеток, содержа% щих значения переменных задачи — B3:E3; · в поле Ограничения последовательно записываются ссылки на адреса клеток, содержащих значения функций%ограничений задачи — B19:B22, вид ограничений, значения или адреса значений их правых частей, а так% же значения или адреса значений простейших ограничений на перемен% ные (рис. 9.33). Затем в диалоговом окне Поиск решения следует нажать кнопку Пара метры. В открывшемся диалоговом окне Параметры поиска решения отмечается поле Линейная модель (значения других параметров, записан% ных в этом окне, не изменять, рис. 9.34).

Рис. 9.33

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

419

Рис. 9.34

Рис. 9.35

420

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Нажать кнопку OK. Вновь откроется окно Поиск решения, в котором теперь следует нажать кнопку Выполнить. На рисунке 9.35 приведен фрагмент рабочего листа книги MS Excel после выполнения процедуры Поиск решения и сохранения найденного решения. Вопросы и задания 1. Что понимают под итерационным алгоритмом отыскания решения задачи ма% тематического программирования? 2. Какой итерационный алгоритм называют сходящимся? Что понимают под ско% ростью сходимости алгоритма? Какие вам известны определения типов скоро% сти сходимости алгоритмов? 3. Дайте определение унимодальной функции. Приведите пример функции, не являющейся на данном отрезке унимодальной. Докажите, что у непрерывной и унимодальной на отрезке функции имеется единственная на этом отрезке точка минимума. 4. Докажите или опровергните утверждение: «Из условия существования единст% венной на отрезке точки минимума непрерывной функции следует унимодаль% ность этой функции». 5. Предложите критерий проверки наличия свойства унимодальности для непре% рывно дифференцируемой функции. 6. Предложите метод локализации на отрезке точки минимума функции, являю% щейся унимодальной и непрерывной на множестве действительных чисел. Как при этом можно учесть дифференцируемость функции? 7. Пусть отрезок числовой прямой разделен на два отрезка, имеющих общую гра% ничную точку. Если на каждом из этих двух отрезков некоторая функция уни% модальная, то является ли она унимодальной на исходном отрезке? 8. Опишите метод дихотомии (золотого сечения) и поясните смысл его параметров. 9. Опишите метод касательных. Для решения каких задач предназначен этот ме% тод? Что вам известно о характеристиках сходимости алгоритма касательных? 10. Обоснуйте сходимость алгоритма касательных отыскания на отрезке [a; b] кор% ня уравнения j(x) = 0, предполагая, что на этом отрезке функция j дважды дифференцируема, ее первая производная j¢ отрицательна, вторая производная j² положительна, j(a) > 0 и j(b) > 0. 11. Для решения каких задач предназначен метод хорд? Опишите этот метод. 12. Обоснуйте сходимость алгоритма хорд отыскания на отрезке [a; b] корня урав% нения j(x) = 0, предполагая, что на этом отрезке функция j дважды дифферен% цируема, ее первая производная j¢ отрицательна, вторая производная j² поло% жительна, j(a) > 0 и j(b) > 0. 13. Для решения каких задач предназначен алгоритм наискорейшего спуска? Опи% шите и поясните вычислительную схему этого алгоритма. Почему алгоритм на% искорейшего спуска считают концептуальным? 14. Какие утверждения вам известны о скорости сходимости алгоритмов наиско% рейшего спуска и его модификаций? 15. Пусть точка x Î R n не является стационарной точкой функции f: R n ® R (Ñf(x) ¹ 0). Докажите свойство производной по направлению f¢(x; s): 345 3 3647 18 2 4 53 648 9

112 1 1 1 22

16. Для решения каких задач предназначен метод Ньютона? Опишите и поясните вычислительные схемы этого метода. Какие вам известны привлекательные свойства метода Ньютона? В чем именно состоят сложности его практической реализации? 17. Какие утверждения вам известны о скорости сходимости алгоритмов Ньютона и его модификаций? ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

421

18. Докажите, что для квадратичной функции f, определяемой положительно оп% ределенной симметричной матрицей, при произвольном начальном приближе% нии x0 методом Ньютона на первой же итерации будет найдено единственное решение x* задачи безусловной минимизации этой функции. 19. Докажите, что для выпуклой функции направление наискорейшего спуска в про% извольной точке является вектором, противоположным решению задачи (9.55). 20. Докажите, что значение задачи безусловной минимизации функции максиму% ма (9.56) равно 0,4, а единственным решением этой задачи является точка 1 123 24 3 5125 4 6 7 21. Сформулируйте условия сходимости метода обобщенного градиентного спуска безусловной минимизации выпуклой непрерывной функции. 22. Найдите значение и решение задачи (9.61), в которой допустимое множество X определяется согласно (9.62). 23. Докажите, что для данных множества X Í Rn и заданной на X функции f и мно% жество возможных направлений, и множество возможных направлений убыва% ния функции f в точке x0 Î X являются конусами (множество K Í Rn называют конусом, если из условия s Î K следует, что ls Î K для произвольного положи% тельного числа l). 24. Докажите, что для выпуклого множества X множество возможных направле% ний в точке x0 Î X является выпуклым конусом. 25. Приведите пример заданной на Rn выпуклой функции f и такой точки x0 Î {x Î Rn: f(x) £ 0}, конус возможных направлений в которой является открытым множеством. В каких точках множества {x Î Rn: f(x) £ 0} конусы возможных на% правлений совпадают с Rn? 26. Чем вызвана необходимость ограничивать компоненты вектора s в задачах (9.66) и (9.72)? 27. Приведите пример такой задачи выпуклого программирования (9.58), в кото% рой допустимое множество X определяется согласно (9.63¢), точка x0 Î X и на% правление s Î Rn, –1 £ sj £ 1, j = 1, ..., n, таковы, что

£ 0,

28. 29.

30. 31. 32. 33. 34.

422

£ 0

" i Î I(x0),

однако точка x0 не является решением задачи (9.58), а направление s не являет% ся возможным направлением убывания в этой точке. Приведите пример такой выпуклой и непрерывной функции j одной перемен% ной, которая хотя и принимает лишь неотрицательные значения, однако у мно% жества {x Î R: j(x) £ 0} есть внутренние точки. Докажите, что у множества X º {x Î Rn: fi(x) £ 0, i = 1, ..., m}, определяемого не% прерывными и выпуклыми на Rn функциями {fi}, при выполнении условия ре% гулярности Слейтера (9.73) имеются внутренние точки. Правильным ли явля% ется утверждение, согласно которому при наличии у указанного множества X внутренних точек выполняется условие регулярности Слейтера (9.73)? Докажите теорему 9.11. Для каких задач (9.58) направление sk = xk+1 – xk, где xk+1 — решение задачи (9.77), является возможным направлением (убывания функции f0) в точке xk? Является ли решение xk+1 задачи (9.77) также решением задачи одномерной минимизации функции f0(zt), zt º xk + t(xk+1 – xk), t ³ 0, при условии, что zt Î X? Проиллюстрируйте свой ответ на рисунке. Для решения каких задач математического программирования предназначе% ны методы внешних штрафных функций? Опишите общую структуру этих методов. Для разных способов задания допустимого множества задачи математического программирования приведите примеры задания ее штрафных функций. Что следует учитывать при выборе таких функций? ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

35. При каких условиях функция 211 3 3 4 2 1 31 3 3 2 4 1 является внешней штрафной функцией для допустимого множества задачи (9.87)? Найдите значение и решение задачи 221 2 211 2 311 324

36. 37. 38. 39. 40. 41. 42.

3

567 2

для r = 0,5 и r = 2. Сравните их соответственно со значением и решением зада% чи (9.87). Поясните результаты проведенного сравнения. Для решения каких задач математического программирования предназначены методы внутренних штрафных функций? Опишите общую структуру этих ме% тодов. Приведите примеры множеств в R и R2, замыкания множеств внутренних точек которых не совпадают с этими множествами. Пусть все функции {fi} в определении множества X (9.98) выпуклы. Докажите выпуклость функций {pk} (9.100), являющихся внутренними штрафными функ% циями для множества X. Докажите, что ни у одной из задач (9.94¢), в которых функции f0(x) и pk(x) опре% делены согласно правилам (9.104) и (9.105), нет решений. Какие пакеты программ, предназначенные для решения на компьютере задач математического программирования, вам известны? Для решения какого типа задач предназначена процедура Поиск решения про% граммы MS Excel? Применяя процедуру Поиск решения MS Excel, решите задачи безусловной оп% тимизации, в постановках которых n — число неизвестных. 42.1. Минимизация функции Гильберта. 2 112 1 2 13 31 3 4 5 4 2 43 1 3

5

6783 1

где элементы {aij} матрицы A вычисляются по формулам: 423 1 1232 2 3 3 145

1

52 1 4 423 5

25 3 1 156665 15

2 1 156665 16

3 11

Решение задачи: x* = (1, ..., 1)T Î Rn. Если n = 50, то f* = 34.40860896 — значение задачи. 233 6 1 7 42.2. 5 4 4 5 8   1 42 3 442 2 62332 3 52 2 52

1

9 6789 где tj = 0.01j, j = 1, ..., 100. 4

x* = (1, ..., 1)T Î Rn, f* = 0. 31

1

3 18 5558 2 6

428

5 3 1 

423454623738 56 74546168 37 56572268 851 78

9 2 3 38 9 2 3 618 9 2 3 638 9 2 3 15

42.3. Минимизация функции Розенброка. n = 2. 1

2 31 4 3 255 1 11 4 121 2 5 12 4 12 2

1

6 6789 1

x* = (1.1)T, f* = 0, x0 = (–1.2, 1)T, f(x0) = 24.2. 42.4. Минимизация n%мерной функции Розенброка. n — произвольное натураль% ное число. 1

4 3 3 4 5 255 8 1 3 2 3 3 2132 2 6 12 3 32 2 2 41

ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

1

1

7 6789 3

423

x* = (1, ..., 1)T Î Rn, 232

4 334

2 12

41

2

1 2 1233

3 2514

f* = 0.

1 4 145554 34

4 6 2 2 7 4 835

42.5. n — натуральное число, не превосходящее 100. 123

3 3 1 32 4 32 41 2 7 9 4 738  8 454 2 9 2 51 8

где x0 º x*0 = 0, x*n+1 и для k = 0, 1, ..., n. 1 31 6 454416

9 3

123

231 41 7 231

5 454466466 1 1 4 12 6 4 4547 8 9 1 454466466 1 1 4 12

.

31234156347657489  1 2 13

4 21 2 512843935  1 2 73

64 72394988939648  1 2 832 223245677478 9 1 1 218 3 21 1 1 4 3 1 8 4 21  1 52315418 9 1 1 718 3673678 9 1 1 13 42.6. n = 4. 12

3

3 728 5 6 33 9 1 6 4 3243 1 7 36 4 3245 1 3 214 3243 121 3 264 3243 122 2

8

9 4 2

1 41

Если a = 1, то x* = (1, 1, 2, = (0.5, 0, 2.5, Если a = 1000, то x* = (1000, 1, 2000, 2)T; x0 = (500, 0, 2500, 3)T. 2)T;

x0

3)T.

f* = 0, f(x0) = 0.54402244. 42.7. n = 4. 1

1

2

2

2 5 1 6 3 1 13 4 371 1 2 4 8 1 14 5 1 2 2 4 1 1 1 5 114 2 4 37 1 13 5 1 2 2

6

x* = 0 Î R4, f* = 0. x0 = (1, ..., 1)T ÎR4, f(x0) = 122.

9 1

42.8. n = 2. 2 3 1 4 3 1 121 4 11 5 222 4 1 12 4 1 11 5 5 2 1

1

6 6789 1

2 1 3 2 1234556 53 1 1 6 749 5 8 1 749

8 7 21 6 82  6   9245491 

x0 = (1, 1)T, f(x0) = 106. 42.9. n = 2. 1

2 3 1 4 3 1 121 4 2111 5 22 4 1 56121 4 561 11 4 75 12 4 1815 1 1 5 9722

1

6 1

0.279376)T,

x* = (0.284769, f* = 5.92256722. 0 T 0 x = (1, 1) , f(x ) = 3.33076900×106. 43. Применяя процедуру Поиск решения MS Excel, решите задачи условной опти% мизации. В постановках этих задач n — число неизвестных, m — число функ% циональных ограничений. 43.1. n = 10, m = 0.

424

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1

123 6 1 7 1 8 9 41 5 3 6  378 3 1 3 2 32 78 3 141 3 2 24   3 2   2 54  2 54  9 3 114  3  2 2 5 4 2 2 12

2 32 2 11

9 82 3

— произведение чисел x1, ..., xn.

x*k = 9.35026, k = 1, ..., 10, f* = –45.7784697.

221 1 2 31 1 341125

2 11 1 15

1 1 65 4445 75

1 1 747775 221

31 8 2 1 9 1 2 47 2 6234

43.2. n = 5, m = 10. 1 1 1 1 2 1 6 52 4 4 5 3 6 2 4 2 4

732 43 4 2 4 8 2 4 2 5 6789 4 2 3 2 2 1 1 1 1 3 3 3 3 6 66 1 8 932 4 2 7 3 9 3 1 39

9329 6 2 13 6 4 2 7 29 2 1 39

9

6 69 В таблице 9.2 приведены значения {ej}, {cij}, {dj}, {aij}, {bj}.

x*= (0.3, 0.333468,

0.4,

2 11 1 13

0.42831, 0.223965)T, 1 1 43 5553 63

221 1 43

f* = –32.348678998.

31 7 2 1 8 1 915

43.3. n = 2, m = 1. 3 22 5 1 6 4 278 1 13 5 1 1 21 5 825 1 1 6 13 61 5 9 1 5 13 5 1 1 6 7 8 1 9 8 1 13 6 321 5 1 1 1 6 321 5 1 14 6 321 3 87

x* = (0.229014, 0.229014)T, f* = 0.300419026. x0 = (–1, 4)T — недопустимая в задаче точка. 43.4. n = 11, m = 5. 34 31 3 1 4 1 122 2 5678 1 5 4 32 3 1 4 1 6 48 52 4 7 8 6 62 8 4 7 8 122 9 18 2 289998 8 где y º (x1, ..., x10)T; Ai — симметричная матрица 10´10 с элементами {aijk}, вычисляемыми по формулам:

aikj = ek/jcos(kj) sini, k < j,

4122 1 2 567 1 814 3

4

3 1123332142 3 22

321 1 4 2 1 1 23451 2 67

4123 2

2 2 3 1 12 3332142

2 1 8799978 7

1 1 879997 9

x* = (–1.26257×10–1, –3.43781×10–2, –6.85720×10–3, 2.63607×10–2, 6.72950×10–2, –2.78399×10–1, 7.42187×10–2, 1.38524×10–1, 8.40313×10–2, 3.85803×10–2, –8.41408×10–1)T, f* = –0.841408334596. x0 = (1, ..., 1)T Î R11 — недопустимая в задаче точка. ГЛАВА 9. ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ

425

1 2 3 4 5 6 2 7 89 7 12

1 1

12

32

2341

2561

42

2781

52

62

2391

2351

1

1

91

3 1

81

51

3 1

7 1

25 1

23 1

751

23 1

5 1

25 1

7 1

281

2731

751

7 1

23 1

281

3 1

281

23 1

 1

751

2731

281

7 1

25 1

4 1

23 1

751

23 1

25 1

7 1

3 1

2381

51

1

31

1

5 1

1

251

1

1

51

7 1

27 41

1

51

1

1

 1

1

251

1

2 1

231

4 1

1

2 1

251

31

25 91

8 1

51

1

2 1

1

1

6 1

231

231

231

231

231

9 1

231

251

271

251

231

 1

31

51

71

1

41

3 1

31

31

31

31

31

1

1

1

1

1

1

1

1

1

1

31

51

71

 1

41

81

61

91

 1

3 1

2 1

251

2 541

2 1

2 1

231

2 1

28 1

41

31

1 2 3 4 5 6 2 7 89 7 123456789

12

32



 2 9

12

32

42

352

112

52

62

72

2 

1 2 3 4 5 6 2 7 89 7 12345678

8

8

 8 568

7

12

32

13332

9 48

1112

62

52

82

7

12

42

15332

192

32

52

562

7

12

12

14332

2

42

32

2

678792

332

332

2

1

1 44. Составьте математические модели задач и, применив процедуру Поиск реше ния MS Excel, найдите их значения и решения. 44.1. На предприятии может быть изготовлена продукция двух видов: А и В. Для этого используется сырье четырех типов. Расходы каждого типа сы% рья на изготовление единицы продукции, запасы этого сырья, имеющие% ся на предприятии, и получаемая прибыль от продажи единицы продук% ции приведены в таблице 9.3. Определите объемы изготовления продукции каждого вида, общая при% быль предприятия после продажи которой наибольшая. 44.2. Для изготовления на заводе двух типов изделий используется сталь трех марок: A, B и C. Имеющиеся запасы этой стали, ее удельные расходы при производстве изделий, а также рыночные цены единицы каждого изде% лия приведены в таблице 9.4. Сколько изделий каждого вида следует изготовить, чтобы после их прода% жи предприятие получило бы максимальный доход?

426

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ГЛАВА

ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

В

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

10.1. СТАТИСТИЧЕСКАЯ ОСНОВА МОДЕЛИРОВАНИЯ ЭКОНОМИКИ Моделирование социально%экономических процессов главным образом основано на данных наблюдений за этими процессами. При этом необходимо отметить, что в отличие от других методов научного познания при исследовании социально%экономических систем п р и н ц и п и а л ь н о н е л ь з я поставить, ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

427

а тем более воспроизвести эксперименты, которые подтвердили бы или, напро% тив, опровергли некоторые утверждения, были бы их своеобразным эмпири% ческим обоснованием. В связи с этим достаточно привести такие соображения. Известно, что общее состояние любой страны можно охарактеризовать сравнительно небольшим количеством макроэкономических и социальных показателей. Значения этих показателей и их динамика определяются зако% нами, принятыми как на национальном, так и на международном уровне, и регламентирующими поведение субъектов экономической деятельности. Од% нако, учитывая огромное количество таких законов и отсутствие явных зави% симостей между ними и соответствующими показателями, исследование коли% чественного и качественного влияния этих законов на те или другие социаль% но%экономические показатели не всегда возможно до их принятия. Причиной этого является, например, то, что «жизнь всегда людей чему%то учит», обу% словливает их более%менее активную обратную реакцию, делает невозможным воссоздание во всей полноте условий «предыдущих экспериментов». Обычно при наблюдении за некоторым, для определенности, экономиче% ским процессом с целью построения его математической модели предполага% ется возможным измерять значения отдельных характеристик (показате% лей) этого процесса. При этом полученные числовые данные принято разде% лять на два типа: динамические и вариационные. Динамические и вариационные ряды, их характеристики Динамический ряд — это последовательность числовых значений неко% торого показателя экономического процесса, вычисленных по единой мето% дике на основе первичных данных о процессе, собранных через равноудален% ные промежутки времени, и имеющих одну и ту же единицу измерения. Пусть xi — значение некоторого показателя экономического процесса в i%й момент времени. Все значения {xi} этого показателя, вычисленные через n равноудаленных промежутков времени с обязательным соблюдением отме% ченных выше условий, составляют динамический ряд x1, x2, ..., xi, ..., xn.

(10.1)

Значения xi называют i%м уровнем динамического ряда (10.1). Следует отметить, что все уровни динамического ряда должны быть та% кими, чтобы их можно было сравнивать между собой. Например, если речь идет о показателе валового национального продукта (ВНП) страны, то, во%пер% вых, все уровни соответствующего динамического ряда должны иметь одну и ту же единицу измерения (рубль, евро, доллар и т. п.), а во%вторых, учитывать возможную изменяемость этой единицы со временем («покупательную спо% собность» принятой денежной единицы). Только при таких условиях имеют смысл следующие числовые характеристики динамического ряда. Среднее арифметическое x характеризует среднее значение уровней {xi} динамического ряда (10.1) и вычисляется по формуле

x3

428

x1 2 x2 2 ... 2 xn 1 n 3 4 xi . n n i11

(10.2)

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Средние арифметические используют, например, для сравнения «в це% лом» нескольких динамических рядов (средние годовые заработные платы работников в разных регионах страны и/или отраслях экономики). Для характеризации изменения динамического ряда и скорости этого изменения в среднем используют средний абсолютный прирост и средние коэффициенты роста и прироста. Средний абсолютный прирост 1x характеризует величину изменения конечного уровня xn динамического ряда относительно его начального уров% ня x1 и вычисляется по формуле 2x 3

xn 1 x1 . n 11

Средний коэффициент роста kр и средний коэффициент прироста kпр характеризуют среднюю скорость (темп) изменения значений уровней дина% мического ряда и вычисляются по формулам: 1/(n 31)

kр 4 1 xn / x1 2

kпр 4 1 kр 2

n 31

4 n31 xn / x1 ,

(10.3) 3 1.

Интерпретировать средние коэффициенты роста и прироста можно, на% пример, следующим образом. Пусть все последовательные уровни {xi} динамического ряда (10.1) для некоторого положительного параметра d связаны соотношением xi+1 = d×xi,

i = 1, ..., n – 1

(в каждый последующий момент времени вычисляемое значение некоторого показателя экономического процесса увеличивается в d раз по сравнению со значением этого показателя в предыдущий момент времени). Тогда через n вычислений значений этого показателя должно выполняться равенство xn = dn–1×x1 и поэтому

4 5 1 xn / x1 2

1/(n 31)

6 n31 xn / x1 .

Полученное значение d и принимают за средний коэффициент роста kр . Разность между xn и x1 равна

1

xn 3 x1 4 x1 1 5n31 3 1 2 4 x1 kр

n 31

2

31 ,

что, в свою очередь, объясняет природу определения (10.3). Средними темпами роста и прироста называются соответственно вели% чины 21 1 31 21223 и 312 1 412 212234 Отклонение от среднего уровня динамического ряда (10.1) характеризу% ет дисперсия, которую принято обозначать 12x :

42x 5

n

1 1 xi 6 x 22 . n7 i 31

ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

(10.4)

429

Легко доказать, что дисперсию 12x также можно вычислять по формуле

22x 1

n

1 xi2 3 x 2 . n4 i 11

(10.4¢)

Действительно, учитывая определение (10.2), имеем 212 3 1

1

1

1

1

2 2 323 4 241 1 6 3231 4 123 2 5 2 1 4 1 12 6 231 4 11 2 6 23 5 2 1 1 16 1 3 12 3 12 3 12 3 12 1

1

2 2 231 4 12 1 5 2 1 1 6 231 4 2 1 5 16 1 3 12 3 12

Очевидно отличие в трудоемкости вычисления дисперсии по формулам (10.4) и (10.4¢): согласно формуле (10.4) нужно подсчитывать n разностей xi 1 x, что вызовет дополнительные потери времени и, кроме того, привнесет в конечный результат неизбежные ошибки округления. Средним квадратичным отклонением называют величину sx — квад% ратный корень из дисперсии 12x . Для измерения степени колебания (в процентах) уровней динамического ряда применяют коэффициент вариации

22

11 312234 1

Вариационный ряд — это последовательность числовых значений некото% рой характеристики (признака, показателя), присущей к а ж д о м у объекту из заданной совокупности исследуемых объектов. Примеры вариационных рядов: · произвольным образом упорядоченная совокупность чисел, каждое из которых выражает возраст студента среди студентов одного курса неко% торого учебного заведения; · количество трудоспособного населения в заданных регионах страны; · значения средней заработной платы работников в разных отраслях про% мышленности и т. п. Таким образом, вариационный ряд является некоторым обобщением по% нятия динамического ряда. Пусть последовательность (10.1) является вариационным рядом. Число, находящееся на i%м месте этой последовательности, называют i%й вариантой. Если все варианты {xi} упорядочить по возрастанию или убыванию их значений, то будет получен ранжированный вариационный ряд. Натуральные числа, выражающие то, сколько раз (как часто) отдельные значения вариант встречаются в вариационном ряду, называют частотами вариант. В некоторых случаях применение частот вариант позволяет задавать ва% риационный ряд в удобной и экономной форме, а также существенно сокра% щать вычислительные затраты, связанные с характеризацией его свойств. Действительно, пусть в с е варианты {xi} принимают k различных значе% ний {yj} и nj — количество вариант, которые принимают значение yj, j = 1, ..., k. 430

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Очевидно выполнение равенства k

n 1 2 nj , j 11

а всю информацию о вариационном ряде {xi} (10.1) содержат два массива чисел: y1, y2, ..., yk, n1, n2, ..., nk. Общее количество чисел в этих массивах равно 2k и может быть сущест% венно меньшим, чем n. Построение указанных массивов чисел {yj} и {nj} требует выполнения со% ответствующей работы — первичной обработки собранных данных {xi}. Вариационный ряд имеет те же статистические характеристики, что и указанные характеристики динамического ряда. Среднее арифметическое x вариационного ряда вычисляется по форму% ле (10.2), а при известных частотах {nj} значений его вариант — x1

k

1 nj yj . n2 j 11

(10.5)

Дисперсия 12x вычисляется по любой из формул (10.4), (10.4¢) или 42x 3

k

k

2 1 1 nj 1 yj 5 x 2 3 6 nj y2j 5 x 2 . n6 n j 31 j 31

(10.6)

Границы значений вариант {xi} определяют их наименьшее и наибольшее значения. Разность между этими значениями называют размахом вариаци онного ряда. Модой вариационного ряда называют наиболее часто встречаемое значе% ние его варианты. То есть мода — это такое значение yj1 из {yj}, которому соответствует наибольшее значение nj1 из {nj}. Разумеется, у вариационного ряда может быть несколько мод. Метрика Каждый i%й уровень (каждую i%ю варианту) xi динамического (вариаци% онного) ряда (10.1) можно интерпретировать как i%ю компоненту вектора x 1 x1 2 n%мерного евклидова пространства Rn — x 5 3 1 4. 3x 4 6 n7 n В пространстве R разными способами можно ввести метрику — некото% рое правило сопоставления любым двум точкам (векторам) x, y Î Rn действи% тельного числа r(x, y). В частности, назначение метрики состоит в формали% зации такого понятия, как «близость» или «отдаленность» точек: точки x, y Î Rn считают «близкими» (близко расположенными одна от другой), если значение функции r(x, y) не превосходит заданное положительное число e. Напротив, если r(x, y) > e, то эти точки считают «удаленными» друг от друга ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

431

(«существенно удаленными», если значение r(x, y) «существенно» превосхо% дит e). Итак, метрику пространства Rn можно интерпретировать как некото% рую количественную меру «близости» или «отличия» между любыми его точками. По определению метрике пространства присущи такие свойства: 1) r(x, y) ³ 0 для произвольных x и y из Rn, причем r(x, y) = 0 тогда и толь% ко тогда, когда x = y (свойство неотрицательности); 2) r(x, y) = r(y, x) для произвольных x и y из Rn (свойство симметрич ности); 3) r(x, y) £ r(x, z) + r(z, y) для произвольных x, y и z из Rn (неравенство треугольника). Метрику в Rn можно конкретизировать по%разному. Примеры таких мет% рик приведены в разделе 2.2.1 (см. формулы (10.20), (10.24) и (10.25)). Не% которым их обобщением являются такие метрики. Пусть задан вектор a Î Rn, имеющий т о л ь к о положительные компо% ненты a1, ..., an. Можно доказать, что каждое из правил сопоставления про% извольным векторам x, y Î Rn или числа 32 (x, y) 4 512 1 x1 6 y1 2 7 ... 7 52n 1 xn 6 yn 2 ,

(10.7)

r1(x, y) º a1|x1 – y1| + ... + an|xn – yn|,

(10.8)

31 (x, y) 4 max 5i xi 6 yi

(10.9)

2

2

или или 12i2n

обладает свойствам 1–3 метрики и является обобщением классических мет% рик, соответственно евклидовой, манхэттенской и чебышевской. Выбор значений {ai} в любой из формул (10.7)–(10.9) обычно проводят из таких соображений: более значимым, по мнению исследователя, компонен% там {xi} точки x пространства Rn ставятся в соответствие б о´ л ь ш и е компо% ненты {ai} вектора a. На рисунках 10.1–10.3 дана геометрическая иллюстрация введенных метрик. На этих рисунках изображены множества {x Î R2: r(x, 0) = 1} — точ% ки двумерного евклидова пространства, находящиеся на единичном расстоя% нии от начала координат — точки 0. При этом сплошной линией обозначены точки для случая, когда a1 = a2 = 1 (все компоненты точек R2 равнозначны), а прерывистой линией обозначены точки для случая, когда a1 = 0,5, a2 = 1

Рис. 10.1

432

Рис. 10.2

Рис. 10.3

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

(вторые компоненты векторов предполагаются вдвое более значимыми, чем первые). Итак, некоторая мера отличия между двумя динамическими или вариа% ционными рядами x1, ..., xn и y1, ..., yn, имеющими одинаковые количества n элементов, может быть задана выбранной в Rn метрикой.

10.2. ПРОИЗВОДСТВЕННАЯ ФУНКЦИЯ Поиск приемлемых способов влияния на современные экономические процессы не представляется возможным без разработки и согласования меж% ду собой математических моделей субъектов этих процессов, в частности, раз% ного рода производственных предприятий и/или их некоторых объединений. Самой общей характеристикой любой производственной системы (отдель% ного производственного предприятия, отрасли промышленности и т. п.) яв% ляется имеющаяся зависимость между количествами произведенной в этой системе продукции и затраченными для этого некоторыми ресурсами. Эту зависимость, соответствующим образом конкретизированную, называют про изводственной функцией. Количество продукции, произведенной в производственной системе, за% висит от многих факторов, среди которых особо выделяют израсходованные ресурсы, а остальные факторы относят к таким, которые характеризуют «условия труда и состояние внешней среды» — принятую технологию про% изводства, действующую налоговую политику и т. п. Для некоторого упрощения описываемой далее модели предполагается, что производится продукт лишь одного вида в количестве y единиц, а расхо% дуются при этом m типов ресурсов в количествах xj, j = 1, ..., m, единиц (j%я компонента xj вектора x обозначает количество израсходованного ресурса j%го типа). Например, y — это денежное выражение общего количества продук% ции, производимой в заданной отрасли промышленности, x1 — количество потраченной электроэнергии, x2 и x3 — соответственно количество основ% ных и оборотных фондов отрасли, x4 — количество амортизационных отчис% лений отрасли и т. п. Итак, неизменные «условия труда и состояние внешней среды» (e = 0) определяют некоторую зависимость между x и y — производственную функ цию f этой системы: y = f(x). Схематическая иллюстрация модели абстрактной социально%экономиче% ской системы представлена на рисунке 10.4.

Рис. 10.4

ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

433

Знать производственную функцию полезно по крайней мере по таким двум причинам. Во%первых, при известном количестве ресурсов x, «потреб% ляемых» системой, можно подсчитать количество y выработанной в этой системе продукции. И, во%вторых, при заданном желаемом количестве y0 вы% работанной продукции любое решение x уравнения y0 = f(x) конкретизирует количество необходимых для этого ресурсов. Разумеется, чтобы как можно точнее построить производственную функ% цию, следует учесть и конкретизировать в с е многочисленные внутренние и внешние связи системы. Однако обычно сделать это невозможно, даже если система состоит из сравнительно небольшого количества «элементарных про% изводственных подсистем». Другой подход к построению производственной функции включает на% блюдение в течение некоторого времени за производственной системой, на протяжении которого сохраняются неизменными «условия труда и состоя% ние внешней среды». При таком наблюдении предполагается проводить сбор информации о количествах произведенной продукции и израсходованных при этом ресурсах. Далее полученные данные используются для построе% ния «приближенной» производственной функции, которую также называют эмпирической производственной функцией. Способ построения этой функ% ции состоит в следующем. Пусть i%е наблюдение за производственной системой показало, что для изготовления yi единиц продукции потребовалось израсходовать в этой сис% теме ресурсы, количества которых конкретизируются компонентами векто% ра xi, т. е. yi = f(xi), i = 1, ..., n. Если бы производственной функцией исследуемой системы была неко% торая известная функция j, то при расходах ресурсов xi можно было бы получить 211 2 11 31 2 единиц продукции, произведенной в этой системе. Различие между ф а к т и ч е с к и м yi и г и п о т е т и ч е с к и м yi1 объемами производства некоторым образом характеризуют величину отклонения между функциями f и j. Разумеется, значение этого отклонения (погрешность, обусловленную заменой функции f на функцию j) естественно определять по данным в с е х наблюдений {(xi, yi)}, i = 1, ..., n. Величину отклонения между j и f естественно определить как расстоя% ние r(y, yj) между точками y и yj пространства Rn, где i%я компонента yi век% тора y выражает ф а к т и ч е с к и й объем произведенной продукции, для чего потребовалось xi ресурсов (j%я компонента xji вектора xi выражает коли% чество израсходованного j%го ресурса, j = 1, ..., m), 211 2 11 31 23 i = 1, ..., n. Итак, по определению, величина r(y, yj) является некоторой количест% венной мерой отклонения функции j от f. Поскольку точка y в пространстве Rn зафиксирована (ее компоненты определяются данными наблюдений), то понятное намерение сделать указанное отклонение как можно более малым может быть осуществлено только варьированием местоположения точки yj, т. е. соответствующим выбором функции j из некоторого заданного множе% ства функций Ф. Поиск такой наилучшей функции j* состоит в отыскании решения задачи 4( y, y 1 ) 5 inf (10.10) 123

434

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

— среди функций множества Ф найти такую функцию j*, для которой значе% ние 3( y, y 21 ) не превосходит значения r(y, yj) ни для одной функции j из множества Ф — является наименьшим среди всех возможных значений {r(y, yj)}. Указанное решение j* задачи (10.10) и принимается в качестве эмпири ческой производственной функции. Итак, построение эмпирической производственной функции j* предпо% лагает выполнение следующих четырех этапов: · собрать данные {(xi, yi)}, i = 1, ..., n; · выбрать множество функций Ф; · выбрать метрику r; · найти решение j* задачи (10.10). Выполнение каждого из указанных этапов предполагает привлечение к работе специалистов соответствующего профиля: экономистов%статистиков, экономистов%аналитиков, математиков. Следует отметить, что каждая функция множества F должна п р а в и л ь н о отражать имеющиеся зависимости между факторами исследуемой социаль% но%экономической системы. Например, достаточно распространены ситуации, когда только изменения количеств потребляемых системой некоторых ресурсов н и к а к н е с к а з ы в а е т с я на количестве производимой продукции — отсутствует возможность взаимного замещения ресурсов, существенное зна% чение имеет также их расходование в некоторых согласованных количест% вах. Соответствующие производственные функции называют производст венными функциями леонтьевского типа и они могут быть, в частности, такими: j(x) = min{a1x1, ..., amxm}, где x1, ..., xm — количества потребляемых в системе не взаимозаменяемых ресурсов m видов; a1, ..., am — фиксированные положительные параметры; j(x) — количество произведенной продукции. Интересный пример функциональной зависимости леонтьевского типа приведен на с. 89 книги А. К. Сухотина1: « ...в науке. Чтобы достичь качест% венного удвоения знаний (открыть новые законы, принципы, создать эф% фективные теории), необходимо количество информации, на базе которой это возможно, увеличить в 8 раз, число ученых — в 16 раз, а ассигнование на науку — в 32 раза». То есть если y — количество полученных знаний, x1 — количество информации, x2 — количество ученых, x3 — ассигнования на науку, то x x x y 3 min 1 , 2 , 3 . 4 8 16 Рассмотрим несколько методов построения эмпирической производствен% ной функции.

1

2

1

Сухотин А. К. Парадоксы науки. — М.: Молодая гвардия, 1980. — 240 с. Сухотин Анатолий Константинович (род. 1922) — российский философ, специалист по ме% тодологии науки и научному творчеству.

ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

435

Метод наименьших квадратов В этом классическом методе в качестве метрики пространства Rn прини% мают евклидову метрику r2, в определении (10.7) которой все ai полагают равными 1. Кроме того, так как решения задач (10.10) и 32 ( y, y 1 ) 4 inf

(10.10¢)

12O

совпадают (поскольку значение r(y, yj) неотрицательно при любом yj), то в методе наименьших квадратов (МНК) рассматривается более «удобная» за% дача (10.10¢) — 422 ( y, y1 ) 5 inf, 123

развернутая запись которой имеет вид n

9 1 yi 7 3(xi )2

2

8 inf.

(10.11)

345

i 61

Если, например, множество функций F составляют лишь линейные функ ции j(x) = + a0, в определении которых все компоненты векторов a и свободные члены a0 неотрицательны, задача (10.11) принимает вид задачи математического программирования (ЗМП): n

9 1 yi 5 6 a, xi 7 5 a0 2

2

i 41

8

min

a0 , a1 ,..., am 3 0

.

(10.11¢)

У этой задачи всегда есть решение a*, a0*, которое и определяет эмпири% ческую (линейную) производственную функцию j*(x) º + a0*. В связи с этим необходимо отметить следующее. Производственная система может быть такой, что если в ней не потреб% ляются никакие ресурсы, то и никакая продукция в системе не производит% ся: нет ресурсов — нет и произведенного продукта. Формально это означает, что для такой системы каждая функция j из множества F должна быть та% кой, что j(0) = 0 (для линейной функции j это условие состоит в том, что a0 = 0). Однако и потребление ресурсов в количествах, меньших некоторых п о р о г о в ы х значений, может быть принципиально невозможным, поскольку иначе это приведет к разрушению (банкротству, гибели) системы. Такого рода особенности производственных систем следует всегда учи% тывать. Для таких систем поиск эмпирических производственных функций проводят среди таких, например, линейных функций, для которых a0 ³ amin, где amin — известное наименьшее допустимое значение a0. Метод робастного оценивания В этом методе в качестве метрики пространства Rn принимают манхэт% тенскую метрику r1, в определении (10.8) которой все ai полагают равными 1. Тогда задача (10.10) принимает вид n

7 yi 5 1(x i 41

436

i

) 6 inf,

(10.12)

1 23

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

а если множество F составляют линейные функции из предыдущего при% мера, то n

7 yi 3 4 a, x

i

5 3 a0

6

i 21

min

a0 , a1 ,..., am 1 0

.

(10.12¢)

Одно из соображений о целесообразности применения метода робастного оценивания, предложенного в 1964 г. П. Хубером1, состоит в том, что в этом методе погрешности в определении значений {yi} (компонент вектора y) не так сильно, как в МНК влияют на решение соответствующей задачи (10.16). Поэтому и полученная с применением этого метода эмпирическая производ% ственная функция более точно характеризует реальные свойства производ% ственного процесса.

10.3. КЛАССИЧЕСКАЯ МОДЕЛЬ ЛИНЕЙНОЙ РЕГРЕССИИ Описанные в предыдущем разделе способы построения (эмпирической) производственной функции определяют самый общий методологический инструментарий регрессионного анализа — совокупность приемов оты% скания неизвестных функциональных зависимостей по данным наблю% дений. Специальным образом формализованную гипотезу, касающуюся сущест% вующей количественной зависимости между данными наблюдений, называ% ют моделью регрессии. В ее разработке принимают участие специалисты ис% следуемого явления и, разумеется, математики. Типичные вопросы анализа модели регрессии будут проиллюстрированы сначала на простейшем примере установления функциональной зависимо% сти между значениями д в у х показателей. 10.3.1. ДВУХФАКТОРНАЯ РЕГРЕССИЯ

Модель двухфакторной линейной регрессии имеет вид y = a1x + a0,

(10.13)

где y — значение зависимой переменной (регрессант); x — значение незави% симой переменной (регрессор); a0, a1 — неизвестные параметры регрессион% ной модели. В обозначениях, введенных в разделе 10.2, класс функций F составляют функции, каждая из которых определяется формулой (10.13) и парой число% вых параметров a0 и a1. Пусть известны данные наблюдений (x1, y1), (x2, y2), ..., (xn, yn).

1

Питер Хубер (Хьюбер, Peter J. Huber, род. 1934) — швейцарский статистик.

ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

437

В методе наименьших квадратов (10.11) выбор значений параметров a0 и a1 состоит в отыскании решения a* = (a0*, a1*) задачи выпуклого квадратич% ного программирования n

F (a) 4 7 1 yi 5 a1xi 5 a0 2

2

6 min

(10.14)

a

i 31

(легко доказать, что у этой задачи всегда есть решение). Решение задачи (10.14) является стационарной точкой функции F и по% этому для его отыскания нужно решить (относительно a0 и a1) систему ли% нейных алгебраических уравнений: n 4F ( a ) 3 526 xi 1 yi 5 a1xi 5 a0 2 3 0, 4a1 i 31

(10.15)

n 4F ( a ) 3 526 1 yi 5 a1xi 5 a0 2 3 0. 4ao i 31

(10.16)

Из уравнения (10.15) следует, что n

n

n

i 11

i 11

i 11

n

n

n

i 11

i 11

i 11

3 xi yi 2 a1 3 xi2 2 a0 3 xi 1 0,

(10.17)

а из (10.16) —

3 yi 2 a1 3 xi 2 a0 31 1 0.

(10.18)

После деления обеих частей равенства (10.18) на n и обозначнения 32

1

1 32 1 13 2 11

42

1

1 42 13 2 11

(10.19)

— средние арифметические наблюденных значений соответственно регрес% сора x и регрессанта y, это равенство примет вид y 1 a1x 2 a0 .

(10.18¢)

Поскольку a0 1 y 2 a1x, равенство (10.17) преобразуется к виду n

n

i 11

i 11

2

n

n

3

i 11

8

9 xi yi 4 y 9 xi 1 a1 5 9 xi2 4 x 9 xi 6. 7 i 11

(10.20)

После деления обеих частей этого равенства на n, ввиду (10.19) и (10.4¢), имеем 1 1 21 1 3 21 1 3 1 1 32 42 4 34 1 51 6 322 4 3 32 7 1 51 6 322 4 3 2 7 1 51523 1

1 2 11 1 2 11 9 8 1 2 11 8 1 2 11 9

где 12x — дисперсия значений {xi}. 438

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Нетрудно убедиться в выполнении равенства n

n

1 1 xi yi 4 xy 3 5 1 xi 4 x 21 yi 4 y 2, n5 n i 31 i 31

(10.21)

значение правой части которого называют ковариацией переменных x и y и обозначают cov(x, y). Итак, по определению, cov(x, y) 4

n

1 1 xi 5 x 21 yi 5 y 2 n6 i 31

(10.22)

или, в силу (10.21), cov(x, y) 1

n

1 xi yi 2 xy. n3 i 11

Значит, параметр a1 регрессионной модели (10.13) связан с ковариацией cov(x, y) переменных x и y и дисперсией 12x переменной x соотношением cov(x, y) 1 a122x .

(10.20¢)

Рассмотрим теперь два возможных случая значения дисперсии 12x . Пусть сначала 12x 2 0. Из определения дисперсии это возможно тогда и только тогда, когда значения {xi} не отличаются между собой и поэтому x 1 xi

2 i 1 1,..., n.

Однако в таком случае согласно определению (10.22) и ковариация cov(x, y) также равна нулю. Поэтому требование (10.15) не налагает никаких ограни% чений на соотношения между параметрами a0 и a1. Итак, если 12x 2 0, то любые значения a0 и a1, удовлетворяющие равенст% ву (10.18¢), доставляют минимальное значение n

n

F3 5 8 1 yi 6 a1x 6 a0 2 4 8 1 yi 6 y 2 4 n72y 2

i 41

2

i 41

целевой функции F(a) задачи (10.14);

42y 5

n

n

1 1 yi 6 y 22 3 n1 7 yi2 6 y 2 n7 i 31 i 31

— дисперсия значений {yi}. Пусть теперь 121 2 01 Тогда из равенства (10.20¢) следует, что 31 1

3456 17 28 7 221

(10.23)

а из равенства (10.18¢) — a0 1 y 2

cov(x, y) x. 32x

(10.24)

Значит, при ненулевой дисперсии 12x переменной x имеется е д и н с т % в е н н о е решение задачи (10.14), вычисляемое по формулам (10.23) и (10.24). ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

439

Если обе дисперсии 12x и 12y ненулевые, то после подстановки в целевую функцию задачи (10.14) ее решения (параметров a1 и a0, вычисленных по формулам (10.23) и (10.24)) после несложных преобразований имеем

4 cov2 (x, y) 5 2 7 n82 11 9 R 2 2, F3 6 F (a) 7 n82y 1 9 7 n82y 11 9 ryx 2 y 82x 82y )

(10.25)

где числа

312 1 и

123425 16 2221

2 2 R 2 1 ryx

(10.26)

cov2 (x, y) 32x 32y

называют соответственно коэффициентом корреляции и коэффициентом детерминации показателей x и y по данным наблюдений {xi} и {yi}. К о э ф ф и ц и е н т к о р р е л я ц и и, в отличие от ковариации перемен% ных, является уже не абсолютной, а о т н о с и т е л ь н о й м е р о й с в я з и между двумя показателями. Поскольку ввиду определений дисперсии и ковариации n

ryx 3

5 1 xi 4 x 21 yi 4 y 2 i 31

n

n

,

(10.26¢)

5 1xi 4 x 2 5 1 yi 4 y 2 i 31

2

2

i 31

и поэтому всегда выполняются неравенства –1 £ rxy £ 1. Если абсолютная величина коэффициента корреляции «мало отличает% ся» от 1, то это указывает на наличие «сильной» линейной связи (10.13) ме% жду показателями («мера наличия» именно такой связи велика); иначе, т. е. когда абсолютная величина коэффициента корреляции «мало отличается» от 0, считается, что зависимости вида (10.13) между показателями нет. Та% кое толкование связи между показателями обусловлено соответствующей зависимостью значения F* задачи (10.14) от rxy: если абсолютная величина |rxy| приближается к 1, то F* приближается к 0 (линейная зависимость (10.13) приближается к «идеальной», «безошибочной»), а если ryx приближается к 0, то F* приближается к увеличенной в n раз дисперсии 12y и совсем не зави% сит от свойств значений {xi} (см. соотношение (10.25)). Итак, количественная мера связи между показателями x и y определяет% ся по данным наблюдений {xi} и {yi} значением коэффициента корреляции ryx. Этот коэффициент вычисляется только при положительных значениях дисперсий 12x и 12y . Коэффициент корреляции является некоторой мерой качества линейной замены (10.13) показателя y показателем x (ввиду интер% претации задачи (10.14) — наилучшей линейной заменой). Очевидно, что значения коэффициента детерминации R2 всегда неотри% цательны и не превосходят единицу (0 £ R2 £ 1). Чем ближе к 1 этот коэффи% 440

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

циент, тем лучше линейная зависимость (10.13) с параметрами a1 и a0, вы% численными по формулам (10.23) и (10.24), выражает связь между показа% телями x и y. Наоборот, близость к 0 коэффициента детерминации R2 указы% вает на отсутствие связи вида (10.13) между этими показателями. 10.3.2. МНОГОФАКТОРНАЯ РЕГРЕССИЯ

Значения показателей экономических процессов и явлений обычно обу% словлены влиянием многих самых разных факторов. Их выявление и оцени% вание характера и степени воздействия составляет основную задачу модели% рования. Рассмотрим два примера. Первый пример. Экономическая активность населения любой страны обусловлена: действующей налоговой системой (величинами налоговых отчислений от доходов предпринимательской деятельности, акцизными сборами, отчислениями в пенсионный и другие фонды), имеющимися фор% мами собственности и их пропорциями, принятой политикой распределения расходной части государственного бюджета между регионами и бюджетными учреждениями, учетной ставкой банков и условиями предоставления кредитов и т. п. Поэтому на значение валового внутреннего (или национального) про% дукта — производной экономической активности населения — существенно влияет не один десяток факторов. Второй пример. Представляется очевидным, что на количество совершен% ных в стране преступлений влияют: часть валового внутреннего продукта, приходящаяся на душу населения, общая численность населения, прожи% точный минимум или некоторый его аналог, размер минимальной и средней заработной платы, уровень безработицы, вид и объем помощи безработным, уровень образованности населения (процент людей, имеющих высшее и/или среднее специальное образование), обеспеченность жильем, ежегодный объ% ем продажи алкогольных напитков и т. п. В отличие от простой двухфакторной модели выбор параметров многофак% торной регрессионной модели является с у щ е с т в е н н о более сложной зада% чей, конкретизация решения которой предполагает наличие некоторых твор% ческих способностей у исследователя. Среди основных этапов построения мно% гофакторной регрессионной зависимости обычно выделяют, например, такие. 1. Выбор всех возможных факторов, болееBменее существенно влияюB щих на исследуемый показатель. Качественно выполнить этот этап работы может лишь эксперт по изучае% мой проблеме — опытный специалист по вопросам, касающимся исследуе% мой экономической системы (исследуемого явления). 2. Измерение и анализ выбранных факторов. На этом этапе проводится формализованное описание выбранных факто% ров, оценивается возможность вычисления их значений по соответствую% щим образом собранной первичной информации. Анализируется возмож% ность сбора и оценивается достоверность получения этой информации. 3. МатематикоBстатистический анализ факторов. На этом заключительном этапе формирования необходимой информаци% онной базы проводится работа по восполнению недостающей информации ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

441

и проверяются выбранные факторы на мультиколлинеарность (некоторую зависимость). Указанная проверка состоит в следующем. Строится симметричная мат рица парной корреляции C, имеющая такую структуру: 2 4 2 4 4 32 564 3 4 1 41 4 31 7

2 421 4322

32 4232 431

31 4231 43231

4312

43132

431

1 431 2

1

1

2

431 32

1

431 31

1 31 1 4231 1 43231

3 5 5 5 3 1 43131 5 5 1 1 5 1 4311 58

где rxixj 1 rxjxi — коэффициент парной корреляции между i%м и j%м фактора% ми xi и xj; rxi y — коэффициент корреляции между независимым фактором xi и зависимым фактором y: для произвольных i, j = 1, ..., m, 234531 6 32 7 234531 6 47 531 32 1 531 4 1 541 1 86 531 1 89 6 6 1 231 232 231 24 После вычисления матрицы C проводится исследование, направленное на выяснение наличия зависимости/независимости между ее элементами. Если для некоторых факторов xi и xj абсолютная величина rxixj близка к 1, то это указывает на тесную связь (зависимость) между этими факторами. В таком случае один из факторов нужно исключить из последующего рас% смотрения. Но какой именно? Обычно оставляют фактор, имеющий бо´ль% ший коэффициент корреляции с зависимым фактором y. 4. Построение регрессионной многофакторной модели. После конкретизации совокупности более%менее независимых между со% бой факторов, влияющих на значение зависимого фактора y, возникает во% прос, касающийся выбора типа многофакторной модели (можно исследовать линейные или частично линейные модели, построенные на самых разных совокупностях факторов). Этот этап работы, так же как и первый, формаль% но описать нельзя. 5. Оценивание параметров регрессионной модели. Пусть, например, рассматривается многофакторная линейная регресси% онная модель некоторого абстрактного экономического явления y = a0 + a1x1 + a2x2 + amxm,

(10.27)

где y — зависимая переменная; x1, x2, ..., xm — независимые переменные (или факторы); a0, a1, ..., am — параметры модели (их значение нужно вы% брать). Используя обозначение евклидова скалярного произведения векто% ров 1 x1 2 1 a1 2 x53 1 4 e a53 1 4 3x 4 3 4 6 m7 6 am 7

442

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

m%мерного евклидова пространства Rm, модель (10.27) можно переписать в эквивалентном виде y = a0 + .

(10.27¢)

Так же как и в случае простой (двухфакторной) регрессии, подробно рас% смотренной в разделе 10.3.1, пусть известны данные n наблюдений (x1, y1), (x2, y2), ..., (xn, yn). Применив метод наименьших квадратов (МНК), можно получить форму% лы вычисления параметров a0, a1, ..., am линейной (m + 1)%факторной рег% рессии (10.27). В соответствии с этим методом пусть n

n

F (a0 , a) 5 9 1 yi 6 yi3 2 4 9 1 yi 6 7 a, x i 8 6a0 2 , 2

i 41

yi1

2

i 41

2 a0 3 4 a, xi 5,

i 6 1,..., n,

функция, точка безусловного минимума которой (совокупность соответст% вующих значений переменных a0, a1, ..., am) принимается в качестве пара% метров модели (10.27). Поскольку задача безусловной минимизации F (a0 , a) 1 min

(10.28)

a0 , a

принадлежит к классу задач в ы п у к л о г о квадратичного программиро% вания, любая стационарная точка целевой функции F является решением этой задачи. Значит, решением задачи (10.28) является каждое решение системы линейных алгебраических уравнений n 4F (a0 , a) 3 528 1 yi 5 6 a, xi 75 a0 2 3 52n 1 y 5 6 a, x 7 5a0 2 3 0, 4a0 i 31

(10.29)

n 4F (a0 , a) 3 528 xki 1 yi 5 6 a, x i 7 5a0 2 3 0, 4ak i 31

(10.30)

k 3 1,..., m ,

где обозначены y2

n

1 yi , n3 i 11

x2

n

1 xi . n3 i 11

Из условия (10.29) следует равенство y 1 2 a, x 3 4a0

и поэтому a0 1 y 2 3 a, x 4 . Учитывая это в уравнениях (10.30) имеем, эквива% лентную систему уравнений 1

7 432 1 52 4 5 4 5 61 42 4 4 6 2 3 01

3 3 112221 71

(10.30¢)

2 31

ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

443

которую очевидным способом можно преобразовать к виду n

4 a, 7 xki 1 xi 5 x 2 6 3 i 31

n

7 xki 1 yi 5 y 2,

k 3 1,..., m.

(10.30²)

i 31

После деления обеих частей каждого равенства (10.30²) на n будет полу% чена эквивалентная система линейных уравнений 4 a,

n

1 xki 1 xi 5 x 2 6 3 cov(xk , y), n7 i 31

k 3 1,..., m,

(10.31)

где cov(xk , y) 2

n

1 xki yi 3 xk y, n5 i 11

xk 1

n

1 xki n5 i 11

4 k 1 1, ..., m

( xk — среднее арифметическое наблюдаемого значения фактора xk — k%я ком% понента вектора x 1 R m , cov(xk, y) — ковариация k%го фактора и зависимого фактора y). Для каждого k = 1, ..., m, левую часть равенства (10.31) можно перепи% сать в виде n n 1 1 i 4 x 2. a1 7 xki 1 x1i 4 x1 2 5 65 am 7 xki 1 xm m n i 31 n i 31 Отсюда, поскольку cov(xk , xk ) 1 22xk и n

1 xki 1 xji 4 xj 2 3 cov(xk , xj ) n6 i 31

5 k, j 3 1,..., m,

система уравнений (10.31) может быть представлена в матричном виде 2 12x1 cov(x1, x2 ) 4 cov( x , x ) 12x2 2 1 4 4 1 1 44 cov(x , x ) cov(x , x ) 1 2 m m 7

1 cov(x1, xm ) 3 2 a 3 2 cov(x , y) 3 1 5 1 1 cov(x2 , xm ) 5 4 a2 5 4 cov(x2 , y) 5 6 5. (10.31¢) 2 5 44 2 55 44 1 1 55 47 am 58 47 cov(xm , y) 558 12xm 1 8

Следовательно, если симметричная m´m ковариационная матрица 3 12x1 cov(x1 , x2 ) 5 cov(x2 , x1 ) 12x2 cov(x, x) 7 5 5 2 2 55 cov(xm , x1 ) cov(xm , x2 ) 8

2 cov(x1 , xm ) 4 6 2 cov(x2 , xm ) 6 6 2 2 2 66 2 1xm 9

(10.32)

имеет обратную матрицу cov–1(x, x), то решение a системы линейных алгеб% раических уравнений (10.31¢) может быть найдено по формуле a = cov–1(x, x)cov(x, y), 444

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

где

1 cov(x1, y) 2 3 cov(x2 , y) 4 cov(x, y) 5 3 4 1 33 44 6 cov(xm , y) 7

(10.33)

(разумеется, при больших значениях m и n — соответственно, количестве факторов и числе наблюденных их значений — вычисление вектора a без применения компьютера является весьма трудоемкой задачей). При найденном векторе a последняя неизвестная компонента a0 решения задачи (10.28) вычисляется по формуле a0 1 y 2 3 a, x 4 .

10.4. ПОСТРОЕНИЕ НЕЛИНЕЙНЫХ РЕГРЕССИОННЫХ ЗАВИСИМОСТЕЙ Предположение о линейной зависимости между показателями y и x не% которого экономического явления или процесса может не подтверждаться данными полученных значений {xi} и {yi} этих показателей. И это естествен% но, поскольку зависимость между показателями зачастую является с у щ е % с т в е н н о нелинейной. Например, при неизменной годовой учетной ставке r банка и при первоначальном взносе C через x лет на счету будет находиться сумма денег y, вычисляемая по формуле y = C(1 + r)x. В экономической практике наиболее часто применяют такие нелиней% ные зависимости между показателями y и x:

4 56 x 3 y 8 4x 2 5 3 x 5 6 y 8 4x 3 5 6 y 8 4 ln 13x 5 6 2 y8

— — —

56 1 y8 x 43 5 6



y 8 e 43



y

8 43x



x 56



7 9 9 квадратичная; 9 9 степенная; 99 логарифмическая; 9 экспоненциальная; 9 логистическая кривая;9 9 9 кривая Гомперца. 9 обратная;

(10.34)

Обычно именно такого типа функции и составляют указанное в разде% ле 10.2 параметрическое семейство функций F, из которых, собственно, и выбирается в некотором смысле наиболее подходящая функция — согласно описанному ранее общему методу конкретизируются параметры a, b и g. Какие именно функции составляют семейство функций F — в основном зависит от решения эксперта%экономиста исследуемого явления. Далее будет приведена графическая иллюстрация поведения указанных функций и в слу% ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

445

чае, когда применяется метод наименьших квадратов, описываются спосо% бы экономного вычисления значений их параметров. Кроме того, для каждой из функциональных зависимостей между пока% зателями y и x приводится формула вычисления коэффициента эластично сти kэл. Эта к о л и ч е с т в е н н а я х а р а к т е р и с т и к а с в я з и между y и x определяется следующим образом: kэл 2

y1(x)x , y

где y¢(x) — производная функции y = y(x) в точке x. Экономическое толкование коэффициента эластичности kэл становится очевидным, если обратить внимание на то, что

y5(x)x kэл 6 6 lim 1x20 y

y(x 3 1x) 4 y(x) y . 1x x

Таким образом, коэффициент эластичности kэл выражает скорость отно% сительного изменения зависимого показателя y некоторого экономического явления при изменении относительной величины независимого показателя x. 1. Обратная функция y 2 1 3 4. x 56 Для b ³ 0 на рисунках 10.5 и 10.6 изображены фрагменты эскизов графи% ков обратных функций, соответствующих положительным и отрицательным значениям a. Например, функция Филлипса1 y 2 1 , 1 3 0, 4 3 0 (в определении об% x 54 ратной функции g = 0) отражает имеющуюся обратную связь между уровнем безработицы x и уровнем инфляции y (x и y измеряются в процентах, причем b < x £ 100). 1 Функция Энгеля2 y 2 3 4, 1 5 0, 4 6 0 (в определении обратной функции x b = 0) при x > 0 выражает обратную связь между расходами y на приобрете% ние потребительских товаров и общими доходами x (при доходе ниже крити% 1 ческого xкр 2 3 потребительские товары не покупают; при любом доходе x 4 количество потребительских товаров ограничено максимальной величиной расходов g, потраченных на их приобретение). Следует иметь в виду и такой способ вычисления методом наименьших квадратов параметров a и g обратной функции: 1 (10.35) y 2 3 4. x В обозначениях z = 1/x, a1 = a и a0 = g зависимость (10.35) принимает вид y = a1z + a0 — л и н е й н о й зависимости между двумя факторами y и z.

1 2

Олбан Филлипс (Alban W. Phillips, 1914–1975) — английский экономист. Эрнст Энгель (Ernst Engel, 1821–1896) — немецкий экономист и статистик.

446

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Рис. 10.5

Рис. 10.6

Рис. 10.7

Рис. 10.8

Следовательно, если при вычислении x, cov(x, y) и 12x значения {xi} за% менить на {1/xi}, то для вычисления a и g можно воспользоваться соответст% венно формулами (10.23) и (10.24) из раздела 10.3.1. Коэффициент эластичности kэл обратной функции вычисляется по фор% муле (y 1 2)2 x kэл 3 1 . 4y yx Отсюда, если g = 0, то kэл 1 2 , а если к тому же b = 0, то kэл º –1. 3 2. Квадратичная функция y = ax2 + bx + g, a ¹ 0. 22 . В точке x* = –b/2a квадратичная функция принимает значение y1 3 4 5 46 Если a > 0, то значение y* является наименьшим, а если a < 0 — наибольшим возможным значением квадратичной функции. Фрагменты эскизов графиков квадратичной функции для значений раз% ных знаков a приведены на рисунках 10.7 и 10.8. Коэффициент эластичности kэл квадратичной функции вычисляется по формуле kэл 4 2 5

1 x 2 23 . y

Поэтому если b = 0 и g = 0, то kэл º 2. ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

447

3. Степенная функция y = axb + g, a ¹ 0. Фрагменты эскизов графиков степенной функции для a > 0, g = 0, раз% ных значений b и при x ³ 0 изображены на рисунках 10.9–10.12. Построить график степенной функции с не равным нулю параметром g просто: достаточно переместить вдоль оси y соответствующий график для этой функции при g = 0 на g единиц вверх, если g > 0, и на |g| единиц вниз, если g < 0. Экономный способ вычисления методом наименьших квадратов парамет% ров степенной функции y = axb (10.36) (в определении (10.34) g = 0) состоит в следующем. Вычисляются натуральные логарифмы обеих частей равенства (10.36). В результате будет получено равенство lny = lna + blnx,

(10.36¢)

в обозначениях x º lnx, a1 º b, a0 º lna, z º lny принимающее вид z = a 1 z + a 0.

448

Рис. 10.9

Рис. 10.10

Рис. 10.11

Рис. 10.12

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Для вычисления значений a1 и a0 можно воспользоваться соответствую% щими формулами раздела 10.3.1, в ко% торых следует только заменить значе% ния {xi} на {lnxi}, а {yi} на {lnyi}. После вычисления значения a0 вычисляется 1 2 e a0 . Коэффициент эластичности kэл сте% пенной функции вычисляется по фор% муле 1 kэл 4 5 271 6 38. y 9

Поэтому если g = 0, то kэл º b. 4. Логарифмическая функция y = Рис. 10.13 = aln(bx + g). На рисунке 10.13 приведен фрагмент эскиза графика логарифмической функции, заданной при некоторых положительных a и b и при g £ 0. При этом учитываются лишь те значения x, при которых bx + g > 0. Указанные на этом рисунке точки x¢ и x² вычисляются по формулам 1 13 4 2 2 5

133 4

12 1 3 5

Способ вычисления методом наименьших квадратов параметров логариф% мической функции y = aln(bx) может быть, например, таким. Поскольку при b > 0 и x > 0 y = aln(bx) = a(lnb + lnx) = alnb + alnx, в обозначениях z º lnx, a1 º a, a0 º alnb соотношение y = aln(bx) может быть переписано в виде y = a1z +a0. После вычисления значений параметров a1, a0 по формулам (10.23), (10.24), в которых надо заменить {xi} на {lnxi}, далее следует положить a = a1 и вычис% a0

лить 1 2 e a1 . Коэффициент эластичности kэл логарифмической функции вычисляется по формуле kэл 5

1 4 23 16 . y 7 9x 1 8

Значит, если g = 0, то kэл = a/y. 5. Экспоненциальная функция y = abx + g. Вид графиков этой функции для разных значений b приведен на рисун% ках 10.14 и 10.15 (рассмотрен лишь случай, когда a > 0). ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

449

Рис. 10.14

Рис. 10.15

Способ вычисления методом наименьших квадратов параметров экспо% ненциальной функции y = abx (10.37) может быть таким. После вычисления натуральных логарифмов обеих частей равенства (10.37) оно примет вид lny = lna + xlnb, (10.37¢) а в обозначениях x º lny, a0 º lna, a1 º lnb — (10.37²) x = a1x + a0. После необходимой замены значений {yi} на {lnyi} по формулам (10.23) и (10.24) можно вычислить параметры a1 и a0. Искомые параметры a и b очевидно связаны с a1 и a0 соотношениями

1 2 ea0 , 3 2 e a1 . Коэффициент эластичности kэл экспоненциальной функции вычисляет% ся по формуле 13 2 1ye 4 2 12 5 71 6 8 3 9

Рис. 10.16

450

и при g = 0 линейно зависит от x: kэл = xlnb. 6. Логистическая кривая 1 y1 x . 23 4 5 Вид графика логистической кривой при 0 < b < 1 и положительных a и b приведен на рисунке 10.16. На этом ln 1 3 / 4 2 рисунке отмечены точки x5 6 , ln 7 y¢ = y(x¢) = 1/(2g) и y² = 1/g. ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Если g = 0, то параметры логистической кривой можно вычислять мето% дом наименьших квадратов таким же способом, что и при вычислении пара% метров экспоненциальной функции. 1 Действительно, при a > 0 и b > 0 равенство 2 1 эквивалентно равенству 2 31 lny = –lna – xlnb, которое в обозначениях x º lny, a0 º –lna, a1 º –lnb принимает вид равенст% ва (10.37²). Коэффициент эластичности kэл логистической функции вычисляется по формуле 3 112 3 23 45 4 5 6 6 3

1 2

При g = 0 коэффициент эластичности равен kэл = –xlnb. 1 7. Кривая Гомперца1 2 5 312 34 1 2 6 2 6 34 Такую зависимость между показателями y и x обычно применяют при маркетинговых, рыночных и демографических исследованиях. Вид графика кривой Гомперца изображен на рисунках 10.17 и 10.18. На рисунке 10.18 отмечена точка x¢ = –ln(–a)/lnb перегиба кривой Гом% перца, в которой функция Гомперца принимает значение y(x¢) = eg–1. Коэффициент эластичности kэл функции Гомперца вычисляется по формуле kэл = (alnb)xbx. Разумеется, все возможные нелинейные зависимости между показателя% ми далеко не исчерпываются несколькими рассмотренными примерами. Для конкретного явления основной задачей исследователя, собственно, и явля% ется поиск как можно более точной функциональной зависимости между показателями, которую можно было бы также интерпретировать, руковод% ствуясь э к о н о м и ч е с к и м и соображениями.

Рис. 10.17 1

Рис. 10.18

Бенджамин Гомперц (Benjamin Gompertz, 1779–1865) — английский математик, статистик.

ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

451

10.5. ПРИМЕРЫ ПРИМЕНЕНИЯ СТАТИСТИЧЕСКИХ МОДЕЛЕЙ В этом разделе рассматриваются несколько примеров построения и при% менения производственных функций. 10.5.1. ПРОИЗВОДСТВЕННАЯ ФУНКЦИЯ КОББА — ДУГЛАСА

Плодотворность сотрудничества специалистов из разных областей дея% тельности ярко подтверждается таким примером. Возникновение теории производственных функций относят к 1928 г. — году опубликования статьи американских математика Д. Кобба1 и экономи% ста П. Дугласа2 «Теория производства»3. В этой статье была предпринята успешная попытка эмпирически определить влияние потраченных капи% тала и труда на объем продукции, производимой в то время в обрабатываю% щей отрасли промышленности США. Исследователи дали ответы на такие вопросы. 1. Функции какого параметрического семейства функций достаточно точ% но отражают количественные соотношения между выбранными характери% стиками производственной деятельности в обрабатывающей отрасли про% мышленности? 2. Какие значения параметров конкретизируют «наилучшую» эмпири% ческую производственную функцию из выбранного параметрического семей% ства функций? 3. Как оценить результаты сравнения ф а к т и ч е с к и х результатов с г и п о т е т и ч е с к и м и, определяемыми «наилучшей» эмпирической про% изводственной функцией? Утверждалось, что именно предложенный Д. Коббом класс функций (по стоянной эластичности) y = gCaLb

(10.38)

является приемлемым ответом на первый вопрос. В записи этой формулы: y — количество произведенной продукции; C — количество основного по% траченного капитала; L — количество затраченного труда; a, b, g — число% вые параметры, удовлетворяющие условиям g >0, a, b ³ 0, a + b = 1.

(10.39)

Применительно к задаче (10.10) вектор x расходуемых ресурсов имеет только две компоненты x1 = C и x2 = L, а множество функций F определяется условиями (10.38), (10.39). 1

Чарльз Кобб (Charles Cobb, 1875–1949) — американский математик. Пол Дуглас (Poul Douglas, 1892–1976) — американский экономист. 3 Cobb C. W. A theory of production / C. W. Cobb, P. H. Douglas // Amer. Econ. Rev. — 1928. — March, Suppl. — P. 139–165. 2

452

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Для вычисления значений {yi}, {Ci} и {Li} Кобб и Дуглас собрали необхо% димые первичные данные, которые характеризовали производство и по% требление в обрабатывающей промышленности США за 24 года: с 1899 по 1922 г. (i = 1, ..., 24). Поскольку равенство (10.38) эквивалентно равен% ству lny = lng + alnC + blnL (разумеется, при положительных значениях g, C, L), для уменьшения вы% числительных затрат, связанных с отысканием решения задачи (10.10), ис% следователи искали такие значения a, b, g, которые при выполнении усло% вий (10.39) минимизировали бы значение функции 24

8 1ln yi 4 ln 5 4 6 ln Ci 4 7ln Li 2

2

.

i 31

Для полученных Коббом и Дугласом значений g = 1,01, a = 0,25 и b = 0,75, эмпирическая производственная функция (10.38) достаточно хорошо согла% совывалась с данными наблюдений. Отклонения гипотетических значений 11,01Ci0,25 L0,75 2 от фактических {yi} в основном приходились на время депрес% i сии и оживления деловой активности (на время изменения «условий труда и состояния внешней среды»). Предложенный Коббом и Дугласом подход привлек внимание многих экономистов и математиков. В настоящее время список литературы, посвя% щенной производственным функциям, насчитывает сотни наименований и продолжает пополняться. И это естественно, поскольку производственные функции широко применяются в задачах планирования и прогнозирования как в отдельных отраслях производства, так и в масштабах всего производ% ственного комплекса страны. 10.5.2. ТЕХНОЛОГИЧЕСКАЯ МАТРИЦА МОДЕЛИ ЛЕОНТЬЕВА

Среди вопросов, возникающих при рассмотрении любой экономической системы (отдельной фирмы, отрасли производства, страны, группы стран), есть «вечные», которые всегда каким%то образом решают. К таким вопросам относят, например, такие. · Какой ожидается спрос на данную продукцию на внутреннем и внешнем рынках? · Какую продукцию и в каком объеме целесообразно производить, а ка% кую — покупать? · Как рационально распределить имеющиеся ресурсы, необходимые для производства некоторой продукции? · Какие начальные цены установить на товар? · Какие размеры налоговых отчислений являются «наилучшими»? Разумеется, конкретизация указанных вопросов обусловлена как свой% ствами экономической системы, так и степенью детализации исследуемо% го явления. От того, как именно решаются эти и многие другие подобные ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

453

вопросы, зависит характер развития соответствующего экономического про% цесса, его направленность и, в некотором смысле, эффективность. При исследовании указанного типа вопросов хорошо апробированными вспомогательными инструментами являются математические модели соот% ветствующих экономических систем, явлений или процессов. Примене% ние таких моделей позволяет подмечать и правильно объяснять тенден% ции развития явления, прогнозировать его ближайшее или отдаленное бу% дущее, оценивать возможные способы использования имеющихся ресурсов, разрабатывать как общие, так и конкретные принципы экономической политики (производственной, ценовой, налоговой, бюджетной, социаль% ной и т. п.). В начале 30%х годов для проведения исследований макроэкономических систем В. Леонтьев предложил применять математическую модель межот раслевого (межпродуктового) баланса, формализованная запись которой описывается следующим образом: x0 = x – Ax, x 2 R1n .

(10.40) (10.41)

В этой модели вектор x является точкой (вектором) n%мерного евклидова пространства Rn. Каждая компонента xi этого вектора выражает количество изготовленной продукции i%го типа, i = 1, 2, ..., n (или общее количество продукции, изготовленной в i%й отрасли) и потому может принимать только неотрицательные значения (это естественное требование формализует за% пись (10.41)). Матрицу A называют технологической матрицей. Она состоит из n столб% цов и n строк неотрицательных элементов {aij}, причем элемент aij выража% ет количество продукции i%го типа, которая тратится при изготовлении единицы продукции j%го типа. Поэтому евклидово скалярное произведе% ние , в записи которого ai является i%й строкой матрицы A, выража% ет общие расходы продукции i%го типа, необходимой для производства про% дукции, количества которой выражают компоненты вектора x. Следова% тельно, разность x – Ax между произведенной продукцией x и продукцией Ax, потраченной на нужды производства, выражает количество оставшей% ся продукции, которая может расходоваться на непроизводственные нужды, для создания запасов, для экспорта и пр. В частности, назначение моде% ли (10.40), (10.41) состоит в том, что при известной технологической матри% це A с ее помощью представляется возможным оценить объемы производства x, необходимые для обеспечения заданных потребностей x0 непроизводствен% ного потребления. Следует отметить, что формализованный В. Леонтьевым метод межот% раслевого баланса, или, как его еще называют, метод анализа расходов выпуска (inputoutput analysis), был впервые предложен в СССР при разра% ботке межотраслевого баланса страны за 1923/24 хозяйственный год. Отчет об этом был опубликован ЦСУ СССР в 1926 г. Далее регулярно стали состав% лять балансы по Украине и другим регионам СССР, а также по СССР в целом (в 1926 г. в Украине была напечатана работа «Капиталы и национальный 454

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

1 2 3 4 5 6 2 7 89 87 1

1

12

32

4442

21

225212

12

112

132

4442

1 2

12

j i

32

312

332

4442

3 2

32

4442

4442

4442

4442

4442

4442

7

12

32

4442

2

2

25212

12

32

4442

 2

2

доход Украины в 1923/24 году», в 1927 г. — «Опыт составления баланса на% родного хозяйства Украины за 1923/24 и 1924/25 гг.»)1. Большое значение получили методы составления межотраслевого балан% са в практике экономического анализа, планирования и управления, многих стран. Еще до 1971 г. межотраслевые балансы составлялись, например, в Ни% дерландах, Норвегии, Дании. В настоящее время анализ межотраслевого ба% ланса широко применяется всеми ведущими экономически развитыми стра% нами. Так, в Японии и Нидерландах отчетные виды межотраслевых балан% сов разрабатываются каждый год. При этом матрица межотраслевого баланса, применяемая японскими экономистами, имеет приблизительный размер 600´600; экономисты США исследуют модели Леонтьева с технологической матрицей 450´450. Одна из проблем, возникающая при построении модели Леонтьева, обу% словлена необходимостью конкретизировать технологическую матрицу A. Наиболее известен следующий способ построения этой матрицы. Пусть в некоторый момент по итоговым данным за фиксированный пери% од составлен балансовый отчет в форме таблицы 10.1. В этой таблице числа от 1 до n обозначают номера типов изготовленной продукции. Значение bij выражает количество продукции i%го типа, потра% ченной на нужды производства vj единиц продукции j%го типа. Значение ci выражает количество продукции i%го типа, использованной в непроизводст% венной сфере (для потребления, образования запасов и др.). Таким образом, числа {bij}, j = 1, ..., n, представляют распределение i%го типа продукции при изготовлении всех ее типов. При этом очевидно, что n

4 bij 1 vi 2 ci

3 i 1 1,.., n.

j 11

Если все элементы j%го столбца таблицы 10.1 разделить на значение vj, то число aij = bij/vj (10.42) можно интерпретировать как количество продукции i%го типа, расходуемой при производстве единицы продукции типа j = 1, ..., n. 1 См.: Расширенное социалистическое воспроизводство и баланс народного хозяйства / Под ред. Ш. Я. Турецкого — М.: Мысль, 1964. — 355 с.

ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

455

Числа {aij}, i = 1, ..., n, в некотором смысле полностью характеризуют тех% нологию производства продукции j%го типа за рассматриваемый промежу% ток времени. Эти числа называют коэффициентами прямых затрат при производстве продукции j%го типа. Расчетная формула (10.42) применяется на практике для определения технологической матрицы A модели Леонтьева. Однако такой метод вычисления технологической матрицы можно при% менять только в тех случаях, когда заполняются в с е клетки таблицы 10.1. В некоторых экономических системах такой возможности может и не быть. Например, могут быть известны общие расходы электроэнергии, потрачен% ной на производство бумаги и картона, но при этом может быть неизвестно, какая именно часть этой электроэнергии была потрачена о т д е л ь н о для производства бумаги, а какая — картона. В таких случаях для построения технологической матрицы A можно вос% пользоваться основным методом регрессионного анализа. Итак, пусть по завершении промежутка времени t = 1, ..., T известны вектор xt 2 R1n объемов производства и вектор zt 2 R1n , значение i%й компо% ненты zit которого выражает количество израсходованной продукции i%го типа (i = 1, ..., n) при изготовлении всей продукции xt. Тогда если r(×) — введенная в евклидовом пространстве RT метрика, то выбор каждой i%й строки ai технологической матрицы A естественно подчи% нить правилу (10.43) 3( y1 i , yi ) 4 min, i n a 2R1

где

1 zi1 2 yi 5 3 1 4 3 T4 6 zi 7 — вектор ф а к т и ч е с к о г о потребления продукции i%го типа; y1 i

3 1 ai , x1 2 4 6 2 75 5 i T 6 81 a ,x 29

— вектор г и п о т е т и ч е с к о г о (предполагаемого) потребления продукции i%го типа в течение T промежутков времени наблюдений за экономической системой (в предположении, что j%я компонента aij вектора ai выражает ко% личество продукции i%го типа, необходимой для производства единицы продукции типа j = 1, ..., n). Таким образом, другой возможный способ построения технологиче% ской матрицы A состоит в отыскании решений n однотипных задач мате% матического программирования (10.43). Конкретизации этих задач, каж% дая из которых содержит n неизвестных — соответствующую строку матрицы A — должна предшествовать работа по сбору первичной инфор% мации — определению 2Tn%компонентных векторов {x t} и {zt}. Только потом, после выбора метрики r(×), можно переходить к отысканию реше% ний задач (10.43). 456

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

10.5.3. ФУНКЦИЯ ПРИБЫЛИ ТОРГОВОГО ПРЕДПРИЯТИЯ

Для оценивания прибыли торгового предприятия полезно применять ма% тематические модели, которые формализуют принятую на этом предприятии ценовую политику. Для иллюстрации такого типа моделей рассмотрим про% стейший пример. Пусть некоторое торговое предприятие реализует продукцию только одного типа, для определенности — сахар. Пусть любой заказ на покупку желаемого количества сахара в приемлемый для покупателя срок может быть выполнен. Для привлечения покупателей%оптовиков целесообразно применять спе% циальную льготную политику расценок на сахар: · если общий вес сахара, покупаемого данным покупателем, не превосхо% дит w1 килограммов, то ему отпускается сахар по цене x1 рублей за кило% грамм; · если вес закупки превосходит w1 килограммов, но не превосходит w2 ки% лограммов, то сахар отпускается по цене x2 рубля за килограмм и т. д.; · наконец, если для заданного m (m > 1) вес закупки превосходит wm–1 ки% лограммов, то цена килограмма сахара будет равна xm рублей за кило% грамм. Очевидно, что покупателей%оптовиков привлекают такие соотношения между ценами {xj} на сахар: 0 < xm £ ... £ x2 £ x1.

(10.44)

Графическая иллюстрация этих соотношений между весом w купленного сахара и его отпускной ценой x за килограмм изображена на рисунке 10.19. Цены на сахар естественно устанавливать из соображений максимиза% ции, например, ежесуточного дохода от его продажи. Формализация этого

Рис. 10.19

ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

457

принципа ценообразования приводит к задаче максимизации неизвестной функции дохода f(x) при условиях (10.44). Некоторое приближение к функции f можно построить, применяя об% щий метод, описанный в разделе 10.2. Для этого, например, в конце каждого дня t торговли сахаром на протяжении последующих T дней подсчитывается получаемый доход yt от продажи сахара по ценам xt, t = 1, ..., T. После этого по заданным {yt}, {xt} t = 1, ..., T, строится функция jT(x), в некотором смыс% ле близкая к функции f. Решение x* задачи математического программирования 4T (x) 5 max (10.45) 0 1 xm 232 x1

можно рассматривать как н е к о т о р ы й о р и е н т и р в установлении цен xT+1 продажи сахара на следующий (T + 1)%й день. Принимая во внимание полученный доход yT+1, можно «уточнить» функ% цию f — построить функцию jT+1. После решения задачи типа (10.45) бу% дет найден новый «ориентир» для установления цен xT+2 продажи сахара в (T + 2)%й день и т. д. Вопросы и задания 1. В чем состоит отличие между понятиями «динамический ряд» и «вариацион% ный ряд»? 2. Сформулируйте определения основных статистических характеристик динами% ческого ряда (среднего арифметического, дисперсии, среднего абсолютного при% роста, средних коэффициентов роста и прироста, степени колебания) и дайте их интерпретацию. 3. Сформулируйте определение частоты варианты. Как вычислить среднее ариф% метическое вариационного ряда и дисперсию по имеющимся частотам вариант? 4. Сформулируйте определение метрики пространства. 5. Сформулируйте определения евклидовой и манхэттенской метрики. 6. Дайте определение и укажите область применения производственной функции. 7. Дайте толкование понятий «условия труда» и «состояние внешней среды». 8. Опишите сущность этапов и общий метод построения эмпирической производ% ственной функции. 9. Опишите методы наименьших квадратов и робастного оценивания параметров производственной функции. 10. Опишите правило вычисления параметров линейной регрессии двух перемен% ных методом наименьших квадратов. Дайте толкование этого правила. 11. Сформулируйте определение и опишите основные свойства коэффициента кор% реляции. 12. Приведите примеры многофакторных регрессионных зависимостей. 13. Дайте определение линейной многофакторной регрессионной модели. При ка% ких основных предположениях исследуется эта модель? 14. Прокомментируйте сущность основных этапов построения линейной многофак% торной регрессионной модели. 15. Опишите метод наименьших квадратов отыскания неизвестных параметров ли% нейной многофакторной регрессионной модели. 16. Докажите, что при условии мультиколлинеарности показателей {xi} в многофак% 1 4 34 торной регрессионной модели (10.27), т. е. если для некоторых {li}, 121 2 3 2 11 при произвольных значениях этих показателей {xi} выполняется равенство

l1x1 + ... + lmxm = 0, 458

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

17. 18. 19. 20. 21. 22. 23.

ковариационная матрица (10.32) вырождена (ее определитель равен нулю) и по% этому не имеет обратной. Приведите примеры нелинейных функциональных зависимостей, используе% мых в экономическом анализе. Дайте экономическое толкование связи между параметрами, определяющими логистическую функцию, если x — общее количество некоторого товара на рын% ке, y — величина прибыли, полученной от его реализации. Постройте эскиз графика экспоненциальной функции. Опишите способ вычис% ления методом наименьших квадратов параметров экспоненциальной зависи% мости при g = 0. Постройте эскиз графика кривой Гомперца. Дайте экономическое толкование коэффициента эластичности. Выведите формулы вычисления параметров квадратичной функции методом наименьших квадратов. Исследуйте аналитические свойства производственной функции

y = min{a1x1, a2x2, a3x3}. Как увеличение ресурсов {xi} сказывается на увеличение объема производства y? Дайте экономическое толкование числовым коэффициентам {ai}. Как эти коэф% фициенты можно вычислить? 24. Опишите вклад Кобба и Дугласа в теорию производственных функций.

ГЛАВА 10. АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

459

ПРИЛОЖЕНИЕ

1234356789

79 9

6 9

  739

9

6 9

12

12222

345632

172

32242

  739

892

2

52262

32

12

72282

2

72

922 2

332

12

22 2

82

2

222

 45 32

12

222

2

2

222

482

12

222

2

2

222

 32

12

22222

32

2

222

 32

12

222

2

222

 32

2

22!2

32 482

2

"22#2

! 32

12

$22%2

1 2

&22'2

332

2

(22)2

62 "2

112

*22+2

43 32

72

,22-2

2

1 2

.22/2

92

2

0#2212

 32

1 12345674892 2 439

460

9

7 29

2 2549

9

7 29

2 2549

12

32242

52

162

72282

9 2

2

22 2

92

12

222

2

2

222

2

12

222

92

62

222

92

12

22!2

"#2

2

$22%2

2

1&2

'22(2

9)2

2

*22+2

9,2

1-2

.22/2

902

2

12222

392

42

52262

792

&2

82292

5:2

12

;2222?2

@2

2

A22B2

C92

142

D22E2

F@2

2

G22H2

#IJKC92

112

L22M2

"52

62

N22O2

@"02

1 2

P22Q2

9IJ2

2

R22S2

@3)"2

12

T22U2

9V2

2

W22X2

Y2

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ЛИТЕРАТУРА

1. Айвазян, С. А. Прикладная статистика. Основы моделирования и первичная об% работка данных / С. А. Айвазян, И. С. Енюков, Л. Д. Мешалкин. — М. : Финан% сы и статистика, 1983. — 471 с. 2. Акулич, И. Л. Математическое программирование в примерах и задачах. — М. : Высшая школа, 1986. — 319 с. 3. Ашманов, С. А. Введение в математическую экономику. — М. : Наука, 1984. — 296 с. 4. Вагнер, Г. Основы исследования операций : в 3 т. — М. : Мир. — Т. 1. — 1972. — 336 с. ; Т. 2. — 1973. — 488 с. ; Т. 3. — 1973. — 502 с. 5. Вентцель, Е. С. Исследование операций. — М. : Советское радио, 1972. — 552 с. 6. Вентцель, Е. С. Исследование операций. Задачи, принципы, методология. — М. : Высшая школа, 2007. — 208 с. 7. Воробьев, Н. Н. Теория игр. Лекции для экономистов%кибернетиков. — Л. : Изд% во Ленингр. ун%та, 1974. — 160 с. 8. Гейл, Д. Теория линейных экономических моделей. — М. : ИЛ, 1963. — 418 с. 9. Гермейер, Ю. Б. Введение в теорию исследования операций. — М. : Наука, 1971. — 384 с. 10. Гермейер, Ю. Б. Игры с непротивоположными интересами. — М. : Наука, 1976. — 328 с. 11. Гилл, Ф. Практическая оптимизация / Ф. Гилл, У. Мюррей, М. Райт. — М. : Мир, 1985. — 510 с. 12. Глушков, В. М. Введение в АСУ. — Киев : Техника, 1974. — 320 с. 13. Гольштейн, Е. Г. Новые направления в линейном программировании / Е. Г. Голь% штейн, Д. Б. Юдин. — М. : Советское радио, 1966. — 524 с. 14. Дубров, А. М. Моделирование рисковых ситуаций в экономике и бизнесе : учеб. пособие / А. М. Дубров, Б. А. Лагоша, Е. Ю. Хрусталев. — М. : Финансы и ста% тистика, 1999. — 176 с. 15. Евтушенко, Ю. Г. Методы решения экстремальных задач и их приложение в системах оптимизации. — М. : Наука, 1982. — 432 с. 16. Еремин, И. И. Несобственные задачи линейного и выпуклого программирова% ния / И. И. Еремин, В. Д. Мазуров, Н. Н. Астафьев. — М. : Наука, 1983. — 336 с. 17. Ермольев, Ю. М. Методы стохастического программирования. — М. : Наука, 1976. — 240 с. 18. Жданов, С. А. Экономические модели и методы в управлении. — М. : Дело и сер% вис, 1998. — 176 с. 19. Замков, О. О. Математические методы в экономике / О. О. Замков, А. В. Тол% стопятенко, Ю. Н. Черемных. — М. : ДИС, 1997. — 368 с.

ЛИТЕРАТУРА

461

20. Канторович, Л. В. Оптимальные решения в экономике / Л. В. Канторович, А. Б.Горстко. — М. : Наука, 1972. — 231 с. 21. Канторович, Л. Экономика и оптимизация / Л. Канторович [и др.]. — М. : Нау% ка, 1990. — 248 с. 22. Карманов, В. Г. Математическое программирование. — М. : Наука, 1980. — 256 с. 23. Кофман, А. Методы и модели исследования операций. — М. : Мир, 1966. — 523 с. 24. Лэсдон, Л. С. Оптимизация больших систем. — М. : Наука, 1975. — 432 с. 25. Ляшенко, И. Н. Линейное и нелинейное программирование / И. Н. Ляшенко [и др.]. — Киев : Вища школа, 1975. — 372 с. 26. Макаров, В. Л. Математическая теория экономической динамики и равновесия / В. Л. Макаров, А. М. Рубинов. — М. : Наука, 1973. — 335 с. 27. Математика в экономике : учеб.%методич. пособие / под ред. проф. Н. Ш. Кремера ; ВЗФЭИ. — М. : Финстатинформ, 1999. — 94 с. 28. Мину, М. Математическое программирование. Теория и алгоритмы. — М. : Нау% ка, 1990. — 488 с. 29. Моисеев, Н. Н. Математические модели экономической науки. — М. : Знание, 1973. — 63 с. 30. Моисеев, Н. Н. Математик задает вопросы. — М. : Знание, 1974. — 192 с. 31. Моисеев, Н. Н. Методы оптимизации / Н. Н. Моисеев, Ю. П. Иванилов, Е. М. Сто% лярова. — М. : Наука, 1978. — 352 с. 32. Моисеев, Н. Н. Математика ставит эксперимент. — М. : Наука, 1979. — 224 с. 33. Моисеев, Н. Н. Простейшие математические модели экономического прогнози% рования. — М. : Знание, 1975. — 63 с. 34. Монсен, Л. Использование Microsoft Excel 97. — К. ; М. ; СПб. : Издат. дом «Вильямс», 1998. — 336 с. 35. Мулен, Э. Теория игр с примерами из математической экономики. — М. : Мир, 1985. — 200 с. 36. Муртаф, Б. Современное линейное программирование. — М. : Мир, 1984. — 224 с. 37. Никайдо, Х. Выпуклые структуры и математическая экономика. — М. : Мир, 1972. — 271 с. 38. Обен, Ж. П. Нелинейный анализ и его экономические приложения. — М. : Мир, 1988. — 512 с. 39. Орвис, В. EXCEL для ученых, инженеров и студентов. — Киев : Юниор, 1999. — 528 с. 40. Оуэн, Г. Теория игр. — М. : Мир, 1971. — 230 с. 41. Плис, А. И. MATHCAD : математический практикум для экономистов и инжене% ров : учеб. пособие / А. И. Плис, Н. А. Сливина. — М. : Финансы и статистика, 1999. — 656 с. 42. Подиновский, В. В. Оптимизация по последовательно применяемым критери% ям / В. В. Подиновский, В. М. Гаврилов. — М. : Сов. радио, 1975. — 192 с. 43. Подиновский, В. В. Парето%оптимальные решения в многокритериальных зада% чах / В. В. Подиновский, В. Д. Ногин. — М. : Наука, 1982. — 256 с. 44. Поляк, Б. Т. Введение в оптимизацию. — М. : Наука, 1983. — 312 с. 45. Пшеничный, Б. Н. Выпуклый анализ и экстремальные задачи. — М. : Наука, 1980. — 320 с. 46. Рабочая книга по прогнозированию / отв. ред. И. В. Бестужев%Лада. — М. : Мысль, 1982. — 430 с. 47. Ржевский, С. В. Монотонные методы выпуклого программирования. — Киев : Наукова думка, 1993. — 324 с. 48. Рубинов, А. М. Математические модели расширенного воспроизводства. — Л. : Наука, 1983. — 188 с. 49. Современное состояние теории исследования операций / под ред. Н. Н. Мои% сеева. — М. : Наука, 1979. — 464 с.

462

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

50. Столерю, Л. Равновесие и экономический рост. — М. : Статистика, 1974. — 471 с. 51. Сухарев, А. Г. Курс методов оптимизации / А. Г. Сухарев, А. В. Тимохов, В. В. Федоров. — М. : Наука, 1986. — 326 с. 52. Теория прогнозирования и принятия решений : учеб. пособие / под ред. С. А. Сар% кисяна. — М. : Высшая школа, 1977. — 351 с. 53. Тихонов, А. Н. Методы решения некорректных задач / А. Н. Тихонов, В. Я. Ар% сенин. — М. : Наука, 1986. — 288 с. 54. Турчак, Л. И. Основы численных методов : учеб. пособие. — М. : Наука, 1987. — 320 с. 55. Унковская, Т. Е. Финансовое равновесие предприятия. — Киев : Генеза, 1997. — 328 с. 56. Хазанова, Л. Э. Математическое моделирование в экономике : учеб. пособие. — М. : БЕК, 1998. — 141 с. 57. Химмельблау, Д. Прикладное нелинейное программирование. — М. : Мир, 1975. — 535 с. 58. Цурков, В. И. Декомпозиция в задачах большой размерности. — М. : Наука, 1981. — 362 с. 59. Черемных, Ю. Н. Анализ поведения траекторий динамики народнохозяйствен% ных моделей. — М. : Наука, 1982. — 177 с. 60. Чикрий, А. А. Конфликтно управляемые процессы. — Киев : Наукова думка, 1992. — 384 с. 61. Экланд, И. Элементы математической экономики. — М. : Мир, 1983. — 248 с. 62. Энциклопедия кибернетики / отв. ред. В. М. Глушков. — Киев : Главная редак% ция УСЭ, 1974. — Т. 1. — 608 с. ; Т. 2. — 624 с. 63. Юдин, Д. Б. Линейное программирование: теория, методы, приложения / Д. Б. Юдин, Е. Г. Гольштейн. — М. : Наука, 1969. — 699 с.

ЛИТЕРАТУРА

463

ИМЕННОЙ УКАЗАТЕЛЬ

БЕЛЛМАН Ричард (Bellman, Richard Ernest,1920–1984) — американский математик. БРАУЭР Лейтзен (Brouwer, Luitzen Egbertus Jan, 1881–1966) — голландский мате% матик и философ. БУНЯКОВСКИЙ Виктор Яковлевич (1804–1889) — украинский математик. ВАЛЬРАС Леон (WALRAS, Marie%Ésprit%Léon, 1834–1923) — французский математик и экономист. ВЕЙЕРШТРАСС Карл (WEIERSTRASS, Karl Theodor Wilhelm, 1815–1897) — немец% кий математик. ВЕНТЦЕЛЬ Елена Сергеевна (1907–2002) — советский математик, русский прозаик. ГАМИЛЬТОН Уильям (HAMILTON, William Rowan, 1805–1865) — английский мате% матик. ГЕЙЛ Дэвид (GALE, David, 1921–2008) — американский математик и экономист. ГЕРМЕЙЕР Юрий Борисович (1918–1975) — советский математик. ГЕССЕ Людвиг (HESSE, Ludwig Otto, 1811–1874) — немецкий математик. ГОМОРИ Ральф (GOMORY, Ralph Edward, b. 1929) — американский математик и биз% несмен. ГОМПЕРЦ Бенджамин (GOMPERTZ, Benjamin, 1779–1865) — английский матема% тик и статистик. ГЛУШКОВ Виктор Михайлович (1923–1982) — советский математик. ГУРВИЦ (ГУРВИЧ) Леонид (HURWICZ, Leo (Leonid), 1917–2008) — американский математик и экономист, лауреат Нобелевской премии по экономике (2007). ДАНЦИГ Джордж (DANTZIG, George Bernard, 1914–2005) — американский мате% матик. ДОРОДНИЦЫН Анатолий Алексеевич (1910–1994) — российский математик, гео% физик и механик. ДУГЛАС Пол (DOUGLAS, Poul Howard, 1892–1976) — американский экономист. ЙЕНСЕН Иоган (JENSEN, Johan Ludwig William Valdemar, 1859–1925) — датский математик и инженер. КАНТОРОВИЧ Леонид Витальевич (1912–1986) — советский математик и экономист, лауреат Нобелевской премии (1975). КАКУТАНИ Шизуо (KAKUTANI Shizuo, 1911–2004) — японский математик. КАПЕЛЛИ Альфредо (CAPELLI, Alfredo, 1855–1910) — итальянский математик. КЕНЭ Франсуа (QUESNAY, Francois, 1694–1774) — французский экономист. КОББ Чарльз (COBB, Charles Wiggins, 1875–1949) — американский математик. КОНФУЦИЙ (ок. 551–479 до н. э.) — древнекитайский мыслитель. КРАМЕР Габриэль (CRAMER, Gabriel, 1704–1752) — швейцарский математик.

464

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

КОНДОРСЕ Жан (de CONDORCET, Marie Jean Antoine Nicolas Caritat, 1743–1794) — французский экономист, философ%просветитель, политический деятель. КОШИ Огюстен (CAUCHY, Augustin Louis, 1789–1857) — французский математик. КРОНЕКЕР Леопольд (KRONECKER, Leopold, 1823–1891) — немецкий математик. КУН Гарольд (KUHN, Harold William, род. 1925) — американский математик. КУРНО Антуан (COURNOT, Antoine Augustin, 1801–1877) — французский матема% тик, философ и экономист. ЛАГРАНЖ Жозеф (LAGRANGE, Joseph Louis, 1736–1813) — французский математик. ЛЕОНТЬЕВ Василий Васильевич (1906–1999) — американский экономист, лауреат Нобелевской премии (1973). МОИСЕЕВ Никита Николаевич (1917–2000) — советский и российский механик и математик. МОРГЕНШТЕРН Оскар (MORGENSTERN, Oskar, 1902–1977) — американский эко% номист. фон НЕЙМАН Джон (von NEUMANN, John, 1903–1957) — американский математик. НЬЮТОН Исаак (sir NEWTON, Isaac, 1643–1727) — английский физик, математик и астроном. НЭШ Джон (NASH, John Forbes, b. 1928) — американский математик и экономист, лауреат Нобелевской премии по экономике (1994). ПАРЕТО Вильфредо (PARETO, Vilfredo, 1848–1923) — итальянский социолог и эко% номист. ПОЛТЕРОВИЧ Виктор Меерович (род. 1937) — российский экономист. СИЛЬВЕСТР Джемс (SYLVESTER, James Joseph, 1814–1897) — английский матема% тик и поэт. СТИГЛЕР Джордж (STIGLER, George Joseph, 1911–1991) — американский экономист, лауреат Нобелевской премии (1982). СУХОТИН Анатолий Константинович (род. 1922) — российский философ, специа% лист по методологии науки и научному творчеству. ТАККЕР Альберт (TUCKER, Albert William, 1905–1995) — американский и канад% ский математик. ТЕЙЛОР Брук (TAYLOR, Brook, 1685–1731) — английский математик. ФИЛЛИПС Олбан (PHILLIPS, Alban William, 1914–1975) — английский экономист. ХУБЕР Питер (ХЬЮБЕР, HUBER, Peter J., род. 1934) — швейцарский статистик. ЧЕБЫШЕВ Пафнутий Львович (1821–1894) — российский математик. ЭВКЛИД (ок. 300 г. до н. э.) — древнегреческий математик. ЭЙЗЕНБЕРГ Эдмунд (EISENBERG, Edmund, 1928–1965) — американский математик. ЭЙЛЕР Леонард (EULER, Leonard, 1707–1783) — швейцарский, немецкий и россий% ский математик, механик, физик, астроном. ЭНГЕЛЬ Эрнст (ENGEL, Ernst, 1821–1896) — немецкий экономист и статистик. ЭРРОУ Кеннет (ARROW, Kenneth Joseph, род. 1921) — американский математик и экономист, лауреат Нобелевской премии по экономике (1972).

ИМЕННОЙ УКАЗАТЕЛЬ

465

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ

e%окрестность точки 51, 59 n%мерное евклидово пространство 48 Абсолютный максимум функции 69 — — — на множестве 81 — минимум функции 69 — — — на множестве 81 Аддитивный критерий 250 Активная стратегия игрока 338 Активное ограничение задачи математического программирования 96 Алгоритм 365 — бесконечношаговый 366 — возможных направлений 396 — второго порядка 366 — дихотомии 371 — золотого сечения 373 — конечный 366 — концептуальный 366 — наискорейшего спуска 381 — нулевого порядка 366 — одномерной минимизации 369 — первого порядка 366 Аргумент функции 27 Базисные — клетки транспортной таблицы 186 — переменные задачи ЛП 145 — — транспортной задачи 186 Балансовый отчет 455 Биматрица игры 353 Бистратегия игры 327, 344 Варианта 430 Вариационный ряд 430 Вектор 49 — возмущений 125, 126 — двойственных переменных 109 — Куна — Таккера 118 — Лагранжа 98, 100, 101

466

— множителей Лагранжа 92 — наискорейшего спуска 388 — направляющий 49 — невязок 263 — нормальный 29, 30 — ортогональный 29 Вектор%функция 306 Верхняя цена игры 333 Весовые коэффициенты 314 Внутренняя точка множества 83 Возможное направление 83, 391, 392 — — относительно множества 83 — — спуска функции 392 — — убывания функции 392 Временной сетевой график (граф) комплекса работ 278 Выигрыш игрока 327 — минимаксный 333 Выпуклая комбинация точек 153 Выпуклый многогранник 153 Вырожденная угловая точка задачи ЛП 153 Вырожденый опорный план перевозок 193 Гарантированный выигрыш 352 Геометрический метод решения задачи ЛП 141 Гессиан 58 Гиперплоскость 30, 51 Градиент функции 58 Двойственная задача 108, 109 — — задачи ЛП 174, 176 — функция 109 Двойственные системы векторов 387 Двухэтапная задача стохастического программирования 264, 271 Декартово произведение множеств 89, 122, 348 Динамический ряд 428 Дискретная случайная величина 262

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Дисперсия 262, 429, 431 Длина вектора 50 — шага 366 Дополнительная переменная 138 Допустимое множество задачи математического программирования 27, 35, 80 Допустимый план перевозок 185 Достаточное условие максимума 75 — — минимума 75 Достаточные условия оптимальности 46, 68 Дробная часть числа 240 Дуополист 358 Дуополия 358 Евклидово скалярное произведение 28, 50 Жесткая задача стохастического программирования 263 Задача — безусловной минимизации 380 — — оптимизации 67 — выпуклого программирования 48, 98 — динамического программирования 250 — двойственная 108, 109 — детерминированная 261 — дискретного программирования 230 — дробно%линейного программирования 224 — исходная 109 — календарого планирования 273 — — — обратная 273 — — — прямая 273 — комбинаторного типа 232 — лексикографической оптимизации 315 — m%критериальной минимизации 315 — линейного программирования 135 — математического программирования 27 — — — несобственная 316 — максимизации функции на множестве 38 — минимизации функции на множестве 38 — на экстремум 27 — обратная сетевого планирования 273 — о диете 14, 21 — о коммивояжере 232 — о назначениях 298 — m%критериальной оптимизации 315 — о размещении производства 25, 235 — — — — однородного продукта 235

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ

— о рюкзаке 232 — приведенная 137 — прямая 109, 386 — сетевого планирования 273 — — — обратная 273 — — — прямая 273 — стохастического программирования 261 — — — с вероятностными ограничениями 264, 268 — управления запасами 283 — условной оптимизации 80, 81, 390 — целочисленного программирования 230 — целочисленного линейного программирования 231 — — — — в стандартной постановке 238 — — — — с булевыми переменными 232 — частично дискретного программирования 230 — — целочисленного программирования 230 Заказ на пополение запаса 284 Закрытая транспортная задача ЛП 183, 184 Замыкание множества 404 Запасы 283 Значение задачи математического программирования 37 — — безусловной максимизации функции 68 — — — минимизации функции 68 — — (условной) максимизации функции на множестве 81 — — — минимизации функции на множестве 81 Золотое сечение 373 Игра 327 — антагонистическая 328 — биматричная 353 — в нормальной форме двух лиц 327, 344 — матричная 328 — несущественная 353 — парная 327 — — конечная 328 — с нулевой суммой 328 — с седловой точкой 335 — «Дилемма подследственного» 354 — «Камень — ножницы — бумага» 328 — «Место встречи» 356 — «Перекресток» 355 — «Пожар» 357 — «Решающая схватка» 331

467

— «Три пальца» 330 — эквивалентная 339 Игрок 327 — абсолютно проницательный, корыстный и разумный 332 Изолированная точка множества 92 Интенсивность изменения запаса 284 Итерация 44, 46 — алгоритма 366 Каноническая постановка задачи линейного программирования 137 — — — — — в матричном виде 138 Канонические правила принятия решений 345 Коалиция игроков 327 Ковариация переменных 439 Компонента вектора 48 Конус 422 Конфликтная ситуация 326 Координата вектора 48 Корректирующая поправка 194 Коэффициент вариации 430 — детерминации 440 — корреляции 440 — эластичности 446 Коэффициенты прямых затрат 456 Кривая Гомперца 445, 451 Критериальная функция 15 — — задачи математического программирования 27 — вектор%функция 306 Критериальные функции 15, 306 Критерий эффективности — аддитивный 250 — решений 10 — частный 315 Критическая работа 280 Критический путь комплекса работ 280 Линейная — комбинация уравнений 143 — модель Гейла — Эйзенберга простого обмена 132 — функция 28 Линейное программирование 13 Линейный поиск 369 Линия уровня функции 141 Лицо, принимающее решение 10 Логистическая кривая 445, 450 Локальное решение задачи условной минимизации функции 84 Локальный максимум функции 68 — — — на множестве 82 — минимум функции 68 — — — на множестве 81

468

ЛП 13, 135 ЛПР 10 Луч 49 Макропоказатель операции 16 Макрофактор операции 16 Максиминное решение 333 Максиминный выигрыш 333 Максимум функции 69 Математическая модель — — межотраслевого баланса 454 — — межпродуктового баланса 454 — — операции 11 Математическое — ожидание 262 — программирование 8 Матрица единичная 56 — вторых смешанных производных 58 — игры 328 — ковариационная 444 — неотрицательно определенная 54 — парной корреляции 442 — платежная 328 — положительно определенная 56 — расширенная 142 — технологическая 454, 456 Метод — анализа расходов выпуска 454 — ветвей и границ 243 — возможных направлений 391, 396 — Гомори 237 — дихотомии 371 — золотого сечения 373 — календарного планирования 273 — касательных 375 — межотраслевого баланса 454 — множителей Лагранжа 92 — наименьших квадратов 41, 436 — наискорейшего спуска 380, 381 — Ньютона 383 — обобщенного градиентного спуска 388, 389 — одномерной минимизации 369 — оптимизации 48 — отсечений 237 — отыскания критического пути 280 — последовательного улучшения планов перевозок 193, 196 — последовательных уступок 316 — потенциалов 207, 210 — решения по средним 267 — робастного оценивания 436 — северо%западного угла 187 — сетевого планирования 273 — хорд 377 — центров 397

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

— численный 365 — эвристический 284 Методы — внешних штрафных функций 399 — внутренних штрафных функций 404 — возможных направлений 391 — двойственных направлений 384 — центров 396 Метрика 56, 431 — городских кварталов 57 — евклидова 56, 432 — манхэттенская 57, 432 — Чебышева 57, 432 Минимаксное решение 333 Минимаксный выигрыш 333 — проигрыш 333 Минимум функции 69 — — на множестве 81 Множество — активных ограничений задачи 392 — альтернативных решений 10, 35 — выпуклое 51 — допустимое 80 — допустимых точек 390 — — двойственной задачи 109 — замкнутое 51 — компактное 51 — ограниченное 50 — обобщенных градиентов 388 — открытое 51 — полиэдральное 98, 99, 153 — стационарных точек функции 71 — уровня функции 60 Множители Лагранжа 92, 98 Мода вариационного ряда 431 Модель регрессии 437 — двухфакторной линейной регрессии 437 Модифицированное условие Слейтера 100 Мультиколлинеарность 458 Надграфик функции 54 Направление — поиска 366 — спуска функции 83 — убывания функции 83, 369 Начальное приближение 46, 365 Некооперативное равновесие игры 345 Необходимое условие экстремальности точки 70 Необходимые условия оптимальности 45, 68 Неопределенные параметры 260 Неотрицательный ортант 88 Непрерывная случайная величина 262

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ

Неравенство 31 — Йенсена 66 — Коши — Буняковского 77 — линейное 98 — треугольника 432 — Чебышева 263 Несобственная задача математического программирования 316 Неудовлетворенный спрос 284 Нижняя цена игры 333 Норма матрицы 384 Нормальный закон распределения 269 Область задания функции 27 — значений функции 27 — определения функции 27 Обобщенный выпуклый многогранник 153 Общая структура симплекс%метода решения задачи ЛП 167 Общее уравнение — — плоскости в трехмерном пространстве 29 — — прямой линии на плоскости 29 Ограничения%неравенства 96 Ограничения%равенства 96 Одноэтапная задача стохастического программирования 263, 266 Операция 9 — многошаговая 249 — многоэтапная 249 Опорная вершина симплекса 153 — точка симплекса 153 Опорное решение задачи ЛП 153 Опорный план перевозок 185 — — вырожденный 193 Оптимальная бистратегия 335 Оптимальное решение 43 — — игрока 335 — — по Парето 308, 351 Оптимальный план перевозок 185 Оптимизационная задача 27 Оптимум Парето 351 Организатор операции 10 Основная задача исследования — операции 12 — теорема для антагонистических матричных игр 337, 338 Основное функциональное уравнение динамического программирования 255 Осторожная стратегия 352 Осторожное решение 352 Открытый шар 53 Отношение предпочтения 42 — коллективного предпочтения 318 — — — полное 42, 318 — транзитивное 307, 316, 318

469

Отображение — полунепрерывное сверху 61 — субдифференциальное 61 — точечно%множественное 348, 363 Отрезок 49 — неопределенности 370 Парадокс Кондорсе 319 Парето%оптимальное решение 308 Пассивное ограничение задачи математического программирования 97 Перевозка 185 Переменная дискретная 230 — целочисленная 230 Перманентный план задачи стохастического программирования 266 План перевозок 185 Платежная матрица игры 328, 332 Поверхность уровня функции 141 Подпоследовательность 51 Политоп 153 Полиэдр 98 Полное отношение предпочтения 42 Пополнение запаса 284 Последовательность 50 — внешних штрафных функций для множества 399 — внутренних штрафных функций для множества 404 — сходящаяся 50, 51, 367 Потенциалы 208 Пошаговое решение 250 — управление 250 Правило диктатора 318 — коллективного предпочтения 318 Правильное отсечение 238 Предел последовательности 51 Приближение 365 Приведенная задача ЛП 137 Принцип минимакса 333 — оптимальности динамического программирования 252, 254 Предельная точка последовательности 51 Проекция точки на множество 391 Проигрыш игрока 327 Производная по направлению 59 Производственная программа 24 — функция системы 433 — — Кобба — Дугласа 452 — — леонтьевского типа 435 Противники 328 Прямая 49 Псевдотарифы перевозок 209

470

Равновесная бистратегия 345 Равновесие игры 345 — — по Нэшу 345 Равновесное состояние игры 336 Равносильные системы алгебраических уравнений 150 Размах вариационного ряда 431 Разрыв двойственности 115 Ранг матрицы 143 — работы 274 Ранжирование работ 274 Ранжированный вариационный ряд 430 Расстояние между векторами 50 Расширенная матрица 142 — антагонистической конечной игры 333 — транспортная таблица 209 Расширенное множество действительных чисел 127 Регрессанд 437 Регрессор 437 Регулярная точка задачи математического программирования 90 Решение 10, 17 — антагонистической игры 332 — дублирующее 338 — заведомо невыгодное 338 — задачи безусловной минимизации 68 — — минимизации 68 — — математического программирования 27, 36 — — (условной) максимизации функции на множестве 81 — — — минимизации функции на множестве 81 — игры 335 — — в смешанных стратегиях 337 — максиминное 333 — минимаксное 333 — неравенства 31 — оптимальное 10, 43 — — по Парето 308 — Парето%оптимальное 308 — системы неравенств 33 — системы уравнений 31 — слабо оптимальное — — по Парето 309 — — эффективное 309 — — Парето%оптимальное 309 — уравнения 28 — эффективное 308 Свободные клетки транспортной таблицы 186 — переменные задачи ЛП 145

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

— члены 157 Свойство неотрицательности метрики 432 — симметричности метрики 432 Седловая точка 122, 335 Сетевой граф (график) комплекса работ 276 Симплекс 153 Симплекс%метод 14, 157, 165, 167 Симплекс%таблица 160, 161 Система неравенств 33 — поддержки принятия решения 12 — уравнений 31 Ситуация 326, 327 Скорость сходимости алгоритма 367 — — геометрическая 368 — — квадратичная 368 — — линейная 368 — — сверхлинейная 368 Слабо Парето%оптимальная точка 351, 352 — эффективная точка 351 Слабый оптимум Парето 309, 351 — — по Парето 351 Смешанная стратегия игрока 337 Согласованная бистратегия игроков 345 Согласованные стратегии игроков 345 Соотношения двойственности 115, 117 Состояние внешней среды 11 — системы конечное 253 — — начальное 253 Спрос на запас 284 Среднее арифметическое 66, 428, 431 — геометрическое 66 — квадратичное отклонение 430 Средний абсолютный прирост 429 — коэффициент прироста 429 — — роста 429 — темп прироста 429 — — роста 429 Стандартная — постановка задачи линейного программирования 137 — — — — — в матричном виде 138 — форма задания допустимого множества задачи математического программирования 36 — — записи задачи математического программирования 38 Стратегия игрока 327 — запирательства 354 — смешанная 337 — сотрудничества 354 — чистая 337 Строго выпуклая функция 311, 378

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ

Структурная таблица комплекса работ 273 Структурно%временная таблица комплекса работ 278 Субградиент 61 Субдифференциал 61 Субдифференциальное отображение 61 Сходимость алгоритма 366 Теорема — Вейерштрасса 83 — Какутани 348 — Куна — Таккера 119 — фон Неймана 350 — Эрроу 318 Теория игр 326 — исследования операций 8 — управления запасами 283 Типичные задачи календарного планирования 283 Точечно%множественное отображение 348 Точка 49 — (абсолютного) максимума функции на множестве 81 — — минимума функции на множестве 38, 81 — внутренняя 59 — максимума функции на множестве 38, 81 — неподвижная 348 — Парето%оптимальная 351 — регулярная 90, 96 — условного локального экстремума функции 82 — минимума функции на множестве 36, 81 — эффективная 351 Точная верхняя грань функции на множестве 38 — нижняя грань функции на множестве 37 Транзитивное отношение предпочтения 43, 307, 318 Транспортная задача 183, 184 — — с фиксированными доплатами 234 — таблица 185, 186 Требование единогласия 318 — независимости 318 Угловая точка симплекса 153 Угол между векторами 33 Угроза игрока 352 Узел сетевого графа комплекса работ 276 Универсальный метод перебора 44

471

Упорядочивание работ 274 Управление 253 Управляемая система 253 Уравнение 27 — Беллмана 255 — эквивалентное 30 Уровень динамического ряда 428 Условие линейности ограничений 100 Условие мультиколлинеарности 458 — Слейтера 100, 395 Условия — дополняющей нежесткости 98 — неопределенности 261, 326 — оптимальности 45 — регулярности Слейтера 395 — риска 260 — «труда и состояние внешней среды» 433 Условное оптимальное решение 252 — — управление 252, 254 Условное управление 252 Условный оптимальный выигрыш 254 Условные локальные экстремумы функции 82 — — экстремальные точки функции 82 Условный локальный максимум функции 82 — — минимум функции 81 Фазовые координаты системы 253 Фактор операции 15 Функции%ограничения задачи математического программирования 35, 80, 108 Функция 27 — вогнутая 56 — возмущений 126 — выигрыша 327, 344 — выпуклая 53 — двойственная 109 — дробно%линейная 224 — затрат 25 — квадратичная 54, 445, 447 — Лагранжа 89, 96, 109 — линейная 28, 54 — логарифмическая 445, 449 — максимума 35, 57 — обратная 445, 446 — полезности 131, 327 — полунепрерывная сверху 351 — — снизу 351

472

— постоянной эластичности 452 — прибыли торгового предприятия 457 — проигрыша 328 — производственная 433 — степенная 445, 448 — строго выпуклая 311, 378 — субдифференцируемая 61 — унимодальная 370 — Филлипса 446 — целевая 27 — чувствительности 126 — экспоненциальная 445, 449 — Энгеля 446 Хорда 377 Целая часть числа 239 Целевая функция задачи математического программирования 27, 80, 108 Цена игры 338 — — верхняя 333 — — нижняя 333 — — чистая 335 — цикла 195 Цикл 193 — перевозок 193 Частная производная 57 Частный критерий 315 Частоты вариант 430 Численный алгоритм 365 — метод 365 Чистая стратегия игрока 337 — цена игры 335 Эквивалентные решения 10, 42 — системы алгебраических уравнений 150 Экстремальная задача 27 Экстремальное значение 27 — — функции 69, 82 Экстремальная точка функции 69 Экстремум 69 Элемент последовательности 50 Элементарная работа 272, 273 Эмпирическая производственная функция 434, 435 Эффективное множество (двойственной) функции 111 — решение 308, 351

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ОГЛАВЛЕНИЕ

Список основных обозначений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Глава 1. Общая постановка задачи математического программирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1. Примеры задач математического программирования . . . . . . . . . . . . . . . . 1.1.1. Задачи о составлении рациона . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2. Задачи о выборе производственной программы . . . . . . . . . . . . . . . . 1.1.3. Задача о размещении производства . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Эквивалентные постановки задач математического программирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1. Преобразование ограничений на переменные задачи . . . . . . . . . . . 1.2.2. Значение и решение задачи математического программирования . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3. Задачи отыскания решений систем алгебраических уравнений и неравенств . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Общая однокритериальная проблема принятия решения . . . . . . . . . . . . . 1.3.1. Отношение предпочтения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2. Универсальный метод перебора . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.3. Основные проблемы решения задач МП . . . . . . . . . . . . . . . . . . . . . .

5 7 8 15 16 16 23 25 27 27 36 39 41 42 44 45

Глава 2. Элементы выпуклого анализа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1. Выпуклые множества . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Выпуклые функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1. Определение и способы распознавания выпуклых функций . . . . . . 2.2.2. Основные свойства выпуклых функций . . . . . . . . . . . . . . . . . . . . . . 2.2.3. Субдифференциал выпуклой функции . . . . . . . . . . . . . . . . . . . . . . .

48 48 53 53 59 61

Глава 3. Задачи безусловной оптимизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1. Локальные и глобальные экстремумы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Минимизация и максимизация дифференцируемых функций . . . . . . . . . 3.3. Минимизация недифференцируемых выпуклых функций . . . . . . . . . . . .

67 68 70 76

Глава 4. Задачи условной оптимизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1. Условные экстремумы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Задачи с простейшими ограничениями . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Задачи с ограничениями в форме равенств . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1. Функция Лагранжа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80 81 86 89 89

ОГЛАВЛЕНИЕ

473

4.3.2. Условие регулярности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.3. Условия минимума . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4. Задачи в общей постановке . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

90 91 95

Глава 5. Элементы теории двойственности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1. Определение двойственной задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Связь между прямой и двойственной задачами . . . . . . . . . . . . . . . . . . . . 5.3. Функция возмущений и ее свойства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4. Экономическая интерпретация решения двойственной задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1. Задача определения объемов производства . . . . . . . . . . . . . . . . . . 5.4.2. Изготовление товаров с покупкой и продажей сырья . . . . . . . . . . 5.4.3. Модель Гейла — Эйзенберга простого обмена . . . . . . . . . . . . . . . . .

108 108 114 123

Глава 6. Специальные классы задач математического программирования . . . . . . . . 6.1. Задачи линейного программирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1. Каноническая постановка задачи ЛП . . . . . . . . . . . . . . . . . . . . . . . 6.1.2. Геометрическое представление задач ЛП . . . . . . . . . . . . . . . . . . . . 6.1.3. Симплекс%метод решения задач ЛП в канонической постановке . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.4. Двойственная задача задачи ЛП . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.5. Транспортные задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.5.1. Закрытая транспортная задача . . . . . . . . . . . . . . . . . . . . 6.1.5.2. Двойственная задача закрытой ТЗ . . . . . . . . . . . . . . . . . . 6.1.5.3. Метод потенциалов решения закрытой ТЗ . . . . . . . . . . . 6.1.5.4. Некоторые другие постановки транспортных задач . . . . 6.2. Задачи дробно%линейного программирования . . . . . . . . . . . . . . . . . . . . . . 6.3. Задачи целочисленного (дискретного) программирования . . . . . . . . . . . 6.3.1. Примеры задач целочисленного программирования . . . . . . . . . . . 6.3.2. Метод отсечений (Гомори) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.3. Метод ветвей и границ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4. Задачи динамического программирования . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1. Общая постановка задачи ДП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.2. Задача о распределении ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5. Задачи стохастического программирования . . . . . . . . . . . . . . . . . . . . . . . 6.5.1. Общая классификация задач СП . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.2. Одноэтапные задачи СП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.3. Задачи с вероятностными ограничениями . . . . . . . . . . . . . . . . . . . 6.5.4. Двухэтапные задачи СП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6. Задачи сетевого планирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7. Задачи управления запасами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

135 135 136 140 156 174 183 183 204 207 221 224 229 231 237 243 249 250 257 260 261 266 268 271 272 283

Глава 7. Задачи многокритериальной оптимизации . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1. Парето%оптимальные решения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2. Лексикографическая оптимизация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3. Метод последовательных уступок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4. Теорема Эрроу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

305 305 315 316 317

Глава 8. Элементы теории игр . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1. Основные понятия теории игр . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2. Антагонистические матричные игры . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.1. Принцип минимакса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.2. Основная теорема для антагонистических матричных игр . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.3. Отыскание оптимальных смешанных стратегий . . . . . . . . . . . . . . 8.3. Парные игры (общий случай) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.1. Канонические правила принятия решений . . . . . . . . . . . . . . . . . . 8.3.2. Равновесие игры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.3. Парето%оптимальные и осторожные решения игроков . . . . . . . . . 8.3.4. Биматричные игры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.5. Дуополия Курно . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

326 327 328 332

474

128 129 130 131

337 338 344 344 345 351 353 358

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

Глава 9. Численные методы оптимизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1. Итерационные алгоритмы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2. Методы одномерной минимизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1. Унимодальные функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.2. Метод дихотомии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.3. Метод золотого сечения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.4. Метод касательных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.5. Метод хорд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3. Методы безусловной минимизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.1. Метод наискорейшего спуска . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.2. Метод Ньютона . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.3. Методы двойственных направлений . . . . . . . . . . . . . . . . . . . . . . . . 9.3.4. Обобщенный градиентный спуск . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4. Методы условной минимизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.1. Методы возможных направлений . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.2. Методы центров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.3. Методы внешних штрафных функций . . . . . . . . . . . . . . . . . . . . . . 9.4.4. Методы внутренних штрафных функций . . . . . . . . . . . . . . . . . . . . 9.5. Решение задач математического программирования средствами MS Excel . . . . . . . . . . . . . . . . . . . . . . . . .

365 365 369 370 371 372 374 377 380 380 383 384 388 390 391 396 399 404

Глава 10. Анализ данных и статистическое моделирование . . . . . . . . . . . . . . . . . . . . . 10.1. Статистическая основа моделирования экономики . . . . . . . . . . . . . . . 10.2. Производственная функция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3. Классическая модель линейной регрессии . . . . . . . . . . . . . . . . . . . . . . 10.3.1. Двухфакторная регрессия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.2. Многофакторная регрессия . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4. Построение нелинейных регрессионных зависимостей . . . . . . . . . . . . 10.5. Примеры применения статистических моделей . . . . . . . . . . . . . . . . . . 10.5.1. Производственная функция Кобба — Дугласа . . . . . . . . . . . . . 10.5.2. Технологическая матрица модели Леонтьева . . . . . . . . . . . . . . 10.5.3. Функция прибыли торгового предприятия . . . . . . . . . . . . . . . .

427 427 433 437 437 441 445 452 452 453 457

Приложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Литература . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Именной указатель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Предметный указатель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

460 461 464 466

ОГЛАВЛЕНИЕ

408

475

Сергей Владимирович РЖЕВСКИЙ

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ Учебное пособие

Ответственный редактор Н. А. Сметанина Технический редактор А. С. Кузьмина Корректор Т. А. Брылева Подготовка иллюстраций М. О. Мотыгина Верстка М. И. Хетерели Выпускающие О. В. Шилкова, Т. С. Симонова ЛР № 065466 от 21.10.97 Гигиенический сертификат 78.01.07.953.П.007216.04.10 от 21.04.2010 г., выдан ЦГСЭН в СПб Издательство «ЛАНЬ» [email protected]; www.lanbook.com 192029, Санкт%Петербург, Общественный пер., 5. Тел./факс: (812) 412%29%35, 412%05%97, 412%92%72. Бесплатный звонок по России: 8%800%700%40%71 Подписано в печать 22.07.13. Бумага офсетная. Гарнитура Школьная. Формат 70´100 1/16. Печать офсетная. Усл. п. л. 39,00. Тираж 700 экз. Заказ №

.

Отпечатано в ОАО «Первая образцовая типография», филиал «Чеховский Печатный Двор» в полном соответствии с качеством предоставленных материалов. 142300, Московская обл., г. Чехов, ул. Полиграфистов, д. 1. Тел.: (495) 988%63%76, факс: 8 (496) 726%54%10.