JP2006236173A - 勤務表作成システム - Google Patents

勤務表作成システム Download PDF

Info

Publication number
JP2006236173A
JP2006236173A JP2005052307A JP2005052307A JP2006236173A JP 2006236173 A JP2006236173 A JP 2006236173A JP 2005052307 A JP2005052307 A JP 2005052307A JP 2005052307 A JP2005052307 A JP 2005052307A JP 2006236173 A JP2006236173 A JP 2006236173A
Authority
JP
Japan
Prior art keywords
work
allocation
assignment
segment
work schedule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005052307A
Other languages
English (en)
Inventor
Takayuki Susaka
高行 須坂
Seiya Hasegawa
精也 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Secom Co Ltd
Original Assignee
Secom Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Secom Co Ltd filed Critical Secom Co Ltd
Priority to JP2005052307A priority Critical patent/JP2006236173A/ja
Publication of JP2006236173A publication Critical patent/JP2006236173A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】複数のスタッフに対して様々な時間長をもった複数の勤務項目が割り付けられる勤務表を効率的に作成できるようにする。また、人為的な割り付けと自動的な割り付けとを整合させる。
【解決手段】勤務項目リスト14から、自動割付が指定されている勤務項目群20’が選択され、それらに基づいて勤務項目組合せリスト28が生成される。一方、仮勤務表34上には、セグメントマトリクスが定義される。それを構成する各割付セグメントは所定の時間単位(例えば日)に相当する。各勤務項目組合せは、各割付セグメントに割り付け可能な1又は複数の勤務項目で構成される。手動割付がなされた後、自動割付の対象となる各割付セグメントに対して割付候補が自動割付される。仮勤務表について計算される評価値が所定の終了条件を満足するまで、自動割付が繰り返し実行される。
【選択図】図1

Description

本発明は勤務表作成システムに関し、特に、複数のスタッフ(勤務者)に対してそれぞれ勤務項目の並びを設定して一定期間の勤務表を作成するシステムに関する。
レストラン、コンビニエンスストア、コールセンター、工場、病院などにおいては、複数のスタッフによる交代制の勤務が行われている。そのために各スタッフごとの勤務スケジュールを記載した勤務表が事前に作成される。勤務表の作成に当たっては、多様な割付条件を考慮する必要があるため、作者者の負担は非常に大きい。そこで、その作業を支援しあるいは自動化するための勤務表作成システム(あるいはスケジュール作成システム)が提案されており、また、それを具現化した幾つかのソフトウエア製品が提供されている。例えば、非特許文献1に記載された方法では、多数の複雑な割付条件を満足する解を得るためのアルゴリズムとして「遺伝的アルゴリズム」が利用されている。特許文献1に記載されたシステムでは「整数計画法」が利用されている。
例えば、病院における看護師の勤務表などにおいては、一般に、各スタッフに対して1日当たり1種類の勤務が割り当てられる。具体例としては、図13の(A)に示されるように、勤務表の各セル(日に相当)に、日勤、準夜勤、深夜勤などの勤務項目(図示の例では勤務項目を示すマーク)が記入される。その勤務表において、横軸は時間軸であり、縦軸にはスタッフが列記されている。これに関し、図13(B)には、各勤務項目についてマーク、名称及び勤務時間帯が示されている。ここでは、割付の観点から、勤務項目が狭義の勤務の他に有給休暇などを含む広義の意味で用いられている。以下、この図13の(A)に示すような勤務表を便宜上「第1種の勤務表」と称することにする。
一方、業種によっては、各スタッフに対して1日当たり時間長が異なる様々な勤務項目を組み合わせて割り付けることが求められる。具体例としては、図14に示されるような勤務項目リストが定められている場合に、図15に示されるような勤務表が作成される。図14においては、各勤務項目についてマーク、名称、勤務時間帯及び備考(ここでは割当条件)が示されている。図15に示す勤務表において、横軸は時間軸であり、縦軸にはスタッフが列記されている。その勤務表において、各スタッフについては、時間軸方向に複数の勤務項目の並びが設定されているが、図13の(A)に示した第1種の勤務表とは異なり、各スタッフについて、日ごとに複数のセルが存在し、しかも各セルの時間長は必ずしも一定ではない。つまり、この種の勤務表では、個々のスタッフに対して区々の時間長をもった複数の勤務項目からなる並びが割り付けられて、各スタッフの1日の勤務スケジュールが構成され、更に、その集合として勤務表が構成されている。以下、このような勤務表を便宜上「第2種の勤務表」と称することにする。
図13の(A)に示したような第1種の勤務表を作成するシステムをそのまま利用して図15に示したような第2種の勤務表を作成することはできない。第2種の勤務表の作成に当たっては、各勤務項目についての時間長が一定でないために、個々のスタッフごとに勤務時間帯の重複や過剰な空き時間を防止するなどのより細かい調整が必要となる。なお、従来の一般的な手法を単純に拡張して上記第2種の勤務表を作成することも不可能ではないが、その場合には、かなり複雑な演算処理が必要となり、迅速に勤務表を作成できなくなるという問題が生じる。
特許文献2には、第2種の勤務表の作成に関し、1日に時間長の異なる複数の勤務項目を割り付ける方法が記載されている。かかる方法は、1ヶ月の勤務表作成に関して、「月間計画」と「日時処理」の2段階のステップによって構成される。前者の月間計画においては、社員の希望や1日ごとの全体の作業量から、各日付に割り当てる従業員が確保され、その上で、後者の日時処理において、各日付に、確保された従業員に対して作業項目(勤務項目)が割り当てられる。具体的には、特許文献2の図10に示されるように、時間長の異なる複数の勤務項目に対し、優先度が高い勤務項目から順に選択し、選択された勤務項目に対し所定条件を満たす従業員を割り付けていくものである。ここで、割付が不可能な場合には、条件を緩和した上で再割付が行われる。
山村他、第4章 遺伝的アルゴリズムによるナーススケジューリング、遺伝的アルゴリズム2、産業図書、1995年 特開2004‐361991号公報 特開2003−006393号公報
しかしながら、上記の特許文献2に記載された方法では、条件を緩和したとしても、その条件を満たす従業員がいなければ解が得られなくなる可能性がある。勤務項目の数や条件が多くなると、この傾向は強くなり、最終的には、既定の勤務時間を大幅にオーバーする割り付けがなされてしまう従業員が出てくる可能性がある。また、割り付けられた結果が最適な解であるかどうかがわからないという問題がある。
本発明の目的は、複数のスタッフに対して様々な時間長をもった複数の勤務項目が割り付けられる勤務表を効率的に作成できるようにすることにある。
本発明の他の目的は、複数のスタッフに対して様々な時間長をもった複数の勤務項目が割り付けられる勤務表について割付品質を向上することにある。
本発明の他の目的は、複数のスタッフに対して様々な時間長をもった複数の勤務項目が割り付けられる勤務表の作成に当たって、人為的な割り付けと自動的な割り付けとを整合させることにある。
(1)本発明は、一定期間にわたって複数の勤務者に対してそれぞれ勤務項目の並びを設定することにより勤務表を作成する勤務表作成システムにおいて、前記一定期間における所定の時間単位ごとに画定され且つ勤務者ごとに画定される複数の割付セグメントを有するセグメントマトリクスを構成するセグメントマトリクス構成手段と、前記所定の時間単位内に割付可能な1又は複数の勤務項目からなる割付候補を生成し、これにより複数の割付候補で構成される割付候補リストを生成する割付候補生成手段と、前記セグメントマトリクスにおける各割付セグメントに対して前記割付候補リストから選択された割付候補を割り付けて割付結果を評価する割付評価処理を繰り返し実行することによって、前記勤務表を作成する勤務表作成手段と、を含むことを特徴とする。
上記構成によれば、時間軸上において勤務者(スタッフ)ごとに複数の割付セグメント(割付単位)が定義される。ここで各割付セグメントは時間軸上における所定の時間単位に相当する。これにより、勤務表(より正確には割付前勤務表)上において、複数の割付セグメントを有するセグメントマトリクスが構成される。そのようなセグメントマトリクスを予め作成して保存しておくようにしてもよいし、それをその都度作成するようにしてもよい。割付セグメントの時間長つまり所定の時間単位は、例えば1日であるが、業種ごとに最適な時間単位を定めることができる。例えば、半日、1週間、10日などであってもよい。その時間単位をユーザー指定できるように構成するのが望ましいが、何らかの基準に基づいて時間単位を自動設定するようにしてもよい。一方、個々の割付セグメントへの自動的な割り付けのために、その割付に先立って割付候補リストが用意される。その割付候補リストは、複数の割付候補で構成され、各割付候補は、上記の所定の時間単位に割り付けることが可能な1つの勤務項目又は複数の勤務項目の並びとして構成される。個々の割付セグメントへの割付候補の自動割り付けと割付結果の評価とからなる自動的な割付評価処理が繰り返し実行される。これにより勤務表の割付品質を向上させ、最終的に勤務表が完成する。
以上のように、時間長が異なる複数の勤務項目を勤務表に割り付ける場合であっても、これから作成しようとする勤務表上に内在する各スタッフ共通の時間的区切り(上記の所定の時間単位)を見出しあるいは認定し、それを基礎としてセグメントマトリクスを定義すると共に、所定の時間単位に当て嵌め可能な複数の割付候補を生成しておけば、シンプルな割付演算で迅速に勤務表を作成することが可能となる。本発明によれば、上記第2種の勤務表の作成に当たって、上記第1種の勤務表を作成する様々な手法を応用することも可能となるので、既存の技術あるいはソフトウエア製品の発展的利用を期待できる。
(2)望ましくは、前記割付評価処理による自動割付に先立って、前記勤務表に対して勤務項目を固定的に設定する手動割付を行うためのユーザー割付手段を含み、前記勤務表作成手段は、前記セグメントマトリクス上において前記手動割付の結果に基づいて前記自動割付の対象となる未確定状態の各割付セグメントを特定し、前記未確定状態の各割付セグメントに対して前記自動割付を実行する割付実行部と、前記自動割付後のセグメントマトリクスの内容を評価する評価部と、を含む。この構成によれば、手動割付の結果に基づいて自動割付を行う対象が特定され、その対象に対して自動割付が行われる。評価部は、自動割付後のセグメントマトリクスの内容つまり評価対象となる作成途中の勤務表について所定方法に従って評価を行う。これにより、手動割付と自動割付とを両立させることができ、また自動割付対象を絞り込んで勤務表について最適解の探索を効率的に行える。
望ましくは、前記手動割付では、当該手動割付により勤務項目が設定された割付セグメントに対して全部固定属性又は部分固定属性を指定可能であり、前記割付実行部は、前記全部固定属性が指定された割付セグメントを前記自動割付の対象から除外し、前記手動割付がなされていない割付セグメント及び前記部分固定属性が指定された割付セグメントを前記自動割付の対象として特定する。この構成によれば、割付セグメントの全体が既に確定しているもの(全部固定属性をもった割付セグメント)を除き、各割付セグメントが自動割付の対象となる。ここで、部分固定属性は、割付セグメント中の一部分(一部時間帯)についてのみ手動割付が行われ、それ以外の空き部分について自動割付を許容する属性である。つまり、割付セグメントを単位として自動割付を行う場合において、手動割付が割付セグメント内の一部についてだけ行われた場合においても、空き部分を割付対象とすることが可能となる。よって、ユーザーにとっては割付セグメントを格別意識することなく手動割付を行えるという利点がある。上記構成によれば、割付セグメントという大まかな時間単位を設定した場合においても、その時間単位内における細かい手動割付を許容できるので(自動割付の補完的利用が可能であるので)、実用的価値が高い。
望ましくは、前記評価部は、前記手動割付の割付結果及び前記自動割付の割付結果を総合評価する。更に時間的に前の勤務表の全部又は一部を考慮して、つまり、勤務表間のつながり関係を考慮して、評価を行うのが望ましい。
望ましくは、前記割付候補生成手段は候補生成条件群に従って各割付候補を生成し、前記候補生成条件群には、勤務項目間での重複禁止条件及び勤務項目間での空き時間条件が含まれる。割付候補の生成にあたっては、望ましくは、勤務項目間でオーバーラップが生じていないこと、及び、勤務項目間での空き時間が不適切(例えば過度に小さい又は大きいもの)でないことが求められる。このように割付候補の生成にあたって一定条件を考慮することにより、割付価値の無い候補が多数生成されてしまう問題を未然に防止でき、つまり割付候補リストを適度の規模にして迅速に勤務表の最適解を求めることが可能となる。なお、最適解といっても厳密に最適な解を求める必要はなく、ユーザーの要望する品質が得られた段階をもって最適解としてよい。そのために、最適解の探索条件について適当な終了条件を定めるのが望ましい。
(3)本発明に係るプログラムは、一定期間にわたって複数の勤務者に対してそれぞれ勤務項目の並びを設定することにより勤務表を作成するシステムにおいて実行され、前記システムに複数の工程を実行させるプログラムであって、前記複数の工程には、前記一定期間における所定の時間単位ごとに画定され且つ勤務者ごとに画定される複数の割付セグメントを有するセグメントマトリクスを構成する工程と、前記所定の時間単位内に割付可能な1又は複数の勤務項目からなる割付候補を順次生成し、これにより複数の割付候補で構成される割付候補リストを生成する工程と、前記セグメントマトリクスにおける各割付セグメントに対して前記割付候補リストから選択された割付候補を割り付けてその割付結果を評価する割付評価処理を繰り返し実行することにより、前記勤務表を作成する工程と、が含まれることを特徴とする。
このプログラムは、望ましくは、パーソナルコンピュータ、ネットワーク上のサーバー・クライアントなどの情報処理システムで実行される。上記第1種の勤務表を作成するプログラムのベースとし、それに対して割付セグメント定義モジュール及び割付候補生成モジュールなどの機能を付加することにより、上記のプログラムを構成することも可能である。割付及び評価を繰り返し行って勤務表の内容を優良化して最終的に完成された勤務表を得る手法(最適解の探索方法)としては後述するように各種の公知手法を利用できる。
以上説明したように、本発明によれば、複数のスタッフに対して様々な時間長をもった複数の勤務項目が割り付けられる勤務表を効率的に作成できる。本発明によれば、複数のスタッフに対して様々な時間長をもった複数の勤務項目が割り付けられる勤務表について割付品質を向上できる。あるいは、本発明によれば、複数のスタッフに対して様々な時間長をもった複数の勤務項目が割り付けられる勤務表の作成に当たって、人為的な割り付けと自動的な割り付けとを整合させることができる。
以下、本発明の好適な実施形態を図面に基づいて説明する。
(1)実施形態の概念的説明
図1には、本発明に係る勤務表作成システムの全体的構成が概念図として示されている。この勤務表作成システムは、図15に示したような勤務表(第2種の勤務表)を作成するシステムであり、様々な業種で用いることができる。図1において、勤務表作成システムは図示の例ではデータ格納部10と演算処理部12とを有する。
データ格納部10には、勤務項目リスト14、割付条件群16及び実勤務表18などが格納される。勤務項目リスト14は、勤務表に割付可能なすべての勤務項目で構成される。それらの具体的内容については後に図3などを用いて詳述するが、各勤務項目には、属性として、自動割付指定の有無が設定される。符号20は自動割付指定ありの勤務項目集団を示し、符号22はそれ以外の自動割付指定なしの勤務項目集団を示している。このような分類を行うことによって、後述するように、勤務項目組合せリスト(割付候補リスト)の内容を優良化でき、またそれを構成する勤務項目組合せ数(割付候補数)を削減できる。割付条件群16は後述するように多数の割付条件で構成される。実勤務表18には、最終的に、後に詳述する仮勤務表34の内容が反映され、それが完成後の勤務表を構成する。本実施形態において実勤務表18及び仮勤務表34はそれぞれ電子的なワークシート上に構成されるテーブルに相当する。本実施形態では、仮勤務表34についての自動割付に先立って初期状態の実勤務表18に対してユーザーによる手動割付が行われる。その内容は実勤務表18上に登録され、仮勤務表34の作成に当たって、その内容が適宜参照される。なお、現在作成している勤務表を評価するために、少なくとも前回使用した勤務表の全部又は一部(例えば現在作成している勤務表に繋がる後の部分)をデータ格納部10上に保存しておくのが望ましい。符号33は、手動割付を行うための手入力を示している。上記の手動割付及び自動割付の関係について更に説明すると、手入力33により、実勤務表18上における任意の箇所に、任意の1又は複数の勤務項目を固定的に設定することが可能である。自動割付に当たっては手動割付によって指定された内容が優先、尊重される。本実施形態では、自動割付に当たって、仮勤務表34を介して、実勤務表18における手動設定内容が参照される。これにより、仮勤務表34における各割付セグメントについて、手動割付に係る属性や状況を認識することが可能である。後述するように、実勤務表18と仮勤務表34とを一体化してもよい。上記の他にもデータ格納部10には各種の情報が格納されているが、図1においてはそれらが図示省略されている。
演算処理部12は各種の機能を有する。その内で代表的な機能を説明すると、符号24で示されるように、勤務項目リスト14の内で自動割付指定ありの勤務項目集団20が選択(抽出)され(それが図1に符号20’で示されている)、その勤務項目集団20’に基づいて、符号26で示されるように、勤務項目組合せリスト(割付候補リスト)28が生成される。その場合、符号27で示されるように、割付条件群16の内で割付候補生成に関わる1又は複数の割付条件が参照される。勤務項目組合せリスト28は、複数の勤務項目組合せで構成され、各勤務項目組合せはそれぞれ仮勤務表34への割付候補であって、所定の時間単位(本実施形態では1日)に割り付け可能な1又は複数の勤務項目で構成されるものである。ちなみに、互いに構成要素は同一であるが並び(順列、配列)が異なる複数の勤務項目組合せは互いに別の勤務項目組合せとして認識される。符号27で示されるように、勤務項目組合せリストの生成時に、割付条件群16の全部又は一部が参照される。
一方、セグメントマトリクス構成部30により、仮勤務表34上においてセグメントマトリクスが定義される。あるいは、そのようなセグメントマトリクスが画定された勤務表として仮勤務表34が構成される。仮勤務表34は最終的な勤務表を作成する過程で試行錯誤的に繰り返し修正される暫定的な勤務表である。セグメントマトリクスは、複数の割付セグメントの二次元配列として構成され、各割付セグメントは所定の時間単位を有する一定の割付単位である。つまり、勤務表を作成すべき一定期間が所定の時間単位をもって複数に区分され、これにより勤務者ごとに時間軸方向に複数の割付セグメントが画定される。従来のようにセルを割付単位として自動割付を行う場合、各セルの時間長が不定の場合には、その自動割付が困難となるが、本実施形態では、1又は複数のセルを包含する、一定長をもった割付セグメントという固有の割付単位を導入することにより、本来的に不定形処理が必要な問題に対して定形処理を適用することが可能となる。
すなわち、複数のスタッフに対して様々な時間長をもった複数の勤務項目が割り付けられる勤務表(第2種の勤務表)において、それ全体として見た場合、各スタッフ間で共通の時間的区切りが存在すれば、その共通の時間的区切りを所定の時間単位として認識して、それを割付単位として利用することが可能となる。つまり、画一的なセグメントマトリクスを基礎として自動割付を行うことが可能である。その前提として、上述した各勤務項目組合せは、そのような所定の時間単位を基準として、そこに割付可能な候補として生成される。以上のように、勤務表上に最終的に設定されるセル配列の上位区分概念としてセグメントマトリクスを定義し、同時に、それに割り付ける候補の集合を定義しておけば、第2種の勤務表であっても第1種の勤務表と同様に自動割付を行うことが可能となる。
以上を前提として、符号32で示されるように、演算処理部12の自動割付評価機能により、仮勤務表34上における割付可能な(つまり未確定状態の)各割付セグメントに対して、勤務項目組合せリスト中のいずれかの勤務項目組合せが仮に割り付けられる。仮勤務表34に対する1つの(又は複数の)勤務候補の組合せの自動割付の後、符号36で示されるように、評価計算部35が仮勤務表34の内容を評価する。その場合、符号38で示されるように割付条件群16の全部又は一部が参照され、また符号40で示されるように、必要に応じて、実勤務表18の内容が参照される。その場合、例えば、手動設定の内容や前回利用された勤務表などが参照される。いずれにしても、評価計算部35は、手動割付及び自動割付の内容を総合評価する。評価計算部35の評価結果が一定の条件を満足しない場合、再度、仮勤務表34に対する自動割付評価処理が繰り返し実行される。そのような過程が反復されて最終的に仮勤務表34の設定内容が満足できるものとなった場合、符号42で示されるように、その仮勤務表34の自動割付内容が実勤務表上に反映(コピー)される。
以上のように、時間長が異なる複数の勤務項目を勤務表に割り付ける場合であっても、勤務表上から見出される共通の時間的区切りを利用し、それを基準として割付セグメントを定義すると共に、それに適合する複数の勤務項目組合せを生成しておけば、シンプルな割付演算をもって迅速に勤務表を作成できる。なお、勤務表上の一部に所定の時間単位で区切れない特異部分が存在する場合、それについては例外的処理を適用してもよい。例えば、その特異部分に対しては、手動割付で対処してもよく、あるいは、別の割付アルゴリズムを適用してもよい。
以下、図2以降の各図を参照しつつ、本実施形態に係る勤務表作成システムについてより詳細に説明することにする。
(2)実施形態に係るシステムの全体的説明
図2には、勤務表作成システムの構成例が示されている。このシステムは、例えば、一般的な計算機(パーソナルコンピュータ等)上に構築され、上記の各機能は当該システム上で動作するプログラムとして実現される。既に説明したように、勤務表作成システムは、データ格納部10及び演算処理部12を有する。演算処理部12は、上記各機能を実現するプログラム56及びCPUなどのハードウエアを有する。データ格納部10は、ハードディスクなどの外部記憶装置あるいは主記憶に相当する。データ格納部10には、図示のように、マスター情報記憶部52、割付条件群記憶部50、及び、実勤務表記憶部54などを有する。
マスター情報記憶部52には、勤務表を作成する上でのマスター情報となる「勤務情報」、「スタッフ情報」、「カレンダー情報」などが登録される。勤務情報には勤務項目リストが含まれる。図3には勤務項目リスト100の主要部分が例示されており、その勤務項目リスト100には、勤務名称、勤務時間帯、自動割付指定の有無などが含まれる。更に、図示されていないが、勤務項目を示すマークも含まれる。そのマークは、勤務表上に表示される勤務項目の名称(勤務名称)を示す略号である。勤務時間帯は、一般に開始時刻と終了時刻とで定義され、その他、実働時間や休憩時間等なども勤務時間情報として管理される。なお、既に説明した図1においても、勤務項目リスト14の一例が示されている(図3の勤務項目リスト100と図1の勤務項目リスト14はそれらの表現に若干の差異があるものの、それらのリストの実体的構成は同一である)。
図3に示す勤務項目リスト100上において、各勤務項目についての自動割付指定の有無は、自動割付に先立って勤務項目組合せ(割付候補)を生成する場合に、その要素として当該勤務項目を利用するか否かを指定する属性である。つまり、その属性が「有」の勤務項目からなる集合102が(図1において符号20参照)、勤務項目組合せ生成処理に利用され、それ以外の勤務項目からなる集合104(図1において符号22参照)は勤務組合せ生成処理には利用されない。例えば、曜日別にまたは特定日に必要人数が決まっている場合や公休日など、定期的に発生する事項について自動割付指定として「有」が設定され、一方、不定期に発生する研修業務やスタッフが希望する有給休暇等については自動割付指定として「無」が設定される。その有無はユーザーにより指定することが可能であるが、デフォルトとしてプリセットされていてもよい。
図2のマスター情報記憶部52に含まれるスタッフ情報には、図示されていないスタッフリストが含まれる。そのスタッフリストには、スタッフの氏名、ID番号(社員番号等)、資格やスキル、所属グループ等が含まれる。更に、そのマスター情報記憶部52に記憶されたカレンダー情報には、日付、曜日、営業日、休業日などの情報が含まれる。
図2の割付条件群記憶部50には、勤務表を作成するために必要となる多様な割付条件が記憶される。各割付条件に対して、後述するように、それぞれ「重み(重み値)」が指定されている。割付条件の重みは、自動割付評価処理において、その割付条件をどの程度重要視するかを示すインデックスであり、その重みは「絶対」というラベルあるいは数値(度合い)として与えられる。重みが「絶対」として与えられたラベルは、その条件を満たすことが必須とされる。以下に割付条件の具体例を示す。
a)時間軸方向における各スタッフの勤務構成に関する割付条件
これは、勤務表における時間軸方向(例えば月間)の割付条件であり、各スタッフが当該条件を満たすか否かが個別的に判断される。例えば「供給条件」、「パターン条件」、「間隔条件」がある。なお、割付単位内における複数の勤務項目の時間軸方向の並びについては、後述するように、1日の勤務スケジュールに関する割付条件が定められている。
「供給条件」は、指定期間(例えば1ヶ月)内でのスタッフの勤務回数または実働時間の上限、下限、目標回数に関する条件である。例えば、以下のように定められる。
・公休の回数は1ヶ月間で下限8回とする(重み:20)
・スタッフBの夜勤の回数は1ヶ月に上限6回とする(重み:100)
「パターン条件」は、各スタッフについての連続した勤務項目の並びの中で、回避したい並びを定める条件である。例えば、以下のように定められる。
・残業について、早出日勤との並びは回避する(重み:300)
・公休について、遅出日勤との並びは回避する(重み:50)
「間隔条件」は、各スタッフについて、勤務項目と勤務項目の間隔日数の上限、下限、目標を定めた条件である。例えば、以下のように定められる。
・休日と休日の間隔を上限5日とする(重み:10)
b)各日ごとのスタッフ構成に関する割付条件(日ごとの割付条件)
これは、勤務表における縦の割付条件であり、つまり、勤務表の中で1日ごとに当該条件を満たすか否かが判断される。例えば「需要条件」、「スタッフ組合せ条件」がある。
「需要条件」は、スタッフの資格等を考慮しつつ、勤務項目ごとに1日のスタッフの上限、下限、目標の人数を定める条件である。例えば、以下のように定められる。
・9:00〜12:00の電話対応勤務を10名とする(重み:絶対)
・9:00〜12:00の電話対応勤務について、
1名以上「ベテラン」のスキルを持つスタッフとする(重み:絶対)
・13:00〜15:00の受付勤務について、
「新人」のスキルを持つスタッフを1名以下とする(重み:100)
「スタッフ組合せ条件」は、あるスタッフについて、同じ業務を一緒に行いたい、または行いたくない他のスタッフを定める条件である。
・スタッフAは、受付勤務でスタッフB、C、Dとは組まない(重み:100)
・スタッフEは、電話対応勤務でスタッフF、G、H、Iのいずれかと組む
(重み:絶対)
c)1日の勤務スケジュールに関する割付条件(割付単位ごとの割付条件)
これは、割付セグメントの時間単位である1日について、各スタッフに割り付けられる勤務スケジュールに関する割付条件である。例えば、「スタッフ出勤時間帯条件」、「勤務時間間隔条件」、「勤務項目組合せ条件」がある。
「スタッフ出勤時間帯条件」は、各スタッフの出勤時間帯(出社〜退社、曜日等)に関する条件である。例えば、以下のように定められる。
・スタッフAの勤務時間帯は9:00〜18:00(重み:500)
・スタッフBの勤務時間帯は平日のみ9:00〜18:00(重み:500)
・スタッフCの勤務時間帯は月曜のみ9:00〜18:00(重み:500)
「勤務時間間隔条件」は、1日の中に割当てられる勤務項目間の間隔(空き時間、時間帯の重複)の上限や下限の条件である。例えば、以下のように定められる。
・勤務項目間での勤務時間帯の重複の禁止(重み:絶対)
・勤務項目間の間隔の上限を1時間とする(重み:500)
「勤務項目組合せ条件」は、1日の中に割当てられる勤務項目組合せについての条件である。例えば、以下のように定められる。
・勤務Aと勤務Bの両方を1日に割り当てない(重み:300)
図2における実勤務表記憶部54には、所属スタッフの指定期間分(1ヶ月等)の勤務予定としての実勤務表、及び、指定期間より過去分の実勤務表が格納される。仮勤務表と同様に、自動割付評価処理においては、実勤務表上においても、セグメントマトリクスが定義あるいは認識される(但し、本実施形態では各割付セグメントを日付とスタッフによって定義できるので特別な演算は必ずしも不要である)。その中の任意の割付セグメント(割付単位)の全体又は一部に対して、自動割付評価処理に先立って、ユーザーの手入力により、1又は複数の勤務項目を固定的に指定することが可能である。その際、当該割付セグメントに対し、自動割付評価処理で参照される属性がユーザーにより(場合によっては自動的に)指定される。その属性としては本実施形態において次の3つが用意されている。
a)個々の勤務に対する固定指定(「勤務の固定指定」)
これは、1日中のある部分的な時間帯において、あらかじめ決まっている研修や会議の予定等を部分的に指定するための属性である。割付セグメントにおいて部分的に固定指定がなされた勤務項目については、後の自動割付処理によって変更されない(つまり、上書きが部分的に禁止される)。但し、その1日の中の空いている時間帯には、割付条件を考慮した上で、他の勤務項目が(追加で)自動的に割付けられることがある。例えば、半日有休の希望があり、残りの時間帯に勤務項目を自動的に割り付けたい場合に、この指定がなされる。
b)割付単位全体に対する固定指定(「割付単位の固定指定」)
これは、あるスタッフの特定日のスケジュールがすべて確定している場合(スタッフの有休等の希望等も含む)などに、それに該当する割付セグメントについて全体的に指定される属性である。この割付単位の固定指定がなされた割付セグメントについては、上記の「勤務の固定指定」の場合と同様、自動割付処理によってその登録内容が変更されない(つまり、それに対する上書きが全面的に禁止される)。つまり、この「割付単位の固定指定」の場合には、割付セグメント中に空き時間帯があったとしても、他の勤務項目を追加で割り付けることができず、その点で上記の「勤務の固定指定」の場合と異なる。
c)固定指定なし:この属性が設定された割付セグメントについては自動割付処理による対象となる。
以上のように、割付セグメントの全体を自動割付対象から除外する指定の他に、割付セグメント中の一部を自動割付対象から除外する指定を行えるようにしたので、割付セグメントという大まかな時間単位での自動割付処理を基本としつつも、1つの割付セグメント内において、細かい手動割付と補完的な自動割付を併用することが可能となる。もちろん、そのような部分的な空き時間に対する自動割付が可能となるように、割付候補リストには時間的な隙間に当て嵌め可能な多様な割付候補が含まれる。
図2に示した演算処理部12において、プログラム56は、勤務項目組合せ生成部58、セグメントマトリクス構成部30、割付処理部62、評価計算部35などの機能を有し、それらによって仮勤務表34が作成及び評価される。勤務項目組合せ生成部58は、自動割付の指定がなされている複数の勤務項目を用いて、後に図4に示す勤務項目組合せリスト(割付候補リスト)を生成する。勤務項目組合せの生成については後述する。セグメントマトリクス生成部30は、仮勤務表34上にセグメントマトリクスを構成し、つまり、仮勤務表34上における各スタッフごとに時間軸上に固定長をもった複数の割付セグメントを定義する。仮勤務表34はプログラム56の実行に際して暫定的に生成され、それは演算処理部12における内部メモリ上に保有される。仮勤務表34の最終的な内容は実勤務表(図1の符号18及び図15)上にコピーされる。その実勤務表は、表示部66の画面上に表示される。自動割付評価処理の実行過程における仮勤務表と実勤務表の関係については後に図5を用いて詳述する。
割付処理部62は、仮勤務表34上で自動割付を実行する手段である。評価計算部35は、割付条件群に基づいて、自動割付の結果を手動割付内容を含めて総合的に評価する手段である。その評価値の演算方法については後に図6乃至図8を用いて詳述する。仮勤務表34の内容が徐々に優良化して、一定の終了条件を満足するまで、自動割付評価処理が繰り返される。その自動割付評価処理では、まず、仮勤務表34において、全体的に又は部分的に自動割付可能な(未確定状態の)個々の割付セグメントに対して何らかの勤務項目組合せが割り付けられる。つまり、初期解が生成される。そして、その仮勤務表34についての評価結果(評価値)が徐々に良くなるように、仮勤務表34の修正と評価が繰り返される。その処理は、評価値が自動割付評価処理を終了するための所定条件を満足するまで反復して行われる。ちなみに、初期解の決め方の例として、例えば、すべての各割付セグメントに同じ勤務項目組合せを割り付ける方法、各割付セグメントにランダムに勤務項目組合せを割り付ける方法などをあげることができる。その後の自動割付評価処理に当たっては、「山登り法」、「整数計画法」、「遺伝的アルゴリズム」、「シミュレーテッドアニーリング」などの公知のアルゴリズムを利用するのが望ましい。
図2において、表示部66は、液晶ディスプレイなどの表示器で構成される。その表示部66には手動割付及び自動割付により最終的に確定された勤務表などが表示される。入力部68は、キーボード、マウス等のポインティングデバイスで構成される。この入力部68を用いて、各スタッフについて予め決まっている勤務予定、希望休暇日などを入力することができる。また、入力部68を用いて、カレンダー情報やスタッフ情報などを入力することができ、また割付条件やその重みの設定を行うことができる。更にそれを用いて自動割付開始指示を入力することができる。なお、各情報については、外部とのインターフェイス64を介してネットワークを通じて授受することができる。例えば、データ格納部10に格納されている情報をネットワーク上のサーバーに格納するように構成してもよい。
(3)自動割付処理の詳細説明
上記のように、本実施形態では1日の時間長を有する各割付セグメントに割り付け可能な勤務項目組合せが自動割付評価処理に先立って生成される。各勤務項目組合せは上記のように割付候補である。各勤務項目組合せを便宜的に1つの勤務項目とみなせば、各スタッフについて1日に1つの勤務項目を割り当てる従来の手法(第1の評価表を自動作成する従来法)を利用して、第2の評価表を作成することが可能となる。上述したように、各勤務項目組合せは、勤務表の自動割付評価処理の前処理として生成され、システムの内部メモリに一時的に格納される。その際、データ格納部10に登録されている勤務項目リスト(図3の符号100参照)のうちで、自動割付指定が「有」のものだけが選択され、その選択された勤務項目の集団を利用して個々の勤務項目組合せが自動的に生成される。生成された複数の勤務項目組合せの一例が図4において勤務項目組合せリスト106として示されている。その勤務項目組合せリスト106について以下に説明する。
図4において、個々の勤務項目組合せについては、それを構成する1又は複数の要素(勤務項目)の内容が定義され、また、上書き指定の有無、ラベルなどが属性として付与あるいは管理されている。ラベルは、各勤務項目組合せの識別子である。ここで、上書き指定は、手動割付を前提として自動割付を行う場合に、両者を整合させる管理情報として利用される。具体的には、上書き指定には、本実施形態において、「追加」と「変更」の2種類の属性がある。例えば、図4に示す例において、勤務Aのみで構成される割付候補として、上書き指定が「追加」と「変更」で2種類の勤務項目組合せが用意され、それらが使い分けられる。他の勤務項目組合せについても同様である。
ここで、「追加」は、実勤務表上に「勤務の固定指定」がなされている割付セグメントに対して(つまり、部分的に固定指定がなされているものに対して)、当該「追加」属性をもった勤務項目組合せを割付可能であることを示す。この場合、1つの割付セグメントにおいて、固定指定がなされていない残余の空き部分が自動割付の対象となる。一方、「変更」は、実勤務表上の「割付単位の固定指定」及び「勤務の固定指定」のいずれもがなされていない割付セグメントに対して、当該「変更」属性をもった勤務項目組合せを割付可能であることを示す。この場合、1つの割付セグメントの全体が自動割付の対象となる。
本実施形態において、勤務項目組合せの生成にあたっては、割付条件群の中から、勤務項目間の時間間隔や勤務項目間での重複回避などの時間的な割付条件が考慮される。つまり、それらの割付候補生成に係る割付条件を満たすように、各勤務項目組合せが生成される。その場合、それらの割付条件を考慮して、上書き指定「追加」及び「変更」の設定要否が判断される。本実施形態では、後に詳述するように、「追加」の属性を指定可能な勤務項目組合せの中で、さらに「変更」の属性を指定可能なものが特定され、それについては別途「変更」の属性も設定されている。
図4において、符号108は特別な割付候補を示す。それは、自動割付に当たっては通常の勤務項目組合せと便宜上同様に取り扱われるが、特定の実体的内容を有せず、それが割り付けられた割付セグメントについて上書きを禁止する作用をもつものである。その上書き指定の属性は「非変更」であり、そのラベルは記号「*」である。その役割あるいは利用価値については後述する。
なお、本実施形態においては、個々の勤務項目組合せについて上記のような「追加」及び「変更」の属性を指定していたが、これらに限られるものではなく、各勤務項目組合せに対して、上書き指定の内容を「追加のみ可能」あるいは「追加・変更可能」とすることにより、生成する勤務項目組合せの個数を削減することも可能である。いずれにしても手動設定に係る「割付単位の固定指定」及び「勤務の固定指定」を考慮して、仮勤務表上に対する自動割付が適切になされるように、各割付セグメントの属性あるいは各割付候補の属性が管理される。
次に、図5を用いて、仮勤務表34と実勤務表18の関係について説明する。上記のように、仮勤務表34は、自動割付評価処理の過程において、実勤務表(実勤務表データ)18とは別に、メモリ上に一時的に作成される暫定的な勤務表である。最終的に得られる実勤務表18は、例えば、図15に示したように、各スタッフについて時間長の異なる複数の勤務項目の並びが設定される。つまり、1日内に時間長が異なる複数のセルが設定される。一方、仮勤務表34は、1日を割付単位とするセグメントマトリクスとして構成される。本実施形態では、1日が実勤務表における各スタッフ間の共通の時間的区切りであり、それが割付セグメントの時間長に相当することは上述した通りである。このように、複雑な構成を有する実勤務表を直接の処理対象とせずに、シンプルに構された仮勤務表を直接の処理対象とすることにより、各種の既存の割付アルゴリズムを利用して仮勤務表を作成し、ひいては実勤務表を作成することが可能となる。
但し、仮勤務表34及び実勤務表18の区別あるいはそれらを利用した処理は演算処理上の都合によるものである。よって、何らかの形式で割付セグメントのマトリクスを構成できれば、単一のテーブルを利用して割付評価処理を遂行させることもできる。例えば、そのようなテーブルに対して手動割付を行った上で、そのようなテーブルに対して自動割付を行うこともできる。
図5に示す例では、実勤務表18に、符号74Bで示されるように、特定スタッフの特定日(特定の割付セグメント)に対して「勤務の固定指定」がなされている。つまり、1日の内で特定の部分的な時間帯76に対して特定の勤務項目が手動設定によって固定的に設定されている(ここでは勤務項目Cが設定されている)。また、実勤務表18上において、符号70Bで示されるように、別の特定の割付セグメントには「割付単位の固定指定」がなされている。つまり、該当日の全体について固定的な設定がなされている(ここでは有給休暇が設定されている)。一方、実勤務表18と同様にセグメントマトリクスを有する仮勤務表34上においては、実勤務表18の符号74Bで示される割付セグメントに対応する割付セグメント74Aに、自動割付により上書き指定が「追加」である勤務項目組合せが割り付けられ、ここではラベルp1の勤務項目組合せが割り付けられている。ラベルp1は、勤務項目Aのみによって構成される勤務項目組合せである(図4)。つまり、割付セグメント74A(及び74B)内において、手動設定された勤務項目C以外の空き時間帯に、上書き指定が「追加」である勤務項目組合せが追加的に自動割付されている。仮勤務表34において、割付セグメント72Aについては、それに対応する手動割付は何らなされておらず、つまり「勤務の固定指定」及び「割付単位の固定指定」のいずれの指定も存在せず、上書き指定が「変更」の勤務項目組合せが割り付けられている。ここでは、ラベルp2で特定される勤務項目組合せが割り付けられている。
一方、仮勤務表34上において、実勤務表18上の割付セグメント70Bに対応する割付セグメント70Aには、上書き指定「非変更」の属性をもった特別な割付候補が設定される(それが「*」の記号で示されている)。すなわち、実勤務表18における割付セグメント70Bについては、手動割付時に「割付単位の固定指定」がなされており、仮勤務表34上の対応する割付セグメント70Aに対する自動割付に当たっては、その「割付単位の固定指定」を遵守するため、当該割付セグメント70Aの全体が上書き禁止とされる。このように、「非変更」の属性は、手動設定において「割付単位の固定指定」がなされた割付セグメントに対して必ず割り付けられるものである。ちなみに、「勤務の固定指定」として部分的に勤務項目が固定的に指定されている場合にも、割付候補の1つとして、「非変更」の属性をもった特別な割付候補が割り付けられるようにするのが望ましい。その場合、固定指定された勤務項目以外の空き時間に対して設定される「非変更」の属性は、当該空き時間に何も勤務項目を割り付けないことを示す。
以上のように、実務表18上において手動指定が行われると、仮勤務表34の作成時に、手動指定の内容に従って、各割付セグメントに対して適切な勤務項目組合せが設定され同時に適切な属性が設定される。
自動割付後の仮勤務表34の評価に当たっては、仮勤務表34に対して設定された各割付セグメントの勤務項目組合せ及び属性が参照され、必要に応じて、更に実勤務表18上における対応の割付セグメントの内容が参照される。この場合、仮勤務表34上において割付セグメントに与えられた属性が「非変更」であれば、実勤務表18上における対応の割付セグメントの内容が参照され(符号110参照)、その内容が当該割付セグメントの指定内容であると認識される。仮勤務表34上において割付セグメントに与えられた属性が「変更」であれば、そこに割り付けられた勤務項目組合せがそのまま採用される。仮勤務表34上において割付セグメントに与えられた属性が「追加」であれば、実勤務表18上における対応の割付セグメントの内容(「勤務の固定指定」を伴う勤務項目)が参照され(符号112参照)、同時に、仮勤務表34における当該割付セグメントに追加で割り付けられた勤務項目組合せが参照され、それらの両方を結合させたものが当該割付セグメントの内容をなすものとみなされる。
図5に概念的に示される評価計算部35は、以上のような参照を行い、つまり仮勤務表34の参照及びそれを介した実勤務表18の参照を行い、割付条件群に照らして、現在の仮勤務表の内容について評価値を数値として演算する。その詳細については後述するが、例えば、実勤務表18上に固定的に指定された勤務項目と仮勤務表34上に自動割付された勤務項目組合せとの間で、時間帯の重複(オーバーラップ)が発生した場合は、それがペナルティとして評価値に反映される。上記の自動割付評価処理は所定の終了条件を満たすまで繰り返される。所定の終了条件を持たした時点の仮勤務表34の内容が実務勤務表18へコピーされる。その際、「非変更」の属性が設定されていない各割付セグメントの内容がコピーされる。なお、実勤務表18の参照は、評価値の計算時よりも前の時期、例えば初期解生成時などに行うようにしてもよい。
(4)評価処理の詳細説明
次に、評価計算部による評価値の計方法算について詳述する。評価計算部においては、自動割付の結果として作成(修正)された勤務表について評価値を計算する。ここで、評価対象となる勤務表は直接的には上記の仮勤務表であるが、より正確には、仮勤務表の内容に実勤務表上の内容を加えたもの(手動割付及び自動割付に係る勤務表)が評価対象となる。評価値は、評価対象となった勤務表上の複数の割付セグメントに何らかの勤務項目が割付けられた状態(勤務表に空白が残っている状態であってもよい)において、当該勤務表に対して1つ定められる数値であり、ここでは、その数値が小さいほど良い内容を表すものとする。つまり、評価値は、割付条件群をそれ全体としてどの程度満足するのか定量的に指標する数値である。勤務表をXとし、その評価値(全体評価値)をE(X)とし、各割付条件についての評価関数をETYPE(X)とした場合、評価値E(X)は、以下のように全種類の評価関数ETYPE(X)の関数値(個別評価値)の和として定義される。ここで、各評価関数ETYPE(X)の関数式は、割付条件の種類によって異なるものである。
E(X)=ΣETYPE(X) ・・・(1)
以下に、割付条件ごとの評価値の計算方法の例を示す。
a)割付セグメントを評価単位とする評価区分
勤務表上において、スタッフと日付で特定される割付セグメントごとに、勤務内容(勤務項目の並び)が参照され、それに関わる複数の割付条件について違反があるかどうかが判断される。ここでは割付条件ごとの違反度合いがペナルティ値とされる。割付セグメントごとに複数の割付条件についてのペナルティ値が加算され、その加算値を勤務表全体について合計することによって、割付セグメントを評価単位とした評価区分における評価値が求められる。以下では、割付セグメントごとの割付条件である、スタッフ出社時間帯条件、勤務時間間隔条件および勤務項目組合わせ条件についての評価例を示す。
・スタッフ出社時間帯条件についての評価例
例えば「スタッフAの勤務時間帯は、9:00〜18:00(重み:500)」という条件が設定されている場合において、スタッフAについてのある割付セグメントにおいて、最初の勤務の開始時刻が8:30であるときには、そのスタッフAの出社時刻が30分早まってしまうので、このスタッフ出社時間帯条件に関するペナルティ値は500となる。同様に、その日に最後の勤務の終了時刻が退社時刻より遅い場合も、同様のペナルティ値となる。同様の計算をすべてのスタッフ出社時間帯条件及びすべての割付セグメントについて行い、全部のペナルティ値を合計したものが評価関数(スタッフ出社時間帯条件用)の値となる。
・勤務時間間隔条件についての評価例
例えば「勤務項目間の間隔の上限を1時間とする(重み:500)」という条件が設定されている場合において、ある割付セグメント、勤務項目A(9:00〜11:00)と勤務項目B(13:00〜15:00)が割り付けられると、勤務項目間の空き時間が11:00〜13:00(2時間)となり、1時間を超えてしまうことになるので、この勤務時間間隔条件についてのペナルティ値は500となる。
同様の計算を全ての割付セグメントに対して行い、全部のペナルティ値を合計したものが評価関数(勤務時間間隔条件用)の値となる。なお、条件が「下限○時間」、「重複禁止」の場合も、ペナルティ値として同様に重み値を用いればよい。
なお、割付条件の重みとして「絶対」が設定されている場合、ペナルティ値の計算において擬似的に重みとして十分大きな数(10000など)を用いて計算するようにすれば、上記と同じ扱いで「絶対」を考慮することができる。例えば、「勤務項目間の重複の禁止(重み:10000)」という条件があるとき、ある割付セグメントに予め手入力により、研修A(10:30〜15:30)を入力していた場合、自動割付により勤務B(13:00〜15:00)が割り付けされると、重複が発生し、勤務時間間隔条件のペナルティ値は10000となる。なお、ペナルティ値は、重複が発生した場合に一律に同じ値を与えてもよいし、重複条件に応じて可変させてもよい。
・勤務項目組合せ条件についての評価例
例えば「勤務項目Aと勤務項目Bの両方を同じ日に割り当てない(重み:300)」という条件がある場合において、ある割付セグメントに対して、勤務項目Aと勤務項目Bが割り付けられた場合、条件に違反していることになるので、この勤務組合せ条件のペナルティ値は300となる。同様の計算を全ての割付セグメントに対して行い、ペナルティ値を合計したものが評価関数(勤務組合せ条件用)の値となる。
なお、上記の勤務時間間隔条件と勤務項目組合せ条件に関しては、それらが絶対条件であれば、勤務項目組合せの生成段階で、そのような違反対象を生成しないようにするのが望ましい。但し、そのような場合でも、ユーザが手入力で「勤務の固定指定」を行った割付セグメントに追加的に特定の割付候補が割付られた場合は、絶対条件が禁止である場合が発生し得るので、その時はペナルティ値として評価関数に反映させる。
b)スタッフを評価単位とする評価区分
勤務表中のあるスタッフ1名分のスケジュールを(横方向に)見て、そのスタッフに対する割付条件の違反があるかどうかが判断される。ここでは、スタッフごとの違反度合いをペナルティ値とする。このペナルティ値をスタッフごとに計算し、勤務表全体でそれらの和をとれば、スタッフを評価単位とした評価区分についての評価値が求められる。以下では、スタッフごとの割付条件である供給条件、パターン条件および間隔条件について評価例を示す。
・供給条件についての評価例
例えば「公休の回数は1ヶ月間で下限8回とする(重み:20)」という条件があるとき、あるスタッフに対する1ヶ月の公休の回数合計が6回だったとすると、条件で指定された回数を2回下回っているので、この供給条件に対するペナルティ値は2×20=40となる。同様の計算を全ての供給条件、すべてのスタッフに対して行い、ペナルティを合計したものが評価関数(供給条件用)の値となる。
なお、条件が「上限○回」の場合、ペナルティ値としては(条件を指定した回数を上回った回数)×(重み)の値を用いればよく、当該条件が「目標○回」の場合は(条件で指定した回数との差)×(重み)の値を用いればよい。
・パターン条件についての評価例
例えば「残業→早出日勤の並びは回避する(重み:300)」という条件があるとき、あるスタッフについて、1ヶ月間に「残業→早出日勤」の並びが3回出現していたとすると、このパターン条件に対するペナルティ値は、3×300=900となる。同様の計算を全てのパターン条件、すべてのスタッフに対して行い、ペナルティ値を合計したものが評価関数(パターン条件用)の値となる。なお、前の月から引き続く勤務表を作成する場合には、前月とまたがって出現する「残業→早出日勤」の並びも1回として数えてよい。
・間隔条件についての評価例
例えば「休日と休日の間隔を上限5日とする(重み:10)」という条件があるとき、あるスタッフについて1ヶ月内に休みと休みの間隔が5日を超える箇所が2箇所出現していたとすると、間隔条件に対するペナルティ値は2×10=20となる。同様の計算を全ての間隔条件、全てのスタッフに対して行い、ペナルティ値を合計したものが評価関数(間隔条件用)の値となる。なお、前の月から引き続く勤務表を作成する場合には、前月とまたがって休日間隔が5日を超える場合も1回として数えてよい。
c)日を評価単位とする評価区分
勤務表中におけるある1日分のマスだけを(縦方向に)見て、その日について割付条件の違反があるかどうかが判断される。ここでは、日ごとの違反度合いがペナルティ値となる。日を評価単位とするすべての割付条件に対してペナルティ値を計算し、それらを日ごとに集計し、更に勤務表全体として合計すれば、日を評価単位とした評価区分についての評価値が求められる。例えば、次の通りである。
・需要条件についての評価例
例えば「「ベテラン」のスキルを持つスタッフに対して、電話対応勤務(9:00〜12:00)を2名以上とする(重み:100)」という条件があるとき、勤務表中のある日のベテランの電話対応勤務(9:00〜12:00)の人数が1名だったとすると、条件で指定された人数を1名下回っているので、ペナルティ値は1×100=100となる。同様の計算を全ての需要条件、全ての日に対して行い、ペナルティ値を合計したものが評価関数(需要条件用)の値となる。なお、割付条件が「上限○名」の場合は、ペナルティ値としては、(条件で指定した人数を上回った人数)×(重み)の値とし、それが「目標○名」の場合は(条件で指定した人数との差)×(重み)の値を用いればよい。
・スタッフ組合せ条件についての評価例
例えば「スタッフAは、受付勤務でスタッフB、C、Dとは組まない(重み:100)」という条件があるとき、勤務表中のある日にスタッフAに受付勤務が割付けられていたとする。そのとき、同じ日にスタッフB、C、Dのうちで2名に受付勤務が割り付けられていたとすると、当該条件に対して2名分違反していることになるので、ペナルティ値は2×100=200となる。このような計算を全てのスタッフ組合せ条件について行って、それにより得られる全ペナルティ値を合計したものが評価関数(スタッフ組合せ条件用)の値となる。
なお、スタッフごとの条件におけるペナルティ値の計算方法としては、条件違反の度合いが大きいほど大きな値をとる方法であればどのような方法でもよく、上記の例に限定されるものではない。すなわち、前述の供給条件を例にとると、条件で指定された回数を2回下回っている場合のペナルティ値として、下回った回数の2乗と重みの積、すなわち22×20=80という値を用いてもよい。また、スタッフごとの条件の種類については、上記の例以外にも多用な種類が考えられる。例えば「3連続の休日を月1回取得する」というような条件は、スタッフ毎の条件として表現しうる割付条件の一例である。この場合も、条件に違反した度合いが大きいほど値が大きくなるようなペナルティ値の計算方法を定義すれば、上記例と同様に取り扱うことができる。
d)実際の評価例
図6には実際の評価例が示されている。ここで、(A)には評価対象となる勤務表80が示され、(B)には日ごとの各勤務項目についての集計結果が示され、(c)には実働時間及び公休日数について各スタッフごとの月間の集計結果が示されている。符号82,84,86で示されるように、幾つかの箇所に割付条件違反が生じている。ここで、評価値の計算上利用される「重み」は例えば図7に示すように定義される。ここで、(A)には各勤務項目ごとの割付条件とそれに対応する重みが例示されている。(B)には勤務項目間の時間間隔についての割付条件とそれに対応する重みが例示されている。図8には、ペナルティ値のリストが示されている。複数のペナルティ値の合計値として、全体評価値が求められる。
(4)システム動作の説明
次に、図2に示したシステムの動作を図9〜図12を用いて説明する。図9には、システム(特に図2の演算処理部12)の全体的動作が示されている。ディスプレイ等の表示部に表示されたスタートボタンをクリックすることなどにより、本システムの動作が開始される。上述したように、勤務表の自動割付開始に先立って、手入力によって必要な勤務項目(有給休暇などを含む)がキーボード等の入力部を用いて固定的に指定される。
勤務表作成の開始が指示がされると、S11において、複数の勤務項目組合せが自動的に生成され、つまり勤務項目組合せリストが自動的に生成される。これについては後に図10を用いて詳述するが、このS11では、データ格納部10に収納されている勤務項目データが参照され、自動割付指定ありの勤務項目集団が抽出され、それに基づいて、演算処理部12内のメモリ上に、割付候補としての複数の勤務項目組合せが順次生成される。S12においては、仮勤務表についての初期解が算出され、それが仮勤務表上に反映される。上記のように仮勤務表は演算処理部内のメモリ上に一時的に作成されるものである。この初期解の算出に関しては後に図11を用いて詳述する。次に、S13において、初期解が与えられた勤務表あるいは以下に説明する修正処理を経た勤務表について、割付条件群に基づいて評価値が算出される。これについては上記において詳述した通りである。S14では、算出された評価値に基づいて、自動割付評価処理を終了するか否かが判定され、つまり、評価値が一定の終了条件を満足する程度に到達したか否かが判断され、終了可と判定された場合はS15ヘ処理が移行し、終了不可と判定された場合はS16へ処理が進む。
S16においては、後に図12を用いて説明するように勤務表を修正し、その後、処理がS13から再び繰り返し実行される。一般に、S13〜S16が繰り返し実行され、つまり自動割付評価処理が反復的に実行され、そのような過程において、勤務表の品質が徐々に改善していく(あるいは、多数の割付結果を求め、最終的に最も評価値の良い割付結果を採用してもよい)。上記の終了条件としては、「評価値が一定値より下回った」、「前回の評価より良くなかった(改善されなかった)」、「開始から一定の時間に達した」等をあげることができる。要求する品質や用途に応じて終了条件を適宜定めることができる。なお、一定時間を経ても勤務表を優良化できなかった場合、エラー処理を実行して、その旨をユーザーに警告してもよい。その場合、割付条件違反が生じている箇所をユーザーに対して明示したり違反度合いを数値で表示したりすることが可能である。S14において、終了条件を満たした場合、S15において、自動割付の最終結果として、仮勤務表の内容が実勤務表上にコピーされる。そして、その実勤務表が画面等に表示され、この処理が終了する。
図10には、図9に示したS11の工程の具体例が示されている。この図10に示されるプロセスにより、勤務項目組合せが自動的に生成されるが、その際、データ格納部に登録されているすべての勤務項目をその基礎にしてあらゆる組合せを生成すると、生成される勤務項目組合せの個数が極めて膨大となり、自動割付の処理効率がかえって悪化してしまう。そこで、本実施形態では、第1に、勤務項目組合せの生成に際し、その要素とする勤務項目を、上記のように自動割付指定のあるものに限定している。第2に、勤務項目組合せの生成に際し、複数の勤務項目を組み合せる場合には、データ格納部に登録されている割付条件(絶対条件)に違反しないような組合せ(例:勤務項目間で時間帯が重複しない組合せ、空き時間が一定条件を満足する組合せ)となるように制限が課せられている。このような2つの条件付けにより、必要な勤務項目組合せを確実に割付候補としつつも、無用な勤務項目組合せが割付候補となってしまうことを回避できる。そして、勤務項目組合せリスト(割付候補リスト)を小さくできるので、自動割付評価処理の効率を高めることが可能となる。
図10において、まずS001では、勤務項目組合せリスト及び初期リストが初期化される。なお、初期化後に、勤務項目組合せリストに対して、上述した上書き指定「非変更」の属性をもった割付候補が付加される。次に、S002において、自動割付指定がなされているすべての勤務項目に基づいて、すべての勤務項目組合せをリストアップする。生成されたすべての勤務項目組合せが一時的に初期リストに格納される。ここで、自動割付の指定がなされた勤務項目の個数をnとすると、複数の勤務項目の中から任意数の勤務項目を選択して順列を形成する場合として、勤務項目組合せの個数は2のn乗−1個となる。S003では、カウンタiが初期化され、以降カウンタの値が勤務項目組合せの上限数に到達するまでS004〜S010の工程が繰り返される。
S005では、初期リストからi番目の勤務項目組合せが取り出される。S006では、当該勤務項目組合せにおいて、勤務項目間で時間帯の重複があるかが判定される。重複がある場合には当該勤務項目組合せは勤務項目組合せリストには追加されず(割付候補からの除外)、処理がS010へ進む。S006において、重複がない場合は、処理がS007へ進む。S007では、当該勤務項目組合せが勤務項目組合せリストに追加され、その場合、その属性として上書き指定「追加」が設定される。S008では、当該勤務項目組合せに複数の勤務項目が含まれる場合において、それらの複数の勤務項目が、勤務時間間隔条件および勤務組合せ条件のうちで、スタッフに依存せずかつ重みが絶対である割付条件(例えば、勤務時間間隔が1時間以内、勤務Aと勤務Fは組合せないなど)をすべて満足しているか否かが判定される。1つでも違反がある場合は、処理がS010へ進み、すべて満足している場合は、処理がS009へ進む。S009では、当該勤務項目組合せが勤務項目組合せリストに別途追加され、その場合、その属性として上書き指定「変更」が設定される。つまり、本実施形態では、自動割付の便宜上、生成された勤務項目組合せが一定条件を満たす場合に、それについて2つの属性が付与され、それらが別々の割付候補として取り扱われることになる。もちろん、属性を独立して付与、管理できるように構成し、上記のような重複登録を行わないようにしてもよい。S010では、カウンタiの値が1つインクリメントされ、処理がS004へ移行する。
なお、不定期に実施する研修やスタッフが希望する有給休暇等、ユーザが自動割付を行う前に(「勤務の固定指定」または「割付単位の固定指定」として)手入力される勤務項目については、勤務項目組合せの生成対象から除外される。但し、それらの勤務項目をユーザが手入力で別途指定することは可能であるため、研修と有給休暇の組合せなど通常はあり得ない組合せ(割付条件にて禁止されている勤務項目同士の組合せ等)に関しても、特例として割り付けることは可能である。また、割付セグメントの全体ではなく部分的に勤務項目を固定的に入力したい場合に、それ以外の空き部分についての追加的な上書きを許容できるので、空いている時間帯に必要な勤務項目を割り付けることができる。このように、本実施形態によれば、実用性の高い勤務表作成システムを構成できる。
次に、図9に示したS12の工程について詳述する。S12では、仮勤務表上において、各割付セグメントに対して何らかの勤務組合せが初期解として割り付けられる。その初期解の生成にあたって、実勤務表上で「割付単位の固定指定」を行った割付セグメント(臨時の勤務や有給休暇等を指定した日)については、仮勤務表上においてそれに対応する割付セグメントに「非変更」の属性が割り付けられる。実勤務表上で「勤務の固定指定」を行った割付セグメント中の部分(臨時の会議等の設定部分)については、仮勤務表上においてそれに対応する割付セグメントに、上書き指定「追加」の属性をもった勤務項目組合せが割り付けられ、あるいは、「非変更」の特別な割り付けがなされる。仮勤務表上において、上記以外の割付セグメントに対しては、上書き指定「変更」の属性をもった勤務項目組合せが割り付けられる。各割付セグメントに対して勤務項目組合せを割り付ける方法については、公知の各種のアルゴリズムを利用することができるが、図11にはランダムに初期解を作成する方法が示されている。
そこで、図11を用いて、図9に示したS12の具体例について説明する。S101では、仮勤務表上の最初の日付が選択され、S102では、仮勤務表上の一番上のスタッフが選択される。S103では、上記のように選択されたスタッフ及び日付に対応する(つまり選択された割付セグメントに対応する)、実勤務表上の割付セグメントが参照される。その割付セグメントについての指定内容(あるいは状況)に応じて(S104)、仮勤務表上における対応の割付セグメントに対して、それぞれ以下のように勤務項目組合せが割り付けられる。
すなわち、(ア)実勤務表上で、ユーザーが「割付単位の固定指定」として勤務項目(臨時勤務や有給休暇等)を割付けた割付セグメントについては、仮勤務表上における対応の割付セグメントに「非変更」の属性が割り付けられる(S104−1)。(イ)実勤務表上で、ユーザーが「勤務の固定指定」として勤務項目(臨時の会議等)を割付けた部分を含む割付セグメントについては、仮勤務表上における対応の割付セグメントに対して、上書き指定「追加」の属性をもった勤務項目組合せ及び「非変更」の属性をもった特別の勤務項目組合せの中から、ランダムに選択された勤務項目組合せが割り付けられる(S104−2)。(ウ)それらの場合以外においては、割付セグメントには、上書き指定が「変更」である勤務項目組合せの中からランダムに選択された勤務項目組合せが割り付けられる(S104−3)。
ここで、上記S104−2において、実勤務上に「勤務の固定指定」としての勤務項目が設定されている場合に、仮勤務表上への自動割付に際し、一般の勤務項目組合せに加えて、「非変更」の属性をもった特別な勤務項目組合せを割付候補とする理由は次の通りである。例えば、実勤務表上に勤務項目Z(9:30〜17:30)を固定的に指定した場合を考える。仮に上記のような特別の勤務項目組合せを採用しない場合、勤務項目Z以外の空き時間には、ランダムに選択されたいずれかの上書き指定「追加」の勤務項目組合せが割り付けられることになるが、勤務項目間での重複を発生させずに、その空き時間に割り付けられる割付候補がない場合には、いかなる勤務項目組合わせを割り付けても、勤務表全体の評価値が改善されなくなる。これに対し、ランダムに割り付ける候補のひとつとして「何も割り付けない」場合、即ち「非変更」の属性をもった特別の割付候補を用意しておけば、上記問題を回避することができ、つまり、時間帯の重複を防いで、勤務表の評価値を改善できる余地を残せる。そのような考え方は、後述する図12における勤務表の修正(解の修正)においても同様に採用される。なお、初期解の生成時には、上記の「非変更」の属性をもった特別な割付候補を選択対象から除外し、解の修正時に「非変更」の属性をもった特別な割付候補を選択対象として採用するようにしてもよい。
S105では、現在選択しているスタッフが仮勤務表上の最後のスタッフであるか否かが判定され、最後のスタッフであれば処理がS107へ移行し、そうでない場合は処理がS106へ移行して次のスタッフが選択され、その後、処理がS103へ移行する。S107において、現在選択している日付が仮勤務表上の最後の日付であるか否かが判定され、最後の日付であれば、初期解生成処理を終了し、そうでない場合は、処理がS108に移行して、次の日付が選択される。
次に、図9のS16に示された勤務表の修正工程の具体例を図12に基づいて説明する。修正プロセスでは、仮勤務表について計算される評価値がなるべく良くなるように、仮勤務表に対する修正が繰り返し実行される。その修正に当たっては、公知の各種の手法を利用できる。例えば、「山登り法」、「整数計画法」、「遺伝的アルゴリズム」、「シミュレーテッドアニーリング」などの公知のアルゴリズムを利用できる。すなわち、本実施形態は、上記のように、セグメントマトリクスの設定及び割付候補の生成を行うことにより、第1種の勤務表の作成アルゴリズムを本来的に適用できない第2種の勤務表についても、かかるアルゴリズムを適用して、その作成を実現できるものである。もちろん、単純なランダム法などを用いて、勤務表の修正を行うようにしてもよい。但し、最適解の探索の進行に伴って、試行錯誤を繰り返しながらも、仮評価表の内容が次第に優良化(最適化)されるように、探索方法を決定し及びその諸条件を設定するのが望ましい。以下においては、選択されたアルゴリズムを便宜上、所定方法と表現することにする。
図12に示すプロセスは、図9に示したS14の終了条件判定において、仮勤務表の内容が終了条件を満足しないと判定された場合に、その実行が開始され、その実行結果としての修正された勤務表について、図9に示したS13の評価工程で評価値が算出される。そして、S14で終了条件に到達したと判断されるまで、図12に示すプロセスが繰り返し実行されることになる。なお、図12に示すプロセスの実行に当たっては、1回の修正工程で、1つの割付セグメントの内容のみを変更してもよいし、複数の割付セグメントを同時に修正するようにしてもよいし、更に、その修正数を動的に変更するようにしてもよい。
図12のS112及びS113で、所定方法に従って、仮勤務表上において日付及びスタッフが選択される(つまり割付セグメントが選択される)。S114では、上記のように選択されたスタッフ及び日付で特定される割付セグメントに対応する、実勤務表の割付セグメントが参照される。S114では、参照した実勤務表上の割付セグメントに指定されている内容に応じて、現在修正を行おうとしている仮勤務表上の割付セグメントに対して、以下のように勤務項目組合せが上書きにより割り付けられる。
すなわち、(ア)実勤務表上で「割付単位の固定指定」として勤務項目(臨時勤務や有給休暇等)が割付けられた割付セグメントについては、仮勤務表上における対応する割付セグメントに対して「非変更」を割付ける(S115−1)。但し、既に初期解の生成時等において実勤務表上の「割付単位の固定指定」を認識し、且つ、仮勤務表上に「非変更」の属性を設定した割付セグメントについては、それをS115で判断して、S115−1の工程を経由することなく、S116で示すように、直ちにS112及びS113の工程を再び実行させるようにしてもよいし、そもそも、そのような「非変更」の属性をもった割付セグメントがS112及びS113において選択されないように条件付けしてもよい。一方、S115において、(イ)実勤務表上で「勤務の固定指定」として勤務項目(臨時の会議等)が部分的に割り付けられている割付セグメントについては、仮勤務表上の対応する割付セグメントに対して、上書き指定「追加」の属性をもった勤務項目組合せ及び「非変更」の属性をもった特別な勤務項目組合せの中から、所定方法に従って選択された勤務項目組合せが割り付けられる(S115−2)。(ウ)それら以外の場合には、上書き指定「変更」の属性をもった勤務項目組合せの中から所定方法に従って選択された勤務項目組合せが当該割付セグメントに割り付けられる(S115−3)。
以上のプロセスが図9のS14における終了条件を満足するまで繰り返される。本実施形態では、上記(1)式に示した評価値(全体評価値)が所定値以下となった場合に終了条件を満たしたと判断される。なお、ファジー推論などを利用して複数の評価値を総合考慮して終了判定を行うようにしてもよい。更に、反復回数や経過時間の上限を別の終了条件として定めておいて、その条件に該当した場合にはエラー判定を行うようにしてもよい。また、評価値の変化の推移を観察し、反復回数が一定回数に達するまでの間に、全体評価値の改善が見られなければ強制的に終了させてエラーを判定するようにしてもよい。
さて、上記のように仮勤務表について最適化が図られたと判断された場合、図9におけるS15においては、仮勤務表の内容が実勤務表へコピーされることになるが、具体的には例えば次のような処理が実行される。まず、仮勤務表上において、最初の日付が選択され、また、最初のスタッフが選択される。つまり、最初の割付セグメントが選択され、その割付セグメントの内容が参照される。そして、その割付セグメントに設定されている属性に応じて、次のような処理が実行される。(ア)「非変更」の属性が設定されている場合には、コピー等の処理はなされない。(イ)上書き指定「変更」の属性をもった勤務項目組合せについては、その勤務項目組合せが実勤務表における対応の割付セグメント(対応日)にコピーされる。(ウ)上書き指定「追加」の属性をもった勤務項目組合せについては、勤務項目組合せが実勤務表における対応の割付セグメントにおける対応箇所(対応日における空き部分)にコピーされる。そして、以上の処理が、最後のスタッフについての最後の日付、つまり最後の割付セグメントに至るまで繰り返される。
上記の実施形態によれば、共通の時間的区分としてのセグメントマトリクスを導入し、同時に、固定長の割付セグメントに当て嵌め可能な割付候補リストを生成しているので、第1種の勤務表を作成する既存のアルゴリズムを利用しつつ、そのアルゴリズムそれ自体では作成困難な第2種の勤務表を作成することが可能となる。上記実施形態においては、割付候補の生成にあたって、自動割付指定の有無及び勤務候補の並びに関する条件を考慮するので、生成される割付候補数を削減して、自動割付処理の繰り返し実行における処理効率を向上させることができる。また、上記実施形態においては、実勤務表と仮勤務表の区別により、同時に属性の指定及び管理により、手動割付と自動割付の調整、調停を巧妙に行うことができる。但し、一元的な勤務表上において手動割付と自動割付を行うようにしてもよい。
本発明に係る勤務表作成システムを示す概念図である。 本発明に係る勤務表作成システムの構成を示すブロック図である。 実施形態における勤務項目リストの一例を示す図である。 実施形態における勤務項目組合せリスト(割付候補リスト)の一例を示す図である。 実勤務表と仮勤務表の関係を示す説明図である。 勤務表の評価を説明するための図である。 勤務表上の条件違反を説明するための図である。 勤務表の評価値演算方法を示す図である。 図2に示したシステムの動作を示すフローチャートである。 勤務項目組合せ(割付候補)の生成方法を示すフローチャートである。 勤務表の初期解の生成方法を示すフローチャートである。 勤務表の修正方法を示すフローチャートである。 日単位で勤務項目が設定される勤務表及び各勤務項目の内容を示す説明図である。 区々の時間長をもった複数の勤務項目を示す説明図である。 各スタッフについて多様な時間長をもった複数の勤務項目の並びが設定される勤務表を示す説明図である。
符号の説明
10 データ格納部、12 演算処理部、14 勤務項目リスト、16 割付条件群、18 実勤務表、28 勤務項目組合せリスト(割付候補リスト)、30 セグメントマトリクス構成部30、34 仮勤務表、35 評価計算部、50 割付条件群記憶部、52 マスター情報記憶部、54 実勤務表記憶部、56 勤務表作成プログラム、58 勤務項目組合せ生成部、62 割付処理部。

Claims (6)

  1. 一定期間にわたって複数の勤務者に対してそれぞれ勤務項目の並びを設定することにより勤務表を作成する勤務表作成システムにおいて、
    前記一定期間における所定の時間単位ごとに画定され且つ勤務者ごとに画定される複数の割付セグメントを有するセグメントマトリクスを構成するセグメントマトリクス構成手段と、
    前記所定の時間単位内に割付可能な1又は複数の勤務項目からなる割付候補を生成し、これにより複数の割付候補で構成される割付候補リストを生成する割付候補生成手段と、
    前記セグメントマトリクスにおける各割付セグメントに対して前記割付候補リストから選択された割付候補を割り付けて割付結果を評価する割付評価処理を繰り返し実行することによって、前記勤務表を作成する勤務表作成手段と、
    を含むことを特徴とする勤務表作成システム。
  2. 請求項1記載のシステムにおいて、
    前記割付評価処理による自動割付に先立って、前記割付セグメントに対して勤務項目を固定的に設定する手動割付を行うためのユーザー割付手段を含み、
    前記勤務表作成手段は、
    前記セグメントマトリクス上において前記手動割付の結果に基づいて前記自動割付の対象となる未確定状態の各割付セグメントを特定し、前記未確定状態の各割付セグメントに対して前記自動割付を実行する割付実行部と、
    前記自動割付後のセグメントマトリクスの内容を評価する評価部と、
    を含むことを特徴とする勤務表作成システム。
  3. 請求項2記載のシステムにおいて、
    前記手動割付では、当該手動割付により勤務項目が設定された割付セグメントに対して全部固定属性又は部分固定属性を指定可能であり、
    前記割付実行部は、前記全部固定属性が指定された割付セグメントを前記自動割付の対象から除外し、前記手動割付がなされていない割付セグメント及び前記部分固定属性が指定された割付セグメントを前記自動割付の対象として特定する、
    ことを特徴とする勤務表作成システム。
  4. 請求項2記載のシステムにおいて、
    前記評価部は、前記手動割付の割付結果及び前記自動割付の割付結果を総合評価する、
    ことを特徴とする勤務表作成システム。
  5. 請求項1記載のシステムにおいて、
    前記割付候補生成手段は候補生成条件群に従って各割付候補を生成し、
    前記候補生成条件群には、勤務項目間での重複禁止条件及び勤務項目間での空き時間条件が含まれる、
    ことを特徴とする勤務表作成システム。
  6. 一定期間にわたって複数の勤務者に対してそれぞれ勤務項目の並びを設定することにより勤務表を作成するシステムにおいて実行され、前記システムに複数の工程を実行させるプログラムであって、
    前記複数の工程には、
    前記一定期間における所定の時間単位ごとに画定され且つ勤務者ごとに画定される複数の割付セグメントを有するセグメントマトリクスを構成する工程と、
    前記所定の時間単位内に割付可能な1又は複数の勤務項目からなる割付候補を順次生成し、これにより複数の割付候補で構成される割付候補リストを生成する工程と、
    前記セグメントマトリクスにおける各割付セグメントに対して前記割付候補リストから選択された割付候補を割り付けてその割付結果を評価する割付評価処理を繰り返し実行することにより、前記勤務表を作成する工程と、
    が含まれることを特徴とする勤務表作成プログラム。
