告费增加时反而有所回落,为此先画出散点图。
其程序如下:
clear all;
x=[2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.6 6.0];
s=[4.1 3.8 3.4 3.2 2.9 2.8 2.5 2.2 2.0];
figure(1);
plot(x',s','-*') %画售价与预期销售量散点图(如图6-6(a))
z=[0,1,2,3,4,5,6,7];
k=[1.00 1.40 1.70 1.85 1.95 2.00 1.95 1.80];
figure(2);plot(z,k,'-*');%画出广告费与销售增长因子散点图(如图6-6(b))
(a)画售价与预期销售量散点图
(b )画出广告费与销售增长因子散点图
从以上两图易知,售价x 与预期销售量y 近似于一条直线,广告费z 与销售增长因子k 近似于一条二次曲线,为此建立拟合函数模型,令: 2
y ax b
k c dz ez =+⎧
⎨=++⎩其中系数a ,b ,c ,d ,e 为待定系数。
再建立优化模型:2
,max ()()(2)x z
p c dz a bx x z
=++--0.0
x s t z >⎧⎨>⎩模型求解:先求拟合函数的系数a,b,c,d,e,并画出散点图和拟合曲线,程序命令(接上面的程序)为:
>> a1=polyfit(x,s,1);a2=polyfit(z,k,2);运行结果为:a1=
-0.5133 5.0422a2=
-0.0426 0.4092
即拟合函数的系数a=-0.5133,b= 5.0422,c=1.0188,d=0.4092,e=-0.0426。
其次求解优化模型,因MATLAB 中仅能求极小值,程序命令为:function y=nline(x)
y(2)-(-0.5133*(1)+ 5.0422)*(-0.0423*x(2)^2+0.4092*(2)+1.0188)*(x(1)-2);
在命令窗口中输入:
>>[x,fval]=fmincon(‘nline’,[5;3.3],[],[],[],[],[0;0],[]) %求解规划问题
输出如下:
Maximum number of function evaluations exceeded;
Increase OPTIONS.MaxFunEvals.
X= 1.0e+013*
1.1504
0.0000
fval=
-1.0449e+014
即当销售价格为x=5.9115元,广告费z=3.083万元时,公司预期的利润最多为11.6631万元。
四、思考与提高
用计算的方法再算一下这个问题,对比一下结果是不是相同。
然后比较一下哪种方法更简便实用。