Сайт о телевидении

Сайт о телевидении

» » Каноническая форма задач линейного программирования. Различные формы записи задачи линейного программирования

Каноническая форма задач линейного программирования. Различные формы записи задачи линейного программирования

Cтраница 1


Каноническая форма задачи характеризуется следующими тремя признаками: 1) однородная система ограничений в виде системы уравнений; 2) однородные условия неотрицательности, распространяющиеся на все переменные, участвующие в задаче, и 3) максимизация, линейной функции. В данной задаче нарушены все эти три признака.  

Каноническая форма задачи характеризуется следующими тремя признаками: 1) однородная система ограничений в виде системы уравнений; 2) однородные условия неотрицательности, распространяющиеся на все переменные, участвующие в задаче, и 3) максимизация линейной функции. В данной задаче нарушены все эти три признака.  

Каноническая форма задачи линейного программирования удобна тем, что легко находится начальная вершина допустимой области.  

Рассмотрим каноническую форму задачи линейного программирования и метод исключения Жордана - Гаусса.  

Часто оказывается удобной каноническая форма задачи линейного программирования.  

При преобразовании системы ограничений к канонической форме задачи линейного программирования неравенства (12) и (13) должны быть заменены равенствами. Для этого вводят дополнительные неотрицательные переменные.  

Доказать, что попарно коммутирующие вещественные матрицы одновременно приводятся к канонической форме задачи 1128 преобразованием подобия посредством ортогональной матрицы.  

По существу (4) - (5) можно рассматривать как каноническую форму задачи нелинейного программирования, поскольку методы, изложенные в гл. Обычно в задачах нелинейного программирования не выдвигается требование целочисленности переменных.  

Виды ограничений и методы их преобразования.  

Каноническая форма задачи характеризуется однородностью системы ограничений в виде системы уравнений; максимизацией целевой функции; условием неотрицательности всех переменных, участвующих в задаче.  

Никаких дополнительных особенностей каноническая форма задач в рассматриваемую вычислительную схему не добавляет.  

Рассмотрим сначала вторую каноническую форму задачи на минимум.  

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

Если решается задача в канонической форме, то используется лишь часть введенных во втором параграфе операций. Так, для канонической задачи на минимум реализуется только случай пункта 3.4.1, и нужны лишь операции циклической перестановки столбцов, прогонки столбца через зону вертикального окаймления, исправления структурных нарушений и часть операции усечения. Симметрично, при решении канонической задачи на максимум реализуется только случай пункта 3.4.2, и нужны операции циклической перестановки строк, прогонки строки через зону горизонтального окаймления, исправления структурных нарушений и другая часть операции усечения. В остальном никакой дополнительной специфики каноническая форма задачи не добавляет.  

