Компьютерное моделирование задач оптимизации. Мироновский Л.А - 34 стр.

UptoLike

Рубрика: 

34
еивтсйеД
x
1
x
2
x
3
x
4
x
5
2+ x
5
сизаБ
b
i
c\
i
00 3/40 3/8
5.0 x
5
x
2
0801 3/20 3/2
8/3 x
5
x
4
5100 4/11 2/1
3/4
x
1
06106/50 3/4
Повторяем цикл (последняя итерация).
Шаг 1. Проверяем, все ли с
0,i
³ 0. Теперь это так. Следовательно,
решение получено.
Оптимальным базисом является (x
1
, x
2
, x
4
), Оптимальное ре
шение задачи в канонической форме имеет вид (x
1
, x
2
, x
3
, x
4
, x
5
)=
= (60, 80, 0, 15, 0).
Таким образом, решение исходной задачи имеет вид
(x
1
, x
2
) = (60, 80).
2. РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
В MATLAB И MAPLE
В пакете MATLAB задачи линейного программирования решают с
помощью функции linprog. В простейшем случае у нее три входных
параметра: linprog(ñ, A, b). В этом случае решается задача минимиза
ции выражения с
T
x при условии Ax£ b (сравнение производится по
всем строкам), т. е. задача представлена в форме (1).
Поясним ее применение на примере задачи о выпуске стульев (при
мер 2), указывая в качестве аргументов матрицы A, b, c (3).
>>X=linprog(-[8; 12],[2 4;0.5 0.25;2 2.5],[440;65;320])
Optimization terminated successfully.
X= 60.0000
80.0000
По условиям задачи требовалось найти максимум, поэтому, что
бы свести задачу к поиску минимума, первый параметр взят с коэф
фициентом –1. Мы получили то же решение, что и графическим спо
собом – максимальная прибыль будет получена, если выпустить 60
стульев первого типа и 80 стульев второго типа.
У команды linprog есть несколько вариантов вызова, благодаря
чему с ее помощью можно решать задачи линейного программирова
ния, заданные в любой форме, в том числе и в канонической (2).