“拍照赚钱”任务定价策略 -...

29
“拍照赚钱”任务定价策略 摘要 本文针对“拍照赚钱”的任务定价问题,通过数据可视化、数据挖掘、多元线性回 归、支持向量机、模拟退火算法、出租车合乘动态定价模型、拍卖双向组合模型、二分 图匹配、吸引力模型等方式,探究在不同需求下的任务定价优化策略,最终综合考虑任 务完成程度,运营商和用户双方利益平衡,和任务领取效率等因素,得到最佳定价方案. 针对问题一,本文通过谷歌地图可视化所有任务和用户数据,初步分析任务完成度 与可能潜在因素的联系.通过数据统计分析原定价方案与一定范围内的用户数量,用户 信誉度,用户总额度,其他任务数等特征的关联性,使用多元逐步回归算法分析影响最 显著的因素,并拟合出方差最小的多元线性回归方程.以此表征原本的任务定价规律, 使用同样的方式找到与任务完成程度显著相关的其他变量,发现原始定价策略中缺乏对 显著影响任务完成度的因素的考虑,总结影响任务完成程度的原因. 针对问题二,使用支持向量机对具有以上因素的原始数据训练一个二分类模型,为 后续指定新的定价方案提供评判的依据.建立以定价为因变量的线性方程,将对任务完 成度有显著影响的变量作为自变量.并且,以最大任务完成度作为最终的目标函数,采 用“模拟退火”算法寻找各自变量前的最优加权参数,求得新的定价方案.使用支持向 量机模型对新的方案与原方案进行比较,发现新的定价方案预测完成度较原方案更优. 针对问题三,将任务打包发布和定价优化问题进行适当地转换,使用“出租车合乘 动态定价模型”,将任务打包问题转换成相邻距离乘客的共乘问题,以任务发布方和用 户的利益均衡为目标,通过目标规划,分析在打包 i(i =1, 2, 3) 个任务时对应的任务发 布价格折扣率,表征任务打包和价格调整之间的关系.之后,建立模型确定在不同的周 边任务密集程度下的不同打包状态.使用枚举法,在确保完成度最大的情况,计算确定 三种打包状态的周边任务密集度变量对应的划分阈值. 本文为了保证打包问题的充分合理讨论,提供了第二种思路,将问题三转换成为 “双向组合拍卖模型”,引进变量描述任务和用户的“卖方”和“买方”的拍卖行为,并 从资源分配优化和商品组合的角度,确定任务组合和价格调整间的关系. 针对问题四,利用问题三中的定价策略给出新项目中各任务的具体定价.对于其 实施效果,利用用户领取任务上限、任务价格、任务和用户的距离建立引力模型,以量 化任务吸引用户的程度.利用 Sigmoid 函数将引力转化为单个任务被单个用户完成的概 率,进一步得到单个任务完成的概率.通过对比三个方案所有任务在不同概率上的统 计,并结合三个方案的总预计支出,评价方案的实施效果. 关键字: 多元逐步回归 支持向量机 模拟退火算法 合乘动态定价模型 双向组合 拍卖模型 二分图匹配 引力模型 1

Upload: others

Post on 10-Oct-2019

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

“拍照赚钱”任务定价策略

摘要

本文针对“拍照赚钱”的任务定价问题,通过数据可视化、数据挖掘、多元线性回

归、支持向量机、模拟退火算法、出租车合乘动态定价模型、拍卖双向组合模型、二分

图匹配、吸引力模型等方式,探究在不同需求下的任务定价优化策略,最终综合考虑任

务完成程度,运营商和用户双方利益平衡,和任务领取效率等因素,得到最佳定价方案.

针对问题一,本文通过谷歌地图可视化所有任务和用户数据,初步分析任务完成度

与可能潜在因素的联系.通过数据统计分析原定价方案与一定范围内的用户数量,用户

信誉度,用户总额度,其他任务数等特征的关联性,使用多元逐步回归算法分析影响最

显著的因素,并拟合出方差最小的多元线性回归方程.以此表征原本的任务定价规律,

使用同样的方式找到与任务完成程度显著相关的其他变量,发现原始定价策略中缺乏对

显著影响任务完成度的因素的考虑,总结影响任务完成程度的原因.

针对问题二,使用支持向量机对具有以上因素的原始数据训练一个二分类模型,为

后续指定新的定价方案提供评判的依据.建立以定价为因变量的线性方程,将对任务完

成度有显著影响的变量作为自变量.并且,以最大任务完成度作为最终的目标函数,采

用“模拟退火”算法寻找各自变量前的最优加权参数,求得新的定价方案.使用支持向

量机模型对新的方案与原方案进行比较,发现新的定价方案预测完成度较原方案更优.

针对问题三,将任务打包发布和定价优化问题进行适当地转换,使用“出租车合乘

动态定价模型”,将任务打包问题转换成相邻距离乘客的共乘问题,以任务发布方和用

户的利益均衡为目标,通过目标规划,分析在打包 i(i = 1, 2, 3)个任务时对应的任务发

布价格折扣率,表征任务打包和价格调整之间的关系.之后,建立模型确定在不同的周

边任务密集程度下的不同打包状态.使用枚举法,在确保完成度最大的情况,计算确定

三种打包状态的周边任务密集度变量对应的划分阈值.

本文为了保证打包问题的充分合理讨论,提供了第二种思路,将问题三转换成为

“双向组合拍卖模型”,引进变量描述任务和用户的“卖方”和“买方”的拍卖行为,并

从资源分配优化和商品组合的角度,确定任务组合和价格调整间的关系.

针对问题四,利用问题三中的定价策略给出新项目中各任务的具体定价.对于其

实施效果,利用用户领取任务上限、任务价格、任务和用户的距离建立引力模型,以量

化任务吸引用户的程度.利用 Sigmoid函数将引力转化为单个任务被单个用户完成的概

率,进一步得到单个任务完成的概率.通过对比三个方案所有任务在不同概率上的统

计,并结合三个方案的总预计支出,评价方案的实施效果.

关键字:多元逐步回归 支持向量机 模拟退火算法 合乘动态定价模型 双向组合

拍卖模型 二分图匹配 引力模型

1

Page 2: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

一、问题重述

“拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载APP,注册成为APP

的会员,然后从APP上领取需要拍照的任务(比如上超市去检查某种商品的上架情况),

赚取 APP对任务所标定的酬金.这种基于移动互联网的自助式劳务众包平台,为企业

提供各种商业检查和信息搜集,节省了调查成本,有效地保证了调查数据真实性,缩短

了调查的周期.APP中的任务定价是其核心要素,如果定价不合理,有的任务就会无人

问津,而导致商品检查的失败.

每一个任务的数据包括了任务的 GPS坐标位置数据和定价.会员信息包含了会员

的位置、信誉和参考其信誉给出的任务开始预订时间以及预订限额.围绕“拍照赚钱”

任务的定价策略,本文将研究下列问题:

(1)给定一个已经结束项目的任务数据(附件一),研究其任务的定价规律,并且

分析任务未完成的原因;

(2)为附件一中的项目设计新的任务定价方案,并且与原方案进行比较;

(3)实际情况下,多个任务因为位置比较集中,导致用户争相选择.如果考虑将位

