其中,是三对角矩阵,主对角线上元素全为,两条次对角线上元素全为2.
提示:,令转为0-1规划问题.
MODEL:
sets:
sn/1…4/:c,m,x,y;
link(sn,sn):q;
endsets
data:
q=-1 2 0 0
2 -1 2 0
0 2 -1 2
0 0 2 -1;
c=6,8,4,-2;
enddata
max=@sum(sn(j):c(j)*x(j))+@sum(link(s,h):x(s)*q(s,h)*x(h))/2;
x(1)*x(2)+x(3)*x(4)>=-1;
x(1)*x(2)+x(3)*x(4)<=1;
x(1)+x(2)+x(3)+x(4)>=-3;
x(1)+x(2)+x(3)+x(4)<=2;
@for(sn(i):
y(i)=(x(i)+1)/2;
@bin(y(i));
@free(x(i));
);
这个是正确答案没有问题 但是我想问一下@sum(link(s,h):x(s)*q(s,h)*x(h))/2;
这里我是把xqx 3个矩阵一起表示的 没问题
但是我如果把它拆开 写成前2个矩阵乘 然后结果再乘上第三个矩阵
MODEL:
sets:
sn/1…4/:c,m,n,x,y;
link(sn,sn):q;
endsets
data: