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

一種新的布谷鳥(niǎo)搜索算法解決作業(yè)車間調(diào)度問(wèn)題的制作方法

文檔序號(hào):11063737閱讀:335來(lái)源:國(guó)知局
一種新的布谷鳥(niǎo)搜索算法解決作業(yè)車間調(diào)度問(wèn)題的制造方法與工藝

本發(fā)明涉及作業(yè)車間調(diào)度技術(shù)領(lǐng)域。



背景技術(shù):

制造業(yè)的競(jìng)爭(zhēng)日趨激烈,企業(yè)正朝著有不同完工時(shí)間和產(chǎn)品要求的多類型、小批量、大批量的生產(chǎn)模式。如何利用現(xiàn)有資源,滿足加工任務(wù)所需各種約束,使所有任務(wù)能盡量按時(shí)完成,即如何有效地解決作業(yè)車間調(diào)度(JSP)問(wèn)題,成為一個(gè)十分現(xiàn)實(shí)和緊迫的問(wèn)題。高效的調(diào)度算法不可以大大提高生產(chǎn)效率和資源利用率,從而增強(qiáng)企業(yè)的競(jìng)爭(zhēng)能力,因此對(duì)JSP的研究有非常重要的理論和現(xiàn)實(shí)意義。

傳統(tǒng)的,一般都采用最優(yōu)化方法和近似方法來(lái)解決作業(yè)車間調(diào)度方案的自動(dòng)生成問(wèn)題。最優(yōu)化方法包括枚舉法和數(shù)學(xué)規(guī)劃法。近似法通常使用分支定界法、優(yōu)先規(guī)則、啟發(fā)式方法、迭代局部搜索算法和進(jìn)化算法。具體包括列舉法、基于優(yōu)先規(guī)則的構(gòu)造性啟發(fā)式方法、移動(dòng)瓶頸法、神經(jīng)網(wǎng)絡(luò)方法、Lagrangian松弛法、遺傳算法、模擬退火法、禁忌搜索算法、蟻群算法、粒子群算法、螢火蟲(chóng)算法以及各種混合調(diào)度算法等。其中,仿生智能群算優(yōu)化算法能夠在較短時(shí)間內(nèi)獲得較高質(zhì)量的解,因而被廣泛應(yīng)用于求解各種生產(chǎn)調(diào)度問(wèn)題,稱為復(fù)雜優(yōu)化問(wèn)題的有效解決途徑和國(guó)際研究熱點(diǎn)。

但是,沒(méi)有一種能夠直接將車間作業(yè)的屬性作為參數(shù),最終得到一組明了的作業(yè)車間中生產(chǎn)調(diào)度方案解的算法提出。

布谷鳥(niǎo)搜索(Cuckoo Search,CS)算法是一種新的現(xiàn)代啟發(fā)式算法,由劍橋大學(xué)Yang和拉曼工程學(xué)院Deb于2009年提出的。該算法基于某些布谷鳥(niǎo)種類的巢寄生繁育行為和鳥(niǎo)類、果蠅等的萊維飛行(Levy flight)行為特征提出。布谷鳥(niǎo)搜索算法是模擬布谷鳥(niǎo)為尋找合適的產(chǎn)卵的鳥(niǎo)窩而隨機(jī)游走的尋窩過(guò)程。在這個(gè)宿主的選擇過(guò)程中,布谷鳥(niǎo)在繁殖期尋找與孵化期和育雛其相似的雛鳥(niǎo)食性基本相同、卵形與顏色易仿的宿主。多數(shù)情況下,宿主一旦識(shí)別出寄生卵,就將寄生卵扔出或棄巢,在其他地方另建新巢。而布谷鳥(niǎo)在下一次選擇宿主的時(shí)候也會(huì)放棄該鳥(niǎo)巢而重新選擇。為了便于模擬布谷鳥(niǎo)的尋窩方式,Yang和Deb提出了一下3個(gè)假設(shè):(1)布谷鳥(niǎo)一次只產(chǎn)一個(gè)蛋,并隨機(jī)選擇鳥(niǎo)窩位置進(jìn)行孵化;(2)在隨機(jī)選擇的一組鳥(niǎo)窩中,最好的鳥(niǎo)窩位置將被保留到下一代;(3)可利用宿主的鳥(niǎo)窩數(shù)量n是固定的,宿主發(fā)現(xiàn)一個(gè)外來(lái)鳥(niǎo)蛋的概率為Pa。Pa可以近似看作n個(gè)位置較差的鳥(niǎo)窩被隨機(jī)產(chǎn)生的幾個(gè)新鳥(niǎo)窩替換的概率,通常設(shè)Pa為一個(gè)固定值。但布谷鳥(niǎo)搜索算法仍存在搜索速度不快等難題。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)現(xiàn)有技術(shù)中存在的上述不足,本發(fā)明要解決的技術(shù)問(wèn)題是提供一種新的布谷鳥(niǎo)搜索算法,解決搜索速度不快的問(wèn)題。

