1 ペナルティ法の基本

1.1 最適化問題の定式化

1.1.1 制約付き最適化の一般形

ペナルティ法が対象とする基本形は、制約条件を満たす解の中で目的関数を最小化(または最大化)する問題である。典型的には、目的関数を \(f(x)\)、変数を \(x\)、等式制約を \(h(x)=0\)、不等式制約を \(g(x)\le 0\) として、次のように書ける。

\[ \min_x \; f(x)\quad \text{s.t.}\; h(x)=0,\; g(x)\le 0 \]

ここで、制約は探索領域を絞り込む役割を持つ一方、直接的に制約付きの解を求めることは難しい場合がある。ペナルティ法はこの困難さを、制約違反を測る量を目的関数へ組み込むことで軽減する。

1.1.2 目的関数と制約条件の役割分担

ペナルティ法では、元の目的関数 \(f(x)\) と、制約違反に対応する罰則項が合成される。合成後の目的関数は一般に

\[ \min_x \; f(x) + \rho \, P(x) \]

の形を取り、\(\rho\) はペナルティ重み、\(P(x)\) は制約違反の大きさを表す関数である。直観的には、違反が大きい点では罰が増え、探索は実行可能領域(制約を満たす領域)へ引き寄せられる。逆に、制約違反が十分小さくなれば、主役は元の目的関数に移る。

このため役割分担は「罰則項が制約充足を促し、目的関数が最適性を規定する」と整理できる。設計焦点は、罰則項の形と重み \(\rho\) の扱いになる。

1.2 ペナルティ項の考え方

1.2.1 制約違反の指標

制約の違反度合いを目的関数に加えるには、違反を数値として評価する指標が必要である。等式制約 \(h(x)=0\) では残差 \(h(x)\) をそのまま違反として扱いやすい。例えば \(h(x)\) が零からどれだけ離れているかが違反の大きさに相当する。

不等式制約 \(g(x)\le 0\) では、違反は通常「上回った分」で表す。そこで、\(\max(0, g(x))\) のように、許容される領域ではゼロ、違反しているときのみ正の値が出る指標がよく用いられる。このようにして、実行可能領域では罰が 0、違反領域では正の罰が付く形が構成される。

1.2.2 罰則関数としての設計原理

ペナルティ項 \(P(x)\) は、少なくとも次の性質を満たすと扱いやすい。

  1. 実行可能領域で最小値(通常は 0)を取る
  2. 制約違反が大きくなるほど増加する
  3. 最適化アルゴリズムが利用する微分勾配やヘッセ行列)との整合が取れている

代表例として、二乗型は違反の大きさを強く増幅し、勾配が滑らかになりやすい。一方、絶対値型は非微分点を含むことがあり、その場合はサブグラディエントや近似に頼る必要が出る。さらに「大域的に良い探索」を目指す場合、罰則の増え方が急すぎると数値的な挙動が硬くなることがあるため、滑らかさと誘導力のバランスが重要になる。

1.3 ペナルティ係数(重み)の意味

1.3.1 係数が解に与える影響

重み \(\rho\) を大きくすると、合成目的関数の最小化は制約違反の抑制をより強く優先する。したがって、\(\rho\) が小さい初期段階では「目的関数の改善」を優先する解が出やすく、実行可能性は必ずしも高くない。逆に、\(\rho\) を増やすにつれて違反が抑えられ、解は制約面へ近づく。

だし、\(\rho\) を単純に無限に大きくするのは実装上不可能である。大きな \(\rho\) は最適化の地形を急峻化し、局所探索が不安定になったり、収束判定が難しくなったりする。よって実際のアルゴリズム設計では「十分に大きいが、数値的に破綻しない」領域を探すことになる。

1.3.2 厳密性と数値性のトレードオフ

ペナルティ法は、理想的にはペナルティ重みを十分大きくした極限で、制約を満たす解へ近づく。しかし現実には、有限の重みで得られる解は通常、制約を完全に満たさない(近似的に充足する)ことが多い。

また数値安定性の観点では、罰則項が支配的になると、目的関数側の滑らかさやスケールが相対的に薄まり、ニュートン型手法で使う行列の条件数が悪化しやすい。さらに、二乗型では残差が大きいと罰が急激に増え、オーバーフロー丸め誤差の影響が出る場合がある。結局のところ、制約充足の厳密さと、計算が成立する範囲での安定性を同時に満たす調整が要点となる。

