Каноническая форма ЗЛП онлайн
Каноническая форма ЗЛП — задача линейного программирования видаax = b
, где a — матрица коэффициентов, b — вектор ограничений.
Назначение сервиса. Онлайн-калькулятор предназначен для перехода ЗЛП к КЗЛП. Приведение задачи к канонической форме означает, что все ограничения будут иметь вид равенств, путем ввода дополнительных переменных.
Если на какую-либо переменную xj не наложено ограничение, то она заменяется на разность дополнительных переменных, xj = xj1 — xj2, xj1 ≥ 0, xj2 ≥ 0.
- Шаг №1
- Шаг №2
- Видеоинструкция
Инструкция. Выберите количество переменных и количество строк (количество ограничений). Полученное решение сохраняется в файле Word.
Количество переменных
2345678910
Количество строк (количество ограничений)
2345678910
Математическая модель ЗЛП называется основной, если ограничения в ней представлены в виде уравнений при условии неотрицательности переменных.
Математическая модель называется канонической, если ее система ограничений представлена в виде системы m линейно независимых уравнений (ранг системы r=m), в системе выделен единичный базис, определены свободные переменные и целевая функция выражена через свободные переменные. При этом правые части уравнений неотрицательны (bi ≥ 0).
Переменные, входящие в одно из уравнений системы с коэффициентом один и отсутствующие в других уравнениях называются базисными неизвестными, а все другие – свободными.
Решение системы называется базисным, если в нем свободные переменные равны 0, и оно имеет вид:
Xбаз = (0, 0; b 1, …, bm), f(Xбаз) = c0
Базисное решение является угловой точкой множества решений системы, т.е. определяет вершину многоугольника решений модели. Среди таких решений находится и то, при котором целевая функция принимает оптимальное значение.
Базисное решение называется опорным, если оно допустимо, т.е. все правые части уравнений системы (или неравенств) положительны bi ≥ 0.
Компактная форма канонической модели имеет вид:
AX = b
X ≥ 0
Z = CX(max)
Понятие допустимого решения, области допустимых решений, оптимального решения задачи линейного программирования.
Определение 1. Вектор X, удовлетворяющий системе ограничений ЗЛП, в том числе и условиям неотрицательности, если они имеются, называется допустимым решением ЗЛП.
Определение 3. Допустимое решение, для которого целевая функция достигает максимума (или минимума), называется оптимальным решением.
В каждой задаче ЛП ищутся значения переменных при условии, чтобы:
- эти значения удовлетворяли некоторой системе линейных уравнений или неравенств;
- при этих значениях целевая функция обращалась бы в минимум или максимум.
Определение. Задача ЛП имеет каноническую форму, если все ограничения системы состоят только из уравнений (кроме неравенств, выражающих неотрицательность переменных) и целевую функцию необходимо минимизировать.
Однако в большинстве экономических задач чаще всего в систему ограничений первоначально входят не только уравнения, а и неравенства.
Утверждение. Любая общая задача ЛП может быть приведена к канонической форме.
Приведение общей задачи ЛП к канонической форме достигается путем введения новых (их называют дополнительными) переменных.
Система ограничений (3) этой задачи состоит из четырех неравенств. Введя дополнительные переменные y1≥ 0, y2≥ 0, y3≥ 0, y4 ≥ 0, можно перейти к системе ограничений:
Эти дополнительные переменные y i имеют абсолютно ясный экономический смысл, а именно означают величину неиспользованного времени работы (простоя машины i-го вида).
Например, если бы машины первого вида работали все 18 ч, то x + y = 18, следовательно, y1 = 0. Но мы допускаем возможность неполного использования времени работы первой машины x + y<18. В этом случае y1 приобретает положительное значение и может рассматриваться как неиспользованный лимит времени. Например, зная решение этой задачи из пункта 3.3.2, x = 12, y = 6, мы можем из системы ограничений (3.9) сделать вывод, что y1 = y2 = y3 = 0, а y4 = 12 – 6 = 6.
Итак, введением дополнительных переменных мы можем любое ограничение типа неравенства привести к уравнению.
Рассмотрим задачу о смеси. Система ограничений имеет вид:
Неравенства были обращены в сторону «больше», поэтому вводя дополнительные переменные y1, y2, y3≥ 0, их необходимо вычесть из левой части, чтобы уравнять ее с правой. Получим систему ограничений в канонической форме:
Переменные yi также будут иметь экономический смысл. Если вы вспомните практическое содержание задачи, то переменная
Задача нахождения максимального значения целевой функции может быть сведена к нахождению минимума для функции –F ввиду очевидности утверждения maxF = –min (–F). Посмотрите на рисунок: если в какой-то точке x= x0 функция y= F(x) достигает своего максимума, то функция y= –F(x), симметричная ей относительно оси OX, в этой же точке x0 достигнет минимума, причем Fmax = – (–Fmin) при x = x0.
Вывод.
Для представления задачи ЛП в канонической форме необходимо:- неравенства, входящие в систему ограничений задачи, преобразовать в уравнения с помощью введения дополнительных переменных;
- если целевая функция F→max (максимизируется), она заменяется на функцию –F→ min (которая минимизируется).
Пример №1. Следующую задачу ЛП привести к каноническому виду: F(X) = 5x1 + 3x2 → max
при ограничениях:
2x1 + 3x2≤20
3x1 + x2≤15
4x1≤16
3x2≤12
Модель записана в стандартной форме. Введем балансовые неотрицательные переменные x3, x4, x5, 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 имеют произвольный знак)
Для приведения ЗЛП к канонической форме необходимо:
— 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. Преобразовать следующие задачи ЛП к канонической форме и решить их симплекс-методом.
4.1. Каноническая форма задачи линейного программирования
Запись целевой функции и системы ограничений в различных задачах линейного программирования неодинаков: в одних задачах требуется найти минимум целевой функции, а в других – максимум; в одних случаях искомые переменные зависят от одного индекса, а в других – от двух; в одних задачах ограничения заданы в виде системы линейных неравенств, а в других – в виде системы линейных уравнений. На практике возможны также задачи, в которых часть ограничений имеет вид линейных неравенств, а часть – линейных уравнений. Также не во всех задачах может требоваться неотрицательность переменных .
Учет такого разнообразия задач линейного программирования требует разработки специальных методов для решения отдельных их классов. Мы же сосредоточим свое внимание на изучении общих свойств и методов линейного программирования, записанных в так называемой канонической форме.
Если в задаче линейного программирования система исходных ограничений приобретает вид уравнений типа
или
и нужно найти максимум линейной целевой функции
,
то считается, что задача линейного программирования записана в канонической форме.
Любую задачу линейного программирования можно легко свести к канонической форме. В общем случае для этого достаточно уметь, во-первых, свести задачу минимизации целевой функции к задаче ее максимизации, во-вторых, переходить от ограничений-неравенств к ограничениям-равенствам, и в-третьих, менять те переменные, которые не подчинены условию неотрицательности.
В том случае, когда нужно найти минимум функции , можно перейти к нахождению максимума функции , поскольку справедливо утверждение: .
Ограничение-неравенство исходной задачи, которое имеет вид «» , можно превратить в ограничение-уравнение путем добавления к его левой части дополнительной неотрицательной переменной, а ограничение-неравенство вида «»– путем вычитания из его левой части дополнительной неотрицательной переменной.
Заметим, что количество введенных дополнительных неотрицательных переменных всегда равно количеству неравенств в исходной системе ограничений.
Введены дополнительные переменные имеют вполне конкретный экономический смысл. Так, если в ограничениях исходной задачи линейного программирования отражаются расходы и наличие производственных ресурсов, то числовое значение дополнительной переменной показывает объем соответствующего неиспользованного ресурса.
Отметим также, что если некоторая переменная не подчиняется условию неотрицательности, то ее нужно заменить двумя неотрицавтельными переменными и , приняв .
Пример. Записать в канонической форме следующую задачу линейной оптимизации: найти минимум функции при ограничениях
Решение
В данной задаче нужно найти минимум целевой функции, а система ограничений включает четыре неравенства. Для того, чтобы записать ее в канонической форме, нужно перейти от ограничений-неравенств к ограничениям-уравнениям, а также превратить целевую функцию.
Так как количество неравенств, входящих в систему ограничений задачи , равно четырем, то этот переход должен быть осуществлен с введением четырех дополнительных неотрицательных переменных. При этом во втором и четвертом неравенствах стоит знак «» , поэтому к их левой части дополнительные переменные добавляем. В первом и третьем неравенствах – знак «», значит от их левой части дополнительные переменные вычитаем.
Также превращаем целевую функцию, поменяв все знаки на противоположные, и находим ее максимум.
Таким образом, данная задача линейного программирования будет записана в следующем каноническом виде:
найти максимум функции
при ограничениях
матриц. Могут ли линейные программы в канонической форме быть невозможными?
спросил
Изменено 1 год, 7 месяцев назад
Просмотрено 100 раз
$\begingroup$
Является ли одним из условий приведения линейной программы в каноническую форму то, что она должна иметь хотя бы одно допустимое решение? Кроме того, если каноническая линейная программа может быть невыполнимой, означает ли это, что любую линейную программу можно преобразовать в каноническую форму?
- линейная алгебра
- матрицы
- оптимизация
- линейное программирование
$\endgroup$
$\begingroup$
Программы в канонической форме могут быть неосуществимы. Например, следующий LP невозможен:
$$ \begin{выровнено} \mbox{максимум} & x_1 + x_2 \\ \mbox{с.т. }&x_1 — x_2=-1\ &х_1+х_2=-4\ & x_1, x_2 \geq 0 \end{выровнено} $$
Наконец, любой LP можно привести в каноническую форму. Неравенства можно превратить в равенства, введя резервные переменные, а «свободные» переменные можно переписать как разность двух неотрицательных переменных.
$\endgroup$
$\begingroup$
Возможно, это связано с вашим вопросом о канонической форме (или стандартной форме в некоторой литературе по оптимизации), имеющей по крайней мере одно допустимое решение: стандартная форма LP, если она допустима, должна иметь хотя бы одно базовое возможное решение. Другими словами, многогранник, связанный с ограничениями, должен иметь крайнюю точку, когда он непуст. Это одна из причин, по которой ЛП преобразуется в стандартную форму для вычислений, как и при использовании симплекс-метода.
$\endgroup$
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie 9T\underline{x}$ при условии $A\underline{x} = \underline{b}$, $x ≥ 0$. »
Вопрос гласит: Приведите следующий LP в каноническую форму (не пытайтесь решать) Минимизировать $z=x_1+2x_2+3x_3$ при условии $$3x_1+4x_3\leq5$$ $$5x_1+x_2+6x_3 \leq 7$$ $$8x_1+9x_3\geq2$$ Со всеми переменными неотрицательными.
Итак, я начал с того, что попытался преобразовать его в стандартную форму и добавил переменные резерва и резерва, поэтому у меня есть $$3x_1+4x_3+s_1=5$$ $$5x_1+x_2+6x_3+s_2= 7$$ $$8x_1+9x_3-s_3=2$$
, но я не понимаю, что такое векторы $\underline{x}, \underline{c}, \underline{b}$ и матрица $A$.
Я прочитал еще один вопрос, ответ на который предполагал, что $$\underline{x}=\begin{pmatrix} х_1 \\ х_2 \\ х_3 \end{pmatrix}, \underline{c}= \begin{pmatrix} 1\\ 2\\ 3 \end{pmatrix}, \underline{b}=\begin{pmatrix} 5\\ 7\\ 2 \end{pmatrix}, A= \begin{pmatrix} 3 и 0 и 4 \\ 5 и 1 и 6 \\ 8 и 0 и 9 \end{pmatrix}$$ но я не вижу, где в игру вступают переменные резерва и излишка.
- оптимизация
- линейное программирование
$\endgroup$
$\begingroup$
Ваш $\underline{b}$ верен.