最优化建模、算法与理论(二)—— 典型优化问题

参考书籍《最优化:建模、算法与理论》

文章目录

    • 1 线性规划
    • 2 最小二乘问题
    • 3 复合优化问题
    • 4 随机优化问题
    • 5 半定规划
    • 6 矩阵优化
    • 7 整数优化
    • 附录 常用软件包、库或软件

1 线性规划

  • 一般形式

min ⁡ x ∈ R n c T x , s . t . A x = b , G x ≤ e \min_{x\in R^n} c^Tx,s.t. Ax = b,Gx \leq e xRnmincTxs.t.Ax=bGxe
其 中 c ∈ R n , A ∈ R m × n , b ∈ R m , G ∈ R p × n 和 e ∈ R p 是 给 定 的 矩 阵 和 向 量 , x ∈ R n 是 决 策 变 量 其中 c ∈ R^n , A ∈ R^{m × n} , b ∈ R^m , G ∈ R^{p × n} 和 e∈ R^p 是给定的矩阵和向量,x ∈ R^n 是决策变量 cRn,ARm×n,bRm,GRp×neRp,xRn

  • 标准形(等式约束和决策变量非负)

min ⁡ x ∈ R n c T x , s . t . A x = b , x ≥ 0 \min_{x\in R^n} c^Tx,s.t. Ax = b,x \geq 0 xRnmincTxs.t.Ax=bx0

  • 不等式形(没有等式约束)

min ⁡ x ∈ R n c T x , s . t . A x ≤ b \min_{x\in R^n} c^Tx,s.t. Ax \leq b xRnmincTxs.t.Axb

  • 应用举例

1.运输成本问题
2.马尔科夫决策过程:是序贯决策(sequential decision)的数学模型,被用于机器学习中强化学习(reinforcement learning)问题的建模;马尔可夫性质是指,未来只与当前状态有关,与过去无关
3.基追踪问题:基追踪方法是信号稀疏表示领域的一种新方法,是压缩感知中的一个基本问题
4.数据拟合

2 最小二乘问题

  • 一般形式

min ⁡ x ∈ R n ∑ i = 1 m r i 2 ( x ) \min_{x\in R^n}\sum^m_{i=1}r^2_i(x) xRnmini=1mri2(x)
其 中 r i : R n → R 为 实 值 函 数 , 所 有 的 r i 都 是 线 性 函 数 其中 r_i : R^n \to R 为实值函数,所有的 r_i 都是线性函数 ri:RnRri线

  • 应用举例

1.线性最小二乘问题:线性最小二乘问题是回归分析中的一个基本模型
2.数据插值:数据插值是数值分析的一个基本问题
3.深度 Q 学习:在强化学习中,为了求解出最优策略及相应的期望奖励,往往需要考虑动作价值函数(action-value function)Q: S × A → R(注意,我们一般称V 为价值函数,即 value function),其表示从状态 s 出发,采取动作 a 可以获得的最大期望奖励
4.带有微分方程约束优化问题:它在最优控制、形状优化等各种领域中有着广泛应用

3 复合优化问题

  • 一般形式

min ⁡ x ∈ R n ψ ( x ) = f ( x ) + h ( x ) \min_{x\in R^n} \psi(x) = f(x) + h(x) xRnminψ(x)=f(x)+h(x)
其 中 f ( x ) 是 光 滑 函 数 ( 比 如 数 据 拟 合 项 ) , h ( x ) 可 能 是 非 光 滑 的 ( 比 如 l 1 范 数 正 则 项 , 约 束 集 合 的 示 性 函 数 , 或 它 们 的 线 性 组 合 ) 其中 f ( x ) 是光滑函数(比如数据拟合项),h ( x ) 可能是非光滑的(比如 l 1范数正则项,约束集合的示性函数,或它们的线性组合) f(x)(),h(x)(l1,,线)

  • 应用举例

1.图像去噪
2.盲反卷积:也称为去模糊,是图像处理中的一个基本问题

4 随机优化问题

  • 一般形式

min ⁡ x ∈ χ E ζ [ F ( x , ζ ) ] + h ( x ) \min_{x\in \chi} E_{\zeta} [ F(x,\zeta)] + h(x) xχminEζ[F(xζ)]+h(x)
其 中 X ⊆ R n 表 示 决 策 变 量 x 的 可 行 域 , ξ 是 一 个 随 机 变 ( 分 布 一 般 是 未 知 的 ) , 数 学 期 望 E ζ [ F ( x , ζ ) ] 一 般 是 不 可 计 算 的 , 在 实 际 问 题 中 往 往 利 用 经 验 分 布 来 代 替 真 实 分 布 其中 X ⊆ R^n 表示决策变量 x 的可行域,ξ 是一个随机变(分布一般是未知的),数学期望E_{\zeta} [ F(x,\zeta)]一般是不可计算的,在实际问题中往往利用经验分布来代替真实分布 XRnx,ξ()Eζ[F(xζ)]

  • 应用举例

1.随机主成分分析
2.分布式鲁棒优化

5 半定规划

