在两个向量V1(x11,x12)κα2V(x21,x22)中,我们可以将它们的内积计算为V1•V2。=(x11 * x21 + x12 * x22)。
我尝试将最小内积计算为(x1i x2j | i-j |,i.j坐标位置为V1,V2。 每个咕咕声都会在总和条件下使用一次。
vector1 = [-2, 3];
vector2 = [-4, 5];
sumTotal = -22;
----------
==========
我期待:
vector1=[ -2 3 ];
vector2=[ -4 5 ];
sumTotal=-40;
----------
==========
但我接受:
not String.IsNullOrEmpty(u)
答案 0 :(得分:1)
我担心我不理解你的模型的含义,但它确实包含了一些容易修复的约束错误:
VEC, LEN
索引,那么第二个索引应该始终是该集合的一部分。sum
是它自己的循环结构;它不需要forall
表达式。结果约束为:
constraint sumTotal = sum(i,j in LEN)(
vector[1,i] * vector[2,j] * abs(i,j)
);
这仍然留下一个相当奇怪的模型,所以你可能想看看以下内容:
sumTotal
是您唯一的变量,但它是由参数定义的。它无法优化,因为它只有一个解决方案。i
和j
应该能够采用相同的值吗?如果没有,那么您应该使用i,j in LEN where i < j
。sumTotal
以外的任何结果?