如何用matlab求下面的线性规划?
已知16*16的权重矩阵w和16*16的决策变量矩阵x,x(i,j)=0或1目标函数为:sum(w(i,j)*x(i,j))
约束条件为: 1、对x矩阵每行每列求和均为1
2、x是对角矩阵
用matlab怎么做?。。
下面是我用lingo做的,但是不出结果。。
MODEL:
sets:
ll/1..16/;
ss/1..16/;
lj(ll,ss):w,x;
endsets
min=@sum(lj(i,j):w(i,j)*k(i,j));
@for(lj(i,j):@gin(x(i,j)));
@for(lj(i,j):@sum(ll(i):x(i,j))=1);
@for(lj(i,j):@sum(ss(j):x(i,j))=1);
@for(lj(i,j):x(i,j)=x(j,i));
data:
w=@ole('d:/4.xlsx','w');
@ole('d:/4.xlsx','x');
enddata
end
:@是: @ 。。。。。。。。。。 倒数第三行 @ole('d:/4.xlsx','x')改成@ole('d:/4.xlsx','x')=x matlab做,你把线性规划写成矩阵形式,然后定义几个矩阵,调用函数就可以了
页:
[1]