專利名稱:多主體系統(tǒng)中基于雙層分解的任務(wù)分配方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多主體系統(tǒng)中(Multi-Agents System) 一種基于雙層分解的優(yōu)化任務(wù)分配方法,具體是利用中介子(Mediator)依據(jù)任務(wù)的關(guān)聯(lián)結(jié)構(gòu)和主體(Agent)的能力和資源對(duì)任務(wù)進(jìn)行雙層分解分配,進(jìn)而有效地降低多主體系統(tǒng)的任務(wù)執(zhí)行時(shí)間,提高執(zhí)行效率。
背景技術(shù):
多主體系統(tǒng)中,傳統(tǒng)的任務(wù)分配問題研究主要是將已經(jīng)分解后的子問題,依據(jù)一定的規(guī)則和方法分配給相對(duì)獨(dú)立的主體,通過主體之間的分工合作來(lái)完成任務(wù)。研究?jī)?nèi)容包括如何避免多主體之間的沖突、減少通信代價(jià)、提高系統(tǒng)并行處理能力等方面,通過改進(jìn)這些方面的模型和算法來(lái)實(shí)現(xiàn)優(yōu)化的任務(wù)分配方案。但是,任務(wù)的分配與分解是密不可分的,分解是分配的前提,不同的任務(wù)分解方案對(duì)任務(wù)分配有著重要的影響。因此,將任務(wù)的分解與分配結(jié)合起來(lái)去研究任務(wù)分配更能優(yōu)化分配方法,提高任務(wù)的執(zhí)行效率。經(jīng)過對(duì)現(xiàn)有文獻(xiàn)的檢索發(fā)現(xiàn),Yichuan Jiang&Jiuchuan Jiang發(fā)表于《IEEE Transactions On Parallel And Distributed Systems, VOL.20, No. 5 (May 2009)》 (IEEE平行與分布式系統(tǒng)學(xué)報(bào)第二十卷第五期)中論文“Contextual Resource Negotiation-Based Task Allocation and Load Balancing in Complex Software Systems"(復(fù)雜軟件系統(tǒng)中基于情景化資源協(xié)商的任務(wù)分配和負(fù)載均衡),該文提出了一種基于主體(Agent)情景化資源的任務(wù)分配方案,在任務(wù)分配時(shí),不僅考慮主體自身所具有的資源和能力,也考慮與之相關(guān)聯(lián)的主體即其情景化環(huán)境中的主體的資源和能力,其過程為任務(wù)分配之前,首先檢測(cè)主體的資源和能力,主體的資源和能力不能滿足任務(wù)要求的, 檢測(cè)與之關(guān)聯(lián)的主體的資源和能力,并入到任務(wù)處理主體數(shù)組中,直至滿足任務(wù)要求,然后依據(jù)情景化環(huán)境中主體群組的資源和能力進(jìn)行任務(wù)分配;同時(shí),為了避免具有高的情景化資源和能力的主體負(fù)載過重,本文提出當(dāng)該類型的主體獲得一定任務(wù)后,其情景化資源和能力會(huì)被削減,任務(wù)分配時(shí)最大限度的滿足負(fù)載均衡要求。經(jīng)檢索還發(fā)現(xiàn),James Guo Ming Fu&Tirthankar Bandyopadhyay &Marcelo H. Ang Jr 發(fā)表于《2009 IEEE International Conference on Robotics and Automation (May 12-17, 2009)》(2009 IEEE ^ 人與自動(dòng)化國(guó)際會(huì)議)中論文“Local Voronoi Decomposition for Multi-Agent Task Allocation”(多主體任務(wù)分配中的局部泰森多邊形分解算法),該文提出一種根據(jù)主體的局部信息確定主體的泰森多邊形區(qū)域的分解算法,在探索問題中其優(yōu)化程度接近如理論上的最優(yōu)解決方案。然而,上述論文雖然均提供了用于任務(wù)分解或分配的優(yōu)化策略,但并未將任務(wù)的分解與分配結(jié)合起來(lái)去研究任務(wù)的優(yōu)化處理方案。即目前多數(shù)有關(guān)于任務(wù)分配的研究只局限于任務(wù)的分配或者分解單個(gè)方面,將分解納入任務(wù)分配策略的研究還沒有具體的研究方案。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的是針對(duì)上述現(xiàn)有技術(shù)的不足,提出多主體系統(tǒng)中一種基于雙層分解的任務(wù)分配方法,在該方法中,多主體系統(tǒng)中主體之間的結(jié)構(gòu)形式為聯(lián)邦式結(jié)構(gòu),即系統(tǒng)由中介子和執(zhí)行主體構(gòu)成,該發(fā)明的特點(diǎn)是將任務(wù)的分解和分配結(jié)合一起作為探究任務(wù)分配策略的優(yōu)化,避免分別研究分解和分配時(shí)出現(xiàn)的不足。技術(shù)方案本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的,該方法包括以下步驟
步驟一,任務(wù)被中介子接受之后,中介子首先對(duì)任務(wù)的關(guān)聯(lián)結(jié)構(gòu)進(jìn)行遍歷,記錄各個(gè)子任務(wù)所需的資源和子任務(wù)之間的關(guān)聯(lián),依據(jù)子任務(wù)的關(guān)聯(lián)結(jié)構(gòu)將任務(wù)分解為一系列子任務(wù)模塊,完成首層任務(wù)分解;通過控制子任務(wù)模塊中資源閾值的調(diào)整,控制子任務(wù)模塊的大?。?br>
步驟二,系統(tǒng)中的主體向中介子反饋各自的資源和能力信息,抽象為主體能夠處理的子任務(wù)的類型和每個(gè)時(shí)刻處理子任務(wù)的個(gè)數(shù),中介子對(duì)每個(gè)主體曾經(jīng)處理的子任務(wù)結(jié)果擁有記錄,作為該主體誠(chéng)信度的評(píng)價(jià),根據(jù)主體的反饋信息和中介子擁有的誠(chéng)信度對(duì)任務(wù)進(jìn)行分解,同時(shí)綜合考慮各主體未處理子任務(wù)模塊和即將被分配的子任務(wù)模塊的負(fù)載均衡, 完成次層任務(wù)分解。步驟一中,所述的資源閾值通過已經(jīng)分配到模塊中的子任務(wù)的總的資源種類和數(shù)量,即子任務(wù)模塊資源多少來(lái)控制模塊大小,而不是用模塊中子任務(wù)的數(shù)量來(lái)控制模塊大步驟二中,所述的負(fù)載均衡是某時(shí)刻結(jié)束末中介子在評(píng)估主體的負(fù)載時(shí),不僅考慮主體上未處理的負(fù)載,還考慮即將被分配給主體的子任務(wù)模塊帶給主體的負(fù)載,綜合考慮各主體兩個(gè)方面的負(fù)載,將下時(shí)刻的子任務(wù)模塊分配給總體負(fù)載最小能夠執(zhí)行該子任務(wù)模塊的主體。次層任務(wù)分解是在首層任務(wù)分解的基礎(chǔ)上進(jìn)行的,在次層分解中根據(jù)多主體系統(tǒng)中的主體資源和能力對(duì)不滿足任務(wù)求解要求的子任務(wù)模塊進(jìn)行再次分解。所謂的中介子,是指在分解中用于處理各個(gè)主體關(guān)聯(lián)的協(xié)調(diào)主體;
所謂的子任務(wù)所需的資源,是指完成子任務(wù)所需資源的種類和數(shù)量,
Ti [krj }表示完成子任務(wù)I需要k個(gè)資源‘
所謂的子任務(wù)之間的關(guān)聯(lián),是指被遍歷的子任務(wù)的前序任務(wù)與后繼任務(wù),前序任務(wù)指與子任務(wù)直接關(guān)聯(lián)的上層子任務(wù),后繼任務(wù)指與子任務(wù)關(guān)聯(lián)的下層子任務(wù);
所謂的資源閾值,是指被分解的子任務(wù)模塊中所有資源的最大個(gè)數(shù)。用模塊中所含資源總數(shù)去控制模塊大小比利用模塊中子任務(wù)個(gè)數(shù)控制模塊大小更有利于客觀判斷用于處理模塊中任務(wù)的執(zhí)行時(shí)間;
該步驟的具體技術(shù)方案是任務(wù)被中介子接受后,中介子對(duì)任務(wù)關(guān)聯(lián)結(jié)構(gòu)進(jìn)行遍歷,將
遍歷結(jié)果記錄于二維數(shù)組馬;乓;),其中巧、易分別用于存放子任務(wù)不的前序任務(wù)和后繼任務(wù),Ri存放處理子任務(wù)η所需的資源,根據(jù)遍歷的結(jié)果對(duì)任務(wù)進(jìn)行首層分解,用于控制分解模塊的條件為①子任務(wù)巧的任一前序任務(wù)朽的數(shù)目N(Fi) >1 ;②子任務(wù)模塊的資源數(shù)目r(R)大于模塊限定閾值rQ。分解算法的流程圖如圖3所示。中介子通過任務(wù)的關(guān)聯(lián)結(jié)構(gòu)對(duì)任務(wù)首層分解后,原有任務(wù)被分解成為若干個(gè)關(guān)聯(lián)度比較緊密的子任務(wù)模塊,多主體系統(tǒng)在處理這些模塊時(shí),能夠有效地減少關(guān)聯(lián)度緊密的子任務(wù)被分配給不同的主體處理時(shí)產(chǎn)生的通信耗費(fèi),尤其在任務(wù)規(guī)模比較龐大的時(shí)候,通信耗費(fèi)的減少更加明顯。步驟二的具體的方法如下
擁有個(gè)Λ個(gè)執(zhí)行主體的多主體系統(tǒng)處理有1種類型的《個(gè)子任務(wù)構(gòu)成的原始任務(wù), 原始任務(wù)經(jīng)步驟一分解后被分解為w個(gè)子任務(wù)模塊,I型子任務(wù)的執(zhí)行時(shí)間為;單個(gè)主體的執(zhí)行能力即單位時(shí)間內(nèi)能執(zhí)行子任務(wù)的最大個(gè)數(shù)為Q)(4),其中,^表示能夠
執(zhí)行I型子任務(wù)的第J個(gè)主體;f子任務(wù)模塊中I型子任務(wù)的總個(gè)數(shù)用O(T4r)表示(,、=丨、 2、· · ·、πι;/=1、2、· · ·、/〗)。那么,多主體系統(tǒng)完成任務(wù)所需的最長(zhǎng)執(zhí)行時(shí)間為
pKy^ ^》51^,即…個(gè)子任務(wù)模塊中每種類型子任務(wù)的總個(gè)數(shù)除以系
統(tǒng)對(duì)該種任務(wù)的總的執(zhí)行能力乘以執(zhí)行該類型子任務(wù)的單位執(zhí)行時(shí)間的總和,此情況下個(gè)子任務(wù)模塊不能夠被多主體系統(tǒng)并行處理;多主體系統(tǒng)完成任務(wù)所需的最短執(zhí)行時(shí)間為
Tmja =m-ax{Z,此時(shí)個(gè)子任
i/ jι/ Jm
務(wù)模塊同時(shí)被多主體系統(tǒng)處理,總?cè)蝿?wù)的執(zhí)行時(shí)間為所需時(shí)間最長(zhǎng)的子任務(wù)模塊的執(zhí)行時(shí)間;鑒于多主體系統(tǒng)中各個(gè)主體的執(zhí)行能力,實(shí)際的總?cè)蝿?wù)執(zhí)行時(shí)間介于兩者之間,該發(fā)明
的目標(biāo)是在多主體系統(tǒng)執(zhí)行能力限制條件下使總?cè)蝿?wù)的執(zhí)行時(shí)間最大程度的接近。任務(wù)每個(gè)主徹載項(xiàng)■>『> )/◎灼,其乜為上-時(shí)刻分
配到主體A上的未被執(zhí)行的任務(wù)為將要分配給該主體的子任務(wù);中介子記錄的各個(gè)主體執(zhí)行子任務(wù)的結(jié)果作為各個(gè)主體的誠(chéng)信度,即能夠成功執(zhí)行子任務(wù)認(rèn)為誠(chéng)信可靠,不能夠執(zhí)行任務(wù)不誠(chéng)信可靠,各個(gè)主體的誠(chéng)信度為,當(dāng)主體成功完成一次子任務(wù)時(shí)誠(chéng)信度增1,否則減1,當(dāng)誠(chéng)信度低于0時(shí)認(rèn)為該主體無(wú)誠(chéng)信度,中介子不分配給主體任務(wù)。初始狀態(tài)時(shí),每個(gè)主體的誠(chéng)信度和負(fù)載均為0,中介子依據(jù)主體的資源和能力對(duì)子任務(wù)模塊進(jìn)行分配,首先對(duì)子任務(wù)模塊或子任務(wù)的執(zhí)行主體唯一的任務(wù)進(jìn)行分配,對(duì)執(zhí)行主體不唯一的
分配給ID(J)相對(duì)較小的可信任主體,此時(shí)的為0 ;第一時(shí)刻執(zhí)行任務(wù)結(jié)束后,系
統(tǒng)中各主體向中介子反饋?zhàn)约旱呢?fù)載和執(zhí)行結(jié)果,中介子根據(jù)此刻各主體的負(fù)載和執(zhí)行結(jié)果分配給各主體下一時(shí)刻的任務(wù),將任務(wù)分配給滿足以下三個(gè)條件的主體
條件一 IMH崎Φ確Cp《M最小的主體,其中,尸為時(shí)刻結(jié)束主體
IP
上還未處理的子任務(wù),T1q為將要分配的子任務(wù);
條件二 通信耗費(fèi)較小,即同一子任務(wù)模塊中的子任務(wù)分配給同一主體,若不滿足,將子任務(wù)模塊進(jìn)行再分解,按照條件一進(jìn)行分配;
條件三誠(chéng)信度較高,在滿足條件一和條件二的基礎(chǔ)上分配給誠(chéng)信度較高的主體; 分解算法的流程圖如圖4所示。在上述兩層分解的基礎(chǔ)上,得出基于雙層分解的任務(wù)分配方法,其流程圖如圖5 所示。依據(jù)該發(fā)明的任務(wù)分配方法,通過首層基于任務(wù)關(guān)聯(lián)結(jié)構(gòu)的分解,能夠有效地減少關(guān)聯(lián)度不緊密的子任務(wù)被分配給不同的主體所造成的通信耗費(fèi);同時(shí),該發(fā)明每個(gè)執(zhí)行時(shí)刻結(jié)束通過對(duì)已分配和即將被分配的任務(wù)對(duì)各個(gè)主體帶來(lái)的負(fù)載評(píng)價(jià),在高效執(zhí)行任務(wù)的前提下有效地降低了任務(wù)執(zhí)行時(shí)間,從而使總?cè)蝿?wù)的執(zhí)行時(shí)間接近于多主體系統(tǒng)執(zhí)行能力限制條件下的最短執(zhí)行時(shí)間。有益效果中介子是用于接受任務(wù)的主體。在任務(wù)分配過程中,不僅僅是對(duì)已分解的任務(wù)進(jìn)行任務(wù)分配的優(yōu)化方案研究,而且把對(duì)任務(wù)的分解考慮到任務(wù)分配過程中。系統(tǒng)中接受任務(wù)的中介子首先根據(jù)任務(wù)之間的關(guān)聯(lián)結(jié)構(gòu)對(duì)任務(wù)進(jìn)行首層分解,關(guān)聯(lián)度相對(duì)緊密的子任務(wù)結(jié)合在一起,這樣可以有效地減少任務(wù)處理過程中通信資源的耗費(fèi);其次,中介子評(píng)價(jià)系統(tǒng)中各個(gè)主體的反饋信息,信息包括主體的資源和能力、主體承載的任務(wù)以及對(duì)各個(gè)主體執(zhí)行任務(wù)結(jié)果的記錄,根據(jù)主體的反饋信息,對(duì)首層分解得到的任務(wù)進(jìn)行再分解。其中,將各個(gè)主體執(zhí)行任務(wù)的結(jié)果作為次層分解的一個(gè)因素是為了避免不能按反饋的資源和能力成功執(zhí)行任務(wù)的主體屢次被分配給任務(wù)。1、通過基于任務(wù)關(guān)聯(lián)結(jié)構(gòu)的首層分解,有效地降低了在任務(wù)分配過程中的通信耗費(fèi),尤其當(dāng)任務(wù)規(guī)模比較大的時(shí)候效果更加明顯;
2、在依據(jù)主體資源和能力的基礎(chǔ)上提出的計(jì)算主體負(fù)載的方法,該方法考慮主體現(xiàn)有任務(wù)和待分配任務(wù)及主體的執(zhí)行能力,有效地降低了總?cè)蝿?wù)的執(zhí)行時(shí)間,使實(shí)際執(zhí)行時(shí)間有效接近于多主體系統(tǒng)執(zhí)行能力限制下的最短執(zhí)行時(shí)間;
圖1是原始任務(wù)中子任務(wù)的結(jié)構(gòu)關(guān)聯(lián)及所需資源類型的實(shí)例顯示圖; 圖2是多主體系統(tǒng)中主體的任務(wù)處理能力圖3是基于原始任務(wù)中子任務(wù)關(guān)聯(lián)結(jié)構(gòu)的首層任務(wù)分解流程圖; 圖4是基于執(zhí)行環(huán)境的次層任務(wù)分解流程圖; 圖5是基于雙層分解的任務(wù)分配方法流程圖; 圖6是實(shí)施例中基于雙層分解的分配方法的執(zhí)行流程A2、A3的處理能力分別為1、1、2;圖3中終端任務(wù)是指任務(wù)關(guān)聯(lián)結(jié)構(gòu)中午后繼任務(wù)的子任務(wù),巧和巧(5)分別代表第j個(gè)子任務(wù)模塊和該模塊中任務(wù)所含總的資源個(gè)數(shù)。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例做詳細(xì)說明本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本實(shí)施例只是本發(fā)明的一個(gè)簡(jiǎn)單的案例應(yīng)用,本發(fā)明的保護(hù)范圍不局限于下述的實(shí)施例。在不影響說明本發(fā)明內(nèi)容的前提下,對(duì)任務(wù)和多主體系統(tǒng)中的主體作如下簡(jiǎn)化和設(shè)置
(1)用于控制子任務(wù)模塊大小的資源閾值f =10,對(duì)不同的任務(wù)根據(jù)任務(wù)的規(guī)模進(jìn)行改變;
(2)在實(shí)施例中不考慮子任務(wù)類型的不同,子任務(wù)的執(zhí)行時(shí)間均相同,即設(shè)置
權(quán)利要求
1. 一種多主體系統(tǒng)中基于雙層分解的任務(wù)分配方法,其特征在于該方法包括以下兩個(gè)步驟步驟一,任務(wù)被中介子接受之后,中介子首先對(duì)任務(wù)的關(guān)聯(lián)結(jié)構(gòu)進(jìn)行遍歷,記錄各個(gè)子任務(wù)所需的資源和子任務(wù)之間的關(guān)聯(lián),依據(jù)子任務(wù)的關(guān)聯(lián)結(jié)構(gòu)將任務(wù)分解為一系列子任務(wù)模塊,完成首層任務(wù)分解;通過控制子任務(wù)模塊中資源閾值的調(diào)整,控制子任務(wù)模塊的大步驟二,系統(tǒng)中的主體向中介子反饋各自的資源和能力信息,抽象為主體能夠處理的子任務(wù)的類型和每個(gè)時(shí)刻處理子任務(wù)的個(gè)數(shù),中介子對(duì)每個(gè)主體曾經(jīng)處理的子任務(wù)結(jié)果擁有記錄,作為該主體誠(chéng)信度的評(píng)價(jià),根據(jù)主體的反饋信息和中介子擁有的誠(chéng)信度對(duì)任務(wù)進(jìn)行分解,同時(shí)綜合考慮各主體未處理子任務(wù)模塊和即將被分配的子任務(wù)模塊的負(fù)載均衡, 完成次層任務(wù)分解。
2.根據(jù)權(quán)利要求1所述的多主體系統(tǒng)中基于雙層分解的任務(wù)分配方法,其特征是步驟一中,所述的資源閾值通過已經(jīng)分配到模塊中的子任務(wù)的總的資源種類和數(shù)量,即子任務(wù)模塊資源多少來(lái)控制模塊大小,而不是用模塊中子任務(wù)的數(shù)量來(lái)控制模塊大小。
3.根據(jù)權(quán)利要求1所述的多主體系統(tǒng)中基于雙層分解的任務(wù)分配方法,其特征是步驟二中,所述的負(fù)載均衡是某時(shí)刻結(jié)束末中介子在評(píng)估主體的負(fù)載時(shí),不僅考慮主體上未處理的負(fù)載,還考慮即將被分配給主體的子任務(wù)模塊帶給主體的負(fù)載,綜合考慮各主體兩個(gè)方面的負(fù)載,將下時(shí)刻的子任務(wù)模塊分配給總體負(fù)載最小能夠執(zhí)行該子任務(wù)模塊的主體。
4.根據(jù)權(quán)利要求1所述的多主體系統(tǒng)中基于雙層分解的任務(wù)分配方法,其特征是,次層任務(wù)分解是在首層任務(wù)分解的基礎(chǔ)上進(jìn)行的,在次層分解中根據(jù)多主體系統(tǒng)中的主體資源和能力對(duì)不滿足任務(wù)求解要求的子任務(wù)模塊進(jìn)行再次分解。
全文摘要
多主體系統(tǒng)中基于雙層分解的任務(wù)分配方法中,多主體系統(tǒng)中主體之間的結(jié)構(gòu)形式為聯(lián)邦式結(jié)構(gòu),即系統(tǒng)由中介子和執(zhí)行主體構(gòu)成,其中,中介子是用于接受任務(wù)的主體;任務(wù)的分配方式為中介子接受任務(wù)后,對(duì)任務(wù)的關(guān)聯(lián)結(jié)構(gòu)進(jìn)行分析,根據(jù)一定的資源閾值對(duì)任務(wù)進(jìn)行首層分解,將任務(wù)分解成若干個(gè)關(guān)聯(lián)比較緊密的子任務(wù)群組模塊;接著,系統(tǒng)中的各個(gè)主體向中介子反饋主體的信息,反饋的信息包括主體的資源和能力信息以及主體處理任務(wù)的結(jié)果信息,中介子根據(jù)獲得的信息對(duì)任務(wù)群組進(jìn)行次層分解,將任務(wù)分配給各個(gè)主體進(jìn)行求解。能夠有效地降低任務(wù)的執(zhí)行時(shí)間,使任務(wù)的執(zhí)行時(shí)間接近于多主體系統(tǒng)執(zhí)行能力限制條件下的最短執(zhí)行時(shí)間。
文檔編號(hào)G06F9/46GK102156660SQ20111009077
公開日2011年8月17日 申請(qǐng)日期2011年4月12日 優(yōu)先權(quán)日2011年4月12日
發(fā)明者周偉, 孟海戰(zhàn), 徐媛, 蔣玉俊 申請(qǐng)人:東南大學(xué)