本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的:布谷鳥(niǎo)搜索算法假設(shè)條件多,搜索速度不夠快,計(jì)算精度不夠高,算法應(yīng)用范圍也不夠大,以及沒(méi)有一種算法能夠直觀地給出作業(yè)車間調(diào)度方案的算法。

本發(fā)明要實(shí)現(xiàn)的目標(biāo)是最小化最大完工時(shí)間。

本發(fā)明為實(shí)現(xiàn)上述目的所采用的技術(shù)方案是:一種新的布谷鳥(niǎo)搜索算法解決作業(yè)車間調(diào)度問(wèn)題,該算法的具體步驟如下:

步驟1:初始化算法基本參數(shù):設(shè)置鳥(niǎo)窩個(gè)數(shù)(工件數(shù)量)N,宿主發(fā)現(xiàn)外來(lái)鳥(niǎo)蛋的概率Pa(作業(yè)搶占概率),以及最大迭代次數(shù)MaxT或搜索精度ε。

步驟2:初始化鳥(niǎo)窩位置(工件加工完成時(shí)間):根據(jù)訂單周期To,訂單收益R,工件加工時(shí)間長(zhǎng)度三個(gè)方面來(lái)確定鳥(niǎo)窩初始位置。

步驟3:確定編碼規(guī)則:按照編碼規(guī)則將鳥(niǎo)窩位置(完成時(shí)間)轉(zhuǎn)換為工序排列。

步驟4:計(jì)算目標(biāo)函數(shù)值:計(jì)算各鳥(niǎo)窩位置對(duì)應(yīng)的目標(biāo)函數(shù)值,并獲得當(dāng)前最優(yōu)鳥(niǎo)窩位置。

步驟5:更新鳥(niǎo)窩位置:考慮了鳥(niǎo)窩數(shù)量變化的情況。增加,減少,以及增加的工件訂單是否為緊急訂單的情況。

步驟6:當(dāng)?shù)竭_(dá)最大搜索次數(shù)或滿足搜索精度時(shí)轉(zhuǎn)入步驟7,否則,轉(zhuǎn)步驟4進(jìn)行下一次搜索。

步驟7:輸出最優(yōu)調(diào)度值和對(duì)應(yīng)的調(diào)度方案(染色體序列)。

本發(fā)明的有益效果是:

1、確定了布谷鳥(niǎo)算法中外來(lái)鳥(niǎo)蛋的計(jì)算方式,精確高效,使算法更加適用于實(shí)際生產(chǎn)環(huán)境中。

2、對(duì)于布谷鳥(niǎo)搜索算法在車間調(diào)度問(wèn)題中的應(yīng)用上,確定了鳥(niǎo)窩的初始位置的計(jì)算方式,是算法結(jié)果更加精確,同時(shí)計(jì)算方法簡(jiǎn)單,方便高效,實(shí)用性高。

3、把布谷鳥(niǎo)飛向鳥(niǎo)窩的運(yùn)動(dòng)轉(zhuǎn)化為鳥(niǎo)窩向布谷鳥(niǎo)移動(dòng)的視角,確定了鳥(niǎo)窩從四面八方向布谷鳥(niǎo)移動(dòng)的運(yùn)動(dòng)方式,加快了布谷鳥(niǎo)搜索算法的搜索速度。

4、突破了布谷鳥(niǎo)算法的三個(gè)假設(shè)條件之一:鳥(niǎo)窩數(shù)量不變。本發(fā)明在上一個(gè)發(fā)明考慮鳥(niǎo)窩數(shù)量增加的基礎(chǔ)上,考慮了鳥(niǎo)窩數(shù)量減少的情況。

5、確定了訂單估計(jì)完成時(shí)間的計(jì)算方法。

附圖說(shuō)明

圖1表示本發(fā)明的流程圖

圖2表示鳥(niǎo)窩向布谷鳥(niǎo)移動(dòng)視角圖·

具體實(shí)施方式:

以下,結(jié)合圖1、圖2對(duì)本發(fā)明內(nèi)容進(jìn)行詳細(xì)解釋。

