Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
Обзор пакетов специального назначения | Учебники

Главная > Maple 15 > Обзор пакетов специального назначения


Обзор пакетов специального назначения

Обзор пакетов специального назначения

Пакет решения задач линейной оптимизации simplex
Обзор средств пакета
Задачи линейной оптимизации важны как в фундаментальных, так и в прикладных приложениях математики. В пакете simplex имеется небольшой, но достаточно представительный набор функций и определений для решения таких задач:
> with(simplex);
Warning, the protected names maximize and minimize have been redefined and unprotected
[basis, convexhull, cterm, deftne_zero, display, dual,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 — приведение заданной системы уравнений или неравенств к стандартной форме неравенств типа «меньше или равно».

Функции maximize и minimize
Главными из этих функций являются maximize и minimize, оптимизирующие задачу симплекс-методом. Они записываются в следующих формах:
maximize(f, С)
minimize(f, С)
maximize(f , С, vartype)
nrinimize(f , С, vartype)
maximize(f , С,vartype, ‘NewC’, ‘transform’)
m’inimize(f , C, vartype, ‘NewC’, ‘transform’)
Здесь f — линейное выражение, С — множество или список условий, vartype — необязательно задаваемый тип переменных NONNEGATIVE или UNRESTRICTED, NewC и transform — имена переменных, которым присваиваются соответственно оптимальное описание и переменные преобразования. Ниже даны^примеры применения этих функций:

Прочие функции пакета simplex
Функция basis(C) возвращает базис для системы линейных уравнений С. Например:
> basisC [ х — 2*z+w , z — 2*у — w ] );
[x,z]
Функция convexhull(ps) возвращает выпуклую оболочку множества точек ps:
> convexhum{[0,0],[l,l],[2,-l],[1,1/3],[1,1/2]}):
[[0,0],[2,-1],[1, 1]]
Для определения констант для системы линейных уравнений или неравенств служит функция cterm(C):
> cterm([2*х+у<=6.7*y-z-3-4]);
[6,7]
Функция define_zero(C) возвращает ближайшее ненулевое значение, зависящее от установки переменной Digits:

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

Функция dual(f, С, у) имеет следующие параметры: f — линейное выражение y, С  множество неравенств и у — имя. Эта функция возвращает сопряженное с f выражение:
> dual( x-y,{2*x+3*y<=5.3*x+6*y<=15},z);
115zl +5z2, {1_<3z1+2z2,-l_<6z1+3z2}
Функция feasible может быть задана в трех формах:
feasible(C)
feasible(C,vartype)
feasible(C,vartype,’NewC’,’Transform’)
Здесь параметр vartype может иметь значения NONNEGATIVE или UNRESTRICTED. Эта функция определяет систему как осуществимую или нет:
> feasible({2*x+3*y<-5, 3*x+6*y<«15}, NONNEGATIVE);
true
> feasib1e({2*x+3*y<-5, 3*х+б*у<—15}, NONNEGATIVE);
false
Если функция возвращает логическое значение true, то заданная система осуществима, а если false — неосуществима, то есть ни при каких значениях переменных не способна удовлетворить записанным неравенствам и равенствам. Функция pivot (С, х, eqn) конструирует новую систему с заданным главным элементом:

Функция pivoteqn(C, var) возвращает подсистему для заданного диагонального элемента С:
> pivoteqnC {_SL1 — 5-3*х-2*у. _SL2 — 4-2*х-2*у}. х );
[_SLl = 5-lx-2y]
Функция pivotvar(f, List) или pivotvar(f) возвращает список переменных, имеющих положительные коэффициенты в выражении для целевой функции:

Функция ratio(C, x) возвращает список отношений, задающих наиболее жесткие ограничения:

Функция setup может иметь три формы:
setup(C)
setup(C, NONNEGATIVE)
setup(C, NONNEGATIVE, ‘t’)
Она обеспечивает конструирование множества уравнений с переменными в левой части:

Последняя функция — standartlze(C) — конвертирует список уравнений (неравенств) в неравенства типа «меньше или равно»:
> standardize({2*x+3*y<-5.3*x+5*yl5});

{2х + Зу<5,Зх + 5у<15,-Зх-5у<-15}

Статьи по теме

Комментарии запрещены.