Ограниченная проблема, как указано, может иметь как другой перехват, так и другой наклон по сравнению с неограниченной проблемой.
Рассмотрим следующий пример (сплошная линия показывает соответствие OLS):
Теперь, если вы представляете себе очень узкие [y.low; y.high]
границы вокруг первых двух точек и чрезвычайно свободные границы для последней. Ограниченная подгонка будет близка к пунктирной линии. Ясно, что эти два подгонки имеют разные наклоны и разные точки пересечения.
Ваша задача - это, по сути, наименьшие квадраты с линейными ограничениями неравенства. Соответствующие алгоритмы рассматриваются, например, в "Решение наименьших квадратов" Чарльзом Л. Лоусоном и Ричардом Дж. Хансоном.
Вот прямая ссылка на соответствующую главу (надеюсь, ссылка работает). Ваша проблема может быть легко преобразована в Проблемную БИС (умножив ваши ограничения y.high
на -1
).
Что касается кодирования, я бы посоветовал взглянуть на LAPACK: там уже может быть функция, которая решает эту проблему (я не проверял).