專利名稱:資源分配的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及優(yōu)化分配多個(gè)資源給多個(gè)作業(yè)的方法并涉及執(zhí)行這一方法的裝置。它特別適用于資源的可利用性及要執(zhí)行的作業(yè)兩者都是動態(tài)改變的情況中。這種情況的實(shí)例便是分配作業(yè)給現(xiàn)場工作隊(duì),例如救護(hù)車或出租車司機(jī)、車輛修理現(xiàn)場召集隊(duì)、或者諸如供電或供水或電信網(wǎng)等分布式系統(tǒng)的現(xiàn)場維修隊(duì)。
在這些情況中工作量是高度可變與短暫的,并由于必要的響應(yīng)時(shí)間具有作業(yè)本身長度的數(shù)量級且遠(yuǎn)比技工的工作日為短而必須實(shí)時(shí)分配作業(yè)。單個(gè)作業(yè)的持續(xù)時(shí)間本身也是高度可變的,這便影響了等待分配的那些作業(yè)的資源可利用性。
分配作業(yè)給資源的各種成本分析算法是已知的,諸如1955年HWKuhn的論文“分配問題的匈牙利方法”中所描述的所謂“匈牙利算法”(海軍研究所后勤季刊,卷2,83-97頁)及MB Wright進(jìn)一步發(fā)展的“加快匈牙利算法”,計(jì)算機(jī)操作研究,卷17,一號,95-96頁(1990)。然而在實(shí)際情況中使用這些算法并不容易。
按照本發(fā)明的第一方面提供了分配多個(gè)資源給多個(gè)作業(yè)的方法,用計(jì)算機(jī)執(zhí)行下述步驟—確定各資源預(yù)測成為可利用的時(shí)間;—確定需要執(zhí)行各作業(yè)的時(shí)間;—分配給各作業(yè)作為將執(zhí)行該作業(yè)的時(shí)間的函數(shù)計(jì)算的一個(gè)與時(shí)間相關(guān)的成本函數(shù);—對各種可能的作業(yè)與資源組合,根據(jù)各資源預(yù)測可利用的時(shí)間及該時(shí)間上各作業(yè)的成本函數(shù)值,確定總的預(yù)計(jì)成本;—確定產(chǎn)生最小總預(yù)計(jì)成本的組合。
可操作這一方法使得當(dāng)一個(gè)資源成為可利用時(shí)便執(zhí)行上述步驟,然后將可利用的資源分配給在上述過程中所識別出的最小成本組合中與之關(guān)聯(lián)的作業(yè)。
可在這多個(gè)作業(yè)上增加新的作業(yè),當(dāng)發(fā)生這種增加時(shí),便執(zhí)行上述方法。
如果在或接近其預(yù)測時(shí)間第二個(gè)資源成為可利用并且自從上次執(zhí)行優(yōu)化確定以來未發(fā)生其它變化,可將第二資源分配給事先計(jì)算出的最低成本組合中已分配給它的作業(yè)。
可將本方法配置成使不相容的資源與作業(yè)組合具有基本上無窮大的成本值。如果希望分配一個(gè)特定的資源給一個(gè)作業(yè),則可以將該作業(yè)與其它資源的組合配置成作為不相容對待。
可在執(zhí)行作業(yè)的時(shí)間的基礎(chǔ)上優(yōu)先化作業(yè),及在預(yù)測首先成為可利用的基礎(chǔ)上優(yōu)先化資源。成本估計(jì)可對具有最高優(yōu)先級的預(yù)定數(shù)目的作業(yè)進(jìn)行。
本方法可容許中斷低優(yōu)先級作業(yè)而容許一高優(yōu)先級作業(yè)代替它進(jìn)行。
如果作業(yè)多于資源,則在分析中可包含虛設(shè)資源。將高值指派給分配給這些資源的作業(yè)的成本函數(shù)。
在成本分值計(jì)算中可用一個(gè)單一的作業(yè)來代表一組密切相關(guān)的作業(yè),該組中的其它作業(yè)如果相容便分配相同的資源。
按照本發(fā)明的第二方面,提供了分配多個(gè)資源給多個(gè)作業(yè)的裝置,包括—用于存儲關(guān)于資源的參數(shù)的裝置;—用于存儲關(guān)于作業(yè)的參數(shù)的裝置;—用于從參數(shù)中確定各資源預(yù)測成為可利用的時(shí)間的裝置;—用于從參數(shù)中確定需要執(zhí)行各作業(yè)的時(shí)間的裝置;—用于分配給各作業(yè)一個(gè)作為將執(zhí)行該作業(yè)的時(shí)間的函數(shù)計(jì)算出的成本函數(shù)的裝置;—用于根據(jù)各資源預(yù)測可利用的時(shí)間及該時(shí)間上各作業(yè)的成本函數(shù)值,為作業(yè)與資源的各種可能組合確定預(yù)計(jì)成本的裝置;—用于確定產(chǎn)生最小總預(yù)計(jì)成本的組合的裝置。
按照又一方面,提供了用于分配多個(gè)作業(yè)給多個(gè)資源的計(jì)算機(jī)裝置,所述計(jì)算機(jī)裝置包括一個(gè)中央處理單元、一個(gè)存儲器、一個(gè)輸入設(shè)備及一個(gè)輸出設(shè)備,所述存儲器包含一個(gè)用于控制該計(jì)算機(jī)的程序,及該程序配置成—存儲關(guān)于資源的參數(shù);—存儲關(guān)于作業(yè)的參數(shù);—從參數(shù)中確定各資源預(yù)測成為可利用的時(shí)間;—從參數(shù)中確定需要執(zhí)行各作業(yè)的時(shí)間;—分配給各作業(yè)一個(gè)作為將執(zhí)行該作業(yè)的時(shí)間的函數(shù)計(jì)算出的成本函數(shù);—根據(jù)各資源預(yù)測可利用的時(shí)間及在該時(shí)間上各作業(yè)的成本函數(shù)值,為作業(yè)與資源的各種可能組合確定預(yù)計(jì)成本;以及—確定產(chǎn)生最小總預(yù)計(jì)成本的組合。
通過分配一個(gè)與時(shí)間相關(guān)的成本函數(shù)給各作業(yè),便能考慮進(jìn)去不同的資源可在不同時(shí)間執(zhí)行它這一事實(shí)以及諸如不能滿足協(xié)議的時(shí)間等的后果。
可設(shè)置裝置將新作業(yè)增加到該多個(gè)作業(yè)上。也可設(shè)置裝置來識別作業(yè)與資源的不相容組合并賦予這些組合以無窮大的成本值。也可有裝置來有選擇地分配一個(gè)指定的資源給一個(gè)給定的作業(yè),配置成使這一作業(yè)與其它資源的組合被認(rèn)為是不相容的。
也可設(shè)置裝置來優(yōu)先化作業(yè)與/或資源,及用于選擇帶有在其上執(zhí)行成本估計(jì)的最高優(yōu)先級的作業(yè)與資源。
上述分配設(shè)備可結(jié)合供資源使用的多臺通信終端及供終端與控制裝置之間通信的一個(gè)通信網(wǎng)一起設(shè)置。
有利地,這些終端可存儲分配設(shè)備臨時(shí)分配給資源的第二作業(yè)細(xì)節(jié),但只在報(bào)告第一作業(yè)完成的企圖不能與分配裝置通信時(shí)才透露這些細(xì)節(jié)。
終端最好是便攜式的,并可通過無線電網(wǎng)或這些終端可連接的固定電信網(wǎng)與分配設(shè)備通信。它們發(fā)送信息到分配設(shè)備,并且接收來自它的指令。
在本發(fā)明中,將作業(yè)的性能及資源的可利用性作為與時(shí)間相關(guān)的函數(shù)計(jì)算,將較大的成本加權(quán)作用在帶有較不可能達(dá)到目標(biāo)時(shí)間的資源作業(yè)組合上。
在一種較佳配置中只向已經(jīng)完成了它們的當(dāng)前作業(yè)的資源通知分配給它們的下一作業(yè)。其它分配是臨時(shí)的,并可隨環(huán)境改變而改變,諸如請求新作業(yè)或一個(gè)資源早于或晚于估計(jì)的時(shí)間報(bào)告一個(gè)作業(yè)完成。在一個(gè)特別好的配置中,作業(yè)分配過程通常是在每當(dāng)一個(gè)資源報(bào)告完成了其當(dāng)前作業(yè)時(shí)執(zhí)行的,但如果從分配過程的上一次運(yùn)行以來沒有諸如新作業(yè)請求等變化,及如果資源在接近預(yù)計(jì)完成時(shí)間時(shí)報(bào)告作業(yè)完成,則不執(zhí)行作業(yè)分配過程而利用過程上次運(yùn)行的結(jié)果。
分配過程也可以在發(fā)生諸如增加新作業(yè)等重大變化時(shí)執(zhí)行。這使得當(dāng)前的分配跟上這種發(fā)展,從而當(dāng)一個(gè)資源請求作業(yè)時(shí),系統(tǒng)能立即以分配的作業(yè)來應(yīng)答而無須運(yùn)行分配過程。然而,如果一個(gè)資源比預(yù)測早報(bào)告作業(yè)完成,這本身便是要求重新運(yùn)行分配過程的重大變化。
在某些情況中,可能存在著不能執(zhí)行某些作業(yè)的資源。這可能適用于諸如需要特定技能的作業(yè),或需要只掌握在某些可利用的工人手中的設(shè)備項(xiàng)目的時(shí)候。其它可能發(fā)生的情況是諸如由于客戶的安全措施而只有受限制的工人組具有在一個(gè)特定的工地工作的權(quán)力。在又另一情況中,可能請求一位特定的個(gè)體工人來進(jìn)行一項(xiàng)特定作業(yè),例如因?yàn)樗窃搨€(gè)人所執(zhí)行一項(xiàng)早期作業(yè)的繼續(xù),或者作為該個(gè)人的培訓(xùn)的一部分。為了接納這一點(diǎn),可將所有不相容的資源/作業(yè)組合的成本值配置成重新設(shè)定為無窮大。然而,如果該系統(tǒng)正在其上運(yùn)行的操作系統(tǒng)處理無窮大有困難,則可使用一個(gè)不會作出這種不相容的分配的充分大的有窮數(shù)。這將保證分配將對相容的資源作出。在本說明書中,短語“基本上無窮大”用于表示其值大到足以達(dá)到這一點(diǎn)的任何數(shù)。
為了減少處理時(shí)間,系統(tǒng)可以只在預(yù)計(jì)在不久的將來成為可利用的資源(包含當(dāng)前可利用的資源)與具有最高優(yōu)先級的作業(yè)的組合上操作。
在本發(fā)明的進(jìn)一步發(fā)展中,提供了用于分配多個(gè)資源給多個(gè)作業(yè)的裝置,包括—用于存儲關(guān)于資源的參數(shù)的裝置;—用于存儲關(guān)于作業(yè)的參數(shù)的裝置;—用于從參數(shù)中確定各資源預(yù)測成為可利用的時(shí)間的裝置;—用于從參數(shù)中確定需要執(zhí)行各作業(yè)的時(shí)間的裝置;—用于將一個(gè)作為將要執(zhí)行該作業(yè)的時(shí)間的函數(shù)計(jì)算的成本函數(shù)分配給各作業(yè)的裝置;—用于根據(jù)各資源的預(yù)測可利用時(shí)間及該時(shí)間上各作業(yè)的成本函數(shù)值,為作業(yè)與資源的各種可能組合,確定預(yù)計(jì)的成本的裝置;—用于確定產(chǎn)生最小總預(yù)計(jì)成本的組合的裝置;與在其上執(zhí)行作業(yè)的網(wǎng)絡(luò)結(jié)合,所述網(wǎng)絡(luò)包括用于檢測網(wǎng)絡(luò)中的故障的裝置、及用于向存儲關(guān)于作業(yè)的參數(shù)的所述裝置提供校正檢測到的故障要執(zhí)行的作業(yè)的參數(shù)的裝置。
其中的網(wǎng)絡(luò)為一電信網(wǎng),所述故障檢測裝置可以是構(gòu)成網(wǎng)絡(luò)的一部分的故障管理系統(tǒng)。用于向作業(yè)提供參數(shù)的裝置可以僅僅是在故障管理系統(tǒng)與所述裝置之間的接口。
參數(shù)中可包含全部或部分地在網(wǎng)絡(luò)中的多余容量的可利用性的基礎(chǔ)上作出的待執(zhí)行的作業(yè)的優(yōu)先級的估計(jì)。特別地,如果沒有多余容量而使業(yè)務(wù)中斷,則分配給作業(yè)最高優(yōu)先級。
下面參照附圖只以示例的方式描述本發(fā)明的實(shí)施例,附圖中
圖1示出包含配置成按照本發(fā)明操作的計(jì)算機(jī)的一個(gè)系統(tǒng)的總布置;圖2為圖示構(gòu)成圖1的系統(tǒng)的計(jì)算機(jī)的一部分主程序的最小成本計(jì)算例程(“匈牙利算法”-Wright變式)的操作的流程圖;圖3為展示一起構(gòu)成計(jì)算機(jī)主程序的各種例程的概貌的總流程圖,單個(gè)例程極詳細(xì)地示出在圖2及4至12中;圖4為展示當(dāng)工人報(bào)告作業(yè)完成時(shí)所執(zhí)行的例程的流程圖;圖5示出更新系統(tǒng)中的工人參數(shù)的例程;圖6為展示作業(yè)分配例程本身的流程圖;圖7示出請求一個(gè)新作業(yè)時(shí)更新作業(yè)參數(shù)的例程;圖8示出作業(yè)參數(shù)更新的繼續(xù);圖9示出用于識別為一位特定個(gè)體工人所要求的作業(yè)的預(yù)分配例程;
圖10示出工作日開始時(shí)執(zhí)行的初始化例程的流程圖;圖11示出周期性更新過程的流程圖;及圖12示出構(gòu)成圖6的例程的選用部分的將第二作業(yè)分配給一位工人的子例程。
圖13示出一天結(jié)束過程的流程圖。
圖14示出‘作業(yè)中斷’過程的流程圖。
圖15a示出作業(yè)選擇過程的流程圖。圖15b示出作業(yè)成組過程的流程圖。
圖16與17為圖1中所示的情況中的成本分值矩陣的圖示。
圖18為圖1中所示的資源分配系統(tǒng)的功能方框圖。
圖19示出圖1的計(jì)算機(jī)的部件。
參見圖1,其中示出了一個(gè)資源分配系統(tǒng),包括用于分配資源給作業(yè)的一臺計(jì)算機(jī)X形式的裝置及三個(gè)手持式終端H1、H2、H3。各手持式終端可以是英國Coventry的Husky計(jì)算機(jī)有限公司生產(chǎn)的Husky型號FS/2。各手持式終端可用固定或移動電信網(wǎng)連接在計(jì)算機(jī)X上。圖1示出由這種網(wǎng)絡(luò)作出的終端H1與計(jì)算機(jī)X之間的鏈路C。
在本例中,資源采取分別提供有終端H1、H2、H3的三位技術(shù)人員T1、T2、T3的形式。這三位技術(shù)人員當(dāng)前正從事作業(yè)J1、J2、J3,并且還有另外四個(gè)作業(yè)J4、J5、J6、J7等待關(guān)注。在實(shí)際情況中將有更多的技術(shù)人員及作業(yè)。技術(shù)人員T1、T2、T3可將他們的終端H1、H2、H3用于報(bào)告作業(yè)完成及稍后要描述的某些特殊目的。他們還用終端接收來自計(jì)算機(jī)X的下一作業(yè)的指令。
在本例中,三位技術(shù)人員T1、T2、T3為在電信網(wǎng)上執(zhí)行作業(yè)的現(xiàn)場勞動力的一部分。
計(jì)算機(jī)X的部件示出在圖19中。它們包括一個(gè)鍵盤191、一個(gè)中央處理單元(CPU)192、一個(gè)視覺顯示單元(VDU)193、一個(gè)存儲器194及一個(gè)輸入/輸出端口195。用于控制計(jì)算機(jī)X的數(shù)據(jù)與程序存儲在存儲器194中。輸入/輸出端口195將計(jì)算機(jī)連接在提供計(jì)算機(jī)X與手持式終端H1、H2、H3之間的通信鏈路的電信系統(tǒng)上。計(jì)算機(jī)X也能觀察來自與電信網(wǎng)關(guān)聯(lián)的故障監(jiān)視系統(tǒng)的報(bào)警。
計(jì)算機(jī)X設(shè)置有將技術(shù)人員分配給作業(yè)的主程序。主程序分成一組例程。下面詳細(xì)討論用于分配技術(shù)人員給作業(yè)的程序與單個(gè)例程的總體結(jié)構(gòu)及程序所用的方法。
圖1中,技術(shù)人員T1已完成作業(yè)J1并在其終端H1與通信鏈路C的協(xié)助下為其下一作業(yè)的指令接觸計(jì)算機(jī)X。問題是確定應(yīng)指令技術(shù)人員T1下一個(gè)執(zhí)行的作業(yè)是J4、J5、J6、J7中哪一個(gè)。計(jì)算機(jī)X的主程序所用的方法考慮—該技術(shù)人員是否能執(zhí)行各單個(gè)作業(yè);—該技術(shù)人員行進(jìn)到各作業(yè)位置要花費(fèi)的時(shí)間;—該技術(shù)人員執(zhí)行各作業(yè)要花費(fèi)的時(shí)間;—各作業(yè)的相關(guān)重要性,例如由受影響的客戶數(shù)或協(xié)議的最大響應(yīng)時(shí)間確定;以及—其它技術(shù)人員T2、T3的可利用性這些技術(shù)人員的可利用性取決于何時(shí)他們成為可利用的,這依次又取決于當(dāng)前作業(yè)的長度、技術(shù)人員開始做它的時(shí)間及他的工作速率。
由于在許多情況中作業(yè)中包含一個(gè)報(bào)告的問題的調(diào)查與糾正,因而作業(yè)占用的時(shí)間存在一定的不確定性。直到調(diào)查完問題,糾正將占用的時(shí)間只能用相當(dāng)大的誤差范圍來估計(jì)。還有其它可變因素,諸如使精確的測定難于實(shí)現(xiàn)的各作業(yè)的當(dāng)?shù)丨h(huán)境等。計(jì)算機(jī)X的主程序所用的方法為當(dāng)前從事作業(yè)的所有技術(shù)人員計(jì)算作業(yè)完成的一個(gè)估計(jì)的時(shí)間,并在一位技術(shù)人員較早地報(bào)告作業(yè)完成或未曾在估計(jì)的時(shí)間上報(bào)告時(shí)更新這一時(shí)間。
本方法首先為各作業(yè)計(jì)算一個(gè)與時(shí)間相關(guān)的“成本函數(shù)”。這考慮進(jìn)去不能滿足協(xié)議時(shí)間的懲罰。如果對不能滿足時(shí)間的賠償是可支付給客戶的,懲罰可以是實(shí)際的貨幣成本,或者是諸如公司的聲譽(yù)損失等‘虛’成本。懲罰是與時(shí)間相關(guān)的資產(chǎn)。在最簡單的情況中,如果滿足了協(xié)議的時(shí)間該函數(shù)為零,否則為一固定值。在較復(fù)雜的情況中,例如當(dāng)賠償是按照延遲程度支付時(shí),它可以是某種更復(fù)雜的與時(shí)間相關(guān)的函數(shù)。
對于技術(shù)人員對作業(yè)的各種可能分配,估計(jì)將一個(gè)給定的作業(yè)分配給一個(gè)給定的技術(shù)人員的成本“技術(shù)人員/作業(yè)成本”。其中考慮進(jìn)去作業(yè)失敗的成本(對于任何人做它都一樣)及作業(yè)失敗的概率(隨技術(shù)人員變化而變化)。這一概率主要取決于技術(shù)人員當(dāng)前作業(yè)的預(yù)計(jì)結(jié)束時(shí)間、到達(dá)新的作業(yè)必須的旅行時(shí)間量、必須完成新作業(yè)的時(shí)間、新作業(yè)的估計(jì)持續(xù)時(shí)間以及這些因素的可變性。通過確定將可以利用技術(shù)人員的預(yù)計(jì)時(shí)間及確定在該時(shí)間上該作業(yè)的成本函數(shù)的值,計(jì)算出預(yù)計(jì)成本。
其它因素,諸如技術(shù)人員執(zhí)行這一作業(yè)的能力(計(jì)及技能、設(shè)備及各個(gè)人能利用的安全余地)及包含在參加執(zhí)行該作業(yè)的該技術(shù)人員中的非生產(chǎn)性時(shí)間量(諸如花在旅行上的時(shí)間、或者如果作出過“不能提前”約定時(shí)間時(shí)等待進(jìn)入場地的時(shí)間)也能考慮進(jìn)去。應(yīng)認(rèn)識到這些成本是估計(jì)值并包含概率加權(quán)換言之,它們是保險(xiǎn)成本。在許多情況中,分配作業(yè)的成本實(shí)際上只能是兩個(gè)值之一,零或者失敗成本。保險(xiǎn)的或加權(quán)的成本在這兩個(gè)值之間,其精確值取決于失敗的概率。
需要將這些不同的因素歸約到一個(gè)公共的測量單位。例如,所有因素都可用旅行時(shí)間的等值單位測量。容許一個(gè)作業(yè)不滿足其目標(biāo)時(shí)間的成本可計(jì)算成等值于派送一位技術(shù)人員來防止該失敗發(fā)生準(zhǔn)備使用的旅行時(shí)間量。
本方法然后確定總“技術(shù)人員/作業(yè)成本”值為最小的技術(shù)人員與作業(yè)的組合。
下面更詳細(xì)地描述該計(jì)算。從圖16中顯而易見技術(shù)人員與作業(yè)的各種組合將具有不同的總成本,并選擇最低成本的組合作為分配計(jì)劃。也必須考慮不分配各作業(yè)的成本,這可以通過包含一個(gè)或多個(gè)不存在的或“虛”技術(shù)人員來做到。其它事物是一樣的,最低優(yōu)先級作業(yè)可分配給假人。例如,可對技術(shù)人員T1分配作業(yè)J5,技術(shù)人員T2作業(yè)J7及技術(shù)人員T3作業(yè)J6,在這一階段不分配作業(yè)J4。然后用通信鏈路C指令技術(shù)人員T1去執(zhí)行作業(yè)J5。然而在這一階段不給技術(shù)人員T2與T3任何指令,因?yàn)樗麄兩形赐瓿伤麄兊漠?dāng)前作業(yè)。將作業(yè)J6與J7分配給技術(shù)人員T2與T3是臨時(shí)的,并且例如如果請求了具有高于作業(yè)J6或J7之一的優(yōu)先級的另一作業(yè)(未示出),或者如果一位技術(shù)人員(例如T3)出乎意料地早地報(bào)告作業(yè)完成/或不能在預(yù)測的時(shí)間上完成作業(yè)時(shí),可以改變。在后一情況中,可重新分配(也是臨時(shí)的)作業(yè)J4、J6與J7來保證仍按時(shí)完成最高優(yōu)先級的作業(yè)。圖17中示出這一修正過的矩陣??梢钥闯霈F(xiàn)在分配不同了。同時(shí),作業(yè)J5已被新作業(yè)J8所取代,因?yàn)楝F(xiàn)在正在進(jìn)行J5。
下面要描述的方法中執(zhí)行的過程中包含大量步驟。為了幫助理解圖2及4至15的流程圖的關(guān)系,圖3示出了整個(gè)過程的這些部分的相互關(guān)系。下面參照圖2的流程圖簡要地描述基本分配算法。HWKuhn在海軍研究后勤季刊卷2,83至97頁中(1955“分配問題的匈牙利方法”)及MB Wright在“加快匈牙利算法”計(jì)算機(jī)操作研究,卷17,95-96頁(1990)中更詳細(xì)地描述了這一過程。
一開始制備一個(gè)給出各種成本分值的方陣(在下面的例中為一4×4矩陣)供在矩陣中分配各資源給各作業(yè)。可給予各行與各列一種稱作“標(biāo)簽”的屬性,這一標(biāo)簽標(biāo)識一行或列已為了在優(yōu)化分配中選擇一個(gè)元素而被檢驗(yàn)過,及是否已作出這一選擇。然后執(zhí)行下述步驟步驟2.1從各行減去行最小值,從各列減去列最小值。這將在各行與列中留下一個(gè)零。如果一些行或列全是無窮大則矩陣是不能實(shí)行的。
步驟2.2選擇盡可能多的獨(dú)立零,即并不與另一個(gè)選擇的零同在一行或一列的零。如果兩個(gè)零同在一行或列,只選擇它們之一。這便可能(雖然可能性不大),現(xiàn)在我們已有了一種完整的分配(見下面步驟2.11)。
步驟2.3如果分配不完整,取出一個(gè)未分配的行并加上標(biāo)簽。如果沒有這樣的行,前進(jìn)到步驟2.7。
步驟2.4找出一個(gè)已加標(biāo)簽但尚未檢驗(yàn)過的行。將其標(biāo)記為檢驗(yàn)過并掃描它尋找零。
步驟2.5如果在一個(gè)未分配的列中找到一個(gè)零,便進(jìn)行到步驟2.10。
如果在已分配的一列中找到一個(gè)零,用該零的行號標(biāo)記該列,并標(biāo)記出現(xiàn)以前的分配的行。這一標(biāo)簽延伸了我們在擴(kuò)展分配集合(步驟2.10)中最終將向后跟蹤的鏈。如果找不到零,進(jìn)行到步驟2.7。
步驟2.6當(dāng)我們完成了行掃描時(shí),進(jìn)行到步驟2.4。
步驟2.7檢驗(yàn)所有加標(biāo)簽的行并找出不在一個(gè)加標(biāo)簽的列中的最小元素。該值一定非零,因?yàn)槿绻鼮榱?,則它所在的列已在步驟2.5中加上標(biāo)簽。如果不存在加標(biāo)簽的行或者我們找到的最小值為無窮大,則矩陣是不能實(shí)行的。
步驟2.8從各加標(biāo)簽的行中減去這一最小值并將它加在各加標(biāo)簽的列上。這將在包含該最小值的各列中引入一個(gè)新的零,但不會擾亂我們在擴(kuò)大分配集合時(shí)可能需要的任何零。
步驟2.9檢驗(yàn)各未加標(biāo)簽的列尋找加標(biāo)簽的行中的零。由于減/加的最小值只從加標(biāo)簽的行中導(dǎo)出,因此必定有一個(gè)零;由于它們不能構(gòu)成擴(kuò)大的路徑的一部分,所以對未加標(biāo)簽的行中的零不感興趣。如果該列沒有分配,我們能利用這一零作為一條分配鏈的一端,因此進(jìn)行到步驟2.10。否則象在步驟2.5中那樣在列與行上加標(biāo)簽,并進(jìn)行到步驟2.4。
步驟2.10通過分配這一元素并跟隨列標(biāo)簽與行分配回溯直到到達(dá)加標(biāo)簽的第一行而擴(kuò)大分配表。由于跡線是向后跟蹤的,分配用列標(biāo)簽標(biāo)識的各元素而不分配同一行中任何前面分配的元素。最后的結(jié)果是增加一個(gè)分配。
步驟2.11如果答案尚不完整,則去掉所有行與列標(biāo)簽并返回到步驟2.3。
運(yùn)行實(shí)例1、無迭代下列矩陣在步驟2.2的第一次迭代上便產(chǎn)生一個(gè)完整的解。完全沒有進(jìn)入迭代循環(huán)的主體。解用“*”號標(biāo)記。
2、一次迭代這一矩陣在步驟2.2中分配四行中的三行。部分解用“*”號示出。
我們現(xiàn)在用一個(gè)大數(shù)(本例中為99)在第一未分配行(即行2)上加標(biāo)簽,并進(jìn)入主循環(huán)。在掃描各加標(biāo)簽的行時(shí),將其標(biāo)簽變成負(fù)數(shù)來表示已掃描過該行。加標(biāo)簽過程也在行1與列2上加標(biāo)簽。
在檢驗(yàn)元素(2,1)時(shí),我們?yōu)榱?設(shè)定col-min。在檢驗(yàn)元素(2,2)(一個(gè)零)時(shí),我們在列2上加標(biāo)簽,并且由于元素(1,2)是初始選擇的,而我們在行1上加標(biāo)簽。檢驗(yàn)元素(2,3)與(2,4)引導(dǎo)到設(shè)定‘row-pos(3)’、‘row-pos(4)’、‘col-min(3)及‘col-min(4)’。
現(xiàn)在掃描行1,因?yàn)榍懊娴牡褜?dǎo)致它被加上標(biāo)簽。
掃描行1我們更新列1的列最小值與行位置。列2已加過標(biāo)簽因此不加處理。列3為一個(gè)零,該列既不加標(biāo)簽也不選擇。這是一個(gè)多余的零(即不是當(dāng)前分配的),因此我們通過進(jìn)行到步驟2.10便能更新該鏈。
現(xiàn)在我們有了一個(gè)完整的解。
3、兩次迭代,多種解。
這一矩陣有三種最小解。它還采用主循環(huán)的兩次迭代。步驟2.2之后,它便變成如下形式。
*解如上所述,我們現(xiàn)在通過記錄信息的主循環(huán)。我們從在行2上加標(biāo)簽開始,行2為第一未分配的行。掃描結(jié)果也導(dǎo)致給行1加標(biāo)簽。不掃描行1與4。
由于我們未曾發(fā)現(xiàn)多余的零,我們在步驟2.7上從循環(huán)出口。加標(biāo)簽的行與未加標(biāo)簽的列的最小元素為元素(1,3)與(2,1),它們具有值1。從加標(biāo)簽的行1與2減去這一值,并加在加標(biāo)簽的列2上得出
我們在(1,3)與(2,1)上有新的零,而丟失了(3,2)與(4,2)上的零。步驟2.9將‘col-min(1)’與‘col-min(3)’更新成0,在列1與3及行4上加標(biāo)簽并返回3,多余列中的一個(gè)零。步驟2.10將分配更新成
現(xiàn)在我們返回到循環(huán)的頂部,復(fù)位范圍數(shù)據(jù)與標(biāo)簽,標(biāo)記行3作為第一未分配行并更新范圍數(shù)據(jù)。此時(shí)我們不標(biāo)記任何事物并且不終止在一個(gè)多余的零上,行3中沒有,因此我們必須調(diào)用步驟2.8,在(3,4)上引入一個(gè)新的零。
由于我們在元素(3,4)中有了一個(gè)額外的零,步驟2.9返回列4。步驟2.1 0分配(3,4)而完成分配。
本發(fā)明的較佳實(shí)施例的一個(gè)特征為利用‘虛’技術(shù)人員。因?yàn)椤傺览惴ㄒ蟊仨毨脭?shù)目相同的技術(shù)人員與作業(yè)的方陣。然而如果只估計(jì)正確數(shù)目的作業(yè)來匹配實(shí)際的技術(shù)人員,則出現(xiàn)不了最佳解。假定有N位技術(shù)人員,則將分配N個(gè)最高優(yōu)先級的作業(yè)。然而,可能存在一個(gè)作業(yè)(j(N+X))其優(yōu)先級剛落在最高的‘N’個(gè)外面,把它包含進(jìn)來而代替在最高的‘N’個(gè)范圍內(nèi)但接近底部的一個(gè)作業(yè)(例如j(N-Z))會提供較低的成本解。
為了克服這一問題,將比技術(shù)人員的數(shù)目多的作業(yè)放在矩陣中。為了使矩陣再度成為方的而包含進(jìn)‘虛’技術(shù)人員。在一個(gè)實(shí)際實(shí)施例中,作業(yè)可能是技術(shù)人員的若干倍,以保證總能找到最低成本解。
賦予分配給虛技術(shù)人員的作業(yè)的成本值是根據(jù)作業(yè)的優(yōu)先級選擇的。例如,必須在短時(shí)間內(nèi)分配的作業(yè)對于一個(gè)虛技術(shù)人員分配一個(gè)非常高的成本分值,使得任何有能力做這一作業(yè)的可利用的實(shí)際技術(shù)人員將具有較低的成本分值而分配到這一作業(yè)。類似地,分配給非常低的優(yōu)先級的作業(yè)一個(gè)零成本分值,這表示只有在沒有其它作業(yè)能分配給一位技術(shù)人員時(shí)才將他分配給該作業(yè)。中間值分配給落在這兩個(gè)極端之間的情況。主要是,將一個(gè)虛技術(shù)人員分配給一個(gè)作業(yè)的成本分值為延遲該作業(yè)的成本,包含沒有實(shí)際技術(shù)人員將成為可利用來按時(shí)做它所計(jì)算的風(fēng)險(xiǎn)。
所謂非常高的成本分值應(yīng)當(dāng)小于作業(yè)對技術(shù)人員的不相容分配中所使用的基本上無窮大值,因?yàn)橐粋€(gè)無窮大值會導(dǎo)致矩陣不可解的情況(因?yàn)橐矝]有實(shí)際技術(shù)人員能夠做它)。在這一情況中,該作業(yè)將作為失敗的并從系統(tǒng)中去掉,這可防止將這一作業(yè)給予提前完成其前一作業(yè)的一位適當(dāng)?shù)膶?shí)際技術(shù)人員。
在某些情況中,尤其是在一天快結(jié)束時(shí),可能沒有足夠的作業(yè)來填充矩陣。在這些情況中能夠調(diào)整算法使之以不同大小的矩陣工作,但插入虛作業(yè)而使數(shù)目再次上升更為簡單。分配一個(gè)虛作業(yè)給一位技術(shù)人員的成本值是到什么時(shí)候認(rèn)為派送該技術(shù)人員去做一個(gè)實(shí)際作業(yè)是成本上高效的所包含的空閑時(shí)間(即以旅行時(shí)間為單位)的值。分配一個(gè)虛作業(yè)給一個(gè)虛技術(shù)人員的成本值為零。
下面要描述的方法的其余部分確定用在方法中的初始值及用于指令技術(shù)人員關(guān)于他們所分配的作業(yè)的步驟。
圖3示出構(gòu)成計(jì)算機(jī)X的主程序的各種例程的概要。用于單個(gè)例程的參照數(shù)字時(shí)對應(yīng)于更詳細(xì)地展示單個(gè)例程的單個(gè)圖號。
當(dāng)一位技術(shù)人員報(bào)到時(shí),例程4執(zhí)行若干初步檢驗(yàn)來識別某些特殊情況。如果這些檢驗(yàn)未識別這種特殊情況,程序以例程5繼續(xù)來更新數(shù)據(jù)庫中該技術(shù)人員的詳情,及檢驗(yàn)在這些條件仍然有效的情況下程序的最近一次運(yùn)行中該技術(shù)人員是否已經(jīng)分配了一個(gè)作業(yè)。
如果較早的運(yùn)行中所使用的假設(shè)不再有效,例如如果該技術(shù)人員意想不到地早地報(bào)到,或在較早的運(yùn)行中未分配作業(yè)給該技術(shù)人員,則補(bǔ)正成本矩陣中對應(yīng)于該技術(shù)人員的行,(例程5),然后進(jìn)行分配作業(yè)給技術(shù)人員,(例程6),以通知技術(shù)人員他的下一作業(yè)及再一次更新其詳情結(jié)束。
如果一位技術(shù)人員以完成其當(dāng)前作業(yè)的修正估計(jì)報(bào)到,便進(jìn)行例程11來更新該技術(shù)人員的詳情,供在分配例程6的下一次更新運(yùn)行中使用。
當(dāng)請求一個(gè)新的作業(yè)時(shí),類似的過程是必需的。在例程7中整理作業(yè)的參數(shù)。如果該作業(yè)是要分配給一個(gè)特定的技術(shù)人員的,則由一個(gè)專用例程(下面要討論)來處理該技術(shù)人員與作業(yè),否則更新作業(yè)參數(shù)(例程8)并執(zhí)行分配例程6。
在周期性的時(shí)間間隔上,也進(jìn)行技術(shù)人員與作業(yè)分配過程的更新。用于確定成本矩陣的初始值的,有兩個(gè)分別用在每天的第一次運(yùn)行及用于以后的運(yùn)行中的稍為不同的初始例程10、11。在兩種情況中,隨后都運(yùn)行分配例程6。
可采用一個(gè)附加例程12作為分配例程6的一部分來臨時(shí)分配給各技術(shù)人員第二作業(yè)。這是一種在技術(shù)人員由于通信困難而不能報(bào)告第一作業(yè)的完成時(shí)的安全措施。
以下的圖4至15b更詳細(xì)地示出參照圖3的上述例程。這些例程是互相鏈接的,而這些圖中的數(shù)字4至15b標(biāo)識展示程序的繼續(xù)的圖。
在圖4中,示出了例程4的流程圖。這一例程包括每當(dāng)一位技術(shù)人員諸如在值班開始時(shí)進(jìn)入聯(lián)機(jī)報(bào)告或報(bào)告作業(yè)的進(jìn)度或完成時(shí)進(jìn)行的初始步驟。
在步驟40中進(jìn)行初始接觸,對此作出響應(yīng),可采用三條路徑之一。如果技術(shù)人員是在值班開始時(shí)報(bào)告,則作為下面要參照圖10描述的一天開始過程的一部分已將一個(gè)作業(yè)分配給他了。這一作業(yè)是在步驟42中分配給技術(shù)人員的然后跳轉(zhuǎn)到步驟65,在其中指令該技術(shù)人員,并在步驟66中更新系統(tǒng)中技術(shù)人員的詳情。
如果一個(gè)作業(yè)不能利用該技術(shù)人員,而是在報(bào)告其當(dāng)前作業(yè)的進(jìn)度(諸如需要為一個(gè)備件訪問存貯點(diǎn)),使用這一信息來更新該技術(shù)人員的估計(jì)完成時(shí)間(步驟41),這一時(shí)間是用在更新例程11的下一次運(yùn)行中的。
如果技術(shù)人員是在報(bào)告當(dāng)前分配的作業(yè)的完成,則進(jìn)行步驟44來判定該技術(shù)人員是否能立即利用在另一作業(yè)上。存在著四種可能結(jié)果。
—如果日時(shí)間在該技術(shù)人員的下班時(shí)間的一個(gè)預(yù)定的閾值極限以內(nèi),則不分配其它作業(yè)(步驟49)。
—如果該技術(shù)人員需要從一個(gè)存貯點(diǎn)收集設(shè)備,便進(jìn)行步驟45,判定該技術(shù)人員是否已在存貯點(diǎn)或只是想到那里去。如果是后者,便將該技術(shù)人員的估計(jì)作業(yè)完成時(shí)間重新設(shè)定為當(dāng)前時(shí)間加以從他的當(dāng)前位置到存貯點(diǎn)的旅行的計(jì)算時(shí)間再加上允許他在存貯點(diǎn)上的時(shí)間(步驟46)。這實(shí)際上生成一個(gè)該技術(shù)人員可以被利用來旅行到一個(gè)新的作業(yè)的新的“完成時(shí)間”。如果該技術(shù)人員已經(jīng)在存貯點(diǎn)上便將作業(yè)完成時(shí)間設(shè)定為現(xiàn)在(步驟47)。在這兩種情況中都將技術(shù)人員的位置更新到存貯點(diǎn)的位置上。然后程序在例程5中繼續(xù)更新技術(shù)人員的參數(shù)。
—如果技術(shù)人員在下一作業(yè)開始前想要就餐休息,則將作業(yè)完成時(shí)間設(shè)定為當(dāng)前時(shí)間加上允許技術(shù)人員就餐休息的持續(xù)時(shí)間(步驟48)。如果不出現(xiàn)這些特殊情況,該技術(shù)人員便簡單地等待其下一作業(yè)并且過程直接進(jìn)入圖5。在所有上述情況中,程序都進(jìn)行到例程5中去更新技術(shù)人員的參數(shù)。
圖5示出當(dāng)技術(shù)人員報(bào)告一個(gè)作業(yè)完成時(shí)更新系統(tǒng)上的技術(shù)人員的參數(shù)的例程5的流程圖。
如果在使用下面要描述的預(yù)分配過程9,第一步驟為檢驗(yàn)(步驟51)該技術(shù)人員是否已分配了一個(gè)作業(yè)。如果是,使跳轉(zhuǎn)到步驟43并送出這一作業(yè)作為對技術(shù)人員的指令。否則,如果該技術(shù)人員正在或者想要訪問一個(gè)存貯點(diǎn)(上述步驟45),則必須確定從存貯點(diǎn)到各作業(yè)的旅行時(shí)間(步驟52),由于旅行時(shí)間的任何計(jì)算都必須從存貯點(diǎn)進(jìn)行(如步驟46中導(dǎo)出的)而不是從前一作業(yè)位置。然后為該技術(shù)人員能夠做的各作業(yè)計(jì)算作業(yè)失敗的成本(步驟53)。對于系統(tǒng)中的任何虛作業(yè)將這一成本設(shè)置成無窮大以避免一位聯(lián)機(jī)技術(shù)人員得到一個(gè)虛作業(yè)(步驟54)。
圖6中示出作為所有例程5、8、10及11的公共繼續(xù)的作業(yè)分配例程6。
如果工作趨向于群集在已知地點(diǎn)上,則首先執(zhí)行一個(gè)“播種”過程(圖15a)是理想的。如果在同一地點(diǎn)有若干作業(yè),如果將每一個(gè)作業(yè)分配給一個(gè)不同的技術(shù)人員的話,那么如果一位技術(shù)人員能執(zhí)行它們中的若干個(gè)時(shí)便會導(dǎo)致不必要的旅行。再者,如果能將同一地點(diǎn)的兩個(gè)或更多作業(yè)分配給一位技術(shù)人員,他也許能比串行更高效地在兩個(gè)作業(yè)上并行工作。從而希望在可能時(shí)將作業(yè)組合成群。然而將所有這些群重新定義為單個(gè)的“超級作業(yè)”是不現(xiàn)實(shí)的,由于執(zhí)行所有的作業(yè)所需的不同技能或者完成它們所需的時(shí)間可能對于能夠執(zhí)行它們的技術(shù)人員的數(shù)目太受限制了。
這一問題能通過執(zhí)行圖15a與15b中所示的過程而得到緩解。在這一過程中,在當(dāng)前矩陣中包含若干高優(yōu)先級作業(yè),將它們當(dāng)作“種子”。將它們與其它作業(yè)關(guān)聯(lián),這些其他作業(yè)可具有相同或不同的優(yōu)先級,并且也能出現(xiàn)在矩陣中。當(dāng)將一個(gè)作業(yè)分配給一位技術(shù)人員時(shí),只將那些與他相容的關(guān)聯(lián)作業(yè)一起分配給他。如果它們當(dāng)前在矩陣中,則同時(shí)將它們?nèi)サ簟R赃@一方法,便能以靈活的方式達(dá)到將作業(yè)組合成群。
圖15a中示出選擇“種子”作業(yè)的過程。這是分配例程6中的一個(gè)初始步驟。圖15b中示出指令一位技術(shù)人員去執(zhí)行一群作業(yè)的過程,這構(gòu)成分配例程6的后面部分。
圖15a中,在矩陣中填充“種子作業(yè)”。它們是在將來的預(yù)定時(shí)間內(nèi)具有仍然能達(dá)到的約定時(shí)間的作業(yè)。它們是在若干階段中選擇的,以便給一位技術(shù)人員能夠留在原地不動的每一種機(jī)會,同時(shí)給予種子作業(yè)良好的地理與技能類型分布以支持多技能及減少旅行。在這一方法中應(yīng)避免少數(shù)地點(diǎn)上的許多重要作業(yè)支配矩陣的情況-潛在地強(qiáng)迫過多的旅行。
以下述次序選擇它們進(jìn)入成本分值矩陣a)在各技術(shù)人員的當(dāng)前位置上與其技能相容的最高優(yōu)先級作業(yè)(允許分配給他們一個(gè)使他們能留在原地的種子作業(yè))(步驟151)。
b)無人地點(diǎn)上的高優(yōu)先級作業(yè)(步驟152)。
c)任何地點(diǎn)上帶有尚未被種子作業(yè)覆蓋的技能類型的其余高優(yōu)先級作業(yè)(步驟153)。
d)任何地點(diǎn)上帶有尚未被種子作業(yè)覆蓋的技能類型的重要的非緊急作業(yè)(步驟154)。
e)任何地點(diǎn)上帶有尚未被種子作業(yè)覆蓋的技能類型的低重要性工作(需要一天結(jié)束或低工作條件的)。(步驟155)在識別出足夠的種子作業(yè)來填充矩陣時(shí),這一種子作業(yè)標(biāo)識過程便立即停止。跳過所有剩余的階段。
種子作業(yè)以實(shí)時(shí)優(yōu)先級次序出現(xiàn)在矩陣中。
通過選擇這一次序來為成本分值矩陣選擇作業(yè),便保證了a)如果在一位技術(shù)人員的現(xiàn)在位置上有另一作業(yè)要完成,便考慮它(即使它是低優(yōu)先級的)b)考慮帶高優(yōu)先級作業(yè)的所有地點(diǎn)c)全部覆蓋同一地點(diǎn)上但需要不同技能的高優(yōu)先級作業(yè)。
比較技術(shù)人員(包含虛的)與作業(yè)的數(shù)目,如果沒有足夠的作業(yè),便用“虛”作業(yè)補(bǔ)足(步驟156)。賦予將虛作業(yè)分配給技術(shù)人員以一個(gè)高的但不是無窮大的成本以鼓勵(lì)盡可能分配實(shí)際作業(yè)。然而,為了避免真正指令一位技術(shù)人員去執(zhí)行一個(gè)虛作業(yè),對于系統(tǒng)中的任何虛作業(yè),將一個(gè)無窮大成本分值分配給當(dāng)前正在等待作業(yè)的技術(shù)人員(步驟54)。這保證了最低成本組合不會是將一個(gè)虛作業(yè)分配給該技術(shù)人員的組合。
接著,在步驟61中為各作業(yè)與技術(shù)人員組合計(jì)算技術(shù)人員的“最早回家時(shí)間”,然后進(jìn)行計(jì)算這是否在該技術(shù)人員的值班結(jié)束的閾值極限之內(nèi)。如果是,且作業(yè)為一類別“B”作業(yè)(即如下面步驟82中所確定的可以明天完成的)則進(jìn)行附加的“一天結(jié)束”準(zhǔn)備工作62以保證該技術(shù)人員分配了該作業(yè)的無窮大成本。下一階段是參照圖2更詳細(xì)地描述的確定具有最低成本分值的技術(shù)人員與作業(yè)的組合的優(yōu)化例程2。同時(shí)可以進(jìn)行將第二作業(yè)預(yù)分配給技術(shù)人員的例程12(見圖12)。如果一位技術(shù)人員是聯(lián)機(jī)的,便指令他去進(jìn)行優(yōu)化分配例程(步驟65)中分配給他的作業(yè)。輔助上面參照圖15a描述的“播種”的一個(gè)“捆扎”過程可構(gòu)成這一過程的一部分。
首先,用算法2選擇的作業(yè)進(jìn)入一“捆”中(步驟157)。第二,選擇并優(yōu)先化與所選擇的作業(yè)位于同一地點(diǎn)且具有與該技術(shù)人員相容的技能要求的所有作業(yè)(存貯池中的或矩陣中的)(步驟158)。
將捆中的作業(yè)的總計(jì)持續(xù)時(shí)間(即在第一次迭代時(shí),只是種子作業(yè))與一個(gè)最大捆持續(xù)時(shí)間(為避免一位技術(shù)人員失去聯(lián)系時(shí)間太長同時(shí)考慮這一負(fù)責(zé)鐘點(diǎn)的結(jié)束而選擇的)進(jìn)行比較(步驟159)。如果超過了這一最大值,便從捆中再一次去掉最后進(jìn)入的作業(yè)(步驟160)(除非只存在種子作業(yè))。按照步驟158中所確定的優(yōu)先級次序?yàn)楦髯鳂I(yè)重復(fù)這一過程(步驟161)直到?jīng)]有作業(yè)剩下(步驟162)或者(步驟163)超過了為避免過多的不成功迭代而選擇的一個(gè)參數(shù)(例如,在步驟160中拒絕了預(yù)定數(shù)目的作業(yè)或者在被拒絕的第一個(gè)(種子)作業(yè)與第二個(gè)要考慮的作業(yè)的優(yōu)先級之間的大的差異)。為止。
然后發(fā)送這捆作業(yè)作為對該技術(shù)人員的指令(步驟65)。將分配給技術(shù)人員的一個(gè)或多個(gè)作業(yè)從等待分配的作業(yè)表中去掉(步驟66),并更新技術(shù)人員的本身詳情(位置、估計(jì)作業(yè)完成時(shí)間)(步驟67)。
圖7為在系統(tǒng)上增加新的作業(yè)請求時(shí)進(jìn)行的例程7的流程圖。手動地或響應(yīng)故障監(jiān)視系統(tǒng)所生成的報(bào)警將作業(yè)輸入到系統(tǒng)(步驟70),根據(jù)手動輸入的或按照關(guān)于要修理的設(shè)備的重要性等的存儲的數(shù)據(jù)所確定的標(biāo)準(zhǔn)確定其類型與目標(biāo)時(shí)間(步驟71)、其可變性(步驟72)及其重要性(步驟73)。某些難于分配的作業(yè)可給予提高的加權(quán)值以保證比不這樣做時(shí)更早地考慮它們。這些考慮中將包含非常長的作業(yè)必須在一天中較早分配以保證有足夠時(shí)間來完成,或者必須在一定時(shí)間以前執(zhí)行的作業(yè)(諸如為了安全起見必須在白天時(shí)間內(nèi)執(zhí)行的)。在這些值的基礎(chǔ)上確定作業(yè)的優(yōu)先級(步驟74),并將其與當(dāng)前正在分配的最低優(yōu)先級作業(yè)的優(yōu)先級進(jìn)行比較(步驟75)。如果它的優(yōu)先級比當(dāng)前分配的作業(yè)的優(yōu)先級低,更將它送入未分配的作業(yè)的存貯池中(步驟78),否則檢驗(yàn)它來判定它是否具有確定的約定時(shí)間(步驟76),及如果是,約定時(shí)間是否在閾值極限內(nèi)(步驟77)。如果不在閾值極限內(nèi),便將它送入存貯池中(步驟78)。如果它在閾值內(nèi),便檢驗(yàn)該作業(yè)是否要由一位特定的個(gè)人執(zhí)行;在這一情況中使用例程9。如果該作業(yè)能由所有技術(shù)人員或他們的一個(gè)子集執(zhí)行,便接著執(zhí)行例程8。
圖8示出當(dāng)一個(gè)新作業(yè)取代矩陣中的最低優(yōu)先級作業(yè)時(shí)負(fù)責(zé)更新分配的例程8的流程圖。第一步(步驟81)判定是否通過一天結(jié)束的觸發(fā)點(diǎn)。如果已經(jīng)通過,則將作業(yè)表征為類別A(必須今天完成的必要與可能時(shí)要加班加點(diǎn))或類別B(可以明天完成)(步驟82),隨即進(jìn)行下面描述(圖13)的一天結(jié)束例程13。如果技術(shù)人員不能在他的一天結(jié)束時(shí)完成時(shí),不將類別B作業(yè)分配給他。繼續(xù)分配類別A作業(yè),必要時(shí)加班,直到分配完為止。如果一天結(jié)束觸發(fā)點(diǎn)尚未通過,則該例程為新的作業(yè)(步驟84)計(jì)算與時(shí)間相關(guān)的成本函數(shù)(步驟84),然后過程繼續(xù)分配作業(yè)如圖6中所示。然而省略步驟65,由于沒有技術(shù)人員聯(lián)機(jī)等待作業(yè)。
圖9示出當(dāng)要將作業(yè)分配給一位指定的技術(shù)人員時(shí)將所使用的例程。有可能簡單地對除指定的一位以外的所有技術(shù)人員都賦予這種作業(yè)無窮大的成本分值。然而,在本變型中,這些作業(yè)與技術(shù)人員是分開對待的。這便允許在矩陣中包含進(jìn)去更多的非專用于某一技術(shù)人員的作業(yè)。第一步驟(步驟91)為判定該技術(shù)人員是否是當(dāng)前在分配矩陣中的一員。如果是,便從分配矩陣中去掉他并分配給他新的作業(yè)(步驟92)。如果他不在矩陣中,下面例程判定(步驟93)該技術(shù)人員是否已分配了這種作業(yè)。如果尚未,這意味著他當(dāng)前從事的作業(yè)預(yù)測要占用比矩陣覆蓋的當(dāng)前時(shí)間長的時(shí)間。將這一情況向系統(tǒng)控制器發(fā)出警報(bào)(步驟94)由于該作業(yè)需要危急管理。危急管理過程取決于作業(yè)的性質(zhì),但可包含將作業(yè)返回到存貯池中供分配給另一技術(shù)人員,作業(yè)注銷,報(bào)告作業(yè)失敗或指令技術(shù)人員掛起其當(dāng)前作業(yè)而去進(jìn)行預(yù)分配的作業(yè)。
如果到目前尚未進(jìn)行較早的預(yù)分配,便將專門要分配給他的作業(yè)中的最高優(yōu)先級作業(yè)分配給該技術(shù)人員(步驟95),而將所有其它這種作業(yè)返回到存貯池中(步驟96)。如果系統(tǒng)中存在一個(gè),便將次最高優(yōu)先級的專用作業(yè)作為他的第二作業(yè)分配(步驟97)給通過上述路徑之一(步驟92;或步驟93、95、96)將一個(gè)專用于他的作業(yè)分配給他的技術(shù)人員。然后跳轉(zhuǎn)到步驟66去更新該技術(shù)人員的詳情,如上面參照圖6描述的。
一天開始例程(例程10)示出在圖10中。這包括整理排定值班技術(shù)人員的信息及等待關(guān)注的作業(yè)的信息。它們可以是來自前一天未完成的作業(yè)或昨夜請求的新作業(yè)。
制備兩張表。在步驟101、102、106、107中制備一張可利用的技術(shù)人員表(圖10左側(cè)),而在步驟103、104、105、106、108中制備一張需要技術(shù)人員的作業(yè)表(圖10右側(cè))。
在步驟101中編制一張可利用的技術(shù)人員表,并在步驟102中用他們的一天開始時(shí)間進(jìn)行排序。
在步驟103中計(jì)算存貯池中各作業(yè)的優(yōu)先級值并按它們的優(yōu)先級值的次序排列作業(yè)(步驟104)。
在步驟105中評估帶約定時(shí)間的作業(yè)。如果約定時(shí)間晚于一個(gè)臨界值t2(“全局性一天開始時(shí)間”)便將其返回到存貯池中供以后分配。
如果高優(yōu)先級作業(yè)失敗,便在步驟115中識別這一事件而進(jìn)入圖14中所示的“中斷”例程。
然后在步驟106中評估技術(shù)人員專用的所有作業(yè)。對于具有技術(shù)人員專用作業(yè)的各技術(shù)人員,將這一作業(yè)分配給該技術(shù)人員并將他從步驟102中制備的表中去掉。如果一位技術(shù)人員具有一個(gè)以上這種作業(yè),便將帶有最高優(yōu)先級的兩個(gè)分配給他。第二個(gè)將是臨時(shí)的,如下面參照圖12更詳細(xì)地描述的。任何較低優(yōu)先級的其它這種作業(yè)返回給存貯池。
現(xiàn)在制備成本分值算法所需的矩陣。在步驟107中制備“n”個(gè)技術(shù)人員的一張有序表。這是來自步驟102中所制備的并在步驟106中所修正的表中的頂上“n”位技術(shù)人員。值“n”應(yīng)是接近某一時(shí)間上系統(tǒng)中可能有的技術(shù)人員的最大數(shù)目的值。由于需要虛技術(shù)人員來平衡作業(yè)的數(shù)目,除了在一天開始時(shí)之外,不太可能有過多的技術(shù)人員來配合矩陣。
類似地制備一張來自步驟104中所制備的表及由步驟105與106修正的頂上的“m”個(gè)最高優(yōu)先級作業(yè)的表(步驟108)。從這一點(diǎn)上,該例程與下面要描述的周期性更新例程11相同。
圖11中所示的周期性更新例程每幾分鐘進(jìn)行一次。這是為每當(dāng)作出作業(yè)請求時(shí)減少所需要的處理量而進(jìn)行的,因?yàn)楫?dāng)前保持的信息只是過期幾分鐘而在任何特定的運(yùn)行中只需要改變成本分值矩陣中的少量參數(shù)。這些修訂將受到在作業(yè)完成時(shí)間的估計(jì)中那些已經(jīng)超過了它們的最早估計(jì)完成時(shí)間的作業(yè)的支配。如上面所討論的,這些估計(jì)時(shí)間中包含由“預(yù)測時(shí)間帶”表示的可變性。如果“現(xiàn)在時(shí)間”通過了這一“預(yù)測時(shí)間帶”的起點(diǎn),在時(shí)間帶的較早增量時(shí)間段中完成的概率顯然降低到零,其結(jié)果為完成落在其余部分中任何給定的增量中的概率增加(由于它們較少而總概率永遠(yuǎn)為100%)。同時(shí)存在著作業(yè)落在整個(gè)預(yù)測時(shí)間帶外的遞增概率,它在“現(xiàn)在時(shí)間”到達(dá)“預(yù)測時(shí)間帶”的末尾時(shí)上升到100%。
更新例程11中的許多步驟與一天開始例程10中的相同。與參照圖10所描述的相同方式優(yōu)先化與排序作業(yè)(步驟103、104、105)。
由于更新可能出現(xiàn)在一天的任何時(shí)間上技術(shù)人員參數(shù)中必須考慮進(jìn)去兩個(gè)附加因子,因此這些步驟稍有不同。在步驟111中,估計(jì)各技術(shù)人員他是否已經(jīng)就餐休息過。如果已經(jīng)休息過,例程直接進(jìn)入下面描述的步驟114。如果否,例程便估計(jì)他的當(dāng)前作業(yè)的估計(jì)完成時(shí)間是否晚于就餐休息的最早時(shí)間。如果否,例程又直接進(jìn)入步驟114,但如果是,便相應(yīng)地更新最早與最晚作業(yè)完成時(shí)間以包含進(jìn)就餐休息(步驟113)。然后在步驟114中將所有技術(shù)人員用與上面步驟102相似的方式按他們的平均估計(jì)完成時(shí)間的次序排列。(注意從上次運(yùn)行以來步驟41(圖4)與113兩者可能已修正過他們的時(shí)間)。
然后與對上述一天開始例程10一樣進(jìn)行步驟103、104、105、106、107、108。
隨后執(zhí)行上面參照圖8描述的一天結(jié)束步驟81。如果通過了觸發(fā)點(diǎn)便進(jìn)入一天結(jié)束例程13。否則跳轉(zhuǎn)到步驟53,在其中用這兩張表來制備成本分值矩陣,如上面參照例程5描述的。過程然后跳到步驟53去更新成本值,由于沒有技術(shù)人員聯(lián)機(jī),因此并不象例程5(步驟54)中那樣分配無窮大成本值或虛作業(yè),而進(jìn)入主分配例程(圖6)。一天開始例程10遵照類似的過程但在進(jìn)入主分配例程(圖6)之前不通過“一天結(jié)束”測試81。
雖然為了保持最大的靈活性,最好只在完成了前一作業(yè)時(shí)才通知各技術(shù)人員需要他的下一作業(yè),但為了操作原因,希望技術(shù)人員能得到要進(jìn)行的第二作業(yè)的細(xì)節(jié)。這是一種臨時(shí)分配,由于到完成第一作業(yè)時(shí)情況可能變化;例如一個(gè)更緊急的作業(yè)可能需要分配給他??蓪⑦@一第二作業(yè)的細(xì)節(jié)通信給技術(shù)人員的終端H1,該終端只在試圖報(bào)告其第一作業(yè)的完成時(shí)不能與控制中心接觸時(shí)才顯示它們。
然而,如果技術(shù)人員在完成第一作業(yè)時(shí)不能報(bào)到,他便不能得知當(dāng)前的最佳作業(yè)。在這些情況中,他將進(jìn)人(可能不是最優(yōu)的)第二作業(yè),并在完成該作業(yè)時(shí)再試圖報(bào)告完成。
現(xiàn)參照圖12描述分配第二作業(yè)的例程12。它構(gòu)成圖6中所示的主分配例程6的一部分。
在步驟120中,檢驗(yàn)工作存貯池來識別專門分配給該技術(shù)人員的任何作業(yè)。如果有這種作業(yè),便按優(yōu)先級次序排列它們(步驟121)并選擇最高優(yōu)先級的這種作業(yè)。這是作為該技術(shù)人員的第二作業(yè)分配的(步驟122)并繼續(xù)進(jìn)行分配例程(圖6)。
如果在步驟120中未識別出這種預(yù)分配的作業(yè),則搜索優(yōu)先化的作業(yè)表(步驟123至1212)。
首先測試最高優(yōu)先級作業(yè)(步驟123)。進(jìn)行這些測試來檢驗(yàn)該作業(yè)是否具有約定時(shí)間(步驟124),它是否已作為第二作業(yè)分配過(步驟125),或者它是否需要該技術(shù)人員不具備的技能(步驟126)。如果符合這些條件中任何一項(xiàng),它不適合作為該技術(shù)人員的一個(gè)臨時(shí)第二作業(yè),然后過程檢驗(yàn)這是否是表中的最后作業(yè)(步驟1212),如果否,進(jìn)行到下一作業(yè)(步驟127)并再次啟動過程。
計(jì)算技術(shù)人員當(dāng)前作業(yè)與預(yù)期作業(yè)之間的旅行時(shí)間(步驟128)并與一個(gè)閾值比較(步驟129)。如果它小于閾值則作為第二作業(yè)分配該作業(yè)(步驟122)而分配例程6繼續(xù)進(jìn)行(圖6)。如果旅行時(shí)間大于這一閾值,則執(zhí)行進(jìn)一步測試(步驟210)來判定旅行時(shí)間是否小于任何以前測試過的作業(yè)的時(shí)間。
如果是,暫時(shí)存儲該作業(yè)(步驟1211)并且在兩種情況中過程都檢驗(yàn)這是否是最后的作業(yè)(步驟1212),如果否,選擇下一個(gè)作業(yè)(步驟127)。
如果子例程找不到滿足步驟124、125、126與129的測試的作業(yè),則在測試優(yōu)先級表中的最后一個(gè)作業(yè)的步驟1212的最后一次迭代上將是肯定的。然后子例程跟隨步驟1213,它測試作為步驟131的結(jié)果是否已存儲了任何作業(yè),如果是,便分配它作為該技術(shù)人員的第二作業(yè)(步驟1214)。如果步驟1211未存儲作業(yè),由于沒有作業(yè)符合步驟124、125與126的測試,則不分配第二作業(yè)(步驟1215)。在兩種情況中過程都隨即返回到主分配例程6(圖6)。
現(xiàn)在描述一天結(jié)束例程13(圖13)。
在接近一位技術(shù)人員的工作日(或部分工作日)的結(jié)束時(shí),一種特定分配的可行性不但取決于目標(biāo)承諾時(shí)間是否能達(dá)到還取決于技術(shù)人員在其工作日結(jié)束時(shí)(如果允許加班則為工作日結(jié)束加上加班時(shí)間)能否完成作業(yè)及返回到結(jié)束(一天結(jié)束)地點(diǎn)。類似地,成本中包含不只是到達(dá)作業(yè)的旅行時(shí)間還包含從本天最后的作業(yè)到結(jié)束(一天結(jié)束)地點(diǎn)的旅行時(shí)間,技術(shù)人員的最后作業(yè)結(jié)束與其工作日結(jié)束之間的任何松弛時(shí)間或“無所事事時(shí)間”,以及如果作業(yè)超過了技術(shù)人員的工作日的結(jié)束時(shí)產(chǎn)生的任何加班??梢酝ㄟ^引人表示下述各項(xiàng)的附加項(xiàng)而在接近技術(shù)人員工作日結(jié)束時(shí)分配的作業(yè)的成本分值計(jì)算中加入這些附加成本—從最后作業(yè)到技術(shù)人員的結(jié)束(一天結(jié)束)地點(diǎn)的旅行時(shí)間—完成作業(yè)與工作日時(shí)間結(jié)束之間的空閑時(shí)間,如果有的話—如果作業(yè)超過技術(shù)人員的工作日結(jié)束時(shí)產(chǎn)生的加班,如果有的話所需的計(jì)算如下對于每一次分配技術(shù)人員給作業(yè)(不論作業(yè)承諾類型或技術(shù)人員是聯(lián)機(jī)還是脫機(jī))計(jì)算估計(jì)的最晚回家時(shí)間,即技術(shù)人員完成所分配的作業(yè)后返回到其結(jié)束(一天結(jié)束)地點(diǎn)的估計(jì)最晚時(shí)間(步驟130)。
如果技術(shù)人員的估計(jì)最晚回家時(shí)間比其工作日結(jié)束時(shí)間早得多,不需要對前面計(jì)算的成本分值進(jìn)行調(diào)整(步驟131)。然而如果技術(shù)人員的估計(jì)最晚回家時(shí)間接近或晚于其工作日結(jié)束時(shí)間則需要附加的計(jì)算(步驟132)。
其中包含首先計(jì)算估計(jì)的最早回家時(shí)間,即技術(shù)人員能夠在完成分配的作業(yè)之后返回到其結(jié)束(一天結(jié)束)地點(diǎn)的最早時(shí)間。
然后計(jì)算技術(shù)人員在完成分配的作業(yè)之后不能在其工作日結(jié)束時(shí)(如果允許加班則為加班日結(jié)束時(shí))到達(dá)其結(jié)束(一天結(jié)束)地點(diǎn)的概率。
如果技術(shù)人員不能在其加班日結(jié)束時(shí)到達(dá)其結(jié)束(一天結(jié)束)地點(diǎn)的概率較高,這一分配很可能是不能行的。這時(shí)應(yīng)分配給對應(yīng)的成本分值一個(gè)無窮大值(步驟133)。
然而,如果概率是一個(gè)中等值,則需要進(jìn)一步的計(jì)算來確定要包含進(jìn)成本分值中的附加項(xiàng)的值從最后的作業(yè)到技術(shù)人員的工作日結(jié)束地點(diǎn)的旅行時(shí)間;(步驟134)。預(yù)期空閑時(shí)間(步驟135)。
如果技術(shù)人員有可能在其工作日結(jié)束時(shí)以前完成分配的作業(yè)并到達(dá)其結(jié)束(一天結(jié)束)地點(diǎn),他會遇到空閑時(shí)間或“無所事事”時(shí)間。這一時(shí)間段是非生產(chǎn)性的,并將與花在旅行上的時(shí)間同樣地不利。
預(yù)期的加班(步驟136)。
如果技術(shù)人員有可能在其工作日結(jié)束之后完成分配的作業(yè)并返回到其結(jié)束(一天結(jié)束)地點(diǎn),他將遇到加班。加班工資比正常工作鐘點(diǎn)高,從而遇到任何加班所受懲罰比旅行時(shí)間更高。在步驟137中利用這些因素(包含它們出現(xiàn)的概率)來修正成本分值矩陣中所采用的成本分值(圖6)。
現(xiàn)在描述圖14中所示的“中斷”例程14。這一例程識別能夠號喚來中斷他們的當(dāng)前任務(wù)以便救助較高優(yōu)先級任務(wù)不使其失敗的從事低優(yōu)先級工作的技術(shù)人員。如果技術(shù)人員的當(dāng)前作業(yè)(或捆)是長的并在分配給他當(dāng)前作業(yè)時(shí)該較高優(yōu)先級作業(yè)尚未進(jìn)入系統(tǒng),便會產(chǎn)生這種可能性。該例程需要可利用來尋呼技術(shù)人員的裝置而不是等待他們報(bào)到。
當(dāng)識別出一個(gè)高優(yōu)先級作業(yè)即將失敗(諸如取決于失敗的概率及失敗的成本的成本分值超過一個(gè)閾值)便首先檢驗(yàn)是否已預(yù)先將它分配給某一個(gè)人(步驟140)。如果是,跳轉(zhuǎn)到步驟143(下面要描述)。否則,在同地一點(diǎn)上搜索具有必要技能的任何技術(shù)人員(步驟141)。如果有一位,便跳轉(zhuǎn)到到143。如果有一位以上,則跳轉(zhuǎn)到步驟144(下面要描述)。如果沒有,搜索當(dāng)前不在從事相同或更高優(yōu)先級工作與具有所需技能且在短到足以及時(shí)趕到作業(yè)地點(diǎn)以防止失敗的旅行距離內(nèi)的技術(shù)人員(步驟142)。如果存在一位或多位這樣的技術(shù)人員,分別跳轉(zhuǎn)到步驟143或144。如果沒有這樣的技術(shù)人員可以利用,將作業(yè)識別成不可能。(然而將它保持在系統(tǒng)中,萬一一位技術(shù)人員意外地早地可以利用來進(jìn)行它)。
在步驟143中,尋呼該技術(shù)人員。然后指令他并更新作業(yè)與技術(shù)人員細(xì)節(jié)(圖6,步驟65、66、67、68)。被中斷的作業(yè)重新作為一個(gè)新的作業(yè)輸入并將其預(yù)分配給正在它上面工作的技術(shù)人員。
在步驟144中,通過排除帶有等于或高于危急中的作業(yè)的優(yōu)先級的作業(yè)的技術(shù)人員繼續(xù)進(jìn)行選擇。在其余人員中,根據(jù)諸如旅行距離、技能性能及時(shí)估計(jì)的完成當(dāng)前作業(yè)的時(shí)間等標(biāo)準(zhǔn)選擇一位技術(shù)人員(步驟145),而例程以步驟143繼續(xù)進(jìn)行。
圖18示出圖1中所示的資源分配系統(tǒng)的功能方框圖。數(shù)據(jù)流用箭頭表示。其中示出一個(gè)輸入/輸出設(shè)備180用于在通信鏈路上發(fā)送與接收去往與來自手機(jī)H1、H2等的數(shù)據(jù)。從技術(shù)人員接收的數(shù)據(jù)用來更新包含技術(shù)人員的參數(shù)的存儲器181。關(guān)于技術(shù)人員的數(shù)據(jù)也可用終端182輸入。作業(yè)參數(shù)是通過終端182輸入的,以及自動地從網(wǎng)絡(luò)N中生成的故障報(bào)警饋入。作業(yè)參數(shù)存儲在存儲器183中。
利用存儲在存儲器181與183中的參數(shù),計(jì)算裝置184確定一位技術(shù)人員將要完成其當(dāng)前作業(yè)的時(shí)間,并且也將其作為另一個(gè)參數(shù)存儲。類似地,計(jì)算裝置185利用存儲在存儲器183中的數(shù)據(jù)來為各作業(yè)確定一個(gè)成本函數(shù)。
然后優(yōu)先化裝置186從存儲器181中選擇具有最近的任務(wù)完成時(shí)間的技術(shù)人員,而優(yōu)先化裝置187則從存儲器183中選擇最接近它們目標(biāo)時(shí)間的作業(yè),并將作業(yè)與技術(shù)人員傳送給計(jì)算裝置188,后者計(jì)算將各作業(yè)分配給各技術(shù)人員的預(yù)計(jì)成本??梢栽O(shè)置預(yù)分配裝置189來識別要分配給特定技術(shù)人員的作業(yè)。將其輸出饋送給一個(gè)調(diào)整裝置1810供在作業(yè)與技術(shù)人員不相容時(shí)將作業(yè)分配給該技術(shù)人員的成本調(diào)整到無窮大。除預(yù)分配裝置189識別出的特定分配以外的因子也由調(diào)整裝置1810從存儲器181與183中讀了。將在調(diào)整裝置1810中導(dǎo)出的這些無窮大值饋送給計(jì)算裝置188。然后在分配裝置1811中評估計(jì)算裝置188與調(diào)整裝置1810中確定的成本來確定作業(yè)與技術(shù)人員的優(yōu)化組合。通過設(shè)備180將這一優(yōu)化組合通信給技術(shù)人員并且分配裝置1811還發(fā)送更新信息給存儲器181與183。
權(quán)利要求
1.一種分配多個(gè)資源給多個(gè)作業(yè)的方法,利用計(jì)算機(jī)來執(zhí)行下述步驟—確定各資源預(yù)測成為可以利用的時(shí)間;—確定需要執(zhí)行各作業(yè)的時(shí)間;—賦予各作業(yè)一個(gè)作為將執(zhí)行該作業(yè)的時(shí)間的函數(shù)計(jì)算的一個(gè)與時(shí)間相關(guān)的成本函數(shù);—取決于預(yù)測各資源可利用的時(shí)間及該時(shí)間上各作業(yè)的成本函數(shù)值,為作業(yè)與資源的各種可能組合確定總的預(yù)計(jì)成本;—確定產(chǎn)生最小的總預(yù)計(jì)成本的組合。
2.采用按照權(quán)利要求1的方法的資源分配方法,其中當(dāng)一個(gè)資源成為可利用時(shí)便執(zhí)行權(quán)利要求1的步驟,將可利用的資源分配給在具有最小成本的組合中與之關(guān)聯(lián)的作業(yè)。
3.權(quán)利要求2中所要求的資源分配方法,其中可將新的作業(yè)加在多個(gè)作業(yè)上,當(dāng)發(fā)生這種增加時(shí)執(zhí)行權(quán)利要求1的步驟。
4.權(quán)利要求2或3中所要求的方法,其中如果在或接近其預(yù)測時(shí)間上一個(gè)第二資源成為可利用的并且自從上次執(zhí)行分配確定以來未發(fā)生其它變化,便將前面確定的最低成本組合中分配給第二資源的作業(yè)分配給它。
5.前面的權(quán)利要求中任何一項(xiàng)中所要求的方法,其中不相容的資源與作業(yè)的組合賦予基本上無窮大成本值。
6.按照權(quán)利要求5的方法,其中可將一個(gè)資源分配給一個(gè)特定作業(yè),使得該作業(yè)與其它資源的組合作為不相容對待。
7.按照權(quán)利要求2至6中任何一項(xiàng)的方法,其中當(dāng)將一個(gè)第一作業(yè)分配給一個(gè)資源時(shí),同時(shí)將與第一作業(yè)密切相關(guān)且與該資源相容的其它作業(yè)分配給該資源。
8.按照任何前面的權(quán)利要求的方法,其中作業(yè)是在要執(zhí)行它們的時(shí)間的基礎(chǔ)上優(yōu)先化的,而資源則是在預(yù)測首先成為可利用的基礎(chǔ)上優(yōu)先化的,而成本估計(jì)則是為具有最高優(yōu)先級的預(yù)定數(shù)目的作業(yè)與/或預(yù)定數(shù)目的資源進(jìn)行的。
9.按照權(quán)利要求8的方法,其中資源的預(yù)定數(shù)目少于作業(yè)的預(yù)定數(shù)目,不分配給資源的作業(yè)的成本值包含在成本估計(jì)中。
10.按照任何前面的權(quán)利要求的方法,其中如果一個(gè)第一作業(yè)的成本值超過一個(gè)閾值,便指令一個(gè)資源中斷它當(dāng)前從事的第二作業(yè)而代之以執(zhí)行第一作業(yè)。
11.分配多個(gè)資源給多個(gè)作業(yè)的裝置,包括—用于存儲關(guān)于資源的參數(shù)的裝置;—用于存儲關(guān)于作業(yè)的參數(shù)的裝置;—用于從參數(shù)中確定各資源預(yù)測成為可利用的時(shí)間的裝置;—用于從參數(shù)中確定需要執(zhí)行各作業(yè)的時(shí)間的裝置;—用于賦予各作業(yè)一個(gè)作為將執(zhí)行該作業(yè)的時(shí)間的函數(shù)計(jì)算的成本函數(shù)的裝置;—用于根據(jù)各資源預(yù)測為可利用的時(shí)間及該時(shí)間上各作業(yè)的成本函數(shù)值,為作業(yè)與資源的各種可能組合確定預(yù)計(jì)成本的裝置;以及—用于確定產(chǎn)生最小總預(yù)計(jì)成本的組合的裝置。
12.按照權(quán)利要求11的裝置,還包括用于將新作業(yè)加在多個(gè)作業(yè)上的裝置。
13.按權(quán)利要求11或12的裝置,還包括用于識別作業(yè)與資源的不相容組合的裝置及用于賦予無窮大成本值給這種組合的裝置。
14.按照權(quán)利要求13的裝置,包括用于有選擇地分配一個(gè)特定資源給一個(gè)給定作業(yè)的裝置,其中將這一作業(yè)與其它資源的組合識別為不相容的。
15.按照權(quán)利要求11至14中任何一項(xiàng)的裝置,還包括用于優(yōu)先化作業(yè)與/或資源的裝置,及用于選擇在其上執(zhí)行成本估計(jì)的最高優(yōu)先級的作業(yè)與資源的裝置。
16.一種用于分配多個(gè)作業(yè)給多個(gè)資源的計(jì)算機(jī)裝置,所述計(jì)算機(jī)裝置包括一個(gè)中央處理單元、一個(gè)存儲器、一個(gè)輸入設(shè)備及一個(gè)輸出設(shè)備,所述存儲器包含一個(gè)控制計(jì)算機(jī)的程序,該程序配置成—存儲關(guān)于資源的參數(shù);—存儲關(guān)于作業(yè)的參數(shù);—從參數(shù)中確定各資源預(yù)測成為可利用的時(shí)間;—從參數(shù)中確定需要執(zhí)行各作業(yè)的時(shí)間;—賦予各作業(yè)一個(gè)作為將執(zhí)行該作業(yè)的時(shí)間的函數(shù)計(jì)算的成本函數(shù);—根據(jù)各資源預(yù)測可利用的時(shí)間及該時(shí)間上各作業(yè)的成本函數(shù)值,為作業(yè)與資源的各種可能組合確定預(yù)計(jì)成本;以及—確定產(chǎn)生最小總預(yù)計(jì)成本的組合。
17.按照權(quán)利要求16的裝置,還配置成增加新作業(yè)到多個(gè)作業(yè)上。
18.按照權(quán)利要求16或17的裝置,配置成識別作業(yè)與資源的不相容組合及賦予這種組合無窮大成本值。
19.按照權(quán)利要求18的裝置,還配置成有選擇地分配一個(gè)特定資源給一個(gè)給定的作業(yè),其中將這一作業(yè)與其它資源組合識別為不相容的。
20.按照權(quán)利要求16至19中任何一項(xiàng)的裝置,還配置成優(yōu)先化作業(yè)與/或資源,及選擇在其上執(zhí)行成本估計(jì)的最高優(yōu)先級的作業(yè)與資源。
21.一種包括按照權(quán)利要求11至20中任何一項(xiàng)的分配裝置的資源分配系統(tǒng),結(jié)合多個(gè)通信終端供資源使用,及一個(gè)通信網(wǎng)供在這些終端與分配裝置之間通信。
22.按照權(quán)利要求21的資源分配系統(tǒng),該分配裝置還包括用于分配一個(gè)臨時(shí)第二作業(yè)給各資源的裝置,該終端包括用于存儲所述第二作業(yè)細(xì)節(jié)的裝置、用于試圖將作業(yè)完成報(bào)告給分配裝置的裝置、以及用于只在這一試圖失敗時(shí)顯示所存儲的第二作業(yè)的細(xì)節(jié)的裝置。
23.權(quán)利要求21或22中所要求的系統(tǒng),其中的終端是便攜式的。
24.權(quán)利要求21、22或23中所要求的系統(tǒng),其中的通信網(wǎng)為一無線電網(wǎng)。
25.權(quán)利要求21、22或23中所要求的系統(tǒng),其中的終端可連接到一個(gè)固定的電信網(wǎng)上。
26.權(quán)利要求21至25中任何一項(xiàng)中所要求的系統(tǒng),其中的終端配置成接收來自分配裝置的指令。
27.權(quán)利要求26中所要求的系統(tǒng),其中的終端包括存儲裝置來存儲所述指令。
28.權(quán)利要求21至27中任何一項(xiàng)中所要求的系統(tǒng),其中的終端配置成發(fā)送信息給控制裝置。
29.權(quán)利要求21至28中任何一項(xiàng)中所要求的系統(tǒng),其中的終端配置成允許分配裝置尋呼資源。
30.一種分配多個(gè)資源給多個(gè)作業(yè)的方法,通過利用計(jì)算機(jī)來賦予一個(gè)預(yù)計(jì)成本給資源與作業(yè)的各種可能組合及計(jì)算最低成本組合,從而當(dāng)多于資源的作業(yè)用于計(jì)算時(shí),未分配的作業(yè)是分配給虛資源的,這種分配的成本值確定為未完成作業(yè)的成本的函數(shù)。
31.一種分配多個(gè)資源給多個(gè)作業(yè)的方法,通過利用計(jì)算機(jī)來賦予一個(gè)預(yù)計(jì)成本給資源與作業(yè)的各種可能組合及計(jì)算最低成本組合,其特征在于在計(jì)算最低成本組合時(shí),分配給一個(gè)第一作業(yè)一個(gè)資源,同時(shí)將與第一作業(yè)緊密相關(guān)的任何作業(yè)也分配給該資源。
32.按照權(quán)利要求31的方法,其中選擇作業(yè)供成本組合計(jì)算,使得優(yōu)先選擇具有不同特征的作業(yè)而不是具有類似特征的作業(yè)。
33.按照權(quán)利要求31或32的方法,其中具有不同優(yōu)先級的一組緊密相關(guān)的作業(yè)中,選擇最高優(yōu)先級作業(yè)供組合計(jì)算。
34.一種分配多個(gè)資源給多個(gè)作業(yè)的方法,通過利用計(jì)算機(jī)來賦予一個(gè)預(yù)計(jì)成本給資源與作業(yè)的各種可能組合及計(jì)算最低成本組合,其特征在于賦予作業(yè)優(yōu)先級值及目標(biāo)時(shí)間,及在于監(jiān)視高優(yōu)先級作業(yè)使得當(dāng)一個(gè)高優(yōu)先級作業(yè)接近其目標(biāo)時(shí)間時(shí),指令在較低優(yōu)先級作業(yè)上工作的資源中斷該較低優(yōu)先級作業(yè)而執(zhí)行高優(yōu)先級作業(yè)。
35.按照權(quán)利要求11至29中任何一項(xiàng)的裝置,結(jié)合要在其上執(zhí)行作業(yè)的一個(gè)網(wǎng)絡(luò),所述網(wǎng)絡(luò)包含用于檢測網(wǎng)絡(luò)中的故障的裝置,及用于向存儲關(guān)于作業(yè)的參數(shù)的所述裝置提供為糾正這樣檢測到的故障而執(zhí)行的作業(yè)的參數(shù)的裝置。
36.分配多個(gè)資源給多個(gè)作業(yè)的裝置,包括—用于存儲關(guān)于資源的參數(shù)的裝置;—用于存儲關(guān)于作業(yè)的參數(shù)的裝置;—用于從參數(shù)中確定各資源預(yù)測成為可利用的時(shí)間的裝置;—用于從參數(shù)中確定需要執(zhí)行各作業(yè)的時(shí)間的裝置;—用于賦予各作業(yè)一個(gè)作為將執(zhí)行該作業(yè)的時(shí)間的函數(shù)計(jì)算的成本函數(shù)的裝置;—用于根據(jù)各資源預(yù)測可利用的時(shí)間及在該時(shí)間上的各作業(yè)的成本函數(shù)值,為作業(yè)與資源的各種可能組合,確定預(yù)計(jì)成本的裝置;—用于確定產(chǎn)生最小總預(yù)計(jì)成本的組合的裝置;結(jié)合要在其上執(zhí)行作業(yè)的一個(gè)網(wǎng)絡(luò),所述網(wǎng)絡(luò)包括用于檢測網(wǎng)絡(luò)中的故障的裝置,及用于向存儲關(guān)于作業(yè)的參數(shù)的所述裝置提供為校正這樣檢測到的故障而執(zhí)行的作業(yè)的參數(shù)的裝置。
37.按照權(quán)利要求35或36的裝置,配置成使得提供的參數(shù)中包含完全或部分地在網(wǎng)絡(luò)中備用容量的可利用性基礎(chǔ)上作出的要執(zhí)行的作業(yè)的優(yōu)先級的估計(jì)。
38.按照權(quán)利要求37的裝置,配置成使得如果沒有備用容量而使業(yè)務(wù)中斷時(shí),分配給該作業(yè)最高優(yōu)先級。
39.基本上參照附圖描述的一種分配多個(gè)資源給多個(gè)作業(yè)的方法。
40.基本上參照附圖描述的一種分配多個(gè)資源給多個(gè)作業(yè)的裝置。
全文摘要
為了優(yōu)化執(zhí)行多個(gè)作業(yè)中的資源利用(諸如技術(shù)人員),賦予各作業(yè)一個(gè)與時(shí)間相關(guān)的成本函數(shù)并為各資源估計(jì)其將可以利用的時(shí)間。為作業(yè)與資源的各種組合能夠確定一個(gè)實(shí)際成本。然后確定給出最低整體成本的組合。還公開了附加特征以保證不分配不相容的作業(yè)/資源組合,及通過優(yōu)先化作與資源而降低計(jì)算復(fù)雜性。
文檔編號G06F19/00GK1144569SQ9519228
公開日1997年3月5日 申請日期1995年3月17日 優(yōu)先權(quán)日1994年3月25日
發(fā)明者保羅·沃克, 羅伯特·諾埃爾·威廉·萊思韋特, 約翰·登曼, 戴維·莫滕, 格溫·勒韋德·威廉斯, 邁克·朱布, 艾倫·泰勒 申請人:英國電訊有限公司