Инструментальные средства математического моделирования. Учебное пособие
.pdf
9.1.Постановка задачи
II.Задача (9.1) не разрешима:
>restart: with(simplex):
>maximize( x+2*y, {x+ 3*y >= 3, 2*x + y >= 4},
UNRESTRICTED);
Из последнего примера видно, что команда maximize не выполняетдиагностикунекорректногослучая,несмотрянанеограниченность сверху целевой функции в области допустимых решений.
Не диагностируется также случай, когда G – область допустимых решений пуста, т. е. ограничения несовместны (последний оператор ниже):
> maximize( x+2*y, {4*x+ 2*y <= 5, 3*x + y >= 6},NONNEGATIVE);
{}
> maximize( x+2*y, {4*x+ 2*y <= 5, 3*x + y >= 6},UNRESTRICTED);
x = |
7 |
, y = |
–9 |
|
|
||
2 |
5 |
Опишем вспомогательные команды рассматриваемого пакета: cterm(cond) – функция, возвращающая в (упорядоченной по возрастанию) форме значения правых частей системы линейных ограничений (при представлении ограничений в приведенной форме как условия типа равенства и (или) неравенства), задаваемых аргументом функции и типизированных как множество или
список.
> fn:=x+2*y: cond:={x+2*y-6<=0, x-y-1<=2};
cond:={x + 2y – 6 ≤ 0,x–y–1 ≤ 2}
> cterm(cond);
{3,6}
> maximize(fn,cond union {x>=0,y>=0});
{y = 1, x = 4}.
81
9. Решение задач линейного программирования
display(cond ) – функция, визуализирующая матричную запись системы линейных ограничений в приведенной форме (в виде условий типа равенства и (или) неравенства)
> display( cond );
|
|
|
|
|
1 |
|
2 |
|
|
x |
≤ |
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
1 |
|
–1 |
|
|
y |
|
|
|
|
3 |
|
|
|
|
|
> solve(cond,{x,y}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
{x – y – 3 ≤ 0,x + 2y – 6 ≤ 0, x ≤ 4} |
|
|
|
|
||||||||||||||
> maximize(fn,cond, NONNEGATIVE,’NC’); |
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
{y = 1, x = 4} |
|
|
|
|
|
|
|
|
|||||
> NC; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
x 2 |
|
_SL2 + 4 |
– |
1 |
|
_SL1 y = |
1 |
|
_SL1 + 1+ |
|
_SL2 |
|||||||||
|
|
|
3 |
|||||||||||||||||
=– 3 |
|
|
3 |
|
, – |
3 |
|
|
|
|
|
|||||||||
Видно, что пакет simplexобладает несомненной универсальностью применительно к решению регулярных задач линейного программирования, но не позволяет диагностировать вырожденные нерегулярные случаи, когда решение не существует.
Контрольные вопросы
1.Укажите, какие случаи, с точки зрения существования и единственности, возможны при решении задач линейного программирования (ЗЛП).
2.Опишите функциональный состав пакета simplex решения ЗЛП.
3.Назовите команды, решающие задачи линейной условной оптимизации.
4.Какую задачу решает функция maximize?
5.Укажите параметры и опции функции minimize.
6.Для чего используется команда cterm?
7.Назовите команду, визуализирующую матричную запись системы линейных ограничений ЗЛП.
8.Что определяют значения NONNEGATIVE или UNRE-
STRICTED, которые может принимать одна из опций команд линейной оптимизации maximize и minimize?
82
Проектные задания
Проектные задания
Раздел 6.
1.Перечислите основные пакеты расширений Maple V.
2.Приведите название пакетов по линейной алгебре.
3.Какие задачи решает пакет DETools?
4.Назовите пакет, необходимый для решения задач оптимизации.
5.При решении каких задач используется пакет geometry?
6.Для чего используется пакет plots?
Раздел 7.
1.Опишите основные структурные элементы пакета linalg.
2.Для решения каких задач предназначена функция linsolve?
3.Перечислите основные команды пакета linearalgebra.
4.Назовите команду, вычисляющую обратную матрицу.
5.Какую задачу решает функция rank?
Раздел 8.
1.Способы задания матриц и векторов с помощью функций пакета.
2.Опишите применение функций matrix, vector.
3.Назовите параметры функций angle, dotprod, crossprod.
4.Приведите пример использования команды grad.
5.Функции transpose, det, minor, inverse.
Раздел 9.
1.Укажите, какие случаи, с точки зрения существования и единственности, возможны при решении задач линейного программирования (ЗЛП).
2.Опишите функциональный состав пакета simplex решения ЗЛП.
3.Назовите команды, решающие задачи линейной условной оптимизации.
83
9.Решение задач линейного программирования
4.Укажите предназначение функций maximize и minimize,
атакже их параметры и опции.
Диагностико-квалиметрическое обеспечение модуля 2
Второй модуль посвящен инструментальным средствам расширения функциональных возможностей ядра процессора Maple V. Подробно рассматриваются пакеты линейной алгебры и необходимый для решения задач линейного программирования пакет simplex, имеющий важнейшее прикладное значение. Приводятся функции этих пакетов, правила обращения к командам, задания параметров и опций, повышающих эффективность результатов их использования. Рассматривается большое число примеров применения изучаемых функций.
Тест рубежного контроля
1. Пакет linalg используется для:
a. Решения задач линейного программирования;
b. Решения задач линейной оптимизации, оперирующий с линейными формами;
c. Решения задач линейной алгебры, оперирующей с данными в виде массивов;
d. Решения задач булевой алгебры.
2. Команда with(simplex) выполняет:
a. Вызов симплекс-таблицы процессора Excel;
b. Вычисления координат крайних точек линейного симплекса;
c. Вызов симплекс-метода;
d. Вызов пакета решения задач линейного программирования симплекс-методом.
3. Функция linsolve используется для:
a. Линейной интерполяции точечных данных;
b. Решения системы линейных алгебраических уравнений; c. Решения задачи линейной оптимизации;
d. Создания графика линейной функции.
4. Команда dotprod:
a. Определяет скалярное произведение векторов;
84
Тест рубежного контроля
b.Выполняет целочисленное деление;
c.Находит определитель матрицы;
d.Выводит точечные значения функции;
5.Функция Determinant используется для: a. Вычисления нормы вектора;
b. Определения размерности матрицы; c. Построения диагональной матрицы; d. Вычисления определителя матрицы.
6.Команда умножения матриц имеет вид: a. gausselim;
b. multiply; c. implicit; d. dotprod.
7.Для решения задачи линейного программирования можно
использовать функцию:
a.transpose;
b.simplex;
c.implicit;
d.maximize.
8.Пакет LinearAlgebra базируется на операциях с данными, представленными в:
a. Строковой форме; b. Матричной форме;
c. Полиномиальной форме; d. Графической форме.
9.Команда вычисления обратной матрицы имеет вид:
a.adjoint;
b.fsolve;
c.inverse;
d.crossprod.
10. Функция grad используется для:
a.Градуировки осей координат;
b.Построения графика по точечным данным;
c.Вычисления дифференциала линейной формы;
d.Нахождения градиента функции.
85
9. Решение задач линейного программирования
Критерии оценки
Все представленные тестовые задания имеют одинаковую сложность. Верный ответ на каждый из них оценивается в 5 балов.
Максимальная оценка по модулю – 50 баллов. Причем «неудовлетворительно»: 0–25; «удовлетворительно»: 26–34; «хорошо»: 35–42; «отлично»: 43–50 баллов.
86
Правильные ответы к тестам (ключ)
Модуль 1 |
№ задания |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
|
|
Правильный |
a |
c |
b |
a |
a |
d |
c |
d |
|
|
|
ответ |
|
|
|
|
|
|
|
|
|
|
Модуль 2 |
№ задания |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
Правильный |
c |
d |
b |
a |
d |
b |
d |
b |
c |
d |
|
ответ |
|
|
|
|
|
|
|
|
|
|
87
ЛИТЕРАТУРА
Использованная литература
1. Дьяконов В. П. Maple 6: учебный курс: учеб. для вузов. – СПб.: Питер, 2001. – 612 с.
2. Манзон Б. М. Maple V Power Edition. – М: Информационно-
издательский дом Филинъ, 1998.
3. Говорухин В. Н., Цибулин В. Г. Компьютер в математическом исследо-
вании: Maple, MATLAB, LaTeX. – СПб.: Питер, 2001.
4. Аладьев В. З. Основы программирования в Maple: монография. – Тал-
лин, 2006. – 302 с.
5. Дьяконов В. П. Maple 9.5/10 в математике, физике, образовании: монография. – М.: Солон-Пресс, 2006. – 720 с.
6. http://www.exponenta.ru/educat/news/edvards/index.asp.
7. Золотарев А. А., Золотарева Л. И. Пакеты программ математического моделирования: учебное пособие. – Ростов н/Д: Изд. центр ДГТУ, 2009. – 84 с.
Рекомендуемая литература
1. Дьяконов В. П. Maple 9 в математике, физике и образовании. – М.: СОЛОН-Пресс, 2004.
2. Алексеев Е. Р. Решение задач вычислительной математики в пакетах
Mathcad 12, MATLAB 7, Maple 9: монография. – М.: НТ Пресс, 2006. – 496 с.
3. Аладьев В. З. Системы компьютерной алгебры. Maple: Искусство программирования. Бином. – Лаборатория знаний, 2006.
4. http://www.math.rsu.ru/mexmat/kvm/MME/courses/maple.
5. Васильев А. Н. Maple 8. Самоучитель.– М.: Диалектика; Вильямс, 2003.
6. Сирота А. А. Компьютерное моделирование и оценка эффективности сложных систем: монография. – М.: Техносфера, 2006. – 279 с.
88
Содержание
ВВЕДЕНИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 ОБЩИЕ ПОЛОЖЕНИЯ. . . . . . . . . . . . . . . . . . . . . . . . . 5
МОДУЛЬ 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
|
. 6 |
|
1. |
ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС СИСТЕМЫ Maple . . . . . . . . . |
|
. 6 |
|
1.1. Управление видом интерфейса. . . . . . . . . . . . . . . . . . |
. |
7 |
|
1.2. Работа с окнами. . . . . . . . . . . . . . . . . . . . . . . . |
. |
8 |
|
1.3. Файловые операции . . . . . . . . . . . . . . . . . . . . . . |
. 10 |
|
2. |
ТИПЫ ДАННЫХ. ВСТРОЕННЫЕ ОПЕРАТОРЫ И ФУНКЦИИ. . . . . . |
. 12 |
|
|
2.1. Типы данных. . . . . . . . . . . . . . . . . . . . . . . . . |
. 12 |
|
|
2.2. Операторы и операнды. . . . . . . . . . . . . . . . . . . . . |
. 16 |
|
|
2.3. Математические функции . . . . . . . . . . . . . . . . . . . . |
|
18 |
3. |
ТИПОВЫЕ СРЕДСТВА ПРОГРАММИРОВАНИЯ. . . . . . . . . . . . |
. 21 |
|
|
3.1. Функции пользователя. . . . . . . . . . . . . . . . . . . . . |
. 21 |
|
|
3.2. Условные выражения. . . . . . . . . . . . . . . . . . . . . . |
|
22 |
3.3.Циклы. . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.СРЕДСТВА МАТЕМАТИЧЕСКОГО АНАЛИЗА. . . . . . . . . . . . . . 26
4.1.Вычисление производных и пределов. . . . . . . . . . . . . . . . 26
4.2. |
Вычисление интегралов. . . . . . . . . . . . . . . . . . . . . |
28 |
4.3. |
Решение уравнений и неравенств . . . . . . . . . . . . . . . . . |
31 |
5.СИМВОЛЬНЫЕ ОПЕРАЦИИ. . . . . . . . . . . . . . . . . . . . . 36
5.1.Основные операции с выражениями. . . . . . . . . . . . . . . . 36
5.2. |
Преобразования и подстановки. . . . . . . . . . . . . . . . . . |
37 |
5.3. |
Упрощение выражений . . . . . . . . . . . . . . . . . . . . . |
39 |
ПРОЕКТНЫЕ ЗАДАНИЯ. . . . . . . . . . . . . . . . . . . . . . . 40
Диагностико-квалиметрическое обеспечение модуля 1 . . . . . . . . . . . 41
ТЕСТ РУБЕЖНОГО КОНТРОЛЯ . . . . . . . . . . . . . . . . . . . . 42 МОДУЛЬ 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.РАСШИРЕННЫЕ СРЕДСТВА СРЕДЫ Maple V . . . . . . . . . . . . . 44
6.1.Особенности использования математических процессоров. . . . . . . 44
6.2. Перечень пакетов расширения Maple V. . . . . . . . . . . . . . . 45
7.ОБРАЩЕНИЕ К ПАКEТАМ ЛИНЕЙНОЙ АЛГЕБРЫ . . . . . . . . . . . 52
7.1.Вызов пакета linalg и его основных команд . . . . . . . . . . . . . 52
7.2.Функции основных команд linalg . . . . . . . . . . . . . . . . . 52
7.3. Обращение к пакету LinearAlgebra . . . . . . . . . . |
. . . . . . . 57 |
8. ТЕХНОЛОГИИ РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОЙ АЛГЕБРЫ |
|
В СРЕДЕ Maple V. . . . . . . . . . . . . . . . . . . |
. . . . . . . 59 |
8.1. Решение систем линейных уравнений. . . . . . . . . . . . . . . . |
. . . . . . . . . . . . . . 59 |
8.2. Манипуляции с векторами. . . . . . . . . . . . . |
. . . . . . . 64 |
8.3. Основные операторы дифференциальной геометрии. . . |
. . . . . . . 67 |
8.4. Манипуляции с матрицами. . . . . . . . . . . . . |
. . . . . . . 70 |
9. РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ. |
. . . . . . . 78 |
9.1. Постановка задачи . . . . . . . . . . . . . . . . |
. . . . . . . 78 |
9.2. Особенности применения пакета simplex . . . . . . . |
. . . . . . . 79 |
ПРОЕКТНЫЕ ЗАДАНИЯ. . . . . . . . . . . . . . . . |
. . . . . . . 83 |
Диагностико-квалиметрическое обеспечение модуля 2 . . . . |
. . . . . . . 84 |
ТЕСТ РУБЕЖНОГО КОНТРОЛЯ . . . . . . . . . . . . . |
. . . . . . . 84 |
Правильные ответы к тестам (ключ). . . . . . . . |
. . . . . . . 87 |
ЛИТЕРАТУРА. . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
89
Учебное издание
Золотарев Александр Арсениевич, Бычков Андрей Александрович, Золотарева Лариса Игоревна, Корнюхин Александр Петрович
Инструментальные средства математического моделирования
редактор Н. Н. Кадомцева Корректор М. С. Украинский
компьютерная верстка Н. Н. Однораленко дизайнер обложки А. В. Киреев
Сдано в набор 12.05.11. Подписано в печать 20.06.2011. Формат 60 × 84 1/16 . Бумага офсетная. Гарнитура Школьная. Печать офсетная. Усл. печ. л. 5,2. Уч.-изд. л. 4,4.
Тираж 500 экз. (I завод – 100 экз.). Заказ № 1836.
Издательство Южного федерального университета.
Отпечатано в типографии ЮФУ. 344090, г. Ростов-на-Дону, пр. Стачки, 200/1.
Тел. (863) 247-80-51.