步驟1:初始化算法基本參數(shù):設(shè)置鳥(niǎo)窩個(gè)數(shù)(工件數(shù)量)N,宿主發(fā)現(xiàn)外來(lái)鳥(niǎo)蛋的概率Pa(作業(yè)搶占概率),以及最大迭代次數(shù)MaxT或搜索精度ε:

其中,n為第L優(yōu)先級(jí)的鳥(niǎo)巢(工件)數(shù)量;

步驟2:初始化鳥(niǎo)窩位置(工件加工完成時(shí)間):根據(jù)訂單周期To,訂單收益R,工件加工時(shí)間長(zhǎng)度三個(gè)方面來(lái)確定鳥(niǎo)窩初始位置,具體方式如下:

其中,R為完成該訂單所獲收益,no為訂單o的工件數(shù)量;

步驟3:確定編碼規(guī)則:按照編碼規(guī)則將鳥(niǎo)窩位置(完成時(shí)間)轉(zhuǎn)換為工序排列,采用基于工序的編碼規(guī)則編碼,即染色體由w×n×m個(gè)基因組成,他們表示一個(gè)工序的排列,在這個(gè)工序排列中每個(gè)工件號(hào)最多出現(xiàn)m次,其染色體是由一個(gè)二維空間點(diǎn)(x,y)表示,即第x個(gè)訂單的第y個(gè)工件,例如,3×4×3(訂單×階數(shù)×工件×機(jī)器)的實(shí)例,染色體序列為(1,1)(1,2)(2,1)(1,1)(3,1)(3,1)(3,3)(3,2)(1,2)(1,2)(1,1)(1,4),那么,它對(duì)應(yīng)的工件加工序列為:

(J1,1,1,J1,2,1,J2,1,1,J1,1,2,J3,1,1,J3,1,2,J3,3,1,J3,2,1,J1,2,1,J1,2,2,J1,1,3,J1,4,1),其中,Jti,j表示第t個(gè)訂單的第i個(gè)工件的第j道工序,j表示工件i出現(xiàn)的次數(shù)。因此,上面例子的染色體序列表達(dá)的意思是先加工順序?yàn)?第1個(gè)訂單的第1個(gè)工件的第1道工序,加工第1個(gè)訂單第2個(gè)工件的第1道工序,在加工第2個(gè)訂單第1個(gè)工件的第1道工序,加工第1個(gè)訂單第1個(gè)工件的第2道工序,以此類推,最后加工第1個(gè)訂單第4個(gè)工件的第1道工序,因此在解碼時(shí)就可以按照工件的出現(xiàn)順序轉(zhuǎn)化為一個(gè)調(diào)度方案;

步驟4:計(jì)算目標(biāo)函數(shù)值:計(jì)算各鳥(niǎo)窩位置對(duì)應(yīng)的目標(biāo)函數(shù)值,并獲得當(dāng)前最優(yōu)鳥(niǎo)窩位置,具體實(shí)現(xiàn)為:

目標(biāo)函數(shù):

f(T)=min max1≤?!躻{max1≤k≤m{max1≤i≤nToik}} (1)

約束條件:

Toik-poik+M(1-aoihk)≥Toih

(o=1,2,...,w;i=1,2,...,n;h,k=1,2,...,m) (2)

Tojk-Toik+M(1-xoijk)≥poik

(i,j=1,2,...,n;o=1,2,...,w;k=1,2,...,m)

(3)

Toik≥0(o=1,2,...,w;i=1,2,...,n;k=1,2,...,m)

(4)

xoijk=0或1(i,j=1,2,...,n;o=1,2,...,w;k=1,2,...,m) (5)

maxi{Toi}≤To (6)

其中,式(1)表示目標(biāo)函數(shù),即完成時(shí)間(Makespan);式(2)表示工藝約束條件決定的每個(gè)工件的操作的先后順序;式(3)表示加工每個(gè)工件的每臺(tái)機(jī)器的先后順序;式(4)表示完工時(shí)間變量約束條件;式(5)表示變量可能的取值大??;式(6)表示第o個(gè)訂單的所有工件最大完成時(shí)間小于訂單周期To的時(shí)間約束,上述公式中所涉及的符號(hào)定義含義如下:Toik和poik分別為第o個(gè)訂單(或階數(shù))中的第i個(gè)工件在機(jī)器k上的完成時(shí)間點(diǎn)和加工時(shí)間長(zhǎng)度;M是一個(gè)足夠大的整數(shù);aoihk和xoijk分別為指示系數(shù)和指示變量,其含義為:

步驟5:更新鳥(niǎo)窩位置:

