Lecture 5    Duality and Sensitivity Analysis

本讲内容:

dual    LP问题的背面,

对偶变数、对偶约束、

对偶理论:对偶问题和原问题如何相连,   ---->  KKT condition

sensitivity analysis:cost coefficient ;right hand side  b  , resource constraint;A    constraint matrix 变动 对optimal solution有什么影响        ---->  鲁棒优化

之前学的又叫 revised simplex method ,区别于古早的 simplex method(图表法)、不知道现在在哪个顶点、direction、要走多少步、不是有意识的,

dual simplex method   尤其是network flow 里 解minimal criculation问题,用(Primal-Dual)算法

dual LP

同样的一堆资料,比原来差的越远越好,  互补最好

Primal-Dual pair

一个unbounded--->另一个 一定 infeasible

primal/dual : infeasible--->dual/primal : infeasible、unbounded, 不可能 finite

一个有 finite optimal,另一个一定finite optimal,No duality gap!   strong duality theorem

命题1 + 推论1 = strong duality theorem. 仔细看会 weak/strong duality theorem的定义,才理顺这里。

keep primal feasiblility

设          basis ,   primal bsf ,  dual bfs 

 常叫做  simplex multiplier

         根据basic solution定义

        根据primal feasible定义

和optimal无关,给一个basic solution,就有basis,永远有 

找到dual feasible ,when r_N>=0,  此时 primal 达到optimal

theorem of alternatives

用同样的咨询,组成两组system相对,只会有一个发生(有解)。

Farkas' lemma和线性规划是一体两面,很多早古教材,一开始从Farkas' lemma着手,

Farkas' lemma

最优化理论与方法-第二讲-凸集:Farkas引理_哔哩哔哩_bilibili

Farkas引理的几何意义_哔哩哔哩_bilibili

c向量 要么在锥里,要么在锥外

考虑特殊情况 b向量=0

当b为零向量时,问题就对应到Farkas引理的问题了。

局限性,需要假设矩阵A行满秩。

complementary slackness              即dual gap、   (Kuhn-Tucker condition )

primal问题 、dual问题都有slack,primal feasible和dual slack之间、dual feasible和primal slack之间、有关系

complementary:两个数都>=0,  乘积=0,

        

Implication
• Solving a linear programming problem is equivalent to solving a system of linear inequalities.

Economic interpretation of duality
• Is there any special meaning of the dual variables?
• What is a dual problem trying to do?
• What’s the role of the complementary slackness in decision making?

optimal resource allocation     诺贝尔经济学奖

IEOR专业(Industrial Engineering And Operations Research)工业工程与运筹学、运作管理(Operations Management)、科学管理

n个variable,每个代表一种服务。

提供每种服务每个单位价格c,

顾客有m种综合服务的需要

reduced cost与b(右手边)无关,所以之前问题中reduced cost>=0,在这里也成立,所以它是新问题的最优解

dual var.   单位成本,越大 表示这个约束越sensitive

b-Ax>0  假如 b_1  resource有剩 ----> w_1=0

A^T w-c>0   c_1第一种产品的卖价、 A^T w 做第一种产品需要很多个component  每个需要多少钱,赔本生意没人做

relaxed knapsack problem

整数解   是 np-hard问题


sensitivity analysis

Fundamental concepts
• No matter how the data (A, b, c) change, we need to make sure that
1. Feasibility (c is not involved):bfs x is feasible if and only
2. Optimality (b is not involved):        x is optimal    

r_q= c- A^T w >=0  每个dual var. 都feasible

primal optimal其实是在讲dual feasible;dual optimal其实是在讲primal feasible

扰动在第i个上:

在range [α, ] ,remain optimal        robust:semi-infinite LP法

原来是optimal ,reduced cost>=0,

                                

                                               

bfs值改变,不feasible, 但还是由-c和超平面generate出来的,optimal basis一样,

Changes in the constraint matrix
• Since both feasibility and optimality are involved, a general analysis is difficult.
• We only consider simple cases such as adding a new variable, removing a variable, adding a new constraint.

加入x_(n+1)   还是feasible,

removing a var. 其实就是解一个Phase I 的问题

higher dimension  hyperplane 就是lower dimension half space+slack var.

是否把原来的optimal切掉了?带入

找到新的basis ,  check  >=0,则找到了 dual feasible solution >=0 则primal feasible--->  是optimal solution

dual feasible solution ,primal 不feasible,则对dual 用simplex method继续走,从dual feasible solution走到optimal

Dual simplex method

有方法可以找到一个dual feasible 来开始,

有dual feasible, gap=0,   check  x>=0 (primal feasible)

Related issues
• Question 1:which  is entering the basis?
• Analysis:(1) we should keep dual feasibility and complementary slackness.(2) complementary slackness condition always holds according to the way we define w and x.(3) The real problem is to keep dual feasibility while  leaves and  enters.   • Question 2:Where is the dual feasibility information?
• Guess: must be from the fundamental matrix and vector C.

确保换了B后, 还是dual feasible ,找的全部资料一定在 c 和 M^-1 里

找个类似minimal ratio test的方法,来找到换掉 , >=0的

invert  nxn matrix 需要n^3的计算量

matrix  乘 matrix     n^2

vector 乘vector     n

rank one update

   rank one matrix

dual  unbounded

basis B,

--->dual feasible solution  w 。算reduced cost>=0      (D)feasible

算x_B>=0 ;(P)feasible ,则optimal