置集中的任务联合在一起打包发布,那么应当如何修改(2)中的定价模型?修改后的

模型对最终任务的完成情况又有什么影响?

(4)对一个新的检查项目的任务数据(附件三,仅包括任务的位置信息)给出新的

任务定价方案,并且评价该方案的实施效果.

二、模型的假设

• 通过谷歌地图标记实际坐标点,任务和用户的集中地区在广州、深圳、东莞等珠三

角城市,通过对城市资料的调查,建模过程忽略复杂的地理因素(如高程、自然灾

害等)对任务完成情况的影响情况,且文中的距离计算直接采用地理直线距离;

• 假设在调整定价策略的过程中,影响用户选择任务的潜在影响因素并没有变化;

• 在使用“合乘定价模型”中,划定打包状态时,为简化模型,默认打包状态包含三种

(单一任务发布,两任务打包发布,三任务打包发布),不考虑其他复杂打包形式;

• 不考虑城市内部经济差异等外部因素对任务定价的影响.

2

Page 3: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

三、符号说明

符号 意义

P 任务价格

Uk k千米范围内的用户数量

Jk k千米内其他任务数量

Qk k千米范围内的用户领取任务限额

L 用户和任务之间的距离

S 单个用户的预定限额

Q 单个用户领取任务数上限

M 总任务数

N 总配额

四、问题分析

在问题一中,在寻找定价规律和分析任务未完成的原因时,针对数据进行了可视化

操作和数据统计手段,从中发现规律,并且使用逐步回归的方式从多个潜在影响定价规

律的变量当中,回归出影响程度最为显著的变量,并得到最终的多元回归方程.使用多

元回归模型建立各个潜在元素与价格之间的相关性,价格为因变量,以前一阶段得到的

与价格标定相关的因素作为自变量,建立多元回归模型.

在问题二中,通过对任务完成情况进行数据分析,得出了与任务完成显著相关的潜

在因素,而后将这些因素纳入新的定价模型中,利用支持向量机和模拟退火寻优算法得

到一个符合完成度优化需求的函数,这个函数代表了经过优化的定价方案,在这个方案

下重新计算每个任务的价格,输入检验,得出了最终完成度,满足了对完成度的要求,

即发布的任务在这定价策略下大部分能被完成.

第三问题的核心是任务分配和定价策略对任务集中完成效率和发布商经济节约性

的优化过程,从前面的分析可以看到,任务定价与任务密集程度呈现负相关关系,任务

完成程度与任务密集程度成正相关关系,即任务密集,有利于吸引更多的用户对该区域

的任务进行选择,同时对于发布方而言,可以适当地对打包任务总体降低发布价格,打

包后的任务可以降低发布价格,节约发布方的成本,同时也避免了地理位置集中的任务

由于被用户分散争抢后导致任务完成的低效率.

然而,打包定价调整的问题,属于比较复杂的定价策略问题,没有很好的可以直接

3

Page 4: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

引用的模型,同时,也没有很好的线性函数可以直接描述打包和任务价格变化之间的关

系.因此,需要将当前问题进行转换,变成相对简单和实际化的模型,再根据其他模型

的研究方案进行讨论,为了增强本论文的严谨性,在这个问题中本文采用了两个探究

思路,分别将任务打包定价问题转化成“出租合乘动态定价模型”和“双向组合拍卖模

型”,希望通过合理的假设、问题转化和建立新变量,从不同的角度探讨任务定价问题,

在下文的论述当中,将继续讨论该问题转化思想和引进新变量手段的合理性和可行性,

并最终给出求解的方法和流程.

问题四中新项目中各任务的具体定价可以根据问题三得到的定价策略. 对于其实施

效果,应从两个角度衡量:任务完成情况和总预计支出.总预计支出可以直接计算获得,

任务完成情况则需要通过建立引力模型来量化.最后将三个方案的数据进行比较,从而

评价方案的实施效果.

五、问题一求解

5 . 1原定价规律和任务未完成原因分析

(1)数据可视化和信息挖掘

首先,使用谷歌卫星地图对所有任务和用户数据进行可视化操作,从图示寻找有用

信息,初步发掘任务完成度和其他潜在因素之间的联系.

图 1 任务分布与会员密度分布对比图

4

Page 5: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

图 2 任务分布与注册用户额度密度分布对比图

图1在谷歌地图中标记出任务分布图,底部涂色部分代表了注册用户密集程度,注

册用户越密集的地方,对应的涂色颜色越深,坐标点表示所有已结束并且完成的任务,

旗子代表了未被顺利完成的任务,可以从该图中看出,任务完成度相对集中且密集的地

区,注册用户数量反而不高,而完成度不高的地方,注册会员数量较大.

同样在地图中标记出任务分布图,但是,将底部涂色部分注册会员的数据赋以与其

所能领取任务额度的权值,即涂色部分深浅代表了该地所有会员总额度的大小,颜色越

深,该地区所有会员任务总额度最高.数据可视化得到的结果如图2所示.我们从图中

可以看到,底部颜色较深的区域,任务完成程度就较为理想,而对应任务完成不理想的

地方,颜色也相应较浅.因此,从图中信息中我们可以初步判断,某区域任务完成度高

低与否,与该地区的中注册会员数量不必然呈现正相关关系,而与注册会员总额度有一

定正相关关系,在接下来的论文当中,我们将会继续深入地讨论关于地区任务完成度与

其他因素之间的关系.

从数据可视化的角度,可以直接初步观察到任务完成度与用户分布以及用户额度分

布之间的关系,但是无法很好地将任务价格的情况可视化,因此,通过数据统计和数据

挖掘的方式,从已有的数据深度挖掘定价、完成及各潜在因素之间的关联性.

5

Page 6: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

图 3 MATLAB处理后的部分数据图

(2)数据统计和回归分析

题目只给出了所有任务的定价,地理位置以及用户的地址位置,信誉度等信息,因

此,要得到定价规律,必然要寻找跟定价相关的因素.从可视化结果和经验判断,定价

策略与一定范围内的用户人数、用户信誉度、用户总额度等应存在联系.

通过MATLAB处理原始数据(如图3),得到相应一千米内的用户人数,两千米内

的用户人数,一千米内的任务总数,一千米内的平均信誉度,一千米内的所有用户所能

接受任务额度,一千米内的其他任务数,计算各个因素与价格之间的相关系数,从而找

到所有潜在因素与价格策略之间的关系.最后,使用多元回归模型建立各个潜在元素与

价格之间的相关性,价格为因变量,以前一阶段得到的与价格标定相关的因素作为自变

量,建立多元回归模型.

在模型中,与价格标定相关的因素之间可能存在彼此相关性,即各个因素之间并不

独立.如果直接使用这些因素建立多元回归方程,模型将出现多种共线性,导致回归结

果混乱.为了摆脱这种共线性对结果的干扰,本文采用具有变量筛选效果的逐步回归方

法建立的分析模型,逐步回归可以使模型更加简单,同时自变量对因变量的影响可以展

示出来,使得结果更加具备可解释性.本文希望从几个潜在影响因素中,寻找对价格标

定具有显著影响的自变量,观察价格的标定方法,逐步回归是一种从众多变量中有效选

择重要变量的方法.

逐步回归模型

若候选的自变量集合为 S = {x1, · · · , xm},从中选出一个子集 S1 ⊂ S,设 S1中有

l个自变量(l = 1, · · · ,m),由 S1和因变量 y构造的回归模型的误差平方和为 Q,则模

型的剩余标准差的平方 s2 = Qn−l−1,n为数据样本容量.所选子集 S1应使 s尽量小,回

归模型中包含的自变量越多,误差平方和 Q越小,但若模型中包含有对 y 影响很小的

变量,那么 Q不会由于包含这些变量在内而减少多少,却会因为 l的增加可能使 s反而

6

Page 7: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

增大,同时这些对 y影响不显著的变量也会影响模型的稳定性,因此可将剩余标准差 s

最小作为衡量变量选择的一个数量标准.

逐步回归是实现变量选择的一种方法,基本思路为:先确定以初始子集,然后每次

从子集外影响显著的变量中引入一个对 y 影响最大的,再对原来子集中的变量进行检

验,从变得不显著的变量中剔除一个影响最小的,知道不能引入和剔除为止.使用逐步

回归有两点需要值得注意:一是要适当地选定引入变量的显著性水平 ain和剔除变量的

显著性水平 aout,显然,ain越大,引入的变量越多,aout越大,剔除的变量越少,而是

由于各个变量之间的相关性,一个新的变量引入后,会使得原来认为显著的某个变量变

得不显著,从而被剔除,所以在最初选择变量时应该尽量选择相互独立性较强的那些.

使用MATLAB进行逐步回归分析过程

(a) 1 (b) 2

(c) 3 (d) 4

图 4 问题一MATLAB逐步回归分析过程

在 MATLAB统计工具箱中用作逐步回归的命令 stepwise,它提供了一个交互式界面,通过这个界面可以自由地选择变量,进行统计分析.在 Stepwise Regression窗口,

7

Page 8: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

显示回归系数及其置信区间,和其他一些统计量的信息.绿色表明在模型中的变量,红

色表示从模型中移去的变量.

从MATLAB逐步回归分析的用户可视化界面可以看到(如图4所示),第二个,第

六个因素比较显著,被纳入回归方程,第三个因素,以及其他因素并不显著,被移除回

归方程,第二个、第六个因素分别代表了两千米范围内的用户数量,以及一千米范围内

的其他任务数量.

5 . 2结果分析

以逐步回归的方式,本题最后得到原定价方案的回归方程,可见定价与两千米内的

用户数量以及一千米内的其他任务数量呈现负相关关系.

P = 71.65− 0.278273 · U2 − 0.391688 · J1 (1)

从对初识定价策略的回归分析中可以得到,初始定价基本与两个因素有关,一个是

该任务一定范围的注册用户人数,一个是以该任务为中心的一定范围内的任务集中程

度.一定范围内注册用户人数越多,其他任务数量越多,该定价策略会相应地拉低价格,

但是对会对任务完成度产生显著影响的用户总额度,以及其他的潜在因素,并没有考虑

进该定价模型,因此,当在用户总额度相对较低的区域,如果没有将其改变定价机制,

改变激励体系,将会大大降低任务的完成效率.同时,在任务众包模型中将对定价产生

影响的其他因素,也并没有充分地被纳入定价模型的考量当中.

因此,任务未完成的原因有一下几个方面:

(1)如上面所述,初始定价策略只考虑了两个因素,主要是基于一定范围内的用户

数量,但是对于任务完成程度有显著影响的变量,却没有在定价策略中加以考虑,因此,

定价的不合理导致对用户的吸引力偏低.

(2)从上面的结论可以看出,任务完成程度与用户额度有密切关切,因此作出合理

推断,在一定范围内,即时任务数量相对密集,用户数量也集中,但是周围的用户额度

普遍较低,当附近任务定价偏低时,用户更加倾向于将额度分配在较远的价格较高的任

务上,因此任务集中的地方完成度反而并不理想.

(3)从地区角度进行分析,对于东莞市,其注册用户预定限额平均较大,而任务平

均定价较高,故完成情况较好;对于其他地市,以广州为例,其任务总数多,但平均定

价低,且该市用户平均预定限额较低,故用户倾向于选择定价较高的任务完成,而总任

务完成情况不够理想.

8

Page 9: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

六、问题二求解

6 . 1确定影响定价模型的因素

通过对问题一的分析,附件一中项目的定价策略并未纳入用户额度等因素的考虑,

因此在设计任务定价方案时为尽可能使得任务的完成情况最优,我们首先使用线性回归

的方式,分析对最终任务完成度影响最为显著的因素.

x1, · · · , x7 变量分别表示了一千米范围内用户的数量、两千米范围内用户的数量、一千米内用户领取任务总限定额度、两千米范围内用户领取任务总限定额度、一千米范

围内用户总信誉值、一千米内其他任务密集程度以及任务定价.

(a) 1 (b) 2

图 5 问题二MATLAB逐步回归分析过程

从图5可以看到,具有显著影响的是第一、第四、第六和第七变量,分别是一千米

范围内用户数量、两千米范围内用户总领取任务额度、一千米范围内其他任务总数以及

任务定价.并且可以看出,任务定价与该任务一定范围内的任务密集程度呈现正相关关

系,与用户数量呈现负相关关系.经过前面的讨论,定价模型中最终价格与用户数量也

呈现负相关.因此,用户数量通过影响定价从而影响了最终任务完成度,而相应提高价

格又有利于提高任务完成度,原始的定价方案没有很好地体现这种权衡关系,导致了最

终完成度相对较低的结果,通过因为在这个回归模型中其他显著影响变量没有同时纳入

原始定价模型的自变量当中,也导致了原始定价模型的不合理性.

6 . 2给出关于定价的线性方程

在新的定价方案中,我们仍然采用线性方程的形式,将各个显著影响变量作为自变

量,将价格作为因变量,将任务完成度作为最终的目标函数,得到如式2所示模型,式

中 k1, k2, k3, k4以及 B 为需要确定的系数.

9

Page 10: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

P ′ = k1 × U1 + k2 ×Q2 + k3 × J1 +B (2)

6 . 3利用支持向量机训练二分类模型

由第一问可知任务完成情况与任务定价 P、一千米范围内用户数量 U1、一千米范

围内其他任务个数 J1、两千米范围内总额度 Q2有关.我们考虑使用支持向量机模型对

以上因素训练一个二分类模型,为我们后续新的定价方案提供评判的依据.由以上数据

构建训练样本集 (xi, yi), i = 1, · · · , l,其中 xi = [P,U1, J1, Q2] ∈ Rn, y ∈ {0, 1}l,0表示

未完成,1表示完成.支持向量机需要解决式3中的优化问题.其中 ϕ(x)为将样本映射至更高维的特征空间的核函数,目的是使得样本在这个特征空间内线性可分,我们选择

使用的是高斯核(亦称 RBF核),如式4所示;C > 0为一个常数;ξi为松弛变量,采用

了 hinge损失函数,ξi = max(0, 1− yi(wTxi + b)).

minw,b,ξ

1

2wTw+ C

l∑i=1

ξi

s.t. yi(wTϕ(xi) + b) ≥ 1− ξi,

ξi ≥ 0.

(3)

