事業所向け事務用品の通信販売などを手掛けるアスクルは、進化計算を利用して配送コストの削減に取り組んでいる。通信販売においては、顧客の注文を、迅速かつ1つにまとめて送ることが重要になる。しかし、各倉庫に全ての商品があるわけではない。そのため、実際には荷物が複数に分かれる“個口分かれ”の状態が発生したり、遠方の倉庫から配送したりすることもある。個口分かれや遠距離配送になると、アスクルにとっては配送料が高くなり、注文者は受け取りの手間が増えたりする。かといって全ての商品を多くの倉庫に配置すると、出荷頻度が低いロングテールの商品は特に在庫コストがかさむ。
アスクルは国内の9拠点(2022年10月時点)に倉庫を配置している(図4)が、各商品を、どの倉庫に在庫しておくかは人が経験的に決めていた。しかし、配送や在庫のコストをさらに削減するため、アスクルから佐藤氏に相談があり、問題を解きほぐしていく中で、多目的最適化問題として解ける可能性が見えてきたという。
目的関数は、総配送費を最小化すること、そして、在庫管理費を最小化することの2つとした。1つ目は、個口分かれと遠距離配送を減らすことに対応した関数で、商品を在庫する倉庫の数を増やすことにより減少する関数だ。2つ目は、在庫管理費を低減させることに対応しており、各商品を在庫する倉庫の数を減らすことで減少する関数である。この組み合わせ最適化問題では、数式で表すことが困難な点が含まれるため、目的関数の詳細がブラックボックスでも適用できる進化計算を採用した。
この問題は、例えば1000個の商品を8箇所に在庫するかしないかという離散値問題になる。単純には2の8000乗もの組み合わせが考えられ、膨大な計算量になってしまう。そこで「商品別交叉」の手法を用いた。「進化計算のデメリットといえますが、親同士を掛け合わせるときに、ランダムに解全体を交叉させるため、最適化の過程で得られた良い解の構造を破壊してしまうということがあります」(佐藤氏)。
最適化問題を解く際は、組み合わせを作るたびにシミュレーターを通すが、ありとあらゆる組み合わせを試すとなると計算時間も増えてしまう。そこで、商品ごとの在庫の組み合わせについて、まとめて扱うことを試みた。最適化する進化の過程で、良い部分的な組合わせは自然と候補として残る。例えば、最適化する進化の過程で、鉛筆を東京と大阪だけに配置する組み合わせが自然と残れば、鉛筆の良い在庫配置の候補になり得る。この部分的な組み合わせをまとめて壊さないようにし、他の商品の在庫配置の候補との組み合わせを探ることに注力した。これにより、効率的に最適な組み合わせを見いだせるようになった(図5)。
身の回りには最適化問題として捉えられるテーマが多くある。「製造業においては、品質の最大化を追求するとコストの改悪につながります。一方、コストを最小化すれば品質が犠牲になります。そのため、現実には双方のバランスが考慮されます」と佐藤氏は語る。「また、近年関心の高いSDGs(持続可能な開発目標)でも同じです。エネルギー消費を抑制し過ぎれば、経済活動の鈍化や、健康で快適な生活の抑制にもつながります。SDGsは17の目的がありますが、ある1つだけに注力すれば他が改悪する、まさに多目的最適化と同じモデルであり、多目的最適化が得意な進化計算は、こういった実世界の問題を解く有力な方法になると考えられます」(佐藤氏)。
進化計算にはさまざまな手法があるが、日本においては、そのうちの1つである遺伝的アルゴリズムとほぼ同義で扱われる。遺伝的アルゴリズムとは、生物の進化を模倣したアルゴリズムで、さまざまな設計パラメータを持つ設計を個体に見立てる。最も優秀な個体(パラメータの組)を親として選び、お互いのパラメータの一部を交換し合って(交叉)子を作る。そうして目的に適合する解の集合を求める方法である。
多目的最適化は現実世界と相性が良い。トレードオフを伴うことが通常である現実の問題になじむこと、そして、たった1つではなく複数の答えを提示するからだ。「『この答えを使いなさい』とコンピュータに言われれば私たちは抵抗を覚えます。ですが、進化計算では『これらの答えはいずれも最適です。どれを使いますか?』という形になるため、“コンピュータは意思決定をサポートするツール”という位置付けになります」(佐藤氏)。
一方、課題として、佐藤氏は「進化計算はどんな最適化問題にも適用できますが、現状では、アルゴリズムの調整なしに十分な最適化性能を得ることは難しいです」と語る。また、実際に最適化に取り組む場合には、「進化計算の研究者は実世界に興味のある人が多いので気軽に相談してもらえたらと思います」(佐藤氏)と付け加える。
一方、最適化問題には、目的数が2つか3つまでしか実質的に扱えないという問題があった。目的数が増えると、解の優劣をつけられなくなるのだ。4つ以上の目的の最適化は格段に難易度が上がるため、多目的最適化と区別して、「多数目的最適化」と呼ばれている。例えば、教室の中で、算数の点数が良い子供、走るのが速い子供といった2つだけに目的を絞ると、だいたいどちらも優秀な子供としてある程度絞られる。しかし、国語が得意、絵が得意など、目的が増えるほど、一体誰が優秀なのかが分からなくなる。「教室では『みんな違って、みんないい』となりますが、最適化問題の場合、どの解を手掛かりにしてさらに能力を高めればよいか判断がつかないことになり、最適化が滞る原因になります」(佐藤氏)。これに対し、佐藤氏は「多様な能力のバランスをあらかじめ定めると、このバランスならこの解がよいといった判断ができるようになり、多数目的最適化がはかどることが分かってきました」と話す。現在は10程度の目的に対して適用できるという。
進化計算は、三菱電機がビル運用に適用したように、デジタルツインとも相性が良い。「精緻なコンピュータシミュレーション技術と進化計算は親和性が高いです。計算機の発展と相まって、さらに利用範囲が広がることは間違いないでしょう」(佐藤氏)。
Copyright © ITmedia, Inc. All Rights Reserved.