Hello,
My program is in the following, where I am trying to solve a Nash bargaining problem formulated as a MINLP. I have posted the code as well as YALMIP response in the following. C
clc;
clear all
M=5;
N=2;
WRange = [0.1 0.6; 0.1 1];
WMmin = [0.1 0.5 0.2 0.1 0.5];
Ttau = ones(1,M);
Gammai = 10;
Cq = 1;
x = binvar(N, M);
w = sdpvar(N, M);
Constraints = [sum(x,1) == ones(1, M), sum(w, 1) >= WMmin, sum(w,2) <= WRange(:, 2)];
for m=1:M
Constraints = [Constraints, sum((x(:,m)*Cq)./(w(:,m)*(1+Gammai))) <= Ttau(m)];
end
Objective = sum(log(Ttau - sum((x*Cq)./(w*(1+Gammai)))));
ops = sdpsettings('solver','bnb','bnb.solver','fmincon');
sol = optimize(Constraints,Objective,ops);
% Analyze error flags
if sol.problem == 0
% Extract and display value
solution = value(x)
else
display('Hmm, something went wrong!');
yalmiperror(sol.problem)
end
and I am getting following message
* Starting YALMIP integer branch & bound.
* Lower solver : fmincon-standard
* Upper solver : rounder
* Max iterations : 300
Node Upper Gap(%) Lower Open
1 : Inf Inf -1.915E+01 2 Successfully solved
2 : Inf Inf -1.915E+01 1 Infeasible problem
3 : Inf Inf -1.915E+01 0 Infeasible problem
+ 3 Finishing. Cost: Inf
Hmm, something went wrong!
ans =
Infeasible problem (BNB)
ans =
Infeasible problem