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

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

原问题:

\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.rhkb.cn/news/212123.html

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

相关文章

docker基本管理和概念

1、定义&#xff1a;一个开源的应用容器引擎&#xff0c;基于go语言开发&#xff0c;运行在liunx系统中的开源的、轻量级的“虚拟机” docker的容器技术可以在一台主机上轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器 docker的宿主机是liunx系统&#xff0c;集…

Maven——使用Nexus创建私服

私服不是Maven的核心概念&#xff0c;它仅仅是一种衍生出来的特殊的Maven仓库。通过建立自己的私服&#xff0c;就可以降低中央仓库负荷、节省外网带宽、加速Maven构建、自己部署构件等&#xff0c;从而高效地使用Maven。 有三种专门的Maven仓库管理软件可以用来帮助大家建立…

六个自媒体写作方法,提升自媒体创作收益

在自媒体时代&#xff0c;写作成为了一个不可或缺的技能。特别是对于新手来说&#xff0c;掌握一些有效的写作方法&#xff0c;可以事半功倍&#xff0c;更好地展现个人创意和观点。在这里&#xff0c;我将分享六个适合新手的自媒体写作方法&#xff0c;希望能够为你在写作之路…

class039 嵌套类问题的递归解题套路【算法】

class039 嵌套类问题的递归解题套路 算法讲解039【必备】嵌套类问题的递归解题套路 Code1 772. 基本计算器 III 实现一个基本的计算器来计算简单的表达式字符串。 表达式字符串只包含非负整数&#xff0c;算符、-、*、&#xff0c; ,左括号(和右括号)。整数除法需要向下截…

unity学习笔记

一、射线检测 如何让鼠标点击某个位置&#xff0c;游戏角色就能移动到该位置&#xff1f; 实现的原理分析&#xff1a;我们能看见游戏的东西就是摄像机拍摄到的东西&#xff0c;所以摄像机的镜平面就是当前能看到的了。 那接下来我们可以让摄像机发射一条射线&#xff0c;鼠标…

【网络编程】-- 01 概述、IP

网络编程 1 概述 1.1 计算机网络 (连接分散计算机设备以实现信息传递的系统) 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线路连接起来&#xff0c;在网络操作系统&#xff0c;网络管理软件及网络通信协议的管理和协调下&…

06 硬件知识入门(MOSS管)

1 简介 MOS管和三极管的驱动方式完全不一样&#xff0c;以NPN型三极管为例&#xff0c;base极以小电流打开三极管&#xff0c;此时三极管的集电极被打开&#xff0c;发射极的高电压会导入&#xff0c;此时电流&#xff1a;Ic IbIe &#xff1b;电压&#xff1a;Ue>Uc>Ub…

JAVA IO:NIO

1.阻塞 IO 模型 ​ 最传统的一种 IO 模型&#xff0c;即在读写数据过程中会发生阻塞现象。当用户线程发出 IO 请求之后&#xff0c;内核会去查看数据是否就绪&#xff0c;如果没有就绪就会等待数据就绪&#xff0c;而用户线程就会处于阻塞状态&#xff0c;用户线程交出 CPU。当…

HarmonyOS ArkTS与c++交互通信

一、创建Native C Module 1、右键项目->new->module 如图&#xff1a; 2、修改build-profile.json5配置 "externalNativeOptions": {"path": "./src/main/cpp/CMakeLists.txt","arguments": "-v -DOHOS_STLc_shared&quo…

java--枚举

1.枚举 枚举是一种特殊类 2.枚举类的格式 注意&#xff1a; ①枚举类中的第一行&#xff0c;只能写一些合法的标识符(名称)&#xff0c;多个名称用逗号隔开。 ②这些名称&#xff0c;本质是常量&#xff0c;每个常量都会记住枚举类的一个对象。 3.枚举类的特点 ①枚举类的…

ArcGIS提示当前许可不支持影像服务器

1、问题&#xff1a; 在用ArcGIS上处理影像栅格数据时&#xff08;比如栅格数据集裁剪、镶嵌数据集构建镶嵌线等&#xff09;经常会出现。 无法启动配置 RasterComander.ImageServer <详信息 在计算机XXXXX上创建服务器对象实例失败 当前许可不支持影像服务器。 ArcGIS提示当…

ChatGPT学习笔记

1 ChatGPT架构图 &#xff08;ChatGPT_Diagram.svg来自于【OpenA | Introducing ChatGPT】&#xff09; 2 模型训练 ChatGPT在训练时使用了PPO方法&#xff1b;

视界臻色彩 轻巧薄未来 《2023年中国OLED电视发展白皮书》发布

随着中国经济迈入新周期&#xff0c;彩电行业也进入存量竞争阶段。在此背景下&#xff0c;主流品牌围绕新产品、新技术、新应用等方面积极发力&#xff0c;特别是在高端彩电市场的争夺中&#xff0c;伴随着三星OLED的入局开始变得愈发激烈。我国“十三五”规划中明确指出&#…

算法通关村第三关—双指针思想及其应用(白银)

双指针思想及其应用 一、双指针思想 这里介绍一种简单但非常有效的方式一双指针。所谓的双指针其实就是两个变量&#xff0c;不一定真的是指针。双指针思想简单好用&#xff0c;在处理数组、字符串等场景下很常见。 看个例子&#xff0c;从下面序列中删除重复元素[1,2,2,2,3,…

如何使用phpStudy本地快速搭建网站并内网穿透远程访问

文章目录 使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点&#xff0c;测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中&#xff0c;查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2.2 映…

Spring 声明式事务

Spring 声明式事务 1.Spring 事务管理概述1.1 事务管理的重要性1.2 Spring事务管理的两种方式1.2.1 编程式事务管理1.2.2 声明式事务管理 1.3 为什么选择声明式事务管理 2. 声明式事务管理2.1 基本用法2.2 常用属性2.2.1 propagation&#xff08;传播行为&#xff09;2.2.2 iso…

(动手学习深度学习)第13章 实战kaggle竞赛:树叶分类

文章目录 实战kaggle比赛&#xff1a;树叶分类1. 导入相关库2. 查看数据格式3. 制作数据集4. 数据可视化5. 定义网络模型6. 定义超参数7. 训练模型8. 测试并提交文件 竞赛技术总结1. 技术分析2. 数据方面模型方面3. AutoGluon4. 总结 实战kaggle比赛&#xff1a;树叶分类 kagg…

MYSQL练题笔记-排序和分组-全7题已完成

排序和分组这部分共7道题&#xff0c;如下&#xff0c;只说一说3道&#xff0c;其他都写对了&#xff0c;也不难&#xff0c;只有最后一题难一点点&#xff0c;没想到那种解法&#xff0c;一看到主键和外键就想利用连接。 1.销售分析的题目和表相关内容如下 就是利用product_id…

西工大计算机学院计算机系统基础实验一(函数编写11~14)

稳住心态不要慌&#xff0c;如果考试周冲突的话&#xff0c;可以直接复制这篇博客和上一篇博客西工大计算机学院计算机系统基础实验一&#xff08;函数编写1~10&#xff09;-CSDN博客最后的代码&#xff0c;然后直接提交&#xff0c;等熬过考试周之后回过头再慢慢做也可以。 第…