2014年3月31日 星期一

碩士論文

族類競爭演算法在物流中心車輛分派問題
的應用與測試之研究
The Study of Race Algorithm applied and tested
On Vehicle Routing Problem around a Depot
張銀益 陳凱 輔仁大學資訊管理學系
    
本研究是提出族類競爭演算法來解決物流中心車輛分派問題(車輛途程問題),特別是針對電子商務環境下蓬勃發展的快遞問題。其中,族類競爭演算法是由傳統基因演算法改良而成,改良之處,在於加入了族類競爭模組以及緊密關係的多層次編碼結構。編碼結構由四層次資料所組成,分別是族類、群落、個體、基因,因此可以包含更多的資訊解。族類競爭模組則是依據各族類的最佳適應值來彼此競爭,消長各族類的群落數。研究中並以族類競爭演算法測試各式題庫,包括:隨機題庫、固定題庫,最後測試各參數對成本解的敏感度以分析族類競爭演算法的績效。最後結果,族類演算法確實比傳統基因演算法來的有績效,原因在於族類競爭模組對演算法的改良。
關鍵詞:基因演算法,物流中心,車輛途程問題,電子商務

Yin-Yih Chang, Kay Chen, Dept. of Information Management, Fu Jen Catholic University
ABSTRACT
In this research we propose a new algorithm that was named Race Algorithm (RA) to solve the Vehicle Routing Problem. RA is improved from traditional Gene Algorithm. RA has two revolutionary functions in program that are the tense multi-layer coded structure and the race module. The tense multi-layer coded structure which included race, community, body and gene. The structure has rich information that can evolve to complex solution. The complete race module can select better race and make it grow its community’s number by fitness value. This module can also select worse race and make it decrease its community’s number by fitness value. The result of this research shows that RA’s efficiency is better than GA.
Keyword: Gene Algorithm (GA), Distribution Center (DC, Deport), Vehicle Routing Problem, Electronic Commerce (EC)
1. 前言
電子商務蓬勃發展致使許多網路商店的興起,業者為了降低營運成本並專注在核心服務的擴展,於是將商品儲存配送工作委外給物流中心或專業物流公司。在電子商務的帶動下,物流中心的快遞業務也相隨成長。
近年來常利用人工智慧(Artificial Intelligence, AI),來解決不同物流情境下的車輛途程問題(Vehicle Routing Problem, VRP)問題。基因演算法Gene Algorithm, GA)則是近年來熱門的人工智慧解法之一。本研究在對於快遞問題的了解後,發現純粹基因演算法pure GA並不足以解決物流問題,於是自行發展一套族類競爭演算法Race Algorithm, RA
VRP係探討有固定數目且具裝載容量限制之車輛,從單一場站(Depot,或物流中心)出發,服務網路中每一個節點,所有的配送車輛再回到原出發場站,求取總距離最少,1VRP之繞徑示意圖。

1車輛繞徑示意圖
  車輛途程問題已被證明為NP -Hard,當問題的車子數目或者需求點的數目愈多時,其問題的複雜度和困難度將快速的增加,且若加入其他的限制,如:時窗的限制、載器容量的限制、車種的限制,則要尋找最佳解Exact Solution將越發困難。因此現在多數的學者大多都致力於尋找利用啟發式Heuristics的方法,求解可接受的最佳近似解。
