Parallel Computing Toolbox ソフトウェアを使用した調整の高速化
固定構造制御システムを調整するための systune
、looptune
、hinfstruct
(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
を既に作成している場合、次のコマンドは並列計算を使用して、systune
で CL0
の制御システムを調整します。
[CL,fSoft,gHard,info] = systune(CL0,SoftReq,Hardreq,options);
並列プールの設定の詳細については、Parallel Computing Toolbox のドキュメンテーションを参照してください。
参考
parpool
(Parallel Computing Toolbox) | systuneOptions
| looptuneOptions
| hinfstructOptions
(Robust Control Toolbox) | musynOptions
(Robust Control Toolbox)
関連するトピック
- 並列基本設定の指定 (Parallel Computing Toolbox)