В первом параграфе введения было показано, как общую задачу линейного программирования можно свести к одной из канонических форм. Для канонически (же задач описание метода последовательного улучшения формально упрощается, так как отпадает необходимость рассматривать два варианта нарушения условий оптимальности и два варианта выхода в следующую вершину. Однако при этом увеличиваются размеры базисной матрицы А [ /, J ], которые в основном и определяют трудоемкость одного шата. Тем не менее, во многих случаях применение метода к каноническим формам задачи оказывается предпочтительным, и в этом параграфе мы остановимся на вариантах метода, получающихся для частных задач линейного программирования.  

Страницы:      1

канонической форме , если требуется максимизировать целевую функцию, все ограничения системы – уравнения и на все переменные наложено условие неотрицательности.

Задача линейного программирования задана в симметричной форме , если требуется максимизировать целевую функцию, все ограничения системы – неравенства «» (или минимизировать целевую функцию, все ограничения системы – неравенства «») и на все переменные наложено условие неотрицательности.

Набор чисел называется допустимым решением (планом) , если он удовлетворяет системе ограничений ЗЛП.

Множество всех допустимых решений называется областью допустимых решений (ОДР).

Допустимое решение , для которого достигается максимальное (минимальное) значение функции, называется оптимальным планом ЗЛП .

Термины «план» и «оптимальный план» возникли из экономических приложений.

Все три формы записи ЗЛП являются эквивалентными в том смысле, что имеются алгоритмы перехода от одной формы к другой. Таким образом, если имеется способ решения задачи в одной из форм, то всегда можно определить оптимальный план задачи, заданной в любой другой форме . Задача в симметричной форме решается графическим методом, а в канонической форме – симплекс–методом.

Рассмотрим алгоритмы перехода от одной формы к другой.


  • Симметричная  каноническая. Переход осуществляется путем добавления в левую часть каждого неравенства дополнительной неотрицательной переменной. Если неравенство было «≤», то балансовая переменная добавляется в левую часть неравенства со знаком «+». Если неравенство было «», то балансовая переменная добавляется в левую часть неравенства со знаком «–». Вводимые новые переменные называются балансовыми . Задачу минимизации функции Z заменяют на задачу максимизации функции (–Z) и используют, что min Z = –max (–Z).

  • Каноническая  симметричная. Для осуществления такого перехода находится общее решение системы уравнений – ограничений, целевая функция выражается через свободные переменные. Далее, воспользовавшись неотрицательностью базисных переменных, можно исключить их из задачи. Симметричная форма задачи будет содержать неравенства, связывающие только свободные переменные, и целевую функцию, зависящую только от свободных переменных. Значения базисных переменных находятся из общего решения исходной системы уравнений.

  • Общая  каноническая. Каждая переменная, на которую не было наложено условие неотрицательности, представляется в виде разности двух новых неотрицательных переменных. Неравенства преобразуются в уравнения путем введения в левую часть каждого неравенства балансовой переменной таким же образом, как это было описано при переходе от симметричной к канонической форме. Задачу минимизации функции Z заменяют на задачу максимизации функции (–Z) таким же образом, как это было описано при переходе от симметричной к канонической форме..
    1. Графический метод решения задачи линейного программирования

Графический метод применяется для решения ЗЛП, заданной в симметричной форме . Этот метод наиболее эффективно применяется для решения задач с двумя переменными, т.к. требует графических построений. В случае трех переменных необходимы построения в R 3 , в случае четырех переменных необходимы построения в R 4 и т.д.

Множество точек называется выпуклым , если для любых двух точек множества оно содержит отрезок, их соединяющий.

Пример 1

Следующие множества точек на плоскости являются выпуклыми:

Следующие множества точек на плоскости не являются выпуклыми:

Теорема 1 Пересечение любого количества выпуклых множеств является выпуклым множеством.

Теорема 2 Пусть имеются две произвольные точки и в пространстве R n . Тогда для любой точки отрезка [PQ ] должно выполняться: .где .

Гиперплоскостью в пространстве R n называется множество точек, удовлетворяющее уравнению . Заметим, что в двумерном случае гиперплоскостью является прямая.

Полупространством называется множество точек, удовлетворяющее одному из неравенств или . Гиперплоскость делит точки пространства на два полупространства. В двумерном случае гиперплоскостью является полуплоскость.

Теорема 3 Полупространство является выпуклым множеством.

Следствие Пересечение любого количества полупространств является выпуклым множеством.

Многогранником называется пересечение одного или более полупространств. Многогранник в двумерном случае называется многоугольником.

Пример 2

Следующие множества являются многоугольниками.

Ограниченное множество

Неограниченное множество


Единственная точка

Пустое множество


Точка выпуклого множества называется угловой , если она не лежит внутри никакого отрезка, соединяющего две другие точки из множества.

Пример 3

Угловыми точками треугольника являются его вершины (их три). Угловыми точками круга являются точки окружности, которая его ограничивает (их бесконечное число).

Угловая точка многогранника называется его вершиной .

Рассмотрим ЗЛП, заданную в симметричной форме.

Теорема 4 Оптимальный план ЗЛП соответствует вершине многогранника решений, определяемого ее системой ограничений.

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

Для единообразия записи ЗЛП вводится так называемая каноническая форма записи.

Говорят, что ЗЛП записана в канонической форме, если она имеет следующий вид:

Отметим следующие особенности канонического вида:

1) требуется минимизировать целевую функцию;

2) все линейные ограничения, кроме требований неотрицательности переменных, имеют вид равенств;

    на все переменные наложены требования неотрицательности.

Покажем, что любую ЗЛП можно привести к каноническому виду.

