実現したいこと
- MATLAB のGlobal Optimization Toolbox で最適化する関数にCOMSOLモデルを含みたい
前提
MATLAB のGlobal Optimization Toolbox 内の関数 gamultiobj を用いてベジェ曲線の制御点を最適化したいと考えています. 最適化する目的関数が流路の圧力損失であるため,流体解析にCOMSOLを用いています.
発生している問題・エラーメッセージ
ModelUtil.createが解決できません
該当のソースコード
MATLAB
1"main.m"(一部抜粋) 2〜〜〜〜〜〜〜〜〜 3gamultiobj(@evaluation,nvars,A,b,Aeq,beq,lb,ub,nonlcon,intcon,options) 4〜〜〜〜〜〜〜〜〜 5 6"evaluation.m"(一部抜粋) 7function obj = evaluation(x); %%% x is control point of bezier curve, obj is objective value8〜〜〜〜〜〜〜〜〜 9model = ModelUtil.create('Model'); 10〜〜〜〜〜〜〜〜〜
試したこと
パラレルオプションを使用しています.
import com.comsol.model.*
import com.comsol.model.util.*
addpath(〜〜/mli)
は追加しています.
また,mphstartをparforで行うことでCOMSOL サーバーに接続できていることは別の関数で順解析を行うことにより確認しました.
補足情報(FW/ツールのバージョンなど)
MATLAB 2022a
COMSOL 6.0

0 コメント