我正在爲自動化大學課程表編寫一個應用程序,並用於此遺傳算法。但現在我遇到了一些實現問題。課程表組成的遺傳算法
剛開始時我假設我們有1個時隙(時隙= 1小時)的持續時間類,我們可以簡單地把它放在數組中(表示時間表網格:一維數組的容量爲numberOfRoom * numberOfDays * numberOfTimeslots),並且可以執行突變和交叉以及沒有問題。
但知道我想改進應用程序,並允許有幾個時間段的持續時間類。這裏出現了很多問題:
我們怎樣才能把一個類對象放入一個數組中,並填充哪個類必須佔用的所有槽(幾個數組單元格)(一個對象 - 幾個單元格)? 並且遵從我們如何將它放入數組中,可以如何執行變異和交叉操作? 在此先感謝!我非常感謝你的幫助!
hm,不確定是否只跨越持續時間相等的班級是一個好主意,因爲在我們要跨越的區域中,父母都不能擁有這樣的持續時間。 因此,在使用DailyRoomOccupation結構的想法中,建議存儲填充了DailyRoomOccupation對象的List(與房間數量的大小),而DailyRoomOccupation對象又具有爲房間安排的課程,對吧?如果我們將這些操作符執行到DailyRoomOccupation,那麼我們將無法使用這些操作符重新排列對象內部的類,如果我們執行操作符,則可以解釋如何執行交叉和變異,如果 – 2012-04-13 20:35:25
...延續 DailyRoomOccupation中的類,那麼我們面臨的問題是我剛開始描述的問題( – 2012-04-13 20:43:45