Оптимизация

Оптимизация — раздел прикладной и теоретической математики, связанный с поиском наилучшего решения в заданном множестве допустимых вариантов. В базовой формулировке требуется найти точку, в которой целевая функция достигает минимума или максимума при возможных ограничениях. В математическом виде задача оптимизации обычно записывают как задача минимизации целевой функции при наличии равенств и неравенств; общие признаки оптимума связаны с условием стационарности и вторыми производными, например f(x)=0\nabla f(x)=0 и проверкой знака матрицы вторых производных 2f(x)0\nabla^2 f(x)\succ 0. Оптимизация служит фундаментом для теорий принятия решений, численных методов и машинного обучения. {IMAGE_0}

С практической точки зрения задачи оптимизации делятся на линейные и нелинейные, выпуклые и невыпуклые, непрерывные и дискретные (комбинаторные). Линейное программирование — важный частный случай: минимизация линейной функции при линейных ограничениях, что формализуется как min  cTxs.t. Axb,  x0\min\; c^T x \quad \text{s.t. } A x \le b,\; x\ge0. Для задач с ограничениями вводят функцию Лагранжа и получают условия типа множителей Лагранжа; Лагранжиан часто записывают в виде L(x,λ)=f(x)+λg(x)L(x,\lambda)=f(x)+\lambda^\top g(x). Для выпуклых задач достаточно первых условий для гарантии глобального минимума, а в негладких или невыпуклых ситуациях применяют численные методы: градиентные спуски, проекционные методы, комбинированные эвристики. Популярный итеративный метод градиентного спуска описывается обновлением xk+1=xkαf(xk)x_{k+1}=x_k-\alpha \nabla f(x_k).

На практике оптимизация встречается повсюду: распределение ресурсов и планирование в экономике, настройка гиперпараметров в машинном обучении, проектирование конструкций в технике, маршрутное планирование и многое другое. Математические формулы помогают формально понять структуру задачи и выбрать подходящий метод решения: общая задача с ограничениями записывается как minxf(x)при gi(x)=0,  hj(x)0\begin{aligned} &\min_x f(x) \\ &\text{при } g_i(x)=0,\; h_j(x)\le 0 \end{aligned}, а для квадратичных задач часто используется компактная запись целевой функции вида f(x)=12xQx+bx+cf(x)=\frac{1}{2}x^\top Q x + b^\top x + c, что позволяет применять эффективные аналитические и численные методы.

Пример 1. Линейная задача: найти вектор x, минимизирующий выражение min  cTxs.t. Axb,  x0\min\; c^T x \quad \text{s.t. } A x \le b,\; x\ge0. Это классический пример, где работают симплекс-метод и методы внутренней точки.

Пример 2. Квадратичная аппроксимация: минимизация квадратичной функции f(x)=12xQx+bx+cf(x)=\frac{1}{2}x^\top Q x + b^\top x + c при небольшом наборе линейных ограничений. Если матрица Q положительно определена, задача выпуклая и имеет единственное решение, которое может быть найдено как стационарная точка Лагранжиана L(x,λ)=f(x)+λg(x)L(x,\lambda)=f(x)+\lambda^\top g(x).