Cstart=[5000 1600 2400 1200]'; Len=[6 3 3 2 4 4 2]';
Cmin=[2250 1800 3750 4800]';
Cadd=[2.7 2.2 1.8 3.8]';
Dem=[12000 32000 25000 36000 25000 30000 18000]';
Pmax=[1750 1500 2000 3500]';
Pmin=[750 1000 1200 1800]';
Avail=[10 4 8 3]';
start=intvar(4,7);
work=intvar(4,7);
padd=intvar(4,7);
f=sum(Cstart'*start)+Len'*(Cmin'*work+Cadd'*padd)';
F=[];
F=[F start>=0 padd>=0];
for i=1:4
F=[F 0<=work(i,:)<=Avail(i)];
end
for i=1:4
for j=1:7
F=[F padd(i,j)<=(Pmax(i)-Pmin(i))*work(i,j)];
end
end
for j=1:7
F=[F Pmin'*work(:,j)+sum(padd(:,j))>=Dem(j)];
end
for j=1:7
F=[F Pmax'*work(:,j)>=1.20*Dem(j)];
end
for i=1:4
for j=1:7
if j==1
F=[F start(i,1)>=work(i,1)-work(i,7)];
else
F=[F start(i,j)>=work(i,j)-work(i,j-1)];
end
end
end
ops = sdpsettings('solver','cplex');
output=solvesdp(F,f,ops);
z=double(f)
z =
NaN
start=double(start)
start =
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
work=double(work)
work =
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
padd=double(padd)
padd =
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN