以限制規劃構建運動排程模式-以中華職棒大聯盟賽程表排程為例
全文
(2) 以限制規劃構建運動排程模式-以中華職棒大聯盟賽程表排程為例 Constraint Programming Models for Sports Scheduling Problem: A Case of Chinese Professional Baseball League. 研 究 生:張文助. Student:Wen-Chu Chang. 指導教授:韓復華. Advisor:Anthony Fu-Wha Han. 國立交通大學 運輸科技與管理學系 碩士論文. A Thesis Submitted to Institute of Transportation Technology & Management College of Management National Chiao Tung University In Partial Fulfillment of the Requirements for the Degree of Master of Engineering in Traffic and Transportation June 2005 Hsinchu, Taiwan, Republic of China. 中華民國 九十四 年 六 月.
(3) 以限制規劃構建運動排程模式-以中華職棒大聯盟賽程表排程為例 研究生:張文助. 指導教授:韓復華 國立交通大學運輸科技與管理學系碩士班. 摘要 運動賽程的安排對於各種運動的賽程規劃者而言,是件費時且費力的工作。排程 人員必須將有限的對戰組合做有效的安排以滿足每天的對戰需求,並考慮符合聯盟及 球團相關規定。臺灣職棒運動是近幾年相當受歡迎的運動項目,至今已正式邁入第十 六年,職棒賽程表排程問題屬於組合最佳化問題,還需考量實務上中華職棒大聯盟賽 程規章之相關規定為其限制條件,在模式規劃及求解上具有其難度。 本研究將賽程表排程列式為限制滿足問題求解(CSP),應用限制規劃(CP)方 法,經由問題變數、對戰組合與比賽日時段之設計,將本研究中所考量各項限制模式 化求解,當球隊數改變時也有探討。同時為提升求解效率,本研究以三階段指派求解, 於產生每週對戰組合、時段表後,再依球隊主場票房需求及聯盟政策來指派球場。 本研究以中華職棒大聯盟 2005 年賽程表作為比較實例,包含 6 個球隊一年共 300 場賽事的安排。測試環境為 Windows XP 作業系統、2.8G Hz 中央處理器速度,以 OPL Studio 3.0 執行求解,三個階段總求解時間約為 30 分鐘。與 2005 年賽程表及做過此 類問題的文獻相比,本研究針對職棒賽程的特性,排出符合中華職棒大聯盟規定、各 球團均滿意且符合實際賽程、賽制的賽程表,期望以公平性、效率性且符合賽制之賽 程表解決傳統人工作業費時費力之缺點,提升賽程表的彈性與機動性,有助強化中華 職棒大聯盟正面形象,並幫助中華職棒大聯盟建立排賽程之決策支援系統,將來亦可 提供作為各類運動排賽程人員排程決策之參考。. 關鍵詞:運動排程、賽程排程、限制滿足問題、限制規劃、中華職棒大聯盟. i.
(4) Constraint Programming Models for Sports Scheduling Problem: A Case of Chinese Professional Baseball League Student:Wen-Chu Chang. Advisor:Anthony Fu-Wha Han. Institute of Transportation Technology and Management National Chiao Tung University. Abstract The arrangement of sports scheduling for each sport scheduling planner is a time consuming and strenuous work.To meet the daily team pairing needs, a schedule planner must make efficient arrangements for the constraint team pairing, and also considers how to comply with the relevant rules for the league and baseball teams. The sport of Taiwan Professional Baseball League is very popular in recent years; up today it formally marches to its 16th anniversary, and the Professional Baseball sports scheduling problem is a pairing optimization problem, in practice, the constraints are that the relevant rules for the regulations of Chinese Professional Baseball League are also need to be considered, and for this reason it is of difficulty on both the model planning and the resolution. In this research the sports scheduling is formulated as a constraint satisfaction problem (CSP), it applies the method of constraint programming (CP), by the design of problem variables、competition pairing and the time frame in the contest day to develop models for each constraint to solve the problem. In the same time, in order to promote the efficiency of solution, this research designates three phases for the solution, and after the generation of weekly competition pairing、time frame charts, the fields will be allocated according to the demand of tickets office of the main baseball field and the policy of the league. This research applies the contests scheduling of year 2005 for Chinese Professional Baseball League as a comparative case. The testing environment includes Windows XP Operation System、2.8G Hz Central Process Unit, and running the OPL Studio 3.0 for the solution; to get the solution after three phases takes 30 minutes. Comparing the contests scheduling chart of year 2005 with the literature which resolved this kind of problems, this research focuses on the features of Professional Baseball contests scheduling, arranges the contests scheduling which complies with the rules of Chinese Professional Baseball League, satisfies each baseball team and conforms to the real contests and the contest system. It helps strengthen the positive image of Chinese Professional Baseball League, and assists establishing its decision making support system for contests scheduling, it could also provide as a reference for the sports scheduling planners for various sports. Keywords : Sports Scheduling, Sports Timetabling, Constraint Satisfaction Problem, Constraint Programming, Chinese Professional Baseball League ii.
(5) 誌. 謝. 兩年的研究所生涯使我獲益匪淺,所獲得的不只是書本上的知識,更珍貴的是研究 的精神與思考邏輯的精進,經過一年的努力,碩士論文總算得以順利完成。首先要感謝恩 師 韓復華教授兩年來之悉心指導與教誨,無論在研究方法論之啟迪、研究方向之指引 以及嚴謹之治學態度,均讓學生受益良多,師恩浩蕩、永銘在心!希望在經過老師嚴格 的訓練之後,將來自己在社會上能有不錯的表現以及貢獻。 論文口試期間,承蒙 中華大學 張靖 教授、系上黃寬丞 教授不吝指教與斧正,提 供諸多寶貴意見使本論文更臻完善,在此特別感謝。感謝系上 謝尚行 教授與黃寬丞 教 授在論文期中審查時撥冗閱讀給予指導。此外,感謝論文寫作期間,政威學長與佳貝學 長所給予的指導與建議,使我的論文能夠順利進行。此外,在資料的取得上,特別感謝 中華職業棒球聯盟 票務組組長凃明仁先生及記錄組張先生的幫助,使得這本論文能順 利的完成。 即將離開待了兩年的交大,雖然時間不長,但是當中經歷的點點滴滴卻會永遠留在 腦中。感謝系上師長們的諄諄教誨,學長姐與學弟妹的諸多照顧,感謝實驗室 政威及 佳貝學長在論文期間所給予的指導與關心,同窗的佳貝學長、俊德及昆諭,謝謝你們陪 我經歷 AOC 與 CS 的快樂時光。也謝謝同窗思妤及韻竹於 AOC 的熱情參與;還有謝 Lab 阿界、承正、欣怡、任 Lab 的又菁、許 Lab 的剛伯美妤夫婦及上海交大的陳娟,感 謝這一路上一直有著你們的陪伴。謝謝學弟妹 裕智、育廷、淑詩、俐諭、俊吟、錦昌、 輝鵬、彥宏,煩悶的研究生活多了你們,增添了許多的樂趣。我親愛的室友,剛伯、阿 龍、阿界及俊德,在生活上的協助真是有勞你們了。最後,當然不忘網路實驗室的大家, 珍惜我們共甘苦共患難建立的革命情感,一路走來感謝有你們的陪伴,祝福大家未來都 一片光明。 最後,我要將此論文獻給我最摯愛的雙親、哥哥、姊姊與女朋友孟紋,感謝你們在 我求學過程中持續不斷的給予支持與鼓勵,使我能克服種種困難並完成碩士學位。未來 我將持續地向前邁進,希望能不辜負你們對我的期望。 碩士論文的完成,要感謝的人太多了,僅將這份榮耀,與你們分享!. 張文助. 謹誌. 于 網路實驗室 2005.6. iii.
(6) 目錄 中文摘要..................................................................................................................................... i 英文摘要....................................................................................................................................ii 致謝 ...........................................................................................................................................iii 目錄 ........................................................................................................................................... iv 表目錄 ....................................................................................................................................... vi 圖目錄 .....................................................................................................................................viii 第一章 緒論............................................................................................................................... 1 1.1 研究背景與動機.............................................................................................................. 1 1.2 研究目的與範圍.............................................................................................................. 2 1.3 研究流程與步驟.............................................................................................................. 3 第二章 文獻回顧....................................................................................................................... 5 2.1 排程問題.......................................................................................................................... 5 2.1.1 運動排程問題........................................................................................................... 5 2.1.2 排程問題之解法....................................................................................................... 8 2.2 限制規劃........................................................................................................................ 11 2.2.1 限制滿足問題之定義............................................................................................. 13 2.2.2 限制規劃簡介......................................................................................................... 14 2.2.3 限制規劃空間搜尋技巧......................................................................................... 16 2.2.4 模式化語言 OPL 之簡介 ....................................................................................... 20 2.2.5 數學規劃與限制規劃之比較................................................................................. 22 第三章 個案背景與問題描述................................................................................................. 24 3.1 中華職棒大聯盟簡介.................................................................................................... 24 3.2 中華職棒大聯盟之球隊與球場現況............................................................................ 26 3.3 中華職棒大聯盟賽程表排程之問題概述與運作流程................................................ 31 3.3.1 問題描述................................................................................................................. 31 3.3.2 系統限制與參數設定............................................................................................. 34 3.3.3 簡化限制的處理..................................................................................................... 38 iv.
(7) 第四章 限制滿足問題模式構建............................................................................................. 40 4.1 第一階段 CSP1 模式:四連戰對戰組合問題模式...................................................... 41 4.2 第二階段 CSP2 模式:三連戰對戰組合問題模式...................................................... 43 4.3 第三階段 CSP3 模式:球場分派問題模式.................................................................. 44 第五章 CP 結果與指標分析 ................................................................................................... 48 5.1 各階段求解結果............................................................................................................ 48 5.2 績效評估分析................................................................................................................ 60 5.3 球隊增減因素討論........................................................................................................ 65 第六章 結論與建議................................................................................................................. 67 6.1 結論................................................................................................................................. 67 6.2 建議................................................................................................................................. 68 參考文獻................................................................................................................................... 69 附錄一:2004 年賽程表.......................................................................................................... 73 附錄二:2005 年賽程表.......................................................................................................... 77 附錄三:中華職棒大聯盟近年來各項觀眾人數統計資料................................................... 81. v.
(8) 表目錄 表 2.1 循環賽賽程表 .................................................................................................................5 表 2.2 賽程表問題文獻比較 .....................................................................................................7 表 2.3 分枝定限法求解步驟 .....................................................................................................8 表 2.4 OR 與 CP 方法所適用之問題類型 .............................................................................15 表 3.1 中華職棒大聯盟各球隊、球場、賽制資料表 ...........................................................31 表 3.2 2004、2005 年中華職棒大聯盟各球隊與球場使用對照表 .....................................31 表 3.3 球場代碼資料 ...............................................................................................................35 表 3.4 球隊代碼資料與可安排之球場 ...................................................................................36 表 3.5 對戰組合與四連戰相關代碼資料 ...............................................................................36 表 3.6 對戰組合與三連戰相關代碼資料 ...............................................................................37 表 3.7 比賽日組合型態表 .......................................................................................................38 表 3.8 限制處理對應表 ...........................................................................................................38 表 4.1 本研究 CSP 模式各階段說明 ......................................................................................41 表 4.2 A 型四連戰示意表.......................................................................................................41 表 4.3 比賽日組合型態表 .......................................................................................................42 表 4.4 B、C 型三連戰示意表 ................................................................................................43 表 4.5 前二階段所求得週次與主場球隊一覽表 ...................................................................44 表 4.6 對戰時段分群 ...............................................................................................................45 表 4.7 比賽日時段分群 ...........................................................................................................46 表 4.8 本研究 CSP 模式各階段考慮限制說明 ......................................................................47 表 5.1 第一、二階段對戰組合模式之限制條件表 ...............................................................49 表 5.2 各個對戰組合所對應之下週出賽組合表 ...................................................................49 表 5.3 第一階段之對戰組合與週次表 ...................................................................................50 表 5.4 確定四連戰對戰組合下三連戰之安排表 ...................................................................50 vi.
(9) 表 5.5 固定四連戰下之一組對戰賽程安排 ...........................................................................51 表 5.6 第二階段求出的對戰組合安排表 ...............................................................................51 表 5.7 第三階段球場分派模式之限制條件表 .......................................................................52 表 5.8 比賽日時段分群示意圖 ...............................................................................................53 表 5.9 本研究求出之一週賽程表...........................................................................................53 表 5.10 每週之對戰組合與球場安排表(上半季) ..................................................................54 表 5.11 每週之對戰組合與球場安排表(下半季)...................................................................54 表 5.12 本研究所排出之全年賽程表 .....................................................................................55 表 5.13 排賽程模式求解效率分析表 .....................................................................................59 表 5.14 2005 年各對戰組合之主場數比較表 .......................................................................60 表 5.15 本研究各對戰組合之主場數比較表 .........................................................................60 表 5.16 2005 年各隊之主場分配表........................................................................................61 表 5.17 本研究所排出各隊之主場分配表 .............................................................................62 表 5.18 滿足賽制之週數比較表 .............................................................................................62 表 5.19 各項指標之分析總表 .................................................................................................63 表 5.20 與國內相關研究比較表 .............................................................................................64. vii.
(10) 圖目錄 圖 1.1. 本研究求解流程圖 .......................................................................................................4. 圖 2.1. Node Coloring Problem 示意圖....................................................................................9. 圖 2.2. Edge Coloring Problem 示意圖 ....................................................................................9. 圖 2.3. Arc Consistency 範例..................................................................................................16. 圖 2.4 BT、FC 與 MAC 三種演算法的對照圖 ...................................................................17 圖 2.5 BT 搜尋法–以 4-queens 為例.....................................................................................18 圖 2.6 FC 搜尋法–以 4-queens 為例.....................................................................................19 圖 2.7 MAC 搜尋法–以 4-queens 為例.................................................................................20 圖 2.8. 數學規劃與限制規劃解題架構之比較圖 .................................................................23. 圖 3.1. 實際排賽程作業現況 .................................................................................................33. 圖 3.2. 模式建立及求解之程序 .............................................................................................39. 圖 4.1. 模式求解架構流程圖 .................................................................................................40. 圖 5.1. 第一、二階段模式求解架構圖 .................................................................................48. 圖 5.2. 第三階段模式求解架構圖 .........................................................................................52. 圖 5.3. 各項指標之雷達圖分析 .............................................................................................64. viii.
(11) 第一章 緒論 1.1 研究背景與動機 運動賽程的安排對於各種運動的賽程規劃者而言,是件費時且費力的工作。在國 外的職業比賽,如:NBA、NHL、NFL、MLB 等都會面臨這樣的問題,因為運動排程 問題是一種有限資源的組合分配情況,所要達成的目標很多,容易造成問題的複雜化 與求解時間冗長,可想而知要在短時間內規劃出一整個球季的賽程表非屬易事。排程 人員必須將有限的對戰組合做有效的安排以滿足每天的對戰需求,並考慮符合聯盟及 球團相關規定,如每個球隊一星期比賽的場數、球場分配是否公平、在連續下雨天時 補賽的安排情形等,如此複雜之限制條件下,使得賽程表排程需花費極長的時間。 臺灣職棒運動是近幾年相當受歡迎的運動項目,至今已正式邁入第十六年,期間 經歷職棒簽賭案、兩聯盟分立等事件而導致球團解散、球迷失望不願再觀看棒球等困 境,讓職棒跌入球團經營慘淡、票房冷清而負債累累。經過 2002 年世棒賽奪得季軍、 兩聯盟合併成一個聯盟以及參加雅典奧運等因素影響,職棒運動隨著這股熱潮,又受 到社會大眾的喜愛與支持。而從前年開始,兩聯盟合併後,職棒球隊由原先中華職棒 的四隊增加到現今的六隊。由於球隊數目增加,使得賽程的安排較原先舊聯盟時複雜 許多。因此,如何公平地將各種球隊的比賽組合安排在適當時間、適當地點比賽,曾 引起許多球迷相當大的爭議,此即是本研究主要研究的課題。若以中華職棒大聯盟為 例,每年的賽程表排程是由記錄組之排賽程人員安排,採用的方法為傳統人工作業的 方式,經過各球團與各縣市球場之協調,才能排出一組被各球團接受的賽程表,不但 欠缺效率,且各球場的使用次數也分配不均。 排程問題(Scheduling Problem)是日常生活中最常碰到的問題之一,其問題型態 是屬於一限制滿足問題(Constraints Satisfaction Problem),且其限制條件大多無法利 用線性式子表示。傳統排賽程表的作業方式是以人工之方式安排,其過程既浪費時間 也無效率;球賽的排程主要是將一定場次的球隊安排在某些時間、某幾個地點之球場 進行比賽,目前中華職棒大聯盟因球隊間對於地區與球迷之支持意向屬性不同,若賽 程表安排的不好,會導致各個球隊的主場使用率不佳,而直接影響到各球團之收益, 票房以及球隊的支持度也會因此受影響。 由人工智慧(Artificial Intelligence, AI)發展而來的限制規劃(Constraint Programming),其最大的好處在於能求解限制滿足問題,且可處理之限制條件較有彈 性。相較傳統以人工方式安排賽程,使用限制規劃可迅速地提供多組可行解供賽程安 排人員參考,重視球場之適當分配與各球隊滿意度。由於賽程的安排不像一般課程安 排只需將一週多少時數之課程、教師、班級等安排到某個時段及某個適當教室上課, 適當的排定主場及客場對於球隊的收益而言更顯得重要。在限制條件方面,除須考慮 中華職棒大聯盟本身對於賽程的規定、各球團政策外,也須考慮球迷的支持意向與票 1.
(12) 房收益,種種複雜的限制條件使得賽程排程需花費極長的時間,但目前賽程表仍以傳 統人工方式處理排程問題,若可應用適當的方法建立良好的排賽程模式,配合現今快 速的電腦科技,除可節省相當多的排賽程時間成本與人力投入,也能排出較佳的賽程 表。 由於國內職棒賽程表安排的考量與國外不盡相同,由以往三連戰賽制增加了四連 戰賽制的賽程,以及較無明顯主客場限制等;排程問題是屬於 NP-hard 高複雜度之組 合問題,傳統文獻大多以最佳化模式(Optimization model)求解[1, 6, 14, 21, 22, 26], 在實際應用上不易處理各種限制條件,故在模式規劃以及求解上有其難度。本研究之 目的在於採用限制規劃(Constraint Programming)模式的方法,針對本國職棒賽程的 特性,建立一套排賽程模式,並輔以 ILOG OPL Studio 套裝軟體[18]進行求解。期望能 建立符合中華職棒大聯盟規定及各球團均滿意的賽程表,以公平性、效率性且符合賽 制之賽程表來解決傳統人工作業費時且費力之缺點,提升賽程表的彈性與機動性,並 讓球迷對棒球的支持度有直接影響,有助強化中華職棒大聯盟正面形象,進而提升台 灣棒球運動之發展及未來可看性。. 1.2 研究目的與範圍 本研究之目的為探討中華職棒大聯盟賽程表排程問題,期利用現今電腦的快速運 算,以限制規劃方法建立良好的排賽程機制,一方面可減少賽程表排程人員排程工作 的負擔,並可產生賽程表之相關統計報表以供中華職棒大聯盟管理者參考;另一方面 亦可增加球團及球迷對賽程表的滿意度,進而提昇球迷觀看棒球比賽的意願,使棒球 運動提升整體形象。 本研究討論的對象是運動排程的賽程表,通常以運動比賽為主;所研究的範圍乃 屬於運動排程問題。運動排程問題為「在考慮複雜的運動聯盟排賽程規則、符合球團 與球迷觀眾偏好下,產生每支隊伍於某段期間(上下半季)中的賽程表,而此賽程表 必須完全符合嚴格的運動聯盟排賽程規則 (Hard Constraints)並盡量滿足每個球團與球 迷觀眾偏好 (Soft Constraints)」 。此問題為一種多目標的運動排程問題,必須同時考慮 最小化資源成本及時間成本與最大化球團與球迷觀眾對賽程表之滿意度。 本研究擬將運動排程問題定義為一限制滿足問題(Constraint Satisfaction Problem, CSP),並利用限制規劃(Constraint Programming, CP)方法可彈性處理各類限制式之特 性,構建有效率且符合賽制之賽程表。本研究在各項法規、聯盟政策及對戰需求已知 的條件下,將以中華職棒大聯盟賽程表排程為例,在收集相關文獻後,對此個案進行 資料蒐集及深入研究,而後建立賽程表排程之限制規劃模式,並整理賽程表之相關統 計分析報表,最後在進行結果評估與指標分析,期望能幫助中華職棒大聯盟建立排賽 程之決策支援系統,將來亦可提供作為各類運動排賽程人員排程決策之參考。. 2.
(13) 1.3 研究流程與步驟 本研究之研究流程與執行步驟,如下圖 1.1 所示,說明如下: (1)相關文獻之蒐集與回顧 需先蒐集、回顧排程問題相關文獻,了解排程問題的定義與過去應用之解決方 法﹔瞭解中華職棒大聯盟的運作、回顧過去中華職棒大聯盟的發展,及國外運動賽程 表排程之相關文獻;並回顧限制規劃、限制滿足問題相關文獻,了解限制規劃之適用 性。 (2)運動排程規則整理與相關資料收集 以中華職棒大聯盟賽程表排程為研究對象,實際拜訪聯盟的排賽程人員,瞭解其 對於賽程排程作業之規定並整理列表,取得相關球團、場地、球迷觀眾人數等統計資 料,並瞭解各個球團與球迷觀眾的偏好意向。 (3)運動賽程排程模式之建立 取得排賽程相關資料後,利用限制規劃之方法,根據職棒聯盟之賽程排程規定 與球場分配公平、效率原則,構建運動賽程排程問題之限制規劃模式。 (4)運動賽程排程模式之求解 將 本 研 究 建 構 出 之 限 制 規 劃 排 程 模 式 以 OPL (Optimization Programming Language) 語法寫成一模式檔,利用 ILOG OPL Studio 套裝軟體[18]進行求解。 (5)求解結果分析 針對求解出的賽程表,進行求解效率與指標分析,將其與 2005 年之賽程表做比 較,探討本研究模式之可行性與優劣,作為模式調整之依據。 (6)模式修正 檢驗求解結果,若與實際規定不符或者無法產生可行解,則重新調整限制式並 修正模式,進行求解。 (7)結論與建議 根據前述各步驟所得結果,提出具體之結論與建議,並研擬未來後續研究之方 向與重點項目。 本研究求解架構流程圖,如下圖 1.1 所示:. 3.
(14) 研究問題界定. 中華職棒大聯盟 現況資料調查 1.訪談 2.收集資料. 文獻回顧. 排程問題 文獻回顧. 限制滿足問題 與限制規劃 文獻回顧. 運動排程 模式建立. 調整限制式 與模式修正. 模式求解. 個案模式排程 結果之各個指 標分析. 結論與建議. 圖 1.1. 本研究求解流程圖. 4. 個案排程 規則整理.
(15) 第二章 文獻回顧 排程問題屬於 NP-hard 高複雜度之組合問題,傳統文獻大多以最佳化模式 (Optimization model)方式求解,但在應用上不易處理實際面臨的各種限制條件。本 研究從 Constraint Satisfaction Problems 的觀點來看待排程問題,將對排程問題與限制 規劃這兩大主題進行回顧,藉由這些回顧來探討目前排程問題與限制規劃的發展現況。. 2.1 排程問題 排程問題有很多形式,最常被使用在學校排課程以及人員排班當中,排程問題之 所以引起眾多學者的興趣,其中一項原因就是因為它具備排列組合的特性 (Combinatorial) ,許多文獻均將此類問題歸類為具有 NP-Complete 的性質[7]。運動賽 程也是屬於一種排程問題,在求解問題的方法上是一種資源分配問題,即在受限於各 種限制條件之下,如何安排它的資源,如時間區段、球場、球隊、裁判等等,以進行 各類球賽。 以下先就排程問題之型態及其分類型態等作一介紹,其後再逐一介紹排程問題的 各種解法,最後再將各種解法作比較。 2.1.1 運動排程問題 (Sports Scheduling Problem) 許多運動聯盟(如:棒球、足球、籃球等等)在循環賽時會面臨賽程表安排的問 題[29],此問題是一支隊伍與另一支隊伍對戰,在某一個隊伍的主場,且要求在一定 期間內比賽幾場的賽事,表 2.1 是循環賽賽程表之示意圖。循環賽最重要的限制是(1) 在賽程表的每一列中各個隊伍都出現一次,也就是說以六個隊伍一星期比賽五場賽事 來看,一週內每個隊伍都會與其他隊伍比賽(2)每一行是一組一組的對戰組合,如第 一天是 AB、CE、DF 比賽。 表 2.1 循環賽賽程表 隊伍. 一週比賽五場,每隊與每隊各交戰一次 1. 2. 3. 4. 5. A. B. D. F. C. E. B C D E F. A E F C D. C B A F E. E D C B A. F A E D B. D F B A C. 資料來源:[16]. 5.
(16) 國外的職業運動發展蓬勃,由於其土地遼闊、人民參與度很高,因此主客場制十 分明顯。國外學者有使用整數規劃方式替大西洋海岸籃球聯盟(ACC,Atlantic Coast Conference)排定整個賽季的賽程表[22],其將此類型的問題歸類為循環賽(Round Robin tournament),將賽程排班的過程分成三個階段來處理:第一階段先將主場 (Home)、客場(Away)、休息(Bye),三種情況分配在賽程表上,如此即可完成一 個包含休息情況的主客場序列 HAB(Home-Away-Bye);第二階段再把出賽的配對組 合分派到 HAB,集合所有 HAB 便可組合成一個賽程 HAT(Home-Away Timetable)。 第三階段每支隊伍在配對一個 HAB 後,即可構成一完整賽程表。根據不同運動類型 會有不同的演算步驟和程序等求解方式。McAloon [21] 以 ILOG 軟體求解美國職棒大 聯盟的賽程表問題,模式化聯盟的賽程限制,在此有不錯的成果。 由於賽程排程的難度與隊伍數目的多寡十分相關且國外的聯盟隊伍通常都多達 十多隊以上,使問題的複雜度提高很多,大部分學者都會發展啟發式演算法來求解, 期望在合理的時間內獲得一個符合賽程的解。Costa[6]針對基因演算法(Genetic Algorithm, GA)與禁忌搜尋法(Tabu Search, TS)兩種啟發式解法加以修改結合,發展 一套新的啟發式演算法應用在冰上曲棍球的賽程表制定,在有效時間內求出一個合理 且滿足規定的賽程表,減少所有球隊在整個球季出戰全部客場時的總旅行距離大約 8 萬多英哩,替所有球隊節省了很多旅行成本。國內較少人去研究此課題,蔡正誠[39] 首先在民國八十一年應用網路圖形與圖形著色理論的方法發展一個兩階段的啟發式演 算法來對國內職業棒球聯盟作賽程排程,他以隨機的方式製作一個初始賽程表來盡量 滿足職棒賽程運動中的規則、場地與出賽次數的限制。第二階段再套用啟發式演算法 作調整使其不合理或衝突的狀況消失,讓賽程表符合球場平均分配的原則;但是現今 的職棒比賽無法讓每個球場都平均分配給每個隊伍比賽,楊大輝、朱政威等人[38]藉 由傳統作業研究領域中的目標規劃(Goal Programming)方法,針對職棒賽程的特性, 建構數學模式,並輔以數學規劃軟體 CPLEX 進行求解,增加了排賽程表的彈性與機 動性。 球隊在進行比賽的過程中最耗費的就是體力與金錢,規劃一個良好的賽程表讓各 球隊比賽的總旅行距離最小是很重要的,不僅節省球隊旅費支出,也減少球員在旅途 中疲累,使球員出賽時能保持最佳狀況。Bean 及 Birge[1]這兩位學者以一個獨立球隊 最少旅行成本路線為觀點,應用多元旅行銷售員問題(Multiple-Travel Salesman Problem)的思考模式來作為求解 NBA 聯盟賽程表的概念。球隊在一個旅次中最多只 能連續出賽五場,亦即為一個最多只能拜訪五個城市的多元銷售員問題,當找出一個 最小成本比賽路線的賽程表之後,再以此賽程表來去驗證是否符合 NBA 聯盟的相關 限制要求,反覆不段進行此演算流程直到找出合理的賽程表為止。此法約可替球隊節 省了大約 20%左右的旅行成本,而 NBA 聯盟也將此賽程運用在 1980-1981 與 1981-1982 兩個球季。 Russell 及 Leung[26]在 1994 年發展一個以”總旅行成本”最小的兩階段數學規劃方 法來替整個職棒球季的賽程安排。第一階段先產生一組符合賽程限制與需求的主客場 6.
(17) 分配樣本序列,再使用交換啟發式演算法(Exchange heuristic)來組合 HAP(Home-Away Pattern,包含主場、客場,兩種情況組合的序列)以產生不同的 HAT;接著第二階段 則是以第一階段所產生的 HAT 表格中每一欄的 HAP 為依據,再把每支球隊分派到 HAP,藉由把不同隊伍分派給 HAP 來組合成一個完整的賽程表。表 2.2 乃是有關賽程 表問題的文獻比較。 表 2.2 賽程表問題文獻比較 問題型態. 學者(年份) Bean and Bridge [1] (1980). 賽 蔡正誠 [39] (1992). 考量因素. 求解方法. 以最少旅行成本路 找出路線後再去驗證 線為觀點,應用多 旅行銷售員 是否符合聯盟限制,往 元旅行銷售員問題 問題 往會與聯盟的規定互 的思考模式 相衝突 以 GCP 發展 與目前中華職棒大聯 兩階段的啟 盟的賽制不同,場地分 發式演算法 配也不符合實際. 球場分配公平. 程 Russell [26] (1994) 表 Costa [6] (1995) 排. 以”總旅行成本”最 小為考量因素. 數學規劃. 限制規劃. 以 ILOG 軟體求解美 國職棒大聯盟的賽程 表問題. 整數規劃. 將賽程排班過程分為 三階段來處理,不符合 目前中華職棒大聯盟 的賽制. 整數規劃. 循環賽的賽制不符合 目前中華職棒大聯盟 的賽制. 目標規劃. 符合目前中華職棒大 聯盟的賽制,但四連戰 的賽程無法全部安排 出來;且求解時間過長. 程. 題. Nemhauser [22] 主場、客場、休息 (1998). Henz [16] (2004). 循環賽比賽規則、 隊伍數. 楊大輝等人. 針對職棒賽程的特 性以數學規劃軟體. [38] (2004). 主、客場兩種情況組合 不符合目前中華職棒 大聯盟的賽制. 將 GA 與 TS 修改 基因演算法 替所有球隊節省了許 結合,發展一套新 禁制搜尋法 多旅行成本 的啟發式演算法. McAloon [21] 模式化聯盟的賽程 限制 (1997). 問. 敘述與結果分析. CPLEX 進行求解. 國外的文獻[14,22,28]有使用整數規劃(Integer Programming)安排循環賽,而在 近年來處理實際的問題,有用限制規劃(Constraint Programming)[16,21,31]方法來處 理。比較傳統 OR 方法與限制規劃方法在不同類型問題上之適用性,Brailsford 等人[3] 7.
(18) 的研究成果即發現,限制規劃在執行的方便性與模式構建的彈性方面,都明顯優於傳 統 OR 的方法;在計算時間及求解品質的部分,則會根據不同之問題型態產生不同的 效果。除此之外,許多研究限制滿足問題求解方法的學者[2]相繼在研究中發現:對於 大部分之限制滿足問題而言,限制規劃乃是最佳之求解方法。Simonisimonis [30]指出, 限制規劃方法應用在排班(Scheduling) 、設施佈置(Allocation) 、運輸(Transportation) 、 組員派遣(Crew Rostering)等問題時,容易根據實際的問題去求解。Puget[24]的研究 顯示,對於排程及班表設計的問題,利用限制規劃的方法,根據其問題之限制與特性 去設計,可在短時間內得到符合各種限制的班表。 2.1.2 排程問題之解法 關於排程問題,在國內外均被廣泛地討論,其相關文獻很多,在學術領域被定義 為一組合最佳化問題。在過去國內外學者的研究下,已發展出許多種求解概念與方法, 基本上求解方式可簡單分為兩派,一為最佳化演算方法(Optimal Solution Algorithm), 另一為啟發式演算方法(Heuristic Algorithm)。本研究的問題型態與排課程等時間表問 題較相關,因此在排程問題之解法上將回顧時間表設計(Timetabling)問題居多。 最佳化演算法是在求解條件與限制式已知條件下,對於問題的目標求取其可行解 空間內最佳的一個解,然而此法最主要面臨的瓶頸為演算時間較長,對於大型排程問 題往往需要耗費過多的求解時間,甚至解不出可行解。在處理 0-1 整數規劃的問題上, 可以分支定限法(Branch and Bound Method)代表,如表 2.3 所示。 表 2.3 分枝定限法求解步驟 在分枝限定法過程中,可能有許多未能求得整數之分枝端點,如 何從這些未選節點當中擇一繼續進行求解工作即為節點選擇,節 (Node Selection) 點選擇機制有最佳目標搜尋(Best-Bound Search)、深度搜尋 (Depth-First Search) 、廣度搜尋(Breadth-First Search) 、隨機搜 尋(Random Search)等方式。 節點選擇. 分枝 (Branch) 定限 (Bound). 當處理二元變數時,最簡單的方式就是將合理解集合固定一個變 數值 x,將原本問題分割為 x1 = 0 及 x1 = 1 的兩個子問題, 以 分枝樹來看,即針對 x1 變數產生了兩個分枝。 對每一個子問題,找出其線性放鬆後之最佳解即為該子問題之鬆 弛解。對於整數規劃而言,通常鬆弛解即為放鬆掉整數限制後之 最佳解。. 當一個子問題被解決之後即可不再考慮,而分枝限定法即是透過 解決所有分枝端點找到問題最佳解,其有三種方式可以被解決: 1. 子問題為最佳解為整數解、2. 子問題為不可行解、3. 子問題 (Fathoming) 之最佳解較目前暫時最佳解(Incumbent)差。 解決. 資料來源:[33]. 8.
(19) 基於最佳演算法無法在特定時間內求得可行解的原因下,一般對於實際或大型排 程問題的處理會選擇設計適合的啟發式演算法,以尋求一可行解,雖然不盡然為最佳 解,但其以縮短時間所換取的求解效率往往更符合實務所需,對於排程問題常見的啟 發式解法有禁制搜尋法(Tabu Search, TS)[6,15]、模擬退火法(Simulated Annealing, SA)、基因演算法(Genetic Algorithm, GA)[11]等。 本研究的問題型態與排課程相關,以下詳細介紹解決方法的分類: 1. 作業研究(Operation Research, OR) 作業研究主要是利用數學做為工具來解決排程或是決策等問題。首先找出適合用 來描述問題的模型,再藉著求解數學來解決問題,有關於使用 OR 方法來解決排課程 問題的研究可分為很多類。在作業研究領域的相關學者最常使用圖形著色問題(Graph Coloring Problem, GCP)來描述排課問題,分為 nodes coloring problem 與 edge coloring problem,並藉由解決 GCP 來處理排課問題[33]。GCP 是圖形中的每個節點(node) 或邊(edge)著上顏色,GCP 中的基本限制是相鄰的節點不可以著上相同的顏色。排 課問題中的課程就像是圖形中的節點,將課程的資料經過彙整後,讓互斥的課程成為 圖形中相鄰的節點。在 GCP 中,節點著色就相當於為每門課程安排上課時段,每一個 顏色就表示一個時段,顏色的數目會因為上課時段而受到限制,在有限制的顏色數目 之下,為每個節點著上顏色,而相鄰的節點不可以是相同的顏色,同理邊也是,分別 如圖 2.1 與圖 2.2 所示。. 圖 2.1. Node Coloring Problem 示意圖. 圖 2.2. Edge Coloring Problem 示意圖 9.
(20) 2. 分群法(Cluster Methods) Arabinda Tripathy 利用分群的觀念,將修同一門課程的學生歸為一群,藉由減少 排課過程中的變數來簡化 GCP,再利用 Integer Linear Programming 的方式求解 GCP。 一般而言,分群的方法呈現了一種分解問題的形式,首先將課程先分配到不同的群集, 之後再將不同群集的課程循序指派到時間區段中,以滿足某些限制條件或最小化矛盾 限制[8]。先將課程分群後再進行演算法求解雖然使求解的搜尋空間減小許多,但分群 限制的課程亦將導致求解品質的低落[4]。 3. 啟發式演算法(Heuristic Algorithm) 過去二十年來許多啟發式演算法的發展已漸漸成熟,包括模擬退火法(Simulated Annealing, SA)、禁制搜尋法(Tabu Search, TA)、基因演算法(Genetic Algorithm, GA)與 Hybrid Approaches 都已被應用於許多排程問題中,這些方法是以一個或多個起始解作 為求解的開始,採取搜尋策略避免落入區域的最佳解中。這些求解的演算法都可以獲 得不錯的結果,但可能花費不少計算的時間成本。基於最佳演算法無法在特定時間內 求得可行解的原因下,一般對於實際或大型排程問題的處理會選擇設計適合的啟發式 演算法,以尋求一合理可行解,雖然不必然為最佳解,但以縮短時間所換取的求解效 率往往更符合實務所需。Safaai Deris[11]等學者便利用 GA 結合 CSP 來求得接近最佳 解的課表,在 Safaai Deris 等人在研究當中利用 GA 仿效自然界中適者生存的原理,透 過類似物競天擇的過程以產生很接近最佳解的課表,並且在 GA 的過程中利用 CSP 來 做限制控管(constraint handling)的工作,以確保每一個由 GA 所產生的可能解均符 合限制。 4. 限制規劃法 許多相關研究使用 Constraint Satisfaction Programming 來處理排課或排程這一類 的問題[11,19]。Constraint Satisfaction Programming 主要的特色是可以將排程問題中的 各種限制分成硬性限制與軟性限制。所謂硬性限制是一定要遵守的限制,而軟性限制 則是盡量遵守的限制,在必要的時候可以違背軟性限制。CSP 這一類的問題通常都具 有 NP-complete 的特性,此特性也與排程問題的特性相符,因此 CSP 很適合來解決排 程問題。由於近年來電腦資訊科技快速發展,有許多在過去僅止於紙上談兵的 Constraint Satisfaction Programming 相關研究,現今都可以逐步達成。近幾年更有許多 軟體廠商發展出 CSP 觀念的應用軟體(Ex:ILOG OPL Studio),讓利用 CSP 來求解 排課及排程等資源分配問題成為一個新的趨勢。. 10.
(21) 2.2 限制規劃 限制規劃(Constraint Programming)為一種結合 OR 與 Computer Science 兩大領 域,專門用來解決 Constraints 的語言。也是最近十年在程式語言領域當中最令人興奮 的一項發展。由於它背後有著強大的理論基礎在運作著,使得其商業應用價值非常高, 並且也開始廣泛應用在組合最佳化的問題模式建構上。 到底是什麼原因使得限制規劃如此熱門呢?主要的原因是傳統的程式語言(C、 Pascal、Basic),以及包括目前的物件導向語言都是屬於『命令式語言(Imperative Language)』 ,所以它們對於程式撰寫者(Programmer)所定義出來物件跟物件或變數 跟變數之間的關係(relationship)或限制(constraints),提供非常弱的資訊。傳統的 程式語言,撰寫程式者必須要很清楚的規範每個變數和其他變數間的關係,於 1960 年代,在程式語言的領域當中,有人就開始想說可不可以發展一種語言來讓撰寫程式 者可以很簡單的敘述物件跟物件或變數跟變數之間的關係或限制,這樣的語言發展至 今日即為現在的限制規劃語言(Constraint Programming Language,CPL),CPL 在目 前程式語言的領域中屬於『宣告式語言(Declarative Language)』。 宣告式與命令式最大的差別在於,命令式語言通常是跟電腦說一連串的指令,命 令電腦先做那個動作再做那個動作屬於告訴電腦『how』的語言,相對的,宣告式語 言是屬於告訴電腦『what』的語言,各有各的特色,各有各的其適用的領域與價值, 然而對於『限制問題』處理,宣告式語言是最好的選擇,而目前的宣告式語言最常見 的有邏輯語言(logical programming language)如 Prolog,還有 Haskell, ML 這類函數 語言都是屬於宣告式語言。 限制規劃最大的特色在於它的跨領域性(multi-disciplinary),它包含了傳統數學 理論、OR 理論、人工智慧(AI)技術,而其限制式求解演算法(constraint solving algorithm)包含了傳統數學理論中的演算法,以及 OR 理論中的演算法。除此之外, 最重要的是,限制規劃在求解限制滿足問題(CSP)問題時運用了 AI 領域中 Consistency 的技術,並與上述的演算法相結合,以增加其求解的效率。 CP 是一種空間搜尋技術,緣起主要來自電腦科學(Computer Science)在人工智 慧領域(Artificial Intelligence,AI)的發展,根據學者 Brailsford 等人[3]對限制規劃的 定義「運用電腦程式發展的模式化語言,讓使用者能簡單輕易地描述限制滿足問題, 並透過精緻的電腦演算法有效率地求解限制滿足問題」 。從限制規劃的定義看來,很明 顯具有兩項特性:空間搜尋能力與限制條件之處理,這是因為限制規劃為一種二層式 的求解架構,一層為描述限制滿足問題的限制式元件,另一層為求解限制滿足問題的 程式求解元件,兩者特性介紹如下:. 11.
(22) 1. 限制式元件(Constraint Component) 提供一套親切易懂之模式化語言,讓使用者能輕易地宣告變數與限制式,對於 實務問題上多種限制式(如:logical constraint、arithmetic constraint、cardinality constraint、all-different constraint、atmost constraint 等)皆有其對應的限制式元 件,以供使用者針對問題進行模式化動作,對於問題描述的功能較以往數學規 劃更強大。 2. 程式求解元件(Programming Component) 包含了限制式系統邏輯推理元件及空間搜尋元件。CP 中用以推理限制滿足問 題所構成的限制式系統,主要是針對變數值域與限制式之間的一致性檢驗技術 ( Consistency Checking Techniques ) 與 限 制 式 推 衍 機 制 ( Constraint Propagation)。另一方面,搜尋元件最基本的演算法為回溯法(Backtracking, BT),基於 BT 而發展出來更具效率的搜尋演算法有 Forward Checking、 Maintaining Arc Consistency(MAC)等。 簡單而言,限制規劃就是應用電腦演算法之執行來求解限制滿足問題,這些電腦 演算法最早是在邏輯語言(如:Prolog)中所設計,但是傳統語言中的邏輯程序並不 能有效率地處理限制的關係,因此,便逐漸發展出一些針對求解限制滿足問題的限制 式邏輯語言(Constraint Logical Programming) ,像是 CHIP 語言(Constraint Handing in PROLOG)便是由 Prolog 修改而來,利用限制式與限制式之間的關係來加速求解效率。 近年來隨著電腦科技為解決實務問題而發展的物件導向概念日漸盛行,限制式邏輯語 言也開發出具有物件導向式的限制規劃程式庫,常見的有 ILOG 公司的 Sover(C++) 、 Scheduler(C++)、Jsolver(Java)以及 COSYTECH 的 CHIPv5(C++)。 限制規劃在人工智慧領域中已被廣泛討論,但是對於大部分作業研究領域學者來 說相當陌生,傳統作業研究方法多針對最佳化問題發展出許多有效數學規劃方法,但 是實務上許多問題並不是刻意追求最佳化的答案,而是以滿足所有的限制條件為目 標,像是一些組合化問題便是如此。有鑑於此,限制規劃方法也逐漸受到作業研究領 域學者的注意,近年來有愈來愈多研究應用限制規劃方法求解,並且都有不錯的成效, 這些問題包括:設備位置[12]、生產排程[9]、汽車生產線管理、商品分割、路線規劃 問題、班表設計以及排班[10]等相關問題。 一般而言,限制式可以分為以下五類: A、Real arithmetic equation constraints 例如: ( 1+X = 2Y+Z ) /\ ( Z - X =3 ) /\ ( X+Y = 5+Z ) 。這類限制式的 求解方法,在傳統數學理論中,最著名的就是 Gauss-Jordan Elimination Algorithm, 此方法相信大家都在線性代數中學過。 B、Tree constraints 這類型的限制式,就是我們常在程式語言當中宣佈的資料結構。它的重要性在於 能夠將問題的資訊,包裝在同一個資料結構中,使得我們在資料的擷取上更為方便。 12.
(23) C、Boolean constrains 所謂的 Boolean constraints 就是表示限制式當中,變數的值域(Domain)都是屬 於 Boolean 的形式,亦即變數只有真假二值。而運用 Boolean Constraints 的最大的領 域是資工、資科的邏輯設計(Logic Circuit Modeling)。 D、Sequence constraints Sequence constraints 最大的應用就是在 DNA 的排序上。 E、Block world constraints Block world constraints 是從人工智慧(AI)當中發展出來的限制式,以解決實際 生活當中,物體和物體間的限制關係,這種限制式運用最廣的領域是在區域位置規 劃(Configuration)上,如機場場站設備的怖置、機場大廳內的佈置規劃。 此外,若限制式依其所含變數的多寡來區分,則可分為: A、uniary constraint(一元限制式) :如 X ≦ 4 B、binary constraints(二元限制式) :如 X ≠ Y 或 X + Y ≦ 5 C、n-ary constraints(多元限制式) :如 X + Y + Z ≦ 10 以下就限制滿足問題與限制規劃之搜尋技巧做一詳細的說明,首先會定義限制 滿足問題,其後介紹限制規劃的緣起,最後說明限制規劃的空間搜尋技巧。 2.2.1 限制滿足問題之定義 所謂限制滿足問題(Constraint Satisfaction Problem, CSP)已成為人工智慧領域 的研究主題之一,於 1970 年代逐漸萌芽,Tsang[33]將限制滿足問題正式定義如下: 一個滿足限制問題由三個部分所組成(Z, D, C): (1) Z 代 表 所 有 的 變 數 ( Variables ), 是 有 限 的 變 數 集 合 Z={x 1 ,x 2 ,……,x n }。: (2) 值域(Domain, D),CSP 中每個變數都有其可能值 d 1 ,d 2 ,……,d k ,每 一個變數的可能值所構成的集合稱為為該變數的值域 D i ={ d 1 ,d 2 ,……,d k },值域中的值不一定是數值型態,也可以是其他型 態,如:文字與符號。 (3) 限制(Constraints, C) ,CSP 中的限制是用來描述變數之間的關係,其 限制可以影響任何一個變數。若某個限制式剛好影響所有的變數,稱該 限制式具有 arity 的性質,若 CSP 中的限制都只影響兩個變數,稱之為 「binary constraint」。 在 CSP 中,所謂的可行解(feasible solution)即是每個變數 x i 從其所屬的值域 D i 中挑選出一個值 d i ,以滿足所有限制。每個變數的值所構成的組合 13.
(24) { d 1 ,d 2 ,……,d i ,……,d n }即為可行的解。Brailford 等學者[3]指出在 CSP 中,通常 會尋找幾種不同的解答: (1) 在 CSP 中只須尋找任一可行解,對於可行解並不進行比較。 (2) 搜尋出所有的可行解。 (3) 依據問題設定目標函數以尋求最佳解或最符合需求的解。 在問題本質上,限制滿足問題不同於最佳化(Optimization)問題,其求解目的乃 在於尋得一組或多組可行解,而非最佳化問題所要求之最佳解。這類問題中,最著名 的有地圖塗色問題(Map Coloring Problem)和 n-皇后問題(N-queens Problem),然而許多 實務問題之特性亦屬於限制滿足問題,例如:班表設計問題(Timetabling Problem)、 勤務組合產生問題(Crew Pairing Generation Problem)、組員派遣(Crew Rostering Problem)等問題。 回顧限制滿足問題的發展,在 1970 年代,人工智慧(Artificial Intelligence, AI)領域 的電腦科學家開始投入大量之研究與心思在建構限制滿足理論之研究上,不巧的是, 由於此一時期的電腦運算能力相當差,使得當時之電腦科學家尚無法有效地運用限制 滿足理論來求解各種實務問題,並因而停滯了限制滿足理論之相關研究。直至 1990 年代,由於電腦的運算能力越來越強,使得限制滿足理論再度受到電腦科學家之重視, 因而促使停滯已久的限制滿足理論再度被廣泛地研究。發展至今,文獻上已存在許多 極具效率的電腦演算法被用來求解限制滿足問題。 2.2.2 限制規劃簡介 傳統 OR 領域所探討的大多屬於有明確目標式的最佳化(Optimization)問題,但對 於許多諸如排班(scheduling)、班表(timetabling)、派遣(rostering)的組合性(combinatorial) 問題,因其牽涉許多複雜與多變的限制條件,最佳化模式的應用效率有限。從 1999 年首度舉行跨領域的 CP-AI-OR 國際研討會[44]以來,許多的文獻均肯定限制規劃有助 於班表、組員或路線的組合問題。 限制規劃主要緣起於人工智慧(Artificial Intelligence, AI)在電腦程式語言方面的發 展,一般而言, 「限制規劃」指的是應用電腦演算法之執行來求解限制滿足問題。主要 目的乃在於簡化理論與實務問題解決的差距,讓一般對於程式語言不熟悉的使用者, 亦能很快的發展其問題模式並進行求解。 限制規劃較適合限制程度高的組合最佳化問題(如:含時間窗限制的車輛排程問 題、含容量限制的車輛排程問題等)與限制滿足問題(如:排課問題、班表設計問題、 勤務組合產生問題、排程問題等),在求解此類型問題時,限制規劃之求解效率通常較 傳統作業研究來的好;然而,對於限制程度低的組合最佳化問題而言,由於作業研究 有其紮實之數學理論基礎,在求解此類型問題時,作業研究之求解效率通常較限制規 劃來的佳。根據此分析,將作業研究與數學規劃之適用問題類型整理成下表 2.4 所示。 14.
(25) 表 2.4 OR 與 CP 方法所適用之問題類型 問題特性 限制程度高的問題 (Fully-constrained Problem) 限制程度中的問題 (median-constrained Problem) 限制程度低的問題 (less-constrained Problem). 求解方法. 可行解空間特性. CP. 可行解空間為斷斷 續續的(fragment). CP + OR. 介於上、下兩者之間. OR. 可行解空間相當 大且非常連續. 資料來源:[36]. 綜合歸納應用限制規劃方法來求解限制滿足問題之優越特性,可發現限制規劃包 含下列三項優點[3]: 1. 有效率之求解機制:由於在限制規劃的求解機制中,充分地結合了一致性檢驗 技 術 技 術 (Consistency Checking Techniques) 、 限 制 式 遺 傳 機 制 (Constraint Propagation)與智慧型的搜尋演算法,使得限制規劃的求解效率相當高。 2. 模式建立之方便性:由於限制規劃語言屬於程式語言中之「宣告式語言 (Declarative Language)」 ,使得使用者可以很容易地運用限制規劃語言來建構 其限制滿足問題模式。 3. 可處理多樣之限制式:限制規劃可以處理各種實務問題之限制式類型而其中有 許多是數學規劃所無法直接使用的,如:布林限制式(Boolean Constraints)、 邏輯限制式(Logical Constraints) 、序列限制式(Sequence Constraints)等,所 以對於不熟悉數學規劃理論的使用者,仍然可很容易地運用限制規劃來就構其 限制滿足問題或組合最佳化問題。. 15.
(26) 2.2.3 限制規劃空間搜尋技巧 限制規劃中的求解搜尋技巧主要是由一致性檢驗技術及空間搜尋演算法所構成, 其運作機制是在每個分支節點利用一致性檢驗技術減少可行解搜尋空間。所謂一致性 檢驗技術是指,假設有兩個變數 Xi 與 Xj,對所有 a ∈ Di(Xi 之值域)及 b ∈ Dj(Xj 之 值域)而言,若 Xi=a 時,Xj 均能從其值域中找到一個 b 值,使其滿足所有限制式, 則稱一條具有方向性的節線<Xi,Xj>一致(Consistent) ,否則稱做不一致(Inconsistent) 。 一致性檢驗技術的目的在於盡可能地刪減變數之值域,使其最後剩下的值域能夠具備 一致性。 一致性檢驗技術包括:節點一致性(Node Consistency)、節線一致性(Arc Consistency)、界限一致性(Bounds Consistency)、一般化一致性(Generalized Consistency)四種技術,不同的一致性檢驗技術複雜度皆不同,愈簡單的一致性檢驗 技術所需花費的運算時間愈短,每一種一致性檢驗技術有其優點及應用時機。本研究 以一二元限制式(Binary Constraint)之 Arc Consistency 技術為範例介紹如下: 圖 2.3 中,(a)表示 x1 與 x2 原來的值域,(b)表示讓< x1,x2> arc consistent 的值域, (c)表示讓< x1,x2>與< x2, x1>均 arc consistent 的值域。 X1. {1,2,3,4,5}. (a) 原來的值域. X1. {1,2,3,4,5}. X2. X1 < X2 - 2. {1,2}. (b) <X1,X2> arc consistent 的值域. X1. {1,2}. X2. X1 < X2 - 2. {1,2,3,4,5}. X1 < X2 - 2. (c) < x1,x2>與< x2, x1>均arc consistent的值域. X2. {4,5}. 資料來源:[3]. 圖 2.3. Arc Consistency 範例. 限制規劃之搜尋演算法主要有三:回溯法(Backtracking) 、前向查核法(Forward Checking)以及 MAC 演算法。回溯法之搜尋概念很簡單,但是因為回溯法的效率很 差,故實際上應用並不多,前向查核法與 MAC 演算法均使用一致性檢驗技術作為搜 16.
(27) 尋機制核心。 此三種演算法均是以樹狀結構(Tree)表示目前搜尋狀態,樹狀結構的每一節點 可視為解的一部份(partial solution),每個節點中,若有些變數的值已經決定(由上 一層父節點而決定),這些變數稱做「過去變數」 (past variable),相對於過去變數是 未來變數(future variable) ,未來變數是節點中尚未選定變數值的變數,這些變數的值 可以在後來選定。另外,現在變數(current variable)是目前正在考慮的變數。樹狀結 構中的分支(branch)代表變數其他可能值,在搜尋過程中選定分支決定變數的值之 後,演算法會從未來變數值域中刪減掉與目前變數值域不一致的值,當未來變數值域 中的值被刪減成空(empty)時,該節點的狀態稱之為死巷節點(deadend node) ,不 得再進行分支。以上三種演算法主要差異在於其處理未來變數的方式,如圖 2.4 所示, 以下將以一個 4-queens 的限制滿足問題說明回溯法、前向查核法與 MAC 演算法空間 搜尋推衍之過程,如下圖 2.5 至圖 2.7 所示。. 資料來源:[5]. 圖 2.4 BT、FC 與 MAC 三種演算法的對照圖 4-queens 為 N-queens 問題之一種例子,N-queens 是一種棋盤遊戲像西洋棋裡皇后 能走的規定,在 N x N 的棋盤中必須放入 N 個 queens,擺棋規則必須符合: 規則(限制式)1:同一行不能出現兩個 queens 規則(限制式)2:同一列不能出現兩個 queens 規則(限制式)3:任一對角線不能出現兩個 queens. 17.
(28) 三種方法詳細說明如下: (1) 回溯法(Backtracking, BT) 回溯法之搜尋架構類似於數學規劃中分支定限法(Branch and Bound Method),在 搜尋過程中,一次固定一變數之值,如此層層搜尋下去,直至所有變數皆被指派有數 值。在回溯法當中,目前變數所指定之值會與目前的部分解(current partial solution) 進行比對,若有不一致之情形會使得問題無解,則必須回到上一個狀態重新搜尋而不 必再進行分支,如圖 2.5 所示。. Q Q. Q Q. Q. Q. Q. Q. Q. Q. Q Q. Q. Q. Q Q. Q. × Q. Q. Q. × Q. × Q. Q. Q. Q. Q. Q. Q Q. Q. ×. ×. Q. Q. Q Q Q. ×. Q. Q. Q Q. ×. ×. ×. Q. Q. ×. Q. Q Q. × Q. Q. Q. × Q. Q. Q. Q. Q Q. Q Q. Q. Q. Q. Q Q. Q Q. Q. Q Q. ×. Q. ×. Q. ×. Q Q. Q. ×. Q. ×. Q. Q. ×. 資料來源:[34, 35]. 圖 2.5 BT 搜尋法–以 4-queens 為例 (2). 前向查核法 (Forward Checking, FC). 由 Haralick 與 Elliott 兩位學者於 1980 年[16]所發展出來的演算法。為智慧型空間 搜尋演算法中最基本、最常使用之演算法,其運作概念與 BT 大致相同,差異性在於 FC 演算法是運用一致性檢驗技術於新初始化變數與未初始化變數間而不是運用在新 初始化變數與已初始化變數間,藉此差異使得 FC 演算法能透過事先地刪除未初始化 變數值域中與目前部分解具有不一致性的值域值(Domain Values),來避免目前部分解 將面臨的衝突,進而大大縮減搜尋樹空間與搜尋過程中可能產生之分枝檢驗次數,大 幅地提升傳統 BT 演算法之執行效率,成為一種智慧型空間搜尋演算法。同樣地,運 用 FC 演算法於求解 4-queens 問題為例,便可更清楚地瞭解之 FC 演算法之實際運作 流程,其實際運作流程即如圖 2.6 所示:. 18.
(29) Q Q. Q. Q Q Q Q. Q. × Q. Q Q Q. Q. × Q Q Q Q. 資料來源:[34, 35]. 圖 2.6 FC 搜尋法–以 4-queens 為例 詳細比較 FC 與 BT 演算法之搜尋樹空間(searching tree space)(圖 2.5、圖 2.6),可 明顯地發現,FC 之分枝節點數(Branch Node)較 BT 少很多,且 FC 的分枝深度(Depth of Branch)亦較 BT 短,由此可知,FC 演算法之執行效率較 BT 演算法好很多。 (3). MAC 演算法(Maintaining Arc Consistency). 由 Sabin 與 Freuder 兩位學者於 1994 年[28]所發展出來 MAC(Maintaining Arc Consistency)一致性檢驗技術為目前文獻上最常使用在未初始化變數與未初始化變數 間之一致性檢驗技術,其運作方式乃「以節線一致性檢驗技術為基礎、以未初始化變 數與其對應之值域所構成的子限制滿足問題(sub-CSP)為一致性檢驗之對象」 ,當 MAC 偵測到某個未初始化變數之所有值域與目前之 sub-CSP 呈現不一致的現象時,即表示 目前之 sub-CSP 不存在任何可行解,所以無須再從目前之分枝節點進行分枝。 以 4-queens 為例,運用 MAC 求解此問題之運作方式如圖 2.7 所示,其中有數字 的格子表示「未初始化變數中與目前 sub-CSP 呈現不一致之值域值」 ,而數字的標示順 序乃表示「當標示數字為 i 之未初始化變數值域值因與目前之 sub-CSP 不一致而被刪 除時,便會進一步促使標示數字為 i+1 之未初始化變數值域值與目前 sub-CSP 產生不 一致之現象,其中 i≧1」 ,由此可知,標示數字為 1 的個格字表示,最開始與 sub-CSP 產生不一致之未初始化變數值域值,而標示數字為 2 的格子表示,當標示數字為 1 的 值域值從其相對應之未初始化變數值域中移除之後,標示數字為 2 的未初始化變數值 域值也必須因而從其對應之值域中移除,而其他的標示數字則依此類推。從圖 2.7 之 左分枝來分析,由於經過 MAC 之一致性檢驗之後,發現最後一列之目前 queen 變數 值域值完全與目前 sub-CSP 不一致,使得此演算法能提早判定此分枝完全不可能存在 任何可行解而停止分枝和進行換枝檢驗,藉此減少空間搜尋之分枝數與提高整體空間 搜尋演算法的執行效率。 19.
(30) 雖然 MAC 比 Forward Checking 能更早發覺不一致的變數值域空間,Forward Checking 相對於 Backtracking 也是如此。但執行愈多的一致性驗算所需的運算工作自 然愈繁重,要及早刪除較多的搜尋空間亦必須花費額外的運算時間。因此在某些情況 下執行 MAC 反而得經過費時的運算,所以 Forward Checking 與 Backtracking 在應用 上仍有存在的必要,彼此間可相互配合運用。. Q. 2 Q 1. 1. 2 1. × Q Q. Q Q Q. Q Q Q Q. 資料來源:[34, 35]. 圖 2.7 MAC 搜尋法–以 4-queens 為例 2.2.4 模式化語言 OPL 之簡介 組合最佳化問題在現實世界的問題中到處存在,舉凡規劃(Planning)、排班排程 (Scheduling)、排序(Sequencing)、資源規劃(Resource Allocation)等都是此類型的問題, 而目前一些較強而穩健的求解系統雖然都能對大規模的線性規劃與各類型整數規劃問 題提供效率不錯的求解演算法,但由於實際的實務問題規模非常大且複雜,往往使得 OR 人員在求解實務問題時,花費很多時間在模式化問題(Modeling Problem)並且轉換 成這種求解系統可以讀的檔案格式與求解演算法,對於 OR 人員而言,若能擁有一套 緊密連接「模式構建」與「求解演算法」的模式化語言,將使 OR 人員更快速地解決 所面臨之實務問題,並大幅地提高他們的生產力與工作效率。 OPL(Optimization Programming Language)為一種專門求解組合最佳化問題的模式 化語言(Modeling Language),不同於一般命令式語言(Imperative Language)(如:C 語 言、C++、VB 等),OPL 為一種宣告式語言(Declarative Language),由於繼承宣告式語 言的特性,使得限制式在模式中的順序並不會影響模式之求解結果,所以使用者可以 隨時地加入、修改、刪除與管理問題之限制式。模式化語言最大的貢獻在於,它拉近 了「電腦程式語法」和「數學表示法」之距離,讓使用者能簡便地描述並解決問題。 所謂的模式化語言,其發展主要是為了利用電腦來解決數學規劃的問題,這樣的 語言是利用一些資料型態(data types)如:陣列(arrays) 、集合(sets)來表達傳統的 m. 數學表示法。例如我們想要表達. ∑ i =1. m. Ai × ∑ X i ,則在 OPL 的語法中,可以用下列式 i =1. 20.
(31) 子來表示: sum(i in 1..m)A [i] * X [i] 傳統模式化語言最大的貢獻在於,它使得『電腦程式語法』和『數學規劃語法』 相似,讓使用者能夠方便地描述(stating)並解決(solving)傳統數學規劃問題。 而在 OPL 程式編寫的平台部分,OPL Studio 是專門設計讓使用者撰寫 OPL 語言 的軟體。與 Visual C++或 Visual Basic 一樣,同樣地,OPL Studio 也提供使用者相當人 性化的介面,讓程式設計者在程式編寫以至於程式編譯(Compile)時,能夠更方便地 進行除錯(Debug)的動作。 除此之外,OPL Studio 在內部求解的過程,還提供了相當多對於解空間的搜尋策 略,讓使用者在模式構建以及程式編寫完成後,能夠選擇最適合模式的搜尋方法,以 便最有效地對模式進行求解工作。 OPL 與傳統模式化語言不同的功能可歸納成下列三項: 1. 支援限制規劃模式:支援限制規劃(Constraint Programming, CP)模式是 OPL 與傳統 模式化語言最大的不同。 2. 使用者可以自訂搜尋演算法(Search Procedure):OPL 允許使用者針對其面臨的組合 最佳化問題(如:線性規劃問題、整數規劃問題、限制滿足問題)特性,自行訂定搜 尋演算法;而傳統的模式化語言並不提供這個功能。 3. 提 供 更 多 種 的 限 制 式 表 達 方 式 : 針 對 我 們 實 務 問 題 最 常 見 的 排 班 排 程 問 題 (Scheduling Problem)與資源配置問題(Resource Allocation),OPL 提供專門的語法來 表示活動(Activity)與資源(Resource)之間的關係,使得使用者欲模式化這類問題時, 能更容易上手;此外,OPL 提供比傳統模式化語言更多的限制式表達方式,如: Higher-Order Constraint、Logical Constraint 等。. 21.
(32) 2.2.5 數學規劃與限制規劃之比較 數學規劃與限制規劃皆為可用於求解組合搜尋問題的方法,但此兩種方法的求解 架構思維模式卻不盡相同。數學規劃的方法是根據數學理論的角度來求解,方法論的 重心在於「運用歸類組合最佳化問題的種類並研究各類型問題的特性,提出相關數學 理論來求解各類型組合最佳化問題」 ,以組員派遣問題來說,通常以一般化集合分割數 學規劃模式求解;相反地,限制規劃方法是從電腦求解與電腦演算法的角度出發,其 方法論重心在於「運用電腦語言與電腦演算法,使電腦能瞭解並能系統化地、有效率 地求解組合化問題」。 數學規劃方法是以求解最佳解為目標,其基本架構由目標式及限制式條件構成, 根據不同問題型態以不同數學理論模式化問題(MP Formulation),設定成本函數 C、 限制式矩陣 A 與可用(需求)資源 B,而當實際上求解規模過大時會加入啟發式解法 於數學規劃求解當中,以便在可容忍的時間範圍內求得品質還不錯的可行解。作業研 究領域自二次世界大戰以來的發展至今已有數十年的研究成果,對於各種結構性的問 題的求解都有相當紮實的數學理論基礎,對於解空間大且連續的問題而言,作業研究 方法大都能提供不錯的求解成效。 而限制規劃是求解限制滿足問題的一種方法,求解目標為找到滿足所有限制的可 行解即可,和數學規劃不同的是,限制規劃並無具體的模式架構而必須依問題型態而 定,限制規劃模式架構主要包含以下三個部分: 1. 定義變數結構 使用者必須根據解題的目的定義適當的變數結構,變數結構的設計會影響 可行解搜尋空間的大小。 2.. 限制式寫法 運用限制規劃語言建構出描述限制滿足問題之限制式寫法,限制寫法並沒 有一定方式,建構好的限制寫法可幫助搜尋加快。. 3.. 搜尋策略 由於限制規劃方法目的並不是求得一個最佳解而是求出滿足使用者要求 的可行解,限制規劃往往很快便能求出一個可行解,但是針對大規模問題 而言,由於解空間相當大如果再加上嚴苛的限制式,就算只要找到一個可 行解也相當不易容易,因此,為有效增加限制規劃的求解效率,使用者可 透過自訂「搜尋策略」方式決定初始變數的順序以及初始變數給值的順 序,針對不同問題特性訂定不同的搜尋策略,聰明的搜尋與給值方法不僅 可以加速解空間搜尋時間也可以提升搜尋到之可行解品質。但對於最佳化 問題而言,最佳解必須找尋過所有可行解空間後才能確定,訂定搜尋策略 便無效果。. 22.
(33) 數學規劃方法與限制規劃方法各有其適用的問題型態,對於可行解空間大且連續 限制程度低的問題而言,文獻上建議以傳統作業研究數學規劃之方法較佳,而對於可 行解空間斷斷續續限制程度高的問題(排課問題、班表設計問題、排班問題…)而言, 以限制規劃方法求解通常會有較佳成效。圖 2.8 為數學規劃與限制規劃解題架構之比 較圖。. 圖 2.8 數學規劃與限制規劃解題架構之比較圖. 23.
數據
相關文件
We would like to point out that unlike the pure potential case considered in [RW19], here, in order to guarantee the bulk decay of ˜u, we also need the boundary decay of ∇u due to
Chen, The semismooth-related properties of a merit function and a descent method for the nonlinear complementarity problem, Journal of Global Optimization, vol.. Soares, A new
It is well known that second-order cone programming can be regarded as a special case of positive semidefinite programming by using the arrow matrix.. This paper further studies
In this work, for a locally optimal solution to the NLSDP (2), we prove that under Robinson’s constraint qualification, the nonsingularity of Clarke’s Jacobian of the FB system
• If we know how to generate a solution, we can solve the corresponding decision problem. – If you can find a satisfying truth assignment efficiently, then sat is
• Any node that does not have a local replica of the object periodically creates a QoS-advert message contains (a) its δ i deadline value and (b) depending-on , the ID of the node
Therefore, this study proposes a Reverse Logistics recovery scheduling optimization problem, and the pallet rental industry, for example.. The least cost path, the maximum amount
The purpose of this research is to explore the important and satisfaction analysis of experiential marketing in traditional bakery industry by using Importance-Performance and