Решение линейной системы уравнений с ограничениями

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

Что означает фраза «ранг матрицы равен $r$»? Она означает, что есть хотя бы один минор $r$-го порядка, который не равен нулю. Напомню, что такой минор называется базисным. Базисных миноров может быть несколько. При этом все миноры, порядок которых выше $r$, равны нулю или не существуют.

Выбрать $r$ базисных переменных в общем случае можно различными способами. В примерах я покажу наиболее часто используемый способ выбора.

Во всех изложенных ниже примерах матрицу системы будем обозначать буквой $A$, а расширенную матрицу системы – буквой $\widetilde$.

Решить СЛАУ $ \left \ < \begin& 3x_1-6x_2+9x_3+13x_4=9\\ & -x_1+2x_2+x_3+x_4=-11;\\ & x_1-2x_2+2x_3+3x_4=5. \end \right.$. Если система является неопределённой, указать базисное решение.

Итак, мы имеем СЛАУ, у которой 3 уравнения и 4 переменных: $x_1$, $x_2$, $x_3$, $x_4$. Так как количество переменных больше количества уравнений, то такая система не может иметь единственное решение (чуть позже мы строго докажем это предложение на основе теоремы Кронекера-Капелли). Найдём решения СЛАУ, используя метод Гаусса:

$$ \left( \begin 3 & -6 & 9 & 13 & 9 \\ -1 & 2 & 1 & 1 & -11 \\ 1 & -2 & 2 & 3 & 5 \end \right) \rightarrow \left|\begin & \text<поменяем местами первую и третью>\\ & \text<строки, чтобы первым элементом>\\ & \text <первой строки стала единица.>\end\right| \rightarrow \\ \rightarrow\left( \begin 1 & -2 & 2 & 3 & 5\\ -1 & 2 & 1 & 1 & -11 \\ 3 & -6 & 9 & 13 & 9 \end \right) \begin \phantom <0>\\ II+I\\ III-3\cdot I\end \rightarrow \left( \begin 1 & -2 & 2 & 3 & 5\\ 0 & 0 & 3 & 4 & -6 \\ 0 & 0 & 3 & 4 & -6 \end\right) \begin \phantom <0>\\ \phantom<0>\\ III-II\end \rightarrow \\ \rightarrow\left( \begin 1 & -2 & 2 & 3 & 5\\ 0 & 0 & 3 & 4 & -6 \\ 0 & 0 & 0 & 0 & 0 \end\right) $$

Мы завершили прямой ход метода Гаусса, приведя расширенную матрицу системы к ступенчатому виду. Слева от черты расположены элементы преобразованной матрицы системы, которую мы также привели к ступенчатому виду. Напомню, что если некая матрица приведена к ступенчатому виду, то её ранг равен количеству ненулевых строк.

И матрица системы, и расширенная матрица системы после эквивалентных преобразований приведены к ступенчатому виду; они содержат по две ненулевых строки. Вывод: $\rang A=\rang\widetilde = 2$.

Итак, заданная СЛАУ содержит 4 переменных (обозначим их количество как $n$, т.е. $n=4$). Кроме того, ранги матрицы системы и расширенной матрицы системы равны между собой и равны числу $r=2$. Так как $r < n$, то согласно следствию из теоремы Кронекера-Капелли СЛАУ является неопределённой (имеет бесконечное количество решений).

Найдём эти решения. Для начала выберем базисные переменные. Их количество должно равняться $r$, т.е. в нашем случае имеем две базисные переменные. Какие именно переменные (ведь у нас их 4 штуки) принять в качестве базисных? Обычно в качестве базисных переменных берут те переменные, которые расположены на первых местах в ненулевых строках преобразованной матрицы системы, т.е. на «ступеньках». Что это за «ступеньки» показано на рисунке:

На «ступеньках» стоят числа из столбцов №1 и №3. Первый столбец соответствует переменной $x_1$, а третий столбец соответствует переменной $x_3$. Именно переменные $x_1$ и $x_3$ примем в качестве базисных.

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

Почему можно принять переменные $x_1$ и $x_3$ в качестве базисных? Для ответа на этот вопрос давайте вспомним, что ранг матрицы системы равен числу $r=2$. Это говорит о том, что все миноры данной матрицы, порядок которых выше 2, либо равны нулю, либо не существуют. Ненулевые миноры есть только среди миноров второго порядка. Выберем какой-либо ненулевой минор второго порядка. Мы можем выбирать его как в исходной матрице системы $A$, т.е. в матрице $\left( \begin 3 & -6 & 9 & 13 \\ -1 & 2 & 1 & 1 \\ 1 & -2 & 2 & 3 \end \right)$, так и в преобразованной матрице системы, т.е. в $\left( \begin 1 & -2 & 2 & 3 \\ 0 & 0 & 3 & 4 \\ 0 & 0 & 0 & 0 \end\right)$. Так как в преобразованной матрице системы побольше нулей, то будем работать именно с нею.

