Иллюстрированный самоучитель по Maple 6/7

Пакет решения задач линейной оптимизации 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)

minimize(f, С, vartype)

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

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

Здесь f – линейное выражение, С – множество или список условий, vartype – необязательно задаваемый тип переменных NONNEGATIVE или UNRESTRICTED, NewC и transform – имена переменных, которым присваиваются соответственно оптимальное описание и переменные преобразования.

Ниже даны примеры применения этих функций:

Иллюстрированный самоучитель по Maple 6/7 › Обзор пакетов специального назначения › Пакет решения задач линейной оптимизации simplex

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.