{{title}}
{{#subtitle}}{{{subtitle}}}
{{/subtitle}}カテゴリ {{#document_type}} {{.}} {{/document_type}}
{{#desc}}{{desc}}
{{/desc}}カテゴリ {{solution_label}}
タグ コラム
カテゴリ カスタマイズ可能なAIアプリを開発するソリューションDataRobot 業種・業界共通 業務効率化・業務自動化・業務プロセス改善 コスト削減・コスト最適化・経費削減 データドリブン経営 AI・データ利活用 デジタルソリューション&コンサルティング
NVIDIA® cuOpt™(以下cuOpt)はGPUを活用して大規模な最適化問題を高速に解く最適化ソルバーであり、2025年3月にオープンソース化されました。それと同時にNSSOLがDataRobot Japanと提供する分析・予測AIツールDataRobotからNVIDIA® cuOpt™を利用できるようになりました。本コラムでは、『予測×最適化』を実現する手段となり得る「DataRobotでのcuOptの利用」についてご紹介します。
後編:DataRobotからNVIDIA cuOptを使ってみた(後編)
ビジネスにおけるデータの利活用は「取得・可視化」→「分析」→「予測」→「最適化」のステージがあります。
昨今、DataRobot等のAIツールの普及により、企業におけるデータの利活用は「予測」のステージまできていますが、「最適化」の部分までは着手できていない、または人が経験や勘に頼って対応している状態です。今後、データの利活用をビジネスの価値へ結びつけるために、多くの企業は「最適化」のステージへ進むと考えています。
過去データから未来を予測し、その予測結果をもとに意思決定を最適化するユースケースとして、いくつか例を挙げます。
ユースケース①:需要予測 × 生産計画最適化
予測:過去の販売データ、季節要因、キャンペーン情報をもとに未来の需要を予測
最適化:予測結果と生産能力等の条件をもとに、工場や店舗の生産スケジュールやライン配分を最適化
効果:在庫コスト削減、欠品率低下、生産ライン稼働率向上など
ユースケース②:交通量予測 × 配送ルート最適化
予測:過去の交通データ、天候、曜日、イベント情報をもとに、道路の混雑状況や所要時間を予測
最適化:予測結果と配送時間枠・積載容量をもとに、配送車の配送ルートを最適化
効果:配送時間短縮、燃料コスト削減など
ユースケース③:顧客行動予測 × マーケティング最適化
予測:過去の購買データや解約状況から、顧客の購買行動や解約リスクを予測
最適化:予測結果をもとに、マーケティング施策(キャンペーン、クーポン配布、広告配信)を最適化
効果:キャンペーンROI向上、解約率低下など
AI予測ツールの一つであるDataRobotは、NVIDIA AI Enterpriseと連携しており、DataRobotの環境にNVIDIA NIM™ マイクロサービス (以下NIM)のモデルを取り込むことができます。
DataRobotに取り込めるNIMモデルにはGPUを活用した最適化ソルバーであるcuOptのNIMモデルも含まれており、DataRobotで予測した結果をもとにcuOptのNIMモデルで最適化問題を求解することが可能です。例えば、需要予測を入力として生産計画を最適化する流れを、予測と最適化の連携として一連のパイプラインに組み込むことができます。
このように、DataRobotとNVIDIA AI Enterpriseの連携により、『予測×最適化』という新しいワークフローが一つのプラットフォームで実現されることで、ビジネスのスピードと意思決定の質を同時に高めることが期待できます。
cuOptは、NVIDIAが提供するGPU活用型の大規模組合せ最適化ソルバーです。NVIDIAの公式ページ<cuOpt | 意思決定の最適化 | NVIDIA>には、最適化ソルバーとしてのcuOptの特徴が以下のように記載されています。
また、cuOptはオープンソース ソフトウェアとして提供されており、ソースコードやAPIがGitHub< GitHub - NVIDIA/cuopt: GPU accelerated decision optimization >で公開されています。
現時点でcuOptを利用する方法は大きく分けると以下の3パターンがあります。
今回は、「3.NVIDIA AI EnterpriseのNIMモデルをデプロイし、REST APIでリクエスト実行」の一例として、DataRobotでcuOptを利用する手順についてご紹介します。
DataRobotでのcuOptの利用手順は以下となります。
上記2のcuOptのNIMモデルをREST APIで実行するPythonプログラムについては、NVIDIAのAPI カタログに公開されているサンプルコード< cuopt Model by NVIDIA | NVIDIA NIM >の「nim_client.py」が参考になります。カスタマイズが必要な点については、以下で説明します。
サンプルコードはローカルホスト上にデプロイしたcuOptのNIMモデルに対するリクエストとなっているため、リクエストURLを変更する必要があります。
具体的には、DataRobot上でNIMモデルのベースURLが確認できるので、サンプルコードの「http://localhost:5000」の部分をベースURLに変更します。
DataRobot上にデプロイしたNIMモデルへのリクエストにはAPIキーが必要なため、下記postやgetの引数へヘッダーを追加し、ヘッダーに"Authorization"でAPIキーを設定します。(サンプルは、ローカルホストでNIMモデルのコンテナを起動しているため、リクエスト時には認証不要で、ヘッダーを設定していないコードになっています。)リクエスト時に必要なAPIキーもDataRobot上で確認することができます。
サンプルコードの求解リクエストAPIのリクエストペイロードは、ルーティング問題(TSP、VRP、PDP)用のスキーマの例となっています。求解したい最適化問題がLPまたはMILPの場合は、LP用のスキーマの内容で設定する必要があります。
求解リクエストAPIのリクエストペイロードの設定内容については、cuOpt Open-API Reference< cuOpt Open-API Reference - Swagger — NVIDIA cuOpt (25.12) >の「POST /cuopt/request」に詳細が記載されています。
前編は、「DataRobotでのcuOptの利用」の手順までをご紹介しました。後編では、実際にDataRobot上でのcuOptを実行してみた結果や、『予測×最適化』のワークフローを一つのプラットフォームで実現するイメージについてご紹介します。
本記事で引用しているサンプルコードは、下記のNVIDIA cuOpt 公式ドキュメントページより抜粋しました。
出典: https://build.nvidia.com/nvidia/nvidia-cuopt/deploy(閲覧日:2026年1月23日)
© NVIDIA Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0
http://www.apache.org/licenses/LICENSE-2.0
引用目的で必要最小限の抜粋を行い、出所と URL 、ライセンス文言を明示しています。
光野 隼人
日鉄ソリューションズ 株式会社
デジタルソリューション&コンサルティング本部
先端技術オファリングセンター
インテリジェントシステム部