Hello help-glpk members
 
I am working on a model with batteries using Matlab. I would like to optimize 
how much power goes into or out of battery.
 
P(i) represents power for time step i. This is the variable to be optimized. If 
P is positive, it represents dicharging of battery, if P is negative then it is 
charging. Since charging and discharging conditions for battery are different, 
I need to use conditional constraints. I have read about using binary variables 
for conditional constraints but I cannot figure out how to apply it here.
 
I want to model contraints of following form:
if P(i) >0 (discharging)
limit1<= K(i,1)*P(1)+ K(i,2)*P(2)+ K(i,3)*P(3)...K(i,i)*P(i) <= limit2
K(i,1),K(i,2)... are constants
 
else if P(i)<=0 (charging)
limit1<= C(i,1)*P(1)+ C(i,2)*P(2)+ C(i,3)*P(3)...C(i,i)*P(i) <= limit2
C(i,1),C(i,2)... are constants different from K(i,1)..
 
Is it possible to represent such constraint for linear programming? Also, I am 
working with 72 time steps and three batteries. So it is 216 variables. Would 
that be too complicated?
__________________________________________________________________________
For more details, the above constraint is reformulation of following: 
The energy in battery at time i+1 depends on energy in battery at time i and 
power in/output in time step i.
 
E(i+1)=E(i)- P(i)/discharging_efficiency * time_step
or
E(i+1)=E(i)+ P(i)*charging_efficiency * time_step
 
 and    min_limit <= E(i)<= max_limit
 
So, the constant K(i,1) depends upon the signs of P(1),P(2)..P(i). i.e. if we 
were charging or discharging for each step.
 
I would appreciate any help I can get. Thank you so much. :)
 
Aastha
 
_______________________________________________
Help-glpk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-glpk

Reply via email to