1) Если в ЗЛП требуется максимизировать целевую функцию f, то положим g = - f и потребуем минимизировать функцию g. Получится новая ЗЛП, которая эквивалентна исходной в том смысле, что каждое оптимальное решение исходной задачи будет оптимальным решением новой задачи и наоборот.

2) Предположим, что в ЗЛП есть линейное ограничение вида

Заменим такое ограничение следующими двумя ограничениями:

где z - новая переменная, которая в целевую функцию вводится с коэффициентом 0 (иначе говоря, переменная z не вводится в целевую функцию). Значение переменной z можно не учитывать после решения новой задачи.

Аналогично, ограничение вида заменяется двумя ограничениями:

3) Предположим, что в ЗЛП не ко всем переменным предъявлено требование неотрицательности. Тогда каждую, переменную , на которую не наложено требование неотрицательности, представим в виде разности двух неотрицательных переменных:

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

Указанными приемами любая ЗЛП приводится к каноническому виду.

Пример. Привести к каноническому виду

Проделаем описанные действия.

Теперь получим ЗЛП в каноническом виде:

2.7. Понятие опорного плана злп.

Пусть ВЛП задана в каноническом виде (2.3 - 2.5). Предположим, что система уравнений (2.4) приведена к жордановой форме с неотрицательными правыми частями:

(2.6)

где
.

Приравняв к нулю свободные переменные, получим базисное решение системы (2.4)

В силу условия
набор значений переменных (2.7) удовлетворяет и ограничениям (2.5). Поэтому (2.6) являетсядопустимым решением ЗЛП .

Допустимое решение (2.7) называется базисным допустимым решением или опорным планом ЗЛП. При этом говорят, что переменные
образуют допустимый базис.

Оказывается, что если ОДР изобразить геометрически, то каждый опорный план ЗЛП соответствует вершине многогранника. Поэтому справедлива следующая теорема.

Если ЗЛП разрешима, то существует оптимальный опорный план.

3. Симплексный метод решения злп

3.1. Общая характеристика и основные этапы симплекс – метода

Основоположниками симплекс-метода являются советский математик Л.В. Канторович и американский математик Дж. Данциг.

Симплекс-методом можно решить любую ЗЛП или обнаружить ее неразрешимость. Многие специальные классы ЗЛП можно решить другими, более эффективными для этих классов методами. Однако преимущество симплекс-метода - его универсальность. Почти для всех ЭВМ разработаны стандартные программы для решения ЗЛП симплекс - методом.

Опишем общую идею симплекс-метода.

Считаем, что ЗЛП записана в каноническом виде и целевую функцию нужно минимизировать. Как мы уже знаем, оптимальный план следует искать среди опорных планов ЗЛП. Симплекс-метод не перебирает все опорные планы (что было бы часто невозможно из-за их огромного количества), а, начиная с некоторого исходного опорного плана, он последовательно переходит к другим опорным планам с уменьшением целевой функции. Симплекс-метод прекращает свою работу тогда, когда либо будет найден оптимальный опорный план, либо установлена неразрешимость задачи.

При решении ЗЛП симплекс-методом можно выделить следующие этапы:

1) приведение ЗЛП к каноническому виду;

2) приведение системы линейных уравнений к жордановой форме с неотрицательными правыми частями с одновременной проверкой на неразрешимость ЗЛП из-за противоречивости системы линейных ограничений;

3) исследование опорного плана на оптимальность;

4) исследование ЗЛП на неразрешимость из-за неограниченности снизу на ОДР целевой функции;

5) переход к новому, "лучшему" опорному плану.

Задача линейного программирования вида ax = b где a - матрица коэффициентов, b - вектор ограничений.
Пример :

В каждой задаче ЛП ищутся значения переменных при условии, чтобы:

  • эти значения удовлетворяли некоторой системе линейных уравнений или неравенств;
  • при этих значениях целевая функция обращалась бы в минимум или максимум.

Инструкция . Выберите количество переменных и количество строк (количество ограничений). Полученное решение сохраняется в файле Word .

Одним из универсальных методов ЛП является симплексный метод, который, однако, можно применять, если задача ЛП имеет каноническую форму.

