欢迎光临
我们一直在努力

线性规划和非线性规划是什么?

文章目录

  • 线性规划和非线性规划
    • 基本概念
    • 优化问题
    • 数学公式与概念扩充 (Mathematical Formulas and Concept Expansion)
      • **1. 无约束优化 (Unconstrained Optimization)**
      • **2. 约束优化 (Constrained Optimization)**
      • **3. 对偶理论简介 (Introduction to Duality Theory)**

线性规划和非线性规划

基本概念

If both the objective function and the constraint functions are linear, the problem is a linear programming problem; otherwise, it is a nonlinear programming problem. All points that satisfy the constraints are called feasible points, and they constitute a feasible set. If the feasible set of a problem fills the entire space, we call it an unconstrained programming problem.

如果目标函数和约束函数都是线性的,那么该问题是一个线性规划问题;否则,它是一个非线性规划问题。所有满足约束条件的点称为可行点,它们构成可行集。如果一个问题的可行集填满了整个空间,我们称其为无约束规划问题。

  • 线性规划问题(Linear Programming, LP):

    minimize

    c

    T

    x

    subject to

    A

    x

    b

    ,

    x

    0

    \\begin{aligned} & \\text{minimize} \\quad c^T x \\\\ & \\text{subject to} \\quad A x \\leq b, \\\\ & \\quad \\quad \\quad \\quad x \\geq 0 \\end{aligned}

    minimizecTxsubject toAxb,x0 其中:

    • c

      ,

      x

      R

      n

      c, x \\in \\mathbb{R}^n

      c,xRn

    • A

      R

      m

      ×

      n

      A \\in \\mathbb{R}^{m \\times n}

      ARm×n

    • b

      R

      m

      b \\in \\mathbb{R}^m

      bRm

  • 非线性规划问题(Nonlinear Programming, NLP):

    minimize

    f

    (

    x

    )

    subject to

    g

    i

    (

    x

    )

    0

    ,

    i

    =

    1

    ,

    ,

    m

    h

    j

    (

    x

    )

    =

    0

    ,

    j

    =

    1

    ,

    ,

    p

    \\begin{aligned} & \\text{minimize} \\quad f(x) \\\\ & \\text{subject to} \\quad g_i(x) \\leq 0, \\quad i = 1, \\dots, m \\\\ & \\quad \\quad \\quad \\quad h_j(x) = 0, \\quad j = 1, \\dots, p \\end{aligned}

    minimizef(x)subject togi(x)0,i=1,,mhj(x)=0,j=1,,p 其中

    f

    ,

    g

    i

    ,

    h

    j

    f, g_i, h_j

    f,gi,hj 中至少有一个是非线性的。

  • 可行集(Feasible Set):

    F

    =

    {

    x

    R

    n

    g

    i

    (

    x

    )

    0

    ,
      

    h

    j

    (

    x

    )

    =

    0

    }

    \\mathcal{F} = \\{ x \\in \\mathbb{R}^n \\mid g_i(x) \\leq 0, \\; h_j(x) = 0 \\}

    F={xRngi(x)0,hj(x)=0}

  • 无约束规划问题(Unconstrained Programming):

    minimize

    f

    (

    x

    )

    ,

    x

    R

    n

    \\text{minimize} \\quad f(x), \\quad x \\in \\mathbb{R}^n

    minimizef(x),xRn 此时可行集

    F

    =

    R

    n

    \\mathcal{F} = \\mathbb{R}^n

    F=Rn

  • 优化问题

    The optimization problem can be divided into two categories: constrained optimization and unconstrained optimization. The fundamental concept in optimization theory is the extremum of a function, namely

    min

    f

    (

    x

    )

    \\min f(x)

    minf(x), where

    x

    R

    n

    x \\in \\mathbb{R}^n

    xRn is called the decision variable, and

    f

    (

    x

    )

    R

    f(x) \\in \\mathbb{R}

    f(x)R is called the objective function. The point

    x

    x^*

    x, which makes

    f

    (

    x

    )

    f(x)

    f(x) attain the extremum, is called the optimal solution. If the problem must satisfy certain constraints, it becomes a constrained optimization problem.

    优化问题可分为两类:约束优化和无约束优化。优化理论的核心是函数的极值问题,即

    min

    f

    (

    x

    )

    \\min f(x)

    minf(x)。其中

    x

    R

    n

    x \\in \\mathbb{R}^n

    xRn 称为决策变量,

    f

    (

    x

    )

    R

    f(x) \\in \\mathbb{R}

    f(x)R 称为目标函数。使

    f

    (

    x

    )

    f(x)

    f(x) 达到极值的点

    x

    x^*

    x 称为最优解。如果问题必须满足某些约束条件,则成为约束优化问题。

    数学公式与概念扩充 (Mathematical Formulas and Concept Expansion)

    以下将分别阐述两类问题的标准数学形式及其关键原理。

    1. 无约束优化 (Unconstrained Optimization)

    数学形式 (Mathematical Form):

    min

    x

    R

    n

    f

    (

    x

    )

    \\min_{x \\in \\mathbb{R}^n} f(x)

    xRnminf(x) 其中

    f

    :

    R

    n

    R

    f: \\mathbb{R}^n \\to \\mathbb{R}

    f:RnR 是一个可微 (differentiable) 的目标函数。

    一阶必要条件 (First-Order Necessary Condition): 如果

    x

    x^*

    x 是一个局部极小点 (local minimizer) 且

    f

    f

    f

    x

    x^*

    x 处可微,则梯度必须为零:

    f

    (

    x

    )

    =

    0

    \\nabla f(x^*) = 0

    f(x)=0 满足此式的点称为驻点 (stationary point)。

    二阶条件 (Second-Order Conditions):

    • 二阶必要条件 (Necessary Condition): 若

      x

      x^*

      x 是局部极小点,则其 Hessian 矩阵 (Hessian matrix) 是半正定的:

      2

      f

      (

      x

      )

      0

      \\nabla^2 f(x^*) \\succeq 0

      2f(x)0

    • 二阶充分条件 (Sufficient Condition): 如果

      f

      (

      x

      )

      =

      0

      \\nabla f(x^*) = 0

      f(x)=0 且 Hessian 矩阵是正定的,则

      x

      x^*

      x 是一个严格的局部极小点:

      2

      f

      (

      x

      )

      0

      \\nabla^2 f(x^*) \\succ 0

      2f(x)0

    关键算法 (Key Algorithms):

    • 梯度下降法 (Gradient Descent): 沿负梯度方向迭代更新。

      x

      k

      +

      1

      =

      x

      k

      α

      k

      f

      (

      x

      k

      )

      x_{k+1} = x_k – \\alpha_k \\nabla f(x_k)

      xk+1=xkαkf(xk)

    • 牛顿法 (Newton’s Method): 利用梯度和 Hessian 矩阵信息进行二阶更新。

      x

      k

      +

      1

      =

      x

      k

      [

      2

      f

      (

      x

      k

      )

      ]

      1

      f

      (

      x

      k

      )

      x_{k+1} = x_k – [\\nabla^2 f(x_k)]^{-1} \\nabla f(x_k)

      xk+1=xk[2f(xk)]1f(xk)


    2. 约束优化 (Constrained Optimization)

    一般数学形式 (General Mathematical Form):

    min

    x

    R

    n

    f

    (

    x

    )

    s.t.

    g

    i

    (

    x

    )

    0

    ,

    i

    =

    1

    ,

    ,

    m

    (不等式约束)

    h

    j

    (

    x

    )

    =

    0

    ,

    j

    =

    1

    ,

    ,

    p

    (等式约束)

    \\begin{aligned} \\min_{x \\in \\mathbb{R}^n} &\\quad f(x) \\\\ \\text{s.t.} &\\quad g_i(x) \\leq 0, \\quad i = 1, \\dots, m \\quad \\text{(不等式约束)} \\\\ &\\quad h_j(x) = 0, \\quad j = 1, \\dots, p \\quad \\text{(等式约束)} \\end{aligned}

    xRnmins.t.f(x)gi(x)0,i=1,,m(不等式约束)hj(x)=0,j=1,,p(等式约束) 其中 s.t. 是 “subject to”(受限于)的缩写。满足所有约束的

    x

    x

    x 的集合称为可行域 (feasible set)。

    拉格朗日函数 (Lagrangian Function): 为求解此问题,引入拉格朗日乘子

    λ

    i

     

    (

    0

    )

    \\lambda_i \\ (\\geq 0)

    λi (0)

    ν

    j

    \\nu_j

    νj,构造拉格朗日函数:

    L

    (

    x

    ,

    λ

    ,

    ν

    )

    =

    f

    (

    x

    )

    +

    i

    =

    1

    m

    λ

    i

    g

    i

    (

    x

    )

    +

    j

    =

    1

    p

    ν

    j

    h

    j

    (

    x

    )

    \\mathcal{L}(x, \\lambda, \\nu) = f(x) + \\sum_{i=1}^m \\lambda_i g_i(x) + \\sum_{j=1}^p \\nu_j h_j(x)

    L(x,λ,ν)=f(x)+i=1mλigi(x)+j=1pνjhj(x)

    KKT 条件 (Karush-Kuhn-Tucker Conditions): 对于可微函数,若

    x

    x^*

    x 是一个局部最优解,并且在

    x

    x^*

    x 处满足一定的约束规范性条件 (constraint qualification),则存在乘子

    λ

    \\lambda^*

    λ,

    ν

    \\nu^*

    ν 使得以下 KKT 条件 成立:

    x

    L

    (

    x

    ,

    λ

    ,

    ν

    )

    =

    0

    (平稳性/Stationarity)

    g

    i

    (

    x

    )

    0

    ,

    h

    j

    (

    x

    )

    =

    0

    (原始可行性/Primal Feasibility)

    λ

    i

    0

    (对偶可行性/Dual Feasibility)

    λ

    i

    g

    i

    (

    x

    )

    =

    0

    (互补松弛性/Complementary Slackness)

    \\begin{aligned} &\\nabla_x \\mathcal{L}(x^*, \\lambda^*, \\nu^*) = 0 \\quad &\\text{(平稳性/Stationarity)} \\\\ &g_i(x^*) \\leq 0, \\quad h_j(x^*) = 0 \\quad &\\text{(原始可行性/Primal Feasibility)} \\\\ &\\lambda_i^* \\geq 0 \\quad &\\text{(对偶可行性/Dual Feasibility)} \\\\ &\\lambda_i^* g_i(x^*) = 0 \\quad &\\text{(互补松弛性/Complementary Slackness)} \\end{aligned}

    xL(x,λ,ν)=0gi(x)0,hj(x)=0λi0λigi(x)=0(平稳性/Stationarity)(原始可行性/Primal Feasibility)(对偶可行性/Dual Feasibility)(互补松弛性/Complementary Slackness) 对于凸优化问题,KKT条件通常是充分必要条件 (necessary and sufficient conditions)。

    线性规划 (Linear Programming) 特例: 当目标函数和所有约束均为线性时:

    min

    x

    c

    T

    x

    s.t.

    A

    x

    b

    x

    0

    \\begin{aligned} \\min_{x} &\\quad c^T x \\\\ \\text{s.t.} &\\quad A x \\leq b \\\\ &\\quad x \\geq 0 \\end{aligned}

    xmins.t.cTxAxbx0


    3. 对偶理论简介 (Introduction to Duality Theory)

    每一个优化问题(原问题 / Primal Problem)都有一个相伴的对偶问题 (Dual Problem)。

    拉格朗日对偶函数 (Lagrangian Dual Function):

    d

    (

    λ

    ,

    ν

    )

    =

    inf

    x

    R

    n

    L

    (

    x

    ,

    λ

    ,

    ν

    )

    d(\\lambda, \\nu) = \\inf_{x \\in \\mathbb{R}^n} \\mathcal{L}(x, \\lambda, \\nu)

    d(λ,ν)=xRninfL(x,λ,ν) 这个函数给出了原问题最优值

    p

    p^*

    p 的一个下界 (lower bound)。

    对偶问题 (Dual Problem):

    max

    λ

    ,

    ν

    d

    (

    λ

    ,

    ν

    )

    s.t.

    λ

    0

    \\begin{aligned} \\max_{\\lambda, \\nu} &\\quad d(\\lambda, \\nu) \\\\ \\text{s.t.} &\\quad \\lambda \\geq 0 \\end{aligned}

    λ,νmaxs.t.d(λ,ν)λ0 其对偶最优值记为

    d

    d^*

    d

    弱对偶与强对偶 (Weak and Strong Duality):

    • 弱对偶 (Weak Duality): 总是成立,

      d

      p

      d^* \\leq p^*

      dp

    • 强对偶 (Strong Duality): 若

      d

      =

      p

      d^* = p^*

      d=p,则强对偶成立。对于凸优化问题且在满足 Slater 条件 (存在严格可行内点) 时,通常成立强对偶。此时,原问题与对偶问题的最优值相等。

    赞(0)
    未经允许不得转载:171主机测评 » 线性规划和非线性规划是什么?
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址