摘 要:本文主要介紹了一款使用了總量優(yōu)先預算算法的訂餐預算系統(tǒng)的開發(fā)過程及關鍵技術。該系統(tǒng)主要包括,數(shù)據(jù)導入、算法設置、預算、統(tǒng)計等主要功能。該系統(tǒng)主要為快速餐飲行業(yè)提供食物原材料準備、初期加工等預算功能。
關鍵詞:訂餐預算系統(tǒng);android客戶端;預算因子
中圖分類號:TP274;TP311 文獻標識碼:A
1 引言(Introduction)
預算系統(tǒng),是廣泛使用的一種程序設計功能,能夠通過歷史數(shù)據(jù),推測后面會出現(xiàn)的一系列預測的數(shù)據(jù),為實際生產(chǎn)、生活提供參考數(shù)據(jù),如實際工作中的預備原料。本文在訂餐系統(tǒng)中使用預算算法,提供對第二天,一直到第N天的預算。
2 系統(tǒng)功能設計(The system function design)
訂餐預算系統(tǒng)包括訂餐數(shù)據(jù)導入、系統(tǒng)設置、訂餐預算、數(shù)據(jù)匹配。
圖1 預算功能模塊圖
Fig.1 Ordering the budget function module chart
(1)訂餐數(shù)據(jù)導入
訂餐數(shù)據(jù)導入主要包括導入原有的銷售數(shù)據(jù),使用Excel格式導入,包括訂餐時間、要求送達時間、送達時間、菜品、數(shù)量、訂餐人、電話。其中訂餐時間、菜品、數(shù)量、電話號碼是必需的導入項目。其他的數(shù)據(jù),如果沒有可以缺少。數(shù)據(jù)詳盡可以提高預測出的數(shù)據(jù)的準確性。
(2)數(shù)據(jù)設置
數(shù)據(jù)設置主要包括對導入數(shù)據(jù)的設置,哪些數(shù)據(jù)項是正確的,哪些數(shù)據(jù)項是估算值。并設置要預算的時間點,要預算的準確性的比例,要預算的菜品。要預算的數(shù)據(jù)項目,例如訂餐的菜品及數(shù)量,要送達的地點。
(3)訂餐預算
訂餐預算是根據(jù)歷史訂餐數(shù)據(jù),以及預算數(shù)據(jù)項目和實際訂餐數(shù)據(jù),進行訂餐預算。
(4)數(shù)據(jù)匹配
數(shù)據(jù)匹配是把當班數(shù)據(jù)輸入到系統(tǒng)中,以便對數(shù)據(jù)進行更新。
3 系統(tǒng)環(huán)境搭建(System environment)
根據(jù)開發(fā)環(huán)境選擇需要的JDK[1],并安裝JDK,根據(jù)系統(tǒng)類型下載adt-bundle,解壓即可使用。下載Android SDK,選擇2.33以及4.0以上,分別對應最低開發(fā)版本,對應目標版本。下載并安裝MySQL,下載并配置tomcat。新建一個Android新的工程項目,啟動項目在手機上進行測試[2]。
4 開發(fā)流程及關鍵技術(The process and key
technology development)
4.1 開發(fā)流程
系統(tǒng)開發(fā)的主要流程如圖2所示。
圖2 系統(tǒng)開發(fā)流程圖
Fig.2 System development flow chart
4.2 關鍵技術
當導入基礎訂餐數(shù)據(jù)后,程序會根據(jù)基礎訂餐數(shù)據(jù),進行篩選統(tǒng)計,得到一系列的平均因子。這些平均因子是后面進行預測算法的運算基礎因子,包括訂餐人連續(xù)因子、訂餐地點連續(xù)因子、訂餐菜品連續(xù)因子、送餐耗時因子、制作耗時因子。
例如,訂餐人連續(xù)因子,把所有訂餐連續(xù)超過三天,設定為固定用戶,運算這些固定用戶的平均訂餐連續(xù)值,即為訂餐人連續(xù)因子。使用連續(xù)因子去判斷訂餐用戶的訂餐數(shù)據(jù),分析得到預計訂餐的用戶。在判斷特殊日期的因子,例如判斷用戶有無出現(xiàn)連續(xù)性的間歇中斷。然后再次對所有用戶進行一次篩選。同時還要加上注冊時間作為因為進行判斷,權(quán)重越高可信度也越高。
當通過用戶篩選結(jié)束后,要通過其他算法進行統(tǒng)計,例如送餐地點算法進行判斷,減少因為其他人為因素影響數(shù)據(jù)。同一個送餐地點,也作為一個數(shù)據(jù)進行分析,統(tǒng)計連續(xù)訂餐的手機號,如果連續(xù)反復出現(xiàn)幾個手機號碼可以認為這是一個送餐點。如果這個數(shù)據(jù)沒有出現(xiàn)在預定數(shù)據(jù)內(nèi),那么可以加入。
訂餐菜品連續(xù)因子,對數(shù)據(jù)進行判定,根據(jù)預測訂餐人,進行判定歷史菜品,加權(quán)判定今天預定的菜品。
送餐耗時因子,把離店時間和送達時間進行統(tǒng)計,去掉耗時最短的10%數(shù)據(jù),耗時最長的10%數(shù)據(jù)。
制作耗時因子,按照菜品名稱,把每一個菜品耗時進行輸入,得到制作耗時因子。
通過上面的數(shù)據(jù)因子,預測第二天要制作的菜品和數(shù)量,以及制作的時間。使用預測訂餐數(shù)據(jù),預測訂餐時間,到達時間即提示用戶,預測訂餐的菜品。同時進行實時的輸入訂餐信息,通過比對后,得到實時準確率。
5 結(jié)論(Conclusion)
通過本系統(tǒng)提供訂餐業(yè)務的餐廳可以預測訂餐的菜品,時間,數(shù)量等關鍵數(shù)據(jù),根據(jù)耗時因子,得到應該制作的時間點??梢愿雍侠淼陌才艜r間,減少送餐等待時間,提高菜品質(zhì)量,提高用戶滿意度,增加核心競爭力。同時本系統(tǒng),也有很大需要人為因子,進行干預才能不斷糾正數(shù)據(jù),提高數(shù)據(jù)準確性。每個地區(qū),每個用戶群體都有個體性,要提高算法的廣適性。因為為了解決便利性采用的是在Android系統(tǒng)平臺開發(fā)的手機應用。在數(shù)據(jù)計算上,數(shù)據(jù)安全性方面、數(shù)據(jù)輸入輸出和計算機相比有一定的難度。下一步需要加強服務器端開發(fā),可以方便的備份數(shù)據(jù)[3]。
參考文獻(References)
[1] 郭霖.第一行代碼Android[M].北京:人民郵電出版社,2014.
[2] 張明星,孫嬌.Android智能穿戴設備開發(fā)從入門到精通[M]. 北京:人民郵電中國鐵道出版社,2014.
[3] 李興華.Java核心技術精講[M].北京:清華大學出版社,2013.
作者簡介:
顏世波(1982-),男,本科,助教.研究領域:軟件開發(fā).