Research Reports on Mathematical and Computing Sciences Series B : Operations Research

Department of Mathematical and Computing Sciences Tokyo Institute of Technology 2-12-1 Oh-Okayama, Meguro-ku, Tokyo 152, Japan

Semidefinite Programming and Its Applications to Combinatorial Optimization (in Japanese)

Masakazu Kojima^{†}

September 1997, B-331

Abstract. In recent years, the semidefinite programming has been studied intensively in various fields such as combinatorial optimization, systems and control theory, and interior-point methods. It is an extension of the linear programming to the space of symmetric matrices. This article gives a short introduction of the semidefinite programming, and presents its applications to combinatorial optimization (the 0-1 integer program). We discuss in details some fundamental characterizations of the semidefinite programming relaxation of the 0-1 integer program including its equivalence to a Lagrangian dual and a relaxation using convex-quadratic valid inequalities for the feasible region. We also report some numerical experiments. This article is written in Japanese.

Key words Semidefinite Programming, Relaxation, Combinatorial Optimization, 0-1 Integer Programming, Nonconvex Quadratic Programming

† Dept. of Mathematical and Computing Sciences, Tokyo Institute of Technology, 2-12-1 Oh-Okayama, Meguro-ku, Tokyo 152, Japan. e-mail: kojima@is.titech.ac.jp

半正定値計画とその組合せ最適化への応用

東京工業大学 大学院情報理工学研究科 小島 政和

1 はじめに

数理計画の最も基本的なモデルである線形計画問題（Linear Program, LP と略）は『有限次元の変数ベクトルに関する線形の実数値関数（目的関数）を，有限個の線形等式条件および線形不等式条件の下で最小化（または，最大化）せよ』という問題である．本稿で扱う半正定値計画問題（Semidefinite Program, SDP と略）は，この線形計画問題の対称行列の空間への拡張とみなすことができる．他の数理計画問題とは図 1 のような関係になる（詳しくは 4 節参照）．

半正定値計画問題の研究は主として，

• 組合せ最適化問題への応用 [1, 6, 10, 11, 12, 13, 16, 18, 21, 22, 25, 28, 34] 等

• システムと制御への応用 [5, 14] 等参照

• 内点法 [17] 等参照

の３つの方向からなされている．本稿では主として組合せ最適化問題への応用について述べる．

半正定値計画問題の魅力は線形のみならず凸２次を越えた記述能力にある．組合せ最適化問題に応用されたときには，従来の線形計画による緩和よりも理論的に優れていることが知られている．これまでの研究では，最大クリーク問題，最大安定集合問題，最大カット問題等の特殊な組合せ最適化問題対する理論的な成果が誇張されており [10, 11, 12, 16, 21, 25, 34] 等，より一般的な組合せ最適化への適用に関して論じた文献 [1, 13, 22, 28] 等も（初学者や非専門家にとっては）難解なものが多い．これらの文献では，

(i) 組合せ最適化問題を 0-1 整数計画問題としてとらえる．

(ii) 非凸型２次計画問題に再定式化．

(iii) 半正定値計画による緩和の適用．

図 1: 半正定値計画問題と他の数理計画問題の関係[figure: 凸計画問題; 半正定値計画問題（SDP）; 凸２次計画問題; 線形計画問題（LP）]

(iv) 変数の “0-1 整数性” および対象とする問題の特殊性を利用してのより精緻な理論的成果の導出．

のような方法論がとられている．これらを巧妙に織りまぜて記述していることが，半正定値計画による緩和を見えにくくしている．本稿の主目的は “半正定値計画による緩和の基本的な性質” を明らかにすることにある．このために上記の (i), (ii), (iii) に焦点を絞り， (iv) についてはあまりふれない． (iv) についての興味のある読者は，上記の文献の他 [25, 34] を参照されたい．

2 節では，組合せ最適化問題を導入した後に，組合せ最適化において半正定値計画問題が担う役割である緩和とその重要性について述べる． 3 節では組合せ最適化問題を特殊な非凸型２次計画問題に帰着する． 4 節では半正定値計画問題を線形計画問題と対比させながら記述し，半正定値計画問題の特徴について述べる． 5 節では非凸型２次計画問題の４種類の緩和， Lagrange 双対問題による緩和， Shor による双対 SDP 緩和，凸２次不等式を用いる緩和，および， SDP 緩和について議論する．そこでは，この４種類の緩和のなかで SDP 緩和が最強であることが述べられる． 6 節では， 5 節の主要結果を 0-1 整数計画問題の SDP 緩和に応用する． 3, 5 節の内容は論文 [6] に基づいている． 7 節では計算実験結果を報告する．

本稿の 2, 3, 5, 6 節は解説論文 “半正定値計画の組合せ最適化への応用に向けて”

[18] を基にして，その内容を充実させ，論文 [6] からの証明を加える等して精緻化したものである．

2 組合せ最適化問題と緩和問題

2.1 組合せ最適化問題

R^{n} で n 次元空間を表す． R^{n} の点 x は縦ベクトルとするが，その第 j 要素 x_{j} との対応をとるときには，紙面を節約するために， x = (x_{1}, x_{2}, …, x_{n}) と記す．一般の数理計画問題は R^{n} の各点 x = (x_{1}, x_{2}, …, x_{n}) で実数値をとる関数 f と， S_{0} ⊆ R^{n} の組を使って，

\begin{matrix}P_{0} & 目的： & f(x) → 最小化 \\ & 条件： & x ∈ S_{0} \end{matrix} \}

と表される． f を目的関数， S_{0} を許容領域（または実行可能領域）と呼ぶ．条件 x ∈ S_{0} を満たす x を許容解（または実行可能解），許容解のなかで目的関数を最小にする x を最小解（または最適解）と呼ぶ．数理計画問題は目的関数 f と許容領域 S_{0} の性質によって， LP （線形計画問題）， QP （２次計画問題），凸計画問題， IP （整数計画問題）等，さまざまなに分類されている．ここで扱う組合せ最適化問題は，許容領域 S_{0} を記述する際に

x_{i} は 0 または 1,  (1)
x_{i} = 0 または x_{j} = 0,  (2)
A^{k}x ≤ b^{k} (1 ≤ k ≤ m) の少なくとも１つを満たす  (3)

等の組合せ的な条件を含むような数理計画問題である．施設配置問題，巡回セールスマン問題，２次割当問題，さまざまなスケジューリング問題等の実用上重要な多くの問題がこのような制約条件の下で線形または２次の目的関数を最小化する組合せ最適化問題に定式化されることが知られている． [15, 19, 20] 等参照．

2.2 緩和問題 — その重要性

組合せ最適化問題は非凸型最適化問題と並んで難しい数理計画問題とされている． LP （線形計画問題）に対する単体法あるいは内点法のような万能手法はなく，個々の問題の特性を利用したさまざまな解法が提案されている．特に，規模の大きい組合せ最適化問題では正確な最適解を計算することは困難で，近似的な最適解で我慢せざるを得ない．そのような問題を対象とする解法では

(i) より小さい目的関数値 f(x) を達成する許容解 x ∈ S_{0} を生成する仕組みが盛り込まれており（[15, 19, 20] 等参照），計算を打ち切った時点までに求めた許容解のなかで最小の目的関数値を達成する許容解 x̂ を “近似最適解” として採用する．しかし，これだけでは求めた “近似最適解” がどれだけ良いかが判断できない． f(x̂) よりもはるかに小さい目的関数値を達成する許容解があるかもしれない．この不安を打ち消すためには (ii) 未知の最小値を見積もる仕組みが必要となる．緩和問題はその仕組みの１つとして重要な役割を果たしている．

許容領域 S_{0} を含む S̃_{0} ⊆ R^{n} と不等式 g(x) ≤ f(x) (∀x ∈ S_{0}) を満たす実数値関数 g : R^{n} → R に対して，数理計画問題

\begin{matrix}P̃_{0} & 目的： & g(x) → 最小化 \\ & 条件： & x ∈ S̃_{0} \end{matrix} \}

を考える． P̃_{0} の許容領域 S̃_{0} は元の問題 P_{0} の許容領域 S_{0} を含み， P̃_{0} の目的関数 g は元の許容領域 S_{0} 内で元の目的関数 f を下から支えている．したがって， P_{0} の未知の最小値を f^{∗}， P̃_{0} の最小値を g^{∗} とすると， g^{∗} ≤ f^{∗} であることが分かる．すなわち， P̃_{0} の最小値 g^{∗} は P_{0} の未知の最小値 f^{∗} の下界値を与える．このようにして作られた P̃_{0} を P_{0} の緩和問題と呼ぶ．

緩和問題 P̃_{0} から得られる P_{0} の最小値 f^{∗} の下界値 g^{∗} は以下のように使われる． P_{0} の “近似最小解” （と思われる） x̂ ∈ S_{0} が求まったと仮定すると， g^{∗} ≤ f^{∗} ≤ f(x̂) が成り立つ．したがって， f(x̂) − g^{∗} が十分小さいか，許容範囲にあれば， “近似最小解” x̂ ∈ S_{0} を安心して使えることになる．当然，緩和問題は

• その最小値 g^{∗} が元の問題 P_{0} の未知の最小値 f^{∗} に近いこと，および，

• 簡単に解けることが望ましいが，この２つ両立させるのは難しい場合が多い．以下では，３種類の緩和の方法について簡単に述べておく．

例 2.1: LP （線形計画問題）による連続緩和． c ∈ R^{n}， a_{i} ∈ R^{n}， b_{i} ∈ R (1 ≤ ∀i ≤ m) とし，一般の 0-1 IP （整数計画問題）

\begin{matrix}目的： & c^{T} x → 最小化 \\ 条件： & x ∈ S_{0} ≡ \{x ∈ R^{n} : \begin{matrix}a_{i}^{T} x ≤ b_{i} (1 ≤ ∀i ≤ m), \\ x_{j} = 0 or 1 (1 ≤ ∀j ≤ n) \end{matrix} \} \end{matrix} \}  (4)

について考える．この問題の目的関数は線形であるから，その最小値は凸計画問題

\begin{matrix}目的： & c^{T} x → 最小化 \\ 条件： & x ∈ co S_{0} \end{matrix} \}  (5)

に一致する．ただし， co S_{0} は S_{0} の凸包（S_{0} を含む最小の凸集合）を表す．すなわち， (5) が 0-1 IP (4) の理想的な緩和となる．理論的には co S_{0} は多面体になるので， (5) は LP となる．しかしながら，通常， co S_{0} を代数的に不等式系で表現することは難しく， (5) を直接解くことはできない．

0-1 IP (4) に対する緩和としては， LP （線形計画）緩和（連続緩和）

\begin{matrix}目的： & c^{T} x → 最小化 \\ 条件： & x ∈ S̃_{0} ≡ \{x ∈ R^{n} : \begin{matrix}a_{i}^{T} x ≤ b_{i} (1 ≤ ∀i ≤ m), \\ 0 ≤ x_{j} ≤ 1 (1 ≤ ∀j ≤ n) \end{matrix} \} \end{matrix} \}  (6)

が従来からよく用いられている．今度は不等式表現された LP になるので，効率よく解ける．しかしながら， S_{0} の LP 緩和 S̃_{0} とその理想的な緩和 co S_{0} の間にはかなり大きな隙間があり， LP 緩和 (6) の最小値は， 0-1 IP (4) の最小値に近い下界値になっていない場合が多い． SDP （半正定値計画問題）には， LP 緩和よりも良い緩和が期待されている． SDP 緩和に関して重要なもう１つの点は， LP 緩和では直接に扱えない２次関数を制約条件や目的関数に含んだ組合せ最適化問題（たとえば，２次割り当て問題）に適用可能である点があげられる．詳しくは 6 節で述べる．

例 2.2: Lagrange 緩和． f_{i} : R^{n} → R (1 ≤ ∀i ≤ m)， 0 ≤ ℓ ≤ m， T ⊆ R^{n} として，問題

\begin{matrix}目的： & f_{0}(x) → 最小化 \\ 条件： & x ∈ S_{0} ≡ \{x ∈ T : \begin{matrix}f_{i}(x) ≤ 0 (1 ≤ ∀i ≤ ℓ), \\ f_{k}(x) = 0 (ℓ < ∀k ≤ m) \end{matrix} \} \end{matrix} \}  (7)

について考える． Lagrange 定数ベクトルの集合 Λ と Lagrange 関数 L : R^{n} ×Λ → R を

Λ ≡ {λ ∈ R^{m} : λ_{i} ≥ 0 (1 ≤ ∀i ≤ ℓ)},
L((x, λ) ≡ f_{0}(x) + ∑_{i=1}^{m} λ_{i}f_{i}(x) (∀x ∈ R^{n}, ∀λ ∈ Λ)

で定義する． λ ∈ Λ を１つ固定する．このとき，

S_{0} ⊆ T,
L(x, λ) = f_{0}(x) + ∑_{i=1}^{m} λ_{i}f_{i}(x) ≤ f_{0}(x) (∀x ∈ S_{0})

が成り立つ．したがって，

\begin{matrix}目的： & L(x, λ) → 最小化 \\ 条件： & x ∈ T \end{matrix} \}  (8)

は問題 (7) の緩和問題となる．この (8) は Lagrange 緩和問題と呼ばれる． Lagrange 緩和問題を作る際には，問題 (7) の不等式，等式条件の全部または一部を Lagrange 定数 λ_{i} をかけて目的関数に組み入れている．それ以外の制約は T に残している．どの不等式，等式条件を目的関数に組み入れてどれを T に残すかは多くの自由度がある．生成される Lagrange 緩和問題の解き易さと緩和の効果の兼ね合いで決められる．

例 2.3: Lagrange 双対問題． Lagrange 緩和問題 (8) において， Lagrange 定数ベクトル λ は外から与えるパラメータであって， “Lagrange 緩和問題 (8) の最小値” = “問題 (7) の最小値の下界値” をなるべく大きくするように λ を選びたい．これは以下の Lagrange 双対問題として定式化される．

\begin{matrix}目的： & min\{L(x, λ) : x ∈ T \} → 最大化 \\ 条件： & λ ∈ Λ \end{matrix} \}  (9)

しかしながら， Lagrange 双対問題 (9) は “Lagrange 関数の x ∈ T に関する最小値を最大化する” という最適化の２重構造をしており，一般に解くのは容易ではない．また，凸性等の特別な条件を仮定しない限り， Lagrange 双対問題 (9) の最適値は元の問題 (7) の最小値の下界値を与えるだけで，この２つの値の間には双対ギャップと呼ばれる隙間ができる．

2.3 分枝限定法と緩和問題

