Метод ADMM (alternating direction methods of multipliers) широко используется для решения многих оптимизационных задач с помощью параллельных вычислений. Этот метод особенно важен при решении задач, возникающих в машинном обучении, математической статистике, распознавании образов, восстановлении сигналов, обработке данных значительного объема. ADMM позволяет решать оптимизационные задачи, целевая функция которых представляет собой сумму гладкой и негладкой функций, что характерно для задач со штрафной функцией. Целью этой статьи является разработка улучшенной версии ADMM с лучшей скоростью сходимости, чем существующие методы. В статье описаны существующие подходы для улучшения эффективности ADMM-метода, приведены основные работы по данной тематике и предложен новый метод, базирующийся на комбинации двух уже существующих подходов - разбиение начальной оптимизационной задачи на N подзадач и применение многоблочного подхода для разрешение и вычисление ускорения Нестерова на каждой итерации. Приведены теоретическое обоснование сходимости данного метода и установлены условия сходимости. Реализован предлагаемый алгоритм языка программирования Python и применен для решения задачи обмена с генерируемыми случайным образом данными, задачи поиска базиса и задачи LASSO с ограничениями. Приведены результаты сравнения эффективности многоблочного ADMM с ускорением Нестерова и существующих многоблочного и стандартного двухблочного ADMM. Многоблочный ADMM с ускорением Нестерова показал лучшую вычислительную эффективность, чем уже существующие методы. Еще одним преимуществом предлагаемого метода является его удобство для проведения параллельных вычислений с применением современных многопроцессорных систем. В связи с большими объемами данных, обработка которых требует значительного времени при решении оптимизационных задач, предложенный метод имеет важное практическое значение, поскольку он значительно превышает по скорости известные аналоги. Использование предложенного метода позволит решить практически важные задачи большого объема, применив параллельные вычисления.
Read full abstract