Matlab的linprog解决简单线性规划问题

一个简单的线性规划问题,使用Matlab的linprog解决
假定有n种煤,各种煤的配比为x1,x2,x3,……
首先需要满足下列两个约束条件,
即 x1+x2+x3……+xn=1
x1≥0, x2≥0,x3≥0,……,xn≥0
煤种 全水分 空干基水分 收到基灰分 收到基低位发热值
1 33.6 15.43 19.07 2958
2 13.4 2.58 43.49 3860
3 17.5 2.84 23.35 4400
4 13.7 4.27 24.37 4486
5 11.2 2.72 36.05 3879
6 8.7 2.57 36.41 3939
约束条件:
全水分<=15
空干基水分<=4
收到基灰分<=30
3850<=低位热值<=4300
问:x1,x2,x3,……如何分配
%目标函数为x1+2*x2+3*x3+4*x4+5*x5+6*x6 ,求其最小值
%目标函数
f=[1 2 3 4 5 6]';
%不等式约束
A= [0.0336 0.0134 0.0175 0.0137 0.0112 0.0087 0.0154 0.0026 0.0028 0.0043 0.0027 0.0026 0.0191 0.0435 0.0234 0.0244 0.0360 0.0364 2.9580 3.8600 4.4000 4.4860 3.8790 3.9390 -2.9580 -3.8600 -4.4000 -4.4860 -3.8790 -3.9390]*1e3;
b=[15 4 30 4300 -3850]';
%边界
lb=zeros(6,1);
%等式约束
Aeq=[1 1 1 1 1 1];
beq=1;
%调用linprog函数
x=linprog(f,A,b,Aeq,beq,lb)


运行结果如下:

Optimization terminated.
x =
0.0000 0.3124 0.3668 0.3208 0.0000 0.0000

转载于:https://www.cnblogs.com/mingzhao810/p/3277770.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值