TWI633504B - 基於樹狀搜尋的排程方法與使用此方法的電子裝置 - Google Patents
基於樹狀搜尋的排程方法與使用此方法的電子裝置 Download PDFInfo
- Publication number
- TWI633504B TWI633504B TW106139611A TW106139611A TWI633504B TW I633504 B TWI633504 B TW I633504B TW 106139611 A TW106139611 A TW 106139611A TW 106139611 A TW106139611 A TW 106139611A TW I633504 B TWI633504 B TW I633504B
- Authority
- TW
- Taiwan
- Prior art keywords
- scheduling
- schedule
- processes
- candidate
- priority
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 315
- 238000004519 manufacturing process Methods 0.000 claims abstract description 76
- 238000004088 simulation Methods 0.000 claims abstract description 36
- 238000001914 filtration Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32252—Scheduling production, machining, job shop
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32266—Priority orders
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32269—Decision, of job release, select job to be launched next in shop
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32306—Rules to make scheduling decisions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34379—Job management
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45031—Manufacturing semiconductor wafers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本揭露提出一種基於樹狀搜尋的排程方法與使用此方法的電子裝置。此方法先接收多筆工單並且起始排程,其中各筆工單中包括多個製作工序。此方法從各筆工單中選擇尚未加入排程並且製程排序最前的製作工序,以選出多個優先工序。依據多個派工法則計算此些優先工序的執行優先順序,並且依據執行優先順序從此些優先工序中選擇多個候選工序。接著,分別將此些候選工序列為排程中可供排程的下一個工序,並且依據上述的派工法則進行排程模擬,以取得此些候選工序的多個排程指標。最後,依據所取得的排程指標來進行排程。
Description
本揭露是有關於一種排程方法與使用此方法的電子裝置。
對於半導體、電腦設備、電子業和電路板等製造業者來說,目前市面上的排程系統或軟體工具的價格昂貴,並且無法客製化以符合使用上的需求。
目前排程技術的主要核心方向包括精確解(exact method)、派工法則(dispatching rule)以及啟發式搜尋法(metaheuristic)三種。精確解例如為分支定界(branch and bound),常應用於實驗室或研究機構,雖能夠取得排程的最佳解,但由於所花費的時間極長而不適用於產業當中。派工法則例如為G&T(Giffler and Thompson)演算法,可以在短時間內完成排程,但品質不理想。啟發式搜尋法例如為基因演算法(Genetic algorithm),雖然在問題規模(例如,工作單量、機台數量等)較小的時候可以在短時間內完成品質良好的排程,但是隨著問題規模增大,所需的處理時間會大幅增加。
據此,提出一種能夠因應使用者不同需求、準確且處理時間短的排程方法是本領域技術人員所共同致力的目標。
本揭露提供一種基於樹狀搜尋的排程方法與使用此方法的電子裝置,能夠在合理的時間內取得良好的排程品質。
本揭露的基於樹狀搜尋的排程方法適用於電子裝置。此方法先接收多筆工單並且起始排程,其中各筆工單中包括多道製作工序。此方法還從各筆工單中選擇尚未加入排程並且製程排序最前的製作工序,以選出多道優先工序。依據多個派工法則計算此些優先工序的排程執行優先順序,並且依據排程執行優先順序從此些優先工序中選擇多道候選工序。接著,此些候選工序為排程中下一道可供排程的工序,並且依據上述的派工法則進行排程模擬,以取得此些候選工序的多個排程指標。最後,依據所取得的排程指標來進行排程。
本揭露的電子裝置包括接收元件、儲存元件、以及處理器。接收元件用以接收資料。儲存元件用以儲存多個模組。處理器耦接於接收元件以及儲存元件,並且用以載入並執行此些模組。此些模組包括資料擷取模組、樹狀排程模組、節點過濾模組以及節點選取模組。資料擷取模組用以透過接收元件接收多筆工單,其中各筆工單包括多道製作工序。樹狀排程模組用以起始排程。節點過濾模組用以選擇各筆工單中尚未加入該排程,且製程排序最前的製作工序,以取得此些工單的多道優先工序。節點過濾模組更用以依據多個派工法則計算此些優先工序的排程執行優先順序,並且依據排程執行優先順序從此些優先工序中選擇多道候選工序。節點選取模組用以分別將此些候選工序列為可供排程的下一道工序,並且依據所選擇的派工法則對此些候選工序進行排程模擬,以取得此些候選工序的多個排程指標。樹狀排程模組更用以依據此些排程指標來進行排程。
基於上述,本揭露實施例所提出的基於樹狀搜尋的排程方法以及使用此方法的電子裝置,能夠同時採用多個派工法則,藉由多個派工法則的群體決策來有效地降低誤排的風險。此外,本揭露實施例中所採用的派工法則是可以被選擇,並且再利用樹狀搜尋的演算法來逐層進行排程。據此,在排程時能夠良好地因應使用者的需求。
為讓本揭露的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本揭露實施例所提出的排程方法同時採用多個派工法則,藉由群體決策來有效地降低誤排的風險。特別是,本揭露在進行排程時所採用的多個派工法則可依據當前排程的需求及目標(例如,最小化總完工時間、遲交個數最少等)來從知識庫中選擇,並且在選出所採用的派工法則後,利用樹狀搜尋的演算法來逐層進行排程。因此,本揭露實施例所提出的排程方法能夠因應使用者不同的需求來進行排程,並且同時具有合理的處理時間與良好的排程品質。
圖1繪示本揭露一實施例的電子裝置的概要方塊圖。請參考圖1,本揭露的排程方法適用於電子裝置100。電子裝置100例如是個人電腦(personal computer,PC)、工作站(work station)、伺服器(server)、筆記型電腦(notebook)、個人數位助理(personal digital assistant,PDA)、智慧型手機(smart phone)、平板電腦(tablet PC)等具有運算能力的電子裝置,本揭露並不在此限。電子裝置100包括接收元件110、儲存元件120以及處理器130。
接收元件110用以從外部接收各種資料。在一實施例中,接收元件110例如可用以接收欲排程的多筆工單。在另一實施例中,接收元件110例如可用以接收排程時的排程目標(例如,最小化總完工時間、準交率最高等)。接收元件110例如是電子裝置100的鍵盤、滑鼠、麥克風或觸控螢幕等輸入裝置,又例如是資料擷取卡或網路介面卡等,本揭露並不在此限。
儲存元件120用以儲存資料,例如是任意型式的固定式或可移動式隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(Read-Only Memory,ROM)、快閃記憶體(Flash memory)、硬碟或其他類似裝置或這些裝置的組合,而用以記錄可由處理器130執行的多個模組,這些模組可載入處理器130以對接收元件110所接收到的多筆工單進行排程。
處理器130例如是中央處理單元(Central Processing Unit,CPU),或是其他可程式化之一般用途或特殊用途的微處理器(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似裝置或這些裝置的組合。處理器130耦接於接收元件110與儲存元件120,而可存取並執行記錄在儲存元件120中的模組,以對接收元件110所接收到的多筆工單進行排程。
上述模組至少包括資料擷取模組121、樹狀排程模組122、節點過濾模組123以及節點選取模組124。這些模組例如是韌體或電腦程式,被載入至處理器130來對多筆工單執行本揭露實施例之基於樹狀搜尋的排程功能。以下即舉實施例說明本揭露基於樹狀搜尋的排程方法的詳細步驟。
圖2繪示本揭露一實施例的排程方法的流程圖。請參照圖2,本實施例的方法適用於圖1實施例的電子裝置100,以下即搭配電子裝置100中的各項元件說明本揭露的基於樹狀搜尋的排程方法的詳細步驟。
在步驟S200中,處理器130會建立知識庫並將其記錄於儲存元件120中。在一實施例中,知識庫中記錄有多個可用派工法則以及各個可用派工法則與多個排程目標之間的多個相關性。
圖3繪示本揭露一實施例的知識庫的示意圖。請參考圖3,知識庫(Rule Library)RL所記錄的多個可用派工法則例如包括最短處理時間(Shortest Processing Time,SPT)、先進先出(First In, First Out,FIFO)、到達時間(Arrival Time,AT)、到達時間-總剩餘處理時間(Arrival Time-Total Remaining Process Time,AT-RPT)以及修正交期(Modified Due Date,MDD)等等。所屬領域具備通常知識者當可由從派工法則的相關文獻中獲得上述各個可用派工法則的介紹與說明,故在此不再一一詳述。排程目標例如為最小化總完工時間、最小化訂單延遲時間以及準交率最高等。類似地,所屬領域具備通常知識者當可由從派工法則的相關文獻中獲得上述各個排程目標的介紹與說明,故在此不再一一詳述。
在本實施例中,各個可用派工法則與多個排程目標之間的相關性是以黑點數量來作為表示,黑點數量越多表示相關性越高,反之,黑點數量越少表示相關性越低。明確地說,黑點數量越多表示對應的可用派工法則越能夠滿足對應的排程目標,而黑點數量越少表示對應的可用派工法則與對應的排程目標之間越無關聯。知識庫RL中所記錄的相關性可例如是從派工法則的相關文獻中收集並整理出來,本揭露並不在此限。
如圖3所示,SPT法則與最小化總完工時間、最小化訂單延遲時間以及準交率最高的相關性皆為三個黑點;FIFO法則與最小化總完工時間、最小化訂單延遲時間以及準交率最高的相關性分別為三個、一個以及三個黑點;AT-RPT法則與最小化總完工時間、最小化訂單延遲時間以及準交率最高的相關性分別為三個、五個以及三個黑點;MDD法則與最小化總完工時間、最小化訂單延遲時間以及準交率最高的相關性分別為一個、三個以及三個黑點。
從另一觀點來看,針對同一排程目標而言,具有越多黑點數的可用派工法則表示其越能夠滿足此排程目標。舉例而言,使用SPT法則比使用MDD法則更能夠滿足最小化總完工時間的排程目標;而使用MDD法則比使用FIFO法則更能夠滿足最小化訂單延遲時間的排程目標,以此類推。
值得一提的是,圖3實施例的知識庫RL內容例如是藉由資料擷取模組121將從西元1994年至今的派工法則的相關文獻中統計整理所得,用以作為說明用示範例,但本揭露並不在此限制知識庫RL的內容與表示方式。所屬技術領域具備通常知識者當可依其需求來表示、新增或修改知識庫RL的內容。
此外,本揭露亦不在此限制知識庫RL的建立方式。在其他實施例中,電子裝置100例如預先透過接收元件110接收知識庫RL並將其儲存在儲存元件120中,然後跳過步驟S200而直接從步驟S210開始本揭露的基於樹狀搜尋的排程方法。
在步驟S210中,處理器130會透過接收元件110接收多筆工單,並且取得各筆工單的製作工序。具體來說,處理器130的資料擷取模組121會透過接收元件110接收多筆工單,一筆工單例如是用來製造一個工件,其中會包括多道製作工序以及各道製作工序的工時訊息,而資料擷取模組121會將上述的資訊從所接收的工單中擷取出來。
如下表1所示,在本實施例中,接收元件110接收到三筆工單J1、J2與J3。工單J1包括兩道工序;工單J2包括三道工序;而工單J3包括兩道工序。以工單J1來說,兩道工序依序是執行機台M1 12個時間單位以及執行機台M4 15個時間單位,以此類推。括號裡的數字用以代表所需的時間單位數。
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td> J1 </td><td> M1(12) </td><td> M4(15) </td><td> </td></tr><tr><td> J2 </td><td> M3(10) </td><td> M2(9) </td><td> M4(15) </td></tr><tr><td> J3 </td><td> M2(9) </td><td> M1(12) </td><td> </td></tr></TBODY></TABLE>表1
必須說明的是,在本實施例中,一道製作工序執行時例如是會占用某一特定的製造機台,因此,使用同一製造機台的兩道以上製作工序並不能在同一時間執行。
在接收到多筆工單之後,在步驟S220中,處理器130會選擇至少一個排程目標。在本實施例中,所選的排程目標例如是知識庫RL中所記錄的其中一個或多個排程目標。舉例而言,使用者可例如是經過廠商需求訪談,並理解了廠商需求後再依需求來輸入排程目標。接收元件110會接收來自外部(例如,使用者輸入)的選擇訊號。在本實施例中,選擇訊號例如是選擇最小化總完工時間作為排程目標。在另一實施例中,排程目標除了最小化總完工時間之外,還包括最小化訂單延遲時間等,本揭露並不在此限制選擇用來排程的排程目標。應用本揭露者可自行依需求來選擇一個或多個排程目標,以增加排程時的彈性。
在步驟S230中,處理器130會依據所選擇的排程目標,從知識庫RL中選擇多個派工法則。具體來說,處理器130例如會透過節點過濾模組123,依據知識庫RL中所記錄的相關性,來挑選出與所選的排程目標相關性較高的多個派工法則。在本實施例中,處理器130會挑選出三個派工法則,但本揭露並不限制所選的派工法則的數量。在其他實施例中,派工法則亦可例如是由使用者來自行從知識庫RL中選擇。
請參考圖3,由於在本實施例中的排程目標為最小化總完工時間,因此處理器130會選擇SPT、FIFO以及AT-RPT三個法則。在選擇了派工法則後,開始對工單的製作工序進行排程。在本實施例中,處理器130會透過樹狀排程模組122來起始一個排程,建立樹狀拓樸的根節點。
在步驟S240中,處理器130會選擇各筆工單中尚未加入排程,且製程排序最前的製作工序,以取得所接收的多筆工單的多道優先工序。明確地說,處理器130會透過節點過濾模組123選出各工單中待排程的第一道製作工序,來展開樹狀拓樸TR的第一層節點。
圖4A至圖4F繪示本發明一實施例的排程方法的示意圖。圖4A至圖4F以表1中的三筆工單J1、J2、J3為例,來說明本實施例的排程方法。在本實施例中,除了根節點R之外,樹狀拓樸TR中的一個節點是用來表示一道製作工序,而就在較下層才加入排程的節點來說,其執行時間不早於在較上層就加入排程的節點的執行時間。必須說明的是,在本揭露的實施例中,各個節點將以(工單, 機台)的方式來表示一道製作工序。請再參照表1,以工單J1為例,其第一道製作工序所執行的是機台M1,故將其表示為(J1, M1),第二道製作工序所執行的是機台M4,故將其表示為(J1, M4),以此類推。
如圖4A所示,在尚未有製作工序加入排程時,表1的三筆工單J1、J2與J3中待排程的第一道製作工序分別是(J1, M1)、(J2, M3)與(J3, M2)。因此,處理器130的節點過濾模組123會在步驟S240從三筆工單J1、J2與J3的多道製作工序中選出優先工序(J1, M1)、(J2, M3)與(J3, M2),再將根節點R作為起始節點,開始向樹狀拓樸的第一層展開節點。在本實施例中,樹狀拓樸TR的第一層節點為優先工序(J1, M1)、(J2, M3)與(J3, M2)。
在步驟S250中,處理器130會依據所選的多個派工法則,來計算優先工序的排程執行優先順序,並且依據排程執行優先順序來從優先工序中選出多道候選工序。具體來說,處理器130會先透過節點過濾模組123,分別依據派工法則來排序優先工序進而得到候選工序。
如圖4B所示,依據SPT法則排序優先工序(J1, M1)、(J2, M3)、(J3, M2)時,以工時作為優先指標。從表1的各筆工單中可以看出,由於優先工序(J1, M1)、(J2, M3)、(J3, M2)所需耗費的工時分別為12、10、9個時間單位,因此優先工序(J1, M1)、(J2, M3)、(J3, M2)的排序分別為3、2、1。換句話說,在依據SPT法則進行排程時,工序(J3, M2)會優先於工序(J2, M3),且工序(J2, M3)會優先於工序(J1, M1)。
依據FIFO法則排序優先工序(J1, M1)、(J2, M3)、(J3, M2)時,由於排程中並沒有任何工序,因此優先工序(J1, M1)、(J2, M3)、(J3, M2)的排序相同。在本實施例中,相同的排序皆設定為1,但不限於此。
依據AT-RPT法則排序優先工序(J1, M1)、(J2, M3)、(J3, M2)時,處理器130例如會分別計算到達時間與總剩餘處理時間的差,以作為優先指標。舉例來說,優先工序(J1, M1)的到達時間為0,而總剩餘時間為27(12+15=27),因此優先工序(J1, M1)的優先指標為-27(0-(12+15)=-27)。同理,優先工序(J2, M3)的優先指標為-34(0-(10+5+9)=-34);而優先工序(J3, M2)的優先指標為-21(0-(12+9)=-21)。在本實施例中,優先指標越小的工序越優先,因此優先工序(J1, M1)、(J2, M3)、(J3, M2)的排序分別為2、1、3。換句話說,在依據AT-RPT法則進行排程時,工序(J2, M3)會優先於工序(J1, M1),且工序(J1, M1)會優先於工序(J3, M2)。
值得一提的是,不同的派工法則所對應的優先指標計算方式也不相同,而所屬技術領域具備通常知識者當可從派工法則的相關文獻中習得各種派工法則對應的優先指標的計算方式,在本揭露中不再一一贅述。
隨後,處理器130會透過節點過濾模組123,分別整合優先工序對應各個派工法則的多個排序,以取得排程執行優先順序。
從圖4B中可以看出,優先工序(J1, M1)對應SPT、FIFO、AT-RPT法則的排序分別為3、1、2;優先工序(J2, M3)對應SPT、FIFO、AT-RPT法則的排序分別為2、1、1;優先工序(J3, M2)對應SPT、FIFO、AT-RPT法則的排序分別為1、1、3。在本實施例中,處理器130會分別計算優先工序(J1, M1)、(J2, M3)、(J3, M2)的排序的平均值,以取得排程執行優先順序。具體來說,優先工序(J1, M1)的排序的平均值為2;優先工序(J2, M3)的排序的平均值為1.333;而優先工序(J3, M2)的排序的平均值為1.667。因此,優先工序(J1, M1)、(J2, M3)、(J3, M2)的排程執行優先順序為2、1.333、1.667。
在另一實施例中,處理器130也可例如是計算優先工序對應各個派工法則的排序的加權平均值,以取得排程執行優先順序,而非只是計算平均值。舉例而言,處理器130可依據各個派工法則與排程目標的相關性來設定權重。當派工法則對應於排程目標的相關性越高時,設定越高的權重,而當派工法則對應於排程目標的相關性越低時,設定越低的權重,本揭露並不在此限。
在一些實施例中,兩道或兩道以上的優先工序例如會具有相同的最低排程執行優先順序。在此情況下,處理器130例如會隨機地從中過濾其中之一,或例如修正所設定的權重值來重新計算,本揭露並不在此限。
接著,處理器130會透過節點過濾模組123,依據排程執行優先順序來從優先工序中選出多道候選工序。換句話說,節點過濾模組123會依據排程執行優先順序來過濾掉至少一道優先工序。在本實施例中,處理器130藉由節點過濾模組123過濾掉一道優先工序,但本揭露並不限制所過濾的優先工序的數量。
請再參考圖4B,從所取得排程執行優先順序可知,優先工序(J1, M1)具有最低的排程執行優先順序。因此,處理器130會將優先工序(J1, M1)過濾掉,而留下優先工序(J2, M3)、(J3, M2)作為候選工序。
在步驟S260中,處理器130會分別將多個候選工序列為排程中可供排程的下一個工序,並且依據各個派工法則來進行排程模擬,以取得多個候選工序的多個排程指標。具體來說,處理器130會透過儲存元件120中的節點選取模組124,分別將多個候選工序列為排程中可供排程的下一道工序,然後分別依據多個派工法則對多道候選工序進行排程模擬,以計算多道候選工序對應於各個派工法則的多個模擬排程結果。
請參考圖4C,在本實施例中,處理器130將候選工序(J2, M3)列為排程的下一道工序,此時排程中的排程前置狀態僅包括一道製作工序(J2, M3)。當排程進行到樹狀拓樸的第二層、第三層或更多層時,排程前置狀態中的工序數量將隨之增加。隨後,處理器130會分別依據SPT、FIFO、AT-RPT法則來進行排程模擬,以取得如甘特圖GT1至GT3的模擬排程結果。另一方面,當處理器130將候選工序(J3, M2)列為排程的下一道工序,此時排程中的排程前置狀態僅包括一道製作工序(J3, M2)。隨後,處理器130會分別依據SPT、FIFO、AT-RPT法則來進行排程模擬,以取得如甘特圖GT4至GT6的模擬排程結果。
舉例來說,甘特圖GT1是將製作工序(J2, M3)列為排程中的第一道工序,並依據SPT法則來排序工單J1、J2、J3的模擬排程結果。從甘特圖GT1可以看出,當製作工序(J2, M3)列為排程中的第一道工序,且依據SPT法則來進行排程模擬時,工單J1、J2、J3所需的總完工時間為63個時間單位。以此類推,當製作工序(J2, M3)列為排程中的第一道工序,且依據FIFO法則來進行排程模擬時,工單J1、J2、J3所需的總完工時間為42個時間單位;而當依據AT-RPT法則來進行排程模擬時,工單J1、J2、J3所需的總完工時間亦為42個時間單位。
舉另一例來說,甘特圖GT4是將製作工序(J3, M2)列為排程中的第一道工序,並依據SPT法則來排序工單J1、J2、J3的模擬排程結果。從甘特圖GT4可以看出,當製作工序(J3, M2)列為排程中的第一道工序,且依據SPT法則來進行排程模擬時,工單J1、J2、J3所需的總完工時間為49個時間單位。以此類推,當製作工序(J3, M2)列為排程中的第一道工序,且依據FIFO法則來進行排程模擬時,工單J1、J2、J3所需的總完工時間為42個時間單位;而當依據AT-RPT法則來進行排程模擬時,工單J1、J2、J3所需的總完工時間亦為42個時間單位。
在取得多個模擬排程結果之後,處理器130會分別整合多個排程前置狀態對應於各個派工法則的模擬排程結果,以取得候選工序的排程指標。
如圖4D所示,候選工序(J2, M3)對應SPT、FIFO、AT-RPT法則的總完工時間分別為63、42、42個時間單位,處理器130會計算出上述總完工時間的平均值並將其作為候選工序(J2, M3)的排程指標。在本實施例中,候選工序(J2, M3)的排程指標為49個時間單位。另一方面,候選工序(J3, M2)對應SPT、FIFO、AT-RPT法則的總完工時間分別為49、42、42個時間單位,處理器130會計算出上述總完工時間的平均值並將其作為候選工序(J3, M2)的排程指標。在本實施例中,候選工序(J3, M2)的排程指標為44.3個時間單位。
類似地,在另一實施例中,處理器130也可例如是計算候選工序對應各個派工法則的總完工時間的加權平均值,以取得對應的排程指標,而非只是計算平均值。舉例而言,處理器130可依據各個派工法則與排程目標的相關性來設定權重。當派工法則對應於排程目標的相關性越高時,設定越高的權重,而當派工法則對應於排程目標的相關性越低時,設定越低的權重,本揭露並不在此限。
類似地,在一些實施例中,兩道或兩道以上的候選工序例如具有相同的最佳排程指標。在此情況下,處理器130例如會選擇此些候選工序中,排程執行優先順序較高的候選工序作為當選工序,或是隨機地從此些候選工序中選擇其中之一作為當選工序,或是修正所設定的權重值來重新計算,本揭露並不在此限。
在步驟S270中,處理器130會依據排程指標來進行排程。在本實施例中,處理器130會透過節點選取模組124選擇最佳的排程指標所對應的候選工序來作為當選工序,並且透過樹狀排程模組122將所選出的當選工序加入為排程中的下一道工序。
如圖4D所示,由於候選工序(J3, M2)的排程指標為44.3,小於候選工序(J2, M3)的排程指標49。因此,對於最小化總完工時間的排程目標來說,候選工序(J3, M2)的排程指標優於候選工序(J2, M3)的排程指標。更明確地說,候選工序(J3, M2)的排程指標為在樹狀拓樸TR的當前層中的最佳排程指標,而候選工序(J2, M3)的排程指標為在樹狀拓樸TR的當前層中的次佳排程指標。在本實施例中,對應於最佳排程指標的候選工序(J3, M2)會被選為當選工序,並且此當選工序會被加入為排程的下一道工序。
基於上述的步驟S240至步驟S270,可展開樹狀拓樸中的第一層節點,並從中選出其中之一來加入排程。類似地,以選中的節點作為新的起始節點,並且重複步驟S240至步驟S270,便能夠再次展開樹狀拓樸TR中的第二層節點,並從中選出其中之一來加入排程,以此類推。
在本實施例中,如圖4E所示,將製作工序(J3, M2)當作新的起始節點,處理器130可展開第二層的節點,分別為製作工序(亦稱優先工序)(J1, M1)、(J2, M3)、(J3, M1)。隨後,處理器130會以類似的方式從中挑選出候選工序(J1, M1)、(J2, M3),並更從中選出當選工序(J1, M1)。其中,從工單J1、J2、J3的多道製作工序中選出優先工序、從優先工序中挑選候選工序,以及從候選工序中選出當選工序的方式已於前述段落中詳細說明,故在此不再贅述。
藉由不斷重複步驟S240至步驟S270,工單J1、J2、J3的製作工序將會被一一加入排程之中,最後獲得如圖4F中甘特圖與樹狀拓樸TR所示的排程結果,其中排程中的製作工序依序為(J3, M2)、(J1, M1)、(J2, M3)、(J2, M2)、(J1, M4)、(J3, M1)、(J2, M4),而總完工時間為42個時間單位。
在一實施例中,某些特定工單屬於急件,因此除了最小化總完工時間之外,更增加最小化訂單延遲時間作為排程目標來選擇派工法則。以下將舉另一實施例說明以不同排程目標來選擇派工法則的情境,前述段落已介紹過的步驟細節將不再贅述。
在本實施例中,以下表2作為接收元件110所接收到的工單,表2與表1的差別在於,表2的最後一個欄位中增加了工單的交期資訊,用以要求各工單的完成時間。舉例來說,工單J1的交期為60個時間單位;工單J2的交期為40個時間單位;而工單J3的交期為38個時間單位。
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td> J1 </td><td> M1(12) </td><td> M4(15) </td><td> </td><td> 60 </td></tr><tr><td> J2 </td><td> M3(10) </td><td> M2(9) </td><td> M4(15) </td><td> 40 </td></tr><tr><td> J3 </td><td> M2(9) </td><td> M1(12) </td><td> </td><td> 38 </td></tr></TBODY></TABLE>表2
若以產距倍數(交期/最少所需工時)作為指標,工單J1的產距倍數為2.2(60/(12+15)=2.2),工單J2的產距倍數為1.1(40/(10+9+15)=1.1),工單J3的產距倍數為1.8(38/(9+12)=1.8)。因此,在本實施例中,工單J2相對來說是為急單。
基於最小化訂單延遲時間的排程目標,本實施例將不會再選擇FIFO法則。具體請參考圖3,FIFO法則與最小化訂單延遲時間的相關性低(一個黑點),因此,本實施例中將會選擇與最小化訂單延遲時間的排程目標較為相關的SPT、AT-RPT與MDD法則。
圖5A至圖5F繪示本揭露一實施例的排程方法的示意圖。請參考圖5A至圖5F,如圖5A所示,本實施例中所展開的第一層節點為製作工序(亦稱優先工序)(J1, M1)、(J2, M3)、(J3, M2)。
如圖5B所示,依據SPT法則,優先工序(J1, M1)、(J2, M3)、(J3, M2)的排序分別為3、2、1;依據AT-RPT法則,優先工序(J1, M1)、(J2, M3)、(J3, M2)的排序分別為2、1、3。
依據MDD法則排序優先工序(J1, M1)、(J2, M3)、(J3, M2)時,處理器130例如會分別計算「交期」與「現在時間加上總剩餘處理時間」的最大值,以作為優先指標。舉例來說,優先工序(J1, M1)的交期為60個時間單位,而現在時間加上總剩餘處理時間為27(0+27=27)個時間單位,因此優先工序(J1, M1)的優先指標為60。同理,優先工序(J2, M3)的優先指標為40(Max{40, 0+34}=40);而優先工序(J3, M2)的優先指標為38(Max{38, 0+21}=38)。因此,優先工序(J1, M1)、(J2, M3)、(J3, M2)的排序分別為3、2、1。換句話說,在依據MDD法則進行排程時,工序(J3, M2)會優先於工序(J2, M3),且工序(J2, M3)會優先於工序(J1, M1)。
在本實施例中,如圖5B所示,處理器130會依據上述的排序來計算出優先工序(J1, M1)、(J2, M3)、(J3, M2)的排程執行優先順序為2.666667、1.666667、1.666667,並且從中挑選出候選工序(J2, M3)、(J3, M2)。
隨後,處理器130會分別將候選工序(J2, M3)、(J3, M2)列為排程中的下一道工序,以得到兩個排程前置狀態後,依據各個派工法則對兩個排程前置狀態進行排程模擬。如此一來,將得到圖5C中以甘特圖GT1至GT6表示的對應於各個派工法則的多個模擬排程結果。舉例來說,甘特圖GT2是將製作工序(J2, M3)列為排程中的第一道工序,並依據MDD法則來進行工單J1、J2、J3的模擬排程。從甘特圖GT2可以看出,當製作工序(J2, M3)列為排程中的第一道工序,且依據MDD法則來進行排程模擬時,工單J1、J2、J3所需的總完工時間為49個時間單位,以此類推。
接著,如圖5D所示,處理器130會計算候選工序(J2, M3)的排程指標為51.3個時間單位;而候選工序(J3, M2)的排程指標為44.3個時間單位。據此,處理器130會將對應於最佳排程指標44.3的候選工序(J3, M2)加為排程的下一道工序,並且繼續展開下一層節點。在本實施例中,下一層節點為製作工序(亦稱優先工序)(J1, M1)、(J2, M3)、(J3, M1)。
類似地,如圖5E所示,處理器130會從優先工序(J1, M1)、(J2, M3)、(J3, M1)中依據排程執行優先順序來選出候選工序(J2, M3)、(J3, M1),隨後再次分別將候選工序(J2, M3)、(J3, M1)列為排程中的下一道工序,以得到兩個排程前置狀態後,依據各個派工法則對兩個排程前置狀態進行排程模擬。
在本實施例中,將候選工序(J2, M3)列為排程中的下一道工序後,得到依序包括製作工序為(J3, M2)、(J2, M3)的排程前置狀態;將候選工序(J3, M1)列為排程中的下一道工序後,得到依序包括製作工序為(J3, M2)、(J3, M1)的排程前置狀態。接著,處理器會依據多種派工法則來對各個排程前置狀態進行模擬排程以得到多個模擬排程結果,進而取得候選工序(J2, M3)、(J3, M1)的排程指標。
如圖5E所示,處理器130會計算候選工序(J2, M3)的排程指標為44.3個時間單位;而候選工序(J3, M1)的排程指標為58.3個時間單位。據此,如圖5E所示,處理器130會將對應於最佳排程指標44.3的候選工序(J2, M3)加為排程的下一道工序,並且繼續展開下一層節點。
值得注意的是,如圖4F中的甘特圖與樹狀拓樸TR所示,在使用SPT、FIFO與AT-RPT法則進行群體決策的實施例中,最後所獲得的排程結果的前兩道工序分別為(J3, M2)與(J1, M1)。然而,如圖5F中的甘特圖與樹狀拓樸TR所示,在使用SPT、MDD與AT-RPT法則進行群體決策的本實施例中,對相同工單進行排程最後所得到的排程結果的前兩道工序分別為(J3, M2)與(J2, M3)。由此可以看出,由於本實施例中是以最小化訂單延遲時間來作為排程目標選擇派工法則,使得工單J2中的製作工序被提前到樹狀拓樸的第二層(即,排程中的第二個工序)就開始執行。
重複上述的步驟,可以獲得如圖5F中甘特圖與樹狀排程所示的排程結果,排程中的製作工序依序為(J3, M2)、(J2, M3)、(J2, M2)、(J2, M4)、(J1, M1)、(J1, M4)、(J3, M1),總完工時間為49個時間單位,而工單J2的完工時間為34個時間單位。如此一來,由於總完工時間仍然是選擇節點的考量條件,因此藉由本揭露實施例的排程方法,能夠在不犧牲過多的總完工時間的前提下,讓工單J2在40個時間單位的交期內完工。
在上述的實施例中,在從候選工序選出當選工序後,處理器130會將其加入排程中的下一道工序,藉以逐一將製作工序加入排程當中。值得一提的是,在一些實施例中,處理器130會以遞迴的方式來搜尋節點,以增加排程的品質。具體來說,在符合特定條件的情況下,處理器130會將已加入排程的當選工序置換為在樹狀拓樸中與該當選工序同層的另一道候選工序,並繼續進行排程。以下將舉實施例對遞迴搜尋節點的方式進行說明。
在本實施例中,以下表3作為接收元件110所接收到的工單,並且以最小化總完工時間作為唯一的排程目標。
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td> J1 </td><td> M1(13) </td><td> M2(53) </td></tr><tr><td> J2 </td><td> M1(54) </td><td> M2(42) </td></tr><tr><td> J3 </td><td> M2(1) </td><td> M1(9) </td></tr><tr><td> J4 </td><td> M1(78) </td><td> M2(50) </td></tr></TBODY></TABLE>表3
圖6A繪示本揭露一實施例的排程方法的示意圖。請參考圖6A,在進行第一次步驟S240至S270後,樹狀拓樸TR的第一層節點由製作工序(J1, M1)、(J3, M2)、(J2, M2)、(J4, M1)過濾出候選工序為(J1, M1)、(J3, M2)、(J2, M2),且其排程指標SI分別為127、131、146個時間單位;而第一層的當選工序為對應於最佳排程指標SI(即,127個時間單位)的製作工序(J1, M1)。
接著,處理器130會以當選工序(J1, M1)作為新的起始節點再次執行步驟S240至S270後,得到樹狀拓樸TR的第二層節點分別為製作工序(J2, M1)、(J3, M2)、(J4, M1)、(J1, M2),並且再過濾出候選工序為(J2, M1)、(J4, M1)、(J1, M2),且其排程指標SI分別為136、135、141個時間單位,而第二層的當選工序為最佳排程指標SI(即,135個時間單位)的製作工序(J4, M1)。
值得注意的是,對於最小化總完工時間為排程目標來說,第二層的當選工序(J4, M1)的排程指標SI(即,135個時間單位)是劣於第一層中的候選工序(J3, M2)的次佳排程指標SI(即,131個時間單位)。這個現象表示若在樹狀拓樸TR的第一層中將對應於最佳排程指標(即,127個時間單位)的製作工序(J1, M1)加為排程的下一個工序,則至少需要135個時間單位的總完成時間。因此,處理器130會將製作工序(J1, M1)的排程指標更新為135個單位時間。此外,處理器130更將第一層的當選工序替換為對應於第一層中次佳排程指標(即,131個時間單位)的製作工序(J3, M2),並且將已加入排程的製作工序(J1, M1)替換為此當選工序(J3, M2)。隨後,再以第一層中新的當選工序作為起始節點重新展開樹狀拓樸TR的第二層節點。
請參考圖6B,以當選工序(J3, M2)向下展開的下一層節點分別為製作工序(J2, M1)、(J3, M1)、(J4, M1)、(J1, M1),且過濾出的候選工序為(J2, M1)、(J3, M1)、(J1, M1),其排程指標SI分別為137、130、152個時間單位,而第二層的當選工序為對應於最佳排程指標SI(即,130個時間單位)的製作工序(J3, M1)。
由於第二層的當選工序(J3, M1)的排程指標SI(即,130個時間單位)優於第一層中的候選工序(J1, M1)的次佳排程指標SI(即,135個時間單位)。因此,處理器130會將當選工序(J3, M1)加入為排程中製作工序(J3, M2)的下一道製作工序。值得一提的是,在其他實施例中,倘若第二層的當選工序的排程指標SI等於第一層中的候選工序的次佳排程指標時,處理器130會繼續將第二層的當選工序加入為排程中的下一道製作工序。
接著,處理器130會以當選工序(J3, M1)作為新的起始節點再次執行步驟S240至S270後,得到樹狀拓樸TR的第三層節點分別為製作工序(J2, M1)、(J4, M1)、(J1, M1),且過濾出候選工序為(J2, M1)、(J4, M1)、(J1, M1),其排程指標SI分別為129、148、127個時間單位,而第三層的當選工序為最佳排程指標SI(即,127個時間單位)的製作工序(J1, M1)。
由於第三層的當選工序(J1, M1)的排程指標SI(即,127個時間單位)是優於第二層中的候選工序(J2, M1)的次佳排程指標SI(即,137個時間單位)。因此,處理器130會將當選工序(J1, M1)加入為排程中製作工序(J3, M1)的下一道製作工序。以此類推來重複上述的步驟,便能夠獲得如圖6C的樹狀拓樸TR所示的排程結果,排程中的製作工序依序為(J3, M2)、(J3, M1)、(J1, M1)、(J2, M1)、(J1, M2)、(J2, M2)、(J4, M1)、(J4, M2),並且總完成時間為122個時間單位。
綜上所述,本揭露實施例所提出基於樹狀搜尋的排程方法與使用此方法的電子裝置同時採用多個派工法則,藉由多個派工法則的群體決策來有效地降低誤排的風險。特別是,本揭露實施例在進行排程時所採用的多個派工法則可依據當前排程的需求及目標(例如,最小化總完工時間等)來從知識庫中選擇,並且在選出所採用的派工法則後,利用樹狀搜尋的演算法來逐層進行排程。因此,本揭露實施例所提出的排程方法能夠因應使用者不同的需求來進行排程。另一方面,本揭露實施例更在樹狀搜尋時利用遞迴的方式來尋找節點,據此能夠同時具有合理的處理時間與良好的排程品質。
雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露,任何所屬技術領域中具有通常知識者,在不脫離本揭露的精神和範圍內,當可作些許的更動與潤飾,故本揭露的保護範圍當視後附的申請專利範圍所界定者為準。
100‧‧‧電子裝置
110‧‧‧接收元件
120‧‧‧儲存元件
121‧‧‧資料擷取模組
122‧‧‧樹狀排程模組
123‧‧‧節點過濾模組
124‧‧‧節點選取模組
130‧‧‧處理器
GT1~GT6‧‧‧甘特圖
R‧‧‧根節點
RL‧‧‧知識庫
S210~S270‧‧‧基於樹狀搜尋的排程方法的步驟
SI‧‧‧排程指標
TR‧‧‧樹狀拓樸
110‧‧‧接收元件
120‧‧‧儲存元件
121‧‧‧資料擷取模組
122‧‧‧樹狀排程模組
123‧‧‧節點過濾模組
124‧‧‧節點選取模組
130‧‧‧處理器
GT1~GT6‧‧‧甘特圖
R‧‧‧根節點
RL‧‧‧知識庫
S210~S270‧‧‧基於樹狀搜尋的排程方法的步驟
SI‧‧‧排程指標
TR‧‧‧樹狀拓樸
圖1繪示本揭露一實施例的電子裝置的概要方塊圖。 圖2繪示本揭露一實施例的排程方法的流程圖。 圖3繪示本揭露一實施例的知識庫的示意圖。 圖4A至圖4F繪示本揭露一實施例的排程方法的示意圖。 圖5A至圖5F繪示本揭露一實施例的排程方法的示意圖。 圖6A至圖6C繪示本揭露一實施例的排程方法的示意圖。
Claims (20)
- 一種基於樹狀搜尋的排程方法,適用於電子裝置,所述排程方法包括以下步驟: 接收多筆工單並且起始一排程,其中各該工單包括多道製作工序; 選擇各該工單中尚未加入該排程,且製程排序最前的該製作工序,以取得該些工單的多道優先工序; 依據多個派工法則計算該些優先工序的排程執行優先順序,並且依據該排程執行優先順序從該些優先工序中選擇多道候選工序; 分別將該些候選工序列為該排程中的下一道工序,並且依據該些派工法則進行排程模擬,以取得該些候選工序的多個排程指標;以及 依據該些排程指標來進行該排程。
- 如申請專利範圍第1項所述的排程方法,更包括: 建立一知識庫,其中該知識庫記錄多個可用派工法則以及各該可用派工法則與多個排程目標之間的多個相關性,其中該些排程指標關聯於該些排程目標的其中之一。
- 如申請專利範圍第2項所述的排程方法,更包括: 選擇該些排程目標的其中之一;以及 依據該知識庫中該些可用派工法則與所選的該排程目標之間的該些相關性,從該些可用派工法則中選出該些派工法則。
- 如申請專利範圍第1項所述的排程方法,其中依據該些派工法則計算該些優先工序的該排程執行優先順序的步驟包括: 分別依據該些派工法則,排序該些優先工序;以及 分別整合該些優先工序對應該些派工法則的多個排序,以取得該排程執行優先順序。
- 如申請專利範圍第4項所述的排程方法,其中分別整合該些優先工序對應該些派工法則的排序,以取得該排程執行優先順序的步驟包括: 針對各該優先工序,計算對應該些派工法則的該些排序的加權平均,以計算該排程執行優先順序。
- 如申請專利範圍第1項所述的排程方法,其中分別將該些候選工序列為該排程中的該下一道工序,並且依據該些派工法則進行該排程模擬,以取得該些候選工序的該些排程指標的步驟包括: 分別將該些候選工序列為該排程中的下一道工序,以得到該些候選工序對應的多個排程前置狀態; 分別依據該些派工法則對該些排程前置狀態進行排程模擬,以計算該些排程前置狀態對應於各派工法則的多個模擬排程結果; 分別整合該些排程前置狀態對應於該些派工法則的該些模擬排程結果,以取得該些候選工序的該些排程指標。
- 如申請專利範圍第6項所述的排程方法,其中分別整合該些排程前置狀態對應於該些派工法則的該些模擬排程結果,以取得該些候選工序的該些排程指標的步驟包括: 針對各該候選工序,計算對應該些派工法則的該些模擬排程結果的加權平均,以作為該候選工序的該排程指標。
- 如申請專利範圍第1項所述的排程方法,其中該些排程指標包括最佳排程指標以及次佳排程指標,其中依據該些排程指標來進行排程包括: 選出該最佳排程指標對應的該候選工序作為一當選工序;以及 將所選出的該當選工序加入為該排程中的該下一道工序。
- 如申請專利範圍第8項所述的排程方法,更包括: 重複所述步驟,繼續選擇各該工單中尚未加入該排程,且製程排序最前的該製作工序,以取得該些工單的多道優先工序,從該些優先工序中選擇多道候選工序,取得該些候選工序的多個排程指標並依據該些排程指標進行排程,以從該些工單中的該些製作工序選出另一當選工序; 當判斷所選的該另一當選工序的該排程指標優於或等於該次佳排程指標,將所選的該另一當選工序加入為該排程中的再下一道工序;以及 當判斷所選的該另一當選工序的該排程指標劣於該次佳排程指標,將該排程中的最後一道工序替換為該次佳排程指標所對應的該候選工序。
- 如申請專利範圍第9項所述的排程方法,其中當判斷所選的該另一當選工序的該排程指標劣於該次佳排程指標,所述排程方法更包括: 更新該最佳排程指標所對應的該候選工序的該排程指標。
- 一種電子裝置,包括: 接收元件,用以接收資料; 儲存元件,用以儲存多個模組;以及 處理器,耦接於該接收元件以及該儲存元件,用以載入並執行該些模組,其中該些模組包括: 資料擷取模組,用以透過該接收元件接收多筆工單,其中各該工單包括多道製作工序; 樹狀排程模組,用以起始一排程; 節點過濾模組,用以: 選擇各該工單中尚未加入該排程,且製程排序最前的該製作工序,以取得該些工單的多道優先工序;以及 依據多個派工法則計算該些優先工序的排程執行優先順序,並且依據該排程執行優先順序從該些優先工序中選擇多道候選工序;以及 節點選取模組,用以分別將該些候選工序列為該排程中的下一道工序,並且依據該些派工法則進行排程模擬,以取得該些候選工序的多個排程指標, 其中該樹狀排程模組更用以依據該些排程指標來進行該排程。
- 如申請專利範圍第11項所述的電子裝置,其中該儲存元件更用以記錄一知識庫,其中該知識庫記錄多個可用派工法則以及各該可用派工法則與多個排程目標之間的多個相關性。
- 如申請專利範圍第12項所述的電子裝置,其中該處理器選擇該些排程目標的其中之一,並且依據該知識庫中該些可用派工法則與所選的該排程目標之間的該些相關性,從該些可用派工法則中選出該些派工法則。
- 如申請專利範圍第11項所述的電子裝置,其中該節點過濾模組用以: 分別依據該些派工法則,排序該些優先工序;以及 分別整合該些優先工序對應該些派工法則的多個排序,以取得該排程執行優先順序。
- 如申請專利範圍第14項所述的電子裝置,其中該節點過濾模組用以: 針對各該優先工序,計算對應該些派工法則的該些排序的加權平均,以計算該排程執行優先順序。
- 如申請專利範圍第11項所述的電子裝置,其中該節點選取模組用以: 分別將該些候選工序列為該排程中的下一道工序,以得到該些候選工序對應的多個排程前置狀態; 分別依據該些派工法則對該些排程前置狀態進行排程模擬,以計算該些排程前置狀態對應於各派工法則的多個模擬排程結果; 分別整合該些排程前置狀態對應於該些派工法則的該些模擬排程結果,以取得該些候選工序的該些排程指標。
- 如申請專利範圍第16項所述的電子裝置,其中該節點選取模組用以: 針對各該候選工序,計算對應該些派工法則的該些模擬排程結果的加權平均,以作為該候選工序的該排程指標。
- 如申請專利範圍第11項所述的電子裝置,其中該些排程指標包括最佳排程指標以及次佳排程指標,其中該樹狀排程模組更用以: 選出該最佳排程指標對應的該候選工序作為一當選工序;以及 將所選出的該當選工序加入為該排程中的該下一道工序。
- 如申請專利範圍第18項所述的電子裝置,其中該處理器更用以: 重覆執行該節點過濾模組以及該節點選取模組,以選出另一當選工序; 當判斷所選的該另一當選工序的該排程指標優於或等於該次佳排程指標,將所選的該另一當選工序加入為該排程中的再下一道工序;以及 當判斷所選的該另一當選工序的該排程指標劣於該次佳排程指標,將該排程中的最後一道工序替換為該次佳排程指標所對應的該候選工序。
- 如申請專利範圍第19項所述的電子裝置,其中當判斷所選的該另一當選工序的該排程指標劣於該次佳排程指標,該處理器更用以: 更新該最佳排程指標所對應的該候選工序的該排程指標。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106139611A TWI633504B (zh) | 2017-11-16 | 2017-11-16 | 基於樹狀搜尋的排程方法與使用此方法的電子裝置 |
CN201810108724.6A CN109800936B (zh) | 2017-11-16 | 2018-02-02 | 基于树状搜寻的调度方法与使用该方法的电子装置 |
US15/888,096 US10642257B2 (en) | 2017-11-16 | 2018-02-05 | Tree search-based scheduling method and electronic apparatus using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106139611A TWI633504B (zh) | 2017-11-16 | 2017-11-16 | 基於樹狀搜尋的排程方法與使用此方法的電子裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI633504B true TWI633504B (zh) | 2018-08-21 |
TW201923667A TW201923667A (zh) | 2019-06-16 |
Family
ID=63960051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106139611A TWI633504B (zh) | 2017-11-16 | 2017-11-16 | 基於樹狀搜尋的排程方法與使用此方法的電子裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10642257B2 (zh) |
CN (1) | CN109800936B (zh) |
TW (1) | TWI633504B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI739229B (zh) * | 2019-12-03 | 2021-09-11 | 財團法人工業技術研究院 | 快篩派工法則方法和裝置 |
TWI741760B (zh) * | 2020-08-27 | 2021-10-01 | 財團法人工業技術研究院 | 學習式生產資源配置方法、學習式生產資源配置系統與使用者介面 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020040763A1 (en) * | 2018-08-23 | 2020-02-27 | Siemens Aktiengesellschaft | Real-time production scheduling with deep reinforcement learning and monte carlo tree search |
US10909641B2 (en) * | 2018-10-19 | 2021-02-02 | Gridspan Energy LLC | Systems and methods for modular mobile energy storage |
US11256241B1 (en) | 2019-09-12 | 2022-02-22 | Veo Robotics, Inc. | Optimized factory schedule and layout generation |
CN111882097B (zh) * | 2019-10-11 | 2024-07-23 | 北京嘀嘀无限科技发展有限公司 | 一种车辆维护人员调度方法和系统 |
CN111445079B (zh) * | 2020-03-31 | 2022-07-05 | 华中科技大学 | 一种应用于车间计划投产的多保真仿真优化方法及设备 |
CN112036693B (zh) * | 2020-07-28 | 2022-04-08 | 成都飞机工业(集团)有限责任公司 | 基于有限加权工序故障率的工序排序法 |
CN115374015B (zh) * | 2022-10-24 | 2023-02-10 | 埃克斯工业有限公司 | 调度算法的测试方法、测试模拟装置及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW483039B (en) * | 2001-05-25 | 2002-04-11 | Taiwan Semiconductor Mfg | Wafer start order release system |
TW200630764A (en) * | 2005-02-17 | 2006-09-01 | Powerchip Semiconductor Corp | Methods for determining tool assignment sequence and manufacturing systems using the same |
US20100217418A1 (en) * | 2009-02-25 | 2010-08-26 | Siemens Aktiengesellschaft | Method and system for scheduling a manufacturing process |
CN102622667A (zh) * | 2012-02-13 | 2012-08-01 | 浪潮集团山东通用软件有限公司 | 一种基于多产品多生产线生产模式下的均衡排产方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5099431A (en) * | 1989-10-23 | 1992-03-24 | International Business Machines Corporation | Automated re-work shop order scheduling system |
US5890134A (en) * | 1996-02-16 | 1999-03-30 | Mcdonnell Douglas Corporation | Scheduling optimizer |
US6269353B1 (en) | 1997-11-26 | 2001-07-31 | Ishwar K. Sethi | System for constructing decision tree classifiers using structure-driven induction |
US20030061266A1 (en) * | 2001-09-27 | 2003-03-27 | Norman Ken Ouchi | Project workflow system |
TWI230880B (en) | 2002-08-20 | 2005-04-11 | Taiwan Semiconductor Mfg | Semiconductor dispatching integration system and method using the same to dispatch |
CN100394417C (zh) * | 2003-10-05 | 2008-06-11 | 华中科技大学 | 一种带状态性能反馈的规则调度方法及其调度系统 |
TWI250426B (en) * | 2004-01-20 | 2006-03-01 | Univ Chung Yuan Christian | System determining dispatching rule by knowledge-mining technology and method thereof |
US7370326B2 (en) | 2004-04-02 | 2008-05-06 | Emulex Design & Manufacturing Corporation | Prerequisite-based scheduler |
US7848836B2 (en) | 2004-11-19 | 2010-12-07 | Siemens Aktiengesellschaft | Scheduling system and work order scheduling protocol for such a system |
GB0513045D0 (en) * | 2005-06-27 | 2005-08-03 | Vidus Ltd | Resource scheduling method and system |
US20080216077A1 (en) * | 2007-03-02 | 2008-09-04 | Applied Materials, Inc. | Software sequencer for integrated substrate processing system |
US7720100B2 (en) | 2007-05-11 | 2010-05-18 | Applied Micro Circuits Corporation | Packet preclassification using search tree algorithms |
CN101459098B (zh) * | 2007-12-14 | 2012-07-04 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 一种晶片优化调度的方法和装置 |
US8576430B2 (en) * | 2010-08-27 | 2013-11-05 | Eastman Kodak Company | Job schedule generation using historical decision database |
CN102035698B (zh) | 2011-01-06 | 2012-07-25 | 西北工业大学 | 基于决策树分类算法的http隧道检测方法 |
US9146551B2 (en) * | 2012-11-29 | 2015-09-29 | Asm Ip Holding B.V. | Scheduler for processing system |
US9195939B1 (en) | 2013-03-15 | 2015-11-24 | Cavium, Inc. | Scope in decision trees |
EP3011706B1 (en) * | 2013-06-19 | 2017-09-13 | Huawei Technologies Co., Ltd. | P-select n-port round robin arbiter for scheduling requests |
CN103439886B (zh) * | 2013-07-26 | 2016-01-20 | 同济大学 | 一种半导体生产线自适应动态调度装置 |
US20160189266A1 (en) * | 2014-12-27 | 2016-06-30 | Brian D. Johnson | Technologies for rule-guided autonomous goal achievement |
JP6550980B2 (ja) * | 2015-07-07 | 2019-07-31 | 富士通株式会社 | スケジューリング方法、情報処理装置およびスケジューリングプログラム |
CN105843189B (zh) * | 2016-04-09 | 2019-03-29 | 北京化工大学 | 一种用于半导体生产线基于简化仿真模型的高效调度规则选择方法 |
CN106094757B (zh) * | 2016-07-15 | 2018-12-21 | 郑州航空工业管理学院 | 一种基于数据驱动的动态柔性作业车间调度控制方法 |
CN106372778A (zh) * | 2016-08-23 | 2017-02-01 | 江苏亿科达科技发展有限公司 | 基于动态规则引擎的车辆调度系统及方法 |
EP3299794A1 (en) * | 2016-09-21 | 2018-03-28 | F. Hoffmann-La Roche AG | Automated scheduler for laboratory equipment |
US10649993B2 (en) * | 2016-11-14 | 2020-05-12 | International Business Machines Corporation | Continuous caster scheduling with template driven search |
-
2017
- 2017-11-16 TW TW106139611A patent/TWI633504B/zh active
-
2018
- 2018-02-02 CN CN201810108724.6A patent/CN109800936B/zh active Active
- 2018-02-05 US US15/888,096 patent/US10642257B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW483039B (en) * | 2001-05-25 | 2002-04-11 | Taiwan Semiconductor Mfg | Wafer start order release system |
TW200630764A (en) * | 2005-02-17 | 2006-09-01 | Powerchip Semiconductor Corp | Methods for determining tool assignment sequence and manufacturing systems using the same |
US20100217418A1 (en) * | 2009-02-25 | 2010-08-26 | Siemens Aktiengesellschaft | Method and system for scheduling a manufacturing process |
CN102622667A (zh) * | 2012-02-13 | 2012-08-01 | 浪潮集团山东通用软件有限公司 | 一种基于多产品多生产线生产模式下的均衡排产方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI739229B (zh) * | 2019-12-03 | 2021-09-11 | 財團法人工業技術研究院 | 快篩派工法則方法和裝置 |
US11762376B2 (en) | 2019-12-03 | 2023-09-19 | Industrial Technology Research Institute | Quick dispatching rule screening method and apparatus |
TWI741760B (zh) * | 2020-08-27 | 2021-10-01 | 財團法人工業技術研究院 | 學習式生產資源配置方法、學習式生產資源配置系統與使用者介面 |
Also Published As
Publication number | Publication date |
---|---|
US20190146463A1 (en) | 2019-05-16 |
CN109800936A (zh) | 2019-05-24 |
US10642257B2 (en) | 2020-05-05 |
TW201923667A (zh) | 2019-06-16 |
CN109800936B (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI633504B (zh) | 基於樹狀搜尋的排程方法與使用此方法的電子裝置 | |
Emmons et al. | Flow shop scheduling: theoretical results, algorithms, and applications | |
CN108287666B (zh) | 用于云存储环境的数据存储方法及装置 | |
Fan et al. | Genetic programming-based hyper-heuristic approach for solving dynamic job shop scheduling problem with extended technical precedence constraints | |
CN114785696B (zh) | 复杂网络节点的重要度评估方法及装置 | |
Wang et al. | Two-stage hybrid flow shop batching and lot streaming with variable sublots and sequence-dependent setups | |
JP5134601B2 (ja) | 生産スケジュール作成装置 | |
US20150170052A1 (en) | Method of reducing resource fluctuations in resource leveling | |
CN115904539A (zh) | 一种切分策略的在线生成方法、装置、设备及存储介质 | |
CN110389822A (zh) | 执行任务的节点调度方法、装置和服务器 | |
Kerkhove et al. | Scheduling of unrelated parallel machines with limited server availability on multiple production locations: a case study in knitted fabrics | |
CN115578023A (zh) | 一种装配车间调度方法、装置、设备和存储介质 | |
CN111882151A (zh) | 基于强化学习的离散制造行业生产排程方法及系统 | |
CN109214695B (zh) | 基于改进eda的高端装备研发制造协同调度方法及系统 | |
Zhang et al. | Automated workflow synthesis | |
Han et al. | Mechanism to minimise the assembly time with feeder assignment for a multi-headed gantry and high-speed SMT machine | |
Low et al. | Mathematical modelling of multi-objective job shop scheduling with dependent setups and re-entrant operations | |
CN112528524A (zh) | 一种混流装配线平衡优化调度方法 | |
CN109377111A (zh) | 基于改进模拟退火算法的作业调度方法和装置 | |
CN114065617B (zh) | 一种制造服务组合推荐方法及装置 | |
CN109635328A (zh) | 集成电路布局方法以及分布式设计方法 | |
CN115358532A (zh) | 设备作业的工单生成方法、装置、计算机设备 | |
CN110928253B (zh) | 自动制造系统的动态加权启发式调度方法 | |
CN116050559A (zh) | 为工作站筛选派工规则的电子装置和方法 | |
CN108920269B (zh) | 容器的i/o传输任务的调度方法和装置 |