(1)一種情況:如果沒(méi)有新的鳥(niǎo)窩出現(xiàn)(鳥(niǎo)窩數(shù)量沒(méi)有增加(沒(méi)有新的訂單的出現(xiàn))):開(kāi)始迭代,保留上代最優(yōu)鳥(niǎo)窩位置不變,更新鳥(niǎo)窩位置(即全局搜索),從而隨機(jī)產(chǎn)生下一代鳥(niǎo)窩,并評(píng)估位置更新后每個(gè)鳥(niǎo)窩的目標(biāo)函數(shù)值,記錄當(dāng)前最優(yōu)鳥(niǎo)窩位置,具體實(shí)施方案如下數(shù)學(xué)公式所示:

其中,表示第i只布谷鳥(niǎo)在第t代的鳥(niǎo)窩位置(在車間調(diào)度問(wèn)題中用Coik表示),α是步長(zhǎng)大小參數(shù),是一個(gè)概率值,參數(shù)S是隨機(jī)游動(dòng)的步長(zhǎng),設(shè)定α的確定方式如下式:

其中,為第i只鳥(niǎo)窩與布谷鳥(niǎo)在t時(shí)刻的距離,k為有相同距離的鳥(niǎo)窩個(gè)數(shù);

S的計(jì)算方式:把布谷鳥(niǎo)進(jìn)行飛行搜索鳥(niǎo)窩的過(guò)程反過(guò)來(lái)看成是鳥(niǎo)窩在向布谷鳥(niǎo)移動(dòng),此時(shí),把布谷鳥(niǎo)飛向鳥(niǎo)窩的運(yùn)動(dòng)轉(zhuǎn)化為鳥(niǎo)窩向布谷鳥(niǎo)移動(dòng)的視角,具體實(shí)現(xiàn)方式為:設(shè)立兩個(gè)服從于正態(tài)分布的隨機(jī)參數(shù)x,θ:

x~N(O,β×d)

θ~N(0,γ)

式中d是鳥(niǎo)窩與布谷鳥(niǎo)之間的距離,β是一個(gè)大于1的數(shù),β>1,γ=π/4,

這時(shí)會(huì)使鳥(niǎo)窩從四面八方向布谷鳥(niǎo)移動(dòng)如圖2所示,根據(jù)余弦定理,可

求得S:

在局部搜索時(shí)對(duì)每一鳥(niǎo)窩位置按條件進(jìn)行更新:用一個(gè)隨機(jī)數(shù)Ra作為鳥(niǎo)窩主人發(fā)現(xiàn)外來(lái)鳥(niǎo)蛋的概率并與Pa進(jìn)行比較,若Ra>Pa,則隨機(jī)改變鳥(niǎo)窩位置,否則保持原來(lái)位置不變,并計(jì)算位置移動(dòng)后每個(gè)鳥(niǎo)窩的目標(biāo)函數(shù)值,記錄當(dāng)前最優(yōu)鳥(niǎo)窩位置,用如下0-1規(guī)劃模型表示:

(2)另一種情況:如果有新的鳥(niǎo)窩出現(xiàn)(有新的訂單出現(xiàn)),鳥(niǎo)窩數(shù)量增加,即:N+H,H為新增的額鳥(niǎo)窩數(shù)量,同時(shí),判斷是否為緊急訂單,是,則做緊急訂單處理操作,把該訂單的工件設(shè)置為所需加工的工序的優(yōu)先級(jí),不是緊急訂單,則不做緊急處理;

緊急訂單處理操作如下:

計(jì)算緊急系數(shù),緊急系數(shù)越大的訂單緊急程度越大,越需要得到優(yōu)先處理,緊急系數(shù)的計(jì)算如下:

其中,max{Topre}為訂單o的估計(jì)完成時(shí)間,其計(jì)算方式為:

max{Topre}=Tave+α·R

其中,α∈(0,1),實(shí)數(shù),R為完成該訂單所獲收益,no為訂單o的工件數(shù)量;

當(dāng)有鳥(niǎo)窩數(shù)量減少(有訂單還沒(méi)加工完就被迫撤離)的時(shí)候,直接定義N=N-Z,其中,Z為減少的鳥(niǎo)窩數(shù)量,算法依舊依照上述算法執(zhí)行;

步驟6:當(dāng)?shù)竭_(dá)最大搜索次數(shù)或滿足搜索精度時(shí)轉(zhuǎn)入步驟7,否則,轉(zhuǎn)4進(jìn)行下一次搜索;

步驟7:輸出最優(yōu)調(diào)度值和對(duì)應(yīng)的調(diào)度方案(染色體序列)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1