Tushar,
Your results differ from those of Wen-Feng Hsiao and myself. We arrived at
our results independently using different approaches. I will send you my
spreadsheet, for what it is worth.
Regards,
Kevin
I would take exception to the proposition that the problem was easily
solved in any programming language. Non-linear integer problems are
notoriously difficult -- very, very difficult -- to solve.
However, with a little 'intelligent massaging' of the problem they can
be trivial to solve -- just as this was trivially easy to solve with
XL/Solver.
There is some ambiguity as to whether the fixed manufacturing cost of
250,000 is part of the million dollar budget or not. I assumed it was.
The demand function "D=2000/18*EXP(-0.9*Price/18)*(1+Promotion/500)^2
(in thousands), where Promotion is in thousand dollars and Price is in
dollar." is what I programmed. However, it seems somewhat suspicious.
I've never heard of demand being a squared-multiplicative function of
the promotion budget. From what I remember of my
marketing/pricing/strategy classes it should be a concave, not a
convex, function! But, I stayed with the original specification.
Also, I saw no reason to produce any excess quantity. Since timing is
not part of the problem description, I ensured that the production
quantity equaled demand. With the caveat, that if the optimal price
was less than $18, one would produce nothing. However, I saw no reason
to program that into XL. Such a decision remains part of the 'post
mortem' analysis.
Finally, this is a classic example of when *not* to insist on integer
solutions. When dealing with quantities in the scale of
hundreds/thousands/millions, it makes a lot more sense to relax the
integer constraints, and then validate the final result by imposing the
integer requirements at the end. [I suspect that the Java /
Mathematica solutions you mentioned used this technique.]
My XL set up was:
B C
2 Total Budget 1,000,000
3 Fixed manuf. Budget 250,000
4 Promotion 265,076
5 Variable Manuf. Budget 484,924
6 Price 453.53
7 Demand 26,940.22
8
9 Unit cost 18
10 Units produced 26,940.22
11 Excess production 0
12
13 Total revenue 12,218,169
14 Net Profit 11,218,169
The formulas in column C were:
1000000
250000
265076.044667111
=C2-C4-C3
453.528928910334
=2000/18*EXP(-0.09*C6/18)*(1+C4/1000/500)^2*1000
18
=C5/C9
=C10-C7
=C6*C7
=C13-C2
The Solver model was:
=MAX($C$13)
=COUNT($C$4,$C$6)
=$C$4>=0
=$C$11=0
=$C$4<=Sheet1!$C$2-Sheet1!$C$3
={100,100,0.000001,0.05,FALSE,FALSE,FALSE,1,1,1,0.0001,TRUE}
For the sake of authenticating the non-integer solution, I developed a
complementary result in col. E. The results from Col. C were INTed and
ROUNDed as appropriate. The results are below.
E
6 453.53
7 26,940
8
9 18
10 26,940
11
12
13 12,218,098
14 11,218,098
--
Regards,
Tushar Mehta, MS MVP -- Excel
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions
Kevin,
Thanks for your hint.
And this is exactly a homework problem designated
by me to my students. I am currently teaching Decision
Support Systems in undergraduate part. They were asked
to use Excel for supporting the decisions about the
price and promotion level of a certain product.
This problem was actually neatly solved by a simple Java
code and graphically illustrated by Mathematica v4.0.
However, my students has little knowledge about Java and
Mathematica. I believe the Excel can do the same job.
However, when I tried to illustrate the power of Excel
in my class. I was stuck there for a whole hour, and
kept changing the constraints. But all were in vain.
My conclusion would be Excel cannot solve integer-nonlinear
programming problems. Or some experts can tell me how to solve
this kind of problems. Any suggestion would be very appreciated.
-------
Wen-Feng Hsiao,
Is this a homework problem? You know we don't do homework problems.
Here's my hint, for what's it is worth. Just remember, my advice is
only
worth the price paid.
You are asked to find, "Please find the Price and Promotion level to
maximize the profit."
I would just use a data table and plug your information in. Then just
find
the max of the data table.
Or you can use Solver as you attempted to do with the constraints to
find
the Max.
Good luck!
Regards,
Kevin
Dear experts,
I spent much time on trying to use Excel for solving the following
nonlinear programming problem:
Total budget: one million dollars (for Promotion and Manufacture)
The production cost is 18 dollar/per item
The estimated demand is
D=2000/18*EXP(-0.9*Price/18)*(1+Promotion/500)^2 (in thousands),
where
Promotion is in thousand dollars and Price is in dollar.
The over manufactured items can only be sold 14.4 dollar/per item
The fixed manufacture cost is 250 thousand dollars.
Please find the Price and Promotion level to maximize the profit.
I use Solver with the following setting, but could not find the
correct answer:
manufacture: B1(=1000-B2)
the number of manufactured items: D1(=INT(B1/18*1000)/1000)
promotion: B2(integer variable)
price: B3(integer variable)
demand: B4(=INT(1000*2000/18*EXP(-0.9*B3/18)*(1+B2/500)^2)/1000)
profit: B5(=IF(B4>D1,D1*B3-1000-250,B4*B3+(D1-B4)*14.4-1000-250)),
with the following contraints:
$B$2>=0
$B$2=integer
$B$2<=1000
$B$3=integer
$B$3>=0
$B$4<=$D$1
But it could not find a solution. However, if I modified the content
of D1 and B4 to:
D1(=B1/18)
B4(=2000/18*EXP(-0.9*B3/18)*(1+B2/500)^2))
It finds an unrealistic (fraction is included) local optimum
solution.
Could someone give me a hint? Thanks a lot!