半定规划(semidefinite programming, SDP)是线性规划在矩阵空间中的一种推广,它的目标函数和等式约束均为关于矩阵的线性函数,而它与线性规划不同的地方是其自变量取值于半正定矩阵空间

  • 一般形式

min ⁡ c T x , s . t . x 1 A 1 + x 2 A 2 + . . . + x n A n + B ⪯ 0 , G x = h \min c^Tx,s.t. x_1A_1 + x_2A_2 + ... + x_nA_n + B ⪯ 0,Gx = h mincTxs.t.x1A1+x2A2+...+xnAn+B0Gx=h

  • 标准形式

min ⁡ ⟨ C , X ⟩ ; s . t . ⟨ A 1 , X ⟩ = b 1 , . . . ⟨ A m , X ⟩ = b m ; X ⪰ 0 \min {\langle C,X \rangle};s.t. \langle A_1,X \rangle = b_1,... \langle A_m,X \rangle = b_m;X ⪰ 0 minCXs.t.A1X=b1...AmX=bmX0

  • 不等式形式

min ⁡ ⟨ C , X ⟩ ; s . t . x 1 A 1 + x 2 A 2 + ⋅ ⋅ ⋅ + x n A n + B ⪯ 0 \min {\langle C,X \rangle};s.t. x_1 A_1 + x_2 A_2 + · · · + x_n A_n + B ⪯ 0 minCXs.t.x1A1+x2A2++xnAn+B0

  • 应用举例

1.二次约束二次规划问题的半定规划松弛
2.最大割问题的半定规划松弛
3.极小化最大特征值

6 矩阵优化

  • 一般形式

min ⁡ X ∈ χ ψ ( X ) \min_{X\in \chi} \psi(X) Xχminψ(X)
其 中 X 为 特 定 的 矩 阵 空 间 , ψ ( X ) : X → R 为 给 定 的 函 数 , 可 能 是 非 光 滑 的 其中 X 为特定的矩阵空间,ψ ( X ) : X \to R 为给定的函数,可能是非光滑的 X,ψ(X):XR,

  • 应用举例

1.非负矩阵分解
2.低秩相关系数矩阵估计
3.电子结构计算

7 整数优化

  • 一般形式

min ⁡ c T x ; s . t . A x ⩽ b , x i ⩾ 0 , i = 1 , 2 , ⋅ ⋅ ⋅ , n ; x i ∈ Z , i = 1 , 2 , ⋅ ⋅ ⋅ , n \min c^Tx;s.t. Ax ⩽ b,x_i ⩾ 0, i = 1, 2, · · · , n;x i ∈ Z, i = 1, 2, · · · , n mincTxs.t.Axbxi0,i=1,2,,nxiZ,i=1,2,,n
其 中 A ∈ R m × n , c ∈ R n , b ∈ R m 是 给 定 的 矩 阵 和 向 量 , Z 是 整 数 集 合 。 如 果 只 要 求 部 分 x i 是 整 数 , 该 问 题 被 称 为 混 合 整 数 规 划 问 题 其中 A ∈ R^{m × n} , c ∈ R^n , b ∈ R^m 是给定的矩阵和向量,Z 是整数集合。如果只要求部分 x i 是整数,该问题被称为混合整数规划问题 ARm×n,cRn,bRm,Zxi,

  • 应用举例

1.资本预算
2.仓库位置选取
3.旅行商问题

附录 常用软件包、库或软件

  • SDPT3:可以求解锥规划问题,其中锥可以是半定矩阵锥、二次锥和非负象限中的一个或者多个的乘积
  • MOSEK:这个商业软件可以求解线性规划、二次锥规划、半定规划、二次规划等凸优化问题,以及混合整数线性规划和混合整数二次规划等.它的重点是求解大规模稀疏问题,尤其在求解线性规划、二次锥规划和半定规划的内点法设计上做得非常有效,它提供 C,C#, Java, Python,MATLAB 和 R 等接口
  • CPLEX: 这个商业软件可以求解整数规划问题,非常大规模的线性规划问题(使用单纯形方法或者内点法),凸和非凸二次规划问题,二次锥规划问题.它提供 C++, C#, Java, Microsoft Excel 和 MATLAB 接口
  • Gurobi: 这个商业软件可以求解线性规划(采用单纯形法和并行的内点法),二次规划(采用单纯形法和内点法),二次约束规划,混合整数线性规划,混合整数二次规划,混合整数二次约束规划.它提供 C,C++, Java, .NET, Python, MATLAB 和 R 等接口
  • IPOPT: 这个开源软件可以求解大规模非线性规划问题,提供 C, C++, FORTRAN, Java, MATLAB 和 R等接口
  • Knitro: 它是用来求解大规模非线性优化问题的商业软件,可以用来求解一般非凸非线性规划问题,非线性方程组,线性
    规划,二次(线性)约束二次规划问题,线性(非线性)最小二乘问题,混合整数规划问题以及无导数优化问题,等等.Knitro 支持的编程语言有 C, FORTRAN, C++, C#, Java, MATLAB, R, Python 等,以及模型语言 AMPL,AIMMS,GAMS 和 MPL 等

你可能感兴趣的:(最优化建模,算法与理论,算法)