Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Нелинейное и линейное программирование

peshehod710
November 03, 2013

Нелинейное и линейное программирование

Конспект лекций

peshehod710

November 03, 2013
Tweet

More Decks by peshehod710

Other Decks in Education

Transcript

  1. Федеральное агентство по образованию Байкальский государственный университет экономики и права

    МАТЕМАТИКА-2 НЕЛИНЕЙНОЕ И ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ Учебное пособие для студентов экономических специальностей Иркутск Издательство БГУЭП 2007
  2. 2 Печатается по решению редакционно-издательского совета Байкальского государственного университета экономики

    и права Составители канд. физ.-мат. наук, доц. Е.В. Аксенюшкина, канд. физ.-мат. наук, доц. Н. В. Тарасенко, канд. физ.-мат. наук, доц. С.В. Тимофеев (кафедра математики) Рецензент канд. физ.-мат. наук, доц. А.И. Беликов МАТЕМАТИКА-2. Нелинейное и линейное программирование: учеб. пособие для студентов экономических спец. / сост.: Е.В. Аксенюшкина, Н.В. Тарасенко, С.В. Тимофеев. – Иркутск: Изд-во БГУЭП, 2007. – 104 с. Содержат курс лекций по основным разделам дисциплины Математи- ка-2 – Нелинейное и линейное программирование. Включает темы: Иссле- дование функций на безусловный и условный экстремумы, геометриче- ский метод решения задач ЛП, элементы теории двойственности, сим- плекс-метод, постоптимальный анализ задач ЛП, транспортные задачи ЛП. Все теоретические результаты иллюстрируются примерами. Рекомендуется для студентов экономических специальностей. Электронная версия: на сайте УМУ БГУЭП http://s.isea.ru © Издательство БГУЭП, 2007
  3. 3 Оглавление Введение .......................................................................................................................... 4 1. Нелинейное программирование (НЛП)...................................................................... 6

    1.1 Пример модели НЛП. Задача оптимизации производства.................................. 6 1.2. Некоторые вспомогательные понятия. Выпуклые и вогнутые функции .......................................................................... 7 1.3. Общая задача оптимизации. ................................................................................ 11 1.4. Геометрическое решение задач НЛП с двумя переменными............................. 12 1.5. Задача оптимизации без ограничений................................................................. 15 1.6 Задача оптимизации с ограничениями типа равенства........................................ 17 1.7. Ограничения типа неравенства............................................................................ 21 1.8. Принцип Лагранжа в задаче оптимизации производства................................... 23 2. Модели линейного программирования ...................................................................... 26 2.1. Постановка задач линейного программирования.............................................. 26 2.2. Каноническая и стандартная задачи ЛП ............................................................ 29 2.3. Эквивалентные преобразования задач ЛП......................................................... 30 2.4. Экономическая интерпретация стандартной и канонической задач.......................................................................................... 32 3. Геометрический метод решения задач ЛП................................................................. 34 4. Двойственность в линейном программировании....................................................... 42 4.1. Двойственные задачи линейного программирования........................................ 42 4.2. Симметричная пара двойственных задач........................................................... 43 4.3. Экономический смысл двойственной задачи..................................................... 44 4.4. Несимметричная пара двойственных задач ....................................................... 46 4.5. Связь между планами двойственных задач........................................................ 48 4.6. Условия равновесия............................................................................................ 50 4.7. Геометрический смысл условий равновесия ..................................................... 51 4.8. Экономический смысл условий равновесия ...................................................... 52 4.9. Экономический смысл оптимальных двойственных оценок ............................ 55 5. Свойства решений канонической задачи ЛП ............................................................. 56 5.1. Структура множества планов канонической задачи ЛП ................................... 56 5.2 Базисные планы канонической задачи ЛП.......................................................... 57 5.3. Расположение оптимальных планов канонической задачи ЛП ....................... 61 6. Симплекс-метод........................................................................................................... 61 6.1. Идея симплекс-метода ........................................................................................ 61 6.2. Реализация симплекс-метода на примере .......................................................... 65 6.3. Табличная реализация простого симплекс-метода............................................ 68 6.4. Метод искусственного базиса решения канонической задачи ЛП ................... 72 6.5. Связь между симплексными оценками и двойственными переменными......................................................................... 77 7. Постоптимальный анализ решения задач линейного программирования ................ 79 7.1. Построение модели и ее решение...................................................................... 80 7.2. Изменение коэффициентов целевой функции – цен продукции....................... 82 7.3. Изменение правых частей ограничений - запасов ресурсов.............................. 85 8. Транспортная задача ЛП ............................................................................................. 89 8.1. Постановка задачи и ее математическая модель ............................................... 89 8.2. Определение базисного плана транспортной задачи......................................... 94 8.3. Нахождение оптимального плана транспортной задачи ................................... 97 Литература....................................................................................................................... 103
  4. 4 Введение При решении задач, возникающих в экономике, часто встает

    вопрос о выборе наилучшего в некотором смысле варианта решения. При этом на поиск возможного варианта часто влияют разного рода факторы, сужаю- щие рамки выбора. Иначе говоря, требуется решить задачу оптимизации, которая состоит в необходимости выбора наилучшего варианта решений среди некоторого, как правило, ограниченного множества возможных ва- риантов. Задача оптимизации может быть сформулирована на языке матема- тики, если множество доступных вариантов удается описать с помощью математических соотношений (равенств, неравенств, уравнений), а каждое решение - оценить количественно с помощью некоторого показателя, на- зываемого критерием оптимальности или целевой функцией. Тогда наи- лучшим решением будет то, которое доставляет целевой функции наи- большее или наименьшее значение, в зависимости от содержательного смысла задачи. Так, например, при инвестировании ограниченной суммы средств в несколько проектов естественной является задача выбора тех проектов, которые могут принести в будущем наибольшую прибыль. При доставке в магазины продукции от различных поставщиков возникает за- дача минимизации транспортных затрат. Процесс формализации задачи называется построением ее математиче- ской модели. Он состоит из трех этапов. 1. Выбор параметров задачи, от которых зависит решение. Эти пара- метры будем называть управляющими переменными и обозначать n x x x ..., , , 2 1 , формируя из них вектор ) ,..., , ( 2 1 n x x x x = . Принять ре- шение – значит задать конкретные значения переменных. 2. Построение числового критерия, по которому можно сравнивать различные варианты решений. Такой критерий принято называть це- левой функцией и обозначать через ) , ... , , ( ) ( 2 1 n x x x f x f = . 3. Описание всего множества X допустимых значений переменных – ограничений, связанных с наличием материальных ресурсов, финан- совых средств, технологическими возможностями и т.п.. Математическая задача оптимизации состоит в нахождении такого до- пустимого решения ) , ... , , ( * * 2 * 1 * n x x x x = , которое доставляет целевой функ- ции наибольшее или наименьшее значение среди всех возможных реше- ний. X x x f x f ∈ = ), ( max(min) ) ( * . Следует отметить, что математическая модель всегда беднее реаль- ной экономической системы. Она описывает эту систему лишь приблизи-
  5. 5 тельно, выделяя одни свойства и пренебрегая другими. Для компенсации

    указанного недостатка в математической экономике разрабатывается не- сколько типов моделей, каждый из которых призван отразить какую-то од- ну определённую сторону экономической действительности с тем, чтобы при решении конкретной экономической задачи можно было подобрать такую модель, которая лучше всего к ней подходит. В зависимости от элементов моделей (исходных данных, искомых пе- ременных и типов зависимостей) можно провести следующую их класси- фикацию: Исходные данные Искомые переменные Зависимости Класс задач детерминирован- ные непрерывные линейные линейное программирование детерминирован- ные целочисленные линейные целочисленное программирование детерминирован- ные непрерывные, целочисленные нелинейные нелинейное программирование стохастические непрерывные линейные, нелинейные стохастическое программирование Изучение моделей оптимизации мы начнем с одного из основных классов - задач нелинейного программирования , в которых либо целевая функция f (x)- нелинейна, либо множество X описывается нелинейными соотношениями.
  6. 6 1. Нелинейное программирование (НЛП) 1.1 Пример модели НЛП. Задача

    оптимизации производства. Предположим, что некоторая фирма выпускает один вид продукции (товар), используя несколько видов затрат (сырье, материалы, трудовые и финансовые затраты, работа оборудования и т.д.). Реализация товара свя- зана с получением прибыли. Основная задача фирмы – запланировать объ- емы затрат на определенный период таким образом, чтобы обеспечить максимум прибыли. Проведем формальную постановку этой задачи. Пусть n – число видов затрат. Введем переменные n x x ,..., 1 со сле- дующим смыслом: j x – количество (объем) затрат j -го вида на планируе- мый период, n j ,..., 1 = . Понятно, что n j x j ,..., 1 , 0 = ≥ . Образуем вектор ) ,..., ( 1 n x x x = затрат с условием неотрицательности 0 ≥ x . Определим про- странство затрат как множество векторов затрат } 0 : { ≥ ∈ = + x R x R n n . Обозначим через ) (x f – количество выпускаемой продукции при затратах n R x + ∈ (объем выпуска). Понятно, что 0 ) ( ≥ x f . Функция f зада- ет связь между затратами на производство и выпуском продукции и назы- вается производственной функцией. Область ее определения – простран- ство затрат, область ее значений – множество неотрицательных чисел. Укажем основное свойство производственной функции, вытекаю- щее из ее содержательного смысла. Это свойство монотонности: сущест- вует такое подмножество n R Q + ⊂ (экономическая область), что для любых Q x x ∈ 2 1, с условием 2 1 x x ≤ выполняется неравенство ) ( ) ( 2 1 x f x f ≤ (уве- личение объема затрат ведет к увеличению выпуска продукции). Продолжим формализацию задачи. Пусть p – цена выпускаемого товара (стоимость единицы продук- ции), j c – стоимость единицы затрат j -го вида, n j ,..., 1 = . Образуем вектор цен по затратам: ) ,..., ( 1 n c c c = . Тогда при затратах x доход (выручка) фир- мы составляет величину ) (x pf , издержки (оплата затрат) – > =< + + + x c x c x c x c n n , ... 2 2 1 1 . При этом прибыль описывается выражением > < − x c x pf , ) ( (выручка минус издержки). Следовательно, основная задача фирмы в математической постанов- ке имеет вид (задача на максимум прибыли) . 0 max, , ) ( ≥ >→ < − x x c x pf
  7. 7 Как правило, задача рассматривается при дополнительных ограни- чениях на

    затраты, которые описываются неравенствами . ,..., 1 , ) ( m i b x g i i = ≤ Здесь ) (x g i – заданные функции. 1.2. Некоторые вспомогательные понятия. Выпуклые и вогнутые функции Рассмотрим ряд определений и результатов, связанных со свойством выпуклости. Пусть n R x x ∈ 2 1, – n - мерные векторы, ] 1 , 0 [ ∈ α – числовой пара- метр. Образуем точки . ) 1 ( 2 1 x x x α α α − + = Множество ] , [ } ] 1 , 0 [ , { 2 1 x x x = ∈ α α есть отрезок, соединяющий точ- ки . , 2 1 x x Определение 1.1. Множество n R X ⊂ называется выпуклым, если для любой пары точек 2 1 , x x имеем X x ∈ α для всех ] 1 , 0 [ ∈ α (если для любой пары точек X x x ∈ 2 1 , имеем X x x ∈ ] , [ 2 1 ). Определение 1.2. Функция ) (x f , определенная на выпуклом множе- стве X , называется выпуклой, если ) ( ) 1 ( ) ( ) ) 1 ( ( 2 1 2 1 x f x f x x f α α α α − + ≤ − + для всех X x x ∈ 2 1 , , ] 1 , 0 [ ∈ α . Определение 1.3. Функция ) (x f , X x∈ называется строго выпук- лой, если ) ( ) 1 ( ) ( ) ) 1 ( ( 2 1 2 1 x f x f x x f α α α α − + < − + для всех 2 1 2 1 , , x x X x x ≠ ∈ , ) 1 , 0 ( ∈ α . Пример выпуклой функции одной переменной изображен на рисунке 1.1 x f(x) ) ( ) 1 ( ) ( 2 1 x f x f α α − + f(x1) f(x2) x1 x2 Рис.1.1
  8. 8 Определение 1.4. Функция ) (x f , определенная на

    выпуклом мно- жестве X , называется вогнутой, если ) ( ) 1 ( ) ( ) ) 1 ( ( 2 1 2 1 x f x f x x f α α α α − + ≥ − + для всех X x x ∈ 2 1, , ] 1 , 0 [ ∈ α (Рис.1.2). x f(x) ) ) 1 ( ( 2 1 x x f α α − + f(x1) f(x2) x1 x2 Рис.1.2 Определение 1.5. Функция ) (x f , X x∈ называется строго вогнутой, если ) ( ) 1 ( ) ( ) ) 1 ( ( 2 1 2 1 x f x f x x f α α α α − + > − + для всех 2 1 2 1 , , x x X x x ≠ ∈ , ) 1 , 0 ( ∈ α . Укажем простейшие свойства выпуклых функций. Свойство 1. Если ) (x f выпуклая функция, то ) (x f − вогнутая функция и наоборот. Свойство 2. Линейная комбинация выпуклых функций с неотри- цательными коэффициентами – функция выпуклая. Пусть m i x f i ,..., 1 ), ( = – выпуклые функции, m i i ,..., 1 , 0 = ≥ α – не- отрицательные числа. Тогда функция ∑ = = m i i i x f x f 1 ) ( ) ( α является выпуклой. Свойство 3. Любой локальный минимум выпуклой функции на вы- пуклом множестве совпадает с ее глобальным минимумом. Любой локаль- ный максимум вогнутой функции на выпуклом множестве совпадает с ее глобальным максимумом. Для исследования дважды дифференцируемой функции на выпук- лость и вогнутость используется матрица вторых производных функции ) (x f .
  9. 9 Образуем симметричную матрицу вторых производных (матрицу Гессе)  

                ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ = ∇ 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 ) ( ... ) ( ) ( ... ... ... ... ) ( ... ) ( ) ( ) ( n n n n x x f x x x f x x x f x x x f x x x f x x f x f . Критерий выпуклости Пусть функция ) (x f дважды непрерывно-дифференцируема на вы- пуклом множестве X. Для выпуклости ) (x f на X необходимо и достаточ- но, чтобы матрица ее вторых производных была неотрицательно опреде- лена во всех точках множества X X x x f ∈ ≥ ∇ , 0 ) ( 2 . Для того чтобы функция ) (x f была строго выпуклой на X необхо- димо и достаточно, чтобы матрица ее вторых производных была положи- тельно определена во всех точках множества X X x x f ∈ > ∇ , 0 ) ( 2 . Свойство вогнутости и строгой вогнутости характеризуются обрат- ными неравенствами. При исследовании матрицы вторых производных на знакоопреде- ленность можно использовать критерий Сильвестра. Определение 1.6. Угловым минором k -го порядка некоторой квад- ратной матрицы называется определитель матрицы, состоящей из пересе- чений первых k строк и первых k столбцов исходной матрицы. Критерий Сильвестра. Симметричная матрица           = 33 32 31 23 22 21 13 12 11 a a a a a a a a a A является а) положительно определенной, если все ее угловые миноры поло- жительны 0 det , 0 det , 0 22 21 12 11 11 > >         > A a a a a a
  10. 10 б) отрицательно определенной, если все ее угловые миноры нечет-

    ного порядка отрицательны, а четного – положительны 0 det , 0 det , 0 22 21 12 11 11 < >         < A a a a a a в) неотрицательно определенной, если все миноры, образованные строками и столбцами исходной матрицы с одинаковыми номерами, неот- рицательны , 0 , 0 , 0 33 22 11 ≥ ≥ ≥ a a a , 0 det , 0 det , 0 det 33 32 23 22 33 31 13 11 22 21 12 11 ≥         ≥         ≥         a a a a a a a a a a a a 0 det ≥ A г) неположительно определенной, если все миноры, образованные строками и столбцами исходной матрицы с одинаковыми номерами, не- четного порядка неположительны, а четного – неотрицательны , 0 , 0 , 0 33 22 11 ≤ ≤ ≤ a a a , 0 det , 0 det , 0 det 33 32 23 22 33 31 13 11 22 21 12 11 ≥         ≥         ≥         a a a a a a a a a a a a . 0 det ≤ A Пример 1.1. Исследовать на знакоопределенность матрицу         = d c b a A Матрица является: положительно определенной, если 0 , 0 > − > bc ad a ; отрицательно определенной, если 0 , 0 > − < bc ad a ; неотрицательно определенной, если 0 , 0 , 0 ≥ − ≥ ≥ bc ad d a ; неположительно определенной, если 0 , 0 , 0 ≥ − ≤ ≤ bc ad d a . Во всех других случаях исходная матрица является знаконеопреде- ленной. Пример 1.2. Исследуем на выпуклость функцию 2 2 1 ) ( x x x f = на мно- жестве } 0 : { 2 2 > ∈ = x R x X .
  11. 11 Решение. Подсчитаем первые частные производные по переменным 1 x

    и 2 x 2 2 2 1 2 2 1 1 ) ( , 2 ) ( x x x x f x x x x f − = ∂ ∂ = ∂ ∂ . Образуем матрицу вторых производных               − − = ∇ 3 2 2 1 2 2 1 2 2 1 2 2 2 2 2 2 ) ( x x x x x x x x f 0 4 4 ) ( det 4 2 2 1 4 2 2 1 2 = − = ∇ x x x x x f . Поскольку , 0 2 , 0 2 3 2 2 1 2 ≥ > x x x а определитель матрицы равен 0, то . , 0 ) ( 2 X x x f ∈ ≥ ∇ Следовательно, функция ) (x f является выпуклой на множестве X . 1.3. Общая задача оптимизации Сформулируем общую задачу оптимизации в пространстве n R . Пусть заданы множество n R X ∈ и функция X x x f ∈ ), ( . Задача: найти точку максимума (минимума) функции ) (x f на мно- жестве . X Формальная запись задачи имеет вид , (min), max ) ( X x x f ∈ → (1.1) здесь ) (x f – целевая функция, критерий качества точки , x X – допусти- мое множество, множество допустимых точек. Пусть в задаче (1.1) множество X описывается системой ра- венств и (или) неравенств , ) , ( ) ,..., ( ... , ) , ( ) ,..., ( 1 1 1 1 m n m n b x x g b x x g ≥ = ≤ ≥ = ≤
  12. 12 где хотя бы одна функция } ,..., 1 {

    ), ,..., ( 1 m i x x g n i ∈ является нелинейной. Тогда задача (1.1) представляет собой задачу нелинейного программиро- вания. Пусть X – выпуклое множество, ) (x f – выпуклая на X функция. Тогда задача X x x f ∈ → min, ) ( называется задачей выпуклого программирования. Аналогично, если ) (x f – вогнутая функция, X – выпуклое множество, то задача X x x f ∈ → max, ) ( есть задача выпуклого программирования. Рассмотрим общую задачу на максимум . max, ) ( X x x f ∈ → (1.2) Определение 1.7. Точка X x ∈ * называется точкой глобального максимума функции ) (x f на множестве X или глобальным решением за- дачи (1.2), если ), ( ) ( * x f x f ≥ для всех X x∈ . (1.3) Неравенство можно записать в виде ). ( max ) ( * x f x f X x∈ = Определение 1.8. Точка X x ∈ * называется точкой локального мак- симума функции ) (x f на множестве X или локальным решением задачи (1.2), если ), ( ) ( * x f x f ≥ для всех X x∈ достаточно близких к точке * x . (1.4) Если неравенства в (1.3), (1.4) при * x x ≠ выполняются строго, то говорят, что * x – точка строгого максимума (глобального или локального). Понятно, что глобальное решение задачи (1.2) является локальным. Обратное, вообще говоря, неверно. Теорема 1.1. В задаче выпуклого программирования любое локаль- ное решение является глобальным. 1.4. Геометрическое решение задач НЛП с двумя переменными Рассмотрим задачу оптимизации, содержащую только две перемен- ные . , ) ( X x extr x f ∈ → (1.5) Как уже отмечалось, функция ) (x f называется целевой функцией, а множество точек X называется допустимым множеством задачи.
  13. 13 Определение 1.9. Линией уровня (изолинией) функции ) (x f

    назы- вается множество точек ) , ( 2 1 x x x = , в которых она принимает одно и то же постоянное значение h x f = ) ( , где h - некоторое число. Решить задачу нелинейного программирования графически – значит найти такие точки из допустимого множества, через которые проходит ли- ния уровня h x f = ) ( , имеющая максимальное или минимальное значение величины h из всех линий уровня, проходящих через допустимые точки задачи. Этапы графического решения задач нелинейного программирования можно сформулировать следующим образом. 1. На координатной плоскости строится множество допустимых то- чек задачи X . Если допустимое множество задачи пусто, то задача не име- ет решения. 2. Строятся линии уровня целевой функции h x f = ) ( при различных значениях параметра h . 3. Исследуется характер изменения линий уровня целевой функции при увеличении или уменьшении параметра h . 4. Определяется точка допустимого множества, через которую про- ходит линия уровня с максимальным (для задачи максимизации) или ми- нимальным (для задачи минимизации) значением параметра h . Если целе- вая функция не ограничена сверху (для задачи максимизации) или снизу (для задачи минимизации) на допустимом множестве, то задача не имеет решения. 5. Для найденной точки определяются ее координаты 2 * 2 * 1 * ) , ( R x x x ∈ = и значение целевой функции в данной точке ). , ( * 2 * 1 x x f Пример 1.3. Решить задачу нелинейного программирования , ) 1 ( ) 1 ( 2 ) ( 2 2 2 1 extr x x x f → + + − = . 2 , 3 2 1 ≤ ≤ x x Решение. Построим множество допустимых точек задачи. Перепи- шем первое неравенство в следующем виде 3 3 1 ≤ ≤ − x . Следовательно, границами множества точек удовлетворяющих этому условию являются прямые 3 , 3 1 1 = − = x x . Аналогично, границами множества точек, удовле- творяющих второму неравенству, являются прямые 2 , 2 2 2 = − = x x . Построим линии уровня целевой функции h x x = + + − 2 2 2 1 ) 1 ( ) 1 ( 2 . (1.6) Геометрически они представляют собой эллипсы. Каноническое уравнение эллипса с полуосями a и b имеет вид
  14. 14 1 ) ( ) ( 2 2 2 2

    2 2 1 1 = − + − b c x a c x , (1.7) здесь ) , ( 2 1 c c c = – центр эллипса (Рис.1.3). a a b b 2 x 1 x Рис. 1.3 Приведем уравнение (1.6) к более удобному виду для построения. Разделив уравнение на h , получаем 1 ) 1 ( 2 ) 1 ( 2 2 2 1 = + + − h x h x . (1.8) Выберем произвольное значение уровня h и построим соответст- вующую ему линию уровня. Пусть 2 = h , тогда уравнение (1.8) примет вид 1 2 ) 1 ( 1 ) 1 ( 2 2 2 1 = + + − x x . Это эллипс с полуосями 4 , 1 2 , 1 ≈ = = b a , центр которого находит- ся в точке ) 1 , 1 ( − = c . Пусть 4 = h , тогда уравнение (4.4) примет вид 1 4 ) 1 ( 2 ) 1 ( 2 2 2 1 = + + − x x . Это эллипс с полуосями 2 , 4 , 1 2 = ≈ = b a , центр которого находит- ся в точке ) 1 , 1 ( − = c . Следовательно, при возрастании уровня h размер эллипса увеличи- вается. Решая задачу на минимум, надо найти точку допустимого множест- ва, через которую пройдет эллипс наименьшего размера - с наименьшим значением h . Таким образом, минимум функции достигается при 0 = h , то есть в точке ) 1 , 1 ( * min − = x , а минимальное значение функции . 0 min = f
  15. 15 При решении задачи на максимум, найдем точку допустимого мно-

    жества, через которую пройдет эллипс наибольшего размера. Видим, что максимум функции достигается в точке ) 2 , 3 ( * max − = x , а максимальное зна- чение функции 41 max = f (Рис 1.4). x1 x2 2 -2 3 -3 . Рис. 1.4 1.5. Задача оптимизации без ограничений Пусть в общей задаче ограничения на вектор x отсутствуют, то есть n R X = . Тогда получаем задачу оптимизации без ограничений на перемен- ные . (min), max ) ( n R x x f ∈ → (1.9) Образуем вектор частных производных         ∂ ∂ ∂ ∂ = ∇ n x x f x x f x f ) ( ,..., ) ( ) ( 1 , который называется градиентом функции ) (x f в точке x . Вектор ) (x f ∇ − есть антиградиент функции ) (x f в точке x . Теорема 1.2. Пусть функция ) (x f непрерывно-дифференцируема на n R . Если * x – локальное решение задачи (1.9), то . 0 ) ( * = ∇ x f Определение 1.10. Точка n R x ∈ называется стационарной точкой функции ) (x f , если . 0 ) ( = ∇ x f Согласно теореме, любое локальное решение задачи (1.9) является стационарной точкой функции ) (x f . Обратное, вообще говоря, неверно. Исключение составляют задачи выпуклого программирования.
  16. 16 Теорема 1.3. Достаточные условия глобального экстремума непре- рывно-дифференцируемой функции

    в задаче без ограничений. 1. Если ) (x f – выпуклая функция и в точке * x градиент функции ) (x f равен 0 ( 0 ) ( * = ∇ x f ), то * x точка глобального минимума функции ) (x f на n R . 2. Если ) (x f – вогнутая функция и в точке * x градиент функции ) (x f равен 0 ( 0 ) ( * = ∇ x f ), то * x точка глобального максимума функции ) (x f на n R . В заключении опишем схему исследования задачи (1.9) на экстре- мум. 1. Находим все стационарные точки функции ) (x f , решая систему уравнений . ,..., 1 , 0 ) ,..., ( 1 n j x x x f j n = = ∂ ∂ 2. Проверяем стационарные точки на минимум и максимум. Строим матрицу вторых производных функции ) (x f               ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ = ∇ 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 ) ( ... ) ( ) ( ... ... ... ... ) ( ... ) ( ) ( ) ( n n n n x x f x x x f x x x f x x x f x x x f x x f x f . Если а) ) ( 2 x f ∇ в стационарной точке положительно определена, то най- денная точка является локальным минимумом. б) ) ( 2 x f ∇ в стационарной точке отрицательно определена, то най- денная точка является локальным максимумом. в) ) ( 2 x f ∇ в стационарной точке неотрицательно определена, то най- денная точка подозрительна на локальный минимум. г) ) ( 2 x f ∇ в стационарной точке неположительно определена, то найденная точка подозрительна на локальный максимум. 3. Если функция f(x) – выпукла, то стационарная точка является точ- кой глобального минимума, если же f(x) – вогнута, то стационарная точка является точкой глобального максимума.
  17. 17 Пример 1.4. Исследовать на экстремум функцию . , 15

    2 ) ( 2 2 2 1 2 2 2 1 R x x x x x x x f ∈ + + − + = Решение. Подсчитаем частные производные по переменным 1 x и 2 x . 1 4 ) ( , 2 ) ( 1 2 2 2 1 1 + − = ∂ ∂ − = ∂ ∂ x x x x f x x x x f Система для нахождения стационарных точек имеет вид    = + − = − 0 1 4 0 2 1 2 2 1 x x x x Решением является точка ) 7 2 ; 7 1 ( − − = x . Исследуем полученную точ- ку на экстремум, для чего построим матрицу вторых производных функ- ции ) (x f :         − − = ∇ 4 1 1 2 ) ( 2 x f . Поскольку угловой минор первого порядка равен 2, а угловой минор второго порядка равен 7, то матрица является положительно определен- ной. Таким образом, функция ) (x f , 2 R x ∈ – строго выпуклая функция. Поэтому стационарная точка ) 7 2 ; 7 1 ( − − = x является точкой глобального минимума функции ) (x f на 2 R . 1.6. Задача оптимизации с ограничениями типа равенства Рассмотрим задачу оптимизации , (min), max ) ( X x x f ∈ → в которой допустимое множество X описывается системой уравнений: }. ,..., 1 , ) ( : { m i b x g R x X i i n = = ∈ = Получаем задачу с ограничениями равенствами (min), max ) ( → x f (1.10) . ,..., 1 , ) ( m i b x g i i = = (1.11) Задача (1.10),(1.11) называется задачей на условный экстремум. Для невырожденности задачи предположим, что . n m < При этом ус- ловии система уравнений (1.11) будет иметь бесконечное множество ре-
  18. 18 шений и задача состоит в нахождении наилучшего решения, доставляюще-

    го целевой функции наибольшее или наименьшее значение. Сформулируем необходимое условие локального экстремума в зада- че – правило множителей Лагранжа. Введем в рассмотрение функцию Ла- гранжа . ) ) ( ( ) ( ) , ( 1 ∑ = − − = m i i i i b x g x f x L λ λ Числа m i i ,..., 1 , = λ называются множителями Лагранжа, ) ,..., ( 1 m λ λ λ = – вектор множителей Лагранжа. Отметим очевидное свойст- во функции Лагранжа: если X x∈ , то ). ( ) , ( x f x L = λ Предположим, что в задаче (1.10), (1.11) функции ) (x f , m i x g i ,..., 1 ), ( = непрерывно-дифференцируемы в любой точке n R x ∈ . Принцип Лагранжа. Пусть * x – локальное решение задачи на ус- ловный экстремум. Тогда существует такой ненулевой вектор ) ,..., ( * * 1 * m λ λ λ = , что . ,..., 1 , 0 ) , ( * * n j x x L j = = ∂ ∂ λ (1.12) Определение 1.11. Точка X x ∈ называется стационарной точкой задачи (1.10), (1.11), если существует такой вектор m R ∈ λ , что выполня- ются условия . ,..., 1 , 0 ) , ( n j x x L j = = ∂ ∂ λ Данные равенства называются условиями стационарности. Согласно принципу Лагранжа любое локальное решение задачи (1.10), (1.11) является ее стационарной точкой. Выделим класс задач, для которых справедливо обратное утверждение. Пусть функция ) (x f вогнута (выпукла) на n R , а функции ) (x g i яв- ляются линейными: m i x a x g i i ,..., 1 , , ) ( = > =< ( n i R a ∈ ). Рассмотрим задачу выпуклого программирования (min), max ) ( → x f (1.13) m i b x a i i ,..., 1 , , = >= < . Теорема 1.4. Любая стационарная точка задачи (1.13) является ее решением. Опишем схему исследования задачи (1.10), (1.11).
  19. 19 1. Найдем стационарные точки задачи. С этой целью необходимо

    составить функцию Лагранжа ) , ( λ x L и приравнять к нулю ее частные про- изводные по всем переменным , ,..., 1 , 0 ) ,..., ( ) ,..., ( ) , ( 1 1 1 n j x x x g x x x f x x L m i j n i i j n j = = ∂ ∂ − ∂ ∂ = ∂ ∂ ∑ = λ λ m i b x x g x L i n i i ,..., 1 , 0 ) ,..., ( ) , ( 1 = = − = ∂ ∂ λ λ . В результате получаем систему ) ( m n + уравнений с ) ( m n + неиз- вестными . ,..., , ,..., 1 1 m n x x λ λ 2. Проверяем стационарные точки на минимум и максимум. Строим матрицу вторых производных функции ) , ( λ x L по x               ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ = ∇ 2 2 2 2 1 2 1 2 2 1 2 2 1 2 2 ) , ( ... ) , ( ) , ( ... ... ... ... ) , ( ... ) , ( ) , ( ) , ( n n n n x x x L x x x L x x x L x x x L x x x L x x L x L λ λ λ λ λ λ λ . Если а) ) , ( 2 λ x L x ∇ в стационарной точке положительно определена, то найденная точка является условным локальным минимумом. б) ) , ( 2 λ x L x ∇ в стационарной точке отрицательно определена, то найденная точка является условным локальным максимумом. в) ) , ( 2 λ x L x ∇ в стационарной точке неотрицательно определена, то найденная точка подозрительна на локальный минимум. г) ) , ( 2 λ x L x ∇ в стационарной точке неположительно определена, то найденная точка подозрительна на локальный максимум. 3. Если задача (1.10),(1.11) – задача выпуклого программирования, то любая стационарная точка является ее решением. Пример 1.5. min, ) ( 2 2 2 1 → + = x x x f . 4 2 1 = − x x Решение. Это задача выпуклого программирования. Найдем стацио- нарные точки. Функция Лагранжа для этой задачи имеет вид ). 4 ( ) , ( 2 1 2 2 2 1 − − − + = x x x x x L λ λ
  20. 20 Запишем условия стационарности , 0 2 ) , (

    1 1 = − = ∂ ∂ λ λ x x x L , 0 2 ) , ( 2 2 = + = ∂ ∂ λ λ x x x L . 0 ) 4 ( ) , ( 2 1 = − − − = ∂ ∂ x x x L λ λ Решением этой системы является точка . 4 , 2 , 2 2 1 − = − = = λ x x Таким образом, единственная стационарная точка задачи имеет вид ) 2 ; 2 ( − = x . Это решение исходной задачи. Пример 1.6. extr x x x f → + = 2 1 2 ) ( , 5 2 2 2 1 = + x x . Решение. Составим функцию Лагранжа для нашей задачи ) 5 ( ) , ( 2 2 2 1 2 1 − + − + = x x x x x L λ λ и приравняем к нулю ее первые частные производные , 0 2 1 ) , ( 1 1 = − = ∂ ∂ x x x L λ λ , 0 2 2 ) , ( 2 2 = − = ∂ ∂ x x x L λ λ . 0 ) 5 ( ) , ( 2 2 2 1 = − + − = ∂ ∂ x x x L λ λ Построенная система имеет два решения – две стационарные точки       − = ′ ′ − − = ′ ′       = ′ = ′ 2 1 ), 2 , 1 ( ; 2 1 ), 2 , 1 ( λ λ x x . Матрица вторых частных производных ) , ( 2 λ x L x ∇ имеет вид         − − = ∇ λ λ λ 2 0 0 2 ) , ( 2 x L x . Исследуя эту матрицу в стационарных точках, получим для ) , ( λ′ ′ x         − − = ′ ′ ∇ 1 0 0 1 ) , ( 2 λ x L x , угловые миноры 1 , 1 2 1 = − = M M . Матрица вто- рых производных отрицательно определена, следовательно, точка ) 2 , 1 ( = ′ x является точкой условного максимума функции 2 1 2 ) ( x x x f + = .
  21. 21 В точке ) , ( λ ′ ′ ′

    ′ x матрица         = ′ ′ ′ ′ ∇ 1 0 0 1 ) , ( 2 λ x L x , угловые миноры 1 , 1 2 1 = = M M . Матрица вторых производных положительно определена, следовательно, точка ) 2 , 1 ( − − = ′ ′ x является точкой условного максимума функции 2 1 2 ) ( x x x f + = . 1.7. Ограничения типа неравенства Рассмотрим задачу оптимизации с ограничениями неравенствами , max ) ( → x f . ,..., 1 , ) ( m i b x g i i = ≤ (1.14) Пусть x – допустимая точка в задаче (1.14). Будем говорить, что ог- раничение } ,..., 1 { , ) ( m k b x g k k ∈ ≤ активно в точке x , если k K b x g = ) ( , не активно в точке x , если k K b x g < ) ( . Сформулируем необходимые условия локального экстремума в за- даче (1.14). Образуем функцию Лагранжа для задачи (1.14) . ) ) ( ( ) ( ) , ( 1 ∑ = − − = m i i i i b x g x f x L λ λ Предположим, что в задаче (1.14) функции m i x g x f i ,.., 1 ), ( ), ( = не- прерывно-дифференцируемы в любой точке n R x ∈ . Принцип Лагранжа. Пусть * x – локальное решение задачи (1.14). Тогда существует такой вектор ) ,..., ( * * 1 * m λ λ λ = , что выполняются условия , ,.., 1 , 0 ) , ( * * n j x x L j = = ∂ ∂ λ (1.15) . ,..., 1 , 0 ) ) ( ( , 0 * * * m i b x g i i i i = = − ≥ λ λ (1.16) Условия (1.15) называются условиями стационарности функции Ла- гранжа, условия (1.16) – условиями дополняющей нежесткости (условиями равновесия). Из условий (1.16) следует, 1) если i i b x g < ) ( * , то 0 * = i λ (множитель Лагранжа, соответст- вующий неактивному ограничению, равен нулю), 2) если 0 * > i λ , то i i b x g = ) ( * (если множитель Лагранжа положи- телен, то соответствующее ограничение является активным).
  22. 22 Пусть в задаче (1.14) функция ) (x f –

    вогнута, а функции m i x g i ,..., 1 ), ( = выпуклы на n R . Тогда допустимое множество } ,..., 1 , ) ( : { m i b x g R x X i i n = ≤ ∈ = является выпуклым. В этом случае задача (1.14) является задачей выпукло- го программирования. Определение 1.12. Точка X x ∈ называется стационарной точкой задачи (1.14), если существует такой вектор m R ∈ λ , что выполняются ус- ловия , ,..., 1 , 0 ) , ( n j x x L j = = ∂ ∂ λ . ,..., 1 , 0 ) ) ( ( , 0 m i b x g i i i i = = − ≥ λ λ Теорема 1.5. Любая стационарная точка задачи выпуклого програм- мирования является ее решением. Опишем схему решения задачи (1.14). 1) Составим функцию Лагранжа ) ) ( ( ... ) ) ( ( ) ) ( ( ) ( ) , ( 2 2 2 1 1 1 m m m b x g b x g b x g x f x L − − − − − − − = λ λ λ λ 2) Построим систему уравнений для нахождения стационарных точек , ,..., 1 , 0 ) , ( n j x x L j = = ∂ ∂ λ . ,..., 1 , 0 ) ) ( ( , 0 m i b x g i i i i = = − ≥ λ λ 3) Если исходная задача выпуклого программирования, то полу- ченная стационарная точка является решением задачи. Пример 1.6. max, 8 ) ( 2 1 2 2 2 1 → + + − − = x x x x x f . 7 2 1 ≤ + x x Решение. Составим функцию Лагранжа ). 7 ( 8 ) , ( 2 1 2 1 2 2 2 1 − + − + + − − = x x x x x x x L λ λ Запишем условия стационарности и дополняющей нежесткости , 0 1 2 ) , ( 1 1 = − + − = ∂ ∂ λ λ x x x L
  23. 23 , 0 8 2 ) , ( 2 2

    = − + − = ∂ ∂ λ λ x x x L . 0 ) 7 ( , 0 2 1 = − + ≥ x x λ λ Рассмотрим возможные случаи относительно множителя λ . 1) Пусть 7 2 1 < + x x . Тогда 0 = λ и условия стационарности имеют вид , 0 1 2 1 = + − x . 0 8 2 2 = + − x Решением этой системы является точка 4 , 2 1 2 1 = = x x , которая удов- летворяет предположению 7 2 1 < + x x . Следовательно, она является стационарной. 2) Пусть 0 > λ . Тогда 7 2 1 = + x x и вместе с условиями стационарно- сти получаем систему , 7 2 1 = + x x , 0 1 2 1 = − + − λ x . 0 8 2 2 = − + − λ x Решение: . 0 2 5 , 4 21 , 4 7 2 1 < − = = = λ x x Предположение 0 > λ не вы- полняется, то есть найденная точка не является стационарной. Отметим, что рассматриваемая задача является выпуклой, поэтому стационарная точка 4 , 2 1 2 1 = = x x является глобальным решением задачи. 1.8. Принцип Лагранжа в задаче оптимизации производства Задача формулируется следующим образом (раздел 1.1) . 0 max, , ) ( ≥ >→ < − x x c x pf (1.17) Здесь ) ,..., ( 1 n x x x = – вектор затрат, ) (x f – производственная функ- ция, p – цена выпускаемого продукта, ) ,..., ( 1 n c c c = – вектор цен по затра- там. Предположим, что функция ) (x f дважды непрерывно-дифферен- цируема в области , 0 ≥ x причем выполнено условие вогнутости
  24. 24 . 0 , 0 ) ( 2 ≥ ≤

    ∇ x x f Пусть > < − = x c x pf x , ) ( ) ( ϕ – целевая функция задачи (1.17). Тогда ) ( ) ( 2 2 x f p x ∇ = ∇ ϕ . Поскольку 0 > p , то 0 , 0 ) ( 2 ≥ ≤ ∇ x x ϕ . Следовательно, функция ) (x ϕ вогнута в области , 0 ≥ x то есть задача (1.17) – задача вы- пуклого программирования. Применим принцип Лагранжа для анализа задачи (1.17). Пусть * x – решение задачи (1.17), оптимальный вектор затрат. Представим ограниче- ния в координатной форме n j x j ,..., 1 , 0 = ≤ − и образуем функцию Ла- гранжа . ) ( , ) ( ) , ( 1 ∑ = − − > < − = n j j j x x c x pf x L λ λ Согласно принципу Лагранжа существует такой вектор ) ,..., ( * * 1 * n λ λ λ = , что выполняются условия , ,..., 1 , 0 ) ( ) , ( * * * * n j c x x f p x x L j j j j = = + − ∂ ∂ = ∂ ∂ λ λ . ,..., 1 , 0 , 0 * * * n j x j j j = = ≥ λ λ Отсюда получаем . ,..., 1 , 0 ) ( * n j c x x f p j j = ≤ − ∂ ∂ При этом если 0 * > j x , то j j c x x f p = ∂ ∂ ) ( * если j j c x x f p < ∂ ∂ ) ( * , то 0 * = j x . Данные соотношения полностью характеризуют решение задачи (1.17). Придадим им экономическую интерпретацию. Увеличим количество затрат j -го вида на единицу: . 1 * * + ⇒ j j x x То- гда ). ,..., ,..., ( ) ,..., 1 ,..., ( ) ( * * * 1 * * * 1 * n j n j j x x x f x x x f x x f − + ≈ ∂ ∂ Это прирост выпуска, количество добавочного продукта. При этом j x x f p ∂ ∂ ) ( * – стоимость добавочного продукта при единичном увеличении затрат j -го вида.
  25. 25 Тогда неравенство 0 ) ( * ≤ − ∂

    ∂ j j c x x f p означает, что при оптимальных затратах стоимость добавочного продукта не превосходит стоимости еди- ницы затрат (по всем видам затрат n j ,..., 1 = ). Если затраты j -го вида рентабельны ( 0 * > j x ), то указанные стоимо- сти равны: j j c x x f p = ∂ ∂ ) ( * . Если стоимость добавочного продукта меньше стоимости единицы затрат j -го вида, то данный вид затрат нерентабелен ( 0 * = j x ). Отметим, что если 0 * > j x , то n j c x x f p j j ,..., 1 , ) ( * = = ∂ ∂ , или в вектор- ной форме c x f p = ∇ ) ( * вектор цен и градиент производственной функции пропорциональны ( 0 ) ( ) ( * * = − ∇ = ∇ c x f p x ϕ – градиент целевой функции в задаче (1.17) равен нулю). Укажем геометрическую интерпретацию этого результата с помо- щью линий уровня. Линии уровня производственной функции ) (x f называются изо- квантами. Линии уровня функции издержек (затрат) > < x c, называются изокостами. Из равенства c x f p = ∇ ) ( * следует, что >= − ∇ < * * ), ( x x x f p > − =< * , x x c . Следовательно, уравнения , 0 ), ( * * >= − ∇ < x x x f > − < * , x x c эквивалентны, то есть геометрически определяют одну прямую. Отсюда вывод: в точке 0 * > x прямая > >=< < * , , x c x c (изокоста, проходящая через точку * x ) является касательной к линии уровня ) ( ) ( * x f x f = (изокванте, проходящей через точку * x ). *) (x f ∇ f(x)=f(x*) <c,x>=<c,x*>
  26. 26 2. Модели линейного программирования 2.1. Постановка задач линейного программирования

    Линейное программирование (ЛП) - это раздел курса оптимизации, изучающий задачи на максимум или минимум линейной функции многих переменных при ограничениях на них в форме линейных равенств и нера- венств. Термин “программирование” - не совсем удачный перевод англий- ского слова "programming" , которое правильнее перевести как "планиро- вание", что объясняется областью применения этой дисциплины. Методы линейного программирования оказались весьма эффективными при реше- нии многих экономических задач, возникающих в производстве, торговле, управлении финансами, когда целью является максимизация или миними- зация некоторого экономического показателя (максимизация прибыли или объема выпуска продукции, минимизация затрат сырья или транспортных расходов). Создателями линейного программирования были советский ма- тематик, нобелевский лауреат Л.В. Канторович, впервые сформулировав- ший задачу ЛП, описывающую реальную экономическую ситуацию (1939 г.), и американский ученый Дж. Данциг - автор знаменитого сим- плекс - метода решения задач линейного программирования (1947 г.). Математическая постановка общей задачи ЛП имеет следующий вид. Найти максимум (или минимум) линейной функции (min) max ... ) ( 2 2 1 1 → + + + = n n x c x c x c x f (2.1) от n переменных x1 , x2 ,..., xn , удовлетворяющих m линейным ограничени- ям в форме равенств или неравенств 11 1 12 2 1 1 21 1 22 2 2 2 1 1 2 2 ( , ) , ( , ) , ( , ) . n n n n m m mn n m a x a x a x b a x a x a x b a x a x a x b + + + ≤ = ≥   + + + ≤ = ≥     + + + ≤ = ≥  K K LLLLLLLLLLLLLL K (2.2) Часто в экономических задачах отдельно записываются условия не- отрицательности переменных, обусловленные реальной сущностью эконо- мических показателей xj ≥ 0, j = 1, 2, ..., n. (2.3) Функция ( ) f x носит название целевой функции. Её коэффициенты j c образуют вектор 1 2 ( , , , ), n c c c c = K называемый целевым вектором. Лю- бой вектор 1 2 ( , ,..., ), n x x x x = координаты которого удовлетворяют услови-
  27. 27 ям (2.2), (2.3), называется допустимым планом (допустимым вектором, допустимой

    точкой) задачи линейного программирования. Все они обра- зуют множество X допустимых планов задачи. План * * * 1 ( , , ) , n x x x X = ∈ K доставляющий целевой функции ( ) f x наибольшее (или наименьшее) зна- чение, называется оптимальным планом задачи ЛП. Ограничения (2.2) бу- дем называть основными ограничениями, правая их часть – вектор 1 ( , , ) m b b b = K – называется вектором ограничений или вектором ресурсов (запасов). Коэффициенты левых частей основных ограничений составляют матрицу 11 1 1 n m mn a a A a a     =       K M M M K , которую мы будем называть матрицей усло- вий или технологической матрицей. С учетом введенных обозначений задачу (2.1)-(2.3) можно записать в компактной векторно-матричной записи: 0 , ) , ( max(min), , ) ( ≥ ≥ = ≤ → = x b Ax x c x f , где выражение x c, означает скалярное произведение векторов с и x , ко- торые должны быть записаны в форме вектор-столбцов. Для того чтобы к решению конкретной задачи можно было приме- нять методы линейного программирования, надо построить ее математиче- скую модель. Напомним, что построение модели включает три этапа: 1. Определение величин (переменных), которые нужно найти в за- даче. 2. Определение цели решения и построение линейной целевой функции, наибольшему или наименьшему значению которой соответст- вует достижение цели. 3. Описание ограничений на переменные, вытекающих из условий задачи с использованием линейных равенств и (или) неравенств. Пример 2.1 (Модель оптимизации инвестиций). Правление банка рассматривает возможность инвестирования капи- тала в размере $300000 в шесть проектов. Эксперты оценили годовую эф- фективность каждого проекта на два года следующим образом: № проекта 1 2 3 4 5 6 1-й год 0,12 0,14 0,15 0,10 0,18 0,25 2-й год 0,10 0,10 0,12 0,18 0,12 0,15
  28. 28 Решено в проект 2 направить не менее $50000, в

    проект 5 – не более $40000, в проекты 4 и 6 вместе в силу их высокого риска – не более $75000. Необходимо найти план инвестиций в каждый проект с целью по- лучения максимального дохода. . Построим математическую модель задачи. Для этого надо опреде- лить переменные задачи, целевую функцию и ограничения, которым удов- летворяют переменные. Пусть х j - планируемое количество капитала в j-ый проект (тыс.$), j = 1,2,…,6. Тогда целевая функция, которая будет выра- жать доход от вложенных инвестиций через два года, строится следующим образом: если х 1 - вложенный капитал в проект 1, то через год с учетом эффективности проекта наращенная сумма составит х 1 + 0,12х 1 =1,12х 1 , а через два года 1,12х 1 + 0,1(1,12х 1 ) = 1,232х 1 . Следовательно, доход от вложенных средств в проект 1 равен 0,232х 1 .Рассуждая аналогично для других проектов, суммарный доход через два года формально можно запи- сать так: 0,232х 1 + 0,254х 2 + 0,288х 3 + 0,298х 4 + 0,3216х 5 + 0,4375х 6 . Именно его, согласно условию задачи, необходимо максимизировать. Ог- раничения на инвестиции согласно условию задачи и введенным обозна- чениям по проектам будут выглядеть следующим образом: 1 2 3 4 5 6 2 5 4 6 300 50 40 75 x x x x x x x x x x + + + + + = ≥ ≤ + ≤ Согласно экономическому смыслу на каждую переменную необхо- димо наложить условие неотрицательности: х j ≥ 0, j= 1,2,…,6. Объединяя все формализованные условия, получаем полную математическую модель задачи: max 4375 , 0 3216 , 0 298 , 0 288 , 0 254 , 0 232 , 0 ) ( 6 5 4 3 2 1 → + + + + + = x x x x x x x f 1 2 3 4 5 6 2 5 4 6 300 50 40 75 x x x x x x x x x x + + + + + = ≥ ≤ + ≤ х j ≥ 0, j= 1,2,…,6.
  29. 29 2.2. Каноническая и стандартная задачи ЛП В теории линейного

    программирования особо выделяют два вида задач - каноническую и стандартную задачи ЛП. Каноническая задача ЛП формулируется следующим образом : Найти максимум линейной функции max ... ) ( 2 2 1 1 → + + + = n n x c x c x c x f (2.4) от n переменных x1 , x2 ,..., xn , удовлетворяющих m линейным ограничени- ям в форме равенств 11 1 12 2 1 1 21 1 22 2 2 2 1 1 2 2 , , , n n n n m m mn n m a x a x a x b a x a x a x b a x a x a x b + + + =   + + + =     + + + =  K K LLLLLLLLLLLL K (2.5) и условиям неотрицательности xj ≥ 0, j = 1, 2, ..., n . (2.6) Соотношения (2.5) описывают систему m линейных алгебраиче- ских уравнений с n неизвестными, поэтому каноническую задачу ЛП мож- но трактовать как задачу о нахождении неотрицательного решения систе- мы уравнений (2.5), доставляющего целевой функции (2.4) наибольшее значение. Ясно, что эта задача имеет смысл только в том случае, когда сис- тема (2.5) имеет бесчисленное множество решений (иначе нет проблемы выбора). Из линейной алгебры известно, что для этого число линейно не- зависимых уравнений должно быть меньше числа неизвестных. Считая, что среди уравнений (2.5) нет линейно зависимых, в дальнейшем всегда будем предполагать, что в канонической задаче число ограничений m меньше числа переменных n. Матричная запись канонической задачи имеет вид: f(x) = < c, x > → max Ax = b, x ≥ 0, Стандартная задача ЛП отличается от канонической только типом ограничений. Все они должны иметь форму неравенств "≤ ". Найти максимум линейной функции n n x c x c x c x f + + + = ... ) ( 2 2 1 1 от n переменных x1 , x2 ,..., xn , удовлетворяющих m линейным ограничени- ям в форме неравенств
  30. 30 11 1 12 2 1 1 21 1 22

    2 2 2 1 1 2 2 , , , n n n n m m mn n m a x a x a x b a x a x a x b a x a x a x b + + + ≤   + + + ≤     + + + ≤  K K LLLLLLLLLLLL K и условиям неотрицательности xj ≥ 0, j = 1, 2, ..., n . В стандартной задаче ЛП соотношение между числом ограничений m и числом переменных n может быть произвольным, поскольку любо- му неравенству удовлетворяет бесконечное множество точек. Матричная запись стандартной задачи ЛП имеет вид f(x) = < c, x > → max , Ax ≤ b, x ≥ 0. 2.3. Эквивалентные преобразования задач ЛП Конкретная задача ЛП, в зависимости от экономического содержа- ния, может иметь ограничения как типа равенств, так и неравенств любого смысла, а целевая функция может подлежать максимизации или миними- зации. Покажем, что, тем не менее, любую задачу ЛП можно привести как к канонической, так и к стандартной форме с помощью эквивалентных преобразований. Ограничение-неравенство k n kn k b x a x a ≥ + +... 1 1 сводится к ограниче- нию вида "≤ " умножением на "–1": k n kn k b x a x a − ≤ − − − ... 1 1 Стандартное ограничение k n kn k b x a x a ≤ + +... 1 1 можно привести к ка- ноническому в форме равенства с помощью следующего приема. Обозна- чим через k s разность правой и левой частей неравенства: 1 1 ( ... ). k k k kn n s b a x a x = − + + (2.7) Очевидно, что 0. k s ≥ Условие (2.7) можно переписать в форме ка- нонического ограничения-равенства k k n kn k b s x a x a = + + +... 1 1 Другими сло- вами, ограничение-неравенство вида “ ≤ “ сводится к равенству путем до- бавления в левую часть новой (дополнительной) неотрицательной пере- менной. Легко сообразить, что неравенство вида k n kn k b x a x a ≥ + +... 1 1 можно свести к равенству, вычтя из левой части неотрицательную дополнитель- ную переменную 0 k s ≥ : k k n kn k b s x a x a = − + +... 1 1
  31. 31 Ограничение в форме равенства k n kn k b

    x a x a = + +... 1 1 канонической задачи можно преобразовать к стандартному виду двумя способами. Пер- вый способ состоит в замене одного равенства парой неравенств противо- положного смысла: k n kn k b x a x a ≤ + +... 1 1 k n kn k b x a x a ≥ + +... 1 1 из которых уже легко получить ограничения стандартной задачи ЛП. Вто- рой способ основан на методе исключений части переменных из ограниче- ний типа равенств. Поскольку в задаче ЛП число ограничений-равенств меньше числа переменных, всегда можно выразить часть неизвестных че- рез остальные и подставить в условия-неравенства, условия неотрицатель- ности и целевую функцию. Пример 2.2. Приведем к стандартной форме следующую задачу f(x) =2x1 - x2 + 4 x3 → max, x1 - 3x2 + x3 = 6 , 2x1 + x2 - x3 ≤ 10 , x1 , x2 , x3 ≥ 0 . Решение. Выразим из первого уравнения одну из переменных, на- пример, x3 через x1 , x2 : x3 = 6 -x1 + 3x2 и подставим в целевую функцию, ограничение - неравенство и условие x3 ≥ 0. После приведения подобных членов получим стандартную задачу ЛП с двумя переменными f(x) =24 - 2x1 + 11 x2 → max 3 x1 - 2x2 ≤ 16 , x1 - 3 x2 ≤ 6 , x1 , x2 ≥ 0 . Выясним, как быть в ситуации, когда какая-либо из переменных k x окажется знаконеопределенной (т.е. по смыслу задачи может принимать любые значения). В этом случае следует заменить переменную на разность двух новых, неотрицательных: , , 0. k k k k k x x x x x ′ ′′ ′ ′′ = − ≥ После замены останется только перенумеровать все переменные, чтобы привести запись к естественному виду. Наконец, от операции минимизации к операции максимизации (и наоборот) переходят умножением целевой функции на "–1".
  32. 32 Пример 2.3. Требуется привести к стандартной и канонической форме

    следующую задачу ЛП min, 5 3 2 6 4 ) ( 5 4 3 2 1 → + + − − = x x x x x x f , 5 3 3 2 5 4 3 2 1 − ≥ − + − + x x x x x , 1 2 3 2 5 4 3 2 1 ≥ + + + + x x x x x . 3 2 5 4 2 1 ≤ − − − − x x x x 0, 1, 5 j x j ≥ = . Решение. Для приведения задачи к стандартной форме умножим це- левую функцию и первые два ограничения на "–1". Получим max 5 3 2 6 4 ) ( 5 4 3 2 1 → − − + + − = − x x x x x x f , 5 3 3 2 5 4 3 2 1 ≤ + − + − − x x x x x , 1 2 3 2 5 4 3 2 1 − ≤ − − − − − x x x x x . 3 2 5 4 2 1 ≤ − − − − x x x x 0, 1, 5 j x j ≥ = . Чтобы из исходной задачи получить каноническую, нужно целевую функцию умножить на "–1", из левых частей первых двух неравенств вы- честь новые неотрицательные переменные s1 , s2 а в левую часть третьего ограничения добавить неотрицательную переменную s3 max 5 3 2 6 4 ) ( 5 4 3 2 1 → − − + + − = − x x x x x x f 1 2 3 4 5 1 2 3 3 5, x x x x x s + − + − − = − 1 2 3 4 5 2 2 3 2 1, x x x x x s + + + + − = 1 2 4 5 3 2 3. x x x x s − − − − + = 0, 1, 5 j x j ≥ = , 0, 1,2,3 i s i ≥ = . 2.4. Экономическая интерпретация стандартной и канонической задач линейного программирования Пусть фирма располагает m видами ресурсов R1 , R2 ,…Rm (сырье, финансы, трудозатраты и т.д.) и планирует организовать выпуск из них n видов продукции P1 , P2 ,…, Pn . Известны следующие исходные данные: aij - затраты ресурса Ri на выпуск одной единицы продукта Pj (удельные затраты), cj - прибыль от реализации одной единицы продукта Pj (удельная прибыль), bi - запас ресурса Ri .
  33. 33 Требуется составить план выпуска продуктов P1 , P2 ,…,Pn

    из имею- щихся ресурсов R1 , R2 ,…,Rm , при котором ожидаемая суммарная прибыль будет максимальна. Построим математическую модель этой задачи. Обозначим xj - пла- нируемый объем выпуска продукции Pj , j = 1,2,...,n . Тогда ожидаемая прибыль от реализации j-го вида продукции составит cj xj , а суммарная прибыль от реализации всей продукции будет равна c1 x1 + c2 x2 + ...+ cn xn . Согласно условиям задачи, она подлежит максимизации. Затраты ресурса Ri на выпуск всей продукции x = (x1 , x2 ,..., xn ) бу- дут выражаться суммой произведений удельных затрат aij на объемы вы- пуска и составят величину, равную ai1 x1 + ai2 x2 + ... + ain xn . Поскольку за- пас ресурса Ri равен bi , а расход ресурса не может превышать его запас, то требование уложиться в имеющийся лимит ресурса приводит к ограни- чениям типа неравенства 1 1 ... , 1, . i in n i a x a x b i m + + ≤ = Учитывая естественные условия неотрицательности объемов вы- пуска продукции, xj ≥0, j=1,2,...,n, придем к постановке стандартной задачи ЛП. Таким образом, стандартную задачу линейного программирования можно интерпретировать как производственную задачу о выпуске продук- ции из ограниченных запасов ресурсов, с целью получения максимально возможной прибыли. Приведем теперь эту задачу к канонической форме, добавив в пра- вую часть каждого i-го неравенства неотрицательную переменную i s ( 1, i m = ): i i n in i b s x a x a = + + +... 1 1 . Выражая отсюда i s , видим, что она равна разности между запасом соответствующего ресурса и его расходом. Следовательно, дополнитель- ная переменная i s может быть интерпретирована как величина остатка ресурса i R после реализации производственной программы. Таким образом, мы осуществили переход от стандартной задачи к канонической, которая в данном случае является более информативной. В этой связи становится понятным, что необходимо уметь решать как стан- дартную задачу, представляющую самостоятельный интерес, так и кано- ническую.
  34. 34 3. Геометрический метод решения задач ЛП Этот метод часто

    используется при решении задач, в которых толь- ко две неизвестных величины. Разберем его на следующих примерах: Пример 3.1. ( Задача о производстве красок). Небольшая фабрика изготовляет два вида красок: INT - для внут- ренних работ и EXT - для наружных работ. В производстве красок исполь- зуются два исходных продукта А и В. Из-за малой площади склада макси- мально возможные суточные запасы этих продуктов равны 6 т. и 8 т. соот- ветственно. На производство 1 тонны краски INT расходуется 1 тонна про- дукта А и 2 тонны продукта В, а на изготовление 1 тонны краски EXT идет 2 тонны продукта А и 1 тонна продукта В. Фабрика продает краску по цене 3 тыс. долл. за тонну краски INT и 2 тыс. долл. за тонну краски EXT. Ис- ходные данные удобно свести в таблицу: Изучение рынка сбыта показало, что суточный спрос на краску EXT никогда не превышает спрос на краску INT, более чем на 1 тонну. Какое количество краски каждого вида должна производить фабрика в сутки, чтобы доход от реализации продукции был максимален? Решение. Построим математическую модель задачи. Для этого надо определить переменные задачи, целевую функцию и ограничения, кото- рым удовлетворяют переменные. Обозначим через x1 - планируемый су- точный объем производства краски INT, а через x2 - суточный объем про- изводства краски EXT. Целевая функция f(x) будет выражать суточный до- ход от продажи краски, равный 3x1 + 2x2 (тыс.долл.). Этот доход подлежит максимизации f(x)= 3x1 + 2x2 → max. Построим ограничения задачи, связанные с ограниченными запаса- ми продуктов А и В. На производство краски INT в количестве x1 (т) будет использовано 1x1 (т) продукта А , а на производство краски EXT в объеме x2 (т) будет затрачено 2x2 (т) продукта А. Поскольку суточный запас про- Расход продукта на 1 т. краски Исходные продукты INT EXT Запас продуктов A 1 2 6 B 2 1 8 Цена 1т. краски 3 тыс. долл. 2 тыс. долл.
  35. 35 дукта А равен 6 т., то расход продукта А

    на изготовление красок двух ви- дов не может превышать в сутки этой величины: 1x1 + 2x2 ≤ 6. Аналогично получим ограничение, связанное с запасом продукта В: 2x1 +1x2 ≤ 8. Огра- ничение по соотношению спроса на краски можно описать неравенством: x2 - x1 ≤ 1. Учитывая естественные условия неотрицательности объемов выпуска продукции, окончательно получим следующую задачу линейного программирования f(x) = 3 x1 + 2 x2 → max (3.1) 1 x1 + 2 x2 ≤ 6, (3.2) 2 x1 + 1 x2 ≤ 8, (3.3) - x1 + x2 ≤ 1, (3.4) x1 ≥ 0 , x2 ≥ 0. (3.5) Построим множество планов задачи, описываемое ограничениями (3.2)- (3.5). Рассмотрим первое неравенство. Оно задает некоторую полуплос- кость, расположенную по одну сторону от граничной прямой p1 : 1x1 +2x2 =6. Построим эту прямую на плоскости с координатными осями x1 и x2 . Для проведения прямой достаточно знать две ее точки. Проще всего найти точки пересечения прямой с осями координат. Полагая x1 = 0, из уравне- ния прямой получим x2 = 3, а при x2 = 0 найдем x1 = 6. Таким образом прямая p1 пройдет через точки (0,3) и (6,0). Чтобы определить, по какую сторону от прямой расположена искомая полуплоскость, достаточно под- ставить в неравенство (3.2) координаты любой точки плоскости. Если прямая не проходит через начало координат, то удобнее всего взять точку (0, 0). Очевидно, что в этой точке неравенство (3.2) строго выполняется (1· 0 + 2· 0 < 6 ), значит полуплоскость, определяемая этим неравенством, лежит ниже прямой p1 , включая в себя начало координат. Искомую полу- плоскость отметим штриховкой (рис.3.1). Аналогично построим полуплоскость, задаваемую неравенством (3.3). Для этого нанесем на координатную плоскость граничную прямую p2 : 2x1 + x2 = 8, найдя ее точки пересечения с осями координат: (0,8) и (4,0). Подставляя координаты точки (0,0) в неравенство (3.3), видим, что начало координат лежит в искомой полуплоскости ( 2· 0 + 1· 0 < 8 ), значит все точки, удовлетворяющие неравенству (3.3), расположены левее пря- мой p2 . Отметим эту область штриховкой (рис.3.1). Точки, задаваемые ограничением (3.4), находятся ниже прямой
  36. 36 p3 : -x1 + x2 = 1, проходящей через

    точки (0, 1) и (-1, 0). Наконец, условия неотрицательности: x1 ≥ 0 , x2 ≥0 задают все точки первой четверти, что также отметим штриховкой. Выделяя теперь точки плоскости, удовлетворяющие всем ограниче- ниям задачи (3.1)-(3.5), то есть расположенные одновременно во всех за- штрихованных полуплоскостях, получаем множество планов X. Оно пред- ставляет собой многоугольник ( в данной задаче - пятиугольник ). Его сто- роны лежат на прямых, уравнения которых получаются из исходной сис- темы неравенств (3.2)-(3.5) заменой знаков неравенств на строгие равенст- ва. Рис. 3.1. Для графического представления целевой функции построим линии уровня (изолинии функции). (см.п.1.4) Для линейной функции двух переменных f(x) = c1 x1 + c2 x2 линия уровня, соответствующая числу h , будет представлять прямую с уравне- нием c1 x1 + c2 x2 = h (3.6) При изменении числа h будем получать семейство линий уровня (параллельных прямых) с одним и тем же направляющим вектором c = =(c1 , c2 ), перпендикулярным всем прямым. Известно, что вектор c = (c1 , c2 ) для линейной функции f(x) = c1 x1 +c2 x2 указывает направление ее возрастания. Геометрически это означает, что при параллельном переме- щении прямой (3.6) в направлении целевого вектора c значение целевой функции возрастает.
  37. 37 Построим линии уровня целевой функции f(x) = 3x1 +

    2 x2 в нашей задаче. Их уравнения будут иметь вид 3x1 + 2 x2 = h. Они задают семей- ство параллельных прямых, зависящих от параметра h . Все прямые пер- пендикулярны целевому вектору c = (3 , 2 ), составленному из коэффици- ентов целевой функции, поэтому для построения семейства линий уровня целевой функции достаточно построить ее целевой вектор, и провести не- сколько прямых, перпендикулярных этому вектору. Линии уровня будем проводить на множестве планов X, помня при этом, что при параллельном перемещении прямых в направлении целевого вектора c = ( 3 , 2 ) значе- ние функции f(x)= 3x1 + 2x2 будет возрастать. Поскольку в задаче опти- мальный план должен доставлять целевой функции максимально возмож- ное значение, то для решения задачи графически надо среди всех точек x = (x1 , x2 ) множества планов X найти такую точку x* = (x1 * , x2 * ), через которую пройдет последняя линия уровня в направлении целевого вектора c = ( 3 ,2 ) . Рис. 3.2 Из рисунка 3.2 видно, что искомой точкой будет точка, лежащая в вершине множества X, образованной пересечением прямых p1 и p2 . Решая систему уравнений, описывающих эти прямые x1 + 2 x2 = 6, 2 x1 + x2 = 8, найдем оптимальный план x1 * = 3 1/3 , x2 * = 1 1/3 . При этом максимальное значение целевой функции будет равно f(x*) = 12 2/3 . Таким образом, еже- суточно фабрика должна производить 3 1/3 тонн краски INT и 1 1/3 тонн краски EXT, получая при этом доход 12 2/3 тыс. долларов. x*
  38. 38 Пример 3.2. Лечебное предприятие закупает два вида мультивита- минных

    комплексов «Здоровье» и «Долголетие» с содержанием витаминов трех видов. Количество единиц этих витаминов в одном грамме мульти- комплексов, необходимая их норма при профилактическом приеме и стои- мость одного грамма комплексов «Здоровье» и «Долголетие» отражены в таблице Кол-во единиц витаминов в 1 г. комплекса Витамины Здоровье Долголетие Норма еди- ниц витами- нов V1 3 1 9 V2 1 2 8 V3 1 6 12 Стоимость 1 г. комплекса 5 руб. 4 руб. Сколько граммов мультивитаминных комплексов каждого вида требуется на один профилактический прием, чтобы были получены все ви- тамины не меньше требуемой нормы, и при этом их суммарная стоимость была минимальной. Решение. Составим математическую модель задачи. Для этого вве- дем переменные : x1 – количество комплекса «Здоровье» (г.) , x2 – количе- ство комплекса «Долголетие» (г.), необходимое для профилактического приема. Целевая функция выражает суммарную стоимость витаминных комплексов, которая должна быть минимально возможной f(x)= 5 x1 + 4 x2 → min (3.7) Ограничения, описывающие выполнение норм по витаминам, име- ют вид: По витамину V1 : 3x1 + x2 ≥ 9, (3.8) По витамину V2 : x1 + 2x2 ≥ 8, (3.9) По витамину V3 : x1 + 6x2 ≥12. (3.10) При этом переменные должны быть неотрицательны: xj ≥ 0 , j = 1, 2. Снова начнем решение с построения множества планов X, для чего проведем граничные прямые, уравнения которых получаются при замене в ограничениях знаков неравенств на равенства p1 : 3 x1 + x2 = 9,
  39. 39 p2 : x1 + 2 x2 = 8, p3

    : x1 + 6 x2 = 12. Подставляя координаты точки (0,0) в неравенства (3.8)-(3.10) ви- дим, что начало координат им не удовлетворяет и, следовательно, не вхо- дит в множество планов Х. Поэтому штриховки направлены выше и правее граничных прямых. Выделяя точки, удовлетворяющие всем неравенствам и условиям неотрицательности, получаем множество планов, изображен- ное на рис. 3.3. В данном примере оно не ограничено. Рис.3.3. Изобразим целевую функцию (3.7) с помощью линий уровня. Для этого достаточно построить целевой вектор c = (5, 4) и перпендикулярно ему провести несколько прямых на множестве Х. Поскольку целевой век- тор указывает направление возрастания целевой функции, а в задаче о ра- ционе требуется найти ее минимум, то для нахождения оптимального ре- шения будем перемещать линию уровня параллельно самой себе по мно- жеству Х в направлении, противоположном целевому вектору. x*
  40. 40 Последней точкой множества планов, через которую еще проходит линия

    уровня будет точка пересечения прямых p1 и p2 . Решая систему уравнений 3 x1 + x2 = 9 x1 + 2 x2 = 8 получим оптимальный план x1 * = 2, x2 * = 3. Минимальное значение целе- вой функции при этом будет равно f(x*) = 5·2 + 4·3 = 22. Следовательно, самый дешевый набор для профилактического приема состоит из 2 г. комплекса А и 3 г. комплекса В, и его стоимость равна 22 руб. Теперь несложно сформулировать геометрический способ решения стандартных задач ЛП с двумя переменными: • для каждого ограничения-неравенства записывается уравнение гранич- ной прямой путем замены знака неравенства на равенство. • для каждой граничной прямой находятся две точки, через которую она проходит, и на координатной плоскости строятся все граничные пря- мые. • для каждого ограничения определяется полуплоскость, лежащая по од- ну сторону от граничной прямой, удовлетворяющая соответствующему неравенству. Чтобы правильно определить расположение допустимой полуплоскости, достаточно проверить выполнение неравенства в любой точке плоскости. Если неравенство в проверяемой точке выполняется, то полуплоскость, в которой расположена точка, является его решени- ем, в противном случае, допустимые точки располагаются по другую сторону от граничной прямой. • изображается допустимый многоугольник планов X – пересечение по- луплоскостей, являющихся решениями соответствующих неравенств; • изображается целевой вектор 1 2 ( , ) c c c = ; • через допустимое множество проводится перпендикуляр к целевому вектору – это линия уровня целевой функции; • путем перемещения линии уровня параллельно самой себе в направле- нии целевого вектора до тех пор, пока X не окажется по одну сторону от перемещаемой прямой, визуально определяется точка (или точки) максимума;
  41. 41 • вычисляются координаты точки максимума (решением соответствую- щей системы

    уравнений, задающих прямые, точка пересечения которых и есть искомая точка) и максимальное значение целевой функции. Замечание. Для определения точки минимума следует перемещать изолинию против направления целевого вектора. В разобранных примерах оптимальный план находился в единст- венной вершине многоугольника допустимых планов. Однако при реше- нии задач ЛП могут встретиться и другие случаи. Бесконечное множество оптимальных планов. На рис.3.5 целевая функция принимает одно и то же максимальное значение в любой точке отрезка AB , соединяющего две вершины множества планов Х. Такая си- туация возникает, если линии уровня параллельны граничной прямой. Отсутствие ограниченного решения. На рис.3.6 изображен слу- чай, когда целевая функция не ограничена сверху на множестве планов и решение задачи на максимум не существует. При этом решение задачи на минимум может существовать, (как в задаче о витаминах). Отсутствие допустимых планов. На рис.3.7 области, допустимые по каждому из ограничений, не имеют общих точек. В этом случае гово- рят, что ограничения несовместны, множество планов пусто и задача ЛП решения не имеет. Рис.3.5 Рис.3.6 Рис.3.7 А В
  42. 42 4. Двойственность в линейном программировании 4.1. Двойственные задачи линейного

    программирования С любой задачей ЛП можно связать некоторую другую задачу ЛП, которая по отношению к первой называется двойственной. Тогда исход- ная задача будет называться прямой. Рассмотрим стандартную задачу ЛП с n переменными и m ограни- чениями в форме неравенств f(x) = c1 x1 + c2 x2 + …+ cn xn → max, a11 x1 + a12 x2 + … + a1n xn ≤ b1 , a21 x1 + a22 x2 + … + a2n xn ≤ b2 , …………………………........…… am1 x1 + am2 x2 + … + amn xn ≤ bm , xj ≥ 0, j = 1, 2, …, n . Двойственной к ней называется задача ЛП следующего вида g(y) = b1 y1 + b2 y2 + …+ bm ym  → min a11 y1 + a21 y2 + … + am1 ym ≥ c1 a12 y1 + a22 y2 + … + am2 ym ≥ c2 ................................……………… a1n y1 + a2n y2 + … + amn ym ≥ cn yi ≥ 0, i = 1, 2, …, m . Выписывая матрицы условий для прямой и двойственной задачи 11 12 1 21 22 2 1 2 ... ... ... ... ... ... ... n n пр m m mn a a a a a a A a a a       =       , 11 21 1 12 22 2 1 2 ... ... ... ... ... ... ... m m дв n n mn a a a a a a A a a a       =       видим, что Адв = АT пр (значок T означает операцию транспонирования матрицы). Следовательно, пара двойственных задач может быть записана в матричной форме:
  43. 43 Прямая задача ЛП Двойственная задача ЛП f(x) = <

    c, x > → max; Ax ≤ b, x ≥ 0. g(y) = < b, y > → min; AT y ≥ c, y ≥ 0 4.2. Симметричная пара двойственных задач Пара двойственных задач, в которых прямая задача – стандартная, называется симметричной парой двойственных задач. Правила построения двойственной задачи к стандартной задаче ЛП. 1. Число переменных двойственной задачи равно числу основных ограни- чений прямой задачи и наоборот. 2. Если прямая задача есть задача на “max” при ограничениях “≤”, то двойственная задача – задача на “min” при ограничениях “≥”. 3. Правые части ограничений прямой задачи – числа bi - становятся ко- эффициентами целевой функции двойственной задачи. 4. Коэффициенты целевой функции прямой задачи – числа cj - становятся правыми частями ограничений двойственной задачи ЛП. 5. j – й столбец матрицы условий прямой задачи превращается в j – ю строку матрицы условий двойственной задачи. 6. Переменные прямой и двойственной задачи неотрицательны. Пример 4.1. Рассмотрим стандартную задачу ЛП с двумя перемен- ными, тремя ограничениями в форме неравенств и условиями неотрица- тельности. f(x)=2x1 - 4x2 → max; x1 + 3x2 ≤ 8, -3x1 + x2 ≤ -7, 2x1 - 5 x2 ≤ 10, x1 , x2 ≥ 0. Построим к ней двойственную задачу, руководствуясь правилами 1- 6. Она будет иметь три переменных и два ограничения. g(y)=8 y1 -7y2 +10 y3 → min; y1 - 3 y2 + 2 y3 ≥ 2, 3y1 + y2 -5 y3 ≥ - 4, y1 , y2 , y3 ≥ 0. Покажем, что двойственная к двойственной задаче ЛП совпадает с прямой задачей ЛП, для чего воспользуемся предыдущим примером.
  44. 44 Сначала приведем двойственную задачу к стандартному виду, для чего

    умножим целевую функцию и основные ограничения на (–1). -g(y)= -8y1 +7y2 -10y3 → max; -y1 + 3y2 - 2 y3 ≤ -2, - 3y1 - y2 + 5 y3 ≤ 4, y1 , y2 , y3 ≥ 0. Построим к ней двойственную задачу по правилам 1-6, обозначая двойственные переменные через x1 , x2 . f(x)= - 2x1 + 4 x2 → min; -x1 - 3x2 ≥ -8, 3x1 - x2 ≥ 7, -2x1 + 5x2 ≥ -10, x1 , x2 ≥ 0. Чтобы получить исходную задачу, достаточно умножить коэффициенты целевой функции и все ограничения на (–1). Из вышесказанного следует, что если прямая задача имеет вид: f(x) = < c, x > → min; Ax ≥ b, x ≥ 0, то двойственной к ней будет задача g(y) = < b, y > → max; ATy ≤ с , y ≥ 0. 4.3. Экономический смысл двойственной задачи Рассмотрим следующую производственную задачу. Пример 4.2. Предприятие после выпуска основной продукции име- ет излишки ресурсов двух типов: R1 – 10 единиц, R2 – 8 единиц. Существу- ет два способа распорядиться этими ресурсами: • организовать из них выпуск 3 новых видов продукции : P1 , P2 , P3 . • продать их. Рассмотрим оба способа. Исходные данные приведены в таблице:
  45. 45 Расход ресурса на единицу продукции Ресурсы P1 P2 P3

    Запас ресурсов R1 1 2 1 10 R2 2 1 3 8 Удельная прибыль $6 $4 $4 Согласно первому способу, надо составить такой план выпуска про- дукции, который максимизирует суммарную прибыль. Построим матема- тическую модель этой задачи. Пусть xj – план выпуска продукции Pj . Тогда целевая функция будет выглядеть следующим образом: f(x)=6x1 +4x2 +4x3 → max; (4.1) Ограничения по ресурсам: x1 +2x2 +x3 ≤ 10 , 2x1 +x2 +3x3 ≤ 8 , (4.2) xj ≥ 0 , j=1,2,3. Получили стандартную задачу ЛП. Рассмотрим второй способ использования ресурсов, а именно, их продажу. Возникает задача согласования цен, устраивающих продавца и покупателя. Интерес предприятия состоит в том, чтобы продать ресурсы по та- ким ценам, при которых доход от реализации ресурсов будет не меньше прибыли, которую можно получить от реализации продукции, изготовлен- ной из этих ресурсов. В свою очередь покупатель заинтересован в приобретении ресур- сов по таким ценам, при которых затраты на покупку будут минимальны. Задача согласования цен на ресурсы, устраивающих обе стороны может быть описана следующей математической моделью. Пусть y1 – цена одной единицы ресурса R1 , y2 – цена одной единицы ресурса R2 . Интерес покупателя будет выражаться целевой функцией, равной суммарной стоимости приобретаемых ресурсов g(y) = 10 y1 + 8 y2 → min . Интерес продавца будет описываться ограничениями: y1 +2y2 ≥ 6 , 2y1 +y2 ≥ 4 , y1 +3y2 ≥ 4 ,
  46. 46 в которых левая часть означает стоимость ресурсов, затраченных на

    вы- пуск единицы соответствующей продукции, а правая – удельную прибыль от ее реализации. Присоединяя естественные условия неотрицательности цен: y1 , y2 ≥ 0 , получаем двойственную задачу ЛП. Таким образом, симметричной паре двойственных задач можно придать определенный экономический смысл. Прямая задача Определить такой план выпуска продукции x =( x1 , x2 ,...,xn ), ис- пользуя ограниченные запасы ресурсов, при котором прибыль от реализации продукции будет максимальной. Двойственная задача Установить такой набор цен ресур- сов y =( y1 , y2 ,...,ym ), при которых стоимость ресурсов, затраченных на выпуск единицы продукции будет не ниже прибыли от ее реализации, но при этом суммарная стоимость за- трат будет минимальна. Цены ресурсов y1 , y2 ,...,ym носят названия теневых, неявных или внутренних цен. Эти названия отличают их от "внешних", заранее извест- ных цен с 1 , с 2 ,...,с n на выпускаемую продукцию. Цены y1 , y2 ,...,ym на ре- сурсы определяются из решения двойственной задачи и характеризуют стоимость затрат на выпуск конкретных видов продукции, поэтому их час- то называют двойственными оценками ресурсов. 4.4. Несимметричная пара двойственных задач Пусть теперь исходная задача - каноническая, то есть имеет вид: f(x) = < c, x > → max; (4.3) Ax = b, (4.4) x ≥ 0. (4.5) Здесь x = (x1 ,…, xn ) , c = ( c1 , ..., cn ), b = ( b1 ,..., bm ), так что число урав- нений в системе (4.4) равно m . Для построения двойственной задачи к задаче (4.3)-(4.5) сведем ее к стандартной форме. Каждое равенство в (4.4) заменим парой неравенств Ax ≤ b, Ax ≥ b, или, что то же самое
  47. 47 Ax ≤ b , - Ax ≤ - b,

    Получим стандартную задачу ЛП с 2m ограничениями. f(x)=< c, x > → max; Ax ≤ b , - Ax ≤ - b, x ≥ 0 . Построим к ней двойственную задачу ЛП по известным правилам. Для этого введем двойственные переменные: u = ( u1 ,…, um ) ≥ 0 , v = ( v1 ,…, vm ) ≥ 0 . Заметим, что, так как в прямой задаче ЛП было 2m ограничений, то в двойственной будет 2m переменных. Целевая функция двойственной задачи примет вид: g( u, v )=< b , u > + < - b , v > → min , а ограничения запишутся так: ATu - ATv ≥ c , u ≥ 0 , v ≥ 0 . Перепишем эту задачу более компактно: g( u, v )=< b , u - v> → min , AT ( u – v ) ≥ c , u ≥ 0 , v ≥ 0 . Введем новый вектор двойственных переменных y = ( y1 , y2 ,…, ym ) с координатами yi = ui - vi .Поскольку разность неотрицательных чисел может быть и отрицательной (например, 2–5= –3), то двойственные пере- менные yi не имеют ограничений по знаку. Таким образом, двойственная задача к канонической будет иметь вид: g(y) = < b, y > → min; ATy ≥ c , y – переменная любого знака ! Для любой задачи ЛП можно построить двойственную. Для это- го нужно свести её к стандартному или каноническому виду.
  48. 48 4.5. Связь между планами двойственных задач Рассмотрим симметричную пару

    двойственных задач: Прямая задача ЛП Двойственная задача ЛП f(x) = < c, x > → max; Ax ≤ b, x ≥ 0. g(y) = < b, y > → min; ATy ≥ с, y ≥ 0 . Между решениями этих задач существует тесная связь, отражаемая следующими свойствами и теоремами. Свойство 1. Основное неравенство теории двойственности. Для любых допустимых планов x (прямой задачи) и y (двойственной задачи) выполняется неравенство f(x) ≤ g(y) или < c , x > ≤ < b , y > Важно установить, влияет ли наличие или отсутствие решения од- ной из пары задач на существование решения в другой. Ответ на этот во- прос дает следующая теорема, известная как первая теорема двойственно- сти. Теорема 4.1. Первая теорема двойственности. Если одна из пары двойственных задач имеет оптимальный план, то и другая имеет опти- мальный план, причем значения целевых функций на этих планах равны f(x*) = g(x*) или < c , x* > = < b , y* > . Если же целевая функция одной из пары двойственных задач не ог- раничена на своём множестве планов (прямая – сверху, двойственная – снизу), то множество планов другой задачи пусто. Таким образом, либо обе задачи имеют решение, либо обе не разре- шимы. Экономический смысл первой теоремы двойственности состоит в том, что при оптимальной организации выпуска продукции и оптимальных ценах на потребляемые ресурсы оба способа их использования ( выпуск продукции или продажа ресурсов) равноценны. Однако, при неоптималь- ном плане производства продукции всегда прибыль от ее реализации будет меньше стоимости используемых ресурсов, что следует из основного нера- венства теории двойственности. Первая теорема двойственности позволяет проверить на оптималь- ность некоторый допустимый план прямой задачи, если удастся решить двойственную задачу.
  49. 49 Пример 4.3. Исследовать, будет ли план x = (2,

    1, 1) оптимальным планом задачи (4.1),(4.2). f(x)=6x1 +4x2 +4x3 → max, x1 +2x2 +x3 ≤ 10, 2x1 +x2 +3x3 ≤ 8, xj ≥ 0, j=1,2,3. Решение. Составим двойственную задачу g(y)=10y1 +8y2 → min, y1 +2y2 ≥ 6, 2y1 +y2 ≥ 4, y1 +3y2 ≥ 4, y1 , y2 ≥ 0. Будем решать эту задачу геометрически. Построим граничные пря- мые: (p1 ) y1 +2y2 = 6 проходит через точки (0, 3) , (6, 0); (p2 ) 2y1 +y2 = 4 проходит через точки (0, 4) , (2, 0); (p3 ) y1 +3y2 = 4 проходит через точки (0, 4/3), (4, 0); и целевой вектор с = (10, 8) = 2(5, 4). Рис. 4.1. Оптимальный план y* лежит на пересечение прямых p1 и p2 . Решая систему у 1 у 2
  50. 50 y1 +2y2 = 6, 2y1 +y2 = 4, находим

    y* = (2/3, 8/3) и g(y*) = 28. Подсчитаем теперь значение целевой функции прямой задачи на допустимом плане выпуска x = (2, 1, 1): f(x) = 6·2+4·1+4·1 = 20. Видим, что f(x) < g(y*), следовательно, план x = (2, 1, 1) не может быть оптималь- ным планом прямой задачи. Теорема 4.2. Вторая теорема двойственности. Допустимые планы x* = (x1 *,…,xn *) и y*= (y1 *,…,ym *) – оптимальны (каждый в своей задаче), тогда и только тогда, когда выполняются условия: < Ax*– b , y* > = 0, (4.6) < ATy*– c , x* > = 0. (4.7) 4.6. Условия равновесия Условия (4.6)-(4.7) называются условиями равновесия. Рассмотрим их содержательный смысл для симметричной пары двойственных задач. Запишем эту пару в координатной форме: Прямая задача ЛП f(x) = c1 x1 + ...+ cn xn → max ai1 x1 + ... + ain xn ≤ bi , i =1,..,m xj ≥ 0, j = 1,..., n Двойственная задача ЛП g(y) = b1 y1 + …+ bm ym  → min a1j y1 + … + amj ym ≥ cj , j = 1,.., n yi ≥ 0, i = 1,…, m Раскрывая скалярные произведения, распишем условия (4.6) и (4.7) более подробно. ∑ (ai1 x1 * + ... + ain xn * - bi ) yi * = 0 , (4.8) ∑ (a1j y1 * + … + amj ym * - cj ) xj * = 0 . (4.9) В сумме (4.8) каждое слагаемое есть произведение разности левой и правой частей ограничения прямой задачи на соответствующую двойст- венную переменную. Очевидно, что все слагаемые имеют один и тот же знак " ≤ 0 ", так как разности в круглых скобках меньше или равны нулю, а yi ≥ 0. Отсюда следует, что сумма (4.8) равна нулю тогда и только тогда, когда каждое слагаемое в ней равно нулю. (ai1 x1 * + ... + ain xn * - bi ) yi * = 0, i =1,...,m. (4.10) В сумме (4.10) каждое слагаемое равно произведению разности ле- вой и правой частей ограничения двойственной задачи на соответствую-
  51. 51 щую переменную прямой задачи. Все слагаемые в этой сумме

    одного зна- ка ( ≥ 0 ), так как разности в круглых скобках и переменные xj * неотрица- тельны. Для того, чтобы сумма равнялась нулю, любое слагаемое в сумме должно быть равно нулю. (a1j y1 * + … + amj ym * - cj ) xj * = 0 , j = 1, ..., n . (4.11) Учитывая знаки сомножителей в произведении (4.10), из него мож- но получить пару условий Если ai1 x1 * + ... + ain xn * < bi , то yi * = 0 . (4.10a) Если yi * > 0 , то ai1 x1 * + ... + ain xn * = bi . (4.10b) Аналогично, из (4.11) следует пара условий Если a1j y1 * + … + amj ym * > cj , то xj * = 0 . (4.11a) Если xj * > 0 , то a1j y1 * + … + amj ym * = cj . (4.11b) Таким образом, для пары двойственных задач • если какое-либо ограничение одной задачи на оптимальном плане вы- полняется как строгое неравенство, то соответствующая координата оп- тимального плана другой задачи равна нулю (условия (4.10a) и (4.11a)). • Если какая-либо координата оптимального плана одной задачи положи- тельна, то соответствующее ограничение другой задачи обращается в равенство (условия (4.10b) и (4.11b)). Эти условия называются также условиями дополняющей нежесткости. 4.7. Геометрический смысл условий равновесия Определение 4.1. Ограничение стандартной задачи линейного программи- рования ai1 x1 + ... + ain xn ≤ bi (4.12) называется связным или активным на плане x', если на этом плане оно об- ращается в равенство ai1 x1 ' + ... + ain xn ' = bi . Определение 4.2. Ограничение (4.12) называется несвязанным (неактив- ным, пассивным) на плане x' , если на этом плане оно выполняется как строгое неравенство ai1 x1 ' + ... + ain xn ' < bi . Геометрически, ограничение, активное в точке x' , проходит через эту точ- ку, а неактивное - не проходит.
  52. 52 Рис. 4.2. На рисунке 4.2 в точке x' p1

    и p3 – активные, связанные ограниче- ния; p2 – неактивное ограничение. В точке x" p1 , p2 – активные ограниче- ния; p3 – неактивное ограничение. Теперь условиям равновесия можно придать геометрический смысл. На оптимальных планах двойственных задач • неактивному ограничению одной задачи соответствует нулевая переменная плана другой задачи. • положительной переменной оптимального плана одной задачи соответствует активное ограничение другой задачи. 4.8. Экономический смысл условий равновесия Стандартную задачу линейного программирования будем интерпре- тировать как задачу о выпуске n типов продукции P1 ,…,Pn из m типов ресурсов R1 ,…, Rm . Причем известны aij – удельный расход ресурса Ri на выпуск единицы продукта Pj ; bi – запас ресурса Ri ; cj – удельная прибыль от реализации Pj .. Требуется найти такой план выпуска продукции x* = (x1 *,..,xn *) из имею- щихся запасов ресурсов, который бы максимизировал суммарную при- быль. Двойственную задачу можно трактовать как задачу о нахождении теневых цен ресурсов y*=(y1 *,..,ym *), которые при продаже ресурсов обес- печат прибыль не меньшую, чем от реализации продукции (интерес про- давца), но при этом суммарная стоимость ресурсов будет минимальна (ин- терес покупателя).
  53. 53 Определение 4.3. Ресурс Ri будем называть дефицитным на плане

    выпуска x' = (x1 ',.., xn ' ), если на этом плане он расходуется полностью, то есть расход ресурса на обеспечение выпуска x' в точности равен его запа- су: ai1 x1 ' + ... + ain xn ' = bi . Определение 4.4. Ресурс Ri называется недефицитным на плане x' , если на этом плане он расходуется не полностью. Другими словами, рас- ход недефицитного ресурса Ri на выпуск x' строго меньше его запаса: ai1 x1 ' + ... + ain xn ' < bi . Определение 4.5. Продукт j P называется рентабельным при плане выпуска x' = (x1 ',.., xn ' ), если согласно этому плану он производится ( 0 > ′ j x ). Определение 4.6. Продукт j P называется нерентабельным при плане выпуска x' = (x1 ',.., xn ' ), если согласно этому плану он не выпускается ( 0 = ′ j x ). Сравнивая эти определения 4.3. и 4.4. с определениями 4.1. и 4.2. , видим, что дефицитному ресурсу соответствует активное ограничение, не- дефицитному – неактивное. Дадим теперь экономическую трактовку условиям равновесия (4.10a), (4.10b), (4.11a), (4.12b). • Если на оптимальном плане x* ресурс Ri – не дефицитен, то его тене- вая цена у i * равна нулю. (Условие (4.10a)). • Если ресурс Ri имеет положительную теневую цену ( у i * > 0), то на оптимальном плане он расходуется полностью (то есть он дефици- тен). (Условие (4.10b)). • Если стоимость затрат на выпуск единицы продукта Pj больше при- были от его реализации, то по оптимальному плану этот продукт не- рентабельный ( xj *= 0 ). (Условие (4.11a)). • Если по оптимальному плану продукт Pj является рентабельным (xj * > 0 ), то стоимость ресурсов, затраченных на выпуск единицы этой продукции равна удельной прибыли от ее реализации. (Условие (4.11b)). Условия равновесия позволяют находить решение одной из пары двойственных задач ЛП по известному оптимальному плану другой зада- чи. Пример 4.4. Найти оптимальный план задачи (4.1)-(4.2)
  54. 54 f(x)=6x1 +4x2 +4x3 → max, x1 +2x2 +x3 ≤

    10, 2x1 +x2 +3x3 ≤ 8, xj ≥ 0, j=1,2,3, используя условия равновесия. Решение. Составим двойственную задачу g(y)=10y1 +8y2 → min, y1 +2y2 ≥ 6, 2y1 +y2 ≥ 4, y1 +3y2 ≥ 4, y1 , y2 ≥ 0. Ее решение найдено в п.4.5 геометрическим методом. Оптимальный план y* лежит на пересечение прямых p1 и p2 . (рис. 4.2). Решая систему y1 +2y2 = 6, 2y1 +y2 = 4, мы нашли, что y* = (2/3, 8/3) и g(y*) = 28. По условиям равновесия положительной переменной двойственной задачи соответствует активное ограничение прямой. Так как y1 * > 0 , то x1 *+2x2 *+x3 * = 10 . Так как y2 * > 0 , то 2 x1 *+x2 *+3x3 * = 8 . Неактивному ограничению двойственной задачи соответствует ну- левая переменная прямой. Так как третье ограничение – неактивное ( p3 не проходит через точку y*), то x3 *= 0. Решая систему x1 *+2x2 * = 10 , 2x1 *+x2 * = 8 , получим x1 *=2 , x2 *=4. То есть оптимальный план x* = (2, 4, 0), f(x*) = =28. Поскольку на оптимальных планах двойственных задач значения це- левых функций совпали ( f(x*) = g(y*) = 28 ), то задача решена правильно.
  55. 55 4.9. Экономический смысл оптимальных двойственных оценок По первой теореме

    двойственности, если x*– оптимальный план прямой задачи, а y* – оптимальный план двойственной задачи, то f(x*) = g(y*), или в другой записи < c , x* > = < b , y* > . Предположим, что запасы ресурсов bi – переменные величины. То- гда оптимальный план x* и максимальная прибыль f(x*) будут функция- ми запасов ресурсов: x*=x*(b) , f(x*) = f(x*(b)). Предположим, что меняется запас только одного k-го ресурса, так что его новое значение bk ' = bk + δ k . Тогда новый вектор запасов ресур- сов b' будет равен b' = ( b1 , b2 ,..., bk + δ k ,..., bm ). Подсчитаем новое значение максимальной прибыли, опираясь на первую теорему двойственности. f(x*(b' )) = < c , x*(b' ) > = < b' , y* > = = b1 y1 *+ b2 y2 * + ...+(bk + δ k ) yk *+ ...+ bm ym * = = < b , y* > + δ k yk * = < c , x* > + δ k yk * Таким образом, f(x*(b' )) = f(x*(b )) + δ k yk * Полагая здесь δ k = 1 , получим yk *=f(x*(b' )) - f(x*(b )) (4.13) Следовательно, оптимальное значение двойственной оценки (тене- вой цены) yk * равно приросту оптимального значения целевой функции (прибыли) при увеличении запаса k-го ресурса на единицу. Величину yk * называют ценностью ресурса Rk . Действительно, чем больше значение оптимальной двойственной оценки некоторого ресурса, тем к большему увеличению прибыли приведет увеличение его запаса на единицу. Из условий равновесия следует, что только дефицитные ресурсы имеют положительную ценность, а ценность недефицитных ресурсов рав- на нулю. Последний вывод экономически очевиден, так как если ресурс не используется полностью по оптимальному плану, то увеличение его запаса не может привести к изменению плана выпуска продукции, а значит не приводит и к увеличению прибыли. Следует отметить, что условие < c , x*(b' ) > = < b' , y* > , исполь- зуемое при выводе соотношения (4.13), справедливо только в том случае, если при изменении вектора b (запаса ресурса) не меняется оптимальный план двойственной задачи y*. Позже мы установим пределы изменения правых частей ограничений прямой задачи (целевого вектора b двойст-
  56. 56 венной задачи ), при которых оптимальный план двойственной задачи

    не меняется. В последнем примере оптимальный план двойственной задачи y*=(2/3,8/3). Обе его координаты положительны, поэтому R1 и R2 - дефи- цитные ресурсы и на оптимальном плане выпуска x* = (2, 4, 0) использу- ются полностью. Так как y2 * > y1 *, то ресурс R2 - более ценен, чем ресурс R1 в том смысле, что если запас ресурса R1 (b1 = 10) увеличим на единицу, то при- быль f(x*) увеличится на 2/3, а если запас ресурса R2 (b2 = 8) увеличим на единицу, то прибыль f(x*) увеличиться на 8/3. 5. Свойства решений канонической задачи ЛП 5.1. Структура множества планов канонической задачи ЛП Геометрические методы позволяют решать задачи ЛП с двумя пере- менными либо сводящиеся к таковым, и с небольшим числом ограниче- ний. Реальные задачи ЛП содержат, как правило, большое число неиз- вестных и ограничений и требуют специальных методов решения. Наибо- лее известным и эффективным является так называемый симплекс-метод. Он предназначен для решения канонической задачи, к которой можно све- сти любую другую задачу ЛП. Поэтому важно изучить свойства множества планов канонической задачи линейного программирования f(x) = < c, x > → max, (5.1) Ax = b, (5.2) x ≥ 0. (5.3) Изучая геометрический метод решения двумерных задач ЛП с огра- ничениями типа неравенств, мы установили следующие факты: • множество X допустимых планов задачи, если оно не пусто, пред- ставляет собой выпуклое многоугольное множество, то есть множе- ство, лежащее по одну сторону от любой своей грани; • если решение задачи существует, то оптимальный план находится хотя бы в одной угловой точке (вершине) многоугольника; • возможны случаи, когда целевая функция достигает максимума или минимума сразу в двух вершинах, но тогда то же оптимальное зна- чение достигается и во всех точках грани, соединяющей эти верши- ны, то есть задача ЛП в этом случае имеет бесконечное множество оптимальных планов.
  57. 57 Можно показать, что каноническая задача ЛП обладает теми же

    или похожими свойствами. При геометрическом методе решения задачи ЛП с ограничениями типа неравенств для нахождения координат оптимальной угловой точки мы визуально определяли активные в этой точке ограничения и решали систему уравнений, описывающих эти ограничения, заменив знаки нера- венств на равенства. Ясно, что для канонической задачи, в которой все ог- раничения являются активными в любой точке, должен существовать свой критерий для идентификации угловых точек. Алгебраическим аналогом угловых точек множества планов кано- нической задачи ЛП является понятие базисного плана. 5.2. Базисные планы канонической задачи ЛП Напомним алгебраическую трактовку канонической задачи ЛП. Среди бесчисленного множества решений системы уравнений Ax b = надо найти неотрицательное решение, доставляющее максимум целевой функции ( ) f x . Из курса линейной алгебры мы знаем, что все множество решений можно получить, если из системы (5.2) выразить неизвестные, номера ко- торых соответствуют линейно независимым столбцам матрицы A, через остальные неизвестные, называемые свободными. При этом переменные, соответствующие линейно независимым столбцам, называются базисны- ми. Если теперь придавать свободным переменным произвольные значе- ния, то тем самым мы будем получать всевозможные решения системы (5.2). Среди бесчисленного количества решений системы линейных урав- нений особую роль играют так называемые базисные решения, которые получаются, если все свободные переменные положить равными нулю. В канонической задаче ЛП нас будут интересовать как раз только неотрицательные базисные решения системы (5.2), называемые базисными планами. Дадим более строгое определение. Определение 5.1. План 1 2 ( , ,..., ) n x x x x = канонической задачи ЛП называется базисным, если • все его координаты неотрицательны 0, 1... j x j n ≥ = ; • из них n – m координат в точности равны нулю; • оставшиеся m координат являются единственным решением сис- темы (5.2) после подстановки в нее нулевых переменных.
  58. 58 Заметим, что после обращения в нуль n – m

    переменных, система m линейных уравнений (5.2) будет иметь только m неизвестных. Для того чтобы полученная система имела единственное решение, столбцы Aj , со- ответствующие этим неизвестным, должны быть линейно независимыми. Следовательно, можно дать еще одно определение базисного плана, эквивалентное предыдущему. Определение 5.2. План 1 2 ( , ,..., ) 0 n x x x x = ≥ называется базисным планом (угловой точкой) канонической задачи ЛП, если n – m его пере- менных равны нулю, а оставшимся m переменным соответствуют линей- но независимые столбцы матрицы условий A. Таким образом, координаты угловой точки распадаются на две группы. Одна группа состоит из координат, которым соответствуют ли- нейно независимые столбцы матрицы А. Они называются базисными коор- динатами (базисными переменными). В другую группу входят остальные координаты, называемые свободными или небазисными. Их значения в уг- ловой точке равны нулю. Система линейно независимых столбцов матрицы A , соответст- вующих базисным координатам угловой точки, называется базисом этой точки. Базисный план, имеющий в точности m положительных коорди- нат, называется невырожденным. Рассмотрим вопрос о числе угловых (крайних) точек множества планов канонической задачи ЛП. Очевидно, что среди n столбцов A1 , A2 ,..., An матрицы условий A выбрать подсистему из m столбцов можно не единственным способом. Известно, что число всевозможных сочетаний из n элементов по m равно ! !( )! m n n C m n m = − . Например, в канонической задаче с 3 переменными и 2 ограничениями (n = 3, m = 2) из матрицы условий A = {A1 , A2 , A3 } можно выделить только три различные подсистемы пар векторов {A1 , A2 }; {A1 , A3 }; {A2 , A3 } , что как раз и равно Cn m = C3 2 = 3. Однако не все из таких подсистем могут оказаться линейно незави- симыми. Кроме того, некоторым векторам из m линейно независимых столбцов матрицы A могут соответствовать отрицательные переменные. Отсюда следует, что число угловых точек, а значит и базисных планов в канонической задаче не больше чем Cn m .
  59. 59 Чтобы на практике найти какой-либо базисный план – угловую

    точку множества планов канонической задачи ЛП, нужно любые n – m координат плана положить равными нулю, а оставшиеся m переменных найти из системы Ax = b, которая будет содержать m уравнений и m не- известных. Если столбцы матрицы А, вошедшие в укороченную систему, окажутся линейно независимыми, то система будет иметь единственное решение. Если полученное решение будет неотрицательным, то это - ба- зисный план. Пример 5.1. Найти все базисные планы - угловые точки множества планов канонической задачи ЛП. 1 2 ( ) 2 max; f x x x = + → (5.4) 1 2 3 2 4, x x x − + + = (5.5) 1 2 4 3 2 12, x x x + + = (5.6) 0, 1,2,3,4. j x j ≥ = (5.7) Решение. Матрица условий А содержит 4 столбца 1 2 3 4 1 2 1 0 ; ; ; . 3 2 0 1 A A A A −         = = = =                 Так как n = 4, m = 2 , то 2 4 4! 1 2 3 4 6. 2!2! 1 2 1 2 m n C C ⋅ ⋅ ⋅ = = = = ⋅ ⋅ ⋅ В задаче не более шести базисных планов (угловых точек). В лю- бом плане должно быть n – m = 2 нуля. Возможные варианты расположе- ния двух нулей среди четырех координат запишем во втором столбце таб- лицы: Подставляя нулевые значения небазисных координат в ограниче- ния-равенства задачи и решая полученные системы из двух уравнений с двумя неизвестными (базисными переменными) найдем все базисные ре- Точка Состав переменных Базис Базисное решение Базисный план? T1 0, 0, x3 , x4 A3 , A4 ( 0, 0, 4, 12 ) да T2 0, x2 , 0, x4 A2 , A4 ( 0, 2, 0, 8 ) да T3 0, x2 , x3 , 0 A2 , A3 ( 0, 6, -8, 0 ) нет T4 x1 , 0, 0 , x4 A1 , A4 (-4, 0, 0, 24 ) нет T5 x1 , 0 , x3 , 0 A1 , A3 ( 4, 0, 8, 0 ) да T6 x1 , x2 , 0, 0 A1 , A2 ( 2, 3, 0, 0 ) да
  60. 60 шения. Те из них, которые будут содержать только неотрицательные

    пере- менные, будут базисными планами задачи. Рассмотрим точку T1 . Подставляя x1 = 0, x2 = 0 в уравнения (5.5), (5.6), получим x3 = 4 , x4 = 12. Базис точки T1 состоит из единичных век- торов {A3 ,A4 }. Очевидно, что эти столбцы линейно независимы. Так как все координаты точки T1 неотрицательны, то T1 = (0, 0, 4, 12 ) –- угловая точка. Для нахождения базисных координат точки T2 подставим небазис- ные (нулевые) значения x1 = 0 и x3 = 0 в уравнения (5.5), (5.6). Получим систему 2 x2 = 4 , 2 x2 + x4 = 12, откуда найдем x2 = 2 , x4 = 8. Следовательно, точка T2 = (0, 2, 0, 8). Ее ба- зис состоит из столбцов A2 и A4 . Так как все ее координаты неотрицатель- ны, то это – базисный план (крайняя точка). При вычислении базисных координат точки T3 обнаружим, что x3 = –8, следовательно, T3 =( 0, 6, -8, 0) не является базисным планом. Проведя аналогичные вычисления для остальных претендентов на базисные планы и заполнив таблицу, мы видим, что эта задача имеет че- тыре различных базисных плана (четыре угловые точки) T1 , T2 , T5 , T6 , причем все они невырожденные. Заметим, что рассматриваемая каноническая задача получена из стандартной задачи ЛП с двумя переменными 1 2 ( ) 2 max; f x x x = + → 1 2 2 4, x x − + ≤ 1 2 3 2 12, x x + ≤ 0, 1,2. j x j ≥ = Множество ее планов изображено на рисунке 5.1. Рис. 5.1. Допустимое множество в примере 1
  61. 61 Легко видеть, что каждому базисному плану канонической задачи (5.4)-(5.7)

    соответствует угловая точка множества планов эквивалентной стандартной задачи. 5.3. Расположение оптимальных планов канонической задачи линейного программирования Следующая теорема доказывает, что оптимальное решение, если оно существует, обязательно совпадает хотя бы с одной вершиной множе- ства X. Теорема 5.1. Если множество X допустимых планов канониче- ской задачи ЛП ограничено, то существует хотя бы одна его угловая точ- ка, в которой целевая функция ( ) , f x c x = достигает своего максимума на этом множестве. Слова "хотя бы одна угловая точка" говорят о том, что решение может достигаться не в одной вершине, а на целой грани множества пла- нов, но среди этого бесконечного множества планов обязательно будут и угловые точки. Так как число угловых точек конечно, можно попытаться найти все угловые точки, подсчитать в них значение целевой функции и выбрать ту, в которой значение самое большое. Так, подставляя в примере 1 координа- ты точек T1 , T2 , T5 , T6 в целевую функцию, найдем оптимальный план x*= T6 = (2, 3, 0, 0), f(x*) = 8. Однако в реальных задачах ЛП число угло- вых точек может быть очень велико. Например, при m = 10, n = 20, число угловых точек может быть больше 180000, что делает процедуру полного перебора вершин совершенно неэффективной. 6. Симплекс-метод 6.1. Идея симплекс-метода Рассмотрим универсальный метод решения канонической задачи линейного программирования ( ) , max f x c x = → , Ax b = , 0 x ≥ , с n переменными и m ограничениями-равенствами, известный как сим- плекс-метод. Как было установлено в главе 5, множество планов канонической задачи – выпуклое многогранное множество, имеющее конечное число уг- ловых точек. И если эта задача имеет оптимальное решение, то оно дости- гается хотя бы в одной угловой точке.
  62. 62 С любой угловой точкой связан базисный план задачи, в

    котором n m − переменных равны нулю, а оставшимся переменным соответствуют линейно независимые столбцы матрицы условий A. Эти линейно незави- симые столбцы образуют невырожденную базисную матрицу Б A . Перебор всех угловых точек сопряжен с большими вычислительны- ми затратами и поэтому не эффективен. В 1947 году Дж. Данциг предло- жил упорядоченную процедуру перебора угловых точек, при которой для нахождения оптимального решения достаточно исследовать лишь неболь- шую их часть. Эта процедура называется симплекс-методом. Дж. Данциг предложил при переходе от одной крайней точки к дру- гой заменять в базисной матрице всего один вектор. Это означает, что при таком переходе мы должны одну из базисных переменных исключить – сделать ее небазисной (равной нулю), а на ее место ввести новую перемен- ную из числа небазисных (нулевых) – сделать ее базисной (положитель- ной). Оказывается, геометрически такая замена приводит к переходу от одной угловой точки к смежной (соседней), связанной с предыдущей точ- кой общим ребром. Из всех соседних точек выбирается та, в которой целевая функция возрастает более всего. Поскольку число угловых точек конечно, через ко- нечное число переходов будет найдена вершина с наибольшим значением целевой функции, либо будет установлена неограниченность целевой функции на неограниченном множестве планов. Общая схема симплекс-метода состоит из следующих основ- ных шагов. • шаг 0. Определение начального базиса Б A и соответствующей ему на- чальной угловой точки (базисного плана) 0 x . • шаг 1. Проверка текущего базисного плана на оптимальность. Если критерий оптимальности выполнен, то план оптимален и решение за- кончено. Иначе переход на шаг 2. • шаг 2. Нахождение переменной, вводимой в состав базисных. (Из усло- вия увеличения целевой функции). • шаг 3. Нахождение переменной, исключаемой из состава базисных пе- ременных (Из условия сохранения ограничений задачи). • шаг 4. Нахождение координат нового базисного плана (смежной угло- вой точки). Переход на шаг 1. Повторяющиеся шаги 1–4 образуют одну итерацию симплекс- метода.
  63. 63 Из этой схемы следует, что во-первых, для начала работы

    сим- плекс-метода надо иметь какую-то угловую точку – начальный базисный план, а во-вторых, надо уметь исследовать текущую угловую точку на оп- тимальность, не вычисляя всех смежных вершин. Эти проблемы легко ре- шаются, если каноническая задача ЛП имеет некий специальный вид. Определение. Будем говорить, что каноническая задача ЛП имеет "предпочтительный вид", если 1. правые части уравнений 0 i b > , 1,2, , i m = K . 2. матрица условий A содержит единичную подматрицу размера m m × 1 0 0 0 1 0 0 0 1 E       =       L L L L L L L . Другими словами, в любом уравнении есть переменная с коэффици- ентом равным единице, отсутствующая в остальных уравнениях. Первое условие не является обременительным, так как в случае отрицательной правой части некоторого уравнения, достаточно умножить его на (–1). В задаче предпочтительного вида начальный базисный план находится очень просто. Пример 6.1. 1 2 4 5 ( ) 3 4 2 max, f x x x x x = − + + → 1 2 4 2 3 4 2 4 5 3 10, 5 20, 2 8, 0, 1,2, ,5. j x x x x x x x x x x j + − = + + = + + = ≥ = K Матрица условий A и вектор правых частей ограничений b имеют вид 1 3 0 1 0 0 1 1 5 0 0 2 0 1 1 A −     =       , 10 20 0 8 b     = >       , а целевой вектор с = (1, -3, 0, 4, 2). Сразу очевидна одна базисная матрица: 1 3 5 ( , , ) Б A A A A = с еди- ничными векторами условий.
  64. 64 Следовательно, выбирая в качестве базисных переменных x1 , x3

    , x5 , и полагая в системе уравнений x2 = x4 = 0 (небазисные переменные), не- медленно находим x1 =10, x3 = 20, x5 = 8, так что начальный базисный план x0 = (10, 0, 20, 0, 8). Видим, что значения базисных переменных рав- ны правым частям ограничений. Из этого понятно требование положи- тельности правых частей bi . В дальнейшем, базисные переменные будем объединять в вектор xБ. Таким образом, в канонической задаче предпочтительного вида в качестве начальной базисной матрицы берется единичная подматрица AБ= = E, а соответствующие ей базисные переменные равны правым частям ограничений: xБ = b . Для базисного плана такого вида может быть сформулирован доста- точно простой для проверки критерий оптимальности. Введем величины ∆ j = < сБ , Aj > – cj , j = 1,...,n, (6.1) где сБ – вектор из коэффициентов целевой функции при базисных пере- менных xБ, Aj – j-й столбец матрицы условий, cj – j-й коэффициент целевой функции. Разности ∆ j называются симплексными разностями или сим- плексными оценками. Критерий оптимальности базисного плана. Если для базисного плана с единичной базисной матрицей все симплексные оценки неотрица- тельны, то этот план оптимален. Применим данный критерий для проверки на оптимальность базис- ного плана x0 = (10, 0, 20, 0, 8) из примера 6.1. Так как в этом плане вектор базисных переменных xБ =( x1 , x3 , x5 ), то сБ = ( c1 , c3 , c5 ) = (1, 0, 2). 1 2 3 4 5 1 3 0 1 0 0 , 1 , 1 , 5 , 0 0 2 0 1 1 A A A A A −                     = = = = =                               . Следовательно, ∆ 1 = < сБ , A1 > – c1 = 1·1 + 0·0 + 2·0 – 1= 0, ∆ 2 = < сБ , A2 > – c2 = 1·3 + 0·1 + 2·2 – (-3) = 10, ∆ 3 = < сБ , A3 > – c3 = 1·0 + 0·1 + 2·0 – 0= 0, ∆ 4 = < сБ , A4 > – c4 = 1·(-1) + 0·5 + 2·1 – 4= -3, ∆ 5 = < сБ , A5 > – c5 = 1·0 + 0·0 + 2·1 – 2= 0.
  65. 65 Так как оценка ∆ 4 < 0, то базисный

    план x0 не оптимален. Заметим, что симплексные оценки, соответствующие базисным переменным, всегда равны нулю, так что достаточно проверять только небазисные оценки. 6.2. Реализация симплекс-метода на примере Продемонстрируем применение симплекс-метода на примере из главы 6. Рассмотрим каноническую задачу ЛП f(x) = x1 + 2x2 +0 x3 + 0 x4 → max (6.2) –x1 + 2x2 + x3 = 4 , (6.3) 3 x1 +2x2 + x4 = 12 , (6.4) xj ≥ 0 , j = 1,2,3,4. (6.5) Матрица условий A = ( A1 , A2 , A3 , A4 ) , где 1 1 3 A −   =     2 2 2 A   =     3 1 0 A   =     4 0 1 A   =     Целевой вектор c =(c1 , c2 , c3 , c4 ) = (1, 2, 0, 0 ); вектор правых частей b = (b1 , b2 ) = ( 4, 12 ). Шаг 0. Нахождение начальной угловой точки (базисного плана). Задача имеет предпочтительный вид, так как правые части уравне- ний положительны, а столбцы матрицы условий A3 , A4 образуют единич- ную подматрицу. Значит начальная базисная матрица 0 Б A = ( A3 , A4 ), а пе- ременные x3 и x4 – базисные, x1 и x2 - небазисные, cБ = (c3 , c4 ) = = (0 , 0). Начальный базисный план имеет вид x0 = (0, 0, x3 , x4 ) = ( 0, 0, 4, 12 ); f(xo) = 0. Шаг 1. Проверка базисного плана на оптимальность. Подсчитаем симплексные оценки для небазисных переменных по формуле (6.1) ∆1 = < cБ , A1 > – c1 = 0 ·(–1) + 0 ·3 – 1 = –1. ∆2 = < cБ , A2 > – c2 = 0 ·2 + 0 · 2 – 2 = –2. Так как оценки отрицательны, то план xo – не оптимален. Будем искать новый базисный план (смежную угловую точку) с большим значе- нием целевой функции. Шаг 2. Нахождение переменной, вводимой в базис.
  66. 66 Целевую функцию можно увеличить, если ввести в состав базисных

    переменных (сделать положительной) одну из небазисных переменных x1 или x2 , поскольку обе оценки 0 , 2 1 < ∆ ∆ . Обычно в состав базисных вво- дят небазисную переменную с наибольшей по модулю отрицательной оценкой, поэтому будем вводить в базис переменную x2. Шаг 3. Определение переменной, выводимой из базиса. После ввода в базис переменной x2 новый план будет иметь вид x' = (0, x2 , x3 , x4 ). Этот план не является базисным, так как он содержит только одну нулевую координату, значит надо сделать нулевой (исключить из базиса) одну из переменных x3 или x4 . Подставим координаты плана x' = (0, x2 , x3 , x4 ) в ограничения за- дачи. Получим 2x2 + x3 = 4 , 2x2 + x4 = 12 . Выразим отсюда базисные переменные x3 и x4 через переменную x2 , вводимую в базис. x3 = 4 – 2x2 , (6.6) x4 = 12 – 2x2 . (6.7) Так переменные x3 и x4 должны быть неотрицательны, получим систему неравенств 4 – 2x2 ≥ 0, (6.8) 12 – 2x2 ≥ 0. (6.9) Чем больше значение x2 , тем больше возрастает целевая функция. Найдем максимальное значение новой базисной переменной, не нару- шающее ограничения задачи, то есть удовлетворяющее условиям (6.8), (6.9). Перепишем последние неравенства в виде 2x2 ≤ 4, 2x2 ≤ 12, откуда максимальное значение x2 = min { 4/2 , 12/2 } = 2. Подставляя это значение в выражения (6.6), (6.7) для x3 и x4 , получаем x3 = 0 . Следова- тельно x3 выводится из базиса. Шаг 4. Определение координат нового базисного плана.
  67. 67 Новый базисный план (смежная угловая точка) имеет вид x'

    = (0, x2 , 0 , x4 ). Базис этой точки состоит из столбцов A2 и A4 , так что 1 Б A = ( A2 , A4 ). Этот базис не является единичным, так как вектор A2 = (2 , 2), и следо- вательно задача (6.2)–(6.5) не имеет предпочтительного вида относитель- но нового базиса. Преобразуем условия задачи (6.3), (6.4) таким образом, чтобы она приняла предпочтительный вид относительно новых базисных переменных x2 , x4 , то есть чтобы переменная x2 входила в первое урав- нение с коэффициентом, равным единице, и не присутствовала во втором уравнении. Перепишем уравнения задачи – x1 + 2 x2 + x3 = 4 , ( p1 ) 3x1 +2 x2 + x4 = 12. ( p2 ) Поделим первое уравнение на коэффициент при x2 . Получим новое уравнение ' 1 p = p1 / 2, эквивалентное исходному – 1/2 x1 + x2 + 1/2 x3 = 2 . ( ' 1 p ) Используем это уравнение, которое назовем разрешающим, для исключе- ния переменной x2 из второго уравнения. Для этого надо уравнение ' 1 p умножить на 2 и вычесть из p2 . Получим ' 2 p = p2 – 2 ' 1 p = p2 – p1 : 4 x1 – x3 + x4 = 8 . ( ' 2 p ) В итоге получили новое "предпочтительное" представление исход- ной задачи (6.2)–(6.5) относительно новых базисных переменных x2 , x4 : f(x) = x1 + 2 x2 + 0 x3 + 0 x4 → max – 1/2 x1 + x2 + 1/2 x3 = 2 ( ' 1 p ) 4 x1 – x3 + x4 = 8 ( ' 2 p ) xj ≥ 0 , j = 1,2,3,4. Подставляя сюда представление нового базисного плана x1 = (0, x2 , 0, x4 ), сразу найдем его координаты, так как значения базисных перемен- ных равны правым частям уравнений x' = (0, 2, 0, 8); f(x1) = 4. На этом завершается первая итерация простого симплекс-метода. Далее процесс решения задачи продолжается с шага 1, состоящем в про- верке найденного плана на оптимальность. Решение заканчивается тогда,
  68. 68 когда все симплексные оценки текущего базисного плана окажутся неот-

    рицательными. Мы не будем проводить вторую итерацию по схеме первой, по- скольку все вычисления симплекс-метода удобнее проводить в табличном виде. 6.3. Табличная реализация простого симплекс-метода Табличную реализацию продемонстрируем на том же примере (6.2)–(6.5). Шаг 0. Решение начинается с построения начальной симплекс- таблицы. Сначала заполняется правая часть таблицы с третьей колонки. В двух верхних строках записываются имена переменных задачи (x1 ,...,x4 ) и коэффициенты целевой функции при этих переменных. Ниже записывают- ся коэффициенты уравнений – элементы матрицы условий А, так что под переменной x1 располагается столбец A1 , под переменной x2 – столбец A2 и т.д. В правый столбец заносятся правые части ограничений (числа bi > 0). Затем находим столбцы матрицы условий, образующие единичный базис – в нашем примере это A3 и A4 – и соответствующие им базисные переменные x3 , x4 записываем во вторую колонку. Наконец, в первом столбце записываем коэффициенты целевой функции при базисных пере- менных. Табл.1. (Начальная симплекс-таблица) с 1 =1 с 2 =2 с 3 =0 с 4 =0 СБ Базисные пе- ременные x1 x2 x3 x 4 Значения ба- зисных перем. (xБ=b) c3 =0 x3 a11 =-1 a12 =2 a13 =1 a14 =0 b1 =4 c4 =0 x4 a21 =3 a22 =2 a23 =0 a24 =1 b2 =12 Строка оценок ∆j ∆1 = -1 ∆2 = -2 ∆3 = 0 ∆4 = 0 f(x)= 0 Так как задача имеет предпочтительный вид, то значения базисных переменных равны правым частям уравнений, расположенным в послед- нем столбце. Поскольку небазисные переменные равны нулю, то началь- ный базисный план равен xo = (0, 0, x3 , x4 ) = ( 0, 0, 4, 12 ). Шаг 1. Для проверки плана xo на оптимальность подсчитаем сим- плексные оценки для небазисных переменных x1 и x2 по формуле
  69. 69 ∆j =< cБ , Aj > – cj ,

    . 2 , 1 = j ∆1 = < cБ , A1 > – c1 = 0 ·(–1) + 0 ·3 – 1 = –1. При табличной реализации для подсчета оценки ∆1 надо найти сумму произведений элементов первого столбца (cБ ) на соответствующие элементы столбца A1 при небазисной переменной x1 и из нее вычесть целе- вой коэффициент 1 c . Аналогично подсчитывается оценка ∆2 , как скаляр- ное произведение первого столбца (cБ ) на столбец при переменной x2 и из нее вычесть целевой коэффициент 2 c ∆2 = < cБ , A2 > – c2 = 0 ·2 + 0 · 2 – 2 = –2. Симплексные оценки записываются в последней строке симплекс- таблицы, которая называется дельта-строкой. При этом заполняются не только клетки при небазисных переменных, но и базисные клетки. Легко проверить, что для базисных единичных столбцов матрицы условий сим- плексные оценки равны нулю. В последней клетке строки оценок записы- ваем значение целевой функции в точке xo . Заметим, что, так как небазис- ные координаты базисного плана равны нулю, то подсчет целевой функ- ции удобно производить по формуле f(x)= < cБ , xБ > , перемножая скалярно первый и последний столбцы таблицы. Так как среди оценок ∆j есть отрицательные, то план xo – не опти- мальный, и надо найти новый базисный план, заменив одну из базисных переменных на новую из числа небазисных. Шаг 2. Поскольку обе оценки ∆1 и ∆2 < 0 , то в базис можно включить любую из переменных x1 , x2 . Введем в базис переменную с наи- большей по модулю отрицательной оценкой, то есть x2 . Столбец симплекс-таблицы, в котором находится вводимая в базис переменная называется ведущим столбцом. В примере ведущим будет столбец при x2 . Шаг 3. Если в ведущем столбце все элементы отрицательны, то решения задачи не существует и max f(x) → ∞. В примере все элементы ведущего столбца положительны, следовательно, можно найти максималь- ное значение x2 , при котором одна из старых базисных переменных обра- тится в ноль. Напомним, что максимальное значение x2 = min{4/2, 12/2}=2.
  70. 70 По таблице это значение вычисляется как наименьшее из отноше-

    ний компонент базисного плана (из последнего столбца) к соответст- вующим положительным элементам ведущего столбца. Наименьшее отношение находится в строке с базисной переменной x3 . Значит переменная x3 исключается из состава базисных переменных (x3 = 0). Строка, содержащая переменную, исключаемую из базиса, называ- ется ведущей строкой. В примере ведущей строкой будет первая строка. Элемент, находящийся на пересечение ведущей строки и ведущего столбца, называется ведущим элементом. В нашем случае ведущий элемент a12 = 2. Табл.1а. (Начальная симплекс-таблица с ведущими строкой и столбцом) с 1 =1 с 2 =2 с 3 =0 С 4 =0 cБ Базисные перемен. x1 x2 x3 x 4 Значения базисных перем. Уравне- ния c3 =0 x3 –1 2 1 0 4 p1 c4 =0 x4 3 2 0 1 12 p2 Строка оценок ∆j ∆1 = –1 ∆2 = –2 ∆3 = 0 ∆4 = 0 f(x)= 0 Шаг 4 . Для получения нового базисного плана приведем задачу к новому предпочтительному виду относительно новых базисных перемен- ных. Для этого построим новую симплекс-таблицу, во втором столбце которой вместо исключаемой переменной x3 запишем новую базисную переменную x2 , а в первом столбце (сБ) вместо с 3 запишем коэффициент целевой функции при x2 : c2 =2. В новой симплекс таблице столбец при x2 должен стать единичным (ведущий элемент должен равняться единице, а все остальные элементы должны обратиться в ноль). Это достигается сле- дующими преобразованиями строк таблицы. 1). Все элементы ведущей строки делим на ведущий элемент и запи- сываем в той же строке новой симплекс- таблицы p1 ' = p1 / 2. Полученную строку p1 ' назовем разрешающей.
  71. 71 2). К оставшейся второй строке прибавим разрешающую строку, ум-

    ноженную на такое число, чтобы элемент, стоящий в ведущем столбце обратился в ноль p2 ' = p2 + (- 2) p1 ' = p2 - p1 . 3). Заполним последнюю строку, вычислив оценки ∆j ' = < cБ' , Aj ' > - - cj , , 4 , 3 , 2 , 1 = j где cБ' , Aj ' - соответствующие столбцы новой сим- плекс-таблицы, и значение целевой функции f(x)= < cБ' , xБ' >. Получим вторую симплекс-таблицу с новым базисом. Табл.2. (Результат первой итерации) с 1 =1 с 2 =2 с 3 =0 с 4 =0 cБ' Базисные перемен. x1 x2 x3 x 4 Значения базисных перем. Преобразо- вания c2 =2 x2 –1/2 1 1/2 0 2 1). p1 ' =p1 /2 c4 =0 x4 4 0 -1 1 8 2). p2 ' = p2 - p1 оценки ∆j ' –2 0 1 0 f(x')=4 Новый базисный план x' = (0, x2 , 0 , x4 ) = ( 0, 2, 0, 8 ). Поскольку оценка ∆1 = -2 < 0 , то план x' не оптимален. Для пере- хода к новому базисному плану (соседней угловой точки) проведем еще одну итерацию симплекс - метода. Так как ∆1 < 0 , то в базис вводится переменная x1 . Первый столбец, содержащий x1 - ведущий. Находим отношения компонент базисного плана к соответствую- щим положительным элементам ведущего столбца и в качестве ведущей строки берем строку с наименьшим отношением. В таблице 2 в ведущем столбце только второй элемент больше нуля (= 4), следовательно, вторая строка будет ведущей, а расположенная в ней базисная переменная x4 подлежит исключению из базиса. Выделяем ведущий столбец и ведущую строку и на их пересечении находим ведущий элемент (= 4). Строим новую (третью) симплекс-таблицу, заменяя в ней базисную переменную x4 на x1 , и снова преобразуя строки таблицы таким образом, чтобы ведущий элемент стал равным единице, а остальные элементы ве- дущего столбца обратились в ноль. Для этого ведущую (вторую) строку
  72. 72 делим на 4, а к первой строке прибавляем полученную

    вторую строку, де- ленную на 2. Последнюю строку вычисляем по формулам для симплекс- ных оценок ∆j'' = < cБ'' , Aj'' > - cj , где cБ'' , Aj'' - соответствующие столбцы новой симплекс-таблицы. Значение целевой функции на новом базисном плане находим по формуле f(x'')= < cБ'' , xБ'' >. Табл.3. (Результат второй итерации) с 1 =1 с 2 =2 с 3 =0 с 4 =0 cБ'' Базисн. перемен. x1 x2 x3 x 4 Значения базисных перем. Преобразования c2 =2 x2 0 1 3/8 1/8 3 2). p1 ''=p1 '+p2 ''/2 c1 =1 x1 1 0 -1/4 1/4 2 1). p2 '' = p2 '/4 оценки ∆j '' 0 0 1/2 1/2 f(x'' )= 8 Новый базисный план x'' = (x1 , x2 , 0 , 0 ) = ( 2, 3, 0, 0 ). Поскольку все оценки неотрицательны, то план x'' - оптимальный план. Таким образом, x* = ( 2, 3, 0, 0 ), f(x*) = 8. 6.4. Метод искусственного базиса решения канонической задачи ЛП Рассмотрим теперь каноническую задачу ЛП, общего вида, удовле- творяющую единственному условию - правые части уравнений должны быть положительны. Ясно, что любую каноническую задачу можно при- вести к такому виду, умножив уравнения с отрицательной правой частью на (–1). 1 1 2 2 ( ) max n n f x c x c x c x = + + + → K (6.10) 11 1 12 2 1 1 21 1 22 2 2 2 1 1 2 2 , , , 0, 1,2, , , , 0, 1,2, , . n n n n m m mn n m j i a x a x a x b a x a x a x b a x a x a x b x j n m n b i m + + + = + + + = + + + = ≥ = < > = K K LLLLLLLLLLLLL K K K (6.11)
  73. 73 Предположим, что матрица условий A для системы ограничений (6.11)

    не содержит единичной подматрицы, так что для решения задачи (6.10)–(6.11) простой симплекс-метод использовать нельзя. Для решения общей канонической задачи ЛП применяется метод искусственного базиса, называемый также методом больших штрафов или М-методом. Его идея состоит в переходе от задачи (6.10)–(6.11) к некоторой но- вой задаче, связанной с исходной, но имеющей предпочтительный вид и, следовательно, допускающей применение простого симплекс-метода. При этом решение новой задачи, называемой искусственной, однозначно опре- деляет и решение исходной задачи. Искусственную задачу построим следующим образом. В левую часть каждого из уравнений системы (6.11) добавим по но- вой неотрицательной переменной ui . Новые переменные назовем искусст- венными в отличие от дополнительных переменных, вводимых при пере- ходе от стандартной задачи к канонической a11 x1 + a12 x2 + ... + a1n xn + u1 = b1 , a21 x1 + a22 x2 + ... + a2n xn + u2 = b2 , ......................................................... am1 x1 + am2 x2 + ... + amn xn + um = bm , xj ≥ 0 , j=1,2,...n, ui ≥ 0 , i = 1,2,...m. (6.12) Ограничения (6.12) не эквивалентны ограничениям (6.11), посколь- ку искусственные переменные нарушают ограничения-равенства. Зато по- следние m столбцов матрицы условий искусственной задачи представляют собой единичную подматрицу 11 12 1 21 22 2 1 2 1 0 0 0 1 0 0 0 1 n n m m mn a a a a a a A a a a       =       L L L L L L L L L L L L L L и, значит, начальный базисный план искусственной задачи строится сразу (x,u)o иск = ( x1 , ... , xn , u1 , ... , um ) = ( 0 , ... , 0 , b1 , ... , bm ). Заметим, что если в системе ограничений (6.12) все искусственные переменные будут равны нулю, то тогда ограничения (6.12) совпадут с ог- раничениями (6.11). Поэтому надо для искусственной задачи сформиро- вать такую целевую функцию, максимизация которой одновременно при-
  74. 74 водила бы к максимизации целевой функции (6.10), и при

    этом искусст- венные переменные обращались в ноль. Такая искусственная целевая функция имеет вид fиск(x,u)=f(x)–M( u1 + u2 +...+um ) = = c1 x1 +...+cn xn –Mu1 –...–Mum → max, (6.13) где M > 0 – сколь угодно большое число, называемое штрафным коэффи- циентом. Ясно, что если хотя бы одна переменная ui > 0, то значение ис- кусственной целевой функции fиск ( x , u )→ − ∞ , поэтому усилия сим- плекс-метода будут направлены на получение базисного плана с нулевыми искусственными переменными. При решение задачи (6.12)–(6.13) простым симплекс-методом мо- гут возникнуть три ситуации: 1. На итерации симплекс метода в ведущем столбце все элементы отрицательны. Это значит, что целевая функция fиск неограни- чена сверху, а, следовательно, и целевая функция исходной зада- чи f(x) – неограничена сверху на множестве планов. 2. Симплекс-методом найден оптимальный план задачи (6.12), (6.13) и в нем все искусственные переменные равны нулю: (x,u)* иск = ( x* 1 , x* 2 , ... , x* n , 0 , ... , 0 ). В этом случае fиск (x*, 0) = f (x*) , ограничения (6.12) и (6.11) совпадают. Следовательно x* = ( x* 1 , x* 2 , ... , x* n ) – оптимальный план задачи (6.10),(6.11). 3. Симплекс-методом найден оптимальный план задачи (6.12),(6.13) и хотя бы одна из искусственных переменных не равна нулю (x,u)* иск = ( x* 1 , x* 2 , ... , x* n , 0 , ... , u* k , ... , 0 ) , где u* k > 0. Это значит, что ограничения исходной и искусственной задач на оптимальном плане не совпадают. Можно доказать, что такой случай возможен только если ограничения (6.11) исходной зада- чи не совместны, то есть множество планов задачи (6.10), (6.11) – пусто. Пример 6.2. Решить следующую задачу ЛП, используя М-метод: f(x) = 3x1 +x2 → max, x1 – x2 – x3 = –1, 2x1 + x2 + 2x3 = 10, x1 , x2 , x3 ≥ 0.
  75. 75 Решение. Так как правые части уравнений должны быть положи-

    тельными, умножим первое ограничение на (–1) и перепишем условия: –x1 + x2 + x3 = 1, 2x1 + x2 + 2x3 = 10, x1 , x2 , x3 ≥ 0. В каждое уравнение добавим по неотрицательной искусственной переменной и построим искусственную целевую функцию: fиск = 3x1 +x2 –Mu1 – Mu2 → max, –x1 + x2 + x3 + u1 = 1, 2x1 + x2 + 2x3 + u2 = 10, x1 , x2 , x3 ≥ 0, u1 , u2 ≥ 0, где М - сколь угодно большое положительное число. Матрица условий искусственной задачи содержит единичную под- матрицу в столбцах, соответствующих искусственным переменным 1 1 1 1 0 2 1 3 0 1 иск A −   =     . Для решение искусственной задачи применим простой симплекс- метод в табличной форме. Начальная симплекс-таблица будет иметь вид. 3 1 0 –M –M CБ Базисные пе- ремен. x1 x2 x3 u1 u2 Значения базисных перем. –M u1 –1 1 1 1 0 1 –M u2 2 1 2 0 1 10 ∆ j = < cБ , Ai >– cj –M –3 –2M –1 –3M 0 0 fиск = 11M Начальный базисный план (x,u)0 иск = ( 0, 0, 0, 1, 10 ). Этот план не оптимален, так как в последней строке есть отрица- тельные оценки. В базис можно вводить любую небазисную переменную с отрица- тельной оценкой. Введем в базис переменную x2 , так как в столбце x2 са- мые простые числа. Столбец, содержащий x2 будет ведущим. Найдем отношения координат базисного плана (в последнем столб- це) к соответствующим положительным элементам ведущего столбца ( 1/1
  76. 76 и 10/1 ). Наименьшее отношение находится в строке с

    u1 , следовательно, искусственная переменная u1 исключается из базиса. На пересечении ве- дущих строки и столбца находится ведущий элемент, равный 1. Строим следующую симплекс-таблицу. 3 1 0 -M -M CБ Базисные перемен. x1 x2 x3 u1 u2 Значения базис- ных перем. 1 x2 -1 1 1 1 0 1 -M u2 3 0 1 -1 1 9 ∆ j -3M -4 0 -M +1 2M +1 0 fиск = -9M +1 Новый базисный план (x,u)'иск = ( 0, 1, 0, 0, 9 ) так же не оптима- лен. Введем в базис переменную x1 с отрицательной оценкой, а исклю- чим переменную u2 , так как в ведущем столбце только второй элемент (в строке с u2 ) положителен. Ведущий элемент равен 3. Новая симплекс- таблица будет иметь вид. 3 1 0 -M -M CБ Базисные перемен. x1 x2 x3 u1 u2 Значения базисных перем. 1 x2 0 1 4/3 2/3 1/3 4 3 x1 1 0 1/3 -1/3 1/3 3 ∆ j 0 0 7/3 -1/3 +M 4/3 +M fиск = 13 Так как М - сколь угодно большое положительное число, то все оценки ∆ j ≥ 0, следовательно (x,u)" иск = ( 3, 4, 0, 0, 0 ) - оптимальный план искусственной задачи. Поскольку все искусственные переменные обрати- лись в ноль, то первые три координаты образуют оптимальный план ис- ходной задачи x*=(3,4,0), f ( x* )=13. Пример 6.3. Решить М-методом следующую задачу ЛП f(x) = 3x1 + 2x2 → max, 2x1 + x2 ≤ 2, 3x1 + 4x2 ≥ 12, x1 , x2 ≥ 0. Решение. После приведения задачи к канонической форме она при- мет вид f(x) = 3x1 + 2x2 + 0 x3 + 0 x4 → max, 2x1 + x2 + x3 = 2, 3x1 + 4 x2 – x4 =12, x1 , x2 , x3 , x4 ≥ 0.
  77. 77 Эта задача не имеет предпочтительной формы, так как матрица

    ус- ловий не содержит (2x2) - единичной подматрицы. В то же время пере- менная x3 входит в первое уравнение с коэффициентом равным 1 и не вхо- дит во второе уравнение. Следовательно, для создания единичного базиса достаточно добавить только одну искусственную переменную во второе уравнение. Искусственная задача будет иметь вид. fиск(x,u) = 3x1 + 2x2 + 0 x3 + 0 x4 – М u→ max, 2x1 + x2 + x3 = 2, 3x1 + 4 x2 - x4 + u =12, x1 , x2 , x3 , x4 ,u ≥ 0. Итерации симплекс-метода приведены в таблицах: 3 2 0 0 -M CБ Базисные перемен. x1 x2 x3 x4 u Значения ба- зисных перем. 0 x3 2 1 1 0 0 2 -M u 3 4 0 -1 1 12 ∆ j -3M-3 -4M-2 0 M 0 fиск = -12M 2 x2 2 1 1 0 0 2 -M u -5 0 -4 -1 1 4 ∆ j 5M+1 0 4M+2 M 0 fиск = 4-4M Так как в последней таблице все симплексные оценки неотрица- тельны, то план (x,u)*иск = (0, 2, 0, 0, 4) - оптимальный план искусственной задачи. Здесь искусственная переменная имеет положительное значение (u = 4), значит ограничения исходной задачи не совместны. В этом легко убедиться, если задачу решить геометрически. 6.5. Связь между симплексными оценками и двойственными переменными. Можно показать, что решая симплекс-методом каноническую зада- чу линейного программирования ( ) , max f x c x = → , Ax b = , 0 x ≥ , мы одновременно находим и оптимальный план двойственной задачи. На каждой итерации симплекс-метода для проверки базисного плана на оптимальность подсчитываются симплексные оценки j j Б j c A c − = ∆ ' ' ' , , j = 1,…,n , (6.14)
  78. 78 где ' j A - преобразованные в соответствии с

    процедурой симплекс-метода столбцы матрицы условий A. Текущий базисный план будет оптимален, если все оценки окажутся больше или равными нулю. Обозначим оценки последней (оптимальной) симплекс-таблицы * j ∆ , а ее столбцы - * j A , так что 0 , * * * ≥ − = ∆ j j Б j c A c . Справедлива следующая теорема об оценках. В оптимальной симплекс-таблице симплексные оценки равны раз- ностям левых и правых частей ограничений двойственной задачи, под- считанным на оптимальном плане y*= (y1 *,.., ym *): j m mj j j c y a y a − + ⋅ ⋅ ⋅ + = ∆ * * 1 1 * , (6.15) где y* - оптимальный план двойственной задачи g(y) = b1 y1 + …+ bm ym  → min a1j y1 + … + amj ym ≥ cj , j = 1,.., n. Предположим теперь, что симплекс-методом решается стандартная задача ЛП. f(x) = c1 x1 + c2 x2 + …+ cn xn → max, a11 x1 + a12 x2 + … + a1n xn ≤ b1 , a21 x1 + a22 x2 + … + a2n xn ≤ b2 , …………………………........…… am1 x1 + am2 x2 + … + amn xn ≤ bm , xj ≥ 0, j = 1, 2, …, n . После сведения ограничений-неравенств к уравнениям путем добав- ления в их левые части дополнительных переменных 0 ≥ i s , i=1,…,m, по- лучим каноническую задачу ЛП с n+m переменными и единичной подмат- рицей в последних m столбцах матрицы А, соответствующих дополнитель- ным переменных 11 12 1 21 22 2 1 2 1 0 0 0 1 0 0 0 1 n n m m mn a a a a a a A a a a       =       L L L L L L L L L L L L L L
  79. 79 Подсчитаем по формуле (6.15) симплексные оценки * j ∆

    для индек- сов j =n+1, n+2,…, n+m, соответствующих дополнительным переменным si , i=1,…,m. Так как дополнительные переменные не входят в целевую функцию, то коэффициенты 0 2 1 = = ⋅ ⋅ ⋅ = = + + + m n n n c c c и, следовательно, . 1 0 0 .... .......... .......... .......... .......... .......... , 0 1 0 , 0 0 1 * * * 2 * 1 * * 2 * * 2 * 1 * 2 * 1 * * 2 * 1 * 1 m m m n m n m n y y y y y y y y y y y y = ⋅ + ⋅ ⋅ ⋅ + ⋅ + ⋅ = ∆ = ⋅ + ⋅ ⋅ ⋅ + ⋅ + ⋅ = ∆ = ⋅ + ⋅ ⋅ ⋅ + ⋅ + ⋅ = ∆ + + + (6.16) Таким образом, в оптимальной симплекс-таблице в последних m клетках строки оценок, соответствующих дополнительным перемен- ным si находятся координаты оптимального плана двойственной за- дачи. Напомним, что двойственные переменные m y y y ,..., , 2 1 можно интер- претировать как цены ресурсов m R R R ,..., , 2 1 , используемых в производстве n видов продукции n P P P ,..., , 2 1 . Тогда левая часть j-го ограничения двойст- венной задачи будет обозначать стоимость ресурсов, затраченных на вы- пуск единицы продукции j P , а правая – удельный доход от ее реализации. Если на итерации симплекс-метода 0 1 1 < − + ⋅ ⋅ ⋅ + = ∆ j m mj j j c y a y a , то стои- мость затрат на выпуск продукции j P меньше дохода от ее реализации и, следовательно, эту продукцию выгодно производить, то есть переменную xj надо ввести в состав базисных – сделать положительной. Этот процесс повторяется до тех пор, пока все оценки не станут больше или равными нулю, причем для базисных (положительных) переменных они в точности равны нулю. Это значит, что не осталось видов продукции, способных увеличить суммарный доход, то есть найден оптимальный план. При этом для выпускаемых видов продукции (базисных переменных) удельный до- ход равен стоимости ресурсов, затраченных на эту продукцию. 7. Постоптимальный анализ решения задач линейного про- граммирования После того как найден оптимальный план задачи ЛП, возникает очень важная проблема определения его устойчивости к возможным изме- нениям параметров модели. Например, могут измениться цены реализации продукции, а реальные запасы ресурсов могут отличаться от расчетных.
  80. 80 Постоптимальный анализ должен дать ответы на следующие вопро- сы:

    • Существуют ли диапазоны изменения параметров модели, при ко- торых ранее найденный оптимальный план х* остается оптималь- ным и в изменившихся условиях? Если такие диапазоны существу- ют, как их найти? • Если же при изменении параметра модели план х* перестает быть оптимальным, то можно ли найти новый оптимальный план, не ре- шая всю задачу заново? Постоптимальный анализ продемонстрируем на конкретной задаче. 7.1. Построение модели и ее решение. Фирма имеет ресурсы двух типов: R1 в объеме b1 = 240 ед. и R2 в объеме b2 = 130 ед., и собирается производить из них два вида продукции 1 P и 2 P , цены реализации которых составляют с 1 = 20 и с 2 = 12 ден. единиц. Нормы расхода ресурсов на единицу продукции приведены в таблице. Расход ресурса на 1 ед. продукции Ресурс 1 P 2 P Запас ресурса R1 6 4 b1 =240 R2 2 4 b2 =130 Цена прод. с 1 =20 с 2 =12 Требуется найти план выпуска продукции, максимизирующий ожи- даемый суммарный доход от ее реализации, и оценить его устойчивость к возможным изменениям цен продукции и запасов ресурсов. Математическая модель задачи имеет вид . 0 , 130 4 2 240 4 6 max 12 20 ) ( 2 1 2 1 2 1 2 1 ≥    ≤ + ≤ + → + = x x x x x x x x x f Здесь x1 и x2 – планируемые объемы выпуска продукции 1 P и 2 P , це- левая функция f(x) – суммарный доход от реализации продукции, левые части ограничений – затраты ресурсов R1 и R2 на выпуск всей продукции.
  81. 81 Решим эту задачу простым симплекс-методом, для чего приведем ее

    к канонической форме, добавив в левые части ограничений неотрицатель- ные переменные s1 и s2 . 0 , , , 130 4 2 240 4 6 max 0 0 12 20 ) ( 2 1 2 1 2 2 1 1 2 1 2 1 2 1 ≥    = + + = + + → + + + = s s x x s x x s x x s s x x x f Итерации симплекс-метода, приведены ниже Таблица 1. 20 12 0 0 СБ Базисные перемен. x1 x2 s1 s2 Значения ба- зисных перем. 0 s1 6 4 1 0 240 0 s2 2 4 0 1 130 ∆ j =<cБ , Aj >-cj -20 -12 0 0 f = 0 Таблица 2. 20 12 0 0 СБ Базисные перемен. x1 x2 s1 s2 Значения ба- зисных перем. 20 x1 1 2/3 1/6 0 40 0 s2 0 8/3 -1/3 1 50 ∆ j * 0 4/3 10/3 0 f = 800 Так как во второй таблице все симплексные разности ∆ j ≥ 0, то век- тор (x*, s*) = ) , , , ( * 2 * 1 * 2 * 1 s s x x = (40, 0, 0, 50) является оптимальным планом канонической задачи, а его первые координаты x* = (40, 0) дают опти- мальное решение исходной задачи. Таким образом, по оптимальному пла- ну надо производить только продукцию 1 P в объеме 40 единиц. Выпуск продукции 2 P не рентабелен. При этом максимальный доход f(x*) составит 800 ден. единиц. Проведем постоптимальный анализ полученного решения, а имен- но, попытаемся определить пределы изменения цен продукции с 1 и с 2 и запасов ресурсов b1 и b2 , при которых сохранится оптимальность плана x* = (40, 0). Анализ устойчивости решения будем проводить в предполо- жении, что меняется только один из параметров модели (цена одного про- дукта или запас одного ресурса) при неизменных других. Влияние на оп- тимальный план изменения некоторого параметра проследим по симплекс- таблицам.
  82. 82 Введем следующие обозначения для столбцов последней (опти- мальной) симплекс-таблицы:

            = 0 20 * Б c ,         = 0 1 * 1 A ,           = 3 8 3 2 * 2 A ,           − = 3 1 6 1 * 3 A ,         = 1 0 * 4 A ,         = 50 40 * Б x 7.2. Изменение коэффициентов целевой функции – цен продукции Рассмотрим, как изменятся вычисления в симплекс-таблице при из- менении одного коэффициента целевой функции – цены продукта r P . Пусть новая цена ' r c отличается от прежней на величину r ε . Тогда ее можно представить в виде r r r c c ε + = ' . Изменение коэффициента целевой функ- ции отразится только на строке оценок j ∆ оптимальной симплекс- таблицы. Согласно формуле (6.15), новые оценки ' * ' ' , j j Б j c A c − = ∆ , j = 1,…,n . (7.1) Ранее найденный оптимальный план x* останется оптимальным, если вы- ражения (7.1) будут неотрицательны. Разберем два случая. а). Меняется коэффициент целевой функции при небазисной пере- менной – цена нерентабельной (не выпускаемой) продукции. В примере по оптимальному плану не выпускается продукт 2 P . Пусть его новая цена 2 2 2 ' 2 12 ε ε + = + = c c (7.2) Это изменение отразится только на одной симплексной оценке 2 ∆ . По формуле (7.1) при j = 2 получим 2 * 2 2 2 ' 2 * 2 * ' 2 3 4 12 3 8 3 2 , 0 20 , ε ε ε − ∆ = − = − −                   = − = ∆ c A cБ , где * 2 ∆ = 4/3 – соответствующая оценка оптимальной симплекс-таблицы. 20 12+ 2 ε 0 0 СБ Базисные перемен. x1 x2 s1 s2 Значения ба- зисных перем. 20 x1 1 2/3 1/6 0 40 0 s2 0 8/3 -1/3 1 50 ∆ j ’ 0 4/3- 2 ε 10/3 0 f = 800
  83. 83 План x* = (40, 0) останется оптимальным, если новая

    оценка 0 ' 2 ≥ ∆ , или 0 2 * 2 ≥ − ∆ ε . Следовательно, условие на допустимую величину колебания цены 2 ε имеет вид: * 2 2 ∆ ≤ ε =4/3. Отсюда, с учетом (7.2) можно получить условие на предельную величину самой цены ' 2 c , сохраняющее оптималь- ный план x*: 3 1 13 3 4 12 2 2 ' 2 = + ≤ + = ε c c . Его экономический смысл состоит в том, что продукцию 2 P невыгодно производить до тех пор, пока цена на нее не станет выше 3 1 13 ден. ед. Если же цена продукции 2 P превысит 3 1 13 , то план x* = (40, 0) перестанет быть оптимальным, так как в этом случае оценка 0 ' 2 < ∆ . Это означает, что при цене выше 3 1 13 выпуск про- дукции 2 P становится рентабельным и переменную x2 надо ввести в базис. Продолжая симплексные вычисления, получим новый оптимальный план, в котором переменная x2 будет положительной. В общем случае справедлив Вывод 1. При изменении коэффициента целевой функции при небазис- ной переменной r x – цены нерентабельной продукции r P : r r r c c ε + = ' план x* остается оптимальным, если * r r ∆ ≤ ε , или * ' r r r c c ∆ + ≤ , где * r ∆ - сим- плексная оценка оптимальной симплекс-таблицы при r x . b). Меняется коэффициент целевой функции при базисной перемен- ной - цена выпускаемой продукции. В примере по оптимальному плану выпускается продукт 1 P . Пусть его новая цена 1 1 1 ' 1 20 ε ε + = + = c c . (7.3) Проследим изменения в симплекс-таблице. Так как меняется число из первого столбца СБ , то согласно (7.1) изменятся оценки в небазисных столбцах при x2 и s1 ( в базисных столбцах оценки будут равны нулю). 20+ 1 ε 12 0 0 СБ Базисные перемен. x1 x2 s1 s2 Значения ба- зисных перем. 20+ 1 ε x1 1 2/3 1/6 0 40 0 s2 0 8/3 -1/3 1 50 ∆ j * 0 4/3 10/3 0 f = 800
  84. 84 ∆ j ’ 0 4/3+(2/3) 1 ε 10/3+(1/6) 1

    ε 0 f’ = 800+40 1 ε Непосредственный пересчет строки оценок показывает, что новые значения ∆ j ’ в небазисных столбцах равны оценкам ∆ j * оптимальной симплекс-таблицы плюс соответствующие элементы строки оценок при переменной x1 , умноженные на 1 ε 1 * 2 1 1 2 * 2 ' ' 2 3 2 3 2 3 4 12 3 8 3 2 , 0 20 , ε ε ε + ∆ = + = −                   + = − = ∆ c A cБ , 1 * 3 1 1 3 * 3 ' ' 3 6 1 6 1 3 10 3 1 6 1 , 0 20 , ε ε ε + ∆ = + =           −         + = − = ∆ c A cБ . Новые симплексные оценки приведены в последней строке таблицы. Для того чтобы план x* = (40, 0) остался оптимальным, новые оцен- ки ∆ j ’ должны быть неотрицательными. Решая систему неравенств, полу- чим 2 20 2 3 10 6 1 3 4 3 2 0 6 1 3 10 0 3 2 3 4 1 1 1 1 1 1 1 − ≥ ⇒    − ≥ − ≥ ⇒      − ≥ − ≥ ⇒      ≥ + ≥ + ε ε ε ε ε ε ε . Отсюда с учетом (7.3) легко найти границу цены продукта 1 P , при которой сохраняется оптимальный план x*: 18 2 20 20 1 ' 1 = − ≥ + = ε c . Таким образом, пока цена на продукт 1 P не упадет более чем на 2 д.е., то есть пока 18 ' 1 ≥ c , план x* = (40, 0) остается оптимальным. При этом значение целевой функции (дохода) изменится и будет равно 1 * 1 * 1 1 * 2 * 1 1 * ) ( 40 800 0 12 40 ) 20 ( 12 ) 20 ( ) ( ' ε ε ε ε ⋅ + = ⋅ + = ⋅ + ⋅ + = + + = x x f x x x f . Если же цена 1 P станет ниже 18 д.е., то оценка 0 ' 2 < ∆ и значит план x* = =(40, 0) перестанет быть оптимальным. Вводя в базис переменную x2 и продолжая вычисления симплекс-методом, мы получим новый оптималь- ный план. В общем случае справедлив Вывод 2. При изменении коэффициента целевой функции при базис- ной переменной xk – цены выпускаемой продукции k P : k k k c c ε + = ' , план x* остается оптимальным, если новые небазисные оценки 0 ' ≥ ∆ j . Эти оценки
  85. 85 находятся по правилу: к небазисным оценкам оптимальной симплекс- таблицы

    прибавляются соответствующие им числа из строки при базисной переменной xk , умноженные на k ε . Математически эти условия имеют вид 0 * * ≥ ⋅ + ∆ k kj j a ε , где j – номера небазисных переменных, * kj a - элементы строки оптимальной симплекс-таблицы при базисной переменной xk . При этом значение целе- вой функции (доход) изменится в соответствие с формулой k k x x f x f ε ⋅ + = * * * ) ( ) ( ' . 7.3. Изменение правых частей ограничений - запасов ресурсов Запишем каноническую форму рассматриваемой задачи . 0 , , , 130 4 2 240 4 6 max 0 0 12 20 ) ( 2 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 ≥    = = + + = = + + → + + + = s s x x b s x x b s x x s s x x x f Здесь правые части ограничений b1 и b2 равны запасам ресурсов R1 и R2 . Напомним, что дополнительные переменные s1 и s2 имеют смысл ос- татков ресурсов. Очевидно, что если остаток si ресурса Ri равен 0, то ресурс Ri дефи- цитен на плане выпуска x, то есть на этом плане расходуется без остатка. Если же остаток si > 0, то ресурс Ri не дефицитен на плане x, так как на этом плане не расходуется полностью. В нашем примере из оптимального решения канонической задачи ) , , , ( * 2 * 1 * 2 * 1 s s x x = (40, 0, 0, 50) следует, что так как 0 * 1 = s , то ресурс R1 дефи- цитен на оптимальном плане x* = (40, 0), а так как 0 50 * 2 > = s , то R2 не де- фицитен на этом плане. Рассмотрим влияние на оптимальный план изменения запасов ре- сурсов (правых частей ограничений bi ). Пусть новый запас ' i b отличается от прежнего bi на величину i δ , так что i i i b b δ + = ' . Влияние на оптимальный план x* изменений запасов ресурсов зави- сит от характера их дефицитности на этом плане. a). Исследуем чувствительность оптимального плана к изменению запаса недефицитного ресурса. В примере недефицитен ресурс R2 . Предположим, что его новый запас
  86. 86 2 2 2 ' 2 130 δ δ +

    = + = b b . Так как недефицитный ресурс избыточен, то любое увеличение его запаса не отразится на оптимальном плане выпуска x*. Очевидно, что оп- тимальный план не изменится, если его запас уменьшится на величину, не превышающую излишка 50 * 2 = s . Таким образом, план x* = (40, 0) остается оптимальным, если 80 50 130 ' 2 = − ≥ b , или 50 2 − ≥ δ . В общем случае справедлив Вывод 3. При изменении запаса недефицитного ресурса r R ( 0 * > r s ) : r r r b b δ + = ' , оптимальный план x* не меняется, если * ' r r r s b b − ≥ или * r r s − ≥ δ . b). Рассмотрим теперь изменение запаса дефицитного ресурса. Дефицитный ресурс на оптимальном плане выпуска продукции рас- ходуется полностью, поэтому любое уменьшение или увеличение его запа- са изменяет план x*. Найдем условия, при которых сохраняется структура ранее найден- ного оптимального плана, то есть прежний ассортимент выпуска продук- ции. На математическом языке это значит, что мы хотим определить диа- пазоны изменения правой части активного ограничения, сохраняющие прежний состав базисных переменных оптимального плана. В примере дефицитен ресурс R1 . Пусть его новый запас 1 1 1 ' 1 240 δ δ + = + = b b . (7.4) Это изменение отразится только на последнем столбце (xБ) сим- плекс-таблицы. Поскольку мы ищем условия сохранения прежнего состава базисных переменных, то ведущие столбец и строка не должны меняться. Повторяя шаги симплекс-метода для задачи с новой правой частью, получим Таблица 1′. 20 12 0 0 СБ Базисные перемен. x1 x2 s1 s2 Значения базисных переменных ( * Б x ) 0 s1 6 4 1 0 240+ 1 δ 0 s2 2 4 0 1 130 ∆ j =<cБ , Aj >-cj -20 -12 0 0 f = 0
  87. 87 Таблица 2′. 20 12 0 0 СБ Базисные перемен.

    x1 x2 s1 s2 Значения базисных переменных ( ' Б x ) 20 x1 1 2/3 1/6 0 40+(1/6) 1 δ 0 s2 0 8/3 -1/3 1 50-(1/3) 1 δ ∆* j 0 4/3 10/3 0 f = 800 +(10/3) 1 δ Из таблицы 2 заключаем, что . 3 1 50 , 6 1 40 1 2 1 1 δ δ − = + = s x (7.5) Следовательно, новый базисный план канонической задачи ) 3 1 50 , 0 , 0 , 6 1 40 ( ) , , ( 1 1 2 1 , 2 1 ' δ δ − + = = s s x x x , а новое значение целевой функции 1 ' 3 10 800 ) ( δ + = x f . Поскольку строка оценок осталась прежней, а в ней все 0 * ≥ ∆ j , то план x’ будет оптимальным, если его базисные переменные будут положи- тельными. Решая систему неравенств, получим 150 240 150 240 50 3 1 40 6 1 0 3 1 50 0 6 1 40 1 1 1 1 1 1 1 < < − ⇒    < − > ⇒      < − > ⇒      > − > + δ δ δ δ δ δ δ . Таким образом, если запас ресурса R1 уменьшится не более чем на 240 единиц или увеличится не более чем на 150 единиц, то состав базис- ных переменных нового оптимального плана будет совпадать с составом базисных переменных плана x*=(40, 0, 0, 50). Так как 1 ' 1 240 δ + = b , то усло- вие сохранения структуры оптимального плана удобно представить через запас ресурса ' 1 b : 390 0 ' 1 < < b . Заметим, что новые значения (7.5) базисных переменных ' Б x = (x1 , s2 ) могут быть вычислены непосредственно по данным оптимальной сим- плекс-таблицы по следующей формуле 1 * 3 * ' δ ⋅ + = A x x Б Б , (7.6) где * 3 A - столбец последней таблицы при дополнительной переменной s1 . При этом новое значение целевой функции
  88. 88 1 * 3 * ' ) ( ) (

    δ ⋅ ∆ + = x f x f , (7.7) где * 3 ∆ - симплексная оценка, соответствующая дополнительной перемен- ной s1 . Напомним [см. (6.16)], что симплексные оценки оптимальной таб- лицы, соответствующие дополнительным переменным, равны оптималь- ным значениям двойственных переменных: * 1 * 3 y = ∆ =10/3, * 2 * 4 y = ∆ =0. По- этому формулу (7.7) для подсчета целевой функции на новом оптимальном плане можно представить в виде 1 * 1 * ' ) ( ) ( δ ⋅ + = y x f x f (7.8) Полученные результаты можно распространить и на общий случай. Вывод 4. При изменении запаса дефицитного ресурса Rk ( 0 * = k s ) : k k k b b δ + = ' , оптимальный план x* меняется. Условие сохранения прежнего состава базисных переменных (прежнего ассортимента выпуска продук- ции) имеет вид 0 * * > ⋅ + + k k n Б A x δ , (7.9) а его левые части дают значения базисных переменных нового оптималь- ного плана x’ : k k n Б Б A x x δ ⋅ + = + * * ' . (7.10) Новое значение целевой функции равно k k y x f x f δ ⋅ + = * * ' ) ( ) ( . (7.11) Из формулы (7.11) при 1 = k δ следует: ) ( ) ( * ' * x f x f y k − = , что под- тверждает полученную ранее в п. 4.9 экономическую трактовку двойст- венной переменной * k y – теневой цены ресурса Rk . Теневая цена * k y пока- зывает, на сколько может возрасти максимальный доход от реализации продукции, если запас ресурса Rk увеличится на единицу. Формулы (7.10) и (7.11) позволяют легко найти новый оптимальный план при изменении запаса дефицитного ресурса. Пусть в нашем примере запас ресурса R1 стал равен ' 1 b =300 единицам. Это значит, что 60 240 300 1 = − = δ . Новое значение ресурса удовлетворяет условию сохра- нения структуры оптимального плана: 390 0 ' 1 < < b . Следовательно, новые значения базисных переменных могут быть вычислены по формулам (7.5) при 60 1 = δ
  89. 89 , 30 60 3 1 50 , 50 60

    6 1 40 2 1 = ⋅ − = = ⋅ + = s x так что новый оптимальный план канонической задачи равен ) 30 , 0 , 0 , 50 ( ) , , ( 2 1 , 2 1 ' = = s s x x x , а 1000 60 3 10 800 ) ( ' = ⋅ + = x f . 8. Транспортная задача ЛП 8.1. Постановка задачи и ее математическая модель Транспортная задача (ТЗ) – это специальная задача линейного про- граммирования, описывающая перемещение однородного груза (товара, капитала) от нескольких поставщиков нескольким потребителям. Цель ТЗ – определение объемов перевозок из пунктов отправления в пункты назна- чения с минимальной суммарной стоимостью перевозок. При этом в ли- нейной транспортной задаче предполагается, что стоимость доставки гру- за по какому-либо маршруту прямо пропорциональна объему перевозимо- го груза. Пример 8.1. Четыре предприятия В 1 ,…,В 4 данного экономического района для производства продукции используют одно и то же сырье. По- требности в сырье каждого из предприятий соответственно равны 120, 50, 190 и 110 единиц. Сырье сосредоточено в трех местах его получения А 1 , А 2 , А 3 , а запасы соответственно равны 160, 140 и 170 единиц. На каждое пред- приятие сырье может завозиться из любого пункта его получения. Тарифы на перевозку единицы сырья от каждого поставщика каждому потребите- лю являются известными величинами и задаются матрицей С =             6 3 2 9 8 9 5 4 2 1 8 7 . Исходные данные удобно представить в форме таблицы Потребители Поставщики В 1 В 2 В 3 В 4 Запасы А 1 7 8 1 2 160 А 2 4 5 9 8 140 А 3 9 2 3 6 170 Потребности 120 50 190 110
  90. 90 Требуется определить такой план перевозок, при котором все сырье

    от поставщиков будет вывезено, все потребности предприятий будут удов- летворены и при этом общая стоимость перевозок будет минимальной. Построим математическую модель транспортной задачи. Обозначим через , 4 , 3 , 2 , 1 , 3 , 2 , 1 , = = j i x ij количество единиц сырья, перевозимого из i- го пункта его получения на j-е предприятие. Тогда условия доставки и вы- воза необходимого и имеющегося сырья обеспечиваются за счет выполне- ния следующих равенств: Условия на вывоз всех запасов сырья от каждого поставщика x11 + x12 + x13 + x14 = 160, x21 + x22 + x23 + x24 =140, x31 + x32 + x33 + x34 =170. Условия на удовлетворение потребностей всех предприятий x11 + x21 + x31 =120, x12 + x22 + x32 = 50, x13 + x23 + x33 =190, x14 + x24 + x34 =110. Условия неотрицательности очевидны: xij ≥ 0, i= 1, 2, 3; j= 1, 2, 3, 4. При данном плане X = (xij ), i= 1, 2, 3; j= 1, 2, 3, 4 перевозок общая их стоимость составит f(X) = 7x11 + 8x12 + x13 +2x14 + 4x21 +5x22 + 9x23 + 8x24 + 9x31 +2x32 +3x33 + 6x34 . Следовательно, наша задача состоит в определении такого неотрица- тельного решения полученной системы уравнений, при котором целевая функция f(X) принимает минимальное значение. Дадим теперь общую постановку транспортной задачи. Некоторый однородный продукт, сосредоточенный у m поставщи- ков А 1 , А 2 , …, А m в количестве а 1 , а 2 , …, а m соответственно, необходимо доставить n потребителям В 1 , В 2 , …, В n в количестве b1 , b2 , …, bn единиц. Известна стоимость с ij перевозки единицы груза от i-го поставщика к j-му потребителю. Необходимо составить план перевозок, позволяющий вывес- ти все грузы, полностью удовлетворить потребности и имеющий мини- мальную стоимость. Проведем формализацию этой задачи. Введем набор переменных ( xij ), i=1,…, m, j=1,…, n, где xij - количество продукта, планируемого к
  91. 91 перевозке из пункта А i в пункт Bj .

    Тогда требование вывоза всего груза от каждого поставщика приводит к следующим ограничениям: 1 1 1 a x n j j = ∑ = , 2 1 2 a x n j j = ∑ = , (8.1) ………, m n j mj a x = ∑ =1 . Требование удовлетворить потребности каждого потребителя выгля- дит следующим образом: 1 1 1 b x m i i = ∑ = , 2 1 2 b x m i i = ∑ = , (8.2) ………, n m i in b x = ∑ =1 . Поскольку по смыслу задачи все переменные х ij неотрицательны, то к условиям (7.1), (7.2) добавляются условия xij ≥ 0, i=1,…, m; j=1,…, n. (8.3) Требование минимизации стоимости перевозок состоит в определе- нии минимального значения целевой функции f(X) = ij m i n j ij x c ∑∑ = = 1 1 . (8.4) Определение 8.1. Всякое решение 11 12 1 21 22 2 1 2 ... ... ... ... ... ... ... n n m m mn x x x x x x X x x x       =       систем линейных уравнений (8.1),(8.2), определяемое матрицей Х = (х ij ), i= =1,…, m; j= 1,…, n и удовлетворяющее условию (8.3), называется планом транспортной задачи.
  92. 92 Определение 8.2. План Х* = (х ij *), i=1,…,

    m; j= 1,…, n, при котором целевая функция (8.4) принимает минимальное значение, называется оп- тимальным планом транспортной задачи. Таким образом, математическая постановка транспортной задачи со- стоит в следующем: из всех наборов (х ij ), i=1,…, m; j= 1,…, n, компоненты которых удовлетворяют условиям (8.1)-(8.3), найти такой, на котором вы- ражение (8.4) принимает минимальное значение; или, согласно определе- ниям 1 и 2, среди планов транспортной задачи найти оптимальный. Удобно исходные данные транспортной задачи записывать в виде следующей таблицы: Потребители Поставщики В 1 В 2 … В n Запасы А 1 c11 x11 c12 x12 … c1n x1n a1 А 2 c21 x21 c22 x22 … c2n x2n a2 … … … … … … А m cm1 xm1 cm2 xm2 … cmn xmn am Потребности b1 b2 … bn Очевидно, общие запасы продукта у поставщиков равны ∑ = m i i a 1 , а об- щая потребность в грузе у потребителей равна ∑ = n j j b 1 единиц. Эти характе- ристики задачи являются существенными. Если общие запасы продукта у поставщиков равны общим потребностям в грузе у потребителей, то есть ∑ = m i i a 1 = ∑ = n j j b 1 , (8.5) то модель такой транспортной задачи называется сбалансированной. Теорема 8.1. Для разрешимости транспортной задачи необходимо и достаточно, чтобы общие запасы продукта у поставщиков были равны об- щим потребностям в грузе у потребителей, то есть чтобы выполнялось ус- ловие (8.5). В случае превышения запасов над потребностью, то есть ∑ = m i i a 1 > > ∑ = n j j b 1 , вводится фиктивный (n+1)-й пункт потребления с потребностью,
  93. 93 равной bn+1 =∑ = m i i a 1

    - ∑ = n j j b 1 , и с соответствующими равными нулю тарифами: ci,n+1 = 0, i= 1,…, m. Преобразованная модель транспортной задачи является сбалансированной. Аналогично, при ∑ = m i i a 1 < ∑ = n j j b 1 вводится фиктивный (m+1)-й поставщик с запасом продукта am+1 = ∑ = n j j b 1 - ∑ = m i i a 1 и тарифы полага- ются равными нулю: cm+1,j = 0, j= 1,…, n. И модель задачи становится сба- лансированной. Пусть в примере 8.1 запасы груза у второго поставщика a2 = 180 ед. Задача становится несбалансированной, так как суммарный запас 160+180+170 = 510 больше суммарного спроса 120+50+90+110=470. Чтобы сбалансировать задачу, введем фиктивного потребителя B5 с потребно- стью, равной превышению запасов над спросом (b5 = 40) и нулевыми та- рифами на доставку груза. В таблице появится новый столбец. Потребители Поставщики В 1 В 2 В 3 В 4 B5 Запасы А 1 7 8 1 2 0 160 А 2 4 5 9 8 0 180 А 3 9 2 3 6 0 170 Потребности 120 50 190 110 40 Если же суммарный спрос превышает суммарные запасы, то при ба- лансировке задачи в таблицу вводится новая строка с фиктивным постав- щиком. Следует обратить внимание, что план Х транспортной задачи состо- ит из (m× n) компонент, и после их нумерации этот план можно предста- вить как (m× n)-мерный вектор. Следовательно, транспортная задача явля- ется частным случаем канонической задачи линейного программирования, которую можно решить с помощью симплекс-метода либо его модифика- ций. Однако в силу ряда специфики условий (каждая неизвестная входит лишь в два уравнения систем (8.1)-(8.2), а коэффициенты при неизвестных равны единицы) для определения оптимального плана транспортной зада- чи разработаны специальные методы.
  94. 94 8.2. Определение базисного плана транспортной задачи Как и при

    решении задачи линейного программирования, симплекс- ным методом определение оптимального плана транспортной задачи на- чинают с нахождения какого-либо ее базисного плана. Рассмотрим систе- му ограничений (8.1)-(8.2) транспортной задачи. Она содержит (m+n) уравнений, связанных соотношением (8.5). Если сложить почленно урав- нения отдельно подсистемы (8.1) и отдельно подсистемы (8.2), то получим два одинаковых уравнения. Наличие в системе ограничений двух одинако- вых уравнений говорит об ее линейной зависимости. Таким образом, коли- чество линейно независимых уравнений в системе ограничений может быть не более (m + n –1). И, следовательно, базисный план транспортной задачи содержит не более (m + n – 1) положительных компонент. Причем, если базисный план задачи имеет ровно (m + n – 1) положительных ком- понент, то он называется невырожденным, а если меньше - то вырожден- ным. Если условия транспортной задачи и ее базисный план записаны в виде таблицы, то клетки, в которых находятся базисные компоненты пла- на, назовем занятыми, остальные – свободными. Так как занятые клетки соответствуют базисным неизвестным, то их количество равно (m + n – 1). Существуют простые схемы построения первоначального базисного плана транспортной задачи, один из которых рассмотрим на примере. Он называется методом минимальной стоимости. Пример 8.2. Построить методом минимальной стоимости базисный план транспортной задачи из примера 8.1. Решение. Запишем условие задачи в виде таблицы Потребители Поставщики В 1 В 2 В 3 В 4 Запасы А 1 7 8 1 2 160 А 2 4 5 9 8 140 А 3 9 2 3 6 170 Потребности 120 50 190 110 Очевидно, выбор пунктов назначения и отправления целесообразно производить, ориентируясь на тарифы перевозок. Суть метода заключается в том, что из всей таблицы выбирается клетка, отвечающая минимальному
  95. 95 тарифу (если таких клеток несколько, то следует выбирать любую

    из них), и рассматриваются пункты назначения и потребления, соответствующие выбранной клетке. В данном случае минимальный тариф, равный 1, нахо- дится в клетке для переменной х 13 . Спрос потребителя В 3 равен 190, а за- пас поставщика А 1 равен 160. Поэтому положим х 13 = 160 и запишем это значение в соответствующую клетку. Пункт А 1 временно исключаем из рассмотрения, так как его запасы исчерпаны, а спрос потребителя В 3 стал равен 30: Потребители Поставщики В 1 В 2 В 3 В 4 Запасы А 1 7 8 1 160 2 160 0 А 2 4 5 9 8 140 А 3 9 2 3 6 170 Потребности 120 50 190 30 110 С экономической точки зрения это означает, что из пункта А 1 в пункт В 3 планируется перевезти сырье в количестве 160 единиц. В оставшейся таблице клетка с минимальным тарифом находится на пересечении строки А 3 и столбца В 2 , где с 32 = 2. Здесь положим х 23 = 50, так как потребности пункта В 2 равны 50. При этом пункт В 2 временно исключается из рассмот- рения, а запас пункта А 3 становится равным 120 (170 –50): Потребители Поставщики В 1 В 2 В 3 В 4 Запасы А 1 7 8 1 160 2 160 0 А 2 4 5 9 8 140 А 3 9 2 50 3 6 170 120 Потребности 120 50 0 190 30 110 В оставшейся части таблицы минимальный тариф, равный 3, нахо- дится в клетке для переменной х 33 . Положим х 33 = 30, удовлетворив по- требности пункта В 3 :
  96. 96 Потребители Поставщики В 1 В 2 В 3 В

    4 Запасы А 1 7 8 1 160 2 160 0 А 2 4 5 9 8 140 А 3 9 2 50 3 30 6 170 120 90 Потребности 120 50 0 190 30 0 110 Затем заполняем клетку для переменной х 21 , присваивая переменной значение х 21 = 120, удовлетворив потребности пункта В 1 и уменьшив запа- сы пункта А 2 до 20 единиц (140-120): Потребители Поставщики В 1 В 2 В 3 В 4 Запасы А 1 7 8 1 160 2 160 0 А 2 4 120 5 9 8 140 20 А 3 9 2 50 3 30 6 170 120 90 Потребности 120 0 50 0 190 30 0 110 Из оставшейся части таблицы сначала заполняем клетку для пере- менной х 34 , полагая х 34 = 90, использовав полностью запасы пункта А 3 , а затем оставшуюся клетку для переменной х 24 , значение которой х 24 = 20:
  97. 97 В результате получим базисный план Х =  

              90 30 50 0 20 0 0 120 0 160 0 0 . При данном плане перевозок общая их стоимость составляет f(X) = 1⋅ 160 + 4 ⋅ 120 + 8 ⋅ 20 + 2 ⋅ 60 + 3 ⋅ 30 + 6 ⋅ 90 = 1530. Данный базисный план является невырожденным, так как число по- ложительных координат равно m + n – 1= 3 + 4 – 1 = 6. 8.3. Нахождение оптимального плана транспортной задачи Ясно, что нельзя утверждать, что построенный базисный план явля- ется оптимальным. Сформулируем критерий оптимальности для плана транспортной задачи: Теорема 8.2. Для оптимальности плана транспортной задачи Х = =(х ij ), i=1,…, m; j= 1,…, n необходимо и достаточно, чтобы нашлись такие величины u1 , u2 ,…, um ; v1 , v2 ,…, vn , называемые потенциалами, для кото- рых ui + vj = cij , если х ij > 0, (8.6) ui + vj ≤ cij , если х ij = 0 (8.7) для всех i= 1,…, m; j= 1,…, n. Переменные u1 , u2 ,…, um называют потенциалами поставщиков( или пунктов производства), а v1 , v2 ,…, vn – потенциалами потребителей( или Потребители Поставщики В 1 В 2 В 3 В 4 Запасы А 1 7 8 1 160 2 160 0 А 2 4 120 5 9 8 20 140 20 0 А 3 9 2 50 3 30 6 90 170 120 90 0 Потребности 120 0 50 0 190 30 0 110 20 0
  98. 98 пунктов потребления). Условия (8.6) , (8.7) имеют содержательную эко-

    номическую интерпретацию. Потенциалы можно рассматривать как ус- ловные ценности единицы перевозимого груза у поставщиков и потреби- телей (например, трудоемкость при изготовлении у поставщика и необхо- димость в грузе у потребителя). Тогда, согласно (8.6), для оптимальности плана перевозок требуется, чтобы на тех маршрутах, по которым действи- тельно перевозится груз, условная ценность единицы груза у поставщика и ее ценность у потребителя в сумме была равна стоимости перевозки единицы груза от поставщика к потребителю. А в соответствии с (8.7), ес- ли условная ценность единицы груза у поставщика вместе с условной цен- ностью единицы этого груза у потребителя меньше стоимости ее перевоз- ки, то тариф завышен, и перевозка груза не является выгодной. С конструктивной точки зрения теорема позволяет построить после- довательность операций для нахождения оптимального плана транспорт- ной задачи. Рассмотрим эту последовательность на задаче из примера 8.1. В таблице Потребители Поставщики В 1 В 2 В 3 В 4 А 1 7 8 1 160 2 А 2 4 120 5 9 8 20 А 3 9 2 50 3 30 6 90 с базисным планом Х =             90 30 50 0 20 0 0 120 0 160 0 0 , согласно (8.6), для всех занятых клеток, то есть, где х ij > 0, составляем уравнение вида ui + vj =cij : u1 + v3 = 1, u2 + v1 = 4, u2 + v4 = 8, u3 + v2 = 2, u3 + v3 = 3, u3 + v4 =6. Поскольку в рассматриваемой транспортной задаче число базисных переменных равно m + n – 1= 3 + 4 – 1 = 6, то это приводит к системе, со- стоящей из шести уравнений, в которых фигурирует все m + n = 3 + 4 = 7 переменных u1 , u2 , u3 , v1 , v2 , v3 , v4 . Так как в системе число неизвестных превышает на единицу число уравнений, то одну из переменных можно приравнять произвольному числу (обычно u1 полагают равным нулю), и
  99. 99 затем последовательно найти значения остальных шести переменных из шести

    уравнений системы. В нашем случае u1 = 0, u2 = 4, u3 = 2, v1 = 0, v2 = 0, v3 = 1, v4 = 4. Далее, согласно (8.7), для пустых клеток, то есть, где х ij = 0, проверяем, будет ли выполняться соотношение ui + vj ≤ cij : для клетки с переменной х 11 имеем u1 + v1 = 0+ 0≤ c11 =7, далее u1 + v2 = 0+ 0 ≤ c12 = 8, u1 + v4 = 0+4 ≥ c14 = 2, u2 + v2 = 4+ 0≤ c22 = 5, u2 + v3 = 4+1≤ c23 = 9, u3 + v1 = 2+ 0≤ c31 = 9. Таким образом, для клетки с переменной х 14 условие (8.7) не выполняется, из чего мы заключаем, что базисный план не оптимален. Условие (8.7) иногда используют в другой форме. Вместо непосред- ственной проверки неравенств подсчитываются разности ∆ ij = ui + vj - cij , которые записываются в нижнем углу пустых клеток. Из (8.7) следует, что если все ∆ ij ≤ 0, то план перевозок оптимален. В нашем примере ∆ 14 = u1 + +v4 – с 14 = 2 > 0 и, значит, начальный план перевозок может быть улуч- шен. Стоимость перевозок уменьшится, если перераспределить груз для потребителей так, чтобы некоторую его часть транспортировать из пункта А 1 в пункт В 4 . То есть переменная х 14 в новом допустимом плане должна быть положительна. Чтобы найти новое значение этой переменной, отме- тим клетку, ей соответствующую, знаком «+» и построим цикл перерас- пределения, который начинается и заканчивается в данной клетке. Определение 8.3. Циклом в таблице условий транспортной задачи называется ломаная линия, начинающаяся и заканчивающаяся в свободной клетке для пересчета, вершины которой расположены в занятых клетках таблицы, причем в каждой вершине цикла встречается ровно два звена, одно из которых находится в строке, а другое – в столбце. Рис.7.1. Примеры циклов. Белая вершина соответствует свободной клетке, под- лежащей загрузке, черные вершины соответствуют занятым клеткам. Если некоторые звенья этой ломаной линии пересекаются, то точки самопересечения не являются вершинами. При правильном построении ба- зисного плана для свободной клетки можно построить лишь один цикл. В нашей задаче цикл имеет следующий вид: - + - + - + - + + - - + - + - +
  100. 100 Потребители Поставщики В 1 В 2 В 3 В

    4 А 1 7 8 1 - 160 2 + А 2 4 120 5 9 8 20 А 3 9 2 50 3 + 30 6 - 90 После того как для выбранной свободной клетки цикл построен, сле- дует перейти к новому базисному плану. Для этого необходимо перемес- тить грузы в пределах клеток, связанных с данной свободной клеткой. Это перемещение производят по следующим правилам: 1). Каждой из клеток, связанных циклом с данной свободной клет- кой, приписывают определенный знак, при чем свободной приписывают знак «+» (он уже проставлен ранее), а остальным клеткам – поочередно знаки «-» и «+». Будем называть эти клетки минусовыми и плюсовыми. Эта процедура проделана в таблице после построения цикла. 2). В данную свободную клетку переносят меньшее из чисел xij , стоящих в минусовых клетках. Одновременно это число прибавляют к со- ответствующим числам, стоящим в плюсовых клетках, и вычитают из чи- сел, стоящих в минусовых клетках. Клетка, которая ранее была свободной, становится занятой, а минусовая клетка, в которой стояло минимальное число xij , считается свободной. Эта последовательность операций для нашей задачи определяет сле- дующий базисный план таким образом: в минусовой клетке для перемен- ной х 34 находится минимальное число, равное 90. Поэтому к каждому зна- чению xij плюсовой клетки цикла прибавим 90, а от каждого соответст- вующего значения минусовой клетки цикла вычесть 90. В результате ука- занных перемещений грузов новый базисный план транспортной задачи выглядит так: Потребители Поставщики В 1 В 2 В 3 В 4 А 1 7 8 1 70 2 90 А 2 4 120 5 9 8 20 А 3 9 2 50 3 120 6 f(X) = 1⋅ 70 + 2 ⋅ 90 + 4 ⋅ 120 + 8 ⋅ 20 + 2 ⋅ 50 + 3 ⋅ 120 = 1350.
  101. 101 Как видно, полученный план лучше предыдущего, так как на

    нем значение функции, описывающей расходы при перевозке грузов, меньше. Описанный выше переход от одного базисного плана транспортной задачи к другому ее базисному плану называется сдвигом по циклу пере- счета. Следует отметить, что при сдвиге по циклу пересчета число заня- тых клеток остается неизменным, а именно равным n + m – 1. При этом если в минусовых клетках имеется два (или более) одинаковых минималь- ных числа xij , то освобождают лишь одну из таких клеток, а остальные ос- тавляют занятыми (с нулевыми поставками). Получив новый базисный план транспортной задачи, проделываем уже знакомую процедуру. То есть, проверяем план на оптимальность, и в случае положительного ответа объявляем его оптимальным планом транс- портной задачи. В противном случае, находим новый базисный план, уменьшающий значение стоимости перевозок: Для всех занятых клеток последней таблицы составляем уравнения вида ui + vj =cij : u1 + v3 = 1, u1 + v4 =2, u2 + v1 = 4, u2 + v4 = 8, u3 + v2 = 2, u3 + v3 = 3. Полагая u1 = 0, находим, что u2 = 6, u3 = 2, v1 = -2 , v2 = 0, v3 = 1, v4 = 2. Далее, для пустых клеток проверяем выполнение соотношений ui + vj ≤ cij : u1 + v1 = 2≤ c11 =7, u1 + v2 = 0 ≤ c12 = 8, u2 + v2 = 6 ≥ c22 = 5, u2 + v3 =7 ≤ c23 = 9, u3 + v1 = 0≤ c31 = 9, u3 + v4 =4 ≤ c34 = 6. Таким образом, для клетки с переменной х 22 условие (8.7) не выполняется, из чего мы заключаем, что базисный план не оптимален. Стоимость пере- возок можно уменьшить, если перераспределить груз для потребителей так, чтобы некоторую его часть транспортировать из пункта А 2 в пункт В 2 . Отметим клетку, соответствующую переменной х 22 , знаком «+» и постро- им цикл перераспределения, который начинается и заканчивается в данной клетке: Потребители Поставщики В 1 В 2 В 3 В 4 А 1 7 8 1 - 70 2 + 90 А 2 4 120 5 + 9 8 - 20 А 3 9 2 - 50 3 + 120 6
  102. 102 В минусовых клетках данного цикла наименьшее число находится в

    клетке для переменной х 24 и равно 20. Теперь к каждому значению xij плю- совой клетки цикла прибавим 20, а от каждого соответствующего значения минусовой клетки цикла вычтем 20. В результате таких перемещений гру- зов новый базисный план транспортной задачи выглядит так: Потребители Поставщики В 1 В 2 В 3 В 4 А 1 7 8 1 50 2 110 А 2 4 120 5 20 9 8 А 3 9 2 30 3 140 6 f(X) = 1⋅ 50 + 2 ⋅ 110 + 4 ⋅ 120 + 5 ⋅ 20 + 2 ⋅ 30 + 3 ⋅ 140 = 1330. Снова к данному плану применяем ту же схему. Для всех занятых клеток таблицы составляем уравнения вида ui + vj =cij : u1 + v3 = 1, u1 + v4 =2, u2 + v1 = 4, u2 + v2 = 5, u3 + v2 = 2, u3 + v3 = 3. Полагая u1 = 0, находим, что u2 =5, u3 = 2, v1 = -1, v2 = 0, v3 = 1, v4 = 2. Далее, для пустых клеток проверяем выполнение соотношений ui + vj ≤ cij : u1 + v1 = -1≤ c11 =7, u1 + v2 = 0 ≤ c12 = 8, u2 + v3 = 6 ≤ c23 = 9, u2 + v4 =7 ≤ c24 = 8, u3 + v1 = 1≤ c31 = 9, u3 + v4 =4 ≤ c34 = 6. Условия (8.7) критерия оптимальности выполнены. Следовательно, полу- ченный план Х* =             0 140 30 0 0 0 20 120 110 50 0 0 является оптимальным для по- ставленной транспортной задачи. В заключение отметим, что если условие (8.7) нарушается в несколь- ких пустых клетках, то для пересчета выбираем только одну пустую клет- ку, а именно клетку переменной х ij , для которой выражение ∆ ij = ui + vj - cij имеет наибольшее значение. Это объясняется тем, что транспортная задача – частный случай задачи линейного программирования, в которой при пе- ресчете в базис вводят ровно одну переменную и одну исключают из бази- са. С экономической точки зрения это означает, что наиболее выгодно пе- рераспределять груз таким образом, чтобы часть его перевозилась из пунк- та А i в пункт Bj .
  103. 103 Литература 1. Абчук В.А. Экономико-математические методы. – СПб.: Союз,

    1999. 2. Акулич И.Л. Математическое программирование в примерах и зада- чах: Учебное пособие. – М.: Высшая школа, 1986. 3. Беников А.И. Симплекс-метод решения задач линейного программи- рования: Учебное пособие по практическим занятиям. – Иркутск: Изд- во ИИНХ, 1993 4. Глухов В.В., Медников М.Д., Коробко С.Б. Математические методы и модели для менеджмента. – СПб.: Издательство "Лань", 2000. 5. Ермаков В.И. Общий курс высшей математики для экономистов: Учебник. – М.: ИНФРА-М, 2000. 6. Конюховский П.В. Математические методы исследования операций в экономике. – СПб.: Питер, 2000 (Серия "Краткий курс"). 7. Кремер Н.Н., Путко Б.А., Тришин И.М., Фридман М.Н. Исследование операций в экономике: Учебное пособие для вузов. – М.: Банки и бир- жи, ЮНИТИ, 1997. 8. Кузнецов А.В., Сакович В.А., Холод Н.И. Высшая математика: Мате- матическое программирование. – Мн.: Вышейшая школа, 1994. 9. Кузнецов А.В., Сакович В.А., Холод Н.И., Дежурко Л.Ф. и др. Сбор- ник задач и упражнений по высшей математике: Математическое про- граммирование. – Мн.: Вышейшая школа, 1995. 10. Кустова В.И. Математическое программирование: Сборник задач и уп- ражнений. Часть 1. Часть 2. Часть 3. – Иркутск: Изд-во ИГЭА, 1994-99. 11. Таха Х. Введение в исследование операций. – М.:Мир, 2001. 12. Трояновский В.М. Математическое моделирование в менеджменте: Учебное пособие. – М.: Изд-во РДЛ, 2000. 13. Тятюшкин А.И., Деренко Н.В. Решение и анализ задач линейного про- граммирования: Методические указания. – Иркутск: Изд-во ИГЭА, 1996.
  104. 104 Учебное издание МАТЕМАТИКА-2 НЕЛИНЕЙНОЕ И ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ Учебное пособие

    для студентов экономических специальностей Издается в авторской редакции ИД № 06318 от 26.11.01. Подписано в печать 05.05.07. Формат 60х90 1/16. Бумага офсетная. Печать трафаретная. Усл. печ. л. 6.5 Уч.- изд. л. 5,8 Тираж 200 экз. Заказ Издательство Байкальского государственного университета экономики и права. 664003, Иркутск, ул. Ленина, 11. Отпечатано в ИПО БГУЭП.