如果这听起来像是一个新手问题,我很抱歉!我对Matlab和优化工具箱都很陌生!
我有使用quadprog的优化问题,我的问题中有两个相等的约束。使用通用公式:
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)
但是在这里我只能将Aeq和beq作为等式约束! A和b是不等式约束......
是否可以为等式约束设置类似的东西?在集合或其他形式的Aeq和beq中有多个变量用于相等?我一直在寻找和尝试一段时间没有运气!
答案 0 :(得分:0)
等式约束以矩阵形式Aeq*x==beq
给出。因此,Aeq
的每一行都可以定义一个单独的等式。例如,如果你有三个未知数,并且你希望前两个的总和等于2,并且后两个的差(x(3)-x(2)
)等于3,那么你就写了
Aeq = [1 1 0; 0 -1 1];
beq = [2;3];