亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

最優(yōu)化問題的求解方法及其系統(tǒng)的制作方法

文檔序號:6552868閱讀:412來源:國知局
專利名稱:最優(yōu)化問題的求解方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明有關(guān)最優(yōu)化領(lǐng)域;特別是指一種基于本地搜索技術(shù)在一組約束下的最優(yōu)化問題的求解方法及其系統(tǒng)。
背景技術(shù)
在所有工業(yè)中都存在最優(yōu)化問題。例如,最優(yōu)化問題涉及生產(chǎn)線上的計畫、調(diào)度和產(chǎn)品制造的制程。這些制程通常比較復(fù)雜,而且取決于很多因素,如設(shè)備的可變生產(chǎn)量、制造過程的多個階段、使用單一資源的多種產(chǎn)品的生產(chǎn)、人力或制程限制以及具體工業(yè)的其它特定因素(例如產(chǎn)品生產(chǎn)周期)等。一般而言,可存在大量用來管理這些工藝的規(guī)則或約束。因此,在環(huán)境約束條件內(nèi)如何計畫、調(diào)度或配置以最優(yōu)地完成這些制程是十分重要的。
求解最優(yōu)化問題的常規(guī)技術(shù)包括人工和自動最優(yōu)化方法。人工方法需要人的介入。通過人工方法獲得的最優(yōu)化程度很大程度上取決于所涉及的人的技能和經(jīng)驗,以及最優(yōu)化問題的大小(由對應(yīng)于該最優(yōu)化問題的潛在解的數(shù)目和約束的數(shù)目表示)。同時,人工方法耗時、棘手而且可導(dǎo)致例如不良的解品質(zhì)和人為錯誤等問題。隨著最優(yōu)化問題牽涉的范圍越廣,人工方法變得不可行。自動最優(yōu)化方法利用定義好的算法求解最優(yōu)化問題。一類常見的自動最優(yōu)化方法是基于本地搜索(LS)的概念。該技術(shù)涵蓋了一系列組合啟發(fā)式算法(combinatorialheuristics),如模擬退火算法(simulated annealing)、遺傳算法(geneticalgorithm)、禁忌搜索(taboo search)算法和演化算法(evolutionaryalgorithm)。以下提供了此類啟發(fā)式算法的參考,包括“Facts,Conjecturesand Improvements for Simulated Annealing”,作者P.Salamon、P.Sibani和R.Frost,于2002年由SIAM Monograph出版。
而“Genetic Algorithms and Engineering Design”,作者M.Gen和R.Chang,于1997年由John Wiley & Sons出版,提供了另一個此類啟發(fā)式算法。
再者,“Modern Heuristic Techniques for Combinatorial Problems”,作者Colin Reeves,于1993年由Halsted Press出版,也提供了另一個此類啟發(fā)式算法。
LS技術(shù)通過在解的區(qū)間內(nèi)制造局部運動(local move)來求解最優(yōu)化問題。舉例來說,制造—調(diào)度問題的解可為生產(chǎn)調(diào)度的數(shù)學(xué)表達式,其實際上是制造不同物品所依據(jù)的時間表。在所有的LS啟發(fā)式算法中,通過方便的機制產(chǎn)生一個或一個以上解。可使用任何方便的機制,因為最初的一組解無需滿足任何約束;因此,它們甚至可隨機生成。LS啟發(fā)式算法通過較小改變或局部改變來系統(tǒng)地提煉該組解。此產(chǎn)生一組新的候選解。用于生成這些局部改變的技術(shù)根據(jù)所使用的LS啟發(fā)式算法不同而不同。然后,評估該組候選解,以判定對現(xiàn)有約束的欠缺或違反。基于根據(jù)所使用的啟發(fā)式算法不同而變化的接受標準,接受該等候選解中的一個或一個以上。重復(fù)此過程,直到這些解無可觀改善,或超過計算預(yù)算。實際上,獲得高品質(zhì)的解需要大量運動(move),且LS啟發(fā)式算法的實際利用率取決于對照若干約束對大量(近10δ至108個)候選解的有效評估。
通常,對解的評估是針對整個解。這需要高速且存儲容量大的計算機。如果評估以增量方式實施(即,僅評估發(fā)生變化的解的鄰域),那么該方法是特別針對于特定約束,且取決于局部運動發(fā)生的方式。這需要廣泛且延續(xù)的軟件開發(fā)或其它產(chǎn)品開發(fā)。因此,很明顯,所拖延的計算時間和高成本限制了基于本地搜索的方法的實際使用。
因此,需要發(fā)展一種能加速計算過程,同時能有效求解實際最優(yōu)化問題的技術(shù)。這種技術(shù)應(yīng)該是成本有效的。還應(yīng)有可能將其實施于工作站和PC上,而過程需要最少的人力干預(yù)。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種用于有一組約束的最優(yōu)化問題的求解方法及其系統(tǒng)。
本發(fā)明的另一個目的在于提供一種對用于有一組約束的最優(yōu)化問題的一組解進行增量評估的求解系統(tǒng)及其方法。
本發(fā)明的又一個目的是提供一種用于最優(yōu)化問題的求解系統(tǒng)及其方法,其中對解的評估與約束的性質(zhì)無關(guān)。
本發(fā)明的再一個目的是提供一種用于最優(yōu)化問題的求解系統(tǒng)及其方法,其中對解的評估與候選解是以何種方式產(chǎn)生的無關(guān)。
為達上述目的,在本發(fā)明提出一種用于有一組約束的最優(yōu)化問題的求解方法及其系統(tǒng)。在該方法中,對照這些約束評估一組解。該評估生成一組初始違反度量(violation metrics)和一組捕獲了LS進程期間執(zhí)行增量評估所需要的信息的狀態(tài)。在此初步評估之后,用一組操作數(shù)以能典型代表所使用的LS啟發(fā)式算法的方式從該組解生成一組候選解。操作數(shù)對于解的作用用一組變化點來表示。然后,利用與所計算的狀態(tài)相關(guān)聯(lián)的信息,在每個變化點的鄰域評估每個候選解。增量評估的輸出是一組新的違反度量和與解中的變化點相對應(yīng)的新狀態(tài)。針對每個約束的違反度量的變化接著被變換為成本函數(shù)的變化?;谠隽吭u估和能典型代表該LS啟發(fā)式算法的接受標準,接受一候選解。對每個候選解重復(fù)上述過程。若滿足終結(jié)標準,則結(jié)束過程,舉例而言,如果迭代數(shù)目超過特定的迭代數(shù)目,或者如果經(jīng)過若干迭代,解已無進一步改善的情況。
為達上述目的,在本發(fā)明提出一種用于有一組約束的最優(yōu)化問題的求解方法及其系統(tǒng)。該系統(tǒng)包括用于評估最優(yōu)化問題的解、生成解的違反度量和狀態(tài)和更新違反度量和狀態(tài)的構(gòu)件。該系統(tǒng)還包括用于運算一組解以產(chǎn)生一組候選解的構(gòu)件、用于接受最優(yōu)化問題的解的構(gòu)件和用于解和狀態(tài)的比較的構(gòu)件。


