最优化方法复习——线性规划之对偶问题

一、线性规划对偶问题定义

原问题:

\begin{gathered} (LP)\mathrm{Max}\quad z=c^\top x \\ \quad \quad s.t. \quad Ax \leq b \\ \quad \quad \quad \quad x \geq 0 \\ \end{gathered}

对偶问题:

\begin{gathered}(DP)\mathrm{Min}\quad f=b^\top y \\ \quad \quad s.t. \quad A^\top y\geq c \\ \quad \quad \quad \quad y\geq0 \\ \end{gathered}

(1)若一个模型为目标求 “极大”,约束为“小于等于” 的不等式,则它的对偶模型为目标求“极小”,约束是“大于等于”的不等式。即“Max, ≤”和“Min,≥”相对应。

(2)从约束系数矩阵看:一 个模型中为A,则另一个模型中为AT 。一个模型是m个约束、 n个变量,则它的对偶模型为 n个约束、m个变量。

(3)从数据b、c的位置看:在两个规划模型中,b和c的位置对换。

(4)两个规划模型中的变量皆非负。

一般称不具有对称形式的一对线性规划为非对称形式的对偶规划。 对于非对称形式的规划,可以按照下面的对应关系直接给出其对偶规划。

(1)将模型统一为“Max,≤”或“Min,≥” 的形式,对 于其中的等式约束按下面(2)、(3)中的方法处理。

(2)若原规划的某个约束条件为等式约束,则在对偶规划中与此约束对应的那个变量取值没有非负限制。

(3)若原规划的某个变量的值没有非负限制,则在对偶问题中 与此变量对应的那个约束为等式。

二、对偶定理与影子价格

  • 定理(弱对偶定理) 若 x,y 分别为(LP) 和(DP)的可行解, 那么c^Tx \leq b^Ty。 推论:设(LP)有可行解,那么若(LP) 无有界最优解,则(DP)无可行解。
  • 定理 (最优性准则定理) 若x^* ,y^*分别(LP),(DP)的可行解,且c^Tx^* =b^Ty^*,那么x^* ,y^*分别为(LP)和(DP) 的最优解。
  • 定理(主对偶定理) 若(LP)有最优解,则(DP)也有最优解。反之也成立,且最优值相等。

影子价格是一个向量,它的分量表示最优目标值随相应资源数量变化的变化率。

影子价格反映了不同的局部或个体的增量可以获得不同的整体经济效益。如果为了扩大生产能力,考虑增加设备,就应该从影子价格高的设备入手。这样可以用较少的局部努力,获得较大的整体效 益。

三、对偶单纯形法

1、基本思想

从原规划的一个基本解出发,此基本解不一定可行,但它对应着一个对偶可行解(检验数非正),所以也可以说是从 一个对偶可行解出发;然后检验原规划的基本解是否可行,即是否有负的分量,如果有小于零的分量,则进行迭代,求另一个基本解,此基本解对应着另一个对偶可行解(检验数非正)。

如果得到的基本解的分量皆非负,则该基本解为最优解。也就是说,对偶单纯形法在迭代过程中始终保持对偶解的可行性(即检验数非正),使原规划的基本解由不可行逐步变为可行,当同时得到对偶规划与原规划的可行解时,便得到原规划的最优解

什么情况下使用对偶单纯性法呢?

在初始计算中$ \sigma^{T}=(-c^{T},0^{T})\leq0$,即对偶可行,但是由于$-b\leq0$,所以\begin{cases}x_{s}=-b\leq0\\x=0\end{cases},所以原问题不可行。

应用前提:有一个基,其对应的基满足:

(1) 单纯形表的检验数行全部非正(对偶可行);

(2) 变量取值可有负数(非可行解)。

注:通过矩阵行变换运算,使所有相应变量取值均为非负数即得到最优单纯形表。

2、步骤

(1)建立初始对偶单纯形表,对应一个基本解,所有检验数均非正,转 (2)。

(2)若b\geq 0,则得到最优解,停止;否则,若有b_k<0则选k行的基变量为出基变量,转(3)。

(3)若所有a_{kj} \geq 0(j = 1,2,…,n),则原问题无可行解,停止(因为以任何a_{kj}为主元做主元消去时,都不可能使b_k变为正数); 否则,若有a_{kj}<0则选\theta=\min\{\sigma_{j}/a_{kj}|a_{kj}<0\}=\sigma_{r}/a_{kr}, 那么x_r为进基变量,转(4)。

