资源描述
基于市场分析的出版社书号分配优化模型
摘 要
本文研究了以教材类出版物为主的A出版社书号资源的分配问题,基于出版社利润最大和重点支持强势产品的考虑,提出了对九个分社分配书号的方案。
文中分两步解决了这个优化问题。第一步预测了06年各种课程教材的实际销售量并量化出优势产品。先利用01~05年单位书号销售量的时间序列建立了灰色系统模型GE(1,1),预测了06年的单位书号销售量。进一步挖掘调查问卷中的信息,考虑教材的满意度、市场占有率等因素,我们在GE(1,1)模型的基础上提出了多变量灰色系统数列预测模型——PGM(1,3)模型,预测了单位书号的销售量,通过单位书号产生的销售额量化出优势产品。
第二步,由于教材的利润率一定,利润就可以通过教材的总销售额反映。为此建立了以06年教材总销售额最大为目标的整数规划模型,约束条件是总社在分配书号时至少保证分给各分社申请数量的一半;分社的生产计划必须在相应的人力资源可承受范围内;书号的总量一定。
九个分社的书号数分别为55、48、120、83、72、49、17、30、26,此时A出版社的总销售额是2612.29万元。
本文在数据处理和建模过程中,都尽可能考虑了实际情况,模型具有很好的可行性。最后我们给A出版社提出了建议。
关键词: 灰色预测 多变量灰色预测 整数规划
一、问题重述
出版社的资源主要包括人力资源、生产资源、资金和管理资源等,它们都捆绑在书号上,经过各个部门的运作,形成成本和利润。某个以教材类出版物为主的出版社A,总社领导每年需要针对分社提交的生产计划申请书、人力资源情况以及市场信息分析,将500个书号数合理地分配给各个分社,使出版的教材产生最好的经济效益。事实上,由于各个分社提交的需求书号总量远大于总社的书号总量,因此总社一般以增加强势产品支持力度的原则优化资源配置。资源配置完成后,各个分社(共九个分社,以学科划分)根据分配到的书号数量,再重新对学科所属每个课程作出出版计划,付诸实施。
本题附录中给出了该出版社所掌握的一些数据资料,请根据这些数据资料,利用数学建模的方法,在信息不足的条件下,提出以量化分析为基础的资源(书号)配置方法,给出一个明确的分配方案,向出版社提供有益的建议。
二、问题分析
本问题是一个关于出版社的书号资源配置的优化问题。要求基于追求出版社利润最大和重点支持强势产品的考虑,为A出版社提出给九个分社分配书号的方案。
问题的约束条件分别是:针对分社提交的生产计划申请书,总社在分配书号时至少保证分给各分社申请数量的一半;分社的生产计划必须在相应的人力资源可承受范围内;总社在书号分配时结合市场信息分析,增加强势产品的支持力度;书号的总量一定为500个。我们的目标是确定九个分社获得的书号数,使得出版的教材产生最大的利润,考虑到出版社在定价时保持对所有教材利润率同一,在此原则上制定教材单价,故目标变为:确定九个分社分配的书号数,使得06年出版的教材产生最大的销售额。
我们分两步解决:
第一步,我们预测A出版社06年每门课程教材单位书号的实际销售数量。问题的难点之一是对2001~2005年的调查数据进行处理,分析出其中反映的市场信息。由于每一门课程的单位书号的销售量只有近五年的5个数据,如果用最小二乘法对数据进行拟合并预测06年的情况必然误差很大;另一方面由于市场信息(主要是需求与竞争力)通常是不完全的,出版社自身的数据收集和积累也不足。对这种情况下的决策问题,如果对未知的或不确定的客观因素进行主观假设会导致模型与实际情况有很大偏差,模型实用性大大降低。出于这种考虑我们引入更符实际的灰色系统预测法(见[1]),建立灰色时间序列预测灰色系统预测模型GE(1,1)。
问题的难点之二是在模型中量化强势产品。显然,调查问卷中的读者对教材的满意度评价,教材的销量及市场占有率能够在一定程度上反映此教材的竞争力(即所谓强势)。为了反映客观因素的影响,需要从调查问卷挖掘更多信息。我们考虑在GE(1,1)模型的基础上增加从问卷中反映的满意度、市场占有率方面的信息,建立多变量灰色系统数列预测模型——PGM(1,3)模型,将强势课程的强势反映在单位书号销售量上面。
第二步,建立以A出版社06年教材销售额最大为目标的整数规划模型。其中,06年教材销售额=累加(第i门课程单位书号的销售量×第i门课程获得的书号数×第i门课程教材均价)。用Lingo编程求解此整数规划问题。
图1 书号分配流程
三、基本假设
1.问卷调查数据能够反映市场的真实信息,同一个学生购买不同课程的书之间独立;
2.分社分配到的书号不得多于他的申请数;
3.不同类别的工作人员之间调配,比如英语的编辑不能调到其他类别做编辑;
4.不同工种的人员之间不能调配,比如编辑不能去做校对工作等;
5.2006年的实际分配的书号与往年相同,即500个;
6.假定同一课程不同书目价格差别不大,同时销售量相近;
7.出版社在定价时保持对所有教材利润率同一,在此原则上制定教材单价;
8.只考虑A出版社所关注的72门课程;
9.出版社在分配书号时至少保证分给各分社申请数量的一半;
10.不考虑新的人力资源计划。
四、名词解释及符号说明
4.1 名词解释
(1)灰色系统,Grey System(见[1])
灰色系统是介于白色系统和黑箱系统之间的过渡系统,其具体含义是:如果某一系统的全部信息已知为白色系统,全部信息未知为黑箱系统,部分信息已知、部分信息未知,那么这一系统就是灰色系统,灰色系统内各因素间有不确定关系。一般地说,社会系统、经济系统、生态系统都是灰色系统。例如物价系统,导致物价上涨的因素很多,但已知的却不多,因此对物价这一灰色系统的预测,可以用灰色预测方法。
灰色系统理论认为对既含有已知信息又含有本知或非确定信息的系统进行预测,就是对在一定范围内变化的,与时间有关的灰色过程的预测。尽管过程中所显示的现象是随机的、杂乱无章的,但毕竟是有序的、有界的,因此这一数据集合具备潜在的规律。灰色预测就是利用这种规律建立灰色模型对灰色系统进行预测。
(2)生成列
为了弱化原始时间序列的随机性,在建立灰色预测模型之前,需先对原始时间序列进行累加数据处理,经过数据处理后的时间序列即称为生成列。
(3)灰色时间序列预测
用观察到的反映预测对象特征的时间序列来构造灰色预测模型,预测未来某一时刻的特征量,或达到某一特征量的时间。
(4)多变量灰色系统数列预测
在灰色单变量模型基础上,引入与预测对象密切相关的一种或多种因素的已知信息参与灰色问题建模。
4.2 符号说明
Zi : 第i门课程的单位书号销售量; 单位:本/书号
bi : 第i门课程教材的平均价格; 单位:元
ki : 第i门课程单位书号带来的销售额; 单位:元
V : 表示A出版社总的教材销售额。 单位:元
xi : 第i门课程分配到的书号数;
pi : 第i个样本对教材的满意度;
e i: A出版社的第i门课程的对应市场占有率;
五、模型建立及求解
5.1 灰色时间序列预测模型(简记GE(1,1)模型)
5.1.1 模型准备
1)调查问卷的筛选
题中给定了2001~2005年对学生教材使用情况的问卷调查结果。样本数量非常大,需要结合实际情况进行样本筛选。由于A出版社只关心使用新出版的教材的学生,故对问卷中选择使用旧书和老师复印资料的样本不予考虑;另一方面结合假设8:A出版社只关注的分社生产计划中的72门课程,故剔除选择72门之外的课程教材的样本。使用Excel筛选功能可以很快得到剩余样本,即为我们需要考虑的样本。
2)教材的销售系统是一个灰色系统
在教材的销售系统中,导致教材销售量变化的因素非常多,包括已知的定价、需求等因素,又包括读者的喜好等未知因素,且各种因素之间有不确定的关联,故教材的销售系统是一个灰色系统。我们可以对每门课程单位书号销售量Z的时间序列建立灰色系统预测模型。
3)灰色预测方法
灰色预测通过对等时距观测到的反映预测对象特征的一系列数量值进行生成处理(弱化其随机性)来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。
5.1.2 GE(1,1)模型建立
灰色预测模型称为GM(Grey Model)模型,GM(1,n)表示一阶的,n个变量的微分方程型预测模型。下面将介绍GM(1,1)模型,并以此作为教材的单位书号销售量Z的预测模型。
以第i门课程单位书号的销售量Zi序列为例(在下面模型建立过程中,为方便起见,Zi简记为Z),有n(n=5,表示2001~2005年)个观察值为:
(1)
通过累加得到生成列为:
(2)
上标1表示一次累加,即:
因为一般随机序列的多次累加序列,大多可用指数曲线逼近。将拟合成一阶线性微分方程,即GM(1,1)模型相应的微分方程为(参见文献[1]):
(3)
其中:α称为发展灰数;μ称为内生控制灰数。
设为待估参数向量,,利用最小二乘法求得:
其中,
求解微分方程式(3),得:
(4)
根据估计后的微分方程求出生成序列得一系列预测值:
(5)
其中n=5时,对应于GE(1,1)模型所预测的2006年的第i门课程的单位销售量Zi。
5.1.3 模型求解
求解GE(1,1)模型算法如下:
Step 1:由附表3(01—05年实际销售量),计算出单位书号的销售量Z(0),作为原始时间序列;
Step 2:计算累加生成序列Z(1);
Step 3:计算参数估计矩阵;
Step 4:利用最小二乘得出待估参数向量;
Step 5:由初始序列Z(0)和参数向量确定微分方程;
Step 6:求生成序列的一系列预测值 :
Step 7:将生成序列的预测值累减还原成序列的预测值
1)k≠1时,-
2)k=1时,
运用Matlab软件编写程序(见附件一),求解结果如下(表1)。
表1 预测06年72门课程单位书号销售量Z(单位:本)
303.49
416.93
235.49
293.10
188.97
324.23
513.98
68.16
430.23
469.02
1692.90
2256.00
513.71
1183.00
380.61
667.33
805.18
600.58
3201.90
1402.70
707.19
942.68
9444.40
1385.70
1831.80
2886.90
720.24
651.52
495.40
3043.60
795.41
526.08
882.68
329.83
547.48
274.16
79.87
846.83
414.56
408.18
6719.40
8178.80
9414.50
4991.30
22468.00
8605.10
4425.60
1279.80
743.62
349.27
466.79
901.05
1559.20
1262.10
450.23
1067.40
521.92
208.34
979.92
484.74
232.95
632.94
618.88
793.09
293.65
1466.20
609.00
483.36
596.52
464.02
651.15
1182.10
说明:表1中第一行起,自左向右依次为第1、2…72门课程的单位书号销售量,如第二行第一个数据为469.02,表示第十门课程(人工智能)06年平均每个书号的销售量。
结果分析:在对GE(1,1)模型检验时我们发现有六门课程的数据与模型不能很好的吻合,误差超过了10%(见模型检验部分)。这六门课程是3号DSP技术及应用,33号实用翻译教程,37号美国文学,45号毛泽东思想概论,55号化学与现代文明,70号环境生态学。考察这六门课程五年的数据,发现他们的销售数据中有突变值,如第3门课DSP技术及应用五年的销售量为100,185,230,765,304,在2004年时销售量猛然由2003年的230增加到765,增长了232%,联系问题的实际背景,DSP技术和应用正在成为当今嵌入式系统应用领域中最热门的技术,是高校、科研院所和高新技术企业的DSP软件的新的课题(见[3])。故考虑将03年的销售量看作是由于某些偶然因素引起的并剔除掉这个数据, 用其前后两年的平均值代替,并重新用GM(1,1)预测。
根据重新预测的数据画出72门课程单位书号销售量Zi的情况,见图2。
图2 预测06年72门课程单位书号销售量Zi
5.2 多变量灰色系统数列预测模型——PGM(1,N)模型
5.2.1 PGM(1,3)模型准备
由于GM(1,1)模型对预测系统的“灰”有一个“度”的要求的体现【2】。一般来讲,不同的灰色系统的“灰度”不同,当一个灰色系统的灰度太大时,灰色GM(1,1) 模型不能适用。此时可以充分利用系统的白信息量(从问卷中反映的市场信息)来降低系统的灰度,达到灰色预测的目的。即通过建立多变量灰色数列预测模型——PGM(1,N)模型,引入与预测对象密切相关的一种或多种因素的已知信息参与运算和建模。
1)满意度pi
第个样本的满意度
其中, p1i 表示第个样本对教材内容新颖,保持学术前沿水平的评价值;
p2i 表示第个样本对教材的作者是相应领域的权威,所以课程理论基础扎实的评价值;
p3i 表示第个样本对教材印刷及排版质量的评价值;p4i表示第个样本对教材价格的评价值。P表示每项满意数最大值。
2)市场占有率ei
第i门课程的市场占有率
使用Excel处理2001~2005年的调查数据,见附件world文件。
5.2.2 PGM(1,3)模型建立
1) 设灰色系统有N个关联度极高的时间序列数据组成原始序列: Zi (0)= (Zi(0) (1), Zi0) (2),…, Zi (0) (n)),其中Zi(0)为预测对象自身的时间序列数据,亦称之为主序列。对原始序列进行一次累加生成,得到生成序列: Zi(1)=( Zi(1) (1), Zi(1) (2),…, Zi(1) (n))
其中: k=1,2,…,n;i=1,2,…, N;
令 k=2, 3, …,n; i=1,2, …, N;
建立PGM(1,N)模型的灰微分方程为:
(6)
及PGM(1,N)模型的白化微分方程为:
(7)
式中为系统发展系数,为内生控制变量。
且满足GM(1,1)模型的灰微分方程: (8)
及其白化方程: (9)
解得:
,k= 1,2,… (10)
再进行累减还原:
, 2,3,… (11)
式(7)、(8)即为PGM(1,N)模型进行灰色数列预测的基本计算公式(见[2])。
2) 在本问题中考虑单位书号销售量Zi、满意度pi、市场占有率ei三个因素间的影响,建立PGM(1,3)模型。
预测对象单位书号售书额Zi自身的初始时间序列Z1 (0)= (Z1(0) (1), Z10) (2),…, Z1 (0) (5)),其中Zi(0)为预测对象单位书号售书额Zi自身的时间序列数据。进行一次累加得到生成序列: Z1(1)=( Z1(1) (1), Z1(1) (2),…, Z1(1) (5)),
在不引起误解的前提下,设Z2 (0)= (Z2(0) (1), Z20) (2),…, Z2 (0) (5))为满意度的初始时间序列,Z3 (0)= (Z3(0) (1), Z30) (2),…, Z3 (0) (5))为市场占有率的初始序列。按式(10)(11)求解得:
,k= 1,2,…5 (12)
, 2,3,…6 (13)
5.2.3 PGM(1,3)模型求解
编写Matlab程序实现求解(见附件三)。
根据所得的第i门课程单位书号销售量Zi,结合第i门课程均价bi,可得到第i门课程单位书号带来的销售额是ki=bi×Zi,如图3:
图3 单位书号带来的销售额(表征强势产品)
从图中可以看出,不同课程单位书号所带来销售额差异很大,换句话说,一个书号资源分给不同的课程为出版社带来的利润会很不同。从这个角度看,单位书号所带来销售额越大的课程,其在市场中更为强势。图3柱状图中值最高的表示最强势的课程,稍弱的次之。
5.3 书号资源配置的整数规划模型
5.3.1 模型准备
将九个分社依计算机类、经管类、数学类、英语类、两课类、机械能源类、化学化工类、地理地质类、环境类的次序标号为1、2……9。
约束一:书号的总量为500个:
(14)
约束二:针对分社提交的生产计划申请书,总社在分配书号时至少保证分给各分社申请数量的一半:
(15)
其中, 表示第j个分社申请书号量,表示第j个分社获得的书号数,对应于72门课程获得的书号数xi关系如下:
,,,,,
,,, (16)
约束三:分社的生产计划必须在相应的人力资源可承受范围内:
1)书号数在分社策划人员的能力范围内:
(17)
其中Xj表示第j个分社得到的书号数,a1j表示第j个分社策划人员平均工作能力,A1j表示第j个分社策划人员数量;
2)书号数在分社编辑人员的能力范围内:
(18)
其中Xj表示第j个分社得到的书号数,a2j表示第j个分社编辑人员平均工作能力,A2j表示第j个分社编辑人员数量;
3)书号数在分社校对人员的能力范围内:
(19)
其中Xj表示第j个分社得到的书号数,a3j表示第j个分社校对人员平均工作能力,A3j表示第j个分社校对人员数量。
5.3.2 书号资源配置的线性规划模型建立
因为书号的分配要使得出版的教材产生最好的经济利润,结合假设7:出版社在定价时保持对所有教材利润率同一,在此原则上制定教材单价。这样,利润就可以通过教材的总销售额反映,所以我们的优化目标就是使A出版社产生最大的销售额。
(20)
其中V表示A出版社总的教材销售额,bi表示第i门课程的教材均价,Zi表示第i门课程单位书号销售量,xi是决策变量,表示第i门课程获得的书号数。
结合式(14)、(15)、(17)、(18)、(19),至此,我们建立了A出版社书号资源配置的整数规划模型:
S.T.
,,,,,
,,,
;;
为整数,
5.3.3 模型求解
编写Lingo程序求解此整数规划模型,程序见附件三。
九个分社的书号数分别为55、48、120、83、72、49、17、30、26,此时A出版社的总销售额是2612.29万元。
表2 06年72门课程分配的书号数
9
9
2
3
3
8
6
3
8
4
8
4
2
4
3
3
6
8
6
4
6
19
35
4
12
17
6
3
12
6
40
2
2
11
4
8
3
6
5
3
4
10
8
10
6
8
12
14
11
2
5
16
4
8
2
4
2
2
4
5
4
8
4
8
2
4
8
5
4
3
2
4
说明:表中从第一行起,自左向右依次为06年第1、2…72门课程的分配的书号数,如第二行第一个数据为469.02,表示第十门课程(人工智能)06年平均每个书号的销售量。
六、模型检验及评价
6.1 预测模型的残差检验:
按GM(1,1)、PGM(1,1)预测模型计算,并将累减生成,然后计算原始序列与的相对误差序列:
(21)
72门课程在2001~2005年的原始数据与预测数据相对误差平均值如下表2、3:
表2 GM(1,1)预测数据相对误差平均值(%)
2.1
0.3
46.4
3.4
1.9
2.0
0.3
9.1
0.3
2.3
1.6
1.6
0.7
5.2
3.9
8.6
2.1
0.01
0.3
6.5
0.01
0.2
0.6
0.9
1.2
2.1
0.6
2.0
0.7
0.3
0.6
0.1
24.2
3.2
5.2
0.9
13.2
9.1
1.1
0.4
3.8
0.7
0.5
0.2
12.4
3.9
0.7
0.3
1.9
7.5
1.1
0.5
3.1
1.3
63.2
4.7
5.0
7.5
3.2
1.9
0.2
0.01
0.1
0.1
0.1
0.5
0.4
0.3
0.1
13.4
9.0
0.6
说明:表中从第一行起,自左向右依次为01~05年第1、2…72门课程的预测单位书号销售量与实际的相对误差平均值,如第二行第一个数据为2.3%,表示第十门课程(人工智能)预测的01~05年的单位书号销售量与实际的相对误差平均值是2.3%。
表3 PGM(1,1)预测数据相对误差平均值(%)
3.8
6.3
6.4
0.42
5.7
5.7
0.0
42
0.4
3.4
2.7
0.5
10.2
6.3
10.4
3.7
0.6
4.7
4.2
6.7
2.8
4.1
0.6
7.5
7.5
2.5
10.1
2.1
0.1
0.8
1.3
43
5.7
2.5
0.5
2.1
1.5
10.9
3.8
3.7
4.1
0.9
1.4
0.6
9.0
5.2
1.1
1.6
3.1
0.4
2.2
1.6
1.9
1.4
3.8
10.7
5.4
6.3
7.4
10.6
12.1
0.3
9.6
10.1
11.7
11.2
8.01
11.8
12.8
16.3
5.2
11.9
说明:表中从第一行起,自左向右依次为01~05年第1、2…72门课程的预测单位书号销售量与实际的相对误差平均值,如第二行第一个数据为3.4%,表示第十门课程(人工智能)预测的01~05年的单位书号销售量与实际的相对误差平均值是3.4%。
根据表3 的数据,作出离差图(见图4):
图4 相对误差离差图
6.2 模型优点:
灰色系统理论用于数列预测的GM(1,1)模型的特点是利用一阶单变量时间序列数据进行预测。虽然在形式上,GM(1,1)模型只运用预测对象自身的时间序列数据建立模型,与其相关联的因素没有参与运算和建模,但是预测对象自身的已知时间序列数据的动态变化,正是那些众多相关联因素的互相制约、协和作用的结果。实际上,它们的影响已经或多或少地反映在起伏波动的预测对象自身的已知时间序列数据里。
PGM(1,2)模型充分利用市场的白信息量(从问卷中反映的市场信息:读者满意度和市场占有率)来降低系统的灰度,达到灰色预测的目的。
6.3 模型缺点:
模型没有充分考虑各类人群购书的差异,例如文科学校的学生购买两课类,外语类教材的人较多,而工科学校的学生购买机械,能源,计算机类教材的人较多。
模型中没有考虑同一教材的往年版本对教材市场的冲击;可以考虑对书店做调查问卷,研究旧版新教材的市场保有量。
6.4 给A出版社的建议:
A出版社所做的问卷调查要保证调查对象的随机,一方面要保证调查对象数量特别,另一方面要保证调查的区域要广总社在制定书号分配之前需要对调查数据进行挖掘,并为各分社的分配做尽量多的考虑,以使得所作决策是全局的最优。
总社做决策时用单位书号的销售额来量化优势产品,并优先保证这类教材的申请数量。从灰色模型的预测中知道,异常值的出现很大程度上会影响某门课程的销售量,异常值的出现通常有其实际背景,如某门专业扩招或变得热门,都会引起这么专业教材需求量的激增。出版社要注意搜集和预测相关热点的出现。
该出版社的各个分社中,都存在人力资源分配不均的状况,从而影响整个出版社的工作进程,因此该出版社应对各个分社中策划人员,编辑人员,校对人员进行重新分配,使每个分社的三种工作人员数量趋于协调。
七、参考文献
【1】邓聚龙. 《灰色系统的基本方法》,武汉:华中理工大学出版社,1987
【2】安 然,杨 丽,《多变量灰色数列预测模型研究与实践》,
【3】王琳,《DSP技术的应用与发展趋势》,
【4】谢金星,《优化建模与Lingo软件》,北京,清华大学出版社,2005
附件清单
附件1:GM(1,1)模型求解程序;
附件2:PGM(1,3)模型求解程序;
附件3:整数规划模型Lingo求解程序。
附件1:GM(1,1)模型求解程序;
附件一:
1.1
function sell_aver=sell_average
%求单位书号的销售量
load('C:\MATLAB6p5\work\num.mat');
load('C:\MATLAB6p5\work\total.mat');
%01—05年实际分配书号矩阵
sell_averr=zeros(72,5);
for i=1:72
sell_averr(i,:)=total(2*i,:)./num(i,:);
end
sell_aver=sell_averr;
%sell_aver为单位书号的销售量,即GM模型重的初始时间序列
1.2
function xulie=solvexulieshu
%单位书号销售量GM预测中的生成序列
clear
load('C:\MATLAB6p5\work\sell_aver.mat');
for i=1:72
temp=sell_aver(i,:);
for j=1:5
if j==1
xulie(i,j)=temp(j);
else
xulie(i,j)=temp(j)+xulie(i,j-1);
end
end
end
1.3
function a_u=canshu2
%求解72门课程的发展灰数a 以及内生控制灰数u,即可得到相应微分方程
load('C:\MATLAB6p5\work\sell_aver.mat');
load('C:\MATLAB6p5\work\xulie.mat');
temp=zeros(72,2);
for i=1:72
yuanshi=sell_aver(i,:);
diejia=xulie(i,:);
temp(i,:)=solve_canshu(yuanshi,diejia);
%调用求解参数的function函数
end
a_u=temp;% 发展灰数a 以及内生控制灰数构成的向量a_u
子程序:
function alpha=solve_canshu(yuanshi,diejia)
%求解GM(1,1)模型中的发展灰数以及内生控制灰数alpha
%yuanshi为某门科目5年的单位书号的销售量
% diejia为GM模型中生程序列
load('C:\MATLAB6p5\work\xulie.mat');
B=zeros(4,2);
from_yuanshi=yuanshi(2:5)';
B(:,2)=ones(4,1);
for i=1:4
B(i,1)=-0.5*(diejia(i)+diejia(i+1));
end
alpha0=inv(B'*B)*B'*from_yuanshi;
alpha=alpha0';
1.4
function yuce_sell_aver
%利用灰度理论的微分方程预测2006年各门课程的单位数目销售量,
clear
load('C:\MATLAB6p5\work\sell_aver.mat');
load('C:\MATLAB6p5\work\xulie.mat');
load('C:\MATLAB6p5\work\a_u.mat');
for i=1:72
for j=1:6
temp=a_u(i,2)/a_u(i,1);
yuce_diejia(i,j)=(sell_aver(i,1)-temp)*exp(-a_u(i,1)*(j-1))+temp;
%由微分方程求解出预测的每年的各种课程对应的单位书号销售量
end
end
for i=1:72
for j=6:(-1):1
if j==1
yuce_yuanshi(i,j)=yuce_diejia(i,j);
else
yuce_yuanshi(i,j)=yuce_diejia(i,j)-yuce_diejia(i,j-1);
%由预测生成序列,累减法求预测时间序列
end
end
end
yuceliang=yuce_yuanshi
%残差检验,得到每门课程五年的平均误差大小
cancha0=(yuceliang(:,1:5)-sell_aver)./sell_aver
format long
cancha=sum(cancha0')/5
%cancha为五年平均的相对误差值
附件二:
PGM模型部分程序:
2.1
function a_u_pgm=canshu2_pgm
%PGM模型参数处理。求解72门课程的发展灰数a 以及内生控制灰数u组成的矩阵a_u_pgm,即可得到相应微分方程
load('C:\MATLAB6p5\work\sell_aver.mat');
load('C:\MATLAB6p5\work\xulie.mat');
load('C:\MATLAB6p5\work\a_u_s.mat');
load('C:\MATLAB6p5\work\a_u_zhanyou.mat');
temp=zeros(72,3);
for i=1:72
yuanshi=sell_aver(i,:);
diejia=xulie(i,:);
a2=a_u_s(i,1);
a3=a_u_zhanyou(i,1);
temp(i,:)=solve_canshu_pgm(yuanshi,diejia,a2,a3);
%调用求解参数的function solve_canshu_pgm函数
end
a_u_pgm=temp;
子程序:
function alpha_pgm=solve_canshu_pgm(yuanshi,diejia,a2,a3)
%PGM(1,3)模型中的发展灰数以及内生控制灰数alpha_pgm
%yuanshi为某门科目5年的单位数目的销售量的原始时间序列
% diejia是累加生成序列
B=zeros(4,3);
from_yuanshi=yuanshi(2:5)';
for i=1:4
B(i,1)=-0.5*(diejia(i)+diejia(i+1));
B(i,2)=exp(-(i+1)*a2);
B(i,3)=exp(-(i+1)*a3);
end
alpha0=inv(B'*B)*B'*from_yuanshi;
alpha_pgm=alpha0';
2.2
function yuceliang_pgm
%利用PGM灰度模型求解微分方程,预测2006年各门课程的单位数目销售量生成序列
load('C:\MATLAB6p5\work\sell_aver.mat');
load('C:\MATLAB6p5\work\xulie.mat');
load('C:\MATLAB6p5\work\a_u_pgm.mat');
load('C:\MATLAB6p5\work\a_u_s.mat');
load('C:\MATLAB6p5\work\a_u_zhanyou.mat');
for i=1:72
for j=1:6
temp1=a_u_pgm(i,2)/(a_u_pgm(i,1)-a_u_s(i,1));
temp2=a_u_pgm(i,3)/(a_u_pgm(i,1)-a_u_zhanyou(i,1));
yuce_diejia(i,j)=(sell_aver(i,1)-temp1-temp2)*exp(-a_u_pgm(i,1)*(j-1))+temp1*exp(-a_u_s(i,1)*(j-1))...
+temp2*exp(-a_u_zhanyou(i,1)*(j-1));
%由PGM模型微分方程,预测各种课程对应的01至06年单位书号销售量生成序列
end
end
for i=1:72
for j=6:(-1):1
if j==1
yuce_yuanshi(i,j)=yuce_diejia(i,j);
else
yuce_yuanshi(i,j)=yuce_diejia(i,j)-yuce_diejia(i,j-1);
%累减方法从预测生成序列,求得预测
展开阅读全文