(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022031113
(43)【公開日】2022-02-18
(54)【発明の名称】情報処理装置、情報処理方法、情報処理プログラム
(51)【国際特許分類】
G06Q 50/30 20120101AFI20220210BHJP
【FI】
G06Q50/30
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2021059653
(22)【出願日】2021-03-31
(31)【優先権主張番号】P 2020133585
(32)【優先日】2020-08-06
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】520296439
【氏名又は名称】ファンファーレ株式会社
(74)【代理人】
【識別番号】100158850
【弁理士】
【氏名又は名称】明坂 正博
(72)【発明者】
【氏名】矢部 顕大
(72)【発明者】
【氏名】近藤 志人
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC42
(57)【要約】 (修正有)
【課題】複雑な回収を伴う運行計画を策定可能な情報処理装置、情報処理方法及び情報処理プログラムを提供する。
【解決手段】サーバ(情報処理装置)と、サーバとネットワークを介して接続された複数のユーザ端末と、を備える情報処理システムにおいて、情報処理装置のCPU200Cは、産業廃棄物を搬送するコンテナの種別及び数と、産業廃棄物のコンテナへの積込地の情報を含む産業廃棄物の搬送依頼を受け付ける受付部と、車両と、車両に積載可能なコンテナの種別及び数とが関連付けて記憶された第1記憶部を参照し、搬送依頼に含まれるコンテナの種別及び数と、産業廃棄物のコンテナへの積込地の情報とに基づいて、産業廃棄物を搬送する車両の運行計画を生成する運行計画生成部と、を備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
産業廃棄物を搬送するコンテナの種別及び数と、前記産業廃棄物の前記コンテナへの積込地の情報を含む産業廃棄物の搬送依頼を受け付ける受付部と、
車両と、前記車両に積載可能なコンテナの種別及び数とが関連付けて記憶された第1記憶部を参照し、前記搬送依頼に含まれるコンテナの種別及び数と、前記産業廃棄物の前記コンテナへの積込地の情報とに基づいて、前記産業廃棄物を搬送する車両の運行計画を生成する運行計画生成部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記搬送依頼には、2以上の積込地の情報が含まれ、
前記運行計画生成部は、
前記2以上の積込地を回るように前記車両の運行計画を生成する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記搬送依頼には、前記2以上の積込地において種別の異なるコンテナを混載する依頼が含まれ、
前記運行計画生成部は、
前記2以上の積込地において種別の異なるコンテナを混載して回るように前記車両の運行計画を生成する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記搬送依頼には、前記積込地での作業可能日時の情報が含まれ、
運行計画生成部は、
前記積込地での作業可能日時に基づいて、前記産業廃棄物を搬送する車両の運行計画を生成する、
ことを特徴とする請求項1乃至請求項3のいずれかに記載の情報処理装置。
【請求項5】
前記積込地には、前記コンテナで搬送される産業廃棄物の排出場が含まれ、
運行計画生成部は、
前記排出場での作業可能日時に基づいて、前記コンテナを搬送する車両の運行計画を生成する、
ことを特徴とする請求項1乃至請求項4のいずれかに記載の情報処理装置。
【請求項6】
前記搬送依頼には、前記コンテナで搬送される産業廃棄物を処理可能な処理施設が含まれ、
運行計画生成部は、
前記処理施設の場所及び種別に基づいて、前記産業廃棄物を搬送する車両の運行計画を生成する、
ことを特徴とする請求項1乃至請求項5のいずれかに記載の情報処理装置。
【請求項7】
運行計画生成部は、
前記積込地までの移動時間に基づいて、前記産業廃棄物を搬送する車両の運行計画を生成する、
ことを特徴とする請求項1乃至請求項6のいずれかに記載の情報処理装置。
【請求項8】
運行計画生成部は、
前記車両と、前記車両を運転可能な運転手の勤務日時とが関連付けて記憶された第2記憶部を参照し、前記勤務日時に基づいて、前記産業廃棄物を搬送する車両の運行計画を生成する、
ことを特徴とする請求項1乃至請求項7のいずれかに記載の情報処理装置。
【請求項9】
前記第1記憶部には、
前記車両と、前記車両の車種とが関連付けて記憶され、
前記車両の車種と、積載可能なコンテナの種別及び数とが関連付けて記憶されている、
ことを特徴とする請求項1乃至請求項8のいずれかに記載の情報処理装置。
【請求項10】
前記運行計画生成部は、
前記搬送依頼及び前記第1記憶部に含まれる情報に基づいて、目的関数及び制約条件としての等式及び不等式の少なくとも一方を導出し、最適化ソルバを用いた充足可能性判定により前記産業廃棄物を搬送する車両の運行計画を生成する、
ことを特徴とする請求項1乃至請求項9のいずれかに記載の情報処理装置。
【請求項11】
前記運行計画生成部が前記制約条件式を充足する充足解を得られない場合、
前記制約条件式と、充足解を得られない理由とを対応付けて記憶した第3記憶部を参照し、前記制約条件式の内、充足不能であった制約条件式に対応する理由を抽出する抽出部と、
前記抽出部が抽出した前記理由を出力する出力部と、
を備えることを特徴とする請求項10に記載の情報処理装置。
【請求項12】
受付部が、産業廃棄物を搬送するコンテナの種別及び数と、前記産業廃棄物の前記コンテナへの積込地の情報を含む産業廃棄物の搬送依頼を受け付ける工程と、
運行計画生成部が、車両と、前記車両に積載可能なコンテナの種別及び数とが関連付けて記憶された第1記憶部を参照し、前記搬送依頼に含まれるコンテナの種別及び数と、前記産業廃棄物の前記コンテナへの積込地の情報とに基づいて、前記産業廃棄物を搬送する車両の運行計画を生成する工程と、
を有することを特徴とする情報処理方法。
【請求項13】
コンピュータを、
産業廃棄物を搬送するコンテナの種別及び数と、前記産業廃棄物の前記コンテナへの積込地の情報を含む産業廃棄物の搬送依頼を受け付ける受付部、
車両と、前記車両に積載可能なコンテナの種別及び数とが関連付けて記憶された第1記憶部を参照し、前記搬送依頼に含まれるコンテナの種別及び数と、前記産業廃棄物の前記コンテナへの積込地の情報とに基づいて、前記産業廃棄物を搬送する車両の運行計画を生成する運行計画生成部、
として機能させることを特徴とする情報処理プログラム。
【請求項14】
産業廃棄物の搬送依頼を受け付ける受付部と、
産業廃棄物の搬送依頼に基づいて産業廃棄物を搬送する車両の運行計画を生成する運行計画生成部と、を備え、
前記受付部は、
新規の産業廃棄物の搬送依頼を受け付け、
前記運行計画生成部は、
前記車両の運行計画において所定の制約を課した状態で、前記新規の搬送依頼に基づいて前記車両の運行計画を再生成する、
ことを特徴とする情報処理装置。
【請求項15】
前記運行計画生成部は、
前記所定の制約として、前記産業廃棄物の搬送依頼に割り当てられている車両との関係、又は、前記産業廃棄物の搬送依頼に割り当てられている運転手との関係を固定する制約を課して、前記新規の搬送依頼に基づいて前記車両の運行計画を再生成する、
ことを特徴とする請求項14に記載の情報処理装置。
【請求項16】
前記運行計画生成部は、
前記産業廃棄物の搬送依頼に基づいて、目的関数及び制約条件としての等式及び不等式の少なくとも一方を導出して、最適化ソルバを用いた充足可能性判定により前記産業廃棄物を搬送する車両の運行計画を生成し、
前記所定の制約として、前記産業廃棄物の搬送依頼に割り当てられている車両との関係、又は、前記産業廃棄物の搬送依頼に割り当てられている運転手との関係を固定する等式又は不等式を導出することにより前記車両の運行計画を再生成する、
ことを特徴とする請求項15に記載の情報処理装置。
【請求項17】
前記運行計画生成部が、前記所定の制約を課した状態で導出された制約条件式を充足する充足解を得られない場合に、前記所定の制約を課さずに、前記新規の搬送依頼に基づいて前記車両の運行計画を再生成することを促す情報を出力する出力部、
を備えることを特徴とする請求項16に記載の情報処理装置。
【請求項18】
受付部が、産業廃棄物の搬送依頼を受け付ける工程と、
運行計画生成部が、産業廃棄物の搬送依頼に基づいて産業廃棄物を搬送する車両の運行計画を生成する工程と、
前記受付部が、新規の産業廃棄物の搬送依頼を受け付ける工程と、
前記運行計画生成部が、前記車両の運行計画において所定の制約を課した状態で、前記新規の搬送依頼に基づいて前記車両の運行計画を再生成する工程と、
を有することを特徴とする情報処理方法。
【請求項19】
コンピュータを、
産業廃棄物の搬送依頼を受け付ける受付部、
産業廃棄物の搬送依頼に基づいて産業廃棄物を搬送する車両の運行計画を生成する運行計画生成部、として機能させるとともに、
前記受付部が、
新規の産業廃棄物の搬送依頼を受け付け、
前記運行計画生成部が、
前記車両の運行計画において所定の制約を課した状態で、前記新規の搬送依頼に基づいて前記車両の運行計画を再生成する、
ように機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
建設廃棄物、工場廃棄物などの産業廃棄物(以下、産廃ともいう)の回収を行う産廃業者は、産廃の回収依頼を受けると、産廃を回収して産廃処理場まで搬送する。この際、産廃の回収日時、産廃の種別及び廃棄量に合わせた搬送車や運転手の手配など種々の調整が必要となる。また、効率を考慮してできる限り、多くの現場を回って産廃を回収することが好ましい。このように、産廃の回収には考慮すべき事項が種々ある。しかし、産廃の産業においては、IT化が進んでおらず配車係が手作業で回収作業の調整を行っているのが現状である。
【0003】
上記のような状況から、コンピュータを用いた排出物処理ネットワーク・システムが提案されている。例えば、特許文献1では、集積された排出物を定期的に回収するではなく、集積された排出物の種類及び量を監視することにより、排出物がある程度以上集積された段階で、適切に回収することができるように支援するためのシステムが提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1に開示されるシステムは、該収集所に集積された排出物の種類及びその集積レベルに応じて収集車両を手配する単純なものであり、複雑な回収を伴う運行計画(例えば、複数の積込地から種類の異なるコンテナを回収して混載する等)を策定することは難しいという課題があった。
【0006】
本発明は、上記課題を鑑みてなされたものであり、複雑な回収を伴う運行計画を策定可能な情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決すべく、本発明の情報処理装置は、産業廃棄物を搬送するコンテナの種別及び数と、産業廃棄物のコンテナへの積込地の情報を含む産業廃棄物の搬送依頼を受け付ける受付部と、車両と、車両に積載可能なコンテナの種別及び数とが関連付けて記憶された第1記憶部を参照し、搬送依頼に含まれるコンテナの種別及び数と、産業廃棄物のコンテナへの積込地の情報とに基づいて、産業廃棄物を搬送する車両の運行計画を生成する運行計画生成部と、を備える。
【発明の効果】
【0008】
本発明によれば、複雑な回収を伴う運行計画を策定可能な情報処理装置、情報処理方法及び情報処理プログラムを提供することができる。
【図面の簡単な説明】
【0009】
【
図1】第1実施形態に係る情報処理システムの概略構成の一例を示す図である。
【
図2】第1実施形態に係るサーバのハード構成の一例を示す図である。
【
図3】第1実施形態に係るサーバの記憶装置に記憶されているデータベースの一例を示す図である。
【
図4】第1実施形態に係るサーバの機能構成の一例を示す図である。
【
図5】第1実施形態に係るユーザ端末のハード構成及び機能構成の一例を示す図である。
【
図6】第1実施形態に係るユーザ端末の表示装置に表示される車両情報入力画面の一例を示す図である。
【
図7】第1実施形態に係るユーザ端末の表示装置に表示される勤怠情報入力画面の一例を示す図である。
【
図8】第1実施形態に係るユーザ端末の表示装置に表示される搬送依頼情報入力画面の一例を示す図である。
【
図9】第1実施形態に係るユーザ端末の表示装置に表示される運行計画表示画面の一例を示す図である。
【
図10】第1実施形態に係るサーバで実行されるユーザ情報登録処理の一例を示すフローチャートである。
【
図11】第1実施形態に係るサーバで実行される搬送依頼登録処理の一例を示すフローチャートである。
【
図12】第1実施形態に係るサーバで実行される運行計画生成処理の一例を示すフローチャートである。
【
図13】第2実施形態に係るユーザ端末の表示装置に表示される画面の一例を示す図である。
【
図14】第2実施形態に係るサーバで実行される搬送依頼登録処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態を図面に基づいて説明する。以下の説明では、産業廃棄物を産廃ともいう。また産廃の搬送等を行う業者を産廃業者ともいう。また、本発明に係る情報処理システム1の利用者をユーザ(主に産廃業者)ともいう。なお、本発明に係る情報処理システム1の利用者は、主に産廃業者であるが、産廃業者以外の本発明に係るシステムの利用を制限するものではない。
【0011】
[第1実施形態]
(概要説明)
初めに、第1実施形態の概要について説明する。第1実施形態に係る情報処理システムの概要について説明する。上述したように、従来のシステムでは、複雑な回収を伴う運行計画、例えば、複数の積込地から種別の異なるコンテナを回収して混載したり、複数の積込地(産廃の排出場)から積み込んだ後にまとめて処理施設(以下、処分場ともいう)へ廃棄物を荷下ろししたりする場合(以下「ルート回収」という。)の運行計画を策定するのが難しいという問題がある。第1実施形態に係る情報処理システム1は、このような複雑な回収を伴う運行計画を生成するためのシステムである。
【0012】
例えば、積込地Aに空のコンテナ一つを設置する依頼と、積込地Bから満載のコンテナ一つを引上げる依頼を受注した場合を考える。コンテナを一つのみ積載できる車両(例えば、トラック)を用いた場合、以下(a1)~(a3)の手順を踏むことでルート回収を行うことができる。
(a1)自社のコンテナ置き場で空のコンテナ一つを積載
(a2)積込地Aに空のコンテナ一つを設置
(a3)積込地Aから積込地Bに直接移動し、積込地Bの満載のコンテナ一つを引上
【0013】
一方、コンテナを一つのみ積載できる車両を用いて、積込地Aに空のコンテナ一つを設置する依頼の後に、積込地Cにある満載のコンテナを空のコンテナに交換する依頼に対応する場合を考える。
この場合、以下の(b1)~(b4)の手順となり、一度コンテナ置き場に戻って空のコンテナを積載する非効率な配車計画となる。
(b1)コンテナ置き場で空のコンテナを積載
(b2)積込地Aに空のコンテナを設置
(b3)コンテナ置き場で空のコンテナを積載
(b4)積込地Cの満載のコンテナを空のコンテナと交換
【0014】
しかしながら、コンテナを一つのみ積載できる車両ではなく、空のコンテナを二つ、満載のコンテナを一つ積載できるより大きな車両を用いれば、上記のように積込地Aに空のコンテナ一つを設置する依頼と、積込地Bから満載のコンテナ一つを引上げる依頼を受注した場合でも、以下の(c1)~(c3)の手順となり、一度コンテナ置き場に戻って空のコンテナを積載する必要がなくなり効率的な配車計画となる。
(c1)コンテナ置き場で空のコンテナ二つを積載
(c2)積込地Aに空のコンテナ一つを設置
(c3)積込地Cの満載のコンテナを空のコンテナと交換
【0015】
第1実施形態に係る情報処理システムでは、コンテナ種別、搬送依頼、車両、勤怠などの情報に基づいて、ドライバーの各地点の出発時刻、搬送依頼のドライバーの割り当てなどを変数に対応させ、勤務時間の制約や搬送依頼の受入時間制約を、変数を用いた不等式(以下「制約条件式」という。)として記述し、また、残業時間や勤務時間などの最適化対象(以下「目的関数」という。)も同じく数式として記述して、制約条件式及び目的関数を元にした最適化問題(実施例1においては混合整数計画問題)を解くことにより、運行計画を生成する(得る)。
【0016】
このように、第1実施形態では、車両の積載可能なコンテナ数と、依頼の内容に応じて、単に積込地と処理施設を往復するような単純な配車計画ではなく、複雑な回収を伴う場合においても、ルート回収を駆使して効率的な配車計画を生成する情報処理システムについて説明する。
【0017】
(情報処理システムの構成)
図1は、第1実施形態に係る情報処理システム1の概略構成の一例を示す図である。初めに、
図1を参照して情報処理システム1の構成について説明する。情報処理システム1は、サーバ2(情報処理装置)と、このサーバ2とネットワーク4を介して接続されたユーザ端末3とを備える。なお、情報処理システム1が備えるサーバ2、ユーザ端末3の数はそれぞれ任意である。
【0018】
(サーバ2)
図2は、サーバ2(情報処理装置)のハード構成の一例を示す図である。
図2に示すように、サーバ2は、通信IF200A、記憶装置200B、CPU200Cなどを備える。なお、サーバ2に入力装置(例えば、キーボード、タッチパネルなど)及び表示装置(例えば、液晶モニタや有機ELモニタなど)を備えるようにしてもよい。
【0019】
通信IF200Aは、外部端末(第1実施形態では、ユーザ端末3)と通信するためのインターフェースである。
【0020】
記憶装置200Bは、例えば、HDDや半導体記憶装置である。記憶装置200Bには、サーバ2で利用する情報処理プログラム及び各種データベースなどが記憶されている。なお、第1実施形態では、情報処理プログラム及び各種データベースは、サーバ2の記憶装置200Bに記憶されているが、USBメモリなどの外部記憶装置やネットワークを介して接続された外部サーバに記憶し、必要に応じて参照したり、ダウンロード可能に構成されていてもよい。
【0021】
図3は、記憶装置200Bに記憶されているデータベースの一例である。
図3に示すように、記憶装置200Bには、ユーザDB1(第1,第2記憶部)、エラー提示用DB2(第3記憶部)が記憶されている。ユーザDB1には、情報処理システム1のユーザである産廃業者が車両の運行計画を生成するための各種データが記憶されている。具体的には、ユーザDB1には、属性情報D1、車両情報D2、勤怠情報D4、積込地(産廃の排出場)情報D5、処理施設情報D6、搬送依頼情報D7などがそれぞれのユーザごとに記憶されている。以下、上記情報D1~D7について説明する。また、ユーザDB1には、ユーザにより設定登録された、残業時間や勤務時間などの最適化対象がそれぞれのユーザごとに記憶されている。なお、最適化対象は、適宜変更可能に構成されている。
【0022】
(属性情報D1)
属性情報D1は、ユーザの企業名、本社住所(位置情報を含む)、拠点住所(位置情報を含む)、連絡先などの情報である。拠点住所とは、本社以外の営業所、支所、処理施設などの住所である。なお、第1実施形態では、ユーザごとにユーザIDが付与されている。
【0023】
(車両情報D2)
車両情報D2は、ユーザが保有(リースやレンタルを含む)する車両の情報である。車両情報D2には、例えば、ユーザが保有する車両及び車両の種別を関連付けた情報、車両の種別に積載可能なコンテナの種別及び数を関連付けた情報(空の場合と満載の場合とを含む)、車両の移動時間(第1実施形態では、乗用車の移動時間と比較した際の移動時間(例えば、乗用車のxx倍などの形式)が記憶されているが、移動速度でもよい。なお乗用車の移動時間は記憶装置200Bに別途記憶されている)などの情報が含まれる。なお、車両種別は、例えば、ユニック車、アームロール車、ダンプトラックなどであり、積載可能重量(3t、4tなど)ごとにさらに細分化されている。なお、第1実施形態では、車両ごとに車両IDが付与されている。
【0024】
(勤怠情報D4)
勤怠情報D4は、車両の運転手の勤怠情報であり、運転手名、運転車両、勤務日、勤務時間(休憩時間を含む)などの情報である。なお、第1実施形態では、運転手ごとに運転手IDが付与されている。
【0025】
(積込地情報D5)
積込地情報D5は、産廃の排出場の情報であり、排出場名、住所(位置情報を含む)である。なお、第1実施形態では、排出場ごとに排出場IDが付与されており、搬送依頼においてIDでも積込地を選択することができるように構成されている。
【0026】
(処理施設情報D6)
処理施設情報D6は、産廃の処理施設(処分場)の情報であり、例えば、処理施設名、住所(位置情報)である。なお、必要に応じて、受入可能な産廃の種別、産廃の種別ごとの受入可能時間帯などの情報が含まれる。なお、第1実施形態では、処理施設ごとに処理施設IDが付与されており、搬送依頼においてIDでも処理施設を選択することができるように構成されている。
【0027】
(搬送依頼情報D7)
搬送依頼情報D7は、産廃の搬送依頼の情報である。搬送依頼情報D7には、産廃を搬送するコンテナの種別及び数、産廃のコンテナへの積込地(産廃の排出場)、積込地での作業可能日及び作業可能時間、タスク、処理施設での所要時間、ルート回収の可否、指定処理施設、指定運転手などの情報が含まれる。タスクには、コンテナの設置、移動、引上、交換などが含まれる。設置は、排出場への空のコンテナの設置作業である。移動は、排出場内におけるコンテナの移動作業である。引上は、排出場からの満載のコンテナの引き上げ作業である。交換は、排出場に存在する満載のコンテナを、運搬した空のコンテナと交換する作業である。処理施設での所要時間は、処理施設で産廃を廃棄等するのにかかる時間である。
【0028】
ルート回収は、例えば、複数の排出場でタスクをこなした後に、処理施設に行くオペレーションのことである。ルート回収の典型例としては、積込地Aにおいて「設置」タスクで空のコンテナを置いて車両の荷台を空にし、積込地Bにおいて「引上」タスクで満載のコンテナを、積込地Aで空になった車両の荷台に回収して、処理施設で荷下ろしというオペレーションが考えられる。指定処理施設は、依頼者やユーザにより指定された処理施設、指定運転手は依頼者やユーザにより指定された運転手である。なお、タスク、処理施設での所要時間は、例えばコンテナ一つあたりの作業時間や積込地への入退場所要時間、処理施設への入退場所要時間を別途記憶しておき、それらの情報から合計所要時間を計算するようにしてもよい。
【0029】
(エラー提示用DB2)
エラー提示用DB2には、制約条件式と、充足解を得られない理由とが対応付けて記憶されている。エラー提示用DB2に記憶されている情報は、後述の抽出部206により抽出されて、ユーザ端末3へ送信(出力)される。
【0030】
CPU200Cは、サーバ2を制御し、図示しないROM(Read Only Memory)及びRAM(Random Access Memory)を備えている。
【0031】
図4は、第1実施形態に係るサーバ2の機能構成の一例を示す図である。
図4に示すように、サーバ2は、受信部201(受付部)、送信部202(出力部)、記憶装置制御部203、運行計画生成部204、移動時間取得部205、抽出部206などの機能を有する。なお、
図4に示す機能は、サーバ2のROM(不図示)に記憶された情報処理プログラムをCPU200Cが実行することにより実現される。
【0032】
受信部201(受付部)は、ネットワーク4を介してユーザ端末3から送信される情報を受信する。受信部201は、例えば、ユーザ端末3からの搬送依頼を受信する。搬送依頼には、例えば、以下の情報が含まれる。なお、必ずしも以下(d1)~(d5)の情報の全てが搬送依頼に含まれるわけではない。また、以下(d1)~(d5)の情報以外の情報が搬送依頼に含まれることもある。
(d1)産廃を搬送するコンテナの種別及び数の情報(以下、コンテナ情報ともいう)
(d2)産廃のコンテナへの積込地(産廃の排出場)の情報
(d3)積込地での作業可能日時の情報
(d4)コンテナで搬送される産廃を処理可能な処理施設の情報
(d5)タスクの情報(積込地でのタスク及び作業可能時間)
【0033】
送信部202(出力部)は、ネットワーク4を介してユーザ端末3へ情報を送信(出力)する。例えば、送信部202は、運行計画生成部204が生成した車両の運行計画、抽出部206が抽出した理由などの情報をユーザ端末3へ情報を送信(出力)する。
【0034】
記憶装置制御部203は、記憶装置200Bを制御する。具体的には、記憶装置制御部203は、記憶装置200Bへの情報の書き込みや読み出しを行う。
【0035】
運行計画生成部204は、産廃を搬送する車両の運行計画を生成する。具体的には、運行計画生成部204は、搬送依頼に含まれる情報及びユーザDB1に登録された情報(例えば、情報D1~D7に記憶された情報、及び残業時間や勤務時間などの最適化対象など)に基づいて、目的関数及び制約条件式を生成し、最適化ソルバを用いた最適化により産廃を搬送する車両の運行計画を生成する。
運行計画生成部204が車両の運行計画を生成する際に利用する制約条件としては、例えば、以下のものがある。なお、必ずしも以下(e1)~(e6)の情報の全てを、運行計画を生成する際の制約条件として利用するわけではない。また、以下(e1)~(e6)の情報以外の情報を、運行計画を生成する際の制約条件として利用することもある。
(e1)車両に積載可能なコンテナの種別及び数の情報と、搬送依頼に含まれるコンテナの種別及び数と、産廃のコンテナへの積込地の情報
(e2)積込地(産廃の排出場)での作業可能日時(タスクに関連付けられた作業可能時間)
(e3)産廃の処理施設の場所(位置)及び種別
(e4)積込地の場所(位置)
(e5)車両を運転可能な運転手の勤務日時(勤怠データ)
(e6)処理施設での所要時間
【0036】
つまり、運行計画生成部204は、入力された、コンテナ種別、搬送依頼、車両、勤怠などの情報に基づいて、ドライバーの各地点の出発時刻、搬送依頼のドライバーの割り当てなどを変数に対応させ、勤務時間の制約や搬送依頼の受入時間制約を、変数を用いた不等式(制約条件式)として記述する。また、運行計画生成部204は、残業時間や勤務時間などの最適化対象(目的関数)も同じく数式として表現する。そして、運行計画生成部204は、は、制約条件式と目的関数とを元にした最適化問題(実施例1においては混合整数計画問題)を解くことにより、運行計画を生成する(得る)。
【0037】
なお、混合整数計画問題を解くアルゴリズムは既知であり、有償や無償の最適化ソルバが存在するので運行計画生成部204による運行計画の生成には、これら最適化ソルバを利用することができる。なお、運行計画を生成には、その他様々の最適化アルゴリズムの適用が可能である。このように、運行計画生成部204による運行計画の生成に、最適化ソルバ(混合整数計画問題を解くアルゴリズム)を利用することはあくまで一例であり、運行計画生成部204による運行計画の生成に、その他様々の最適化アルゴリズムの適用を妨げるものではない。
【0038】
移動時間取得部205は、地点間(例えば、産廃業者の拠点から積込場、積込場から処理施設、処理施設から産廃業者の拠点など)の移動時間を取得する。なお、移動時間取得部205は、各地点の位置情報(例えば、緯度・経度や住所などの情報)から距離を算出し、車両の移動速度で除算することで求めた時間を移動時間として取得してもよいし、予め地点間の移動に掛かる移動時間をデータとして記憶装置200Bに記憶したものを移動時間として取得してもよい。また、ネットワーク4を介して接続された外部の経路探索エンジン(不図示)を利用して算出された地点間の移動時間を取得するようにしてもよい。
【0039】
抽出部206は、運行計画生成部204が制約条件式を充足する充足解を得られない場合、制約条件式と、充足解を得られない理由とを対応付けて記憶したエラー提示用DB2を参照し、制約条件式の内、充足不能であった制約条件式に対応する理由を抽出する。上述したように、抽出部206が抽出した理由は、送信部202によりユーザ端末3へ送信(出力)される。
【0040】
(ユーザ端末3)
図5は、第1実施形態に係るユーザ端末3のハード構成及び機能構成の一例を示す図である。
図5(a)は、ユーザ端末3のハード構成の一例を示す図、
図5(b)は、ユーザ端末3の機能構成の一例を示す図である。ユーザ端末3は、PC(Personal Computer)や携帯端末(例えば、タブレット端末)などである。
図5(a)に示すように、ユーザ端末3は、通信IF300A、記憶装置300B、入力装置300C、表示装置300D、CPU300Eなどを備える。
【0041】
通信IF300Aは、他の装置(第1実施形態では、サーバ2)と通信するためのインターフェースである。
【0042】
記憶装置300Bは、例えば、HDD(Hard Disk Drive)や半導体記憶装置(SSD(Solid State Drive))である。記憶装置300Bには、ユーザ端末3の識別子(ID)及び情報処理プログラムなどが記憶されている。なお、識別子は、サーバ2がユーザ端末3に対して付与してもよいし、IP(Internet Protocol)アドレス、MAC(Media Access Control)アドレスなどを利用してもよい。
【0043】
入力装置300Cは、例えば、キーボード、タッチパネルなどであり、ユーザは、入力装置300Cを操作して、情報処理システム1の利用に必要な情報、例えば、ユーザDB1へ登録する情報(例えば、情報D1~D7に記憶された情報、及び残業時間や勤務時間などの最適化対象など)などを入力することができる。
【0044】
表示装置300Dは、例えば、液晶モニタや有機ELモニタなどである。表示装置300Dは、情報処理システム1の利用に必要な画面(詳細は後述する)を表示する。
【0045】
CPU300Eは、ユーザ端末3を制御するものであり、図示しないROM及びRAMを備えている。
【0046】
図5(b)に示すように、ユーザ端末3は、受信部301、送信部302、記憶装置制御部303、操作受付部304、表示装置制御部305などの機能を有する。なお、
図5(b)に示す機能は、CPU300Eが、記憶装置300Bに記憶されている情報処理プログラムを実行することで実現される。
【0047】
受信部301は、サーバ2から送信される情報を受信する。
【0048】
送信部302は、入力装置300Cを利用して入力された情報に識別子を付与してサーバ2へ送信する。ユーザ端末3から送信される情報に識別子を付与することでサーバ2は、受信した情報がどのユーザ端末3から送信されたものであるかを認識できる。
【0049】
記憶装置制御部303は、記憶装置300Bを制御する。具体的には、記憶装置制御部303は、記憶装置300Bを制御して情報の書き込みや読み出しを行う。
【0050】
操作受付部304は、入力装置300Cでの入力操作を受け付ける。
【0051】
表示装置制御部305は、表示装置300Dを制御する。具体的には、表示装置制御部305は、表示装置300Dを制御して第1実施形態に係る情報処理システム1の利用に必要な画面(詳細は後述する)を表示させる。
【0052】
(表示画面例)
図6~
図9は、第1実施形態に係るユーザ端末3の表示装置300Dに表示される画面の一例を示す図である。以下、
図6~
図9を参照してユーザ端末3の表示装置300Dに表示される画面について説明する。なお、以下の説明では同一の構成には同一の符号を付して重複する説明を省略する。
【0053】
(車両情報入力画面)
図6は、車両情報入力画面G1(以下、単に画面G1ともいう)の一例を示す図である。
図6に示す画面G1では、ユーザが保有する車両の情報を登録することができる。車両の情報は、例えば、ユーザが保有する車両のコード1001、車種名(種別)1002、乗用車を基準とした移動時間1003(第1実施形態では、乗用車の移動時間と比較した際の移動時間(乗用車のxx倍などの形式)で入力する)、積載可能なコンテナの種別及び数1004(空の場合と満載の場合とを含む)などの情報である。ユーザは、ユーザ端末3の入力装置300Cを操作して、ユーザが保有する車両のコード1001、車種名(種別)1002、移動時間1003、積載可能なコンテナの種別及び数1004などの情報を入力し、「更新する」ボタンB1を選択操作すると、画面G1で入力した情報がユーザDB1に車両情報D2としてユーザIDに関連付けて登録される。また、「戻る」ボタンB2を選択操作すると、画面G1の前に表示されていた画面に遷移する。なお、乗用車の移動時間と比較した際の移動時間(xx倍)に替えて、乗用車の移動速度と比較した際の移動速度(xx倍(通常は、0.x倍となる))を入力するようにしてもよい。
【0054】
(勤怠情報入力画面)
図7は、勤怠情報入力画面G2(以下、単に画面G2ともいう)の一例を示す図である。
図7に示す画面G2では、車両の運転手の勤怠情報を登録することができる。勤怠情報は、例えば、日付1011、運転手名及び運転車両1012A~1012Dなどの情報である。ユーザは、ユーザ端末3の入力装置300Cを操作して、日付1011、運転手名及び運転車両1012~1012Dなどの情報を入力し、「更新する」ボタンB1を選択操作すると、画面G2で入力した情報がユーザDB1に勤怠情報D4としてユーザIDに関連付けて登録される。また、「戻る」ボタンB2を選択操作すると、画面G2の前に表示されていた画面に遷移する。
【0055】
(搬送依頼入力画面)
図8は、搬送依頼情報入力画面G3(以下、単に画面G3ともいう)の一例を示す図である。
図8に示す画面G3では、搬送依頼情報を登録することができる。搬送依頼情報は、例えば、日付1021、積込場1022、作業可能時間1023、タスク1024、処理施設での所要時間1025、ルート回収の可否1026、処理施設指定1027、運転手指定1028、車種指定1029などの情報である。なお、作業可能時間1023、処理施設指定1027、運転手指定1028、車種指定1029などの必須でない情報は、必要に応じて入力される。ユーザは、ユーザ端末3の入力装置300Cを操作して、日付1021、積込場1022、作業可能時間1023、タスク1024、処理施設での所要時間1025、ルート回収の可否1026、処理施設指定1027、運転手指定1028、車種指定1029などの情報を入力し、「更新する」ボタンB1を選択操作すると、画面G3で入力した情報がユーザDB1に搬送依頼情報D7としてユーザIDに関連付けて登録される。また、「戻る」ボタンB2を選択操作すると、画面G3の前に表示されていた画面に遷移する。
【0056】
(運行計画表示画面)
図9は、運行計画表示画面G4(以下、単に画面G4ともいう)の一例を示す図である。
図9に示す画面G4では、サーバ2で生成された車両の運行計画が表示される。画面G4では、日付1031を選択操作することで、選択した日付の車両の運行計画がユーザ端末3の表示装置300Dに表示される。「運行計画再生成」ボタンB3を選択操作すると車両の運行計画が再生成される。また、「CVSダウンロード」ボタンB4を選択操作すると車両の運行計画をCVS形式でダウンロードすることができる。また、画面Gでは、受注数(依頼数)1031、運行計画の生成数1032、運行計画の確定数1033、運行計画を生成できなかった数1034が表示される。また、画面Gでは、運転手1035、車種1036、積込場1037、産廃種別1038、タスク1039、処理施設1040、開始時刻1041及び終了時刻1042がタスクごとに表示される。
【0057】
なお、ユーザ端末3の表示装置300Dには、上記画面G1~G4以外にも積込地情報や処理施設情報、残業時間や勤務時間などの最適化対象を登録するための画面などが表示され、ユーザは、ユーザ端末3の入力装置300Cを操作して積込地情報や処理施設情報、残業時間や勤務時間などの最適化対象を登録することができる。
【0058】
(サーバ2で実行される処理)
図10~
図12は、サーバ2で実行される処理の一例を示すフローチャートである。以下、
図10~
図12を参照して、サーバ2で実行される処理について説明するが、
図1~
図9を参照して説明した構成と同一の構成には同一の符号を付して重複する説明を省略する。
【0059】
(ユーザ情報登録処理)
図10は、サーバ2で実行されるユーザ情報登録処理の一例を示すフローチャートである。以下、
図10を参照して、サーバ2で実行されるユーザ情報登録処理について説明する。
【0060】
(ステップS101)
ユーザは、ユーザ端末3の入力装置300Cを操作して、ユーザの属性情報を入力する。入力されたユーザの属性情報は、操作受付部304で受け付けられる。受け付けられたユーザの属性情報は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信されたユーザの属性情報を受信する。サーバ2の受信部201で受信されたユーザの属性情報は、記憶装置制御部203により、ユーザIDに関連付けて記憶装置200BのユーザDB1に記憶される。
【0061】
(ステップS102)
ユーザは、ユーザ端末3の入力装置300Cを操作して、車両情報を入力する。入力された車両情報は、操作受付部304で受け付けられる。受け付けられた車両情報は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信された車両情報を受信する。サーバ2の受信部201で受信された車両情報は、記憶装置制御部203により、ユーザIDに関連付けて記憶装置200BのユーザDB1に記憶される。
【0062】
(ステップS103)
ユーザは、ユーザ端末3の入力装置300Cを操作して、勤怠情報を入力する。入力された勤怠情報は、操作受付部304で受け付けられる。受け付けられた勤怠情報は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信された勤怠情報を受信する。サーバ2の受信部201で受信された勤怠情報は、記憶装置制御部203により、ユーザIDに関連付けて記憶装置200BのユーザDB1に記憶される。
【0063】
(ステップS104)
ユーザは、ユーザ端末3の入力装置300Cを操作して、積込地情報を入力する。入力された積込地情報は、操作受付部304で受け付けられる。受け付けられた積込地情報は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信された積込地情報を受信する。サーバ2の受信部201で受信された積込地情報は、記憶装置制御部203により、ユーザIDに関連付けて記憶装置200BのユーザDB1に記憶される。
【0064】
(ステップS105)
ユーザは、ユーザ端末3の入力装置300Cを操作して、産廃の処理施設情報を入力する。入力された処理施設情報は、操作受付部304で受け付けられる。受け付けられた処理施設情報は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信された処理施設情報を受信する。サーバ2の受信部201で受信された処理施設情報は、記憶装置制御部203により、ユーザIDに関連付けて記憶装置200BのユーザDB1に記憶される。
【0065】
なお、必ずしもステップS101からS106の順に情報を登録する必要はなく、ステップS101からS106の情報の登録順序が入れ替わってもよい。また、一度にステップS101からS106の情報を登録する必要はなく、2回以上に分けてステップS101からS106の情報を登録するようにしてもよい。また、
図10のユーザ情報登録処理において、残業時間や勤務時間などの最適化対象の情報を登録するようにしてもよい。なお、残業時間や勤務時間などの最適化対象の情報は、
図10のユーザ情報登録処理とは別に独立して登録するようにしてもよい。
【0066】
(搬送依頼登録処理)
図11は、サーバ2で実行される搬送依頼登録処理の一例を示すフローチャートである。以下、
図11を参照して、サーバ2で実行される搬送依頼登録処理について説明する。
【0067】
(ステップS201)
ユーザは、産廃の搬送依頼情報を入力する。具体的には、ユーザは、ユーザ端末3の入力装置300Cを操作して、産廃を搬送する日付を入力する。入力された日付は、操作受付部304で受け付けられる。受け付けられた日付は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信された日付を受信する。サーバ2の受信部201で受信された日付には、搬送依頼IDが付与され、記憶装置制御部203により、依頼を受けたユーザのユーザIDに関連付けて記憶装置200BのユーザDB1に記憶される。
【0068】
(ステップS202)
ユーザは、ユーザ端末3の入力装置300Cを操作して、産廃の積込地の情報(IDでもよい)を入力する。入力された積込地の情報は、操作受付部304で受け付けられる。受け付けられた積込地の情報は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信された積込地の情報を受信する。サーバ2の受信部201で受信された積込地の情報には、搬送依頼IDが付与され、記憶装置制御部203により、依頼を受けたユーザのユーザIDに関連付けて記憶装置200BのユーザDB1に記憶される。
【0069】
(ステップS203)
ユーザは、ユーザ端末3の入力装置300Cを操作して、積込地でのタスクの情報(設置、移動、引上、交換など)を入力する。入力されたタスクの情報は、操作受付部304で受け付けられる。受け付けられたタスクの情報は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信されたタスクの情報を受信する。サーバ2の受信部201で受信されたタスクの情報には、搬送依頼IDが付与され、記憶装置制御部203により、依頼を受けたユーザのユーザIDに関連付けて記憶装置200BのユーザDB1に記憶される。
【0070】
(ステップS204)
ユーザは、ユーザ端末3の入力装置300Cを操作して、産廃を搬送するコンテナの種別及び数(コンテナ情報)を入力する。入力されたコンテナ情報は、操作受付部304で受け付けられる。受け付けられたコンテナ情報は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信されたコンテナ情報を受信する。サーバ2の受信部201で受信されたコンテナ情報には、搬送依頼IDが付与され、記憶装置制御部203により、依頼を受けたユーザのユーザIDに関連付けて記憶装置200BのユーザDB1に記憶される。
【0071】
(ステップS205)
ユーザは、ユーザ端末3の入力装置300Cを操作して、ルート回収の可否を入力する。入力されたルート回収の可否は、操作受付部304で受け付けられる。受け付けられたルート回収の可否は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信されたルート回収の可否を受信する。サーバ2の受信部201で受信されたルート回収の可否には、搬送依頼IDが付与され、記憶装置制御部203により、依頼を受けたユーザのユーザIDに関連付けて記憶装置200BのユーザDB1に記憶される。
【0072】
(ステップS206)
ユーザは、ユーザ端末3の入力装置300Cを操作して、必要に応じてその他の情報(例えば、積込場での作業可能時間、処理施設、運転手、処理施設での所要時間などの必須でない情報)を入力する。入力されたその他の情報は、操作受付部304で受け付けられる。受け付けられたその他の情報は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信されたその他の情報を受信する。サーバ2の受信部201で受信されたその他の情報には、搬送依頼IDが付与され、記憶装置制御部203により、依頼を受けたユーザのユーザIDに関連付けて記憶装置200BのユーザDB1に記憶される。
【0073】
なお、搬送依頼は必ずしもステップS201からS206の順に情報を登録する必要はなく、ステップS201からS206の情報の登録順序が入れ替わってもよい。また、一度にステップS201からS206の情報を登録する必要はなく、2回以上に分けてステップS201からS206の情報を登録するようにしてもよい。また、(
図10のユーザ情報登録処理ではなく)
図11の搬送依頼登録処理において、残業時間や勤務時間などの最適化対象の情報を登録するようにしてもよい。なお、残業時間や勤務時間などの最適化対象の情報は、
図11の搬送依頼登録処理とは別に独立して登録するようにしてもよい。
【0074】
(運行計画生成処理)
図12は、サーバ2で実行される運行計画生成処理の一例を示すフローチャートである。以下、
図12を参照して、サーバ2で実行される運行計画生成処理について説明する。
【0075】
(ステップS301)
サーバ2の運行計画生成部204は、ユーザ端末3から送信されユーザDB1に記憶された搬送依頼の情報を取得する。
【0076】
(ステップS302)
サーバ2の移動時間取得部205は、搬送依頼に含まれる情報及びユーザDB1に記憶された情報に基づいて、コンテナの搬送に必要な移動時間を取得する。
【0077】
(ステップS303)
サーバ2の運行計画生成部204は、搬送依頼に含まれる情報、ユーザDB1に記憶された情報(例えば、情報D1~D7に記憶された情報、及び残業時間や勤務時間などの最適化対象など)及び移動時間取得部205が取得した移動時間等に基づいて、制約条件式(等式、不等式)と目的関数式を導出する。
【0078】
(ステップS304)
サーバ2の運行計画生成部204は、最適化ソルバによりステップS303で導出した制約条件式を満たし、目的関数式を厳密あるいは近似的に、最小化あるいは最大化する最適解を演算する。
【0079】
(ステップS305)
最適解が存在する場合(YES)、サーバ2は、ステップS306の処理へ移行する。最適解が存在しない場合(NO)、サーバ2は、ステップS307の処理へ移行する。
【0080】
(ステップS306)
サーバ2の運行計画生成部204は、最適解に基づいて車両の運行計画を表示するための情報を生成する(
図9を表示するための情報)。
【0081】
(ステップS307)
サーバ2の抽出部206は、制約条件式と、充足解を得られない理由とを対応付けて記憶したエラー提示用DB2を参照し、制約条件式の内、充足不能であった制約条件式に対応する理由を抽出する。
【0082】
(ステップS308)
サーバ2の送信部202は、結果をユーザ端末3へ送信する。具体的には、サーバ2の送信部202は、ステップS306で生成した車両の運行計画を表示するための情報、又はステップS307で抽出した理由をユーザ端末3へ送信する。
【0083】
[実施例1]
実施例1では、運行計画生成部204による車両の運行計画の生成の一例について説明する。なお、以下の説明では、D、G、Pを正の整数として、D人のドライバーの勤怠情報とN件の受注情報、G箇所の積込地(産廃の排出場)、P箇所の処分施設(処分場)の情報が与えられた時に、運行計画生成部204が勤怠時間制約や受注制約を満たした効率的な車両の運行計画(配車計画)を生成する例について説明する。
【0084】
なお、単純化のため、以下の仮定をおくが、下記仮定は追加の変数を導入(拡張)することにより変更することができる。また、その変数の導入方針(拡張方針)についても各仮定の説明後に説明する。
【0085】
(ドライバー勤怠に関して)
ドライバーの勤務時間を9:00-17:00までの一律、休憩時間無し、残業無しと仮定する。
また、ドライバーに対して乗車可能な車両が1対1に設定されているものとする。つまり、特定のドライバーに対し、乗車可能な車両として特定の車両が割り当てられており、他の車両には乗り換えできないものとする。
【0086】
なお、休憩時間については、例えば、ルート回収の後に休憩を挟むか否かに対応する変数を導入する等の方法により、適宜拡張することが可能である。残業についても、残業時間の変数を導入したり、業務時間に関する制約を削除する代わりに標準業務時間を超えて稼働した場合には目的関数値にペナルティが加わるように目的関数を修正する等の方法により、適宜拡張することが可能である。
また、ドライバーに対する車両の割り当てについては、車両の割り当てに対応する変数を導入することで乗り換え機能を導入することができる。
【0087】
(車両の車種とコンテナに関して)
コンテナは一種別(一種類のみ)と仮定する。
各車両に対して積載可能な空と満載のコンテナそれぞれの最大数が与えられるものとする。具体的には、各車両に対して、空のコンテナのみを積載した場合に高々何個まで積載できるか、満載のコンテナのみであれば何個積載できるか、といった情報が与えられる。なお、ドライバーに対して車両が唯一つ割り当てられるので、これはドライバーに対して上記の情報が与えられることと等価であるため、車両の車種に対してこれらの値をユーザDB1に保存し、ユーザDB1上で突合するように構成してもよい。
コンテナの補充は、処理施設でできるものとする。
【0088】
なお、コンテナの種別は、コンテナの種別に対応させて変数と制約を増やすことで2以上のコンテナ種別に対応が可能である。
また、処理施設でのコンテナの補充は、コンテナの積載場所に対応する変数を導入することで、処分施設とコンテナ置き場を分離して管理することができる。
【0089】
(受注情報(搬送依頼)及び積込地に関して)
搬送依頼ごとに積込地での作業時間と、処理施設での作業時間が与えられ、ルート回収を行うときは処理施設での作業時間は二つの和となるものとする(コンテナの数量などから作業時間を計算するなどしてもよい)。
搬送依頼において産廃を処理する処理施設が指定されるものとする(産廃の種別から自動で処理施設を割り当てるようにしてもよい)。
タスクは、設置、交換、引上のみであり、一つの搬送依頼に対して指定されるタスクは一つ(一種類)のみとする。
車両の積載重量は、考慮しないものとする。
【0090】
なお、一つの搬送依頼に対して複数のタスクを指定する場合、複数の搬送依頼に分割することで対応することができる。
また、車両の積載重量については、追加の制約(変数)を導入することで拡張することができる。例えば、廃棄物をコンテナに積み込んだときの重量を予めデータベースに保存するとともに、受注時において廃棄物の種類を入力として受け付け、それらの値から計算されるルート回収時の積載総重量が規定値を超えないことを制約として加えてもよい。
【0091】
(処理施設に関して)
処理施設の受入可能時間帯は考慮しないものとする(いつでも受入可能とする)。
回収した産廃は、単一(一つ)の処理施設に荷下ろしをし、2以上の処理施設に荷下ろしをすることはないものとする。
【0092】
なお、処理施設の受入可能時間帯に制限を設ける場合、搬送依頼の受入時間制約(「0036段落」参照)と同様の方法で、処理施設の受入時間制約に係る追加の制約(変数)を導入することで拡張することができる。また、複数積込地をめぐる機能と同様に、複数処理施設に拡張できる。
【0093】
(移動時間に関して)
移動時間は各車両において同じとする。
G箇所の積込地及びP箇所の処理施設間の移動時間は与えられているものとする。
【0094】
なお、各車両の移動時間が異なる場合は、
図6でも説明した移動時間の係数により調整すればよい。
【0095】
(配車計画に関して)
ルート回収の回収は5回、1度のルート回収で二つの積込地を訪問することとする。
【0096】
なお、積込地に処理施設をダミーとして入れて、そこで行われる産廃の回収依頼がないとすることにより、実質的に5回未満のルート回収の配車計画を生成することができる。
また、単一ルート内で同一の積込地を2つ割り当てることにより、ルート回収内で実質的に1箇所の積込地のみを訪問する配車計画を生成することができる。
【0097】
また、以下の説明において、d,n,g,pは、それぞれ
d=1,2,・・・・,D:ドライバーに対応する整数
n=1,2,・・・・,N:搬送依頼に対応する整数
g=1,2,・・・・,G:積込地に対応する整数
p=0,-1,・・・,-P+1:処理施設に対応する整数
r=1,2,3,4,5:合計5回の回収の何回目であるかに対応する整数
を表す。
【0098】
なお、以下の説明では、d=1のドライバーというように、それぞれの整数をidとしても利用するものとする。
また、時刻は午前0時00分からの分数を整数で表すものとする。例えば、午前9:30は9*60+30=570と表される。このように時刻は午前0時00分からの分数を整数で表す場合、ドライバーの勤務時間は9:00-17:00であるから始業時刻は9*60=540、終業時刻は17*60=1020と表される。
【0099】
以上の仮定に基づいて、以下に記述される条件を満たす配車計画を算出する。
【0100】
条件1
g,g’=1,2,・・・,Gの積込地と、p=0,-1,・・・,-P+1の処理施設に対して、移動時間mp,g、mg,g’、mg’,p
【0101】
条件2
d=1,2,・・・,Dのドライバーに対して、
ed:空のコンテナの最大積載数
fd:満載のコンテナの最大積載数
【0102】
条件3
なお、以下の説明において数式では、「飾り文字のN」で整数の集合を表す。
n=1,2,・・・,Nの搬送依頼に対して、
積込地作業時間を下記(1)式
【数1】
処理施設作業時間を下記(2)式
【数2】
受入開始時刻を下記(3)式
【数3】
受入終了時刻を下記(4)式
【数4】
指定処理施設を下記(5)式
【数5】
タスク種別を設置、交換、引上のいずれか、
必要コンテナ数をc
n、
とする。
【0103】
条件4
ドライバーごとに、処理施設p=0から開始し、処理施設→積込地→積込地→処理施設のルート回収を5回繰り返して処理施設p=0で終了する。
実施例1では、目的関数として、ドライバーの総勤務時間の最小化を考える。
【0104】
上記条件に対し、
d=1,2,・・・,D
g,g’=1,2,・・・,G
p=0,1,・・・,-P+1
として、以下の変数を導入する。
sd
r,1:ドライバーdがr回目の回収で1つ目の積込地に到着する時刻を表す正の実数変数
sd
r,2:ドライバーdがr回目の回収で2つ目の積込地に到着する時刻を表す正の実数変数
sd
r,3:ドライバーdがr回目の回収で処理施設に到着する時刻を表す正の実数変数
td
r,1:ドライバーdがr回目の回収で1つ目の積込地を出発する時刻を表す正の実数変数
td
r,2:ドライバーdがr回目の回収で2つ目の積込地を出発する時刻を表す正の実数変数
td
r,3:ドライバーdがr回目の回収で処理施設を出発する時刻を表す正の実数変数:ただし、例外的に、r=0に対しても変数td
r,3を導入し、これはドライバーが勤務開始時に処理施設を出発する時刻を表すものとする。
【0105】
xd
r,g:ドライバーdがr回目の回収で訪れる1つ目の積込地がgの場合に1、それ以外の場合に0となるバイナリ変数
yd
r,g:ドライバーdがr回目の回収で訪れる2つ目の積込地がgの場合に1、それ以外の場合に0となるバイナリ変数
zd
r,g:ドライバーdがr回目の回収で訪れる処理施設がpの場合に1、それ以外の場合に0となるバイナリ変数(ただし、例外的にr=0に対しても変数zd
0,pを導入し、これはドライバーが勤務開始時に出発する処理施設に対応する変数とする)。
ud
r,n:ドライバーdがr回目の回収で訪れる1つ目の積込地で搬送依頼nの回収依頼を行う場合 に1、それ以外の場合に0となるバイナリ変数
vd
r,n:ドライバーdがr回目の回収で訪れる2つ目の積込地で搬送依頼nの回収依頼を行う場合に1、それ以外の場合に0となるバイナリ変数
αd
r,p,g:ドライバーdがr回目の回収で処理施設pから積込地gへ移動する場合に1、移動しない場合に0となるバイナリ変数
βd
r,g,g’:ドライバーdがr回目の回収で積込地gから積込地g’へ移動する場合に1、移動しない場合に0となるバイナリ変数
γd
r,g,p:ドライバーdがr回目の回収で積込地gから処理施設pへ移動する場合に1、移動しない場合に0となるバイナリ変数
【0106】
以上の条件から導出される下記目的関数及び(6)式~(36)式を目的関数及び制約条件として混合整数線形計画ソルバに入力する。
【0107】
目的関数の設定
実施例1では、ドライバーの勤務時間の総計を最小化することを目的とする。
ドライバーdの勤務時間は(t
d
53-t
d
03)であるので、その合計を最小化することを表す下記(6)式を目的関数として設定する。
【数6】
【0108】
制約条件の設定
各ドライバーdに関して、勤務開始時刻t
d
03が9:00以降であることから、以下(7)式の制約条件式が導出される。
【数7】
各ドライバーdに関して、勤務終了時刻t
d
53が17:00以前であることから、以下(8)式の制約条件式が導出される。
【数8】
各ドライバーdに関して、勤務開始時に処理施設p=0から出発することから、以下(9)式の制約条件式が導出される。
【数9】
各ドライバーdに関して、勤務終了時に処理施設p=0において終了することから、以下(10)式の制約条件式が導出される。
【数10】
なお、上記(7)式~(10)式においてd=1,2,・・・,Dである。
【0109】
各ドライバーdがr-1回目の回収で処理施設pへ行く場合(z
d
r-1,p=1)に、その処理施設を出発する経路のいずれかが用いられることから、下記(11)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5、p=0,-1,・・・,-P+1である。
【数11】
【0110】
各ドライバーdがr回目の回収で一つ目の積込地としてgに行く場合(x
d
r,g=1)に、その積込地に到着する経路のいずれかが用いられることから、下記(12)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5、g=1,2,・・・,Gである。
【数12】
【0111】
各ドライバーdがr回目の回収で一つ目の積込地としてgに行く場合(x
d
r,g=1)にその積込地を出発する経路のいずれかが用いられることから、下記(13)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5、g=1,2,・・・,Gである。
【数13】
【0112】
各ドライバーdがr回目の回収で2つ目の積込地としてg’に行く場合(y
d
r,g’=1)にその積込地に到着する経路のいずれかが用いられることから、下記(14)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5、g’=1,2,・・・,Gである。
【数14】
【0113】
各ドライバーdがr回目の回収で2つ目の積込地としてg’に行く場合(y
d
r,g’=1)に、その積込地を出発する経路のいずれかが用いられることから、下記(15)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5、g’=1,2,・・・,Gである。
【数15】
【0114】
各ドライバーdがr回目の回収で処理施設pに行く場合(z
d
r,p=1)に、その積込地に到着する経路のいずれかが用いられることから、下記(16)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5、p=0,-1,・・・,-P+1である。
【数16】
【0115】
各ドライバーdがr回目の回収で時刻t
d
r-1,3に処理施設を出発した場合に、一つ目の積込地に到着する時刻s
d
r,1までには、選択された経路α
r,n,gに応じた時間m
p,gがかかることから下記(17)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5である。
【数17】
【0116】
各ドライバーdがr回目の回収で時刻t
d
r,1に一つ目の積込地を出発した場合に、二つ目の積込地に到着する時刻s
d
r,2までには、選択された経路β
r,g,g’に応じた時間m
g,g’がかかることから下記(18)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5である。
【数18】
【0117】
各ドライバーdがr回目の回収で時刻t
d
r,2に二つ目の積込地を出発した場合に、処理施設に到着する時刻s
d
r,3までには、選択された経路γ
r,g’,pに応じた時間m
g’,pがかかることから下記(19)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5である。
【数19】
【0118】
全ての搬送依頼nが、ドライバーdがr回目の回収で一つ目、二つ目の積込地で対応する依頼u
d
r,n、v
d
r,nのいずれかとして割り当てられることから下記(20)式の制約条件式が導出される。ただし、n=1,2,・・・,Nである。
【数20】
【0119】
1回の積込地訪問に割り当てられる搬送依頼nは高々一つであることから下記(21)式、(22)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5である。
【数21】
【数22】
【0120】
搬送依頼nがドライバーdのr回目の回収に割り当てられた場合(u
d
r,n=1又はv
d
r,n=1)に、指定された処理施設π
nへ行くこと(下記(23)式)から下記(24)式、(25)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5、n=1,2,・・・,Nである。
【数23】
【数24】
【数25】
【0121】
搬送依頼nがドライバーdのr回目の回収の一つ目の積込地で対応される場合に(u
d
r,n=1)、積込地への到着時刻s
d
r,1がσ
n以上τ
n以下であること。また、対応されない場合(u
d
r,n=0)に、s
d
r,1が常に0以上24*60以下であることを用いて、この制約が無効化されることから下記(26)式、(27)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5、n=1,2,・・・,Nである。
【数26】
【数27】
【0122】
搬送依頼nがドライバーdのr回目の回収の2つ目の積込地で対応される場合に(v
d
r,n=1)、積込地への到着時刻s
d
r,2がσ
n以上τ
n以下であること。また、対応されない場合(v
d
r,n=0)に、s
d
r,2が常に0以上24*60以下であることを用いて、この制約が無効化されることから、下記(28)式、(29)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5、n=1,2,・・・,Nである。
【数28】
【数29】
【0123】
搬送依頼nがドライバーdのr回目の回収の1つ目の積込地に割り当てられた場合(u
d
r,n=1)に、積込地の到着時刻s
d
r,1から出発時刻t
d
r,1の間に作業時間λ
nを要することから下記(30)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5である。
【数30】
【0124】
搬送依頼nがドライバーdのr回目の回収の2つ目の積込地に割り当てられた場合(v
d
r,n=1)に、積込地の到着時刻s
d
r,2から出発時刻t
d
r,2の間に作業時間λ
nを要することから下記(31)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5である。
【数31】
【0125】
搬送依頼nがドライバーdのr回目の回収に割り当てられた場合(u
d
r,n=1又はv
d
r,n=1)に、処理施設の到着時刻s
d
r,3から出発時刻t
d
r,3の間に、処理施設における作業時間μ
nは各々の要する作業時価の和となることから下記(32)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5である。
【数32】
【0126】
搬送依頼nのタスクが設置の場合、交換や引上のタスク後に設置のタスクを行ってしまうと、逆の順番に行った場合に比べて、トラック上に存在するコンテナの数が不必要に多くなってしまう。これを防ぐため、二つ目の積込地で行われる回収として設置を割り当てない。つまり、二つ目の積込地で行われる回収としての割当がおこらないことから、下記(33)の条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5であり、nは1,2,・・・,Nの中で搬送依頼nのタスクが設置であるような全てのnとする。
【数33】
【0127】
ここで、上記二つ目の積込地で行われる回収として設置を割り当てない理由の詳細について説明する。例えば、数値をコンテナ数として、設置1、交換1、引上1の順番にタスクをこなすと、車両上のコンテナの数は時系列順に、満載のコンテナを満、空のコンテナを空と略記することで、
(空2)→(空1)→(満1)→(満2)
となる。
これを、例えば引上、交換、設置の順番に行ってしまうと、
(空2)→(空2、満1)→(空1、満2)→(満2)
となる、
両スケジュール共に、回収はじめの空のコンテナ数、回収終わりの満載のコンテナ数は変わらない。しかし、車両が空、満載のコンテナを合わせて二つ積める状況において、上((空2)→(空1)→(満1)→(満2))の搬送スケジュールは対応可能であるが、下((空2)→(空2、満1)→(空1、満2)→(満2))の搬送スケジュールは対応することができない。
この、「回収はじめと回収終わりのコンテナは積載可能であるが、途中のコンテナが積載できない」という現象は、「設置」が「交換」もしくは「引上」より前に行われると起こるため、実施例1では、設置が2回の回収のうち1回目にのみ割り当てられるように制約することで、この異常が起こらないようにしている。
【0128】
搬送依頼nのタスクが引上の場合についても上記搬送依頼nのタスクが設置の場合と同様に、一つ目の積込地で行われる回収としての割当を行わないことから、下記(34)の条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5であり、nは1,2,・・・,Nの中で搬送依頼nのタスクが引上であるような全てのnとする。
d=1,2,・・・,D、r=1,2,3,4,5、対応するタスクが引上である下記(34)式に対して、
【数34】
【0129】
なお、一つ目の積込地で行われる回収としての割当を行わない理由であるが、空のコンテナをトラックに積む際には、空のコンテナの上に空のコンテナをおく、ことが行われる。このような状況において、「引上1」が「交換1」に先行してしまうと、空のコンテナの上に満載のコンテナが積まれてしまう。そうすると、次の「交換」を行う際に、満載のコンテナを一度トラックからおろし、空のコンテナを満載のコンテナと交換し、その上に満載のコンテナを積む、という作業が発生してしまう。これを防ぐために、実施例1では、2回の回収のうち引上を後の側(二つ目の積込地)に割り当てている。
【0130】
ドライバーdのr回目の回収で、一つ目の積込地で対応する搬送依頼(u
d
r,n=1となるn)と二つ目の積込地で対応する搬送依頼(v
d
r,n=1となるn)のタスクに必要な空のコンテナ数(タスクが設置か交換の場合にc
n、引上の場合に0)の合計が、ドライバーdの運転する車両の空のコンテナの最大積載数の上限e
dを超えないことから下記(35)式の制約条件式が導出される。ただし、d=1,2,・・・,D、r=1,2,3,4,5である。
【数35】
【0131】
ドライバーdのr回目の回収で、一つ目の積込地で対応する搬送依頼(u
d
r,n=1となるn)と二つ目の積込地で対応する搬送依頼(v
d
r,n=1となるn)のタスクに必要な満載のコンテナ数(タスクが設置か交換の場合にc
n、引上の場合に0)の合計が、ドライバーdの運転する車両の満載のコンテナの最大積載数の上限e
dを超えないことから下記(36)式の制約条件式が導出される。ただし、d=1,2,・・・,Dとr=1,2,3,4,5である。
【数36】
【0132】
以上は、実施例1の目的及び制約から導出される、整数変数及び実数変数を用いた、変数に対しての線形の目的関数と制約条件式(等式、不等式)である。従って、これらの数式を既存の混合整数線形計画ソルバに入力することで、制約を持たす中で目的関数を(近似的に)最小化する変数の割当を得ることができる(制約を満たす中で目的関数を(近似的に)最小化する値の組を得ることができる)。これらの変数への値の割当はドライバーの配車計画に対応し、よってこの割当を出力することでドライバーの配車計画を得ることができる。
例えば、値の組(の一部)としてx4
3,2=1、s4
2,1=9*60+30が与えられた時に、これはドライバー4が排出場3に2回目の回収の1つめの積込地として訪問し、その際の到着時間が9:30であることを示す。よってこれらの変数へ割り当てる値の組はドライバーの配車計画に対応し、この値の組を出力することでドライバーの配車計画を得ることができる。
【0133】
上記の不等式を満たす変数の割当が存在しない場合に、上記の一連の不平等を具体的割当に対して最適化ソルバを用いずに計算することによって、多くの場合に、原因となる(目的関数を満たすことができない)制約を発見することができる。
例えば、n=2のタスクが交換の搬送依頼がd=3のドライバーに割当可能かを検討する。このとき、1回目の回収の一つ目の積込地に割り当てられるかを確認すれば必要十分である。よって、v3
1,2=1,2ではない全てのnに対してv3
1,n=0、全てのnに対してu3
1,n=0として、この具体的割当に対して最後の二つの不等式(上記(35)式及び(36)式)を計算することにより、コンテナ積載数の観点からドライバー3に搬送依頼2が割当可能か否かを判定することができる。
【0134】
また、一連の同様な適切な割当のもとに不等式を具体的な割当に対して不等式を計算することにより、勤務時間の観点からドライバー3に搬送依頼2が割当可能か否かを判定することができる。
【0135】
搬送依頼2がドライバー3に対して割当不可能な場合に、ドライバー3に対して充足不可能であった不等式もしくはその解釈を出力することで、ユーザは改善すべき理由がわかる。例えば、ドライバー3(と対応するトラック)が搬送依頼2が要求するコンテナ数cnを載せられない場合に、別のより大きなトラックを対応させる、といった解決策を考案することができる。
【0136】
以上のように、充足不可能であった不等式もしくはその解釈を対応づけて、換言すると、制約条件式と充足解を得られない理由とを対応付けてエラー提示用DB2(第3記憶部)に格納することで、サーバ2は、運行計画生成部204が制約条件式を充足する充足解を得られない場合、エラー提示用DB2を参照し、抽出部206が充足不可能であった不等式(制約条件式)に対応する理由を抽出することで、ユーザは車両の運行計画が生成されない理由を知ることができる。
【0137】
以上のように、第1実施形態に係るサーバ2(情報処理装置)は、産廃を搬送するコンテナの種別及び数と、産廃のコンテナへの積込地の情報を含む産廃の搬送依頼を受け付ける受信部201(受付部)と、車両と、車両に積載可能なコンテナの種別及び数とが関連付けて記憶されたユーザDB1(第1記憶部)を参照し、搬送依頼に含まれるコンテナの種別及び数と、産廃のコンテナへの積込地の情報とに基づいて、産廃を搬送する車両の運行計画を生成する運行計画生成部204とを備える。
このように、産廃を搬送するコンテナの種別及び数と、産廃のコンテナへの積込地とを考慮して車両の運行計画を生成するので複雑な回収を伴う運行計画を策定可能となり、利便性が向上する。
【0138】
また、搬送依頼には、2以上の積込地の情報が含まれ、サーバ2の運行計画生成部204は、搬送依頼に含まれる2以上の積込地を回るように車両の運行計画を生成する。このように、搬送依頼に含まれる2以上の積込地を回るような複雑な回収を伴う運行計画が策定可能となり、利便性が向上する。
【0139】
また、搬送依頼には、2以上の積込地において種別の異なるコンテナを混載する依頼が含まれ、サーバ2の運行計画生成部204は、2以上の積込地において種別の異なるコンテナを混載して回るように車両の運行計画を生成する。このように、搬送依頼に含まれる2以上の積込地を回るのみならず、種別の異なるコンテナを混載するような複雑な回収を伴う運行計画が策定可能となり、利便性が向上する。
【0140】
また、搬送依頼には、積込地での作業可能日時の情報が含まれ、サーバ2の運行計画生成部204は、積込地での作業可能日時に基づいて、産廃を搬送する車両の運行計画を生成する。
このように、積込地での作業可能日時を考慮して車両の運行計画を生成するので、積込地でのアイドル時間(例えば待ち時間など)を低減することができ、利便性が向上する。
【0141】
また、積込地には、コンテナで搬送される産廃の排出場が含まれ、サーバ2の運行計画生成部204は、排出場での作業可能日時に基づいて、コンテナを搬送する車両の運行計画を生成する。
このように、産廃の排出場での作業可能日時を考慮して車両の運行計画を生成するので、産廃の排出場でのアイドル時間(例えば待ち時間など)を低減することができ、利便性が向上する。
【0142】
また、搬送依頼には、コンテナで搬送される産廃を処理可能な処理施設が含まれ、サーバ2の運行計画生成部204は、処理施設の場所及び種別に基づいて、産廃を搬送する車両の運行計画を生成する。
このように、処理施設の場所及び種別を考慮して車両の運行計画を生成するので、産廃の種別に応じて車両の運行計画を生成することができ、利便性が向上する。
【0143】
また、サーバ2の運行計画生成部204は、積込地までの移動時間に基づいて、産廃を搬送する車両の運行計画を生成する。
このように、積込地までの移動時間を考慮して車両の運行計画を生成するので、積込地での作業可能時間より早く着き待ち時間が発生するなど、アイドル時間を低減することができる。また、積込地での作業可能時間に遅れる虞を低減することができる。このため、利便性が向上する。
【0144】
また、サーバ2の運行計画生成部204は、車両と、車両を運転可能な運転手の勤務日時とが関連付けて記憶されたユーザDB1(第2記憶部)を参照し、勤務日時に基づいて、産廃を搬送する車両の運行計画を生成する。
このように、運転手の勤務日時を考慮して車両の運行計画を生成するので利便性が向上する。
【0145】
また、ユーザDB1(第1記憶部)には、車両と、車両の車種とが関連付けて記憶され、車両の車種と、積載可能なコンテナの種別及び数とが関連付けて記憶されている。
このように、車種に積載可能なコンテナの種別及び数が関連付けされているので、車両ごとにコンテナの種別及び数を関連付ける必要がなく利便性が向上する。
【0146】
また、サーバ2の運行計画生成部204は、搬送依頼及び第1記憶部に含まれる情報に基づいて目的関数及び制約条件としての等式、不等式を導出し、最適化ソルバを用いた充足可能性判定により産廃を搬送する車両の運行計画を生成する。
このように、最適化ソルバを用いた充足可能性判定により産廃を搬送する車両の運行計画を生成するので、制約条件が複数あっても車両の運行計画を生成することが期待でき利便性が向上する。
【0147】
また、サーバ2は、運行計画生成部204が制約条件式を充足する充足解を得られない場合、制約条件式と、充足解を得られない理由とを対応付けて記憶した第3記憶部(エラー提示用DB2)を参照し、制約条件式の内、充足不能であった制約条件式に対応する理由を抽出する抽出部206と、抽出部206が抽出した理由を送信(出力)する送信部202(出力部)とを備える。
このように、運行計画生成部204が制約条件式を充足する充足解を得られない場合、その理由を出力するので、ユーザは車両の運行計画が生成されない理由を知ることができ利便性が向上する。
【0148】
[第2実施形態]
(概要説明)
第2実施形態では、運行計画を生成するために必要な処理時間を短縮できる情報処理システムについて説明する。通常、産廃の回収依頼の多くは電話で行われる。そして、回収の依頼の電話がかかってきた際に、電話口で搬送依頼の受注可否の返答ができることが望ましいが、第2実施形態に係る情報処理システムでは、運行計画を生成するために必要な処理時間を短縮できる。このため、産廃業者が産廃の回収が可能かどうかを電話で問い合わせてきた際に、短時間で回収可能の可否を回答することができ、産廃業者に折り返しの電話を入れたりする作業を低減できるため利便性が高い。
【0149】
最適化の一般論から、第1実施形態に関わる情報処理システムが解く最適化問題に追加の制約を課した場合に、元の問題と比較して、計算時間が増減する、元問題では生じない実行不可能性が生じる、という2つの作用が生じる。
【0150】
第2実施形態に係る情報処理システムでは、新規の搬送依頼があった場合、この新規の搬送依頼を登録し、元問題に「所定の制約を課した状態」で車両の運行計画を再生成する。この「所定の制約」を適切に定めることにより、第2実施形態に係る情報処理システムでは、最適化のための計算の高速化をしつつ、元問題では生じない実行不可能(充足解を得られない問題)が生じるというデメリットを緩和することができる。
この場合、運行計画生成部204の配車最適化機能により運行計画を生成できるか否かにより、産廃の回収の可否を判定する。具体的には、運行計画生成部204の配車最適化機能により運行計画(スケジュール)が生成できた場合は配車可能(産廃の回収が可能)であり、実行不可能な搬送依頼の受注が生じて運行計画(スケジュール)が生成できない場合は配車不能(産廃の回収が不能)であると判定できる。
【0151】
何ら制約を課さない状態で、新規の搬送依頼を含めた運行計画を生成する場合、全搬送依頼の最適を目指して計算を行うため、対象日の全搬送依頼の受注数に応じた計算時間が必要となり、搬送依頼の受注数が多いときに計算時間が非常に長くなる。
この計算は、搬送依頼の受注数が多い場合には数分から数十分もの時間がかかることがある。このように、数分から数十分もの間、産廃業者に電話口で待ってもらうことは非現実的であり、なんらかの形で配車最適化計算を簡易化、高速化することが必要である。
【0152】
ここで、計算時間を削減するアプローチとして、既存の解を元にして変数(パラメータ)の削減を行うことが考えられる。変数の削減の極端な例としては、既に生成されている運行計画の全ての変数を固定した状態で、新規の運送計画を含めた運行計画を再生成する手法が考えられる。上記手法を取ることで自由な変数は新規受注に対応するもののみとなる。一般に最適化の計算時間は自由な変数の数に応じて増減する。既存受注に対する自由な変数が存在せず、自由な変数が新規受注のみに関するこの問題は、非常に短時間で結果(産廃の回収が可能か否か)を得ることができる。
【0153】
ここで、上記の例における変数の固定は以下のように行うことができる。
Nを新規の搬送依頼に対応する整数とし、n=1,2,・・・・,N-1の搬送依頼に対する最適化が実行済(運行計画を生成済み)であるとする。
また、設定を単純にするために搬送依頼以外の入力は不変であると仮定し、各変数に対して、事前の最適化、つまりn=1,2,・・・・,N-1の搬送依頼に対する最適化によって得られた変数の割り当てを「’」をつけて表す。換言すると、変数xd
r,gに割り当てられた値をx’d
r,gとして表す。
【0154】
ここで、x
d
r,gはバイナリ変数であるから、その実現値のx’
d
r,gの値は、0又は1である。
この時、変数x
d
r,g を事前の最適化の実現値であるx’
d
r,gに固定することは、下記(37)式という制約を追加で導入することで実現される。
【数37】
これらと同様の(変数を実現値に固定する)制約を変数s, t, x, y, z, u, v, α, β, γとそれに対応する事前の最適化で与えられた割り当てs’, t’, x’, y’, z’, u’, v’, α’, β’, γ’全てに対して実行することで、ほとんど全ての変数が固定される。
自由な変数は新規の搬送依頼の受注の割り当てに対応するu
d
r,Nとv
d
r,Nのみとなる。ただし、d=1,2,...,D, r=1,2,3,4,5である。
【0155】
新規の搬送依頼がなされ、新規の搬送依頼に対応した変数が追加された場合でも、上述のように変数を固定することで、自由な変数は新規の搬送依頼に対応したもののみとなり、既に受注している搬送依頼に依存しない計算時間で最適化を行うことが期待できる。しかしながら、既に受注している搬送依頼に対応する変数を全て固定するこのような最適化は実用的ではない。例えば、既に受注している搬送依頼に対する配車表に基づき各ドライバーの勤務開始時刻td
0,3、終了時間td
5,3を固定しているが、これは勤怠時間を(新規受注に対応するために)増減できなくするということであり、よって新規の搬送依頼の受け入れは不可能となっている。仮に勤務開始時刻、終了時刻の固定を外したとしても、移動経路に対応する変数α、β、γが固定されていることから、(新規受注に対応するために)移動経路を変更することができず、やはり受け入れは不可能である。
【0156】
一般に、変数の削減などにより最適化問題を簡素化して計算時間を削減した場合に、既に受注している搬送依頼で生じる実行不可能性では起こらない実行不可能が生じる虞がある。第2実施形態では、以下の2つの方針に基づいて、この問題を解決している。
【0157】
(1つ目)
人にとって自然な制約であること。
上述したように勤務時間までを固定した場合に、最適化機が適切な判断をできず、配車係(人)が別途検討を行うのでは本末転倒である。つまり、配車係に過度な負担をかけることなく、配車係の検討よりも最適化機の判断が優れている状態を担保できること、つまり配車係が自然に検討する範囲の自由度を残すような制限の仕方が好ましい。とくに、配車係がどのような考え方で配車表を逐次的に決めているのかを考慮し、その考え方を踏襲する必要ことが好ましいと言える。
【0158】
(2つ目)
実行不可能な場合に、その原因を説明できること。
元問題に追加して、固定による追加制約(運行計画の再生成の際に課す制約)のせいで実行不可能となる虞がある。実行不可能な理由、とくにどのような制約を課したせいで実行不可能になっているかをユーザに提示し、ユーザが適切なアクション、例えば、制約条件を変更するなど、を行うことができるようにガイド(案内)できることが好ましい。
【0159】
上記2点の工夫をすることで、最適化のための計算の高速化をしつつ、元問題では生じない実行不可能(充足解を得られない問題)が生じるというデメリットを緩和することができる。
【0160】
以下、第2実施形態に係る情報処理システムについて説明するが、第1実施形態に係る情報処理システムと異なる部分について説明し、第1実施形態に係る情報処理システムと同じ構成については重複する説明を省略する。
【0161】
第2実施形態に係るサーバ2の受信部201(受付部)は、新規の産業廃棄物の搬送依頼を受け付ける。また、受信部201は、一度生成された車両の運行計画の再生成を受け付ける。なお、第2実施形態に係るサーバ2の受信部201のその他の機能は、第1実施形態で説明したので重複する説明を省略する。
【0162】
受信部201で、車両の運行計画の再生成が受け付けられると、運行計画生成部204は、車両の運行計画において所定の制約を課した状態で、新規の搬送依頼を含む車両の運行計画を再生成する。
具体的には、運行計画生成部204は、所定の制約として、搬送依頼に割り当てられている車両との関係、又は、搬送依頼に割り当てられている運転手との関係を固定する制約を課して、新規の搬送依頼を含む車両の運行計画を再生成する。
なお、第1実施形態で述べたように、運行計画生成部204は、産業廃棄物の搬送依頼に基づいて、目的関数及び制約条件としての等式、不等式を導出して、最適化ソルバを用いた充足可能性判定により産廃を搬送する車両の運行計画を生成する。
第2実施形態では、上記のようにして生成された車両の運行計画において、産業廃棄物の搬送依頼に割り当てられている車両との関係、又は、産業廃棄物の搬送依頼に割り当てられている運転手との関係を固定する等式を導出することにより、搬送依頼に割り当てられている車両との関係、又は、搬送依頼に割り当てられている運転手との関係を固定する制約を課して、新規の搬送依頼を含む車両の運行計画を再生成する。
【0163】
送信部202(出力部)は、ネットワーク4を介してユーザ端末3へ情報を送信(出力)する。送信部202は、運行計画生成部204での再生成結果をユーザ端末3へ情報を送信(出力)する。
また、送信部202は、車両の運行計画の再生成結が充足しない場合、所定の制約を課さずに、新規の搬送依頼を含む車両の運行計画を再生成することを促す情報を出力する。
なお、第2実施形態に係るサーバ2の受信部201のその他の機能は、第1実施形態で説明したので重複する説明を省略する。
【0164】
図13は、第2実施形態に係るユーザ端末の表示装置に表示される画面の一例を示す図である。
(受け入れ不能表示画面)
図13は、受け入れ不能表示画面G5(以下、単に画面G5ともいう)の一例を示す図である。
図13に示す画面G5は、サーバ2の運行計画生成部204が車両の運行計画を再生成できない場合、換言すると、既存の搬送依頼の割り当ての制限により、新規の搬送依頼の受注を受け入れ不可能と判断される場合にユーザ端末3の表示装置300Dに表示される画面である。既存の搬送依頼の割り当ての制限により、新規の搬送依頼の受注を受け入れ不可能と判断される場合でも、既存の搬送依頼の受注を、ドライバーをまたいで移動すれば、新規の搬送依頼の受注が受け入れ可能であることが考えられる。
【0165】
このため第2実施形態では、画面G5に示すように、
「新規の搬送依頼の受注を受け入れることができません。
全体の運行計画を一から再計算することにより、新規の搬送依頼の受注を受け入れることできる可能性があります。
新規の搬送依頼の受注を受け入れる必要性が高い場合は、新規の搬送依頼の受注登録後に一から再計算を行い、その後に既存の搬送依頼の受注や勤怠の修正を検討してください。」(符号1051)
といったメッセージが表示される。
また、ユーザが「一から再計算する」ボタンB5を選択操作すると、新規の搬送依頼の受注登録後に一から再計算を行うための画面へ遷移する。また、ユーザが「戻る」ボタンB2を選択操作すると、画面G5の前に表示されていた画面に遷移する。
なお、
図13の画面G5に表示されるメッセージは、あくまで一例であり、「現在受注している搬送依頼のドライバーへの割り当てを固定すると、新規の搬送依頼の受注を受け入れることができず、人を跨いだ搬送依頼の受注の入れ替えにより、新規の搬送依頼の受注を受け入れられそうな場合は、受注登録の後に時間をかけて最適化してください」という趣旨のメッセージであればよい。
【0166】
(運行計画再生成処理)
図14は、サーバ2で実行される運行計画再生成処理の一例を示すフローチャートである。以下、
図14を参照して、サーバ2で実行される運行計画再生成処理について説明する。
【0167】
(ステップS401)
ユーザは、ユーザ端末3の入力装置300Cを操作して、新規の搬送依頼を登録する。なお、新規の搬送依頼を登録については、
図11を参照して説明した搬送依頼登録処理と同じであるため重複する説明を省略する。
【0168】
(ステップS402)
ユーザは、ユーザ端末3の入力装置300Cを操作して、運行計画の再生成を指示する。運行計画の再生成を指示する情報は、操作受付部304で受け付けられる。受け付けられた情報は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信された運行計画を再生成する指示を受信する。
【0169】
(ステップS403)
ユーザは、ユーザ端末3の入力装置300Cを操作して、再生成する運行計画を指定する。再生成する運行計画を指定する情報は、操作受付部304で受け付けられる。受け付けられた情報は、送信部302からサーバ2へと送信される。サーバ2の受信部201は、ユーザ端末3から送信された再生成する運行計画を指定する情報を受信する。
【0170】
(ステップS404)
サーバ2の運行計画生成部204は、ステップS403で指定された運行計画において、産業廃棄物の搬送依頼に割り当てられている車両との関係、又は、産業廃棄物の搬送依頼に割り当てられている運転手との関係を固定する制約を課す制約条件式を導出する。
【0171】
(ステップS405)
サーバ2の運行計画生成部204は、最適化ソルバによりステップS404で導出した制約条件式を満たし、目的関数式を厳密あるいは近似的に、最小化あるいは最大化する最適解を演算する。
【0172】
(ステップS406)
最適解が存在する場合(YES)、サーバ2は、ステップS407の処理へ移行する。最適解が存在しない場合(NO)、サーバ2は、ステップS408の処理へ移行する。
【0173】
(ステップS407)
サーバ2の運行計画生成部204は、最適解に基づいて車両の運行計画を表示するための情報を生成する。
【0174】
(ステップS408)
サーバ2の送信部202は、結果をユーザ端末3へ送信する。具体的には、サーバ2の送信部202は、ステップS407で生成した車両の運行計画を表示するための情報、又は、所定の制約を課さずに、車両の運行計画を再生成することを促す情報(例えば、
図13に例示する画面G5を表示する情報)をユーザ端末3へ送信する。
なお、送信部202は、ステップS407で生成した車両の運行計画を表示するための情報の代わりに、もしくはステップS407で生成した車両の運行計画を表示するための情報とともに、新規の搬送依頼を受任可能である旨の情報をユーザ端末3へ送信してもよい。
【0175】
[実施例2]
実施例2では、新規の搬送依頼の受注を受けた場合の運行計画生成部204による車両の運行計画の再生成の一例について説明する。以下、実施例2について説明する。
【0176】
産廃の配車係が手作業で配車表を作成する際の標準的なやり方の一つに、人に午前2便、午後3便などあらかじめ便数を決め、その中に搬送依頼の受注を割り当てていくやり方がある。そのような業務においては、新規の搬送依頼の受注が与えられた時には、残りの枠数に応じて搬送依頼の受注の可否を決める。このような考え方の配車係(人)に自然な形の固定の仕方として、全体最適の結果に基づき、搬送依頼のドライバーへの割り当てを固定する制約を課すやり方を考える。
【0177】
このような固定は、変数u
d
r,nとv
d
r,nとその割り当てu’
d
r,nとv’
d
r,nに対して下記(38)式で達成することができる。
【数38】
ただし、d=1,2,...,D, n=1,2,...,N-1である。
この等式の左辺は、事前の最適化で搬送依頼nがドライバーdに割り当てられた場合に、回収の順序を問わず1となり、割り当てられなかった時に0となる。従って、(38)式で示される制約は、搬送依頼nが事前の最適化においてドライバーdに割り当てられた場合には今回の最適化でも同じドライバーに割り当てること、ただし割り当ての順序は問わないこと、を表している。
【0178】
運行計画生成部204は、(38)式で表されるような制約を追加した最適化問題を解くことにより、新規の搬送依頼の受注の受け入れ可能性を判定できる。ドライバーへの搬送依頼の割り当てを上記のように固定することで、ドライバーの勤務時間や産廃の回収の順番に柔軟性を持たせつつも最適化のための計算時間を大幅に削減することが可能となる。
【0179】
これは、例えば各変数ud
r,nとvd
r,nを直接u’d
r,nとv’d
r,nに固定してするというようなアプローチに対して、次に述べるメリットがある。各変数を固定した場合、すでに午前中の配車の予定が埋まっている際に、午前に搬送依頼(産廃の回収)を新規に受け入れることが不可能となる。これは、既存の午前の搬送依頼の割り当ての中に、午後に後送りにできる搬送依頼が含まれていた場合に、ユーザにとって違和感がある出力になってしまう。一方で、各ドライバーに対する搬送依頼の割り当てのみを固定し、搬送依頼の順番の入れ替えを許容する上記手法では、午前に配車予定だった搬送依頼の中で、回収時間をずらすことが可能な搬送依頼を午後に後送りにして、新規の搬送依頼を受け入れる、ということ可能となる。従って、第2実施形態に係るサーバ2の運行計画生成部204による制約を課す方法は、各変数を直接固定するよりも違和感の少ない結果を出力することが可能となる。
【0180】
これらの既存の搬送依頼の割り当ての制限により、新規の搬送依頼の受注を受け入れ不可能と判断してしまう可能性は残る。これは、既存の搬送依頼の受注を、ドライバーをまたいで移動すれば、新規の搬送依頼の受注が受け入れ可能という場合である。このように最適化のための計算の省力化によって受け入れ不可能と判断してしまう可能性は残るが、実行不可能となった場合にも「現在受注している搬送依頼のドライバーへの割り当てを固定すると、新規の搬送依頼の受注を受け入れることができません。人を跨いだ搬送依頼の受注の入れ替えにより、新規の搬送依頼の受注を受け入れられそうな場合は、受注登録の後に時間をかけて最適化してください。」という旨の通知を行うことで、ユーザに適切な対応を促すことができる。そして、このような「ドライバーへの割り当てを固定する」という制限は手作業での配車表の作成に慣れたユーザには違和感なく受け入れることが可能である。
【0181】
以上のように第2実施形態に係るサーバ2では、搬送依頼のドライバーの割り当てを固定する制約を課すことで、配車係(人)にとって自然な形で制約を追加して最適化のための計算時間を削減しつつ、実行不可能な(最適解が得られない)場合にもユーザが理解しやすい説明を行うことができる。
【0182】
なお、上記実施例2は、ドライバーに対する搬送依頼の割り当てを固定する制約を課す方法について述べたが他の制約の課し方も考えられる。ここで実施例2はドライバーと車両とが1対1に対応している、換言するとドライバーが使用する車両が固定されている、という仮定の下での実施例である。このため、上述のようにドライバーと搬送依頼の割り当てを固定すること、換言するとドライバーと搬送依頼との対応関係を固定することは、車両に対する搬送依頼の割り当てを固定すること、換言すると車両と搬送依頼との対応関係を固定することと等価である(ドライバーと車両とが1対1に対応しているため、ドライバーと搬送依頼の割り当てを固定するのと、車両と搬送依頼の割り当てを固定するのと同等の制約を課していることになる)。
【0183】
一方、ドライバーと車両とが1対1に対応していない場合には、ドライバーに対する搬送依頼の固定、車両に対する搬送依頼の固定、ドライバーに対する車両の固定、などにより制約を課す方法が考えられるが、これらの制約の課し方はいずれもユーザにとって自然な制約であると考えられる。実際、ドライバーが十分な人数存在し、車両数が限られるような場合(車両数よりもドライバー数が多い場合)においては、車両数が搬送依頼の受注数のボトルネックとなるため、車両に対する搬送依頼の受注を固定する制約を課すのが自然である。これに追加してドライバーに対する車両の割り当てを固定する制約を課すことによって、結果的にドライバーと搬送依頼の受注の割り当ても固定される。第2実施形態に係るサーバ2の運行計画生成部204は、このような方法により制約を課してもよい。
【0184】
以上のように、第2実施形態に係るサーバ2(情報処理装置)は、産業廃棄物の搬送依頼を受信する受信部201(受け付ける受付部)と、産業廃棄物の搬送依頼に基づいて産業廃棄物を搬送する車両の運行計画を生成する運行計画生成部204とを備える。そして、受信部201は、新規の産業廃棄物の搬送依頼を受け付ける。また、運行計画生成部204は、車両の運行計画において所定の制約を課した状態で、新規の搬送依頼を含むように生成済みの車両の運行計画を再生成する。所定の制約を課した状態で、生成済みの車両の運行計画を再生成することで、車両の運行計画の再生成する時間を短縮することができる。
このため、産廃業者が産廃の回収が可能かどうかを問い合わせてきた際に、短い時間で回収可能の可否を回答することができ、産廃業者に折り返しの電話を入れたりする作業を低減できるため利便性が高い。
【0185】
また、第2実施形態に係るサーバ2(情報処理装置)の運行計画生成部204は、所定の制約として、産業廃棄物の搬送依頼に割り当てられている車両との関係、又は、産業廃棄物の搬送依頼に割り当てられている運転手との関係を固定する制約を課して、新規の搬送依頼を含むように生成済みの車両の運行計画を再生成する。
受注と車両の組み合わせ、又は、受注と車両の運転手の組み合わせを固定することで(成約条件を課すことで)、組み合わせ数が減少するため車両の運行計画の生成に必要な計算量を大幅に削減することができる。
通常、成約条件が増えるごとに組み合わせ数が指数関数的に減少するため、短時間(例えば、数秒から数十秒)で車両の運行計画を再生成することができる。
【0186】
また、第2実施形態に係るサーバ2(情報処理装置)の運行計画生成部204は、所定の制約として、目的関数及び制約条件としての等式、不等式を導出して、最適化ソルバを用いた充足可能性判定により前記産業廃棄物を搬送する車両の運行計画を生成する。
そして、車両の運行計画において、産業廃棄物の搬送依頼に割り当てられている車両との関係、又は、産業廃棄物の搬送依頼に割り当てられている運転手との関係を固定する等式を導出することにより生成済みの車両の運行計画を再生成する。
このように、簡単な等式により、受注と車両の組み合わせ、又は、受注と車両の運転手の組み合わせを固定する(成約条件を課す)ことができる。
【0187】
また、運行計画生成部204が、所定の制約を課した状態で導出された制約条件式を充足する充足解を得られない場合、サーバ2の送信部202(出力部)は、所定の制約を課さずに、新規の搬送依頼を含むように生成済みの車両の運行計画を再生成することを促す情報を送信(出力)する。
このように、所定の制約を課した状態では新規の搬送依頼を受けることができない場合に、所定の制約を課さずに、新規の搬送依頼を含むように、換言すると新規の搬送依頼を受けることができるか否か、生成済みの車両の運行計画を再生成することを促す。
このため、産廃業者が産廃の回収が可能かどうかを問い合わせてきた産廃業者に、時間がかかるが再度受注可能か否かを確認するかを聞くことができ、利便性が向上する。
【0188】
その他、上記第1,第2実施形態及びその変形例は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0189】
1 情報処理システム
2 サーバ(情報処理装置)
200A 通信IF
200B 記憶装置(第1~第3記憶部)
200C CPU
201 受信部(受付部)
202 送信部(出力部)
203 記憶装置制御部
204 運行計画生成部
205 移動時間取得部
206 抽出部
3 ユーザ端末
300A 通信IF
300B 記憶装置
300C 入力装置
300D 表示装置
300E CPU
301 受信部
302 送信部
303 記憶装置制御部
304 操作受付部
305 表示装置制御部
4 ネットワーク
DB1 ユーザデータベース(第1,第2記憶部)
DB2 エラー提示用データベース(第3記憶部)