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
возвращает последнюю оптимальную таблицу или пустое множество, если не было никакого выполнимого найденного решения.
Мы применяем 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:
Если первая фаза симплексного алгоритма была запущена явным образом, 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:
|
Симплексная таблица доменного типа |
Симплексная таблица доменного типа 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.