Тема №16.Решение задач линейного программирования

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

Т.о. применение симплекс-метода распадается на 2 этапа:

- нахождение допустимого базисного решения системы ограничений;

- нахождение оптимального решения.

Задача об использовании сырья

Для изготовления шкафов и буфетов деревообрабатывающий завод применяет древесину 4 видов. Запасы древесины по каждому виду ограничены и составляют соответственно 120, 160, 120, 80 единиц.

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

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

Решение:

Составим математическую модель. Пусть Тема №16.Решение задач линейного программирования - student2.ru и Тема №16.Решение задач линейного программирования - student2.ru - количество шкафов и буфетов, запланированных к производству. Т.к. количество древесины ограничено по каждому виду, то должны выполняться неравенства:

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru

Целевая функция (линейная форма), выражающая прибыль имеет вид Тема №16.Решение задач линейного программирования - student2.ru

Задача сводится к нахождению max функций F при заданных ограничениях.

Сведем систему ограничений неравенств к системе уравнений, прибавив к левой части каждого неравенства добавочные неотрицательные переменные Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

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

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru (i=1,6)

Необходимо найти такое допустимое базисное решение этой системы ограничений, которое бы максимизировало минимальную форму Тема №16.Решение задач линейного программирования - student2.ru .

Т.к. система состоит из 4-х независимых уравнений с 6-ю переменными, то число основных переменных должно равняться 4, а число неосновных - 2.

Нужно найти любое базисное решение. Для этого достаточно взять в качестве основных добавочные переменные Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru . Т.к. коэффициент при этих переменных образуют единичную матрицу, то отпадает необходимость проверять определитель. Полагая Тема №16.Решение задач линейного программирования - student2.ru , получим базисное решение. (0;0;120;160;120;80), оно оказалось и допустимым. Переходим ко 2-му этапу симплекс-метода.

I. Основные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru

В системе выразим основные переменные через неосновные. Линейную форму тоже выразим через неосновные переменные.

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru

При Тема №16.Решение задач линейного программирования - student2.ru имеет Тема №16.Решение задач линейного программирования - student2.ru , что совпадает с базисным решением (0;0;120;160;120;80). При этом базисном решении Тема №16.Решение задач линейного программирования - student2.ru .

Когда мы полагаем Тема №16.Решение задач линейного программирования - student2.ru (завод ничего не выпускает) была поставлена цель - найти первые, безразлично какое, базисное решение. Цель достигнута. Теперь необходимо перейти к другому решению, при котором значение F увеличится.

Из линейной формы видно, что ее значение увеличивается при увеличении Тема №16.Решение задач линейного программирования - student2.ru и Тема №16.Решение задач линейного программирования - student2.ru их невыгодно считать неосновными. Их нужноперевести в число основных. Это означает переход к новому базисному решению. При симплекс-методе на каждом шаге предполагается перевод в число основных только одной из свободных переменных.

Переведем в число основных Тема №16.Решение задач линейного программирования - student2.ru , т.к. коэффициент при ней больше, но тогда в число неосновных тоже необходимо перевести переменную.

Значение Тема №16.Решение задач линейного программирования - student2.ru необходимо сделать, как можно большим. Однако, оказывается, что увеличение Тема №16.Решение задач линейного программирования - student2.ru может продолжаться только до известных границ. Так из 1-го уравнения системы следует, что Тема №16.Решение задач линейного программирования - student2.ru , т.к. только при этих значениях Тема №16.Решение задач линейного программирования - student2.ru остается положительной. Из 3-го уравнения системы следует, что Тема №16.Решение задач линейного программирования - student2.ru , т.к. только при этих значениях Тема №16.Решение задач линейного программирования - student2.ru остается положительным. Из 4-го следует Тема №16.Решение задач линейного программирования - student2.ru , т.к. только при этих значениях Тема №16.Решение задач линейного программирования - student2.ru положительно. Всем этим условиям удовлетворяет Тема №16.Решение задач линейного программирования - student2.ru - это I уравнение системы.

