甄 卓
(寶山鋼鐵股份有限公司中央研究院,上海 201999)
寶武集團(tuán)提出將綠色作為企業(yè)發(fā)展的生命底色和戰(zhàn)略基色,大力推進(jìn)智慧制造支撐綠色發(fā)展。同時(shí)市場(chǎng)環(huán)境也在發(fā)生變化,需求呈現(xiàn)多品種小批量定制化的趨勢(shì)。智慧制造能力日漸成為鋼鐵制造企業(yè)的核心競(jìng)爭(zhēng)力,而排程作為智慧制造的關(guān)鍵部分,需要企業(yè)給予足夠的重視和投入。如果不能使用模型進(jìn)行智能排程,那么智慧制造就是名不副實(shí)的。寶鋼研究院智能制造所的智能優(yōu)化領(lǐng)域技術(shù)團(tuán)隊(duì),在智能排程領(lǐng)域深耕多年,取得了豐富的經(jīng)驗(yàn)和豐碩的成果。針對(duì)鋼級(jí)“以優(yōu)充次”的煉鋼組爐問題,構(gòu)建了以煉鋼成本最小化與煉鋼余材最小化為目標(biāo)的多目標(biāo)優(yōu)化模型[1]。針對(duì)煉鋼生產(chǎn)中的鋼種集約問題,以圖論的工具,設(shè)計(jì)了基于最大獨(dú)立集的求解方法[2]。針對(duì)連鑄計(jì)劃中的組中間包問題,建立了多旅行商模型,提出了一種結(jié)合啟發(fā)式、鄰域搜索和EDA進(jìn)化的混合優(yōu)化算法[3]。在煉鋼連鑄計(jì)劃中,改進(jìn)后的新工藝條件使得中間包壽命的評(píng)價(jià)方法由固定爐數(shù)變成了固定時(shí)間,針對(duì)這種變化,提出了相應(yīng)的中間包優(yōu)化模型[4]。結(jié)合雙目標(biāo)旅行商問題提出了最大最小螞蟻算法[5]。將熱軋生產(chǎn)計(jì)劃優(yōu)化問題歸結(jié)為多目標(biāo)獎(jiǎng)金收集車輛路徑問題,實(shí)現(xiàn)了一種Pareto最大最小螞蟻系統(tǒng)算法[6]。提出了一種實(shí)用有效的計(jì)劃排程優(yōu)化算法,開發(fā)了基于該優(yōu)化模型的軋制計(jì)劃排程優(yōu)化應(yīng)用系統(tǒng)[7]。設(shè)計(jì)了基于局部搜索與混合多樣性策略的多目標(biāo)粒子群算法[8]。針對(duì)板坯重可變的自產(chǎn)板坯設(shè)計(jì)問題,設(shè)計(jì)了一種基于列生成與網(wǎng)絡(luò)最大流的兩階段優(yōu)化算法[9]。自主開發(fā)了不銹鋼與碳鋼交叉軋制計(jì)劃混合排程優(yōu)化模型[10]。
已有成果更多關(guān)注于單工序,針對(duì)工序特點(diǎn)進(jìn)行設(shè)計(jì),在算法通用性和復(fù)用性方面考慮不足。在對(duì)以往的工作成果進(jìn)行總結(jié)的基礎(chǔ)上,結(jié)合寶鋼生產(chǎn)實(shí)際情況,對(duì)排程問題進(jìn)行深入分析并抽象,提出了一種通用的算法,可以在不同工序、不同機(jī)組上復(fù)用,而且算法運(yùn)行速度快。此外,算法執(zhí)行一次,可以得到對(duì)應(yīng)多種優(yōu)化目標(biāo)的多個(gè)最優(yōu)解。該算法目前已在寶鋼某熱鍍鋅產(chǎn)線上線試用。
在對(duì)不同工序、不同產(chǎn)線、不同機(jī)組的排程情況進(jìn)行綜合分析之后,發(fā)現(xiàn)以下幾個(gè)方面對(duì)算法的設(shè)計(jì)有重要影響:
(1) 材料之間的順序。材料完全無(wú)序的情況在實(shí)際中幾乎不會(huì)出現(xiàn),合同的優(yōu)先級(jí)和工藝規(guī)程都會(huì)對(duì)材料的先后順序提出要求。例如生產(chǎn)計(jì)劃的編排以合同為單位,不同的合同具有不同的優(yōu)先級(jí);再比如冷軋工序要按從寬到窄的順序安排軋制。如果可以充分利用材料之間確定的順序關(guān)系,則可以顯著提升算法效率。
(2) 通板規(guī)程,即判斷兩個(gè)材料是否可以連續(xù)生產(chǎn)的規(guī)則。在實(shí)際生產(chǎn)中,通板規(guī)程數(shù)量最多,比如冷軋工序要關(guān)注材料的寬度跳躍、厚度跳躍、溫度跳躍等。由于任意相鄰兩塊材料都要滿足所有的通板規(guī)程,所以在計(jì)劃構(gòu)建過程中,大量的時(shí)間將用于通板規(guī)程的檢測(cè)。同時(shí),通板規(guī)程對(duì)產(chǎn)品的質(zhì)量、設(shè)備的狀態(tài)都有直接影響。比如平整過程中,如果違反厚度跳躍的約束,一方面會(huì)影響產(chǎn)品表面,另一方面也會(huì)影響平整輥表面,嚴(yán)重時(shí)導(dǎo)致產(chǎn)品表面質(zhì)量不合格,更換平整輥。所以通板規(guī)程是規(guī)程檢測(cè)的重中之重。
(3) 優(yōu)化目標(biāo)。在實(shí)際生產(chǎn)過程中,在不同情況下,生產(chǎn)的目標(biāo)會(huì)發(fā)生變化。比如說季度初的目標(biāo)是促生產(chǎn),季度末的目標(biāo)是保合同。排程模型應(yīng)該能夠支持多種優(yōu)化目標(biāo)。如果模型可以一次給出若干種優(yōu)化目標(biāo)下的最優(yōu)結(jié)果供比較選擇,對(duì)生產(chǎn)管理有積極意義。
在之前的成果中,通常把排程問題建模為組合優(yōu)化問題,以材料之間的序?yàn)闆Q策變量,以規(guī)程為約束條件,求某種目標(biāo)下的最優(yōu)解。這樣做有幾方面的不足:第一,在鋼鐵生產(chǎn)過程中,材料之間經(jīng)常是有序的。建模為組合優(yōu)化問題,建模過程中難以充分利用材料有序這一條件。第二,有很多規(guī)程難以用數(shù)學(xué)公式表達(dá),限制了組合優(yōu)化模型的表達(dá)能力。比如如果限制硅鋼產(chǎn)品不能和汽車外板連續(xù)軋制,這種規(guī)程難以用數(shù)學(xué)公式的方式表達(dá)。第三,在不同情況下,優(yōu)化目標(biāo)可能不同,如果建模成單目標(biāo)組合優(yōu)化問題,那么為了求解不同目標(biāo)下的最優(yōu)解,需要分多次從頭求解。
基于對(duì)排程問題的和已有工作的分析,提出了一種新的算法。算法以通板規(guī)程為約束,利用材料已知的先后順序,對(duì)合規(guī)的材料序列展開搜索,給出一個(gè)包含了若干優(yōu)質(zhì)可行解的集合。根據(jù)優(yōu)化目標(biāo),在可行解集合中挑選出最優(yōu)解;若存在多種優(yōu)化目標(biāo),可以從可行解集合中挑選出多種優(yōu)化目標(biāo)下的多個(gè)最優(yōu)解。為了提升算法執(zhí)行效率,提升搜索結(jié)果質(zhì)量,采取了頭部剪枝和尾部剪枝兩種優(yōu)化技巧。
算法由等價(jià)材料過濾、材料排序、搜索可行解(剪枝優(yōu)化)、等價(jià)材料恢復(fù)和選取最優(yōu)解幾個(gè)部分順序組成。
寶鋼生產(chǎn)計(jì)劃以合同為核心,掛在同一合同下的材料其目標(biāo)規(guī)格和其他工藝指標(biāo)相同。有的合同雖然不同,但從排程的角度來看,材料之間仍可視為等價(jià)。材料等價(jià)的現(xiàn)象十分常見,待排計(jì)劃的材料中,只有一部分是不同的。如果只保留不同的材料,將顯著減小問題的規(guī)模,在后續(xù)的排序和搜索中,顯著減少運(yùn)算次數(shù),提升運(yùn)算速度。所以首先對(duì)材料進(jìn)行過濾,等價(jià)的材料只保留一個(gè),再進(jìn)行排序和搜索,最后將過濾掉的材料恢復(fù)。例如有材料序列A0、A1、B0、B1、B2、C0、D0、D1、D2,其中A0、A1等價(jià),B0、B1、B2等價(jià),D0、D1、D2等價(jià),經(jīng)過過濾之后,以A0、B0、C0、D0作為后續(xù)步驟的輸入。
由于合同交期的不同,生產(chǎn)計(jì)劃目標(biāo)的不同,設(shè)備狀態(tài)的不同,工藝上的要求,材料之間存在先后順序。比如緊急合同優(yōu)先于一般合同,精整過程中要求材料按照寬度遞減等。綜合各方面的要求,可以指定材料排序的方式。材料經(jīng)過排序后,確定材料生產(chǎn)序列的問題,就從排列問題簡(jiǎn)化為組合問題,極大降低了運(yùn)算代價(jià)。
在材料先后順序確定的條件下,進(jìn)行可行生產(chǎn)序列的搜索。一邊搜索,一邊進(jìn)行通板規(guī)程檢測(cè)。為了生產(chǎn)的穩(wěn)定和產(chǎn)品的質(zhì)量,排計(jì)劃時(shí)會(huì)盡可能地把所有的材料排入計(jì)劃,以免排出若干個(gè)“碎片”計(jì)劃,導(dǎo)致機(jī)組需要不斷地中斷生產(chǎn),調(diào)整設(shè)備和人員。為了保證不遺漏任何可行的序列,使用深度優(yōu)先搜索策略。為了便于開發(fā)和調(diào)試,采用了遞歸的實(shí)現(xiàn)方式。
假設(shè)算法已經(jīng)從材料A出發(fā),通過深度優(yōu)先搜索嘗試了所有以A為開頭的序列,并得到了一個(gè)合法的材料序列A、B、C、D、E,那么B、C、D、E,C、D、E,D、E,E這幾種序列就不需要保留,只應(yīng)保留最長(zhǎng)的A、B、C、D、E。進(jìn)一步,在后續(xù)搜索過程中,不需要再以B為開頭搜索可行的序列。這是由深度優(yōu)先搜索的特性決定的,在以A為開頭的搜索過程中,所有以B為開頭的序列都已經(jīng)嘗試過了。C、D、E同理。這種剪枝方式可以避免大量的從序列頭部開始的無(wú)效搜索,稱之為頭部剪枝。
除此之外,假設(shè)算法已經(jīng)從材料A出發(fā),通過深度優(yōu)先搜索嘗試了所有以A為開頭的序列,并得到了一個(gè)合法的材料序列A、B、C、D、E,那么A、B、C、E,A、B、D類似的序列就不需要保留,把這些無(wú)效的序列丟棄,可以大量減少搜索結(jié)果中的無(wú)效序列。另外,在算法搜索到序列A、B、C、E時(shí),不需要再繼續(xù)向后搜索,因?yàn)樯疃人阉鞑呗缘奶匦詻Q定了A、B、C、E后續(xù)所有可能的材料序列,在搜索到A、B、C、D、E時(shí)都已經(jīng)嘗試過。這種從尾部過濾無(wú)效搜索的方式,稱之為尾部剪枝。
通過頭部剪枝和尾部剪枝,根據(jù)已經(jīng)搜索到的結(jié)果避免后續(xù)無(wú)意義的搜索,顯著提升了算法運(yùn)行速度并提升了結(jié)果質(zhì)量。極端情況下,在O(n)時(shí)間內(nèi),就可以求得全部可行序列。需要指出的是,算法保證在給出的可行序列集合中,沒有任何一個(gè)序列是另一個(gè)序列的子序列。
為了提升排序和搜索效率,等價(jià)的材料只保留一個(gè)參與運(yùn)算,在算法執(zhí)行完畢之后,需要將被過濾掉的等價(jià)材料重新插入到結(jié)果中。與2.1對(duì)應(yīng),如果搜索得到的結(jié)果是A0、B0、D0,則經(jīng)過恢復(fù),得到序列A0、A1、B0、B1、B2、D0、D1、D2。
在已經(jīng)得到了全部可行解的前提下,從中選取到的最優(yōu)解一定是全局最優(yōu)解。此外,在生產(chǎn)中通常有若干種優(yōu)化目標(biāo),從中可以挑選出對(duì)應(yīng)每種優(yōu)化目標(biāo)的全局最優(yōu)解。也就是說,一次搜索,就可以得到若干最優(yōu)解,方便管理人員進(jìn)行對(duì)比和挑選。
算法以C++實(shí)現(xiàn),以C++標(biāo)準(zhǔn)庫(kù)提供的組件為基礎(chǔ)。為了減小算法執(zhí)行過程中大批數(shù)據(jù)移動(dòng)造成的開銷,以vector存儲(chǔ)待排序的材料序列,以材料在vector中的下標(biāo)作為材料的索引。后續(xù)所有的計(jì)算針對(duì)索引進(jìn)行。
為了方便等價(jià)材料的過濾和恢復(fù),需要配套使用哈希函數(shù)和哈希表,記錄材料之間的等價(jià)關(guān)系。根據(jù)產(chǎn)線的具體要求,設(shè)計(jì)一個(gè)哈希函數(shù),為材料生成一個(gè)鍵,保證等價(jià)的材料生成的鍵值相同。從前向后掃描材料序列,加入哈希表。如果一個(gè)材料的鍵值已經(jīng)出現(xiàn)過,則代表該材料已經(jīng)存在等價(jià)材料,需要加入相應(yīng)的等價(jià)材料組。在所有的材料分組完畢之后,每個(gè)材料組選取一個(gè)代表,作為后續(xù)算法步驟的輸入。比如哈希表中形成了材料分組為A0、A1一組,B0、B1、B2一組,C0一組,D0、D1、D2一組,以A0、B0、C0、D0作為下一步驟的輸入。
綜合合同優(yōu)先級(jí)、工藝要求、生產(chǎn)目標(biāo),確定材料排序的方式,以C++標(biāo)準(zhǔn)庫(kù)提供過的sort函數(shù)為基礎(chǔ),自己實(shí)現(xiàn)排序的方式。比如,如果材料需要按質(zhì)量遞增的順序排序,排序方式以如下方式實(shí)現(xiàn):
class WeightUp
bool operator()(int left,int right) {
if ((_items + left)->MAT_WT < (_items + right)->MAT_WT)
return true;
else
return false;
調(diào)用標(biāo)注庫(kù)排序算法實(shí)現(xiàn)材料索引按照材料質(zhì)量遞增的方式排序。其中indexes代表需要待排計(jì)劃的材料的索引。
::std::sort(indexes.begin(),indexes.end(),WeightUp
為了搜索到盡量長(zhǎng)的滿足通板規(guī)程的材料序列,使用深度優(yōu)先搜索的策略;為了搜索到所有的可行解,以遞歸的方式進(jìn)行深度優(yōu)先搜索。算法的整體邏輯是,在一開始,將材料加入空的緩存序列,再向后選取一個(gè)元素,如果加入之后滿足通板規(guī)程,則將該元素加入緩存序列,遞歸地進(jìn)行深度優(yōu)先搜索。搜索結(jié)束之后,將之前加入緩存的材料退出。再向后選取一個(gè)元素,重復(fù)執(zhí)行上述步驟。indexes代表參與搜索的材料的索引,begin代表當(dāng)前要加入序列的材料在indexs中的位置,current緩存了當(dāng)前搜索得到的材料序列,result存儲(chǔ)了搜索得到的結(jié)果。偽代碼如下:
backtrack(indexes,begin,current,result)
if begin已經(jīng)超出indexes的范圍,沒有材料可以加入緩存序列
將current中緩存的序列作為結(jié)果加入result
函數(shù)返回
if 緩存序列為空
遍歷begin指向的材料及之后的材料
將遍歷到的材料加入緩存序列current
backtrack(indexes,i + 1,current,result),遞歸執(zhí)行
退出新加入緩存序列current的材料
函數(shù)返回
else
遍歷begin指向的材料及之后的材料
if 遍歷到的材料加入緩存序列,不違反通板規(guī)程
將遍歷到的材料加入緩存序列current
backtrack(indexes,i + 1,current,result),遞歸執(zhí)行
退出新加入緩存序列current的材料
假設(shè)待排序的材料是A、B、C、D,那么深度優(yōu)先搜索的策略會(huì)先搜索所有以A開頭的合法序列,再搜索以B開頭的合法序列,再搜索以C開頭的合法序列,最后搜索以D為開頭的合法序列。如果在以A開頭的搜索中,搜索到了A、B、D這樣一個(gè)合法序列,根據(jù)深度優(yōu)先搜索的特性,可以知道,所有以B為開頭的合法序列都已經(jīng)被搜索到,且以B為開頭的序列,一定包含在以A為開頭的序列之中。生產(chǎn)實(shí)際需要盡量將更多的材料排入計(jì)劃,所以A、B、D優(yōu)于B、D?;谝陨蟽牲c(diǎn)分析,可以得出結(jié)論,如果已經(jīng)得到了A、B、D這樣的序列,那么沒有必要再以B或者D開頭進(jìn)行搜索。這樣就大大減少了算法的運(yùn)算量。這種從頭部剪枝的方式,可以通過修改搜索算法實(shí)現(xiàn)。以哈希表headPrune存儲(chǔ)已經(jīng)出現(xiàn)在結(jié)果中的材料,當(dāng)這些材料出現(xiàn)在緩存序列的頭部時(shí),直接退出,不進(jìn)行后續(xù)搜索。偽代碼如下:
backtrack(indexes,begin,current,headPrune,result)
if begin已經(jīng)超出indexes的范圍,沒有材料可以加入緩存序列
將current中緩存的序列作為結(jié)果加入result
遍歷作為結(jié)果加入result的材料序列
將材料加入哈希表headPrune緩存
函數(shù)返回
if 緩存序列為空
遍歷begin指向的材料及之后的材料
如果該材料已經(jīng)在哈希表headPrune中出現(xiàn)
函數(shù)返回
else
將遍歷到的材料加入緩存序列current
backtrack(indexes,i + 1,current,headPrune,result),遞歸執(zhí)行
退出新加入緩存序列current的材料
函數(shù)返回
else
遍歷begin指向的材料及之后的材料
if 遍歷到的材料加入緩存序列,不違反通板規(guī)程
將遍歷到的材料加入緩存序列current
backtrack(indexes,i + 1,current,headPrune,result),遞歸執(zhí)行
退出新加入緩存序列current的材料
假設(shè)待排序的材料是A、B、C、D、E、F、G,以A為開頭的搜索中假設(shè)已經(jīng)搜索到了合法序列A、C、D、E,那么A、C、E和A、D、E這樣的序列就不需要出現(xiàn)在最終的搜索結(jié)果中。而且深度優(yōu)先搜索的特性決定了從A、C、E出發(fā)得到的所有后續(xù)序列,已經(jīng)包含在以A、C、D、E出發(fā)得到的所有后續(xù)序列之中。所以在已經(jīng)得到以A、C、D、E這樣的結(jié)果之后,不需要以其子序列出發(fā)再進(jìn)行搜索。以這種在序列尾部考慮剪枝的方式,可以從另一方向顯著減少搜索的代價(jià),提升結(jié)果的質(zhì)量。
具體的實(shí)現(xiàn)方法是,使用一個(gè)哈希表來標(biāo)記已經(jīng)存在于結(jié)果中的材料,在算法回溯的過程中,如果要加入緩存的材料已經(jīng)出現(xiàn)在結(jié)果中,那就不需要搜索下去。比如A、C、D、E已經(jīng)出現(xiàn)在搜索結(jié)果中,當(dāng)前緩存的序列是A、D,接下來要嘗試將E加入,獲得A、D、E,但是E已經(jīng)出現(xiàn)在了結(jié)果中,所以可以跳過E,直接嘗試加入F,如果加入F滿足通板規(guī)程,則得到了一個(gè)新的合法序列——A、D、F。新增哈希表tailPrune,緩存前一次遞歸哪些材料已經(jīng)作為結(jié)果輸出,算法偽代碼如下:
backtrack(indexes,begin,current,headPrune,tailPrune,result)
if begin已經(jīng)超出indexes的范圍,沒有材料可以加入緩存序列
將current中緩存的序列作為結(jié)果加入result
遍歷作為結(jié)果加入result的材料序列
將材料加入哈希表headPrune緩存
將材料加入哈希表tailPrune緩存
函數(shù)返回
if 緩存序列為空
遍歷begin指向的材料及之后的材料
如果該材料已經(jīng)在哈希表headPrune中出現(xiàn)
函數(shù)返回
else
將遍歷到的材料加入緩存序列current
backtrack(indexes,i + 1,current,headPrune,tailPrune,result)
退出新加入緩存序列current的材料
函數(shù)返回
else
遍歷begin指向的材料及之后的材料
if 遍歷到的材料沒有出現(xiàn)在哈希表tailPrune中,且加入緩存序列不違反通板規(guī)程
創(chuàng)建臨時(shí)哈希表tempTailPrune,復(fù)制tailPrune
將當(dāng)前遍歷到材料以后的材料,從tempTailPrune中移除
將遍歷到的材料加入緩存序列current
backtrack(indexes,i + 1,current,headPrune,tempTailPrune,result)
退出新加入緩存序列current的材料
將tempTailPrune中新出現(xiàn)的材料加入tailPrune
經(jīng)過3.5得到了若干優(yōu)質(zhì)的可行解,但是這些解是過濾掉了等價(jià)元素的,需要根據(jù)3.1緩存的分組關(guān)系,將材料恢復(fù)。假設(shè)得到的結(jié)果序列為A0、B0、D0,則經(jīng)過恢復(fù)的序列為A0、A1、B0、B1、B2、D0、D1、D2。
根據(jù)不同的優(yōu)化目標(biāo),可以給材料序列設(shè)定不同的打分函數(shù),將打分函數(shù)應(yīng)用于可行解序列,即可選出分?jǐn)?shù)最高的材料序列。例如要選取包含材料數(shù)最多的材料序列,可以從前向后遍歷可行解集合,挑選出最長(zhǎng)的材料序列。
算法使用寶鋼某熱鍍鋅產(chǎn)線的實(shí)際生產(chǎn)數(shù)據(jù)進(jìn)行了試驗(yàn),得到如圖1所示結(jié)果。從圖1可以看出,算法運(yùn)行時(shí)間隨材料個(gè)數(shù)增加而上升,但上升趨勢(shì)平緩。材料數(shù)量在一定范圍內(nèi)時(shí),算法運(yùn)行時(shí)間與材料數(shù)量接近線性相關(guān)。熱鍍鋅產(chǎn)線的生產(chǎn)前庫(kù)的庫(kù)存是有限的,實(shí)踐證明,在達(dá)到最大庫(kù)存的情況下,算法可以在2 s內(nèi)執(zhí)行完畢。
圖1 算法運(yùn)行時(shí)間隨輸入材料數(shù)變化趨勢(shì)圖Fig.1 Tendency chart for time cost of the scheduling algorithm
相比于人工排程或者既有的排程模型,該算法體現(xiàn)出了如下優(yōu)勢(shì):
(1) 運(yùn)行速度快。絕大部分情況下,算法可以在2 s內(nèi)給出結(jié)果。
(2) 一次運(yùn)行,多個(gè)最優(yōu)解。在提前設(shè)定好多種優(yōu)化目標(biāo)之后,算法運(yùn)行一次,就可以給出各種優(yōu)化目標(biāo)對(duì)應(yīng)的最優(yōu)解,供計(jì)劃員對(duì)比和選擇。
(3) 算法通用性高,方便移植。算法對(duì)排程問題的假設(shè)比較簡(jiǎn)單,一是材料有序,二是盡可能將更多地材料排入計(jì)劃。只需要根據(jù)新產(chǎn)線的情況,定義好材料排序方式、通板規(guī)程以及優(yōu)化目標(biāo),即可應(yīng)用該算法求得最優(yōu)的材料序列。目前在酸軋排程模型中,已經(jīng)成功移植了該算法。
(1) 寶武集團(tuán)將綠色作為生命底色和戰(zhàn)略基色,大力推進(jìn)智慧制造支撐綠色發(fā)展,智慧制造能力日漸成為鋼鐵制造企業(yè)的核心競(jìng)爭(zhēng)力。排程作為智慧制造的核心部分,需要開展深入的研究和實(shí)踐。
(2) 本文提出了一個(gè)算法,可以快速求解排程問題。
(3) 該算法運(yùn)行速度快;一次執(zhí)行可以給出多種優(yōu)化目標(biāo)下的最優(yōu)解;具有通用性,易于移植與推廣。
(4) 目前已經(jīng)應(yīng)用于寶鋼某熱鍍鋅產(chǎn)線的智能排程,實(shí)踐證明了該算法的可行性與優(yōu)越性,并成功移植到了酸軋產(chǎn)線的排程模型中。