κ(xi, xj) = exp(−∥ xi − xj ∥

σ

)(4)

6 . 4利用模拟退火算法寻找最优加权参数

不难发现式3为一个二次规划问题,我们可以使用通用的二次规划算法求解.由附

件一中的数据训练支持向量机,得到训练的模型M(x).之后,我们使用模拟退火对新的定价模型的若干参数进行选择,使得对附件二中的数据应用新的定价方案后完成情况

最高,在高完成度的情况下选择定价较小的方案,并最终作为新的定价方案.模拟退火

算法基于固体退火原理,从某一较高初温出发,伴随温度参数的不断下降,结合概率突

跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并

最终趋于全局最优.关于模拟退火的基本思想步骤如下:

1. 初始化:初始温度 T(充分大),初始解状态 S(是算法迭代的起点),每个 T 值的

迭代次数 L;

2. 对 k = 1, · · · , L做第 3至第 6步;

3. 随机产生新解 S′;

4. 计算增量 ∆T = C(S′)− C(S),其中 C(S)为评价函数;

10

Page 11: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

5. 若 ∆T < 0则接受 S′ 作为新的当前解,否则以概率 exp(−∆T

T

)接受 S′ 作为新的当

前解;

6. 如果满足终止条件则输出当前解作为最优解,结束程序.终止条件通常取为连续若

干个新解都没有被接受时终止算法.

7. T 逐渐减少,且 T → 0,然后转第 2步.

由模拟退火算法我们可以寻找新的定价方案(式2)中待定的系数,利用训练的模

型M(x)预测附件二应用新的定价方案后的完成度,使得式5最高,并使得所有价格 P ′

最低.

l∑i=1

M(x′),其中x′ = [P ′, U1, J1, Q2] (5)

由模拟退火算法得出的新定价策略如式6所示,由支持向量机模型 M 预测新的定

价方案能使得附件一中完成项目总数提高到 623,相比原有方案执行完成数目 522提高

19.3%,因此比原有方案更优.

P ′ = −0.2516× U1 − 0.1264×Q2 + 0.3281× J1 + 76.68 (6)

七、问题三求解

7 . 1问题分析与模型转化

在问题二中,通过对任务完成情况进行数据分析,得出了与任务完成显著相关的潜

在因素,而后将这些因素纳入新的定价模型中,利用支持向量机和退火寻优算法得到一

个符合完成度优化需求的函数,这个函数代表了经过优化的定价方案,在这个方案下重

新计算每个任务的价格,输入检验,得出了最终完成度,满足了对完成度的要求,即发

布的任务在这定价策略下大部分能被完成.

第三问题的核心是任务分配和定价策略对任务集中完成效率和发布商经济节约性

的优化过程,从前面的分析可以看到,任务定价与任务密集程度呈现负相关关系,任务

完成程度与任务密集程度成正相关关系,即任务密集,有利于吸引更多的用户对该区域

的任务进行选择,同时对于发布方而言,可以适当地对打包任务总体降低发布价格,打

包后的任务可以降低发布价格,节约发布方的成本,同时也避免了地理位置集中的任务

由于被用户分散争抢后导致任务完成的低效率.

然而,打包定价调整的问题,属于比较复杂的定价策略问题,没有很好的可以直接

引用的模型,同时,也没有很好的线性函数可以直接描述打包和任务价格变化之间的关

系.因此,需要将当前问题进行转换,变成相对简单和实际化的模型,再根据其他模型

的研究方案进行讨论,为了增强本论文的严谨性,在这个问题中本文采用了两个探究

11

Page 12: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

思路,分别将任务打包定价问题转化成“出租合乘动态定价模型”和“双向组合拍卖模

型”,希望通过合理的假设、问题转化和建立新变量,从不同的角度探讨任务定价问题,

在下文的论述当中,将继续讨论该问题转化思想和引进新变量手段的合理性和可行性,

并最终给出求解的方法和流程.

7 . 2建立打包定价模型

(1)出租车合乘动态定价模型

模型介绍与分析

出租车合乘是指出租车在有空位且乘客的乘车地点和乘车目的地相近的时候,采用

接载多方目的不同乘客的行为.合乘可以减少乘客指出,增加司机收入,同时在社会层

面上,可以减少特定时间的交通通勤压力,加快城市内人口流动的效率.该过程如图6所

示.

图 6 出租车合乘动态定价模型解决流程

对于出租车合乘费用的确定,需要考虑乘客、司机、运营商、社会等诸多的因素,

在这个问题中主要考虑了乘客和司机的利益.因此,将任务打包问题转换成为合乘定价

问题,即在于平衡众包平台运营者和用户之间的利益,同时以任务相对距离为指标将一

定任务数绑定.

模型建立流程

(1)目标函数,跟单独任务相比,任务价格减少的幅度和用户收益增加的幅度只差

最小,即确保乘客和司机的利益均衡为目标:

minZ = |M1 −M2| =∣∣∣∣P0 −RiP0

P0− iRiP0 − P0

P0

∣∣∣∣ = |2− (1 + i)Ri| (7)

其中 P0为任务单独发布的价格(元);M1为任务价格减少的幅度(%);M2为用户收

益增加的幅度(%).

(2)决策变量:不同打包任务数时候的折扣率 Ri.

12

Page 13: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

最优折扣率模型如下:

minZ = |M1 −M2| =∣∣∣∣P0 −RiP0

P0− iRiP0 − P0

P0

∣∣∣∣ = |2− (1 + i)Ri| (8)

R1 = 1,

12 < R2 < 1,

13 < R3 ≤ 1

2 ,

i = 1, 2, 3.

(9)

我们可以通过计算,求得模型最优解:R1 = 1, R2 = 0.67, R3 = 0.55.

结果分析

上面的结果表明,两个任务捆绑时的折扣率为 0.67,三个任务同时捆绑的折扣率为

0.55.现在已经确定打包跟定价之间的关系,即在不同的打包形式下,为了保证双方利

益的最大化,而采取的价格折扣策略.

接下来,为了保证在打包策略下,任务的完成度仍然不受到太大的影响,需要进一

步探讨打包策略,即根据不同情况下的用户和任务分布关系,调整打包方案.从统计数

据来看,定价始终与某任务一定范围内的其他任务数量相关,同时任务打包关系还跟该

任务一定范围内的用户数量相关,因此,为了简化问题,设定打包策略包括单任务发布,

两个任务打包发布,三个任务打包发布.设变量 Ni(i = 1, 2, 3)的数值分别代表了三种

策略. N1 U ≤ k1,

N2 k1 < U < k2,

N3 k2 ≤ U

(10)

U 代表了一定范围内的其他任务数量,设置阈值 k1, k2,当计算出来的 U 小于阈值

k1时,将任务状态设置为 N1,当计算出来的 U 在阈值 k1和 k2之间的时候,将任务状

态设置为 N2,当 U 大于 k2时,将任务状态设置为 N3,Ni表示任务的打包状态.因此

按照距离最短策略,将离该任务最近的 i个任务标记为打包,凡是标记过打包的任务不

再参与状态变量计算,由此确定所有任务的打包状态,并且计算出在该打包策略下的任

务状态,为了保证在该策略下的完成度最高,加入目标函数使得最终完成程度最大化,

