Задача NNLS:
где
- матрица размеров
на
,
В книге "Численное решение задач метода наименьших квадратов" Лоусона Ч. указан следующий алгоритм решения этой задачи (стр 124):
(
):
1. Положить
2. Вычислить
-вектор
3. Если множество
пусто или
для всех
, перейти к шагу 12
4. Найти индекс
такой, что
5. Переместить индекс
из множества
в множество
6. Пусть
-
-матрица, определяемая таким образом:
столбец
матрицы
= столбцу
матрицы
, если
,
иначе.
Вычислить
-вектор
как решение задачи наименьших квадратов
7. Если
для всех
, положить
и перейти к шагу 2
8. Найти индекс
такой, что
9. Положить
10. Положить
11. Переместить из множества
в множество
все индексы
, для которых
. Перейти к шагу 6.
12. Конец
Не понимаю как работает критерий окончания.
Если
пусто, это значит, что точка
является внутренней точкой для всех полупространств
. Почему из этого следует, что это точка минимума функционала?
Если
для всех
, то это значит, что для того, чтобы уменьшить невязку, придется выйти из допустимой области?
Почему переменная вводимая на шаге 5 будет не отрицательной? В книге написано
"Выбранный на шаге 4 индекс
указывает компоненту, не представленную пока в множестве
, которая в соответствии с леммой 23.17 будет положительна, если ее ввести в решение."
Лемма 23.17:
Пусть
матрица ранга
, а
-вектор, для которого
Если
- решение задачи
(в смысле задачи НК), то его
-я компонента
> 0
Для моих примеров условие для
не выполняется