differential-evolution

    2熱度

    1回答

    我遇到了一個優化問題。我需要優化投資回報歐米茄的措施。我發現這樣的建議,可以通過使用DEoptim進行差異化進化(Yollin在R tools for portfolio optimization上的非常不錯的幻燈片,原始代碼可以在那裏找到)。 我試過這個方法適應我的問題(因爲我只改數字,我希望沒有犯任何錯誤全部學分,筆者在這裏爲理念。): optOmega <-function(x,ret,L)

    1熱度

    2回答

    我正在嘗試使用差分進化來根據成本優化可用性。但是,我在這裏有三個未知參數(a,b,c),我可以使用邊界定義範圍。然而,我想定義額外的約束爲a + b + c < = 10000.我正在使用python來做到這一點,我嘗試在差分進化中使用選項「args」,但它沒有奏效。任何信息將不勝感激。

    2熱度

    1回答

    我有一個平滑函數f(x)= sin(x/5)* exp(x/10)+ 5 * exp(-x/2)是在1到30的間隔內找到最小的非光滑函數h(x)= int(f(x))。換句話說,f(x)的每個值都被轉換爲int類型,函數只取整數值。 我使用2種方法從scipy.optimize中找到最小值:minimize和differential_evolution。最小化給我的結果-5而差分進化給出指數錯誤:

    7熱度

    3回答

    我爲我正在做的一個副項目實現了差分進化算法。由於交叉步驟似乎涉及很多參數選擇(例如交叉概率),因此我決定跳過它並僅使用突變。該方法似乎工作正常,但我不確定如果我引入分頻器是否會獲得更好的性能。 主要問題:將交叉引入差分進化背後的動機是什麼?你可以提供一個玩具的例子,介紹交叉超出純粹的突變嗎? 我的直覺是交叉會在二維中產生類似於下面的內容。說 我們有兩個父向量(紅色)。統一交叉可以在藍點之一產生新的

    2熱度

    1回答

    差異進化(DE)和遺傳算法(GA)之間的差異之一是DE丟棄了一個新的候選人,除非它比它從中派生出來的舊候選人更適合,而遺傳算法允許「不適合」可能性。最初DE的方法聽起來不錯,但我認爲這阻止了它解決以下類別的問題。 試想一下,我們正試圖最大化的健康分數: A - [max(0, A - 50) * B] + [max(0, A - 75) * 2 * B] 其中參數範圍從0到100。 最初增加A是有

    1熱度

    1回答

    對於第i類中的分配,需要優化4個10維函數,當實現差分進化時,我注意到所有函數都需要不同的參數設置。通過玩耍似乎特別是當選擇你的交叉率高,你的F約0.5似乎工作正常。 但是在一個函數中,10維的Katsuura函數,我的差分算法似乎失敗了。我嘗試了一堆參數,但保持得分爲0.01。差分進化不適用於某些目標函數嗎? 我試着爲這個問題實施PSO,但也失敗了,所以我似乎認爲這個函數具有某些只能通過某些算法

    0熱度

    1回答

    我一直在玩R中的差分進化庫,我在想:這是一個算法,它是有意義的並行化?在我看來,你可以將優化間隔分成幾個片段,在每個片段上運行算法,然後比較每個片段的結果並返回最小值。

    2熱度

    1回答

    我已經習慣了在遺傳算法(氣)的每個參數可以被表示爲可在指定的時間間隔進行編碼,以一個真實值的二進制串的方法。 我目前編碼一個差分進化(DE)代碼,我還沒有讀到被控制就像他們在GA參數區間任何東西,所以我有點困惑這個過程...這裏是我的問題: 1)是否有任何東西控制DE中的參數間隔?我意識到,任何人都可以修改DE的目的,但我很好奇它是如何傳統使用的。 2)我看你怎麼可以對初始隨機人羣指定的時間間隔,