遺傳演算法排課系統
① 遺傳演算法有哪些比較直觀的應用呢
1函數優化
數優化是遺傳演算法的經典應用領域,也是遺傳演算法進行性能評價的常用算例,許多人構造出了各種各樣復雜形式的測試函數:連續函數和離散函數、凸函數和凹函數、低維函數和高維函數、單峰函數和多峰函數等。
2。車間調度
間調度問題是一個典型的NP-Hard問題,遺傳演算法作為一種經典的智能演算法廣泛用於車間調度中,很多學者都致力於用遺傳演算法解決車間調度問題,現今也取得了十分豐碩的成果。
② 如何應用遺傳演算法解決排課問題
c#寫遺傳做排課系統,最起碼應該先知道你的最終要求是什麼,比如把課都排到上午,什麼課最好上午上,你最好能有個約束,沒有約束,隨便怎麼排染色體都行。
我覺得應該是這個步驟:
1、把課程編號,作為染色體的基因(比如1,2,3、、、10,分別代表數學,語文,英語,政治等);
2、隨機排列這些序號,形成n個父代染色體;
3、根據交叉,變異原則形成n個子代染色體;
4、計算父代、子代的合理度T,然後保留最好的n個染色體,循環;
5、結束,輸出最好的染色體,及你的課程號排列;
你說的c++、vb我沒想過,你自己看看,其實要編應該差不多!
你的串號我已經記下,採納後我會幫你製作
③ 什麼是遺傳演算法如何將遺傳演算法應用到排課系統中
遺傳演算法(Genetic Algorithm)是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法,它最初由美國Michigan大學J.Holland教授於1975年首先提出來的,並出版了頗有影響的專著《Adaptation in Natural and Artificial Systems》,GA這個名稱才逐漸為人所知,J.Holland教授所提出的GA通常為簡單遺傳演算法(SGA)。
詳細請參考:http://ke..com/view/45853.htm?fr=ala0_1_1
至於能不能應用到排課系統中,我沒做過不敢說能不能,不過遺傳演算法就是個優化演算法,應該能用遺傳演算法,不過可能比較麻煩。