第3章 アニーリングマシンと2次式と離散値の関係

第3節 2次式の最適化問題(ポートフォリオ最適化)

では、この2次の項は、実際の問題ではどういう時に現れるのでしょうか。この例として取り上げたいのは第1章の最適化問題3. のポートフォリオ最適化の問題です。$s_i$は$x_i$という銘柄を買うかどうか(買う場合に$+1$、買わない場合に$-1$)、$s_j$は$x_j$という銘柄を買うかどうかを表しているとします。例えば、$x_i$という銘柄の価格が上がった時に$x_j$という銘柄の価格も上がる場合、これらは正の相関を持つといい、例えば、コスト関数でリスクを表す場合にその2つの値を書けたときの係数$a_{ij}$を正の値で表します。例えば、$x_i$と$x_j$の両方の銘柄を買っていた場合に$x_i$の銘柄の価格が下がった場合には$x_j$の銘柄の価格も下がり、大きく損をしてしまうことを表しています。つまり、$a_{ij}s_is_j$の値が正の値となりリスクが大きくなることを示しています。一方で、$x_i$と$x_j$が市場の値動きに対して逆方向に動き、$x_i$の価格が上がった時には$x_j$の価格は下がる、一方で$x_j$の価格が下がった時に$x_i$の価格が上がるという関係があれば、これを同時に買っておけば、一度に価格が下がることがなくリスクを下げることが出来ます。この場合、相関係数の$a_{ij}$を負の値に設定すればこの関係を表すことが可能となります。このように、相関関数の値によって銘柄を買うべき買わざるべきかの関係を示すことが出来るのです。
これは、ポートフォリオ最適化だけの関係ではなく、それ以外の組合せ最適化問題で、互いの選択肢が影響し合う変数同士の関係を考えた時に現れる状況と言えます。4. のシフト最適化問題もそうです。例えば、ある時間に必要な枠が1人分あったとします。在籍スタッフとしてAさん、Bさん、Cさんがいるとします。その枠にAさんが入ることになれば、Bさん、Cさんは、入る必要がなくなります。誰かを割り当てるべき1つの枠がある時に、スタッフ同士の割り当てられるか割り当てられないかという関係には相互作用があるというわけです。Aさんが(出)だった場合にはBさんが(休)という関係、このことを相互作用といいます。

尚、組合せ最適化問題とはにある菓子選択問題は、第1節で説明したミックスジュースの問題と同様に1次式です。ただ、満足度がお菓子の組合せで変わってきた場合、2次式が現れます。たとえば、チョコレートの満足度がそれだけを食べた時には10点、ポテチの満足度がそれだけを食べた時には8点だったとします。特に満足度がお菓子の組合せに依らない場合には、チョコとポテチを選んだら満足度の合計は18点になります。ただ、実際には、甘いものとしょっぱいものを食べると満足度が増すように感じる人も多いと思います。その場合には、チョコとポテチを選んだら満足度が倍の36点になるようにモデル化することが出来ます。この場合には、お菓子の組合せによって満足度が単なる足し算ではなくなるので、コスト関数には2次の項が現れます。このように、同じように見える問題でも、モデル化の仕方が少し変わると1次だったり2次だったりするのです。相互作用がある最適化問題は1次式向けのソルバーで解くのは非常に困難ですが、アニーリングマシンであれば2次式のこのような特徴を活用することで効果を発揮することができます。

アニーリングマシンにより成果を得るために、相互作用のある問題選びができているかは非常に重要なポイントです。