Итак, давайте выберем минор второго порядка, элементы которого находятся на пересечении строк №1 и №2, и столбцов №1 и №2:

$$ M_<2>^<(1)>=\left| \begin 1 & -2 \\ 0 & 0 \end\right|=1\cdot 0-(-2)\cdot 0=0. $$

Вывод: выбранный нами минор второго порядка не является базисным, ибо он равен нулю. Так как элементы этого минора взяты из столбца №1 (он соответствует переменной $x_1$) и столбца №2 (он соответствует переменной $x_2$), то пара переменных $x_1$ и $x_2$ не могут быть базисными переменными.

Осуществим вторую попытку, взяв минор второго порядка, элементы которого лежат на пересечении строк №1, №2 и столбцов №3 и №4:

$$ M_<2>^<(2)>=\left| \begin 2 & 3\\ 3 & 4 \end\right|=2\cdot 4-3\cdot 3=-1. $$

Вывод: выбранный нами минор второго порядка является базисным, ибо он не равен нулю. Так как элементы этого минора взяты из столбца №3 (он соответствует переменной $x_3$) и столбца №4 (он соответствует переменной $x_4$), то пару переменных $x_3$ и $x_4$ можно принять в качестве базисных.

Сделаем и третью попытку, найдя значение минора, элементы которого расположены на пересечении строк №1, №2 и столбцов №1 и №3:

Вывод: выбранный нами минор второго порядка является базисным, ибо он не равен нулю. Так как элементы этого минора взяты из столбца №1 (он соответствует переменной $x_1$) и столбца №3 (он соответствует переменной $x_3$), то пару переменных $x_1$ и $x_3$ можно принять в качестве базисных.

Как видите, выбор базисных переменных не является однозначным. На самом деле количество вариантов выбора не превышает количество размещений из $n$ элементов по $r$, т.е. не больше чем $C_^$.

В рассматриваемом примере в качестве баисных были приняты переменные $x_1$ и $x_3$ – сугубо из соображений удобства дальнейшего решения. В чём это удобство состоит, будет видно чуток позже.

Базисные переменные выбраны: это $x_1$ и $x_3$. Остальные $n-r=2$ переменных (т.е. $x_2$ и $x_4$) являются свободными. Нам нужно выразить базисные переменные через свободные.

Я предпочитаю работать с системой в матричной форме записи. Для начала очистим полученную матрицу $\left( \begin 1 & -2 & 2 & 3 & 5\\ 0 & 0 & 3 & 4 & -6 \\ 0 & 0 & 0 & 0 & 0 \end\right)$ от нулевой строки:

$$ \left( \begin 1 & -2 & 2 & 3 & 5\\ 0 & 0 & 3 & 4 & -6 \end\right) $$

Свободным переменным, т.е. $x_2$ и $x_4$, соответствуют столбцы №2 и №4. Перенесём эти столбцы за черту. Знак всех элементов переносимых столбцов изменится на противоположный:

Почему меняются знаки? Что вообще значит это перенесение столбцов? показать\скрыть

Давайте обратимся к расширенной матрице системы, которая после преобразований имеет вид $\left( \begin 1 & -2 & 2 & 3 & 5\\ 0 & 0 & 3 & 4 & -6 \end\right)$. Перейдём от матрицы к уравнениям. Первая строка соответствует уравнению $x_1-2x_2+2x_3+3x_4=5$, а вторая строка соответствует уравнению $3x_3+4x_4=-6$. Теперь перенесём свободные переменные $x_2$ и $x_4$ в правые части уравнений. Естественно, что когда мы переносим выражение $4x_4$ в правую часть уравнения, то знак его изменится на противоположный, и в правой части появится $-4x_4$.

Если опять записать полученную систему в виде матрицы, то мы и получим матрицу с перенесёнными за черту столбцами.

А теперь продолжим решение обычным методом Гаусса. Наша цель: сделать матрицу до черты единичной. Для начала разделим вторую строку на 3, а потом продолжим преобразования обратного хода метода Гаусса:

$$ \left( \begin 1 & 2 & 5 & 2 & -3\\ 0 & 3 & -6 & 0 & -4 \end\right) \begin \phantom <0>\\ II:3 \end \rightarrow \left( \begin 1 & 2 & 5 & 2 & -3\\ 0 & 1 & -2 & 0 & -4/3 \end\right) \begin I-2\cdot II \\ \phantom <0>\end \rightarrow \\ \rightarrow \left(\begin 1 & 0 & 9 & 2 & -1/3\\ 0 & 1 & -2 & 0 & -4/3 \end\right). $$

