> with(plots, display, textplot); > restart; > Digits := 6; 6 Formulation of the model > a := .15; 0.15 > n := 1; 1 > P := proc (r) options operator, arrow; n*(1+a)^((1/100)*r)*(1500-r) end proc; (1/100 r) r -> n (1 + a) (1500 - r) > plot(P(r), r = 0 .. 1500, labels = ["Rebate amount", "Profit"], labeldirections = [horizontal, vertical], labelfont = [TIMES, BOLD, 20]); > H := proc (r) options operator, arrow; 1500 end proc; r -> 1500 > plot([P(r), H(r)], r = 0 .. 1500, labels = ["Rebate amount", "Profit"], labeldirections = [horizontal, vertical], labelfont = [TIMES, BOLD, 20]); Computation of the optimal rebate amount > diff(P(r), r); (1/100 r) (1/100 r) 0.00139762 1.15 (1500 - r) - 1.15 > dPdr := diff(P(r), r); (1/100 r) (1/100 r) 0.00139762 1.15 (1500 - r) - 1.15 > rmax := solve(dPdr = 0, r); 784.498 > P(rmax); 2141.83 Sensitivity Analysis > restart; > alpha := alpha; alpha > P := (1+alpha)^((1/100)*r)*(1500-r); (1/100 r) (1 + alpha) (1500 - r) > rstar := solve(diff(P, r) = 0, r); 100 (15 ln(1 + alpha) - 1) -------------------------- ln(1 + alpha) > plot(rstar, alpha = 0.1e-1 .. .5, labels = ["alpha", "optimal rebate"], labeldirections = [horizontal, vertical], labelfont = [TIMES, BOLD, 20]); > drdalpha := diff(rstar, alpha); 1500 100 (15 ln(1 + alpha) - 1) ------------------------- - -------------------------- (1 + alpha) ln(1 + alpha) 2 ln(1 + alpha) (1 + alpha) > drdalpha*alpha/rstar(alpha); 1 // 1500 --------------------------------- ||------------------------- 100 (15 ln(1 + alpha)(alpha) - 1) ||(1 + alpha) ln(1 + alpha) \\ 100 (15 ln(1 + alpha) - 1)\ \ - --------------------------| alpha ln(1 + alpha)(alpha)| 2 | | ln(1 + alpha) (1 + alpha)/ / > simplify(%); alpha ln(1 + alpha)(alpha) -------------------------------------------------------- 2 ln(1 + alpha) (1 + alpha) (15 ln(1 + alpha)(alpha) - 1) > S := simplify(drdalpha*alpha/rstar(alpha)); alpha ln(1 + alpha)(alpha) -------------------------------------------------------- 2 ln(1 + alpha) (1 + alpha) (15 ln(1 + alpha)(alpha) - 1) > plot(S, alpha = 0.1e-1 .. .2, -10 .. 10, labels = ["alpha", "sensitivity"], labeldirections = [horizontal, vertical], labelfont = [TIMES, BOLD, 20]); > alpha := .15; 0.15 > S; 0.8511849245 > rstar(.15); 784.4976373 > alpha := 0.7e-1; 0.07 > S; 64.98243499 > rstar(0.7e-1); 21.99235033 > alpha := .10; 0.10 > S; 2.219987269 > rstar(.10); 450.7941312 > alpha := .12; 0.12 > rstar(.12); 617.6108707 > >