Т.о. для ответа на вопрос, какую переменную нужно перевести в число неосновных, нужно принять Тема №16.Решение задач линейного программирования - student2.ru , при этом значение Тема №16.Решение задач линейного программирования - student2.ru и следовательно Тема №16.Решение задач линейного программирования - student2.ru переходит в число неосновных, а Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru остаются положительными.

II Основные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные переменные : Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Выразим основные переменные и линейную форму через неосновные. В системе берем то уравнение, из которого получено минимальное значение отношения свободного члена к коэффициенту при Тема №16.Решение задач линейного программирования - student2.ru .

В данном случае это I уравнение системы

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru

При Тема №16.Решение задач линейного программирования - student2.ru F=90. Это уже лучше, но не искомый max, т.к. F можно еще увеличить за счет Тема №16.Решение задач линейного программирования - student2.ru . Переводим Тема №16.Решение задач линейного программирования - student2.ru в число основных и определяем какую переменную перевести в неосновные. Находим Тема №16.Решение задач линейного программирования - student2.ru , тогда Тема №16.Решение задач линейного программирования - student2.ru и Тема №16.Решение задач линейного программирования - student2.ru переходит в число неосновных - это последнее уравнение системы.

III Основные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Выражаем основные переменные через линейную форму через неосновные, начиная с последнего уравнения (т.к. оно дало min Тема №16.Решение задач линейного программирования - student2.ru ).

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru

Из вида линейной формы следует, что ее max значение еще не получено, т.к. возможно ее увеличение за счет Тема №16.Решение задач линейного программирования - student2.ru .

Находим Тема №16.Решение задач линейного программирования - student2.ru

Получим 2 положения, которые необходимо разъяснить:

1) Тема №16.Решение задач линейного программирования - student2.ru входит в выражение для Тема №16.Решение задач линейного программирования - student2.ru (I уравнение), но имеет положительный коэффициент, следовательно, при любом возрастании Тема №16.Решение задач линейного программирования - student2.ru переменная Тема №16.Решение задач линейного программирования - student2.ru не может стать отрицательной, следовательно, никаких ограничений на возрастание Тема №16.Решение задач линейного программирования - student2.ru не накладывается, поэтому будем писать Тема №16.Решение задач линейного программирования - student2.ru .

2) Получились 2 минимальных значения, равные 40.

Если Тема №16.Решение задач линейного программирования - student2.ru =40, то Тема №16.Решение задач линейного программирования - student2.ru и Тема №16.Решение задач линейного программирования - student2.ru .

Но обе переменные нельзя переводить в число неосновных, но число основных не должно быть <4-х. Тогда одну переменную оставляют в числе основных ( Тема №16.Решение задач линейного программирования - student2.ru ) и считают ее значение =0, т.е. базисное решение оказывается вырожденным. А другую переводят в число неосновных ( Тема №16.Решение задач линейного программирования - student2.ru ) (последнее уравнение).

IV Основные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Выражаем основные переменные и линейную форму через неосновные (начиная с последнего уравнения).

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru

Т.к. Тема №16.Решение задач линейного программирования - student2.ru и Тема №16.Решение задач линейного программирования - student2.ru входят в линейную форму с отрицательным коэффициентом, следовательно, больше не достигнуть.

Отсутствие на каком-то шаге симплекс-метода в выражении линейной формы F, максимум которой ищется, неосновных переменных с

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

Итак, оптимальным служит решение (план) (40;20;40;0;0;0) при котором Fmax=140, следовательно, для получения наибольшей прибыли, равной 140 ден.ед., из данных запасов древесины завод должен изготовить 40 шкафов, 20 буфетов. При этом древесина 2,3,4 видов окажутся, использована полностью, а 40 единиц древесины 1 вида останутся неизрасходованными.

II

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

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

Тема №16.Решение задач линейного программирования - student2.ru

Тогда базисное решение Тема №16.Решение задач линейного программирования - student2.ru . Пусть это решение недопустимое, тогда необходимо перейти к допустимому решению, причем необязательно, что переход получится за 1 шаг.

