首页 >> 大全

线性规划及matlab应用

2023-12-02 大全 23 作者:考证青年

线性规划的 标准形式可以转化为线性规划的问题取最大或最小值的“伪线性规划”问题模型中某些变量没有非负限制实例:连续投资问题

在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。此类问题构成了运筹学的一个重要分支—数学规划,而线性规划( 简记LP)则是数学规划的一个重要分支。自从1947 年G. B. 提出求解线性规划的单纯形方法以来,线性规划在理论上趋向成熟,在实用中日益广泛与深入。特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。

线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最小的问题。在解决实际问题时,把问题归结成一个线性规划数学模型是很重要的一步,但往往也是困难的一步,模型建立得是否恰当,直接影响到求解。而选适当的决策变量,是我们建立有效模型的关键之一。

1.线性规划的 标准形式

线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号。为了避免这种形式多样性带来的不便, 中规定线性规划的标准形式为

线性规划的基本函数形式为 (c,A,b),它的返回值是向量x 的值。还有其它的一些函数调用形式(在 指令窗运行 help 可以看到所有的函数调用形式),如:

[x,fval]=(c,A,b,Aeq,beq,LB,UB,X0,)

这里fval 返回目标函数的值,LB 和UB 分别是变量x 的下界和上界,x0 是x 的初始值,

是控制参数。

例1:

命令

c=[2;3;-5];
a=[-2,5,-1;1,3,1]; b=[-10;12];
aeq=[1,1,1];
beq=7;
x=linprog(-c,a,b,aeq,beq,zeros(3,1))
value=c'*x

例2:求解线性规划问题

f=[-5,-4,-6];
a=[1,-1,1;3,2,4;,3,2,0];
b=[20;42;30];
lb=zeros(3,1);
[x,y]=linprog(f,a,b,[],[],lb)

可以转化为线性规划的问题

很多看起来不是线性规划的问题也可以通过变换变成线性规划的问题来解决。如:规划问题为,

要把上面的问题变换成线性规划问题,只要注意到事实:对任意的xi,存在

应用线性规划的先决条件__应用线性规划的文章

例3:求解线性规划问题

对任意的xi,存在ui,vi>0,满足xi=ui-vi;|xi|=ui+vi;

则上面的优化问题转化为:

命令

clc,clear;
c=[1,2,3,4,1,2,3,4];
Aeq=[1,-1,-1,1,-1,1,1,-1;1,-1,1,-3,-1,1,-1,3;1,-1,-2,3,-1,1,2,-3];
beq=[0;1;-1/2];
lb=zeros(8,1);
uv0=ones(8,1);
options = optimset('LargeScale', 'off', 'Simplex', 'on','Diagnostics','on','MaxIter',1000);
[uv,fval,exitflag,output,lambda]=linprog(c,[],[],Aeq,beq,lb,[],uv0,options)解得u1,u2,u3,u4,v1,v2,v3,v4分别为:1/4,0,0,0,0,0,0,1/4,即 x1,x2,x3,x4的值分别为:1/4,0,0,-1/4时,最小者为1.25。

取最大或最小值的“伪线性规划”问题

例4:问题可以描述为:

现令x0=max{x1-x2+x3,x1+x2,x1-x3},故有

x0>=x1-x2+x3,x0>=x1+x2,x0>=x1-x3

故上面的规划问题转换为:

命令

clear;
clc;
c=[1,0,0,0];
Aeq=[0,1,1,-1;0,2,-1,0];
beq=[1;2];
A=[0,1,-2,1;-1,1,-1,1;-1,1,1,0;-1,1,0,-1];
b=[1;0;0;0];
lb=zeros(3,1);
xx0=[-inf;0;0;0];
options = optimset('LargeScale', 'off', 'Simplex', 'on','Diagnostics','on','MaxIter',1000);
[x,fval,exitflag,output,lambda]=linprog(c,A,b,Aeq,beq,lb,[],xx0,options)运行结果:x1,x2,x3分别为:1,0,0时,取得最优解为1。

模型中某些变量没有非负限制

实例:连续投资问题

某机构将200万元进行投资,共有4个方案可供选择,投资的方式为每年年初将机构持有的所有资本都用于投资。

方案1:从第1年年末第4年的每年年初都投资,次年年末收获本利1.15

应用线性规划的先决条件__应用线性规划的文章

方案2:第3年年初投资,到第5年年末收回本利1.25,最大投资额80万元

方案3:第2年年初投资,到第5年年末收回本利1.4,最大投资额60万元

方案4:每年年初投资,每年年末收回本利1.06

问采取何种投资组合策略,使得第5年年末的总资本最大。

可以得到该问题的线性规划描述

程序如下:

clear;clc;
c=[0 0 0 -1.4 0 0 -1.25 0 -1.15 0 -1.06]
Aeq=[1 1 0 0 0 0 0 0 0 0 00 1.06 -1 -1 -1 0 0 0 0 0 01.15 0 0 0 1.06 -1 -1 -1 0 0 00 0 1.15 0 0 0 0 1.06 -1 -1 00 0 0 0 0 1.15 0 0 0 1.06 -1]
beq=[200 0 0 0 0]
lb=[0 0 0 0 0 0 0 0 0 0 0]
ub=[Inf Inf Inf 60 Inf Inf 80 Inf Inf Inf Inf]
[x,fval]=linprog(c,[],[],Aeq,beq,lb,ub)

运行结果

x = 123.5459

76.4541

21.0414

60.0000

0.0000

34.5138

80.0000

27.5639

53.4154

0.0000

39.6909

fval = -287.5000

采取上述最佳投资方案后,在第5年年末所得到的总资本数为287.5万元

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了