Задание 1. Найти общее решение системы линейных уравнений, используя пакет Maple.
1
2 
3
4 
5
6 
7
8 
9
10 
Задание 2. Решить задачу минимизации или максимизации функции с помощью
пакета Maple.
Пример:
Найти максимум функции
, где переменные
больше или равны нуля и удовлетворяют условиям:

Решение. Максимизация или минимизация функций, удовлетворяющих заданным условиям, выполняется командами maximize или minimize соответственно. Эти команды содержатся в библиотеке simplex, включающем функции линейного программирования.
Итак, сначала необходимо подключить библиотеку с помощью команды:
> with(simplex);
В результате на экран будет выведен список доступных функций пакета.
Далее, можно ввести функцию
и систему ограничений, накладываемых на значения переменных:
> Z:=2*x1+4*x2;

> eq:={-2*x1+3*x2<=12,x1+x2<=9,3*x1-2*x2<=12};

Формат команд максимизации и минимизации аналогичен:
maximize(f, C, vartype)
где f – целевая функция, C – множество ограничений, накладываемых на переменные, vartype – тип переменных (NONNEGATIVE – неотрицательные, UNRESTRICTED – могут принимать любые значения). Тогда, для вывода решения необходимо ввести команду:
> maximize(Z,eq,NONNEGATIVE);
Получен результат:

Программа выведет результат, если решение существует, и значение NULL в противном случае.
| Вариант | Задача | Вариант | Задача | |
| | |||
| | |||
| | |||
| | |||
| |
Задание 3. Построить математическую модель транспортной задачи (по критерию стоимости) в пакете Maple и решить ее с помощью функции minimize(). Вывести значение целевой функции на экран, если решение существует.
Пример. Пусть даны исходные данные задачи:
| |||
Решение. 1) Математическая модель задачи примет вид:
- целевая функция;
Система ограничений: расход всех запасов не должен превышать их количества, запросы должны быть удовлетворены:

2) Введем матрицу стоимостей с помощью команды matrix в программу:
> C:=matrix(3,3,[[1,3,2],[4,5,7],[6,8,15]]);

Здесь первый аргумент – число строк, второй – число столбцов, далее в квадратных скобках указаны значения элементов: списки элементов строк также взяты в скобки.
Доступ к элементу матрицы осуществляется в формате: имя матрицы (номер строки, номер столбца). Например:
> C[2,3];

3) Объявим матрицу неизвестных: количество перевозимого груза (команда print используется для вывода результат на экран):
> X:=matrix(3,3):print(X);

4) Введем матрицу запросов (в виде строки):
> B:=matrix(1,3,[20,40,40]);

5) Введем матрицу запасов (в виде столбца):
> A:=matrix(3,1,[20,30,50]);

6) Для того, чтобы ввести ограничения, сделаем несколько вспомогательных действий.
Подключим библиотеку, содержащую функции линейной алгебры:
> with(linalg):
Введем строку, содержащую единицы, число которых совпадает с количеством поставщиков:
> E1:=matrix(1,3,[1,1,1]);

Умножим эту строку на матрицу X:
> Y1:=(multiply(E1,X));

Введем строку, содержащую единицы, число которых совпадает с количеством потребителей (если число поставщиков и потребителей одинаково, можно использовать E1):
> E2:=matrix(1,3,[1,1,1]);

Транспонируем матрицу X и умножим результат на E2:
> X1:=transpose(X);Y2:=(multiply(E2,X1));


Введем ограничения, соответствующие математической модели:
> eq:={Y1[1]>=B[1,1],Y1[2]>=B[1,2],Y1[3]>=B[1,3],
Y2[1]<=A[1,1],Y2[2]<=A[2,1],Y2[3]<=A[3,1]};

7) Для ввода целевой функции, воспользуемся операцией строки матрицы C на столбец матрицы Х. Функции row (C, i) и col (C, j) извлекают строку i и столбец j из матрицы С соответственно:
> Z:=multiply(row(C,1),col(X1,1))+
multiply(row(C,2),col(X1,2))+multiply(row(C,3),col(X1,3));

8) Подключим библиотеку simplex:
> with(simplex):
9) Найдем значения переменных гарантирующие минимум целевой функции с учетом ограничений:
> Z1:=minimize(Z,eq, NONNEGATIVE);

10) Реализуем присвоение найденных значений переменных матрице Х с помощью команды assign и выведем на экран решение и значение целевой функции:
> Z1:=assign(Z1):print(X);Z;


Варианты задания
1.
| 2.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3.
| 4.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5.
| 6.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7.
| 8.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 9.
| 10.
|
Задание 4. Автомобильный завод выпускает микроавтобусы, грузовики и внедорожники, используя общий склад комплектующих деталей и узлов. С учетом ограниченности запаса комплектующих необходимо найти оптимальное соотношение объемов выпуска изделий, при котором прибыль от реализации будет максимальной. Следует учитывать уменьшение удельной прибыли при увеличении объемов производства в связи с дополнительными затратами на сбыт. Численные значения норм расхода и складские запасы комплектующих, а также цен на готовую продукцию взять из таблицы.
Пример. Обозначим за
искомые объемы производства микроавтобусов, грузовиков и внедорожников (переменные, по которым будем проводить оптимизацию), тогда целевая функция с учетом дополнительных затрат на сбыт примет вид:

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

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

Варианты задания
Исходные данные по вариантам заданы в таблице 1. Для изменения численных значений исходных данных в разных вариантах заданий введены параметры
. Значения параметров
для различных вариантов взять из таблицы 2. Интерпретировать результирующие данные, полученные в результате расчетов.
Таблица 1
Численные значения норм расхода и складские запасы комплектующих и
цены на готовую продукцию

Таблица 2
Варианты к практическому заданию

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