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

news2025/1/11 4:16:28

文章目录

  • 1. 原问题:
  • 2. 割平面法程序步骤
    • 2.1 第一次迭代
    • 2.2 第二次迭代
    • 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.5x12x2+30,xX={xZn 8x1+8x21,0x11,0x22}
给定 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)=5x12x2+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(λ)=xXminL(x,λ)L(x,λ)=3x12+2x22+λ(5x12x2+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,λ)=32λL(x3,λ)=54λL(x4,λ)=116λ
  • 画图可得:·图形法

在这里插入图片描述

  • 根据图形可以求出最大值可得:
    在这里插入图片描述

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,λ)=54λ
    ( 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:θ54λ,λ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(λ)=xXminL(x,λ)={2+λ,8λ,32λ,54λ,116λ}
  • 可得最小值为 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,λ)=54λ;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:θ54λ,λ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)=xX2minL(x,λ)={2+λ,8λ,32λ,54λ,116λ}
  • 可得最小值为 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\} {32λ}到约束中
  • 第二次迭代 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,λ)=54λ;L(x3,λ)=2+λL(x3,λ)=32λ
    ( 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:θ54λ,λ0st:θ2+λ,λ0st:θ32λ,λ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)=xX2minL(x,λ)={2+λ,8λ,32λ,54λ,116λ}
  • 可得最小值为 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之间的大小相等,算法停止

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1944820.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记事本案例组件版本(源码分享)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

基于Hutool实现自定义模板引擎,实现json个性化模板引擎转换

文章目录 前言编写引擎类:JsonTemplateEngine编写模板类:CustomTemplate编写测试代码测试json文件测试类 前言 由于百度搜索json模板引擎,推荐的都是一些freemarker之类的,需要引入其他的依赖,而且在编写json模板的时…

深入浅出WebRTC—Pacer

平滑发包(Pacer)是 WebRTC 实现高质量实时通信不可或缺的一部分。在视频通信中,单帧视频可能包含大量的数据,如果未经控制地立即发送,可能瞬间对网络造成巨大压力。Pacer 能够根据网络条件动态调整发送速率&#xff0c…

springboot校园车辆管理系统-计算机毕业设计源码63557

校园车辆管理系统 摘 要 校园车辆管理系统是当前高校校园管理中的一个重要方面,其有效管理和调度对于提升校园的运行效率和管理水平至关重要。本论文基于Spring Boot框架开发了一套校园车辆管理系统,系统主要包括用户和管理员两大角色,涵盖…

pytest使用

主要技术内容 1.pytest设计 接口测试 框架设想 common—公共的东西封装 1.request请求 2.Session 3.断言 4.Log 5.全局变量 6.shell命令 ❖ config---配置文件及读取 ❖ Log— ❖ payload—请求参数—*.yaml及读取 ❖ testcases—conftest.py; testcase1.py…….可…

Chapter 14 Python数据容器总结

欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能! 文章目录 前言一、数据容器对比二、数据容器的通用操作【拓展】字符串大小比较 前言 Python 作为一种高级编程语言,内置了多种强大的数据容器,帮助开发者以更…

【GoLang】Golang 快速入门(第一篇)

目录 1.简介: 2.设计初衷: 3.Go语言的 特点 4.应用领域: 5.用go语言的公司: 6. 开发工具介绍以及环境搭建 1.工具介绍: 2.VSCode的安装: 3.安装过程: 4.Windows下搭建Go开发环境--安装和配置SDK 1.搭建Go开发环境 - 安装…

【洛谷】P1088 [NOIP2004 普及组] 火星人——C++

