如何自动限制一些未知值的优化问题吗?
1视图(30天)
显示旧的评论
我有一个和几个未知值优化问题(x)这是一个数组的一部分:
一个= [0 0 x (1) (2) 0 0 0 x x (3) (4) (5) x (6) 0 0 0 0 0 x (7) x (8)];
要优化但每个x - x“集团”,这是由0,是相等的。例:(1)= x(2)和(3)= x (4) = x(5)等等。x(6)并不等于另一个x,因为它不是在一个与其他x的“集团”,因此x(6)将不会受到限制。
我应该写这个约束作为测查(x) = (. .在一个约束函数。
有没有自动编码,可以限制这些值的方式我解释吗?
0评论
接受的答案
答案(1)
马特·J
2019年3月20日
编辑:马特·J
2019年3月20日
我将假设您有一些二进制向量v表示变量的分组,例如,
[0 0 x (1) (2) 0 0 0 x x (3) (4) (5) x (6) 0 0 0 0 0 x (7) x (8)];
将输入向量
v = [0 0 1 1 0 0 0 1 1 1 0 0 1 1 0 0 0 1);
然后你可以构造线性等式约束矩阵Aeq,说真的如下
Aeq = diff (speye(元素个数(v)), 1, 1);
丢弃= (v (1: end-1) = = 0) | (diff (v) ~ = 0);
Aeq(丢弃:)= [];
Aeq (: ~ v) = [];
说真的= 0(大小(Aeq, 1), 1);