Thank you Johan. Solved it :)
I'm getting another error though: Solver not applicable (fmincon-geometric)...When I use CPLEX, it gives the same error too..
Would you please check my constraints and objective function.. it's a maximization... and the functions used in the objective function are elaborated below
%% Constraints %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
constraints = [((transpose(A) * B * (A * bus_phase)) - (bus_power + gen_change + load_change)) == 0,
load_power <= load_power + load_change <= 0,
0 <= gen_power + gen_change <= gen_power,
-45 <= A * bus_phase <= 45,
-line_capacity <= B * A * bus_phase <= line_capacity];
%% Objective function %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
obj = 0;
for g = 1:gens
obj = obj + cost (g,gen(g)) - cost (g,gen(g)+gen_change(g));
end
for l = 1:10
obj = obj - ( comp (l,power(l)) - comp (l,(power(l)-change(l)) );
end
options = sdpsettings('verbose',1, 'solver','cplex');
sol = solvesdp(constraint,-obj,options);
>> functions
function curtailment_comp = comp(level, power)
switch level
case 3
curtailment_comp = 20 * (power^(1/2));
case 4
curtailment_comp = 4 * (power^(1/2));
case 5
curtailment_comp = 4 * (power^(1/4));
end
end
function gen_cost = cost(level, power)
switch level
case 1
gen_cost = 0.002 * (power * power') + 0.15 * power;
case 2
gen_cost = 0.02 * (power * power') + 0.1 * power;
end
end