The procedure
% file reorder.m
% Version of 4/11/94
% Calculates PA and GA for reorder policy
states = input('Enter row vector of states ');
A = input('Enter row vector A of actions (padded) ');
C = input('Enter row vector C of order costs (padded) ');
D = input('Enter row vector D of demand values ');
PD = input('Enter row vector PD of demand probabilities ');
SP = input('Enter unit selling price SP ');
BP = input('Enter backorder penalty cost BP ');
m = length(states');
q = length(A);
na = q/m;
N = length(D);
S = ones(na,1)*states;
S = S(:)';
[d,s] = meshgrid(D,S);
a = A'*ones(1,N);
ca = C'*ones(1,N);
TA = (s + a - d).*(s + a - d >= 0);
for i = 1:q
PA(i,:) = tdbn(states,TA(i,:),PD);
end
PA
GA = ca + SP*d - (SP + BP)*(d -s -a).*(d > s+a)
The calculations
orderdata
reorder
Enter row vector of states states
Enter row vector A of actions (padded) A
Enter row vector C of order costs (padded) C
Enter row vector D of demand values D
Enter row vector PD of demand probabilities PD
Enter unit selling price SP SP
Enter backorder penalty cost BP BP
PA =
1.0000 0 0 0 0
0.6000 0.2000 0.2000 0 0
0.2000 0.2000 0.2000 0.2000 0.2000
0.8000 0.2000 0 0 0
0.4000 0.2000 0.2000 0.2000 0
0.4000 0.2000 0.2000 0.2000 0
0.6000 0.2000 0.2000 0 0
0.2000 0.2000 0.2000 0.2000 0.2000
0.2000 0.2000 0.2000 0.2000 0.2000
0.4000 0.2000 0.2000 0.2000 0
0.4000 0.2000 0.2000 0.2000 0
0.4000 0.2000 0.2000 0.2000 0
0.2000 0.2000 0.2000 0.2000 0.2000
0.2000 0.2000 0.2000 0.2000 0.2000
0.2000 0.2000 0.2000 0.2000 0.2000
GA =
0 -40 -80 -120 -160
-300 -100 100 60 20
-480 -280 -80 120 320
0 200 160 120 80
-300 -100 100 300 260
-300 -100 100 300 260
0 200 400 360 320
-300 -100 100 300 500
-300 -100 100 300 500
0 200 400 600 560
0 200 400 600 560
0 200 400 600 560
0 200 400 600 800
0 200 400 600 800
0 200 400 600 800







Basic M-Procedures for Calculation