一次确定阈值 k1, k2.

采用枚举法对可能的阈值进行枚举,获得不同聚合情况下,附件一任务的完成数

13

Page 14: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

表 1 附件一聚合情况

2 3 4 5 6 7 8 9 10

聚合 2个任务 521 535 532 537 544 542 541 544 534

聚合 3个任务 – 525 533 531 538 544 564 594 610

目.结果如表1所示,即: N1 U ≤ 3,

N2 3 < U < 7,

N3 7 ≤ U

(11)

从上面结果输出看到,当任务五百米范围内的任务数在 3以内时,采用单一任务发布形

式,此时价格折扣率为 1,当在 3到 7之间时,采用两个任务捆绑发布的形式,折扣率

为 0.67,当大于 7的时候,采用三个任务捆绑发布形式,折扣率为 0.55.

(2)二分图匹配最大流模型

对于图 G = (V,E),将图中点分为不相交集 U 和 V,并且使得所有边都跨越组的

边界,则这就是一个二分图.一个图的匹配是一个边的集合,其中任意两条边都没有公

共顶点.对于本题中,我们将任务坐标集合划分为 5 千米范围内的若干子集,并设置

点距之间小于一千米作为顶点间连通性判断的依据.之后,我们使用网络流中最大流

Fold-Fulkerson算法求解网络流中的最大流,筛选其顶点作为聚合任务坐标的依据.流

网络指的是一个图,其中每条边 (u, v) ∈ E 均有一非负容量 c.流网络中有两个特殊的

顶点:源点 s和汇点 t.假定每个顶点均处于从源点到汇点的某条路径上,就是说,对

每个顶点 v ∈ E,存在一条路径 s → v → t.对于本题的若干子图来说,源点和汇点数

量不限,那么就考虑构造一个超级源点和超级汇点.超级源点到每个源点的容量限制都

是无穷大,每个汇点到超级汇点的容量限制也是无穷大.

Ford-Fulkerson算法是一种迭代方法.开始时,对所有 u, v ∈ V 有 f(u, v) = 0,即

初始状态时流的值为 0.在每次迭代中,可通过寻找一条增广路径来增加流值.增广路

径可以看做是从源点 s到汇点 t之间的一条路径,沿该路径可以压入更多的流,从而增

加流的值.反复进行这一过程,直至增广路径都被找出为止.最大流最小割定理将说明

在算法终止时,这一过程可产生出最大流.

对附件一中已完成的数据应用上述算法,最后部分聚合结果如图7所示.

14

Page 15: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

图 7 附件一广州白云区部分地区任务聚合结果图

(3)双向组合拍卖模型

问题分析与转换

第三题的问题关注用户对任务价格的反应和发布方成本之间的博弈关系,也涉及到

任务打包过程中和用户特征之间的相互制约关系.因此,可以将第三个问题,转化为任

务资源的分配问题,探讨任务作为资源分配给用户时的最优组合关系,以及在新的组合

关系下,基于双方利益平衡的原则,如何实现定价的再优化.在这个部分中,首先使用

基于任务之间的关联关系对所有任务进行聚类,初步将期望中有一定相关关系的所有

任务关联起来,绑定成一个单元,然后将问题继续转换成为基于双向组合拍卖分析的资

源分配问题,在所有任务已经初步绑定成一个个相似商品组合的时候,用户的“组合竞

拍”行为下任务的合理分配关系,以及在最优组合下的“交易价”优化方法.

如何分配资源是资源分配机制研究中的一个重要问题,本题目可将所有待领取的

任务作为待分配的资源,每个注册用户具有一定的信誉值,决定了该用户可分配的任务

额度的比例.因此,将本题视作资源合理分配的问题,将任务资源合理地分配到各个用

户,使得任务完成指标最大化,同时通过变化定价策略,使得用户能够在一定程度上接

受定价标准,根据分配策略完成任务.

模型介绍

在拍卖模型当中,对于竞拍者而言,在最初的拍卖品归类时,就存在竞拍者之间的

博弈,同一种竞拍物品,对于某些竞拍者而言价值比较大,而对其他一些竞拍者来说价

值并不显著.此外,如何提高拍卖效率,提高卖方收益,降低合谋导致的收益降低以及

减少拍卖持续时间等问题也是博弈理论在拍卖行为中的一系列研究目的.拍卖的方式

还可以分为传统拍卖和组合拍卖.

15

Page 16: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

组合拍卖是将指相对于传统的单一物品拍卖的形式,竞拍者可以对一组商品的组合

进行投标,组合拍卖主要在于当竞拍物之间存在互补替代关系的时候,竞标者可以根据

自己的需求在投标过程中捆绑或组合不同物品.组合拍卖能够提高拍卖的资源配置效

率并且使得拍卖者获得更高的收益.

组合双向拍卖结合了组合拍卖和双向拍卖的特点,买卖双方将多种不同商品按照不

同种类和数量组合进行双方报价拍卖的形式,双向组合拍卖能够明显地降低交易次数和

交易成本,又能满足生产和生活消费需求日益多样性的需要.

在任务分配问题中,用户可以选择与其任务领取额度相关联的任务数量,在双向组

合拍卖模型中,如果能够找到一定方法衡量用户接取任务的能力,将其与竞拍价格相关

联,同时衡量每个任务对用户的吸引程度,代表每个竞拍发布方的预期价格,便能够将

定价策略和任务打包问题转化为双向组合拍卖模型当中的定价问题和交易结果优化问

题.

下面是关于双向组合拍卖模型的具体分析:设有一个集合K,有 k种不同的商品构

成,拍卖参与人个数为n(包括买方和卖方),其竞拍项目用集合B = {B1, B2, B3, · · · , Bn}来表示,Bj 可以表示为 (aj , pj)的形式,其中 a = (a1j , · · · , aij , · · · , akj),aij 表示第 j

个竞拍项目中所包含的第 i个竞拍项目中所包含的第 i种商品的数量,aij > 0表示对商

品 i的需求;aij < 0表示对商品 i的供给;aij = 0则表示商品 i不在竞拍项目中.pj 表

示投标人 j 对该资源组合的报价,pj > 0表示竞买报价,pj < 0表示竞卖报价.则双向

组合拍卖模型可以用式12中模型来表示:

maxn∑

j=1

pjxj , (12)

s.t.n∑

j=1

aijxj ≤ 0,∀i ∈ K, (13)

xj ∈ {0, 1},∀j ∈ {1, · · · , n}. (14)

组合双向拍卖的目标是尽可能使系统的交易剩余量最大化,其中式13表明当用户竞

买一定数量的产品时,资源拥有者至少应该保证可以提供这些数量的产品.上述模型说

明,景观组合双向拍卖问题比较复杂,但运用整数规划方法可以给予很好的描述.另外,

由于约束条件14的限制,模型可以简化为 0-1规划问题.

在本问题中,任务发布方作为拍卖方,用户作为竞拍者,所有任务集合作为竞拍项

目集合,将任务合理分配和定价优化问题视作双向组合拍卖问题,从第二题中已经解决

的优化定价方案出发,从任务打包的角度继续优化定价方案,做到任务发布方和用户之

间利益的平衡,并且引进新的变量用以描述交易者的“报价”行为.

