Error in problem forumlation

Dears

I’m trying to solve my optimization problem using cvx

I get the following error when running the code

Error using cvx/times (line 173)
Disciplined convex programming error:
    Cannot perform the operation: {real affine} .* {concave}

Error in cvx/mtimes (line 36)
    z = feval( oper, x, y );

Error in planning_optimizing_beta_3 (line 166)
                Deg(i,k,day,week)>= -((0.042*((BatC)/5000)+ ((1-Ef^2)/Ef)*our_Beta)...

My code is below

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

cvx_begin %quiet %quiet for not producing any screen outputs
%in variables we put decision and axuillary variables that are related to
%decision variables
variables POP(NEV,t,days,weeks) MxAP(NEV,t,days,weeks) MnAP(NEV,t,days,weeks) RsRP(NEV,t,days,weeks) Deg(NEV,t,days,weeks) our_Beta
expressions Inn(t,days,weeks) running_cost(t,days,weeks)  Scaled_week_profit(weeks) Yearly_profit(years) Total_profit Agg_Per Num_of_cars Scaling_Factor ...
Scaled_DEP(NEV,t) Comp(NEV,t) EvPer(t) Dep_i(NEV,t) 

Agg_Per=(-85.7*our_Beta+20.31)/100;


for week=1:weeks
 week
 %loading data for the whole week
 ReguppW(:,week) = Regupp((week-1)*days*hours+1:week*days*hours);
 RegdwpW(:,week) = Regdwp((week-1)*days*hours+1:week*days*hours);
 ResrespW(:,week) = Resresp((week-1)*days*hours+1:week*days*hours);
 
 ExU_W(:,week) = ExUA((week-1)*days*hours+1:week*days*hours); 
 ExD_W(:,week) = ExDA((week-1)*days*hours+1:week*days*hours);
 ExR_W(:,week) = ExRA((week-1)*days*hours+1:week*days*hours);

% PriceD_W(:,week) = Price((week-1)*days*hours+1:week*days*hours); 
 FPriceD_W(:,week) = FPrice((week-1)*days*hours+1:week*days*hours); 
 
for day = 1:days


day

%loading data for the whole day

Pregup(:,day,week) = ReguppW((day-1)*hours+1 : day*hours,week)*1e-3;

% RegdwpD(:,day,week) = RegdwpW((day-1)*hours+1 : day*hours,week);

Pregdw(:,day,week) = RegdwpW((day-1)*hours+1 : day*hours,week)*1e-3;


Prespres(:,day,week) = ResrespW((day-1)*hours+1 : day*hours,week)*1e-3;   % *1e-3 for KW to MW for 24 hours Responsive reserve price

ExU(:,day,week) = ExU_W((day-1)*hours+1 : day*hours,week); %for the whole day
ExD(:,day,week) = ExD_W((day-1)*hours+1 : day*hours,week);
ExR(:,day,week) = ExR_W((day-1)*hours+1 : day*hours,week);

%PriceD(:,day,week) = PriceD_W((day-1)*hours+1 : day*hours,week)*1e-3;  %for the whole day
FPriceD(:,day,week) = FPriceD_W((day-1)*hours+1:day*hours,week)*1e-3; %for the whole day





  % the for loop was done to apply the constraints for each time  
for k = 1:t %number of hours

		k

		 Inn(k,day,week) = ((Pregup(k,day,week)*(sum(MnAP(:,k,day,week))) + Pregdw(k,day,week)*(sum(MxAP(:,k,day,week))) +Prespres(k,day,week)*(sum(RsRP(:,k,day,week))))*EvPer(k))...
			 + our_Beta*(Av(:,k)'*((MxAP(:,k,day,week)*ExD(k,day,week) + POP(:,k,day,week) - MnAP(:,k,day,week)*ExU(k,day,week) - RsRP(:,k,day,week)*ExR(k,day,week))*EvPer(k)));

		 running_cost(k,day,week)= (Av(:,k)'*((MxAP(:,k,day,week)*ExD(k,day,week) + POP(:,k,day,week) - MnAP(:,k,day,week)*ExU(k,day,week) - RsRP(:,k,day,week)*ExR(k,day,week))*(FPriceD(k,day,week))...
			 *EvPer(k)))+ (sum(Deg(:,k,day,week)));

end

end

Scaled_week_profit(week)=weighted_factor(week)*(( sum(sum(Inn(:,:,week)))- sum(sum(running_cost(:,:,week))) ));
end

for year=1:years
Yearly_profit(year)=(1/(1+(discount_rate))^year)*((sum(Scaled_week_profit)));
end



Total_profit=(sum(Yearly_profit)-sum(Investment_cost));

maximize Total_profit

subject to

our_Beta>0; %range for our_Beta
our_Beta<=0.12;
%  
Num_of_cars==(Agg_Per*10000);%assuming the number of cars is 10000 cars
Scaling_Factor==(Num_of_cars/NEV);
Scaled_DEP==DEP*Scaling_Factor; %we scale DEP so we calculte the compensation factor and EVPer

%to calculate compensation factor
for i=1:NEV
for j=1:hours
	Comp(i,j)==1+(Scaled_DEP(i,j)/(1-Scaled_DEP(i,j)));
end
end

%to calculate EVPer
for h=1:hours
for i=1:NEV
				
		if h<Mttrip(i)
			Dep_i(i,h)=sum(Scaled_DEP(i,1:h));
		elseif (h >= Mttrip(i) && h < Ettrip(i))
			Dep_i(i,h)=sum(Scaled_DEP(i,Mttrip(i):h));
		elseif h >= Ettrip(i)
			Dep_i(i,h)=sum(Scaled_DEP(i,Ettrip(i):h));
		end
		
end
EvPer(h)==1-((1/NEV)*sum(Dep_i(:,h)));
end





for week=1:weeks
 week
 for day =1:days
	 day
	 Trip = zeros(NEV,hours);
	 for k=1:t
		 k
		 for i = 1:NEV
			
			if k<Mttrip(i) 
				Trip(i,k)=0;
			elseif k>=Mttrip(i) && k<Ettrip(i)
				Trip(i,k)=trip_1(i);
			elseif k>=Ettrip(i)
				Trip(i,k)=trip_1(i)+trip_2(i);
			end
			
sum(Av(i,1:k).*(MxAP(i,1:k,day,week).*ExD(1:k,day,week)' + POP(i,1:k,day,week) - MnAP(i,1:k,day,week).*ExU(1:k,day,week)' ...
	- RsRP(i,1:k,day,week).*ExR(1:k,day,week)').*Comp(i,1:k) + ((-min(0,Av(i,1:k).*(POP(i,1:k,day,week) - MnAP(i,1:k,day,week).*ExU(1:k,day,week)'- ...
	RsRP(i,1:k,day,week).*ExR(1:k,day,week)')).*(Comp(i,1:k)/Ef))*((1-Ef^2)/Ef)))*Ef + SOCI(i) -Trip(i,k) <= Mci(i);
			
sum(Av(i,1:k).*(MxAP(i,1:k,day,week).*ExD(1:k,day,week)' + POP(i,1:k,day,week) - MnAP(i,1:k,day,week).*ExU(1:k,day,week)' ...
	- RsRP(i,1:k,day,week).*ExR(1:k,day,week)').*Comp(i,1:k) + ((-min(0,Av(i,1:k).*(POP(i,1:k,day,week) - MnAP(i,1:k,day,week).*ExU(1:k,day,week)'- ...
	RsRP(i,1:k,day,week).*ExR(1:k,day,week)')).*(Comp(i,1:k)/Ef))*((1-Ef^2)/Ef)))*Ef + SOCI(i) -Trip(i,k) >= 0.1*Mci(i); %avoiding deep discharging
		   
			if k==t
sum(Av(i,1:k).*(MxAP(i,1:k,day,week).*ExD(1:k,day,week)' + POP(i,1:k,day,week) - MnAP(i,1:k,day,week).*ExU(1:k,day,week)' ...
	- RsRP(i,1:k,day,week).*ExR(1:k,day,week)').*Comp(i,1:k) + ((-min(0,Av(i,1:k).*(POP(i,1:k,day,week) - MnAP(i,1:k,day,week).*ExU(1:k,day,week)'- ...
	RsRP(i,1:k,day,week).*ExR(1:k,day,week)')).*(Comp(i,1:k)/Ef))*((1-Ef^2)/Ef)))*Ef + SOCI(i) -Trip(i,k)>= 0.99*Mci(i);

sum(Av(i,1:k).*(MxAP(i,1:k,day,week).*ExD(1:k,day,week)' + POP(i,1:k,day,week) - MnAP(i,1:k,day,week).*ExU(1:k,day,week)' ...
	- RsRP(i,1:k,day,week).*ExR(1:k,day,week)').*Comp(i,1:k) + ((-min(0,Av(i,1:k).*(POP(i,1:k,day,week) - MnAP(i,1:k,day,week).*ExU(1:k,day,week)'- ...
	RsRP(i,1:k,day,week).*ExR(1:k,day,week)')).*(Comp(i,1:k)/Ef))*((1-Ef^2)/Ef)))*Ef + SOCI(i) -Trip(i,k)<= Mci(i);
			end

			   
			


		   (MxAP(i,k,day,week) + POP(i,k,day,week))*Comp(i,k) <= (Av(i,k)*MP(i));
MnAP(i,k,day,week) <= POP(i,k,day,week) + MP(i)*Av(i,k);
RsRP(i,k,day,week) <= POP(i,k,day,week) + MP(i)*Av(i,k) - MnAP(i,k,day,week);
MxAP(i,k,day,week) >= 0;
MnAP(i,k,day,week) >= 0;
RsRP(i,k,day,week) >= 0;
POP(i,k,day,week) >= -MP(i)*Av(i,k);
Deg(i,k,day,week)>=0;

Deg(i,k,day,week)>= -((0.042*((BatC)/5000)+ ((1-Ef^2)/Ef)*our_Beta)...
	*min(0,Av(i,k)*(POP(i,k,day,week) - MnAP(i,k,day,week)*ExU(k,day,week)-... RsRP(i,k,day,week)*ExR(k,day,week)))*(Comp(i,k)/Ef));
			
			
		   if Av(i,k)==1
		   if k==1
abs((sum(Av(i,1:k).*(MxAP(i,1:k,day,week).*ExD(1:k,day,week)' + POP(i,1:k,day,week) - MnAP(i,1:k,day,week).*ExU(1:k,day,week)' ...
	- RsRP(i,1:k,day,week).*ExR(1:k,day,week)').*Comp(i,1:k) + ((-min(0,Av(i,1:k).*(POP(i,1:k,day,week) - MnAP(i,1:k,day,week).*ExU(1:k,day,week)'- ...
	RsRP(i,1:k,day,week).*ExR(1:k,day,week)')).*(Comp(i,1:k)/Ef))*((1-Ef^2)/Ef)))*Ef + SOCI(i) -Trip(i,k)) - SOCI(i)) <= MP(i)/Ef

		   elseif k>1
			   
abs((sum(Av(i,1:k).*(MxAP(i,1:k,day,week).*ExD(1:k,day,week)' + POP(i,1:k,day,week) - MnAP(i,1:k,day,week).*ExU(1:k,day,week)' ...
	- RsRP(i,1:k,day,week).*ExR(1:k,day,week)').*Comp(i,1:k) + ((-min(0,Av(i,1:k).*(POP(i,1:k,day,week) - MnAP(i,1:k,day,week).*ExU(1:k,day,week)'- ...
	RsRP(i,1:k,day,week).*ExR(1:k,day,week)')).*(Comp(i,1:k)/Ef))*((1-Ef^2)/Ef)))*Ef + SOCI(i) -Trip(i,k))-...
(sum(Av(i,1:k-1).*(MxAP(i,1:k-1,day,week).*ExD(1:k-1,day,week)' + POP(i,1:k-1,day,week) - MnAP(i,1:k-1,day,week).*ExU(1:k-1,day,week)' ...
- RsRP(i,1:k-1,day,week).*ExR(1:k-1,day,week)').*Comp(i,1:k-1) + ((-min(0,Av(i,1:k-1).*(POP(i,1:k-1,day,week) - MnAP(i,1:k-1,day,week).*ExU(1:k-1,day,week)'...
- RsRP(i,1:k-1,day,week).*ExR(1:k-1,day,week)')).*(Comp(i,1:k-1)/Ef))*((1-Ef^2)/Ef)))*Ef + SOCI(i) -Trip(i,k-1))) <= MP(i)/Ef
		   end
		   end
	 end
 end
 end
end

cvx_end

FAQ: Why doesn’t CVX accept my problem? [READ THIS FIRST]

Just another suggestion: if you’re encountering difficulties, don’t invoke CVX with quiet mode.