こんにちは、日本情報通信株式会社の渡邊です。
今回は「数理最適化」と「IBM ILOG CPLEX」の活用を、初心者向けにわかりやすく解説する全3回シリーズの中編をお届けします。
シリーズ構成は以下になります。
-
前編:「数理最適化」とは?
-
中編:最適化ソリューションCPLEXとは(今回)
-
後編:簡単な最適化問題をCPLEXで解いてみよう
前編では「数理最適化」の概要と事例をご紹介しました。
今回は、その最適化を支えるツールIBM ILOG CPLEXの特徴と魅力をご説明します。
この記事を読んで、CPLEXがどんなソフトなのか、その強みを持ち帰っていただければ幸いです。
1. CPLEXとは?
IBM ILOG CPLEX は、数理最適化の計算を実行し、最適な答えを探し出すためのソフトウェアです。
あなたが「こういう条件を守りながら、こういう目標を達成したい」と設定すると、その条件に従って膨大な候補を計算し、最も条件に合うベストな解を提示してくれます。
(このような役割を持つソフトウェアは一般にソルバーと呼ばれます。)
CPLEXは世界中で利用されている代表的なソルバーのひとつで、業務や研究の現場で幅広い課題に活用されています。
もう少し具体的にソルバーを説明します。
シフト作成の例で考えてみましょう。前編で紹介した「シフト作成」の例をもう一度振り返ります。
もしあなたがシフトを決めるとしたら、こんな条件が浮かびます。
これらをすべて守りながら一番良いシフトを作ろうとすると、組み合わせは何通りもあり、人の手で最適な選択肢を選ぶのが難しくなります。
そこでソルバー(CPLEX)の出番です。あなたが条件と目的を入力すると、ソルバーは
-
膨大な候補を効率よく探索し
-
条件をすべて満たす解の中から
-
目的に最も合致する解を短時間で提示します
人間が何時間・何日もかけて検討するような複雑な課題を、コンピュータの力で代わりに短時間に自動で解いてくれるのです。
2. CPLEXの魅力
CPLEXは前述の通り世界中で使われています。
では、なぜ数多くの現場でソルバーとしてCPLEXが選ばれているのでしょうか。
ここでは3つの視点で、その魅力を紹介します。
(1) 幅広い問題に対応
CPLEXは1つのソフトなのに、複数の計算エンジンを搭載しています。
これによりシンプルな最適化から、複雑なスケジューリングまで幅広い課題を解くことができます。
特に、順序や割り当てといった複雑な条件が絡むスケジュール問題では効率よく答えを導くことができ、他のソルバーでは時間がかかるような課題も現実的な時間で解けることが多いです。
(2) 高性能
最適化は組み合わせの数が膨大になりがちで、計算が遅くなれば答えを得るまでに時間がかかります。
CPLEXは長年の開発とチューニングにより、無料のソルバーでは時間のかかる大規模問題も高速に処理できます。
(3) 柔軟な利用形態
基本的にCPLEXは自社のサーバ環境にインストールして使うのが一般的です。
一方で、最近ではIBM Cloud上のSaaS形式で最適化を実行できるサービスも登場しています。
IBM Cloud上のDecision OptimizationではCPLEXソルバーの技術をブラウザから利用できるため、インストールやライセンスサーバの構築不要でモデルを試すことが可能です。
最初の一歩や短期的な検証には、クラウド利用も有効です。
3.CPLEXを試してみる
「CPLEXって凄そうだけど、まず動かしてみたい」という方には、CPLEXコミュニティエディション(無償版)があります。
解ける問題の規模に上限がある小規模向けですが、学習や検証に利用できます。
1. ダウンロード
IBM公式サイトから入手できます。
※利用にはIBM ID(無料登録)が必要です。未登録の方は案内に従って作成してください。登録後はすぐに利用可能です。
2. インストール
セットアップ手順については、わかりやすく画面付きでまとめていただいている記事がありますので参考にしてみてください。
CPLEXインストール手順(Qiita記事/@spssfun2017〈Organization: IBM〉)
実際のインストール画面や操作の流れが丁寧に説明されているため、初めてCPLEXを導入する方にもおすすめです。
Windows、Macともに簡単にインストールできます。
まとめ
CPLEXは、複雑な条件を満たしながら最も良い解を見つける「数理最適化」のための強力なソフトウェアです。
業務や課題のタイプを問わず幅広く対応でき、大規模で複雑な問題でも高速に解くことができます。
利用形態も柔軟で、従来のオンプレミス環境に加え、IBM CloudのSaaS形式サービスを使ってクラウド上で最適化を実行することも可能です。
【次回予告】簡単な最適化問題をCPLEXで解いてみよう
後編では、この環境を使い実際にシンプルな最適化モデルを作り、CPLEXで解く手順を体験します。
ぜひ事前にCPLEXのインストールの準備をしておいてください。
「気になる!」と思った方は、これから続編をアップしてまいりますのでぜひ続きをご覧ください。