(4)以a_{kr}为主元,作矩阵行变换使其变为1,该列其他元变为0,利用主元消去计算A,b,\sigma,转(2)。

$\theta$的选取保证新的检验数$\sigma_j^{\prime}\leq0$,因为

$ \sigma_j^{\prime}=\sigma_j-\frac{a_{kj}}{a_{kr}}\sigma_r=a_{kj}(\frac{\sigma_j}{a_{kj}}-\frac{\sigma_r}{a_{kr}}) $

主元消去运算后,对偶问题的目标函数值减小(至少不增大),因为


$ -(c_B^Tb)^{\prime}=-c_B^Tb-\frac{\sigma_r}{a_{kr}}b_k $

由于\frac{\sigma_r}{a_{kr}}b_k\leq0,故$-(c_B^Tb)'\geq-c_B^Tb$,即(c_B^Tb)'\leq c_B^Tb

注:由于主元消去前a_{kj}b_k同为负数,因此主元消去后右端列第k个分量变成正数,这有利于基本解向着满足可行性的方向转化。

3、例子

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

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

相关文章

数据库系统概论复习资料

数据库系统概论考试需知 一、分值分布 1、判断题&#xff08;10分&#xff09; 1分一个 2、填空题&#xff08;20分&#xff09; 2分一个 3、选择题&#xff08;20分&#xff09; 2分一个 4、分析题&#xff08;30分&#xff09; 第一题10分&#xff0c;第二题…

Enterprise Architect 12版本使用教程

Enterprise Architect 12版本使用教程 1.下载安装Enterprise Architect 122.Enterprise Architect原始DDL模板配置及存在的问题1.DDL Column Definition原始模板&#xff08;没有default值&#xff1a;可忽略&#xff09;2.DDL Data Type原始模板&#xff08;timestamp等时间字…

Apollo新版本Beta自动驾驶技术沙龙参会体验有感—百度自动驾驶开源框架

在繁忙的都市生活中&#xff0c;我们时常对未来的科技发展充满了好奇和期待。而近日&#xff0c;我有幸参加了一场引领科技潮流的线下技术沙龙&#xff0c;主题便是探索自动驾驶的魅力——一个让我们身临其境感受创新、了解技术巨擘的机会。 在12月2日我有幸参加了Apollo新版本…

智能优化算法应用:基于沙猫群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于沙猫群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于沙猫群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.沙猫群算法4.实验参数设定5.算法结果6.参考文献7.…

modbus转profinet网关解决plc插槽号不够用的情况

PLC作为常用的控制设备之一&#xff0c;其插槽号有时会限制外部设备的连接数量。然而&#xff0c;通过使用modbus转profinet网关&#xff0c;可以解决这一问题。这种设备能够将modbus协议转换为profinet协议&#xff0c;实现PLC与更多外部设备的连接。 modbus转profinet网关还具…

游戏盾的防御原理以及为什么程序类型更适合接入游戏盾。

游戏盾是一种专门用于游戏服务器的安全防护服务&#xff0c;旨在抵御各种网络攻击。它的原理主要包括以下几个方面&#xff1a; 流量清洗和过滤&#xff1a;游戏盾会对进入游戏服务器的流量进行实时监测、分析和过滤。它通过识别恶意流量和攻击流量&#xff0c;过滤掉其中的攻击…

浏览器渲染页面的过程以及原理

什么是浏览器渲染 简单来说&#xff0c;就是将HTML字符串 —> 像素信息 渲染时间点 浏览器什么时候开始渲染&#xff1f; 网络线程发送请求&#xff0c;取回HTML封装为渲染任务并将其传递给渲染主线程的消息队列。 问题&#xff1a;只取回HTML吗&#xff1f;那CSS和JS呢&am…

元宇宙vr党建云上实景展馆扩大党的影响力

随着科技的飞速发展&#xff0c;VR虚拟现实技术已经逐渐融入我们的日常生活&#xff0c;尤其在党建领域&#xff0c;VR数字党建展馆更是成为引领红色教育新风尚的重要载体。今天&#xff0c;就让我们一起探讨VR数字党建展馆如何提供沉浸式体验&#xff0c;助力党建工作创新升级…

