本發(fā)明屬于計(jì)算機(jī)行程規(guī)劃技術(shù)領(lǐng)域,具體涉及一種基于條件和用戶偏好的行程規(guī)劃方法。
背景技術(shù):
隨著信息技術(shù)的不斷發(fā)展和進(jìn)步,傳統(tǒng)的面向組件和系統(tǒng)的架構(gòu)模式逐漸演變成面向服務(wù)的設(shè)計(jì)模式,服務(wù)計(jì)算作為一種新興的計(jì)算模式應(yīng)運(yùn)而生,并廣泛應(yīng)用于各個(gè)領(lǐng)域。服務(wù)計(jì)算興起之初,絕大多數(shù)研究主要關(guān)注于服務(wù)計(jì)算功能性需求的滿足;隨著服務(wù)計(jì)算被廣泛應(yīng)用,各種類型的應(yīng)用對(duì)系統(tǒng)和服務(wù)提出了越來(lái)越高的需求,其中以qos(qualityofservice,服務(wù)質(zhì)量)為代表的非功能性需求,逐漸被關(guān)注。如何對(duì)服務(wù)計(jì)算的系統(tǒng)進(jìn)行優(yōu)化,選擇最佳的系統(tǒng)配置和服務(wù)解決方案,以適應(yīng)用戶和服務(wù)供應(yīng)商的需求,成為研究者們關(guān)注的問(wèn)題。服務(wù)計(jì)算的優(yōu)化過(guò)程覆蓋服務(wù)系統(tǒng)的整個(gè)生命周期,涉及到多個(gè)學(xué)科,如運(yùn)籌學(xué)、復(fù)雜系統(tǒng)建模、系統(tǒng)工程等。服務(wù)組合是服務(wù)計(jì)算領(lǐng)域中的一個(gè)重要研究問(wèn)題,科研學(xué)術(shù)工作者對(duì)服務(wù)組合的不同場(chǎng)景和不同方法做了大量的研究,其中一個(gè)重要的場(chǎng)景就是行程規(guī)劃。但隨著用戶和服務(wù)提供商需求多樣化,關(guān)注的指標(biāo)和屬性逐漸增加,如何對(duì)服務(wù)系統(tǒng)進(jìn)行最佳配置,如何進(jìn)行服務(wù)選擇和服務(wù)組合,越來(lái)越受到研究者的關(guān)注。研究者們開(kāi)始考慮將多個(gè)目標(biāo)綜合在一起進(jìn)行優(yōu)化,如何解決服務(wù)計(jì)算的多目標(biāo)優(yōu)化問(wèn)題成為研究的熱點(diǎn)。多目標(biāo)優(yōu)化問(wèn)題不同于單目標(biāo)優(yōu)化問(wèn)題,不同的目標(biāo)之間可能存在權(quán)衡和折中的關(guān)系,難以找到滿足所有目標(biāo)的唯一最優(yōu)解。
行程規(guī)劃中的交通選擇和交通組合用到了服務(wù)計(jì)算中的服務(wù)選擇和服務(wù)組合技術(shù)。具體來(lái)說(shuō),行程規(guī)劃中每一階段的交通的選擇,包括路線、時(shí)間或車次選擇利用了服務(wù)選擇技術(shù),行程規(guī)劃中交通、酒店的組合及組合目標(biāo)函數(shù)的確定利用了服務(wù)組合技術(shù)?,F(xiàn)有的自動(dòng)化行程規(guī)劃方法很難完成細(xì)致、復(fù)雜和實(shí)用的行程規(guī)劃。一個(gè)好的行程規(guī)劃方法要考慮時(shí)間、地點(diǎn)、交通偏好、酒店偏好等因素,要在行程的每一環(huán)節(jié)滿足條件和用戶偏好,要符合實(shí)際情況并且可以基于用戶修改重新規(guī)劃。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述情況,本發(fā)明結(jié)合服務(wù)計(jì)算中服務(wù)選擇和服務(wù)組合兩種技術(shù)充分考慮實(shí)際行程規(guī)劃中各種因素提出了一種基于條件和用戶偏好的行程規(guī)劃方法,更加切合實(shí)際。
一種基于條件和用戶偏好的行程規(guī)劃方法,包括如下步驟:
(1)獲取用戶的行程信息以及偏好信息;
(2)根據(jù)所述行程信息以及偏好信息,獲取所有可行的市際交通班次;
(3)根據(jù)所述行程信息以及偏好信息,生成每一市際交通班次所對(duì)應(yīng)的行程規(guī)劃方案;
(4)根據(jù)行程信息排除不滿足會(huì)議活動(dòng)開(kāi)始時(shí)間的行程規(guī)劃方案;
(5)根據(jù)行程信息以及偏好信息,確定剩余每一行程規(guī)劃方案所對(duì)應(yīng)的酒店入住信息;
(6)計(jì)算剩余每一行程規(guī)劃方案的qos,并依此對(duì)行程規(guī)劃方案進(jìn)行排序并展現(xiàn)推薦給用戶。
所述行程信息包括出發(fā)地位置、目的地位置、會(huì)議活動(dòng)的開(kāi)始時(shí)間和結(jié)束時(shí)間;所述偏好信息包括交通偏好和酒店偏好,交通偏好包括出發(fā)城市內(nèi)的交通偏好、市際交通偏好以及到達(dá)城市內(nèi)的交通偏好。
所述步驟(2)中通過(guò)相關(guān)第三方api(applicationprogramminginterface,應(yīng)用程序編程接口)獲取所有可行的市際交通班次。
所述步驟(3)中通過(guò)相關(guān)第三方api生成每一市際交通班次所對(duì)應(yīng)的行程規(guī)劃方案。
所述行程規(guī)劃方案包括出發(fā)地位置-出發(fā)城市市際交通站點(diǎn)、出發(fā)城市市際交通站點(diǎn)-到達(dá)城市市際交通站點(diǎn)以及到達(dá)城市市際交通站點(diǎn)-目的地位置這三段行程所對(duì)應(yīng)的出發(fā)時(shí)間、到達(dá)時(shí)間、歷時(shí)和交通費(fèi)用。
所述步驟(5)中通過(guò)相關(guān)第三方api確定剩余每一行程規(guī)劃方案所對(duì)應(yīng)的酒店入住信息。
所述酒店入住信息包括入住酒店的時(shí)間、天數(shù)以及費(fèi)用。
所述步驟(6)中通過(guò)以下關(guān)系式計(jì)算剩余每一行程規(guī)劃方案的qos:
qos=ctrip+ehotel
ctrip=w1etrip+w2ttrip+w3dtrip
其中:ctrip為行程總開(kāi)銷,ehotel為酒店住宿所需總費(fèi)用,etrip為出發(fā)城市市際交通站點(diǎn)-到達(dá)城市市際交通站點(diǎn)的交通費(fèi)用,ttrip為出發(fā)城市市際交通站點(diǎn)-到達(dá)城市市際交通站點(diǎn)的出發(fā)時(shí)間與用戶設(shè)定的出發(fā)時(shí)間偏好之差的絕對(duì)值;若用戶設(shè)定的市際交通方式偏好為火車,則dtrip為出發(fā)城市市際交通站點(diǎn)-到達(dá)城市市際交通站點(diǎn)的歷時(shí);若用戶設(shè)定的市際交通方式偏好為飛機(jī),則dtrip為對(duì)應(yīng)航班的準(zhǔn)點(diǎn)率;w1~w3均為權(quán)重系數(shù)。上述關(guān)系式中的變量均通過(guò)歸一化后進(jìn)行計(jì)算。
本發(fā)明的有益技術(shù)效果如下:
(1)本發(fā)明行程方案中的火車、航班、公交、打車、駕車和酒店等數(shù)據(jù)均是通過(guò)調(diào)用api獲得的實(shí)時(shí)數(shù)據(jù),相比于知識(shí)庫(kù)和經(jīng)驗(yàn),本發(fā)明中用于行程規(guī)劃的數(shù)據(jù)實(shí)時(shí)、準(zhǔn)確、可靠。
(2)本發(fā)明考慮了行程方案中各個(gè)環(huán)節(jié)和因素,對(duì)出發(fā)時(shí)間、耗時(shí)、價(jià)格等因素進(jìn)行qos量化處理,采用加權(quán)求和方式的多目標(biāo)服務(wù)選擇方法計(jì)算行程方案的得分;相比于未采用服務(wù)計(jì)算技術(shù)的行程規(guī)劃方法,本發(fā)明中的多目標(biāo)服務(wù)選擇方法考慮了多個(gè)維度的因素,并且可以對(duì)方案進(jìn)行量化排序。
(3)本發(fā)明充分考慮了行程的出發(fā)具體地點(diǎn)、活動(dòng)具體地點(diǎn)、活動(dòng)開(kāi)始時(shí)間、活動(dòng)結(jié)束時(shí)間、交通偏好,以及候車、候機(jī)、候場(chǎng)時(shí)間等影響行程的因素,可以完成復(fù)雜的、細(xì)致的行程規(guī)劃,相比于僅考慮大致地點(diǎn)和日期的簡(jiǎn)單行程規(guī)劃方法,本發(fā)明更加切合實(shí)際。
附圖說(shuō)明
圖1為本發(fā)明行程規(guī)劃方法的實(shí)現(xiàn)架構(gòu)示意圖。
具體實(shí)施方式
為了更為具體地描述本發(fā)明,下面結(jié)合附圖及具體實(shí)施方式對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。
如圖1所示,本發(fā)明利用偏好信息和活動(dòng)信息然后組合各種服務(wù)生成行程規(guī)劃方案,實(shí)施方式以2015年09月05日從杭州到北京出差的行程規(guī)劃為例,行程規(guī)劃包括如下步驟:
(1)設(shè)置偏好,不設(shè)置則使用系統(tǒng)默認(rèn)偏好。具體如下:
1.1設(shè)置交通偏好,包括以下階段:出發(fā)城市交通單選選項(xiàng)包括公交、打車和自駕;市際交通單選選項(xiàng)包括火車、飛機(jī)、自駕;到達(dá)城市交通單選選項(xiàng)包括公交、打車和自駕。
1.2在偏好設(shè)置頁(yè)面的詳細(xì)設(shè)置區(qū)域設(shè)定行程的酒店偏好,酒店偏好多選選項(xiàng)包括快捷酒店、三星級(jí)酒店、四星級(jí)酒店、五星級(jí)酒店、青年旅社、旅館。
1.3在偏好設(shè)置頁(yè)面的詳細(xì)設(shè)置區(qū)域設(shè)定火車詳細(xì)偏好,其中:價(jià)格單選項(xiàng)包括低、忽略和高;開(kāi)車時(shí)間單選項(xiàng)偏好包括早、中午、忽略和晚;歷時(shí)單選項(xiàng)包括短、忽略和長(zhǎng);車次類型多選項(xiàng)包括g、c、d、z、t、k和其他。
1.4在偏好設(shè)置頁(yè)面的詳細(xì)設(shè)置區(qū)域設(shè)定航班的詳細(xì)偏好,其中:價(jià)格單選項(xiàng)包括低、忽略和高;起飛時(shí)間單選項(xiàng)偏好包括早、中午、忽略和晚;準(zhǔn)點(diǎn)率單選項(xiàng)包括高、忽略和低。
航空公司多選項(xiàng)包括中國(guó)國(guó)航、南方航空、東方航空、奧凱航空、首都航空、長(zhǎng)龍航空、春秋航空、成都航空、大新華航空、東海航空、河北航空、海南航空、華夏航空、吉祥航空、昆明航空、青島航空、四川航空、山東航空、深圳航空、上海航空、天津航空、西部航空、西藏航空、幸福航空、廈門(mén)航空、祥鵬航空、英安航空和聯(lián)合航空。
1.5在偏好設(shè)置頁(yè)面的詳細(xì)設(shè)置區(qū)域設(shè)定住宿的詳細(xì)偏好,其中:酒店范圍從0至3000米;辦理入住時(shí)間從0至120分鐘;辦理離店時(shí)間從0至120分鐘。
1.6在偏好設(shè)置頁(yè)面的詳細(xì)設(shè)置區(qū)域設(shè)定時(shí)間偏好,其中:公交候車時(shí)間從0至60分鐘;打車候車時(shí)間從0至60分鐘;火車候車時(shí)間從0至120分鐘;航班候機(jī)時(shí)間從0至180分鐘;活動(dòng)候場(chǎng)時(shí)間從0至60分鐘。
(2)新建活動(dòng)。在新建活動(dòng)頁(yè)面,設(shè)定行程的標(biāo)題、出發(fā)地、目的地,活動(dòng)的開(kāi)始時(shí)間、結(jié)束時(shí)間。本實(shí)施例中活動(dòng)為航空出差,行程從杭州市西湖區(qū)浙江大學(xué)玉泉校區(qū)到北京市海淀區(qū)清華大學(xué),活動(dòng)時(shí)間從2015-09-0514:25至2015-09-0714:25。新建的活動(dòng)會(huì)展示在活動(dòng)列表里,用戶可以對(duì)活動(dòng)進(jìn)行修改和刪除。
(3)行程規(guī)劃。新建活動(dòng)的同時(shí),系統(tǒng)會(huì)根據(jù)本行程規(guī)劃方法、行程信息和偏好信息生成行程組合,包括交通組合和入住酒店方案;詳細(xì)過(guò)程如下:
3.1根據(jù)活動(dòng)信息表中出發(fā)城市、前往城市以及用戶設(shè)置的航班偏好,獲取所有可行的航班信息。
3.2根據(jù)每個(gè)航班的機(jī)場(chǎng)信息、時(shí)間信息以及用戶設(shè)置的詳細(xì)時(shí)間偏好,計(jì)算出發(fā)城市打車、航班和到達(dá)城市打車的出發(fā)時(shí)間、到達(dá)時(shí)間、歷時(shí)和費(fèi)用。
3.3根據(jù)活動(dòng)信息表中的活動(dòng)時(shí)間排除不滿足時(shí)間要求的交通組合。
3.4根據(jù)交通組合的時(shí)間信息以及用戶設(shè)置的酒店偏好和時(shí)間偏好計(jì)算入住酒店的天數(shù)和費(fèi)用。
3.5根據(jù)目標(biāo)函數(shù)計(jì)算不同交通組合的qos,對(duì)交通組合進(jìn)行排序。根據(jù)最優(yōu)的交通組合計(jì)算入住和離開(kāi)酒店的時(shí)間。
qos=ctrain/flight+ehotel
ctrain=w1etrain+w2ttrain+w3dtrain
cflight=w1eflight+w2tflight+w3rflight
其中,qos是行程組合的目標(biāo)函數(shù)值,ctrain/flight為行程的開(kāi)銷,ehotel為住宿費(fèi)用,ehotel=price×days;ctrain為市際交通為火車時(shí)的單程開(kāi)銷,cflight為市際交通為火車時(shí)的單程開(kāi)銷,etrain為火車票的費(fèi)用,ttrain為火車開(kāi)車時(shí)間與用戶設(shè)定的開(kāi)車時(shí)間偏好的差的絕對(duì)值,dtrain為火車的歷時(shí),eflight為機(jī)票的費(fèi)用,tflight為航班起飛時(shí)間與用戶設(shè)定的起飛時(shí)間偏好的差的絕對(duì)值,rflight為航班的準(zhǔn)點(diǎn)率,wi是權(quán)重系數(shù),∑wi=1,值根據(jù)用戶設(shè)置的偏好信息確定。
3.6完成行程規(guī)劃,并以時(shí)間軸的方式展示給用戶,將規(guī)劃后的備選航班、酒店方案以列表形式展示給用戶。行程規(guī)劃信息包括交通組合方案、酒店方案,具體包括如下環(huán)節(jié):
a.行程開(kāi)始及開(kāi)始日期,本實(shí)施例中為2016年4月22日;
b.出發(fā)城市交通,本實(shí)施例中為打車,包含開(kāi)始時(shí)間、距離、歷時(shí)和費(fèi)用,點(diǎn)擊導(dǎo)航可以進(jìn)行導(dǎo)航;
c.市際交通,本實(shí)施例中為航班,包含開(kāi)始時(shí)間、機(jī)場(chǎng)到機(jī)場(chǎng)信息、航班、起飛時(shí)間和抵達(dá)時(shí)間,點(diǎn)擊預(yù)定可以進(jìn)行機(jī)票預(yù)定;
d.到達(dá)城市交通,本實(shí)施例中為打車,包含開(kāi)始時(shí)間、距離、歷時(shí)和費(fèi)用,點(diǎn)擊導(dǎo)航可以進(jìn)行導(dǎo)航;
e.入住酒店,包括開(kāi)始時(shí)間、酒店名稱、電話、地址和評(píng)分,點(diǎn)擊預(yù)定可以進(jìn)行酒店預(yù)定;
f.活動(dòng)開(kāi)始,包括開(kāi)始時(shí)間、地址和備注;
g.活動(dòng)結(jié)束,包括結(jié)束時(shí)間、地址和備注。
(4)隨后用戶可以在行程時(shí)間軸頁(yè)面對(duì)行程規(guī)劃進(jìn)行修改,包括修改航班、酒店。在用戶修改航班后,系統(tǒng)會(huì)基于修改后的市際交通重新對(duì)行程進(jìn)行規(guī)劃,然后再展示給用戶。在用戶修改酒店后,系統(tǒng)會(huì)保存更改后的方案。
上述對(duì)實(shí)施例的描述是為便于本技術(shù)領(lǐng)域的普通技術(shù)人員能理解和應(yīng)用本發(fā)明。熟悉本領(lǐng)域技術(shù)的人員顯然可以容易地對(duì)上述實(shí)施例做出各種修改,并把在此說(shuō)明的一般原理應(yīng)用到其他實(shí)施例中而不必經(jīng)過(guò)創(chuàng)造性的勞動(dòng)。因此,本發(fā)明不限于上述實(shí)施例,本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的揭示,對(duì)于本發(fā)明做出的改進(jìn)和修改都應(yīng)該在本發(fā)明的保護(hù)范圍之內(nèi)。