我正在開發我最後一年的項目,在那裏我正在開發用於時間表優化的遺傳算法。因爲我正在製作隨機染色體代表我的課程時間表,所以一分鐘時間會很順利。我有我的功能健身功能設計,以及潛在的約束,在我被困在我的約束的實際權重的一分鐘。適合在健身功能中違規的權重
我使用下面的函數作爲我的適應度函數:
1/1 +(CI * WCI)
正如詞是違規約束我和WCI正在爲加權量約束
顯然我需要加權高於軟約束的硬約束。
我想知道有任何1使用此技術之前,是否有一個範圍推薦這些重量值?
我正在開發我最後一年的項目,在那裏我正在開發用於時間表優化的遺傳算法。因爲我正在製作隨機染色體代表我的課程時間表,所以一分鐘時間會很順利。我有我的功能健身功能設計,以及潛在的約束,在我被困在我的約束的實際權重的一分鐘。適合在健身功能中違規的權重
我使用下面的函數作爲我的適應度函數:
1/1 +(CI * WCI)
正如詞是違規約束我和WCI正在爲加權量約束
顯然我需要加權高於軟約束的硬約束。
我想知道有任何1使用此技術之前,是否有一個範圍推薦這些重量值?
如果您只是將懲罰添加到個體的當前適應值中,那麼該算法可能會優化解決方案而不會最小化懲罰。如果算法能夠將適應度值降低到比懲罰更高的程度,那麼解決方案會變得更好。在使用罰分時,除了優化質量之外,還應該將搜索引向可行區域。
我會建議假設所有不可行的解決方案都有一個恆定的,但非常差的適應值,您添加了違反約束的數量。例如。目前人口中客觀最差的個人可能是一個足夠的基礎價值。這樣做的好處是,您可以將所有解決方案按照一個順序彙總在一起:不可行解決方案只會在違反約束的情況下相互比較,所有可行的解決方案將與其在全球範圍內的狀況以及在全球範圍內的比較將是可行性與不可行性。
如果你不這樣做,那麼你在整個質量範圍內混合不可行和可行的解決方案。
編輯:我也認爲你的健身功能有問題。你可能錯過了括號。
這取決於你的問題和你的算法工作方式的細節。最優和接近最優的解決方案通常位於約束邊界附近,有時可以從不可行的一側接近它們。你的方法將基本上防止任何不可行的解決方案進入羣體(提供可行的解決方案)。正如你所說,這可能是好的,但也可能是有害的。 – deong
@deong感謝您的諮詢。我希望我解釋得很好,因爲你可以看到我的解決方案會將完美解決方案評爲1,因此我試圖將得分最優化爲儘可能接近1。我在這個不可行的方面有點失落,當然我試圖立即擺脫任何不可行的解決方案? – Melo1991
@DonAndre我試圖給你發電子郵件,我想我找到了你的郵箱地址? – Melo1991