Почему я не получаю кумулятивное среднее значение? - PullRequest
0 голосов
/ 29 февраля 2020

Таким образом, учитывая наиболее вероятные, максимальные и минимальные рабочие часы и ставку рабочей силы для каждой отдельной задачи проекта, мне необходимо рассчитать среднюю общую стоимость проекта и совокупное среднее значение.

It Предполагается, что с каждым заданием связано три angular распределение (как по продолжительности задания, так и по ставкам рабочей силы)

Может кто-нибудь указать мне, почему я не получаю свой CRM?

этот подход корректен или мне следует рассчитать общее наиболее вероятное, общее максимальное, общее минимальное время и общее максимальное, минимальное, наиболее вероятное значение рабочей силы?

clc 
clear

Ns=100;
Tcrm=zeros(1,Ns)

A_Min_Hours=4*2*8;
A_Ml_Hours=6*2*8;
A_Max_Hours=8*2*8;
pd_A=makedist('triangular','a',4*2*8,'b',6*2*8,'c',8*2*8);
%total random task duration
Trtd_A=zeros(1,Ns); 
Trtd_A(1)=random(pd_A);

B_Min_Hours=2*2*8;
B_Ml_Hours=4*2*8;
B_Max_Hours=8*2*8;
pd_B=makedist('triangular','a',2*2*8,'b',4*2*8,'c',8*2*8);
Trtd_B=zeros(1,Ns); %array to hold random task duration
Trtd_B(1)=random(pd_B);

C_Min_Hours=1*2*8;
C_Ml_Hours=2*2*8;
C_Max_Hours=7*2*8;
pd_C=makedist('triangular','a',1*2*8,'b',2*2*8,'c',7*2*8);
Trtd_C=zeros(1,Ns);
Trtd_C(1)=random(pd_C);

D_Min_Hours=6*2*8;
D_Ml_Hours=9*2*8;
D_Max_Hours=12*2*8;
pd_D=makedist('triangular','a',6*2*8,'b',9*2*8,'c',12*2*8);
Trtd_D=zeros(1,Ns);
Trtd_D(1)=random(pd_D);

F_Min_Hours=5*2*8;
F_Ml_Hours=10*2*8;
F_Max_Hours=15*2*8;
pd_F=makedist('triangular','a',5*2*8,'b',10*2*8,'c',15*2*8);
Trtd_F=zeros(1,Ns);
Trtd_F(1)=random(pd_F);

I_Min_Hours=10*2*8;
I_Ml_Hours=15*2*8;
I_Max_Hours=25*2*8;
pd_I=makedist('triangular','a',10*2*8,'b',15*2*8,'c',25*2*8);
Trtd_I=zeros(1,Ns);
Trtd_I(1)=random(pd_I);

J_Min_Hours=5*2*8;
J_Ml_Hours=9*2*8;
J_Max_Hours=12*2*8;
pd_J=makedist('triangular','a',5*2*8,'b',9*2*8,'c',12*2*8);
Trtd_J=zeros(1,Ns);
Trtd_J(1)=random(pd_J);

K_Min_Hours=1*2*8;
K_Ml_Hours=2*2*8;
K_Max_Hours=3*2*8;
pd_K=makedist('triangular','a',1*2*8,'b',2*2*8,'c',3*2*8);
Trtd_K=zeros(1,Ns);
Trtd_K(1)=random(pd_K);

L_Min_Hours=2*2*8;
L_Ml_Hours=3*2*8;
L_Max_Hours=6*2*8;
pd_L=makedist('triangular','a',2*2*8,'b',3*2*8,'c',6*2*8);
Trtd_L=zeros(1,Ns);
Trtd_L(1)=random(pd_L);

M_Min_Hours=10*2*8;
M_Ml_Hours=15*2*8;
M_Max_Hours=20*2*8;
pd_M=makedist('triangular','a',10*2*8,'b',15*2*8,'c',20*2*8);
Trtd_M=zeros(1,Ns);
Trtd_M(1)=random(pd_M);

N_Min_Hours=6*2*8;
N_Ml_Hours=9*2*8;
N_Max_Hours=11*2*8;
pd_N=makedist('triangular','a',6*2*8,'b',9*2*8,'c',11*2*8);
Trtd_N=zeros(1,Ns);
Trtd_N(1)=random(pd_N);
%total random cost
A_Cost_Min=100;
A_Cost_Ml=120;
A_Cost_Max=150;
pd_A_Cost=makedist('triangular','a',100,'b',120,'c',150)
Trc_A=zeros(1,Ns);
Trc_A(1)=random(pd_A_Cost);

B_Cost_Min=100;
B_Cost_Ml=120;
B_Cost_Max=150;
pd_B_Cost=makedist('triangular','a',100,'b',120,'c',150)
Trc_B=zeros(1,Ns);
Trc_B(1)=random(pd_B_Cost);

C_Cost_Min=100;
C_Cost_Ml=120;
C_Cost_Max=150;
pd_C_Cost=makedist('triangular','a',100,'b',120,'c',150)
Trc_C=zeros(1,Ns);
Trc_C(1)=random(pd_C_Cost);