Матрица до черты стала единичной, метод Гаусса завершён. Общее решение найдено, осталось лишь записать его. Если вспомнить, что четвёртый столбец соответствует переменной $x_2$, а пятый столбец – переменной $x_4$, то получим:

Нами получено общее решение заданной СЛАУ. Чтобы найти базисное решение, нужно все свободные переменные приравнять к нулю. Т.е. полагая $x_2=0$ и $x_4=0$, будем иметь:

Решение $x_1=9$, $x_2=0$, $x_3=-2$, $x_4=0$ и является базисным решением данной СЛАУ. В принципе, задавая свободным переменным иные значения, можно получить иные частные решения данной системы. Таких частных решений бесконечное количество. Например, принимая $x_2=-4$ и $x_4=1$, получим такое частное решение: $\left\ <\begin& x_1=\frac<2><3>;\\ & x_2=-4;\\ & x_3=-\frac<10><3>;\\ & x_4=1. \end\right.$. Базисное решение, которые мы нашли ранее – лишь одно из бесконечного множества частных решений заданной СЛАУ.

Если есть желание, то полученное решение можно проверить. Например, подставляя $x_1=9+2x_2-\frac<1><3>x_4$ и $x_3=-2-\frac<4><3>x_4$ в левую часть первого уравнения, получим:

$$ 3x_1-6x_2+9x_3+13x_4=3\cdot \left(9+2x_2-\frac<1><3>x_4\right)-6x_2+9\cdot \left(-2-\frac<4><3>x_4\right)+13x_4=9. $$

Проверка первого уравнения увенчалась успехом; точно так же можно проверить второе и третье уравнения.

Если система является неопределённой, указать базисное решение.

Похожий пример уже был решен в теме «метод Крамера» (пример №4). Переменные $x_4$ и $x_5$ были перенесены в правые части, а дальше применялись стандартные операции метода Крамера. Однако такой метод решения не гарантирует достижения результата. Например, мы переносим некие переменные в правую часть, а оставшийся определитель оказывается равным нулю, – что тогда? Решать перебором? 🙂 Поэтому гораздо удобнее применять преобразования метода Гаусса, как и в предыдущем примере.

$$ \left( \begin 1 & -2 & 4 & 0 & 2 & 0\\ 4 & -11 & 21 & -2 & 3 & -1\\ -3 & 5 & -13 & -4 & 1 & -2 \end \right) \begin \phantom <0>\\ II-4\cdot I\\ III+3\cdot I\end \rightarrow \left( \begin 1 & -2 & 4 & 0 & 2 & 0\\ 0 & -3 & 5 & -2 & -5 & -1\\ 0 & -1 & -1 & -4 & 7 & -2 \end \right) \rightarrow \\ \rightarrow \left|\begin & \text<поменяем местами вторую и третью>\\ & \text<строки, чтобы диагональным элементом>\\ & \text <второй строки стало число (-1).>\end\right|\rightarrow \left( \begin 1 & -2 & 4 & 0 & 2 & 0\\ 0 & -1 & -1 & -4 & 7 & -2\\ 0 & -3 & 5 & -2 & -5 & -1 \end \right) \begin \phantom <0>\\ \phantom<0>\\ III-3\cdot I\end \rightarrow \\ \rightarrow \left( \begin 1 & -2 & 4 & 0 & 2 & 0\\ 0 & -1 & -1 & -4 & 7 & -2\\ 0 & 0 & 8 & 10 & -26 & 5 \end \right). $$

Матрица системы и расширенная матрица системы приведены к трапециевидной форме. Ранги этих матриц равны между собой и равны числу 3, т.е. $\rang A=\rang\widetilde = 3$. Так как ранги равны между собой и меньше, чем количество переменных, то согласно следствию из теоремы Кронекера-Капелли данная система имеет бесконечное количество решений.

Количество неизвестных $n=5$, ранги обеих матриц $r=3$, поэтому нужно выбрать три базисных переменных и $n-r=2$ свободных переменных. Применяя тот же метод «ступенек», что и в предыдущем примере, выберем в качестве базисных переменных $x_1$, $x_2$, $x_3$, а в качестве свободных переменных – $x_4$ и $x_5$.

Столбцы №4 и №5, которые соответствуют свободным переменным, перенесём за черту. После этого разделим третью строку на 8 и продолжим решение методом Гаусса:

