Blog

“最適化の伴走者”Gurobotが見る、現場の未来図:Gurobot連載第2回|「表計算ソフトの限界」が見えたとき(後編)

Gurobot(グロボット)に聞いてみた、“その先”の選択肢

Blog

“最適化の伴走者”Gurobotが見る、現場の未来図:Gurobot連載第2回|「表計算ソフトの限界」が見えたとき(後編)

Gurobot(グロボット)に聞いてみた、“その先”の選択肢

Blog

“最適化の伴走者”Gurobotが見る、現場の未来図:Gurobot連載第2回|「表計算ソフトの限界」が見えたとき(後編)

Gurobot(グロボット)に聞いてみた、“その先”の選択肢

author

Dr. Nobuo Inui

Senior Manager of Consulting Group

Dr. Nobuo Inui

Bio

Aさんは、全国に数百店舗を展開する小売チェーンの物流部門で、日々の配送計画を統括しています。

2拠点から30台近いトラックを走らせ、数百店舗へ商品を届ける――。その複雑な配送ルートを、Aさんはこれまで表計算ソフトを駆使して組み立ててきました。しかし、店舗数や出荷量の増加とともに処理が追いつかず、担当者ごとの経験や勘に頼らざるを得ない状況に。「時間もかかるし、ミスも増えてきた。このやり方に限界を感じていました」とAさんは語ります。

ドライバーの負担を平準化し、コストを抑えながら、納品時間を守る――。

そんな“理想の配送ルート”をどうすれば実現できるのか。現場の最前線に立つAさんは、数理最適化AIチャット「Gurobot(グロボット)」に相談を持ちかけました。

後編では、数理最適化の実際のモデルを組みはじめるところまで踏み込んでいきます。

 

▼ Gurobot連載第2回|「表計算ソフトの限界」が見えたとき(前編)はこちら
https://www.gurobi.com/jp_blog/category01-006-01/

Aさん

前回を踏まえて、いくつか、確認とお願いがあります。 

■ 現状のざっくりした前提

  • 拠点:2か所(東・西)

  • 車両:合計28台(2t車・3t車が混在、冷蔵車と常温車があります)

  • 店舗:約320店。全店を毎日まわるわけではなく、頻度がA/B/Cに分かれています

  • 時間指定:開店前や午前中指定など、店によって異なります

  • 1台あたり8〜14店舗まわるのが現実的です

こうした条件を、数理最適化の中でどう表現するのかがまだピンときていません。「モデルに入れる」とは、表計算ソフトの項目をそろえるだけでいいのか、それとも別の設定が必要なのかをもう少し噛み砕いて教えていただけますか?

■ まず小さく試してみたいです

最初から全拠点ではなく、「東拠点の常温便で50〜80店舗くらい」から始めたいと考えています。データは表計算ソフトで管理しているので、

  • 店舗マスタ(住所・時間帯)

  • 車両マスタ(積載量・タイプ)

  • 日別の出荷データ(容積ベース)

この3つを整理してお渡しする形で大丈夫でしょうか?また、「距離」や「移動時間」は普段Googleマップで手作業で出しているのですが、もう少し自動で作る方法があれば教えてほしいです。

■ 出力イメージについて

最適化の結果は、どんな形で出てくるのでしょうか?

  • 表計算ソフトで「車両ごとのルート表」が見られるのか

  • 地図でルートが線で表示されるのか

現場説明に使うので、イメージがあると助かります。 

■ 現場で気になること

  • 途中で「この店舗を急きょ追加したい」という変更が出たとき、全体を組み直さなくても対応できますか?

  • 納品時間を優先すると距離が伸びると思うのですが、そのバランスはどう調整するのでしょうか?(「重み付け」みたいな考え方ですよね?)

  • モデルの計算時間はどのくらいかかるものでしょうか?(数分で終わるイメージでしょうか?)

■ 今後の進め方

まずは、データをそろえてGurobotさんに見ていただき、「どんな形でモデルを組めそうか」「表計算ソフト上で何を準備すればいいか」を具体的にアドバイスいただけると助かります。可能であれば、パイロット用のテンプレート(表計算ソフトのサンプル)をいただけると準備がしやすいです。

最適化というと難しく感じていましたが、“毎日やっている配送ルートの決め方を少し賢くする”という視点で見ると、とても現場に合っていそうです。ぜひ一歩ずつ教えていただきながら、試してみたいと思います。どうぞよろしくお願いします。

