linopt
:: Transparent::phaseII_tableau
Запустите фазу два из 2-фазового симплексного алгоритма
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
linopt::Transparent::phaseII_tableau(tableau
)
linopt::Transparent::phaseII_tableau(tableau)
запускает вторую фазу симплексного алгоритма на данной симплексной таблице tableau
.
После явным образом запущенной первой фазы симплексного алгоритма (см. linopt::Transparent::phaseI_tableau
) отключенный с оптимальной таблицей со связанными затратами 0 и никакой фазой слабые переменные в основании (см. linopt::Transparent::clean_basis
) эта процедура может использоваться, чтобы запустить фазу II. Процедура устраняет все искусственные переменные фазы I и их связанных столбцов и повторно входит в старую целевую функцию, измененную для нового основания.
Первая симплексная таблица создается, и первая фаза симплексного алгоритма закончена:
t := linopt::Transparent([{x + y >= 2}, x, NonNegative]): t := linopt::Transparent::simplex( linopt::Transparent::phaseI_tableau(t))
Каждый видит, что искусственный слабый переменный slk[2] первой фазы удален linopt::Transparent::phaseII_tableau
. В этом примере не необходимо использовать linopt::Transparent::clean_basis
для очистки основания:
linopt::Transparent::phaseII_tableau(t)
delete t:
Снова первая симплексная таблица создается, и первая фаза симплексного алгоритма закончена:
t := linopt::Transparent([{x <= 1, y <= 1, x + y >= 2}, 0, NonNegative]): t := linopt::Transparent::phaseI_tableau(t): t := linopt::Transparent::simplex(t)
В этом примере искусственная слабая переменная slk[6]
является элементом оптимального основания. Таким образом, мы должны использовать linopt::Transparent::clean_basis
прежде, чем продолжить linopt::Transparent::phaseII_tableau
, в противном случае мы получим сообщение об ошибке:
linopt::Transparent::phaseII_tableau(t)
Error: Clean the basis from phase I slack variables first. [linopt::Transparent::phaseII_tableau]
t := linopt::Transparent::clean_basis(t): linopt::Transparent::phaseII_tableau(t)
delete 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.
linopt::Transparent
| linopt::Transparent::autostep
| linopt::Transparent::clean_basis
| linopt::Transparent::convert
| linopt::Transparent::dual_prices
| linopt::Transparent::phaseI_tableau
| linopt::Transparent::result
| linopt::Transparent::simplex
| linopt::Transparent::suggest
| linopt::Transparent::userstep