一種基于兩層嵌套結(jié)構(gòu)的調(diào)度優(yōu)化方法
【專利摘要】本發(fā)明涉及一種嵌套結(jié)構(gòu)的調(diào)度優(yōu)化方法,屬于工業(yè)自動化【技術(shù)領(lǐng)域】。對于大多數(shù)制造企業(yè)生產(chǎn)調(diào)度中存在的混合整數(shù)非線性規(guī)劃(Mixed Integral Non-Linear Programming,MINLP)問題,采用“嵌套優(yōu)化”的算法結(jié)構(gòu),利用多個解的不斷更新進行全局搜索,不依靠解空間的梯度信息,增加構(gòu)造一個可行性粗糙判定模型,在解評價之前首先粗糙但快速地判定解的可行性,從而確保以較高的概率獲得調(diào)度模型的真實滿意解,計算量小,而且尋優(yōu)過程簡單,應(yīng)用范圍廣。
【專利說明】-種基于兩層嵌套結(jié)構(gòu)的調(diào)度優(yōu)化方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于兩層嵌套結(jié)構(gòu)的調(diào)度優(yōu)化方法,適用于解決生產(chǎn)調(diào)度遇到的 混合整數(shù)非線性規(guī)劃(Mixed Integral Non-Linear Programming,以下簡稱MINLP)問題, 屬于工業(yè)生產(chǎn)自動化【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002] 隨著制造業(yè)生產(chǎn)規(guī)模日益擴大,生產(chǎn)工藝日趨復雜,市場競爭日趨激烈,生產(chǎn)調(diào)度 是一個提高企業(yè)管理水平、獲取更大的經(jīng)濟效益的重要工具。一般化的生產(chǎn)調(diào)度問題是針 對可分解的生產(chǎn)流程,在滿足約束條件的情況下,如何安排各分解流程所占用的原料資源、 加工控制變量、加工時間及先后順序,以實現(xiàn)生產(chǎn)效益(對生產(chǎn)成本、產(chǎn)品質(zhì)量的綜合評 價)的最大化。調(diào)度優(yōu)化問題與一般的優(yōu)化問題相似,但也存在新特點,如問題規(guī)模大、生 產(chǎn)過程的描述復雜,約束條件和目標函數(shù)難以處理等。調(diào)度優(yōu)化問題的數(shù)學模型主要采用 數(shù)學規(guī)劃描述法描述,即用離散變量表示排列順序、生產(chǎn)方案選擇等離散決策狀態(tài),用連續(xù) 變量表示連續(xù)操作條件,用代數(shù)等式或不等式描述目標函數(shù)和約束條件,因此問題被抽象 化為MINLP模型,這樣的描述方式直觀、易懂,同時有利于衡量模型的復雜度。
[0003] 兩層優(yōu)化方法是一類特殊的求解MINLP問題的算法,它利用優(yōu)化變量的類型特 點,采用兩層結(jié)構(gòu)求解。兩層優(yōu)化算法可分為"區(qū)間逼近"算法和"嵌套優(yōu)化"算法。前者通 過迭代求解一系列MILP主問題和NLP子問題獲取原MINLP優(yōu)化問題的下邊界和上邊界,直 至兩個邊界的區(qū)間差小于設(shè)定的范圍,因此稱為"區(qū)間逼近"算法。后者針對每個固定的離 散變量候選解,將模型簡化為一個NLP模型,因此可將NLP優(yōu)化作為離散變量取值已確定情 況下的子優(yōu)化問題,將子優(yōu)化問題得到的最優(yōu)值作為對離散變量解的評價,視為離散變量 的尋優(yōu)依據(jù)。這樣,將原MINLP優(yōu)化問題轉(zhuǎn)化為外層MIP模型和內(nèi)層NLP模型的嵌套優(yōu)化 問題,因此稱為"嵌套優(yōu)化"算法。如何提高求解效率是"嵌套優(yōu)化"算法面臨的主要問題, 因為外層組合優(yōu)化過程中的每一個離散變量候選解,都對應(yīng)一個內(nèi)層NLP優(yōu)化問題。若要 求取這些NLP模型的最優(yōu)值,需要耗費大量的求解時間,目前大多數(shù)"嵌套優(yōu)化"算法均采 用隨機-精確的兩層結(jié)構(gòu),因為當內(nèi)層NLP模型為凸優(yōu)化問題時,精確搜索算法在求解效 率上比隨機搜索算法具有明顯的優(yōu)勢。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是提出一種基于兩層嵌套結(jié)構(gòu)的調(diào)度優(yōu)化方法,該方法對于大多數(shù) 制造企業(yè)生產(chǎn)調(diào)度中存在的MINLP問題,能確保以較高的概率獲得調(diào)度模型的真實滿意 解,計算量小,而且尋優(yōu)過程簡單,應(yīng)用范圍廣。
[0005] 本發(fā)明提出的嵌套結(jié)構(gòu)的調(diào)度優(yōu)化方法,包括以下步驟:
[0006] 步驟1)初始化參數(shù):
[0007] 設(shè)置外層GA算法和內(nèi)層PSO算法的參數(shù),包括種群大小Ns,Nf,PSO速度更新加權(quán) 系數(shù)ω,φρ,cj5g,GA交叉概率p。和變異概率pm,最大迭代步數(shù)夂
[0008] 步驟2)概率擇優(yōu)階段;
[0009] 步驟2. 1設(shè)置外層優(yōu)化迭代步數(shù)ks= 0,初始化離散變量候選解8(1,1^),··· ,s (ns, ks), ···, s (Ns, ks);
[0010] 步驟2.2如果外層優(yōu)化迭代步數(shù)匕未超過乂_%對于8(113,1〇(11 3=1,...,\)對 應(yīng)的NsANLP優(yōu)化子模型min/VF ·/(/," I,,利用內(nèi)層優(yōu)化算法(PS0算法)迭代計算 至步,并記錄歷史優(yōu)化數(shù)據(jù)咐/>U#,夕認川咐々(心=1,…,kT)>
[0011] 步驟2. 3針對S (ns,ks) (ns= 1,· · ·,N s),利用其歷史最小懲罰值PU/) (& =1,..·,Κ〗Μ)和可行性粗糙判定模型估計//(〇〇)|s("s,- s>,進而確定S(ns,ks)的可行性,即 確定r UiVtsI ;
[0012] 步驟2. 4如果s(ns,ks)不可行,保留//(I)UsM作為粗糙懲罰值》'L (M_S);如果 8(1上)可行,用內(nèi)層優(yōu)化算法郵0算法)迭代優(yōu)化子模型》訓廠,..,/(/,外、.、.,"./,,個:^^ 步,記錄歷史優(yōu)化數(shù)據(jù)=1,...,<D),利用粗糙評價模型估計4°°)Um- s),保 留估計值^^ WUw作為粗糙評價值? ;
[0013] 步驟2. 5根據(jù)獲得的粗糙評價值和粗糙懲罰值,利用外層優(yōu)化算法(GA算法)和 可行性規(guī)則法更新粗糙保優(yōu)集合爐;
[0014] 在該步驟中,根據(jù)離散變量候選解的可行性粗糙判定模型,快速獲取對應(yīng)離散變 量組合s的粗糙懲罰值F(T)L和可行性估計N s,進而判斷是否繼續(xù)對s實施評價;若可 行,則進一步實施粗糙評價獲取粗糙評價值¥〇〇) Is,基于以上評價結(jié)果,外層隨機優(yōu)化算法 通過求解以下組合優(yōu)化問題:
[0015]
【權(quán)利要求】
1. 一種嵌套結(jié)構(gòu)的調(diào)度優(yōu)化方法,其特征在于該方法包括以下步驟: 步驟1)初始化參數(shù): 設(shè)置外層GA算法和內(nèi)層PSO算法的參數(shù),包括種群大小Ns,Nf,PSO速度更新加權(quán)系數(shù)ω,Φρ,Φ8,GA交叉概率pc和變異概率pm,最大迭代步數(shù) 步驟2)概率擇優(yōu)階段; 步驟2. 1設(shè)置外層優(yōu)化迭代步數(shù)匕=0,初始化離散變量候選解s(l,ks)^··,s(ns,ks),···,s(Ns,ks); 步驟2. 2如果外層優(yōu)化迭代步數(shù)ks未超過Amax,對于s(ns,ks) (ns= 1,. ..,Ns)對應(yīng) 的凡個1?優(yōu)化子模型訓11/^./(/."|、._.、,,,4;),利用內(nèi)層優(yōu)化算法( ?5〇算法)迭代計算至 步,并記錄歷史優(yōu)化數(shù)據(jù)啦/)1,〇,尸'(々/)U?s,i-j(*/ = 步驟2. 3針對S(ns,ks) (ns= 1,. . .,Ns),利用其歷史最小懲罰值P'(h) (心=1,...,^:廣)和可行性粗糙判定模型估計//(Co)Uvitsi,進而確定s(ns,ks)的可行性,即確 定叫柄; 步驟2. 4如果s(ns,ks)不可行,保留P'(Co)Us&作為粗糙懲罰值聲' ;如果s(ns,ks) 可行,用內(nèi)層優(yōu)化算法(PS0算法)迭代優(yōu)化子模型,個:〇,記錄歷 史優(yōu)化數(shù)據(jù)<&) |s("sA) (& = 1,...,尤廣),利用粗糙評價模型估計e(〇〇) ,保留估計值 ,°°)U?作為粗糙評價值?|s("a,; 步驟2. 5根據(jù)獲得的粗糙評價值和粗糙懲罰值,利用外層優(yōu)化算法(GA算法)和可行 性規(guī)則法更新粗糙保優(yōu)集合Sg; 在該步驟中,根據(jù)離散變量候選解的可行性粗糙判定模型,快速獲取對應(yīng)離散變量組 合s的粗糙懲罰值FK)L和可行性估計卩Is,進而判斷是否繼續(xù)對s實施評價;若可行,則 進一步實施粗糙評價獲取粗糙評價值外《)L,基于以上評價結(jié)果,外層隨機優(yōu)化算法通過 求解以下組合優(yōu)化問題: min(t<〇c)L) (6)
通過外層隨機優(yōu)化算法獲取前個估計最優(yōu)且可行的離散變量候選解,即
將其保存在粗糙保優(yōu)集合#中。通過可行性規(guī)則法,在粗糙評價條件下來執(zhí)行外層隨 機優(yōu)化算法的保優(yōu)更新操作; 步驟2. 6外層優(yōu)化迭代步數(shù)ks=ks+l,如果外層優(yōu)化迭代步數(shù)k/j、于Imax,返回步驟 2. 2,如果外層優(yōu)化迭代步數(shù)ks超過Amax,則進入步驟3); 步驟3)精確評價階段: 求解s(ns,Ks) (ns= 1,. . .,Ns)對應(yīng)的凡個NLP優(yōu)化子模型min,..:,..J(/J) ,利 用內(nèi)層優(yōu)化算法(PSO算法)迭代計算至步,獲取精確評價值和對應(yīng)的最優(yōu)連 續(xù)變量解/Uy, (",=1,.·…V、); 步驟4)確定最終滿意解: 比較各NLP優(yōu)化子模型的精確評價值^ = 1,·..,Λ《),根據(jù)如下可行性規(guī)則法 取其中最優(yōu)的一組作為調(diào)度模型的滿意解:
最終滿意解為'=私·d,/g= 乂 ls(G,夂,) ,其中(7 =argmin":;lLka)。
2.如權(quán)利要求1所述的一種基于兩層嵌套結(jié)構(gòu)的調(diào)度優(yōu)化方法,其特征在于:所述步 驟2. 2)中,內(nèi)層優(yōu)化的關(guān)鍵步驟是利用可行性粗糙判定模型和粗糙評價模型進行解的篩 選和評價,本質(zhì)上是對懲罰值和評價值的收斂結(jié)果進行預測,即利用有限步數(shù)迭代得到的 數(shù)值信息(內(nèi)層優(yōu)化歷史數(shù)據(jù))來估計無窮步迭代計算后獲得的精確收斂值,具體實現(xiàn)手 段是,以負冪函數(shù)曲線擬合懲罰值(評價值)的迭代下降過程,來獲得最終的收斂結(jié)果,具 體步驟如下: A. 1內(nèi)層優(yōu)化歷史數(shù)據(jù)的獲取 內(nèi)層優(yōu)化歷史數(shù)據(jù)的獲取過程,是內(nèi)層優(yōu)化算法迭代計算的過程。本發(fā)明采用粒 子群優(yōu)化算法(PSO算法)求解min/:p/(/j)!、=s,種群中任一個體f的代價定義為 /(/) =./(/DU,,算法計算過程為: 19) 當卜 <心時,重復如下過程: 20) 對種群中任何一個粒子 21) 獲得/(^)的適應(yīng)值/(/(--)) =/(/,QU, 22) 如果/(/(&,&))小于第乂個粒子的歷史最好個體/Kn,.)的適應(yīng)值/〇;(&)), 更新 /?(& )為 /?(?,) =/(?p&), 23) 如果/(/(,,左,))小于整個種群迭代獲得的歷史最好個體茗的適應(yīng)值/(貧),更 新發(fā)為貧= /〇,,女,), 24) 生成隨機數(shù)rjPrg,其中/;^~(7(0,1), 25) 更新速度V = H'. V +么..〇(h, ) - /(",, ~)) +么· .(貧-/〇,,卜)), 26) 更親if位置/(?,,A:,) = +v, 27. kf = kf+\, 其中,Kf為用于獲取歷史數(shù)據(jù)的最大內(nèi)層優(yōu)化迭代步數(shù),w,Φρ,CtgSPSO算法的速度 更新加權(quán)系數(shù); Α. 2粗糙評價模型的求解 由于負冪函數(shù)能夠較好地描述和預測e(kf) |s的變化趨勢,利用優(yōu)化歷史數(shù)據(jù)e(kf)Is,kf = 1,2, · ··,Kf擬合負冪函數(shù),進而估計e( °° )Is:
進一步采用遞推擬合算法,當內(nèi)層隨機優(yōu)化算法每迭代一步獲取新數(shù)據(jù)e(kf)Is后,通 過下面的遞推式(11)和(12)以最少的計算量解析更新擬合參數(shù)Θ,直至內(nèi)層算法迭代到 步數(shù)Kf,以使數(shù)據(jù)量滿足擬合精度:
其中,%表示中的權(quán)重系數(shù);久(的表示當算法迭代到kf步時,擬合函數(shù)值 咐,/~)丨,與觀測值e(kf) 13之間的均方誤差:
該遞推算法的初值按照如下方法設(shè)置: θ0= (A01B01C0) = (0,0. 5,e(l) | s) (14)
其中,ε表示一個很小的常數(shù); 利用優(yōu)化歷史數(shù)據(jù)e(kf)Is,kf = 1,2, . ..,Kf,獲得對e( -> )Is的估計值為: S(L00)Is=G, (16) 針對外層待評價的離散變量候選解seS的粗糙評價過程可概括為,利用PSO算法 求解其對應(yīng)的內(nèi)層子模型min/EfUs至第Kf3步(①)以獲得歷史優(yōu)化數(shù)據(jù) Kt)|s,\ =U,.,^D,再利用式(11)和式(12)遞推擬合負冪函數(shù)(10)的參數(shù)Θ,并將 作為s的最終評價值S 、
3.如權(quán)利要求1所述的一種基于兩層嵌套結(jié)構(gòu)的調(diào)度優(yōu)化方法,其特征在于:所述步 驟2.3)中,關(guān)鍵步驟是計算歷史最小懲罰值p'(kf) |s,并采用可行性粗糙判定模型來計算 y ,進而確定s(ns,ks)的可行性,具體實施步驟如下: B.可行性粗糙判定模型的確定: 記e(kf)|sS固定離散變量seS的條件下,內(nèi)層隨機優(yōu)化算法求解子模型miny/(/J'_)U并迭代到第kf步的評價值,將e(kf) |s分解為目標值與懲罰值之和: e(kf)Is=o(kf) |s+p(kf)|s (17) 其中,〇(kf) |jPp(kf) |s分別表示內(nèi)層隨機優(yōu)化迭代至第kf步的目標函數(shù)值和懲罰值。 當參數(shù)選擇適當、迭代步數(shù)趨于無窮時,隨機優(yōu)化算法會以概率1收斂至全局最優(yōu)解。 因此,e(…)13為子模型的最優(yōu)目標值,即對離散變量s的精確評價值e?s: 定義歷史最小懲罰值P'(kf)Is,kf = 1,2,. ..,K{為:
對于離散變量s的歷史最小懲罰值為p'(…)|s,通過求出歷史最小懲罰值P^ )Is,可進行離散變量s對應(yīng)的解子空間內(nèi)最優(yōu)解的可行性判定,此即為可行性判定 模型的工作過程,(…)Is的計算過程與e(…)Is相似,只是將,,.(O表達式中的評價 值替換為歷史最小懲罰值,修改式(13)為:
針對外層待評價的離散變量候選解seS的可行性粗糙判定過程可概括為,利用PSO算法求解其對應(yīng)的內(nèi)層子模型J(/,"Us至第欠步(If1 < ? 〇〇 )以獲得歷 史最小懲罰值數(shù)據(jù)=1,2,..·,#,再利用式(η)和式Q2)遞推擬合負冪函數(shù) (10)的參數(shù)Θ,并將作為s的最終歷史最小懲罰值p'(…)|s,再判定其可行 性。
4. 如權(quán)利要求1所述的一種基于兩層嵌套結(jié)構(gòu)的調(diào)度優(yōu)化方法,其特征在于:所述步 驟2. 5)中,外層優(yōu)化的關(guān)鍵步驟是利用外層優(yōu)化算法(GA算法)和可行性規(guī)則法更新粗糙 保優(yōu)集,具體步驟如下: C. 外層優(yōu)化的計算 外層優(yōu)化以內(nèi)層優(yōu)化作為離散變量候選解的評價工具,采用基本的遺傳算法(GA算 法)求解minsesJ(s),種群中任一個體s的代價定義為./Ο) =iL,通過固定步數(shù)的迭代計 算不斷更新種群,最終獲得ΛΓ?個優(yōu)質(zhì)的離散變量候選解。其算法計算過程為:
其中,Ks為最大外層優(yōu)化迭代步數(shù),ρ。,pmSGA算法的交叉概率和變異概率。
5. 如權(quán)利要求1所述的一種基于兩層嵌套結(jié)構(gòu)的調(diào)度優(yōu)化方法,其特征在于:所 述步驟3)中,關(guān)鍵步驟是求解s(ns,Ks) (ns= 1,. . .,Ns)對應(yīng)的N/hNLP優(yōu)化子模型 Um,,其具體步驟如下: D. 精確評價求解算法 在精確評價階段采用粒子群優(yōu)化算法(PSO算法)求解min?/(/," |r=s,種群中任一 個體f的代價定義為/(/) =A/i)U、.,算法計算過程為:
其中,為精確評價階段的最大優(yōu)化迭代步數(shù),W,Φρ,(^為PSO算法的速度更新加 權(quán)系數(shù); 利用上述算法精確求解當前粗糙保優(yōu)集合中Λτ?個NLP子模型min/ef?/(/,"j· = ],...,,4,進而得到#·個連續(xù)變量解/%ιω以及對應(yīng)的最優(yōu)評價值為。
【文檔編號】G05B19/418GK104460594SQ201410601666
【公開日】2015年3月25日 申請日期:2014年10月30日 優(yōu)先權(quán)日:2014年10月30日
【發(fā)明者】江永亨, 付驍鑫, 王京春 申請人:清華大學