Gurobot

■ サンプルコードの実行結果について

今回のサンプルでは、10店舗3台の車両で配送計画を最適化しました。

実行結果のポイント

✅ 計算時間:約3.8秒 で良質な解が得られました
✅ 総走行距離:165.34 km
✅ 最適性ギャップ:4.84%(最適解の約5%以内の解)
✅ 全店舗の時間帯遵守:達成

車両別のルート

  • T001: デポ → 品川店 → (デポに戻る) ※軽い配送

  • T002: デポ → 秋葉原店 → 上野店 → (デポに戻る)

  • T003: デポ → 渋谷店 → 恵比寿店 → 新宿店 → 六本木店 → 池袋店 → 目黒店 → 赤坂店 → (デポに戻る) ※メインルート

各店舗の時間帯(「10:00-12:00」など)が守られていることが確認できます!

■ 実際にAさんが使うためのステップ

ステップ1:表計算ソフトテンプレートの準備
以下のような形式で表計算ソフトファイルを3つ準備してください。

 ファイル1:店舗マスタ.xlsx
店舗ID | 店舗名 | 緯度 | 経度 | 時間帯開始 | 時間帯終了 | サービス時間_分 | 温度帯
S001 | 新宿店 | 35.6895 | 139.6917 | 10:00 | 12:00 | 15 | 常温
S002 | 渋谷店 | 35.6617 | 139.7040 | 08:00 | 10:00 | 20 | 常温
...

ファイル2:車両マスタ.xlsx
車両ID | 所属デポ | 最大積載容積_m3 | 温度帯 | 出発時刻
T001 | 東部 | 8.0 | 常温 | 08:00
T002 | 東部 | 8.0 | 常温 | 08:00
...

ファイル3:出荷量_YYYYMMDD.xlsx
日付 | 店舗ID | 出荷量_容積_m3
2025-10-15 | S001 | 0.8
2025-10-15 | S002 | 1.2
...

ステップ2:緯度・経度の取得方法(簡単!)
Google Mapsで店舗の住所を検索すると、URLに緯度・経度が表示されます。

例:「新宿駅」を検索した場合

URL: https://www.google.com/maps/@35.6895,139.6917,15z

緯度:35.6895、経度:139.6917

これを表計算ソフトの「緯度」「経度」列にコピーするだけです。

ステップ3:距離・時間行列の自動取得(Google Maps API)
距離・時間行列を自動で作成するPythonコードも作成できます。Google Maps APIの利用方法については、後ほど詳しくご説明できます。

ステップ4:最適化の実行(ワンクリック)
上記の表計算ソフトファイルが準備できたら、Pythonスクリプトを実行するだけです。

■ 次のステップと確認事項
Aさんの状況を踏まえて、以下のステップで進めるのがよいかと思います:

【Phase 1】データ準備(1週間目安)

  • 店舗マスタ、車両マスタ、出荷量データを表計算ソフト形式で整理

  • 緯度・経度の取得(Google Maps手動検索でOK)

  • 1日分のデータでまず試してみる

【Phase 2】パイロット実行(1-2週間目安)

  • 簡易版のPythonコードで最適化を実行

  • 現行の手組みルートと比較(3指標:遵守率、距離、偏差)

  • 現場へのヒアリング(実現可能性、改善点)

【Phase 3】機能拡張(必要に応じて)

  • 冷蔵/常温の分離

  • 動的なルート変更(急な追加対応)

  • 地図表示、表計算ソフト出力の改善

  • 毎朝のCSV自動取り込み

■ 私からの質問・確認

  1. Gurobiのライセンスはお持ちでしょうか?

    • まだの場合、30日間の無料トライアルから始められます

    • 評価版で十分にパイロットが実施できます

  2. Python実行環境は整っていますか?

    • Anacondaなどの環境が必要です

    • 環境構築のサポートも可能です

  3. Google Maps APIの利用について、社内で承認を得る必要がありますか?

    • 代替案(無料のOSRMなど)もご提案できます

  4. パイロットの開始時期はいつ頃を想定されていますか?

    • データ準備のサポートをさせていただきます

  5. 今回のサンプルコードについて、もっと詳しく知りたい部分はありますか?

    • 各制約の意味

    • パラメータの調整方法

    • 出力形式のカスタマイズ など

