This is a tutorial and survey paper on Karush-Kuhn-Tucker (KKT) conditions, first-order and second-order numerical optimization, and distributed optimization. After a brief review of history of optimization, we start with some preliminaries on properties of sets, norms, functions, and concepts of optimization. Then, we introduce the optimization problem, standard optimization problems (including linear programming, quadratic programming, and semidefinite programming), and convex problems. We also introduce some techniques such as eliminating inequality, equality, and set constraints, adding slack variables, and epigraph form. We introduce Lagrangian function, dual variables, KKT conditions (including primal feasibility, dual feasibility, weak and strong duality, complementary slackness, and stationarity condition), and solving optimization by method of Lagrange multipliers. Then, we cover first-order optimization including gradient descent, line-search, convergence of gradient methods, momentum, steepest descent, and backpropagation. Other first-order methods are explained, such as accelerated gradient method, stochastic gradient descent, mini-batch gradient descent, stochastic average gradient, stochastic variance reduced gradient, AdaGrad, RMSProp, and Adam optimizer, proximal methods (including proximal mapping, proximal point algorithm, and proximal gradient method), and constrained gradient methods (including projected gradient method, projection onto convex sets, and Frank-Wolfe method). We also cover non-smooth and $\ell_1$ optimization methods including lasso regularization, convex conjugate, Huber function, soft-thresholding, coordinate descent, and subgradient methods. Then, we explain second-order methods including Newton's method for unconstrained, equality constrained, and inequality constrained problems....
翻译:这是关于Karush-Kuhn-Tucker(KKT)条件、一阶和二阶软质数字优化以及分布式优化的辅导和调查文件。在对优化历史进行简要回顾之后,我们首先对优化的特性、规范、功能和优化概念进行一些初步研究。然后,我们介绍优化问题、标准优化问题(包括线性编程、二次编程和半无底线编程),以及 convex问题。我们还采用一些技术,如消除不平等、平等、设置限制、添加松软变量和缩数形式等。我们引入了 Lagrangeian 函数、双阶变量、KKKKT条件(包括初等可行性、双轨可行性、弱和强的双重性、互补松懈和稳性性),然后通过拉格乘数乘数法来解决优化问题。然后,我们介绍一级优化,包括梯度下降、线搜索、梯度下行、降级和后退、后退、其他一级方法,例如加速梯度梯度梯度下降、小型梯度梯度梯度梯度梯度梯度梯度梯度梯度梯度梯度梯度梯度、低、正下、正下、正下、平下、平质梯度梯度梯度梯度梯度梯度梯度梯度梯度梯度梯度下、平下、平下、平下、平下、平下、平下、平下、节法等等等方法下调法、降法、降法等方法、降后推后推后推。