FLEXSCHE關(guān)于排程規(guī)則的調(diào)試
發(fā)布時(shí)間:2021-2-26發(fā)布人:admin
FLEXSCHE GP可以自由組合排程方法,實(shí)現(xiàn)各種排程。
但是,如果沒有正確進(jìn)行各個(gè)方法的各種設(shè)置,也就不能得到想要的結(jié)果。所以需要確認(rèn)所制作的排程,如有問題,對(duì)各方法變更設(shè)置內(nèi)容,或變更排程方法的組合方式。
那時(shí),就需要
- 確認(rèn)排程結(jié)果是否有問題
- 如有問題,調(diào)查發(fā)生理由
- 如排程規(guī)則有缺陷則進(jìn)行修正
這樣的步驟。
以下說明上面1和2的方法。
確認(rèn)排程結(jié)果
首先確認(rèn)排程結(jié)果是否有問題。
應(yīng)該確認(rèn)的項(xiàng)目有,
- 是否發(fā)生未分派工作
- 是否是不可執(zhí)行的排程(是否違反時(shí)間制約)
- 是否發(fā)生交貨期逾期
- 是否是高效率的排程
等等。
這里的1至3可以使用[驗(yàn)證排程結(jié)果]進(jìn)行確認(rèn)。在消息面板的[驗(yàn)證結(jié)果]中顯示出驗(yàn)證的結(jié)果。
還有,作為確認(rèn)排程結(jié)果是否有異常,或者原本的數(shù)據(jù)是否有異常的手段有“數(shù)據(jù)驗(yàn)證”方法。這是一種排程方法,可以在排程規(guī)則中調(diào)用并執(zhí)行。通過運(yùn)行數(shù)據(jù)驗(yàn)證方法如果發(fā)現(xiàn)異常,在消息面板以及報(bào)告查看器顯示其內(nèi)容。
使用方法是準(zhǔn)備僅有數(shù)據(jù)驗(yàn)證方法構(gòu)成的規(guī)則,在排程面板中運(yùn)行該規(guī)則?;蛘咴谝延信懦桃?guī)則之后添加數(shù)據(jù)驗(yàn)證方法、和通常情況一樣運(yùn)行規(guī)則即可。
另外,關(guān)于3,可以在[資源甘特圖表設(shè)置]的[工作顏色]通過[高光顯示],將交貨期逾期訂單顯示為其他顏色。
關(guān)于4可以使用GUI Extension 或者 GUIPlus的評(píng)估圖表等來確認(rèn)。如果想以獨(dú)自的基準(zhǔn)評(píng)估,開發(fā)外借程序也是一種方法。
確認(rèn)排程過程
在制作的排程忠發(fā)現(xiàn)問題點(diǎn)時(shí),需要調(diào)查這個(gè)問題,在哪里,如何發(fā)生的。
例如發(fā)生未分派時(shí)、需要確認(rèn)
- 其輸入方面以及輸出方面的工作是否為已分派?未分派工作的根源是其他的工作嗎?
- 在排程面板的[排程]標(biāo)簽內(nèi),是否顯示分派失敗的理由?
- 從工作面板的“未分派工作”通過手動(dòng)向資源甘特圖表拖放工作是否可以分派?
- 該工作是被哪個(gè)方法分派的?該方法的設(shè)置是否妥當(dāng)?
等項(xiàng)。
再者,發(fā)生違反時(shí)間制約時(shí),大多都是后來被分派的工作的問題。
- 該工作被哪個(gè)方法所分派?
- 分派方向如何?
- 方法的動(dòng)作設(shè)置是否正確?
等都是需要確認(rèn)的要點(diǎn)。
交貨期逾期時(shí)、需要確認(rèn)
- 在該訂單中,哪個(gè)工作發(fā)生了滯留?
- 為什么要讓該工作等那么久?
等項(xiàng)。
以下說明這些確認(rèn)方法。
確認(rèn)工作的分派過程
FLEXSCHE GP的排程以工作主導(dǎo)調(diào)度方法或資源主導(dǎo)調(diào)度方法等各種調(diào)度方法為中心。通常的工作由這些方法得以分派。
工作的分派順序
這些方法是選擇1個(gè)工作然后分派、循環(huán)這個(gè)處理。那時(shí)根據(jù)先分派哪個(gè)工作會(huì)對(duì)排程結(jié)果造成很大影響。所以確認(rèn)各個(gè)工作的分派順序很重要。
這里說的順序,被設(shè)置于工作的自定義變量"gp.serial" 。這是在1會(huì)的重排程中,從0開始的序列號(hào)。
再者,使用資源主導(dǎo)調(diào)度方法時(shí),對(duì)1個(gè)資源注目連續(xù)分派時(shí),可以將該順序設(shè)置于工作的數(shù)值規(guī)格"gp.resdri.serial" 。
工作的分派方向
在分派所選工作時(shí),從過去到未來方向(正向),或者從未來到過去方向(逆向),搜索可分派的時(shí)間段,分派到最初找到的時(shí)刻?;谡蚧蚰嫦蚺懦探Y(jié)果有很大差異。所以各個(gè)工作的分派方向也很重要。
這個(gè)方向被設(shè)置于自定義變量"gp.asmntdir" 。1就是正向,-1是逆向。
從圖表上確認(rèn)
這些自定義變量可以顯示于資源甘特圖表或工作面板,工作查看器等。例如在[資源甘特圖表設(shè)置]的[顯示字符串]的[任務(wù)字符串]設(shè)置
%
如下圖所示,就顯示出各個(gè)工作的分派順序。
通過這種方式,如果能知道本來應(yīng)該優(yōu)先的工作卻被推后了,就可以確認(rèn)選擇工作的基準(zhǔn),進(jìn)行適當(dāng)?shù)男薷摹T偃绻ぷ鞯姆峙煞较蚺c預(yù)想的不同時(shí),可以確認(rèn)方法的動(dòng)作設(shè)置,適當(dāng)修改。
排程方法運(yùn)行后的更新顯示在運(yùn)行排程之前如果先對(duì)排程規(guī)則設(shè)置“運(yùn)行后更新顯示”,在運(yùn)行完該方法時(shí),對(duì)畫面再次進(jìn)行繪圖。排程進(jìn)行中的繪圖(步執(zhí)行)
在排程中按[SHIFT]鍵時(shí),在那期間內(nèi)停止排程處理。
在停止中按[CTRL]鍵時(shí),在那期間內(nèi)每次分派工作時(shí)都邊對(duì)畫面進(jìn)行繪圖邊進(jìn)行排程。
而且,在停止中按空白鍵,每按1次就進(jìn)行1步排程。
操作 | 動(dòng)作 |
按住[Shift]鍵 | 停止排程處理 |
按住[Shift]和[Ctrl]鍵 | 邊更新繪圖邊排程 |
按住[Shift]鍵按1回[空白]鍵 | 進(jìn)行1步排程更新繪圖 |
但是需要在FLEXSCHE的環(huán)境設(shè)置中將用戶區(qū)分設(shè)置為“高級(jí)用戶”以上。
中斷排程運(yùn)行
以多數(shù)排程方法組合起來構(gòu)筑排程規(guī)則時(shí),有時(shí)候想確認(rèn)各個(gè)排程方法如何對(duì)排程進(jìn)行更新。
有以下方法可以實(shí)現(xiàn)。
從排程面板指定
在排程面板的方法上點(diǎn)擊右鍵,選擇[運(yùn)行到此方法]。這樣就可以得到運(yùn)行到該方法的結(jié)果。
上圖中,運(yùn)行完方法[分派實(shí)績(jī)/凍結(jié)工作]結(jié)束排程。時(shí)間錨定工作以及通常工作此時(shí)未分派。
使用exit方法中斷排程運(yùn)行
使用[exit]排程方法,可以在排程規(guī)則的指定位置中斷排程
以下的排程規(guī)則中在運(yùn)行完分派實(shí)績(jī)/凍結(jié)工作后,結(jié)束排程
使用鍵盤中斷
在重排程的過程中,按鍵盤的[Pause(Break)]鍵或者[Alt]鍵+[P]鍵就顯示出以下對(duì)話框。
選擇[是]就可以中斷重排程。
面向高級(jí)人員的高級(jí)技術(shù)
介紹當(dāng)“不滿意某個(gè)工作的分派結(jié)果”時(shí)、調(diào)查為什么變成這樣的一種處理方法。
- 首先,調(diào)查該工作被分派的順序(工作的自定義變量"gp.serial")。
- 新建排程規(guī)則,添加解除分派方法。
- 對(duì)于解除工作分派方法,設(shè)置其對(duì)象為1中調(diào)查的順序以后被分派的工作。
具體的就是例如,順序是第1000個(gè)的話,指定表達(dá)式
.CustomVariable('gp.serial') >= 1000
。 - 運(yùn)行此排程規(guī)則。
這樣就可以再現(xiàn)出問題工作被分派前的狀況。以后在這種狀況下確認(rèn)排程方法所設(shè)置的各個(gè)評(píng)估表達(dá)式并推理為什么選擇了該工作,為什么分派到那個(gè)資源以及時(shí)間等