- 「最適化問題」に興味があるけど理解できるか不安・・・
- 「最適化問題」を考えることの面白さが分からない?
- 「最適化問題」の面白さを分かりやすく教えて!
「最適化問題」について、興味はあるけど難しそうで勉強をする気が出ないケースは非常に多いです。
私は「最適化問題」について以前から興味がありましたがその面白さを知らず、勉強するまでに至らなかった経験があります。
そこでこの記事では、「最適化問題」のその面白さについて解説します。
この記事を参考に「最適化問題」の面白さが理解できれば、ビジネスに活用できるはずです。
1.最適化とは?

最適化とは、「制約条件がある中で複数の選択肢を組み合わせ何らかの成果を出すとき、その成果を最小または最大にすること」をいう。一方、「最適」とは「最もよくあてはまっている」という意味。「この服が最も似合っている」などというのも最適の一種ですが、誰にでも似合う服というものはないので、「その人にとって」という制約条件がある中での最高という訳である。

あなたにとっての最適とはあなたにとっての最高のこと!!
2.最適化問題とは?

最適化問題(Optimization Problem)とは与えられた制約条件の下で、ある目的関数を大または最小にする解を求めることである。最適化問題は制約条件や目的関数などを、数理モデル(数式)にしなくては解けない。
ここでは組合せ最適化問題の例として下記の2つを紹介し、その後、IoT社会における組合せ最適化処理の高速解法の重要性について述べる。なお、組合せ最適化問題とは様々な制約の下で多くの選択肢の中から、ある指標(価値)を最も良くする変数の値(組合せ)を求めることである。
2.1 菓子選択問題

組合せ最適化問題を解くことは、日常生活の様々な場面で皆さんも経験している。例えば、子供の時の遠足の菓子選び(菓子選択問題)を思い出してみる。この場合、変数・制約・価値は下記で与えられる。

あなたは子供の頃、遠足でどのお菓子を持って行きましたか?
- ①変数:どの菓子を選ぶのか?
- ②制約:遠足で決められた総額
- ③指標(価値):子供の満足度
品名 | 変数 | 値段(円) | 満足度(点) |
---|---|---|---|
せんべい | x1 | 120 | 10 |
キャンディ | x2 | 30 | 3 |
クッキー | x3 | 90 | 4 |
ポテチ | x4 | 150 | 8 |
ガム | x5 | 120 | 7 |
ここでそれぞれのお菓子は2個以上買わないものとする。シンプルに表すために、変数x1,x2,⋯x5∈0,1、0: 選択しない、1:選択する
導入して菓子選択問題を数式で表現してみる。この時、最大化したい価値(満足度)と制約(決められた総額は)以下で与えられる。
・価値:10×1+3×2+4×3+8×4+7×5 |
・制約:120×1+30×2+90×3+150×4+120×5≦300 |
この制約を満足しつつ、価値を最大化する菓子の組合せが求めたい答えとなる。
答え:せんべい、キャンディ、ポテチ(満足度21点、総額300円)
ここで挙げた例は菓子の種類は5種類であり非常に単純な例であったが、様々な応用が考えられる問題であると言える。実際このような問題は実社会の様々なシーンで現れる。
例えば、各案件の必要経費と期待利益が与えられたとき、決められた予算(制約)で期待利益(価値)を最大化する、案件の組合せを求める問題(投資先選択問題)等が挙げられる。
2.2 巡回セールスマン問題

組合せ最適化問題の別の例として、巡回セールスマン問題(配送経路問題)を考えてみる。
この問題は、都市間の距離のリストが与えられた際に、セールスマンが複数の都市をどのように訪問すれば、最短の移動経路(最適経路)で済むかを求める問題となる。
ただし、それぞれの都市には一度ずつしか訪問しないとする。都市数が少なければ全ての解候補をしらみつぶしに調べることが可能である。しかし、都市数が例えば30都市に増えると、候補数が爆発的に増加し、その組合せの数は10の30乗という驚異的な値となる。
この場合、全ての解候補を網羅的にリスト化して最適経路を求めるには、スーパーコンピュータを用いたとしても1,400万年という天文学的な時間が必要となってしまう。
このように、組合せ最適化問題はパラメータが増えると、厳密解を得ることが途端に解くのが難しくなる特徴がある。
3.IoT社会と組合せ最適化問題の関係

実世界とサイバー空間が相互連携したIoT社会においては、人とインターネット空間の接点はパソコンやスマートフォンといったエッジ端末に留まらず、車や家といった生活空間や工場・オフィスなどに遍く広がっている。
そしてIoT社会においては、大量のセンサーで収集された膨大なデータを解析し、それに基づいて実世界や各種システムを最適制御することを目指している。それにより、我々の生活がより豊かになり、少子高齢化やエネルギー問題といった私たちが抱える社会的な課題も解決すると期待されている。すなわち、製造(Industrie 4.0)、物流、小売、金融(Fintech)、交通、社会インフラ、医療、農業、ヘルスケア等の広範な産業分野において、技術革新や新たな雇用創出が行われ、産業・経済構造が劇的に変革すると考えられる。
このようなIoT社会においては、与えられた制約条件の下で、膨大な組合せの中から(準)最適解を高速かつ高精度に探索し、それに基づいて各種機器、インフラ、工場、都市などのIoTシステムを最適制御することが必須となっている。
例えば、物流システムの場合、すべての配送先を訪れるという制約条件の下で、配送コストを最小とする配送経路を求める必要があります。また人工知能(AI)における機械学習アルゴリズム(深層学習等)においては、最適化処理を学習過程において行う必要がある。
このように、IoT社会を活用した新たな価値・サービスを実現するには、組合せ最適化問題を高効率で処理する技術がキーとなると考えられる。
一方で複雑で大規模化する社会システムに内在する組合せ最適化問題に対して、従来のノイマン型計算機を前提とした手法を適用することは組合せ最適化問題の特徴から計算量が爆発し、計算効率及びエネルギー効率の観点から困難と考えられる。
実際、IoTが世の中に遍く浸透する2030年においては、データ量は現在の100倍以上となると予測されている。このように爆発的に増え続けるビッグデータを高速かつ低消費電力で処理し、最適システム制御を行うためには、計算機ハードウェアの抜本的かつ非連続的革新が必要となっている。このため「量子コンピュータ」の開発運用が重要になってくると考える。
4.最適化問題と哲学

乗り換え案内などは経路の最適化であり、最適化のアルゴリズムに従ってコンピュータが最適解を出す。私はコンピュータの性能が今後さらに向上すれば今は複雑で計算時間がかかる最適化問題をいずれ容易に解けるようになるのではないかと考える。ただし、何をもって最適とするかは人間が決めなければならずそこには価値観の明確化が必要であると考える。

あなたは何をもって最適としますか?
5.まとめ
最後まで読んで頂きありがとうございます。
皆様のキャリアアップを応援しています!!
コメント