gpt4 book ai didi

Matlab,线性规划

转载 作者:行者123 更新时间:2023-12-04 05:31:04 27 4
gpt4 key购买 nike

我想使用 MATLAB 7 解决这个线性规划(单纯形)问题,但它返回

Exiting: the problem is unbounded.



这个功能
f = 2(15 s0 + 8s1 + 2576s2 + 744s3 + 427s4 + 8s5)

应该以这样的方式最小化,即每个观察的两个约束是
满意
0.1s0 + 0.1s1 + 14.5s2 + 4s3 + 2.4s4 – a0 − a1 − 145a2 − 40a3 − 24a4 ≥ −2.2

0.1s0 + 0.1s1 + 14.5s2 + 4s3 + 2.4s4 + a0 + a1 + 145a2 + 40a3 + 24a4 ≥ 2.2
S5a5是 0. 我用过
f = [15   8  2576  744  427 8   15   8  2576 744  427 8];

b = [-2.2; 2.2];

a = [0.1 0.1 14.5 0.4 2.4 0 -1 -1 -145 -40 -24 0 ; 0.1 0.1 14.5 4 2.4 0 1 1 145 40 24 0];

[x, fval, exitflag, output, lambda] = linprog(f, a, b)

解决这个问题的正确方法是什么?

最佳答案

你没有约束你的s5a5实际上为零,因为您在 a 中设置了相应的系数矩阵为零。因此,它们可以取任何值,并且 LP 是无界的。

要修复,请添加等式约束:

beq = [0; 0];
aeq = [0 0 0 0 0 1 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 1];
[x,fval,exitflag,output,lambda] = linprog(f,a,b,aeq,beq)

或者,只需放下 s5a5来自LP,因为他们根本没有贡献。

关于Matlab,线性规划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12617460/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com