Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мат методы.docx
Скачиваний:
4
Добавлен:
17.09.2019
Размер:
153.84 Кб
Скачать

Свойство сходимости.

Доказательство сходимости обычно является наиболее трудной самостоятельной задачей, которая возникает при разработке любого алгоритма. Постараемся попять, чем это объясняется.

Мы убедились, что в процессе реализации симплекс-критериев I и II каждое последующее пробное решение оказывается допустимым, причем значение целевой функции при переходе от одного пробного решения к другому не ухудшается. Временно предположил, что на каждой итерации значение максимизируемой целевой функции строго возрастает. Одного этого предположения для доказательства сходимости ряда пробных значений к оптимальному за конечное число итераций недостаточно. Возрастание значения целевой функции при увеличении номера итерации может становиться все менее и менее значительным, и, что еще хуже, значение целевой функции может стремиться к пределу, лежащему ниже ее оптимального значения.

Однако мы можем опираться па другие (известные нам) харак­теристики рассматриваемого алгоритма. Как было показано, сим­плексный метод заключается в переходе от одного базисного решения к другому. Поскольку значения переменных для каждого пробного базиса определены однозначно, предположение относительно обяза­тельного улучшения значения целевой функции при переходе от одно­го пробного варианта к другому исключает повторы в выборе проб­ных базисов. Число же базисных наборов ограничено и для n-мерной задачи с т ограничениями не может превышать число сочетаний из п по m, т. е. = n!/[n! (n— m)!].Следовательно, число итераций конечно, и решение, полученное на заключительной итерации, является оптимальным.

Можно ли считать доказанным, что сходимость всегда имеет место? К сожалению, нельзя. В предыдущем разделе наши рассужде­ния основывались на предположении, что при каждой очередной итерации значение целевой функции возрастает. Однако для многих линейных оптимизационных моделей увеличение значения целевой функции на некоторых итерациях приостанавливается. Это проис­ходит следующим образом.

На одной из итераций при проверке по критерию II может обна­ружиться, что среди всех отношений правых частей уравнений, задающих ограничения, к коэффициентам при новой базисной переменной наименьшее отношение равно нулю. (Такая ситуация может возникнуть в том случае, когда в результате включения в базис новой переменной на предыдущей итерации две или более двух переменных, входивших ранее в базис, обращаются в нуль. Таким образом, при рассматриваемой итерации значение по край­ней мере одной базисной переменной оказывается равным нулю, т. е. базисное решение является вырожденным.) Отсюда следует, что новая базисная переменная принимает нулевое значение, а зна­чения остальных переменных, так же как и значение целевой функ­ции, не меняются. Реализация шага 4 впроцессе замены базиса с необходимостью приводит к изменению коэффициентов в строке 0. Поэтому на этапе использования критерия II на следующей итера­ции наименьшее из всех отношении указанного выше типа оказывает­ся строго положительным. Однако вполне возможна новая задержка в возрастании значения целевой функции. Такие ситуации могут возникать неоднократно, причем не исключено, что на каком-то этапе мы придем к одному из предыдущих базисных решений. В этом случае вычислительный процесс оказывается «зацикленным» и схо­димость отсутствует.

Таким образом, сходимость за конечное число итераций была бы доказанной, если бы строго положительное приращение значения целевой функции было обеспечено при всех итерациях без исключения. Чтобы успокоить читателя, сразу же заверим его в том. что проблема сходимости разрешима. Если воспользоваться несколько более сложным (по сравнению с применяемым здесь) математическим аппаратом, то можно показать, что симплексный метод при надлежа­щем обращении с ним оказывается в состоянии обеспечить строгое возрастание значения целевой функции. Чтобы доказать наличие сходимости, необходимо несколько пересмотреть критерий II, с тем чтобы устранить неоднозначность процедуры исключения переменной из базиса в случае, когда оказываются допустимыми различные варианты выбора. Кроме того, следует надлежащим образом уточ­нить, что понимать под «строгим возрастанием значения целевой функции».

Вырожденность базиса практически не влияет на число итераций, требуемое для нахождения решения задачи линейного программи­рования. Опыт показывает, что при решении большинства практи­ческих задач число итераций, необходимое для получения оконча­тельного результата, лежит в пределах от 1,5m до 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

6

216

12

2

7

3

30

216

3

6

13

1,5

72

4

6

25

1,5

5

2

32

24

6

37

56

10

7

43

3

72

6

12

72

30

Таблица 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.

Пробное решение

Коэффициенты при переменных в строке 0

Базисные переменные, принимающие значения

Значение целевой функции

X1

X2

X3

X4

X5

X6

X7

0

0

0

Начальное

-3/4

150

-1/50

6

0

0

0

X5

X6

X7

0

2

0

-30

-7/150

33

3

0

0

X1

X6

X7

0

3

0

0

-2/25

18

1

1

0

X1

X2

X7

0

4

¼

0

0

-3

-2

3

0

X3

X2

X7

0

5

-1/2

120

0

0

-1

1

0

X3

X4

X7

0

6

-7/4

330

1/50

0

0

-2

0

X5

X4

X7

0

7

-3/4

150

-1/50

6

0

0

0

X5

X6

X7

0