У меня есть семейство задач линейного программирования: максимизировать учетом , . Элементы , и являются неотрицательными целыми числами, строго положительными. ( также должен быть целым, но я буду беспокоиться об этом позже.)
В моем приложении часто случается, что коэффициенты и таковы, что упрощенный однопроходный алгоритм дает оптимальное решение для каждого выбора : однопроходный алгоритм определяет элементы в последовательности, выбирая каждый - максимально возможное значение, согласующееся с уже определенными значениями . В симплексном языке последовательность ввода переменных составляет от до и заканчивается через шагов. Это экономит много времени по сравнению с полнофункциональным симплексом.
Этот алгоритм работает, когда столбцы и элементы отсортированы от «дешевых» до «дорогих». «Дешевая» переменная - это столбец с обычно небольшими значениями, для которого соответствующий элемент большой: для этого элемента вы получаете много выходных данных с не очень большой нагрузкой на ограничение . Таким образом, алгоритм просто говорит «делай сначала простые вещи».
Мой вопрос: какое свойство и может заверить нас, что этот упрощенный алгоритм работает для всех ? Моя первоначальная гипотеза состояла в том, что ненулевые элементы должны увеличиваться в каждой строке, но это не правильно.
Вот несколько примеров, все с : , , , , Для всего этого последовательный алгоритм дает оптимальное решение для всех значений (путем численных экспериментов). это единственный, для которого все перестановки столбцов также работают. а также особенно сбивают с толку, так как выглядит дороже, чем а также дороже чем ,
Я был бы чрезвычайно признателен за любые ссылки на литературу, за любые подобные проблемы, или любые предложения вообще. Должны быть и другие случаи, когда некоторые переменные могут быть определены как «более дешевые», чем другие, и их можно безопасно сделать в первую очередь. Со всей работой, проделанной за линейное программирование на протяжении многих лет, кажется, что-то похожее должно было произойти, но я не смог найти это.