资源描述
货运公司申请量的预测及的收益估计模型
摘要:
本文建立 了货运公司经济效益的 整数优化模型,解决了 货运公司的日收益和后一小段 时间申请量预 测极其预计收益问题。在预测下一步的申请量数据时采用了两种不同的方法(时间序列的加权平均值平 移模型和神经网络预测模型),对下周七天的申请 量和 收益情况做 出了的预测。
模型I——整数规划 模型,第一个题目,针对每一天的申请量,求解出了最佳批复方案即活 鲜类:6460 kg 禽苗类:5000 kg 服装类:4000 kg 其他:0 kg,且得出货运公司 的最大获利。
模型II——加 权平均值时间序列平移预测模型,针 对第二个题目,考虑到题目所给数据没有确定的规律性,针对相邻数据 较大的跳跃性,我们对数据进行间隔分组后,建立了平 均值平移预 测模型,并用该模型根据已知的数据的前26项数据对第27至30项数 据作出预测,并与原给的同期数据进行比较,作了相对误差分析,发现预测数据具有 较高的可信度,我们用此模型合理的推测了下周七天的申请量的数据。
模型III——神经网络预测模型 ,以申请前的数据作为输入因子,以要预测的申请量数据作为输出因子,建立神经网络预测模型,对后面的数据进行仿真预测如:前30天中的前29 天的数据作为测试集的输入矢量,第30天的数据作为测试集的输出矢量。将30天中的后29天的数据作为测试集的输入,第31天的数据作为仿真结果。
模型IV——效益预计整数 规划模型,由于第三个题目跟第一个题目很相似,我们通过对模型I修改,建 立了模型IV,并根据第二题模型II中得出的预测数据,利用该模型IV预计下周七天的收益 。
最后我们还对所建模型进行了评估,提出了模型的改进思路,为提高货运公司的收益作了相关因素分析,对货运公司的决策优化有一定帮助。
关键字:整数规划模 型 预测模型 时间序 列 间隔分组 加权平均值平移预测 神经网络预测
1. 问题的提出
某货运公司拥有3 辆卡车,每辆载重均为8000kg,可载体积为9.084 ,该公司为客户从甲地托运货物到乙地,收取一定的费用。托运货物可分为四类:A、鲜活类 B、禽苗类 C、服装类 D、其他类,公司有技术实现四类货物任意混装。并且题目中给出了平均每类每kg所占体积和相应的托运单价。
托运手续是客户首先向公司提出托运申请,公司给予批复,客户根据批复量交货给公司托运。申请量与批复量均以公斤为单位,例如客户申请量为1000kg,批复量可以为0~1000kg内的任意整数,若取0则表示拒绝客户的申请。
在以上的条件下,题目中提出三个要解决的问题:(1)在已知条件下,求使得公司获利最大的批复方案 ;(2)在给出的一个月的申请量的情况下,要求预测以后七天内,每天各类货物申请量的约数。(3)根据题目二的预测结果,估算这七天的收益各位多少。
2 问题的分析
货运公司的收益问题 是一个求最大收益的整数规划问题,一个公司是赢利单位当然以最大的收益为主要目标。问题一就是求解最大收益的批复方案,就一个最优解问题, 找出目标函数,列出所有的约束条件,就可以解决该问题;问题二是在已知的30天的申请量, 来预测下周的各类货物的申请量,看到题目所给数据,并没有规律性,用简单的数学模型很难解决,我们可以建立加权平均值时间序列评议预测模型来解决这个问题。问题三是在问题二的基础上提出的,该问题用整数规划模型就可以很容易解决。
3 符号说明
S :货运公司 每天的收益,
:货运公司对第i类货物的批复量,
:第i类货 物平均每千克所占的体积,
:第i类货物 的托运单价,
:第i类货物的客户申请量,
M1:表示前26天的第一组的申请量数据,
M2:表示前2 6天的第二组的申请量数据,
W1:表示第一组申请量数据的权向量,
W2:表示第二组申请量数据的权向量。
4 基本假设
1.卡车在两地间的托运成本不变,;
2.卡车因的最大承载量不因使用时间而改变,且每辆卡车都能在最大限度内使用;
3.托运单价稳定不变,申请客户不会毁约;
4.附件一提供 的数据真实可靠;
5.忽略突发事件(交通事故,经济危机等)对货运公司运营情况的影响;
6.假设各货物的申请量数据受季节因素的影响不大;
5 模型的建立与求解
5.1 问题一的分 析、模型建立与求解
5.1.1 问题一的分析
(1)求公司每天的收益 ,由于运输的固定成本不变,所以求解出运输的收入可看成是公司收益的反映,问题中求公司最大收益的问题可转化为求最大收入的问题。由题意,每天的 申请量y和公司的批复量x应该满足条件x≤y。
(2)货运公司有三辆卡车,每辆卡车的载重量为8000kg,最大载重体积为9.084m。为了 使公司收益最大,应当使卡车得到充分利用,同时还应该保证安全,所以还必须不能超载,这就得到公司最大托运能力的约束条件:
最大重量约束条件:≤8000×3;
最大体积约束条件:≤9.084×3;
(3)公司每天的收益S也就是 货运公司对每类类货物的批复量x与它所对应的托运单价g的乘积的和。
5.1.2模型I ———问题一的模型建立
由题设条件可建立模型I:
其目标函数为:
S=;
约束条件为:
最大重量约束条件:≤8000×3;
最大体积约束条 件:≤9.084×3;
最大审批量约束条件:≤;
特殊约束条件:≤(+)×3;
整数约束条件:为整数(其中i为整数并且1≤i≤4)。
5. 1. 3模型I的求解
运用Lingo软件对该模型进行求解(具体程序见附录8.1),解得模型的最大值是S(max)=40232.00(元),并且货运公司的批复方案如下:
活鲜类:6460 kg 禽苗类:5000 kg 服装类:4000 kg 其他:0 kg
5.1.4模型I的结论分析
由模型的结果可以看出,为了获得最大经济效益,公司优先考虑,货运单价高的货物,即先考虑服装类,然后考虑禽苗类,活鲜类,最后在条件允许的前提下才考虑托运其他类的货物。这在经济利益方面无疑是相当好的方案,但是,在现实生活中是不可行的,一个需要长期发展的货运公司,绝对不可以把客户申请的托运单价低的货物拒绝掉,那样会使得公司失掉好多客户。所以说,公司应该考虑综合效益,在考虑获利的同时应该尽量扩大自己的客户体系,吸引新客户保住老客户,进而为公司的长远发展奠定良好的基础。
5.2问题二的分析、模型建立与求解
5.2.1问题分析
分析已知的数据,发现这些数据是一组复杂的离散数据,具有较大的不确定性,没有确定的规律可言,所以不能简单的直接用数学软件来拟合。针对这种情况,我们建立了加权平均值时间序列平移预测模型。
5.2.2数据处理
由于数据的跳跃性比较大,也就是项邻数据的差别较大,据此我们把这些数据的前26项(后四项用来检验模型预测数据的误差程度)按不同种类采用间隔取值分为为两组。即:第1、3、5、……25项数据(奇数项)为第一组,余下的2到26间的偶数项数据为第二组,然后对这两组分别用加权平均值时间序列平移法预测。
5.2.3 建立模型
此模型一次可根据一类货物的前26天的申请量预测此类货物下两天的申请量(注:在用此模型对问题二中的四类货物申请量做预测时,应把要预测数据的前26项数据输入M中,次模型每次预测两项数据。如需进行多次预测更新,则应把前面M的前两个分量去掉,并用上一步预测得的两项数据作为向量M的后两个分量,依次类推进行多次预测)。
用26维行向量M表示前26天的申请量数据():
M1表示前26天的第一组申请量数据:
M2表示前26天的第二组的申请量数据:
W1(列向量)表示第一组申请量数据的权向量:
其中 i=1,2,…,13
W2(列向量)表示第一组申请量数据的权向量:
其中 i=1,2,…,13
第一、二组数据的预测值分别为:
5.2.4模型II误差分析和应用
模型用Matlab编程(见附录8.2)求解:
我们先用前26天的数据预测了第27天到30天的数据,与原数据做了误差分析:
原始数据:
A
B
C
D
27
1758
3571
4654
2842
28
3445
3853
4348
4648
29
1770
3619
4628
2882
30
3516
3916
4431
4671
模型预测检验数据
A类
B类
C类
D类
27
1758
3571
4654
2842
28
3445
3853
4348
4648
29
1770
3619
4628
2882
30
3516
3916
4431
4671
模型预测数据与原始数据的(相对误差)分析:
A类
B类
C类
D类
27
0.05
0.13
-0.47
-0.4
28
-0.06
-0.16
-0.22
2.94
29
-0.13
-0.1
-0.61
0.2
30
1.84
0.07
-0.54
0.81
分析上表可知,用此模型预测A,B两类货物的申请量时,与实际数据比较吻合,可以用此模型来预测后七天内的申请量数据 ;用此模型预测C,D两类货物的申请量时,与实际数据差别较大,说明这两类货物的申请量可能与一些未知的随机因素有关(也可能与此模型的适用范围有关),而我们无法明确掌握他们对预测结果的影响方式和程度,因此只有先用此模型对后七天内C,D两类货物的申请量做出预测,在实际运用中根据经验和一些近期影响因素对预测结果作修正。
后七天的预测数据(单位:公斤)
A类
B类
C类
D类
31
1778
3536
6629
3105
32
2944
3903
5444
4568
33
1784
3577
6752
2942
34
2916
3934
5564
4643
35
1808
3634
6919
2992
36
2974
3451
5437
4788
37
1800
3709
6749
3052
均值
2286.286
3677.714
6213.429
3727.143
原数据均值
2277.4
3428.233
4555.1
2964.931
比较后七天预测的数据均值与原给数据均值,可以认为:A,B两类数据的预测值是较好的预测值,C,D两类数据的预测值与实际尚有一定差距,在实际应用中应针对造成差异的原因对其作出修正。
5.2.5 模型的评估和改进
我们建立的均值加权平移预测模型是依据时间序列的乘法模式T×S×I=Y (注:长期趋势T,季节变动S和不规则变动I),简化后建立起来的。分析我们的模型预测(仅为长期趋势预测)的数据后,我们发现A,B两类货物申请量数据均值与原给定数据的均值比较接近,说明这它们受季节影响较小,C类货物申请量 数据受季节影响教大(应针对其增大季节影响因子的权值),而D类货物申请量数据又受不规则变动的影响较大,并且不规则变动值又难以求得。所以我们就只求长期趋势和季节变动的预测值,以两者相乘之积为时间序列的预测值。
总体来讲:模型二的优点是易于理解,预测结果稳定;缺点是时间序列的权值设置的不是很合理(不能预测受季节影响较大的数据),而且没有考虑随机因素对预测值的影响。
模型的改进应该是根据经验和实际情况的变化对权值设置作优化处理,还要加入随机因素对预测值的影响。
5.2.6 人工神经网络模型的探索
知识准备:人工神经网络(Artificial Neural Network, 简称ANN)是人类在对其大脑神经网络认识理解的基础上人工构造的能够实现某种功能的神经网络。他是理论化的人脑神经网络的数学模型,是基于模仿大脑神经网络结构和功能而建立的一种信息处理系统。他是有大量的功能简单的处理单元(神经元)相互连接形成的复杂的非线性系统,是对人脑的简化,抽象和模拟。可以反映人脑的功能的许多特性。神经网络可以通过学习,形成具有一定结构的自组织系统。完成n维空间向量到m维向量的高度非线性映射。
当今社会,人工神经网络已经广泛应用于公司数据预测、分类、遥感数据和空间数据的综合分析、自然资源规划和地质研究、通讯、金融、生态模拟、市场预测中,本文利用人工神经网络重要模型之一BP网络模型与数学软件matlab相结合,解决货运公司数据预测问题。
1. BP网络模型(Error Back Propagation,简称BP),它是一种多层前馈神经网络, 一般有一个输入层、一个或多个隐含层、一个输出层,隐含层的神经元均采用S型变换函数,输出层神经元采用纯线型变换函数。该网络的学习指导思想是:对权值和阀值的调整,使误差函沿负梯度方向下降。
2. 典型的BP网络是由输入层、一个隐含层、输出层组成,为了提高网络精度和训练速度,可以通过增加隐含层神经元的个数来实现。
3.神经网络的预测方法
用神经网络进行预测,只需要提供足够量的学习样本,网络通过学习,自己找出预测指标间的非线性关系,并且以隐式方式存储在各层神经元之间的联接权矩阵中。用人工网络进行预测其实质是函数逼近问题。就是用神经网络来拟合函数f,找出历史数据与预测数据之间的函数关系f。得出来的数据的取值,可以分为单变量时间序列预测和多变量时间预测。常用的方法有单步预测,多部预测,和滚动预测。
(1)建立网络模型:针对不同的问题,网络层数、各层神经元数的多少不同。对于货运公司的预测申请量的问题。货物可以分为A B C D四类,因此输出神经元数可以确定为4,输入神经元可以确定为29。
(2)网络的训练
本次预测采用含有动量因子的自适应调整学习率算法对网络进行学习训练,网络的训练使用货运公司某月的申请量数据表中的数据。
训练方法:
net.trainParam.show=100; %设置训练显示间隔次数
net.trainParam.epichs=20000; % 设置最大训练循环次数
net.trainParam.goal=0.0001; %设置性能目标
net.trainParam.lr=0.01; %设置学习系数
net=train(net,p,t); %网络训练
an=sim(net,p); %网络的输出。
(3)预测数据
(1)将前30天中的前29天的数据作为测试集的输入矢量,第30天的数据作为测试集的输出矢量。将30天中的后29天的数据作为测试集的输入,第31天的数据作为仿真结果。
(2)将前29天的数据作为测试集的输入矢量,第31天的数据作为测试集的输出矢量,对应的将第2天到第31天的数据作为测试集的输入,第31天的数据作为测试集的仿真结果。
依此类推可以预测出下月7天的数据。
日期
A类货物
B类货物
C类货物
D类货物
1
2087
4727
2947
1754
2
3776
3681
3773
1670
3
2966
4067
3702
3115
4
3113
3031
3553
3927
5
2921
3980
2166
1792
6
4324
3619
2872
3175
7
2767
3013
3267
3414
均值
3136.286
3731.143
3182.857
2692.429
由于我们对神经网络建模方面的知识的欠缺造成的,此模型预测的数据均值与原给定数据均值有较大差别,并且时间也不充分,因此我们没有用此模型预测的数据来做第三题,但经过我们对神经网络建模方面的知识的学习,发现这种方法是一种应用很广泛并且预测数据很好的建模方法,有时间要对此模型做出改进。
5 . 3问题三的分析、模型IV的建立与求解
5.3.1问题三的分析
问题三是在问题二的基础上提出的,它是通过问题二中的预测结果来预测下周七天每天的收益。并且,题目中提出,一般客户的申请是在一周前随机出现的,各类申请单立即批复,批复后既不能更改,并且不能将拒绝量(即申请量减批复量)累积到以后的申请量。
5 . 3 . 2模型的建立
目标函数:
S=;
约束条件:
(1) 载重量约束条件:≤8000×3;
(2) 体积约束条件:≤9.084×3;
(3) 最大批复量约束条件:≤;
(4) 整数约束条件:为整数(其中i为整数并且1≤i≤4)。
5.3.3 模型IV的求解
该模型是整数规划模型,所以可以用Lingo软件来完成,具体的程序见附录。求的结果如下:
货运公司下周七天内各类货物的预测批复量及预测的日收益
日期
A类货物
B类货物
C类货物
D类货物
预测日收益
1
1720
3536
6628
0
40705.4
2
2943
3903
5444
1917
40429.9
3
1360
3576
6752
0
40742.1
4
2915
3934
5564
1451
40470.4
5
870
3634
6919
0
40791
6
2973
3451
5437
2746
40360.9
7
1205
3706
6749
0
40757.5
5.3.4模型的结论分析
该模型是通过改变模型I的约束条件得到的,求解出的结果在经济效益方面符合了题目的条件,但由上表可以知道1、3、5、7四天的D类货物的批复量均为0,这不符合现实生活的实际状况,这与问题二中由模型二预测的数据有着较大关系,但主要原因是由只考虑运费收入作为货运公司的效益,实际上,公司为了他的长期效益要留住稳定的老客户,还要吸引新顾客,不能完全拒绝客户的申请。实际应用中应根据实际情况对由此模型得到的结果作修正。
6 总体评价
本文对货运公司的收益问题做了模型研究。文章的主要优点是:
(1) 在申请量已定并且不考虑客户的满意度的条件下,对公司的收益问题做了整数规划模型,做出了最大收益的批复方案。
(2) 根据已知的30天的客户申请量,建立了加权平均值时间序列平移预测模型,得出了下周七天的申请量的适当的预测数据,为公司的运行提供参考。
(3) 根据已知的条件和各类货物申请量的预测结果,用修改了的问题一中建立整数规划模型,求得了下周七天的收益预测结果,对公司的运营给出了适当的预测,为公司改进策略以求得更大的经济效益提供参考。
(4) 对各个模型的求解方法做了详细的说明。
(5) 整个模型的计算过程,大都用软件来完成,计算结果真是可靠,并且程序的实现简单。
主要缺点是:由于模型的建立并没有考虑,实际生活中所有可能发生的一些情况(例如,交通事故的损失、卡车在两地间托运成本变动、车辆的最大承载能力降低、托运单价变动、申请客户因特殊原因而毁约)的发生,所以不能准确的得出批复方案。在最后一个模型中不能准确的得出各个类型货物的申请量,使得的出的结论仍然与实际情况有相当大的差距。
展开阅读全文