cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 3138|回复: 13

线性规划太难

[复制链接]
发表于 2010-9-16 20:05:05 | 显示全部楼层 |阅读模式
线性规划太难画图、计算了,有没有人编个相应程序for ns?
发表于 2010-9-16 20:58:05 | 显示全部楼层
啊,NS,买不起~
发表于 2010-9-16 21:09:13 | 显示全部楼层
我也买不起
如果imath借我一个,我会在10天内编出来
发表于 2010-9-16 21:14:06 | 显示全部楼层
什么是线性规划???
发表于 2010-9-16 21:43:06 | 显示全部楼层
在某个范围内解某函数最大值、最小值和最优值(自己的理解)
详见http://baike.baidu.com/view/92066.html?goodTagLemma
 楼主| 发表于 2010-9-17 12:21:43 | 显示全部楼层
线性规划的解法
  求解线性规划问题的基本方法是单纯形法,现在已有单纯形法的标准软件,可在电子计算机上求解约束条件和决策变量数达 10000个以上的线性规划问题。为了提高解题速度,又有改进单纯形法、对偶单纯形法、原始对偶方法、分解算法和各种多项式时间算法。对于只有两个变量的简单的线性规划问题,也可采用图解法求解。这种方法仅适用于只有两个变量的线性规划问题。它的特点是直观而易于理解,但实用价值不大。通过图解法求解可以理解线性规划的一些基本概念。   对于一般线性规划问题:   Min z=CX   S.T.   AX =b   X>=0   其中A为一个m*n矩阵。   若A行满秩   则可以找到基矩阵B,并寻找初始基解。   用N表示对应于B的非基矩阵。则规划问题1可化为:   规划问题2:   Min z=CB XB+CNXN   S.T.   B XB+N XN = b (1)   XB >= 0, XN >= 0 (2)   (1)两边同乘于B-1,得   XB + B-1 N XN = B-1 b   同时,由上式得XB = B-1 b - B-1 N XN,也代入目标函数,问题可以继续化为:   规划问题3:   Min z=CB B-1 b + ( CN - CB B-1 N ) XN   S.T.   XB+B-1N XN = B-1 b (1)   XB >= 0, XN >= 0 (2)   令N:=B-1N,b:= B-1 b,ζ= CB B-1b,σ= CN - CB B-1 N,则上述问题化为规划问题形式4:   Min z= ζ + σ XN   S.T.   XB+ N XN = b (1)   XB >= 0, XN >= 0 (2)   在上述变换中,若能找到规划问题形式4,使得b>=0,称该形式为初始基解形式。   上述的变换相当于对整个扩展矩阵(包含C及A) 乘以增广矩阵 。所以重在选择B,从而找出对应的CB。   若存在初始基解   若σ>= 0   则z >=ζ。同时,令XN = 0,XB = b,这是一个可行解,且此时z=ζ,即达到最优值。所以,此时可以得到最优解。   若σ >= 0不成立   可以采用单纯形表变换。   σ中存在分量<0。这些负分量对应的决策变量编号中,最小的为j。N中与j对应的列向量为Pj。   若Pj <=0不成立   则Pj至少存在一个分量ai,j为正。在规划问题4的约束条件(1)的两边乘以矩阵T。   T=   则变换后,决策变量xj成为基变量,替换掉原来的那个基变量。为使得T b >= 0,且T Pj=ei(其中,ei表示第i个单位向量),需要:   l ai,j>0。   l βq+βi*(-aq,j/ai,j)>=0,其中q!=i。即βq>=βi/ ai,j * aq,j。   n 若aq,j<=0,上式一定成立。   n 若aq,j>0,则需要βq / aq,j >=βi/ ai,j。因此,要选择i使得βi/ ai,j最小。   如果这种方法确定了多个下标,选择下标最小的一个。   转换后得到规划问题4的形式,继续对σ进行判断。由于基解是有限个,因此,一定可以在有限步跳出该循环。   若对于每一个i,ai,j<=0   最优值无界。   若不能寻找到初始基解   无解。   若A不是行满秩   化简直到A行满秩,转到若A行满秩。
 楼主| 发表于 2010-9-17 12:22:29 | 显示全部楼层
好像看到编程的方法了,好像又没有看到
发表于 2010-9-17 17:53:54 | 显示全部楼层
听起来都烦死了
发表于 2010-9-17 17:54:37 | 显示全部楼层
虽然我数学很好,不过伱编了吗?最近没程序编,现在又思想了,你没编我去试试
发表于 2010-9-17 18:10:19 | 显示全部楼层
好像看到编程的方法了,好像又没有看到
imath 发表于 2010-9-17 12:22


拜托,上面那一大段近似于乱码的东西(对于我来说)就是把程序的流程图压缩成文字形式的啊……
发表于 2010-9-21 19:34:12 | 显示全部楼层
好像看到编程的方法了,好像又没有看到
imath 发表于 2010-9-17 12:22
9860不是很方便画不等式的图吗接下来只要把目标函数来回移动就行啦
 楼主| 发表于 2010-9-22 23:12:19 | 显示全部楼层
9860不是很方便画不等式的图吗接下来只要把目标函数来回移动就行啦
noivan 发表于 2010-9-21 19:34

就是来回移动这个过程很不方便。。
发表于 2010-9-24 14:44:18 | 显示全部楼层
话说这个东西是选修还是必修……
 楼主| 发表于 2010-9-24 15:41:03 | 显示全部楼层
必修
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-4-24 18:28 , Processed in 0.078890 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表