分枝限定法は組合せ最適化問題に対する汎用的な手法としてよく知られている．この手法では問題 P_{0} の許容領域 S_{0} をその部分集合 S_{k} (1 ≤ ∀k ≤ ℓ) の和集合で表し，すなわち， S_{0} = ∪_{k=1}^{ℓ}S_{k} として， P_{0} をより規模の小さい ℓ 個の問題

\begin{matrix}P_{k} & 目的： & f(x) → 最小化 \\ & 条件： & x ∈ S_{k} \end{matrix} \}

(1 ≤ ∀k ≤ ℓ) で置き換える． P_{k} を P_{0} の子問題， P_{0} を P_{k} の親問題と呼ぶ． S_{0} = ∪_{k=1}^{ℓ}S_{k} より，子問題 P_{k} (1 ≤ ∀k ≤ ℓ) をすべて解けば，それらの親問題 P_{0} が解けることが分かる．より正確には，各子問題 P_{k} の最小解を x^{k}，目的関数値を f^{k} = f(x^{k}) とすると，それらの中で最小の目的関数値 f^{k} を達成している x^{k} が親問題 P_{0} の最小解となる．このように１つの問題をいくつかの子問題に “分解する操作” を分枝操作と呼ぶ．

これらのすべての子問題が解ければ元の問題 P_{0} が解けるはずであるが，いくつかの（あるいは，すべての）子問題はそれらの規模がまだ大きいために解けない可能性が高い．そこで，各子問題に対して， (A) その子問題の最小解が求まる，あるいは， (B) その子問題には許容解が存在しないことが分かる，あるいは， (C) 元の問題 P_{0} を解くためには，その子問題を解かなくてもよいことが分かるまで分枝操作を繰り返す．

(B)， (C) を限定操作と呼ぶ．それらの判定においては緩和問題が主要な役割を果たす．分枝限定法の途中の段階までに計算した最良の目的関数値（暫定最小値）を達成する P_{0} の許容解を x̂ とする．このとき，対象とする子問題の緩和問題に許容解がないならば，上記の (B) を導ける．また，その緩和問題の最小値 g^{∗} が g^{∗} ≥ f(x̂) を満たせば (C) を結論できる（その時点までに得られている最良の許容解 x̂ よりも，その子問題の最小解は良くなる可能性がない）．後者は下界値テストと呼ばれている．下界値テストが有効に働いて，分枝操作の早い時点で多くの子問題をさらに小さく分枝する前に終端することができれば，分枝限定法の計算効率は高まる．そのためには，より小さい暫定最小値を早い時点で見つけると同時に，各子問題のより大きい下界値を計算効率よく生成することが重要となる（分枝限定法について詳しくは [15, 等参照]）．

3 組合せ最適化から非凸型２次計画問題へ

この節では前節で述べた (1), (2) および (3) ような組合せ的な条件のもとで，２次の目的関数を最小化する問題を導入し，それを特殊な非凸型 QP （２次計画問題）に帰着する． 5 節ではその非凸型 QP の緩和について論じる．

２次関数を用いると多くの組合せ的な条件が表現できる．たとえば，前節の条件 (1), (2) および (3) は，それぞれ，

x_{i}(x_{i} − 1) = 0,  (1)’
x_{i}x_{j} = 0,  (2)’
∑_{k=1}^{m} y_{k} ≥ 1, y_{k}(1 − y_{k}) = 0, y_{k}(A^{k}x − b^{k}) ≤ 0 (1 ≤ ∀k ≤ m)  (3)’

これらの条件は，一般的な２次不等式または２次等式

x^{T} Qx + q^{T} x + π ≤ 0 または = 0  (10)

で表せる．ただし，

x ∈ R^{n} : 変数, Q : n × n 対称行列, q ∈ R^{n}, π ∈ R : 定数, T : ベクトルと行列の転置を表す.

また，このような条件の下で２次の目的関数を最小化する問題は，制約条件に不等式 “２次の目的関数” ≤ t を加えれば，目的関数を t に置き換えられる．したがって， (10) のような２次不等式条件または２次等式条件のもとで２次関数を最小化する問題では，目的関数を線形関数としても一般性を失わない．

さらに， 1 に固定された変数 y_{0} を導入すると (10) は

x^{T} Qx + y_{0}q^{T} x + πy_{0}^{2} ≤ 0 または = 0, y_{0} = 1  (10)’

と書き直せる．そこで，これ以後の議論では，以下のような QP （２次計画問題）を考える．

\begin{matrix}目的： & q_{0}^{T} x → 最小化 \\ 条件： & x^{T} Q_{i}x + q_{i}^{T} y_{0}x + π_{i}y_{0}^{2} ≤ 0 (1 ≤ i ≤ ℓ), \\ & x^{T} Q_{k}x + q_{k}^{T} y_{0}x + π_{k}y_{0}^{2} = 0 (ℓ < k ≤ m), y_{0} = 1. \end{matrix} \}  (11)

ただし，

x ∈ R^{n} : 変数, Q_{i} : n × n 対称行列, q_{i} ∈ R^{n}, π_{i} ∈ R : 定数 (1 ≤ ∀i ≤ m).

問題 (11) の制約条件は， ℓ 個の２次同次不等式条件， m − ℓ 個の２次同次等式条件，および， y_{0} = 1 からなっている．

次節以降のために以下の記号を導入しておく．

S^{n} : n × n 対称行列の空間,

S_{+}^{n} : n × n 半正定値対称行列の空間, S_{++}^{n} : n × n 正定値対称行列の空間,

F = \{y ∈ H : \begin{matrix}y^{T} P_{i}y ≤ 0 (1 ≤ ∀i ≤ ℓ), \\ y^{T} P_{k}y = 0 (ℓ < ∀k ≤ m) \end{matrix} \} ,

H = {y = (y_{0}, x) ∈ R^{1+n} : y_{0} = 1} ,

Q_{0} = O ∈ S^{n}, π_{0} = 0 ∈ R,

P_{k} = ( \begin{matrix}π_{k} & q_{k}^{T} /2 \\ q_{k}/2 & Q_{k} \end{matrix} ) ∈ S^{1+n} (0 ≤ ∀k ≤ m).

これらの記号を使うと， QP (11) は

\begin{matrix}目的： & y^{T} P_{0}y → 最小化 \\ 条件： & y ∈ F \end{matrix} \}  (11)’

と書き直せる．定義より，任意の y = (y_{0}, x) ∈ H に対して， y^{T} P_{k}y = π_{k} + q_{k}^{T} x + x^{T} Q_{k}x となる．したがって， Q_{k} ∈ S_{+}^{n} （または， Q_{k} = O）のとき，かつ，そのときに限って，２次関数 H ∋ y → y^{T} P_{k}y ∈ R は凸（または，線形）であることが分かる．特に， QP (11)’ の目的関数 y^{T} P_{0}y は

y^{T} P_{0}y = q_{0}^{T} x (∀y = (y_{0}, x) ∈ H)

を満たし， H 上で線形である． (1)’, (2)’ および (3)’ のような組合せ的な条件から導かれる y^{T} P_{k}y ≤ 0 あるいは y^{T} P_{k}y = 0 では y^{T} P_{k}y の H 上での凸性や線形性は満たされない．

ここで，次節以降でもしばしば用いる非凸型 QP （２次計画問題）の数値例（2 変数 x_{1}, x_{2} に関して，線形目的関数，２次不等式条件，および， 0-1 条件よりなる最小化問題）をあげておく．

\begin{matrix}目的： & −2x_{1} − 4x_{2} → 最小化 \\ 条件： & x_{1}^{2} ≤ 1, x_{2} = 0 or 1, \\ & (x_{1} − 2)^{2} + (x_{2} − 1)^{2} ≥ 4. \end{matrix} \}  (12)

最小解は (x_{1}, x_{2}) = (0, 1)，最小値は −4 である．この問題は以下のように再定式化できる．

\begin{matrix}目的： & −2y_{0}x_{1} − 4y_{0}x_{2} → 最小化 \\ 条件： & −y_{0}^{2} + x_{1}^{2} ≤ 0, \\ & −y_{0}^{2} + 4y_{0}x_{1} − x_{1}^{2} + 2y_{0}x_{2} − x_{2}^{2} ≤ 0, \\ & −y_{0}x_{2} + x_{2}^{2} = 0, y_{0} = 1. \end{matrix} \}  (12)’

さらに，

\begin{matrix}H & ≡ & \{y = (y_{0}, x_{1}, x_{2}) ∈ R^{3} : y_{0} = 1\} , \\ P_{0} & ≡ & ( \begin{matrix}0 & −1 & −2 \\ −1 & 0 & 0 \\ −2 & 0 & 0 \end{matrix} ) , P_{1} ≡ ( \begin{matrix}−1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{matrix} ) , \\ P_{2} & ≡ & ( \begin{matrix}−1 & 2 & 1 \\ 2 & −1 & 0 \\ 1 & 0 & −1 \end{matrix} ) , P_{3} ≡ ( \begin{matrix}0 & 0 & −1/2 \\ 0 & 0 & 0 \\ −1/2 & 0 & 1 \end{matrix} ) , \\ F & ≡ & \{y ∈ H : \begin{matrix}y^{T} P_{i}y ≤ 0 (1 ≤ ∀i ≤ 2), \\ y^{T} P_{3}y = 0 \end{matrix} \} \end{matrix} \}  (13)

と定義すると， QP (11)’ のように表現される．

4 半正定値計画問題

4.1 線形計画問題と半正定値計画問題

SDP （半正定値計画問題）との比較を明確にするために， LP （線形計画問題）の標準形とその双対問題を通常とは少し違った形で表現する：

\begin{matrix}主問題 & 目的: & a_{0} • x → 最小化 \\ & 条件: & a_{i} • x = b_{i} (1 ≤ ∀i ≤ m), R^{n} ∋ x ≥ 0. \\ 双対問題 & 目的: & ∑_{i=1}^{m} b_{i}z_{i} → 最大化 \\ & 条件: & ∑_{i=1}^{m} a_{i}z_{i} + s = a_{0}, R^{n} ∋ s ≥ 0. \end{matrix} \}  (14)

ただし， R^{n} : n-次元 Euclid 空間， 0 ∈ R^{n} : ゼロベクトル， a_{i} ∈ R^{n} (0 ≤ ∀i ≤ m) : 定数ベクトル， b_{i} ∈ R (i = 1, 2, …, m) : 実定数， x ∈ R^{n}, s ∈ R^{n} : 変数ベクトル， z_{i} ∈ R (i = 1, 2, …, m) : 実変数，

u • v : u, v ∈ R^{n} の内積 ∑_{j=1}^{n} u_{j}v_{j}，

u ≥ 0 （または u ∈ R_{+}^{n} とも書く） ⟺ u ∈ R^{n} が非負ベクトル．

SDP の等式標準形の主問題とその双対問題は，上記の LP (14) の主問題とその双対問題を対称行列の空間に拡張した問題といえる．

\begin{matrix}主問題 & 目的: & A_{0} • X → 最小化 \\ & 条件: & A_{i} • X = b_{i} (1 ≤ ∀i ≤ m), S^{n} ∋ X ⪰ O. \\ 双対問題 & 目的: & ∑_{i=1}^{m} b_{i}z_{i} → 最大化 \\ & 条件: & ∑_{i=1}^{m} A_{i}z_{i} + S = A_{0}, S^{n} ∋ S ⪰ O. \end{matrix} \}  (15)

ただし，

S^{n} : n × n 実対称行列の空間， O ∈ S^{n} : ゼロ行列， A_{i} ∈ S^{n} (0 ≤ ∀i ≤ m) : 定数行列， b_{i} ∈ R (i = 1, 2, …, m) : 実定数， X ∈ S^{n}, S ∈ S^{n} : 変数行列， z_{i} ∈ R (i = 1, 2, …, m) : 実変数，

U • V : U, V ∈ S^{n} の内積 ∑_{i=1}^{n} ∑_{j=1}^{n} U_{ij}V_{ij}，

U ⪰ O （または U ∈ S_{+}^{n} とも書く） ⟺ U ∈ S^{n} が半正定値．

上述の標準形の LP と SDP の間には以下のような対応関係があることが分かる．

LP ⟺ SDP
空間：  R^{n} ⟺ S^{n}
データ： a_{i} ∈ R^{n}, b_{i} ∈ R ⟺ A_{i} ∈ S^{n}, b_{i} ∈ R
変数： x, s ∈ R^{n}, z_{i} ∈ R ⟺ X, S ∈ S^{n}, z_{i} ∈ R (1 ≤ ∀i ≤ m)
内積： u • v ≡ ∑_{j=1}^{n} u_{j}v_{j} ⟺ U • V ≡ ∑_{i=1}^{n} ∑_{j=1}^{n} U_{ij}V_{ij}
不等号：  u ≥ 0 ⟺ U ⪰ O

LP (14) のデータ a_{i} ∈ R^{n}, (0 ≤ ∀i ≤ m) と変数ベクトル x ∈ R^{n}, s ∈ R^{n} に対して，それらを対角成分にもつ n × n 対角行列を

A_{i} ≡ diag a_{i} (0 ≤ ∀i ≤ m), X ≡ diag x, S ≡ diag s

と定義すると，

a_{i} • x = A_{i} • X (0 ≤ ∀i ≤ m)

∑_{i=1}^{m} a_{i}z_{i} + s = a_{0} ⟺ ∑_{i=1}^{m} A_{i}z_{i} + S = A_{0}

x ≥ 0, s ≥ 0 ⟺ X ⪰ O, S ⪰ O が成り立つ．したがって， LP (14) を SDP (15) に埋め込むことができる． U ∈ S^{n} が正定値であるとき， U ≻ O または U ∈ S_{++}^{n} と記す．以下では， SDP (15) の主問題と双対問題をひとまとめにして扱うことが多い． (X, S, z) が SDP (15) のすべての制約条件を満たすとき，許容解であるという．さらに，許容解 (X, S, z) が条件 X ≻ O, S ≻ O を満たすとき，内点許容解と呼ぶ．また， X が主問題の最小解で， (S, z) が双対問題の最大解であるとき， (X, S, z) は SDP (15) の最適解であるという．

4.2 半正定値計画問題の特徴

SDP （半正定値計画問題）には以下のような特徴がある．

(a) 主問題の目的関数 A_{0} • X および双対問題の目的関数 ∑_{i=1}^{m} b_{i}z_{i} は線形．

(b) 主問題の等式条件 A_{i} • X = b_{i} および双対問題の等式条件 ∑_{i=1} A_{i}z_{i} + S = A_{0}

は線形．

(c) “非負条件” X ⪰ O （主問題）， S ⪰ O （双対問題）は非線形．

LP と異なるのは最後の特徴 (c) であるが， SDP において “非負条件” を満たす集合（すなわち，半正定値行列の集合）とその内点からなる集合（すなわち，正定値行列の集合）

