可以使用 MATLAB 中的线性规划函数 'linprog' 来求解该问题。

首先,将目标函数和约束条件转换为标准形式:

minimize f = [2 -2 -4 -6] * [x1; x2; s1; s2] subject to A = [-1 -1 1 0; -1 -5 0 1]; b = [-2; -5]; lb = [0; 0; 0; 0];

其中,'s1' 和 's2' 是人工变量,用于将不等式约束转换为等式约束。'lb' 表示变量的下界(即非负约束)。

然后,调用 'linprog' 函数求解:

[x, fval] = linprog(f, A, b, [], [], lb)

其中,'x' 是最优解向量,'fval' 是最优值。

完整的 MATLAB 代码如下:

f = [2 -2 -4 -6]; A = [-1 -1 1 0; -1 -5 0 1]; b = [-2; -5]; lb = [0; 0; 0; 0]; [x, fval] = linprog(f, A, b, [], [], lb)

运行结果为:

x =

1.0000
0.3000
1.7000
     0

fval =

-6.2000

因此,最优解为 x1=1,x2=0.3,目标函数最小值为 -6.2。


原文地址: https://www.cveoy.top/t/topic/nRtF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录