在上面的过程,已经通过算法将特定距离内的任务进行聚类,在每个聚类单元里面

的任务具有最大的相似程度,将每一个聚类单元看做一类商品,即一个拍卖种类Bi,Bi

16

Page 17: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

组合双向拍卖拍卖者 定价算法

网格市场拍卖者

管理代理

资源发现

竞拍代理

价格存储

竞拍代理

价格存储

接入控制

资源调度

资源

用户1 用户2 用户m

图 8 GMA算法流程

中包含了 (aj , pj),将每个聚类单元中的所有任务个体作为一类商品可供挑选的单位 aj,

最后建立特征量用来描述在众包任务打包问题中任务和用户之间的交易方“报价”行

为.最后结果将输出定价和结果矩阵,便可以看出在指定的分配排序逻辑下,最终最优

化的资源分配资源.因此,最终的价格矩阵体现了任务打包分配行为和价格权衡之间的

关系.

下面是对 GMA算法的详细介绍:

• n个组合双向拍卖参与者(m个 UB以及 n−m个 GSP)中的竞拍代理将所需及可

提供的资源组合以及相应的报价以 Bj 的形式发送给 GMA 中的组合双向拍卖拍卖

者,由拍卖者运行式12的组合双向拍卖算法,得到本轮的拍卖结果 xj,并将结果通

知给各参与者.如图8所示.

• 计算每个交易者的平均报价mpj,将交易者按照买方(UB)和卖方(GSP)进行分

类,其中买方按照平均报价由大到小排列,得到列表 bl,买方按照平均报价由小到

大排列,得到列表 sl,然后再将 sl按照资源种类进行分类,得到 k 个卖方列表 sli,

i ∈ {1, · · · , k}.在拍卖模型中,计算时按照买方报价进行排列,买方报价描述了买方在拍卖交易过

程中的优先程度,因此任务打包问题中,创造新的变量G描述用户的相关特征,将用

户的额度和每个用户一定范围内的任务总价 G = a×P1 + b×P2.a, b分别表示变量

P1, P2的加权程度,初始设置 a, b均为 0.5,P1表示用户的当前额度,额度通过计算

每个用户的限定额度占总额度比例,按比例得到的最大任务限额.P1 =Pk∑Pi×∑

T,

Pk, Pi, T 分别代表了特定用户的限定额度,所有限定额度之和即任务总数.P2 代表

了用户限定范围内的任务总价之和.以此代表用户对离自己范围较近的任务价格的

心理预期.通过对 P1, P2进行适当的加权,以此来代表用户的“竞价”特征.

卖方报价由小到大进行排列,卖方报价决定了对于任务发布方而言的最佳定价策略,

17

Page 18: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

因此,用第二题中优化后的真实定价水平和对用户的吸引程度来描述卖方的“报价”

行为,P = c × R1 +D × R2.同样地,c和 d代表了两个加权系数,初始设置均为

0.5,−0.5.

R1 代表了经过问题二计算后的优化过后的原始未打包定价水平,R2 代表了任务周

围的用户密集程度.同样的,通过一定的加权方式,得到任务发布方的“出价”行

为.

竞拍参数描述了竞拍者对一定组拍卖品的竞拍意愿,在打包问题中,在实际考虑当

中,希望用户能够尽量完成离自身较近的任务,因此以用户本身的额度为上限,将

任务额度以离他从近到远的任务的逻辑进行分配.

• 产生价格矩阵mtp,其中mtp(s, t)表示 bl中第 s个用户与 sl中第 t个任务进行选择

时候的任务定价,计算公式如式15.

mtp(s, t) =mpbl(s) +mpsl(t)

2(15)

在这个问题当中,最后生成的价格矩阵,代表了以问题二中方法进行新变量描述后

的所有用户和所有任务的特征值权值排序矩阵,以此来对应双向拍卖交易中决定拍

卖物组合和分配关系的交易者出价矩阵,同时也在此价格矩阵中充分引进用户与任

务距离和关联性的因素,保证了最后结果的合理性.

• 按照列表 bl中的先后顺序进行资源分配和定价,直到所有用户需求处理完毕为止.

得到任务分配的具体情况以及对应的定价信息,其中 alloci, tpi分别表示任务 i的分

配矩阵和定价矩阵分别表示第 i种资源的分配和价格矩阵,均为 g 行 h列,分别对

应 bl和 sl中买方和卖方的个数,(s, t)表示 sl中第 t个卖方提供给 bl中第 s个卖方

资源 i的数量,(s, t)表示第 t个卖方提供这些数量资源所收取的费用,定价结束之

后,得到 tpb和 tps两个矢量分别表示各个买方应支付以及各个卖方应收取的总价

格,且有

tpb =h∑

t=1

k∑i=1

tpi, tps =

g∑s=1

k∑i=1

tpi (16)

• 根据资源分配结果将作业分别传给相应的 GPS,并按照步骤 4产生的价格信息进行

计费.

在仿真过程中,要设置参与竞拍者的竞拍参数,根据上面的思路,根据每个任务

聚合组中心到参与者的相对距离,基于参与者的竞拍额度一次进行分配排列.结果如

表2所示:A,B,C 代表不同的任务组合,数字代表用户编号.可以看到,根据要求计算

相对距离,而后根据每个用户额度进行竞拍参数排列.

综上,将任务打包分配问题转化为双向组合拍卖问题的总体流程如图9所示.

18

Page 19: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

表 2 附件一打包发布仿真

1 2 3 4 5 6

A 0 4 3 2 4 1

B 3 3 3 0 3 5

C 3 3 4 1 2 1

p 104 136 144 33 125 93

二分图聚类

得到n组聚类后的任务集合

每组任务作为一个商品种类集合

得到用户的“竞价”行为特征量P1

得到任务的“出价”特征量G

组合双向拍卖模型

基于组合双向拍卖分析的资源分配和定价算法分析

得到买卖方最后的交易结果

图 9 任务打包分配问题解决流程图

八、问题四求解

8 . 1任务坐标可视化处理

将附件三的任务坐标进行可视化处理,如图10所示.从图中可以发现其中坐标点较

为集中,故考虑沿用问题三的思路,对附件三的任务坐标先聚合打包发布,再重新应用

定价策略进行定价.最后应用引力模型对附件三的定价情况进行评估.

8 . 2引力模型

引力模型广泛应用于现代经济学研究分析中,在新经济地理学领域中尤为突出,以

其便于实证分析的特点,成为研究经济学中空间相互作用的核心工具.

在本题中,我们以物理学中的万有引力模型 F = G · m1m2

r2 为初步引导思想,以经

济学中的距离衰减原理(距离衰减原理:如果个经济现象之间存在着相互作用,则其作

19

Page 20: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

图 10 附件三任务坐标可视化

用的强度将随着彼此间距离的增加而减低)作为理论支撑依据,结合本题实际情况,建

立引力模型.

对于任一任务,存在一系列吸引用户接收并完成此任务的因素以及一系列阻止用户

接收并完成此任务的因素,而这些因素可以被已知的数据所量化.为了量化任务吸引用

户的程度,引入“引力”的概念.“引力”吸引用户接收并完成任务,设为 F引.

通过分析,影响单个任务吸引的单个用户因素有用户能领取任务数的上限Q,任务

