基于Android的总量优先预算算法在订餐系统的使用

2015-05-30 10:48颜世波
软件工程 2015年6期

摘 要:本文主要介绍了一款使用了总量优先预算算法的订餐预算系统的开发过程及关键技术。该系统主要包括,数据导入、算法设置、预算、统计等主要功能。该系统主要为快速餐饮行业提供食物原材料准备、初期加工等预算功能。

关键词:订餐预算系统;android客户端;预算因子

中图分类号:TP274;TP311 文献标识码:A

1 引言(Introduction)

预算系统,是广泛使用的一种程序设计功能,能够通过历史数据,推测后面会出现的一系列预测的数据,为实际生产、生活提供参考数据,如实际工作中的预备原料。本文在订餐系统中使用预算算法,提供对第二天,一直到第N天的预算。

2 系统功能设计(The system function design)

订餐预算系统包括订餐数据导入、系统设置、订餐预算、数据匹配。

图1 预算功能模块图

Fig.1 Ordering the budget function module chart

(1)订餐数据导入

订餐数据导入主要包括导入原有的销售数据,使用Excel格式导入,包括订餐时间、要求送达时间、送达时间、菜品、数量、订餐人、电话。其中订餐时间、菜品、数量、电话号码是必需的导入项目。其他的数据,如果没有可以缺少。数据详尽可以提高预测出的数据的准确性。

(2)数据设置

数据设置主要包括对导入数据的设置,哪些数据项是正确的,哪些数据项是估算值。并设置要预算的时间点,要预算的准确性的比例,要预算的菜品。要预算的数据项目,例如订餐的菜品及数量,要送达的地点。

(3)订餐预算

订餐预算是根据历史订餐数据,以及预算数据项目和实际订餐数据,进行订餐预算。

(4)数据匹配

数据匹配是把当班数据输入到系统中,以便对数据进行更新。

3 系统环境搭建(System environment)

根据开发环境选择需要的JDK[1],并安装JDK,根据系统类型下载adt-bundle,解压即可使用。下载Android SDK,选择2.33以及4.0以上,分别对应最低开发版本,对应目标版本。下载并安装MySQL,下载并配置tomcat。新建一个Android新的工程项目,启动项目在手机上进行测试[2]。

4 开发流程及关键技术(The process and key

technology development)

4.1 开发流程

系统开发的主要流程如图2所示。

图2 系统开发流程图

Fig.2 System development flow chart

4.2 关键技术

当导入基础订餐数据后,程序会根据基础订餐数据,进行筛选统计,得到一系列的平均因子。这些平均因子是后面进行预测算法的运算基础因子,包括订餐人连续因子、订餐地点连续因子、订餐菜品连续因子、送餐耗时因子、制作耗时因子。

例如,订餐人连续因子,把所有订餐连续超过三天,设定为固定用户,运算这些固定用户的平均订餐连续值,即为订餐人连续因子。使用连续因子去判断订餐用户的订餐数据,分析得到预计订餐的用户。在判断特殊日期的因子,例如判断用户有无出现连续性的间歇中断。然后再次对所有用户进行一次筛选。同时还要加上注册时间作为因为进行判断,权重越高可信度也越高。

当通过用户筛选结束后,要通过其他算法进行统计,例如送餐地点算法进行判断,减少因为其他人为因素影响数据。同一个送餐地点,也作为一个数据进行分析,统计连续订餐的手机号,如果连续反复出现几个手机号码可以认为这是一个送餐点。如果这个数据没有出现在预定数据内,那么可以加入。

订餐菜品连续因子,对数据进行判定,根据预测订餐人,进行判定历史菜品,加权判定今天预定的菜品。

送餐耗时因子,把离店时间和送达时间进行统计,去掉耗时最短的10%数据,耗时最长的10%数据。

制作耗时因子,按照菜品名称,把每一个菜品耗时进行输入,得到制作耗时因子。

通过上面的数据因子,预测第二天要制作的菜品和数量,以及制作的时间。使用预测订餐数据,预测订餐时间,到达时间即提示用户,预测订餐的菜品。同时进行实时的输入订餐信息,通过比对后,得到实时准确率。

5 结论(Conclusion)

通过本系统提供订餐业务的餐厅可以预测订餐的菜品,时间,数量等关键数据,根据耗时因子,得到应该制作的时间点。可以更加合理的安排时间,减少送餐等待时间,提高菜品质量,提高用户满意度,增加核心竞争力。同时本系统,也有很大需要人为因子,进行干预才能不断纠正数据,提高数据准确性。每个地区,每个用户群体都有个体性,要提高算法的广适性。因为为了解决便利性采用的是在Android系统平台开发的手机应用。在数据计算上,数据安全性方面、数据输入输出和计算机相比有一定的难度。下一步需要加强服务器端开发,可以方便的备份数据[3]。

参考文献(References)

[1] 郭霖.第一行代码Android[M].北京:人民邮电出版社,2014.

[2] 张明星,孙娇.Android智能穿戴设备开发从入门到精通[M]. 北京:人民邮电中国铁道出版社,2014.

[3] 李兴华.Java核心技术精讲[M].北京:清华大学出版社,2013.

作者简介:

颜世波(1982-),男,本科,助教.研究领域:软件开发.