Optimization Issue

clc;clear all;
P_Critic= [1.7 1.8 1.5 1.7 1.6 1.6 2.3 2.3 2.1 2.3 1.9 2 1.75 2.5 2.5 1.5 1.2 1.5 1.4 1.3 1 1.2 1.2 1.4];
P_Critic= reshape((P_Critic’ones(1,60))’,1,2460);

T=1440;

P_AC=zeros(1,1440);
P_AC(540:720)=1.5;
P_AC(1080:1260)=1.5;

P_WH=zeros(1,1440);
P_WH(420:600)=1.5;
P_WH(1200:1380)=1.5;

n = 4; % number of cars
Pmax = [6 6 2 2]; % generator capacities
Pmin = [0 0 0 0]; % generator capacities
R = [0.1 0.2 0.5 1.5]; % ramp-rate limits
alpha =[1 1 1 1]; % linear cost fct coeffs
beta = 0.1*ones(1,n); % quadratic cost fct coeffs
gamma = [3 0.5 0.5 0.1]; % power change cost fct coeffs

cvx_begin
variables p(n,T) P_Total(1,T) xa(1,T) % P_CD(1,T)

subject to
p <= (Pmax’)ones(1,T);
p >= Pmin’ones(1,T);
P_Total== 2
(P_AC+P_WH+xa+P_Critic);
sum(p,1) == P_Total;
sum(xa(1:250))==90 * 3.5;
3.5>=xa>=0
power_cost= sum(alpha * p+beta
(p.^2))
minimize (power_cost)
cvx_end


Hello everyone,

I have a small issue regarding of my code. I would like to optimize “p” that is based on some powers. Powers are constant except “xa”, I would like to get xa between some certain amount of time so it is kind of flexible. Algorithm is given me result but xa is fluctuating between limits however I want to get max. or 0 instead of various number. I dont know is there anyway that I can put into code and improve the results? Thanks

It’s not clear exactly what you are experiencing with your current CVX program, and what you want. However, it does not appear to be a CVX formulation matter per se. Rather, it is an optimization modeling matter. This forum is not the place to get advice on how to produce a good optimization model for whatever real-world system you are modeling/optimizing, be that in power generation, or otherwise.

Hello Mark,

I understand what you are saying I apologize if I did something wrong. The code is not giving what I want so I just want to get some help. If it is not allowed you can remove the post. Regards