Пусть отрицательным является свободный член i-го уравнения Тема №16.Решение задач линейного программирования - student2.ru , т.е. основная переменная Тема №16.Решение задач линейного программирования - student2.ru в этом базисном решении отрицательна.

Для перехода к новому базисному решению необходимо решить 2 вопроса:

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

2) выбрать переменную, которую из основных следует перевести в неосновные.

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

Вернемся к i-му уравнению системы Тема №16.Решение задач линейного программирования - student2.ru , где Тема №16.Решение задач линейного программирования - student2.ru .

Переменная Тема №16.Решение задач линейного программирования - student2.ru возрастает при возрастании тех неосновных переменных, коэффициенты которых в этом уравнении положительны Тема №16.Решение задач линейного программирования - student2.ru в основные можно переводить те неосновные переменные, которые в уравнении системы с отрицательным свободным членом имеют положительные коэффициенты.

Может быть 3 случая:

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

2. В i-ом уравнении имеется одна переменная, коэффициент которой положителен, а а значит именно эта переменная переводится в основные.

3. В i-ом уравнении имеется несколько переменных с положительными коэффициентами. В этом случае в основные можно переводить любые переменные.

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

Уравнение, из которого получено наименьшее отношение - выделяют. Выделенное уравнение показывают, какая из основных переменных должна быть переведена в неосновные. Выразив новые основные переменные через неосновные, переходят к следующему базисному решению. Если в выделенном уравнении свободный член отрицателен, то в новом базисном решении число отрицательных компонентов окажется меньше на 1, чем в исходном. Если же в выделенном уравнении свободный член положителен (или =0), то в новом базисном решении отрицательных компонентов останется столько же. Итак, получили новое базисное решение. Если оно недопустимо, то к нему применяют ту же схему. В результате через конечное число шагов получится допустимое решение. Только после этого переходят к оптимизации, что уже было рассмотрено.

Задача. Найти max Тема №16.Решение задач линейного программирования - student2.ru при ограничениях:

Тема №16.Решение задач линейного программирования - student2.ru

Введем добавочные неотрицательные переменные

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru (i=1,6)

I Основные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Выражаем основные через неосновные

Тема №16.Решение задач линейного программирования - student2.ru

Базисное решение (0;0;-2;-4;2;6) не является допустимым. Рассматриваем уравнения с отрицательными свободными членами. В основные можно перевести Тема №16.Решение задач линейного программирования - student2.ru и Тема №16.Решение задач линейного программирования - student2.ru , т.к. коэффициенты при них положительны и при увеличении Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru будут увеличиваться. Переведем в основные Тема №16.Решение задач линейного программирования - student2.ru . Теперь встает вопрос: какую переменную переводить в неосновные. Для этого находим отношения свободных членов к коэффициентам при Тема №16.Решение задач линейного программирования - student2.ru .

Тема №16.Решение задач линейного программирования - student2.ru =2 - третье уравнение системы, следовательно, в неосновные переводим Тема №16.Решение задач линейного программирования - student2.ru , но онаположительна в исходном базисном решении, а значит улучшений не получили.

Переведем в основные Тема №16.Решение задач линейного программирования - student2.ru . Находим отношения Тема №16.Решение задач линейного программирования - student2.ru - первое уравнение - в неосновные переводим Тема №16.Решение задач линейного программирования - student2.ru , которое в исходном базисном решении отрицательно.

II Основные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Тема №16.Решение задач линейного программирования - student2.ru

Базисное решение (0;1;0;-3;3;5) опять не является допустимым, но результат улучшился.

Рассмотрим уравнение с открытым свободным членом. В основные можно перевести Тема №16.Решение задач линейного программирования - student2.ru и Тема №16.Решение задач линейного программирования - student2.ru . Переведем в основные Тема №16.Решение задач линейного программирования - student2.ru . Найдем Тема №16.Решение задач линейного программирования - student2.ru - второе уравнение, значит в неосновные переводим Тема №16.Решение задач линейного программирования - student2.ru .

