最优化理论与方法-第十讲割平面法

文章目录

  • [1. 原问题:](#1. 原问题:)
  • [2. 割平面法程序步骤](#2. 割平面法程序步骤)
    • [2.1 第一次迭代](#2.1 第一次迭代)
    • [2.2 第二次迭代](#2.2 第二次迭代)
    • [2.3 第三次迭代](#2.3 第三次迭代)

1. 原问题:

给定下列约束优化问题:
( P )      min ⁡    3 x 1 2 + 2 x 2 2 s t .      − 5 x 1 − 2 x 2 + 3 ≤ 0 ,      x ∈ X = { x ∈ Z n ∣ 8 x 1 + 8 x 2 ≥ 1 , 0 ≤ x 1 ≤ 1 , 0 ≤ x 2 ≤ 2 } \begin{equation}\begin{aligned} &(P)\; \;\min\; 3x_1^2+2x_2^2\\ &st.\;\;-5x_1-2x_2+3\le 0,\\ &\;\;x\in X=\{x\in Z^n\big| 8x_1+8x_2\ge1,0\le x_1 \le 1,0\le x_2 \le 2\} \end{aligned}\end{equation} (P)min3x12+2x22st.−5x1−2x2+3≤0,x∈X={x∈Zn 8x1+8x2≥1,0≤x1≤1,0≤x2≤2}

给定 X 1 = { ( 1 , 1 ) T } X^1=\{(1,1)^T\} X1={(1,1)T},利用外逼近法求解其对偶问题

  • 因为x为整数,所以我们可以依次根据约束问题求解出所有的点
    X = { x 0 = ( 0 , 1 ) , x 1 = ( 0 , 2 ) x 2 = ( 1 , 0 ) x 3 = ( 1 , 1 ) x 4 = ( 1 , 2 ) } \begin{equation} X=\{x_0=(0,1),x_1=(0,2)x_2=(1,0)x_3=(1,1)x_4=(1,2)\} \end{equation} X={x0=(0,1),x1=(0,2)x2=(1,0)x3=(1,1)x4=(1,2)}
  • 构造拉格朗日函数:
    f ( x ) = 3 x 1 2 + 2 x 2 2 , g ( x ) = − 5 x 1 − 2 x 2 + 3 \begin{equation} f(x)=3x_1^2+2x_2^2,g(x)=-5x_1-2x_2+3 \end{equation} f(x)=3x12+2x22,g(x)=−5x1−2x2+3
  • 构建对偶问题
    ( D )      max ⁡ λ > 0 d ( λ ) d ( λ ) = min ⁡ x ∈ X L ( x , λ ) L ( x , λ ) = 3 x 1 2 + 2 x 2 2 + λ ( − 5 x 1 − 2 x 2 + 3 ) X = { x 0 = ( 0 , 1 ) , x 1 = ( 0 , 2 ) , x 2 = ( 1 , 0 ) , x 3 = ( 1 , 1 ) , x 4 = ( 1 , 2 ) } \begin{equation}\begin{aligned} &(D)\; \;\max\limits_{\lambda >0} d(\lambda)\\ &d(\lambda)=\min\limits_{x\in X}L(x,\lambda)\\ &L(x,\lambda)=3x_1^2+2x_2^2+\lambda(-5x_1-2x_2+3)\\ &X=\{x_0=(0,1),x_1=(0,2),x_2=(1,0),x_3=(1,1),x_4=(1,2)\} \end{aligned}\end{equation} (D)λ>0maxd(λ)d(λ)=x∈XminL(x,λ)L(x,λ)=3x12+2x22+λ(−5x1−2x2+3)X={x0=(0,1),x1=(0,2),x2=(1,0),x3=(1,1),x4=(1,2)}
  • 将 X 代入可得:
    L ( x 0 , λ ) = 2 + λ L ( x 1 , λ ) = 8 − λ L ( x 2 , λ ) = 3 − 2 λ L ( x 3 , λ ) = 5 − 4 λ L ( x 4 , λ ) = 11 − 6 λ \begin{equation}\begin{aligned} &L(x_0,\lambda)=2+\lambda\\ &L(x_1,\lambda)=8-\lambda\\ &L(x_2,\lambda)=3-2\lambda\\ &L(x_3,\lambda)=5-4\lambda\\ &L(x_4,\lambda)=11-6\lambda\\ \end{aligned}\end{equation} L(x0,λ)=2+λL(x1,λ)=8−λL(x2,λ)=3−2λL(x3,λ)=5−4λL(x4,λ)=11−6λ
  • 画图可得:·图形法
  • 根据图形可以求出最大值可得:

2. 割平面法程序步骤

  • 程序迭代法
  • 第一次迭代 step1:
    将 X 1 = { ( 1 , 1 ) } X^1=\{(1,1)\} X1={(1,1)}代入拉格朗日函数: L ( x 3 , λ ) = 5 − 4 λ L(x_3,\lambda)=5-4\lambda L(x3,λ)=5−4λ
    ( D )      max ⁡ λ ≥ 0 θ s t :    θ ≤ 5 − 4 λ , λ ≥ 0 \begin{equation}\begin{aligned} &(D)\; \;\max\limits_{\lambda \ge0} \theta\\ &st:\; \theta \le 5-4\lambda,\lambda\ge0 \\ \end{aligned}\end{equation} (D)λ≥0maxθst:θ≤5−4λ,λ≥0
    根据定义可得,在 λ 1 = 0 \lambda_1=0 λ1=0,可得 max ⁡ θ = θ 1 = 5 \max \theta=\theta_1=5 maxθ=θ1=5

2.1 第一次迭代

  • 第一次迭代 step2:
    将 λ 1 = 0 \lambda_1=0 λ1=0代入到对偶函数:
    d ( λ ) = min ⁡ x ∈ X L ( x , λ ) = { 2 + λ , 8 − λ , 3 − 2 λ , 5 − 4 λ , 11 − 6 λ } \begin{equation}\begin{aligned} &d(\lambda)=\min\limits_{x\in X}L(x,\lambda)=\{2+\lambda,8-\lambda,3-2\lambda ,5-4\lambda,11-6\lambda\} \end{aligned}\end{equation} d(λ)=x∈XminL(x,λ)={2+λ,8−λ,3−2λ,5−4λ,11−6λ}
  • 可得最小值为 d ( λ 1 = 0 ) = 2 d(\lambda_1=0)=2 d(λ1=0)=2,并且是 x 1 = ( 0 , 1 ) x_1=(0,1) x1=(0,1)这个点取得最小。
  • 第一次迭代 step3:
    判断 d ( λ 1 ) = 2 d(\lambda_1)=2 d(λ1)=2 与 θ 1 = 5 \theta_1=5 θ1=5之间的大小关系,不相等,算法继续迭代
  • 第一次迭代 step4::新增约束点: X 2 = X 1 ∪ { ( 0 , 1 ) } X^2=X^1\cup\{(0,1)\} X2=X1∪{(0,1)}
  • 第二次迭代 step1::以 X 2 X^2 X2作为约束条件
  • 第二次迭代 step1:
    将 X 1 = { ( 1 , 1 ) ( 0 , 1 ) } X^1=\{(1,1)(0,1)\} X1={(1,1)(0,1)}代入拉格朗日函数: L ( x 3 , λ ) = 5 − 4 λ ; L ( x 3 , λ ) = 2 + λ L(x_3,\lambda)=5-4\lambda;L(x_3,\lambda)=2+\lambda L(x3,λ)=5−4λ;L(x3,λ)=2+λ
    ( D )      max ⁡ λ ≥ 0 θ s t :    θ ≤ 5 − 4 λ , λ ≥ 0 s t :    θ ≤ 2 + λ , λ ≥ 0 \begin{equation}\begin{aligned} &(D)\; \;\max\limits_{\lambda \ge0} \theta\\ &st:\; \theta \le 5-4\lambda,\lambda\ge0 \\ &st:\; \theta \le 2+\lambda,\lambda\ge0 \\ \end{aligned}\end{equation} (D)λ≥0maxθst:θ≤5−4λ,λ≥0st:θ≤2+λ,λ≥0
    根据定义可得,在 λ 1 = 3 5 \lambda_1=\frac{3}{5} λ1=53,可得 max ⁡ θ = θ 2 = 13 5 \max \theta=\theta_2=\frac{13}{5} maxθ=θ2=513

2.2 第二次迭代

  • 第二次迭代 step2:
    将 λ 1 = 3 5 \lambda_1=\frac{3}{5} λ1=53代入到对偶函数:
    d ( λ 2 ) = min ⁡ x ∈ X 2 L ( x , λ ) = { 2 + λ , 8 − λ , 3 − 2 λ , 5 − 4 λ , 11 − 6 λ } \begin{equation}\begin{aligned} &d(\lambda_2)=\min\limits_{x\in X^2}L(x,\lambda)=\{2+\lambda,8-\lambda,3-2\lambda ,5-4\lambda,11-6\lambda\} \end{aligned}\end{equation} d(λ2)=x∈X2minL(x,λ)={2+λ,8−λ,3−2λ,5−4λ,11−6λ}
  • 可得最小值为 d ( λ 2 = 3 5 ) = 9 5 d(\lambda_2=\frac{3}{5})=\frac{9}{5} d(λ2=53)=59,并且是 x 2 = ( 1 , 0 ) x_2=(1,0) x2=(1,0)这个点取得最小。
  • 第二次迭代 step3:
    判断 d ( λ 2 ) = 9 5 d(\lambda_2)=\frac{9}{5} d(λ2)=59 与 θ 2 = 13 5 \theta_2=\frac{13}{5} θ2=513之间的大小关系,不相等,算法继续迭代,并且我们发现其中在 x 2 = ( 1 , 0 ) x_2=(1,0) x2=(1,0)这个点取得最小,所以我们将其加入 { 3 − 2 λ } \{3-2\lambda\} {3−2λ}到约束中
  • 第二次迭代 step4::新增约束点: X 3 = X 2 ∪ { ( 1 , 0 ) } = { ( 1 , 1 ) , ( 0 , 1 ) , ( 1 , 0 ) } X^3=X^2\cup\{(1,0)\}=\{(1,1),(0,1),(1,0)\} X3=X2∪{(1,0)}={(1,1),(0,1),(1,0)}

2.3 第三次迭代

  • 第三次迭代 step1::以 X 3 X^3 X3作为约束条件
  • 第三次迭代 step1:
    将 X 1 = { ( 1 , 1 ) ( 0 , 1 ) , ( 1 , 0 ) } X^1=\{(1,1)(0,1),(1,0)\} X1={(1,1)(0,1),(1,0)}代入拉格朗日函数: L ( x 3 , λ ) = 5 − 4 λ ; L ( x 3 , λ ) = 2 + λ , L ( x 3 , λ ) = 3 − 2 λ L(x_3,\lambda)=5-4\lambda;L(x_3,\lambda)=2+\lambda,L(x_3,\lambda)=3-2\lambda L(x3,λ)=5−4λ;L(x3,λ)=2+λ,L(x3,λ)=3−2λ
    ( D )      max ⁡ λ ≥ 0 θ s t :    θ ≤ 5 − 4 λ , λ ≥ 0 s t :    θ ≤ 2 + λ , λ ≥ 0 s t :    θ ≤ 3 − 2 λ , λ ≥ 0 \begin{equation}\begin{aligned} &(D)\; \;\max\limits_{\lambda \ge0} \theta\\ &st:\; \theta \le 5-4\lambda,\lambda\ge0 \\ &st:\; \theta \le 2+\lambda,\lambda\ge0 \\ &st:\; \theta \le 3-2\lambda,\lambda\ge0 \\ \end{aligned}\end{equation} (D)λ≥0maxθst:θ≤5−4λ,λ≥0st:θ≤2+λ,λ≥0st:θ≤3−2λ,λ≥0
    根据定义可得,在 λ 3 = 1 3 \lambda_3=\frac{1}{3} λ3=31,可得 max ⁡ θ = θ 3 = 7 3 \max \theta=\theta_3=\frac{7}{3} maxθ=θ3=37
  • 第三次迭代 step2:
    将 λ 3 = 1 3 \lambda_3=\frac{1}{3} λ3=31代入到对偶函数:
    d ( λ 2 ) = min ⁡ x ∈ X 2 L ( x , λ ) = { 2 + λ , 8 − λ , 3 − 2 λ , 5 − 4 λ , 11 − 6 λ } \begin{equation}\begin{aligned} &d(\lambda_2)=\min\limits_{x\in X^2}L(x,\lambda)=\{2+\lambda,8-\lambda,3-2\lambda ,5-4\lambda,11-6\lambda\} \end{aligned}\end{equation} d(λ2)=x∈X2minL(x,λ)={2+λ,8−λ,3−2λ,5−4λ,11−6λ}
  • 可得最小值为 d ( λ 3 = 1 3 ) = 9 5 d(\lambda_3=\frac{1}{3})=\frac{9}{5} d(λ3=31)=59,并且是 x 2 = ( 1 , 0 ) x_2=(1,0) x2=(1,0)这个点取得最小。
  • 第三次迭代 step3:
    判断 d ( λ 3 ) = 7 3 d(\lambda_3)=\frac{7}{3} d(λ3)=37 与 θ 3 = 7 3 \theta_3=\frac{7}{3} θ3=37之间的大小相等,算法停止
相关推荐
小沈熬夜秃头中୧⍤⃝2 分钟前
【贪心算法】No.1---贪心算法(1)
算法·贪心算法
volcanical5 分钟前
LangGPT结构化提示词编写实践
人工智能
木向35 分钟前
leetcode92:反转链表||
数据结构·c++·算法·leetcode·链表
weyson36 分钟前
CSharp OpenAI
人工智能·语言模型·chatgpt·openai
阿阿越37 分钟前
算法每日练 -- 双指针篇(持续更新中)
数据结构·c++·算法
RestCloud42 分钟前
ETLCloud异常问题分析ai功能
人工智能·ai·数据分析·etl·数据集成工具·数据异常
skaiuijing1 小时前
Sparrow系列拓展篇:对调度层进行抽象并引入IPC机制信号量
c语言·算法·操作系统·调度算法·操作系统内核
IT古董1 小时前
【机器学习】决定系数(R²:Coefficient of Determination)
人工智能·python·机器学习
Star Patrick1 小时前
算法训练(leetcode)二刷第十九天 | *39. 组合总和、*40. 组合总和 II、*131. 分割回文串
python·算法·leetcode
鲜枣课堂1 小时前
5G-A如何与AI融合发展?华为MBBF2024给出解答
人工智能·5g·华为