% 清除工作区
clear;clc;close all;
x=intvar(7,4,4);
y=intvar(7,4,4);
%自定义MC的值
for i=1:7
for j=1:4
for k=1:4
MC(i,j,k)=i+k+j
end
end
end
%自定义EC的值
for i=1:7
for j=1:4
for k=1:4
EC(i,j,k)=i+k
end
end
end
%随机生成F的值
for i=1:7
for j=1:4
for k=1:4
F(i,j,k)=round (rand (1,1)*5)
end
end
end
%计算IF
for i=1:4
for j=1:4
for k=1:4
if F(i,j,k)>F(j,i,k)
IF(i,j,k)=1-F(j,i,k)/F(i,j,k);
else
IF(i,j,k)=0
end
end
end
end
for i=5:7
for j=1:4
for k=1:4
IF(i,j,k)=0
end
end
end
%论文给定的一些值以及假设
CP=3350;
DW=36510;
RF=200;
FE=113540;
D1=0;
D2=100;
D3=0;
%创造约束
%满足容量约束1
add1constr=sum(x(:,:,1),'all')+sum(y(:,:,1),'all')+sum(x(:,:,2),'all')+sum(y(:,:,2),'all');
+2*sum(x(:,:,3),'all')+2*sum(y(:,:,3),'all')+2*sum(x(:,:,4),'all')+2*sum(y(:,:,4),'all')<=CP;
%假设重量分别为10和20,满足载重约束2
add2constr=10*sum (x,'all')+20*sum (y,'all')<=DW;
%冷藏型满足插头约束3
add3constr=sum(x(:,:,2),'all')+sum(x(:,:,4),'all')<=RF;
%40型数量不能超过设计约束4
add4constr=sum(x(:,:,3),'all')+sum(x(:,:,4),'all')+sum(y(:,:,3),'all')+sum(y(:,:,4),'all')<=FE;
C=[ add1constr
add2constr
add3constr
add4constr];
ops = sdpsettings('verbose',0,'solver','cplex');
z=sum(x,'all')+sum(y,'all');
reuslt = optimize(C,z);
代码如上所示 报错Second argument (the objective function h) should be an sdpvar or logdet object (or empty).
第一次用yalmip matlab也很生疏 不知道怎么办
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。