首页 > 编程语言 >算法工程师学习运筹学 笔记三 对偶问题

算法工程师学习运筹学 笔记三 对偶问题

时间:2023-08-16 09:55:19浏览次数:32  
标签:约束条件 可行 线性规划 问题 算法 最优 运筹学 对偶

对偶问题

每一个线性规划问题(称为原始问题)都有一个与它对应的对偶线性规划问题(称为对偶问题)。

在原始的和对偶的两个线性规划中求解任何一个规划时,会自动地给出另一个规划的最优解;当对偶问题比原始问题有较少约束时,求解对偶规划比求解原始规划要方便得多;对偶规划中的变量就是影子价格,可以为企业管理决策提供有用信息。

 

 

 

线性规划的对偶问题

直接看公式

 

 当原问题为最优解时,对偶问题也为最优解。

 

 

对偶问题的基本性质

弱对偶性

  • 原问题任一可行解的目标函数值是其对偶问题目标函数值的下界;反之对偶问题任一可行解的目标函数值是其原问题目标函数值的上界。
  • 如原问题有可行解且目标函数值无界(具有无界解),其对偶问题无可行解;反之对偶问题有可行解且目标函数值无界,则其原问题无可行解(注意哦,本条性质逆不成立,即当对偶问题无可行解时,其原问题或具有无界解或无可行解,反之亦然)。
  • 若原问题有可行解而其对偶问题无可行解,则原问题目标函数值无界;反之对偶问题有可行解而其原问题无可行解,则对偶问题的目标函数值无界。

最优性

  • 如果原问题的可行解与对偶问题的可行解相等,那么该可行解是各自的最优解

强对偶性

  • 若原问题及其对偶问题均具有可行解,则两者均具有最优解且目标函数值相等。

互补松弛性

  • 在线性规划问题的最优解中,如果对应某一约束条件的对偶变量值为非0,则该约束条件取严格等式,则其对应的对偶变量一定为0

影子价格

 当线性规划原问题求得最优解xj(j=1, ...,n)时其对偶问题也得到最优解 yi(i=1, ..., m),且代入各自目标函数后有

 式中bi是线性规划原问题约束条件的右端项,代表第i种资源的拥有量。yi描述了原始线性规划问题达到最优时,第i种资源的“估价”。这种估价不是资源的市场价格,而是单位第i种资源在所给问题的最优方案中作出的贡献的估价,

 

影子价格(shadow price)它反映了

  • 在最优经济结构中在资源得到最优配置前提下资源的边际使用价值。
  • 资源对目标函数的边际贡献,及资源转化成效益的效率

将互补松弛性质(在线性规划问题的最优解中,如果对应某一约束条件的对偶变量值为非零则该约束条件取严格等式;反之如果约束条件取严格不等式,则其对应的对偶变量一定为0)应用于对偶问题,可得

在某项经济活动中,在资源得到最优配置条件下:

 

 

 

该性质的经济意义:

  • 若产生一个单位的第种产品按消耗资源的影子价格计算的支出等于销售一个单位该产品所得收入,则可生产此产品
  • 若生产一个单位的第种产品按所消耗资源的影子价格计算的支出大于销售一个单位该产品得到的收入,则不宜生产此产品

 

 

对偶单纯形法

与单纯形法相比,对偶单纯性方法提高了对求解线性规划问题的效率,它具有以下优点:

初始基解可以是非可行解,当检验数都为负值时,就可以进行基的变换,不需加入人工变量;

②对于变量多于约束条件的线性规划问题,用对偶单纯形法可以减少计算量,在灵敏度分析及求解整数规划的割平面法中,有时适宜用对偶规划单纯形法。

对偶单纯形法的使用也具有一定的局限性:

在使用对偶单纯形法时,要求必须所有的检验数均≤0,且右端项中必须有负分量,而大多数线性规划问题的初始单纯形表很难满足所有检验数均≤0的要求,因此,对偶单纯形法一般不会单独使用

灵敏度分析

灵敏度分析,是指当线性规划问题中的参数发生变化后,引起最优解如何改变的分析。

按照公式,将变化的参数反映到单纯形表上,再检查原问题与对偶问题是否仍为可行解

 

 

参数线性规划

参数线性规划,研究系数不是常数,而是在某范围内变化的参数的线性规划问题。求解参数线性规划问题的目的就是求出参数在不同范围内对应的线性规划问题的最优解。

通常讨论的参数线性规划都局限于目标系数C(λ)和约束条件常数b(λ)的线性参数变化。

 

 