S_{+}^{n} ≡ {X ∈ S^{n} : X ⪰ O}, S_{++}^{n} ≡ {X ∈ S^{n} : X ≻ O}

が， LP において非負条件を満たす x の集合（すなわち，非負象限）

R_{+}^{n} ≡ {x ∈ R^{n} : x ≥ 0}, R_{++}^{n} ≡ {x ∈ R^{n} : x > 0}

と非常によく似た以下のような構造をしている．

(d) S_{+}^{n} は閉凸錐．

(e) X, S ∈ S_{+}^{n} ⇒ \{ \begin{matrix}X • S ≥ 0, \\ X • S = 0 ⇔ XS = O. \end{matrix}

(f) X, S ∈ S_{++}^{n} ⇔ X • S > 0

(g) {S ∈ S^{n} : X • S ≥ 0 for ∀X ∈ S_{+}^{n}} = S_{+}^{n} （自己双対性）．特に， (b) と (d) より， SDP (15) の主問題の許容領域

{X ∈ S_{+}^{n} : A_{i} • X = b_{i} (1 ≤ ∀i ≤ m)}

と双対問題の許容領域

{(S, z) ∈ S_{+}^{n} × R^{m} : ∑_{i=1}^{m} A_{i}z_{i} + S = A_{0}}

がともに閉凸集合になることが分かる．また， (a) で指摘したように SDP の目的関数は線形であるから， SDP は凸計画問題である．しかしながら，これらの許容領域は多面体にはならず， LP に対するシンプレックス法を SDP に拡張することは極めて難しい．しかしながら， LP と似たこのような SDP の性質 (a) 〜 (g) は，内点法を SDP に拡張することを可能にしている．

4.3 双対定理

(X, S, z) を SDP (15) の許容解とすると，主問題の目的関数値 A_{0} • X と双対問題の目的関数値 ∑_{i=1}^{m} b_{i}z_{i} の間に，

A_{0} • X − ∑_{i=1}^{m} b_{i}z_{i} = (∑_{i=1}^{m} A_{i}z_{i} + S) • X − ∑_{i=1}^{m} (A_{i} • X) z_{i}
= X • S ≥ 0

が常に成り立つ（弱双対性）．したがって，それらの目的関数値が一致すれば, あるいは， X • S = 0 （相補性条件）が成り立てば， (X, S, z) は SDP (15) の最適解であることが分かる．以下の双対定理はこの逆を保証している．

定理 4.1: （[26], Theorem 4.2.1 参照）

(i) SDP (15) の主問題に内点許容解 X̃ が存在し，その目的関数値の許容領域上での下限 ĝ は有界，すなわち，

−∞ < ĝ ≡ inf{A_{0} • X : A_{i} • X = b_{i} (1 ≤ ∀i ≤ m), X ⪰ O}

を仮定する．このとき， SDP (15) の双対問題に最大解 (S^{∗}, z^{∗}) が存在し，その最大値は ĝ に一致する． (ii) SDP (15) の双対問題に内点許容解 (S̃, z̃) が存在し，その目的関数値の許容

領域上での上限 ĝ は有界，すなわち，

∞ > ĝ ≡ sup{∑_{i=1}^{m} b_{i}z_{i} : ∑_{i=1}^{m} A_{i}z_{i} + S = A_{0}, S ⪰ O}

を仮定する．このとき， SDP (15) の主問題に最小解 X^{∗} が存在し，主問題の最小値は ĝ に一致する． SDP (15) に最適解 (X^{∗}, S^{∗}, z^{∗}) が存在する．

(iii) SDP (15) の主問題に内点許容解 X̃ が存在し，かつ，双対問題に内点許容解 (S̃, z̃) が存在することを仮定する．許容解 (X^{∗}, S^{∗}, z^{∗}) が最適解であるための必要十分条件は主問題と双対問題の目的関数値が一致することである．すなわち，

A_{0} • X^{∗} − ∑_{i=1}^{m} b_{i}z_{i}^{∗} = X^{∗} • S^{∗} = 0

この双対定理は SDP (15) の理論の中核をなしている． LP (14) の場合と比較すると定理の仮定が少し強くなっている（ LP (14) の場合には許容解の存在を仮定すれば十分である）．

4.4 線形行列不等式と半正定値計画問題の一般形

2.1 節では SDP （半正定値計画問題）の標準形とその双対問題を導入した．応用上はさまざまな形の SDP が現れる．より一般的には，複数個のユークリッド空間のベクトル x_{1}, x_{2}, …, x_{p}，矩形行列 Y_{1}, Y_{2}, …, Y_{q}，対称行列 Z_{1}, Z_{2}, …, Z_{r} の線形関数を目的関数とし，これらを変数とする線形行列不等式（LMI, Linear Matrix Inequality と呼ばれる， [5] 参照）を条件に含めることができる．

線形行列不等式を説明するためには，必要に応じて行列の空間あるいはその線形部分空間（対称行列の空間，対角行列の空間等）を適当な次元のユークリッド空間と同一視すると都合がよい． G をユークリッド空間のベクトル x, y と対称行列 Z_{1}, Z_{2}, …, Z_{r} に対して定義され， R^{m} の値をとる線形写像，すなわち，条件

G (α(x^{1}, y^{1}, Z_{1}^{1}, …, Z_{r}^{1}) + β(x^{2}, y^{2}, Z_{1}^{2}, …, Z_{r}^{2}))
= αG(x^{1}, y^{1}, Z_{1}^{1}, …, Z_{r}^{1}) + βG(x^{2}, y^{2}, Z_{1}^{2}, …, Z_{r}^{2})
(∀α ∈ R, ∀β ∈ R, ∀(x^{1}, y^{1}, Z_{1}^{1}, …, Z_{r}^{1}), ∀(x^{2}, y^{2}, Z_{1}^{2}, …, Z_{r}^{2}))

を満たす写像とする．このような線形写像 G と定数ベクトル b ∈ R^{m} を使うと，線形行列不等式系は

G(x, y, Z_{1}, …, Z_{r}) = b, y ≥ 0, Z_{1} ⪰ O, …, Z_{r} ⪰ O  (16)

と書ける．半正定値条件の付かない対称行列，および，矩形行列を変数に含めることもできるが，これらはユークリッド空間のベクトル変数とみなしてある．

上述した SDP の目的関数は行列に関する線形関数（実数値をその値として取る線形写像）であり，制約条件は線形行列不等式系になっていることが分かる．たとえば，

∑_{j=1}^{m} A_{j}x_{j} + BY + CZD = E,

x_{j} ≥ 0 (1 ≤ ∀j ≤ m), Y : ℓ × m 行列, S^{n} ∋ Z ⪰ O

等も行列線形不等式系の例である．ただし，行列の積，和および等式に矛盾がないように行列のサイズが定められていると仮定する．

行列に関する線形関数 f と線形写像 G を用いて， SDP をより一般的に記述すると

\begin{matrix}目的: & f(x, y, Z_{1}, …, Z_{r}) → 最小化 \\ 条件: & G(x, y, Z_{1}, …, Z_{r}) = b, \\ & y ≥ 0, Z_{1} ⪰ O, …, Z_{r} ⪰ O. \end{matrix} \}

となる．

LP の場合と同様に，どのような SDP も適当な変換を施すことによって標準形

(15) に帰着することができ，理論的には標準形で議論すれば十分である．しかしながら， LP の場合と違って標準形への帰着はさほど自明ではなく，強引に標準形に帰着しようとするとそのサイズが非常に大きくなってしまう場合がある．そのような場合には，その問題を標準形に帰着するのではなく，標準形に対して開発された数値解法をその問題に適した形に変更したほうが計算効率がよいであろう．

4.5 凸２次不等式と線形行列不等式系

この節では凸２次不等式

x^{T} Qx + q^{T} x + π ≤ 0  (17)

を線形行列不等式系に帰着する２つの方法を示す．ただし， Q : n × n 半正定値対称行列， q ∈ R^{n}， π ∈ R とする．

Q は半正定値行列であるから， Q = B^{T} B なる n × n 行列 B が存在する（たとえば， Q を Cholesky 分解，あるいは，固有値分解すればよい）．このとき，凸２次不等式 (17) は

t + q^{T} x + π ≤ 0, y = Bx, y^{T} y ≤ t

と書き直せる．さらに，

y^{T} y ≤ t ⟺ ( \begin{matrix}t & y^{T} \\ y & I \end{matrix} ) ⪰ O

を利用すると，凸２次不等式 (17) は，線形行列不等式系

t + q^{T} x + π ≤ 0, y = Bx, Z = ( \begin{matrix}t & y^{T} \\ y & I \end{matrix} ) , Z ⪰ O

に帰着される． Z ∈ S^{1+n} は t ∈ R と y ∈ R^{n} に関して線形であることを注意しておく．

第２の方法では， 1 に固定した変数 y_{0} を導入して，凸２次不等式 (17) を

y^{T} P y ≤ 0, y_{0} = 1

と書き直す．ただし，

P ≡ ( \begin{matrix}π & q^{T} /2 \\ q/2 & Q \end{matrix} ) , y ≡ ( \begin{matrix}y_{0} \\ x \end{matrix} )  (18)

ここで，線形行列不等式系

P • Y ≤ 0, Y_{00} = 1, Y ⪰ O, y = ( \begin{matrix}y_{0} \\ x \end{matrix} ) = Y e^{0}  (19)

を導入する．ただし， e^{0} = (1, 0, 0, …, 0) ∈ R^{1+n}．このとき，凸２次不等式 (17) は線形行列不等式系 (19) と同値となる．実際，次の補題が成り立つ．

補題 4.2: (18) において， Q ∈ S_{+}^{n} と仮定する． x ∈ R^{n} が凸２次不等式 (17) を満たすための必要十分条件は， Y ∈ S^{1+n} が存在して， (Y , y) ∈ S^{1+n} × R^{1+n} が線形行列不等式系 (19) を満たすことである．

証明: x ∈ R^{n} が凸２次不等式 (17) を満たすと仮定して，

y_{0} ≡ 1, y ≡ ( \begin{matrix}y_{0} \\ x \end{matrix} ) , Y ≡ yy^{T}

と置くと，

y = Y e^{0}, Y_{00} = 1,
P • Y = P • yy^{T} = y^{T} P y = x^{T} Qx + y_{0}q^{T} x + y_{0}^{2}π ≤ 0

を得る．ゆえに， (Y , y) ∈ S^{1+n} × R^{1+n} は線形行列不等式系 (19) を満たす．逆に， (Y , y) ∈ S^{1+n} × R^{1+n} は線形行列不等式系 (19) を満たすと仮定する．このとき， Y_{00} = 1 および y = Y e^{0} より， x ∈ R^{n} と n × n 対称行列が存在して，

y = ( \begin{matrix}1 \\ x \end{matrix} ) , Y = ( \begin{matrix}1 & x^{T} \\ x & X \end{matrix} )

とできる．したがって， P • Y ≤ 0 より，

x^{T} Qx + q^{T} x + π = Q • X + q^{T} x + π − Q • (X − xx^{T})
= P • Y − Q • (X − xx^{T})
≤ −Q • (X − xx^{T})

を得る．他方，仮定 Y ⪰ O および Q ⪰ O より，

(X − xx^{T}) ⪰ O, Q • (X − xx^{T}) ≥ 0

ゆえに，上の不等式より， x^{T} Qx + q^{T} x + π ≤ 0 が導かれる．この補題 4.2 は 5 節で使われる．

5 非凸型２次計画問題の緩和

この節以降では， QP （２次計画問題） (11)’ の条件に表れる y^{T} P_{k}y の線形性や凸性を仮定しない一般の非凸型２次計画問題を扱う．議論を簡単にするために QP (11)’ の許容領域 F は有界で，かつ，空でないと仮定する．

QP (11)’ の目的関数 y^{T} P_{0}y = q_{0}^{T} x は H ⊇ F 上で線形である．したがって，許容領域 F をその凸包 coF （F を含む最小の凸集合）に取り替えた凸計画問題

\begin{matrix}目的： & y^{T} P_{0}y → 最小化 \\ 条件： & y ∈ coF \end{matrix} \}  (20)

は QP (11)’ と同じ最小値を達成し， “理想的な緩和” になっている．一般には coF を計算可能な形に表現することは難しく，凸計画問題 (20) を直接解くことはできない．以下では， “より具体的な緩和” である Lagrange 双対問題，（無限個の）凸２次不等式を用いた緩和， Shor による双対 SDP 緩和，および， SDP 緩和について論ずる．これらの緩和のうち， SDP 緩和が， QP (11)’ の最良の下界値を達成し，かつ，内点法によって解くことができる．いわゆる Slater 条件（制約想定）の下では，この４つの緩和， Lagrange 双対問題，凸２次不等式を用いた緩和， Shor による双対 SDP 緩和，および， SDP 緩和は QP (11)’ の同じ下界値を与える．おおざっぱにこの４つの緩和は等価であると言ってよい．最初の２つの緩和は SDP 緩和の性質を調べるのに有用である．

5.1 Lagrange 緩和と Lagrange 双対問題

例 2.2 と例 2.3 では一般の数理計画問題に対する Lagrange 緩和と Lagrange 双対問題について述べた．ここでは QP (11)’ の Lagrange 緩和と Lagrange 双対問題を扱う． QP (11)’ に対する Lagrange 乗数ベクトル λ の集合 Λ と Lagrange 関数 L : H × Λ → R を

Λ ≡ {λ ∈ R^{m} : λ_{i} ≥ 0 (1 ≤ ∀i ≤ ℓ)} ,
L(y, λ) ≡ y^{T} P_{0}y + ∑_{i=1}^{m} λ_{i}y^{T} P_{i}y

で定義し， QP (11)’ の Lagrange 緩和問題

\begin{matrix}目的： & L(y, λ) → 最小化 \\ 条件： & y ∈ H \end{matrix} \}  (21)

を導入する．この問題 (21) では λ ∈ Λ は外から与えるパラメータで，最小値は λ の選び方に依存する． QP (11)’ と問題 (21) を比較すると，それらの許容領域は F ⊆ H を満たす．また，それらの目的関数の間には，任意の y ∈ F に対して，

L(y, λ) = y^{T} P_{0}y + ∑_{i=1}^{m} λ_{i}y^{T} P_{i}y ≤ y^{T} P_{0}y

が成り立つ．よって問題 (21) は QP (11)’ の緩和問題になっている．

y ∈ H に関する２次目的関数 L(y, λ) が H = {(y_{0}, x) ∈ R^{1+n} : y_{0} = 1} 上で非凸になるような λ ∈ Λ を選んだ場合には，２次目的関数 L(y, λ) は H 上で −∞ に発散し， Lagrange 緩和問題 (21) から導かれる QP (11)’ の下界値は −∞ になる．したがって， Lagrange 緩和問題 (21) を考える際には， Lagrange 乗数ベクトル λ ∈ Λ の範囲を

