linopt:: Transparent::simplex

Закончите текущую фазу 2-фазового симплексного алгоритма

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

linopt::Transparent::simplex(tableau)

Описание

linopt::Transparent::simplex запускает текущую фазу 2-фазового симплексного алгоритма до конца, т.е. если фаза, я был явным образом запущен (см. linopt::Transparent::phaseI_tableau) первая фаза приведет оптимальную таблицу. Иногда может быть необходимо устранить некоторые слабые переменные фазы один при помощи linopt::Transparent::clean_basis.

Если не было никакой фазы, я начал пользователем, (linopt::Transparent)::simplex возвращает последнюю оптимальную таблицу или пустое множество, если не было никакого выполнимого найденного решения.

Примеры

Пример 1

Мы применяем linopt::Transparent::simplex к обычной симплексной таблице линейной программы, и мы получаем оптимальную таблицу:

k := [{x + y >= 2}, x, NonNegative]:    
t := linopt::Transparent(k);
t := linopt::Transparent::simplex(t)

Давайте проверим полученный результат:

linopt::Transparent::suggest(t)

delete k, t:

Пример 2

Если первая фаза симплексного алгоритма была запущена явным образом, linopt::Transparent::simplex возвращает только оптимальную таблицу первой фазы:

k := [{x + y >= 2}, y, NonNegative]:    
t := linopt::Transparent(k):
t := linopt::Transparent::phaseI_tableau(t);
t := linopt::Transparent::simplex(t)

Следующий шаг симплексного алгоритма вычисляется:

linopt::Transparent::suggest(t)

С linopt::Transparent::autostep мы выполняем первый шаг второй фазы симплексного алгоритма. Каждый видит, что симплексный алгоритм еще не закончен:

t := linopt::Transparent::autostep(t):
linopt::Transparent::suggest(t);

Если мы затем применяем linopt::Transparent::simplex снова, мы получаем оптимальное решение. Здесь мы не делаем должен был использовать linopt::Transparent::clean_basis, перед использованием linopt::Transparent::autostep, потому что нет никаких искусственных переменных в основании, вычисленном первым вызовом linopt::Transparent::simplex выше:

t := linopt::Transparent::simplex(t);
linopt::Transparent::suggest(t)

delete k, t:

Параметры

tableau

Симплексная таблица доменного типа linopt::Transparent

Возвращаемые значения

Симплексная таблица доменного типа linopt::Transparent или пустое множество, если не было никакого выполнимого найденного решения.

Ссылки

Papadimitriou, Christos H; Steiglitz, Кеннет: комбинаторная оптимизация; алгоритмы и сложность. Prentice Hall, 1982.

Nemhauser, Джордж Л; Wolsey, Лоуренс А: целочисленная и комбинаторная оптимизация. Нью-Йорк, Вайли, 1988.

Салкин, Харви М; Mathur, Kamlesh: основы целочисленного программирования. Северная Голландия, 1989.

Нейман, Клаус; Morlock, Мартин: исследование операций. Мюнхен, Hanser, 1993.

Duerr, Уолтер; Kleibohm, Клаус: Исследование операций; Lineare Modelle und ihre Anwendungen. Мюнхен, Hanser, 1992.

Зуль, Уве Х: MOPS - математическая система оптимизации. Европейский журнал исследования операций 72 (1994) 312-322. Северная Голландия, 1994.

Зуль, Уве Х; Сзыманский, Ральф: обработка суперузла смешанных целочисленных моделей. Бостон, Kluwer академические издатели, 1994.