ぜひ一緒に進めていきましょう!何かご不明点があれば、お気軽にお尋ねください。

Aさん

Gurobotさん、丁寧なご案内ありがとうございます。サンプル結果や具体的な表計算ソフトテンプレートの内容まで示していただき、とても分かりやすかったです。実際の動きがイメージできました。

まずはご提案いただいたPhase 1の「データ準備」から取り組んでみようと思います。店舗・車両・出荷量の3つの表計算ソフトを整備し、緯度・経度も手動で取得してみます。

また、Gurobiのライセンスについてはまだ持っていないため、30日間の無料トライアルに申し込んでみます。Pythonの環境も整えながら、サンプルコードを実行してみたいと思います。

動かしながら不明点や詰まったところが出てきたら、またご相談させてください。とても丁寧にサポートいただき、本当にありがとうございます。引き続き、よろしくお願いいたします。

Gurobot

Aさん、前向きに取り組んでいただけるとのこと、大変嬉しく思います!

Phase 1のデータ準備から着実に進めていくアプローチは非常に良い判断だと思います。実際のデータを整備しながら、最適化の仕組みを理解していくのが最も効果的です。

 ■ スムーズにスタートするための補足情報

 【1】Gurobiの無料トライアル申し込みについて

Gurobiの無料トライアルライセンスは以下から申し込めます:
URL: https://www.gurobi.com/downloads/

手順

  1. 「Free Trial」を選択

  2. アカウント登録(メールアドレスが必要)

  3. ライセンスキーの取得とインストール

ライセンスの設定方法で不明点があれば、知識ベースに詳しい情報がありますので、いつでもお尋ねください。

 【2】Python環境のセットアップ
最も簡単な方法はAnacondaを使う方法です。手順もお伝えすることが可能ですので、お気軽にお問い合わせ下さい。

 【3】つまずきやすいポイントと対処法
Phase 1で注意すべき点をまとめておきます:

 ✅ 表計算ソフトデータの注意点

  • 日本語の列名も使えますが、Pythonコードでは少し工夫が必要です(今回のサンプルでは日本語列名に対応済み)

  • 時間形式は「HH:MM」形式(例:08:00、10:30)で統一してください

  • 空白セルは避け、データがない場合は「0」や「-」で埋めてください

  • 文字コードはUTF-8で保存すると安全です

 ✅ 緯度・経度の取得

  • Google Mapsで検索 → URLから取得(先ほどご説明した方法)

  • または、Google Sheetsの「GOOGLEMAPS関数」も便利です

  • 小数点以下6桁程度の精度があれば十分です

 ✅ 距離・時間行列の作成

  • パイロット段階では、Google Maps APIを使わず、簡易的な推定でも構いません

  • 緯度・経度から直線距離を計算し、係数をかける方法もあります

  • 本格運用時にGoogle Maps APIを導入するのが現実的です

 ■ データ準備のチェックリスト
Phase 1を進める際、以下のチェックリストをご活用ください:

Week 1-2:データ整備

  • 店舗マスタ表計算ソフトの作成(50-80店舗分):店舗ID、店舗名、緯度、経度、時間帯、サービス時間

  • 車両マスタ表計算ソフトの作成(東部デポの常温車のみ):車両ID、積載容量、温度帯、出発時刻

  • 1日分の出荷量データの抽出:日付、店舗ID、出荷量(容積ベース)

Week 2-3:環境構築とテスト実行

  • Anacondaのインストール

  • Gurobiライセンスの取得と設定

  • サンプルコード(今回提供したもの)の実行テスト

  • 表計算ソフトからのデータ読み込みテスト

Week 3-4:パイロット実行

  • 実データでの最適化実行

  • 現行ルートとの比較(3指標)

  • 現場へのヒアリング

■ 困ったときのサポート
以下のような場面でお困りの際は、遠慮なくご相談ください:

よくある質問

  1. 「Gurobiライセンスが認識されない」

    • ライセンスファイルの配置場所を確認します

  2. 「表計算ソフトからデータを読み込めない」

    • ファイルパスやシート名、列名の指定方法をサポートします

  3. 「最適化が遅い / 解が出ない」

    • パラメータ調整や制約の緩和方法をアドバイスします

  4. 「結果の見方がわからない」

    • 出力データの解釈方法をご説明します

  5. 「現行ルートと比較する方法」

    • 評価指標の計算方法、可視化方法をサポートします

