(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】情報処理装置、制御方法、プログラム
(51)【国際特許分類】
G06Q 10/06 20230101AFI20240111BHJP
【FI】
G06Q10/06
(21)【出願番号】P 2021107166
(22)【出願日】2021-06-29
【審査請求日】2022-08-05
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】江崎 洋一
【審査官】樋口 龍弥
(56)【参考文献】
【文献】特開2020-126512(JP,A)
【文献】特開2007-008618(JP,A)
【文献】特開2012-053904(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
割当対象を割当先に割り当てる割当計画を作成する情報処理装置であって、
作成された割当計画に基づいて構築された割当評価モデルを用いて、割当先と当該割当先に既に割り当てられた割当対象とに基づいて、当該割当先に追加で割り当てられる割当対象の候補を出力する出力手段
、
を備え
、
前記割当評価モデルは、前記作成された割当計画の入力データに係る集約情報を用いて構築されることを特徴とする情報処理装置。
【請求項2】
割当対象を割当先に割り当てる割当計画を作成する情報処理装置であって、
作成された割当計画に基づいて構築された割当評価モデルを用いて、割当先と当該割当先に既に割り当てられた割当対象とに基づいて、当該割当先に追加で割り当てられる割当対象の候補を出力する出力手段
、
を備え
、
前記割当評価モデルは、前記作成された割当計画の割当先において、当該割当先に割り当てられた割当対象の一部と当該一部ではない割当対象との組み合わせと、当該組み合わせの評価値とに基づいて構築されることを特徴とする情報処理装置。
【請求項3】
前記割当評価モデルは、前記作成された割当計画において前記組み合わせに含まれる割当対象が前記割当先に割り当てられていたかに従って前記評価値を決定することを特徴とする請求項
2に記載の情報処理装置。
【請求項4】
前記出力手段は、前記出力される割当対象の候補に対する前記割当評価モデルによる評価に係る値を出力することを特徴とする請求項1
~3のいずれか1項に記載の情報処理装置。
【請求項5】
前記割当評価モデルは、前記作成された割当計画の割当先の特徴量および割当対象の特徴量を用いて構築されることを特徴とする請求項1
~4のいずれか1項に記載の情報処理装置。
【請求項6】
割当計画を作成する際に、指定された割当先に対して、当該割当先に追加で割り当てられる割当対象の候補を表示制御する表示制御手段を備えることを特徴とする請求項1~
5のいずれか1項に記載の情報処理装置。
【請求項7】
割当対象を割当先に割り当てる割当計画を作成する情報処理装置の制御方法であって、
出力手段が、作成された割当計画に基づいて構築された割当評価モデルを用いて、割当先と当該割当先に既に割り当てられた割当対象とに基づいて、当該割当先に追加で割り当てられる割当対象の候補を出力する出力ステップ
、
を備え、
前記割当評価モデルは、前記作成された割当計画の入力データに係る集約情報を用いて構築されることを特徴とする情報処理装置の制御方法。
【請求項8】
割当対象を割当先に割り当てる割当計画を作成する情報処理装置の制御方法であって、
出力手段が、作成された割当計画に基づいて構築された割当評価モデルを用いて、割当先と当該割当先に既に割り当てられた割当対象とに基づいて、当該割当先に追加で割り当てられる割当対象の候補を出力する出力ステップ
、
を備え、
前記割当評価モデルは、前記作成された割当計画の割当先において、当該割当先に割り当てられた割当対象の一部と当該一部ではない割当対象との組み合わせと、当該組み合わせの評価値とに基づいて構築されることを特徴とする情報処理装置の制御方法。
【請求項9】
コンピュータを、請求項1~6のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
割当計画の作成を支援する情報処理装置に関する。
【背景技術】
【0002】
割当問題はあらかじめ与えられたジョブの集合とエージェントの集合に対し、各種制約条件を満たしながら評価値が最善となるジョブとエージェントの割当の組合せを意思決定する問題である。割当問題の応用範囲は広く、配送計画をはじめ、人員配置、シフトスケジューリング、取合せ計画など様々な計画問題に活用される。
【0003】
実応用において割当問題を考える場合、その制約条件と目的関数、すなわち計画の評価値を明らかにし定式化する必要がある。例えば配送計画においては、車両ごとの積荷の積載可否という制約条件を満たしつつ、車両ごとの配送にかかる距離の総和という目的関数を最小化する問題と考えることができる。
【0004】
他方、実務における計画立案ではこの制約条件や目的関数が一部は明らかになっているものの、計画にかかる条件や評価値が一部明文化されていないケースが多く存在する。高度な意思決定のためには、この明文化されない条件や評価値を何らかの方法で計画に組み入れていく必要がある。従来技術としては、過去の計画履歴や計画に対する変更指示に基づき、意思決定を高度化する手法が提示されている。
【0005】
特許文献1には、作成済みの割当計画に対する変更指示あるいは新たな割当指示を蓄積および学習することにより、計画知識に沿った割当を実施する手法について開示されている。特許文献2には、過去に立案された生産計画の履歴情報に基づいて、各製品の生産順を含む計画パターンを機械学習により算出し、前記計画パターンに従って前記各製品の生産順序を並べ替え計画を立案する手法について開示されている。非特許文献1には、目的関数の要素が明らかな最適化問題において、計画履歴を用いてあらかじめクラスタ化された計画要素クラスタごとに逆強化学習をベースとした手法を用いて目的関数の要素重みを学習し、学習結果に基づいて最適化問題の求解する手法について開示されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2018-92255号公報
【文献】国際公開2018/220885号公報
【非特許文献】
【0007】
【文献】"TV Advertisement Scheduling by Learning Expert Intentions", KDD'19:Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, July 2019, pp.3071-3081. https://doi.org/10.1145/3292500.3330768
【発明の開示】
【発明が解決しようとする課題】
【0008】
特許文献1には、作成済みの割当計画に対する変更指示あるいは新たな割当指示を蓄積および学習することにより、計画知識に沿った割当を実施する手法が記載されている。
【0009】
しかし、計画者の計画更新指示を学習の対象としており、指示の履歴が逐次的に記録されている必要があるという課題がある。
【0010】
そのため、計画に対する更新指示がなくとも、計画の履歴さえ蓄積していれば、システムによる計画立案の支援が可能となることが望まれる。
【0011】
特許文献2には、過去に立案された生産計画の履歴情報に基づいて、各製品の生産順を含む計画パターンを機械学習により算出し、前記計画パターンに従って前記各製品の生産順序を並べ替え計画を立案する手法が記載されている。
【0012】
しかし、1回の計画単位に対しては既知の制約に対する違反度を学習しており定式化あるいは定量化されている制約のみ学習されること、計画パターンに対しては隣接する順序関係を1対1で学習しており割当など順序のない計画や複数要素の組合せ解を含む計画に対しては適用できないこと、という課題がある。
【0013】
そのため、明示的でなく違反度が計算できない制約が含まれる場合の評価と、順序性がない計画や複数要素の組合せ解を含む計画に対して適用できることが望まれる。
【0014】
非特許文献1には、目的関数の要素が明らかな最適化問題において、計画履歴を用いてあらかじめクラスタ化された計画要素クラスタごとに逆強化学習をベースとした手法を用いて目的関数の要素重みを学習し、学習結果に基づいて最適化問題の求解する手法が記載されている。
【0015】
しかし、目的関数を構成する要素が明らかであり目的関数が定式化されている必要があることと、1回の計画単位に対する計画結果全体を比較して計画間の距離(評価値)を算出しているため、意思決定要素間や部分解に対しては適用できないという課題がある。
【0016】
そのため、目的関数の要素がすべて明らかでない場合や、計画要素間や部分解に対しても学習を適用できることが望まれる。
【0017】
そこで、本発明は、計画者が割当計画を作成する際に、過去の計画に基づいて計画の作成を支援する仕組みを提供することを目的とする。
【課題を解決するための手段】
【0018】
本発明は、割当対象を割当先に割り当てる割当計画を作成する情報処理装置であって、作成された割当計画に基づいて構築された割当評価モデルを用いて、割当先と当該割当先に既に割り当てられた割当対象とに基づいて、当該割当先に追加で割り当てられる割当対象の候補を出力する出力手段、を備え、前記割当評価モデルは、前記作成された割当計画の入力データに係る集約情報を用いて構築されることを特徴とする。
【発明の効果】
【0019】
本発明によれば、計画者が割当計画を作成する際に、過去の計画に基づいて計画の作成を支援する仕組みを提供することが可能となる。
【図面の簡単な説明】
【0020】
【
図1】本発明の実施形態における、配車割当計画支援システムのシステム構成の一例を示す図である。
【
図2】本発明の実施形態における、配車割当計画支援システムのクライアント101、サーバ102に適用可能なハードウェア構成の一例を示すブロック図である。
【
図3】本発明の実施形態における、配車割当計画支援システムの機能構成の一例を示す図である。
【
図4】本発明の実施形態における、計画対象となる割当問題とその実施例の一例を示す図である。
【
図5】本発明の実施形態における、配車割当計画支援システムのモデル化対象を抽出する処理の一例を示すフローチャートである。
【
図6】本発明の実施形態における、配車割当計画支援システムの割当評価テーブルを構築する処理の一例を示すフローチャートである。
【
図7】本発明の実施形態における、配車割当計画支援システムの割当評価値を計算する処理の一例を示すフローチャートである。
【
図8】本発明の実施形態における、配車割当計画支援システムの関係モデルを更新する処理の一例を示すフローチャートである。
【
図9】本発明の実施形態における、配車割当計画支援システムの割当評価モデルを更新する処理の一例を示すフローチャートである。
【
図10】本発明の実施形態における、部分解特徴ベクトル構成の一例を示す図である。
【
図11】本発明の実施形態における、割当評価ベクトル構成の一例を示す図である。
【
図12】本発明の実施形態における、配車割当計画支援システムの計画立案支援画面の一例を示す図である。
【
図13】本発明の実施形態における、配車割当計画支援システムの積荷テーブルの一例を示す図である。
【
図14】本発明の実施形態における、配車割当計画支援システムの車両テーブルの一例を示す図である。
【
図15】本発明の実施形態における、配車割当計画支援システムの割当結果テーブルの一例を示す図である。
【
図16】本発明の実施形態における、配車割当計画支援システムのモデルパラメータテーブルの一例を示す図である。
【
図17】本発明の実施形態における、配車割当計画支援システムの割当評価テーブルの一例を示す図である。
【発明を実施するための形態】
【0021】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0022】
図1は、本発明の実施形態の配車割当計画支援システムのシステム構成の一例を示す図である。
【0023】
配車割当計画支援システム100は、1または複数のクライアント101(PC,入出力装置など)、1または複数のサーバ102がネットワーク103を介して接続される構成となっている。
【0024】
クライアント101はWebブラウザを備え、ユーザによる操作や入力の受け付けてサーバ102に処理要求や必要データを送信し、サーバ102からの画面表示指示を受けて画面表示を実行する。
【0025】
サーバ102は、割当計画処理に必要なデータを記憶し、クライアント101からの処理要求に応じて処理を実行し、計画結果を表示するためにクライアント101に結果データとともに画面表示指示を送信する。
【0026】
なお、本実施例では、クライアントとサーバが連携する形態としたが、サーバで全ての入出力および処理を実行してもよいし、サーバから必要データをクライアントに送信してクライアントで処理を実行してもよい。
【0027】
以下、
図2を用いて、
図1に示したクライアント101、サーバ102に適用可能なハードウエア構成の一例について説明する。
【0028】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な各種プログラム等が記憶されている。
【0029】
202はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM203あるいは外部メモリ211からRAM202にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0030】
また、205は入力コントローラで、入力装置209等からの入力を制御する。206はビデオコントローラで、液晶ディスプレイ等のディスプレイ装置210への表示を制御する。なお、ディスプレイ装置は、液晶ディスプレイに限られず、CRTディスプレイなどであっても良い。これらは必要に応じてクライアントが使用するものである。
【0031】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0032】
208は通信I/Fコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0033】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0034】
ハードウエア上で動作する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0035】
なお、全ての装置がこれらの構成を備えているわけではなく、必要なものを夫々備えていればよい。
【0036】
図3は本発明の実施形態の配車割当計画支援システムの機能構成の一例を示すブロック図である。
【0037】
図3に示すように、配車割当計画支援システム100は、クライアント101とサーバ102にて構成される。
【0038】
クライアント101は、ブラウザ311を備え、ユーザから操作や入力を受け付けてサーバ102に処理要求や必要データを送信し、サーバ102からの画面表示指示を受けて画面を表示する。
【0039】
サーバ102は、計画・実績情報記憶部321、モデル情報記憶部322、計画・実績情報取得部323、モデル化対象抽出部324、モデル復元部325、モデル更新部326、計画情報表示・編集受付部327から構成される。
【0040】
計画・実績情報記憶部321は、過去に作成された配車割当計画情報および現在作成中の配車割当計画情報を格納する記憶部である。
【0041】
モデル情報記憶部322は、計画・実績情報記憶部321から抽出された配車割当計画情報に基づいて作成、更新されたモデル情報を格納する記憶部である。
【0042】
モデル化対象抽出部324は、計画・実績情報記憶部321から所定の基準に従ってモデル化に用いる配車割当計画情報を抽出する機能部である。
【0043】
モデル復元部325は、モデル情報記憶部322からモデル情報を取得して、モデルとして使用できる状態に復元する機能部である。
【0044】
モデル更新部326は、抽出された配車割当計画情報に基づいてモデルを新規作成する、または、復元されたモデルに対して抽出された配車割当計画情報に基づいてモデルを更新する機能部である。
【0045】
計画情報表示・編集受付部327は、計画・実績情報記憶部321に記憶された配車割当計画情報に基づいて、現在作成中、または、過去に作成された配車割当計画情報を表示し、ユーザから配車割当計画情報の編集操作を受け付ける機能部である。
【0046】
図4を用いて本発明の実施形態における割当問題の実施例と計画単位について説明する。対象とする問題は割当問題の典型例である配車計画であり、1計画単位のINPUTとしては積荷の集合と車両の集合が与えられる。この積荷と車両には各々属性がついており、たとえば積荷には重量や届け先の属性、車両には積載可能重量や車種といった属性が考えられる。1計画単位のOUTPUTは、INPUTの積荷と車両の割当である。一般的に計画者は、すべての積荷もしくは一定量以上の積荷を車両に割当てる計画を考える。このとき、積荷と車両の間、積荷と積荷の間に課される制約を充足しながら、割り当てる積荷量の最大化、使用する車両台数の最小化などといった評価指標を鑑み効率の良い計画を立案することを目指す。
【0047】
次に
図5~
図9のフローチャートを用いて、本発明の実施形態における配車割当計画支援システムが実行する処理について説明する。
【0048】
図5のフローチャートは、配車割当計画支援システム100のサーバ102のCPU201が所定の制御プログラムを読み出して実行する処理であり、学習によるモデル化対象を抽出する処理を示すフローチャートである。
【0049】
ステップS101では、あらかじめ設定されたモデル化パラメータを取得しモデルの対象として設定する。モデル化パラメータとは、データ取得対象期間、モデル化対象選定フラグ、関係行列モデル化フラグの3種類である。この時、これらのパラメータは、プログラム上に設定されたパラメータでもよいし、画面やファイルから入力される情報でもよい。
【0050】
ステップS102では、ステップS101で設定した対象期間の計画・実績情報を割当結果テーブル1500(
図15)から、また計画のINPUTとなった積荷・車両情報を積荷テーブル1300(
図13)と車両テーブル1400(
図14)から取得する。このとき、計画日が取得対象期間に含まれるデータを取得し、割当結果は計画でも実績でもよい。
【0051】
ステップS103では、ステップS101で設定したモデル化対象選定フラグが真の場合、関係モデル構築と判断しS104に進む、一方で偽の場合、割当評価モデルと判断しS107に進む。
【0052】
ステップS104では、ステップS101で設定した関係行列モデル化フラグが真の場合、積荷と積荷の関係行列を構築するステップS105に進む、一方で偽の場合、積荷と車両の関係行列を構築するステップS106に進む。
【0053】
ステップS105では、積荷と積荷の関係モデルを構築し、モデルパラメータテーブル1600(
図16)に格納する。関係モデルの構築方法については後述する。
【0054】
ステップS106では、積荷と車両の関係モデルを構築し、モデルパラメータテーブル1600に格納する。関係モデルの構築はステップS105と同様である。
【0055】
図6のフローチャートは、配車割当計画支援システム100のサーバ102のCPU201が所定の制御プログラムを読み出して実行する処理であり、割当評価テーブルを構築する処理を示すフローチャートである。
【0056】
本フローでは、所定の計画単位ごとのの計画INPUT、OUTPUTを用い、ステップS201~S209の各処理を実行する。
【0057】
ステップS201では、所定の計画単位、例えば1日分の計画を再現した割当をメモリ上に復元する。
【0058】
ステップS202では、所定の計画単位におけるINPUTのサマリベクトルを構築する。ベクトルの構築はルールベースで積荷数、車両数といった数値情報をベクトル化するほか、主成分分析、Node2Vec、オートエンコーダなどの手法を用い次元圧縮してベクトル化する方法が考えられる。
【0059】
ステップS203では、計画単位内の各積荷に対し積荷特徴ベクトルを、またステップS204では、計画単位内の各車両に対し車両特徴ベクトルを構築する。ベクトルの構築方法はステップS202と同様、ルールベースないし圧縮手法が考えられる。
【0060】
ステップS205では、実績解の部分集合を列挙する。列挙の候補数が少ない場合は冪集合を全列挙すればよい。列挙の候補が多く組合せ爆発が発生する場合、候補の中からランダムサンプリングする手法などを用いることで、列挙数を抑えることができる。以降ステップS205で列挙した実績解の部分集合に対し、ステップS206~ステップS209を実行する。
【0061】
ステップS206では、ステップS205で列挙された実績解の部分集合に対し、部分解特徴ベクトルを構築する。以降、選択した実績解の部分集合に含まれない未割当積荷に対して、ステップS207~ステップS209を実行する。
【0062】
ステップS207では、ステップS205で列挙された実績解の部分集合に対し、選択した未割当積荷を割当てる場合の評価値を計算する。評価値の計算方法については後述する。
【0063】
ステップS208では、ステップS206までで構築された特徴ベクトルと、ステップS207で計算された評価値を用い割当評価ベクトルを構築する。
【0064】
ステップS209では、ステップS208で構築した割当評価ベクトルを割当評価テーブルに追加する。
【0065】
ここで、配送計画において本フローの割当評価ベクトルを構築するイメージを
図10および
図11を用いて説明する。ベクトル化処理の単位は所定の計画単位である。
図10において、まずステップS202の処理で計画単位のINPUTに対応する特徴ベクトルを構築する。以降はこれと結合するように、車両と積荷の特徴ベクトルを埋め込んでいく。具体的には既存の解、すなわち車両と積荷の割当に対し、積荷の部分集合を列挙して各々を特徴ベクトルとしていく。部分集合を列挙するのは、実際に計画を作成する場面で、すでに車両に割り当てられた積荷の組み合わせを基に照合する対象となる部分集合のバリエーションを増やすためである。
図10の例では、車両A1と、A1に割当てられた積荷J1~J5に対してこれを考える。
図10の例では、S205で列挙された部分集合のうち、J1とJ2からなる部分集合に対してのベクトル構築を記載する。本例ではINPUT特徴ベクトルに加え、ステップS204で構築したA1に対応する車両特徴ベクトルを埋め込み、さらにステップS203で構築したJ1、J2に対応する積荷特徴ベクトルを埋め込む。ベクトルを固定長にしたい場合、固定長に至るまでこの後にダミー変数を埋め込んでもよい。
【0066】
図10で構築された部分解の特徴ベクトルに対し、さらに
図11で割当の特徴を埋め込む。このとき、ステップS205の部分集合に含まれない積荷を割当候補とし、各候補に対して割当の評価値計算を実行する。
図10の部分解特徴ベクトルに対し、割当候補積荷の特徴ベクトルおよび割当評価値を埋め込んだものが、割当評価ベクトルとなる。このように生成された割当評価ベクトルをモデル生成および更新データとして用いてモデルを生成および更新する。ここで、列挙数が多くなりすぎ学習の負荷となる場合、1つの解に対する列挙数を一定値以下に抑えるなどの工夫で学習負荷を下げることができる。
【0067】
図7のフローチャートは、配車割当計画支援システム100のサーバ102のCPU201が所定の制御プログラムを読み出して実行する処理であり、割当評価値を計算する処理を示すフローチャートである。
【0068】
ステップS301では、ステップS206で構築した部分解とステップS207の入力となる未割当積荷を用い、部分解に対して未割当積荷を仮割当する。ここで同時に割当て評価値の基準点を設定する。相対的な評価となるため、基準点は0点などでよい。
【0069】
ステップS302では、ステップS301の仮割当した部分解について、既知の制約を充足するか否かを判定する。既知の制約とはたとえば部分解の積荷と仮割当する未割当積荷が同載可能か否か、積載重量が車両に積載可能な重量を超えないか、などである。
【0070】
ステップS303では、ステップS302の判定結果を用い、制約を満たす場合はステップS305に、制約を満たさない場合はステップS304に進む。
【0071】
ステップS304では、ステップS301の部分解への仮割当が制約を満たさないため、望ましくない割当として評価値に対し減点評価をする。この減点には例えば-1点などの規定値を用いてもいいし、解の構造を用いた関数を用いてもよい。
【0072】
ステップS305では、仮割当した未割当積荷が元の割当に含まれるか否かを判定する。ここで元の割当とは、ステップS205で実績解の部分集合を列挙する基になった車両単位の割当のことである。元の割当に含まれる場合はステップS307に、含まれない場合はステップS306に進む。
【0073】
ステップS306では、積荷は割当て可能であるが、元の計画あるいは実績には含まれていないものであるため、評価値に対し小さい加点評価を。この加点には例えば+1点などの規定値を用いてもいいし、解の構造を用いた関数を用いてもよい。
【0074】
ステップS307では、積荷は割当て可能であり、かつ元の計画あるいは実績に含まれているため、評価値に対し大きい加点評価をする。この加点には例えば+5点などの規定値を用いてもいいし、解の構造を用いた関数を用いてもよい。
【0075】
図8のフローチャートは、配車割当計画支援システム100のサーバ102のCPU201が所定の制御プログラムを読み出して実行する処理であり、関係モデルを構築および更新する処理を示すフローチャートである。
【0076】
ステップS401では、モデルパラメータテーブル1600を参照し、関係モデルが新規構築されるか否かを判断する。新規構築の場合、ステップS402に、そうでない場合ステップS403に進む。
【0077】
ステップS402では、ステップS102で取得した対象期間の計画・実績情報と、計画のINPUTとなった積荷情報・車両情報を用い、関係量推定モデルを構築する。関係量の推定は、積荷と積荷および積荷と車両がどの程度同時に割当されやすいかを数値化する。関係量は積荷-積荷間あるいは積荷-車両間で規定される値であり、行列形式で表現できるが、行列形式で保持すると計算上必要としない積荷と積荷あるいは積荷と車両の間の値まで展開されてしまう。このため、積荷属性あるいは車両属性を入力とする関数あるいは機械学習モデルなどを用い、必要部分のみ関係量を計算できるようにする。手法としては例えば確率的クラスタリングや行列因子分解などを用い、積荷と積荷の同載されやすさ、積荷と車両の割当されやすさを、属性を次元圧縮した情報(たとえば、クラスタ番号とクラスタ情報)をキーとして数値化する。これによりテーブルに格納する際の情報量も圧縮することができる。
【0078】
ステップS403では、モデルパラメータテーブル1600から前回モデルパラメータを取得する。
【0079】
ステップS404では、ステップS403で得られたモデルパラメータから関係量推定モデルを再構築する。例えばクラスタリングであれば各クラスタの重心やクラスタに所属するデータ数を復元する。
【0080】
ステップS405では、ステップS402と同様に、ステップS102で取得した計画・実績情報および積荷情報・車両情報を用いて関係量推定モデルを更新する。
【0081】
ステップS406では、ステップS402ないしステップS405で構築された関係モデルのパラメータをモデルパラメータテーブル1600に格納する。
【0082】
図9のフローチャートは、配車割当計画支援システム100のサーバ102のCPU201が所定の制御プログラムを読み出して実行する処理であり、割当評価モデルを構築および更新する処理を示すフローチャートである。
【0083】
ステップS501では、モデルパラメータテーブル1600を参照し、割当評価モデルが新規構築されるか否かを判断する。新規構築の場合、ステップS502に、そうでない場合ステップS503に進む。
【0084】
ステップS502では、ステップS201からステップS208で構築した割当評価ベクトルを用い、新たに割当評価モデルを構築する。割当評価モデルは割当評価ベクトルとその評価値の集合から、部分解に対する割当の良否を評価値として推定するモデルであり、例えばニューラルネットワークや回帰モデルなどを用いることで実現できる。
【0085】
ステップS503では、モデルパラメータテーブル1600から前回モデルパラメータを取得する。
【0086】
ステップS504では、ステップS503で得られたモデルパラメータから割当評価モデルを再構築する。例えばニューラルネットワークであれば、パーセプトロンの重み係数および活性化関数を復元する。
【0087】
ステップS505では、ステップS502と同様に、ステップS201からステップS208で構築した割当評価ベクトルを用いて割当評価モデルを更新する。
【0088】
ステップS506では、ステップS502ないしステップS505で構築された割当評価モデルのパラメータをモデルパラメータテーブル1600に格納する。
【0089】
図12は本発明の実施例における、配車計画の割当支援を行うための画面である。割当支援画面は、車両選択部1001、割当表示部1002、候補検索ボタン1003、未割当積荷表示部1004からなる。
【0090】
車両選択部1001は割当対象とする車両を選択する部分である。車両選択部の各車両クリックなどの操作で、対象とする車両を選択する。
【0091】
割当表示部1002は各車両とその割当積荷を表示するものである。車両選択部1001において選択された車両と、現在の計画における割当積荷を表示する。
【0092】
候補検索ボタン1003は、割当表示部1002に表示された車両に対して同載する積荷の候補を検索するためのボタンである。候補検索ボタン1003を押下することで、未割当かつ現在選択されている車両に対して割当て可能な積荷候補が未割当積荷表示部1004に表示される。
【0093】
未割当積荷表示部1004は、候補検索ボタン1003押下後の検索結果を表示し、計画を支援する部分である。表示された積荷をDrag&Drop操作などで割当表示部に移動することで、計画を更新する。ここで未割当積荷表示部1004には、積荷の属性情報に加え、本発明にによる割当評価モデルの結果である評価値を表示し、評価値でソートすることにより、過去の計画や実績に近い割当が上位に表示され、結果としてこれまでの計画傾向を模擬した計画の立案が可能となる。
【0094】
図13の積荷テーブル1300は、計画のINPUTとなる積荷情報を格納するテーブルであり、キーとなる積荷ID1301、計画日1302と積荷属性情報(1303~)の項目からなる。
【0095】
積荷ID1301は、積荷を一意にするための項目である。
【0096】
計画日1302は、積荷の計画対象日を特定するための項目であり、日付が登録される。
【0097】
積荷属性情報は、積荷の属性項目であり、例えば重量1303、届け先1304などの情報が登録される。
【0098】
図14の車両テーブル1400は、計画のINPUTとなる車両情報を格納するテーブルであり、キーとなる車両ID1401、計画日1402と車両属性情報(1403~)の項目からなる。
【0099】
車両ID1401は、車両を一意にするための項目である。
【0100】
計画日1402は、車両の計画対象日を特定するための項目であり、日付が登録される。
【0101】
車両属性情報は、車両の属性項目であり、例えば車型1403などの情報が登録される。
【0102】
図15の割当結果テーブル1500は、計画のOUTPUTとなる割当結果情報を格納するテーブルであり、計画日1501と車両ID1502、積荷ID1503の項目からなる。
【0103】
計画日1501は、計画対象日を特定するための項目であり、日付が登録される。
【0104】
車両ID1502と積荷ID1503は、計画における車両と積荷の割当関係を表す項目であり、各レコードの車両に各レコードの積荷が割り当てられていることを意味する。
【0105】
図16のモデルパラメータテーブル1600は、関係モデルおよび割当評価モデルのパラメータを格納するテーブルであり、用途1601、モデル1602、モデルパラメータ1603の項目からなる。
【0106】
用途1601は、対象とする用途が何かを表す。本発明の実施例においては積荷と積荷の関係モデルなのか、積荷と車両の関係モデルなのか、あるいは割当評価モデルなのかを表す。
【0107】
モデル1602とモデルパラメータ1603は、モデル構築時に使用するモデルと、そのモデルに対応するパラメータ群を格納する。パラメータ格納時に冗長なフィールドはダミー変数でよい。
【0108】
図17の割当評価テーブル1700は、割当評価ベクトルと評価値を格納するテーブルであり、ID1701、INPUT特徴ベクトル1702、車両特徴ベクトル1703、割当積荷特徴ベクトル1704、割当候補積荷特徴ベクトル1705、評価値1706からなる。
【0109】
ID1701は、割当評価ベクトルと評価値の組を一意にするためのキー情報である。
【0110】
INPUT特徴ベクトル1702と車両特徴ベクトル1703は、割当評価ベクトル構築時に計算されたINPUTおよび車両の特徴ベクトル値である。これらは数値のベクトルでもよいし、圧縮したバイナリ情報でもよい。
【0111】
割当積荷特徴ベクトル1704は、割当評価ベクトル構築時に計算された部分集合の割当済積荷の特徴ベクトル値である。これらは数値のベクトルでもよいし、圧縮したバイナリ情報でもよい。また、冗長なフィールドはダミー変数でよい。
【0112】
割当候補積荷特徴ベクトル1705は、割当評価ベクトル構築時に計算された割当候補積荷の特徴ベクトル値である。これは数値のベクトルでもよいし、圧縮したバイナリ情報でもよい。
【0113】
評価値1706は、割当評価ベクトル構築時に計算された割当の評価値である。
【0114】
以上により、計画者が割当計画を作成する際に、過去の計画に基づいて計画の作成を支援できるようになる。
【0115】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0116】
また、本発明におけるプログラムは、各フローチャートの処理方法をコンピュータが実行可能なプログラムである。なお、本発明におけるプログラムは各フローチャートの各装置の処理方法ごとのプログラムであってもよい。
【0117】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0118】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EPROM、シリコンディスク等を用いることが出来る。
【0119】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0120】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0121】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0122】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0123】
100 配車割当計画支援システム
101 クライアント
102 サーバ
103 ネットワーク