Hello,
I am running an optimisation problem using YALMIP and the solver gurobi.
However, this solver would not be appliable anymore since I have to include a non linear and non convex relation ship between one decision variable "doddv" and another one "Lifedv".
the function in question fits the two data set of DOD(Depth of discharge) and Lifetime(Battery duration over this DOD) and is generated thanks to polyfit as shown below
function Lifedv = LifetimeDODfunction(doddv)
L = 7:0.5:15; %lifetime data
dod = [90 80 70 64 57.5 52 48 43 40 37 34 31 29 26 24 22 20]; %dod data
n=2; %order of the fitted curve from data of the manufacturer
pinv = polyfit(dod,L,n);
Lifedv=0;
for i=1:n+1
Lifedv=Lifedv + pinv(i)*doddv.^(n+1-i);
end
end
Then I call this in the section where I define all my YALMIP variables
for b=1:Ns
Lifedv(b,:) = sdpfun(doddv(b,:),'LifetimeDODfunction');
end
which works as long as I don't define constraints that involve "Lifedv". If I do, I get "Warning: Solver not applicable (gurobi)" as expected...
Is there a way to manipulate constraints that need this variable "Lifedv"?
I need this data to improve the objective
function.by including the new cost "ObjopBattLife" in the multiobjective problem I have.
Thank you in advance