Определение . Задача ЛП имеет каноническую форму, если все ограничения системы состоят только из уравнений (кроме неравенств, выражающих неотрицательность переменных) и целевую функцию необходимо минимизировать.
Примером такой задачи ЛП в канонической форме является задача 1 – сбалансированная транспортная задача с системой ограничений (1) и целевой функцией (2).
Однако в большинстве экономических задач чаще всего в систему ограничений первоначально входят не только уравнения, а и неравенства.

Утверждение. Любая общая задача ЛП может быть приведена к канонической форме.
Приведение общей задачи ЛП к канонической форме достигается путем введения новых (их называют дополнительными) переменных.
Система ограничений (3) этой задачи состоит из четырех неравенств. Введя дополнительные переменные y 1 ≥ 0, y 2 ≥ 0, y 3 ≥ 0, y 4 ≥ 0, можно перейти к системе ограничений:

Эти дополнительные переменные y i имеют абсолютно ясный экономический смысл, а именно означают величину неиспользованного времени работы (простоя машины i -го вида).
Например, если бы машины первого вида работали все 18 ч, то x + y = 18, следовательно, y 1 = 0. Но мы допускаем возможность неполного использования времени работы первой машины x + y <18. В этом случае y 1 приобретает положительное значение и может рассматриваться как неиспользованный лимит времени. Например, зная решение этой задачи из пункта 3.3.2, x = 12, y = 6, мы можем из системы ограничений (3.9) сделать вывод, что y 1 = y 2 = y 3 = 0, а y 4 = 12 – 6 = 6. Т. е. машины первого, второго, третьего вида используют свое рабочее время полностью. А вот четвертая машина загружена лишь наполовину, 6 часов, и при заданном оптимальном плане простаивает. Возможно, после таких выводов руководителю предприятия захочется загрузить ее другой работой, сдать в аренду на это время и т.д.
Итак, введением дополнительных переменных мы можем любое ограничение типа неравенства привести к уравнению.

Рассмотрим задачу о смеси. Система ограничений имеет вид:
Неравенства были обращены в сторону «больше», поэтому вводя дополнительные переменные y 1 , y 2 , y 3 ≥ 0, их необходимо вычесть из левой части, чтобы уравнять ее с правой. Получим систему ограничений в канонической форме:
Переменные y i также будут иметь экономический смысл. Если вы вспомните практическое содержание задачи, то переменная y 1 будет означать количество излишнего вещества А в смеси, y 2 –количество излишков вещества В в смеси, y 3 – излишки С в смеси.
Задача нахождения максимального значения целевой функции может быть сведена к нахождению минимума для функции –F ввиду очевидности утверждения max F = –min (– F). Посмотрите на рисунок: если в какой-то точке x = x 0 функция y = F (x ) достигает своего максимума, то функция y = –F (x ), симметричная ей относительно оси OX , в этой же точке x 0 достигнет минимума, причем F max = – (–F min) при x = x 0 .

Вывод. Для представления задачи ЛП в канонической форме необходимо:

  • неравенства, входящие в систему ограничений задачи, преобразовать в уравнения с помощью введения дополнительных переменных;
  • если целевая функция F →max (максимизируется), она заменяется на функцию –F → min (которая минимизируется).

задачи линейного программирования

2.1. Определение и формы записи

В случае, когда все ограничения являются уравнениями и все переменные удовлетворяют условию неотрицательности, задачу линейного программирования называют канонической. Она может быть представлена в координатной, векторной или матричной форме записи.

а) каноническая задача ЛП в координатной форме имеет вид:

,
.

Данную задачу можно записать, используя знак суммирования:

,

,

,
,
.

б) каноническая задача ЛП в векторной форме имеет вид: ,

,

где
;
;

,
;;
.

в) каноническая задача ЛП в матричной форме имеет вид:

,
,

где
,,.

2.2. Приведение общей задачи линейного

программирования к канонической форме

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

и прибавим к его левой части некоторую величину
такую, чтобы неравенство превратилось в равенство.

Неотрицательная переменная
называется дополнительной переменной. Следующая теорема даёт основание для возможности такого преобразования.

Теорема 2.2.1. Каждому решению
неравенства (2.2.1) соответствует единственное решениеуравнения (2.2.2) и неравенства
, и, наоборот, каждому решению уравнения (2.2.2)с
соответствует решение
неравенства (2.2.1).