$$ \left( \begin 1 & -2 & 4 & 0 & 0 & -2\\ 0 & -1 & -1 & -2 & 4 & -7\\ 0 & 0 & 8 & 5 & -10 & 26 \end \right) \begin \phantom <0>\\ \phantom<0>\\ III:8\end \rightarrow \left( \begin 1 & -2 & 4 & 0 & 0 & -2\\ 0 & -1 & -1 & -2 & 4 & -7\\ 0 & 0 & 1 & 5/8 & -5/4 & 13/4 \end \right) \begin I-4\cdot III \\ II+III\\ \phantom<0>\end \rightarrow \\ \left( \begin 1 & -2 & 0 & -5/2 & 5 & -15\\ 0 & -1 & 0 & -11/8 & 11/4 & -15/4\\ 0 & 0 & 1 & 5/8 & -5/4 & 13/4 \end \right) \begin \phantom <0>\\ II\cdot (-1)\\ \phantom<0>\end \rightarrow \left( \begin 1 & -2 & 0 & -5/2 & 5 & -15\\ 0 & 1 & 0 & 11/8 & -11/4 & 15/4\\ 0 & 0 & 1 & 5/8 & -5/4 & 13/4 \end \right) \begin I+2\cdot II \\ \phantom<0>\\ \phantom<0>\end \rightarrow\\ \rightarrow\left( \begin 1 & 0 & 0 & 1/4 & -1/2 & -15/2\\ 0 & 1 & 0 & 11/8 & -11/4 & 15/4\\ 0 & 0 & 1 & 5/8 & -5/4 & 13/4 \end \right) $$

Продолжение этой темы рассмотрим во второй части, где разберём ещё два примера с нахождением общего решения.

Линейное программирование — основные понятия с примерами решения

Содержание:

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

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

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

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

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

  1. выбор переменных задачи;
  2. составление системы ограничений;
  3. выбор целевой функции.

Переменными задачи называются величины

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

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

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

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

Данная запись означает следующее: найти экстремум целевой функции задачи и соответствующие ему переменные X = (). при условии, что эти переменные удовлетворяют системе ограничений и условиям неотрицательности.

Допустимым решением (планом) задачи линейного программирования называется любойX = (). удовлетворяющий системе ограничений и условиям неотрицательности. Множество допустимых решений (планов) задачи образует область допустимых решений.

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

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

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

Используя знак суммирования эту задачу можно записать следующим образом:

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

В данном случае введены векторы:

Здесь С — X — скалярное произведение векторов С и X.

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

Здесь А — матрица коэффициентов системы уравнений, X -матрица-столбец переменных задачи; — матрица-столбец правых частей системы ограничений.

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

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

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

прибавляется величина такая, что переводит неравенство в равенство , где:

Неотрицательная переменная называется дополнительной переменной.

Основания для возможности такого преобразования дает следующая теорема.

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

Доказательство. Пусть — решение неравенства. Тогда:

Если в уравнение вместо переменных подставить значения , получится:

Таким образом, решение удовлетворяет уравнению: и неравенству .

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

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

т.е. удовлетворяет неравенству: что и требовалось доказать.

Если в левую часть неравенств системы ограничений вида

добавить переменную , то получится система ограничений — уравнений В случае, если система неравенств-ограничений имеет вид , то из левой части неравенств-ограничений нужно вычесть соответствующую неотрицательную дополнительную переменную

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

Дополнительные переменные вводятся в целевую функцию с нулевыми коэффициентами и поэтому не влияют на ее значения.

В реальных практических задачах дополнительные неизвестные имеют определенный смысл. Например, если левая часть ограничений задачи отражает расход ресурсов на производство продукции в объемах , а правые части — наличие производственных ресурсов, то числовые значения дополнительных неизвестных и означают объем неиспользованных ресурсов i-го вида.

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

Множества допустимых решений

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

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

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

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

Граничные точки множества образуют его границу. Множество называется замкнутым, если оно содержит все свои граничные точки.

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

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

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

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

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

Теорема. Любая тонка многоугольника является выпуклой линейной комбинацией его угловых точек.

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

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

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

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

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

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

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

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

Базисным решением системы называется частное решение, в котором неосновные переменные имеют нулевые значения. Любая система уравнений имеет конечное число базисных решений, равное , где n — число неизвестных, r- ранг системы векторов условий. Базисные решения, координаты которых удовлетворяют условию неотрицательности, являются опорными.

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

Число отличных от нуля координат опорного решения не может превосходить ранга r системы векторов условий (т.е. числа линейно независимых уравнений системы ограничений).

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

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

Теорема. Любое опорное решение является угловой точкой области допустимых решений.

