本發(fā)明涉及冶金自動化技術(shù),尤其涉及一種連續(xù)配料料倉加料作業(yè)延遲自動調(diào)整方法。
背景技術(shù):
使用混勻原料有利于高爐穩(wěn)定生產(chǎn)提供優(yōu)質(zhì)鐵水。為了提高原料混勻效果,目前國內(nèi)很多鋼鐵企業(yè)都采用了由原料場向燒結(jié)廠供應(yīng)混勻原料的工藝?;靹蚺淞瞎に囍饕苫靹蚺淞喜邸⒍拷o料裝置、混勻料場、混勻堆取料機(jī)及相關(guān)輸送設(shè)備組成。通過定量給料裝置控制混勻配料槽進(jìn)行定量配料以實(shí)現(xiàn)按照煉鐵工藝的實(shí)際配比要求進(jìn)行混勻,再利用混勻堆取料機(jī)在混勻料場進(jìn)行堆取操作完成堆料操作和取料操作。
混勻配料槽一般包括多個(gè)料倉,以裝填各種原料,由于混勻配比的不同,各個(gè)料倉的下料速度可能不同,科學(xué)合理地安排各個(gè)料倉的加料作業(yè)以保證混勻料槽的連續(xù)下料成為鋼鐵企業(yè)混勻料場必須具備的軟實(shí)力。混勻配料料槽的各個(gè)料倉的加料計(jì)劃,一般是在某一時(shí)間點(diǎn)根據(jù)各種規(guī)則和算法計(jì)算得出的靜態(tài)計(jì)劃。由于加料過程中需要使用的堆取料機(jī)、帶式運(yùn)輸機(jī)和卸料小車等調(diào)度設(shè)備,在實(shí)際生產(chǎn)中,調(diào)度設(shè)備由于各種原因可能導(dǎo)致延遲,無法及時(shí)執(zhí)行靜態(tài)計(jì)劃中的既定任務(wù),造成靜態(tài)計(jì)劃無法繼續(xù)執(zhí)行下去的情況。因此在連續(xù)配料料倉加料過程中必須對作業(yè)延遲的擾動進(jìn)行自動調(diào)整,產(chǎn)生新的時(shí)序計(jì)劃以指導(dǎo)實(shí)際生產(chǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于針對現(xiàn)有技術(shù)中的缺陷,提供一種連續(xù)配料料倉加料作業(yè)延遲自動調(diào)整方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種連續(xù)配料料倉加料作業(yè)延遲自動調(diào)整方法,包括以下步驟:
1)收集參數(shù);參數(shù)信息包括:料倉的料位上限lmax、料倉最小加料停止線l+min、料倉的料位下限lmin、允許開始加料的最高料位ls+、加料速度v+、加料小車的數(shù)量ncar、小車移動速度vcar、相鄰料倉間距m,調(diào)度周期T;
2)獲取原調(diào)度初始狀態(tài)和混勻任務(wù)要求的料槽運(yùn)行信息;原初始狀態(tài)信息包括:料槽的初始下料狀態(tài)、各個(gè)料倉的初始料位、小車的初始位置、小車的初始可用時(shí)刻、小車的初始任務(wù);混勻任務(wù)要求的料槽運(yùn)行信息包括:混勻料槽可使用的料倉、各個(gè)料倉的下料速度;
3)導(dǎo)入以步驟1)和2)中數(shù)據(jù)信息為已知條件自動編制好的連續(xù)配料料倉加料作業(yè)時(shí)序計(jì)劃J,J中的作業(yè)按照開始時(shí)刻升序排列;導(dǎo)入料槽下料狀態(tài)變化時(shí)刻集合TT;
4)啟動連續(xù)配料料倉加料作業(yè)延遲自動調(diào)整流程,具體是:
4.1)輸入被延遲的作業(yè)的編號j和延遲時(shí)長δ;
4.2)根據(jù)編號j從原供料作業(yè)集合J中找到對應(yīng)的作業(yè)J(j),得到該作業(yè)原計(jì)劃開始加料時(shí)刻tsf(j),利用公式tnsf(j)=tsf(j)+δ,計(jì)算被延遲的作業(yè)新的開始加料時(shí)刻tnsf(j);
4.3)刪除原供料作業(yè)集合J中的編號大于等于j的所有作業(yè);
4.4)根據(jù)J中作業(yè)屬性“加料小車”,重置各個(gè)小車的最后任務(wù)(查詢不到,則令小車上無任務(wù));
4.5)判斷供料作業(yè)集合J是否為空,若為空,則令時(shí)鐘t=0,清空混勻料槽下料狀態(tài)變化時(shí)刻集合TT;若不為空,則找到作業(yè)j前的首個(gè)作業(yè)j-1,令時(shí)鐘t=tsf(j-1),刪除混勻料槽下料狀態(tài)變化時(shí)刻集合TT中不小于t的所有時(shí)間點(diǎn);
4.6)設(shè)置供料任務(wù)集合中結(jié)束時(shí)刻晚于時(shí)鐘t的所有任務(wù)的結(jié)束時(shí)刻為無窮大∞;
4.7)選中加料料倉為被延遲的編號j作業(yè)對應(yīng)的料倉,令i表示其編號;
4.8)計(jì)算料倉i允許的最晚加料時(shí)刻ti,l+;
4.9)判斷tnsf(k)是否大于等于T;若是,則轉(zhuǎn)到步驟4.16);若否,則令t=tnsf(j),轉(zhuǎn)到步驟4.10);.
4.10)指定加料小車,確定小車行走時(shí)長;具體過程如下:
4.10.1)計(jì)算在時(shí)刻t每個(gè)小車k對選中料倉i的可用時(shí)刻availti,t(k)和緊急可用時(shí)刻urgentavailti,t(k),若時(shí)刻t小車k的最后任務(wù)為空,則
urgentavailti,t(k)=availti,t(k)=max(t,initavailt(k)+m|initp(k)-i|/vcar)
其中,initavailt(k)為小車k的初始可用時(shí)刻,initp(k)為小車k的初始位置;
若時(shí)刻t小車k有最近任務(wù)j*,且最近任務(wù)的結(jié)束時(shí)刻et(j*)為∞,則利用料位計(jì)算公式判斷小車能否在時(shí)刻t前加滿;若能加滿,則計(jì)算加滿時(shí)刻tfull,
availti,t(k)=max(t,tfull+m|p(j*)-i|/vcar);
其中p(j*)為任務(wù)j*對應(yīng)的料倉編號;否則availti,t(k)=∞;小車k對選中料倉i的緊急可用時(shí)刻為
urgentavailti,t(k)=max(t,interruptt(j*)+m|p(j*)-i|/vcar)
其中,interruptt(j*)為任務(wù)j*的允許打斷時(shí)刻;
若時(shí)刻t小車k有最近任務(wù)j*,且最近任務(wù)的結(jié)束時(shí)刻et(j*)不為∞,則
urgentavailti,t(k)=availti,t(k)=max(t,et(j*)+m|p(j*)-i|/vcar).
4.10.2)在小車集合中搜索availti,t(k)<tnsf(j)的所有小車;若搜索結(jié)果不為空,則轉(zhuǎn)到4.10.3);否則轉(zhuǎn)到步驟4.10.4);
4.10.3)從搜索結(jié)果中選擇行走距離最近的小車為料倉i加料,記錄選中的小車為k*,過程結(jié)束;
4.10.4)搜索對選中料倉i的緊急可用時(shí)刻urgentavailti,t(k)≤tnsf(j)的小車;若搜索結(jié)果不唯一,則選擇行走距離最近的小車為料倉i加料;記錄選中的小車為k*;
4.11)料槽停止下料檢測;料槽停止下料檢測的具體過程為:比較t和ti,l+的大小,若t>ti,l+,則表示料倉i在開始加料前已經(jīng)斷料;根據(jù)集合TT判斷若則將ti,l+加入TT;
4.12)加滿檢測;具體過程如下:遍歷所有小車k,若小車k上的最近任務(wù)j*的結(jié)束時(shí)刻為∞,則利用料位計(jì)算公式得到加滿時(shí)刻tfull;判斷k是否等于k*,若是,然后得到et(j*)=min(tfull,t-m|p(j*)-i|/vcar);若否,則判斷任務(wù)j*能否在t前加滿,若能加滿即tfull≤t,則判斷任務(wù)j*能否在完全不影響為其他料倉供料的情況下確定加滿時(shí)刻,即要求tfull≤t-max(p(j*)-1,max(i)-p(j*)),其中max(i)表示料倉編號的最大值,若tfull≤t-max(p(j*)-1,max(i)-p(j*)),則et(j*)=tfull;
4.13)添加新任務(wù)到供料任務(wù)集合J中,新任務(wù)的編號為J中最后一個(gè)任務(wù)的編號加1,并更新小車最近任務(wù);假設(shè)新任務(wù)為j',則該任務(wù)的可打斷時(shí)刻為interruptt(j')=t+(l+min-li,t)/v+;
4.14)料槽開始下料檢測;料槽開始下料檢測的具體過程為:獲取新任務(wù)的料倉編號i,并計(jì)算該料倉在時(shí)刻t的料位li,t,計(jì)算小車將料倉i料位加至最低料位以上的時(shí)刻tlmin(i),tlmin(i)=t+max(0,(lmin-li,t)/v+);判斷時(shí)刻tlmin(i)其他料倉的料位是否均高于料倉的料位下限lmin;若是,則根據(jù)料槽下料曲線判斷時(shí)刻tlmin的料槽下料狀態(tài),若時(shí)刻tlmin料槽下料狀態(tài)則將tlmin加入集合TT;
4.15)以當(dāng)前時(shí)刻t為起點(diǎn),生成調(diào)度周期T內(nèi)的后續(xù)加料作業(yè);如圖2所示,具體過程如下:
4.15.1)選擇加料料倉,記為料倉i*;選擇加料料倉原則是對可用料倉按照持續(xù)下料能力進(jìn)行升序排序,選出持續(xù)下料能力最小的料倉作為加料料倉;料倉持續(xù)下料能力的計(jì)算方法為:
假設(shè)料倉編號為i,檢索供料任務(wù)作業(yè)集合中加料料倉編號為i且開始時(shí)刻小于等于t結(jié)束時(shí)刻大于t的任務(wù);若結(jié)果不為空,則表示t時(shí)刻料倉i正在加料;若結(jié)果為空,則表示t時(shí)刻料倉無小車加料;
根據(jù)全局任務(wù)集合和料槽下料曲線,利用如下公式計(jì)算料倉i在t時(shí)刻的料位li,t;
利用料倉的持續(xù)下料能力計(jì)算公式
得到料倉i的持續(xù)下料能力;
4.15.2)計(jì)算料倉i*允許的最早和最晚開始加料時(shí)刻;
4.15.3)指定加料小車,確定開始加料時(shí)刻;
4.15.4)判斷開始加料時(shí)刻是否不小于調(diào)度周期T;若是,則過程結(jié)束;否則轉(zhuǎn)到步驟4.15.5);
4.15.5)令t等于開始加料時(shí)刻;
4.15.6)料槽停止下料檢測;
4.15.7)加滿檢測;
4.15.8)添加新作業(yè),并更新小車最后作業(yè);
4.15.9)料槽開始下料檢測,轉(zhuǎn)到步驟4.15.1);
4.16)令t=T,啟動料槽停止下料檢測;
4.17)啟動強(qiáng)制任務(wù)截?cái)喾椒?;遍歷所有小車k,計(jì)算各個(gè)小車作業(yè)料倉的加滿時(shí)刻tfull,若tfull<T,則令小車上的作業(yè)的結(jié)束時(shí)刻為tfull;若tfull≥T,則令小車上的作業(yè)的結(jié)束時(shí)刻為T。
按上述方案,所述步驟4.8)中計(jì)算料倉i允許的最晚加料時(shí)刻ti,l+的具體計(jì)算方法如下:
4.8.1)利用料位計(jì)算公式計(jì)算時(shí)刻t料倉i的料位li,t,其中,li,0為料倉i的初始料位;表示時(shí)刻t前料倉i的加料總量,δi,t表示時(shí)刻t料倉i是否加料,表示時(shí)刻t前料倉i的下料總量,vi,-表示料倉i的下料速度,
4.8.2)判斷是否小于等于lmin;若是則料倉i允許的最晚加料時(shí)刻為ti,l+=t,計(jì)算過程結(jié)束;若否,轉(zhuǎn)至步驟4.8.3);
4.8.3)在料槽下料狀態(tài)變化時(shí)刻集合TT查找當(dāng)前時(shí)鐘時(shí)刻t之后的狀態(tài)變化時(shí)刻;若查找結(jié)果為空,則轉(zhuǎn)到4.8.4);若查找結(jié)果不為空,則轉(zhuǎn)到4.8.5);
4.8.4)根據(jù)料槽初始下料狀態(tài)和集合TT判斷時(shí)刻t料槽的下料狀態(tài)εt;若εt=1,則ti,l+=t+(li,t-lmin)/vi,-;若εt=0,則ti,l+=∞;計(jì)算過程結(jié)束;
4.8.5)遍歷4.8.3)中的查找結(jié)果,分段計(jì)算;求取滿足
的最小的t”;ti,l+=t”。
按上述方案,所述步驟4.15.2)中料倉i*允許的最晚開始加料時(shí)刻的計(jì)算方法同步驟4.8)所述;料倉i*允許的最早加料時(shí)刻的計(jì)算方法如下:
利用料位計(jì)算公式計(jì)算時(shí)刻t料倉i*的料位
判斷是否小于等于lmin;若是,則料倉i*允許的最早開始加料時(shí)刻計(jì)算過程結(jié)束;若否,則轉(zhuǎn)至下一步;
判斷是否小于等于ls+;若是,則計(jì)算過程結(jié)束;若否,則進(jìn)入下一步;
在料槽下料狀態(tài)變化時(shí)刻集合TT查找當(dāng)前時(shí)鐘時(shí)刻t之后的狀態(tài)變化時(shí)刻;若查找結(jié)果為空,根據(jù)料槽初始下料狀態(tài)和集合TT判斷時(shí)刻t料槽的下料狀態(tài)εt;若εt=1,則若εt=0,則計(jì)算過程結(jié)束;若查找結(jié)果不為空,則遍歷本步驟當(dāng)前時(shí)鐘時(shí)刻t之后的狀態(tài)變化時(shí)刻中的查找結(jié)果,分段計(jì)算;求取滿足
的最小的t',
本發(fā)明產(chǎn)生的有益效果是:本發(fā)明基于作業(yè)集和料槽下料狀態(tài)變化時(shí)刻集跟蹤料倉料位的變化,通過設(shè)計(jì)啟發(fā)規(guī)則確定加料料倉和加料小車。在連續(xù)配料料倉加料作業(yè)靜態(tài)時(shí)序計(jì)劃中的作業(yè)發(fā)生延遲時(shí),能對被延遲的作業(yè)對應(yīng)的料倉進(jìn)行處理,并利用料倉加料需求驅(qū)動時(shí)鐘產(chǎn)生后續(xù)的加料作業(yè)計(jì)劃,從而在原作業(yè)計(jì)劃的基礎(chǔ)上快速產(chǎn)生新的作業(yè)時(shí)序計(jì)劃以應(yīng)對作業(yè)延遲。由于實(shí)際生產(chǎn)過程中常常出現(xiàn)作業(yè)延遲的情況,因此本發(fā)明能夠大大提高通過制定連續(xù)配料料倉加料作業(yè)計(jì)劃對生產(chǎn)進(jìn)行輔助決策的實(shí)用性。
附圖說明
下面將結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步說明,附圖中:
圖1為本發(fā)明連續(xù)配料料倉加料作業(yè)延遲自動調(diào)整方法的流程圖。
圖2為本發(fā)明后續(xù)加料作業(yè)任務(wù)生成方法的流程圖。
圖3為本發(fā)明實(shí)施例中某加料作業(yè)延遲自動調(diào)整后料槽下料狀態(tài)曲線結(jié)果圖。
圖4為本發(fā)明實(shí)施例中某加料作業(yè)延遲自動調(diào)整后各個(gè)料倉的料位曲線結(jié)果圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
一種連續(xù)配料料倉加料作業(yè)延遲自動調(diào)整方法,包括:
1.收集參數(shù)。本實(shí)例中混勻料場中的混勻料槽包括8個(gè)料倉。本實(shí)例所收集到的工藝參數(shù)包括:料倉的料位上限lmax=920t、料倉最小加料停止線l+min=800t、料倉的料位下限lmin=460t、允許開始加料的最高料位ls+=560t、加料速度v+=33.33t/min、加料小車的數(shù)量ncar=3、小車移動速度vcar=8.16m/min、相鄰料倉間距m=12m,調(diào)度周期T=480min.
2.輸入原調(diào)度初始狀態(tài)和混勻任務(wù)要求的料槽運(yùn)行信息。本實(shí)施例中原初始狀態(tài)信息設(shè)置如下:料槽的初始下料狀態(tài)為斷料,即ε0=0,各個(gè)料倉的初始料位用向量表示為[50,350,200,150,120,80,360,60]t,小車的初始位置用料倉編號來表示,小車的初始位置向量為[3,5,2],小車的初始可用時(shí)刻向量為[0,0,0],小車在原調(diào)度開始時(shí)刻均無最后任務(wù),混勻料槽中全部料倉均投入使用,各個(gè)料倉的下料速度用向量表示為[3.67,1.83,11,3.67,7.33,2.93,4.4,1.83]t/min.
3.導(dǎo)入步驟1和2為已知條件自動編制好的連續(xù)配料料倉加料作業(yè)時(shí)序計(jì)劃J(J中的作業(yè)按照開始時(shí)刻升序排列),如表1所示。導(dǎo)入料槽下料狀態(tài)變化時(shí)刻集合TT={60.6941},單位為分鐘.
表格1 原連續(xù)配料料倉加料作業(yè)時(shí)序計(jì)劃
4.啟動連續(xù)配料料倉加料作業(yè)延遲自動調(diào)整流程,具體是:
1)輸入被延遲的作業(yè)的編號j和延遲時(shí)長δ.本實(shí)施例中設(shè)置j=5,δ=10min進(jìn)行測試。
2)根據(jù)編號j從原供料作業(yè)集合J中找到對應(yīng)的作業(yè)J(j),得到該作業(yè)原計(jì)劃開始加料時(shí)刻tsf(j),利用公式tnsf(j)=tsf(j)+δ,計(jì)算被延遲的作業(yè)新的開始加料時(shí)刻tnsf(j).
3)刪除原供料作業(yè)集合J中的編號大于等于j的所有作業(yè)。
4)根據(jù)J中作業(yè)屬性“加料小車”,重置各個(gè)小車的最后任務(wù)(查詢不到,則令小車上無任務(wù))。
5)判斷供料作業(yè)集合J是否為空,若為空,則令時(shí)鐘t=0,清空混勻料槽下料狀態(tài)變化時(shí)刻集合TT;若不為空,則找到作業(yè)j前的首個(gè)作業(yè)j-1,令時(shí)鐘t=tsf(j-1),刪除混勻料槽下料狀態(tài)變化時(shí)刻集合TT中不小于t的所有時(shí)間點(diǎn)。
6)設(shè)置供料任務(wù)集合中結(jié)束時(shí)刻晚于時(shí)鐘t的所有任務(wù)的結(jié)束時(shí)刻為無窮大。
7)選中加料料倉為被延遲的作業(yè)(編號j)對應(yīng)的料倉,令i表示其編號。
8)計(jì)算料倉i允許的最晚加料時(shí)刻ti,l+。具體計(jì)算方法如下:
(1)利用料位計(jì)算公式計(jì)算時(shí)刻t料倉i的料位li,t,其中,li,0為料倉i的初始料位;表示時(shí)刻t前料倉i的加料總量,δi,t表示時(shí)刻t料倉i是否加料,表示時(shí)刻t前料倉i的下料總量,vi,-表示料倉i的下料速度,
(2)判斷是否小于等于lmin.若是則料倉i允許的最晚加料時(shí)刻為ti,l+=t,計(jì)算過程結(jié)束;若否,轉(zhuǎn)至步驟(3).
(3)在料槽下料狀態(tài)變化時(shí)刻集合TT查找當(dāng)前時(shí)鐘時(shí)刻t之后的狀態(tài)變化時(shí)刻。若查找結(jié)果為空,則轉(zhuǎn)到(4);若查找結(jié)果不為空,則轉(zhuǎn)到(5).
(4)根據(jù)料槽初始下料狀態(tài)和集合TT判斷時(shí)刻t料槽的下料狀態(tài)εt。若εt=1,則ti,l+=t+(li,t-lmin)/vi,-;若εt=0,則ti,l+=∞.計(jì)算過程結(jié)束。
(5)遍歷(3)中的查找結(jié)果,分段計(jì)算。求取滿足
的最小的t”.ti,l+=t”.
9)判斷tnsf(k)是否大于等于T.若是,則轉(zhuǎn)到步驟16);若否,則令t=tnsf(j),轉(zhuǎn)到步驟10).
10)指定加料小車,確定小車行走時(shí)長。具體過程如下:
(1)計(jì)算在時(shí)刻t每個(gè)小車k對選中料倉i的可用時(shí)刻availti,t(k)和緊急可用時(shí)刻urgentavailti,t(k).若時(shí)刻t小車k的最后任務(wù)為空,則
urgentavailti,t(k)=availti,t(k)=max(t,initavailt(k)+m|initp(k)-i|/vcar)
其中,initavailt(k)為小車k的初始可用時(shí)刻,initp(k)為小車k的初始位置。
若時(shí)刻t小車k有最近任務(wù)j*,且最近任務(wù)的結(jié)束時(shí)刻et(j*)為∞,則利用料位計(jì)算公式判斷小車能否在時(shí)刻t前加滿。若能加滿,則計(jì)算加滿時(shí)刻tfull,
availti,t(k)=max(t,tfull+m|p(j*)-i|/vcar);
其中p(j*)為任務(wù)j*對應(yīng)的料倉編號。否則availti,t(k)=∞.小車k對選中料倉i的緊急可用時(shí)刻為
urgentavailti,t(k)=max(t,interruptt(j*)+m|p(j*)-i|/vcar)
其中,interruptt(j*)為任務(wù)j*的允許打斷時(shí)刻。
若時(shí)刻t小車k有最近任務(wù)j*,且最近任務(wù)的結(jié)束時(shí)刻et(j*)不為∞,則
urgentavailti,t(k)=availti,t(k)=max(t,et(j*)+m|p(j*)-i|/vcar).
(2)在小車集合中搜索availti,t(k)<tnsf(j)的所有小車。若搜索結(jié)果不為空,則轉(zhuǎn)到(3);否則轉(zhuǎn)到步驟(4).
(3)從搜索結(jié)果中選擇行走距離最近的小車為料倉i加料,記錄選中的小車為k*,過程結(jié)束。
(4)搜索對選中料倉i的緊急可用時(shí)刻urgentavailti,t(k)≤tnsf(j)的小車。若搜索結(jié)果不唯一,則選擇行走距離最近的小車為料倉i加料。記錄選中的小車為k*.
11)料槽停止下料檢測。料槽停止下料檢測的具體過程為:比較t和ti,l+的大小,若t>ti,l+,則表示料倉i在開始加料前已經(jīng)斷料。根據(jù)集合TT判斷若則將ti,l+加入TT.
12)加滿檢測。具體過程如下:遍歷所有小車k,若小車k上的最近任務(wù)j*的結(jié)束時(shí)刻為∞,則利用料位計(jì)算公式得到加滿時(shí)刻tfull.判斷k是否等于k*,若是,然后得到et(j*)=min(tfull,t-m|p(j*)-i|/vcar);若否,則判斷任務(wù)j*能否在t前加滿,若能加滿即tfull≤t,則判斷任務(wù)j*能否在完全不影響為其他料倉供料的情況下確定加滿時(shí)刻,即要求tfull≤t-max(p(j*)-1,max(i)-p(j*)),其中max(i)表示料倉編號的最大值,若tfull≤t-max(p(j*)-1,max(i)-p(j*)),則et(j*)=tfull.
13)添加新任務(wù)到供料任務(wù)集合J中,新任務(wù)的編號為J中最后一個(gè)任務(wù)的編號加1,并更新小車最近任務(wù)。假設(shè)新任務(wù)為j',則該任務(wù)的可打斷時(shí)刻為interruptt(j')=t+(l+min-li,t)/v+.
14)料槽開始下料檢測。料槽開始下料檢測的具體過程為:獲取新任務(wù)的料倉編號i,并計(jì)算該料倉在時(shí)刻t的料位li,t,計(jì)算小車將料倉i料位加至最低料位以上的時(shí)刻tlmin(i),tlmin(i)=t+max(0,(lmin-li,t)/v+).判斷時(shí)刻tlmin(i)其他料倉的料位是否均高于料倉的料位下限lmin。若是,則根據(jù)料槽下料曲線判斷時(shí)刻tlmin的料槽下料狀態(tài),若時(shí)刻tlmin料槽下料狀態(tài)則將tlmin加入集合TT.
15)以當(dāng)前時(shí)刻t為起點(diǎn),生成調(diào)度周期T內(nèi)的后續(xù)加料作業(yè)。如圖2所示,具體過程如下:
(1)選擇加料料倉,記為料倉i*.選擇加料料倉原則是對可用料倉按照持續(xù)下料能力進(jìn)行升序排序,選出持續(xù)下料能力最小的料倉作為加料料倉。料倉持續(xù)下料能力的計(jì)算方法為:
a)假設(shè)料倉編號為i,檢索供料任務(wù)作業(yè)集合中加料料倉編號為i且開始時(shí)刻小于等于t結(jié)束時(shí)刻大于t的任務(wù)。若結(jié)果不為空,則表示t時(shí)刻料倉i正在加料;若結(jié)果為空,則表示t時(shí)刻料倉無小車加料。
b)根據(jù)全局任務(wù)集合和料槽下料曲線,利用如下公式計(jì)算料倉i在t時(shí)刻的料位li,t。
利用料倉的持續(xù)下料能力計(jì)算公式
得到料倉i的持續(xù)下料能力。
(2)計(jì)算料倉i*允許的最早和最晚開始加料時(shí)刻。料倉i*允許的最晚開始加料時(shí)刻的計(jì)算方法同上文中所述。料倉i*允許的最早加料時(shí)刻的計(jì)算方法如下:
a)利用料位計(jì)算公式計(jì)算時(shí)刻t料倉i*的料位
b)判斷是否小于等于lmin.若是,則料倉i*允許的最早開始加料時(shí)刻計(jì)算過程結(jié)束;若否,則轉(zhuǎn)至步驟c).
c)判斷是否小于等于ls+.若是,則計(jì)算過程結(jié)束;若否,則轉(zhuǎn)到步驟d).
d)在料槽下料狀態(tài)變化時(shí)刻集合TT查找當(dāng)前時(shí)鐘時(shí)刻t之后的狀態(tài)變化時(shí)刻。若查找結(jié)果為空,則轉(zhuǎn)到e);若查找結(jié)果不為空,則轉(zhuǎn)到f).
e)根據(jù)料槽初始下料狀態(tài)和集合TT判斷時(shí)刻t料槽的下料狀態(tài)εt.若εt=1,則若εt=0,則計(jì)算過程結(jié)束。
f)遍歷d)中的查找結(jié)果,分段計(jì)算。求取滿足
的最小的t',
(3)指定加料小車,確定開始加料時(shí)刻。
(4)判斷開始加料時(shí)刻是否不小于調(diào)度周期T.若是,則過程結(jié)束;否則轉(zhuǎn)到步驟(5).
(5)令t等于開始加料時(shí)刻。
(6)料槽停止下料檢測。
(7)加滿檢測。
(8)添加新作業(yè),并更新小車最后作業(yè)。
(9)料槽開始下料檢測,轉(zhuǎn)到步驟(1).
1)令t=T,啟動料槽停止下料檢測。
2)啟動強(qiáng)制任務(wù)截?cái)喾椒ā1闅v所有小車k,計(jì)算各個(gè)小車作業(yè)料倉的加滿時(shí)刻tfull,若tfull<T,則令小車上的作業(yè)的結(jié)束時(shí)刻為tfull;若tfull≥T,則令小車上的作業(yè)的結(jié)束時(shí)刻為T.
連續(xù)配料料倉加料作業(yè)延遲自動調(diào)整算法運(yùn)行完畢,輸出新的料倉加料作業(yè)時(shí)序計(jì)劃,供生產(chǎn)調(diào)度人員進(jìn)行參考。本實(shí)施例中設(shè)定作業(yè)編號j=5的作業(yè),延遲時(shí)長δ=10分鐘,利用連續(xù)配料料倉加料作業(yè)延遲自動調(diào)整方法得到新的連續(xù)配料料倉加料作業(yè)時(shí)序計(jì)劃的任務(wù)集合如表2所示。新計(jì)劃對應(yīng)的料槽下料狀態(tài)曲線和各個(gè)料倉的料位變化曲線編制結(jié)果分別如圖3和圖4所示。結(jié)合圖表可以看出,連續(xù)配料料倉加料作業(yè)延遲自動調(diào)整方法能夠在作業(yè)延遲發(fā)生時(shí),在原作業(yè)計(jì)劃的基礎(chǔ)上生成新的料倉加料作業(yè)計(jì)劃,保證各個(gè)料倉的料位在合理范圍內(nèi)波動。使作業(yè)計(jì)劃具有抗干擾的能力,以適應(yīng)生產(chǎn)現(xiàn)場隨時(shí)可能出現(xiàn)的作業(yè)延遲的發(fā)生。
表格2 j=5,δ=10自動調(diào)整后的連續(xù)配料料倉加料作業(yè)時(shí)序計(jì)劃
應(yīng)當(dāng)理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。