% Define variables
x1 = sdpvar(2,1); x2 = sdpvar(2,1);
f = @(y) g(x1,y)+g(x2,y)-g(x1,y)*g(x2,y);
% Define constraints and objective
Constraints = [x1(1)+x1(2) <= C, x1 >= 0, x2(1)+x2(2) <= C, x2 >= 0, sqrtm((x1-x2)'*(x1-x2)) >= l];
Objective = -(log(f(y1))+log(f(y2)));
% Set some options for YALMIP and solver
options = sdpsettings('verbose',1,'solver','bmibnb');
% Solve the problem
sol = optimize(Constraints,Objective,options);
info: 'Infeasible problem (BMIBNB)'
info: 'Solver not applicable (gurobi)'
sol = optimize(Constraints,[],sdpsettings(options,'debug',1))
R_min = 200e3;y1 = [R_min; 100e3];y2 = [R_min+100e3; 200e3];C = 100e3;l = 4e3;b = 1.041;c = 2.583e5;d = 1.221e4;g = @(x,y) b./(1+exp((sqrtm((x-y)'*(x-y))-c)/d));
% Define variablesx1 = sdpvar(2,1); x2 = sdpvar(2,1);f = @(y) g(x1,y)+g(x2,y)-g(x1,y)*g(x2,y);% Define constraints and objectiveConstraints = [x1(1)+x1(2) <= C, x1 >= 0, x2(1)+x2(2) <= C, x2 >= 0, sqrtm((x1-x2)'*(x1-x2)) >= l];
Objective = -(f(y1))*(f(y2));
% Set some options for YALMIP and solveroptions = sdpsettings('verbose',1,'solver','bmibnb');% Solve the problemsol = optimize(Constraints,Objective,options);
options = sdpsettings('verbose',1,'solver','bmibnb')
>> which mosekoptC:\Program Files\Mosek\7\toolbox\r2013aom\mosekopt.mexw64