- Переход к канонической форме ЗЛП
- Приведение задачи линейного программирования к канонической форме
- Виды злп и способы перехода от одного вида к другому.
- 1)Задача линейного программирования и различные формы ее записи. Приведение общей задачи лп к симметричной форме записи.
- 2)Приведение общей задачи лп к каноническому виду.
Переход к канонической форме ЗЛП
Каноническая форма ЗЛП — задача линейного программирования вида ax = b , где a — матрица коэффициентов, b — вектор ограничений.
Инструкция . Выберите количество переменных и количество строк (количество ограничений). Полученное решение сохраняется в файле Word .
Математическая модель ЗЛП называется основной, если ограничения в ней представлены в виде уравнений при условии неотрицательности переменных.
Математическая модель называется канонической, если ее система ограничений представлена в виде системы m линейно независимых уравнений (ранг системы r=m), в системе выделен единичный базис, определены свободные переменные и целевая функция выражена через свободные переменные. При этом правые части уравнений неотрицательны (bi ≥ 0).
Переменные, входящие в одно из уравнений системы с коэффициентом один и отсутствующие в других уравнениях называются базисными неизвестными, а все другие – свободными.
Решение системы называется базисным, если в нем свободные переменные равны 0, и оно имеет вид:
Xбаз = (0, 0; b1, …, bm), f(Xбаз) = c0
Базисное решение является угловой точкой множества решений системы, т.е. определяет вершину многоугольника решений модели. Среди таких решений находится и то, при котором целевая функция принимает оптимальное значение.
Базисное решение называется опорным, если оно допустимо, т.е. все правые части уравнений системы (или неравенств) положительны bi ≥ 0.
Компактная форма канонической модели имеет вид:
AX = b
X ≥ 0
Z = CX(max)
Понятие допустимого решения, области допустимых решений, оптимального решения задачи линейного программирования.
Определение 1 . Вектор X, удовлетворяющий системе ограничений ЗЛП, в том числе и условиям неотрицательности, если они имеются, называется допустимым решением ЗЛП.
Определение 2 . Совокупность всех допустимых решений образует область допустимых решений (ОДР) ЗЛП.
Определение 3 . Допустимое решение, для которого целевая функция достигает максимума (или минимума), называется оптимальным решением.
- эти значения удовлетворяли некоторой системе линейных уравнений или неравенств;
- при этих значениях целевая функция обращалась бы в минимум или максимум.
- неравенства, входящие в систему ограничений задачи, преобразовать в уравнения с помощью введения дополнительных переменных;
- если целевая функция F→max (максимизируется), она заменяется на функцию –F→ min (которая минимизируется).
Пример №1 . Следующую задачу ЛП привести к каноническому виду: F(X) = 5x1 + 3x2 → max при ограничениях:
2x1 + 3x2≤20
3x1 + x2≤15
4x1≤16
3x2≤12
Модель записана в стандартной форме. Введем балансовые неотрицательные переменные x3, x4, x5, x6, которые прибавим к левым частям ограничений-неравенств. В целевую функцию все дополнительные переменные введем с коэффициентами, равными нулю:
В первом неравенстве смысла (≤) вводим базисную переменную x3. Во 2-ом неравенстве смысла (≤) вводим базисную переменную x4. В третьем неравенстве вводим базисную переменную x5. В 4-м неравенстве — базисную переменную x6. Получим каноническую форму модели:
2x1 + 3x2 + 1x3 + 0x4 + 0x5 + 0x6 = 20
3x1 + 1x2 + 0x3 + 1x4 + 0x5 + 0x6 = 15
4x1 + 0x2 + 0x3 + 0x4 + 1x5 + 0x6 = 16
0x1 + 3x2 + 0x3 + 0x4 + 0x5 + 1x6 = 12
F(X) = 5x1 + 3x2 + 0x3 + 0x4 + 0x5 + 0x6 → max Пример №2 . Найти два опорных решения системы
x1 + 2x4 – 2x5 = 4
x3 + 3x4 + x5 = 5
x2 + 3x5 = 2 Ответ: X = (4;2;5;0;0) Пример №3 . Привести к канонической форме следующую ЗЛП.
F = 2x1 — x2 + 4x3 -2x4 → min
при ограничениях:
7x1 –x2 +5x3 + x4 = -10
3x1 +5x2 -9x3 + 2x4 = 6
x1 –x2 -2x3 + 6x4 ≥ 7
x1 +x2 -5x3 ≤ 11
7x1 –x2 -3x3 — x4 ≤ 9
x1 ≥0 , x2 ≥0 (обратите внимание, что переменные x3 и x4 имеют произвольный знак) Для приведения ЗЛП к канонической форме необходимо:
1. Поменять знак у целевой функции
— F = -2x1 + x2 — 4x3 +2x4 → max 2. В левые части трех последних неравенств внести дополнительные переменные x5, x6, x7 со знаком плюс или минус в зависимости от знака неравенства.
7x1 –x2 +5x3 + x4 = -10
3x1 +5x2 -9x3 + 2x4 = 6
x1 –x2 -2x3 + 6x4 –x5 = 7
x1 +x2 -5x3 +x6 = 11
7x1 –x2 -3x3 — x4 +x7 = 9
x1 ≥0 , x2 ≥0, x5 ≥0 , x6 ≥0, x7 ≥0 3. Так как переменные x3 и x4 произвольного знака, то они заменяются разностями неотрицательных переменных.
7x1 –x2 +5(x8 – x9) + (x10 – x11) = -10
3x1 +5x2 -9(x8 – x9) + 2(x10 – x11) = 6
x1 –x2 -2(x8 – x9) + 6(x10 – x11) –x5 = 7
x1 +x2 -5(x8 – x9) +x6 = 11
7x1 –x2 -3(x8 – x9) — (x10 – x11) +x7 = 9
x1 ≥0 , x2 ≥0, x5 ≥0 , x6 ≥0, x7 ≥0 , x8 ≥0, x9 ≥0 , x10 ≥0, x11 ≥0 4. Соответствующая целевая функция примет вид:
— F = -2x1 + x2 — 4(x8 – x9) +2(x10 – x11) → max см. также Как привести каноническую задачу линейного программирования к стандартной форме Пример №2 . Преобразовать следующие задачи ЛП к канонической форме и решить их симплекс-методом.
Приведение задачи линейного программирования к канонической форме
Задачи линейного программирования делятся на два вида: канонические (основные) и стандартные (симметричные).
Каноническая задача линейного программирования – это задача, в систему ограничений которой входят только линейные уравнения и условия неотрицательности выполняются для всех переменных, то есть
, , .
Стандартная задача линейного программирования – это задача, в систему ограничений которой входят только линейные неравенства со знаком (со знаком ), целевая функция стремится к максимуму (минимуму) и условия неотрицательности выполняются для всех переменных, то есть
Любую задачу линейного программирования можно привести к канонической форме по следующему правилу:
1) если знак неравенства , то балансовая переменная вводится со знаком плюс;
2) если знак неравенства , то балансовая переменная вводится со знаком минус;
3) в целевую функцию балансовые переменные не вводятся;
4) если на какую либо исходную переменную не наложено условие неотрицательности (например, на ), то ее можно представить в виде разности двух положительных переменных () и выполнить соответствующую замену в исходной задаче.
Пример 3. Привести к каноническому виду задачу линейного программирования
, , .
Решение. Первое уравнение системы ограничений оставим без изменения. Во второе неравенство системы ограничений введем балансовую переменную со знаком плюс , а во второе неравенство переменную со знаком минус . В целевую функцию эти переменные не вводятся. Так как на переменную не наложено условие неотрицательности, то заменим ее разностью двух положительных переменных . Выполним соответствующую замену в целевой функции.
Каноническая форма исходной задачи будет иметь вид:
, , .
Задания для решения в аудитории
1. Привести к каноническому виду задачу линейного программирования
, , .
Виды злп и способы перехода от одного вида к другому.
Одна и та же ЗЛП может быть сформулирована в различных эквивалентных формах. Наиболее важными формами задачи линейного программирования являются каноническая и стандартная.
В канонической форме задача является задачей на максимум (минимум) некоторой линейной функции F, ее система ограничений состоит только из равенств (уравнений). При этом переменные задачи х1, х2, . хn являются неотрицательными:
К канонической форме можно преобразовать любую задачу линейного программирования.
Правило приведения ЗЛП к каноническому виду:
1. Если в исходной задаче некоторое ограничение (например, первое) было неравенством, то оно преобразуется в равенство, введением в левую часть некоторой неотрицательной переменной, при чем в неравенства «≤» вводится дополнительная неотрицательная переменная со знаком «+»; в случаи неравенства «≥» — со знаком «-»
Тогда неравенство (32.1) запишется в виде:
В каждое из неравенств вводится своя “уравнивающая” переменная, после чего система ограничений становится системой уравнений.
Число вводимых дополнительных неотрицательных переменных при преобразовании ограничений-неравенств в ограничения-равенства равно числу преобразуемых неравенств.
Вводимые дополнительные переменные имеют вполне определенный экономический смысл. Так, если в ограничениях исходной задачи линейного программирования отражаются расход и наличие производственных ресурсов, то числовое значение дополнительной переменной в плане задачи, записанной в основной форме, равно объему неиспользуемого соответствующего ресурса.
2. Если в исходной задаче некоторая переменная не подчинена условию неотрицательности, то ее заменяют (в целевой функции и во всех ограничениях) разностью неотрицательных переменных
3. Если в ограничениях правая часть отрицательна, то следует умножить это ограничение на (-1)
4. Наконец, если исходная задача была задачей на минимум, то введением новой целевой функции F1 = -F мы преобразуем нашу задачу на минимум функции F в задачу на максимум функции F1.
Таким образом, всякую задачу линейного программирования можно сформулировать в канонической форме.
В стандартной форме задача линейного программирования является задачей на максимум (минимум) линейной целевой функции. Система ограничений ее состоит из одних линейных неравенств типа « = »). Все переменные задачи неотрицательны.
Всякую задачу линейного программирования можно сформулировать в стандартной форме. Приведение к стандартной форме необходимо, так как большинство методов решения задач линейного программирования разработано именно для стандартной формы.
Для приведения к стандартной форме задачи линейного программирования может потребоваться выполнить следующие действия:
— перейти от минимизации целевой функции к ее максимизации;
— изменить знаки правых частей ограничений;
— перейти от ограничений-равенств к неравенствам;
— избавиться от переменных, не имеющих ограничений на знак..
1. Привести к каноническому виду задачу
Введем дополнительные переменные x3 , x4 , x5 . Причем в первое неравенство введем неотрицательную переменную x3 со знаком минус, а во второе и в третье – со знаком плюс переменные x4 , x5 запишем задачу в виде:
что и дает эквивалентную задачу в канонической форме.
2. Привести к стандартному виду задачу
Выразим через и остальные переменные:
Целевая функция будет выглядеть следующим образом:
Так как , то перепишем нашу систему следующим образом: .
Итак, эквивалентная задача в стандартной форме будет выглядеть следующим образом:
1)Задача линейного программирования и различные формы ее записи. Приведение общей задачи лп к симметричной форме записи.
Если целевая функция и система ограничений линейны, то задача математического программирования называется задачей линейного программирования (ЗЛП).
означает «» , «» или » /html/2706/294/html_1Zz9KUz02H.gabz/img-d2us4Z.png» name=»Рисунок 1″ align=»bottom» width=»298″ height=»37″ border=»0″>
Основная форма ЗЛП
Симметричная форма ЗЛП
Общая задача линейного программирования
Любая задача линейного программирования приводится к стандартной (канонической) форме основной задачи линейного программирования, которая формулируется следующим образом: найти неотрицательные значения переменных X1, X2, Xn, удовлетворяющих ограничениям в виде равенств:
A11X1 + A12X2 + … + A1nXn = B1;
A21X1 + A22X2 + … + A2nXn = B2;
Am1X1 + Am2X2 + … + AmnXn = Bm;
и обращающих в максимум линейную функцию этих переменных:
E = C1X1 + C2X2 + … + CnXn Þ max
При этом также требуется, чтобы правые части равенств были неотрицательны, т.е. должны соблюдаться условия:
Приведение к стандартной форме необходимо, так как большинство методов решения задач линейного программирования разработано именно для стандартной формы. Для приведения к стандартной форме задачи линейного программирования может потребоваться выполнить следующие действия:
перейти от минимизации целевой функции к ее максимизации;
изменить знаки правых частей ограничений;
перейти от ограничений-неравенств к равенствам;
избавиться от переменных, не имеющих ограничений на знак.
Для решения нашей задачи воспользуемся симплекс-методом, так как этот метод предназначен для решения задач линейного программирования любой размерности.
2)Приведение общей задачи лп к каноническому виду.
Любую задачу линейного программирования можно свести к задаче линейного программирования в канонической форме. Для этого в общем случае нужно уметь сводить задачу максимизации к задаче минимизации; переходить от ограничений неравенств к ограничениям равенств и заменять переменные, которые не подчиняются условию неотрицательности. Максимизация некоторой функции эквивалента минимизации той же функции, взятой с противоположным знаком, и наоборот.
Правило приведения задачи линейного программирования к каноническому виду состоит в следующем: