(57)【特許請求の範囲】
【請求項１】
業務の実施に際し所定の技能が要求される業務を、前記所定の技能を有する作業員に割当てる業務割当装置であって、
前記作業員に暫定的に割当てられた業務を格納した作業員割当表を参照し、特定の業務日に実施が予定されている全業務を抽出し、当該全業務の暫定的な割当てを解除し、
前記作業員のそれぞれが保有する技能を格納した作業員マスターを参照し、前記特定の業務日に業務に従事する作業員の中から、各検査員が有する技能数が少ない順に高く設定された優先度に従って業務割当対象となる作業員を抽出し、
前記特定の業務日に実施予定の業務であって、前記業務割当対象となる作業員が保有する技能により実施できる全業務を抽出し、当該全業務のそれぞれについて、各業務の実施前に前記作業員が滞在する直前滞在地から当該業務の実施地までの移動時間、及び前記業務の実施地から前記作業員が移動して滞在する直後滞在地までの移動時間、を加算した合計移動時間を算出し、
前記合計移動時間が最短となる業務を割当対象業務として抽出し、
前記割当対象業務を前記作業員が実施した場合の作業時間を、当該作業員の検査毎の熟練度及び当該作業員の随伴者の有無の少なくとも一つを基に設定された作業係数を用いて算出し、
前記作業時間と前記合計移動時間を基に、前記直後滞在地に到着する時刻である直後滞在地到着時刻を算出し、
前記直後滞在地到着時刻が、予め定められた、前記直後滞在地に前記作業員が到着すべき最も遅い時刻を示す直後滞在地制約時刻以前であれば、前記作業員に前記割当対象業務を割当てる処理を実行する制御部と、
前記制御部が前記作業員毎に割当てた業務を基に帳票を生成して出力する帳票出力部と、
を備えることを特徴とする業務割当装置。
【請求項２】
前記複数の技能としての第一技能及び第二技能を有する作業員に、前記特定の業務日の業務の割当てが終了すると、前記特定の業務日において前記業務割当対象となる前記第一技能を有する作業員の数、及び前記第二技能を有する作業員の数のそれぞれから一を減算する、
ことを特徴とする請求項１に記載の業務割当装置。
【請求項３】
前記制御部は、前記特定の業務日における前記業務割当対象となる作業員の業務時間を、当該作業員の総移動時間、総作業時間、及び休憩時間を加算した時間として求め、当該休憩時間は、取得することが必須である必須取得時間、及び任意に取得ができる任意取得時間を含み、
前記作業員が終点地に到着する時刻が、予め規定された業務の終了時刻よリも遅い場合、前記終了時刻以前に前記終点地に到着するように前記任意取得時間を短くする、
ことを特徴とする請求項１に記載の業務割当装置。
【請求項４】
前記帳票出力部は、地図情報に、前記作業員に割当てられた業務の実施地を巡回するルートを重畳した地図帳票を生成する、
ことを特徴とする請求項２に記載の業務割当装置。
【請求項５】
前記帳票出力部は、前記特定の業務日における、前記作業員に割当られた業務の巡回順序に沿った業務時間の内訳を示すタイムチャートを生成する、
ことを特徴とする請求項２又は３に記載の業務割当装置。
【請求項６】
前記制御部は、前記業務の実施の依頼を、当該業務の実施希望日と共に受け付け、
前記依頼があった業務の標準的な作業時間を算出し、
前記実施希望日から所定期間内に含まれる業務日毎に、前記依頼が有った業務を実施するために必要な技能を有する全作業員について、前記標準的な作業時間を基に前記依頼があった業務の実施の可否を判定し、その結果を示す空人数カレンダーを生成する、
ことを特徴とする請求項１乃至５のいずれか一つに記載の業務割当装置。
【請求項７】
前記制御部は、前記業務の実施の依頼を、当該業務の実施希望日及びその業務を実施する作業員の指名と共に受け付けると、前記暫定的な業務の割当ての解除を禁止する最適化ロック情報を付与し、
前記依頼が有った業務を前記作業員が実施するために必要な作業時間を算出し、
前記作業時間を用いて前記直後滞在地到着時刻を算出し、
前記直後滞在地到着時刻が、前記直後滞在地制約時刻以前であれば、前記作業員に前記依頼があった業務を暫定的に割当てて前記業務の実施依頼を受け付け、
前記割当対象業務を割当てる処理に際しては、前記最適化ロック情報が付与されていない暫定的な業務についてのみ、その暫定的な割り当てを解除し、前記割当対象業務を、移動時間を加味して割当てる処理を実行する、
ことを特徴とする請求項１乃至６のいずれか一つに記載の業務割当装置。
【請求項８】
業務の実施に際し所定の技能が要求される業務を、前記所定の技能を有する作業員に割当てる処理をコンピュータに実行させる業務割当プログラムであって、
前記作業員に暫定的に割当てられた業務を格納した作業員割当表を参照し、特定の業務日に実施が予定されている全業務を抽出し、当該全業務の暫定的な割当てを解除し、
前記作業員のそれぞれが保有する技能を格納した作業員マスターを参照し、前記特定の業務日に業務に従事する作業員の中から、各検査員が有する技能数が少ない順に高く設定された優先度に従って業務割当対象となる作業員を抽出し、
前記特定の業務日に実施予定の業務であって、前記業務割当対象となる作業員が保有する技能により実施できる全業務を抽出し、当該全業務のそれぞれについて、各業務の実施前に前記作業員が滞在する直前滞在地から当該業務の実施地までの移動時間、及び前記業務の実施地から前記作業員が移動して滞在する直後滞在地までの移動時間、を加算した合計移動時間を算出し、
前記合計移動時間が最短となる業務を割当対象業務として抽出し、
前記割当対象業務を前記作業員が実施した場合の作業時間を、当該作業員の検査毎の熟練度及び当該作業員の随伴者の有無の少なくとも一つを基に設定された作業係数を用いて算出し、
前記作業時間と前記合計移動時間を基に、前記直後滞在地に到着する時刻である直後滞在地到着時刻を算出し、
前記直後滞在地到着時刻が、予め定められた、前記直後滞在地に前記作業員が到着すべき最も遅い時刻を示す直後滞在地制約時刻以前であれば、前記作業員に前記割当対象業務を割当てる処理をコンピュータに実行させることを特徴とする業務割当プログラム。
【請求項９】
前記業務の実施の依頼を、当該業務の実施希望日及びその業務を実施する作業員の指名と共に受け付けると、前記暫定的な業務の割当ての解除を禁止する最適化ロック情報を付与し、
前記依頼があった業務を実施するために必要な技能を有する全作業員から、前記優先度に従って作業員を抽出し、
前記依頼が有った業務を前記作業員が実施するために必要な作業時間を算出し、
前記作業時間を用いて前記直後滞在地到着時刻を算出し、
前記直後滞在地到着時刻が、前記直後滞在地制約時刻以前であれば、前記作業員に前記依頼があった業務を暫定的に割当てて前記業務の実施依頼を受け付け、
前記割当対象業務を割当てる処理に際しては、前記最適化ロック情報が付与されていない暫定的な業務についてのみ、その暫定的な業務の割当てを解除し、前記割当対象業務を、移動時間を加味して割当てる処理を更にコンピュータに実行させることを特徴とする請求項８に記載の業務割当プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務割当装置に係り、特に所定の技能が要求される業務を、その技能を有する実施者に対し、各実施者の業務時間が最短となるように巡回ルートを設定して割当る技術に関する。
【背景技術】
【０００２】
所定の検査業務や保守点検業務では、各業務にそれを行うための技能、例えば国家資格や民間資格、また作業員の技術レベルが要求されることがある。例えば、建築物の検査には、耐震強度の検査、融資の適格性を判断するための検査、建築物の瑕疵担保責任の損害算定率を算出するための検査などの各種の検査があるが、これらの各検査を行うためには、それぞれの検査に必要な技能が規定されており、その技能を有する作業員を各建築物の所在地に派遣する必要がある。【０００３】
そこで、各業務に必要な資格を有する作業員に、当該作業員の巡回ルートを考慮しつつ、各業務を自動的に割当るシステムが提案されている（特許文献１参照）。特許文献１では、新たな予約を受けた業務の物件所在地が、既に割当てられているサービス員の巡回エリア内に入る場合は、そのサービス員を最適サービス員として抽出し、サービス対象物件を自動的に割当てることで、サービス員の巡回ルートを配慮しつつ、業務の自動割当を実現している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８―０３３４３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
巡回して作業を行うサービス員は、物件所在地間の移動時間及び作業時間の合計が業務時間として含まれる。この業務時間をより短縮化すれば、サービス員の業務負荷を軽減して業務の効率化が図れるとともに、残業時間の削減による業務コストの削減につながる。また、各サービス員レベルでの業務時間の短縮が積み重なることで、会社全体としての業務時間の短縮につながり、経営効率化に資することが期待できる。【０００６】
しかしながら、特許文献１によれば、既に設定されている巡回ルートを基準として、その巡回ルートと移動距離とを基に新たな業務を割当てるべき最適なサービス員を検索することはできても、異なるサービス員毎に設定された巡回ルートを見直して、サービス員全体としての最適な巡回ルートを設定するという思想はない。そのため、サービス員間で既に割当てられた業務を交換することで、実際には、より巡回ルートが短くなるということがありえることがあったとしても巡回ルートの改善は行われていなかった。【０００７】
本発明は、上記課題を考慮してなされたものであり、複数の作業員に対し、各作業員の業務時間を短縮化し、結果として全体の作業員の業務時間の短縮化を目指して業務の自動割当を行う技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、業務の実施に際し所定の技能が要求される業務を、前記所定の技能を有する作業員に割当る業務割当装置であって、前記作業員に暫定的に割当られた業務を格納した作業員割当表を参照し、特定の業務日に実施が予定されている全業務を抽出し、当該全業務の暫定的な割当を解除し、前記作業員のそれぞれが保有する技能を格納した作業員マスターを参照し、前記特定の業務日に業務に従事する作業員の中から、予め定められた優先度に従って業務割当対象となる作業員を抽出し、前記特定の業務日に実施予定の業務であって、前記業務割当対象となる作業員が保有する技能により実施できる全業務を抽出し、当該全業務のそれぞれについて、各業務の実施前に前記作業員が滞在する直前滞在地から当該業務の実施地までの移動時間、及び前記業務の実施地から前記作業員が移動して滞在する直後滞在地までの移動時間、を加算した合計移動時間を算出し、前記合計移動時間が最短となる業務を割当対象業務として抽出し、前記割当対象業務を前記作業員が実施した場合の作業時間を算出し、前記作業時間と前記合計移動時を基に、前記直後滞在地に到着する時刻である直後滞在地到着時刻を算出し、前記直後滞在地到着時刻が、予め定められた、前記直後滞在地に前記作業員が到着すべき最も遅い時刻を示す直後滞在地制約時刻以前であれば、前記作業員に前記割当対象業務を割当てる理を実行する制御部を備える、ことを特徴とする。【０００９】
これにより、優先度が高い作業員から順に、合計移動時間が最短となるように業務の自動割当が行える。作業員の業務時間に作業時間及び移動時間が含まれるとすると、移動時間を最短とするように業務を割当る結果、同一の業務時間であればより多くの業務を割当可能となる一方、同一の案件数であればより業務時間が短くなるように業務の割当が行える。そして、作業員が所属する組織としての業務時間を、各作業員の業務時間の合計と定義すると、各作業員の業務時間の最短化が図れる結果、組織全体としての業務時間の最短化を図ることができる。【００１０】
また、本発明に係る業務割当装置は、前記制御部が前記作業員に割当た業務を基に帳票を生成して出力する帳票出力部を更に備えてもよい。【００１１】
これにより、作業員に割当られた業務の可視化が行える。【００１２】
更に帳票出力部は、地図情報に、前記作業員に割当られた業務の実施地を巡回するルートを重畳した地図帳票を生成してもよい。【００１３】
これにより、特に作業員に割当られた業務の所在地の位置関係を可視化することができる。【００１４】
更に前記帳票出力部は、前記特定の業務日における各作業員に割当られた業務の巡回順序に沿った業務時間の内訳を示すタイムチャートを生成してもよい。【００１５】
更に前記制御部は、前記業務の実施の依頼を、当該業務の実施希望日と共に受け付け、前記依頼があった業務の標準的な作業時間を算出し、前記実施希望日から所定期間内に含まれる業務日毎に、前記依頼が有った業務を実施するために必要な技能を有する全作業員について、前記標準的な作業時間を基に前記依頼があった業務の実施の可否を判定し、その結果を示す空人数カレンダーを生成してもよい。【００１６】
これにより、依頼があった業務に必要な技能を有する作業員の空状況を提示することができる。この際、移動時間は考慮せず、作業時間の空状況を基に空状況を判定することにより、演算速度を向上され、より早く空状況の提示を行うことができる。その結果、業務依頼を行った顧客が、空状況を確認するための待ち時間を減らすことができる。【００１７】
更に前記制御部は、前記業務の実施の依頼を、当該業務の実施希望日と共に受け付け、前記依頼があった業務を実施するために必要な技能を有する全作業員から、予め定められた優先度に従って作業員を抽出し、前記依頼が有った業務を前記作業員が実施するために必要な作業時間を算出し、前記作業時間を用いて前記直後滞在地到着時刻を算出し、前記直後滞在地到着時刻が、前記直後滞在地制約時刻以前であれば、前記作業員に前記依頼あった業務を暫定的に割当てて前記業務の実施依頼を受け付け、前記割当対象業務を割当てる処理に際しては、前記暫定的な業務の割当てを解除し、前記割当対象業務を割当てる処理を実行してもよい。【００１８】
これにより、業務依頼を受け付けた際に、作業時間及び移動時間を考慮して作業員に暫定的に業務を割当てることができる。この暫定的な割当てに際しては、依頼が有った業務の指定時間に作業時間相当の空時間があるか、また指定時間がない場合には依頼が有った業務の実施希望日に作業時間相当の空時間があるかを判断すればよいので、比較的に演算量が少なくて済み、業務依頼の受付の可否をより速く応答することができる。【００１９】
また本発明は、業務の実施に際し所定の技能が要求される業務を、前記所定の技能を有する作業員に割当てる処理をコンピュータに実行させる業務割当プログラムであって、前記作業員に暫定的に割当てられた業務を格納した作業員割当表を参照し、特定の業務日に実施が予定されている全業務を抽出し、当該全業務の暫定的な割当てを解除し、前記作業員のそれぞれが保有する技能を格納した作業員マスターを参照し、前記特定の業務日に業務に従事する作業員の中から、予め定められた優先度に従って業務割当対象となる作業員を抽出し、前記特定の業務日に実施予定の業務であって、前記業務割当対象となる作業員が保有する技能により実施できる全業務を抽出し、当該全業務のそれぞれについて、各業務の実施前に前記作業員が滞在する直前滞在地から当該業務の実施地までの移動時間、及び前記業務の実施地から前記作業員が移動して滞在する直後滞在地までの移動時間、を加算した合計移動時間を算出し、前記合計移動時間が最短となる業務を割当対象業務として抽出し、前記割当対象業務を前記作業員が実施した場合の作業時間を算出し、前記作業時間と前記合計移動時間を基に、前記直後滞在地に到着する時刻である直後滞在地到着時刻を算出し、前記直後滞在地到着時刻が、予め定められた、前記直後滞在地に前記作業員が到着すべき最も遅い時刻を示す直後滞在地制約時刻以前であれば、前記作業員に前記割当対象業務を割当てる処理をコンピュータに実行させることを特徴とする。【００２０】
これにより、優先度が高い作業員から順に、合計移動時間が最短となるように業務の自動割当が行える。作業員の業務時間に作業時間及び移動時間が含まれるとすると、移動時間を最短とするように業務を割当てる結果、同一の業務時間であればより多くの業務を割当可能となる一方、同一の案件数であればより業務時間が短くなるように業務の割当てが行える。そして、作業員が所属する組織としての業務時間を、各作業員の業務時間の合計と定義すると、各作業員の業務時間の最短化が図れる結果、組織全体としての業務時間の最短化を図ることができる。【００２１】
更に、前記業務の実施の依頼を、当該業務の実施希望日と共に受け付け、前記依頼があった業務を実施するために必要な技能を有する全作業員から、予め定められた優先度に従って作業員を抽出し、前記依頼が有った業務を前記作業員が実施するために必要な作業時間を算出し、前記作業時間を用いて前記直後滞在地到着時刻を算出し、前記直後滞在地到着時刻が、前記直後滞在地制約時刻以前であれば、前記作業員に前記依頼があった業務を暫定的に割当てて前記業務の実施依頼を受け付け、前記割当対象業務を割当てる処理に際しては、前記暫定的な業務の割当てを解除し、前記割当対象業務を割当てる処理を更にコンピュータに実行させてもよい。【００２２】
これにより、業務依頼を受け付けた際に、作業時間及び移動時間を考慮して作業員に暫定的に業務を割当てることができる。この暫定的な割当てに際しては、依頼が有った業務の指定時間に作業時間相当の空時間があるか、また指定時間がない場合には依頼が有った業務の実施希望日に作業時間相当の空時間があるかを判断すればよいので、比較的に演算量が少なくて済み、業務依頼の受付の可否をより速く応答することができる。
【発明の効果】
【００２３】
本発明によれば複数の作業員に対し、各作業員の業務時間を短縮化し、結果として全体の作業員の業務時間の短縮化を目指して案件の自動割当を行うことができる。
【図面の簡単な説明】
【００２４】
【図１】本実施形態に係る予定表生成システムの概要を示す図
【図２】予定表生成装置の機能ブロックを示すブロック図
【図３】最適化の前後でルートが変更された例を示す図であり、（ａ）は最適化処理前のルートを示し、（ｂ）は最適化処理後のルートを示す。
【図４】図３の最適化の前後でタイムチャートが変更された例を示す図であり、（ａ）は最適化処理前のタイムチャートを示し、（ｂ）は最適化処理後のタイムチャートを示す。
【図５】検査員マスターの構成を示す図
【図６】検査員カレンダーを示す図
【図７】検査員割当表を表示した画面表示例を示す図
【図８】予約表生成システムの動作手順を示すフローチャート
【図９】ログイン画面を示す図
【図１０】検査予約画面を示す図
【図１１】空人数カレンダーを示す図
【図１２】予定表画面を示す図
【図１３】地図帳票を示す図であって、（ａ）は手動調整前、（ｂ）は手動調整後を示す。
【図１４】地図帳票を示す図であって、（ａ）は手動調整前、（ｂ）は手動調整後を示す。
【図１５】空人数カレンダー生成処理の前半の処理を示すフローチャート
【図１６】空人数カレンダー生成処理の後半の処理を示すフローチャート
【図１７】仮割当処理を示すフローチャート
【図１８】移動時間算出処理を示す図
【図１９】最適化処理の全体の処理の流れを示すフローチャート
【図２０】検査員（Ｘ１）についての最適化処理の詳細を示すフローチャート
【発明を実施するための形態】
【００２５】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態では、建築物の検査の予約受付及び検査員の予定表（検査予定表という）の作成を行う予定表生成システムに本発明に係る業務割当装置を適用した例を挙げて説明する。そして、以下の説明では業務を「検査」といい、その検査を実施する作業員を「検査員」という。更に、ある検査を実施するために必要な技能を「資格」という。また、１回の予約内容を「案件」と呼び、一つの案件に複数の検査が含まれることがある。
【００２６】
図１は、本実施形態に係る予定表生成システムの概要を示す図である。図１に示すように、本実施形態に係る予定表生成システム１は、建物検査を行う検査会社において、検査予定表を生成する予定表生成装置１０と、検査会社に対して検査依頼を行う顧客が操作する予約端末４０とが、インターネットなどの公衆回線網（ネットワーク）３０を介して有線又は無線接続されて構成される。更に、本実施形態では検査会社に属する各検査員が操作する携帯端末２１と、公衆回線網３０に接続された基地局３１とが、無線接続される。そして、予定表生成装置１０から携帯端末２１に対し、その携帯端末２１を使用する検査員の予定表が送信され、携帯端末２１の画面に表示される。
【００２７】
予定表生成装置１０は、一般的なサーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置と同様の構成に加えて、生成した帳票を出力するための出力装置を有する。即ち、本実施形態に係る予定表生成装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、記憶装置１３、ネットワークＩ／Ｆ（ＩｎｔｅｒＦａｃｅ）１４、出入力Ｉ／Ｆ１５がバス１６を介して接続されている。
【００２８】
ＣＰＵ１１は演算手段であり、予定表生成装置１０全体の動作を制御する。ＲＡＭ１２は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１１が情報を処理する際の作業領域として用いられる。
【００２９】
記憶装置１３には、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及びＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）が含まれる。ＲＯＭは、読み出し専用の不揮発性記憶媒体である。また、ＨＤＤは、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納されている。更にＨＤＤには、本実施形態において特徴的な検査員マスター、検査員カレンダー、及び検査員割当表が格納されるとともに、これらのデータを参照して、検査を自動割当するとともに、それに基づく帳票を生成する業務割当プログラムが格納される。上記の各種データ及び業務割当プログラムの詳細については後述する。
【００３０】
ネットワークＩ／Ｆ１４は、バス１６を介して各種のハードウェアと公衆回線網（ネットワーク）３０とを接続し制御する。
【００３１】
出入力Ｉ／Ｆ１５は、バス１６を介して各種のハードウェアと、入力装置１７、モニタ１８、及びプリンタ１９とを接続し制御する。入力装置１７は、キーボードやマウス等、ユーザが予定表生成装置１０に情報を入力するためのユーザインターフェースである。モニタ１８は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの装置を用いて構成され、ユーザが予定表生成装置１０の状態やそれが生成した帳票を確認するための視覚的ユーザインターフェースである。プリンタ１９は、予定表生成装置１０が生成した帳票を紙媒体に印刷する出力装置である。モニタ１８及びプリンタ１９は、携帯端末２１と同様、予定表生成装置１０が生成した帳票の出力先となる。
【００３２】
このようなハードウェア構成において、ＲＯＭやＨＤＤ若しくは図示しない光学ディスク等の記録媒体に格納された業務割当プログラムがＲＡＭ１２に読み出され、ＣＰＵ１１の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る予定表生成装置１０の機能を実現する機能ブロックが構成される。
【００３３】
次に図２に基づいて、予定表生成装置１０の機能ブロックについて説明する。図２は、予定表生成装置の機能ブロックを示すブロック図である。予定表作成装置１０は、データ記憶部１０７、帳票出力部１０８、及び制御部１１０を含む。制御部１１０は、予約受付部１０１、移動時間算出部１０２、作業時間算出部１０３、空人数カレンダー生成部１０４、仮割当処理部１０５、及び最適化処理部１０６を含む。
【００３４】
予約受付部１０１は、予約端末４０から案件の予約内容を含む検査予約情報を受け付けると、その案件に対応できる検査員がいるか否かを判断し、判断結果を予約端末４０に返信する。更に、予約受付部１０１は、予約された案件に対応できると判断した検査員に当該案件の仮割当を行う。ここでいう「案件」とは、ある建物への１回の訪問機会で行う１つ又は複数の検査を総称したものである。例えば、１つの案件に検査ａのみを含む場合と、検査種別が異なる複数の検査、例えば検査ａ及び検査ｂを含む場合と、がある。また「割当て」とは、検査予約情報の受付時に移動時間及び作業時間を基に、検査員に空きがあるか否かを判断し、空きがあると判断した場合に、その検査員を当該案件の担当者として暫定的に割当てることをいう。ここでの割当ては、後述する最適化処理の際に一旦解除される。そして、改めて移動時間が最短になるように業務の割当処理を行い、実際に当該案件を担当する検査員を決定する。このように、業務を実際に担当する検査員に割当てる処理を「本割当処理」という。後述する「最適化処理」とは、業務の本割当処理を行うことをいう。
【００３５】
移動時間算出部１０２は、検査員が異なる二点間を移動する際の移動時間、及び到着時刻を算出する。移動時間算出部１０２は、下式（１）に示すように、一方の地点（以下「出発地」という）、他方の地点（以下「到着地」という）、及び移動手段を変数として移動時間を算出する。
【００３６】
移動時間＝ｆ（出発地、到着地，移動手段）・・・（１）
式（１）における出発地、到着地は、移動時間算出部１０２が後述する検査員マスターに登録された出発地、終点地、及び検査予約情報に含まれる物件所在地を基に算出する。また移動手段として公共交通機関が選択されているときには、移動時間算出部１０２は、出発地、到着地の各住所を基にそれぞれの最寄駅を探索し、移動時間が最短となるルートを検索する。ルートの検索条件、すなわち、式（１）の変数に移動費用を含め、移動費用が最安となる条件でルートを検索し、移動時間を算出してもよい。また、移動手段として車両が選択されている場合には、出発地、到着地の各住所を基に自動車ルートを検索し、その移動時間を算出してもよい。
【００３７】
作業時間算出部１０３は、各案件に含まれる検査単位で、その検査を実施する際の所要時間を作業時間として算出する。作業時間は、検査の種別、検査の対象物件の構造、用途、延床面積などによって異なる。そこで、作業時間算出部１０３は、下式（２）に示すように、検査の種別毎に、構造、用途、延床面積を変数とする作業時間算出関数を予め備えておく。そして、各案件に含まれる検査の種別に応じた関数を選択し、それに対象物件の構造、用途、延床面積をあてはめて作業時間を算出する。
【００３８】
作業時間＝ｇａ（ｘ、ｙ、ｚ）・・・（２）
但し、
ｇａ：検査種別が検査ａであるときの作業時間算出関数
ｘ：対象物件の構造
ｙ：用途
ｚ：延床面積
変数ｘ、ｙ、ｚは一例であって、変数の種類及び数はこれらに限定されない。
【００３９】
１つの案件に複数の検査、例えば検査ａ及び検査ｂが含まれる場合には、各検査に対応した作業時間算出関数を選択し、検査毎に作業時間を算出する。そして、検査ａについての作業時間及び検査ｂについての作業時間を加算して、当該案件についての総作業時間を算出する。なお、作業時間の算出に際して、加算は一例にすぎず、作業時間が最長のものを選択したり、各種計算式や条件を付けることもできる。
【００４０】
更に、同一の検査であっても、検査員の熟練度や、検査員の随伴者の有無によって作業時間は異なる。そこで、作業時間の長短に関与する検査員の属性を、作業係数として予め規定しておき、これを用いて作業時間を算出してもよい。この場合の作業時間算出関数は式（３）と表せる。
【００４１】
作業時間＝ｇａ（ｘ、ｙ、ｚ）×α・・・（３）
但し、
ｇａ：検査種別が検査ａであるときの作業時間算出関数
ｘ：対象物件の構造
ｙ：用途
ｚ：延床面積
α：検査員毎に定められた作業係数
ここでいう作業係数αとは、検査員の熟練度やその検査員の随伴者の有無を勘案して決められる係数である。作業係数の値は、モデル検査員の熟練度を１．０と想定し、熟練度がそれよりも高い検査員の場合は、同一作業をより短時間で行うことが可能となるので、作業係数を１．０よりも低く設定する。一方、熟練度がモデル検査員よりも低い検査員は、作業係数を１．０よりも高い値に設定する。更に、検査員に随伴者がある場合、例えば、当該検査員には必ず補助者、例えば、研修中の検査員や運転手など、単独では作業を行わず、作業係数が一定以上の者と行動を共にする者が同伴する場合には、同伴者が検査時の補助業務を行うことで、検査員が単独で検査を実施する場合に比べてより短時間で行うことが可能となる。そのため、作業係数を１．０よりも低い値を用いて設定する。
【００４２】
作業係数αは、作業員単位で設定してもよいし、さらに細かく、各作業員の検査単位で細分化して設定してもよい。例えば、検査員甲は、業務年数が比較的長いことから検査員単位で０．７と設定してもよい。また、検査ａについては熟練度が相対的に高いので０．７、検査ｂについてはモデル検査員と同程度であるので１．０と設定してもよい。
【００４３】
空人数カレンダー生成部１０４は、予約端末４０から受け付けた検査依頼情報を基に、所定期間内の各日毎に検査依頼情報に含まれる検査を行える検査員の空人数を示す一覧表（以下「空人数カレンダー」という）を生成する。
【００４４】
仮割当処理部１０５は、予約端末４０から検査予約を受け付けると、検査依頼情報に含まれる検査日時に予定が入っていない検査員に対し、検査を割当てる処理を行う。ここでの検査の割当ては当該検査の暫定的なものであり、後日、後述する最適化処理を行うことで、各検査を実際に行う検査員に割当てる。
【００４５】
最適化処理部１０６は、ある業務日において仮割当された全案件を、各検査員単位の業務時間が最短となり、その結果検査会社全体としての業務時間が最短となるように、再度の割当処理（本割当処理）を行う。ここでいう「業務時間」とは、総移動時間及び総作業時間を加算した時間を意味する。
【００４６】
検査員単位の業務時間は、最適化処理の対象となる日において、各検査員が業務を開始する時間から終点地に到着するまでの時間をいう。検査会社全体としての業務時間は、最適化処理の対象となる日における各検査員単位の業務時間の総和により求める。上記業務時間には、休憩時間を含んでもよいし、そうでなくてもよい。例えば検査員全員が同一の休憩時間を毎日取得するように固定的である場合には、休憩時間の長短が業務時間に影響しないので、これを含まずに業務時間を算出してもよい。
【００４７】
一方、休憩時間が必須取得時間と取得が任意である任意取得時間との合計として定義され、移動時間及び作業時間との兼ね合いで任意取得時間が日によって異なる場合には、休憩時間の長さが業務時間に影響を及ぼすので、業務時間に休憩時間を含んで算出してもよい。例えば、休憩時間の最大値が１時間と定められており、必須取得時間が３０分、任意取得時間が３０分であるとする。この場合、休憩時間を１時間取得しても、終点地の到着する時刻が検査員マスターで規定された終了時刻よりも前であれば休憩時間を１時間取得してもよい。一方、終点地に到着する時刻が１５分ほど遅くなると算出される場合には、総休憩時間を４５分に設定してもよい。この休憩時間の長さの調整は、最適化処理部１０６が本割当をする際に行ってもよい。
【００４８】
本実施形態では、各検査員単位の業務時間を最短とするために、総移動時間が最短となるように本割当処理を行う。そして、各検査員単位の業務時間が最短となる結果、会社全体の業務時間が最短となるように業務の割当てを行う。
【００４９】
図３及び図４に基づいて、最適化処理の概念について説明する。図３は、最適化の前後でルートが変更された例を示す図であり、（ａ）は最適化処理前のルートを示し、（ｂ）は最適化処理後のルートを示す。また、図４は、図３の最適化の前後でタイムチャートが変更された例を示す図であり、（ａ）は最適化処理前のタイムチャートを示し、（ｂ）は最適化処理後のタイムチャートを示す。
【００５０】
仮割当処理部１０５により案件が仮割当てされた状態を図３の（a）に示す。仮割当処理では、検査員甲は、出発地→第１案件の物件所在地→第２案件の物件所在地→第３案件の物件所在地→終点地の順に巡回する。このときの検査員甲の業務時間は、図４の（ａ）に示すように、８時に出発地を出発し、１７時３０分に終点地に到着する。この場合、検査員甲の業務時間は９時間３０分となる。一方、検査員乙は、仮割当ての状態において、８時に出発地を経ち、出発地→第４案件の物件所在地→第５案件の物件所在地→第６案件の物件所在地→終点地の順に巡回し、１７時３０分に終点地に到着するとする（図３の（a）、図４の（ａ）参照）。この場合の検査員乙の業務時間も９時間３０分となる。そして、検査会社に検査員甲、乙の両名しかいないとすると、検査会社全体としての業務時間は、１９時間（９時間３０分＋９時間３０分）となる。
【００５１】
ここで第１案件の物件所在地は検査員甲の出発地よりも検査員乙の出発地に相対的に近く、第４案件の物件所在地は検査員乙の出発地より検査員甲の出発地に相対的に近いとする。そこで、検査員甲に仮割当てされた第１案件と、検査員乙に仮割当てされた第４案件と、を交換して再割当てする。その結果、図３の（ｂ）に示すように、検査員甲は、出発地から第４案件に向かう。次いで、第４案件には、第２案件よりも第３案件が近いので、第４案件から第３案件に向かい、次いで、第２案件へ向かう。従って、最適化後は、検査員甲は、出発地→第４案件→第３案件→第２案件→終点地と巡回する。その結果出発地から第４案件までの移動時間、及び第４案件から第３案件までの移動時間はそれぞれ３０分に短縮されるとする（図４の（ｂ）参照）。
【００５２】
ここで、検査員甲の作業係数が１．５、検査員乙の作業係数が１．０であるとすると、検査員乙が１時間の作業時間を要する第４案件は、検査員甲は１．５時間（１時間×１．５）を要する。従って、最適化後の検査員甲のタイムチャートは、図４の（ｂ）に示すように、８時に出発地を出てから１６時３０分に終点地に到着し、業務時間は８時間３０分となる。よって、検査員甲は、最適化処理により業務時間が１時間短縮される。
【００５３】
一方、検査員乙は、図３の（ｂ）に示すように、出発地→第１案件→第５案件→第６案件→終点地と巡回する。出発地から第１案件までの移動時間、及び第１案件から第５案件までの移動時間はそれぞれ３０分に短縮されるとする。また、検査員甲が１．５時間の作業時間を要する第１案件は、検査員乙は１時間（１．５時間÷１．５）で作業を終えることができる。従って、最適化後の検査員乙のタイムチャートは、図４の（ｂ）に示すように、８時に出発地を出てから１６時３０分に終点地に到着し、業務時間は８時間３０分となる。よって、検査員乙も、最適化処理により業務時間が１時間短縮される。その結果、会社全体としては、２時間（１時間×２）の業務時間の短縮化が図れる。
【００５４】
上記のように案件の本割当処理を行い、検査員単位及び会社全体としての業務時間の更なる短縮化ができなくなった状態を、最適化が図れた状態という。
【００５５】
最適化の他の例として、ある案件に検査種別が異なる複数の検査、検査ａ及び検査ｂが含まれるとする。そして、検査員甲は検査ａを行う技能しか有しておらず作業係数は１．５であり、この案件における検査ａの作業時間は１．５時間であるとする。検査員丙は、検査ｂを行う技能しか有しておらず、作業係数は０．７５であり、検査ｂの作業時間は１．５時間であるとする。この場合、検査員甲、丙の総作業時間は３時間となる。
【００５６】
上記の案件では、検査員甲、丙の両名を派遣する必要があるので検査員甲、丙の各々の直前滞在地から当該物件所在地に移動するまでの時間が１時間、当該物件所在地から直後滞在地までの移動時間が１時間とすると、両名の移動時間の合計は４時間となる。よって会社全体としての上記案件の処理に要する業務時間は、作業時間が３時間、移動時間が４時間の合計７時間となる。
【００５７】
ここで、検査員乙は、検査ａ，ｂの両方を行う技能を有しており、作業係数が１．０と規定されているとする。検査員乙が上記検査ａを行った場合の作業時間は１時間（１．５時間÷１．５）、検査ｂを行った場合の作業時間は２時間（１．５÷０．７５）となる。      
【００５８】
一方、検査員乙の直前滞在地からこの案件の物件所在地までの移動時間が１時間、当該物件所在地から直後滞在地までの移動時間が１時間とすると、総移動時間は２時間となる。検査員乙は単独で当該案件を処理できるので、検査員乙がこの案件を単独で処理した場合、作業時間が３時間、移動時間が２時間となり、合計５時間が会社全体のこの案件についての業務時間となる。従って、この例では、検査員が有する技能数を考慮にいれて本割当を行うことで、総作業時間が同じであっても、派遣する検査員の人数が異なる結果、総移動時間を短縮することができる。また、一般に派遣する検査員数が少ないほど、移動費用は安価になる。
【００５９】
このように、最適化を行う際の着目要素は、移動時間、作業時間、一つの案件に派遣する検査員数、及び移動費用の少なくとも一つ以上を適宜組み合わせて行える。
【００６０】
データ記憶部１０７は、予定表の作成に必要な各種データを固定的に格納する。具体的には、各検査員の属性を規定した検査員マスター、各検査員に仮割当された案件及び各検査員の休暇（日単位、及び時間単位の休暇を含む）等の検査以外の予定であって案件の割当てを行えない日時を記憶した検査員カレンダー、及び各検査員に割当てられた案件を記憶する検査員割当表を格納する。更に、顧客をユニークに識別する顧客識別情報と顧客が定めたログインパスワードとを関連付けて規定する顧客データを格納してもよい。以下、図５乃至図７に基づいて、データ記憶部１０７に格納されるデータの一例について説明する。図５は、検査員マスターの構成を示す図である。図６は、検査員カレンダーを示す図である。図７は、検査員割当表を表示した画面表示例を示す図である。
【００６１】
図５に示す検査員マスター１５１は、検査会社に所属する検査員の属性を記録したデータベースである。より具体的には、検査員マスター１５１は、検査員を固有に識別可能な検査員識別情報（例えば「検査員氏名」）、検査員の「出発地」、「終点地」、「自動割当」、検査員が保有している「技能」（例えば資格名や業務種類）、「作業係数」、「出発時刻」、及び「終了時刻」が互いに関連づけられて規定されている。「出発地」及び「終点地」は、各検査員の自宅であってもよいし、検査員が所属する営業所であってもよい。「自動割当」は、仮割当処理部１０５及び最適化処理部１０６により案件の仮割当及び本割当を行う際に、自動的に仮割当及び本割当をする対象となる検査員であるか否かを判別するためのフラグを収容するフィールドである。本フィールドでフラグがない（○がない）検査員は、手動割当のみを行う検査員であり、例えば繁忙期のみ勤務する検査員や、保有する技能を複数有する者である。
【００６２】
更に検査員マスター１５１では、「技能ａ」、「技能ｂ」、及び「技能ｃ」の３つの技能の有無を規定しているが、技能の種類数はこれに限定されない。「技能」の具体例として、例えば建築検査会社では、構造物の強度検査を行うための資格、瑕疵担保責任や損害保険の算定率を算出するための資格、住宅金融公庫からの借り受けの適格性を判断するための資格等、様々な検査がある。「作業係数」は、既述の式（３）で用いた作業係数と同じものである。また、「技能」は作業員の属性を兼ねてもよく、例えば作業員の体型情報（細身、小柄であるか否かなど）を含んでもよい。これにより、作業口や作業箇所が相対的に狭い物件には、細身や小柄な作業員を優先的に割当てるようにしてもよい。この場合、後述する図１０の検査予約画面において、細身や小柄な作業員を指定できる欄を設けてもよい。
【００６３】
「出発時刻」は「出発地」を発つ最も早い時刻、「終了時刻」は「終点地」に到着する最も遅い時刻である。なお、検査員マスター１５１において、検査員戌の「技能ｃ」に「補助員（丁）」と規定されているが、これは、検査員戌が検査員丁の補助員として常に検査員丁と同行することを示す。検査員丁は、作業時に検査員戌が検査補助をすることでより短時間で作業を終えることができる。そこで、検査員丁の「作業係数」は、０．７とする。また検査員戌は、技能（資格）を有さない、いわば補助者であるので、「作業係数」は、０と規定する。補助員は静的（固定でマスターに登録されるもの）または動的なものがある。動的な場合は、検査員割当表１５３でペアを割当てることができる。
【００６４】
検査員カレンダーは、検査員毎に作成される。図６は、検査員甲の２０１３年５月の検査員カレンダー１５２を示している。各検査員は、自身の検査員カレンダー１５２に検査以外の予定が入っている時間帯を予め登録しておく。ここで登録された時間帯は、案件の仮割当及び本割当てがされない。空人数カレンダーの人数からも減らされる。また、案件が自動割当されると、検査員カレンダー１５２におけるその時間帯に「仮割当」と記入される。なお、図６では、「仮割当」と記入されているが、仮割当された案件をユニークに識別可能な情報（例えば案件番号）を記入してもよい。更に、最適化処理部１０６により本割当てが行われると、本割当てをされた案件が検査員カレンダー１５２に登録される。図６の検査員カレンダー１５２では、５月１日から５月３日までは、後述する最適化処理により検査員甲に本割当てられた案件名及びその作業時間が規定されている。また、５月１０日には「講習」、５月１２日には「休日」が登録されており、これらの日時には案件の仮割当て、及び本割当てが行われない。検査員カレンダー１５２に記載された各予定にマウスカーソルを合わせると、各予定の詳細情報がポップアップ表示されるように構成されてもよい。
【００６５】
図７の検査員割当表１５３は、仮割当処理部１０５が仮割当した案件の詳細情報と、検査員識別情報とを関連付けて格納したものである。図７は、２０１３年５月７日に各検査員に割当てられた案件を格納した検査員割当表１５３をモニタ１８の画面に表示した状態を示す。画面には、検査員割当表１５３とともに、最適化処理を実行する指示を入力するための最適化ボタン１５４が表示される。
【００６６】
検査員割当表１５３は、検査員を固有に識別可能な「検査員名」、各案件の作業の「開始時刻」、各案件を固有に識別する「案件番号」、最適化処理の対象から外す案件を特定するためのフラグを収容する「最適化ロック」、案件の対象となる物件の住所地が格納される「物件所在地」、各案件に含まれる検査種別を格納する「検査種別」、物件の属性として「構造物種類」（式（３）における対象物件の構造に相当する）、「用途」、及び「延床面積」を格納する各フィールドを有する。このうち、「案件番号」は、予約受付部１０１が予約端末４０から検査予約情報を受信した順に自動発番して入力する。また、仮割当処理部１０５は、仮割当を行った際に算出した各案件の作業開始時刻を登録する。
【００６７】
「最適化ロック」は、最適化ボタン１５４を操作して、最適化処理部１０６が最適化処理を行う際に、「最適化ロック」にフラグが収容されている案件については本割当の対象から除外する、すなわち、「最適化ロック」にフラグが入力されている第５案件は、既に検査員乙に本割当されていることを示す。「最適化ロック」へのフラグの入力は、例えば、顧客が検査員を指名する場合など、必要に応じて操作者が手動で入力する。
【００６８】
検査員割当表１５３の「物件所在地」、「検査種別」、「構造物種類」、「用途」、及び「延床面積」は、予約受付部１０１が予約端末４０から受信した検査依頼情報を基に取得し、更新保存する。検査依頼情報は予約端末４０から受信する態様の他、予定表生成装置１０に連動又は接続された、検査依頼情報を格納した自社システムから取得してもよい。なお、図７では省略するものの、検査員割当表１５３にマンション名などの「物件名」を入力するフィールドや、「建築確認番号」を入力するフィールドを設けてもよい。建築中で正式な物件名が定まっていない場合には、建築確認番号が案件の対象となる物件を固有に識別する情報として有用である。
【００６９】
上記検査員マスター１５１、検査員カレンダー１５２、及び検査員割当表１５３のデータ構造は一例にすぎず、正規化を行って異なる構造となってもよい。また、更なる詳細なデータを付加してもよい。また、データ記憶部１０７には、予定表生成システム１の動作中に表示される各種画面のテンプレートが保存される。
【００７０】
本実施形態に係る予定表生成システム１は、検査依頼を受け付けて、検査員の空状況を表示する空人数カレンダー生成処理と、検査員に暫定的に検査を割当てる仮割当処理と、特定の業務日の案件を検査員に割当てる最適化処理と、を実行する。このうち、空人数カレンダー生成処理及び仮割当処理では、処理結果を予約端末４０により速く表示することを優先し、最適化処理では、表示速度よりも業務時間の最短化が図れる業務割当処理を実行することを優先する。そこで、予約表生成システム１が予約端末から検査依頼を受け付けてから本割当を行うまでの一連の処理において、上記各処理が実行される順を、図８乃至図１４を基に説明する。図８は、予約表生成システムの動作手順を示すフローチャートである。図９は、ログイン画面を示す図である。図１０は、検査予約画面を示す図である。図１１は、空人数カレンダーを示す図である。図１２は、予定表画面を示す図である。図１３は、地図帳票を示す図であって、（ａ）は手動調整前、（ｂ）は手動調整後を示す。図１４は、地図帳票を示す図であって、（ａ）は手動調整前、（ｂ）は手動調整後を示す。以下、図８の各ステップ順に沿って説明する。
【００７１】
図８に示すように、予約表生成システム１を動作させるに先立ち、事前準備を行う（Ｓ８０１）。予約表生成装置１０のデータ記憶部１０７に検査員マスター１５１及び検査員カレンダー１５２を格納し、必要事項を登録しておく。更に検査員割当表１５３のフォーム、その他、随時表示される画面を予め生成しデータ記憶部１０７に格納しておく。また、本実施形態では図示を省略するものの、例えば建築事務所のような検査依頼を行う者（以下「顧客」という）と検査会社との間の取引事項を記録した顧客マスター（顧客を固有に識別するユーザＩＤ、ログインパスワード等を格納するテーブル）を生成しておき、データ記憶部１０７に格納しておく。
【００７２】
顧客が操作する予約端末４０から公衆回線網３０を経由して検査会社のＨＰにアクセスし（Ｓ８０２）、予約受付部１０１からログイン画面を取得する（Ｓ８０３）。図９のログイン画面１６０は、顧客を固有に識別する「ユーザＩＤ」の入力欄１６１、「ログインパスワード」の入力欄１６２、及びログインボタン１６３を備える。顧客が予約端末４０の画面上でユーザＩＤ及びログインパスワードを入力してログインボタン１６３を操作すると、予定表生成装置１０にそれらのログイン情報が送信される（Ｓ８０４）。ログイン画面１６０には、初めて検査依頼を行う顧客に対し、顧客登録をさせるための操作ボタン１６４を備えてもよい。この操作ボタン１６４が操作されると、予約受付部１０１は、顧客情報を入力するための画面を予約端末４０に送信し、その画面で登録された情報を顧客マスターに登録する。
【００７３】
予約受付部１０１がログイン情報及び顧客マスターを参照し、顧客の認証処理を行う（Ｓ８０５）。認証処理が成功すると、予約受付部１０１から予約端末４０に検査予約画面１７０が送信される（Ｓ８０６）。
【００７４】
図１０に示す検査予約画面１７０には、検査対象となる物件の「物件名」入力欄１７１、「物件所在地」入力欄１７２、「検査種別」入力欄１７３、検査対象となる「建築物の構造」入力欄１７４、「建築物の用途」入力欄１７５、「延床面積」入力欄１７６、「希望日時」選択ボタン１７７、細身の作業員を指定するためのチェックボックス１７８、及び「送信」ボタン１７９が含まれる。顧客が検査予約画面に必要事項を入力し、「送信」ボタン１７９を操作すると、入力された予約内容を示す情報（以下「検査依頼情報」という）が予約表生成装置１０に送信される（Ｓ８０７）。なお、図１０では、「希望日時」ボタン１７７で空人数カレンダーを表示する。
【００７５】
空人数カレンダー生成部１０４は、検査依頼情報を基に検査員マスター１５１及び検査員カレンダー１５２を参照し、所定の期間、例えば２か月先までの検査依頼情報に対応できる検査員の有無を判定し、その結果を示す空人数カレンダーを生成し（Ｓ８０８）、予約端末４０に送信する（Ｓ８０９）。図１１の（ａ）に示す空人数カレンダー１８０ａは、２０１３年５月及び６月の２か月間における検査ａを行える検査員の空き情報を示す。「終」は、検査依頼の受付を締め切った日を示し、各日欄内の数字は自動割当可能な検査員の残数を示し、「△」は、手動割当が可能な検査員がいることを示し、「×」は対応できる検査員がいないことを示す。「希望時間」選択ボタン１８１のリスト表示ボタン（図中の三角形のボタン）を選択するように構成したが、任意の時間帯を入力できるように構成してもよい。また、リスト表示ボタン内に「指定なし」の項目を備えることにより、時間指定をしない予約態様も可能となる。図１１の（ａ）では、「希望時間」選択ボタン１８１において「９：００〜１１：００」が指定された場合の空人数カレンダー１８０ａを示す。空人数カレンダー１８０ａ内の希望時間表示欄１８１の時間を変更することで、他の時間帯の検査員の空状況の表示も行える。例えば、図１１の（ｂ）に示す空人数カレンダー１８０ｂは、希望時間表示欄１８１を「指定なし」とすることにより検査員の予約状況が緩和されて表示される。例えば、５月７日は、空人数カレンダー１８０ａ（図１１の（ａ）参照）では三角形、すなわち自動割当対象の検査員に空きがなく、手動割当対象の検査員に空きがあることが表示されているが、空人数カレンダー１８０ｂ（図１１の（ｂ））では、「２」と表示される。つまり、時間指定をしないことで空き状況が改善され、その日に予約を確定的に行うことができる。ここでいう「確定的」とは、後述する仮割当処理において、検査員を自動割当により確保することができるという意味である。
【００７６】
予約端末４０の画面上で顧客が空人数カレンダーに数字が表示されている日から希望日を選択してクリックすると、希望日が予約表生成装置１０に送信される（Ｓ８１０）。「△」、「×」は、ユーザが選択はできるものの、その選択情報だけが予定表生成装置１０の記憶装置１３内の図示しない領域内に保存され、自動割当処理は実行されない。この保存された選択情報に基づいて、選択された日の予約がキャンセルされて自動割当が可能な検査員の残数が１以上となったとき、また手動割当対象となる検査員に空きが生じたときに、予約端末４０に対して、指定可能となったことを通知してもよい。また「△」であれば、後述する最適化処理後に手動割当を行って、検査員に作業を割当てることで、顧客からの要望に応じられるように構成してもよい。予約受付部１０１は、自動割当対象の検査員に検査依頼情報に含まれる検査の仮割当てを行い、検査員カレンダー１５２及び検査員割当表１５３に仮登録する（Ｓ８１１）。
【００７７】
検査日の数日前に予約表生成装置１０の操作者は、仮割当された案件の最適化処理を行う（Ｓ８１２）。最適化処理では、ある業務日単位で、移動時間や作業時間を考慮して各検査員の業務時間が最短になるように再度の割当処理（本割当）を行う。
【００７８】
予定表生成装置１０の帳票出力部１０８は、最適化された検査員割当表１５３を基に各種帳票を生成・出力する。その出力の一つの態様として、各検査員の携帯端末２１に対し、最適化処理後のある業務日（以下「特定日」という）における行動計画を示した予定表画面を生成し、送信する（Ｓ８１３）。図１２の予定表画面１９０は、検査員乙の特定日の日付及び検査員名（符号１９１）、出発地及び出発時刻（符号１９２）、巡回ルートに沿って、乗車時間、乗車駅名、検査種別、及び顧客名（符号１９３）が表示される。これらの表示内容は一例であり、当該日に当該検査員が担当する案件及びその順序がわかる内容が含まれていればよい。なお、本ステップは、予定表画面１９０の送信が不要であれば省略してもよい。
【００７９】
更に帳票出力部１０８は、最適化された検査員割当表１５３を基に他の形式の帳票を生成・出力してよい（Ｓ８１４）。帳票の出力形態の一例として、例えば、図１３の（ａ）に示すように、地図情報に各検査員の経路及び案件を図示した地図帳票２００を用いてもよい。この地図帳票２００により、各検査員の巡回ルートを可視化することができる。地図帳票２００上に、マウスやタッチパッドなどの入力装置１７を用いて、検査員が割当てられていない新案件の物件所在地２０１を登録し、所定の検査員、例えば検査員甲の巡回ルート２０２を、新案件の物件所在地を通過するように手動で入力すると、図１３の（ｂ）に示す修正後の地図帳票２００’のように、検査員甲に対し、未割当の案件（第７案件）を検査員甲に割当て、検査員甲の巡回ルートを変更できるように構成してもよい。（符号２０２’に相当）。この場合、例えば予約受付部１０１が入力装置１７からの入力指示に従って、新案件への自動発番、検査員甲への割当て、及び検査員割当表１５３の更新をするように構成してもよい。担当者変更・経路順番入替・希望日などの変更も可能である。この機能を使うことにより、地図帳票２００は、各検査員の巡回ルートを可視化するだけでなく、この地図帳票２００上で経路順番の入れ替え、担当者の変更、希望日の変更（例えば第１〜第３希望日までがあるとき、どの日のどのルートに組み込むと一番効率がよさそうか）のシミュレーションを行うこともできる。
【００８０】
また図１４の（ａ）に示すように、全検査員の作業工程を図示したタイムテーブル２１０を生成してもよい。このタイムテーブル２１０により、各検査員の業務時間を可視化することができる。タイムテーブル２１０のうち、「Ｍ」は移動、「休」は休憩、数字は案件番号を示す。タイムテーブル２１０上で、新たな案件２１３を登録すると（図１４の（ｂ）参照）、予約受付部１０１が入力装置１７からの入力指示に従って、新案件への自動発番、検査員甲への割当て、及び検査員割当表１５３の更新をするように構成してもよい。タイムテーブル２１０上で、新規の休みや既に割り当てられた案件の変更ができるように構成してもよい。タイムテーブル２１０により空時間の可視化が行える。その他の帳票例として、出張命令書などの態様もありうる。なお、本ステップは、帳票の出力が不要であれば省略してもよい。
【００８１】
次に図１５及び図１６に基づき、図８のステップＳ８０８の空人数カレンダー生成処理について説明する。図１５は、空人数カレンダー生成処理の前半の処理を示すフローチャートである。図１６は、空人数カレンダー生成処理の後半の処理を示すフローチャートである。以下、図１５、図１６の各ステップ順に沿って説明する。図１５の空人数カレンダー生成処理に先立ち、図示を省略するものの、検査員の空人数の残数を示すパラメータＮの初期化（Ｎ＝０）を行い、以下の各処理を実行する。
【００８２】
作業時間算出部１０３は、検査依頼情報を基に作業時間を算出する（Ｓ１５０１）。このステップで求める作業時間は、標準作業時間でよい。作業係数は、多くの場合は１．０に設定して算出するが、遅い人に合わせて作業時間を決める場合は、１．０を超える値を用いて算出してもよい。
【００８３】
次に空人数カレンダー生成部１０４は、検査依頼情報を参照し、当該検査依頼情報に含まれる検査に必要な技能を決定する。そして、検査員マスター１５１に登録された検査員のうち、検査依頼に対応するための技能を有し、かつ自動割当対象となっており、実施日が休日でない検査員の集合（「集合Ａ」という）を生成する（Ｓ１５０２）。休日かどうかは、検査員カレンダー１５２を参照する。また、検査依頼情報を受信した日から起算して予め定められた所定期間、例えば２か月先までの期間を設定し、そのうちの１日を、空人数算出対象となる業務日（Ｄ１）として設定する（Ｓ１５０３）。
【００８４】
空人数カレンダー生成部１０４は、集合Ａから空き状況を確認する対象となる一人目の検査員（Ｘ１）を抽出する（Ｓ１５０４）。本ステップにおける検査員（Ｘ１）の抽出順は任意であり、例えば集合Ａ内において検査員の識別情報を基にソートをかけ、ソート後の検査員の識別情報の先頭から順、又は最後尾から順に抽出してもよい。
【００８５】
検査員（Ｘ１）の検査員カレンダー１５２を参照し、検査依頼情報に時間指定があり（Ｓ１５０５／Ｙｅｓ）、かつ指定時間に予定がない場合（Ｓ１５０６／Ｎｏ）、及び検査依頼情報に時間指定がなく（Ｓ１５０５／Ｎｏ）、かつ業務日（Ｄ１）にステップＳ１５０１で算出した作業時間分の空時間がある場合（Ｓ１５０７／Ｙｅｓ）は、検査員空人数の値Ｎを１加算して（Ｓ１５０７）、ステップＳ１５０９へ進む。
【００８６】
検査依頼情報に時間指定があり（Ｓ１５０５／Ｙｅｓ）、その指定時間に予定がある場合（Ｓ１５０６／Ｙｅｓ）、及び検査依頼情報に時間指定がなく（Ｓ１５０５／Ｎｏ）、かつ業務日（Ｄ１）にステップＳ１５０１で算出した作業時間分の空時間がない場合（Ｓ１５０７／Ｎｏ）は、当該検査員は検査を行えないので、検査員空人数の値Ｎは変更することなくステップＳ１５０９へ進む。
【００８７】
集合Ａに空状況を確認していない検査員がいれば（Ｓ１５０９／Ｎｏ）、集合Ａから検査員（Ｘ１）を削除して集合Ａを更新し（Ｓ１５１０）、ステップＳ１５０４へ戻り、次の検査員（Ｘ２）を抽出して、ステップＳ１５０５以下の処理を繰り返す。集合Ａの全ての検査員について空き状況を確認した場合は（Ｓ１５０９／Ｙｅｓ）、検査員空人数Ｎの値を判定処理へ移行する。
【００８８】
Ｎ＝０でない、即ち自動割当可能な検査員が１人以上いる場合（Ｓ１６０１／Ｎｏ）、業務日（Ｄ１）の空人数の値としてＮを保存する（Ｓ１６０２）。
【００８９】
Ｎ＝０、即ち自動割当可能な検査員が全くいない場合（Ｓ１６０１／ＹＥＳ）、検査員マスター１５１に登録された検査員のうち、検査依頼に対応するための技能を有し、かつ手動割当対象となっている検査員の集合（「集合Ｂ」という）を生成する（Ｓ１６０３）。そして、集合Ｂから任意の検査員（Ｙ１）を抽出し、（Ｓ１６０４）、検査員（Ｙ１）が検査依頼に対応できるか否かの判定処理を行う。即ち検査依頼情報に時間指定がある場合（Ｓ１６０５／Ｙｅｓ）、検査員（Ｙ１）の検査員カレンダー１５２を参照した結果、業務日（Ｄ１）の上記指定された時間に作業時間相当の空時間がある場合（Ｓ１６０６／Ｙｅｓ）、及び検査依頼情報に時間指定がなく（Ｓ１６０５／Ｎｏ）、かつ業務日（Ｄ１）にステップＳ１５０１で算出した作業時間分の空時間がある場合（Ｓ１６０７／Ｙｅｓ）は、業務日（Ｄ１）に手動割当対象の検査員に空きがあると判断し、業務日（Ｄ１）に△を表示すると判定する（Ｓ１６０８）。
【００９０】
検査依頼情報に時間指定があり（Ｓ１６０５／Ｙｅｓ）、その指定時間に予定がある場合（Ｓ１６０６／Ｎｏ）、及び検査依頼情報に時間指定がなく（Ｓ１６０５／Ｎｏ）、かつ業務日（Ｄ１）にステップＳ１５０１で算出した作業時間分の空時間がない場合（Ｓ１６０７／Ｎｏ）は、検査員（Ｙ１）は検査を行えないと判断する。そして、集合Ｂに空状況を確認していない検査員がいれば（Ｓ１６０９／Ｎｏ）、集合Ｂから検査員（Ｙ１）を削除して集合Ｂを更新し（Ｓ１６１０）、ステップＳ１６０４へ戻り、次の検査員（Ｙ２）を抽出する。そして、ステップＳ１６０５以下の処理を繰り返す。集合Ｂの全ての検査員について空状況を確認した場合は（Ｓ１６０９／Ｙｅｓ）、業務日（Ｄ１）に手動割当対象の検査員に空きがないと判断し、業務日（Ｄ１）に×を表示すると判定する（Ｓ１６１１）。
【００９１】
ステップＳ１６０２、Ｓ１６０８、Ｓ１６１１の終了後、所定期間内にまだ空状況を確認していない業務日があれば（Ｓ１６１２／Ｎｏ）、ステップＳ１５０３へ戻り、次の業務日（Ｄ２）を設定してステッＳ１５０４以下の処理を繰り返す。所定期間内の全日について空き状況を確認していれば（Ｓ１６１２／Ｙｅｓ）、ステップＳ１６０２、Ｓ１６０８、Ｓ１６１１の結果を基に空人数カレンダーを生成し、表示する（Ｓ６１３）。
【００９２】
空カレンダー生成処理では、検査依頼情報に含まれる指定時間の予定の有無、又は指定時間がない場合には標準作業時間相当の空時間の有無を判定し、これを基に空カレンダーを表示する。このとき、移動時間を考慮しないことによって演算量を減らし、空カレンダーを表示させるまでの所要時間をより短くすることができる。
【００９３】
次に図１７及び図１８に基づき、図８のステップＳ８１１の仮割当処理について説明する。図１７は、仮割当処理を示すフローチャートである。図１８は、移動時間算出処理を示す図である。以下、図１７の各ステップ順に沿って説明する。
【００９４】
仮割当処理部１０５は、検査員マスター１５１に登録された検査員のうち、検査依頼に対応するための技能を有し、自動割当対象となり、実施日が休日でない検査員の集合（「集合Ａ」という）を生成する（Ｓ１７０１）。そして、集合Ａから予め定められた優先度（ｐ）順に従って、一人目の検査員（Ｘ１）を抽出する（Ｓ１７０２）。
【００９５】
ここでの「優先度」は、各検査員が有する技能数を比較し、それが少ない順に優先度を高くなるように設定する。例えば、検査員甲は、技能aを保有し、検査員乙が技能a及び技能ｂを有するとする。この場合、検査員甲は、技能aが必要となる作業しか従事できないが、検査員乙は技能ａ、ｂの両方が必要とされる作業に従事できる。検査依頼情報に含まれる検査に技能ａのみが必要であるとすると、検査員甲の優先度を、検査員乙の優先度よりも相対的に高くすることで、まず、検査員甲が検査員（Ｘ１）として抽出され、より作業の汎用性が高い検査員乙が留保される。その結果、今後、技能ａ、ｂを要する検査のいずれか、又は両方同時に行う検査依頼があったときに、検査員乙がその検査依頼に対応することができる。
【００９６】
作業時間算出部１０３は、及び作業係数を基に、検査員（Ｘ１）について設定された作業係数を適用し、検査員（Ｘ１）が検査依頼情報に含まれる検査を実施する際に必要な作業時間ｔｗを算出する（Ｓ１７０３）。
【００９７】
仮割当処理部１０５は、検査員（Ｘ１）の検査員カレンダー１５２を参照し、検査依頼情報に時間指定があり（Ｓ１７０４／Ｙｅｓ）、かつ指定時間にステップＳ１７０３で算出した作業時間分の空時間がある場合（Ｓ１７０５／Ｙｅｓ）、及び検査依頼情報に時間指定がなく（Ｓ１７０４／Ｎｏ）、かつ検査依頼情報に含まれる業務日にステップＳ１７０３で算出した作業時間分の空時間がある場合（Ｓ１７０６／Ｙｅｓ）は、移動時間チェック処理（Ｓ１７０７〜ステップＳ１７１０）へ進む。上記ステップＳ１７０５において「空時間がある」に該当するためには、検査員割当表上において他の検査が入っておらず、かつ検査員カレンダーにおいて、検査以外の他の予定が入っていないことが必要である。
【００９８】
移動時間チェック処理では、移動時間算出部１０２が検査員（Ｘ１）の検査員マスター１５１及び検査員カレンダー１５２を参照し、検査員（Ｘ１）の直前滞在地の出発時刻（ｔ０）、及び直前滞在地から検査依頼情報に含まれる案件の物件所在地（以下「物件所在地」と略記する）までの移動時間（ｔ１）を算出し、下式（４）に従って、物件所在地の到着時刻（以下「物件到着時刻」という）ｔ２を算出する（Ｓ１７０７）。
【００９９】
ｔ２＝ｔ０＋ｔ１・・・（４）
但し、
ｔ０：直前滞在地の出発時刻
ｔ１：直前滞在地から物件所在地までの移動時間
ｔ２：物件到着時刻
物件到着時刻（ｔ２）と、検査依頼情報に含まれる検査開始の指定時刻とを比較し、物件到着時刻（ｔ２）が指定時刻以前であれば（Ｓ１７０８／Ｙｅｓ）、直後滞在地の到着時刻（ｔ４）を算出する（Ｓ１７０９）。
【０１００】
直後滞在地の到着時刻（ｔ４）は、物件所在地から直後滞在地までの移動時間（ｔ３）を算出し、物件到着時刻ｔ２に作業時間ｔｗ及び物件所在地から直後滞在地までの移動時間（ｔ３）を加算して求められる。従って、下式（５）により求められる。
【０１０１】
ｔ４＝ｔ２＋ｔｗ＋ｔ３・・・（５）但し、
ｔ４：直後滞在地の到着時刻
ｔ２：物件到着時刻
ｔｗ：作業時間
ｔ３：物件所在地から直後滞在地までの移動時間
【０１０２】
仮割当処理部１０５は、直後滞在地の到着時刻ｔ４が、直後滞在地における制約時刻（以下「直後滞在地制約時刻」という）以前であれば（Ｓ１７１０／Ｙｅｓ）、検査員（Ｘ１）に検査依頼情報に含まれる検査の仮割当を行う（Ｓ１７１１）。直後滞在地制約時刻は、直後滞在地が終点地であれば検査員マスター１５１に規定された終了時刻であり、直後滞在地が次の案件の物件所在地であれば、次の案件の業務開始時刻である。この詳細については後述する。仮割当を行うと検査員（Ｘ１）の検査員カレンダー１５２に仮割当された案件の詳細情報を追記し、仮割当処理を終了する。
【０１０３】
物件到着時刻が指定時刻よりも後である場合（Ｓ１７０８／Ｎｏ）、直後滞在地の到着時刻ｔ４が、直後滞在地制約時刻よりも後である場合（Ｓ１７１０／Ｎｏ）、検査依頼情報に時間指定があり（Ｓ１７０４／Ｙｅｓ）、かつその指定時間に作業時間分の空時間がない場合（Ｓ１７０５／Ｎｏ）、及び検査依頼情報に時間指定がなく（Ｓ１７０４／Ｎｏ）、作業時間分の空時間がない場合（Ｓ１７０６／Ｎｏ）は、仮割当処理部１０５は、検査員（Ｘ１）は検査依頼情報に含まれる検査を実施できないと判断し、ステップＳ１７１２へ進む。  
集合Ａにまだ仮割当が可能か否かの判定をしていない検査員が残っていれば（Ｓ１７１２／Ｎｏ）、仮割当処理部１０５は、集合Ａから検査員（Ｘ１）を削除して集合Ａを更新し（Ｓ１７１３）、ステップＳ１７０２へ戻って次の検査員（Ｘ２）を抽出し、ステップＳ１７０３以下の処理を繰り返す。
【０１０４】
集合Ａの全ての検査員について判定をしていれば（Ｓ１７１２／Ｙｅｓ）、自動割当対象となる検査員の中に、検査依頼情報に含まれる検査を仮割当可能な検査員がいないので、仮割当処理を行うことなく、処理を終了する。
【０１０５】
上記移動時間チェック処理における「直前滞在地」及び「直前滞在地の出発時刻（ｔ０）」とは、検査依頼情報に含まれる検査よりも前に予定がなければ検査員マスター１５１に規定された「出発地」及び「開始時刻」、検査依頼情報に含まれる検査とは異なる検査が既に仮割当されている場合には、その異なる検査の物件所在地及び他の検査の作業終了時刻である。また「直後滞在地」及び「制約時刻」とは、検査依頼情報に含まれる検査よりも後に予定がなければ検査員マスター１５１に規定された「到着地」及び「終了時刻」であり、検査依頼情報に含まれる検査とは異なる検査が既に仮割当されている場合には、その異なる検査の物件所在地及びその異なる検査の検査開始時刻である。
【０１０６】
例えば、図１８の上段に示すように、検査員（Ｘ）にまだ案件が全く入っていないとする。この場合、検査依頼情報の案件が第１案件となる。そして、第１案件の直前滞在地は、検査員マスター１５１において、検査員毎に予め定められた出発地となる。そこで、移動時間算出部１０２は、出発地から第１案件の物件所在地までの移動時間１をｔ１として算出する。そして、検査員マスター１５１に予め定められた出発時刻ｔ０にｔ１を加算して、第１案件の物件到着時刻ｔ２を算出する。第１案件の後に予定が入っていない場合は、終点地までの移動時間２をｔ３として算出する。そして、既述の式（５）に従って終点地の到着時刻ｔ４を算出し、これが検査員マスター１５１に規定された終了時刻よりも前であれば仮割当をする。
【０１０７】
また、図１８の下段に示すように、既に第１案件が割当てられており、検査依頼情報の案件が第２案件となる場合は、第１案件の物件所在地が直前滞在地となり、第２案件が物件所在地となる。この場合は第１案件の物件所在地から第２案件の物件所在地までの移動時間３をｔ１として算出する。また、第２案件の後に、別の案件（第３案件）が既に入っている場合には、第２案件の物件所在地から第３案件の物件所在地までの移動時間４をｔ３として算出する。そして、既述の式（５）に従って第３案件の到着時刻ｔ４を算出し、これが第３案件の検査開始時刻よりも前であれば仮割当をする。
【０１０８】
上記仮割当処理によれば、検査依頼の内容に応じた技能を有する検査員のうち、優先度が高い順（上記の例では技能数の少ない順）に仮割当てを行うことで、汎用性が低い検査員の予定を優先的に埋めることができる。また、検査員依頼に応じられるか否かの判断に際し、各検査員の熟練度を加味した作業時間及び各検査員の当該検査依頼の直前滞在地と直後滞在地との移動時間を考慮して判断するので、物件所在地への到着遅延といった不具合を回避しやすくなる。
【０１０９】
仮割当処理により、検査依頼に応じられる検査員に案件を自動的に割当てることができる。しかし、図３及び図４を用いて既に説明したように、仮割当処理では、検査員が検査作業をして回るルートは、必ずしも最適化されていない。そこで、実際に検査を行う日（検査実施日）の前に、仮割当された案件を、各検査員の業務時間が最短となるように再度割当し直す処理、所謂最適化処理を実行する。
【０１１０】
次に、図１９及び図２０に基づき、図８のステップＳ８１２の最適化処理について説明する。図１９は、最適化処理の全体の処理の流れを示すフローチャートである。図２０は、検査員（Ｘ１）についての最適化処理の詳細を示すフローチャートである。以下、図１９の各ステップ順に沿って最適化処理の全体処理を説明し、それに続いて図２０に基づいて、最適化処理の全体処理の一部を構成する、検査員（Ｘ１）についての最適化処理の詳細について説明する。
【０１１１】
操作者が、検査員割当表１５３とともに表示された最適化ボタン１５４（図７参照）を操作すると、最適化処理部１０６は、検査員カレンダー１５２を参照し、最適化処理の対象日（図７では２０１３年５月７日）に業務に従事する、自動割当対象の検査員の集合Ａ１を生成する。また、検査員割当表１５３を参照して、最適化処理の対象日に実施予定の全案件の案件集合Ｃを生成する（Ｓ１９０１）。なお、ある案件に特定の検査員を指定したいときには、最適化ボタン１５４の操作前に手動で検査員割当表１５３の最適化ロックフィールドにフラグを入力しておく。
【０１１２】
次いで、最適化処理部１０６は、集合Ａ１から優先度（ｐ）が高い順位に、検査員（Ｘ１）を抽出し（Ｓ１９０２）、検査員（Ｘ１）についての最適化処理を行う（Ｓ１９０３）。この詳細は、後述する。
【０１１３】
案件集合Ｃに、まだ最適化処理の対象となっていない案件が残っており（Ｓ１９０４／Ｎｏ）、集合Ａ１にも最適化処理を行っていない検査員が残っている場合は（Ｓ１９０５／Ｎｏ）、集合Ａ１から検査員（Ｘ１）を除いて集合Ａ１を更新し（Ｓ１９０６）、ステップＳ１９０２に戻って次の検査員（Ｘ２）を抽出し、ステップＳ１９０３以下の処理を繰り返す。
【０１１４】
案件集合Ｃに、まだ最適化処理の対象となっていない案件が残っているにも関わらず（Ｓ１９０４／Ｎｏ）、集合Ａ１の全ての検査員について最適化処理を実施し終えた場合は（Ｓ１９０５／Ｙｅｓ）、案件集合Ｃから本割当済の案件を削除した残りの案件について、ユーザが手動で検査員を割当てる（Ｓ１９０６）。ここで手動割当を行う検査員は、検査員マスター１５１で自動割当のフラグが立っていない検査員である。また、自動割当の検査員の休憩時間及び業務終了時間以降（残業）に手動割当することも可能。手動割当処理が終了した場合、及び案件集合Ｃの全案件の本割当が終了すると（Ｓ１９０４／Ｙｅｓ）、最適化処理を終了する。なお、上記では、説明の便宜上、手動割当処理を最適化処理の一部として説明したが、最適化処理は予定表生成装置１０による割当処理を意味し、操作者による手動割当処理は最適化処理後の結果を修正する処理に相当する。よって、最適化処理に手動割当処理を含まなくてもよい。
【０１１５】
次に図２０の各ステップ順に沿って、検査員（Ｘ１）についての最適化処理の詳細について説明する。
【０１１６】
最適化処理部１０６は、案件集合Ｃのうち、検査員（Ｘ１）が保有する技能で実施できる案件集合Ｃ１を生成し（Ｓ２００１）、検査員（Ｘ１）の検査員カレンダー１５２を参照して、最適化処理の対象日における検査員（Ｘ１）の空時間を検索する（Ｓ２００２）。
【０１１７】
案件集合Ｃ１の任意の１件、例えば案件ｃ１を抽出し（Ｓ２００３）、直前滞在地から抽出案件の物件所在地までの移動時間ｔ１を算出し、抽出案件の物件所在地から直後滞在地までの移動時間ｔ３を算出する（Ｓ２００４）。そして、抽出案件の物件所在地に行くまでの移動時間ｔ１と、直後滞在地に移動するまでの移動時間ｔ３の合計移動時間ｔｍを算出する（Ｓ２００５）。よって、合計移動時間ｔｍは、式（６）により求められる。        
【０１１８】
合計移動時間ｔｍ＝ｔ１＋ｔ３・・・（６）  算出した合計移動時間ｔｍは、抽出した案件と関連付けて一時的に保存しておく。
【０１１９】
案件集合Ｃ１に合計移動時間ｔｍを算出していない案件が残っていれば（Ｓ２００６／Ｎｏ）、案件集合Ｃ１から上記抽出案件ｃ１を削除して案件集合Ｃ１を更新し（Ｓ２００７）、ステップＳ２００３に戻って次の案件ｃ２を抽出する。
【０１２０】
案件集合Ｃ１の全案件について合計移動時間ｔｍを算出すると（Ｓ２００６／Ｙｅｓ）、合計移動時間ｔｍが最小となる案件ｃminを決定する（Ｓ２００８）。ステップＳ２００８において、案件ｃminを抽出する前にソート条件「合計移動時間ｔｍ降順かつ住所昇順」で案件集合Ｃ１を並べ替えてから案件ｃminの抽出を行ってもよい。これにより、移動時間が同一であっても、住所が近い場所がより選択されて作業員が同じ地域をまとめて回ることができ、案件所在地間の移動のロスを減らしやすくなる。作業時間算出部１０３は、検査員（Ｘ１）が案件ｃminを実施する際に要する作業時間ｔｗを、検査員（Ｘ１）の作業係数を反映して算出する（Ｓ２００９）。そして、最適化処理部１０６は、下式（７）により直後滞在地の到着時刻ｔ４を算出する（Ｓ２０１０）。
【０１２１】
ｔ４＝ｔ0＋ｔｍ＋ｔｗ・・・（７）ｔ0：直前滞在地の出発時刻ｔｍ：合計移動時間（ｔｍ＝ｔ1＋ｔ３）ｔｗ：検査員（Ｘ１）が案件ｃ１を実施する際に要する作業時間  直後滞在地の到着時刻ｔ４が、直後滞在地制約時刻よりも後であれば（Ｓ２０１１／Ｎｏ）、検査員（Ｘ１）に案件ｃｍｉｎを本割当できないこととなる。案件集合Ｃ１に本割当の可否の判断していない案件が残っていれば（Ｓ２０１２／Ｎｏ）、次に合計移動時間ｔｍが短く、住所が近い案件を抽出し（Ｓ２０１３）、ステップＳ２００９へ戻り、以後の処理を繰り返す。
【０１２２】
直後滞在地の到着時刻ｔ４が、直後滞在地制約時刻以前であれば（Ｓ２０１１／Ｙｅｓ）、検査員（Ｘ１）に案件ｃｍｉｎを本割当し（Ｓ２０１４）、案件集合Ｃ１から案件ｃｍｉｎを削除して案件集合Ｃ１を更新する（Ｓ２０１５）。案件集合Ｃ１にまだ本割当をしていない案件が残っていれば（Ｓ２０１６／Ｎｏ）、ステップＳ２００２へ戻り検査員（Ｘ１）の検査員カレンダー１５２を検索する。そして、次の案件ｃ２を抽出する（Ｓ２００３）。そして、直前に行ったステップＳ２０１４で本割当を行った案件ｃｍｉｎを直前滞在地とし、ステップＳ２００４以下の処理を繰り返す。案件集合Ｃ１の全案件について本割当の可否を判断し終えた場合（Ｓ２０１２／Ｙｅｓ）、及び案件集合Ｃ１に本割当をしていない案件が残っていない場合（Ｓ２０１６／Ｙｅｓ）、検査員Ｘ１の処理を終了する。
【０１２３】
上記最適化処理によれば、検査を行うために必要な技能を有する検査員に対して、業務時間が最短となるように案件を割当てることができる。その結果、検査員が所属する会社全体としての業務時間の短縮化を図り、業務コストダウンに貢献することができる。また、空き時間が増えることにより、より多くの作業を請けられ、売上アップにもつながる。
【０１２４】
上記実施形態では、建築物の検査を行う検査員についての予定表生成システムを例に挙げて説明したが、本発明が適用できる業務は、上記に限定されない。例えば、住宅の害虫駆除業務において、白アリ駆除の技能を有する作業員、スズメバチの駆除の技能を有する作業員についての案件の自動割当及びその結果を示す予定表の生成に本発明を適用してもよい。また、太陽光パネル設置業務においては、発電量の算出を行う技能、太陽光パネルを屋根に固定設置する技能、太陽光パネルを家庭用電気配線に接続する電気工事の技能のそれぞれを有する者が必要となるが、これらの業務についての案件の自動割当及び予定表の生成を行ってもよい。
【符号の説明】
【０１２５】
１  予定表生成システム
１０  予定表生成装置
１１  ＣＰＵ
１２  ＲＡＭ
１３  記憶装置
１４  ネットワークＩ／Ｆ
１５  出入力Ｉ／Ｆ
１６  バス
１７  入力装置
１８  モニタ
１９  プリンタ
２１  携帯端末
３０  公衆回線網（ネットワーク）
３１  基地局
４０  予約端末
１０１  予約受付部
１０２  移動時間算出部
１０３  作業時間算出部
１０４  空人数カレンダー生成部
１０５  仮割当処理部
１０６  最適化処理部
１０７  データ記憶部
１０８  帳票出力部
１１０  制御部
【図１】
0005847986.tif 000002
【図２】
0005847986.tif 000003
【図３】
0005847986.tif 000004
【図４】
0005847986.tif 000005
【図８】
0005847986.tif 000006
【図９】
0005847986.tif 000007
【図１０】
0005847986.tif 000008
【図１２】
0005847986.tif 000009
【図１３】
0005847986.tif 000010
【図１４】
0005847986.tif 000011
【図１５】
0005847986.tif 000012
【図１６】
0005847986.tif 000013
【図１７】
0005847986.tif 000014
【図１８】
0005847986.tif 000015
【図１９】
0005847986.tif 000016
【図２０】
0005847986.tif 000017
【図５】
0005847986.tif 000018
【図６】
0005847986.tif 000019
【図７】
0005847986.tif 000020
【図１１】
0005847986.tif 000021