ci = 0.01; % coût de stockage cp = 2; % coût de production cs = 150; % coût de demande non satisfaite h=10000; % temps de simulation FT=0; Ucc=zeros(1,200); profitU=zeros(1,200); x=zeros(1,h); y=zeros(1,h); u=zeros(1,h); w=zeros(1,h); l=zeros(1,h); u(1,1)=150; % initialisation de u à la première itération x(1,1)=100; % initialisation de x à la première itération
U = 150; % cap de production
phi = 20; % délai de retraction z= 0.2; % produit retounres / produit vendus d = round(normrnd(10,80));% demande tbf = round(exprnd(100,1,1)); ttr = round(exprnd(20,1,1)); comp = 0; alpha = 1 ; for U = 50:5:1000 Ucc(1,cc)=U; for k=2:10^4 if(comp <= (tbf+ttr)) if (comp <= tbf) alpha = 1; u(1,k) = U; comp=comp+1; else alpha=0; u(1,k) = 0; comp=comp+1; end else alpha=1; u(1,k) = U; comp=1; end if x(1,k-1)==0 y(1,k)=0; elseif x(1,k-1)>=d y(1,k)=d; else y(1,k)=x(1,k-1); end x(1,k)=x(1,k-1)+u(1,k-1)+w(1,k)-y(1,k); l(1,k)=d-y(1,k); f=(sp*y(1,k))-(ci*x(1,k))-(cp*u(1,k))-(cs*l(1,k)); FT=FT+f; end profitU(1,cc)=FT; cc=cc+1;
disp(['pour une valeur de u est ' num2str(U) ' le bénifice est ' num2str(FT)]); end