标签:约束条件,可行,线性规划,问题,算法,最优,运筹学,对偶
From: https://www.cnblogs.com/4PrivetDrive/p/17627822.html

相关文章

  • 代码随想录算法训练营第十三天|单调数列:滑动窗口最大值(力扣239.)、优先级队列:前k个高
    单调数列:滑动窗口最大值(力扣239.)给定滑动窗口的范围,求每个滑动窗口范围内的最大值使用单调队列实现对于最大值数字前面的数字不存入数列,对于最大值数字后面的数字存入数列中单调队列中数字的大小呈递减顺序pop(value):如果窗口移除的元素等于单调队列的队口元素,则pop;否则什......
  • 文心一言 VS 讯飞星火 VS chatgpt (76)-- 算法导论7.3 1题
    一、如果用go语言,为什么我们分析随机化算法的期望运行时间,而不是其最坏运行时间呢?文心一言:在分析算法的性能时,期望运行时间是一个重要的指标,它描述了算法在平均情况下的表现。期望运行时间考虑了所有可能的情况,包括输入数据的分布和随机性等因素。对于随机化算法,最坏情况下的......
  • 文心一言 VS 讯飞星火 VS chatgpt (76)-- 算法导论7.3 1题
    一、如果用go语言,为什么我们分析随机化算法的期望运行时间,而不是其最坏运行时间呢?文心一言:在分析算法的性能时,期望运行时间是一个重要的指标,它描述了算法在平均情况下的表现。期望运行时间考虑了所有可能的情况,包括输入数据的分布和随机性等因素。对于随机化算法,最坏情况下的运行......
  • R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样|附代码数据
    原文链接:http://tecdat.cn/?p=3772原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于MCMC的研究报告,包括一些图形和统计输出。创建测试数据第一步,我们创建一些测试数据,用来拟合我们的模型。我们假设预测变量和因变量之间存在线性关系,所以我们用线性模型并添加一些噪音......
  • 代码随想录算法训练营第十一天|力扣20.有效的括号、力扣1047.删除字符串中所有相邻重
    有效的括号(力扣20.)括号匹配时使用栈解决的经典问题题意其实就像我们在写代码的过程中,要求括号的顺序是一样的有左括号,那么在对应位置则必须有右括号第一种情况:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配,所以returnfalse第二种情况:遍历字......
  • Python小项目:利用tkinter搭建粗糙集简约算法软件
    文章目录1前言2粗糙集简约算法简述2.1基本概念2.2算法原理2.3应用领域3实验详解3.1实验数据3.2实验说明及过程截图3.3实验结果4代码详解5结语完整项目下载:下载链接1前言在本次旅程中,我们将探索一个令人兴奋的主题——“Python小项目:利用tkinter搭建粗糙集简约算法软件......
  • 神经网络算法如何用代码实现
    神经网络是一种模仿人类神经系统结构的机器学习算法,用于解决各种任务,如图像分类、自然语言处理等。以下是使用Python中的tensorflow库实现一个简单的神经网络的基本示例,以图像分类为例:importtensorflowastffromtensorflow.keras.datasetsimportmnistfromtensorflow.keras.......
  • 论文解读 | 5分钟带你了解基于深度学习的点云配准的ICP算法
    原创|文BFT机器人01摘要迭代最近点(ICP)及其变式为此任务提供了简单且易于实现的迭代方法,但这些算法可能会收敛到虚假的局部最优值。为了解决ICP通道中的局部最优和其他困难,我们提出了一种基于学习的方法,名为“深度最近点”(DCP),其灵感来自计算机视觉和自然语言处理的最新技术。我们......
  • RGBA alpha 透明度混合算法
        Alpha透明度混合算法,网上收集整理,分成以下三种:一、R1,G1,B1,Alpha1为前景颜色值,R2,G2,B2,Alpha2为背景颜色值,则    前景色 R=R1*Alpha1+R2*Alpha2*(1-Alpha1);          G=G1*Alpha1+G2*Alpha2*(1-Alpha1); ......
  • 贪心算法入门
    贪心算法的核心思想是通过局部最优解得到或近似取得全局最优解,此时有几个待解决的问题:怎么判断题目是否应用贪心策略求解?怎么寻求局部最优与全局最优的关系?如何选择最优的贪心标准以得到全局最优/较优解?思想理解可以参阅知乎答主"冒泡"的一篇回答如何理解动态规划?......