D_Cost_Min=100;
D_Cost_Ml=120;
D_Cost_Max=150;
pd_D_Cost=makedist('triangular','a',100,'b',120,'c',150)
Trc_D=zeros(1,Ns);
Trc_D(1)=random(pd_D_Cost);

F_Cost_Min=100;
F_Cost_Ml=120;
F_Cost_Max=150;
pd_F_Cost=makedist('triangular','a',100,'b',120,'c',150)
Trc_F=zeros(1,Ns);
Trc_F(1)=random(pd_F_Cost);

I_Cost_Min=100;
I_Cost_Ml=120;
I_Cost_Max=150;
pd_I_Cost=makedist('triangular','a',100,'b',120,'c',150)
Trc_I=zeros(1,Ns);
Trc_I(1)=random(pd_I_Cost);

J_Cost_Min=90;
J_Cost_Ml=100;
J_Cost_Max=110;
pd_J_Cost=makedist('triangular','a',100,'b',120,'c',150)
Trc_J=zeros(1,Ns);
Trc_J(1)=random(pd_J_Cost);

K_Cost_Min=90;
K_Cost_Ml=100;
K_Cost_Max=110;
pd_K_Cost=makedist('triangular','a',100,'b',120,'c',150)
Trc_K=zeros(1,Ns);
Trc_K(1)=random(pd_K_Cost);

L_Cost_Min=100;
L_Cost_Ml=120;
L_Cost_Max=150;
pd_L_Cost=makedist('triangular','a',100,'b',120,'c',150)
Trc_L=zeros(1,Ns);
Trc_L(1)=random(pd_L_Cost);

M_Cost_Min=100;
M_Cost_Ml=120;
M_Cost_Max=150;
pd_M_Cost=makedist('triangular','a',100,'b',120,'c',150)
Trc_M=zeros(1,Ns);
Trc_M(1)=random(pd_M_Cost);

N_Cost_Min=100;
N_Cost_Ml=120;
N_Cost_Max=150;
pd_N_Cost=makedist('triangular','a',100,'b',120,'c',150)
Trc_N=zeros(1,Ns);
Trc_N(1)=random(pd_N_Cost);

Tpc=zeros(1,Ns); %array to hold random totoal project cost
Tcrm=zeros(1,Ns);
Sample=zeros(1,Ns);
Nb=10;

Sample(1)=1;
%TOTAL PROJECT COST INITIALISATION
Tpc(1)=random(pd_A)*random(pd_A_Cost)+random(pd_B)*random(pd_B_Cost)+random(pd_C)*random(pd_C_Cost)+random(pd_D)*random(pd_D_Cost)+random(pd_F)*random(pd_F_Cost)+random(pd_I)*random(pd_I_Cost)+random(pd_J)*random(pd_J_Cost)+random(pd_K)*random(pd_K_Cost)+random(pd_L)*random(pd_L_Cost)+random(pd_M)*random(pd_M_Cost)+random(pd_N)*random(pd_N_Cost);
Tcrm(1)=Tpc(1);
for i=2:Ns
    Sample(i)=i;
    Trtd_A(i)=random(pd_A)
    Trtd_B(i)=random(pd_B)
    Trtd_C(i)=random(pd_C)
    Trtd_D(i)=random(pd_D)
    Trtd_F(i)=random(pd_F)
    Trtd_I(i)=random(pd_I)
    Trtd_J(i)=random(pd_J)
    Trtd_K(i)=random(pd_K)
    Trtd_L(i)=random(pd_L)
    Trtd_M(i)=random(pd_M)
    Trtd_N(i)=random(pd_N)


    Trc_A(i)=random(pd_A_Cost);
    Trc_B(i)=random(pd_B_Cost);
    Trc_C(i)=random(pd_C_Cost);
    Trc_D(i)=random(pd_D_Cost);
    Trc_F(i)=random(pd_F_Cost);
    Trc_I(i)=random(pd_I_Cost);
    Trc_J(i)=random(pd_J_Cost);
    Trc_K(i)=random(pd_K_Cost);
    Trc_L(i)=random(pd_L_Cost);
    Trc_M(i)=random(pd_M_Cost);
    Trc_N(i)=random(pd_N_Cost);

    Tpc(i)=Trtd_A(i)*Trc_A(i)+Trtd_B(i)*Trc_B(i)+Trtd_C(i)*Trc_C(i)+Trtd_D(i)*Trc_D(i)+Trtd_F(i)*Trc_F(i)+Trtd_I(i)*Trc_I(i)+Trtd_J(i)*Trc_J(i)+Trtd_K(i)*Trc_K(i)+Trtd_L(i)*Trc_L(i)+Trtd_M(i)*Trc_M(i)+Trtd_N(i)*Trc_N(i)

    Tcrm(i)=((i-1)*Tcrm(i-1)+Tpc(i))/i;
end 

Tmean=mean(Tpc)
CRM=Tcrm(Ns)
SD=std(Tpc)
SE=SD/sqrt(Ns)

figure(1)
histogram(Tpc,Nb)
title('My histogram')
xlabel('time')
ylabel('Count')
figure(2)
plot(Sample,Tcrm)
title('My CRM')
xlabel('time')
ylabel('Cumulative Percent')
axis([0,Sample(Ns),0,30])
...