gpt4 book ai didi

matlab - 在 matlab 中求解线性优化

转载 作者:行者123 更新时间:2023-12-03 17:00:34 24 4
gpt4 key购买 nike

我有一个简单的线性问题定义为:

min f(x) such that :A.x <=b
Aeq.x = beq
lb<= x <=ub

我的变量向量是:

x =[x(1)i;x(2)i;x(3)i;x(4)i;x(5);x(6)] i=1...n

我很难写出定义如下的上限约束:

 x(1).i <= x(5)
x(2).i <= x(5)
x(3).i <= x(6)

如何创建上限向量?我应该把所有的变量都放在左边,写成不等式约束吗?

感谢您的帮助。

最佳答案

上限约束ub适用于上限为数字(更准确地说是 double 向量)的情况。 ub 不是广义的线性不等式约束!

我将忽略你的 .i 符号,因为我不知道那是什么意思。

您的约束:x1 <= x5 , x2 <= x5 , x3 <= x6可以写成矩阵形式:

[1  0  0  0 -1  0      [x1        [0
0 1 0 0 -1 0 * x2 <= 0
0 0 1 0 0 -1] x3 0];
x4
x5
x6

因此要使用几个 Matlab 求解器,您会这样做:

A = [1, 0, 0, 0, -1,  0;         
0, 1, 0, 0, -1, 0;
0, 0, 1, 0, 0, -1];
b = zeros(3, 1);

现在你的约束写成 A*x <= b

关于matlab - 在 matlab 中求解线性优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33845939/

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