2 ペナルティ法の代表的な種類

2.1 二乗ペナルティ

2.1.1 等式制約への適用

等式制約 \(h(x)=0\) に対する二乗ペナルティは、残差の二乗を罰として用いる。典型形は

\[

P(x)=\|h(x)\|^2

\]

であり、\(\rho\|h(x)\|^2\) を目的関数へ加えることで、解が制約面へ押し戻される。二乗型は違反が大きい領域での罰が急増するため、実行可能性の改善を早めに促しやすい。

2.1.2 不等式制約への適用

不等式制約 \(g(x)\le 0\) でも、違反部分だけを二乗する形が用いられる。例えば

\[ P(x)=\max(0,g(x))^2 \]

とすれば、許容領域では罰が 0、違反領域では正の値になり、違反の増大に応じて二乗的に罰が増える。二乗型は滑らかさをある程度確保できる一方、境界付近の挙動では導関数が連続にならない場合もあり、実装では微分可能性の確認が必要になる。

2.2 罰則付きラグランジュ的手法との関係

2.2.1 ラグランジュ乗数法の位置づけ

ラグランジュ乗数法では、制約を目的関数へ直接加えるのではなく、乗数 \( \lambda \) を用いて制約を等式として扱う。ペナルティ法は「乗数を明示的に導入せず、違反を罰としてのみ処理する」傾向が強い一方、両者は密接な関係にある。特に、重みを段階的に増やす挙動や、制約へ近づく極限の考え方は、乗数法と相互に解釈できる場面がある。

2.2.2 ペナルティと乗数の併用

実務では、二つの枠組みを組み合わせ、より安定に制約を満たすことを目指す場合が多い。例えば、初期にペナルティで実行可能性を促しつつ、反復ごとに乗数に相当する量を更新して制約面での方向づけを改善する手法がある。併用の狙いは、単独のペナルティ法で生じがちな「重み増加による数値条件の悪化」を緩和する点にある。これにより、収束速度精度の双方を狙う設計が可能になる。

2.3 バリア型ペナルティ(反復適合型)

2.3.1 実行可能領域の近傍での挙動

バリア型では、解が許されない領域へ踏み込むこと自体を強く阻む。典型的には、制約違反が生じる境界に近いほど罰が発散する形が採用される。たとえば不等式制約 \(g(x)<0\) を満たすべき場合、境界 \(g(x)=0\) への接近で目的関数が急に上昇するような罰則を作り、探索が内部(実行可能な側)から離れないよう誘導する。

その結果、ペナルティが「違反後に罰する」のに対し、バリアは「境界に近づくほどコストが跳ね上がる」性格を持つ。実行可能性が破られにくい反面、境界近傍では目的関数の形が極端に曲がり、数値計算が難しくなることがある。

2.3.2 大域的探索との相性

バリア型は、制約を満たす領域の内部から出発する前提が置かれやすい。このため、初期点の選び方に依存しやすく、大域的な探索(幅広く探索してどこかに到達する)との相性は一様ではない。反復適合型では、近似を通じて探索を維持しながら制約境界へ寄せていくため、適切な初期化や更新規則が性能を左右する。

一方で、局所的にうまく初期点が与えられるなら、制約充足の一貫性が得られやすい。したがって「初期点が扱える範囲で用いる」ことが現実的な選択となる。

2.4 絶対値ペナルティとスパース性の話題

2.4.1 非微分性の扱い

絶対値ペナルティは、違反量に対して線形に増える罰として設計されることがある。例えば等式制約に対しては \(\|h(x)\|_1\) に相当する指標を使う、あるいは不等式では \(\max(0,g(x))\) をそのまま用いるなどが考えられる。線形増加のため、二乗型に比べて急激な罰の増大が抑えられることがある。

ただし絶対値は原点付近で非微分であるため、勾配法だけで扱いにくい場合がある。そこでサブグラディエント法や、滑らかな近似(例:絶対値の平滑化)を用いることで、最適性条件に基づく更新を実現する。

4.4.2 近似手法と最適性条件

非微分性を含む場合でも、近似を導入して滑らかな目的関数へ置き換えることで数値的に解く道が開ける。近似の一貫性(近似が小さくなったときに、元のペナルティに近づくこと)を保証する設計が重要である。最適性条件の解釈も微妙で、通常の微分可能な場合と同様の一次条件がそのまま適用できないことがある。