GA也是一種啟發式的演算法,其在解決組合最佳化的問題方面都有不錯的表現,因此也有多位學者應用GA 來解決VRP 的問題(吳亮瑩(1999)Blanton(1993)Chin et. al. (1999) Drummond et al. (2001) Poon & Carter (1995) 。但其大多針對交配Crossover和突變Mutation兩個機制上做研究Blanton(1993)Poon & Carter(1995),或是針對在編碼過程時以限制式將非可行解去除Drummond et. al. (2001),以加速快最佳近似解的獲取。
GA應用到組合最佳化的問題時,每條染色體可以視為問題搜尋過程中的一個暫行解。而每個暫時解必須符合問題的限制條件才算是可行解Feasible Solution,才能存活下來。其是否能成為繁衍下一代的種子,則需視其環境適應能力Fitness而定。在染色體反覆的演化過程中,猶如在問題的可行區域中做多點的空間搜尋。
VRP問題的複雜度愈大,則最佳解愈難求,倘若利用傳統基因演算法,將問題代入求解,會產生如資訊不充足、分段求解等問題。因此,建立一套有效率,且一次完成分析的演算法—“族類競爭演算法,是本研究的目的。

2.基因演算法的原理與架構
族類競爭演算法是改良自GA。以下將先針對GA主要組成要素加以說明,分述如下:
(1) 編碼的方式:
  使用基因演算法之前,必須先對問題的解進行編碼的動作,編碼後的解即為染色體,而每一個染色體由數個基因組成,每一個基因代表其問題的特徵值Feature Value
(2) 母體的大小設定:
  母體即為群體中所含的染色體數目;母體的多寡對求解的效率有直接的影響,若母體過大會耗費過多的搜尋時間;母體過小會產生提早收斂。
(3) 適應函數:
  適應函數決定了每一個染色體適應環境的能力,亦即評斷其生存與否之依據,好的適應函數往往可以將染色體的優劣比較出來,故適應函數通常依系統針對求解問題的要求而設計。
(4) 初始解的設:
  GA在初始解的設定方面可分為兩種,一般的方法為隨機產生的方式;另一種則是利用簡單的演算法先建構好初步的初始解。
(5) 基因演算法運算子:
  基因演算法最主要的部份即是靠三個基本的運算元,複製、交配及突變的重複運作來達到演化的目的。複製係利用適應函數計算每一個染色體的適應程度,並加入一些揀選的方法,將高適應度函數值的染色體留下來繁殖下一代,適應度低的染色體則予以消失。交配運算子的作用是組合出新的個體,在字串空間裡進行有效搜索,同時需降低對有效模式的破壞機率。突變係染色體本身的擾動過程,它雖會破壞遺傳過程中染色體的穩定性,卻可以激發群體中的潛在特性,進而擴大問題的搜尋空間。經由複製、交配、突變運算後,檢查其是否為可行解,若非可行解,則進行修復,直至產生可行解為止。

3. 族類競爭演算法的原理與架構
RA演算法主要改良GA之資料結構編碼以及運算子構成型態;在編碼方面,為四層次的編碼結構,從原本在傳統GA中,並無緊密結合的資料型態,轉變成了RA密切相關的編碼演化結構。在運算子方面,乃加入了族類競爭的消長運算子,並且將交配運算子,改成兩層次的交配運算子。
族類競爭演算法的編碼資料,由四層次結構所組成,由上而下,分別為RaceCommunityBodyGene,由這些編碼的競爭及演化運算,最後得到最佳解。RA的演算過程,分別為每一代的族類競爭,以及每一代的演化過程。如圖2 3所示。

2世代族類競爭過程


3世代族類演化過程
各族類在競爭時,每個族類會選擇最好的群落之適應值去比較別族類最好群落之適應值,一但相較適應力高,則使該族類群落的總數增加,但若相較適應低,則使群落總數減少。在演化的過程中,各個群落會進行SelectMutateCrossover之世代演化過程。
3.1. 編碼方式
學者Bagchi等人1991在研究零工生產Job Shop排程問題時,其研究結果指出,包含較多資訊量的染色體,其執行的績效較佳。因為染色體提供的資訊越多,搜尋的空間越廣,越能顯現出GA 的強健性。另外,學者Juliff1993在其貨板裝車Pallet Loading的研究中指出,多層染色體表現的方法,其執行結果優於單層染色體Single Chromosome的表現方法。因此本研究亦採多層次染色體的編碼方式。
編碼是以一個群落為適應環境的基本單元,族類中有若干個群落,每個群落都有適應值,由適應函數所產生。而群落由一些個體所組成,經個體所努力出來的表現值,反應在群落整體的適應度上;最基本單元為個體,則是由基因所組成。
3.2. 族類競爭運算子
Lotka & Volterra(1925)所發展出來的Lotka-Volterra Graphical Model企圖解釋兩個族類的群體,在不同的棲息地,因爭取有限的資源,所導致兩族群互相競爭、群落個體數消長的情形。
在單一族群下的族群成長模式為:

  當兩種族類互相競爭下,其關係模式如下:
  物種一:   
  物種二:  
其中編號1代表族類一,標號2代表族類二,而N為個體數,t表時間,K為環境最大群體負荷,r為族群增加率等於出生率減掉死亡率,
則代表瞬間族類個體增加數。另外,
是物種二對物種一的影響,
是物種一對物種二的影響。因為各族類在散佈的棲息地會有不同的情況,產生如圖
4的消長趨勢。這個圖中,若箭頭的趨向指到軸上與軸上,即表示某一族類被消滅,否則便消長平衡,箭頭匯及於非軸上之座標點。

4兩族類競爭過程
族類的競爭是自然界在演化中的一個原動力,因此,族類競爭演算法所包含的一個最重要的運算子,族類競爭模組,便是依據上面的理論架構而來。不同的族類代表各自不同的問題解決架構,族類間不能互相交配,但在各世代中,卻互相競爭。每個族類在每世代,會做互相競爭的動作。如圖5,設定好族類間的競爭機制,便可以讓族類作有效的競爭。

各族群的消長參數依管理者自訂偏好權重,這裡提出一種固定數量消長模式。如果僅有一個目標式,一個族類的適應值在各族類中取得第一名,於是族類的群落增加2個,取得第二名者增加1個,但是最後一名的族類則要減少2個,最後第二名則減少1個,其消長數目依族類適應度排名固定為2,1,0,…,0,-1,-2。本研究使用此模式,一開始檢測之固定消長數目為2,最後取8,在8的情況下,假設沒有足夠的族類可供設定8,7,6,…,-6,-7,-8,則可以設定8,6,4,2,0,-2,-4,-6,-8來處理實際的需求。
3.3. 交配
交配(Crossover)分成兩個部分,為群落間交配與族群內交配,其中群落間交配(InterCrossover),則是兩群落Community各自提出一個個體(Body),交換到各自的群落中。而另外一個交配方式,稱為群落內交配(IntraCrossover),是在同一個群落Community內,找兩個個體(Body),彼此之間交換任務(Gene),這是屬於傳統GA的交配方式。
3.4.  族類競爭演算法運算結構
Define Race                             à定義成員函數。
Define Community                         à定義成員函數。
Define Body                          à定義成員函數。
Define Object                             à設定目標式。
initialize();                            à產生初始解,進行演化之。
evaluate();                                à評估各群落的適應度。
keep_the_best();                       à保留最佳群落。
while(cur_generation<MAXGENS){        à運行演化世代數目。
 select();                            à適應度較高的群落將有更多的機會存活。
  crossover();                             à群落間與群落內的交配運算。
  mutate();                           à發生在個體上的基因編碼變化。
repair();                            à修復順序限制、體積限制、時間限制等,並使用禁忌演算法改良個體基因。
  evaluate();                            à評估各群落的適應度。
  elitist();                             à保留最佳群落;並利用最佳群落取代最差群落。
racecompete();                        à各族類依最佳群落的適應度,彼此之間相互競爭消長。
cur_generation++;
}
draw();                                   à繪出問題最佳解之示意圖

其中Initiation提供編碼的初始解;Evaluate評估對於群落對目標函數的適應度;Keep_best將初始世代各族類最佳的群落資料複製到最後陣列的位置上去,Select選擇適應度較好的群落複製到下一個世代去;Racecompete各族類互相比較最佳群落適應值,競爭消長之;Crossover進行群落內以及群落間的交配運算;Mutate對於個體的基因,產生突變;Repair負責修飾基因,使其內容滿足問題限制式;Elitist將族類中最佳的族類複製到最後陣列的位置去;Report產生各族類的績效報告及各族類間的數據比較;Draw則畫出對問題的最佳成本解之意示圖。

4. 應用在快遞問題上的解題模式
本研究中,將快遞車輛分派問題定義成,車輛由物流中心發車,到各顧客中載取貨物或卸下貨物,直到完成各車所分派到的任務為止,最後駛回物流中心。
本研究將RA應用在快遞車輛分派問題上,所產生各層次對應資訊如圖6所示,區別族類Race差異的是車子的數量,群落(Community)是由車子所集合而成,個體(Body)是代表車子的繞徑資訊結構,負責處理任務,Gene內容代表車子所行經的服務點路徑。其中在各層的對應關係由下至上為,兩個服務點組成一個任務,不同個數的任務組成Body,特定數目的Body組成Community,不同個數的Community組成族類Race

6各層次資訊

RA應用在快遞問題上,必須先將各RaceCommunity進行初始化,即是將其包含的body(車子)初始化,再將車子所分配的任務路線(Gene)初始化。車子服務之行經路線,是以鄰近法和禁制法建構初始值。群落完整編碼呈現出一組問題解,而問題解的績效反應在適應值上。
資料編碼結構上,如表1,一開始有1~10個族類,每個族類有200個初始群落數量,隨著族類進行演化競爭,群落數量會產生消長,數目在50~1000之間變動,各群落的個體數隨所屬的族類不同,有特定的個體數目,數目在1~10之間(即便是今日決定出車的數目);設計結構上,每個群落就是對快遞問題所提出的一組解。
在測試中,快遞任務設定有5~60個,每個任務會產生兩個服務點(起始點與終止點),相同任務中的服務點不能相同一個位置,但不同任務間的任務點則可以發生在同一個位置上,比方在送貨任務中,任務的起始點都是物流中心,或者在取貨任務中,任務的的終止點都是物流中心。本研究定義,一般快遞任務的內容,主要是先到起始點去取貨,再到終止點去送貨。
1設定快遞問題在各階層所佔的數量 正常框

  圖7所示,任務數則為7個,node服務點數為 14個;其中任務數:服務點數比值固定為1:2。在編號12之任務點,分別屬於任務1的取貨點與送貨點,而任務6的取貨點就是編號11之服務點,送貨點則為12。由圖並可知道取貨點一定先行到達,再行至送貨點。

7車輛繞徑問題示意圖

  在此設定每個族類是由不同車輛數所組成,以了解快遞派車問題中出車數多少,何是較佳的決策。如圖8,假設為五個族類的設計,這些族類的編號,剛好是各政策(族類)一日必須出車的數量。

8、族類設計

  關於使用族類競爭演算法中的運算子在運用上,選擇運算子用輪盤法決定各群落的生存比例,群落適應度佳者所分配的生存比例會愈高。修復運算子負責修復個體(車子)基因,若違反體積限制、順序限制、時窗限制,則需進行修復。對問題上,族類競爭演算法目標式為: 
總成本 = 車輛變動成本*權重一 + 車輛固定成本*權重二 +
      全日違反時窗限制成本*權重三 + 半日違反時窗限制成本*權重四

:全日違反時窗限制成本是指,任務送達時間違反下午17點前送達所作處罰成本,半日違反時窗限制成本指,任務無法在指定半日時段送達8-12點或13-17所作處罰成本。 
     
                                              5. 實驗檢測設計與結果
5.1. 檢測設計
(檢測一) 隨機服務點之族類競爭演算法求解測試,分別利用RA來測試隨機均勻題庫(Random)、隨機叢集題庫(Group)、隨機集散地題庫(Central)RA演算法之績效。其中隨機均勻題庫的設計在於隨機建立服務點位置資料,並隨機建立任務內容;隨機叢集題庫設計在於,隨機建立服務點位置資料,並在建立任務資料時,取任務之取貨點與送貨點之距離為75之距離單位;而隨機集散地題庫則在四個50*50單位距離的小地域中隨機建立服務點資料,並隨機建立任務資料
此檢測步驟如下為,任務數從5101560累加,每個任務數執行十次演算法運算,每次運算紀錄最佳成本解的車輛數、路線、適應度變化頻率之後,在每個任務的十次重複實驗中,找出最佳成本解的best caseworst caseaverage case

(檢測二) 利用固定題庫27道為資料庫,其中27道題庫,前9道為均勻題庫,10~18道為均勻但是任務之兩點距離為50單位距離之叢集題庫,19~27道為集散地題庫;三種題庫的差異在於,任務的服務點位置配置,有所不同。

(檢測三) 此檢測是為了測試RA各參數的設定之敏感度分析,在對每個參數檢測中,使用9個固定題庫,其中前三個,是均勻題庫,中間三個是叢集題庫,後面三個則是集散地題庫;而任務數的增長則為5203050。測試項目如下:
a.群落間與群落內交配分配率;        0.6 : 0.4 : 0.5 : 1 : 0
b.群落內交配次數;                1 : 3: 5 : 10
c.族類消長參數設定;                       2 : 6 : 8

5.2檢測之結果與分析
(檢測一結果)  在此檢測中,tabu RA是在修復模組中沒有禁忌演算法RA;另外multi GA是指沒有禁忌修復模組,亦無族類競爭模組,也無群落間交配,但保有RA的編碼資料結構,且擁有多次進行族內任務交配(multi的命名由來),與傳統GA相似。
如圖9可以看出,group(RArandomgroup題庫)的成本最低,這是因為group任務之取貨點與送貨點這兩點距離較小之因,故使成本較小之故,no tabu RA(random均勻題庫)multi GA(random均勻題庫)的成本則差不多,互有勝負,在35 missions前是平分秋色,之後則是multi GA,略勝一籌;此兩演算法是隨機題庫較有績效的random均勻題庫下跑RA,其成本最佳解是比較差的,centralize(RArandomcentralize題庫)random最佳解平均較好,則是因為centralize的任務點分布較集中於四小區域,於是距離較短之故。

9隨機題庫成本最佳解趨勢圖(average value)
(檢測二結果)
a.固定題庫之average case結果
10為各演算法成本最佳解之平均趨勢圖,所含有的演算法包括RAtabu multi GAGAsingle RA;其中tabu multi GA是有RA的編碼結構,加入了tabu repair模組、且進行多次群落內交配機制;single RA,則設定RA的群落間與群落內交配之分配率為0,即便只做群落內交配運算,且只做一次群落內交配,與傳統GA的差異所在,在於擁有族類競爭模組;由圖可觀察到,其趨勢折線圖以GA的最佳成本解為較佳(折線愈下方愈好)tabu multi GA則緊跟在後,再者為single RA以及RA。這圖可以看出,RA的兩種演算法所求得的最佳成本解,皆比GA的結果為差。在任務少於25個時候,四個演算法並看不出成本解的優劣所在,但任務多於25時,則以GA表現較好,或許,以GA簡單的機制,較穩定的朝最佳解搜尋,對於較佳解的編碼結構不致造成劇烈的震盪。

10固定題庫的各演算法成本最佳解趨勢圖(average case)
b. 固定題庫之頻率結果
11是為適應度的改變次數趨勢圖,可發現tabu multi GA的改變次數相對其他三個演算法來的較少,這可能是,對於較佳解比較快找到,以致提早收斂,收斂快速的原因,可能在於tabu修復模組以及多次群落內交配之故。

11固定題庫之適應度改頻率趨勢圖
c. 固定題庫之執行時間結果
12是各個演算法所執行的時間趨勢圖,從圖中明顯可以看出,tabu multi GA其執行實驗的時間會較長,是因使用多次的群落內交配機制,讓執行運算更加複雜。另外,對於single RA,可以明顯看出,其執行時間相對下是最少的,與GA比較起來,是多了一個族類競爭模組,因為族類競爭模組會減少適應度不佳之族類其群落數,所以會使得single RA在執行時間上,不需處理太多的群落數進行演算,故single RA在時間上有其優勢。

12固定題庫之執行時間趨勢圖
檢測二顯示出y傳統GA演算法在任務趨多時,對於求解最佳成本解有相對優勢。但是此處的GA亦非是純基因演算法(pure GA),它是屬於多層次的GA,即具RA的編碼結構,可提升平行搜尋最佳解的能力,此外,加上族類競爭模組便形成簡單之族類競爭演算法(single RA),若再加上群落間交配模組,以及禁制修復模組,則變成未改良前的RA
(檢測三結果)
a. RA族群間與族群內交配分配率之參數檢測
如圖13所示,分配率為0的結果比較好,此設定亦表示若只有群落內交配,會得到較佳的成本最佳解。此外,各分配率的數值大抵呈現由10.60.50.40逐漸減少最佳成本,也就是分配率數值減少,對於RA績效的提升是有幫助的。

13RA之族群間與族群內交配分配率趨勢圖
b. RA群落內交配次數之參數檢測
於圖14所示,大抵交換次數多寡,並不會影響到最佳成本解的結果差異,從圖中,亦發現只做一次群落內交換,相對於其他多次交配的折線,有稍微改善成本解,這可能在於,較佳的群落,做較小變動的編碼改變,會比較能得到穩定的積效成長。

     
14RA之群落內交配次數趨勢圖
c. RA268族類消長係數檢測
15可以說是本研究中,最重要的一個參數檢測,由圖中明顯可觀察出隨著族類消長係數的增加(2comp6comp8comp),並隨著任務數增加,其最佳成本折線,便向下挪移,故可以說令其族類競爭模組中的族類競爭消長係數,值愈大,則成本最佳解愈好之。

15RA268族類消長係數趨勢圖(27個題庫)
檢測三的數據相當有用,例如只使用群落內交配,並只進行一次群落內交配,將可改善RA之績效,但這也說明了,為什麼GA可以比RA有效率,乃因GA只做群落內交配,也僅做一次群落內交配之故。並且,若族類競爭消長係數愈大,則改善成本的績效表現也較好。總結這大項檢測,另行檢測改良後的RAGA之最佳成本解之績效。
16可以看出,改良後的RA(只使用群落內交配,並只進行一次群落內交配,且無tabu修復模組)在族類競爭模組中的族類競爭消長係數設定為8的情況下,其最佳成本解是來的比GA(當任務數愈多,成本下降),故可說包含族類競爭模組設計的RA,確實比傳統GA所求得最佳成本解來的節省成本。

16固定題庫之GA8comp RA演算法趨勢圖(27個題庫取平均值)
  如表3所示,在50個任務時,GA和改良後RA之最佳成本解,有極顯著之差異在(=0.01),並且RA的成本解是優於GA的成本解的。

38comp RAGA之成對檢定(50missions)

6. 本研究之結論
本研究從分析問題到規劃求解模式,進而設計RA並改良RA,得到成果如下:
(1) RA提供物流中心車輛分派問題之一個新解法
RA是不必將問題分成許多小問題,求得各小問題的最佳解,而可在一次演算中,便解決指派問題與繞徑問題,甚至可以找到最適合完成問題的車輛數以及車輛種類,不只如此,還可以總覽其他次佳解的績效結果。優點RA在處理問題之任務數量上,並沒有上限;在處理異種車輛上,也無限制;在處理時間上,因族類競爭模組將系統資源集中運算之故,可以節省大量的運算時間,一般而言25個任務,只稍2分鐘便可以得到最佳成本解(使用電腦之CPU 3.0 G);因此RA若應用在實務上,將有不可限量之發揮空間。
(2)RA之穩健性
RA最有貢獻之模組,即為族類競爭模組,其原理,是將適應度較佳的族類,增長其群落數量,適應度較差的族類,則消減其群落數量,如此,便可以將電腦運算資源投入有價值,且有改良潛力的族類上,並藉由平行搜尋有價值的群落,得到最佳的解。相信一般GA可以解決的問題,RA應是可以解決,若GA能加入族類競爭模組,成為RA,相信對於績效,會有所改善。並且,RA非常合適應用在多種決策熟劣的問題上,此外,若能將一般問題設計成多種政策,套入RA進行演算,將可依循本研究所提出之解題模式進行架構。
本研究是觀察自然界中物種競爭現象,進而思考出此RA啟發式演算法。族類演算法現階段只是提供一個簡單的競爭機制,而後續研究,若能將生態學所提供的廣泛知識,拿來改善RA,或許將得到另一個嶄新的研究空間,引此提出未來之研究方向:繼本研究後,最大的問題,是解決動態之物流中心車輛分派問題,此問題是車輛自物流中心出發後,乃因臨時性的任務加入,或者因任務的內容變動,使得車輛行駛路線必須變動之。

參考文獻

[1]吳亮瑩,「單一物流中心配送車輛途程問題之研究」,國立成功大學工業管理研究所碩士論文,民國88年。
[2]Bagchi, S., Uckun, S., Miyabe, Y., and Kawamura, K., "Exploring Problem-Specific Recombination Operators for Job Shop Scheduling", Proceedings of the Fourth International Conference on Genetic Algorithms 10-17, 1991.
[3]Blanton, Jr. J. L. B. and Wainwright, R. L., "Multiple Vehicle Routing with Time and Capacity Constraints using Genetic Algorithms", Proceedings of The Fifth International Conference on Genetic Algorithms 452-459, 1993.
[4]Chin, A. J., Kit, H. W. and Lim, A., "A New GA Approach for the Vehicle Routing Problem", Proceedings. 11th IEEE International Conference on, Tools with Artificial Intelligence 307–310, 1999.
[5]Drummond, L. M. A., Ochi, L. S. and Vianna, D. S., "An asynchronous parallel metaheuristic for the period vehicle routing problem", Future Generation Computer Systems 17: 379-386, 2001.
[6]Lotka, A., "The stability of the normal age distribution", Proceedings of the National Academy of Science 8: 39-345, 1925.
[7]Juliff, K., "A Multi-chromosome Genetic Algorithm for Pallet Loading", Proceedings of the Fifth International Conference on Genetic Algorithms, pp.467-473, 1993.
[8]Poon, P. W. and Carter, J. N., "Genetic Algorithm Crossover Operations for Ordering Applications", Computers and Operations Research 22-1:135-147, 1995.

[9]Volterra, V., "Variations and fluctuations of the numbers of individuals in animal species living together", Reprinted in 1931 in R. N. Chapman, Animal ecology, New York; McFraw-Hill, 1926.

沒有留言: