Читайте также: |
|
Доказательство сходимости обычно является наиболее трудной самостоятельной задачей, которая возникает при разработке любого алгоритма. Постараемся попять, чем это объясняется.
Мы убедились, что в процессе реализации симплекс-критериев I и II каждое последующее пробное решение оказывается допустимым, причем значение целевой функции при переходе от одного пробного решения к другому не ухудшается. Временно предположил, что на каждой итерации значение максимизируемой целевой функции строго возрастает. Одного этого предположения для доказательства сходимости ряда пробных значений к оптимальному за конечное число итераций недостаточно. Возрастание значения целевой функции при увеличении номера итерации может становиться все менее и менее значительным, и, что еще хуже, значение целевой функции может стремиться к пределу, лежащему ниже ее оптимального значения.
Однако мы можем опираться па другие (известные нам) характеристики рассматриваемого алгоритма. Как было показано, симплексный метод заключается в переходе от одного базисного решения к другому. Поскольку значения переменных для каждого пробного базиса определены однозначно, предположение относительно обязательного улучшения значения целевой функции при переходе от одного пробного варианта к другому исключает повторы в выборе пробных базисов. Число же базисных наборов ограничено и для n-мерной задачи с т ограничениями не может превышать число сочетаний из п по m, т. е. = n!/[n! (n— m)!].Следовательно, число итераций конечно, и решение, полученное на заключительной итерации, является оптимальным.
Можно ли считать доказанным, что сходимость всегда имеет место? К сожалению, нельзя. В предыдущем разделе наши рассуждения основывались на предположении, что при каждой очередной итерации значение целевой функции возрастает. Однако для многих линейных оптимизационных моделей увеличение значения целевой функции на некоторых итерациях приостанавливается. Это происходит следующим образом.
На одной из итераций при проверке по критерию II может обнаружиться, что среди всех отношений правых частей уравнений, задающих ограничения, к коэффициентам при новой базисной переменной наименьшее отношение равно нулю. (Такая ситуация может возникнуть в том случае, когда в результате включения в базис новой переменной на предыдущей итерации две или более двух переменных, входивших ранее в базис, обращаются в нуль. Таким образом, при рассматриваемой итерации значение по крайней мере одной базисной переменной оказывается равным нулю, т. е. базисное решение является вырожденным.) Отсюда следует, что новая базисная переменная принимает нулевое значение, а значения остальных переменных, так же как и значение целевой функции, не меняются. Реализация шага 4 впроцессе замены базиса с необходимостью приводит к изменению коэффициентов в строке 0. Поэтому на этапе использования критерия II на следующей итерации наименьшее из всех отношении указанного выше типа оказывается строго положительным. Однако вполне возможна новая задержка в возрастании значения целевой функции. Такие ситуации могут возникать неоднократно, причем не исключено, что на каком-то этапе мы придем к одному из предыдущих базисных решений. В этом случае вычислительный процесс оказывается «зацикленным» и сходимость отсутствует.
Таким образом, сходимость за конечное число итераций была бы доказанной, если бы строго положительное приращение значения целевой функции было обеспечено при всех итерациях без исключения. Чтобы успокоить читателя, сразу же заверим его в том. что проблема сходимости разрешима. Если воспользоваться несколько более сложным (по сравнению с применяемым здесь) математическим аппаратом, то можно показать, что симплексный метод при надлежащем обращении с ним оказывается в состоянии обеспечить строгое возрастание значения целевой функции. Чтобы доказать наличие сходимости, необходимо несколько пересмотреть критерий II, с тем чтобы устранить неоднозначность процедуры исключения переменной из базиса в случае, когда оказываются допустимыми различные варианты выбора. Кроме того, следует надлежащим образом уточнить, что понимать под «строгим возрастанием значения целевой функции».
Вырожденность базиса практически не влияет на число итераций, требуемое для нахождения решения задачи линейного программирования. Опыт показывает, что при решении большинства практических задач число итераций, необходимое для получения окончательного результата, лежит в пределах от 1,5 m до 3т, где т — число ограничении (Данная оценка справедлива лишь в том случае, если исходный базис содержит только свободные или искусственные переменные.)
Как было показано на примере, приведенном в разд. 4.4, одна из переменных (в упомянутой задаче x4) вначале была включена в базис, а затем из него выпала. Именно этим объясняется тот факт, что число итераций превышает число соотношений, задающих ограничения. Для развития интуитивного представления о том, что может произойти в процессе выполнения симплекс-итераций, полезно рассмотреть следующий пример:
3x-2y+4z+1u=-2,
3x-8z+1v=6,
15x-6y-12z+1w=222, (II)
1x+4z+1t=12,
x 0, y 0, z 0, u 0, v 0, w 0, t 0.
На рис. 4.8 показана последовательность пробных решений. Заметим, что при переходе от первоначального решения к следующему переменная t заменяется на z, а при переходе от четвертого пробного решения к пятому в последнем вместо z появляется t. Наконец, при переходе от шестого пробного решения к седьмому t снова заменяется на z. Переменная z в исходном варианте в базис не входит. Затем она становится базисной. После этого ее снова исключают из базиса. И наконец, переменная z опять оказывается в числе базисных. Переменная t вначале является базисной, потом выпадает из базиса, на следующей итерации вновь становится базисной, а затем выпадает из базиса окончательно. Обратим внимание также на то, что переменная x в третьем пробном решении заменяет v, а в шестом пробном варианте вместо х снова фигурирует v. И итоге после семи симплекс-итераций процесс сходимости завершается. (Следует отметить, что в данном случае значение целевой функции улучшается на каждой итерации.)Пытаясь доказать сходимость симплекс-процедуры за конечное число итераций, мы констатировали лишь принципиальную возможность зацикливания. Пока не было дано ни одного примера, когда зацикливание в случае неоднозначности выбора новых базисных переменных, обусловленной вырожденностью базиса, действительно имеет место. Ниже приводится пример, иллюстрирующий именно такую ситуацию. (Ее удалось «сфабриковать» чисто искусственным путем.)
Пробное решение(порядковый номер) | x | y | z | u | v | w | t |
Начальное | |||||||
1,5 | |||||||
1,5 | |||||||
Таблица 3.7. Пример медленной сходимости.
В этим примере используется следующее произвольным образом установленное правило выбора для критерия II. Вели из базиса подлежат исключению сразу две переменные, то предпочтение отдается переменной с меньшим значением индекса. Рассмотрим следующую задачу:
Максимизировать (III)
При ограничениях
x1-60 x2 - x3 +9 x4 + x5 =0
x1-90 x2 - x3 +3x4 + x6 =0(IV)
1x3+x7=1,
xj (j=1,2,…,7).
Последовательность пробных решений для данной модели показана в таблице 3.8.
Дата добавления: 2015-07-08; просмотров: 146 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
НОМИНАЦИЯ: ИНСТРУМЕНТАЛЬНАЯ МУЗЫКА | | | Введение |