Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anonymous/d596c3fb84b8d7b3f85dac7532642238 to your computer and use it in GitHub Desktop.
Save anonymous/d596c3fb84b8d7b3f85dac7532642238 to your computer and use it in GitHub Desktop.
Оптимальное решение двойственной задачи линейного программирования

Оптимальное решение двойственной задачи линейного программирования



Решение двойственной задачи
Двойственные задачи линейного программирования
Понятие о двойственных задачах линейного программирования

Для каждой задачи линейного программирования по определённым правилам можно составить соответствующую задачу, называемую двойственной задачей. Две задачи линейного программирования, удовлетворяющие указанным выше условиям, называются симметричными взаимно-двойственными задачами. Прямая и двойственная ей задача, взятые вместе, образуют пару взаимно двойственных задач, причём любую из них можно рассматривать как исходную, тогда другая окажется двойственной ей. Итак мы рассмотрели соответствие между прямой и двойственной задачей линейного программирования, правда, пока только для задач, записанных в канонической форме. Сформулируем пока правила составления задачи, двойственной по отношению к исходной для канонической задачи а позже перейдём к задаче, записанной в общей форме:. Составить задачу, двойственную следующей: Третье неравенство системы исходной задачи не удовлетворяет пункту 1 правил составления двойственной задачи. Поэтому умножим его на минус единицу:. Для облегчения составления двойственной задачи лучше пользоваться расширенной матрицей B , в которую наряду с коэффициентами при переменных системы ограничений исходной задачи запишем свободные члены и коэффициенты при переменных в функции цели, выделив для этой цели дополнительные столбец отделён чертой и строку выделена красным цветом. Таким образом, двойственная задача линейного программирования сводится к нахождению минимума функции при ограничениях. Перейдём теперь к случаю составления двойственной задачи, когда прямая задача записана в общей форме в системе ограничений могут быть неравенства с разными знаками, а также уравнения, условие неотрицательности переменных не обязательно. Для таких задач правила следующие:. Как видим, прямая задача записана в общей форме. Это будем учитывать при расстановке знаков в условиях двойственной задачи. Таким образом, двойственная задача линейного программирования сводится к нахождению максимума функции при ограничениях. Теория двойственности в линейном программировании строится на двух основных теоремах. Для прямой и двойственной задач в силе одно и только одно из следующих утверждений. Если одна из задач линейного программирования имеет конечный оптимум, то и двойственная к ней задача также имеет конечный оптимум, причём оптимальные значения линейных форм обеих задач совпадают, т. Если линейная форма одной из двойственных задач не ограничена, то условия другой задачи противоречивы. Обе задачи не имеют решения, так как системы ограничений противоречивы. Прежде чем сформулировать следующую теорему, установим соответствия между переменными в исходной и двойственной задачах. Система ограничений двойственной задачи состоит из n неравенств, содержащих m переменных. Всё вышесказанное было приведено для того, чтобы установить следующее соответствие между переменными в исходной и двойственной задачах линейного программирования:. То есть, основные переменные исходной задачи, в порядке их следования, соответствуют добавочным переменным двойственной задачи, тоже в порядке их следования. В свою очередь добавочные переменные исходной задачи, в порядке их следования, соответствуют основным переменным двойственной задачи, также в порядке их следования. Всё вышесказанное, как уже было отмечено, станет более понятным из примера 2, который будет вскоре после Теоремы 2. Компоненты оптимального решения одной из задач прямой или двойственной равны абсолютным величинам коэффициентов при соответствующих переменных в выражении функции цели линейной формы другой задачи двойственной или прямой при достижении ею оптимума и при условии, что полученное оптимальное решение не является вырожденным. Из теорем 1 и 2 следует, что если решить одну из взаимно двойственных задач линейного программирования, то есть найти её оптимальное решение и оптимум функции цели, то можно записать оптимальное решение и оптимум функции цели другой задачи. Теперь пример, который поможет разложить всё вышеизложенное по полочкам. На основании решений прямой и двойственной задач линейного программирования из примера 1 убедиться в справедливости теорем 1 и 2. В примере 1 была дана исходная задача: Мы составили двойственную ей задачу: Для решения прямой задачи симплекс-методом система ограничений-неравенств сводится к системе уравнений путём введения добавочных неотрицательных переменных x 3 , x 4 , x 5 , x Читатель может проверить, решив задачу симплекс-методом , что она имеет следующие решения:. Система ограничений двойственной задачи сводится к системе уравнений путём введения добавочных переменных y 5 , y Решив двойственную задачу, убеждаемся в справедливости первой части теоремы 1: Убедимся, что справедливо также и утверждение теоремы 2. Для этого запишем переменные прямой и двойственной задачи, соблюдая их соответствие:. Как видим, основные переменные исходной задачи, в порядке их следования, соответствуют добавочным переменным двойственной задачи, тоже в порядке их следования. Функцию цели, полученную на последнем шаге решения двойственной задачи, выразим через все переменные этой задачи:. Решив прямую задачу, можно сразу получить решение двойственной задачи линейного программирования. Если выразить функцию цели, полученную при решении прямой задачи, через все переменные задачи, то получим. Убедиться в том, что системы ограничений прямой задачи. Вычтем из второго уравнения системы ограничений прямой задачи первое уравнение той же системы. Это уравнение не имеет решения, так как. Таким образом, система ограничений прямой задачи несовместна. Сложим первые два неравенства системы ограничений двойственной задачи. Получим , что невозможно. Таким образом, системы ограничений и прямой, и двойственной задачи несовместны. Согласно части 3 теоремы 1 двойственности, обе задачи не имеют решений. Посмотрим ещё раз на прямую задачу линейного программирования и двойственную задачу рядом. В этих задачах a - расходы сырья определённого вида на производство одного вида продукции, b запасы сырья определённого вида, c - прибыль от реализации единицы продукции определённого вида. В прямой задаче x - количество единиц выпускаемой продукции определённого вида. А в двойственной задаче b - цены сырья соответствующего вида. А целевая функция Z - общие затраты на приобретение сырья, которые требуется минимизировать. Предположим, мастерская выпускает столы и шкафы, расходую на эти цели определённые виды сырья древесины. Допустим, мастерская решила не производить продукцию, а продать сырьё - древесину, желая при этом получить выручку, не меньшую максимальной прибыли от реализации продукции. По каким ценам нужно продавать каждый вид древесины? Максимальную прибыль определяет решение прямой задачи. Путём же решения двойственной задачи линейного программирования находятся цены y , точнее говоря, объективно обусловленные оценки. Они являются компонентами оптимального решения двойственной задачи линейного программирования. Двойственная задача линейного программирования Составление двойственной задачи линейного программирования Основные теоремы двойственности Экономическая интерпретация двойственной задачи линейного программирования. Максимизировать функцию при ограничениях. Минимизировать функцию при ограничениях. Эти задачи обладают следующими свойствами: В прямой задаче ищется максимум функции цели линейной формы , а в двойственной задаче - минимум. Коэффициенты при переменных в функции цели прямой задачи являются свободными членами системы ограничений двойственной задачи , и наоборот, свободные члены системы ограничений прямой задачи - коэффициентами при переменных в функции цели двойственной задачи. В каждой задаче система ограничений задаётся в виде неравенств, причём все они одного смысла, а именно: Коэффициенты при переменных в системах ограничений описываются матрицами и которые являются транспонированными относительно друг друга. Число неравенств в системе ограничений прямой задачи совпадает с числом переменных двойственной задачи. Условия неотрицательности переменных сохраняются как в прямой , так и в двойственной задаче. Поэтому умножим его на минус единицу: Читатель может проверить, решив задачу симплекс-методом , что она имеет следующие решения: Решение двойственной задачи симплекс-методом даёт следующий ответ: Для этого запишем переменные прямой и двойственной задачи, соблюдая их соответствие: Функцию цели, полученную на последнем шаге решения двойственной задачи, выразим через все переменные этой задачи: Убедиться в том, что системы ограничений прямой задачи и двойственной задачи. Нет времени вникать в решение? Задача и теоремы линейного программирования, примеры формулировки задач. Графический метод решения задач линейного программирования. Симплекс-метод решения задач линейного программирования: Решение задачи целочисленного программирования: Двойственная задача линейного программирования Составление двойственной задачи линейного программирования Основные теоремы двойственности Экономическая интерпретация двойственной задачи линейного программирования Составление двойственной задачи линейного программирования Для каждой задачи линейного программирования по определённым правилам можно составить соответствующую задачу, называемую двойственной задачей. Рассмотрим прямую задачу линейного программирования и двойственную задачу. Максимизировать функцию при ограничениях Двойственная задача. Минимизировать функцию при ограничениях Эти задачи обладают следующими свойствами: Мы обусловимся называть их просто взаимно-двойственными задачами. Сформулируем пока правила составления задачи, двойственной по отношению к исходной для канонической задачи а позже перейдём к задаче, записанной в общей форме: Приводят все неравенства системы ограничений исходной задачи к неравенствам одного смысла то есть с одним и тем же знаком: Для этого неравенства, в которых это требование не выполняется, умножают на минус единицу. Составляют функцию цели линейную форму двойственной задачи, приняв за коэффициенты при переменных свободные члены системы ограничений исходной задачи, полученные в пункте 1. Указывают, что необходимо найти при решении двойственной задачи, а именно: Записывают условие неотрицательности переменных двойственной задачи. Для таких задач правила следующие: Свободные члены в прямой задаче - коэффициенты функции цели в двойственной задаче. Коэффициенты функции цели в прямой задаче - свободные члены в двойственной задаче. Расширенная матрица в прямой задаче - транспонированная расширенная матрица в двойственной задаче. Всё вышесказанное было приведено для того, чтобы установить следующее соответствие между переменными в исходной и двойственной задачах линейного программирования: Экономическая интерпретация двойственной задачи линейного программирования Посмотрим ещё раз на прямую задачу линейного программирования и двойственную задачу рядом. Минимизировать функцию при ограничениях В этих задачах a - расходы сырья определённого вида на производство одного вида продукции, b запасы сырья определённого вида, c - прибыль от реализации единицы продукции определённого вида. Начало темы "Линейное программирование" Задача и теоремы линейного программирования, примеры формулировки задач Графический метод решения задач линейного программирования Симплекс-метод решения задач линейного программирования:


Луганская народная республика последние новости
Новости крым россия украина
Скрипит паркет что делать
Ст 238 трудового кодекса рф
Приснилось кормила грудью
Понятие об обобщенных координатах
Образец бытовой характеристики на человека
Волгоград н новгород расписание поездов
Купянск расписание поездов
Айфон 6s где дешевле
Как долго быстро бегать
Мероприятия по улучшению организационной структуры
Как сделать прическу собрать волосы
Значение картин в интерьере
Сколько дней идут месячные первый раз
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment