• 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
  • 相关阅读:
    Apache部署Django项目
    Docker
    常用算法
    Go之基本数据类型
    Go之流程控制
    Go基本使用
    Go安装与Goland破解永久版
    Linux
    详解java中的byte类型
    Linux统计文本中某个字符串出现的次数
  • 原文地址:https://www.cnblogs.com/mingzhao810/p/3277770.html
Copyright © 2020-2023  润新知