最終更新日 2014年9月25日

非線形計画法(内点法)



制約条件下での非線形の最適値を内点法で求めます


内点法は制約式を満たし目的関数が減少(増大)するKKT条件範囲を内点として
内点を微小に移動しながら目的関数が最適になる点に到達します。



内点法ロジック


(1) 計算例(等式制約)

制約式としては2直線上の点とします
  y = 0.5x
  y = -x + 2
2直線上で目的関数は半径が最も小さい円周上の点を求めます。
  x**2 + y**2


入力データ

最適化する関数と等号制約を式で与えます


計算結果


2つの直線上の点で円の半径が最小になる様に内点を移動して求めています





(2) 計算例(不等式制約)

制約式としては不等式を満たす共通の領域とします
  y >= 0.5x
  y >= -x + 2
目的関数は領域内で半径が最も小さい円周上の点を求めます。
  x**2 + y**2


入力データ

最適化する関数と不等制約を式で与えます

不等制約を等号制約にするためスラックス変数 t と s を導入します
  y >= 0.5x   →  y = 0.5x + t
  y >= -x + 2  →  y = -x + 2.0 + s
  t >= 0   s >= 0


計算結果


2つの直線で定義される領域内で円の半径が最小になる点を求めています








戻る