定价 P,任务和用户的距离 L.其中,已知用户预订限额 S,总任务数M,总配额 N,

则用户能领取任务数的上限

Q = M · SN

(17)

通过分析,合理假设 F引与用户能领取任务数的上限 Q、任务价格 P 成正比,任务

和用户的距离 L的平方成反比,故给出计算公式:

F引 =Q · PL2

(18)

设用户完成任务 i为 pi,分析应变量 pi与自变量 F引之间的关系特性:(1)pi作为

概率必然在在 0到 1之间;(2)在实际情况下,pi与 F引成正相关;(3)在实际情况下,

当 F引大于某一个值的时候 pi接近于 1,且当 F引小于某一个值的时候 pi接近 0.

20

Page 21: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

(a) 1 (b) 2 (c) 3

图 11 实施方案评价

8 . 3利用 Sigmoid函数求出概率

通过以上分析,发现应变量 pi、自变量 F引间的关系特型复合 S型函数,故推测可

以在此将 Sigmoid函数作为 pi,F引的关系函数经过坐标变换后得到的关系函数,即

pi(F引) =1

1 + e−k(F引+x0)(19)

其中未知参数利用已完成项目的已知数据进行确定:

x0 为 F引 经过归一化(即求平均值)得到的结果(即原函数的对称中心).认为

F引 ≥ 7× 10−4时,p ≥ 0.99,通过计算即确定 k.

设共有 n个用户,每个用户能完成任务 i的概率分别为 pi1, pi2, · · · , pin.由于只要 n个用户中有一人能完成任务 i,则任务 i就能认为被完成.根据概率论

的基本知识得到任务 i能被完成的概率:

pi = 1−n∏

j=1

(1− pij) (20)

8 . 4评价方案实施效果

设共有m个任务,利用最初的定价方案一分别计算出m个任务的定价,利用上述

模型分别计算出 m个任务能被完成的概率,统计得到 m个任务完成的概率在 [0, 1]之

间的统计图,如图11(a)所示.同理,得到利用题二中改进一次后的定价方案二 m个任

务完成的概率在 [0, 1]之间的统计图,如图11(b)所示.

可以很明显的看出,在引力模型下,方案二的位于高概率处的任务数明显高于方案

一,说明将此模型用作评判模型具有一定说服力.

同理,得到利用打包策略后的定价方案m个任务完成的概率在 [0, 1]之间的统计图,

如图11(c)所示.

可以看出,在引力模型下,方案三和方案二的情况相近,两者都在方案一的基础上

提高了大部分任务被完成的概率.

21

Page 22: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

通过累加计算得到方案一的预计支出总费用为:141107.8元,方案二的预计支出总

费用为:147615.7元,方案三的预计支出总费用为:108767.4元.可以看出,方案二虽

然提高了任务完成率,但相对于方案一,预计支出总费用提高了,而方案三在保证体提

高任务完成率的同时,预计支出总费用还降低了,由此说明,方案三更为符合要求.

九、模型检验与评价

对模型进行总结,主要针对本文中几个模型进行简单的总结和分析.

1. 在寻找定价规律和分析任务未完成的原因时,针对数据进行了可视化操作和数据统

计手段,从中发现规律,并且使用逐步回归的方式从多个潜在影响定价规律的变量

当中,回归出影响程度最为显著的变量,并得到最终的多元回归方程.逐步回归方

程对于挑选重要变量具有很大的优势,之后,用同样的方法挑选出对任务完成结果

影响显著的变量,通过变量关系比较和可视化结果,总结影响了任务完成情况的主

要原因.整个回归过程和分析过程具备一定的严谨性,但是,在对任务完成程度进

行线性回归的时候,同样把关联关系看做是多元线性关系,这在一定程度上影响了

潜在变量对任务完成影响的复杂性和非线性程度.

2. 使用支持向量机利用已经统计出各变量的原始数据进行训练,得到一个二分类模型,

为后续制定新的定价方案提供评判的依据.在建立新的定价方案的时候,根据问题

一的分析,将显著影响了任务完成程度的变量引进到新定价模型的评价中,用模拟

退火算法寻找最优自变量加权参数,最终形成新的定价方案.在优化过程中,需要将

带参数的定价模型输入到支持向量机,得到的结果使用模拟退火算法进行优化.这

种思路保证了新定价方案在保证完成度相对较高情况下的最优参数值.

3. 在对任务进行打包定价分析的时候,使用了两种思路,分别是“合乘定价模型”和

“双向拍卖模型”,都是通过问题转化和引进描述变量使得这两个模型适用于打包问

题的求解,在“合乘定价模型”中,通过规划模型比较有效地求解出打包策略和定

价之间的关系,然后再通过枚举算法研究打包方案,最后得出相对合理的结果,但

是这种方法不能完全解决打包状态的最优问题,同时由于问题简化,只考虑了三种

打包状态,更加复杂的打包情况并没有考虑.而在“组合拍卖模型”当中,由于该

模型不能完全解释合理打包问题,而是主要解决了资源组合分配问题,有一定的参

考意义,有利于分析组合分配和定价策略之间的相关性.

4. 在为量化任务吸引用的程度建立引力模型时,为简化模型,假设引力与任务数上限、

任务价格成正比,其实际关系并不是严格的正比关系,从而一定程度上影响了结果

的准确度.利用方案一和方案二对附件三中的任务进行定价,在引力模型下方案二

位于高概率处的任务书明显高于方案一,说明此模型用作评判模型具有一定说服力.

22

Page 23: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

十、参考文献

[1] 朱道才, 吴信国, 郑杰. 经济研究中引力模型的应用综述 [J]. 云南财经大学学

报,2008,(05):19-24. [2017-09-17]. DOI:10.16537

[2] 刘佳.出租车合乘方式及定价模型优化研究 [D].重庆交通大学,2016.

[3] 李立, 刘元安, 马晓雷. 基于组合双向拍卖的网格资源分配 [J]. 电子学

报,2009,37(01):165-169. [2017-09-17].

[4] 安思锦, 翟健. 软件众包参与度影响因素分析及预测模型 [J]. 计算机系统应

用,2015,24(10):9-16. [2017-09-17].

[5] 姚山季,刘德文.众包模式下个体参与意愿的影响因素研究——基于交易成本理论视

角 [J].企业经济,2017,36(01):96-103. [2017-09-17]. DOI:10.13529

[6] 孟晓婉.网络最大流算法与应用研究 [D].南京邮电大学,2013.

[7] 刘晓钢.众包中任务发布者出价行为的影响因素研究 [D].重庆大学,2012.

[8] 孙信昕.众包环境下的任务分配技术研究 [D].扬州大学,2016.

[9] 冯玉蓉.模拟退火算法的研究及其应用 [D].昆明理工大学,2005.

[10] 常甜甜.支持向量机学习算法若干问题的研究 [D].西安电子科技大学,2010.

23

Page 24: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

附录 A最大流 Ford-Fulkerson算法——C#语言源程序

using System;using System.Collections.Generic;using System.Linq;

