專利名稱:一種應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種生產(chǎn)排程系統(tǒng)和方法,尤其是一種應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng)和方法。
背景技術(shù):
生產(chǎn)排程問題,又稱生產(chǎn)作業(yè)計劃或生產(chǎn)排程。從有限資源角度看,生產(chǎn)排程是一個決策過程,是指生產(chǎn)部門為完成銷售部門下達的訂單,根據(jù)確定的生產(chǎn)計劃和訂單交貨期安排,按照產(chǎn)品的加工工藝路線,將有限資源安排給不同的工作,并決定何時開始,由哪部設(shè)備加工,并完成哪件工作,并設(shè)法達到預(yù)定的如交貨期要求和提高設(shè)備利用率的目標。這些有限資源主要包括機器和設(shè)備(包括搬運設(shè)備)、工夾具、作業(yè)員、存儲容器或空間等。
面向工單的機械行業(yè)生產(chǎn)企業(yè)通常有著-下特點生產(chǎn)方式以工單加工為主,市場預(yù)測為輔;工單繁忙、插單次數(shù)比較多;客戶交貨期要求準確、急迫;產(chǎn)品生產(chǎn)形式表現(xiàn)為多品種、大中小批量;產(chǎn)品的工藝過程經(jīng)常變更,生產(chǎn)計劃變動頻繁;能力需求根據(jù)每個產(chǎn)品建立,工序間聯(lián)系少,很難預(yù)測;要求BOM及庫存的精確度較高;由于工單繁忙,庫存?zhèn)溆脟乐?、最后庫存資金占用過高等。
除此之外,企業(yè)產(chǎn)品的工藝路線有多條,工藝路線對應(yīng)的產(chǎn)品質(zhì)量等級不同。工藝路線中的工序?qū)?yīng)不同的工作中心來完成加工任務(wù),工作中心是一條生產(chǎn)線或多臺并行設(shè)備或單臺加工設(shè)備,即機臺。不同的機器加工產(chǎn)品的質(zhì)量等級存在不同,根據(jù)客戶工單要求選擇對應(yīng)質(zhì)量等級的工藝路線和加工工作中心、設(shè)備組及設(shè)備。
生產(chǎn)排程問題傳統(tǒng)上由ERP(Enterpri se Resource Planning,企業(yè)資源管理)系統(tǒng)進行解決,但傳統(tǒng)ERP系統(tǒng)僅僅根據(jù)交付周期或日期來安排生產(chǎn)的優(yōu)先次序,所有工作都是在假定無限生產(chǎn)能力的前提下進行,未考慮有限物料的約束條件等等情況,無法適應(yīng)以上所提到的工單企業(yè)的各種特點,使所得的生產(chǎn)排程方案效率低、實用性差。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種生產(chǎn)排程問題生產(chǎn)排程系統(tǒng)和方法,根據(jù)客戶的實際生產(chǎn)流程建立系統(tǒng)模型,從ERP中導入需求、庫存等數(shù)據(jù),在通過在多種排程方案的比較后,由系統(tǒng)自動選取最優(yōu)化方案,實現(xiàn)了智能化排程,形成所有生產(chǎn)資源的詳細的生產(chǎn)計劃(精確到秒)。從而,解決工單性企業(yè)在企業(yè)資源管理上效率低下的問題,降低生產(chǎn)成本、提高企業(yè)效益。
本發(fā)明設(shè)計了一種應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng),此系統(tǒng)由生成排程方案的生產(chǎn)計劃部門終端、服務(wù)器、存儲歷史數(shù)據(jù)的數(shù)據(jù)庫組成,生產(chǎn)計劃部門終端通過服務(wù)器對連接著的各信息終端進行實時數(shù)據(jù)采集、整理,進行生產(chǎn)排程;當排程方案確定之后,再通過服務(wù)器下達到生產(chǎn)車間,并實時接收加工現(xiàn)場的反饋數(shù)據(jù),及時調(diào)整排程方案。
所述各相關(guān)信息終端包括客戶、銷售部門、設(shè)備管理部門、倉儲部門、加工車間。
在終端、服務(wù)器及數(shù)據(jù)庫的硬件選擇時,客戶端的功能主要是客戶端可以采用通用的PC機,也可以是多臺獨立的小型服務(wù)器構(gòu)成,其基本要求是具有一定的運算能力、輸入輸出功能、以及將運算結(jié)果通過網(wǎng)絡(luò)傳輸出去的功能,并能夠接受遠程服務(wù)器運算的結(jié)果。
客戶端的基本配置為 計算機主機PIII 500MHZ以上; 記憶容量256MB以上; 硬盤空間20GB以上; 顯示器1024×768真彩色顯示器,建議使用1280×1024或更高配置; 磁盤需求16倍速以上之CD-ROM或DVD-ROM; 當工廠規(guī)模不大時,服務(wù)器端可以采用通用的PC機,但建議采用大型服務(wù)器以適應(yīng)大型加工企業(yè),其基本要求是具有較好的運算性能、具有較強的數(shù)據(jù)存儲及維護能力,網(wǎng)絡(luò)傳輸高效穩(wěn)定。
服務(wù)器端的基本配置為 計算機主機Celon 2.66G以上; 記憶容量1GB以上; 硬盤空間160GB以上; 顯示器1024×768真彩色顯示器,建議使用1280×1024或更高配置; 磁盤需求16倍速以上之CD-ROM或DVD-ROM; 數(shù)據(jù)庫采用ACCESS數(shù)據(jù)庫,同時也支持如SQL Server等數(shù)據(jù)庫系統(tǒng)。
此生產(chǎn)排程系統(tǒng)運用了如以下步驟的生產(chǎn)排程方法進行生產(chǎn)排程 1.用戶設(shè)置工廠基礎(chǔ)數(shù)據(jù)和排程參數(shù); 2.生產(chǎn)排程系統(tǒng)對訂單、設(shè)備、物料信息進行動態(tài)采集、更新、分析,生成參與排程的工單,生產(chǎn)計劃部確認排程工單信息、優(yōu)化目標、約束條件; 3.對參與排程的工單進行編碼,生成初始化種群; 4.采用基于訂單結(jié)構(gòu)的解碼空間映射方法產(chǎn)生操作表,調(diào)用正排運算或倒排運算進行解碼操作,得到排程方案; 5.對排程方案進行約束條件檢驗,對可行解進行優(yōu)化目標的適應(yīng)度值計算和對不可行解滿足約束的程度進行適應(yīng)度值計算,并設(shè)置可行解池和不可行解池兩個精英解池,保留優(yōu)秀個體; 6.根據(jù)可行解個數(shù)和可行解差界度或最大迭代次數(shù)判斷是否終止遺傳算法若是,繼續(xù)下一步;若否,則繼續(xù)從可行解池和不可行解池中選擇優(yōu)秀個體,進行選擇、交叉、變異,生成子代種群,回到步驟④; 7.輸出適應(yīng)度值最高的排程方案; 8.用戶同生產(chǎn)排程系統(tǒng)交互式確認排程方案滿意時,排程系統(tǒng)將工單下達到車間;否則,選擇性修改參數(shù)工廠基礎(chǔ)數(shù)據(jù)、工單信息、優(yōu)化目標、約束條件,回到步驟②。
所述步驟1中的設(shè)置包括修改、增加、刪除、確認操作。
所述步驟1中的工廠基礎(chǔ)數(shù)據(jù)為車間管理基礎(chǔ)數(shù)據(jù),包括產(chǎn)品物料清單(Bill of material)結(jié)構(gòu)基礎(chǔ)數(shù)據(jù),物品信息基礎(chǔ)數(shù)據(jù),工作中心、設(shè)備組、設(shè)備信息基礎(chǔ)數(shù)據(jù),標準工序信息基礎(chǔ)數(shù)據(jù),工藝路線基礎(chǔ)數(shù)據(jù),工序間準備時間信息基礎(chǔ)數(shù)據(jù),工廠日歷信息、出勤模式信息基礎(chǔ)數(shù)據(jù)。
所述步驟1中的所述排程參數(shù)為優(yōu)化目標參數(shù),約束級別劃分參數(shù),重排程參數(shù),定單更改參數(shù),緊急插單參數(shù)。
所述步驟2中的所述優(yōu)化目標,是通過排程系統(tǒng)終端根據(jù)工廠歷史數(shù)據(jù)對比已有工廠模型庫、選擇最佳項向生產(chǎn)計劃部門推薦,由生產(chǎn)計劃部門最終選擇確認一個或多個優(yōu)化目標,并設(shè)置優(yōu)化目標之間的權(quán)重關(guān)系。
所述步驟2中的約束條件,是通過排程系統(tǒng)終端預(yù)先提供,由生產(chǎn)計劃部門選擇一個或多個,并設(shè)置約束條件之間的權(quán)重關(guān)系。
所述步驟2中的分析,是根據(jù)訂單屬性對訂單進行訂單優(yōu)先級計算,并根據(jù)優(yōu)先級、工藝、設(shè)備、物料信息對訂單進行拆分或合并,生成工單,然后基于工單信息、設(shè)備信息、物料信息,將設(shè)備組、物料預(yù)分配給訂單。其中訂單屬性,為客戶重要等級、或訂單利潤率、或訂單交貨期、或產(chǎn)品制造提前期、或產(chǎn)品種類、或產(chǎn)品數(shù)目。其中,訂單優(yōu)先級計算,是先建立影響訂單優(yōu)先級的各個準則,并獲取工廠各個專家對影響訂單優(yōu)先級的各個準則之間的權(quán)重關(guān)系的不同認識,然后通過建立層次結(jié)構(gòu)來分解復雜問題,引入測度理論,通過兩兩比較,用相對標度將人的判斷標量化,結(jié)合三角模糊數(shù),把群組中不一致的判斷融合到評價中,并逐層建立判斷矩陣,求解各判斷矩陣的權(quán)重,最后計算方案的綜合權(quán)重并排序。
所述步驟3中的生成初始化種群,為啟發(fā)式生成或隨機式生成。
所述步驟6中的優(yōu)秀個體為非本代操作產(chǎn)生的優(yōu)秀個體。
所述步驟6中的交叉或變異,應(yīng)用了隔代輪換策略,每次迭代使用不同的算子直至所有交叉算子完成一個輪回,再從頭開始。
本發(fā)明的有益效果是提供了一種生產(chǎn)排程問題生產(chǎn)排程系統(tǒng)和方法,本系統(tǒng)采用了簡單的客戶/服務(wù)器模式,硬件環(huán)境較易于實現(xiàn),既能夠直接從ERP中導入需求、庫存等數(shù)據(jù),進行排程計算,也能在沒有ERP系統(tǒng)支持的情況下,單獨運行本系統(tǒng)。方法上結(jié)合了啟發(fā)式規(guī)則和遺傳算法,提高了遺傳算法盲目隨機操作的效率,加速了算法的收斂,并且利用遺傳算法本身所具有的隨機性特征又能在一定程度上彌補啟發(fā)式算法的強偏差性。而遺傳算法編碼技術(shù)和遺傳操作比較簡單、優(yōu)化不受限制性條件的約束、尤其是具有并行計算能力和全局解空間搜索能力等優(yōu)點,能夠有效改善訂單數(shù)量較多,各類約束條件較為復雜,訂單具有多層結(jié)構(gòu)及復雜工藝的情況下求解排程方案時的求解結(jié)果,提高運算速度,使得本系統(tǒng)和方法具有適用范圍廣、可拓展型強、運算速度快、優(yōu)化性能好等優(yōu)點。能有效降低工廠成本,提高工廠管理水平,縮短產(chǎn)品生產(chǎn)周期,提升工廠競爭力。
圖1是應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng)的硬件拓撲結(jié)構(gòu)示意圖; 圖2是應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程方法流程圖。
圖3是生成參與排程的工單及確認優(yōu)化目標、約束條件流程圖。
圖4是訂單優(yōu)先級排序流程圖。
圖5是基于訂單結(jié)構(gòu)的遺傳算法編碼流程圖。
圖6是基于訂單結(jié)構(gòu)的遺傳算法解碼流程圖。
圖7是基于約束重要度分層的排程方案檢驗和評價流程圖。
圖8是分層優(yōu)化方式實現(xiàn)多目標優(yōu)化流程示意圖。
具體實施例方式 下面結(jié)合附圖和實施例對本發(fā)明進一步說明。
本發(fā)明采用客戶端/服務(wù)器端的硬件拓撲結(jié)構(gòu)如圖1所示整個系統(tǒng)以服務(wù)器為中心,服務(wù)器連接著數(shù)據(jù)庫、生產(chǎn)計劃部門終端和各信息終端(終端即客戶端),包括銷售部門終端(采集訂單數(shù)據(jù))、倉庫部門終端(采集物料信息)、設(shè)備管理部門終端(采集設(shè)備信息)和加工車間終端。其中,加工車間可以配備打印機以打印最終的排程方案,便于執(zhí)行。另外,服務(wù)器還通過Internet同異地工廠終端、委外單位終端和客戶終端進行連接,以交換訂單信息等。
本實施例中的客戶端平臺性能如下 CPU主頻Celon 2.66G; 內(nèi)存容量512M; 運行操作系統(tǒng)為Windows XP; 一個并行打印端口,配置為USB端口。
本實施例中的服務(wù)器采用HP的ProLiant DL380G4(378735-AA1),其性能如下 CPU類型Xeon DP; CPU頻率(MHz)3000; 處理器描述標準處理器數(shù)量1; 支持CPU個數(shù)2; CPU二級緩存2MB; 運行操作系統(tǒng)為Windows 2003Server。
此生產(chǎn)排程系統(tǒng)應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程方法在此實施例中的實施流程請參閱圖2,具體包括以下步驟 1.用戶(即生產(chǎn)計劃部門)同生產(chǎn)排程系統(tǒng),通過生產(chǎn)計劃部門終端交互式設(shè)置工廠基礎(chǔ)數(shù)據(jù)和排程參數(shù),在此過程中排程終端用戶可以對這些數(shù)據(jù)進行設(shè)置包括修改、增加、刪除、確認等操作。
其中,工廠基礎(chǔ)數(shù)據(jù)主要為車間管理基礎(chǔ)數(shù)據(jù),包括產(chǎn)品BOM結(jié)構(gòu)基礎(chǔ)數(shù)據(jù),物品信息基礎(chǔ)數(shù)據(jù),工作中心、設(shè)備組、設(shè)備信息基礎(chǔ)數(shù)據(jù),標準工序信息基礎(chǔ)數(shù)據(jù),工藝路線基礎(chǔ)數(shù)據(jù)等基礎(chǔ)數(shù)據(jù),工序間準備時間信息基礎(chǔ)數(shù)據(jù),工廠日歷信息、出勤模式信息基礎(chǔ)數(shù)據(jù)等一系列基礎(chǔ)數(shù)據(jù)。工廠排程參數(shù)為優(yōu)化目標參數(shù),約束級別劃分參數(shù),重排程參數(shù),定單更改參數(shù),緊急插單參數(shù)。
2.生產(chǎn)排程系統(tǒng)對訂單、設(shè)備、物料信息進行動態(tài)采集、更新、分析,生成參與排程的工單,生產(chǎn)計劃部門同生產(chǎn)排程系統(tǒng)通過生產(chǎn)計劃部門終端交互式確認排程工單信息、優(yōu)化目標、約束條件,其流程請參閱圖3,具體包括以下步驟 a.交互式確定優(yōu)化目標權(quán)重首先,生產(chǎn)排程系統(tǒng)的生產(chǎn)計劃部門終端根據(jù)工廠歷史數(shù)據(jù)的分析,通過統(tǒng)計學上的聚類分類等數(shù)據(jù)挖掘技術(shù),獲取工廠加工特征;然后,終端運用模式識別技術(shù),通過與預(yù)設(shè)的工廠模型庫進行比較,判斷工廠最適合那種優(yōu)化目標,并自動推薦;最終,由生產(chǎn)計劃部門選擇確認一個或多個優(yōu)化目標,并設(shè)置優(yōu)化目標之間的權(quán)重關(guān)系。其中,優(yōu)化目標模型分為準時交貨(滿足交貨期前提下最遲化加工)、最早化完工時刻、最小化交貨延遲時間、最小化生產(chǎn)流程時間、最小化生產(chǎn)準備時間、最小化生產(chǎn)成本、最大化設(shè)備利用率、最大化瓶頸能力。
b.交互式確定約束條件權(quán)重工廠通過生產(chǎn)排程系統(tǒng)的生產(chǎn)計劃部門終端預(yù)先指定約束條件,然后由生產(chǎn)計劃部門選擇一個或多個,并設(shè)置約束條件之間的權(quán)重關(guān)系。其中,約束類型分為定單級約束,如交貨期約束、定單最長在線時間約束、定單最短在線時間約束等;工單級的約束,如工單最早開工時刻約束、工單最晚開工時刻約束、工單最早完工時刻約束、工單最晚完工時刻約束、工單最長在線時間約束、工單最短在線時間約束等;工序級的約束,如當前時刻約束,指定開工時刻約束、工序最晚完工時刻約束、工序最大時間間隔約束、最小加工批量約束、物料入庫期約束。
c.確定主生產(chǎn)計劃,從而獲取訂單屬性。其中,訂單屬性為,客戶重要等級、或訂單利潤率、或訂單交貨期、或產(chǎn)品制造提前期、或產(chǎn)品種類、或產(chǎn)品數(shù)目等屬性。
d.根據(jù)訂單屬性對訂單進行訂單優(yōu)先級計算,并根據(jù)優(yōu)先級、工藝、設(shè)備、物料等信息對訂單進行拆分或合并,生成工單,然后基于工單信息、設(shè)備信息、物料信息,將設(shè)備組、物料預(yù)分配給訂單,流程請參閱圖4,具體包括以下步驟 i.建立影響訂單優(yōu)先級的各個準則,如ERP系統(tǒng)給出交貨期、利潤、客戶等級、質(zhì)量要求、定單物料五個評價準則,并獲取工廠各個專家對影響訂單優(yōu)先級的各個準則之間的權(quán)重關(guān)系的不同認識。取得的認識以下表格所示,xi為對應(yīng)準則Ci的重要度等級
ii.在優(yōu)先級計算時,在準則層處理過程中,經(jīng)過對專家意見的歸一化處理,本實施例采用S函數(shù)作歸一化處理,歸一化公式為其中a和b是系數(shù),a決定了S函數(shù)的增長率,b決定了S函數(shù)的歸一化的程度。xi為準則i的重要度等級。構(gòu)建準則層上三角比較矩陣,從低到高排列這些準則,兩兩比較給出上三角表格,比較值按照五個等級給出數(shù)值1、3、5、7、9,不能給出的,用相鄰的4、6、8表示。1表示同等重要;3表示重要一點;5表示重要得多;7表示更重要;9表示極端重要。
例如根據(jù)各專家對影響訂單優(yōu)先級的各個準則之間的權(quán)重關(guān)系的不同認識,計算出了其中一個專家的比較表格 構(gòu)建準則層模糊判斷矩陣AR=(αij)N*N,計算準則層模糊綜合程度,它的模糊判斷矩陣它的元素是一個三角模糊數(shù),即αij=(lij,mij,uij)是一個以mij作為中間點的閉區(qū)間,而mij就是比較判斷所采用的1-9中的整數(shù)。AR采用正負反矩陣的形式,即lij為三角模糊數(shù)的左截至點,uij三角模糊數(shù)的右截至點。。并令mij-lij=uij-mij=δ,δ為常數(shù),實踐表明1/2<δ<1比較適宜。若取δ=2/3,根據(jù)三角模糊數(shù)理論,得到如下的判斷矩陣 為了能考慮更多的群組意見,可以給出幾個不同群組的比較表格,根據(jù)這些表格可以得到相應(yīng)的判斷矩陣。
對每一個準則進行單排序計算i=1,2,…,N即表示第i個準則相對總目標的單排序權(quán)重。(j=i,2,…,N;且j≠i)。其中Δij=AC(i,j)為準則層判斷矩陣。
對每一個準則的權(quán)重WiO進行歸一化處理等操作,獲得準則層相對總目標的單排序權(quán)重矩陣建立訂單優(yōu)先級各個影響準則之間的權(quán)重。如得到五個評價指標相對總目標的單排序權(quán)重 iii.訂單層權(quán)重矩陣的建立采用與準則層權(quán)重矩陣建立一致的方式。在訂單層中,對每一個準則,分析不同的訂單所占的權(quán)重,經(jīng)過對訂單權(quán)重的歸一化處理,構(gòu)建訂單層上三角比較矩陣,構(gòu)建訂單層模糊判斷矩陣,計算訂單層模糊綜合程度,訂單單排序計算,訂單權(quán)重歸一化處理等操作,獲得訂單層權(quán)重矩陣建立各訂單相對于該準則來講的權(quán)重關(guān)系。如對四個訂單計算優(yōu)先級,決策者對每個訂單兩兩比較進行打分的結(jié)果,可得到各個訂單相對于某評,得到各訂單相對于各準則的單排序權(quán)重 iv.通過合成總排序計算綜合訂單不同的準則下對總目標的總排序權(quán)重并經(jīng)過歸一化處理和拉伸取整處理,最終獲得訂單優(yōu)先級。如計算各個訂單相對于總目標的總排序權(quán)重為 e.根據(jù)訂單的優(yōu)先級及其他屬性,對需要排程計算的新訂單進行拆分與合并,生成工單。通過遍歷訂單BOM結(jié)構(gòu),為每個需要排程計算的工單選擇合適的工藝路線,并為每個工單的每道工序指定合適的設(shè)備組加工。動態(tài)獲取需要使用的設(shè)備組的設(shè)備狀態(tài)信息。
f.通過對庫存物料及半成品數(shù)量的實施時采集,及工廠基礎(chǔ)數(shù)據(jù)的分析,求取需要參與排程計算的工單每道工序?qū)嶋H需要加工的數(shù)量及需要消耗的庫存物料情況。當物料不足時,初步預(yù)估物料采購時間。
g.通過人機交互的方式,讓用戶確定上述信息。當用戶需要修改時,可以進行手動操作。
3.對參與排程的工單進行編碼,生成初始化種群,流程請參閱圖5,具體步驟包括 a.確定隨機初始種群與啟發(fā)式初始種群個數(shù)。
為了種群的多樣性,采用隨機方式來產(chǎn)生部分初始群體。為了加快算法收斂的速度,采用啟發(fā)式產(chǎn)生其余部分的初始種群。隨機方式和啟發(fā)式產(chǎn)生初始種群的比例通過一個經(jīng)驗閾值控制。
b.判斷隨機產(chǎn)生初始種群是否滿足規(guī)模,若滿足則執(zhí)行步驟d,否則繼續(xù)。
c.隨機產(chǎn)生一個初始個體,并插入到子代總?cè)?,回到步驟b。個體生成的具體方法是采用間接置換編碼方法,對參與排程計算所有工單的所有工序進行編碼,生成基因串,并通過建立基因串和工序之間的對應(yīng)關(guān)系,得到一個合適的置換順序,將一組工序的分配處理規(guī)則作為狀態(tài),生成基因串。其步驟如下 ①初始化可選集合為所有無父工單的工單所組成的集合; ②判斷可選集合是否為空;若否,則繼續(xù)下一步;若是,則輸出基因串,編碼結(jié)束; ③從可選集合中選取待排程工序所屬工單插入到基因串中,當工單或此工單所有工序結(jié)束編碼時,從集合中刪除該工單; ④判斷被刪除工單是否有子工單若無子工單,則轉(zhuǎn)到步驟②;否則,將子工單插入可選集合,轉(zhuǎn)到步驟③。
在此過程中,一個初始個體即待排程工單在基因串中的排列順序是隨機確定的,只需要滿足工單的父子結(jié)構(gòu)關(guān)系。
d.判斷啟發(fā)式產(chǎn)生初始種群是否滿足規(guī)模,若滿足則執(zhí)行步驟f,否則繼續(xù)。
e.啟發(fā)式產(chǎn)生一個初始個體,并插入到子代總?cè)海氐讲襟Ed。
啟發(fā)式產(chǎn)生一個初始個體即通過啟發(fā)式規(guī)則,構(gòu)造一組工單順序串,即基因串。它與步驟c隨機產(chǎn)生一個初始個體的區(qū)別在于工單在基因串中的順序是按照一定的啟發(fā)式規(guī)則確定的。可采用的啟發(fā)式規(guī)則為交貨期越早的越優(yōu)先開工,即按照工單交貨期排序構(gòu)造基因串;工單優(yōu)先級越高的越優(yōu)先開工,即按照工單優(yōu)先級排序構(gòu)造基因串;加工時間越長的越優(yōu)先開工,即按照工單加工周期長短排序構(gòu)造基因串;同一個工單的工序盡量開工時刻盡量接近以節(jié)約在線時間,即同工單所有工序在基因串中緊挨著排列等。其他步驟同隨機方式產(chǎn)生基因一致。
f.輸出子代種群。
4.采用基于訂單結(jié)構(gòu)的解碼空間映射方法產(chǎn)生操作表,并調(diào)用正排運算或倒排運算進行解碼操作,得到排程方案。
由于基因串隱性的記錄了所有參與排程計算的工單的所有工序之間的排程先后關(guān)系。但在基因串中,所有的基因只有工單信息,而沒有具體的工序信息。在遺傳算法解碼之前,需要建立基因串和工序之間的對應(yīng)關(guān)系。即解碼空間映射,是為了獲取基因串對應(yīng)的工序順序表,用來進行基因串的解碼。具體流程請參閱圖6,包括以下步驟 a.不重復獲取子種群中的一條基因串; b.從基因串依次獲取一位基因、獲取該基因所代表的工單號,判斷工單號在基因串已獲取次數(shù),已得到對應(yīng)工序號,將工單號和工序號依次記錄到工序順序表,重復步驟b直至基因串訪問完畢; c.對工序順序表進行正排或倒排運算,得到排程方案,并作為基因串的屬性保存,其中, 正排運算是指從可生產(chǎn)時刻起(工單從此時刻起可以開始生產(chǎn),即工單物料投放期),按照工藝路線規(guī)定的順序,從第一道工序起安排工單每道工序的開工時刻,直到計算出最后一道工序的開工時刻; 倒排運算是指從工單交貨期起(在排程之列的工單有不同的交貨期),按照工藝路線規(guī)定的順序,從最后一道工序開始,安排工單每道工序的完工時刻,直到計算出第一道工序的完工時刻。
d.判斷子代種群中是否存在未解碼的基因串如否,則輸出解碼的子種群;如是,則轉(zhuǎn)到步驟a; 5.請參閱圖7,對子種群排程方案進行約束條件檢驗,對可行解進行優(yōu)化目標優(yōu)化性能的適應(yīng)度值計算和對不可行解滿足約束的程度進行適應(yīng)度值計算,并設(shè)置可行解池和不可行解池兩個精英解池,保留優(yōu)秀個體,具體步驟如下 a.不重復獲取子種群中的子代個體,即排程方案; b.排程方案約束檢驗 每個排程方案經(jīng)過所有約束條件檢驗,就每一項進行對比是否符合,判斷后,對相應(yīng)標志信息進行賦值。
若不滿足約束條件,其標志信息令為-1,否則令為1。約束優(yōu)劣信息為違反該約束的程度例如某工單脫期了三天,則交貨期約束條件檢驗信息表中該工單標志信息為-1,優(yōu)劣信息為3(天)。
c.判斷排程方案是否滿足所有約束條件,即是否所有的約束條件檢驗標志信息都為1如果是,繼續(xù)步驟c;否則,繼續(xù)步驟d。
d.該排程方案滿足所有約束條件,為可行解,按照優(yōu)化目標進行適應(yīng)度計算,輸出適應(yīng)度值。排程方案檢驗與評價結(jié)束。
不同的優(yōu)化目標,適應(yīng)度函數(shù)不同。適應(yīng)度值越大,則表示排程方案滿足優(yōu)化目標的程度越好。以準時交貨為例,排程方案X的適應(yīng)度函數(shù)為 函數(shù)Ln(x)是以指數(shù)e為底的對數(shù)函數(shù),Tjdue為定單j的交貨期,tjend為定單j計劃完工時刻,Δ(0.04)為一個參數(shù)。
設(shè)置可解池,按照按適應(yīng)度大小,將可行解依次存入可行解池。當解池中存儲的個體達到了最大規(guī)模,刪除解池中最后一個個體(基因串及其所對應(yīng)的排程方案)。
e.該排程方案不滿足約束條件,即存在約束條件檢驗標志信息為-1,則該排程方案為不可行解。按約束條件進行適應(yīng)度計算進行適應(yīng)度計算,輸出適應(yīng)度值。排程方案檢驗與評價結(jié)束。
適應(yīng)度運算如下求排程方案滿足的約束條件的加權(quán)和,這里約束條件根據(jù)重要程度不同都有不同的權(quán)值,則不可行排程方案X的適應(yīng)度值為 ωi為第i類約束條件的權(quán)值,F(xiàn)i為第i類約束條件的滿足個數(shù),N為約束條件的類數(shù)。
設(shè)置不可解池,按照按適應(yīng)度大小,將不可行解依次存入不可行解池。當解池中存儲的個體達到了最大規(guī)模,刪除解池中最后一個個體(基因串及其所對應(yīng)的排程方案) f.判斷子代個體是否訪問完畢如是,條件檢驗結(jié)束;如否,轉(zhuǎn)到步驟a。
6.根據(jù)可行解個數(shù)和可行解差異度或最大迭代次數(shù)判斷是否終止遺傳算法若是,繼續(xù)下一步;若否,則繼續(xù)從可行解池和不可行解池中選擇優(yōu)秀個體,進行選擇、交叉、變異,生成子代種群,回到步驟4。具體步驟如下 a.根據(jù)可行解個數(shù)和可行解差異度或最大迭代次數(shù)判斷是否終止遺傳算法當遺傳算法獲得的可行解足夠多,其適應(yīng)度差異不大時,終止遺傳算法的迭代過程;當可行解數(shù)量較少或沒有可行解時,通過最大迭代次數(shù)終止遺傳算法的迭代過程;當不滿足遺傳算法終止條件,則算法繼續(xù)迭代。
b.進行選擇操作。當出現(xiàn)大量可行解時,則忽略不可行解的價值,選擇適應(yīng)度大的解作為交叉變異的父代;當出現(xiàn)大量不可行解時,需要保留全部可行解,再適當添加不可行解,作為交叉變異的父代。在遺傳算法選擇操作過程中,并非將本代操作獲得的優(yōu)秀個體作為下一次交叉變異操作的父代種群,而是在精英解池種選擇優(yōu)秀個體作為父代種群。
c.進行交叉、變異操作。在交叉、變異等依次變換操作時,父代不直接進入子代,避免二次解碼。在交叉和變異過程中,需要保持訂單結(jié)構(gòu),即工單之間有父子關(guān)系的,所有子工單及子工單所涉及的工序需編碼在父工單及父工單所涉及的工序的左側(cè)。交叉、變異操作應(yīng)用了隔代輪換策略,每次迭代使用不同的交叉算子直至所有算子完成一個輪回,再從頭開始。
7.獲得適應(yīng)度值最高的排程方案,流程請參閱圖8,具體包括以下步驟 判斷可行解池是否為空,若可行解池為空,則輸出不可行解中適應(yīng)度值最高的個體作為最好的排程方案,若可行解池非空,則輸出可行解中適應(yīng)度值最高的個體作為最好的排程方案。
8.生產(chǎn)計劃部門同生產(chǎn)排程系統(tǒng)通過生產(chǎn)計劃部門終端互交式確認排程方案滿意時,生產(chǎn)排程系統(tǒng)將工單下達到車間;否則,選擇性修改參數(shù)工廠基礎(chǔ)數(shù)據(jù)、工單信息、優(yōu)化目標、約束條件,回到步驟2。
綜上所述僅為發(fā)明的較佳實施例而已,并非用來限定本發(fā)明的實施范圍。即凡依本發(fā)明申請專利范圍的內(nèi)容所作的等效變化與修飾,都應(yīng)為本發(fā)明的技術(shù)范疇。
權(quán)利要求
1.一種應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程方法,其特征在于所述方法包括以下步驟
①用戶設(shè)置工廠基礎(chǔ)數(shù)據(jù)和排程參數(shù);
②對訂單、設(shè)備、物料信息進行動態(tài)采集、更新、分析,生成參與排程的工單,生產(chǎn)計劃部確認排程工單信息、優(yōu)化目標、約束條件;
③對參與排程的工單進行編碼,生成初始化種群;
④采用基于訂單結(jié)構(gòu)的解碼空間映射方法產(chǎn)生操作表,調(diào)用正排運算或倒排運算進行解碼操作,得到排程方案;
⑤對排程方案進行約束條件檢驗,對可行解進行優(yōu)化目標的適應(yīng)度值計算和對不可行解滿足約束的程度進行適應(yīng)度值計算,并設(shè)置可行解池和不可行解池兩個精英解池,保留優(yōu)秀個體;
⑥根據(jù)可行解個數(shù)和可行解差異度或最大迭代次數(shù)判斷是否終止遺傳算法若是,繼續(xù)下一步;若否,則繼續(xù)從可行解池和不可行解池中選擇優(yōu)秀個體,進行選擇、交叉、變異,生成子代種群,回到步驟④;
⑦輸出適應(yīng)度值最高的排程方案;
⑧用戶確認排程方案滿意時,工單下達到車間;否則,選擇性修改參數(shù)工廠基礎(chǔ)數(shù)據(jù)、工單信息、優(yōu)化目標、約束條件,回到步驟②。
2.根據(jù)權(quán)利要求1所述的一種應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng),其特征在于
所述系統(tǒng)由生成排程方案的生產(chǎn)計劃部門終端、服務(wù)器、存儲歷史數(shù)據(jù)的數(shù)據(jù)庫組成,生產(chǎn)計劃部門終端通過服務(wù)器對連接著的各信息終端進行實時數(shù)據(jù)采集、整理,進行生產(chǎn)排程;當排程方案確定之后,再通過服務(wù)器下達到生產(chǎn)車間,并實時接收加工現(xiàn)場的反饋數(shù)據(jù),以及時調(diào)整排程方案。
3.根據(jù)權(quán)利要求2所述的應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng),其特征在于
所述各相關(guān)信息終端包括客戶終端、銷售部門終端、設(shè)備管理部門終端、倉儲部門終端、加工車間終端。
4.根據(jù)權(quán)利要求1所述的應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng)和方法,其特征在于
所述步驟①中的設(shè)置包括修改、增加、刪除、確認操作。
5.根據(jù)權(quán)利要求1所述的應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程方法,其特征在于
所述步驟①中的工廠基礎(chǔ)數(shù)據(jù)為車間管理基礎(chǔ)數(shù)據(jù),包括產(chǎn)品物料清單(Bill of material)結(jié)構(gòu)基礎(chǔ)數(shù)據(jù),物品信息基礎(chǔ)數(shù)據(jù),工作中心、設(shè)備組、設(shè)備信息基礎(chǔ)數(shù)據(jù),標準工序信息基礎(chǔ)數(shù)據(jù),工藝路線基礎(chǔ)數(shù)據(jù),工序間準備時間信息基礎(chǔ)數(shù)據(jù),工廠日歷信息、出勤模式信息基礎(chǔ)數(shù)據(jù)。
6.根據(jù)權(quán)利要求1所述的應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程方法,其特征在于
所述步驟①中的所述排程參數(shù)包括優(yōu)化目標參數(shù),約束級別劃分參數(shù),重排程參數(shù),定單更改參數(shù),緊急插單參數(shù)。
7.根據(jù)權(quán)利要求1所述的應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程方法,其特征在于
所述步驟②中的所述優(yōu)化目標,是通過排程系統(tǒng)終端根據(jù)工廠歷史數(shù)據(jù)對比已有工廠模型庫、選擇最佳項向生產(chǎn)計劃部門推薦,由生產(chǎn)計劃部門最終選擇確認一個或多個優(yōu)化目標,并設(shè)置優(yōu)化目標之間的權(quán)重關(guān)系。
8.根據(jù)權(quán)利要求1所述的應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng)和方法,其特征在于
所述步驟②中的約束條件,是通過排程系統(tǒng)終端預(yù)先提供,由生產(chǎn)計劃部門選擇一個或多個,并設(shè)置約束條件之間的權(quán)重關(guān)系。
9.根據(jù)權(quán)利要求1所述的應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng)和方法,其特征在于
所述步驟②中的分析,是根據(jù)訂單屬性對訂單進行訂單優(yōu)先級計算,并根據(jù)優(yōu)先級、工藝、設(shè)備信息、物料信息對訂單進行拆分或合并,生成工單,然后基于工單信息、設(shè)備信息、物料信息,將設(shè)備組、物料預(yù)分配給訂單。
10.根據(jù)權(quán)利要求9所述的應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng)和方法,其特征在于
所述訂單屬性,為客戶重要等級、或訂單利潤率、或訂單交貨期、或產(chǎn)品制造提前期、或產(chǎn)品種類、或產(chǎn)品數(shù)目。
11.根據(jù)權(quán)利要求9所述的應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng)和方法,其特征在于
所述訂單優(yōu)先級計算,是先建立影響訂單優(yōu)先級的各個準則,并獲取工廠各個專家對影響訂單優(yōu)先級的各個準則之間的權(quán)重關(guān)系的不同認識,然后通過建立層次結(jié)構(gòu)來分解復雜問題,引入測度理論,通過兩兩比較,用相對標度將人的判斷標量化,結(jié)合三角模糊數(shù),把群組中不一致的判斷融合到評價中,并逐層建立判斷矩陣,求解各判斷矩陣的權(quán)重,最后計算方案的綜合權(quán)重并排序。
12.根據(jù)權(quán)利要求1所述的應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng)和方法,其特征在于
所述步驟③中的生成初始化種群,為啟發(fā)式生成或隨機式生成。
13.根據(jù)權(quán)利要求1所述的應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng)和方法,其特征在于
所述步驟⑥中的優(yōu)秀個體為非本代操作產(chǎn)生的優(yōu)秀個體。
14.根據(jù)權(quán)利要求1所述的應(yīng)用了基于精英解池的遺傳算法的生產(chǎn)排程系統(tǒng)和方法,其特征在于
所述步驟⑥中的交叉或變異,應(yīng)用了隔代輪換策略,每次迭代使用不同的算子直至所有交叉算子完成一個輪回,再從頭開始。
全文摘要
本發(fā)明提供了一種生產(chǎn)排程系統(tǒng)和方法。此系統(tǒng)由生產(chǎn)計劃部門終端、服務(wù)器、存儲歷史數(shù)據(jù)的數(shù)據(jù)庫組成,生產(chǎn)計劃部門終端通過服務(wù)器對連接著的各信息終端進行實時數(shù)據(jù)采集、整理,然后應(yīng)用基于精英解池的遺傳算法對訂單進行編碼,再執(zhí)行選擇交叉等遺傳操作,并進行評價和逐層優(yōu)化,生成最優(yōu)生產(chǎn)排程;最終,生產(chǎn)排程方案通過服務(wù)器下達到生產(chǎn)車間,并實時接收加工現(xiàn)場的反饋數(shù)據(jù)以做方案調(diào)整。本系統(tǒng)硬件環(huán)境易于實現(xiàn),而在方法上結(jié)合啟發(fā)式規(guī)則和遺傳算法,能夠有效改善訂單數(shù)量較多,具有多層結(jié)構(gòu)及復雜工藝的情況下,求解排程方案時的求解結(jié)果,提高運算速度,具有適用范圍廣、可拓展型強、運算速度快、優(yōu)化性能好等優(yōu)點。
文檔編號G06N3/00GK101271543SQ20081003651
公開日2008年9月24日 申請日期2008年4月23日 優(yōu)先權(quán)日2008年4月23日
發(fā)明者顧永明, 杰 陳 申請人:永凱軟件技術(shù)(上海)有限公司