I have a linear model (not quadratic, not conic programming). and I solve it with Cplex. I ask YALMIP to return me dual values of one of my constraints through the code:
x = sdpvar(m,1,'full');
rho = sdpvar(num_sub,1,'full');
y =sdpvar(num_sub,max(k),'full');
Y = sdpvar(num_sub,max(k),max(d),'full');
theta = sdpvar(num_sub,max(l),'full');
psi = sdpvar(num_sub,max(n),max(l),'full');
objective = f'*x + sum(rho(:,1))+ offset;
constraint = [D*x <= e];
for sub=1:num_sub
constraint = [constraint, theta(sub,1:l(sub))*v{sub} <= rho(sub,1) - y(sub,1:k(sub))*h{sub}];
constraint = [constraint, W{sub}'*theta(sub,1:l(sub))' == (h{sub}'*reshape(Y(sub,1:k(sub),1:d(sub)),k(sub),d(sub))*P{sub})'];
constraint = [constraint, theta(sub,1:l(sub)) >= 0];
constraint = [constraint, (reshape(psi(sub,1:n(sub),1:l(sub)),n(sub),l(sub))*v{sub} <= b{sub} - A{sub}*x - B{sub}*y(sub,1:k(sub))'):['Ro_sub' num2str(sub)]];
for i=1:n(sub)
constraint = [constraint, W{sub}'*reshape(psi(sub,i,1:l(sub)),l(sub),1) == (B{sub}(i,:)*reshape(Y(sub, 1:k(sub),1:d(sub)),k(sub),d(sub))*P{sub} - C{sub}(i,:)*P{sub})'];
constraint = [constraint, psi(sub,i,1:l(sub))' >= 0];
end
dual{sub} = dual(constraint(['Ro_sub' num2str(sub)]));
end
Although my model is linear, it returns NaN as dual variable of my constraint. It would be appreciated if somebody gives me a hint on how I can fix the problem?