Λ_{+} ≡ {λ ∈ Λ : L(·, λ) が H 上で凸}
= {λ ∈ Λ : ∑_{k=1}^{m} λ_{k}Q_{k} ∈ S_{+}^{n}}  (22)

に限定して差し支えない． Lagrange 緩和問題に最小解が存在する場合には，線形方程式系

y_{0} = 1, \frac{∂L(y, λ)}{∂x_{i}} = 0 (1 ≤ ∀i ≤ n)

を解くことによってその最小解を計算できる．

λ ∈ Λ_{+} の中で Lagrange 緩和問題 (21) の最小値が最大になるように λ を選びたい．すなわち，

\begin{matrix}目的： & min\{L(y, λ) : y ∈ H\} → 最大化 \\ 条件： & λ ∈ Λ_{+}. \end{matrix} \}  (23)

この問題は QP (11)’ の Lagrange 双対問題と呼ばれ， Lagrange 緩和問題 (21) の中で， QP (11)’ の最良の下界値を与える．しかしながら，一般に Lagrange 双対問題を解くのは難しい．

Lagrange 緩和を例 (12)’ に適用してみよう．この場合には，

Λ = {λ = (λ_{1}, λ_{2}, λ_{3}) ∈ R^{3} : 0 ≤ λ_{1}, 0 ≤ λ_{2}},
L(1, x_{1}, x_{2}, λ) = −2x_{1} − 4x_{2} + λ_{1}(−1 + x_{1}^{2})
+λ_{2}(−1 + 4x_{1} − x_{1}^{2} + 2x_{2} − x_{2}^{2}) + λ_{3}(−x_{2} + x_{2}^{2})
= (λ_{1} − λ_{2})x_{1}^{2} + (λ_{3} − λ_{2})x_{2}^{2}
+(4λ_{2} − 2)x_{1} + (2λ_{2} − λ_{3} − 4)x_{2} − (λ_{1} + λ_{2})  (24)

となる．したっがって， Lagrange 関数 L(1, x_{1}, x_{2}, λ) が (x_{1}, x_{2}) ∈ R^{2} に関して凸になるような Lagrange 乗数ベクトル λ ∈ R^{3} の集合 Λ_{+} は

Λ_{+} = {λ = (λ_{1}, λ_{2}, λ_{3}) ∈ Λ : λ_{2} ≤ λ_{1}, λ_{2} ≤ λ_{3}}
= {λ = (λ_{1}, λ_{2}, λ_{3}) ∈ R^{3} : 0 ≤ λ_{2}, λ_{2} ≤ λ_{1}, λ_{2} ≤ λ_{3}}

となる．たとえば， λ = (1, 0, 1) ∈ Λ_{+} にとると，

min{L(y, λ) : y ∈ H}
= min{L((1, x_{1}, x_{2}), (1, 0, 1)) : (x_{1}, x_{2}) ∈ R^{2}}
= min{x_{1}^{2} + x_{2}^{2} − 2x_{1} − 5x_{2} − 1 : (x_{1}, x_{2}) ∈ R^{2}}
= −33/4

となり，例 (12)’ の最小値 −4 の下界値 −33/4 を得る．また， λ = (2, 0, 2) ∈ Λ_{+} にとると，

min{L(y, λ) : y ∈ H}
= min{2x_{1}^{2} + 2x_{2}^{2} − 2x_{1} − 6x_{2} − 2 : (x_{1}, x_{2}) ∈ R^{2}} = −7

となる．このように，得られる下界値は λ ∈ Λ_{+} に依存する．下界値を最も大きくする λ ∈ Λ_{+} を求める問題が Lagrange 双対問題になる．

\begin{matrix}目的： & min\{L(1, x_{1}, x_{2}), λ) : x_{1}, x_{2} ∈ R\} → 最大化 \\ 条件： & λ ∈ R^{3}, 0 ≤ λ_{2}, λ_{2} ≤ λ_{1}, λ_{2} ≤ λ_{3}. \end{matrix} \}  (25)

ただし， Lagrange 関数 L(1, x_{1}, x_{2}, λ) は (24) で与えられる．

5.2 凸２次不等式を用いた緩和

Lagrange 乗数 λ ∈ Λ_{+} を１つ固定して，不等式

y^{T} (∑_{i=1}^{m} λ_{i}P_{i}) y ≤ 0

について考える． λ ∈ Λ_{+} ⊆ Λ より，この不等式は QP (11)’ の妥当不等式（valid inequality），すなわち，

y ∈ F ⟹ y^{T} (∑_{i=1}^{m} λ_{i}P_{i}) y ≤ 0

を満たすことがわかる．さらに， Λ_{+} の作り方より，不等式の左辺に現れる y に関する２次形式は H 上で半正定値，すなわち， ∑_{k=1}^{m} λ_{k}Q_{k} ∈ S_{+}^{n} となる．したがって，

凸２次不等式である．そのような不等式のすべてを制約条件として組み入れ， QP (11)’ と同じ目的関数 y^{T} P_{0}y とする最小化問題を導入する．

\begin{matrix}目的： & y^{T} P_{0}y → 最小化 \\ 条件： & y ∈ F̃ . \end{matrix} \}  (26)

ただし，

F̃ = {y ∈ H : y^{T} (∑_{k=1}^{m} λ_{k}P_{k}) y ≤ 0 (∀λ ∈ Λ_{+})}.

許容領域 F̃ は H 上で凸な無限個の２次不等式 y^{T} (∑_{k=1}^{m} λ_{k}P_{k}) y ≤ 0 (λ ∈ Λ_{+}) で

表されているので， F̃ は閉凸集合になる．作り方より，明らかに， y ∈ F ならば y ∈ F̃ ，すなわち， F ⊆ F̃ を満たす．よって，問題 (26) は QP (11)’ の緩和になっている．

前節では (23) を QP (11)’ の Lagrange 双対問題として導いた． (23) は，凸２次不等式を用いた緩和問題 (26) の Lagrange 双対問題にも対応している．

補題 5.1:

(i) 任意の λ ∈ Λ_{+} に対して， inf{L(y, λ) : y ∈ H} ≤ inf{y^{T} P_{0}y : y ∈ F̃ }

(ii) sup_{λ∈Λ_{+}} inf{L(y, λ) : y ∈ H} ≤ inf_{y∈H} sup_{λ∈Λ_{+}} L(y, λ) = inf{y^{T} P_{0}y : y ∈ F̃ }

証明: (i) Lagrange 関数 L と許容領域 F̃ の作り方より， y ∈ F̃ に対して，

L(y, λ) ≤ y^{T} P_{0}y.

よって，

inf{L(y, λ) : y ∈ H} ≤ inf{L(y, λ) : y ∈ F̃ } ≤ inf{y^{T} P_{0}y : y ∈ F̃ }

を得る．

(ii) 任意の y′ ∈ H に対して， inf{L(y, λ) : y ∈ H} ≤ L(y′, λ). この不等式

の両辺の λ ∈ Λ_{+} に関する上限をとると，

sup_{λ∈Λ_{+}} inf{L(y, λ) : y ∈ H} ≤ sup_{λ∈Λ_{+}} L(y′, λ).

この不等式は任意の y′ ∈ H に関して成立するから，さらに，右辺の y′ ∈ H に関する下限をとると

sup_{λ∈Λ_{+}} inf{L(y, λ) : y ∈ H} ≤ inf_{y∈H} sup_{λ∈Λ_{+}} L(y, λ).

よって， (ii) の最初の不等式が示された． (ii) の２番目の等式を示そう．まず， ỹ ∉ F̃

と仮定する．このときには ỹ^{T} (∑_{i=1}^{m} λ̃_{i}P_{i}) ỹ > 0 なる λ̃ ∈ Λ_{+} が存在する．ま

た， Λ_{+} は凸錐であるから，任意の α ≥ 0 に対して， αλ̃ ∈ Λ_{+} が成り立つ．したがって，

sup_{λ∈Λ_{+}} L(ỹ, λ) ≥ sup_{α≥0} (ỹ^{T} P_{0}ỹ + αỹ^{T} (∑_{i=1}^{m} λ̃_{i}P_{i}) ỹ) = +∞.

を得る．ゆえに， F̃ = ∅ ならば，

inf_{y∈H} sup_{λ∈Λ_{+}} L(y, λ) = inf{y^{T} P_{0}y : y ∈ F̃ } = +∞

が示された． F̃ ≠ ∅ と仮定しよう．この場合にも，

inf_{y∈H} sup_{λ∈Λ_{+}} L(y, λ) = inf_{y∈F̃} sup_{λ∈Λ_{+}} L(y, λ)
= inf{L(y, 0) : y ∈ F̃ }
= inf{y^{T} P_{0}y : y ∈ F̃ }

を得る．ゆえに， (ii) の２番目の等式も証明された．凸２次不等式を用いた緩和を例 (12)’ に適用してみよう．この場合には

Λ_{+} = {λ = (λ_{1}, λ_{2}, λ_{3}) ∈ R^{3} : 0 ≤ λ_{2}, λ_{2} ≤ λ_{1}, λ_{2} ≤ λ_{3} }

は多面凸錐（polyhedral cone）になる．（一般には， (22) で定義される Λ_{+} は閉凸錐となり，多面凸錐となるとは限らない）．また，生成される凸２次不等式は同次不等式である．したがって，多面凸錐 Λ_{+} の３本の端線 (extremal ray）上から１点づつを選んで凸２次不等式を構成すれば， F̃ の表現には十分である．他のすべての凸２次不等式はそれらの非負線形結合として表される．それらの３点を

(1, 0, 0), (0, 0, 1), (1, 1, 1) ∈ Λ_{+}

とすると，以下の緩和問題が得られる．

\begin{matrix}目的： & −2y_{0}x_{1} − 4y_{0}x_{2} → 最小化 \\ 条件： & −y_{0}^{2} + x_{1}^{2} ≤ 0, \\ & −2y_{0}^{2} + 4y_{0}x_{1} + y_{0}x_{2} ≤ 0, \\ & −y_{0}x_{2} + x_{2}^{2} ≤ 0, y_{0} = 1. \end{matrix} \}  (27)

この緩和問題の最小解は (y_{0}, x_{1}, x_{2}) = (1, 1/4, 1)，最小値は −9/2 となり，例 (12)’ の最小値 −4 の下界値 −9/2 が得られる． 5.5.1 節で， Lagrange 緩和を用いて計算した下界値 −7 よりよい下界値が得られる．

5.3 Shor による双対 SDP 緩和

R^{1+m} の部分集合 T^{d} を

T^{d} = \{t = ( \begin{matrix} λ \\ t_{m+1} \end{matrix} ) ∈ R^{m+1} : \begin{matrix}P_{0} + ∑_{i=1}^{m} λ_{i}P_{i} − t_{m+1}E_{00} = V ∈ S_{+}^{1+n} \\ λ_{i} ≥ 0 (1 ≤ ∀i ≤ ℓ) \end{matrix} \}

で定義し，半正定値計画問題

\begin{matrix}目的：t_{m+1} → 最大化 \\ 条件：t ∈ T^{d} \end{matrix} \}  (28)

を考える．ただし， E_{00} は (0, 0) 要素が 1 で他のすべての要素が 0 である (n + 1) × (n + 1) 行列．このとき，以下の定理が成立する．

補題 5.2:

(i) t = (λ, t_{m+1}) ∈ T^{d} と仮定すると， λ ∈ Λ_{+}，および，

inf{y^{T} F_{0}y : y ∈ F } (QP (11)’ の最小値)
≥ inf{L(y, λ) : y ∈ H} (Lagrange 緩和問題 (21) の最小値)
≥ t_{m+1}.

(ii) sup{t_{m+1} : t ∈ T^{d}} = sup_{λ∈Λ_{+}} inf{L(y, λ) : y ∈ H} （Lagrange 双対問題 (23) の最適値）．

証明: (i) 仮定より， λ_{i} ≥ 0 (1 ≤ ∀i ≤ ℓ)，かつ， ∑_{i=1}^{m} λ_{i}Q_{i} ∈ S_{+}^{n} が成り立つ．こ

れは λ ∈ Λ_{+} を意味する．したがって，

inf{y^{T} F_{0}y : y ∈ F }

≥ inf{L(y, λ) : y ∈ H}
= inf{y^{T} (P_{0} + ∑_{i=1}^{m} λ_{i}P_{i} − t_{m+1}E_{00}) y + y^{T} (t_{m+1}E_{00}) y : y ∈ H}
≥ inf{y^{T} (t_{m+1}E_{00}) y : y ∈ H}
= t_{m+1}.

(ii) 問題 (28) を

\begin{matrix}目的： & t_{m+1} → 最大化 \\ 条件： & y^{T} (P_{0} + ∑_{i=1}^{m} λ_{i}P_{i} − t_{m+1}E_{00}) y ≥ 0 (∀y ∈ R^{1+n}), \\ & λ_{i} ≥ 0 (1 ≤ ∀i ≤ ℓ) \end{matrix} \}  (29)

と書き直す．この問題の条件は，さらに，

y^{T} (P_{0} + ∑_{i=1}^{m} λ_{i}P_{i} − t_{m+1}E_{00}) y ≥ 0 (∀y ∈ R^{1+n}, y_{0} = 0),

λ_{i} ≥ 0 (1 ≤ ∀i ≤ ℓ)

かつ

y^{T} (P_{0} + ∑_{i=1}^{m} λ_{i}P_{i} − t_{m+1}E_{00}) y ≥ 0 (∀y ∈ R^{1+n}, ∀y_{0} ≠ 0)

と書き直せる．前者は， ∑_{i=1}^{m} λ_{i}Q_{i} ∈ S_{+}^{n}, すなわち， λ ∈ Λ_{+} と等価である．後者は，

y^{T} (P_{0} + ∑_{i=1}^{m} λ_{i}P_{i} − t_{m+1}E_{00}) y ≥ 0 (∀y ∈ H),

さらに，

L(y, λ) ≥ t_{m+1} (∀y ∈ H),

結局

inf{L(y, λ) : y ∈ H} ≥ t_{m+1}

と書き直せる．したがって，問題 (29) は

\begin{matrix}目的： & t_{m+1} → 最大化 \\ 条件： & inf\{L(y, λ) : y ∈ H\} ≥ t_{m+1}, λ ∈ Λ_{+} \end{matrix} \}

と等価であることが分かった．この問題は Lagrange 双対問題 (23) にほかならない．

(i) は QP (11)’ と Shor による双対 SDP 緩和問題 (28) の間に弱双対性が成り立つことを主張している（凸性を仮定しない限り，一般には，この２つの問題の間には双対 gap があり，強双対性は成り立たない）．この問題を Shor による双対 SDP 緩和 [30, 31] と呼ぶ． (ii) は Shor による双対 SDP 緩和問題 (28) は Lagrange 双対問題 (23) と等価であることを示している．

