The Personal Computer Problem
The model ...
Decision variables:
- p = wholesale price per unit [dollars]
- a = monthly advertising costs [dollars/month]
Dependent variables:
- N = number of units sold per month
- R = revenue = p * n [dollars/month]
- C = cost = 700 * n + a [dollars/month]
- Profit = R - C = p*n - 700*n - a [dollars/month]
Constraints:
Monthly advertising costs (a) cannot exceed $100,000.
> | restart: |
> | with(plots): |
Warning, the name changecoords has been redefined
Take a look at P as a function of p and a ...
> | N := (p,a) -> ( 10000 + 200*(a-50000)/10000 ) * ( 1 + (950-p)/100*50/100 ); |
> | Profit := (p,a) -> p*N(p,a) - ( 700*N(p,a) + a ); |
> | plot3d( Profit(p,a), p=750..1150, a=30000..100000, axes=boxed ); |
It appears that the optimal wholesale price is approximately $900.
It's hard to tell what the optimal advertising budget should be from the surface plot.
But we can get more insight from a contour plot ...
> | contourplot( Profit(p,a), p=750..1150, a=30000..100000, axes=boxed, color=black ); |
Judging from the above, the maximum profit will be obtained on the boundary of the feasible region, that is, when a=$100,000.
So we need to solve the following constrained optimization problem:
Find p and a to maximize P, subject to the constraint that a=100,000.
In the notation of the standard Lagrange multiplier problem, our Profit function is the objective function.
grad(Profit) = (dProfit/dp, dProfit/da).
We let g(p,a) = a.
Then grad(g) = ( dg/dp, dg/da) = (0,1).
We are left to solve the following Lagrange system of equations for p, a, and lambda:
grad(Profit) = lam grad(g) and g(p,a)=100,000,
or, equivalently, the following three equations:
dProfit/dp = lamda*0 = 0
dProfit/da = lamnda*1 = lambda
a=100000
> | dProfitdp := diff( Profit(p,a), p ); |
> | dProfitda := diff( Profit(p,a), a ); |
> | solve( {dProfitdp=0, dProfitda=lam, a=100000}, {p,a,lam} ); |
So, to optimize profit, the manufacturer should spend the full $100,000 on advertising costs, and lower the price per unit from $950 to $925. Compare current profit level with the optimized profit level ...
> | Profit(950,50000); |
> | Profit(925,100000); |
Looks good - the company indeed would be increasing profit by changing some numbers.
Now for a sensitivity analysis.
How is profit affected by the $100,000 ceiling on advertising costs?
Let C=ceiling on advertising costs.
The Profit function itself is not affected directly, just the constraint.
We now solve the following Lagrange system:
dProfit/dp = lamda*0 = 0
dProfit/da = lamnda*1 = lambda
a=C
> | sol := solve( {dProfitdp=0, dProfitda=lam, a=C}, {p,a,lam} ); |
Interesting - the optimal whole sale price doesn't depend on C.
Take a look at the Profit function as a function of C
(sub the optimal solution into the Profit function first) ...
> | assign( sol ); |
> | plot( Profit(p,a), C=50000..150000, color=black ); |
The company can increase profit even further by increasing their spending on advertising.
How much (is it worth it)?
Do a quantitative sensitivity analysis as well ...
> | dProfitdC := diff( Profit(p,a),C ); |
Interesting! This is also the value of the Lagrange multiplier lam we found earlier ...
It turns out that this is not a coincidence. We'll discuss this in class.
Using the definition of sensitivity, we find ...
> | sens_Profit_C := dProfitdC * C / Profit(p,a): |
> | evalf( subs( C=100000, sens_Profit_C ) ); |
> | %/100 * Profit(925,100000); |
> |
Interpretation of the sensitivity results:
For every 1% increase in the advertising budget, the company can expect to gain another 0.15% in profit. In terms of dollar figures, this means that for every additional $1000 (1% of $100,000) spent in advertising, the company can expect to gain another $4026 or so in profit. That's not a bad return on investment!