楊正清 周朝榮 袁姝
摘 要:針對(duì)移動(dòng)群智感知系統(tǒng)中工人積極性低以及任務(wù)過期的問題,提出了基于初始成本和軟時(shí)間窗的任務(wù)分配算法。對(duì)應(yīng)的任務(wù)分配問題為NP-hard問題,不存在計(jì)算有效的最優(yōu)算法,因此,基于離散布谷鳥搜索算法(Discrete Cuckoo Search Algorithm, DCSA)進(jìn)行求解。首先,根據(jù)問題特征,分別設(shè)計(jì)了對(duì)應(yīng)的全局搜索過程以及局部搜索過程。其次,根據(jù)任務(wù)與工人起始位置的距離以及時(shí)間窗大小,分析其優(yōu)先級(jí)以便得到更好的解。最后,執(zhí)行可行化操作,使各次任務(wù)分配均滿足相關(guān)約束。仿真結(jié)果表明,與遺傳算法和貪婪算法相比,基于DCSA的任務(wù)分配算法能夠提升工人的參與積極性,解決任務(wù)過期的問題,并最終降低系統(tǒng)的總成本。
關(guān)鍵詞:移動(dòng)群智感知;任務(wù)分配;初始成本;軟時(shí)間窗;任務(wù)優(yōu)先級(jí);離散布谷鳥搜索算法
中圖分類號(hào):TP393.01
文獻(xiàn)標(biāo)志碼:A
Task assignment based on discrete cuckoo search algorithm in mobile crowd sensing system
YANG Zhengqing1, ZHOU Zhaorong1,2*, YUAN Shu1
1.School of Physics and Electronic Engineering, Sichuan Normal University, Chengdu Sichuan 610101, China;
2.Meteorological Information and Signal Processing Key Laboratory of Sichuan Higher Education Institutes (Chengdu University of Information Technology), Chengdu Sichuan 610225, China
Abstract:
Considering the problems of low-enthusiasm workers and task expiration in the mobile crowd sensing system, a task assignment algorithm based on initial cost and soft time window was proposed. As the corresponding task assignment problem belongs to the category of NP-hard problems and the computationally efficient optimal algorithm cannot be found, thus, an algorithm was developed based on Discrete Cuckoo Search Algorithm (DCSA). Firstly, the corresponding global search process and local search process were designed respectively according to the problem characteristics. Secondly, to derive the better solution, the priorities of tasks with respect to the distance between tasks and workers starting positions as well as the size of time windows were analyzed. Finally, feasible operations were executed to guarantee that the related constraints were satisfied by each task assignment. Compared with genetic algorithm and greedy algorithm, the simulation results show that DCSA-based task assignment algorithm can improve the enthusiasm of workers to participate, solve the problem of task expiration, and ultimately reduce the total system cost.
Key words:
mobile crowd sensing; task assignment; initial cost; soft time window; task priority; Discrete Cuckoo Search Algorithm (DCSA)
0 引言
近年來,隨著移動(dòng)通信技術(shù)的快速發(fā)展以及移動(dòng)互聯(lián)網(wǎng)的廣泛應(yīng)用,智能手機(jī)、車載移動(dòng)設(shè)備、可穿戴設(shè)備等移動(dòng)設(shè)備得到了日益普及。由于內(nèi)置了諸如:攝像頭、麥克風(fēng)、GPS等多種高性能的傳感器,這些移動(dòng)設(shè)備可以代替?zhèn)鹘y(tǒng)的靜態(tài)傳感器節(jié)點(diǎn),完成大規(guī)模、復(fù)雜數(shù)據(jù)的采集、存儲(chǔ)、處理以及應(yīng)用功能,這種新興的數(shù)據(jù)感知模式被稱作“移動(dòng)群智感知”[1]。當(dāng)前,移動(dòng)群智感知技術(shù)已經(jīng)應(yīng)用于智能交通系統(tǒng)[2]、噪聲狀況收集[3]以及空氣質(zhì)量監(jiān)測(cè)[4]等領(lǐng)域。就移動(dòng)群智感知系統(tǒng)而言,在滿足成本 [5]、隱私保護(hù)[6]等約束條件下,如何將數(shù)據(jù)感知任務(wù)分配給合適的用戶以優(yōu)化感知質(zhì)量[7]、執(zhí)行任務(wù)數(shù)量[8]、用戶收益 [9]等性能指標(biāo)是關(guān)鍵,因此,這類系統(tǒng)中的任務(wù)分配問題受到了越來越多研究人員的關(guān)注。
目前,已有一些學(xué)者針對(duì)移動(dòng)群智感知系統(tǒng)中的任務(wù)分配問題進(jìn)行研究。文獻(xiàn)[10]中研究了在激勵(lì)預(yù)算約束下如何指派工人(即攜帶移動(dòng)設(shè)備的用戶)以最大化任務(wù)覆蓋范圍以及給定任務(wù)覆蓋范圍的前提下如何指派工人以最小化成本,但該系統(tǒng)需要針對(duì)工人大量過往數(shù)據(jù)進(jìn)行分析之后再分配任務(wù),導(dǎo)致系統(tǒng)前期的優(yōu)化效果不好。文獻(xiàn)[11]中通過工人歷史移動(dòng)記錄預(yù)測(cè)工人的行為軌跡,再根據(jù)預(yù)測(cè)結(jié)果分配任務(wù),旨在給定激勵(lì)預(yù)算約束下最大化覆蓋質(zhì)量;文獻(xiàn)[12]中考慮了任務(wù)具有不同的時(shí)間敏感度,根據(jù)任務(wù)的時(shí)間敏感度與位置依賴情況分配任務(wù),以便最大化覆蓋范圍。但前者可能出現(xiàn)工人收益低,進(jìn)一步導(dǎo)致參與任務(wù)工人數(shù)低、任務(wù)完成率下降的后果;后者只考慮了最大化覆蓋范圍的因素,忽略被指派的工人數(shù)量,缺乏工人數(shù)量的限制可能導(dǎo)致參與任務(wù)工人數(shù)過多、人力浪費(fèi)的后果。文獻(xiàn)[13]中考慮了工人具有最晚工作時(shí)間要求,旨在給定時(shí)間約束下最大化任務(wù)的完成數(shù)量;文獻(xiàn)[14]中同時(shí)兼顧了工人與任務(wù)的硬時(shí)間窗約束,旨在滿足這兩類時(shí)間窗約束的前提下最大化系統(tǒng)收益。上述兩篇文獻(xiàn)均假設(shè)工人能在其時(shí)間約束下完成被分配的任務(wù),但在實(shí)際生活中,由于天氣、交通等因素,可能存在工人無法在給定時(shí)間約束下完成任務(wù)的情況。例如:指派工人在下午5點(diǎn)到7點(diǎn)之間去A地完成空氣質(zhì)量收集的任務(wù),若天氣惡劣導(dǎo)致工人下午7點(diǎn)3分才到達(dá)A地,系統(tǒng)會(huì)認(rèn)為工人未能夠成功執(zhí)行任務(wù)且該任務(wù)超出時(shí)間限制也被歸入過期任務(wù),這對(duì)于工人以及任務(wù)都是一種損失。同理,若工人下午4點(diǎn)半就可提前到達(dá)任務(wù)所在地,卻要等到5點(diǎn)才執(zhí)行任務(wù),工人的等待也意味著時(shí)間的浪費(fèi)。
為此,本文針對(duì)移動(dòng)群智感知系統(tǒng)中的任務(wù)分配問題展開研究。不同于現(xiàn)有研究主要考慮任務(wù)覆蓋范圍[12]等性能指標(biāo)、忽略工人收益及數(shù)量的情況,考慮工人具有初始成本要求,即只要工人被分配執(zhí)行任務(wù),就獲得一個(gè)基本的收益保障,從而提升工人的參與積極性,并優(yōu)化成本以約束工人數(shù)量。同時(shí),由于存在工人早到或者遲到的實(shí)際情況,任務(wù)的硬時(shí)間窗約束將導(dǎo)致工人的時(shí)間浪費(fèi)或者任務(wù)過期的后果,故放松任務(wù)的時(shí)間窗要求,結(jié)合時(shí)間窗懲罰成本提出了軟時(shí)間窗的概念。軟時(shí)間窗雖在一定程度上容忍工人早到或者遲到的現(xiàn)象,但遲到或早到的工人將面臨相應(yīng)的懲罰成本,這將促使工人盡量地滿足時(shí)間窗約束。此外,本文在優(yōu)化成本時(shí)兼顧工人時(shí)間成本、初始成本以及懲罰成本等因素,旨在合理的任務(wù)分配下,最小化系統(tǒng)的總成本。進(jìn)一步地,考慮到上述約束條件下的任務(wù)分配問題為組合優(yōu)化問題,屬于NP-hard問題的范疇[14],不存在計(jì)算有效的最優(yōu)算法,為此,本文采用智能算法進(jìn)行求解。由于布谷鳥搜索算法簡單易行、收斂速度快,且具有較好的全局搜索能力[15],因此,基于離散布谷鳥搜索算法(Discrete Cuckoo Search Algorithm, DCSA)提出任務(wù)分配求解算法。在求解的過程中,為了進(jìn)一步降低工人的時(shí)間成本以及懲罰成本,根據(jù)任務(wù)的時(shí)間窗大小以及任務(wù)離起始位置的距離,對(duì)任務(wù)進(jìn)行優(yōu)先級(jí)排序。仿真結(jié)果表明,較之于其他算法,基于離散布谷鳥搜索算法的任務(wù)分配算法系統(tǒng)總成本更低,且有助于提高工人的參與積極性,同時(shí),有效地解決了工人時(shí)間浪費(fèi)以及任務(wù)過期問題。
1 系統(tǒng)模型
假設(shè)移動(dòng)群智感知系統(tǒng)中有M個(gè)工人,對(duì)應(yīng)的工人集合為W={w1,w2,…,wM},需要完成N個(gè)感知任務(wù),對(duì)應(yīng)的任務(wù)集合為T={t1,t2,…,tN},其中,每個(gè)任務(wù)將被指派給工人執(zhí)行一次。當(dāng)任務(wù)ti∈T被指派給工人wk∈W時(shí),后者需要移動(dòng)到該任務(wù)所處位置后再執(zhí)行任務(wù),其中,工人和任務(wù)的位置分別表示為(xwk,ywk),(xti,yti)。此外,考慮到電池電量以及時(shí)間窗約束,設(shè)定每個(gè)工人最多可執(zhí)行Φ個(gè)任務(wù)。相應(yīng)地,若工人wk在完成任務(wù)ti后繼續(xù)完成任務(wù)tj,則xijk=1;否則,xijk=0。此外,考慮任務(wù)的時(shí)間窗約束,任務(wù)ti的軟時(shí)間窗為[ai,bi],所指派的工人會(huì)盡量在不早于時(shí)間ai以及不晚于時(shí)間bi到達(dá)任務(wù)ti所處位置并執(zhí)行任務(wù)。若指派的工人wk在時(shí)間窗外到達(dá),其真實(shí)到達(dá)時(shí)間為Sik,則工人將面臨如下的懲罰成本Hi:
Hi=Li·Aik, Sik 0,ai≤Sik≤bi Ri·Bik,Sik>bi(1) 其中,Li與Ri分別為任務(wù)ti的早到時(shí)間懲罰因子以及遲到時(shí)間懲罰因子,考慮到遲到現(xiàn)象的性質(zhì)更為惡劣,因此,Ri>Li>0,本文仿真中分別設(shè)置Ri=7,Li=4。Aik=ai-Sik與Bik=Sik-bi分別為工人wk到達(dá)任務(wù)ti位置處的時(shí)間提前量以及時(shí)間滯后量。 相應(yīng)地,兼顧移動(dòng)群智感知系統(tǒng)中的工人初始成本、懲罰成本以及時(shí)間成本等因素的任務(wù)分配模型給出如下: 優(yōu)化目標(biāo): Min α·f1+β·f2+γ·f3(2) 約束條件:s.t. ∑ti∈T∑wk∈Wxijk=1; tj∈T(3) ∑ti∈Txihk=∑tj∈Txhjk; th∈T, wk∈W(4) Sik+tik+dij/Vk-∞(1-∑wk∈Wxijk)≤Sjk ; ti∈T, tj∈T, wk∈W(5) Nk≤Φ; wk∈W(6) 其中:式(2)為優(yōu)化目標(biāo),即最小化系統(tǒng)的總成本,即工人初始成本、懲罰成本以及時(shí)間成本的加權(quán)和。 f1=∑ti∈T∑wk∈WKkx0ik為工人的總初始成本,只與執(zhí)行任務(wù)的工人數(shù)有關(guān),與工人執(zhí)行的任務(wù)數(shù)量無關(guān),Kk為工人wk的初始成本,x0ik表示工人wk從其初始位置出發(fā)執(zhí)行任務(wù)ti。 f2=∑ti∈T∑wk∈WLiAik+∑ti∈T∑wk∈WRiBik為工人的總懲罰成本,由早到懲罰成本和遲到懲罰成本構(gòu)成。 f3=∑ti∈T∑tj∈T∑wk∈WGk((x0ikdik+xijkdij+xj0kdjk)/Vk+tik)為工人的總時(shí)間成本,由工人的行走時(shí)間以及執(zhí)行任務(wù)時(shí)間構(gòu)成,Gk為工人wk單位時(shí)間成本,dij為任務(wù)ti和任務(wù)tj之間的距離,dik為任務(wù)ti和工人wk之間的距離,Vk為工人wk的移動(dòng)速度,tik為工人wk完成任務(wù)ti所需的執(zhí)行時(shí)間;α、 β、γ分別為3種成本的權(quán)重系數(shù),α+β+γ=1,可通過設(shè)置不同的權(quán)重系數(shù)以體現(xiàn)三種成本各自的重要性。本文中,由于這三種成本對(duì)于優(yōu)化目標(biāo)有著同等重要的意義,因此,設(shè)置權(quán)重系數(shù)α、 β、γ的取值均為1/3。式(3)對(duì)應(yīng)于每個(gè)任務(wù)將被指派給工人執(zhí)行一次。式(4)與(5)表示工人執(zhí)行任務(wù)的行走路線為單向環(huán)形,即工人wk進(jìn)入任務(wù)ti位置后必須離開該位置,前往下一任務(wù)處或返回起始位置,∞為正無窮大。式(6)保證工人wk執(zhí)行的任務(wù)數(shù)Nk不超過系統(tǒng)設(shè)定的最高任務(wù)數(shù)要求。需要指出的是,由式(2)~(6)所確定的優(yōu)化問題屬于NP-hard問題范疇,不存在計(jì)算有效的最優(yōu)算法,只能夠考慮次優(yōu)算法。由于離散布谷鳥算法參數(shù)少、易于控制,具有較快的收斂速度以及較強(qiáng)的全局優(yōu)化能力,可用于求解各類優(yōu)化問題,因此,基于離散布谷鳥算法求解上述優(yōu)化問題。 2 任務(wù)分配求解 由于任務(wù)分配問題(2)~(6)為組合優(yōu)化問題,標(biāo)準(zhǔn)布谷鳥搜索算法中的位置更新機(jī)制將不適用,因此,基于改進(jìn)后的離散布谷鳥搜索算法進(jìn)行求解。在離散布谷鳥搜索算法中,每一個(gè)鳥蛋位于一個(gè)巢穴內(nèi),即對(duì)應(yīng)著優(yōu)化問題的一個(gè)可行解,就上述任務(wù)分配的優(yōu)化問題而言,一個(gè)可行解即為一條可行的工人行走路線方案。 離散布谷鳥搜索算法根據(jù)布谷鳥尋找寄宿鳥巢的方式設(shè)計(jì)對(duì)應(yīng)的全局搜索過程以及局部搜索過程求解任務(wù)分配問題。同時(shí),為了進(jìn)一步提高算法的性能,在求解的過程中根據(jù)各個(gè)任務(wù)的時(shí)間窗大小以及任務(wù)與起始位置之間的移動(dòng)距離對(duì)任務(wù)進(jìn)行優(yōu)先級(jí)排序。然后,對(duì)參與任務(wù)的工人路線進(jìn)行可行化操作,使任意一條路線均滿足任務(wù)優(yōu)先級(jí)排序以及軟時(shí)間窗等約束條件。最后,給出完整的任務(wù)分配求解算法,以尋找滿意的任務(wù)分配方案。 2.1 全局搜索過程 在布谷鳥搜索算法中,布谷鳥采用Lévy飛行隨意搜索鳥巢過程即為全局搜索過程。結(jié)合參考文獻(xiàn)[16-17]以及上述優(yōu)化模型,在全局搜索過程提出每四個(gè)路線采用保留當(dāng)前路徑、Inversion、Swap和Shift方法更新工人路線。對(duì)應(yīng)地,全局搜索過程給出如下: 算法1 離散布谷鳥搜索算法全局搜索過程。 輸入種群中所有鳥巢,即每條路線。 有序號(hào)的程序——————————Shift+Alt+Y 程序前 1) for 種群中每4個(gè)鳥巢,即每4條路線 2) for k=1:4 分別取出4條路線中每一條路線 3) switch k 4) case 1 使當(dāng)前路線保留為原路線 5) case 2 對(duì)其原路線采用Inversion法 6) case 3 對(duì)其原路線采用Swap法 7) case 4 對(duì)其原路線采用Shift法 8) end 9) end for 10) end for 直到循環(huán)完所有路線 11) return 更新后的路線方案 程序后 其中的Inversion、Swap和Shift方法設(shè)計(jì)如下。 1)Inversion方法。 Inversion方法為路線內(nèi)搜索方法,即對(duì)于編碼路線中任意i、 j節(jié)點(diǎn),將i節(jié)點(diǎn)到j(luò)節(jié)點(diǎn)的順序編碼進(jìn)行反轉(zhuǎn)的過程。圖1給出i=3、 j=8時(shí),路線編碼經(jīng)過Inversion方法后形成新路線的過程。 2)Swap方法。 Swap方法為路線內(nèi)搜索方法,即對(duì)于編碼路線中任意i、 j節(jié)點(diǎn),將i節(jié)點(diǎn)和j節(jié)點(diǎn)的進(jìn)行交換的過程。圖2給出i=4、 j=7時(shí),路線編碼經(jīng)過Swap方法后形成新路線的過程。 3)Shift方法。 Shift方法為路線內(nèi)搜索方法,即對(duì)于編碼路線中任意i、 j節(jié)點(diǎn),將i節(jié)點(diǎn)到插入到j(luò)節(jié)點(diǎn)和j+1節(jié)點(diǎn)的過程。圖3給出i=3、 j=6時(shí),路線編碼經(jīng)過Shift方法后形成新路線的過程。 2.2 局部搜索過程 布谷鳥搜索算法的寄生性育雛機(jī)制顯示,寄宿鳥巢主有Pa的概率發(fā)現(xiàn)布谷鳥鳥蛋。一旦發(fā)現(xiàn),巢主將舍棄該鳥巢或者將該鳥巢推出去,則該鳥蛋則無法存活。對(duì)應(yīng)于上述任務(wù)分配問題則理解為該路線為廢棄路線,應(yīng)更新,這即是局部搜索過程。采用Relocate方法對(duì)鳥蛋被發(fā)現(xiàn)后的路線進(jìn)行更新。相應(yīng)地,給出局部搜索過程如下: 算法2 離散布谷鳥搜索算法局部搜索過程。 輸入種群中所有鳥巢,即每條路線。 有序號(hào)的程序——————————Shift+Alt+Y 程序前 1) for 種群中每個(gè)鳥巢,即每條路線(解) 2) 隨機(jī)生成一個(gè)數(shù)r∈[0,1] 3) if r 4) 對(duì)其原路徑采用Relocate法 5) end 6) end for 直到循環(huán)完所有路線 7) return 更新后鳥巢(路線) 程序后 其中,Relocate方法為路線內(nèi)搜索方法,即對(duì)于編碼路線中任意i、 j節(jié)點(diǎn),選擇從j節(jié)點(diǎn)開始的m個(gè)連續(xù)的節(jié)點(diǎn),將這m個(gè)節(jié)點(diǎn)重新定位在i和i+1之間,進(jìn)而形成新的路線,如m=2時(shí),將j、 j+1插入到i和i+1之間。圖4給出i=2、 j=6時(shí),路線編碼經(jīng)過Relocate方法后形成新路線的過程。 2.3 明確任務(wù)優(yōu)先級(jí)的過程 為了進(jìn)一步降低工人的懲罰成本和時(shí)間成本,對(duì)任務(wù)集T=(t1,t2,…,tN)中的任務(wù)進(jìn)行優(yōu)先級(jí)排序[18]。此處的任務(wù)優(yōu)先級(jí)指的是任務(wù)被執(zhí)行的先后次序,由各任務(wù)的時(shí)間窗大小以及各任務(wù)到各工人位置的距離因素共同決定。工人wk 對(duì)于任務(wù)ti的優(yōu)先級(jí)評(píng)價(jià)函數(shù)fik計(jì)算如下: fik=g1(dik/Vk-ai)(bi-dik/Vk)(dik/Vk-ai)(bi-dik/Vk)1(bi-ai)+ g2min1≤j≤ndjkdik(7) 其中:(dik/Vk-ai)(bi-dik/Vk)(dik/Vk-ai)(bi-dik/Vk)表明工人wk 從所處位置(xwk,ywk)移動(dòng)至任務(wù)ti位置的時(shí)間是否滿足時(shí)間窗約束,若dik/Vk∈[ai,bi],即滿足時(shí)間窗約束,則(dik/Vk-ai)(bi-dik/Vk)(dik/Vk-ai)(bi-dik/Vk)=1;若dik/Vk[ai,bi],即不滿足時(shí)間窗約束,則(dik/Vk-ai)(bi-dik/Vk)(dik/Vk-ai)(bi-dik/Vk)=-1;同時(shí),0<1/(bi-ai)<1,(bi-ai)越小即時(shí)間窗間隔越小,則該值就越大。相應(yīng)地,滿足時(shí)間窗約束且時(shí)間窗間隔小的任務(wù)通過以上兩式相乘將獲得更大的結(jié)果值,進(jìn)而提高該任務(wù)的排序。(min1≤j≤ndjk)/dik為距離因素,其中分子min1≤j≤ndjk為離工人wk 位置最近的任務(wù)距離,0<(min1≤j≤ndjk)/dik≤1,任務(wù)ti離工人wk 位置越近,該值越大。g1和g2為權(quán)重參數(shù),滿足0≤g1,g2≤1,且g1+g2=1。若g1=0、g2=1,則表明評(píng)價(jià)函數(shù)只考慮距離因素、不考慮時(shí)間窗大小;若g1=1、g2=0,則表明評(píng)價(jià)函數(shù)只考慮時(shí)間窗大小、不考慮距離因素;否則,評(píng)價(jià)函數(shù)綜合考慮任務(wù)的時(shí)間窗大小和距離兩方面因素進(jìn)行優(yōu)先級(jí)排序。由于時(shí)間窗間隔小的任務(wù)有著更高的時(shí)間要求,對(duì)懲罰成本函數(shù)影響更大,因此,優(yōu)先考慮完成時(shí)間窗間隔小的任務(wù),相應(yīng)地,權(quán)重建議g1>g2。最終,根據(jù)優(yōu)先級(jí)評(píng)價(jià)函數(shù)fik從大到小的順序?qū)θ蝿?wù)進(jìn)行排序即可以獲得工人wk 執(zhí)行任務(wù)的優(yōu)先級(jí)順序。 2.4 明確可行解的過程 將種群中的工人路線編碼映射為滿足任務(wù)執(zhí)行優(yōu)先級(jí)以及約束條件的可行解過程, 即為明確可行解的過程。明確可行解的流程如圖5所示。 為了更好地理解明確可行解的過程,對(duì)步驟“根據(jù)任務(wù)優(yōu)先級(jí)確定工人路線”舉例說明如下: 存在路徑編碼為H:2 5 6 10 1 4 7 3 8 9。首先,選中工人wk1 執(zhí)行任務(wù),由任務(wù)優(yōu)先級(jí)中評(píng)價(jià)函數(shù)得到工人wk1 的任務(wù)優(yōu)先級(jí)關(guān)系為:1 2 3 4 5 6 7 8 9 10。根據(jù)優(yōu)先級(jí)關(guān)系得出工人wk1 的任務(wù)分配為(2 5 6 10),相應(yīng)的,Nk1=4。然后,選中工人wk2 執(zhí)行任務(wù),工人wk2 的任務(wù)優(yōu)先級(jí)關(guān)系為:5 2 1 3 4 6 9 10 8 7。除去已分配的任務(wù),根據(jù)優(yōu)先級(jí)得出工人wk2的任務(wù)分配為(1 4 7),相應(yīng)的,Nk2=3。同理,對(duì)于工人wk3 存在優(yōu)先級(jí)為:1 5 3 2 7 8 4 6 9 10,除去已分配的任務(wù),得出工人wk3任務(wù)分配結(jié)果為(3 8 9),Nk3=3。由于此時(shí)無任務(wù)需被分配,相應(yīng)的,路線編碼H被分配完成。考慮到工人均從所處位置出發(fā)去執(zhí)行任務(wù),并最終返回所處位置。因此,工人路線Qh={k1 2 5 6 10 k1 0 k2 1 4 7 k2 0 k3 3 8 9 k3},0代表工人與工人間的分隔符。 2.5 完整的任務(wù)分配求解算法 基于上述的4個(gè)過程,給出完整的任務(wù)分配求解算法如下: 算法3 任務(wù)分配求解。 輸入:工人集W、任務(wù)集T、初始化種群、參數(shù)Pa等; 輸出:最佳路線optrout,最小成本mincost。 有序號(hào)的程序——————————Shift+Alt+Y 程序前 1) 對(duì)任務(wù)集T中的任務(wù)進(jìn)行優(yōu)先級(jí)排序; 2) 對(duì)初始化種群進(jìn)行可行解操作; 3) 尋找初始化種群中最佳路線optrout,計(jì)算相應(yīng)成本為mincost; 4) repeat 5) 采用全局搜索過程進(jìn)行種群更新; 6) 對(duì)更新后種群進(jìn)行可行解操作; 7) 尋找更新后種群的最佳路線optrout1,計(jì)算相應(yīng)成本為mincost1; 8) if mincost1 9) optrout=optrout1; 10) end if 11) 采用局部搜索過程進(jìn)行路線更新; 12) 對(duì)更新后種群進(jìn)行可行解操作; 13) 尋找更新后種群的最佳路線optrout2,計(jì)算相應(yīng)成本為mincost2 14) if mincost2< mincost 15) optrout=optrout2; 16) end if 17) until最大迭代次數(shù) 程序后 2.6 算法的計(jì)算復(fù)雜性 假設(shè)上述任務(wù)分配算法的最大迭代次數(shù)為S,初始化種群規(guī)模(鳥巢數(shù))為P。全局搜索過程和局部搜索過程時(shí)均與初始化種群規(guī)模有關(guān),對(duì)應(yīng)的時(shí)間復(fù)雜度均為O(P);明確優(yōu)先級(jí)過程的時(shí)間復(fù)雜度為O(N),其中,N為任務(wù)數(shù);明確可行解過程的時(shí)間復(fù)雜度為O(P)。相應(yīng)地,完整的任務(wù)分配求解算法的時(shí)間復(fù)雜度為O(S(P+N))。由此可以看出,在給定迭代次數(shù)S以及種群規(guī)模P的前提下,完整的任務(wù)分配算法的時(shí)間復(fù)雜性隨著任務(wù)數(shù)N呈線性增長的趨勢(shì),可在多項(xiàng)式時(shí)間內(nèi)求解,是求解任務(wù)分配問題的有效算法。 3 實(shí)驗(yàn)結(jié)果與分析 本章將分別通過基于DCSA改進(jìn)的任務(wù)分配算法、遺傳算法(Genetic Algorithm, GA)以及貪婪算法(Greedy)求解移動(dòng)群智感知系統(tǒng)中基于離散布谷鳥搜索算法的任務(wù)分配問題,并根據(jù)仿真結(jié)果比較這三種算法的性能。同時(shí),研究基于DCSA改進(jìn)的任務(wù)分配算法下不同系統(tǒng)條件對(duì)系統(tǒng)總成本、工人參與率以及時(shí)間窗約束滿足率的影響。為保證仿真結(jié)果準(zhǔn)確性,每種情況系統(tǒng)都將運(yùn)行多次并選用其平均值作為結(jié)果。系統(tǒng)的仿真參數(shù)設(shè)置如表1所示。 圖6給出DCSA、GA以及Greedy算法下不同任務(wù)數(shù)的總成本。從圖6可看出:在不同任務(wù)數(shù)下,DCSA的總成本最低,其次是GA,Greedy算法的總成本最高;且隨著任務(wù)數(shù)的增加,DCSA的總成本低于GA,Greedy算法的趨勢(shì)更為明顯。這表明與GA與Greedy算法相比,基于DCSA的任務(wù)分配算法能更好地優(yōu)化工人初始成本、懲罰成本以及時(shí)間成本,使得不同任務(wù)數(shù)下基于DCSA的任務(wù)分配總成本更低。 圖7給出有無對(duì)任務(wù)優(yōu)先級(jí)排序?qū)ο到y(tǒng)總成本的影響。從圖7可看出,不同任務(wù)數(shù)下,有任務(wù)優(yōu)先級(jí)排序時(shí)的總成本低于無任務(wù)優(yōu)先級(jí)排序時(shí)的總成本,且二者差值隨著任務(wù)數(shù)的增加而增大。這是由于在任務(wù)優(yōu)先級(jí)排序下,時(shí)間窗間隔小且距離工人位置更近的任務(wù)將優(yōu)先被完成,進(jìn)而降低工人的時(shí)間成本與懲罰成本。這表明任務(wù)優(yōu)先級(jí)排序的存在具有降低總成本的作用,該作用隨著任務(wù)數(shù)的增加更為明顯,任務(wù)優(yōu)先級(jí)排序更適用于任務(wù)數(shù)量大的移動(dòng)群智感知系統(tǒng)。 圖8給出有無初始成本對(duì)工人平均收益的影響。從圖8可看出,不同任務(wù)數(shù)下,有初始成本時(shí),工人平均收益總是大于無初始成本時(shí)的工人平均收益。這是由于考慮初始成本時(shí),工人有基本的收益保證,進(jìn)而提高工人平均收益,以提高其參與積極性。這表明初始成本的存在具有提高工人平均收益的作用。 圖9給出有無懲罰成本對(duì)時(shí)間窗約束滿足率的影響,此處的時(shí)間窗約束滿足率等于滿足時(shí)間窗約束的任務(wù)數(shù)與系統(tǒng)存在總?cè)蝿?wù)數(shù)的比值。從圖9可看出,不同任務(wù)數(shù)下,有懲罰成本下的時(shí)間窗約束滿足率總是高于沒有懲罰成本下的時(shí)間窗約束滿足率。這是由于軟時(shí)間窗約束雖然放寬了任務(wù)的時(shí)間要求,允許工人遲早或早到;然而,相應(yīng)提出的懲罰成本正比于工人的早到或者遲到時(shí)間,這將促使工人盡可能滿足任務(wù)的時(shí)間窗約束。這表明懲罰成本的存在具有提高時(shí)間窗約束滿足率的作用。 4 結(jié)語 本文研究了移動(dòng)群智感知系統(tǒng)中基于離散布谷鳥搜索算法的任務(wù)分配問題。考慮到現(xiàn)有任務(wù)分配問題中忽略工人收益以及工人數(shù)量進(jìn)而造成工人參與積極性下降的現(xiàn)象,提出工人具有初始成本。同時(shí),針對(duì)硬時(shí)間窗約束造成的工人時(shí)間浪費(fèi)或任務(wù)過期的后果,結(jié)合時(shí)間窗懲罰成本提出了軟時(shí)間窗的概念。由于對(duì)應(yīng)的任務(wù)分配問題為組合優(yōu)化問題,不存在計(jì)算有效的最優(yōu)算法,因此,基于簡單易行、收斂速度快,全局搜索能力強(qiáng)的DCSA提出任務(wù)分配求解算法,以最小化工人的時(shí)間成本、初始成本以及懲罰成本。此外,在求解過程中,為進(jìn)一步降低工人時(shí)間成本與懲罰成本,根據(jù)任務(wù)的時(shí)間窗大小以及任務(wù)離起始位置的距離,對(duì)任務(wù)進(jìn)行優(yōu)先級(jí)排序。仿真結(jié)果表明,與其他算法相比,基于DCSA改進(jìn)的任務(wù)分配算法總成本更低,且有助于提高工人的參與積極性,同時(shí)有效地解決了時(shí)間浪費(fèi)和任務(wù)過期問題。 參考文獻(xiàn) [1]GONG W, ZHANG B, LI C. Task assignment in mobile crowdsensing: present and future directions [J]. IEEE Network, 2018, 32(4): 100-107. [2]MANOLOPOULOS V, TAO S, RODRIGUEZ S, et al. MobiTraS: a mobile application for a smart traffic system [C] // Proceedings of the 2010 8th IEEE International NEWCAS Conference. Piscataway, NJ: IEEE, 2010: 365-368. [3]MAISONNEUVE N, STEVENS M, NIESSEN M E, et al. NoiseTube: measuring and mapping noise pollution with mobile phones [M]// ATHANASIADIS I N, RIZZOLI A E, MITKAS P A, et al. Information Technologies in Environmental Engineering, Environment Science and Engineering. Berlin: Springer, 2009: 215-228. [4]DUTTA P, AOKI P M, KUMAR N, et al. Common sense: participatory urban sensing using a network of handheld air quality monitors [C]// Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems. New York: ACM, 2009: 349-350. [5]CHENG P, LIAN X, CHEN L, et al. Prediction-based task assignment in spatial cowdsourcing [C]// ICDE 2017: Proceedings of the 2017 IEEE 33rd International Conference on Data Engineering. Washington, DC: IEEE Computer Society, 2017:997-1008. [6]WANG L, YANG D, HAN X, et al. Location privacy-preserving task allocation for mobile crowdsensing with differential geo-obfuscation [C]// Proceedings of the 26th International Conference on World Wide Web. Perth: International World Wide Web Conferences Steering Committee, 2017: 627-636. [7]HU T, XIAO M, HU C, et al. A QoS-sensitive task assignment algorithm for mobile crowdsensing [J]. Pervasive and Mobile Computing, 2017, 41: 333-342. [8]LUAN T, TO H, FAN L, et al. A real-time framework for task assignment in hyperlocal spatial crowdsourcing [J]. ACM Transactions on Intelligent Systems and Technology, 2017, 9(3): 1-25. [9]CHENG P, LIAN X, CHEN L, et al. Task assignment on multi-skill oriented spatial crowdsourcing [J]. IEEE Transactions on Knowledge and Data Engineering, 2016, 28(8): 2201-2215. [10]MRS D S B, MRV S K, THANEERU L, et al. A survey on mobile crowd sensing using MCS task allocation [J]. International Journal of Research, 2017, 4(5): 600-607. [11]XIONG H, ZHANG D, CHEN G, et al. CrowdTasker: maximizing coverage quality in piggyback crowdsensing under budget constraint [C]// Proceedings of the 2015 IEEE International Conference on Pervasive Computing and Communications. Piscataway, NJ: IEEE, 2015: 55-62. [12]CHEUNG M H, SOUTHWELL R, HOU F, et al. Distributed time-sensitive task selection in mobile crowdsensing [C]// Proceedings of the 16th ACM International Symposium on Mobile Ad Hoc Networking and Computing. New York: ACM, 2015: 157-166. CHEUNG M H, SOUTHWELL R, HOU F, et al. Distributed time-sensitive task selection in mobile crowdsensing [EB/OL]. [2019-01-07]. https://arxiv.org/pdf/1503.06007v1.pdf. [13]李洋,賈夢(mèng)迪,楊文彥,等.基于樹分解的空間眾包最優(yōu)任務(wù)分配算法[J].軟件學(xué)報(bào),2018,29(3):824-838.(LI Y, JIA M D, YANG W Y, et al. Optimal task assignment algorithm based on tree-decouple in spatial crowdsourcing [J]. Journal of Software, 2018, 29(3): 824-838.) [14]WU S, GAO X, WU F, et al. A constant-factor approximation for bounded task allocation problem in crowdsourcing [C]// GLOBECOM 2017: Proceedings of the 2017 IEEE Global Communications Conference. Piscataway, NJ: IEEE, 2017: 1-6. [15]YANG X-S, DEB S. Cuckoo search via Lévy flights [C]// NaBIC 2019: Proceedings of the 2009 World Congress on Nature and Biologically Inspired Computing. Piscataway, NJ: IEEE, 2009: 210-214. [16]JATI G K, MANURUNG H M, SUYANTO. Discrete cuckoo search for traveling salesman problem [C]// ICCCT 2012: Proceedings of the 2012 7th International Conference on Computing and Convergence Technology. Piscataway, NJ: IEEE, 2012: 993-997. [17]ZHENG H, ZHOU Y, LUO Q. A hybrid cuckoo search algorithm-GRASP for vehicle routing problem [J]. Journal of Convergence Information Technology, 2013, 8(3): 821-828. [18]張麗萍,柴躍廷,曹瑞.有時(shí)間窗車輛路徑問題的改進(jìn)遺傳算法[J].計(jì)算機(jī)集成制造系統(tǒng),2002,8(6):451-454.(ZHANG L P, CHAI Y T, CAO R. Improved genetic algorithm for vehicle routing problem with time windows [J]. Computer Integrated Manufacturing Systems, 2002, 8(6):451-454.) This work is partially supported by the Open Program of Meteorological Information and Signal Processing Key Laboratory of Sichuan Higher Education Institutes (QXXCSYS201704), the Key Project of Sichuan Provincial Education Department (15CZ0004). YANG Zhengqing, born in 1994, M. S. candidate. Her research interests include mobile crowd sensing. ZHOU Zhaorong, born in 1975, Ph. D., associate professor. His research interests include wireless network. YUAN Shu, born in 1995, M. S. candidate. Her research interests include spatial crowd sourcing.