智能优化算法应用:基于袋獾算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于袋獾算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于袋獾算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.袋獾算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

Ant Design Vue 年选择器

文章目录 参考文档效果展示实现过程 参考文档 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; DatePicker 日期选择框 大佬&#xff1a;搬砖小匠&#xff08;Ant Design vue 只选择年&#xff09; 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案…

使用Caliper对Fabric地basic链码进行性能测试

如果你需要对fabric网络中地合约进行吞吐量、延迟等性能进行评估&#xff0c;可以使用Caliper来实现&#xff0c;会返回给你一份网页版的直观测试报告。下面是对test-network网络地basic链码地测试过程。 目录 1. 建立caliper-workspace文件夹2. 安装npm等3. calipe安装4. 创建…

使用TransBigData组件实现个人手机定位功能

目录 一、引言 二、技术背景 三、实现逻辑 四、代码实现 五、优化与注意事项&#xff1a; 六、总结 摘要&#xff1a;随着现代社会对定位服务的需求日益增加&#xff0c;实现个人手机定位功能成为了开发者的研究热点。本文详细阐述了如何使用Python和TransBigData组件实现…

Python 从入门到精通 学习笔记 Day03

Python 从入门到精通 第三天 今日目标 流程控制语句、退出循环、练习学习的内容 一、流程控制语句 流程控制的三种方式&#xff1a;顺序语句、双分支语句、循环语句 双分支语句 Python 的双分支语句使用if-else语句实现。 其语法结构如下: if条件:#如果条作为真&#xff…

Facebook广告报告指标CPC

在Facebook广告中&#xff0c;CPC可以作为一个关键指标来评估广告效果和投资回报。较低的CPC意味着广告主能以更低的价格获得更多的点击量&#xff0c;从而降低广告投放成本。而较高的CPC可能暗示着广告主需要更大的预算才能获得相同数量的点击。本文小编将讲讲Facebook广告报告…

k8s上安装KubeSphere

安装KubeSphere 前置环境安装nfs-server文件系统配置nfs-client配置默认存储创建了一个存储类metrics-server集群指标监控组件 安装KubeSphere执行安装查看安装进度 前置环境 下载配置我都是以CentOS 7.9 安装 k8s(详细教程)文章的服务器作为示例&#xff0c;请自行修改为自己的…

2.vue学习笔记(目录结构+模板语法+属性绑定)

1.目录结构 1.vscode ——VSCode工具的配置文件夹 2.node_modules ——Vue项目的运行依赖文件夹 3.public ——资源文件夹&#xff08;浏览器图标&#xff09; 4.src ——源码文件夹 5..gitgnore ——git忽略文件 6.index.html ——如果html文件 7.package.json —…

基于SpringBoot+Vue学生成绩管理系统前后端分离(源码+数据库)

一、项目简介 本项目是一套基于SpringBootVue学生成绩管理系统&#xff0c;主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目可以直接作为bishe使用。 项目都经过严格调试&#xff0c;确…

虚幻学习笔记10—C++函数与蓝图的通信

一、前言 除了上一章C变量与蓝图通信讲的变量能与蓝图通信外&#xff0c;还有函数和枚举也可以和蓝图通信。函数的关键字为”UFUNCTION“、枚举的关键字为”UENUM“。 二、实现 2.1、BlueprintCallable蓝图中调用 该函数时带执行的&#xff0c;带入如下。编译成功后在蓝图中输…

来自Sui的温馨建议:保护您的Web3私钥

当您安装一个钱包并创建Sui账户时&#xff0c;钱包包含一个公钥和一个私钥。保护好私钥的安全非常重要&#xff0c;从而可以保护您的Sui资产&#xff0c;包括钱包中的任何tokens。 公钥加密技术是几十年前开发的&#xff0c;是当今互联网上大多数安全交易的基础&#xff0c;包…

Navicat Premium 16 for Mac/Windows:高效的数据库开发工具

Navicat Premium 16是一款功能强大的数据库开发工具&#xff0c;为开发人员提供了全面的工具和功能&#xff0c;帮助他们更高效地进行数据库开发和管理。不论是初学者还是专业开发人员&#xff0c;Navicat Premium 16都能满足他们的需求&#xff0c;并提供直观、易用的界面。 …