Различные формы записи ЗЛП (общая, каноническая, симметрическая)

Cтраница 1


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Страницы:      1

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

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).

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

Ответ:
.

Задача линейного программирования вида 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 (которая минимизируется).

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

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

  • если в исходной задаче требуется определить максимум линейной функции, то следует изменить знак и искать минимум этой функции;
  • если в ограничениях правая часть отрицательна, то следует умножить это ограничение на -1;
  • если среди ограничений имеются неравенства, то путем введения дополнительных неотрицательных переменных они преобразуются в равенства;
  • если некоторая переменная x j не имеет ограничений по знаку, то она заменяется (в целевой функции и во всех ограничениях) разностью между двумя новыми неотрицательными переменными:
    x 3 = x 3 + - x 3 - , где x 3 + , x 3 - ≥ 0 .

Пример 1 . Приведение к канонической форме задачи линейного программирования:

min L = 2x 1 + x 2 - x 3 ;
2x 2 - x 3 ≤ 5;
x 1 + x 2 - x 3 ≥ -1;
2x 1 - x 2 ≤ -3;
x 1 ≤ 0; x 2 ≥ 0; x 3 ≥ 0.

Введем в каждое уравнение системы ограничений выравнивающие переменные x 4 , x 5 , x 6 . Система запишется в виде равенств, причем в первое и третье уравнения системы ограничений переменные x 4 , x 6 вводятся в левую часть со знаком "+", а во второе уравнение переменная x 5 вводится со знаком "-".

2x 2 - x 3 + x 4 = 5;
x 1 + x 2 - x 3 - x 5 = -1;
2x 1 - x 2 + x 6 = -3;
x 4 ≥ 0; x 5 ≥ 0; x 6 ≥ 0.

Свободные члены в канонической форме должны быть положительными, для этого два последних уравнения умножим на -1:

2x 2 - x 3 + x 4 = 5;
-x 1 - x 2 + x 3 + x 5 = 1;
-2x 1 + x 2 - x 6 = 3.

В канонической форме записи задач линейного программирования все переменные, входящие в систему ограничений, должны быть отрицательными. Допустим, что x 1 = x 1 " - x 7 , где x 1 " ≥ 0, x 7 ≥ 0 .

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

L min = 2x 1 " + x 2 - x 3 - 2x 7 ;
2x 2 - x 3 + x 4 = 5;
-x 1 " - x 2 + x 3 + x 5 + x 7 = 1;
-2x 1 " + x 2 - x 6 + 2x 7 = 3;
x 1 " ≥ 0; x i ≥ 0, i=2, 3, 4, 5, 6, 7.

Условие оптимальности базисного плана канонической задачи ЛП. Симплекс-метод и его сходимость.

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

Идея симплексногометода последовательного улучшения плана, заключается в том, что, начиная с некоторого исходного опорного решения, осуществляется последовательно направленное перемещение по опорным решениям задачи к оптимальному.

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

Так как число опорных решений конечно, то через конечное число шагов получим оптимальное опорное решение.

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

Алгоритм симплексного метода

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

2. Находим исходное опорное решение и проверяем его на оптимальность.
Для этого заполняем симплексную таблицу 1.
Все строки таблицы 1-го шагазаполняем по данным системы ограничений и целевой функции.

Возможны следующие случаи при решении задач на максимум:

1. Если все коэффициенты последней строки симплекс-таблицы Dj ³ 0, то найденное

решение оптимальное.

2 Если хотя бы один коэффициент Dj £ 0, но при соответствующей переменной нет ни одного положительного оценочного отношения, то решение задачи прекращаем , так как F(X) ® ¥ , т.е.целевая функция не ограничена в области допустимых решений.

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

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

5. Если хотя бы один коэффициент Dk < 0 ,то k - тый столбец принимаем за ведущий.

6. За ведущую строку принимаем ту, которой соответствует минимальное отношение свободных членов bi к положительным коэффициентам ведущего, k – того столбца.

7. Элемент, находящийся на пересечении ведущих строк и столбца, называется ведущим элементом.

Заполняем симплексную таблицу 2:

· заполняем базисный столбец нулями и единицей

· переписываем ведущую строку, разделив ее на ведущий элемент

· если ведущая строка имеет нули, то в следующую симплекс-таблицу можно перенести соответствующие столбцы

· остальные коэффициенты находим по правилу “прямоугольника”

Получаем новое опорное решение, которое проверяем на оптимальность:

Если все коэффициенты последней строки Dj ³ 0, то найденное решение максимальное.

Если нет, то заполняем симплексную таблицу 8-го шага и так далее.

Если целевая функция F(X) требует нахождения минимального значения , то критерием оптимальности задачи является неположительность коэффициентов Dj при всех j = 1,2,...n.

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

Легко заметить, что проблемы со сходимостью симплекс-ме­тода потенциально могут возникнуть на этапе выбора значения r (п. 2") в случае, когда одинаковые минимальные значения от­ношения

будут достигнуты для нескольких строк таблицы Т (q) одновре­менно. Тогда на следующей итерации столбец b(β(q+1)) будет со­держать нулевые элементы.

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

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

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

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

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) переход к новому, "лучшему" опорному плану.