Теорема. Любая угловая точка области допустимых решений является опорным решением.

Пример:

Графический метод решения задачи линейной оптимизации рассмотрим на примере задачи производственного планирования при n = 2.

Предприятие изготавливает изделия двух видов А и В. Для производства изделий оно располагает сырьевыми ресурсами трех видов С, D и Е в объемах 600, 480 и 240 единиц соответственно. Нормы расхода ресурсов на единицу продукции каждого вида известны и представлены в табл. 14.1

Прибыль от реализации изделия А составляет 40 млн. руб., а изделия В — 50 млн.руб. Требуется найти объемы производства изделий А и В, обеспечивающие максимальную прибыль.

Построим математическую модель задачи, для чего обозначим — объемы производства изделий А и В соответственно.

Тогда прибыль предприятия от реализации изделий А и изделий В составит:

Ограничения по ресурсам будут иметь вид:

Естественно, объемы производства должны быть неотрицательными

Решение сформулированной задами найдем, используя геометрическую интерпретацию. Определим сначала многоугольник решений, для чего систему ограничений неравенств запишем в виде уравнений и пронумеруем их:

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

Чтобы построить первую прямую, найдем точки ее пересечения с осями координат: а при .

Далее нас интересует, по какую сторону от прямой будет находиться полуплоскость, соответствующая первому неравенству. Чтобы определить искомую полуплоскость, возьмем точку O(0,0) подставив ее координаты в неравенство, видим, что оно удовлетворяется. Так как точка O(0,0) лежит левее первой прямой, то и полуплоскость будет находиться левее прямой

. На рис 14 , расположение полуплоскости относительно первой прямой отмечено стрелками.

Аналогично построены 2-я и 3-я прямые и найдены полуплоскости, соответствующие 2-му и 3-му неравенству. Точки, удовлетворяющие ограничениям , находятся в первом квадранте. Множество точек, удовлетворяющих всем ограничениям одновременно, является ОДР системы ограничений. Такой областью на графике (рис. 14.1) является многоугольник ОАВС.

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

Чтобы найти эту точку, приравняем функцию к нулю и построим соответствующую ей прямую. Вектор-градиент прямой функции

имеет координаты

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

Решив эту систему, получаем, что

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

Алгоритм решения задачи линейного программирования графическим методом таков:

  1. Строится область допустимых решений;
  2. Строится вектор нормали к линии уровня с точкой приложении в начале координат;
  3. Перпендикулярно вектору нормали проводится одна из линий уровня, проходящая через начало координат;
  4. Линия уровня перемещается до положения опорной прямой. На этой прямой и будут находиться максимум или минимум функции.

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

На рис. 14.3 показан случай, когда прямая функции параллельна отрезку АВ, принадлежащему ОДР. Максимум функции Z достигается в точке А и в точке В, а, следовательно, и в любой точке отрезка АВ, т.к. эти точки могут быть выражены в виде линейной комбинации угловых точек А и В.

На рисунке 14.4 изображен случай, когда система ограничений образует неограниченное сверху множество. Функция Z в данном случае стремится к бесконечности, так как прямую функции можно передвигать в направлении вектора градиента как угодно далеко, а на рисунке 14.5 представлен случай несовместной системы ограничений.

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

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

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

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

Рассмотрим две разновидности симплексного метода: симплекс-метод с естественным базисом и симплекс-метод с искусственным базисом (или М-метод).

Симплекс-метод с естественным базисом

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

Для определенности предположим, что первые m векторов матрицы системы составляют единичную матрицу. Тогда очевиден первоначальный опорный план:

Проверка на оптимальность опорного плана проходит с помощью критерия оптимальности, переход к другому опорному плану — с помощью преобразований Жордана-Гаусса и с использованием критерия оптимальности.

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

Признак оптимальности заключается в следующих двух теоремах.

Теорема 1. Если для некоторого вектора, не входящего в базис, выполняется условие:

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

  1. если все координаты вектора, подлежащего вводу в базис, неположительны, то задача линейного программирования не имеет решения;
  2. если имеется хотя бы одна положительная координата у вектора, подлежащего вводу в базис, то можно получить новый опорный план.

Теорема 2. Если для всех векторов выполняется условие то полученный план является оптимальным.

На основании признака оптимальности в базис вводится вектор Ак, давший минимальную отрицательную величину симплекс-разности:

Чтобы выполнялось условие неотрицательности значений опорного плана, выводится из базиса вектор , который дает минимальное положительное отношение:

Строка называется направляющей, столбец и элемент направляющими (последний называют также разрешающим элементом).

