Чтение онлайн

на главную

Жанры

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

6.5.2. Обзор средств пакета simplex

В пакете simplex системы Maple имеется небольшой, но достаточно представительный набор функций и определений для решения задач линейной оптимизации и программирования:

> with(simplex);

Warning, the protected names maximize and minimize have been redefined

and unprotected

[basis, convexhull, cterm, define_zero, display, duial, feasible, maximize, minimize, pivot, pivoteqn, pivotvar, ratio, setup, standardize]

Приведем

краткое назначение этих функций:

• basis возврат списка основных переменных для множества линейных уравнений;

• convexhull — вычисление выпуклой оболочки для набора точек;

• cterm — задание констант для системы уравнений или неравенств;

• define_zero — определение наименьшего значения, принимаемого за ноль (по умолчанию увязано со значением системной переменной Digits);

• display — вывод системы уравнений или неравенств в матричной форме;

• dual — выдача сопряженных выражений;

• equality — параметр для функции convert, указывающая на эквивалентность;

• feasible — выяснение возможности решения заданной задачи:

• maximize — вычисление максимума функции;

• minimize — вычисление минимума функции;

• pivot — создание новой системы уравнений с заданным главным элементом;

• pivoteqn — выдача подсистемы уравнений для заданного главного элемента;

• pivotvar — выдача переменных с положительными коэффициентами в целевой функции;

• ratio — выдача отношений для определения наиболее жесткого ограничения;

• setup — задание системы линейных уравнений;

• standardize — приведение заданной системы уравнений или неравенств к стандартной форме неравенств типа «меньше или равно».

6.5.3. Переопределенные функции maximize и minimize

Главными из этих функций являются maximize и minimize, оптимизирующие задачу симплекс-методом. Они записываются в следующих формах:

maximize(f, С)

minimize(f, С)

minimize(f , С, vartype)

maximize(f , C, vartype)

maximize(f , C, vartype, 'NewC', 'transform')

minimize(f , C, vartype, 'NewC', 'transform')

Здесь f — линейное выражение, С — множество или список условий, vartype — необязательно задаваемый тип переменных NONNEGATIVE или UNRESTRICTED, NewC и transform — имена переменных, которым присваиваются соответственно оптимальное описание и переменные преобразования. Ниже даны примеры применения этих функций (файл simplex):

> restart:with(simplex):

Warning, the protected names maximize and minimize have been redefined and unprotected

> minimize(x+y, {4*x+3*y <= 5, 3*x+4*y <= 4}, NONNEGATIVE);

{y=0, x=0}

> minimize(x-y, {4*x+2*y <= 10, 3*x+4*y <= 16}, NONNEGATIVE, 'NC', 'vt');

{y=4, x=0}

> NC;vt;

> maximize(x+y, {4*x+2*y <= 10, 3*x+4*y <= 16}, NONNEGATIVE);

> maximize(x+y, {3*x+2*y <= 5, 2*x+4*y <=4});

> z := 2*x1 - x2 + 3*x3;

z := 2x1 - x2 + 3x3

> cnts1 := [x2+2*x3 <= 1, 2*x1-4*x2+6*x3 <= 3, -x1+3*x2+4*x3 <= 12];

cnts1 := [x2+2x3 ≤ 1, 2x1-4x2+6x3 ≤ 3, -x1+3x2+4x3 ≤ 12]

> sol1 := maximize(z,cnts1,NONNEGATIVE);

При использовании функций minimize и maximize надо не забывать, что это переопределенные функции — аналогичные по названию функции есть в ядре и они реализуют иные методы вычислений. Для возврата к исходному определению функций надо выполнить команду restart.

6.5.4. Прочие функции пакета simplex

Функция basis(C) возвращает базис для системы линейных уравнений С. Например:

> basis([х = 2*z+w, z = 2*y-w]);

[x, z]

Функция convexhull(ps) возвращает выпуклую оболочку множества точек ps. Например:

> convexhull({[0,0], [1,1], [2,-1], [1,1/3],[1,1/2]));

[[0, 0], [2, -1], [1, 1]]

Для определения констант для системы линейных уравнений или неравенств служит функция cterm(C):

> cterm([2*х+y<=6,7*y-z-3=4]);

[6, 7]

Функция define zero(C) возвращает ближайшее ненулевое значение, зависящее от установки переменной Digits:

> define_zero;

.1000000000 10– 7

> Digits:=40;

Digits := 40

> define_zero;

.1000000000000000000000000000000000000000 10– 37

> define_zero(1*10^(-10));

.1000000000000000000000000000000000000000 10– 9

Функция display(C) имеет еще и форму display(C,[x, у, z]). Она задает вывод линейных уравнений и неравенств в матричной форме:

> display({2*x+5*y-z<= 0, 2*w-4*y-z<=2});

Функция dual(f, С, у) имеет следующие параметры: f — линейное выражение, С — множество неравенств и у — имя. Эта функция возвращает сопряженное с f выражение:

> dual(х-y,{2*х+3*y<=5,3*х+6*y<=15}, z);

Поделиться:
Популярные книги

Бездомыш. Предземье

Рымин Андрей Олегович
3. К Вершине
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Бездомыш. Предземье

Фиктивный брак

Завгородняя Анна Александровна
Фантастика:
фэнтези
6.71
рейтинг книги
Фиктивный брак

Правила Барби

Аллен Селина
4. Элита Нью-Йорка
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Правила Барби

Чайлдфри

Тоцка Тала
Любовные романы:
современные любовные романы
6.51
рейтинг книги
Чайлдфри

Купеческая дочь замуж не желает

Шах Ольга
Фантастика:
фэнтези
6.89
рейтинг книги
Купеческая дочь замуж не желает

Идеальный мир для Социопата 13

Сапфир Олег
13. Социопат
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Идеальный мир для Социопата 13

Чемпион

Демиров Леонид
3. Мания крафта
Фантастика:
фэнтези
рпг
5.38
рейтинг книги
Чемпион

Курсант: Назад в СССР 10

Дамиров Рафаэль
10. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 10

Черный Маг Императора 4

Герда Александр
4. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 4

Мастер 3

Чащин Валерий
3. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 3

Кодекс Охотника. Книга XXV

Винокуров Юрий
25. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга XXV

Неудержимый. Книга XI

Боярский Андрей
11. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XI

Рядовой. Назад в СССР. Книга 1

Гаусс Максим
1. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Рядовой. Назад в СССР. Книга 1

Черный Маг Императора 9

Герда Александр
9. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 9