线性规划的对偶问题(The Dual of LP)

news2024/12/24 10:28:38

线性规划的对偶问题(The Dual of LP)

对偶理论是线性规划中最重要的理论之一,是深入了 解线性规划问题结构的重要理论基础。同时,由于问题提 出本身所具有的经济意义,使得它成为对线性规划问题系 统进行经济分析和敏感性分析的重要工具。那么,对偶问 题是怎样提出的,为什么会产生这样一种问题呢?

一、引例

**引例:**两个家具制造商间的对话如下:

image-20230704145415328

王老板生产桌子和椅子两种产品,桌子的单价是50元,生产一张桌子需要4个木工工时,2个油漆工工时,椅子的单价为30元,生产一把椅子需要3个木工工时,1个油漆工工时,王老板总计有120个木工工时和50个油漆工工时。

此时,王老板考虑两个问题:第一个自己用木工和油漆工最多能赚多少钱,第二个把木工和油漆工出租出去不能低于自己赚的钱(不吃亏原则),并且出租的价格要尽可能低,使得李老板可以接受(竞争性原则)

image-20230704145446484

家具生产模型称为原始线性规划问题,也称为原问题,记为(P,Primal)。该模型解决的问题是,如何利用有限的资源最大化生产收益。

资源出租模型称为对偶线性规划问题,也称为对偶问题,记为(D,Dual)。该模型解决的问题是,如何进行资源最小化定价(竞争性原则),使得资源售卖的收益不低于自己生产所获的最大生产收益(不吃亏原则)。y为对偶变量,也称为影子价格

这里我们仔细观察一下资源出租模型,第一条约束是讲售卖4单位木工工时和2单位油漆工时的收益要大于50,50刚好是生产一张桌子的收益,生产一张桌子正好是需要4单位木工工时和2单位油漆工工时。第一条约束就是说,生产1个桌子所需的资源的售卖收益,要大于生产1个桌子的销售收益。第二条约束,生产1个椅子所需的资源售卖收益,要大于生产1个椅子的销售收益,约束条件的目标就是要求不吃亏。目标函数是希望资源出售的总价最低,目标就是满足市场竞争性原则。

那么王老板按照资源出租模型(对偶规划问题),求解就可以获得其出租木工、油漆工资源的价格,这样既能保证不吃亏(出租资源的租金收入并不低于自己生产时的销售收入),又是的出租价格对李老板有极大的吸引力(李老板所付出的总租金W最少)。本质上,是一种“共赢”。

二、对偶问题的形式

image-20230704150736219

原问题和对偶问题的转换:

image-20230704151015221

image-20230704151232333

image-20230704151451895

image-20230704151354168

三、对偶定理(The Dual Theorem)

我们以对称型对偶问题为例(非对称型问题可以转化为对称型问题),来讲解对偶定理。

性质1: 对称性定理

image-20230704151713890

性质2: 弱对偶原理(弱对偶性)

image-20230704151830841

image-20230704151849406

image-20230704152357642

image-20230704152425709

image-20230704152504937

image-20230704152637618

性质3: 最优性定理

image-20230704152802667

性质4: 强对偶性

image-20230704152924663

image-20230704153321552

image-20230704153406830

性质5: 互补松弛性

image-20230704153441221

image-20230704153611913

image-20230704153657243

image-20230704153727353

image-20230704153816498

image-20230704153908131

image-20230704153933443

image-20230704154202495

image-20230704154219433

image-20230704154254935

image-20230704154317761

四、影子价格(Shadow Prices)

image-20230704155758518

image-20230704155830378

image-20230704155901993

image-20230704155926712

image-20230704155950401

image-20230704160024846

image-20230704160051737

image-20230704160123085

image-20230704160149839

image-20230704160218524

image-20230704160241482

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

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

相关文章

原生 js点击空白处 关闭遮罩层(关闭某个div)

