專(zhuān)利名稱(chēng):高效能資源分配方法和裝置的制作方法
本發(fā)明涉及利用卡馬卡爾(Karmarkar)算法在大量的資源使用者之間分配資源的系統(tǒng),更具體地說(shuō),是涉及在這種分配問(wèn)題的線性規(guī)劃模型中使用自由(無(wú)約束)變量來(lái)改進(jìn)卡馬卡爾算法的速度和效能。
在一個(gè)廣闊的技術(shù)和工業(yè)領(lǐng)域中需要作出資源分配決策。例如,在電話傳輸系統(tǒng)中傳輸設(shè)備的分配,對(duì)一個(gè)工廠的產(chǎn)品構(gòu)成的控制。工業(yè)設(shè)備的布署,倉(cāng)庫(kù)存貨的控制,以及其他方面。在本文中,“資源分配”一詞通常指為了產(chǎn)生特定的技術(shù)或工業(yè)效果去布置具體的技術(shù)或工業(yè)資源。
資源分配決策通常受到分配過(guò)程中的各種約束。資源的總體利用率總是有限的,而且某一具體資源在某種具體應(yīng)用中的適用性也可能是有限的。例如,在一個(gè)遠(yuǎn)程通訊系統(tǒng)中每一個(gè)單個(gè)鏈路的傳輸載荷能力是有限的,而對(duì)該通訊系統(tǒng)提供的總傳輸量也是有限的。每一種具體的資源分配方法都伴有相應(yīng)的“報(bào)酬”,即這種布局的費(fèi)用,或者分配效益(例如利潤(rùn))。于是,這個(gè)問(wèn)題就是如何分配資源以滿足全部約束條件,并且同時(shí)使得到的報(bào)酬為最大,即達(dá)到最低費(fèi)用或最大利益。
表述這種分配決策問(wèn)題的方法之一稱(chēng)之為線性規(guī)劃模型。這種模型由表示分配、約束和報(bào)酬之間定量關(guān)系的許多線性表達(dá)式組成。如果一個(gè)表達(dá)式是常系數(shù)乘以未知分配值之和,就稱(chēng)它為線性表達(dá)式。當(dāng)然,許多資源分配問(wèn)題不能表示成這類(lèi)線性表達(dá)式,而是在那些關(guān)系式中涉及未知量的高次冪或其他非線性關(guān)系,因此不適用線性規(guī)劃方法。
應(yīng)當(dāng)指出,上面討論的資源分配問(wèn)題是在實(shí)際物理系統(tǒng)中產(chǎn)生的實(shí)際物理問(wèn)題。盡管線性規(guī)劃模型確實(shí)能表達(dá)物理問(wèn)題的重要的定量方面,但該模型的目的在于提供一組最佳值,然后將它們用于物理世界,去構(gòu)成或運(yùn)轉(zhuǎn)一個(gè)物理系統(tǒng)。線性規(guī)劃模型的典型應(yīng)用是設(shè)計(jì)電話系統(tǒng)、編制航班時(shí)刻表、或控制石油化學(xué)的處理過(guò)程。
線性規(guī)劃問(wèn)題的可實(shí)現(xiàn)解常常是根據(jù)對(duì)問(wèn)題的約束條件被模型化為一個(gè)多維幾何體-一個(gè)多面體,它的表面由上千個(gè)多邊平面或者說(shuō)“多邊形”構(gòu)成。這個(gè)多面體(其技術(shù)名詞是“polytope”(多面體)是問(wèn)題的約束條件的有組織的表現(xiàn)形式。
為了在一個(gè)線性規(guī)劃問(wèn)題的許多可實(shí)現(xiàn)解當(dāng)中找出一個(gè)最佳解,需要應(yīng)用某種算法或者叫做處理程序。這種處理過(guò)程沿著多面體表面或多面體內(nèi)部從點(diǎn)到點(diǎn)的假想線或路徑進(jìn)行。這樣點(diǎn)到點(diǎn)的每一步稱(chēng)為一次迭代。每一步(或者說(shuō)每次迭代)依次由考慮許多相關(guān)聯(lián)的約束條件和變量的方程式的處理過(guò)程所組成。
很早就已經(jīng)知道,任何線性規(guī)劃問(wèn)題的最佳解必須在多面體的一個(gè)頂點(diǎn)上。因此,確定最佳解的成功算法或過(guò)程所遵循的路徑最終要終止于最佳頂點(diǎn)上。這種算法的運(yùn)算速度部分地依賴于迭式步數(shù),也部分地依賴于每一步的復(fù)雜程度。
解決物理布局問(wèn)題的線性規(guī)劃模型的一種新方法稱(chēng)作Karmarkar算法,在N.K.Karmarkar的文章”線性規(guī)劃的一種新的多項(xiàng)式-時(shí)間算法“中描述過(guò)(Combinatorica 4(4),pp.373-395,1984)。以往的單純形法是在約束多面體表面上從頂點(diǎn)到頂點(diǎn)進(jìn)行。與此不同的是,卡馬卡爾算法從約束多面體的內(nèi)部出發(fā),沿徑向步進(jìn)到最佳頂點(diǎn)。在卡馬卡爾算法的每次迭代中,多面體空間要重新標(biāo)度,以使分配的當(dāng)前值落在多面體的中心,由于依次進(jìn)行的每一步都具有徑向性,為達(dá)到最佳頂點(diǎn)所需步數(shù)便少得多,因此卡馬卡爾算法能夠比單純形法快得多,特別是對(duì)于較大型的問(wèn)題更是如此。
使用卡馬卡爾算法時(shí)的一個(gè)問(wèn)題在于尋找起始點(diǎn)。這個(gè)起始點(diǎn)必須代表該模型的一個(gè)可實(shí)現(xiàn)解,即是嚴(yán)格地處在多維的約束多面體內(nèi)部空間的一個(gè)點(diǎn)。盡管有許多已知的方法可以找出一個(gè)起始點(diǎn),但從計(jì)算的角度看,這些方法中沒(méi)有一個(gè)是特別有效的。
使用卡馬卡爾算法時(shí)的另一個(gè)問(wèn)題出在采用所謂對(duì)偶模型法去求解線性規(guī)劃問(wèn)題。對(duì)于每一個(gè)表述為標(biāo)準(zhǔn)形式的線性規(guī)劃模型(原初模型),必須使一個(gè)目標(biāo)函數(shù)極小化,并且同時(shí)要滿足對(duì)問(wèn)題的全部約束。這個(gè)模型可以重新書(shū)寫(xiě)成要求在不同的但與之相關(guān)的約束下使另一個(gè)不同的但與之相關(guān)的目標(biāo)函數(shù)極大化。已經(jīng)知道,對(duì)于這個(gè)重寫(xiě)模型(稱(chēng)作對(duì)偶模型)的解在靈敏度分析中特別有用,即用于確定問(wèn)題中參數(shù)的變化對(duì)于最佳解的影響。再有,原初模型和對(duì)偶模型從相反方向達(dá)到一個(gè)最佳解。終止計(jì)算的一個(gè)通用準(zhǔn)則是當(dāng)原生布局值和對(duì)偶布局值彼此之差落在某一任意小值之內(nèi)時(shí)便停止運(yùn)算。
盡管對(duì)偶模型算法對(duì)線性規(guī)劃問(wèn)題的求解提供了一個(gè)精致的終止準(zhǔn)則和特別有用的靈敏度信息,但它也使所需的計(jì)算量加倍,因?yàn)樵跄P秃蛯?duì)偶模型必須同時(shí)求解。
根據(jù)本文說(shuō)明的本發(fā)明的具體實(shí)施方案,對(duì)卡馬卡爾算法進(jìn)行了修正,使之能夠處理自由的或者說(shuō)無(wú)約束的變量??R卡爾算法的先前的典型形式是處理那些其值受到數(shù)值邊界約束的變量。這些數(shù)值邊界通常在正數(shù)域中,因?yàn)楸荒P突奈锢韱?wèn)題要施加相應(yīng)的物理約束。通過(guò)調(diào)整卡馬卡爾算法,使之處理自由變量,從而使求解某些附屬問(wèn)題變得簡(jiǎn)單得多,減少了所需計(jì)算的時(shí)間和復(fù)雜程度。
更具體地說(shuō),能夠處理自由變量的修正的卡馬卡爾算法提供了一個(gè)有效的計(jì)算方法,用以確定使用卡馬卡爾主算法時(shí)所需的一個(gè)嚴(yán)格可實(shí)現(xiàn)的起始點(diǎn)。由于確定這種起始點(diǎn)是使用卡馬卡爾算法的一個(gè)重要的初始步驟,所以本發(fā)明的方法和裝置為線性規(guī)劃模型提供了一個(gè)快得多的總體解法。
再有,能夠處理自由變量的修正的卡馬卡爾算法為求解對(duì)偶線性規(guī)劃模型提供了一個(gè)計(jì)算上有效算法,從而為線性規(guī)劃模型提供了一個(gè)快得多的對(duì)偶解。
從最一般的意義上說(shuō),本發(fā)明的計(jì)算效能來(lái)自對(duì)約束矩陣適當(dāng)?shù)胤纸獬捎屑s束變量和無(wú)約束變量,從而保證每一迭式步驟中必須求其逆矩陣的那些矩陣相對(duì)較少和(或)稀疏。由于大量計(jì)算時(shí)間系于這些矩陣求逆,因此在這種矩陣求逆過(guò)程中計(jì)算時(shí)間的任何顯著削減都會(huì)造成運(yùn)行時(shí)間的顯著改進(jìn),從而顯著減少應(yīng)用卡馬卡爾算法的費(fèi)用。
圖1是在線性規(guī)劃模型中確定最佳資源布局的卡馬卡爾算法的圖形表示。
圖2是求解線性規(guī)劃模型的卡馬卡爾算法的一般流程圖。
圖3是根據(jù)本發(fā)明引入自由變量的修正的卡馬卡爾算法流程圖。
圖4是根據(jù)本發(fā)明修正的卡馬卡爾算法流程圖。本修正算法為求解線性規(guī)劃模型提供了一個(gè)更有效的起步(起始點(diǎn))算法。
圖5是根據(jù)本發(fā)明修正的卡馬卡爾算法流程圖。該修正算法為求解線性規(guī)劃模型提供了一個(gè)更有效的對(duì)偶算法。
圖6是利用圖3、4或5的方法來(lái)控制資源布局的一個(gè)資源布局系統(tǒng)的方框圖。
首先將討論對(duì)線性規(guī)劃模型構(gòu)成最佳資源分配的最新可以利用的卡馬卡爾算法,然后再提出為處理自由變量所需要的對(duì)卡馬卡爾算法的修正。
在著手對(duì)卡馬卡爾算法作正式的數(shù)學(xué)陳述之前,有必要對(duì)算法的圖形表示作一簡(jiǎn)要描述。請(qǐng)參考圖1,它給出一個(gè)凸的多維的多面體50,這個(gè)圖形以圖形表示一個(gè)線性規(guī)劃模型的全部約束之和。圖1中多面體50的每一個(gè)子面是一個(gè)局部平面,代表一個(gè)線性約束。約束的數(shù)目至少是子面的數(shù)目,而未知數(shù)的數(shù)目相應(yīng)于多面體50所在空間的維數(shù)。圖1中只表示出3維,這是由于人的感覺(jué)本身的固有限制。然而在實(shí)際的線性規(guī)劃模型中的維數(shù)(變量數(shù))可以達(dá)到幾百、幾千甚至幾百萬(wàn)。
根據(jù)卡氏算法(在N.K.卡馬卡爾的待審查專(zhuān)利申請(qǐng)中披露過(guò)并提出了權(quán)項(xiàng)要求,其序號(hào)是725,342,申請(qǐng)日為1985年4月19日,并轉(zhuǎn)讓給了申請(qǐng)者的受讓人),在多面體50內(nèi)部選一起始點(diǎn)51。大家知道,在多面體50內(nèi)部和表面的所有點(diǎn)都代表這個(gè)線性規(guī)劃模型的可實(shí)現(xiàn)解。大家也知道,在不發(fā)生退化的情況下,最佳解位于多面體50的一個(gè)頂點(diǎn),例如頂點(diǎn)53。卡氏算法沿徑向進(jìn)行,完全在多面體內(nèi)部,按步52,55,56,…到接續(xù)點(diǎn)54等等,每一步更接近于最佳點(diǎn)53。由于卡氏算法在多面體50的內(nèi)部沿徑向進(jìn)行。而不是象單純形法那樣從一個(gè)頂點(diǎn)到另一個(gè)頂點(diǎn)在多面體周?chē)谋砻嫔线M(jìn)行,因此它的固有特點(diǎn)是快得多,因?yàn)樗枰牟襟E少得多,對(duì)于較大的模型更是如此。卡氏算法在多面體內(nèi)部沿著費(fèi)用梯度減小的方向步進(jìn)。再有,卡氏算法涉及對(duì)多面體空間的重新標(biāo)度,使依次得到的點(diǎn)到多面體50的所有子面沿軌跡或路徑的距離等值化或者說(shuō)中心化,從而使費(fèi)用梯度沿多面體的所有各維通通歸一化。
線性規(guī)劃模型的正式陳述的形式是使用一個(gè)目標(biāo)函數(shù)(它將達(dá)到極大或極小)和一組約束關(guān)系(它代表對(duì)可以接受的分配施加的物理約束)。這些約束相應(yīng)于并盡可能精確地代表該物理系統(tǒng)中存在的實(shí)際物理約束。利用標(biāo)準(zhǔn)的矢量符號(hào),一個(gè)典型的線性規(guī)劃模型表示如下尋找一個(gè)長(zhǎng)度為n的矢量x,使C·X達(dá)到極小并滿足 AX=b (1)和 X≥0這里C=(C1,C2,…,Cn)是一個(gè)費(fèi)用系數(shù)矢量。運(yùn)算“·”代表矢量點(diǎn)乘,X=(X1,X2,…,Xn)是一個(gè)布局值矢量,n是這種布局值的數(shù)目,A=(a11,a12,…,aij,…,amn)是約束系數(shù)m×n矩陣,b=(b1,b2,…,bm)是m個(gè)約束限界構(gòu)成的矢量。
在線性規(guī)劃模型的標(biāo)準(zhǔn)卡氏形式中,x的分量值(布局值)被限定為非負(fù)值,但如下文將討論的,也可能有其他限制。通過(guò)簡(jiǎn)單的代數(shù)處理,所有目標(biāo)函數(shù)和所有約束關(guān)系都可以化成這種形式。例如,可以通過(guò)在約束矩陣中增加人為的“剩余”變量,將“大于或等于”約束變換成“等式”約束。類(lèi)似地,通過(guò)增加人為的“松馳”變量,可將“小于或等于”約束變成“等式”約束。這些作法在已有技術(shù)中都是眾所周知的。
利用高度緊湊的矢量符號(hào),可將卡氏算法概括如下。在迭代過(guò)程的每一步,該算法計(jì)算出一個(gè)對(duì)偶矢量ω。這個(gè)矢量與單純形法產(chǎn)生的的用于靈敏度分析的對(duì)偶變量矢量完全相似。按照卡氏算法,矢量ω按下列公式重新標(biāo)度ω=(AD2XAT)-1AD2XC. (2)到下一組布局值的跨步方向z由下式給出z=D2X(C-ATω) (3)這里,方程式(2)和(3)中的D是當(dāng)前布局值對(duì)角矩陣。
利用ω和z之值,可定義兩個(gè)終止變量r=max zi/xi(4)和δ=min zi/x21(5)這里r可以稱(chēng)作“補(bǔ)償松馳系數(shù)”,δ可稱(chēng)作“對(duì)偶可行性系數(shù)”。
如果M定義為xi的最大值,則可定義一個(gè)試探操作終止準(zhǔn)則如下如果r+Mδ<(ε/n)(1C·X1+1) (6)則終止,這里ε是任意小誤差量度,n是變量X數(shù)目。如果不等式(6)不滿足,則從當(dāng)前布局x沿方向z跨一步,得到一個(gè)新的布局,即X←X-αZ/r (7)這里0<α<1是一個(gè)固定值,很象卡氏定義的值。利用新布局值,算法要求返回等式(2)并繼續(xù)迭代,直至滿足不等式(6)為止。一旦(6)式滿足,則原生目標(biāo)函數(shù)值由(c·x)給出,而對(duì)偶目標(biāo)函數(shù)值由(ω·b)給出。如果問(wèn)題要求一個(gè)極大化模型,那么跨步方向z是負(fù)的。如果下限是非零值,則x由(x-1)代替,這里1是下限。如果上限u是有限值,則x由(u-x)替換。
卡氏算法的這個(gè)表達(dá)式的流程示于圖件中的圖2。如圖2所示,首先需要對(duì)方框100中的線性模型公式化。然后選出一個(gè)嚴(yán)格可實(shí)現(xiàn)的起始點(diǎn)x,并把它作為虛線方框103中的迭式過(guò)程的起始點(diǎn)。后面將討論選擇嚴(yán)格可實(shí)現(xiàn)的起始點(diǎn)的技術(shù)。圖2中其余包含在虛框103中的部分是卡氏算法的迭代部分。
圖2中的迭代過(guò)程103由下列各步驟構(gòu)成。當(dāng)給定一個(gè)嚴(yán)格可實(shí)現(xiàn)布局x各分量后,1)在方框104中,重新標(biāo)度多面體空間,以把對(duì)偶變量n放在多面體中心,從而按方程(2)將費(fèi)用梯度在所有各維上歸一化;
2)在方框105中,根據(jù)方程(3)計(jì)算費(fèi)用(目標(biāo))函數(shù)的最速下降方向;
3)在方框106中,根據(jù)方程(4)計(jì)算補(bǔ)償松馳系數(shù);
4)在方框107中,根據(jù)方程(5)計(jì)算對(duì)偶可行性系數(shù);
5)在決策方框108中,根據(jù)終止準(zhǔn)則不等式(6)檢驗(yàn)變量的當(dāng)前值;
6)如果在決策方框108中滿足終止準(zhǔn)則,則終止在方框110中;
7)如果在決策方框108中不滿足終止準(zhǔn)則,則在方框111中根據(jù)公式(7)沿目標(biāo)函數(shù)的負(fù)梯度方向跨步,置新分配值作為當(dāng)前值,重新進(jìn)入方框104。
接下來(lái),我們將對(duì)上面描述的基本的卡氏算法(圖2)加以修正,以便能處理自由的或者說(shuō)無(wú)界的變量,而不是只處理限制為正值的變量。這里描述的應(yīng)用自由變量解的具體方法能夠應(yīng)用于一般的線性規(guī)劃模型。然而,它的特別有用之處在于導(dǎo)出使用起步和對(duì)偶算法模型時(shí)所需要的極其簡(jiǎn)單和有效的公式。起步模型用于找出嚴(yán)格可實(shí)現(xiàn)的起始點(diǎn),即該點(diǎn)處在多面體50(圖1)的內(nèi)部。根據(jù)本發(fā)明,利用下面導(dǎo)出的自由變量式卡氏算法,這種起步模型能被大大簡(jiǎn)化。
原始的卡氏算法會(huì)遇到數(shù)值計(jì)算問(wèn)題,因?yàn)樗y于從一次迭代到下一次迭代時(shí)保持AX=b關(guān)系式。根據(jù)本發(fā)明,通過(guò)求解對(duì)偶問(wèn)題而不是求解原生問(wèn)題,從而使這個(gè)問(wèn)題得以克服。再根據(jù)本發(fā)明,對(duì)線性規(guī)劃問(wèn)題的對(duì)偶解法也能用下面導(dǎo)出的自由變量式卡氏算法給以極大的簡(jiǎn)化。
為了根據(jù)本發(fā)明導(dǎo)出自由變量式卡氏算法,首先需要對(duì)線性規(guī)劃模型重新加以表述,以便把變量分成有約束的和無(wú)約束(自由)的子集極小化〔CACF〕·〔xy〕 (10)使?jié)M足 〔AF〕〔xy〕=b1≤x≤uy是自由的這里l和u分別是變量x的下限與上限,y的分量是自由的(無(wú)界的)。
為了根據(jù)本發(fā)明導(dǎo)出自由變量算法,假定y具有有限的下界與上界。然后有可能在這些邊界趨于無(wú)限時(shí)取掉這些限制。這些假定和處理過(guò)程就是如下的算法方程(3)中的跨步方向Z被分成兩部分,一部分是自由的,另一部分是有約束的
所得到的修正成能處理自由變量的算法可表示成如下形式zF=(FTBF)-1(CF-FTBAD2XCA) (11)ω=BAD2XC+BFzF(12)zα=D2X(CA-ATω) (13)這里B=(AD2XAT)-1。當(dāng)不存在自由變量時(shí),表達(dá)式(12)中的第一項(xiàng)與方程式(2)完全相同。對(duì)于自由變量y,方程(4)、(5)和(6)中的終止變量可調(diào)整成下式r=max〔(zA)i/(xi-li)V-(zA)i/(ui-xi)〕 (14)δ=-min〔(zA)i/(xi-li)2∧-(zA)i/(ui-xi)2〕 (15)M=max(xi-li)(ui-xi) (16)于是,終止判據(jù)由下式給出。如果r+Mδ<(θ/n)(|CAx+CFy|+1) (17)則終止。如果不等式(17)不滿足,則利用下列關(guān)系從舊布局中導(dǎo)出新布局x←x-αZA/r (18)y←y-αZF/r (19)并繼續(xù)處理過(guò)程。
這種修正的卡氏算法流程示于圖件中的圖3。如圖3所示,首先應(yīng)在方框130中構(gòu)造出線性規(guī)劃模型的自由變量的型式。然后選出一個(gè)嚴(yán)格可實(shí)現(xiàn)的起始點(diǎn)x,作為虛框137中的迭代過(guò)程的起始點(diǎn)。圖3中其余的包含在虛框137中的部分是根據(jù)自由變量式卡氏算法進(jìn)行的迭代過(guò)程。
圖3中的迭代過(guò)程137由下述各步驟構(gòu)成。在給出了嚴(yán)格可實(shí)現(xiàn)迭代起始點(diǎn)x的各分量之后,1)在方框131中,重新標(biāo)度多面體空間,以把對(duì)偶變量ω置于多面體中心,從而按公式(11),(12)和(13)將費(fèi)用梯度在所有各維上歸一化,并計(jì)算出跨步方向;
2)在方框132中,根據(jù)方程(14)計(jì)算補(bǔ)償松馳系數(shù);
3)在方框133中,根據(jù)方程(15)計(jì)算對(duì)偶的可行性系數(shù);
4)在方框134中,根據(jù)終止判據(jù)不等式(17)檢驗(yàn)變量的當(dāng)前值;
5)如果在決策方框134中滿足終止判據(jù),則終止在方框135中;
6)如果在決策方框134中不滿足終止判據(jù),則在方框136中根據(jù)方程(18)和(19)沿目標(biāo)函數(shù)負(fù)梯度方向跨步,置新布局值為當(dāng)前值并重新進(jìn)入方框131。
上面導(dǎo)出的修正的卡氏算法引出一個(gè)特別有效的起步算法以尋找出初始起點(diǎn)(或指出模型的不可行性)。下面將根據(jù)本發(fā)明導(dǎo)出起步算法。
利用自由變量形式,起步模型可以表述為極小化y使?jié)M足〔Ap〕〔xy〕=b1≤x≤u (20)
y是自由的這里的約束矩陣自由變量殘差p由公式p=b-Aξ給出,其中ξ滿足1<ξ<u。
首先應(yīng)該指出,〔ξ1〕是模型(20)的一個(gè)可實(shí)現(xiàn)解。還要注意到,如果〔x0〕是模型(20)的一個(gè)可實(shí)現(xiàn)解,那么Ax=b,x值是線性規(guī)劃主模型的一個(gè)嚴(yán)格可實(shí)現(xiàn)解。因此,這個(gè)x值是圖2所示主算法的一個(gè)適當(dāng)?shù)钠鹗键c(diǎn)。所以,算法上的策略是從y=1開(kāi)始,并在每一次迭代中試圖驅(qū)使y趨向零值。這樣造成的跨步方向由下式給出
利用方程(14)和(15)計(jì)算出終止參數(shù)r和δ之后,下一步則涉及兩種可能性。首先,如果r<1,則采取一步使y嚴(yán)格達(dá)到零,即x←x-z (22)然后終止,并采用x的相應(yīng)值作為起始值。另一方面,如果r>1,則取通常的跨步x←x-αz/r (23)并返回方程(21)。在每次迭代開(kāi)始,重新計(jì)算殘差ρ,因此每次迭代是試圖迫使y從1變成零。
以自由變量算法為基礎(chǔ)的起步算法可概括如下
ρ=b-Ax (24)z=-D2XATBρ (25)r=max〔zi/(ri-li)V-zi/(ui-xi)〕 (26)δ=-min〔zi/(xi-li)2∧-zi/(ui-xi)2〕 (27)M=max〔(xi-li)∧(ui-xi)〕 (28)如果 r+Mδ<ε/n (29)則止步(該模型無(wú)可實(shí)現(xiàn)解)。如果r<1則x←x-z (30)并止步,以x作為起始值;否則,置x←x-αz/r (31)并返回方程(24)。
從方程(24)至(31)所概括的初態(tài)算法的總流程圖示于圖件中的圖4。參照?qǐng)D4,在方框120中將起步模型構(gòu)成標(biāo)準(zhǔn)形式。在方框122中設(shè)定x和y的初值,即x=ε,y=1。虛框134代表該算法的迭代部分,它涉及如下步驟1)根據(jù)方程(24),在方框123中計(jì)算無(wú)約束殘差ρ之值;
2)根據(jù)方程(25),在決策方框124中計(jì)算y的梯度方向;
3)根據(jù)方程(26),在方框125中計(jì)算補(bǔ)償松馳系數(shù);
4)根據(jù)方程(27),在方框127中計(jì)算對(duì)偶可行性系數(shù);
5)在決策方框127中測(cè)試是否滿足終止準(zhǔn)則不等式(29);
6)如果在決策方框127中測(cè)試條件得到滿足,則該線性規(guī)劃模型無(wú)可實(shí)現(xiàn)解(方框128);在方框141中停止本處理過(guò)程;
7)如果決策方框127中的測(cè)試條件不滿足,則在決策方框129中檢驗(yàn)補(bǔ)償松馳系數(shù)值;
8)如果在決策方框129中補(bǔ)償松馳系數(shù)小于單位1,則在方框139中根據(jù)方程(30)給定當(dāng)前迭代過(guò)程的可實(shí)現(xiàn)初始值,并在方框132中終止;
9)如果在決策方框129中的補(bǔ)償松馳系數(shù)等于或大于單位1,則在方框138中根據(jù)方程(31)設(shè)定下一次迭代值,并返回方框122。
與任何用于尋找初始可實(shí)現(xiàn)解以啟動(dòng)卡氏算法的其他方法相比,上面描述的初態(tài)算法在應(yīng)用上要簡(jiǎn)單得多,在運(yùn)算上要快得多。因此,將它與卡氏算法結(jié)合起來(lái)以減少資源分配過(guò)程所需的總時(shí)間是很有好處的。
在描述了如何應(yīng)用自由變量解作為高效求解起步模型的起始點(diǎn)之后,將采取類(lèi)似步驟導(dǎo)出對(duì)于對(duì)偶模型的極其有效的解法。就是說(shuō),對(duì)偶模型的類(lèi)似的自由變量形式使用簡(jiǎn)單而且求解速度快。為簡(jiǎn)單起見(jiàn),這里考慮一個(gè)簡(jiǎn)化的模型上限是無(wú)限的,而下限為零。這將使解釋大大簡(jiǎn)化。可以直接把這里說(shuō)明的方法推廣到一般情況。
利用上面引入的符號(hào),簡(jiǎn)化的對(duì)偶模型可以表述成極大化b·ω (32)使?jié)M足ATω≤Cω是自由的將對(duì)偶變量分成約束的和無(wú)約束的兩個(gè)子集,上述對(duì)偶模型可重寫(xiě)成極大化〔b0〕·〔ων〕 (33)
使?jié)M足〔ATI〕〔ων〕=cω是自由的ν>0利用對(duì)偶模型的這種表述形式,令
表示跨步方向的分解,令ω和ν代表對(duì)偶變量的等價(jià)分塊。于是,利用自由變量算法的方程(11)至(19),第二階段對(duì)偶算法由下列各式給出Zω=-(AD-2vAT)-1b (34)x=-D-2νATZω(35)Zν=+D2νx=-ATZω(36)r=max〔(Zν)i/νi〕 (37)δ=-min〔(Zν)i/ν2i〕 (38)M=max νi(39)如果r+Mδ<(ε/n)(|b·ω|+1),(40)則停止。如果不等式(40)不滿足,則重置對(duì)偶變量ω←ω-αZω/δ (41)ν←ν-αZν/δ (42)并返回方程(34)。
上面描述的對(duì)偶算法的流程示于圖件中的圖5。在圖5中,首先需要在方框150中將線性規(guī)劃模型寫(xiě)成其對(duì)偶形式。然后選定一個(gè)嚴(yán)格可實(shí)現(xiàn)的起始點(diǎn)。圖5中其余的包含在虛框158中的部分是按照本發(fā)明設(shè)計(jì)的對(duì)偶算法的迭代部分。
圖5中的迭代過(guò)程158由以下各步驟組成。給出一個(gè)嚴(yán)格可實(shí)現(xiàn)的迭代起始點(diǎn)x的各分量后,1)在方框152中,重新標(biāo)度當(dāng)前的分配空間,以便使當(dāng)前的分配處在與所有約束等距離位置上,然后計(jì)算下一跨步的方向。這些都是根據(jù)方程(34),(35)和(36)進(jìn)行的;
2)在方框153中,根據(jù)方程(37)計(jì)算補(bǔ)償松馳系數(shù);
3)在方框154中,根據(jù)方程(38)計(jì)算對(duì)偶可行性系數(shù);
4)在決策方框155中,根據(jù)不等式(40)測(cè)試當(dāng)前的分配情況;
5)如果在決策方框155中的終止準(zhǔn)則滿足了,則采用當(dāng)前迭代的最佳解參數(shù),并在方框156中終止;
6)如果在決策方框155中的終止準(zhǔn)則不滿足,則根據(jù)方程(41)和(42)進(jìn)行下一個(gè)迭代步驟。
上述對(duì)偶模型算法收斂很快,因?yàn)樗懿扇”任葱拚目ㄊ纤惴ù蟮枚嗟牟介L(zhǎng)。之所以可能采取較大長(zhǎng)長(zhǎng),又是因?yàn)橛杀景l(fā)明引入了數(shù)值計(jì)算穩(wěn)定性。更具體地說(shuō),這種數(shù)值穩(wěn)定性是由于在每一次迭代中都重新計(jì)算松馳變量。除了這種穩(wěn)定性之外,本發(fā)明還使資源分配的收斂比未修正的卡氏算法快得多。最后,自由變量修正算法也對(duì)求解混合整數(shù)問(wèn)題很重要,在這類(lèi)問(wèn)題中某些變量被限定只能取整數(shù)值。
圖6給出一個(gè)控制過(guò)程80的過(guò)程控制系統(tǒng)。過(guò)程80可以是一個(gè)電話通訊系統(tǒng)、一個(gè)生產(chǎn)過(guò)程、一個(gè)航運(yùn)過(guò)程、或任何其他需要最佳化的過(guò)程。費(fèi)用寄存器在入口82接收費(fèi)用數(shù)據(jù),這些數(shù)據(jù)代表受控系統(tǒng)80中各種可能資源布局方案的單位費(fèi)用。費(fèi)用數(shù)據(jù)可以從計(jì)算機(jī)終端進(jìn)入寄存器81,或者從動(dòng)態(tài)確定這些費(fèi)用的單獨(dú)過(guò)程進(jìn)入寄存器81。盡管這些費(fèi)用數(shù)據(jù)通常變化較慢,但系統(tǒng)中有能力在必要時(shí)通過(guò)輸入口80時(shí)來(lái)更新這些數(shù)據(jù)。如果解的值有非零極限(方程(10)中的1和u),則如同費(fèi)用數(shù)據(jù)那樣,必須通過(guò)與寄存器81類(lèi)似的數(shù)據(jù)輸入寄存器向LP(線性規(guī)劃)控制器提供這些數(shù)據(jù)。
類(lèi)似地,界限寄存器83用于存貯有關(guān)每一個(gè)具體的資源分配的全部物理限制數(shù)據(jù)。這些限界值也是相對(duì)穩(wěn)定的,可以從計(jì)算機(jī)終端或從單獨(dú)的確定限界值的處理過(guò)程經(jīng)由輸入口84送入。寄存器81和83的輸出應(yīng)用于線性規(guī)劃(LP)控制器85,它進(jìn)行如圖3、4或5所示流程圖描述的處理過(guò)程。在所推薦的具體實(shí)施方案中,LP控制器85是一個(gè)程序控制的數(shù)字計(jì)算機(jī),它貯存了執(zhí)行圖3、4或5所示流程圖的程序。控制器85也可以由設(shè)計(jì)成可以執(zhí)行圖3、4或5的過(guò)程的一組硬件電路組成;也可以是一組并行的處理器,以利用平行執(zhí)行過(guò)程的各種可能性;還可以是為此目的編好程序的一組程序化的線性陣列。
一組約束傳感器86,87,…,88用于動(dòng)態(tài)地獲得約束關(guān)系中的約束系數(shù)。約束傳感器86-88連續(xù)地對(duì)受控過(guò)程80的環(huán)境變化作出反應(yīng),這些變化影響約束關(guān)系,因此必須跟蹤這些變化以便控制過(guò)程80。約束傳感器86-88中的每一個(gè)都有相應(yīng)的變化。(△)檢測(cè)器89,90,…,91,它們獲得各自的傳感器86-88的輸出量的變化。來(lái)自檢測(cè)器89-91中每一個(gè)的變化指示信號(hào)加到變化總線92,于是加到與(AND)門(mén)93。來(lái)自LP控制器的一個(gè)信號(hào)也經(jīng)入口94加到與門(mén)93上,它用于指出過(guò)程執(zhí)行的結(jié)束。傳感器86-88的輸出通過(guò)檢測(cè)器89-91分別到控制器85。
在運(yùn)行過(guò)程中,控制器85把傳感器86-88的輸出作為方程(10)、(20)或(32)的約束矩陣的系數(shù)。寄存器81中的費(fèi)用數(shù)據(jù)用作方程(10)、(20)或(32)的的費(fèi)用矢量(c),寄存器83中的限界數(shù)據(jù)用作方程(10)、(20)或(32)中的限界矢量(b)。得到這些輸入值后,LP控制器85便能夠完成圖3、4或5所示過(guò)程并向控制寄存器95,96,…,97提供數(shù)值解(x)。寄存器95-97中的值再用于控制過(guò)程80。
由于圖6中的LP控制器利用圖3、4或5所示的特別快的過(guò)程,所以寄存器95-97在很短的時(shí)間內(nèi)可獲得控制值。再有,當(dāng)約束發(fā)生變化時(shí),這些變化由傳感器86-88感知,由檢測(cè)器89-91來(lái)檢測(cè),并用于部分地啟動(dòng)與門(mén)93。當(dāng)圖3、4或5所示過(guò)程完成后,LP控制器85產(chǎn)生控制信號(hào)并將它們送到寄存器95-97。同時(shí),LP控制器85產(chǎn)生一個(gè)啟動(dòng)信號(hào)經(jīng)端口94送入與門(mén)93,完成對(duì)與門(mén)93的啟動(dòng)。然后,全部過(guò)程重復(fù)進(jìn)行。
基于問(wèn)題的復(fù)雜性(由傳感器86-88感知的約束的數(shù)目)和過(guò)程80的穩(wěn)定性,有可能用本方法不同程度地連續(xù)控制過(guò)程80。如果由傳感器86-88感知的環(huán)境因素變化速率等于或小于LP控制器85的運(yùn)行速率,則過(guò)程80確實(shí)能被連續(xù)地控制。更高的環(huán)境變化速率將在控制過(guò)程中引入不連續(xù)控制,但平均而言,仍能允許過(guò)程80接近于最佳運(yùn)行狀態(tài)。的確,如果給出環(huán)境變化的某些歷史數(shù)據(jù),可以在檢測(cè)器89-91中建立某種預(yù)測(cè)機(jī)制,從而預(yù)測(cè)傳感器86-88輸出的特征變化方向和幅度。
在貝爾系統(tǒng)技術(shù)雜志(The Bell System Technical Journal)第60卷第8期(1981年10月)中的兩篇文章里描述了能夠應(yīng)用本發(fā)明的遠(yuǎn)程通訊領(lǐng)域的一個(gè)典型問(wèn)題。第一篇文章題為“動(dòng)態(tài)路徑網(wǎng)絡(luò)的設(shè)計(jì)與最優(yōu)化”(第1787頁(yè)),作者是G.R.艾什(Ash)等人,該文描述了一般電話通訊路徑問(wèn)題。而G.R艾什等人寫(xiě)的另一篇文章(第1821頁(yè)),題為“對(duì)動(dòng)態(tài)路徑網(wǎng)絡(luò)的實(shí)時(shí)控制”,描述了一個(gè)附帶的問(wèn)題,即如何使由于錯(cuò)誤地預(yù)測(cè)通訊負(fù)載所造成的間散傳輸能力減到最小。
其他能夠從這里描述的新處理過(guò)程獲益的問(wèn)題有工業(yè)過(guò)程控制,為消費(fèi)者提供服務(wù)的人員配備,構(gòu)成商業(yè)產(chǎn)品的配料的合成,石油精煉產(chǎn)品的混合,計(jì)算機(jī)資源對(duì)大量用戶的分配,以及其他多種問(wèn)題。每種情況下,費(fèi)用(或利益)系數(shù)必須要測(cè)定或者確定,還必須建立約束限,并要測(cè)定或確定所有決策變量對(duì)這些約束的貢獻(xiàn)。在每種情況下,執(zhí)行過(guò)程的結(jié)果是指定一組控制參數(shù),當(dāng)把這些參數(shù)應(yīng)用于實(shí)際情況時(shí)將會(huì)產(chǎn)生最佳過(guò)程或設(shè)備。
應(yīng)該指出,大多數(shù)實(shí)際線性規(guī)劃模型所涉及的矩陣是稀疏矩陣,而稀疏矩陣技術(shù)也可以應(yīng)用于求解圖3、4和5中的搜索方向Z。
盡管本發(fā)明者已完成了對(duì)于求解線性規(guī)劃模型的卡氏算法的重要改進(jìn),但應(yīng)該理解,本發(fā)明的權(quán)項(xiàng)要求只涉及這些新改進(jìn)在布局方面的應(yīng)用這種布局確定在現(xiàn)實(shí)世界的技術(shù)與工業(yè)系統(tǒng)中的各個(gè)資源的最佳分配,這些系統(tǒng)本身可以用表征該類(lèi)系統(tǒng)的變量與約束條件的線性表示來(lái)描述。也就是說(shuō),這種物理布局確定如何實(shí)際應(yīng)用資源,以使過(guò)程、機(jī)器、生產(chǎn)或物質(zhì)組成等的性能達(dá)到最佳。該新方法的所有其他應(yīng)用,如計(jì)算研究、算法研究、或線性代數(shù)研究活動(dòng),都不構(gòu)成本發(fā)明的組成部分。同樣,該新方法在非技術(shù)或非工業(yè)系統(tǒng)中的應(yīng)用也不構(gòu)成本發(fā)明的組成部分。
權(quán)利要求
1.將可以利用的工業(yè)設(shè)備在這些設(shè)備的用戶之間進(jìn)行分配從而使提供這些設(shè)備的總費(fèi)用減到極小的一種方法,該方法由以下步驟構(gòu)成根據(jù)卡馬卡爾算法向那些用戶暫時(shí)地和反復(fù)地分配可利用的那些資源,以便在每次再分配中減小總費(fèi)用,相對(duì)于所述的各種分配的約束條件將先前的分配方案歸一化,從而確定每次再分配方案,其特征是進(jìn)行這種再分配時(shí),在假定所述約束中至少有一個(gè)值可以無(wú)限制增大的前提下,調(diào)整在先前分配方案中的變化方向(圖3中的130,131),當(dāng)所述總費(fèi)用達(dá)到極小時(shí),終止所述反復(fù)再分配的步驟(132,133,134,并且根據(jù)最小費(fèi)用分配方案來(lái)分配所述設(shè)備(圖6中的80)。
2.根據(jù)權(quán)利要求
1的分配方法,其特征在于分配的最后一步是這樣進(jìn)行的利用權(quán)利要求
1中被確認(rèn)為最低費(fèi)用的諸設(shè)備的設(shè)備分配方案作為所述設(shè)備再分配的初始設(shè)備分配方案,以便使各不相同的費(fèi)用標(biāo)準(zhǔn)達(dá)到極小,并利用所述的不同費(fèi)用標(biāo)準(zhǔn)重復(fù)權(quán)利要求
1中的步驟。
3.根據(jù)權(quán)利要求
1的分配方法,在所述的再分配過(guò)程中還包含以下步驟在每次迭代中重新指定費(fèi)用極小(原初)分配和等效的所述設(shè)備利用率極大值的(對(duì)偶)分配。
4.最佳資源分配系統(tǒng)包括第一組可以為用戶利用的物理資源,第二組利用所述物理資源的用戶,將所述資源用戶分配到所述物理資源以使提供這些資源的費(fèi)用為極小的裝置,該分配裝置包括在所述分配方案中試驗(yàn)性地和反復(fù)地選出可實(shí)現(xiàn)的分配方案的裝置,它使得每次迭代中每一個(gè)所述可實(shí)現(xiàn)分配方案處在一個(gè)歸一化的、多維的、可實(shí)現(xiàn)解的凸空間內(nèi)部中心上,其特點(diǎn)在于所述迭代選擇裝置還進(jìn)一步包含這樣的裝置,它包括了在所述資源中至少有一個(gè)值可無(wú)限增大的假定的逐個(gè)選擇的結(jié)果(圖3),以及根據(jù)所述最后一個(gè)試驗(yàn)性分配方案對(duì)所述物理資源進(jìn)行分配的裝置(圖6中的95-97,80)。
5.根據(jù)一個(gè)最優(yōu)化準(zhǔn)則使一個(gè)受控制過(guò)程的性能最優(yōu)化的一個(gè)系統(tǒng),該系統(tǒng)包括對(duì)一組控制信號(hào)作出反應(yīng)以控制所述過(guò)程的過(guò)程控制裝置,感知影響所述過(guò)程運(yùn)轉(zhuǎn)的可變條件的一組傳感器,用于指定影響所述過(guò)程運(yùn)轉(zhuǎn)的各種條件的一組數(shù)據(jù)輸入裝置,以及一個(gè)線性規(guī)劃控制器,它響應(yīng)所述傳感器和輸入裝置,以便根據(jù)卡氏算法向所述過(guò)程控制裝置提供一組最佳控制信號(hào),其特點(diǎn)在于所述控制器包括在至少有一個(gè)無(wú)約束變量控制信號(hào)的假定下迭代式地逐個(gè)確認(rèn)試驗(yàn)性的、嚴(yán)格可實(shí)現(xiàn)的控制信號(hào)組的裝置,以及沿著所述最佳準(zhǔn)則的歸一化形式的最陡梯度方向選擇下一組試驗(yàn)性控制信號(hào)的裝置。
6.對(duì)于在一組用戶之間最佳分配資源的線性規(guī)劃方法的改進(jìn),其特點(diǎn)是在所述線性規(guī)劃模型中引入至少一個(gè)自由變量,只在嚴(yán)格可實(shí)現(xiàn)的分配方案中進(jìn)行迭代,根據(jù)對(duì)所述分配方案的約束對(duì)每一個(gè)嚴(yán)格可實(shí)現(xiàn)的分配歸一化。
7.一個(gè)可用在通用數(shù)字計(jì)算機(jī)上的線性規(guī)劃控制器,該控制器包括一個(gè)計(jì)算機(jī)程序存貯介質(zhì),其中存有計(jì)算機(jī)程序,供所述數(shù)字計(jì)算機(jī)執(zhí)行,該存貯介質(zhì)包括處理一組定義一個(gè)多維凸多面體的線性關(guān)系裝置,該多面體代表所述線性關(guān)系的一組可實(shí)現(xiàn)解,其特點(diǎn)是含有一個(gè)要最優(yōu)化的函數(shù)、根據(jù)至少有一個(gè)自由變量的修正的卡氏算法確認(rèn)所述多面體邊界上的點(diǎn)代表所述一組線性關(guān)系的最佳解的裝置。
8.在許多資源用戶之間分配工業(yè)或技術(shù)資源xi(i=1,n)的方法,它在約束條件Aijxi<bj和xi≥0(i=1,n;j=1,m)之下使費(fèi)用函數(shù)
最優(yōu)化,該方法由下述步驟組成a)將所述資源分成約束子集x和無(wú)約束子集y;b)選擇滿足所述約束的初始分配xs和ys;其特點(diǎn)如下,c)根據(jù)公式ZF=(FTBF)-1(CF-FTBAD2XCA),確定迭代過(guò)程的下一次迭代中無(wú)約束部分ZF的方向,以接近于所述最佳費(fèi)用,這里B=(AD2XAT)-1,DX=所述受控資源當(dāng)前分配的對(duì)角矩陣;d)根據(jù)公式ω=BAD2XCA+BFZF按所述對(duì)角矩陣DX對(duì)所述約束空間重新標(biāo)度;e)根據(jù)公式ZA=D2X(CA-ATω),對(duì)所述迭代過(guò)程的下一次迭代確定其受約束部分的方向ZA;f)由公式r=max〔(ZA)i/(xi-li)V-(ZA)i/(ui-xi)〕,確定所述當(dāng)前迭代的補(bǔ)償松馳系數(shù);g)由公式δ=-min〔(ZA)i/(xi-li)2∧-(ZA)i/(ui-xi)2〕,確定所述當(dāng)前迭代的對(duì)偶可行性系數(shù)δ;h)由公式r+Mδ<(e/n)(|CAx+CFy|+1)檢驗(yàn)當(dāng)前迭代,這里M=max(xi-li)∧(ui-xi),和 e=一個(gè)任意小的誤差量度;i)如果步驟(h)中的檢驗(yàn)不滿足,則采用新分配x←x-αZA/r,和 y←y-αZF/r,返回步驟(c),這里0≤α≤1;j)如果步驟(h)中的檢驗(yàn)得到滿足,則根據(jù)當(dāng)前分配迭代值對(duì)所述資源進(jìn)行分配。
9.一個(gè)為卡氏算法確定初始點(diǎn)的方法,使在一組資源用戶之間分配工業(yè)或技術(shù)資源xi(i=1,n),在約束∑Aijxj=bi和xi≥0(i=1,n;j=1,m)之下使費(fèi)用函數(shù)Ci·xi最優(yōu)化,該方法的特點(diǎn)是a)構(gòu)成起始點(diǎn)模型極小化y使?jié)M足〔A〕〔xy〕=b1≤x≤uy是自由的,這里y是無(wú)約束變量子集,ρ=b-Aξ,1<ξ<u;b)選擇初始分配x=ξ和y=1,c)根據(jù)公式ZF=-D2XATBρ確定迭代過(guò)程的下一次迭代的方向,以接近于所述最佳費(fèi)用,這里B=(AD2XAT)-1,DX=所述受控資源當(dāng)前分配對(duì)角矩陣;d)根據(jù)公式r=max〔Zi/(xi-li)V-Zi/(ui-xi)〕確定所述當(dāng)前迭代的補(bǔ)償松馳系數(shù);e)由公式δ=-min〔Zi/(xi-li)2∧-Zi/(ui-xi)2,確定所述當(dāng)前迭代的對(duì)偶可行性系數(shù);f)由公式r+Mδ<(e/n)測(cè)試當(dāng)前迭代,這里M=max〔(xi-li)∧(ui-xi)〕,e=一個(gè)任意小的誤差量度;g)如果步驟(f)中的測(cè)試條件不滿足,而且如果r<1,則置x←x-z并返回步驟(b);h)如果步驟(f)中的測(cè)試條件不滿足,而且如果r≤1,則置x←x-αz/r,這里0≤α≤1,并返回步驟(b);i)如果步驟(f)中的測(cè)試條件得到滿足,則根據(jù)所述當(dāng)前分配迭代值來(lái)分配所述資源。
10.一個(gè)利用卡氏算法在一組資源用戶之間分配工業(yè)或技術(shù)資源xi(i=1,n)的方法,它在約束條件∑AijXj=b1和Xi≥0(i=1;n;j=1,m)之下使費(fèi)用函數(shù)Ci·Xi最優(yōu)化,該方法的特點(diǎn)是a)構(gòu)成對(duì)偶模型極大化b·ω使?jié)M足ATω≤cω是自由的;b)將步驟(a)中的極大化部分分解如下極大化〔bo〕·〔ων〕使?jié)M足〔ATI〕〔ων〕=cω是自由的ν≥0,這里ν是無(wú)約束變量子集,I是單位矩陣;c)在為接近于所述最優(yōu)費(fèi)用的一次迭代中,根據(jù)下列公式確定當(dāng)前迭代的中心化值和下一次迭化的方向Zω=-(AD-2vAT)-1b,ω=-D-2vATZωZν=+D2vx=-ATTZω,這里D=所述受約束資源的當(dāng)前分配情況下的對(duì)角矩陣;d)由公式r=max〔(Zv)i/νi〕確定所述當(dāng)前迭代的補(bǔ)償松馳系數(shù);e)由公式δ=-min〔Zν)i/ν2i〕確定所述當(dāng)前迭代的對(duì)偶可行性系數(shù);f)用不等式r+Mδ<(e/n)(|b·ω|+1)測(cè)試當(dāng)前迭代,這里M=max(νi),e=一個(gè)任意小的誤差度量;g)如果步驟(f)中的測(cè)試條件不滿足,則置ω←ω-αZω/rν←ν-αZν/r并返回步驟(b);h)如果步驟(f)中的測(cè)試條件得到滿足,則按當(dāng)前分配的迭代值來(lái)分配所述資源。
11.根據(jù)卡氏算法分配資源的一種方法,其特點(diǎn)是返復(fù)地從一個(gè)重新標(biāo)度的多面體內(nèi)部向該多面體的最佳值頂點(diǎn)跨步;當(dāng)r+Mδ< (e)/(n)時(shí),則終止這個(gè)反復(fù)跨步過(guò)程,這里r=max(zi/xi),δ=-min(zi/x2i),M=max(xi),e=一個(gè)任意的誤差量度,n=分配變量的數(shù)目,xi=當(dāng)前資源分配的第i個(gè)分量,zi=下一跨步的方向的第i個(gè)分量;當(dāng)采取所述終止步驟時(shí),按照所述當(dāng)前分配情況下所確定的值對(duì)所述資源進(jìn)行分配。
12.在實(shí)質(zhì)上是一種在最佳分配值的情況下終止卡氏算法迭代過(guò)程的方法,其特點(diǎn)是根據(jù)公式
確定補(bǔ)償松馳系數(shù)r,這里xi=當(dāng)前分配值的第i個(gè)分量,zi=在分配值x處目標(biāo)函數(shù)負(fù)梯度的第i個(gè)分量;根據(jù)公式
確定對(duì)偶可行性系數(shù)δ;當(dāng) r+Mδ< (e)/(n)時(shí)終止該迭代過(guò)程,這里M是X的最大分量之值,e是一個(gè)任意小誤差度量,n是X的分量數(shù)目。
13.以最佳方式應(yīng)用卡氏算法進(jìn)行資源分配的裝置,其特點(diǎn)是以迭代方式逼近于所述資源的最佳分配;當(dāng)補(bǔ)償松馳系數(shù)和對(duì)偶可行性系數(shù)的一個(gè)函數(shù)小于一個(gè)預(yù)先選定的誤差值時(shí)終止迭代逼近的裝置。
14.根據(jù)權(quán)利要求
13的裝置,其特點(diǎn)是所述補(bǔ)償松馳系數(shù)是所述迭代逼近過(guò)程的下一次迭代的方向分量與相應(yīng)的分配分量之比的最大值。
15.根據(jù)權(quán)利要求
13的裝置,其特點(diǎn)在于所述對(duì)偶可行性系數(shù)是所述迭代逼近過(guò)程下一次迭代的方向分量與相應(yīng)分配分量平方值之間的最小比值的負(fù)值。
專(zhuān)利摘要
用卡馬卡爾算法在解空間多面體內(nèi)求解的最佳資源布局方法和裝置。假定至少有一個(gè)布局變量值是無(wú)約束的,用當(dāng)前解點(diǎn)的一對(duì)角矩陣,對(duì)解點(diǎn)的近似值及多面體加以歸一化,使解點(diǎn)位于歸一化多面體中心。將目標(biāo)函數(shù)投影到該歸一化空間,在多面體內(nèi)沿目標(biāo)函數(shù)梯度最速下降方向跨出下一步,步長(zhǎng)保持在多面體內(nèi),反復(fù)該過(guò)程直到很接近最佳解為止。所得算法步驟能方便地應(yīng)用于求起始點(diǎn)初態(tài)問(wèn)題及對(duì)偶問(wèn)題,其中自由變量假定產(chǎn)生了出乎預(yù)料的計(jì)算上的好處。
文檔編號(hào)G06Q10/00GK87102679SQ87102679
公開(kāi)日1987年11月11日 申請(qǐng)日期1987年4月10日
發(fā)明者羅伯特·約瑟夫·萬(wàn)德?tīng)栘?申請(qǐng)人:美國(guó)電話電報(bào)公司導(dǎo)出引文BiBTeX, EndNote, RefMan