zoukankan      html  css  js  c++  java
  • 线性规划问题的matlab求解

    函数:[x, fval] = linprog(f, A, b, Aeq, Beq, LB, UB)

    返回的x:是一个向量——在取得目标函数最小时各个xi的取值;

    返回的fval:目标函数的最小值;

    参数f:目标函数的系数矩阵;

    参数A:不等式约束的系数矩阵;

    参数b:不等式约束右端的常数列;

    参数Aeq:等式约束的系数矩阵,若没有等式约束,则Aeq = []

    参数Beq:等式约束右端的常数列,若没有等式约束,则Beq = []

    参数LB:x的下界,常遇到的x1, x2, x3 >= 0,0就是下界,可用zeros(3, 1)生成一个3行1列的向量来表示,其中向量的每个元素的值为0;

    参数UB:x的上界;

    -------------------------------------------------------------------------------------------------------------

    求z的最小值及z取得最小值时x的取值:

    min z = -5x1 - 4x2 - 6x3

    约束条件:

    x1 - x2 + x3 <= 20

    3x1 + 2x2 + 4x3 <= 42

    3x1 + 2x2 <= 30

    0 <= x1, 0 <= x2, 0 <= x3

    -------------------------------------------------------------------------------------------------------------

    编写.m文件:

    f = [-5; -4; -6];
    A = [1 -1 1; 3 2 4; 3 2 0];
    b = [20; 42; 30];
    Aeq = [];
    Beq = [];
    LB = zeros(3, 1);
    [x, favl] = linprog(f, A, b, Aeq, Beq, LB)

    保存运行,得

    x =
    
        0.0000
       15.0000
        3.0000
    
    
    favl =
    
      -78.0000


    -------------------------------------------------------------------------------------------------------------

    求z的最大值及z取得最大值时x的取值:

    max z = 2x1 + 3x2 - 5x3

    约束条件:

    x1 + x2 + x3 = 7

    2x1 - 5x2 + x3 >= 10

    x1, x2, x3 >= 0

    -------------------------------------------------------------------------------------------------------------

    编写.m文件:

    f = [-2; -3; 5];        %转换成求负形式的最小值
    A = [-2 5 -1];      %原>=号,两边同乘-1,转成标准形式
    b = [-10];      %原>=号,两边同乘-1,转成标准形式
    Aeq = [1 1 1];
    Beq = [7];
    LB = zeros(3, 1);
    [x, fval] = linprog(f, A, b, Aeq, Beq, LB);
    x
    fval = -fval        %将负形式的最小值转回原正形式的最大值

    保存运行,得

    x =
    
        6.4286
        0.5714
        0.0000
    
    
    fval =
    
       14.5714



  • 相关阅读:
    python学习笔记二
    计网第三章
    python学习笔记一
    Java基础第二十七天总结——网络编程
    Java基础第二十六天总结——IO流
    Java基础第二十五天总结——泛型
    Java基础第二十四天总结——集合
    Java基础第二十三天总结——集合
    Java基础第二十二天总结——枚举类与注解
    Java基础第二十一天总结——日期时间API
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3315575.html
Copyright © 2011-2022 走看看