Shor による双対 SDP 緩和を例 (12)’ に適用してみよう．この場合には， n = 2, ℓ = 2, m = 3 で，

T^{d} = \{( \begin{matrix}λ_{1} \\ λ_{2} \\ λ_{3} \\ t_{4} \end{matrix} ) ∈ R^{4} : \begin{matrix}P_{0} + ∑_{i=1}^{3} λ_{i}P_{i} − t_{4}E_{00} ∈ S_{+}^{3} \\ 0 ≤ λ_{1}, 0 ≤ λ_{2} \end{matrix} \}

= \{( \begin{matrix}λ_{1} \\ λ_{2} \\ λ_{3} \\ t_{4} \end{matrix} ) ∈ R^{4} : \begin{matrix}( \begin{matrix}−t_{4} − λ_{1} − λ_{2} & 2λ_{2} − 1 & λ_{2} − \frac{λ_{3}}{2} − 2 \\ 2λ_{2} − 1 & λ_{1} − λ_{2} & 0 \\ λ_{2} − \frac{λ_{3}}{2} − 2 & 0 & λ_{3} − λ_{2} \end{matrix} ) ∈ S_{+}^{3} \\ 0 ≤ λ_{1}, 0 ≤ λ_{2} \end{matrix} \}

を得る．ただし， P_{i} (0 ≤ ∀i ≤ 3) は (13) で与えられる．

次節 5.4 では Shor による双対 SDP 緩和問題 (28) は SDP 緩和 (31) の双対問題になっていることが示される．

5.4 SDP 緩和

行列 A, B ∈ S^{1+n} の内積を A • B = ∑_{i=0}^{n} ∑_{j=0}^{n} A_{ij}B_{ij} で表す．内積を使うと QP

(11)’ の２次不等式条件および２次等式条件の左辺 y^{T} P_{i}y は P_{i} • yy^{T} と一致し， QP (11)’ の許容領域 F は

F = \{Y e_{0} ∈ R^{1+n} : \begin{matrix}Y = yy^{T} , y ∈ H, \\ P_{i} • Y ≤ 0 (1 ≤ ∀i ≤ ℓ), \\ P_{k} • Y = 0 (ℓ < ∀k ≤ m) \end{matrix} \}

と表現できる．ただし， e_{0} = (1, 0, 0, …, 0) ∈ R^{1+n} で，任意の y ∈ H に対して (yy^{T})e_{0} = y が成り立つ．さらに， “rank Y = 1, Y ∈ S_{+}^{1+n}, Y_{00} = 1” は，ある y ∈ H に対して Y = yy^{T} が成り立つための必要十分条件である．ただし， rank Y は行列 Y の階数を表す．したがって， QP (11)’ の許容領域 F は

F = \{Y e_{0} ∈ R^{1+n} : \begin{matrix}rank Y = 1, Y ∈ S_{+}^{1+n}, Y_{00} = 1, \\ P_{i} • Y ≤ 0 (1 ≤ ∀i ≤ ℓ), \\ P_{k} • Y = 0 (ℓ < ∀k ≤ m) \end{matrix} \}

と書き直せる．ここで， F を記述する条件のうち， rank Y = 1 を除いた集合を

F̂ = \{Y e_{0} ∈ R^{1+n} : \begin{matrix}Y ∈ S_{+}^{1+n}, Y_{00} = 1, \\ P_{i} • Y ≤ 0 (1 ≤ ∀i ≤ ℓ), \\ P_{k} • Y = 0 (ℓ < ∀k ≤ m) \end{matrix} \}

で定義する． F̂ の作り方より， F̂ は F を含む凸集合になり， QP (11)’ の SDP 緩和

\begin{matrix}目的： & y^{T} P_{0}y → 最小化 \\ 条件： & y ∈ F̂ \end{matrix} \}  (30)

を得る．問題 (30) の最小解 y^{∗} を求めるには以下の SDP の最小解 Y^{∗} を計算し， y^{∗} = Y^{∗}e_{0} とすればよい．

\begin{matrix}目的： & P_{0} • Y → 最小化 \\ 条件： & Y ∈ Ĝ \end{matrix} \}  (31)

ただし，

Ĝ = \{Y ∈ S_{+}^{1+n} : \begin{matrix}Y_{00} = 1, \\ P_{i} • Y ≤ 0 (1 ≤ ∀i ≤ ℓ), \\ P_{k} • Y = 0 (ℓ < ∀k ≤ m) \end{matrix} \}

問題 (30) の許容領域 F̂ ⊂ R^{1+n} は SDP の許容領域 Ĝ ⊂ S^{1+n} の R^{1+n} への射影 {Y e_{0} ∈ R^{1+n} : Y ∈ Ĝ} になっている．

SDP 緩和を例 (12)’ に適用すると，

\begin{matrix}目的： & P_{0} • Y → 最小化 \\ 条件： & P_{i} • Y ≤ 0 (1 ≤ ∀i ≤ 2), \\ & P_{3} • Y = 0, Y_{00} = 1 \end{matrix} \}  (32)

を得る．ただし， P_{i} (0 ≤ ∀i ≤ 3) は (13) で与えられる．

ここで， (n + ℓ) × (n + ℓ) 定数行列 A_{0}, A_{1}, …, A_{m+1}，定数 b_{1}, b_{2}, …, b_{m+1}，および， (1 + n + ℓ) × (1 + n + ℓ) 変数行列 X， S を以下のように定義すると， SDP (31) は標準形の SDP (15) の主問題に，また，双対 SDP 緩和 (28) は標準形の SDP (15) の双対問題に帰着できることが分かる．

A_{0} = ( \begin{matrix}P_{0} & O \\ O & O \end{matrix} ) ∈ S^{1+n+ℓ},
A_{i} = ( \begin{matrix}−P_{i} & O \\ O & −E_{ii} \end{matrix} ) ∈ S^{1+n+ℓ} (1 ≤ ∀i ≤ ℓ),
A_{k} = ( \begin{matrix}−P_{k} & O \\ O & O \end{matrix} ) ∈ S^{1+n+ℓ} (ℓ < ∀k ≤ m),
A_{m+1} = ( \begin{matrix}E_{00} & O \\ O & O \end{matrix} ) ∈ S^{1+n+ℓ},
b_{i} = \{ \begin{matrix}0 (1 ≤ ∀i ≤ m), \\ 1 (i = m + 1), \end{matrix}

X = ( \begin{matrix}Y & 0 & 0 & … & 0 \\ 0 & s_{1} & 0 & … & 0 \\ 0 & 0 & s_{2} & … & 0 \\ · & · & · & ... & · \\ 0 & 0 & 0 & … & s_{ℓ} \end{matrix} ) ∈ S^{1+n+ℓ},

S = ( \begin{matrix}V & 0 & 0 & … & 0 \\ 0 & v_{1} & 0 & … & 0 \\ 0 & 0 & v_{2} & … & 0 \\ · & · & · & ... & · \\ 0 & 0 & 0 & … & v_{ℓ} \end{matrix} ) ∈ S^{1+n+ℓ}..

ただし， E_{ii} (1 ≤ i ≤ ℓ) は第 (i, i) 要素のみが 1 で他の要素がすべて 0 である ℓ × ℓ 行列， E_{00} は第 (0, 0)-要素のみが 1 で他の要素がすべ 0 である (1 + n) × (1 + n) 行列である． X の定義に含まれる s_{i} は SDP (31) の不等式条件 P_{i} • Y ≤ 0 を等式条件に変換する際のスラック変数に対応している．また， S の定義に含まれる v_{i} は s_{i} の双対変数になっている．

5.5 ４種類の緩和の関係

これまでに， QP (11)’ に関連して， Lagrange 双対問題 (23) ，凸２次不等式を用いた緩和問題 (26)， Shor による双対 SDP 緩和 (28)， SDP 緩和問題 (30) を導入した．以下の条件（制約想定）はこれらの最小値および許容領域の関係を示す定理 5.5 のなかで使われる．

条件 5.3: （SDP (31) に関する Slater の制約想定） SDP (31) の内点許容解，すなわち，

\begin{matrix}Y ≻ O, P_{i} • Y < 0 (1 ≤ ∀i ≤ ℓ), \\ Y_{00} = 1, P_{k} • Y = 0 (ℓ < ∀k ≤ m) \end{matrix}

を満たす Y が存在する．

この条件 5.3 は， SDP (31) を標準形の SDP (15) の主問題に帰着した場合には，主問題の内点許容解の存在に言い換えることができる．したがって，双対定理 4.1 の (i) が成立する．

例 (12)’ の SDP 緩和 (32) では，

Y = ( \begin{matrix}1 & 0 & 1/4 \\ 0 & 1/2 & 0 \\ 1/4 & 0 & 1/4 \end{matrix} )

がその内点許容解になっていることが簡単に分かる．したがって，条件 5.3 を満たす．

条件 5.3 は QP (11)’ に関する以下のより強い条件に置き換えることもできる．条件 5.4: （QP (11)’ に関する Slater の制約想定）

(i) QP (11)’ の等式条件 y^{T} P_{k}y = 0 (ℓ < ∀k ≤ m) は超平面 H 上で線形である．すなわち， Q_{k} = O (ℓ < ∀k ≤ m) であり，かつ，

(ii) QP (11)’ の内点許容解，すなわち，

y_{0} = 1, y^{T} P_{i}y < 0 (1 ≤ ∀i ≤ m), y^{T} P_{k}y = 0 (ℓ < ∀k ≤ m) を満たす y ∈ R^{1+n} が存在する．

実際， y ∈ R^{1+n} を (ii) を満たす y とすると，十分小さな ϵ > 0 をとると，

Y = yy^{T} + ϵ ( \begin{matrix}0 & 0 \\ 0 & I \end{matrix} )

が条件 5.3 を満たすことが確かめられる．ただし， I : n × n 単位行列．定理 5.5: (論文 [6] の Theorems 2.1, 2.2)

(i) F ⊆ coF ⊆ F̂ ⊆ F̃. (ii) 条件 5.3 が満たされるとき， F̂ の閉包は F̃ に一致する． (iii) Lagrange 双対問題 (23)，凸２次不等式を用いた緩和問題 (26)， Shor による

双対 SDP 緩和 (28)， SDP 緩和問題 (30) の最適値の間には以下の関係が成り立つ．

sup{t_{0} : t ∈ T^{d}} (Shor による双対 SDP 緩和問題 (28) の最適値)

= sup_{λ∈Λ_{+}} inf{L(y, λ) : y ∈ H} (Lagrange 双対問題 (23) の最適値)
≤ inf_{y∈H} sup_{λ∈Λ_{+}} L(y, λ) = inf{y^{T} P_{0}y : y ∈ F̃ }

(凸２次不等式を用いた緩和問題 (26) の最適値)

≤ inf{y^{T} P_{0}y : y ∈ F̂ } (SDP 緩和問題 (30) の最適値)
= inf{P_{0} • Y : Y ∈ Ĝ} (SDP 緩和問題 (31) の最適値).

(iv) 条件 5.3 が満たされるとき， (iii) の不等号はすべて等号で成立する．ただし，

F : QP (11)’ の許容領域,

T^{D} : Shor による双対 SDP 緩和問題 (28) の許容領域 , F̃ : 凸２次不等式を用いた緩和問題 (26) の許容領域 , F̂ : SDP 緩和問題 (30) の許容領域, Ĝ : SDP 緩和問題 (31) の許容領域, L(y, λ) : Lagrange 関数.

証明: (i) y ∈ F̂ と仮定して， y ∈ F̃ を示す．仮定 y ∈ F̂ より，

y = Y e^{0}, Y ∈ S_{+}^{1+n}, Y_{00} = 1,
P_{i} • Y ≤ 0 (1 ≤ ∀i ≤ ℓ), P_{k} • Y = 0 (ℓ < ∀k ≤ m)

を満たす Y が存在する． y = ( y_{0}, x ) とおく．ここで， λ ∈ Λ_{+} を任意にとって固定し，

P = (∑_{i=1}^{m} λ_{i}P_{i}) = ( \begin{matrix}π & q^{T} /2 \\ q/2 & Q \end{matrix} ) ∈ S^{1+n}

とおくと，上の関係より，

P • Y ≤ 0, Y ⪰ O, y = ( \begin{matrix}y_{0} \\ x \end{matrix} ) = Y e^{0},

が成り立つ．他方， λ ∈ Λ_{+} であるから， Q ∈ S_{+}^{n}．補題 4.2 により， x は不等式

x^{T} Qx + q^{T} x + π ≤ 0

を満たす． y_{0} = 1 を考慮すると， y は

y^{T} (∑_{i=1}^{m} λ_{i}P_{i}) y = y^{T} P y ≤ 0

を満たす． λ ∈ Λ_{+} は任意であったから， y ∈ F̃ が証明された．

(ii) 任意に c ∈ R^{1+n} を固定する． (i) より
inf{c^{T} y : y ∈ F̃ } ≤ inf{c^{T} y : y ∈ F̂ }

もし，右辺 inf{c^{T} y : y ∈ F̂ } が −∞ であったとすると，明らかに

inf{c^{T} y : y ∈ F̃ } = inf{c^{T} y : y ∈ F̂ }  (33)

が成り立つ． −∞ < ĝ ≡ inf{c^{T} y : y ∈ F̂ } と仮定する．双対定理 4.1 により， Shor による双対 SDP 緩和問題の最大解 t^{∗} = (λ^{∗}, t_{m+1}^{∗}) が存在して，その最大値 t_{m+1}^{∗} は ĝ に一致する．さらに，補題 5.1 および補題 5.2 により，

t_{m+1}^{∗} = sup_{λ∈Λ_{+}} inf{L(y, λ) : y ∈ H} ≤ inf{c^{T} y : y ∈ F̃ }

が導かれる．ゆえに，この場合にも (33) が成り立つ．他方， F̃ は R^{1+n} の凸閉集合， F̂ は R^{1+n} の凸集合であるから， (33) が任意の c ∈ R^{1+n} について成り立つことは， F̃ が F̂ の閉包になっていることを意味している．

(iii) 最初の等式は補題 5.2 で示した Shor による双対 SDP 緩和と Lagrange 双対問題の等価性に他ならない．２番目の不等式および３番目の等式は補題 5.1 で証明した．４番目の不等式は (i) より明らか．最後の等式は Ĝ の作り方より明らか．

(iv) 条件 5.3 が満たされるときには，双対定理 4.1 より

sup{t_{0} : t ∈ T^{d}} = inf{P_{0} • Y : Y ∈ Ĝ}

が成り立つ．

定理 5.5 より，

• Lagrange 双対問題 (23)， Shor による双対 SDP 緩和 (28)，凸２次不等式を用いた緩和問題 (26)， SDP 緩和問題 (30) の４つの緩和のなかでは， SDP 緩和問題 (30) が最強，

• 条件 5.3 満たされるときは，この４つの緩和は等価であることが分かる．さらに，

• SDP 緩和問題 (30) は内点法によって解けることも重要である．しかしながら，

• 例 (12)’ に適用した４種類の緩和を通して見てきたように， SDP 緩和問題 (30) では元の QP (11)’ をどのように緩和しているのかが理解しにくく，緩和の性質を調べるには凸２次不等式を用いた緩和問題 (26) が一番分かりやすい．

ゆえに，

• 計算は SDP 緩和問題 (30) で行って，緩和の性質を調べるのに凸２次不等式

を用いた緩和問題 (26) を用いるとよい．そこで， 5.6 と 6 節では凸２次不等式を用いた緩和問題 (26) を通して SDP 緩和の性質を考察する．

5.6 より強い緩和問題を作るには

凸２次不等式を用いた緩和 (26) が示唆するのは

• y^{T} (∑_{i=1}^{m} λ_{i}P_{i}) y ≤ 0 (∀λ ∈ Λ_{+}) の形をしたなるべく多く，かつ，有効な凸２

次不等式が生成できるように QP (11)’ を表現せよ

ということになる．このことが意味することをいくつかの特殊な場合について考察しておく．

最初に， QP (11)’ のすべての２次不等式条件の左辺の y^{T} P_{i}y ≤ 0 (1 ≤ i ≤ ℓ) が超平面 H 上で半正定値であり，かつ，２次等式条件の左辺 y^{T} P_{k}y = 0 (ℓ < k ≤ m) が H 上で線形である場合，すなわち，

Q_{i} ∈ S_{+}^{n} (1 ≤ ∀i ≤ ℓ) かつ Q_{k} = O (ℓ < ∀k ≤ m)

である場合を考える．これらの不等式および等式で表現されている QP (11)’ の許容領域 F ⊆ H は凸集合となり， QP (11)’ は凸型の２次計画問題となる．この場合には，すべての

y^{T} P_{i}y ≤ 0 (1 ≤ ∀i ≤ ℓ),
y^{T} P_{k}y ≤ 0 (ℓ < ∀k ≤ m),
−y^{T} P_{k}y ≤ 0 (ℓ < ∀k ≤ m)

が凸２次妥当不等式となる．したがって， F = co F = F̂ = F̃ となる．このことは， SDP (31) を解くことにより， QP (11)’ が解けることを意味している．

もう１つの極端な場合をとりあげる． QP (11)’ のすべての２次不等式条件の左辺の y^{T} P_{i}y ≤ 0 (1 ≤ ∀i ≤ ℓ) が超平面 H 上で負定値であり，かつ，２次等式条件の左辺 y^{T} P_{k}y = 0 (ℓ < ∀k ≤ m) が H 上で線形である場合，すなわち，

−Q_{i} ∈ S_{++}^{n} (1 ≤ ∀i ≤ ℓ) かつ Q_{k} = O (ℓ < ∀k ≤ m)

である場合を考える．このときには，ある λ ∈ Λ_{+} に対して，

y^{T} (∑_{i=1}^{m} λ_{i}P_{i}) y ≤ 0

が凸２次妥当不等式であるとすると，すなわち，

λ ∈ R^{m}, λ_{i} ≥ 0 (1 ≤ ∀i ≤ ℓ), ∑_{i=1}^{m} λ_{i}Q_{i} ∈ S_{+}^{n}

であるとすると， λ_{i} = 0 (1 ≤ ∀i ≤ ℓ) でなければならない．一方，各 k = ℓ+1, …, m に対しては

y^{T} P_{k}y ≤ 0 および − y^{T} P_{k}y ≤ 0

は線形な妥当不等式となる．したがって，

F̃ = {y ∈ H : y^{T} P_{k}y = 0 (ℓ < ∀k ≤ m)}

が導かれる．言い換えると， F が超平面 H 上で厳密に凹な２次不等式と線形等式で表現されているとすると，厳密に凹な２次不等式は緩和 F̃ を構成するのに全く寄与しないことが分かる．

今度は一般的な状況を考える．ある λ ∈ Λ_{+} に対して

y^{T} (∑_{i=1}^{m} λ_{i}P_{i}) y ≤ 0  (34)

が凸２次妥当不等式であると仮定する．このとき，定理 5.5 より， ȳ ∈ H がこの不等式を満たさなければ， ȳ ∉ F̃ が分かる．ここで，

ȳ^{T} (∑_{i=1}^{m} λ_{i}P_{i}) ȳ = 0 かつ ȳ ∉ F

を仮定する．この状況で，一般的には F̃ が ȳ ∈ H を含むか，含まないかは判定できない．凸２次妥当不等式 (34) が H 上で厳密に凸，すなわち， ∑_{i=1}^{m} λ_{i}Q_{i} ∈ S_{++}^{n} で

あるときには， ȳ ∉ F̃ を結論できる．実際， ȳ ∉ F より， F を構成する不等式あるいは等式のなかに ȳ が満たさないものが存在する．そのような不等式あるいは等式が ȳ^{T} P_{j}ȳ > 0 であるとしよう（ȳ が満たさないのが等式で， ȳ^{T} P_{j}ȳ < 0 のときには，左辺の符号を反転させた等式を考えればよい）．このとき，十分に小さな

ϵ > 0 をとると， ∑_{i=1}^{m} λ_{i}Q_{i} + ϵQ_{j} ∈ S_{+}^{n} とできるから，

y^{T} (∑_{i=1}^{m} λ_{i}P_{i} + ϵP_{j}) y ≤ 0

は凸２次妥当不等式となる．また， ȳ に関する仮定より，

ȳ^{T} (∑_{i=1}^{m} λ_{i}P_{i} + ϵP_{j}) ȳ > 0

が導かれる．ゆえに， ȳ ∉ F̃ が示された．

これまで述べてきたことを，例 (12) を通して検証してみよう．例 (12) の最初の不等式制約条件 x_{1}^{2} ≤ 1 は， −1 ≤ x_{1} ≤ 1 と等価である．したがって，例 (12) は

目的：−2y_{0}x_{1} − 4y_{0}x_{2} → 最小化
条件：−y_{0}^{2} − y_{0}x_{1} ≤ 0,
−y_{0}^{2} + y_{0}x_{1} ≤ 0,
−y_{0}^{2} + 4y_{0}x_{1} − x_{1}^{2} + 2y_{0}x_{2} − x_{2}^{2} ≤ 0,
y_{0}x_{2} − x_{2}^{2} ≤ 0,
−y_{0}x_{2} + x_{2}^{2} ≤ 0,
y_{0} = 1.

とも書ける．最初の２本の不等式は H = {(1, x_{1}, x_{2})^{T} : x_{1}, x_{2} ∈ R} 上で線形である．３本目の不等式は H 上で厳密に凹，４本目の不等式は凹，５本目は凸な２次不等式になっている．それぞれ不等式に非負の Lagrange 乗数 λ_{1}, λ_{2}, …, λ_{5} を乗じてそれらの和をとり，凸２次妥当不等式の構成を試みる．このとき，３本目の不等式は使えない，すなわち， λ_{3} = 0 であることが分かる（何故ならば，３本目の不等式に含まれる項 −x_{1}^{2} を他の不等式で打ち消すことができない）．また， λ_{4} ≤ λ_{5} でなければならないことも分かる（したがって，４本目の不等式の効果は完全に消えてしまう）．以上を考慮に入れると，以下の緩和問題が得られる．

目的：−2y_{0}x_{1} − 4y_{0}x_{2} → 最小化
条件：−y_{0}^{2} − y_{0}x_{1} ≤ 0,
−y_{0}^{2} + y_{0}x_{1} ≤ 0,
−y_{0}x_{2} + x_{2}^{2} ≤ 0,
y_{0} = 1.

この緩和問題の許容領域は，例 (12)’ に対する凸２次不等式を用いた緩和よりも広く，得られる下界値 −6 も 5.3 節で得られた下界値 −4 よりも悪い．このように，２次不等式を用いる緩和は元の非凸型２次計画問題の表現に依存する．緩和の効果を高めるためには

• 非凸型２次計画問題の表現になるべく凸性の強い不等式を盛り込むことが重要であることが分かる．

次節では 0-1 整数計画問題を例にとってこのことをもう少し詳しく説明する．

6 0-1 整数計画問題の凸２次不等式を用いた緩和

この節を通して， y_{0} = 1 に固定し， 0-1 IP （整数計画問題），それと等価な QP （２次計画問題），および，その問題に対する凸２次不等式を用いた緩和を x ∈ R^{n} のみの空間で議論する． e_{j} を第 j 要素だけが 1 で他のすべての要素が 0 である n 次元単位ベクトルとする．

6.1 線形計画緩和と凸２次不等式を用いた緩和

一般の 0-1 IP （整数計画問題）は以下のような QP （２次計画問題）として書ける．

\begin{matrix}(QP_{0}) & 目的： & c^{T} x → 最小化 \\ & 条件： & x ∈ F, \end{matrix} \}

