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

基于雙向智能搜索的制造企業(yè)車(chē)間調(diào)度優(yōu)化方法

文檔序號(hào):9886945閱讀:467來(lái)源:國(guó)知局
基于雙向智能搜索的制造企業(yè)車(chē)間調(diào)度優(yōu)化方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于車(chē)間作業(yè)調(diào)度技術(shù)領(lǐng)域,特別是一種基于雙向智能搜索的制造企業(yè)車(chē) 間調(diào)度優(yōu)化方法。
【背景技術(shù)】
[0002] 制造企業(yè)車(chē)間調(diào)度是一個(gè)包含多個(gè)生產(chǎn)任務(wù)和多個(gè)可用資源(機(jī)器)的調(diào)度制造 系統(tǒng)。制造企業(yè)車(chē)間調(diào)度問(wèn)題是指給定一組作業(yè),要求在一組機(jī)器上完成,每臺(tái)機(jī)器在任何 時(shí)刻最多只能加工一個(gè)作業(yè),一個(gè)作業(yè)在一臺(tái)機(jī)器上的加工稱(chēng)為一道工序,工序加工的時(shí) 間是固定的,目標(biāo)是找到所有作業(yè)加工時(shí)間最短的調(diào)度方案。高效的調(diào)度優(yōu)化方法可以方 便、快捷、有效地實(shí)施制造系統(tǒng)的調(diào)度;可以縮短作業(yè)調(diào)度計(jì)劃所需的時(shí)間;遇到干擾時(shí),可 迅速且可靠地做出反應(yīng),及時(shí)改變計(jì)劃、增加生產(chǎn)的柔性,應(yīng)對(duì)快速變化的市場(chǎng)需求,提高 企業(yè)的競(jìng)爭(zhēng)力。
[0003] 為了獲得車(chē)間作業(yè)優(yōu)化調(diào)度方案,傳統(tǒng)的基于A*搜索算法的調(diào)度優(yōu)化策略,是在 系統(tǒng)Petri網(wǎng)模型可達(dá)圖上從起始節(jié)點(diǎn)采用單向A*搜索算法,找到從系統(tǒng)起始狀態(tài)到終止 狀態(tài)的最優(yōu)變迀發(fā)射序列,即系統(tǒng)的最優(yōu)加工序列,最后再按照作業(yè)任務(wù)排列表的內(nèi)容進(jìn) 行任務(wù)執(zhí)行。然而,單向A*搜索算法存在隨著搜索深度的增加,需要擴(kuò)展的節(jié)點(diǎn)數(shù)越來(lái)越 多,使得計(jì)算過(guò)程需要耗費(fèi)大量的時(shí)間。

【發(fā)明內(nèi)容】

