[請益] Matlab最佳化abaqus目標函數 限制條件
大家好~
想跟鄉民大大們請教一下!!
小弟我利用MATLAB對某個結構問題作最佳化計算。
目標函數值與限制條件值利用abaqus分析結果得到,而
Matlab最佳化模組用的是 fmincon。
在每一次迭代中,目標函數值與限制條件值我只需要用abaqus
計算一次便可取得這兩個值。
但是在fmincon的input格式中,我需要分別 define 目標函數與限制條件並輸入。
這意味著我在一次迭代中,我要作了兩次abaqus計算來定義Matlab的目標函數與限制條件!!
請問有甚麼辦法去避免徒勞的一次計算!!有辦法在matlab語法上去修正嗎??
謝謝~~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.190.37
※ 文章網址: https://www.ptt.cc/bbs/Cad_Cae/M.1537952457.A.016.html
→
09/27 11:12,
6年前
, 1F
09/27 11:12, 1F
跑abaqus這個動作我還是必須寫在目標函數的m檔裡,但是在fmincon模組裡,
提取限制條件的順序似乎不見得一定是在目標函數後面。
我有試過把限制條件值回傳到全域變數,我想這效果應該跟gomi大是一樣的意思,
然而我去觀察fmincon每一次的迭代算出來的限制條件值,有時候是上一步的值
有時候是當下這一步的值。很奇怪@@
※ 編輯: caron0225 (60.248.190.37), 09/28/2018 16:27:39
※ 編輯: caron0225 (60.248.190.37), 09/28/2018 16:28:04
推
09/29 01:24,
6年前
, 2F
09/29 01:24, 2F
→
09/29 01:24,
6年前
, 3F
09/29 01:24, 3F
ab可以一次跑出兩個數值,問題是我想要直接套用fmincon的模組,而input是函數而非一
個值。
我可以在目標函數的m檔裡,執行abaqus並且同時得到目標函數值與限制式值。雖然利用
global把限制式值變成全域變數,並且另外寫一個function的m檔來輸出該值。但是卻遇
到fmincon本身演算法呼叫目標函數與限制式兩個m檔的時機並不一致的問題。
※ 編輯: caron0225 (60.248.190.37), 09/29/2018 13:53:43
→
09/29 21:00,
6年前
, 4F
09/29 21:00, 4F
→
09/29 21:01,
6年前
, 5F
09/29 21:01, 5F
→
09/29 21:03,
6年前
, 6F
09/29 21:03, 6F
→
09/29 21:03,
6年前
, 7F
09/29 21:03, 7F
推
09/30 09:22,
6年前
, 8F
09/30 09:22, 8F
→
09/30 09:22,
6年前
, 9F
09/30 09:22, 9F
推
09/30 09:45,
6年前
, 10F
09/30 09:45, 10F
→
09/30 09:45,
6年前
, 11F
09/30 09:45, 11F
Cad_Cae 近期熱門文章
PTT數位生活區 即時熱門文章