zoukankan      html  css  js  c++  java
  • 运筹学整理笔记1

    一下是本人对于运筹学的一点学习笔记以及心得,由于是刚刚接触所以有些地方可能理解不是很到位,只留做大家的一个参考。有什么不合理的地方还请各位指正,谢谢!!!

    第二章 线性规划与单纯形法(待完善)

     

     所以线性规划问题的求解变得相当的重要,首先最为直观的为图解法,通过作图直观方便的求解相应解。由于其直观的结果,可以轻易地看出三中情况:1、无穷多最优解2、无界解3、无可行解。为了形式化求解办法我们将所有的线性规划问题化为标准形式。

    区分四个概念:

    1、  可行解:

    2、  基:

    3、  基可行解:

    4、  可行基:

    由于图解法自身的弊端,即只能表示两个变量(最多三个)的规划问题,所以产生了单纯形法:其本质是对于图解法的拓展,所谓的单纯形其实就是指各个维度中的图形,只不过图解法是单纯形法在二维中的情况。而单纯形的寻优其实就是对于单纯形的各个边界以及定点的寻优。

    单纯形法的根基:

    单纯形法基于以下几个定理:

    几个概念

    1、  凸集:K是n维空间的一点集,若任意的两点X(1)ϵK,X(2)ϵK的连线上的所有的点满足αX(1)+ (1-α)X(1) ϵK,(0≤α≤1);则K为凸集。

    2、  凸组合:

    3、  顶点:

    几个定理:

    1、  若线性规划问题存在可行域,则其可行域是凸集

    2、  线性规划问题的可行解X=(x1,x2,x3……xn)T为基可行解的充分必要条件是X的正分量所对应的系数列向量是线性独立的。

    3、  线性规划问题的基可行解X对应于可行域D的顶点。

    4、  若K是有界凸集,则任何一点X ϵK科表示为K的顶点的凸组合

    5、  若可行域有界,线性规划问题的目标函数一定可以再起可行域的顶点上达到最优

    松弛变量与人工变量:

    为了使约束中的不等式变为等式的标准形式,我们将多余的部分表示成松弛变量就得到了标准形式,加入的松弛变量其实质是表明没有利用上的资源,人工变量其实就像是为了方便找初始基多引入的东西。不过要说的是人工变量在目标函数中的系数的正负要注意。

    其实一般来说 ≤ 的情况下要 “+松弛变量”; 在 ≥ 的情况下要 “松弛变量+人工变量”。但是可以将≥ 的情况两边取负,变成≤ 的情况然后“+松弛变量”,这实质上是等价于在原式子基础上单单“松弛变量”。人工变量的功用有待探讨……

    人工变量的功用:???

     

     

     

    标准形式的转换step

    目标函数 --> 变量 -->约束条件

    转为max -->注意无约束的变量-->注意的那个“减松驰加人工”

     

    解的判别:

    1、  最优解的判别准则:所有的非基变量σj≤0 ;

    2、  无穷多最优解的判别准则:有一个非基变量σj=0,其余的非基变量σj≤0 ;

    3、  无界解的判别准则:有一个σj>0,但是对应的该列系数都≤0 ;

    4、  无解的判别准则: 所有σj≤0但是基变量中存在人工变量而且人工变量不为0 ;

    基变换:

    1、  在所有的非基变量σj中找正的最大的为换入变量

    2、  在所有的非基变量Ѳ中找正的最小的为换出变量

    关于两阶段法:

    两阶段法实质上是在真正求解之前做的预判,求min条件下的人工变量的影响,目标是证明所加的人工变量其实可以全部同时取零,如若不然则证明原问题无解也就不用再费劲求解复杂的原问题了,但是一旦证明其可以同时取到0还要在去掉人工变量用松弛变量求解最优解。从这里也可以看出人工变量的存在与否其实不影响其原问题的求解。

    关于退化:

    Ѳ中找正的最小的为换出变量时发现有多个一样的最小的(比值)

    勃兰特规则:σj>0中取下标最小的非零变量为换入,Ѳ>0下标最小的基变量为换出。

    注意:

    1、  影子价格反映了资源的稀缺程度:

    y*>0 表明这种资源短缺。

    y*=0 表明这种资源有剩余,不短缺,供应过量。

    2、  人工变量的M 的系数要看min和max而不同,求min令为 – M 求max 令为M

    3、  求解三种情况对应的表示方法:

    第三章  对偶理论和灵敏度分析

    由于原问题的约束条件过于多的情况下会使得求解变得很复杂,所以引入了对偶求解法,转换到现实生活中一个是着眼于利润一个是着眼于成本。原问题转换为对偶形式后其实是求解其影子价格。之所以叫影子价格个人理解是其分配在达到最优解后,某一个条件限制的轻微调动或者波动,随之而来的价格的波动的快慢。所以可以看到影子价格其实反映了一种“效率”的转换问题。当影子价格为大于零的某个数的时候,其实是说调整相应的约束条件其实影响到了原价格,所以说该种资源短缺。当影子价格等于零时,说明调整相应的约束条件没有影响到原价格,所以说该种资源充裕。这里不考虑恰好等于的情形。

    所以影子价格的经济意义是:

    1、  影子价格反映资源对目标函数的边际贡献,即资源转换成经济效益的效率

    2、  影子价格反映了资源的稀缺程度

    3、  影子价格反映了资源的边际使用价值

    为了求解对偶问题引入的对偶单纯形法,但其有自己的弊端就是说对于大多数的线性规划问题很难找到一个对偶问题的初始可行基,所以该方法很少单独用,常用于灵敏度分析的求解中为了简化某些变量的求解。

    关于灵敏度分析

    其实质上是在保证最优解不变的情况下各个系数的变动的范围(与一般意义上理解的系数的变化导致的解的变化的波动稍有一些出入)。在求解∆b的时候用到了对偶单纯形法,主要要知道的是在确定换入与换出的变量的时候首先看b的负项最小为换出,Ѳ正项最小为换入。

    第四章  运输问题

    由于单纯形的方法求解一些稀疏性的矩阵的时候显现出的复杂性,产生了运输模型的求解方法。也就是我们常说的表上作业法:step(page93)

    几种求解表上作业法的方法:

    最小元素法:

    最小元素法从整张表中找寻最小的运价优先运输其余的一次按照最小运价从小到大排序一次运输。但是由于只注重当下的最小运价有可能造成之后其余地方的运输成本成倍的增长,所以产生了伏格尔法。

    伏格尔法:

    利用最小运价与此小运价的差值确定供销关系,其实实际上是比最小元素法的层次更高了一个层次,站在了差价的角度看问题,当然其求解的结果也会有问题其实我们可以站在更高的层析即差价的差价上看待运输问题,但是一时由于没有必要,因为伏格尔法的结果在很多情况下已经很接近最优解了,二是层次越高越难以处理,不好想象。所以没有必要。

    两种最优解判别的方法:

    推荐位势法

    闭回路法:

    位势法:注意的是表中如果有负的检验数则未达到最优!!!正好与单纯形的表格法相反!!!要注意。调整的方法推荐闭回路法,选其中的最小的负检验数开始,依次按照“+ - + -”的顺序绕一个回路,回路中最小的元素作为调整单位,如果最小的是0注意也要把0的位置作调整,以前为0的位置现在为空,以前为空的位置现在为0。

    注意解的判别:

    只有两种情况一种是有唯一最优解另一种是有无穷多最优解:

    无穷多最优解:某个非基变量(空格)的检验数为0时,该问题有无穷多最优解。

    有关于产销不平衡的问题:

    产>销:设置虚拟销售点容量为“产销”的值,并且对于所有的产地到达该销售地的运价全部为0。

    如果是属于那种季度或年度交货问题,由于下一季度的货物不可能上一季度交付,所以对于“不可能”的情形,我们一般是用M定其相应的值的。

    Nan meng
  • 相关阅读:
    理解CSS中BFC
    js 异步执行顺序
    javascript中继承方式及优缺点(三)
    javascript中继承方式及优缺点(二)
    javascript中继承方式及优缺点(一)
    javascript中的原型和原型链(五)
    javascript中的原型和原型链(四)
    javascript中的原型和原型链(三)
    跨域问题及解决思路
    lambda表达式之方法引用
  • 原文地址:https://www.cnblogs.com/sacredknight/p/3701929.html
Copyright © 2011-2022 走看看