III Основные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Тема №16.Решение задач линейного программирования - student2.ru

Базисное решение (2;2;0;0;2;4) - допустимое. Теперь можно приступить к оптимизации. Выражаем линейную форму через неосновные переменные Тема №16.Решение задач линейного программирования - student2.ru - это решение неоптимально, т.к. его можно увеличить за счет Тема №16.Решение задач линейного программирования - student2.ru и Тема №16.Решение задач линейного программирования - student2.ru .

Переведем в основные Тема №16.Решение задач линейного программирования - student2.ru , имеющий больший коэффициент. Находим Тема №16.Решение задач линейного программирования - student2.ru - третье уравнение - в неосновные переводим Тема №16.Решение задач линейного программирования - student2.ru .

IV Основные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru

Базисное решение (6;4;0;6;0;2) не является оптимальным, т.к. F можно увеличить за счет Тема №16.Решение задач линейного программирования - student2.ru . Переводим Тема №16.Решение задач линейного программирования - student2.ru в основные, находим Тема №16.Решение задач линейного программирования - student2.ru - последнее уравнение, следовательно, Тема №16.Решение задач линейного программирования - student2.ru переводим в неосновные.

V Основные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru

Критерий оптимальности выполнен Тема №16.Решение задач линейного программирования - student2.ru базисное решение (8;6;2;10;0;0) является оптимальным, а Fmax=20.

III

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

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

Виды материалов Цена единицы материала Количество отдельных компонентов входящих в состав материалов
j N
c m Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru … … … … Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru
Необходимое количество компонентов в смеси Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru

Тема №16.Решение задач линейного программирования - student2.ru показывают количество j-ой компоненты в единицы i-го материала.

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

Обозначим через Тема №16.Решение задач линейного программирования - student2.ru количество материала i-го вида, входящего в смесь. Тогда задача сведется к отысканию min функции: Тема №16.Решение задач линейного программирования - student2.ru , при ограничениях:

Тема №16.Решение задач линейного программирования - student2.ru

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

Задача. При откорме свиней необходимо, чтобы каждая свинья получала ежедневно не менее 6 ед.вещества К, 8 ед.вещества L и 12 ед.вещества М (это могут быть жиры, белки, углеводы). Для откорма можно закупить 3 вида кормов: I, II, III (например картофель, жмых и комбикорм).

Вид корма Вещества Стоимость ед. корма
K L M
I
II
III 1,5 2,5

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

Пусть Тема №16.Решение задач линейного программирования - student2.ru - количество единиц соответственно I, II, III видов корма. Требуется найти min линейной формы Тема №16.Решение задач линейного программирования - student2.ru , при ограничениях:

Тема №16.Решение задач линейного программирования - student2.ru

Ведем добавочные неотрицательные переменные Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Тема №16.Решение задач линейного программирования - student2.ru

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

(0;0;0;-6;-8;-12), которое является недопустимым. Поэтому используем симплекс-метод для перехода к новому базисному решению.

I Основные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Выразим основные через неосновные.

Тема №16.Решение задач линейного программирования - student2.ru

Переведем в основные Тема №16.Решение задач линейного программирования - student2.ru , тогда Тема №16.Решение задач линейного программирования - student2.ru при Тема №16.Решение задач линейного программирования - student2.ru =3 получаем Тема №16.Решение задач линейного программирования - student2.ru =0 Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru переходит в неосновные.

II Основные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Выражаем Тема №16.Решение задач линейного программирования - student2.ru из выделенного уравнения и подставляем в остальные

Тема №16.Решение задач линейного программирования - student2.ru

Базисное решение (3;0;0;0;-5;-3) уже лучше, чем на I шаге. Переведем в основные Тема №16.Решение задач линейного программирования - student2.ru , тогда Тема №16.Решение задач линейного программирования - student2.ru , при Тема №16.Решение задач линейного программирования - student2.ru =2 имеем Тема №16.Решение задач линейного программирования - student2.ru =0 Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru переводим в неосновные.

