【问题标题】:Linear programming maximization code in MATLABMATLAB中的线性规划最大化代码
【发布时间】:2016-05-26 17:55:10
【问题描述】:

如何求解同时包含<=>= 方程的线性规划最大化问题?

例如这里有一个案例:

最大化:

z = c1x1 + c2x2 + c3x3

受制于:

a1x1 + a2x2 + a3x3 <= b1
a4x1 + a5x2 + a6x3 <= b2
x1 >= d1
x2 >= d2
x3 >= d3

其中a1, a2, a3, a4, a5, a6, b1, b2, b3, c1, c2, c3 是给定方程中的常数。

解决这个问题的合适的 Matlab 代码是什么?

【问题讨论】:

    标签: matlab linear-programming equation-solving linear-equation maximization


    【解决方案1】:

    就是这样:

        z = -[c1 ; c2 ; c3];
    
        A = [ a1 a2 a3 ; 
              a4 a5 a6]; 
    
        b=[b1;
           b2];
    
        Aeq= [ ]; beq= [ ];
    
        LB = [d1 ; d2 ; d3]; 
    
        UB = [1 ; 1 ; 1]* inf; % Any relax number
    
        x = linprog(z, A, b, Aeq, beq, LB, UB)
    

    【讨论】:

    • 感谢@Sardar_Usama,如何使用matlab 获得z 的值?
    • 通过将常量c1c2c3的值放入
    • 我必须手动计算还是有任何内置函数可以做到这一点?
    • 你到底在问什么?
    • 如果你要求这个值:z = c1x1 + c2x2 + c3x3,它没有任何意义,因为x1x2x3 是决策变量。您可以通过将这些变量和常量c1c2c3 的不同值放在一起来找到z 的值。而如果要求z的最大值,代码中已经给出了。
    猜你喜欢
    • 2021-01-29
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 2015-07-28
    • 2019-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多