namespace GraphAlgorithmTesting{class Program{class Edge{public Edge(int begin, int end, int weight){this.Begin = begin;this.End = end;this.Weight = weight;

}

public int Begin { get; private set; }public int End { get; private set; }public int Weight { get; private set; }

public override string ToString(){return string.Format("Begin[{0}], End[{1}], Weight[{2}]",Begin, End, Weight);

}}

class Graph{private Dictionary<int, List<Edge>> _adjacentEdges= new Dictionary<int, List<Edge>>();

public int FordFulkerson(int s, int t){int u, v;

int[,] residual = new int[VertexCount, VertexCount];

for (u = 0; u < VertexCount; u++)for (v = 0; v < VertexCount; v++)residual[u, v] = 0;

foreach (var edge in this.Edges)

24

Page 25: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

{residual[edge.Begin, edge.End] = edge.Weight;

}

int[] parent = new int[VertexCount];

int maxFlow = 0;while (BFS(residual, s, t, parent)){int pathFlow = int.MaxValue;for (v = t; v != s; v = parent[v]){u = parent[v];pathFlow = pathFlow < residual[u, v]? pathFlow : residual[u, v];

}

for (v = t; v != s; v = parent[v]){u = parent[v];residual[u, v] -= pathFlow;residual[v, u] += pathFlow;

}

maxFlow += pathFlow;}

return maxFlow;}

private bool BFS(int[,] residual, int s, int t, int[] parent){bool[] visited = new bool[VertexCount];for (int i = 0; i < visited.Length; i++){visited[i] = false;

}

Queue<int> q = new Queue<int>();

visited[s] = true;q.Enqueue(s);parent[s] = -1;

while (q.Count > 0){int u = q.Dequeue();

25

Page 26: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

for (int v = 0; v < VertexCount; v++){if (!visited[v]&& residual[u, v] > 0)

{q.Enqueue(v);visited[v] = true;parent[v] = u;

}}

}

return visited[t] == true;}

}}

}

附录 B支持向量机训练及模拟退火算法——Python语言源程序

import osimport mathimport randomimport numpy as npimport pandas as pdfrom sklearn.svm import SVCfrom sklearn.externals import joblibfrom sklearn.model_selection import GridSearchCV

def load_or_train(filename, model, train_X, train_y, compress=3):if os.path.exists(filename):

model = joblib.load(filename)print('load job from disk ' + filename + '...')

else:print('starting new job...')model.fit(train_X, train_y)print('job done...')joblib.dump(model, filename, compress=compress)print('job persistence finished...')

return model

def price(param1, param2, param3, param4):test_X = train_X

26

Page 27: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

for i in range(train_X.shape[0]):test_X[i][0] = new_p[i][0] * param1 + new_p[i][1] * param2 + new_p[i][2] * param3 +

param4return test_X

def get_sum(param1, param2, param3, param4):test_X = price(param1, param2, param3, param4)predict = model.predict(test_X)sum = 0for each in predict:

sum += eachreturn sum

if __name__ == '__main__':train_X = np.array(pd.read_csv('SVM_data.csv', header=0))train_y = np.array(pd.read_csv('SVM_label.csv', header=0, delimiter='\t'))train_y = train_y.reshape(834, )

classifier = SVC(kernel='rbf', probability=True)param_grid = {'C': [1e-3, 1e-2, 1e-1, 1, 5, 10, 100, 1000], 'gamma': [0.001, 0.005, 0.0001]}grid_search = GridSearchCV(classifier, param_grid, n_jobs=4, verbose=3)grid_search = load_or_train('grid_best_parameter.pkl', grid_search, train_X, train_y,

compress=1)best_parameters = grid_search.best_estimator_.get_params()classifier = SVC(kernel='rbf', C=best_parameters['C'], gamma=best_parameters['gamma'],

probability=True)model = load_or_train('SVM_CV.pkl', classifier, train_X, train_y)

random.seed()delta = 0.99T = 100eps = 1e-8s = 0.001params = [-1, -1, -1, 70]

new_p = np.array(pd.read_csv('New_Price.csv', header=0))

old_param1 = -1old_param2 = -1old_param3 = -1old_param4 = 70while T > eps:

for i in range(-1000, 1000):for j in range(-1000, 1000):

for k in range(-1000, 1000):for l in range(7000, 8000):

scaled_i = float(i) / 1000

27

Page 28: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

scaled_j = float(j) / 1000scaled_k = float(k) / 1000scaled_l = float(l) / 100original_sum = get_sum(old_param1, old_param2, old_param3, old_param4)now_sum = get_sum(scaled_i, scaled_j, scaled_k, scaled_l)dE = now_sum - original_sumif dE >= 0:

old_param1 = scaled_iold_param2 = scaled_jold_param3 = scaled_kold_param4 = scaled_l

else:if math.exp(dE / T) > random.uniform(0, 1):

old_param1 = scaled_iold_param2 = scaled_jold_param3 = scaled_kold_param4 = scaled_l

T *= delta

附录 C任务发布数据和用户数据统计——MATLAB算法源代码

统计每个发布任务一千米范围内用户人数

for i=1:835for y=1:1877if((distance(gps1x(i,1),gps1y(i,1),userGpsx(y,1),userGpsy(y,1))/180*pi*6370)<=1)km1user(i,1)=km1user(i,1)+1endendend

统计每个发布任务两千米范围内用户人数

for i=1:835for y=1:1877if((distance(gps1x(i,1),gps1y(i,1),userGpsx(y,1),userGpsy(y,1))/180*pi*6370)<=2)km2user(i,1)=km2user(i,1)+1endendend

统计每个发布任务一千米范围内的其他任务个数

for i=1:835for y=1:835

28

Page 29: “拍照赚钱”任务定价策略 - math.tongji.edu.cnmath.tongji.edu.cn/model/docs/cumcm2017B-zhenghang.pdf · 一、问题重述 “拍照赚钱”是移动互联网下的一种自助式服务模式.用户下载app,注册成为app

if((distance(gps1x(i,1),gps1y(i,1), gps1x (y,1), gps1y (y,1))/180*pi*6370)<=1)km1job(i,1)=km1job(i,1)+1endendkm1job(i,1)=km1job(i,1)-1end

统计每个发布任务一千米范围内的所有用户领取任务总额度

for i=1:835for y=1:1877if((distance(gps1x(i,1),gps1y(i,1),userGpsx(y,1),userGpsy(y,1))/180*pi*6370)<=1)km1limit(i,1)=km2limit(i,1)+limit1(y,1)endendend

统计每个发布任务两千米范围内的所有用户领取任务总额度

for i=1:835for y=1:1877if((distance(gps1x(i,1),gps1y(i,1),userGpsx(y,1),userGpsy(y,1))/180*pi*6370)<=2)km1limit(i,1)=km2limit(i,1)+limit1(y,1)endendend

统计一千米范围内拥有用户的平均信誉度

reputval=zeros(835,1)for i=1:835for y=1:1877if((distance(gps1x(i,1),gps1y(i,1),userGpsx(y,1),userGpsy(y,1))/180*pi*6370)<=1)km1cre(i,1)=km1cre(i,1)+reput(y,1)endendkm1cre(i,1)=km1cre(i,1)/km1user(i,1)end

Matlab中程序实现如下

data=[km1user,km2user,km1limit,km2limit,km1cre,km1job,price];x=data(:,1:6);y=data(:,7);stepwise(x,y)

29