条件に合うようにパラメータを求める - Optimum Run

Optimum runとは

要素の最適化 を行うブロックです。

いわゆる最適化問題の目的関数そのものを入力に持ち、目的関数のパラメータを出力に持ちます。

Optimum runブロックは出力である目的関数のパラメータを、後述するsimplex法や遺伝的アルゴリズムを用いて変化させ、入力である目的関数の値を変化させます。目的関数が規定の値より小さくなるような目的関数のパラメータを探したら、自動的に計算は終了します

制約条件は回路図やブロック線図で自動的に定まります。

Multiple runとの相違点

pscadの(ブロックを引っ張ってくるところ)では、「Similar to Multiple run」と記載があります。

具体的な相違点としては、

  • 似ている点:パラメータをかえて複数条件実行できる点
  • 違う点:
    • Multiple - パラメータは自分自身で設定する
    • Optimum - パラメータはダイナミックに決定される(目的関数に応じて)

Input

最小化したい関数

Output

目的関数のパラメータ

Optimum runブロックの入力が0となるように制御をしてくれる

 

利用例として、PI制御による二次遅れ系の制御を紹介します。

目的関数を=0となるような形に落とし込む

時間を窓関数で切る:ステップ関数と目的関数の積をとる (地絡事故中のみの事故電流を最小にしたいだとか)

(理由は不明だが) 積分

Optimum run

絶対値を取る(2乗で実現している)

バスを分岐して出力