Main Content

Parallel Computing Toolbox ソフトウェアを使用した調整の高速化

固定構造制御システムを調整するための systunelooptunehinfstruct (Robust Control Toolbox)musyn (Robust Control Toolbox) などのコマンドで RandomStart オプションを使用すると、ランダム化された初期パラメーター値を使用して複数の開始点で最適化を実行できます。これを行うと、パラメーター空間で局所的最小値になる、コントローラーの本来の性能が得られないといった可能性が軽減されます。ただし、追加の最適化を実行するための時間がかかります。Parallel Computing Toolbox™ のライセンスがある場合は、並列計算を使用することで、それらの独立した最適化実行をワーカーに分散して調整を高速化できます。

Parallel Computing Toolbox 基本設定 (Parallel Computing Toolbox)[Automatically create a parallel pool] が選択されていない場合、parpool を使用して手動で並列プールを開始します。以下に例を示します。

parpool;

基本設定で [parfor などの並列キーワードが実行された場合に並列プールを自動的に作成する (まだ存在していない場合)] が選択されている場合、手動でプールを開始する必要はありません。

次に、複数のランダムな開始点を指定して UseParallel フラグを true に設定するオプション セットを作成します。たとえば、次のオプション セットでは、systune を使用した調整のために 20 回のランダムな再実行を並列で行うように指定しています。

options = systuneOptions('RandomStart',20,'UseParallel',true);

オプション セットを調整コマンドの呼び出し時に使用します。たとえば、調整可能な制御システム モデル CL0、調整可能なコントローラー、調整要件ベクトル SoftReqs および HardReqs を既に作成している場合、次のコマンドは並列計算を使用して、systuneCL0 の制御システムを調整します。

[CL,fSoft,gHard,info] = systune(CL0,SoftReq,Hardreq,options);

並列プールの設定の詳細については、Parallel Computing Toolbox のドキュメンテーションを参照してください。

参考

(Parallel Computing Toolbox) | | | (Robust Control Toolbox) | (Robust Control Toolbox)

関連するトピック