III Основные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Выражаем из выделенного уравнения Тема №16.Решение задач линейного программирования - student2.ru и подставляем в остальные уравнения.

Тема №16.Решение задач линейного программирования - student2.ru

Базисное решение (4;0;0;2;-4;0) еще улучшилось. Переводим в основные Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru в неосновные Тема №16.Решение задач линейного программирования - student2.ru .

IV Основные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Выражаем, подставляем, имеем:

Тема №16.Решение задач линейного программирования - student2.ru

Получено базисное решение (8;0;0;10;0;12) является допустимым и первый этап симплекс-метода закончен. Переходим ко 2 этапу, будем искать оптимальное решение.

Выразим линейную форму Тема №16.Решение задач линейного программирования - student2.ru через неосновные переменные.

Тема №16.Решение задач линейного программирования - student2.ru .

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

Переведем в основные Тема №16.Решение задач линейного программирования - student2.ru , тогда Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru переходит в неосновные.

V Основные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Выражаем, составляем, имеем:

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru

Переводим в основные Тема №16.Решение задач линейного программирования - student2.ru , тогда Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru переводим в неосновные (при Тема №16.Решение задач линейного программирования - student2.ru =8/9 имеем Тема №16.Решение задач линейного программирования - student2.ru =0).

VI Основные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru

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

Т.о. оптимальным служит решение (0;10/3;8/9;0;0;28/9), при этом Тема №16.Решение задач линейного программирования - student2.ru д.ед.

Итак, чтобы обеспечить наиболее дешевый рацион питания, нужно в основном покупать самый дорогой корм II вида, корма III вида нужно закупать почти в 4 раза меньше, а корм I вида, хотя самый дешевый, но невыгодный. При этом оптимальном решении будут обеспечены нормы веществ K и L, а вещества М окажется на 28/9 ед. больше нормы.

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

Рассмотрим частные случаи, когда эти условия нарушаются.

Пример1. Найти Тема №16.Решение задач линейного программирования - student2.ru , при ограничениях

Тема №16.Решение задач линейного программирования - student2.ru

Введем добавочные переменные

Тема №16.Решение задач линейного программирования - student2.ru (i=1,4)

Если взять за основные Тема №16.Решение задач линейного программирования - student2.ru и Тема №16.Решение задач линейного программирования - student2.ru , то исходное базисное решение (0;0;9;2) допустимое.

I Основные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru (=0)

Переведем Тема №16.Решение задач линейного программирования - student2.ru в основные, тогда Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru переводим в неосновные.

II Основные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные переменные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru

Из вида линейной формы следует, что Тема №16.Решение задач линейного программирования - student2.ru необходимо перевести в основные, тогда Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru может возрастать неограниченно ( Тема №16.Решение задач линейного программирования - student2.ru и Тема №16.Решение задач линейного программирования - student2.ru не станут при этом отрицательными) значит и функция F также неограниченно может возрастать, а значит Тема №16.Решение задач линейного программирования - student2.ru

Пример2. Найти максимум Тема №16.Решение задач линейного программирования - student2.ru при ограничениях

Тема №16.Решение задач линейного программирования - student2.ru

Введем добавочные неотрицательные переменные

Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru (j=1,5)

Переменные Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru - основные, тогда базисное решение недопустимое (0;0;-9;-2;8). Используем симплекс-метод для нахождения допустимого базисного решения.

I Основные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Тема №16.Решение задач линейного программирования - student2.ru

Переводим Тема №16.Решение задач линейного программирования - student2.ru в основные, тогда Тема №16.Решение задач линейного программирования - student2.ru Тема №16.Решение задач линейного программирования - student2.ru переводим в неосновные

II Основные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Неосновные: Тема №16.Решение задач линейного программирования - student2.ru , Тема №16.Решение задач линейного программирования - student2.ru .

Тема №16.Решение задач линейного программирования - student2.ru

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

Пример 3. Найти Тема №16.Решение задач линейного программирования - student2.ru при ограничениях

Наши рекомендации