не оно?
Спасибо, хорошая статья, но нет - не оно. Там всё больше о вырожденности базиса, и связанные с этим вопросы.
Мой вопрос - о снижении вычислительных затрат за счёт ограничения числа проверяемых симплекс-оценок.
Опытным путём я обнаружил, что определение разрешающего столбца по результатам проверки 10-20% от общего числа симплекс-оценок, почти не приводит к увеличению количества итераций, но существенно снижает вычислительные затраты, а как следствие - и общее время работы алгоритма. Но есть тонкость - положение проверяемого фрагмента от одной итерации к другой, должно всё время меняться по определённому алгоритму. Понятно, что если каждый раз проверять один и тот же фрагмент, результат будет плачевный.
Конечно, многое зависит от реализации алгоритма. На своём примере, я обнаружил, что выгодно дополнительное уменьшение размеров проверяемого фрагмента, вплоть до 10-20% от общего числа ограничений задачи (в моём случае, число ограничений намного меньше числа переменных). Число итераций при этом увеличивается в 1,5-2 раза, но за счёт снижения трудоёмкости одной итерации, получается дополнительный выигрыш производительности. Это лучшее, чего мне удалось добиться. Эта стратегия устойчиво работает на широком круге задач. К стати, если в задаче всего 10-20 ограничений, то выбор разрешающего столбца по первому попавшемуся отрицательному элементу, становится оптимальным. Однако, если число ограничений значительно больше, число итераций при этом подходе становится слишком большим, и предпочтительно проверять сразу несколько оценок.
Не могу не отметить, описанные в предоставленной Вами статье, альтернативные методы выбора разрешающего столбца: метод крутого ребра и метод Харрис, позволяющие дополнительно ускорить сходимость симплекс метода, по сравнению с традиционным методом Данцига. Ранее, я с ними встречался в книге Мутаф Б, но в этой статье они изложены понятнее. Но там не идёт речи ни о каком преждевременном прерывании - напротив, требуются дополнительные вычисления, которые как заявление компенсируются сокращением числа итераций. Уж не знаю как оно на самом деле, возможно, как нибудь проверю. Ведь эффективность всех этих приёмов очень сильно зависит от особенностей конкретных задач.