ただし，

F ≡ \{x ∈ R^{n} : \begin{matrix}a_{i}^{T} x − b_{i} ≤ 0 (1 ≤ ∀i ≤ r), \\ e_{j}^{T} x(e_{j}^{T} x − 1) = 0 (1 ≤ ∀j ≤ n) \end{matrix} \}

この QP (QP_{0}) に凸２次不等式を用いた緩和を適用した結果できる緩和問題の許容領域を F̃_{0} ⊆ R^{n} で表す．しかしながら， F̃_{0} は LP 緩和の許容領域

F_{LP} ≡ \{x ∈ R^{n} : \begin{matrix}a_{i}^{T} x − b_{i} ≤ 0 (1 ≤ ∀i ≤ r), \\ −e_{j}^{T} x ≤ 0 (1 ≤ ∀j ≤ n), \\ (e_{j}^{T} x − 1) ≤ 0 (1 ≤ ∀j ≤ n) \end{matrix} \}

と一致してしまい，凸２次不等式を用いた緩和を用いる効果はない．このことを検証しておこう．２次妥当不等式

∑_{i=1}^{r} λ_{i}(a_{i}^{T} x − b_{i}) + ∑_{j=1}^{n} μ_{j}e_{j}^{T} x(e_{j}^{T} x − 1) ≤ 0

を考える．ただし， λ_{i} ≥ 0 (1 ≤ ∀i ≤ r)．この２次妥当不等式の左辺が凸であるためには μ_{j} ≥ 0 (1 ≤ ∀j ≤ n) でなければならない．したがって，そのような凸２次妥当不等式の全体は， (QP_{0}) の等式条件 e^{T} x(e_{j}^{T} x − 1) = 0 (1 ≤ ∀j ≤ n) を不等式 e^{T} x(e_{j}^{T} x − 1) ≤ 0 (1 ≤ ∀j ≤ n) に置き換えた問題

\begin{matrix}目的： & c^{T} x → 最小化 \\ 条件： & a_{i}^{T} x − b_{i} ≤ 0 (1 ≤ ∀i ≤ r), \\ & e^{T} x(e_{j}^{T} x − 1) ≤ 0 (1 ≤ ∀j ≤ n) \end{matrix} \}  (35)

に対する凸２次妥当不等式の全体に一致する．この問題 (35) のすべての２次不等式の左辺は凸であるから，その許容領域は凸集合になる．したがって， 5.6 節の議論により，その緩和問題は元の問題 (35) に一致する．さらに，凸な２次不等式条件 e^{T} x(e_{j}^{T} x − 1) (1 ≤ ∀j ≤ n) は −e_{j}^{T} x ≤ 0, e_{j}^{T} x − 1 ≤ 0 (1 ≤ ∀j ≤ n) と書き直せるから，結局，問題 (35) の凸２次妥当不等式を用いた緩和問題の許容領域は F_{LP} に一致する．

6.2 より強い緩和を問題を作るには

緩和の効果を出すためには， (QP_{0}) に a_{j}^{T} x に関する２次項を含んだ２次妥当不等式を加える必要がある．そのような２次妥当不等式は (QP_{0}) にとっては冗長であるが，前節で述べた “ ∑_{i=1}^{m} λ_{i}y^{T} P_{i}y ≤ 0 (λ ∈ Λ_{+}) の形をしたなるべく多くの，か

つ，有効な凸２次不等式を生成 ” するのに重要な役割を果たす．たとえば， LP （線形計画）緩和の許容領域 F に現れる１次不等式を２つ取り出してかけ合わせた２次不等式

\begin{matrix}−x_{j}x_{k} ≤ 0 (1 ≤ ∀j < ∀k ≤ n), \\ x_{j}(x_{k} − 1) ≤ 0 (1 ≤ ∀j ≤ n, 1 ≤ ∀k ≤ n, k ≠ j), \\ −(x_{j} − 1)(x_{k} − 1) ≤ 0 (1 ≤ ∀j < ∀k ≤ n), \\ −(a_{i}^{T} x − b_{i})(a_{k}^{T} x − b_{k}) ≤ 0 (1 ≤ ∀i < ∀k ≤ r) \end{matrix} \}  (36)

\begin{matrix}x_{j}(a_{i}^{T} x − b_{i}) ≤ 0 (1 ≤ ∀j ≤ n, 1 ≤ ∀i ≤ r), \\ (1 − x_{j})(a_{i}^{T} x − b_{i}) ≤ 0 (1 ≤ ∀j ≤ n, 1 ≤ ∀i ≤ r) \end{matrix} \}  (37)

を少なくともいくつか，あるいは，それらの非負線形結合からなる２次不等式を加える必要がある．以下では，そのような２次不等式を加えることにより緩和がどのように強化されるかについて調べる．

x^{∗} を F_{LP} の任意の端点とする． x^{∗} が F に含まれなければ，すなわち， 0-1 ベクトルでなければ，カットしたい．そのような要求を満たす凸２次妥当不等式によるカットの構成法を示す． x^{∗} は F の端点であるから， F を構成する r + 2n 本の線形不等式のうち， n 本の線形独立な不等式を等号で満たす．一般性を失うことなく，それらを

a_{i}^{T} x − b_{i} ≤ 0 (1 ≤ ∀j ≤ p), −e_{j}^{T} x ≤ 0 (p < ∀j ≤ q), e_{j}^{T} x − 1 ≤ 0 (q < ∀j ≤ n)

とする．ここで， x = x^{∗} でこれらの線形不等式は等号で満たされており，かつ， {a_{i} (1 ≤ ∀i ≤ p), e_{j} (p < ∀j ≤ n)} は線形独立である．各 a ∈ R^{n} に対して，

I_{+}(a) ≡ {j : a_{j} ≥ 0}

で定義し， (37) の非負線形結合を使った２次妥当不等式系

