什麼是基因演算法
其實我不是很懂基因演算法(或遺傳演算法),偶爾在電子郵件信箱中收到一位來自新北市老師的信,她希望我能幫忙在利用基因演算法安排課表的研究上提供協助,很遺憾的是,我沒有幫得上忙。但是在書信往返的過程,我找了一些網路上的資料,也想利用這個想法來設計自動排課的功能。目前它尚未完成,我也沒有把握它會完成。但我想在這裏提出,也許有人會願意和我一起想辦法。
基本上基因演算法是採用演化的概念來操作,我的構想是,先利用最少限制的方法隨機產生兩個全校課表,只限制在限制排課設定,其餘不設限,計算出這個親代的懲罰值(這是那位老師的用詞,就是不符合條件的情況以數值來表示)。再以兩個課表的某一天來做交配,亦即交換一天的課表,然後進行處理,去除可能多排或是補入少排的課,如此可以產生變異,也可以再利用調課的操作來產生變異。 交配可以產生五個子代,各子代計算懲罰值,找出懲罰值最少的兩個子代來做為親代,進行交配,如此重覆進行,直到設定的交配代數或是懲罰值。
在20160314時,我的進度只把親代的課表產生了,但是還在想如何計算出懲罰值。歡迎有人來指教,提供意見和想法。
在20200730時,我放棄了這個項目了。
基本上基因演算法是採用演化的概念來操作,我的構想是,先利用最少限制的方法隨機產生兩個全校課表,只限制在限制排課設定,其餘不設限,計算出這個親代的懲罰值(這是那位老師的用詞,就是不符合條件的情況以數值來表示)。再以兩個課表的某一天來做交配,亦即交換一天的課表,然後進行處理,去除可能多排或是補入少排的課,如此可以產生變異,也可以再利用調課的操作來產生變異。 交配可以產生五個子代,各子代計算懲罰值,找出懲罰值最少的兩個子代來做為親代,進行交配,如此重覆進行,直到設定的交配代數或是懲罰值。
在20160314時,我的進度只把親代的課表產生了,但是還在想如何計算出懲罰值。歡迎有人來指教,提供意見和想法。
在20200730時,我放棄了這個項目了。