圖1顯示根據(jù)本發(fā)明的實施例的用于實現(xiàn)最優(yōu)化問題的求解方法的計算系統(tǒng);圖2顯示根據(jù)本發(fā)明的實施例的最優(yōu)化問題的求解方法的流程圖;圖3說明根據(jù)本發(fā)明的實施例的最優(yōu)化問題的求解系統(tǒng);圖4說明根據(jù)本發(fā)明的實施例的違反度量至成本的映像;及圖5說明根據(jù)本發(fā)明的實施例的用于實現(xiàn)啟用增量評估的系統(tǒng)的示意電路圖。
具體實施例方式
為達清楚說明,本文所使用的術(shù)語定義如下解解是函數(shù)或程序的數(shù)學(xué)表達式,是由最優(yōu)化問題產(chǎn)生的所要結(jié)果。其可由元素列表表示,其中元素自身可為其它列表。解的元素通過一組坐標{i1,i2,...,iN}索引。例如,對于解以二維表示的問題,索引列表{2,3}是指解中的第二列表的第三元素。代表生產(chǎn)線調(diào)度的甘特圖表(Gantt chart)是這類表達式的一個例子。
約束約束是解應(yīng)該理想地滿足的規(guī)則。該規(guī)則可適用于解的某一單個點,或者其可控制一組點的特征。違反約束會直接或間接地導(dǎo)致發(fā)生成本或懲罰(penalty),且通過違反度量進行量化。
評估單元(Evaluator)評估單元對照一約束或一組約束檢查一個單一解。評估單元的輸出是一組違反度量。違反度量被變換為成本函數(shù)或成本——最優(yōu)化的目標函數(shù)。
目標函數(shù)目標函數(shù)被定義為被最優(yōu)化的函數(shù)。例如,在例示性制造情境中,解是生產(chǎn)線的調(diào)度,而目標函數(shù)是最小化的懲罰或成本。
狀態(tài)狀態(tài)是針對某一設(shè)定約束對解的每個元素進行界定。一個元素的狀態(tài)編碼了針對該約束,所有其它元素對該元素的影響。
運算單元運算單元生成在解區(qū)間內(nèi)的運動,借此從現(xiàn)有的一組解中生成候選解。
運動由操作數(shù)生成的運動是由變化點列表表示的。在實施例中,每個變化點是一個包括兩個元素的列表。第一元素是坐標范圍,而第二元素是對應(yīng)于該坐標范圍的變化的列表。在例示性運動中,由變化點的第一元素索引的解的元素可以被變化點的第二元素取代。
本發(fā)明提供了一種用于在一組約束下的最優(yōu)化問題的求解方法、系統(tǒng)和計算機程序產(chǎn)物。一種最優(yōu)化問題可以是旅行銷售員問題(traveling salesman problem,TSP)。對這一問題的解涉及找出訪問一組城市的最佳順序,以最小化成本函數(shù),如總旅行距離或時間。提供了每對城市之間的旅行成本。另一個最優(yōu)化問題是制造環(huán)境中的生產(chǎn)線上一組生產(chǎn)任務(wù)的排序問題。每個任務(wù)可具有相關(guān)的限期。另外,可能有大量的相關(guān)約束,如任務(wù)的后續(xù)或優(yōu)先、可排在一定時期或周期內(nèi)的最大或最小數(shù)目的給定類型的任務(wù),以及任務(wù)之間的間隔。最優(yōu)化目標是將每個任務(wù)時間排定成可滿足有關(guān)限期和所有相關(guān)約束。本發(fā)明適用于求解分配計畫、車輛行程安排、多級調(diào)度領(lǐng)域中的各種最優(yōu)化問題和不限于該等例子的其它最優(yōu)化問題。
為幫助理解,運用下例進一步闡釋所定義的術(shù)語在旅行銷售員問題(TSP)中,問題的解是一個與要訪問的城市順序相對應(yīng)的城市列表。對于控制旅行距離的約束,某一指定城市的狀態(tài)可以是抵達該城市所經(jīng)過的累計距離。生成局部運動的操作數(shù)的例子是使列表中的兩個城市發(fā)生交換的操作數(shù)。如果列表中的兩個城市Q和Cj發(fā)生交換,那么生成的運動可由如下列表表示{{{i,i},{Cj}},{{j,j},{C,}}}。應(yīng)注意,當問題的解發(fā)生變化時,對應(yīng)的那組狀態(tài)也發(fā)生變化。
本發(fā)明的方法是實現(xiàn)于計算系統(tǒng)上,該計算系統(tǒng)還包括用戶輸入裝置和用戶輸出裝置。圖1顯示了根據(jù)本發(fā)明的例示性實施例的用于實現(xiàn)最優(yōu)化問題的求解方法的計算系統(tǒng)100。計算系統(tǒng)100包括執(zhí)行最優(yōu)化的處理器102。處理器102可為一個或一個以上通用處理器或?qū)S锰幚砥?,如Pentium、Centrino、Power PC和數(shù)字信號處理器(DSP)。計算系統(tǒng)100還包括一個或一個以上用戶輸入裝置104,如鼠標、鍵盤和其它用戶輸入裝置。計算系統(tǒng)100還包括一個或一個以上輸出裝置106,如適用的顯示器、致動器、電子裝置和其它輸出裝置,這取決于處理作業(yè)。存儲器108(如只讀存儲器、隨機存取存儲器或高速緩沖存儲器)提供了存儲求解最優(yōu)化問題過程中產(chǎn)生的計算值所需要的存儲量。存儲器108還可包括(但不限于)一個或一個以上應(yīng)用程序、移動代碼和用于執(zhí)行所需要的應(yīng)用程序的資料。處理器102可包括操作系統(tǒng)(OS)110。OS110的類型可取決于計算系統(tǒng)100的功能或計算系統(tǒng)100的特定設(shè)備或零件。OS 110可以是Windows、WindowsCE、Mac OSX、Linux、Unix、Palm OS變體、私有OS和其它OS 110。儲存器112可存儲所需要的資料和其它應(yīng)用程序,如硬盤、軟盤、光盤、數(shù)字多用途光盤(DVD)、部分或全部硬化的可移動媒體以及其它可移動盤。
一個或一個以上適用的通信界面114在兩個裝置之間直接通信或通過適用的私有或公共網(wǎng)絡(luò)通信,以交換與最優(yōu)化問題相關(guān)的資料和其它信息。通信界面114可為調(diào)制解調(diào)器、DSL、紅外收發(fā)器、射頻(RF)收發(fā)器或其它適用的收發(fā)器。上述系統(tǒng)的組件通過通信通道116連接,如總線。通信通道116也可包括(但不限于)用于平行處理或聚簇實現(xiàn)(cluster implementation)的裝置。
圖2是顯示根據(jù)本發(fā)明的實施例的求解最優(yōu)化問題的方法的流程圖。該方法涉及基于本地搜索(LS)啟發(fā)式算法,在一組約束下的最優(yōu)化問題之求解流程圖。LS啟發(fā)式算法的實例包括模擬退火算法(simulatedannealing)、遺傳算法(genetic algorithm)、禁忌搜索(taboo search)算法和演化算法(evolutionary algorithm)。在步驟202,在一組約束條件下,評估最優(yōu)化問題的一組解。基于對該組解的評估,在步驟204產(chǎn)生初始違反度量組和狀態(tài)組。然后,利用能典型代表所使用的LS啟發(fā)式算法的一組運算單元,在步驟206,從該組解衍生出一組候選解。
在本發(fā)明的一個實施例中,每個操作數(shù)本質(zhì)上都是一個數(shù)學(xué)函數(shù),其通過生成一組變化點來修改一組解中的一個解。此前已提供了運算單元和相關(guān)的變化點的定義。通過對該解應(yīng)用數(shù)學(xué)函數(shù)產(chǎn)生候選解,并通過一組變化點描述其結(jié)果。相應(yīng)地,基于該等變化點,從狀態(tài)生成新的狀態(tài)集。在步驟208,增量評估該候選解。在特定變化點的鄰域局部執(zhí)行增量評估。應(yīng)注意,評估完全由(i)解點(solution point)和(ii)該點的狀態(tài)來決定。因此,只要候選解邏輯上與解不等或者狀態(tài)與新狀態(tài)不等,就執(zhí)行增量評估。增量評估的過程下文稍后詳細描述。在步驟210,檢查被評估的候選解是否可接受,作為最優(yōu)化問題的解。所述檢查是基于接受標準。
該接受標準視LS啟發(fā)式算法而定。例如,在模擬退火算法中,如果候選解成本更低,那么候選解被接受;即使其成本更高,那么概率上來說它也有可能會被接受。在遺傳算法中,基于成本排列順序或適應(yīng)度函數(shù),從一組初始候選解中選擇一組解。接著,在步驟212,如果解被接受,那么更新違反度量和狀態(tài)。
步驟214檢查是否已經(jīng)測試了所有的候選解,而步驟216檢查是否已滿足終結(jié)標準?;蛘撸俅萎a(chǎn)生新一組的候選解以供評估,直到滿足終結(jié)標準。在本發(fā)明的一個實施例中,終結(jié)標準可為完成了預(yù)定數(shù)目的迭代,其取決于例如最優(yōu)化問題的復(fù)雜性和用于求解最優(yōu)化問題可用的時間等因素。另一個終結(jié)標準可為經(jīng)過數(shù)次迭代后,整體解品質(zhì)幾乎無任何改善。以此方式,對于每個違反了約束的解,在各變化點生成一個候選解并進行評估,以產(chǎn)生經(jīng)過數(shù)次迭代得到改善的解。
圖3說明根據(jù)本發(fā)明的實施例的最優(yōu)化問題的求解系統(tǒng)300。系統(tǒng)300包括評估單元302、運算單元304和接受單元306。在本發(fā)明的各實施例中,系統(tǒng)300進一步包括存儲陣列308、310、312和314。存儲陣列308和310分別存儲解和對應(yīng)的狀態(tài)。存儲陣列312和314分別存儲新狀態(tài)和違反度量。評估單元302包括步進器316和比較器318。在本發(fā)明的一個實施例中,評估單元302還包括存儲陣列320。步進器316對照約束對候選解執(zhí)行逐步評估。比較器318可比較兩個參數(shù)(如兩個解點或兩個狀態(tài))的邏輯相等性。存儲陣列320還可存儲解、候選解、違反度量和評估期間生成的各種狀態(tài)。
根據(jù)上述方法,存儲陣列308和310把解和對應(yīng)的狀態(tài)輸入到評估單元302中。評估器302基于對解的評估產(chǎn)生一組初始違反度量和新狀態(tài)。存儲陣列308還將解輸入到運算單元304中。運算單元304對解執(zhí)行運算,生成候選解。候選解在新狀態(tài)接受評估單元302的評估。如果接受單元306接受候選解,那么更新所存儲的違反度量和狀態(tài)。
每個系統(tǒng)組件(如步進器316和比較器318)可利用邏輯電路或軟件模塊來實現(xiàn)。每個存儲陣列308、310、312、314和320可為存儲裝置,如隨機存取存儲器和只讀存儲器。
評估單元302評估最優(yōu)化問題的解,生成對應(yīng)的違反度量,同時還更新違反度量和狀態(tài)。評估單元302儲存該等狀態(tài)所對應(yīng)的信息。評估器302還評估在設(shè)定約束下的一組解。在本發(fā)明的一個實施例中,支持任何可作為軟件代碼執(zhí)行的約束??赏ㄟ^隨機統(tǒng)計技術(shù)或現(xiàn)有技術(shù)中已知的其它技術(shù)生成一組解。例如,可通過更簡單的貪婪啟發(fā)式算法或圖案或優(yōu)先解基礎(chǔ)針對一簡約約束集(reduced constraint set)中生成一組解。評估單元302還包括映像當前解與候選解的坐標之間的關(guān)系的函數(shù)。
在本發(fā)明的一個實施例中,評估可分兩個階段發(fā)生。在第一評估階段,評估器302對應(yīng)于該組初始解中的各解,生成針對設(shè)定約束的一組初始違反度量(VM)和狀態(tài)。在此階段,評估單元302開始評估零狀態(tài)(null state)的解。零狀態(tài)對應(yīng)于所有變量的量值為0的狀態(tài)。步進器316已設(shè)置了用于零狀態(tài)的規(guī)則。完成評估時,評估單元302繁殖(populate)出各種狀態(tài)。此評估是利用稱為“EVAL”函數(shù)執(zhí)行的。
VM是違反約束的量度標準,即,解與約束的一致程度。違反可具有可變量值,且不同的違反可以不同的方式影響解的成本。在狀態(tài)機術(shù)語中,VM是步進器316的輸出。例如,TSP中可存在一個約束——旅行中同一省內(nèi)不得連續(xù)出現(xiàn)多于三個城市。在這種情形下,VM是向量,其中每個向量可具有對應(yīng)于旅行中每個省變化的元素;且向量的量值對應(yīng)于該省內(nèi)城市的行程(run length)。這可以以不同的方式影響到成本。在有些情況下,無論行程多少(即,無論行程是4或是40),約束的違反(即具有多于三個城市的省內(nèi)的所有路途)可同樣不利。在其它情況下,成本可為違反的函數(shù),且可換算作違反的二次冪或者更高冪。因此,VM與違反相對應(yīng),且一個獨立的數(shù)學(xué)函數(shù)將其變換(transform)、規(guī)范化(normalize)和換算(scale)為成本(參看圖4)。本實例中的VM是一個向量,但是一般而言,其可以是與解結(jié)構(gòu)相同的列表。
圖4說明了VM至成本的映像。VM{VM-i,,VMj,...,VMn}至成本的映像包括四個步驟。在步驟402,基于一定義函數(shù),發(fā)生VM變換。此變換的目的是反映違反的影響。在步驟404,規(guī)范化已變換過的VM,以消除可發(fā)生在不同約束內(nèi)的VM量值固有變化(intrinsic variation)的作用。在步驟406,換算已規(guī)范化的VM。該換算反映了可賦于每個約束的優(yōu)先權(quán)。因此,優(yōu)先權(quán)高的約束比優(yōu)選權(quán)低的約束具有更高的換算系數(shù)(scale factor)。然后,按照所使用的基于LS的算法所特定的方式,對照接受標準評估圖4中所計算出的成本。
概括而言,成本是約束違反、與違反相關(guān)的規(guī)則和其它可變參數(shù)的函數(shù),以實現(xiàn)一系列行為和影響。視用來實施本發(fā)明的LS算法而定,術(shù)語“成本”可以被稱為罰函數(shù)(penalty function)或適應(yīng)度函數(shù)(fitnessfunction)。
第一階段評估之后,產(chǎn)生一組對應(yīng)于該組解的初始VM和狀態(tài)。然后,利用操作數(shù)對解進行運算,以產(chǎn)生解的局部運動。在最優(yōu)化問題中,運算解的目的是修改解。在本發(fā)明的一個例示性實施例中,增量評估的進行與運算無關(guān)。這就允許本實施例可具有任何數(shù)目的操作數(shù),而每個操作數(shù)可適用于特定應(yīng)用。
在本發(fā)明的一個實施例中,操作數(shù)可對解進行若干運算。這些運算包括(但不限于)“交換(swap)”、“插入(insert)”、“移位(shift)”和“刪除(delete)”運算。在本發(fā)明的一個例示性實施例中,運算期間可使解的坐標移位。例如,解的交換運算可能不改變未牽涉到該運算的元素或元素部分的坐標。但是,對解的部分的“刪除”運算和“插入”運算可能會改變解中元素的坐標。運算的效果可持續(xù)(persist)或溢出(spill over)到解的其它區(qū)域。例如,在TSP中,如果狀態(tài)與部分距離(partial distance)列表一致,那么任何兩個城市的交換會改變發(fā)生交換的兩個城市間的所有城市的部分距離。
運算之后,生成自解衍生出的至少一個候選解。候選解經(jīng)歷第二階段的評估。
在此階段,在一組約束下針對與新狀態(tài)的操作數(shù)相對應(yīng)的變化點對候選解進行評估。此過程可稱為增量評估。增量評估可利用“INC_EVAL”函數(shù)實施。增量評估按步驟進行。每個步驟用一組整數(shù)索引。在各步驟,評估候選解的變化。該變化對應(yīng)于與對該解作用相應(yīng)的操作數(shù)的變化點,該變化促成候選解的生成。評估器302評估新狀態(tài)的候選解,并計算相應(yīng)的VM和下一狀態(tài)。此VM稱為增量VM(INC_VM)。
第二階段評估之后,候選解可被接受。在本發(fā)明的一個實施例中,基于評估器302外的邏輯,接受候選解。該邏輯可以“ACCEPT”函數(shù)的形式實施。一旦候選解被接受,基于被接受的解,更新增量VM和新狀態(tài)。已經(jīng)更新的增量VM被稱為更新VM。如果候選解未被接受,那么評估下一候選解。重復(fù)此過程,直到該組候選解中的所有候選解都經(jīng)過評估。
概括而言,評估單元302包含“EVAL”、“INC_EVAL”和“ACCEPT”函數(shù)。若設(shè)定一解和一相應(yīng)的狀態(tài)作為輸入,那么上述函數(shù)在評估過程中生成輸出VM、INC_VM和新狀態(tài)。
圖5說明根據(jù)本發(fā)明的實施例的用于實現(xiàn)啟用增量評估的系統(tǒng)的示意電路圖。在本實例中,解是向量,且可將坐標理解為不連續(xù)的時鐘滴答(clock tick)。如前所述,存儲陣列308存儲解,且存儲陣列310存儲解的狀態(tài)。ClockO 502生成存儲陣列308中所存儲的解的坐標。存儲陣列504存儲候選解,而存儲陣列312存儲候選解所對應(yīng)的新狀態(tài)。Clock 506生成存儲陣列504中所存儲的候選解的坐標。對應(yīng)于運算效果可能是改變坐標的事實,這兩個時鐘的不同在于一系列“相位偏移(phase shifts)”。在本發(fā)明的實施例中,Clock 506可通過任何標準的時鐘產(chǎn)生電路(clock-generating circuit)實現(xiàn),且施以適當偏移以衍生出ClockO 502。在本發(fā)明的另一實施例中,ClockO 502和Clock 506可通過使用軟件代碼實現(xiàn)。
存儲陣列504中存儲的候選解和存儲陣列308中的存儲解是不等式(IEQ)部件508的輸入。存儲陣列312中存儲的新狀態(tài)和存儲陣列310中存儲的狀態(tài)是IEQ部件510的輸入。每個IEQ部件508或510檢查其兩個輸入之間是否邏輯相等,且若輸入不等,則輸出“1”。IEQ部件508或510的輸出是OR邏輯塊512的輸入。如果OR邏輯塊512的輸出是“1”(即,候選解與解邏輯不相等,或狀態(tài)與新狀態(tài)邏輯不相等),步進器316則取存儲陣列504中存儲的候選解作為輸入。步進器316檢查至少一個約束的違反。步進器316于評估候選解時生成增量VM(INC_VM)。生成的INC_VM存儲在存儲陣列514中。每次增量評估后,還更新新狀態(tài)。如果增量評估后,候選解被接收,則將新狀態(tài)回饋給步進器316和IEQ部件510。視IEQ部件510的輸出情況,可重復(fù)上述過程。在本發(fā)明的一個實施例中,IEQ部件508和510和OR邏輯塊512包括在圖3的比較器318中。上述比較是通過將對應(yīng)于INC_VM的候選解和新狀態(tài)與對應(yīng)于初始VM的解和狀態(tài)相比較而實現(xiàn)。也可有其它比較VM的手段。
步進器316的部件“Comp Rule”516編碼用于判定解或候選解是否在某點發(fā)生違反且若已發(fā)生違反則判定違反程度的規(guī)則的特定邏輯。也就是說,Comp Rule 516編碼用來生成VM和狀態(tài)的邏輯。步進器316(特別是′Comp Rule′516)可利用可編程邏輯陣列(PLA)執(zhí)行。
本發(fā)明適用于以計算成本有效的方式對照多個約束來評估大量候選解(約106至108個)。在本發(fā)明的一個實施例中,評估器302存儲狀態(tài)信息,該狀態(tài)信息允許評估器302從一組解或候選解的任何一點對其評估。每個評估器僅在與現(xiàn)有解不同的點處對候選解進行增量評估。通過考慮解中僅僅與現(xiàn)有解不同的那些部分的鄰域,評估器302可快速計算出這些差異。
每個評估單元具有相同結(jié)構(gòu),與約束及從現(xiàn)有解衍生候選解的方式無關(guān)。每個評估單元中包含了狀態(tài)信息,該狀態(tài)信息在解的每個點總結(jié)(summarize)解中其它部分對該點的作用。以此方式,評估單元302可僅處理解中有差異的部分,而無需評估整個解。需注意,Oomp Rule′516是排列中惟一根據(jù)約束違反相關(guān)規(guī)則而變化的部件;所有其它部件針對所有規(guī)則不變。另外,評估單元的所有部件針對所有操作數(shù)不變。因此,在本發(fā)明的一個實施例中,添加新的約束或操作數(shù)要求最少的附加邏輯以實施本發(fā)明。本發(fā)明具有與常規(guī)方法相比可使求解最優(yōu)化問題所需要的時間降低2到3個數(shù)量級的優(yōu)勢。本發(fā)明還支持任何用于從現(xiàn)有解生成候選解的機制。
本發(fā)明可實現(xiàn)于硬件,如圖3和圖5所述。其可實現(xiàn)于集成電路或集成電路的一部分中,如應(yīng)用程序特定集成電路、現(xiàn)場可編程門陣列、可編程邏輯陣列和完全定制集成電路。
本發(fā)明還可實現(xiàn)作軟件。特定而言,在本發(fā)明的一個實施例中,可通過利用模擬退火算法以Java實現(xiàn)本發(fā)明。因為評估單元享用一共同結(jié)構(gòu)且僅在反映特定約束的計算規(guī)則方面不同,所以在本發(fā)明的面向?qū)ο蟮膶崿F(xiàn)(object-oriented implementation)中,每個評估單元在單個方法上不同。根據(jù)特定應(yīng)用的要求,還可使用各種編程語言或其它工具,如與C語言變體(如C++、C#)兼容的編程語言或工具、或其它編程語言。
本發(fā)明描述的系統(tǒng)或其任何組件可具體表現(xiàn)為計算機系統(tǒng)的形式。常見的計算機系統(tǒng)實例包括通用計算機、編程微處理器、微控制器、外圍集成電路(peripheral integrated circuit)組件和其它能實現(xiàn)構(gòu)成本發(fā)明的方法的步驟的裝置或裝置排列。
計算機系統(tǒng)包括計算機、輸入裝置、顯示單元和互聯(lián)網(wǎng)。計算機包括微處理器。微處理器連接至通信總線。計算機還包括存儲器。存儲器可包括隨機讀取存儲器(RAM)和只讀存儲器(ROM)。計算機系統(tǒng)進一步包括存儲裝置。其可為硬盤驅(qū)動或可移動的存儲裝置,如軟盤驅(qū)動、光盤驅(qū)動等。存儲裝置還可為其它用于將計算機程序或其它指令下載到計算機系統(tǒng)的類似構(gòu)件。
計算機系統(tǒng)執(zhí)行存儲在一個或一個以上存儲元件中的一組指令,以處理輸入數(shù)據(jù)。存儲元件還可按需要保存資料或其它信息。它們可以為信息源形式或處理機中存在的物理存儲器組件。
該組指令可包括指示處理機執(zhí)行特定任務(wù)(例如,構(gòu)成本發(fā)明的方法的步驟)的命令。該組指令可以是軟件程序的形式。所述軟件可為各種形式,例如系統(tǒng)軟件或應(yīng)用軟件。另外,軟件可為獨立程序、具較大程序的程序模塊、或程序模塊的一部分的集合的形式。軟件還可以包括面向?qū)ο蟮木幊绦问降哪K編程。處理機對輸入資料的處理可以是響應(yīng)用戶命令、響應(yīng)前次處理的結(jié)果或響應(yīng)另一處理機發(fā)出的請求。
盡管上文已經(jīng)描述和說明本發(fā)明的優(yōu)選實施例,但是應(yīng)了解本發(fā)明不應(yīng)僅僅受限于該等實施例。在不脫離本發(fā)明的精神和范疇的情況下,所屬領(lǐng)域的技術(shù)人員將不難發(fā)現(xiàn)本發(fā)明的若干修改、變更、變體、替代及其對等物,其范圍應(yīng)由權(quán)利要求書界定。
權(quán)利要求
1.一種在一組約束下的最優(yōu)化問題的求解方法,其特征在于,該方法包含a.評估在該組約束下的該最優(yōu)化問題的一組解;b.基于與評估期間違反了至少一個約束的該組解相對應(yīng)的該組約束,生成初始違反度量組和狀態(tài)組;c.利用一組操作數(shù)生成一組從該組解衍生出的候選解,其中每個操作數(shù)以一組變化點為特征;d.在該等變化點評估該組候選解;e.基于一接受標準,測試一被評估的候選解的可接受性;f.若所測試的候選解被接受,則基于被接受的候選解更新違反度量和狀態(tài);g.重復(fù)步驟e至步驟f,直到所有被評估的候選解都經(jīng)過接受性測試;及h.重復(fù)步驟c至步驟g,直到滿足一終結(jié)標準。
2.如權(quán)利要求1所述的求解方法,其特征在于評估該最優(yōu)化問題的該組解的步驟包括利用零狀態(tài)評估該組解。
3.如權(quán)利要求1所述的求解方法,其特征在于包括將每個違反度量映像至一成本之步驟,該映像步驟包括a.基于一定義函數(shù)變換每個違反度量;b.規(guī)范化每個經(jīng)過變換的違反度量;c.基于與各變量相關(guān)的優(yōu)先權(quán)換算每個規(guī)范化的違反度量;及d.合計經(jīng)過換算的違反度量,以生成與違反約束相關(guān)的成本。
4.如權(quán)利要求1所述的求解方法,其特征在于通過該組操作數(shù)執(zhí)行的運算包括解的交換、插入、移位和刪除運算中的至少一個運算。
5.如權(quán)利要求1所述的求解方法,其特征在于評估該組候選解的步驟包括在與對應(yīng)的操作數(shù)相關(guān)的各變化點,增量評估該組候選解中的一個候選解。
6.如權(quán)利要求1所述的求解方法,其特征在于增量評估該候選解,直到該候選解與對應(yīng)解邏輯相等,且該候選解所對應(yīng)的狀態(tài)與該對應(yīng)解所對應(yīng)的狀態(tài)邏輯相等。
7.如權(quán)利要求1所述的求解方法,其特征在于當發(fā)生下列情形時,滿足該終結(jié)標準a.已完成預(yù)定數(shù)目的迭代;或b.經(jīng)過預(yù)定數(shù)目的迭代,該組候選解的改善程度小于預(yù)定改善程度。
8.如權(quán)利要求7所述的求解方法,其特征在于該預(yù)定數(shù)目的迭代的完成是基于a.該最優(yōu)化問題的復(fù)雜度;和b.求解該最優(yōu)化問題可用的時間。
9.一種用于在一組約束下的最優(yōu)化問題的求解系統(tǒng),其特征在于,該系統(tǒng)包含一用以評估在該組約束下的該最優(yōu)化問題的一組解的構(gòu)件;一用以基于與評估期間違反了至少一個約束的該組解相對應(yīng)的該組約束,生成初始違反度量組和狀態(tài)組的構(gòu)件;一用以運算該組解生成一組候選解的構(gòu)件;一用以比較解和狀態(tài)的構(gòu)件;一用以基于一接受標準接受被評估的解的構(gòu)件;以及一用以基于被接受的解更新違反度量的構(gòu)件。
10.一種用于在一組約束下的最優(yōu)化問題的求解系統(tǒng),其特征在于,該系統(tǒng)包含一用以評估該最優(yōu)化問題的解、生成解的違反度量和更新違反度量和狀態(tài)的評估單元;一用以運算一解以生成一候選解的運算單元,其與該評估單元相連接;以及一用以接受該最優(yōu)化問題的一解的接收單元,其與該評估單元相連接。
11.如權(quán)利要求10所述的求解系統(tǒng),其特征在于該評估單元包含一用于生成和更新一違反度量的步進器。
12.如權(quán)利要求11所述的求解系統(tǒng),其特征在于該步進器基于判定對至少一個約束的違反的至少一個規(guī)則來判定違反。
13.如權(quán)利要求10所述的求解系統(tǒng),其特征在于該評估單元包含一用于比較一對解和一對狀態(tài)的比較器。
14.如權(quán)利要求10所述的求解系統(tǒng),其特征在于該評估單元包含一用于儲存與一狀態(tài)對應(yīng)的信息的存儲陣列。
15.如權(quán)利要求10所述的求解系統(tǒng),其特征在于該評估單元包含一用于儲存所生成的解的存儲陣列。
16.一種用于在一組約束下的最優(yōu)化問題的求解之計算機程序產(chǎn)品,其特征在于,該計算機程序產(chǎn)品包含a.用于評估在一組約束下的最優(yōu)化問題的一組解的程序指令構(gòu)件;b.用于基于與評估期間違反了至少一個約束的該組解相對應(yīng)的該組約束,生成初始違反度量組和狀態(tài)組的程序指令構(gòu)件;c.用于利用一組操作數(shù)生成一組從該組解衍生出的候選解的程序指令構(gòu)件,其中每個操作數(shù)以一組變化點為特征;d.用于在所生成的變化點評估該組候選解的程序指令構(gòu)件;e.用于基于一接受標準,測試一被評估的候選解的可接受性的程序指令構(gòu)件;f.基于被接受的候選解更新違反度量和狀態(tài)的程序指令構(gòu)件;以及g.檢查是否滿足一終結(jié)標準的程序指令構(gòu)件。
全文摘要
一種在一組約束下的最優(yōu)化問題的求解方法及其系統(tǒng)。在該組約束下評估一組解(202)。基于與違反約束的解所對應(yīng)的至少一個約束,產(chǎn)生初始違反度量和狀態(tài)(204)。通過一組操作數(shù)從現(xiàn)有的一組解中產(chǎn)生一組候選解(206)。對該組候選解進行增量評估(208),其方式與操作數(shù)和約束無關(guān)。如果被評估的解被接受(210),那么根據(jù)所接受的解可更新(212)違反度量(violation metrics)和狀態(tài)。但是,如果被評估的解未被接受(214),那么對下一候選解進行增量評估。重復(fù)這一過程,直到檢查了所有候選解的可接受性。最后,若滿足終結(jié)標準,則結(jié)束方法(216)。
文檔編號G06F15/18GK101065742SQ200580036999
公開日2007年10月31日 申請日期2005年10月21日 優(yōu)先權(quán)日2004年10月28日
發(fā)明者艾夏克·艾拉米利, 斯瑞尼瓦司·那查甘地 申請人:奈特普軟體有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1