Optimum runとは
要素の最適化 を行うブロックです。
いわゆる最適化問題の目的関数そのものを入力に持ち、目的関数のパラメータを出力に持ちます。
Optimum runブロックは出力である目的関数のパラメータを、後述するsimplex法や遺伝的アルゴリズムを用いて変化させ、入力である目的関数の値を変化させます。目的関数が規定の値より小さくなるような目的関数のパラメータを探したら、自動的に計算は終了します
制約条件は回路図やブロック線図で自動的に定まります。
Multiple runとの相違点
pscadの(ブロックを引っ張ってくるところ)では、「Similar to Multiple run」と記載があります。
具体的な相違点としては、
- 似ている点:パラメータをかえて複数条件実行できる点
- 違う点:
- Multiple - パラメータは自分自身で設定する
- Optimum - パラメータはダイナミックに決定される(目的関数に応じて)
Input
最小化したい関数
Output
目的関数のパラメータ
Optimum runブロックの入力が0となるように制御をしてくれる
利用例として、PI制御による二次遅れ系の制御を紹介します。
目的関数を=0となるような形に落とし込む
↓
時間を窓関数で切る:ステップ関数と目的関数の積をとる (地絡事故中のみの事故電流を最小にしたいだとか)
↓
(理由は不明だが) 積分
↓
Optimum run
↓
絶対値を取る(2乗で実現している)
↓
バスを分岐して出力