否则 x_p<0  替换掉   minimize ratio test,update B,重复

D`和D 有同样的feasible solution set, objective不一样

x是bfs  to   Ax=Be问题      解reduced cost>=0,

Remarks
(1) Solving a standard form LP by the dual simplex method is mathematically equivalent to solving its dual LP by the revised (primal) simplex method.
(2) The work of solving an LP by the dual simplex method is about the same as of by the revised (primal) simplex method.
(3) The dual simplex method is useful for the sensitivity analysis.

add constraint时,primal 不feasible,但dual 可能还是feasible basis

思考:用revised simplex method 还是dual simplex method ?

哪边能观察到feasible solution,或者 哪边不涉及degenerate ,则从哪边开始


算法复杂度

interior method:n^3量级

Klee-Minty cube立方锥

对偶理论,敏感性分析(方述诚 笔记4相关推荐

  1. 斯坦福《编程方法学》 笔记与资源

    目录 文章目录 目录 介绍 正文 笔记 资源 介绍 编程是一切的基础,如果没有成功运行的程序,那么一切都是空谈. 正文 编程方法学是斯坦福的一门经典课程,学会该课程,可以很好的提升大家对程序的理解能力 ...

  2. 仙人掌圆方树学习笔记

    终于对仙人掌有了一点初步的理解. 仙人掌 仙人掌是什么? 仙人掌是一个无向图. 仙人掌有什么特点? 仙人掌的每条边只属于一个简单环. 下面是一个栗子 有什么用呢? 我们可以先用\(tarjan\)找出 ...

  3. 《大数据之路:阿里巴巴大数据实践》总述-读书笔记

    目录 0.前言 1.总述 0.前言 今天花了些时间较为详细的阅读了<大数据之路:阿里巴巴大数据实践>,主要内容如下及后续篇幅. 1.总述 从下至上依次分为数据采集层.数据计算层.数据服务层 ...

  4. 信号处理原理-郑方(学习笔记)

    工程信号处理 目录 第一章 基本概念 1.1 信号及其描述和分类 1.1.1 信号的概念 1.1.2 信号的描述方法 1.1.3 信号的分类 1.2 信号处理 1.2.1 数字信号处理 Created ...

  5. 笨方法学Python笔记(6)

    在上一个博客中,我们已经学到了习题31,接下去是习题32关于list的联系,感觉自己好像已经掌握,就想偷懒直接跳过去,往后扫了几眼教程,一路扫到了文末,结尾是这样的一句话:"你会编程.他们不 ...

  6. 笨方法学Python笔记(7)

    下班了,可是本宝宝还要学习,沉迷学习不能自拔. 习题35:分支和函数 这一个习题的代码好长啊,敲得我手酸... from sys import exitdef gold_room():print &q ...

  7. 笨方法学python笔记(4)

    这几天做了布尔逻辑值的习题,按照书中的方法一步步进行记忆训练.由于这一部分记忆的东西比较多,不适合记录在博客上.目前进展到习题29,继续在博客上记录学习过程. 习题29的主题是if语句,老规矩,先贴敲 ...

  8. 笨方法学Python笔记(9)

    距离上次写的博客,已经过去一个多礼拜了,这一个多礼拜主要是做了习题37--阅读别人的代码.在Github上搜了一个抢票软件,于是沉迷其中不可自拔.前段时间杰伦演唱会,闺蜜在永乐上想抢票却失败了,据说是 ...

  9. 頑健なJavaプログラムの書き方

    頑健なJavaプログラムの書き方(Writing Robust Java Code) The AmbySoft Inc. Coding Standards for Java v17.01d Sun M ...

最新文章

  1. 512张GPU炼出10万亿参数巨模型!5个月后达摩院模型再升级,今年双十一已经用上了...
  2. GAN与力学系统的海森伯图像
  3. Intent对象详解(一)
  4. 2019年招聘python工程师薪资飙升,Python这些技能你掌握了吗
  5. 树莓派入门(树莓派登录的几种方式)
  6. 计算机目标导学方法,计算机教学计划
  7. java axis2 教程_webservice的Axis2入门教程java版
  8. 筛选出1-n之间的个位数字为1的素数(Java代码实现)
  9. Kafka启动报错:Timed out waiting for connection while in state: CONNECTING
  10. Redis学习总结(14)——图解redis五种数据结构底层实现(动图版)
  11. Cocosd-x”设计模式“之五 :防御式编程”模式“
  12. 云班课资源自动下载详细教程
  13. 卸载计算机flash,Flash Player卸载器(Flash Player Uninstaller)
  14. convertTo的用法
  15. 某P2P开发商ERP系统核心业务介绍
  16. docker-reviewboard
  17. 我的测试入门——需求分析与用例编写
  18. mysql实现拼音首字母查询
  19. 【菜鸟C++学习杂记】ASCII码转换和显示
  20. s17王者服务器维护几点,王者荣耀S17赛季更新维护几点开始?王者荣耀四周年更新多久...

热门文章

  1. STM32F103 实例应用(2)——DAP仿真下载以及STVP下载
  2. node获取客户端ip
  3. 深入SpringBoot核心注解原理
  4. Qt 显示图片 放大 缩小 移动
  5. 全面解析Mybatis中参数处理
  6. 从自己挖的坑里爬出来
  7. 工业母机扶持政策汇总来了,国家-广东省-深圳市
  8. 没有伞的孩子要学会奔跑
  9. mysql-删除语句汇总
  10. 基于微信小程序的机房设备故障报修平台