Вообще, при 20 регрессорах полный перебор это всего лишь 1048575 вариантов (не считая "нулевого"). Обращение матрицы 20х20 это порядка
операций или менее, так что даже "в лоб" это порядка
операций. На даже не очень крутой машине - несколько часов. Может, ночь. Более того, описан (например, Себер, "Линейный регрессионный анализ" - есть, скажем, тут:
http://www.twirpx.com/file/95399/ ) подход, в котором при переходе от модели к модели (в смысле набора регрессоров) вводятся-выводятся они по одному, со сложностью O(n) вместо кубической, и перечисление всех моделей проводится обходом бинарного дерева. Там такого рода полный перебор (который возможность "застревания в локальном оптимуме" исключает в принципе) считается возможным для числа регрессоров до 20 (книга отражает уровень 1970-х, так что сейчас, пожалуй, и 30 допустимо, если не более), для числа регрессоров до 40 рекомендуется пошаговая регрессия методом включения-исключения (собственно, тот же метод, что и в "полном переборе по дереву"; появляется риск остановиться на локальном оптимуме, например, при нескольких сильно коррелированных регрессорах первым может быть выбран менее влияющий, но улучшение от замены более связанным менее регрессора недостаточно, чтобы такая замена была бы произведена), а в задачах с числом регрессоров вплоть до 100 предлагается использовать случайный поиск (сейчас, вероятно, надо рассмотреть и генетические алгоритмы).