そのため実装では「どの意味での最適性を目指すか」を明確にし、近似パラメータの扱いも含めて全体の整合性を確認する必要がある。

3 数値計算と解法アルゴリズム

3.1 ペナルティ付き問題の解き方

3.1.1 勾配法・準ニュートン法の適用

ペナルティ法では反復内側として「罰則付き目的関数」を通常の無制約最適化として解く。勾配法は実装が簡単で、罰則の微分が計算できる場合に適用される。準ニュートン法はヘッセ行列を明示的に計算せず、勾配情報から近似を更新して探索を進める。

ただしペナルティ項は重み \(\rho\) に比例してスケールが変わるため、学習率(ステップ幅)の調整が必要になりやすい。さらに罰則が急峻になる局面では、勾配の大きさが過度に増えて不安定化する場合があるため、線形探索や信頼領域の考え方を併用することが望ましい。

3.1.2 ニュートン法とヘッセ行列の扱い

二次情報を活用するニュートン法では、ヘッセ行列(またはその近似)が計算負荷と数値安定性の両方を左右する。二乗ペナルティはヘッセ行列を比較的構成しやすいことが多いが、重みが大きいと行列が硬くなり、条件数が悪化しやすい。結果として、線形方程式の解法部分で誤差が増幅されることがある。

この対策として、ダンピング(減衰)付きのニュートン法や、正則化項を加えて行列の可逆性を確保する手法が取られる。目的は「制約充足を促すためにペナルティを強めても、数値計算が破綻しない形を維持すること」である。

3.2 罰則係数の更新戦略

3.2.1 固定係数と段階的増加

最も単純なのは、重みを固定して一度だけ最適化し、得られた点の制約違反が十分小さいかを評価する方法である。ただし精度を上げたいときは、重みを変えながら複数回解く戦略が採られることが多い。

段階的増加では、反復ごとに \(\rho\) を一定倍率で大きくする、あるいは段ごとに手動調整する。増加が速すぎると数値が不安定になり、遅すぎると制約違反が長く残る。したがって、違反指標の減少傾向を見ながら倍率を調整する設計が現実的である。

3.2.2 収束判定に基づく更新

収束判定に基づく更新は、目的関数の変化だけでなく、制約違反の減少度合いも条件に含める。例えば、制約残差のノルムがある閾値以下になれば重みをこれ以上増やさない、といったルールが用いられる。逆に、制約違反が改善していない場合は重みを上げて探索方向を切り替える。

この戦略は、問題によって最適な重みの増やし方が異なる点を吸収できる。さらに「目的関数の改善は進むが制約が改善しない」といった状況で、更新を合理的に選びやすい。

3.3 機械的な実装上の注意

3.3.1 スケーリングと単位系の影響

ペナルティは目的関数と同じスケールで比較される必要がある。変数や制約の単位系が違うと、同じ \(\rho\) を使っても罰則の強さが全く異なるものになる。例えば、ある制約残差が大きなスケールで出る場合、ペナルティが過剰に支配してしまい、別の制約がほぼ無視されることがある。

このため、変数の正規化、制約関数のスケーリング、罰則係数の初期化(基準となる残差に基づく調整)などが重要になる。スケーリングの設計は、反復の安定性と最終精度の両方に影響する。

3.3.2 オーバーフロー・発散の回避

重みが大きいと罰則項が極端に大きくなり、浮動小数点の範囲を超える恐れがある。二乗型では残差が少し大きいだけでも罰が急激に増えるため、これが顕著になりやすい。さらに、線形探索が働かないケースや、ヘッセ行列の条件が悪いケースでは、ステップが大きくなって発散する可能性がある。

回避策として、罰則項の上限クリップや、対数や正規化を用いた安全な評価、信頼領域によるステップ制限などが考えられる。加えて、更新戦略で \(\rho\) の増加率を抑え、違反が十分小さくなったら固定する運用が有効である。

4 理論的性質と実務上の評価

4.1 解の収束(直感的な説明)

4.1.1 罰則を増やしたときの制約充足

ペナルティ法の直観は、重みを強めることで制約違反をより高コストにしていくことである。すると最小化は「違反しないことが有利になる」側へ移り、最終的に解は実行可能領域の近傍へ寄る。特に、ペナルティ項が違反の大きさを単調に増加させ、実行可能点で 0 を取るよう設計されている場合、重み増加とともに違反が抑制される方向性が得られる。

