clear all

% load('Feeder_houses.mat')
load('FeederSolar.mat')
load('AllData.mat')
load('C:\Users\CDT6\Documents\Summer Project\MATLAB\TVV\Feeder_date_time.mat')

SolarHouses=15;
DomesticBatterySize=20*10^3;
n=1;

B=zeros(length(FeederSolar),1);

AllData=cell2mat(AllData);
AllDataMat=AllData;
AllDataSol=sum(AllDataMat,2)+(0.5*FeederSolar*SolarHouses);
    p=randi(96,SolarHouses,1);

while n<=SolarHouses
    House=AllDataMat(:,p(n));
    Grid=zeros(length(FeederSolar),1);
    for i=1:length(FeederSolar)
         B(i)= ((FeederSolar(i)/2)-House(i))*0.8;
         if  (0 <= sum(B))&&(sum(B) < DomesticBatterySize )
            Grid(i)=0;
         elseif sum(B) >= DomesticBatterySize
            B(i)=0;
            Grid(i)= (-FeederSolar(i)/2)+House(i);
         elseif sum(B)< 0
            B(i)=0;
            Grid(i)= (-FeederSolar(i)/2)+House(i);
     end
     AllDataMat(:,p(n))=Grid;
end
    n=n+1;
end
% figure
% plot(Feeder_date_time,sum(AllDataMat,2), Feeder_date_time,sum(AllData,2))
% legend('Modified Data with Solar Power and Domestic Batteries', 'Original Feeder Data')


Feeder_max=zeros(length(FeederSolar),1);
Grid_max=zeros(length(FeederSolar),1);
Grid_mean =zeros(length(FeederSolar),1);
Peak_Mean_Ratio =zeros(length(FeederSolar),1);
Feeder_PowerS=sum(AllData,2);
GridS=sum(AllDataMat,2);

for i= 1:length(Feeder_PowerS)
    if i<49
        Feeder_max(i)=0;
        Grid_max(i)=0;
    else
       Feeder_max(i)=max(Feeder_PowerS(i-48:i));
       Grid_max(i)=max(GridS(i-48:i));
       Grid_mean(i)=mean(GridS(i-48:i));
       Peak_Mean_Ratio(i)= Grid_max(i)/Grid_mean(i);
    end
end

Peak_Reduction=mean(Grid_max-Feeder_max);

PMR=mean(Peak_Mean_Ratio);

Cost_Benefit=(1/(DomesticBatterySize*SolarHouses))*Peak_Reduction;