Решение задач линейного программирования.
Copyright © Semestr.RU

Переход к КЗЛП.
F(X) = 3x1 + 8x2 → max при ограничениях:
10x1 + 70x2≤570
20x1 + 50x2≤420
300x1 + 400x2≤5600
200x1 + 100x2≤3400
Для приведения ЗЛП к канонической форме необходимо:
10x1 + 70x2 + 1x3 + 0x4 + 0x5 + 0x6 = 570
20x1 + 50x2 + 0x3 + 1x4 + 0x5 + 0x6 = 420
300x1 + 400x2 + 0x3 + 0x4 + 1x5 + 0x6 = 5600
200x1 + 100x2 + 0x3 + 0x4 + 0x5 + 1x6 = 3400
F(X) = 3x1 + 8x2
Переход к СЗЛП.
Расширенная матрица системы ограничений-равенств данной задачи:

Поскольку в системе имеется единичная матрица, то в качестве базисных переменных принимаем X = (3,4,5,6).
Соответствующие уравнения имеют вид:
10x1 + 70x2 + x3 = 570
20x1 + 50x2 + x4 = 420
300x1 + 400x2 + x5 = 5600
200x1 + 100x2 + x6 = 3400
Выразим базисные переменные через остальные:
x3 = - 10x1 - 70x2+570
x4 = - 20x1 - 50x2+420
x5 = - 300x1 - 400x2+5600
x6 = - 200x1 - 100x2+3400
Подставим их в целевую функцию:
F(X) = 3x1 + 8x2
или
F(X) = 3x1 + 8x2 → max
Система неравенств:
- 10x1 - 70x2+570 ≥ 0
- 20x1 - 50x2+420 ≥ 0
- 300x1 - 400x2+5600 ≥ 0
- 200x1 - 100x2+3400 ≥ 0
Приводим систему неравенств к следующему виду:
10x1 + 70x2 ≤ 570
20x1 + 50x2 ≤ 420
300x1 + 400x2 ≤ 5600
200x1 + 100x2 ≤ 3400
F(X) = 3x1 + 8x2 → max
Упростим систему.
10x1 + 70x2 ≤ 570
20x1 + 50x2 ≤ 420
300x1 + 400x2 ≤ 5600
200x1 + 100x2 ≤ 3400
F(X) = 3x1 + 8x2 → max
Решим прямую задачу линейного программирования  симплекс-методом..
Определим максимальное значение целевой функции F(X) = 3x1 + 8x2 при следующих условиях-ограничений.
10x1 + 70x2≤570
20x1 + 50x2≤420
300x1 + 400x2≤5600
200x1 + 100x2≤3400
Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме).
10x1 + 70x2 + 1x3 + 0x4 + 0x5 + 0x6 = 570
20x1 + 50x2 + 0x3 + 1x4 + 0x5 + 0x6 = 420
300x1 + 400x2 + 0x3 + 0x4 + 1x5 + 0x6 = 5600
200x1 + 100x2 + 0x3 + 0x4 + 0x5 + 1x6 = 3400
Введем новую переменную x0 = 3x1 + 8x2.
Выразим базисные переменные <3, 4, 5, 6> через небазисные.
x0 = 0+3x1+8x2
x3 = 570-10x1-70x2
x4 = 420-20x1-50x2
x5 = 5600-300x1-400x2
x6 = 3400-200x1-100x2
Переходим к основному алгоритму симплекс-метода.
Поскольку задача решается на максимум, то переменную для включения в текущий план выбирают по максимальному положительному числу в уравнении для x0.
max(3,8,0,0,0,0) = 8
x0 = 0+3x1+8x2
x3 = 570-10x1-70x2
x4 = 420-20x1-50x2
x5 = 5600-300x1-400x2
x6 = 3400-200x1-100x2
В качестве новой переменной выбираем x2.
Вычислим значения Di по всем уравнениям для этой переменной: bi / ai2
и из них выберем наименьшее:
Вместо переменной x3 в план войдет переменная x2.
Выразим переменную x2 через x3
и подставим во все выражения.
После приведения всех подобных, получаем новую систему, эквивалентную прежней:
x0 = 456/7+13/7x1-4/35x3
x2 = 57/7-1/7x1-1/70x3
x4 = 90/7-90/7x1+5/7x3
x5 = 16400/7-1700/7x1+40/7x3
x6 = 18100/7-1300/7x1+10/7x3
Полагая небазисные переменные x = (2, 4, 5, 6) равными нулю, получим новый допустимый вектор и значение целевой функции:
x = (-13/7, 0, 4/35, 0, 0, 0), x0 = 456/7
max(13/7,0,-4/35,0,0,0) = 13/7
x0 = 456/7+13/7x1-4/35x3
x2 = 57/7-1/7x1-1/70x3
x4 = 90/7-90/7x1+5/7x3
x5 = 16400/7-1700/7x1+40/7x3
x6 = 18100/7-1300/7x1+10/7x3
В качестве новой переменной выбираем x1.
Вычислим значения Di по всем уравнениям для этой переменной: bi / ai1
и из них выберем наименьшее:
Вместо переменной x4 в план войдет переменная x1.
Выразим переменную x1 через x4
и подставим во все выражения.
После приведения всех подобных, получаем новую систему, эквивалентную прежней:
x0 = 67-1/90x3-13/90x4
x2 = 8-1/45x3+1/90x4
x1 = 1+1/18x3-7/90x4
x5 = 2100-70/9x3+170/9x4
x6 = 2400-80/9x3+130/9x4
Полагая небазисные переменные x = (2, 1, 5, 6) равными нулю, получим новый допустимый вектор и значение целевой функции:
x = (0, 0, 1/90, 13/90, 0, 0), x0 = 67
Выражение для x0 не содержит положительных элементов. Найден оптимальный план.
Окончательный вариант системы уравнений:
x0 = 67-1/90x3-13/90x4
x2 = 8-1/45x3+1/90x4
x1 = 1+1/18x3-7/90x4
x5 = 2100-70/9x3+170/9x4
x6 = 2400-80/9x3+130/9x4
Оптимальный план можно записать так:
x2 = 8
x1 = 1
x5 = 2100
x6 = 2400
F(X) = 67
Возвращаемся к системе уравнения в СЗЛП.
x3 = - 10x1 - 70x2+570
x4 = - 20x1 - 50x2+420
x5 = - 300x1 - 400x2+5600
x6 = - 200x1 - 100x2+3400
Подставим в них найденные переменные.
x3 = -10*1 -70*8 + 570 = 0
x4 = -20*1 -50*8 + 420 = 0
x5 = -300*1 -400*8 + 5600 = 2100
x6 = -200*1 -100*8 + 3400 = 2400

Решение было получено и оформлено с помощью сервиса:
Решение задач линейного программирования
Вместе с этой задачей решают также:
Графический метод решения задач линейного программирования
Двойственный симплекс-метод
Двойственная задача линейного программирования
Метод Гомори
Транспортная задача
Copyright © Semestr.RU