Доказательство. Пусть
решение неравенства (2.2.1). Тогда. Возьмём число
. Ясно, что
. Подставив в уравнение (2.2.2), получим

Первая часть теоремы доказана.

Пусть теперь векторудовлетворяет уравнению (2.2.2) с
, т.е.. Отбрасывая в левой части последнего равенства неотрицательную величину
, получаем, и т.д.

Таким образом, доказанная теорема фактически устанавливает возможность приведения всякой задачи ЛП к каноническому виду. Для этого достаточно в каждое ограничение, имеющее вид неравенства, ввести свою дополнительную неотрицательную переменную. Причём, в неравенства вида (1.2.1) эти переменные войдут со знаком « + », а в неравенствах вида (1.2.2) – со знаком « – ». Дополнительные переменные вводятся в целевую функцию с нулевыми коэффициентами и поэтому на её значение не влияют.

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

3. Графический метод решения задач

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

3.1. Общие понятия, примеры

В тех случаях, когда в задаче ЛП лишь две переменные, можно использовать для решения графический метод. Пусть требуется найти максимальное (минимальное) значение функции
при ограничениях

(3.1.1)

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

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

Линией уровня называется прямая, на которой целевая функцияпринимает постоянное значение. Уравнение линии уровня имеет вид

, где
. Все линии уровня параллельны между собой. Их нормаль
.

Опорной прямой называется линия уровня, которая имеет хотя бы одну общую точку с областью допустимых решений, по отношению к которой эта область находится в одной из полуплоскостей (рис. 1).

Значения
возрастают в направлении вектора
. Поэтому необходимо передвигать линию уровня
в направлении этого вектора параллельно самой себе до опорной прямойL 1 в задаче на максимум и в противоположном направлении – в задаче на минимум (до опорной прямойL 2).

Приведём решение примера 1.1. Напомним, что нужно найти максимум функции
при ограничениях

Решение. Строим область допустимых решений. Нумеруем ограничения задачи. В прямоугольной декартовой системе координат (рис. 2) строим прямую

, соответствующую ограничению (1). Находим, какая из полуплоскостей, на которые эта прямая делит всю координатную плоскость, является областью решений неравенства (1).

Для этого достаточно координаты какой - либо точки, не лежащей на прямой, подставить в неравенство. Так как прямая не проходит через начало координат, подставляем
в первое ограничение. Получим строгое неравенство
. Следовательно, точка
лежит в полуплоскости решений. Аналогично строим прямую

и область решений ограничения (2). Находим общую часть полуплоскостей решений, учитывая ограничения (3). Полученную область допустимых решений выделим на рис.2 тёмным цветом.

Строим линию уровня
и вектор
, который указывает направление возрастания функциии перпендикулярен прямой

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

Пример 3.1. Найти минимум функции
при системе ограничений

Решение. Строим область допустимых решений (см. рис.3), вектор
и одну из линий уровня
. Перемещаем линию уровня в направлении, противоположном
, так как решается задача на отыскание минимума функции. Опорная прямая проходит в этом случае через точку А (рис.3), координаты которой найдём из решения системы

Итак,
. Вычисляем.

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

Пример 3.2. Найти минимум функции
при ограничениях

Решение. Строим область допустимых решений, нормаль линий уровня
и одну из линий уровня, имеющую общие точки с этой областью. Перемещаем линию уровняв направлении, противоположном направлению нормали, так как решается задача на отыскание минимума функции. Нормаль линий уровня
и нормаль граничной прямой, в направлении которой перемещаются линии уровня, параллельны, так как их координаты пропорциональны
. Следовательно, опорная прямая совпадает с граничной прямойобласти допустимых решений и проходит через две угловые точки этой областии(рис.4).

Задача имеет бесконечное множество оптимальных решений, являющихся точками отрезка
. Эти точки
,
находим, решая соответствующие системы уравнений:


;
;

,
;
,
;

;
.

Вычисляем .

Ответ:
при
,
.

Пример 3.3. Решить задачу линейного программирования

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

Задача не имеет решения вследствие неограниченности целевой функции.

Ответ:
.