Текст
                    АКАДЕМИЯ НАУК СССР
`ИБИРСКОЕ ОТДЕЛЕНИЕ
|НСТИТУТ МАТЕМАТИКИ
Э. А. МУХАЧЕВА
Г. Ш. РУБИНШТЕЙН
МАТЕМАТИЧЕСКОЕ
ПРОГРАММИРОВАНИЕ
2-е издание,
переработанное и дополненное
Допущено Министерством высшего
и среднего специального образования СССР
в качестве учебного пособия для студентов
экономических и инженерно-технических
специальностей вузов
НОВОСИБИРСК
ИЗДАТЕЛЬСТВО «НАУКА»
СИБИРСКОЕ ОТДЕЛЕНИЕ
1987


ПРЕДИСЛОВИЕ К ПЕРВОМУ ИЗДАНИЮ  В 1939 г. издательством Ленинградского универси- тета была выпущена небольшая брошюра двадцатисемилет- него профессора Л. В. Канторовича, посвященная матема- тическим методам организации и планирования производ- ства. Эта весьма скромная на первый взгляд работа сыграла основополагающую роль в становлении математического программирования — нового научного направления — широ- ко используемого сейчас в инженерной и экономической практике. В настоящей книге, ориентированной на широкий круг читателей, в доступной форме изложены основы указанной новой дисциплины. Особое внимание уделяется теории, чис- ленным методам и приложениям линейного программирова- ния, включая сетевое планирование и некоторые другие экстремальные задачи на графах. Этим вопросам посвящены главы [—У[ и частично глава Х[.) Что касается других важных разделов математического программирования, таких как теория матричных игр, выпуклое, динамическое и цело- числепное программирование, то каждому из них отводится лишь по одной главе. Вместе с тем излагаемые в этих гла- вах теоретические результаты и числепные методы могут служить базой для практического применения соответствую- щих моделей в инженерной и экономической практике. При первом чтении без ущерба для понимания можно опустить $ 4 гл. Ш, главы ПУ, УГ, УПТ®, а также наибо-  1) В новом издапии гл. 1—7 и частично гл. 13. 2) В новом издании гл. 4, 5 иТ. 
лее сложную в теоретическом плане последнюю главу, по- священную геометрическому доказательству основных тео- рем теории линейного и выпуклого программирования. Рассматриваемый круг вопросов и общий план книги соответствуют в основном книге Г. Ш. Рубинштейна «Ко- нечномерные модели оптимизации», изданной в Новосибир- ском университете в 1970 г. Однако весь материал при- шлось существенно переработать с учетом направленности новой книги и дополнить числовыми примерами.  Авторы 
ПРЕДИСЛОВИЕ КО ВТОРОМУ ИЗДАНИЮ  Общий план и направленность книги остались преж- ними. Вместе с тем книга переработана с учетом много- летнего опыта преподавания математического программиро- вания в Новосибирском государственном университете и Уфимском авиационном институте. Заново написаны главы, посвященные экстремальным задачам на графах и задачам целочисленного программирования. Далее, авторы сочли це- лесообразным вынести алгоритмическое доказательство тео- ремы двойственности для задач линейного программирова- ния в самостоятельную главу. Наконец, с учетом запросов современной инженерной и экономической практики значи- тельно расширена часть книги, посвященная задачам и численным методам нелинейного программирования. Авторы считают своим приятным долгом поблагодарить рецензентов Р. Г. Стронгина, Д. В. Денисова, а также С. А. Ашманова и ответственного редактора А. А. Каплана за полезные замечапия, которые учтены авторами при подго- товке рукописи к печати. 
ИСПОЛЬЗУЕМЫЕ ПОНЯТИЯ И ОБОЗНАЧЕНИЯ  В книге используются следующие простейшие тео- ретико-множественные обозначения: ае М означает, что а является элементом множества М (читается: а из М); а= М означает, что а не является элементом множе- ства М (читается: а не принадлежит М); М = означает, что множество М не имеет ни одпого элемента (такие множества называются пустыми); М <М означает, что множество М является подмноже- ством множества №, т. е. из ае= М следует, что а= М (чи- тается: М содержится в №); М =М.0 М. означает, что а=М в том и только том случае, если ае=М, или ае= М, (при этом М называется объединением множеств М, и М»); М =М.ПМ, означает, что аеМ в том и только том случае, если а= М, иаеМ, (при этом М называется пере- сечением множеств М, и М}:); М = М,\Мь означает, что а=М в том и только том слу- чае, если а= М.:, но а>Е М, (при этом М называется раз- ностью множеств М, и М}.); М =М. ХМ, означает, что элементами множества М яв- ляются упорядоченные пары (41, а›) элементов а, Е М, и аз = М. (при этом М называется декартовым произведением множеств М, и М:). Аналогично определяются объединения и пересечения т  любого числа множеств. Например, М = U М; означает, i=1  что а=М в том и только том случае, если ае М; при не- котором натуральном фот 1 до т. Конечные множества часто задаются путем перечисле- ния всех своих элементов. Например, М = {а,, а», ..., and означает, что М является объединением т одноэлементных 
mHomects M;= {a}. To xe o6canauaet sanuch M = {aj}, — oy  где под $=1, т понимается, что $ пробегает все натураль- ные значения от 1 до т. При известном множестве № его подмножество может быть задано путем указания характерных свойств его эле- ментов. Например, если А — мпожество всех вещественных чисел, то его подмножество М = {ае А|{(а)=0} состоит из вещественных корпей уравнения }(а) = 0. Подмножество М множества вещественных чисел А на- зывают ограниченным сверху, если все его элементы не пре- восходят некоторого сеА. При этом с называют верхней границей для М. Для каждого ограниченного сверху непу- стого множества МА среди его верхних границ имеется минимальная, которую называют супремумом множества М и обозначают через зар М. Если же множество Мед не является ограниченным сверху, то пишут зир М = -Ео, Аналогично множество МВ называют ограниченным снизу, если все его элементы не меньше некоторого числа сЕД. Соответствующие сеВ называют нижними грани- цами, а наибольшую из них — инфимумом множества М, который обозначают через 10Ё М. Если же множество М=В не является ограниченным снизу, то пишут ШЁМ = —o, Заметим, что не каждое ограниченное сверху множество McR имеет паибольший элемент, обозначаемый обычно через тах М. Однако если такой элемент существует, то шах М =зир М. Аналогично, если в множестве МВ име- ется наименьший элемент, обозначаемый через шш М, то это множество является ограниченным снизу и при этом min M = inf M. В книге используется понятие арифметического п-мер- ного пространства, обозначаемого через А”, с обычными операциями сложения и умножения элементов на веще- ственные числа. Элементы х=(т!, д)... 2.) называются п-мерными векторами, а вещественные числа XL, Lo, ..., Ln — компонентами этих векторов. Правда, при рассмотрении геометрических объектов в гл. 10, 41 и 13 указанные эле- менты удобнее называть точками с координатами х:, т», .. Та. Предполагается, что читатель знаком с понятиями ли- нейной комбинации, линейной зависимости и линейной не- зависимости векторов, с понятием базиса, а также с поня- тием и основными свойствами скалярного произведения п (x,y) => “iY; двух векторов х=(1., Lo, х,) и у=  1=—=  = (у, Yay sory У»). 
Далее, какова бы пи была прямоугольная матрица  а: @12...@т А — Я 21 оо eee Aon Amy Ame +++ mn  максимальное число линейно независимых строк (т. е. со- ответствующих и-мерных векторов) совпадает с максималь- ным числом линейно независимых столбцов (т. е. соответ- ствующих т-мерных векторов). Это число называется ран- гом матрицы А. При этом квадратную матрицу  @11 Ajo --+ Am A — Qo1 Qos eee Lom Ятл @т>... @тт  порядка т называют неособенной, если ее ранг г совпадает с т. Наконец, если отвечающая системе линейных уравне-  ний 5 ат; =6;, 1=1, т, квадратная матрица А является  неособенной. то эта система имеет единственное решение при любых свободных членах 6.. 
ГЛАВА 1  ОСНОВНАЯ ЛИНЕЙНАЯ МОДЕЛЬ ПРОИЗВОДСТВЕННОГО ПЛАНИРОВАНИЯ  1.4. ПРОСТЕЙШИЙ ПРИМЕР ЗАДАЧИ РАЦИОНАЛЬНОГО РАСКРОЯ  1.1.1. Допустим, что при серийном производстве не- которого изделия из полос профильного проката длипой 5000 мм необходимо вырезать три вида заготовок. Количе- ство и длины заготовок, требуемых для одного изделия, при- ведены в табл. 1. В производственной практике в подобных случаях обыч- но поступают следующим образом. Часть полос разрезается на самые длинные заготовки (в нашем примере заготовки № 1). Из одной полосы получаются три заготовки № 1, причем отход составляет всего 35 мм. Для получения за- готовок № 2 используются новые полосы. Из одной полосы выходит четыре заготовки № 2 с остатком 800 мм. Из этих остатков вырезаются самые короткие заготовки № 3. Одна- ко, так как для одного изделия требуется лишь одна заго- товка № 3, часть остатков остается неиспользованной. Теперь можно составить план, согласно которому будет производиться раскрой полос. Такой план использует карты раскроя, изображенные на рис. 1. Чтобы получить комплект заготовок для 12 изделий, по первой карте придется разре- зать 4 полосы, по второй — также 4 полосы, а по третьей — 11 полос. Таким образом, на каждые 42 изделий будет рас- ходоваться 19 полос. На первый взгляд указанный раскройный план может показаться вполне приемлемым. Однако этот план не наи- более экономный. Чтобы в этом убедиться, рассмотрим дру- гой раскройный план, использую-  ., Таблица 4 щий карты раскроя, изображен-  ные на рис. 2. Действительно, раз- |номер за- Количе- резая 12 полос по новой первой | Готовки | Длина | ство карте, 4 полосы — по второй и 2 — по третьей, мы получаем 12 комп- 4 1655 4 лектов заготовок, затратив вместо 2 1050 5 19 только 18 полос. 3 210 1 
Рис. 1.  Рис. 2.  Рассмотренный пример показывает, что даже в простей- ших случаях составление раскройного плана «на глаз» не всегда приводит к оптимальному (наиболее экономному) варианту. В связи с этим возникает необходимость в спе- циальных методах, позволяющих контролировать предлагае- мые плановые решения и в случае неоптимальности нахо- дить лучшие варианты. Такого рода методы для широкого круга планово-производственных и экономических вопросов были получены впервые в линейном программировании. Для пояснения характера результатов этой теории приведем вытекающий из нее признак оптимального плана для рас- смотренной задачи рационального раскроя. Раскройный план, при котором заготовки получаются в требуемой пропорции, в том и только том случае является оптимальным, когда рассматриваемым заготовкам можно со- поставить неотрицательные оценки у., У», уз (не все равные нулю), удовлетворяющие следующим условиям: (а) во всех используемых картах раскроя сумммарная оценка вырезаемых заготовок одна и та же; (6) не существует раскроя полосы, при котором суммар- ная оценка вырезаемых заготовок была бы большей, чем в используемых картах. С помощью этого признака легко проверяется, что рас- кройный план, использующий карты раскроя рис. 2, яв- ляется оптимальным. Действительно, на основании условия (а) оценки заготовок должны удовлетворять соотношениям  у: + Зу, = 4у» + Зу: =4у..  Из этой однородной системы двух линейных уравнений с тремя неизвестными находим у, =с, у, =с, у, =0, где c—  10 
произвольная положительная постоянная. Рассматриваемые оценки нас интересуют лишь с точностью до положитель- ного множителя, поэтому можно принять с = 1 у! = у» =1, Из = 0. Покажем, что найденные оценки удовлетворяют также условию (6). Для этого заметим, что во всех используемых раскроях (см. рис. 2) суммарная оценка вырезаемых заго- товок равна 4. С другой стороны, для получения одной оце- ночной единицы необходимо затратить не менее 1050 пог. мм. Поэтому суммарная оценка заготовок, получаемых из одной полосы, не может превосходить 5000 : 4050 =4, 7... . Но эта суммарная оценка является целой, и, следовательно, она не больше, чем 4. Таким образом, раскройный план, ис- пользующий карты раскроя рис. 2, является оптимальным, Проведем теперь аналогичную проверку первого плана, использующего карты раскроя рис. 1. Для этого, как и вы- ше, на основании условия (а) из системы  Зи: = Ay. + Зуз = AY  находим у, = с/З, У. = с/4, уз ==0, что при с = 12 опять-таки дает целочисленные оценки у, =4, у. =3, уз =0. При этом во всех используемых картах рис. 1 суммарная оценка вы- резаемых заготовок равна 12. Однако условие (6) для най- денных оценок нарушается. Действительно, в последней карте раскроя рис. 1 одну из заготовок № 2 можно заме- нить заготовкой № 1. При этом суммарная оценка выре- заемых заготовок становится большей, чем в используемых раскроях. Следовательно, рассматриваемый раскройный план не является оптимальным. Важно отметить, что проведенный контроль имеющихся раскройных планов не потребовал сравнения их с другими возможными планами. В оптимальности одного и неопти- мальности другого мы убедились путем непосредственного анализа самих этих планов. Подобных методов контроля плановых решений до недавнего времени не существовало. 1.1.2. Оценки заготовок, которые вычисляются в процес- се контроля раскройных планов, не следует рассматривать как чисто вспомогательный математический инструмента- рий. С их помощью можно найти, например, подетальные нормы расхода материала, играющие важную роль при прак- тической реализации намеченного оптимального плана. В рассматриваемом примере оптимальному плану, как мы видели, отвечают оценки заготовок у, =1, у. =1, уз =0. Суммарная оценка одного комплекта заготовок в данном случае составляет 1Ж1+5Ж1+1Ж0=6. При этом на  11 
Таблица 2 комплект расходуется 18 : 12 = 1,5  т |побальная норма | ПОЛОСЫ, ЧТо составляет 7500 пог. ой мм. Следовательно, на одну оце- ES Первый | Второй ночную единицу расходуется me | Зариант | ваРиаНт | 7500;:6=1250 пог. мм. Умножая эту величину на оценки заготовок, 1655 1250 1744 получаем первый вариант поде- 1000 1250 oy тальных норм расхода материала, 10 о приведенный в табл. 2. В этой же  таблице приведен второй вариант подетальных норм, составленный путем распределения от- ходов между заготовками пропорционально их длинам. И в том, и в другом варианте на комплект заготовок рас- ‚ходуется 7500 пог. мм. Допустим теперь, что в силу тех или иных причин по- требовалось дополнительно произвести 100 заготовок № 1. По второму варианту подетальных норм для этого требует- ся 1744 Х 100 = 174400 пог. мм., т. е. свыше 34 полос, а по первому — лишь 25. Покажем, что для получения требуе- мых заготовок 25 полос вполне достаточно. Из этих допол- нительных 25 полос, используя первую карту рис. 2, можно получить 25 заготовок № 1 и 75 заготовок № 2. Далее, из 75 полос, которые ранее планировалось разрезать по третьей карте, мы получим еще 75 заготовок № 1 и 225 заготовок № 2. В результате будут получены требуемые 100 заготовок № 1, а число заготовок № 2 не изменится. Если бы потребовалось дополнительно произвести 100 заготовок № 2, то, ориентируясь на второй вариант поде- тальных норм, мы заказали бы для этого 22 полосы. Но этих полос для получения нужного числа заготовок № 2 недостаточно. Для этого требуется израсходовать 25 полос, что опять-таки отвечает первому варианту подетальных норм. Мы видим, что составленные, казалось бы естественным образом, подетальные нормы второго варианта не позволя- ют провести объективный экономический расчет. В то же время нормы, соответствующие оценкам оптимального пла- на, дают правильную ориентировку. 1.1.3. Возвращаясь к описанному методу контроля рас- кройного плана, заметим, что с его помощью строится так- же общий вычислительный процесс, позволяющий рассчиты- вать на современных ЭВМ оптимальные раскройные планы и отвечающие им оценки заготовок при наличии нескольких типов поступающих полос и большого числа различных за- готовок. На каждом шаге этого процесса имеется некоторый  12 
раскройный план. При контроле Таблица 3 этого плана определяется карта Карта | Количество заготовок! раскроя, позволяющая найти бо- рас- v кроя No 1 №2 лее экономный план. Если же та- кой карты не обнаруживается, то коптролируемый план является оптимальным и на этом процесс заканчивается. По аналогичному принципу строятся также числен- ные методы решения произволь- ных задач линейного программирования. С ними и различ- ными их конкретизациями читатель познакомится в следую- цих главах. Здесь же мы опишем один элементарно-геомет- рический метод, позволяющий эффективно решать рассмат- риваемые задачи рационального раскроя в случае двух заготовок. Прежде всего заметим, что в приведенном примере за- готовки № 3 не являются лимитирующими. Их всегда мож- но получить в требуемом количестве из отходов, которые образуются в других картах раскроя. Это означает, что об- щий расход материала целиком определяется способами по- лучения заготовок № 1 и № 2. Таким образом, задача сво- дится к случаю двух заготовок. Возможные способы рас- кроя полосы на заготовки требуемых длин приведены в табл. 3. Раскройный план определяется вектором  X= (X14, Lo, Ts, 2) (1.1)  ms GO DD © = bho ww Bh = ©  с неотрицательными компонентами, указывающими число полос, разрезаемых по каждой карте раскроя. При этом из р=т, Ех, Рх.+ 1. полос вырезаются В = 3х, + 2х, + х, за- готовок № Ти Ь=2, + 3х. т4т, заготовок № 2. Эти заго- товки получаются в требуемой пропорции в том случае, если ЭН =Ь,. и тогда на каждую расходуемую полосу приходится  k = 5t,/p = t./p (1.2)  полных комплектов заготовок. Поэтому мы заинтересованы в выборе раскройного плана (1.1), при котором величина (1.2) достигает максимума. Так как при умножении вектора х на положитель- ное число величина (1.2) не меняется, то при анализе задачи можно ограничиваться рассмотрением только таких векторов (1.4), для которых р=ал. + 2. + а. № х. =1. Каждому из таких векторов на плоскости ВОф сопоставим точку А(Ь, В) с координатами В = За! + 21, т, & = +  13 
-+ 3х. + 4х.. При этом картам раскроя табл. 3 сопоставляются точки 4,(3, 0), А, (2, 1), А, (1, 3) и А, (0, 4), а точки, отвечающие всем другим раскройным планам, заполняют четырехугольник А,А,А,Аз (рис. 3). Что касается рас- хройных планов, при которых заготов- ки вырезаются в требуемой пропорции, т.е. 6 =оЭЫ, то отвечающие им точки лежат на луче ОБ, проходящем через точку В (1, 5). Из приведенных рассуждений ясно, что оптимальному плану отвечает край- няя точка пересечения луча ОВ с Рис. 3. четырехугольником A,A,A,A;. Ооот- ветствующая точка ЛМ лежит на отрезке 4.4, и делит его в отношении 1:2. Поэтому точка М отвечает вектору 2°(0, 0, 2/3, 1/3). Это означает, что в оптимальном плане из каждых трех полос две поло- сы следует разрезать по карте № 3, а одну — по карте №4 (см. табл. 3). При этом из трех полос получают два ком- плекта заготовок. Что касается заготовок № 3, имеющих длину 240 мм, то они в нужном количестве могут быть получены из отходов карты № 4. Нетрудно видеть, что по- лученный раскройный план, по существу, совпадает с рас- смотренным выше планом, использующим карты раскроя рис. 2. Отвечающие оптимальному плану оценки заготовок У: И У. также могут быть найдены с помощью рис. 5. От- ношение этих оценок совпадает с угловым коэффициентом прямой А.А., на которой расположена крайняя точка пере- сечения луча ОБ с четырехугольником А,4,4,Д.. Задачи рационального раскроя, в которых число загото- вок т больше двух, допускают аналогичную геометриче- скую интерпретацию. Однако использовать эту интерпрета- цию для графического определения оптимального плана рас- кроя весьма затруднительно. Поэтому соответствующая край- няя точка пересечения луча с выпуклым мнпогогранпиком при т > 2 определяется с помощью некоторых аналитиче- ских процедур.  1.2. УСЛОВНЫЙ ПРИМЕР ЗАДАЧИ ОПТИМИЗАЦИИ ПРОИЗВОДСТВЕННОЙ ПРОГРАММЫ  Рассмотрим пример задачи оптимизации производ-. ственной программы небольшого предприятия, перерабаты- вающего некоторое комплексное сырье (например, нефть) в два вида конечной продукции.  14 
Таблица 4 Таблица 5  Расход из 1 т ко- нечного продукта, Kr  Промежуточ-|Выход из 1т ный продукт | сырья, кг  Промежу- точный продукт  I II 1 460 200 20 80 2 0 200 3 340 3 50 —  Технологический процесс состоит из двух этапов. На пер- вом этапе поступающее сырье перерабатывается в три про- межуточных продукта, которые на втором этапе использу- ются для изготовления требуемой конечной продукции. Выход промежуточных продуктов из одной тонны сырья указан в табл. 4, а расход этих продуктов на производство одной тонны конечной продукции каждого вида — в табл. 5. При этом оптовая цена тонны конечной продукции первого вида 950 руб., а второго — 60 руб. Задача состоит в определении производственной програм- мы, при которой максимизируется цена выпускаемой про- дукции. Это означает, что планируемые выпуски 7, H Zz продукции первого и второго видов в расчете на одну тон- ну исходного сырья должны максимизировать величину  ы(х., 1.) = 50, + 6022. (1.3)  Из приведенных данных о выходе промежуточных продук- тов из одной тонны сырья и удельных затратах этих про- дуктов на производство конечной продукции следует, что производственная программа  х= (5х х.), 120, 120 (1.4)  в том и только том случае является допустимой (практи- чески реализуемой), когда  250, + 8005, < 460, 250: + 2005, < 200, (1.5) 500, + 0х, < 340.  Таким образом, рассматриваемая задача сводится к мак- симизации линейной функции (1.3) на множестве неотри- цательных решений системы линейных неравенств (1.5). В п. 4.4 нам удалось получить решение задачи рацио- нального раскроя, не прибегая к общим численным методам  15 
линейного программирова- ния. Это было связано с тем, что в этом примере лишь две заготовки оказа- лись существенными, т.е. соответствующая — задача линейного программирова- ния содержала лишь два существенных —ограниче- пия. Здесь же система (1.5) содержит три нера- Рис. 4. венства, но имеются лишь две переменные. Это так- же позволяет получить элементарно-геометрическое решение задачи. Каждой паре (1.4) неотрицательных вещественных чи- сел 4, H т, сопоставим в первом квадранте плоскости 2.Ох» точку М(х., 1.). При этом точки М(т., 1.), отвечающие допустимым производственным программам (1.4), т. е. удов- летворяющие условию (1.5), заполняют пятиугольник ОАВСШО (рис. 4), ограниченный осями координат и прямыми  250х, - 800х, = 460, 250x, + 200z, = 200, 500z, + Oz, = 340.  Что касается величины (1.3), то она пропорциональна расстоянию соответствующей точки М(х., 1.) от прямой ОЕ, задаваемой уравнением 505, + 60х, =0, в котором коэффи- циенты при 1: и т. совпадают с заданными оптовыми це- нами. Поэтому оптимальной производственной программе отвечает точка пятиугольника ОАВСО, наиболее удаленная от прямой ОЕ. Таковой в данном случае является точка В, в которой пересекаются прямые  250, + 800, = 460, 250, + 200х, = 200.  Рептая эту систему уравнений, находим искомую оптималь- ную производственную программу 2‘ = (0,453; 0,433), при которой суммарная цена выпускаемой продукции в расчете на одну тонну сырья составляет и=50Х 0,453 + 60 Х Хх 0,433 == 48,63 руб. По аналогии с предыдущим примером отметим, что если бы в рассмотренной задаче оптимизации прозводственной программы было более двух конечных продуктов, то исполь-  16 
зовать указанную интерпретацию для графического опреде- ления оптимальной программы было бы затруднительно. Поэтому такие задачи решаются на ЭВМ с помощью общих методов линейного программировапия.  1.3. ОБСУЖДЕНИЕ ОСНОВНЫХ ГИПОТЕЗ РАССМАТРИВАЕМОЙ МОДЕЛИ ПРОИЗВОДСТВЕННОГО ПЛАНИРОВАНИЯ  1.3.1. Экономическая наука охватывает весьма ши- рокие аспекты человэческой деятельности. Сюда относятся. в первую очередь организация производства материальных благ и распределение результатов между членами общества. Эти аспекты тесно связаны между собой и, в принципе, неразделимы. Это не означает, однако, что во всех эконо- мических моделях указапные аспекты должны отражаться с одинаковой степенью детализации. В изучаемых здесь моделях производственного планирования основное внима- ние уделяется организации производственной деятельности. Что касается внепроизводственных факторов, то они рас- сматриваются здесь как внешние и априори заданные. Бо- лее того, в каждой конкретной модели учитываются затра- ты и объемы производства лишь по некоторым основным производственным факторам. Другие же считаются второ- степенными и в модель не включаются. Так, в рассмотренной простейшей задаче рационального раскроя учитывались только четыре основных фактора: три вида вырезаемых заготовок и расходуемые полосы профиль- ного проката. Во втором примере таких факторов было уже семь: поступающее сырье, три промежуточных продукта, два вида конечной продукции и получаемый доход от реа- лизации выпускаемой продукции. В общем случае в качестве учитываемых факторов мо- гут выступать затрачиваемый труд рабочих различных ква- лификаций, используемые виды сырья и материалов, энер- гетические и природные ресурсы, задалживаемое оборудо- вание, различные виды выпускаемой продукции и т. д. Все эти факторы принято называть ингребиентами модели. Не- которые группы ингредиентов могут измеряться в человеко- часах, другие — весовыми или объемными единицами, третьи — штуками и т. д. В ходе каждого производственного процесса некоторые ипгредиенты затрачиваются, другие — производятся. При этом важной характеристикой реализованного производ- 5  fe  17 
ственного процесса является так называемый балансовый вектор, компоненты которого характеризуют итоговый вы- пуск или затраты всех рассматриваемых ингредиентов. Возможность планирования производственного процесса предполагает наличие некоторых параметров управления, изменение значений которых влияет на получаемый балан- совый вектор. Нас будут интересовать только так называе- мые детерминированные модели, в которых балансовый вок- тор однозначно определяется выбором значений соответ- ствующих параметров управления. В рассматриваемой здесь простейшей модели производст- венного планирования делаются следующие предположения {гипотезы). Гипотеза аддитивности. Изучаемый производственный процесс естественным образом разбивается на ряд элемен- тарных процессов, так называемых производственных спо- собов, каждый из которых управляется своими параметрами. При этом общий балансовый вектор получается путем сум- мирования балансовых векторов всех элементарных про- цессов. Гипотеза однородности. В каждом производственном спо- собе имеется лишь один параметр управления, принимаю- щий произвольные неотрицательные значения. При этом отвечающий этому способу балансовый вектор пропорцио- нален выбранному значению соответствующего параметра правления. Приведенные гипотезы означают, что общий балансовый вектор модели выражается линейно через параметры управ- ления. Именно поэтому рассматриваемые модели называют линейными. Планируемые значения параметров управления в этих моделях принято называть интенсивностями приме- нения соответствующих производственных способов, а со- вокупность этих значений — производственным планом. 1.3.2. Для определенности будем считать, что в рассмат- риваемой модели имеются г ингредиентов и п производ- ственных способов. Ввиду гипотезы однородности производ-  ственные способы }=1, п полностью характеризуются век- тсрами  ой = (yj, oj, «++, Ari); (1.6)  компоненты которых указывают объемы производства раз- личных ингредиентов при использовании данного способа с некоторой единичной интенсивностью. При этом отрицатель- ные компоненты, естественно, трактуются как затраты со- ответствующих ингредиентов.  .18 
Производственный план в данном случае определяется выбором п-мерного вектора  1=(7., Go, ..., Ln), 1420, pHi, n, (1.7)  компоненты которого указывают планируемые интенсивно- сти применения имеющихся производственных способов. При этом балансовые векторы соответствующих производ- ственных способов имеют вид  хо — (ах, ЧТ, +. ат) ’ (1.8)  a балансовым вектором всего производственного процесса является г-мерный вектор  n n n 7 j ) ~ Jt (x) = У, #;% — (> Qyjljy eves У ар. (1.9) j=1 j=1 j=1 Во многих случаях ингредиенты модели разбиваются на производимые и затрачиваемые. Для первых из них аз; > 0,  а для вторых а.<0 при всех ]=1, п. При этом соответ- ствующие знаки, естественно, имеют также компоненты балансового вектора. Однако в реальных моделях встречают- ся также ингредиенты, которые в некоторых способах про- изводятся, а в других затрачиваются. Отвечающие им ком- поненты балансового вектора могут иметь уже любые знаки. Эти компоненты являются положительными, если сум- марное производство соответствующих ингредиентов превос- ходит объем их затрат. Тем же из этих ингредиентов, кото- рые затрачиваются в большем количестве, чем производят- ся, отвечают отрицательные компоненты. В случае совпаде- ния объемов производства и затрат соответствующим ингредиентам отвечают нулевые компоненты балансового вектора. В рассмотренном простейшем примере рационального раскроя фигурировало четыре вида ингредиентов: три типа заготовок и затрачиваемые полосы профильного проката. При этом изображенным на рис. 1 и 2 картам раскроя от- вечают производственные способы, которые харак- - теризуются векторами с ™N. 1 2 компонентами, приведен- i ными в соответствующих столбцах табл. 6. Далее, раскройному плану, использующему раскрои рис. 1, отвечает  Таблица 6  wo у  i CO DO moO Ww mm WO © око => > © „>  19 
балансовый вектор л (4, 4, 11, 0) = (12, 60, 12, —19), а оптимальному раскройному плану, использующему рас- крои рис. 2,— вектор л (0, 4, 2, 12) = (12, 60, 12, —18). В задаче оптимизации производственной программы {п. 1.2) имелось семь ингредиентов: поступающее сырье, три промежуточных продукта, два вида конечной продук- ции и получаемый доход. Эти ингредиенты мы занумеруем в указанном порядке. При этом производственный способ,  отвечающий первичной переработке сырья, характеризует- ся вектором  a' =(—1000, 460, 200, 340, 0, 0, 0). Производственные способы получения конечной продукции характеризуются векторами a” =(0, —250, —250, —500, 1000, 0, 0), ©’ =(0, —800, —200, 0, 0, 1000, 0), а реализации продукции отвечают векторы a* =(0, 0, 0, 0, —1000, 0, 50), о’ = (0, 0, 0, 0, 0, —1000, 60).  Рассчитанному оптимальному плану при этом соответствует балансовый вектор  л(1; 0,453; 0,433; 0,453; 0,433) = =(—1000; 0; 0; 143,5; 0; 0; 48,63).  Заметим, что при анализе рассмотренных примеров пи. 1.1 и 1.2 искусственно исключены в первом случае часть ин- гредиентов, а во втором — часть производственных способов. Благодаря этому решение задач удалось получить с по- мощью элементарно-геометрических методов.  1.4. ОКОНЧАТЕЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ  Описанную часть модели естественно назвать техно- логической. В ней характеризуются возможности исследуе- мого производственного процесса. Однако при планирова- нии необходимо учитывать также ряд непроизводственных Факторов, среди которых основными являются имеющиеся  20 
ресурсы и требуемый ассортимент продукции. Эти дополни- тельные условия могут вводигься в модель различными способами. Рассматриваемый здесь канонический способ учета этих дополнительных условий является достаточно универсаль- ным. Как и выше, будем считать, что в исследуемой линей- ной модели имеется г ингредиентов и п производственных способов, которым отвечают векторы (1.6). Тогда каждый производственный план (1.7) характеризуется соответствую- щим балансовым вектором (1.9). Интересующие нас непроизводственные факторы будут учитываться путем введения ограничений на балансовые векторы, а именно будем считать допустимыми только та- кие производственные планы (1.7), при которых первые m=r—1 компонент балансового вектора (1.9) удовлетво- ряют неравенствам  п Dy 442; +6;>0, i=1,m, (1.10) j=1 где 6, — заданные вещественные числа. Положительные 6, отвечают ингредиентам, по которым допускаются отрица- тельные балансы, и характеризуют имеющиеся ресурсы по этим ингредиентам. Отрицательные 6; отвечают ингредиен- там, которые должны выдаваться вовне модели. При этом |6; характеризуют минимально допустимый выпуск этих ингредиентов. Наконец, нулевые 6; отвечают ингредиентам, которые не поступают в модель извне и не должны выда- ваться. Соответствующие компоненты балансового вектора должны быть неотрицательными. Что касается последнего выделенного ингредиента, то итоговый баланс по нему принимается в качестве основной характеристики качества соответствующего допустимого производственного плана. Оптимальным считается такой по- пустимый план, для которого эта характеристика достигает максимума. Важно отметить, что баланс по выделенному ингредиенту не обязательно должен быть положительным. Во многих задачах этот ингредиент является затрачивае- мым. При этом максимизация соответствующей отрицатель- ной величины означает минимизацию суммарных затрат. Таким образом, непроизводственные факторы в приве- денной модели рассматриваются как внешние и априори заданные. Они полностью характеризуются выделением ин- гредиента, принимаемого за показатель качества, и зада- нием величин 6; характеризующих имеющиеся ресурсы и требуемый ассортимент продукции. Математический анализ  21 
описанной модели производственного планирования сводит- ся к рассмотрению следующей экстремальной задачи. При задапных векторах (1.6) определить вектор (1.7), удовлетворяющий условиям (1.10) и доставляющий макси- мум линейной функции  u(r) = x ApjLj. (1.41)  Векторы (1.7), удовлетворяющие условию (1.10), назы- ваются допустимыми, а искомый допустимый вектор, мак- симизирующий функцию (1.11), — оптимальным. Для иллюстрации запишем теперь в указанной форме рассмотренную в п. 1.2 простейшую задачу оптимизации производственной программы. Напомним, что в этой задаче r=7 uw n=5; 2, — интенсивность применения способа пер- вичной переработки поступающего сырья; 5х. и 1: характе- ризуют объемы выпуска конечной продукции, а х, и 1, — количество реализуемой продукции. Через { мы обозначим количество поступающего сырья в килограммах. Тогда 6: = —=1. Что касается В», 6:, 6., 6; и Oe, отвечающих трем про- межуточным продуктам и двум видам конечной продукции, то их, очевидно, в данном случае следует принять равными нулю. Таким образом, рассматриваемый вопрос оптимизации производственной программы сводится к следующей экстре- мальной задаче. Определить вектор х=(1и, х:, Г Ть Zs), максимизирую- щий линейную функцию в(1)= 502,71 602; na множестве неотрицательных решений системы линейных неравенств  —1000x, +120, 460x, — 2502, — 8002; = 0, 200, — 250, — 200х, = 0, 340zx, — 5002, = 0, 10002, — 10002, => 0, 1000z; — 1000z; = 0.  Эту задачу можно существенно упростить. Очевидно, что получаемый доход пропорционален величине [. Поэтому, не уменьшая общности, можно считать, что [= 1000, т. е. ре- птать задачу в расчете на одну тонну поступающего сырья. Далее, ясно, что в оптимальном плане т, =1, х.=х, д, == =. Тогда после введения новых переменных & =, Ь == =. задача сводится к разысканию вектора #=(&, Ь), мак- симизирующего линейную функцию (= 50-60 на  22 
множестве пеотрицательных решении следующей системы липейных неравенств:  460 — 2508 — 800% = 0, 200 — 2502, — 2002, = 0, 340 — 500%, = 0). Именно в таком виде задача репгалась в п. 1.2.  1.5. СТОИМОСТНАЯ ХАРАКТЕРИСТИКА ОПТИМАЛЬНОГО ПЛАНА  В п. 1.1 для задачи рационального раскроя уже была приведена стоимостная характеристика оптимального плана. Здесь же аналогичная характеристика будет рассмот- рена для общей линейной модели производственного пла- нирования. Как и выше, будем считать, что имеется г=т-1 ин- гредиентов и п производственных способов, характеризуе- мых векторами (1.6). Тогда соответствующий признак оп- тимальности плана можно сформулировать следующим об- разом. Допустимый производственный план (1.7) в том и толь- ко том случае является оптимальным, когда ингредиентам модели можно сопоставить оценки  У:, Yor evry Yr, y: = 0, i=1, т, У: =1, (1.12)  удовлетворяющие следующим условиям: (а) при этих оценках ни один из производственных спо- собов не является сверхрентабельным, т. е.  Хил: <0, 1 =1, п;  i=1 (6) в рассматриваемом производственном плане факти- чески используются только рентабельные способы, т. е.  г У ани: =0, если х,>0;  i=1  (в) нелимитирующим ингредиентам модели отвечают нулевые оценки, т. е.  п у; =0, если У ал; + В > 0. j=1 На доказательстве приведенного признака мы здесь оста- навливаться не будем. Достаточность приведенных условий  23 
проверяется элементарно. Однако тот факт, что для каждо- го оптимального плана могут быть найдены требуемые оценки (1.12), является уже достаточно глубоким. С его доказательством читатель познакомится в следующих главах. Приведенный признак оптимальности, как и в рассмот- ренном выше случае задачи рационального раскроя, позво- ляет проводить объективный анализ предложенного плана и в случае его неоптимальности находить лучший произ- водственный план. Таким образом, и в общем случае на ба- зе приведенпого признака может быть построен вычисли- тельный процесс, позволяющий за конечное число шагов (улучшений плана) получить оптимальный план и отве- чающие ему оценки (1.12). На отвечающие оптимальному плану оценки ингредиен- тов, как уже отмечалось, не следует смотреть как на чисто вспомогательный математический инструментарий. Эти оцен- ки несут в себе важную дополнительную информацию, без которой немыслима практическая реализация намеченного плана, требующая оперативной корректировки его при тех или иных изменениях обстановки. Некоторые примеры та- ких корректировок были приведены в п. 4.1. Важно отметить, что описанная модель производствен- ного планирования была разработана математиками на 0с- нове детального изучения многочисленных реальных про- изводственных процессов. Более того, предложенные методы анализа модели также подсказаны экономической практи- кой. Принятию экономических решений всегда предшество- вал стоимостной анализ возможных вариантов. Однако ка- чество такого анализа существенно зависит от используе- мой системы цен, рентных оценок и других стоимостных показателей. Поэтому экономический анализ на базе стои- мостных показателей, привнесенных в задачу извне, как правило, не дает возможности получить оптимальное ре- шение. Что касается рассмотренной математической модели, то в ней требуемая система показателей (оценок ипгредиен- тов) определяется внутренним образом из условий самой задачи. При изменении технологических способов или дру- гих исходных Данных оценки, вообще говоря, меняются. В связи с этим автором рассматриваемой теории академи- ком Л. В. Канторовичем отвечающие оптимальному плану оценки ингредиентов были названы объективно обуслов- ленными. Возможность эффективного использования объективно обусловленных оценок при экономическом анализе связана  24 
в основном со следующими их свойствами. Во-первых, эти оценки обладают достаточной устойчивостью: при малых изменениях исходных данпых они, как правило, изменяют- ся незначительно. Во-вторых, определяемые этими оценка- ми отношения эквивалепнтиости являются реальными. Это означает, что если У; = КУ: то, за исключением некоторых  особых случаев, всегда можно получить дополнительно не- которое количество = ингредиента й, дополнительно затра- тив Аг единиц ингредиента ф.о. Естественно, все сказанное справедливо только для тех экономических задач, которые полностью укладываются в рамки рассмотренной линейной модели. В реальной эконо- мической практике, как правило, приходится иметь дело с задачами, лишь приближенно удовлетворяющими приведен- ным выше гипотезам. Поэтому получаемые из модели ре- шения требуют тщательного анализа и корректировки.  1.6. ПРИМЕРЫ КОНКРЕТИЗАЦИИ ОСНОВНОЙ МОДЕЛИ  Мы уже рассмотрели в пп. 1.1 и 1.2 два конкрет- ных примера простейших планово-производственных задач, укладывающихся в описанную общую схему. Теперь при- ведем некоторые конкретизации более общего плана. В п. 1.1 речь шла о наиболее экономном использовании полос профильного проката для изготовления требуемых за- готовок. Аналогичные вопросы возникают при переработке нефти, различных руд и других видов комплексного сырья. В связи с этим в литературе рассматривается следующая общая Задача переработки комплекеного сырья. Имеется п тех- нологических способов переработки поступающего сырья и т видов выпускаемой продукции. При этом выход конеч- ной продукции из единицы сырья при различных техноло- гических способах характеризуется т-мерными векторами = (1, №, ..- Йи), ]=1, п. Кроме того, заданы поло- жительные числа }, $=1, т, указывающие nponopyun, в которой требуются различные виды продукции. Задача сводится к определению интенсивностей х;, использования имеющихся технологических способов для получения одного комплекта требуемой продукции с минимальными затрата- ми сырья. Это означает, что ищется п-мерный вектор (1.7),  25 
удовлетворяющий системе линейных неравенств  ee  n У их; > | р = 1, т,  j=1 и доставляющий минимум линейной функции  В этой задаче, как легко видеть, имеются г= т-- 1 ин- гредиентов и п производственных способов, которые харак- теризуются г-мерными векторами  at; = (M13, hej, ...’ йт;, —1), j=1, п.  Следовательно, допустимый вектор (1.7) здесь является оп- тимальным (доставляет минимум функции (1.13) или, что то же, максимум функции и(х)= —ф(7)) в том и только том случае, когда существуют оценки (1.12), удовлетворяю- щие условиям (а)—(в) признака (см. п. 1.5). Условия (а) —(в) на языке исходных данных рассматриваемой за- дачи могут быть переписаны в следующем виде:  > вл < <1, j= Tm, Dd hon =. если 2; > 0,  i=1 .1 у; =0, если У hijt5 > р. j=1  Для простоты мы ограничились рассмотрением случая одного вида поступающего сырья. Аналогичным образом может быть конкретизирована общая схема и в случае не- скольких видов сырья. При этом, правда, необходимо иметь отпосительные ценности различных видов сырья. Рациональный раскрой является частным случаем зада- чи переработки комплексного сырья. Однако возникают специфические трудности, связаппые с перечислением всех возможных карт раскроя поступающего материала. С неко- торыми приемами преодоления этих трудностей в случае рас- кроя линейных материалов (а также прямоугольных листов на прямоугольные заготовки) читатель познакомится в од- ной из следующих глав, посвященной элементам динамиче- ского программирования. Рассмотрим один из вариантов задачи о смесях, система- тически возникающей в нефтеперерабатывающей, химиче- ской, металлургической, пищевой промышленности, а также при составлении оптимальных рационов в животноводстве.  26 
Задача о смесях. Из т видов исходных продуктов можно составить п различных смесей (конечных продуктов). Из- вестны затраты №. 1=1, т, всех исходных продуктов на единицу смеси каждого вида }=1, п. Кроме того, заданы имеющиеся количества В, $=1, т, исходных продуктов и цены с, ]=1, п, выпускаемых смесей. Гребуется опреде- „ить объемы выпуска смесей, при воторых суммарная стои- мость выпускаемой продукции максимальна. Это означает, что ищется п-мерный вектор (1.7), удовлетворяющий систе- ме линейных неравенств  > пух, t= 1,m,  3—1  и доставляющий максимум линейной функции  p(x) = У сут).  j=1  В данном случае опять-таки имеется г= т Р1 ингре- диентов и п производственных способов, которые характе- ризуются г-мерными векторами a) =(—hy, —hoj, ..., —Amy с;). Соответствующую конкретизацию характеристики опти- мального плана для приведенного примера предлагается читателю получить самостоятельно. Остановимся теперь на простейшем варианте задачи транспортировки некоторого однородного продукта. Транспортная задача. Имеется р пунктов производства и 4 пунктов потребления некоторого однородного продукта. Известные объемы производства P, в пунктах производства  & =1, ри объемы потребления О; в пунктах потребления  [=1, 4, а также затраты 4, связанные с перевозкой еди- ницы продукта из пункта производства Ё в пункт потреб- ления [. Требуется прикрепить пункты потребления в пунк- там производства таким образом, чтобы суммарные расходы на транспортировку достигали минимума. Через хы обозначим планируемый объем перевозок из пупкта производства Ё в пункт потребления [. Тогда инте- ресующий нас вопрос сводится к разысканию прямоуголь- пой матрицы  t= [zu], Хы = 0, k= 1, р, [= 1, Ч, (1.14)  27 
удовлетворяющей системе линейных неравенств  Ч —————Z! У tpi< Pr, k= 1, p, (1.15) i=1 У ou 0ь 1= 1,4, (1.16) k=1  п доставляющей минимум линейной функции  ф (1) = р > ть.  В данном случае имеется г=р + 49-1 ингредиентов и n= —р4а производственных способов, которые характеризуют- ся г-мерными векторами  p+l 0,...,0, — 1,0, ...,0,1,0,...,0, — ав), !  k  or! —  сир мана И  k = 4, p, l= 1,9.  Для получения характеристики оптимального плана удоб- но здесь в качестве оценок ингредиентов принять компо- ненты вектора  у = (и, ee ey Ир, Vi, e 2s Va, 1), u, = 0, v, = 0. (1.17)  При этом допустимый план перевозок (1.14) является оп- тимальным в том и только том случае, когда найдется век- тор (1.17), удовлетворяющий условиям  vi — U, S dnt, k = 4, р, р = 1, qd; (1.18) и — и, = ды, если хы > 0, (1.19) q и, = 0, если 2 Int <i Py, (1.20) =1 p =0, ecan ») x4:>Q). (1.24) k=1  Заметим теперь, что условия (1.15) и (1.16) совместны только в том случае, когда суммарный объем производства не меньше общего потребления, т. е.  > Рь> > Q1. (1.22)  l=1  28 
При этом для оптимального плана перевозок в случае по- ложительных 4ы во всех перавенствах (1.16) достигаются равенства. Если же суммарный объем производства совпа- дает с общим потреблением, то равенства достигаются так- же во всех неравенствах (1.15). А это означает, что в ука- занном случае в характеристике оптимального плана ус- ловия (1.20) и (1.21) можно опустить. Но тогда требова- ние неотрицательности оценок и и VY, также становится излишним. Это связано с тем, что в условия (1.18) и (1.19) входят только разности соответствующих оценок. Таким образом, если суммарные объемы производства и потребления рассматриваемого однородного продукта сов- падают (в неравенстве (1.22) достигается равенство), то для оптимальности допустимого плана необходимо и доста- точно, чтобы нашлись вещественные и’ и 1, удовлетворя- ющие соотношениям (1.18) и (1.19). Эти иь и и интере- суют нас лишь с точностью до постоянного слагаемого. Эко- номический смысл имеют не сами они, а их разности, ука- зывающие, на сколько ценнее единица продукта в одном из этих пунктов, чем в другом. В электротехнике анало- гичную роль играют потенциалы. В связи с этим оценки и, И и иногда называют потенциалами соответствующих пунктов. В качестве последнего примера рассмотрим задачу, связанную с загрузкой универсального оборудования. По своей математической структуре задача близка к рассмот- ренной в предыдущем примере. Именно эта задача при- влекла внимание академика Л. В. Канторовича к пробле- мам оптимального планирования. Задача загрузки оборудования. На производственном участке, выпускающем 4 видов продукции, имеется р ти- пов универсальных станков. На каждом из них может про- изводиться любой вид продукции. Известны производи- тельность Йы каждого станка Ё по каждому виду продук- ции [| а также лимит рабочего времени № станка К. Требуется спланировать работу оборудования так, чтобы различные виды продукции выпускались в фиксированной пропорции Н:Ь:...: | и притом в максимальном объеме. Через ты обозначим планируемое время работы k-ro станка по выпуску [-го вида продукции, а через 5, — вы- пускаемое число ассортиментных наборов продукции, каж- дый из которых состоит из р, №, ... | единиц соответ- ствующих видов продукции. Тогда интересующий нас во- прос сводится к определению величины х, 0 и матрицы 2 = [ты], лы 20, Е =1, р, [=1, 4, максимизирующих функ-  29 
цию и(72, 2)=5 на множестве неотрицательных решений следующей системы:  У, Lai tas k=1,p, (1.23) l=1 р = > hte Shir b= 1,4. (1.24) =]  В данном случае имеется г=р + 4-1 ингредиентов и п = ра--1 производственных способов, которые характери- зуются г-мерными векторами  p+l  0,...,0,— 1,0, . +59, lint 0,...,0), k=1,p, l= 1,49,  0, ay | 0, —fi, ar) —^№, 1).  Заметим теперь, что ввиду положительности исходных величин hy, для оптимального плана во всех неравенствах (1.23) и (1.24) достигаются равенства. Благодаря этому признак оптимальности здесь может быть приведен к сле- дующей форме. Допустимый план загрузки оборудования в том и толь- ко том случае является оптимальным, если для него во всех неравенствах (1.23) и (1.24) достигаются равенства , кроме тозо, существует вектор (1.47), удовлетворяющий условиям  1 a” =  ae драть ==  Й ый, < и, Е =1, р, [=1, 4; Вый = иь, если хы > 0;  q > fm =1.  1=1  ГЛАВА 2  ТЕОРИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ  2.1. ОБЩАЯ ХАРАКТЕРИСТИКА ПРОБЛЕМАТИКИ  В связи с расширением круга приложений матема- тики внимание ученых в последние десятилетия было при- влечено к новым задачам, исследование которых в рам- ках классического математического анализа оказалось за-  30 
труднительным. В первую очередь это относится к экстре- мальным задачам, возникающим при анализе различных моделей выбора оптимальных решений в экопомике, тех- нике, военном деле и других сферах человеческой деятель- ности. С характерным примером оптимизационной модели и различными ее конкретизациями читатель уже познако- мился в первой главе. В возникающих при анализе опти- мизационных моделей экстремальных задачах искомый максимум или минимум достигается, как правило, не во внутренних, а в граничных точках области изменения CO- ответствующих параметров управления. Ввиду этого здесь оказываются уже недостаточными классические приемы исследования экстремальных задач, изучаемые в общем курсе математического анализа. Это привело к возникно- вению ряда новых математических направлений, предме- том которых являются постановка, теоретическое исследо- вание и разработка эффективных методов решения различ- ных классов экстремальных задач, связанных © теми или иными проблемами оптимизации. Таковыми являются ли- нейное, выпуклое, динамическое и целочисленное програм- мирование, теория игр, теория оптимального управления и дифференциальных игр, а также общая теория выпуклых экстремальных задач в функциональных пространствах. Формирование указанных направлений потребовало разра- ботки принципиально новых подходов, оказавших существенное влияние практически на все разделы современной математической науки и ее многочислен- ные приложения. В становлении и развитии перечисленных математиче- ских направлений принимали участие многие советские и зарубежные математики. Мы ограничимся здесь упомина- нием лишь наиболее выдающихся ученых, являющихся основоположниками некоторых из указанных направлений. К их числу относятся советские академики Л. В. Канто- рович, Л. С. Понтрягин и Н. Н. Красовский, а также круп- ные зарубежные ученые Дж. фоп Нейман, Т. К. Купмацс, Дж. Б. Данциг, Г. У. Вун, А. У. Таккер, Р. Беллман, А.-Л. Лионс. Одним из первых и наиболее разработанных разделов теории неклассических экстремальных задач является ли- пейное программирование. Первые работы по липейному программированию появились в СССР еще в довоенный период. Одпако бурное развитие этого направления отно- спится к 50-м годам, так как лишь с вводом в строй бы- стродействующей электронной вычислительной техники  34 
появилась реальная возможность практического использо- вания разработанных численных методов. Приводимое ниже сопоставление задач линейного пр траммирования с задачами линейной алгебры представляе определенный интерес, так как позволяет понять основно отличие между указаппыми двумя математическими на правлениями. Одпако этот материал без ущерба для пони  мания последующего может быть опущен. Основным объектом изучения в линейной алгебре яв-  ляются так пазываемые аффинные многообразия в В". Каждое из них может быть задано системой линейных  Уравнепий п > A4jx; = b;, i=1,m. (2.1) j=1  С другой стороны, каждое непустое аффинное многообра- зие может быть задано также параметрически:  , 1 8 7 x= 29+ D 6,2", (2.2) s=] где 2’, xv’, ..., 2’— фиксированные элементы А”, а с,  произвольные вещественные числа. При этом переход от одной формы задания к другой сводится к решению не- которой системы линейных уравнений. Действительно, если аффинное многообразие задано си- ‹стемой (2.1), то в качестве х’в (2.2) может быть при- нято произвольное частное решение этой системы, а в ка честве 2' ..., 2’ — полный набор линейно независимых решений соответствующей однородной системы. Если же аффинное многообразие задано параметрически, т. е. в фор- ме (2.2), то в качестве строк матрицы, т. е. векторов  @ = (ан, а, ...@ш), &=1, т, в (2.1) может быть принят полный набор липейно не- зависимых решений однородной системы {1 а) =0, $=1, г,  где через <5“, а> обозначено скалярное произведение п-мер- ных векторов 21° и а. При этом свободные члепы 6; вычис- ляются по формуле  b,=<a', x>, +=1, т.  Таким образом, в обоих случаях переход от одной формы задания аффинного многообразия к другой осуществля  32 
с помощью решения пекоторой системы линейпых урав- пений. Поэтому в курсах липейной алгебры обычно не концентрируется внимание на том, что при решении конк- ретных вопросов относительно аффинного многообразия совсем не безразлично, в какой форме оно задано. Напрп- мер, вопрос о принадлежности аффинному многообразию фиксированного элемента становится тривиальным, если рассматриваемое многообразие задано системой (2.1). В то же время. вопрос о том, удовлетворяют ли все элементы аффинного многообразия заданному линейному уравнению, легко решается, если многообразие задано в параметриче- ской форме (2.2). Для этого достаточно проверить выпол- нение соотношений  <р, 2’) = 4, <p, x>=0, 8=1, г.  Если же интересующее нас аффинное многообразие зада- но в другой форме, то приведенные вопросы существенно усложняются. Однако для их решения можно воспользо- ваться имеющимися эффективными методами перехода от одной формы задания соответствующего мпогообразия к другой. С иным положением мы встречаемся в линейном про- граммировании, где рассматриваются более сложные гео- метрические объекты в А” — выпуклые многогранники.  Каждый из пих может быть задан некоторой системой ли- нейных неравенств  ————  n p> ах; > b;, i=1,m. J=1  С другой стороны, каждый непустой выпуклый многогран- ник может быть задан также параметрически:  т то "3 t= > ри + У Вы” + > hy’, $—1 k=1 l=]  $ k l где у, 2, и — фиксированные п-мерные векторы, ], — про-  извольные вещественные числа, 8» — произвольные неотри- цательные числа, а й — неотрицательные величины с сум- мой, равной единице. При этом для ограниченных много- гранников первые две суммы отсутствуют. Таким образом, для исследуемых объектов опять-таки имеется два способа задания. Однако здесь уже переход от ОДНОГО из них к другому в общем случае сопряжен с непреодолимыми вычислительными трудностями. Напри- мер, если в соответствующей системе линейных неравенств  2 5. А. Мухачева, Г. Ш. Рубинштейн 33 
т = 100, п=20, то для перехода к параметрическому за- данию потребовалось бы решить триллионы систем линей- ных уравнений с двадцатью неизвестными, что не под си- лу пе только современным ЭВМ, но и машинам обозри- мого будущего. А это означает, что простой способ реше- ния того или иного вопроса относительно выпуклого мно- гогранника, заданного в одной форме, не может исполь- зоваться непосредственно для решения того же вопроса относительно многогранника, заданного в другой форме. Возникает необходимость в разработке принципиально но- вых подходов, позволяющих решать интересующие нас вопросы относительно многогранников, заданных в «не- удобной» форме. Разработкой эффективных методов такого рода, собственно, и занимается линейное программпрова- ние. При этом в качестве основной обычно рассматривается задача максимизации (или минимизации) линейной функ- ции на выпуклом многограннике, заданном системой ли- нейных неравенств. В случае параметрического задания соответствующего многогранника эта задача становится тривиальной. Важно отметить, что к указанной основной задаче легко сводятся также многие другие относительно выпуклых многогранников, заданных в неудобной форме.  2.2. ПОСТАНОВКА ОСНОВНЫХ ЗАДАЧ И ИХ ПРЕДВАРИТЕЛЬНЫЙ АНАЛИЗ  2.2.1. В теории линейного программирования в ка- честве основной можно принять следующую задачу макси- мизации линейной функции на множестве решений систе- мы линейных уравнений и неравенств. Задача Г. Заданы вещественные числа  ан» бы Сл $=1, т, j=4, n, и фиксированы разбиения каждого из множеств 1={1, т}, 7 = {1, п} на два непересекающихся подмножества I=L],,UL, 9R=2, JHU; ANL=2, Требуется максимизировать линейную функцию  в (2) = 2 ja; (2.3)  =1  34 
на множесте плмерных векторов  д — (1, Lay ees In), (2.4) удовлетворяющих условиям Lj = 0, Je Л», (2.5) п Ха + В =0, iel, (2.6) j=1 п Уи >20, 1 Г.. (2.7) j=1  Вектор (2.4), удовлетворяющий условиям (2.0)— (2.7), называется допустимым, а искомый допустимый вектор, доставляющий максимум функции (2.3),— оптимальным. Сразу эке отметим, что в поставленной задаче не при любых исходных данных имеются допустимые векторы, так как условия (2.5) — (2.7) могут оказаться несовместны- ми. Далее, при наличии допустимых векторов пе обяза- тельно существуют оптимальные. Соответствующие приме- ры читателю предлагается построить самостоятельно. Решающим в исследовании задачи Т является рассмот- рение наряду с ней еще одной экстремальной задачи, ко- торая тесно связана с первой и является в определенном смысле двойственной к ней. Задача 1*. При исходных данных задачи Т миними- зировать линейную функцию  Vv (y) = > bY; (2.8) на множестве т-мерных векторов у= (Уз, Уз...» Ут), (2.9) удовлетворяющих условиям У: = 0, iS Г., (2.10) т Улисс, =0, ]=ЕЛ,, (2.44) i=1 m 2 aida + с;< 0, jed,. (2.12)  Аналогично предыдущему вектор (2.9), удовлетворяю- щин условиям (2.10) — (2.12), называется здесь допусти- мым, а искомый допустимый вектор, доставляющий мини- мум функции (2.8), — оптимальным.  2* 35 
Отметим, что и в этой задаче не обязательно имеются допустимые векторы, а при наличии допустимых векторов не всегда существуют оптимальные. Задачу 1 будем называть основной, а отвечающую ей задачу [* — двойственной. Легко видеть, что каждому ограничению {= / основной задачи отвечает в двойственной задаче переменная У; с тем же номером {=Х, а каждой переменной х; задачи | — ограничение задачи 1* с тем же номером }=7. При этом на переменную у: накладывается ограничение неотрицатель- ности, если {= [,, т. е. эта переменная отвечает ограниче- нию в форме неравенства. Аналогично в двойственной за- даче в форме неравенств задаются ограничения с номерами jeJ,, т. е. отвечающие неотрицательным переменным 7; задачи Г. Далее, в каждом ограничении } =. двойственной задачи коэффициент при переменной у; совпадает с коэф- фициеитом при переменной 5; в соответствующем ограни- чении {Е_/ основной задачи. Что касается свободных чле- нов в ограничениях (2.11) и (2.12), то они совпадают с коэффициентами при соответствующих переменных в ли- нейной функции (2.3). Наконец, коэффициенты при пере- менных в линейной функции (2.8) совпадают со свобод- ными членами в соответствующих ограничениях (2.6) и (2.7). Сказанное позволяет без излишней формализации по любой конкретной задаче { записать отвечающую ей за- дачу [*. Пример 2.4. Пусть в основной задаче требуется мак- симизировать линейпую функцию  w(x) =22, — x, + 3843+ x, — 52; на множестве пятимерных векторов L= (Ly, Le, Ls, Li, Xs), удовлетворяющих условиям д. > 0, х. > 0, 1. > 0, OL, + 2x2 — 54: +2. —720, 32, + 4x3 — 2x, +1=0, 22, + 3х. — 3х. — 2 > 0.  Тогда в соответствующей двойственной задаче требует- ся минимизировать функцию  у (у) = —Ту: + yp на множестве трехмерных векторов, удовлетворяющих  36 
условиям У! = 0, Уз = 0, Зуи! + 21: + 2 = 0, 2, + Зу» — 1 = 0, —5у: + 42 + Зу: + 3 <= 0, — 2y,— 3y3 +1 <0, У: — Уз — 5 — 0. 2.2.2. Важную связь между поставленными задачами 1 и 1* устанавливает следующая простая алгебраическая Лемма 2.1. Каковы бы ни были допустимые векторы (2.4) и (2.9) в задачах Ги [*, для соответствующих зна-  чений линейных функций (2.3) и (2.3) имеет место не- равенство  и (2) < (у). (2.43) При этом в неравенстве (2.13) достигается равенство тогда  и только тогда, когда рассматриваемые допустимые векто- ры (2.4) и (2.9) удовлетворяют соотношениям  (5 ау: + с; х,=0, ]=У,, (2.14) 1=1 Ха + » | yi=0, ied,. (2.45) j=1  Доказательство. На основании условий (2.11), (2.5) и (2.12) имеем  %  т 1 . Citi = (— 2 assy: | Li, Jed, 41  in (2.16) сл; (— У aut т, feds.  1—1  Суммируя эти соотношения, с учетом (2.3) получаем  и (1) = x сх; > У | У аа) Xj. (2.17)  j=1 i=1  37 
Аналогично из условий (2.6), (2.10) и (2.7) с учетом (2.8) получаем  nr biy; = |- > aist;) y, te Г, 4 (2.18)  n б.у; > (- > aes] Yi, те Го, I=  т т п у (у) = У: > |-- У as) Yi. (2.19) i=1 i=1 j=1 Остается теперь заметить, что правые части в соотношени- ях (2.17) и (2.19) отличаются лишь порядком суммирова- ния и, следовательно, равны между собой. Поэтому из (2.17) и (2.19) вытекает доказываемое неравенство (2.13). Далее, для достижения равенства в (2.13), очевидно, не- обходимо и достаточно, чтобы достигались равенства во всех неравенствах (2.16) и (2.18). Последнее же эквива- лентно выполнению соотношений (2.14) и (2.15). Это за- вершает доказательство леммы. Следетвие 1. При наличии допустимых векторов в обе- их задачах линейные функции (2.3) и (2.8) удовлетворя- ют соотношению sup p(x) < inf v(y), (2.20)  где супремум берется по всем допустимым векторам зада- чи Г, а инфимум — по всем допустимым векторам задачи I*, Действительно, при любом фиксированном допустимом векторе у величина (у) в силу (2.13) является верхней границей для значений функции (2.3) на множестве допу- стимых векторов задачи Г. Поэтому  sup w(z)< v(y),  т. е. supp(z) является нижней границей для значений функции (2.8) на множестве допустимых векторов задачи Г, и поэтому справедливо соотношение (2.20). Следетвие 2 (признак оптимальности в краткой фор- ме). Для оптимальности допустимого вектора (2.4) в зада- че [ достаточно, чтобы в задаче ]* нашелся допустимый век- тор (2.9), удовлетворяющий условию  и (2) = (у). (2.24)  При этом допустимый вектор (2.9) является оптимальным в задаче |*. Действительно, в рассматриваемом случае для любых дру- гих допустимых векторов х’и у’ на основании леммы 2.1  38 
имеем u(2")<v(y)=p(z), v(y) > H(z) = V(y), а это означает, что допустимые векторы 2 и у являются оп- тимальными в соответствующих задачах. Следствие 3 (признак оптимальности в развернутой фор- ме). Для оптимальности допустимого вектора (2.4) в зада- че Т достаточно, чтобы нашелся т-мерный вектор (2.9), удовлетворяющий соотношениям (2.10) — (2.12), а также следующим условиям: (а) при всех ] ЕТ», для которых 13> >0, в соответствующих неравенствах (2.12) достигается nr  paeencreo; (6) npu ecex iE l,, для которых лан, + b;>0, достигается равенство в соответствующих неравенствах (2.10). При этом указанный вектор (2.9) является опти- мальным в задаче [*. Это утверждение представляет из себя развернутую форму предыдущего следствия. Действительно, выполнение соотношений (2.10) — (2.12) озпачает допустимость рассмат- риваемого вектора (2.9), а условия (а) и (6) эквивалент- ны соотношениям (2.14) и (2.15), которые в силу лем- мы 2.1 являются необходимыми и достаточными для дости- жения равенства (2.24). Приведенные достаточные признаки оптимальности в действительности являются также и необходимыми. Одна- ко доказательство этого факта требует применения более тонких методов анализа. Соответствующий результат уста- навливается ниже как одно из следствий основной теоремы теории линейного программирования. В заключение этого пункта отметим, что устанавливае- мое леммой 2.1 соотношение (2.13) между значениями ли- нейных функций (2.3) и (2.8) на допустимых векторах рассматриваемых задач Г и [* принято называть соотно- шением двойственности. В связи с этим задачу [* мы на- звали выше двойственной к исходной задаче I. Это не означает, что рассматриваемые задачи существенно отлича- ются друг от друга. Задача [* легко сводится к эквива- лептной задаче типа Г. При этом двойственная к ней задача оказывается эквивалентной исходной задаче Т. Для пояснения сказанного наряду с задачами Ги I* paccmor- рим следующие две экстремальные задачи. Задача Т. Максимизировать линейную функцию  м (у) = — 2 bY; (2.22)  39 
на множестве т-мерных векторов (2.9), удовлетворяющих  условиям Yi = 0, р = Го,  т — Ужи-в=0 fet,  i=1  m — > аз: —с; 20, jed,.  i=1  Задача 1*. Минимизировать линейную функцию  п v(x) = — У с}; j=1 на множестве п-мерных векторов (2.4), удовлетворяющих условиям LX; = 0, ре J,  n — > ат; — 6; = 0, iel,, j=1 nr — № ayzxz;—b,<0, ЕЕ Го. j=1 Нетрудно видеть, что задача Т эквивалентна задаче 1*, а задача [* — задаче I. При этом задача I того же типа, что и задача [, а задача 1* является двойственной к ней. Ввиду отмеченного обстоятельства задачи Г и [* иногда называют парой двойственных задач, считая каждую из них двойственной по отношению к другой.  2.3. ОСНОВНАЯ ТЕОРЕМА ТЕОРИИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ И ЕЕ СЛЕДСТВИЯ  Линейное программирование относится к числу ма- тематических направлений, в которых удается выделить центральный результат, в значительной мере определяю- щий содержание всей теории и ее влияние на другие раз- делы математики. Таковой, безусловно, является так назы- ваемая теорема двойственности, устанавливающая значи- тельно более тесную связь между основной и двойственной задачами, чем это удалось сделать в п. 2.2. Значение этой теоремы не ограничивается рамками линейного програм- мирования. Она оказала большое влияние на формирова-  40 
ние новой методологии в общей теории экстремальных за- дач, а также в некоторых нематематических дисциплинах. В первую очередь это относится к экономической науке, теории управления и ряду военных задач. Естественно, что указанный центральный результат тео- рии линейного программирования нельзя доказать без ис- пользования некоторых нетривиальных математических коп- струкций. В этой главе мы ограничимся лишь обсуждением формулировки теоремы двойственности и вытекающих из нее важных следствий. Что касается доказательства этой теоремы, то с одним из них читатель познакомится в гл. 5, а с другим — в последней главе книги. Теорема двойственности. Каковы бы ни были исходные данные, для задач Ги [* имеет место один из следующих взаимоисключающих случаев. 1°. В основной и двойственной задачах имеются опти- мальные векторы х' и у’, причем значения линейных функ- ций (2. 3) и (2.8) на этих векторах совпадают. 2°. В основной задаче имеются допустимые векторы, но линейная функция (2.3) на множестве этих векторов не ограничена сверху. При этом в двойственной задаче до- пустимых векторов не существует. 3°. В двойственной задаче имеются допустимые векто- ры, но линейная функция (2.8) на множестве этих век- торов не ограничена снизу. При этом в прямой задаче до- пустимых векторов не существует. 4’. Ни в одной из рассматриваемых задач нет допусти- мых векторов. Замечание. Из приведенной теоремы, вообще гово- ря, не следует, что каждый из перечисленных в ней че- тырех случаев действительно реализуется при некоторых исходных данных. Однако в этом легко убедиться путем построения соответствующих числовых примеров. Для построения таких примеров читателю предлагается записать задачи вида [* отвечающие приведенным ниже четырем задачам вида [, и рассмотреть получаемые пары двойственных задач. Так как во всех этих задачах т = п = —=2, то их исследование можно провести с помощью гра- фических методов. 1. Максимизировать функцию и(5)=1, — 2х. на мно- жестве векторов х=(1:, 1), удовлетворяющих условиям  —ж, — 1. +120, 2+ 3>0.  Al 
2. Максимизировать функцию W(r)—2, Ha MHOMKECTBE векторов 5 = (7, 12), удовлетворяющих условиям  —ж +. +320, 2%. —21. —420.  3. Максимизировать функцию и(12)=1.— 15, на множе- стве векторов x —=(21, 12), удовлетворяющих условиям  Я: = 0, Xo = 0, — 44 420, —2, +2, + 4 > 0.  4. Максимизировать функцию и(1)=—л.-Р 2х. на мно- жестве векторов х=(5., 1.), удовлетворяющих условиям  x, = 0, x, = 0, %,—-%2—-22 0, жж, + х. +120.  Выведем теперь интересующие нас важные следствия из теоремы двойственности. Теорема существования. Диля того чтобы в задачах Т и [* существовали оптимальные векторы и значения функ- ций (2.3) и (2.8) на этих векторах совпадали, т. е. имел место случай 1’ теоремы двойственности, достаточно вы- полнения любого из следующих условий: (&) в основной и Одвойственной задачах имеются допустимые векторы; (В) в основной задаче имеются допустимые векторы и линейная функция (2.3) на множестве этих векторов ог- раничена сверху; (1) в двойственной задаче имеются допустимые век- торы и линейная функция (2.8) на множестве этих век- торов ограничена снизу; (6) в основной задаче существует оптимальный вектор: (=) в Овойственной задаче существует оптимальный вектор. Доказательство. В силу теоремы двойственности для каждой пары задач Г и [* имеет место один из ука- запных в ней четырех попарно несовместных случаев. Тре- буется показать, что при выполнении любого из условий («)—(=) имеет место случай 1”. Для этого достаточно проверить, что случаи 2`—4° не совместимы ни с одпим из указанных условий. Действительно, если имеет место случай 2°, то в двойственной задаче нет допустимых век- торов, а в основной задаче нет оптимальных. При этом це-  42 
левая функция в основной задаче неограничена сверху. Но тогда не выполняется ни одно из ‘условий (&)— (=). Аналогично проверяется, что случаи 3’ и 4” также не- совместимы ни с одним из условий (%)— (2). Из приведенной теоремы двойственности вытекает тат- же, что установленные выше признаки оптимальности в краткой и развернутой формах (см. следствия 2 и 3 лем- мы 2.1) являются не только достаточными, но и необхо- димыми. Действительно, пусть х — оптимальный вектор в зада- че Г. Тогда по теореме существования имеет место слу- чай 1° теоремы двойственности. Поэтому найдется допу- стимый вектор у двойственной задачи, удовлетворяющий соотношению (2.21), а это означает необходимость приве- денных признаков.  2.4. ДВЕ КАНОНИЧЕСКИЕ ФОРМЫ  2.4.1. Помимо задач Ги 1*, которые принято па- зывать задачами со смешанными ограничениями, в ряде случаев оказываются полезными некоторые другие поста- новки основной и двойственной задач. Мы остановимся здесь на двух канонических формах, представляющих из себя частные случаи рассмотренных задач Ги 1*. С пер- вой мы уже встречались в гл. 1, вторая будет использо- ваться в гл. 3 при изложении численных методов. `Полагая в задачах Ги [*  Ъ =1Т = {41, т}, Л, == {1, п},  приходим к паре двойственных задач в так называемой симметричной канонической форме. Задача ПП. Максимизировать линейную функцию (2.3) на множестве векторов (2.4), удовлетворяющих условиям  Xj = 0, j= 1, n, (2.23)  n a Ха +20, 1=1,т. (2.24) j=1 Задача II*. Muxnumusuposaro линейную функцию (2.8) на множестве векторов (2.9), удовлетворяющих ус- ловиям  и >0, 1=1, т, (2.25) Ха: +; <0, 1=1 в. (2.26) i=1  43 
Напомним, что компоненты искомого вектора (2.4) в задаче [] интерпретировались в гл. 1 как планируемые интенсивности применения производственных способов. Там же была приведепа экономическая интерпретация при- зпака оптимальности. Соответствующие оценки ингредиен- тов, как нетрудно видеть, представляют решение двой- ственной задачи П*. Линейную функцию (2.8) при этом можно рассматривать как стоимостной баланс используе- мых ресурсов и выпускаемой продукции, так как каждое слагаемое В;у; является оценкой ресурса, если 6, > 0, и от- личается знаком от оценки продукции, если 6: <0. Таким образом, можно считать, что в двойственной задаче II* ищутся неотрицательные оценки ингредиентов, минимизи- рующие стоимостной баланс затрат и выпуска продукции при условии неположительности стоимостных балансов про- изводственных способов, т. е. при отсутствии сверхрента- бельных способов. Полагая в задачах Ги [*  Г, =1={4, т} == (4, п},  приходим к паре двойственных задач в несимметричной канонической форме. Задача ПТ. Максимизировать линейную функцию (2.3) на множестве векторов (2.4), удовлетворяющих условиям  vj = 0, 7 = 1, п, (2.27) > ait; +b,=0, i=1,m. (2.28)  Задача П*. Минимизировать линейную функцию (2.8) на множестве векторов (2.9), удовлетворяющих условию  т У а; 341 + С; < 0,  2=1  1, п. (2.29)  Важно отметить, что для задач в несимметричной кано- нической форме признак оптимальности имеет особенно простой вид. Признак оптимальности. Для оптимальности допусти- мого вектора (2.4) в задаче ТП необходимо и достаточно, чтобы среди т-мерных векторов (2. 9), удовлетворяющих соотношениям (2.29), нашелся такой, что  У ил: + с; =0, если х, > 0.  i=1  44 
При этом указанный вектор (2.9) является оптимальным в задаче 1П* и для него имеет место равенство (2.21). 2.4.2. В заключение покажем, что переход от задач со смешанными ограпичениями к рассмотрению двойственных задач в одной из приведенных канонических форм, по су- ществу, не приводит к сужению исследуемого класса эк- стремальных задач. Действительно, путем представления переменных произвольного знака в виде разности двух не- отрицательных переменных и замены каждого уравнения двумя неравенствами произвольная пара двойственных задач Г и [* сводится к следующим задачам в симмет- ричной канонической форме. Задача 1. Максимизировать линейную функцию  (т сх: 2.30 eto (2; 2;) + > 17) (2.30) при ограничениях 2;>0, ]+Е Л, 1;>0, ЕЛ, 1,20, 1е/., (2.34) > ai; (x; — 2;) + > ах; + 6: >0, tel, UV Го, jeJ, ied,  — —  >, (— a;;) (x; —2;) + Dy (— ayj)t;+ (—b)>0, tel.  Е, =. Задача П*, М инимизировать линейную функцию > В: (у: — у) + Dd diy; iel, isI, при ограничениях У а; (и —у;) + > ау; + с; > 0, jeJ,U ds, jel iel,  1  7 fi (— aij) (¥i—yi) + D (—au) y+ (—4) 0, ted, ieI iel, Точно так же, заменяя неравенства (2.7) задачи | уравнениями с дополнительными неотрицательными пере- менными и, приходим к следующим задачам в несиммет- ричной канонической форме. Задача ПП. Максимизировать линейную функцию (2.30) при условии неотрицательности переменных и ог- раничениях ру Qi; (x; — x;) + У, ах; + b; = 0, $ = Г), jes, =,  a ai; (x; — 25) + a ijt; —U,+b=0, iel,. 7=з  = а  45 
Задача ИП». Минимизировать линейную функцию (2.8) на множестве векторов (2.9), удовлетворяющих условиям  2 ayy; +o <0, ЕЛ) Ц Ч», Iw  2 ([—а;;) у; + ([—-с)<0, 1ЕЛ,, 1= —y,;<0, ЕЁ.  Таким образом, с помощью указанных простых прие- мов произвольная пара двойственных задач со смешанными ограничениями может быть формально приведена к каждой из рассмотренных двух канонических форм. А это означа- ет, что указанные формы, по существу, охватывают тот же класс экстремальных задач.  ГЛАВА 3  ЧИСЛЕННЫЕ МЕТОДЫ 3.1. ПРЕДВАРИТЕЛЬНЫЕ ЗАМЕЧАНИЯ  В этой главе рассматриваются только конечные ме- тоды, позволяющие с помощью конечного числа арифмети- ческих действий для любой задачи линейного программи- рования получить точное решение или же установить, что в исследуемой задаче оптимальных векторов не существует. Обоснование этих методов использует только достаточный признак оптимальности, который был установлен в п. 2.2.2 и затем конкретизирован в п. 2.4.1 для задач в несиммет- ричной канонической форме. Для таких задач признак оп- тимальности имеет особенно простой вид и основанные на нем методы имеют более простую структуру. Поэтому из- ложение методов нам будет удобно вести для задач в не- симметричной канонической форме. В то же время, так как к указанной форме может быть приведена произвольная пара задач со смешанными ограничениями (см. п. 2.4.7) то общность рассуждений при этом не теряется. 3.1.1. Вводя в рассмотрение т-мерные векторы  >  В = (5,, 6», ...’ Om) , ой = (а: @>), ..., @т;), j=J= {4, n}, (3.1) перепишем задачи Ш, Ш* в следующем виде.  46 
Задача А. Максимизировать линейную функцию  Tr p(x) = 65a; (3.2) j=1 на множестве п-мерных векторов “L= (2X1, Zo, Xn); (3.3) удовлетворяющих условиям х, > 0, jcd, (3.4) п ° У д + В = 0. (3.5) j=1  Задача А*. Минимизировать линейную функцию  v(y)= <p, y? (3.6) на множестве т-мерных векторов Y =(Yts Yor ++) Ym), (3.7) удовлетворяющих системе линейных неравенств (а, у) с, <0, ] ЕТ. (3.8)  Здесь, как и выше, под <В, У> и <a’, y> ионимаются ска- лярные произведения соответствующих векторов. 3.1.2. В дальнейшем изложении важную роль будут иг- рать такие т-элементные подмножества К множества Х, что соответствующие векторы {о“},=к являются линейно не- зависимыми, т. е. образуют базис в А”. Указанные множе- ства называются базисными. Для каждого базисного множества К система линейных уравнений  2 mc" + B= 0 (3.9)  относительно TepeMeHHEIX 2, k&K, wMeet efHHCTBeEHHOe решение, отвечающее единственному разложению вектора —В по соответствующим базисным векторам. Это решение можно дополнить до п-мерного вектора (3.3), удовлетворя- ющего Условию (3.5). Для этого достаточно положить  zj=0, JeJ\K. (3.40) Получаемый таким образом вектор (3.3) будет обозначать- ся через х(К). Если указанный вектор х(К) является допустимым, т. е. Удовлетворяет условию неотрицательности (3.4), то множе-  47 
ство К называется допустимым базисным множеством (ДБМ). Далее, для любого базисного множества А единственное решение имеет также следующая система линейных уравнений:  (и, ус =0, ВЕК. (3.14)  Решение этой системы будет обозначаться через у(К). Если указанный вектор у(К) является допустимым в двойствен- ной задаче, т. е. удовлетворяет условию (3.8), то мпоже- ство К называется двойственно допустимым базисным MHO- жеством (ДДБМ). Другими словами, базисное множество является двойственно допустимым, если величины  z,= <a}, y(K)> te, jed, (3.12) удовлетворяют неравенствам 2, <0, ]ЕХ. (3.13)  Отметим, что величины (3.12) тесно связаны с коэффици- ентами разложения соответствующих векторов © по pac- сматриваемым базисным векторам, а именно:  23 = Cj — ‚2 Сьвь;, 1 = J, (3.14)  где 2», — коэффициенты разложения BeKTOPOB @ по рас- сматриваемому базису, т. е.  ой = У вые. (3.15)  =К  Действительно, учитывая (3.12), (3.15), (3.14) и свойства скалярного произведения, получаем  2; = <, у (#)) +е; = <>, ано*, у (K)S +o =  = a 8hj (о, у (К) - с; = — > Cr&nj + Cj. ЕЕК ВЕК  3.1.3. Следующее вспомогательное утверждение устанав- ливает важную связь между векторами (К) и у(К), отве- чающими одному и тому же базисному множеству К. Лемма 3.1. Каково бы ни бымо базисное множество К, для соответствующих векторов х(К) и У(К) имеет место равенство  и(х(К)) =у(у(К)). (3.16)  48 
Доказательство. Ha основании (3.10), (3.11) м (3.9) получаем  [i (v (K)) = У, СуХ; = У сыт = — > Lp Ka", у(К)> = jaJ h=K #=К = <— a. xa", у (K)> — <p, У (K)> =” (У (К)),  что и требовалось показать. Из приведенной леммы с учетом достаточного признака оптимальности в краткой форме (см. следствие 2 леммы 2.1) вытекает Теорема 3.1. Если базисное множество К одновременно допустимо и двойственно допустимо, то отвечающие ему векторы х(К) и у(К) являются оптимальными для рас- сматриваемых задач А и А*, причем значения линейных функций (3.2) и (3.6) на этих векторах совпадают. Отметим, что теорема 3.1 получена как следствие про- стых алгебраических лемм 2.1 и 3.1 и, следовательно, не опирается на теорему двойственности. Ниже будут рассмотрены два конечных метода для ре- шения пары двойственных задач в несимметричной кано- нической форме, которые относятся к классу методов по- следовательного улучшения. В первом из этих методов на каждом шаге процесса имеется некоторое ДБМ К. При этом значения линейной функции (3.2) на соответствующих допустимых векторах (К) от шага к шагу не убывают. Во втором методе на каждом шаге процесса имеется неко- торое ДДБМ К. При этом значения линейной функции (3.6) на соответствующих допустимых векторах у(К) от шага к шагу не возрастают. Оба эти процесса в случае разрешимости рассматриваемых задач завершаются полу- чением базисного множества К, являющегося одновременно допустимым и двойственно допустимым. Первый из ука- занных методов принято называть прямым методом после- довательного улучшения, а второй — двойственным методом последовательного улучшения. Эти методы строятся по од- пой и той же общей схеме. Однако реализация этой схемы ввиду несимметричности задач А и А* в прямом и двой- ственном методах несколько отличается.  3.2. ОСНОВНАЯ ЧАСТЬ ПРЯМОГО МЕТОДА  3.2.1. Прежде чем перейти к описанию метода, до- Кажем еще одно вспомогательное утверждение. Лемма 3.2. Пусть имеются базисное множество К и 07- вечающий ему вектор х (К) = (ти, х.,...т»). Кроме того, для  49 
некоторого р» Е] известны коэффициенты 8% в разложении  Jj (3.15) вектора &° по соответствующим базисным векторам. Тогда при любом з вектор  де = (1,2... 28) (3.17) с компонентами т), =e, 1° = 2, — eg, KEK, 45 = 2; =0, jSK U {j,}, (3-18)  удовлетворяет условию (3.5), причем значение линейной функции (3.2) на этом векторе может быть вычислено по формуле и (2) = (2) Т 22}, где величина 2; определяется согласно (3.12). Доказательство. После умножения соотношения  {3.15) на в и переноса всех его членов в левую часть по- лучаем равенство  j cea ° — >) eg,a" = 0, ВЕК  складывая которое с (3.9), получаем  во; ° + 2 (ть — Eg.) a” + В = 0.  Следовательно, интересующий нас вектор 2’ удовлетворяет требуемому условию (3.5). Далее, для вектора 5‘ в силу (3.2), (3.18) m (3.14) выполнены равенства  p (2°) = У с; =; & + У сь (ть — ЕВ») = j=J ° ЕЕК — C.X: . — = . io. т °(5. Fe ent) В (2) + =3,,,  что и требовалось показать. В дальнейшем нас будет интересовать не сама лемма 3.2, а некоторые ее следствия, для вывода которых предполо- жим, что фигурирующее в лемме базисное множество К является допустимым и, кроме того, 2 >0. При этом воз- можны два случая: (а) все коэффициенты g, B (3.15) He- положительные; (б) среди указанных коэффициентов име- ются положительные. Из доказанной леммы 3.2 непосред- ственно вытекает справедливость следующих утверждений. Следствие 1. Если имеет место случай (а), то опреде-  ляемые формулами (3.17) и (3.18) векторы 1 являются  50 
допустимыми в задаче А при всех в 20, а линейная функ- ция (3.2) на множестве таких векторов не ограничена сверху. Следствие 2. Если имеет место случай (6), то векторы 1‘ являются допустимыми в задаче А лишь при в= [0, =*], где  =* — шш -*, К+= (КЕ К | 5к>0}, (3.19) neKt № причем р (2°”) = max в (2°) = (2(К)) + =*2, 221 (2(К)). г=[0,=*]  3.2.2. Рассматриваемый процесс состоит в последователь- ном выполнении идентичных шагов. Поэтому достаточно описать вычислительные процедуры одного шага. К началу очередного шага имеются некоторое ДБМ К и отвечающий ему допустимый вектор х(К)=(5., 1, ..., х.). Над этими исходными данными выполняются следующие процедуры. Г. Определение вектора у (К). Этот вектор находится из системы (3.11), которая, как отмечалось, имеет един- ственное решение. П. Проверка двойственной допустимости ДБМ К. Для найденного вектора у(К) вычисляются величины (3.42) и проверяются неравенства (3.13). При этом возможны два случая. (а) Указанные перавенства выполняются, т. е. рассмат- риваемое ДБМ К является также и двойственно допусти- мым. Тогда на основании теоремы 3.1 векторы х(К) u y(K) оптимальны для соответствующих задач, и для них имеет место равенство (3.16). На этом процесе заканчивается с выдачей искомых оптимальных векторов. (6) Для найденных величин (3.12) условие (3.13) на- рушается. В этом случае находим некоторое } =. такое, что 2; >>0, и переходим к следующей процедуре.  3 Ш. Вычисление коэффициентов разложения вектора © ° по базисным векторам. Интересующие нас коэффициенты  разложения вектора а° по базису находим из системы (3.15), которая, как уже отмечалось, имеет единственное решение. ТУ. Определение =*. Проверяем выполнение неравенств 8, < 0, ЕК. При этом возможны два случая. (а) Все коэффициенты 2, неположительные. Тогда на основании следствия 1 леммы 3.2 определяемые формулами  51 
(3.17) и (3.18) векторы 5‘ являются допустимыми при лю- бом &>0 и линейная функция (3.2) на множестве таких векторов не ограничена сверху. Процесс на этом заканчи- вается с выдачей вектора 2(K) и коэффициентов 2», из разложения (3.15), позволяющих построить однопараметри- ческое семейство векторов 12°, на котором линейная функ- ция (3.2) не ограничена сверху. _ (6) Среди коэффициентов разложения (3.15) вектора  a ° по базисным векторам имеются положительные. Тогда по формуле (3.19) (см. следствие 2 из леммы 3.2) вычис- ляем &=*, фиксируя при этом элемент &*=К*, на котором достигается равенство  The 5* = №, (3.20) BR» затем переходим к последней процедуре. У. Подготовка информации к следующему шагу. В ка- честве нового допустимого базисного множества принимаем  K’! = (K\{k*})U {7.3 (3.21) и вычисляем компоненты соответствующего вектора х(К’) = (x1, Lo, wees Ln)  по формулам xj =e", ty = a, —8*g,, k= K'\{j,}, 2) =0,7 SK’. (3.22) При этом  be (x (K")) = p (=(К)) + =*2; 2 (х(К)). (3.23)  Замечание. В процедуре 11, вообще говоря, нет не- обходимости вычислять 2, для всех } «У. Естественно, для каждой вычисленной величины 2; сразу же проверить вы- полнение неравенства (3.13). Если это неравенство нару- шается, то имеет место случай (6), и в качестве 7, можно принять соответствующее }=7. Однако ввиду (3.23) мы заинтересованы в том, чтобы 2; было не очень малым. По-  этому при решении небольших задач обычно вычис- ляют все величины 2; и в случае (6) индекс |, =] выби- рается так, чтобы 2; = тах 2). При решении больших задач  все 2; уже не вычисляются, но © помощью специальных приемов добиваются того, чтобы для выбранного Е] в случае (6) величина 2; мало отличалась от максималь-  ного 2. Один из таких приемов описан ниже (см. п. 4.4).  52 
Таблица 7 Таблица 8  j Homep mara \ 1 2 13 1 ky Lp, En, У1 К т 114, 44. 21 43 b, № he En, Yo x Уз 2 | а, а. 13 | 685 8 ky | Shs oe * 3 | а.1 ао ‘2313 | 63 k u(r) | © | Cy бо C13  Таблица 9  1 2 3 13  Homep  mara | 1 2g 23 213 Jo  Таблица 10  10 11 12 13  | co none "с = № © [СЫ on o oe | со ©  23 O O 18 13 8 3 15 10 5 0 8 3 —115 0 40 4 2 3 4 0 4 2 3 90 1 —600 00 3 0 0 0 0 4 4 4 4 =2 2 —120 —1 —i1 —1 —1 —1 —1 —1 -1 -1 -—1 -i-i1 —  3.2.3. Проиллюстрируем описанный процесс на числовом примере, в котором т =3, п=13 и исходные величины аз, 6, с; приведены в табл. 10, построенной по типу табл. 7. Получаемая на каждом шаге процесса информация будет размещаться в соответствии с табл. 8 и 9. Пример 3.1. В качестве допустимого базисного мно- жества на первом шаге процесса примем множество К = ={1, 2, 3}. При этом ненулевые компоненты соответствую- mero допустимого вектора х(К) вычисляются по формулам  х, = 1415/23 =5, 2. = 600/4 = 150, x3 = 120/3 = 40. Эти данные размещены в первых двух столбцах табл. 11. На первом шаге процесса выполняются следующие  процедуры. ТГ. Из системы (3.41), которая в данном случае имеет вид  23y,—1=0, 4y,—-1=0, 3y; —1=0, паходим вектор у(К) и его компоненты помещаем в чет- вертый столбец табл. 11.  53 
Таблица 11  Шаг 1 Шаг 2 Шаг 3 4 5 0,130 0,043 7 38,500 0,000 0,000 7 38,500 0,000 2 150 1,000 0,250 2 111,500 0,750 0,250 2 21,90 0,250 3 40 0,000 0,333 3 40,000 0,333 0,333 41 420,000 0,250 1 —195 38,500 3 —190 420 — —180 Таблица 12 1 2 3 4 6 7 8 9 10 12 Шаг 1 0 0 0 0,02 0,06 0,10 0,13 —0,02 0,01 0,05 0,08 0,01 0,04 |7 Шаг 2 | —1 0 0 —0,75 —0,50 —0,25 0 —0,66 —0,42 —0,17 —0,33 —0,08 144 | ar 3 {| —1 0 —0,25 —0,75 —0,50 —0,25 0 —0,75 —0,50 —0,25 0 —0.50 —0,25 [—  ee 
IJ. Ilo dopmynam (3.12) вычисляем величины 2; (j = 1,13) п записываем их в соответствующую строку табл. 12. Для пайденных величин проверяем условие (3.13). Так как это Условие нарушается, т. е. имеет место случай (6), то требуется выбрать ›еУ такое, что 2; >0. Учитывая заме-  чание относительно выбора ]› принимаем }.=7. Заносим это значение в табл. 12 и переходим к следующей про-  цедуре. Ш. Из системы (3.15), которая имеет вид  238. — 3 =0, 42, —4=0, Заз = 0,  находим коэффициенты разложения вектора о’ по базис- ным векторам и заносим их в третий столбец табл. 11. ТУ. В данном случае среди коэффициентов &, имеются положительные, т. е. К+ = {1, 2} == 9. Поэтому по формулам (3.19) и (3.20) находим  e* = min {5/0,130; 150/1} = 38,5, k* = 14,  и после внесения этих величин в табл. 11 переходим к сле- дующей процедуре. У. По формулам (3.21) и (3.22) находим новое ДБМ К’ = {7, 2,3} и отвечающий ему допустимый вектор х(К’). Эти данные, необходимые для проведения следующего шага, указаны в табл. 11. Аналогично проводятся второй и третий шаги. Соответ- ствующие результаты приведены в табл. 14 и 12. При этом в процедуре [ третьего шага получаемые величины 2; Удовлетворяют условию (3.13). Поэтому ДБМ К” = {7, 2, 14} одновременно является двойственно допустимым. Следова- тельно, отвечающие ему векторы  2(К”) = (0; 24,5; 0; 0; 0; 0; 38,5; 0; 0; 0; 120; 0; 0), у(К”) = (0; 0,25; 0,25)  будут искомыми оптимальными векторами для рассматри- ваемой задачи и двойственной к ней. При этом  и(=(К”))=\(у(К”)) = —180. 3.2.4. В заключение обсудим проблему конечности опи- сапного метода. Количество различных базисных множеств,  очевидно, не превосходит числа Cr возможных сочетаний из п элементов по т. Поэтому, если при проведении про- цесса мы не будем дважды встречать одно и то же базис- ное множество, то число шагов в процессе будет не больше  а? т Указанной величины Си.  55 
Приведем простое условие, при выполнении которого в процессе не может дважды встретиться одно и то же ДБМ К. Для его формулировки потребуется следующее определение. Отвечающий ДБМ К допустимый вектор х(К) называ- ется невырожденным, если в соотношении (3.9) все коэф- фициенты x, больше нуля. В противном случае указанный допустимый вектор х(К) будет вырожденным. Говорят, что процесс проходит без вырождения, если все встречающиеся допустимые векторы х(К) являются не- вырождепными. В этом случае вычисляемые на каждом mare процесса величины &* больше нуля и, следовательно, значение линейной функции и(х(К)) от шага к шагу воз- растает. А это исключает возможность получения на иеко- тором шаге такого ДБМ К, которое ранее уже встречалось. Если же процесс проходит с вырождением, то некото- рые из величин #* могут оказаться равными нулю. Таким образом, строгая монотонность процесса нарушается. Если при этом в множестве К+ имеется несколько элементов К таких, что д, =0 и в качестве &* принимается любой из них, то через некоторое число шагов мы можем прийти к одному из ранее встречавшихся допустимых базисных множеств. А это означает, что процесс зациклится (будет продолжаться бесконечно). Вместе с тем разработаны специальные приемы выбора Е*=К+ в ситуациях вырождения, при использовании кото- рых одно и то же базисное множество дважды не встреча- ется и, следовательно, процесс решения задачи является конечным. Однако эти приемы имеют в основном лишь теоретическое значение (практически зацикливание процес- са в результате вырождения маловероятно) и в реальных программах для ЭВМ, как правило, не используются. В свя- зи с этим указанные теоретические приемы преодоления зацикливания вынесены в гл. 9, посвященную алгоритми- ческому доказательству основной теоремы двойствепности.  3.3. ПОСТРОЕНИЕ ИСХОДНОГО ДОПУСТИМОГО БАЗИСНОГО МНОЖЕСТВА  В п. 3.2 при изложении основной части метода предполагалось, что к началу процесса имеется некоторое ДБМ К. Во многих конкретных задачах такое множество легко находится. Однако в общем случае его построение связано с решением вспомогательной задачи линейного про-  56 
граммирования, для которой исходное ДБМ определяется тривиально. Это означает, что соответствующие вспомога- тельные задачи могут решаться с помощью описанной ос- новной части метода. 3.3.1. В интересующей нас вспомогательной задаче на- ряду с векторами (3.1) фигурируют вспомогательные векторы  atti =p et, i=1, т, (3.24)  где e' =(0,0,...,0,4,0,...,0)— oprsr соответствующих ко- р  ни eee eo  a ординатных осей, а  м 1, если 6; < 0, Pi =  — 1, ебли 6, >0. (3.25)  Таким образом, здесь имеется п-- т векторов ©! с номера- ma jeJ, re J=JIUI,, Jp ={nt+1, n+2, ..., n +m). Beno- могательную задачу мы назовем задачей А, а двойствен- ную к ней — А*. Задача А. Максимизировать линейную функцию  и (2) =— Ух; (3.26) jeJ, на множестве (п- т)-мерных векторов X =(X1, Loy «4, Lnym), (3.27) удовлетворяющих условиям 4,320, jes, (3.28) >) 2307 +B =0. (3.29) jes  Задача А*. Минимизировать линейную функцию v(y) = <B, y> на множестве т-мерных векторов Я = (Уз, Уз, +. Ут), удовлетворяющих условиям co, <0, jed, Ca’, —-1<0, ] ЕЛ.  3.3.2. Введенные с помощью соотношений (3.24) и (3.25) вспомогательные векторы a’, } =Т,, как легко видеть, явля-  57 
ются линейно независимыми, и для них имеет место ра- венство  У |b;_-n|o’? +B =0. (3.30)  А это означает, что в качестве исходного допустимого ба-  зисного мпожества в задаче А может быть принято К =. Этому множеству отвечает допустимый вектор 2(К) с ком- понентами  д, =0, 1 ЕЛ д, = 16; |, jes.  Таким образом, для рассматриваемой задачи А имеется исходная информация, необходимая для проведения процес- са, описанного в п. 3.2. В данном случае процесс не может окончиться пунк- том (а) процедуры ГУ, так как линейная функция (3.26) на допустимых векторах (3.27) принимает только неполо- жительные значения, т. е. ограничена сверху нулем. По- этому через конечное число шагов в процедуре П встре- тится случай (а). Другими словами, с помощью описанного процесса мы получим базисное множество К<., которое является как допустимым, так и двойственно допустимым для рассматриваемых вспомогательных задач. Одновремен-  но для задач А и А* будут найдены допустимые векторы &(К) и 9(К), для которых имеет место равенство  p(z(K))=v(y(4)), означающее, что эти векторы являются оптимальными. При этом возможны следующие три случая. 1”. Множество К не содержит элементов множества /.. 2° Множество К содержит некоторый элемент из 7, которому отвечает положительная компонента вектора &(®).  3°. Пересечение К ИЛ, не пусто, но компоненты векто- ра (К) удовлетворяют условию  ль =0, кеЕКПЛ,  т. е. вектор &(К) является вырожденным. Если имеет место случай 1° то в качестве искомого ДБМ К для исходных задач А и А*, как легко видеть, мо- жет быть принято найденное множество К. При этом ком- поненты вектора (К) совпадают с соответствующими ком- понентами вектора (К). Таким образом, в этом случае имеется необходимая информация для применения описан* ного процесса к исходным задачам Аи А*.  58 
Если имеет место случай 2°, то можно утверждать, чте в исходной задаче А допустимых векторов не существует. Действительно, если бы нашелся допустимый вектор (3.3) в задаче А, то, дополняя его нулями, мы получили бы допустимый вектор (3.27) в задаче А, для которого ц(2)=0. А это невозможно, так как в рассматриваемом случае максимальное значение и(х(К)) линейной функ- ции (3.26) на допустимых векторах (3.27) в задаче А меньше нуля. , Предположим теперь, что имеет место случай 3°. При этом, не уменьшая общности, можно считать, что Jo=KNI,={nt+ 1, n+ 2, еду n+r},  Нетрудно проверить, что тогда имеющееся ДБМ А является также допустимым базисным множеством для следующей за- дачи, которая, как будет показано, эквивалентна исходной задаче А.  Задача А. Максимизировать линейную функцию  в (2) = > Ci; (3.34) на множестве (п-г)-мерных векторов Х = (5, La, ..-, Lage), (3.32) удовлетворяющих условиям 24,20; ДеЛ= ТУТ, (3.33) > x07 — 3S 207+ 6 =0. (3.34) jed j=J,  3.3.3. Для установления связи приведенной задачи А с исходной задачей А заметим, что каков бы ни был до- пустимый вектор (3.3) в задаче А, мы можем, дополнив его нулями, получить допустимый вектор (3.32) для зада- чи А. При этом, очевидно,  и(т)=р (=). (3.35)  Справедливо также следующее обратное утверждение. Лемма 3.4. Для любого допустимого вектора (3.32) в за- даче А имеют место равенства  1,=0, ] ЕЛ. (3.36)  Доказательство. Прежде всего напомним, что по- лученный одновременно с базисным множеством. К допу- стимый вектор й(К) в рассматриваемом случае 3° удовлет-  59 
воряет соотношениям  <ai, 7(K)> <0, ]}ЕТ, (3.37) (ai, 7(K)> -1=0, ДЕ Лл=КПЛ, (3.38) v(y(K))=<B, y(K)> =p(z(K))=0. (3.39)  Рассмотрим теперь произвольный допустимый вектор в задаче А, т. е. вектор (3.32), удовлетворяющий условиям (3.33) и (3.34). Умножая скалярно соотношения (3.34) на вектор у =й(К.), получаем "  a 2«ог, y) — У Lj (©, y) + <p, y) = 0. jad jeJ,  Отсюда, учитывая (3.38) и (3.39), имеем У гк, — У =0, JES jeJ,  а это ввиду (3.37) и (3.38) означает справедливость сле- дующих соотношений:  0< 2 д; = У 2, (а, у) < 0.  jeJ Таким образом,  п ввиду неотрицательности все х, равны нулю, что и тре- бовалось показать. Следетвие. Каждый допустимый вектор (3.32) в зада- че А может быть получен путем дополнения нулями неко- торого допустимого вектора (3.3) из задачи А. При этом имеет место равенство (3.35). На основании приведенных фактов можно утверждать, что в рассматриваемом случае 3° для решения исходной вадачи А достаточно решить эквивалентную ей задачу А. Что касается последней, то для нее имеется необходимая исходная информация, а именно: ДБМ К=К и отвечаю- щий ему допустимый вектор Х(К), компоненты которого совпадают с соответствующими компонентами вектора & (К). Таким образом, решение исходной задачи предлагается вести в два этапа. На первом этапе с помощью описанного процесса решается вспомогательная задача А. При этом либо устанавливается, что в исходной задаче А нет допу- стимых векторов и тогда ко второму этапу переходить не приходится, либо же находится ДБМ К для исходной или  60 
TaOauna 13 Таблица 14  1 —2 1 3 |2 1 |-21 3 1 0 |—2 2 2 3 4 |-1 2 23 4 0 1 |—1 — 2 -—3 000 — —1  эквивалентной ей задачи А. На втором этапе, исходя из найденного ДБМ К, с помощью того же процесса решается интересующая нас задача А или эквивалентная ей за- дача А. 3.3.4. Пример 3.2. Решить задачу А с числовыми данными, приведенными в табл. 13 (вида табл. 7). Информация для соответствующей вспомогательной зада-  чи А записана в табл. 14, четвертый и пятый столбцы ко- торой отвечают добавленным векторам о“ и @а’, а послед- няя строка — линейной функции (3.26). При решении этой вспомогательной задачи в качестве исходной информации в соответствии с (3.30) принимается  ДБМ К= {4, 5}, #(К)=(0, 0, 0,2, 1).  Получаемая в процессе решения промежуточная инфор- мация приведена в табл. 15 и 16 (вида табл. 8 и 9). При этом вычисленные на втором шаге величины 2, неположи- тельные. Это означает, что базисное множество А = {4, 3}  Таблица 15  Шаг 1 Шаг 2 4} 2] 3,00 | 1,00 | 4 4,29 | — 4,00 5 | 4] 4,00 | 1,00 | 3 0,25 | —| —0,75 5 |--3| 0,25 —| —1,25 | —|__-__ Таблица 16 1 2 3 4 5 Шаг 1 0 4 7 0 0 3 Шаг 2 —35 —1,5 00 —1,75 —  61 
одновременно допустимо и двойственно допустимо для вспо- могательной задачи и, следовательно, вектор  &(К) = (0; 0; 0,25; 1,25; 0)  в этой задаче является оптимальным. При этом ДБМ К имеет с множеством 7, = {4, 5} общий элемент А =4, при- чем х.>0. Таким образом, здесь имеет место случай 2’, означающий, что в исходной задаче допустимых векторов не существует. Поэтому переходить ко второму этапу не приходится.  3.4. ДВОЙСТВЕННЫЙ МЕТОД  3.4.1. При изложении двойственного метода решения задач А и А* нам потребуются следующие вспомогательные утверждения. Лемма 3.4. Пусть имеются некоторое базисное множе- ство К</] и отвечающее ему единственное решение у(К) системы (3.11). Кроме того, для некоторого К* = К известен вектор де В", удовлетворяющий условиям  (о, а) -+1=0, (ал, 4>=0, KEK \{k*}. — (3.40)  Тогда при любом вещественном в значение линейной функ- ции (3.6) на векторе  y° = y(K)+ eg (3.41) может быть вычислено по формуле у(у') = у(у(К)) + езь» , (3.42)  где т,» — соответствующая компонента вектора x(K), onpe- деленного условиями (3.9) и (3.10). Доказательство. На основапии соотношений (3.6),  {3.41), (3.5) и (3.40) имеем у (у") = <В, у"> = <В, у =4> = <В, у> + =<В, 4> = — у (у) + =<— У x jo), = у (у) + e<— > т; (о, q)) = 3=К g=K =v (y) + ELR*,  что и требовалось показать. Лемма 3.5. Пусть базисное множество К является двой-  ственно допустимым, а х(К)=(11, ..., т) и У(К)=(у., ... ..„ Ут) — отвечающие ему векторы, причем + < 0. (3.43)  62 
Кроме того, определяемый из системы линейных уравнений (3.40) вектор де Е" удовлетворяет неравенствам  (a’, q)<0, jel. (3.44)  Тогда векторы (3.41) являются допустимыми в задаче А* при всех в >0, причем линейная функция (3.6) на множе- стве этих векторов не ограничена снизу. Доказательство. Ввиду допустимости вектора у(К) и неравенств (3.44) для любого # >20 имеем  <ей, у"> - с; = <, у(К)- =4> + с; = — (о, у(К) > с, + е<о, 42 <0, ] ЕТ, т. е. рассматриваемые векторы у* являются допустимыми  в задаче А*. Далее, на основании леммы 3.4 и условия (3.43) получаем  у (уг) = v(y (K)) + ex», т [9 (У°) 50 = — оо,  что и требовалось показать. Лемма 3.6. Пусть в условиях леммы 3.5 неравенства (3.44) нарушаются, т. е. непустым является множество  += е Ло, 4> > 0}. (3.45)  Тогда векторы (3.441) являются допустимыми в задаче А* лишь при в=[0, =*], где  — (ай, у(К)> — с;  e* = mi . 3.46 jest <a? 3 > } При этом у (у) = м(у(К)) + =*х» = шш (у). (3.47)  eq[0,e*]  Доказательство. Нетрудно видеть, что в данном случае векторы у’ тогда и только тогда являются допусти- мыми, когда  <, у(К) > с; + =<ой, 4) —<0, jedt.  А эти неравенства, очевидно, эквивалентны условию & & =[0, =*], где =* определяется по формуле (3.46). Что ка- сается соотношений (3.47), то они непосредственно выте- кают из леммы 3.4. 3.4.2. Цвойственный метод состоит в последовательном выполнении идентичных шагов. Поэтому достаточно опи- сать процедуры, выполняемые на каждом шаге. К на- чалу очередного шага имеются некоторое ДДБМ К и отве-  63 
чающий ему допустимый вектор у(К)=(У:, Уз, .. д Ум). Над этими исходными данными выполняются следующие процедуры. !. Определение вектора Х(К). Этот вектор находится из системы (3.9) и условий (3.10). При этом указанная система, как уже неоднократно отмечалось, имеет един- ственное решение. , И. Проверка допустимости ДДБМ К. Для найденного вектора (К) проверяем выполнение неравенств  „20, kek. (3.48)  При этом возможны два случая. (а) Указанные неравенства выполняются. Это означает, что рассматриваемое ДДЬБМ К является одновременно и до- пустимым базисным множеством. Тогда на основании тео- ремы 3.4 соответствующие векторы у(К) и х(К) оптималь- ны в задачах А* и А, и для них имеет место равенство (3.14). Процесс на этом заканчивается с выдачей искомых оптимальных векторов. (6) Для найденного вектора (К) условие (3.48) нару- шается. В этом случае находим некоторое k* = K такое, что 2» < 0, и переходим к следующей процедуре. ПТ. Вычисление вспомогательного вектора. Интересую- щий нас вектор 4 находим из системы (3.40), которая, как уже отмечалось, имеет единственное решение. ТУ. Определение =*. Находим величины  и; = <, 4>, Jed, (3.49)  и проверяем выполнение неравенств (3.44). При этом воз- можны два случая. (а) Все величины и; неположительные. Тогда на осно- вании леммы 3.5 определяемые по формулам (3.41) век- торы у’ являются допустимыми при любом 220 и линей- ная функция (3.6) на множестве таких векторов не огра- ничена снизу. Процесс на этом заканчивается с выдачей векторов У(К) и 4, позволяющих построить однопарамет- рическое семейство векторов у‘, на которых линейная функ- ция (3.6) не ограничена снизу. (6) Среди указанных величин (3.49) имеются положи- тельные, т. е. непустым является множество (3.45). Тогда вычисляем величины  2; = (07, у(К)>-Ес, jest и согласно (3.58) находим e* = min {— 2;/u;}. jest  64 
Лри этом запоминаем }, на котором достигается минимум, т. е. такое ] = +, что  &* = — 2;,/Vi,: (3.50)  затем переходим к следующей процедуре. У. Подготовка информации к следующему шагу. В ка- честве нового двойственно допустимого базисного множе- ства принимаем  K’ =(K\{k*})U Gd (3.51)  и вычисляем компоненты соответствующего вектора  y (K’) — (у, у, oo eg Yin)  по формулам (3.41). При этом на основании леммы 3.6 имеем  у(у(К’)) =у(у(К)) + =* ть» < 9 (У).  3.4.3. Проиллюстрируем двойственный метод на чис- ловом примере, который уже решался ранее прямым ме- тодом (см. пример 3.1 в п. 3.2.3). При этом получаемая на каждом шаге процесса информация будет размещаться в таблицах вида табл. 17 и 18.  Таблица 17 Таблица 18 Номер шага 1 2 13 ky У 91 ть, Номер —2Z 2 " — 213 utara kg Yo Ja Zh, kg Уз 93 Tr, Jo Uy Us - Ug k* | wy)| &*  Таблица 19  8 9 10 111 12 13  an > № с > nn © a]  23 0 0 18 43 8 3 15 10 5 0 8 3 |—115 0404123401230 1 }—600 0 0 3 0 0 0 0 4 4 4 4 =2 2 |—120  Wh =  |—1 —4 —1 —4 —4 1 —1 4 1-4-4 14-1  Э. А. Мухачева, Г. Ш. Рубинштейн 65 
Пример 3.3. Числовые данные приведены в табл. 19. В качестве исходного двойственно допустимого базисного множества на первом шаге процесса примем множество К = = {1; 7; 43}. Отвечающий ему допустимый вектор у(К)= (0,043; 0,248; 0,326)  определяется из системы 2Зу: — 1 =0, Зи, + 4у. —1=0, Зи, Ру, + 2у.—1=0.  Его допустимость в двойственной задаче легко проверяет- ся. Находим еще величину  у(у(К))= — 445 X 0,043 — 600 X 0,218 — 120 X 0,326 = = —174,86  и всю эту информацию заносим в соответствующие столб- цы табл. 20, построенной по типу табл. 17. На первом ша- ге процесса выполняем следующие процедуры. Т. Из системы (3.9), которая в данном случае имеет вид  232, + 32, + 3x13 — 115 = 0,427, + x1, — 600 = 0,7 2213 — 120 = 0,  определяем ненулевые компоненты вектора х(К) и поме- щаем их в четвертый столбец табл. 20. П. Просматривая компоненты найденного вектора х(К), убеждаемся в том, что имеет место случай (6), а именно: х, = —20,43 < 0. Поэтому в табл. 20 заносим К* = 1 и пере- ходим к следующей процедуре. Ш. Из системы (3.40), которая здесь имеет вид  234. +1=0, 34, -+ 442 =0, 34. - а» + 24. = 0,  находим вектор 4 и его компоненты заносим в третий стол- бец табл. 20. ТУ. По формулам (3.49) для всех уе 7 = {1, 13} нахо- дим величины и; и заносим их в третью строку табл. 24, по- строенной по типу табл. 18. В данном случае 7+ = {2, 3,44} и, следовательно, имеет место случай (6). Поэтому для всех je=J* no формулам (3.12) определяем величины —2; и за- носим их во вторую строку табл. 21. Затем по формулам (3.46) и (3.50) находим  e* = min {0,128/0,128; 0,022/0,147; 0,020/0,145} = 0,137, j= 14  и после занесения этой информации в табл. 20 и 21 пере- ходим к следующей процедуре.  66 
Таблица 20  Шаг 1 Шаг 2 Шаг 3 4 0,043 —0,043 | —20,43 44 0,037 —0,148 139,32 11 0 — |120 7 0,218 0,032 435 7 0,222 —0,111 48, 0 7 0,25 — 38,95 13 0,326 0,049 60 13 0,333 0, ‚333 —9, 66 2 0,25 — 21, 5 4 —174,86 0,137 43 —177, 65 0, 250 — —480' —  Таблица 24  1 2 3 4 5 6 7 8 9 10 11 12 13 Шаг 1 — 0428 0,022 — — — — — — — 0,020 — — 11 —1 0,128 0,147 —0,742 —0,495 —0,250 0 —0,596 —0,349 —0,102 0,145 —0,246 0 Шаг 2 0,142 — — — — — — — — — — — 2 —3.4 ‚404 0, hhh —4 —2,003 —1,702 —0,850 0 —2,553 —1,702 —0,850 0 —0,850 —1 
У. По формулам (3.51) и (3.41) находим новое ДДБМ К’ = {414, 7, 43}, отвечающий ему допустимый вектор  0.043 + 0,437. (— 0,043) = 0,037 y (K’) =| 0,248 + 0,137-0,32 = 0,222 0,326 + 0,137-0,049 = 0,333  и величину  v(y(K’))= —115 X 0,037 — 600 X 0,222 — 120 x 0,333 = = —177,65.  Эту информацию заносим в табл. 20 и переходим ко второ- му шагу. В соответствующих графах табл. 20 и 21 приведе- на промежуточная информация, получаемая на втором и третьем шагах. При этом в процедуре 1 третьего шага име- ет место случай (а), т. е. компоненты вектора 2(К”) поло- жительны. Поэтому базисное множество К” = {11, 7, 2} является одновременно допустимым и двойственно допусти- мым и, следовательно, отвечающие ему векторы  у(К”)==(0; 0,25; 0,25), х(К”)=(0; 24,5; 0; 0; 0; 0; 38,5; 0; 0; 0; 120; 0; 0) являются искомыми оптимальными векторами для рассмат- риваемых задач. При этом  v(y(K"))= p(2(K")) = —180.  Замечание. Про описанный двойственный процесс говорят, что он проходит без вырождения, если для всех встречающихся ДДБМ К имеют место строгие неравенства  z= <a’, y(K)> +¢e;<0, jeJ\K.  Нри выполнении этого условия вычисляемая на каждом шаге величина (3.49) больше нуля. Следовательно, в этом случае процесс является строго монотонным и одно и то же ДДБМ К не может встретиться на двух различных шагах. А это означает, что количество шагов в процессе не может  превосходить числа С» возможных сочетаний из п элемен- тов по т. Если же в процессе встречаются ситуации вырождения, то некоторые из величин (3.49) могут оказаться равными нулю, что нарушает строгую монотонность процесса. В этом случае для обеспечения конечности метода необходимо ис- пользовать специальные приемы выбора элемента 7» из мно- жества {] = 7*|2; = 0}, если последнее содержит более одно- го элемента.  68 
На рассмотрении способов построения исходного ДДБМ К мы здесь пе останавливаемся, поскольку двойственный метод используется обычно в случаях, когда исходное ДДБМ К либо известно, либо же легко строится из прими- тивных соображений. В заключение отметим, что при решении реальных за- дач, в которых переменных обычно значительно больше, чем ограничений, как правило, используется прямой метод. Однако в практике часто встречается следующая ситуация. После решения некоторой задачи и получения базисного множества А, являющегося в этой задаче одновременно до- пустимым и двойственно допустимым, в условия вносятся некоторые изменения. Например, добавляется небольшое чшело новых переменных или новых ограничений. При до- бавлении новых переменных имеющееся базисное множест- во А остается допустимым в измененной задаче. Поэтому для ее решения целесообразно использовать прямой метод. Требуемое количество дополнительных шагов при этом по- рядка числа добавленных перемепных. В случае же добав- ления ограничений с помощью имеющегося множества К для измененной задачи легко строится двойственно допу- стимое базисное множество. Поэтому решать эту задачу це- лесообразно двойственным методом. Требуемое количество дополнительных шагов при этом порядка числа добавлен- ных ограничений. С необходимостью введения новых огра- ничений в решаемую задачу линейного программирования мы встретимся в гл. 12 при расомотрении важного класса целочисленных задач. Естественно, что при этом будет ис- пользоваться описанный выше двойственный метод.  ГЛАВА 4  ВЫЧИСЛИТЕЛЬНЫЕ СХЕМЫ РЕАЛИЗАЦИИ МЕТОДОВ  4.4. ИСПОЛЬЗОВАНИЕ АППАРАТА ОБРАТНЫХ МАТРИЦ  4.1.1. В описанном прямом методе последовательно- го улучшения (см. п. 3.2) наиболее трудоемким на каждом шаге процесса являлось решение систем линейных уравне- ний (3.11) и (3.15) в процедурах Ги ПТ. Аналогично в  69 
двойственном методе (см. п. 3.4) наиболее трудоемким было решение систем линейных уравнений (3.9) и (3.40). Для записи указанных систем в матричной форме допу- стим, что множество K = (ki, ko, ..., km) “3 Я является ба- зисным и ему отвечает неособенная матрица  ‘аль, Aiko +s т  Br — Qe, 22k eee бт  Тогда соответствующие системы (3.41), (3.15), (3.9) и (3.40) можно переписать в следующем виде:  (Уз Yor woes Ym) Bx + (Cr, Che? rr) Chm) — 0,  Ek, ij, Bx = : ’ Ekm amj , Thy by Вк| : |: |=0, Them, Om (41, 9», ...›9т)*Вк + (0,0, ..., 0, 1, ; ...) 0) = 0. h¥  А это означает, что если известна матрица Bay Bis vee Bim By = Ват Ваз... Ват BmiBme --- Bmm  обратная к матрице В», то интересующие нас решения при- веденных систем могут быть вычислены по следующим про- стым формулам:  (Yi) Yo or) Ym) = (— Ch, — Cha) ое) = Chim) Br’, (4.1)  Eh, Qj, |= Вк| : | (4.2) т am}, Thy ~~ by |= Вк| : |, (4.3) Thin — Om (41; Qa; eee Чт) — (0, ...,0, —1, 0, 0, @eey 0) Br’. (4.4) Аж  70 
4.1.2. Наиболее трудоемким при реализации описанных методов последовательного улучшения с использованием аппарата обратных матриц является вычисление на каждом шаге процесса соответствующей обратной матрицы Вх’. При этом существенно, что в рассмотренных процессах на каждом шаге в матрице Вк изменяется лишь один столбец. Благодаря этому обратную матрицу для очередного шага можно получить с помощью простых преобразований эле- ментов обратной матрицы текущего шага. Соответствующие формулы аналогичны используемым при обращении матриц методом пополнения. Лемма 4.1. Пусть неособенные матрицы В = (Ь,) и В, = (Ь..) одного и того же порядка т отличаются лишь одним столбцом с номером г, т. е. Шь = в при всех 1=е| и Е э-г. Тогда элементы обратной матрицы Ву*==(Вь) сле- дующим образом выражаются через элементы обратной мат- рицы В- = (6): ВА, Ва вы в: при 16, (4.5) Ep Ep где gi = > Во, 11. (4.6) Доказательство. На основании определения обрат- ной матрицы исходные величины 6. и В» удовлетворяют  условию > BisOsn = Sin, (4.7)  rae 5;,— cumBon Кронекера, равный единице при i=k nu нулю при #7 К. Требуется показать, что аналогичным соот-  ношениям , > BisOcr = Oin (4.8)  a удовлетворяют также элементы б;. матрицы В; и величины } В, определяемые по формулам (4.5) и (4.6). Для доказа- тельства справедливости этих соотношений при любых #  и К из [ рассмотрим четыре случая: (а) пусть #5-ги Кг, тогда 6» =0, и на основании  (4.5) и (4.7) имеем < ny! У, Bes Se В: зб = (Bo — 8] Dep —  s=I sel 8; 8: — > Веб —- > BrsOsp = Sin — — бек = 6:3 sel s=  71 
(6) nycrs i # ru k=r, torga 6; =O m Ha ocmopannn (4.5) и (4.6) имеем  ‚, В, > BisDsr — > (Bs — а) Ds, = s=I Г  8=1 с; “1 , g; = > BisDsr —— > BrsOsp = 8; — —+ 2, = 0 = 8575 = 8, & 8. sil $=1  (в) пусть {=ги Ё7г, тогда б» = 0, и на основании (4.5) и (4.7) имеем  4? B r 4 4 . > Br sOsp = > =. Os, = Z. > By ssh = 7. Ork = 6 +n} sel $=177 ? sz] r (г) пусть {=ги Ё=г, тогда 6, =1, и на основании  (4.5) и (4.6) имеем т’ Bes , 1 <“ , 8+ > B sD sp — У — 6; — =, » B-sOsr — Е. = 1 = 5,7.  =I ear or s=I r  Замечание. Фигурирующие в формулах (4.5) вели- чины (4.6), как легко видеть, совпадают с коэффициентами разложения г-го столбца матрицы В, по столбцам матри- цы В. Поэтому в прямом методе последовательного улучше- ния соответствующие величины на каждом шаге процесса определяются в процедуре 111. А это означает, что при вы- числении обратной матрицы к очередному шагу величины 8» перевычислять не приходится. Принципиальные схемы реализации прямого и двойст- венного методов последовательного улучшения © использо- ванием аппарата обратных матриц совпадают с описанными в: предыдущей главе (см. пп. 3.2, 3.4). Однако при подго- товке информации к очередному шагу (см. процедуру У) здесь, помимо нового базисного множества К’ и отвечающе- го ему вектора х(К”) (или вектора у(К”) в двойственном методе), необходимо найти также новую обратную матрицу  Вк’. Элементы этой матрицы вычисляются по формулам (4.5). Далее, при выполнении процедур Ги 1Ш решения со- ответствующих систем линейных уравнений находятся по формулам (4.1) и (4.2) (или по формулам (4.3) и (4.4) в двойственном методе). 4.1.3. Поясним теперь схему реализации прямого метода последовательного улучшения с использованием аппарата обратных матриц на конкретном примере. Пример 4.1. Рассмотрим задачу линейного програм- мирования в несимметричной канонической форме, исход-  72 
ные данные которой приведены в табл. 22, построенной по принципу табл. 7. Исходную информацию на каждом шаге процесса здесь составляют ДБМ К = «Ё,, Ё., К,}, величины —1 с Я, КЕК, и обратная матрица Вк = (В;.). Эта инфор- мация, а также получаемая на каждом шаге процесса при выполнении процедур [—У записываются в виде табл. 23 и 24, числовое наполнение которых для рассматриваемого примера сведено в табл. 25 и 26. Первые три шага процесса отвечают этапу разыскания исходного допустимого базисного множества, т. е. решению вспомогательной задачи (см. п. 3.3). В указанной вспомо- гательной задаче в данном случае максимизируется линей- ная функция и (5) = —DL12 — Lis — Li. (4.9) Это означает, что исходное множество J = {1, 2,..., 14} Таблица 22  \№ хз эзаьотвоюн  1 1 3 4 3-1 4 5 3 4 0 2] —7 2 0 2 0-1 3 2 0-14 0 2 Of} —19 3 —2 0 41 0 2 4-2-4 3 5 —2] —23  —2 ~9 —4 —2 —5 —9 —6 —2 —5 —4 —3  Таблица 23  Номер шага  ky Cr, Zp Bp, Bat Bis Bis ke Cr, Zp, Eh, Bis Boa Bas ks Chs Zp, 8p, Bis Bs2 Взз ж ж k №(#(К)) в У1 Yo Уз  Таблица 24  1 2 10 11  Номер шага 21 Zo 210 211 Jo  73 
Таблица 25  Шаг 1 12 —1 7 4 4 0 0 43 —1 49 2 0 4 0 14 —1 23 4 0 0 4 12 —49 4,750 — 1 1 4 Maz 2 6 (—9) 1,750 0 0,250 0 0 13 —1 45,500 2 —0,500 1 0 14 —1 21,250 5 —0,250 0 1 14 —36,7 4,250 — —0,750 4 1 Maz 3 6 (—9) 1,750 0,250 0,250 0 0 43 —1 7,000 2,600 | —0,400 4 —0,400 10 (—4) 4,250 0,450 | —0,050 0 0,200 13 —7 2,692 — —0,400 4 —0,400 Шаг 4 6 (—9) 2,423 0,810 0,242 0,096 —0,038 5 —5 2,629 | —0,770 | —0,154 0,385 —0,154 10 —4 3,039 0,345 0,019 —0,173 0,269 6 —47,4 3,000 — 1,244 2,097 —0,036 Шаг 5 3 —4 3 — 0,263 0,118 —0,047 Г5 —5 5 — 0,048 0,476 —0,490 10 —4 2 — —0,072 —0,214 0,285 — —45 — — 4 2 0  здесь расширяется до множества Л = ТОТ, где 7, = {12, 43, 14}. При этом коэффициентами при 2; в линейной функции (4.9) являются &, =0 при у ЕЛ и 6, = —1 при у =Л. Вме- сте с тем для удобства перехода ко второму этапу на соот- ветствующие места табл. 25 мы уже на первом этапе для всех К =. заносим не 6, =0, а заданные величины с», по- мещая их в скобках. В качестве исходной информации на  74 
первом шаге первого этапа (см. п. 3.3) принимается  = 12, Ко — 13, k= 14, 212 >> |6, | = 7, 443 > |6. | = 19, да = |6,| = 23,  р =0 при 152, В. =1 при 6:0, Ви =—4 при В.>0. Эти данные указаны в табл. 25. Там же и в табл. 26 приведены ре- зультаты расчета, полученные на всех пяти шагах процесса. Остановимся более подробно на описании третьего шага. К на- чалу этого шага в соответствую- щей части табл. 25 заполнены по три строки в первом, третьем, пя- том — седьмом столбцах, а также весь второй столбец. В процедуре Т по формулам (4.1) находим вектор у == (у. У», Уз) и его компоненты помещаем в последнюю строку пятого — седьмого столбцов. При этом, так как данный шаг относится к пер- вому этапу, при использовании соответствующих формул прини- мается Св == Ct. = 0, С1з = б1з = —1, Cio = Cryo = 0.  В процедуре П по формулам (3.12), где также принимается с, =&,=0 при всех } УТ, вычис- ляем величины 2; и заносим их в соответствующую строку табл. 26. Так как имеет место случай (6), то одновременно в последний столбец этой таблицы заносим о =5, отвечающее максимально- му из вычисленных 2;. В процеду- ре ПТ по формулам (4.2) вычис- ляем коэффициенты &, и заносим их в четвертый столбец табл. 25.  Таблица 26  10  11  10  5,00 —2,00 —2,00  5,00  —0,25  —1,00 —2,75  —3,50  7 0 0 0  0 —2,80  —0,25 —1,00  —4,25 —1,80  —5,15 —1,20  0 0  5,75 2,60 0 0  —3,25 —2,20 —0,46 —4,00  0,80 —1,17 —2,00  0,40 —0,71 —1,00  —0,50  0,44 1,00  0,14 —1,00  0,82 0  —1,00  1,00  Шаг 4  Шаг 2  Шаг 3  Шаг 4  Шаг 5  75 
В процедуре ТУ, так как имеет место случай (6), вычисля- ем величину  =* = пт {7,000/2,600; 4,250/0,450} = 2,692,  фиксируя Ё* = 13, для которого достигается соответствую- щий минимум. Величину =* заносим в последнюю строку третьего столбца табл. 25 и отмечаем в первом столбце этой таблицы А* = 13. В процедуре У готовится информация к очередному чет- вертому шагу процесса. Новое допустимое базисное мно-  жество  K’ =(K\{k*}) U (j,} = (6, 5, 10}  целиком содержится в исходном множестве УТ, т. е. является допустимым для исходной задачи. Поэтому следующий шаг процесса относится уже ко второму этапу, на котором при записи величин с, скобки опускаются. Во вторую строку  вместо #* = 43, с: = —1 и .: = 7,000 заносится д =5, с. =—5 и 3, = =* = 2,692. В первую и вторую строки запи- сываются старые #, =6, К, = 10, св = —9, сь =—4 и новые  Le = 2, — =*8, = 2,423; хи= ху—2*2 1, = 3,039. Новая обрат- ная матрица вычисляется по формулам (4.5) с учетом за- мечания о том, что величины (4.6) заново вычислять не требуется, так как они были вычислены в процедуре ПП. Таким образом, имеется вся необходимая информация для проведения четвертого шага процесса. На пятом шаге процесса при выполнении процедуры П мы обнаруживаем, что имеет место случай (а). Это означа- ет, что векторы х == (0, 0, 3, 0, 5, 0, 0, 0, 0,2,0), у=(1,2,0) являются оптимальными соответственно в исходной и двой- ственной задачах.  4.2. ПРЯМОЙ И ДВОЙСТВЕННЫЙ СИМПЛЕКС-МЕТОДЫ  4.2.1. В рассматриваемых здесь реализациях прямо- го и двойственного методов последовательного улучшения выполняемые на каждом шаге процесса вычислительные процедуры несколько отличаются от описанных. В частно- сти, в прямом методе элементы р =/Г и Ё*е= К определяют- ся без вычисления вектора у(К). Основную роль при этом играют так называемые симплексные таблицы, представля- ющие собой прямоугольные матрицы размеров (т-+1) Х  76 
x<(n+1). A wMenHo: каждому OasucHOMy MHomecTBy ACJ сопоставляется матрица  а (К) = (gx), ke .K, je,  где A=KU{0}, J=JU {0}, a smeMeHTEI 24; удовлетворяют. соотношениям  о? = У вю, ] Е Ч, (4.10) ЕЕК 80) — J Brier — &js ] e./, (4.11) в которых ©’ = -—В, с =0. Так как множество <] явля-  ется базисным, то элементы матрицы G(K) из приведенных соотношений определяются однозначно. Заметим теперь, что симплексная таблица С(К) содер- жит всю необходимую информацию для проведения соответ- ствующего шага прямого или двойственного метода после- довательного улучшения. Действительно, элементы &» при ке К, очевидно, совпадают с компонентами х, вектора z(K), a Zo =p(r(K))=—v(y(K)). Utro касается элементов 2; при ]} ЕТ, то они на основании леммы 3.1 лишь знаком отличаются от соответствующих величин  д; = <), у(К)> Е с.. (4.12)  Это означает, в частности, что для ДБМ К (и только для таких базисных множеств) имеют место неравенства  8020, kek, (4.13) а для ДДБМ К (и только для них) имеют место неравенства #20, jed. (4.14)  Далее, используемые в процедуре ТУ прямого метода величины &,, очевидно, совпадают с элементами #» COOT- ветствующего столбца матрицы С((К). Что касается вели- чин и; используемых в процедуре ТУ двойственного метода, то они лишь знаком отличаются от элементов 21+; COOTBET- ствующей строки матрицы С(К). Для доказательства по- следнего достаточно вспомнить, что величины и; в Двойст- венном методе определялись по формулам и; = (а), 6>, 1 ЕТ, где вектор 4 находился из системы  <a, gy =—1, <a*,g>=0, keEK\ {kK}. Поэтому на основании (4.10) имеем  <, 4) = № в; (9, 4) = — 2» JST. hek  77 
4.2.2. Детальному изложению вычислительных процедур прямого и двойственного симплекс-метода предпошлем еще  одно вспомогательное утверждение. Лемма 4.2. Пусть базисные множества К] uk cd  отличаются лишь одним элементом, а именно:  K’=(K \ {k*})U (j,}. (4.15)  Тогда элементы симплексных таблиц G(K)=(gy) wu С (К’) = (Е,;) связаны следующими соотношениями: 2) = ыы, ЛЕ. , (4.16) Вы= вы; — (Вы вы ) вы» КЕ К ДИ*}, 7.4. (4.47)  Доказательство. На основании (4.10) для рассмат- риваемых множеств К и К’ имеем  aes вы” + Вике“ =a’, jE, J, У вю ам =, 1. У, hek* ° rye K* = K \ {k*}. Tostomy  р (2; —- nj) oF + ды __ gj ja ° = 0, Е J,  и, следовательно, при всех 7 Е .„/ справедливы соотношения  a j 8ъ: — 8h; бьж: * 9 ° —= У м. A oh 4 AP) gf aural g:: .. веК* То? J of  j Но тогда ввиду единственности разложения вектора © ° по базисному множеству К при всех } = .7 имеем  (ву — вы) / 83 = Вы» ВАМ = Bari,  Отсюда для 8; следует справедливость формул (4.16),  а для &к; при Ёе К* — формул (4.17). Остается проверить справедливость (4.17) при Ё=0. Для базисного множества К’ на основании (4.11) при всех 7 Е ‹/ имеем  7 / , р Во; — > Erion — 05 = У высь Ню; — Cj. ЕЕК’ Е=К* о* "о  Подставляя в эти соотношения выражения (4.16) и (4.17),  78 
которые для А 7 0 уже проверены, получаем  , Bx; Ene; 80; — У вв — 7° Bhi, | oR 1 raz do “9 kh=K* ERF jo k¥jo  Отсюда после вычитания (4.11) находим  ‚ Ene; 8и*) „. 507 — 80; —= — У Enj,*Ch — Srrjce vo Ci, = hake PR*; , &* о Eh; оч 8*; а. Enj ck — Ci, | = и, "80 R*),, ВЕК k*j,  что и требовалось показать. 4.2.3. Теперь мы можем описать вычислительные схемы прямого и двойственного симплекс-методов. На каждом шаге прямого метода имеется ДБМ К и от- вечающая ему симплексная таблица С (К)=(2,;), удовлет- воряющая условию (4.13). Если при этом условие (4.14) также выполняется, то базисное множество К является одновременно допустимым и двойственно допустимым (про- цесс решения окончен). В противном случае фиксируем | = УХ, для которого 805, <9, и проверяем неравенства  8) < 0, kek.  Если они выполняются, то линейная функция (zr) в рас- сматриваемой задаче не ограничена сверху (процесс окон-  чен). Если же множество К" = {ке К | в; >> 0] не является  пустым, то фиксируем К*е +, на котором достигает мини- мума отношение 8/8), и по формулам (4.16) и (4.17)  находим элементы &%; симплексной таблицы @(К”), отве- чающей новому допустимому базисному множеству (4.45). После этого переходим к следующему шату. В двойственном методе на каждом шаге имеются ДДБМ К и отвечающая ему симплексная таблица @а(К)=(#»), удовлетворяющая условию (4.14). Если при этом условие (4.13) также выполняется, то базисное множество А явля- ется одновременно допустимым и двойственно допустимым (процесс решения окончен). В противном случае фикси- руем Ё*е К, для которого 8 <0, и проверяем нера- венства 8h*j = 0, j Е J.  Если эти неравенства выполняются, то линейная функция у(у) в двойственной задаче не ограничена снизу (процесс  79 
окончен). Если же множество J* = {7 GJ | 8ь*; < 0} не яв- ляется пустым, то фиксируем р» =.7*, на котором достигает минимума отношение — 20//8»*;, и по формулам (4.16) и (4.17) находим элементы 2%; симплексной таблицы @(К’), отвечающей новому двойственно допустимому базисному множеству (4.15). После этого переходим к следующему mary. 4.2.4. Более подробно схему реализации описанных ме- тодов поясним на числовом примере, который уже рассмат- ривался в п. 4.1. При этом ограничимся иллюстрацией толь- ко прямого метода. Первые три шага процесса, как мы уже знаем, отвечают этапу разыскания исходного допустимого базисного множе- ства, т. е. решению соответствующей вспомогательной зада- чи. Поэтому исходное множество /] = {1, 2, ..., 11} на этом этапе расширяется до множества J=JUJ,, roe J, = (12, 13, 14}, и во всех формулах с; заменяются на &; =0 при 1=еТиё, = —1 при } ЕЛ. В качестве исходного допустимого базисного множества на первом паге первого этапа, как и в п. 4.1, принимается множество А =/Л.. Элементы соответствующей симплексной таблицы С(К) размерности 4Х 15 легко определяются по  > 0 1 2 3 4 5 6 7 h Шаг 4 —49,00 1,00 |—5,00/—5 ,00/—2 ,00/—4 ,00/—7 ,00/—3 ,00 42 7,00 1,00 3,00] 4,00} 3,00/—1,00} 4,00] 5,00 13 19,00 0 2,00 0 |-—1,00 3,00 2,00 0 14 23,00 —2,00 0 109 0 2,00] 1,00/—2,00 Шаг2 | —36,75 2,75 | 0,25] 2,00] 3,25|—5,75} 0 5,75 6 4,75 0,25 | 0,75} 4,00] 0,75/—0,25] 41,00] 125 13 15,50 | —0,50 | 0,50/—2,00/—2,50] 3,501) 0 |250 14 21,25 —2,29 |—0,75} O |—0,75} 2,25) 0 |—3,25 Mar 3 —7,00 | —0,40 |—0,80] 2,00) 2,20/-2,60] 0 | 4.20 6 1,75 0,25 | 0,75] 4,00] 0,75|-0,25] 4,00] 4.25 13 7,00 | 0,40 | 0,80/—2,00}—2,20/ 2,60} 0 {—1,20 10 4,25 | —0,45 |—0,45] 0 j|—0,15} 0,45] 0 |—0,65 Шаг 4 0 0 0 0 0 0 0 0 6 2,42 0,29 0,83| 0,84| 0,54 0 1,00} 1,43 5 2,69 0,15 | 0,31|—0,77|—0,85| 1,00] 0 |-0.46 10 3,03 | —0,52 |—0,29 0,351 0,23] 0 0 |—0,44  80 
исходным числовым данным, приведенным в табл. 22: Ero = |на, ЕЕЛ,, Вы = Eres, KEN, JET, G5 = 65, ЕЁЕЛ, ] ЕЛ,  где =, = —1, ecuu D,-,,20, w &,=1, ecu Ви < 0, a 5,;— символ Кронекера. Что касается элементов нулевой строки, то они вычисляются по формулам  = — У в Jed: kJ,  #0; = 0, jel.  Исходные данные рассматриваемого примера, а также получаемая в процессе счета промежуточная информация приведены в симплексных табл. 27 и 28. Заметим, что при переходе от первого ко второму этапу (что соответствует четвертому шагу процесса) дополнительные столбцы, отве- чающие }=/‚, уже не заполняются и, кроме того, нулевую необходимо пересчитать по формулам  строку таблицы  } р  (4.11). Таблица 27 8 9 10 11 12 13 14 —1,00 | —7,00 —7,00 0 0 0 0 3,00 4,00 0 2,00 1,00 0 0 —1,00 0 2,00 0 0 4,00 0 —1,00 3,00 5,00 —2,00 0 0 1,00 4,25 0 —7,00 3,50 1,75 0 0 0,75 1,00 0 0,50 0,25 0 0 —2,50 | —2,00 2,00 —41,00 —0,50 1,00 0 —1,75 2,00 5,00 —2,50 —0,25 0 4,00 1,80 2,80 0 0 1,40 0 1,40 0,75 1,00 0 0,50 0,25 0 0 —1,80 | —2,80 0 0 —0,40 4,00 —0,40 —0,35 0,40 1,00 —0,50 —0,05 0 0,20 0 0 0 0 1,00 1,00 1,00 0,58 0,73 0 0,50 0,24 —0,10 —0,04 —0,69 | —1,07 0 0 —0,45 0,38 —0,15 —0,04 0,88 1,00 —0,50 0,02 —0,17 0,27  eae = ay —_  81 
Таблица 28  32  © oor = _ вв mMmoown “_ CO OO OOS © > S S. coooucoce= of th oo & r& Aeon OAM © coroners tr oO oO чо SHR OS SHAAN во cope sore sf C1) © > <— NN saat SGZSa TP PR TF RSS © <> © 1 A >. ON SN > 271-93 © 10 >. S = a ee ew en <о Ye) го © SBR SSR > a Hor Ss со 792 21° te WG о <> 9 В O19 =a OMAN w < coor OOD чмо ооо чо есео>е o > с сч о № © Ш с xf < $ Ww и © „№ © “Е В  Симплексная таблица пя- того шага, как легко видеть, удовлетворяет условиям (4.13) и (4.14). Поэтому со- ответствующее базисное мно- жество К == {3, 5, 10} явля- ется одновременно допусти- мым и двойственно допусти- мым, и, следовательно, век- тор  x(K)=(0, 0, 3, 0, 5, 0, 0, 0, 0, 2, 0)  будет оптимальным для рас- сматриваемого примера. В заключение заметим, что для задач, в которых число переменных п незна- чительно превосходит коли- чество ограничений т, пря- мой и двойственный симп- лекс-методы по трудоемко- сти мало отличаются от реа- лизации прямого и двойст- венного методов последова- тельного улучшения с ис- пользованием аппарата об- ратных матриц. Однако для задач, в которых число пе- ременных п в десятки раз превосходит количество ог- раничений т, хранение и перевычисление на каждом шаге громоздких симплекс- ных таблиц весьма обреме- нительно. В связи с этим были разработаны модифи- кации прямого и двойствен- ного симплекс-методов, в ко- торых элементы симплекс- ных таблиц ‘уже не хранят- ся, а вычисляются по мере надобности < помощью об-  ратных матриц Вх, с кото- рыми мы уже встречались. 
Экономпые вычислительные схемы реализации соответству- ющих модифицированных методов оказываются тождествен- ными описанным в п. 4.2. В связи с этим последние назы- вают часто модифицированным прямым и двойственным симплекс-методами. Таким образом, теоретическое обоснование вычислитель- ных схем п. 4.2 может быть получено не только на основе процедур 1—У прямого и двойственного методов последо- вательного улучшения, но и на основе рассмотренных про- цедур прямого и двойственного симплекс-методов.  4.3. АЛГОРИТМИЧЕСКИЙ УЧЕТ ДВУСТОРОННИХ ОГРАНИЧЕНИЙ  4.3.1. В приложениях систематически встречаются задачи линейного программирования, в которых на компо- ненты искомого вектора  t= (x1, Hoy oo ey Ln) (4.18) накладываются двусторонние ограничения Ox<2a;<f, jel, (4.19)  где f; — заданные положительные числа. Указанные задачи стандартным приемом могут быть сведены к рассмотренной несимметрической канонической форме. Однако при таком сведении размерность задачи су- щественно повышается:  m’=m+tn, п’= 2.  В связи с этим естественно не прибегать к указанному сведению, а попытаться учесть правые неравенства в (4.49) точно так же, как ранее учитывались левые неравенства в (4.19),т.е. условия неотрицательности переменных. В ка- честве основной при этом рассматривается следующая  задача. Задача А,. Максимизировать линейную функцию  p(x) = 2 C52; (4.20)  на множестве п-мерных векторов (4.18), удовлетворяющих условию (4.19), а также соотношению  Хз +8=0, (4.24) j=  83 
где т-мерные векторы © и В определяются заданными ве- личинами а; и 6, (см. (3.1)). Для изложения интересующих нас приемов рассмотрим разбиения множества 7 на три попарно непересекающиеся подмножества К, Л и 7. Если при этом К < является ба- зисным множеством, то соответствующее разбиение также называется базисным. Каждому базисному разбиению {К, Л, Л} сопоставим вектор  (К, Ло, 71!) = (21, 22, +++) Tn), (4.22) компоненты которого однозначно определяются из условий .=0 jen, х.=р ]ЕЛ, (4.23) > xe + У +В = 0. (4.24) &=К jad,  Определяемый указанным образом вектор (4.22), оче- видно, всегда удовлетворяет условию (4.21) и, следователь- но, является допустимым в задаче ТУ, если  O<2,.<fh,, KEK.  В этом случае базисное разбиение {К, 7», 71} называется д0- пустимым базисным разбиением. 4.3.2. Базисное разбиение называется двойственно Oo-  пустимым, если соответствующий вектор у(К), определяе- мый из условия  ‹^, y(K)> +ce,=0, KEK, (4.25) удовлетворяет неравенствам ‹@, у(К)>+ с, <0, jeh, (4.26) (а, y(K)> +o 20, fed. (4.27)  Лемма 4.3. Если 6asucnoe pas6uenue {K, Jo, J,} aeaner- ся допустимым и двойственно допустимым, TO отвечающий  ему допустимый вектор (4.22) является оптимальным в рас- сматриваемой задаче.  Доказательство. Для любого допустимого вектора (4.18) с учетом (4.20), (4.25), (4.21), (4.19), (4.26), (4.27)  получаем  р (2) = > сьхь + a сх; + >» C323 = keK jeJ, Jed,  Е — >} — , К + tT; - ~~. keK <a У ( )> 7k = ae) р 77:  84 
= (— № 20, y(K) + У сл;+ У ся; = &=К jeJy jet,  = <p + x хуй + x ха’, у (К)> + = 58.  j=’,  + pa суду а с; т; = <B,y (K)> +  + Хы ( у(К)У + с,) +  j=J,  + » x3 (<a’, y (K)> + ¢3) <<, y(K)> +  = о  + 21 (<a, y (K)> + с;).  =J — =J  При этом для допустимого вектора 5х = «(K, Jo, J,) B O- следнем неравенстве, очевидно, достигается равенство. Сле- довательно, этот вектор является оптимальным, что и тре- бовалось показать. 4.3.3. Основная идея алгоритмического учета двусторон- них ограничений на переменные связана со следующими с0- ображениями. Пусть {К, Jo, /1} — допустимое базисное раз- биение и (4.22) — отвечающий ему допустимый вектор. Предположим далее, что для некоторого » ЕЛ ИТ, имеет место разложение  ба = М во, (4.28)  ° ВЕК где 6; — 1, если ое Jo, И 6; = 1, если о = Jie Из (4. 24) и (4.28) при любом в имеем  =б; a? + > (t1—egna* + D fo’ +B=0. (4.29) ° ЕК jeJ,  Это соотношение порождает некоторый вектор 2° с компо- нентами  же =, — 28, при ЕЕК, =; если } =.., р —е, если }, ==,  & — Xj, =  (4.30)  1) =; =0 при } Е \\{).}, x4 = Lj =f; при 1=+ Л, \ {).}.  Этот вектор, очевидно, тогда и только тогда является допу-  85 
стимым в задаче А,, когда 0==<}. ; O< rp — #8 > Ths kek. (4.34)  Покажем, что значение линейной функции (4.20) на векторе 21° может быть вычислено по формуле  и (22) = в (5 (К, Ло, Л,)) + £55, [а » ¥ (K)> + с; |. (4.32)  Действительно, =) . . —_— и (2°) = с; 8б; + > ск (ть — #8ь) + + 2 fi = ( Dy cate + D cits ) + °( 7.8%, >» с»). j=J, в>=К ЕЛ, hak  При этом первое слагаемое в правой части, очевидно, сов- падает с и(х(К, Л, 7:)), а для коэффициента при & Ha OC- новании (4.25) и (4.28) имеем  с; 6 — 2 Orbe = 61,95, + 2 8x <a, y (K)) = =c; 6; +< № 2, у(К)> = с; 9; + о о kek  + <8;,0°°, y (K)> = 8, [<а°, у(К)> + с; | |  откуда следует требуемая формула (4.32). Из соотношения (4.32) вытекает, что в случае, когда  2}, — 0; [ <a’e, y (K)> + с; | >0, 4  мы заинтересованы в выборе как можно большего значения параметра =. Так как при этом вектор 2х‘ должен оставаться допустимым, то интересующее нас значение # = =* на осно- вании (4.31) может быть вычислено по формуле  e* — min (#1, 22,83 |, (4.33} где ; т —х =1 = шт п в = шо - № = };. (4.34) #к>0 88 8.<0 ~ 8k о  При этом в качестве минимума пустого множества при- нимается величина о. Это означает, что &, = Но, если среди 2, нет положительных, И #2 = оо, если среди 2, нет отрицательных. 4.3.4. Перейдем теперь к описанию вычислительной схе- ы. На каждом шаге процесса последовательного улучше-  86 
ния имеется некоторое ДБР {K, Jo, J,} и отвечающий ему допустимый вектор (4.22). Соответствующие процедуры лиить некоторыми деталями отличаются от описанных в гл. 3. Е. Определение вектора У(К). Интересующий нас вектор у(К) однозначно определяется из системы (4.25). П. Проверка условий оптимальности. Для найденного вектора у(К) находим величины  2; = 6; [<a’, y(K)> + ey], (4.35)  где 0, =1 при ] ЕЛ, 6, = —1 при } ЕЛ, 6, =0 при ]} ЕК, И проверяем выполнение неравенств  z<0, fed. (4.36)  При этом возможны два случая. (а) Указанные неравенства выполняются. Тогда на о0с- новании леммы 4.3 вектор х(К, Л, 7.) является оптималь- ным в рассматриваемой задаче. На этом процессе решения заканчивается с выдачей векторов х(К, Л, 71), у(К) и зна- чения линейной функции и (х(К, Л, 4!). (6) Среди найденных величин (4.35) имеются положи- тельные. Тогда фиксируем }. Е 7 и 6}. такие, что 2; >0, и переходим к следующей процедуре. ПТ. Вычисление коэффициентов разложения вектора  J 6; ° по базисным векторам. Интересующие нас коэффи- циенты однозначно определяются из системы (4.28).  ГУ. Определение =*. Эта величина вычисляется по фор- мулам (4.33) и (4.34). При этом возможны три случая:  т (а) =* = Es === ‚ где 2,„ >0, №*еК, k*  fawn —ZXpe  # 2% — ба  ‚ где др,. <0, k*® EK, (в) =* =ез = fi,  Фиксируя, какой из случаев имеет место, а также соот- ветствующее #* в случаях (а) и (6), переходим к следую- щей процедуре. При вырождении процесса могут реализо- ваться одновременно два или все три случая. Тогда фикси- руем произвольно один из них. У. Подготовка информации к следующему шагу. Если в предыдущей процедуре имел место случай (а), то в каче-  87 
стве исходной информации для следующего шага принимаем  K’ = (K\ RY) U fis = (00. 0}, ЕЛ, p= ть — 2%, КЕ К’ {),}, =, tae = 0;  д; =жл ] ЕЛ, | (4).  Если в процедуре ТУ имел место случай (6), то при- нимаем  K’ = {K\{k*})) U Gis Jo= Jo. Ja = SiN Gd) ULEAD ян= ть —2* в, КЕК’\{).}, 2 ==", Cpe = fax, B= 23, JST, U Sih).  Если в процедуре ТУ имел место случай (в), то при- нимаем  , , . ' . К — К, Jo — Jo\ Tigh) Jy = Jy U {j,}; т), =» ть = 2, — 8» KEK. Замечание. Если в процедуре ТУ имеет место слу- чай (в), то очередной шаг процесса можно начинать сразу с процедуры П. Это связано © тем, что в указанном случае. К’= К и потому у(К’)=у(К). Проиллюстрируем описанный процесс на примере, в ко- тором т = 3, п=б. Исходные данные и промежуточные: результаты будем размещать, как указано в табл. 29—34, Пример 4.2. Соответствующие исходные данные при-- ведены в табл. 32. Промежуточная информация размещена в табл. 33 и 34. В качестве исходного ДБР «К, Л, 7:} на Таблица 29  <: 2 3 в 6 2  1 Qi Q19 @13 Qi4 @15 @16 by 2 G31 Qo9 @23 @24 @25 @26 by 3 @31 Ase @33 @34 —@35 Age bs C1 Cg C3 C4 Cs Св 
Таблица 30  Таблица 31  38.  x(k, Jo, J,)= (7, 0, 0, 12, 0, 10).  Номер шага 1 6 8, 8, Homep ky ть, |2, — fr, Er, у шага ke тк, Zp. fr, En, Уз 21 26 Jo | kg ть, Zp, — th, ERs Уз k * es 2* e* 1 2 3 Таблица 32 j i 1 2 3 4 5 6 4 4 3 —1 0 2 0 —7 2 0 —2 4 1 0 0 —12 3 0 —4 3 0 8 4 —10 0 4 3 0 2 0 8 0,50 5 13 0,50 141 Таблица 33 Шаг 1 Шаг 2 4 7 —1 —4 01311 —4 —3 3 4 142 —1 4 01418 —5 10 0 6 110 —1 3 01617 —4 5 0 4 3 4 5 0,80 1,33 0,50 Шаг 3 Шаг 4 3| 2,50 —2,50 —2 3/3 | 3,14 —1,86 — 1,29 4| 3 —10 8 0141 0,44 | —12,6 — 0 6 | 4,50 —6,50 44 0; 5] 0,32 —0,18 — |—0,57 6 | 0,32 1,25 0,50 —| — — — первом шаге процесса принимается К = {1, 4, 6}, Л = {2, 3, 5}, J, =9,  Соответствующий допустимый вектор в данном случае лег- ко находится:  Эта информация приведена в соответствующих графах табл.  89 
Таблица 34  4 2 3 4 5 6 0 4 4 4 0 Шаг 4 0 4 3 0 2 0 3 —1 4 0 0 4 0 Шаг 2 —3 10 0 0 8 0 2 —1 —1 0 0 4 0 Шаг 3 —3 —10 0 0 8 0 5 —1 —1 0 0 0 4 Шаг 4 —1,29 —7/45 0 0 —0,57 —  Заметим, что на первом шаге в процедуре ПУ реализует- ся случай (6) =* =, на втором — случай (в) =* = Ез, а на третьем — случай (а) =* =. На четвертом шаге процесса в процедуре П имеет место случай (а). Следовательно, от- вечающий допустимому базисному разбиению  К = {3, 4, 5}, Jo = {6}, Ji — {4, 2} допустимый вектор  х(К, Л, 7.) = (8; 0,50; 3,14; 0,44; 0,32; 0)  является оптимальным. Линейная функция (4.20) на этом векторе принимает значение  u(x (K, Jo, J:)) = 10,56:  компоненты вектора у(К)= (1,29; 0; —0,57) интерпретиру- ются и здесь как оценки основных ограничений задачи. Что касается положительных величин 6,12, == 1,29, 6.2, = — 7,15, то их можно интерпретировать как оценки соответ- ствующих дополнительных ограничений сверху на перемен- ные т. и 4., так как при малых вариациях величин | и } изменение значения целевой функции может быть подсчи- тано по формуле Ли = 1,29Ар + 7,15АФ. Заметим, что ограничения сверху на отдельные пере- менные в экономических задачах часто связаны с ограни- ченностью природных ресурсов (например, пахотной зем- ли) или дефицитного оборудования. В связи с этим отве- чающие им положительные оценки принято называть рент- ными или прокатными.  90 
В приведенном примере на каждом шаге процесса соот- ветствующие системы линейных уравнений решались непо- средственно. Привлечение для этой цели аппарата обратных матриц приводит к вычислительной схеме, мало чем отли- чающейся от описанной в п. 4.1.  4.4. НЕКОТОРЫЕ ЗАМЕЧАНИЯ О ПРОГРАММНОЙ РЕАЛИЗАЦИИ ОПИСАННЫХ МЕТОДОВ  Мы ограничимся здесь в основном рассмотрением вопросов, связанных с реализацией прямого метода после- довательного улучшения с использованием аппарата обрат- ных матриц или, что то же, модифицированного симплекс- метода. Так как используемые в машине числа имеют ограни- ченное число значащих цифр, то в процессе счета возни- кают ошибки округления. В связи с этим при реализации процедур П и [ПУ величины 2; и #, сравниваются не с ну- лем, а с некоторым фиксированным достаточно малым по- ложительным числом 6. Далее, при решении больших задач нецелесообразно на каждом шаге процесса в процедуре 1 в качестве }. =. вы- бирать номер максимального 2;. Для этого потребовалось бы на каждом шаге вычислять все величины 5; что при боль- шом числе переменных и хранении исходной информации во внешних запоминающих устройствах занимает слишком много времени. Однако если в качестве » =/У] принимать номер первого из вычисленных 5, >> 6, то значение максими- зируемой функции от шага к шагу будет расти очень мед- ленно, так как возрастание этой функции на каждом шаге совпадает с величиной 2*2;.  Учитывая эти обстоятельства, для сокращения общего времени счета в начале процесса в машину вводится неко- торое положительное число А, существенно превосходящее принятую точность счета 6. При этом в процедуре П в ка- честве 7. =. принимается номер первого из вычисленных 2, > А. Если же на некотором шаге процесса все 5; не пре- восходят Д, то эта величина заменяется на Д’<А и про- цедура И повторяется. Такое дробление величины Л прово- дится до тех пор, пока она не совпадает с принятой точ- ностью счета 6. Используемую переменную величину АД при- HATO называть текущим барьером. При решении больших задач продолжительность счета существенно зависит от по-  91 
литики изменения текущего барьера. Простейшей полити- кой такого рода является выбор А’ = А/2. Если же с самого начала положить А = 6, то продолжительность счета может увеличиться в десятки раз. Исходные векторы ©’ в реальпых задачах, как правило, имеют сравнительно небольшое число пенулевых компо- нент. С целью упрощения подготовки информации и ее вво- да в машину, а также хранения этой информации и ее использования в процессе счета в программах обычно преду- сматривается возможность задания лишь ненулевых компо- нент указанных векторов. Эти компоненты, естественно, со- провождаются своими номерами. Важный элемент реализации методов — рациональное размещение числового материала в оперативной памяти ма- шины и во внешних запоминающих устройствах. Речь идет о случаях, когда объем этого материала превосходит ем- кость оперативной памяти. Значительную часть числового материала составляет те- кущая обратная матрица. Так как она дважды используется на каждом шаге процесса и полностью меняется к очеред- ному шагу, то ее желательно хранить в оперативной памя- ти. Что касается исходной информации, то она обычно хра- нится во внешних запоминающих устройствах и вводится в оперативную память отдельными массивами по мере надобности.  Остановимся на задачах, в которых число ограничений т превосходит корень квадратный из емкости оперативной памяти. При решении таких задач обратную матрицу, со- держащую т’ элементов, приходится размещать частично или полностью во внешних запоминающих устройствах. В этом случае обратную матрицу удобно хранить в особой форме. Она представляется в виде произведения элементар- ных матриц, каждая из которых отличается от единичной только одним столбцом. Поэтому для храпения такой мат- рицы достаточно всего т-+ 1 ячеек. При этом на каждом шаге процесса имеющиеся элементарные матрицы не меня- ются. К ним приписывается только еще одна матрица того же типа. Указанное представление матриц принято назы- вать мультипликативным. Так же именуют алгоритмы, ис- пользующие такое представление. Реализация описанных общих методов так или иначе связана с использованием числовых массивов порядка т’, где т — число ограничений в решаемой задаче. При этом, если т’ превосходит емкость оперативной памяти, время счета резко возрастает. Что же касается задач размерности  92 
т > 1000, то они на современных ЭВМ с помощью расемот- репных общих методов вообще не могут решаться. В связи со сказанным особое значение приобретают спе- циальные алгоритмы, предназначенные для решения отдель- ных важных классов задач линейного программирования большого объема. Простейший пример такого рода — алго- ритмический учет двусторонних ограничений, рассмотрен- ный в предыдущем параграфе. Другие специальные алго- ритмы также строятся на базе общих методов последова- тельного улучшения. При этом конкретизируются только процедуры Т, 1 с учетом особенностей матриц соответству- ющих систем линейных уравнений. Для некоторых классов задач указанные матрицы путем изменения нумерации строк и столбцов удается приводить к более простому виду (треугольному или близкому к нему). В других случаях используется блочная структура соответствующих матриц. Это позволяет решать требуемые системы уравнений непо- средственно, без привлечения громоздких обратных матриц порядка т”. С простейшими примерами специальных алго- ритмов читатель познакомится более подробно в следующих главах. До сих пор мы говорили 0б основном лимитирующем факторе — числе ограничений. Однако в отдельных случаях лимитирующим оказывается фантастическое число перемен- ных. В таких задачах векторы ©’, как правило, в явном ви- де не задаются, а указывается только закон их образования. Важно отметить, что перечень этих векторов используется в прямом методе последовательного улучшения только в процедуре П при вычислении величин  2; = <, у(К)>-+с, ]Е У. (4.37)  Ясно, что указанный перечень нам не потребуется, если по имеющемуся закону образования векторов © мы сумеем для каждого вектора у(К) найти максимальное значение  величин (4.37) и вектор а °, на котором этот максимум до- стигается. Приведенные соображения будут проиллюстриро- ваны в гл. 8 на примере раскройной задачи, в которой чис- ло переменных (допустимых способов раскроя) может до- стигать многих миллионов или даже миллиардов. 
ГЛАВА 5  АЛГОРИТМИЧЕСКОЕ ДОКАЗАТЕЛЬСТВО ТЕОРЕМЫ ДВОЙСТВЕННОСТИ  5.4. ЛЕКСИКОГРАФИЧЕСКОЕ УПОРЯДОЧЕНИЕ И ТЕОРЕТИЧЕСКИЕ ПРИЕМЫ ПРЕОДОЛЕНИЯ ЗАЦИКЛИВАНИЯ В ПРЯМОМ МЕТОДЕ ПОСЛЕДОВАТЕЛЬНОГО УЛУЧШЕНИЯ  5.1.1. Введем пекоторые классы специальным обра- зом упорядоченных полиномов, которые будут использовать- ся при описании интересующих нас приемов преодоления за- цикливания в ситуациях вырождения. Через Р, обозначим множество полиномов  р = ро + р:6 + р›б* +... -Ё р,б'  < вещественными коэффициентами р.. В этом множестве введем отношение порядка, полагая  р? > р”, (5.4)  если значения этих полиномов при достаточно малых 6 > 0 удовлетворяют неравенству  т r (1) 1 (i) es (2) сз 2 p™ (8) = УХ ps8 >> ps = p (8). s=0 s=0 Нетрудно проверить, что для двух полиномов из Р, спра- ведливо неравенство (5.1) в том и только том случае, когда эти полиномы совпадают или же для первых песовпадаю-  щих коэффициентов имеет место неравенство p?> po), т.е.  Po = Pos PY = PDs «+ PY, = PL, p> p, Введенное упорядочение принято называть лексикографи- ческим, так как именно по такому принципу обычно рас- полагаются слова во всевозможных словарях. Если два полинома удовлетворяют неравенству (5.1) и не совпадают, то говорят, что первый из них строго больше второго. При этом пишут: р? > р®. Как и для вещественных чисел, для любых двух поли- номов из Р; имеет место всегда один из следующих трех  94 
взаимоисключающих случаев: 4 2 1) — 7 (2 (2) (1) р > р, р = р, ре > ро.  В множестве Р, естественным образом определяются операции сложения и умножения полиномов на веществен- ные числа, удовлетворяющие аксиомам векторного про- странства. При этом нулевым элементом является полином, все коэффициенты которого равны нулю. Этот нулевой по- лином обозначается ниже обычным символом 0. Полином реР,, удовлетворяющий неравенству р 0, называется не- отрицательным, а удовлетворяющий неравенству р>0— положительным *). 5.1.2. Предположим теперь, что в рассмотренных выше задачах А и А* (см. п. 3.1) компоненты 6; вектора В явля- ются не числами, а полиномами из Р,, т. е. имеют вид  b; = dig Ыб... -Н 6,6", t=1,m.  Что касается величин аз и с, то они здесь являются ве- щественными числами. При этом условие (3.5), как и вы- ше, представляет собой краткую запись системы  п Ха, + и =0, i=1,m. (5.2) j= Однако для разрешимости этой системы в рассматриваемом случае компопенты искомого вектора (3.3) следует считать уже не числами, а полиномами вида  Lj = Lp + L465 +... 2,8’, jed. (5.3)  Соотношения (5.2) и (3.4) при этом трактуются в смысле введенных определений для полиномов, а под нулями в правых частях этих соотношений понимаются нулевые по- ЛИНоМЫ. - Для построенного указанным образом полиномиального варианта задачи А двойственная задача формально не ме- няется. Однако линейные функции (3.2) и (3.6) в данном случае принимают уже не числовые, а полиномиальные зна-  чения п г п Ц, (zx) = У С;д; = > (5 буть) 5°, 2—1  $= j=1 т г т у (у) = (В,у) = 2s by, = pa) (3 but) 5.  1) Как и в случае вещественных чисел, каждый неотрицательный полином р =2 0 является положительным.  95 
Нетрудно проверить, что для построенных обобщенных задач остается справедливой алгебраическая лемма 2.1 и ее следствия, в частности, достаточный признак оптимально- сти. Благодаря этому к построенному полиномиальному ва- рианту задачи А применим основной процесс, описанный в 3.2. При реализации этого процесса процедуры I, II, ПГТ и пункт (а) из процедуры ТУ не требуют никаких дополне- ний, так как в них полиномиальные величины практически не участвуют. Что касается процедуры У и пункта (6) из процедуры ГТУ, то здесь все операции производятся в обла- сти полиномов. Поэтому, в частности, определяемая в пунк- те (6) процедуры ТУ величина =* является уже не числом, а полиномом вида  5% — 2 | =16... + 26. (5.4)  Если этот полином положительный, то величина линей- ной функции на следующем шаге строго возрастает, а именно:  и (2 (К°’)) = p (2 (K)) | 2; =* >в (2(К)), где неравенство, естественно, понимается в полиномиальном смысле. Как и выше, в рассматриваемом случае каждое допусти- мое базисное множество К <. однозпачно определяет соот- ветствующий допустимый вектор х(К) с компонентами (5.3). Поэтому получаемое на каждом шаге новое ДБМ К” при =*>0 не может совпасть ни с одним из ранее имев- шихся допустимых базисных множеств. Другими словами, процесс может зациклиться лишь в случае получения ну- левого полинома (5.4). 5.1.3. Интересующий нас теоретический прием преодоле- ния зацикливания связан с переходом в ситуациях вырож- дения к некоторым полиномиальным задачам. Пусть при решении исходной задачи А на некотором шаге процесса возникает ситуация вырождения. Это означает, что имею- щемуся ДБМ К, отвечает вырождекный допустимый вектор  — (79 40 0 x (Ko) = (xq, #3, ..., xn). Другими словами, в К, можно выделить собствен- ное подмножество К, ={#,, К, ... №), элементам которого  отвечают нулевые компоненты вектора (Ко). Таким обра- зом, в рассматриваемом случае для множества К, =К.\К, справедливы соотношения  oe za +B=0, 22>0, kek,. (5.5) 2  96 
В указанном случае для построения соответствующей полиномиальной задачи исходный вектор В заменяется вектором  ВВ У ба* (5.6)  5=1  с полиномиальными компонентами  т ~ $ . —_———— b, =b,— > акб, t=1,m. $=1  На основании (5.5) и (5.6) имеем  У аа + > 6a +h =0.  kek, $=1  А это означает, что имеющееся для исходной задачи ДБМ Ко является таковым же для полиномиальной задачи. При этом полиномиальные компоненты (5.3) соответствующего допустимого вектора (К) определяются по формулам  Lp, = Xp; ke K,, Ip, = 8, ks Ky, 23 =0, JEI\K,. (5.7)  Из них видно, что допустимый вектор (К), отвечающий ДБМ КА, в полиномиальной задаче, является невырожден- ным. Лемма 5.1. В описанной ситуации при применении основного процесса к построенной вспомогательной задаче не может встретиться ситуация вырождения 00 тех пор, пока вычисляемая полиномиальная величина (5.4) удовлет- воряет условию  et >0, 65 = 0. (5.8)  Доказательство. Пусть в результате проведения нескольких шагов основного процесса, на каждом из кото- рых вычисляемые полиномиальные величины (5.4) удов- летворяют условию (5.8), получено некоторое ДБМ К. Тре- буется показать, что отвечающий этому множеству допусти- мый вектор &(К) с полиномиальными компонентами  г , ’с$ . д; = У тиб, 1 Е, $=0  не является вырожденным, т. е. z,>0, kek. (5.9)  4 9. А. Мухачева, Г. Ш. Рубинштейн 97 
Компоненты вектора &(К), как следует из описания основ- ного процесса, могут быть получены из соответствующих компонент (5.7) исходного вектора &(К№,) путем прибавле- ния некоторых линейных комбинаций встречающихся в процессе полиномиальных величин (5.4). Последние по ус- ловию имеют нулевые свободные члены. Поэтому в данном случае  10 =20>0, КЕК., 15 =0, jeEJI\K,. (5.10)  В частности это означает, что ДБМ К содержит множество К›. Учитывая сказанное, отвечаощее ДБМ К соотношение  , В ~ >, 20° +6 =0 ВЕК можно переписать в виде  У ми ¥ (3 246° Jak + p— 3 b'a* =0. kek, ЕЕК =]  = = $ $=1  Отсюда ввиду (3.44) получаем  У (3 28" | a” — У, 8a. = 0,  ЕЕК \8=1 8=1 или, что то же,  У У, ды — а} 5° = 0.  é&=1 \R=K  Последнее означает равенство нулю коэффициентов при всех степенях 0, т. е. справедливость соотношений  a = Dd 2,0", s=1r. (5.11)  к=К Покажем теперь, что допущение о нарушении неравенства (5.9) приводит к противоречию. Действительно, при таком  допущении ввиду (5.10) нашелся бы такой элемент KE = K\k,, что  Но тогда векторы ©, Е К, =К, ЦК», образующие исходный базис, оказались бы линейно зависимыми, так как каждый из них можно было бы представить в виде линейной ком- бинации (m—1) векторов 0^, ке К\{{}. При уеК, = —=4А, №, ... Ё,} это следовало бы из (5.44) и (5.12), а при 1 = К, — из включения К, = К\{®}.  98 
Таким образом, неравенства (5.9) нарушаться не могут и, следовательно, допустимый вектор &(К) не является вы- рожденным, что и требовалось показать. 5.1.4. Приведенная лемма лежит в основе рассматривае- мого приема преодоления зацикливания в ситуациях вы- рождения основного процесса. В силу этой леммы при пере- ходе к полиномиальной задаче в ситуацип вырождения через конечное число шагов, на каждом из которых вычис- ляемая полиномиальная величина (5.4) удовлетворяет условию (5.8), мы придем к одной из следующих сп- туаций. 1°. На очередном шаге в процедуре П встретится слу- чай (а). 2°. На очередном шаге в процедуре ТУ встретится слу- чай (а). 3° На очередном шаге вычисляемая в процедуре IV no- линомиальная величина (5.4) будет иметь положительный свободный член Eo. Пусть реализуется случай 1”° Тогда на основании пре- дыдущего можно утверждать, что полученное к последнему шагу базисное множество К является одновременно допу- стимым и двойственно допустимым в исходной задаче А. Следовательно, отвечающие ему векторы х(К) иу(К) опти- мальны в задачах А и А*. При этом, учитывая условие (5.8), а также отмеченную связь между допустимыми век- торами (К) и (К), легко показать, что вектор х(К) сов- падает с исходным вектором х(К,). Таким образом, в рас- сматриваемом случае имевшийся допустимый вектор х(Кь) являлся оптимальным. Однако убедиться в этом мы не могли из-за отсутствия соответствующего допустимого век- тора в задаче А*. Имевшийся вектор у(К») для этой цели не подходит. Если для рассматриваемой полиномиальной задачи реа- лизуется случай 2°, то в исходной задаче А, как легко ви- деть, линейная функция (3.2) на множестве допустимых векторов не ограничена сверху. Соответствующее однопара- метрическое семейство допустимых векторов определяется по формулам (3.16) и (3.17). При этом, правда, под х, в (3.17) следует понимать уже не полиномиальные компонен- ты вектора (К), а только их свободные члены, совпадаю- щие с компонентами исходного вектора х(Кь). Что касает- ся &,, то в качестве пх, как и выше, принимаются величи- ны, вычисленные в процедуре ПП последнего шага. Допустим теперь, что реализуется случай 3°. Тогда для определяемых в процедуре У последнего шага ДБМ К’и  4* 99 
допустимого вектора &(К”) имеем ь (2 (’)) = в (2 (К)) + 2; =*.  * Ввиду положительности #5 и выполнения условия (5.8) на всех предыдущих шагах это означает, что для допустимых векторов х(К) и х(К’”) в задаче А справедливы соотно- шения  в (=(К’)) = в(=(К)) + =*а; > в (2(К)) = в(=(Ко)).  Если при этом допустимый вектор х(К”) в задаче А не яв- ляется вырожденным, то продолжаем решение задачи обыч- ным методом до очередного вырождения процесса. Если же допустимый вектор х(К”) является вырожденным, то пере- ходим к решению соответствующей вспомогательной поли- номиальной задачи. Одно и то же базисное множество не может встретиться дважды, и, следовательно, число шагов в  этом процессе не превосходит С», т. е. модифицированный процесс является конечным.  5.2. ДОКАЗАТЕЛЬСТВО ТЕОРЕМЫ ДВОЙСТВЕННОСТИ  Рассмотрим задачу | и отвечающую ей двойствен- ную задачу Г. Применяя к этим задачам изложенный в гл. 3 прямой метод последовательного улучшения, мы через конечное число шагов приходим к одному из следующих результатов: (а) для задач Ги [* имеет место случай 1” теоремы двойственности: (6) в задаче Т имеются допустимые векторы, но линей- ная функция (2.3) на множестве этих векторов не ограни- чена сверху; (в) в задаче [ нет допустимых векторов. Применяя этот же метод к задачам Ги I* (cm. конец п. 2.2), мы приходим к одному из трех аналогичных ре- зультатов: (&) для задач Ги [* имеет место случай 1° теоремы двойственности;  (6) в задаче Т имеются допустимые векторы, но функ- ция (2.22) на множестве этих векторов не ограничена сверху; _ (в) в задаче [ нет допустимых векторов. Учитывая связь вспомогательных задач Ги 1* с исходны-  100 
>  ными задачами Ги [*, пп. (а), (6), (в) можно переписать в следующем эквивалентном виде: (а’) для задач Ги [* имеет место случай 1° теоремы двойственности;  (б’) в задаче 1* имеются допустимые векторы, но функ- ция (2.8) на множестве этих векторов не ограничена снизу. (B’) в задаче 1* нет допустимых векторов. Таким образом, каковы бы ни были исходные данные, для соответствующих задач [Г и ]* реализуется один из по- парно несовместимых случаев (а), (6) и (в) и одновремен- но реализуется один из случаев (а’), (6’) и (в’). Следова- тельно, мыслимы девять сочетаний указанных случаев. Од- нако случаи (а) и (б°), (а) и (в’), (6) и (а’), (в) и (а’), очевидно, несовместимы. В силу следствия 1 леммы 2.1 несовместимы также случаи (6) и (6б’). Остаются возмож- ными лишь следующие сочетания: (а) и (а’), (6) и (в’), (в) и (б’), (в) и (B’), отвечающие случаям 41°, 2°, 3°и 4° теоремы двойственности. В заключение отметим, что существуют доказательства теоремы двойственности, не опирающиеся на численные ме- тоды. Наиболее простым и наглядным является геометриче- ское доказательство этой теоремы, использующее элементы теории выпуклых множеств. Выпуклые множества играют важную роль и в нелинейном программировании. Однако первая часть книги на теорию выпуклых множеств фор- мально не опирается. В связи с этим соответствующий бо- лее сложный материал вынесен в последующие главы. В ка- честве одного из приложений этой теории в п. 13.5 будет приведено геометрическое доказательство рассмотренной здесь теоремы двойственности.  ГЛАВА 6 КЛАССИЧЕСКАЯ ТРАНСПОРТНАЯ ЗАДАЧА  6.14. ПОСТАНОВКА И ТЕОРЕТИЧЕСКИЙ АНАЛИЗ ЗАДАЧИ  6.1.4. В качестве одного из примеров конкретиза- ции основной линейной модели производственного плани- рования в п. 1.6 была приведена задача оптимального при-  101 
крепления пунктов потребления некоторого однородного продукта к пунктам его производства. Настоящая глава целиком посвящена изучению этой задачи, которая пред- ставляет большой практический интерес и в настоящее вре- мя широко используется при планировании перевозок как в нашей стране, так и за рубежом. Кроме того, некоторые другие вопросы организации и планирования производства формально укладываются в ту же математическую схему. Далее, изучение транспортной задачи и численных методов ее решения сыграло большую роль в становлении и разви- тии современных методов оптимизации. Наконец, на приме- ре транспортной задачи нам будет удобно проиллюстриро- вать принципы формирования специальных алгоритмов, о которых шла речь в п. 4.4, а также пояснить причины эффективности таких методов. Как и в гл. 1, будем считать, что имеется р пунктов производства и 4 пунктов потребления, причем суммарный объем производства совпадает с суммарным объемом по- требления, т. е.  > Рь= №0.. (6.1)  Тогда при заданных затратах Ды, связанных с перевозкой  единицы продукта из пунктов А = 4, Dp р в пункты [= 4,4, а, за- дача минимизации транспортных расходов сводится к сле- дующему варианту основной модели производственного пла- нирования. Классическая транспортная задача. Определить матрицу  X11 His eee 71а 201 Чо... & x= | 721 7 -.. Ра |, (6.2) Lo ро вое Lng  максимизирующую линейнуто функцию  р а  ы (5) = — У Dd ата (6.3)  k=1 l=1  102 
при ограничениях  Хы = 0, k =1)p, l= 1, Ч, (6.4) — У t4+P,=0, k=1,p, (6.5) = р — a “pl — 0. — 0, l= 1, ’ (6.6) =]  где P,=0, Q, 20 u dy— sadannvie eenuuundl, yOoeseTsopa- ющие условию (6.1). В соответствующей двойственной задаче переменние, от- вечающие ограничениям (6.5) и (6.6), нам будет удобно обозначить соответственно через и, и и. Двойственная задача. Определить вектор  yY = (U4, ..., Up, Vi, .. +, Va); (6.7) минимизирующий линейную функцию у (у) = > Pru, — у Фил, (6.8) k=1 l=1 при ограничениях я—щ-— < 0, Ё=1,р, 1=1,4. (6.9)  Признак оптимальности. Для оптимальности допусти- мой матрицы (6.2) (удовлетворяющей условиям (6.4) — (6.6)) необходимо и достаточно, чтобы среди векторов (6.7), удовлетворяющих условию (6.9), нашелся такой, что  й — и, — ды =0, если лы > 0. (6.40)  При этом соответствующий вектор (6.7) является оптималь- ным в двойственной задаче. 6.1.2. Нетрудно видеть, что при любых неотрицательных P,, Е =1, р, и О, [=1, 4, удовлетворяющих условию (6.1), матрица (6.2), элементы которой определяются по формуле  P21  Pn В  удовлетворяет условиям (6.4) — (6.6), т. е. в приведенной задаче имеются допустимые матрицы Теорема 6.1. В классической транспортной задаче и двойственной к ней всегда существуют оптимальная матри- ца (6.2) и оптимальный вектор (6.1).  Lal =  103 
Доказательство. Мы уже показали, что в рассмат- риваемой задаче имеются допустимые матрицы (6.2). При этом для каждой из них имеем  ра и (2) = — 2 > дыхы <  =] i=1  <i а < max |4ы\ 2 № зы = max | 4ы| № Pa  k=1pil=1,4 =1 l=1 k=1,p:l=1,9  т. е. линейная функция (6.3) на множестве допустимых матриц (6.2) ограничена сверху. Но тогда в силу пункта (В) теоремы существования (см. п. 2.3) в исследуемой классической транспортной задаче и двойственной к ней существуют оптимальная матрица (6.2) и оптимальный вектор (6.7).  6.2. КОНКРЕТИЗАЦИЯ ПРЯМОГО МЕТОДА ПОСЛЕДОВАТЕЛЬНОГО УЛУЧШЕНИЯ  6.2.1. При изложении прямого и двойственного ме- тодов последовательного улучшения для общей задачи ли- нейного программирования в несимметричной канонической форме система уравнений записывалась в виде одного век- торного равенства. Для рассматриваемой здесь классиче- ской транспортной задачи соответствующее векторное ра- венство имеет вид  q > za" + В = 0, (6.11) 1  rye nog a и В понимаются следующие (p+ q)-mMepHBie BeK- торы: - pi —__ __ ай" — (0,...,0,—1,0,...,0,4,0,..., 0), &=1,р, 1=1,4,  В  (6.12) В — (Pi, e809 Py, —0:, —Q,) . (6.13)  Указанные векторы, как нетрудно видеть, ортогональны од- ному и тому же (рт а4)-мерному вектору 1 =(4, 1,..., 1). Следовательно, все эти векторы принадлежат некоторому (р+9- 1)-мерному подпространству Е < А?+4. При реали- зации численного метода мы не будем выходить из указан- ного подпространства.  104 
В соответствии со сказанным MHOHecTBO KC{(k, 1)},  # =1, р, [=1, 4, назовем базисным, если векторы (6.12) при (А, ЕК образуют базис в (р+9-— 1)-мерном подпро- странстве Ё. Это означает, что множество А содержит (p+ q—1) nap (k, 1), т. е.  К = (К, I), (ke, lz), (Kpsq-1; lpsq-1)}, (6.14) причем векторы  kl k,l k —4l —_ atte 22 ig Pt 1l’p+q-1 (6.15)  линейно независимы. Аналогично тому, как это делалось в общем случае, каж- дому базисному множеству (6.14) сопоставим некоторую матрицу (6.2), обозначаемую далее через х(К). Ее эле- менты  м РА Ар Пр-+а-1 (6.16)  однозначно определяются из системы линейных уравнений  p+q—-1 nls 1,004 +B = 0, (6.17)  а остальные элементы полагаются равными нулю. Ясно, что получаемая при этом матрица х(К) удовлетворяет условию (6.11) или в скалярной форме — соотношениям (6.5) и (6.6). Если, кроме того, элементы (6.16) неотрицательны, т. е. матрица х(К) является допустимой, то базисное мно- жество (6.14) называется допустимым. В общем случае по допустимому базисному множеству однозначно определялся также некоторый вектор у(К) в двойственной задаче. Однако в данном случае, так как мы не выходим из указанного (р -9-—1)-мерного подпростран- ства Ё< А?+1, компоненты вектора (6.7), который и здесь обозначается через у(К), определяются лишь с точностью до постоянного слагаемого. Соответствующие величины и, и и, находятся из следующей системы линейных уравнений:  И; — Ив, — dt; =0, j=i,p+¢q—-1, (6.18)  Если отвечающий базисному множеству (6.14) вектор у(К) является допустимым в двойственной задаче, т. е. удовлет- воряет условию (6.9), то базисное множество (6.14) назы- вается двойственно допустимым (ДДБМ). Важно отметить, что в условии (6.9) фигурируют только разности величин р и и,. Поэтому проверка двойственной допустимости ба-  105 
зисного множества (6.14) не зависит от выбора постоянного слагаемого при определении компонент вектора у(К). На основании приведенного в п. 6.1.1 признака опти- мальности можно утверждать, что если базисное множество К является одновременно допустимым и двойственно допу- стимым, то отвечающие ему матрица х(К) и вектор у(К) будут оптимальными в рассматриваемых прямой и двой- ственной задачах. Напомним, что в общем случае процесс решения задачи с помощью прямого метода последовательного улучшения состоит из двух этапов. На первом этапе этим методом ре- шается вспомогательная задача. При этом находится неко- торое ДБМ К, либо же устанавливается, что в задаче допу- стимых векторов и, следовательно, допустимых базисных множеств не существует. На втором этапе, исходя из най- денного ДБМ К,, строится последовательность допустимых базисных множеств. При этом на некотором шаге второго этапа при анализе соответствующего ДБМ К либо оказыва- ется, что это базисное множество является не только допу- стимым, но и двойственно допустимым, либо же устанавли- вается, что в основной задаче линейная функция не огра- ничена сверху. В первом случае отвечающие базисному множеству К допустимые векторы х(А) и у(К) являются оптимальными в прямой и двойственной задачах. 6.2.2. В классической транспортной задаче, как было по- казано в п. 6.1.2, всегда существуют допустимые матрицы. При этом, учитывая специфику рассматриваемой задачи, для построения исходного допустимого базисного множества и отвечающей ему допустимой матрицы вместо решения вспомогательной задачи линейного программирования мож- но воспользоваться приводимым ниже элементарным ме- тодом. Метод северо-западного угла. В излагаемом методе с помощью выполнения р + 4—1 идентичных шагов определяются некоторое допустимое базисное множество  К = {(k:, l), (ke, Ь), ...) (Ка, 1544-1)}, а также отвечающая ему допустимая матрица x (K) = [tll paz. =1,9  Формальное изложение метода использует математическую индукцию. Однако, желая избежать излишней формализа- ции, мы опишем интересующий нас метод на конкретном примере. В рассматриваемом примере имеются 3 пункта  106 
производства и 4 пункта потребления, причем Р. =100, Р‚,=80, Р. = 65, О: = 125, 0,=25, Q:=40, О0,=55. На первом шаге находим 21, = min {P,, Q,} = 100, P, =P,—2,,=0, 0: = 0, — а: = 25  и первый пункт производства из дальнейшего рассмотрения исключаем. На втором шаге находим  2.1 = min {P,, 01] = 20, Py = Py— 2, =55, QL = Qi — a1 = 0 и из рассмотрения исключаем первый пункт потребления. На третьем шаге находим 1. = ша (Рь,0,] = 25, P, = Py — 2 = 30, Q2 = Qa — X22 = 0  и из рассмотрения исключаем второй пункт потребления. На четвертом шаге находим  Хз = ШШ (Ps, Qs] = 30, P, = P, — X43 = 0, Q3 = Qs — Xa = 10  и из рассмотрения исключаем второй пункт производства. На пятом шаге находим  tg = min {Pz, Оз] = 10, Py = Py — 233 = 55, Q; = Q3 — ‘X33 — 0  и из рассмотрения исключаем третий пункт потребления. На последнем, шестом, шаге находим  Фза — min (P35, Q,} = 955, Pl = Pi— 2 =0, QL=Q,— 24 =0.  В результате получаем искомое допустимое базисное мно- жество  K={(4, 1), (2, 1), (2, 2), (2, 3), (3, 3), (3, 4)},  107 
а также отвечающую ему допустимую матрицу  100 0 0 O x(K) =| 25 25 30 0 |. о 0 10 55  В дополнение отметим, что если на некотором шаге ба- лансы оказываются нулевыми в рассматриваемых как пунк- те производства, так и пункте потребления, то из дальней- шего рассмотрения исключается только один из этих пунк- тов, например пункт производства. При этом на следующем шаге, естественно, объем перевозки окажется равным нулю, т. е. в результате получим. вырожденный допустимый план. 6.2.3. Таким образом, при решении транспортной задачи после применения указанного элементарного метода мы мо- жем сразу же приступить ко второму этапу процесса по- следовательного улучшения. При этом, как было показано в теореме 6.1, линейная функция (6.3) всегда ограничена сверху. Но тогда через конечное число шагов мы обязатель- но должны прийти к базисному множеству (6.14), которое будет одновременно допустимым и двойственно допусти- мым. А это означает, что отвечающая ему матрица х(К) и вектор у(К) являются оптимальными в интересующих нас основной и двойственной задачах. Наиболее трудоемкие операции на каждом шаге прямо- го метода последовательного улучшения, как мы уже зна- ем,— вычисление компонент вектора у(К) и определение коэффициентов разложения вновь вводимого вектора по ба- зисным векторам. В общем случае для решения соответ- ствующих систем линейных уравнений привлекался гро- моздкий аппарат обратных матриц. В транспортной задаче указанные системы обладают определенной спецификой, позволившей для решения этих систем предложить более простые приемы. В данном случае при фиксированном базисном множе- стве (6.14) вектор у(К), как уже отмечалось, определяется из системы линейных уравнений (6.18). Что касается ко- эффициентов @ь л; в разложении  p+q—1 De #1 hl;  о’о — a = = Dh jl 5%  в 1 вновь вводимого вектора % °° по базисным векторам (6.15), то соответствующая система в скалярной форме  108 
имеет вид  — У аа, = | 1: = Ep {ilkj=1} Tig}; , in Зы) г ey i Ире amy Misty = Soran (O49)  где  ER = —1, Вр, — 1, & = 0, ie {k,, p + 1}.  Например, при р=3 и а=4 для базисного множества К =\ (1, 1), (1, 2), (1, 4), (2, 3), (3, 3), (3, 4)} w ko =2, + =1 соответствующие системы линейных уравнений име- ют следующий вид:  5. - Uy — d,, = 0, 7 Mn Sia dag = 04 — и: — d,, = 0, | 933 — Ysa — , Us — Ug — 23 = 0, di Що Vs — Из — @з = 0, the — — Jos + Qs = 0, | Ug — Ug — за = 0, | 14-1 934 = 0.  6.2.4. Интересующие нас упрощенные приемы решения систем линейных уравнений (6.18) и (6.19) базируются на следующем вспомогательном предложении. Лемма 6.1. Пусть в каждом столбце матрицы  @11 @12 ... @1т—1 А —=1 921 @23 +... @2т—1 (6.20) am1 Ano eee amm-—1  имеются два отличных от нуля элемента, причем один из них равен +1, а второй — (—1). Если столбцы этой матри- цы линейно независимы, то квадратная матрица  Ят—1,1@т—1,2  eee @1,т-—1  ... 15, т—1  eee Qam-—1,m—1  является неособенной. При этом путем перестановки строк  109 
и перестановки столбцов она может быть приведена в виду  2 > > ) Фое a; 7 ai, 4,5, 17т—1 a: 2 a; ? eee a; 7 А, == 1271 Tele 127т—1 ’  |:,5,| = 4 npur=t, a,;,=0 nput—r>Q0,  т. е. в треугольной матрице. Доказательство. Прежде всего отметим, что в каж- дой строке исходной матрицы А имеется, по крайней мере, один ненулевой элемент. В противном случае после вычер- кивания нулевой строки мы получили бы неособенную квадратную матрицу порядка (т— 1), у которой сумма эле- ментов каждого столбца равна нулю, что противоречит ли- нейной независимости строк этой матрицы. Таким образом, исходная матрица А не содержит нуле- вых строк. Но тогда матрица А, также не содержит нуле- вых строк, и общее число ненулевых элементов в этой мат- рице строго меньше числа ненулевых элементов в матрице А, т. е. не ‘превосходит 2(т.— 1) — 1=2т — 3. Это означает, что в матрице А, обязательно найдется строка &, содержа- щая лишь один ненулевой элемент @:,;- Исключая из ис-  ходной матрицы А строку с номером #& и столбец с номером Л, приходим к прямоугольной матрице А’ размерности (т —1)Х(т—2), к которой применимы те же рассуждения. Через (т— 1) описанных элементарных шагов определится требуемая перестановка строк и столбцов матрицы А.. Это завершает доказательство леммы. Нетрудно проверить, что каково бы ни было базисное множество (6.15), матрица системы (6.19), в которой т = —= р -Е а, а элементы ]-го столбца совпадают с соответствую- щими компонентами базисного вектора ой (такую матри- цу мы будем обозначать через А(К)), удовлетворяет усло- виям доказанной леммы. А это означает, что если изменить порядок уравнений в системах (6.18) и (6.19) в соответ- ствии с порядком столбцов и строк в треугольной матрице А., то искомые неизвестные мы сможем определить после- довательно за один просмотр переставленных указанным образом уравнений. Важно отметить, что рассмотренное в лемме приведение матрицы А, к треугольному виду А, сводится в конечном  110 
счете к определению последогательности пар (is, Ja), (day je), (ть та). (6.24)  При этом в процессе построения последовательности (6.21) фактически использовалась лишь пнформация о расположе- нии ненулевых элементов в исходной матрице (6.20). В ин- тересующем нас случае эта информация задается путем перечисления пар (А; [), образующих соответствующее бз- зисное множество (6.14). 6.2.5. Перейдем к изложению предлагаемой конкретиза- ции прямого метода последовательного улучшения. Для это- го прежде всего опишем вычислительную схему построения по заданному базисному множеству (6.14) соответствующей последовательности пар (6.21). Затем уточним, каким об- разом с использованием такой информации могут решаться соответствующие системы линейных уравнений (6.18) и (6.19). Построение последовательности пар (6.21). Для удоб- ства перепишем базисное множество (6.14) в соответствии с нумерацией строк в матрице А (К):  К={ (и, В+р), (№, Б-р), — (Ёрлаль аа В)}. (6.22)  Просматривая пары (6.22), находим такой элемент i, ~ р-- 94, который входит лишь в одну из этих пар. Поряд- ковый номер такой пары примем за 7.. Вычеркивая указан- ную пару, путем аналогичного просмотра оставшихся р+49-—2 пар определяем 2$ 5=р На, ]» и т. д. Таким обра- зом, за р+49-—1 просмотров получаем искомую последова- тельность пар (6.21). Решение системы (6.18). Так как компоненты искомого вектора у(К) определяются из системы (6.18) лишь с точ- ностью до последнего слагаемого, последнюю компоненту этого вектора выбираем произвольно, полагая и. = с. Осталь- ные (ptq—1) компонент находим последовательно из уравнений системы (6.18) с номерами  Jp+q—19 Jp+q—29 +++) Jay ]1-  Решение системы (6.19). Поскольку каждое уравнение в этой системе является следствием остальных, коэффици- енты @ьл; однозначно определяются из первых (рРа—1) уравнений. Просматривая указанные (р+т9—1) уравнений в порядке, соответствующем первым элементам в парах (6.21), последовательно найдем все искомые величины  Чь;1;, 1 = 1, 2, e- »-p+tq—I.  111 
Тдблица 35 Изложенная конкре-  ~~ ' 5 7 ; тизация метода после- | a = довательного улучше- и ния Для случая транс- 1 аа бы yy due | № Портной алачи извест. 2 41 42 43 yg | ‘Pro 3 ds; ds, ds 34 P, на в литературе как ме-  тод потенциалов. Вели- [0 0 0 | чины и, и ий при этом называют потенциала- ми соответствующих пунктов производства и потребления рассматриваемого однородного продукта. 6.2.6. Проиллюстрируем описанный процесс на числовом примере, в котором р=3, 9=4. Исходные величины Рь, Q,, 4„ при этом удобно разместить так, как указано в табл. 35. Далее, получаемая на каждом шаге информация размеща- ется в табл. вида 36 и 37. Пример 6.1. Исходные данные приведены в табл. 38. Прежде всего с помощью простого правила северо-запад- ного угла находим некоторое ДБМ К и отвечающие ему эле- менты матрицы 5(К). Следуя этому правилу, полагаем (К, 1) = (4,1) и ха. = пы {Р,, О} = па {100, 60} = 60. При- нимая затем Р\ = 100 — 60 = 40, находим (Ae, l2)= (4, 2), 4, = min {P;, Q,} = min {40; 30} = 30 au rv. 9. Coorsercrsyy- щие результаты приведены во 2-м и 3-м столбцах табл. 39.  Таблица 36.  Номер шага 1 ky, ly Trl Qn, Uy hy +3 Л | 2 ke, ly Zp I, Thole Us ke, lg + 3 1, jo | 3 kg, ls Tris a из К Вт | № | 4 ka, l, Thiel, ЧЕ Vy Ка, l, + 3 tay Та т 5 ks, ls Tp ts Tkels j V2 ks, 15+ 3 „1 | 6 kg, lg Zp ile Theale Vg ke, lg +3 в ]в | | # *, 1* p(x) г * Ug Таблица 37 | 1,1 1,2 1,3 4,4 2,4 2,2 2,3 2,4 3,1 3,2 3,3 3,4 Номер 211 212 213 214 201 2 204 2 2 2 ka, Ll mara 11 412 413 214 221 222 223 224 231 232 233 234 о) 49  112 
Построим теперь Таблица 38  последовательность пар (6.21), которая MN. 1 2 3 4 необходима для при- енения OH 1 20 10 60 10 100 . банных | 9 5 30 40 15 | 30 упрощенных при- 3 60 40 40 40 65 емов решения соот-  ветствующих систем 60 30 70 35 линейных — уравне- ний. Для этого име- ющееся базисное множество (6.14) переписываем в виде последовательности пар (6.22), размещая их в 6-м столбце табл. 39. Просматривая эту последователь- ность, находим элемент й =25-7, который входит лишь в одну пару с номером /1 =4. Таким образом, получаем пер- вую пару (1, |1) =(2, 4) искомой последовательности (6.21) и заносим ее в первую строку 7-го столбца табл. 39. Исклю- чая из последовательности (6.22) использованную пару (А, ВТЗ) = (2, 6), аналогично находим элемент & =4, ко- торый входит лишь в одну из оставшихся пар с номером ]2 =1, и т. д. Это завершает подготовку необходимой ин- формации для проведения первого шага метода последова- тельного улучшения. На этом шаге выполняюгся следующие процедуры. Г. Определение вектора у (К). Последнюю компоненту этого вектора выбираем произвольно, полагая 1, = 100. Остальные компоненты вектора у(К) находим из системы (6.18), уравнения которой просматриваем в порядке, обрат- ном к расположению вторых элементов в парах 7-го столб- ца табл. 39. Так, в качестве первого рассматриваем урав- нение и, — и. — 40 =0 с номером }‹ =6, из которого находим из =, — 40 = 60. Из следующего уравнения и; — из — 10 =0 с номером ], =5 находим у; =70 и т. д. Найденные компо- ненты вектора у(К) приведены в 5-м столбце табл. 39. П. Проверка двойственной допустимости ДБМ К. По формулам (3.15), которые в случае транспортной задачи имеют вид  2ы = Vi — Up — Ani к=1, р, [=1, 4, вычисляем все величины 2ы и размещаем их в табл. 40. Для найденных величин проверяем выполнение нера-  венств 2. < 0. Так как не все они нарушаются, требуется выбрать (Ё., [5) такое, что 2 1 >> 0. Учитывая приведенное  вп 3.2 замечание относительно выбора номера вводимого,  113 
Таблица 39  Шаг 3  5,2 1,3  4,4  2,6  |  \  —_—  1,4 | 3,5  1,5 1,7  2,4  5] 110 | 2,6  100 | 3,6 + 6,4  35| 90 30| 105 35| 135  6,5  25| 145 —2325] 100  1,1 1,2  1,4  2.3 3,3  2,1  ле,  114  Шаг 1  Шаг 2  24 4,4  5,2 1,3 6,5 3,6  1,4 4,5 1,7 2,6 3,6 3,7  90 30 60 110  100  70 100  —1  —1  25  60  30 10 30  40  25 4800  1,4 1,2  1,4 2,3 3,3 3,4 3,4  2,4 4,4  1,3 6,5 3,6  iD  1,4 1,5 1,6 2,6 3,6 3,7  10 30 60 30 20  100  10  60  30 10 30  30  30 5500  14 1,2 1,3 23 3,3 3,4 1,3  в базис вектора, принимаем (№, 5) =(1, 4) и заносим эту па- ру в табл. 40.  ПТ. Вычиеление коэффициен- тов разложения вектора @’“ по базиеным — векторам. — Система (6.19) в данном случае имеет вид  — 4:1: — 4:2 — дз = —1, — 23 = 0, — Дзз — 934 — 0, 4: = 0, 4: =0, Gis T Qos + q33 = 0, Qu = 1. Просматривая уравнения этой си- стемы в порядке, соответствую- щем расположению первых эле- ментов в парах 7-го столбца  табл. 39, последовательно опре- деляем  Чьи, = 3 = 9, yt, = M11 = 9; Grol, = Ne = 9, Mele = Hs = 1, Чь 1; — 9зз = — 1, Чь 1: — Ч9за —= 1  и заносим эту информацию в 4-Й столбец табл. 39. ТУ. Определение =*. В данном случае ‹среди коэффициентов Ч; всегда имеются положитель- ные. Поэтому в соответствии с формулой (3.19) находим  e* = min! 8, та =min{10,35} = 10. [413° Чза При этом Ффиксируем пару (Е*, *)=(1, 3), для которой до- стигается минимум, заносим ее в последнюю строку второго столб- ца и переходим к последней про- цедуре. У. Подготовка информации к следующему шагу. В соответствии 
Таблица 40  1,1 1,2 1,3 1,4 21 2,2 2,3 2,4 3,1 3,2 3,3 3.4  Шаг 1 0 0 0 80 —5 —40 0 55 —90 —800 0] 1,4  War2 [00-80 0 75 400 55-10 00 O| 24 War3 |00 —5 0 O —3,5 0 —20 —85 —75 0—75} —  с формулами (3.24) и (3.22) находим новое допустимое базисное множество К’ =(К\4К*, 1*}) 0 {К., 15}  и отвечающие ему элементы матрицы х(К”)  , , LR | — e*, Xb sl; = ТЕ; — a ee {kl;} Е К’ \{k: 1}.  о  Эту информацию размещаем в соответствующих столбцах табл. 39. Для проведенпя второго шага остается найти соответ- ствующую последовательность пар (6.21). Построение та- кой последовательности было детально пояснено на приме- ре исходного ДБМ К. Получаемая здесь вспомогательная последовательность (6.22) и требуемая последовательность. (6.21) приведены в соответствующих столбцах табл. 39. На третьем шаге получаем оптимальный план перевозок п отвечающие ему потенциалы. Замечание 6.1. В изложенном алгоритме наиболее. трудоемкой операцией на каждом шаге процесса является построение по заданному базисному множеству (6.144) соот- ветствующей последовательности пар (6.21). Вообще говоря, можно обойтись без этой последовательности, однако тогда нам не удастся получить решения систем (6.18) и (6.19) за один просмотр соответствующих уравнений. Замечание 6.2. Для решения транспортных задач большого объема разработана некоторая модификация опи- санного алгоритма, позволяющая упростить процесс по- строения последовательности пар (6.21), а также решение системы (6.19). Однако здесь мы на этом останавливаться не будем. Замечание 6.3. Предположим, что в рассматриваемой транспортной задаче объемы производства и потребления: выражаются целыми числами Р» и (+. Тогда с помощью леммы 6.1 легко показать, что, каково бы ни было базисное множество К, все элементы отвечающей ему матрицы z(K) являются целыми. А это означает, что при использовании описанного метода последовательного улучшения мы обя- зательно получим целочисленное решение.  115 
6.3. НЕКОТОРЫЕ МОДИФИКАЦИИ КЛАССИЧЕСКОЙ ТРАНСПОРТНОЙ ЗАДАЧИ  При перечислении примеров конкретизации основ- ной линейной модели производственного планирования в п. 1.6 была рассмотрена транспортная задача без предполо- жения о совпадении суммарного объема производства с сум- марным объемом потребления. При этом, естественно, пред- полагалось, что  р q XP, > 2 0.  k=1  Указанная формально более общая задача легко сво- дится к задаче в рассмотренной постановке. Действительно, для получения эквивалентной задачи со сбалансированными объемами производства п потребления достаточно в исход- ную задачу ввести (4-+1)-й фиктивный пункт потребления с объемом потребления  р а и = № Рь — 2 0:20  [—=1  и, кроме того, положить Ds +1 = 2, а+1 =... = @р, аз = 0.  Предположим теперь, что величины Р‚, выражают не фактические, а максимально возможные объемы производ- ства в соответствующих пунктах, причем  р а > Рь > > От. k=1 1=1  Если при этом пункты производства однородного продукта характеризуются различными удельными затратами й., Й., ... ..., Пр, ТО естественно возникает проблема минимизации суммарных затрат по производству и транспортировке про- дукции. Математически это сводится к следующей задаче линейного программирования. Определить матрицу (6.2) с неотрицательными элемен- тами, минимизирующими линейную функцию  р Я р Ч Dale DS tat YD dura 1 =1 h=1 [=  116 
при ограничениях Ч  > зы << Рь k=1,p, р —_ У ты = 0 [= 1,4. k=1  Эта задача также легко сводится к классической поста- новке. Она, как нетрудно проверить, эквивалентна следу- ющей. Определить матрицу  x = [Xp:]k=T,7=1, q41,  максимизирующую линейную функцию р 941  У У Чытьи  k=] l=1  и (2) = где аы = Ny + ды, К=1, р,1=1, 4, Чи = 0,1, р, при ограничениях  Хы >20, Е =1, р, [=1, q+ 1, q+1 __. 21 ты — Py = 0, k=1,p, $  р —_—_—_ — № ты + 9—0, [=1,а-+1.  В планово-производственной практике иногда встречают- ся транспортные задачи, в которых компоненты искомой матрицы (6.2), помимо ограничений (6.4) — (6.6), должны удовлетворять дополнительному условию  Хы <, Е=1, р, 1[=1, g. (6.23)  где |»: — заданные положительные числа, характеризующие максимально допустимые объемы перевозок из имеющихся пунктов производства в соответствующие пункты потреб- ления. При рассмотрении численных методов решения общей задачи линейного программирования уже отмечалось, что дополнительные ограничения сверху на отдельные перемен- ные, по существу, не повышают размерности соответствую- щей задачи. С помощью приемов, изложенных в 4.3, такого рода ограничения могут учитываться алгоритмически в ходе реализации прямого метода последовательного улучшения.  117 
Указанные приемы позволяют и здесь при реализации опи- санной конкретизации учитывать ограничения типа (6.23). Особое место в теории оптимизации занимают дискрет- ные задачи, в которых из конечного множества труднообоз- римых вариантов требуется выбрать в каком-то смысле наилучший. Многие из них формально сводятся к максими- зации или минимизации линейной функции на множестве целочисленных решений некоторой конечной системы ли- нейных уравнений и неравенств. Рассмотрепию этого важ- ного класса экстремальных задач посвящена в нашем курсе отдельная глава. Однако необходимо отметить, что такие задачи являются весьма сложными, и эффективных числен- ных методов для их решения в общем случае не существует. Между тем исследование и решение некоторых дискретпых задач удается свести к рассмотрению специальным образом построенной транспортной задачи. Это связано с важным свойством решений транспортных задач, о котором шла речь в замечании 6.3. Приведем характерный пример сведе- ния дискретной экстремальной задачи к транспортной. Задача о назначении. Гредположим, что имеется р претендентов для замещения р различных должностей. При этом известна эффективность сы от назначения пре- тендента Е на должность 1. Требуется провести замещение должностей таким образом, чтобы достигаемьй при этом суммарный эффект был максимальным. Математически это  означает: среди р! возможных перестановок чисел 1,2,....р найти такую перестановку Li, lo, ee eg lo, (6.24)  при которой достигает максимума величина  р (6, №..., 15) = У Сы, ° k=1 Для исследования поставленной дискретной задачи pac- смотрим классическую транспортную задачу, в которой p=, Py=P,=...=Pp=Q= 2—4... = Ур Fi, ды = —сСы, к =1, р, [=1, р. Другими словами, будем искать квадрат- ную матрицу  2 [1] трать’ (6.25)  максимизирующую линейную функцию  р г в (1) = > >, Са  k=1 l=1  118 
при ограничениях  р —_—— — 2 Lei + 1 = 0, k= 1, р, (6.27) l=1 р ——. У Lrl — 1= 0, р = 1, р. (6.28) k=1  Связь между задачей о назначении и построенной транс- портной задачей устанавливает следующая Лемма 6.2. Какова бы ни была перестановка (6.24), матрица (6.25), в которой  ты =1 при [=4, ты = 0 при 13-4,  будет допустимой в поставленной транспортной задаче, причем  и (=) = Кы la ..., Ip).  Наоборот, если целочисленная матрица (6.2) является д0- пустимой в поставленной транспортной задаче, то она оп- ределяет перестановку (6.24), для которой  F (ls, ley «2+; lp) =p (2). `  Доказательство. Первое утверждение очевидно. Для доказательства второго заметим, что в целочисленной матрице (6.25), удовлетворяющей условиям (6.26) — (6.28), в каждой строке и в каждом столбце один элемент равен 1, в остальные — 0. Принимая в качестве [, номер ненулевого элемента в Ё-й строке, получаем требуемую перестановку (6.24). Это завершает доказательство леммы. Учитывая доказанную лемму и упоминавшееся уже за- мечание 6.3, можно утверждать, что при решении постав- ленной задачи с помощью описанной выше конкретизации прямого метода последовательного улучшения мы получим целочисленную оптимальную матрицу (6.25), которой отве- чает искомая оптимальная перестановка (6.24). 
ГЛАВА 7  НЕКОТОРЫЕ ЭКСТРЕМАЛЬНЫЕ ЗАДАЧИ НА ГРАФАХ  7.1. ОРИЕНТИРОВАННЫЕ И НЕОРИЕНТИРОВАННЫЕ ГРАФЫ  Абстрактное понятие графа можно рассматривать как формализацию широко используемого в обиходе терми- на «сеть», точнее, словосочетания «схема сети» (железнодо- рожной, автодорожной, водопроводной, электрической, транс- ляционной). Каждую сеть можно разбить на участки, свя- зывающие между собой некоторые пары пунктов. Эти участ- ки иногда имеют определенное направяение, в других же случаях связываемые пункты равноправны. Характерными примерами могут служить автодорожные сети с односторон- ним и двусторонним движением. Поэтому различают два типа сетей и два типа графов: ориентированные (орграфы) и неориентированные (неорграфы). Формальное определение этих понятий базируется на рассмотрении упорядоченных и неупорядоченных пар элементов фиксированного конечно- го множества, т. е. произвольных или симметричных бинар- ных отношений. С этих позиций неорграфы можно рас- сматривать как частный случай орграфов. 7.1.1. Рассмотрим произвольное конечное множество М и определенное на нем бинарное отношение, т. е. некоторое  множество М упорядоченных пар (х, у)еЕ МХМ. При этом элементы множества М называют вершинами, а выделенные  > пары — дугами орграфа Г(М, №). Про каждую дугу (х, у) говорят, что она связывает вершину х с вершиной у, при- чем первую из них называют началом, а вторую — концом этой дуги. Такую же роль, как в теории множеств, играет понятие подмножества, в теории орграфов играет понятие подграфа. Для определения этого понятия каждому подмножеству М”  множества вершин орграфа Г(М, №) сопоставим множество N(M’)=N0(M’ XM’).  IIpu этом орграф Г(М’, N’) называют подграфом орграфа Г(М, №), если М=МиМ№емМ(М’).  120 
Существенными характеристиками каждого oprpada,  естественно, являются не сами множества М и №, а лишь число элементов в каждом из них и закон образования соот- ветствующих упорядоченных пар. Это позволяет ограничить- ся рассмотрением орграфов со стандартной нумерацией вер- шин и дуг, при которой  > М = {ь,, Va, vee, Umb N ={w,, Wa, oer, Wa},  где и; — вершина с номером i, a Ws=(Vig; ’;,)— дуга с номе- ром $ (короче, вершина # и дуга 5). Указанные орграфы  обозначаются ниже через Г (т, п, 5), где $ ={(%ь, 1*)} а —  список дуг. При этом в дальнейшем предполагается, что в рассматриваемых орграфах начало каждой дуги не совпада- ет сее концом и при $5=$’ соответствующие упорядоченные пары не совпадают. Последнее означает, что в исследуемых орграфах дуги можно отождествить с соответствующими упорядоченными парами ($, ]). 1.1.2. Широкое применение орграфов в различных теоре- тических и прикладных задачах во многом связано с воз- можностью их наглядного графического изображения. Это особенно важно, так как отражаемые орграфами реальные зависимости, как правило, не могут быть выражены в про- стой аналитической форме. Для иллюстрации на рис. э изо-  < бражены oprpadst Г (6, 8, 5.), Г(6, 7, 82) и Г(8, 7, Ss), отве- чающие спискам Si, 5, И S:, приведенным в табл. 41. Выделим теперь некоторые классы подграфов с фикси- рованным упорядочением дуг. Это означает, что каждый  такой подграф определястся некоторой конечной последо- вательностью 5+, 5.,... 51 номеров его дуг.  Рис. 9.  121 
Таблица 44  7 8 — | 1! 2 в  4 24 4,2 23) (3,4) (4,3) (5,4) (5,6) (6,4) 2 Ч} t3'3) И (4,4) (2,4) (3,4) (6,6) — 3 (1,2) (2,3) (3,4) (6,2) (3,5) (7,5) (5,8) —  Говорят, что последовательность дуг $1, $», ..., $ образует путь длины 1 из вершины % в вершину ]ь., если  ls = boy Ls, = Jsp_y) k = 2, 1, Js, = у. (7.1)  При этом вершину & называют начальной (началом пути), а вершину ]. — конечной (концом пути). Если же начало пути совпадает с его концом, то такой путь называют кон- туром соответствующей длины.  В орграфе Г(6, 7, 5,), изображенном на рис. 56, дуги We, Wy, ш5 образуют путь длины [=3 из вершины & =3 в вершину }. =4, а дуги Wy, W2, Ws, W, образуют контур дли-  ны [=4. В орграфе Г (6, 8, ©,), изображенном на рис. 5a, дуги и, и ш; образуют контур длины [= 2. В теорпи орграфов наряду с приведенными понятиями важную роль играют некоторые их обобщения, основанные  на сопоставлении каждому орграфу Г(т, п, 5) так назы- ваемого симметризованного орграфа, в котором при том же множестве вершин в качестве множества дуг принимается —>  Su 5’, где S’ = {(is, js)’ = (Js) ts)} am  > Это означает, что в отвечающем каждому орграфу Г (т, п, 5) > —>  симметризованном орграфе Г (т, п’, 505’) число ребер яв- ляется четным, причем п < п’ < 2п.  Говорят, что дуги $1, 52, ... 51 орграфа Г(т, п, 5) обра- зуют обобщенный путь, соединяющий вершины & и о, если некоторые упорядоченные пары  (tys ity) = (25. №»), (Л. 1. ] v= 14,1, образуют путь из вершины & в вершину ]. в симметризо-  ванном орграфе Г(т, п’, 515’). Аналогично определяется обобщенный контур. Обобщенный путь называют также орцепью, а обобщенный контур — орциклом.  122 
Далее, орграф называют связным, если для каждых двух его несовпадающих вершин имеется соединяющая их ор- цепь. Если же рассматриваемый орграф не является связ- ным, то он, как нетрудно проверить, однозначно представим в виде объединения р>2 связных орграфов, не имеющих общих вершин. Эти связные орграфы пазывают компонен- тами связности исходного орграфа. Наконец, связный ор- граф, не содержащий орциклов, называют ордеревом. В заключение этого пункта проиллюстрируем введенные понятия на орграфах, изображенных на рис. 5. Дуги и,  Ws, W,, Ш, орграфа Г (6, 8, 5.) (см. рис. 54) образуют op- цепь, соединяющую вершины и, и 1%. Однако путь они не образуют. В свою очередь, дуги Ш, шт, ш; этого же орграфа образуют орцикл, но контур они не образуют. Наконец, на рис. 5а и рис. 5в изображены связные орграфы, причем по- следний из них является ордеревом. В то же время орграф, изображенный на рис. 56, имеет две компоненты связности. 7.1.3. Этот пункт посвящен алгоритмическому исследова- нию орграфов, а также получению на этой основе некото- рых теорем из теории орграфов. Предлагаемый процесс исследования произвольного ор-  > графа Г(т, п, $5) состоит из одного или нескольких этапов. В результате определяются такие попарно непересекающие- ся списки  >  So — (25, is) watt, Cc S, О — 1, р, (7.2)  что отвечающие им множества  Vo — 0 (и, it, = т, р, (7.3)  %\—1, lp  также не имеют общих элементов и их объединение совпа- дает со всем М = {1, 2, ..., т}. Получаемые попарно не- пересекающиеся множества У, совпадают с множествами вершин связных компонент исследуемого орграфа, а списки >  5, определяют покрывающие ордеревья соответствующих связных подграфов. Это означает, в частности, что в случае связного орграфа предлагаемый процесс можно рассматри- вать как алгоритм построения покрывающего ордерева. К па- чалу выполнения каждого этапа формируется список остав- шихся вершин  М, =М,_\У —1, р = 4, р,  123 
Таблица 42 ге M,=M, V,=%. Ha  этапе о отмечаем сначала р у sy | м | № некоторую вершину Ke ]=M,) mw полагаем при o | — _ 4 этом Мо = [№] .На первом 4 3 (3,4) 3 шаге этапа, просматривая 1 2 2 (2,3) 2 > р 3 4 (4,1) 4 список 9, находим дугу Si, у которой одна из вер- 0 5 шин Й или д принад- 2 4 7 (5,6) 6 лежит М С, а другая не принадлежит этому мно-  жеству. Обозначив I0-  р (;6 2) 210 следнюю через Ё, полученную информацию 51, (и, ii), A заносим в таблицу, построенную по типу табл. 42. При этом полагаем  59 = (8, Л М = МЗ О (№. К началу У-го шага имеем (у— 1)-элементный список 54 = ((#, №) (8, 78) ..-(H-1, Ba)l cS  И Уу-элементное множество р о 70 о Му— = (5, К, eeeg 1] = М.  + Ha \-м шаге, просматривая список 5, ищем дугу $, у ко- торой одна из вершин принадлежит My_,, a другая не при- надлежит этому множеству. При этом возможны два случая. 1. Такой дуги нет. Тогда этап заканчивается с выдачей  искомого списка Эр = 5 и множества М». = М/Т», где У = M$_.. 2. Найдется дуга 5%, обладающая указанными свой- ствами. Обозначив новую вершину через А\, полученную информацию вида 5, (#, Л), № (7.4)  заносим в таблицу. При этом полагаем 5 = 591 Ц [(, 9), МУ = МУ, Ц [№8].  Если Му=Мр, то процесс заканчивается этапом р=р. Если  О же Мо \Му-= ©, то переходим к выполнению следующего (У- 1)-го шага этого этапа.  124 
Пример 7.1. Рассмотрим орграф, отвечающий списку, приведенному во второй строке табл. 41. Для построения искомых списков принимаем М, = М = {1, 2, 3, 4, 5, 6}. На первом этапе полагаем М, = М.\Г., =М и отмечаем вершину 1 № =4А<=М\:, которую заносим в строку с номером у=0  раздела р=1 табл. 42. При этом Мо = {4}. Просматривая  список S (cM. вторую строку табл. 41), находим дугу (it, 73) —= (3, 4) и, отмечая новую вершину Е! =3, заносим эту информацию в строку у=1 раздела р=1 табл. 42. При этом  51 = {(3, 4)}, М1 = {4, 3}.  После выполнения третьего шага оказываются заполненны- ми соответствующие строки табл. 42, и при этом  51 = {(3, 4), (2,3), (4, 1}, М! = {4, 3, 2, 4}.  На четвертом шаге мы не находим подходящей дуги. Это > >  означает окончание первого этапа. Полагая 5. =5з, И. =Мз, находим М. = М, — ТУ, = {5, 6}. На втором этапе отмечаем  вершину № =5 и заносим ее в строку у=0 раздела р=2 табл. 42. На первом шаге, просматривая список 9, находим дугу (Р, 72) = (5, 6) и, отмечая новую вершину А* = 6, за- носим эту информацию в строку * = 1 раздела о = 2 табл. 42. При этом  S? = {(5, 6)}, M? = {5, 6}, M? = My. Это означает окончание процесса, В результате которого  построены два списка 9; и 5, соответствующие покрываю- щим деревьям, выделенным на рис. об жирными линиями. В заключение заметим, что если каждой дуге $ орграфа —>  Г(т, п, ©) приписана некоторая величина 4,, то приведен- ный процесс можно вести таким образом, что для получаемо- го покрывающего ордерева достигает минимума сумма m—1 > ds, . Для этого достаточно в качестве s? выбрать дуту,  h=1 для которой 4, = шша.. Точно так же на каждом шаге про-  s=1,n цесса в качестве очередной дуги $ из числа возможных сле- дует выбирать такую, для которой величина 4, минимальна. Описанный алгоритм, как уже отмечалось, имеет не только прикладное значение. Так как он применим к ис-  125 
<ледованию произвольного орграфа, то анализ возможных результатов позволяет сделать ряд важных теоретических выводов.  >  Теорема 7.1. Каков бы ни был орграф Г(т, п, 5), содержащий р компонент связности, справедливо не- фавенство  mont p. (7.5)  При этом равенство достигается в том и только том случае, когда рассматриваемый орграф удовлетворяет одному из следующих эквивалентных условий: (а) этот орграф не содержит орциклов; (6) все связные компоненты этого орграфа являются ордеревьями.  Следствие. Для каждого связного орграфа Г(т, п, $) т—<п- 1, (7.6)  причем равенство достигается в том и только том случае, когда рассматриваемый орграф является ордеревом. 7.1.4. Изучение неориентированных графов, как уже от- мечалось, можно свести к исследованию таких орграфов  ”, I'(m, n, S), kotopbre BMecTe ¢ KaKyoit Ayroi $, связывающей вершину #, с вершиной ]., содержат симметричную дугу 5’, связывающую вершину #,,=} с вершиной }, = $. Вместе < тем во многих теоретических вопросах и прикладных за- дачах более естественным оказывается непосредственное рассмотрение неорграфов. Более того, многие понятия тео- рии ориентированных графов (например, орцепь, орцикл, ордерево) возникли под влиянием теории неориентирован- ных графов, элементы которой были заложены Л. Эйлером еще в начале ХУП] в. Каждый неорграф определяется заданием конечных мно- жеств М и №, а также отображения, сопоставляющего каж- дому элементу множества М некоторое двухэлементное под- множество {х, у} < М. При этом элементы множества М на- зываются вершинами, а элементы множества М (или, что то же, сопоставленные им двухэлементные подмножества множества М)— ребрами, связывающими соответствующие вершины. Как и в случае орграфов, существенными характеристи- ками каждого неорграфа являются не сами множества и №, а лишь число элементов в каждом из них и закон образования соответствующих двухэлементных подмножеств. Это позволяет ограничиться рассмотрением неорграфов со  126 
стандартной нумерацией вершин и ребер, при которой M = {u,, >, ..., Um, N ={nr,, Toy wong г},  где и; — вершина с номером i (короче, вершина #), а Г: = = [и 0;,} — ребро с номером $ (короче, ребро $), связы- вающее вершины #, и ],. Указанные неорграфы обозначают- ся ниже через Г(т, п, 5), где 5 = {{%, 7}} 15 — список выделенных двухэлементных подмножеств. При этом пред- полагается, что & 5*]» при всех $ =41, пи {1, }з} 52 {iss Jor} при $5 5°. Графическое изображение неорграфов отличается от гра- фического изображения орграфов лишь тем, что ребра изо- бражаются линиями без стрелок (см. рис. 6). Аналогами путей и контуров в теории неорграфов яв- ляются цепи и циклы. Последовательность ребер $1, So, ..., Sz неорграфа Г(т, п, 9) называют цепью длины [, связываю- щей вершины 1. и ]., если при некоторых К., №, .... № из {1,2,.., т} имеют место равенства  {5 int — {k., ki}, {iss js, } = {k., ky}, ...) (ts) 181] — {ki-1, ky}. (7.7)  При этом про указанную цепь говорят, что она проходит через вершины К., К, ..„ К,» причем вершины КА. и К! яв- ляются ее концами. Если концы цепи совпадают, то такую цепь называют циклом. : В неорграфе I'(7, 9, S), mu306paxenHom na puc. 6, peb- ра Г, Г», Га образуют цепь длины [= 3, связывающую вер- шины 9, И 91. Те же вершины связывает простейшая цепь, состоящая из одного ребра гь. Ребра г, г, г, г, образуют цикл длины [=4, а ребра г», Гв, гг — цикл длины [=3. Так называемые связные неорграфы характеризуются тем, что в каждом таком неорграфе для любых двух раз- личных его вершин имеется, по крайней мере, одна связы- вающая их цепь. Если же неорграф не является связным, то он однозначно разбивается на попарно непересекающие- ся связные компоненты. Неортраф называют деревом, если он является связным и не со- держит циклов. Нетрудно проверить, что связный неор- граф является деревом в том и только том случае, если число его веоршин на единицу больше числа ребер. Рис. 6.  127 
Каков бы ни был связный неорграф Г(т, п, 5), все его максимальные подграфы, не содержащие циклов, являются деревьями. Каждое из них содержит все т вершин и, сле- довательно, (1—1) ребер. Такие подграфы называют по- крывающими деревьями. При этом алгоритм проверки связ- ности неорграфа и построения покрывающего дерева, по существу, совпадает с описанным в предыдущем пункте для орграфов. Ребра одного из покрывающих деревьев не- орграфа Г (7, 9, 5), изображенного на рис. 6, отмечены жир- ными линиями.  7.2. ПРИЛОЖЕНИЕ ГРАФОВ К ИССЛЕДОВАНИЮ ОДНОГО КЛАССА МАТРИЦ  7.2.1. Во многих прикладных задачах возникает пе- обходимость в исследовании прямоугольных матриц  (11 С 1 eee Qin eee a А=| 921 922 an |, (7.8) _ @пи am? eee ann  отвечающих т-мерным векторам O° =(Qis, Ars, „.. а @тз), 8 =1, 2, (7.9)  в каждом из которых лишь две компоненты отличны от нуля, причем одна из них равна —41, а другая 1. Это озна- чает представимость указанных векторов в виде  as = ess — ols _ eis) 5 — 1, n, jis, (7.10)  тде под е^ понимается орт Ё-й координатной оси. С матри- цами такого типа мы уже встречались в предыдущей главе. Каждой матрице (7.6) естественно сопоставить орграф  > > Г(т, п, 5), где 5 = {(&, ]:)}, т, дуги которого отвечают столбцам исследуемой матрицы. Лемма 7.1. Для того чтобы столбцы матрицы (7.8) были линейно независимыми, необходимо и достаточно, чтобы  и отвечающий этой матрице орграф Г(т, п, 5) не содержал орциклов. Доказательство. Предположим сначала, что ука- занный орграф содержит некоторый орцикл, определяемый дугами $1, 52,..., 5. Тогда найдутся такие вершины к., К., ...  ——ees  eee К — Ко, что (Кут, ky) = {(tsy» Лу) (15, 155) ]› у = 1, [.  128 
В векторной форме это означает, что  e-1 — бум, м=1, (7.11)  где |5,| =1 при всех v=1, 1. Из (7.11) и (7.10), учиты- вая, что К, = К, получаем  1 У, ба = сч — ее Нез — et +  v=]  oe fet — e@l-1 — eft — eh — 0, Следовательно, указанное в лемме условие линейной неза- висимости столбцов матрицы (7.8) действительно является необходимым. Предположим теперь, что указанное условие не являет- ся достаточным, т. е. при его выполнении найдутся такие $1 52)... 5, При которых система  > qya¥ = 0 (7.12)  имеет нетривиальное решение. Не уменьшая общности, мож- но считать, что в этом решении все 1,70. Но это невоз-  $ можно, так как отвечающие векторам &” дуги образуют орграф, не одоржащий циклов, и, следовательно, найдутся такие \. = {1, 2,.... г} ифе {4, 2,..., т}, что & = [15, › ]з, ]  =, ]‹,| при ve Ve Но тогда в решении системы (7.42) 4,. = 0, что противоречит предположению. Полученное про- тиворечие завершает доказательство леммы. Теперь мы можем доказать играющий важную роль в дальнейшем изложении матричный признак ордерева.  Теорема 7.2. Орграф Г(т, п, 5) в том и только том случае является ордеревом, когда отвечающая ему матрица (7.9) содержит п=т-—1 столбцов и они линейно независимы. Доказательство. Необходимость приведен- ных условий непосредст- венно вытекает из опреде- ления ордерева, следствия теоремы 7.4 и леммы 7.4. В то же время соотно- а 6 шению п=т—1 помимо Рис. 7.  9 5. А. Мухачева, Г. Ш. Рубинштейн 129 
ордеревьев удовлетворяют также некоторые другие оргра- фы, в частности изображенные на рис. 7. Это означает, что указанное соотношение не является достаточным. Однако, если кроме того столбцы матрицы (7.6) линейно независимы, то рассматриваемый орграф (см. лемму 7.1) не содержит ор- циклов. По теореме 7.1 в этом случае имеет место равен- ство m=n+p. С другой стороны, по условию т=и- 1. Следовательно, р =1, т. е. рассматриваемый орграф являет- ся связным. А связный орграф, не содержащий орциклов, по определению, является ордеревом. Это завершает дока- зательство теоремы. 7.2.2. Рассмотрим (т-—1)-мерное — подпространство Е < АВ”, состоящее из векторов @©, ортогональных к вектору у = (4, 1, ..., 1), т.е. имеющих нулевую сумму компонент. Указанное подпространство, очевидно, содержит векторы (7.10), отвечающие столбцам выделенного в предыдущем пункте класса матриц (7.8). При этом каждый вектор @ = (ал, аз, .... ап)из Е представим в виде m—1  m a= > а;е? = У a;ei + ame” = j=1 j=1  m—1 m—1 m~1 = У @;е7 + — a а; ет — a ajem™J, т. е. векторы е”.', е”.?,..., е".”-1 образуют базис в Е. Из доказанной леммы 7.4 вытекает, что векторы  at = e848, 3 = 1, т — 1, (7.13) в том и только том случае образуют базис в Е, когда опре-  > > деляемый ими орграф Г(т, т— 1,5), где 5 = {(%, }*)} ди, является ордеревом. В п. 7.3 при рассмотрении сетевой транспортной задачи мы встретимся с системами линейных уравнений m—1  Dd ra’ = a, (7.14)  № =1 где © — произвольный вектор из Ё, а векторы (7.13) обра: зуют базис в Ё. Очевидно, что система (7.144) имеет един- ственное решение. Наряду с системой (7.14) нас будет интересовать при  фиксированных числах 4, также система линейных уравне- НИЙ  (at, у› =4, зе №, (7.45)  130 
относительно вектора y = (у, Yo, eo 2 eg Ym). (7.16)  > > Здесь №’ — такое подмножество исходного множества М№ = =  ={и7:, We, Wnt, что отвечающий ему список 9” = = {(is, is)} >, определяет покрывающее ордерево Г (т, т — —1, 5’). В развернутой форме система (7.16) может быть переписана в виде  у, — ин, =а,, з= №. (7.47)  Матрица коэффициентов при неизвестных в этой системе, очевидно, является транспонированной по отношению к матрице системы (7.14). Поэтому эта система всегда раз- решена. Однако компоненты искомого вектора (7.16) здесь уже определяются лишь с точностью до постоянного сла- гаемого. Это связано с тем, что все векторы ©’ ортогональ- ны к вектору |\=(1, 4, ..., 1). Поэтому, если условию (7.15) удовлетворяет некоторый вектор у, то ему при лю- бом с будет удовлетворять также вектор у’ =у-Р с“. С си- стемами вида (7.14) и (7.17) мы уже встречались в гл. 6 при изложении метода потенциалов (см. п. 6.2). Матрица  Qi, @12 @1т—1 В =| 421 422 @2т—1 | (7.18) Qm, moe anm—1 _  отвечающая этим системам, очевидно, удовлетворяет усло- виям алгебраической леммы 6.4. Это позволяет решать ука- занные системы без использования громоздкого аппарата обратных матриц. Соответствующие упрощенные методы, основанные на лемме 6.4, были детально описаны в п. 6.2. Однако здесь ввиду изменения некоторых обозначений нам придется их коротко повторить.  Прежде всего необходимо определить такую последова- тельность пар  (is, vi), (de, V2), (11-1, Ут), (7.19)  при которой элементы соответствующей матрицы (7.18) удовлетворяют условию  1 при #=г, ‘Ил: — | при >> г.  5* 131 
Для этого, просматривая дуги ордерева (=, js,); (в, ,} mee (ил ат)» (7.20)  находим вершину {5 т, которая является началом или концом лишь для одной из этих дуг. Порядковый номер такой пары принимаем за *.. Вычеркивая указанную дугу, путем аналогичного просмотра оставшихся т— 2 дуг опре- деляем $, == т, у, и т. д. Таким образом, за (т —1) описан- ных просмотров получаем искомую последовательность (7.19). После этого можно перейти к решению интересующих нас систем (7.14) и (7.17). Решение системы (7.14). Просматривая уравнения этой системы в порядке, соответствующем первым элементам в парах (7.19), последовательно находим все искомые ве- личины  Ту +, тт. (7.21)  Естественно, что если при этом все компоненты вектора & являются целыми, то и получаемое решение будет цело- численным. Более того, если вектор & имеет лишь две ком- поненты, отличные от нуля, одна из которых равна 1, а вто- рая —41, то все ненулевые коэффициенты в разложении (7.14) по абсолютной величине будут равны единице. Решение системы (7.17). Так как компоненты искомого вектора здесь определяются лишь с точностью до постоян- ного слагаемого, последнюю компоненту этого вектора вы- бираем произвольно, полагая у„ =с. Просматривая затем  Уравнения системы (7.17) с номерами Vm—1, Vm-2, \, последовательно находим Yin—1) Утро +. У: (7.22)  т. е. все остальные компоненты искомого вектора у. Описанные процессы проиллюстрируем на числовом примере. Пример 7.2. Прежде всего определим покрывающее ордерево для орграфа Г(7, 9, 5), которому отвечают упо- рядоченные пары, приведенные в табл. 43. Заметим, что  Таблица 43  |. 1 2 38 4&4 5 6 7 8 9  | (544) (1,2) (4,5) (3,6) (4,7) (2,4) (2,3) (8,4) (4,7) (5,6)  132 
Таблица 44  № 1 2 3 4 5 6 Sy 4 4 5 2 6 3 (.„/») | (2) ал 24 G5) 8) 65 4. 20 35 22 35 25 48 Ly 30 70 —4130 —130 80 140  приведенному орграфу отвечает неорграф Г(7, 9, 5), изобра- женный на рис. 6. Для построения покрывающего ордерева воспользуемся алгоритмом, описанным в п. 7.1.3. Информа- ция о дугах полученного ордерева  приведена в третьей строке Таблица 45 табл. 44. Пример 7.3. Для найденно- | * (бк, Ук] Ух го в предыдущем примере покры- вающего ордерева решим теперь |1 | —400 | 54 65 системы (7.14) и (7.15). Соответ- |2 80 | 43 85 ствующие величины 4, приведе- |3 —60 88 tay ны в четвертой строке табл. 44. а — 480 24 | 142 Что касается компонент вектора |6 140 | 1.2 | 458 aE, то они приведены BO BTO- 7 70 | — | 400  ром столбце табл. 45. Определим вначале соответствующую после- довательность пар (7.19). Для этого, просматривая третью строку табл. 44, находим вершину й = 5 5-7, которая являет- ся концом лишь одной дуги с номером \, = 4. В результате получаем пару (#, *.)=(5,4), которая занесена в первую строку табл. 45. Отметив в табл.44 использованную дугу (és, Js J= (4, 5), путем просмотра оставшихся дуг находим вер- шину & =47-7, которая является концом лишь одной дуги с номером %, =3. Таким образом, получаем пару (5, %.) = — (4, 3), которая занесена во вторую строку табл. 45 ит. д. Переписывая уравнения системы (7.14) в порядке, от- вечающем первым элементам найденных пар (см. третий столбец табл. 45), приводим ее к следующему виду:  а = — 130, Ig — 24 = 0, XZ, = 140, т — 1 = — 60, Ly — 23 — 1. = 80, —41;: — т. = — 100.  133 
Теперь находим последовательно величины 24, 1з, Ха, Ts, 1, т, которые приведены в последней строке табл. 44. Переписывая затем уравнения системы (7.17) в порядке, который является обратным к порядку, отвечающему вто- рым элементам найденных пар (4, \%), приводим ее к виду  у: — И: = 35, Уз — У: = 20, Ys — Y2 = 20, Ув — Уз = 48, У, — Уз = 22, Уз — Ук = 35.  Фиксируя теперь у: = 100, последовательно находим у, У», Ys, Ys, Ys У» которые приведены в последнем столбце  табл. 45  7.3. СЕТЕВАЯ ТРАНСПОРТНАЯ ЗАДАЧА  Остановимся прежде всего на причинах, в силу ко- торых оказывается полезным изучить еще одну постановку транспортной задачи. В больших задачах, связанных © пла- нированием перевозок массовых грузов (например, угля) в масштабе всей страны, как правило, имеются сотни пунк- тов производства и порядка тысячи крупных пунктов по- требления. Если планирование таких перевозок осуществлять на основе транспортной задачи в классической постановке, то потребуется предварительно рассчитать затраты Ди, свя- занпые с перевозкой единицы груза (например, одной топ- ны угля) из каждого пункта производства Ё в каждый пункт потребления [. А это означает, что соответствующая матрица затрат будет содержать сотни тысяч элементов. Подготовка столь обширной исходной информации, а такжс ее хранение и практическое использование в процессе сче- та связаны © большими, порой непреодолимыми трудвпо- CTAMH. Между тем реальные перевозки массовых грузов осу- ществляются, как правило, по железнодорожным или авто- дорожным сетям. Число участков в таких сетях обычно лишь немногим превосходит количество связываемых пунк- тов. Поэтому естественно попытаться поставить задачу та- ким образом, чтобы в ней использовалась лишь информация о затратах по перевозке единицы продукта по каждому участку сети. Тогда при тех же сотнях пунктов производ- ства и порядка тысячи нунктов потребления исходная ин- формация о затратах будет содержать лишь две-три тысячи величин. Отметим еще, что при использовании транспортной за- дачи в классической постановке нельзя учесть ограничения  134 
по пропускным способностям отдельных участков сети. ]3 сетевой постановке такого рода ограничения учитываются с помощью стандартных приемов, о которых шла речь в п. 4.3. Предположим теперь, что имеющиеся пункты производ- ства и потребления расположены на некоторой транспорт- ной сети, состоящей из п участков, связывающих между собой т пунктов. При этом нам будет удобно указанную сеть считать ориентированной. Это означает, что для дорог с двусторонним движением наряду с каждым участком $, связывающим пункт $, с пунктом ]., придется вводить еще участок 5’, связывающий пункт #3 = }+‹с пунктом ]}:=. Та- ким образом, транспортная сеть будет задана некоторым  орграфом Г (т, п, 5), где S {is, 1} гп:  Каждой дуге $ =1, п этого орграфа сопоставляется величи- на 4., указывающая затраты, связанные с перевозкой еди- ницы продукта из пункта #, в пункт ], по соответствующему участку сети. При этом не предполагается, что если (is, js) = (js', isr), TO ds = ds’.  — > Далее, каждой вершине $ = 1, т орграфа Г(т, п, 5) со- поставляется вещественное число 6:. Если 6:>0, то это означает, что вершина $ отвечает пункту производства, в котором объем производства равен 6:. Если же В. <0, то соответствующая величина отвечает пункту потребления с объемом потребления |5:|. Наконец, в случае 6, =0 в со- ответствующем пункте рассматриваемый продукт не произ- водится и не потребляется. Такие пункты используются толь- ко при транзитных перевозках. При этом, как и в случае классической транспортной задачи, будем предполагать, что суммарный объем производства совпадает с суммарным объ- смом потребления, т. е.  > b; = 0. (7.23)  План перевозок определяется выбором п-мерного век- тора х=(т:, т, ... х,), д. 20, $=1, п, (7.24)  с неотрицательными компонентами, указывающими плани- руемые объемы перевозок по зсем участкам сети.  135 
— > Для каждой вершины {=1, т орграфа Г(т, п, 5) через М: обозначим множество тех дуг, для которых ], =В а че-  рез М; — множество тех дуг, для которых #, =$1. Тогда при фиксированном плане перевозок (7.24) количество ввози- мого и вывозимого продукта в каждый пункт может быть подсчитано по формулам  21 (2) = Х ль: (2) = YB ty, t=1,m. + —  SEN;  seN; i  4  А это означает, что план перевозок (7.24) является допу- стимым (согласован с заданными объемами производства и потребления), если он удовлетворяет условиям  Zi (x) — Zz (x) + 0; = 0, i=1,m,  которые в разверпутой форме имеют вид  У х.— У а ы=0, #=1,т. (7.25) в=М 3еМ;  Задача состоит в разыскании такого допустимого плана перевозок (7.24), для которого достигают минимума сум- марные транспортные затраты, выражаемые в данном слу- в  чае величиной >) dss. s=] Таким образом, мы приходим к следующей задаче ли- нейного программирования.  Сетевая транспортная задача. Дия фиксированного op- > графа Г(т, п, 9) при заданных величинах  d., s=1,n, В: i=1,m, удовлетворяющих условию (1.23), определить п-мерный вектор (1.24), максимизирующий линейную функцию  п и (2) = — Ха, (7.26) 5—1 при ограничениях (17.25). Двойственная задача и признак оптимальности здесь мало чем отличаются от приведенных выше для случая классической транспортной задачи. Двойственная задача. Определить т-мерный вектор  у= (у, Yo, ee, Ym), (7.27)  136 
минимизирующий линейную функцию т  у (у) = № Ви: 3—1 при ограничениях у, — и, — &<0, $=1,п (7.28)  Признак оптимальности. Дия оптимальности допустимо- го вектора (7.24) необходимо и достаточно, чтобы среди векторов (7.27), удовлетворяющих условию (7.28), нашел- ся такой, что  у; — У, — @&=0, если хз >0. (7.29)  При этом соответствующий вектор (Т.27Т) является опти- мальным в двойственной задаче. 7.3.2. Заметим, что условие (7.25), выражающее допу- стимость вектора (7.24) в сетевой транспортной задаче, может быть переписано в виде одного векторного равенства  > зов В = 0, (7.35) j=1 где  В — (5, Б., ...’ bm), as = elsds ="¢’s — e's s = 1, ne (7.31)  При этом ввиду условия (7.23) все векторы (7.34) принад- лежат (т — 1)-мерному подпространству Ес А” векторов,  ортогональных к вектору 1 = (4, 1, 1). В связи с отме- ченным множество дуг К = {54, 52, .. д $т—} (7.52)  — рассматриваемого орграфа Г(т, п, 5) будем называть ба- зисным, если соответствующие векторы  сет, аа, ..., тб (7.33)  образуют базис в указанном (т -— 1)-мерном подпрострап- стве Е. Из приведенного выше признака покрывающего ордерева вытекает, что введенное понятие базисного мно- жества, по существу, совпадает с понятием покрывающего ордерева для соответствующего орграфа. Для каждого базисного множества (7.32) через х(К) обозначим п-мерный вектор, компоненты которого одно- значно определяются из следующей системы линейных  137 
уравнений: У! ха -- В = 0, х, =0 при ЕК. (7.34) sek  Этот вектор, очевидно, всегда удовлетворяет условию (7.30) и, следовательно, является допустимым в том и только том случае, если д, 20, зе К. (7.35)  Соответствующие базисные множества и здесь называются допустимыми (ДБЬМ). Далее, для каждого базисного множества (7.32) через у(К) обозначим т-мерный вектор, компоненты которого удовлетворяют условию  Yj, —Yi, —2=0, sek. (7.36)  Как уже отмечалось, система линейных уравнений (7.36) всегда разрешима, однако компоненты вектора У(К) опре- деляются из этой системы лишь с точностью до постоянной. Базисное множество К называется двойственно допустимым (ДДБМ), если отвечающий ему вектор у(К) является до- пустимым в двойственной задаче, т. е. удовлетворяет огра- ничениям (7.28). При этом важно отметить, что выполнение или нарушение указанных ограничений не зависит от вы- бора постоянного слагаемого при определении компонент вектора у(К). На основании приведенного признака оптимальности можно утверждать, что если базисное множество К являет- ся одновременно допустимым и двойственно допустимым, то отвечающие ему векторы х(К) и у(К) будут оптималь- ными ‘в сетевой транспортной задаче и двойственной к ней задаче. Следовательно, для решения рассматриваемой пары двойственных задач линейного программирования, как и в общем случае, достаточно найти базисное множество К, ко- торое является одновременно допустимым и двойственно допустимым. Такое базисное множество в прямом методе последовательного улучшения получается путем построения некоторой последовательности допустимых базисных мно- жеств. При этом на каждом шаге процесса приходится ре- шать соответствующую систему линейных уравнений (7.36) и одну систему линейных уравнений вида (7.14). Для ре- шения этих систем, естественно, используются упрощенные приемы, о которых шла речь в п. 7.2. Таким образом, основная часть алгоритма здесь, по су- ществу, совпадает с описанной выше конкретизацией пря-  138 
мого метода последовательного улучшения для случая клас- сической транспортной задачи (см. п. 6.2). Небольшие от- личия в деталях реализации, связанные лишь с тем, что в данном случае вместо векторов ©” фигурируют векторы @’, будут пояснены на числовом примере. Вместе с тем исход- ное ДБМ К в сетевой транспортной задаче не может быть построено с помощью простого метода северо-западного угла или какого-либо его аналога. Более того, если не предпо-  > лагать, что в орграфе Г(т, п, 5) для любых вершин фи} имеется путь из $ в ], то в соответствующей сетевой транс- портной задаче может вообще не существовать допустимых векторов. Важно отметить, что если все величины @, неотрица- тельные, то линейная функция (7.26) на множестве век- торов (7.24) ограничена сверху. А это означает, что при наличии допустимых векторов в сетевой транспортной за- даче всегда существуют также оптимальные векторы. Если же среди величин 4, имеются отрицательные, то может оказаться, что в соответствующей задаче имеются допусти- мые векторы, но линейная функция (7.26) на множестве таких векторов не ограничена сверху. Естественно, что от- рицательные 4, могут встретиться лишь при использовании описанной математической модели в вопросах, не имеющих непосредственного отношения к транспортным перевозкам. Остановимся на описании приемов построения исходных ДБМ К в сетевых транспортных задачах. Прежде всего, с помощью простого приема, описанного в конце п. 7.1, для  заданного орграфа Г(т, п, S) можно построить покрываю- щее ордерево либо же убедиться в том, что отвечающий этому орграфу неорграф Г(т, п, 5) не является связным. В последнем случае в исследуемой задаче, очевидно, базис- ных множеств нет и, следовательно, допустимых базисных множеств также не существует. Если же неорграф Г(т, п, 5) является связным, то с помощью указанного приема будет получено покрывающее ордерево и, следовательно, некото- рое базисное множество (7.33). Для этого базисного мно- жества решим систему линейных уравнений (7.14), пола- гая в ней © == -—В. Это можно сделать с помощью упрощен- ного приема, описанного в п. 7.2. Если полученные величи- ны 5х. зе К окажутся неотрицательными, то построенное множество К, очевидно, может быть принято в качестве искомого допустимого базисного множества. Предположим теперь, что среди величин т. имеются от- рицательные, т. е.  К, = {зе К], < 0} =9.  139 
Таблица 46  [ 4 2 18 is, js by ta io, Ja bigs Jig ds dy dy dis Home mane 21 22 218 So  Если при этом для каждой дуги зе К, найдется дуга $’с началом в вершине $, = }3 и концом в вершине }х = $5, то для получения допустимого базисного множества достаточно в множестве К каждую дугу $ Е К, заменить соответс-вую- щей дугой $ Если же для некоторых $е К, требуемых дуг $’не найдется, то придется, как и в общем случае, рас- смотреть некоторую вспомогательную сетевую транспорт- ную задачу, в которой имеющиеся дуги дополняются тре- буемыми фиктивными дугами $’. При этом в качестве затрат  для фиктивных дуг $’принимаются величины dys = 1, а для  старых дуг — величины 4, =0. Путем решения этой вспо- могательной задачи, для которой допустимое базисное мно- жество имеется, получим некоторое базисное множество, которое является в ней одновременно допустимым и двой- ственно допустимым. Если это множество не содержит фиктивных дуг, то оно может быть принято в качестве исходного допустимого базисного множества для исходной задачи. В противном случае в исходной задаче допустимых базисных множеств не существует. Для иллюстрации конкретизации метода потенциалов в случае сетевой транспортной задачи приведем пример, в котором т=7, п= 18. При этом исходную информацию разместим так, как ука- Таблица 47 зано в табл. 46 и 47. В табл. 46, кроме того, 1 2 7 размещаются — вычисляе- мые на каждом шаге про- цесса величины  2; >= Y;3,—Yi,—d, 5 =1, 18,  bi by be 6.  140 
Таблица 48  Номер шага 1 2 3 4 5 6 51 52 53 54 $5 56 ts Is, te Js, te Js, te Js, tee Js, bys Is, zs. Zs. Zs, Zs, ws. 75. qs, qs, Ys, qs, qs, Ys,  и в случае нарушения условия (7.28) номер дуги $, кото- рой отвечает максимальная из вычисленных величин 2,. Ин- формация об очередном ДБМ К и отвечающем ему векто- ре (К) размещается в соответствующих строках табл. 48. В последней строке этой таблицы записываются коэффи-  циенты разложения вектора @° no базису. Табл. 49 предназначена для записи последовательности пар (7.19) и компонент вектора у. Пример 7.4. Исходные данные приведены в первых трех строках табл. 50, 51 построенных по типу табл. 46 и 47. Найдем сначала некоторое ДБМ К и отвечающий ему допустимый вектор (К). Для этого необходимо построить покрывающее ордерево. Заметим, что в заданном орграфе  наряду с каждой дугой $=1,9 имеется также такая дуга s’=s+9, что &= ри м =, причем соответствующие величины Ц, и 4. совпадают. Кроме того, множество дуг {51, $2, ss} рассматриваемого здесь орграфа совпадает  с множеством дуг орграфа Г (7, 9, 5), приведенного в при- мере 7.2. Поэтому построенное в указанном примере (см. табл. 44) покрывающее ордерево К° = {1, 4, 5, 2, 6, 3} будет  таковым же для исследуемого орграфа Г (7, 18, 5). Но тогда множество К” является базисным для рассматриваемой сетевой транспортной задачи. Заметим теперь, что в примере 7.3 вектор а =(—100, 80, —60, 0, —130, 140, 70) лишь знаком отличается от вектора  B=(100, —80, 60, 0, 130, —140, 70). По-  Таблица 49  Номер шага  этому система (7.34), из которой опреде- р м a ляются ненулевые компоненты вектора ig) Vg Ys т(К”), совпадает с системой (7.24), ко- tay Va Ya торая решалась в примере 7.3. Это озна- г у у чает, что интересующие нас ненулевые ый ye  компоненты вектора х(К”) совпадают  141 
Таблица 50  142  17  16  15  14  13  12  11  10  6,3 74 42 3,2 43 ТА 6,5 22  4,7 5,6 24 5,4  3,4  2.3  1,2 4,5 3,61,7 2,4  31 —16 —62 —62  47 —84 —84 —84  34 13 —18 —34  25 —50  35 —70 —70 —70  47 31 20 35 48 —96 —96 —96  —10 99 —40 —10 0 —40  —10 0 —40  34  —81  25  20 35 4835 22  0 0  0 0  —49  0 —99  —50  0 —70 0 0 —44 09—70 0 0 —44  0 —21  15  49  18 —31  0  0  00 —44  is, js  ds Шаг 4  Шаг 2  Шаг 3  с приведенными в последней строке  табл. 44: 2: = 30, 14 = 70, 25 = — 130 zr, = — 130, хз = 80, 13 = 140. Так как среди этих компонент име- ются отрицательные, то для получе-  ния искомого ДБМ К в базисном множестве К°” необходимо заменить дугу ss=9O дугой $3=5-+9= 44, а дугу $, =2 — дугойза =2- 9 = 114. Таким образом, мы получаем ДБМ К и отвечающий ему допустимый век- тор х(К), которые приведены в пер- вой части табл. 52. В табл. 53 ука- зана последовательность пар (7.19), которая совпадает с использовав- шейся при решении (7.24) в при- мере 7.2. Таким образом, полностью подготовлена необходимая информа- ция для выполнения первого шага метода потенциалов. Покрывающее ордерево для ДБМ К изображено на рис. да. При этом цифрами ука- заны объемы перевозок 5.5, по со-  ответствующим участкам сети. Оста- новимся подробно на описании про- цедур, выполняемых на первом ша- ге процесса. Г. Определение вектора (УК). Система (7.17) решается с помощью упрощенного приема (см. п. 7.2). Полагая Ул == 100, из уравнений с но- мерами У: =2, у5 =1, у, =5, у, =6, ve =3, v,=4 последовательно нахо- NUM остальные компоненты искомого вектора у(К) с номерами & =4, в = =2, и =3, й 3 =6, i. = 4, i, =5 uw 3a- носим их во ‘второй столбец табл. 53. П. Проверка двойственной до- пуетимости ДБМ К. По формулам (3.14), которые в случае сетевой транспортной задачи имеют вид  5 = Yi, — Vig — 3) s= 1, 18, 
Таблица 54  6 100 —80 60 0 130 —140 —70  вычисляем все величины 2, И заносим их в четвертую стро- ку табл. 50. Для найденных величин проверяем выполнение  условия д, < 0, 5 = 4.48. Так как это условие нарушено, фиксируем $, =9, которому отвечает наибольшая из вычис- ленных величин 2,, и заносим $. =9 в соответствующую графу табл. 50.  ПТ. Вычисление коэффициента разложения вектора ©’ по базиеным векторам. Соответствующая система  д 8 У Js,,% у — a? =1  типа системы (7.14) решается с помощью упрощенного приема, описанного в п. 7.2. Именно: из уравнений с но- мерами #=95, &=4, i: =6, и =3, i; =2, %ц=1 последова- тельно находим отвечающие \, =4, у, =3, %, =6, %, =5, у; =1, ve = 2 коэффициенты разложения 4:1, Gia, Ys Yor Yt» Ya и заносим их в последнюю строку табл. 52. ТУ. Определение =*. В данном случае положительными являются коэффициенты разложения 41: = 011 = 4в = 43 = 4. Поэтому  e* = min {x,, X11, Ze, Ls} = min {130, 130, 80, 140} = 80,  причем минимум достигается для $* = 6.  Рис. 8.  143 
Таблица 52  Шаг 3  15 3,2  14 4,2  3,6 10  5,6 130  1,7  1,2 30  50  70  Шаг 2  44 5,4  14 4,2  3,6 60  5,6  1,7 70  1,2 30  80  50  Шаг 1  11 5,4 130  14 4,2  st  3,6 140  2,3  1,7  1,2 30  80  130  70  144  У. Подготовка информации к следующему шагу. По форму- лам (3.25) и (3.26), которые в случае сетевой транспортной задачи имеют вид  K’ =(K\(s*}) sob, ть, = ws.) — =*4.., Sy = К’ \ {5.}, Xs, =e* 2,—0, sek’, находим новое ДБМ К’ и отве- чающий ему допустимый век-  тор х(К’). Эти данные зано- сим во вторую часть табл. 52.  Соответствующее покрываю- щее ордерево изображено на рис. 86.  Для проведения следующего шага остается найти отвечаю- щую новому ДБМ К’ последо- вательность пар (7.19). и за- нести ее в третий столбец табл. 53. Указанные пары опре- деляются с помощью простого приема, детально описанного в предыдущем параграфе и про- иллюстрированного в приме- ре 7.3. Соответствующие ре- зультаты приведены в табл. 50, 92. При этом в процедуре ИП третьего шага все величины 2, неположительны. Поэтому ба- зисное множество  К” = {1, 4, 14, 15, 9, 3} -  допустимо и двойственно допу- стимо, а отвечающие ему век- торы  x(K”)=(30, 0, 10, 70, 0, 0, 0, 0, 130, 0, 0, 0, 0, 50, 0, 0, 0), у(К”) = (65, 85, 60, 63, 77, 108, 100) 
являются оптимальными Таблица 53 для рассматриваемой се- тевой транспортной зада- Шаг 1 Шаг.2 Шаг 3 чи и двойственной к ней  задачи. При этом 54 | 65 | 36 | 65 [43| 65 ” 43 | 8 | 65 | 85 |6,5| 85 p(z(K"))= 66 | 440 | 5:4 | 414 16.6] 60 3,5 | 63| 43| 63 [34| 63 =v(y(K”))=—8810. 24 | 28 | 24 | 28|24| 77 4,2 | 158 | 1,2 | 59 | 4,2] 408 — | 100 | — | 100 | — | 100 Покрывающее ордере-  во, отвечающее ДБМ К”, изображено на рис. 8 в, где цифрами указаны объемы пере- BO30K 2s, реализующие полученный оптимальный план.  7.4. СЕТЕВОЕ ПЛАНИРОВАНИЕ  1.1.4. Выполнение комплексных научных иселедо- ваний, а также проектирование и строительство крупных промышленных, сельскохозяйственных и транспортных объЪ- ектов требуют календарной увязки большого числа взаимо- связанных работ, выполняемых различными организациями. Составление и анализ соответствующих календарных пла- нов представляют из себя весьма сложную задачу, при решении которой в последние годы систематически приме- няются так называемые методы сетевого планирования. При использованки указанных методов зависимость меж- ду отдельными работами задается с помощью некоторого  орграфа Г(т, п, ©®), в котором каждая дуга $ =41, п отве- чает определенной работе. Если в этом графе дуги $1, 5», $, образуют путь из вершины #5, в вершину 4», то это означает, что выполнение работ $, для которых & = }.,› мо-  жет начинаться лишь после завершения всех работ Si, So, ..., &. Ввиду этого каждую вершину # орграфа  , Г(т, п, 9) интерпретируют как событие, означающее воз- можность выполнения тех работ $, для которых & =& т. е. завершение всех работ $, для которых j, =i. Приведенная интерпретация означает, что для выполнимости рассматри-  > ваемого комплекса работ соответствующий орграф Г (т, п, 5) не должен содержать контуров. Действительно, если бы имелся некоторый контур $1, $2, .... $, ТО для выполнения каждой работы $,, у = 1, 1 потребовалось бы предварительно завершить все остальные работы, что приводит к неразре-  145 
шимому вопросу, типа из- вестного вопроса о том, кто снес яйцо, из которого вы- лупилась первая курицё. Следовательно, практиче- ски реализуемые комплексы работ описываются орграфа-  ми Г(т, п, $), не содержа- щими контуров. Ясно, что в каждом таком орграфе имеется, по крайней мере, одна начальная вершина $, для которой  + . . Ni, = {s| js = i} = ©, И, 00 крайней мере, одна конечная вершина loo, ДлЯ которой Ми, = {а = и} = в.  Рис. 9.  В сетевом планировании обычно ограничиваются рассмот- рением случая, когда &, =4 является единственной началь- ной вершиной, а $.. = т — единственной конечной верши- ной. Первая из этих вершин интерпретируется как началь- ное событие, а вторая — как конечное событие, означающее завершение всего комплекса работ. При этом, как нетрудно > проверить, для каждой вершины #5=1 в орграфе Г (т, п, 5) имеется путь с концом в этой вершине и началом в верши- не #{, =1. Точно так же для каждой вершины #=2= т имеется путь из этой вершины в конечную вершину #. = т. егко проверить, что в орграфе Г = (8, 414, 5), изобра- женном на рис. 9, нет контуров и в нем имеются одна на- чальная вершина & =1 и одна конечная вершина $.. = 8. Жирной линией показан путь из начальной вершины & =1 в конечную вершину &.=8. Читателю предлагается опре- делить все другие пути, связывающие те же вершины. Допустим теперь, что рассматриваемый комплекс работ  описывается орграфом Г (т, п, ©), обладающим указанными свойствами. Кроме того, известно время т, необходимое  для выполнения каждой работы $ =1,п. В этом случае,  говорят, что имеется сетевой график Г(т, п, 5, Г), г L = {t;},_s5-  7.4.2. Календарный план выполнения сетевого графика Г(т, п, 5, Т) определяется выбором т-мерного вектора  $ = (В, ta, eee, tm) ’ (7.37)  146 
компоненты которого указывают планируемыс сроки выпол- нения соответствующих событий. Такой план является до- пустимым (согласован с заданными величинами т,), если он удовлетворяет условию  | 5 21, S=1,n. (7.38)  При этом срок выполнения всего комплекса работ опреде- ляется величиной  А () = tn — н. (7.39)  Естественно, что мы заинтересованы в минимизации общего срока выполнения работ. Таким образом, приходим к сле- дующей задаче линейного программирования. Задача о кратчайшем сроке. При заданном сетевом гра-  a фике Г(т, п, 5, Г) определить вектор (7.37), минимизи- рующий линейную функцию (7.39) при ограничениях (7.38). Приведенная задача, как нетрудно проверить, является двойственной к следующей задаче, представляющей также самостоятельный интерес. Задача о критическом пути. Гри исходных данных зада- чи о кратчайшем сроке определить п-мерный вектор  X=(%, Le, ..., Xn), 20, s= 1, п, (7.40) максимизирующий линейную функцию п u(r) = У TsLs (7.41) 8—1 при ограничениях —1 при $ =1, Хх. л.— >) t=} Onpui=2,m—1, (7.42) seNe seN; 4 npu t —  Ясно, что задача о критическом пути является частным случаем сетевой транспортной задачи, в которой 6, =1, bn =—1 u b:=0, 1{=2, т-1, ад, = -т,, з=1, п. Следова- тельно, каждому базисному множеству К в задаче о крити- ческом пути отвечает некоторое покрывающее ордерево, со- держащее единственную орцепь  p(K)={s,, S2, ..., Si,  проходящую через вершины К. = $. =4, К, К», ..., К =. = = т. При этом компоненты соответствующего вектора х(К)  147 
могут быть вычислены по следующим формулам: д, =0 при $ = {s,, So, secy $1}, л: =1 при (Ка, №) = (&» Лу), (7.43) т. =— 1 при (уфа, №) = (= лу).  Это означает, что базисное множество К является допусти- мым в том и только том случае, когда отвечающая ему орцепь является путем из вершины & =1 в .=т, и при этом  век) = Ут (7.44)  С другой стороны, каков бы ни был путь р из вершины 1, =1 в вершину &.= т, найдется, по крайней мере, один допустимый базис такой, что отвечающее ему покрывающее ордерево содержит этот путь. Искомые критические пути характеризуются тем, что отвечающие им базисные мно- жества являются не только допустимыми, но и двойственно допустимыми. 7.4.3. Рассмотренные задачи, сводящиеся к частному случаю сетевой транспортной задачи и двойственной к ней, естественно могут решаться описанным выше методом по- тенциалов. Однако для них могут быть предложены суще- ственно более простые методы, сводящиеся к последователь- ным просмотрам дуг сетевого графика. Для каждой вершины #==1, как уже отмечалось, имеет- ся, по крайней мере, один путь р = {51, $», ..., $} © концом в этой вершине и началом в вершине #, =1. Множество та- ких путей обозначим через P} a рассмотрим величины  # =0, & = шах >; Ts, 1=2,т. (7.45)  pep} зе  Нетрудно проверить, что они удовлетворяют соотношениям  tj  $  о  — В >t, s=1,n, th =A,, (7.46)  где Л.— определяемый формулой (7.39) кратчайший срок  для сетевого графика Г(т, п, ©, Г). Но тогда в качестве решения задачи о кратчайшем сроке может быть принят вектор (7.37) с компонентами (7.45). Покажем теперь, что для практического вычисления ве- личин (7.45) нет надобности в предварительном определе-  нии соответствующих множеств путей РУ . Для этого заме-  148 
Таблица 54  i 2 3 4 5 6 7 8 9 10 11 12 13 14  1,2 13 14 25 32 35 36 3,7 4,3 4,7 5,86,8 7,6 7,8 0 3 2 5 72 12 4 40 5 105 2 42  тим, что интересующие нас величины (7.45) связаны между собой соотношениями  1 = шах (в, + т.), i= 2,m, (7.47)  sENp  где под №, как и выше, понимается множество дуг с кон- цом в вершине $. используя приведенные формулы, мы мо- жем определить все величины (7.45) за [< [+4 просмот- ров списка дуг сетевого графика, где через [, обозначена  42 + ow максимальная длина путей ре Ри. Соответствующий алго- ритм для вычисления величин (7.45) поясним более под- робно на числовом примере.  Пример 7.5. Рассмотрим сетевой график Г (8, 14, 5, Г), отвечающий числовым данным, приведенным в табл. 54.  Заметим, что соответствующий орграф Г (8, 14, 5) совпадает с изображенным на рис. 9 Предположим, что уже имеются некоторые неотрицатель-  пые величины & < {=1,8. Тогда при просмотре очеред- 7 ной дуги $ новое значение #;, определяется по формуле  tj, = max {t,,, ti, + Ts}.  a Получаемые при этом величины #;, очевидно, также не о превосходят #,. Далее, если при очередном просмотре всех  дуг $ = 1,14 не происходит ни одного изменения величин &, то это означает, что имеющиеся Ё совпадают © искомыми величинами (7.47). ___ В качестве исходных принимаем #=0, #= 18. Затем, просматривая дуги $ = 1,44, последовательно находим новые значения  t, = 10, t; = 3, t, = 2, t; = 45, t, = 10, t, = 23, t, = 15, t, = 7, ts = 12, t= 7, t, = 33, t, = 33, t, = 45, t, = 33,  которые приведены во второй строке табл. 55.  149 
Таблица 55  1 2 3 4 5 6 7 8  0 10 12 2 23 15 7 33 0 19 42 2 32 24 16 42  На втором просмотре дуг $ = 1,14 определяем новые зна- чения величин #, приведенные в третьей строке табл. 55. На третьем просмотре дуг $ = 1,144 ни одна из найденных величин Ё не изменяется. Следовательно, полученные при втором просмотре величины 1, совпадают с искомыми вели-  чинами й;. 7.4.4. Рассмотренные величины (7.45) определяют мини- мально возможные сроки выполнения всех событий. При анализе сетевых графиков представляет интерес выявление имеющихся резервов в сроках выполнения отдельных собы- tui. С этой целью через Р; для каждой вершины i= =1,m-—1 обозначим множество путей из этой вершины в конечную вершину #= т. Затем рассмотрим величины оо  tm =tm, ty =tm— max ts, i=1,m—T. (7.48) p=P; sep  Так как множество путей Р! , очевидно, совпадает с мно- жеством путей Р», то  oo оо о о о о РЕРГ зер pePpt $=р Что касается остальных вершин #=2,тр— 1, то для них, очевидно, имеют место неравенства  оо  НВ, 1=2,т—1. (7.49)  При этом неотрицательные величины о  ы=Н ФВ, 1=2,т—1, (7.50)  можно интерпретировать как имеющиеся резервы времени для выполнения соответствующих событий. Событие $ сете-  > вого графика Г(т, п, 5, Г) называется критическим, если в соответствующем неравенстве (7.49) достигается равенство, т. е. резерв времени (7.50) для выполнения этого события равен нулю. 
Таблица 56 1 2 3 4 5 6 7 8 9 101112 13 44  1,2 13 414 25 32 3,5 3,6 3,74,34,75,86,87,67,8  10 3 2 5 7 20 12 4 10 510 5 2 12  Для практического вычисления величин (7.48), как и в предыдущем случае, нет надобности в предварительном  определении соответствующих множеств путей Р;. Доста- точно заметить, что интересующие нас величины (7.48) связаны между собой следующими соотношениями:  {= шш [tis — т: | i=1,m—1, (7.51)  ЗЕМ;  где под М; понимается множество дуг © началом в вер- mune i.  Работу $ сетевого графика Г(т, п, 5, ТГ) называют на- пряженной, если’ события &, и ], являются ‚критическими и при этом tj, = ti. + Ts, MIM, 4TO TO же, ty, t;, t;, ts: Ясно, что для определения всех критических событий и всех на- пряженных дуг достаточно вычислить величины (7.45)  и (7.48). Пример 7.6. Для сетевого графика Г(8, 14, 5, Г), который уже рассматривался в связи с определением вели-  чин & (см. пример 7.5), найдем величины ts ‚ ры i=18, а также все критические события и напряженные работы. Исходные данные примера повторены в табл. об с тем, что- бы читатель мог проводить соответствующие выкладки, не отрываясь от текста. Кроме того, во второй строке табл. 57  приведены величины В, #= 48, найденные при решении примера 7.5. Интересующие нас величины t;, i=1,8, raxme oupenensioTca 3a 1<1.+41 просмотров дуг $ = 1, 14. Предпо- ложим, что уже, имеются некоторые величины НЫ, }=18, причем №8 =&-=42. Тогда при просмотре очеред- ной дуги $ новое значение &, определяется по формуле ti, = min {t;,, 23, — Ts}.  f Получаемые при этом величины И, очевидно, также не оо меньше #,. Далее, если при очередном просмотре всех дуг  151 
Таблица 57  i 1 2 3 4 5 6 7 8 t, о 19 42 %2 382 24 16 42 t; 0 27 #12 2 32 37 30 42 о; 0 8 0 0 0 438 144 0  5 = 1,14 не происходит ни одного изменения величин #, то это означает, что имеющиеся # совпадают с искомыми ве- личинами (7 48). В качестве исходных принимаем fj =  = tg = = 42, i=1,8. 3aTem за несколько просмотров дуг $—  = 1,44 находим величины #° которые приведены в третьей строке табл. 57. В последнюю строку таблицы заносим ве- личины 0:;, подсчитанные по формулам (7.50). Так как р: = рз == р = © = рз =0, то соответствующие события явля- ются критическими. Что касается напряженных работ, то таковыми являются работы $ = {3, 6, 9, 14}. На рис. 9 соот- ветствующие дуги отмечены жирными линиями. В заключение отметим, что из общей теории линейного программирования вытекает следующее утверждение. Лемма 7.2. Путь р={54, 52, ..., St U3 it=1 @ io =m в том и только том случае является критическим, когда соответствующим вершинам отвечают критические события, а дугам — напряженные работы.  ГЛАВА 8  ПРОСТЕЙШИЕ ЗАДАЧИ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ  8.1. МНОГОШАГОВЫЕ ПРОЦЕССЫ И РЕКУРРЕНТНЫЕ СООТНОШЕНИЯ  С основной идеей динамического программирования мы уже встречались в предыдущей главе при вычислении минимальных и максимальных сроков выполнения событий  сетевого графика Г(т, п, S, Г). Напомним, что для любого  152 
события 15-1, минимальный срок Ё являлся решением сле- дующей экстремальной задачи:  # = шах т (р), (8.1) peP;  где через РР обозначено множество путей из начальной вершины & в вершину & а под т(р) понимается взвешен- ная длина соответствующего пути. Аналогично при #58 оо  максимальный срок Ё& выполнения события # определяет- ся из условия  00 о t; = line — max T (p), (8.2) ЕР; . гдеР; — множество путей из вершины $ в конечную вер-  шину $, а величина ti принимается равной fF; о*  о Практическое использование формул (8.1) и (8.2) для анализа реальных сетевых графиков упирается в непреодо- лимые трудности, связанные с необходимостью определения для каждого #=1, т всех путей Р: ирРу. Если же рассмат- риваемую задачу трактовать как многошаговый процесс, то для вычисления указанных величин получаем следующие рекуррентные соотношения:  t; = max (ti, + Ts), (8.3) sent ty = min (#3, — т), (8.4) sEN;  в которых через №? и М; обозначены соответственно мно- жества дуг с началом и концом в вершине $. С помощью отих рекуррентных соотношений интересующие нас харак- теристики сетевого графика, как было показано в п. 7.4.3 (см. пример 7.6), определяются за несколько просмотров соответствующего списка дуг. Приведенный простейший пример показывает, насколько продуктивной может оказаться идея расчленения процесса принятия сложного решения. Систематическое изучение и развитие теории многошаговых процессов и отвечающих им рекуррентных соотношений привело к возникновению во второй половине 90-х годов нового математического направ- ления, получившего наименование динамического програм- мирования. Создателем этого паправления по праву счита-  153 
ется известный американский математик Р. Беллман, кото- рый не только получил основополагающие теоретические результаты, но и изучил совместно со своими сотрудниками многочисленные приложения к различным экономическим, техническим и чисто математическим задачам. В этой гла- ве мы ограничимся рассмотрением лишь нескольких при- меров задач динамического программирования, непосред- ственно примыкающих к содержанию настоящей книги.  8.2. ЗАДАЧИ ОБ ОПТИМАЛЬНОЙ ЗАГРУЗКЕ РЮКЗАКА  Исследуемые здесь модели имеют многочисленные приложения, в частности к задачам рационального раскроя промышленных материалов, с простейшими примерами ко- торых читатель познакомился в гл. 1 (см. п. 1.1). В лите- ратуре по динамическому программированию соответству- ющие экстремальные задачи принято называть задачами о загрузке рюкзака. 8.2.1. Для постановки интересующих нас экстремальных задач позволим себе воспользоваться сказочной интерпре- тацией. Во многих старинных сказках доброму молодцу за спасение малолетнего царевича предлагают выбрать из цар- ского хранилища любые ценности, которые он сможет унести. Если при этом в хранилище имеются предметы т типов, то выбираемый набор характеризуется т-мерным вектором  t= (x1, X2, Lm) (8.5)  с целыми неотрицательными компонентами, характеризую- щими количества выбираемых предметов каждого типа. Предполагается, что все предметы типа # имеют одина- ковый вес 4; и одну и ту же ценность с;. При этом, не ума- ляя общности, можно считать, что 4, <4<...<м и с < с. <...< с». В рассматриваемом в этом пункте про- стейшем варианте задачи об оптимальной загрузке рюкзака предполагается, что величина (0, характеризующая макси- мально допустимый вес набора, не меньше общего веса име- ющихся в хранилище предметов каждого типа. Если же это не так, то мы приходим к более сложному варианту, рас- смотрению которого посвящен следующий пункт. Задача В,. При заданных величинах  0<=91:<9:<...<9=<0, св <с.<...< т  154 
максимизировать линейную функцию т и (5) = > сут (8.6)  на множестве векторов (8.5) с целочисленными неотрица- тельными компонентами, удовлетворяющими условию  У 4.1, < 0. (8.7)  Поставленная задача относится к важному классу так называемых задач целочисленного линейного программиро- вания (сокращенно: ЦЛП), с которыми читатель познако- мится в гл. 12. Универсальных численных методов, позво- ляющих эффективно решать такие задачи, не существует. Поэтому весьма актуальным является выделение отдельных классов задач ЦЛИ, которые, с одной стороны, имеют прак- тическую значимость, а с другой — благодаря той или иной специфике позволяют предложить для их решения эффек- тивные численные методы. Один из таких классов образуют изучаемые в этой главе задачи об оптимальной загрузке рюкзака. Как и в общей теории задач ЦЛПИ, мы будем считать, что фигурирующие в условии (8.7) исходные величины 4; и О являются целыми. Заметим, что практически этого всегда можно добиться за счет выбора достаточно малой единицы измерения. При этом решение рассматриваемой задачи путем перебора всех допустимых наборов, как пра- вило, исключается ввиду громоздкости. Поэтому комплек- тование оптимального набора мы будем трактовать как многошаговый процесс, состоящий из последовательного выбора отдельных предметов. При этом в соответствии с общими принципами динамического программирования для решения интересующей нас исходной задачи рассмотрим О аналогичных задач  (2) = шахр (2), 2=1, 0,  xe Xz где через X, обозначено множество всех неотрицательных т  целочисленных векторов (8.5), для которых Dy 9i%;< 2. i=l  IIpn z<q°=q, mHomectBa X, допустимых наборов, очевид- но, содержат единственный нулевой вектор и, следователь- но, }(2)=0 для всех таких 2. Что касается 5е [4°, 0], то для них, как легко проверить, справедливы рекуррентные  155 
соотпошения  f (2) = max {e, + f(2— a)}, (8.8)  где через [, обозначено множество тех & для которых 4: = 5. Приведенные рекуррентные соотношения позволяют предложить простой численный метод для решения инте- ресующей нас экстремальной задачи. Соответствующий процесс состоит из двух этапов. На первом из них осуществ-  ляется так называемый прямой ход. Для всех 2 =4, О по формуле (8.8) последовательно вычисляют величины f(Z) и фиксируют индексы $#(2), на которых достигаются мак- симумы в (8.8). При этом в случае, когда указанный мак- симум достигается на нескольких индексах, в качестве #(2) принимается любой из них. Таким образом заполняются графы табл. 58. На втором этапе осуществляется так назы- ваемый обратный ход, с помощью которого определяется искомый неотрицательный целочисленный вектор (8.5), при котором и(х)=](0). Для этого в комплектуемый оптималь- ный набор в первую очередь включается предмет с номе- pom #(2,), отвечающим 2, =0О. Затем вычисляется величина 2. —21 — 9.) Если она оказывается меньшей, чем 4° = 4,,  то на этом процессе формирования оптимального набора оканчивается. В противном случае в указанный набор вклю- чается предмет с номером #(2.) и вычисляется величина Z3 = 2, — 442). Указанное комплектование оптимального па-  бора заканчивается на некотором шаге ‘уе М, на котором вычисляемая 2,,, оказывается меньшей, чем 4. В заключение этого пункта проиллюстрируем описанный алгоритм решения задач оптимальной загрузки рюкзака типа В, на числовом примере. Пример 8.1. В табл. 59 приведены величины 4; И С отвечающие задаче В,, в которой т=4, О=А45 и 9°=04, = —=7. Результаты первого этапа приведены в табл. 60. При этом номера предметов, которые на втором этапе (при  Таблица 58 Таблица 59 ¢ | P+1 | @+2 Q 1 234 К) | f(@°+ 1) | f° + 2) КО) 9; 7 10 12 16 s(q°) | tq? +4) | i(q° + 2) i(Q) Cj 11 152 26  156 
Таблица 60  2 7 8 9 40 4 12 43 4445 4647 18 19 f(z) 4 #44 #44 45 15 2 24 22 22 26 26 26 32 (2) 44 4 2 2 8 #38 44441444 2 20 24 22 23 24 25 26 27 28 2930 31 32 f(z) 32 33 36 37 №2 42 43 43 47 47 48 49 53 i(z) 4 4 2 4 #8 3 4 484441 38 2 33 34 35 36 37 38 39 404142 43 44 45 f(z) 54 57 58 63 63 64 64 68 68 69 70 74 75 i(2) 3 38 14 38 38 8 4 81483834  обратном ходе) последовательно включались в оптимальный набор, а также соответствующие величины 2 выделены по- лужирным шрифтом. Просматривая с конца выделенные столбцы табл. 60, находим искомый оптимальный вектор x* =(3, 0, 2, 0), а также отвечающую ему величину и (1*) = 1 (45) = 75. .2.2. В ряде случаев в приведенной задаче о рюкзаке искомый неотрицательный целочисленный вектор (8.5) по- мимо условий (8.7) должен удовлетворять еще дополнитель- ным ограничениям  д. < а, 1=1,т, (8.9)  где 4; — заданные натуральные числа. В связи с этим рас- смотрим следующую усложненную задачу о рюкзаке. Задача В,. При заданных положительных величинах Ч с, @& (1=1, т) и О максимизировать линейную функцию (8.6) на множестве векторов (8.5) с целыми неотрицатель- ными компонентами, удовлетворяющими ограничениям (8.7) и (8.9). Излагаемый здесь численный метод решения приведен- ной усложненной задачи о рюкзаке базируется на рассмот- рении двухпараметрического семейства экстремальных задач  fx (2) = шах р (2), 2 =4,, О, =1, т, (8.10) Е  хЕХ,  в которых через Х® обозначено множество неотрицательных целочисленных К-мерных векторов  4^ = (х., Da, oo oy Zn),  157 
Таблица 61  2 {1 (2) у, (2) ... Im (2) 4 (4) 4) ... fm(q?) e+ | лети | petty |... | tal +4) +2 | fg +2) | faa? + 2) f..(@ + 2) Qo (©) (0) - 10)  удовлетворяющих ограничениям № д: < 4; i=1,k; > 4:7} < 5.  Соответствующий вычислительный процесс, как и в случае задачи В,, разбивается на два этапа. Однако здесь на пер- вом этапе используется уже двухпараметрическое семейство функций gi(z)= min {[z/qi], d}, z= q:i,Q,i=1,m, (8.41)  в определении которых квадратные скобки означают целую часть соответствующего числа, например [5,75] = 5. На первом шаге процесса вычисляют величины  11 (2) = Ф1 (2), {1 (2) = Ф, (2) С1,'2 — 94°, 0. (8.12)  Найденные значения величин ]1(2) заносят в первый стол- бец табл. 61, а отвечающие им значения 2,(2) — в первый столбец табл. 62. Далее, используя рекуррентные соотно- шения fx(2) = шах X},(Z)=0, Pp (2)  {pCp, + ел (2 — ть4ь)}, 5 — 4”, ©, k = 2, т,  последовательно вычисляют интересующие нас значения Таблица 62  2 х, (2) х: (2) Xm, (2) q° 11 (94°) 2з(4°) 2т(9°) +1 11 (42 1) | 29-1) тт(4° - 1) Ф-2 11 (4? 2) | 22(9° + 2) 11 (4? -{ 2) Q 2,(Q) %o(Q) 2 (0)  158 
функций }, которые заносят в соответствующие столбцы табл. 64. Одновременно фиксируют величины 4%(2), при ко- торых достигаются максимумы, и заносят их в соответству- ющие столбцы табл. 62. На втором этапе осуществляется обратный ход. Сначала полагают 2„= 0. Для получения искомого вектора, для которого и (х)= }„(О0), используют информацию табл. 62. В комплектуемый набор в первую очередь включают пред- мет с номером #=т в количестве х„(2„) и подсчитывают величину 2—1 = 2. — Lm° Gm. ECM Zm—-1 > 4°, ТО в набор вклю- чают также предмет с номером #=т—1 в количестве Lm—1(Zm-1) И ПОДСЧИТыВают величину 2т_› = 2т-! — Хи-1@т-1 и т. д. Через конечное число шагов у< т, когда номер очередного включаемого в набор предмета {=1 или теку- щее значение 2,., < 4°, процесс заканчивается. Проиллюст- рируем описанный процесс на числовом примере. Пример 8.2. Рассмотрим задачу В,, которая отличает- ся от приведенной в примере 8.1 (см. п. 8.2.1) лишь нали- чием дополнительных ограничений (8.9), в которых а: = =, =2, 4, = 4. =1. В табл. 63 и 64 приведены результаты первого этапа процесса прямого хода. При этом в табл. 64 выделены определяемые на втором этапе величины 2, (2,) =  Таблица 63  2 fe (z) | fe (8) | fs (2) | fa (2 fi @) | fe @ | Лз (2) | fa @ 7 44 44 41 44 27 22 26 33 37 8 44 44 44 11 28 22 26 33 27 9 14 44 41 44 29 22 26 33 37 10 44 45 45 15 30 22 26 33 37 41 44 45 15 15 31 22 26 33 37 42 44 15 24 21 32 22 26 33 52 13 44 45 21 21 33 22 26 33 52 14 22 22 22 22 34 22 26 33 52 45 22 22 22 22 35 22 26 33 52 16 22 22 22 26 36 22 26 33 52 17 22 26 26 26 37 22 26 33 52 18 22 26 26 26 38 22 26 33 52 19 22 26 33 33 39 22 26 33 63 20 22 26 33 33 40 22 26 33 63 2A 22 26 33 33 44 22 26 33 63 22 22 26 33 33 42 22 26 33 67 23 22 26 33 37 43 22 26 33 67 24 22 26 33 37 44 22 26 33 73 25 22 26 33 37 45 22 26 33 73 26 22 26 33 37  159 
Таблица 64  ж: (2)| х, (2) | х, (2) | х. (7) Х: (2) | х, (2) | *з (2) | жа (2) 4 0 0 0 27 2 4 4 4 ; 4 0 0 0 28 2 1 4 4 9 4 0 0 0 29 2 4 1 4 10 4 4 0 0 30 2 4 4 4 11 1 1 0 0 31 2 4 4 4 42 4 1 4 0 32 2 4 4 2 13 1 1 4 0 33 2 4 4 2 14 2 0 0 0 34 2 4 4 2 45 2 0 0 0 35 2 4 4 2 16 2 0 0 4 36 2 4 4 2 17 2 4 0 0 37 2 4 4 2 18 2 4 0 0 38 2 4 4 2 19 2 1 4 0 39 2 4 1 2 20 2 1 4 0 40 2 4 4 2 24 2 4 4 0 41 2 4 4 2 22 2 4 4 0 42, 2 4 4 2 23 2 4 4 4 43 2 1 4 2 24 2 4 4 4 44, 2 4 1 2 25 2 4 4 4 45 2 4 4 2 26 2 4 4 4  —=2 и 1:(2.)=1, а также отвечающие им значения 2: = 45, 23 =49 — 16 Ж2 = 13, 2, =13—12=1. Таким образом, ouTH- M@JIbHEIM Hadop 3feCb xapakTepusyetca BeKTOpom x* =(0, 0, 1, 2), а /(0)= } (45) =73, что существенно отличается от результатов, полученных для той же задачи без дополни- тельных ограничений (см. пример 8.1).  8.3. РАСЧЕТ РАЦИОНАЛЬНОГО РАСКРОЯ ЛИНЕЙНЫХ МАТЕРИАЛОВ  8.3.1. В п. 1.6 в качестве одного из примеров кон- кретизации основной линейной модели производственного планирования была приведена задача о переработке комп- лексного сырья. Рассматриваемая здесь задача рациональ- ного раскроя промышленных материалов является ее част- ным случаем. При решении этой задачи возникают специ- фические трудности, связанные с перечислением возмож- ных способов раскроя единицы исходного материала. В слу- чае линейных материалов (полос профильного проката, труб и т. д.) отмеченные трудности преодолеваются с помощью решения на каждом шаге процесса последовательного улуч-  160 
шения нскоторой вспомогательной задачи 0б оптимальной загрузке рюкзака. Для определенности будем считать, что речь идет о рас- крое профильного проката, поступающего в виде полос по- стоянной длины [. Из этих полос при производстве неко- торого изделия необходимо вырезать т видов заготовок,  причем заготовки вида #=1, т имеют длину Н и их тре- буется для изготовления одного изделия А; штук. Предполагается, что при любых целых неотрицательных а1, @»,... @т, удовлетворяющих условию т У а: < Г, (8.13) i=1 из одной полосы можно вырезать набор заготовок, содер- жащий а; заготовок каждого вида $. Следовательно, возмож- пые раскрои поступающих полос характеризуются неотри- цательными целочисленпыми векторами  ©, = (@1, а», ..., @т), (8.14)  удовлетворяющими условию (8.13). Множество таких век- торов мы обозначим через А, и рассмотрим, кроме того,  т-мерный вектор В = (61, 6», ..., 6»),  отвечающий требуемому набору заготовок. Раскройный план определяется выбором некоторых рас- Kpoes a’, a’, ..., @ из Дь, а также вектора  х = (x4, Loy ony Zr) (8.15)  с пеотрицательными компонентами, указывающими, какое количество полос будет разрезаться по каждому из выбрап- пых раскроев в расчете на одпо изделие. Если при этом получаемый комплект заготовок совпадает с требуемым, т. е.  > ой = В, (8.16)  то раскройный план называется допустимым. Задача состоит в разыскании допустимого плана, при котором достигает минимума величина т ф (52) = Е 4=1 характеризующая расход материала на одно изделие. Дру- гими словами, на множестве допустимых раскройных пла-  6 5, д, Мухачева, Г. Ш. Рубинштейн 161 
нов требуется максимизировать линейную функцию Ш Ц (5) —= — a Lj. (8.17) I=  Нетрудно проверить, что при выполнении естественного требования maxl,< J, (8.18)  i=1,m  означающего возможность получения из поступающих по- лос всех требуемых заготовок, в задаче всегда имеются до- пустимые раскройные планы. Действительно, ввиду (8.18) при любом $=1, т из полосы может быть получено неко- торое число 4;>1 соответствующих заготовок. Но тогда элементарные раскрои  ой = (аа; аз»... а»;), ]=1,т, (8.19) где О при #52 }, a la при # = em) вместе с вектором О (ь, 6, в") t= (= d,’ ат, (8.21)  определяют некоторый допустимый раскройный план. Так как, кроме того, максимизируемая линейная фупкция (8.17) на множестве допустимых раскройных планов, очевидно, ограничена сверху нулем, то исследуемая задача и двойст- вепиая к ней являются разрешимыми (см. теорему сущест- вования в п. 2.4).  Множество К = {#,, №,,...ЁКт} номеров раскроев а = Аг, как и в общем случае, называется базисным, если соответ- ствующие векторы образуют базис в В". Каждому базис- ному множеству К < А, отвечает некоторый вектор  х(К) = (ть, Thay ees Ти), (8.22) компоненты которого однозначно определяются из условия т Е a Lp % * = В. (8.23) $=—  Если при этом 2», 20, ;=1, т, т. е. множество К и отве- чающий ему вектор (8.23), удовлетворяющий условию (8.23),  162 
определяют допустимый раскройный план, то К называется допустимым базисным множеством (ДБМ). Точно так же каждому базисному множеству Кс А, отвечает некоторый  вектор у (К) — (у, Yo, sony Ym) ’ (8.24)  который однозначно определяется из системы линейных уравнений  а, y(K)>) =1, s=1,m. (8.25) Если при этом для всех BeKTOpOB @@= A, MMeCT MECTO He-  равенство <a, y(K)> <1, (8.26)  то рассматриваемое базисное множество называется двойст- венно допустимым (ДДБМ). Если же базисное множество К< А, является одновременно допустимым и двойственно допустимым, то оно вместе с отвечающим ему вектором (8.22) определяет оптимальный (наиболее экономный) рас- кройный план, а вектор (8.24) представляет решение двой- ственной задачи. Лемма 8.1. Если отвечающий базисному множеству К вектор (8.24) имеет, по крайней мере, одну отрицательную компоненту, например У; < 0, то такое базисное множество не является двойственно допустимым. При этом легко стро- ится раскрой a А,, для которого имеет место строгое не-  равенство <a’, y(K)> > 1. (8.27)  Доказательство. Предварительно отметим, что все векторы ©&е А, являются неотрицательными и целочислен- ными, причем множество А, вместе с каждым вектором  (8.14) при любом & = 1, т содержит вектор a” = (ал, soe @1 —1» 0, Qj +1» a | @т).  Предположим теперь, что отвечающий базисному множеству К = {k,, К», e 0 9 Kem}  вектор У(К)=(ун, У», ..„ Уп) имеет хотя бы одну отрица- тельную компоненту, например с номером &. Требуется .› о о показать, что тогда найдется такой вектор & Е Д,, для которого имеет место неравенство (8.27). Для этого заме- тим, что среди базисных векторов найдется такой вектор в- 5 — Oo ~~ (ат, ао, .’ -24m)s  6* 163 
для которого a; >0, так как в противном случае эти век-  торы были бы линейно зависимыми. Но тогда для указан- ного выше вектора ©° имеет место неравенство  (a°, y (K)) = (a, y (K)) — 04,01, > ts  означающее, что рассматриваемое базисное множество, как и утверждалось, не является двойственно допустимым. Переходя к изложению численного метода, отметим, что рассмотренные выше элементарные раскрои (8.19), опреде- ляемые условием (8.20), образуют некоторое ДБМ К, для которого вектор х(К) совпадает с вектором (8.21). Поэтому в данном случае при реализации прямого метода последо- вательного улучшения (см. п. 3.2) в качестве исходных могут быть приняты указанное ДБМ К и отвечающий ему вектор (8.24). Напомним, что на каждом шаге прямого метода после- довательного улучшения имеются пекоторое ДБМ К и от- вечающий ему вектор (8.24). Исходя из этих исходных данных выполняются следующие процедуры. Г. Определение вектора у(К). Этот вектор, как и в 0б- щом случае, находится из системы (8.25). П. Проверка двойственной допустимости ДБМ К. В этой процедуре требуется проверить выполпение неравенств (8.26) для всех раскроев ое А,. При этом возможны два случая. (а) Указанные неравенства выполпяются для всех а= =А,, т. е. ДБМ К является также двойственно допусти- мым. Тогда имеющийся раскройный план будет оптималь- ным, а вектор у(К) представляет решение двойственной задачи (процесс на этом заканчивается). (6) Для некоторго раскроя хе А, имеет место строгое неравенство (8.27), т. е. ДБМ К не является двойственпо допустимым. Тогда необходимо найти соответствующий рас- крой © °= А, и перейти к следующей процедуре. Остается пояснить, каким образом в рассматриваемой процедуре можно преодолеть трудности, связанные с опре- делением всех раскроев @@&A;z, которые возникают ввиду леммы 8.1 лишь в случае неотрицательности соответствую- щего вектора (8.24). В конечном счете нас интересует лишь вопрос о том, какой из двух возможных случаев имеет место для теку- щего ДБМ К. Кроме того, при реализации случая (6) необ- ходимо определить соответствующий раскрой a°= Ar. Bee это может быть сделано с помощью решения задачи макси-  164 
мизации линейной функции т <a, y(K)> = > уза: (8.28) iw  на множестве неотрицательных целочисленных векторов (8.14), удовлетворяющих условию (8.13). Но эта задача при неотрицательном векторе (8.24) лишь обозначениями отличается от рассмотренной в п.8.2 задачи об оптималь- ной загрузке рюкзака. Следовательно, с помощью изложен- ного выше простого процесса могут быть найдены величина  {(L) = max <a, y (K)), Q=Ay  a TaKoKe BeKTop @ © A,, Ha KOTOPOM JOCTUraeTCA указанный максимум. При этом ввиду (8.25)  {(L)2 1.  Если в последнем неравенстве достигается равенство, то это означает, что имеет место случай (а). Если же имеет место строгое неравенство, то мы находимся в ситуации (6). Тог- да, фиксируя найденный вектор ©’е А,, переходим к сле- дующей процедуре. ПТ. Вычисление коэффициентов разложения вектора ©’ по базиеным векторам. Искомые коэффициенты, каки в общем случае, определяются из системы линейных урав- нений  т s ac = >) gj’. i=]  При этом ввиду неотрицательности рассматриваемых век- торов, по крайней мере, один из коэффициентов будет по-  ложительным, т. е. Kt = {jl g; > 0} 5 $.  ГУ. Определение =*. Эта величина вычисляется по фор- муле 1. e* — min —, jekt 5) Фиксируя при этом *еК*, на котором достигается ми- нимум, переходим к заключительной процедуре. У. Подготовка информации к следующему шагу. Новое / ДБМ К получается путем замены в старом ДБМ К вектора о’ вектором &’, которому в дальнейшем удобно присвоить номер ]*. Что касается компонент нового вектора 2(K’), TO  165 
Таблица 65 они вычисляются по формулам  р р з| ма аа, вв a 1, 4 5 8 При этом и, 1 8 1 p(z(K")) = p(2(K))—  —e*[(a°, y(K))— 1]}<@(z(4)). Описанный процесс поясним Ha простом YWHCJIIOBOM при-  мере. "Пример 8.3. Пусть в задаче рационального раскроя т = 3, [1 =24, а величины [и К; совпадают с приведенны- ми в табл. 65. В соответствии с изложенным на первом шаге процесса последовательного улучшения в А включаются векторы  a! =(6,0,0), a?=(0, 4,0), a? =(0, 0,3),  отвечающие элементарным раскроям. Компоненты 01 с0- ответствующих векторов < указаны в первой части табл. 67, построенной по типу табл. 66. Там же приведены резуль-  Таблица 66 ay a} а) 11 41 yy Homep mara a? a? аз т qa Yq а? as as Lg 93 Уз a® ay a3 az, e* f(24) Таблица 67 Шаг 1 6 0 0 0,167 0,167 0,167 0 4 0 2,000 4,000 0,250 0 0 3 0,333 0 0,333 4 4 0 2,500 1,000 1,67 1 4 0 1,000 0 0 Шаг а 0 4 0 1,000 0,750 0,250 0 0 3 0,333 0,333 0,333 0 3 4 2,333 1,000 1,083 Шаг 3 1 4 0 1,000 — 0 0 4 0 0,250 — 0,250 0 3 1 1,000 — 0,250 — — — 2,250 — 1,000  166 
Таблица 68  2 4 [57| 8 | 9 [10,41 | 12 | 43 | 44 | 45 _. | i(2) | 0,167 | 0,250 | 0,334 | 0,417 | 0,500 | 0,504 | 0,584 | 0,667 | 0,750 | @ | 4) 2] 4] 4) 2] 2] 47 47 2 = z | 46 | 147 | 18 | 149 | 20 | 24 | 22 | 23 | 24 i(z) | 0,750 | 0,754 | 0,834 | 0,947 | 1,000 | 1,000 | 1,004 | 1,084 | 1,167 i, 2/'4}] 4] 4] 2] 2] 4] 47 4 a} 2 |5—7/89 |40—12/13—14/15—17] 18,19 }20—22] 23 | 24 м | f(z) | 0,250 | 0,333 | 0,500 | 0,583 | 0,750 | 0,833 | 1,000 | 1,083 | 1,083 S| i, 2|'3 1] 2] 2] 2] 72] 2 |] 72 ]'2 г | 2 |5—7/8,9 [10—42] 43,44 15—47] 18,49 [20—22] 23 | 24 & | f(z) | 0,250 | 0,250 | 0,500 | 0,500 | 0,750 | 0,750 | 4,000 | 4,000 | 4,000 S| i, 2/ 2] 2] 2] '2]'2]"%2 ]7*e |e  таты первого и двух следующих шагов прямого метода последовательного улучшения. Динамические шкалы, с по- мощью которых решались вспомогательные задачи опти- мальной загрузки рюкзака, приведены в табл. 68. При этом в первых двух из них, где 7(24)>1, выделены номера за- готовок, которые при обратном ходе последовательно вклю- чались в оптимальные наборы.  8.4. ГИЛЬОТИННЫЙ РАСКРОЙ ЛИСТОВОГО ПРОКАТА  Здесь рассматривается още один класс задач рацно- нального раскроя, в которых с помощью идей дипамиче- ского программирования удается преодолеть трудности, свя- занные с построением используемых раскроев поступающего материала. Современную автомобильную промышленность, транспорт- ное и сельскохозяйственное машиностроение, авиационную промышленность, а также производство металлоемкой бы- товой техники (холодильников, стиральных машин, элект- рических и газовых плит и т. д.) невозможно представить без мощных прессов, позволяющих методом холодной штам- повки за считанные секунды получать детали самых слож- ных копфигураций. Используемый при этом листовой про- кат на промышленных предприятиях раскраивается на тре- буемые заготовкп, как правило, па гильотинных ножницах.  167 
Важной технологической особенностью этого оборудования является то, что с его помощью можно осуществлять только сквозные резы. Это означает, например, что на гильотинных ножницах не может быть реализована карта раскроя, изобра- женная па рис. 10, в которой из квад- ратного листа 1000Х 1000 получаются Рис. 10. четыре прямоугольные заготовки длиной 650 мм и шириной 350 мм. Кроме того, на таких ножницах обычно делаются лишь резы, парал- лельные кромкам разрезаемого листа. Карты раскроя, удов- летворяющие перечисленным требовапиям, принято назы- вать гильотинными. Предположим теперь, что при производстве некоторого изделия из определенного сорта листового проката, посту- нающего в виде стандартных листов шириной Р и длиной 09, необходимо вырезать т различных прямоугольных за- готовок. Заготовки вида #=1, т имеют размеры р: Ха; и их требуется для изготовления одного изделия №; штук. При этом для определенности будем считать, что р: < 4.. Совокупность неотрицательных целочисленных векторов (3.14), отвечающих всем практически реализуемым картам раскроя поступающих листов, обозначим через Аро. Тогда интересующая нас задача будет отличаться от рассмотрен- ной в предыдущем параграфе тем, что вместо множества раскроев А, в ней фигурирует множество Ар. При выпол- нении естественного требования  шах р; <Р, max <Q,  i=1,m 3=1,т  означающего возможность получения из поступающих ли- стов всех требуемых заготовок, в поставленной задаче, оче- видно, всегда имеются допустимые раскройные планы. Про- стейший из них, как и в предыдущем случае, определяется вектором (8.21) и раскроями (8.19), удовлетворяющими условию (8.20). В качестве 4; в этих условиях могут быть приняты величины = (EYE) tna Pi} L%  где квадратные скобки обозначают, как и выше, целую часть числа. Указанные раскрои (8.19), очевидно, п в рассматривае- мом случае образуют некоторое ДБМ К. Принимая его в  168 
качестве исходного, мы можем приступить к выполнению процедур прямого метода последовательного улучшения, описанных в п. 3.3. При этом процедуры Т, Ш, ТУ, У не меняются. Однако проверка двойственной допустимости те- кущего ДБМ К в даппном случае уже не сводится к задаче об оптимальной загрузке рюкзака, которая была изучена в п. 8.2.1. Поэтому остаповимся oco6o на процедуре ПЦ. Так как здесь также справедлива лемма 8.1 (множество А, в ней следует заменить множеством Аро), то при на- личии у вектора (8.24), по крайней мере, одной отрица- тельной компопепты в процедуре П имеет место случай (6), и интересующий пас вектор @’е Ар, для которого спра- ведливо неравенство (8.27), легко строится. Если же вектор (8.24) является неотрицательным, то вопрос сводится к за- даче максимизации линейной функции (8.28) на множестве Аро. Для решения этой задачи мы опять-таки воспользуем- ся идеями динамического программирования. Для любых неотрицательных 5 и и через А, „ обозначим множество неотрицательных целочислеппых векторов (8.14), отвечающих различным гильотипным картам раскроя на требуемые заготовки прямоугольных листов, имеющих раз- меры 2 Хи. Если при этом множество  Г. и = {И р; < пи {2, и}, 4: < тах {2, и}} (8.29)  является пустым, то соответствующее множество ДА, u, оче- видно, состоит из одного нулевого вектора. Поэтому отве- чающие таким 2 > 0 ии 0 величины 1 (в, и) = шах (а, у(К)) (8.30) WEA, y равны нулю. Что касается 2 > 0 n u>O0, ana которых [; „= $, то для пих соответствующие величины (8.30), как нетрудпо проверить, связаны между собой рекуррентными соотношениями (2, и) = шах 1 (2, и),  — 3 (8.31) где 1: (2, и) = тах У; (8.32) ЕТ и № (2, и) = шах [](2’, и) Е 1 (2—2, и)], (8.33) v= 0,2 2 3 (21 и) = max [f(z,u’)+f(z,u—u’)]. (8.34) ш=| 0,5%  169 
Исходные величины р, 49, Р и О в практических слу- чаях, очевидно, можно считать всегда целыми. А тогда до- статочно ограничиться рассмотрением конечного числа _ве-  личин (8.30), отвечающих лишь целым 2 =1, Рии=1, 0. При этом в формулах (8.33) и (8.34) при вычислении соот- ветствующих максимумов также можно брать только це- лые 2’иш’. Далее, ввиду симметричности функции (8.30) достаточно вычислить ее зпачения только при 2 < и. Заметим еще, что если некоторые компоненты у; неот- рицательного воктора (8.24) равну нулю, то включение в карты раскроя соответствующих заготовок р. Х 4: пе может увеличить значения линейной функции (8.28). Поэтому та- кие заготовки в процедуре П могут быть исключены из рассмотрения. Другими словами, не уменьшая общности, можно считать, что все компоненты текущего вектора (8.24) являются положительными. Теперь мы можем продолжить изложение предлагаемых приемов проведения процедуры П в нетривиальном случае, когда соответстующий вектор (8.24) является нпеотрица- тельным. Для определепия величины [(Р, О), а также кар- ты гильотинного раскроя и отвечающего ей вектора ©’ Ар о, удовлетворяющего условию (8.27), если {(Р, О)>1, может быть использован следующий динамический процесс, кото- рый, как и в предыдущих случаях, состоит из двух этапов (прямого и обратного хода). На первом этапе этого процесса последовательно опре- деляются величипы (8.30) для всех патуральных z<P, и<0, 2< и. Одновременно фиксируется информация, пе- обходимая для проведения обратного хода. Если для теку- щих си и мпожество (8.29) является пустым, то полагаем  f(z, u)=0, $: и =0, 1, и =0.  Если же указанное мпожество не пусто, то соответст- вующая величина ](2, и) вычисляется по формулам (8.31) — (8.34). Если при этом ](2, и) =}1(2, и), причем максимум в (8.32) достигается на &еЕГ[,„, то полагаем s,,=4, Г, и — bo. При 1 (2, и) = ]ь (z, и) — 1 (2. и) + AC — 2, и) > 11 (2, и) полагаем 5, „=, #,,,=2,. А при ] (2, и) = }ь (2, и)= (а, и.) + 1 (2, и— и.) > [> (2, и), полагаем $, „ =3, 6 и = и.  олучаемые результаты можно разместить, как указано в табл. 69.  Так как для базисных векторов ое Ар имеют место равенства (8.25), то определяемая на первом этапе вели-  170 
Таблица 69 Таблида 70  2 1 1 ... Р i 3 7 13 и 1 2... Q P; 5 6 8 Ка, и) | (1, 1) 1,2)... КР, 0) а. 9 | 24 | 41 бт, и 511 812 *'°’ 5Р,9 ‘ teu th tis ... р, 0  чина /(Р, О) всегда не меньше единицы. Если она равна единице, то в процедуре П имеет место случай (а) и, сле- довательно, решение задачи на этом заканчивается. Если же /(Р, О0)>1, то гильотинная карта раскроя и отвечаю- щий ей вектор &’е Аро, для которого  (a°, y(K))=7(P, Q)>1, (8.35)  строятся с помощью обратного хода. Характер обратного хода, который в данном случае не- сколько сложнее, чем в рассмотренной задаче об оптималь- ной загрузке рюкзака, поясним на условном примере. Пред- положим, что речь идет о гильотинном раскрое стандартных листов 1000Х 2000 на прямоугольные заготовки, размеры которых кратны 90 мм. Тогда при переходе к соответствую- щим единицам измерения вопрос сводится `к раскрою ли- стов 20Х 40 на т видов заготовок, имеющих размеры р: Х qi, где р; и 4; — целые, причем  р:<9 р:<Р=20, G<Q=40, i=—1, m. В табл. 70 приведены габариты лишь тех заготовок, кото- рые будут использоваться в дальнейшем при обратном  ходе. Точво так же в табл. 71 приведена только та инфор- мация из табл. 69, которая нам фактически потребуется.  Таблица 74  и 1 2 5 6 8 999 44 121618 20 20 : 9 2% 924 14 101516 16 242024 24 40 suf 0 0 4 4 4 333 3 232 2 3 tpuj 9 0 3 7 48 554 8 69 6 2 16  171 
Таблица 72  11 12 4143 44 45 146 17 18 19 12 24  10  5 11 16  123 4 20 1620 9 40 20 24  18 24  24  24  10  24  11  11  15  24  16  33 2 3 16 9 2  13  13  1  и  8 ‚Ц  1 и  Допустим теперь, что на некотором шаге процесса последовательного улуч- шения для имеющегося неотрицатель- пого вектора (8.24) была построена табл. 69, выписки из которой приведе- ны в табл. 71, причем ](20, 40)> 1. При проведении обратного хода по- следовательно заполняются столбцы табл. 72. В первый ее столбец перено- сится последний столбец табл. 72. Так как при ЭТОМ $20, и =3 И фо = 16, то это озпачает, что для получения иско- мой карты раскроя необходимого ли- ста 20Х40 отрезать по длине 16 еди- ниц. В результате получаем прямо- угольники 16Ж20 и 20Х24. Эти раз- меры заносятся в свободные второй и третий столбцы табл. 72. Затем в табл. 72 переносим из табл. 74 $16, 20 =3 И Ив, 20 =9. Эта ин- формация означает, что от прямоуголь- ника 16Ж20 следует отрезать опять- таки по длине 9 единиц. В результате получаем прямоугольники 9Ж16 и 11Ж16 и соответствующие размеры заносим в четвертый и пятый свобод- ные столбцы табл. 72. Для следующего прямоугольника имеем $», 24 = 2, feo, в = =2. Это означает, что от него следует отрезать по ширине 2 единицы.  Таким образом, каждый прямоуголь- ник из табл. 72, для которого $; „ рав- но двум или трем, разрезается по ши- рине или по длине на два прямоуголь- ника, размеры которых заносятся в свободные столбцы таблицы. Если же 5:, . =0, то соответствующий прямо- угольник в искомой карте является отходом и, естественно, больше не ре- жется. Наконец, при $, „= и .=ь соответствующий прямоугольник ис- пользуется для изготовления одной заготовки с номером &.. Из построенной указанным образом табл. 72 легко определяется вектор 
aeApo, УДовлетворяющий условию (8.35). Достаточно рассмотреть стлобцы, в кото- рых 5,.=1, и подечитать, в СКОЛЬКИХ ИЗ НИХ ВЫ, „ СОВПа- дает с каждым из #=1, т. В данном случае этот век- тор, очевидно, имеет лишь три ненулевые компоненты  Рис. 11. аз = 3, a> = 3, ass = 2.  С помощью табл. 72 легко начертить также соответствую- щую раскройпую карту. Она приведена на рис. 11, где все размеры указаны с учетом принятого масштаба.  ГЛАВА 9  МАТРИЧНЫЕ ИГРЫ  9.1. ОБ ОДНОЙ МОДЕЛИ КОНФЛИКТНОЙ СИТУАЦИИ  9.1.1. В рассматриваемой модели участвуют две сто- роны со взаимно противоположными интересами. Эти сто- роны, именуемые игроками Ги П, независимо друг от дру- га выбирают способы поведения — свои стратегии. При этом предполагается, что каждой из сторон известны множество Х допустимых стратегий игрока Т, множество У допустимых стратегий игрока П, а также функции С, (5х, у), и С-(х, у), которые указывают, какой выигрыш получают игроки в случае, когда первый из них избирает стратегию хеХ, а второй — стратегию уе У. Отрицательное значение выиг- рыша при этом, естественно, трактуется как проигрыш. Вза- имная противоположность интересов выражается в том, что при любых хеХ иуе У имеет место равенство  G,(z, y)+G.(z, y)=9. (9.1)  Другими словами, выигрыш одного игрока совпадает с про- игрышем другого — его противника.  473 
Ввиду условия (9.1), игрокам достаточно знать только одну из функций, фигурирующих в этом. условии, например функцию выигрыша первого игрока, которая одновременно является функцией проигрыша второго игрока. Эта функция в дальнейшем обозначается буквой С без индекса. В общей теории игр описанную модель принято назы- вать игрой двух лиц с нулевой суммой. К этой модели при- водит исследование различных конкретных конфликтных ситуаций. Более того, как поясняется ниже, она оказывает- ся полезной также при изучении некоторых вопросов, в ко- торых одна из враждующих сторон является фиктивной. С описанной ситуацией приходилось сталкиваться еще задолго до появления современной теории игр. При этом считалось, что игроки могут осуществить правильный вы- бор своих стратегий лишь при наличии дополнительной информации о поведении противника. Поэтому каждая сто- рона из каких-либо побочных соображений предварительно определяла стратегию, которую, по ее мнению, применит противник. Такие стратегии обычно находились из вероят- ностных соображений. Другими словами, игрок [Г предва- рительно определял некоторую усредненную стратегию ус, = =У, а игрок П — усредненную стратегию х.,еХ. Затем свои «наилучшие» стратегии дн ЕХ и у, ЕУ стороны на- ходили из условий  а (ты, Уср) — max а (z, Yop) (9.2) xe xX G (Zep, Yu) = minG (Zep, у), (9.3) уЕУ  сводящихся к решению соответствующих экстремальных задач. При использовании вычисленных стратегий игроки | и [П, естественно, рассчитывали на выигрыши в размере С (ть, Ур) и С(2ер, Ун). В действительности же при исполь- зовании стратегий 7, = игрок 1 может быть уверен лишь в том, что его выигрыш будет не меньшим, чем  Ц (тн) = inf G (тн, У). yveY Ananormuno urpox II upm ucnonb30panuu cTpaterun y,& Y  может быть уверен лишь в том, что он проиграет не боль- ше, чем  У (Ув) = sup С (т, Ун),  174 
т. е. выиграет не менее, чем —*(у„). А это означает, что реально получаемые игроками выигрыши могут оказаться существенно меньшими, чем расчетные величины С (ть, Уер) и — С (хер, Yu). Отмеченный недостаток традиционного подхода не лик- видируется и в том случае, когда каждый игрок предвари- тельно определяет вместо копкретной стратегии противпика некоторую вероятпостную функцию на множестве всех его стратегий. При этом, естественно, «наилучшие» стратегии Лн И У, находятся уже из условия достижения максимума и минимума соответствующих математических ожиданий выигрыша и проигрыша. 9.1.2. Принципиально новый подход к анализу описан- ной ситуации используется в современной теории игр, осно- вы которой золожены Нейманом в 1928 г. В этом подходе качество стратегий игроков оценивается с точки зрения результата, отвечающего наименее благоприятному поведе- нию противника. В связи с этим вводятся функции  u(r) =inf G(z,y), хеЕХ, (9.4) yoY v(y) = supG(z,y), уеУ. (9.5)  Первая из них характеризует величину гарантированного выигрыша игрока [ при использовании им стратегий хеЕХ, вторая — максимально возможный проигрыш игрока П при использовании им стратегий уеЕУ. Естественно, игрок | заинтересован в максимизации функции (9.4), а игрок Пр— в минимизации отвечающей ему функции (9.5). IIo- этому свои оптимальные стратегии х*еХ и у*еЕУ игроки Ги П находят из условий  ы (5*) = шахи (5) = шах ШЕ С (5, у), (9.6) х=Х x=X yoY v (y*) = min v (y) = min sup G (z, У). (9.7) х=ЕХ у=ЕУ хех  Указанный подход принято называть игровым. Выяснение Условий его применимости к анализу игр двух лиц с ну- левой суммой базируется на следующем вспомогательном утверждении. Лемма 9.1. Каковы бы ни были множества Х, У и функ- ция а (х, у), определенная на произведении этих множеств, имеет место неравенство и? = зар 1шЕ @ (х, У) < ШЁ зар (х, у) = v°. (9.8) у=У х=Х  ХЕХ у>=ЕУ  175 
Доказательство. Ha осповании определения инфи- мума при любом хе Х имеем  inf G (x,y) <G(z, y). у=У  Но тогда при любом уЕТ и? = supinf G(z,y)< sup @ (х, у). xe  х=Х уЕУ Так как левая часть в последнем неравепстве от у не за- виспт, то она пе превосходит величины inf sup G(z,y)=v’, иЕУ х=Х что и требовалось показать. Допустим теперь, что для игры двух лиц с нулевой сум- мой в неравенстве (9.8) достигается равенство и, кроме того, у игроков имеются оптимальные стратегии дх*ЕХ и у*еУ, определяемые соотношениями (9.6) и (9.7). Пояс- ним, что тогда описанный подход следует считать оправдан- пым. Действительно, в рассматриваемом случае игрок Г при использовании своей оптимальной стратегии х* гарантиро- вап, что его выигрыш будет не меньше величины и, равной общему значению величин д°и ^\”. Рассчитывать на боль- ший выигрыш у него нет оснований, так как у игрока П имеется стратегия у*, при которой он проигрывает пе боль- ше той же величины #. По аналогичной причине игрока П должна устраивать стратегия у*. Из двух сделанных предположений основным является достижение равенства в неравенстве (9.8). Если при этом У одного из игроков или у них обоих не существует опти- мальных стратегий, то и тогда указанный подход можно считать оправданным. Хотя в этом случае, по крайней мерс, У одного из игроков нет возможности гарантировать дости- жение величины ий = д’ =\°, но для любого = > 0 опи мо- гут найти стратегии х. Е Х иу. < У такие, что  и (х.)>и—в, у(у.) Зи.  При использовании этих стратегий получаемый эффект сколь угодно мало отличается от того, на который игроки могут рассчитывать. Что касается игр двух лиц с нулевой суммой, для ко- торых в соотношении (9.8) имеет место строгое неравенст- во, то в таких играх естественно стремление игроков про- двинуться как можно дальше по ничейному интервалу (м”, у). А это озпачает, что игрок | не будет довольствоваться  176 
выпгрышем в размере w°, а игрок П не будет соглашаться на проигрыш в размере у”. Таким образом, описанный под- ход к анализу игр двух лиц с нулевой суммой можно счи- тать оправданным лишь в том случае, когда для соответ- ствующих функций С (х, у) в неравенстве (9.8) достигается равенство, т. е. и’=у°. Про такие игры говорят, что они имеют цену (латинский термин уашт). В качестве таковой принимается общее значение величин р” и %°, которое обозначается символом иа[ или одной латинской буквой и. Если же, кроме того, у игроков имеются оптимальные стра- тегии, т. с. такие стратегии х* ЕХ иу*е У, что pw (z*) = v(y*) =, то игра называется замкнутой. 9.1.3. Выделенный класс замкнутых игр можно охарак- теризовать на языке так называемых седловых точек. Пусть вещественпозначная функция G(z, y) определена па произведении ХХ У двух произвольных мпожеств Х и У. Про элементы z*@ X и у*еЕУ говорят, что опи образуют седловуто точку (1%, у*) рассматриваемой фупкцпи, если при любых хеХ иуе У имеют место неравенства  С (т, у*) С (1*, у*) < С (1*, у), т. е. тах С (5, у*) = С (1*, у*) = шша (2*, и. (9.9) хеХ уЕХ  Такое наименование связано с тем, что в случае, когда Х и Ур— множества вещественных чисел, график функции С (х, у) в окрестности точки (5*, у*) имеет форму седла (см. рис. 12). Следующая теорема показывает, что выделепный класс замкнутых игр совпадает с клас- сом игра двух лиц с нулевой сум- мой, в которых функции выигры- ша С (х,у) имеют седловые точки. Теорема 9.1. Пусть в игре двух лиц с нулевой суммой Х и У— множества допустимых стратегий игроков, а определенная на их произведении функция С@(х, у) является функцией выигрыша иг- рока Т. Тогда эта игра будет замкнутой в том и только том случае, когда функция С(т, у) имеет, по крайней мере, одну сед- ловую точку. При этом если Рис. 19.  177 
стратегии 1*еХ и у*еТ являются оптимальными, то (1*, у*) — седловая точка функции С (х, у). Паоборот, если (1*, у*) — седловая точка, то стратегии х*еХ и у*еЕУ будут оптимальными. . Доказательство. Пусть игра является замкнутой, и 2*=ЕХ, у*е У— оптимальные стратегии игроков. Тогда  в (2*) = 11ЕЁС (2*, У) =и= sup G (x, y*) = v(y*). (9.10) y=Y x=  С другой сторопы, на основании определения инфимума и супремума имеем  шЕ 6 (2*,/) < @(2", у*) < зарб (т, у*). — (9.11) y=Y x=)  где крайние члены ввиду (9.10) равны одной и той же ве- личине у. Поэтому в неравенствах (9.11) достигаются ра- венства. А это означает справедливость соотношений (9.9). Таким образом, точка (72*, у*) является седловой. Для доказательства обратного утверждения предполо- жим, что элементы 2*ЕХ и у*еУТ образуют седловую точку функции С(х, у), т. е. удовлетворяют соотношению (9.9). Тогда для величип У°’и и” имеем  v° = inf sup G(z, y) << шах (с, у*) = уЕУХ х=Х х=Х  = G (x*, y*) = minG (z*, y) < sup inf G(z,y) =p’. (9.12) УЕУ х=Х у=Уу  С другой стороны, на основании леммы 9.1 справедливо противоположное неравенство (9.8). Поэтому в неравенст- вах из (9.12) достигаются равенства. А это озпачает, что рассматриваемая игра является замкнутой, причем 2*еХ и у*=е У — оптимальные стратегии игроков Ги П. Это за- вершает доказательство теоремы. Большая заслуга Неймана заключается в том, что оц не только предложил новый подход к анализу конфликтных ситуаций, но сумел выделить важный класс игр двух лиц с нулевой суммой, к которым применение этого подхода мозкно считать оправданным. Другими словами, он доказал, что функции выигрыша во всех играх выделенного им класса имеют седловые точки, т. е. все эти игры являются замкнутыми.  9.2. КЛАСС МАТРИЧНЫХ ИГР  9.2.1. Прежде чем перейти к формальному описа- нию интересующего нас класса игр двух лиц с нулевой сум- мой, остановимся на анализе известной игры «герб — ре-  178 
шетка». В этой игре один из партнеров — игрок ТГ — кладет на стол монету кверху гербом или решеткой и прикрывает ее ладонью. Второй партнер — игрок П — пытается угадать, как положена монета. Если он угадывает, то игрок Г вы- плачивает ему некоторую сумму с > 0. В противном случае игрок П выплачивает игроку [ такую же сумму. Указан- ные элементарные акты повторяются многократно. Предположим теперь, что при многократном повторении элементарных актов игры игрок { каждый раз с верят- ностью 2. кладет монету кверх гербом и с вероятностью Х, — кверху решеткой. В свою очередь, игрок И с вероят- ностью у, называет герб и с вероятностью у. — решетку. Нас будет интересовать величина среднего выигрыша игро- ка [ (или, что то же, среднего проигрыша игрока ПТ) за один акт игры. При большом числе элементарных актов указанная величина, как известно, стремится к своему ма- тематическому ожиданию pw. Поэтому естественно считать, что в рассматриваемом случае игрок 1 в каждом акте игры выигрывает величину п, а игрок П проигрывает такую же величину. Учитывая, что игроки совершают свои выборы независимо друг от друга, математическое ожидание на 0с- новании соответствующих теорем из теории вероятностей может быть подсчитано по формуле  ц = 21, (-с) + 2нузс -Р ху, - ху, (—с) = —С(х! — 2) (у, —У,). Таким образом, в описанной конкретной игре допусти-  мые стратегии игроков характеризуются двумерными ве- роятностными векторами  х= (т, хз), Xi > 0, Lo, = 0, L,+2,= 1, (9.13) у= (У, Уз), У: 22 0, Уз > 0, У: у: =1. (9.14)  При этом функция выигрыша игрока |, определенная на произведении множеств Х и У, состоящих их векторов (9.13) и (9.14), имеет вид  G(x, y)=c(%1— 22) (Y2—Yr), с>0.  Нетрудно проверить, что в данном случае УЕХ  У(У) = з1р С (1, у) = су, — у.  179 
Ho тогда _ u° = sup p(z)=0, v= inf v(y) =0 (9.15) xeX уЕУ  и, следовательно, рассматриваемая игра имеет цепу и=0. Далее, супремум и инфимум в (9.15) достигаются, очевид- но, на векторах  2* — (1/2, 4/2), у*=(4/2, 1/2). (9.46)  Следовательно, эти векторы определяют оптимальные стра- тегии игроков. Использование стратегий (9.16) означает, что игроки с равными вероятностями выбирают герб или решетку. Поэтому если игроки в каждом элементарном акте осуществляют свои выборы и путем подбрасывания монеты, то тем самым они реализуют свои оптимальные стратегии. 9.2.2. Перейдем теперь к общему описанию интересую- щего нас класса игр двух лиц с нулевой суммой. Пусть  1= {1, п}, 1={4, т} (9.17)  и допустимые стратегии игроков характеризуются соответ- ственно п- и т-мерными вероятностными векторами  X = {a= (yy typ + 4-220) |S, JST, B z= A}, (9.18) IE Y= {y = (Yi, Ya)s ++ Um) [Yi 0, TET, + у: = i}. (9.19) =  При этом выигрыш игрока [1 и проигрыш игрока П при любых хех и уеУТ вычисляется с помощью билинейной функции  @ (2, у) = Х Мазь (9.20)  1=У 3=1  где а, — заданные вещественные числа. Такая игра, оче-  видно, однозначно определяется заданием прямоугольной матрицы  А = [а 1, ег. (9.21)  В связи с этим указанные игры принято называть матрич- ными.  Рассмотренная выше конкретная матричная игра, ха- рактеризуемая матрицей  —с с с —с/' являлась расширением элементарной игры двух лиц с ну-  левой суммой, в которой каждый из игроков имел всего по две допустимые стратегии. Точно так же произвольную 
матричную игру, характеризуемую матрицей (9.21), можно рассматривать как расширепие пекоторой игры двух лиц с нулевой суммой, в которой допустимыми стратегиями игроков будут множества (9.17), a функция выигрыша нгрока [1 имеет вид  С° (7, t) = ay.  В связи с этим векторы ХЕХ и ySY, имеющие лишь по одной отличной от пуля компопенте (равной едипице), при- нято называть чистыми стратегиями, а остальные векторы тЕХ и уе У — смешанными стратегиями. Чистые страте- гии игроков в дальнейшем обозначаются через ег и ет, где и} — номера ченулевых компонент. Лемма 9.2. МВ случае игры, определяемой матрицей (9.21), величины (9.4) и (9.5), характеризующие качество стратегий, могут быть вычислены по следующим формулам:  u(x) = minG (x, ет) —= шш У Ai jXj, (9.22) $=1 ie!I jeJ v(y) = maxG (e, У) = шах >) ay; (9.23) jeJ jeJ icl  Доказательство. При любых хеХ, уеУ, учиты- вая определение множеств (9.18) и (9.19), имеем  (х, у) = Хх Уацхли = хи: У ат; > $=Т jeJ  iel jeJ  = (min > aij г) > У; = min > а;  $ЕТ ЕТ 4=Т 71=7 Поэтому uw (x) = inf G(x, у) >= ша Ха; (9.24) у=У $=ЕТ 7=/ С другой стороны, min >) 432; = minG(z, ет) > inf G(z, y), (9.25) ieI jeJd ЕТ y=Y  так как чистые стратегии ет образуют подмножество мно- жества У всех стратегий игрока 11. Из неравенств (9.24) и (9.25) следует соотношение (9.22). Аналогично проверя- отся справедливость соотношения (9.23). Приведем теперь формулировку основного результата теории матричных игр, доказательству которого посвящен  п. 9.3. 
Теорема Неймана. Какова бы ни была прямоугольная матрица (9.21), отвечающая ей матричная игра является замкнутой, т. е. билинейная функция (9.20), рассматривае- мая на произведении множеств (9.18) и (9.19), имеет, по крайней мере, одну седловую точку.  9.3. ДОКАЗАТЕЛЬСТВО ТЕОРЕМЫ НЕЙМАНА  9.3.1. Приводимое здесь доказательство базируется на использовании основной теоремы теории линейного про- граммирования (см. теорему двойственности, п. 2.3). Рассмотрим наряду с матричной игрой, определяемой матрицей (9.21), следующую задачу. Задача В. Максимизировать линейную функцию  и(7) = 2 (9.26) на множестве (пт 1)-мерных векторов HZ = (Xo, X14, ..-, Ln), (9.27) удовлетворяющих ограничениям 24,20, j=1, п, (9.28) n — 2 23+1=0, (9.29) п ~ —— 2 ат; — 20, i=T,m. (9.30)  Нас будет интересовать также двойственная задача, ко- торую в данном случае можно записать в следующем виде. Задача В*. Минимизировать линейную функцию  (и) — Ус (9.31) на множестве (т -+ 1)-мерных векторов У = (у, У:, ..., Ym), (9.32) удовлетворяющих ограничениям Yi = 0, i= 1, т, (9.33) с > и + 1=0, (9.34) 2 Wj —Y<0, j=in. (9.35) 
Нетрудно проверить, что в каждой из приведенных задач В и В* имеются допустимые векторы. Таковыми являются,  например, при 2 = min Qi, Y= max A,jBEKTOPH! X —=(xX, 1, el je , 0), y=(Yo, 1, 0, ... 0). Поэтому на основании след-  Я теоремы двойственности (см. п. 2.3) в рассматри- ваемых задачах В и В* существуют оптимальные векторы  д = (7.21... п), (9.36) у” — (yo, ут ce ey Ут), (9.37) причем w(x") = 25 = yo = v(y’). (9.38)  9.3.2. Оптимальные векторы задач В и В* теспо связа- пы с оптимальными стратегиями исследуемой матричной игры. Эта связь устанавливается следующими леммами. Лемма 9.3. Если вектор (9.36) является оптимальным в задаче В, то оптимальной будет также определяемая этим вектором допустимая стратегия игрока 1  д* = (121,22, ,..1 а), (9.39) причем  № (2*) = 2%.  Паоборот, если допустимая стратегия (9.39) оптимальна для игрока Т, то вектор (9.36), где хо = и (2*), является оптимальным в задаче В. Доказательство. Прежде всего установим связь между допустимыми стратегиями игрока [ и допустимыми векторами в задаче В. Учитывая определение множества Х, можно утверждать, что при любой допустимой стратегии  T= (Ly, Lr, +) Tn) (9.40)  расширенный вектор (9.27) с добавленной компонентой Т, = (5) является допустимым в задаче В. Поэтому  № = эры (2) <, (9.41) хех  гле через и’ обозначено максимальное значение линейной фупкции (9. 26) в задаче В. Далее, каков бы ни был допу- стимый вектор (9.27) в задаче В, получаемый из него век- тор (9.40), ввиду (9.28) и (9.29), определяет допустимую стратегию игрока 1. Отвечающая этой стратегии величина  183 
(9.4), в силу леммы 9.2 и условия (9.30), удовлетворяет неравенству  и (2) = ша Ха; > 2 = и (=). igI jeJ  Но тогда, ввиду произвольности допустимого вектора (9.27), имеем  p° = sup p(x) > xa X  откуда с учетом ранее _выведенного неравенства (9.41) по-  лучаем равенство 11° =”. Предположим теперь, что вектор (9. 36) является опти- мальным в задаче В, т. е. w(x” )=25= и». Тогда для до- пустимой стратегии (9.39) на основании предыдущего имеем  > (2*) > щ = =,  Это означает, что АИ и, следовательно, допустимая стратегия (9.39) является оптимальной. Для доказательства второй части леммы предположим, что стратегия (9.39) является оптимальной, т. е. дц (2*) =’. Тогда для отвечающего ей допустимого вектора (9.36), где  20 = (2*), на осповании предыдущего имеем —0_ —/— * о -9 № 2 (т) = =p(2*) =p =p.  откуда следует оптимальность указанного допустимого век- тора (9.36). Это завершает доказательство леммы. Лемма 9.4. Если вектор (9.37) является оптимальным в задаче В*, то оптимальной будет также определяемая этим вевтором допустимая стратегия  * — (Ул...) Ут) (9.42)  игрока П, причем %(у*) = у. Наоборот, если допустимая стратегия (9. 42) оптимальная для игрока П, то вектор  (9.37), где Yo = у (у*), является оптимальным в задаче В*. Доказательство этой леммы предлагается читателю провести самостоятельно, используя рассуждения, апалогич- ные приведенным в доказательстве леммы 9.3. 9.3.3. Доказательство теоремы Неймана. Как уже отмечалось, в задачах В и В* всегда существуют опти- мальные векторы (9. 36) и (9.37), причем эти векторы имеют  * равные компоненты Lo и Уо. На основании лемм 9.3 и 9.4  184 
отвечающие этим оптимальным векторам допустимые стра- тогии (9.39) и (9.42) являются оптимальными для игроков Ти П, причем  и (2*) = 20 = у = У (у*). (9.43)  Таким образом, в дапном случае у игроков Ги II пмеются оитимальные стратегии. Кроме того, ввиду (9.43) в пера- венстве (9.8) из леммы 9.1 достигается равенство, означаю- lee существование цены в исследуемой игре. Следователь- по, рассматриваемая игра будет замкнутой и теорема до- казана. Замечание. При доказательстве теоремы Неймана по- путно было показано, что каждая матричная игра эквива- лентна некоторой паре двойственных задач линейного про- граммирования, а это означает, что для решения матричных игр (определения цены игры и вычисления оптимальных стратегий) можно использовать изученные выше конечные методы линейного программирования.  9.4. КОНЕЧНЫЕ МЕТОДЫ РЕШЕНИЯ МАТРИЧНЫХ ИГР  В п. 9.3 было показано, что решение матричной игры, определяемой матрицей (9.21), сводится к решению пары двойственных задач В и В*. При этом оказывается, что для соответствующих задач линейного программирова- пия исходные допустимые базисные множества легко строят- ся из примитивных соображений. Таким образом, здесь но требуется предварительно решать вспомогательные задачи. Нроиллюстрируем сказанное на конкретном числовом примере, который будет решаться с помощью прямого ме- тода последовательного улучшения (см.п. 3.2). Пример 9.1. Найти оптимальные стратегии игроков и цену матричной игры, определяемой прямоугольной мат- рицей  15 0 7 А=| 8 2 103. 4 3 3 2  Искомые оптимальные стратегии, как мы знаем, совпа-  дают с решепиями следующей задачи линейного програм- мирования и двойственной к ней.  185 
Задача В. Максимизировать линейную функцию в (2) = 2 на множестве векторов Я = (то, 1, Хо, Та х.), Удовлетворяющих ограничениям 1,20, ]=1, 4, —2%,—2%,—-2;—2,+1=0, Xi, + 52, + 7х, — х > 0, Вх, + 2x7, | 10х, + 3х, — ж > 0, Ax, + 3x, + 32, + 227,—2,20. Для возможности применения описанного в п. 3.2 пря- мого метода последовательного улучшения с помощью стан- дартных приемов приводим задачу В к несимметричной ка-  нонической форме. Задача В. Максимизировать функцию  ~~ ’ т р (=) — То — Xo на множестве неотрицательных векторов  ~ o м  удовлетворяющих ограничениям 2020, 2020, 2; >0, } =1,7, —2%,—2%,—2X%3—-2,+1=0, — 29+ 29+ 2,+52,+ 7x,—2, = 0, — x9 + t+ 8x, + 2x, + 1025 + 3x, — x, = 0, — то +25 + 4x, + 32, + 37, + 22,—2, = 0.  Исходные данные разместим в табл. 73, построепиой по типу табл. 7 (см. п. 3.2). Исходя из допустимой чистой стратегии х = (1, 0, 0, 0), находим допустимый вектор < = (1, 1, 0, 0, 0) для задачи В. Ему отвечает, очевидно, следующий допустимый вектор в задаче В: х = (1, 0, 1, 0, 0, 0,0,7,3), для которого и (5х) == 4. Эти данные, а также соответствующее ДБМ К = {0”, 1, 6, 7} приведены в первой части табл. 74, построеппой по типу табл. 8. Таким образом, имеется вся необходимая информа-  186 
Таблица 73  |  j \| 0’ 0” 1 2 3 4 5 6 7 3 1 0 Оф 1 — —-1 0 0 0 |1 2| —1 1 1 5 0 7 — 0 о 10 3| -—1 1 8 2 10 3 0 —41 0 | 0 4| —1 1 4 3 3 2 0 о — 0 a 1 — 0 0 0 0 0 0 о -  ция для проведения первого шага процесса последователь- ного улучшения. |  Получаемая в процессе решения задачи В информация приведена в соответствующих графах табл. 74 и 75. Послед- ияя из них построена по типу табл. 9 (см. п. 3.2). На третьем шаге процесса вычисляемые в процедуре 11 величины 2; оказываются неположительными. Это означает, что соответствующее ДБМ К = {0', 1, 6, 2} является также двойственно допустимым. Следовательно, отвечающие ему векторы &(К)= (3,400; 0; 0,400; 0,600; 0; 0; 0; 1,000; 0), i (KX) = (3,400; 0,200; 0; 0,800) будут оптимальными в зада- че В и двойственной к ней задаче. Таблица 74  Шаг 14 Шаг 2 Шаг 3 0714 —6 4 | 0’| 3,250 | —0,250 | 3,250 | 0’| 3,400 | —/ 3,400 4/4 4 414 | 0,625 0,375 | 0,250 | 1 | 0,400 | —| 0,200 6 |7 41 0 | 6 | 2,875 3,125 | 0 6 | 1,0001 —0 713 8 0 | 4 | 0,375 0,625 | 0,7501 2 10,600 | —1| 0,800 7 11,000 0,375 | —| 4 | 3,250 0,600; — | —1| 3,400 — Таблица 75 0° 0” 4 2 3 4 5 6 7  Шаг 1 0 0 О 4,00 — 6,00—1,00 0 0 4  Шаг? | 0 0 O 0,25 —4 O —0,25 0 —0,75 | 2  War3 | 0 0 0 0 =—4 —0,40—0,20 0 —0,80|—  187 
Учитывая теперь связь задачи В с интересующей нас матричной игрой, можно утверждать, что ценой этой игры является величина и = 3,400, а оптимальные стратегии игро- ков Ти П в ней определяются векторами х = (0,400; 0,600; 0; 0), у= (0,200; 0; 0,800).  9.5. ОБ ОДНОМ ИТЕРАТИВНОМ МЕТОДЕ РЕШЕНИЯ МАТРИЧНЫХ ИГР  9.5.1. При изложении численных методов линейного программирования отмечалось, что наряду с конечными ме- тодами, позволяющими с помощью конечного числа арифме- тических действий находить точные решения задач линей- ного программирования, существуют еще бесконечные схо- дящиеся процессы разыскания решений. Здесь мы позпако- мим читателя с одним из методов такого рода. Определяемая матрицей (9.21) матричная игра, как отмечалось, может рассматриваться как расширение элемен- тарной игры, в которой допустимые стратегии игроков обра- зуют конечные множества (9.17). В этой игре игроки неза- висимо друг от друга выбирают элементы }=/У u ie! Предположим, что указанная элементарная игра повторяется неограниченно. Тогда осуществляемые игроками выборы об- разуют две бесконечные последовательности  {in}nmi. {in}a=- (9.44)  При этом поведение игроков в течение первых Ё элемснтар- ных актов игры можно характеризовать смешанными стра- тегиями  eri, (9.45)  h4>  Ё к _ 1 js nh 4 т = Хе у Е.  8—1  1  где под ет ие), как и выше, понимаются соответствующие чистые стратегии игроков. Ясно, что при любом К имеет место неравенство  и (2*) << у(у’), (9.46)  где и — цена соответствующей матричной игры. Допустим теперь, что отвечающие последовательностям (9.44) смешанные стратегии (9.45) удовлетворяют условию  lim pw (z*) = lim v(y*) =v. (9.47) 
Тогда при достаточно больших Ё стратегии (9.45) по своим результатам сколь угодно мало отличаются от оптимальных. В связи со сказанным последовательности (9.44), для кото- рых векторы (9.45) удовлетворяют условию (9.47), принято называть разрешающими. Из приведенного определения не следует, что отвечаю- щие разрешающим последовательностям (9.44) векторы (9.45) образуют сходящиеся последовательности. Однако предельные векторы сходящихся последовательностей, как легко видеть, являются оптимальными стратегиями игроков. В излагаемом здесь методе дается некоторое правило по- строения разрешающих последовательностей (9.44) для любой матричной игры. Методологической основой метода служит следующее правдоподобное рассуждение Неймана. Пусть одна и та же конфликтная ситуация повторяется многократно, причем стороны при осуществлении своих выборов имеют информа- цию о предыдущем поведении противника. Тогда при оче- редном выборе способа поведения каждая сторона должна исходить из того, что поведение противника в дальнейшем пе изменится. Учитывая сказанное, американский математик Брауп предложил следующий способ построения последовательно- стей (9.44). В качестве первых членов принимаются произ- вольные элементы „ЕЛ ийе/. Далее, если К членов в этих последовательностях уже построены, то очередные члены выбираются из условий  G (et, y*) = max 6 (ei, 9’), (9.48) G(2*, ett") = min @(z", eb), (9.49)  в которых правые части на основании леммы 9.2 совпадают соответственно с величинами \(у’) и |(х“), отвечающими смешанным стратегиям (9.45). Спустя некоторое время другой известный американский математик Джулия Робинсон доказала, что получаемые указанным образом последовательности (9.44) удовлетворя- ют условию (9.47), т. е. являются разрешающими. В связи с этим рассматриваемый итеративный процесс построепия последовательностей (9.44) принято называть методом Брау- на — Робинсон. Приведем вычислительную схему реализации описанного метода. Прежде всего покажем, что условия (9.48) и (9.49)  189 
эквивалентны следующим.  h h Q;3,,, = шах 2) 44. (9.50) > В+ jeJ a 1571 h h а: ‚.;. = ша 2, ajj,. (9.51) Py +18 цел 2 vs  Действительно, на основании определепия (9.45) векто- ров 5“ и у" имеем  Ё Ё Е ; 8 j de 1 са) <[ 4.1 У 1 У.)  о R сд д.) = 4 Ye  s=]  Введем теперь следующие обозначения: h k ® В e hj — У aj te J, 8: = > @1},, Г = Г, (9.52) s=] $—  Ш = (5^), va=v(y"). (9.53)  В этих обозначениях условия (9.50) и (9.51), очевидно, имеют вид  в) = шах hj, (9.54) 8 = min gi. (9.55)  При этом величины (9.53), совпадающие с правыми частя- мив (9.49) и (9.48), определяются по формулам  4 4 Va =e hing Pa = = Sings (9.56)  Остается заметить, что величины (9.53) могут вычисляться с помощью рекуррентных соотношений  gi = aij, iel, hi = a3; jeJ, (9.57) git? — Bi + Qijnay a I, (9.58) Ва,» Jed. (9.59)  Takum образом, мы приходим к простой вычислительной схеме построения последовательностей (9.44), которая бо-  190 
Таблица 76  k Ik gt gt ge Up Up he ne nh he ip 1 1 1 8 4 | 1.000 | 7.000 4 50 71 2 4 8 11 6 | 3.000 | 7.000 2 10} O} 14 | 4 3 4 15 14 8 | 2.667 | 5.333 6 13} 3) 16} 3 4 4 22 17 10 | 2.500] 4.500] 10 16; 6) 18 | 3 5 4 29 20 | 12 | 2.4001 4.0001 14 19] 9| 20 |3 6 4 36 23 14 |2.333 | 3.667 | 18 221 12| 22 | 3 7 2 41 25 17 |2.429 | 3.574 | 22 25] 15| 24 | 3 8 2 46 27 20 | 2.500) 3.500} 26 28] 18] 26 | 3 9 2 of 29 23 | 2.996 | 3.444 | 30 31} 24] 28 | 3 10 2 96 31 26 | 2.600 | 3.400 | 34 34| 24| 30 | 3 11 1 57 39 | 30 12.7271 3.455 | 38 37| 27| 32 | 3 12 1 58 47 34 | 2.833] 3.500] 42 40] 30] 34 |3 13 4 59 55 38 |2.923 | 3.538 | 46 431 33| 36 | 3 14 1 60 63 42 |3.000 | 3.574 | 50 46| 36] 38 | 3 15 1 61 71 46 |3.067 | 3.600 | 54 49| 39] 40 | 3 16 1 62 79 50 13.425 | 3.625 | 58 521 42| 42 | 3 17 1 63 87 54 |3.1476 | 3.647 | 62 55| 45| 44 | 3 18 1 64 95 58 13.222 | 3.667 | 66 58| 48] 46 | 3 19 1 65 103 62 | 3.263 | 3.684 | 70 61| 51| 48 | 3 20 1 66 111 66 |3.300 | 3.700| 74 64| 54| 50 |3 21 1 67 119 70 | 3.190) 3.574] 75 69| 54| 57 |1 22 1 68 127 74 | 3.091 | 3.455] 76 74| 54| 64 |1 23 1 69 135 78 |3.000 | 3.435 | 77 79| 54| 714 |1 24 2 74 137 81 13.083 | 3.500] 78 84| 54| 78 |1 101 3.287 | 3.455 1004 3.370 | 3.407 9999 3.393 | 3.404 лее детально поясняется на примере, рассмотренном вп. 9.4. Пример 9.2. Указанная игра определялась матрицей 150 7 А=| 8 2 10 3 43 0 2  Первые члены в искомых последовательностях (9.44), как уже отмечалось, выбираются произвольно. Полагая ]1 =1,  1 =1, находим величины gi=ay,, #=1,8, hj=ayj,j = 1, 4, и заносим эти данные в первую строку табл. 76. На первой итерации по формулам (9.54), (9.55) и (9.56) находим  hi, = max {1, 9, 0, 7} = т, Jo — 4, Vi = 7, Bi, = min {1, 8, 4} = 1, ly = 1, py = 1  191 
и соответствующие величины заносим в табл. 76. Затем по рекуррентным формулам (9.58) и (9.59) вычисляем вели-  чины & и #2 и заносим их во вторую строку той же табли- цы. На второй итерации находим  й}, =шах{2, 10, 0, 14} =14, j,=7, v= 14/2=7, gi, = min {8, 11, 6} =6, =3, р, = 6/2 = 3,  а также величины 2 и № и заносим их в соответствующие графы табл. 76. Аналогично проводятся следующие итера- ции. В табл. 76 полностью приведены результаты первых 24 итераций, а также результаты некоторых последующих итераций. Из п. 9.4 (см. пример 9.1) мы уже знаем, что рассмат- риваемая игра имеет цену и = 3,400. Сходимость к ней при- веденных в табл. 76 величин д, и Vv, наблюдается, однако она, как мы видим, является весьма медленной. Таким об- разом, вычислительная схема описанного итеративного про- цесса проста, но для получения решения с достаточной точ- ностью требуется проделать очень большое число итераций.  ГЛАВА 10  ГЛАДКИЕ ЗАДАЧИ БЕЗУСЛОВНОЙ ВЫПУКЛОЙ ОПТИМИЗАЦИИ  10.4. ЕВКЛИДОВА МЕТРИКА  Предварительно папомним читателю используемые в дальпейшем сведения о евклидовых пространствах и функ- циях многих переменных. 10.1.1. Прежде всего приведем важное неравенство, уста- новленное выдающимся французским математиком Огюстом Луи Коши в 1824 г. Лемма 10.1. Каковы бы ни были векторы а и В из В", их скалярное произведение <a, 6> удовлетворяет нера- венству  <a, b>’ < (a, ad<b, bd, (10.1)  192 
в котором равенство достигается в том и только том случае, когда векторы а и В линейно зависимы. Доказательство. Предположим вначале, что рас- сматриваемые векторы а и 6 линейно независимы. Тогда при любом фе В на основании известных свойств скаляр- ного произведения имеем  0 < < b, tat+ b> =??<a, ad + 2t<a, b> + <b, DD.  Следовательно, дискриминант D =a, b>? — <a, a><b, b>  соответствующего квадратного трехчлена (относительно f) является отрицательным, т. е. в (10.1) имеет место строгое неравенство. Допустим теперь, что векторы а и 6 линейно зависимы. [сли хотя бы один из них является нулевым, то левая и правая части в (10.1), очевидно, равны нулю. В противном случае = при некотором #50 и, следовательно, <a, bo? = ‹а, 4»? =Р<а, а» = «а, а›<6, >, т.е. в (10.1) опять-таки достигается равенство. Напомним, что ненулевые векторы а и В = при #>0 называют коллинеарными, а при #< 0 — антиколлинеар- ными.  Лемма 10.2. Для любых а и В из В" имеют место нера- венства  V<a, a — 7<6, 6> < Т<а + Ь, а Ь> < Та, а> - Т‹Ь, Dd,  которые при линейно независимых векторах а, 6 являются строгими, а в случае коллинеарных (соотв. антиколлинеар- ных) векторов в правом (соотв. левом) неравенстве дости- гается равенство. Доказательство. В силу леммы 10.1 для любых а и 6 из А" имеют место неравенства  —7‹а, а>Т<Ь, Ь> < «а, 6 < Та, а>7‹®, 5>, (10.2)  которые при линейно независимых векторах являются стро- гими, а при коллинеарных (соотв. антиколлинеарных) век- торах в правом (соотв. левом) неравенстве достигается ра- венство. Остается заметить, что после умножения всех чле- нов (10.2) на 2 и прибавления к ним одной и той же величины «а, а> | <6, 6> получаем  (Та, а—ТЪ, 6)? < ‹а+ в, а В> < (Т<а, а) +7, 5>)*.  7 Э.А. Мухачева, Г. Ш. Рубинштейн 193 
При этом условия достижения равенств такие же, как для неравенств (10.2), т. е. совпадают с требуемыми. Теперь можно легко проверить, что определяемая в А" с помощью скалярного произведения функция  llall = V<a, a  удовлетворяет условиям (x) >20, причем 11| =0 в том и только том случае, когда а = 0, (В) Ша! = Па, ЕЕ В, аеЛР", (у) lla + Ы = Па! - 11. Функции, обладающие перечисленными свойствами (“) — (1), принято называть нормами. В одном и том же ве- щественном векторном пространстве и, в частности, в А” могут вводиться различные нормы. Введенную нами норму называют евклидовой. С помощью нормы определяется понятие расстояния между точками. В качестве такового для точек а==  = (G1, G2, ..., Qn) H O=(b,, 6.,....6,) принимается p (a,b) =jb—al= Vib—a,b—ay =// > (b;—4;)%.  =1  Нетрудно проверить, что функция о(а, 6) сбладает сле- дующими свойствами: (и) р(а, 6)>0, причем р(а, 6) =0 в том и только том случае, когда а =, (В') р(а, 6) =р(6, а), (1) для любых точек а и Б из А" справедливо так назы- ваемое неравенство треугольника  р (а, 6) < р(а, с) Нр(с, 6).  Функции, обладающие перечисленными свойствами («’)— (\’), принято называть метриками. Так как метрика о(а, 5) определяется с помощью евклидовой нормы, то ее называют евклидовой метрикой. При этом арифметическое п-мерное пространство А” с указанной евклидовой метри- кой р называют евклидовым пространством и обозначают qepes En. 10.1.2. В математическом анализе и геометрии элементь рассматриваемых евклидовых пространств HL, (т. е. упоря- доченные наборы х = (271, 1.,..., д.) из п вещественных чи- сел) называют обычно не векторами с компонентами х, а точками с координатами х;. При этом важную роль игра-  194 
ют сопоставляемые точкам аеЁ, множества 5. (а) = {хе Е, [р (а, х) = а—21=< 2}, > 0,  которые называют (евклидовыми) шарами, а также в-ок- рестностями точек аеЕЁ,. С их помощью в Ё, выделяются классы ограниченных, открытых и замкнутых множеств, ои- ределяются пределы последовательностей {1"} к < Е», а так- же пределы функций многих переменных и отображений из одного евклидова пространства в другое. Множество М<Е,‚ называют ограниченным, если оно содержится в некотором евклидовом шаре и, следовательно, для любого =>0 найдется такое конечное множество Г {a*}, Е», что М = U Se (а). Множество GCE, называют открытым, если оно вместе с каждой своей точкой а содержит некоторую =-окрестность | этой точки. Множество FC EL, называют замкнутым, если его допол- нение < =ЁЕ„\Ё является открытым множеством. Из приведенных определений непосредственно следует, что пересечение конечного и объединение любого семейства открытых множеств являются открытыми множествами. В свою очередь, объединение конечного и пересечение любо- го семейства замкнутых множеств являются замкнутыми множествами. Это означает, что для любого` множества М <Е»„ среди содержащихся в нем открытых множеств име- ется максимальное, которое называют открытым ядром и обозначают 1&М, а среди замкнутых множеств, содержа- щих М, имеется минимальное, которое называют замыка- нием и обозначают с1 М.  Естественно, что для любого М=Ё, имеют место вклю- чения  int McoMcelM.  При этом элементы множеств 11% М, cl M\int M u E,\clM ua- зывают соответственно внутренними, граничными и внеш- ними точками множества М. Важно отметить, что в Ё, имеются лишь два множества, которые не имеют граничных точек и, следовательно, явля- ются одновременно открытыми и замкнутыми. Это все про- странство Ё„ и его дополнение — пустое множество ©. Напомним теперь, что точку ае Е, называют пределом последовательности {1}, -к < Е„, если множество тех KEN, при которых 2" 9 5.(а), является конечным при любом = > 0.  1* 195 
При этом рассматриваемую последовательность называют  и v . Е сходящейся (сходящейся к точке а) и пишут Ит т’ =а В> {со  или, короче, Па 1^ = а. Приведенное определение означает, что множество эле- ментов каждой сходящейся последовательности {x"},cn CE,  Rs ограничено; при этом все подпоследовательности {a } en  являются сходящимися и имеют один и тот же предел. Справедливо также в определенном смысле обратное утверж- дение: какова бы ни была ограниченная последовательность, M3 нее можно выделить сходящиеся подпоследовательности. При этом исходная ограниченная последовательность явля- ется сходящейся в том и только том случае, когда все ее сходящиеся подпоследовательности имеют один и тот же  предел. В заключение этого пункта отметим, что если элементы а', а’, ... а’ из Е, линейно независимы, то последователь-  пость их линейных комбинаций  , Е д" = У а, КЕМ, 8—1 сходится в том и только том случае, когда соответствующие числовые последовательности {2}: =мс- В являются сходя- щимися при всех $ = 1, г. При этом  r lim 2" =>) (lim zt’) a’, $=] _ Приведенный факт означает, что рассмотренная метриче- ская сходимость в евклидовом пространстве Ё,„ совпадает с покоординатной сходимостью. Действительно, на основа- нии сказанного последовательность точек  п в ГВ В А kj я = (zi, zz, .... 21) = У, x 5e", kEN, 7—1  В том и только том случае сходится К точке п  a — (ат, Со, e@eegy ап) — У a;e’, когда 7—1  ° A . lim 25 = Qj, ] = 1, nN.  196 
10.2. НЕКОТОРЫЕ СВЕДЕНИЯ О ФУНКЦИЯХ МНОГИХ ПЕРЕМЕННЫХ  10.2.1. Семейство всех вектор-функций каждая из которых определена на некотором открытом множестве С, из #, и принимает значения в Ё„, обозначим qepes Fn mn. При этом под сужением вектор-функции {= 9 n,m H& MHO- жество MCG, nonumMaetca вектор-функция fy, (x)= f(z), cr=M. pu m=1 речь идет об обычных вещественнознач- ных функциях. Получаемое при этом семейство мы будем обозначать через „. Напомним, что вектор-функцию }е Я, „ называют не- прерывной, если в каждой точке ае С, выполнено одно из следующих эквивалентных условий. (x) Для каждого = > 0 найдется такое 6 =6(а)> 0, что {(х)= 5.(](а)) при всех хе 5. (а). (В) Какова бы ни была последовательность {2)..к < С, сходящаяся к точке а, последовательность {1(х')}. = Е»„^ сходится к f(a). Функцию [= 9, называют гладкой, если (У) она дифференцируема, т. е. в каждой точке х=С, эта функция имеет конечные частные производные I) —_ —_— 278) _ yim Let te) F(z) j=1,n, j t0 где через е’ обозначены орты соответствующих координат- ных осей; (6) вектор-функция У) = (9:7 01 (2). .. va) хеС,  9 e Oz, dz, " 02,  именуемая градиентом функции |, непрерывна. Замечание. Из условия (“\), естественно, следует вы- полнение условий (а) и (В). Однако (6) в общем случае из (\) не следует. Важную роль в дальнейшем играет понятие производной по направлению, связанное с так называемыми односторон- ними пределами функций одной переменной. Под правосторонним пределом функции фе, в точке ке С. понимается предел в этой точке сужения функции ф  на множество ($ (&) = {1 Съ|#> 4] | который обозна- чается lim (t) = @Q(é)+9). t>t,+0 Далее, под производной функции |+» в точке LEG, по направлению [5-0 из Е„ понимается правосторонний  197 
предел  91 (2) 4. ЕЕ hl) — f(z) or = lim : (10.3)  При этом функции {еЯ„, имеющие в каждой точке еб, производные по всем направлениям 170, называтот диффе- ренцируемыми по направлениям. Важно отметить, что функции [= %»„, удовлетворяющие условию (\), во всех точках хе С, имеют производные по всем ненулевым направлениям [= Ё,, причем  2) — У, — (91 (+), 1. (10.4)  Oz: ol = т,  10.2.2. Рассмотрим теперь произвольную функцию |=. и множество М<С,. Точку х* = М называют точкой гло- бального максимума (глобального минимума), если при всех дхеМ имеет место неравенство ](х)=< }(2*) (соотв. 7(5) = > }(т1*)). Точку х*еМ называют точкой локального макси- мума (локального минимума), если при некотором = > 0 она является точкой глобального максимума (глобального мпни- мума) сужения функции = У», на ©.(12*)ПМ. Указанные точки называют экстремальными. Основной результат классической теории экстремальных задач состоит в том, что экстремальные точки каждой диф- ференцируемой функции }е Я „ удовлетворяют условию  VI (2) = a ft) | —0. (40.5)  9 3 ео e 9 Oz, 0x, Oxy,  При этом выделение интересующих нас экстремальных то- чек осуществляется с помощью специальных признаков, ис- пользующих вторые частные производные рассматриваемых функций. Приведенное необходимое условие (10.5) в общем слу- чае не может служить базой для разработки эффективных численных методов разыскания глобальных экстремумов требуемого типа (глобального максимума и глобального ми- нимума). В связи с этим возникает необходимость выделе- ния более узких классов задач, для которых интересующие нас множества глобальных экстремумов совпадают с мно- жествами решений соответствующих систем (10.5). Про- стейший из таких классов образует изучаемые в следующих пунктах гладкие задачи безусловной выпуклой оптимизации.  198 
10.3. ВЫПУКЛЫЕ И ВОГНУТЫЕ ФУНКЦИИ  10.3.1. Предварительно напомним, что под отрезком и открытым отрезком, соединяющим точки хиу (с концами в этих точках), понимаются множества  [х, у] = {z, = - t(y — 2) } ео, 1] — {z, =(1 — t) x + ty} sero, 1}, Jz, yl = fz, = 2 + Ку- =) не, и = {4 =(1—- Па}.  Далее, множество MCE, называют выпуклым, если оно вместе с каждыми двумя своими точками х и у содержит соединяющий их отрезок [5, И]. Приведенные определения, очевидно, пе противоречат элементарно-геометрическим представлениям о соответству- ющих объектах. На рис. 13 изображены отрезок [х, у], со- единяющий точки х =(—1, 1) иу= (1, 2), а также откры- тый отрезок и, [ с концами в точках и=(1, 1) и и =(2, —1). На рис. 14 изображены множества А и В. Пер- вое из них выпуклое, а второе таковым не является, ибо не содержит, папример, отрезка, соединяющего точки хи у. С выпуклыми множествами мы уже встречались в пре- дыдущих главах. Таковыми были, например, множества до- пустимых стратегий в матричных играх. Далее, в любой за- даче линейного программирования множество допустимых векторов (удовлетворяющих соответствующей системе ли- нейных уравнений и неравенств) также является выпуклым. Это связано с тем, что каждое линейное неравенство n  п № ах; 6 или уравнение a ajc; = b, Kak HeETpy—HO Upo- j=1 = верить, выделяет в А" выпуклое множество. Кроме того, пересечение любого числа выпуклых множеств, очевидно, будет выпуклым. По определению, выпуклое множество вместе с кажды- ми двумя своими точками содержит линейные комбинации этих точек с неотрицательными коэффициентами, сумма ко- торых равна единице. В качест- ве упражнения читателю предла- гается показать, что если М —  Puc. 13. Puc. 14.  199 
4 г выпуклое множество, то при любых 1', 1... x ив И x неотрицательных #1, ,... &, сумма которых равна единице,  — $ множество М содержит точку У = a 152”.  10.3.2. Для выделения интересующих нас классов выпуклых и вогнутых функций / = $ „ рассмотрим (п )- мерное евклидово пространство Е„+1 = Е» ЖЕ,., элементы ко торого будем обозначать через  x = (2, Ln4i) = (KX, Hoy 220g Lny Тп41),  где х=(7., 1., ... 2.). В этом пространстве каждой функ- ции {= „, определенной на некотором непустом открытом множестве а, < Ё,„, сопоставим следующие множества:  ГЛ — {5 — (x, Хи) [x = G;, Ти: — f(x)}, Y (f) =(% =(z, tai) 2] Gy, Cas = 1(2)},  (== (2, ан) ше бр engi <I (z)}.  Как и в случае функций одной и двух переменных, эти мно- жества называют соответственно графиком, надграфиком и подграфиком рассматриваемой функции |е%,. Функцию {= 9, называют выпуклой, если выпуклым является ее надграфик Г(Л. В свою очередь, функцию }е 3, называют вогнутой, если выпуклым является ее подграфик Г(}), т. е. функция }(х)= —{(2), хеб, =, выпукла. Наконец, функцию [= Я», которая одновременно выпукла и вогнута, называют аффинной. Далее, выпуклую (вогнутую) функ- цию |= Ё, называют строго выпуклой (соотв. строго вогну-. той), если график этой функции Г(]) не содержит отрезков с несовпадающими концами. Для иллюстрации на рис. 15 приведены графики некото- рых строго выпуклых и стро- го вогнутых функций изР.. В качестве упражнения читателю предлагается про- верить, что выпуклые и во- гнутые функции обладают следующими свойствами. (1) Функция }еЯ„втом и только том случае явля- ется выпуклой, когда соответ- ствующее множество С,< Рис. 15. <Е„ выпукло и при любых  200 
ду u3G;nte]0, 4] I((1—t)a + ty)<(1—t)f(x)+é/(y). (10.6)  При этом строго выпуклые функции / © 9, характеризуют- ся тем, что для них неравенства (10.6) являются строгими. (11) Функция =» в том и только том случае является вогнутой, если соответствующее множество С, Ё„ выпукло и при любых 17 у из С, ий = |0, 1]  f((14—tha tty) 2(1—2t)f(x)+tf(z). (10.7)  При этом crporo Bornytble @yHKnun f]=F, xaparrepusylorcsa тем, что для них неравенства (10.7) являются строгими. (111) Какова бы ни была выпуклая функция /е9Я)„, при любых zx‘, 2’, ..., 4’ из С, и неотрицательных &, &, ..., &, сумма которых равна единице, имеет место неравенство  т т i (3 ta < >» tsf (x*). s=] s=] В свою очередь, вогнутые функции | е 9, характеризуются тем, что для них при указанных 25° и Ё& имеет место про- тивоположное неравенство  т т (У 42! \>> tof (x°*). $=1 $=1 (1) Функция f]=F¥, B TOM HM только том случае являет- ся выпуклой (вогнутой, строго выпуклой, строго вогнутой), когда при любых хеС, и [= Ё, таковой является функция одной вещественной переменной  p(h)=f(r+ hl), (10.8) которая определена на открытом выпуклом множестве с={реВ|:+ШеС)}, (10.9)  содержащем точку h = 0. (У) Определенная на открытом выпуклом множестве с=А функция фе) в том и только том случае является выпуклой, когда при любых й, <й, <Й, из в имеют место перавенства Ф (,) — Ф (№1) < @ (hs) — P (hy) 9 (25) — @ (hy) h,—h, < Ш h, — he  IN  При этом в случае строго выпуклых функций эти неравен- ства строгие.  201 
(vi) Каждая аффинная функция |=, может быть представлена в виде  7(2) = }(2°)+1:-—х, хеС,  тде вектор [Е Е, не зависит от выбора точки 5’еС,,. В заключение этого пункта отметим, что выпуклые и во- гнутые функции }е У „, определенные на открытых выпук лых множествах а,<Е,‚, непрерывны. Полунепрерывнос сверху выпуклых функций |=, и полунепрерывност низу вогнутых функций |= „ устанавливаются с по- мощью свойства (11). В то же время доказательство полу- непрерывности снизу выпуклых функций / =» и полуне- прерывности сверху вогнутых функций {ЕЯ „ опирается на следующее нетривиальное свойство этих функций, котор будет доказано в последней главе книги. Теорема об опорной аффинной функции. Каковы бы были выпуклая функция |е%, и точка ге С, найдетс такой вектор [=+ Ев, что  71(х) > [(х’) Е 1-х’, хебц,.  В свою очередь, для каждой вогнутой функции | Е» и точ- ки х’е С, найдется такой вектор [Е Е», что  1(х)< }(х°)Ех-—хт’, тес,  10.3.3. Остановимся на некоторых свойствах выпуклых зогнутых функций, играющих важную роль в дальнейше изложении. Утверждение 10.1. Отвечающие выпуклым функциям 1= 9 „ нижние лебеговы множества  L_(f, c)={xEG,|f(z)<c}, cER,  а также отвечающие вогнутым функциям ] Е 3, верхни дебеговы множества  + (], с) = {хеб/Кзх)> с}, сеД,  являются выпуклыми множествами. Доказательство. Выпуклость указанных лебеговы множеств непосредственно следует из приведенных в преды дущем пункте соотношений (10.6) и (10.7), которые в нейшем именуются аналитическими определениями выпук лых и вогнутых функций. Утверждение 10.2. Каждый локальный минимум (локаль- ный максимум) выпуклой (вогнутой) функции |еЕ 9, на выпуклом множестве М < С, является глобальным.  202 
Доказательство. Пусть точка х*е М является точ- кой локального минимума выпуклой функции }= 9, на вы- пуклом множестве МС, т. е. при некотором = >> 0 имеет место перавенство  1(2*) < ](х), хе МП5.(2*).  Тогда для любого х51* из М при достаточно малом +=], 1[  Y, = 2* + t(x—2z*)=(1—-t)ae* +ize MNS, (z*). Следовательно, (=*) < Ху.) (1 — t) f(x*) + tf(z), Tr. e. tf(x*)<tf(x), f(z*)<f(z), aro am требовалось по- казать. Случай вогнутых функций /е Я’, сводится к рассмотре- нию выпуклых функций. Утверждение 10.3. Выпуклые и вогнутые функции |= 94, з каждой точке хе С; имеют производные по всем ненуле- вым направлениям LEE,. При этом для точек х=“у из С, при [=у-— тв случае выпуклой функции  д И < (у) — 1 (2) <, (10.10) а в случае вогнутой функции 1 (у) — (8) >. (10.11)  Доказательство. Как и выше, достаточно проверить справедливость утверждения для случая выпуклых функ- yuk f=F,. Порождаемые ими функции (10.8), очевидно, при любых 1 7-у из С; и [=ур— х определены на открытых выпуклых множествах (10.9), содержащих отрезок [0, 41]. На основании приведенного в п. 10.3.2 утверждения (У) при постаточно малом > 0 и любых 0<й <й, <= 1<й, < й = < 1-е имеем (0) — p(—e#) _-$(*,)—$ (0) _ 9 (A) — 9 (0) a 5 < hy < h, <  @ (hg) —h(1) _$Ф(%,) —$(1) < ооо т.  Из приведенных соотношений следует существование одно- сторонних производных, удовлетворяющих неравенствам  О =) < $’ (+ 0) <Ф(1) — (0) <ф (1+0).  203 
Для завершения доказательства достаточно заметить,  (0) = 1 (2), $(1) = Ку, ФНО, ПФО  Сопоставим каждой точке х выпуклого множества МеЕ выпуклое множество К,(М) векторов [= Ё»„, которым отв чают непустые множества  (= В* |+ Ше М}.  Через К?(М) будем обозначать множества К.(М)\40}, которые уже необязательно являются выпуклыми. Их эл менты называют возможными направлениями для точе хЕЛМ. Утверждение 10.4. Гочки минимума выпуклой функци {= на выпуклом множестве М-С,, и только они удов летворяют условию  1250, 1 КЗ (М).  В свою очередь, точки максимума вогнутой функции |+ на выпуклом множестве МС, и только они удовлетворя условило  212) < 0, 1=КЗ (М).  Доказательство. Указанные признаки непосредс венно следуют из утверждения 10.3. Следетвие. В случае гладких выпуклых и вогнутых фун ций |= 3„ указанные условия, учитывая (140.4), можн переписать в виде  <У1 (2), 220, 1=К»х(М), <У1 (=), 2 <0, le Kz(M).  При этом приведенное выше необходимое условие (10.5) д гладких выпуклых функций |=), является также доста- точным условием достижения минимума, а для гладких во: гнутыхт функций — достаточным условием достижения ма симума на соответствующем открытом выпуклом жестве С.  204 
10.4. ДИФФЕРЕНЦИАЛЬНЫЙ ПРИЗНАК ВЫПУКЛЫХ ФУНКЦИЙ  10.4.1. Напомним читателю некоторые сведения из липейной алгебры. Квадратную матрицу  A= [4]; 5 (10.12)  называют симметричной, если а;=ан при всех #=1, п,  1 =1, п. Симметричную матрицу (10.12) называют no- ложительно определенной, если для всех ненулевых  1=(11, 1,...)еЕЁ, имеют место строгие неравенства nr n » Dy аи; >0. (10.13) i=1j=1  Если же для всех ненулевых [= Ё„ можно гарантировать выполнение лишь нестрогих неравенств  n n a > али, >0, (10.14)  $=1 2—1  то симметричную матрицу (10.12) называют положительно полуопределенной. Для формулировки устанавливаемых в линейной алгебре признаков положительной определенности и положительной полуопределенности симметричных матриц напомним, что под главными минорами симметричной матрицы (10.12) по- нимаются определители  м  А (К, К», ..., К) = | быв: бл, ›-* бы |,  ahh, Gh,k, ... Qn,  ak ke eee Dp ky  re 4<k,<k,<...<k,<n, r=1, n. Cpeym последних oco- бо выделим миноры  А, = А (4,2... г), г=4, п. (10.45)  Теорема 10.4. Симметричная матрица (10.12) в том и только том случае является положительно определенной (положительно полуопределенной), когда все ее главные миноры положительные (неотрицательные). При этом для положительности всех главных миноров симметричной мат-  205 
рицы (10.12) достаточно, чтобы положительными были вы- деленные выше п главных миноров (10.15). 10.4.2. В этом пункте предполагается, что рассматривае- мые функции |=, определены на открытых выпуклых множествах а, = Е»„, и на этих множествах имеют непрерыв- ные частные производные второго порядка  2 __ — Qij (1) — а: i= 1, п, j=1,n, reG;. Образуемые этими производными симметричные матрицы порядка п будем обозначать через А,(т). Утверждение 10.5. При сделанных предположениях вы- пуклые функции |е $, характеризуются тем, что соответ- ствующие симметричные матрицы А;(х) являются положи- тельно полуопределенными. Для строгой выпуклости функ- ции | Е Я „, определенной на открытом выпуклом множестве С, Е»„, достаточно, чтобы при всех хе С; соответствующие симметричные матрицы А‚(х) были бы положительно опре- деленными.. Доказательство. Из приведенного в п. 10.3.2 свой- ства (у) следует, что дифференцируемая функция фе, определенная на открытом выпуклом множестве OCR, в том и только том случае выпукла, если имеет неубываю- щую производную Фф’(#). А это означает, что дважды не- прерывно дифференцируемые выпуклые функции фе, имеют неотрицательные вторые производные. Рассмотрим произвольную дважды непрерывно диффе- ренцируемую функцию |= У»„, определенную на некотором открытом выпуклом множестве а, < Е,. Как мы уже знаем, эта функция в том и только том случае является выпуклой, когда ей отвечают выпуклые функции (10.8). Последние в рассматриваемом случае дважды непрерывно дифференци- руемы, причем  ф’(#) = <УКх-+ М), Г, ” h __ NI < a" f (x + hl) Ф ( = м мар ld i=1 j=1. vod А это озпачает, что рассматриваемая функция /е 9, в том и только том случае выпукла, когда при любом =х-+ Ше = С, симметричная матрица 4,(&) является положительно полуопределенпой. Остается заметить, что при положитель- ных вторых производных ф”(й) соответствующие функции одной переменной, а тогда и исследуемая функция /е $’, строго выпуклы.  206 
Проиллюстрируем приведенный признак положительной нолуопределенности матриц на двух примерах. Пример 10.1. Вторые производные функции двух переменных  f (x1, v,) = 42} + 15 — 22,2, + 62, — 5x, — 2  являются постоянными:  2 2 2 OF (Fy) _ 3 OF (fy 2) _ OF (Fy) 7) _ ig 9х2 _' 010 020. = 1 1 "2 2°" 4 9} (7: т,) — = 24. Ox  2 Поэтому вопрос сводится к рассмотрению единственной  матрицы A 8 —2 |2 2 |`  Так как ее главпые миноры —2 — 2 2  положительны, то исследуемая функция строго выпукла. Пример 10.2. Проверим выпуклость функции  A, =8, A,= = 12  f(x, L2) = —У ах,  заданной на открытом выпуклом множестве G = {(2,, х.) = R? | x,> 0, х. > 0}.  В данном случае _ af oF (Fu 72) ty) _ Ну > дд?  2 Men) Mes) 4 Oz,0L, OL,Oz, 4 V 2,2,  и главные миноры соответствующих матриц имеют вид  1 Ly _ 1 Ty Metz Е >  —_ 4 Тот, 4 __ АИ 2 - вен, =  207. 
Так как последние и здесь неотрицательны при всех (1, 1:)еЕ С, то рассматриваемая функция будет выпуклой, однако строго выпуклой, как нетрудно проверить, не яв- ляется.  40.5. ЗАДАЧИ ВЫПУКЛОЙ ОПТИМИЗАЦИИ {ОБЩАЯ ХАРАКТЕРИСТИКА]  Под задачами выпуклой оптимизации понимаются задачи минимизации выпуклых функций и задачи макси- мизации вогнутых функций на выпуклых множествах М < < Е„. Указанные задачи в силу утверждения 10.2 сводятся к определению локальных экстремумов требуемого типа (минимумов или максимумов). Такие задачи принято на- зывать одноэкстремальными в отличие от многоэкстремаль- ных, в которых, вообще говоря, имеются локальные экстре- мумы требуемого типа, отличные от глобальных. Во избежание путаницы подчеркнем, что одноэкстремаль- ность задач выпуклой оптимизации не означает, что в каждой из них имеется решение и притом единственное. Например, выпуклая функция одной переменной ](1)=х, хе |0, 14|, не достигает минимума на |0, 1[, а множество точек минимума выпуклой функции }(т)= сопзь хеЕМ, совпадает со всем М. Однако, если задача выпуклой опти- мизации разрешима и при этом выпуклая (вогнутая) функ- ция является строго выпуклой (строго вогнутой), то эта задача, естественно, имеет единственное решение. В выделенных классах одноэкстремальных задач разли- чают задачи безусловной выпуклой оптимизации и задачи выпуклой оптимизации с ограничениями, составляющие предмет выпуклого программирования. В первом из этих классов минимизация выпуклых или максимизация вогну- тых функций осуществляется на открытых выпуклых мно- жествах СЁ», т. е. речь идет об экстремальных задачах, изучаемых в общем курсе математического анализа. Во вто- ром классе минимизация выпуклых или максимизация вогнутых функций |= У„ осуществляется на замкнутых выпуклых множествах М <С,. В частности, в теории выпук- лого программирования изучаются задачи минимизации вы- пуклых функций № = „ или максимизация вогнутых функ- quit fp = 9% „ на множествах решений конечных систем  wee  fi(z) <0, i=, т,  208 
где функции де, являются выпуклыми, или же систем fi(z) 20, i=4, m,  rye dyunnun f;=F, Bornyrsie. Далее, задачу безусловной выпуклой оптимизации па- зывают гладкой, если таковой является минимизируемая выпуклая или максимизируемая вогнутая функция. Что касается задач выпуклого программирования, то их назы- вают гладкими, если таковыми являются не только целевые функции, но и функции, фигурирующие в неравенствах, определяющих соответствующие выпуклые мпожества.  10.6. МЕТОД НАИМЕНЬШИХ КВАДРАТОВ  Простейший класс задач безусловной гладкой вы- пуклой оптимизации образуют задачи минимизации на всем Е„ строго выпуклых квадратичных функций  f(z) = + > > аут; > b;x; 4+ ¢, (10.16) i=1 j=1 j=1  отвечающих положительно определенным симметричным матрицам А =[а,|. В силу следствия утверждения, 10.4 (см. п. 10.3.3) минимизация функций (10.16) сводится к реше- пию систем линейных уравнений  (2) Vaije; +b) =0, j= Dn. (10.17)  В частпости, мипимизация рассмотренной выше строго выпуклой квадратичной функции (см. пример 10.1)  2 2 | (ть, 2.) = 41 + 22 — 2х, | 61, — 57, — 2 сводится к решению системы линейных уравнений 8x, — 2х. + 6 =0, —22, + 25. — 5 = 0, которая имеет единственное решение 2* = (—0,167; 2,333). Следовательно, рассматриваемая функция достигает мини- мума в точке 2*, т. е. }(2)> }1(1*) = —8,333 при всех иеЁ,. Задачи минимизации строго выпуклых квадратичных  фупкций (10.16) систематически встречаются в инженерной и экономической практике. В первую очередь это связано с  ВЭ. А. Мухачева, Г. Ш. Рубинштейн 209 
необходимостью приближенпого решения песовместных си- стем линейных уравпений  п У ра 9% =0, К=1,т. (10.18) i=1 Исходными данными в этих уравнениях служат результаты наблюдений или социологических обследований, а компо- ненты искомого вектора х*еЁЕ‚, интерпретируются как коэффициенты корреляции выделенного фактора с другими Учитываемыми факторами. В методе наименьших квадратов под наилучшим решением несовместной системы (10.18)  понимается вектор 2* = (%1,2,...) tn), минимизирующий строго выпуклую квадратичную фупкцию 1 т п 2 (1) = 5 > ($ рав Е a (10.19) k=1 \i=1 /  Компоненты градиента V/{(r) в данпом случае имеют вид  oft) = У ma( 3 Pinti + a = 3 k=1 =1 -$ (  i=1  т т > Papin) xi+ > ря». k= Кл  Следовательно, искомый вектор 2*, минимизирующий фупк- цию (10.19), может быть найден из системы линейных уравнений  в 2 az, +b;=0, j=i,n, (10.20) =1  где  1, п. (10.21)  т т ay = 2 РчеР4 6; = = PjreIr, t= i, n, j  Пример 10.3. Методом паимепьших квадратов опре-  делим приближенное решение следующей несовместной системы линейных уравнений:  OL, — 72, + 3x3 — 14 =0, 2х: + Зх. — 41. +7 =0, За + 21 + 51, —19=0, —2z, + 42, + 22,—-7 =0, 62, — 8x, + 52, — 24 =0.  210 
Для мипимизации соответствующей фупкции (10.19) ре- шаем отвечающую ей систему линейпых уравиений (10.20), коэффициенты которой вычисляются по формулам (10.214). та система в данном случае имсет вид  78x, — 79x. + 482, — 225 = 0, —79x, + 1427. — 5523 + 221 =0, 48x, — 50X_ + 7923 — 284 = 0. Из нее находим вектор 2* - (1,4656; 0,4197; 2,9966),  минимизирующий соответствующую функцию (10.49). При этом f (x*) = min f (x) — 3,9731. 3  x=R*  10.7. ИТЕРАТИВНЫЕ МЕТОДЫ  10.7.1. Если определенная на Ё,„ минимизируемая гладкая выпуклая функция | %»„ не является квадратич- ной, то решение соответствующей системы пелинейных уравнений (10.5) представляет весьма сложную задачу. Более” того, при минимизации квадратичных выпуклых функций в пространствах большой размерности, затрудни- тельно также решить соответствующие линейные системы. 3 связи с этим излагаемые здесь итеративные методы пер- воначально были разработаны для решения больших систем линейных уравнений, связанных © граничными задачами матёматической физики. В дальнейшем предполагается, что рассматриваемые глад- кие выпуклые функции [=У„ определены на всем Ep, ограничены снизу и отвечающие им нижние лебеговы мно- жества ограничены (т. е. компактны). Следовательно, каж- дая из этих функций достигает минимума с* = с* (7) на некотором пепустом компактном выпуклом множестве M* = = М*(]), которое в случае строго выпуклой функции явля- отся одноточечным. В. итеративных методах строятся такие ограниченные  у] со послеловательности {2°] у < Ев, что  1(х°=) < 1(хг), veEN, lim f(z”) = c*(f). (10.22)  Эти последовательпости называют разрешающими. Все их предельные точки содержатся в искомых мпожествах М*(]),  ge 211 
а в случае строго выпуклых функций эти последователь- ности сходятся к единственным точкам минимума. Наиболее широко используются в практике так назы- ваемые градиентные методы, в которых элементы разрешаю- щих последовательностей определяются по формулам  gt! = 2’ —§,V f(z’), vEN, (10.23)  где 6,— некоторые положительные числа. К числу таковых относится так называемый метод наискорейшего спуска, в котором в качестве начального приближения может быть принята произвольная точка х' Е Ё,. Затем на каждом шаге уе=/М решается вспомогательная задача, состоящая в ми- нимизации выпуклой функции одпой переменпой  фу (№) = 1 (х°— ВУ [(х`°)). (10.24)  В случае квадратичпых выпуклых функций эта задача pe- шается точно, а в общем случае — приближенпо. Нетрудно проверить, что при сделанных предположениях относительно 1=%„ выпуклая функция (10.24) достигает минимума ф.(#*) < }(х”) при некотором й#*>0 (за исключением три- виального случая, когда 2’е М* и, следовательно, У](1^) = —0). Эта неотрицательная величина и принимается в ка- честве б, в формуле (10.23). Для иллюстрации характера описанпого процесса на рис. 1ба указаны песколько первых точек разрешающей последовательности, получаемой методом паискорейшего спуска для задачи минимизации в А выпуклой функции  1 (51, 12) = 421 + 15 — 212, + 6х, —51,—2. (10.25)  На этом же рисунке изображены линии уровня функции f(x), проходящие через соответствующие точки д! = (—4; 0), x* =(0; 1,5), 2° =(—0,375; 1,750), «* =(—0,125; 2,125). В описапном методе наиболее трудоемкой является ми- нимизация на каждом шаге процесса соответствующей фупк- ции (10.24). В связи с этим часто используются другие варианты градиентного метода, не требующие решения на каждом шаге процесса вспомогательных однопараметриче- ских задач. Простейшим из указанных вариантов является метод, позволяющий получать разрешающие последователь-  пости для функции ](х), градиенты которой удовлетворяют условию  | У 1 (и) — У/ (=) | ey ly—|  <m<-+ oo, (10.26)  При этом в качестве 6, на каждом шаге процесса в (10.23)  212 
Рис. 16.  можно принимать одну и ту же величину из некоторого промежутка, например равную 1/т. Заметим, что градиепт функции (10.25)  У[ (хи, 1.) = (8х: — 2х, 6, —2х, + 2х. — 5) удовлетворяет условию (10.26). Действительпо, для любых x= (21, T2), Y=(Ys, Yo) из=(21, 22) =(у. —хь у. — 12) имеем УКу) — УК) = (8 (у: — 1!) — 2(У2 — 2), —2 (у! — 2.) 2(Y2 — Le) ) = (821 — 222, —22и + 222). Поэтому | Vi) — Vi (@) | = V (Be, — 222) (— 28, + 28, P< < У (21| — [221 + 2? (121 |—] 221)? = = V 68 У (|=, | — |5 |) = V 68. V2+2 = = V68|y—2|<10|y—c|,  откуда следует справедливость соотпошепия (40.26) при  т = 40. Но тогда разрешающую последовательность {xr }y—1 можно получить, принимая на каждом шаге процесса 6, = = 0,4. Первые члены этой последовательности 2’ = (—1; 0), 4* =(—0,8; 0,3), 2 =(—0,7; 0,6), х=(-—0,6; 0,8) указаны на рис. 166.  213 
Для примепения описанных градиентных методов необ- ходимо уметь вычислять в каждой точке хе А" пе только значение минимизируемой функции ](х), но и значение ее градиента У{(х). Последнее при неявном задании миними- зируемой функции является сложным, а при табличпом за- даний вообще певозможным. В таких случаях обычпо ис- пользуется так называемый метод покоординатного спуска, который для дифференцируемых выпуклых Функций также является сходящимся. В указанном методе элементы разре- шающей последовательпости (2’]у—, из Ё„ вычисляются по  формулам gt! — 7 + 5.2”, у = 1, 2, где в качестве 2” на каждом шаге процесса принимается очередпой орт  соответствующей координатной оси. А именно: 4 1 — 22 1 — р 2 — 2 g =e, g=e’,..., g° =e", gt =e 5" ** ==”, оое  Что касается величин 6., то они на каждом шаге процесса определяются путем решения вспомогательной задачи (ср. с методом наискорейшего спуска), состоящей в минимизации.  выпуклой функции p(h) = f(x’ + hg’) (10.27)  одной вещественпой переменной. Замечание. Получаемая описанным образом последо- вательность точек 1” может не удовлетворять условию (10.22). Вместе с тем для этих точек имеют место нера-  венства 1(2*') < (2), v=4, 2,  Для иллюстрации метода покоординатного спуска на рис. 16в указано несколько первых членов разрешающей последовательности, полученной этим методом для функции (10.25), а именно: z'=(—1,0), 242=(—0,75; 0), z= =(—0,75; 1,75), z* =(—0,34; 41,75). Остановимся на некоторых модификациях описанных методов безусловной оптимизации, позволяющих минимизи- ровать выпуклые функции на положительном гипероктапте  В+ = (x = (21, Lg, ..-,4n) [23 2>0, 7 = 1,7}.  При этом будем считать, что выпуклая функция / опреде- лена и дифферепцируема на некотором более широком от-  214 | 
KPLITOM BLIDyYKIOM MHOmectTBe GCE,. Kpome того, предпола- гастся, что при всех с больших с, = inf f(x) непустые вы- xR пухлые замкнутые мпожества  г = (хе 1 |1 (1) < с]  являются ограпиченпыми. Под проекцией на положительный типероктант антигра-  диента —У/(1°) функции } в точке 2° = (21, 22,.... 20) из п П-- условимся попимать вектор  #(1°)=(2.(1°), 8.(х°), .:.. В, (1°))  с компонентами  of (z") ° Ge если х; >0, Е; (2) = , тах {0, — ote) \, если х; = 0. J  В интересующей пас модификации метода наискорейшего спуска в формуле (10.23) антиградиент У7(х”) заменяется cro проекцией #(2”) на положительный гипероктапт. Кроме того, решаемая ‘на каждом шаге процесса вспомогательная задача для определения 6, здесь состоит в минимизации Функции ф(й) =} (х° + #5 (2°)) на множестве неотрицатель- ных №, при которых 2° -| йе (х°) = В. Точно так же в модификации второго вариапта градиент- пого метода градиент У{(л”) заменяется его проекцией # (=) на положительный гипероктант и, кроме того, в качестве 6,  принимается min {4 ‚* Г,  h* = sup {h| 2” + hg(x’) = В]  Наконец, в соответствующей модификации метода по- координатпого спуска в решаемой на каждом шаге процесса вспомогательной задаче выпуклая функция (40.27) миними-  Vv Vv зпруется на множестве TaKux h, npu KoTopEIx x + hg eR}.  215 
ГЛАВА 11 ЭЛЕМЕНТЫ ВЫПУКЛОГО ПРОГРАММИРОВАНИЯ  11.4. ОБЩЙААЯ ЗАДАЧА МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ  11.1.1. Изученные в первых главах задачи_ липей- ного программирования (ЛП) связаны с анализом простей- ших детерминированных моделей производственного плани- ровапия. В этих моделях компоненты балансового вектора выражались линейно через выбираемые значения парамет- ров управления. Если же это не так, то мы приходим к дру- гим вариантам следующей общей задачи математического программирования (МП). Задача МП. При заданных вещественнозначных функ- циях р, |... [м определенных на одном и том же непу- стом абстрактном множестве Х, максимизировать функцию № на множестве  Х ={хеХх|}(1)>0, #=1, т}. (41.4)  По аналогии с предыдущим элементы Х°’ в приведенно задаче называют допустимыми, а искомые допустимые эле- менты, на которых достигает максимума целевая фу ,— оптимальными, и образуемое ими множество обозна чают через Х*. При этом в рассматриваемых задачах МП как и при изучении задач ЛИ, не предполагается априор что в них имеются допустимые и тем более оптимальны элементы. 11.1.2. Проводимое исследование поставленной весьма общей экстремальной задачи базируется на установлепии связи с некоторой конкретной игрой двух лиц с нулево суммой. Необходимые сведения об указанных играх изл жены в гл. 9. Однако, желая сделать возможным независи мое изучение иптересующих нас задач МИ, мы предвари тельно напомним используемые здесь сведения об указан играх, делая при этом соответствующие акценты. Каждая игра двух лиц с нулевой суммой определяется заданием двух непустых множеств Х и У, а также опреде- лепной на произведении этих множеств вещественнозначной фупкции С. Участники пгры, имепуемые игроками Ги П, независимо друг от друга выбирают способы своего поведе-  216 
лия (стратегии) хеЕХ и уЕУ. Соответствующая величина G(x, y) характеризует выигрыш игрока [, который совпа- дает с проигрышем игрока ШП. Далее, в рассматриваемой мо- дели предполагается, что при осуществлении своего выбора каждый игрок знает пе только мпожество своих стратегий, по и множество стратегий противпика, а также соответст- вующую функцию С. Однако он не знает, какую стратегию предпочтет противник. В связи с такой неопределенностью возможны различные подходы к анализу описанной си- туации. В интересующем нас подходе Неймапа качество своих стратегий игроки оценивают с точки зрепия результата, от- вечающего паимепее благоприятному для них поведению противника, что приводит к рассмотрению функций (9.4) и (9.5). Свои оптимальные стратегии 1*ЕХ и у*ЕУ игроки Ти П определяют путем решения соответствующих экстре- мальных задач (9.6) и (9.7). Указаппые функции (9.4) и (9.5), как нетрудно прове- рить (см. лемму 9.1), удовлетворяют следующему соотно- шению двойствеппости:  0  и- = зар шЕ @ (5, у) = зари (5) < хЕХ у=У х=Х < inf v(y) = inf sup G(z, y) = v", (14.2) yeY yeY xEX  что позволяет по аналогии © задачами ЛП экстремальную задачу (9.6) пазывать основной, а (9.7) — двойственной. Мпожества оптимальных элементов в указанных задачах пли, что то же, множества оптимальных стратегий игроков Ги П в рассматриваемой игре двух лиц с нулевой суммой будем обозначать соответственно через ХЗ и УЗ. 11.1.3. Напомним, что каковы бы ни были непустые мно- жества Х и У и определепная на ХХ У веществепнозначная функция С, пару 5*=(5*, у*)еХЖУ называют седловой точкой функции @ (см. п. 9.1), если при любых хех и уеЕУ имеют место неравенства  G(x, у*) < ((х*, у*) < С (21*, у), (11.3) т. е. тах @ (х, y*) = G («*, у*) = minG (2*, у). (11.4) хеХ и=У  Множество всех седловых точек указанной функции С бу- дем обозначать через 7* = 7*((, Х, У). Важную роль в дДальпейшем играет непосредствепно Устапавливаемая простая связь седловых точек с оптималь-  217 
ными элементами в соответствующих осповной и двойствен- ной экстремальных задачах. Теорема 11.1. Каковы бы ни были непустые множества Х, У и определенная на ХЖУ вещественнозначная функ- ция С, точка 2* =(1*, у*) Е ХХУ в том и только том слу- чае является седловой, когда 1*еХЧ, у*е ТН ци при этом № (2*) =у(у*). Следствие. Для оптимальности элемента 1*е=Х (соотв. у*ЕУ) в экстремальной задаче (9.6) (соотв. (9.7)) доста- точно, чтобы при некотором y*=Y (соотв. х*еХ) мно- жество #*((, Х, У) содержало точку 3* =(5*, у*). 11.1.4. Перейдем к исследованию приведенной выше общей задачи МП, которое, как уже отмечалось, базируется на установлении ее связи с некоторой конкретной игрой двух лиц с нулевой суммой. В качестве мпожества страте- гий игрока [ принимается фигурирующее в рассматриваемой задаче МП непустое множество Х, а в качестве мпожества стратегий игрока П —  Y= RE= ly = (Yu Yor -- +s Ym) yi SO, i = 1, m). (11.5)  Что касается фупкции выигрыша игрока Г (проигрыша игрока 11), то в качестве таковой принимается определен- ная на ХХУ функция ®  G(e,¥) = fale) + 3 vik (2). (11.6)  Следующее вспомогательное утверждение устапавливает связь задачи МИ с сопоставленной ей игрой двух лиц с нулевой суммой. Лемма 11.1. Каковы бы ни были истодные данные в задаче МП, функция (9.4) в сопоставленной ей игре двух лиц с нулевой суммой следующим образом связана с соот- ветствующим множеством допустимых элементов (11.1) и целевой функцией ]:  и (5) =1(2) при x= X°, p(x)=—o npu xe X\X°,  Доказательство. В рассматриваемом случае для всех х=Х, учитывая (9.4) и (11.6), имеем  He) = int (fo(0) + 3 uit (2).  ') Функции указанного типа широко используются при исследо- вании классических экстремальных и вариационных задач с ограпи- чениями. По имени выдающегося французского математика ХУ B., заложившего основы соответствующих разделов математического ana. лиза, эти фучкции называют функциями Лагранжа.  218 
Первое слагаемое в скобках от у не зависит, а инфимум второго слагаемого ввиду (11.1) и (14.5) при хе Х° равен 0, а при хе Х\Х® равен — ©. Это означает справедливость утверждения леммы. Следствие. Если в задаче МП имеются допустимые эле- менты (непустым является соответствующее множество (11.1)), то множество Х* оптимальных элементов в этой задаче совпадает с множеством ХЗ оптимальных стратегий игрока [ в сопоставленной ей игре двух лиц с нулевой суммой. Из леммы 11.1 с учетом приведенного выше следствия из теоремы 411.1 вытекает справедливость следующего достаточ- ного признака оптимальности. Теорема 11.2. Для оптимальности элемента х* Е Х в ис- следуемой задаче МП достаточно, чтобы при некотором век- торе у*е У точка 2*==(5*, у*) являлась седловой для со- ответствующей функции Лагранжа (11.6). 11.1.5. Несмотря на то что при исследовании задач МП класс рассматриваемых игр двух лиц с нулевой суммой существенно сужается, установленный без каких-либо пред- положений об исходном множестве Х и определенных на  нем вещественпозначных функциях }, #=0, т, достаточный признак оптимальности (см. теорему 11.2), вообще говоря, ие является необходимым. А это означает, что в общем слу- чае он не может служить базой для разработки эффектив- пых численных методов. Более того, МИ охватывает столь широкий круг экстремальных проблем, что универсальных эффективных численных методов в принципе существовать не может. В связи со сказанным возникает проблема выделения некоторых классов задач МИ, для которых приведенный достаточный признак оптимальпости также необходим и потому может служить базой для построения численных методов. Простейший класс указанного типа образуют изученные п первых главах кпиги задачи липейного программирования. Гри доказательстве этого факта мы ограничимся рассмотре- пием задачи ЛП в симметричной капонической форме, к которой, как известно, можно привести произвольную за- дачу ЛП. Таким образом, речь идет о задачах МП, в ко- торых  X= Ri, | (1) = > ст, Н (т) = a ах, В, i= 1,m,  где а: В;, с, — заданные веществепные числа. Соответствую-  219 
щие функции Лагранжа (11.7), определенные na XXY, где У= Ат, имеют вид  G (x,y) = № сл; + > Yi (3 ау; Е | = j=1 i=1 j=1  т п т = Хи + Ух; |5 Qijyi + ci), (11.7) i=1 7—1 1—1 Теорема 11.3. Множество Х* оптимальных векторов в конкретизированной указанным образом задаче МП совпа- дает с множеством первых компонент седловых точек 2* = =(z*, y*) соответствующей функции Лагранжа (14.7), и, следовательно, в рассматриваемом случае достаточный признак оптимальности (см. теорему 11.2) является также необходимым. Доказательство. Полагая  > аут; | 6, >20, i im  7—1  т —— > ал 0, fH, al, :  xe={reX  ye=lyey  фо (у) = > бу, УЕУ, i=  для соответствующей игры двух лиц с пулевой суммой с учетом (11.7) получаем р (1) при хе Х°, № (2) = inf G(z, y) = a со при хеЕХ\ Х',  — рб — | (у) при уе У’, у) = РС (2, 9) = | ю при ye Y\Y?.  Предположим, что допустимый вектор 2*е Х° оптимален в рассматриваемой задаче ЛП. Тогда по известному необходи- мому и достаточному призпаку оптимальности для задач ЛП найдется такой вектор у* == У°, что  [ (2*) = fo(x*) = @o(y*) = v(y*).  Но тогда точка 2* =(1*, у*) в силу теоремы 41.1 является седловой для рассматриваемой функции (11.7). Следова- тельно, в качестве искомого может быть принят указанный вектор у* ЕТУ.  220 
11.2. ЗАДАЧИ ВЫПУКЛОГО ПРОГРАММИРОВАНИЯ  Существенно более широкий класс задач МП, для которых указанный в теореме 11.2 достаточный признак оп- тимальности также пеобходим, образуют рассматриваемые здесь задачи выпуклого программирования. 1.2.1. В теории выпуклого программирования (ВП) в качестве основной рассматривается следующая конкретиза- ция общей задачи МП. Задача ВП. При заданных вогнутых функциях |, =  —=0, т, определенных на одном и том же открытом выпук- лом множестве << Е„, содержащем положительный гипер-  nr октант Х = В+, максимизировать функцию ф на выпуклом множестве  X={reX|fi(xz)=0, i=1, my}. (41.8)  Как и в случае задач ЛП, элементы множества (14.8) здесь называют допустимыми векторами, а искомые допу- стимые векторы, на которых достигает максимума целевая функция ,— оптимальными и образуемое ими множество обозначают через Х*. Замечание. Так как в выделенных задачах ВП речь идет о максимизации вогнутых функций на выпуклых мно- жествах, TO эти задачи являются одноэкстремальными (см. п. 10.5). Вместе с тем для них приведенный в теореме 14.2 достаточный признак оптимальности в отличие от задач ЛИ оказывается необходимым лишь при некоторых дополнитель- ных предположениях. Простейшим является предположение о том, что в рассматриваемой задаче ВП для некоторых до- пустимых векторов 2°е Х° имеют место строгие неравенства  Л (2°)>0, i=4, т. (14.9)  Условие (11.9) по имени предложившего его математика называют условием Слейтера. Осповным результатом теории выпуклого программиро- вания является следующее. предложепие, именуемое теоре- мой Куна — Таккера. Теорема 11.4. Если рассматриваемая задача ВП удовлет- воряет условию Слейтера, то для оптимальности вектора  т* = Х = И" необходимо и достаточно, чтобы этот вектор  т вместе с некоторым вектором У* Е У = В+ образовывали седловую точку соответствующей функции Лагранжа (14.6), т. е. интересующее нас множество Х* оптимальных векто-  221 
ров в этом случае совпадает с множеством первых компо- нент седловых точек 2* = (х*, у*) = 2*(С, Х, У). Достаточность приведенпого признака оптимальпости была установлепа выше для произвольных задач МИ (см. теорему 41.2). В то же время доказательство необходимости этого признака для выделенного класса задач является весьма сложным и требует дополнительных сведений из тео- рии выпуклых множеств в Ё»„. Так как эти сведения в дру- гих разделах курса не используются, авторы сочли возмож- ным вынести доказательство в последнюю главу, посвящен- ную геометрической интерпретации задач математического программирования и геометрическому доказательству основ- ных теорем линейного и выпуклого программирования. Вме- сте с тем приведенная теорема 11.4 будет использоваться в следующем пункте при выводе дифференциального признака оптимальности для гладких задач ВП. 11.2.2. Приведенную в предыдущем пункте задачу ВП называют гладкой, если гладкими являются соответствую-  щие вогнутые функции }, #=0, т. Доказательство интере- сующего нас дифференциальпого призпака оптимальности для указанпых задач опирается на вспомогательпое утверж- дение, которое, по существу, уже формулировалось при из- ложепии численных методов решепия гладких задач без- условной выпуклой оптимизации. Лемма 11.2. Какова бы ни была гладкая вогнутая функ- ция ф, определенная на открытом выпуклом множестве  Ч <Е,„, содержащем положительный гипероктант Х = А*, точки максимума этой функции на Х характеризуются тем, что дф (=*) a <0, l= 1, n,  Ox;  причем  дф (=*)  Oz;  =0, ecau x;>0.  Теорема 11.5. Если рассматриваемая задача ВП является гладкой и удовлетворяет условило Слейтера, то допустимый вектор х*еХ" (см. 11.8) в том и только том случае явля- ется оптимальным, когда при некоторых неотрицательных 8: и й; имеет место векторное равенство  УЪ (2*) + _№ aVii(z*)+ У hye =0, (11.10) +=1(х*) jQT (x*) где Го (5*) = {И (2*) = 0}, Л (2*) = 127 =0]. (44.41)  222 
Доказательство. Покажем вначале, что если до- пустимый вектор 15* = Х°’ оптимален, то найдутся неотрица- тельные Е: и йЙ, удовлетворяющие приведенным соотноше- ниям (11.10) и (11.11). В указанном случае функция Лаг- ранжа (11.6) в силу теоремы 11.4 при некотором у*еУ =  = А+ удовлетворяет условию тах С (х, у*) = С (1*, у*) = шшаб (х*, у). — (14.42) xe x yeY  Но тогда с помощью приведенных выше вспомогательных утверждений (см. леммы 11.1 и 11.2) нетрудно проверить, что в качестве искомых неотрицательных 2; и й, могут быть приняты  * * 81 = у; tel, (z*), р, = — 292 ‚  + aa, о 1 = Ло (2*).  Предположим теперь, что рассматриваемому допустимому вектору х*еХ можно сопоставить неотрицательные р; и й,, удовлетворяющие соотношениям (11.10) и (11.141). Тогда опять-таки с помощью лемм 11.1 и 14.2 нетрудно проверить, что вектор у* с компонентами  Yi = Bir ie I, (x*), yi =0, 25 Го (x*),  удовлетворяет соотношениям (14.12) и, следовательно, до- пустимый вектор 1* является оптимальным в силу тео- ремы 11.2.  11.3. ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ГЛАДКИХ ЗАДАЧ ВЫПУКЛОГО ПРОГРАММИРОВАНИЯ (ОБЩАЯ ХАРАКТЕРИСТИКА)  11.3.1. B предыдущих главах читатель уже позна- комился с некоторыми итеративными алгоритмами решения матричных игр и гладких задач безусловной выпуклой оп- тимизации. В последние десятилетия подобные методы были разработаны также для решения выделенных выше гладких задач выпуклого программирования. Систематическому из- ложению различных классов таких методов посвящены де- сятки монографий. Однако в этой книге, рассчитанной на студентов технических и экономических вузов, мы ограни- чимся лишь кратким описанием трех конкретных алго-  ритмов. В дальнейшем предполагается, что исходные гладкие вогнутые функции fo, fi, .-- м в рассматриваемых задачах  223 
ВП определены па всем Е„ и удовлетворяют условию Слей- тера, т. е. открытые выпуклые множества  int X° ={z@e FE, |2;>0, j=1, 2, fi(z)>0, 5=1, т}  непустые. Кроме того, предполагается, что в этих задачах имеются оптимальные векторы и образуемые ими замкну- тые выпуклые множества Х* = [= ce X°| f, (c*) = max (2)\ (11.13)  xe xX 0  ограничены. В случае строго вогнутых целевых функций / последние, естественно, являются одноточечными. В интересующих нас итеративных методах с помощью выполнения некоторых идентичных шагов строятся так на- зываемые разрешающие последовательности точек 2^еЕЁ,, Е=М. В случае строго выпуклой целевой функции f, pa3- решающая последовательность сходится к единственному оптимальному вектору, а в общем случае эта последова- тельность является ограниченной и все ее предельные точки (т. е. пределы сходящихся подпоследовательностей zt’ = En $=М) принадлежат соответствующему замкнутому выпук- лому множеству (11.43). Особо выделим итеративпые алгоритмы, в которых коп- струируемые разрешающие последовательности удовлетво- ряют условию  ge Х°, ho (1“+') > ho (x*), keEN.  Такие алгоритмы называют методами последовательного улучшения допустимых векторов. С одним из них, часто используемым в практике, читатель познакомится в следую- щем пункте. 11.3.2. Излагаемый здесь алгоритм, именуемый мето- дом возможных направлений, пепосредственно связан с при- веденным выше следствием из утверждения 10.4 (см. п. 10.3.3). Для определения ключевого термина каждой  паре (2, г) = ХХ АЗ в исходпых множествах [= 441, 2,..., т}, /={4, 2... п} сопоставим подмножества 1, (2, в) = {= 11/1 (2) <}, То(х, =) =1,(х, =) 0 {0}, Л (х, =) ={е |, <}.  224 
Каков бы ни был допустимый вектор хе Х* в рассматрива- емой гладкой задаче ВП, ненулевой вектор [= Ё„ при фик- сировапном #>0 назовем -возможным направлением для х, если непустым является соответствующее множество  T (x, 1) = 1= А* |+ НеХ$}, и имеют место неравенства > 0, jeJ(z, =),  of, (+) . <УВ(а), р = Хе (а, 8). jer 9 Отвечающие допустимым векторам хе Х° множества &-возможных направлений обозначаются ниже через К(х, =). Нетрудно проверить, что эти множества выпуклы и вместе с каждым вектором { содержат все коллинеарные ему векторы Г =Н, 1 eR‘. Допустимые векторы х, кото- рым отвечают пустые множества А\(х, ), будем называть ё-оптимальными ®. В интересующем нас итеративном процессе на каждом шаге = М имеется некоторая пара (2*, =) =Х®Х В%. Для определения наиболее перспективного &,-возможного па- правления [= К (1^, e,) решается некоторая задача линей- пого программирования. Вспомогательная задача ЛП. На множестве (п-- 1)-мерных векторов [= (И, ..., ln, d= (1, SINE, XR, удовлетворяющих линейным ограничениям  6 = 0, l,={0, 1], jet (x, Ex), ,e[—1, 1], jeW\J,(z", En),  xP CV fi(z*), [> = > 1 |; = 6, iel, (x*, Ex),  jeJ максимизировать линейную функцию (Г) = 6.  В этой задаче, очевидпо, имеются допустимые векторы 1=(1 6)>Е ЕЖА (таков, в частности, нулевой вектор [=(0„, 0)), причем значения целевой функции на них удовлетворяют неравенствам  >. of, (x*) 0<s=yH(< > a iS > 7Е  JES  Of; (z*) . > ar. ; = I, (x*, Ep).  1) Эт не означает, что соответствующие величины /(х) отлича- ются от оптимальных меньше, чем на 2.  225 
А это озпачаст, что в приведенной задаче ЛП имеется, по крайней мере, один оптимальный вектор Г, = (Li, би)» Если полученное б» мопьше, чем =, то рассматриваемый вектор ‘Е Х‘ является г,-оптимальпым. В этом случае переходим к следующему шагу, полагая д”*' = 1^, 2+1 = 8,/2. Если же 6* > в, то переходим к выполпению второй вычислительной процедуры, состоящей в максимизации гладкой вогнутой функции ф (= fo(x*-+ tl) на непустом одномерном выпук- лом множестве [T (2°, 1,). Искомое *еТ(2^, 1) нет необ- ходимости вычислять с большой точпостью. В качестве #*  т(оВ 1* может быть принято, папример, такое # = T(x", 1,), что ф’ (Е) > 0, а для Е=1,1 1 имеет место противоположное не-  ‚ тв 1* равенство ф (7) >0, или же tel (x ‚1»). Для получения указанного { можно использовать метод делепия пополам  некоторого исходного достаточно большого отрезка [%, В] < = А., содержащего искомую точку #*. После выполнепия второй процедуры переходим к сле- дующему шагу, принимая на пем в качестве исходных век- тор 2+ = a*+ И и ва = 8. Для завершения описания алгоритма остается указать, каким образом определяется исходная пара (21, =.) = Х®Ж х В%. Что касается положительного параметра #., то оп выбирается произвольно, по не более чем па порядок мень- ше ожидаемого изменения целевой функции, так как это может замедлить вычислительный процесс. В то же время даже зпачительное завышепие указанной величипы пе мо- жет существенно повлиять на ход вычислительного процес- са, ибо через небольшое число шагов зпачепие этого пара- метра войдет в нужные пределы. Гораздо сложпее в общем случае определястся исходный допустимый вектор. С этой целью фиксируется пекоторый вектор 2! = Х = А'.. Если оп является допустимым, то сто можио принять в качестве исходпого па первом шаге опи- санного выше осповпого процесса. Если же соответствую- щая величина  с = min f; (x1) iel  оказывается отрицательной, то с помощью фупкций Го (1) = ле, 1: (#) = } (т) — т, — с, = Г, определепных па (пт 1)-мерпых векторах $ = (т, 4и,... д.) = (т, х)ЕАЖХЕ,,  226 
строится следующая вспомо- гательная гладкая задача выпуклого — программирова- ния. Вспомогательная за- дача ВП. Максимизировать линейную функцию fo(X)= —= 2 На выпуклом множе-  стве х В* | (1) >0, ЕП. Puc. 1.  Очевидным образом проверяется, что вектор 5 =Х = Аз в том и только том случае является допустимым в исход- ной задаче ВП, когда вектор 1 = (т, х)ЕВЖЁЕ, при некото- ром 1х > —с является допустимым в приведенной вспомо- гательной задаче ВП. Далее, для указанной вспомогательной задачи ВП в от- личие от исходной легко определяется некоторый допусти- мый вектор. Таков по построению, в частности, вектор 2, =(0, х'), отвечающий выделепиому вектору х!'ЕХ. А это означает, что для решения поставленпой вспомогательной задачи можно воспользоваться описанным выше алгорит- мом. В качестве =., учитывая приведенные выше соображе- пия, можно принять, например, 0, 1 |с|. Из сделанных пред- положений относительно исходной задачи следует, что че- рез некоторое число шагов мы получим допустимый вектор z= (xi, 2"), для которого > — с, и, следовательно, соот- ветствующий вектор 5” может быть принят в качестве ис- ходного для проведения основного процесса. Это завершает описание алгоритма последовательного улучшения допусти-  мых векторов. 11.3.3. В простейших вариаптах рассматриваемого здесь  метода штрафов выбирается некоторая дифференцируемая вогнутая функция одной веществепной переменной, припи- мающая отрицательные значения при всех $<0 и равная тождественно нулю при #0. Таковой может служить, на-  пример, функция — В при #< 0,  a(t) =| 0 при #>0, (11.14)  график который приведен на рис. 17.  227 
С помощью выбранной функции 4 строится последователь- ность так называемых штрафных функций  Ф, (1) = Ap x9 (fi (x)) + An & 4 (2;), хе Е», ic A, > 0, lim A, — +00, (11.15)  которые при сделанных предположениях являются вогнуты- ми и дифференцируемыми во всем Ё,. На допустимых век- торах хе Х° эти функции, очевидно, обращаются в нуль, а при хЕ Х° имеем  Ф, (zx) <0, lim OD, (x) = — ©. Е> со  Тем самым в решаемых затем задачах безусловной миними- зации гладких вогнутых функций  F, (2) = fo(z) + Ф, (=), КЕМ,  введенные вогнутые функции Ф, играют роль штрафов за выход из соответствующих множеств допустимых векторов. Получаемые указанным образом последовательности точек “ЕЁ, являются разрешающими. Это означает, в частно- сти, что если в рассматриваемой задаче ВП имеется единст- венный оптимальный вектор, то указаппая последователь- ность точек 4^ к нему сходится. Можно показать, что если используемые функции штра- фа (11.15) строятся на основе указанной функции (11.14), то приведенные вспомогательные задачи безусловной опти- мизации разрешимы при всех Ё = М. Указанные вспомогательные задачи безусловной мини- мизации, естественно, решаются приближенно. Количество шагов, необходимых для получения достаточно хороших приближений, существенно зависит от выбора начальных приближений. С этой точки зрения оказывается целесооб- разным, чтобы параметр 4. и отношения 4,/А,_, были не слишком большими, а в качестве начального приближения на каждом следующем этапе принималось приближенное решение, полученное на предыдущем этапе. Отметим еще, что в описанном варианте метода штра- фов приближение к искомому оптимальному вектору 2* происходит извне допустимого мпожества. Имеются также такие варианты метода штрафов, в которых приближение к искомому оптимальному вектору х* осуществляется по впутреппим точкам допустимого множества Х°. Однако здесь на этих вариантах останавливаться не будем. 11.3.4. В заключепие этого пункта позпакомим читателя с простеишим вариантом интенсивно развиваемого в пос-  228 
ледние годы метода модифицированных функций Лагранжа (в другой терминологии — метода штрафных оценок или штрафов со сдвигами). Рассматриваемые здесь модифицированные функции Лагранжа, как и приведенные выше классические функции Лагранжа (11.6), определяются па парах  ( )у+ЕХХУ= Аз Хх А+.  Однако соответствующие произведепия у:(5) здесь заме- няются функциями  Qi (zr, Yi) = iy [9 (vfs (x) — ys) + yi],  где Y— пекоторый положительный параметр, а в качестве 4 припимается рассмотренпая в предыдущем пункте глад- кая вогнутая функция (11.14). Таким образом, соответст- вующие модифицированные функции Лагранжа имеют вид  My (z, y) — Го (x) + 2 9 (т, Yi), (х, У) eX x Y. (11.16)  Указанные гладкие функции, как нетрудно проверить, во- гнуты по х и выпуклы по у. Для пояспения смысла второго слагаемого в (14.16) каждой паре (5, уе ХЖХУ сопоста- вим два множества  Iy(z, y)= tiel | 2 (2) < у/\}, Х* (у) = {= ХТ, (2, у) # D}.  Используя эти множества, а также определение функции 4, приведенпую модифицированную функцию Лагранжа мож- но переписать в виде  Му =. Х UMP +a Dy. ЕТ  oy iE 1, (x,y)  где среднее слагаемое играет роль штрафа за выход точки XL из соответствующего множества Ху (у). Принципиальным является то, что при сделанпых пред- положепиях относительно рассматриваемой гладкой задачи ВП множество 7*(М., Х, У) седловых точек приведенной модифицированной функции Лагранжа (11.16) совпадает с соответствующим множеством 2*(С, Х, У) седловых точек классической фупкции Лагранжа (11.6). На каждом шаге ке ММ, используя имеющуюся пару 2! = (1“-', у) еХХУ, с помощью приводимых ниже вычислительных процедур определяем очередную пару  229 
2^ = (2^, \)ЕХХУ. Исходная пара 2’ = (х°, у’)=ХХУ вы- бирается произвольно. Для описания используемых вычислительных процедур каждому вектору у’! У сопоставим гладкую вогиутую функцию фь (2) = M,(z, у), re xX.  Интересующие пас векторы z*]© X u y*=Y определяются из условий  фк (2*) = тах Ф, (2), х=ЕХ  у = шах (0, у? 1 — 77: (2')], tel.  Для определения векторов 2“еХ можио исиользовать опи- санный в предыдущей главе градиептпый метод мипимиза- ции гладких выпуклых функций f ua В, который можно рассматривать также как метод максимизации па А* глад- ких вогнутых функций ф = —}. Важно отметить, что указанную задачу максимизации гладкой вогнутой функции g, на В+ пет необходимости решать с болыной точностью. Иногда ограпичиваются лишь песколькими градиептными шагами из начальной точки 4^'.  ГЛАВА 12  ЦЕЛОЧИСЛЕННЫЕ ЗАДАЧИ С ЛИНЕЙНЫМИ ОГРАНИЧЕНИЯМИ  12.4. ОБЩАЯ ХАРАКТЕРИСТИКА ЗАДАЧ  12.1.1. Во мпогих конкретных проблемах оптимиза- ции некоторые из искомых параметров могут принимать только целочисленные зпачепия. Это приводит к необхоли- мости изучения экстремальных задач, в которых на иско- мый вектор х= (51, Le, ..., Ln) (12.1)  наряду с обычными линейными или пелинейными ограпи- чениями пакладывается требовапис целочислеппости звсох или некоторых из его компонент. Такого рода задачи ока-  230 
зываются весьма сложными и требуют специальных мето- дов исследования. НПосвященпый им раздел математического программирования пазывается целочисленным программи- рованием. В этой области работают большие коллективы учепых как в пашей страпе, так и за рубежом. Вместе с тем эффективные целочисленные методы разработаны лишь для весьма узких классов целочисленных задач. И это не удивительно, так как для указанных задач в общем случае не существует дифференциальных или других локальных при- знаков оптимальности. С аналогичпым положением мы уже встречались, когда речь шла о произвольпых задачах пели- нейного программирования. Рассматриваемые в этой главе задачи линейного цело- численного программирования (ЛЦИ) впешне мало отлича- ются от задач ЛП. К имеющимся ограпичениям в форме линейных уравпепий или перавенств добавляется лишь требование целочисленности фиксированных компонент искомого вектора (12.1). Для записи последнего заметим, что каждое вещественное число 2 однозначно представимо в виде 2=А-Ёр, где К — целое, а р=|0, 1[. При этом k называется целой частью числа 2 и обозначается через |} а р — дробпой частью этого числа и обозначается через {2}. Например, для 2, = 3,75 и 2, =—3,75 имеем [2.|=3, {21} = — 0,75, [2.]= —4, {25} =0,25. Число 2, очевидно, является целым тогда и только тогда, когда {2} =0. Поэтому требо- вание целочисленности компонент х, вектора (12.1) для  всех 7 из пекоторого подмпожества 7’ мпожества /= {1, п} может быть записапо в виде следующего условия:  {x} =0, ped’. (12.2)  Учитывая теперь, что каждая задача ЛП приводится к несимметричной канонической форме, для иптересующих пас задач можег быть припята следующая капоническая  форма. Основная задача ЛЦП. При заданных веществен-  ных числах  аа в, с, ЕТ = 1, т}, | Е/  максимизировать липейпуто функцито  p(x) = a сут) (12.3)  Ha множестве векторов (12.1), удовлетворяющих ограни-  231 
чениям  У ат; + в: = 0, iel, (12.5) jeJ  а также условию (12.2), где J’ — фиксированное подмно- жество множества .. Поставленная задача ЛЦИ называется полностью цело- численной, если 7’=.7. В противном случае эта задача на- зывается частично целочисленной. 12.1.2. Остановимся теперь па пекоторых копкретпых вопросах, которые не укладываются в рамки линейного программирования, но вместе с тем могут быть сформули- рованы на языке задач ЛЦП. При этом паряду с ограниче- ниями (12.5) будем допускать ограничения в виде линей- ных неравенств, которые, как мы знаем, легко сводятся к равенствам путем введения вспомогательпых переменных. Задачи е неделимыми способами. В осповной линейной модели производственного планирования (см. гл. 1) допуска- лось использование каждого из имеющихся производствен- ных способов с произвольной неотрицательной интенсивпо- стью х,. Однако в ряде случаев такое допущение оказывается слишком грубым. Например, если пропускная способпость запроектированного моста в полтора раза превосходит требуемую, то это не означает, что достаточпо построить 2/3 этого сооружения. Далее, для перевозки груза, в 2,3 раза превосходящего грузоподъемность судпа, потребуется, очевидно, не 2,3, а целых 3 рейса. Подобные ситуации сис- тематически встречаются при планировапии размещения предприятий и во мпогих других экономических задачах. При этом в модель приходится вводить требование цело- числепности отдельных переменных, и мы приходим к час- THYHO или полностьо целочисленпой задаче с линейпыми ограничениями. Сказанное не означает, что в моделях необходимо учи- тывать целочисленпость всех переменпых, которые по свое- му смыслу не могут принимать других значений. Если речь идет о способах, примепепие которых с единичной иптеп- сивпостью не связапо со сколько-нибудь значительными за- тратами, то требование целочисленпости соответствующих переменных вводить в модель не следует. Достаточно после расчета округлить полученные интенсивности до целочис- ленных. Например, если окажется, что для перевозки песка па строительство самосвалу требуется сделать 157,3 рейса, то в плане следует предусмотреть 157 или 158 рейсов.  232 
Задачи с начальными затратами. В экопомической прак- тике систематически встречаются задачи, в которых на ис- комый вектор (12.1) накладываются обычные линейные ограничения вида (12.4) и (12.5), но требуется мивимизи- ровать нелинейпую функцию  и (5) = > 3 (25), (12.6)  где О при #=0,  959 | при #>0. (12.7) При этом каждую из задапных величип 4; >0 можно ип- терпретировать как начальные затраты, которые не зависят от планируемой интенсивности х;, а связапы с самим фак- том использования данпого производственного способа. Мо- жет показаться, что сложность указанных задач связана с разрывом функций (12.7) в нуле. В действительности же основные затруднения вызываются тем, что функции (12.7) и, следовательно, порождаемые ими функции (12.6) явля- ются вогпутыми. Таким образом, в приведенных задачах па выпуклом множестве, определяемом условиями (12.4) и (12.5), ищется мипимум вогнутой функции. А такие зада- чи, как уже отмечалось в гл. 11, являются многоэкстре- мальпыми, и для них эффективных методов решения не су- ществует. Несмотря па отмеченпую сложность, поставленные зада- чи могут быть записаны на языке задач ЛЦИ. Для этого достаточно наряду с вектором (12.1), удовлетворяющим со- ответствующим ограничениям, ввести в задачу вектор 2 = (21, 22, ... 21), подчинив его условию  0 = 2, = 1, {z;} =0, 2; > бт, 7= У,  где 5 — некоторое фиксированное достаточно малое поло- ительное число. Далее, минимизируемую функцию (12.6) следует замепить линейной фупкцией  и (х, 2) = > (сл, | а;2,.  Нетрудно проверить, что если ненулевой вектор (12.1) — решение исходной задачи, то при 0<8<——  max {z,|j = 4, n}  233 
отот же вектор (12.1) вместе с вектором 2 с компонентами 2; =1 при х; > 0, 2, =0 при д, =0  образует решение поставленной частичпо целочисленной задачи, причем  к) = Хо = Х (+ 44) Е, 9.  Наоборот, если положительный параметр 5 выбран доста- точно малым и при этом векторы х и 2 образуют решение приведенной задачи ЛЦИ, то первый из этих векторов яв- ляется решепием исходпой задачи. Условия типа «или — или». Прожде всего заметим, что если условие |т| <1 легко учесть в задачах линейного про- граммирования, то близкое к нему (по внешнему виду) ус- ловие |х|>1 не может быть записано на этом языке. Это условие, означающее «или х>1, или —х > 1», определяет невыпуклое множество и, следовательно, пе допускает запи- си с помощью системы линейных неравенств. Предположим теперь, что на выпуклом мпожестве ХА" заданы две линейпые фуикции f,(x) u f.(x), a TaK- же вещественные числа 6, 6.. Выберем [| и [, так, чтобы  (2) НЫ -0, |, (2) Н+Ь20, хЕХ.  Покажем, что при Х, = {Ее Х]} (2) Ь, > 0}, Х, = {хе Хр (а) НВ, > 0}  следующее весьма общее условие типа «или — или» хеЕХ, ИХ, (12.8)  может быть записано на языке ЛЦП. Для этого введем по- вую переменную х„+1, удовлетворяющую условию  0 = 21+, = 1, {5141} =0, (12.9) и рассмотрим систему линейных неравенств fi(z)+ by + ти: 2 0, хЕХ,  (12.10 (5) Ь. +1 (1 — х..,)> 0, хеЕХ. Нетрудно проверить, что вектор (12.1) тогда и только тогда удовлетворяет условию (12.8), если при некотором Т"-: расширенный вектор 1 = (21, 1, ..., Хь, 2,.:) удовлет- воряет условиям (12.9) и (12.10). Задачи теории расписаний. Ограничимся рассмотрением простеишей задачи о составлении оптимального расписапия  234 
обработки т деталей па п станках при следующих предпо- ложениях:  (%) для каждой детали {Ее Г =={1, т} известно время ;,>0, пеобходимое для ес обработки па каждом стапке уе == {1, п}; (В) каждую деталь $е1 можно пачипать обрабатывать на стапке с номером #>1 лишь после того, как она прой- дет обработку на предыдущем станке с помером #— 1; (Y) снимать деталь со станка можно только после завер- шения ее обработки па этом стапке; (5) на станке пе могут одповремеппо обрабатываться две детали. Искомое расписание характеризуется матрицей {т} ег, дел, элементы которой указывают, через какое время планиру- ется начать обработку каждой детали $ па каждом станке 1. При этом должно достигать минимума общее время 5х вы- полнения всего комплекса работ. Ввиду предположений а, Ви 1 соответствующие величины должны удовлетворять линейпым ограничениям  Vit = 0, Lin + tin = Xo, iS I, Lig 2 Uy jar HE gua, je JM, ie 1.  Кроме того, учитывая предположение 5, для каждого стан- ка ] и любых двух деталей i’ *i” должно выполняться следующее условие типа «или — или»:  Lj = Lynj +- 11; ИЛИ 2" = 4’; + bij.  С помощью приема, изложенного выше, указанные усло- вия типа «или — или» могут быть переписаны на языке целочисленпого программирования, и тогда рассмотренная задача теорий расписаний сведется к некоторой частичпо целочисленной задаче ЛЦП. Важно подчеркнуть, что приведепные примеры возмож- ности сведения к поставленной основной задаче ЛЦИ сложных конкретных проблем, включающих различпые многоэкстремальные задачи, нельзя рассматривать как ка- кое-либо продвижение в решении соответствующих во- просов.  12.2. МЕТОДЫ ОТСЕЧЕНИЯ  Излагаемые здесь методы позволяют, в принципе, решить произвольную полностью целочисленную задачу ЦИ, в которой определяемое условиями (12.4) и (12.5) множество М, < Д” содержит, по крайпей мере, одии цело-  235 
числепный вектор, а липейпая фупкция (12.3) па этом мно- жестве ограничена сверху. Однако многочисленные экспе- риментальные расчеты показали, что в ряде случаев из-за больпого числа шагов и ошибок округления с помощью этих методов пе удается практически получить peice для совсем небольших задач ЛЦИ, например, размерпости т- п < 20. В других же случаях решепие паходится за сравнительно небольшое время для, казалось бы, более сложных задач, содержащих десятки ограничений и сотни переменных. В этой связи певольно вспоминается ответ знаменитого скульптора па вопрос о том, как он произво- дит свои замечательные монументы. Техпология оказывает- ся очень простой: берется камеппая глыба и от пес отсе- кается все лишнее. В методах отсечепия роль такой камеппой глыбы играет соответствующее множество М, < А". С помощью методов линейного программирования находится вектор <“) еМ,, на котором достигает максимума липейная функция (12.3). Если этот вектор не является целочисленным, то вводится новое линейное ограничение, которое отсекает от М, най- денный вектор, но не отсекает от него ни одной целочис- ленной точки. В полученном множестве М, = М, отыскива- ется вектор 5), доставляющий максимум той же функции (12.3). Если и этот вектор не является целочисленным, то строится новое множество М; = М) и т. д. При этом оказы- вается, что при определенном выборе дополнительных ог- раничений через конечное число шагов (если отсечение проводится подходящим способом) мы обязательно должны прийти к множеству М;, для которого максимум функ- ции (12.3) достигается на целочисленном векторе x", Последний, очевидно, является решением исходпой за- дачи ЛЦП. Впервые идея методов отсечения в применении к зада- чам ЛЦИ была высказана Данцигом. При этом предполага- ется некоторый конкретпый способ построения дополни- тельного линейного ограничения в случае, когда найден- ный вектор х“”, доставляющий максимум функции (12.3) на множестве ЛМ., не является целочисленным. Однако, как выяснилось впоследствии, при использовании предложенно- го Данцигом способа построепия дополнительных ограниче- ний процесс может оказаться бесконечным. При этом получаемая последовательность векторов 5?) в общем случае не сходится к искомому целочисленпому век- тору, а монотонно убывающая последовательность значе- пий максимизируемой фупкции на этих векторах, вообще  236 
говоря, пе сходится к ес зпачению па искомом целочислен- ном векторе. Дальнейшее развитие методов отсечения связапо с име- пем Гомори. Предложенпые им новые классы отсечений в отличие от отсечепий Данцига позволяют в принципе для любой разрешимой задачи ЛЦИ получить искомое опти- мальное решепие за конечное число шагов. В настоящее время методами отсечений серьезно зани- маются как в нашей стране, так и за рубежом, и в этой об- ласти имеются определенные достижения. В следующем пункте читатель познакомится с отсечениями Данцига, а простейшим отсечением Гомори посвящены пи. 12.2.3 и 12.3. 12.2.2. В целочисленном программировании в качестве капонической обычно рассматривается следующий частный случай приведенной выше основной задачи ЛЦИ (см.  m. 12.4.4). Каноническая задача ЛЦИ. При заданных се В, 1+7 =\{1, 2,....п} и целочисленных векторов Ot) = (sj, Goj, ..-, Amj), j God = {0, 1, 2, ..., nb, 20e  do=—b, iceI=U, 2, ..., m), (12.41)  максимизировать линейную функцию (12.3) на множестве неотрицательных целочисленных векторов (12.1), удовлет- воряощих условию ai = @° > 2,0) = a, (12.12)  jeJ  Предполагается, что определяемое условиями (12.4) и (12.12) мпожество М < А" содержит, по крайней мере, один целочисленпый вектор и максимизируемая функция (12.3) на множестве М ограничена сверху. Это означает, что рас- сматриваемая целочисленная задача разрешима. Кроме то- го, предполагается, что в соответствующей задаче линейно- го программирования (без учета условия целочисленности) имеются базиспые множества, т. е. такие т-элементные  множества К = {ie,, ko, eo ey Ки} = J, (12.13)  что отвечающие им векторы os, 5 = 1, т, линейно незави- симы и, следовательно, образуют базис в А". Процесс решения указанной канонической задачи ЛЦИ методом отсечепий можно разбить на этапы, на каждом из которых решается некоторая задача линейного программи-  237 
ровапия. Ёсли получаемое на очередном этапе оптимальное базисиое решение пе является целочислениым, то © по- мощью введения дополнительного ограничения конструиру- ется новая задача линейного программирования, которая решается па следующем этапе. Дополнительным ограпиче- пиям, отсекающим найденные нецелочисленпые оптималь- пые решения, должны удовлетворять все допустимые цело- численные векторы исходной задачи. Допустим, что на некотором этапе $ для соответствую- щей задачи ЛП, содержащей п=ип, переменных и т=т, ограпичений, получено базисное множество К =К, = 1 =У,, которое одновременпо допустимо и двойствеиио допустимо. Поэтому отвечающий ему вектор  2(К) = «* = (21, 42,.... а) (12.14)  оптимальпо в рассматриваемой задаче ЛП. Если у него имеются пецелочисленные компоненты, то указаппым выше требованиям, как нетрудпо проверить, удовлетворяет ло- полнительное ограничение  Dd ad. (12.15)  Действительно, для найденпого оптимальиого вектора имеем  * У Lj = 0—1. jeJ\K В то же время для любого отличного от пего допустимого BEKTOPa X= (x1, Yo, ..., In) имеет место строгое перавенство У х; >0. j=JINK  Следовательно, все допустимые целочисленные векторы удовлетворяют условию (12.15). Имепно это простейшее ог- рапичепие было предложено Дапцигом. 12.2.3. Введению и апализу дополнительных ограниче- пий Гомори, имеющих более сложную структуру, предпо- шлем одпо вспомогательпое утверждение. Лемма 12.1. Вектор  z= (a4, La, ..-4 Ln) (12.16)  в том и только том случае удовлетворяет условию (12.12), когда при некотором (но тогда и любом) базисном множе- стве (12.13) имеют место равенства  2 Siti = Bio CST, (12.47)  238 
где величины #; однозначно определяются из условий Хам = ай, 1.7 =, 1,...,п}. (12.18)  Доказательство. При любом базисном множестве (12.13) для соответствующих величин &:, однозпачпо опре- деляемых из (12.18), имеем  Ухо! = Уз; Хван = 2 (2 вит) ai, (12.19)  jeJ jeJ ie! =I \j=J & . 09 = У ви". (12.20) isI  При этом условис (12.12) означает совиадепие левых, а ус- ловие (12.17) — правых частей в (12.19) и (12.20). Поэтому указанпые соотношения (12.19) и (12.20) эквивалентпы, что и требовалось показать. Замечание. Учитывая (12.11) и (12.20), для каждого базисного множества (12.13) и отвечающего ему вектора х(К) имеем  810 — ТЕ, iel.  В рассмотренной ситуации, когда отвечающий найдеп- пому допустимому и двойственио допустимому базисному мпожеству К<7 оптимальный вектор (42.14) не является целочисленным, т. е. при пекотором №» е К дробная часть {nso} соответствующей компоненты вектора (412.14) поло- жительпа, Гомори предложил вводить дополнительное ог-  рапичение . _ У leis} 5 — (xn, ) SO, (12.24) j=J\K 0  где величипы &;; одпозпачно определяются из (12.18), причем . hy, = Bw (12.22)  Теорема 12.1. В описанной ситуации дополнительное о2- раничение (12.21) отсекает найденный оптимальный неце- лочисленный вектор (12.14), но все целочисленные допу- стимые векторы (12.16) этому ограничению удовлетворяют. Доказательство. Найденный пецелочисленный оп- тимальный вектор (12.14) в рассматриваемом случае удов-  летворяет условию  2; =0, jeINK, (ты. } >0-  А это означает, что ограпичение (12.24) его отсекает.  239 
Остается проверить, что все целочисленные допустимые векторы (12.46) удовлетворяют (12.21). Так как указан- ные векторы (12.16) допустимы, то в силу леммы 12.1 с учетом (12.22) получаем  , * > 810157 — Lind — Lie  9=7\К Следовательно, ot К ([Zios] + {8ioi}) 73 = lai, | 4+ {ange} т. е. Як {Sci} #5 = ([2ы.) —; Xx [81 23) + [ты (12.23)  При целочисленных допустимых векторах левая часть (12.23) является неотрицательной. А первое слагаемое в правой части совпадает с ее целой частью и потому неот- рицательно. Но тогда указанные целочислепные допусти- мые векторы удовлетворяют ограничению (12.21), что и требовалось показать.  42.3. ВЫЧИСЛИТЕЛЬНАЯ СХЕМА РЕАЛИЗАЦИИ МЕТОДА ГОМОРИ  12.3.1. Излагаемый здесь алгоритм решепия задачи ЦЛП опирается па приведенную выше теорему 12.1. В этом алгоритме на каждом этапе решается некоторая задача ЛП. Формирование очередной задачи осуществляется путем до- бавления к предыдущей некоторого липейного ограничения типа (12.21). Соответствующие величины 8.) ]ЕЛ\Ё, и  т, определяются из условий (12.18) и (12.22). Указанные  величины, как нетрудно видеть (см. п. 4.2), являются ко- эффициентами разложения внебазисных векторов 0, 7=Е\К, и вектора о’ =В по текущему базису К и, следова- тельно, совпадают с соответствующими элементами сим- плексной таблицы  G(K)=(gu), kK, j &J. (12.24)  Поэтому для решения возпикающих на каждом этапе задач ЛИ целесообразно использовать симплекс-метод, состоящий в преобразовании симплексных таблиц по формулам (4.16) и (4.17). На первом этапе с помощью прямого симплекс-метода решается псходная задача ЛП, в которой т ограничений и  240 
п перемеппых. При этом на каждом шаге имеются пекото-  poe JBM К и отвечающая ему симилексная таблица (12.24), в которой  8 20, К=К. (12.25)  В результате выполнения первого этапа получаем базисное множество К“), одповременно допустимое и двойствепно допустимое, а также отвечающую ему симплексную таблицу  G (k™) — (247) = козла  в которой 80 20, ЕК“, 8} <0, pas,  1 Если все gi) целые, то в качестве искомого может быть  принят найденный вектор 2*(К“)). В противном случае ® 1 a 1 фиксируем i такой, что 8 не целое, и переходим к 7 о  следующему этапу. Исходной информацией на каждом этапе у =, 3, будет симплексная таблица (v—1) *( (V—-1) G(K°-”) = (gh Jaca k(Y—D, jog (V1 (12.26)  в которой  gro >0, KEK’, gO) <0, aes), (12.27)  1 в ) отвечающий нецелочисленному элемен-  а также номер &”— (V-1) _ _* ss -(V—1) TY & (v-1) = T(v-y). U3 соответствующей строки &, °’ cumn- о 0 о лексной таблицы (12.26) выбирают внебазиспые элементы  BvD FETOOV KO) wg). Bare cormacuo (12.24) dop- о  i o о мируют новое ограничение, добавляя новую переменную Т"+.-1. Далее с учетом нового ограничения расширяют симплексную таблицу (12.24), полагая  hj = ny, k = ‚КВ, 1 Е seo, 8m+vj — 0, уе K°, Em+vj = (ото, 1 = Jor» АСИ, Em+v0 = — (от, о о (12.28) Er n+v = 0, k = КСО, Em+y ву = 1.  — ‚—1 Новое расширенное базисное множество К = Кб Ц И-у— 1} оказывается двойствеппо допустимым, по до- ичустимым опо не будет. Поэтому для решения соответству-  99. A. Мухачева, Г. Ш. Рубинштейн 241 
ющей задачи ЛП удобно использовать двойственный симп- лекс-метод. В результате получаем базисное множество К“, которое одновременно допустимо и двойственно допустимо, а также отвечающий ему оптимальный вектор 2*(K). Если последний является целочисленным, то процесс реше- ния задачи оканчивается. В противном случае переходят к выполнению следующего этапа. 12.3.2. Поясним описанный алгоритм Гомори на простом числовом примере *. Пример 412.1. Требуется максимизировать линейную  функцию | w(x) = —2, 7 22 на множестве двумерных целочисленных векторов t= (x 19 22) ’  удовлетворяющих условиям x,20, x. = 0, д. | т. <4, д. + 3х. < 9, — За. + 5. < 0.  Предварительно путем введения вспомогательных неотрица- тельных переменных 73, д; и т, — исходная задача ЛИ (без учета условия целочисленности) приводится к несиммет- ричной канонической форме (см. табл. 77, построенную по типу табл. 7). На первом этапе в качестве исходного ДБМ принимается К = {3, 4, 5}. Отвечающая ему симплекс- ная таблица приведена в первой части табл. 78, построен- ной по типу табл. 27. Там же приведены симплексные таблицы, отвечающие первому и второму шагам прямого  Таблица 77  m™ 1 2 3 4 5 3  1 1 1 1 0 0 —4 2 1 3 0 1 0 —9 3 —3 1 0 0 1 0 —1 1 0 0 0  ') Рассматриваемый пример подготовлен сотрудницей Института математики СО АН СССР Н. В. Шмыревой. у  242 
Таблица 78  j > 0 1 2 3 4 5 0 Шаг 0 0 —1 1 0 0 0 4 3 4 4 1 4 0 0 2 4 9 1 3 0 4 0 3 5 0 —3 4 0 0 4 0 Шаг 4 0 2 0 0 0 —4 4 3 4 4 0 4 0 —1 2 4 9 10 0 0 4 —3 3 2 0 —3 4 0 0 4 0 Ilar 2 1.8 0 0 0 —0.2 —0.4 1 3 0.4 0 0 1 —0.4 0.2 2 4 0.9 4 0 0 0.4 —0.3 3 2 2.7 0 4 0 0.3 0.4  метода. Так как последняя удовлетворяет условию (12.26), то соответствующие ДБМ К“? = {3, 14, 2} также двойствен- но допустимо и, следовательно, отвечающий ему пецелочис- ленный вектор  xz) = 2*(K)=(0,9; 2,7; 0,4; 0; 0) оптимален в рассматриваемой задаче ЛИ (без учета цело- численности). Фиксируя строку КИ — 2, отвечающую неце- лочисленной компоненте, переходим к следующему эта- ny v=2. Дополнительное ограничение (12.21), отсекающее най- денную нецелочисленную точку <‘), имеет вид  0,4, + 0,7х, — хз = 0,9.  В соответствии с (12.8) получаем расширенную симплекс- ную таблицу, приведенную в первой части табл. 79. Так как при этом ДДБМ К = &3, 1, 2, 6} недопустимо, выполня- ем процедуры двойственпого симплекс-метода. На первом шаге получаем симплексную таблицу (см. табл. 79), удов- летворяющую условиям (12.27). А это означает, что неце-  лочисленный вектор  xz = (1,287; 2,574; 0,143; 0; 1,287; 0)  является решением рассматриваемой задачи ЛИ (без учета .(2 целочисленности). Фиксируя строку (2) — 2, отвечающую  9* 243 
Таблица 79  i а 0 1 23 4 5 6 h 0 Шаг 0 1.3 0 0 0 —0.2 —0,4 0 4 3 0.4 0 0 1 —0.4 0,2 0 2 1 0.9 4 оо 0.4 —0,3 0 3 2 2.7 0 4 0) 0.3 0,1 0 4 6 —0.9 0 О 0 —0.1 —0,7 1 0 Шаг 4 1.287 0 О 0 — 0.143 0 —0.572 1 3 0.143 0 0 1 —0.429 0 0.286 2 4 1.287 1 оо 0.143 0 —0.429 3 2 2.574 0 14 O 0.286 0 0.143 4 5 1.287 0 оо 0.143 4 — 1.430  Таблица 80  i > 0 12 3 4 5 6 7 0 | Шаго 1.287 0 0 0 —0.143 0 — 0.572 0 1 3 0.143 0 0 1 —0.429 0 0.286 0 2 1 1.287 1 0 0 0443 0 — 0.429 0 3 2 2.574 0 1 0 0.286 0 0.143 0 4 5 1.287 0 0 0 0.143 1 —1.430 0 5 7 —0.286 0 0 0 —0.143 0 —- 0.572 4 0 | Mari 4 оо 0 0 0 0 —1 1 3 4 оо 1 0 0 2 —3 2 1 1 4 O 0 0 о -—1 1 3 2 2 о 1 0 0 0 —1 2 4 5 1 оо 0 0 1 —2 1 5 4 2 оо 0 1 0 4 —7  пецелочислеппой компопепте, персходпм к следующему этапу v = 3.  /jonorHuTeNbHoe orpanMuenne, oTceKalomee найдеппую пенелочислеппую точку д), имеет вид  0,75, - 0,5725 — х: = 0,286.  Соответствующие симплекспые таблицы приведепы в табл. 80. На первом шаге получаем симплекспую таблицу,  244 
удовлетворяющую условп- ям (12.27). Соответствую- щий оптимальный вектор  x =(1, 2, 4, 2, 5, 0, 0)  оказывается целочисленпым, и, следовательно, — вектор 1* =(1, 2) является иско- мым целочислеппым решс- пием исходпой задачи. Так как в приведенпом числовом примере лишь две существенных переменных, то описанный процесс реше- Рис. 18. maa задачи ЦЛИ допускает паглядную интерпретацию па плоскости. Предварительно выразим все неотрицательные вспомогательные переменные через две исходных:  Ly = 4— Ly— 22, д. =9— 2, — Это, ть = Эл! — т», L, = 0,17, + 0,72; — 0,9 = 22, — Hao, да == 0,1435, + 0,9722, — 0,286 — Я, — Lo — 1.  На рис. 18 изображено исходное допустимое множество (без условий целочисленпости), определяемое условиями  2,20, 2.20, 1. =4— 5. — 2.20, 2, =9 — 4, — 312 > 0, т; = 32,— 27,20  12.4. ПРОСТЕЙШИЕ ЗАДАЧИ ЛЦП, ДОПУСКАЮЩИЕ ЭФФЕКТИВНЫЕ МЕТОДЫ РЕШЕНИЯ  К интересующим нас задачам в первую очередь от- носятся задачи ЛЦП, в которых для любого ДБМ К опре- деляемый условием (12.11) допустимый вектор (К) будет целочисленным. Условие (12.2) в таких задачах, очевидно, не является обременительным. Для получения искомого це- лочисленного вектора достаточно с помощью прямого или двойственного метода последовательного улучшения, кото- рые были детально описаны в гл. Зи 4, решить соответст- вующую задачу ЛП. Указанный класс задач, к сожалению, является весьма узким. Он исчерпывается, по существу, рассмотренными  245 
выше транспортными задачами с целочисленными объема- ми производства и потреблепия и некоторыми близкими к ним, в которых все ненулевые элементы исходной матрицы  А = [ais] ЕТ, да? (12.29)  по абсолютной величипе равны единице. Кроме того, в каж- дом столбце указанной матрицы имеется пе более двух не- пулевых элемептов, а в случае двух таких элементов они имеют разпые зпаки. Другим примером задачи ЛЦП, для решепия которой имеются простые приемы, пе использующие громоздкой процедуры методов отсечения, может служить задача о за- грузке рюкзака (см. гл. 8). Для каждого 2 =0, 1, 2, через Х, обозначим множе- ство пеотрицательных целочислепных векторов (12.1), удов- летворяющих следующему липейпому неравенству: „рая  =  <2, где а; — заданные положительные целые числа. Ясно, что при 2< 2% = min а; соответствующего множества Х, со- I= стоят из единственного нулевого вектора. Однако при сравни- тельно небольших 2 (порядка 1000) и небольшом п (поряд- ка 20) множество Х, может содержать уже астрономиче- ское число векторов. Задача о загрузке рюкзака состоит в максимизации ли- нейной фупкции (12.3) на множестве Х, при некотором фиксированпом 5=6. Предложенный эффективпый метод решепия этой задачи базировался па том, что величипы (=) = шах и(х) обращаются в пуль при всех 2 < 3, а при xSAz  2—2 удовлетворяют следующему рекуррентпому cooTHo- шению:  f(z) = max le; + f (2— @j)], (12.30)  re J,={jeJla;<z}. Pemenue sagaym cocrour m3 двух этапов. На первом этапе для каждого 2=2., 6 по формуле (12.30) вычисляется величина [(2) и при этом запомипает- ся один из индексов }. Е/]:;, па котором достигается соответ- ствующий максимум. Таким образом, последовательно за- полняются все графы соответствующей таблицы типа табл. 58 (см. п. 8.2.1). На втором этапе с помощью обрат- ного хода, детально описанного в гл. 8, паходится искомый вектор х = Хь для которого (x)= f(D). Остановимся еще па одном важном классе задач ЛЦПИ, для которых существуют эффективные методы получения  246 
достаточно хороших приближен- пых решений. Эти задачи харак- теризуются специальпым строени- CM исходной матрицы (12.29). Первые т, строк этой матрицы могут быть произвольными. Что касается остальпых Г=т — ть Рис. 19. строк, то все пепулевые элемепты этих строк должны быть равпыми единице и образовывать подматрицу лестпичной структуры с однострочпыми бло- ками (см. рис. 19). Кроме того, свободные члены b; в условии (12.5) должны быть целыми и отрицательны- ми. Нетрудно проверить, что тогда для каждого ДБМ К</ определяемый из условия (12.11) допустимый вектор 2(К) может содержать не более Эт» нецелочислен- пых компопент. Например, при пи =5 и г= 995 из 4000 пенулевых компонент вектора х(К) нецелочисленными могут оказаться не более десяти. Указанным свойством, естественпо, обладает также получаемый при использовании прямого или двойственпого метода последовательпого улучшения оптимальный вектор (12.1), который отвечает базиспому множеству КсУ являющемуся одновре- менно допустимым и двойственно допустимым. Округляя нецелочисленные компоненты этого вектора до ближайших целых, получаем достаточно хорошее приближенное реше- ние для исходной задачи ЛЦИП. Заметим, что для решения соответствующих задач ли- нейпого программировапия имеются специальные методы, при использовапии которых трудоемкость процесса опреде- ляется в основпом величиной т, и мало зависит от г и п. Благодаря этому указанные задачи могут эффективно ре- шаться на небольших ЭВМ, например при т, - 60, г- 1000 и п ^^ 10000. Важно отметить, что целочислеппые задачи последнего типа систематически встречаются в экономической практи- ке, в частности в территориальном планировапии при ре- шении вопроса об оптимальпом размещении предприятий.  12.5. ОБЩАЯ ХАРАКТЕРИСТИКА КОМБИНАТОРНЫХ МЕТОДОВ  Остановимся теперь коротко на характеристике пти- роко используемых в практике комбинаторных методов, которые в значительно большей мере, чем методы отсече-  247 
IIMA, учитывают дискретный характер рассматриваемых задач. Ассортимепт таких методов настолько обши- рен, что мы не имеем возможности здесь их даже перечислить. Укажем только, что во многих из них используется подход, получивший наименование метода ветвей и границ. С помощью некоторого многошагового процесса (ветвле- ния) исходное множество М целочисленных точек мно- жества М., определяемого условиями (12.4) и (12.5), разби- вается на непересекающиеся подмножества. На каждом ша- ге процесса для соответствующего разбиения  M=U M®  8=1  с помощью индивидуальных приемов, учитывающих специ- фику рассматриваемого класса задач, находятся некоторая  целочисленная точка х® М и верхпие оценки 21 для значений линейной функции (12.3) на каждом из мно-  жеств М®. Если, по крайней мере, одна из полученных верх- них оценок превышает достигнутый «рекорд», т. е. значе- ние и (т) функции (12.3) в точке х“”, то процесс деления множеств продолжается. При этом на подмножества разби-  вается каждый раз наиболее «перспективное» множество  ®), для которого верхняя оценка =® — наибольшая. Если  же для всех $=1, 2, ... г» имеют место неравенства k . Е® < (5“^), то найденная целочисленная точка х%®, оче- видно, является оптимальной. Заметим, что при определении точек х® на каждом ша- ге пе исключается частичный или даже полный перебор  k точек некоторых из множеств М:. Что касается верхних  h onenor &, то они устанавливаются, как правило, с по- мощью решения вспомогательных задач ЛИ. 
ГЛАВА 13  ГЕОМЕТРИЧЕСКОЕ ДОКАЗАТЕЛЬСТВО ОСНОВНЫХ ТЕОРЕМ ЛИНЕЙНОГО И ВЫПУКЛОГО ПРОГРАММИРОВАНИЯ  13.1. ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ О ВЫПУКЛЫХ МНОЖЕСТВАХ  13.1.1. Рассмотрим некоторое более чем одномерное евклидово пространство Ё», элементы которого а = (а, а, ...  ... @т) будем называть точками с коордипатами а;, i = 1, m. Каковы бы ни были точки р, 4, р7-4, из Е, каждому {= Я сопоставим точку  a(p, q, t)=(1—t)pttqg=ptit(q—p)eEn, а каждому мпожеству Ге А — множество &(р, а, Г) = {а = (р, а, ЕТ} < Е».  Важно отметить, что при любом ае Ё»„ имеют место равен- ства  © (р, а, 1) Та=а(р та, ата, %), a(p, gq, Г) На=а(р а, ата, Т).  Простейшими геометрическими объектами в Ё» являют- ся проходящие через точки р, а, р=° а, прямые  П(р, а) = «(р, а, В), а также отрезки  ОГр, а] = %(р, а, [0, 4]) И открытые отрезки  О]р, [= о (р, а, 10, 1),  соединяющие точки р, 4, р7*а (с концами в этих точках). Аналогично определяются лучи  Л[р, а) =а(р, а, В+)  и открытые (затупленные) лучи JT] р, а) = а (р, Ц, R‘)  249 
6 вершиной в точке р, направленные в 6торону TOuwKm а7- р. Выпуклые множества Мс Е», как мы знаем, вместе с каждыми двумя своими точками р, 4, р7-4, содержат сое- диняющий их отрезок ОГр, 9]. Более узкий класс образуют так называемые аффинные множества До Ё»„, которые вме- сте с каждыми двумя своими точками р, 4, р == 4, содержат проходящую через пих прямую П(р, 4). Наконец, точку р выпуклого множества K CE, пазывают вершиной, если К вместе с каждой своей точкой 4, 47 р, содержит луч ЛГ, 4). При этом выпуклое множество К называют р-копусом, а при р =0 — просто конусом. Из приведенных определений непосредственно следует, что для каждого непустого множества Мо Ё» среди всех содержащих его аффинных множеств, выпуклых множеств и конусов имеются минимальные. Их называют аффинной, выпуклой и конической оболочками рассматриваемого мно- жества М и обозпачают соответственно через аЁМ, сопу М и сопе М. Указанные оболочки в случае бесконсчного множества М<Е»„ можно получить путем объединения соответствую- щих оболочек его конечных подмножеств  4 2 , A = {a', a®,..., a®}, (13.4) которые, как нетрудно проверить, допускают следующие па- раметрические представления:  п aff A = | = У! 2  j=1  У х; = |,  J=1  п cone A = {a = D>) ta) | 2;>0, j=T a  2—1  n nr conv A= fa = 3 aya Ух; =1, 1,20, j= 1, nl. j=1  j=1  В связи с этими параметрическими представлениями рас- смотрим линейное отображение, сопоставляющее каждой точке х = (ти, 12,... т) Е Е, точку  п А (5) = a 1:97 Em, j=  а каждому замкнутому MUlovkeccTsy XC E,, — samnuytoe множество  [^(Х) = {а = [^(1) 1еХ} = Е».  250 
Ввиду сказанного приведенные выше оболочки конечного множества (13.1) замкнуты, так как они совпадают с fa- образами стандартного аффинного множества  х 4) —= |, J=1  Ln — | = (z,, Lo, eo eg In)  положительного гипероктанта + = {z= (ay, Ly, ..., Ln) | 230, j = 1, n} и простейшего выпуклого множества Sn = Ln П RY,  которые, как петрудно проверить, являются замкнутыми. Доказанная попутно замкнутость конических оболочек ко- печных множеств, которые называют многогранными конуса- ми, будет использоваться в п. 43.2, а также в п. 13.4 при дока- зательстве основной теоремы линейного программирования. В заключение этого пункта отметим, что для получения замыкания выпуклого множества М < Е» достаточно допол- нить его концами содержащихся в нем открытых отрезков Ор, 94[. При этом выпуклое множество М и его замыкание с] М имеют одно и то же множество граничных точек и од- но и то же открытое ядро. 13.1.2. Рассматриваемые в этом пункте аффинные мно- жества До Ё», как уже отмечалось в п. 2.1, являются ос- новным предметом изучения в курсе линейной алгебры. В качестве упражнения читателю предлагается проверить равносильность следующих утверждений относительно не- пустого множества Ё < Ею. (1) Множество СЁ аффинно. (1) Множество №=Ё-— а‘ ={а—а]ае Г} не зависит от выбора элемента а’ = L. (11) При некотором (при любом) а’еЁ множество [и =Ё- а’ является линейным. (1) Рассматриваемое множество при некоторых a’ E,,,  $ = 0, г, где гЕ=[0, т — 1], представимо в виде т Ё = fa = a? + У! ха: |х == (Ly, Ly. +9 Lr) =F]. $=]  (у) При некоторых У’ еЁ»„\0, 2; =А, } =1, п, множе- ство решений системы линейных уравнений  и, а) + 2, =0, 1 =1, п,  совпадает с L.  251 
Каково бы пи было пепустое аффинпое множество Г< Е», под его размерностью 91 Ё и дефектной размер- ностью сода Г понимается размерность и дефектная раз- мерность линейного множества № =Ё— а’, которое в силу (1) не зависит от выбора элемента а’е Г. Напомним, что дефектной размерностью линейного множества № < Е» на- зывается размерность его ортогонального дополнения  Lo = {уе Ев | < У, a» = 0, aly},  а это означает, что дни С = да Г», софт Ё = m — dim L.  Наряду с одномерными аффиными множествами — прямыми — важную роль играют аффинные множества, имеющие единичную дефектную размерность. Их называ- ют гиперплоскостями. Нетрудно проверить, что при любом ненпулевом векторе уеЕЁ» и любом = А мпожество  Н = {а=е Е„| <у, а) = 2} (13.2)  является гиперплоскостью. В свою очередь, каждая гипер- плоскость Н<Е„ может быть задана указанным образом, причем соответствующий ненулевой вектор уе=Ё» и число ЕВ определяются по гиперплоскости Н с точностью до ненулевого множителя. | Какова бы ни была гиперплоскость (13.2), ее дополне- ние однозначно представимо в виде объединения двух непе- ресекающихся открытых выпуклых множеств  Сн = {= Ен |<у, а) <} бн={ае Ев | <у,а>> 3.  Эти множества называют открытыми полупространствами. Присоединяя к ним саму гиперплоскость Л, получаем зам- кнутые выпуклые множества  Ен = {а= Еш| (у, а) < 1}, Ен = {а= Еш| <у, а» > 2},  которые, как нетрудно проверить, являются р-конусами при любой точке реЕН. Эти множества называют замкнутыми полупространствами. Если непустое множество ACE, содержится в одном из замкнутых (соотв. открытых) полупространств, отвечаю- щих гиперплоскости НЯ, то говорят, что эта гиперплоскость выделяет (соотв. строго выделяет) множество А. Цалее, говорят, что гиперплоскость HCE, разделяет (соотв.  252 
строго разделяет) непустые множе- ства А и В, если они содержатся в различных замкнутых (соотв. от- крытых) полупространствах, OTBe- чающих рассматриваемой гипер- плоскости. Наконец, если гиперпло- Рис. 20. скость Н разделяет множества А и В и не пересекается с В, то говорят, что гиперплоскость Н строго отделяет множество В от А (см. рис. 20). Ввиду выпуклости открытых и замкнутых полупрост- ранств выделение и разделение произвольных непустых множеств сводятся к выделению и разделению их выпук- лых оболочек. Выделяющие гиперплоскости, естественно, не могут содержать внутренних точек соответствующих вы- пуклых множеств. Признаки существования для заданных выпуклых мно- жеств гиперплоскостей указанных типов называют теоре- мами отделимости. С основной теоремой отделимости выпук- лых множеств в евклидовых пространствах и некоторыми ее следствиями читатель познакомится в следующем п. 13.2.  13.2. ТЕОРЕМА МИНКОВСКОГО И ЕЕ СЛЕДСТВИЯ  Основы современной теории выпуклых множеств и выпуклых функций в евклидовых пространствах были за- ложены в работах выдающегося немецкого математика Гер- мана Минковского (1864—1909 гг.). Центральной идеей этой теорий является сопоставление рассматриваемым объектам (множествам и функциям) двойственных к ним объектов, которые определяются с помощью упоминавшихся выше тео- рем отделимости выпуклых множеств. Простейшая из них — приводимая здесь теорема Минковского. Теорема 13.41.Каковы бы ни были непустое замкнутое вы- пуклое множество МЕ» и точка 6=Е„\М, найдется ги- перплоскость Н, строго отделяющая эту точку OT М. Дру- гими, словами, при некотором ненулевом векторе У=Е»т и некотором Е В имеют место. неравенства  у, а> <, аЕМ, «у, 9) > 2. (13.3) Доказательство. Рассмотрим определяемую выде- лепной точкой 6ЕЁ„\М строго выпуклую фупкцию f(a) =<b—a, 6 —а>, аеЁЕ». Так как ее нижние лебеговы множества ограничены, то она на каждом непустом замкнутом выпуклом множестве  253 
достигает минимума в единственной точке а*. Покажам, что требуемым условиям удовлетворяют определяемые указан- ной точкой ненулевой вектор у=б-—а* и величина 2 = = <y, a*>. Последнее неравенство из (13.3) проверяется не- посредствено, так как  ‹у, 5> =<6-— а*, > = 6 —а*, 6 — а*> т 2> д.  Для доказательства справедливости остальных неравенств заметим, что они могут быть переписаны в виде  <b —a*, a—a*> <0, aeM. (13.4)  При этом из выпуклости множества М вытекает, что оно вместе с каждой своей точкой а содержит точки  1 qk — (1—-t} *41 2 g=a*+ | (a—a"), kEN.  Поэтому при любом Ё = № имеем 0< 1 (а*) — { (а*) = &— а b— ah) — (b —a*, 6 —а*) =  —= — «25 — а* — а*, ak — q*) = — (2b — 2a* — (a —a*),  + (a—a*)) = —(b—a*, a— a*) + (a —a*, a—a*),  T. е.  (b ~a*,a—a*)< a (a—a*, a —a*).  Из последних неравенств путем перехода к пределу при Е — -- < получаем требуемые неравенства из (13.4). Это за- вершает доказательство теоремы. Следствие. Каждое непустое замкнутое выпуклое множе- ство МеЕ»т совпадает с пересечением содержащих его зам- кнутых полупространств ЕЕ», граничные гиперплоскости которых имеют общие точки с М. Фигурирующие в приведенном следствии гиперплоскости Н<Ё»„, которые выделяют выпуклое замкнутое множество М и имеют с ним общие точки, называют опорными к М (в соответствующих граничных точках a* = М). Теорема 13.2. Какова бы ни была граничная точка а* замкнутого. выпуклого множества МЕ», она содержится в некоторой гиперплоскости Н < Ет, опорной к М. Другими словами, при некотором ненулевом векторе у%*еЕ»„ имеют место неравенства  ‹у*, а— а*> < 0, аеМ.  254 
Доказательство. Рассмотрим последовательность точек 5" = Е„\М, сходящуюся к заданной граничной точке а* Е М. В силу теоремы 13.1 для каждого Ё = М найдется такой ненулевой вектор уе Ёи, что  <y*,a—b) <0, aeM.  Но тогда в качестве искомого BeKTopa y*=E», может быть принят любой предельный вектор ограниченной последова- тельности нормированных векторов ~h y® y= КЕМ. [и | Это завершает доказательство теоремы. В заключение этого пункта отметим, что если рассмат- риваемое замкнутое выпуклое множество является конусом, в частности многогранным, то все его опорные гиперплос- кости однородны, т. е. содержат нулевой элемент. Это сле- дует из того, что если гиперплоскость Я < Е» содержит точ- ку а7*0 и не содержит нулевого элемента, то эта гипер- плоскость строго разделяет точки 0 и 24.  13.3. ГЕОМЕТРИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ  В теории линейного программирования (см. п. 2.2) основная и двойственная к ней задачи рассматривались в следующей форме. Основная задача. заданы вещественные числа а, Cj, t= 1, m, J = 4, n, и фиксированы разбиения каж- 9020 из множества [= {1, т}, } = {4, п} на два непересека- ющиеся подмножества  T=1,U Ih, ВПГ, =, J=I,U I, ПЛА =.  Требуется максимизировать линейную функцию п u(x) = D5 62; (13.5) j=1  на множестве п-мерных векторов x= (21, Xo, х.), (13.6)  255 
удовлетворяющих условиям  1,20, jeIs (13.7) > га» 13.8 a @:}7) + b; IS 0, i = Го. ( ° )  Двойственная задача. При исходных данных ос- новной задачи минимизировать линейную функцию  v(y) = 3S by; (13.9)  3—1  на множестве т-мерных векторов  У = (У1, Уз +. Ут), (13.10) удовлетворяющих условиям И: > 0, 1= Г, (13.11) т = 0, 1 еЕЛ., \ : . ”. 2 AisYi tC; le о, ел. (13.12)  Векторы (13.6), удовлетворяющие условиям (13.7) и (13.8), а также векторы (13.10), удовлетворяющие услови- ям (13.11) и (13.12), назывались допустимыми, а искомые допустимые векторы — оптимальными. Множества допусти- мых векторов в основной и двойственной задачах обознача- лись соответственно через Х и У. Для выяснения геометрического смысла приведепных задач рассмотрим в А"*! элементы  а} = (ал; Arj, +++) Amy, Ci), JS (4, п}, b° =(—b,, —b2, ..., — Dm, 0), е! = (0,..., 0, + 1,0,..., 0), ice {1,m+ 1},  a  с помощью которых определяются конечный конус К = {2 = 2 yal — Ушел: ЕВ, 1 ЕЛ,,  isl, 2; 20, 7 eI, m4 >0,iel,} (13.13) и прямая В = {6 (Е) = b° + te™+! = (—b,, —b,, вед —Dm, t) dren, (13.14)  параллельная последней координатной оси.  256 
Лемма 13.1. — Совокупность значений функции (13.5) на множестве допустимых векторов (13.6) совпадает с со-  вовупностью последних координат точек множества В ПК, Г. е.  {11(2)}ecx = {¢ © RID(t)] K}. Доказательство. Пусть вектор (13.6) является до- пустимым и {= (т). Тогда, как нетрудпо проверить, b(t) = (— b,, @eey — bm, U (z)) — = Zen — 3 (Baur +b) jad i=l, \j=1  где п т, > 0, Ле», “= У аул; | b, >0, iel,. 1—1  А это означает, что (р еК.  Наоборот, пусть при некотором #= А точка (1) принад- лежит конечному конусу К, т. е.  b (2) — (— b,, @ee, om, t) = 2 x;aj — 2 u;et, (13.15) = a  где д, > 0, ЕТ, u;, = 0, ie ],.  Тогда для соответствующего вектора (13.6) имеем х>0, Jed, —6:, iel,, 2 Mit 7 = b+u2—b, iel,,  p(x) = Хед; =. j=1  Таким образом, если (ре К при некотором #еД, то определенный соотношением (13.15) вектор (13.6) являет- ся допустимым, причем и(т)= +. Это завершает доказатель- ство леммы. Лемма 13.2. Вещественное число # в том и только том случае совпадает со значением функции (13.9) на некото- ром допустимом векторе (13.10), когда через точку 6(1) можно провести однородную гиперплоскость Н, строго отде- ияющую от конуса К луч  JL [b (t), b(t + 4)) = {b (t’) = (— By, oe, — Oi Eat (43.46)  257 
Доказательство. Пусть вектор (13.10) является допустимым и #=\(у). Тогда требуемыми свойствами об- ладает гиперплоскость ИН, задаваемая следующим однород- ным линейным уравнением:  Yidy + У2а> + eo. + Ymam + ani 0. (13.47)  Действительно, подставляя в это уравнение координаты точки 6(1), получаем  yi(—b,) +... + ym(—bn) tt=—v(y)+t=0.  Что Kacaetca Towek @= (di, de, ..., Am4i1) конуса (13.13) и точек b(t’) ayaa (13.16), то для них имеем  т т У Yia; + @т-1 < > У: (> AjjXj + У Сус; — =i i=. ‘jeJ jeJ  т = 2 2; (3 ау: Е os) <0,  Jao 1=1  Du(—b) +e =—v¥y)t+e =—t+t>0.  1—1  Таким образом, однородная гиперплоскость (13.17), дей- ствительно, проходит через точку 6({) и строго отделяет от конуса К луч (13.16). Допустим теперь, что имеется однородная гиперплос- кость Н, которая проходит через точку 6(1) и строго отде- ляет от конуса К луч (13.16). Тогда коэффициент при последней координате в уравнении этой гиперплоскости отли- чен от нуля, и, следовательно, это однородное уравнение мо- жет быть приведено к виду (13.17). Покажем, что соответ- ствующий вектор (13.10) является допустимым и функция (13.9) на этом векторе принимает значение, равное Ё Под- ставляя в (13,17) координаты точки 6 (#1), получаем  > У: (—6;) +t =0,  т У (у) = У б.у; = $.  1—1  Далее, так как для точек луча (13.16) имеет место не- равенство  » ¥i(—b) + =—v(_y) +e =—t+t'>0,  i=1  258 
то для всех точек а =(а., ..., Amyi) KOHyca К должно вы- полняться противоположное неравенство  a У:а; | ат: 30.  3—1 Подставляя в это неравенство точки а? (7 = J), —a' (j = J), —e'(i = Го),  которые, очевидно, принадлежат конусу К, получаем  т У а/; + с;<0, ] У,  jon] т — пили — 4 <0, jeJ,, —Y¥iS 0, ре [.,  откуда следует допустимость вектора (13.10). Это заверша- ет доказательство леммы. Установленная связь задач с конечным конусом (43.13) и прямой (13.14) позволяет дать следующую геометриче- скую интерпретацию этих задач. Основная задача сводится к разысканию крайней точки пересечения прямой В с ко- нусом К. В двойственной же задаче среди однородных ги- перплоскостей, пересекающих прямую В и строго отделя- ющих соответствующие (открытые) лучи этой прямой от конуса А, ищется такая гиперплоскость Н, которая пересекает прямую В как можно ниже. Важно отметить, что в от- личие, от, казалось бы, ес- тественной геометрической интерпретации рассматрива- емых задач в соответствую- щих пространствах А” и А", отвечающих числу перемен- ных в этих задачах, приве- денная интерпретация в пространстве А”*' позволя- ет анализировать основную и двойственную задачу одно- временно. В случае, когда т =1, отвечающие —рассматривае- мым задачам конус К и Рис. 21.  259 
прямая В принадлежат А? и, следовательно, могут быть изображены графически. На рис. 21 приведены четыре ха- рактерных примера. В случае (а) допустимые векторы име- ются как в основной, так и в двойственной задачах, т. е. X#OuVH#SO, | В случае (6) Х=®, Уз, а в случае (в), наоборот, Хэ, У= 9. Наконец, в случае (г) пи в одной из рас- сматриваемых задач нет допустимых векторов, т. е. Х= в и У=8.  13.4. ДОКАЗАТЕЛЬСТВО ОСНОВНОЙ ТЕОРЕМЫ ТЕОРИИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ  Прежде всего, используя приведенную геометриче- скую интерпретацию рассматриваемых задач, а также соот- ветствующую теорему отделимости из п. 13.2, докажем еще две важные леммы. Лемма 13.3. Предположим, что множество Х допусти- мых векторов в основной задаче непустое и при этом для некоторого & = В выполняются неравенства  и(1) < хЕХ. (13.18)  Тогда множество У допустимых векторов в двойственной задаче также не будет пустым, причем это множество содер- жит такой вектор (13.10), что (у) < bo. Доказательство. На основании леммы 13.2 мож- но утверждать, что в данном случае точка 6(%)= —=(—6., —6., .... —б», ®) не принадлежит конечному кону- су (13.13), но при некотором #й <& точка 6(й) прямой (13.14) принадлежит этому конусу. В силу теоремы 13.1 найдется однородная гиперплоскость Я, строго отделяющая от конуса К точку 6(&). Так как при этом 6 (В) е К, то ука- занная гиперплоскость будет пересекать прямую (13.14) в некоторой точке 6(1,), где & < В <, и строго отделять от конуса К положительный луч Л(Ь(Ь), 6(&%)). Но тогда, в’ силу леммы 13.2, в двойственной задаче найдется такой до- пустимый вектор (13.10), что у(у) =Ь <Ь. Это завершает доказательство леммы. Лемма 13.4. Пусть множество У допустимых векторов в двойственной задаче непустое и при этом для некоторого $ ЕВ выполняются неравенства у(у)>5, уеЕТ. Тогда множество Х допустимых векторов прямой задачи также не будет пустым, причем это множество содержит такой вектор (13.6), ито и (х)> 5. Доказательство. В п. 2.3 мы уже отмечали, что рассматриваемые основная и двойственная задачи являются  260 
задачами одного и того же типа. Наряду с этими задачами' были рассмотрены основная задача Г и двойственая к ней задача 1[*, в которых допустимые множества Х, У и линей- ные функции ц, у следующим образом связаны с отвечаю- щими исходным задачам: Х=У, У=Х, u(y)=—-v(y),  v(z)=— p(x). Учитывая эту связь, легко проверить, что множество Х = У допустимых векторов в основной задаче Т и величина & =— зе удовлетворяют условиям дока-  занной леммы 13.3. Следовательно, множество допустимых векторов У =Х в двойственной задаче Г* пе является пус- тым и найдется такой вектор хеУ =Х, что у (5) < ®, т. е. и (5) = —у(5)> —&= 5. Это завершает доказательство леммы. В приводимом ниже доказательстве основной теоремы линейного программирования помимо лемм 13.3 и 13.4 ис- пользуется еще элементарная лемма 2.41, доказаная в п. 2.3. Точнее, используется тот факт, что для любых допустимых векторов хЕХ и УЕУТ имеет место неравенство p(r)< —=\(у). Так как это неравенство непосредственно следует из приведенной в п. 13.3 геометрической интерпретации рас- сматриваемых задач, то на алгебраическую лемму 2.1 мы могли бы и не ссылаться. Приведем теперь формулировку и доказательство инте- ресующей нас теоремы. Теорема двойственности. Каковы бы ни были исходные данные, для соответствующих основной и двойственной за- дач имеет место один из следующих взаимоисключающих случаев. 1°. В основной и двойственной задачах имеются опти- мальные векторы х’ и у’, причем и(2)=\(у°). 2°. В основной задаче имеются допустимые векторы, но линейная функция (13.5) на множестве этих векторов не ограничена сверху. При этом в двойственной задаче допу- стимых векторов не существует. 3° В двойственной задаче существуют допустимые век- торы, но линейная функция (13.9) на множестве этих вев- торов не ограничена снизу. При этом в основной задаче Oo- пустимых векторов не существует. 14°. Ни в одной из рассматриваемых задач не существу- ет допустимых векторов. Доказательство. Предположим вначале, что в рассматриваемых осповной и двойственной задачах иметотся допустимые векторы, т. е. Х”Я и У == 9. Тогда ввиду (2.13) имеем и, = зари (5) < шЁХ (У) = %. хЕХ y=Y 261 
Если бы при этом для всех хе Х выполнялись строгие не- равенства (5х) <‘, то на основании леммы 13.3 нашелся бы такой вектор уеЕУ, что у(у) < %. Но это противоречит определению величины %\. Аналогично, если бы для всех y = Y выполнялись строгие неравенства (у) >> ро, то на ос- новании леммы 13.4 нашелся бы такой вектор хех, что и (<) >> мо, но это противоречит определению величины |о. Таким образом, в рассматриваемом случае обязательно най- дутся допустимые векторы 2‘еЕХ и уе У, для которых имеют место равенства и (х°) = у, \(У°’) = шо. Но тогда долж- ны дДостигаться равенства во всех неравенствах следую- щей цепочки: (20) < po S Vo Sv(y").  А это означает, что векторы x° u У’ являются оптимальны- ми и удовлетворяют соотношению 1(5°’) = \(у°), т. е. при Х == © и У= В реализуется случай 1°. Допустим теперь, что Х = Я, а У=®Я. Если бы при  этом оказалось, что зар и (1) < - ©, то нашлось бы ft = R, хеХ  удовлетворяющее условию (13.18). Но тогда множество У в силу леммы 13.3 не могло бы быть пустым. Полученпое противоречие означает, что в данном случае линейпая функция (13.5) на множестве Х не ограничена сверху и, следовательно, имеет место случай 2°. Следующая мыслимая возможность, когда Х= Я, а У-- Я, исследуется аналогично. С помощью леммы 13.4 мы убеждаемся, что при этом шШЁ м (У) = — © y=Y и, следовательно, имеет место случай 3°. Наконец, послед- няя возможность, когда Х = Я и У= Я совпадают со слу- чаем 4°. Таким образом, всегда имеет место один и только один из перечисленных в теореме четырех случаев, и теорема двойственности полностью доказана. Замечание. Из приведенного доказательства не вы- текает, что каждый из рассмотренных в теореме четырех случаев практически реализуется при некоторых исходных данных. Однако в этом легко убедиться путем рассмотре- ния четырех примеров (см. рис. 24).  262 
13.5. ГЕОМЕТРИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ ОБЩЕЙ ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ И ОТВЕЧАЮЩЕЙ ЕЙ ЗАДАЧИ О СЕДЛОВОЙ ТОЧКЕ  13.5.1. Отвечающее каждому непустому множеству Х линейное множество всех определенных на пем веществен- позначных функций условимся обозначать через Р(Х). Ис- пользуя это обозначение, общую задачу математического про- граммирования, рассмотренную в п. 11.1.1, можпо сформу- лировать следующим образом. Задача МП. При фиксированном непустом абстрактном  множестве Х и заданных функциях |, fi, ..- fm ua F(X) максимизировать целевую функцию | на множестве Х‘’ = {хе Хр} (1) < 0; #=1, т} (13.19)  так называемых допустимых элементов. Наряду с приведенной конкретной задачей МП при фик- сированных функциях }, ], ... [п из Ё(х) нас будет ин- тересовать также семейство таких задач, отвечающих раз-  личным целевым функциям де Ё(х). Допустимые множе- ства (13.19) во всех этих задачах, естественно, совпадают. Однако экстремальные значения  Hy, = SUP fo (2), (13.20) xeXx а также оптимальные множества Ху, = {2° = X°| fo (2°) = by,} (13.24)  во всех этих задачах совпадают лишь в тривиальном слу- чае, когда соответствующее допустимое множество (13.19) является пустым, и, следовательно, для отвечающих функ- циям ре Р(х) величин (13.20) и множеств (13.21) имеем  ру = — ©, Х,; = ©. (13.22)  Проведенное в гл. 11 исследование конкретных задач Mil базировалось па рассмотрении отвечающих им функций Лагранжа  т Gy, (х, у) = (x) +- > у: (2), (13.23) Vi определенных на парах 2 =(х, у) из 2 =ХХ У, где в каче-  стве Х принималось исходное абстрактное множество, а в «> т качестве У — положительный гипероктант В+ < Ет. При  263 
этом в множестве Й обобо выделяловь нодмножество Z;, = Zi, (X, Y),  образуемое парами 2* =(z*, y*), удовлетворяющими ус- JIOBHIO max G, (x, y*) = G, (x*, y*) = minG, (z*, y). (13.24) хех °° 0 у=У Такие пары именовались седловыми точками фупкции Лаг- ранжа (13.23). Седловые точки непосредственно связаны с интересующими нас оптимальными множествами (13.21). А именно: какова бы ни была седловая точка  :* — (2*, у) = 2, (13.25)  соответствующий элемент х*еХ является оптимальным в исследуемой задаче МП в силу установленной в гл. 14 тео- ремы 11.2. Ее доказательство опиралось на некоторые све- дения из теории игр, изложенные в гл. 9. Во избежание дальнейшего удлинения этой логической цепочки приведем непосредственное доказательство интересующего нас доста- точного признака оптимальности. Это оправдано еще и тем, что некоторые промежуточные выкладки будут использо- ваться в дальнейшем изложении. Лемма 13.5. Для пары 2* =(1*, у*)ЕХХУ в том и только том случае имеет место правое равеиство из (13.24), когда соответствующий элемент х*«=Х является допусти- мым в исследуемой задаче МП, а вектор у* = У удовлетво- ряет условию  yifi(x*) =0, t= 1, m, (13.26)  которое принято называть условием дополняющей нежест- кости. Доказательство. Прежде всего заметим, что если элемент х* Е Х не является допустимым, то  а; (x*, y*) > inf С, (x*, y) = — 00 0 у=У 0  при любом у* Е У. В то же время для всех допустимых эле- ментов х* = Х* при любом у* = У имеем  Gy, (2*, YU") > fo (2*) = Gs, (2*, Om) = min у, (x*, У). y=  Для завершения доказательства леммы остается заметить, что для допустимого элемента 1*ЕХ и вектора у*еУ в том и только том случае имеет место равенство @,, (х*, у*) ==  264 
=f, (z*), когда выполнено приведенное выше условие до- полняющей нежесткости. Следствие. Какова бы ни была седловая точка (13.25), соответствующий элемент х* Е Х является оптимальным в рассматриваемой задаче МП, т. е. справедлива теорема 141.2. Доказательство. Достаточно заметить, что в ука- занном случае в силу доказанной леммы 13.5 соответствую- щий элемент 5* = Х является допустимым в рассматривае- мой задаче МП, а вектор у*е у удовлетворяет условию дополняющей нежесткости. Но тогда для любого другого до- пустимого элемепта имеем  fa (2°) = Gy, (2°, y*) — Baths (2") < < Gy, (x°, y*) => Gy, (x*, y*) — fo (x*),  что и требовалось показать. 13.5.2. Геометрическое исследование интересующих нас семейств и конкретных задач МП, как и в случае задач ЛП, проводится в соответствующих (т + 1)-мерных ариф- метических евклидовых пространствах Е»„.1:. Однако эле- менты этих пространств, учитывая нумерацию исходных вещественнозначных функций, здесь удобней обозначать через а = (а, а., ..., 4»). В указанных евклидовых про- странствах особо выделим положительный гипероктант  ВТ — [а = (аа, ..., ат) Е Ета |1 20, #=0,т},  естественным образом упорядоченную нулевую координат- ную ось B= {b(t)=(t, 0, ..., O)] Enyilt = RB}, (13.27)  а также отвечающие фиксированным #*еА открытые лучи  Л]6 (#*), b(¢* +1)) = (b(t) ] Blt > t*}. (13.28)  Далее, при фиксированных функциях his fey ++) fm 03°F (X) каждой функции › Е Р(Х) сопоставим вектор-функцию  Fy, (x) = (fy (2), fr (2), «+ +1 fm (2)) <= Етць 2 © x, а также определяемое ею множество м, = @=Р, (2) -и|геХ, ие Вт} = Ета. (13.29) Важно отметить, что отвечающие функциям › ЕР(Х) мно-  яжества (13.29) имеют одну и ту же проекцию на коорди-  265 
натную гиперплоскость Но = {a = (dp, Qty wo ry On) = Emsslao = 0},  которая совпадает с множеством М. = {а=Р(х)-итеХ, иеНь и: > 0, $1=1, т} (13.30)  Лемма 13.6. Отвечающее функции к еР(Х) множество (13.29) в том и только том случае содержит точку В (%), когда для некоторого допустимого элемента хе Х° имеет  место неравенство {(x°) < ty. (13.34)  Доказательство. Предположим вначале, что отве- чающее функции »=Р(Х) множество (13.29) содержит точку 6 (К)е В. Следовательно, последняя при некоторых геЕХиие В "* представима в виде 6(1) = Р, (20) — и. Но тогда _ р (х°) = to + Uo = to, fi(z’) = И; = 0, i= 1, m.  А это означает, что элемент 2’е Х является допустимым и удовлетворяет требуемому неравенству (13.31). Наоборот, если допустимый элемент x° = X° удовлетво- ряет условию (13.34), то вектор w=(f,(z°)— bo, }(т), .„ т(<°)) неотрицателен. Но тогда принадлежность ин- тересующей нас точки множеству (13.29) следует из оче- видного равенства 6(1) = Е); (12°) —и. Это завершает до- казательство леммы. Следствие 1.Каковы бы ни были функции fi, fo, .. +, fm из Е(Х), следующие утверждения относительно порождае- мого этими функциями семейства задач МП равносильны. (1) Соответствующее множество (13.30) не содержит нулевого вектора. (1) Нулевая координатная ось (13.27) не имеет общих точек ни с одним из множеств (13.29). (111) Отвечающее рассматриваемому семейству допусти- мое множество (13.19) является пустым и, следовательно, при всех р еЕР(Х) имеют место равенства (13.22). Следетвие 2. При непустом допустимом множестве (13.19) отвечающие функциям реРЕ(Х) экстремальные значения (13.20) следующим образом связаны с осью (13.27) и со- ответствующим множеством (13.29):  ру, = пр [f= R[b(t) = M, | >— oo,  Следетвие 3. Допустимый элемент х* = Х® в том и толь- ко том случае является оптимальным в исследуемой задаче  266 
MII, xozda npu t* = f,(x*) rouxa b(t*) coenadaer с крайней точкой пересечения оси (13.27) с соответствующим множе- ством (13.29) и, следовательно, последнее не имеет общих точек с открытым лучом (13.28). Перейдем к выяснению геометрического смысла седло- вых точек (13.25). Рассмотрим произвольные функции fo, fi, ..-) fm u3 F(X), порождаемую ими задачу МП, а так- же отвечающую этой задаче функцию Лагранжа (13.23). Лемма 13.7. Следующие утверждения относительно пары 2% =(1*, у*) Е ХЖЕ»„ равносильны. (1) Вектор уфе Е» является неотрицательным и при этом указанная пара является седловой точкой соответству- ющей функции Лагранжа (13.23). (1) Элемент 1*«еХ является допустимым и при # = = fo(z*) определяемая линейным уравнением  а, -- а, +... + утат =  гиперплоскость Н = Н(1*, у*)< Ет.., содержащая точку 6(1*), выделяет множество (13.29) и, следовательно, строго отделяет от него соответствующий открытый луч (13.28). Доказательство. Предположим вначале, что рас- сматриваемая пара удовлетворяет условию (!). Тогда в си- лу леммы 13.5 соответствующий элемент 1* = Х является допустимым в исследуемой задаче МП, а вектор у*еУ удовлетворяет условию Дополняющей нежесткости (13.26).  Это означает, что при любых хеХ и ие АТ" имеем т fo {x) — № + > Yi (fi (x) ~ Ui) < G (x, у*) <> а (x*, у*) — t™,  т. е. справедливо утверждение (1). Предположим теперь, что рассматриваемая пара удов- летворяет условию (1). Так как при этом точки луча (13.28), очевидно, удовлетворяют строгим неравенствам  t+ Dd yi0> 2, =1  TO JIA BCexX TOTeK @&= MM; имеют место противоположные неравенства  ay + yia, + ... {- Утат <.  Это означает, в частности, что при любом A=1, m для  точек в) a — b (t*) __ e! = Му,  267 
ле чорез е обозначены орты соответётвующих коорди- натных осей,  * — < #,  eo * * * т. е. рассматриваемый вектор у* = (ул, уз, . ..з Ут) является пеотрицательным. При этом для точки Гу (х*) имеем  т fo (x*) + > иг: (2*) <= р(=*), i= означающее, что вектор у* е У удовлетворяет условию до- полняющей нежесткости (13.26). Но тогда для рассматри- ваемой пары 2*=(х*, у*) = ХЖУ в силу леммы 13.5 справедливо правое равенство из (13.24). Левое равенство  из (13.24) следует из того, что при всех хе Х имеют мес- то перавенства  би (т, у*) = + № vii (2) <t* = G, (x*, y*).  Это завершает доказательство леммы.  Puc. 22.  268 
Замечание. Установленную эквивалентноеть утверж- дений (1) и (1) можно рассматривать как геометрическое доказательство теоремы 11.2, которая была доказана в гл. 41, а в конце предыдущего пункта — другим методом. Для иллюстрации рассмотренной геометрической интер- претации на рис. 22 изображены множества (13.29) и оси (13.27), отвечающие шести задачам МП, в которых т = 1. Во всех этих задачах имеются оптимальные элементы, ко- торым отвечают крайние точки пересечения оси (13.27) с соответствующими множествами (13.29). Вместе c тем сед- ловые точки существуют только в четырех из этих задач (см. рис. 20).  13.6. ДОКАЗАТЕЛЬСТВО ОСНОВНОЙ ТЕОРЕМЫ ТЕОРИИ ВЫПУКЛОГО ПРОГРАММИРОВАНИЯ  Напомним, что в выпуклом программирования (см. гл. 11) в качестве основной задачи принималась следующая копкретизация общей задачи математического программиро- вания. Задача ВП. При заданных вогнутых функциях Ь, |, ..„ № определенных на некотором открытом выпув- лом множестве а < Е„, содержащем положительный гипе- роктант Х = В", максимизировать целевую функцию | на множестве допустимых векторов  Х° = {хе Х|]. (1) > 0, 5=1, т}.  При этом 060бо выделялись задачи ВЦ, удовлетворяющие следующему условию. Условие Слейтера. Для некоторого допустимого вектора 1’ Х° имеют место строгие неравенства  +(х’)> 0, = 1, т.  Замечание. Приведенное условие Слейтера означает, что нулевая координатная ось (13.27) при любой функции fo = F(X) содержит внутренние точки соответствующего множества (413.29). Таковыми являются, в частности, в©е точки (РЕВ при #< 1] (т). В этом заключительном пункте будет доказана приве- депная выше без доказательства основная теорема теории выпуклого программирования (см. теорему 11.4). Теорема Куна — Таккера. Если рассматриваемая задача ВП удовлетворяет условию Слейтера, то для оптимальности  269 
вектора те=Хс В" необходимо и достаточно, чтобы этот  вектор вместе с некоторым вектором у* = У = А1 образо- вывали седловую точку соответствующей функции Лагран- жа (13.23). Доказательство. Достаточность приведенного при- знака оптимальности для произвольной задачи МП была установлена выше без каких-либо дополнительных предпо- ложений в неоднократно упоминавшейся теореме 11.2 Ос- тается проверить, что для рассматриваемых здесь задач ВП, удовлетворяющих условию Слейтера, приведенный при- знак оптимальности не только достаточен, но и необходим. Заметим, что каковы бы ни были исходные вогнутые функции р, р, ... [м, определенные на произвольном вы- пуклом множестве ХеЁ,, порождаемое ими множество (13.29) является выпуклым. Действительно, в силу аналитического определения во- гнутых функций при любых 1) и х‘?) из Хифае [0, 1] век- торы  u(t) =F, ((t1—t) 2% + ta) — — (1— t) Fy, (2) — tFy, (2) & Pras  неотрицательны. Ho тогда интересующее нас множество (13.29) вместе с каждыми двумя своими точками  a) = Fy (2)—u®, e& eX, u GRE, i =1, 2,  содержит соединяющий их отрезок, так как при любом ¢ имеем  (1 — t) ай) 4 ta’? — (1 __ t) Е, (2) 4 + tF, (2) — [1 — 9 и + uw] = = Р,, ((1 — 1) = + ta) —u (2),  rye wu (t) = (1— tu 4+ tw + u(t) |R™*, Рассмотрим теперь произвольный оптимальный вектор 1* = Х* и отвечающую ему крайнюю точку пересечения оси (13.27) с соответствующим выпуклым множеством (13.29), т. е. точку 6(#*), где #* =} (1*). На основании доказанной выше теоремы Минковского (см. теорему 13.1) через ука- занную крайнюю точку можно провести гиперплоскость Но Е».., выделяющую соответствующее выпуклое множе-  270 
ство (13.29). Уравнение этой гиперплоскости, учитывая приведенное выше замечание о геометрическом смысле ус- ловия Слейтера, может быть приведено к виду  * ао -- у1а, -|- ++ Ут т = 1*,  Но тогда пара 2* = (2*, у*), образуемая исходным оптималь- ным вектором 15* Е Х* и вектором y* = (ут, уз, (5 Ут) = ЕЁ, является седловой точкой соответствующей функции Лагранжа (13.23) в силу доказанной выше леммы 13.7. Это завершает доказательство теоремы Куна — Таккера.  ЛИТЕРАТУРА  .Ашманов С. А. Линейное программирование.— М.: Наука, 1981. . Беллман Р., Дрейфуе С. Прикладные задачи динамического про- грамирования.— М.: Наука, 1965. . Булавский В. А., Звягина Р. А., Яковлева М. А. Численные мето- ды линейного программирования.— М.: Наука, 1977. . Васильев Ф. П. Численные методы решения экстремальных за- дач.— М.: Наука, 1980. . Вентцель Е. С. Исследование операщий.— М.: Советское радио, 1972. Гассе С. Линейное программирование.— М.: Физматгиз, 1964. Гейл Д. Теория линейных экономических моделей. M.: ИЛ, 1963. . Гольштейн Е. Г., Юдин Д. Б. Новые направления в линейном про- граммировании.— М.: Советакое радио, 1966. . Данциг Дж. Липейпое программирование, его обобщения и приме- пения. M.: Прогресс, 1966.  > CONDON м № вн  10. Демьянов В. Ф., Малоземов В. Н. Введение в минимакс.— М.: Нау- ка, 1972. 11. Ермольев Ю. М., Ляшко И. И., Михалевич В. С., Тюптя В. И. Мз-  тематические методы исследования операций.— Киев: Вища шко- ла, 1979. 12. Заславский Ю. Л. Сборник задач по линейному программирова- нию.— М.: Наука, 1969. 13. Зойтендейк Г. Методы возможных направлений.— М.: ИЛ, 1963. 14. Иоффе А. Д., Тихомиров В. М. Теория экстремальных задач.— М.: Наука, 1974. 15. Калихмаи Н. Л. Сборник задач по математическому программиро- вапию.— М.: Высшая школа, 1975. 16. Канторович Л. В. Математические методы организации и планиро- вания производотва.— Л.: Изд-во Ленингр. ун-та, 1 17. Канторович Л. В. Экопомический расчет наилучшего использова- ния ресурсов.— М.: Академиздат, 1959. 18. Канторович Л. В., Гавурин М. К. Применение математических ме- тодов в вопросах анализа грузопотоков // Проблемы повышения эффективности работы транспорта. М.: Академиздат, 1949.  271 
19. 20. 21. 22. 23.  24, . Математическое программирование // Под ред. Л. В. Каиторови-  26. 27. 28. 29. 30. 31.  Канторович Л. В., Залгаллер В. А. Рациопальный раскрой промыш- лепных маториалов.— Повосибирск: Наука, 19. Карманов В. Г. Математическое программирование.— М.: Наука, 1980. Корбут А. А., Финкельштейн Ю. Ю. Дискретное программирова- пис.— М.: Наука, 1969. Кюнци Г. П., Крелле В. Нелинейное программирование.— М.: Со- ветское радио, 1965. Линейные неравенства и смежные вопросы / Под ред. Г. У. Куна и Л. У. Таккера.— М.: ИЛ, 19559. МакКинеи Дж. Введение в теорию игр.— М.: Физматгиз, 1969.  ча.— М.: Наука, 1966. Моисеев Н. Н., Иванилов Ю. П., Столярова Е. М. Методы оптими- зации.— М.: Наука, 1978. Мухачева Э. А. Рациональный раскрой промышленных материалов. Применение в АСУ.— М.: Машиностроение, 1984. Нейман Дж., Моргенштерн О. Теория игр и экономическое пове- дение.— М.: Наука, 1970. Никайдо Х. Выпуклые структуры и математическая экопомика.— М.: Мир, 1972. Петрова Л. Т. Введение в сетевое планирование.— Новосибирск: изд-во Новосиб. ун-та, 1969. Применение математики в экопомических исследовапиях / Под ред. В. С. Немчинова.— М.: Соцэкгиз, 1959.  ‚ Пиеничный Б. Н., Данилин Ю. М. Численные методы в экстре- 33.  34.  мальных задачах.— М.: Наука, 1975. Рубинштейн Г. Ш. Конечномерные модели оптимизации.— Новоси- бирск; изд-во Новосиб. ун-та, 1970. Саати Т. Целочисленные методы оптимизации и связанпые с пими экотремальные проблемы.— М.: Мир, 1973.  . Фиакко А., Мак-Кормик Г. Нелинейное программирование. Методы  36. 37.  38. 39.  последовательной безусловной минимизации.— М.: Мир, 1972. Форд Л. Р., Фалкерсон Д. Р. Потоки в сетях.— М.: Мир, 1966. Хедли, joe Нелипейное и динамическое программирование.— М.: ир, 15301. Эрроу К. Дж., Гурвиц Л., Удзава Х. Исследования по линейному и нелинейному программированию.— М.: ИЛ, 1962. Юдин Д. Б., Голыптейн Е. Г. Задачи и мстоды липейного програм- мирования.— М.: Совстекое радио, 1961. 
ОГЛАВЛЕНИЕ  Предисловие к первому изданию . . . $ с $5 хх Предисловие ко второму изданию. . . + + + + хх Используемые понятия и обозначения. . . . ‹ . +  Глава  1. Основная линейная модель производетвенного плани- рования. . . . 1.1. Простейший. пример задачи рационального раскроя 1.2. Условный пример задачи оптимизации производ- ственной программы . . . 1.3. Обсуждение основных гипотез рассматриваемой модели производотвенного планирования . . . 1.4. Окончательная постановка задачи . . 1.5. Стоимостная характеристика оптимального плана 1.6. Примеры конкретизации основной модели. . .  Глава 2. Теория линейного и д  2.1. Общая характеристика лематики . . 2.2. Постановка основных задач и их предварительный анализ ® e о e e e e e  2.3. Основная теорема теории линейного программиро- вания и ее следствия. у 2.4. Две канонические формы. и в  Глава 3. Численные методы . . ОИ  3.1. Предварительные замечания. . . . . . о. 3.2. Основная часть прямого метода. .. . . . 3.3. Построение исходного допустимого базисного мно- жества. . ОИ 3.4. Двойственный метод. - eee  Глава 4. Вычислительные схемы реализации методов. . .  4.1. Использование ‚аппарата. обратных матриц. . . 4.2. Прямой и двойственный симплекс-методы . 4.3. Алгоритмический учет двусторонних. ограничений 4.4. Некоторые замечания о программной реализации описанных методов . . . . . . .  Глава 5. Алгоритмическое доказательство теоремы войствен-  Глава  ности. .. . 5.1. Лекоикографическое упорядочение и теоретиче- ские приемы преодоления зацикливания в пря- мом методе последовательного улучшения. . . 5.2. Доказательство теоремы двойственности . . . 6. Классическая транспортная задача . . . . 6.1. Постановка и теоретический анализ задачи. . . 6.2. Конкретизация прямого метода последовательного улучшения . 2 . 6.3. Некоторые модификации классической транспорт- ной задачи . . . . .  ©: сл  co  100 101  104 116 
Глава  Глава  7. Некоторые экстремальные задачи на графах. . . 74. Ориентированные и неориентированные графы 1.2. Приложепие графов к исследованию одного клас-  са матриц . . О 7.3. Сетевая транспортная задача д 7.4. Сетевое планирование . . . Глава 8. Простейшие задачи динамического программирова- ния . о а 8.1. Многошаговые процессы и рекуррентные COOTHO- шения . оо о 8.2. Задачи 06 оптимальной загрузке ‘рюкзака oe 8.3. Расчет рационального раскроя линейных материа- лов. . 8 ee 8.4. Гильотинный раскрой листового проката . 9. Матричные игры. . . оо 9.1. Об одной модели конфликтной ситуации а 9.2. Класс матричных игр. . . © со «© e« о  9.3. Доказательство теоремы Неймана . 9.4. Конечные методы решения матричных urp . 9.5. Об одном итеративном методе решения матричных игр. .  Глава 10. Гладкие задачи безусловной выпуклой оптимизации  Глава 11. Элементы выпуклого программирования  10.1. Евклидова метрика . 10.2. Некэторые сведения о функциях многих пере- _-~~ MCHHBIX . . О 10.3. Выпуклые и вогнутые функции, . 10.4. Дифференциальный признак вы выпуклых функций 10.5. Задачи выпуклой оптимизации (общая характе-  ристика). . .« ууу 10.6. Метод наименьших квадратов . . . . 10.7. Итеративные методы . . о @  11.1. Общая задача математического программирования 11.2. Задачи выпуклого программирования. . . 14.3. Численные методы решения гладких задач BBI- пуклого программирования (общая характеристи- ка  Глава 12. Целочисленные задачи e линейными ограничениями  12.1. Общая характеристика задач . 12.2. Методы отсечения . . . 12.3. Вычислительная схема реализации метода Tomopa 12.4. Простейшие задачи ЛЦИ, допускающие эффектив- ные методы решения . 12.5. Общая характеристика комбинаторных методов  Глава 13. Геометрическое доказательство основных теорем ли-  нейного и выпуклого программирования  . 13.1. Дополнительные сведения о выпуклых. мвожествах  Литература .  13.2. Теорема Минковского и ее следствия . . 13.3. Геометрическая интерпретация задач линейного программирования 13.4. Доказательство основной. теоремы ‘теории линей- пого программирования . 13.5. Геометрическая интерпретация ‘общей. задачи ма- тематического программирования и отвечающей ей задачи о сецловой точке... . . 13.6. Доказательство основной теоремы теории выпук- лого программирования о  120 120  128 145 152 154 160 167 173 178 182 185 188 192  197 199 205 208  211 216  221 223 230 230 240  245 247  249 253 255 260  263  269 271 
УДК 519.8  Мухачева Э. А., Рубинштейн Г. Ш. Мате- матичеекое программирование.—2-е изд. перераб. и доп.— Новосибирск: Наука, 1987.  Монография содержит систематическое изложение основ математического программирования — сложившейся в послед- ние десятилетия новой математической дисциплины, пред- метом которой являются теоретическое исследование и раз- работка эффективиых численных методов решения новых классов экстремальных задач, связанных © оптимизацией принимаемых решений в экономике, технике и других сфе- рах человеческой деятельности. Основное внимание в книге уделяется теории, численным методам и приложениям ли- нейного программирования, включая сетевое планирование и другие экстремальные задачи на графах. Рассматриваются также матричные игры, динамическое программирование, за- дачи безусловной выпуклой оптимизации, выпуклого и цело- численного программирования. Для математиков, преподавателей и студентов инженер- но-технических и экономических специальностей вузов.  Ответственный редактор д-р физ.-мат. наук А. А. Каплав  Рецензенты Д. В. Денисов, Р. Г. Стронгин  Элита Александровна Мухачева Геннадий Шлемович Рубинштейн  МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ  Утверждено к печати Институтом математики СО АН СССР  Редакторы издательства И. П. Зайцева, Т. Н. Рожковская Художествепный редактор Т. Ф. Каминина Художник С. Н. Машков Технический редактор Т. Н. Драгун Корректоры Т. В. Куркчиянц, С. М. Гохман  ИБ № 30186  Сдано в набор 04.02.87. Подписано в печать 23.06.87. МН-02657. Формат 84Х 1081/з›. Бумага типографская № 1. Обыкновенная гарнитура. Высокая пе- чать. Усл. печ. л. 14,3. Усл. кр.-отт. 14,5. Уч.-изд. л. 15,9. Тираж 8500 oxs. Заказ № 650. Цепа 1 р. 40 к.  Ордена Трудового Красного Знамени издательство «Наука», Сибирское от- деление. 630099, Новосибирск, 99, Советская, 18  4-Я типография издательства «Наука». 630077, Новосибирск, 77. Станислав- ского, 25.  mi 1502000000—857 45 90 ry 042(02) —87  © Издательство «Наука», 1987 г.