JP2005052307A 2005-02-28 2005-02-28 勤務表作成システム Pending JP2006236173A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005052307A JP2006236173A (ja) 2005-02-28 2005-02-28 勤務表作成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005052307A JP2006236173A (ja) 2005-02-28 2005-02-28 勤務表作成システム

Publications (1)

Publication Number Publication Date
JP2006236173A true JP2006236173A (ja) 2006-09-07

Family

ID=37043726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005052307A Pending JP2006236173A (ja) 2005-02-28 2005-02-28 勤務表作成システム

Country Status (1)

Country Link
JP (1) JP2006236173A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012181719A (ja) * 2011-03-02 2012-09-20 Ntt Data Sekisui Systems Corp 勤務シフト表作成装置
JP2012181718A (ja) * 2011-03-02 2012-09-20 Ntt Data Sekisui Systems Corp 勤務シフト表作成支援システム
JP2015153024A (ja) * 2014-02-12 2015-08-24 沖電気工業株式会社 情報処理装置、情報処理方法およびプログラム
JP2019106081A (ja) * 2017-12-14 2019-06-27 株式会社モーション 勤務表作成装置、勤務表作成方法および勤務表作成プログラム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63163672A (ja) * 1986-12-26 1988-07-07 Toshiba Corp 割当て決定支援方式
JPH0962742A (ja) * 1995-06-13 1997-03-07 Fuji Xerox Co Ltd 工程編成装置
JPH10187655A (ja) * 1996-12-26 1998-07-21 Nec Corp 汎用初期割付作成方式
JP2000137891A (ja) * 1998-11-02 2000-05-16 Toshiba System Kaihatsu Kk 服務自動割付システム
JP2001202118A (ja) * 2000-01-19 2001-07-27 Hitachi Tohoku Software Ltd 設計改良指摘方法および装置ならびに設計改良指摘のための記録媒体
JP2001256279A (ja) * 2000-03-09 2001-09-21 Hitachi Information Systems Ltd 勤務割当表作成システムおよびその作成方法、ならびにプログラム記録媒体
JP2004013487A (ja) * 2002-06-06 2004-01-15 Secom Co Ltd 勤務表作成支援システム
JP2004210445A (ja) * 2002-12-27 2004-07-29 Nippon Steel Corp 輸送車の最適搬送計画立案方法
JP2004234452A (ja) * 2003-01-31 2004-08-19 Casio Comput Co Ltd 情報処理装置及びプログラム
JP2004361991A (ja) * 2003-05-30 2004-12-24 Secom Co Ltd 割付表作成システム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63163672A (ja) * 1986-12-26 1988-07-07 Toshiba Corp 割当て決定支援方式
JPH0962742A (ja) * 1995-06-13 1997-03-07 Fuji Xerox Co Ltd 工程編成装置
JPH10187655A (ja) * 1996-12-26 1998-07-21 Nec Corp 汎用初期割付作成方式
JP2000137891A (ja) * 1998-11-02 2000-05-16 Toshiba System Kaihatsu Kk 服務自動割付システム
JP2001202118A (ja) * 2000-01-19 2001-07-27 Hitachi Tohoku Software Ltd 設計改良指摘方法および装置ならびに設計改良指摘のための記録媒体
JP2001256279A (ja) * 2000-03-09 2001-09-21 Hitachi Information Systems Ltd 勤務割当表作成システムおよびその作成方法、ならびにプログラム記録媒体
JP2004013487A (ja) * 2002-06-06 2004-01-15 Secom Co Ltd 勤務表作成支援システム
JP2004210445A (ja) * 2002-12-27 2004-07-29 Nippon Steel Corp 輸送車の最適搬送計画立案方法
JP2004234452A (ja) * 2003-01-31 2004-08-19 Casio Comput Co Ltd 情報処理装置及びプログラム
JP2004361991A (ja) * 2003-05-30 2004-12-24 Secom Co Ltd 割付表作成システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012181719A (ja) * 2011-03-02 2012-09-20 Ntt Data Sekisui Systems Corp 勤務シフト表作成装置
JP2012181718A (ja) * 2011-03-02 2012-09-20 Ntt Data Sekisui Systems Corp 勤務シフト表作成支援システム
JP2015153024A (ja) * 2014-02-12 2015-08-24 沖電気工業株式会社 情報処理装置、情報処理方法およびプログラム
JP2019106081A (ja) * 2017-12-14 2019-06-27 株式会社モーション 勤務表作成装置、勤務表作成方法および勤務表作成プログラム

