Metaheuristics Laboratory, Evolution and Scheduling

指導教授簡歷

我的研究興趣為啟發式演算法(metaheuristics)之設計與應用,主要聚焦於演化計算(evolutionary computation)、多目標演化最佳化(evolutionary multiobjective optimization, EMO)、資源最佳化(如生產排程、路線規畫、電力規畫),也對遊戲人工智慧有興趣。主持(共同主持)科技部和教育部計畫二十餘件,發表學術論文著作 七十篇,論文引用數 逾千次,曾獲科技部特殊優秀人才獎勵。熱愛教學,歷年指導 碩博士生逾五十人,曾獲校級教學傑出獎。

啟發式演算法與最佳化

談到最佳化,推銷員旅行問題(Traveling Salesman Problem, TSP)是資工背景同學最熟知的最佳化問題之一,其問題是在給定 n 個城市及其相互間距離後,求取一條經過所有城市各一次的最短循環路徑。事實上,最佳化問題在生活中無所不在:以有限資源在最短時間內完成指定工作、以最少成本滿足人力需求、在有限空間內存放最多數量的貨物、以最少車輛數完成所有客戶的運輸需求等等。這些問題大多具有很高的複雜度,意味著目前並沒有能在有限時間內保證求得最佳解的演算法。

啟發式演算法為一類最佳化演算法的總稱,這類演算法常起源於自然界觀察而來的現象,如有模仿生物進化過程的演化演算法(evolutionary algorithms),有習自蟻群覓食的蟻拓搜尋法(ant colony optimization),也有效法鳥類覓食的粒子群搜尋法(particle swarm optimization)等等。由於這些演算法具有高彈性、實作簡單、求解效率高等特質,目前已成為最佳化演算法中的重要研究方向。

演化演算法之概念來自於生物演化,意指生物經過交配、突變產生後代,並經由物競天擇、適者生存選擇存活者的方式,逐漸提升生物對環境之適應力的過程。當我們求解一個問題(如 TSP 問題)時,可將該問題各個可能的解視為一個生物個體,透過模仿生物演化的演算法流程,逐漸提升解的品質,以滿足解題的目標。

歡迎新血加入

歡迎各位新生同學加入師大資工所,我的研究興趣主要為演化演算法之設計與應用,運用這些啟發式演算法的概念,設計與實作出易懂、實作方便、使用簡單、效率快速、求解品質高的演算法,並應用在各種具有挑戰性與高實用價值的最佳化問題上。相關主題包括:

資源(人力、機器、車輛)規畫應用

  • 在發電系統中,如何安排發電機組以滿足用電需求,同時減少碳排放量?(emission economic dispatch)
  • 在生產系統中,如何安排機器處理工件,以提高生產效率、滿足顧客滿足度並減少能源消耗和環境污染?(shop scheduling)
  • 在人力有限的狀況下,如何決定專案中各任務的負責人以及各任務的執行順序,以縮短專案完成時間和減少人事成本?(project scheduling)
  • 想去的旅遊景點好多,該如何安排才能在假期中走訪最多最好玩的景點?(orienteering problem, OP)
  • 校車、油罐車、黑貓宅急便等各類運輸系統,該如何以最少的車輛數、最短的路徑完成客戶需求?(vehicle routing with time windows, VRPTW)

演化演算法設計與實作

  • 當最佳化的目標不只一個(如時間與成本),當魚與熊掌不能兼得時,我們該如何有效地產生最佳解?(evolutionary multiobjective optimization, EMO)
  • 如何結合演化演算法與機器學習方法(如類神經網路與強化學習),彼此合作改善原有方法之效能?
  • 面對不同特性的問題,該如何省去人為調校,使演算法可以自我學習以調整演算法參數?(adaptive parameter control)
  • 是否有一個易學、易用且高效率的軟體框架,讓一般使用者和研究者能快速完成應用?

其它應用

由於啟發式演算法具有高度彈性,故其應用領域十分廣泛。近年我的大學部專題生也將它們應用於許多遊戲,如 小精靈虛擬玩家Eternity-II 拼圖超級瑪莉的關卡產生器 等等。未來我也希望能將它用在醫療照護、能源管理與娛樂遊戲的研究上。

FAQ

Q:「演化計算聽起來很有趣,但對我而言有點陌生,這是屬於哪個領域的研究呢?」

A:演化計算屬於「人工智慧」領域,在科技部資訊工程學門/智慧計算學門的研究領域中,可見「人工智慧與仿生計算」子領域,該領域的規畫書亦提到「演化計算」為重點子領域之一。以資訊領域熟知的 IEEE 與 ACM 來說,前者每年都會舉辦演化計算國際會議(IEEE Congress on Evolutionary Computation, CEC),後者同樣也會每年舉辦演化計算會議(Genetic and Evolutionary Computation Conference, GECCO)。其中 IEEE CEC 每兩年還會結合模糊系統與類神經網路合辦大型的人工智慧會議(WCCI)。

Q:「演化/啟發式演算法可以作些什麼呢?」

A:演化/啟發式演算法是一種演算法框架,具有高度彈性,應用領域廣泛,以下只簡單列出一些例子。

我的研究主要是資源管理類型的問題,不過同學們如果有特別感興趣的主題,我也很歡迎同學們為實驗室帶來新的研究主題。

Q:「演化計算看起來很有趣,但我不確定會不會進老師的實驗室,這樣也可以找老師談嗎?」

A:當然可以,研究生活要過得充實愉快,一定要對研究主題感興趣。選實驗室就像買東西一樣,貨比三家不吃虧,歡迎同學來進一步了解我們的研究主題。

Q:「老師什麼時候會在辦公室呢?」

A:不上課的時候我大部分都在辦公室,如果有興趣找我面談,請 email 給我。

如果你愛思考、有創意,歡迎你一起來設計與創造新的啟發式演算法。

如果你喜歡撰寫程式、開發軟體,歡迎你一起來實作並測試誰才是最厲害的啟發式演算法。

如果你不服輸、有毅力,歡迎你一起來挑戰經過二、三十年都還沒有人解出來的問題集。

歡迎有興趣的同學 與我聯絡,或可至我的實驗室 R205 與目前在學同學詢問相關問題。