如图所示 点击空白处关闭此div document.addEventListener(click, function(e) {//监听页面点击事件var screenDoc document.querySelector(.controlHead);//需要关闭的divvar control document.querySelector(.control);//设置的按钮if (screenDoc && !screenDoc.co…

基于TF-IDF+Tensorflow+pyQT+孪生神经网络的智能聊天机器人(深度学习)含全部工程源码及模型+训练数据集

目录 前言总体设计系统整体结构图系统流程图孪生神经网络结构图 运行环境Python 环境TensorFlow 环境 模块实现1. 数据预处理2. 创建模型并编译3. 模型训练及保存4. 模型应用 系统测试1. 训练准确率2. 测试效果3. 模型应用 工程源代码下载其它资料下载 前言 本项目利用TF-IDF&…

【Docker、Dockerfile】使用Dockerfile创建镜像并运行容器

创建SpringBoot项目 创建一个Springboot的Java项目,然后打包成可运行的Jar 编写Dockerfile文件 在项目文件夹下创建Dockerfile文件,内容如下 # 定义用于构建镜像的 JDK 版本参数,可以在构建过程中通过 --build-arg 选项传递给 docker bui…

如何用adb命令统计app冷启耗时

第一步:杀掉App,然后重启,过滤Displayed日志,找到App启动的第一个Activity; adb logcat | grep Displayed 第二步:再次杀掉App,使用adb shell am start命令来启动app: adb shell a…

podman容器的使用

podman 安装 如果你想在rhel系统中玩podman,必须是rhel8.2版本以上。podman版本是1.9.3。从centos8.2开始默认情况下,除了最小化安装之外,系统都会默认安装podman。 如果你使用rhel8.2以上的版本,那么就直接安装podman就可以了。…

关于多grib文件合并以及netcdf和grib的方法

前言 之前在使用WRF做敏感性试验时,曾修改初始场的grib文件,并涉及到多个grib文件合并的情况,下面介绍一些好用的工具处理netcdf和grib 1、 grib_copy 官网:https://confluence.ecmwf.int/display/ECC/grib_copy 在Linux系统上…

从零实现深度学习框架——Seq2Seq模型尝试优化

引言 本着“凡我不能创造的,我就不能理解”的思想,本系列文章会基于纯Python以及NumPy从零创建自己的深度学习框架,该框架类似PyTorch能实现自动求导。 💡系列文章完整目录: 👉点此👈 要深入理解深度学习,从零开始创建的经验非常重要,从自己可以理解的角度出发,尽…

【操作系统核心概念】进程管理和进程调度

文章目录 前言1. 什么是操作系统2. 操作系统的定位3. 进程管理3.1 什么是进程/任务 (Process/Task)3.2 进程管理怎么做的3.3 进程控制块抽象PCB (Process Control Block)3.3.1 进程调度属性 4. 内存分配 ---- 内存管理 (Memory Manage)5. 进程间通信 (Inter Process Communicat…

带你看懂串口服务器

1、背景 串口服务器提供串口转网络功能,能够将RS-232/485/422串口转换成TCP/IP网络接口,实现RS-232/485/422串口与TCP/IP网络接口的数据双向透明传输。使得串口设备能够立即具备TCP/IP网络接口功能,连接网络进行数据通信,极大的扩…

Mac 脚本编辑器 (scriptEditor)

文章目录 1、打开 scriptEditor2、编写脚本3、执行脚本 1、打开 scriptEditor command 空格 输入 scriptEditor 2、编写脚本 脚本语言可以保存问文件,可以重复编辑 如下,每次打开一个新终端,执行新命令 tell application "Terminal&…

冒泡排序(附图详解)

目录 什么是冒泡排序? 冒泡排序的算法思想 算法图解 参考代码 运行结果 优化代码 运行结果 什么是冒泡排序? 将两个相邻的元素进行比较,如果前面的元素大(从小到大排序),就交换两个元素,…

ESP32设备驱动-ICM-20948 运动跟踪驱传感器驱动

ICM-20948 运动跟踪驱传感器驱动 文章目录 ICM-20948 运动跟踪驱传感器驱动1、ICM-20948介绍2、硬件准备3、软件准备4、驱动实现1、ICM-20948介绍 ICM-20948 是功耗非常低的 9 轴运动跟踪设备,非常适合智能手机、平板电脑、可穿戴传感器和物联网应用。 功率是现有 9 轴设备的…

02、PIC16F877的ADC模块

02、PIC16F877的ADC模块 一、ADC的一般配置步骤 二、ADC的软件滤波 三、性能提高 四、A/D器件推荐

【Java基础教程】(一)入门介绍篇 · 上:快速掌握核心概念,开启Java世界的探索之旅!这篇Java入门宝典助你翱翔~

Java基础教程之入门介绍 上 本节学习目标1️⃣ Java发展简史1.1 诞生1.2 发展1.3 分支 2️⃣ 特征3️⃣ 代码执行过程🌾 总结 本节学习目标 清楚Java语言的发展历史以及语言主要特点;清楚Java代码从源文件到解释执行的大致过程;理解Java实现…

react—Hook(1)

1. useState——见react语法(2) 2. useEffect——见react语法(2) 3. useRef—获取页面元素 用来获取页面中的元素,这样就可以对这个元素进行操作。获取元素需要使用.current才能获取到页面中的具体元素。 定义&…

thinkphp6使用think-queue实现普通队列和延迟队列

Redis的延迟队列可以用于以下场景: 需求说明: 当用户申请售后,商家未在n小时内处理,系统自动进行退款。 商家拒绝后,用户可申请客服介入,客服x天内超时未处理,系统自动退款。 用户收到货物&…

Xray-基础详细使用

一:Xray介绍 Xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,可支持与AWVS,BP等众多安全工具联合使用。 二:Xray简易架构: 说明:了解 Xray 的整体架构可以更…

python语法 变量、print、注释和运算符

文章目录 1. 变量1.1 变量名1.2 变量值1.3 查看变量类型 2. print2.1 常规使用2.2 格式化操作符 %2.2.1 格式化符号2.2.2 格式化操作符的辅助指令2.2.3 转义字符 2.2 .format() 3. 注释4. 算术运算符5. 逻辑运算符6. 按位操作符7. 比较运算符8. 复合赋值运算符5. 成员操作符 1.…

Spring 最全入门教程详解

目录 一、Spring Framwork简介1. Spring Framework五大功能模块2. Spring Framework特性 二、IOC容器1. IOC思想2. IOC容器在Spring中的实现3.基于xml管理Bean3.1 引入依赖3.2 创建类3.3 创建Spring的配置文件3.4 创建测试类3.5 总结 4.DI依赖注入4.1 setter注入4.2 构造器注入…

基于Java电脑配件销售系统设计实现(源码+lw+部署文档+讲解等)

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…