Элементы вводимой строки, соответствующей направляющей строке, в новой симплекс-таблице вычисляются по формулам:

а элементы любой другой i-й строки пересчитываются по формулам:

Значения базисных переменных нового опорного плана (показатели графы «план») рассчитываются по формулам:

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

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

Для использования приведенной выше процедуры симплекс -метода к минимизации линейной формы следует искать максимум функции затем полученный максимум взять с противоположным знаком. Это и будет искомый минимум исходной задачи линейного программирования.

Симплексный метод с искусственным базисом (М-метод)

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

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

В полученной задаче первоначальный опорный план очевиден. При применении к этой задаче симплекс-метода оценки А, теперь будут зависеть от числа М. Для сравнения оценок нужно помнить, что М — достаточно большое положительное число, поэтому из базиса будут выводиться в первую очередь искусственные переменные.

В процессе решения M-задачи следует вычеркивать в симплекс-таблице искусственные векторы по мере их выхода из базиса. Если все искусственные векторы вышли из базиса, то получаем исходную задачу. Если оптимальное решение М-задачи содержит искусственные векторы или М-задача неразрешима, то исходная задача также неразрешима.

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

Теория двойственности

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

Любую задачу линейного программирования можно записать в виде:

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

Модель двойственной задачи имеет вид:

Переменные двойственной задачи называют объективно обусловленными оценками или двойственными оценками.

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

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

    Целевая функция исходной задачи формулируется на максимум, а целевая функция двойственной задачи — на минимум, при этом в задаче на максимум все неравенства в функциональных ограничениях имеют вид

При копировании любых материалов с сайта evkova.org обязательна активная ссылка на сайт www.evkova.org

Сайт создан коллективом преподавателей на некоммерческой основе для дополнительного образования молодежи

Сайт пишется, поддерживается и управляется коллективом преподавателей

Whatsapp и логотип whatsapp являются товарными знаками корпорации WhatsApp LLC.

Cайт носит информационный характер и ни при каких условиях не является публичной офертой, которая определяется положениями статьи 437 Гражданского кодекса РФ. Анна Евкова не оказывает никаких услуг.

Решение задач по математике онлайн

//mailru,yandex,google,vkontakte,odnoklassniki,instagram,wargaming,facebook,twitter,liveid,steam,soundcloud,lastfm, // echo( ‘

Калькулятор онлайн.
Решение систем линейных алгебраических уравнений (СЛАУ)
Метод Гаусса, матричный метод, метод Крамера, исследование на совместность (теорема Кронекера-Капелли), определение количества решений, нахождение нормальной фундаментальной системы решений.

С помощью данной математической программы вы можете решить и исследовать систему линейных алгебраических уравнений (СЛАУ).

Программа не только даёт ответ задачи, но и приводит подробное решение с пояснениями шагов решения.

Данная программа может быть полезна учащимся старших классов общеобразовательных школ при подготовке к контрольным работам и экзаменам, при проверке знаний перед ЕГЭ, родителям для контроля решения многих задач по математике и алгебре. А может быть вам слишком накладно нанимать репетитора или покупать новые учебники? Или вы просто хотите как можно быстрее сделать домашнее задание по математике или алгебре? В этом случае вы также можете воспользоваться нашими программами с подробным решением.

Таким образом вы можете проводить своё собственное обучение и/или обучение своих младших братьев или сестёр, при этом уровень образования в области решаемых задач повышается.

Ввод дробного числа в виде десятичной дроби.
При вводе десятичной дроби, целую часть от дробной части можно отделять точкой или запятой :
Ввод: -2.34
Результат: \( -2<,>34 \)

Ввод: -1,15
Результат: \( -1<,>15 \)

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

При вводе числовой дроби числитель отделяется от знаменателя знаком деления: /
Ввод: -2/3
Результат: $$ -\frac<2> <3>$$

Целая часть отделяется от дроби знаком амперсанд: &
Ввод: 5&8/3
Результат: $$ 5\frac<8> <3>$$
Помните, что на ноль делить нельзя!

RND CFracNum Fill RND int Fill Start MathJax
Сюда ввести строку с GET параметрами :

Немного теории.

Системы линейных алгебраических уравнений

Основные определения

Система \(m\) линейных алгебраических уравнений с \(n\) неизвестными (сокращенно СЛАУ) представляет собой систему вида
\( \left\< \begin a_<11>x_1 + a_<12>x_2 + \cdots + a_<1n>x_n = b_1 \\ a_<21>x_1 + a_<22>x_2 + \cdots + a_<2n>x_n = b_2 \\ \cdots \\ a_x_1 + a_x_2 + \cdots + a_x_n = b_m \end \right. \tag <1>\)

