“拍照赚钱”的任务定价模型
摘要
本题要求分析“拍照赚钱”任务的服务模式,研究其定价规律,并设计新的任务定价方案,结合实际情况,修改定价模型,最终对新项目设计任务定价方案,并评价方案的实施效果。求解的具体流程如下:
针对问题一:为了研究项目的定价规律,分析任务未完成的原因,利用附件一的信息,在地图上定位所有坐标的位置,发现任务集中在广东、东莞、佛山、深圳四市,分别标明每个城市的成功任务和失败任务。以深圳为例,对深圳市任务进行聚类分析,结果分成5类,由相应任务的定价可以得出,人口密集处定价较低,人口稀少处定价较高的定价规律。将附件二的位置信息同理在地图上定位,分别计算任务周围的会员数,分析其与定价的联系。
针对问题二:由问题一结果可知,任务定价与任务周围人数和任务周围人口密度等因素有关。利用网络爬虫爬取广州、东莞、佛山、深圳四市医院,学校,小区,超市四种人口密度较大场所的经纬度,统计成功任务周围十公里人口密集场所。用RBF神经网络模型,从而确定新的定价方案。将此方案与原方案进行比较,得出两种定价方案的差异。
针对问题三:为了解决用户争相选择位置集中任务等问题,可将多个任务联合打包,以便用户更好得执行任务。利用问题二中RBF神经网络模型求出新的定价方案下的任务定价;同问题一,求任意两个任务之间的距离。当两个任务之间的距离小于一定值时,便可将这两个任务种做打包处理。对于打包的任务,可将每个任务的定价结合附近会员的信息求出最终定价;对于未打包的任务,任务定价不变。
针对问题四:为了对新项目设计定价方案,并评价方案的实施效果,将新项目中任务的位置定位于地图上,可以发现任务集中分布于两个区域,且两个区域距离较远,可认为互不影响。结合前面问题的分析,可知任务定价与区域的经济发展情况和用户到任务的距离有关。对用户而言,用户将优先选择距离较近且定价较高的任务,因此,可以使用灰度关联分析的方法,建立不同任务对会员的吸引力,从而对定价方案做出评价。
关键词:聚类分析、RBF神经、灰色关联分析法、网络爬虫
一、问题重述
“拍照赚钱”是移动互联网下的一种自助式服务模式。用户下载APP,注册成为APP的会员,然后从APP上领取需要拍照的任务(比如上超市去检查某种商品的上架情况),赚取APP对任务所标定的酬金。APP是该平台运行的核心,而APP中的任务定价又是其核心要素。如果定价不合理,有的任务就会无人问津,而导致商品检查的失败。 1. 研究附件一中项目的任务定价规律,分析任务未完成的原因。 2. 为附件一中的项目设计新的任务定价方案,并和原方案进行比较。
3. 实际情况下,多个任务可能因为位置比较集中,导致用户会争相选择,一种考虑是将这些任务联合在一起打包发布。在这种考虑下,如何修改前面的定价模型,对最终的任务完成情况又有什么影响?
4. 对附件三中的新项目给出你的任务定价方案,并评价该方案的实施效果。
二、模型假设
1.会员对任务没有主观偏好,不会因为自身原因不完成任务; 2.各个任务难度相等,不影响会员的选择;
3.假设会员与任务间的距离都是直线距离,不受道路、河流等的影响; 4.问题中所有数据都真实有效。
三、符号说明
符号 , P 含义 地球半径 两地之间的球面距离 两地的纬度 两地的经度差 打包后总价 四、问题分析
4.1 问题一分析
问题一要求研究附件一中项目的定价规律,并分析任务未完成的原因。首先应在地图中找出附件一中所有任务的位置,确定任务的分布规律,同时将附件二中会员的位置定位于地图。观察出这些数据集中分布在广东、东莞、佛山、深圳四个城市。以深圳市为例,对深圳的任务进行聚类分析,分析聚类结果,从而得出项目的定价规律。分别计
算每个任务与所有会员之间的距离,结合每个任务周围十公里的会员数与任务的定价,确定任务未完成的原因。 4.2 问题二分析
问题一可明显看出任务价格与任务周围人数和任务所在地区人口密度等有关。利用网络爬虫爬取广州等四市医院、学校、小区、超市等人口密度大的场所,统计成功任务方圆十公里内的人口密度大的场所个数。使用RBF神经网络分析,用所获得的数据训练神经网络,从而确定新的任务定价方案。将新的任务定价方案与附件一中的任务定价做出比较,说明两种定价方案的不同情况。 4.3 问题三分析
问题三要求将任务打包发布并设计新的定价方案,以解决用户争相选择等问题。利用问题二中RBF神经网络模型求出新的定价方案下的任务的定价;利用问题一中两点经纬度坐标求出两点距离的计算方法求出每个任务与其他任务之间的距离,当两个任务之间的距离小于一定值时,便可将这两个任务种做打包处理。对于打包的任务,可将每个任务的定价结合附近会员的信息求出最终定价;对于未打包的任务,任务定价不变。 4.4 问题四分析
问题四要求对一个新项目设计定价方案,并评价该方案的实施效果,将附件三中的任务的地理位置定位于地图上,可以发现任务集中分布于两个区域。通过前面的问题分析可知,任务定价与地区经济发展水平和会员距离有关。对会员而言,可以从任务的难易程度和会员到任务的距离两个方面判断会员对任务的偏好,从而使用灰度关联分析对的方法,建立不同任务对会员吸引力的模型,便可以对这种方案的实施效果做出分析。
五、模型建立与求解
5.1 问题一模型
利用地图定位将附件一中经度纬度定位到地图中,发现这些数据集中分布在广东,东莞,佛山和深圳四个城市中。分别分析四个城市的价格规律,以深圳市为例。考虑到城市内部存在区的划分,因此对数据进行聚类分析,猜测聚类结果呈区域块状分布,结果同样验证猜测。这是价格的分布规律,其内部原因是受每个任务周围会员数量的影响。分别求出任务方圆每十公里会员人数,分析任务周围的会员数与任务定价的关系,从而确定任务未完成的原因。 5.1.1模型建立
此题采用Q型聚类法建立模型并求解。 Step1. 距离
样本 1 2 n 表5.1.1 数据观测值 变量 设 为第i个样本的第k个指标,数据观测值如上表所示。在表中,每个样本有p个变量,故每个样本可以看作 中的一个点,n个样本就是 中的n个点。在 中需要定义某种距离,第i个样本与第j个样本之间的距离记为 ,在聚类过程中距离较近的点倾向于归为一类,距离较远的点应属于不同类。所定义的距离满足如下4个条件:
(1) ,对一切 ;
(2) ,当且仅当第i个样本与第j个样本的各个变量值相等; (3) ,对一切 ;
(4) ,对一切的 。 最常用的几种距离:
(1) Minkowski(闵可夫斯基)距离
(2) 绝对值距离
对于q=2时,对应的是Euclid距离
(3) Euclid(欧几里得)距离
Step2. 数据标准化 标准化变换:
, q>0
对于q=1时,对应的是绝对值距离
其中,均值:
方差:
变换后的数据均值为0,标准差为1,而且标准化后的数据与变量的量纲无关。 Step3. 系统聚类
系统聚类法(hierarchical clustering method)是聚类分析诸多方法中用的最多的一种,其基本思想是:开始将n个样本各自为一类,并规定样本之间的距离和类与类之间的距离,然后将距离最近的两类合并成一个新类,计算新类与其它类的距离;重复进行两个最近类的合并,每次减少一类,直到所有样本合并为一类。
以下用 表示第i个样本与第j个样本的距离, , ,…表示类, 表示 与 的距离。下面所介绍的系统聚类法中,所有的方法开始时每个样本自成一类,类与类之间的距离与样本之间的距离相同,即 ,所以最初的距离矩阵全部相同,记为 。
常用的系统聚类法: (1)重心法
类与类之间的距离定义为它们重心(均值)之间的Euclid距离。设 与 的重心分别为 和 ,则 和 之间的平方距离为:
这种系统聚类方法称为重心法(centroid hierarchical method)。它的递推公式为:
重心法在处理异常值方面比其它系统聚类法更稳健,但是其他方面却不如离差平方和法的效果好。
(2)离差平方和法(Ward方法)
离差平方和法基于方差分析的思想,如果分类分得正确,则同类样本之间的离差平方和应当较小,不同类样本之间的离差平方和应当较大。设类 与 合并成新的类 ,则 , , 的离差平方和分别为:
其中 , 和 分别是 , 和 的重心。所以 , 和 反应各自类内样本的分散程度。如果 和 这两类相距较近,则合并后所增加的离差平方和 应较小;否则,应较大。于是定义 和 之间的平方距离为:
这种系统聚类法称为离差平方和法或Ward方法(Ward’s minimum variance method)。它的递推公式为:
和 之间的平方距离也可以写成
由上述分析可见,这个距离与重心法给出的距离只差一个常数倍。重心法的类间距与两样本的样本数无关,而离差平方和法的类间距与两类的样本数有关。两个大类倾向于有较大的距离,因而不易合并,这更符合对聚类的实际要求。离差平方和法在很多场合下优于重心法,是一种较好的系统聚类法,但它对异常值很敏感。 Step4. 已知两地经纬度求两地距离
和 分别是两地的纬度,北纬记为正; 是两地的经度差, 是地球半径。忽略各地海拔高度差异,认为地球是理想的球面。设 是两地的距离(地球的一条弦长), 是两地的球面距离(沿地球表面的弧长)。则:
可求得:
分别计算出以每个任务位置为中心,半径为十公里的区域(即为方圆每十公里)内
会员的人数与相应的任务定价,通过成功任务和失败任务每十公里内的会员人数比较即可得出任务失败的原因。 5.1.2模型求解 Step1. 基本数据处理
清洗数据,对于有明显错误的数据给予改正,例如将附件二中的“113.13148 23.031824”改为“23.031824 113.13148”。对于附件一和附件二中的任务与会员坐标,使用XGeocoding解析出每个坐标所对应的地理位置,得出任务与会员集中分布于广东,东莞,佛山和深圳,则可删除极少的处于其他市的任务与会员,得到模型中使用的有效数据。
表5.1.2 城市中的任务数与会员数 城市 广州市 任务数量 322 会员数 665
深圳市 佛山市 东莞市 Step2. 确定定价规律(以深圳市为例)
161 173 179 629 216 351 利用BDP在线数据分析软件将任务信息在地图上标出,将深圳市中的任务聚类分析,聚类后分成了五类1,2,3,4和5。其中每一类任务在地图上的分布如下图:
图5.1.1 深圳市任务分类图 表5.1.3 每一类中个数和定价的均值 聚类的类别 1 2 3 4 5 个数 35 45 12 62 7 定价均值 67.68571 66.47778 68.5 66.08871 76.85714 显然,这很符合实际,人口密集区任务定价偏低,如类别4所在区域为人口密集区,人口密度较小,相应任务定价较低;偏远地区定价高,而且明显高过其他类别,如类别5所在区域,任务分布很广,但任务定价为所有类别中最高。同理可得出东莞,佛山,深圳三市的任务与价格分布。这就是项目的任务定价规律。 Step3. 分析任务未完成原因
通过Matlab编写程序分别求出每个任务方圆十公里内的会员人数,分析方圆十公里内的会员人数与任务是否完成的关系。从附件一中统计可得,共有522个成功任务,313个失败的任务。首先求出每个成功任务与每个会员的距离,然后筛选出任务方圆十公里内的会员人数。同理可以求得失败任务方圆十公里内的会员人数。画出其统计直方图,如下图所示:
图5.1.2 成功任务频数分布直方图
图5.1.3 失败任务频数分布直方图
从图中可以看出,大部分成功任务方圆十公里内的会员人数在150人以下,在方圆每十公里少于100人之前,随着方圆十公里内人数的增加,成功任务总数增加;在方圆每十公里大于100人之后,随着方圆十公里内人数的增加,成功任务总数减少。失败任务方圆十公里内人数分布比较均匀,但总体也呈先增加后递减的规律。
失败任务频数分布直方图显示虽然有一部分任务方圆每十公里会员很多,但任务仍然失败。这可能和会员的活跃度有关,导致会员总数虽多,但活跃会员很少。
实际情况中,如果有任务未完成,可分为有人执行任务但失败,无人执行任务两种情况。在第一种情况下,即有人执行任务但执行失败时,可能的原因有,任务本身过于困难,超出会员的能力,或任务时间过短,在规定时间内无法完成;第二种情况时,任务已在软件发布,但无人愿意执行该任务,可能的原因有任务地点与会员所在地距离过远,会员不愿意花费过多的时间;任务定价过低或过于困难,会员认为本身的劳动价值高于任务价值;任务发布的时间过短,导致无人可执行。
附件二中给出了会员的信誉度,信誉度较高的会员越优先开始挑选任务,配额也就越大。由失败任务的直方图可以得到,任务方圆十公里的会员数很多,任务失败仍有一定的比例,推测可得,会员信誉度与任务完成情况有关,会员信誉度越高,任务完成的概率越大;反之,会员的信誉度越低,接收任务后无法完成的可能性越大。 5.2 问题二模型
从问题一中发现,任务价格除了与任务周围的会员人数有关,也与其所在地区的人口密度和地理位置等有关。运用RBF神经网络进行训练学习确定新的任务定价方案。将设计出的定价方案与附件一中的定价方案进行比较,即可得到双方各自的优缺点。 5.2.1模型建立
Step1. RBF神经网络(径向基神经网络) (1)网络参数确定
RBF神经网络由输入层,隐含层和输出层组成,其隐含层基函数常为高斯函数。最常用的函数为:
其中, 为径向基函数的扩展常数,反应函数图像的宽度。X为输入向量, 为基函数的中心向量,与X有相同维数的向量; 为向量 的范式,通常表示X与 之间的距离; 在 处有唯一的最大值,随着 的增大, 迅速衰减到0。
在本题中,任务的输入样本共有10个,即输入层的输入为 ;输出为任务定价,即实际输出为Y ,建立多输入、单输出的三层网络结构。RBF网络输入层与隐含层直接连接,相当于直接将输入变量输入到隐含层。对于给定的输入,只有小部分靠近X的中心被激活。当确定了RBF网络的聚类中心 、扩展常数 与隐含层到输出层的权值以后,就可求出给定某一输入时,网络对应的输出值。
中心X1X1X2⁝中心X2⁝输出X9中心X9X10中心X10输入层(2)样本数据训练学习
隐含层输出层
图5.2.1 RBF神经网络建模结构
在RBF神经网络中,需要通过学习和训练确定基函数的扩展常数,基函数中心向量与隐含层到输出层的权值。一般分为3步进行: ①确定基函数的中心向量
通过“K均值聚类法”在训练样本集中随机选择样本作为径向基函数的中心,将这个聚类中心作为基函数的中心向量。 ②确定基函数的扩展常数
确定基函数中心向量后,可求得归一化参数,令其等于基函数中心与子样本集中样本模式之间的平均距离,求得基函数扩展常量。 ③确定隐含层到输出层的权值
RBF连接权值的确定可以采用最小的均方差误差得到。 Step2. 原始数据处理
采用公式对样本的输入、输出数据进行规格化处理:
其中,t为规格化前的变量, 和 分别为t的最大值和最小值; 为规格化后的变量。
利用Matlab的归一化处理函数对数据进行归一化处理,将具有不同尺度属于不同区间的样本的分量转换到相同区间,从而使样本的各个分量具有相同的尺度。便于RBF网络的训练。 Step3. 网络训练
利用Matlab提供的神经网络工具箱可实现神经网络功能,主要使用RBF网络设计
函数newrbe和newrb设计神经网络。可用的样本的个数为522,输入变量的个数为512,作为训练集;将10组样本作为检验集,输出变量的个数为1,中间隐含层神经元的个数,RBF网络会在训练过程中自适应地取定。编写Matlab程序进行训练,可得到各因素影响下对任务价格的预测结果。 5.2.2 模型求解 Step1. 确定训练样本
通过对完成任务分布与任务位置可得出,任务价格与任务周围的会员人数和任务所在地区的人口密度有关。搜索广州市人口密集地区的具体场所,将其分类为医院,学校,小区,超市,爬取网页中场所的具体经纬度坐标。
设每个成功任务方圆十公里的医院数量为 ,学校数量为 ,小区数量为 ,超市
表5.2.1 成功任务方圆十公里的人口密集场所数量 y 0 0 0 0 122 65.5 0 0 0 0 117 65.5 0 0 0 0 73 85 0 1 0 2 58 85 数量为 ,相应区域内的会员人数为 。数据经过处理可得到下表,详细数据见支撑材料: 序号 1 2 511 512 Step2. 神经网络训练
使用Matlab的神经网络工具箱进行数据训练与检验。Matlab核心代码如下: ① net1 = newrb(PN,TN)
② x = a([1:4],end);xn = mapminmax(‘apply’,x,PS1); ③ yn1 = sim(net1,xn);y1 = mapminmax(‘reverse’,yn1,PS2); ④ delta1 = abs(a(5,20)-y1)/a(5,20)
其中,①用于训练RBF网络,得到规律,以便后期预测结果;②用于预测规格化的样本自变量;③用于求出预测值,并还原规格化的数据;④用于计算RBF网络预测的相对误差。
将检验基中的数据代入程序中进行检验,可以得出预测定价和相对误差,如下表:
表5.2.2 RBF测试检验表 测试组 1 真实定价 72 预测定价 84.90 相对误差 5.20%
2 3 4 5 6 7 8 9 10 Step3. 与原方案比较结果
80 65.5 66 80 85 72 85 65.5 85 72.02 69.52 68.76 67.83 73.80 69.89 67.55 66.16 68.91 22.16% 06.17% 4.18% 7.74% 2.78% 2.93% 13.09% 0.02% 0.10% 原方案中没有考虑到学校,小区等密集地区对任务定价的影响,这和现实会产生很大的出入。本方案结合任务地点附近人口密集区对任务定价的影响。运用具有很强的逼近能力,分类能力和学习速度的RBF神经网络模型得到了一个任务定价方案,经过检验,结果误差完全在可接受的范围之内。而且,此模型具有易用性,任意已知数据带入RBF模型即可得到定价结果。 5.3 问题三模型
在实际问题中,任务位置可能比较接近,打包发布因为价格较高不仅有利于调动会员的积极性,还可以提高任务完成比率。首先,使用问题二的神经网络模型求出全部任务定价。然后确定打包条件,当两任务距离小于一定值时,将两任务打包。对于打包的任务,由上面求得的任务定价,再结合打包任务附近会员的个人信息给出最终定价。对于没有打包的任务,价格不变。 5.3.1 模型建立
Step1. 应用问题二的神经网络模型求出所有任务的定价,称为初始定价; Step2. 确定打包条件
假设共有n个任务,已知每个任务的经纬度,可以求出每两个任务之间的距离,求解方式如问题一。由此可以得到一个n*n的矩阵:
其中 表示第i个任务与第j个任务之间的距离,由此可知此矩阵是一个对称矩阵。当 时,即两任务距离小于2公里时,把第i个任务与第j个任务进行打包处理。
如果有 , … ,则把第i,j,k,…,l个任务进行打包处理。由此可以完成所有的打包分类。
Step3. 确定打包任务的定价
任务 初始定价 会员数/方圆十公里 信誉值总和 表5.3.1 打包任务的相关信息 i j k 假设将第i,j,k个任务进行打包,其初始定价,方圆十公里内的会员数,以及会员预订任务限额总值,信誉值总和见上表。 , , 分别为相应任务的初始定价; , , 分别为相应任务方圆十公里内的会员数; , , 分别为相应会员所对应的信誉值总和。设打包后总价为P,则可求得最后打包总价为:
其中:
5.3.2 模型求解
Step1. 由问题二的神经网络模型可求出所有任务的初始定价,如下表:
表5.3.2 所有任务的初始定价表 任务号码 A001 A002 A0833 A0834 A0835 初始定价 70.89 69.55 80.88 60.54 83.25
Step2. 由附件一可知,任务共有835个,由此可以得到一个835*835的矩阵:
根据每个任务对应的经纬度坐标及两坐标之间的距离公式,分别求出每个任务与其他所有任务之间的距离,找出其中距离小于2公里的元素所对应的任务,列举三例: , , , , , , , , , , , , , 。 Step3. 选取一例进行求解
例如第1个任务与第29,362个任务打包在一起。分别求出每个任务和每一个会员之间的距离,选择在任务方圆十公里内的会员,确定每个会员的预订任务限额及信誉值,求和可得预订任务限额总值及信誉值总和。
任务 初始定价 信誉值总和 表5.3.3 任务的初始定价及信誉值总和 1 29 70.89 65.55 1234 1322 362 71.22 1240 根据模型可求得 , , ,则总价为 。 Step4. 对最终任务完成情况的影响
修改后的模型可根据距离将多个任务同时发布给一个用户,这种做法可以将少有用户选择的任务通过与另一个用户愿意选择的任务同时发布,促进任务的完成;模型加入了会员自身情况的影响,打包的任务可以吸引更多的信誉度高的用户执行任务,获得更多的利益,因而可以促进新用户的注册,使更多的人前去完成任务,最终任务会完成得更多。 5.4 问题四模型
将用户位置数据导入地图,可以发现,新项目分布在两个块状地区,其中大部分分布在广州市,少量分布在深圳市周围。两地相距大约130公里,因此,可以认为两地任务之间没有影响,可以单独分析。
图5.4.1 新项目用户分布图
由前三问可知,任务定价水平与地区经济发展水平有很大关系,与会员距离任务点的远近也有很大关系。对于会员而言,会员的优先选择是选择距离较小,定价较高,难度较小的任务,不同会员对每个任务的距离,难易判别并不相同,我们选择用灰度关联分析的方法,建立不同任务对会员吸引力的模型。实现任务队会员的实时更新。 5.4.2 模型建立
本文中灰度关联分析具体步骤为:
(1)确定评价对象和评价标准。本题中的评价对象是m个任务,评价指标有用户与任
务的距离,任务附近的交通状况,任务本身的难易程度。参考数列为 },比较数列为 },i=1,2,3.
(2)确定各指标值对应的权重。权重w=[ ],其中 表示第i个指标对应的权重。
(3)计算灰度联系关系:
为比较数列 对参考数列 在第k个指标上的关联系数,其中 为分辨系数。其中, 、 分别为两级最小差及两级最大差。
一般来讲,分辨系数 越大,分辨率越大; 越小,分辨率越小。 (4)计算灰色加权关联度。灰色加权关联度的计算公式为
其中, 为第i个评价对象对理想对象的灰色加权关联度。
(5)评价分析。根据灰色加权关联度的大小,对各任务进行排序,可建立任务的关联
序,关联度越大,其对会员来说越有吸引力。 5.4.3 实施效果
通过灰度关联分析的方法,可以实现会员对任务的执行意愿的排序。根据以往定价数据,进行精准定价分析,每一个会员都可以得到一个任务价目表,促进任务的能顺利完成,极大提高了用户体验,使用户与公司双方都获得收益。同时可以减少未完成任务的数量,使发布的任务更加可靠的完成。
六、模型优点与缺点
优点
1. 模型易懂,实际应用价值高;
2. 问题二中考虑因素较多,使结论更为准确;
3. 运用网络爬虫,结合实际情况,从多种角度进行分析。 缺点
1.问题一研究定价规律和分析任务未完成原因时考虑因素不全面,没有把会员的因素考虑到模型中;
2.问题四模型没有数据进行验证。
七、参考文献
[1] 司守奎 孙玺菁,数学建模算法与应用,北京,国防工业出版社,2015
[2] 刘载文,水环境系统智能化软测量与控制方法,北京,中国轻工业出版社,2013 [3] 姜启源 谢金星 叶俊,数学模型,北京,高等教育出版社, 2003
[4] Robert I.Kabacoff 著,王小宁刘撷芯黄俊文等译,R语言实战(第2版),北京,人民邮电出版社,2016年
[5]刘晓钢,众包中任务发布者出价行为的影响因素研究,重庆大学,2012
附录
1.成功任务与会员之间的距离和成功任务方圆十里内的会员数 for j=1:522
for i=1:1878
D=distance(huiyuan(i,1),huiyuan(i,2),succase(j,1),succase(j,2)); dx=D*6371*2*pi/360; dis1(j,i)=dx; end end
x1=dis1<10; x1=sum(x1');
2.成功任务与学校之间的距离和成功任务方圆十里内的学校数 for j=1:522 for i=1:395
D=distance(school(i,1),school(i,2),succase(j,1),succase(j,2)); dx=D*6371*2*pi/360; dis2(j,i)=dx; end end
x2=dis2<10; x2=sum(x2');
3.成功任务与小区之间的距离和成功任务方圆十里内的小区数 for j=1:522 for i=1:400
D=distance(community(i,1),community(i,2),succase(j,1),succase(j,2)); dx=D*6371*2*pi/360; dis3(j,i)=dx; end end
x3=dis3<10; x3=sum(x3');
4.成功任务与医院之间的距离和成功任务方圆十里内的医院数 for j=1:522 for i=1:392
D=distance(hospital(i,1),hospital(i,2),succase(j,1),succase(j,2)); dx=D*6371*2*pi/360; dis4(j,i)=dx; end
end
x4=dis4<10; x4=sum(x4');
5.成功任务与超市之间的距离和成功任务方圆十里内的超市数 for j=1:522 for i=1:397
D=distance(supermarket(i,1),supermarket(i,2),succase(j,1),succase(j,2)); dx=D*6371*2*pi/360; dis5(j,i)=dx; end end
x5=dis5<10; x5=sum(x5');
6.神经网络模型
a=[x1',x2',x3',x4',x5',succase(:,3)]; a=a';
P=a([1:5],[1:end-10]);[PN,PS1]=mapminmax(P); T=a(6,[1:end-10]);[TN,PS2]=mapminmax(T); net1=newrb(PN,TN) deltal=zeros(1,10); for i=10:-1:1
x=a([1:5],end-i);xn=mapminmax('apply',x,PS1); yn1=sim(net1,xn);y1=mapminmax('reverse',yn1,PS2) deltal(i)=abs(a(6,end-i)-y1)/a(6,end-i); end
7.会员与会员之间的距离 for j=1:522 for i=1:522
D=distance(huiyuan(i,1),huiyuan(i,2),huiyuan(j,1),huiyuan(j,2)); dx=D*6371*2*pi/360; dis(j,i)=dx; end end
8.任务与任务之间的距离 for j=1:835
for i=1:835
D=distance(renwu(i,1),renwu(i,2),renwu(j,1),renwu(j,2)); dx=D*6371*2*pi/360; dis11(j,i)=dx;
end end
因篇幅问题不能全部显示,请点此查看更多更全内容