(57)【特許請求の範囲】
【請求項１】
複数の巡回作業員が巡回業務を分担するための巡回順を策定する巡回業務分担システムであって、
巡回先に関する情報である巡回先情報、及び前記巡回作業員の制約条件に関する情報である巡回作業員制約情報を入力する入力手段と、
評価項目の重み付け合計値を目的関数とし、前記巡回先情報及び前記巡回作業員制約情報に従って前記目的関数を最小化する前記巡回作業員ごとの巡回順を算出する算出手段と、
前記算出手段によって算出される前記巡回順を出力する出力手段と、
を具備し、
前記入力手段は、更に、前記巡回作業員の出動拠点が担当する地域を複数に区分したときの１区分の範囲を示すエリア間を移動するときの移動コストを入力し、
前記評価項目には、少なくとも、前記巡回作業員の総移動時間に基づく値、及び、前記巡回作業員ごとの全ての巡回先エリア間の前記移動コストの合計に基づく値が含まれることを特徴とする巡回業務分担システム。
【請求項２】
複数の巡回作業員が巡回業務を分担するための巡回順を策定する巡回業務分担システムであって、
巡回先に関する情報である巡回先情報、及び前記巡回作業員の制約条件に関する情報である巡回作業員制約情報を入力する入力手段と、
評価項目の重み付け合計値を目的関数とし、前記巡回先情報及び前記巡回作業員制約情報に従って前記目的関数を最小化する前記巡回作業員ごとの巡回順を算出する算出手段と、
前記算出手段によって算出される前記巡回順を出力する出力手段と、
を具備し、
前記評価項目には、少なくとも、前記巡回作業員の総移動時間に基づく値、及び、前記巡回作業員ごとの全ての前記巡回先間の移動時間の最大値に基づく値が含まれることを特徴とする巡回業務分担システム。
【請求項３】
複数の巡回作業員が巡回業務を分担するための巡回順を策定する巡回業務分担システムにおける巡回業務分担方法であって、
コンピュータが、巡回先に関する情報である巡回先情報、及び前記巡回作業員の制約条件に関する情報である巡回作業員制約情報を入力するステップと、
コンピュータが、評価項目の重み付け合計値を目的関数とし、前記巡回先情報及び前記巡回作業員制約情報に従って前記目的関数を最小化する前記巡回作業員ごとの巡回順を算出するステップと、
コンピュータが、前記巡回順を出力するステップと、
を含み、
前記入力するステップは、更に、前記巡回作業員の出動拠点が担当する地域を複数に区分したときの１区分の範囲を示すエリア間を移動するときの移動コストを入力し、
前記評価項目には、少なくとも、前記巡回作業員の総移動時間に基づく値、及び、前記巡回作業員ごとの全ての巡回先エリア間の前記移動コストの合計に基づく値が含まれることを特徴とする巡回業務分担方法。
【請求項４】
複数の巡回作業員が巡回業務を分担するための巡回順を策定する巡回業務分担システムにおける巡回業務分担方法であって、
コンピュータが、巡回先に関する情報である巡回先情報、及び前記巡回作業員の制約条件に関する情報である巡回作業員制約情報を入力するステップと、
コンピュータが、評価項目の重み付け合計値を目的関数とし、前記巡回先情報及び前記巡回作業員制約情報に従って前記目的関数を最小化する前記巡回作業員ごとの巡回順を算出するステップと、
コンピュータが、前記巡回順を出力するステップと、
を含み、
前記評価項目には、少なくとも、前記巡回作業員の総移動時間に基づく値、及び、前記巡回作業員ごとの全ての前記巡回先間の移動時間の最大値に基づく値が含まれることを特徴とする巡回業務分担方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、巡回業務を分担するための巡回順を策定する巡回業務分担システム等に関するものである。特に、本発明は、複数の巡回作業員の相互調整を行う巡回業務分担システム等に関するものである。
【背景技術】
【０００２】
従来から、ガス会社等では、顧客からの求めに応じて、作業員が巡回業務を行っている。巡回業務とは、具体的には、予め顧客から約束時間を受け付けて、作業員が、地域ごとのサービス拠点を出動し、約束時間内に各顧客を訪問して、ガスの開栓や閉栓、ガス機器の点検や修理等の業務を行うことである。このような巡回業務においては、限られた人数の巡回作業員が、効率的に巡回業務を分担するための巡回順を策定するシステムが望まれている。
【０００３】
例えば、特許文献１には、配電線設備の故障修理、巡視、点検業務や顧客との契約異動処理などの業務を巡回処理するために有用な巡回業務管理システムが開示されている。特許文献１に記載の巡回業務管理システムでは、業務情報データベースに記憶された未処理の業務のうち、割り当てられた業務が複数ある場合に、車両情報データベースに記憶された巡回車両に関する情報、地図情報データベースに記憶された道路地図情報、及びルート情報データベースに記憶された巡回先情報に基づき巡回先を巡る最適な巡回順路を決定し、この決定された巡回順路において各巡回先の到着予定時刻を演算し、これら巡回順路や到着予定時刻を業務に関する情報などと共に巡回車両に送信し、巡回車両の表示部に表示する。
【０００４】
また、特許文献１に記載の巡回業務管理システムにおいて、管理センターに設置される制御装置は、業務振り分け制御機能を有する。業務振り分け制御機能は、業務情報データベースに記憶された業務に関する情報、車両情報データベースに記憶された巡回車両に関する情報、及び地図情報データベースに記憶された道路地図情報に基づき、業務情報データベースに記憶された業務を、車両の現在位置や車種などに基づき対応可能な巡回車両に対して業務を振り分ける。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２８０１６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、巡回車両に対する業務の振り分けを、巡回作業員に対する業務の分担に代えて、特許文献１に記載の技術を適用する場合を考える。特許文献１のように、巡回作業員の現在位置などに基づき対応可能な巡回作業員に対して業務を分担する場合、同一のサービス拠点から出動する複数の巡回作業員に対して、毎日１軒目の巡回先を効率的に振り分けることができない。このことについて、以下に説明する。
【０００７】
通常、巡回作業員は、毎日サービス拠点に出社し、サービス拠点から巡回業務に出動する。従って、毎日１軒目の巡回先に出動する前は、全ての巡回作業員がサービス拠点に存在することになる。そうすると、巡回作業員の現在位置は全て同一になるので、巡回作業員の現在位置は、効率的な分担を行うための条件（以下、「分担条件」という。）として寄与しない。また、特許文献１には、業務内容に基づき業務を振り分けることも記載されているが、業務内容は、各巡回作業員が担当可能な業務かどうかを示す情報であり、あくまでも制約条件である。そうすると、業務内容も分担条件として寄与しない。このように、特許文献１に記載の技術では、同一のサービス拠点から出動する複数の巡回作業員に対して、毎日１軒目の巡回先を効率的に振り分けることができない。
【０００８】
更に、特許文献１に記載の技術では、各巡回作業員の分担分に対するエリアごとのまとめ度合、各巡回作業員の負荷の平準化度合等（以下、「分担指標」という。）を考慮していない。ここで、エリアとは、各サービス拠点が担当する地域を複数に区分したときの１区分の範囲を意味するものとする。同一のサービス拠点から出動する複数の巡回作業員に対して巡回業務を分担する場合、これらの分担指標は重要である。従って、特許文献１に記載の技術では、同一のサービス拠点から出動する複数の巡回作業員に対して、２軒目以降の巡回先に対しても、巡回業務を効率的に分担することができないと言える。
【０００９】
本発明は、前述した問題点に鑑みてなされたものであり、その目的とすることは、複数の巡回作業員に対して、巡回業務を効率的に分担することができる巡回業務分担システム等を提供することである。
【課題を解決するための手段】
【００１２】
前述した目的を達成するために第１の発明は、複数の巡回作業員が巡回業務を分担するための巡回順を策定する巡回業務分担システムであって、巡回先に関する情報である巡回先情報、及び前記巡回作業員の制約条件に関する情報である巡回作業員制約情報を入力する入力手段と、評価項目の重み付け合計値を目的関数とし、前記巡回先情報及び前記巡回作業員制約情報に従って前記目的関数を最小化する前記巡回作業員ごとの巡回順を算出する算出手段と、前記算出手段によって算出される前記巡回順を出力する出力手段と、を具備し、前記入力手段は、更に、前記巡回作業員の出動拠点が担当する地域を複数に区分したときの１区分の範囲を示すエリア間を移動するときの移動コストを入力し、前記評価項目には、少なくとも、前記巡回作業員の総移動時間に基づく値、及び、前記巡回作業員ごとの全ての巡回先エリア間の前記移動コストの合計に基づく値が含まれることを特徴とする巡回業務分担システムである。第１の発明によって、複数の巡回作業員に対して、巡回業務を効率的に分担することができる。特に、全ての巡回作業員の総移動時間を極力少なくする結果を得ることができる。また、巡回作業員を極力多方面に分散させておくことができるとともに、渋滞等を極力回避することができる。
【００１３】
第２の発明は、複数の巡回作業員が巡回業務を分担するための巡回順を策定する巡回業務分担システムであって、巡回先に関する情報である巡回先情報、及び前記巡回作業員の制約条件に関する情報である巡回作業員制約情報を入力する入力手段と、評価項目の重み付け合計値を目的関数とし、前記巡回先情報及び前記巡回作業員制約情報に従って前記目的関数を最小化する前記巡回作業員ごとの巡回順を算出する算出手段と、前記算出手段によって算出される前記巡回順を出力する出力手段と、を具備し、前記評価項目には、少なくとも、前記巡回作業員の総移動時間に基づく値、及び、前記巡回作業員ごとの全ての前記巡回先間の移動時間の最大値に基づく値が含まれることを特徴とする巡回業務分担システムである。第２の発明によって、複数の巡回作業員に対して、巡回業務を効率的に分担することができる。特に、全ての巡回作業員の総移動時間を極力少なくする結果を得ることができる。また、特別な情報を準備することなく、巡回作業員を極力多方面に分散させておくことができる。
【００１５】
第３の発明は、複数の巡回作業員が巡回業務を分担するための巡回順を策定する巡回業務分担システムにおける巡回業務分担方法であって、コンピュータが、巡回先に関する情報である巡回先情報、及び前記巡回作業員の制約条件に関する情報である巡回作業員制約情報を入力するステップと、コンピュータが、評価項目の重み付け合計値を目的関数とし、前記巡回先情報及び前記巡回作業員制約情報に従って前記目的関数を最小化する前記巡回作業員ごとの巡回順を算出するステップと、コンピュータが、前記巡回順を出力するステップと、を含み、前記入力するステップは、更に、前記巡回作業員の出動拠点が担当する地域を複数に区分したときの１区分の範囲を示すエリア間を移動するときの移動コストを入力し、前記評価項目には、少なくとも、前記巡回作業員の総移動時間に基づく値、及び、前記巡回作業員ごとの全ての巡回先エリア間の前記移動コストの合計に基づく値が含まれることを特徴とする巡回業務分担方法である。第３の発明によって、複数の巡回作業員に対して、巡回業務を効率的に分担することができる。また、巡回作業員を極力多方面に分散させておくことができるとともに、渋滞等を極力回避することができる。
第４の発明は、複数の巡回作業員が巡回業務を分担するための巡回順を策定する巡回業務分担システムにおける巡回業務分担方法であって、コンピュータが、巡回先に関する情報である巡回先情報、及び前記巡回作業員の制約条件に関する情報である巡回作業員制約情報を入力するステップと、コンピュータが、評価項目の重み付け合計値を目的関数とし、前記巡回先情報及び前記巡回作業員制約情報に従って前記目的関数を最小化する前記巡回作業員ごとの巡回順を算出するステップと、コンピュータが、前記巡回順を出力するステップと、を含み、前記評価項目には、少なくとも、前記巡回作業員の総移動時間に基づく値、及び、前記巡回作業員ごとの全ての前記巡回先間の移動時間の最大値に基づく値が含まれることを特徴とする巡回業務分担方法である。第４の発明によって、複数の巡回作業員に対して、巡回業務を効率的に分担することができる。また、特別な情報を準備することなく、巡回作業員を極力多方面に分散させておくことができる。
【発明の効果】
【００１６】
本発明により、複数の巡回作業員に対して、巡回業務を効率的に分担することができる巡回業務分担システム等を提供することができる。つまり、本発明により、複数の巡回作業員全体の最適化を行うことができる。
【図面の簡単な説明】
【００１７】
【図１】巡回業務分担システム１の概要を示す図
【図２】端末２（サーバ３）のハードウエア構成図
【図３】巡回業務分担処理の流れを示すフローチャート
【図４】巡回先情報２０の１例を示す図
【図５】巡回作業員制約情報３０の１例を示す図
【図６】住所エリア対応情報４０の１例を示す図
【図７】巡回表５０の１例を示す図
【図８】移動コスト情報８０の１例を示す図
【発明を実施するための形態】
【００１８】
以下図面に基づいて、本発明の実施形態を詳細に説明する。以下では、ガス会社における巡回業務を例に挙げて説明する。但し、本発明の適用範囲はガス会社における巡回業務に限らない。本発明は、前述した課題がある巡回業務に対して適用すれば、同様の効果を奏する。
【００１９】
図１は、巡回業務分担システム１の概要を示す図である。巡回業務分担システム１は、同一のサービス拠点から出動する複数の巡回作業員が巡回業務を分担するための巡回順を策定するシステムである。図１に示すように、巡回業務分担システム１は、例えば、端末２とサーバ３がネットワーク６を介して接続されている。ネットワーク６は、例えば、インターネット又はＬＡＮ（Local Area Network）等である。端末２は、例えば、ＰＣ（Personal
Computer、以下「コンピュータ」）や携帯端末（携帯電話、スマートフォン、タブレット端末等）等、ネットワーク６に接続し、データ通信（ＨＴＴＰ通信、ＴＣＰ／ＩＰ通信など）が可能であれば、どのような機器でも良い。サーバ３も、端末２と同様に、ネットワーク６に接続し、データ通信が可能であれば良いが、望ましくは高性能なサーバ用コンピュータが良い。
【００２０】
端末２には、本発明の一形態である巡回業務分担プログラム４がインストールされている。また、サーバ３には、本発明の実施形態において利用される各種のデータを記憶するデータベース（以下「ＤＢ」）５が構築されている。本発明の実施形態では、端末２が、巡回業務分担プログラム４に従って各種の手段として機能する。端末２は、必要に応じて、データの要求命令をサーバ３に送信する。サーバ３は、データの要求に対してＤＢ５を検索し、要求されたデータを端末２に送信する。
【００２１】
尚、巡回業務分担システム１の構成は、図１に示す例に限らない。例えば、巡回業務分担システム１は、端末２のみで構成されても良い。つまり、端末２が、ＤＢ５を備えるようにしても良い。
【００２２】
また、巡回業務分担プログラム４は、サーバ３にインストールされていても良い。つまり、サーバ３が、巡回業務分担プログラム４に従って各種の手段として機能するようにしても良い。この場合、端末２は、ユーザとのインタフェースの役割を果たす。つまり、端末２は、ユーザから入力されるデータをサーバ３に送信し、サーバ３から受信するデータを出力（表示や印刷など）する。
【００２３】
また、ＤＢ５に代えて、単なるファイルとしてデータを記憶しても良い。また、ＤＢ５に記憶されているデータは、外部のサーバから取得するようにしても良い。
【００２４】
図２は、端末２（サーバ３）を実現するコンピュータのハードウエア構成図である。尚、図２のハードウエア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
【００２５】
端末２（サーバ３）を実現するコンピュータは、制御部１１、記憶部１２、メディア入出力部１３、通信制御部１４、入力部１５、表示部１６、周辺機器Ｉ／Ｆ部１７等が、バス１８を介して接続される。
【００２６】
制御部１１は、ＣＰＵ（Central
Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等で構成される。ＣＰＵは、記憶部１２、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、バス１８を介して接続された各装置を駆動制御し、コンピュータが行う後述する処理を実現する。ＲＯＭは、不揮発性メモリであり、コンピュータのブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持している。ＲＡＭは、揮発性メモリであり、記憶部１２、ＲＯＭ、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部１１が各種処理を行う為に使用するワークエリアを備える。
【００２７】
記憶部１２は、例えば、ＨＤＤ（Hard Disk Drive）であり、制御部１１が実行するプログラム、プログラム実行に必要なデータ、ＯＳ（Operating System）等が格納される。プログラムに関しては、ＯＳに相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。これらの各プログラムコードは、制御部１１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００２８】
メディア入出力部１３（ドライブ装置）は、データの入出力を行い、例えば、ＣＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＤＶＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）等のメディア入出力装置を有する。通信制御部１４は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク６間の通信を媒介する通信インタフェースであり、ネットワーク６を介して、他のコンピュータ間との通信制御を行う。ネットワーク６は、有線、無線を問わない。
【００２９】
入力部１５は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。入力部１５を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。表示部１６は、液晶パネル、有機ＥＬ等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等（ビデオアダプタ等）を有する。尚、入力部１５及び表示部１６は、タッチパネルディスプレイのように、一体となっていても良い。
【００３０】
周辺機器Ｉ／Ｆ（インタフェース）部１７は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部１７を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器Ｉ／Ｆ部１７は、ＵＳＢ等で構成されており、通常複数の周辺機器Ｉ／Ｆを有する。周辺機器との接続形態は有線、無線を問わない。バス１８は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００３１】
図３は、巡回業務分担処理の流れを示すフローチャートである。図３に示すように、端末２の制御部１１は、最適化処理に必要なデータを入力する（Ｓ１）。具体的には、端末２の制御部１１は、ＤＢ５を参照し、巡回先に関する情報である巡回先情報、及び巡回作業員の制約条件に関する情報である巡回作業員制約情報を入力する。
【００３２】
図４は、巡回先情報２０の１例を示す図である。図４に示すように、巡回先情報２０は、例えば、整理番号２１、巡回先住所２２、作業種別２３、約束開始時刻２４、約束終了時刻２５等の項目が含まれる。巡回先情報２０は、整理番号２１を主キーとするデータである。
【００３３】
整理番号２１は、巡回先（顧客）からの要望毎に付番される番号である。巡回先住所２２は、巡回先（顧客）の住所である。
【００３４】
作業種別２３は、巡回先（顧客）からの要望に対する作業内容の種類を示すものである。作業種別２３は、ガス会社における巡回業務の場合、例えば、ガスの開栓、ガスの閉栓、ガス機器の配達、ガス機器の修理等である。
【００３５】
約束開始時刻２４は、巡回先（顧客）と約束している訪問時間帯の開始時刻である。約束終了時刻２５は、巡回先（顧客）と約束している訪問時間帯の終了時刻である。訪問時間帯の指定は、例えば、１時間単位（例えば、９時〜１０時）、午前（例えば、９時〜１２時）、午後（例えば、１３時〜１７時）、終日（例えば、９時〜１７時）等が考えられる。
【００３６】
巡回業務分担システム１では、巡回先（顧客）から要望と約束時間を受け付けると、サーバ３の制御部１１が、整理番号２１を付番し、整理番号２１ごとに、巡回先住所２２、作業種別２３、約束開始時刻２４、約束終了時刻２５等をＤＢ５に記憶する。そして、図３に示す巡回業務分担処理のＳ１において、端末２の制御部１１が、ＤＢ５から１日分の巡回先情報２０を取得し、最適化処理の入力データとして入力する。
【００３７】
図５は、巡回作業員制約情報３０の１例を示す図である。図５に示すように、巡回作業員制約情報３０は、例えば、作業員ＩＤ３１、出動拠点３２、移動手段３３、移動可能エリア３４、作業種別対応３５、作業可能開始時刻３６、作業可能終了時刻３７、終業時刻３８等の項目が含まれる。巡回作業員制約情報３０は、作業員ＩＤ３１を主キーとするデータである。
【００３８】
作業員ＩＤ３１は、巡回作業員を識別する番号である。出動拠点３２は、巡回作業員が出動するサービス拠点である。移動手段３３は、巡回作業員が巡回するときの移動手段（徒歩・電車・バス、バイク、自動車等）である。
【００３９】
移動可能エリア３４は、巡回作業員が移動可能なエリアである。ここで、エリアとは、巡回作業員の出動拠点３２が担当する地域を複数に区分したときの１区分の範囲を意味するものとする。現実の住所とエリアの対応付けは、図６に示す住所エリア対応情報４０によって行う。
【００４０】
図６は、住所エリア対応情報４０の１例を示す図である。住所エリア対応情報４０は、例えば、住所４１、エリア４２等が含まれる。住所４１は、各サービス拠点が担当する地域を示す現実の住所の一覧である。エリア４２は、住所４１と対応付けるエリアの名称である。図６に示す例では、例えば、「Ａ市１」のエリアは「Ａ市Ｂ町」を含み、「Ａ市２」のエリアは「Ａ市Ｇ町」及び「Ａ市Ｈ町」を含む。
【００４１】
巡回業務分担システム１では、予め住所エリア対応情報４０をＤＢ５に記憶しておく。そして、図３に示す巡回業務分担処理のＳ１において、端末２の制御部１１が、ＤＢ５から住所エリア対応情報４０を取得し、最適化処理の入力データとして入力する。
【００４２】
図５の説明に戻る。作業種別対応３５は、各巡回作業員が対応可能な作業種別である。作業種別対応３５は、巡回先情報２０の作業種別２３と同様の種別が登録される。すなわち、作業種別対応３５は、ガス会社における巡回業務の場合、例えば、ガスの開栓、ガスの閉栓、ガス機器の配達、ガス機器の修理等のうち、１又は複数が登録される。
【００４３】
作業可能開始時刻３６は、巡回作業員が作業可能な時間帯（通常は就業時間内）の開始時刻である。作業可能終了時刻３７は、巡回作業員が作業可能な時間帯の終了時刻である。終業時刻３８は、巡回作業員の就業規則上の勤務終了時刻である。この時刻を超えて作業可能終了時刻３８までの時間の範囲で作業をする場合、その時間（作業を終えて拠点３２へ帰社する時間―終業時刻３８）は残業時間となる。
【００４４】
巡回業務分担システム１では、予め巡回作業員制約情報３０をＤＢ５に記憶しておく。そして、図３に示す巡回業務分担処理のＳ１において、端末２の制御部１１が、ＤＢ５から巡回作業員制約情報３０を取得し、最適化処理の入力データとして入力する。
【００４５】
図３の説明に戻る。次に、端末２の制御部１１は、最適化処理を行う（Ｓ２）。最適化処理では、端末２の制御部１１は、評価項目の重み付け合計値を目的関数とし、巡回先情報及び巡回作業員制約情報に従って、目的関数を最小化する巡回作業員ごとの巡回順を算出する。
【００４６】
本実施の形態では、評価項目として、以下のような項目を用いる。各項目の詳細な説明は、図３の説明の後に記載する。
[１]巡回作業員の総移動時間を評価する項目
[２]巡回作業員の負荷の平準化度合を評価する項目
[３]巡回作業員の分担のエリアごとのまとめ度合を評価する項目
[４]約束時間の遵守度合を評価する項目
[５]その他の項目
【００４７】
最適化処理の詳細について説明する。最初に、端末２の制御部１１は、例えばNearest Neighbor法により初期解を生成する（Ｓ２１）。端末２の制御部１１は、例えば、巡回先住所２２、出動拠点３２、移動可能エリア３４等の場所に関する情報も加味しながら、逐次的に巡回先を巡回作業員に割り当てていく。本実施の形態では、初期解を生成する処理をNearest Neighbor法に限定するものではなく、他の公知の手法を用いても良い。
【００４８】
次に、端末２の制御部１１は、例えば、遺伝的アルゴリズム（ＧＡ：Genetic Algorithm）やタブーサーチ（タブー探索）によって、Ｓ２１において生成される初期解の改善を行う（Ｓ２２）。本実施の形態では、初期解の改善を行う処理を遺伝的アルゴリズムやタブーサーチに限定するものではなく、他の公知の手法を用いても良い。
【００４９】
１例として、遺伝的アルゴリズムによって初期解を改善する処理について説明する。端末２の制御部１１は、最初に、個体数Ｎの初期集団を作成する為、Ｓ２１において生成される１つの初期解を集団の１個体（＝解）とし、残りのＮ−１個の個体をランダムに生成する。次に、端末２の制御部１１は、個体（解）を変更する遺伝的アルゴリズムとして、交叉と突然変異を行う。交叉では、例えば、集団から同一でない２つの個体（解）をランダムに選択し、２つの個体（解）からそれぞれランダムに交叉範囲（１人の巡回作業者に対する１又は複数の巡回先）を決定し、交叉範囲内において新たな個体（解）を求める。突然変異では、前述の評価項目を向上させるものとする。つまり、突然変異では、ある操作、例えば、巡回先を１つ削除することにより総移動時間の減少が最も大きいものを選び、それを挿入することによる総移動時間の増加が最も小さいもの選ぶときに、評価項目が向上する個体（解）、例えば、総移動時間の減少が最も大きい等の個体（解）を新たな個体（解）とする。
【００５０】
次に、端末２の制御部１１は、最適化処理によって算出される巡回作業員ごとの巡回順を出力する（Ｓ３）。巡回作業員ごとの巡回順は、各巡回作業員が担当する巡回先の一覧を示すともに、巡回先の順序を示すものである。巡回順を示す出力結果としては、巡回作業員ごとの巡回順を示す巡回表、巡回作業員ごとの巡回マップ、巡回作業員ごとのガントチャートなどが挙げられる。
【００５１】
図７は、巡回表５０の１例を示す図である。図７に示すように、巡回表５０は、例えば、連番５１、作業種別５２、整理番号５３、作業開始時刻５４、作業終了時刻５５、約束時間非遵守５６、作業時間５７、巡回先住所５８、約束開始時刻５９、約束終了時刻６０、作業員ＩＤ６１等の項目が含まれる。巡回表５０によって示される巡回作業員ごとの巡回順は、最適化処理によって算出されるものである。
【００５２】
連番５１は、巡回作業員ごとに午前又は午後の巡回先を纏めて同一の番号としたものである。例えば、７２、７３等のレコードは、作業員ＩＤ６１が「０１」の巡回作業員の午前の巡回先を示している。また、例えば、７５、７６等のレコードは、作業員ＩＤ６１が「０２」の巡回作業員の午前の巡回先を示している。
【００５３】
作業種別５２は、巡回先情報２０の作業種別２３と同様である。整理番号５３は、巡回先情報２０の整理番号２１と同様である。
【００５４】
作業開始時刻５４は、巡回先において作業を開始する予定の時刻である。作業終了時刻５５は、巡回先において作業を終了する予定の時刻である。約束時間非遵守５６は、約束時間を遵守しているかしないかのフラグである。
【００５５】
作業時間５７は、作業に必要と思われる予測時間である。作業時間５７は、例えば、作業種別５２ごとに定まるものである。または、サーバ３の制御部１１は、過去の実績データに対してデータマイニングを行い、様々な予測条件ごとに作業に必要と思われる予測時間を予測して定めても良い。予測条件は、作業種別５２（開栓、閉栓、配達、修理等）、作業場所の属性（他の所有機器の有無、集合又は戸建等の住居種類等）、巡回作業員のスキルレベル等が考えられる。また、作業種別５２が「修理」の場合、予測条件は、作業対象の機種、故障状況等を含めても良い。なお、入力データの巡回先情報２０から作業時間を読み込み、作業時間５７として処理をしてもよい。
【００５６】
ここで、作業開始時刻５４、作業終了時刻５５、及び約束時間非遵守５６の３つは、最適化処理によって算出されるものである。作業開始時刻５４は、巡回先間の移動時間も考慮して算出される。なお、巡回先間の移動時間の算出に当たっては、入力データの巡回先情報２０の巡回先住所２２に基づき全巡回先間の移動距離のテーブル（図示はしていない）をあらかじめ作成しておき、また移動手段ごとの移動速度のテーブル（図示はしていない）を別途入力データとして持っておき、これらのデータから移動時間を算出する。移動距離のテーブルを作成するに当たっては、道路地図情報を利用して算出したり、または直線距離×αによって算出することが望ましい。
【００５７】
作業終了時刻５５は、作業開始時刻５４と作業時間５７を足した値である。また、約束時間非遵守５６は、作業開始時刻５４＞約束終了時刻６０の場合、「※」等のフラグである。これは、約束時間に遅れてしまうことを示すものである。
【００５８】
巡回先住所５８は、巡回先情報２０の巡回先住所２２と同様である。約束開始時刻５９は、巡回先情報２０の約束開始時刻２４と同様である。約束終了時刻６０は、巡回先情報２０の約束終了時刻２５と同様である。作業員ＩＤ６１は、巡回作業員制約情報３０の作業員ＩＤ３１と同様である。
【００５９】
具体的なデータの内容について説明する。７１及び７４のレコードは、巡回作業員の出動拠点３２及び作業可能開始時刻３６を示す特別なレコードである。７１及び７４のレコードでは、巡回先住所５８の値が出動拠点３２、作業開始時刻５４及び作業終了時刻５５の値が、出動拠点３２を出発する時刻を示している。
【００６０】
７２、７３、７５、及び７６は、前述の説明の通りのレコードである。例えば、７２のレコードは、作業種別５２が「開栓」、整理番号５３が「１００４」、巡回先住所５８が「Ｃ市Ｄ町１−３５」、約束開始時刻５９が「９：００」、約束終了時刻６０が「１２：００」という要望に対して、作業員ＩＤ６１が「０１」の巡回作業員が、作業開始時刻５４が「９：１６」、作業時間４７が「６分」、作業終了時刻５５が「９：２２」という作業予定によって作業を行うことを示している。
【００６１】
尚、前述の巡回作業員ごとの巡回マップは、巡回表５０に示すデータと地図データに基づいて作成可能である。同様に、前述の巡回作業員ごとのガントチャートは、巡回表５０に示すデータに基づいて作成可能である。巡回マップやガントチャートの作成処理は、公知の技術を用いれば良い。
【００６２】
図３の説明に戻る。次に、当日、新たな巡回先（顧客）から要望と約束時間を受け付ける場合を考える。新たな巡回先（顧客）から要望と約束時間を受け付けると、サーバ３の制御部１１が、整理番号２１を付番し、整理番号２１ごとに、巡回先住所２２、作業種別２３、約束開始時刻２４、約束終了時刻２５等をＤＢ５に記憶する。そして、端末２の制御部１１が、ＤＢ５から追加分の巡回先情報２０を取得し、追加データとして入力する（Ｓ４）。
【００６３】
次に、端末２の制御部１１は、追加データを含めて最適化処理を行う（Ｓ５）。具体的には、初期解は、Ｓ３によって出力される解とする。そして、端末２の制御部１１は、Ｓ２２と同様、例えば、遺伝的アルゴリズムやタブーサーチによって、初期解の改善を行う（Ｓ５１）。
【００６４】
Ｓ５１については、２通りの算出手法が考えられる。第１の算出手法は、Ｓ１における入力データ及びＳ４における追加データを統合し、算出する時点ですでに巡回済み以外の全ての巡回先情報２０を未計画として扱う手法である。第２の算出手法（微修正ディスパッチ）は、Ｓ１における入力データに含まれる算出する時点ですでに巡回済み以外の全ての巡回先情報２０については計画済みとし、Ｓ４における追加データに含まれる巡回先情報２０だけを未計画として扱う手法である。第２の算出手法では、Ｓ１における入力データに含まれる巡回先情報２０の巡回作業員間での変更は行わず、Ｓ４における追加データに含まれる巡回先情報２０について、空き時間がある巡回作業員に割り当てていく。なお、巡回順の変更はしてもよい。
【００６５】
次に、端末２の制御部１１は、Ｓ５の最適化処理によって算出される巡回作業員ごとの巡回順を出力する（Ｓ６）。Ｓ６の出力処理は、Ｓ３の出力処理と同様である。
【００６６】
巡回業務分担処理の流れは以上の通りである。前述の通り、巡回業務分担処理では、同一のサービス拠点から出動する複数の巡回作業員に対して巡回業務を分担する。また、新たに巡回先が追加された場合であっても、一度策定された巡回順を利用して、簡便に巡回順を再策定することができる。
以下では、最適化処理（Ｓ２及びＳ５）における評価項目について説明する。
【００６７】
＜[１]巡回作業員の総移動時間を評価する項目＞
一般に、巡回作業員の総移動時間が少ない程、巡回業務を効率的に分担できていると言える。巡回作業員の総移動時間を評価する項目としては、「巡回作業員の総移動時間に基づく値」が考えられる。「巡回作業員の総移動時間に基づく値」の１例としては、以下が考えられる。
【００６８】
【数１】
0005801185.tif 000002
【００６９】
但し、
ｎ：巡回作業員の人数、
Ａｊ：各巡回作業員ｊの総移動時間、
である。なお作業種別２３に適した移動手段のテーブルを持っていて（図示はしていない）、各作業員が対応できる移動手段やどの移動手段を使えば移動時間をより最小化できるかを加味しながら処理をすることが望ましい。
【００７０】
端末２の制御部１１が、最適化処理により式（１）を含む目的関数を最小化することによって、全ての巡回作業員の総移動時間を極力少なくする結果を得ることができる。ひいては、複数の巡回作業員に対して、巡回業務を効率的に分担することができる。
【００７１】
＜[２]巡回作業員の負荷の平準化度合を評価する項目＞
一般に、巡回作業員の負荷が平準化されている程、巡回業務を効率的に分担できていると言える。巡回作業員の負荷の平準化度合を評価する項目としては、[２−１]「目標割り当て件数の非遵守件数に基づく値」や、[２−２]「巡回作業員ごとの総作業時間の稼働時間に対する比率のばらつきに基づく値」等が考えられる。
【００７２】
ここで、目標割り当て件数とは、巡回作業員１人当たりに割り当てる目標件数であり、予め定められる。また、巡回作業員ごとの総作業時間とは、巡回作業員１人分の担当分における作業時間５７の合計である。稼働時間とは、作業可能終了時刻３７から作業可能開始時刻３６を引いた時間である。
【００７３】
[２−１]「目標割り当て件数の非遵守件数に基づく値」の１例としては、以下が考えられる。
【００７４】
【数２】
0005801185.tif 000003
【００７５】
但し、
Ｚ：目標割り当て件数、
ｎ：巡回作業員の人数、
Ｙｊ：巡回作業員ｊの割り当て件数、
である。
【００７６】
式（２）の技術的意義について説明する。式（２）は、各巡回作業員に割り当てる作業件数が、巡回作業員１人当たりの目標割り当て件数Ｚを極力満たすようにするための評価項目である。目標割り当て件数Ｚは、予め各巡回作業員に対して個別に設定しておく。式（２）を目的関数に含めるということは、各巡回作業員に割り当てる作業件数が各自の目標割り当て件数Ｚより少ない場合には、その未達件数に比例したペナルティを与えて、各自の目標割り当て件数Ｚを超える場合には、その超過件数に比例したペナルティを与えるということを意味する。尚、式（２）に代えて、各巡回作業員に割り当てる作業件数が各自の目標割り当て件数Ｚより少ない場合のみペナルティを与えるような式としても良い。また、各巡回作業員に割り当てる作業件数が各自の目標割り当て件数Ｚより少ない場合のみペナルティと、多い場合のペナルティの重み大きさを変えても良い。
【００７７】
巡回業務分担システム１では、予め目標割り当て件数ＺをＤＢ５に記憶しておく。また、図３に示す巡回業務分担処理のＳ１において、端末２の制御部１１が、ＤＢ５から目標割り当て件数Ｚを取得し、最適化処理の入力データとして入力する。そして、式（２）は前述の技術的意義を有するので、端末２の制御部１１が、最適化処理により式（２）を含む目的関数を最小化することによって、巡回作業員の担当件数が極力平準化されている結果を得ることができる。ひいては、複数の巡回作業員に対して、巡回業務を効率的に分担することができる。
【００７８】
[２−２]「巡回作業員ごとの総作業時間の稼働時間に対する比率のばらつきに基づく値」の１例としては、以下が考えられる。
【００７９】
【数３】
0005801185.tif 000004
【００８０】
但し、
ｎ：巡回作業員の人数、
Ｓｊ：巡回作業員ｊの作業可能開始時刻３６
Ｔｊ：巡回作業員ｊの終業時刻３８、
Ｍｊ：巡回作業員ｊの総作業時間、
Ｘｊ：巡回作業員ｊの総作業時間の稼働時間に対する比率、
である。また、Ｓｊは巡回作業員ｊの出動拠点３２を出発する時刻としてもよい。また、Ｔｊは巡回作業員ｊの作業可能終了時刻３７としてもよい。
【００８１】
式（３）の技術的意義について説明する。式（３）は、各巡回作業員の総作業時間を極力平準化するための評価項目である。式（３）は、各巡回作業員の総作業時間（午前と午後が別々であっても良いし、一緒であっても良い。）の、稼働時間（＝終業時刻３８−作業可能開始時刻３６）に対する比率の分散である。
【００８２】
ここで、式（３）に巡回先間の移動時間を含めていない理由を説明する。仮に、式（３）に移動時間を含める、つまり移動時間と作業時間との和による評価項目とする場合を考える。この場合、最適化処理では、移動時間と作業時間との和が平均値よりも少ない巡回作業員の巡回順を遠回りさせることによって、平準化しようとする。しかし、巡回順が遠回りになるということは効率的とは言えないので、式（３）には移動時間を含めていない。
【００８３】
式（３）は前述の技術的意義を有するので、端末２の制御部１１が、最適化処理により式（３）を含む目的関数を最小化することによって、巡回順が遠回りにならずに、各巡回作業員の総作業時間が極力平準化されている結果を得ることができる。ひいては、複数の巡回作業員に対して、巡回業務を効率的に分担することができる。
【００８４】
＜[３]巡回作業員の分担のエリアごとのまとめ度合を評価する項目＞
一般に、巡回作業員の分担が、エリアごとにまとまっている程、巡回業務を効率的に分担できていると言える。なぜなら、追加の巡回先が発生した場合であっても、巡回作業員をその巡回先に派遣し易くなるからである。つまり、巡回作業員を極力多方面に分散させておくことにより、巡回作業員が１人もいないエリアが少なくなり、別のエリアから追加の巡回先に巡回作業員を移動させる必要がないからである。
【００８５】
巡回作業員の分担のエリアごとのまとめ度合を評価する項目としては、[３−１]「巡回作業員ごとの移動コストの合計に基づく値」や、[３−２]「巡回作業員ごとの全ての巡回先間の移動時間の最大値に基づく値」等が考えられる。
【００８６】
ここで、移動コストとは、エリア間を移動するときのコストである。図８は、移動コスト情報８０の１例を示す図である。移動コスト情報８０は、移動元エリア８１、移動先エリア８２、移動コスト８３等の項目が含まれる。例えば、移動元エリア８１が「Ａ市１」、移動先エリア８２が「Ａ市１」の場合には、移動コスト８３が「０」である。また、例えば、移動元エリア８１が「Ａ市１」、移動先エリア８２が「Ａ市２」の場合には、移動コスト８３が「１０」である。
【００８７】
例えば、物理的な位置関係として、「Ａ市１」と「Ｃ市１」の間に「Ａ市２」が存在する場合を考える。この場合、「Ａ市１」に含まれる巡回先から、「Ｃ市１」に含まれる巡回先に移動するときには、３行目のレコードの移動コスト８３である「６０」のみをカウントする。逆に言えば、「Ａ市１」から「Ａ市２」への移動コスト８３と、「Ａ市２」から「Ｃ市１」への移動コスト８３を合算することはしない。これは、図８に示す移動コスト８３が、移動中に他のエリア（＝移動元エリア８１及び移動先エリア８２のいずれでもないエリア）を通ることを考慮した値となっているからである。そして、これによって、「地図データに基づき経路探索を行い、経路に沿って移動コスト８３を合算していく」、という処理を省略することができる。
【００８８】
[３−１]「巡回作業員ごとの移動コストの合計に基づく値」の１例としては、以下が考えられる。
【００８９】
【数４】
0005801185.tif 000005
【００９０】
但し、
ｎ：巡回作業員の人数、
Ｃｋｌ：エリアｋからエリアｌに移動する際の移動コスト８３、
Ｅｊ：巡回作業員ｊの巡回先の数、
Ｈｊ、ｇ：巡回作業員ｊのｇ番目に巡回する巡回先からｇ＋１番目に巡回する巡回先への移動コスト、
である。
尚、Ｈｊ、ｇは、端末２の制御部１１が、ｇ番目に巡回する巡回先のエリアとｇ＋１番目に巡回する巡回先のエリアを検索条件として移動コスト情報８０を検索し、検索結果として得られるＣｋｌ（＝移動コスト８３）から算出する。
【００９１】
式（４）の技術的意義について説明する。式（４）は、巡回作業員の分担がエリアごとにまとまっているか否かを評価するために、住所エリア対応情報４０として登録されている固定的な情報に基づく評価項目であると言える。式（４）によって、巡回作業員を極力多方面に分散させておくことができる。
【００９２】
更に、移動手段３３が自動車等の場合、住所エリア対応情報４０において、電車の線路によって分断されている地域同士を異なるエリアとし、移動コスト情報８０の移動コスト８３を高い値とすることによって、踏切等に起因する渋滞を極力回避することができる。同様に、住所エリア対応情報４０において、渋滞する道路を通過しなければ移動できない地域同士を異なるエリアとし、移動コスト情報８０の移動コスト８３を高い値とすることによって、渋滞を極力回避することができる。
【００９３】
巡回業務分担システム１では、予め移動コスト情報８０をＤＢ５に記憶しておく。また、図３に示す巡回業務分担処理のＳ１において、端末２の制御部１１が、ＤＢ５から移動コスト情報８０を取得し、最適化処理の入力データとして入力する。そして、式（４）は前述の技術的意義を有するので、端末２の制御部１１が、最適化処理により式（４）を含む目的関数を最小化することによって、巡回作業員の分担を極力エリアごとにまとめる結果を得ることができる。これにより、巡回作業員を極力多方面に分散させておくことができるとともに、渋滞等を極力回避することができる。ひいては、複数の巡回作業員に対して、巡回業務を効率的に分担することができる。
【００９４】
[３−２]「巡回作業員ごとの全ての巡回先間の移動時間の最大値に基づく値」の１例としては、以下が考えられる。
【００９５】
【数５】
0005801185.tif 000006
【００９６】
但し、
ｎ：巡回作業員の人数、
Ｅｊ：巡回作業員ｊの巡回先の数、
Ｆｊ、ｇ：巡回作業員ｊのｇ番目に巡回する巡回先からｇ＋１番目に巡回する巡回先への移動時間、
である。
【００９７】
式（５）の技術的意義について説明する。式（５）は、巡回作業員の分担がエリアごとにまとまっているか否かを評価するために、住所エリア対応情報４０として登録されている固定的な情報ではなく、動的に評価する評価項目であると言える。式（５）によって、移動コスト情報８０を予め準備しなくても、巡回作業員を極力多方面に分散させておくことができる。
【００９８】
式（５）は前述の技術的意義を有するので、端末２の制御部１１が、最適化処理により式（５）を含む目的関数を最小化することによって、巡回作業員の分担を極力エリアごとにまとめる結果を得ることができる。これにより、特別な情報を準備することなく、巡回作業員を極力多方面に分散させておくことができる。ひいては、複数の巡回作業員に対して、巡回業務を効率的に分担することができる。
【００９９】
＜[４]約束時間の遵守度合を評価する項目＞
一般に、約束時間が遵守されている程、巡回業務を効率的に分担できていると言える。約束時間の遵守度合を評価する項目としては、約束時間を守れなかった件数に基づく値や、前述の約束時間非遵守５６（＝遅刻時間又は待機時間）に基づく値等が挙げられる。
【０１００】
尚、約束時間よりも先に到着してしまう場合の件数や、その場合の待機時間については、約束時間の非遵守と扱わないことも考えられる。つまり、約束時間を守れなかった件数は、約束時間に遅刻した件数のみをカウントし、約束時間非遵守５６は、遅刻時間のみとしても良い。
【０１０１】
端末２の制御部１１が、約束時間を守れなかった件数に基づく値や、遅刻時間に基づく値、又は遅刻時間及び待機時間に基づく値を含む目的関数を最小化することによって、約束時間を極力遵守する結果を得ることができる。ひいては、複数の巡回作業員に対して、巡回業務を効率的に分担することができる。
【０１０２】
＜[５]その他の項目＞
その他の項目としては、全ての巡回作業員の中で最も遅い作業終了時刻、残業時間の合計、アイドルタイムの合計等が考えられる。端末２の制御部１１が、これらの値を含む目的関数を最小化することによって、複数の巡回作業員に対して、巡回業務を効率的に分担することができる。
【０１０３】
前述した全ての評価項目は、どの評価項目同士であっても一緒に目的関数に含めることができる。つまり、目的関数は、前述した全ての評価項目の中で、１又は複数の評価項目を含むものである。
【０１０４】
＜変形例＞
以下では、変形例について説明する。例えば、巡回先（顧客）から巡回日が指定されていない件については、Ｓ５１における第２の算出手法（微修正ディスパッチ）と同様、空き時間がある巡回作業員に割り当てていくようにしても良い。
【０１０５】
また、自動車等の移動手段３３については、時間帯や地域ごとに、移動速度をＤＢ５に記憶しておき、最適化処理に反映するようにしても良い。これによって、頻繁に渋滞する時間帯や地域について、移動時間を精度良く算出することができる。
【０１０６】
また、作業種別２３が「ガスの開栓」の場合、巡回先（顧客）は引っ越し当日であることが多い。そこで、訪問時間帯の指定が「午前」（例えば、９時〜１２時）であれば、なるべく遅い時間（例えば、１１時〜１２時）に巡回するように割り当てても良い。これによって、実態に合わせた分担結果が得られる。
【０１０７】
以上、添付図面を参照しながら、本発明に係る巡回業務分担システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１０８】
１………巡回業務分担システム
２………端末
３………サーバ
４………巡回業務分担プログラム
５………データベース（ＤＢ）
６………ネットワーク
２０………巡回先情報
３０………巡回作業員制約情報
４０………住所エリア対応情報
５０………巡回表
８０………移動コスト情報
【図１】
0005801185.tif 000007
【図２】
0005801185.tif 000008
【図３】
0005801185.tif 000009
【図４】
0005801185.tif 000010
【図５】
0005801185.tif 000011
【図６】
0005801185.tif 000012
【図７】
0005801185.tif 000013
【図８】
0005801185.tif 000014