Уравнения системы называют алгебраическими потому, что левая часть каждого из них есть многочлен от \(n\) переменных \( x_1 , \ldots x_n \), а линейными потому, что эти многочлены имеют первую степень.

Числа \(a_ \in \mathbb \) называют коэффициентами СЛАУ. Их нумеруют двумя индексами: номером уравнения \(i\) и номером неизвестного \(j\). Действительные числа \( b_1 , \ldots b_m \) называют свободными членами уравнений.

СЛАУ называют однородной, если \( b_1 = b_2 = \ldots = b_m = 0 \). Иначе её называют неоднородной.

Решением СЛАУ, да и вообще всякой системы уравнений, называют такой набор значений неизвестных \( x_1^\circ, \ldots , x_n^\circ \), при подстановке которых каждое уравнение системы превращается в тождество. Любое конкретное решение СЛАУ также называют её частным решением.

Решить СЛАУ — значит решить две задачи:
— выяснить, имеет ли СЛАУ решения;
— найти все решения, если они существуют.

СЛАУ называют совместной, если она имеет какие-либо решения. В противном случае её называют несовместной. Однородная СЛАУ всегда совместна, поскольку нулевой набор значений её неизвестных всегда является решением.

Если СЛАУ (1) имеет решение, и притом единственное, то её называют определенной, а если решение неединственное — то неопределенной. При \(m=n\), т.е. когда количество уравнений совпадает с количеством неизвестных, СЛАУ называют квадратной.

Формы записи СЛАУ

Кроме координатной формы (1) записи СЛАУ часто используют и другие её представления.

Рассматривая коэффициенты \(a_\) СЛАУ при одном неизвестном \(x_j\) как элементы столбца, а \(x_j\) как коэффициент, на который умножается столбец, из (1) получаем новую форму записи СЛАУ:
\( \begin a_ <11>\\ a_ <21>\\ \vdots \\ a_ \end x_1 + \begin a_ <12>\\ a_ <22>\\ \vdots \\ a_ \end x_2 + \ldots + \begin a_ <1n>\\ a_ <2n>\\ \vdots \\ a_ \end x_n = \begin b_1 \\ b_2 \\ \vdots \\ b_m \end \)
или, обозначая столбцы соответственно \( a_1 , \ldots , a_n , b \),
\( x_1 a_1 + x_2 a_2 + \ldots + x_n a_n = b \tag <2>\)

Таким образом, решение СЛАУ (1) можно трактовать как представление столбца \(b\) в виде линейной комбинации столбцов \( a_1, \ldots, a_n \). Соотношение (2) называют векторной записью СЛАУ.

Поскольку \(A \;,\; X\) и \(B\) являются матрицами, то запись СЛАУ (1) в виде \(AX=B\) называют матричной. Если \(B=0\), то СЛАУ является однородной и в матричной записи имеет вид \(AX=0\).

Приведенные рассуждения показывают, что задачи :
а) решения СЛАУ (1)
б) представления столбца в виде линейной комбинации данных столбцов
в) решения матричных уравнений вида \(AX=B\)
являются просто различной формой записи одной и той же задачи.

Критерий совместности СЛАУ

«Триединство» форм записи СЛАУ позволяет легко получить критерий совместности СЛАУ. Напомним, что содержательный смысл это понятие имеет для неоднородных СЛАУ (однородные СЛАУ всегда совместны).

Матрицу
\( A = \begin a_ <11>& a_ <12>& \cdots & a_ <1n>\\ a_ <21>& a_ <22>& \cdots & a_ <2n>\\ \vdots & \vdots & \ddots & \vdots \\ a_ & a_ & \cdots & a_ \end \)
называют матрицей (коэффициентов) СЛАУ (1), а матрицу
\( (A|B) = \left( \begin a_ <11>& a_ <12>& \cdots & a_ <1n>& b_1 \\ a_ <21>& a_ <22>& \cdots & a_ <2n>& b_2 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ a_ & a_ & \cdots & a_ & b_m \end \right) \)
расширенной матрицей СЛАУ (1). Расширенная матрица полностью характеризует СЛАУ. Это означает, что по этой матрице однозначно (если сохранить обозначения для неизвестных) восстанавливается сама СЛАУ.

Теорема Кронекера-Капелли. Для совместности СЛАУ \(AX=B\) необходимо и достаточно, чтобы ранг её матрицы \(A\) был равен рангу её расширенной матрицы \( (A|B) \).

Формулы Крамера