∑_{i=1}^{p} ( ∑_{j∈I_{+}(a_{i})}[a_{i}]_{j}(e_{j}^{T} x)(a_{i}^{T} x − b_{i}) + ∑_{j∉I_{+}(a_{i})}(−[a_{i}]_{j}(1 − e_{j}^{T} x)(a_{i}^{T} x − b_{i}))

+ ∑_{j=p+1}^{n} e_{j}^{T} x(e_{j}^{T} x − 1) ≤ 0

を導入する．作り方より， x = x^{∗} はこの不等式を等号で満たす．また，この不等式は

∑_{i=1}^{p}(a_{i}^{T} x − b′_{i})(a_{i}^{T} x − b_{i}) + ∑_{j=p+1}^{n} e_{j}^{T} x(e_{j}^{T} x − 1) ≤ 0,

ただし，b′_{i} ≡ min{a_{i}^{T} x : x_{j} ∈ {0, 1} (1 ≤ ∀j ≤ n)}

と書き直せる． {a_{i} (1 ≤ j ≤ p), e_{j} (p < j ≤ n)} は線形独立であったから，不等式

の左辺の x に関する２次項をまとめた x^{T} (∑_{i=1}^{p} a_{i}a_{i}^{T} + ∑_{j=p+1}^{n} e_{j}e_{j}^{T} ) x は正定値とな

る．他方， x^{∗} は 0-1 ベクトルではないから，ある r ∈ {1, 2, …, p} に対して，

η_{r} ≡ e_{r}^{T} x^{∗}(e_{r}^{T} x^{∗} − 1) ≠ 0

である．ゆえに，十分小さな ϵ > 0 をとると，

∑_{i=1}^{p}(a_{i}^{T} x − b′_{i})(a_{i}^{T} x − b_{i}) + ∑_{j=p+1}^{n} e_{j}^{T} x(e_{j}^{T} x − 1) + ϵη_{r}e_{r}^{T} x(e_{r}^{T} x − 1) ≤ 0 (38)

は凸２次妥当不等式で，かつ， x^{∗} をカットする；

∑_{i=1}^{p}(a_{i}^{T} x^{∗} − b′_{i})(a_{i}^{T} x^{∗} − b_{i}) + ∑_{j=p+1}^{n} e_{j}^{T} x^{∗}(e_{j}^{T} x^{∗} − 1) + ϵη_{r}e_{r}^{T} x^{∗}(e_{r}^{T} x^{∗} − 1) > 0.

上の議論より， F_{LP} のすべての非 0-1 端点をカットするには，２次計画問題 (QP_{0}) において，線形不等式条件 a_{i}^{T} x − b_{i} ≤ 0 (1 ≤ ∀i ≤ r) を凸２次不等式条件

(a_{i}^{T} x − b′_{i})(a_{i}^{T} x − b_{i}) ≤ 0 (1 ≤ ∀i ≤ r)  (39)

で置き換えればよいことが分かる．実際，これらの凸２次不等式条件と (QP_{0}) の２次等式条件

e_{j}^{T} x(e_{j}^{T} x − 1) = 0 (1 ≤ ∀j ≤ n)  (40)

を用いて任意の非 0-1 端点 x^{∗} ∈ F_{LP} をカットする凸２次妥当不等式 (38) を構成できることを上で示した．さらに，凸２次不等式 (39) は (37) から構成できる．

これまでの議論を以下の定理にまとめるために， (QP_{0}) と等価な３種類の２次計画問題を導入する．

\begin{matrix}(QP_{1}) & 目的： & c^{T} x → 最小化 \\ & 条件： & (39), (40) \end{matrix} \}
\begin{matrix}(QP_{2}) & 目的： & c^{T} x → 最小化 \\ & 条件： & (37), (40) \end{matrix} \}
\begin{matrix}(QP_{3}) & 目的： & c^{T} x → 最小化 \\ & 条件： & (36), (37), (40) \end{matrix} \}

これらの２次計画問題 (QP_{1}), (QP_{2}), (QP_{3}) に凸２次不等式を用いた緩和を適用した結果できる問題の許容領域を，それぞれ， F̃_{1}, F̃_{2}, F̃_{3} とすると以下の定理が成り立つ．

定理 6.1:

(i) F ⊆ F̃_{3} ⊆ F̃_{2} ⊆ F̃_{1} ⊆ F̃_{0} = F_{LP}.

(ii) (1, x^{∗}) を F_{LP} の端点とする．このとき， x^{∗} が 0-1 ベクトルでなければ， (1, x^{∗}) ∉ F̃_{1}．

例 6.2: ２次計画問題 (QP_{0}) において， n = 2， m = 1， c = −(1, 2)， a_{1} = (3, 4)， b_{1} = 5 とする；

\begin{matrix}(QP′_{0}) & 目的： & −x_{1} − 2x_{2} → 最小化 \\ & 条件： & 3x_{1} + 4x_{2} − 5 ≤ 0, \\ & & x_{j}(x_{j} − 1) = 0 (1 ≤ ∀j ≤ 2). \end{matrix} \}

この問題の許容領域 F は， (0, 0), (1, 0), (0, 1) を３点よりなり，点 x = (0, 1) で最小値 −2 をとる． LP 緩和は

\begin{matrix}(LP’) & 目的： & −x_{1} − 2x_{2} → 最小化 \\ & 条件： & 3x_{1} + 4x_{2} − 5 ≤ 0, \\ & & −x_{j} ≤ 0 (1 ≤ ∀j ≤ 2), \\ & & x_{j} − 1 ≤ 0 (1 ≤ ∀j ≤ 2). \end{matrix} \}

となる．この LP 緩和の許容領域 F_{LP} は

(0, 0), (1, 0), (1, 1/2), (1/3, 1), (0, 1)

を頂点とする多面体になり，頂点 x^{∗} = (1/3, 1) で最小値 −7/3 = −2.333333 をとる．また，等価な２次計画問題 (QP_{1}), (QP_{2}), (QP_{3}) は，それぞれ，以下のようになる．

\begin{matrix}(QP′_{1}) & 目的： & −x_{1} − 2x_{2} → 最小化 \\ & 条件： & (3x_{1} + 4x_{2})(3x_{1} + 4x_{2} − 5) ≤ 0, \\ & & x_{j}(x_{j} − 1) = 0 (1 ≤ ∀j ≤ 2) \end{matrix} \}

\begin{matrix}(QP′_{2}) & 目的： & −x_{1} − 2x_{2} → 最小化 \\ & 条件： & x_{j}(3x_{1} + 4x_{2} − 5) ≤ 0 (1 ≤ ∀j ≤ 2), \\ & & (1 − x_{j})(3x_{1} + 4x_{2} − 5) ≤ 0 (1 ≤ ∀j ≤ 2), \\ & & x_{j}(x_{j} − 1) = 0 (1 ≤ j ≤ 2) \end{matrix} \}

\begin{matrix}(QP′_{3}) & 目的： & −x_{1} − 2x_{2} → 最小化 \\ & 条件： & −x_{1}x_{2} ≤ 0, \\ & & x_{1}(x_{2} − 1) ≤ 0, x_{2}(x_{1} − 1) ≤ 0, \\ & & −(x_{1} − 1)(x_{2} − 1) ≤ 0, \\ & & x_{j}(3x_{1} + 4x_{2} − 5) ≤ 0 (1 ≤ ∀j ≤ 2), \\ & & (1 − x_{j})(3x_{1} + 4x_{2} − 5) ≤ 0 (1 ≤ ∀j ≤ 2), \\ & & x_{j}(x_{j} − 1) = 0 (1 ≤ ∀j ≤ 2) \end{matrix} \}

上の２次計画問題 (QP′_{1}), (QP′_{2}), (QP′_{3}) に SDP 緩和を適用して，その最小値を計算すると

−2.277651, −2.222222, −2.000000

を得る．２次不等式を追加することに緩和が強化されることが分かる．この例では (QP′_{3}) の SDP 緩和から得られる最小値が元の２次計画問題 (QP′_{0}) の最小値に一致したが，一般にはこのようにうまくゆくとは限らない．

6.3 SDP 緩和とブール２次多面体

0-1 IP （整数計画問題） (QP_{0}) と等価な２次計画問題 (QP_{1})， (QP_{2})，あるいは， (QP_{3}) の SDP 緩和を

\begin{matrix}目的： & P_{0} • Y → 最小化 \\ 条件： & Y_{00} = 1, P_{i} • Y ≤ 0 (1 ≤ ∀i ≤ ℓ), \\ & P_{k} • Y = 0 (ℓ < ∀k ≤ m), S^{1+n} ∋ Y ⪰ O \end{matrix} \}  (41)

とする．この緩和を導く際には， 0-1 IP (QP_{0}) の 0-1 変数ベクトル x ∈ R^{n} と変数行列 Y ∈ S^{1+n} との間の対応関係

( \begin{matrix}1 & x^{T} \\ x & xx^{T} \end{matrix} ) ↔ Y

が主要な役割を果たした． SDP 緩和 (41) に条件 rank Y = 1 を付加すると問題 (QP_{1})， (QP_{2})，あるいは， (QP_{3}) と等価になることを思い出しておこう．

ここでは，もっと直接的に，制約条件

Y ∈ B ≡ \{( \begin{matrix}1 & x^{T} \\ x & xx^{T} \end{matrix} ) : x ∈ R^{n}, x_{j} = 0 または 1 (1 ≤ ∀j ≤ n)\}

を SDP 緩和 (41) につけ加えると 0-1 IP (QP_{0}) が得られることに注目する． SDP 緩和 (41) の目的関数 P_{0} • Y は Y ∈ S^{1+n} に関して線形であるから，上の条件は Y ∈ co B におきかえてもよい．ゆえに，制約条件 Y ∈ co B を SDP 緩和 (41) につけ加えた問題は 0-1 IP (QP_{0}) と等価になる（この場合には，条件 S^{1+n} ∋ Y ⪰ O は冗長になる）． co B は 2^{n} 個の端点（B は端点の集合）を持つ多面体で，ブール２次多面体（boolean quadric polytope）と呼ばれる．

ブール２次多面体のファセットに対応する不等式のすべてを SDP 緩和 (41) に組み入れ，冗長となる条件 S^{1+n} ∋ Y ⪰ O を除くと，その結果できる問題は 0-1 IP (QP_{0}) と等価な線形計画問題になる．一般にはすべてのファセットを数え上げることは不可能であるが，これまでに知られているブール２次多面体の対応する不等式を SDP 緩和 (41) の条件に追加することにより，緩和を強めることができる．ブール２次多面体およびそのファセットについて，詳しくは [4, 27, 29, 32] 等参照．

7 計算実験結果

この節では基本的な３種類の組合わせ最適化問題の SDP 緩和に関する計算実験を論文 [7] に基づいて報告する．計算実験には主・双対内点法のソフトウエア・パッケージ SDPA [9] を計算機 DEC AlphaServer 8400 (12CPU Alpha 21164A-437MHz, 8GB memory) 上で用いて行った．

7.1 最大カット問題

G = (V, E) を頂点集合 V = {1, 2, …, n} と枝集合 E = {(i, j) : 1 ≤ ∀i < ∀j ≤ n} からなる完全無向グラフとする．各枝には非負の重み C_{ij} が付けられている．記述を簡単にするために C_{ii} = 0, C_{ji} = C_{ij} (1 ≤ ∀i ≤ ∀j ≤ n) とする．このとき，頂点の集合 V を L と R の２つに分割し，その間を結ぶ枝の重みの総和 ∑_{i∈L,j∈R} C_{ij} を最

大にしたい． (L, R) をグラフ G のカット， ∑_{i∈L,j∈R} C_{ij} を最大にする (L, R) をグラフ

G のカットと呼ぶ．この問題は非凸型 QP （２次計画問題）

\begin{matrix}目的： & −\frac{1}{4} ∑_{i=1}^{n} ∑_{j=1}^{n} C_{ij}(1 − x_{i}x_{j}) → 最小化 \\ 条件： & x_{i}^{2} = 1 (1 ≤ ∀i ≤ n) \end{matrix} \}

と定式化できる．この問題の最小解を x^{∗} ∈ R^{n} とすると，最大カット (L, R) は L = {i : x_{i}^{∗} = 1}, R = {j : x_{j}^{∗} = −1} により得られる．さらに，

A_{0} = \frac{1}{4} (C − diag(Ce))  (42)

で A_{0} ∈ S^{n} を定義すると，

\begin{matrix}目的： & x^{T} A_{0}x → 最小化 \\ 条件： & x_{i}^{2} = 1 (1 ≤ ∀i ≤ n) \end{matrix} \}  (43)

となる．ただし， e はすべての要素が 1 である n 次元ベクトル．さらに，この問題を 5.3 節で導入した標準形の非凸型 QP (11)’ に帰着してから SDP 緩和について論じてもよいのであるが，ここでは問題 (43) に直接 SDP 緩和を適用する（得られる緩和は等価である）．問題 (43) の許容解 x に対して， X = xx^{T} とおくと， X は半正定値行列で， X_{ii} = 1 (1 ≤ ∀i ≤ n)，および， A_{0} • X = x^{T} A_{0}x を満たす．したがって，

\begin{matrix}目的： & A_{0} • X → 最小化 \\ 条件： & E_{ii} • X = 1 (1 ≤ ∀i ≤ n), X ⪰ O \end{matrix} \}  (44)

は問題 (43) の緩和になっていることが分かる．ただし， E_{ii} は第 (i, i)-要素だけが 1 で他のすべての要素が 0 である n × n 行列．計算実験結果を Table 1 に示す．

表 1: 最大カット問題に関する計算実験結果

n 計算時間 (秒) 反復回数双対ギャップ相対双対ギャップ
10  0.1   8  3.23e-08  2.08e-09
20  0.1  9  1.10e-07  1.67e-09
50  1.5  9  1.23e-06  3.21e-09
100  9.0  10  2.31e-06  1.57e-09
200  92.8  11  4.00e-06  7.12e-10
500  2998.6  16  4.35e-06  1.22e-09
1000  69490.1  16  6.30e-05  3.59e-08

7.2 グラフ分割問題

前節の最大カット問題に条件 “L と R の要素が同数” を付けた問題である． V は偶数個の頂点からなることが仮定されている．この問題は以下のように非凸型 QP として定式化される．

\begin{matrix}目的： & −\frac{1}{4} ∑_{i=1}^{n} ∑_{j=1}^{n} C_{ij}(1 − x_{i}x_{j}) → 最小化 \\ 条件： & x_{i}^{2} = 1 (1 ≤ ∀i ≤ n), (∑_{i=1}^{n} x_{i})^{2} = 0. \end{matrix} \}