本题我们会用到函数next_permutation(start,end),是头文件algorithm标准库中的一个标准函数,用来表示[start,end]内存的数组中产生一个字典排序,比如[1 , 2 ,3]到[2 ,3, 1]再到[3 , 1, 2]这样的,这个函数的复杂度为(n!&#xff09…

Rust代码答疑报错|Python一对一辅导答疑

Question 你好,我是悦创。 学员答疑: https://code.bornforthis.cn/?id4e72084d-1eaf-44ed-8067-744671491574https://code.bornforthis.cn/?id664ff169-41d6-409f-a05b-02ed42279759 问题代码: // You can bring module paths into sc…

开发日志:windows修复SSL漏洞CVE-2016-2183(3389端口)

漏洞危害: 具有足够资源的中间人攻击者可利用此漏洞,通过“birthday”攻击检测会在固定密码与已知纯文本之间泄露 XOR 的冲突,进而泄露密码文本(例如安全 HTTPS Cookie),并可能导致劫持经认证的会话。 参见《支持SSL 64位块大小的密码套件(SWEET32)-修复方案》 参考…

html 常用css样式及排布问题

1.常用样式 <style>.cy{width: 20%;height: 50px;font-size: 30px;border: #20c997 solid 3px;float: left;color: #00cc00;font-family: 黑体;font-weight: bold;padding: 10px;margin: 10px;}</style> ①宽度&#xff08;长&#xff09; ②高度&#xff08;宽&a…

pikachu 之CSRF(跨站请求伪造)get和post型

CSRF&#xff08;跨站请求伪造&#xff09; 概念 跨站请求伪造&#xff08;Cross-Site Request Forgery&#xff0c;简称CSRF&#xff09;是一种攻击方式&#xff0c;攻击者通过伪造用户的请求&#xff0c;欺骗受害者在不知情的情况下执行不想要的操作。这种攻击利用了用户已经…

使用python连接neo4j时报错:IndexError: pop from an empty deque的解决办法

遇见这个错&#xff0c;首先可能是python现在的py2neo的版本不对&#xff0c;把2021.1.0版本卸载&#xff0c;下载 py2neo4.2.0版本。我不是&#xff0c;一阵搜&#xff0c;发现需要改配置文件 首先找到你的neo4j的安装路径 在网上看的是&#xff0c;先找到data/dbms/auth文件…

产品升级|宏基因组产品增加新成员:多酚代谢注释数据库

多酚&#xff08;polyphenol&#xff09;是一种化学多样且丰富的植物衍生化合物&#xff0c;包括10000多个化学式和几个结构家族&#xff0c;包括聚合物&#xff08;例如单宁&#xff09;、单体&#xff08;例如类黄酮&#xff09;和简单酚类&#xff08;例如酚酸&#xff09;。…

nginx漏洞修复 ngx_http_mp4_module漏洞(CVE-2022-41742)【低可信】 nginx版本升级

风险描述&#xff1a; Nginx 是一款轻量级的Web服务器、反向代理服务器。 Nginx 的受影响版本中的ngx _http_mp4_module模块存在内存越界写入漏洞&#xff0c;当在配置中使用 mp4 directive时&#xff0c;攻击者可利用此漏洞使用使用ngx_http_mp4_module模块处理特制的音频或视…

服务攻防-框架安全(漏洞复现)

关闭靶场 sudo docker-compose down 运行此靶场 sudo docker-compose up -d 查看启动环境 sudo docker ps 运行dockers容器 docker exec -it 64052abd288b /bin/bash thinkphp框架 thinkphp 2 - rce漏洞复现 docker exec -it 731dbae0e0b5 /bin/bash 集成化工具扫描 可以命令…

【豆包Marscode体验官】揭秘MarsCode AI编辑助手:高效智能编辑新纪元之入门指导与最佳实践

文章目录 1. 概述2. 工具使用过程2.1 MarsCode插件简介2.2 安装和配置2.2.1 安装MarsCode插件2.2.2 配置MarsCode插件 2.3 各个功能的使用2.3.1 代码补全2.3.2 代码补全 Pro【操作提示&#xff0c;No suggestion from Model&#xff0c;不知道是不是版本的问题】2.3.3 代码生成…

爬虫学习2:爬虫爬取网页的信息与图片的方法

爬虫爬取网页的信息与图片的方法 爬取人物信息 import requestshead {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0" } # 这是get请求带参数的模式…

boost::asio网络编程

目录 基础操作端点的生成创建socket服务端创建acceptor用于监听传入的连接请求 并 接受连接服务器绑定端口客户端通过ip连接服务端 connect客户端通过域名连接服务端服务器监听 接受连接读写buffer同步的读写实现一个同步读写的服务器与客户端应答 异步读写函数异步写异步读官方…

冒泡排序(数组作为函数参数)

什么是冒泡排序&#xff1f; 冒泡排序&#xff08;Bubble Sort&#xff09;也是一种简单直观的排序算法。它重复地走访过要排序的数列&#xff0c;一次比较两个元素&#xff0c;如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换&#xff0c;…