[0004] 本發(fā)明的目的在于提供一種所擴(kuò)展節(jié)點(diǎn)數(shù)大大減少、計(jì)算速度快、搜索結(jié)果較優(yōu) 的制造企業(yè)車(chē)間智能調(diào)度優(yōu)化方法。
[0005] 實(shí)現(xiàn)本發(fā)明的目的技術(shù)解決方案為:一種制造企業(yè)車(chē)間的雙向A*搜索智能調(diào)度優(yōu) 化方法,具體步驟如下:
[0006] 步驟1、采用Petri網(wǎng)對(duì)制造企業(yè)車(chē)間各加工操作順序、操作時(shí)間和所用資源進(jìn)行 建模,構(gòu)建Petri網(wǎng)模型;
[0007] 步驟2、將步驟1構(gòu)建的Petri網(wǎng)模型轉(zhuǎn)化為輸入文件;輸入文件的格式為:
[0008] 總操作庫(kù)所數(shù),備選操作庫(kù)所數(shù),資源庫(kù)所數(shù),各作業(yè)的工作量;
[0009] 〈作業(yè)號(hào),作業(yè)內(nèi)操作號(hào),總操作號(hào),資源號(hào),操作時(shí)間;>··
[0010]其中文件的第一行表達(dá)Petri網(wǎng)的全局信息,文件的剩下部分是對(duì)各個(gè)加工操作 的描述,〈> …表示此結(jié)構(gòu)的重復(fù),作業(yè)號(hào)表示作業(yè)的編號(hào),作業(yè)內(nèi)操作號(hào)表示操作在所在作 業(yè)中的編號(hào),總操作號(hào)表不操作在整個(gè)系統(tǒng)中的編號(hào),資源號(hào)表不資源的編號(hào),操作時(shí)間表 示操作加工所用的時(shí)間。
[0011] 步驟3、根據(jù)步驟2的輸入文件,構(gòu)建用于Petri網(wǎng)模型演化的前置和后置關(guān)聯(lián)矩 陣;Petri網(wǎng)模型演化的前置關(guān)聯(lián)矩陣L+和后置關(guān)聯(lián)矩陣Γ的公式如下:
[0012]
丨如果存在一條弧由變遷J指向庫(kù)所?,則否爾$=0},
[0013]
如果存在一條弧由庫(kù)所/指向變遷i,則/v=b否則/&=〇!,
[0014] 其中1 < i <n,l <m,n為庫(kù)所數(shù),m為變迀數(shù)。
[0015] 步驟4、構(gòu)建四個(gè)堆棧結(jié)構(gòu)的表,分別是OPEN、CLOSED、R0PEN、RCL0SED,分別用于存 放正向A*搜索過(guò)程中待擴(kuò)展節(jié)點(diǎn)和已擴(kuò)展節(jié)點(diǎn),和逆向A*搜索過(guò)程中待擴(kuò)展節(jié)點(diǎn)和已擴(kuò)展 節(jié)點(diǎn);
[0016] 步驟5、構(gòu)建A*算法的啟發(fā)函數(shù)h,該啟發(fā)函數(shù)h具有可采納性,即針對(duì)系統(tǒng)某個(gè)節(jié) 點(diǎn),對(duì)其估計(jì)的從此節(jié)點(diǎn)到系統(tǒng)終止節(jié)點(diǎn)的代價(jià)值不能大于此節(jié)點(diǎn)到系統(tǒng)終止節(jié)點(diǎn)的最小 代價(jià)值;所述的A*算法的啟發(fā)函數(shù)h具體為:
[0017]
[0018]其中SM為含有托肯的庫(kù)所集合,RWTk表示從含有托肯的庫(kù)所k 一直到完成所在作 業(yè)中一系列操作所需的最少時(shí)間,Mrk表示含有托肯的庫(kù)所k的剩余操作時(shí)間,此啟發(fā)函數(shù)h (Μ)是所有從當(dāng)前節(jié)點(diǎn)到目的節(jié)點(diǎn)路徑所需操作時(shí)間的下界,是可采納的啟發(fā)函數(shù)。
[0019]步驟6、從系統(tǒng)起始狀態(tài)和終止?fàn)顟B(tài)雙向運(yùn)行Α*搜索算法,搜索從系統(tǒng)起始狀態(tài)到 終止?fàn)顟B(tài)的變迀發(fā)射序列;具體為:
[0020]步驟6-1、定義正向和逆向搜索中的正向使能、逆向使能、正向發(fā)射和逆向發(fā)射,具 體為:
[0021] 變迀tET在標(biāo)識(shí)Μ下正向使能,當(dāng)且僅當(dāng):Vpe*t:M(p)>L (丨:U),· t表示變迀t 的所有輸入庫(kù)所的集合;
[0022] 變迀tET在標(biāo)識(shí)Μ下逆向使能,當(dāng)且僅當(dāng):Vpef:.W(p)>ZJ(p,t),t ·表示變迀t 的所有輸出庫(kù)所的集合;
[0023]在標(biāo)識(shí)Μ下正向使能的變迀t的正向發(fā)射將產(chǎn)生新標(biāo)識(shí)M' :
[0024] Vp eP:M '(p) - M(p)~ L (p" (p, t);
[0025] 在標(biāo)識(shí)M下逆向使能的變迀t的逆向發(fā)射將產(chǎn)生新標(biāo)識(shí)M' :
[0026] Vp & P:M '(p) = Μ(p)- L' (p, i) + L (p, 1);
[0027] 步驟6-2、將系統(tǒng)初始狀態(tài)節(jié)點(diǎn)Ms放入OPEN表中,系統(tǒng)結(jié)束狀態(tài)1節(jié)點(diǎn)放入ROPEN表 中;
[0028] 步驟6-3、判斷OPEN與R0PEN表是否為空,如果均為空,則無(wú)調(diào)度結(jié)果,程序結(jié)束,否 則執(zhí)行下一步;
[0029]步驟6-4、從OPEN表中取出f值最小的狀態(tài)節(jié)點(diǎn)Μ并將其放入CLOSED表中,所述f值 為
?(M)是系統(tǒng)從MjljM所用的加工操作時(shí)間,h(M)是從估計(jì)的剩余 操作時(shí)間,
[0030]步驟6-5、判斷f值最小的狀態(tài)節(jié)點(diǎn)Μ是否是R0PEN表中的元素,若是則構(gòu)造從起始 狀態(tài)節(jié)點(diǎn)Ms到f值最小的狀態(tài)節(jié)點(diǎn)Μ再到終止?fàn)顟B(tài)節(jié)點(diǎn)1的變迀發(fā)射序列,程序結(jié)束;否則執(zhí) 行下一步;
[0031]步驟6-6、找出f值最小的狀態(tài)節(jié)點(diǎn)Μ的正向使能變迀集合{tj} (j = l"_et(M)),et (Μ)表示節(jié)點(diǎn)Μ中使能變迀的數(shù)目;
[0032]步驟6-7、正向發(fā)射每個(gè)正向使能變迀tj得到新子節(jié)點(diǎn)標(biāo)識(shí)M'j,并計(jì)算g(M'j),h (M'j)和f (M'j),計(jì)算方法與步驟6-4相同;
[0033] 步驟6-8、對(duì)每一個(gè)新產(chǎn)生的子節(jié)點(diǎn)M'j進(jìn)行判斷:
[0034] (a)如果M'j等于OPEN表中節(jié)點(diǎn)M13,貝lj檢驗(yàn)兩節(jié)點(diǎn)的g值,如果是且g(M'j)小于g (MQ),則用M' j替換OPEN中的MQ,其它情況,則直接將M' j插入OPEN中;
[0035] (b)如果M'j等于CLOSED表中節(jié),則檢驗(yàn)兩節(jié)點(diǎn)的g值,如果是且g(M'j)小于g (MG),則從CLOSED中刪掉#同時(shí)插入M'j到OPEN中;其它情況,則直接將M'j插入OPEN中;
[0036] (c)如果M'j不等于OPEN表和CLOSED表中的任何節(jié)點(diǎn),則把M'j插入到OPEN表中;
[0037] 步驟6-9、從R0PEN表中取出f值最小的狀態(tài)節(jié)點(diǎn)Mr并將其放入RCL0SED
[0038] 表中;
[0039] 步驟6-10、判斷Mr是否是OPEN中的元素,如果是則構(gòu)造從系統(tǒng)起始狀態(tài)節(jié)點(diǎn)Ms到Mr 再到系統(tǒng)終止?fàn)顟B(tài)節(jié)點(diǎn).的變迀發(fā)射序列,程序結(jié)束;否則執(zhí)行下一步;
[0040] 步驟6-11、找出Mr的逆向使能變迀集合{t'j} (j = l"_ret(MR)),ret(MR)表示節(jié)點(diǎn)Μ 中逆向使能變迀的數(shù)目;
[0041]步驟6 -12、逆向發(fā)射每個(gè)t ' j得到新的子節(jié)點(diǎn)標(biāo)識(shí)M" j,并計(jì)算g (M" j),h (M" j)和f (M" j),計(jì)算方法與步驟6-4相同;
[0042]步驟6-13、對(duì)每一個(gè)新產(chǎn)生的子節(jié)點(diǎn)M"j進(jìn)行判斷:
[0043] (a)如果M" j等于R0PEN表中節(jié)點(diǎn)M13,則檢驗(yàn)兩節(jié)點(diǎn)的g值,如果是且g(M" j)小于g (MQ),則用M" j替換R0PEN中的MQ;其它情況,則直接將M" j插入R0PEN中;
[0044] (b)如果Μ" j等于RCL0SED表中節(jié)點(diǎn)MG,則檢驗(yàn)兩節(jié)點(diǎn)的g值,如果是且g(M" j)小于g (Mc),則從RCL0SED中刪掉#同時(shí)插入M" j到R0PEN中;其它情況,則直接將M" j插入R0PEN中;
[0045] (c)如果M" j不等于R0PEN表和RCL0SED表中的任何節(jié)點(diǎn),則把M"j插入到R0PEN表中;
[0046] 步驟6-14、返回步驟6-3。
[0047] 步驟7、輸出變迀發(fā)射序列,由變迀發(fā)射序列所引發(fā)的加工操作得出所有工件調(diào)度 的順序,包括所有工件的每個(gè)工序的加工機(jī)器、加工耗時(shí)、加工開(kāi)始時(shí)間、加工結(jié)束時(shí)間和 系統(tǒng)總的加工時(shí)間。
[0048]本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點(diǎn)為:(1)本發(fā)明的智能搜索算法采用了 A*智能 搜索算法,其本身在搜索速度上比傳統(tǒng)的廣度優(yōu)先算法擴(kuò)展的節(jié)點(diǎn)少且計(jì)算速度更快,并 且針對(duì)所解決的車(chē)間作業(yè)調(diào)度系統(tǒng),采用雙向A*搜索技術(shù),一般搜索進(jìn)程在某個(gè)中間節(jié)點(diǎn) 相遇,減小了單個(gè)A*搜索的深度和整個(gè)算法節(jié)點(diǎn)擴(kuò)展的數(shù)量,提高了算法計(jì)算的速度。通過(guò) 本算法,可以快速的查找出模型變迀發(fā)射序列,進(jìn)而快速獲得企業(yè)
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1