最後の等式条件 (∑_{i=1}^{n} x_{i})^{2} = 0 が L = {i : x_{i} = 1} と R = {j : x_{j} = −1} の個数が

同じになること要請している．前節の同様に SDP 緩和を導くと

\begin{matrix}目的： & A_{0} • X → 最小化 \\ 条件： & E_{ii} • X = 1 (1 ≤ ∀i ≤ n), E • X = 0, X ⪰ O \end{matrix} \}  (45)

ただし， E はすべての要素が 1 の n × n 行列である． A_{0} および E_{ii} は前節の記号

にしたがう． SDP 緩和 (45) を導くにあたっては恒等式 (∑_{i=1}^{n} x_{i})^{2} = ∑_{i=1}^{n} ∑_{j=1}^{n} x_{i}x_{j} を

用いた．計算実験結果を Table 2 に示す．

表 2: グラフ分割問題に関する計算実験結果

n 計算時間 (秒) 反復回数双対ギャップ相対双対ギャップ
10  0.1  11  1.84e-05  2.47e-06
20  0.2  12  3.22e-05  2.24e-06
50  2.3  12  2.50e-04  8.02e-07
100  12.5  12  6.46e-03  6.18e-6
200  115.1  12  1.04e-02  2.39e-06
500  3197.9  15  4.35e-06  1.22e-09
1000  63130.7  21  4.85e-06  4.80e-06

7.3 最大クリーク問題

G = (V, E) を頂点集合 V = {1, 2, …, n} と枝集合 E ⊂ {(i, j) : 1 ≤ i < j ≤ n} からなる無向グラフとする．頂点の部分集合 C は，そのすべての頂点間が枝で結ばれているとき，すなわち，

i ∈ C, j ∈ C, i < j ⟹ (i, j) ∈ E

を満たすとき，クリークと呼ばれる．頂点の個数が最大のクリークを求める問題は最大クリーク問題と呼ばれる．各頂点に i ∈ V にクリーク C に入るか，否かを定める 0-1 変数 u_{i} を対応させると，最大クリーク問題は

\begin{matrix}目的： & ∑_{i=1}^{n} u_{i}^{2} → 最大化 \\ 条件： & u_{i}u_{j} = 0 (∀(i, j) ∉ E, i < j), \\ & u_{i}(u_{i} − 1) = 0 (1 ≤ ∀i ≤ n). \end{matrix} \}  (46)

と定式化される．さらに，問題 (46) の任意の許容解 u に対して，変数変換

x_{i} = \frac{u_{i}}{\sqrt{∑_{i=1}^{n} u_{i}^{2}}} (1 ≤ ∀i ≤ n)

を施すと，

∑_{i=1}^{n} ∑_{j=1}^{n} x_{i}x_{j} = (∑_{i=1}^{n} x_{i})^{2} = (∑_{i=1}^{n} \frac{u_{i}}{\sqrt{∑_{i=1}^{n} u_{i}^{2}}} )^{2} = ∑_{i=1}^{n} u_{i}^{2},
∑_{i=1}^{n} x_{i}^{2} = 1

が成り立つ．したがって，

\begin{matrix}目的： & ∑_{i=1}^{n} ∑_{j=1}^{n} x_{i}x_{j} → 最大化 \\ 条件： & x_{i}x_{j} = 0 (∀(i, j) ∉ E, i < j), \\ & ∑_{i=1}^{n} x_{i}^{2} = 1. \end{matrix} \}  (47)

が導かれる．逆に， x^{∗} を問題 (47) の最大解とすると，ある α ∈ (0, 1] が存在して，

x_{i}^{∗} = \{ \begin{matrix}α & (x_{i}^{∗} ≠ 0 のとき), \\ 0 & (x_{i}^{∗} = 0 のとき), \end{matrix}

を示すことができる．この関係を用いいると，

u_{i}^{∗} = \{ \begin{matrix}1 & (x_{i}^{∗} ≠ 0 のとき), \\ 0 & (x_{i}^{∗} = 0 のとき), \end{matrix}

で定義される u^{∗} は問題 (46) の最大解となることが分かる．よって，問題 (46) と問題 (47) は等価であることが分かった．

２つの問題 (46) と (47) を比較すると， (47) のほうが等式条件の個数が少ない．そこで，問題 (47) に SDP 緩和を適用すると

\begin{matrix}目的： & E • X → 最大化 \\ 条件： & E_{ij} • X = 0 (∀(i, j) ∉ E, i < j), \\ & I • X = 1. \end{matrix} \}  (48)

を得る．ただし，

E : すべての要素が 1 の n × n 行列,
E_{ij} : (i, j)-要素, (j, i)-要素が 1/2 で

他のすべての要素が 0 の n × n 行列,

I : n × n 単位行列.

この SDP に関する計算実験結果を Table 3 に示す．

表 3: Numerical results on maximum clique problems.

n  m 計算時間 (秒) 反復回数双対ギャップ相対双対ギャップ
50 132  2.8  15  1.57e-07  7.43e-09
50 253  4.8  15  6.20e-08  3.85e-09
50 597  20.8  14  4.43e-09  5.72e-10
100 539  30.2  16  3.04e-08  9.73e-10
100 1024  143.0  16  7.83e-08  3.49e-09
200 622  191.7  19  6.58e-07  7.89e-09
200 993  237.4  16  1.81e-07  2.63e-09
300 944  749.3  18  2.38e-07  1.81e-09
300 1401  1041.9  18  9.61e-08  8.42e-10
300 4568  19028.7  19  2.22e-07  3.55e-09

8 おわりに

これまで述べてきたように，理論的には SDP 緩和は LP 緩和よりも強力である．しかしながら，現時点では一般の 0-1 整数計画問題への SDP 緩和は実用レベルにあるとは言いがたい．今後の発展に向けては以下の課題が重要であろう．

(A) 大規模な SDP を高速に解くソフトウエアの開発：線形計画問題に対する主・双対内点法（[24] 等参照）が SDP に拡張されている（[17] 等参照）．線形計画問題と比較すると：

• SDP の変数は対称行列でそれに含まれる実数変数の個数が多いこと．たとえば，標準形の SDP (15) で n = 1000 であるとすると主問題の対称行列変数 X と双対問題の対称行列変数 S に含まれる 100 万個以上の実変数を扱う必要があり，データ行列 A_{0}, A_{1}, …, A_{m} が過疎であったとしても，これらの行列は通常密である．主・双対内点法の各反復では 1000 × 1000 の密な行列の線形演算が要求される．

• 6 節で述べたように， 0-1 整数計画問題の緩和から生ずる SDP では，元の問題の線形不等式条件を２つ組み合わせて２次不等式条件として SDP に組み入れるため，その個数が非常に多くなる．標準形の SDP (15) の主問題に帰着したとき，等式条件の個数 m は n(n + 1)/2 まで多くなる可能性がある．

• 探索方向ベクトルの計算に線形計画問題に対する主・双対内点法で蓄積されたデータ行列の過疎性を処理する技術が使えず，新しい技術が必要である（[8]）．たとえば，標準形の SDP (15) の場合には， m × m の完全に密な正定値対称行列を係数行列とする線形方程式を解く必要がある（この困難を克服するために conjugate gradient 法の適用が提案されている）．

前節で計算実験に用いたソフトウエア SDPA [9] の他にもいくつかのソフトウエア [2, 3, 33] 等が公開されている．いずれも Internet を通して入手可能なので，計算実験を試みようとする読者は利用するとよい．これらのソフトウエアでは，徐々に大きな SDP が解けるようになってきてはいるが，一般の 0-1 整数計画問題の緩和から生ずる大規模な SDP を高速に解くには到ってはいない（残念ながら，前節でも “SDP 緩和に適した” 基本的な組み合わせ最適化問題の計算実験しか紹介できなかった）．

(B) SDP 緩和の定量的な評価： 6 節では SDP 緩和は LP 緩和よりも強力であることを定性的に示したにすぎない．特殊な組み合わせ問題（最大クリーク問題，グラフの最大カット問題等）に対しては定量的な評価もなされているが，一般の 0-1 整数計画問題に SDP 緩和が， LP 緩和と比較してどの程度有効かは分かっていない．今後，理論および計算実験を通してこの点が解明されることが期待される．

(C) 分枝限定法，切除平面法，発見的手法等の他の手法との適合： SDP 緩和は組合せ最適化問題の最小にすべき目的関数の下界値を教えてくれるだけであるから，より小さい目的関数値を達成する許容解を生成してゆく仕組みと併用せざるを得ない．また， SDP 緩和で得られた下界値の改良もしなければならない．そのためには，これまで LP 緩和と一緒に使われてきた種々の組合せ最適化手法をどのように組み入れるかの研究が必要である．

謝辞：慶応義塾大学大学院理工学研究科管理工学専攻修士２年の武田朗子さんには原稿を読んで誤植と読みにくい箇所を指摘してもらいました．ありがとうございました．

参考文献

[1] W. F. Alizadeh, “Interior point methods in semidefinite programming with application to combinatorial optimization,” SIAM Journal on Optimization 5 (1995) 13–51.

[2] F. Alizadeh, J.-P.A. Haeberly, M.V. Nayakkankuppam, M.L. Overton and S. Schmieta, “SDPpack – User’s Guide –,” Computer Science Dept. New York University, New York, June 1997. Available at http://cs.nyu.edu/cs/faculty/overton/sdppack/sdppack.html.

[3] B. Borchers, “CSDP, a C library for semidefinite programming” Department of Mathematics, New Mexico Institute of Mining and Technology, 801 Leroy Place Socorro, New Mexico 87801, March 1997. Available at http://www.nmt.edu/˜ borchers/csdp.html.

[4] E. Boros and P. L. Hammer, “Cut polytopes, boolean quadric polytopes and nonnegative pseudo boolean functions,” Mathematics of OPerations Research 18 (1993) 245–253.

[5] S. Boyd, L. E. Ghaoui, E. Feron and V. Balakrishnan, Linear Matrix Inequalities in System and Control Theory, (SIAM, Philadelphia, 1994).

[6] T. Fujie and M. Kojima, “Semidefinite relaxation for nonconvex programs,” Journal of Global Optimization 10 (1997) 367–380.

[7] K. Fujisawa, M. Fukuda, M. Kojima and K. Nakata, “Numerical evaluation of the SDPA (SemiDefinite Programming Algorithm),” B-330, Dept. of Mathematics and Computing Sciences, Tokyo Institute of Technology, Meguro, Tokyo 152, September 1997.

[8] K. Fujisawa, M. Kojima and K. Nakata, “Exploiting sparsity in primal-dual interior-point-methods for semidefinite programming,” Matheamtical Programming 79 (1997) 235–253.

[9] K. Fujisawa, M. Kojima and K. Nakata, “SDPA (Semidefinite Programming Algorithm) – User’s Manual –,” B-308, Dept. of Mathematics and Computing Sciences, Tokyo Institute of Technology, Meguro, Tokyo 152, Dec. 1995, Revised Aug. 1996. Available via anonymous ftp at ftp.is.titech.ac.jp in pub/OpRes/software/SDPA.

[10] M. X. Goemans and D. P. Williamson, “Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming,” Journal of Assoc. Comput. Mach. 42 (1995) 1115–1145.

[11] M, Grötschel, Lovász and A. Schrijver, “Polynomial algorithms for perfect graphs,” Annals of Discrete Mathematics 21 (1984) 325-356.

[12] M, Grötschel, Lovász and A. Schrijver, “Relaxations of vertex packing,” Journal of combinatorial Theory, Series B 40 (1986) 330-343.

[13] M. Grötschel, L. Lovász and A. Schrijver, Geometric algorithms and combinatorial optimization (Springer, New York, 1988).

[14] 原辰次， “ロバスト制御理論の動向 – 実用的な制御設計法を目指して –， ” Proceedings of the 38th Annual conference of the ISCIE (1994) 25–27.

[15] 茨木俊秀，「組合せ最適化 – 分枝限定法を中心として –」，産業図書 (1983).

[16] D. E. Knuth, “The sandwich theorem,” Electronic Journal of Combinatorics 1 (1995).

[17] 小島政和， “半正定値計画問題と内点法”，応用数理 6 (1996) No.4 16–25.

[18] 小島政和， “半正定値計画の組合せ最適化への応用に向けて”，オペレーションズ・リサーチ 42 (1997) 216–221.

[19] 今野浩，鈴木久敏編，「整数計画法と組合せ最適化」，日科技連 (1982).

[20] 久保幹雄，メタヒューリスティックス，室田一雄編，「離散構造とアルゴリズム IV」，近代科学社 (1995) 171–221.

[21] L. Lovász, “On the Shannon capacity of a graph,” IEEE Transactions on Information Theory 25 (1979) 1–7.

[22] L. Lovász and A. Schrijver, “Cones of matrices and set functions and 0-1 optimization,” SIAM J. on Optimization 1 (1991) 166–190.

[23] O. L. Mangasarian, Nonlinear Programming (McGraw-Hill, New York, 1969).

[24] 水野真治， “内点法”，オペレーションズ・リサーチ Vol. 40 (1995)， (1) No.6 321–326， (2) No.7 376–381， (3) No.8 437–442， (4) No.9 508–512．

[25] Ju. E. Nesterov, “Quality of semidefinite relaxation for nonconvex quadratic optimization,” CORE Discussion Papaer, #9719, March 1997.

[26] Yu. E. Nesterov and A. S. Nemirovskii, Interior-Point Polynomial Algorithms in Convex Programming (SIAM, Philadelphia, 1994).

[27] M. Padberg, “The boolean quadric polytope: some characteristics, facets and relatives,” Mathematical Programming 45 (1989) 139–172.

[28] S. Poljak, F. Rendl and H. Wolkowicz, “A recipe for semidefinite relaxation for (0,1)-quadratic programming,” Global Optimization 7 (1995) 51–73.

[29] H. Sherali, Y. Lee and W. P. Adams, “As simultaneous lifting strategy for identifying new class of facets for boolean quadric polytope,” Operations Research Letters 17 (1995) 19–26.

[30] N. Z. Shor, “Quadratic optimization problems,” Societ journal of Computer And Systems Sciences 25 (1987) 1–25.

[31] N. Z. Shor, “Dual quadratic extimate in polynomial and boolean programming,” Annals of Operations Research 25 (1990) 163–168.

[32] C. D. Simone, “The cut polytope and the boolean quadric polytope,” Discrete Mathematics 79 (1989) 71–75.

[33] K. C. Toh, M. J. Todd and R. H. Tütüncü, “SDPT3 – a MATLAB software package for semidefinite programming,” Department of Mathematics, National University of Singapore, Singapore, December 1996. Available at http://www.math.nus.sg/˜ mattohkc/index.html

[34] Y. Ye, “Approxamating quadraric programming with bound constraints,” Working paper, Dept. of Management Sciences, The University of Iowa, March 1997.