■ 追加で提供できるサンプル

必要に応じて、以下のようなサンプルコードも提供できます:

  1. 表計算ソフトからデータを読み込む完全版コード

    • pandas.read_表計算ソフトを使った実装

  2. 距離・時間行列の簡易計算コード

    • 緯度・経度から直線距離を計算

  3. 結果を表計算ソフトに出力するコード

    • 車両別ルート表の自動生成

  4. 地図表示のコード(Foliumライブラリ)

    • ブラウザで開ける地図の生成

  5. 現行ルートとの比較レポート生成コード

    • 3指標(遵守率、距離、偏差)の自動計算

 ■ 最後に

Aさんのような実務経験豊富な方が、データを整備しながら最適化技術を取り入れていくプロセスは、非常に価値のある取り組みだと思います。小さく始めて、段階的に拡張するというアプローチは、現場での受け入れもスムーズになり、成功確率が高まります。

データ準備やコード実行で不明点が出てきたら、具体的なエラーメッセージ実際のデータサンプル(個人情報を除く)をお見せいただければ、より的確なサポートができます。

また、以下のようなタイミングでもお気軽にご相談ください:

  • 表計算ソフトテンプレートの内容確認

  • コードの動作確認

  • 結果の解釈や評価方法

  • 次のステップの計画

Aさんのプロジェクトが成功することを心より願っております!引き続き、何でもお尋ねください。一緒に進めていきましょう!

次回ご相談いただく際のポイント:

  • どの段階まで進んだか

  • どこで困っているか(エラーメッセージ、データの形式など)

  • 何を達成したいか(具体的な目標)

これらを教えていただければ、スムーズにサポートできます。それでは、Aさんのプロジェクトの成功を楽しみにしています!頑張ってください!

今後のサポート体制について
データ収集完了後の継続サポートは、以下の方法でご利用いただけます:

 🤖 Gurobot(私)への再アクセス

  • Gurobi User Portal(https://portal.gurobi.com/iam/chat/)から24時間いつでもアクセス可能

  • ライセンス情報と連携したパーソナライズされた回答

  • コードスニペットの提供や構文検証も可能

  • 必要に応じて正式なサポートリクエストへの簡単エスカレーション

 📞 Gurobi Experts(技術サポートチーム)

  • 商用ユーザー向け専門サポート:モデリング、パフォーマンス調整、API使用方法

  • Technical Account Managerによる継続的な技術指導

  • 実装レビューやアーキテクチャ相談も対応

 以下の「サポートリクエストを作成」ボタンを押していただくことで、これまでのやりとりを含めてサポートチームに問い合わせることが可能です。

物流の世界では、「時間」「距離」「人」という限られた資源をどう組み合わせるかが、日々の成果を左右します。表計算ソフトや経験則で工夫しても、規模が大きくなるほど複雑さは増し、属人化やミスのリスクも高まります。

今回ご紹介したAさんのように、数理最適化AIチャット「Gurobot(グロボット)」に相談することで、これまで感覚に頼っていた判断を“数理の目”で見直すことができます。配送ルートの計画だけでなく、「ドライバーの負担を減らしたい」「コストを抑えつつサービス品質を維持したい」といった課題にも、最適化の考え方は応用可能です。

「現場の複雑さを、もう少しシンプルに整理できたら」――。

そんなときは、まずGurobotに話しかけてみてください。 きっと、あなたの業務にも“最適化のヒント”が見つかるはずです。

お気軽にお問い合わせください

以下の中からお問い合わせしたい内容に最も合うものを選択して、お問い合わせフォームに必要事項をご入力ください。なお、営業目的のメールはご遠慮ください。

製品見積・購入関連

当社製品の価格・オプションについては、こちらより営業チームにご相談ください。

評価版ライセンス関連

当社製品の評価版ライセンスの申請については、こちらよりお申し込みください。

その他

当社製品に関するコンサルティングサービス、ライセンス更新関連、パートナープログラム等については、こちらよりお問い合せください

当社製品に関するサポートは、こちらをご覧ください。
取材やプレス関連お問合せは、marketing-japan@gurobi.com までご連絡ください。