簡體   English   中英

無需導數的二維最小化,並且可以隨時忽略某些輸入參數

[英]2-Dimensional Minimization without Derivatives and Ignoring certain Input Parameters on the go

我有一個函數V,它取決於兩個變量v1和v2,以及一個包含15個參數的參數數組p。 我想最小化關於v1和v2的Function V,但是我的Function沒有封閉的表達式,因此我無法構建和使用導數。

問題如下:為了計算我的函數的值,我需要兩個4x4矩陣的特征值(在概念上應該是對稱且實數的,但有時EigenSolver不會獲得真實的特征值)。 我使用特征包計算的這些特征值。 矩陣的條目由v1,v2和p給出。

在某些特定的輸入集中,某些本征值變為負值。 這些是輸入集,在計算時我會忽略它們,因為它們將導致復雜的函數值,並且我的函數僅具有實數值。

有沒有辦法包括這個? 我的第一個嘗試是使用GSL庫的Nelder-Mead-Simplex算法,如果特征值之一變為負,則該函數的輸出值會過高,但這是行不通的。

感謝您的任何建議。

對於Nelder-Mead單純形,除非它們具有所需的屬性,否則可以拒絕新點作為單純形的頂點。

人為地增加禁忌點的函數值的方法也稱為罰分或障礙函數 您可能需要重新設計懲罰功能。

沒有導數的另一種優化方法是模擬退火方法。 同樣,您可以修改方法以避免禁點。

“不起作用”是什么意思? 需要太長時間嗎? 結果函數值是否太高?

取決於功能評估成本,這可能是一種簡單的方法,即掃描2D間隔,評估所有寬度x高度功能值並在功能值最低的圖塊中向下鑽取。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM