双対性理論
そうついせいりろん}{duality theory}
双対性理論 (duality theory)は,非線形計画のみならず線形計画,多目的計画,離散凸解析などの分野で主問題とその双対問題の関係,および集合や関数の双対関係を説明する重要な基礎理論である [1, 2, 3, 4].
「双対」 (dual) と「共役」 (conjugate) は元々同義語として用いられ,数学の関数解析の分野では,ノルム空間 上の有界線形汎関数の全体を の双対空間 (dual space) または共役空間 (conjugate space) といい, と表して, における の値を または と書く. が 次元実ユークリッド空間 の場合は, と は同一視でき, となり, は と の内積 となる.以下に述べる事柄は,無限次元空間に対しても拡張できるが,ここでは簡単のため に限定して説明する. 空間 上で定義された拡張実数値関数 に対して(ただし,),
で定義される関数 を の共役関数 (conjugate function) という.共役関数 に対して,さらにその共役関数 を考えることができるが, が下半連続な真凸関数のときには, は に一致する. に を対応させる写像をルジャンドル-フェンシェル変換 (Legendre-Fenchel transform) と呼ぶ.
下半連続な真凸関数 に対して,関数 と をそれぞれ と で定義し,次の問題(P)と(D)を主問題 (primal problem) とその双対問題 (dual problem) と呼ぶ [1, 4].
\begin{center}
\end{center}
構文解析に失敗 (不明な関数「\begin{tabular}」): {\displaystyle \begin{tabular}{cll} (P) & \min_{x\in \mathbf{R}^n} & \hspace*{-5mm} \varphi{(x)} \\ (D) & \max_{y\in \mathbf{R}^m} & \hspace*{-5mm} \psi{(y)} \end{tabular} }
また,
構文解析に失敗 (構文エラー): {\displaystyle U:=\{u\in{\mathbf{R}^m}\,|\:\inf_{x\in{\mathbf{R}^n}}f(x,u)<+\infty\} \quad V:=\{v\in{\mathbf{R}^n}\,|\:\inf_{y\in{\mathbf{R}^m}}f^{*}(v,y)<+\infty\}}
とおくと, と は凸集合となる.このとき,以下が成立する.
\medskip
\noindent
(i) \ \\
(ii) \ 構文解析に失敗 (構文エラー): {\displaystyle 0\in{\mbox{\rm int}\,U}\;}
または構文解析に失敗 (構文エラー): {\displaystyle \; 0\in{\mbox{\rm int}\,V} \Longrightarrow\inf_{x}\varphi{(x)}=\sup_{y}\psi{(y)} }
ここで,構文解析に失敗 (構文エラー): {\displaystyle \mbox{\rm int}\,U}
は の内部を表す.(i)を弱双対定理 (weak duality theorem),(ii)を双対定理 (duality theorem) と呼び, が満たされるとき,主問題(P)と双対問題(D)の間に双対性 (duality) が成立するという.(i)により,\ なら主問題(P)は実行可能解を持たないが, となる と が存在すれば,それぞれ(P)と(D)の最適解となり,強い意味の双対性が成立する.一方, となるとき,主問題と双対問題の間に双対性のギャップ (duality gap) が存在するという.
主問題(P)において,(ただし, と は下半連続な真凸関数で, , )とすると,となり [4],主問題(P)と双対問題(D)はそれぞれ
構文解析に失敗 (不明な関数「\begin{eqnarray}」): {\displaystyle \begin{eqnarray} \mbox{\rm min}_{x\in \mathbf{R}^n} && \hspace*{-5mm} c^{\top}x+k(x)+h(b-Ax) \label{A-B-03+siki1}\\ \mbox{\rm max}_{y\in \mathbf{R}^m} && \hspace*{-5mm} b^{\top}y-h^{*}(y)-k^{*}(A^{\top}y-c) \label{A-B-03+siki2} \end{eqnarray} }
となる.ここで構文解析に失敗 (構文エラー): {\displaystyle b\in\mbox{\rm int}\,(A\mbox{\rm dom}k+\mbox{\rm dom}h)}
または構文解析に失敗 (構文エラー): {\displaystyle c\in\mbox{\rm int}\,(A^{\top}\mbox{\rm dom}h^{*}-\mbox{\rm dom}k^{*})}
が成立すれば,(ii)により主問題 (1) と双対問題 (2) の間に双対性が成立する.(ただし,dom は拡張実数値関数の実効定義域を表す.)これをフェンシェルの双対性 (Fenchel duality) と呼んでいる.通常は,簡略化して と を零ベクトル, を恒等写像として,新たに を凸関数 と凹関数 の差で表し,主問題 に対して, をフェンシェルの双対問題 (Fenchel dual problem) と呼ぶ.ただし,.双対性は 構文解析に失敗 (構文エラー): {\displaystyle \mbox{\rm int}\,(\mbox{\rm dom}f_1)\,\cap\, \mbox{\rm int}\,(\mbox{\rm dom}f_2)\neq\emptyset}
のとき成立する.また, とすると,(1) と(2) は線形計画の主問題と双対問題となる [2, 4].
構文解析に失敗 (不明な関数「\begin{center}」): {\displaystyle \begin{center} \begin{tabular}{clcll} (P_{LP}) & min. & c^{\top}x & s. t. & x\ge{0}, \ Ax\ge{b}. \\ (D_{LP}) & max. & b^{\top}y & s. t. & y\ge{0}, \ A^{\top}y\le{c}. \end{tabular} \end{center} }
次に,ラグランジュ関数 (Lagrangian function) を
構文解析に失敗 (不明な関数「\begin{equation}」): {\displaystyle \begin{equation} \label{A-B-03+siki3} L(x,y):=\inf_{u\in{\mathbf{R}^m}}\{\, f(x,u)-y^{\top}u \,\} \end{equation}}
と定義する.構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle -L(x,\cdot)=\left(f(x,\cdot)\right)^{*}, f(x,\cdot)=\left(-L(x,\cdot)\right)^{*}}
が成立しているので,
構文解析に失敗 (不明な関数「\begin{equation}」): {\displaystyle \begin{equation} \label{A-B-03+siki4} \varphi{(x)}=\sup_{y}L(x,y), \quad\quad \psi{(y)}=\inf_{x}L(x,y) \end{equation}}
となる.通常, すなわち,すべての と に対してが成り立つとき, を関数 の 上での鞍点 (saddle point) と呼ぶ.(4) により,
構文解析に失敗 (不明な関数「\medskip」): {\displaystyle \medskip \noindent (iii) \ \inf_{x}\varphi{(x)}=\inf_{x}\,[\,\sup_{y}L(x,y)\,] \ge\sup_{y}\,[\,\inf_{x}L(x,y)\,]=\sup_{y}\psi{(y)} \\ (iv) \ \varphi{(\bar{x})}=\inf_{x}\varphi{(x)} =\sup_{y}\psi{(y)}=\psi{(\bar{y})} \Longleftrightarrow (\bar{x},\bar{y}) が L の鞍点 \\ \hspace*{1cm} \Longleftrightarrow \min_{x}\sup_{y}L(x,y)=\max_{y}\inf_{x}L(x,y) \Longleftrightarrow \varphi{(\bar{x})}=L(\bar{x},\bar{y})=\psi{(\bar{y})} \medskip \noindent }
が成立する.(iv) を鞍点定理 (saddle point theorem) と呼ぶ.非線形計画問題
構文解析に失敗 (構文エラー): {\displaystyle \mbox{(NLP)} \; \; \mbox{min.} \ f_{0}(x) \quad \mbox{s. t.} \; \; g_{i}(x)\le{0} \ (i=1,\ldots, k), \ h_{j}(x)=0 \ (j=1,\ldots,l),}
(ただし, は で定義された実数値関数,) に対して,
構文解析に失敗 (不明な関数「\begin{center}」): {\displaystyle \begin{center} \begin{tabular}{r@{}l} F(x)\,&:=(g_{1}(x),\ldots,g_{k}(x),h_{1}(x),\ldots,h_{l}(x))^{\top}\\ \theta(w)\,&:=\sup_{\lambda,\mu}\{\lambda^{\top}w_{1}+\mu^{\top}w_{2}\,|\, (\lambda,\mu)\in{\mathbf{R}^{k}_{+}\times{\mathbf{R}^{l}}},w=(w_1,w_2)^{\top}\}\\ f(x,u)\,&:=f_{0}(x)+\theta{(F(x)+u)} \end{tabular} \end{center} }
とおくと,(3) により となり,に対する問題(NLP)のラグランジュ関数は
構文解析に失敗 (不明な関数「\begin{equation}」): {\displaystyle \begin{equation} L(x,\lambda,\mu)=f_{0}(x)+\sum_{i=1}^{k}\lambda_{i}g_{i}(x) +\sum_{j=1}^{l}\mu_{j}h_{j}(x) \end{equation}}
となる.この をラグランジュ乗数 (Lagrange multipliers) と呼ぶ.このとき,主問題と双対問題は
構文解析に失敗 (不明な関数「\begin{center}」): {\displaystyle \begin{center} \begin{tabular}{cllll} (P_{L}) & min. & \displaystyle \sup_{\lambda\ge{0},\mu} L(x, \lambda, \mu) & s. t. & \displaystyle{x \in {\mathbf{R}^n}}, \\ (D_{L}) & max. & \displaystyle \inf_{x} L(x,\lambda,\mu) & s. t. & \displaystyle{0 \le \lambda \in {\mathbf{R}^{k}}}, \ \displaystyle \mu \in {\mathbf{R}^{l}}, \end{tabular} \end{center} }
となり,一般に問題(D_{L})をラグランジュの双対問題 (Lagrangian dual problem)と呼ぶ.鞍点定理により, の鞍点 が存在すれば,つまり
が成立すれば, と はそれぞれ問題(P)と(D)の最適解となり最適値が一致する.これをラグランジュの双対性 (Lagrangian duality) と呼ぶ.(iv)により, が成立すれば,この双対性が保証される.この等式に対する十分条件を述べた定理をミニマックス定理(minimax theorem) と呼ぶ [1]. 逆に,主問題の目的関数 と制約関数 がすべて凸で, がすべてアフィン関数であるような凸計画問題 (convex programming problem) においては,適当な条件のもとで,問題(P)の最適解 に対して, であるようなラグランジュ乗数 が存在して, がラグランジュ関数 の鞍点となる.さらに,次のような拡張ラグランジュ関数(augmented Lagrangian function) に基づく双対性も考えられている [2, 3, 4].
ただし, は正定数, は に対して を満足する下半連続な真凸関数である.関数 の例としては などがある.
[1] I. Ekeland and R. Temam, Convex Analysis and Variational Problems, North-Holland, Amsterdam, 1976.
[2] 福島雅夫,『非線形最適化の基礎』, 朝倉書店, 2001.
[3] 今野浩, 山下浩,『非線形計画法』, 日科技連, 1978.
[4] R.T. Rockafellar and R. J-B. Wets, Variational Analysis, Springer, Berlin, 1998.