(57)【要約】【課題】短時間に且つ高品質に勤務表を作成する。【解決手段】多数の割付条件は、各職員の勤務構成に関する第１割付条件群と、各日の職員構成に関する第２割付条件群とに区分される。第１割付条件群を用いて、勤務表における部分範囲に割付可能な各職員についての個々の割付候補ごとに個別評価がなされ、これにより個別評価マトリクス５０が作成される。第２割付条件群に基づいて複数の制約式７４が生成され、一方、第２割付条件群と個別評価マトリクスとから目的関数７８が生成される。複数の制約式７４と目的関数７８とから解（部分範囲に割り付ける内容）が決定される。各割付候補の個別評価に当たっては勤務表の全体が評価対象とされる。勤務表全体にわたって部分割付が展開される。【選択図】        図６
2004361991.tif 000002
【特許請求の範囲】
【請求項１】
組織を構成する複数のメンバーについて一定期間内における各時間単位に勤務予定を割り付けることにより割付表を作成するシステムにおいて、
前記一定期間内において１又は複数の時間単位からなる部分範囲を設定する部分範囲設定手段と、
前記設定された部分範囲について勤務予定の部分割付を実行する部分割付手段と、
を含み、
前記部分割付手段は、
前記部分範囲内において各メンバーに複数の割付候補を仮割り付けする仮割付手段と、
前記仮割り付けがなされた各割付候補に、前記一定期間の全体を評価対象として個別評価を行う個別評価手段と、
前記個別評価手段による各割付候補の個別評価結果に基づいて、前記複数のメンバーについての複数の割付候補の最適組合せを決定し、それを前記部分範囲へ割り付ける最適組合せ割付手段と、
を有することを特徴とする割付表作成システム。
【請求項２】
請求項１記載のシステムにおいて、
各メンバーの一連の勤務構成に関する第１割付条件群と、各時間単位のメンバー構成に関する第２割付条件群と、が登録される記憶部を含み、
前記個別評価手段は、前記第１割付条件群に基づいて前記各割付候補の個別評価を実行し、
前記最適組合せ割付手段は、前記各割付候補の個別評価結果及び前記第２割付条件群に基づいて、前記最適組合せを決定することを特徴とする割付表作成システム。
【請求項３】
請求項２記載のシステムにおいて、
前記第１割付条件群を構成する複数の第１割付条件、及び、前記第２割付条件群を構成する複数の第２割付条件には、当該割付条件の優先度を示す属性情報が付与され、
前記個別評価手段は、前記各メンバーについての各割付候補に、前記各第１割付条件に付与された属性情報を用いて個別評価値を演算し、これにより前記各メンバーについての各割付候補の個別評価値からなる個別評価マトリクスを構築し、
前記最適組合せ割付手段は、前記個別評価マトリクスの内容及び前記各第２割付条件について付与された属性情報に基づいて、前記最適組合せを決定することを特徴とする割付表作成システム。
【請求項４】
請求項１記載のシステムにおいて、
前記部分範囲設定手段は、前記一定期間内において設定位置を異ならせつつ前記部分範囲を繰り返し設定し、
前記部分割付手段は、前記繰り返し指定される各設定位置において前記部分割付を実行し、これにより前記割付表に対する全体割付を完結し、
所定の終了判定条件が満たされるまで前記全体割付を繰り返し実行させる終了判定手段が設けられたことを特徴とする割付表作成システム。
【請求項５】
組織を構成する複数のメンバーについて一定期間内における各時間単位に勤務予定を割り付けることにより割付表を作成するシステムにおいて、
前記一定期間内において１又は複数の時間単位からなる部分範囲を設定する手段と、
各メンバーの一連の勤務構成に関する第１割付条件群と、各時間単位のメンバー構成に関する第２割付条件群と、を記憶する手段と、
前記第１割付条件群及び前記第２割付条件群の内の一方に基づいて、前記部分範囲に割付可能な個々の割付候補について事前評価を行って個別評価マトリクスを生成する手段と、
前記個別評価マトリクスと前記第１割付条件群及び前記第２割付条件群の内の他方とに基づいて、前記部分範囲に対する最適割付内容を決定し、それにより部分割付を実行する手段と、
を含むことを特徴とする割付表作成システム。
【請求項６】
コンピュータに読み込まれて実行され、組織を構成する複数のメンバーについて一定期間内における各時間単位に勤務予定を割り付けることにより割付表を作成する割付表作成プログラムであって、
当該割付表作成プログラムは、
前記一定期間内において１又は複数の時間単位からなる部分範囲を設定する機能と、
前記設定された部分範囲について勤務予定の部分割付を実行する機能と、
を含み、
前記部分割付を実行する機能は、
前記部分範囲内において各メンバーに複数の割付候補を仮割り付けする機能と、
前記仮割り付けがなされた各割付候補に、前記一定期間の全体を評価対象として個別評価を行う機能と、
前記個別評価手段による各割付候補の個別評価結果に基づいて、前記複数のメンバーについての複数の割付候補の最適組合せを決定し、それを前記部分範囲へ割り付ける機能と、
を有することを特徴とする割付表作成プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は割付表作成システムに関し、特に、看護師や警備員などの勤務予定などを割り付けた割付表の作成に関する。
【０００２】
【従来技術】
病院を例にとって従来技術を説明すると、病院においては、一般的に、各病棟に看護師長が個々の看護師の１ヶ月分の勤務表（割付表の一種）を作成する。看護師の勤務形態には「日勤」、「準夜勤」、「夜勤」、「休み」などといったものがあり、看護師長は、１ヶ月を通しての各看護師についての勤務形態ごとの回数や、一日の中での各勤務に必要な看護師の人数など、多くの条件を満たすように、勤務表全体の作成を行わなければならない。しかし、勤務表の作成に当たって、取り得る勤務形態の組み合わせは無数に考えられるため、全ての割付条件を十分に満たす勤務表を作り出すことは極めて困難であり、あるいは不可能であるといっても過言ではない。したがって、各割付条件を満たせなかったときに勤務表に与える問題の大きさを考慮しながら、試行錯誤を繰り返しつつ、質の高い勤務表を得られるよう勤務表の作成に努めている。このように、看護師長による勤務表の作成に当たっては非常に大きな労力と時間が費やされている。
【０００３】
上述のような勤務表の作成による業務量を軽減する為に、勤務表を自動的に作成する方法が幾つか考えられている。勤務表を自動作成する方法としては、まず、コンピュータにより勤務表において取り得る総ての勤務形態の組み合わせを検索し、それぞれの勤務表について各種割付条件をどの程度満たしているかを確認して、最も質の高い勤務表内容を採用する方法があげられる。しかし、勤務表において取り得る勤務形態の組み合わせは無数存在し、総ての組み合わせを評価するのには膨大な時間を要するため、実用的な時間で勤務表を作成することはできない。
【０００４】
次に、実用的な時間で勤務表を作成するために、反復回数や処理時間に上限を設けてランダムに勤務表に勤務形態を割付けることにより勤務表を作成する方法が考えられる。しかし、上述のように勤務表において取り得る勤務形態の組み合わせは無数存在するため、所定の反復では必ずしも質の高い勤務表を得られるとは限らず、勤務形態の種類の数や看護師の人数といった勤務表を作成する条件が増えれば増えるほど質の高い勤務表を作成することが困難になる。
【０００５】
そこで、このような問題を解決する方法として、勤務表を作成する条件を考慮しながら割付する等、割付の工程を工夫した種々の方法が提案されている。例えば、下記の非特許文献１に開示されているような方法である。この方法は、２交代制の勤務表を作成するときに「夜勤」に関する条件が勤務表の作成を困難にしていることに着目したものである。この方法では、まず、各看護師ごとに、１ヶ月間の「夜勤」の回数の条件や「夜勤」の連続勤務の条件など、「夜勤」に関する横の条件（各看護師ごとに考慮すべき条件）のみを満たすような勤務パターンが総て列挙される。次に、「夜勤」に関する縦の条件（各日ごとに考慮すべき条件）を満たさない度合の最小化を目的関数として与え、列挙した各看護師の勤務パターンの組み合わせから、この目的関数を解いている。これにより、「夜勤」についての全看護師の勤務が決定される。その後に、勤務表の割付されていない部分に「日勤」や「休み」が割付される。２交代制の「日勤」や「休み」は割付する上での条件が厳しくないため、条件を満たすような勤務の入れ替えを繰り返すことにより割付が完了する。以上により、勤務表全体についての割付を完了し、勤務表を完成させる。このような方法によれば、条件の厳しい勤務から割付を行うことにより、作成される勤務表の質をある程度保証し、また、作成される勤務表のパターンをある程度絞ることができるため比較的短い時間で勤務表を作成することができる。
【０００６】
なお、下記特許文献１には、勤務表を作成するシステムが開示されており、特に各種の判断分類を備えたシステムが開示されている。
【０００７】
【非特許文献１】
池上、丹羽、「ナース・スケジューリングに有効なアプローチ−２交代制アルゴリズムにおける実現−」、日本ＯＲ学会論文、Ｖｏｌ．４１、１９９８年１２月、Ｐ５７２
【特許文献１】
特開２０００−９９５６９号公報
【０００８】
【発明が解決しようする課題】
しかしながら、上記の非特許文献１に記載された方法によると、「夜勤」を割り付けた段階では「日勤」や「休み」との繋がり関係に関する条件を満足できるか否かがわからず、よって質の高い勤務表を必ずしも作成することはできないということが指摘できる。また、勤務の種類が「日勤」、「夜勤」、「休み」である２交代制勤務の場合は比較的短い時間で勤務表を作成できるが、３交代制以上の勤務体制の場合は「準夜勤」など他にも勤務形態があるために、勤務表の取り得る勤務の組み合わせが非常に多くなり、実用的な時間内に勤務表を作成することができない。したがって、上記の方法では、必ずしも質の高い勤務表を実用的な時間内に作成することができない。また、一般的に言っても、勤務表等の割付表を作成する場合に、その割付品質を良好にし、また迅速な演算を可能とすることが切望されている。
【０００９】
本発明の目的は、質のよい内容をもった割付表を迅速に作成できるようにすることにある。
【００１０】
【課題を解決するための手段】
（１）本発明は、組織を構成する複数のメンバーについて一定期間内における各時間単位に勤務予定を割り付けることにより割付表を作成するシステムにおいて、前記一定期間内において１又は複数の時間単位からなる部分範囲を設定する部分範囲設定手段と、前記設定された部分範囲について勤務予定の部分割付を実行する部分割付手段と、を含み、前記部分割付手段は、前記部分範囲内において各メンバーに複数の割付候補を仮割り付けする仮割付手段と、前記仮割り付けがなされた各割付候補に、前記一定期間の全体を評価対象として個別評価を行う個別評価手段と、前記個別評価手段による各割付候補の個別評価結果に基づいて、前記複数のメンバーについての複数の割付候補の最適組合せを決定し、それを前記部分範囲へ割り付ける最適組合せ割付手段と、を有することを特徴とする。
【００１１】
上記構成によれば、割付表において人為的に又は自動的に設定された部分範囲について、各メンバーに複数の割付候補が試行的に割り付けられ、その仮割り付けされた各候補に個別評価が実施される。その場合、評価精度を高めるために、割付表における一定期間の全体が評価対象とされる。そして、各割付候補の個別評価結果に基づいて、複数のメンバーについて割り付ける複数の割付候補の最適組み合わせが決定される。
【００１２】
よって、一度の割付対象が部分範囲に制限されていること（つまり部分割付であること）、及び、そのような部分割付であっても割付表全体を評価対象としていることから、迅速且つ良好な品質で割り付けを行える。もちろん、必要ならば部分範囲の位置を段階的に変更して割付表全体へ部分割付を展開してもよい。
【００１３】
上記において、割付候補は、勤務予定の種別又は種別の並びに相当する。また、最適組合せは、厳密な意味での最適な組合せだけを意味するのではなく、演算上（例えば最適解を求める公知の各種の手法により）最適と判断される組合せの意味である。なお、メンバーは、典型的には職員、担当者、従業員などの個人であるが、それらの集合（例えば職員グループ）であってもよい。また、時間単位は通常は日となるが、必ずしもそれには限定されない。割り付けられる勤務予定は、出勤形態（日勤、夜勤など）であってもよいし、勤務内容などであってもよい。
【００１４】
望ましくは、各メンバーの一連の勤務構成に関する第１割付条件群と、各時間単位のメンバー構成に関する第２割付条件群と、が登録される記憶部を含み、前記個別評価手段は、前記第１割付条件群に基づいて前記各割付候補の個別評価を実行し、前記最適組合せ割付手段は、前記各割付候補の個別評価結果及び前記第２割付条件群に基づいて、前記最適組合せを決定する。
【００１５】
上記構成によれば、評価表全体を対象としつつ、第１割付条件群に基づいて各割付候補に個別評価が実施される。そして、その各割付候補の個別評価結果及び第２割付条件群に基づいて、最適組合せが決定される。
【００１６】
よって、個々のメンバーについての時間軸方向の勤務構成に関する割付条件（第１割付条件）と各単位時間のメンバー構成に関する割付条件（第２割付条件）とを区別して段階的に取り扱うことにより、各段階の演算量を削減しつつ、全体として割付品質を高めることができる。
【００１７】
望ましくは、前記第１割付条件群を構成する複数の第１割付条件、及び、前記第２割付条件群を構成する複数の第２割付条件には、それぞれ当該割付条件の優先度を示す属性情報が付与され、前記個別評価手段は、前記各メンバーについての各割付候補に、前記各第１割付条件に付与された属性情報を用いて個別評価値を演算し、これにより前記各メンバーについての各割付候補の個別評価値からなる個別評価マトリクスを構築し、前記最適組合せ割付手段は、前記個別評価マトリクスの内容及び前記各第２割付条件について付与された属性情報に基づいて、前記最適組合せを決定する。
【００１８】
各割付条件はそれぞれ重要度、優先度、違反による影響度が異なり、そのような相違を割付演算に反映させるために、上記の属性情報が利用される。そして、属性情報は、個別評価値の演算、最適組合せの決定などで利用される。
【００１９】
望ましくは、前記部分範囲設定手段は、前記一定期間内において設定位置を異ならせつつ前記部分範囲を繰り返し設定し、前記部分割付手段は、前記繰り返し指定される各設定位置において前記部分割付を実行し、これにより前記割付表に対する全体割付を完結し、所定の終了判定条件が満たされるまで前記全体割付を繰り返し実行させる終了判定手段が設けられる。
【００２０】
上記構成によれば、部分割付の段階的進行によって全体割付が達成され、その全体割付が一定の全体割付品質を得られるまで繰り返される。この繰り返しにより、割付表の品質は段階的に優良化される。よって、要求品質及び要求処理時間との兼ね合いにおいて、終了条件を適宜設定するのが望ましい。
【００２１】
特に、前記終了判定手段として、前記割付表の全体に対して全体評価値を演算する手段と、前記全体評価値に基づいて前記全体割付の繰り返し実行を終了させるか否かを判定する手段と、を設けるのが望ましい。その場合に終了条件としては全体評価値が優良化されなくなったこと、全体評価値が一定値に到達したこと、繰り返し回数が一定数に到達したこと、一連の割付処理の開始から一定時間経過したこと、などをあげることができる。
【００２２】
（２）また、本発明は、組織を構成する複数のメンバーについて一定期間内における各時間単位に勤務予定を割り付けることにより割付表を作成するシステムにおいて、前記一定期間内において１又は複数の時間単位からなる部分範囲を設定する手段と、各メンバーの一連の勤務構成に関する第１割付条件群と、各時間単位のメンバー構成に関する第２割付条件群と、を記憶する手段と、前記第１割付条件群及び前記第２割付条件群の内の一方に基づいて、前記部分範囲に割付可能な個々の割付候補について事前評価を行って個別評価マトリクスを生成する手段と、前記個別評価マトリクスと前記第１割付条件群及び前記第２割付条件群の内の他方とに基づいて、前記部分範囲に対する最適割付内容を決定し、それにより部分割付を実行する手段と、を含むことを特徴とする。
【００２３】
上記構成によれば、多数の割付条件が第１割付条件群と第２割付条件群とに取り扱い上区別され、その内の一方がまず部分割付のための事前評価に利用されて、次に、その内の他方が部分割付内容の決定に利用される。つまり、各割付条件群が段階的に利用される。一度に全部の割付条件を利用して最適割付内容を決定しようとすると、どうしても演算内容が複雑になったり、演算量が非常に膨大となったりするが、上記の構成によれば、一方の割付条件群を先行利用してそれによる事前評価の結果を個別評価マトリクスとして集約し、その成果（個別評価マトリクス）と他方の割付条件群とから最適割付内容を導出できるので、解の導出を効率的に行える。なお、上記非特許文献１もある意味では割付条件の段階的適用が開示されているが、それは「夜勤」割付を優先させるもので、上記のような第１及び第２割付条件群の分類及び取り扱いとは異なる。
【００２４】
望ましくは最初に第１割付条件群が利用されて次に第２割付条件群が利用されるが、割付表の内容及び諸条件によっては、その逆であっても同じ原理を適用して上記同様の作用効果を得られる。上記構成において、個々の割付候補を個別評価する場合には割付品質を考慮して割付表全体をその評価対象とするのが望ましい。なお、上記構成において、個々の割付候補は、第１割付条件群が先行利用される場合には、各メンバーの勤務予定パターンであり、第２割付条件群が先行利用される場合には、各時間単位（例えば日）のメンバー構成となる。
【００２５】
（３）また本発明は、コンピュータに読み込まれて実行され、組織を構成する複数のメンバーについて一定期間内における各時間単位に勤務予定を割り付けることにより割付表を作成する割付表作成プログラムであって、当該割付表作成プログラムは、前記一定期間内において１又は複数の時間単位からなる部分範囲を設定する機能と、前記設定された部分範囲について勤務予定の部分割付を実行する機能と、を含み、前記部分割付を実行する機能は、前記部分範囲内において各メンバーに複数の割付候補を仮割り付けする機能と、前記仮割り付けがなされた各割付候補に、前記一定期間の全体を評価対象として個別評価を行う機能と、前記個別評価手段による各割付候補の個別評価結果に基づいて、前記複数のメンバーについての複数の割付候補の最適組合せを決定し、それを前記部分範囲へ割り付ける機能と、を有することを特徴とする。
【００２６】
上記において、割付表作成プログラムは、パーソナルコンピュータやワークステーションなどの情報処理装置に読み込まれて実行されるアプリケーションソフトウエアであってもよい。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２８】
まず最初に、本発明に係る割付表作成システムによって作成される割付表について、図１に示す勤務表をその例にとって説明する。
【００２９】
図１には、コンピュータの表示部に表示される勤務表の一例が示されている。この勤務表はこの例では病院の特定病棟に勤務する複数の看護師について１ヶ月分の勤務予定を割り付けたものである（各セル内には勤務形態を示すシンボルが記入されている）。図１において、縦軸方向（後述のｙ方向）は複数の職員（看護師）１０を示し、横軸方向（後述のｘ方向）は一定期間１２における各日を示している。符号１４は、割付が完了したあるいは割付を行う一ヶ月分を示し、符号１６（網掛け部分）は、参照用としての前月の終わりの数日を示している。勤務表作成時には前月からの勤務のつながりを見ることも多いため、前月分の勤務表が部分的に表示されている。符号１８及び符号２０は、それぞれ縦軸方向及び横軸方向の集計欄を示している（これに関しては上記特許文献１に開示されている）。なお、図１に示す勤務表のレイアウトは一例であって、これ以外のレイアウトを採用することもできる。例えば、縦軸方向に日付を対応付け、横軸方向に職員を対応付けてもよい。
【００３０】
図２には、図１に示した勤務表を作成するシステムの構成が機能ブロック図として示されている。このシステムは、大別して、ＣＰＵ及び勤務表作成プログラム２４などによって構成される演算処理部２２と、その演算処理部２２に接続された入力部２６及び表示部２８と、演算処理部２２に接続された情報記憶部３０と、を有する。入力部２６はキーボードやマウスなどのポインティングデバイスで構成される。この入力部２６を用いて、各職員の希望休暇日などを入力したり、カレンダー情報や後述するマスタ情報を入力したりすることができ、また、後述する割付条件やその重みの設定を行うこともできる。更に、その入力部２６を用いて、割付開始指示や割付終了指示を入力することができる。表示部２８は液晶ディスプレイなどの表示器である。その表示部２８には、図１に示した勤務表などが表示される。情報記憶部３０は、外部記憶装置であってもよいし、それが主記憶上に構築されてもよい。勤務表作成プログラム２４は割付実行部として機能し、そのプログラム実行に伴って生成されるデータは演算処理部２２内部のメモリに記憶され、あるいは、情報記憶部３０に記憶される。なお、外部装置との間でネットワーク５２を介して通信を行って、必要な情報の授受を行える。
【００３１】
上記の勤務表作成プログラム２４が有する代表的な各機能が図２においてブロックとして示されている。この勤務表作成プログラム２４は、ペナルティ計算部３２，制約式生成部３４，目的関数生成部３６，解導出部３８，評価値計算部４０，終了条件判定部４２などを有する。また、情報記憶部３０は、マスタ情報記憶部４４，割付条件記憶部４６，勤務表記憶部４８．個別評価マトリクス（個別評価値テーブル）５０を有する。
【００３２】
以下、各構成について適宜他の図面を参照しながら説明する。
【００３３】
マスタ情報記憶部４４には、勤務表を作成する上でのマスタ情報となる、カレンダー情報、職員情報、固定的に割り付けるべき勤務予定、その他の情報が登録される。
【００３４】
割付条件記憶部４６には、勤務表を作成する上で必要となる多様な割付条件と、各割付条件ごとの「重み（重み値）」とが相互に対応付けられて記憶される。その重みは、割付処理において、それに対応付けられた割付条件をどの程度重視するかを示すインデックスであり、その重みは「絶対」というラベルあるいは数値（度合い）として与えられる。複数の割付条件は、時間軸方向における各職員ごとの勤務構成に関する割付条件（以下、職員ごとの割付条件又は第１割付条件という。）群と、各日ごとの職員構成に関する割付条件（以下、日ごとの割付条件又は第２割付条件という。）群とに大別される。それらの具体例について後に詳しく説明するが、職員ごとの割付条件は、それぞれ各職員共通の割付条件でもよいし、非共通の割付条件でもよい。同様に、各日ごとの割付条件は、各日あるいは各曜日共通の割付条件でもよいし、非共通の割付条件でもよい。
【００３５】
勤務表記憶部４８には、日付を横軸にとり且つ職員を縦軸にとったマトリクス（勤務表）が存在し、マトリクスの各セル内には勤務予定を示す情報が記入される。
【００３６】
個別評価マトリクス５０は、後に詳述するように、勤務表における一定期間（一部分）に対して最適な割付候補の組合せを決定するために、それに先立って作成される。個別評価マトリクス５０は、本実施形態では、一方軸に勤務パターンの種類を対応付け、且つ、他方軸に職員を対応付けたテーブルとして構成され、その各セル内には、各職員ごとの各割付候補についての個別評価値が記入される。図３には、例えば、１ヶ月の内で３日を部分割付の対象とした場合における、とり得るすべての勤務パターンがリストとして示されている。例えば、パターン（候補）番号＃１は、休暇−休暇−休暇の勤務予定の並びであり、パターン番号＃２は、休暇−休暇−日勤の勤務予定の並びである。それらの各勤務パターンは、各職員についての割付候補として位置づけられる。
【００３７】
図４には、個別評価マトリクスの内容が例示されている。その横軸は図３に示した勤務パターンを示し、その縦軸は職員を示している。各職員について各勤務パターンごとに、後に詳述するように、勤務表全体を基礎として、個別評価が実施され、それにより演算された個別評価値６９が対応セルに記入される。個別評価値は、本実施形態において、複数の第１割付条件に基づいて演算される複数のペナルティ値の総和として定義される。割付候補の個別評価に関しては後に詳しく説明する。
【００３８】
ペナルティ計算部３２は、勤務表全体の全体評価値及び上記個別評価値を求める前提として、各割付条件ごとにペナルティ値を演算する。これを図５を用いて説明する。図５には、勤務表５４が模式的に示されている。この勤務表５４は割付途中段階にある（一部に空欄があってもよい）。現時点では、符号５６で示す部分が部分割付の対象となっている。符号５６は、各職員ごとの割付条件（第１割付条件）群を示している。符号５８は各日ごとの割付条件（第２割付条件）群を示している。ペナルティ計算部３２は、勤務表全体を対象として、各割付条件ごとに当該条件に違反しているか否かの度合いを判断する。そして、違反している場合には、その条件に対応付けられた重みがペナルティ値とされる。図５においては、各割付条件ごとのペナルティ値が丸記号囲みの符号Ｐによって抽象的に表されている。例示すると、職員Ａについては、個々の第１割付条件ｘ１，ｘ２，ｘ３，・・・ごとに、ペナルティ値が演算される。同様に、他の職員についても同様に個々の第１割付条件ごとにペナルティ値が演算される。各第１割付条件に関するペナルティ値の集合が符号６０で示されている。一方、各日については、個々の第２割付条件ｙ１，ｙ２，ｙ３，・・・ごとに、ペナルティ値が演算される。そして、そのペナルティ値の集合が符号６２で示されている。
【００３９】
本実施形態では、それらの符号６０及び符号６２で示すペナルティ値の集合を全体的に加算することによって、勤務表全体を評価する指標となる全体評価値６４が演算されており、その演算は図２に示す評価値計算部４０が行っている。全体評価値６４は、その値が小さいほど評価がよいことを表す。実施形態において、全体評価値６４は、勤務表全体にわたる一連の部分割付を繰り返し行う場合における終了判定の基準として利用される。ここで、その終了判定は、図２に示す終了条件判定部４２が判定している。また、本実施形態では、各職員について割付候補を仮割り付けした場合における、当該職員についての各第１割付条件ごとのペナルティ値を加算することによって、当該割付候補の個別評価値６８が求められている。その演算も、本実施形態では、評価値計算部４０が実行している。その個別評価値６８は、上記のように個別評価マトリクス５０に記入され、最適な割付候補の組合せの選定に当たって利用される。
【００４０】
図６には、部分期間であるｄ日間に対して部分割付を行う方法が概念的に示されている（その具体的内容は後に図７及び図８を用いて説明する）。本実施形態では、部分期間に割り付ける最適な割付候補の組合せ（勤務パターンのセット）を決定するために、公知の整数計画問題の解法をとり入れている。この他には遺伝的アルゴリズムなどの解法を用いることができる。
【００４１】
図６において、割付条件記憶部４６には、既に説明したように複数の第１割付条件７０と複数の第２割付条件７２とが登録されている。上記のように、複数の第１割付条件７０を利用して個別評価マトリクス５０が生成される。一方、複数の第２割付条件７２から、上記の整数計画問題の解法を実行する際に必要となる複数の制約式７４が生成される。この他にも、他の条件（例えば固定値）などから、１又は複数の制約式７４が生成される。目的関数７８は、複数の第２割付条件７２の中で、重みとして「絶対」が付与されたもの以外の第２割付条件（絶対ではない重みとしての数値が与えられた第２割付条件）と、個別評価マトリクス５０とを用いて生成される。この場合、複数の制約式７４の中には、補助変数（後述）を有する制約式が存在するが、その補助変数も目的関数７８の中に組み入れられる（図６において一点鎖線の矢印で概念的に示す）。そして、符号８０で示すように、生成された各制約式７４をすべて満足し、且つ、目的関数７８の値を最小にするものとして、制約式７４と目的関数７８にて定まる整数計画問題の解が決定される。その解は、部分期間における各職員の勤務パターンの最適組合せを特定する。
【００４２】
図２において、制約式生成部３４は、図６に示した複数の制約式７４を生成するものである。また、目的関数生成部３６は、図６に示した目的関数７８を生成するものである。更に、解導出部３８は、複数の制約式７４と目的関数７８を用いて最適組合せを決定するものである。なお、ペナルティ計算部３２および評価値計算部４０を図２においては別構成として示したが、これらの機能を一体化してもよい。他の構成についても同様である。
【００４３】
以下に、上記において説明した各事項について具体例を用いて詳細な説明を行う。
【００４４】
まず、割付条件について具体例を説明する。割付条件は、上記のように、職員ごとの勤務構成に関する割付条件（職員ごとの割付条件、第１割付条件）と、各日ごとの職員構成に関する割付条件（日ごとの割付条件、第２割付条件）と、に大別される。
【００４５】
日ごとの割付条件（第２割付条件）は、勤務表における縦の割付条件であり、つまり、勤務表の中で１日ごとに当該条件を満たすかどうかが判断できる割付条件である。以下のように、例えば、需要条件、組合せ条件がある。
（需要条件の例）
１日の職員数の上限・下限・目標人数を職員の資格と勤務ごとに定めた条件
・職員全員に対して日勤をちょうど１０名とする（重み：絶対）
・助産師に対して日勤を下限２名とする（重み：１００）
・「ベテラン」の職員に対して準夜勤務を下限１名とする（重み：絶対）
なお、上の例では割付条件を適用する日を限定していないが、特定の日や特定の曜日にのみ適用する条件を同様に定めることができる。
（組合せ条件の例）
ある職員が同じ勤務を一緒に行いたい、または行いたくない職員を定めた条件
・職員Ａは準夜勤務で職員Ｂ、Ｃ、Ｄとは組まない（重み：１００）
・職員Ｅは日勤で職員Ｆ、Ｇ、Ｈ、Ｉのいずれかと組む（重み：絶対）
（新人の職員Ｅに、指導担当の職員が一緒に勤務する場合等）
【００４６】
次に、職員ごとの割付条件（第１割付条件）は、勤務表における横の割付条件であり、つまり、勤務表の中の職員１名ごとに当該条件を満たすかどうかが判断できる割付条件である。以下のように、例えば、供給条件、パターン条件、間隔条件がある。
（供給条件の例）
所定期間（例えば１ヶ月）  内での職員の勤務回数の上限、下限、目標回数の条件
・休みの回数は１ヶ月間で下限８回とする（重み：２０）
・職員Ｂの夜勤の回数は１ヶ月に上限６回とする（重み：１００）
（パターン条件の例）
一人の職員について着目した場合に、回避したい勤務のならびを定めた条件
・準夜−深夜の並びは回避する（重み：３００）
・休み−深夜の並びは回避する（重み：５０）
（間隔条件の例）
一人の職員について着目した場合に、勤務と勤務の間隔の上限・下限・目標を定めた条件
・休みと休みの間隔を上限５日とする（重み：１０）
【００４７】
図７及び図８には、図２に示したシステムの動作例がフローチャートとして示されている。図７は全体動作を示す図であり、図８は図７におけるＳ１２５の具体的な処理例を示す図である。なお、カレンダー情報、職員情報、割り付けるべき勤務の種類などのマスタ情報は図２に示した入力部２６を用いてあらかじめ入力され、それがマスタ情報記憶部４４に記録されているものとする。また、勤務表作成に必要な各割付条件およびその重みについても、入力部２６によって入力され、それが割付条件記憶部４６に記憶されているものとする。
【００４８】
Ｓ１０５において、入力部２６を用いてユーザーにより、勤務表の自動割付の対象となる期間が入力される。例えば、これから４月の勤務表を作成するという場合には、４月１日〜４月３０日の期間が入力される。また、既に４月の勤務表を作成してある状態で、４月１５日以降の勤務表を作り直す場合には４月１５日〜４月３０日の期間が入力される。ここで入力した期間は、情報記憶部３０に記憶される。なお、以下においては、勤務表全体が自動割付対象の期間である場合を例に説明することにする。
【００４９】
Ｓ１１０では、入力部２６を用いてユーザーにより、作成期間内における職員ごとの希望の休みや希望の勤務形態が入力される。それが図２の勤務表記憶部４８における対応セルに固定値として記憶される。これは、本人の希望、申請を尊重するためである。ただし、職員ごとの希望の休みや希望の勤務形態については、以下に述べる他の割付条件と同様に、重みを付与して取り扱ってもよい。
【００５０】
Ｓ１１５において、入力部２６を用いて割付開始の指示を入力すると、評価値計算部４０により、勤務表全体に対する全体評価値が計算され、それが評価値計算部４０内の変数Ｅ０に記録される。具体的には、図５に示したように、ペナルティ計算部３２は、職員ごとの割付条件、及び、日ごとの割付条件について、現在の勤務表の内容（空欄があってもよい）に基づいて、それらの違反度合いをペナルティ値として特定する。図２の評価値計算部４０は、それらのペナルティ値を合計して勤務表全体の全体評価値とする。
【００５１】
ここで、全体評価値について具体的に説明する。全体評価値とは、勤務表の全体にわたって何らかの勤務予定が割り付けられた状態、あるいは、勤務表に一部空白が残っている状態において、その勤務表Ｘに対して１つ定められる数値であり、その数値が小さいほど良い内容を表すものとする。勤務表Ｘに対する全体評価値を求める評価関数をＥ（Ｘ）とすると、Ｅ（Ｘ）は、以下に示すように、勤務表Ｘに対する各割付条件についての評価関数Ｅｔｙｐｅ（Ｘ）の和と定義される。
【００５２】
【数１】
2004361991.tif 000003
割付条件ごとの評価関数Ｅｔｙｐｅ（Ｘ）の定義は、割付条件の種類ごとに異なるので、以下に割付条件ごとの評価値の計算方法の例を示す。
【００５３】
まず、日ごとの割付条件については、勤務表中のある１日分のマスだけを（縦方向に）見て、その日について割付条件の違反があるかどうかが判断される。ここでは、その日ごとの違反度合いがペナルティ値となる。全ての日ごとの割付条件に対して、このペナルティ値を勤務表全体で日ごとに計算してその和をとれば、日ごとの割付条件のペナルティ合計が求められる。以下では、日ごとの割付条件である需要条件および組合せ条件について、ペナルティ合計の計算例を示す。
【００５４】
需要条件の例として、例えば「助産師に対して日勤を下限２名以上とする（重み：１００）」という条件があるとき、勤務表中のある日の助産師の日勤者が１名だったとすると、条件で指定された人数を１名下回っているのでペナルティ値は１×１００＝１００となる。同様の計算を全ての需要条件、全ての日に対して行い、ペナルティ値を合計したものが評価関数（需要条件用）の値となる。
【００５５】
なお、割付条件が「上限○名」の場合は、ペナルティ値としては（条件で指定した人数を上回った人数）×（重み）の値とし、それが「目標○名」の場合は（条件で指定した人数との差）×（重み）の値を用いればよい。
【００５６】
組合せ条件の例として、例えば「職員Ａは準夜勤務で職員Ｂ、Ｃ、Ｄとは組まない（重み：１００）」という条件があるとき、勤務表中のある日に職員Ａに準夜勤務が割り付けられていたとする。そのとき、同じ日に職員Ｂ、Ｃ、Ｄのうちで２名に準夜勤務が割り付けられていたとすると、当該条件に対して２名分違反していることになるので、ペナルティ値は２×１００＝２００となる。このような計算を全ての組合せ条件について行って、それにより得られる全ペナルティ値を合計したものが評価関数（組合せ条件用）の値となる。
【００５７】
次に、職員ごとの割付条件については、勤務表中のある職員１名分のマスだけを（横方向に）見て、その職員に対する割付条件の違反があるかどうかが判断される。ここではその職員ごとの違反度合いをペナルティ値とする。このペナルティ値を勤務表全体で職員ごとに計算し、その和をとれば、職員ごとの割付条件のペナルティ合計が求められる。以下では、職員ごとの割付条件である供給条件、パターン条件および間隔条件について、ペナルティ合計の計算例を示す。
【００５８】
供給条件の例として、例えば、「休みの回数は１ヶ月間で下限８回とする（重み：２０）」という条件があるとき、ある職員に対する１ヶ月間の休みの回数合計が６回だったとすると、条件で指定された回数を２回下回っているので、この供給条件に対するペナルティ値は２×２０＝４０となる。同様の計算を全ての供給条件、全ての職員に対して行い、ペナルティ値を合計したものが評価関数（供給条件用）の値となる。
【００５９】
なお、条件が「上限○回」の場合は、ペナルティ値としては（条件で指定した回数を下回った回数）×（重み）の値を用いればよく、当該条件が「目標○回」の場合は（条件で指定した回数との差）×（重み）の値を用いればよい。
【００６０】
パターン条件の例としては、例えば、「準夜−深夜の並びは回避する（重み：３００）」という条件があるとき、ある職員に対する１ヶ月間に「準夜−深夜」の並びが３回出現していたとすると、このパターン条件に対するペナルティ値は３×３００＝９００となる。同様の計算を全てのパターン条件、全ての職員に対して行い、ペナルティ値を合計したものが評価関数（パターン条件用）の値となる。なお、前の月から引き続く勤務表を作成する場合には、前月とまたがって出現する「準夜−深夜」の並びも１回として数えてよい。
【００６１】
間隔条件の例としては、例えば、「休みと休みの間隔を上限５日とする（重み：１０）」という条件があるとき、ある職員に対する１ヶ月間に休みと休みの間隔が５日を超える個所が２箇所出現していたとすると、この間隔条件に対するペナルティ値は２×１０＝２０となる。同様の計算を全ての間隔条件、全ての職員に対して行い、ペナルティ値を合計したものが評価関数（間隔条件用）の値となる。なお、前の月から引き続く勤務表を作成する場合には、前月とまたがって休みと休みの間隔が５日を超える場合も１箇所として数えてよい。
【００６２】
ちなみに、上記説明では、重みが数値である場合を例に説明したが、重みが「絶対」である場合には、ペナルティ値の計算において擬似的に重みとして十分大きな数（１００００など）を用いて計算することで、上記と同じ扱いとすることができる。また、職員ごとの条件におけるペナルティ値の計算方法としては、条件違反の度合いが大きいほど大きな値をとる方法であればどのような方法でもよく、上記の例に限定されるものではない。すなわち、前述の供給条件を例にとると、条件で指定された回数を２回下回っている場合のペナルティ値として、下回った回数の２乗と重みの積、すなわち２２×２０＝８０という値を用いてもよい。また、職員ごとの条件の種類については、上記の例以外にも多様な種類が考えられる。例えば、「３連続の休みを月１回取得する」というような条件は、職員毎の条件として表現しうる割付条件の一例である。この場合も、条件に違反した度合いが大きいほど値が大きくなるようなペナルティ値の計算方法を定義すれば、上記例と同様に取り扱うことができる。
【００６３】
なお、最初の段階では、通常、空欄が多くしかもその内容も適当でない場合が多いために、あまりよい全体評価値とはならない。しかし、勤務表全体に対する割付の自動的な繰り返し（本実施形態では部分割付のスキャンの繰り返し）により、勤務表の内容は段階的に良好になり、最終的には高品質の勤務表が得られる。
【００６４】
図７において、Ｓ１２０では、上記のように設定された勤務表作成期間の先頭日を日付Ｄとする。そして、Ｓ１２５では、その日付Ｄから始まるｄ日間の、全職員に対する全ての勤務予定の割り付け（部分割付）を実行し、記憶された勤務表の内容を部分的に更新する。この具体例が図８に示されており、これについては後に詳述する。
【００６５】
Ｓ１３０では、日付Ｄを翌日に移して、部分割付を繰り返す。ただし、Ｓ１３５において、日付Ｄ＋（ｄ−１）が作成期間の最終日を越えるならば、反復を終了し次のステップに移る。なお、上記では自動割付の対象となる期間の先頭の日から順番に割付を行う例を示したが、順番はこれに限定されるものではなく、その期間の後ろの日から前にさかのぼったり、あるいは適当な順番で対象日を選んでいってもよい。また、ここではｄ日間の連続した日を単位として割付を行っていく例を示したが、単日（ｄ＝１）もしくは勤務表作成期間の中の飛び飛びの複数日でも同様に取り扱うことができる。更に、一度に割付を行う日数ｄは勤務表全体を通じて一定である必要はなく、部分割付けを繰り返すごとに異なっても本質的に同様に取り扱うことができる。
【００６６】
Ｓ１４０では、以上のような反復処理が終了すると、図２に示した勤務表記憶部４８に保存されている勤務表に基づいて、評価値計算部４０により全体評価値を計算し、それを変数Ｅに格納する。続いてＳ１４５では、評価値計算部４０内の変数Ｅの値とＳ１１５で算出した変数Ｅ０の値とを比較する。変数Ｅの値が変数Ｅ０の値よりも小さいならば、直前のＳ１２５〜１３５の反復により、勤務表の内容が改善されており、さらなる反復で、より勤務表を改善できる可能性があるので、Ｓ１５０で、変数Ｅの値を新たに変数Ｅ０に格納しなおして、Ｓ１２０以降の各工程を繰り返す。一方、変数Ｅの値が変数Ｅ０と等しいあるいは大きいならば、それ以上勤務表の改善が見込めないものとして、Ｓ１６０で、その時に保存されている勤務表を表示部２８で表示し、自動割付処理を終了する。また、Ｓ１２５の直後に、その都度、表示部２８に表示させることも可能である。
【００６７】
なお、ここでは勤務表の最終日まで割付が終わった段階で全体評価値の計算を行って反復終了を判定しているが、終了判定の方法は、反復回数や経過時間の上限による方法、あるいはＳ１２５の直後に毎回Ｓ１４５等と同等の処理を行って全体評価値の変化を調べ、Ｓ１２５〜１３５の反復回数が一定回数に達するまでの間に、全体評価値の改善が見られなければ終了とすることもできる。
【００６８】
次に、図８を用いて、図７のＳ１２５に示した工程の具体的内容について詳述する。
【００６９】
Ｓ２００では、個別評価マトリクスを構成するために、ｄ日分について勤務パターンのリストを用意する。既に示したように、図３には、勤務が「休み」、「日勤」、「準夜」、「深夜」の４種類で、ｄ＝３の場合における各種の勤務パターンが示されている。なお、先に述べた通り、ｄ日は必ずしも連続している必要はない。すなわち、部分割付の対象として４月２日、４月４日、４月６日のように飛び飛びの日を選んだ場合、図３で示す勤務パターンにおける各勤務がそれぞれ４月２日、４月４日、４月６日に対応するものと考えれば、以降は同様に取り扱うことができる。
【００７０】
Ｓ２０５では、任意の１名の職員（職員ｓとする）を選択し、Ｓ２１０では、一連の勤務パターンの中から一つのパターンを選択する（これをパターンｉとする）。続いて、Ｓ２１５で、勤務表における職員ｓのセル列のうち、日付Ｄから始まるｄ日間分（図５の符号５６を参照）を仮にパターンｉで置き換えたとみなして、複数の第１割付条件について、ペナルティ値を計算する。そして、Ｓ２２５では、それらのペナルティ値を合計してその加算値を個別評価値とし（図５における符号６８参照）、その個別評価値を個別評価マトリクスにおける対応セルへ記入する。
【００７１】
個別評価マトリクスは、既に説明したように、（職員数）×（勤務パターンの数）のサイズをもったテーブルであり、その内で、上記の個別評価値は、（ｓ，ｉ）の位置に格納される（図４参照）。
【００７２】
Ｓ２３０では、すべての勤務パターンを仮割り付けしたかが判断され、未了の場合には、Ｓ２７０で勤務パターンが次に変更されて、上記Ｓ２１５からの各工程が繰り返し実行される。更に、Ｓ２３５では、すべての職員について上記の工程を実行したか否かが判断され、それが終了していなければ、Ｓ２６５で次の職員が選択されて、Ｓ２１０からの各工程が繰り返し実行される。このような過程を経ると、個別評価マトリクスにおける全セルに個別評価値が記入されることになる。
【００７３】
Ｓ２４０では、制約式生成部３４により、まず職員ｓに対して勤務パターンｉを割り当てるかどうかを定める０−１変数ｘｓｉ、および、以下で述べる補助変数を用いて以下のような制約式を生成する。
【００７４】
１）一人の職員ｓに対して、勤務パターンを１つしか割り当てないことを表す制約式は以下の通りである。各職員について同様の制約式を生成する。
【数２】
2004361991.tif 000004
【００７５】
２）職員ごとの希望の勤務や休みなど、割付可能な勤務が限定されていることを表す制約式は以下の通りである。各職員について、日付Ｄから始まるｄ日間のうちで勤務が限定されている各日について同様の制約式を生成する。
【数３】
2004361991.tif 000005
【００７６】
３）日付Ｄから始まるｄ日間に関する日ごとの条件（第２割付条件）のうち、重みが絶対のものに対応する制約式は、以下の通りである。
（例１）需要条件▲１▼「職員全員に対して日勤をちょうど１０名とする（重み：絶対）」に対する制約式
日付Ｄから始まるｄ日間の各日について、同様の制約式を生成する。
【数４】
2004361991.tif 000006
（例２）需要条件▲２▼「「ベテラン」の職員に対して準夜勤務を下限１名とする（重み：絶対）」に対する制約式
日付Ｄから始まるｄ日間の各日について、同様の制約式を生成する。
【数５】
2004361991.tif 000007
（例３）組合せ条件▲１▼「職員Ｅは日勤で職員Ｆ、Ｇ、Ｈ、Ｉのいずれかと組む（重み：絶対）」に対する制約式
ただし、Ｃは十分大きな数で、日付Ｄから始まるｄ日間の各日について、同様の制約式を生成する。
【数６】
2004361991.tif 000008
【００７７】
４）日付Ｄから始まるｄ日間に関する日毎の条件（第２割付条件）のうち、重みが絶対でないものに対応する制約式は、以下の通りである。
（例１）需要条件▲３▼「助産師に対して日勤を下限２名とする（重み：１００）」に対する制約式
日付Ｄから始まるｄ日間の各日について、同様の制約式を生成する。
なお、以下の補助変数についても日毎に別のものを用いる。
【数７】
2004361991.tif 000009
ただし、
【数８】
2004361991.tif 000010
は補助変数で、以下の条件を満たす。
【数９】
2004361991.tif 000011
なお、補助変数
【数１０】
2004361991.tif 000012
は以下に説明する目的関数に対しても組み込まれる。
【００７８】
なお、上記の２）において、職員毎の希望休み等が指定されている場合の制約式を示したが、このような制約式を用いる代わりに、他の制約式や目的関数で使用する勤務パターンを制限してもよい。つまり、例えば職員Ａの日付Ｄに相当する日に「休」を希望として休みが設定されている場合、日付Ｄの勤務は必ず「休」となるため、勤務パターンのうち日付Ｄが「休」でないものについては、職員Ａに関する制約式を生成する際に勤務パターンの選択肢から除く、つまり対応する変数を制約式および目的関数に含めないものとしてもよい。
【００７９】
図８において、Ｓ２４５では目的関数が生成される。目的関数は以下のように表される。
【数１１】
2004361991.tif 000013
ここで、右辺の各項について以下の通りである。
【００８０】
ａ）変数とペナルティマトリクス上の（ｓ，ｉ）の位置の値（ａｓｉとする）の積に対する和（職員毎の条件に対するペナルティ値の総和を表す）
【数１２】
2004361991.tif 000014
ｂ）重みが絶対でない日毎の条件のうち、上限を示す条件に関連する項
【数１３】
2004361991.tif 000015
ｃ）重みが絶対でない日毎の条件のうち、目標を示す条件に関連する項
【数１４】
2004361991.tif 000016
ｄ）重みが絶対でない日毎の条件のうち、下限を示す条件に関連する項
【数１５】
2004361991.tif 000017
【００８１】
図８において、Ｓ２５０では、上記の各制約式を満たし、且つ、目的関数の値を最小化するように、全ての変数ｘｓｉの０−１値および補助変数の値を決定する。ここで、決定される変数ｘｓｉの０−１値は、後述のように、各職員ごとの最適な勤務パターンを特定するものである。
【００８２】
上記の制約式および目的関数は整数計画問題として定式化されているので、変数値の決定には整数計画法として既知の手法（Ｂｒａｎｃｈ＆Ｂｏｕｎｄ法など）を利用すればよい。これにより、絶対条件を満足し、且つ、それ以外の条件をできる限り満足できる理想的な勤務パターンのセットを生成することができる。
【００８３】
ただし、各種制約式の内容如何によっては、解を求められない（解なしとなる）場合がある。例えば日ごとの条件で、「ベテラン」資格を持つ職員が２名しかいない場合に２名とも同一日に希望の休みが設定されていると、需要条件「「ベテラン」の職員に対して準夜勤務を下限１名とする（重み：絶対）」は決して満足することができず、解なしとなってしまう。
【００８４】
従って、解を求める処理の後、Ｓ２６０で実際に解が得られているかどうかを判定し、解が得られなかった場合は、次に述べる勤務表の更新を行わないようにする。
【００８５】
なお、整数計画法においては、変数の個数が多いと計算時間が増加することが知られている。よって、高速化するには、変数の個数をなるべく減らすことが望ましい。そこで変数ｘｓｉのうち、対応する個別評価マトリクス上の（ｓ，ｉ）の位置の値（ａｓｉとする）がある閾値以上である場合には、変数ｘｓｉを制約式および目的関数に含めないものとすることもできる。すなわちａｓｉが大きい場合、対応する変数ｘｓｉを１とすると目的関数値が大きくなることから、そもそもそのような変数ｘｓｉが１となる可能性は低い。よって、あらかじめそのような変数を用いないこととし、高速化を図ることができる。
【００８６】
図８のＳ２６０では、上記において解が求まった場合、値が１となる変数が各職員ｓに対して１つずつ、かつ、全職員分同時に定まっている。よって、勤務表中の日付Ｄから始まるｄ日間について、個々の職員ｓごとに、値１に対応する勤務パターンを割り付ける操作を行う。これにより、部分期間に対して部分割付が完了する。
【００８７】
そして、図７で示したように、このような部分割付が順次実行されると、勤務表全体に対する割付（記入あるいは更新）が完了する。そして、勤務表全体の品質が一定条件を満たすまで、勤務表全体に対する割付が繰り返される。
【００８８】
上述したように、複雑かつ多様な割付条件を未分離状態で一括して取り扱うと、且つ、一定期間の全体を同時割付処理しようとすると、どうしても演算量が複雑かつ膨大となり、ひいては割付精度の低下を招きやすい。これに対し、上記の実施形態によれば、一度に割り付ける対象として部分範囲を設定し、それについて、時間軸方向の第１割付条件群について、各割付候補を暫定的に個別評価しておき（その評価は品質を考慮して割付表全体を対象）、次に、その集約された個別評価の結果及び人的構成に関する第２割付条件群を用いて候補の最適組合せを決定しようというものである。換言すれば、解の導出演算に当たって、範囲限定及び事前集約によって演算条件を削減し、迅速な演算を達成するものである。そして、必要に応じて、満足できる品質になるまで、部分割付の全体展開が繰り返し行われ、勤務表全体の品質が優良化される。よって、実用性及び有用性の高い勤務表作成（支援）システムを提供できるという利点がある。
【００８９】
なお、変形例としては、最初に第２割付条件群を利用して個別評価マトリクスを生成し、その個別評価マトリクスと第１割付条件群とを用いて部分割付内容を決定してもよい。また、上記のシステムは、勤務表以外の仕事割当表など他の割当表の作成にも応用することができる。
【００９０】
【発明の効果】
以上説明したように、本発明によれば、質のよい内容をもった割付表を迅速に作成できる。
【図面の簡単な説明】
【図１】本発明に係るシステムによって作成される勤務表の一例を示す説明図である。
【図２】本発明に係るシステムの好適な実施形態を示すブロック図である。
【図３】パターン（候補）番号によって特定される勤務パターン（割付候補）の種類を示す図である。
【図４】個別評価マトリクスを示す説明図である。
【図５】第１割付条件群及び第２割付条件群に基づくペナルティの演算を説明するための図である。
【図６】整数計画問題の解法に基づいて解（部分割付内容）を決定する流れを説明する図である。
【図７】図２に示したシステムの動作を説明するためのフローチャートである。
【図８】図７のＳ１２５の具体的内容を説明するためのフローチャートである。
【符号の説明】
２２  演算処理部、２４  勤務表作成プログラム（割付実行部）、３２  ペナルティ計算部、３４  制約式生成部、３６  目的関数生成部、３８  解導出部、４０  評価値算出部、４２  終了条件判定部、４４  マスタ情報記憶部、４６  割付条件記憶部、４８  勤務表記憶部、５０  個別評価マトリクス（個別評価結果記憶部）。
【図１】
2004361991.tif 000018
【図２】
2004361991.tif 000019
【図３】
2004361991.tif 000020
【図４】
2004361991.tif 000021
【図５】
2004361991.tif 000022
【図６】
2004361991.tif 000023
【図７】
2004361991.tif 000024
【図８】
2004361991.tif 000025