0050算法笔记——【线性规划】单纯形算法(未完全实现)

本文介绍了线性规划问题及其标准形式,重点解析了单纯形算法的原理与步骤,包括如何选择入基变量、离基变量、转轴变换以及如何避免无限循环。还探讨了2阶段单纯形算法解决一般线性规划问题的方法,以及Bland的无循环规则。
摘要由CSDN通过智能技术生成

        题外话:王晓东的《算法设计与分析》看到现在,终于遇到自己琢磨不透的代码了。这里粘出来,求大神指点迷津,将代码补充完整~

    1、线性规划问题及其表示

    线性规划问题可表示为如下形式:


    变量满足约束条件(8.2)-(8.5)式的一组值称为线性规划问题的一个可行解
    所有可行解构成的集合称为线性规划问题的可行区域
    使目标函数取得极值的可行解称为最优解
    在最优解处目标函数的值称为最优值
    有些情况下可能不存在最优解。
    通常有两种情况:
    (1)根本没有可行解,即给定的约束条件之间是相互排斥的,可行区域为空集;
    (2)目标函数没有极值,也就是说在n 维空间中的某个方向上,目标函数值可以无限增大,而仍满足约束条件,此时目标函数值无界。

    例:

     

     这个问题的解为 (x1,x2,x3,x4) = (0,3.5,4.5,1);最优值为16。 

    2、线性规划基本定理

     约束条件(8.2)-(8.5)中n个约束以等号满足的可行解称为线性规划问题的基本可行解
    若n>m,则基本可行解中至少有n-m个分量为0,也就是说,基本可行解中最多有m个分量非零。
    线性规划基本定理:如果线性规划问题有最优解,则必有一基本可行最优解。
    上述定理的重要意义在于,它把一个最优化问题转化为一个组合问题,即在(8.2) -(8.5)式的m+n个约束条件中,确定最优解应满足其中哪n个约束条件的问题。
    由此可知,只要对各种不同的组合进行测试,并比较每种情况下的目标函数值,直到找到最优解。
    Dantzig于1948年提出了线性规划问题的单纯形算法。
    单纯形算法的特点是:
  (1)只对约束条件的若干组合进行测试,测试的每一步都使目标函数的值增加;
  (2)一般经过不大于m或n次迭代就可求得最优解。     

    3、约束标准型线性规划问题的单纯形算法 

    当线性规划问题中没有不等式约束(8.2)和(8.4)式,而只有等式约束(8.3)和变量非负约束(8.5)时,称该线性规划问题具有标准形式。
    先考察一类更特殊的标准形式线性规划问题。这一类线性规划问题中,每一个等式约束中,至少有一个变量的系数为正,且这个变量只在该约束中出现。
    在每一约束方程中选择一个这样的变量,并以它作为变量求解该约束方程。这样选出来的变量称为左端变量或基本变量,其总数为m个。剩下的n-m个变量称为右端变量或非基本变量
    这一类特殊的标准形式线性规划问题称为约束标准型线性规划问题。
    虽然约束标准型线性规划问题非常特殊,但是对于理解线性规划问题的单纯形算法是非常重要的。
    任意一个线性规划问题可以转换为约束标准型线性规划问题

     例:

      

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值