Теорема. СЛАУ с квадратной невырожденной матрицей имеет решение, и притом единственное, которое определяется по формулам Крамера :
$$ x_i = \frac<\Delta_i> <|A|>\;,\quad i=\overline <1,n>\tag <3>$$
где \(\Delta_i\) — определитель матрицы, получающейся из матрицы \(A\) заменой \(i\)-го столбца на столбец свободных членов.

Следствие. Однородная СЛАУ с квадратной невырожденной матрицей имеет единственное решение — нулевое.

Если матрица СЛАУ не является квадратной невырожденной, то формулы Крамера не работают и приходится использовать другие методы нахождения решений.

Однородные системы

Теорема. Если столбцы \( X^<(1)>, X^<(2)>, \ldots , X^ <(s)>\) — решения однородной СЛАУ \(AX=0\), то любая их линейная комбинация также является решением этой системы.

Следствие. Если однородная СЛАУ имеет ненулевое решение, то она имеет бесконечно много решений.

Естественно попытаться найти такие решения \( X^<(1)>, \ldots , X^ <(s)>\) системы \(AX=0\), чтобы любое другое решение этой системы представлялось в виде их линейной комбинации и притом единственным образом. Оказывается, что это всегда возможно и приводит к следующему определению.

Определение. Любой набор из \(k=n-r\) линейно независимых столбцов, являющихся решениями однородной СЛАУ \(AX=0\), где \(n\) — количество неизвестных в системе, а \(r\) — ранг её матрицы \(A\), называют фундаментальной системой решений этой однородной СЛАУ.

При исследовании и решении однородных систем линейных алгебраических уравнений будем использовать следующую терминологию. Если в матрице \(A\) однородной СЛАУ \(AX=0\) фиксировать базисный минор, то ему соответствуют базисные столбцы и, следовательно, набор неизвестных, отвечающих этим столбцам. Указанные неизвестные называют базисными, или зависимыми, а остальные неизвестные — свободными, или независимыми.

Теорема. Пусть дана однородная СЛАУ \(AX=0\) с \(n\) неизвестными и \( \textA = r \). Тогда существует набор из \(k=n-r\) решений \( X^<(1)>, \ldots , X^ <(k)>\) этой СЛАУ, образующих фундаментальную систему решений.

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

Следствие. С помощью нормальной фундаментальной системы решений однородной СЛАУ множество всех решений можно описать формулой :
$$ X = c_1X^ <(1)>+ \ldots + c_kX^ <(k)>$$
где постоянные \( c_i \;, \quad i=\overline <1,k>\), принимают произвольные значения.

Следствие. Для существования ненулевого решения у однородной квадратной СЛАУ необходимо и достаточно, чтобы её матрица была вырождена.

Неоднородные системы

Рассмотрим произвольную СЛАУ \(AX=B\). Заменив столбец \(B\) свободных членов нулевым, получим однородную СЛАУ \(AX=0\), соответствующую неоднородной СЛАУ \(AX=B\). Справедливо следующее утверждение о структуре произвольного решения неоднородной СЛАУ.

Теорема. Пусть столбец \(X^\circ\) — некоторое решение СЛАУ \(AX=B\). Произвольный столбец \(X\) является решением этой СЛАУ тогда и только тогда, когда он имеет представление \(X = X^\circ + Y \), где \(Y\) — решение соответствующей однородной СЛАУ \(AY=0\).

Следствие. Пусть \(X’\) и \(X»\) — решения неоднородной системы \(AX=B\). Тогда их разность \( Y = X’ — X» \) является решением соответствующей однородной системы \(AY=0\).

Эта теорема сводит проблему решения СЛАУ к случаю однородной системы: чтобы описать все решения неоднородной СЛАУ, достаточно энать одно её решение (частное решение) и все решения соответствующей однородной СЛАУ.

Чтобы решить неоднородную систему, надо, во-первых, убедиться, что она совместна (например, по теореме Кронекера-Капелли), а во-вторых, найти частное решение \(X^\circ\) этой системы, чтобы свести её к однородной системе.

Теорема о структуре общего решения СЛАУ. Пусть \(X^\circ\) — частное решение СЛАУ \(AX=B\) и известна фундаментальная система решений \( X^<(1)>, \ldots , X^ <(k)>\) соответствующей однородной системы \(AX=0\). Тогда любое решение СЛАУ \(AX=B\) можно представить в виде $$ X = X^\circ + c_1 X^ <(1)>+ c_2 X^ <(2)>+ \ldots + c_k X^ <(k)>$$
где \( c_i \in \mathbb \;, \quad i=\overline <1,k>\).
Эту формулу называют общим решением СЛАУ.


источники:

http://www.evkova.org/linejnoe-programmirovanie

http://www.math-solution.ru/math-task/slau