Similar Documents

Publication Publication Date Title
Vermeulen et al. Adaptive resource allocation for efficient patient scheduling
US7912745B2 (en) Method and system for scheduling a meeting for a set of attendees via a special attendee
Ebben et al. Workload based order acceptance in job shop environments
Topaloglu et al. An implicit goal programming model for the tour scheduling problem considering the employee work preferences
US7058589B1 (en) Method and system for employee work scheduling
Chu Generating, scheduling and rostering of shift crew-duties: Applications at the Hong Kong International Airport
US20080033778A1 (en) Electronic Calendar Scheduling Using Autonomic Prioritization
US7606773B2 (en) System, method and product for rostering using dynamic gene modelling based upon genetic algorithms
US20100257015A1 (en) Graphical client interface resource and work management scheduler
Purnomo et al. Cyclic preference scheduling for nurses using branch and price
JPWO2006097971A1 (ja) キャリア開発システム
WO1997025682A1 (en) System and method for optimal operating room scheduling and booking
US20060167725A1 (en) Method and apparatus for scheduling
Chang-Chun et al. Optimization of nurse scheduling problem with a two-stage mathematical programming model
Soriano et al. Integrated employee scheduling with known employee demand, including breaks, overtime, and employee preferences
Altner et al. A two-stage stochastic program for multi-shift, multi-analyst, workforce optimization with multiple on-call options
JP2017134497A (ja) 作業計画生成システム
US20050125278A1 (en) Method and apparatus for queue-based automated staff scheduling
Ho et al. Introducing variable‐interval appointment scheduling rules inservice systems
Wolbeck et al. Fair shift change penalization scheme for nurse rescheduling problems
Fügener et al. Planning for overtime: The value of shift extensions in physician scheduling
Meisels et al. Employee timetabling, constraint networks and knowledge-based rules: A mixed approach
Schoenfelder et al. Decision support for the physician scheduling process at a German hospital
Chawasemerwa et al. Development of a doctor scheduling system: a constraint satisfaction and penalty minimisation scheduling model
Moeke et al. Capacity planning in healthcare: finding solutions for healthy planning in nursing home care

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100720

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101116