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 и их связанных столбцов и повторно входит в старую целевую функцию, измененную для нового основания.

Примеры

Пример 1

Первая симплексная таблица создается, и первая фаза симплексного алгоритма закончена:

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:

Пример 2

Снова первая симплексная таблица создается, и первая фаза симплексного алгоритма закончена:

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:

Параметры

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.