Дайте пж совет)))!

Форум пользователей пакета Maple

Модератор: Admin

marina88
Сообщения: 6
Зарегистрирован: Пн дек 01, 2008 12:47 pm

Дайте пж совет)))!

Сообщение marina88 » Пн дек 01, 2008 1:13 pm

Здрасти!
Затрудняюсь решить задачу графическим методом:
Z=3x1+4x2-3x3+5x4+2x5->max(min)
у.о.
x1+x2-2x3-2x4+5x5=17
2x1+3x1-3x3+x4+5x5=40
2x1+4x2-5x3+3x4=36
xi>0, i=1..5
Подскажите, пожалуйста, как быть, если тут 5 переменных?

launcher
Сообщения: 66
Зарегистрирован: Ср дек 10, 2003 7:22 pm

Сообщение launcher » Сб дек 06, 2008 9:16 am

Если тут два задания, я насчет второго.
Там 1) записать расширенную матрицу, и 2) применить gausselim (или gaussjordan).

В результате: "базисные" переменные и "свободные" переменные.
Сейчас будет решение...

А к первому заданию по идее должна быть задана область. (Если это линейное программирование. --- Нахождение мин/макс целевой функции на области.)

launcher
Сообщения: 66
Зарегистрирован: Ср дек 10, 2003 7:22 pm

Сообщение launcher » Сб дек 06, 2008 9:58 am

Решаем "методом Жордана",
with(linalg, gaussjord, matrix);

v1 := matrix(3, 6, [1, 1, -2, -2, 5, 17, 2, 3, -3, 1, 5, 40, 2, 4, -5, 3, 0, 36]);

Матрица выглядит так: (расширенная, т. е. столбец свободных членов записан справа)

[1, 1, -2, -2, 5, 17]
[2, 3, -3, 1, 5, 40]
[2, 4, -5, 3, 0, 36]

Далее делаем жордановы преобразования (обязательно научись делать вручную; там самое главное один раз понять как это делается)

gausselim(v1, 1);

[1 1 -2 -2 5 17]
[0 1 1 5 -5 6]
[0 2 -1 7 -10 2]


gausselim(v1, 2);
[1 1 -2 -2 5 17]
[0 1 1 5 -5 6]
[0 0 -3 -3 0 -10]


gaussjord(v1, 3);
[1 0 0 -4 10 21 ]
[0 1 0 4 -5 8/3 ]
[0 0 1 1 0 10/3]


Всё, видим "единичную матрицу". Это базисные переменные, всё что дальше, это "свободные" переменные. Их переносим вправо и назначаем любые значения, по ним получаем "базисные".

Решение (где х1, х2 и х3 --- базисные):
x1 := 21 - 10*x5 + 4*x4;
x2 := 8/3 + 5*x5 - 4*x4;
x3 := 10/3 - x4;

Проверка, выберем любые свободные, найдем х1, х2 и х3 и подставим в любую строчку исходной системы, например, в первую:

subs(x4=.3, x5=1, x1+x2-2*x3-2*x4+5*x5);
17

Как видим, решение найдено правильно. ^^

marina88
Сообщения: 6
Зарегистрирован: Пн дек 01, 2008 12:47 pm

Сообщение marina88 » Пн дек 08, 2008 2:46 pm

launcher, большое спасибо за развёрнутый ответ! Дальше я уже поняла и смогу решить сама)))

marina88
Сообщения: 6
Зарегистрирован: Пн дек 01, 2008 12:47 pm

для справки

Сообщение marina88 » Пн дек 08, 2008 3:33 pm

.....x1, x2, x3 - базисные пн, по условию неотрицат., то есть
21 - 10*x5 + 4*x4>=0
8/3 + 5*x5 - 4*x4>=0
10/3 - x4>=0
Вот и область! А дальше уже всё понятно)))