もちろん、実務では重みを無限大にできないため、制約残差はゼロになり切らないこともある。その場合でも「重みを上げた分だけ誤差が縮む」ような挙動が観測されることが多い。

4.1.2 極限挙動と近似解の性質

理論的には、重みが極限で成り立つ性質(制約付き解への近づき方や、目的関数値の収束)が議論される。ただし一般の非線形問題では、どの仮定のもとで何が保証されるかが複雑になりやすい。直感的には、ペナルティ法は「制約付き問題の解を、罰則付き問題の最小解として近似する」手法と見なせる。

この近似は、ペナルティ形状と更新規則に依存し、局所解への収束や停留点への到達など、実際のアルゴリズムの挙動は一様ではない。したがって、理論的な収束保証は実装上の条件(初期点や微分可能性、重み更新の仕方)とセットで解釈する必要がある。

4.2 計算量・収束速度の観点

4.2.1 反復回数と計算負荷

ペナルティ法は通常、外側の重み更新と内側の無制約最適化を組み合わせるため、単純な一回の最適化より反復回数が増える傾向がある。内側で計算するのが勾配のみか、二次情報を含むかでも負荷は大きく変わる。

さらに、重みが大きくなると地形が急峻化して必要ステップ数が増えることがある。結果として、総計算量は重み増加の回数、内側反復の停止基準、使うアルゴリズムの種類に左右される。

4.2.2 係数更新が与えるコスト

更新戦略はコストを持つ。例えば制約残差を評価して重みを変更するには追加の計算が必要であり、場合によっては制約のスケーリング推定も要る。さらに、重みを変更すると内側最適化の最適な初期化(前回の解を初期点にする等)や、線形探索のパラメータも影響を受けるため、単純な再実行では無駄が増えることがある。

このため実装では、前回の解を有効に再利用し、停止条件の緩急を段階に合わせるなどの工夫が行われる。

4.3 失敗しやすいケース

4.3.1 罰則の設計不良

ペナルティ項が違反を適切に表していないと、制約違反を抑える圧力が弱くなったり、逆に過剰に強くなって数値が不安定になったりする。例えば、等式と不等式を同じ尺度で扱えない、複数制約の相対重要度が不適切、あるいは違反指標が極端に小さい領域に偏ると、更新しても改善が起きにくい。

また、絶対値型などで非微分性を適切に処理できていない場合、最適性条件の解釈が崩れて停滞することがある。

4.3.2 制約の形状による困難

制約が非線形で、実行可能領域が狭い場合、探索は境界近傍を必要以上に通過し、ペナルティの勾配が急激に変化しやすい。さらに制約が互いに干渉し、局所的に制約面がほぼ平行に近いなどの幾何学的状況では、方向づけが難しく収束が遅れることがある。

また、実行可能点が存在しない(または数値的に到達不能)場合、ペナルティを増やしても違反がゼロへ向かわず、最適化自体が意味を失う。実装では、実行可能性の有無を事前に点検することが実務上重要になる。

4.4 実務での使い分け

4.4.1 ペナルティ法が向く問題

ペナルティ法は、制約の表現が目的関数の形に比べて扱いやすい場合に適性が高い。具体的には、制約関数が評価可能で、違反指標が安定に計算でき、かつ無制約最適化部分を既存のソルバで回せる状況が挙げられる。特に、連続最適化で微分情報を使える場合は、勾配法や準ニュートン法と組み合わせやすい。

また、厳密な制約充足が必須でない(近似で十分)場合には、重みを有限に設定して早期に実用解を得られる可能性がある。計算資源や時間の制約がある現場では、この柔軟性が利点になる。

4.4.2 他手法(制約付き直接法等)との比較

制約付き直接法は、制約をそのまま扱いながら最適解を求めるため、ペナルティのように違反を目的関数へ押し込まないことが多い。したがって、条件によっては制約の厳密性を直接担保できる可能性がある。一方で、実装が複雑になったり、線形化やKKT条件の処理が必要になったりすることがある。

ペナルティ法は「無制約最適化の枠組みに変換する」点に強みがあり、既存技術の転用が容易である。比較では、必要な精度、許容できる計算コスト、制約の種類(等式・不等式、滑らかさ、初期点の扱いやすさ)を軸に選択することになる。